【文献】
JCT−VC:“TEST MODEL UNDER CONSIDERATION (TMuC)”、Joint Collaborative Team on Video Coding(JCT−VC) of ITU−T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 1st Meeting:Dresden,DE,15−23 April,2010
(58)【調査した分野】(Int.Cl.,DB名)
前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記ビデオフレームが一般化P/B(GPB)フレームであると決定することをさらに備える、請求項1又は2に記載の方法。
前記ビデオフレームがGPBフレームであると決定することが、ビデオスライスレベル、ビデオフレームレベル又はビデオシーケンスレベルのうちの1つにおいて前記ビデオフレームがGPBフレームであることを示すフラグを信号伝達することを備える、請求項3に記載の方法。
前記ビデオフレームがGPBフレームであると決定することが、前記ビデオフレームが、GPBスライス、GPBフラグをもつPスライス、又はGPBフラグをもつBスライスのうちの1つであると決定することを備える、請求項3に記載の方法。
ビデオフレームレベル又はビデオシーケンスレベルのうちの1つにおいて前記GPBフレームが使用可能であることを示すためのフラグを信号伝達することをさらに備える、請求項3に記載の方法。
前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記プロセッサは、前記ビデオフレームが一般化P/B(GPB)フレームであると決定する、請求項8又は9に記載の装置。
前記プロセッサは、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとを比較し、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記ビデオフレームがGPBフレームであると決定する、請求項10に記載の装置。
前記プロセッサは、ビデオスライスレベル、ビデオフレームレベル又はビデオシーケンスレベルのうちの1つにおいて前記ビデオフレームがGPBフレームであることを示すフラグを信号伝達する、請求項10に記載の装置。
前記プロセッサは、ビデオフレームレベル又はビデオシーケンスレベルのうちの1つにおいて前記GPBフレームが使用可能であることを示すためのフラグを信号伝達する、請求項10に記載の装置。
前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記ビデオフレームが一般化P/B(GPB)フレームであると決定するための手段をさらに備える、請求項15又は16に記載の装置。
前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記ビデオフレームが一般化P/B(GPB)フレームであると前記プロセッサに決定させる命令をさらに備える、請求項18又は19に記載のコンピュータ可読記憶媒体。
【発明を実施するための形態】
【0012】
本開示は、ビデオ符号化において予測情報を符号化するコストを低減するための技術に関する。インター符号化フレームのビデオブロックは、第1の参照ピクチャリストと第2の参照ピクチャリストとのうちの1つの中の参照ピクチャに関する単一の動きベクトルを用いる単方向予測モード、又は第1の参照ピクチャリスト中の参照ピクチャに関する第1の動きベクトルと第2の参照ピクチャリスト中の参照ピクチャに関する第2の動きベクトルとを用いる双方向予測モードのいずれかを使用して符号化され得る。幾つかの例では、本開示は、詳細には、一般化P/B(GPB)フレームが使用可能であり、従って、第1の参照ピクチャリストと第2の参照ピクチャリストとが同等である場合に関する。一般に、参照ピクチャリストは、代替的に参照フレームリストと呼ばれることがある。
【0013】
本開示の技術は、ビデオブロックの動き予測方向を示す1つ以上のシンタックス要素を信号伝達するためのビットを低減することを含む。参照ピクチャリストのうちの1つが、他の参照ピクチャリストよりも好適であるとき、デフォルトで、単方向予測モードのために好適参照ピクチャリストを使用することがより効率的であり得る。これは、特に、GPBフレームが使用可能であるときに当てはまる。その場合、2つの同等の参照ピクチャリストのいずれも単方向予測モードのために使用され得る。本開示の技術は、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つ以上のシンタックス要素を2ビット未満を使用して符号化することを含む。
【0014】
本開示の技術はまた、双方向予測モードを使用して符号化されるビデオブロックについての動きベクトル情報を信号伝達するためのビットを低減することを含む。GPBフレームの1つ又は複数のブロックは、同じ参照ピクチャ又は実質的に同様の参照ピクチャのいずれかからの2つの動きベクトルを用いる双方向予測モードを使用して符号化され得る。本開示の技術は、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとをジョイント符号化することを含み得る。
【0015】
図1は、ビデオフレームのビデオブロックについての予測情報を効率的に符号化するための技術を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。
図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先機器14に送信する発信源機器12を含む。発信源機器12及び宛先機器14は、広範囲の機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、通信チャネル16を介してビデオ情報を通信することができるワイヤレス通信機器を備え得、その場合、通信チャネル16はワイヤレスである。
【0016】
但し、ビデオブロックについての予測情報を効率的に符号化することに関係する本開示の技術は、必ずしもワイヤレスアプリケーション又は設定に限定されるとは限らない。例えば、これらの技術は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、又は他のシナリオに適用し得る。従って、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレス又は有線媒体の任意の組合せを備え得、機器12、14は、携帯電話、スマートフォン、デジタルメディアプレーヤ、セットトップボックス、テレビジョン、表示器、デスクトップコンピュータ、ポータブルコンピュータ、タブレットコンピュータ、ゲームコンソール、ポータブルゲーム機器などの様々な有線又はワイヤレス媒体機器のいずれかを備え得る。
【0017】
図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、変調器/復調器(モデム)22と、送信機24とを含む。宛先機器14は、受信機26と、モデム28と、ビデオデコーダ30と、表示装置32とを含む。他の例では、発信源機器及び宛先機器は他の構成要素又は構成を含み得る。例えば、発信源機器12は、外部カメラ、ビデオストレージアーカイブ、コンピュータグラフィックス発信源などの外部ビデオ発信源18からビデオデータを受信し得る。同様に、宛先機器14は、一体型表示装置を含むのではなく、外部表示装置とインターフェースし得る。
【0018】
図1の図示のシステム10は一例にすぎない。ビデオブロックについての予測情報の効率的な符号化のための技術は、任意のデジタルビデオ符号化及び/又は復号機器によって実行され得る。本技術はまた、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。さらに、本開示の技術はまた、ビデオプリプロセッサによって実行され得る。発信源機器12及び宛先機器14は、発信源機器12が宛先機器14に送信するための符号化ビデオデータを生成するような、符号化装置の例にすぎない。幾つかの例では、機器12、14の各々がビデオ符号化構成要素及び復号構成要素を含むので、機器12、14は、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオ電話通信のためのビデオ機器12とビデオ機器14との間の一方向又は双方向のビデオ送信をサポートし得る。
【0019】
発信源機器12のビデオ発信源18は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオ発信源18は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラ付き携帯電話又はテレビ電話を形成し得る。但し、上述のように、本開示で説明する技術は、一般にビデオ符号化に適用可能であり、ワイヤレス及び/又は有線アプリケーションに適用可能であり得る。各場合において、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはビデオエンコーダ20によって符号化され得る。次いで、符号化ビデオ情報は、通信規格に従ってモデム22によって変調され、送信機24を介して宛先機器14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機24は、増幅器、フィルタ、及び1つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。
【0020】
本開示によれば、発信源機器12のビデオエンコーダ20は、ビデオブロックについての予測情報を符号化するコストを低減するための技術を適用するように構成され得る。例えば、単方向予測モードの場合、ビデオエンコーダ20は、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つ以上のシンタックス要素を2ビット未満を使用して符号化し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、又はGPBフレームが使用可能であるとき、2つの同等の参照ピクチャリストのいずれかであり得る。参照ピクチャリストは、代替的に参照フレームリストと呼ばれることがある。別の例として、双方向予測モードの場合、ビデオエンコーダ20は、2つの同等の参照ピクチャリストからの2つの動きベクトルを用いてGPBフレームの1つ以上のビデオブロックを符号化し、ビデオブロックの各々について2つの動きベクトルをジョイント符号化し得る。その2つの動きベクトルは、同じ参照ピクチャ又は実質的に同様の参照ピクチャからのものであり得る。
【0021】
宛先機器14の受信機26はチャネル16を介して情報を受信し、モデム28は情報を復調する。チャネル16を介して通信される情報は、予測ユニット(PU:prediction unit)、符号化ユニット(CU:coding unit)又は符号化されたビデオの他のユニット、例えば、ビデオスライス、ビデオフレーム、及びビデオシーケンス又はピクチャグループ(GOP:group of pictures)の特性及び/又は処理を記述するシンタックス要素を含む、ビデオデコーダ30によっても使用される、ビデオエンコーダ20によって定義されるシンタックス情報を含み得る。表示装置32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示器など、様々な表示装置のいずれかを備え得る。
【0022】
本開示によれば、宛先機器14のビデオデコーダ30は、ビデオブロックについての予測情報を符号化するコストを低減するための技術を適用するように構成され得る。例えば、単方向予測モードの場合、ビデオデコーダ30は、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つ以上のシンタックス要素を2ビット未満を使用して復号し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、又はGPBフレームが使用可能であるとき、2つの同等の参照ピクチャリストのいずれかであり得る。別の例として、双方向予測モードの場合、ビデオデコーダ30は、GPBフレームの1つ以上のビデオブロックの各々について2つの動きベクトルを共に復号し、2つの同等の参照ピクチャリストからの2つの動きベクトルを用いてビデオブロックの各々を復号し得る。その2つの動きベクトルは、同じ参照ピクチャ又は実質的に同様の参照ピクチャからのものであり得る。
【0023】
図1の例では、通信チャネル16は、無線周波数(RF)スペクトル又は1つ以上の物理伝送線路など、任意のワイヤレス又は有線通信媒体、若しくはワイヤレス及び有線媒体の任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、一般に、有線又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源機器12から宛先機器14に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル16は、発信源機器12から宛先機器14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【0024】
ビデオエンコーダ20及びビデオデコーダ30は、高効率ビデオ符号化(HEVC)規格又は代替的にMPEG−4、Part10、アドバンストビデオ符号化(AVC)とも呼ばれるITU−T H.264規格など、ビデオ圧縮規格に従って動作し得る。但し、本開示の技術は特定の符号化規格に限定されない。他の例にはMPEG−2及びITU−T H.263がある。
図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
【0025】
HEVCの規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオ符号化装置のモデルに基づく。HMは、例えば、ITU−T H.264/AVCに従う既存の装置に対してビデオ符号化装置の幾つかの追加の能力を仮定する。例えば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供する。
【0026】
HMは、ビデオデータのブロックを符号化ユニット(CU:coding unit)と称する。ビットストリーム内のシンタックスデータは、画素の数に関する最大符号化ユニット(LCU:largest coding unit)である最大符号化ユニットを定義し得る。概して、CUは、CUがサイズ差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。従って、CUは、サブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大符号化ユニット又はLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUは、さらに、サブCUに分割され得る。ビットストリームについてのシンタックスデータは、CU深さ(CU depth)と呼ばれる、LCUが分割され得る最大回数を定義し得る。従って、ビットストリームは最小符号化ユニット(SCU:smallest coding unit)をも定義し得る。
【0027】
さらに分割されないCUは、1つ以上の予測ユニット(PU)を含み得る。一般に、PUは、対応するCUの全部又は一部分を表し、そのPUについての基準サンプルを検索するためのデータを含む。例えば、PUがイントラモード符号化されるとき、PUは、そのPUのためのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、そのPUのための動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4画素精度又は1/8画素精度)、動きベクトルが指す参照ピクチャ、及び/又は動きベクトルの参照ピクチャリスト(例えば、リスト0又はリスト1)について説明し得る。また、(1つ又は複数の)PUを定義するCUについてのデータは、例えば、1つ以上のPUへのCUの区分について記述し得る。区分モードは、CUが、スキップモード符号化又はダイレクトモード符号化されるか、インター予測モード符号化されるか、又はインター予測モード符号化されるかによって異なり得る。
【0028】
1つ以上のPUを有するCUはまた、1つ以上の変換ユニット(TU:transform unit)を含み得る。PUを使用した予測に続いて、ビデオエンコーダは、PUに対応するCUの一部分についての残差値を計算し得る。残差値は、エントロピー符号化のための連続変換係数(serialized transform coefficients)を生成するために、変換係数に変換され、量子化され、走査され得る画素差分値に対応する。TUは、必ずしもPUのサイズに制限されるとは限らない。従って、TUは、同じCUについての対応するPUよりも大きくても小さくてもよい。幾つかの例では、TUの最大サイズは、対応するCUのサイズであり得る。本開示は、CU、PU、又はTUのいずれかを指すために「ビデオブロック」という用語を使用する。
【0029】
ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのカメラ、コンピュータ、モバイル機器、加入者機器、ブロードキャスト機器、セットトップボックス、サーバなどに統合され得る。
【0030】
ビデオシーケンスは、一般に、一連のビデオフレームを含む。ピクチャグループ(GOP)は、一般に、一連の1つ以上のビデオフレームを備える。GOPは、GOP中に含まれる幾つかのフレームを記述するシンタックスデータを、GOPのヘッダ、GOPの1つ以上のフレームのヘッダ、又は他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、符号化ユニット(CU)又はCUの区分ユニット(PU:partition unit)に対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定の符号化規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは、1つ以上のPUを含み得る、複数のCUを含み得る。
【0031】
一例として、HEVCテストモデル(HM)は、様々なCUサイズでの予測をサポートする。LCUのサイズは、シンタックス情報によって定義され得る。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2N又はN×Nのサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、又はN×Nの対称サイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、及びnR×2Nのインター予測のための非対称分割をサポートする。非対称分割では、CUの一方向は分割されないが、他の方向が25%と75%とに分割される。25%の分割に対応するCUの一部分は、「n」の後ろに付く「Up」、「Down」、「Left」、又は「Right」という指示によって示される。従って、例えば「2N×nU」は、上部に2N×0.5N PUと下部に2N×1.5N PUとで水平方向に分割される2N×2N CUを指す。
【0032】
本開示では、「N×(x)N」と「N×(by)N」とは、垂直寸法及び水平寸法に関するビデオブロック(例えば、CU、PU、又はTU)の画素寸法、例えば、16×(x)16画素又は16×(by)16画素を指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16画素を有し(y=16)、水平方向に16画素を有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にN画素を有し、水平方向にN画素を有し、Nは、非負整数値を表す。ブロック中の画素は行と列に構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数の画素を有する必要はない。例えば、ブロックは、N×M画素を備え得、Mは必ずしもNに等しいとは限らない。
【0033】
イントラ予測符号化又はインター予測符号化を行ってCUのためのPUを生成した後、ビデオエンコーダ20は、残差データを計算して、CUのための1つ以上の変換ユニット(TU)を生成し得る。例えば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に同様の変換などの変換の適用後、CUのPUは、(画素領域とも呼ばれる)空間領域において画素データを備え得、一方、CUのTUは、変換領域において係数を備え得る。残差データは、非符号化ピクチャ(unencoded picture)の画素とCUのPUの予測値との間の画素差分に対応し得る。ビデオエンコーダ20は、CUについての残差データを含む1つ以上のTUを形成し得る。ビデオエンコーダ20は、次いで、TUを変換し得る。
【0034】
変換係数を生成するための変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、nはmよりも大きい。
【0035】
幾つかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は、適応型走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後、ビデオエンコーダ20は、例えば、コンテキスト適応型可変長符号化(CAVLC:context adaptive variable length coding)、コンテキスト適応型バイナリ算術符号化(CABAC:context adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型2値算術符号化(SBAC:syntax-based context-adaptive binary arithmetic coding)、又は別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。
【0036】
CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルを符号化するためにあるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、例えば、隣接シンボルが非ゼロであるか否かに関係し得る。ビデオエンコーダ20は、次いで、コンテキストに基づいてシンボルに割り当てられた確率を参照することによって、シンボルを表すための値を割り当て得る。場合によっては、値は、小数ビット、即ち、1ビット未満であり得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構築され得る。このようにして、VLCの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルのコンテキストに基づき得る。
【0037】
ビデオエンコーダ20はまた、ビデオブロックを符号化するときに生成される動き予測方向と動きベクトル情報とについてのシンタックス要素をエントロピー符号化し得る。本開示の技術によれば、ビデオエンコーダ20は、ビデオブロックについての予測情報を符号化するコストを低減し得る。例えば、単方向予測モードの場合、ビデオエンコーダ20は、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つ以上のシンタックス要素を2ビット未満を使用して符号化し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、又はGPBフレームが使用可能であるとき、2つの同等の参照ピクチャリストのいずれかであり得る。別の例として、双方向予測モードの場合、ビデオエンコーダ20は、2つの同等の参照ピクチャリストからの2つの動きベクトルを用いてGPBフレームの1つ以上のビデオブロックを符号化し、ビデオブロックの各々について2つの動きベクトルを一緒に符号化し得る。その2つの動きベクトルは、同じ参照ピクチャ又は実質的に同様の参照ピクチャからのものであり得る。
【0038】
ビデオデコーダ30は、ビデオエンコーダ20の動作と本質的に対称的な形で動作し得る。例えば、ビデオデコーダ30は、符号化されたPUデータとTUデータとを含む符号化されたCUを表す、エントロピー符号化されたデータを受信し得る。この受信データは、ビデオブロックを符号化するときに生成される動き予測方向と動きベクトル情報とについてのシンタックス要素を含み得る。ビデオデコーダ30はまた、ビデオブロックについての予測情報を符号化するコストを低減し得る。例えば、単方向予測モードの場合、ビデオデコーダ30は、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つ又は複数のシンタックス要素を2ビット未満を使用して復号し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、又はGPBフレームが使用可能であるとき、2つの同等の参照ピクチャリストのいずれかであり得る。別の例として、双方向予測モードの場合、ビデオデコーダ30は、GPBフレームの1つ以上のビデオブロックの各々について2つの動きベクトルを一緒に復号し、2つの同等の参照ピクチャリストから計算される2つの動きベクトルを用いてビデオブロックの各々を復号し得る。その2つの動きベクトルは、同じ参照ピクチャ又は同様の参照ピクチャから計算され得る。
【0039】
ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、適用可能なとき、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ又はデコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20及び/又はビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、及び/又はセルラー電話などのワイヤレス通信機器を備え得る。
【0040】
図2は、一般化P/B(GPB)フレーム36A〜36B及び38A〜38Bを含む例示的なビデオシーケンス33を示す概念図である。場合によっては、ビデオシーケンス33はピクチャグループ(GOP)と呼ばれることがある。ビデオシーケンス33は、図示のように、表示順でフレーム35A、36A、38A、35B、36B、38B、及び35C、並びに最終フレーム39を含む。フレーム34は、シーケンス33の前に発生するシーケンスの表示順における最終フレームである。
図2は、一般に、ビデオシーケンスの例示的な予測構造を表し、単に、様々なインターモードフレームタイプを符号化するために使用されるフレーム参照を示すものである。実際のビデオシーケンスは、様々なフレームタイプのより多い又はより少ないビデオフレームを異なる表示順で含み得る。
【0041】
ブロックベースビデオ符号化の場合、シーケンス33中に含まれるビデオフレームの各々はビデオブロック又は符号化ユニット(CU)に区分され得る。ビデオフレームの各CUは、1つ又は複数の予測ユニット(PU)を含み得る。イントラ符号化(I)フレーム中のビデオブロック又はPUは、同じフレーム中の隣接ブロックに関する空間的予測を使用して符号化される。インター符号化(P又はB又はGPB)フレーム中のビデオブロック又はPUは、同じフレーム中の隣接ブロックに関する空間的予測、又は他の参照ピクチャに関する時間的予測を使用し得る。
【0042】
Bフレーム中のビデオブロックは、2つの異なる参照ピクチャリスト、従来は1つの過去のフレームと1つの将来フレームとからの2つの動きベクトルを計算するために、双方向予測を使用して符号化され得る。場合によっては、Bフレーム中のビデオブロックは、2つの異なる参照ピクチャリストのうちの1つからの単方向予測を使用して符号化され得る。Pフレーム中のビデオブロックは、単一の参照ピクチャリスト、従来は過去のフレームからの単一の動きベクトルを計算するために、単方向予測を使用して符号化され得る。新生のHEVC規格によれば、GPBフレーム中のビデオブロックは、2つの同等の参照ピクチャリストのうちの1つから単一の動きベクトルを計算するための単方向予測、又は2つの同等の参照ピクチャリストから2つの動きベクトルを計算するための双方向予測のいずれかを使用して符号化され得る。この2つの同等の参照ピクチャリストは、過去の参照ピクチャを含み得る。
【0043】
場合によっては、GPBフレームが、所定のビデオスライス、ビデオフレーム、又はビデオシーケンスのために全体的に使用可能であるとき、標準Pフレームの代わりにGPBフレームが使用され得る。この場合、全ての標準Pフレームは、GPBフレームとして扱われ得、従って、ビデオエンコーダは、インターモードフレームをBフレーム又はGPBフレームとして符号化することを決定し得る。他の場合には、GPBフレームが部分的に使用可能であるとき、3つ全てのインター予測モードが使用され得る。この場合、ビデオエンコーダは、インターモードフレームをBフレーム、Pフレーム又はGPBフレームとして符号化することを決定し得る。
【0044】
図2の例では、最終フレーム39は、イントラモード符号化のためにIフレームに指定される。他の例では、最終フレーム39は、前のシーケンスの最終フレーム34に関する、例えば、Pフレームとしてインターモード符号化を用いて符号化され得る。ビデオフレーム35A〜35C(総称して「ビデオフレーム35」)は、過去のフレームと将来のフレームとに関する双方向予測を使用して、符号化のためにBフレームに指定される。図示の例では、フレーム34とフレーム36Aとからビデオフレーム35Aへの矢印によって示されるように、フレーム35Aは、最終フレーム34とフレーム36Aとに関するBフレームとして符号化される。フレーム35B及び35Cは同様に符号化される。
【0045】
ビデオフレーム36A〜36B(総称して「ビデオフレーム36」)は、過去のフレームに関する単方向予測を使用して、符号化のために標準Pフレーム又はGPBフレームのいずれかに指定され得る。図示の例では、フレーム34からビデオフレーム36Aへの矢印によって示されるように、フレーム36Aは、最終フレーム34に関するPフレーム又はGPBフレームとして符号化される。フレーム36Bは、同様に符号化される。
【0046】
ビデオフレーム38A〜38B(総称して「ビデオフレーム38」)は、同じ過去のフレームに関する双方向予測を使用してGPBフレームとして符号化するように指定され得る。他の例では、GPBフレームは、同じ参照ピクチャリスト中に含まれる実質的に同様の過去のフレームに関する双方向予測を使用して符号化され得る。図示の例では、フレーム36Aからビデオフレーム38Aへの2つの矢印によって示されように、フレーム38Aは、フレーム36Aへの2つの参照を用いてGPBフレームとして符号化される。フレーム38Bは、同様に符号化される。
【0047】
図3は、ビデオフレームのビデオブロックについての予測情報を効率的に符号化するための技術を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、CU、又はCUのPUを含む、ビデオフレーム内のブロックのイントラ符号化及びインター符号化を実行し得る。イントラ符号化は、所定のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インター符号化は、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード(Iモード)は、幾つかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)、双方向予測(Bモード)、又は一般化P/B予測(GPBモード)などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指すことがある。
【0048】
図3に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。
図3の例では、ビデオエンコーダ20は、モード選択ユニット40と、予測ユニット41と、参照ピクチャメモリ64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(
図3に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。
【0049】
符号化プロセス中に、ビデオエンコーダ20は符号化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のCU又はビデオブロックに分割され得る。モード選択ユニット40は、誤差結果に基づいて現在のビデオブロックのための符号化モード、イントラ又はインターのうちの1つを選択し得、予測ユニット41は、残差ブロックデータを生成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器50に供給し、参照ピクチャとして使用するための符号化ブロックを再構成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器62に供給し得る。
【0050】
予測ユニット41内のイントラ予測ユニット46は、空間圧縮を行うために、符号化されるべき現在のブロックと同じフレーム又はスライス中の1つ又は複数の隣接ブロックに対する現在のビデオブロックのイントラ予測符号化を実行し得る。予測ユニット41内の動き推定ユニット42及び動き補償ユニット44は、時間圧縮を行うために、1つ又は複数の参照ピクチャ中の1つ又は複数の予測ブロックに対する現在のビデオブロックのインター予測符号化を実行する。この1つ又は複数の参照ピクチャは、第1の参照ピクチャリスト(リスト0)66及び/又は第2の参照ピクチャリスト(リスト1)68から選択され得、これらの参照ピクチャリストは、参照ピクチャメモリ64に記憶された参照ピクチャのための識別子を含む。
【0051】
動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオフレームのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオフレームをPフレーム及び/又はBフレームに指定し得る。場合によっては、GPBフレームが使用可能であり得、従って、1つ以上のビデオフレームがGPBフレームに指定され得る。他の場合には、GPBフレームが使用可能であるとき、動き推定ユニット42は、最初に指定されたPフレームをGPBフレームとして符号化するかどうかを決定し得る。後者の場合は、GPBフレームが全体的に使用可能であるのか部分的に使用可能であるのかに依存し得る。
【0052】
動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在のビデオフレーム内のPU又はビデオブロックの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、又は他の差分メトリックによって決定され得る画素差分に関して、符号化されるべきPUを含むCUの一部分にぴったり一致することが分かるブロックである。幾つかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照ピクチャの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を計算し得る。従って、動き推定ユニット42は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【0053】
動き推定ユニット42は、PUと、リスト0 66又はリスト1 68のいずれかの中で識別される参照ピクチャのブロックとを比較することによって、インター符号化フレームのPU又はビデオブロックのための動きベクトルを計算する。例えば、インター符号化フレームがPフレームを備えるとき、動き推定ユニット42は、Pフレーム中のビデオブロックのために単方向予測を使用し、過去のフレームのための識別子を含むリスト0 66とリスト1 68とのうちの1つ、従来はリスト0 66から、単一の動きベクトルを計算し得る。
【0054】
インター符号化フレームがBフレームを備えるとき、例えば、リスト0 66とリスト1 68とは、異なる参照ピクチャ、従来は後のピクチャと先のピクチャとのための識別子を含むことになる。動き推定ユニット42は、Bフレームのビデオブロックのために双方向予測を使用し、リスト0 66とリスト1 68とから2つの動きベクトルを計算し得る。場合によっては、動き推定ユニット42は、Bフレームのビデオブロックのために単方向予測を使用し、参照ピクチャリスト66、68のうちの1つから単一の動きベクトルを計算し得る。
【0055】
新生のHEVC規格によれば、インター符号化フレームがGPBフレームを備えるとき、リスト0 66とリスト1 68とは、同等の参照ピクチャのための識別子を含む。より詳細には、リスト0 66とリスト1 68との各々の中に含まれるピクチャの数は同等であり、リスト0 66中の各インデックスエントリによって示されるピクチャは、リスト1 68中の同じインデックスエントリによって示されるピクチャと同等である。リスト0 66とリスト1 68との中に含まれる参照ピクチャは、後のピクチャを備え得る。この場合、動き推定ユニット42は、GPBフレームのビデオブロックのために双方向予測を使用し、リスト0 66とリスト1 68とから2つの動きベクトルを計算し得る。動き推定ユニット42はまた、GPBフレームのビデオブロックのために単方向予測を使用し、リスト0 66とリスト1 68とのうちの1つから単一の動きベクトルを計算し得る。
【0056】
参照ピクチャリストのうちの1つが他の参照ピクチャリストよりも好適であるとき、デフォルトで、単方向予測のために好適参照ピクチャリストを使用することがより効率的であり得る。これは、Bフレームのための単方向予測が、殆んどの場合、参照ピクチャリストのうちの一方よりも他方に基づいて実行される場合であり得る。例えば、Pフレームと同様に、Bフレームのための単方向予測は、一般に、リスト0 66からの後の参照ピクチャに基づいて実行され得る。その例では、動き補償ユニット44は、リスト0 66が好適参照ピクチャリストであると決定し得る。GPBフレームが使用可能であり、従って、リスト0 66とリスト1 68とが同等であるとき、動き補償ユニット44は、2つの同等の参照ピクチャリスト間で選択する代わりに、単方向予測のためにリスト0 66とリスト1 68とのいずれか一方を互換的に使用し得る。
【0057】
動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することに関与し得る。ビデオエンコーダ20は、符号化されている現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つ以上の構成要素を表す。
【0058】
動き補償ユニット44は、PUのための動きベクトルによって識別される予測ブロックを取り出すことによって、現在のCUのPUについての予測情報を計算し得る。予測情報は、例えば、動き予測方向と、動き予測子を含む動きベクトル情報と、参照ピクチャリスト情報とを含み得る。動き補償ユニット44はまた、現在のビデオブロック又はPUについて計算される予測情報を表すように定義されるシンタックス要素を生成し得る。ビデオエンコーダ20は、次いで、予測情報を示すシンタックス要素を符号化し、ビデオデコーダ30にシンタックス要素を信号伝達し得る。
【0059】
本開示の技術によれば、ビデオエンコーダ20は、ビデオブロックについての予測情報を符号化するコストを低減し得る。例えば、単方向予測モードの場合、ビデオエンコーダ20は、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つ又は複数のシンタックス要素を2ビット未満を使用して符号化し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、又はGPBフレームが使用可能であるとき、2つの同等の参照ピクチャリストのいずれかであり得る。別の例として、双方向予測モードの場合、ビデオエンコーダ20は、2つの同等の参照ピクチャリストからの2つの動きベクトルを用いてGPBフレームの1つ又は複数のビデオブロックを符号化し、ビデオブロックの各々について2つの動きベクトルをジョイント符号化し得る。その2つの動きベクトルは、同じ参照ピクチャ又は実質的に同様の参照ピクチャからのものであり得る。
【0060】
最初に、単方向予測の場合にビデオブロックについての予測情報を符号化するコストを低減するための技術について説明する。動き補償ユニット44は、現在のビデオブロックの動き予測方向についてのシンタックス要素を生成し得る。Bフレーム中のビデオブロックの動き予測方向についての通常のシンタックス要素、inter_pred_idcは、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示す第1のビットと、単方向予測のために使用される参照ピクチャリストを示す第2のビットとを含む。同等の参照ピクチャリストの場合、参照ピクチャリストのいずれも単方向予測モードのために互換的に使用され得るので、通常のシンタックス要素の第2のビットは冗長であり得る。
【0061】
本開示の技術によれば、動き補償ユニット44は、単方向予測モードのために使用される参照ピクチャリストの指示を削除することによって、動き予測方向についてのシングルビットシンタックス要素を生成し得る。ビデオエンコーダ20は、次いで、ビデオブロックレベル又はPUレベルにおいて、現在のビデオフレームの各ビデオブロックについての動きベクトル情報とともに、動き予測方向についてのシングルビットシンタックスを符号化し、ビデオデコーダ30に信号伝達する。
【0062】
現在のビデオフレームがGPBフレームに指定されるとき、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された同等の参照ピクチャのための識別子を含んでいるリスト0 66とリスト1 68とを記憶する。リスト0 66とリスト1 68とは同等の参照ピクチャを含むので、動き補償ユニット44は、単方向予測モードのために2つの同等の参照ピクチャリストのいずれも互換的に使用し得る。ビデオエンコーダ20は、参照ピクチャリストのうちの1つの中の参照ピクチャに関する単方向予測モードを使用してGPBフレームの1つ以上のビデオブロックを符号化する。
【0063】
動き補償ユニット44は、単方向予測モードを使用して符号化されるGPBフレームのビデオブロックの動き予測方向を表すためのシングルビットシンタックスを生成し得る。ビデオエンコーダ20はまた、現在のビデオフレームがGPBフレームとして符号化されることを示すために、ビデオデコーダ30にGPBフレームフラグを信号伝達し得る。そのGPBフレームフラグは、シーケンス内の所定のビデオフレームがGPBフレームとして符号化され、従って、ビデオブロックの動き予測方向がシングルビットシンタックスで符号化されることをビデオデコーダ30に明示的に通知するために使用され得る。この明示的信号伝達によって、ビデオデコーダ30は、動き予測方向を決定するためにシングルビットシンタックスを構文解析(parse)することが可能になり得る。場合によっては、ビデオエンコーダ20は、GPBフレームフラグを明示的に信号伝達しないが、参照ピクチャリストが同等であるとき、所定のフレームがGPBフレームとして符号化されることを暗黙的に信号伝達し得る。GPBフレームフラグについては、以下でより詳細に説明する。
【0064】
一例では、GPBフレームのビデオブロックが単方向予測モードを使用して符号化されるのか双方向予測モードを使用して符号化されるのかを示すように定義されたシングルビットシンタックス要素、例えば、bi_pred_flagを備えるGPBフレームに対して別個のシンタックスが定義され得る。シングルビットシンタックス要素の導入によって、上記で説明した、通常のシンタックス要素、即ち、inter_pred_idcとの混同が回避され得る。動き補償ユニット44は、GPBフレームのビデオブロックの各々の動き予測方向を表すためのシングルビットシンタックス要素を生成し得る。ビデオエンコーダ20は、次いで、単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示すために、GPBフレームのビデオブロックのうちの1つ又は複数についてのシングルビットシンタックス要素を符号化する。同等の参照ピクチャリストのいずれも単方向予測のために使用され得るので、GPBフレームのビデオブロックを符号化するために参照ピクチャリスト66、68のどちらが使用されるのかを明示的に信号伝達する必要がない。
【0065】
別の例では、GPBフレームのビデオブロックが単方向予測モードを使用して符号化されるのか双方向予測モードを使用して符号化されるのかを示すためにシンタックス要素の第1のビットのみが使用されるGPBフレームに対して、通常のシンタックス要素、即ち、inter_pred_idcのシングルビットモードが定義され得る。動き補償ユニット44は、GPBフレームのビデオブロックの各々の動き予測方向を表すための通常のシンタックス要素の第1のビットのみを生成し得る。ビデオエンコーダ20は、次いで、単方向予測を使用してビデオブロックが符号化されることを示すために、GPBフレームのビデオブロックのうちの1つ以上についてのシンタックス要素の第1のビットのみを符号化する。参照ピクチャリストのいずれも単方向予測のために使用され得るので、動き補償ユニット44は、GPBフレームのビデオブロックについてのシンタックス要素の第2のビットを削除し得る。
【0066】
以下で提示する表1は、GPBフレームのビデオブロックのための単方向予測を示すために第1のビットのみが符号化される動き予測方向についての通常のシンタックス要素、即ち、inter_pred_idcのシングルビットモードを用いた初期結果を与える。表1に、低遅延、高効率構成におけるHMのバージョン0.7内の幾つかのビデオテストシーケンスについて、GPBフレームのビデオブロックの動き予測方向を表すための低減ビットシンタックスによるビット深度レート低減率を提示する。低減ビットシンタックス要素による平均ビット深度レート低減は、0.88%である。
【表1】
【0067】
表1:GPBフレームのビデオブロックの動き予測方向を表すための低減ビットシンタックスによるビット深度レート低減[%]
場合によっては、ビデオエンコーダ20は、参照ピクチャリストからの単方向予測モードを使用して符号化される任意のタイプのインター符号化フレームのビデオブロックの動き予測方向を示すシンタックス要素を表すための低減ビット値を割り当て得る。上記で説明したように、ビデオフレームがBフレームに指定されるとき、参照ピクチャリストは、殆んどの場合、単方向予測のための使用される2つの異なる参照ピクチャリストのうちの好適な参照ピクチャリストであり得る。ビデオフレームがGPBフレームに指定されるとき、参照ピクチャリストは、2つの同等の参照ピクチャリストのいずれかであり得る。
【0068】
例えば、動き補償ユニット44は、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表すための動き予測方向を示すシンタックス要素に適用される2値化をシングルビット2値化に適応させ得る。エントロピー符号化ユニット56は、各シンタックス要素をビット又はバイナリビットのシーケンスに2値化し得る。従来、動き予測方向を示すシンタックス要素では、0の2値化は、双方向予測モードを表し、10の2値化は、リスト0中の参照ピクチャに関する単方向予測モードを表し、11の2値化は、リスト1中の参照ピクチャに関する単方向予測モードを表す。
【0069】
しかしながら、動き補償ユニット44は、0のシングルビット2値化が、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを示すシンタックス要素にリンクされるように、シンタックス要素を異なる2値化に適応的にリンクし得る。動き補償ユニット44は、動き予測方向を示すシンタックス要素の各ステータスがどれくらいの頻度で発生するかに基づいて2値化を適応させ得る。好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードが他の予測モードよりも頻繁に使用されるとき、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードに0のシングルビット2値化をリンクすることがより効率的であり得る。例えば、動き補償ユニット44は、0のシングルビット2値化が、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表し、10の2値化が、非好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表し、11の2値化が、双方向予測モードを表すように2値化を適応させ得る。
【0070】
動き補償ユニット44は、現在のフレームのビデオブロックの各々の動き予測方向を表すためのシンタックス要素を生成し得る。ビデオエンコーダ20は、次いで、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用してビデオブロックが符号化されることを示すために、ビデオブロックのうちの1つ以上についてのシンタックス要素にシングルビット2値化を割り当てる。ビデオエンコーダ20は、ビデオブロック又はPUレベル、CUレベル、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのうちの1つにおいて、動き予測方向を示すシンタックス要素の適応型2値化をビデオデコーダ30に信号伝達し得る。この信号伝達によって、ビデオデコーダ30は、同様に、動き予測方向を示すシンタックス要素にそれの2値化を適応させることが可能になり得る。場合によっては、ビデオデコーダ30は、動き予測方向を示すシンタックス要素の各ステータスがどれくらいの頻度で発生するかに基づいてシンタックス要素を単独で適応的に2値化し得る。
【0071】
別の例として、動き補償ユニット44は、シンタックス要素が好適参照ピクチャリストを示す確率を、シンタックス要素が非好適参照ピクチャリストを示す確率よりも高くなるようにバイアスする構成データを参照し得る。例えば、構成データは、動き予測方向についての通常のシンタックス要素、即ち、inter_pred_idcの第2のビットの確率初期設定(probability initialization)を好適参照ピクチャリストのほうへバイアスし得る。エントロピー符号化ユニット56は、同じフレーム中の隣接ビデオブロックのシンタックス値から決定される現在のビデオブロックベースコンテキストについて、シンタックス要素の各ビットが1又は0である確率を推定する。各コンテキストについて、状態機械は、過去の値を追跡し、現在のビデオブロックについてのシンタックス要素の確率の最良の推定として現在の状態を与える。例えば、状態値が、0から128まで変動する場合、状態値0は、ビットが0である確率が0.9999であることを意味し得、状態値128は、ビットが0である確率が0.0001であることを意味し得る。エントロピー符号化ユニット56は、確率決定に基づいて割り当てられた値を使用してシンタックス要素を符号化し得る。確率がより高くなると、シンタックス要素を表すために使用される値がより短くなる。場合によっては、値は、小数ビット、即ち、1ビット未満であり得る。
【0072】
単方向予測モードの場合、単方向予測について、参照ピクチャリストのうちの1つが他の参照ピクチャリストよりも好適であるとき、構成データは、シンタックス要素が好適参照ピクチャリストを示す確率を高め得る。例えば、動き補償ユニット44は、構成データに基づいて通常のシンタックス要素の第2のビットの状態値を0に設定し得、従って、そのビットが0である確率、即ち、好適参照ピクチャリストを示す確率は0.9999である。
【0073】
動き補償ユニット44は、現在のフレームのビデオブロックの各々の動き予測方向を示すシンタックス要素を生成し得る。ビデオエンコーダ20は、単方向予測を使用してビデオブロックが符号化されることを示すために、ビデオブロックのうちの1つ以上についてのシンタックス要素の第1のビットにシングルビット値を割り当て得る。ビデオエンコーダ20は、次いで、単方向予測モードのために好適参照ピクチャリストが使用されることを示すために、ビデオブロックのうちの1つ以上についてのシンタックス要素の第2のビットに分数ビット値、即ち、1ビット未満を割り当て得る。シンタックス要素の第2のビットが好適参照ピクチャリストを示す確率がより高くなると、ビデオエンコーダ20は第2のビットに分数ビット値を割り当てることが可能になる。
【0074】
上記で説明した動き予測方向についての修正シンタックスに加えて、本開示の技術はまた、動き予測方向のためにGPBフレームが使用されるとき、及び/又は低減ビットシンタックスが使用されるときを明示的に示すために、ビデオデコーダ30にフラグを信号伝達することを含み得る。例えば、GPBフレームが現在のビデオフレームに対して使用可能であるか又は許可された場合、ビデオエンコーダ20は、GPBフレームが使用可能であることを示すために、ビデオデコーダ30にGPB使用可能フラグ(GPB enable flag)を信号伝達し得る。ビデオエンコーダ20は、ビデオフレームレベル又はビデオシーケンスレベルのいずれかにおいて、シンタックス中でGPB使用可能フラグを信号伝達し得る。GPB使用可能フラグは、GPBフレームが使用不能であること、全体的に使用可能であること、又は部分的に使用可能であることを示すように定義され得る。GPBフレームが使用不能であるとき、最初に指定されたPフレームは、PUごとに1つの動きベクトルを用いて従来のPフレームとして符号化される。GPBフレームが全体的に使用可能であるとき、最初に指定されたPフレームは、PUごとに1つ又は2つの動きベクトルを用いるGPBフレームとして扱われ得る。GPBフレームが部分的に使用可能であるとき、Pフレーム概念、Bフレーム概念、及びGPBフレーム概念は別個の概念として扱われ得る。
【0075】
GPBフレームは使用可能であるが、GPBフレームに対して新しいスライスタイプが定義されないことがあり、従ってGPBフレームはBスライス及び/又はPスライスとして符号化され得る。この場合、ビデオエンコーダ20は、標準B及び/又はPフレームとGPBフレームとを区別するために、ビデオデコーダ30に追加の明示的又は暗黙的指示を送る必要があり得る。その追加の指示はまた、動き予測方向を表すために低減ビットシンタックスが使用されるときをビデオデコーダ30に通知するために使用され得る。
【0076】
例えば、全てのGPBフレームは、通常のBフレームの場合は異なる参照ピクチャリスト、又はGPBフレームの場合は同等の参照ピクチャリストのいずれかを用いてBスライスとして符号化され得る。GPBフレームが全体的に使用可能であり、従って、全てのインター予測フレームが、同等の参照ピクチャリストを用いて又は用いずにBスライスとして符号化され得るとき、GPBフレームを符号化するこのモードが好ましいことがある。
【0077】
場合によっては、ビデオエンコーダ20は、従来のBフレームとGPBフレームとを区別するために、ビデオフレームがGPBフレームとして符号化されるときを示すためにビデオデコーダ30にGPBフレームフラグ、例えば、gpb_pred_flag又はslice_gpb_flagを明示的に信号伝達し得る。ビデオエンコーダ20は、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのうちの1つにおいて、シンタックス中でGPBフレームフラグを信号伝達し得る。但し、場合によっては、ビデオエンコーダ20は、GPBフレーム符号化を明示的に信号伝達しないことがある。それらの場合には、ビデオエンコーダ20は、参照ピクチャリストが同等であるとき、所定のフレームがGPBフレームとして符号化されることをビデオデコーダ30に暗黙的に通知し得る。
【0078】
Bスライスとして符号化されたGPBフレームについてのスライスヘッダシンタックスは、動き予測方向についての低減ビットシンタックス要素を定義し得る。一例では、低減ビットシンタックス要素は、Bフレームの動き予測方向についての通常のシンタックス要素、即ち、inter_pred_idcの1つのモードであり得、そのモードでは、シンタックス要素の第1のビットのみが使用される。別の例では、低減ビットシンタックス要素は、以下でより詳細に説明する、新たに定義されたシングルビットシンタックス要素、例えば、bi_pred_flagであり得る。
【0079】
Bスライスとして符号化されたGPBフレームの動き予測方向についての低減ビットシンタックス要素の一例を定義するための修正とともに、ビデオブロック又はPUレベルにおけるシンタックスからの抜粋を以下の表2に提示する。
【表2】
【0080】
predition_unitシンタックスは、開始画素(originating pixel)又はサブ画素座標(x0、y0)にあり、currPredUnitSizeによって与えられるあるサイズを有するビデオフレーム内に位置する所定のPUに対して定義される。表2のC列は、現在のビデオブロックのどのデータ区分中にシンタックス要素が含まれるのかを定義する各シンタックス要素のカテゴリーを示す。表2の記述子列は、ビデオデコーダ30におけるシンタックス要素の適切な構文解析を可能にするためにシンタックス要素のために使用される符号化のタイプを示す。例えば、記述子「ue(v)」は、指数ゴロム符号化(exponential-Golomb coding)を示す。表2のシンタックスの抜粋に示すように、現在のビデオブロック又はPUを含むビデオフレームがBスライスと見なされたが、GPBフレームではなかった場合、動き補償ユニット44は、従来のBフレームのビデオブロックの区分iの動き予測方向を信号伝達するために、従来の2ビットシンタックス要素、inter_pred_idc[i]を生成する。しかしながら、ビデオフレームがBスライスと見なされ、GPBフレームであった場合、動き補償ユニット44は、GPBフレームのビデオブロックの区分iの動き予測方向を信号伝達するために、通常のシンタックス要素、inter_pred_idc[i]の第1のビットのみを生成する。ビデオフレームがGPBフレームとして符号化されることを示すために、ビデオエンコーダ20がより高いレベルにおいてGPBフレームフラグを明示的に信号伝達するとき、又は、参照ピクチャリストが同等であると決定されるとき、予測ユニットシンタックステーブルにおいて使用されるGPBフラグ変数、isGPBSliceFlagは真であると決定され得る。
【0081】
別の例では、全てのGPBフレームは、GPBフレームの場合は双方向予測のオプションを用いてPスライスとして符号化され得る。GPBフレームが部分的に使用可能であり、従って、インター予測フレームが、双方向予測を用いて又は用いずにBスライス又はPスライスとして符号化され得るとき、GPBフレームを符号化するこのモードが好ましいことがある。場合によっては、ビデオエンコーダ20は、従来のPフレームとGPBフレームとを区別するために、ビデオフレームがGPBフレームとして符号化されるときを示すためにビデオデコーダ30などのビデオデコーダにGPBフレームフラグ、例えば、gpb_pred_flag又はslice_gpb_flagを明示的に信号伝達し得る。ビデオエンコーダ20は、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのうちの1つにおいて、シンタックス中でGPBフレームフラグを信号伝達し得る。
【0082】
Pスライスとして符号化されたGPBフレームについてのスライスヘッダシンタックスは、動き予測方向についての低減ビットシンタックス要素を定義し得る。一例では、低減ビットシンタックス要素は、新たに定義されたシングルビットシンタックス要素、例えば、bi_pred_flagであり得る。シングルビットシンタックス要素は、ビデオブロックが単方向予測を使用して符号化されるのか双方向予測を使用して符号化されるのかを示すように定義され得る。シングルビットシンタックス要素は、Bフレームの動き予測方向についての従来の2ビットシンタックス要素との混同を回避するために異なる名前を有し得る。例えば、シングルビットシンタックス要素は、「inter_pred_idc」の代わりに「bi_pred_flag」と命名され得る。別の例では、低減ビットシンタックス要素は、Bフレームの動き予測方向についての通常のシンタックス要素、即ち、inter_pred_idcの1つのモードであり得、そのモードでは、シンタックス要素の第1のビットのみが使用される。
【0083】
Pスライスとして符号化されたGPBフレームの動き予測方向についての低減ビットシンタックス要素の一例を定義するための修正とともに、ビデオブロック又はPUレベルにおけるシンタックスからの抜粋を以下の表3に提示する。
【表3】
【0084】
predition_unitシンタックスは、開始画素又はサブ画素座標(x0、y0)にあり、currPredUnitSizeによって与えられるあるサイズを有するビデオフレーム内に位置する所定のPUに対して定義される。表3のC列は、現在のビデオブロックのどのデータ区分中にシンタックス要素が含まれるのかを定義する各シンタックス要素のカテゴリーを示す。表3の記述子列は、ビデオデコーダ30におけるシンタックス要素の適切な構文解析を可能にするためにシンタックス要素のために使用される符号化のタイプを示す。例えば、記述子「ue(v)」は、指数ゴロム符号化を示す。表3のシンタックスの抜粋に示すように、現在のビデオブロック又はPUを含むビデオフレームがBスライスと見なされた場合、動き補償ユニット44は、従来のBフレームのビデオブロックの区分iの動き予測方向を信号伝達するために、従来の2ビットシンタックス要素、inter_pred_idc[i]を生成する。しかしながら、ビデオフレームがPスライスと見なされ、GPBフレームであった場合、動き補償ユニット44は、GPBフレームのビデオブロックの区分iの動き予測方向を信号伝達するために、シングルビットシンタックス要素、bi_pred_flag[i]を生成する。ビデオフレームがGPBフレームとして符号化されることを示すために、ビデオエンコーダ20がより高いレベルにおいてGPBフレームフラグを明示的に信号伝達するとき、シンタックスにおいて使用されるGPBフラグ、slice_gpb_flagは真であると決定され得る。
【0085】
場合によっては、GPBフレームが使用可能であるとき、GPBフレームに対して新しいスライスタイプが定義され得る。この場合、現在のビデオフレームがGPBフレームとして符号化されることを示すために追加の明示的又は暗黙的信号伝達は必要ない。GPBスライスとして符号化されたGPBフレームについてのスライスヘッダシンタックスは、動き予測方向についての低減ビットシンタックス要素を定義し得る。一例では、低減ビットシンタックス要素は、上記で説明した、新たに定義されたシングルビットシンタックス要素、例えば、bi_pred_flagであり得る。別の例では、低減ビットシンタックス要素は、Bフレームの動き予測方向についての通常のシンタックス要素、即ち、inter_pred_idcの1つのモードであり得、そのモードでは、シンタックス要素の第1のビットのみが使用される。
【0086】
GPBスライスとして符号化されたGPBフレームの動き予測方向についての低減ビットシンタックス要素の一例を定義するための修正とともに、ビデオブロック又はPUレベルにおけるシンタックスからの抜粋を以下の表4に提示する。
【表4】
【0087】
predition_unitシンタックスは、開始画素又はサブ画素座標(x0、y0)にあり、currPredUnitSizeによって与えられるあるサイズを有するビデオフレーム内に位置する所定のPUに対して定義される。表4のC列は、現在のビデオブロックのどのデータ区分中にシンタックス要素が含まれるのかを定義する各シンタックス要素のカテゴリーを示す。表4の記述子列は、ビデオデコーダ30におけるシンタックス要素の適切な構文解析を可能にするためにシンタックス要素のために使用される符号化のタイプを示す。例えば、記述子「ue(v)」は、指数ゴロム符号化を示す。シンタックスの抜粋に示すように、現在のビデオブロック又はPUを含むビデオフレームがBスライスと見なされた場合、動き補償ユニット44は、従来のBフレームのビデオブロックの区分iの動き予測方向を信号伝達するために、従来の2ビットシンタックス要素、inter_pred_idc[i]を生成する。しかしながら、ビデオフレームがGPBスライスと見なされた場合、動き補償ユニット44は、GPBフレームのビデオブロックの区分iの動き予測方向を信号伝達するために、シングルビットシンタックス要素、bi_pred_flag[i]を生成する。
【0088】
次に、双方向予測の場合にビデオブロックについての予測情報を符号化するコストを低減するための技術について説明する。上記で説明したように、動き推定ユニット42は、GPBフレームの現在のビデオブロックのためのリスト0 66からの第1の動きベクトルとリスト1 68からの第2の動きベクトルとを計算するために双方向予測を使用し得る。動き補償ユニット44は、次いで、現在のビデオブロックのための動きベクトルを示すように定義されるシンタックス要素を生成し得る。動きベクトルについての通常のシンタックス要素は、動きベクトルと動き予測子との間の差を示すように定義された第1のシンタックス要素、即ち、mvdと、動き予測子が生成される参照ピクチャの参照ピクチャリスト中のインデックスを示すように定義された第2のシンタックス要素、即ち、ref_idxとを含む。
【0089】
現在のビデオフレームがGPBフレームに指定されるとき、ビデオエンコーダ20は、同等の参照ピクチャのための識別子を含んでいるリスト0 66とリスト1 68とを記憶する。リスト0 66とリスト1 68とは同等の参照ピクチャを含むので、動き推定ユニット42は、同じ参照ピクチャ又は実質的に同様の参照ピクチャのいずれかから第1の動きベクトルと第2の動きベクトルとを計算し得る。従って、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとは高度に相関する。高度に相関する動きベクトルの各々についてシンタックス要素を単独で生成するのは冗長であり得、2つの動きベクトルをジョイント符号化することがより効率的あり得る。
【0090】
本開示の技術によれば、動き補償ユニット44は、従来、第2の動きベクトルを表すために使用されるシンタックス要素を低減するか又は削除することによって、動きベクトルを信号伝達するために使用されるビットを低減し得る。ビデオエンコーダ20は、次いで、第1の動きベクトルと第2の動きベクトルとをジョイント符号化する。例えば、ビデオエンコーダ20は、従来、動き予測子に対して第1の動きベクトルを符号化し、次いで、第1の動きベクトルに対して第2の動きベクトルを符号化し得る。ビデオエンコーダ20は、ビデオブロック又はPUレベルにおいて、GPBフレームの各ビデオブロックについての他の予測シンタックスとともに、ジョイント符号化された動きベクトルをビデオデコーダ30に信号伝達する。
【0091】
動き補償ユニット44は、動き推定ユニット42からGPBフレームの現在のビデオブロックのための第1の動きベクトルと第2の動きベクトルとを受信する。動き補償ユニット44は、次いで、隣接ビデオブロックの動きベクトルから第1の動きベクトルのための第1の動き予測子を生成する。例えば、現在のビデオブロックのための第1の動きベクトルは、リスト0 66からの参照ピクチャ中の予測ブロックをポイントし得る。従って、第1の動き予測子は、リスト0 66からの同じ参照ピクチャ中の別のブロックをポイントする、GPBフレーム中の隣接ビデオブロックの動きベクトルから生成され得る。
【0092】
動き補償ユニット44は、隣接ビデオブロックからの第2の動きベクトルのための第2の動き予測子を生成しないことがあるが、代わりに第2の動き予測子として第1の動きベクトルを使用する。ビデオエンコーダ20は、次いで、第1の動きベクトルに対して、ビデオブロックのための第2の動きベクトルを符号化する。このようにして、第2の動きベクトルは、第1の動きベクトルと第2の動きベクトルとの間の差として符号化され得る。幾つかの例では、動き補償ユニット44は、第2の動きベクトルについてのいかなるシンタックス要素も生成しないことがある。他の例では、動き補償ユニット44は、第2の動きベクトルと第1の動きベクトルとの間の差を示すように定義される第1のシンタックス要素のみを生成し得る。
【0093】
場合によっては、動きベクトルが同じ参照ピクチャ又は実質的に同様の参照ピクチャをポイントするとき、ビデオエンコーダ20は、第1の動きベクトルと第2の動きベクトルとを単にジョイント符号化し得る。第1の動きベクトルと第2の動きベクトルとが同じ参照ピクチャをポイントしないとき、第2の動き予測子として第1の動きベクトルを使用する前に、第1の動きベクトルは、第1の動きベクトルと第2の動きベクトルとの間の時間距離に従ってスケーリングされ得る。
【0094】
幾つかの例では、現在のブロックの動きベクトルのための動き予測子は、隣接ブロックの複数の動きベクトルから生成され得る。この場合、動き補償ユニット44は、隣接ビデオブロックの複数の候補動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成し得る。動き補償ユニット44はまた、第1の動きベクトルを含む複数の候補動きベクトルから、現在のビデオブロックの第2の動きベクトルのための第2の動き予測子を生成し得る。この場合、第2の動きベクトルは、依然として、限定はしないが第1の動きベクトルに基づいて、第1の動きベクトルに対して符号化され得る。
【0095】
所定の参照ピクチャリストからの動きベクトルのための動き予測子は、一般に、同じ参照ピクチャリスト中の同じフレームから計算される、隣接ビデオブロックの動きベクトルから生成される。しかしながら、現在のフレームがGPBフレームであり、従って、第1の参照ピクチャリストと第2の参照ピクチャリストとが同等の参照ピクチャのための識別子を含んでいるとき、動き予測子は、隣接ビデオブロックの動きベクトルとは異なるリストから生成され得る。例えば、隣接ビデオブロックの動きベクトルがリスト0 66中の参照ピクチャをポイントした場合、動き補償ユニット44は、リスト0 66又はリスト1 68のいずれかの中の参照ピクチャから、現在のビデオブロックの動きベクトルのための第1の動き予測子を生成し得る。
【0096】
場合によっては、第1の動き予測子を生成するために使用される、隣接ビデオブロックの動きベクトルは、現在のビデオブロックの第1の動きベクトルとして、同じ参照ピクチャリスト、例えば、リスト0 66中で利用可能でないことがある。本開示の技術によれば、隣接ビデオブロックの動きベクトルがリスト0 66中で利用可能でないとき、動き補償ユニット44は、リスト1 68から第1の動き予測子を計算し得る。これは、隣接ビデオブロックの動きベクトルがリスト1 68から最初に計算され、次いでリスト0 66に記憶されなかった場合に行われ得る。追加の解決策として、動き推定ユニット42は、各参照ピクチャリストから計算される動きベクトルを両方の参照ピクチャリストに記憶し得る。例えば、動き推定ユニット42が、GPBフレーム中の隣接ビデオブロックについて、リスト0 66から動きベクトルを計算するとき、動き推定ユニット42は、リスト0 66とリスト1 68の両方に動きベクトルを記憶し得る。このようにして、動き補償ユニット44は、常に、参照ピクチャリスト66、68のいずれかから、隣接ビデオブロックの動きベクトルのための動き予測子を生成し得る。
【0097】
動き補償ユニット44が、動きベクトルに基づいて現在のビデオブロックのための予測ブロックを生成し、現在のビデオブロックについての予測情報を表すためのシンタックス要素を生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。変換ユニット52は、残差ブロックから1つ以上の変換ユニット(TU:transform unit)を形成し得る。変換ユニット52は、離散コサイン変換(DCT:discrete cosine transform)又は概念的に同様の変換など、変換をTUに適用し、残差変換係数を備えるビデオブロックを生成する。変換は、残差ブロックを画素領域から周波数領域などの変換領域に変換し得る。
【0098】
変換ユニット52は、量子化ユニット54に得られた変換係数を送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
【0099】
量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長符号化(CAVLC:context adaptive variable length coding)、コンテキスト適応型バイナリ算術符号化(CABAC:context adaptive binary arithmetic coding)、又は別のエントロピー符号化技術を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後、符号化されたビットストリームは、ビデオデコーダ30などのビデオデコーダに送信されるか、又は後で送信又は検索するためにアーカイブされ得る。
【0100】
エントロピー符号化ユニット56はまた、符号化されている現在のビデオブロックのための動きベクトルと他の予測シンタックス要素とをエントロピー符号化し得る。例えば、エントロピー符号化ユニット56は、符号化されたビットストリーム中で送信するために動き補償ユニット44によって生成された適切なシンタックス要素を含むヘッダ情報を構築し得る。PU又はビデオブロックレベルにおいて、シンタックス要素は、動きベクトルと動き予測方向とを含み得る。より高レベルにおいて、シンタックス要素は、GPBフレームが所定のビデオフレームのために使用可能であるかどうかを示すGPB使用可能フラグと、所定のビデオフレームがGPBフレームとして符号化されるかどうかを示すGPB符号化フラグ(GPB encoded flag)とを含み得る。ビデオデコーダは、予測ブロックを取り出し、ビデオエンコーダ20によって符号化された元のビデオブロックを再構成するために、これらのシンタックス要素を使用し得る。
【0101】
シンタックス要素をエントロピー符号化するために、エントロピー符号化ユニット56は、コンテキストモデルに基づいてシンタックス要素を1つ以上のバイナリビットに2値化し得る。この例では、エントロピー符号化ユニット56は、好適参照ピクチャ中の参照ピクチャに関する単方向予測モードを示すシンタックス要素にシングルビット2値化をリンクするために動き補償ユニット44によって適応された2値化を適用し得る。さらに、エントロピー符号化ユニット56は、好適参照リストのほうへバイアスされたビットの確率初期設定に基づいて、シンタックス要素のビットを分数ビット値として符号化し得る。
【0102】
逆量子化ユニット58及び逆変換ユニット60は、それぞれ逆量子化及び逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックをリスト0 66又はリスト1 68内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器62は、再構成された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム中のブロックをインター予測する(inter-predict)ために、動き推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。
【0103】
図4は、ビデオフレームのビデオブロックについての予測情報を効率的に符号化するための技術を実装し得るビデオデコーダ30の一例を示すブロック図である。
図4の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、参照ピクチャメモリ92とを含む。予測ユニット81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。ビデオデコーダ30は、幾つかの例では、ビデオエンコーダ20(
図3)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【0104】
復号プロセス中に、ビデオデコーダ30は、符号化されたビデオフレームと、ビデオエンコーダ20などのビデオエンコーダからの符号化情報を表すシンタックス要素とを含む符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数、動きベクトル、及び他の予測シンタックスを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測ユニット81に動きベクトルと他の予測シンタックスとを転送する。ビデオデコーダ30は、ビデオブロック又はPUレベル、ビデオスライスレベル、ビデオフレームレベル及び/又はビデオシーケンスレベルにおいてシンタックス要素を受信し得る。
【0105】
予測ユニット81のイントラ予測ユニット84は、信号伝達されたイントラ予測モードと現在のフレームの、前に復号されたブロックからのデータとに基づいて、現在のビデオフレームのビデオブロックについての予測データを生成し得る。予測ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信した動きベクトルと予測シンタックスとに基づいて予測ブロックを生成する。予測ブロックは、第1の参照ピクチャリスト(リスト0)94及び/又は第2の参照ピクチャリスト(リスト1)96のうちの1つ以上から生成され得、それらの参照ピクチャリストは、参照ピクチャメモリ92に記憶された参照ピクチャのための識別子を含む。
【0106】
動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット82は、受信したシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【0107】
動き補償ユニット82は、動きベクトルと予測シンタックスとを構文解析することによって現在のビデオブロックについての予測情報を決定し、予測情報使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。動き補償ユニット82は、現在のビデオフレームを復号するために、受信したシンタックス要素の幾つかを使用して現在のフレームを符号化するために使用されるCUのサイズと、フレームの各CUがどのように分割されるのかを記述する分割情報と、各分割がどのように符号化されるのかを示すモード(例えば、イントラ予測又はインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)と、フレームのための1つ又は複数の参照ピクチャリストと、フレームの各インター符号化PU又はCUのための動きベクトルと、フレームの各インター符号化PU又はCUの動き予測方向と、他の情報とを決定する。
【0108】
動き補償ユニット82は、GPBフレームが現在のビデオフレームに対して使用可能であるか又は許可されるかどうかを決定するために、ビデオフレームレベル又はビデオシーケンスレベルにおいてシンタックスを構文解析し得る。例えば、動き補償ユニット82は、ビデオフレームレベル又はビデオシーケンスレベルのいずれかにおいてシンタックス中で受信されるGPB使用可能フラグに基づいて、GPBフレームが使用可能であると決定し得る。
図3に関してより詳細に説明したGPB使用可能フラグは、GPBフレームが使用不能であること、全体的に使用可能であること、又は部分的に使用可能であることを示すように定義され得る。動き補償ユニット82はまた、現在のビデオフレームについての参照ピクチャリスト情報を決定するために、ビデオスライスレベル又はビデオフレームレベルにおいてシンタックスを構文解析し得る。ビデオデコーダ30は、次いで、シンタックスによって示される、参照ピクチャのための識別子を含んでいるリスト0 94とリスト1 96とを記憶する。現在のビデオフレームがGPBフレームであるとき、リスト0 94とリスト1 96とは、同等の参照ピクチャのための識別子を含んでいる。より詳細には、リスト0 94とリスト1 96との各々の中に含まれるピクチャの数は同等であり、リスト0 94中の各インデックスエントリによって示されるピクチャは、リスト1 96中の同じインデックスエントリによって示されるピクチャと同等である。
【0109】
本開示の技術によれば、ビデオデコーダ30は、ビデオブロックについての予測情報を符号化するコストを低減し得る。例えば、単方向予測モードの場合、ビデオデコーダ30は、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオブロックが符号化されることを示す1つ以上のシンタックス要素を2ビット未満を使用して復号し得る。参照ピクチャリストは、2つの異なる参照ピクチャリストのうちの好適参照ピクチャリストであり得、又はGPBフレームが使用可能であるとき、2つの同等の参照ピクチャリストのいずれかであり得る。別の例として、双方向予測モードの場合、ビデオデコーダ30は、GPBフレームの1つ以上のビデオブロックの各々について2つの動きベクトルをジョイント復号し、2つの同等の参照ピクチャリストから計算される2つの動きベクトルを用いてビデオブロックの各々を復号し得る。その2つの動きベクトルは、同じ参照ピクチャ又は同様の参照ピクチャから計算され得る。
【0110】
最初に、単方向予測の場合にビデオブロックについての予測情報を符号化するコストを低減するための技術について説明する。動き補償ユニット82は、現在のビデオブロックの動き予測方向についての1つ以上のシンタックス要素を構文解析し得る。Bフレーム中のビデオブロックの動き予測方向についての通常のシンタックス要素、inter_pred_idcは、ブロックを符号化するために単方向予測モードが使用されるのか双方向予測モードが使用されるのかを示す第1のビットと、単方向予測のために使用される参照ピクチャリストを示す第2のビットとを含む。同等の参照ピクチャリストの場合、参照ピクチャリストのいずれも単方向予測モードのために互換的に使用され得るので、通常のシンタックス要素の第2のビットは冗長であり得る。
【0111】
本開示の技術によれば、動き補償ユニット82は、参照ピクチャリスト中の参照ピクチャに関する単方向予測を使用して現在のビデオブロックが符号化されることを示す動き予測方向を示すシンタックス要素の低減ビット符号化を構文解析し得る。現在のフレームがGPBフレームであると決定され、従って、リスト0 94とリスト1 96とが同等であるとき、動き補償ユニット82は、単方向予測モードのために2つの同等の参照ピクチャリストのいずれも互換的に使用し得る。
【0112】
動き補償ユニット82は、
図3に関して説明した明示的に信号伝達されたGPBフレームフラグに基づいて、現在のビデオフレームがGPBフレームとして符号化されるかどうかを決定し得る。動き補償ユニット82は、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのいずれかにおいてGPBフレームフラグを受信し得る。そのGPBフレームフラグは、現在のビデオフレームがGPBフレームとして符号化され、従って、ビデオブロックの動き予測方向がシングルビットシンタックスで符号化されることをビデオデコーダ30に明示的に通知するために使用され得る。その明示的信号伝達により、ビデオデコーダ30は、ビデオシーケンス復号が開始するときにかかわらず、動き予測方向を決定するためにシングルビットシンタックス要素を正しく構文解析することが可能になり得る。GPBフレームフラグに基づいて、ビデオデコーダ30は、フレームがGPBフレームであるときに常に気づき、動き予測方向についてのシングルビットシンタックスを構文解析することを予想し得る。
【0113】
他の場合には、動き補償ユニット82は、リスト0 94とリスト1 96とを比較し、リスト0 94とリスト1 96とが同等の参照ピクチャを含んでいるとき、現在のフレームがGPBフレームであると決定し得る。しかしながら、その2つの参照ピクチャリストは、復号中に参照ピクチャが追加又は更新される前のビデオシーケンスの始めにビデオデコーダ30には同等にしか見えないことになる。従って、暗黙的信号伝達は、ビデオデコーダ30がビデオシーケンスの始めに復号を開始した場合にのみ、シングルビットシンタックス要素の正しい構文解析が可能になり得る。そうでない場合、ビデオデコーダ30は、フレームがGPBフレームとして符号化されていることに気づかないことになり、動き予測方向についてのシングルビットシンタックスを構文解析することを予想しないことになる。
【0114】
GPBフレーム符号化の明示的又は暗黙的通知は、GPBフレームがBスライス又はPスライスとして符号化されるときに必要であり得る。他の場合には、動き補償ユニット82は、GPBフレームに対して定義された新しいスライスタイプに基づいて、現在のフレームがGPBフレームであることを決定し得、その新しいスライスタイプによって、GPBフレーム符号化の追加の明示的又は暗黙的通知が不要になる。
【0115】
一例では、GPBフレームのビデオブロックが単方向予測を使用して符号化されるのか双方向予測を使用して符号化されるのかを示すように定義されたシングルビットシンタックス要素、例えば、bi_pred_flagを備えるGPBフレームに対して別個のシンタックスが定義され得る。シングルビットシンタックス要素の導入により、上記で説明した、通常のシンタックス要素、即ち、inter_pred_idcとの混同が回避され得る。動き補償ユニット82は、GPBフレームの現在のビデオブロックが単方向予測を使用して符号化されることを示すシングルビットシンタックス要素を構文解析し得る。同等の参照ピクチャリスト94、96のいずれも単方向予測モードのために使用され得るので、動き補償ユニット82は、単方向予測のために参照ピクチャリストのいずれかを使用する。
【0116】
別の例では、GPBフレームのビデオブロックが単方向予測モードを使用して符号化されるのか双方向予測モードを使用して符号化されるのかを示すためにシンタックス要素の第1のビットのみが使用されるGPBフレームに対して、通常のシンタックス要素、即ち、inter_pred_idcのシングルビットモードが定義され得る。動き補償ユニット82は、ビデオブロックが単方向予測を使用して符号化されることを示すシンタックス要素の第1のビットのみについてシンタックス要素を構文解析し得る。動き補償ユニット82は、単方向予測のために参照ピクチャリストのいずれかを使用する。
【0117】
場合によっては、動き補償ユニット82は、参照ピクチャリスト中の参照ピクチャに関する単方向予測を使用して符号化される任意のタイプのインター符号化フレームのビデオブロックの動き予測方向を示すシンタックス要素に割り当てられた低減ビット値を復号し得る。ビデオフレームがBフレームに指定されるとき、参照ピクチャリストは、殆んどの場合、単方向予測のための使用される参照ピクチャリストのうちの好適な参照ピクチャリストであり得る。ビデオフレームがGPBフレームに指定されるとき、参照ピクチャリストは、2つの同等の参照ピクチャリストのいずれかであり得る。
【0118】
一例として、動き補償ユニット82は、ビデオエンコーダ20からのシンタックス中で動き予測方向を示すシンタックス要素の適応型2値化を受信し得る。動き補償ユニット82は、ビデオブロック又はPUレベル、CUレベル、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのうちの1つにおいて適応型2値化を受信し得る。
【0119】
受信した適応型2値化に従って、動き補償ユニット82は、動き予測方向を示すシンタックス要素の各々ステータスを異なる2値化に適応的にリンクし得、従って、シングルビット2値化が、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードにリンクされる。例えば、動き補償ユニット82は、0のシングルビット2値化が、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表し、10の2値化が、非好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを表し、11の2値化が、双方向予測モードを表すように2値化を適応させ得る。場合によっては、動き補償ユニット82は、動き予測方向を示すシンタックス要素の各ステータスがどれくらいの頻度で発生するかに基づいて動き予測方向についてのシンタックス要素を単独で適応的に2値化し得る。適応型2値化に基づいて、動き補償ユニット82は、好適参照リスト中の参照ピクチャに関する単方向予測モードを使用して現在のビデオブロックが符号化されることを示すように定義されたシンタックス要素のためのシングルビット2値化を復号し得る。
【0120】
別の例として、動き補償ユニット82は、現在のビデオブロックの動き予測方向についての通常のシンタックス要素、即ち、inter_pred_idcを表すために割り当てられた値を受信し得る。動き補償ユニット82は、単方向予測モードを使用して現在のビデオブロックが符号化されることを示すように定義されたシンタックス要素の第1のビットに割り当てられたシングルビット値を復号し得る。動き補償ユニット82は、次いで、単方向予測モードのために好適参照ピクチャリストが使用されることを示すように定義されたシンタックス要素の第2のビットに割り当てられた分数ビット値を復号し得る。第2のビットを表すために使用される分数ビット値は、構成データに従って好適参照ピクチャリストのほうへバイアスされた第2のビットの確率初期設定に基づき得る。確率がより高くなると、シンタックス要素を表すために使用される値の長さがより短くなる。第2のビットが好適参照ピクチャリストを示す確率が高いと、第2のビットを分数ビット値、即ち、1ビット未満によって表すことが可能になる。
【0121】
次に、双方向予測の場合にビデオブロックについての予測情報を符号化するコストを低減するための技術について説明する。ビデオデコーダ30は、ビデオエンコーダ20から受信したシンタックスから現在のビデオフレームのための動きベクトルを復号する。動きベクトルについての通常のシンタックス要素は、動きベクトルと動き予測子との間の差を示すように定義された第1のシンタックス要素、即ち、mvdと、動き予測子が生成される参照ピクチャの参照ピクチャリスト中のインデックスを示すように定義された第2のシンタックス要素、即ち、ref_idxとを含む。現在のビデオフレームがGPBフレームに指定され、従って、リスト0 94とリスト1 96とが同等の参照ピクチャのための識別子を含んでいるとき、第1の動きベクトルと第2の動きベクトルとは、同じ参照ピクチャ又は実質的に同様の参照ピクチャのいずれかをポイントする。従って、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとは、高度に相関し、一緒に符号化され得る。
【0122】
本開示の技術の一例によれば、ビデオデコーダ30は、シンタックス要素に基づいてGPBフレームの現在のビデオブロックのための第1の動きベクトルと第2の動きベクトルとを一緒に復号する。このようにして、動き補償ユニット82は、従来、動きベクトルを個別に復号するために使用されるシンタックス要素を低減するか又は削除することによって、動きベクトルを信号伝達するために使用されるビットを低減し得る。
【0123】
第1の動きベクトルは、従来、第1の動きベクトルと第1の動き予測子との間の差を示す第1のシンタックス要素、即ち、mvdと、第1の動き予測子が生成された参照ピクチャのリスト0 94中のインデックスを示す第2のシンタックス要素、即ち、ref_idxとに基づいて復号され得る。動き補償ユニット82は、第2のシンタックス要素によって識別されるビデオフレーム中の隣接ビデオブロックの動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成する。このようにして、ビデオデコーダ30は、第1のシンタックス要素に基づいて、第1の動き予測子に対してビデオブロックのための第1の動きベクトルを復号し得る。
【0124】
第2の動きベクトルは、次いで、第1の動きベクトルに対して復号され得る。動き補償ユニット82は、隣接ビデオブロックからの第2の動きベクトルのための第2の動き予測子を生成しないことがあるが、代わりに第2の動き予測子として第1の動きベクトルを使用する。このようにして、ビデオデコーダ30は、第1の動きベクトルと第2の動きベクトルとの間の差に基づいて第2の動きベクトルを復号し得る。幾つかの例では、動き補償ユニット82は、第2の動きベクトルについてのいかなるシンタックス要素も受信しないことがある。他の例では、動き補償ユニット82は、第2の動きベクトルと第1の動きベクトルとの間の差を示すように定義された第1のシンタックス要素のみを受信し得る。
【0125】
幾つかの例では、現在のブロックの動きベクトルのための動き予測子は、隣接ブロックの複数の動きベクトルから生成され得る。この場合、動き補償ユニット82は、隣接ビデオブロックの複数の候補動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成し得る。動き補償ユニット82はまた、第1の動きベクトルを含む複数の候補動きベクトルから、現在のビデオブロックの第2の動きベクトルのための第2の動き予測子を生成し得る。この場合、第2の動きベクトルは、依然として、限定はしないが第1の動きベクトルに基づいて、第1の動きベクトルに対して復号され得る。
【0126】
現在のフレームがGPBフレームであり、従って、第1の参照ピクチャリストと第2の参照ピクチャリストとが同等の参照ピクチャのための識別子を含んでいるとき、動き予測子は、隣接ビデオブロックの動きベクトルとは異なるリストから生成され得る。例えば、隣接ビデオブロックの動きベクトルがリスト0 94中の参照ピクチャをポイントした場合、動き補償ユニット82は、リスト0 94又はリスト1 96のいずれかの中の参照ピクチャから、現在のビデオブロックの動きベクトルのための第1の動き予測子を生成し得る。リスト0 94とリスト1 96とは、同じ順序で同等の参照ピクチャを含むので、動き予測子が生成され、動きベクトルについての第2のシンタックス要素によって識別される参照ピクチャのインデックスは、両方の参照ピクチャリスト94、96の中の同じ参照ピクチャを参照する。
【0127】
場合によっては、第1の動き予測子を生成するために使用される、隣接ビデオブロックの動きベクトルは、現在のビデオブロックの第1の動きベクトルとして、同じ参照ピクチャリスト、例えば、リスト0 94中で利用可能でないことがある。本開示の技術によれば、隣接ビデオブロックの動きベクトルがリスト0 94中で利用可能でないとき、動き補償ユニット82は、リスト1 96から第1の動き予測子を計算し得る。これは、隣接ビデオブロックの動きベクトルが最初にリスト1 96から復号され、次いで、リスト0 94に記憶されなかった場合に行われ得る。追加の解決策として、動き補償ユニット82は、各参照ピクチャリストから復号される動きベクトルを両方の参照ピクチャリストに記憶し得る。例えば、動き補償ユニットが、GPBフレーム中の隣接ビデオブロックについて、リスト0 94から動きベクトルを復号するとき、動き補償ユニット82は、リスト0 94とリスト1 96の両方に動きベクトルを記憶し得る。このようにして、動き補償ユニット82は、常に、参照ピクチャリスト94、96のいずれかから、隣接ビデオブロックの動きベクトルのための動き予測子を生成し得る。
【0128】
逆量子化ユニット86は、ビットストリーム中で供給され、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化(inverse quantize)、即ち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、各CU又はビデオブロックについてビデオエンコーダ20によって計算される量子化パラメータQP
Yの使用を含み得る。逆変換ユニット88は、逆変換、例えば、逆DCT、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用して、画素領域において残差ブロックを生成する。
【0129】
動き補償ユニット82が、動きベクトルと予測シンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つ又は複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号されたビデオブロックは、次いで、参照ピクチャメモリ92に記憶され、参照ピクチャメモリ92は、その後の動き補償のために参照ピクチャの参照ブロックを与える。参照ピクチャメモリ92はまた、
図1の表示装置32などの表示装置上での表示のための、復号されたビデオを生成する。
【0130】
図5は、単方向予測モードを使用してGPBフレームのビデオブロックが符号化されることを示すシングルビットシンタックス要素を符号化する例示的な演算を示すフローチャートである。図示の演算について、
図3からのビデオエンコーダ20を参照しながら説明する。
【0131】
ビデオエンコーダ20は、符号化されるべきビデオフレームのCU又はビデオブロックを受信する。GPBフレームが現在のビデオフレームに対して使用可能であるか又は許可された場合、ビデオエンコーダ20は、GPBフレームが使用可能であることを示すために、ビデオデコーダ30などのデコーダにGPB使用可能フラグを信号伝達する(98)。ビデオエンコーダ20は、ビデオフレームレベル又はビデオシーケンスレベルのいずれかにおいて、シンタックス中でGPB使用可能フラグを信号伝達し得る。GPB使用可能フラグは、GPBフレームが使用不能であること、全体的に使用可能であること、又は部分的に使用可能であることを示すように定義され得る。GPBフレームが全体的に使用可能であるとき、最初に指定されたPフレームは、ブロックごとに1つ又は2つの動きベクトルを用いるGPBフレームとして扱われ得る。GPBフレームが部分的に使用可能であるとき、Pフレーム概念、Bフレーム概念、及びGPBフレーム概念は別個の概念として扱われ得る。
【0132】
ビデオエンコーダ20は、次いで、GPBフレームとして現在のビデオフレームを符号化することを決定する(100)。場合によっては、ビデオエンコーダ20の動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオフレームのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中の1つ以上のビデオフレームをGPBフレームに指定し得る。他の場合には、動き推定ユニット42は、最初に指定されたPフレームをGPBフレームとして符号化すべきかどうかを決定し得る。後者の場合は、GPBフレームが全体的に使用可能であるのか部分的に使用可能であるのかに依存し得る。
【0133】
随意に、ビデオエンコーダ20は、現在のビデオフレームがGPBフレームとして符号化されることを示すために、ビデオデコーダ30にGPBフレームフラグを信号伝達する(102)。ビデオエンコーダ20は、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのうちの1つにおいて、シンタックス中でGPBフレームフラグを信号伝達し得る。そのGPBフレームフラグは、シーケンス内の所定のフレームがGPBフレームとして符号化され、従って、動き予測方向が低減ビットシンタックスで符号化されることをビデオデコーダ30に明示的に通知するために使用され得る。但し、場合によっては、ビデオエンコーダ20は、GPBフレーム符号化を明示的に信号伝達しないことがある。それらの場合には、ビデオエンコーダ20は、参照ピクチャリストが同等であるとき、所定のフレームがGPBフレームとして符号化されることをビデオデコーダ30に暗黙的に信号伝達し得る。GPBフレーム符号化の明示的又は暗黙的通知は、GPBフレームがBフレーム又はPフレームとして符号化されるときに必要であり得る。他の場合には、GPBフレームに対して新しいフレーム又はスライスタイプが定義され得、その新しいフレーム又はスライスタイプによって、GPBフレーム符号化の追加の明示的又は暗黙的通知が不要になる。
【0134】
現在のビデオフレームがGPBフレームとして符号化さると決定されるとき、ビデオエンコーダ20は、同等の参照ピクチャのための識別子を含んでいる、GPBフレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(104)。リスト0 66とリスト1 68とは同等の参照ピクチャを含むので、ビデオエンコーダ20の動き補償ユニット44は、単方向予測のために2つの同等の参照ピクチャリストのいずれも互換的に使用し得る。
【0135】
ビデオエンコーダ20は、参照ピクチャリストのいずれかの中の参照ピクチャに関する単方向予測を使用してGPBフレームの1つ以上のビデオブロックを符号化する(106)。本開示の技術によれば、動き補償ユニット44は、次いで、単方向予測を使用して符号化されるビデオブロックの各々の動き予測方向を表すためのシングルビットシンタックスを生成する。場合によっては、ビデオブロックが単方向予測を使用して符号化されるのか双方向予測を使用して符号化されるのかを示すように定義されたシングルビットシンタックス要素を備えるGPBフレームに対して別個のシンタックスが定義される(108)。シングルビットシンタックス要素の導入により、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示すように定義された第1のビットと、どの参照ピクチャリストが単方向予測のために使用されるのかを示すように定義された第2のビットとを含む通常のシンタックス要素との混同が回避され得る。
【0136】
GPBフレームに対して別個のシンタックス要素が定義されているとき(108のはい分岐)、動き補償ユニット44は、シングルビットシンタックス要素を生成する。ビデオエンコーダ20は、単方向予測を使用してビデオブロックが符号化されることを示すために、ビデオブロックの各々についてシングルビットシンタックス要素を符号化する(110)。同等の参照ピクチャリストのいずれも単方向予測のために使用され得るので、GPBフレームのビデオブロックを符号化するために参照ピクチャリストのどちらが使用されるのかを明示的に信号伝達する必要がない。
【0137】
GPBフレームに対して別個のシンタックス要素が定義されていないとき(108のいいえ分岐)、動き補償ユニット44は、通常のシンタックス要素の第1のビットのみを生成し得る。ビデオエンコーダ20は、単方向予測を使用してビデオブロックが符号化されることを示すために、ビデオブロックの各々についてシンタックス要素の第1のビットのみを符号化する(112)。参照ピクチャリストのいずれも単方向予測のために使用され得るので、動き補償ユニット44は、GPBフレームのビデオブロックについてのシンタックス要素の第2のビットを削除する(114)。いずれの場合も、ビデオエンコーダ20は、ブロックレベル又はPUレベルにおいて、GPBフレームの各ビデオブロックについての動きベクトル情報とともに、動き予測方向についてのシングルビットシンタックスをビデオデコーダに信号伝達する。
【0138】
図6は、単方向予測モードを使用してGPBフレームのビデオブロックが符号化されることを示すシングルビットシンタックス要素を復号する例示的な演算を示すフローチャートである。図示の演算について、
図4からのビデオデコーダ30を参照しながら説明する。
【0139】
ビデオデコーダ30は、ビデオエンコーダ20などの対応するビデオエンコーダから、符号化されたビデオフレームと符号化情報を表すシンタックス要素とを含むビットストリームを受信する(116)。ビデオデコーダ30は、ビデオブロック又はPUレベル、ビデオスライスレベル、ビデオフレームレベル及び/又はビデオシーケンスレベルにおいてシンタックス要素を受信し得る。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数、動きベクトル、及び他の予測シンタックスを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測ユニット81の動き補償ユニット82に動きベクトルと他の予測シンタックスとを転送する。動き補償ユニット82は、次いで、GPBフレームが現在のビデオフレームに対して使用可能であるか又は許可されると決定する(117)。動き補償ユニット82は、ビデオフレームレベル又はビデオシーケンスレベルのいずれかにおいてシンタックスとともに受信されるGPB使用可能フラグに基づいて、GPBフレームが使用可能であると決定し得る。GPB使用可能フラグは、GPBフレームが使用不能であること、全体的に使用可能であること、又は部分的に使用可能であることを示すように定義され得る。
【0140】
ビデオデコーダ30は、ビデオフレームレベルにおいてシンタックスで示される、同等の参照ピクチャのための識別子を含んでいる第1の参照ピクチャリスト(リスト0)94と第2の参照ピクチャリスト(リスト1)96とをメモリに記憶する(118)。動き補償ユニット82は、次いで、現在のビデオフレームがGPBフレームとして符号化されると決定する(120)。場合によっては、動き補償ユニット82は、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのいずれかにおいてシンタックス中で受信される、明示的に信号伝達されたGPBフレームフラグに基づいて、所定のフレームがGPBフレームであると決定し得る。他の場合には、第1の参照ピクチャリスト94と第2の参照ピクチャリスト96とが同等の参照ピクチャを含んでいるとき、動き補償ユニット82は、所定のフレームがGPBフレームであると決定し得る。GPBフレーム符号化の明示的又は暗黙的通知は、GPBフレームがBフレーム又はPフレームとして符号化されるときに必要であり得る。追加の場合には、動き補償ユニット82は、GPBフレームに対して定義された新しいフレーム又はスライスタイプに基づいて、所定のフレームがGPBフレームであると決定し得、その新しいフレーム又はスライスタイプによって、GPBフレーム符号化の追加の明示的又は暗黙的通知が不要になる。
【0141】
現在のフレームがGPBフレームであると決定されるとき、動き補償ユニット82は、単方向予測を使用して符号化されるGPBフレーム中の各ビデオブロックの動き予測方向がシングルビットシンタックスによって表され得ることに気づく。リスト0 94とリスト1 96とは同等の参照ピクチャを含むので、動き補償ユニット82は、単方向予測のために2つの同等の参照ピクチャリストのいずれも互換的に使用し得る。
【0142】
場合によっては、ビデオブロックが単方向予測を使用して符号化されるのか双方向予測を使用して符号化されるのかを示すように定義されたシングルビットシンタックス要素を備えるGPBフレームに対して別個のシンタックスが定義される(124)。シングルビットシンタックス要素の導入により、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示す第1のビットと、どの参照ピクチャリストが単方向予測のために使用されるのかを示す第2のビットとを含む通常のシンタックス要素との混同が回避され得る。
【0143】
GPBフレームに対して別個のシンタックス要素が定義されているとき(124のはい分岐)、動き補償ユニット82は、単方向予測を使用してビデオブロックが符号化されることを示すシングルビットシンタックス要素を構文解析する(126)。同等の参照ピクチャリストのいずれも単方向予測モードのために使用され得るので、動き補償ユニット82は、単方向予測のために参照ピクチャリストのうちの1つを使用する。GPBフレームに対して別個のシンタックス要素が定義されていないとき(122のいいえ分岐)、動き補償ユニット82は、単方向予測を使用してビデオブロックが符号化されることを示すシンタックス要素の第1のビットのみについてシンタックス要素を構文解析する(128)。動き補償ユニット82は、単方向予測モードのために参照ピクチャリストのいずれかを使用する。いずれの場合も、ビデオデコーダ30は、次いで、好適参照ピクチャリストからの単方向予測を使用してGPBフレームの1つ以上のビデオブロックを復号する(130)。
【0144】
図7は、参照ピクチャリストからの単方向予測モードを使用してビデオブロックが符号化されることを示す1つ以上のシンタックス要素を2ビット未満を使用して符号化する例示的な演算を示すフローチャートである。図示の演算について、
図3からのビデオエンコーダ20を参照しながら説明する。
【0145】
ビデオエンコーダ20は、符号化されるべきビデオフレームのCU又はビデオブロックを受信する。ビデオエンコーダ20は、次いで、現在のビデオフレームの符号化モードを決定する(132)。場合によっては、ビデオエンコーダ20の動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオフレームのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオフレームをPフレーム及び/又はBフレームに指定し得る。場合によっては、GPBフレームが使用可能であり得、従って、1つ以上のビデオフレームがGPBフレームに指定され得るか、又は動き推定ユニット42は、最初に指定されたPフレームをGPBフレームとして符号化することを決定し得る。
【0146】
現在のビデオフレームがGPBフレームとして符号化さると決定されるとき(134のはい分岐)、ビデオエンコーダ20は、同等の参照ピクチャのための識別子を含んでいる、GPBフレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(136)。リスト0 66とリスト1 68とは同等の参照ピクチャを含むので、ビデオエンコーダ20の動き補償ユニット44は、単方向予測モードのために2つの同等の参照ピクチャリストのいずれも好適参照ピクチャリストとして使用し得る。
【0147】
現在のビデオフレームがPフレーム又はBフレームとして符号化さると決定されるとき(138のいいえ分岐)、ビデオエンコーダ20は、異なる参照ピクチャのための識別子を含んでいる、フレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(138)。従来、リスト0 66は、過去の参照ピクチャのための識別子を含んでおり、リスト1 68は、将来の参照ピクチャのための識別子を含んでいる。場合によっては、動き補償ユニット44は、2つの参照ピクチャリストのうちのどちらの参照ピクチャリストが単方向予測のための好適参照ピクチャリストを備えるかを決定する(139)。これは、Bフレームのための単方向予測が、殆んどの場合、参照ピクチャリストのうちの一方よりも他方に基づいて実行される場合であり得る。例えば、Pフレームと同様に、Bフレームのための単方向予測は、一般に、リスト0 66からの過去の参照ピクチャに基づいて実行され得る。その例では、動き補償ユニット44は、リスト0 66が好適参照ピクチャリストであると決定し得る。
【0148】
ビデオエンコーダ20は、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用して現在のビデオフレームの1つ以上のビデオブロックを符号化する(140)。本開示の技術によれば、動き補償ユニット44は、次いで、ビデオブロックの各々の動き予測方向を示す1つ以上のシンタックス要素を生成する。ビデオエンコーダ20は、動き予測方向についてのシンタックス要素を表すための値を割り当てる。ビデオエンコーダ20は、次いで、ブロックレベル又はPUレベルにおいて、現在のビデオフレームの各ビデオブロックについての動きベクトル情報とともに、動き予測方向についてのシンタックス要素に割り当てられた値をビデオデコーダに信号伝達する。
【0149】
場合によっては、エントロピー符号化ユニット56は、各シンタックス要素をビット又はバイナリビットのシーケンスに2値化し得る。動き予測方向についての通常のシンタックス要素は、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示す第1のビットと、どの参照ピクチャリストが単方向予測のために使用されるのかを示す第2のビットとを含む。従来、0の2値化は双方向予測を表し、10の2値化はリスト0からの単方向予測を表し、11の2値化はリスト1からの単方向予測を表す。
【0150】
図示の例では、動き補償ユニット44は、好適参照ピクチャリストに関する単方向予測モードを示すシンタックス要素にシングルビット2値化を適応的にリンクする(142)。動き補償ユニット44は、動き予測方向を示すシンタックス要素の各ステータスがどのくらいの頻度で発生するかに基づいて2値化を適応させ得る。好適参照ピクチャリストからの単方向予測が他の予測モードよりも頻繁に使用されるとき、好適参照ピクチャリスト中の参照ピクチャからの単方向予測モードに0のシングルビット2値化をリンクすることがより効率的であり得る。例えば、リスト0が好適参照ピクチャリストである場合、動き補償ユニット44は、0のシングルビット2値化が、リスト0中の参照ピクチャに関する単方向予測モードを表し、10の2値化が、リスト1中の参照ピクチャに関する単方向予測モードを表し、11の2値化が、双方向予測モードを表すように2値化を適応させ得る。
【0151】
ビデオエンコーダ20は、次いで、ビデオデコーダ30などの対応するビデオデコーダに、動き予測方向を示すシンタックス要素の適応型2値化を信号伝達する(144)。動き補償ユニット44は、ビデオブロック又はPUレベル、CUレベル、ビデオスライスレベル、ビデオフレームレベル、あるいはビデオシーケンスレベルのうちの1つにおいて2値化を適応させ、信号伝達し得る。
【0152】
図8は、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用してビデオブロックが符号化されることを示す1つ以上のシンタックス要素を2ビット未満を使用して符号化する別の例示的な演算を示すフローチャートである。図示の演算について、
図3からのビデオエンコーダ20を参照しながら説明する。
【0153】
ビデオエンコーダ20は、符号化されるべきビデオフレームのCU又はビデオブロックを受信する。ビデオエンコーダ20は、次いで、現在のビデオフレームの符号化モードを決定する(150)。場合によっては、ビデオエンコーダ20の動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオフレームのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオフレームをPフレーム及び/又はBフレームに指定し得る。場合によっては、GPBフレームが使用可能であり得、従って、1つ以上のビデオフレームがGPBフレームに指定され得るか、又は動き推定ユニット42は、最初に指定されたPフレームをGPBフレームとして符号化することを決定し得る。
【0154】
現在のビデオフレームがGPBフレームとして符号化さると決定されるとき(152のはい分岐)、ビデオエンコーダ20は、同等の参照ピクチャのための識別子を含んでいる、GPBフレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(154)。リスト0 66とリスト1 68とは同等の参照ピクチャを含むので、ビデオエンコーダ20の動き補償ユニット44は、単方向予測モードのために2つの同等の参照ピクチャリストのいずれも好適参照ピクチャリストとして使用し得る。
【0155】
現在のビデオフレームがPフレーム又はBフレームとして符号化さると決定されるとき(152のいいえ分岐)、ビデオエンコーダ20は、異なる参照ピクチャのための識別子を含んでいる、フレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(156)。従来、リスト0 66は、過去の参照ピクチャのための識別子を含んでおり、リスト1 68は、将来の参照ピクチャのための識別子を含んでいる。場合によっては、動き補償ユニット44は、2つの参照ピクチャリストのうちのどちらの参照ピクチャリストが単方向予測のための好適参照ピクチャリストを備えるかを決定する(157)。これは、Bフレームのための単方向予測が、殆んどの場合、参照ピクチャリストのうちの一方よりも他方に基づいて実行される場合であり得る。例えば、Pフレームと同様に、Bフレームのための単方向予測は、一般に、リスト0 66からの過去の参照ピクチャに基づいて実行され得る。その例では、動き補償ユニット44は、リスト0 66が好適参照ピクチャリストであると決定し得る。
【0156】
ビデオエンコーダ20は、好適参照ピクチャリスト中の参照ピクチャに関する単方向予測モードを使用して現在のビデオフレームの1つ以上のビデオブロックを符号化する(158)。本開示の技術によれば、動き補償ユニット44は、次いで、ビデオブロックの各々の動き予測方向を示す1つ以上のシンタックス要素を生成する。ビデオエンコーダ20は、動き予測方向についてのシンタックス要素を表すための値を割り当てる。ビデオエンコーダ20は、次いで、ブロックレベル又はPUレベルにおいて、現在のビデオフレームの各ビデオブロックについての動きベクトル情報とともに、動き予測方向についてのシンタックス要素に割り当てられた値をビデオデコーダに信号伝達する。
【0157】
動き予測方向についての通常のシンタックス要素は、ブロックを符号化するために単方向予測が使用されるのか双方向予測が使用されるのかを示す第1のビットと、どの参照ピクチャリストが単方向予測のために使用されるのかを示す第2のビットとを含む。ビットごとに、エントロピー符号化ユニット56は、コンテキストに基づいてビットが1又は0である確率を推定する。確率がより高くなると、シンタックス要素を符号化するために使用される値の長さがより短くなる。場合によっては、値は、小数ビット、即ち、1ビット未満を備え得る。
【0158】
図示の例では、動き補償ユニット44は、シンタックス要素の確率を好適参照ピクチャリストのほうへバイアスする構成データを参照する(160)。単方向予測モードの場合、参照ピクチャリストのうちの1つが単方向予測のために他の参照ピクチャリストよりも好適であるとき、シンタックス要素が好適参照ピクチャリストを示す確率を高めることがより効率的であり得る。例えば、動き補償ユニット44は、シンタックス要素の第2のビットの状態値を0に設定し得、従って、構成データによればそのビットが0である確率、即ち、リスト0を示す確率は0.9999である。
【0159】
ビデオエンコーダ20は、単方向予測モードを使用してビデオブロックが符号化されることを示すために、ビデオブロックの各々の動き予測方向についてのシンタックス要素の第1のビットにシングルビット値を割り当てる(162)。ビデオエンコーダ20は、次いで、単方向予測モードのために使用される好適参照ピクチャリストを示すために、ビデオブロックの各々の動き予測方向についてのシンタックス要素の第2のビットに分数ビット値を割り当てる(164)。
【0160】
図9は、双方向予測を使用して符号化されたGPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとをジョイント符号化する例示的な演算を示すフローチャートである。図示の演算について、
図3からのビデオエンコーダ20と
図4からのビデオデコーダ30の両方を参照しながら説明する。
【0161】
最初に、
図3からのビデオエンコーダ20を参照しながら、動きベクトルを一緒に符号化する演算について説明する。ビデオエンコーダ20は、符号化されるべきビデオフレームのCU又はビデオブロックを受信する。ビデオエンコーダ20は、次いで、現在のビデオフレームがGPBフレームであると決定する(170)。場合によっては、ビデオエンコーダ20の動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオフレームのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中の1つ以上のビデオフレームをGPBフレームに指定し得る。他の場合には、動き推定ユニット42は、最初に指定されたPフレームをGPBフレームとして符号化すべきかどうかを決定し得る。後者の場合は、GPBフレームが全体的に使用可能であるのか部分的に使用可能であるのかに依存し得る。
【0162】
現在のビデオフレームがGPBフレームとして符号化さると決定されるとき、ビデオエンコーダ20は、同等の参照ピクチャのための識別子を含んでいる、GPBフレームのための第1の参照ピクチャリスト(リスト0)66と第2の参照ピクチャリスト(リスト1)68とをメモリに記憶する(172)。双方向予測の場合、ビデオエンコーダ20の動き推定ユニット42は、GPBフレームの1つ又は複数のビデオブロックの各々について、リスト0 66から第1の動きベクトルを計算し、リスト1 68から第2の動きベクトルを計算する。ビデオエンコーダ20は、次いで、リスト0 66からの第1の動きベクトルとリスト1 68からの第2の動きベクトルとを用いる双方向予測を使用してGPBフレームの1つ以上のビデオブロックを符号化する(174)。
【0163】
本開示の技術によれば、動き補償ユニット44は、双方向予測を使用して符号化されるビデオブロックの各々について動きベクトル情報を信号伝達するために使用されるビットを低減し得る。リスト0 66とリスト1 68とは同等の参照ピクチャを含むので、第1の動きベクトルと第2の動きベクトルとは、同じ参照ピクチャ又は実質的に同様の参照ピクチャのいずれかから計算される。従って、GPBフレームのビデオブロックのための第1の動きベクトルと第2の動きベクトルとは高度に相関し、その2つの動きベクトルをジョイント符号化することがより効率的である。
【0164】
動き補償ユニット44は、リスト0 66からの隣接ビデオブロックの動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成する(176)。ビデオエンコーダ20は、第1の動き予測子に対してビデオブロックのための第1の動きベクトルを符号化する(178)。第1の動きベクトルは、従来、第1の動きベクトルと第1の動き予測子との間の差を示すように定義された第1のシンタックス要素と、第1の動き予測子が生成された参照ピクチャのリスト0 66中のインデックスを示すように定義された第2のシンタックス要素として符号化され得る。
【0165】
ビデオエンコーダ20は、次いで、第1の動きベクトルに対して、ビデオブロックのための第2の動きベクトルを符号化する(180)。動き補償ユニット44は、従来、第2の動きベクトルを表すために使用されるシンタックス要素を低減するか又は削除し得る。このようにして、第2の動きベクトルは、第1の動きベクトルと第2の動きベクトルとの間の差として符号化され得る。ビデオエンコーダ20は、ブロックレベル又はPUレベルにおいて、GPBフレームの各ビデオブロックについての他の予測シンタックスとともに、ジョイント符号化された動きベクトルをビデオデコーダに信号伝達する。
【0166】
第2に、動きベクトルをジョイント復号する演算について説明する。ビデオデコーダ30は、ビデオエンコーダ20などの対応するビデオエンコーダから、符号化されたビデオフレームと符号化情報を表すシンタックス要素とを含むビットストリームを受信する。ビデオデコーダ30は、ビデオブロック又はPUレベル、ビデオスライスレベル、ビデオフレームレベル及び/又はビデオシーケンスレベルにおいてシンタックス要素を受信し得る。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数、動きベクトル、及び他の予測シンタックスを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測ユニット81の動き補償ユニット82に動きベクトルと他の予測シンタックスとを転送する。
【0167】
動き補償ユニット82は、次いで、現在のビデオフレームがGPBフレームであると決定する(170)。場合によっては、動き補償ユニット82は、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのいずれかにおいてシンタックス中で受信される、明示的に信号伝達されたGPBフレームフラグに基づいて、所定のフレームがGPBフレームであると決定し得る。他の場合には、ビデオフレームレベルにおいてシンタックス中で受信した第1の参照ピクチャリストと第2の参照ピクチャリストとが同等の参照ピクチャを含んでいるとき、動き補償ユニット82は、所定のフレームがGPBフレームであると決定し得る。追加の場合には、動き補償ユニット82は、GPBフレームに対して定義された新しいフレーム又はスライスタイプに基づいて、所定のフレームがGPBフレームであると決定し得る。
【0168】
ビデオデコーダ30は、ビデオフレームレベルにおいてシンタックスで示される、同等の参照ピクチャのための識別子を含んでいる第1の参照ピクチャリスト(リスト0)94と第2の参照ピクチャリスト(リスト1)96とをメモリに記憶する(172)。双方向予測の場合、ビデオエンコーダ30は、リスト0 94からの第1の動きベクトルとリスト1 96からの第2の動きベクトルとを用いる双方向予測を使用して、GPBフレームの1つ以上のビデオブロックを復号する(174)。
【0169】
本開示の技術によれば、ビデオデコーダ30は、ビデオブロック又はPUレベルにおいて受信されるシンタックス要素に基づいてGPBフレームのビデオブロックを復号するために使用される第1の動きベクトルと第2の動きベクトルとを一緒に復号する。第1の動きベクトルは、従来、第1の動きベクトルと第1の動き予測子との間の差を示す第1のシンタックス要素と、第1の動き予測子が生成された参照ピクチャのリスト0 94中のインデックスを示す第2のシンタックス要素とに基づいて復号され得る。動き補償ユニット82は、第2のシンタックス要素によって識別される隣接ビデオブロックの動きベクトルから、現在のビデオブロックの第1の動きベクトルのための第1の動き予測子を生成する(176)。ビデオデコーダ30は、第1のシンタックス要素に基づいて、第1の動き予測子に対してビデオブロックのための第1の動きベクトルを復号する(178)。
【0170】
ビデオデコーダ30は、次いで、第1の動きベクトルに対して、ビデオブロックのための第2の動きベクトルを復号する(180)。動き補償ユニット82は、従来、第2の動きベクトル復号するために使用されるシンタックス要素を低減するか又は削除し得る。このようにして、第2の動きベクトルは、第1の動きベクトルと第2の動きベクトルとの間の差に基づいて復号され得る。
【0171】
1つ又は複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、1つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コード及び/又はデータ構造を取り出すために1つ又は複数のコンピュータあるいは1つ又は複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0172】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【0173】
命令は、1つ又は複数のデジタル信号プロセッサ(DSP)などの1つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技術の実装に好適な他の構造のいずれかを指し得る。さらに、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技術は、1つ又は複数の回路又は論理要素において完全に実装され得る。
【0174】
本開示の技術は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。本開示では、開示した技術を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。 [1] ビデオデータを符号化する方法であって、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオフレームのビデオブロックを符号化することと、前記参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示す1つ以上のシンタックス要素を符号化することと、を含み、前記シンタックス要素が、2ビット未満を使用して符号化される、方法。 [2] 第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶することをさらに備え、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であり、前記単方向予測モードのために使用される前記参照ピクチャリストが、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのいずれかを備え、1つ又は複数のシンタックス要素を符号化することが、前記単方向予測モードのために使用される前記参照ピクチャリストを示すことなしに、前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示すシングルビットシンタックス要素を符号化することを備える、[1]に記載の方法。 [3] シングルビットシンタックス要素を符号化することが、ビデオデコーダにおいて、前記単方向予測モード又は前記双方向予測モードのうちの前記1つを使用して前記ビデオブロックが符号化されることを示す前記シングルビットシンタックス要素を構文解析することを備え、ビデオブロックを符号化することが、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのいずれかの中の参照ピクチャに関する前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックを復号することを備える、[2]に記載の方法。 [4] シングルビットシンタックス要素を符号化することが、前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示すシンタックス要素の第1のビットを符号化することと、前記単方向予測モードのために使用される前記参照ピクチャリストを示すように定義された前記シンタックス要素の第2のビットを削除することとを備える、[2]に記載の方法。 [5] 前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記ビデオフレームが一般化P/B(GPB)フレームとして符号化されることを信号伝達することをさらに備える、[2]に記載の方法。 [6] 前記ビデオフレームがGPBフレームとして符号化されることを信号伝達することが、ビデオデコーダにおいて前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとを比較することと、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記ビデオフレームがGPBフレームとして符号化されると決定することとを備える、[5]に記載の方法。 [7] 前記ビデオフレームがGPBフレームとして符号化されることを信号伝達することが、ビデオスライスレベル、ビデオフレームレベル又はビデオシーケンスレベルのうちの1つにおいて前記ビデオフレームがGPBフレームとして符号化されることを示すフラグを信号伝達することを備える、[5]に記載の方法。 [8] 前記ビデオフレームがGPBフレームとして符号化されることを信号伝達することが、GPBスライス、GPBフラグをもつPスライス、又はGPBフラグをもつBスライスのうちの1つとして前記ビデオフレームを符号化することを備える、[5]に記載の方法。 [9] ビデオフレームレベル又はビデオシーケンスレベルのうちの1つにおいて前記GPBフレームが使用可能であることを示すためのフラグを信号伝達することをさらに備える、[5]に記載の方法。 [10] 第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶することをさらに備え、前記単方向予測モードのために使用される前記参照ピクチャリストが、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの好適な1つを備え、前記1つ以上のシンタックス要素を符号化することが、前記シンタックス要素を表すための値を割り当てることを備え、前記好適参照ピクチャリスト中の参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素を表すために割り当てられる値が、2ビット未満を備える、[1]に記載の方法。 [11] 前記1つ以上のシンタックス要素を符号化することが、ビデオデコーダにおいて、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素を表すために割り当てられた前記値を復号することを備え、ビデオブロックを符号化することが、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックを復号することを備える、[10]に記載の方法。 [12] 前記シンタックス要素を表すための値を割り当てることは、前記シンタックス要素が前記好適参照ピクチャリストを示す確率を、前記シンタックス要素が非好適参照ピクチャリストを示す確率よりも高くなるようにバイアスする構成データを参照することを備える、[10]に記載の方法。 [13] 前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記より高い確率のシンタックス要素を表すための値を割り当てることが、前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示すシンタックス要素の第1のビットを表すためのシングルビット値を割り当てることと、前記単方向予測モードのために前記好適参照ピクチャリストが使用されることを示す前記シンタックス要素の第2のビットを表すための分数ビット値を割り当てることであって、前記分数ビット値が1ビット未満を備える、割り当てることとを備える、[12]に記載の方法。 [14] 前記シンタックス要素を表すための値を割り当てることが、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素にシングルビット2値化を適応的にリンクすることを備える、[10]に記載の方法。 [15] 前記シンタックス要素にシングルビット2値化を適応的にリンクすることが、予測ユニットレベル、符号化ユニットレベル、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのうちの1つにおいて前記適応型2値化を信号伝達することを備える、[14]に記載の方法。 [16] 復号された参照ピクチャを記憶するメモリと、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオフレームのビデオブロックを符号化することと、前記参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示す1つ以上のシンタックス要素を符号化することとを行うプロセッサと、を備えるビデオ符号化装置。 [17] 前記メモリが、第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶し、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であり、前記単方向予測モードのために使用される前記参照ピクチャリストが、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのいずれかを備え、前記プロセッサは、前記単方向予測モードのために使用される前記参照ピクチャリストを示すことなしに、前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示すシングルビットシンタックス要素を符号化する、[16]に記載のビデオ符号化装置。 [18] 前記ビデオ符号化装置がビデオ復号装置を備え、前記プロセッサは、前記単方向予測モード又は前記双方向予測モードのうちの前記1つを使用して前記ビデオブロックが符号化されることを示す前記シングルビットシンタックス要素を構文解析することと、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのいずれかの中の参照ピクチャに関する前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックを復号することとを行う、[17]に記載のビデオ符号化装置。 [19] 前記プロセッサは、前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示すシンタックス要素の第1のビットを符号化することと、前記単方向予測モードのために使用される前記参照ピクチャリストを示すように定義された前記シンタックス要素の第2のビットを削除することとを行う、[17]に記載のビデオ符号化装置。 [20] 前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記プロセッサは、前記ビデオフレームが一般化P/B(GPB)フレームとして符号化されることを信号伝達する、[17]に記載のビデオ符号化装置。 [21] 前記ビデオ符号化装置がビデオ復号装置を備え、前記プロセッサは、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとを比較し、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記ビデオフレームがGPBフレームとして符号化されると決定する、[20]に記載のビデオ符号化装置。 [22] 前記プロセッサは、ビデオスライスレベル、ビデオフレームレベル又はビデオシーケンスレベルのうちの1つにおいて前記ビデオフレームがGPBフレームとして符号化されることを示すフラグを信号伝達する、[20]に記載のビデオ符号化装置。 [23] 前記プロセッサは、GPBスライス、GPBフラグをもつPスライス、又は前記ビデオフレームがGPBフレームとして符号化されることを示すためのGPBフラグをもつBスライスのうちの1つとして前記ビデオフレームを符号化する、[20]に記載のビデオ符号化装置。 [24] 前記プロセッサは、ビデオフレームレベル又はビデオシーケンスレベルのうちの1つにおいて前記GPBフレームが使用可能であることを示すためのフラグを信号伝達する、[20]に記載のビデオ符号化装置。 [25] 前記メモリが、第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶し、前記単方向予測モードのために使用される前記参照ピクチャリストが、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの好適な1つを備え、前記プロセッサは、前記シンタックス要素を表すための値を割り当て、前記好適参照ピクチャリスト中の参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素を表すために割り当てられる値が、2ビット未満を備える、[16]に記載のビデオ符号化装置。 [26] 前記ビデオ符号化装置がビデオ復号装置を備え、前記プロセッサは、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素を表すために割り当てられた前記値を復号することと、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックを復号することとを行う、[25]に記載のビデオ符号化装置。 [27] 前記プロセッサは、前記シンタックス要素が前記好適参照ピクチャリストを示す確率を、前記シンタックス要素が非好適参照ピクチャリストを示す確率よりも高くなるようにバイアスする構成データを参照することによって、前記シンタックス要素を表すための値を割り当てる、[25]に記載のビデオ符号化装置。 [28] 前記プロセッサは、前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示すシンタックス要素の第1のビットを表すためのシングルビット値を割り当てることと、前記単方向予測モードのために前記好適参照ピクチャリストが使用されることを示す前記シンタックス要素の第2のビットを表すための1ビット未満の分数ビット値を割り当てることと、を行うことによって、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記より高い確率のシンタックス要素を表すための値を割り当てる、[27]に記載のビデオ符号化装置。 [29] 前記プロセッサは、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素にシングルビット2値化を適応的にリンクすることによって、前記シンタックス要素を表すための値を割り当てる、[25]に記載のビデオ符号化装置。 [30] 前記プロセッサが、予測ユニットレベル、符号化ユニットレベル、ビデオスライスレベル、ビデオフレームレベル、又はビデオシーケンスレベルのうちの1つにおいて前記適応型2値化を信号伝達する、[29]に記載のビデオ符号化装置。 [31] 参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオフレームのビデオブロックを符号化するための手段と、前記参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示す1つ以上のシンタックス要素を符号化するための手段と、を備え、前記シンタックス要素が2ビット未満を使用して符号化される、ビデオ符号化装置。 [32] 第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶するための手段と、前記単方向予測モードのために使用される前記参照ピクチャリストを示すことなしに、前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示すシングルビットシンタックス要素を符号化するための手段と、をさらに備え、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であり、前記単方向予測モードのために使用される前記参照ピクチャリストが、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのいずれかを備える、[31]に記載のビデオ符号化装置。 [33] 前記ビデオ符号化装置がビデオ復号装置を備え、前記単方向予測モード又は前記双方向予測モードのうちの前記1つを使用して前記ビデオブロックが符号化されることを示す前記シングルビットシンタックス要素を構文解析するための手段と、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのいずれかの中の参照ピクチャに関する前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックを復号するための手段と、をさらに備える、[32]に記載のビデオ符号化装置。 [34] 前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示すシンタックス要素の第1のビットを符号化するための手段と、前記単方向予測モードのために使用される前記参照ピクチャリストを示すように定義された前記シンタックス要素の第2のビットを削除するための手段と、をさらに備える、[32]に記載のビデオ符号化装置。 [35] 前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記ビデオフレームが一般化P/B(GPB)フレームとして符号化されることを信号伝達するための手段をさらに備える、[32]に記載のビデオ符号化装置。 [36] 第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶するための手段であって、前記単方向予測モードのために使用される前記参照ピクチャリストが、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの好適な1つを備える、記憶するための手段と、前記シンタックス要素を表すための値を割り当てるための手段と、をさらに備え、前記好適参照ピクチャリスト中の参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素を表すために割り当てられる値が2ビット未満を備える、[31]に記載のビデオ符号化装置。 [37] 前記ビデオ符号化装置がビデオ復号装置を備え、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素を表すために割り当てられた前記値を復号するための手段と、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックを復号するための手段と、をさらに備える、[36]に記載のビデオ符号化装置。 [38] 前記シンタックス要素を表すための値を割り当てるための前記手段は、前記シンタックス要素が前記好適参照ピクチャリストを示す確率を、前記シンタックス要素が非好適参照ピクチャリストを示す確率よりも高くなるようにバイアスする構成データを参照するための手段を備える、[36]に記載のビデオ符号化装置。 [39] 前記シンタックス要素を表すための値を割り当てるための前記手段が、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素にシングルビット2値化を適応的にリンクするための手段を備える、[36]に記載のビデオ符号化装置。 [40] プロセッサ中で実行されると、参照ピクチャリスト中の参照ピクチャに関する単方向予測モードと双方向予測モードとのうちの1つを使用してビデオフレームのビデオブロックを符号化することと、前記参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示す1つ以上のシンタックス要素を符号化することと、を前記プロセッサに行わせる、ビデオデータを符号化するための命令を備え、前記シンタックス要素が2ビット未満を使用して符号化される、コンピュータ可読記憶媒体。 [41] 第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶することと、前記単方向予測モードのために使用される前記参照ピクチャリストを示すことなしに、前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示すシングルビットシンタックス要素を符号化することと、を前記プロセッサに行わせる命令をさらに備え、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であり、前記単方向予測モードのために使用される前記参照ピクチャリストが、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのいずれかを備える、[40]に記載のコンピュータ可読記憶媒体。 [42] 前記命令が、ビデオデコーダにおいて、前記単方向予測モード又は前記双方向予測モードのうちの前記1つを使用して前記ビデオブロックが符号化されることを示す前記シングルビットシンタックス要素を構文解析することと、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのいずれかの中の参照ピクチャに関する前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックを復号することと、を前記プロセッサに行わせる、[41]に記載のコンピュータ可読記憶媒体。 [43] 前記命令が、前記単方向予測モードと前記双方向予測モードとのうちの前記1つを使用して前記ビデオブロックが符号化されることを示すシンタックス要素の第1のビットを符号化することと、前記単方向予測モードのために使用される前記参照ピクチャリストを示すように定義された前記シンタックス要素の第2のビットを削除することと、を前記プロセッサに行わせる、[41]に記載のコンピュータ可読記憶媒体。 [44] 前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとが同等であるとき、前記ビデオフレームが一般化P/B(GPB)フレームとして符号化されることを前記プロセッサに信号伝達させる命令をさらに備える、[41]に記載のコンピュータ可読記憶媒体。 [45] 第1の参照ピクチャリストと第2の参照ピクチャリストとを記憶することと、前記シンタックス要素を表すための値を割り当てることと、を前記プロセッサに行わせる命令をさらに備え、前記単方向予測モードのために使用される前記参照ピクチャリストが、前記第1の参照ピクチャリストと前記第2の参照ピクチャリストとのうちの好適な1つを備え、前記好適参照ピクチャリスト中の参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素を表すために割り当てられる値が、2ビット未満を備える、[40]に記載のコンピュータ可読記憶媒体。 [46] 前記命令が、ビデオデコーダにおいて、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素を表すために割り当てられた前記値を復号することと、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックを復号することと、を前記プロセッサに行わせる、[45]に記載のコンピュータ可読記憶媒体。 [47] 前記命令が、前記シンタックス要素が前記好適参照ピクチャリストを示す確率を、前記シンタックス要素が非好適参照ピクチャリストを示す確率よりも高くなるようにバイアスする構成データを参照することによって、前記シンタックス要素を表すための値を割り当てることを前記プロセッサに行わせる、[45]に記載のビデオ符号化装置。 [48] 前記命令が、前記好適参照ピクチャリスト中の前記参照ピクチャに関する前記単方向予測モードを使用して前記ビデオブロックが符号化されることを示す前記シンタックス要素にシングルビット2値化を適応的にリンクすることによって、前記シンタックス要素を表すための値を割り当てることを前記プロセッサに行わせる、[45]に記載のビデオ符号化装置。