(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023113871
(43)【公開日】2023-08-16
(54)【発明の名称】映像データをエンコードするための方法、電子デバイス、非一時的なコンピュータ可読記憶媒体およびコンピュータプログラム
(51)【国際特許分類】
H04N 19/85 20140101AFI20230808BHJP
H04N 19/186 20140101ALI20230808BHJP
H04N 19/105 20140101ALI20230808BHJP
H04N 19/563 20140101ALI20230808BHJP
【FI】
H04N19/85
H04N19/186
H04N19/105
H04N19/563
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023094405
(22)【出願日】2023-06-07
(62)【分割の表示】P 2022540678の分割
【原出願日】2020-12-29
(31)【優先権主張番号】62/955,348
(32)【優先日】2019-12-30
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521289098
【氏名又は名称】ベイジン ダジア インターネット インフォメーション テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
【住所又は居所原語表記】Room 101D1-7,1st Floor,Building 1,No.6,Shangdi West Road,Haidian District,Beijing 100085,P.R.China
(74)【代理人】
【識別番号】100112656
【弁理士】
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】チェン,イ-ウェン
(72)【発明者】
【氏名】シュウ,シャオユウ
(72)【発明者】
【氏名】マ,ツン-チュアン
(72)【発明者】
【氏名】ジュ,ホン-ジェン
(72)【発明者】
【氏名】ワン,シャンリン
(72)【発明者】
【氏名】ユ,ビン
(57)【要約】 (修正有)
【課題】映像フレーム内の複数のピクセルの複数の輝度成分を含む映像データをデコードする方法、電子デバイス及び非一時的なコンピュータ可読媒体を提供する。
【解決手段】方法は、映像フレーム内の複数のピクセルのための複数の輝度サンプルを含む符号化ブロックを有するビットストリームを取得し、符号化ブロックの外にある境界ピクセルの1つまたは複数の隣接ピクセルが利用できないことを決定し、境界ピクセルに対応する輝度サンプルを、1つまたは複数の隣接ピクセルの中の各ピクセルに対応する輝度サンプルに割り当て、事前定義された輝度補間スキームに従って、少なくとも境界ピクセルおよび1つまたは複数の隣接ピクセルの輝度サンプルに基づいて境界輝度サンプルを決定し、境界彩度サンプルを線形マッピングモデルに従って境界輝度サンプルから決定する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
映像データをデコードするための方法であって、
ビットストリームから、映像フレーム内の複数のピクセルのための複数の輝度サンプルを取得し、前記複数のピクセルは、符号化ブロックに属するとともに、前記符号化ブロックの内部に位置付けられ且つ前記符号化ブロックの境界に直接に隣る境界ピクセルを含むことと、
前記境界ピクセルの1つまたは複数の隣接ピクセルが利用できないことを決定し、前記1つまたは複数の隣接ピクセルの各ピクセルが前記符号化ブロックの外部にあることと、 前記境界ピクセルに対応する輝度サンプルを、前記1つまたは複数の隣接ピクセルの各ピクセルに対応する輝度サンプルに割り当てることと、
事前定義された輝度補間スキームに従って少なくとも前記1つまたは複数の隣接ピクセル及び前記境界ピクセルの輝度サンプルに基づいて、境界輝度サンプルを決定することと、
線形マッピングモデルに従って前記境界輝度サンプルから境界彩度サンプルを決定することと、
を含む前記映像データをデコードするための方法。
【請求項2】
少なくとも前記境界ピクセルの位置に基づいて前記事前定義された輝度補間スキームを決定し、前記事前定義された輝度補間スキームに基づいて前記1つまたは複数の隣接ピクセルが前記境界ピクセルに隣ること、
を更に含む請求項1に記載の方法。
【請求項3】
前記事前定義された輝度補間スキームはまた、前記複数のピクセルに対応するサブサンプリングスキームと前記ビットストリームから得られたシンタックス要素との少なくとも1つに基づいて決定される、請求項2に記載の方法。
【請求項4】
前記境界ピクセルの前記1つまたは複数の隣接ピクセルが映像フレームまたは画像スライスの外部にある、請求項1~3のいずれかに記載の方法。
【請求項5】
前記境界ピクセルの前記1つまたは複数の隣接ピクセルはまだ符号化されておらず、前記符号化ブロックに続いて符号化される、請求項1~3のいずれかに記載の方法。
【請求項6】
前記複数のピクセルは前記符号化ブロックに完全に囲まれる第1のピクセルのセットを含むとともに、
前記事前定義された輝度補間スキームに従って前記第1のピクセルのセットに対応する輝度サンプルのセットから内部輝度サンプルを決定することと、
前記線形マッピングモデルに従って、前記内部輝度サンプルに基づいて前記第1のピクセルのセットに対応する内部彩度サンプルを決定することと、をさらに含む前記請求項のいずれかに記載の方法。
【請求項7】
前記複数のピクセルは、前記符号化ブロックの内部にあり且つ内部輝度サンプルに対応する内部ピクセルをさらに含み、
前記境界輝度サンプルは、前記事前定義された輝度補間スキームに従って、前記内部ピクセルの前記内部輝度サンプルと前記1つまたは複数の隣接ピクセル及び前記境界ピクセルの前記輝度サンプルとの両方に基づいて決定される、
前記請求項のいずれかに記載の方法。
【請求項8】
前記境界ピクセルは第1の境界ピクセルであり、前記1つまたは複数の隣接ピクセルは1つまたは複数の第1の隣接ピクセルを含み、
前記複数のピクセルは、前記符号化ブロックの内部にあり且つ前記符号化ブロックの相応の境界に直接に隣る第2の境界ピクセルを含む、
前記請求項のいずれかに記載の方法であって、当該方法は、
前記第2の境界ピクセルに直接に隣る1つまたは複数の第2の隣接ピクセルを作り、前記1つまたは複数の第2の隣接ピクセルの各ピクセルは符号化ブロックの外部にあることと、
前記第2の境界ピクセルに対応する輝度サンプルを、前記1つまたは複数の第2の隣接ピクセルの各ピクセルに対応する輝度サンプルに割り当て、前記境界輝度サンプルは、前記事前定義された輝度補間スキームに従って少なくとも前記第1及び第2の境界ピクセルの両方並びに前記第1及び第2の隣接ピクセルの両方に基づいて決定されることと、
を更に含む。
【請求項9】
前記1つまたは複数の隣接ピクセルは、前記境界ピクセルに対する境界の反対側にあり且つ前記境界ピクセルに対応する前記輝度サンプルから割り当てられた対応の輝度サンプルを有する1つの隣接ピクセルのみを含む、前記請求項のいずれかに記載の方法。
【請求項10】
境界は第1の境界を含み、
前記境界ピクセルは、前記第1の境界と前記第1の境界に直交する第2の境界との間に形成された前記符号化ブロックの角に直接に隣り、
前記1つまたは複数の隣接ピクセルは、前記境界ピクセルに対する前記第1の境界の反対側にある第1の隣接ピクセルを含むとともに、(1)前記境界ピクセルに対する前記第2の境界の反対側にある第2の隣接ピクセルと(2)前記符号化ブロックの角にわたって前記境界ピクセルに対向する第3の隣接ピクセルとの少なくとも1つとを含む、
前記請求項のいずれかに記載の方法。
【請求項11】
サブサンプリングスキームに従って、前記複数のピクセルの輝度サンプルおよび彩度サンプルは、以下の比率値のうちの1つを有する3つの部分のY’CbCr比率に準拠する:
(1)4:1:1、ここで、4つずつの水平ピクセルが4つの輝度サンプル、青差彩度サンプルCb、および赤差彩度サンプルCrに対応する;
(2)4:2:0、ここで、各2×2ピクセルブロックの4つずつのピクセルが4つの輝度サンプル、青差彩度サンプルCb、および赤差彩度サンプルCrに対応する;
(3)4:2:2、ここで、4つずつのピクセルが4つの輝度サンプル、2つの青差彩度サンプルCb、および2つの赤差彩度サンプルCrに対応する;
(4)4:4:4、ここで、4つずつのピクセルが4つの輝度サンプル、4つの青差彩度サンプルCb、および4つの赤差彩度サンプルCrに対応する、
前記請求項のいずれかに記載の方法。
【請求項12】
前記事前定義された輝度補間スキームに従って、2×3サブアレイ内の6つの隣接の輝度サンプルが代替の輝度サンプルにダウンサンプリングされ、2×3アレイ内の各左および右の列の輝度サンプルが同じ行において代替の輝度サンプルを生成するために少なくとも2回使用される、
前記請求項のいずれかに記載の方法。
【請求項13】
前記事前定義された輝度補間スキームに従って、5つの隣接の輝度サンプルが代替の輝度サンプルにダウンサンプリングされ、中心ピクセルを中心とする十字形のサブアレイに配置される、
前記請求項のいずれかに記載の方法。
【請求項14】
前記ビットストリームから、映像フレーム内の第2の複数のピクセルのための第2の複数の輝度サンプルおよび第2の複数の彩度サンプルを取得することと、
前記事前定義された輝度補間スキームに従って、前記複数の彩度サンプルと同じ解像度を有する代替の複数の輝度サンプルを決定することと、
前記代替の複数の輝度サンプルおよび前記第2の複数の彩度サンプルを使用することにより、前記線形マッピングモデルのための第1のパラメータαおよび第2のパラメータβを得ることと、
をさらに含む前記請求項のいずれかに記載の方法。
【請求項15】
前記境界彩度サンプルYは、以下の式を使用して記述される以下の線形マッピングモデルに従って前記境界輝度サンプルXから決定される、前記請求項14に記載の方法。
Y=α*X+β
【請求項16】
前記線形マッピングモデルのための第1のパラメータαおよび第2のパラメータβを決定することは、
前記代替の複数の輝度サンプルの中から2つの最大の輝度サンプルを識別することと、
前記代替の複数の輝度サンプルの中から2つの最小の輝度サンプルを識別することと、
前記2つの最大の輝度サンプルを第1の輝度値に平均化することと、
前記2つの最小の輝度サンプルを第2の輝度値に平均化することと、
前記2つの最大の輝度サンプルに関連付けられる前記第2の複数の彩度サンプルの中の2つの第1の彩度サンプルを識別することと、
前記2つの最小の輝度サンプルに関連付けられる前記第2の複数の彩度サンプルの中の2つの第2の彩度サンプルを識別することと、
前記2つの第1の彩度値を、前記第1の輝度値に対応する第1の彩度値に平均化することと、
前記2つの第2の彩度値を、前記第2の輝度値に対応する第2の彩度値に平均化することと、
前記第1および第2の輝度値並びに前記第1および第2の彩度値に基づいて、彩度値と輝度値との間の線形マッピングモデルを得ることと、
をさらに含む請求項14に記載の方法。
【請求項17】
電子デバイスであって、
1つまたは複数のプロセッサと、
メモリと、
を含み、
前記メモリに、前記1つまたは複数のプロセッサにより実行される際にプロセッサに請求項1~16のいずれかに記載の方法を実行させる命令が記憶される、
前記電子デバイス。
【請求項18】
非一時的なコンピュータ可読媒体であって、
1つまたは複数のプロセッサにより実行される際にプロセッサに請求項1~16のいずれかに記載の方法を実行させる命令が記憶される、
前記非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年12月30日に出願の“Simplifications ofCross-Component Linear Model”と題されたUS仮出願番号第62/955,348の利益を主張し、その全内容は参照により本明細書に援用される。
【0002】
本出願は、一般に、映像データ符号化および圧縮に関連し、特に、映像データのビットストリームにおける映像フレームの彩度サンプル及び輝度サンプルの符号化についての改善の方法およびシステムに関連する。
【背景技術】
【0003】
デジタル映像は、デジタルテレビ、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤー、映像ゲームコンソール、スマートフォン、映像電話会議デバイス、映像ストリーミングデバイスなどの様々な電子デバイスによってサポートされている。電子デバイスは、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4、パート10、高度映像符号化(ADVANCED Video Coding)(AVC)、高効率映像符号化(HIGH EFFICIENCY Video Coding)(HEVC)、および汎用映像符号化(VERSATILE Video Coding)(VVC)標準で定義されている映像圧縮/解凍標準を実行することにより、デジタル映像データを送信し、受信し、エンコードし、デコードし、および/または記憶する。映像圧縮は、通常、空間(フレーム内)予測および/または時間(フレーム間)予測を実行して映像データに固有の冗長性を低減または削除することを含む。ブロックベースの映像符号化の場合、映像フレームは1つまたは複数のスライスに分割され、各スライスには複数の映像ブロックがあり、これらは符号化木ユニット(CTU)とも呼ばれてもよい。各CTUは、1つの符号化ユニット(CU)を含有し、又は事前定義された最小CUサイズに達するまで再帰的により小さいCUに分割されてもよい。各CU(葉CUとも呼ばれる)は、1つまたは複数の変換ユニット(TU)を含有し、各CUは1つまたは複数の予測ユニット(PU)も含有する。各CUは、イントラ、インター、またはIBCモードのいずれかで符号化されてもよい。映像フレームのイントラ符号化された(I)スライス内の映像ブロックは、同じ映像フレーム内の隣接するブロックにおける参照サンプルに関して空間予測を使用しエンコードされる。映像フレームのインター符号化された(PまたはB)スライス内の映像ブロックは、同じ映像フレームにおける隣接するブロック内の参照サンプルに関して空間予測を使用し、または他の以前および/または将来の参照映像フレーム内の参照サンプルに関して時間予測を使用してもよい。
【0004】
先にエンコードされた参照ブロック、例えば、隣接するブロックに基づく空間または時間予測は、符号化される当前の映像ブロックための予測ブロックをもたらす。参照ブロックを見つける処理は、ブロックマッチングアルゴリズムによって実行されてもよい。符号化される当前のブロックと予測ブロックの間のピクセル差を表現する残差データは、残差ブロックまたは予測誤差と呼ばれる。インター符号化されたブロックは、予測ブロックを形成する参照フレーム内の参照ブロックを指す動きベクトルと残差ブロックに従ってエンコードされる。動きベクトルを決定する処理は、通常、動き推定と呼ばれる。イントラ符号化されたブロックは、イントラ予測モードと残差ブロックに従ってエンコードされる。さらなる圧縮のために、残差ブロックは、ピクセルドメインから変換ドメイン、例えば、周波数ドメインに変換され、残差変換係数が得られ、これらは次に量子化されてもよい。最初に2次元アレイに配置された量子化された変換係数がスキャンされて変換係数の1次元ベクトルが生成され、次に映像ビットストリームになるようにエントロピーエンコードされ、更なる圧縮が実現され得る。
【0005】
次に、エンコードされた映像ビットストリームは、コンピュータ可読記憶媒体(例えば、フラッシュメモリ)に保存されてデジタル映像機能を備えた他の電子デバイスによってアクセスされ、または有線或いは無線で電子デバイスに直接送信される。次に、電子デバイスは、例えば、エンコードされた映像ビットストリームを解析してビットストリームからシンタックス要素を取得し且つビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてエンコードされた映像ビットストリームからデジタル映像データをその元のフォーマットに再構築することによって、映像解凍(上記の映像圧縮とは相反の処理)を実行し、再構築されたデジタル映像データを電子デバイスのディスプレイにレンダーする。
【0006】
成分間予測モードは、映像ビットストリームの輝度サンプルと彩度サンプルとの間の成分間冗長性を低減するために適用される。具体的には、予測モデルでは、輝度サンプルがダウンサンプリングされ、彩度サンプルを予測するために使用される。ただし、映像フレームの一部の位置では輝度サンプルが利用できず、これらの位置の近くでダウンサンプリングされた輝度サンプルを生成するために異なるダウンサンプリングフィルタが使用されている。異なるダウンサンプリングフィルタの適用は、並列画像処理と互換性がなく、映像ビットストリームの処理速度にボトルネックを引き起こす可能性がある。現在の実践よりも効率的な成分間予測メカニズムを持つことは有益である。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本出願は、映像データエンコーディングおよびデコーディング、より具体的には、映像データのビットストリームにおける映像フレームの彩度および輝度サンプルの符号化についての改善の方法およびシステムに関連する実行を説明する。サンプルパディングは、輝度サンプルに適用され、輝度ダウンサンプリング処理により使用される利用できない輝度サンプルを生成する。利用できないサンプルは、映像フレームまたは画像スライスの外部にあり、或いはまだ符号化されておらず後で符号化される可能性がある。これらの利用できないサンプルは、重複のパディングまたはミラーパディングによって選択的に生成される。そのため、同じダウンサンプリングフィルタを使用して映像フレーム全体にわたって全てのダウンサンプリングされる輝度サンプルを生成することができ、これで並列映像処理が可能になり、映像データビットストリームの対応の映像処理速度を向上させる。
【課題を解決するための手段】
【0008】
本出願の1つの態様では、映像データをデコードするための方法が電子デバイスで実行される。当該方法は、ビットストリームから、映像フレーム内の複数のピクセルのための複数の輝度サンプルを取得することを含む。複数のピクセルは、符号化ブロックに属するとともに境界ピクセルを含み、境界ピクセルは符号化ブロック内にあり、符号化ブロックの境界に直接に隣る。当該方法はさらに、境界ピクセルの1つまたは複数の隣接ピクセルが利用できないことを決定することと、境界ピクセルに対応する輝度サンプルを1つまたは複数の隣接ピクセルの各ピクセルに対応する輝度サンプルに割り当てることと、事前定義された輝度補間スキームに従って少なくとも1つまたは複数の隣接ピクセル及び境界ピクセルの輝度サンプルに基づいて境界輝度サンプルを決定することと、を含む。1つまたは複数の隣接ピクセルの各ピクセルが符号化ブロックの外部にある。当該方法は、線形マッピングモデルに従って境界輝度サンプルから境界彩度サンプルを決定することをさらに含む。いくつかの実施例では、境界ピクセルの1つまたは複数の隣接ピクセルは、映像フレームまたは画像スライスの外部にある。あるいは、いくつかの実施例では、境界ピクセルの1つまたは複数の隣接ピクセルはまだ符号化されておらず、符号化ブロックに続いて符号化される。
【0009】
本出願の別の態様によれば、電子デバイスは、1つまたは複数の処理ユニット、メモリ、およびメモリに記憶された複数のプログラムを含む。プログラムは、1つまたは複数の処理ユニットによって実行されると、電子装置に、上記のように映像データをデコードする方法を実行させる。
【0010】
もう1つの態様によれば、非一時的なコンピュータ可読記憶媒体は、1つまたは複数の処理ユニットを有する電子デバイスによって実行するための複数のプログラムを記憶する。プログラムは、1つまたは複数の処理ユニットによって実行されると、電子デバイスに、上記のように映像データをデコードする方法を実行させる。
【図面の簡単な説明】
【0011】
実行のさらなる理解を提供するために本明細書に含まれ、且つ本明細書の一部に組み込まれ、かつ本明細書の一部を構成する添付図面は、説明された実行を示し、説明とともに、基礎となる原理を解釈するのに役立つ。同じ参照番号は対応の部分を参照する。
【0012】
【
図1】
図1は、本開示のいくつかの実行による例示的な映像エンコーディングおよびデコーディングシステムを示すブロック図である。
【
図2】
図2は、本開示のいくつかの実行による例示的な映像エンコーダを示すブロック図である。
【
図3】
図3は、本開示のいくつかの実行による例示的な映像デコーダを示すブロック図である。
【
図4A】
図4Aは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【
図4B】
図4Bは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【
図4C】
図4Cは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【
図4D】
図4Dは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【
図4E】
図4Eは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【
図5】
図5は、いくつかの実施例に従って、ビットストリームの映像フレームの符号化ブロックの輝度サンプルから彩度サンプルを得る処理を示す。
【
図6A】
図6Aは、いくつかの実施例に従って4つの例の符号化ブロックであって、各符号化ブロックは、複数の彩度サンプルに転換されるべき複数の輝度サンプルを含む。
【
図6B】
図6Bは、いくつかの実施例に従って4つの例の符号化ブロックであって、各符号化ブロックは、複数の彩度サンプルに転換されるべき複数の輝度サンプルを含む。
【
図6C】
図6Cは、いくつかの実施例に従って4つの例の符号化ブロックであって、各符号化ブロックは、複数の彩度サンプルに転換されるべき複数の輝度サンプルを含む。
【
図6D】
図6Dは、いくつかの実施例に従って4つの例の符号化ブロックであって、各符号化ブロックは、複数の彩度サンプルに転換されるべき複数の輝度サンプルを含む。
【
図7】
図7は、いくつかの実施例に従って、電子デバイスで実行される映像データデコーディング方法のフローチャートである。
【発明を実施するための形態】
【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内のエンコードされた映像データは、入力インターフェース28を介して宛先デバイス14によってアクセスされてもよい。記憶デバイス32は、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性または不揮発性メモリ、またはエンコードされた映像データを記憶するための任意の他の適切なデジタル記憶媒体などの任意のさまざまな分散型またはローカルアクセス型のデータ記憶媒体を含んでもよい。さらなる例では、記憶デバイス32は、ソースデバイス12によって生成されたエンコードされた映像データを保持できるファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイス32から記憶された映像データにアクセスし得る。ファイルサーバーは、エンコードされた映像データを記憶しエンコードされた映像データを宛先デバイス14に送信することができる任意のタイプのコンピュータでもよい。例示的なファイルサーバーには、ウェブサーバー(例えば、ウェブサイト用)、FTPサーバー、ネットワーク接続記憶(NAS)デバイス、またはローカルディスクドライブが含まれる。宛先デバイス14は、無線チャネル(例えば、Wi-Fi接続)、有線接続(例えば、DSL、ケーブルモデムなど)、またはその両方の、ファイルサーバーに記憶されるエンコードされた映像データにアクセスするのに適す組み合わせを含む任意の標準データ接続を介してエンコードされた映像データにアクセスすることができる。記憶デバイス32からのエンコードされた映像データの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組み合わせでもよい。
【0017】
図1に示されるように、ソースデバイス12は、映像ソース18、映像エンコーダ20、および出力インターフェース22を含む。映像ソース18は、映像キャプチャデバイス(例えば、映像カメラ)、前にキャプチャされた映像を含有する映像アーカイブ、映像コンテンツプロバイダーから映像を受信するための映像フィードインターフェイス、および/またはソース映像としてコンピューターグラフィックスデータを生成するためのコンピューターグラフィックスシステム、またはそのようなソースの組み合わせなどのソースを含んでもよい。一例として、映像ソース18がセキュリティ監視システムの映像カメラである場合、ソースデバイス12および宛先デバイス14は、カメラ電話または映像電話を形成し得る。しかしながら、本出願で説明される実行は、一般に映像符号化に適用可能であり、そして無線および/または有線アプリケーションに適用されることができる。
【0018】
キャプチャされた、事前にキャプチャされた、またはコンピュータで生成された映像は、映像エンコーダ20によってエンコードされてもよい。エンコードされた映像データは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信されてもよい。エンコードされた映像データは、(または代わりに)記憶デバイス32に記憶された後で宛先デバイス14または他のデバイスによってアクセスされ、デコーディングおよび/または再生のために用いられてもよい。出力インターフェース22は、モデムおよび/または送信機をさらに含んでもよい。
【0019】
宛先デバイス14は、入力インターフェース28、映像デコーダ30、およびディスプレイデバイス34を含む。入力インターフェース28は、受信機および/またはモデムを含み、リンク16を介してエンコードされた映像データを受信することができる。リンク16を介して通信されるまたは記憶デバイス32上に提供されるエンコードされた映像データは、映像データをデコードする際に映像デコーダ30によって使用されるために映像エンコーダ20によって生成される様々なシンタックス要素を含んでもよい。そのようなシンタックス要素は、通信媒体で送信され、記憶媒体に記憶され、またはファイルサーバーに記憶されるエンコードされた映像データ内に含まれ得る。
【0020】
いくつかの実行では、宛先デバイス14は、統合ディスプレイデバイスおよび宛先デバイス14と通信するように構成された外部ディスプレイデバイスであるディスプレイデバイス34を含んでもよい。ディスプレイデバイス34は、デコードされた映像データをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの任意の様々なディスプレイデバイスを含んでもよい。
【0021】
映像エンコーダ20および映像デコーダ30は、VVC、HEVC、MPEG-4、パート10、高度映像符号化(AVC)、またはそのような標準の拡張などの専有または業界標準に従って動作できる。本出願は、特定の映像符号化/デコーディング標準に限定されず、他の映像符号化/デコーディング標準に適用可能であることが了解される。ソースデバイス12の映像エンコーダ20は、これらの任意の当前または将来の標準に従って映像データをエンコードするように構成され得ることが一般的に思い及ばれる。同様に、宛先デバイス14の映像デコーダ30は、これらの任意の当前または将来の標準に従って映像データをデコードするように構成され得ることも一般的に思い及ばれる。
【0022】
映像エンコーダ20および映像デコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせなどの任意の様々な適切なエンコーダ回路として実行されてもよい。部分的にソフトウェアに実行される場合、電子デバイスは、ソフトウェアための指令を適切な非一時的なコンピュータ可読媒体に記憶し、1つまたは複数のプロセッサを利用してハードウェアで指令を実行して本開示に開示される映像符号化/デコーディング操作を実行することができる。映像エンコーダ20および映像デコーダ30のそれぞれは、1つまたは複数のエンコーダまたはデコーダに含まれ、エンコーダまたはデコーダは、相応のデバイスに組み合わされたエンコーダ/デコーダ(CODEC)の一部として統合されてもよい。
【0023】
図2は、本出願において説明されるいくつかの実行による例示的な映像エンコーダ20を示すブロック図である。映像エンコーダ20は、映像フレーム内の映像ブロックのイントラおよびインター予測符号化を実行することができる。イントラ予測符号化は、空間予測に依存して、所与の映像フレームまたはピクチャ内の映像データの空間冗長性を低減または削除する。インター予測符号化は、時間予測に依存して、映像シーケンスの隣る映像フレームまたはピクチャ内の映像データの時間冗長性を低減または削除する。
【0024】
図2に示されるように、映像エンコーダ20は、映像データメモリ40、予測処理ユニット41、デコードピクチャバッファ(DPB)54、サマー50、変換処理ユニット52、量子化ユニット54、およびエントロピーエンコーディングユニット56を含む。予測処理ユニット41は、動き推定ユニット42、動き補償ユニット44、分割ユニット45、イントラ予測処理ユニット46、およびイントラブロックコピー(BC)ユニット48をさらに含む。いくつかの実行では、映像エンコーダ20は、映像ブロック再構築のために、逆量子化ユニット58、逆変換処理ユニット50、およびサマー52も含む。デプロッキングフィルタ(図示せず)がサマー52とDPB54との間に位し、ブロック境界をフィルタリングしてブロック性アーチファクトを再構築された映像から削除することができる。デブロッキングフィルタに加えて、ループ内フィルタ(図示せず)が使用され、サマー52の出力をフィルタリングすることもできる。映像エンコーダ20は、固定またはプログラム可能なハードウェアユニットの形態をとることができ、または1つまたは複数の図解された固定またはプログラム可能なハードウェアユニットにおいて分割されることができる。
【0025】
映像データメモリ40は、映像エンコーダ20の構成要素によってエンコードされるべき映像データを記憶することができる。映像データメモリ40内の映像データは、例えば、映像ソース18から取得されてもよい。DPB54は、映像エンコーダ20によって(例えばイントラまたはインター予測符号化モードで)映像データをエンコードすることに用いられる参照映像データを記憶するバッファである。映像データメモリ40およびDPB54は、任意の様々なメモリデバイスによって形成されてもよい。様々な例において、映像データメモリ40は、映像エンコーダ20の他の構成要素とオンチップであり、またはそれらの構成要素に対してオフチップでもよい。
【0026】
図2に示されるように、映像データを受信した後、予測処理ユニット41内の分割ユニット45は、映像データを映像ブロックに分割する。この分割は、映像データに関連付けられた四分木構造などの事前定義された分割構造に従って、映像フレームをスライス、タイル、または他のより大きな符号化ユニット(CU)に分割することも含んでもよい。映像フレームは、複数の映像ブロック(またはタイルと呼ばれる映像ブロックのセット)に分割されてもよい。予測処理ユニット41は、エラー結果(例えば、符号化レートと歪みのレベル)に基づき当前の映像ブロックに対して複数の可能な予測符号化モードの1つを選択でき、可能な予測符号化モードは、例えば複数のイントラ予測符号化モードの1つであり、または複数のインター予測符号化モードの1つである。予測処理ユニット41は、結果として生じたイントラまたはインター予測符号化されたブロックをサマー50に提供して残差ブロックを生成し、そしてこれをサマー52に提供して後で参照フレームの一部として使用するためにエンコードされるブロックを再構築することができる。予測処理ユニット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】
予測ブロックは、参照フレームの、絶対差の合計(SAD)、二乗差の合計(SSD)又は他の差の計量によって決定され得るピクセル差に関して符号化される映像ブロックのPUに厳密にマッチングすると認定されるブロックである。いくつかの実行では、映像エンコーダ20は、DPB54に記憶された参照フレームのサブ整数ピクセル位置の値を計算することができる。例えば、映像エンコーダ20は、参照フレームの4分の1ピクセル位置、8分の1ピクセル位置、または他の部分ピクセルの位置の値を補間することができる。したがって、動き推定ユニット42は、全ピクセル位置および部分ピクセル位置に対して動き検索を実行し、部分ピクセル精度で動きベクトルを出力することができる。
【0030】
動き推定ユニット42は、インター予測符号化フレーム内の映像ブロックのPUの位置を第1の参照フレームリスト(リスト0)または第2の参照フレームリスト(リスト1)から選択された参照フレームの予測ブロックの位置と比べることによって、PUの動きベクトルを計算し、第1の参照フレームリストまたは第2の参照フレームリストはそれぞれ、DPB54に記憶された1つまたは複数の参照フレームを識別する。動き推定ユニット42は、計算された動きベクトルを動き補償ユニット44に送り、次にエントロピーエンコーディングユニット56に送る。
【0031】
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴うことができる。当前の映像ブロックのPUの動きベクトルを受信すると、動き補償ユニット44は、参照フレームリストの1つにおいて動きベクトルが指す予測ブロックを位置付け、DPB54から予測ブロックを検索し、予測ブロックをサマー50に転送することができる。次に、サマー50は、符号化される当前の映像ブロックのピクセル値から動き補償ユニット44によって提供される予測ブロックのピクセル値を差し引くことにより、ピクセル差値の残差映像ブロックを形成する。残差映像ブロックを形成するピクセル差値は、輝度または彩度差成分、あるいはその両方を含んでもよい。動き補償ユニット44は、映像フレームの映像ブロックをデコードする際に映像デコーダ30によって使用されるために、映像フレームの映像ブロックに関連付けられたシンタックス要素を生成することもできる。シンタックス要素は、例えば、予測ブロックを識別することに使用される動きベクトルを定義するシンタックス要素、予測モードを指示する任意のフラグ、または本明細書で説明される任意の他のシンタックス情報を含んでもよい。動き推定ユニット42と動き補償ユニット44は高度に統合され得るが、概念的な目的のために別々に示されることに留意されたい。
【0032】
いくつかの実行では、イントラBCユニット48は、動き推定ユニット42および動き補償ユニット44に関連して上記と似る方式でベクトルを生成し、予測ブロックをフェッチすることができるが、予測ブロックは、符号化される当前のブロックと同じフレームにあり、そしてベクトルは動きベクトルに相反しブロックベクトルと呼ばれる。特に、イントラBCユニット48は、イントラ予測モードを決定して当前のブロックをエンコードするために使用することができる。いくつかの例では、イントラBCユニット48は、例えば、別個のエンコーディングパス中に、様々なイントラ予測モードを使用して当前のブロックをエンコードし、レート歪み分析を通じてそれらの性能をテストすることができる。次に、イントラBCユニット48は、様々なテストされたイントラ予測モードの中から、使用する適切なイントラ予測モードを選択し、それに応じてイントラモードインジケータを生成することができる。例えば、イントラBCユニット48は、様々なテストされたイントラ予測モードのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを、使用する適切なイントラ予測モードとして選択することができる。レート歪み分析は、一般に、エンコードされたブロックと、エンコードされるブロックを生成するためにエンコードされた元のエンコードされていないブロックとの間の歪み(またはエラー)の量、およびエンコードされるブロックを生成するために使用するビットレート(即ちビットの数量)を決定する。イントラBCユニット48は、様々なエンコードされたブロックに対して歪みおよびレートから比率を計算して、どのイントラ予測モードがブロックに対する最良のレート歪み値を示すかを決定することができる。
【0033】
他の例では、イントラBCユニット48は、動き推定ユニット42および動き補償ユニット44を全体的または部分的に使用して、本明細書に記載の実行によるイントラBC予測のためのそのようなモデルを実行することができる。いずれの場合でも、イントラブロックコピーの場合、予測ブロックは、絶対差の合計(SAD)、二乗差の合計(SSD)又は他の差の計量によって決定され得るピクセル差に関して符号化されるブロックに厳密にマッチングすると認定されるブロックであり、予測ブロックの識別は、サブ整数ピクセル位置の値の計算を含んでもよい。
【0034】
予測ブロックがイントラ予測による同じフレームからのものであるか、またはインター予測による異なるフレームからのものであるかにかかわらず、映像エンコーダ20は、符号化される当前の映像ブロックのピクセル値から予測ブロックのピクセル値を差し引き、ピクセル値差を形成することにより残差映像ブロックを形成することができる。残差映像ブロックを形成するピクセル差値は、輝度成分の差と彩度成分の差との両方を含んでもよい。
【0035】
イントラ予測処理ユニット46は、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測、またはイントラBCユニット48によって実行されるイントラブロックコピー予測の代替として、上記のように当前の映像ブロックをイントラ予測することができる。特に、イントラ予測処理ユニット46は、当前のブロックをエンコードするために使用するイントラ予測モードを決定することができる。そうするために、イントラ予測処理ユニット46は、例えば、別個のエンコーディングパス中に、様々なイントラ予測モードを使用して当前のブロックをエンコードすることができ、イントラ予測処理ユニット46(または、いくつかの例では、モード選択ユニット)は、テストされたイントラ予測モードから、使用する適切なイントラ予測モードを選択することができる。イントラ予測処理ユニット46は、ブロックに対して選択されたイントラ予測モードを指示する情報をエントロピーエンコーディングユニット56に提供することができる。エントロピーエンコーディングユニット56は、ビットストリームにおいて選択されたイントラ予測モードを指示する情報をエンコードすることができる。
【0036】
予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して当前の映像ブロックの予測ブロックを決定した後、サマー50は、当前の映像ブロックから予測ブロックを差し引くことによって残差映像ブロックを形成する。残差ブロック内の残差映像データは、1つまたは複数の変換ユニット(TU)に含まれることができ、変換処理ユニット52に提供される。変換処理ユニット52は、離散余弦変換(DCT)または概念的に類似する変換などの変換を使用して、残差映像データを残差変換係数に変換する。
【0037】
変換処理ユニット52は、結果として生じる変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、変換係数を量子化して、ビットレートをさらに低減する。量子化処理は、係数の一部またはすべてに関連付けられたビット深度を低減することもできる。量子化の程度は、量子化パラメータを調整することによって修正されてもよい。いくつかの例では、量子化ユニット54は、次に、量子化された変換係数を含むマトリックスのスキャンを実行することができる。あるいは、エントロピーエンコーディングユニット56は、スキャンを実行することができる。
【0038】
量子化に続いて、エントロピーエンコーディングユニット56は、例えば、コンテキスト適応可変長符号化(CAVLC)、コンテキスト適応二値算術符号化(CABAC)、シンタックスベースのコンテキスト適応二値算術符号化(SBAC)、確率間隔分割エントロピー(PIPE)符号化、または別のエントロピーエンコーディングの方法または技術を使用して、量子化された変換係数を映像ビットストリームにエントロピーエンコードする。エンコードされたビットストリームは、次に、映像デコーダ30に送信され、または後で映像デコーダ30に送信または回復されるために記憶デバイス32にアーカイブされることができる。エントロピーエンコーディングユニット56は、符号化される当前の映像フレームの動きベクトルおよび他のシンタックス要素をエントロピーエンコードすることもできる。
【0039】
逆量子化ユニット58および逆変換処理ユニット50は、それぞれ逆量子化および逆変換を適用して、他の映像ブロックの予測のための参照ブロックを生成するために、ピクセルドメインにおいて残差映像ブロックを再構築する。上記のように、動き補償ユニット44は、DPB54に記憶されたフレームの1つまたは複数の参照ブロックから動き補償予測ブロックを生成することができる。動き補償ユニット44は、1つまたは複数の補間フィルタを予測ブロックに適用して、動き推定で使用するサブ整数ピクセル値を計算することができる。
【0040】
サマー52は、再構築された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、DPB54に記憶するための参照ブロックを生成する。参照ブロックは、次に、予測ブロックとしてイントラBCユニット48、動き推定ユニット42、および動き補償ユニット44によって使用されて、後続の映像フレーム内の別の映像ブロックをインター予測することができる。
【0041】
図3は、本出願のいくつかの実行による例示的な映像デコーダ30を示すブロック図である。映像デコーダ30は、映像データメモリ69、エントロピーデコーディングユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、サマー90、およびDPB92を含む。予測処理ユニット81は、動き補償ユニット82、イントラ予測処理ユニット84、イントラBCニット85をさらに含む。映像デコーダ30は、
図2に関連して映像エンコーダ20に関して前に記述されたエンコーディング処理に概ね逆行するデコーディング処理を実行することができる。例えば、動き補償ユニット82は、エントロピーデコーディングユニット80から受信した動きベクトルに基づいて予測データを生成でき、一方、イントラ予測ユニット84は、エントロピーデコーディングユニット80から受信したイントラ予測モードインジケータに基づいて予測データを生成できる。
【0042】
いくつかの例では、映像デコーダ30のユニットは、本出願の実現を実行するように任務を課されてもよい。また、いくつかの例では、本開示の実行は、映像デコーダ30の1つまたは複数のユニットに分割されてもよい。例えば、イントラBCユニット85は、本出願の実現を、単独で、または動き補償ユニット82、イントラ予測処理ユニット84、およびエントロピーデコーディングユニット80などの映像デコーダ30の他のユニットとの組合せで、実行できる。いくつかの例では、映像デコーダ30は、イントラBCユニット85を含まなくてもよく、イントラBCユニット85の機能は、動き補償ユニット82などの予測処理ユニット81の他の構成要素によって実行されてもよい。
【0043】
映像データメモリ69は、映像デコーダ30の他の構成要素によってデコードされる、エンコードされた映像ビットストリームなどの映像データを記憶することができる。映像データメモリ69に記憶される映像データは、例えば、記憶デバイス32から取得されてもよく、映像データの有線または無線ネットワーク通信を介してカメラなどのローカル映像ソースから取得されてもよく、または物理データ記憶媒体(例えばフラッシュドライブやハードディスク)にアクセスすることによって取得されてもよい。映像データメモリ69は、エンコードされた映像ビットストリームからのエンコードされた映像データを記憶する符号化ピクチャバッファ(CPB)を含んでもよい。映像デコーダ30のデコードピクチャバッファ(DPB)92は、映像デコーダ30による映像データへのデコーディング(例えば、イントラまたはインター予測符号化モードで)において使用するための参照映像データを記憶する。映像データメモリ69およびDPB92は、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)を含む)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの任意の様々なメモリデバイスによって形成されてもよい。説明のために、映像データメモリ69およびDPB92は、
図3において、映像デコーダ30の2つの別個の構成要素として示される。しかし、当業者にとって、映像データメモリ69およびDPB92が同じメモリデバイスまたは別個のメモリデバイスによって提供され得ることが明らかである。いくつかの例では、映像データメモリ69は、映像デコーダ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は、量子化の程度を決定するために映像エンコーダ20により映像フレーム内の映像ブロックごとに計算されたものと同じ量子化パラメータを使用して、ビットストリームで提供されるかつエントロピーデコーディングユニット80によってエントロピーデコードされる量子化変換係数を逆量子化する。逆変換処理ユニット88は、ピクセルドメインにおいて残差ブロックを再構築するために、逆変換(例えば、逆DCT、逆整数変換、または概念的に類似した逆変換処理)を変換係数に適用する。
【0052】
動き補償ユニット82またはイントラBCユニット85が、ベクトルおよび他のシンタックス要素に基づいて当前の映像ブロックの予測ブロックを生成した後、サマー90は、逆変換処理ユニット88からの残差ブロックと動き補償ユニット82およびイントラBCユニット85によって生成された対応の予測ブロックとを合計することによって、当前の映像ブロックのデコードされた映像ブロックを再構築する。ループ内フィルタ(図示せず)は、サマー90とDPB92との間に位置して、デコードされた映像ブロックをさらに処理することができる。所与のフレームにおけるデコードされた映像ブロックが次にDPB92に記憶され、DPB92は、次の映像ブロックの後続の動き補償に使用される参照フレームを記憶する。DPB92、またはDPB92とは別のメモリデバイスは、後で
図1のディスプレイデバイス34などのディスプレイデバイスの上で提示されるために、デコードされた映像を記憶することもできる。
【0053】
典型的な映像符号化処理では、映像シーケンスは、典型的には、順序付けられたフレームまたはピクチャのセットを含む。各フレームは、SL、SCb、およびSCrで表示される3つのサンプルアレイを含むことができる。SLは、輝度サンプルの2次元アレイである。SCbは、Cb彩度サンプルの2次元アレイである。SCrは、Cr彩度サンプルの2次元アレイである。他の例では、フレームは単彩度(monochrome)でもよく、したがって、輝度サンプルの1つの2次元アレイのみを含む。
【0054】
図4Aに示されるように、映像エンコーダ20(またはより具体的には分割ユニット45)は、最初にフレームを一組の符号化木ユニット(CTU)に分割することによってフレームのエンコードされた表現を生成する。映像フレームは、左から右、そして上から下にラスタースキャンの順序で連続して並べられた整数個のCTUを含むことができる。各CTUは最大の論理符号化ユニットであり、CTUの幅さおよび高さは、映像シーケンス内のすべてのCTUが128×128、54×64、32×32、および16×16の1つである同じサイズを有するように、シーケンスパラメータセットで映像エンコーダ20によってシグナリングされる。しかしながら、本出願は必ずしも特定のサイズに限定されないことに留意されたい。
図4Bに示されるように、各CTUは、1つの輝度サンプルの符号化木ブロック(CTB)、2つの彩度サンプルの対応の符号化木ブロック、および符号化木ブロックのサンプルを符号化するために使用されるシンタックス要素を含んでもよい。シンタックス要素は、ピクセルの符号化ブロックの異なるタイプのユニットのプロパティ、および如何にして映像デコーダ30で映像シーケンスを再構築できるかを記述し、インターまたはイントラ予測、イントラ予測モード、動きベクトル、および他のパラメータを含む。単彩度ピクチャまたは3つの別個の色平面を有するピクチャでは、CTUは、単一の符号化木ブロックと、符号化木ブロックのサンプルを符号化するために使用されるシンタックス要素とを含んでもよい。符号化木ブロックは、サンプルのN×Nブロックでもよい。
【0055】
より良い性能を実現するために、映像エンコーダ20は、CTUの符号化木ブロックに対して二分木分割、三分木分割、四分木分割、または前記の任意の組み合わせなどの木分割を再帰的に実行し、CTUをより小さい符号化ユニット(CU)に分割することができる。
図4Cに示されるように、54×64CTU400は最初に4つのより小さいCUに分割され、各より小さいCUは32×32のブロックサイズを有する。4つのより小さいCUの中で、CU410とCU420は、それぞれ4つの16×16ブロックサイズのCUに分割される。2つの16×16CU430および440は、それぞれ4つの8×8ブロックサイズのCUにさらに分割される。
図4Dは、
図4Cに示されるようなCTU400の分割処理の最終結果を示す四分木データ構造を示し、四分木の各葉ノードは、32×32から8×8の範囲の相応のサイズの1つのCUに対応する。
図4Bに示されるCTUに類似し、各CUは、輝度サンプルの符号化ブロック(CB)と、2つの同じサイズのフレームの彩度サンプルの対応の符号化ブロックと、符号化ブロックのサンプルを符号化するために使用されるシンタックス要素とを含んでもよい。単彩度ピクチャまたは3つの別個の色平面を有するピクチャでは、CUは、単一の符号化ブロックと、符号化ブロックのサンプルを符号化するために使用されるシンタックス構造とを含んでもよい。
図4Cおよび4Dに示される四分木分割は説明のみを目的としており、1つのCTUを複数のCUに分割して、四分木/三分木/二分木分割に基づいてさまざまなローカル特性に適応させることができることに留意されたい。マルチタイプ木構造では、1つのCTUが四分木構造によって分割され、各四分木葉CUは、二分木および三分木構造によってさらに分割されてもよい。
図4Eに示されるように、即ち四分割、水平二分割、垂直二分割、水平三分割、垂直三分割の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ブロックを生成した後、映像エンコーダ20は、CUの元の輝度符号化ブロックからその予測輝度ブロックを差し引くことによって、CUの輝度残差ブロックを生成することができ、これによってCUの輝度残差ブロックの各サンプルは、CUの予測輝度ブロックの1つにおける輝度サンプルと、CUの元の輝度符号化ブロックにおける対応のサンプルとの間の差を指示する。同様に、映像エンコーダ20は、CUのCb残差ブロックおよびCr残差ブロックをそれぞれ生成することができ、これによってCUのCb残差ブロックの各サンプルは、CUの予測Cbブロックの1つにおけるCbサンプルとCUの元のCb符号化ブロックにおける対応のサンプルとの間の差を指示し、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は、1つまたは複数の変換をTUの輝度変換ブロックに適用して、TUの輝度係数ブロックを生成することができる。係数ブロックは、変換係数の2次元アレイでもよい。変換係数はスカラ量でもよい。映像エンコーダ20は、1つまたは複数の変換をTUのCb変換ブロックに適用して、TUのCb係数ブロックを生成することができる。映像エンコーダ20は、1つまたは複数の変換をTUのCr変換ブロックに適用して、TUのCr係数ブロックを生成することができる。
【0061】
係数ブロック(例えば、輝度係数ブロック、Cb係数ブロックまたはCr係数ブロック)を生成した後、映像エンコーダ20は、係数ブロックを量子化することができる。量子化とは、一般に、変換係数を量子化して変換係数を表現するために使用されるデータの量を可能的に低減し、さらなる圧縮を提供する処理を意味する。映像エンコーダ20が係数ブロックを量子化した後、映像エンコーダ20は、量子化された変換係数を指示するシンタックス要素をエントロピーエンコードすることができる。例えば、映像エンコーダ20は、量子化された変換係数を指示するシンタックス要素に対してコンテキスト適応型二値算術符号化(CABAC)を実行することができる。最後に、映像エンコーダ20は、符号化されたフレームおよび関連付けられたデータの表現を形成するビットのシーケンスを含むビットストリームを出力することができ、当該ビットストリームが記憶デバイス32に保存され、または宛先デバイス14に送信される。
【0062】
映像エンコーダ20によって生成されたビットストリームを受信した後、映像デコーダ30は、ビットストリームを解析して、ビットストリームからシンタックス要素を取得することができる。映像デコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、映像データのフレームを再構築することができる。映像データを再構築する処理は、一般に、映像エンコーダ20によって実行されるエンコーディング処理を逆行するものである。例えば、映像デコーダ30は、当前のCUのTUに関連付けられた係数ブロックに対して逆変換を実行して、当前のCUのTUに関連付けられた残差ブロックを再構築することができる。映像デコーダ30は、さらに当前のCUのPUの予測ブロックのサンプルを当前のCUのTUの変換ブロックの対応のサンプルに加算することによって、当前のCUの符号化ブロックを再構築する。フレームの各CUの符号化ブロックを再構築した後、映像デコーダ30は、フレームを再構築することができる。
【0063】
上記のように、映像符号化は、主に2つのモード、すなわち、フレーム内予測(またはイントラ予測)およびフレーム間予測(またはインター予測)を使用して映像圧縮を実現する。パレットベース符号化は、多くの映像符号化標準で採用されるもう1つの符号化スキームである。スクリーン生成コンテンツ符号化に特に適したパレットベース符号化では、映像符号器(例えば、映像エンコーダ20または映像デコーダ30)は、所与のブロックの映像データを表現する色のパレットテーブルを形成する。パレットテーブルは、所与のブロックにおける最も支配的な(例えば、頻繁に使用される)ピクセル値を含む。所与のブロックの映像データに頻繁に表現されないピクセル値は、パレットテーブルに含まれなく、またはエスケープ色としてパレットテーブルに含まれる。
【0064】
パレットテーブルの各エントリは、パレットテーブルにある対応のピクセル値のインデックスを含む。ブロック内のサンプルのためのパレットインデックスは、パレットテーブルからのどのエントリがどのサンプルを予測または再構築するために使用されるかを指示するように符号化されてもよい。このパレットモードは、ピクチャ、スライス、タイル、または映像ブロックの他のそのようなグルーピングの最初のブロックのパレット予測子を生成する処理から始まる。以下で説明するように、後続の映像ブロックのパレット予測子は、通常、前に使用されたパレット予測子を更新することによって生成される。説明のために、パレット予測子はピクチャレベルで定義されると仮定される。言い換えると、ピクチャには複数の符号化ブロックが含まれてもよく、各符号化ブロックがその自分のパレットテーブルを有するが、ピクチャ全体に対して1つのパレット予測子がある。
【0065】
映像ビットストリームにおいてパレットエントリをシグナリングすることに要するビットを低減するために、映像デコーダは、パレット予測子を利用して映像ブロックを再構築するために使用されるパレットテーブル内の新しいパレットエントリを決定することができる。例えば、パレット予測子は、前に使用されたパレットテーブルからのパレットエントリを含んでもよく、或いは最近使用されたパレットテーブルのすべてのエントリを含むことによって最近使用されたパレットテーブルで初期化されてもよい。いくつかの実行では、パレット予測子は、最近使用されたパレットテーブルからのすべてのエントリよりも少ないエントリを含み、次に他の前に使用されたパレットテーブルからのいくつかのエントリを組み込むことができる。パレット予測子は、異なるブロックを符号化するために使用されるパレットテーブルと同じサイズを有してもよく、或いは異なるブロックを符号化するために使用されるパレットテーブルと比べて大きい又は小さいものでもよい。一例では、パレット予測子は、54個のパレットエントリを含む先入れ先出し(FIFO)テーブルとして実行される。
【0066】
パレット予測子から映像データのブロックのためのパレットテーブルを生成するために、映像デコーダは、エンコードされた映像ビットストリームから、パレット予測子の各エントリのための1ビットフラグを受信することができる。1ビットフラグは、パレット予測子の関連付けられたエントリがパレットテーブルに含まれることを指示する第1の値(例えば、バイナリの1)、またはパレット予測子の関連付けられたエントリがパレットテーブルに含まれないことを指示する第2の値(例えば、バイナリの0)を有することができる。パレット予測子のサイズが映像データのブロックに使用されるパレットテーブルよりも大きい場合、パレットテーブルの最大サイズに達すると、映像デコーダはそれ以上のフラグの受信を停止してもよい。
【0067】
いくつかの実行では、パレットテーブル内のいくつかのエントリは、パレット予測子を使用して決定されるのではなく、エンコードされた映像ビットストリームで直接にシグナリングされてもよい。そのようなエントリの場合、映像デコーダは、エンコードされた映像ビットストリームから、エントリに関連付けられた輝度および2つの彩度の成分のピクセル値を指示する3つの別個のmビット値を受信することができ、ここで、mは映像データのビット深度を表現する。直接にシグナリングされたパレットエントリに要する複数のmビット値と比べると、パレット予測子から得られるこれらのパレットエントリは、1ビットのフラグのみを要求する。したがって、パレット予測子を使用して一部またはすべてのパレットエントリをシグナリングすることは、新しいパレットテーブルのエントリをシグナリングすることに要するビット数を大幅に低減でき、これでパレットモード符号化の全体的な符号化効率を向上する。
【0068】
多くの例では、1つのブロックのためのパレット予測子は、1つまたは複数の前に符号化されたブロックを符号化するために使用されるパレットテーブルに基づいて決定される。ただし、ピクチャ、スライス、またはタイルの最初の符号化木ユニットを符号化する場合、前に符号化されたブロックのパレットテーブルは利用できない。したがって、パレット予測子は、前に使用されたパレットテーブルのエントリを使用して生成され得ない。このような場合、パレット予測子初期化器のシーケンスは、シーケンスパラメータセット(SPS)および/またはピクチャパラメータセット(PPS)でシグナリングされてもよく、シーケンスパラメータセット(SPS)および/またはピクチャパラメータセット(PPS)は、前に使用されたパレットテーブルが利用できない場合にパレット予測子を生成するために使用される値である。 SPSは一般に、各スライスセグメントヘッダに見出されるシンタックス要素が指すPPSに見出されるシンタックス要素のコンテンツによって決定されるように、符号化映像シーケンス(CVS)と呼ばれる一連の続く符号化映像ピクチャに適用されるシンタックス要素のシンタックス構造を指す。PPSは一般に、各スライスセグメントヘッダに見出されるシンタックス要素によって決定されるように、CVS内の1つまたは複数の単独のピクチャに適用されるシンタックス要素のシンタックス構造を指す。したがって、SPSは一般にPPSよりも高いレベルのシンタックス構造であると認定され、PPSに含まれるシンタックス要素と比べると、SPSに含まれるシンタックス要素は一般に変更頻度が低く、映像データの大部分に適用されるという意味がある。
【0069】
図5は、いくつかの実施例による、ビットストリームの映像フレームの符号化ブロック506の輝度サンプル504から彩度サンプル502を得る処理500を示す。映像フレームの符号化ブロック506は、複数のピクセルを含み、各ピクセルは、複数の色要素(例えば、青、緑、および赤)により構成される。映像エンコーディングおよびデコーディングにおいて、複数のピクセルの明るさおよび色の情報は、それぞれ複数の輝度サンプル504および複数の彩度サンプル502によって表現される。複数のピクセルの各ピクセルは、単一の相応の輝度サンプル504に一意に対応する。各彩度サンプル502は、サブサンプリングスキームに従って、相応の輝度サンプル504のセットに対応する。各輝度サンプルは、輝度成分Y’を有し、各彩度サンプル504は、青差彩度成分Cbおよび赤差彩度成分Crを有する。輝度成分と彩度成分のサブサンプリングスキーム(Y’:Cb:Cr)は、例えば4:1:1、4:2:0、4:2:2、4:4:4および4:4:0の3つの部分の比率を有する。
図5において、映像フレームの輝度サンプル504および彩度サンプル502は、4:1:1に等しい3つの部分の比率を有するサブサンプリングスキームに準拠している。
【0070】
いくつかの実施例では、映像フレームの符号化ブロック506は、幅さにわたる2Mの輝度サンプルおよび高さにわたる2Nの輝度サンプルに対応する2M×2Nのピクセルを含む。MとNは、オプションで互いに等しいまたは互いに異なる。
図5の輝度成分および彩度成分の例示的なサブサンプリングスキーム(Y’:Cb:Cr=4:1:1)によれば、映像フレームの輝度サンプル504は2M×2Nの解像度でエンコードされ、一方、彩度サンプル502はM×Nのより低い解像度でエンコードされる。実際には、彩度サンプル502は、2M×2N(例えば4:4:4フルサンプリング)、2M×N(例えば4:4:0サブサンプリング)、M×2N(例えば4:2:2サブサンプリング)、1/2M×2N(例えば4:1:1サブサンプリング)などの異なる彩度解像度でエンコードされてもよい。
【0071】
【0072】
【0073】
いくつかの実施例では、映像フレームの輝度サンプル504および彩度サンプル502は、平均して4つずつの輝度サンプル504が青差彩度成分Cbおよび赤差彩度成分Crを有する1つの彩度サンプル504に対応するサブサンプリングスキームに準拠する。換言すれば、輝度サンプル504の第1の輝度解像度は、彩度サンプル502の第2の彩度解像度の4倍である。平均して、4つずつの輝度サンプル504が、第2の彩度解像度に等しい第3の輝度解像度を有する輝度サンプル508のセット内の1つのダウンサンプリングされた輝度サンプル508に組合わせられる。いくつかの実施例では、各輝度サンプル508について、4つの隣接の輝度サンプル504より多くの隣接の輝度サンプル504が適用されて、相応の彩度サンプル502が得られる。輝度サンプル504のサブセットについて、各輝度サンプル504は複数回適用されて、1つ以上のダウンサンプリングされた輝度サンプル508および/または1つ以上の彩度サンプル502が生成される。事前定義された補間スキーム510に基づいて複数の輝度サンプル504を輝度サンプル508および/または彩度サンプル502にダウンサンプリングすることに関する詳細は、以下
図6A-6Dを参照して説明される。
【0074】
いくつかの実施例では、輝度サンプル508を彩度サンプル502に転換するために適用される線形マッピングモデル512は、Max-Min方法を使用して得られる。具体的には、最大のダウンサンプリングされた輝度サンプルは、ダウンサンプリングされた輝度サンプルのセットから識別され、最小のダウンサンプリングされた輝度サンプルは、ダウンサンプリングされた輝度サンプルのセットから識別される。最大の彩度サンプルは最大のダウンサンプリングされた輝度サンプルに対応し、最小の彩度サンプルは最小のダウンサンプリングされた輝度サンプルに対応する。最大および最小の彩度サンプルは、最大および最小のダウンサンプリングされた輝度サンプルとともに適用されて、線形マッピングモデル512を決定する、すなわち式(1)の2つの係数αおよびβを決定する。線形マッピングモデル512が得られた後、映像コーデックは、線形マッピングモデル512を、輝度サンプル504からダウンサンプリングされた輝度サンプル508に適用して、符号化ブロック506内の対応の彩度サンプル502を生成する。
【0075】
映像フレームの符号化ブロックは、順序付けられたシーケンスに従って再構築される。いくつかの状況では、符号化ブロック506は、映像フレームの第1の行または第1の列上になく、符号化ブロック506が処理されているときに、選択されたピクセルのグループが再構築される。例えば、選択されたピクセルのグループは、符号化ブロック506のピクセルの直接の上および左に位置付けられるピクセルを含む。彩度サンプル516、輝度サンプル518、およびダウンサンプリングされた輝度サンプル514の選択されたグループは、選択されたピクセルのグループに対して再構築され、例えばMax-Min方法に基づいて線形マッピングモデル512を得るために使用できる。彩度サンプル516、輝度サンプル518、およびダウンサンプリングされた輝度サンプル514は、符号化ブロック506の境界の外部にあり、その境界に直接に隣る。具体的には、いくつかの実施例では、映像コーデックは、符号化されたダウンサンプリングされた輝度サンプルのグループ(例えば、上の隣接の輝度サンプルおよび左の隣接の輝度サンプルに対応するダウンサンプリング輝度サンプル514の選択されたグループ)を検索して、最大のダウンサンプリングされた輝度サンプル514A-1および最小のダウンサンプリングされた輝度サンプル514B-1を識別する。次に、映像コーデックは、最大および最小のダウンサンプリングされた輝度サンプル514A-1および514B-1に対応する、(例えば、上の隣接の彩度サンプルおよび左の隣接の彩度サンプルを含む彩度サンプル516の選択されたグループにおける)以前に符号化された彩度サンプル516A-1および516B-1を識別する。このように、線形マッピングモデル512は、これらの関連付けられるダウンサンプリングされた輝度サンプル(514A-1および514B-1)および彩度サンプル(516A-1および516B-1)に基づいて得られることができる。
【0076】
あるいは、いくつかの実施例では、映像コーデックは、選択された輝度サンプルのグループに対してダウンサンプリングを実行して最大および最小の輝度サンプル518Aおよび518Bを識別することなく、輝度サンプルのグループ(例えば、上および左の隣接の輝度サンプルを含む、輝度サンプル518の選択されたグループ)を検索して、輝度サンプルのグループ内の(i)最大の輝度値を有する輝度サンプル518Aおよび(ii)最小の輝度値を有する輝度サンプル518Bを識別する。次に、映像コーデックは、最大および最小の輝度サンプル518Aおよび518Bに関連付けられる領域でダウンサンプリングを実行して(例えば、6つのサンプルを有する領域において、6タップのダウンサンプリングなどを含む本分野で知られている加重平均スキームが使用される)、ダウンサンプリングされた輝度サンプル514A-2を最大の輝度サンプルとして生成し(当該輝度サンプル514A-2は、確かに最大のダウンサンプリングされた輝度サンプル514A-1でもよく、そうでなくても構わない)、ダウンサンプリングされた輝度サンプル514B-2を最小の輝度サンプルとして生成する(当該輝度サンプル514B-2は、確かに最小のダウンサンプリングされた輝度サンプル514B-1でもよく、そうでなくても構わない)。次に、映像コーデックは、ダウンサンプリングされた輝度サンプル514A―2および514B-2に対応する(例えば、上および左の隣接の彩度サンプルを含む彩度サンプル516のグループにおける)彩度サンプル516A-2および516B-2を識別する。このように、線形マッピングモデル512は、ダウンサンプリングされた輝度サンプル(514A-2および514B-2)および彩度サンプル(516A-2および516B-2)に基づいて得られることができる。
【0077】
あるいは、いくつかの実施例では、映像コーデックは、彩度サンプルのグループ(例えば、上および左の隣接の彩度サンプルを含む彩度サンプル516のグループ)を検索して、最大および最小の彩度サンプル516A-3および516B-3(例えば、それぞれ最大および最小の彩度値を有する彩度サンプル)を識別する。次に、映像コーデックは、最大および最小の彩度サンプル514A-3および514B-3に対応する、(例えば、上および左の隣接の輝度サンプルを含むダウンサンプリングされた輝度サンプル514のグループにおける)ダウンサンプリングされた輝度サンプル514A-3および514B-3を識別する。このように、線形マッピングモデル512は、ダウンサンプリングされた輝度サンプル(514A-3および514B-3)および彩度サンプル(516A-3および516B-3)に基づいて得られる。
【0078】
あるいは、いくつかの実施例では、映像コーデックは、ダウンサンプリングされた輝度サンプルのグループ(例えば、ダウンサンプリングされた輝度サンプル514の選択されたグループ)を検索して、最大の輝度値を有する、事前定義された数(例えば、2つ)のダウンサンプリングされた輝度サンプル(例えば、514A-4および514A-5)、および最小の輝度値を有する、事前定義された数(例えば、2つ)のダウンサンプリングされた輝度サンプル(例えば、514B-4および514B-5)を識別する。次に、映像コーデックは、彩度サンプル516の選択されたグループ内の彩度サンプル(例えば、516A-4、516A-5、516B-4、および516B-5)を識別し、各彩度サンプルはそれぞれ最大のダウンサンプリングされた輝度サンプル514A-4と514A-5のグループおよび最小のダウンサンプリングされた輝度サンプル514B-4と514B-5のグループの中の相応の1つのグループに対応する。次に、映像コーデックは、各の識別された彩度および輝度サンプルのグループで値(例えば、彩度または輝度の値)の加重平均を実行して、(例えば、彩度サンプル516A-4および516A-5の)最大平均彩度値、(例えば、彩度サンプル516B-4および516B-5の)最小平均彩度値、(例えば、輝度サンプル514A-4および514A-4の)最大平均ダウンサンプリングされた輝度値、および(例えば、輝度サンプル514B-4および514B-5の)最小値平均ダウンサンプリングされた輝度値を生成する。このように、線形マッピングモデル512は、ダウンサンプリングされた輝度サンプル(514A-4、514A-5、514B-4および514B-5)および彩度サンプル(516A-4、516A-5、516B-4および516B-5)に基づいて得られることができる。
【0079】
さらに、いくつかの実施例では、線形マッピングモデル512は、(例えば、ダウンサンプリングされた輝度サンプル514の選択されたグループ内の)複数のダウンサンプリングされた輝度サンプルおよび(例えば、彩度サンプル516の選択されたグループ内の)複数の対応の彩度サンプルに対して線形フィッティングカーブを作ることで得られる。このようなカーブフィッティングには、許容誤差を選択的に満たす偏差誤差がある。複数のダウンサンプリングされた輝度サンプルは、事前定義された数の彩度サンプルに対応する事前定義された数(例えば、10より大きい)のダウンサンプリングされた輝度サンプルを含む。いくつかの実施例では、ダウンサンプリングされた輝度サンプルは、線形マッピングモデル512を得るために、隣接のダウンサンプリングされた輝度サンプル514のグループからランダムに選択される。
【0080】
図6A-6Dは、いくつかの実施例による、4つの例示的な符号化ブロック506A-506Dであり、各符号化ブロックは複数の彩度サンプル502に転換される複数の輝度サンプル504を含む。各十字(「×」)は、輝度サンプル504の位置を表現し、各円(「○」)は、彩度サンプル502或いはダウンサンプリングされた輝度サンプル508の位置を表現する。各円で囲まれた十字(「○の中に×印」)は、彩度サンプル502、輝度サンプル504、およびダウンサンプリングされた輝度サンプル508が重なる位置を表現する。各符号化ブロック506は、ブロック境界602でマークされる。各符号化ブロック506は、輝度成分および彩度成分の相応のサブサンプリングスキーム(Y':Cb:Cr)に準拠し、相応の輝度補間スキーム510を採用して、相応の符号化ブロック506の輝度サンプル504を対応のダウンサンプリングされた輝度サンプル508にダウンサンプリングする。本出願のいくつかの実施例では、各符号化ブロック506について、特にダウンサンプリングされた輝度サンプル508が直接にブロック境界602に隣る場合に、すべてのダウンサンプリングされた輝度サンプル508は、輝度補間スキーム510を使用して、同じ相応の符号化ブロック506に位置付けられる隣接の輝度サンプル504から得られる。各ダウンサンプリングされた輝度サンプル508(それぞれの輝度サンプル508)は、常に対応の彩度サンプル502と重なり、彩度サンプル502は従って線形マッピングモデル512に基づいてダウンサンプリングされた輝度サンプル508から得られることができる。
【0081】
いくつかの実施例では、成分間フィルタモデル520は、輝度補間スキーム510と線形マッピングモデル512との組み合わせである。各符号化ブロック506のための輝度補間スキーム510の線形マッピングモデル512およびフィルタ係数f(i)の2つの線形係数αおよびβが与えられる場合、符号化ブロック506の彩度サンプル502は、特にダウンサンプリングされた輝度サンプル508が直接にブロック境界602に隣る場合に、成分間フィルタモデル520を使用して、同じ相応の符号化ブロック506に位置付けられる輝度サンプル504から直接に得られる。
【0082】
いくつかの実施例では、符号化ブロック506は映像フレームの第1の符号化ブロックであり、当該符号化ブロック506の前に他の符号化ブロック506は再構築されていない。このような符号化ブロック506は、選択的に映像フレームの左上隅に位置付けられる。線形マッピングモデル512は、映像フレーム内の符号化ブロックとは独立して(例えば、前の映像フレームに基づいて)決定される。あるいは、いくつかの実施例では、符号化ブロック506は、映像フレームの第1の符号化ブロックではなく、当該符号化ブロック506の前に1つまたは複数の他の符号化ブロック506が再構築された。例えば、符号化ブロック506は映像フレームの中央に位置付けられ、符号化ブロック506の直接の上または左の符号化ブロックが既に処理され、線形マッピングモデル512を決定することまたは当該符号化ブロック506内の輝度サンプルまたは彩度サンプルを再構築することに使用されることができる。いくつかの状況では、符号化ブロック506は、映像フレームの上の境界の側に位置付けられ、符号化ブロック506の直接の左の少なくとも1つの符号化ブロックが既に処理され、線形マッピングモデル512を決定することまたは当該符号化ブロック506内の輝度サンプルまたは彩度サンプルを再構築することに使用されることができる。いくつかの状況では、符号化ブロック506は、映像フレームの左の境界の側に位置付けられ、符号化ブロック506の直接の上の少なくとも1つの符号化ブロックが既に処理され、線形マッピングモデル512を決定することまたは当該符号化ブロック506内の輝度サンプルまたは彩度サンプルを再構築することに使用されることができる。符号化ブロック506の位置に関係なく、符号化ブロック506の右または下の符号化ブロックがまだ処理されておらず、当該符号化ブロック506のための線形マッピングモデル512を決定することまたは当該符号化ブロック506内の輝度サンプルまたは彩度サンプルを再構築することに使用されることはできない。
【0083】
いくつかの実施例では、同じ事前定義された輝度補間スキーム510または成分間フィルタモデル520は、符号化ブロック506全体にわたってすべてのダウンサンプリングされた輝度サンプル508または彩度サンプル502をそれぞれに生成するために適用される。或いは、いくつかの実施例では、事前定義された輝度補間スキーム510は、ダウンサンプリングされた輝度サンプル508の位置またはダウンサンプリングされた輝度サンプル508に関連付けられる境界ピクセルの位置によって変化する。同様に、いくつかの実施例では、成分間フィルタモデル520は、彩度サンプル502の位置または彩度サンプル502に関連付けられる境界ピクセルの位置によって変化する。例えば、事前定義された各輝度補間スキーム510および各成分間フィルタモデル520は、十字、ブロック、またはT型のフィルタ配置の中の1つに対応する。
【0084】
図6Aを参照して、符号化ブロック506Aは、ビットストリームで取得され、ビットストリームから再構築された複数の輝度サンプル504を含む。複数の対応の彩度サンプル502は、複数の輝度サンプル504から得られる。符号化ブロック506Aにおいて、輝度成分504および彩度成分502のサブサンプリングスキーム(Y':Cb:Cr)は、3つの部分の比率4:2:0を有する。各彩度サンプル502は、成分間フィルタモデル520に従って6つの隣接の輝度サンプル504から組み合わされる。6つの隣接の輝度サンプル504は、相応の彩度サンプル502の左上隅、直接の上、右上隅、左下隅、直接の下、および右下隅に位置付けられる。換言すれば、各彩度サンプル502の6つの隣接の輝度サンプル504は、事前定義された輝度補間スキーム510に従って相応の彩度サンプル502と重なるダウンサンプリングされた輝度サンプル508に転換され、次に線形マッピングモデル512に従って相応の彩度サンプル502に転換される。一例では、第1の彩度サンプル502Aおよびそれに対応する6つの隣接の輝度サンプル504A-1から504A-6は、完全にブロック境界602内に囲まれており、第1の彩度サンプル502Aは、成分間フィルタモデル520または輝度補間スキーム510および線形マッピングモデル512の組み合わせに基づいて隣接の輝度サンプル504A-1から504A-6から得られることができる。
【0085】
逆に、第2の彩度サンプル502Bは、符号化ブロック506Aの左のブロック境界602Aに直接に隣って、成分間フィルタモデル520に従って6つの隣接の輝度サンプル504B-1から504B-6に対応する。いくつかの状況では、符号化ブロック506の左のブロック境界602Aは、映像フレームの左の境界と重なり、当該または任意の他の符号化ブロックにおいて2つの隣接の輝度サンプル504B-1および504B-6が利用できない。符号化ブロック506の外部にありそして利用できない輝度サンプル504B-1および504B-6は、それぞれ輝度サンプル504B-1および504B-6に直接に隣る輝度サンプル504B-2および504B-5から複製されることができる。一例では、輝度サンプル504B-1および504B-6は、彩度サンプル502Bに関して輝度サンプル504B-1および504B-6に対して対称である504B-4および504B-3から複製される。あるいは、いくつかの状況では、符号化ブロック506の左のブロック境界602Aは、映像フレームの左の境界と重ならない。2つの隣接の輝度サンプル504B-1および504B-6は、符号化ブロック506自体の中で利用できないが、符号化ブロック506の前に再構築された他の隣接の符号化ブロックによって提供されてもよい。符号化ブロック506の外部にある輝度サンプル504B-1および504B-6は、任意の他の符号化ブロックから輝度サンプル504B-1および504B-6をロードすることに頼ることなく、符号化ブロック506内の輝度サンプル504B-2から504B-5から依然として複製されてもよい。これらの手段によって、第2の彩度サンプル502Bおよび/または第2の輝度サンプル508Bは、隣接の輝度サンプル504B-1から504B-6からさらに得られ、当該隣接の輝度サンプル504B-1から504B-6の中に2つの輝度サンプル504B-1および504B-6は、符号化ブロック506Aに含まれる2つの別個の輝度サンプル(例えば、504B-2および504B-5)から選択的に割り当てられる。
【0086】
換言すれば、映像フレーム内の複数のピクセルのための複数の輝度サンプルを有するビットストリームが取得される場合、複数のピクセルは符号化ブロック506Aに属し、符号化ブロック506の内に位置付けられ且つ符号化ブロック506Aの境界602に直接に隣る境界ピクセルを含む。境界ピクセル(例えば、輝度サンプル504B-2に対応する)は、利用できない1つまたは複数の隣接ピクセル(例えば、輝度サンプル504B-1に対応する)に対応する。1つまたは複数の隣接ピクセルの各ピクセルは、符号化ブロック506Aの外部にある。いくつかの実施例では、境界ピクセルの1つまたは複数の隣接ピクセルは、映像フレームまたは画像スライスの外部にある。いくつかの実施例では、境界ピクセルの1つまたは複数の隣接ピクセルはまだ符号化されておらず、符号化ブロック506に続いて符号化される。いくつかの実施例では、成分間フィルタモデル520は、符号化ブロック506に限定され、符号化ブロック506の外部にある任意の隣接ピクセルは、利用できないと見なされる。境界ピクセルに対応する輝度サンプル504B-2および504B-5は、1つまたは複数の隣接ピクセルの各ピクセルに対応する輝度サンプル504B-1および504B-6にそれぞれ割り当てられる。境界輝度サンプル508Bは、事前定義された輝度補間スキーム510に従って、少なくとも、境界ピクセルおよび1つまたは複数の隣接ピクセルの輝度サンプル504B-1から504B-6に基づいて決定され、線形マッピングモデル512に従って境界彩度サンプル502Bを決定するために使用される。あるいは、境界彩度サンプル502Bは、成分間フィルタモデル520に従って境界ピクセルおよび1つまたは複数の隣接ピクセルの輝度サンプル504B-1から504B-6から決定される。
【0087】
図6Bを参照して、符号化ブロック506Bにおいて、輝度成分504および彩度成分502のサブサンプリングスキーム(Y’:Cb:Cr)は、3つの部分の比率4:2:0を有する。各彩度サンプル502は、十字フィルタ形状を有する成分間フィルタモデル520に従って、5つの隣接の輝度サンプル504から組み合わされる。5つの隣接の輝度サンプル504のうちの1つは、彩度サンプル502と重なり、残りの4つの隣接の輝度サンプル504は、相応の彩度サンプル502の直接の上、下、左、および右に位置付けられる。換言すれば、各彩度サンプル502の5つの隣接の輝度サンプル504は、事前定義された輝度補間スキーム510に従って相応の彩度サンプル502と重なるダウンサンプリングされた輝度サンプル508に転換され、次に線形マッピングモデル512に従って相応の彩度サンプル502に転換される。一例では、第3の彩度サンプル502Cおよびそれに対応する5つの隣接の輝度サンプル504C-1から504C-5は、完全にブロック境界602内に囲まれ、第3の彩度サンプル502Cは、成分間フィルタモデル520または輝度補間スキーム510と線形マッピングモデル512の組み合わせに基づいて隣接の輝度サンプル504C-1から504C-5から得られることができる。
【0088】
第4の彩度サンプル502Dは、符号化ブロック506Bの左のブロック境界602Aに直接に隣って、成分間フィルタモデル520に従って5つの隣接の輝度サンプル504D-1から504D-5に対応する。いくつかの状況では、符号化ブロック506Bの左のブロック境界602Aは、映像フレームの左の境界と重なり、当該または任意の他の符号化ブロックにおいて隣接の輝度サンプル504D-5が利用できない。輝度サンプル504D-5は、輝度サンプル504D-5に直接に隣る輝度サンプル504D-1から、または中心輝度サンプル504D-1に関して輝度サンプル504D-5に対して対称である輝度サンプル504D-3から複製される。いくつかの状況では、符号化ブロック506の左のブロック境界602Aは、映像フレームの左の境界と重ならない。隣接の輝度サンプル504D-5は、符号化ブロック506自体の中で利用できないが、符号化ブロック506Bの前に再構築された他の隣接の符号化ブロックによって提供されてもよい。符号化ブロック506の外部にある輝度サンプル504D-5は、任意の他の符号化ブロックから輝度サンプル504D-5をロードすることに頼ることなく、符号化ブロック506内に位置付けられる輝度サンプル504D-1または504D-3から依然として複製されてもよい。これらの手段によって、第4の彩度サンプル502Dおよび/または第4の輝度サンプル508Dは、隣接の輝度サンプル504D-1から504D-5から得られ、当該隣接の輝度サンプル504D-1から504D-5の中に輝度サンプル504D-5は、符号化ブロック506B内の輝度サンプル504D-1または504D-3に基づいて選択的に割り当てられる。
【0089】
第5の彩度サンプル502Eは、符号化ブロック506Bの左のブロック境界602Aおよび上のブロック境界602Bの両方に直接に隣って、成分間フィルタモデル520に従って5つの隣接の輝度サンプル504E-1から504E-5に対応する。いくつかの実施例では、符号化ブロック506Bは、映像フレーム内の最初の符号化ブロックであり、当該または任意の他の符号化ブロックにおいて2つの隣接の輝度サンプル504E-2および504E-5が利用できない。輝度サンプル504E-2および504E-5は、輝度サンプル504E-1から複製される。いくつかの状況では、符号化ブロック506Bは、映像フレームの左上隅に位置付けられておらず、その左および上の隣接の符号化ブロックが利用できる。隣接の輝度サンプル504E-2および504E-5は、符号化ブロック506自体の中で利用できないが、符号化ブロック506の前に再構築された他の隣接の符号化ブロックによって提供されてもよい。あるいは、輝度サンプル504E-2および504E-5は、任意の他の符号化ブロックから輝度サンプルをロードすることに頼ることなく、符号化ブロック506内に位置付けられる輝度サンプル504E-1から依然として複製されてもよい。これらの手段によって、第5の彩度サンプル502Eおよび/または第5の輝度サンプル508Eは、隣接の輝度サンプル504E-1から504E-5から得られ、当該隣接の輝度サンプル504E-1から504E-5の中に輝度サンプル504E-2および504E-5は、符号化ブロック506Bのブロック境界602に隣るように位置付けられた他の輝度サンプル504E-1に基づいて選択的に割り当てられる。
【0090】
図6Cを参照して、符号化ブロック506Cにおいて、輝度成分504および彩度成分502のサブサンプリングスキーム(Y’:Cb:Cr)は、3つの部分の比率4:2:2を有する。各彩度サンプル502は、2×3のフィルタ形状を有する成分間フィルタモデル520に従って6つの隣接の輝度サンプル504から組み合わされる。6つの隣接の輝度サンプル504のうちの1つは、彩度サンプル502と重なり、残りの5つの隣接の輝度サンプルは、相応の彩度サンプル502の左、右、左下隅、直接の下、および右に位置付けられる。各彩度サンプル502のこれらの6つの隣接の輝度サンプル504は、事前定義された輝度補間スキーム510に従って、相応の彩度サンプル502と重なるダウンサンプリングされた輝度サンプル508に転換され、次に線形マッピングモデル512に従って相応の彩度サンプル502に転換される。一例では、第6の彩度サンプル502Fおよびそれに対応する6つの隣接の輝度サンプル504F-1から504F-6は、完全にブロック境界602内に囲まれ、第6の彩度サンプル502Fは、成分間フィルタモデル520または輝度補間スキーム510と線形マッピングモデル512との組み合わせに基づいて隣接の輝度サンプル504F-1から504F-5から得られることができる。
【0091】
第7の彩度サンプル502Gは、符号化ブロック506Cの左のブロック境界602Aおよび下のブロック境界602Cの両方に直接に隣って、成分間フィルタモデル520に従って6つの隣接の輝度サンプル504G-1から504G-6に対応する。いくつかの実施例では、符号化ブロック506Cは、映像フレームの左下隅に位置付けられ、左および下のブロック境界602Aおよび602Cは、映像フレームの左のブロック境界および下のブロック境界と重なる。いくつかの実施例では、符号化ブロック506Cは映像フレームの左の境界の側に位置付けられているので、輝度サンプル504G-1および504G-6は存在せず、輝度サンプル504G-4および504G-5はまだ符号化されていない。映像フレームの左下隅または左の境界では、4つの隣接の輝度サンプル504G-1、504G-4、504G-5、および504G-6は、当該または任意の他の符号化ブロック内では利用できない。これらの輝度サンプルの各輝度サンプルは、輝度サンプル504G-2または504G-3から複製され、例えば、輝度サンプル504G-4は、輝度サンプル504G-3から複製され、輝度サンプル504G-1、504G-5および504G-6は輝度サンプル504G-2から複製される。いくつかの状況では、符号化ブロック506Cは、映像フレームの左下隅に位置付けられておらず、その左および下の隣接の符号化ブロックが利用できる。隣接の輝度サンプル504G-1、504G-4、504G-5および504G-6は、符号化ブロック506自体の中で利用できないが、符号化ブロック506の前に再構築された他の隣接の符号化ブロックによって提供されてもよい。あるいは、輝度サンプル504G-1、504G-4、504G-5および504G-6は、任意の他の符号化ブロックから輝度サンプルをロードすることに頼ることなく、符号化ブロック506内に位置付けられる輝度サンプル504G-2および504G-3から依然として複製されてもよい。これらの手段によって、第7の彩度サンプル502Gおよび/または第7の輝度サンプル508Gは、隣接の輝度サンプル504G-1から504G-6から得られ、当該隣接の輝度サンプル504G-1から504G-6の中に輝度サンプル504G-1、504G-4、504G-5および504G-6は、符号化ブロック506Cのブロック境界602に隣るように位置付けられた他の2つの輝度サンプル504G-2および504G-3に基づいて選択的に割り当てられる。
【0092】
図6Dを参照して、符号化ブロック506Dにおいて、輝度成分504および彩度成分502のサブサンプリングスキーム(Y’:Cb:Cr)は、3つの部分の比率4:4:4を有する。各彩度サンプル502は、2×3のフィルタ形状を有する成分間フィルタモデル520に従って6つの隣接の輝度サンプル504から組み合わされる。6つの隣接の輝度サンプル504のうちの1つは、彩度サンプル502と重なり、残りの5つの隣接の輝度サンプルは、相応の彩度サンプル502の左、右、左下隅、直接の下、および右下隅に位置付けられる。各彩度サンプル502のこれらの6つの隣接の輝度サンプル504は、事前定義された輝度補間スキーム510に従って相応の彩度サンプル502と重なるダウンサンプリングされた輝度サンプル508に転換され、次に線形マッピングモデル512に従って相応の彩度サンプル502に転換される。
【0093】
第8の彩度サンプル502Hは、符号化ブロック506Dの下のブロック境界602Cおよび右のブロック境界602Dの両方に直接に隣って、成分間フィルタモデル520に従って6つの隣接の輝度サンプル504H-1から504H-6に対応する。いくつかの実施例では、符号化ブロック506Dは、映像フレームの右下隅に位置付けられ、右および下のブロック境界602Dおよび602Cは、映像フレームの右のブロック境界および下のブロック境界と重なる。当該または任意の他の符号化ブロックにおいて4つの隣接の輝度サンプル504H-3から504H-6は利用できない。あるいは、いくつかの状況では、符号化ブロック506Dは映像フレームの左下隅に位置付けられておらず、その右および下の隣接の符号化ブロックはまだ再構築されていないため、これらの符号化ブロックはまだ利用できない。これらの輝度サンプル504H-3から504H-6の各輝度サンプルは、輝度サンプル504H-1または504H-2から複製され、例えば、輝度サンプル504H-6は、輝度サンプル504H-1から複製され、輝度サンプル504H-3から504H-5は、輝度サンプル504H-2から複製される。これらの手段によって、第8の彩度サンプル502Hおよび/または第8の輝度サンプル508Hは、隣接の輝度サンプル504H-1から504H-6から得られ、当該隣接の輝度サンプル504H-1から504H-6の中に輝度サンプル504H-3から504H-6は、符号化ブロック506Dのブロック境界602に隣るように位置付けられた他の2つの輝度サンプル504H-1および504H-2に基づいて選択的に割り当てられる。
【0094】
図7は、いくつかの実施例による、電子デバイスに実行された映像データデコーディング方法700のフローチャートである。映像フレーム内の複数のピクセルのための複数の輝度サンプル504を含む符号化ブロック506を有するビットストリームが取得される(702)。複数のピクセルは、符号化ブロック506の内に位置付けられ且つ符号化ブロック506の境界602に直接に隣る境界ピクセルを含む。電子デバイスは、境界ピクセルの1つまたは複数の隣接ピクセルが利用できないことを決定する(704)。1つまたは複数の隣接ピクセルの中の各ピクセルは、符号化ブロック506の外にある。境界ピクセルに対応する輝度サンプル(例えば、
図6Cの504G-1)は、1つまたは複数の隣接ピクセルの中の各ピクセルに対応する輝度サンプル(例えば、
図6Cの504G-6)に割り当てられる(706)。電子デバイスは、成分間フィルタモデル120に基づいて、少なくとも境界ピクセルおよび1つまたは複数の隣接ピクセルの輝度サンプル(例えば、502G―1から502G-6)に基づいて境界彩度サンプル(例えば、
図6Cの502G)を決定する。具体的には、電子デバイスは、事前定義された輝度補間スキーム510に従って、少なくとも境界ピクセルおよび1つまたは複数の隣接ピクセルの輝度サンプル(例えば、502G-1から502G-6)に基づいて境界輝度サンプル(例えば、
図6Cの508G)を決定する(710)。境界彩度サンプル(例えば、
図6Cの502G)は、線形マッピングモデル512に従って境界輝度サンプルから決定される(712)。
【0095】
いくつかの実施例では、事前定義された輝度補間スキーム510は、少なくとも境界ピクセルの位置に基づいて決定され、1つまたは複数の隣接ピクセルは、事前定義された輝度補間スキーム510に基づいて境界ピクセルに隣る。いくつかの状況では、事前定義された輝度補間スキーム510はまた、複数のピクセルの輝度サンプルおよび彩度サンプルが3つの部分のY'CbCr比率に準拠するサブサンプリングスキームに基づいて決定される。いくつかの状況では、事前定義された輝度補間スキーム510はまた、ビットストリームから得られたシンタックス要素(例えば、"sps_chroma_collocated_vertical_flag")に基づいて決定される。オプションとして、事前定義された輝度補間スキーム510は、十字、ブロック、またはT形フィルタ配置の中の1つに対応する。
【0096】
いくつかの実施例では、境界ピクセルの1つまたは複数の隣接ピクセルは、映像フレームまたは画像スライスの外部にある。いくつかの実施例では、境界ピクセルの1つまたは複数の隣接ピクセルはまだ符号化されておらず、符号化ブロックに続いて符号化される。
【0097】
いくつかの実施例では、複数のピクセルは、完全に符号化ブロックに囲まれている第1のピクセルのセットを含む。内部輝度サンプル(例えば、
図6A-6Cの508A、508C、および508F)は、事前定義された輝度補間スキーム510に従って、第1のピクセルのセットに対応する輝度サンプルのセットから決定される。第1のピクセルのセットに対応する内部彩度サンプル(例えば、
図6A-6Cの502A、502Cおよび502F)は、線形マッピングモデル512に従って、内部輝度サンプルに基づいて決定される。
【0098】
いくつかの実施例では、例えば、
図6Aにおいて、複数のピクセルは、符号化ブロックの内部にあり、内部輝度サンプル(例えば、504B-3、504B-4)に対応する内部ピクセルをさらに含む。境界輝度サンプル(例えば、508B)は、事前定義された輝度補間スキーム510に従って内部ピクセルの内部輝度サンプル(例えば、504B-3、504B-4)と境界ピクセルおよび1つまたは複数の隣接ピクセルの輝度サンプル(例えば、504B-1、504B-2)の両方に基づいて決定される。
【0099】
いくつかの実施例では、例えば、
図6Aにおいて、境界ピクセルは、第1の境界ピクセル(例えば、輝度サンプル504B-2に対応する)であり、1つまたは複数の隣接ピクセルは、1つまたは複数の第1の隣接ピクセル(例えば、輝度サンプル504B-1に対応する)を含む。複数のピクセルは、符号化ブロック506の内部にあり、符号化ブロック506の相応のブロック境界602に直接に隣る第2の境界ピクセル(例えば、輝度サンプル504B-5に対応する)を含む。電子デバイスは、第2の境界ピクセルに直接に隣る1つまたは複数の第2の隣接ピクセル(例えば、輝度サンプル504B-6に対応する)を作る。1つまたは複数の第2の隣接ピクセルの各ピクセルは、符号化ブロック506の外部にある。第2の境界ピクセルに対応する輝度サンプル(例えば、504B-5)は、1つまたは複数の第2の隣接ピクセルの各ピクセルに対応する輝度サンプル(例えば、504B-6)に割り当てられ、境界輝度サンプル508Bは、事前定義された輝度補間スキーム510に従って、少なくとも第1および第2の境界ピクセル(例えば、輝度サンプル504B-2および504B-5に対応する)及び第1および第2の隣接ピクセル(例えば、輝度サンプル504B-1および504B-6に対応する)の両方の輝度サンプルに基づいて決定される。
【0100】
いくつかの実施例では、例えば、
図6Bにおいて、1つまたは複数の隣接ピクセルは、境界ピクセル(例えば、輝度サンプル504D-1に対応する)に対して境界602Aの反対側にあり、境界ピクセルに対応する輝度サンプル(例えば、504D-1)から割り当てられた対応の輝度サンプル(例えば、504D-5)を有する1つの隣接ピクセル(例えば、輝度サンプル504D-5に対応する)のみを含む。
【0101】
いくつかの実施例では、例えば、
図6Cにおいて、境界は第1の境界602Aを含み、境界ピクセル(例えば、輝度サンプル504G-1に対応する)は、第1の境界602Aと第1の境界602Aに直交する第2の境界602Cとの間に形成された符号化ブロックの角に直接に隣る。1つまたは複数の隣接ピクセルは、境界ピクセルに対して第1の境界602Aの反対側にある第1の隣接ピクセル(例えば、輝度サンプル504G-1に対応する)、および(1)境界ピクセルに対して第2の境界の反対側にある第2の隣接ピクセル(例えば、輝度サンプル504G-5に対応する)と(2)符号化ブロック506Cの角にわたって境界ピクセルに対向する第3の隣接ピクセル(例えば、輝度サンプル504G-6に対応する)との少なくとも1つを含む。
【0102】
いくつかの実施例では、サブサンプリングスキームに従って、複数のピクセルの輝度サンプルおよび彩度サンプルは、以下の比率値のうちの1つを有する3つの部分のY'CbCr比率に準拠する:(1)4:1:1、ここで、4つずつの水平ピクセルは4つの輝度サンプル、青差彩度サンプルCb、および赤差彩度サンプルCrに対応する;(2)4:2:0、ここで、各2×2ピクセルブロックの4つずつのピクセルは4つの輝度サンプル、青差彩度サンプルCb、および赤差彩度サンプルCrに対応する;(3)4:2:2、ここで、4つずつのピクセルは4つの輝度サンプル、2つの青差彩度サンプルCb、および2つの赤差彩度サンプルCrに対応する;(4)4:4:4、ここで、4つずつのピクセルは4つの輝度サンプル、4つの青差彩度サンプルCb、および4つの赤差彩度サンプルCrに対応する。
【0103】
いくつかの実施例では、事前定義された輝度補間スキームに従って、例えば
図6A、6Cおよび6Dにおいて、2×3サブアレイ内の6つの隣接の輝度サンプル504は代替の輝度サンプル508にダウンサンプリングされ、2×3アレイ内の各左および右の列の輝度サンプルは同じ行において代替の輝度サンプルを生成するために少なくとも2回使用される。いくつかの実施例では、事前定義された輝度補間スキームに従って、例えば
図6Bにおいて、5つの隣接の輝度サンプル504は代替の輝度サンプル508にダウンサンプリングされ、中心ピクセルを中心とする十字形のサブアレイに配置される。
【0104】
いくつかの実施例では、映像フレーム内の第2の複数のピクセルのための第2の複数の輝度サンプル518および第2の複数の彩度サンプル516を有するビットストリームが取得される。代替の複数の輝度サンプル514は事前定義された輝度補間スキーム510に従って決定され、複数の彩度サンプル516と同じ解像度を有する。線形マッピングモデル512のための第1のパラメータαおよび第2のパラメータβは、代替の複数の輝度サンプル514および第2の複数の彩度サンプル516を用いて決定される。さらに、いくつかの実施例では、境界彩度サンプルYは、以下のように式(1)に記載される線形マッピングモデル512に従って境界輝度サンプルXから決定される。
図5を参照して、いくつかの実施例では、2つの最大の輝度サンプル514A-4および514A-5は、代替の複数の輝度サンプル514の中で決定され、2つの最小の輝度サンプル514B-4および514B-5は、代替の複数の輝度サンプル514の中で決定される。2つの最大の輝度サンプル514A-4と514A-5は平均化されて第1の輝度値になり、2つの最小の輝度サンプル514B-4と514B-5は平均化されて第2の輝度値になる。2つの第1の彩度サンプル516A-4および516A-5は、2つの最大の輝度サンプル514A-4および514A-5に関連付けられる第2の複数の彩度サンプル514の中で決定される。2つの第2の彩度サンプル516B-4および516B-5は、2つの最小の輝度サンプル514B-4および514B-5に関連付けられる第2の複数の彩度サンプルの中で決定される。2つの第1の彩度値516A-4および516A-5は、第1の輝度値に対応する第1の彩度値に平均化され、2つの第2の彩度値516B-4および516B-5は、第2の輝度値に対応する第2の彩度値に平均化される。線形マッピングモデル512は、第1および第2の輝度値ならびに第1および第2の彩度値に基づいて、彩度サンプル502と輝度サンプル508との間で得られる。
【0105】
1つ又は複数の例では、説明される機能はハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組み合わせにおいて実行されてもよい。ソフトウェアにより実行される場合、機能は1つ又は複数の指令又はコードとしてコンピュータ可読媒体に記憶され、又はコンピュータ可読媒体により送信され、ハードウェアベース処理ユニットにより実行されてもよい。コンピュータ可読媒体は、例えばデータ記憶媒体等の有形媒体に対応するコンピュータ可読記憶媒体、又は、コンピュータプログラムを一箇所から例えば通信プロトコルに基づいて他の箇所まで容易に伝送することができるいかなる媒体を含む通信媒体を含んでもよい。この方式によって、コンピュータ可読媒体は一般的に、(1)非一時的有形コンピュータ可読記憶媒体、又は、(2)信号又はキャリアウェーブ等の通信媒体に対応してもよい。データ記憶媒体は、1つ又は複数のコンピュータ、又は1つ又は複数のプロセッサがアクセスして指令、コード及び/又はデータ構造を検索することにより本願に説明される実施形態を実行することができるいかなる利用可能媒体であってもよい。コンピュータプログラム製品はコンピュータ可読媒体を含んでもよい。
【0106】
本明細書の実施形態の説明において使用される用語は特定の実施形態を説明するためのものに過ぎず、特許請求の範囲を制限するためのものではない。上下の文脈において他の意味を明確に指示していない限り、実施形態の説明及び添付の特許請求の範囲に使用される単数形式の「1種類」、「1つ」及び「該」は複数形式も含むように意図されている。更に理解されるように、本明細書に使用される用語「及び/又は」は1つ又は複数の関連する列挙した項目の任意及びすべての可能な組み合わせを指し、且つ1つ又は複数の関連する列挙した項目の任意及びすべての可能な組み合わせを含む。更に理解されるように、用語「備える」及び/又は「含む」は本明細書に使用される際に前記特徴、要素及び/又は構成要素の存在を指定するが、1つ又は複数の他の特徴、要素、構成要素及び/又はそれらからなる群の存在又は追加を排除しない。
【0107】
更に理解されるように、用語「第1」、「第2」等は本明細書において様々な要素を説明することに用いられてもよいが、これらの要素はこれらの用語により制限されるものではない。これらの用語は1種類の要素と他の種類の要素とを区別することのみに用いられる。例えば、実施形態の範囲を逸脱せずに、第1電極は第2電極と称されてもよく、且つ、同様に第2電極は第1電極と称されてもよい。第1電極及び第2電極はいずれも電極であるが、同じ電極ではない。
【0108】
本願の記述は説明及び記述のためのものであり、開示される形式の本発明を網羅又は制限するように意図されるものではない。上記記述及び関連図面における指導を受けて、多くの修正、変化及び代替実施形態は当業者にとっては明らかなものである。実施例の選択及び記述は、本発明の原理、実際応用を最もよく解釈し、且つ、当業者が本発明の様々な実施形態を理解でき、基本原理及び様々な修正を有する様々な実施形態を最もよく利用し、例えば期待される特定用途に適用するようにするためのものである。従って、理解されるように、特許請求の範囲は開示される実施形態の具体例に限らず、且つ修正及び他の実施形態は添付の特許請求の範囲内に含まれるように意図されている。
【手続補正書】
【提出日】2023-06-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像データをエンコードするための方法であって、
現在の映像フレームを1つまたは複数の符号化ブロックに分割することと、
複数のピクセルに対する複数の輝度サンプルを取得し、前記複数のピクセルは、前記符号化ブロックに属するとともに前記符号化ブロックの内部に位置付けられる境界ピクセルを含み、前記境界ピクセルは前記符号化ブロックの境界に直接に隣ることと、
前記境界ピクセルの1つまたは複数の隣接ピクセルが利用できないことを決定し、前記1つまたは複数の隣接ピクセルの各ピクセルが前記符号化ブロックの外部にあることと、 前記境界ピクセルに対応する相応の輝度サンプルを、前記1つまたは複数の隣接ピクセルの各ピクセルに対応する輝度サンプルに割り当てることと、
事前定義された輝度補間スキームに従って少なくとも前記1つまたは複数の隣接ピクセル及び前記境界ピクセルの輝度サンプルに基づいて、境界輝度サンプルを決定することと、
線形マッピングモデルに従って前記境界輝度サンプルから境界彩度サンプルを決定することと、
を含む前記映像データをエンコードするための方法。
【請求項2】
少なくとも前記境界ピクセルの位置に基づいて前記事前定義された輝度補間スキームを決定し、前記事前定義された輝度補間スキームに基づいて前記1つまたは複数の隣接ピクセルが前記境界ピクセルに隣ること、
を更に含む請求項1に記載の方法。
【請求項3】
前記事前定義された輝度補間スキームは、前記複数のピクセルに対応するサブサンプリングスキームとビットストリームにおいて信号化されるシンタックス要素との少なくとも1つに基づいて決定される、請求項1に記載の方法。
【請求項4】
前記境界ピクセルの前記1つまたは複数の隣接ピクセルが映像フレームまたは画像スライスの外部にある、請求項1に記載の方法。
【請求項5】
前記境界ピクセルの前記1つまたは複数の隣接ピクセルはまだ符号化されておらず、前記符号化ブロックに続いて符号化される、請求項1に記載の方法。
【請求項6】
前記複数のピクセルは前記符号化ブロックに完全に囲まれる第1のピクセルのセットを含み、
前記事前定義された輝度補間スキームに従って前記第1のピクセルのセットに対応する輝度サンプルのセットから内部輝度サンプルを決定することと、
前記線形マッピングモデルに従って、前記内部輝度サンプルに基づいて前記第1のピクセルのセットに対応する内部彩度サンプルを決定することと、
を更に含む請求項1に記載の方法。
【請求項7】
前記複数のピクセルは、前記符号化ブロックの内部にあり且つ内部輝度サンプルに対応する内部ピクセルをさらに含み、
前記境界輝度サンプルは、前記事前定義された輝度補間スキームに従って、前記内部ピクセルの前記内部輝度サンプルと前記1つまたは複数の隣接ピクセル及び前記境界ピクセルの前記輝度サンプルとの両方に基づいて決定される、
請求項1に記載の方法。
【請求項8】
前記境界ピクセルは第1の境界ピクセルであり、前記1つまたは複数の隣接ピクセルは1つまたは複数の第1の隣接ピクセルを含み、
前記複数のピクセルは、前記符号化ブロックの内部にあり且つ前記符号化ブロックの相応の境界に直接に隣る第2の境界ピクセルを含み、
前記第2の境界ピクセルに直接に隣る1つまたは複数の第2の隣接ピクセルを作り、前記1つまたは複数の第2の隣接ピクセルの各ピクセルは符号化ブロックの外部にあることと、
前記第2の境界ピクセルに対応する輝度サンプルを、前記1つまたは複数の第2の隣接ピクセルの各ピクセルに対応する輝度サンプルに割り当て、前記境界輝度サンプルは、前記事前定義された輝度補間スキームに従って少なくとも前記第1及び第2の境界ピクセルの両方並びに前記第1及び第2の隣接ピクセルの両方に基づいて決定されることと、
を更に含む請求項1に記載の方法。
【請求項9】
前記1つまたは複数の隣接ピクセルは、前記境界ピクセルに対する境界の反対側にあり且つ前記境界ピクセルに対応する前記輝度サンプルから割り当てられた対応の輝度サンプルを有する1つの隣接ピクセルのみを含む、請求項1に記載の方法。
【請求項10】
境界は第1の境界を含み、
前記境界ピクセルは、前記第1の境界と前記第1の境界に直交する第2の境界との間に形成された前記符号化ブロックの角に直接に隣り、
前記1つまたは複数の隣接ピクセルは、前記境界ピクセルに対する前記第1の境界の反対側にある第1の隣接ピクセルを含むとともに、(1)前記境界ピクセルに対する前記第2の境界の反対側にある第2の隣接ピクセルと(2)前記符号化ブロックの角にわたって前記境界ピクセルに対向する第3の隣接ピクセルとの少なくとも1つとを含む、
請求項1に記載の方法。
【請求項11】
サブサンプリングスキームに従って、前記複数のピクセルの輝度サンプルおよび彩度サンプルは、以下の比率値のうちの1つを有する3つの部分のY’CbCr比率に準拠する:
(1)4:1:1、ここで、4つずつの水平ピクセルが4つの輝度サンプル、1つの青差彩度サンプルCb、および1つの赤差彩度サンプルCrに対応する;
(2)4:2:0、ここで、各2×2ピクセルブロックの4つずつのピクセルが4つの輝度サンプル、青差彩度サンプルCb、および赤差彩度サンプルCrに対応する;
(3)4:2:2、ここで、4つずつのピクセルが4つの輝度サンプル、2つの青差彩度サンプルCb、および2つの赤差彩度サンプルCrに対応する;
(4)4:4:4、ここで、4つずつのピクセルが4つの輝度サンプル、4つの青差彩度サンプルCb、および4つの赤差彩度サンプルCrに対応する、
請求項3に記載の方法。
【請求項12】
前記事前定義された輝度補間スキームに従って、2×3サブアレイ内の6つの輝度サンプルが代替の輝度サンプルにダウンサンプリングされ、2×3アレイ内の左の列および右の列の各列における少なくとも2つの輝度サンプルが代替の輝度サンプルを生成するために使用される、
請求項1に記載の方法。
【請求項13】
前記事前定義された輝度補間スキームに従って、5つの輝度サンプルが代替の輝度サンプルにダウンサンプリングされ、中心ピクセルを中心とする十字形のサブアレイに配置される、
請求項1に記載の方法。
【請求項14】
前記現在の映像フレームから、第2の複数の輝度サンプルおよび第2の複数の彩度サンプルを取得することと、
前記事前定義された輝度補間スキームに従って、前記複数の彩度サンプルと同じ解像度を有する代替の複数の輝度サンプルを決定することと、
前記代替の複数の輝度サンプルおよび前記第2の複数の彩度サンプルを使用することにより、前記線形マッピングモデルのための第1のパラメータαおよび第2のパラメータβを得ることと、
をさらに含む請求項1に記載の方法。
【請求項15】
前記境界彩度サンプルYは、以下の式を使用して記述される以下の線形マッピングモデルに従って前記境界輝度サンプルXから決定される、請求項1に記載の方法。
Y=α*X+β
ここで、αおよびβはパラメータである。
【請求項16】
前記線形マッピングモデルのための第1のパラメータαおよび第2のパラメータβを決定することは、
前記代替の複数の輝度サンプルの中から2つの最大の輝度サンプルを識別することと、
前記代替の複数の輝度サンプルの中から2つの最小の輝度サンプルを識別することと、
前記2つの最大の輝度サンプルに基づいて第1の輝度値を決定することと、
前記2つの最小の輝度サンプルに基づいて第2の輝度値を決定することと、
前記2つの最大の輝度サンプルに関連付けられる前記第2の複数の彩度サンプルの中の2つの第1の彩度サンプルを識別することと、
前記2つの最小の輝度サンプルに関連付けられる前記第2の複数の彩度サンプルの中の2つの第2の彩度サンプルを識別することと、
前記2つの第1の彩度値に基づいて、前記第1の輝度値に対応する第1の彩度値を決定することと、
前記2つの第2の彩度値に基づいて、前記第2の輝度値に対応する第2の彩度値を決定することと、
前記第1および第2の輝度値並びに前記第1および第2の彩度値に基づいて、彩度値と輝度値との間の線形マッピングモデルを得ることと、
をさらに含む請求項14に記載の方法。
【請求項17】
電子デバイスであって、
1つまたは複数のプロセッサと、
メモリと、
を含み、
前記メモリに、前記1つまたは複数のプロセッサにより実行される際にプロセッサに請求項1~16のいずれか一項に記載の方法を実行させる命令が記憶される、
電子デバイス。
【請求項18】
非一時的なコンピュータ可読記憶媒体であって、
1つまたは複数のプロセッサにより実行される際にプロセッサに請求項1~16のいずれか一項に記載の方法を実行させる命令が記憶される、
非一時的なコンピュータ可読記憶媒体。
【請求項19】
請求項1~16のいずれか一項に記載の方法のステップをコンピュータが実行できるようにするためのビットストリーム中のコンピュータプログラム。
【請求項20】
請求項1~16のいずれか一項に記載の方法のステップをコンピュータに実行させ、対応する映像ビットストリームを取得させるためのコンピュータプログラム。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
本出願の別の態様によれば、電子デバイスは、1つまたは複数の処理ユニット、メモリ、およびメモリに記憶された複数のプログラムを含む。プログラムは、1つまたは複数の処理ユニットによって実行されると、電子デバイスに、上記のように映像データをデコードする方法を実行させる。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0024
【補正方法】変更
【補正の内容】
【0024】
図2に示されるように、映像エンコーダ20は、映像データメモリ40、予測処理ユニット41、デコードピクチャバッファ(DPB)
64、サマー50、変換処理ユニット52、量子化ユニット54、およびエントロピーエンコーディングユニット56を含む。予測処理ユニット41は、動き推定ユニット42、動き補償ユニット44、分割ユニット45、イントラ予測処理ユニット46、およびイントラブロックコピー(BC)ユニット48をさらに含む。いくつかの実行では、映像エンコーダ20は、映像ブロック再構築のために、逆量子化ユニット58、逆変換処理ユニット
60、およびサマー
62も含む。デプロッキングフィルタ(図示せず)がサマー
62とDPB
64との間に位し、ブロック境界をフィルタリングしてブロック性アーチファクトを再構築された映像から削除することができる。デブロッキングフィルタに加えて、ループ内フィルタ(図示せず)が使用され、サマー
62の出力をフィルタリングすることもできる。映像エンコーダ20は、固定またはプログラム可能なハードウェアユニットの形態をとることができ、または1つまたは複数の図解された固定またはプログラム可能なハードウェアユニットにおいて分割されることができる。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0025
【補正方法】変更
【補正の内容】
【0025】
映像データメモリ40は、映像エンコーダ20の構成要素によってエンコードされるべき映像データを記憶することができる。映像データメモリ40内の映像データは、例えば、映像ソース18から取得されてもよい。DPB64は、映像エンコーダ20によって(例えばイントラまたはインター予測符号化モードで)映像データをエンコードすることに用いられる参照映像データを記憶するバッファである。映像データメモリ40およびDPB64は、任意の様々なメモリデバイスによって形成されてもよい。様々な例において、映像データメモリ40は、映像エンコーダ20の他の構成要素とオンチップであり、またはそれらの構成要素に対してオフチップでもよい。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0026
【補正方法】変更
【補正の内容】
【0026】
図2に示されるように、映像データを受信した後、予測処理ユニット41内の分割ユニット45は、映像データを映像ブロックに分割する。この分割は、映像データに関連付けられた四分木構造などの事前定義された分割構造に従って、映像フレームをスライス、タイル、または他のより大きな符号化ユニット(CU)に分割することも含んでもよい。映像フレームは、複数の映像ブロック(またはタイルと呼ばれる映像ブロックのセット)に分割されてもよい。予測処理ユニット41は、エラー結果(例えば、符号化レートと歪みのレベル)に基づき当前の映像ブロックに対して複数の可能な予測符号化モードの1つを選択でき、可能な予測符号化モードは、例えば複数のイントラ予測符号化モードの1つであり、または複数のインター予測符号化モードの1つである。予測処理ユニット41は、結果として生じたイントラまたはインター予測符号化されたブロックをサマー50に提供して残差ブロックを生成し、そしてこれをサマー
62に提供して後で参照フレームの一部として使用するためにエンコードされるブロックを再構築することができる。予測処理ユニット41は、動きベクトル、イントラモードインジケータ、分割情報、および他のそのようなシンタックス情報などのシンタックス要素を、エントロピーエンコーディングユニット56にも提供する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0029
【補正方法】変更
【補正の内容】
【0029】
予測ブロックは、参照フレームの、絶対差の合計(SAD)、二乗差の合計(SSD)又は他の差の計量によって決定され得るピクセル差に関して符号化される映像ブロックのPUに厳密にマッチングすると認定されるブロックである。いくつかの実行では、映像エンコーダ20は、DPB64に記憶された参照フレームのサブ整数ピクセル位置の値を計算することができる。例えば、映像エンコーダ20は、参照フレームの4分の1ピクセル位置、8分の1ピクセル位置、または他の部分ピクセルの位置の値を補間することができる。したがって、動き推定ユニット42は、全ピクセル位置および部分ピクセル位置に対して動き検索を実行し、部分ピクセル精度で動きベクトルを出力することができる。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0030
【補正方法】変更
【補正の内容】
【0030】
動き推定ユニット42は、インター予測符号化フレーム内の映像ブロックのPUの位置を第1の参照フレームリスト(リスト0)または第2の参照フレームリスト(リスト1)から選択された参照フレームの予測ブロックの位置と比べることによって、PUの動きベクトルを計算し、第1の参照フレームリストまたは第2の参照フレームリストはそれぞれ、DPB64に記憶された1つまたは複数の参照フレームを識別する。動き推定ユニット42は、計算された動きベクトルを動き補償ユニット44に送り、次にエントロピーエンコーディングユニット56に送る。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0031
【補正方法】変更
【補正の内容】
【0031】
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴うことができる。当前の映像ブロックのPUの動きベクトルを受信すると、動き補償ユニット44は、参照フレームリストの1つにおいて動きベクトルが指す予測ブロックを位置付け、DPB64から予測ブロックを検索し、予測ブロックをサマー50に転送することができる。次に、サマー50は、符号化される当前の映像ブロックのピクセル値から動き補償ユニット44によって提供される予測ブロックのピクセル値を差し引くことにより、ピクセル差値の残差映像ブロックを形成する。残差映像ブロックを形成するピクセル差値は、輝度または彩度差成分、あるいはその両方を含んでもよい。動き補償ユニット44は、映像フレームの映像ブロックをデコードする際に映像デコーダ30によって使用されるために、映像フレームの映像ブロックに関連付けられたシンタックス要素を生成することもできる。シンタックス要素は、例えば、予測ブロックを識別することに使用される動きベクトルを定義するシンタックス要素、予測モードを指示する任意のフラグ、または本明細書で説明される任意の他のシンタックス情報を含んでもよい。動き推定ユニット42と動き補償ユニット44は高度に統合され得るが、概念的な目的のために別々に示されることに留意されたい。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0039
【補正方法】変更
【補正の内容】
【0039】
逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、他の映像ブロックの予測のための参照ブロックを生成するために、ピクセルドメインにおいて残差映像ブロックを再構築する。上記のように、動き補償ユニット44は、DPB64に記憶されたフレームの1つまたは複数の参照ブロックから動き補償予測ブロックを生成することができる。動き補償ユニット44は、1つまたは複数の補間フィルタを予測ブロックに適用して、動き推定で使用するサブ整数ピクセル値を計算することができる。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0040
【補正方法】変更
【補正の内容】
【0040】
サマー62は、再構築された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、DPB64に記憶するための参照ブロックを生成する。参照ブロックは、次に、予測ブロックとしてイントラBCユニット48、動き推定ユニット42、および動き補償ユニット44によって使用されて、後続の映像フレーム内の別の映像ブロックをインター予測することができる。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0041
【補正方法】変更
【補正の内容】
【0041】
図3は、本出願のいくつかの実行による例示的な映像デコーダ30を示すブロック図である。映像デコーダ30は、映像データメモリ
79、エントロピーデコーディングユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、サマー90、およびDPB92を含む。予測処理ユニット81は、動き補償ユニット82、イントラ予測処理ユニット84、イントラBCニット85をさらに含む。映像デコーダ30は、
図2に関連して映像エンコーダ20に関して前に記述されたエンコーディング処理に概ね逆行するデコーディング処理を実行することができる。例えば、動き補償ユニット82は、エントロピーデコーディングユニット80から受信した動きベクトルに基づいて予測データを生成でき、一方、イントラ予測ユニット84は、エントロピーデコーディングユニット80から受信したイントラ予測モードインジケータに基づいて予測データを生成できる。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0043
【補正方法】変更
【補正の内容】
【0043】
映像データメモリ
79は、映像デコーダ30の他の構成要素によってデコードされる、エンコードされた映像ビットストリームなどの映像データを記憶することができる。映像データメモリ
79に記憶される映像データは、例えば、記憶デバイス32から取得されてもよく、映像データの有線または無線ネットワーク通信を介してカメラなどのローカル映像ソースから取得されてもよく、または物理データ記憶媒体(例えばフラッシュドライブやハードディスク)にアクセスすることによって取得されてもよい。映像データメモリ
79は、エンコードされた映像ビットストリームからのエンコードされた映像データを記憶する符号化ピクチャバッファ(CPB)を含んでもよい。映像デコーダ30のデコードピクチャバッファ(DPB)92は、映像デコーダ30による映像データへのデコーディング(例えば、イントラまたはインター予測符号化モードで)において使用するための参照映像データを記憶する。映像データメモリ
79およびDPB92は、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)を含む)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの任意の様々なメモリデバイスによって形成されてもよい。説明のために、映像データメモリ
79およびDPB92は、
図3において、映像デコーダ30の2つの別個の構成要素として示される。しかし、当業者にとって、映像データメモリ
79およびDPB92が同じメモリデバイスまたは別個のメモリデバイスによって提供され得ることが明らかである。いくつかの例では、映像データメモリ
79は、映像デコーダ30の他の構成要素とオンチップであり、またはそれらの構成要素に対してオフチップであることができる。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0054
【補正方法】変更
【補正の内容】
【0054】
図4Aに示されるように、映像エンコーダ20(またはより具体的には分割ユニット45)は、最初にフレームを一組の符号化木ユニット(CTU)に分割することによってフレームのエンコードされた表現を生成する。映像フレームは、左から右、そして上から下にラスタースキャンの順序で連続して並べられた整数個のCTUを含むことができる。各CTUは最大の論理符号化ユニットであり、CTUの幅さおよび高さは、映像シーケンス内のすべてのCTUが128×128、
64×64、32×32、および16×16の1つである同じサイズを有するように、シーケンスパラメータセットで映像エンコーダ20によってシグナリングされる。しかしながら、本出願は必ずしも特定のサイズに限定されないことに留意されたい。
図4Bに示されるように、各CTUは、1つの輝度サンプルの符号化木ブロック(CTB)、2つの彩度サンプルの対応の符号化木ブロック、および符号化木ブロックのサンプルを符号化するために使用されるシンタックス要素を含んでもよい。シンタックス要素は、ピクセルの符号化ブロックの異なるタイプのユニットのプロパティ、および如何にして映像デコーダ30で映像シーケンスを再構築できるかを記述し、インターまたはイントラ予測、イントラ予測モード、動きベクトル、および他のパラメータを含む。単彩度ピクチャまたは3つの別個の色平面を有するピクチャでは、CTUは、単一の符号化木ブロックと、符号化木ブロックのサンプルを符号化するために使用されるシンタックス要素とを含んでもよい。符号化木ブロックは、サンプルのN×Nブロックでもよい。
【手続補正15】
【補正対象書類名】明細書
【補正対象項目名】0055
【補正方法】変更
【補正の内容】
【0055】
より良い性能を実現するために、映像エンコーダ20は、CTUの符号化木ブロックに対して二分木分割、三分木分割、四分木分割、または前記の任意の組み合わせなどの木分割を再帰的に実行し、CTUをより小さい符号化ユニット(CU)に分割することができる。
図4Cに示されるように、
64×64CTU400は最初に4つのより小さいCUに分割され、各より小さいCUは32×32のブロックサイズを有する。4つのより小さいCUの中で、CU410とCU420は、それぞれ4つの16×16ブロックサイズのCUに分割される。2つの16×16CU430および440は、それぞれ4つの8×8ブロックサイズのCUにさらに分割される。
図4Dは、
図4Cに示されるようなCTU400の分割処理の最終結果を示す四分木データ構造を示し、四分木の各葉ノードは、32×32から8×8の範囲の相応のサイズの1つのCUに対応する。
図4Bに示されるCTUに類似し、各CUは、輝度サンプルの符号化ブロック(CB)と、2つの同じサイズのフレームの彩度サンプルの対応の符号化ブロックと、符号化ブロックのサンプルを符号化するために使用されるシンタックス要素とを含んでもよい。単彩度ピクチャまたは3つの別個の色平面を有するピクチャでは、CUは、単一の符号化ブロックと、符号化ブロックのサンプルを符号化するために使用されるシンタックス構造とを含んでもよい。
図4Cおよび4Dに示される四分木分割は説明のみを目的としており、1つのCTUを複数のCUに分割して、四分木/三分木/二分木分割に基づいてさまざまなローカル特性に適応させることができることに留意されたい。マルチタイプ木構造では、1つのCTUが四分木構造によって分割され、各四分木葉CUは、二分木および三分木構造によってさらに分割されてもよい。
図4Eに示されるように、即ち四分割、水平二分割、垂直二分割、水平三分割、垂直三分割の5つの分割タイプがある。
【手続補正16】
【補正対象書類名】明細書
【補正対象項目名】0069
【補正方法】変更
【補正の内容】
【0069】
図5は、いくつかの実施例による、ビットストリームの映像フレームの符号化ブロック506の輝度サンプル504から彩度サンプル502を得る処理500を示す。映像フレームの符号化ブロック506は、複数のピクセルを含み、各ピクセルは、複数の色要素(例えば、青、緑、および赤)により構成される。映像エンコーディングおよびデコーディングにおいて、複数のピクセルの明るさおよび色の情報は、それぞれ複数の輝度サンプル504および複数の彩度サンプル502によって表現される。複数のピクセルの各ピクセルは、単一の相応の輝度サンプル504に一意に対応する。各彩度サンプル502は、サブサンプリングスキームに従って、相応の輝度サンプル504のセットに対応する。各輝度サンプルは、輝度成分Y’を有し、各彩度サンプル
502は、青差彩度成分Cbおよび赤差彩度成分Crを有する。輝度成分と彩度成分のサブサンプリングスキーム(Y’:Cb:Cr)は、例えば4:1:1、4:2:0、4:2:2、4:4:4および4:4:0の3つの部分の比率を有する。
図5において、映像フレームの輝度サンプル504および彩度サンプル502は、4:1:1に等しい3つの部分の比率を有するサブサンプリングスキームに準拠している。
【手続補正17】
【補正対象書類名】明細書
【補正対象項目名】0071
【補正方法】変更
【補正の内容】
【0071】
【手続補正18】
【補正対象書類名】明細書
【補正対象項目名】0073
【補正方法】変更
【補正の内容】
【0073】
いくつかの実施例では、映像フレームの輝度サンプル504および彩度サンプル502は、平均して4つずつの輝度サンプル504が青差彩度成分Cbおよび赤差彩度成分Crを有する1つの彩度サンプル
502に対応するサブサンプリングスキームに準拠する。換言すれば、輝度サンプル504の第1の輝度解像度は、彩度サンプル502の第2の彩度解像度の4倍である。平均して、4つずつの輝度サンプル504が、第2の彩度解像度に等しい第3の輝度解像度を有する輝度サンプル508のセット内の1つのダウンサンプリングされた輝度サンプル508に組合わせられる。いくつかの実施例では、各輝度サンプル508について、4つの隣接の輝度サンプル504より多くの隣接の輝度サンプル504が適用されて、相応の彩度サンプル502が得られる。輝度サンプル504のサブセットについて、各輝度サンプル504は複数回適用されて、1つ以上のダウンサンプリングされた輝度サンプル508および/または1つ以上の彩度サンプル502が生成される。事前定義された補間スキーム510に基づいて複数の輝度サンプル504を輝度サンプル508および/または彩度サンプル502にダウンサンプリングすることに関する詳細は、以下
図6A-6Dを参照して説明される。
【手続補正19】
【補正対象書類名】明細書
【補正対象項目名】0077
【補正方法】変更
【補正の内容】
【0077】
あるいは、いくつかの実施例では、映像コーデックは、彩度サンプルのグループ(例えば、上および左の隣接の彩度サンプルを含む彩度サンプル516のグループ)を検索して、最大および最小の彩度サンプル516A-3および516B-3(例えば、それぞれ最大および最小の彩度値を有する彩度サンプル)を識別する。次に、映像コーデックは、最大および最小の彩度サンプル516A-3および516B-3に対応する、(例えば、上および左の隣接の輝度サンプルを含むダウンサンプリングされた輝度サンプル514のグループにおける)ダウンサンプリングされた輝度サンプル514A-3および514B-3を識別する。このように、線形マッピングモデル512は、ダウンサンプリングされた輝度サンプル(514A-3および514B-3)および彩度サンプル(516A-3および516B-3)に基づいて得られる。
【手続補正20】
【補正対象書類名】明細書
【補正対象項目名】0078
【補正方法】変更
【補正の内容】
【0078】
あるいは、いくつかの実施例では、映像コーデックは、ダウンサンプリングされた輝度サンプルのグループ(例えば、ダウンサンプリングされた輝度サンプル514の選択されたグループ)を検索して、最大の輝度値を有する、事前定義された数(例えば、2つ)のダウンサンプリングされた輝度サンプル(例えば、514A-4および514A-5)。および最小の輝度値を有する、事前定義された数(例えば、2つ)のダウンサンプリングされた輝度サンプル(例えば、514B-4および514B-5)を識別する。次に、映像コーデックは、彩度サンプル516の選択されたグループ内の彩度サンプル(例えば、516A-4、516A-5、516B-4、および516B-5)を識別し、各彩度サンプルはそれぞれ最大のダウンサンプリングされた輝度サンプル514A-4と514A-5のグループおよび最小のダウンサンプリングされた輝度サンプル514B-4と514B-5のグループの中の相応の1つのグループに対応する。次に、映像コーデックは、各の識別された彩度および輝度サンプルのグループで値(例えば、彩度または輝度の値)の加重平均を実行して、(例えば、彩度サンプル516A-4および516A-5の)最大平均彩度値、(例えば、彩度サンプル516B-4および516B-5の)最小平均彩度値、(例えば、輝度サンプル514A-4および514A-5の)最大平均ダウンサンプリングされた輝度値、および(例えば、輝度サンプル514B-4および514B-5の)最小値平均ダウンサンプリングされた輝度値を生成する。このように、線形マッピングモデル512は、ダウンサンプリングされた輝度サンプル(514A-4、514A-5、514B-4および514B-5)および彩度サンプル(516A-4、516A-5、516B-4および516B-5)に基づいて得られることができる。
【手続補正21】
【補正対象書類名】明細書
【補正対象項目名】0090
【補正方法】変更
【補正の内容】
【0090】
図6Cを参照して、符号化ブロック506Cにおいて、輝度成分504および彩度成分502のサブサンプリングスキーム(Y’:Cb:Cr)は、3つの部分の比率4:2:2を有する。各彩度サンプル502は、2×3のフィルタ形状を有する成分間フィルタモデル520に従って6つの隣接の輝度サンプル504から組み合わされる。6つの隣接の輝度サンプル504のうちの1つは、彩度サンプル502と重なり、残りの5つの隣接の輝度サンプルは、相応の彩度サンプル502の左、右、左下隅、直接の下、および
右下隅に位置付けられる。各彩度サンプル502のこれらの6つの隣接の輝度サンプル504は、事前定義された輝度補間スキーム510に従って、相応の彩度サンプル502と重なるダウンサンプリングされた輝度サンプル508に転換され、次に線形マッピングモデル512に従って相応の彩度サンプル502に転換される。一例では、第6の彩度サンプル502Fおよびそれに対応する6つの隣接の輝度サンプル504F-1から504F-6は、完全にブロック境界602内に囲まれ、第6の彩度サンプル502Fは、成分間フィルタモデル520または輝度補間スキーム510と線形マッピングモデル512との組み合わせに基づいて隣接の輝度サンプル504F-1から504F-
6から得られることができる。
【手続補正22】
【補正対象書類名】明細書
【補正対象項目名】0104
【補正方法】変更
【補正の内容】
【0104】
いくつかの実施例では、映像フレーム内の第2の複数のピクセルのための第2の複数の輝度サンプル518および第2の複数の彩度サンプル516を有するビットストリームが取得される。代替の複数の輝度サンプル514は事前定義された輝度補間スキーム510に従って決定され、複数の彩度サンプル516と同じ解像度を有する。線形マッピングモデル512のための第1のパラメータαおよび第2のパラメータβは、代替の複数の輝度サンプル514および第2の複数の彩度サンプル516を用いて決定される。さらに、いくつかの実施例では、境界彩度サンプルYは、以下のように式(1)に記載される線形マッピングモデル512に従って境界輝度サンプルXから決定される。
図5を参照して、いくつかの実施例では、2つの最大の輝度サンプル514A-4および514A-5は、代替の複数の輝度サンプル514の中で決定され、2つの最小の輝度サンプル514B-4および514B-5は、代替の複数の輝度サンプル514の中で決定される。2つの最大の輝度サンプル514A-4と514A-5は平均化されて第1の輝度値になり、2つの最小の輝度サンプル514B-4と514B-5は平均化されて第2の輝度値になる。2つの第1の彩度サンプル516A-4および516A-5は、2つの最大の輝度サンプル514A-4および514A-5に関連付けられる第2の複数の彩度サンプル514の中で決定される。2つの第2の彩度サンプル516B-4および516B-5は、2つの最小の輝度サンプル514B-4および514B-5に関連付けられる第2の複数の彩度サンプルの中で決定される。2つの第1の彩度
サンプル516A-4および516A-5
の値は、第1の輝度値に対応する第1の彩度値に平均化され、2つの第2の彩度
サンプル516B-4および516B-5
の値は、第2の輝度値に対応する第2の彩度値に平均化される。線形マッピングモデル512は、第1および第2の輝度値ならびに第1および第2の彩度値に基づいて、彩度サンプル502と輝度サンプル508との間で得られる。
【手続補正23】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【外国語明細書】