(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-22
(45)【発行日】2022-08-30
(54)【発明の名称】サブブロックベースの時間動きベクトル予測を使用するビデオコーディング方法及び装置
(51)【国際特許分類】
H04N 19/52 20140101AFI20220823BHJP
【FI】
H04N19/52
(21)【出願番号】P 2021510220
(86)(22)【出願日】2019-08-29
(86)【国際出願番号】 US2019048864
(87)【国際公開番号】W WO2020047289
(87)【国際公開日】2020-03-05
【審査請求日】2021-02-24
(32)【優先日】2018-08-29
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】521024075
【氏名又は名称】ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100201743
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】チェン,イー-ウエン
(72)【発明者】
【氏名】ワーン,シアーンリン
【審査官】坂東 大五郎
(56)【参考文献】
【文献】国際公開第2017/195608(WO,A1)
【文献】Hyeongmun Jang et al.,[CE4-2.6] Simplified ATMVP,Joint Video Experts Team (JVET),2018年07月11日,[JVET-K0079-v1] (version 3)
【文献】Xiaoyu Xiu et al.,CE4-related: One simplified design of advanced temporal motion vector prediction (ATMVP),Joint Video Experts Team (JVET),2018年07月15日,[JVET-K0346-v3] (version 5)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
サブブロックベースの時間動きベクトル予測の方法であって、
各々が複数の符号化ユニット(CU)を含む複数の符号化ピクチャに関連したデータを含むビデオビットストリームを取得するステップ
を備えるとともに、
前記ビデオビットストリームにおける複数の参照ピクチャを有する現在のピクチャを復号する間に、
前記ビデオビットストリームで信号伝達されたシンタックス要素に従って、前記現在のピクチャのコロケーテッドピクチャとして前記参照ピクチャのうちの1つを選択するステップと、
前記コロケーテッドピクチャと前記現在のピクチャとの間の時間ベクトルを決定するステップと、
前記現在のピクチャにおける現在のCUを、各々が前記現在のピクチャのそれぞれのサブブロックに対応する複数のサブCUに分割するステップと、
(i)前記コロケーテッドピクチャと前記現在のピクチャとの間の当該時間ベクトル、及び、(ii)前記現在のピクチャの当該それぞれのサブブロックに対応する当該コロケーテッドピクチャ内のブロックの動き情報から、前記現在のCUの各サブCUに関する時間動きベクトル予測子を取得するステップと、
前記現在のCUの前記複数のサブCUの前記時間動きベクトル予測子に従って前記現在のCUを復号するステップと
を備え、
前記時間ベクトルを決定する上記ステップは、
前記現在のピクチャにおける現在のCUの
1つの空間的に近隣のブロックに関連した複数の参照ピクチャのうち前記コロケーテッドピクチャと同一の参照ピクチャが1つ見つかるまで、一定の順序に従って、前記
1つの空間的に近隣のブロックに関連した参照ピクチャを検査するステップと、
当該検査された参照ピクチャを指定する前記
1つの空間的に近隣のブロックの動きベクトルを前記時間ベクトルとして選択するステップと
を含む、方法。
【請求項2】
請求項1に記載の方法であって、前記複数の参照ピクチャは、複数の参照ピクチャからなる第1のリストと、前記第1のリストとは異なる、複数の参照ピクチャからなる第2のリストとを含み、前記第1のリストは、時間において前記現在のピクチャに先行する少なくとも1つの参照ピクチャを含み、前記第2のリストは、時間において前記現在のピクチャに後続する少なくとも1つの参照ピクチャを含む、方法。
【請求項3】
請求項1に記載の方法であって、前記複数の参照ピクチャは、複数の参照ピクチャからなる第1のリストと、複数の参照ピクチャからなる第2のリストとを含み、前記一定の順序は、前記複数の参照ピクチャの所定の順序であり、前記所定の順序は、複数の参照ピクチャからなる前記第2のリストを処理する前に、複数の参照ピクチャからなる前記第1のリストを処理するためのものである、方法。
【請求項4】
請求項1に記載の方法であって、前記複数の参照ピクチャは、複数の参照ピクチャからなる第1のリストと、複数の参照ピクチャからなる第2のリストとを含み、前記一定の順序は、前記複数の参照ピクチャの所定の順序であり、前記所定の順序は、複数の参照ピクチャからなる前記第1のリストを処理する前に、複数の参照ピクチャからなる前記第2のリストを処理するためのものである、方法。
【請求項5】
請求項1に記載の方法であって、
前記現在のCUの各サブCUに関する時間動きベクトル予測子を取得する上記ステップは、
前記コロケーテッドピクチャと前記現在のピクチャとの間の前記時間ベクトルに従って、前記現在のピクチャにおける前記サブCUの前記サブブロックと同一の相対位置にある前記コロケーテッドピクチャにおけるブロックを特定するステップと、
前記コロケーテッドピクチャにおける当該特定されたブロックの動き情報を決定するステップと、
前記サブCUの前記時間動きベクトル予測子として、当該特定されたブロックの当該決定された動き情報から動きベクトルを導出するステップと
をさらに備える方法。
【請求項6】
請求項1に記載の方法であって、
前記現在のCUの各サブCUに関する時間動きベクトル予測子を取得する上記ステップは、
前記現在のピクチャにおける前記現在のCUの中心又は中心近傍のサブCUのサブブロックに対応する、前記コロケーテッドピクチャにおけるブロックを特定するステップと、
前記コロケーテッドピクチャにおける当該特定されたブロックの動き情報を決定するステップと、
前記コロケーテッドピクチャにおいて前記現在のCUのいずれかのサブCUの対応ブロックが動き情報を有しないとき、当該いずれかのサブCUのデフォルトの時間動きベクトル予測子として、当該特定されたブロックの当該決定された動き情報から動きベクトルを導出するステップと
をさらに備える方法。
【請求項7】
1つ以上のプロセッサと、
前記1つ以上のプロセッサに接続されたメモリと、
前記メモリに記憶された複数のプログラムと
を備える演算装置であって、前記複数のプログラムは、前記1つ以上のプロセッサによって実行されると、
各々が複数の符号化ユニット(CU)を含む複数の符号化ピクチャに関連したデータを含むビデオビットストリームを取得するステップと、
前記ビデオビットストリームにおける複数の参照ピクチャを有する現在のピクチャを復号する間に、
前記ビデオビットストリームで信号伝達されたシンタックス要素に従って、前記現在のピクチャのコロケーテッドピクチャとして前記参照ピクチャのうちの1つを選択するステップと、
前記コロケーテッドピクチャと前記現在のピクチャとの間の時間ベクトルを決定するステップと、
前記現在のピクチャにおける現在のCUを、各々が前記現在のピクチャのそれぞれのサブブロックに対応する複数のサブCUに分割するステップと、
(i)前記コロケーテッドピクチャと前記現在のピクチャとの間の当該時間ベクトル、及び、(ii)前記現在のピクチャの当該それぞれのサブブロックに対応する当該コロケーテッドピクチャ内のブロックの動き情報から、前記現在のCUの各サブCUに関する時間動きベクトル予測子を取得するステップと、
前記現在のCUの前記複数のサブCUの前記時間動きベクトル予測子に従って前記現在のCUを復号するステップと
を含む処理を前記演算装置に実行させ、
前記時間ベクトルを決定する上記ステップは、
前記現在のピクチャにおける現在のCUの
1つの空間的に近隣のブロックに関連した複数の参照ピクチャのうち前記コロケーテッドピクチャと同一の参照ピクチャが1つ見つかるまで、一定の順序に従って、前記
1つの空間的に近隣のブロックに関連した参照ピクチャを検査するステップと、
当該検査された参照ピクチャを指定する前記
1つの空間的に近隣のブロックの動きベクトルを前記時間ベクトルとして選択するステップと
を含む、演算装置。
【請求項8】
請求項7に記載の演算装置であって、前記複数の参照ピクチャは、複数の参照ピクチャからなる第1のリストと、前記第1のリストとは異なる、複数の参照ピクチャからなる第2のリストとを含み、前記第1のリストは、時間において前記現在のピクチャに先行する少なくとも1つの参照ピクチャを含み、前記第2のリストは、時間において前記現在のピクチャに後続する少なくとも1つの参照ピクチャを含む、演算装置。
【請求項9】
請求項7に記載の演算装置であって、前記複数の参照ピクチャは、複数の参照ピクチャからなる第1のリストと、複数の参照ピクチャからなる第2のリストとを含み、前記一定の順序は、前記複数の参照ピクチャの所定の順序であり、前記所定の順序は、複数の参照ピクチャからなる前記第2のリストを処理する前に、複数の参照ピクチャからなる前記第1のリストを処理するためのものである、演算装置。
【請求項10】
請求項7に記載の演算装置であって、前記複数の参照ピクチャは、複数の参照ピクチャからなる第1のリストと、複数の参照ピクチャからなる第2のリストとを含み、前記一定の順序は、前記複数の参照ピクチャの所定の順序であり、前記所定の順序は、複数の参照ピクチャからなる前記第1のリストを処理する前に、複数の参照ピクチャからなる前記第2のリストを処理するためのものである、演算装置。
【請求項11】
請求項7に記載の演算装置であって、
前記現在のCUの各サブCUに関する時間動きベクトル予測子を取得する上記ステップは、
前記コロケーテッドピクチャと前記現在のピクチャとの間の前記時間ベクトルに従って、前記現在のピクチャにおける前記サブCUの前記サブブロックと同一の相対位置にある前記コロケーテッドピクチャにおけるブロックを特定するステップと、
前記コロケーテッドピクチャにおける当該特定されたブロックの動き情報を決定するステップと、
前記サブCUの前記時間動きベクトル予測子として、当該特定されたブロックの当該決定された動き情報から動きベクトルを導出するステップと
をさらに含む、演算装置。
【請求項12】
請求項7に記載の演算装置であって、
前記現在のCUの各サブCUに関する時間動きベクトル予測子を取得する上記ステップは、
前記現在のピクチャにおける前記現在のCUの中心又は中心近傍のサブCUのサブブロックに対応する、前記コロケーテッドピクチャにおけるブロックを特定するステップと、
前記コロケーテッドピクチャにおける当該特定されたブロックの動き情報を決定するステップと、
前記コロケーテッドピクチャにおいて前記現在のCUのいずれかのサブCUの対応ブロックが動き情報を有しないとき、当該いずれかのサブCUのデフォルトの時間動きベクトル予測子として、当該特定されたブロックの当該決定された動き情報から動きベクトルを導出するステップと
をさらに含む、演算装置。
【請求項13】
1つ以上のプロセッサを有する演算装置によって実行するための複数のプログラムを記憶している非一時的なコンピュータ読み取り可能な記録媒体であって、
前記複数のプログラムは、前記1つ以上のプロセッサによって実行されると、請求項1から6のうちのいずれか1項に記載の方法のステップを前記演算装置に実施させる、非一時的なコンピュータ読み取り可能な記録媒体。
【請求項14】
1つ以上のプロセッサを有する演算装置による実行のためのコンピュータプログラムであって、前記コンピュータプログラムは、前記1つ以上のプロセッサによって実行されると、請求項1から6のうちのいずれか1項に記載の方法のステップを前記演算装置に実施させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本出願は、一般にビデオデータの符号化及び復号に関し、特に、サブブロックベースの時間動きベクトル予測を使用するビデオコーディング方法及びシステムに関する。
【背景技術】
【0002】
[0002]デジタルビデオは、デジタルテレビジョン、ラップトップ型又はデスクトップ型のコンピュータ、タブレット型コンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤー、ビデオゲームコンソール、スマートフォン、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどの種々の電子デバイスによってサポートされる。そのような電子デバイスは、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4 Part 10 AVC(Advanced Video Coding)、HEVC(高能率映像符号化:High Efficiency Video Coding)、VVC(Versatile Video Coding)規格などで定められたビデオ圧縮伸張規格を実装することにより、デジタルビデオデータの送信、受信、符号化、復号、及び/又は格納を行う。一般にビデオ圧縮は、空間(イントラフレーム)予測及び/又は時間(インターフレーム)予測を実行してビデオデータに固有の冗長を低減するか又は除去することを含む。ブロックベースのビデオコーディングについては、ビデオフレームが1つ以上のスライスへと分割され、各スライスが符号化ツリーユニット(CTU:coding tree unit)とも称され得る複数のビデオブロックを有する。各CTUが1つの符号化ユニット(CU:coding unit)を含有し得、又は所定の最小のCUサイズに達するまで、より小さいCUへと再帰的に分割され得る。各CU(リーフCUとも命名されている)が1つ以上の変換ユニット(TU:transform unit)を含有しており、1つ以上の予測ユニット(PU:prediction unit)も含む。各CUは、イントラモード、インターモード又はIBCモードのいずれかで符号化され得る。ビデオフレームにおけるイントラ符号化(I)スライス内のビデオブロックは、同じビデオフレームの内部の近隣のブロックにおける参照サンプルに対して空間予測を使用して符号化される。ビデオフレームにおけるインター符号化(P又はB)スライス内のビデオブロックは、同じビデオフレーム内の近隣のブロックにおける参照サンプルに対する空間予測を使用したものでもよいし、あるいは以前の他の参照ビデオフレーム及び/又は未来の他の参照ビデオフレームにおける参照サンプルに対する時間予測を使用したものでもよい。
【0003】
[0003]たとえば近隣のブロックといった以前に符号化された参照ブロックに基づく空間予測又は時間予測は、符号化される現在のビデオブロックに関する予測ブロックをもたらす。参照ブロックを見いだすプロセスは、ブロックマッチングアルゴリズムによって達成され得る。符号化される現在のブロックと予測ブロックとの間の画素差分を表す残差データは、残差ブロック又は予測誤差と称される。インター符号化ブロックは、予測ブロックを形成する参照フレームにおける参照ブロックを指し示す動きベクトル及び残差ブロックに従って符号化される。動きベクトルを決定するプロセスは一般的には動き予測と称される。イントラ符号化ブロックは、イントラ予測モード及び残差ブロックに従って符号化される。さらなる圧縮のために、残差ブロックは、画素領域から、たとえば周波数領域といった変換領域に変換されて残差変換係数をもたらし、次いで量子化され得る。最初に2次元配列に配置される量子化された変換係数は、変換係数の1次元ベクトルを生成するために走査されてよく、次いで、さらにいっそうの圧縮を達成するためにビデオビットストリームへとエントロピー符号化される。
【0004】
[0004]次いで、符号化ビデオビットストリームは、デジタルビデオ機能を伴う別の電子デバイスによってアクセスされるコンピュータ読み取り可能な記録媒体(たとえばフラッシュメモリ)に保存されるか、又は有線もしくは無線で電子デバイスに直接伝送される。次いで、電子デバイスは、たとえば符号化ビデオビットストリームを解析してビットストリームからシンタックス要素を取得し、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、符号化ビデオビットストリームからのデジタルビデオデータを元のフォーマットに再構成することによってビデオ伸張(前述のビデオ圧縮とは逆の処理)を実行し、再構成されたデジタルビデオデータを電子デバイスのディスプレイに描画する。
【0005】
[0005]デジタルビデオの品質がハイビジョン(High Definition)から4K×2K又は8K×4Kに移行するにつれて、符号化/復号対象のビデオデータ量が指数関数的に増大する。これは、復号されるビデオデータの画質を維持しながらビデオデータがいかにより効率的に符号化/復号できるかという点での絶え間ない努力がある。
【発明の概要】
【0006】
[0006]本出願はビデオデータの符号化及び復号に関連した実施形態を記述するものであり、より詳細には、サブブロックベースの時間動きベクトル予測を使用する、ビデオの符号化及び復号のシステム及び方法に関する。
【課題を解決するための手段】
【0007】
[0007]本出願の第1の態様によれば、サブブロックベースの時間動きベクトル予測の方法は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行される複数のプログラムを記憶するメモリとを有する演算装置において実行される。演算装置は、複数の符号化ピクチャに関連したデータを含むビデオビットストリームを取得する。演算装置は、ビデオビットストリームにおける現在のピクチャを復号する一方で、ビデオビットストリームで信号伝達されたシンタックス要素に従って、現在のピクチャのコロケーテッドピクチャとしての1つの参照ピクチャを選択し、一定の順序に従って、現在の符号化ユニット(CU)の空間的に近隣のブロックの動き情報から、コロケーテッドピクチャと現在のピクチャとの間の動きシフト量を決定する。次に、演算装置は、現在のCUを、各々が現在のピクチャのそれぞれのサブブロックに対応する複数のサブCUへと分割する。次いで、演算装置は、(i)コロケーテッドピクチャと現在のピクチャとの間の動きシフト量、及び、(ii)現在のピクチャのそれぞれのサブブロックに対応するコロケーテッドピクチャ内のブロックの動き情報から、現在のCUの各サブCUに関する時間動きベクトル予測子を取得し、現在のCUの複数のサブCUの時間動きベクトル予測子に従って現在のCUを復号する。
【0008】
[0008]本出願の第2の態様によれば、演算装置は、1つ以上のプロセッサ、メモリ、及びメモリに記憶された複数のプログラムを含む。プログラムが1つ以上のプロセッサによって実行されると、前述のように、演算装置が当該処理を実行する。
【0009】
[0009]本出願の第3の態様によれば、非一時的なコンピュータ読み取り可能な記録媒体が、1つ以上のプロセッサを有する演算装置によって実行するための複数のプログラムを記憶する。プログラムが1つ以上のプロセッサによって実行されると、前述のように、演算装置が当該処理を実行する。
【0010】
[0010]実施形態のさらなる理解を提供するために含まれる添付図面は、本明細書に組み込まれて本明細書の一部を構成し、記述された実施形態を図示して、記述とともに基本原理を説明するのに役立つものである。類似の参照数字は相当する部分を指す。
【図面の簡単な説明】
【0011】
【
図1】[0011]本開示のいくつかの実施形態による例示的ビデオ符号化及び復号システムを示すブロック図である。
【
図2】[0012]本開示のいくつかの実施形態による例示的なビデオ符号化器を示すブロック図である。
【
図3】[0013]本開示のいくつかの実施形態による例示的ビデオ復号器を示すブロック図である。
【
図4A】[0014]本開示のいくつかの実施形態によって、フレームが、サイズの異なる複数のビデオブロックへと再帰的に四分木分割される(quad-tree partitioned)様子を示すブロック図である。
【
図4B】本開示のいくつかの実施形態によって、フレームが、サイズの異なる複数のビデオブロックへと再帰的に四分木分割される様子を示すブロック図である。
【
図4C】本開示のいくつかの実施形態によって、フレームが、サイズの異なる複数のビデオブロックへと再帰的に四分木分割される様子を示すブロック図である。
【
図4D】本開示のいくつかの実施形態によって、フレームが、サイズの異なる複数のビデオブロックへと再帰的に四分木分割される様子を示すブロック図である。
【
図5A】[0015]本開示のいくつかの実施形態によって符号化される、現在のCUにおける時間的に関連して配列する空間的に近隣のブロック位置を示すブロック図である。
【
図5B】[0016]本開示のいくつかの実施形態によって動きベクトル候補のリストが識別される例示的プロセスを示す流れ図である。
【
図5C】[0017]本開示のいくつかの実施形態によって現在のピクチャと
コロケーテッドピクチャとの間でサブブロックベースの時間動きベクトル予測が実行される様子を示すブロック図である。
【
図6】[0018]本開示のいくつかの実施形態によって、ビデオ復号器が、
コロケーテッドピクチャの動き情報から現在のピクチャに関するサブブロックベースの時間動きベクトル予測を構成する技術を実施する例示的プロセスを示す流れ図である。
【発明を実施するための形態】
【0012】
[0019]次に具体的な実施形態が詳細に参照され、それらの実施例が添付図面に示されている。以下の詳細な説明では、本明細書で提示される主題の理解を支援するために多くの非限定的かつ具体的な詳細が明らかにされる。しかし、特許請求の範囲から逸脱することなく様々な代替形態が使用され得、これらの具体的な詳細なしで主題が実施され得ることが、当業者には明らかであろう。たとえば、本明細書で提示された主題が、デジタルビデオ機能を伴う多くのタイプの電子デバイスにおいて実施され得ることは、当業者には明らかであろう。
【0013】
[0020]
図1は、本開示のいくつかの実施形態による、ビデオブロックの符号化と復号を並行して行うための例示的システム10を示すブロック図である。
図1に示されるように、システム10は、後に送信先(デスティネーション)装置14によって復号されるビデオデータを生成して符号化する情報源(ソース)装置12を含む。情報源装置12及び送信先装置14は、デスクトップコンピュータ又はラップトップコンピュータ、タブレット型コンピュータ、スマートフォン、セットトップボックス、デジタルテレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、ビデオストリーミングデバイス等を含む種々の電子デバイスのうち任意のものを備え得る。いくつかの実施形態では、情報源装置12及び送信先装置14は無線通信機能を装備している。
【0014】
[0021]いくつかの実施形態では、送信先装置14は、リンク16を通じて、復号される符号化ビデオデータを受け取ってよい。リンク16は、情報源装置12から送信先装置14に、符号化ビデオデータを転送することができる任意のタイプの通信媒体又は通信デバイスを備え得る。一例では、リンク16は、情報源装置12が送信先装置14に、符号化ビデオデータをリアルタイムで直接伝送することを可能にするための通信媒体を備え得る。符号化ビデオデータは、無線通信プロトコルなどの通信規格に従って変調されて送信先装置14に伝送され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つ以上の物理的伝送路などの任意の無線又は有線の通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、又はインターネットなどのグローバネットワークなどのパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、又は情報源装置12から送信先装置14への通信を容易にするのに役立つその他の機器を含み得る。
【0015】
[0022]いくつかの他の実施形態では、符号化ビデオデータは、出力インタフェース22から記録装置32に伝送され得る。続いて、記録装置32における符号化ビデオデータは、送信先装置14によって入力インタフェース28を介してアクセスされ得る。記録装置32は、ハードディスク(hard drive)、ブルーレイディスク、DVD、CD-ROM、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、又は符号化ビデオデータを記憶するのに適する他のデジタル記録媒体など、種々の、分散された又は局所的にアクセスされるデータ記録媒体のうち任意のものを含み得る。さらなる例では、記録装置32は、情報源装置12によって生成された、符号化ビデオデータを保持し得る、ファイルサーバ又は別の中間記録装置に相当してよい。送信先装置14は、記録装置32からストリーミング又はダウンロードすることによって、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶したり、符号化ビデオデータを送信先装置14に伝送したりすることができる任意のタイプのコンピュータでよい。例示的ファイルサーバは、(たとえばウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS:network attached storage)装置、又はローカルディスクドライブを含む。送信先装置14は、ファイルサーバに記憶されている符号化ビデオデータにアクセスするのに適する無線チャンネル(たとえばWi-Fi接続)、有線接続(たとえば、DSLやケーブルモデムなど)、又は両方の組合せを含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。記録装置32からの符号化ビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、又は両方の組合せでよい。
【0016】
[0023]
図1に示されるように、情報源装置12は、ビデオ源18、ビデオ符号化器20及び出力インタフェース22を含む。ビデオ源18は、たとえばビデオカメラ、以前に取り込まれたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受け取るためのビデオ供給インタフェース、及び/又はソースビデオとしてのコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、あるいはそのようなソースの組合せといった、ビデオキャプチャーデバイスなどのソースを含み得る。一例として、ビデオ源18がセキュリティ監視システムのビデオカメラである場合には、情報源装置12及び送信先装置14がカメラフォン又はビデオフォンを形成し得る。しかしながら、本出願に記述された実施形態は、一般にビデオコーディングに適用可能であり得、無線及び/又は有線の用途に適用され得る。
【0017】
[0024]取り込まれた、前もって取り込まれた、又はコンピュータで生成されたビデオは、ビデオ符号化器20によって符号化され得る。符号化ビデオデータは、情報源装置12の出力インタフェース22を通って送信先装置14に直接伝送され得る。符号化ビデオデータは、復号及び/又は再生のために、送信先装置14又は他のデバイスによる後のアクセス用に、記録装置32にも(又は代わりに)記憶されてよい。出力インタフェース22はモデム及び/又は送信器をさらに含み得る。
【0018】
[0025]送信先装置14は、入力インタフェース28、ビデオ復号器30、及び表示装置34を含む。入力インタフェース28は受信器及び/又はモデムを含み得、リンク16を通じて、符号化ビデオデータを受け取る。リンク16を通じて通信されるか又は記録装置32で供給される符号化ビデオデータは、ビデオ復号器30によってビデオデータを復号する際に使用される、ビデオ符号化器20によって生成された種々のシンタックス要素を含み得る。そのようなシンタックス要素が含まれ得る符号化ビデオデータは、通信媒体で伝送され、記録媒体又はファイルサーバに記憶される。
【0019】
[0026]いくつかの実施形態では、送信先装置14が含み得る表示装置34は、統合表示装置と、送信先装置14と通信するように構成された外部表示装置とであり得る。表示装置34は、復号ビデオデータをユーザーに表示し、液晶ディスプレイ(LCD:liquid crystal display)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別タイプの表示装置などの種々の表示装置のうち任意のものを備え得る。
【0020】
[0027]ビデオ符号化器20及びビデオ復号器30は、VVC,HEVC,MPEG-4 Part 10 AVC(Advanced Video Coding),又はこれらの規格の拡張版など、知的所有物又は業界規格に基づいて動作し得る。本出願は特定のビデオ符号化/復号の規格に限定されず、他のビデオ符号化/復号の規格に適用可能であり得ることを理解されたい。一般に、情報源装置12のビデオ符号化器20は、これらの現在の規格又は将来の規格のいずれかに従ってビデオデータを符号化するように構成され得ることが企図されている。同様に、送信先装置14のビデオ復号器30は、これらの現在の規格又は将来の規格のいずれかに従ってビデオデータを復号するように構成され得ることも一般に企図されている。
【0021】
[0028]ビデオ符号化器20及びビデオ復号器30は、それぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP:digital signal processor)、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、ディスクリートロジック(個別論理回路:discrete logic)、ソフトウェア、ハードウェア、ファームウェア又はこれらの任意の組合せなどの種々の適切な符号化回路構成のうち任意のものとして実施され得る。電子デバイスは、部分的にソフトウェアで実施されるときには、ソフトウェアに関する命令を適切な非一時的コンピュータ可読媒体に記憶し、1つ以上のプロセッサを使用してハードウェアで命令を実行して、本開示で開示されたビデオ符号化/復号の処理を実行し得る。ビデオ符号化器20及びビデオ復号器30の各々が1つ以上の符号化器又は復号器に含まれ得、そのいずれかが、それぞれのデバイスにおいて組み合わされた符号化器/復号器(CODEC)の一部として一体化され得る。
【0022】
[0029]
図2は、本出願に記述されたいくつかの実施形態による例示的ビデオ符号化器20を示すブロック図である。ビデオ符号化器20は、ビデオフレームの内部のビデオブロックのイントラ予測符号化及びインター予測符号化を実行し得る。イントラ予測符号化は、所与のビデオフレーム又はピクチャの内部のビデオデータにおける空間冗長性を低減するか又は除去するために空間予測に頼る。インター予測符号化は、ビデオシーケンスの隣接したビデオフレーム又はピクチャの内部のビデオデータにおける時間冗長性を低減するか又は除去するために時間予測に頼る。
【0023】
[0030]
図2に示されるように、ビデオ符号化器20は、ビデオデータメモリ40、予測処理部41、復号ピクチャバッファ(DPB:decoded picture buffer)64、加算器50、変換処理部52、量子化部54、及びエントロピー符号化部56を含む。予測処理部41は、動き推定部42、動き補償部44、分割部45、イントラ予測処理部46、及びイントラブロックコピー(BC)部48をさらに含む。いくつかの実施形態では、ビデオ符号化器20は、ビデオブロックを再構成するための逆量子化部58、逆変換処理部60、及び加算器62も含む。再構成されたビデオから、ブロック境界をフィルタリングしてブロック歪を除去するために、加算器62とDPB64との間にデブロッキングフィルタ(図示せず)が配置されてよい。デブロッキングフィルタに加えて、加算器62の出力をフィルタリングするためにループ内フィルタ(図示せず)も使用され得る。ビデオ符号化器20は、変更不能な又はプログラマブルなハードウェアユニットという形態を取ってよく、あるいは、1つ以上の変更不能な又はプログラマブルなハードウェアユニットのうちに分割されてもよい。
【0024】
[0031]ビデオデータメモリ40は、ビデオ符号化器20の構成要素によって符号化されるビデオデータを記憶し得る。ビデオデータメモリ40のビデオデータは、たとえばビデオ源18から取得され得る。DPB64は、ビデオ符号化器20によって(たとえばイントラ予測符号化モード又はインター予測符号化モードで)ビデオデータを符号化するのに用いる参照ビデオデータを記録するバッファーである。ビデオデータメモリ40及びDPB64は、様々な記録装置のうち任意のものによっても形成され得る。様々な例において、ビデオデータメモリ40は、ビデオ符号化器20の他の構成要素とともにオンチップでよく、又はそれらの構成要素に対してオフチップでもよい。
【0025】
[0032]
図2に示されるように、予測処理部41の内部の分割部45は、受け取ったビデオデータをビデオブロックへと分割する。この分割は、ビデオデータに関連づけられた四分木構造などの所定の分割構造に従って、ビデオフレームを、スライス、タイル、又は他のより大きい符号化ユニット(CU)へと分割することを含み得る。ビデオフレームは複数のビデオブロック(又は、タイルと称されるビデオブロックのセット)に分割され得る。予測処理部41は、誤り結果(たとえば符号化レートや歪みのレベル)に基づいて現在のビデオブロック用に、複数のイントラ予測符号化モードのうちの1つ、又は複数のインター予測符号化モードのうちの1つなど、複数の可能な予測符号化モードのうちの1つを選択してよい。予測処理部41は、結果として生じるイントラ予測符号化ブロック又はインター予測符号化ブロックを、加算器50に供給して残差ブロックを生成してよく、また、この符号化ブロックを加算器62に供給して、後に参照フレームの一部として使用するために再構成してよい。予測処理部41は、また、エントロピー符号化部56に、動きベクトル、イントラモードインジケータ、分割情報、及び他のそのようなシンタックス情報などのシンタックス要素を供給する。
【0026】
[0033]現在のビデオブロック用に適切なイントラ予測符号化モードを選択するために、予測処理部41の内部のイントラ予測処理部46は、符号化される現在のブロックと同じフレームにおける1つ以上の近隣のブロックに関する現在のビデオブロックのイントラ予測符号化を実行して、空間予測をもたらし得る。予測処理部41の内部の動き推定部42及び動き補償部44は、1つ以上の参照フレームにおける1つ以上の予測ブロックに関連して現在のビデオブロックのインター予測符号化を実行して時間予測をもたらす。ビデオ符号化器20は、たとえばビデオデータの各ブロック用に適切な符号化モードを選択するために、複数の符号化パスを実行してよい。
【0027】
[0034]いくつかの実施形態では、動き推定部42は、一連のビデオフレームの内部の所定のパターンに従って、参照ビデオフレームの内部の予測ブロックに対する現在のビデオフレームの内部のビデオブロックの予測ユニット(PU)の変位を示す動きベクトルを生成することにより、現在のビデオフレームに関するインター予測モードを決定する。動き推定部42によって実行される動き予測は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム内(又は他の符号化ユニット内)の符号化される現在のブロックに関連して、参照フレーム内(又は他の符号化ユニット)内の予測ブロックに対する現在のビデオフレーム又はピクチャの内部のビデオブロックのPUの変位を示し得る。所定のパターンは、ビデオフレームを、シーケンスにおけるPフレーム又はBフレームとして指定し得る。イントラBC部48は、インター予測用の動き推定部42による動きベクトルの決定と同様のやり方で、イントラBC符号化用の、たとえばブロックベクトルといったベクトルを決定してよく、又は動き推定部42を利用してブロックベクトルを決定してもよい。
【0028】
[0035]予測ブロックは、画素差分の観点から、符号化対象となるビデオブロックのPUと密接に対応するものとみなされる参照フレームのブロックであり、差分絶対値和(SAD:sum of absolute difference)、差分二乗和(SSD:sum of square difference)、又は他の差分基準量によって決定され得る。いくつかの実施形態では、ビデオ符号化器20は、DPB64に記憶された参照フレームのサブ整数型画素位置の値を計算してよい。たとえば、ビデオ符号化器20は、参照フレームの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を補間してよい。したがって、動き推定部42は、全体の画素位置及び分数画素位置に関する動き探索を実行して、分数画素精度を有する動きベクトルを出力し得る。
【0029】
[0036]動き推定部42は、インター予測符号化フレームのビデオブロックのPUに関して、第1の参照フレームリスト(リスト0)又は第2の参照フレームリスト(リスト1)から選択された参照フレームの予測ブロックの位置と当該PUの位置とを比較することにより動きベクトルを計算する。ここで、第1の参照フレームリスト又は第2の参照フレームリストはそれぞれDPB64に格納されている1つ以上の参照フレームを特定するものである。動き推定部42は、計算された動きベクトルを動き補償部44に送り、次いでエントロピー符号化部56に送る。
【0030】
[0037]動き補償部44によって実行される動き補償は、動き推定部42によって決定された動きベクトルに基づいて予測ブロックを取り込むこと又は生成することを包含し得る。動き補償部44は、現在のビデオブロックのPUに関する動きベクトルを受け取ると、動きベクトルが参照フレームリストのうちの1つにおいて指し示す予測ブロックを捜し出し、DPB64から予測ブロックを取り出して、予測ブロックを加算器50に転送する。次いで、加算器50は、符号化される現在のビデオブロックの画素値から動き補償部44によってもたらされた予測ブロックの画素値を差し引くことにより、画素差分値の残差ビデオブロックを形成する。残差ビデオブロックを形成する画素差分値は、輝度(luma)差分成分もしくは色差(chroma)差分成分、又はこれらの両方を含み得る。動き補償部44は、ビデオ復号器30によって、ビデオフレームのビデオブロックを復号する際に使用されるビデオフレームのビデオブロックに関連したシンタックス要素も生成し得る。シンタックス要素は、たとえば、予測ブロックを特定するために使用される動きベクトルを定義するシンタックス要素、予測モードを指示する任意のフラグ、又は本明細書に記述されたその他のシンタックス情報を含み得る。なお、動き推定部42と動き補償部44はほとんど一体化され得るが、概念的な目的のために個別に示されている。
【0031】
[0038]いくつかの実施形態では、イントラBC部48は、動き推定部42及び動き補償部44に関して上記に記述されたのと同様のやり方でベクトルを生成して予測ブロックを取り込み得るが、予測ブロックは符号化される現在のブロックと同じフレームにあり、ベクトルは動きベクトルと対照的にブロックベクトルと称される。詳細には、イントラBC部48は、現在のブロックを符号化するためにイントラ予測モードを使用するように決定してよい。いくつかの例において、イントラBC部48は、たとえば個別の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し、レート-歪み解析によってそれらイントラ予測モードの性能を分析してよい。次に、イントラBC部48は、試験された様々なイントラ予測モードの中で、イントラモードインジケータを生成するのに使用する適切なイントラ予測モードを選択してよい。たとえば、イントラBC部48は、レート-歪み解析を使用して、試験された様々なイントラ予測モードに関するレート-歪み値を計算し、試験されたモードの中で最善のレート-歪み特性を有するイントラ予測モードを、使用するのに適切なイントラ予測モードとして選択してよい。レート-歪み解析は、一般に、符号化ブロックと、当該符号化ブロックを生成するために符号化される符号化前の元のブロックとの間の歪み(又は誤差)量とともに、これら符号化ブロックを生成するために使用されたビットレート(すなわち、多数のビット)を決定する。イントラBC部48は、様々な符号化ブロックについて歪みとレートとの比率を計算して、そのブロックに関する最善のレート-歪み値を示すイントラ予測モードを決定してよい。
【0032】
[0039]他の例では、イントラBC部48は、本明細書に記述された実施形態に従ってイントラBC予測のためのそのような機能を実行するために、動き推定部42及び動き補償部44を全体的又は部分的に使用してよい。どちらの場合にも、イントラブロックコピーについては、予測ブロックは、画素差分の観点から、符号化対象となるブロックと密接に対応するものとみなされるブロックでよく、差分絶対値和(SAD)、差分二乗和(SSD)、又は他の差分基準量によって決定され得る。予測ブロックの特定には、サブ整数型画素位置の値の計算が含まれ得る。
【0033】
[0040]予測ブロックがイントラ予測による同じフレームからのものであろうとインター予測による異なるフレームからのものであろうと、ビデオ符号化器20は、符号化される現在のビデオブロックの画素値から予測ブロックの画素値を差し引くことによって残差ビデオブロックを形成してよく、画素差分値を形成する。残差ビデオブロックを形成する画素差分値は、輝度差分成分と色差差分成分の両方を含み得る。
【0034】
[0041]イントラ予測処理部46は、前述のように、動き推定部42及び動き補償部44によって実行されるインター予測、又はイントラBC部48によって実行されるイントラブロックコピー予測の代替として、現在のビデオブロックをイントラ予測してよい。詳細には、イントラ予測処理部46は、現在のブロックを符号化するためにイントラ予測モードを使用するように決定してよい。そうするために、イントラ予測処理部46は、たとえば個別の符号化パス中に様々なイントラ予測モードを使用して現在のブロックを符号化してよく、イントラ予測処理部46(又はいくつかの例ではモード選択部)は、試験されたイントラ予測モードから、使用するべき適切なイントラ予測モードを選択してよい。イントラ予測処理部46は、そのブロック向けに選択されたイントラ予測モードを表す情報をエントロピー符号化部56に供給してよい。エントロピー符号化部56は、ビットストリームにおける選択されたイントラ予測モードを指示する情報を符号化してよい。
【0035】
[0042]予測処理部41がインター予測又はイントラ予測のいずれかによって現在のビデオブロック用の予測ブロックを決定した後に、加算器50が、現在のビデオブロックから予測ブロックを差し引くことによって残差ビデオブロックを生成する。残差ブロックにおける残差ビデオデータは1つ以上の変換ユニット(TU)に含まれ得、変換処理部52に供給される。変換処理部52は、離散コサイン変換(DCT:discrete cosine transform)又は概念的に同様の変換などの変換を使用して残差ビデオデータを残差変換係数に変換する。
【0036】
[0043]変換処理部52は、結果として生じる変換係数を量子化部54に送ってよい。量子化部54は、変換係数を量子化してビットレートをさらに低下させる。量子化プロセスは、係数のうちのいくつか又はすべてに関連したビット深さも縮小し得る。量子化の程度は、量子化パラメータを調節することによって変更され得る。いくつかの例において、量子化部54は、次いで、量子化された変換係数を含むマトリクスの走査を実行し得る。あるいはエントロピー符号化部56が走査を実行してもよい。
【0037】
[0044]量子化に続いて、エントロピー符号化部56は、たとえば、コンテキスト適応型可変長符号化(CAVLC:context adaptive variable length coding)、コンテキスト適応型2値算術符号化(CABAC:context adaptive binary arithmetic coding)、シンタックスベースコンテクスト適応型2値算術符号化(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率区間区分エントロピー符号化(PIPE:probability interval partitioning entropy coding)、又は別のエントロピー符号化の技法もしくは技術を使用して、量子化された変換係数をビデオビットストリームへとエントロピー符号化する。次いで、符号化ビットストリームは、ビデオ復号器30に伝送されるか、又は後にビデオ復号器30へ伝送するため、もしくはビデオ復号器30によって後に取り戻すために記録装置32に記録され得る。エントロピー符号化部56は、符号化される現在のビデオフレームに関する動きベクトル及び他のシンタックス要素もエントロピー符号化してよい。
【0038】
[0045]他のビデオブロックを予測するための参照ブロックを生成するために、画素領域における残差ビデオブロックを再構成するのに、逆量子化部58が逆量子化を適用し、逆変換処理部60が逆変換を適用する。前述のように、動き補償部44は、DPB64に記憶されたフレームの1つ以上の参照ブロックから、動き補償された予測ブロックを生成し得る。動き補償部44はまた、予測ブロックに1つ以上の補間フィルタを適用して、動き予測に用いるサブ整数画素値を計算してよい。
【0039】
[0046]加算器62は、再構成された残差ブロックを、動き補償部44によって生成された動き補償された予測ブロックに加えて、DPB64に記憶するための参照ブロックを生成する。次いで、参照ブロックは、イントラBC部48、動き推定部42及び動き補償部44によって、後続のビデオフレームにおける別のビデオブロックをインター予測するための予測ブロックとして使用され得る。
【0040】
[0047]
図3は、本出願のいくつかの実施形態による例示的なビデオ復号器30を示すブロック図である。ビデオ復号器30は、ビデオデータメモリ79、エントロピー復号部80、予測処理部81、逆量子化部86、逆変換処理部88、加算器90、及びDPB 92を含む。予測処理部81は、動き補償部82、イントラ予測処理部84、及びイントラBC部85をさらに含む。ビデオ復号器30は、
図2に関連してビデオ符号化器20に関して記述された符号化プロセスとは全体的に逆の復号プロセスを実行し得る。たとえば、動き補償部82は、エントロピー復号部80から受け取られた動きベクトルに基づいて予測データを生成し得、一方、イントラ予測処理部84は、エントロピー復号部80から受け取られたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【0041】
[0048]いくつかの例において、ビデオ復号器30のユニットには、本出願の実施形態を実行するようにタスクが課されることがある。また、いくつかの例では、本開示の実施形態は、ビデオ復号器30の1つ以上のユニットの間で分割されてもよい。たとえば、イントラBC部85は、本出願の実施形態を、単独で、又はビデオ復号器30の動き補償部82、イントラ予測処理部84、及びエントロピー復号部80などの他のユニットと組み合わせて実行し得る。いくつかの例では、ビデオ復号器30はイントラBC部85を含まなくてよく、イントラBC部85の機能性は、動き補償部82など、予測処理部81の他の構成要素によって実行され得る。
【0042】
[0049]ビデオデータメモリ79は、ビデオ復号器30の他の構成要素によって復号される符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ79に記憶されたビデオデータは、記録装置32から、たとえばカメラなどのローカルなビデオ源から、ビデオデータの有線もしくは無線のネットワーク通信によって、又はたとえばフラッシュドライブもしくはハードディスクといった物理的データ記録媒体にアクセスすることによって取得され得る。ビデオデータメモリ79は、符号化ビデオビットストリームからの符号化ビデオデータを記憶する、符号化ピクチャバッファ(CPB:coded picture buffer)を含み得る。ビデオ復号器30の、復号ピクチャバッファ(DPB)92は、ビデオ復号器30によって(たとえばイントラ予測符号化モード又はインター予測符号化モードで)ビデオデータを符号化するのに用いる参照ビデオデータを記憶する。ビデオデータメモリ79及びDPB 92は、シンクロナスDRAM(SDRAM:Synchronous Dynamic Random Access Memory)、磁気抵抗型RAM(MRAM:Magneto-resistive RAM)、抵抗変化型RAM(RRAM)、又は他のタイプのメモリデバイスを含む動的ランダムアクセスメモリ(DRAM:Resistive RAM)などの種々のメモリデバイスのうち任意のものによって形成され得る。例示のために、ビデオデータメモリ79及びDPB 92は、
図3におけるビデオ復号器30の2つの別個の構成要素として表されている。しかし、ビデオデータメモリ79及びDPB92は、同一のメモリデバイス又は個別のメモリデバイスによってもたらされ得ることが当業者には明らかであろう。いくつかの例では、ビデオデータメモリ79は、ビデオ復号器30の他の構成要素とともにオンチップでよく、又はそれらの構成要素に対してオフチップでもよい。
【0043】
[0050]復号プロセス中に、ビデオ復号器30は、符号化ビデオフレーム及び関連するシンタックス要素のビデオブロックを表す符号化ビデオビットストリームを受け取る。ビデオ復号器30はビデオフレームレベル及び/又はビデオブロックレベルのシンタックス要素を受け取ってよい。ビデオ復号器30のエントロピー復号部80は、ビットストリームをエントロピー復号して、量子化係数、動きベクトル又はイントラ予測モードインジケータ、及び他のシンタックス要素を生成する。次いで、エントロピー復号部80は、動きベクトル及び他のシンタックス要素を予測処理部81に転送する。
【0044】
[0051]ビデオフレームが、イントラ予測符号化(I)フレームとして、又は他のタイプのフレームにおけるイントラ符号化予測ブロック向けに符号化されるとき、予測処理部81のイントラ予測処理部84は、信号伝達されたイントラ予測モード及び現在のフレームの以前に復号されたブロックからの参照データに基づいて、現在のビデオフレームのビデオブロックに関する予測データを生成し得る。
【0045】
[0052]ビデオフレームがインター予測符号化(すなわちB又はP)フレームとして符号化されるとき、予測処理部81の動き補償部82は、エントロピー復号部80から受け取られた動きベクトル及び他のシンタックス要素に基づいて現在のビデオフレームのビデオブロックに関する1つ以上の予測ブロックを生成する。予測ブロックの各々が、参照フレームリストのうちの1つの内部の参照フレームから生成され得る。ビデオ復号器30は、DPB92に記憶された参照フレームに基づくデフォルトの構成技術を使用して、たとえばリスト0及びリスト1といった参照フレームリストを構成し得る。
【0046】
[0053]いくつかの例では、本明細書に記述されたイントラBCモードに従ってビデオブロックが符号化されるとき、予測処理部81のイントラBC部85は、エントロピー復号部80から受け取られたブロックベクトル及び他のシンタックス要素に基づいて現在のビデオブロックに関する予測ブロックを生成する。予測ブロックは、ビデオ符号化器20によって定義された現在のビデオブロックと同一のピクチャの再構成された領域の内部にあり得る。
【0047】
[0054]動き補償部82及び/又はイントラBC部85は、動きベクトル及び他のシンタックス要素を解析することによって現在のビデオフレームのビデオブロックに関する予測情報を決定し、次いで、予測情報を使用して、復号される現在のビデオブロックに関する予測ブロックを生成する。たとえば、動き補償部82は、受け取られたシンタックス要素のうちのいくつかを使用して、ビデオフレームのビデオブロックを符号化するのに使用される予測モード(たとえばイントラ予測又はインター予測)、インター予測フレームタイプ(たとえばB又はP)、フレームに関する参照フレームリストのうちの1つ以上の構成情報、フレームにおける各インター予測符号化ビデオブロックの動きベクトル、フレームの各インター予測符号化ビデオブロックのインター予測状態、及び現在のビデオフレームにおけるビデオブロックを復号するための他の情報を決定する。
【0048】
[0055]同様に、イントラBC部85は、たとえばフラグといった受け取られたシンタックス要素のうちのいくつかを使用して、現在のビデオブロックはイントラBCモードを使用して予測されたものであること、再構成された領域の内部にあってDPB 92に記憶されるべきフレームのビデオブロックの構成情報、フレームの各イントラBC予測ビデオブロックのブロックベクトル、フレームの各イントラBC予測ビデオブロックのイントラBC予測状態、及び現在のビデオフレームにおけるビデオブロックを復号するための他の情報を決定し得る。
【0049】
[0056]動き補償部82はまた、ビデオ符号化器20によってビデオブロックの符号化中に参照ブロックのサブ整数画素の補間値を計算するために使用されたような補間フィルターを使用して、補間を実行し得る。この場合、動き補償部82は、受け取られたシンタックス要素から、ビデオ符号化器20によって使用された補間フィルタを決定し、補間フィルターを使用して予測ブロックを生成し得る。
【0050】
[0057]逆量子化部86は、ビットストリームの中に与えられてエントロピー復号部80によってエントロピー復号された量子化変換係数を、ビデオ符号化器20によってビデオフレームにおける各ビデオブロックについて量子化の程度を決定するために計算されたものと同一の量子化パラメータを使用して逆量子化する。逆変換処理部88は、画素領域における残差ブロックを再構成するために、変換係数に対して、たとえば逆DCT、逆整数変換、又は概念的に類似の逆変換プロセスといった逆変換を適用する。
【0051】
[0058]動き補償部82又はイントラBC部85がベクトル及び他のシンタックス要素に基づいて現在のビデオブロックに関する予測ブロックを生成した後に、加算器90は、逆変換処理部88からの残差ブロックと、動き補償部82及びイントラBC部85によって生成された対応する予測ブロックとを合計することによって、現在のビデオブロックに関する復号ビデオブロックを再構成する。復号ビデオブロックをさらに処理するために、加算器90とDPB92との間にインループフィルター(図示せず)が配置されてよい。次いで、所与のフレームにおける復号ビデオブロックは、次のビデオブロックの後続の動き補償に使用される参照フレームを記憶するDPB 92に記憶される。DPB92又はDPB92とは別個のメモリデバイスも、復号されたビデオを、後に
図1の表示装置34などの表示装置に提示するために記憶し得る。
【0052】
[0059]一般的なビデオ符号化プロセスでは、ビデオシーケンスは、一般的にはフレーム又はピクチャの順序づけられたセットを含む。各フレームが、SL、SCb、及びSCrと表示される3つのサンプル配列を含み得る。SLは、輝度(luma)サンプルからなる2次元配列である。SCbは、Cb色差サンプルからなる2次元配列である。SCrは、Cr色差サンプルからなる2次元配列である。他の事例では、フレームは白黒でよく、したがって輝度サンプルの2次元配列を1つだけ含む。
【0053】
[0060]
図4Aに示されるように、ビデオ符号化器20(より具体的には分割部45)は、最初にフレームを符号化ツリーユニット(CTU)の集合に分割することによってフレームの符号化表現を生成する。ビデオフレームは、左から右及び上から下へのラスタスキャン順で連続的に順序づけられた整数個のCTUを含み得る。各CTETは最大の論理符号化ユニットであり、CTUの幅及び高さは、シーケンスパラメータセットにおけるビデオ符号化器20によって、ビデオシーケンスにおけるすべてのCTUが128×128、64×64、32×32、及び16×16のうちの1つである同一のサイズを有するように信号伝達される。しかし、本出願は必ずしも特定のサイズに制限されるものではないことに留意されたい。
図4Bに示されるように、各CTUは、輝度(luma)サンプルからなる1つの符号化ツリーブロック(CTB)と、対応する2つの色差サンプルからなる符号化ツリーブロックと、符号化ツリーブロックのサンプルを符号化するのに使用されるシンタックス要素とを含み得る。シンタックス要素は、画素の符号化ブロックの種々のタイプのユニットの特性と、インター予測又はイントラ予測、イントラ予測モード、動きベクトル、及び他のパラメータを含めて、ビデオ復号器30にいてビデオシーケンスが再構成され得る様子とを記述するものである。白黒ピクチャ又は3つの個別のカラープレーンを有するピクチャでは、CTUは、単一の符号化ツリーブロックと、符号化ツリーブロックのサンプルを符号化するのに使用されるシンタックス要素とを含み得る。符号化ツリーブロックは、サンプルのN×Nのブロックでよい。
【0054】
[0061]より優れた性能を達成するために、ビデオ符号化器20は、CTUの符号化ツリーブロックに対して、二分木(binary-tree)分割、四分木(quad-tree)分割、又は両方の組合せなどの木分割を再帰的に実行して、CTUをより小さい符号化ユニット(CU)に分割し得る。
図4Cに表されるように、64×64のCTU400が、最初に、それぞれが32×32のブロックサイズを有する4つのより小さいCUに分割される。4つのより小さいCUの中で、CU410及びCU420が、それぞれ16×16のブロックサイズで4つのCUに分割される。2つの16×16のCUである430及び440が、それぞれ8×8のブロックサイズで4つのCUにさらに分割される。
図4Dは、
図4Cに表されたようなCTU400の分割プロセスの最終結果を示す四分木データ構造を表すものであり、四分木の各リーフノードが32×32~8×8の範囲のそれぞれのサイズの1つのCUに対応する。各CUは、
図4Bに表されたCTUに類似して、輝度サンプルの符号化ブロック(CB)と、同じサイズのフレームの色差サンプルの2つの対応する符号化ブロックと、符号化ブロックのサンプルを符号化するのに使用されるシンタックス要素とを含み得る。白黒ピクチャ又は3つの個別のカラープレーンを有するピクチャでは、CUは、単一の符号化ブロックと、符号化ブロックのサンプルを符号化するのに使用されるシンタックス構造とを含み得る。
【0055】
[0062]いくつかの実施形態では、ビデオ符号化器20は、CUの符号化ブロックを1つ以上のM×Nの予測ブロック(PB)へとさらに分割し得る。予測ブロックは、同一の(インター又はイントラ)予測が適用されるサンプルの矩形状(正方形又は非正方形)のブロックである。CUの予測ユニット(PU)は、輝度サンプルの予測ブロックと、色差サンプルの2つの対応する予測ブロックと、予測ブロックを予測するのに使用されるシンタックス要素とを含み得る。白黒ピクチャ又は3つの個別のカラープレーンを有するピクチャでは、PUは、単一の予測ブロックと、予測ブロックを予測するのに使用されるシンタックス構造とを含み得る。ビデオ符号化器20は、予測輝度、Cb、及び輝度に関するCrブロック、Cb、及びCUの各PUのCr予測ブロックを生成し得る。
【0056】
[0063]ビデオ符号化器20は、PUに関する予測ブロックを生成するためにイントラ予測又はインター予測を使用してよい。ビデオ符号化器20がイントラ予測を使用してPUの予測ブロックを生成する場合には、ビデオ符号化器20はPUに関連したフレームの復号サンプルに基づいてPUの予測ブロックを生成し得る。ビデオ符号化器20がインター予測を使用してPUの予測ブロックを生成する場合には、ビデオ符号化器20はPUに関連したフレーム以外の1つ以上のフレームの復号サンプルに基づいてPUの予測ブロックを生成し得る。
【0057】
[0064]ビデオ符号化器20は、CUにおける1つ以上のPUに関する予測輝度ブロック、予測Cbブロック及び予測Crブロックを生成した後に、CUの輝度残差ブロックにおける各サンプルがCUの予測輝度ブロックのうちの1つにおける輝度サンプルとCUの元の輝度符号化ブロックにおける対応するサンプルとの間の差分を示すように、CUの元の輝度符号化ブロックからCUの予測輝度ブロックを差し引くことによって、CUに関する輝度残差ブロックを生成し得る。同様に、ビデオ符号化器20は、CUのCb残差ブロックにおける各サンプルが、CUの予測Cbブロックのうちの1つにおけるCbサンプルとCUの元のCb符号化ブロックにおける対応するサンプルとの間の差分を示すように、CUのCb残差ブロック及びCr残差ブロックをそれぞれ生成してよく、CUのCr残差ブロックにおける各サンプルが、CUの予測Crブロックのうちの1つにおけるCrサンプルとCUの元のCr符号化ブロックにおける対応するサンプルとの間の差分を示し得る。
【0058】
[0065]その上、
図4Cに示されるように、ビデオ符号化器20は、四分木分割を使用して、CUの輝度、Cb及びCrの残差ブロックを、1つ以上の輝度、Cb及びCrの変換ブロックへと分解する。変換ブロックは、同一の変換が適用されるサンプルの矩形(正方形又は非正方形)のブロックである。CUの変換ユニット(TU)は、輝度サンプルの変換ブロックと、色差サンプルの2つの対応する変換ブロックと、変換ブロックサンプルを予測するのに使用されるシンタックス要素とを含み得る。したがって、CUの各TUは、輝度変換ブロック、Cb変換ブロック、及びCr変換ブロックに関連づけられ得る。いくつかの例では、TUに関連した輝度変換ブロックはCUの輝度残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。白黒ピクチャ又は3つの個別のカラープレーンを有するピクチャでは、TUは、単一の変換ブロックと、変換ブロックのサンプルを変換するのに使用されるシンタックス構造とを含み得る。
【0059】
[0066]ビデオ符号化器20は、TUの輝度変換ブロックに1つ以上の変換を適用してTU用の輝度係数ブロックを生成し得る。係数ブロックは変換係数の2次元配列であり得る。変換係数はスカラー量であり得る。ビデオ符号化器20は、TUのCb変換ブロックに1つ以上の変換を適用してTU用のCb係数ブロックを生成し得る。ビデオ符号化器20は、TUのCr変換ブロックに1つ以上の変換を適用してTU用のCr係数ブロックを生成し得る。
【0060】
[0067]ビデオ符号化器20は、係数ブロック(たとえば輝度係数ブロック、Cb係数ブロック又はCr係数ブロック)を生成した後に係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータ量をどうにかして低減するために変換係数が量子化されるプロセスを指すものであり、さらなる圧縮をもたらす。ビデオ符号化器20は、係数ブロックを量子化した後に、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオ符号化器20は量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型2値算術符号化(CABAC)を実行し得る。最終的に、ビデオ符号化器20は、符号化フレーム及び関連するデータの表現を形成する一連のビットを含むビットストリームを出力し得、これは記録装置32に保存されるか又は送信先装置14に伝送される。
【0061】
[0068]ビデオ復号器30は、ビデオ符号化器20によって生成されたビットストリームを受け取った後に、ビットストリームを解析して、ビットストリームからシンタックス要素を取得し得る。ビデオ復号器30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのフレームを再構成し得る。ビデオデータを再構成するプロセスは、一般にビデオ符号化器20によって実行された符号化プロセスの逆のである。たとえば、ビデオ復号器30は、現在のCUのTUに関連した係数ブロックに対する逆変換を実行して、現在のCUのTUに関連した残差ブロックを再構成し得る。ビデオ復号器30はまた、現在のCUのPUに関する予測ブロックのサンプルを、対応する現在のCUのTUの変換ブロックのサンプルに加算することによって現在のCUの符号化ブロックを再構成する。ビデオ復号器30は、フレームの各CUに関する符号化ブロックを再構成した後にフレームを再構成し得る。
【0062】
[0069]前述のように、ビデオ符号化は、主としてイントラフレーム予測(すなわちイントラ予測)及びインターフレーム予測(すなわちインター予測)の2つのモードを使用してビデオ圧縮を達成するものである。IBCは、イントラフレーム予測又は第3のモードのいずれかと見なされ得ることが留意される。これら2つのモードの間で、インターフレーム予測は参照ビデオブロックから現在のビデオブロックを予測するのに動きベクトルを使用するので、イントラフレーム予測よりも符号化効率に大きく寄与する。
【0063】
[0070]しかし、ビデオデータにおける詳細を保存するためのビデオデータ取込み技術の絶え間ない改善及びより精密なビデオブロックサイズのせいで、現在のフレームの動きベクトルを表すために必要なデータ量もかなり増加する。この課題を克服するやり方の1つには、空間領域と時間領域の両方における近隣のCUのグループが、予測する目的のための類似のビデオデータを有するばかりでなく、これら近隣のCUの間の動きベクトルも類似であるという事実から利益を得るものがある。したがって、空間的に近隣のCU及び/又は時間的に関連して配列するCUの動き情報を、これらのCUの空間相関関係及び時間相関関係を探し出すことによって現在のCUのおおよその動き情報(たとえば動きベクトル)として使用することが可能である。これは、現在のCUの「動きベクトル予測子(MVP:motion vector predictor)」とも称される。
【0064】
[0071]
図2に関して記述されたように動き推定部42によって決定された現在のCUの実際の動きベクトルをビデオビットストリームへと符号化するのではなく、現在のCUの動きベクトル予測子が現在のCUの実際の動きベクトルから減算されて、現在のCUに関する動きベクトル差分(MVD:motion vector difference)を生成する。そうすることにより、フレームの各CUについて動き推定部42によって決定された実際の動きベクトルをビデオビットストリームへと符号化する必要がなくなって、ビデオビットストリームにおいて動き情報を表現するために使用されるデータ量が大幅に低減され得る。
【0065】
[0072]符号ブロックのインターフレーム予測中に参照フレームにおける予測ブロックを選択するプロセスと同様に、現在のCUの空間的に近隣のCU及び/又は時間的に関連して配列するCUに関連した、可能性のある候補の動きベクトルを使用して現在のCUに関する動きベクトル候補のリストを構成し、次いで、現在のCUに関する動きベクトル予測子として動きベクトル候補のリストから1つの要素を選択するために、ビデオ符号化器20とビデオ復号器30の両方によってルールのセットが採用される必要がある。そうすることにより、ビデオ符号化器20とビデオ復号器30との間で動きベクトル候補のリスト自体を伝送する必要がなくなり、動きベクトル候補のリストの内部で選択された動きベクトル予測子のインデックスは、ビデオ符号化器20及びビデオ復号器30が現在のCUの符号化及び復号のために動きベクトル候補のリストの内部の同一の動きベクトル予測子を使用するのに十分なものである。
【0066】
[0073]いくつかの実施形態では、各インター予測CUは、動きベクトル候補のリストを構成するために、インター予測モード(「拡張型動きベクトル予測」(AMVP)モードとも称される)、スキップ予測モード、及びマージ予測モードを含む3つの動きベクトル予測モードを有する。各モードの下で、以下で説明されるアルゴリズムに従って、動きベクトル候補のリストに1つ以上の動きベクトル候補が追加され得る。最終的に、候補のリストの中の動きベクトル候補のうち1つが、ビデオ符号化器20によってビデオビットストリームへと符号化される、又はビデオ復号器30によってビデオビットストリームから復号される、インター予測CUの、最善の動きベクトル予測子として使用される。候補のリストから最善の動きベクトル予測子を見いだすために、空間動きベクトル候補及び時間動きベクトル候補を含む動きベクトルの所与の候補セットすなわち動きベクトル候補のリストから動きベクトルを選択するのに、動きベクトル競合(MVC)方式が導入される。
【0067】
[0074]動きベクトルの所与の候補セットの内部で1つのMVP候補が現在のCU向けに選択された後に、ビデオ符号化器20は、対応するMVP候補に関する1つ以上のシンタックス要素を生成して、ビデオ復号器30がこのシンタックス要素を使用してビデオビットストリームからMVP候補を取り出すことができるように、このシンタックス要素をビデオビットストリームへと符号化してよい。異なるモード(たとえばAMVPモード、マージモード、スキップモードなど)は、動きベクトルの候補セットを構成するために使用される特定のモードに依拠してシンタックス要素の異なるセットを有する。AMVPモードについては、シンタックス要素は、インター予測インジケータ(たとえばリスト0、リスト1、又は双方向予測)、参照インデックス、動きベクトル候補インデックス、動きベクトル差分及び予測残差信号などを含む。スキップモード及びマージモードについては、現在のCUが、符号化されたマージインデックスによって参照される近隣のCUから、インター予測インジケータ、参照インデックス、及び動きベクトルを含む他のシンタックス要素を継承するので、ビットストリームへと符号化されるのはマージインデックスのみである。スキップ符号化されたCUの場合には、動きベクトル予測残差信号も省略される。
【0068】
[0075]
図5Aは、本開示のいくつかの実施形態によって符号化/復号される、現在のCUにおける時間的に関連して配列する空間的に近隣のブロック位置を示すブロック図である。所与のモード(たとえばAMVPモード、マージモード、又はスキップモード)については、動きベクトルの予測(MVP)候補リストは、最初に、空間的に左(A0、A1)及び上(B0、B1、B2)の近隣のブロック位置に関連した動きベクトルの有効性、及び時間的に関連して配列するブロック位置に関連した動きベクトルの有効性を検査することによって構成される。MVP候補のリストを構成するプロセス中に、冗長なMVP候補が候補リストから除去され、必要に応じて、候補リストに固定長を与えるためにゼロ値の動きベクトルが追加される(異なるモードが異なる固定長を有し得ることに留意されたい)。MVP候補のリストを構成した後に、ビデオ符号化器20は、候補リストから最善の動きベクトル予測子を選択して、選択された候補を示す対応インデックスをビデオビットストリーム内に符号化することができる。
【0069】
[0076]
図5Aを一例として使用し、候補リストが2つの固定長を有すると想定して、
図5Bは本開示のいくつかの実施形態によって動きベクトル候補のリストが識別される例示的プロセスを示す流れ図である。詳細には、現在のCUに関する動きベクトル予測子(MVP)候補のリストは、
図5Bに表されるようなAMVPモードの下で以下のステップを実行することによって構成され得る。
1)ステップ505:5つの空間的に近隣のCUから2つのMVP候補を選択する、
a)A0からA1までの空間的に左方の2つの近隣のCUのうちの1つから、スケーリングされていないMVP候補を1つ導出する、
b)以前のステップにおいてスケーリングされていない有効なMVP候補が左方にない場合、A0からA1までの空間的に左方の2つの近隣のCUのうちの1つから、スケーリングされたMVP候補を1つ導出する、
c)B0から順に、B1、B2と、空間的に上方の3つの近隣のCUのうちの1つから、スケーリングされていないMVP候補を1つ導出する、
d)A0もA1も有効でない場合、又は両方がイントラモードで符号化されている場合、B0から順に、B1、B2と、空間的に上方の3つの近隣のCUのうちの1つから、スケーリングされたMVP候補を1つ導出する、
2)ステップ510:時間的に関連して配列する2つのCUから1つのMVP候補を選択する、
3)ステップ515:MVP候補リストから以前のステップで見つかった重複するMVP候補を除去する、
4)ステップ520:2つまでの、ゼロ値を有するMVPを、MVP候補リストに追加する、
5)ステップ525:インデックスが1よりも大きいMVP候補をMVP候補リストから除去する、
6)ステップ530:現在のCUに関するMVP候補リストにおける2つのMVP候補を最終決定する。
【0070】
[0077]上記で構成したAMVPモードのMVP候補リストでは候補が2つしかないので、バイナリーフラグのような関連したシンタックス要素は、現在のCUを復号するために候補リストの内部の2つのMVP候補のうちどちらが使用されるのかを指示するように、ビットストリームへと符号化される。
【0071】
[0078]いくつかの実施形態では、現在のCUを符号化/復号するために時間動きベクトル予測子を選択するプロセスは、復号ピクチャの精度を改善するようにサブCUレベルで実行される。このプロセスは、最初に現在のCUを含む現在のピクチャに関するコロケーテッドピクチャを特定し、次いで時間ベクトル(本出願では「動きシフト量」としても知られている)を決定する。次に、このプロセスは、現在のCUを複数のサブCUへと分割し、「サブブロックベースの時間動きベクトル予測(SbTMVP:subblock-based temporal motion vector prediction)」とも称される所定のアルゴリズムに従って、時間ベクトルによって特定されたコロケーテッドピクチャにおける対応ブロックからサブCUの各々に関する動き情報を導出する。
【0072】
[0079]
図5Cは、本開示のいくつかの実施形態によって現在のピクチャと
コロケーテッドピクチャとの間でサブブロックベースの時間動きベクトル予測が実行される様子を示すブロック図である。この例では、現在のCU535-1は64×64の符号ブロックであって8×8のサブCUに分割され、各サブCUは8×8の符号ブロックである。各サブCUに関する動き情報を導出するために、SbTMVPプロセスは次の2つの主ステップに分割される。
・ステップ1:現在のピクチャ535と
コロケーテッドピクチャ540との間のいわゆる「時間ベクトル」を使用して、
コロケーテッドピクチャ540における対応ブロック540-1を特定する。
・ステップ2:現在のCU535-1を複数のサブCUへと分割して、
コロケーテッドピクチャ540における対応ブロックから、サブCUに関する動きベクトルを含む動き情報と、各サブCU535-3の参照インデックス(デフォルトでゼロである)とを取得する。
【0073】
[0080]前述のように、SbTMVPプロセスの実行前に現在のピクチャ535に関する
コロケーテッドピクチャ540は既知であると想定されている。たとえば、
コロケーテッドピクチャは、一般的には、現在のピクチャの、たとえばリスト0、リスト1といった2つの参照ピクチャリストのうちの1つから選択された、現在のピクチャの1つの参照ピクチャである。いくつかの実施形態では、対応ブロックは、現在のピクチャにおける現在のCUと、
コロケーテッドピクチャにおいて同一の相対位置にあるものである。いくつかの他の実施形態(たとえば
図5C)では、対応ブロックは、必ずしも、現在のピクチャにおける現在のCU535-1と、
コロケーテッドピクチャにおいて同一の相対位置にあるものではない。代わりに、現在のピクチャにおける現在のCU535-1の中心を
コロケーテッドピクチャ540における対応ブロック540-1の中心に関連づける時間ベクトルが存在する。
【0074】
[0081]いくつかの実施形態では、SbTMVPプロセスは、ビデオ符号化中に現在のCUに関して前述された動きベクトル候補のリストを構成するプロセスの一部として実施される。言い換えれば、現在のCUはSbTMVPを使用して処理されるべきであると決定された場合には、それに応じて、動きベクトル候補のリストにSbTMVPに対応するパラメータが追加される。いくつかの他の実施形態では、SbTMVPプロセスは、ビデオ符号化中に現在のCUに関して前述された動きベクトル候補のリストを構成するプロセスから独立して実施される。言い換えれば、SbTMVPは、前述のインター予測モードのように個別のインター予測モードとして扱われる。符号化プロセスと復号プロセスは性質が対称であるので、これ以降は、現在のCUの復号を使用して、現在のCUの時間動きベクトルを予測するためにSbTMVPプロセスが採用される様子を示す。
【0075】
[0082]
図6は、本開示のいくつかの実施形態によって、ビデオ復号器が、
コロケーテッドピクチャの動き情報から現在のピクチャに関するサブブロックベースの時間動きベクトル予測を構成する技術を実施する、例示的復号プロセスを示す流れ図である。
【0076】
[0083]最初に、ビデオ復号器30は、複数の符号化ピクチャに関連したデータを含む符号化ビデオビットストリームを取得する(610)。
図4A及び
図4Cに表されるように、各ピクチャが符号化ツリーユニット(CTU)の複数の行を含み、各CTUが1つ以上の符号化ユニット(CU)を含む。ビデオ復号器30は、シンタックス要素及び画素値などのビデオビットストリームから別々の情報部分を抽出して、一行ずつピクチャを再構成する。
【0077】
[0084]この例では、ビデオ復号器30は、
図5Cに表された現在のピクチャ535、より具体的には現在のピクチャ535における現在のCU535-1を復号する(630)と想定されている。前述のように、現在のピクチャ535は複数の参照ピクチャ(たとえばリスト0及び/又はリスト1)を有する。時間動きベクトルを予測するために、参照ピクチャのうちの1つは、
図5Cに表されるような現在のピクチャ535のいわゆる「
コロケーテッドピクチャ」540である。したがって、ビデオ復号器30は、最初に、ビデオビットストリームにおいて所定の順番で示されたシンタックス要素に従って、参照ピクチャのうちの1つを現在のピクチャの
コロケーテッドピクチャとして決定する(630-1)。たとえば、時間動きベクトル候補の導出では、
コロケーテッドピクチャがたとえばリスト0又はリスト1から選択されたものであるかどうか指示するために、最初に、スライスヘッダにおける明示的フラグ(collocated_from_l0_flag)がビデオ復号器30に送られる。
コロケーテッド参照インデックス(collocated_ref_idx)がビデオ復号器30にさらに送られて、そのリストの中のどの参照ピクチャが時間動きベクトル候補を導出するための
コロケーテッドピクチャとして選択されているかを指示する。
【0078】
[0085]どちらの場合にも、現在のピクチャの参照ピクチャがコロケーテッドピクチャとして特定された後に、ビデオ復号器30は、現在のCU535-1の空間的に近隣のブロックの動き情報から、一定の順序に従って、コロケーテッドピクチャと現在のピクチャとの間の動きシフト量(「時間ベクトル」としても知られている)(たとえば
図5Cに表された時間ベクトル537を参照されたい)を決定する(630-3)。前述のように、各CTU(1つ以上のCUを含む)は、A0、A1、B0、B1、B2などのような複数の空間的に近隣のブロックを有する。空間的に近隣のブロックの各々が、現在のCUのそれぞれの参照ピクチャの内部の対応ブロックを示す動きベクトルを有し得る。いくつかの実施形態では、ビデオ復号器30は、コロケーテッドピクチャと同一のものが1つ見つかるまで、対応する
1つの空間的に近隣のブロックに関連した各参照ピクチャを検査する。検査する順序は適応性がある。いくつかの実施形態では、検査する順序は、低遅延条件(LDC)及びシンタックス要素「collocated_from_10_flag」に従って、リスト0及びリスト1のうち1つから始まる。LDCは、すべての参照ピクチャが現在のピクチャよりも小さいピクチャ順番カウント(POC:Picture Order Count)を有するかどうかを示すブール変数である。たとえば、リスト0は時間において現在のピクチャに先行する少なくとも1つの参照ピクチャを含み得、任意選択で、時間において現在のピクチャに後続する1つ以上の参照ピクチャを含み得る。リスト1は、時間において現在のピクチャに後続する少なくとも1つの参照ピクチャ、又は時間において現在のピクチャに先行する参照ピクチャのみを含み得る。ビデオ復号器30は、現在のCUの特定の空間的に近隣のブロックに関連した参照ピクチャを特定した後に、空間的に近隣のブロックの動き情報を決定して、これをコロケーテッドピクチャと現在のピクチャとの間の動きシフト量として使用する。動きシフト量を使用すると、コロケーテッドピクチャの内部のブロックが現在のCUに対応するものとして特定され得る。ビデオ復号器30は、
図5Cに表されるように現在のCU535-1と対応するブロック540-1との間のマッピング関係を確立した後に、現在のCU535-1の各サブブロックに関して時間動きベクトル予測を構成し始めることができる。
【0079】
[0086]なお、ビデオ符号化器20は、ビデオ復号器30によって受け取られたビデオビットストリームの生成中に、現在のCU535-1を複数のサブCUへと分割したと想定されている。したがって、ビデオ復号器30は、現在のCU535-1を複数のサブCUへと分割する(630-5)ために、ビデオビットストリームからのシンタックス要素の同一のセットを使用することができる。
図5Cに表されるように、現在のピクチャ535における各サブCU535-3は、
コロケーテッドピクチャ540における同一の相対位置に、対応するサブブロックを有する。ビデオ復号器30は、各サブCUについて、ビデオ符号化器20がSbTMVPプロセスに従ってサブCUをビデオビットストリームへと符号化するときのものと同一の時間動きベクトル予測を再構成する責任がある。
【0080】
[0087]いくつかの実施形態では、ビデオ復号器30は、コロケーテッドピクチャと現在のピクチャとの間の動きシフト量と、現在のピクチャのそれぞれのサブブロックに対応するコロケーテッドピクチャ内のブロックの動き情報との2つの情報に基づいて、現在のCUの各サブCUについて時間動きベクトル予測子を取得する(630-7)。たとえば、ビデオ復号器30は、現在のピクチャ535における各サブCUについて、コロケーテッドピクチャと現在のピクチャとの間の動きシフト量に従って、現在のピクチャにおけるサブCUのサブブロックと同一の相対位置にあるコロケーテッドピクチャにおけるブロックを特定する。次に、ビデオ復号器30は、コロケーテッドピクチャにおける特定されたブロックの動き情報を決定し、特定されたブロックの決定された動き情報から動きベクトルならびに参照インデックスを選択して、現在のピクチャとその参照ピクチャとの間のPOC差と、コロケーテッドピクチャと対応ブロックの参照ピクチャとの間のPOC差との比に従って、サブCUの時間動きベクトル予測子を導出する。
【0081】
[0088]他方では、コロケーテッドピクチャ540における対応ブロック540-1は、異なるCU、CTUさらには異なるスライス又はタイルなどに属し得る。対応ブロック540-1におけるサブブロックのうちいくつかが動きベクトルを全く有し得ないように、対応ブロック540-1における異なるサブブロックが異なる予測モードを有し得ることが可能である。いくつかの実施形態では、ビデオ復号器30は、対応ブロック540-1の内部の特定のサブブロックを検査して、特定のサブブロックが動き情報を有するかどうかを判定することによってこの状況に対処する。特定のサブブロックが動き情報を有する場合、サブCUのコロケーテッドピクチャ内の対応ブロックに動き情報がないときには、ビデオ復号器30は、現在のCUの別のサブCUに関するデフォルトの時間動きベクトル予測子として特定のサブブロックのものを使用してよい。たとえば、ビデオ復号器30は、現在のCUにおけるいずれかのサブCUを処理する前に、最初に対応ブロック540-1の中心又は中心近傍のブロック(又はサンプル)(たとえば対応ブロック540-1の中心の真下の右にあるもの)の対応ブロックを調べて、このブロックが動き情報を有するかどうかを検査してよい。このブロックが動き情報を有しない場合、ビデオ復号器30は、次いで、SbTMVPプロセスが現在のCUに適応しないと想定して、現在のピクチャにおける別のマージ候補の処理にとりかかる。しかし、このブロックが動き情報を有する場合、ビデオ復号器30は、SbTMVPプロセスが現在のCUに適応すると想定して、現在のCUの、コロケーテッドピクチャの同一の相対位置における対応ブロックが、サブCUの時間動きベクトル予測子を構成するための動き情報を有しないときには、この動き情報を、現在のCUの任意のサブCUに関するデフォルトの時間動きベクトル予測子として使用する。ビデオ復号器30は、SbTMVPプロセスが現在のCUに適応すると想定し、それに応じて、現在のCUの複数のサブCU向けに取得された時間動きベクトル予測子を使用して現在のCUを復号する(630-9)。
【0082】
[0089]前述のように、イントラブロックコピー(IBC)は、スクリーンコンテンツ材料の符号化効率を大幅に改善することができる。IBCモードがブロックレベル符号化モードとして実施されるので、各CUについて最善のブロックベクトルを見いだすために、ビデオ符号化器20においてブロックマッチング(BM)が実行される。ここで、現在のブロックから、現在のピクチャの内部で既に再構成されている参照ブロックまでの変位を示すためのブロックベクトルが使用される。IBC符号化されたCUは、イントラ予測モード又はインター予測モード以外の第3の予測モードとして扱われる。
【0083】
[0090]CUレベルでは、IBCモードは、以下のようにIBC・AMVPモード又はIBCスキップ/マージモードとして信号伝達され得る。
- IBC・AMVPモード:CUの実際のブロックベクトルとCUのブロックベクトル候補から選択されたCUのブロックベクトル予測子との間のブロックベクトル差分(BVD:block vector difference)が、前述のAMVPモード下で動きベクトル差分が符号化されるのと同じやり方で符号化される。ブロックベクトル予測法は、予測子として、左の近隣のブロックベクトル候補及び上の近隣のブロックベクトル候補の2つを使用する(IBC符号化されている場合)。どちらの近隣のブロックベクトル候補も有効でないときには、ブロックベクトル予測子としてデフォルトのブロックベクトルが使用されることになる。ブロックベクトル予測子のインデックスを示すためのバイナリーフラグが信号伝達される。
- IBCスキップ/マージモード:現在のブロックに関するブロックベクトルを予測するために、近隣のIBC符号化ブロックからのマージ候補リストにおけるブロックベクトル候補のうちのどれが使用されるかを示すためのマージ候補インデックスが使用される。
【0084】
[0091]ビデオコーダは、現在の波面(wavefront)のコンテキスト適応型2値算術符号化(CABAC)を実行するために、上の波面の最初の2つのブロックのデータ、ならびに現在の波面の最初の符号ブロックを含むスライスのスライスヘッダの1つ以上の要素に基づいて、現在の波面に関するコンテキストを初期化してよい。ビデオコーダは、後続のCTU行の上のCTU行の2つのCTUを符号化した後に、コンテキスト状態を使用して、後続の波面(又はCTU行)のCABAC初期化を実行してよい。言い換えれば、ビデオコーダは、現在の波面はピクチャのCTUの一番上の行ではないと想定して、現在の波面の符号化を開始する前に、現在の波面の上の波面の少なくとも2つのブロックを符号化し得る。次いで、ビデオコーダは、現在の波面の上の波面の少なくとも2つのブロックを符号化した後に、現在の波面に関するCABACコンテキストを初期化してよい。
【0085】
[0092]1つ又は複数の例では、記述された機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組合せで実現され得る。この機能は、ソフトウェアで実現される場合には、1つ以上の命令又はコードとしてコンピュータ読み取り可能な媒体に記憶されるか又は伝送されてよく、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記録媒体などの有形の媒体に対応するコンピュータ読み取り可能な記録媒体、又は、たとえば通信プロトコルによる、ある位置から別の位置へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信メディアを含み得る。このように、コンピュータ読み取り可能な媒体は、一般に(1)非一時的な有形のコンピュータ読み取り可能な記録媒体、又は(2)信号もしくは搬送波などの通信媒体に相当し得るものである。データ記録媒体は、1つ以上のコンピュータ又は1つ以上のプロセッサによって、本出願に記述された実施形態を実現するための命令、コード及び/又はデータ構造を取り出すためにアクセスされ得る、任意の利用可能な媒体でよい。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0086】
[0093]本明細書の実施形態の記述において使用される専門用語は、特定の実施形態のみを記述するためのものであり、特許請求の範囲を制限するようには意図されていない。実施形態及び添付の特許請求の範囲の記述で用いられるように、単数形「1つの(a)」、「1つの(an)」、及び「その(the)」は、文脈がはっきりと別様に示さなければ、複数形も含むように意図されている。本明細書で使用されるような「及び/又は」という用語は、関連する列挙された項目のうちの1つ又は複数の、ありとあらゆる可能な組合せを指し、かつ包含することも理解されよう。「備える」及び/又は「備えている」という用語は、本明細書で使用されたとき、明示された特徴、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、要素、構成要素、及び/又はこれらのグループの存在もしくは追加を排除するものではないがさらに理解されよう。
【0087】
[0094]様々な要素を説明するために、本明細書では第1、第2などの用語が用いられることがあるが、これらの要素は、これらの用語によって限定されるべきでないことも理解されよう。これらの用語は、単に1つの要素を別のものと区別するのに用いられる。たとえば、実施形態の範囲から逸脱することなく、第1の電極が第2の電極と称され得て、同様に、第2の電極が第1の電極と称され得る。第1の電極と第2の電極は、どちらも電極であるが同一の電極ではない。
【0088】
[0095]本出願の記述は解説及び説明のために提示されており、網羅的であること又は開示された形態の発明に限定されることは意図されていない。多くの修正形態、変形形態、及び代替の実施形態が、先の記述及び関連する図面において提示された教示内容の利益を有する当業者には明らかなはずである。実施形態は、本発明の原理や実際の用途について最も良く説明するため、他の当業者が様々な実施形態に関して本発明を理解することを可能にするため、また、基本原理と、企図された特定の使用法に適するものとしての様々な修正形態を伴う様々な実施形態とを最も良く利用するために、選択して記述されたものである。したがって、特許請求の範囲は、開示された実施形態の特定の実施例及びその修正形態に限定されず、添付の特許請求の範囲の範囲内に含まれるように他の実施形態が意図されていることを理解されたい。