(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-20
(45)【発行日】2022-10-28
(54)【発明の名称】ビデオデータに関係する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための方法及び装置
(51)【国際特許分類】
H04N 19/13 20140101AFI20221021BHJP
H04N 19/184 20140101ALI20221021BHJP
【FI】
H04N19/13
H04N19/184
(21)【出願番号】P 2018558185
(86)(22)【出願日】2017-05-05
(86)【国際出願番号】 EP2017060759
(87)【国際公開番号】W WO2017194401
(87)【国際公開日】2017-11-16
【審査請求日】2020-04-10
(32)【優先日】2016-05-12
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】518338149
【氏名又は名称】インターデジタル ヴイシー ホールディングス, インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ラセール,セバスチャン
(72)【発明者】
【氏名】アンドリフォン,ピエール
(72)【発明者】
【氏名】ボルデ,フィリップ
【審査官】清山 昂平
(56)【参考文献】
【文献】米国特許出願公開第2012/0314760(US,A1)
【文献】特表2014-523186(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
ビデオデータに関係する構文要素又はビデオデータに関連する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための方法であって、前記一連の2値シンボルの2値シンボルごとに、
前記2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前記コンテキスト値は前記2値シンボルが或る2進値に等しい第1の確率pを表すビットを含む、コンテキスト値を得ること、
前記2値シンボルの算術符号化前に、前記一連の2値シンボルのうちの少なくとも1つの過去に算術符号化された2値シンボルに従って前記第1の確率pの第1の修正をすることであって、第2の確率p’を与える前記第1の修正をすること、
前記第2の確率p’に基づいて前記2値シンボルを算術符号化すること、
前記算術符号化された2値シンボルに従って前記コンテキスト値の前記第1の確率pの第2の修正をすること、
前記第1の確率pの前記第2の修正の結果を記憶すること、
を含む、方法。
【請求項2】
ビデオデータに関係する構文要素又はビデオデータに関連する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための装置であって、前記一連の2値シンボルの2値シンボルごとに、
前記2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前記コンテキスト値は前記2値シンボルが或る2進値に等しい第1の確率pを表すビットを含む、コンテキスト値を得ること、
前記2値シンボルの算術符号化前に、前記一連の2値シンボルのうちの少なくとも1つの過去に算術符号化された2値シンボルに従って前記第1の確率pの第1の修正をすることであって、第2の確率p’を与える前記第1の修正をすること、
前記第2の確率p’に基づいて前記2値シンボルを算術符号化すること、
前記算術符号化された2値シンボルに従って前記コンテキスト値の前記第1の確率pの第2の修正をすること、
前記第1の確率pの前記第2の修正の結果を記憶すること、
を行うように構成されるプロセッサを含む、装置。
【請求項3】
前記コンテキスト値が前記2値シンボルの優勢確率2進値(MPS)を表すビットを更に含み、前記第1の確率pを表す前記ビットは前記2値シンボルが前記優勢確率2進値に等しい前記第1の確率pを表す、請求項1に記載の方法。
【請求項4】
前記一連の2値シンボルのうちの少なくとも1つの過去に算術符号化された2値シンボルはサブコンテキストを定め、前記第2の確率p’は前記サブコンテキストについて前記2値シンボルが或る2進値に等しい確率を表す、請求項1に記載の方法。
【請求項5】
前記一連の2値シンボルのうちの少なくとも1つの過去に算術符号化された2値シンボルに従って前記第1の確率pの前記第1の修正をすることが、
重み付けされた値から確率調節値を得ることであって、前記重み付けされた値は、前記サブコンテキストと前記少なくとも1つの過去に算術符号化された2値シンボルの前記値とを定める前記少なくとも1つの過去に算術符号化された2値シンボルに関連する重みから得られる、前記確率調節値を得ること、及び
前記確率調節値を前記第1の確率pに加えることによって前記第2の確率p’を決定すること
を含む、請求項4に記載の方法。
【請求項6】
前記確率調節値が
【数1】
によって前記一連の2値シンボルのうちの前記少なくとも1つの過去に算術符号化された2値シンボルの前記重み付けされた値から得られ、但しΔ
0は一定値であり、w
jは前記一連の2値シンボルのうちの過去に算術符号化されたK個の2値シンボルの1つに関連する重みであり、f
jは前記一連の2値シンボルのうちの過去に算術符号化されたK個の2値シンボルの前記1つの値である、請求項5に記載の方法。
【請求項7】
前記確率調節値が、前記一連の2値シンボルのうちの少なくとも1つの過去に算術符号化された2値シンボルの値に従ってそれぞれ定められる1組の潜在的な値から選択される、請求項5に記載の方法。
【請求項8】
請求項1又は請求項3~7の何れか一項に準拠する、ビデオデータを表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための方法のステップを含む、前記ビデオデータを符号化するための方法。
【請求項9】
ビデオデータに関係する構文要素又はビデオデータに関連する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術復号するための方法であって、前記一連の2値シンボルの2値シンボルごとに、
前記2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前記コンテキスト値は前記2値シンボルが或る2進値に等しい第1の確率pを表すビットを含む、コンテキスト値を得ること、
前記2値シンボルの算術復号前に、前記一連の2値シンボルのうちの少なくとも1つの過去に算術復号された2値シンボルに従って前記第1の確率pの第1の修正をすることであって、第2の確率p’を与える前記第1の修正をすること、
前記第2の確率p’に基づいて前記2値シンボルを算術復号すること、
前記算術復号された2値シンボルに従って前記コンテキスト値の前記第1の確率pの第2の修正をすること、
前記第1の確率pの前記第2の修正の結果を記憶すること、
を含む、方法。
【請求項10】
請求項9に準拠する、ビデオデータを表す一連の2値シンボルをコンテキスト適応型2値算術復号するための方法のステップを含む、前記ビデオデータを復号するための方法。
【請求項11】
ビデオデータ又は構文要素を符号化するための装置であって、
2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前記コンテキスト値は前記2値シンボルが或る2進値に等しい第1の確率pを表すビットを含む、コンテキスト値を得ること、
前記2値シンボルの算術符号化前に、前記
ビデオデータを表す一連の2値シンボルのうちの少なくとも1つの過去に算術符号化された2値シンボルに従って前記第1の確率pの第1の修正をすることであって、第2の確率p’を与える前記第1の修正をすること、
前記第2の確率p’に基づいて前記2値シンボルを算術符号化すること、
前記算術符号化された2値シンボルに従って前記コンテキスト値の前記第1の確率pの第2の修正をすること、
前記第1の確率pの前記第2の修正の結果を記憶すること、
によって前記ビデオデータを表す前記一連の2値シンボルをコンテキスト適応型2値算術符号化するように構成されたプロセッサを含む、装置。
【請求項12】
ビデオデータ又は構文要素を復号するための装置であって、
2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前記コンテキスト値は前記2値シンボルが或る2進値に等しい第1の確率pを表すビットを含む、コンテキスト値を得ること、
前記2値シンボルの算術復号前に、前記
ビデオデータを表す一連の2値シンボルのうちの少なくとも1つの過去に算術復号された2値シンボルに従って前記第1の確率pの第1の修正をすることであって、第2の確率p’を与える前記第1の修正をすること、
前記第2の確率p’に基づいて前記2値シンボルを算術復号すること、及び
前記算術復号された2値シンボルに従って前記コンテキスト値の前記第1の確率pの第2の修正をすること、
前記第1の確率pの前記第2の修正の結果を記憶すること、
によって前記ビデオデータを表す前記一連の2値シンボルをコンテキスト適応型2値算術復号するように構成されたプロセッサを含む、装置。
【請求項13】
プログラムがコンピュータ上で実行されるとき、請求項1又は請求項3~8の何れか一項に記載の符号化方法のステップを実行するためのプログラムコード命令を含む、コンピュータプログラム。
【請求項14】
プログラムがコンピュータ上で実行されるとき、請求項9~10の何れか一項に記載の復号方法のステップを実行するためのプログラムコード命令を含む、コンピュータプログラム。
【請求項15】
プログラムが計算装置上で実行されるとき、請求項1又は請求項3~8の何れか一項に記載の方法のステップを実行するためのプログラムコード命令を運ぶ、非一時的記憶媒体。
【請求項16】
プログラムが計算装置上で実行されるとき、請求項9~10の何れか一項に記載の方法のステップを実行するためのプログラムコード命令を運ぶ、非一時的記憶媒体。
【請求項17】
前記コンテキスト値が前記2値シンボルの優勢確率2進値(MPS)を表すビットを更に含み、前記第1の確率pを表す前記ビットは前記2値シンボルが前記優勢確率2進値に等しい前記第1の確率pを表す、請求項2に記載の装置。
【請求項18】
前記一連の2値シンボルのうちの少なくとも1つの過去に算術符号化された2値シンボルはサブコンテキストを定め、前記第2の確率p’は前記サブコンテキストについて前記2値シンボルが或る2進値に等しい確率を表す、請求項2に記載の装置。
【請求項19】
前記一連の2値シンボルのうちの少なくとも1つの過去に算術符号化された2値シンボルに従って前記第1の確率pの前記第1の修正をすることが、
重み付けされた値から確率調節値を得ることであって、前記重み付けされた値は、前記サブコンテキストと前記少なくとも1つの過去に算術符号化された2値シンボルの前記値とを定める前記少なくとも1つの過去に算術符号化された2値シンボルに関連する重みから得られる、前記確率調節値を得ること、及び
前記確率調節値を前記第1の確率pに加えることによって前記第2の確率p’を決定すること
を含む、請求項18に記載の装置。
【請求項20】
前記確率調節値が
【数2】
によって前記一連の2値シンボルのうちの前記少なくとも1つの過去に算術符号化された2値シンボルの前記重み付けされた値から得られ、但しΔ
0は一定値であり、w
jは前記一連の2値シンボルのうちの過去に算術符号化されたK個の2値シンボルの1つに関連する重みであり、f
jは前記一連の2値シンボルの過去に算術符号化されたK個の2値シンボルの前記1つの値である、請求項19に記載の装置。
【請求項21】
前記確率調節値が、前記一連の2値シンボルのうちの少なくとも1つの過去に算術符号化された2値シンボルの値に従ってそれぞれ定められる1組の潜在的な値から選択される、請求項19に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
1.分野
本原理は、一般にピクチャ/ビデオの符号化及び復号に関する。具体的には、本原理の技術分野は、ビデオデータ又は前述のビデオデータを復号するのに必要な構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化することに関する。
【背景技術】
【0002】
2.背景
この節は、以下に記載の及び/又は特許請求の範囲に記載の本原理の様々な態様に関係し得る技術の様々な側面を読者に紹介することを目的とする。この解説は、本原理の様々な態様をより良く理解するのを助けるための背景情報を読者に与えるのに有用だと考えられる。従って、これらの記述は従来技術の承認としてではなく、かかる観点から読まれるべきことを理解すべきである。
【0003】
以下、ビデオデータは、ピクチャ(又はビデオ)の画素値に関する全ての情報並びに例えばピクチャ(又はビデオ)を視覚化し且つ/又は復号するためにディスプレイ及び/又は他の任意の装置によって使用され得る全ての情報を規定する特定のピクチャ/ビデオ形式のサンプル(画素値)の1つ又は幾つかのアレイを含む。静止ピクチャ(又はビデオのピクチャ)は、サンプルの第1のアレイの形を取る、通常はルマ(又は輝度)成分である少なくとも1つの成分と、ことによるとサンプルの少なくとも1つの他のアレイの形を取る、通常は色成分である少なくとも1つの他の成分とを含む。又は同等に、同じ情報が従来の三色RGB表現等の色サンプルの1組のアレイによって表現される場合もある。
【0004】
画素値はC個の値のベクトルによって表すことができるビデオデータであり、Cは成分の数である。ベクトルの各値は画素値の最大ダイナミックレンジを定めるビットの数で表わされる。
【0005】
一般的に言えば、ブロックとは1組の要素を意味する、かかるビデオデータ又はビデオデータに関連する構文要素。例えば画素のブロックとはピクチャに属する1組の画素であり、ブロックの画素値はこのブロックに属する画素の値を意味する。
【0006】
ビデオコード化装置は、空間的な及び時間的な冗長性を活用することによってビデオデータの圧縮を試みる場合がある。例えばビデオ符号器は、過去にコード化された近隣のブロックに関連してブロックをコード化することによって空間的な冗長性を活用する場合がある。同様に、ビデオ符号器は、過去にコード化されたピクチャのデータに関連してピクチャデータのブロックをコード化することによって時間的な冗長性を活用する場合がある。具体的には、ビデオ符号器は、空間的近隣のデータから又は過去にコード化されたピクチャのデータからビデオデータの現在のブロックを予測することができる。次いでビデオ符号器は、ビデオデータのブロックの実際の画素値とブロックの予測画素値との差としてビデオデータのブロックに関する残差を計算することができる。従って、ブロックの残差は画素(又は空間)領域内の画素ごとの差分値を含み得る。
【0007】
次いでビデオ符号器は、残差の値に対して変換を適用して画素値のエネルギを周波数領域内の比較的少数の変換係数へと圧縮することができる。次いでビデオ符号器は、その変換係数を量子化し、量子化済み変換係数を走査して量子化済み変換係数の二次元行列を量子化済み変換係数を含む一次元ベクトルへと変換することができる。次いでビデオ符号器は、走査した係数をエントロピ符号化するためにエントロピコード化プロセスを適用することができる。エントロピコード化プロセスの例は、例えばコンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型2値算術符号化(CABAC)、構文ベースのコンテキスト適応型2値算術符号化(SBAC)、確率区間区分エントロピ(PIPE)コード化、又は他のエントロピ符号化法を含み得る。
【0008】
ビデオ復号器は、ビデオ符号器によって実行される符号化技法に対して概ね逆の技法を実行することができる。概ね逆だが、一部の例ではビデオ復号器がビデオ符号器によって行われるのと同様の技法を実行する場合がある。
【0009】
ビデオ符号器は、ビデオデータを復号する際にビデオ復号器が使用するための、符号化されるビデオデータに関連する構文要素をエントロピ符号化することもできる。ビデオ復号器は、構文要素又はビデオ符号器に関連して記述されたデータを含む受信ビットストリーム内に含まれる他のデータを利用することができる。
【0010】
構文要素の一部の例によれば、ビデオデータのブロック内の有意係数(即ち非零変換係数)の位置は、変換係数の「レベル」と呼ぶことができる変換係数の値の前に符号化することができる。有意係数の位置をコード化するプロセスは有意性マップのコード化と呼ぶことができる。有意性マップ(SM)は、有意係数の位置を示す2進値の二次元アレイを含む。
【0011】
例えば、ビデオデータのブロックに関するSMは1と0との二次元アレイを含むことができ、1はブロック内の有意変換係数の位置を示し、0はブロック内の非有意(0の値を有する)変換係数の位置を示す。これらの1と0とを「有意係数フラグ」と呼ぶ。
【0012】
加えて一部の例では、SMが1と0との別の2Dアレイを含む場合があり、かかるアレイでは1はブロックに関連する走査順序によるブロック内の最後の有意係数の位置を示し、0はブロック内の他の全ての係数の位置を示す。この場合、これらの1と0とを「最後の有意係数フラグ」と呼ぶ。
【0013】
他の例では、この最後の有意係数フラグを使用しない。そうではなく、SMの残りを送信する前に、ブロック内の最後の有意係数を最初にコード化することができる。何れにせよ、ビデオデータのブロックに関するSMコード化は、ブロックをコード化するために使用されるビデオビットレートのかなりのパーセンテージを消費する可能性がある。
【0014】
SMをコード化した後、ビデオコーダは各変換係数のレベルをエントロピコード化することができる。例えば、ビデオコーダは各非零変換係数の絶対値を2値形式に変換することができる。このようにして、例えば1つ又は複数のビット又は「ビン」を含む単進コードを使用して各非零変換係数を「2値化」することができる。変換済み係数の符号に関するビットも符号化することができる。
【0015】
加えて、ビデオ復号器がビデオデータを復号することを可能にするために、他の幾つかの2値化した構文要素を含めることができる。例えば2値化した構文要素は、運動ベクトルの残差、Trnasform Unitコード化フラグ、Coding Groupコード化フラグ、変換済み係数の有意フラグ、変換済み係数の大きさ(1を上回る及び2を上回る)フラグ、SAOデータ等を表すことができる。
【0016】
ビデオデータのブロックの変換係数に対応していようが構文要素(情報)に対応していようが、ビデオコーダは2値シンボルごとに確率推定を使用してビデオデータのブロックに関する各2値シンボル(又はビン)をエントロピコード化することができる。確率推定は、所与の2進値(例えば「0」又は「1」)を有する2値シンボルの尤度を示すことができる。確率推定は「コンテキストモデル」とも呼ばれる確率モデル内に含まれ得る。その後、ビデオコーダはコード化される2値シンボルのコンテキストを決定し、決定したコンテキストから確率モデルを選択することができる。
【0017】
構文要素を表す一連の2値シンボルのうちの或る2値シンボルのコンテキストは、過去にコード化された近隣の構文要素の関係する2値シンボルの値を含み得る。
【0018】
一例として、ブロックの有意係数フラグごとのコンテキストは、ブロックの種類(例えばブロックのサイズ、ルマ又はクロマ要素のブロック)、及びブロックに関連する走査順序によるブロック内のそれぞれのフラグに対応する係数の位置を含む。
【0019】
別の例として、ブロックに関する2値化した残差変換係数絶対値の2値シンボルのコンテキストは、絶対値を表す単進コード語内の2値シンボルの位置、及びブロックの過去にコード化された係数の値を含む。
【0020】
他の例では、コード化ブロックパターン(「CBP」)を表す一連の2値シンボルのうちの或る2値シンボルのコンテキストは、過去にコード化された近隣の、例えば現在の構文要素の左上の構文要素の関係する2値シンボルの値を含む。
【0021】
本原理は上記の例に限定されず、例えばH264規格やH265規格内で定められているような任意の構文要素及びコンテキストに及ぶ。
【0022】
何れにせよ、コンテキストごとに異なる確率モデルが定められる。
【0023】
2値シンボルをエントロピコード化した後、最新の確率推定を反映させるためにコード化済み2値シンボルの値に従って確率モデルを更新する。
【0024】
ビデオデータ(又は構文要素)のブロックに関連する2値シンボルは、1つ又は複数のコード化「パス」内でコード化することができる。例えば最初のパスの間、ビデオコーダはSMをエントロピコード化することができる。第2のパスの間、ビデオコーダは変換係数レベルの最初のビンをエントロピコード化することができる。ビデオコーダは、ブロックの変換係数に関連する情報の全てがコード化されるまでコード化パスを実行し続けることができる。
【0025】
一部の例では、ビデオコーダが、コンテキスト適応型コード化と非コンテキスト適応型コード化との組合せを使用してビデオデータ(又は構文要素)のブロックのビンをコード化することができる。例えば1つ又は複数のパスについて、ビデオコーダはバイパスモードを使用して正規の算術符号化プロセスを迂回し又は省くことができる。そのような例では、バイパスコード化されるビンをコード化するために、固定された等確率モデルが使用され得る。バイパスコード化されるビンはコンテキスト又は確率の更新を含まない。
【0026】
コンテキスト適応型コード化を行うとき、一部の例では複数のフィードバックループにより相対的に高い直列依存関係があり得る。
【0027】
例えば、2値シンボルをコード化するための特定の確率モデルを示すコンテキストは、過去にコード化された2値シンボル、例えば過去にコード化された構文要素の関係する2値シンボルの値の影響を受ける可能性がある。
【0028】
加えて、2値シンボルをコード化するために使用される確率モデルは、過去にコード化された2値シンボルの値の影響を受ける場合もある。つまり、確率モデルが有限状態機械内の状態として維持され得る。個々の状態が特定の確率値に対応し得る。確率モデルの更新に対応する次の状態は現在の2値シンボル(例えば現在コード化されているビン)の値に依存し得る。
【0029】
加えて上記で述べたように、特定の確率モデルを有限状態機械内の状態として維持することができ、個々の状態は特定の確率値に対応する。確率モデルの更新に対応する次の状態は現在の2値シンボルの値に依存し得る。状態の更新と呼ぶことができるかかるフィードバックループは計算上のボトルネックを生じさせる可能性がある。例えばフィードバックループ内の依存関係が原因でスループットを高めるのが困難な場合がある。つまり、過去の2値シンボルからの確率モデルを更新するまで或る2値シンボルを処理できない場合がある。一部の例では、同じコンテキストが高頻度で連続して(2値シンボルごとに)呼び出されることがある。
【0030】
コンテキスト適応型2値算術符号化(CABAC)は、H.264/MPEG-4 AVC (“Advanced video coding for generic audiovisual Services”, SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Recommendation ITU-T H.264, Telecommunication Standardization Sector of ITU, February 2014)、及び高効率ビデオコード化(HEVC)規格((“High Efficiency Video Coding”, SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Recommendation ITU-T H.265, Telecommunication Standardization Sector of ITU, April 2013)の中で使用されているエントロピ符号化の一形態である。
【0031】
CABACは可逆的圧縮技法だが、CABACが使用されるビデオコード化規格は典型的には不可逆的圧縮応用向けである。
【0032】
図1は、CABACにおいて構文要素を符号化するための包括的なブロック図を示す。
【0033】
基本的にCABACは3つの基本ステップを含む。
【0034】
最初のステップで、バイナライザが所与の非2進値の構文要素を一連の2値シンボル(ビン)にマップする。2進値の構文要素が与えられる場合、
図1に示すようにこの最初のステップは迂回する。
【0035】
一連の2値シンボルのビンごとに又は2進値の構文要素ごとに、コード化のモードに応じて1つ又は2つの後続のステップが続き得る。
【0036】
所謂正規のコード化モードでは、コンテキスト選択段において、過去に符号化された構文要素又はコード化された2値シンボルに応じてコンテキスト値を決定する。次いで、そのコンテキスト値及び2値シンボルsの値を正規コード化エンジンに伝え、そこでその後のコンテキスト更新と共に算術符号化の最終段が行われる、コンテキスト値の確率p上のベース(
図1参照)。
【0037】
或いは、
図1のスイッチの右下の分岐によって示すように、明確に割り当てられた確率モデルを使用することなしに単純化したコード化エンジンによって全符号化(及び復号)プロセスを加速できるようにするために、2値シンボルのために所謂バイパスコード化モードが選択される。
【0038】
図2は、ビデオデータのブロックに関連する有意性マップを表す一連の2値シンボルとき、コンテキスト選択段の一例を示す。
【0039】
本原理は構文要素を表す一連の任意の2値シンボルに適用されるので、これは非限定的な例である。
【0040】
例えばHEVCでは(所謂H265でも)、全てのコンテキスト/構文要素の中で
・カラーチャネル(ルマ又はクロマ)
・TUサイズ
・変換済み係数の位置
・近隣のシンボルの値
がある。
【0041】
図2の例では、有意性マップのブロックを表す2値シンボルのブロックを示す。このブロックは特定の走査順序に従って走査される。例えば点線で示す走査順序はブロックの右下角から始まって左上角に進む。2値シンボルsをコード化すると仮定し、前述の走査順序に従って2値シンボルsについて幾つかのコンテキストC
iを定め、各コンテキストC
iはコンテキスト値ContVal
iに関連する。
【0042】
例えば、過去にコード化された2つの構文要素x1及びx2から、2値シンボルsについて4つのコンテキストCiを定める(有意性フラグ)。各コンテキストCiはx1及びx2の2進値に応じて定められ、コンテキストのそれぞれに特定のコンテキスト値ContValiが割り当てられる。
【0043】
図3に示す一例として、コンテキスト値は2値シンボルsの特定の2進値を表すビットvalMPS、所謂優勢確率シンボル(MPS)と、確率pの推論元である確率p’(又は状態)を表すビットpStatldx(例えば7ビット)とを含む。
【0044】
x1及びx2の値に従って4つのコンテキストからコンテキストCsを選択し、2値シンボルsに関連するコンテキスト値ContValsを割り当てる。
【0045】
コンテキスト更新段では、2値シンボルsがMPSと等しいかどうかに応じて、
図4に示すプロセスをたどってコンテキスト値ContValsの更新を行う。
【0046】
2つのテーブルtransldxMPS(2値シンボルsがMPSの場合)及びtransldxLPS(2値シンボルsがMPSではない、即ち劣勢確率シンボル(LPS)である場合)によって進化が得られる。これらのテーブルをエントリpStateldxについて
図5に示す。
【0047】
この例に従い、2値シンボルsがMPSである確率pMPSを0から127までの8ビットに基づいて線形量子化する。これは次式
pMPS=(p’+64)/127=(pStateldx+64)/127
によって被選択コンテキスト値から推論され、シンボルsが1である確率pはMPSの値に応じてpMPSから明白に推論される。
p=pMPS MPS=1の場合
p=1-pMPS MPS=0の場合
【0048】
コンテキスト適応型コード化は、符号化されるビデオデータに関連する様々な構文要素の統計を動的にたどることを可能にする強力なツールである。
【0049】
従って、ビデオデータ及び/又はビデオデータに関連する構文要素をエントロピコード化するためにCABACを使用することは、その統計をモデリングするためにHEVC/H265内の(数百に達する)多くのコンテキストが多大に使用されることを引き起こした。
【0050】
コンテキストを選択することは多くのことに依存し、従って構文要素(又はビデオデータ)の統計を捕捉する、従ってCABACの性能を最適化するために膨大な数のコンテキストを使用するのが通常である。しかし、1つ又は複数の一連の2値シンボルの全ての2値シンボルを符号化するためにコンテキストに関連するコンテキスト値はメモリ内に記憶すべきなので、コンテキストの数を増やすことはメモリ及び処理の複雑さの点で要件を高める。メモリ及び処理の複雑さの点で要件がこのように高まることは、構文要素を符号化するためのCABACを実装するビデオ復号器の効率的なハードウェア実装性にとって、コンテキストの数を制限することが極めて重要な理由である。
【発明の概要】
【発明が解決しようとする課題】
【0051】
従って課題の1つは、コンテキストの数を増やし過ぎずにCABACによって提供される圧縮能力向上の利益を享受することである。
【課題を解決するための手段】
【0052】
3.概要
以下、本原理の一部の態様の基本的理解を与えるために本原理の単純化した概要を示す。この概要は本原理の広範な概説ではない。この概要は本原理の重要な又は重大な要素を明らかにすることを意図するものではない。以下の概要は、以下に示すより詳細な説明への導入部として本原理の一部の態様を単純化した形で示すに過ぎない。
【0053】
本原理は、ビデオデータに関係する構文要素又はビデオデータに関連する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための方法によって従来技術の欠点の少なくとも1つを正すことを目指す。この方法は、一連の2値シンボルの2値シンボルごとに、
2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前述のコンテキスト値は2値シンボルが或る2進値に等しい第1の確率pと呼ばれる確率を表すビットを含む、コンテキスト値を得ること、
一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルに従って前述の第1の確率pを修正することによって第2の確率p’を決定すること、
前述の第2の確率p’に基づいて2値シンボルを算術符号化すること、及び
コード化された2値シンボルに従って前述のコンテキスト値の第1の確率pを更新し記憶すること
を含む。
【0054】
それらの態様の別のものによれば、本原理はビデオデータに関係する構文要素又はビデオデータに関連する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための装置であって、一連の2値シンボルの2値シンボルごとに、
2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前述のコンテキスト値は2値シンボルが或る2進値に等しい第1の確率pと呼ばれる確率を表すビットを含む、コンテキスト値を得ること、
一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルに従って前述の第1の確率pを修正することによって第2の確率p’を決定すること、
前述の第2の確率p’に基づいて2値シンボルを算術符号化すること、及び
コード化された2値シンボルに従って前述のコンテキスト値の第1の確率pを更新すること
を行うように構成されるプロセッサを含む、装置に関する。
【0055】
上記の方法又は装置の一態様によれば、コンテキスト値が2値シンボルの優勢確率2進値を表すビットを更に含み、ビットは2値シンボルが前述の優勢確率2進値に等しい第1の確率pを表す。
【0056】
上記の方法又は装置の一態様によれば、一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルに従って第1の確率pを修正することによって第2の確率p’を決定することが、
一連の2値シンボルのうちの前述の少なくとも1つの過去にコード化された2値シンボルの加重値から確率調節値を得ること、及び
前述の確率調節値を第1の確率pに加えることによって第2の確率p’を決定すること
を含む。
【0057】
上記の方法又は装置の一態様によれば、確率調節値が
【数1】
によって一連の2値シンボルのうちの前述の少なくとも1つの過去にコード化された2値シンボルの加重値から得られ、但しΔ
0は一定値であり、w
jは一連の2値シンボルのうちの過去にコード化された2値シンボルの前述の少なくとも1つに関連する加重値であり、f
jは一連の2値シンボルのうちの前述の少なくとも1つの過去にコード化された2値シンボルの値である。
【0058】
上記の方法又は装置の一態様によれば、確率調節値は、一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルの値に従ってそれぞれ定められる1組の潜在的な値から選択される。
【0059】
それらの態様の別のものによれば、本原理は、ビデオデータを表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための上記の方法の1つのステップを含む、前述のビデオデータを符号化し又は復号するための方法に関する。
【0060】
それらの態様の別のものによれば、本原理は、ビデオデータ又は構文要素を符号化し又は復号するための装置であって、
2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前述のコンテキスト値は2値シンボルが或る2進値に等しい第1の確率pと呼ばれる確率を表すビットを含む、コンテキスト値を得ること、
一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルに従って前述の第1の確率pを修正することによって第2の確率p’を決定すること、
前述の第2の確率p’に基づいて2値シンボルを算術符号化すること、及び
コード化された2値シンボルに従って前述のコンテキスト値の第1の確率pを更新すること
によって前述のビデオデータを表す一連の2値シンボルをコンテキスト適応型2値算術符号化するように構成されるプロセッサを含む、装置に関する。
【0061】
上記の方法又は装置の一態様によれば、一連の2値シンボルのうちの過去にコード化された2値シンボルに関連する加重値が、コード化される一連の2値シンボルの現在の2値シンボルからのユークリッド距離に依存する。
【0062】
それらの態様の他のものによれば、本原理はコンピュータ上で実行されるとき上記の方法のステップを実行するためのプログラムコード命令を含むコンピュータプログラム製品、及び計算装置上で実行されるとき上記の方法のステップを実行するためのプログラムコード命令を運ぶ非一時的記憶媒体に関する。
【0063】
本原理の具体的性質、並びに他の目的、利点、特徴、及び用途が、添付図面と共に解釈される以下の例の説明から明らかになる。
【0064】
4.図面の簡単な説明
本原理の例を図中に示す。
【図面の簡単な説明】
【0065】
【
図1】CABACを使用して構文要素を符号化するための包括的なブロック図を示す。
【
図2】ビデオデータのブロックに関連する有意性マップを表す一連の2値シンボルとき、コンテキスト選択段の一例を示す。
【
図4】コンテキスト値を更新するための包括的なブロック図を示す。
【
図5】コンテキスト値を更新するために通常使用される良く知られているテーブルを示す。
【
図6】本原理の一例による、一連の2値シンボルのうちの或る2値シンボルsをコンテキスト適応型2値算術符号化するための方法を示す。
【
図7】2値シンボルsが例えばビデオデータのブロックに関連する有意性マップの有意性フラグを表すときの
図6の方法の一態様の一例を示す。
【
図8】2値シンボルが所謂「1を上回る」フラグを表すときの本原理の一例による、2値シンボルsをコンテキスト適応型2値算術符号化するための方法の一例を示す。
【
図9】本原理による画素のブロックを符号化するための方法のブロック図を示す。
【
図10】本原理による画素のブロックを復号するための方法のブロック図を示す。
【
図11】本原理の一例による装置のアーキテクチャの一例を示す。
【
図12】本原理の一例による、通信ネットワーク上で通信する2つの遠隔装置を示す。
【発明を実施するための形態】
【0066】
同様の又は同じ要素は同じ参照番号で示す。
【0067】
6.本原理の例の説明
本原理を添付図面に関して以下でより完全に説明し、添付図面には本原理の例が示されている。但し、本原理は多くの代替形態によって実施することができ、本明細書に記載の例に限定されるものとして解釈すべきではない。従って、本原理は様々な修正形態及び代替形態の影響を受けやすいが、本原理の具体例を図中に例として示し、本明細書で詳細に説明する。但し、開示する特定の形態に本原理を限定する意図はなく、逆に本開示は特許請求の範囲によって定める本原理の趣旨及び範囲に含まれる全ての修正形態、等価物、及び代替形態を範囲に含むことを理解すべきである。
【0068】
本明細書で使用する用語は、特定の例を説明するためのものに過ぎず、本原理の限定であることは意図しない。本明細書で使用するとき、単数形の「a」、「an」、及び「the」は文脈上明確に他の意味に解すべき場合を除き複数形も含むことを意図する。本明細書で使用するとき、「含む(comprises)」、「含んでいる(comprising)」、「含む(includes)」、及び/又は「含んでいる(including)」という用語は、述べられた特徴、整数、ステップ、操作、要素、及び/又は成分の存在を明示するが、1つ又は複数の他の特徴、整数、ステップ、操作、要素、成分、及び/又はそれらのもののグループの存在若しくは追加を排除しないことが更に理解されよう。更に、或る要素が別の要素に「応答する」又は「接続される」と述べられる場合、その要素は他の要素に直接応答し若しくは接続されても良く、又は介在要素があっても良い。対照的に、或る要素が他の要素に「直接応答する」又は「直接接続される」と述べられる場合は介在要素が存在しない。本明細書で使用するとき、「及び/又は」という用語は列挙した関連項目の1つ又は複数の任意の及び全ての組合せを含み、「/」と略記する場合がある。
【0069】
本明細書では様々な要素を説明するために第1のや第2の等の用語を使用する場合があるが、それらの要素はそれらの用語によって限定されるべきではないことが理解されよう。これらの用語は或る要素を別の要素と区別するために使用するに過ぎない。例えば、本原理の教示から逸脱することなしに第1の要素を第2の要素と呼ぶことができ、同様に第2の要素を第1の要素と呼ぶことができる。
【0070】
図面の一部は通信の主方向を示すために通信経路上の矢印を含むが、図示の矢印と逆方向に通信が生じ得ることを理解すべきである。
【0071】
一部の例をブロック図及び操作上の流れ図に関して説明しており、それらの図面の中では各ブロックが回路要素、モジュール、又は指定の論理機能を実装するための1つ若しくは複数の実行可能命令を含むコードの一部を表す。他の実装形態では、ブロック内に示す機能が示されている順序から外れて起こり得ることにも留意すべきである。例えば、関与する機能にもよるが、連続して示す2つのブロックを実際にはほぼ同時に実行することができ、又はそれらのブロックを時として逆の順序で実行することができる。
【0072】
本明細書で「一例によれば」又は「一例では」と言及することは、その例に関連して記載する特定の特徴、構造、又は特性が本原理の少なくとも1つの実装形態に含まれ得ることを意味する。本明細書の様々な箇所で現れる慣用句一例によれば」又は「一例では」は、必ずしも全て同じ例を指すとは限らず、別個の例又は代替的な例が必ずしも他の例と相互排除的である訳でもない。
【0073】
特許請求の範囲の中で現れる参照番号は例示目的に過ぎず、特許請求の範囲に対する限定効果を有さないものとする。
【0074】
明確に説明しないが、本明細書の例及び改変形態は任意の組合せ又はサブコンビネーションで利用され得る。
【0075】
本原理は、ピクチャを符号化/復号することに関して説明するが、一連のピクチャ(ビデオ)を符号化/復号することにも及び、それはシーケンスの各ピクチャが以下で説明するように逐次的に符号化/復号されるからである。
【0076】
本原理はCABACの修正バージョンを開示し、この修正バージョンでは従来技術にあるように1組の潜在的なコンテキストの中からコンテキストを選択するのではなく、2値シンボルに関する単一のコンテキストを検討し、前述の単一のコンテキストに関連してコンテキスト値に含まれる確率pを修正することによって確率p’が得られる。次に、コンテキスト値の修正済み確率p’及び2値シンボルsの値を算術符号化に与え、確率pに基づいてコンテキストを更新する。
【0077】
このようにして、メモリ内に保つコンテキスト値の数を従来技術と比較して減らす。通常のCABACの性能を著しく失うことなしに本原理に従ってコンテキストの数を減らすことができる。
【0078】
図6は、本原理の一例による、一連の2値シンボルのうちの或る2値シンボルsをコンテキスト適応型2値算術符号化するための方法を示す。
【0079】
ステップ100で、2値シンボルsについて定められるコンテキストCからコンテキスト値ContValを得る。
【0080】
図3に関して上記で説明したように、前述のコンテキスト値ContValは、2値シンボルsの優勢確率2進値(MPS)を表すビット、及び2値シンボルが前述の優勢確率2進値に等しい確率pを表すビットを含み得る。
【0081】
一態様によれば、
図1に関して上記で説明したようにコンテキストCは1組の潜在的なコンテキストCiから選択される。
【0082】
別の態様によれば、2値シンボルsについて単一のコンテキストCが入手可能である。
【0083】
ステップ110で、過去にコード化された画像データを表す幾らかの情報データに従って確率pを修正することによって確率p’を決定する。
【0084】
一態様によれば、情報データは一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルである。
【0085】
別の態様によれば、情報データは、2値シンボルの連続したコード化に応じて進化する有限状態機械によって提供される。
【0086】
ステップ120で、確率p’に基づいて2値シンボルを算術符号化し、ステップ130でコンテキスト値ContValをコード化された2値シンボルに従って、即ち
図4に関して説明したように更新する。
【0087】
ステップ110の一態様によれば、確率pを修正することによって確率p’を決定することが、
一連の2値シンボルのうちの前述の少なくとも1つの過去にコード化された2値シンボルから確率調節値Δを得ること(ステップ111)、及び
前述の確率調節値を確率pに加えることによって確率p’を決定すること(ステップ112)であって、次式:
p’=P(s=MPS|s in C’)=p+Δ
が成立し、但しC’は前述の少なくとも1つの過去にコード化された構文要素から定められるサブコンテキストである、確率p’を決定すること(ステップ112)
を含む。
【0088】
図7は、2値シンボルsが例えば有意性マップの有意性フラグを表すときの本方法のかかる態様の一例を示す。
【0089】
この例によれば、
図2に関して定めた、コード化された2つの構文要素x1及びx2によって定められるコンテキストからコンテキスト値Contvalが得られる。
【0090】
ステップ111で、一連の2値シンボルのうちの少なくとも1つの過去にコード化された他の2値シンボル、ここではx3、x4、及びx5からサブコンテキストC’を定める。サブコンテキストC’は調節値Δを得ると考えられる。
【0091】
ステップ111の一態様によれば、確率調節値は方程式:
【数2】
によって得られ、但しΔ
0は一定値であり、w
jはサブコンテキストC’を定める過去にコード化されたK個の構文要素の1つに関連する加重値であり、f
jは前述の過去にコード化されたK個の構文要素の値である。f
jの全ての組合せにわたって取られるΔの期待値がゼロに近いように一定値Δ
0を調節しても良い。かかる調節は、一緒に検討されるサブコンテキストC’の全体的な統計的挙動がコンテキストCの統計的挙動に近いことを確実にする。
【0092】
例えば、構文要素xjに関連する加重値wjは2値シンボルsからのユークリッド距離に依存する。
【0093】
ステップ111の一態様によれば、確率調節値Δは、一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルの値に従ってそれぞれ定められる1組の潜在的な値から選択される固定の且つ所定の値である。
【0094】
例えば、x3、x4、及びx5の構文要素が全て1に等しい場合は正の確率調節値を決定することができ、これらの全ての構文要素が0に等しい場合は負値を決定することができる。
【0095】
別の例として、サブコンテキストC’に属する少なくとも1つの構文要素が1に等しい場合は正の確率調節値を選択することができ、サブコンテキストC’に属する少なくとも1つの構文要素が0に等しい場合は負の確率調節値を選択することができる。
【0096】
別の例として、構文要素x3、x4、及びx5の1又は0のパーセンテージにそれぞれ従って8個の確率調節値を決定することができる。
【0097】
ステップ111の別の態様によれば、確率調節値Δは、一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルの値に従ってそれぞれ定められる1組の潜在的な値から選択される。
【0098】
本原理は専ら解説目的で示すこれらの単純な例に限定されない。
【0099】
一態様によれば、確率調節値は例えばコード化するための2値シンボルの量子化パラメータ(QP)に応じて最適化することができる。例えば所与のQPにおいてコード化するための1組の試験動画像列を使用し、重みwjの様々な値を試験することにより、前述のwjの最適化された値が求められ、ビデオコーダ内にハードコードされる。
【0100】
図8は、変換済み係数の絶対値が厳密に1を上回るかどうかを知らせる所謂「1を上回る」フラグ、略してgreater1フラグを2値シンボルが表すときの本原理の一例による、2値シンボルsをコンテキスト適応型2値算術符号化するための方法の一例を示す。当然ながら、これは有意係数(即ち有意性フラグによって非零として知らされる)にのみ当てはまる。
【0101】
従来技術では、
図2に関して説明したように4つのコンテキストの中からコンテキスト値を選択する。それらの4つのコンテキストのどれが選択されるのかを決定するためにコンテキストインデックスが使用される。そのために、従来技術ではコンテキストが1に初期設定され次のように更新される:最後にコード化されたgreater1フラグ(構文要素)が1に等しくなる(真である)とすぐにコンテキストインデックスが0になり、さもなければコンテキストインデックスが3までインクリメントされる。次いで、被選択コンテキストに関連するコンテキスト値に含まれる確率に基づいてgreater1フラグが符号化され、上記で説明したように被選択コンテキストが更新である。
【0102】
greater1フラグは、
図6に関して説明した修正CABACを使用してコード化することができる。
【0103】
ステップ100で、
図2に関して説明したように4つのコンテキストの中からコンテキストCを選択する。次いで、このコンテキストCsに関連するコンテキスト値ContValsから確率pを得る。
【0104】
次いで、上記で説明したように少なくとも1つの過去にコード化されたgreater1フラグに従って確率調節値を決定し、前述の確率調節値に従って修正済み確率p’を取得し、修正済み確率p’に基づいて現在のgreater1フラグをコード化し、確率pに従ってコンテキスト値ContValsを更新する。
【0105】
「2を上回る」フラグにも同じ方法を適用することができる。
【0106】
図9は、本原理によるビデオデータ又は構文要素のブロックBcを符号化するための方法のブロック図を示す。
【0107】
図9には、時間予測に基づくコード化(INTERコード化)に関する方法の機能モジュールだけを示す。従来技術で良く知られている他の不図示のモジュールは、例えば空間予測ありの又はなしのINTRAコード化を実装する。
【0108】
ステップ1200で、モジュールが現在のブロックBcから予測ブロックBpredを例えば画素ごとに抽出して、残差ブロックBresを生成する。
【0109】
ステップ1202で、モジュールが残差ブロックBresを変換し量子化する。変換Tは、例えば離散コサイン変換(DCT)やウェーブレットベース等の他の任意のブロックベースの変換である。
【0110】
ステップ1206で、モジュールが逆演算、つまり逆量子化Q-1とその後に続く逆変換T-1とを実施する。
【0111】
ステップ1204で、モジュールが量子化済みデータをコード化データのビットストリームFにエントロピ符号化する。このモジュールは
図6及び
図7に関して説明した修正CABACを実装する。
【0112】
ステップ1208で、モジュールがステップ1206から出力されるブロックと予測ブロックBpredとを例えば画素ごとにマージして再構築済みビデオデータ(又は構文要素)のブロックを生成し、そのブロックはメモリ内に記憶される(ステップ1210)。
【0113】
ステップ1212で、モジュールがビデオデータのブロックBcとメモリ内に記憶された(ステップ1210)基準ピクチャIrのブロックとの間で少なくとも1つの運動ベクトルを推定し、この基準ピクチャはコード化され再構築されている。
【0114】
改変形態によれば、ビデオデータのブロックBcと元の基準ピクチャIcのビデオデータのブロックとの間で運動推定が実行されても良い。その場合、ステップ1210はステップ1212とつながらない。
【0115】
良く知られているプロセスによれば、ビデオデータのブロックBcと運動データによって識別される基準ピクチャIr(又はIc)内のビデオデータのブロックとの間で計算される誤りを最小化するために、運動推定は例えば運動ベクトル等の運動データをその基準ピクチャ内で探す。
【0116】
その後、運動データを判断モジュールに伝送する。
【0117】
ステップ12014で、判断モジュールが1組の決定済みのコード化モードからビデオデータのブロックBc用のコード化モードを選択する。選択されるコード化モードは、例えばレート・歪みに基づく基準等の基準を最小化するコード化モードである。但し、本原理はコード化モードを選択するための如何なるプロセスにも限定されず、コード化モードは他の任意の基準を使用して選択され得る。
【0118】
選択されるコード化モード及び運動データは、信号F内にエントロピ符号化される(ステップ1204)構文要素である。
【0119】
ステップ1216で、モジュールが判断モジュールから出力される被選択コード化モードから(ステップ1214)、及びことによるとメモリから出力される運動データから(ステップ1210又は1212)予測ブロックBpredを決定する。
【0120】
図10は、ビデオデータのブロックを表すコード化済みビデオデータのビットストリームFを復号するための方法の一態様を示す。
【0121】
例えば(構文要素を含む)コード化済みビデオデータのビットストリームFは、
図9に関して説明した方法から得られており、通信経路によって伝送されている。
【0122】
ステップ1300で、モジュールが、復号するためのコード化済みビデオデータに関連する残差データ、及び残差データ、例えばかかるコード化モード、運動データ、又は有意マップに関する復号済みビデオデータを再構築するのに必要な構文要素をビットストリームFからエントロピ復号するために通常のCABACを実施する。
【0123】
不図示の改変形態によれば、運動データを復号することが運動推定を含む。運動データを復号するためのこの解決策は、従来技術における所謂テンプレートプロセスであり得る。
【0124】
復号するための画素のブロックに関連する復号済みビデオデータを、逆量子化とその後に続く逆変換とを適用する(ステップ1302)モジュールに伝送する。ステップ1302のモジュールはステップ1206のモジュールと同一である。
【0125】
ステップ1302はステップ1304とつながっており、ステップ1304は、ステップ1302から出力される残差ブロックと予測ブロックとを例えば画素ごとにマージしてビデオデータの復号済みのブロックBc(更に前述の再構築済みブロック)を生成し、そのブロックはメモリ内に記憶される(ステップ1306)。
【0126】
ステップ1308で、モジュールが、復号するためのビデオデータのブロックに関するビットストリームFから抽出されるコード化モードから、及びことによると運動データを再構築するモジュールから出力される決定済みの運動データから予測ブロックBpredを決定する。
【0127】
図10に関して説明した復号器は、
図9に関して説明した符号器によって符号化されているビデオデータを復号するように構成される。
【0128】
符号器(及び復号器)は特定の符号器(復号器)に限定されない。
【0129】
符号器(及び復号器)は、例えばJPEG、JPEG2000、MPEG2、HEVC、H264/AVC規格等の損失を伴う画像/ビデオコーダとすることができる特定の符号器に限定されない。
【0130】
図1~
図10では、モジュールは区別可能な物理ユニットに関連してもしなくても良い機能ユニットである。例えばこれらのモジュール又はこれらのモジュールの一部は、固有のコンポーネント若しくは回路内にまとめることができ、又はソフトウェアの機能に寄与し得る。逆に、一部のモジュールはことによると別々の物理エンティティで構成され得る。本原理に適合する機器は純粋なハードウェアを使用して、例えばASIC、FPGA、VLSI(それぞれ「特定用途向け集積回路」、「書替え可能ゲートアレイ」、「超大規模集積回路」)等の専用ハードウェアを使用して実装され、装置に埋め込まれる幾つかの集積電子部品から実装され、又はハードウェアコンポーネントとソフトウェアコンポーネントとの混合から実装される。
【0131】
図11は、
図1~
図10に関して説明した方法を実装するように構成され得る装置1100の例示的アーキテクチャを表す。
【0132】
装置1100は、データ及びアドレスバス1101によってつながれる以下の要素、つまり
-例えばDSP(即ちデジタル信号プロセッサ)であるマイクロプロセッサ1102(又はCPU)、
-ROM(即ち読取専用メモリ)1103、
-RAM(即ちランダムアクセスメモリ)1104、
-アプリケーションから伝送するためのデータを受信するためのI/Oインタフェース1105、及び
-電池1106
を含む。
【0133】
一例によれば、電池1106が装置の外にある。言及したメモリのそれぞれにおいて、本明細書で使用する「レジスタ」という用語は小容量(数ビット)の領域又は非常に大きい領域(例えば全プログラムや大量の受信データ又は復号データ)に対応し得る。ROM1103は、少なくともプログラム及びパラメータを含む。ROM1103は、本原理による技法を実行するためのアルゴリズム及び命令を記憶し得る。オンにされるとき、CPU1102がプログラムをRAM内にアップロードし、対応する命令を実行する。
【0134】
RAM1104は、CPU1102によって実行され、装置1100がオンにされた後でアップロードされるプログラム、レジスタ内の入力データ、レジスタ内の本方法の様々な状態の中間データ、及びレジスタ内の本方法の実行に使用される他の変数をレジスタ内に含む。
【0135】
本明細書に記載した実装形態は、例えば方法若しくはプロセス、機器、ソフトウェアプログラム、データストリーム、又は信号によって実装され得る。単一形式の実装形態の脈絡でしか論じられていなくても(例えば方法又は装置としてしか論じられていなくても)、論じられた特徴の実装形態は他の形式(例えばプログラム)でも実装することができる。機器は、例えば適切なハードウェア、ソフトウェア、及びファームウェアによって実装することができる。方法は例えばプロセッサ等の機器によって実装することができ、プロセッサは例えばコンピュータ、マイクロプロセッサ、集積回路、プログラム可能論理デバイスを含む処理装置全般を指す。プロセッサは、例えばコンピュータ、携帯電話、ポータブル/携帯情報端末(「PDA」)、エンドユーザ間の情報の通信を助ける他の装置等の通信装置も含む。
【0136】
符号化又は符号器の一例によれば、ビデオデータ若しくは構文要素又は一連の2値シンボルのブロックBcは情報源から得られる。例えば情報源は、
-ローカルメモリ(1103又は1104)、例えばビデオメモリやRAM(即ちランダムアクセスメモリ)、フラッシュメモリ、ROM(即ち読取専用メモリ)、ハードディスク、
-記憶域インタフェース(1105)、例えば大容量記憶域、RAM、フラッシュメモリ、ROM、光ディスク、又は磁気支持とのインタフェース、
-通信インタフェース(1105)、例えば有線インタフェース(例えばバスインタフェース、広域ネットワークインタフェース、ローカルエリアネットワークインタフェース)や無線インタフェース(IEEE 802.11インタフェースやBluetooth(登録商標)インタフェース等)、及び
-ピクチャ捕捉回路(例えばCCD(即ち電荷結合素子)やCMOS(即ち相補型金属酸化膜半導体)等のセンサ)
を含む組に属する。
【0137】
復号又は復号器の一例によれば復号済みデータが宛先に送信され、とりわけその宛先は、
-ローカルメモリ(1103又は1104)、例えばビデオメモリやRAM、フラッシュメモリ、ハードディスク、
-記憶域インタフェース(1105)、例えば大容量記憶域、RAM、フラッシュメモリ、ROM、光ディスク、又は磁気支持とのインタフェース、
-通信インタフェース(1105)、例えば有線インタフェース(例えばバスインタフェース(例えばUSB(即ちユニバーサルシリアルバス))、広域ネットワークインタフェース、ローカルエリアネットワークインタフェース、HDMI(高精細度マルチメディアインタフェース)インタフェース)や無線インタフェース(IEEE 802.11インタフェース、WiFi(登録商標)インタフェース、Bluetooth(登録商標)インタフェース等)、及び
-ディスプレイ
を含む組に属する。
【0138】
符号化又は符号器の例によれば、ビットストリームFが宛先に送信される。一例として、ビットストリームFはローカルメモリ又は遠隔メモリ、例えばビデオメモリ(1104)、RAM(1104)、ハードディスク(1103)内に記憶される。改変形態では、ビットストリームが記憶域インタフェース(1105)、例えば大容量記憶域、フラッシュメモリ、ROM、光ディスク、磁気支持とのインタフェースに送信され、且つ/又は通信インタフェース(1105)、例えば二地点間リンク、通信バス、一地点対多地点間リンク、ブロードキャストネットワークへのインタフェース上で伝送される。
【0139】
復号又は復号器の例によれば、ビットストリームFが情報源から得られる。例示的には、ビットストリームがローカルメモリ、例えばビデオメモリ(1104)、RAM(1004)、ROM(1103)、フラッシュメモリ(1103)、ハードディスク(1103)から読み出される。改変形態では、ビットストリームが記憶域インタフェース(1105)、例えば大容量記憶域、RAM、ROM、フラッシュメモリ、光ディスク、磁気支持とのインタフェースから受信され、且つ/又は通信インタフェース(1105)、例えば二地点間リンク、バス、一地点対多地点間リンク、ブロードキャストネットワークへのインタフェースから受信される。
【0140】
例によれば、
図1~
図9に関して説明した符号化方法を実装するように構成される装置1100は、
-モバイル装置、
-通信装置、
-ゲーム機、
-タブレット(又はタブレットコンピュータ)、
-ラップトップ、
-静止ピクチャカメラ、
-ビデオカメラ、
-符号化チップ、
-静止ピクチャサーバ、及び
-ビデオサーバ(例えばブロードキャストサーバ、ビデオオンデマンドサーバ、又はウェブサーバ)
を含む組に属する。
【0141】
例によれば、
図10に関して説明した復号方法を実装するように構成される装置1100は、
-モバイル装置、
-通信装置、
-ゲーム機、
-セットトップボックス、
-TVセット、
-タブレット(又はタブレットコンピュータ)、
-ラップトップ、
-ディスプレイ、及び
-復号チップ
を含む組に属する。
【0142】
図12に示す本原理の一例によれば、通信ネットワークNET上での2つの遠隔装置AとBとの間の伝送の脈絡では、装置Aが
図9に関して説明したピクチャを符号化するための方法を実装するように構成されるメモリRAM及びROMに関連するプロセッサを含み、装置Bが
図10に関して説明した復号のための方法を実装するように構成されるメモリRAM及びROMに関連するプロセッサを含む。
【0143】
本明細書に記載した様々なプロセス及び特徴の実装形態は、多岐にわたる異なる機器又はアプリケーションによって具体化され得る。かかる機器の例は、符号器、復号器、復号器からの出力を処理する後処理系、符号器に入力を与える前処理系、ビデオコーダ、ビデオ復号器、ビデオコーデック、ウェブサーバ、セットトップボックス、ラップトップ、パーソナルコンピュータ、携帯電話、PDA、及びピクチャ若しくはビデオを処理するための他の任意の装置、又は他の通信装置を含む。明白であるように、機器は可搬式とすることができ、移動車両内に設置することさえできる。
【0144】
加えて、これらの方法はプロセッサによって実行される命令によって実装されても良く、かかる命令(及び/又は実装形態によって作り出されるデータ値)はコンピュータ可読記憶媒体上に記憶され得る。コンピュータ可読記憶媒体は、1つ又は複数のコンピュータ可読媒体によって具体化され、且つコンピュータによって実行可能なコンピュータ可読プログラムコードをその上に具体化するコンピュータ可読プログラム製品の形を取り得る。本明細書で使用するとき、コンピュータ可読記憶媒体は、情報を内部に記憶する固有の能力並びに情報をそこから取り出せるようにする固有の能力を与えられた非一時的記憶媒体と見なす。コンピュータ可読記憶媒体は、例えばこれだけに限定されないが、電子、磁気、光学、電磁、赤外、若しくは半導体のシステム、機器、装置、又は上記のものの任意の適切な組合せとすることができる。当業者なら容易に理解されるように、次のもの、つまり携帯型コンピュータディスケット、ハードディスク、読取専用メモリ(ROM)、消去プログラム可能読取専用メモリ(EPROM又はフラッシュメモリ)、携帯型コンパクトディスク読取専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、又は上記のものの任意の適切な組合せは、本原理を適用できるコンピュータ可読記憶媒体のより具体的な例を示すが、例示に過ぎず網羅的な列挙ではないことを理解すべきである。
【0145】
命令は、プロセッサ可読媒体上で有形に具体化されるアプリケーションプログラムを形成し得る。
【0146】
命令は、例えばハードウェア、ファームウェア、ソフトウェア、又は組合せの中にあり得る。命令は、例えばオペレーティングシステム、別個のアプリケーション、又はその2つの組合せの中で見つけることができる。従ってプロセッサは、例えばプロセスを実行するように構成される装置及びプロセスを実行するための命令を有するプロセッサ可読媒体(記憶装置等)を含む装置の両方として特徴付けることができる。更にプロセッサ可読媒体は、実装形態によって作り出されるデータ値を命令に加えて又は命令の代わりに記憶し得る。
【0147】
当業者に明らかなように、実装形態は例えば記憶され又は伝送され得る情報を運ぶようにフォーマットされる多岐にわたる信号を作り出し得る。かかる情報は、例えば方法を実行するための命令や、記載した実装形態の1つによって作り出されるデータを含み得る。例えば信号は、本原理の記載した例の構文を読み書きするための規則をデータとして運ぶように、又は本原理の記載した例によって書かれる実際の構文値をデータとして運ぶようにフォーマットされ得る。かかる信号は、例えば電磁波として(例えばスペクトルの無線周波数部分を用いて)、又はベースバンド信号としてフォーマットされ得る。フォーマットすることは、例えばデータストリームを符号化し、符号化データストリームで搬送波を変調することを含み得る。信号が運ぶ情報は、例えばアナログ情報又はデジタル情報とすることができる。信号は、知られているように様々な異なる有線リンク又は無線リンク上で伝送され得る。信号はプロセッサ可読媒体上に記憶され得る。
【0148】
幾つかの実装形態を記載してきた。それでもなお、様々な修正を加えることができることが理解されよう。例えば、他の実装形態を作り出すために別の実装形態の要素を組み合わせ、補い、修正し、又は除去することができる。加えて、開示した構造及びプロセスを他の構造及びプロセスが置換しても良く、その結果生じる実装形態が開示した実装形態と少なくともほぼ同じ結果を実現するために、少なくともほぼ同じ機能を少なくともほぼ同じやり方で実行することを当業者なら理解されよう。従って、これらの及び他の実装形態も本願によって予期される。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
[付記1]
ビデオデータに関係する構文要素又はビデオデータに関連する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための方法であって、前記一連の2値シンボルの2値シンボルごとに、
前記2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ること(100)であって、前記コンテキスト値は前記2値シンボルが或る2進値に等しい第1の確率pと呼ばれる確率を表すビットを含む、コンテキスト値を得ること(100)、
前記一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルに従って前記第1の確率pを修正することによって第2の確率p’を決定すること(110)、
前記第2の確率p’に基づいて前記2値シンボルを算術符号化すること(120)、及び
前記コード化された2値シンボルに従って前記コンテキスト値の前記第1の確率pを更新し記憶すること(130)
を含む、方法。
[付記2]
ビデオデータに関係する構文要素又はビデオデータに関連する構文要素を表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための装置であって、前記一連の2値シンボルの2値シンボルごとに、
前記2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前記コンテキスト値は前記2値シンボルが或る2進値に等しい第1の確率pと呼ばれる確率を表すビットを含む、コンテキスト値を得ること、
前記一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルに従って前記第1の確率pを修正することによって第2の確率p’を決定すること、
前記第2の確率p’に基づいて前記2値シンボルを算術符号化すること、及び
前記コード化された2値シンボルに従って前記コンテキスト値の前記第1の確率pを更新すること
を行うように構成されるプロセッサを含む、装置。
[付記3]
前記コンテキスト値が前記2値シンボルの優勢確率2進値(MPS)を表すビットを更に含み、前記ビットは前記2値シンボルが前記優勢確率2進値に等しい前記第1の確率pを表す、付記1に記載の方法又は付記2に記載の装置。
[付記4]
前記一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルに従って前記第1の確率pを修正することによって前記第2の確率p’を決定すること(110)が、
前記一連の2値シンボルのうちの前記少なくとも1つの過去にコード化された2値シンボルの加重値から確率調節値を得ること(111)、及び
前記確率調節値を前記第1の確率pに加えることによって前記第2の確率p’を決定すること(112)
を含む、付記1又は2に記載の方法又は付記2又は3に記載の装置。
[付記5]
前記確率調節値が
【数1】
によって前記一連の2値シンボルのうちの前記少なくとも1つの過去にコード化された2値シンボルの加重値から得られ、但しΔ
0
は一定値であり、w
j
は前記一連の2値シンボルのうちの過去にコード化された2値シンボルの前記少なくとも1つに関連する加重値であり、f
j
は前記一連の2値シンボルのうちの前記少なくとも1つの過去にコード化された2値シンボルの値である、付記4に記載の方法又は装置。
[付記6]
前記確率調節値が、前記一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルの値に従ってそれぞれ定められる1組の潜在的な値から選択される、付記3に記載の方法又は装置。
[付記7]
付記1又は付記3~6の何れか一に準拠する、ビデオデータを表す一連の2値シンボルをコンテキスト適応型2値算術符号化するための方法のステップを含む、前記ビデオデータを符号化し又は復号するための方法。
[付記8]
ビデオデータ又は構文要素を符号化し又は復号するための装置であって、
2値シンボルについて定められるコンテキストモデルからコンテキスト値を得ることであって、前記コンテキスト値は前記2値シンボルが或る2進値に等しい第1の確率pと呼ばれる確率を表すビットを含む、コンテキスト値を得ること、
一連の2値シンボルのうちの少なくとも1つの過去にコード化された2値シンボルに従って前記第1の確率pを修正することによって第2の確率p’を決定すること、
前記第2の確率p’に基づいて前記2値シンボルを算術符号化すること、及び
前記コード化された2値シンボルに従って前記コンテキスト値の前記第1の確率pを更新すること
によって前記ビデオデータを表す前記一連の2値シンボルをコンテキスト適応型2値算術符号化するように構成されるプロセッサを含む、装置。
[付記9]
プログラムがコンピュータ上で実行されるとき、付記1又は付記3~6又は付記9の何れか一に記載の符号化方法のステップを実行するためのプログラムコード命令を含む、コンピュータプログラム製品。
[付記10]
プログラムが計算装置上で実行されるとき、付記1又は付記3~6の何れか一に記載の方法のステップを実行するためのプログラムコード命令を運ぶ、非一時的記憶媒体。
[付記11]
前記一連の2値シンボルのうちの過去にコード化された2値シンボルに関連する前記加重値が、コード化される前記一連の2値シンボルの現在の2値シンボルからのユークリッド距離に依存する、付記1又は付記3~6の何れか一に記載の方法又は付記2~6の何れか一に記載の装置。