(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-27
(45)【発行日】2024-03-06
(54)【発明の名称】統一された有意性マップ符号化方法および装置
(51)【国際特許分類】
H04N 19/13 20140101AFI20240228BHJP
H04N 19/136 20140101ALI20240228BHJP
H04N 19/18 20140101ALI20240228BHJP
H04N 19/70 20140101ALI20240228BHJP
【FI】
H04N19/13
H04N19/136
H04N19/18
H04N19/70
【外国語出願】
(21)【出願番号】P 2023009137
(22)【出願日】2023-01-25
(62)【分割の表示】P 2020089007の分割
【原出願日】2011-05-11
【審査請求日】2023-02-21
(32)【優先日】2010-05-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】319002876
【氏名又は名称】インターデジタル マディソン パテント ホールディングス, エスアーエス
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ルウ,シヤオアン
(72)【発明者】
【氏名】ソレ,ジヨエル
(72)【発明者】
【氏名】イン,ペン
(72)【発明者】
【氏名】シユウ,チヤン
(72)【発明者】
【氏名】ジエン,ユンフエイ
【審査官】岩井 健二
(56)【参考文献】
【文献】特表2005-530375(JP,A)
【文献】国際公開第2011/128303(WO,A2)
【文献】国際公開第2009/89370(WO,A1)
【文献】米国特許出願公開第2008/0219578(US,A1)
【文献】Martin Winken et al.,Description of video coding technology proposal by Fraunhofer HHI,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,JCTVC-A116,1st Meeting: Dresden, DE,2010年04月,pp.1-17
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
複数の変換を用いて得られる、ピクチャの少なくとも一部分の複数の変換係数を符号化するビデオ符号化器であって、統一された規則に基づいて前記変換係数に対して1つまたは複数のコンテキスト共有マップを生成し、前記1つまたは複数のコンテキスト共有マップが、前記複数の変換のうちの少なくとも2つの異なる変換から得られる前記変換係数のうちの少なくとも一部の間で共有される少なくとも1つのコンテキストを提供する、前記ビデオ符号化器を備え、コンテキストは変換サイズに適合され、前記統一された規則のための候補として複数の規則が用いられ、且つシンタックスによって前記統一された規則が使用される、統一された有意性マップ符号化の装置。
【請求項2】
前記変換係数が、2次元変換係数であり、前記統一された規則が、走査順序に従った前記2次元変換係数の1次元配列へのマッピング、および前記変換係数のうちの最初のN個の係数の別個のコンテキストへの割り当てを指定する、請求項1に記載の装置。
【請求項3】
前記変換係数のうちの残りの係数が、単一のコンテキストに割り当てられる、請求項2に記載の装置。
【請求項4】
前記走査順序が、ジグザグの走査順序である、請求項2に記載の装置。
【請求項5】
前記統一された規則が、前記変換係数が対応するビデオ・シーケンス、ピクチャ解像度および量子化パラメータによって変わる少なくとも2つの統一された規則を含む、請求項1に記載の装置。
【請求項6】
ビデオ符号化器における方法であって、
複数の変換を用いて得られる、ピクチャの少なくとも一部分の複数の変換係数を符号化するステップであって、統一された規則に基づいて前記変換係数に対して1つまたは複数のコンテキスト共有マップを生成し、前記1つまたは複数のコンテキスト共有マップが、前記複数の変換のうちの少なくとも2つの異なる変換から得られる前記変換係数のうちの少なくとも一部の間で共有される少なくとも1つのコンテキストを提供する、前記ステップを含み、コンテキストは変換サイズに適合され、前記統一された規則のための候補として複数の規則が用いられ、且つシンタックスによって前記統一された規則が使用される、前記方法。
【請求項7】
前記変換係数が、2次元変換係数であり、前記統一された規則が、走査順序に従った前記2次元変換係数の1次元配列へのマッピング、および前記変換係数のうちの最初のN個の係数の別個のコンテキストへの割り当てを指定する、請求項6に記載の方法。
【請求項8】
前記変換係数のうちの残りの係数が、単一のコンテキストに割り当てられる、請求項7に記載の方法。
【請求項9】
前記走査順序が、ジグザグの走査順序である、請求項7に記載の方法。
【請求項10】
前記統一された規則が、前記変換係数が対応するビデオ・シーケンス、ピクチャ解像度および量子化パラメータによって変わる少なくとも2つの統一された規則を含む、請求項6に記載の方法。
【請求項11】
複数の変換を用いて得られる、ピクチャの少なくとも一部分の複数の変換係数を復号するビデオ復号器であって、統一された規則に基づいて前記変換係数に対して1つまたは複数のコンテキスト共有マップを生成し、前記1つまたは複数のコンテキスト共有マップが、前記複数の変換のうちの少なくとも2つの異なる変換から得られる前記変換係数のうちの少なくとも一部の間で共有される少なくとも1つのコンテキストを提供する、前記ビデオ復号器を備え、コンテキストは変換サイズに適合され、前記統一された規則のための候補として複数の規則が用いられ、且つシンタックスによって前記統一された規則が使用される、統一された有意性マップ符号化の装置。
【請求項12】
前記変換係数が、2次元変換係数であり、前記統一された規則が、走査順序に従った前記2次元変換係数の1次元配列へのマッピング、および前記変換係数のうちの最初のN個の係数の別個のコンテキストへの割り当てを指定する、請求項11に記載の装置。
【請求項13】
前記変換係数のうちの残りの係数が、単一のコンテキストに割り当てられる、請求項12に記載の装置。
【請求項14】
前記走査順序が、ジグザグの走査順序である、請求項12に記載の装置。
【請求項15】
前記統一された規則が、前記変換係数が対応するビデオ・シーケンス、ピクチャ解像度および量子化パラメータによって変わる少なくとも2つの統一された規則を含む、請求項11に記載の装置。
【請求項16】
複数の変換を用いて得られる、ピクチャの少なくとも一部分の複数の変換係数を復号するステップであって、統一された規則に基づいて前記変換係数に対して1つまたは複数のコンテキスト共有マップを生成し、前記1つまたは複数のコンテキスト共有マップが、前記複数の変換のうちの少なくとも2つの異なる変換から得られる前記変換係数のうちの少なくとも一部の間で共有される少なくとも1つのコンテキストを提供する、前記ステップを含み、コンテキストは変換サイズに適合され、前記統一された規則のための候補として複数の規則が用いられ、且つシンタックスによって前記統一された規則が使用される、方法。
【請求項17】
前記変換係数が、2次元変換係数であり、前記統一された規則が、走査順序に従った前
記2次元変換係数の1次元配列へのマッピング、および前記変換係数のうちの最初のN個
の係数の別個のコンテキストへの割り当てを指定する、請求項16に記載の方法。
【請求項18】
前記変換係数のうちの残りの係数が、単一のコンテキストに割り当てられる、請求項17に記載の方法。
【請求項19】
前記走査順序が、ジグザグの走査順序である、請求項17に記載の方法。
【請求項20】
前記統一された規則が、前記変換係数が対応するビデオ・シーケンス、ピクチャ解像度および量子化パラメータによって変わる少なくとも2つの統一された規則を含む、請求項16に記載の方法。
【請求項21】
符号化された命令を有する非一時的なコンピュータ可読記憶媒体であって、前記命令が、請求項16に記載の方法をプロセッサに実行させる、前記非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2010年5月12日出願の米国仮出願第61/333,808号の利益を主張するものである。
【0002】
本発明の原理は、一般にビデオ符号化およびビデオ復号に関し、さらに詳細には、統一された有意性マップ符号化方法および装置に関する。
【背景技術】
【0003】
入力ビデオ・コンテンツの非静的特性を活用するために、ビデオ符号化器は、入力ビデオ信号を可変長符号化シンタックス要素のビットストリームにマッピングするエントロピー符号化を使用している。頻繁に現れるシンボルは短い符号語で表され、あまり現れないシンボルは長い符号語で表される。
【0004】
International Organization for Standardization/International Electrotechnical Commission(ISO/IEC)Moving Picture Experts Group-4(MPEG-4) Part 10 Advanced Video Coding(AVC)規格/International Telecommunication Union,Telecommunication Sector(ITU-T)H.264勧告(以下「MPEG-4 AVC規格」)は、2つのエントロピー符号化方法をサポートしている。具体的には、シンボルは、エントロピー符号化モードに応じて、可変長コード(VLC)またはコンテキスト適応型算術符号化(CABAC)を用いて符号化される。CABACを用いると、データ・シンボルを符号化するプロセスは、以下の3つの基本ステップを含む。
1.2値化。2値化ステップでは、所与の2値でないシンタックス要素を、ビン列(bin string)と呼ばれる2値シーケンスに一意的にマッピングする。このプロセスは、シンボルを可変長コードに変換するプロセスと同様であるが、2値符号値がさらに符号化される。
2.コンテキスト・モデル化。「コンテキスト・モデル」は、ビン列の1つまたは複数のビン(bin)の確率モデルであり、直近に符号化されたデータ・シンボルの統計値に応じて1組の利用可能なモデルから選択される。コンテキスト・モデルは、各ビンが「1」または「0」である確率を記憶したものであり、実際の符号化値に基づいて更新される。
3.2値算術符号化。算術符号化器が、選択した確率モデルに従って各ビンを符号化する。
【0005】
MPEG-4 AVC規格では、各シンタックス要素のコンテキスト・モデルおよび2値化方式がその規格で定義されている。各ビンのコンテキスト・モデルは、コンテキスト・インデックスγによって識別され、所与のコンテキスト・インデックスγに関連する各確率モデルは、2つの値の対、すなわち最確シンボル(MPS)の確率状態インデックスσγおよび値(2値)
【数1】
によって決まる。
【0006】
コンテキスト・テンプレートTと呼ばれる既定の過去のシンボルの集合と、コンテキストがテンプレートTに作用するモデル化関数F:T→Cによって指定されるコンテキストの関連集合C={0,…,C-1}とが与えられたと考える。符号化対象の各シンボルxについて、既に符号化された隣接するシンボルz∈Tに従って異なる確率モデル間で切替えを行うことにより、条件付き確率p(x|F(z))を推定する。推定した条件付き確率p(x|F(z))を用いてxを符号化した後で、符号化シンボルxの値で確率モデルを更新する。従って、p(x|F(z))は、実際のソース統計を追跡することによってオン・ザ・フライで推定される。モデル・コストを低減し、Cの数が大きくなることによってp(x|F(z))の推定が不正確になるのを回避するために、MPEG-4 AVC規格では、コンテキスト・モデルの選択に2つの制約を課している。第1の制約は、現在符号化しているシンボルの数個の隣接するシンボルからなる非常に限られたコンテキスト・テンプレートTを利用することである。第2の制約は、コンテキスト・モデル化を、2値化シンボルの選択されたビンに制限することである。
【0007】
量子化パラメータは、様々なデータ・シンボルの発生確率に有意な影響を及ぼすので、各符号化スライスの冒頭で、量子化パラメータ(QP)の初期値に応じてコンテキスト・モデルを初期化する。
【0008】
MPEG-4 AVC規格の残差データのCABACエントロピー符号化
MPEG-4 AVC規格による残差データのCABAC符号化では、シンタックス要素およびそれらに関連する符号化方式は、以下の明確な特徴によって特徴付けられる。
・1ビット・シンボルcoded_block_flagおよび2値有意性マップを使用して、所与のブロック中の非ゼロ変換係数(すなわち、有意係数)の発生および位置を示す。
・非ゼロ・レベルは、逆走査順序で符号化される。
・非ゼロ変換係数を符号化するためのコンテキスト・モデルは、逆走査経路内の以前に伝送された非ゼロ・レベルの数に基づいて選択される。
【0009】
図1を参照すると、MPEG-4 AVC規格による有意性マップ符号化手順の一例の全体が、参照番号100で示してある。手順100は、制御を機能ブロック120に渡す開始ブロック110を含む。機能ブロック120では、シンタックス要素coded_block_flagを符号化し、制御を判断ブロック130に渡す。判断ブロック130では、coded_block_flagが1に等しいか否かを判定する。coded_block_flagが1に等しい場合には、制御は、機能ブロック140に渡される。そうでない場合には、制御は、終了ブロック199に渡される。機能ブロック140では、有意性マップの符号化に関連するステップを実行し、制御を機能ブロック150に渡す。機能ブロック150では、レベル情報の符号化に関連するステップを実行し、制御を終了ブロック199に渡す。従って、判断ブロック130に関しては、coded_block_flagがブロックが有意係数を有していることを示している場合には、機能ブロック140で2値有意性マップを符号化する。走査順序の各係数について、機能ブロック140で、1ビット・シンボルsignificant_coeff_flagが伝送される。significant_coeff_flagシンボルが1に等しい場合、すなわち非ゼロ係数がこの走査位置に存在している場合には、機能ブロック140で、別の1ビット・シンボルlast_significant_coeff_flagが送信される。このシンボルlast_significant_coeff_flagは、現在の有意係数がブロック内の最後の係数であるかどうか、すなわち後続の別の有意係数があるかどうかを示す。
【0010】
変換係数の有意性マップを符号化するときに、significant_coeff_flagおよびlast_significant_coeff_flagのコンテキスト・モデルの選択は、走査位置によって決まる。MPEG-4 AVC規格では、4×4またはそれより小さい変換サイズでは、コンテキスト・モデルは、各位置のsignificant_coeff_flagおよびlast_significant_coeff_flagにそれぞれ割り当てられる。8×8およびそれより大きい変換サイズでは、コンテキスト・モデルの数を減らすために、いくつかの変換係数位置で1つのコンテキスト・モデルを共有する。
【0011】
KTAでの有意性マップ符号化
video coding experts group(VCEG)「key technical area」(KTA)ソフトウェアは、MPEG-4 AVC規格が完成した後のビデオ符号化の新たな進歩を統合する共通のプラットフォームを提供している。拡張ブロック・サイズおよび大きな変換を使用するという提案がKTAでは採用されている。現在のKTAソフトウェアでは、16×16画素より大きな動きパーティションが実施される。具体的には、既存のMPEG-4 AVC規格のパーティションサイズに加えて、64×64、64×32、32×64、32×32、32×16、16×32のサイズのマクロブロックが使用される。高精細度ビデオのさらに滑らかなコンテンツをより良質に取り込むために、それより大きなブロック変換も使用される。このようなさらに大きなブロック変換としては、16×16、16×8および8×16のサイズを有するブロック変換が挙げられる。コンテキスト・モデルの数を少なく抑えるために、8×16、16×8および16×16の変換は全て、significant_coeff_flagまたはlast_significant_coeff_flagに対して15個以下のコンテキスト・モデルを使用する。
図2を参照すると、8×8ブロックのシンタックス要素significant_coeff_flagに対して15個のコンテキストを使用する一例の全体が、参照番号200で示してある。さらに詳細には、例200は、significant_coeff_flagに対して8×8変換を用いるときに、1つのブロック内の複数の変換係数位置が、どのようにして1つのコンテキスト・モデルを共有するかを示している。異なる各数字は、コンテキスト・モデルを表している。1つの数字が複数の位置で繰り返されているとき、この複数の位置が1つのコンテキスト・モデルを共有している。この手法では、複数の変換係数位置が1つのコンテキストをどのように共有するか、すなわちコンテキスト共有は、変換サイズごとに設計される。コンテキスト共有の正確なパターンを、コンテキスト共有マップと呼ぶ。
【0012】
図3を参照すると、16×16ブロックのシンタックス要素significant_coeff_flagに対して15個のコンテキストを使用する一例の全体が、参照番号300で示してある。さらに詳細には、例300は、significant_coeff_flagに対して16×16変換を用いるときに、1つのブロック内の複数の変換係数位置が、どのようにして1つのコンテキスト・モデルを共有するかを示している。16×16変換のコンテキスト共有のパターンは、ほぼ8×8変換のアップサンプリング・バージョンである。ただし、この場合、異なる変換の係数分布の違いを捕捉することができない可能性もあるという欠点がある。
【0013】
特定の従来技術の手法による有意性マップ符号化 特定の従来技術の手法では、8×8およびそれより大きな変換サイズに対する新たなコンテキスト・モデル化手法が提案されていた。8×8ブロックのシンタックス要素significant_coeff_flagのコンテキストをモデル化するために、変換ブロックを2×2個のサンプルで構成される16個のサブブロックに分解し、これらのサブブロックをそれぞれ別個のコンテキストと関連付ける。それより大きな変換ブロック(例えば8×8より大きなブロック)のコンテキスト・モデルの選択は、既定の近傍(変換ブロック内)の既に符号化されている有意変換係数の数に基づく。last_significant_coeff_flagの符号化では、現在の走査位置から所与の変換ブロックの左上隅までの距離寸法に依存するコンテキスト・モデル化が設計されている。さらに詳細には、last_significant_coeff_flagを符号化するためのコンテキスト・モデルは、現在の走査位置を通る走査対角線に基づいて選択される(すなわち、xおよびyがそれぞれ変換ブロック内の走査位置の水平方向位置および垂直方向位置を表しているものとして、x+yに基づいて選択される)。過学習を避けるために、距離寸法x+yは、特定の方法で(例えばx+yを量子化することによって)縮小したコンテキスト・モデルのセットにマッピングされる。
【0014】
この特定の従来技術の方法では、8×8変換のコンテキスト共有のパターンは、ほぼ4×4変換のアップサンプリング・バージョンである。ただし、この場合、異なる変換の係数分布の違いを捕捉することができない可能性もあるという欠点がある。
【0015】
既存のビデオ符号化規格では、8×8変換またはそれより大きな変換の変換係数の有意性マップを符号化する際に、複数の変換係数の間で1つのコンテキストを共有して、コンテキストの数を減らす。コンテキストをどのように共有するかに基づいて、様々な変換に対して別々の方法が使用される。このような設計は、使用される変換の数がさらに増える可能性がある将来の規格に、容易には拡張することができない。
【発明の概要】
【0016】
本発明の原理は、従来技術の上記その他の欠陥および欠点に対処するものであり、統一された有意性マップ符号化方法および装置を対象とする。
【0017】
本発明の原理の1つの態様によると、装置が提供される。この装置は、ピクチャの少なくとも一部分の複数の変換係数を符号化するビデオ符号化器を含む。変換係数は、複数の変換を用いて得られる。これらの変換係数に対して、統一された規則に基づいて、1つまたは複数のコンテキスト共有マップが生成される。これらの1つまたは複数のコンテキスト共有マップは、上記の複数の変換のうちの少なくとも2つの異なる変換から得られる変換係数のうちの少なくとも一部の間で共有される少なくとも1つのコンテキストを提供するものである。
【0018】
本発明の原理の別の態様によると、ビデオ符号化器における方法が提供される。この方法は、ピクチャの少なくとも一部分の複数の変換係数を符号化するステップを含む。変換係数は、複数の変換を用いて得られる。これらの変換係数に対して、統一された規則に基づいて、1つまたは複数のコンテキスト共有マップが生成される。これらの1つまたは複数のコンテキスト共有マップは、上記の複数の変換のうちの少なくとも2つの異なる変換から得られる変換係数のうちの少なくとも一部の間で共有される少なくとも1つのコンテキストを提供するものである。
【0019】
本発明の原理のさらに別の態様によると、装置が提供される。この装置は、ピクチャの少なくとも一部分の複数の変換係数を復号するビデオ復号器を含む。変換係数は、複数の変換を用いて得られる。これらの変換係数に対して、統一された規則に基づいて、1つまたは複数のコンテキスト共有マップが生成される。これらの1つまたは複数のコンテキスト共有マップは、上記の複数の変換のうちの少なくとも2つの異なる変換から得られる変換係数のうちの少なくとも一部の間で共有される少なくとも1つのコンテキストを提供するものである。
【0020】
本発明の原理のさらに別の態様によると、ビデオ復号器における方法が提供される。この方法は、ピクチャの少なくとも一部分の複数の変換係数を復号するステップを含む。変換係数は、複数の変換を用いて得られる。これらの変換係数に対して、統一された規則に基づいて、1つまたは複数のコンテキスト共有マップが生成される。これらの1つまたは複数のコンテキスト共有マップは、上記の複数の変換のうちの少なくとも2つの異なる変換から得られる変換係数のうちの少なくとも一部の間で共有される少なくとも1つのコンテキストを提供するものである。
【0021】
本発明の原理の上記その他の態様、特徴および利点は、以下の例示的な実施形態の詳細な説明を、添付の図面と関連付けて読めば、明らかになるであろう。
【0022】
本発明の原理は、以下の例示的な図面によってよりよく理解することができる。
【図面の簡単な説明】
【0023】
【
図1】MPEG-4 AVC規格による有意性マップ符号化手順の一例を示す図で ある。
【
図2】8×8ブロックのシンタックス要素significant_coeff_ flagに対して15個のコンテキストを使用する例を示す図である。
【
図3】16×16ブロックのシンタックス要素significant_coef f_flagに対して15個のコンテキストを使用する例を示す図である。
【
図4】本発明の原理の一実施形態による、本発明の原理を適用することができる例 示的なビデオ符号化器を示すブロック図である。
【
図5】本発明の原理の一実施形態による、本発明の原理を適用することができる例 示的なビデオ復号器を示すブロック図である。
【
図6】有意性マップを符号化する従来の方法を示す流れ図である。
【
図7】有意性マップを復号する従来の方法を示す流れ図である。
【
図8】本発明の原理の一実施形態による、有意性マップを符号化する例示的な方法 を示す流れ図である。
【
図9】本発明の原理の一実施形態による、有意性マップを復号する例示的な方法を 示す流れ図である。
【
図10】本発明の原理の一実施形態による、有意性マップを符号化する別の方法を 示す流れ図である。
【
図11】本発明の原理の一実施形態による、有意性マップを復号する別の例示的な 方法を示す流れ図である。
【発明を実施するための形態】
【0024】
本発明の原理は、統一された有意性マップ符号化方法および装置を対象とするものである。
【0025】
本明細書は、本発明の原理を例示するものである。従って、本明細書に明示的には記述または図示していなくても、本発明の原理を実現し、本発明の原理の趣旨および範囲に含まれる様々な構成を、当業者なら考案することができることを理解されたい。
【0026】
本明細書に記載する全ての例および条件に関する表現は、本発明の原理と、当技術分野をさらに進歩させるために発明者(等)が与える概念とを、読者が理解するのを助けるという教育的な目的を有するものであって、これらの具体的に記載した例および条件に限定されるわけではないものと解釈されたい。
【0027】
さらに、本発明の原理の原理、態様および実施形態ならびに本発明の原理の具体的な例について本明細書で述べる全ての記述は、その構成的均等物および機能的均等物の両方を含むものとする。さらに、これらの均等物には、現在既知の均等物だけでなく、将来開発されるであろう均等物も含まれる、すなわち、その構成にかかわらず、同じ機能を実行する開発される任意の要素も含まれるものとする。
【0028】
従って、例えば、当業者なら、本明細書に示すブロック図が本発明の原理を実施する例示的な回路の概念図を表していることを理解するであろう。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コードなどが、コンピュータ可読媒体で実質的に表現することができ、明示してある場合もしていない場合もあるコンピュータまたはプロセッサによって実質的に実行することができる様々なプロセスを表すことも理解されたい。
【0029】
図面に示す様々な要素の機能は、専用のハードウェアを使用することによって、またソフトウェアを実行することができるハードウェアを適当なソフトウェアと関連付けて使用することによって、実現することができる。プロセッサによってそれらの機能を実現するときには、単一の専用プロセッサで実現することも、単一の共用プロセッサで実現することも、あるいはその一部を共用することもできる複数の個別プロセッサで実現することもできる。さらに、「プロセッサ」または「制御装置」という用語を明示的に用いていても、ソフトウェアを実行することができるハードウェアのみを指していると解釈すべきではなく、ディジタル信号プロセッサ(「DSP」)ハードウェア、ソフトウェアを記憶するための読取り専用メモリ(「ROM」)、ランダム・アクセス・メモリ(「RAM」)および不揮発性記憶装置(ただしこれらに限定されない)を暗に含むことがある。
【0030】
従来の、且つ/または特注のその他ハードウェアも含まれることがある。同様に、図面に示す任意のスイッチも、概念的なものに過ぎない。それらの機能は、プログラム論理の動作によっても、ハードウェア論理によっても、プログラム制御とハードウェア論理の相互作用によっても、あるいは手作業でも実施することができ、実施者が、状況から適宜判断して特定の技術を選択することができる。
【0031】
本明細書の特許請求の範囲において、特定の機能を実行する手段として表現されている任意の要素は、当該機能を実行する任意の形態を含むものとする。例えば、(a)当該機能を実行する回路素子の組合せや、(b)ファームウェアやマイクロコードなども含めた任意の形態のソフトウェアを、当該ソフトウェアを実行して当該機能を実行する適当な回路と組み合わせたものなども含むものとする。かかる特許請求の範囲によって定義される本発明の原理は、記載した様々な手段が実施する機能を、特許請求の範囲が要求する形式で組み合わせ、まとめることにある。従って、これらの機能を実施することができる任意の手段を、本明細書に示す手段の均等物とみなすものとする。
【0032】
本明細書において、本発明の原理の「一実施形態」または「実施形態」ならびにその他の変形例と述べている場合、それは、当該実施形態に関連して述べられる特定の特性、構成、特徴などが、本発明の原理の少なくとも1つの実施形態に含まれるという意味である。従って、本明細書の様々な箇所に見られる「一実施形態において」または「実施形態において」という表現、ならびに任意の他の変形表現は、その全てが必ずしも同じ実施形態のことを指しているわけではない。
【0033】
例えば「A/B」、「Aおよび/またはB」ならびに「AおよびBの少なくとも1つ」の場合など、「/」、「および/または」ならびに「の少なくとも1つ」の何れかを使用している場合、それは、1番目に挙げた選択肢(A)のみを選択すること、または2番目に挙げた選択肢(B)のみを選択すること、または両方の選択肢(AおよびB)を選択することを含むということであることを理解されたい。さらに別の例として、「A、Bおよび/またはC」ならびに「A、BおよびCの少なくとも1つ」の場合には、この表現は、1番目に挙げた選択肢(A)のみを選択すること、または2番目に挙げた選択肢(B)のみを選択すること、または3番目に挙げた選択肢(C)のみを選択すること、または1番目と2番目に挙げた選択肢(AおよびB)のみを選択すること、または1番目と3番目に挙げた選択肢(AおよびC)のみを選択すること、または2番目と3番目に挙げた選択肢(BおよびC)のみを選択すること、または3つ全ての選択肢(AおよびBおよびC)を選択することを含むということである。当技術分野および関連技術分野の当業者には容易に分かるように、このことは、列挙されている項目の数に応じて拡張することができる。
【0034】
また、本明細書で使用する「ピクチャ」および「画像」という用語は、入れ替えて使用され、ビデオ・シーケンスに含まれる静止画像またはピクチャを指している。既知の通り、ピクチャは、フレームであってもフィールドであってもよい。
【0035】
さらに、本明細書で使用する「有意係数」および「有意変換係数」という表現は、非ゼロ値を有する変換係数を指す。
【0036】
さらに、本明細書で使用する「レベル情報」という表現は、変換係数の値を指す。
【0037】
例示および説明のために、本明細書では、video coding experts group(VCEG)key technical area(KTA)ソフトウェアの改良という状況でいくつかの例について述べ、本明細書の基準としてKTAソフトウェアを用いて、KTAソフトウェアに優る改良点および拡張点を説明する。ただし、本発明の原理は、KTAソフトウェアおよび/またはその拡張のみに限定されるわけではないことを理解されたい。本明細書に与える本発明の原理の教示があれば、当技術分野および関連技術分野の当業者なら、本発明の原理が他の規格にも同様に適用可能であり、他の規格の拡張に適用されれば、あるいはこれから開発される規格に適用され、且つ/または組み込まれれば、少なくとも同等の利益を提供することを容易に理解するであろう。さらに、本発明の原理は、規格に準拠するのではなく所有者の定義(proprietary definitions)に準拠するビデオ符号化器およびビデオ復号器にも適用されることも理解されたい。
【0038】
図4を参照すると、本発明の原理を適用することができる例示的なビデオ符号化器の全体が、参照番号400で示してある。ビデオ符号化器400は、結合器485の非反転入力部と信号通信する出力部を有するフレーム順序付けバッファ410を含む。結合器485の出力部は、変換器/量子化器425の第1の入力部に信号通信で接続される。変換器/量子化器425の出力部は、エントロピー・コーダ445の第1の入力部および逆変換器/逆量子化器450の第1の入力部に信号通信で接続される。エントロピー・コーダ445の出力部は、結合器490の第1の非反転入力部に信号通信で接続される。結合器490の出力部は、出力バッファ435の第1の入力部に信号通信で接続される。
【0039】
符号化器制御装置405の第1の出力部は、フレーム順序付けバッファ410の第2の入力部、逆変換器/逆量子化器450の第2の入力部、ピクチャ・タイプ判断モジュール415の入力部、マクロブロック・タイプ(MBタイプ)判断モジュール420の第1の入力部、イントラ予測モジュール460の第2の入力部、デブロッキング・フィルタ465の第2の入力部、動き補償器470の第1の入力部、動き推定器475の第1の入力部、および参照ピクチャ・バッファ480の第2の入力部に信号通信で接続される。
【0040】
符号化器制御装置405の第2の出力部は、付加拡張情報(SEI)挿入器430の第1の入力部、変換器/量子化器425の第2の入力部、エントロピー・コーダ445の第2の入力部、出力バッファ435の第2の入力部、およびシーケンス・パラメータ・セット(SPS)/ピクチャ・パラメータ・セット(PPS)挿入器440の入力部に信号通信で接続される。
【0041】
SEI挿入器430の出力部は、結合器490の第2の非反転入力部に信号通信で接続される。
【0042】
ピクチャ・タイプ判断モジュール415の第1の出力部は、フレーム順序付けバッファ410の第3の入力部に信号通信で接続される。ピクチャ・タイプ判断モジュール415の第2の出力部は、マクロブロック・タイプ判断モジュール420の第2の入力部に信号通信で接続される。
【0043】
シーケンス・パラメータ・セット(SPS)/ピクチャ・パラメータ・セット(PPS)挿入器440の出力部は、結合器490の第3の非反転入力部に信号通信で接続される。
【0044】
逆量子化器/逆変換器450の出力部は、結合器419の第1の非反転入力部に信号通信で接続される。結合器419の出力部は、イントラ予測モジュール460の第1の入力部およびデブロッキング・フィルタ465の第1の入力部に信号通信で接続される。デブロッキング・フィルタ465の出力部は、参照ピクチャ・バッファ480の第1の入力部に信号通信で接続される。参照ピクチャ・バッファ480の出力部は、動き推定器475の第2の入力部および動き補償器470の第3の入力部に信号通信で接続される。動き推定器475の第1の出力部は、動き補償器470の第2の入力部に信号通信で接続される。動き推定器475の第2の出力部は、エントロピー・コーダ445の第3の入力部に信号通信で接続される。
【0045】
動き補償器470の出力部は、スイッチ497の第1の入力部に信号通信で接続される。イントラ予測モジュール460の出力部は、スイッチ497の第2の入力部に信号通信で接続される。マクロブロック・タイプ判断モジュール420の出力部は、スイッチ497の第3の入力部に信号通信で接続される。スイッチ497の第3の入力部は、スイッチの「データ」入力(制御入力部すなわち第3の入力部と比べて)が、動き補償器470またはイントラ予測モジュール460によって与えられるか否かを判定する。スイッチ497の出力部は、結合器419の第2の非反転入力部および結合器485の反転入力部に信号通信で接続される。
【0046】
フレーム順序付けバッファ410の第1の入力部および符号化器制御装置405の入力部は、符号化器400の、入力ピクチャを受信するための入力部として利用することができる。さらに、付加拡張情報(SEI)挿入器430の第2の入力部は、符号化器400の、メタデータを受信するための入力部として利用することができる。出力バッファ435の出力部は、符号化器400の、ビットストリームを出力するための出力部として利用することができる。
【0047】
図5を参照すると、本発明の原理を適用することができる例示的なビデオ復号器の全体が、参照番号500で示してある。ビデオ復号器500は、エントロピー復号器545の第1の入力部に信号通信で接続された出力部を有する入力バッファ510を含む。エントロピー復号器545の第1の出力部は、逆変換器/逆量子化器550の第1の入力部に信号通信で接続される。逆変換器/逆量子化器550の出力部は、結合器525の第2の非反転入力部に信号通信で接続される。結合器525の出力部は、デブロッキング・フィルタ565の第2の入力部およびイントラ予測モジュール560の第1の入力部に信号通信で接続される。デブロッキング・フィルタ565の第2の出力部は、参照ピクチャ・バッファ580の第1の入力部に信号通信で接続される。参照ピクチャ・バッファ580の出力部は、動き補償器570の第2の入力部に信号通信で接続される。
【0048】
エントロピー復号器545の第2の出力部は、動き補償器570の第3の入力部、デブロッキング・フィルタ565の第1の入力部、およびイントラ予測器560の第3の入力部に信号通信で接続される。エントロピー復号器545の第3の出力部は、復号器制御装置505の入力部に信号通信で接続される。復号器制御装置505の第1の出力部は、エントロピー復号器545の第2の入力部に信号通信で接続される。復号器制御装置505の第2の出力部は、逆変換器/逆量子化器550の第2の入力部に信号通信で接続される。復号器制御装置505の第3の出力部は、デブロッキング・フィルタ565の第3の入力部に信号通信で接続される。復号器制御装置505の第4の出力部は、イントラ予測モジュール560の第2の入力部、動き補償器570の第1の入力部、および参照ピクチャ・バッファ580の第2の入力部に信号通信で接続される。
【0049】
動き補償器570の出力部は、スイッチ597の第1の入力部に信号通信で接続される。イントラ予測モジュール560の出力部は、スイッチ597の第2の入力部に信号通信で接続される。スイッチ597の出力部は、結合器525の第1の非反転入力部に信号通信で接続される。
【0050】
入力バッファ510の入力部は、復号器500の、入力ビットストリームを受信するための入力部として利用することができる。デブロッキング・フィルタ565の第1の出力部は、復号器500の、出力ピクチャを出力するための出力部として利用することができる。
【0051】
上述のように、本発明の原理は、統一された有意性マップ符号化方法および装置を対象としている。様々な変換サイズの係数分布を考慮するために、発明者等は、簡潔にするために全ての変換サイズについてある統一された構造を維持しながら、コンテキスト共有パターンを変換サイズに適合させる。
【0052】
残差データを符号化する際のコンテキストの数を低減するために、いくつかの変換係数位置で1つのコンテキスト・モデルを共有することができる。MPEG-4 AVC規格では、コンテキスト共有は、変換ごとに設計される。
【0053】
本発明の原理の一実施形態では、発明者等は、規則が符号化器のセットアップに適合可能である、全ての変換についてコンテキストを共有する方法を設計する統一された規則ベース(unified rule-based)手法を提案する。
【0054】
本発明の原理の一実施形態では、発明者等は、複数の変換についてコンテキスト共有を統一することを提案する。コンテキスト・モデルの数は小さい数に維持しながら、異なる変換で複数の係数位置の間のコンテキスト共有を設計する同じ手法を用いる。これにより、コンテキスト共有を統一して、さらに多くの変換に対応できる次世代の規格に備える。
【0055】
本発明の原理は、有意性マップを符号化する新たな方法を提案するものである。変換ごとに別個のコンテキスト共有方法が予め規定される従来技術とは異なり、発明者等は、異なる変換の間でコンテキスト共有を統一する方法を提供する。これにより、特に複数の変換が存在するときには、符号化器および/または復号器の設計が簡略化される。
【0056】
<典型的な有意性マップ符号化>
図6を参照すると、有意性マップを符号化する従来の方法の全体が、参照番号600で示してある。方法600は、制御を機能ブロック620に渡す開始ブロック610を含む。機能ブロック620では、変換の既定のコンテキスト共有マップを読み取り、制御を機能ブロック630に渡す。機能ブロック630では、有意性マップを符号化し、制御を終了ブロック699に渡す。コンテキスト共有マップは、様々な変換について予め規定されており、共有パターンは、significant_coeff_flagまたはlast_significant_coeff_flagで異なることがある。
【0057】
図7を参照すると、有意性マップを復号する従来の方法の全体が、参照番号700で示してある。方法700は、制御を機能ブロック720に渡す開始ブロック710を含む。機能ブロック720では、変換の既定のコンテキスト共有マップを読み取り、制御を機能ブロック730に渡す。機能ブロック730では、有意性マップを復号し、制御を終了ブロック799に渡す。復号器は、対応するコンテキスト共有マップを使用して、有意性マップを復号する。
【0058】
<提案する方法-コンテキスト共有マップの生成を統一する>
KTAソフトウェアでは、32×32および64×64のマクロブロック・サイズがサポートされる。32×32ブロックでは、既存のMPEG-4 AVC規格の動きパーティションサイズ(16×16、16×8、8×16、8×8、8×4、4×8および4×4)に加えて、32×32、32×16および16×32個のパーティションを用いたインター符号化も使用可能である。変換が大きい方が、高精細度ビデオのより滑らかなコンテンツをより良質に捕捉することができる。インター・ピクチャでは、輝度成分の4×4変換および8×8変換に加えて、16×16変換、16×8変換および8×16変換が使用される。具体的には、サイズ16×16、16×8および8×16の各動きパーティションについて、4×4変換および8×8変換に加えて、サイズ16×16、16×8および8×16の変換を使用することができる。16×16より大きな動きパーティションについては、4×4変換および8×8変換に加えて、16×16変換が使用される。
【0059】
新たに導入された変換(16×8、8×16および16×16)の変換係数の有意性マップを符号化するために、変換ごとに別個のコンテキスト共有マップを設計する。例えば、16×16変換のコンテキスト共有のパターンは、ほぼ8×8変換のアップサンプリング・バージョンである。変換では、通常、走査順序の最初のいくつかの係数にエネルギーを集中させるので、このようなコンテキスト共有は、変換係数分布に適さないことがある。さらに、このようなコンテキスト共有では、変換ごとにマップを記憶する必要がある。
【0060】
発明者等は、符号化器および/または復号器の設計を簡略にするために、コンテキスト共有マップの生成を統一することを提案する。一実施形態では、発明者等は、走査順序(例えばジグザグの走査順序)に従って、2D変換係数ブロックを1D変換係数配列に変換する。変換係数位置xに応じて、発明者等は、規則F(x)に従ってコンテキストを割り当てる。この規則は、全ての変換について一貫している。例えば、以下のような規則である。
【数2】
ここで、Nは、コンテキストの数である。例えば、N=15であるときには、15個のコンテキストがある。
【0061】
この規則を適用してコンテキスト共有マップを生成するときには、変換ごとに別個のマップを設計する必要がなく、複数の変換に容易に拡張することができる。符号化器および復号器の両方が同じ規則を認識し、使用する。
【0062】
図8を参照すると、有意性マップを符号化する例示的な方法の全体が、参照番号800で示してある。方法800は、制御を機能ブロック820に渡す開始ブロック810を含む。機能ブロック820では、規則に基づいて変換のコンテキスト共有マップを生成し、制御を機能ブロック830に渡す。機能ブロック830では、有意性マップを符号化し、制御を終了ブロック899に渡す。機能ブロック820に関しては、変換のコンテキスト共有マップを生成する規則は、例えば、既定の走査順序(例えばジグザグの走査順序)の最初のN個の係数位置に対して1つの別のコンテキストを割り当て、それ以外の全ての係数位置に1つのコンテキストを共有させるものとすることができる。
【0063】
図9を参照すると、有意性マップを復号する例示的な方法の全体が、参照番号900で示してある。方法900は、制御を機能ブロック920に渡す開始ブロック910を含む。機能ブロック920では、規則に基づいて変換のコンテキスト共有マップを生成し、制御を機能ブロック930に渡す。機能ブロック930では、有意性マップを復号し、制御を終了ブロック999に渡す。機能ブロック920に関しては、変換のコンテキスト共有マップを生成する規則は、符号化器で使用されるものと同じである。この規則は、例えば、既定の走査順序(例えばジグザグの走査順序)の最初のN個の係数位置に対して1つの別のコンテキストを割り当て、それ以外の全ての係数位置に1つのコンテキストを共有させるものとすることができる。
【0064】
<変形>
本発明の原理の一実施形態では、コンテキスト共有マップを生成する規則は、シーケンス、ピクチャ解像度、量子化パラメータなどによって変わってもよい。例えば、発明者等は、F(x)を以下のように変形させることができる。
【数3】
【0065】
発明者等は、シンタックスにおいてどの規則を使用するかを示すことを提案する。一実施形態では、符号化器および復号器の両方が規則を認識している。このような場合には、符号化器は、ビットストリーム中のインデックスによってどの規則を使用するかを示す。この手法では、柔軟性がさらに高まる。
【0066】
図10を参照すると、有意性マップを符号化する別の方法の全体が、参照番号1000で示してある。方法1000は、制御を機能ブロック1020に渡す開始ブロック1010を含む。機能ブロック1020では、コンテキスト共有マップを生成する規則を決定し、この規則をビットストリーム中で示し、制御を機能ブロック1030に渡す。機能ブロック1030では、この規則に基づいて変換のコンテキスト共有マップを生成し、制御を機能ブロック1040に渡す。機能ブロック1020に関しては、規則は、係数が対応するビデオ・シーケンス、ピクチャ解像度、量子化パラメータなどに基づいて選択することができる。機能ブロック1030に関しては、変換のコンテキスト共有マップを生成する規則は、例えば、既定の走査順序の最初のN個の係数位置に対して1つの別のコンテキストを割り当て、それ以外の全ての係数位置に1つのコンテキストを共有させるものとすることができる。
【0067】
図11を参照すると、有意性マップを復号する別の例示的な方法の全体が、参照番号1100で示してある。方法1100は、制御を機能ブロック1120に渡す開始ブロック1110を含む。機能ブロック1120では、コンテキスト共有マップを生成する規則を復号し、制御を機能ブロック1130に渡す。機能ブロック1130では、この規則に基づいて変換のコンテキスト共有マップを生成し、制御を機能ブロック1140に渡す。機能ブロック1140では、有意性マップを復号し、制御を終了ブロック1199に渡す。機能ブロック1130に関しては、変換のコンテキスト共有マップを生成する規則は、例えば、既定の走査順序の最初のN個の係数位置に対して1つの別のコンテキストを割り当て、それ以外の全ての係数位置に1つのコンテキストを共有させるものとすることができる。
【0068】
<シンタックス>
発明者等が提案する方法は、例えばシーケンス・パラメータ・セット(SPS)またはピクチャ・パラメータ・セット(PPS)を介してコンテキスト共有マップを生成する規則を選択する柔軟性をもたらす。表1は、本発明の原理の一実施形態による、ピクチャ・パラメータ・セットで使用される例示的なシンタックスを示している。シーケンス・パラメータ・セットなど(ただしこれに限定されない)、その他のシンタックス・レベルでも同様のシンタックスを適用することができる。
【表1】
【0069】
表1に示すシンタックス要素のセマンティクスは、以下の通りである。 significance_map_context_ruleは、有意性マップを符号化するためのコンテキスト共有マップを生成するために適用される特定の規則を指定する。
【0070】
次に、一部については上記で既に触れているが、本発明の多くの付随的な利点/特徴のいくつかについて述べる。例えば、1つの利点/特徴は、ピクチャの少なくとも一部分の複数の変換係数を符号化するビデオ符号化器を有する装置である。変換係数は、複数の変換を用いて得られる。これらの変換係数に対して、統一された規則に基づいて、1つまたは複数のコンテキスト共有マップが生成される。これらの1つまたは複数のコンテキスト共有マップは、上記の複数の変換のうちの少なくとも2つの異なる変換から得られる変換係数のうちの少なくとも一部の間で共有される少なくとも1つのコンテキストを提供するものである。
【0071】
別の利点/特徴は、ビデオ符号化器を有する上述の装置であって、変換係数が、2次元変換係数であり、統一された規則が、走査順序に従った2次元変換係数の1次元配列へのマッピング、および変換係数のうちの最初のN個の係数の別個のコンテキストへの割り当てを指定する装置である。
【0072】
さらに別の利点/特徴は、上述した、変換係数が2次元変換係数であり、統一された規則が走査順序に従った2次元変換係数の1次元配列へのマッピング、および変換係数のうちの最初のN個の係数の別個のコンテキストへの割り当てを指定する、ビデオ符号化器を有する装置であって、変換係数のうちの残りの係数が、単一のコンテキストに割り当てられる、装置である。
【0073】
さらに、別の利点/特徴は、上述した、変換係数が2次元変換係数であり、統一された規則が走査順序に従った2次元変換係数の1次元配列へのマッピングおよび変換係数のうちの最初のN個の係数の別個のコンテキストへの割り当てを指定する、ビデオ符号化器を有する装置であって、走査順序がジグザグの走査順序である、装置である。
【0074】
さらに、別の利点/特徴は、ビデオ符号化器を有する上述の装置であって、変換係数が、1つの結果ビットストリームに符号化され、複数の規則が、上記の統一された規則の候補として用いられ、上記の統一された規則が、上記の結果ビットストリーム中で示される、装置である。
【0075】
また、別の利点/特徴は、ビデオ符号化器を有する上述の装置であって、上記の統一された規則が、変換係数が対応するビデオ・シーケンス、ピクチャ解像度および量子化パラメータによって変わる少なくとも2つの統一された規則を含む、装置である。
【0076】
本発明の原理の上記その他の特徴および利点は、当業者であれば、本明細書の教示に基づいて容易に確認することができる。本発明の原理の教示は、ハードウェア、ソフトウェア、ファームウェア、特殊目的プロセッサ、またはそれらの組合せの様々な形態で実施することができることを理解されたい。
【0077】
本発明の原理の教示は、ハードウェアとソフトウェアの組合せとして実施されることが最も好ましい。さらに、ソフトウェアは、プログラム記憶装置に有形に具体化されたアプリケーション・プログラムとして実施することができる。アプリケーション・プログラムは、任意の適当なアーキテクチャを備える機械にアップロードし、この機械によって実行することができる。この機械は、1つまたは複数の中央処理装置(「CPU」)、ランダム・アクセス・メモリ(「RAM」)および入出力(「I/O」)インタフェースなどのハードウェアを有するコンピュータ・プラットフォームで実施されることが好ましい。コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロ命令コードも備えることができる。本明細書に記載する様々なプロセスおよび機能は、CPUによって実行することができる、マイクロ命令コードの一部またはアプリケーション・プログラムの一部あるいはそれらの任意の組合せの何れかにすることができる。さらに、追加のデータ記憶装置や印刷装置など、その他の様々な周辺装置をコンピュータ・プラットフォームに接続することもできる。
【0078】
さらに、添付の図面に示すシステム構成要素および方法の一部はソフトウェアで実施することが好ましいので、システム構成要素間またはプロセス機能ブロック間の実際の接続は、本発明の原理をプログラミングする方法によって異なっていてもよいことも理解されたい。本明細書の教示があれば、当業者なら、本発明の原理の上記の実施態様または構成およびそれらと同様の実施態様または構成を思いつくことができるであろう。
【0079】
本明細書では、添付の図面を参照して例示的な実施形態について述べたが、本発明の原理は、これらの具体的な実施形態に限定されるわけではなく、当業者なら、本発明の原理の範囲または趣旨を逸脱することなく様々な変更および修正をそれらの実施形態に加えることができることを理解されたい。そうした変更および修正は全て、添付の特許請求の範囲に記載する本発明の原理の範囲に含まれるものとする。