(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023164984
(43)【公開日】2023-11-14
(54)【発明の名称】パレットモードを使用するビデオコーディングの方法及び装置
(51)【国際特許分類】
H04N 19/94 20140101AFI20231107BHJP
H04N 19/70 20140101ALI20231107BHJP
【FI】
H04N19/94
H04N19/70
【審査請求】有
【請求項の数】11
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023145447
(22)【出願日】2023-09-07
(62)【分割の表示】P 2022542374の分割
【原出願日】2021-01-11
(31)【優先権主張番号】62/959,913
(32)【優先日】2020-01-11
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521024075
【氏名又は名称】ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(74)【代理人】
【識別番号】100201743
【弁理士】
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】ジュ,ホーン-ジェン
(72)【発明者】
【氏名】チェン,イー-ウエン
(72)【発明者】
【氏名】シウ,シヤオユー
(72)【発明者】
【氏名】ワーン,シアーンリン
(72)【発明者】
【氏名】マー,ツン-チュアン
(72)【発明者】
【氏名】ユ,ビーン
(57)【要約】 (修正有)
【課題】パレットモードを使用するビデオの符号化及び復号のシステム及び方法を提供する。
【解決手段】ビデオコーディング方法は、ビットストリームから、符号化ユニットに関連した、符号化ユニットのサイズ及び符号化ツリータイプを示す複数のシンタックス要素を受け取るステップと、符号化ユニットの符号化ツリータイプに応じて、符号化ユニットの最小のパレットモード・ブロックサイズを決定するステップと、符号化ユニットのサイズが最小のパレットモード・ブロックサイズよりも大きいとの決定に応じて、ビットストリームから、符号化ユニットに関連したパレットモード有効化フラグを受け取るステップと、パレットモード有効化フラグに応じて、ビットストリームから符号化ユニットを復号するステップと、を含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ビデオデータを復号する方法であって、
ビットストリームから、符号化ユニットに関連した複数のシンタックス要素を受け取るステップであって、前記複数のシンタックス要素が前記符号化ユニットのサイズ及び符号化ツリータイプを示す、ステップと、
前記符号化ユニットの前記符号化ツリータイプに応じて、前記符号化ユニットの最小のパレットモード・ブロックサイズを決定するステップと、
前記符号化ユニットの前記サイズが前記最小のパレットモード・ブロックサイズよりも大きいとの決定に応じて、
前記ビットストリームから、前記符号化ユニットに関連したパレットモード有効化フラグを受け取り、
前記パレットモード有効化フラグに応じて、前記ビットストリームから前記符号化ユニットを復号するステップと
を含む、方法。
【請求項2】
請求項1に記載の方法であって、
前記パレットモード有効化フラグに応じて前記ビットストリームから前記符号化ユニットを復号する前記ステップは、
前記符号化ユニットに対して前記パレットモードが有効化されたと前記パレットモード有効化フラグが示すとき、
前記ビットストリームから現在のユニット用のパレットテーブルを生成し、
前記生成されたパレットテーブルを使用して、前記ビットストリームから前記符号化ユニットを復号するステップ
をさらに含む、方法。
【請求項3】
請求項1に記載の方法であって、
前記符号化ユニットの前記符号化ツリータイプに応じて、前記符号化ユニットの最小のパレットモード・ブロックサイズを決定する前記ステップは、
前記符号化ユニットの前記符号化ツリータイプがSINGLE_TREE又はDUAL_TREE_LUMAであるときには、
前記最小のパレットモード・ブロックサイズを16サンプルに設定し、
前記符号化ユニットの前記符号化ツリータイプがDUAL_TREE_CHROMAであるときには、
前記符号化ユニットの色差フォーマットを決定して、
前記色差フォーマットに応じて前記最小のパレットモード・ブロックサイズを設定する、
ステップをさらに含む、方法。
【請求項4】
請求項3に記載の方法であって、前記色差フォーマットが4:4:4であるとき、前記最小のパレットモード・ブロックサイズは16サンプルである、方法。
【請求項5】
請求項3に記載の方法であって、前記色差フォーマットが4:2:2であるとき、前記最小のパレットモード・ブロックサイズは32サンプルである、方法。
【請求項6】
請求項3に記載の方法であって、前記色差フォーマットが4:2:0であるとき、前記最小のパレットモード・ブロックサイズは64サンプルである、方法。
【請求項7】
電子装置であって、
1つ以上の処理部と、
前記1つ以上の処理部に接続されたメモリと、
前記メモリに記憶された複数のプログラムと
を備え、
前記複数のプログラムが、前記1つ以上の処理部によって実行されたとき、前記電子装置に、請求項1から6のいずれか一項に記載の方法を実施させる、電子装置。
【請求項8】
1つ以上の処理部を有する電子装置によって実行するための複数のプログラムを記憶している非一時的なコンピュータ読み取り可能な記録媒体であって、前記複数のプログラムは、前記1つ以上の処理部によって実行されると、前記電子装置に、請求項1から6のいずれか一項に記載の方法を実施させる、非一時的なコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2020年1月11日付け出願の「VIDEO CODING USING
PALETTE MODE(パレットモードを使用するビデオコーディング)」を名称とする米国仮出願第62/959,913号の優先権の主張を伴うものであり、その全体が参照によって組み込まれる。
【0002】
本出願は、一般にビデオデータのコーディング及び圧縮に関するものであり、詳細には、パレットモードを使用するビデオコーディングの方法及びシステムに関する。
【背景技術】
【0003】
デジタルビデオは、デジタルテレビジョン、ラップトップ型又はデスクトップ型のコンピュータ、タブレット型コンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤー、ビデオゲームコンソール、スマートフォン、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどの種々の電子デバイスによってサポートされる。そのような電子デバイスは、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)スライス内のビデオブロックは、同じビデオフレーム内の近隣のブロックにおける参照サンプルに対する空間予測を使用したものでもよいし、あるいは以前の他の参照ビデオフレーム及び/又は未来の他の参照ビデオフレームにおける参照サンプルに対する時間予測を使用したものでもよい。
【0004】
たとえば近隣のブロックといった以前に符号化された参照ブロックに基づく空間予測又は時間予測は、符号化される現在のビデオブロックに関する予測ブロックをもたらす。参照ブロックを見いだすプロセスは、ブロックマッチングアルゴリズムによって達成され得る。符号化される現在のブロックと予測ブロックとの間の画素差分を表す残差データは、残差ブロック又は予測誤差と称される。インター符号化ブロックは、予測ブロックを形成する参照フレームにおける参照ブロックを指し示す動きベクトル及び残差ブロックに従って符号化される。動きベクトルを決定するプロセスは一般的には動き予測と称される。イントラ符号化ブロックは、イントラ予測モード及び残差ブロックに従って符号化される。さらなる圧縮のために、残差ブロックは、画素領域から、たとえば周波数領域といった変
換領域に変換されて残差変換係数をもたらし、次いで量子化され得る。最初に2次元配列に配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査されてよく、次いで、さらにいっそうの圧縮を達成するためにビデオビットストリームへとエントロピー符号化される。
【0005】
次いで、符号化ビデオビットストリームは、デジタルビデオ機能を伴う別の電子デバイスによってアクセスされるコンピュータ読み取り可能な記録媒体(たとえばフラッシュメモリ)に保存されるか、又は有線もしくは無線で電子デバイスに直接伝送される。次いで、電子デバイスは、たとえば符号化ビデオビットストリームを解析してビットストリームからシンタックス要素を取得し、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、符号化ビデオビットストリームからのデジタルビデオデータを元のフォーマットに再構成することによってビデオ伸張(前述のビデオ圧縮とは逆の処理)を実行し、再構成されたデジタルビデオデータを電子デバイスのディスプレイに描画する。
【0006】
デジタルビデオの品質がハイビジョン(High Definition)から4K×2K又は8K×4Kに移行するにつれて、符号化/復号対象のビデオデータ量が指数関数的に増大する。これは、復号されるビデオデータの画質を維持しながらビデオデータをいかにより効率的に符号化/復号できるかという点での絶え間ない努力がある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本出願は、ビデオデータの符号化及び復号に関連した実装形態を記述するものであり、より詳細には、パレットモードを使用するビデオの符号化及び復号のシステム及び方法を記述する。
【課題を解決するための手段】
【0008】
本出願の第1の態様によれば、ビデオデータを復号する方法は、ビットストリームから、符号化ユニットに関連した複数のシンタックス要素を受け取るステップであって、複数のシンタックス要素が符号化ユニットのサイズ及び符号化ツリータイプを示す、ステップと、符号化ユニットの符号化ツリータイプに応じて、符号化ユニットの最小のパレットモード・ブロックサイズを決定するステップと、符号化ユニットのサイズが最小のパレットモード・ブロックサイズよりも大きいとの決定に応じて、ビットストリームから、符号化ユニットに関連したパレットモード有効化フラグを受け取るステップと、パレットモード有効化フラグに応じて、ビットストリームから符号化ユニットを復号するステップとを含む。
【0009】
本出願の第2の態様によれば、電子装置は、1つ以上の処理部、メモリ、及びメモリに記憶された複数のプログラムを含む。このプログラムは、1つ以上の処理部によって実行されると、電子機器に、上記されたようにビデオデータを復号する方法を実施させる。
【0010】
本出願の第3の態様によれば、非一時的なコンピュータ読み取り可能な記録媒体は、1つ以上の処理部を有する電子装置によって実行される複数のプログラムを記憶している。このプログラムは、1つ以上の処理部によって実行されると、電子機器に、上記されたようにビデオデータを復号する方法を実施させる。
【0011】
実装形態のさらなる理解を提供するために含まれる添付図面は、本明細書に組み込まれて本明細書の一部を構成し、記述された実装形態を図示して、記述とともに基本原理を説明するのに役立つものである。類似の参照数字は相当する部分を指す。
【図面の簡単な説明】
【0012】
【
図1】本開示のいくつかの実装形態による例示的ビデオ符号化及び復号システムを示すブロック図である。
【
図2】本開示のいくつかの実装形態による例示的なビデオ符号化器を示すブロック図である。
【
図3】本開示のいくつかの実装形態による例示的ビデオ復号器を示すブロック図である。
【
図4A】本開示のいくつかの実装形態によって、フレームが、サイズ及び形状の異なる複数のビデオブロックへと再帰的に分割される様子を示すブロック図である。
【
図4B】本開示のいくつかの実装形態によって、フレームが、サイズ及び形状の異なる複数のビデオブロックへと再帰的に分割される様子を示すブロック図である。
【
図4C】本開示のいくつかの実装形態によって、フレームが、サイズ及び形状の異なる複数のビデオブロックへと再帰的に分割される様子を示すブロック図である。
【
図4D】本開示のいくつかの実装形態によって、フレームが、サイズ及び形状の異なる複数のビデオブロックへと再帰的に分割される様子を示すブロック図である。
【
図4E】本開示のいくつかの実装形態によって、フレームが、サイズ及び形状の異なる複数のビデオブロックへと再帰的に分割される様子を示すブロック図である。
【
図5A】本開示のいくつかの実装形態に従って、ビデオデータを符号化するためにパレットテーブルを使用する例を示すブロック図である。
【
図5B】本開示のいくつかの実装形態に従って、ビデオデータを符号化するためにパレットテーブルを使用する例を示すブロック図である。
【
図5C】本開示のいくつかの実装形態に従って、ビデオデータを符号化するためにパレットテーブルを使用する例を示すブロック図である。
【
図5D】本開示のいくつかの実装形態に従って、ビデオデータを符号化するためにパレットテーブルを使用する例を示すブロック図である。
【
図6】ビデオ復号器が、本開示のいくつかの実装形態によってビデオデータを復号する技術を実施する、例示的プロセスを示す流れ図である。
【
図7】本開示のいくつかの実装形態に従って、コンテキスト適応型2進算術符号化(CABAC)エンジンの例を示すブロック図である。
【発明を実施するための形態】
【0013】
次に具体的な実装形態が詳細に参照され、それらの実施例が添付図面に示されている。以下の詳細な説明では、本明細書で提示される主題の理解を支援するために多くの非限定的かつ具体的な詳細が明らかにされる。しかし、特許請求の範囲から逸脱することなく様々な代替形態が使用され得、これらの具体的な詳細なしで主題が実施され得ることが、当業者には明らかであろう。たとえば、本明細書で提示された主題が、デジタルビデオ機能を伴う多くのタイプの電子デバイスにおいて実施され得ることは、当業者には明らかであろう。
【0014】
図1は、本開示のいくつかの実装形態に従って、ビデオブロックの符号化と復号を並行して行うための例示的システム10を示すブロック図である。
図1に示されるように、システム10は、後に送信先(デスティネーション)装置14によって復号されるビデオデータを生成して符号化する情報源(ソース)装置12を含む。情報源装置12及び送信先装置14は、デスクトップコンピュータ又はラップトップコンピュータ、タブレット型コンピュータ、スマートフォン、セットトップボックス、デジタルテレビジョン、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、ビデオストリーミングデバイス等を含む種々の電子デバイスのうち任意のものを備え得る。いくつかの実装形態では、情報源装置12及び送信先装置14は無線通信機能を装備している。
【0015】
いくつかの実装形態では、送信先装置14は、リンク16を通じて、復号される符号化
ビデオデータを受け取ってよい。リンク16は、情報源装置12から送信先装置14に、符号化ビデオデータを転送することができる任意のタイプの通信媒体又は通信デバイスを備え得る。一例では、リンク16は、情報源装置12が送信先装置14に、符号化ビデオデータをリアルタイムで直接伝送することを可能にするための通信媒体を備え得る。符号化ビデオデータは、無線通信プロトコルなどの通信規格に従って変調されて送信先装置14に伝送され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つ以上の物理的伝送路などの任意の無線又は有線の通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、又はインターネットなどのグローバネットワークなどのパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、又は情報源装置12から送信先装置14への通信を容易にするのに役立つその他の機器を含み得る。
【0016】
いくつかの他の実装形態では、符号化ビデオデータは、出力インタフェース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からの符号化ビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、又は両方の組合せでよい。
【0017】
図1に示されるように、情報源装置12は、ビデオ源18、ビデオ符号化器20及び出力インタフェース22を含む。ビデオ源18は、たとえばビデオカメラ、以前に取り込まれたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受け取るためのビデオ供給インタフェース、及び/又はソースビデオとしてのコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、あるいはそのようなソースの組合せといった、ビデオキャプチャーデバイスなどのソースを含み得る。一例として、ビデオ源18がセキュリティ監視システムのビデオカメラである場合には、情報源装置12及び送信先装置14がカメラフォン又はビデオフォンを形成し得る。しかしながら、本出願に記述された実装形態は、一般にビデオコーディングに適用可能であり得、無線及び/又は有線の用途に適用され得る。
【0018】
取り込まれた、前もって取り込まれた、又はコンピュータで生成されたビデオは、ビデオ符号化器20によって符号化され得る。符号化ビデオデータは、情報源装置12の出力インタフェース22を通って送信先装置14に直接伝送され得る。符号化ビデオデータは、復号及び/又は再生のために、送信先装置14又は他のデバイスによる後のアクセス用に、記録装置32にも(又は代わりに)記憶されてよい。出力インタフェース22はモデム及び/又は送信器をさらに含み得る。
【0019】
送信先装置14は、入力インタフェース28、ビデオ復号器30、及び表示装置34を含む。入力インタフェース28は受信器及び/又はモデムを含み得、リンク16を通じて、符号化ビデオデータを受け取る。リンク16を通じて通信されるか又は記録装置32で供給される符号化ビデオデータは、ビデオ復号器30によってビデオデータを復号する際に使用される、ビデオ符号化器20によって生成された種々のシンタックス要素を含み得る。そのようなシンタックス要素が含まれ得る符号化ビデオデータは、通信媒体で伝送され、記録媒体又はファイルサーバに記憶される。
【0020】
いくつかの実装形態では、送信先装置14が含み得る表示装置34は、統合表示装置と、送信先装置14と通信するように構成された外部表示装置とであり得る。表示装置34は、復号ビデオデータをユーザーに表示し、液晶ディスプレイ(LCD:liquid crystal display)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別タイプの表示装置などの種々の表示装置のうち任意のものを備え得る。
【0021】
ビデオ符号化器20及びビデオ復号器30は、VVC,HEVC,MPEG-4 Part 10 AVC(Advanced Video Coding),又はこれらの規格の拡張版などの、知的所有物又は業界規格に基づいて動作し得る。本出願は特定のビデオ符号化/復号の規格に限定されず、他のビデオ符号化/復号の規格に適用可能であり得ることを理解されたい。一般に、情報源装置12のビデオ符号化器20は、これらの現在の規格又は将来の規格のいずれかに従ってビデオデータを符号化するように構成され得ることが意図されている。同様に、送信先装置14のビデオ復号器30は、これらの現在の規格又は将来の規格のいずれかに従ってビデオデータを復号するように構成され得ることも一般に意図されている。
【0022】
ビデオ符号化器20及びビデオ復号器30は、それぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP:digital signal processor)、特定用途向け集積回路(ASIC:application specific
integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、ディスクリートロジック(個別論理回路:discrete logic)、ソフトウェア、ハードウェア、ファームウェア又はこれらの任意の組合せなどの種々の適切な符号化回路構成のうち任意のものとして実施され得る。電子デバイスは、部分的にソフトウェアで実施されるときには、ソフトウェアに関する命令を適切な非一時的コンピュータ可読媒体に記憶し、1つ以上のプロセッサを使用してハードウェアで命令を実行して、本開示で開示されたビデオ符号化/復号の処理を実行し得る。ビデオ符号化器20及びビデオ復号器30の各々が1つ以上の符号化器又は復号器に含まれ得、そのいずれかが、それぞれのデバイスにおいて組み合わされた符号化器/復号器(CODEC)の一部として一体化され得る。
【0023】
図2は、本出願に記述されたいくつかの実装形態による例示的ビデオ符号化器20を示すブロック図である。ビデオ符号化器20は、ビデオフレームの内部のビデオブロックのイントラ予測符号化及びインター予測符号化を実行し得る。イントラ予測符号化は、所与のビデオフレーム又はピクチャの内部のビデオデータにおける空間冗長性を低減するか又は除去するために空間予測に頼る。インター予測符号化は、ビデオシーケンスの隣接したビデオフレーム又はピクチャの内部のビデオデータにおける時間冗長性を低減するか又は除去するために時間予測に頼る。
【0024】
図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つ以上の変更不能な又はプログラマブルなハードウェアユニットのうちに分割されてもよい。
【0025】
ビデオデータメモリ40は、ビデオ符号化器20の構成要素によって符号化されるビデオデータを記憶し得る。ビデオデータメモリ40のビデオデータは、たとえばビデオ源18から取得され得る。DPB64は、ビデオ符号化器20によって(たとえばイントラ予測符号化モード又はインター予測符号化モードで)ビデオデータを符号化するのに用いる参照ビデオデータを記録するバッファである。ビデオデータメモリ40及びDPB64は、様々な記録装置のうち任意のものによっても形成され得る。様々な例において、ビデオデータメモリ40は、ビデオ符号化器20の他の構成要素とともにオンチップでよく、又はそれらの構成要素に対してオフチップでもよい。
【0026】
図2に示されるように、予測処理部41の内部の分割部45は、受け取ったビデオデータをビデオブロックへと分割する。この分割は、ビデオデータに関連付けられた四分木構造などの所定の分割構造に従って、ビデオフレームを、スライス、タイル、又は他のより大きい符号化ユニット(CU)へと分割することを含み得る。ビデオフレームは複数のビデオブロック(又は、タイルと称されるビデオブロックのセット)に分割され得る。予測処理部41は、誤り結果(たとえば符号化レートや歪みのレベル)に基づいて現在のビデオブロック用に、複数のイントラ予測符号化モードのうちの1つ、又は複数のインター予測符号化モードのうちの1つなど、複数の可能な予測符号化モードのうちの1つを選択してよい。予測処理部41は、結果として生じるイントラ予測符号化ブロック又はインター予測符号化ブロックを、加算器50に供給して残差ブロックを生成してよく、また、この符号化ブロックを加算器62に供給して、後に参照フレームの一部として使用するために再構成してよい。予測処理部41は、また、エントロピー符号化部56に、動きベクトル、イントラモードインジケータ、分割情報、及び他のそのようなシンタックス情報などのシンタックス要素を供給する。
【0027】
現在のビデオブロック用に適切なイントラ予測符号化モードを選択するために、予測処理部41の内部のイントラ予測処理部46は、符号化される現在のブロックと同じフレームにおける1つ以上の近隣のブロックに関する現在のビデオブロックのイントラ予測符号化を実行して、空間予測をもたらし得る。予測処理部41の内部の動き推定部42及び動き補償部44は、1つ以上の参照フレームにおける1つ以上の予測ブロックに関連して現在のビデオブロックのインター予測符号化を実行して時間予測をもたらす。ビデオ符号化器20は、たとえばビデオデータの各ブロック用に適切な符号化モードを選択するために、複数の符号化パスを実行してよい。
【0028】
いくつかの実装形態では、動き推定部42は、一連のビデオフレームの内部の所定のパターンに従って、参照ビデオフレームの内部の予測ブロックに対する現在のビデオフレームの内部のビデオブロックの予測ユニット(PU)の変位を示す動きベクトルを生成することにより、現在のビデオフレームに関するインター予測モードを決定する。動き推定部42によって実行される動き予測は、ビデオブロックの動きを推定する動きベクトルを生
成するプロセスである。動きベクトルは、たとえば、現在のフレーム内(又は他の符号化ユニット内)の符号化される現在のブロックに関連して、参照フレーム内(又は他の符号化ユニット)内の予測ブロックに対する現在のビデオフレーム又はピクチャの内部のビデオブロックのPUの変位を示し得る。所定のパターンは、ビデオフレームを、シーケンスにおけるPフレーム又はBフレームとして指定し得る。イントラBC部48は、インター予測用の動き推定部42による動きベクトルの決定と同様のやり方で、イントラBC符号化用の、たとえばブロックベクトルといったベクトルを決定してよく、又は動き推定部42を利用してブロックベクトルを決定してもよい。
【0029】
予測ブロックは、画素差分の観点から、符号化対象となるビデオブロックのPUと密接に対応するものとみなされる参照フレームのブロックであり、差分絶対値和(SAD:sum of absolute difference)、差分二乗和(SSD:sum
of square difference)、又は他の差分基準量によって決定され得る。いくつかの実装形態では、ビデオ符号化器20は、DPB64に記憶された参照フレームのサブ整数型画素位置の値を計算してよい。たとえば、ビデオ符号化器20は、参照フレームの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を補間してよい。したがって、動き推定部42は、全体の画素位置及び分数画素位置に関する動き探索を実行して、分数画素精度を有する動きベクトルを出力し得る。
【0030】
動き推定部42は、インター予測符号化フレームのビデオブロックのPUに関して、第1の参照フレームリスト(リスト0)又は第2の参照フレームリスト(リスト1)から選択された参照フレームの予測ブロックの位置と当該PUの位置とを比較することにより動きベクトルを計算する。ここで、第1の参照フレームリスト又は第2の参照フレームリストはそれぞれDPB64に格納されている1つ以上の参照フレームを特定するものである。動き推定部42は、計算された動きベクトルを動き補償部44に送り、次いでエントロピー符号化部56に送る。
【0031】
動き補償部44によって実行される動き補償は、動き推定部42によって決定された動きベクトルに基づいて予測ブロックを取り込むこと又は生成することを包含し得る。動き補償部44は、現在のビデオブロックのPUに関する動きベクトルを受け取ると、動きベクトルが参照フレームリストのうちの1つにおいて指し示す予測ブロックを捜し出し、DPB64から予測ブロックを取り出して、予測ブロックを加算器50に転送する。次いで、加算器50は、符号化される現在のビデオブロックの画素値から動き補償部44によってもたらされた予測ブロックの画素値を差し引くことにより、画素差分値の残差ビデオブロックを形成する。残差ビデオブロックを形成する画素差分値は、輝度(luma)差分成分もしくは色差(chroma)差分成分、又はこれらの両方を含み得る。動き補償部44は、ビデオ復号器30によって、ビデオフレームのビデオブロックを復号する際に使用されるビデオフレームのビデオブロックに関連したシンタックス要素も生成し得る。シンタックス要素は、たとえば、予測ブロックを特定するために使用される動きベクトルを定義するシンタックス要素、予測モードを示す任意のフラグ、又は本明細書に記述されたその他のシンタックス情報を含み得る。なお、動き推定部42と動き補償部44はほとんど一体化され得るが、概念的な目的のために個別に示されている。
【0032】
いくつかの実装形態では、イントラBC部48は、動き推定部42及び動き補償部44に関して上記に記述されたのと同様のやり方でベクトルを生成して予測ブロックを取り込み得るが、予測ブロックは符号化される現在のブロックと同じフレームにあり、ベクトルは動きベクトルと対照的にブロックベクトルと称される。詳細には、イントラBC部48は、現在のブロックを符号化するためにイントラ予測モードを使用するように決定してよい。いくつかの例において、イントラBC部48は、たとえば個別の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し、レート-歪み解析によっ
てそれらイントラ予測モードの性能を分析してよい。次に、イントラBC部48は、試験された様々なイントラ予測モードの中で、イントラモードインジケータを生成するのに使用する適切なイントラ予測モードを選択してよい。たとえば、イントラBC部48は、レート-歪み解析を使用して、試験された様々なイントラ予測モードに関するレート-歪み値を計算し、試験されたモードの中で最善のレート-歪み特性を有するイントラ予測モードを、使用するのに適切なイントラ予測モードとして選択してよい。レート-歪み解析は、一般に、符号化ブロックと、当該符号化ブロックを生成するために符号化される符号化前の元のブロックとの間の歪み(又は誤差)量とともに、これら符号化ブロックを生成するために使用されたビットレート(すなわち、多数のビット)を決定する。イントラBC部48は、様々な符号化ブロックについて歪みとレートとの比率を計算して、そのブロックに関する最善のレート-歪み値を示すイントラ予測モードを決定してよい。
【0033】
他の例では、イントラBC部48は、本明細書に記述された実装形態に従ってイントラBC予測のためのそのような機能を実行するために、動き推定部42及び動き補償部44を全体的又は部分的に使用してよい。どちらの場合にも、イントラブロックコピーについては、予測ブロックは、画素差分の観点から、符号化対象となるブロックと密接に対応するものとみなされるブロックでよく、差分絶対値和(SAD)、差分二乗和(SSD)、又は他の差分基準量によって決定され得る。予測ブロックの特定には、サブ整数型画素位置の値の計算が含まれ得る。
【0034】
予測ブロックがイントラ予測による同じフレームからのものであろうとインター予測による異なるフレームからのものであろうと、ビデオ符号化器20は、符号化される現在のビデオブロックの画素値から予測ブロックの画素値を差し引くことによって残差ビデオブロックを形成してよく、画素差分値を形成する。残差ビデオブロックを形成する画素差分値は、輝度差分成分と色差差分成分の両方を含み得る。
【0035】
イントラ予測処理部46は、前述のように、動き推定部42及び動き補償部44によって実行されるインター予測、又はイントラBC部48によって実行されるイントラブロックコピー予測の代替として、現在のビデオブロックをイントラ予測してよい。詳細には、イントラ予測処理部46は、現在のブロックを符号化するためにイントラ予測モードを使用するように決定してよい。そうするために、イントラ予測処理部46は、たとえば個別の符号化パス中に様々なイントラ予測モードを使用して現在のブロックを符号化してよく、イントラ予測処理部46(又はいくつかの例ではモード選択部)は、試験されたイントラ予測モードから、使用するべき適切なイントラ予測モードを選択してよい。イントラ予測処理部46は、そのブロック向けに選択されたイントラ予測モードを表す情報をエントロピー符号化部56に供給してよい。エントロピー符号化部56は、ビットストリームにおける選択されたイントラ予測モードを示す情報を符号化してよい。
【0036】
予測処理部41がインター予測又はイントラ予測のいずれかによって現在のビデオブロック用の予測ブロックを決定した後に、加算器50が、現在のビデオブロックから予測ブロックを差し引くことによって残差ビデオブロックを生成する。残差ブロックにおける残差ビデオデータは1つ以上の変換ユニット(TU)に含まれ得、変換処理部52に供給される。変換処理部52は、離散コサイン変換(DCT:discrete cosine
transform)又は概念的に同様の変換などの変換を使用して残差ビデオデータを残差変換係数に変換する。
【0037】
変換処理部52は、結果として生じる変換係数を量子化部54に送ってよい。量子化部54は、変換係数を量子化してビットレートをさらに低下させる。量子化プロセスは、係数のうちのいくつか又はすべてに関連したビット深さも縮小し得る。量子化の程度は、量子化パラメータを調節することによって変更され得る。いくつかの例において、量子化部
54は、次いで、量子化変換係数を含むマトリクスの走査を実行し得る。あるいはエントロピー符号化部56が走査を実行してもよい。
【0038】
量子化に続いて、エントロピー符号化部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は、符号化される現在のビデオフレームに関する動きベクトル及び他のシンタックス要素もエントロピー符号化してよい。
【0039】
他のビデオブロックを予測するための参照ブロックを生成するために、画素領域における残差ビデオブロックを再構成するのに、逆量子化部58が逆量子化を適用し、逆変換処理部60が逆変換を適用する。前述のように、動き補償部44は、DPB64に記憶されたフレームの1つ以上の参照ブロックから、動き補償予測ブロックを生成し得る。動き補償部44はまた、予測ブロックに1つ以上の補間フィルタを適用して、動き予測に用いるサブ整数画素値を計算してよい。
【0040】
加算器62は、再構成された残差ブロックを、動き補償部44によって生成された動き補償予測ブロックに加えて、DPB64に記憶するための参照ブロックを生成する。次いで、参照ブロックは、イントラBC部48、動き推定部42及び動き補償部44によって、後続のビデオフレームにおける別のビデオブロックをインター予測するための予測ブロックとして使用され得る。
【0041】
図3は、本出願のいくつかの実装形態による例示的なビデオ復号器30を示すブロック図である。ビデオ復号器30は、ビデオデータメモリ79、エントロピー復号部80、予測処理部81、逆量子化部86、逆変換処理部88、加算器90、及びDPB92を含む。予測処理部81は、動き補償部82、イントラ予測処理部84、及びイントラBC部85をさらに含む。ビデオ復号器30は、
図2に関連してビデオ符号化器20に関して記述された符号化プロセスとは全体的に逆の復号プロセスを実行し得る。たとえば、動き補償部82は、エントロピー復号部80から受け取られた動きベクトルに基づいて予測データを生成し得、一方、イントラ予測処理部84は、エントロピー復号部80から受け取られたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【0042】
いくつかの例において、ビデオ復号器30のユニットには、本出願の実装形態を実行するようにタスクが課されることがある。また、いくつかの例では、本開示の実装形態は、ビデオ復号器30の1つ以上のユニットの間で分割されてもよい。たとえば、イントラBC部85は、本出願の実装形態を、単独で、又はビデオ復号器30の動き補償部82、イントラ予測処理部84、及びエントロピー復号部80などの他のユニットと組み合わせて実行し得る。いくつかの例では、ビデオ復号器30はイントラBC部85を含まなくてよく、イントラBC部85の機能性は、動き補償部82など、予測処理部81の他の構成要素によって実行され得る。
【0043】
ビデオデータメモリ79は、ビデオ復号器30の他の構成要素によって復号される符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ79に記憶されたビデオデータは、記録装置32から、たとえばカメラなどのローカルなビデオ源から、ビデオデータの有線もしくは無線のネットワーク通信によって、又はたとえばフラッシュドライブもしくはハードディスクといった物理的データ記録媒体にアクセスすることによって取得され得る。ビデオデータメモリ79は、符号化ビデオビットストリームからの符号化ビデオデータを記憶する、符号化ピクチャバッファ(CPB:coded picture buffer)を含み得る。ビデオ復号器30の、復号ピクチャバッファ(DPB)92は、ビデオ復号器30によって(たとえばイントラ予測符号化モード又はインター予測符号化モードで)ビデオデータを符号化するのに用いる参照ビデオデータを記憶する。ビデオデータメモリ79及びDPB92は、シンクロナスDRAM(SDRAM:Synchronous Dynamic Random Access Memory)、磁気抵抗型RAM(MRAM:Magneto-resistive RAM)、抵抗変化型RAM(RRAM)、又は他のタイプのメモリデバイスを含む動的ランダムアクセスメモリ(DRAM:Resistive RAM)などの種々のメモリデバイスのうち任意のものによって形成され得る。例示のために、ビデオデータメモリ79及びDPB92は、
図3におけるビデオ復号器30の2つの別個の構成要素として表されている。しかし、ビデオデータメモリ79及びDPB92は、同一のメモリデバイス又は個別のメモリデバイスによってもたらされ得ることが当業者には明らかであろう。いくつかの例では、ビデオデータメモリ79は、ビデオ復号器30の他の構成要素とともにオンチップでよく、又はそれらの構成要素に対してオフチップでもよい。
【0044】
復号プロセス中に、ビデオ復号器30は、符号化ビデオフレーム及び関連するシンタックス要素のビデオブロックを表す符号化ビデオビットストリームを受け取る。ビデオ復号器30はビデオフレームレベル及び/又はビデオブロックレベルのシンタックス要素を受け取ってよい。ビデオ復号器30のエントロピー復号部80は、ビットストリームをエントロピー復号して、量子化係数、動きベクトル又はイントラ予測モードインジケータ、及び他のシンタックス要素を生成する。次いで、エントロピー復号部80は、動きベクトル及び他のシンタックス要素を予測処理部81に転送する。
【0045】
ビデオフレームが、イントラ予測符号化(I)フレームとして、又は他のタイプのフレームにおけるイントラ符号化予測ブロック向けに符号化されるとき、予測処理部81のイントラ予測処理部84は、信号伝達されたイントラ予測モード及び現在のフレームの以前に復号されたブロックからの参照データに基づいて、現在のビデオフレームのビデオブロックに関する予測データを生成し得る。
【0046】
ビデオフレームがインター予測符号化(すなわちB又はP)フレームとして符号化されるとき、予測処理部81の動き補償部82は、エントロピー復号部80から受け取られた動きベクトル及び他のシンタックス要素に基づいて現在のビデオフレームのビデオブロックに関する1つ以上の予測ブロックを生成する。予測ブロックの各々が、参照フレームリストのうちの1つの内部の参照フレームから生成され得る。ビデオ復号器30は、DPB92に記憶された参照フレームに基づくデフォルトの構成技術を使用して、参照フレームリスト、リスト0及びリスト1を構成し得る。
【0047】
いくつかの例では、本明細書に記述されたイントラBCモードに従ってビデオブロックが符号化されるとき、予測処理部81のイントラBC部85は、エントロピー復号部80から受け取られたブロックベクトル及び他のシンタックス要素に基づいて現在のビデオブロックに関する予測ブロックを生成する。予測ブロックは、ビデオ符号化器20によって定義された現在のビデオブロックと同一のピクチャの再構成された領域の内部にあり得る。
【0048】
動き補償部82及び/又はイントラBC部85は、動きベクトル及び他のシンタックス要素を解析することによって現在のビデオフレームのビデオブロックに関する予測情報を決定し、次いで、予測情報を使用して、復号される現在のビデオブロックに関する予測ブロックを生成する。たとえば、動き補償部82は、受け取られたシンタックス要素のうちのいくつかを使用して、ビデオフレームのビデオブロックを符号化するのに使用される予測モード(たとえばイントラ予測又はインター予測)、インター予測フレームタイプ(たとえばB又はP)、フレームに関する参照フレームリストのうちの1つ以上の構成情報、フレームにおける各インター予測符号化ビデオブロックの動きベクトル、フレームの各インター予測符号化ビデオブロックのインター予測状態、及び現在のビデオフレームにおけるビデオブロックを復号するための他の情報を決定する。
【0049】
同様に、イントラBC部85は、たとえばフラグといった受け取られたシンタックス要素のうちのいくつかを使用して、現在のビデオブロックはイントラBCモードを使用して予測されたものであること、再構成された領域の内部にあってDPB92に記憶されるべきフレームのビデオブロックの構成情報、フレームの各イントラBC予測ビデオブロックのブロックベクトル、フレームの各イントラBC予測ビデオブロックのイントラBC予測状態、及び現在のビデオフレームにおけるビデオブロックを復号するための他の情報を決定し得る。
【0050】
動き補償部82はまた、ビデオ符号化器20によってビデオブロックの符号化中に参照ブロックのサブ整数画素の補間値を計算するために使用されたような補間フィルタを使用して、補間を実行し得る。この場合、動き補償部82は、受け取られたシンタックス要素から、ビデオ符号化器20によって使用された補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成し得る。
【0051】
逆量子化部86は、ビットストリームの中に与えられてエントロピー復号部80によってエントロピー復号された量子化変換係数を、ビデオ符号化器20によってビデオフレームにおける各ビデオブロックについて量子化の程度を決定するために計算されたものと同一の量子化パラメータを使用して逆量子化する。逆変換処理部88は、画素領域における残差ブロックを再構成するために、変換係数に対して、たとえば逆DCT、逆整数変換、又は概念的に類似の逆変換プロセスといった逆変換を適用する。
【0052】
動き補償部82又はイントラBC部85がベクトル及び他のシンタックス要素に基づいて現在のビデオブロックに関する予測ブロックを生成した後に、加算器90は、逆変換処理部88からの残差ブロックと、動き補償部82及びイントラBC部85によって生成された対応する予測ブロックとを合計することによって、現在のビデオブロックに関する復号ビデオブロックを再構成する。復号ビデオブロックをさらに処理するために、加算器90とDPB92との間にループ内フィルタ(図示せず)が配置されてよい。次いで、所与のフレームにおける復号ビデオブロックは、次のビデオブロックの後続の動き補償に使用される参照フレームを記憶するDPB92に記憶される。DPB92又はDPB92とは別個のメモリデバイスも、復号されたビデオを、後に
図1の表示装置34などの表示装置に提示するために記憶し得る。
【0053】
一般的なビデオコーディングプロセスでは、ビデオシーケンスは、一般的にはフレーム又はピクチャの順序づけられたセットを含む。各フレームが、SL、SCb、及びSCrと表される3つのサンプル配列を含み得る。SLは、輝度(luma)サンプルからなる2次元配列である。SCbは、Cb色差サンプルからなる2次元配列である。SCrは、Cr色差サンプルからなる2次元配列である。他の事例では、フレームは白黒でよく、したがって輝度サンプルの2次元配列を1つだけ含む。
【0054】
図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のブロックでよい。
【0055】
より優れた性能を達成するために、ビデオ符号化器20は、CTUの符号化ツリーブロックに対して、二分木(binary-tree)分割、三分木(ternary-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は、単一の符号化ブロックと、符号化ブロックのサンプルを符号化するのに使用されるシンタックス構造とを含み得る。
図4C及び
図4Dに表された四分木分割は単なる説明のためのものであり、1つのCTUが、様々な局所的特性に適合するように、四分木分割/三分木分割/二分木分割に基づいてCUに分割され得ることに留意されたい。複合の木構造では、1つのCTUが四分木構造によって分割され、各四分木の葉CUが二分木構造及び三分木構造によってさらに分割され得る。
図4Eに示されるように、4分割、水平2分割、垂直2分割、水平3分割、垂直3分割といった5つの分割タイプがある。
【0056】
いくつかの実装形態では、ビデオ符号化器20は、CUの符号化ブロックを1つ以上のM×Nの予測ブロック(PB)へとさらに分割し得る。予測ブロックは、同一の(インター又はイントラ)予測が適用されるサンプルの矩形状(正方形又は非正方形)のブロックである。CUの予測ユニット(PU)は、輝度サンプルの予測ブロックと、色差サンプルの2つの対応する予測ブロックと、予測ブロックを予測するのに使用されるシンタックス要素とを含み得る。白黒ピクチャ又は3つの個別のカラープレーンを有するピクチャでは、PUは、単一の予測ブロックと、予測ブロックを予測するのに使用されるシンタックス
構造とを含み得る。ビデオ符号化器20は、CUの各PUにおける、予測輝度、輝度に関するCb及びCrブロック、並びに、Cb及びCr予測ブロックを生成し得る。
【0057】
ビデオ符号化器20は、PUに関する予測ブロックを生成するためにイントラ予測又はインター予測を使用してよい。ビデオ符号化器20がイントラ予測を使用してPUの予測ブロックを生成する場合には、ビデオ符号化器20はPUに関連したフレームの復号サンプルに基づいてPUの予測ブロックを生成し得る。ビデオ符号化器20がインター予測を使用してPUの予測ブロックを生成する場合には、ビデオ符号化器20はPUに関連したフレーム以外の1つ以上のフレームの復号サンプルに基づいてPUの予測ブロックを生成し得る。
【0058】
ビデオ符号化器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符号化ブロックにおける対応するサンプルとの間の差分を示し得る。
【0059】
その上、
図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は、単一の変換ブロックと、変換ブロックのサンプルを変換するのに使用されるシンタックス構造とを含み得る。
【0060】
ビデオ符号化器20は、TUの輝度変換ブロックに1つ以上の変換を適用してTU用の輝度係数ブロックを生成し得る。係数ブロックは変換係数の2次元配列であり得る。変換係数はスカラー量であり得る。ビデオ符号化器20は、TUのCb変換ブロックに1つ以上の変換を適用してTU用のCb係数ブロックを生成し得る。ビデオ符号化器20は、TUのCr変換ブロックに1つ以上の変換を適用してTU用のCr係数ブロックを生成し得る。
【0061】
ビデオ符号化器20は、係数ブロック(たとえば輝度係数ブロック、Cb係数ブロック又はCr係数ブロック)を生成した後に係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータ量をどうにかして低減するために変換係数が量子化されるプロセスを指すものであり、さらなる圧縮をもたらす。ビデオ符号化器20は、係数ブロックを量子化した後に、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオ符号化器20は量子化変換係数を示すシンタックス要素に対してコンテキスト適応型2値算術符号化(CABAC)を実行し得る。最終的に、
ビデオ符号化器20は、符号化フレーム及び関連するデータの表現を形成する一連のビットを含むビットストリームを出力し得、これは記録装置32に保存されるか又は送信先装置14に伝送される。
【0062】
ビデオ復号器30は、ビデオ符号化器20によって生成されたビットストリームを受け取った後に、ビットストリームを解析して、ビットストリームからシンタックス要素を取得し得る。ビデオ復号器30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのフレームを再構成し得る。ビデオデータを再構成するプロセスは、一般にビデオ符号化器20によって実行された符号化プロセスの逆のである。たとえば、ビデオ復号器30は、現在のCUのTUに関連した係数ブロックに対する逆変換を実行して、現在のCUのTUに関連した残差ブロックを再構成し得る。ビデオ復号器30はまた、現在のCUのPUに関する予測ブロックのサンプルを、対応する現在のCUのTUの変換ブロックのサンプルに加算することによって現在のCUの符号化ブロックを再構成する。ビデオ復号器30は、フレームの各CUに関する符号化ブロックを再構成した後にフレームを再構成し得る。
【0063】
前述のように、ビデオコーディングは、主としてイントラフレーム予測(すなわちイントラ予測)及びインターフレーム予測(すなわちインター予測)の2つのモードを使用してビデオ圧縮を達成するものである。パレットベースの符号化は、多くのビデオコーディング規格によって採用されている別の符号化方式である。パレットベースの符号化は、スクリーンに生成されたコンテンツを符号化するのに特に適し、この方式では、ビデオコーダ(たとえばビデオ符号化器20又はビデオ復号器30)が、所与のブロックのビデオデータを表現する色のパレットテーブルを形成する。パレットテーブルは、所与のブロックの中で最も優勢な(たとえば頻繁に使用される)画素値を含む。所与のブロックのビデオデータにおいて頻繁に表現されない画素値は、パレットテーブルに含まれないか、又は回避色としてパレットテーブルに含まれる。
【0064】
パレットテーブルの各エントリは、パレットテーブルの中の対応する画素値に関するインデックスを含む。ブロックの中のサンプルに関するパレットインデックスは、サンプルを予測するか又は再構成するために使用されるパレットテーブルのエントリを示すように符号化され得る。このパレットモードは、ピクチャ、スライス、タイル、又はビデオブロックのそのようなグループ化の最初のブロックに関するパレット予測子を生成するプロセスから始まる。以下で説明されるように、後続のビデオブロックに関するパレット予測子は、一般的には、以前に使用されたパレット予測子を更新することによって生成される。例示のために、パレット予測子はピクチャレベルで定義されると想定されている。言い換えれば、ピクチャは、それぞれが固有のパレットテーブルを有する複数の符号化ブロックを含み得るが、全体のピクチャに関する1つのパレット予測子がある。
【0065】
ビデオビットストリームにおけるパレットエントリの信号伝達に必要なビット数を低減するために、ビデオ復号器は、ビデオブロックを再構成するために使用されるパレットテーブルの新しいパレットエントリを決定するためにパレット予測子を利用し得る。たとえば、パレット予測子は、以前に使用されたパレットテーブルからのパレットエントリを含んでよく、あるいは、つい最近使用されたパレットテーブルのすべてのエントリを含むことにより、つい最近使用されたパレットテーブルを用いて初期化されてもよい。いくつかの実装形態では、パレット予測子は、つい最近使用されたパレットテーブルからのすべてのエントリよりも少ないエントリを含み、次いで、以前に使用された他のパレットテーブルからのいくつかのエントリを組み込んでもよい。パレット予測子のサイズは、異なるブロックを符号化するために使用されるパレットテーブルのサイズと比較して、同一でも、より大きくても、より小さくてもよい。一例では、パレット予測子は、64のパレットエントリを含む先入れ先出し(FIFO)テーブルとして実現される。
【0066】
パレット予測子からのビデオデータのブロックに関するパレットテーブルを生成するために、ビデオ復号器は、符号化ビデオビットストリームから、パレット予測子の各入力について1ビットのフラグを受け取り得る。1ビットのフラグは、パレット予測子の関連する入力がパレットテーブルの中に含まれることを示す第1の値(たとえば2進数の1)又はパレット予測子の関連する入力がパレットテーブルの中に含まれないことを示す第2の値(たとえば2進数の0)を有し得る。パレット予測子のサイズがビデオデータのブロック用に使用されるパレットテーブルよりも大きい場合には、ビデオ復号器は、一旦パレットテーブルの最大サイズに達したら、さらにフラグを受け取ることを停止してよい。
【0067】
いくつかの実装形態では、パレットテーブルのいくつかのエントリは、パレット予測子を使用して決定されるのではなく、符号化ビデオビットストリームにおいて直接信号伝達され得る。そのようなエントリについて、ビデオ復号器は、符号化ビデオビットストリームから、エントリに関連した輝度成分及び2つの色差成分に関する画素値を示す3つの個別のmビットの値を受け取り得、mはビデオデータのビット深度を表現する。直接信号伝達されるパレットエントリのために複数のmビットの値が必要とされるのに対して、パレット予測子から導出されるパレットエントリが必要とするのは1ビットのフラグのみである。したがって、パレット予測子を使用してパレット入力のいくつか又はすべてを信号伝達すれば、新規のパレットテーブルの入力を信号伝達するために必要なビット数をかなり低減することができ、それによって、パレットモード符号化の全体的な符号化効率を改善する。
【0068】
多くの事例において、1つのブロックに関するパレット予測子は、以前に符号化された1つ以上のブロックを符号化するために使用されたパレットテーブルに基づいて決定される。しかし、ピクチャ、スライス又はタイルにおける最初の符号化ツリーユニットを符号化するときには、以前に符号化されたブロックのパレットテーブルを利用できない可能性がある。したがって、以前に使用されたパレットテーブルのエントリを使用してパレット予測子を生成することはできない。そのような場合には、以前に使用されたパレットテーブルが利用できないときにパレット予測子を生成するために使用された値である、一連のパレット予測子の初期化指定子が、シーケンスパラメータセット(SPS)及び/又はピクチャパラメータセット(PPS)において信号伝達されてよい。SPSは、一般に、各スライスセグメントヘッダに見られるシンタックス要素によって参照されるPPSに見られるシンタックス要素のコンテンツによって決定されたものとして、符号化ビデオシーケンス(CVS)と呼ばれる一連の連続した符号化ビデオピクチャに適合するシンタックス要素のシンタックス構造を指す。PPSは、一般に、各スライスセグメントヘッダに見られるシンタックス要素によって決定されたものとして、CVSの内部の1つ以上の個々のピクチャに適合するシンタックス要素のシンタックス構造を指す。したがって、SPSは、一般にPPSよりも上位のレベルのシンタックス構造とみなされ、SPSに含まれるシンタックス要素は、一般にそれほど頻繁に変化せず、PPSに含まれるシンタックス要素と比較して、ビデオデータのより大きい部分に適合することを意味する。
【0069】
図5A~
図5Bは、本開示のいくつかの実装形態に従って、ビデオデータを符号化するためにパレットテーブルを使用する例を示すブロック図である。
【0070】
パレット(PLT)モード信号伝達のために、符号化ユニット用の予測モードとしてパレットモードが符号化され、すなわち、符号化ユニット用の予測モードはMODE_INTRA、MODE_INTER、MODE_IBC及びMODE_PLTであり得る。パレットモードが利用される場合、CUの画素値は代表色の小さいセットによって表される。このセットはパレットと称される。パレット色に近い値を有する画素に関して、パレットインデックスが信号伝達される。パレットの外の値を有する画素はエスケープシンボル
を伴って表され、量子化された画素値が直接信号伝達される。現行のVVC草案の仕様におけるパレットモードのシンタックス及び関連するセマンティクスが、それぞれ以下のテーブル1及びテーブル2に示される。
【0071】
パレットモードで符号化されたブロックを復号するために、復号器は、ビットストリームからパレット色及びインデックスを復号する必要がある。パレット色は、パレットテーブルによって定義され、パレットテーブル符号化シンタックス(たとえばpalette_predictor_run、num_signaled_palette_entries、new_palette_entries)によって符号化される。現在のCUの中にエスケープシンボルがあるかどうか示すために、各CUについて、エスケープフラグpalette_escape_val_present_flagが信号伝達される。エスケープシンボルがある場合には、もう1つのエントリによってパレットテーブルが増補され、最後のインデックスはエスケープモードに割り当てられる。CUにおけるすべての画素のパレットインデックスは、パレットインデックスマップを形成し、パレットインデックスマップ符号化シンタックス(たとえばnum_palette_indices_minus1、palette_idx_idc、copy_above_indices_for_final_run_flag、palette_transpose_flag、copy_above_palette_indices_flag、palette_run_prefix、palette_run_suffix)によって符号化される。
図5Aにはパレットモードで符号化されたCUの一例が示されており、パレットサイズは4である。CUにおける最初の3つのサンプルは、それぞれ、再構成のためにパレットエントリ2、0、及び3を使用する。CUにおける「x」サンプルはエスケープシンボルを表す。CUレベルフラグ、palette_escape_val_present_flagは、CUの中に何らかのエスケープシンボルがあるかどうかを示すものである。エスケープシンボルがある場合には、パレットサイズが1つ増補され、最後のインデックスはエスケープシンボルを示すために使用される。したがって、
図5Aにおいて、エスケープシンボルにはインデックス4が割り当てられる。
【0072】
パレットインデックス(たとえば
図5Aにおけるインデックス4)がエスケープシンボルに対応する場合には、サンプルの対応色を示すために追加のオーバヘッドが信号伝達される。
【0073】
いくつかの実施形態では、符号化器側では、CUとともに使用される適切なパレットを導出する必要がある。損失符号化用のパレットを導出するために、修正k平均クラスタ化アルゴリズムが使用される。ブロックの最初のサンプルがパレットに追加される。次いで、ブロックからのそれぞれの後続のサンプルについて、サンプルと現在のパレット色の各々との間の差分絶対値和(SAD)が計算される。サンプルは、成分の各々の歪みが最小のSADに対応するパレットエントリの閾値未満であれば、そのパレットエントリに属するクラスタに追加される。そうでなければ、サンプルは新規のパレットエントリとして追加される。クラスタにマッピングされたサンプル数が閾値を超過すると、そのクラスタの重心が更新されて、そのクラスタのパレットエントリになる。
【0074】
次のステップにおいて、クラスタは使用の降順に選別される。次いで、各エントリに対応するパレットエントリが更新される。通常は、パレットエントリとしてクラスタ重心が使用される。しかし、パレットエントリの符号化のコストを考慮に入れたとき、重心の代わりに更新されたパレットエントリとして使用される、より適切な、パレット予測子からの何らかのエントリがないかどうかを分析するために、レート-歪み解析が実行される。このプロセスは、クラスタがすべて処理されるまで、又は最大のパレットサイズに達するまで、継続される。最終的に、クラスタが単一のサンプルのみを有し、対応するパレットエントリがパレット予測子になければ、サンプルはエスケープシンボルに変換される。加
えて、複写パレットエントリは除去され、それらのクラスタは組み合わされる。
【0075】
パレット導出の後に、ブロックの中の各サンプルは、(SADにおいて)最も近いパレットエントリのインデックスを割り当てられる。次いで、サンプルは「INDEX」モード又は「COPY_ABOVE」モードに割り当てられる。「INDEX」モード又は「COPY_ABOVE」モードのいずれかが可能な各サンプルについて、各モードの実行が決定される。次いで、モードを符号化するコストが計算される。より低コストのモードが選択される。
【0076】
パレットテーブルの符号化のためにパレット予測子が維持される。パレットの最大サイズとパレット予測子の最大サイズとは、どちらもSPS(又はPPS、スライスヘッダなどの他の符号化レベル)で信号伝達され得る。パレット予測子は、パレット予測子が0にリセットされる、各スライスの開始において初期化される。パレット予測子の各エントリについて、それが現在のパレットの一部であるかどうかを示すために再利用フラグが信号伝達される。
図5Bに示されるように、再利用フラグ、palette_predictor_runが送られる。この後、新規のパレットエントリの数が、0からシンタックスnum_signaled_palette_entriesまでの次数の指数ゴロム符号を使用して信号伝達される。最終的に、新規のパレットエントリ、new_palette_entries[]に関する成分値が信号伝達される。現在のCUを符号化した後に、現在のパレットを使用してパレット予測子が更新され、新規のパレット予測子の最後に、現在のパレットでは再利用されない前のパレット予測子からのエントリが、可能な最大サイズに達するまで追加される。
【0077】
パレットインデックスマップを符号化するために、
図5Cに示されるように、水平走査又は垂直走査を使用して、インデックスが符号化される。走査順序は、palette_transpose_flagを使用して、ビットストリームで明示的に信号伝達される。
【0078】
パレットインデックスは、2つの主要なパレットサンプルモード「INDEX」及び「COPY_ABOVE」を使用して符号化される。「INDEX」モードでは、パレットインデックスは明示的に信号伝達される。「COPY_ABOVE」モードでは、上の行のサンプルのパレットインデックスがコピーされる。「INDEX」モードと「COPY_ABOVE」モードとの両方について、同一のモードを使用して符号化される画素の数を規定する実行値が信号伝達される。モードはフラグを使用して信号伝達されるが、水平走査が使用されるときの一番上の行、又は垂直走査が使用されるときもしくは前のモードが「COPY_ABOVE」であったときの最初の列は信号伝達されない。
【0079】
いくつかの実施形態では、インデックスマップに関する符号化の順序は以下の通りである。最初に、シンタックスnum_palette_indices_minus1を使用してCUのインデックス値の数が信号伝達され、続いて、シンタックスpalette_idx_idcを使用して、全体のCUの実際のインデックス値が信号伝達される。インデックスの数とインデックス値との両方が、バイパスモードで符号化される。これは、インデックスに関連するバイパス符号化ビンをグループ化する。次いで、シンタックスcopy_above_palette_indices_flag、palette_run_prefix及びpalette_run_suffixを使用して、パレットモード(INDEX又はCOPY_ABOVE)及び実行が、インタリーブ方式で信号伝達される。copy_above_palette_indices_flagはコンテキスト符号化フラグ(ビンは1つのみ)であり、palette_run_prefixのコードワードは、以下のテーブル3に記述されるプロセスによって決定され、最初の5つのビンはコンテキスト符号化される。palette_run_suffixはバイパス
ビンとして符号化される。最終的に、全体のCUに関するエスケープサンプルに対応する成分エスケープ値がグループ化され、バイパスモードで符号化される。インデックス値を信号伝達した後に、追加のシンタックス要素copy_above_indices_for_final_run_flagが信号伝達される。このシンタックス要素は、インデックスの数とともに、ブロックにおける最後の実行に対応する実行値を信号伝達する必要性を解消する。
【0080】
VVC(VTM)の参照ソフトウェアにおいて、Iスライスに対してデュアルツリーが有効にされ、輝度成分と色差成分とに関する符号化ユニット分割を分離する。結果として、パレットは、輝度(Y成分)と色差(Cb成分及びCr成分)とに対して別個に適用される。デュアルツリーが無効にされると、パレットはY成分、Cb成分、Cr成分に対して一緒に適用される。
【0081】
【表1-1】
【表1-2】
【表1-3】
【表1-4】
【表1-5】
【表1-6】
【0082】
【表2-1】
【表2-2】
【表2-3】
【表2-4】
【表2-5】
【0083】
【0084】
第15回JVET会議において、VTM6.0のパレットモードにおけるバッファ使用法及びシンタックスを簡単にするために、ラインベースのCGが提案されている(ドキュメントの番号はJVET-O0120であり、http://phenix.int-evry.fr/jvet/でアクセスされ得る)。CUは、変換係数の符号化において使用される係数群(CG)のように、それぞれm個のサンプルから成る複数のラインベースの係数群に分割され、ここで、インデックス実行、パレットインデックス値、及びエスケープモード用に量子化された色が、各CGについて順次に符号化される/パーズされる。結果として、ラインベースのCGにおける画素は、たとえばインデックス実行、パレットインデックス値、及びCGに関するエスケープ量子化された色といったシンタックス要素をパーズした後に再構成され得、これによって、VTM6.0では再構成の前にすべての
CUに関するシンタックス要素がパーズされる(また格納される)必要のあるパレットモードにおけるバッファ要件が大いに軽減される。
【0085】
この用途では、パレットモードの各CUは、水平走査モードに基づいて、
図5Dに示されるようにm個(この試験ではm=8)のサンプルの複数のセグメントに分割される。
【0086】
各セグメントにおいて、パレット実行符号化のための符号化の順序は以下の通りである。各画素について、画素が前の画素と同一のモードであること、すなわち、以前の走査された画素と現在の画素とが、どちらも、実行タイプCOPY_ABOVEであること、又は実行タイプINDEXであって同一のインデックス値であることを示す、1つのコンテキスト符号化ビンrun_copy_flag=0が信号伝達される。そうでなければ、run_copy_flag=1が信号伝達される。
【0087】
現在の画素と前の画素とが異なるモードであれば、画素の実行タイプすなわちINDEX又はCOPY_ABOVEを示す1つのコンテキスト符号化ビンcopy_above_palette indices_flagが信号伝達される。この場合、デフォルトでINDEXモードが使用されるので、復号器は、サンプルが第1の行(水平走査)又は第1の列(垂直走査)にあるかどうか、実行タイプをパーズする必要はない。復号器は、以前にパーズされた実行タイプがCOPY_ABOVEであるかどうか、実行タイプをパーズする必要もない。
【0088】
1つのセグメントにおける画素のパレット実行符号化の後、(INDEXモードの)インデックス値及び量子化されたエスケープ色はバイパスビンとして符号化され、それぞれのラインベースのCGの内部の処理能力を改善するために、コンテキスト符号化ビンの符号化/パージングとは別にグループ化される。符号化の実行後に、インデックス値がこのとき符号化/パーズされるので、符号化器は、インデックス値num_palette_indices_minus1の数及び最後の実行タイプcopy_above_indices_for_final_run_flagを信号伝達する必要はない。CGパレットモードのシンタックスはテーブル4に示される。
【0089】
【表4-1】
【表4-2】
【表4-3】
【表4-4】
【表4-5】
【0090】
図6は、ビデオ復号器(たとえばビデオ復号器30)が、本開示のいくつかの実装形態によってビデオデータを復号する技術を実施する例示的プロセスを示す流れ
図600である。
【0091】
VVCのパレットモードについては、パレットモードは、64×64の画素以下のCUに適合し得る。いくつかの実施形態では、最小のパレットモード・ブロックサイズよりも小さいサイズの符号化ユニットについてはパレットモードを無効にして複雑さを軽減するために、最小のパレットモード・ブロックサイズが提案されている。たとえば、たとえば16サンプルといったある特定の閾値よりも小さいサイズのすべてのブロックのパレットモードを無効にすることが提案されている。種々の色差フォーマット(たとえば4:4:4、4:2:2、4:2:0)及び種々の符号化ツリータイプ(たとえばSINGLE_TREE、DUAL_TREE_LUMA及びDUAL_TREE_CHROMA)があるので、この閾値は変化する可能性がある。「SINGLE_TREE」は、これら2つの成分がそのパレットモードの下で同一のパレットテーブル及びパレット予測子を共有するように、画像の輝度成分と色差成分とが同様に分割されることを示すことに留意されたい。対照的に、「DUAL_TREE」は、これら2つの成分がそのパレットモードの下で別々のパレットテーブル及びパレット予測子を得るように、画像の輝度成分と色差成分とが別個に分割されることを示すものである。たとえば別々の成分が別個に考慮に入れられる、「DUAL_TREE」タイプを有するYUVの4:2:0フォーマットについては、16サンプルよりも小さいCUの色差成分のパレットモードは、複雑さを軽減するために無効にされてよい。次のテーブル5は、提案されたシンタックスの一例を示す。
【0092】
【0093】
テーブル5において、pred_mode_plt_flagは、符号化ユニットに対してパレットモードが有効(たとえば1の値)にされるかそれとも無効(たとえば0の値)にされるかを規定する。SubWidthCやSubHeightCのようなパラメータは、符号化ユニットの色差フォーマットに対して次のように関連付けられる。
【表6】
【0094】
白黒サンプリングではサンプル配列は1つしかなく、名目上輝度配列とみなされる。4:2:0のサンプリングでは、2つの色差配列の各々が、輝度配列の半分の高さ及び半分の幅を有する。4:2:2のサンプリングでは、2つの色差配列の各々が、輝度配列に対して同一の高さ及び半分の幅を有する。4:4:4のサンプリングでは、2つの色差配列の各々が、輝度配列と同一の高さ及び同一の幅を有する。
【0095】
別の実施形態では、シングルツリーの場合には、パレットモードは、輝度ブロックサイ
ズに依拠して、小さなサイズのブロックには無効にされる。YUV 420フォーマットに関する一例では、16画素よりも小さいCU用のパレットモードは、シングルツリーの場合には、輝度ブロックサイズに依拠して無効にされる。具体的な一例では、パレットの有効化が、輝度サンプルのサイズを条件とし、色差サンプルのサイズは無視するので、パレットモードは、8×4の輝度サンプル及び2つの4×2の色差サンプルを含有している8×4のCUに対して有効にされ得る。
【0096】
ビデオ復号器30は、ビットストリームの復号中に、最初に、ビットストリームから、符号化ユニットに関連した複数のシンタックス要素を受け取る(610)。複数のシンタックス要素は、符号化ユニットのサイズ及び符号化ツリータイプを示す。たとえば、符号化ツリータイプの符号化ユニットは、SINGLE_TREE、DUAL_TREE_LUMA又はDUAL_TREE_CHROMAのうちの1つであり得る。ビデオ復号器30は、次いで、符号化ユニットの符号化ツリータイプに応じて、符号化ユニットの最小のパレットモード・ブロックサイズを決定する(620)。たとえば、上記のテーブル5に表されるように、符号化ツリータイプの符号化ユニットがSINGLE_TREE又はDUAL_TREE_LUMAであるとき、ビデオ復号器30は最小のパレットモード・ブロックサイズを16サンプルに設定する。符号化ツリータイプの符号化ユニットがDUAL_TREE_CHROMAであるとき、ビデオ復号器30は、最初に、符号化ユニット用の色差フォーマットを決定し、次いで、最小のパレットモード・ブロックサイズを、色差フォーマットに応じて、上記の表に示されるように設定する。たとえば、色差フォーマットが4:4:4であるとき、最小のパレットモード・ブロックサイズは16サンプルであり、色差フォーマットが4:2:2であるとき、最小のパレットモード・ブロックサイズは32サンプルであって、色差フォーマットが4:2:0であるとき、最小のパレットモード・ブロックサイズは64サンプルである。
【0097】
ビデオ復号器30は、符号化ユニットのサイズが最小のパレットモード・ブロックサイズよりも大きいとの決定に応じて(630)、ビットストリームから、符号化ユニットに関連したパレットモード有効化フラグを受け取り(640)、次いで、パレットモード有効化フラグに応じて、ビットストリームから符号化ユニットを復号する(650)。いくつかの実施形態では、符号化ユニットに対してパレットモードが有効化されたとパレットモード有効化フラグが示すとき、ビデオ復号器30は、ビットストリームから、現在のユニット用のパレットテーブルを生成し(670)、次いで、
図5A~
図5Dに関連して上記で説明されたように、生成されたパレットテーブルを使用して、ビットストリームから符号化ユニットを復号する(680)。
【0098】
図7は、本開示のいくつかの実装形態に従って、例示的なコンテキスト適応型2進算術符号化(CABAC)エンジンを示すブロック図である。
【0099】
コンテキスト適応型2進算術符号化(CABAC)は、たとえばH.264/MPEG-4 AVC、高能率映像符号化(HEVC)及びVVCといった多くのビデオコーディング規格において使用されるエントロピー符号化の形態である。CABACは算術符号化に基づくものであり、いくつかの技術革新及び変更によりビデオコーディング規格の要求に適合する。たとえば、CABACは2進シンボルを符号化し、低複雑性を保ち、あらゆるシンボルのより頻繁に使用されるビットに関する確率モデリングを可能にするものである。確率モデルは、ローカルコンテキストに基づいて適応的に選択され、符号化モードが通常は局所的にうまく相関するので、確率のより優れたモデリングを可能にする。最後に、CABACは、量子化された確率範囲及び確率状態を使用することにより、乗算なしの範囲分割を使用する。
【0100】
CABACは、種々のコンテキストに対して複数の確率モデルを有する。CABACは
、最初に、すべての非2進シンボルを2進に変換する。次いで、符号化器は、各ビン(又は、ビットと称される)について、使用するべき確率モデルを選択し、次いで近くの要素からの情報を使用して確率推定を最適化する。データを圧縮するために、最後に算術符号化が適用される。
【0101】
コンテキストモデリングは、符号化シンボルの条件付き確率の推定をもたらす。適切なコンテキストモデルを利用すると、符号化のために現在のシンボルの近隣の既に符号化されているシンボルに応じて別々の確率モデルの間を切り換えることにより、所与のシンボル間冗長性が利用され得る。データシンボルを符号化するステップは以下のステージを包含している。
【0102】
2値化処理:CABACは2進算術符号化を使用するものであり、符号化されるのは2値判定(1又は0)のみであることを意味する。非2値シンボル(たとえば変換係数又は動きベクトル)は、算術符号化に先立って「2値化され」、すなわち2進符号に変換される。このプロセスは、データシンボルを可変長符号に変換する処理に類似であるが、送信する前に2進符号が(算術符号化器によって)さらに符号化される。ステージは、2値化されたシンボルの各ビン(すなわち「ビット」)に対して繰り返される。
【0103】
コンテキストモデルの選択:「コンテキストモデル」は、2値化されたシンボルの1つ以上のビンに関する確率モデルである。このモデルは、最近符号化されたデータシンボルの統計に依拠して、使用可能なモデルから選択されてよい。コンテキストモデルは、各ビンが「1」である確率又は「0」である確率を記憶する。
【0104】
算術符号化:算術符号化器は選択された確率モデルに応じて各ビンを符号化する。各ビンにつき、(「0」及び「1」に対応する)まさに2つのサブ範囲があることに留意されたい。
【0105】
確率の更新:選択されたコンテキストモデルは、実際の符号化された値に基づいて更新される(たとえば、ビン値が「1」であれば、「1」の度数カウントが増加される)。
【0106】
それぞれの非2進シンタックス要素の値を一連のビンへと分解することにより、CABACにおける各ビン値のさらなる処理は、関連する符号化モード決定に依拠して、通常モード又はバイパスモードに選択され得る。バイパスモードを選択されるビンは、均一な分布を仮定されるものであり、結果的に、すべての通常の2進算術符号化(及び復号)プロセスは単にバイパスされる。通常の符号化モードでは、各ビン値は、通常の2進算術符号化エンジンを使用することによって符号化され、関連する確率モデルは、シンタックス要素のタイプ及びシンタックス要素の2値化表現のビン位置すなわちビンインデックス(binIdx)に基づく一定の選択によって決定されるか、又は関連するサイド情報(たとえばCU/PU/TUの空間的近隣、成分、深度もしくはサイズ、又はTUの内部の位置)に依拠して、2つ以上の確率モデルから適応的に選択される。確率モデルの選択はコンテキストモデリングと称される。重要な設計決定として、後者は、一般的には、最も頻繁に観察されたビンにのみ適用され、通常はそれほど頻繁に観測されないその他のビンは、接合を使用して、一般的にはゼロ次確率モデルを使用して処理される。このようにして、CABACは、サブシンボルレベルでの選択的な適応確率モデリングを可能にし、よって、かなり低減された全体的なモデリングコスト又は学習コストでシンボル間冗長性を利用するための効率的な手段をもたらす。一定の選択と適応的な選択との両方について、原理的に、任意の2つの連続した通常の符号化されたビンの間で、ある確率モデルから別の確率モデルへの切換えが起こり得ることに留意されたい。一般に、CABACでは、コンテキストモデルの設計は、不必要なモデリングコストのオーバヘッドを防止することと、かなりの程度まで統計依存性を利用することとの、矛盾する目標の間で、優れた妥協点を見
いだすという目標を反映する。
【0107】
CABACにおける確率モデルのパラメータは適応性があり、これは、ビンのソースの統計的変動に対するモデル確率の適応が、符号化器と復号器との両方で、ビンごとに、後方適応式に同期して実行されることを意味し、このプロセスは確率推定と呼ばれる。そのために、CABACにおける各確率モデルは126の別々の状態のうちの1つを採用することができ、関連するモデル確率値pは[0:01875;0:98125]の範囲に及ぶ。各確率モデルの2つのパラメータは、コンテキストメモリの中に7ビットのエントリとして記憶され、6ビットが、最低確率のシンボル(LPS)のモデル確率pLPSを表す63の確率状態の各々用であり、1ビットが、最高確率のシンボル(MPS)の値nMPS用である。
【0108】
1つ又は複数の例では、記述された機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組合せで実現され得る。この機能は、ソフトウェアで実現される場合には、1つ以上の命令又は符号(コード)としてコンピュータ読み取り可能な媒体に記憶されるか又は伝送されてよく、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記録媒体などの有形の媒体に対応するコンピュータ読み取り可能な記録媒体、又は、たとえば通信プロトコルに従って、ある位置から別の位置へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信メディアを含み得る。このように、コンピュータ読み取り可能な媒体は、一般に(1)非一時的な有形のコンピュータ読み取り可能な記録媒体、又は(2)信号もしくは搬送波などの通信媒体に相当し得るものである。データ記録媒体は、1つ以上のコンピュータ又は1つ以上のプロセッサによって、本出願に記述された実装形態を実現するための命令、符号及び/又はデータ構造を取り出すためにアクセスされ得る、任意の利用可能な媒体でよい。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0109】
本明細書の実装形態の記述において使用される専門用語は、特定の実装形態のみを記述するためのものであり、特許請求の範囲を制限するようには意図されていない。実装形態及び添付の特許請求の範囲の記述で用いられるように、単数形「1つの(a)」、「1つの(an)」、及び「その(the)」は、文脈がはっきりと別様に示さなければ、複数形も含むように意図されている。本明細書で使用されるような「及び/又は」という用語は、関連する列挙された項目のうちの1つ又は複数の、ありとあらゆる可能な組合せを指し、かつ包含することも理解されよう。「備える」及び/又は「備えている」という用語は、本明細書で使用されたとき、明示された特徴、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、要素、構成要素、及び/又はこれらのグループの存在もしくは追加を排除するものではないがさらに理解されよう。
【0110】
様々な要素を説明するために、本明細書では第1、第2などの用語が用いられることがあるが、これらの要素は、これらの用語によって限定されるべきでないことも理解されよう。これらの用語は、単に1つの要素を別のものと区別するのに用いられる。たとえば、実装形態の範囲から逸脱することなく、第1の電極が第2の電極と称され得て、同様に、第2の電極が第1の電極と称され得る。第1の電極と第2の電極は、どちらも電極であるが同一の電極ではない。
【0111】
本出願の記述は解説及び説明のために提示されており、網羅的であること又は開示された形態の発明に限定されることは意図されていない。多くの修正形態、変形形態、及び代替の実装形態が、先の記述及び関連する図面において提示された教示内容の利益を有する当業者には明らかなはずである。実施形態は、本発明の原理や実際の用途について最も良く説明するため、他の当業者が様々な実装形態に関して本発明を理解することを可能にするため、また、基本原理と、意図された特定の使用法に適するものとしての様々な修正形
態を伴う様々な実装形態とを最も良く利用するために、選択して記述されたものである。したがって、特許請求の範囲は、開示された実装形態の特定の実施例及びその修正形態に限定されず、添付の特許請求の範囲の範囲内に含まれるように他の実装形態が意図されていることを理解されたい。
【手続補正書】
【提出日】2023-09-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデータを符号化する方法であって、
符号化ユニットに関連した複数の変数を導出するステップであって、前記複数の変数が輝度符号化ブロックのサイズ及び符号化ツリータイプを示し、前記符号化ユニットが所定の分割方法に関連し、当該所定の分割方法が、4分割、水平3分割、垂直3分割、水平2分割又は垂直2分割を含む、ステップと、
前記符号化ツリータイプに応じて、前記符号化ユニットのパレットモード・ブロックサイズの閾値を決定するステップと、
少なくとも前記輝度符号化ブロックのサイズが前記パレットモード・ブロックサイズの閾値よりも大きいとの決定に応じて、
前記符号化ユニットに関連したパレットモード有効化フラグを決定し、
前記パレットモード有効化フラグに応じて前記符号化ユニットを符号化するステップと
を含み、
前記符号化ツリータイプに応じて、前記符号化ユニットのパレットモード・ブロックサイズの閾値を決定する前記ステップは、
前記符号化ツリータイプがSINGLE_TREE又はDUAL_TREE_LUMAであるときには、
前記パレットモード・ブロックサイズの閾値を16に設定し、
前記符号化ツリータイプがDUAL_TREE_CHROMAであるときには、
色差フォーマットに応じて前記パレットモード・ブロックサイズの閾値を設定する、
ステップを含む、方法。
【請求項2】
請求項1に記載の方法であって、
前記パレットモード有効化フラグに応じて前記符号化ユニットを符号化する前記ステップは、
前記符号化ユニットに対して前記パレットモードが有効化されたと前記パレットモード有効化フラグが示すとき、
前記符号化ユニット用のパレットテーブルを決定し、
当該決定されたパレットテーブルを使用して前記符号化ユニットを符号化するステップ
を含む、方法。
【請求項3】
請求項2に記載の方法であって、エスケープ符号化サンプルが前記符号化ユニット内にあるかどうかを示すエスケープフラグを生成するステップをさらに含む方法。
【請求項4】
請求項1に記載の方法であって、前記色差フォーマットが4:4:4であるとき、前記パレットモード・ブロックサイズの閾値は16である、方法。
【請求項5】
請求項1に記載の方法であって、前記色差フォーマットが4:2:2であるとき、前記パレットモード・ブロックサイズの閾値は32である、方法。
【請求項6】
請求項1に記載の方法であって、前記色差フォーマットが4:2:0であるとき、前記パレットモード・ブロックサイズの閾値は64である、方法。
【請求項7】
電子装置であって、
1つ以上の処理部と、
前記1つ以上の処理部に接続されたメモリと、
前記メモリに記憶された複数のプログラムと
を備え、
前記複数のプログラムが、前記1つ以上の処理部によって実行されたとき、前記電子装置に、請求項1から6のいずれか一項に記載の方法を実施させる、電子装置。
【請求項8】
1つ以上の処理部を有する電子装置によって実行するための複数のプログラムを記憶している非一時的なコンピュータ読み取り可能な記録媒体であって、前記複数のプログラムは、前記1つ以上の処理部によって実行されると、前記電子装置に、請求項1から6のいずれか一項に記載の方法を実施させる、非一時的なコンピュータ読み取り可能な記録媒体。
【請求項9】
1つ以上のプロセッサを備えたコンピュータ装置による実行のための命令を含むコンピュータプログラムであって、前記命令は、前記1つ以上のプロセッサによって実行されると、請求項1から6のいずれか一項に記載の方法を前記コンピュータ装置に実施させる、コンピュータプログラム。
【請求項10】
請求項1から6のいずれか一項に記載の方法により生成されたビットストリーム。
【請求項11】
ビデオ符号化器により生成されたビットストリームを伝送する方法であって、前記ビデオ符号化器が、請求項1から6のいずれか一項に記載の方法を実施するように構成された1つ以上の処理部を備えている、方法。
【外国語明細書】