(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】2019528017
(43)【公表日】20191003
(54)【発明の名称】インループサンプル処理のためのビデオコーディングツール
(51)【国際特許分類】
   H04N 19/126 20140101AFI20190906BHJP
   H04N 19/136 20140101ALI20190906BHJP
   H04N 19/176 20140101ALI20190906BHJP
   H04N 19/597 20140101ALI20190906BHJP
   H04N 19/463 20140101ALI20190906BHJP
【FI】
   !H04N19/126
   !H04N19/136
   !H04N19/176
   !H04N19/597
   !H04N19/463
【審査請求】未請求
【予備審査請求】有
【全頁数】57
(21)【出願番号】2019507319
(86)(22)【出願日】20170811
(85)【翻訳文提出日】20190408
(86)【国際出願番号】US2017046527
(87)【国際公開番号】WO2018031899
(87)【国際公開日】20180215
(31)【優先権主張番号】62/373,884
(32)【優先日】20160811
(33)【優先権主張国】US
(31)【優先権主張番号】15/674,035
(32)【優先日】20170810
(33)【優先権主張国】US
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【住所又は居所】アメリカ合衆国、カリフォルニア州 92121−1714、サン・ディエゴ、モアハウス・ドライブ 5775
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(74)【代理人】
【識別番号】100184332
【弁理士】
【氏名又は名称】中丸 慶洋
(72)【発明者】
【氏名】ルサノフスキー、ドミトロ
【住所又は居所】アメリカ合衆国、カリフォルニア州 92121−1714、サン・ディエゴ、モアハウス・ドライブ 5775
(72)【発明者】
【氏名】ブーダイジュ・シャンスル、ドネ
【住所又は居所】フィンランド国、33720 タンペレ、カニオニンレウナ 10・エフ・23
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MA28
5C159MA31
5C159MA47
5C159MC11
5C159ME01
5C159PP03
5C159PP04
5C159PP13
5C159TA46
5C159TB08
5C159TB13
5C159TC41
5C159TC42
5C159TD03
5C159UA02
5C159UA05
(57)【要約】
デバイスは、現在ブロックを含むビデオデータを記憶するように構成されたメモリ、およびメモリと通信する処理回路を含む。処理回路は、メモリデバイスに記憶されたビデオデータの1つまたは複数の隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づくパラメータ値を取得するように構成され、1つまたは複数の隣のブロックは、現在ブロックの時空間的近隣内に位置し、時空間的近隣は、現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含む。処理回路はまた、メモリデバイスに記憶されたビデオデータの現在ブロックをコーディングするように構成される。
【選択図】図8
【特許請求の範囲】
【請求項1】
ビデオデータの現在ブロックをコーディングする方法であって、
前記現在ブロックの時空間的近隣内に位置する前記ビデオデータの1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づくパラメータ値を取得することと、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることと、
を備える方法。
【請求項2】
前記取得されたパラメータ値は量子化パラメータ(QP)値を備え、前記取得されたパラメータ値に基づく前記現在ブロックをコーディングすることは、少なくとも部分的に前記QP値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号することを備える、請求項1に記載の方法。
【請求項3】
前記QP値を取得することは、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ(QP)値を受信することと、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記QP値を導出するために、前記参照QP値に前記デルタQP値を加えることと、
を備える、請求項2に記載の方法。
【請求項4】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号することを備える、請求項1に記載の方法。
【請求項5】
前記現在ブロックの前記変換係数を逆スケーリングすることは、
複数の逆スケーリングされたDC変換係数を取得するために、前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第1の逆スケーリング導出プロセスを適用することと、
複数の逆スケーリングされたAC変換係数を取得するために、前記現在ブロックの前記変換係数のうちの前記複数の逆スケーリングされたDC変換係数に第2の逆スケーリング導出プロセスを適用することと、
を備える、請求項4に記載の方法。
【請求項6】
前記パラメータ値を取得することは量子化パラメータ(QP)値を取得することを備え、前記方法は、
前記空間的に近隣のブロックまたは前記時間的に近隣のブロックのうちの2つ以上のサンプルに関連付けられた近隣QP値を選択することと、
平均QP値を取得するために、前記選択された近隣QP値を平均化することと、
前記平均QP値から前記現在ブロックについての前記QP値を導出することと、
を備え、
前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記QP値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化することを備える、請求項1に記載の方法。
【請求項7】
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ(QP)値を導出するために、前記QP値から前記参照QP値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタQP値をシグナリングすることと、
をさらに備える、請求項6に記載の方法。
【請求項8】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化することを備える、請求項1に記載の方法。
【請求項9】
前記現在ブロックの前記変換係数をスケーリングすることは、
前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第1のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第2のスケーリング導出プロセスを適用することと、
を備える、請求項8に記載の方法。
【請求項10】
前記取得されたパラメータ値は、前記現在ブロックを含むスライスの全てのブロックに適用可能であるグローバルパラメータ値を備える、請求項1に記載の方法。
【請求項11】
ビデオデータをコーディングするためのデバイスであって、
現在ブロックを含むビデオデータを記憶するように構成されたメモリと、
前記メモリと通信する処理回路と、
を備え、前記処理回路は、
前記メモリに記憶された前記ビデオデータの1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、前記1つまたは複数の近隣のブロックは、前記現在ブロックの時空間的近隣内に位置し、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記メモリに記憶された前記ビデオデータの前記現在ブロックをコーディングすることと、
を行うように構成されるデバイス。
【請求項12】
前記取得されたパラメータ値は量子化パラメータ(QP)値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記QP値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号するように構成される、請求項11に記載のデバイス。
【請求項13】
前記QP値を取得するために、前記処理回路は、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ(QP)値を受信することと、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記QP値を導出するために、前記参照QP値に前記デルタQP値を加えることと、
を行うように構成される、請求項12に記載のデバイス。
【請求項14】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号するように構成される、請求項11に記載のデバイス。
【請求項15】
前記現在ブロックの前記変換係数を逆スケーリングするために、前記処理回路は、
複数の逆スケーリングされたDC変換係数を取得するために、前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第1の逆スケーリング導出プロセスを適用することと、
複数の逆スケーリングされたAC変換係数を取得するために、前記現在ブロックの前記変換係数のうちの前記複数の逆スケーリングされたDC変換係数に第2の逆スケーリング導出プロセスを適用することと、
を行うように構成される、請求項14に記載のデバイス。
【請求項16】
前記パラメータ値は量子化パラメータ(QP)値を備え、
前記QP値を取得するために、前記処理回路は、
前記空間的に近隣のブロックまたは前記時間的に近隣のブロックのうちの2つ以上のサンプルに関連付けられた近隣QP値を選択することと、
平均QP値を取得するために、前記選択された近隣QP値を平均化することと、
前記平均QP値から前記現在ブロックについての前記QP値を導出することと、
を行うように構成され、
前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記QP値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化するように構成される、請求項11に記載のデバイス。
【請求項17】
前記処理回路は、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ(QP)値を導出するために、前記QP値から前記参照QP値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタQP値をシグナリングすることと、
を行うようにさらに構成される、請求項16に記載のデバイス。
【請求項18】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化するように構成される、請求項11に記載のデバイス。
【請求項19】
前記現在ブロックの前記変換係数をスケーリングするために、前記処理回路は、
前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第1のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第2のスケーリング導出プロセスを適用することと、
を行うように構成される、請求項18に記載のデバイス。
【請求項20】
前記取得されたパラメータ値は、前記現在ブロックを含むスライスの全てのブロックに適用可能であるグローバルパラメータ値を備える、請求項11に記載のデバイス。
【請求項21】
ビデオデータをコーディングするための装置であって、
前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得するための手段と、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングするための手段と、
を備える装置。
【請求項22】
命令で符号化された非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオコーディングデバイスの処理回路に、
前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることと、
を行わせる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本願は、その内容全体が参照により本明細書に組み込まれる、2016年8月11日付で出願された米国仮出願第62/373,884号の利益を主張する。
【0002】
[0002] 本開示は、ビデオ符号化(video encoding)およびビデオ復号(video decoding)に関する。
【背景技術】
【0003】
[0003] デジタルビデオ能力(Digital video capabilities)は、デジタルテレビ、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲームデバイス、ビデオゲームコンソール、いわゆる「スマートフォン」であるセルラ式または衛星無線電話、ビデオ電話会議デバイス、ビデオストリーミングデバイス等を含む、幅広い範囲のデバイス中に組み込まれ得る。デジタルビデオデバイスは、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、MPEG−2、MPEG−4、MPEG−4 Visual、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、アドバンスドビデオコーディング(AVC:Advanced Video Coding)、ISO/IEC MPEG−4 AVC ITU−T H.265、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)、およびスケーラブルビデオコーディング(SVC:Scalable Video Coding)および/またはマルチビュービデオコーディング(MVC:Multi-View Video Coding)拡張のようなこれらの規格の任意のものの拡張版によって定義される規格で説明されているもののようなビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
【0004】
[0004] ビデオコーディング技法は、ビデオシーケンスに内在する冗長性を低減または取り除くために、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)は、ツリーブロック、符号化ユニット(CU:coding unit)、および/またはコーディングノードとも称され得る、ビデオブロックに分割され得る。ピクチャのイントラコーディングされた(I)スライスにおけるビデオブロックは、同じピクチャ内の近隣ブロックにおける参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス内におけるビデオブロックは、同じピクチャ内の近隣ブロックにおける参照サンプルに対する空間予測、または他の参照ピクチャ内の参照サンプルに対する時間予測を使用し得る。ピクチャはフレーム(frame)と称され得、参照ピクチャは参照フレームと称され得る。
【0005】
[0005] 空間または時間予測は結果として、コーディングされるべきブロックについての予測ブロック(predictive block)をもたらす。残差データ(residual data)は、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分(pixel difference)を表現する。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データにしたがって符号化される。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データにしたがって符号化される。さらなる圧縮のために、残差データはピクセルドメインから変換ドメインに変換され得、その結果、残差変換係数が生じ、該残差変換係数はその後、量子化され得る。最初は2次元のアレイで配列された量子化された変換係数は、変換係数(transform coefficient)の1次元ベクトルを作り出すために走査され得、エントロピーコーディングが、さらにいっそうの圧縮を達成するために適用され得る。
【発明の概要】
【0006】
[0006] 一般に本開示は、ビデオデータ(video data)のコーディング(coding)(たとえば、復号(decoding)または符号化(encoding))に関する技法を説明する。いくつかの例では、本開示の技法は、高ダイナミックレンジ(HDR:High Dynamic Range)および広色域(WCG:Wide Color Gamut)表現でのビデオ信号のコーディングを対象としている。説明される技法は、HEVCの拡張版またはビデオコーディング規格の次世代版といったアドバンスドビデオコーデック(advanced video codec)の文脈で使用され得る。
【0007】
[0007] 一例では、ビデオデータをコーディングするためのデバイス(device)は、メモリ(memory)と、前記メモリと通信する処理回路(processing circuitry)を含む。前記メモリは、現在ブロック(current block)を含むビデオデータを記憶するように構成される。前記処理回路は、前記メモリに記憶された前記ビデオデータの1つまたは複数の隣のブロック(neighbor block)に関連付けられた1つまたは複数の対応するパラメータ値(parameter value)に基づくパラメータ値を取得するように構成される。前記1つまたは複数の隣のブロックは、前記現在ブロックの時空間的近隣(a spatio-temporal neighborhood)内に位置する。前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック(spatial neighbor block)、および前記現在ブロックに関連付けられた視差ベクトル(DV:disparity vector)によって指される時間的に近隣のブロック(temporal neighbor block)を含む。前記取得されたパラメータ値は、コーディングプロセス(coding process)において前記現在ブロックに関連付けられた残差データを修正するために使用される。前記処理回路はさらに、前記メモリに記憶された前記ビデオデータの前記現在ブロックをコーディングするように構成される。
【0008】
[0008] 別の例では、ビデオデータの現在ブロックをコーディングする方法は、前記現在ブロックの時空間的近隣内に位置する前記ビデオデータの1つまたは複数の隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいてパラメータ値を取得することを含む。前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV:disparity vector)によって指される時間的に近隣のブロックを含む。前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される。前記方法はさらに、前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることを含む。
【0009】
[0009] 別の例では、ビデオをコーディングするための装置(apparatus)は、前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの1つまたは複数の隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づくパラメータ値を取得するための手段を含み、ここで、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される。前記装置はさらに、前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングするための手段を含む。
【0010】
[0010] 別の例では、非一時的コンピュータ可読記憶媒体(non-transitory computer-readable storage medium)は命令(instruction)で符号化され、前記命令は、実行されると、ビデオコーディングデバイスの処理回路に、前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの1つまたは複数の隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づくパラメータ値を取得させ、ここで、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、および前記取得されたパラメータ値に基づいて前記ビデオデータの前記現在ブロックをコーディングさせる。
【0011】
[0011] 1つまたは複数の例の詳細は、添付の図面および以下の説明において述べられる。他の特徴、目的、および利点が、説明および図面から、ならびに請求項から明らかになるだろう。
【図面の簡単な説明】
【0012】
【図1】[0012] 本開示の技法を実装するように構成された例となるビデオ符号化および復号システムを例示するブロック図である。
【図2】[0013] 高ダイナミックレンジデータの概要を例示する概念図である。
【図3】[0014] 例となる色域(color gamut)を例示する概念図である。
【図4】[0015] 高ダイナミックレンジ(HDR)/広色域(WCG)表現転換(representation conversion)の例を例示するフロー図である。
【図5】[0016] 例となるHDR/WCG逆転換(inverse conversion)を示すフロー図である。
【図6】[0017] 例となる伝達関数(transfer functions)を例示する概念図である。
【図7】[0018] 非定ルミナンス(non-constant luminance)についての例を例示するブロック図である。
【図8】[0019] 現在コーディングされているブロックの時空間的近隣からの量子化パラメータ(quantization parameters)またはスケーリングパラメータ(scaling parameters)の導出(derivation)のための本開示の技法を例示するブロック図である。
【図9】[0020] ビデオエンコーダ(video encoder)の例を例示するブロック図である。
【図10】[0021] ビデオデコーダ(video decoder)の例を例示するブロック図である。
【図11】[0022] ビデオデコーダが本開示の技法を実装し得る例となるプロセスを例示するフローチャートである。
【図12】[0023] ビデオデコーダが本開示の技法を実装し得る例となるプロセスを例示するフローチャートである。
【図13】[0024] ビデオエンコーダが本開示の技法を実装し得る例となるプロセスを例示するフローチャートである。
【図14】[0025] ビデオエンコーダが本開示の技法を実装し得る例となるプロセスを例示するフローチャートである。
【詳細な説明】
【0013】
[0026] 本開示は、高ダイナミックレンジ(HDR)および広色域(WCG)表現でのビデオ信号のコーディングに関する。より具体的には、本開示の技法は、HDRおよびWCGビデオデータのより効率的な圧縮を可能にするために、ある特定の色空間(color space)にあるビデオデータに適用されるシグナリング(signaling)およびオペレーション(operation)を含む。提案される技法は、HDRおよびWCGビデオデータをコーディングするために使用されるハイブリッドベースのビデオコーディングシステム(たとえば、HEVCベースのビデオコーダ)の圧縮効率(compression efficiency)を向上させ得る。本開示の1つまたは複数の例の詳細は、添付の図面および以下の説明において述べられる。他の特徴、目的、および利点が、説明、図面、および請求項から明らかになるであろう。
【0014】
[0027] 図1は、本開示の技法を利用し得る例となるビデオ符号化および復号システム10を例示するブロック図である。図1で図示されているように、システム10は、宛先デバイス14によって後の時間に復号されるべき符号化されたビデオデータを提供するソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(即ちラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイス、または同様のものを含む、幅広いデバイスの何れも備え得る。いくつかのケースでは、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
【0015】
[0028] 図1の例では、ソースデバイス12は、ビデオソース18と、ビデオプリプロセッサユニット19およびビデオエンコーダ20を含むビデオ符号化ユニット21と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30およびビデオポストプロセッサユニット31を含むビデオ復号ユニット29と、ディスプレイデバイス32とを含む。本開示のいくつかの例にしたがうと、ビデオプリプロセッサユニット19およびビデオポストプロセッサユニット31は、本開示で説明されている特定の技法の全てまたは一部を実行するように構成され得る。たとえば、ビデオプリプロセッサユニット19およびビデオポストプロセッサユニット31は、静的伝達関数(static transfer function)を適用するように構成される静的伝達関数ユニットを含み得るが、信号特性を適合させ得る事前処理および後処理ユニットを伴う。
【0016】
[0029] 他の例では、ソースデバイスおよび宛先デバイスは、他のコンポーネントまたは配列を含み得る。たとえば、ソースデバイス12は、外部のカメラのような外部のビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイスを含むよりむしろ、外部のディスプレイデバイスとインターフェース接続し得る。
【0017】
[0030] 図1の例示されているシステム10は一例に過ぎない。ビデオデータを処理するための技法は、何れのデジタルビデオ符号化および/または復号デバイスによっても実行され得る。一般に、本開示の技法は、ビデオ符号化デバイスによって実行されるけれども、本技法はまた、通常「CODEC」と称されるビデオエンコーダ/デコーダによっても実行され得る。説明の簡潔さのために、本開示は、ソースデバイス12および宛先デバイス14のそれぞれのデバイスにおける本開示で説明されている例となる技法を実行するビデオプリプロセッサユニット19およびビデオポストプロセッサユニット31に関連して説明される。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14への送信のためにコーディングされたビデオデータを生成するようなコーディングデバイスの例に過ぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化および復号コンポーネントを含むような実質的に対称的な形でオペレートし得る。したがってシステム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のために、ビデオデバイス12とビデオデバイス14との間の一方向または二方向ビデオ送信をサポートし得る。
【0018】
[0031] ソースデバイス12のビデオソース18は、ビデオカメラのようなビデオキャプチャデバイス、以前にキャプチャされたビデオを収容するビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックベースのデータ、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ処理されたビデオの組合せを生成し得る。いくつかのケースでは、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ電話またはビデオ電話を形成し得る。ソースデバイス12は、ビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体を備え得る。しかしながら上で言及されたように、本開示で説明されている技法は、ビデオコーディングに一般に適用可能であり得、ワイヤレスおよび/または有線アプリケーションに適用され得る。各ケースにおいて、キャプチャされた、事前キャプチャされた、またはコンピュータ処理されたビデオは、ビデオ符号化ユニット21によって符号化され得る。符号化されたビデオ情報はその後、コンピュータ可読媒体16上に出力インターフェース22によって出力され得る。
【0019】
[0032] 宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動させることが可能な何れのタイプの媒体またはデバイスも備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12がリアルタイムに符号化されたビデオデータを直接宛先デバイス14に送信することを可能にする通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理的な伝送線といった何れのワイヤレスまたは有線通信媒体も備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークといったパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするのに役立ち得る何れの他の機器も含み得る。宛先デバイス14は、符号化されたビデオデータおよび復号されたビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体を備え得る。
【0020】
[0033] いくつかの例では、符号化されたデータは、出力インターフェース22から記憶デバイスに出力され得る。同様に、符号化されたデータは、記憶デバイスから入力インターフェースによってアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または非揮発性メモリ、あるいは符号化されたビデオデータを記憶するためのあらゆる他の適したデジタル記憶媒体といった様々な分散型または局所的にアクセスされるデータ記憶媒体の何れも含み得る。さらなる例では、記憶デバイスは、ファイルサーバ、またはソースデバイス12によって生成された符号化されたビデオを記憶し得る別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶すること、およびその符号化されたビデオデータを宛先デバイス14に送信することが可能な何れのタイプのサーバでもあり得る。例となるファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS:network attached storage)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含むあらゆる規格データ接続を通じて、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル(たとえば、Wi−Fi接続)、有線接続(たとえば、DSL、ケーブルモデム等)、またはその両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【0021】
[0034] 本開示の技法は、ワイヤレスアプリケーションまたは設定に必ずしも限定されるわけではない。本技法は、無線テレビブロードキャスト、ケーブルテレビ送信、衛星テレビ送信、HTTPを介した動的適応型ストリーミング(DASH:dynamic adaptive streaming over HTTP)のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されるデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションといった様々なマルチメディアアプリケーションのどれでもサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話のようなアプリケーションをサポートするために、一方向または二方向ビデオ送信をサポートするように構成され得る。
【0022】
[0035] コンピュータ可読媒体16は、ワイヤレスブロードキャストまたは有線ネットワーク送信といった一時的な媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体といった記憶媒体(つまり、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化されたビデオデータを受信し、たとえばネットワーク送信を介して、宛先デバイス14に符号化されたビデオデータを提供し得る。同様に、ディスクスタンピング設備のような媒体製造設備(medium production facility)のコンピューティングデバイスは、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを収容するディスクを作り出し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形式の1つまたは複数のコンピュータ可読媒体を含むように理解され得る。
【0023】
[0036] 宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ブロックおよび他のコーディングされた単位、たとえばピクチャグループ(GOP: groups of pictures)の特性および/または処理を説明するシンタックス要素(syntax element)を含む、ビデオ符号化ユニット21のビデオエンコーダ20によって定義されるシンタックス情報を含み得、これは、ビデオ復号ユニット29のビデオデコーダ30によっても使用される。ディスプレイデバイス32は、ユーザに復号されたビデオデータを表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスといった様々なディスプレイデバイスの何れも備え得る。
【0024】
[0037] 例示されているように、ビデオプリプロセッサユニット19は、ビデオソース18からビデオデータを受信する。ビデオプリプロセッサユニット19は、ビデオエンコーダ20で符号化するのに適している形態にビデオデータを転換するために、該ビデオデータを処理するように構成され得る。たとえば、ビデオプリプロセッサユニット19は、(たとえば非線形伝達関数を使用する)ダイナミックレンジコンパクト化(dynamic range compacting)、よりコンパクトまたはロバストな色空間(compact or robust color space)への色転換(color conversion)、および/あるいは浮動小数点から整数への表現転換(floating-to-integer representation conversion)を実行し得る。ビデオエンコーダ20は、ビデオプリプロセッサユニット19によって出力されたビデオデータに対してビデオ符号化を実行し得る。ビデオデコーダ30は、ビデオデータを復号するためにビデオエンコーダ20の逆を実行し得、ビデオポストプロセッサユニット31は、表示に適した形態にビデオデータを転換するために、ビデオプリプロセッサユニット19によって実行されたオペレーションの逆を実行し得る。たとえば、ビデオポストプロセッサユニット31は、整数から浮動小数点転換(integer-to-floating conversion)、コンパクトまたはロバストな色空間からの色転換、および/または表示に適したビデオデータを生成するためのダイナミックレンジコンパクト化の逆を実行し得る。
【0025】
[0038] ビデオ符号化ユニット21およびビデオ復号ユニット29は各々、1つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらのあらゆる組合せといった、固定関数処理回路および/またはプログラマブル処理回路を含む様々な適切な処理回路の何れとしても実装され得る。本技法がソフトウェアにおいて部分的に実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオ符号化ユニット21およびビデオ復号ユニット29の各々は、1つまたは複数のエンコーダまたはデコーダに含まれ得、そのどちらも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(CODEC)の一部として統合され得る。
【0026】
[0039] ビデオプリプロセッサユニット19およびビデオエンコーダ20が、ビデオ符号化ユニット21内で別個のユニットであるとして例示され、ビデオポストプロセッサユニット31およびビデオデコーダ30が、ビデオ復号ユニット29内で別個のユニットであるとして例示されているけれども、本開示で説明されている技法は、そのように限定されない。ビデオプリプロセッサユニット19およびビデオエンコーダ20は、共通のデバイス(たとえば、集積回路か、または同じチップ内にハウジングされている)として形成され得る。同様に、ビデオポストプロセッサユニット31およびビデオデコーダ30は、共通のデバイス(たとえば、集積回路か、または同じチップ内にハウジングされている)として形成され得る。
【0027】
[0040] いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU−Tビデオコーディング専門家グループ(VCEG:Video Coding Experts Group)およびISO/IEC動画専門家グループ(MPEG:Motion Picture Experts Group)のビデオコーディングに関する共同チーム(JCT−VC)よって開発された高効率ビデオコーディング(HEVC)規格にしたがってオペレートし得る。「HEVC draft specification」と称されるHEVC規格のドラフトは、Bross et al., “High Efficiency Video Coding (HEVC) Defect Report 3,” Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 16th Meeting, San Jose, US, Jan. 2014, document no. JCTVC-P1003_v1において説明されている。HEVCドラフト仕様はhttp://phenix.it-sudparis.eu/jct/doc_end_user/documents/16_San%20Jose/wg11/JCTVC-P1003-v1.zipから利用可能である。HEVC使用はまた、http://www.itu.int/rec/T-REC-H.265-201504-I/enでアクセスすることができる。
【0028】
[0041] さらに、HEVCについてスケーラブルビデオコーディングの拡張版を生み出す試みが進行中である。HEVCのスケーラブルビデオコーディングの拡張版は、SHEVCまたはSHVCと称され得る。加えて、VCEGおよびMPEGの3Dビデオコーディングに関する共同チーム(JCT−3C)は、HEVCに基づいて3DV規格を開発している。HEVCに基づく3DV規格についての標準化の試みの一部は、HEVCに基づくマルチビュービデオコデック(即ちMV−HEVC)の標準化を含む。
【0029】
[0042] HEVCおよび他のビデオコーディング仕様では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは「フレーム(frame)」とも称され得る。ピクチャは、S、SCb、およびSCrで表される3つのサンプルアレイを含み得る。Sは、ルーマサンプル(luma sample)の二次元アレイ(即ちブロック)である。SCbは、Cb色差サンプル(chrominance sample)の二次元アレイである。SCrは、Cr色差サンプルの二次元アレイである。色差サンプルは、本明細書では「クロマ(chroma)」サンプルとも称され得る。他の事例では、ピクチャはモノクロであり得、ルーマサンプルのアレイのみを含み得る。
【0030】
[0043] ピクチャの符号化表現を生成するために、ビデオエンコーダ20は、コーディングツリーユニット(CTU:coding tree unit)のセットを生成し得る。CTUの各々は、ルーマサンプルの1つのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、および該コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造(syntax structure)を備え得る。モノクロのピクチャまたは3つの別個の色平面(color plane)を有するピクチャでは、CTUは、単一のコーディングツリーブロック、および該コーディングツリーブロックのサンプル(sample)をコーディングするために使用されるシンタックス構造を備え得る。コーディングツリーブロックは、NxNサンプルブロック(NxN block of samples)であり得る。CTUは、「ツリーブロック」または「最大符号化ユニット」(LCU:largest coding unit)とも称され得る。HEVCのCTUは、H.264/AVCのような他の規格のマクロブロック(macroblock)におおむね(broadly)類似し得る。しかしながらCTUは、必ずしも特定のサイズには限定されず、1つまたは複数の符号化ユニット(CU)を含み得る。1つのスライスは、ラスター走査順に連続して並べられた整数の数のCTUを含み得る。
【0031】
[0044] 本開示は、1つまたは複数のサンプルブロック(sample blocks)および該1つまたは複数のサンプルブロックのサンプルをコーディングするために使用されるシンタックス構造を指すために「ビデオユニット(video unit)」または「ビデオブロック(video block)」または「ブロック」という用語を使用し得る。例となるビデオユニットのタイプは、CTU、CU、PU、変換ユニット(TU:transform unit)、マクロブロック、マクロブロック区分等を含み得る。いくつかの文脈では、PUについての議論は、マクロブロックまたはマクロブロック区分についての議論と置き換えられ得る。
【0032】
[0045] コーディングされたCTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロックに対して四分木分割(quad-tree partitioning)を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分け得、よって、「コーディングツリーユニット」と称される。コーディングブロックは、N×Nサンプルブロックである。CUは、ルーマサンプルアレイ、CbサンプルアレイおよびCrサンプルアレイを有するピクチャの、ルーマサンプルの1つのコーディングブロックおよびクロマサンプルの2つの対応するコーディングブロック、ならびに該コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造(syntax structure)を備え得る。モノクロのピクチャまたは3つの別個の色平面を有するピクチャでは、CUは、単一のコーディングブロックおよび、該コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。
【0033】
[0046] ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予想ブロック(prediction blocks)に分割し得る。予想ブロックは、同じ予測が適用される矩形(即ち、正方形または非正方形)のサンプルブロックであり得る。CUの予測ユニット(PU:prediction unit)は、ルーマサンプルの予想ブロック、クロマサンプルの2つの対応する予想ブロック、および該予想ブロックを予測するために使用されるシンタックス構造を備え得る。モノクロのピクチャまたは3つの別個の色平面を有するピクチャでは、PUは、単一の予想ブロック、および該予想ブロックを予測するために使用されるシンタックス構造を備え得る。ビデオエンコーダ20は、CUの各PUの予想ブロック(たとえば、ルーマ(luma)、Cb、およびCr予想ブロック)についての予測ブロック(たとえば、ルーマ、Cb、およびCr予測ブロック)を生成し得る。
【0034】
[0047] ビデオエンコーダ20は、PUについての予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ20が、PUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUを含むピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。
【0035】
[0048] ビデオエンコーダ20が、CUの1つまたは複数のPUについての予測ブロック(たとえば、ルーマ、Cb、およびCr予測ブロック)を生成した後、ビデオエンコーダ20は、該CUについての1つまたは複数の残差ブロックを生成し得る。たとえばビデオエンコーダ20は、CUについてルーマ残差ブロックを生成し得る。CUのルーマ残差ブロックにおける各サンプルは、CUの予測ルーマブロックのうちの1つにおけるルーマサンプルと、CUの元のルーマコーディングブロックにおける対応するサンプルとの間の差分を示す。加えてビデオエンコーダ20は、CUについてのCb残差ブロックを生成し得る。CUのCb残差ブロックにおける各サンプルは、CUの予測Cbブロックのうちの1つにおけるCbサンプルと、CUの元のCbコーディングブロックにおける対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUについてのCr残差ブロックを生成し得る。CUのCr残差ブロックにおける各サンプルは、CUの予測Crブロックのうちの1つにおけるCrサンプルと、CUの元のCrコーディングブロックにおける対応するサンプルとの間の差分を示し得る。
【0036】
[0049] さらにビデオエンコーダ20は、CUの残差ブロック(たとえば、ルーマ、Cb、およびCr残差ブロック)を1つまたは複数の変換ブロック(たとえば、ルーマ、Cb、およびCr変換ブロック)に分解するために四分木分割を使用し得る。変換ブロックは、同じ変換が適用される矩形(たとえば、正方形または非正方形)のサンプルブロックである。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロック、クロマサンプルの2つの対応する変換ブロック、および該変換ブロックサンプルを変換するために使用されるシンタックス構造を備え得る。したがってCUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックを有し得る。TUのルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロのピクチャまたは3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロック、および該変換ブロックのサンプルを変換するために使用されるシンタックス構造を備え得る。
【0037】
[0050] ビデオエンコーダ20は、TUについての係数ブロックを生成するために、TUの変換ブロックに1つまたは複数の変換を適用し得る。たとえば、ビデオエンコーダ20は、TUについてのルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1つまたは複数の変換を適用し得る。係数ブロックは、変換係数の二次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ20は、TUについてのCb係数ブロックを生成するために、TUのCb変換ブロックに1つまたは複数の変換を適用し得る。ビデオエンコーダ20は、TUについてのCr係数ブロックを生成するために、TUのCr変換ブロックに1つまたは複数の変換を適用し得る。
【0038】
[0051] 係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ20は、該係数ブロックを量子化し得る。量子化は一般に、変換係数を表現するために使用されるデータの量を出来る限り減少させるために変換係数が量子化されるプロセスを指し、これは、さらなる圧縮を提供する。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC:Context-Adaptive Binary Arithmetic Coding)を実行し得る。
【0039】
[0052] ビデオエンコーダ20は、コーディングされたピクチャおよび関連するデータの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。したがってビットストリームは、ビデオデータの符号化表現を備える。ビットストリームは、ネットワーク抽象化レイヤ(NAL:network abstraction layer)ユニットのシーケンスを備え得る。NALユニットは、NALユニットにおけるデータのタイプのインジケーション、および必要に応じてエミュレーション防止ビットが点在している生バイトシーケンスペイロード(RBSP:raw byte sequence payload)の形態でそのデータを含むバイトを含むシンタックス構造である。NALユニットの各々は、NALユニットヘッダを含み得、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化される整数の数のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPはゼロビットを含む。
【0040】
[0053] ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えてビデオデコーダ30は、ビットストリームからシンタックス要素を取得するためにビットストリームを解析し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータを再構築するためのプロセスは一般に、ビデオエンコーダ20によって実行されるプロセスと相互関係にあり得る。たとえばビデオデコーダ30は、現在CUのPUについての予測ブロックを決定するために、PUの動きベクトルを使用し得る。加えてビデオデコーダ30は、現在CUのTUの係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在CUのTUの変換ブロックを再構築するために、係数ブロックに対して逆変換を実行し得る。ビデオデコーダ30は、現在CUのPUについての予測ブロックのサンプルを、現在CUのTUの変換ブロックの対応するサンプルに加えることによって、現在CUのコーディングブロックを再構築し得る。ピクチャの各CUについてのコーディングブロックを再構築することによって、ビデオデコーダ30は、ピクチャを再構築し得る。
【0041】
[0054] HDR/WCGの態様が次に論じられる。次世代ビデオアプリケーションは、HDRおよびWCGのキャプチャされた景色を表現するビデオデータとともにオペレートするように期待されている。利用されるダイナミックレンジおよび色域のパラメータは、ビデオコンテンツの2つの独立した属性であり、デジタルテレビおよびマルチメディアサービスを目的としたそれらの仕様は、いくつかの国際的規格によって定義されている。たとえば、「Parameter values for the HDTV standards for production and international programme exchange」(2002)という勧告ITU−R BT.709−5(以下「ITU−R BT.勧告709」)は、スタンダードダイナミックレンジ(SDR)およびスタンダード色域のようなHDTV(高解像度テレビ)のためのパラメータを定義する。一方で、ITU−R勧告2020は、HDRおよびWCGのようなUHDTV(超高解像度テレビ)パラメータを規定する。他のシステムにおいてダイナミックレンジおよび色域属性を規定する他の標準化機構(SDO)の文書も存在する。たとえばP3色域は、SMPTE−231−2(映画テレビ技術者協会(Society of Motion Picture and Television Engineers))において定義されており、HDRのいくつかのパラメータは、SMPTE ST2084において定義されている。ビデオデータについてのダイナミックレンジおよび色域の簡単な説明が以下で提供される。
【0042】
[0055] ダイナミックレンジの態様が次に論じられる。ダイナミックレンジは通常、ビデオ信号の最小輝度(minimum brightness)と最大輝度(maximum brightness)との間の比として定義される。ダイナミックレンジはまた、1つまたは複数の「fストップ」(‘f-stop’ or “f-stops”)の観点で測定され得、ここで1つのfストップは、信号ダイナミックレンジの二倍に対応する。MPEGの定義では、HDRコンテンツは、16個以上のfストップを用いた輝度バリエーションを特徴とするようなコンテンツである。いくつかの観点では、10個のfストップと16個のfストップとの間のレベルは中間ダイナミックレンジと見なされるが、それは他の定義ではHDRと見なされる。同時に、人間視覚系(HVS)は、ずっと大きい(たとえば、「より広範な」または「より広い」)ダイナミックレンジを知覚する能力を有する。しかしながらHVSは、いわゆる「同時レンジ(simultaneous range)」を狭める適合機構を含む。
【0043】
[0056] 図2は、HDTVのSDR、UHDTVの予定の(expected)HDR、およびHVSダイナミックレンジによって提供されるダイナミックレンジの視覚化を例示する概念図である。たとえば、図2は、現在のビデオアプリケーションおよびサービスがITU−R BT.709によって規制され、SDRを提供することを例示している。現在のビデオアプリケーションおよびサービスは通常、平方メートル(m)毎に約0.1〜100カンデラ(cd)(cd/mの単位は「nit」ともしばしば称される)の輝度(またはルミナンス)の範囲をサポートし、これにより10個よりも少ない(fewer than or less than)fストップをもたらす。次世代ビデオサービスは、最大16個のfストップのダイナミックレンジを提供するように予定されており、詳細な仕様は現在開発中であるけれども、いくつかの初期パラメータは、SMPTE ST2084およびITU−R BT.2020において規定されている。
【0044】
[0057] 色域が次に論じられる。HDR以外のより現実的なビデオエクスペリエンスについての別の態様は色次元であり、これは従来、色域によって定義される。図3は、SDR色域(ITU−R BT.709色の赤、緑、および青の原色に基づくトライアングル)、およびUHDTVのためのより広い色域(ITU−R BT.2020色の赤、緑、および青の原色に基づくトライアングル)を示す概念図である。図3はまた、いわゆるスペクトル軌跡(舌状のエリアによって範囲が定められている)を描いており、これは、自然色の境界を表現している。図3によって例示されているように、ITU−R BT.709の原色からITU−R BT.2020の原色に移ることは、約70%分多い色、またはより卓越した(greater)色をUHDTVサービスに提供することを狙いとしている。D65は、所与の仕様についての白色を規定している。
【0045】
[0058] 色域の仕様のいくつかの例は、以下の表1に示されている。
【0046】
【表1】
【0047】
[0059] HDRビデオデータの表現の態様が次に論じられる。HDR/WCGは通常、4:4:4クロマフォーマットおよび非常に広い色空間(たとえば、XYZ)を用いて、成分毎に大変高精細度で(浮動小数点ですら)獲得および記憶される。国際照明委員会によって明記されているCIE1931は、XYZ色空間の例である。この表現は、高精細度を目的とし、数学上(ほぼ)ロスレス(lossless)である。しかしながら、このフォーマットの特徴は、多くの冗長性を含み得、圧縮目的には最適でない。HVSベースを前提としたより低い精細度フォーマットが通常、最新式のビデオアプリケーションに利用される。
【0048】
[0060] 圧縮を目的としたビデオデータフォーマット転換プロセスの一例は、図4の転換プロセス109によって示されているような、3つの主なプロセスを含む。図4の技法は、ソースデバイス12によって実行され得る。線形RGBデータ110は、HDR/WCGビデオデータであり得、浮動小数点表現で記憶され得る。線形RGBデータ110は、ダイナミックレンジコンパクト化のために、非線形伝達関数(TF:transfer function)112を使用してコンパクト化され得る。伝達関数112は、任意の数の非線形伝達関数、たとえばSMPTE−2084で定義されているようなPQ TFを使用して線形RGBデータ110をコンパクト化し得る。いくつかの例では、色転換プロセス114は、コンパクト化されたデータを、ハイブリッドビデオエンコーダによる圧縮により適しているよりコンパクトまたはロバストな色空間(たとえば、YUVまたはYCrCb色空間)に転換する。このデータはその後、浮動小数点から整数表現への量子化ユニット(floating-to-integer representation quantization unit)116を使用して量子化され、転換されたHDR’データ118を生成する。この例では、HDR’データ118は整数表現である。この時点で(now)HDR’データは、ハイブリッドビデオエンコーダ(たとえば、HEVC技法を適用するビデオエンコーダ20)による圧縮に関してより適したフォーマットにある。図4で描かれているプロセスの順序は、例として与えられており、他のアプリケーションでは変わり得る。たとえば、色転換はTFプロセスに先行し得る。加えて、追加の処理、たとえば空間サブサンプリング、が色成分に適用され得る。
【0049】
[0061] デコーダ側の例となる逆転換がプロセス129によって図5で描かれている。宛先デバイス14のビデオポストプロセッサユニット31が、図5の技法を実行し得る。転換されたHDR’データ120は、ハイブリッドビデオデコーダ(たとえば、HEVC技法を適用するビデオデコーダ30)を使用してビデオデータを復号することを通じて、宛先デバイス14で取得され得る。HDR’データ120はその後、逆量子化ユニット122によって逆量子化され得る。その後、逆色転換プロセス124が、逆量子化されたHDR’データに適用され得る。逆色転換プロセス124は、色転換プロセス114の逆であり得る。たとえば、逆色転換プロセス124は、YCrCbフォーマットからRGBフォーマットに戻るようにHDR’データを転換し得る。次に、線形RGBデータ128を再現するために伝達関数112によってコンパクト化されたダイナミックレンジを戻すように加える(add back)ために、逆伝達関数(inverse transfer function)126がデータに適用され得る。線形および浮動小数点表現の入力されたRGBデータの高ダイナミックレンジは、利用された非線形伝達関数(TF)を用いてコンパクト化されている。たとえば、SMPTE ST2084で定義されているような知覚量子化(PQ:perceptual quantizer)TF、これにしたがって、それは、圧縮に関してより適したターゲット色空間、たとえばY’CbCrに転換され、その後整数表現を達成するために量子化される。これらの要素の順序は例として与えられており、現実世界のアプリケーションでは変わり得、たとえば、色転換はTFモジュールに先行し得、同様に、追加の処理、たとえば空間サブサンプリングが色成分に適用され得る。これらの3つの成分が、より詳細に以下で説明される。
【0050】
[0062] 伝達関数(TF)のような図4で描かれたある特定の態様が次に、より詳細に論じられる。イメージコンテナ(image container)に現れるデジタル値を光エネルギーに、および光エネルギーからマッピングすることは、TFの知識を必要とし得る。TFは、データのダイナミックレンジをコンパクト化するためにデータに適用され、データを限定されたビット数で表現することを可能にする。この関数は通常、ITU−R BT.1886および勧告709においてSDRについて規定されているようなエンドユーザのディスプレイの電気光学伝達関数(EOTF:electro-optical transfer function)の逆数(inverse)を反映するか、またはHDRについてSMPTE ST2084において規定されているPQ TFに関する輝度変化にHVS知覚を近似するかのどちらかである一次元の(1D)の非線形関数である。OETFの逆プロセスがEOTF(電気光学伝達関数)であり、これは、符号レベルをルミナンスに戻すようにマッピングする。図6は、TFのいくつかの例を示す。これらのマッピングもまた、各R、G、およびB成分に別個に適用され得る。これらのマッピングをR、G、およびB成分に適用することは、それらをR’、G’、およびB’にそれぞれ転換し得る。
【0051】
[0063] ITU−R勧告BT.1886で規定されている参照EOTFは、以下の数式によって規定される。
【0052】
【数1】
【0053】
ここで、
L:cd/mでのスクリーンルミナンス
:白色についてのスクリーンルミナンス
:黒色についてのスクリーンルミナンス
V:入力されたビデオ信号レベル(黒はV=0、白はV=1で正規化されている)。勧告ITU−R BT.709毎にマスタリングされるコンテンツについて、10ビットのデジタル符号値「D」が、以下の数式によって(per)Vの値にマッピングする:V=(D-64)/876
γ:べき関数の指数であり、γ=2.404
a:ユーザ利得についての変数(レガシの「コントラスト(contrast)」制御)
【0054】
【数2】
【0055】
b:ユーザの黒レベルリフト(black level lift)についての変数(レガシの「輝度(brightness)」制御)
【0056】
【数3】
【0057】
上記変数aおよびbは、V=1ではL=Lになり、V=0ではL=Lになるように、以下の数式を解くことによって導出される:
【0058】
【数4】
【0059】
より高いダイナミックレンジデータをより効率的にサポートするために、SMPTEは近年、SMPTE ST−2084と呼ばれる新たな伝達関数を標準化している。ST2084の仕様が、以下の通り説明されるようなEOTFアプリケーションを定義した。TFは、正規化された線形R、G、B値に適用され、その結果、非線形表現であるR’、G’、B’をもたらす。ST2084は、10000nits(cd/m)のピーク輝度に関連付けられているNORM=10000による規格化を定義する。
【0060】
【数5】
【0061】
通常EOTFは、浮動小数点の精度をもつ関数として定義される。したがって、逆TF(いわゆるOETF)が適用される場合、この非線形をもつ信号には何れの誤りももたらされない。ST2084で規定されているような逆TF(OETF)は、以下のような逆PQ関数を使用して定義される。
【0062】
【数6】
【0063】
[0064] EOTFおよびOETFは、活発な研究および標準化の主題であり、いくつかのビデオコーディングシステムで利用されるTFは、ST2084で規定されているようなTFとは異なり得る。
【0064】
[0065] 色変換が次に論じられる。RGBデータは画像キャプチャリングセンサによってしばしば作り出されるので、RGBデータは通常入力として使用される。しかしながら、この色空間は、その成分間に高い冗長性を有し、コンパクトな表現には最適でない。よりコンパクトでよりロバストな表現を達成するために、RGB成分は通常、圧縮に関してより適している、より相関関係のない色空間、たとえばYCbCrに転換される(即ち、色変換が実行される)。この色空間は、異なる相関関係のない成分において、ルミナンスおよび色情報の形態で輝度を分離する(separate)。
【0065】
[0066] 最新のビデオコーディングシステムでは、共通して使用されるか、または通常使用される色空間は、ITU−R BT.709で規定されているようなYCbCrである。BT.709規格におけるYCbCr色空間は、R´G´B´からY´CbCr(非定ルミナンス表現)への以下の転換プロセスを規定する。
【0066】
【数7】
【0067】
上記もまた、CbおよびCr成分についての除算を避ける以下の近似転換(approximate conversion)を使用して実施され得る。
【0068】
・Y´ = 0.212600 * R´ + 0.715200 * G´ + 0.072200 * B´
・Cb = -0.114572 * R´ - 0.385428 * G´ + 0.500000 * B´ (4)
・Cr = 0.500000 * R´ - 0.454153 * G´ - 0.045847 * B´
【0069】
[0067] ITU−R BT.2020規格は、RGBからY´CbCrへの2つの異なる転換プロセス:定ルミナンス(CL:Constant-luminance)および非定ルミナンス(NCL:Non-constant luminance)、勧告ITU−R BT.2020を規定する。「Parameter values for ultra-high definition television systems for production and international programme exchange」(2012)を参照。RGBデータは、線形光(linear light)であり得、Y´CbCrデータは非線形(non-linear)である。図7は、非定ルミナンス(non-constant luminance)についての例を例示するブロック図である。特に、図7は、プロセス131によってNCL手法の例を図示する。図7のNCL手法は、OETF(134)後に、R´G´B´からY´CbCrへの転換(136)を適用する。ITU−R BT.2020規格は、R’G’B’からY’CbCr(非定ルミナンス表現)への以下の転換プロセスを規定する。
【0070】
【数8】
【0071】
[0068] 上記もまた、以下の数式(複数を含む)で説明されているように、CbおよびCr成分についての除算を避ける以下の近似転換を使用して実施され得る。
【0072】
・Y´ = 0.262700 * R´ + 0.678000 * G + 0.059300 * B´
・Cb = -0.139630 * R´ - 0.360370 * G´ + 0.500000 * B´ (6)
・Cr = 0.500000 * R´ - 0.459786 * G´ - 0.040214 * B´
【0073】
[0069] 量子化/固定小数点転換(Quantization/Fix point conversion)が次に論じられる。色変換に続き、依然として高ビット深度(たとえば浮動小数点の精度)で表現されているターゲット色空間で入力されたデータが、ターゲットビット深度に転換される。ある特定の研究は、PQ TFと組み合わせた十から十二(10〜12)ビットの精度が、丁度可知差異(JND:Just-Noticeable Difference)未満の歪みのある16個のfストップのHDRデータを提供するのに十分であることを示している。10ビットの精度で表現されたデータはさらに、最新式のビデオコーディングソリューションのほとんどでコーディングされ得る。この量子化(138)は不可逆コーディングの一要素であり、転換されたデータにもたらされる不精確さの原因であり得る。
【0074】
[0070] 様々な例において、そのような量子化が、ターゲット色空間においてワード(words)をコーディングするために適用され得る。YCbCrが適用される例が以下で示される。浮動小数点の精度で表現される入力値YCbCrは、ルーマ(Y)値では固定ビット深度BitDepthY、およびクロマ値(Cb,Cr)では固定ビット深度BitDepthCの信号に転換される。
【0075】
○ DY’ = Clip1Y (Round ((1 ≪ (BitDepthY - 8)) * (219*Y’ + 16)))
○ DCb = Clip1C (Round ((1 ≪ (BitDepthC - 8)) * (224*Cb + 128))) (7)
○ DCr = Clip1C (Round ((1 ≪ (BitDepthC - 8)) * (224*Cr + 128)))
ここで
Round(x) = Sign(x) * Floor (Abs(x) + 0.5)
Sign(x) = x < 0の場合-1, x = 0の場合0, x > 0の場合1
Floor(x)
x以下の最大整数
Abs(x) = x>=0の場合x, x<0の場合-x
Clip1Y(x) = Clip3(0,(1<< BitDepthY) -1, x)
Clip1C(x) = Clip3(0,(1<< BitDepthC) -1, x)
Clip3(x,y,z) = z<xの場合x, z>yの場合y, その他の場合x
【0076】
[0071] 伝達関数および色変換のいくつかは結果として、信号表現のダイナミックレンジにわたった著しい(significant)バリエーションの丁度可知差異(JND)しきい値を特徴とするビデオ表現をもたらし得る。そのような表現では、ルーマ値のダイナミックレンジにわたって均一である量子化スキームが、(ダイナミックレンジの区分を表現する)信号フラグメントにわたって異なる知覚のメリットを伴いながら、量子化誤差をもたらすだろう。信号に対するそのような影響は、結果的に処理されたデータレンジ内に不均等な信号対雑音比をもたらす不均一量子化もつ処理システムとして解釈され得る。図7のプロセス131はまた、4:4:4から4:2:0への転換(140)およびHEVC4:2:0 10b符号化(142)を含む。
【0077】
[0072] そのような表現の例は、非定ルミナンス(NCL)YCbCr色空間で表現されるビデオ信号であり、その空間について原色は、ITU−R勧告BT.2020において、およびST2084伝達関数で定義されている。以下の表2で例示されるように、この表現(たとえば、NCL YCbCr色空間で表現されているビデオ信号)は、信号の低強度値に対して著しくより多い量のコードワードを割り当てる。たとえば、コードワードのうちの30%は、10nits未満(<10nits)の線形光サンプル(linear light sample)を表現する。反対に、高強度サンプル(高輝度)は、感知できる程により小さい量のコードワードで表現される。たとえば、コードワードのうちの25%は、レンジ1000〜10,000nitsの線形光に対して割り当てられる。結果として、データのすべてのレンジに対して均一の量子化を特徴とする、H.265/HEVCビデオコーディングシステムのようなビデオコーディングシステムは、高強度サンプル(信号の明るい領域)に対してよりずっと厳しいコーディングアーティファクト(coding artifact)をもたらす一方で、低強度サンプル(同じ信号の暗い領域)にもたらされる歪みは、可知差異よりもずっと下回るだろう。
【0078】
[0073] 事実上、上で説明された事実は、ビデオコーディングシステム設計、または符号化アルゴリズムが、全ての選択されたビデオデータ表現に対して、即ち全ての選択された伝達関数および色空間に対して調整される必要があり得ることを意味し得る。コードワードの差異により、SDRコーディングデバイスは、HDRコンテンツのために最適化されないことがある。また、著しい量のビデオコンテンツが、(勧告709によって提供されている)SDRダイナミックレンジおよびSCG色でキャプチャされている。HDRおよびWCGと比較すると、SDR−SCGビデオキャプチャは、狭いレンジを提供する。このように、SDR−SCGでキャプチャされたビデオデータは、HDR−WCGビデオデータに対してコードワードスキームの比較的小さなフットプリント(footprint)を占有し得る。例示すると、勧告709のSCGがCIE1931色空間のうちの35.9%をカバーする一方で、勧告2020のWCGは75.8%をカバーする。
【0079】
【表2】
【0080】
[0074] 上記表2で示されているように、(「全レンジ」列で示されている)コードワードの高密度は、低輝度レンジにおいて集中している。即ち、(コードワードのうちのおおよそ30%を構成する)全307コードワードは、線形光強度の0〜10nitsレンジ内にクラスタ化される。低輝度のシナリオでは、色情報が容易に知覚可能でないことがあり、低レベルの視覚的感度で見ることができる。集中したコードワードのクラスタ化が低輝度レンジに位置するので、ビデオ符号化デバイスは、高品質でまたは非常に高品質で、低輝度レンジで、著しい量を符号化し得る。さらにビットストリームは、符号化された雑音を搬送するために、より多量の帯域幅を消費し得る。ビデオ復号デバイスは、ビットストリームを再構築するとき、符号化された雑音がビットストリームに含まれることに起因して、より多数のアーティファクト(artifact)を作り出し得る。
【0081】
[0075] 非最適知覚品質コードワード分配(non-optimal perceptual quality codeword distribution)を改善するための既存の提案が以下で論じられる。1つのそのような提案は、“Dynamic Range Adjustment SEI to enable High Dynamic Range video coding with Backward-Compatible Capability,” by D. Rusanovskyy, A. K. Ramasubramonian, D. Bugdayci, S. Lee, J. Sole, M. Karczewicz, VCEG document COM16-C 1027-E, Sep.2015(以下「Rusanovskyy I」)である。Rusanovskyy Iは、ビデオコーディングより前にビデオデータにコードワード再分配(codewords re-distribution)を適用する提案を含んだ。この提案にしたがうと、ST2084/BT.2020表現のビデオデータは、ビデオ圧縮より前にコードワード再分配を経験する。この提案によりもたらされた再分配は、ダイナミックレンジ調整を通じてデータのダイナミックレンジ内に知覚される歪み(信号対雑音比)の線形化をもたらす。この再分配は、ビットレート制約下での視覚的品質を改善することが分った(was found)。再分配を補償し、元のST2084/BT.2020表現にデータを転換するために、逆のプロセスがビデオ復号後にデータに対して適用される。Rusanovskyy Iによって提案された技法はさらに、米国特許出願第15/099,256号(仮特許出願第62/149,446号に優先権を主張する)および米国特許出願第15/176,034号(仮特許出願第62/184,216号に優先権を主張する)においてさらに説明されており、それらの各々の全内容が、全体として本明細書に組み込まれている。
【0082】
[0076] しかしながら、Rusanovskyy Iにおいて説明されている技法にしたがうと、事前処理および後処理のプロセスは一般に、ブロックベースの基準で最新式のエンコーダによって用いられるレート歪最適化処理(rate distortion optimization processing)から切り離されている。したがって、説明されている技法は事前処理および後処理の観点からのものであり、ビデオコーデックのコーディングループ(coding loop)外(または外部)にある。
【0083】
[0077] 別のそのような提案は、“Performance investigation of high dynamic range and wide color gamut video coding techniques,” by J. Zhao, S.-H. Kim, A. Segall, K. Misra, VCEG document COM16-C 1030-E, Sep.2015(以下「Zhao I」)である。Zhaoは、ビットレート割り振り、およびY2020(ST2084/BT2020に対して適用されたビットコーディングとY709(BT1886/BT 2020)表現との間の視覚的に知覚される歪みをアラインするための強度依存の空間的に変動する(ブロックベースの)量子化スキームを提案した。ルーマで同じレベルの量子化を維持するために、Y2020およびY709における信号の量子化は、
QP_Y2020=QP_Y709-f(Y2020)
になるように、ルーマに依存する値分だけ異ならなければならない。
【0084】
[0078] 関数f(Y2020)は、Y2020においてビデオの強度値(輝度レベル)について線形であることが分っており、
f(Y2020)=max(0.03*Y2020-3,0)
として概算され得る。
【0085】
[0079] Zhao Iは、空間的に変動する量子化スキームが符号化段階でもたらされることが、ST 2084/BT.2020表現のコーディングされたビデオ信号についての視覚的に知覚された信号対量子化雑音比を改善できることが分かったことを提案した。
【0086】
[0080] Zhao Iで提案された技法の潜在的な欠点は、QP適合のブロックベースの粒度(block-based granularity)である。通常、圧縮のためにエンコーダ側で選択された利用されるブロックサイズは、レート歪最適化プロセス(rate distortion optimization process)を通じて導出され、ビデオ信号のダイナミックレンジ特性(dynamical range properties)を表現しないことがある。したがって、選択されたQP設定は、ブロック内部の信号に対して準最適(sub-optimal)であり得る。この潜在的な問題は、より大きい次元の予測および変換ブロックサイズを用いる傾向にある次世代のビデオコーディングシステムにさらにより重要になり得る。この設計の別の態様は、QP適合パラメータのシグナリングの必要性である。QP適合パラメータは、逆非量子化(inverse dequantization)のためにデコーダにシグナリングされる。加えて、エンコーダ側における量子化パラメータの空間適合は、符号化最適化の複雑性を増大させ得、レート制御アルゴリズムに干渉し得る。
【0087】
[0081] 別のそのような提案は、“Intensity dependent spatial quantization with application in HEVC,” by Matteo Naccari and Marta Mrak, In Proc. of IEEE ICME 2013, July 2013(以下「Naccari」)である。Naccariは、人間視覚系の強度マスキングを利用し、ブロックレベルで信号の量子化を知覚的に調整する強度依存型空間量子化(IDSQ:Intensity Dependent Spatial Quantization)知覚機構を提案した。この文書は、インループのピクセルドメインスケーリング(in-loop pixel domain scaling)を用いることを提案した。この提案にしたがうと、現在処理されているブロックについてのインループスケーリング(in-loop scaling)のパラメータが、予測されたブロックにおけるルーマ成分の平均値から導出される。デコーダ側では、逆スケ−リング(inverse scaling)が実行され、デコーダは、デコーダ側で利用可能な予測されたブロックからスケーリングのパラメータを導出する。
【0088】
[0082] 上で論じられたZhao Iにおける研究と同様に、この手法のブロックベースの粒度は、処理されたブロックの全てのサンプルに適用されるスケーリングパラメータの準最適性に起因して本方法のパフォーマンスを制限する。本文書の提案されたソリューションの別の態様は、スケール値が予測されたブロックから導出され、現在コーデックブロックと予測されたブロックとの間に生じ得る信号ゆらぎ(signal fluctuation)を反映しない。
【0089】
[0083] 別のこのような提案は、“De-quantization and scaling for next generation containers,” by J. Zhao, A. Segall, S.-H. Kim, K. Misra, JVET document B0054, Jan 2016(以下Zhao II」)である。ST2084/BT2020表現における不均一な知覚された歪みを改善するために、本文書は、インループ強度型依存ブロックベースの変換ドメインスケーリングを用いることを提案した。本提案にしたがうと、現在処理されているブロックの選択された変換係数(AC係数)についてのインループスケーリングのパラメータが、予測されたブロックにおけるルーマ成分の平均値および現在ブロックについて導出されたDC値の関数として導出される。デコーダ側では、逆スケ−リングが実行され、デコーダは、デコーダ側で利用可能な予測されたブロックからおよびデコーダにシグナリングされる量子化されたDC値から、AC係数スケーリングのパラメータを導出する。
【0090】
[0084] 上で論じられたZhao IおよびNaccariにおける研究と同様に、この手法のブロックベースの粒度は、処理されたブロックの全てのサンプルに適用されるスケーリングパラメータの準最適性に起因して本方法のパフォーマンスを制限する。この文書で提案されているスキームの別の態様は、スケール値がAC変換係数のみに適用され、したがって信号対雑音比改善がDC値に影響を与えないことであり、これはスキームのパフォーマンスを低減する。上で論じられた態様に加えて、いくつかのビデオコーディングシステム設計では、量子化されたDC値は、AC値スケーリングの時、たとえば量子化プロセスが変換オペレーションのカスケード(cascade)に続くケースにおいて、利用可能でないことがある。本提案の別の制限は、エンコーダが現在ブロックについて変換スキップまたは変換/量子化バイパスモードを選択するとき、スケーリングが適用されず(ひいては、デコーダ側では、スケーリングが変換スキップおよび変換/量子化バイパスモードについて定義されない)ことであり、これは、これらの2つのモードについての潜在的なコーディング利得の排除に起因して準最適である。
【0091】
[0085] Dmytro Rusanovskyy他による米国特許出願第15/595,793号(仮特許出願第62/337,303号に優先権を主張する)(以下「Rusanovskyy II」)では、不均一に分配された丁度可知差異(JND)を伴うビデオ信号についてのインループサンプル処理(in-loop sample processing for video signals with non-uniformly distributed Just Noticeable Difference (JND))。Rusanovskyy IIの技法にしたがうと、不均一に分配された丁度可知差異を伴う信号のより効率的なコーディングのためのいくつかのインループコーディング手法。Rusanovskyy IIは、ピクセル、残差、または変換ドメインの何れかで表現された信号サンプルのスケールおよびオフセットのアプリケーションを説明する。スケールおよびオフセットの導出のためのいくつかのアルゴリズムが提案されてきた。Rusanovskyy IIの内容は、全体として本明細書に参照によって組み込まれている。
【0092】
[0086] 本開示は、ビデオコーディングシステムのループにおいて適用され得る処理のためのいくつかのデバイス、コンポーネント、装置、および方法について論じる。本開示の技法は、処理されたデータについての信号対量子化雑音比(signal-to-quantization noise ratio)を改善するために、ピクセルドメインまたは変換ドメインでのビデオ信号の量子化および/またはスケーリングのプロセスを含み得る。たとえば、本開示のシステムおよび技法は、HDR−WCGフォーマットに転換されるときにSDR−SCGフォーマットでキャプチャされたビデオデータの転換によって生じるアーティファクトを低減し得る。本明細書で説明されている技法は、ルミナンスおよび/または色差データ(chrominance data)のうちの1つまたはその両方を使用して精細度に対処し得る。開示されているシステムおよび技法はまた、信号の時空間的近隣からの量子化またはスケーリングパラメータの導出のためのいくつかのアルゴリズムを組み込むか、または含む。即ち、本開示の例となるシステムおよび技法は、コーディングプロセスにおいて現在ブロックに関連付けられた残差データを修正するために使用される1つまたは複数のパラメータ値を取得することを対象としている。本明細書で使用される場合、残差データを修正するために使用されるパラメータ値は、(符号化プロセスまたは復号プロセスそれぞれで残差データを量子化(quantizing)または非量子化する(dequantizing)ことによって残差データを修正するために使用される)量子化パラメータ、または(符号化プロセスまたは復号プロセスそれぞれで残差データをスケーリングまたは逆スケーリングすること(inverse scaling)によって残差データを修正するために使用される)スケーリングパラメータを含む。
【0093】
[0087] 図8は、現在コーディングされているブロック152の時空間的近隣の態様を例示する概略図である。本開示の1つまたは複数の技法にしたがうと、ビデオエンコーダ20は、現在コーディングされているブロック152の時空間的近隣からの情報を使用して、(現在コーディングされているブロック152のサンプルの量子化で使用されるべき)量子化パラメータを導出し得る。たとえば、ビデオエンコーダ20は、近隣ブロック154、156、および158のうちの1つまたは複数に使用されるQP値を使用して、現在コーディングされているブロック152で使用される参照QPまたはデフォルトQPを導出し得る。たとえば、ビデオエンコーダ20は、現在コーディングされているブロック152に関するデルタQP導出プロセスにおける基準またはオペランドとして近隣ブロック154〜158のうちの1つまたは複数についてのQP値を使用し得る。このように、ビデオエンコーダ20は、左隣のブロック156のサンプル、上隣のブロック158のサンプル、および視差ベクトル「DV」によって指されている時間的に(temporal)隣のブロック154のサンプルを考慮する本開示の1つまたは複数の技法を実装し得る。
【0094】
[0088] このように、ビデオエンコーダ20が時空間的近隣ブロックのサンプルが現在コーディングされているブロック152のサンプルについて良く適合する(a good match)と決定する場合、ビデオエンコーダ20は、少なくとも部分的に時空間的近隣の様々な近隣ブロックに現在コーディングされているブロック152についてのデルタQP導出プロセスを基づかせるように、該デルタQP導出プロセスを拡張する本開示の技法を実装し得る。参照サンプルのブロックがブロック分割の複数のCUと重複し、それにより異なるQPを有し得る事例では、ビデオエンコーダ20は、複数の利用可能なQPから該QPを導出し得る。たとえば、ビデオエンコーダ20は、現在コーディングされているブロック152のサンプルについてのQP値を導出するために、複数のQP値に関する平均化のプロセスを実施し得る。様々な例において、ビデオエンコーダ20は、QP値および/またはデルタQPパラメータのうちの1つまたはその両方を導出するために上で説明された導出技法を実装し得る。
【0095】
[0089] 様々な使用ケースのシナリオにおいて、ビデオエンコーダ20はまた、現在コーディングされているブロック152の時空間的近隣からの情報を使用して、現在コーディングされているブロック152のサンプルについてのスケーリングパラメータを導出し得る。たとえば、スケーリングオペレーションが均一の量子化と取って代わる設計にしたがうと、ビデオエンコーダ20は、現在コーディングされているブロック152についての参照スケーリングパラメータまたはデフォルトのスケーリングパラメータを導出するために、上で説明された時空間的近隣ベースの導出プロセスを適用し得る。
【0096】
[0090] いくつかの既存のHEVC/JEM技法にしたがうと、ビデオコーディングデバイスは、現在処理されているブロックのすべての変換係数にスケーリングオペレーションを適用し得る。たとえば、いくつかのHEVC/JEM設計では、ビデオコーディングデバイスは、変換係数のサブセットに1つまたは複数のスケーリングパラメータを適用し得る一方で、スケーリングパラメータ(複数を含む)の導出のために残りの変換係数を利用する。たとえば、JVET B0054にしたがうと、ビデオコーディングデバイスは、予測されたブロックにおけるルーマ成分の平均値の関数として現在処理されているブロックの選択された変換係数(即ちAC係数)についてのインループスケーリングパラメータを導出し得、現在ブロックについてのDC値を導出し得る。
【0097】
[0091] 本開示の1つまたは複数の技法にしたがうと、ビデオエンコーダ20は、現在コーディングされているブロック152についてのスケーリングプロセスに1つまたは複数のDC変換係数(DC transform coefficient)を含み得る。いくつかの例では、ビデオエンコーダ20は、予測されたサンプルから導出されたパラメータおよびDC値の関数として、現在コーディングされているブロック152についてのスケーリングパラメータを導出し得る。ビデオエンコーダ20は、ACスケーリングについてのルックアップテーブル(LUT:look-up table)、それに加えてDC値(複数を含む)についての独立したLUTを含むスケーリングパラメータ導出プロセス(scaling parameter derivation process)を実施し得る。DCおよびAC変換係数のフォワードスケーリングは結果として、DC’およびAC’と表されたスケーリングされた値をもたらす。ビデオエンコーダ20は、スケーリングされた値DC’およびAC’を取得するために以下で説明されるようなスケーリングオペレーションを実施し得る。
【0098】
AC’ = scale (fun1(DC, avgPred)) * AC;および
DC’ = scale (fun2(DC, avgPred)) * DC
【0099】
[0092] 本開示のスケーリングパラメータベースの技法にしたがうと、ビデオデコーダ30は、ビデオエンコーダ20に関して上で説明されたものと概して相互関係にあるオペレーションを実施し得る。たとえばビデオデコーダ30は、スケーリングされた値DC’およびAC’をオペランドとして使用する逆スケーリングプロセスを実施し得る。逆スケーリングプロセスの結果は、以下の数式におけるDC’’およびAC’’と表される。ビデオデコーダ30は、以下の数式において例示されているような逆スケーリングオペレーションを実施し得る:
DC’’ = DC’/scale (fun1(DC’, avgPred));および
AC’’ = AC’/scale (fun2(DC’’, avgPred))
【0100】
[0093] スケーリングオペレーションと逆スケーリングオペレーションとの両方に関して、「fun1」および「fun2」という用語は、引数(arguments)として参照サンプルの平均値(average)およびDCベースの値を使用するスケール導出関数/プロセスを定義する。ビデオエンコーダ20およびビデオデコーダ30によって実装されるスケーリング技法と逆スケーリング技法の両方に関して例示されているように、本開示の技法は、スケーリングされたおよび逆スケーリングされたDCおよびAC変換係数値の両方の導出においてDC変換係数値の使用を可能にする。このように、本開示の技法は、スケーリング/逆スケーリングされたオペレーションが変換係数の量子化および非量子化の代わりに実行される場合、ビデオエンコーダ20およびビデオデコーダ30が、スケーリングおよび逆スケーリングオペレーションにおいてDC変換係数値を活用することを可能にする。
【0101】
[0094] 本開示はまた、ビデオエンコーダ20が何れの非ゼロ変換係数もシグナリングしない事例における量子化パラメータまたはスケーリングパラメータの導出のための技法を提供する。HEVCの現在の仕様、JVET開発の初期テストモデル、JVET B0054で説明されている設計は、QP値(または、場合によってはスケーリングパラメータ)の、存在する符号化された非ゼロ変換係数としての導出を規定する。全ての変換係数がゼロに量子化されるケースでは、QP調整も局所的に適用されたスケールも、HEVCの現在の仕様、JVETの初期テストモデル、JVET B0054の設計にしたがってシグナリングされない。代わりに、復号デバイスは、変換係数に、グローバル(たとえばスライスレベル)QP/スケーリングパラメータ、または空間的近隣CUから導出されるQPのどちらかを適用する。
【0102】
[0095] 本開示の技法は、(イントラかインターかに関わらず)予測の相対的な精度を活用し、これは結果として非ゼロ変換係数の不在をもたらす。たとえば、ビデオデコーダ30は、QP値またはスケーリングパラメータを導出するために予測されたサンプルからのパラメータを使用する本開示の技法を実装し得る。代わりに、ビデオデコーダ30は、現在ブロックのサンプルを非量子化するために、または現在ブロックの変換係数を逆スケーリングするために、導出されたQP値またはスケーリングパラメータを利用し得る。このように、ビデオデコーダ30は、ビデオデコーダ30があるブロックについてどの非ゼロ変換係数も受信せず、それによりHEVC/JEM慣例の1つまたは複数のデフォルトベースの非量子化および逆スケーリング態様と取って代わるシナリオでは予測精度を活用する本開示の技法を実装し得る。
【0103】
[0096] 開示されている技法の様々な例となる実装が以下で説明される。以下で説明される実装が非限定的な例であり、開示されている技法の他の実装もまた本開示の態様にしたがって可能であることが理解されるだろう。
【0104】
[0097] いくつかの実装にしたがうと、ビデオエンコーダ20は、接している(attached)(上および左の)ブロック(CU)から参照QP値(reference QP value)を導出し得る。図8に関して説明されて、ビデオエンコーダ20は、上隣のブロック158および左隣のブロック156に関連付けられたデータから、現在コーディングされているブロック152についての参照QPを導出し得る。この例となる実装の例は、以下の擬似コードによって説明される:
Char TComDataCU::getRefQP( UInt uiCurrAbsIdxInCtu )
{
TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
return (((cULeft? cULeft->getQP( lPartIdx ): m_QuLastCodedQP) + (cUAbove? cUAbove->getQP( aPartIdx ): m_QuLastCodedQP) + 1) >> 1);

上記の擬似コードでは、接しているブロックがシンボル「cUAbove」および「cULeft」で表現されている。
【0105】
[0098] 本開示の技法のいくつかの実装にしたがうと、ビデオエンコーダ20は、参照サンプル(複数を含む)の1つまたは複数のQP値をQP導出プロセスにおいて考慮し得る。このような実装の例は、以下の擬似コードによって説明される:
Char TComDataCU::getRefQP2( UInt uiCurrAbsIdxInCtu )
{
TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cURefer = getQpMinCuReference( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
return value = function (cULeft->getLastQP(), cUAbove->getLastQP(), cURefer ->getLastQP());

上記の擬似コードでは、シンボル「cURefer」は、参照サンプルを含むブロックを表現する。
【0106】
[0099] 説明されている技法のいくつかの実装にしたがうと、ビデオエンコーダ20および/またはビデオデコーダ30は、参照ブロック(複数を含む)のサンプルに適用されたQPおよび/または参照ピクチャとして利用される全てのピクチャについてのグローバルQP(たとえばスライスレベルQP)を記憶し得る。いくつかの実装にしたがうと、ビデオエンコーダ20および/またはビデオデコーダ30は、参照ブロック(複数を含む)のサンプルに適用されたスケーリングパラメータおよび/または参照ピクチャとして利用される全てのピクチャについてのグローバルスケーリング(たとえばスライスレベルスケーリング)パラメータを記憶し得る。参照サンプルのブロックが分割されたブロックの複数のCUと重複する(それにより区分にわたって異なるQPの可能性をもたらす)場合、ビデオエンコーダ20は、複数の利用可能なQPから該QPを導出し得る。例として、ビデオエンコーダ20は、複数のCUからの複数のQPに対する平均化プロセスを実施し得る。このような実施の例は、以下の擬似コードによって説明される:
Int sum= 0;
for (Int i=0; i < numMinPart; i++)
{
sum += m_phInferQP[COMPONENT_Y][uiAbsPartIdxInCTU + i];
}
avgQP = (sum)/numMinPart;
上記擬似コードにしたがうと、ビデオエンコーダ20は、ブロック区分にわたったQPの平均値を算出することによって平均化処理を実行する。平均QP算出は、上記擬似コードにおける最後のオペレーションで示されている。つまりビデオエンコーダ20は、区分のカウント(オペランド「numMinPart」で表現されている)によって除算されている集合(最終値の整数「sum」で表現されている)を除算する。
【0107】
[0100] 本明細書で説明されている技法のまた別の実装では、ビデオエンコーダ20は、ルーマ成分の平均輝度の関数としてQPを導出し得る。たとえばビデオエンコーダ20は、ルックアップテーブル(LUT)からルーマ成分の平均輝度を取得し得る。この実装は、シンボル「avgPred」が参照サンプルの平均輝度値を表現する、以下の擬似コードによって説明される:
QP = PQ_LUT[avgPred];
【0108】
[0101] いくつかの実装では、ビデオエンコーダ20は、1つまたは複数のグローバルQP値から現在ブロックについての参照QP値を導出し得る。ビデオエンコーダ20が使用し得るグローバルQP値の例は、スライスレベルで規定されるQPである。つまりビデオエンコーダ20は、現在ブロックを含むスライスの全体に対して規定されているQP値を使用して現在ブロックについてのQP値を導出し得る。この実装は、以下の擬似コードによって説明される:
qp = (((Int) pcCU->getSlice()->getSliceQp() + iDQp + 52 + 2*qpBdOffsetY )%(52+ qpBdOffsetY)) - qpBdOffsetY;
上記の擬似コードでは、ビデオエンコーダ20は、(「qp」によって表されている)現在ブロックについてのQPを取得するためのオペレーションにおけるオペランドとしてgetSliceQp()関数によって返される値を使用する。
【0109】
[0102] 本明細書で説明されている技法のいくつかの実装では、ビデオエンコーダ20は、QPを導出する際に1つまたは複数の参照サンプル値を利用し得る。この実装は、以下の擬似コードによって説明される。
【0110】
QP = PQ_LUT[avgPred];
【0111】
[0103] 上記擬似コードでは、「PQ_LUT」は、ビデオエンコーダ20が(「avgPred」で表現されている)予測されたブロックの平均輝度の値を、関連付けられた知覚量子化(PQ)値にマッピングするために利用し得るルックアップテーブルである。ビデオエンコーダ20は、参照サンプルの関数としてavgPredの値、たとえば参照サンプルの平均値を計算し得る。本開示の算出にしたがって使用され得る平均値の例は、平均(mean)、メジアン(median)、およびモード(mode)値のうちの1つまたは複数を含む。
【0112】
[0104] いくつかの実装では、ビデオエンコーダ20は、QPの代わりに現在ブロックについてのスケーリングパラメータであり得る。いくつかの実装では、ビデオエンコーダ20は、導出されたQP(複数を含む)からスケールパラメータ(複数を含む)への、またはその逆の転換プロセスを実行し得る。いくつかの実装では、ビデオエンコーダ20は、参照サンプルからQPを導出するために解析表現(analytical expression)を利用し得る。ビデオエンコーダ20がQP導出のために使用し得る解析表現の一例は、パラメータに関する導出モデル(parametric derivation model)である。
【0113】
[0105] ビデオエンコーダ20が現在ブロックについてのQPを導出するという上で説明された技法のうちのどれかに関わらず、ビデオエンコーダ20は、ビデオデコーダ30に、導出されたQPに基づいて、データをシグナリングし得る。たとえば、ビデオエンコーダ20は、そのビデオエンコーダ20がサンプル現在ブロックを量子化するために使用したQP値から導出されたデルタQP値をシグナリングし得る。代わりに、ビデオデコーダ30は、ブロックについてのQP値を取得するために符号化されたビデオビットストリーム(encoded video bitstream)で受信されたデルタQP値を使用し得、QP値を使用してブロックのサンプルを非量子化し得る。
【0114】
[0106] ビデオエンコーダ20が現在ブロックについてのQP値の代わりに、またはそれに加えてスケーリングパラメータを取得する例では、ビデオエンコーダ20は、ビデオデコーダ30にスケーリングパラメータ(またはそこから導出されたデータ)をシグナリングし得る。代わりに、ビデオデコーダ30は、直接的にまたはシグナリングされたデータからパラメータを導出すること(deriving)によってのどちらかで、符号化されたビデオビットストリームからスケーリングパラメータを再構築し得る。ビデオデコーダ30は、スケーリングされた変換係数の逆スケーリングを実行し得る。たとえばビデオデコーダ30は、本開示の態様にしたがって、DC変換係数およびAC変換係数の両方のスケーリングされたバージョンの逆スケーリングを実行し得る。
【0115】
[0107] 様々な例(たとえば、実装)が上で説明されてきた。本開示の例は、他の例のうちの1つまたは複数とは別個に、またはそれらとの様々な組合せで使用され得る。
【0116】
[0108] 図9は、本開示の技法を実装し得るビデオエンコーダ20の例を例示するブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラおよびインターコーディングを実行し得る。イントラコーディング(Intra-coding)は、所与のビデオフレームまたはピクチャ内のビデオ中の空間的冗長性を低減または取り除くために空間予測に依存する。インターコーディング(Inter-coding)は、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオ中の時間的冗長性を低減または取り除くために時間予測に依存する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのうちの何れも指し得る。単一方向予測(Pモード)または双予測(Bモード)のようなインターモードは、いくつかの時間ベースのコーディングモードの何れも指し得る。
【0117】
[0109] 図9で示されているように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図9の例では、ビデオエンコーダ20は、モード選択ユニット40、ビデオデータメモリ41、復号ピクチャバッファ64、加算器50、変換処理ユニット52、量子化ユニット54、およびエントロピー符号化ユニット56を含む。モード選択ユニット40が今度は、動き補償ユニット44、動き推定ユニット42、イントラ予測処理ユニット46、および分割ユニット(partition unit)48を含む。ビデオブロック再構築では、ビデオエンコーダ20はまた、逆量子化ユニット58、逆変換処理ユニット60、および加算器62を含む。デブロッキングフィルタ(deblocking filter)(図9には図示せず)もまた、再構成されたビデオからブロッキネスアーティファクト(blockiness artifact)を取り除くようにブロック境界をフィルタリングするために含まれ得る。望ましい場合、デブロッキングフィルタは通常、加算器62の出力をフィルタするだろう。(たとえば、ループ中またはループ後の)追加のフィルタもまた、デブロッキングフィルタに加えて使用されうる。そのようなフィルタは、簡潔さのために示されていないが、望ましい場合、(インループフィルタとして)加算器50の出力をフィルタし得る。
【0118】
[0110] ビデオデータメモリ41は、ビデオエンコーダ20のコンポーネントによって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ41に記憶されたビデオデータは、たとえばビデオソース18から取得され得る。復号ピクチャバッファ64は、たとえば、イントラまたはインターコーディングモードでビデオエンコーダ20によってビデオデータを符号化する際に使用される参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ41および復号ピクチャバッファ64は、同期動的ランダムアクセスメモリ(SDRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイス(memory device)を含む動的ランダムアクセスメモリ(DRAM)のような、様々なメモリデバイスのうちの何れによっても形成され得る。ビデオデータメモリ41および復号ピクチャバッファ64は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例において、ビデオデータメモリ41は、ビデオエンコーダ20の他のコンポーネントとオンチップであり得るか、それらのコンポーネントに対してオフチップであり得る。
【0119】
[0111] 符号化プロセス中、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間予測を提供するために、1つまたは複数の参照フレームにおける1つまたは複数のブロックに関連する受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測処理ユニット46は代わりとして、空間予測を提供するために、コーディングされるべきブロックと同じフレームまたはスライスにおける1つまたは複数の近隣ブロックに関連する受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータのブロック毎に適切なコーディングモードを選択するために複数のコーディングパスを実行し得る。
【0120】
[0112] さらに、分割ユニット48は、前のコーディングパスにおける前の分割スキームの評価に基づいて、ビデオデータのブロックをサブブロックに分割し得る。たとえば、分割ユニット48は、レート−歪分析(たとえば、レート−歪最適化)に基づいて、最初にフレームまたはスライスをLCUに分割し、LCUの各々をサブCUに分割し得る。モード選択ユニット40はさらに、LCUのサブCUへの分割を示す四分木データ構造を作り出し得る。四分木のリーフノードCUは、1つまたは複数のPUおよび1つまたは複数のTUを含み得る。
【0121】
[0113] モード選択ユニット40は、たとえば、誤差結果に基づいて、コーディングモードを、イントラかまたはインターのうちの1つ選択し、残差ブロックデータを生成するために加算器50に、および参照フレームとして使用される符号化されたブロックを再構築するために加算器62に、結果として生じたイントラまたはインターコーディングされたブロックを提供し得る。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、分割情報、および他のそのようなシンタックス情報のようなシンタックス要素を、エントロピー符号化ユニット56に提供する。
【0122】
[0114] 動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念的目的で別個に例示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のビデオフレームまたはピクチャ内のビデオブロックのPUの、該現在のピクチャ(または他のコーディングされた単位)内でコーディングされている該現在ブロックに関連する参照ピクチャ(または他のコーディングされた単位)内の予測ブロックに対する変位を示し得る。予測ブロックは、絶対値誤差和(SAD:sum of absolute difference)、二乗誤差和(SSD:sum of square difference)、または他の誤差メトリックによって決定され得るピクセル差分の観点でコーディングされるべきブロックに密接に一致するとみられるブロックである。いくつかの例では、ビデオエンコーダ20は、復号ピクチャバッファ64に記憶された参照ピクチャのサブ整数ピクセル位置についての値を算出し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置および分数のピクセル位置に関連する動き探索を実行し、分数ピクセル精細度を有する動きベクトルを出力し得る。
【0123】
[0115] 動き推定ユニット42は、インターコーディングされたスライスにおけるビデオブロックのPUについて、該PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、動きベクトルを算出する。参照ピクチャは、各々が復号ピクチャバッファ64に記憶された1つまたは複数の参照ピクチャを識別する第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得る。動き推定ユニット42は、エントロピー符号化ユニット56および動き補償ユニット44に算出された動きベクトルを送る。
【0124】
[0116] 動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて、予測ブロックを取り込むことまたは生成することを伴い得る。また、いくつかの例では、動き推定ユニット42および動き補償ユニット44は機能的に統合され得る。現在ビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つに、動きベクトルが指す予測ブロックを位置付け得る。加算器50は、以下で論じられるように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット42は、ルーマ成分に関して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分との両方について、ルーマ成分に基づいて算出された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際に、ビデオデコーダ30によって使用されるビデオブロックおよびビデオスライスに関連付けられるシンタックス要素を生成し得る。
【0125】
[0117] イントラ予測処理ユニット46は、上で説明されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用するイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し、イントラ予測処理ユニット46(または、いくつかの例ではモード選択ユニット40)は、テストされたモードから、使用するのに適切なイントラ予測モードを選択し得る。
【0126】
[0118] たとえば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードについてレート歪み分析(rate-distortion analysis)を使用してレート歪み値(rate-distortion value)を算出し、テストされたモードのうちで最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は一般に、符号化されたブロックと符号化されたブロックを作り出すために符号化された元の非符号化ブロックとの間の歪み(または誤差)の量、ならびに符号化されたブロックを作り出すために使用されるビットレート(bit rate)(即ちビット数)を決定する。イントラ予測処理ユニット46は、ブロックについてどのイントラ予測モードが最良のレート歪み値を示すかを決定するために、様々な符号化されたブロックについての歪みおよびレートから比を算出し得る。
【0127】
[0119] ブロックについてイントラ予測モードを選択した後に、イントラ予測処理ユニット46は、ブロックについて選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックス表および複数の修正されたイントラ予測モードインデックス表(コードワードマッピング表とも称される)を含み得る送信されたビットストリーム構成データに、様々なブロックについての符号化コンテキストの定義、ならびにコンテキストの各々に使用すべき最も可能性の高いイントラ予測モード、イントラ予測モードインデックス表、および変更されたイントラ予測モードインデックス表のインジケーションを含み得る。
【0128】
[0120] ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算すること(subtracting)によって残差ビデオブロックを形成する。加算器50は、この減算を実行する1つまたは複数のコンポーネントを表現する。変換処理ユニット52は、離散コサイン変換(DCT)または概念上同様の変換のような変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを作り出す。変換処理ユニット52は、DCTと概念上同様の他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換もまた使用されることができるだろう。どのケースでも、変換処理ユニット52は、該変換を残差ブロックに適用し、残差変換係数のブロックを作り出す。変換は、残差情報を、ピクセル値ドメインから周波数ドメインのような変換ドメインに転換し得る。変換処理ユニット52は、結果として生じた変換係数を量子化ユニット54に送り得る。
【0129】
[0121] 量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数のいくつかまたは全てに関連付けられたビット深度を低減し得る。量子化の程度は量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット54はその後、量子化された変換係数を含む行列の走査を実行し得る。代わりとして、エントロピー符号化ユニット56が該走査を実行し得る。
【0130】
[0122] 量子化に続いて、エントロピー符号化ユニット56は量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔分割エントロピー(PIPE:probability interval partitioning entropy)コーディング、または別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングのケースでは、コンテキストは近隣ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコーディングに続いて、符号化されたビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信され得るか、または後の送信または検索のためにアーカイブされ得る。
【0131】
[0123] 逆量子化ユニット58および逆変換処理ユニット60は、たとえば、参照ブロックとしての後の使用のためにピクセルドメインにおける残差ブロックを再構築するように、逆量子化および逆変換をそれぞれ適用する。動き補償ユニット44は、復号ピクチャバッファ64のフレームのうちの1つの予測ブロックに残差ブロックを加えることによって、参照ブロックを算出し得る。動き補償ユニット44はまた、動き推定において使用されるサブ整数ピクセル値を算出するために、再構築された残差ブロックに1つまたは複数の補間フィルタを適用もし得る。加算器62は、復号ピクチャバッファ64への記憶用に再構築されたビデオブロックを作り出すために、動き補償ユニット44によって作り出された動き補償された予想ブロックに再構築された残差ブロックを加える。再構築されたビデオブロックは、後続のビデオフレームにおけるブロックをインターコーディングするための参照ブロックとして動き推定ユニット42および動き補償ユニット44によって使用され得る。
【0132】
[0124] ビデオエンコーダ20は、ブロックの時空間的近隣ブロックから現在符号化されているブロックについての量子化パラメータ(QP)値(quantization parameter (QP) value)を導出するための、および/または現在符号化されているブロックの全ての(たとえば、DCおよびAC)変換係数にスケーリングを適用するための本開示の様々な技法を実装し得る。
【0133】
[0125] 以下の説明では、図8に対して参照が行われる。いくつかの実装においてビデオエンコーダ20は、時空間的近隣の接しているブロック(CU)から現在コーディングされているブロック152についての参照QP値を導出し得る。つまりビデオエンコーダ20は、上隣のブロック158および左隣のブロック156を使用して、現在コーディングされているブロック152についてのQP値を導出し得る。ビデオエンコーダ20が上隣のブロック158および左隣のブロック156を使用して現在コーディングされているブロック152についてのQP値を導出するような実装の例が以下の擬似コードによって説明される:
Char TComDataCU::getRefQP( UInt uiCurrAbsIdxInCtu )
{
TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
return (((cULeft? cULeft->getQP( lPartIdx ): m_QuLastCodedQP) + (cUAbove? cUAbove->getQP( aPartIdx ): m_QuLastCodedQP) + 1) >> 1);
}
【0134】
[0126] いくつかの実装では、ビデオエンコーダ20は、参照サンプルの1つまたは複数のQP値を考慮することによって、現在コーディングされているブロック152についてのQP値を導出し得る。ビデオエンコーダ20が現在コーディングされているブロック152についてのQP値を導出するために参照サンプルのQP値(複数を含む)を使用するような実装の例が以下の擬似コードによって説明される:
Char TComDataCU::getRefQP2( UInt uiCurrAbsIdxInCtu )
{
TComDataCU* cULeft = getQpMinCuLeft ( lPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );
TComDataCU* cURefer = getQpMinCuReference( aPartIdx, m_absZIdxInCtu + uiCurrAbsIdxInCtu );

return value = function (cULeft->getLastQP(), cUAbove->getLastQP(), cURefer ->getLastQP());
}
【0135】
[0127] 本明細書で説明されている技法のいくつかの実装にしたがうと、ビデオエンコーダ20は、参照ブロック(複数を含む)のサンプルに適用されるQPおよび/または参照ピクチャとして利用される全てのピクチャについてのグローバルQP(たとえばスライスレベルQP)を記憶し得る。本明細書で説明されている技法のいくつかの実装にしたがうと、ビデオエンコーダ20は、参照ブロック(複数を含む)のサンプルに適用されたスケーリングパラメータおよび/または参照ピクチャとして利用される全てのピクチャについてのグローバルスケーリングパラメータ(global scaling parameter)(たとえばスライスレベルスケーリング)を記憶し得る。参照サンプルのブロックがブロック分割の複数のCUと重複する(それにより、場合によっては区分にわたって異なるQPを有する)場合、ビデオエンコーダ20は、複数の利用可能なQPから該QPを導出し得る。たとえばビデオエンコーダ20は、複数の利用可能なQPに対して平均化のプロセスを実施することによって、現在コーディングされているブロック152についてのQPを導出し得る。ビデオエンコーダ20が、参照サンプルからの複数の利用可能なQPを平均化すること(averaging)によって、現在コーディングされているブロック152についてのQP値を導出するのにしたがう実装の例が、以下の擬似コードによって説明される。
【0136】
Int sum= 0;
for (Int i=0; i < numMinPart; i++)
{
sum += m_phInferQP[COMPONENT_Y][uiAbsPartIdxInCTU + i];
}

avgQP = (sum)/numMinPart;
【0137】
[0128] 本明細書で説明されているQP導出技法のまた別の実装では、ビデオエンコーダ20は、たとえばルックアップテーブル(LUT)から、ルーマ成分の平均輝度の関数としてQPを導出し得る。この実装は以下の擬似コードによって説明され、ここで「avgPred」が参照サンプルの平均輝度である:
QP = PQ_LUT[avgPred];
【0138】
[0129] 本明細書で説明されているQP導出技法のいくつかの実装にしたがうと、ビデオエンコーダ20は、1つまたは複数のグローバルQP値から参照QP値を導出し得る。グローバルQP値の例は、スライスレベルで規定されるQP値である。この実装は、以下の擬似コードによって説明される:
qp = (((Int) pcCU->getSlice()->getSliceQp() + iDQp + 52 + 2*qpBdOffsetY )%(52+ qpBdOffsetY)) - qpBdOffsetY;
【0139】
[0130] 本明細書で説明されているQP導出技法のいくつかの実装にしたがうと、ビデオエンコーダ20は、1つまたは複数の参照サンプル値を利用することによってQP値を導出し得る。この実装は、以下の擬似コードによって説明される:
QP = PQ_LUT[avgPred];
【0140】
[0131] 上記擬似コードでは、「PQ_LUT」は、ビデオエンコーダ20が予測されたブロックの平均輝度(「avgPred」)の値を、関連付けられたPQ値にマッピングするために利用し得るルックアップテーブルを表現する。ビデオエンコーダ20は、参照サンプルの関数としてavgPredの値を、たとえば参照サンプルの平均値を計算することによって、計算し得る。ビデオエンコーダ20が本開示の算出にしたがって使用し得る平均値の例は、平均、メジアン、およびモード値のうちの1つまたは複数を含む。
【0141】
[0132] いくつかの実装では、ビデオエンコーダ20は、QP値の代わりにスケーリングパラメータを導出し得る。他の実装では、ビデオエンコーダ20は、導出されたQP値(複数を含む)をスケールパラメータ(複数を含む)に、またはその逆に転換する転換プロセスを使用し得る。いくつかの実装では、ビデオエンコーダ20は、1つまたは複数の参照サンプルからQP値を導出するために解析表現を利用し得る。たとえば、解析表現を利用するために、ビデオエンコーダ20は、パラメータに関する導出モデルを使用し得る。
【0142】
[0133] 図10は、本開示の技法を実装し得るビデオデコーダ30の例を例示するブロック図である。図10の例では、ビデオデコーダ30は、エントロピー復号ユニット70、ビデオデータメモリ71、動き補償ユニット72、イントラ予測処理ユニット74、逆量子化ユニット76、逆変換処理ユニット78、復号ピクチャバッファ82、および加算器80を含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図9)に関して説明された符号化パスと概して相互関係にある復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る一方で、イントラ予測処理ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【0143】
[0134] ビデオデータメモリ71は、ビデオデコーダ30のコンポーネントによって復号されるべき、符号化されたビデオビットストリームのようなビデオデータを記憶し得る。ビデオデータメモリ71に記憶されたビデオデータは、たとえば、ビデオデータの有線またはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、コンピュータ可読媒体16、たとえば、カメラのようなローカルビデオソースから取得され得る。ビデオデータメモリ71は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングされたピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ82は、たとえばイントラまたはインターコーディングモードで、ビデオデコーダ30によってビデオデータを復号する際に使用される参照ビデオデータを記憶する復号ピクチャバッファであり得る。ビデオデータメモリ71および復号ピクチャバッファ82は、同期動的ランダムアクセスメモリ(SDRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスを含む動的ランダムアクセスメモリ(DRAM)のような、様々なメモリデバイスのうちの何れによっても形成され得る。ビデオデータメモリ71および復号ピクチャバッファ82は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例において、ビデオデータメモリ71は、ビデオデコーダ30の他のコンポーネントとオンチップであり得るか、それらのコンポーネントに対してオフチップであり得る。
【0144】
[0135] 復号プロセス中、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックおよび関連付けられたシンタックス要素を表現する符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化された係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動き補償ユニット72に、動きベクトルおよび他のシンタックス要素を転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
【0145】
[0136] ビデオスライスがイントラコーディング(I)スライスとしてコーディングされるとき、イントラ予測処理ユニット74は、現在のフレームまたはピクチャの前に復号されたブロックからのシグナリングされたイントラ予測モードおよびデータに基づいて、現在のビデオスライスのビデオブロックに関する予測データを生成し得る。ビデオフレームがインターコーディングされた(即ち、BまたはP)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックについて予測ブロックを作り出す。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから作り出され得る。ビデオデコーダ30は、復号ピクチャバッファ82に記憶された参照ピクチャに基づきデフォルトの構築技法を使用して、参照ピクチャリスト、リスト0およびリスト1、を構築し得る。動き補償ユニット72は、動きベクトルおよび他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在ビデオブロックについての予測ブロックを作り出すために該予測情報を使用する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)を決定するために受信されたシンタックス要素、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)、スライスのための参照ピクチャリストのうちの1つまたは複数についての構築情報、スライスの各インター符号化されたビデオブロックについての動きベクトル、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータス、および現在のビデオスライス内のビデオブロックを復号するための他の情報のうちのいくつかを使用する。
【0146】
[0137] 動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、参照ブロックのサブ整数ピクセルについて補間される値を算出するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用されたような補間フィルタを使用し得る。このケースでは、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用される補間フィルタを決定し、予測ブロックを作り出すために補間フィルタを使用し得る。
【0147】
[0138] 逆量子化ユニット76は、ビットストリームにおいて提供され、かつエントロピー復号ユニット70によって復号された量子化された変換係数を、逆量子化する、即ち非量子化する。逆量子化プロセスは、量子化の程度と、また同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライスにおけるビデオブロック毎にビデオデコーダ30によって算出される量子化パラメータQPの使用を含み得る。逆変換処理ユニット78は、ピクセルドメインにおいて残差ブロックを作り出すために、変換係数に逆変換、たとえば、逆DCT、逆整数変換、または概念上同様の逆変換プロセスを適用する。
【0148】
[0139] 動き補償ユニット72が動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックについての予測ブロックを生成した後に、ビデオデコーダ30は、動き補償ユニット72によって生成された対応する予測ブロックで逆変換処理ユニット78から残差ブロックを加算することによって復号されたビデオブロックを形成する。加算器80は、この加算オペレーションを実行する1つまたは複数のコンポーネントを表現する。望ましい場合、デブロッキングフィルタもまた、ブロッキネスアーティファクトを取り除くために復号されたブロックをフィルタするように適用され得る。(コーディングループ内またはコーディングループ後のどちらかの)他のループフィルタもまた、ピクセル遷移を円滑にするために使用され得るか、または別の形でビデオ品質を改善し得る。所与のフレームまたはピクチャにおける復号されたビデオブロックはその後、後続の動き補償のために使用される参照ピクチャを記憶する復号ピクチャバッファ82に記憶される。復号ピクチャバッファ82はまた、図1のディスプレイデバイス32のようなディスプレイデバイス上における後の表示のために復号されたビデオを記憶する。
【0149】
[0140] ビデオデコーダ30は、符号化されたビデオビットストリームにおいて、上で説明された技法のうちの1つまたは複数にしたがってビデオエンコーダ20によって取得されたQP値から導出されるデルタQP値を受信し得る。デルタQP値を使用して、ビデオデコーダ30は、現在復号されているブロック、たとえば図8で例示されている現在コーディングされているブロック152に関するQP値を取得し得る。代わりに、ビデオデコーダ30は、QP値を使用して現在コーディングされているブロック152を非量子化し得る。
【0150】
[0141] ビデオデコーダ30が現在コーディングされているブロック152についてのスケーリングパラメータを受信する事例では、ビデオデコーダ30は、オペランドとしてスケーリングされた値DC’およびAC’を使用する様々と概して相互関係にある逆スケーリングプロセスを実施するためにスケーリングパラメータを使用し得る。つまりビデオデコーダ30は、以下の数式によって表されているように逆スケーリングされたDC係数DC’’および逆スケーリングされたAC変換係数(inverse-scaled AC transform coefficient)AC’’を取得するために、スケーリングされたDC変換係数(scaled DC transform coefficient)DC’およびスケーリングされたAC変換係数(scaled AC transform coefficient)AC’を逆スケーリングするようにスケーリングパラメータを適用し得る。ビデオデコーダ30は、以下の数式において例示されているような逆スケーリングオペレーションを実施し得る:
DC’’ = DC’/scale (fun1(DC’, avgPred));および
AC’’ = AC’/scale (fun2(DC’’, avgPred))
【0151】
[0142] 「fun1」および「fun2」という用語は、引数として参照サンプルの平均値およびDCベースの値を使用するスケール導出関数/プロセスを定義する。ビデオデコーダ30によって実施される逆スケーリング技法に関して例示されているように、本開示の技法は、DC変換係数値とAC変換係数値との両方の導出におけるDC変換係数の使用を可能にする。このように、本開示の技法は、逆スケーリングオペレーションが変換係数の量子化および非量子化の代わりに実行されるかそれらと組み合わせて実行されるかに関わらず、ビデオデコーダ30が、逆スケーリングオペレーションにおいてDC変換係数値を活用することを可能にする。
【0152】
[0143] 図11は、本開示の様々な態様にしたがった、ビデオデコーダ30が実行し得る例となるプロセス170を例示するフローチャートである。プロセス170は、ビデオデコーダ30が現在ブロック152の符号化表現を含む復号されたビデオビットストリームを受信するときに始まり得る(172)。ビデオデコーダ30は、現在ブロック152についての時空間的近隣QP情報(spatio-temporal neighboring QP information)に基づくQP値を再構築し得る(174)。たとえば、ビデオデコーダ30は、符号化されたビデオビットストリームにおいてシグナリングされたデルタQP値からQPを再構築し得る。再構築されたQP値は、図8で例示されたブロック154〜158のうちの1つまたは複数からのQP情報に基づき得る。上で論じられたように、QP値を再構築するために、ビデオデコーダ30は、時空間的近隣ブロック154〜158のうちの2つ以上のQP値を平均化して参照QP値を生み出し、その後該参照QP値にデルタQP値を加えて最終的に現在ブロックについての再構築されたQP値を生成し得る。次にビデオデコーダ30(より具体的には、逆量子化ユニット76)は、時空間的近隣QP情報に基づく再構築されたQP値を使用して、現在ブロック152のCABAC復号された変換係数を非量子化(即ち逆量子化)し得る(176)。いくつかの例では、ビデオデコーダ30は、時空間的近隣のサンプルに基づいて、現在ブロック152のサンプルについての参照QP値を取得し得、現在ブロック152のサンプルを非量子化するためのQP値を導出するために、参照QP値にデルタQP値を加え得る。
【0153】
[0144] 図12は、本開示の様々な態様にしたがった、ビデオデコーダ30が実行し得る例となるプロセス190を例示するフローチャートである。プロセス190は、ビデオデコーダ30が現在ブロック152の符号化表現を含む符号化されたビデオビットストリームを受信するときに始まり得る(192)。ビデオデコーダ30は、現在ブロック152についての時空間的近隣スケーリング情報に基づくスケーリングパラメータを再構築し得る(194)。たとえば、再構築されたスケーリングパラメータは、図8で例示されたブロック154〜158のうちの1つまたは複数からのスケーリング情報に基づき得る。代わりに、ビデオデコーダ30は、時空間的近隣QP情報に基づく再構築されたスケーリングパラメータを使用して現在ブロック152を逆スケーリングし得る(196)。いくつかの例では、ビデオデコーダ30は、複数の逆スケーリングされたDC変換係数(inverse-scaled DC transform coefficient)を取得するために、現在ブロック152の変換係数のうちの複数のDC変換係数に第1の逆スケーリング導出プロセス(first inverse scaling derivation process)を適用し得、複数の逆スケーリングされたAC変換係数を取得するために、現在ブロック152の変換係数のうちの複数の逆スケーリングされたDC変換係数に第2の逆スケーリング導出プロセス(second inverse scaling derivation process)を適用し得る。
【0154】
[0145] 図13は、本開示の様々な態様にしたがった、ビデオエンコーダ20が実行し得る例となるプロセス210を例示するフローチャートである。プロセス210は、ビデオエンコーダ20が現在ブロック152の時空間的近隣QP情報から現在ブロック152についてのQP値を導出するときに始まり得る(212)。ビデオエンコーダ20は、時空間的近隣QP情報から導出されたQP値を使用して現在ブロック152を量子化し得る(214)。次に、ビデオエンコーダ20は、符号化されたビデオビットストリームにおいて、時空間的近隣QP情報に基づくQPから導出されるデルタQP値をシグナリングし得る(216)。いくつかの例では、ビデオエンコーダ20は、空間的に近隣のブロック154および/または156、ならびに/あるいは時間的に近隣のブロック158のうちの2つ以上のサンプルに関連付けられた近隣QP値(neighbor QP value)を選択し得る。いくつかの例ではビデオエンコーダ20は、平均QP値(average QP value)を取得するために選択された近隣QP値を平均化し得、平均QP値から現在ブロックについてのQP値を導出し得る。いくつかの例では、ビデオエンコーダ20は、時空間的近隣のサンプルに基づいて現在ブロック152のサンプルについての参照QP値を取得し得る。これらの例ではビデオエンコーダ20は、現在ブロック152のサンプルについてのデルタ量子化パラメータ(QP)値(delta quantization parameter (QP) value)を導出するために、QP値から参照QP値を減算し得、符号化されたビデオビットストリームにおいてデルタQP値をシグナリングし得る。
【0155】
[0146] 図14は、本開示の様々な態様にしたがった、ビデオエンコーダ20が実行し得る例となるプロセス240を例示するフローチャートである。プロセス240は、ビデオエンコーダ20が現在ブロック152の時空間的近隣スケーリング情報から現在ブロック152についてのスケーリングパラメータを導出するときに始まり得る(242)。ビデオエンコーダ20は、時空間的近隣スケーリング情報から導出されたスケーリングパラメータを使用して現在ブロック152をスケーリングし得る(244)。次に、ビデオエンコーダ20は、符号化されたビデオビットストリームにおいて時空間的近隣スケーリング情報に基づくスケーリングパラメータをシグナリングし得る(246)。
【0156】
[0147] 上で説明されたように、開示されているシステムおよび技法はまた、信号の時空間的近隣からの量子化またはスケーリングパラメータの導出のためのいくつかのアルゴリズムを組み込むか、または含む。つまり本開示の例となるシステムおよび技法は、コーディングプロセスにおいて現在ブロックに関連付けられた残差データを修正するために使用される1つまたは複数のパラメータ値を取得することを対象としている。本明細書で使用される場合、残差データを修正するために使用されるパラメータ値は、(符号化プロセスまたは復号プロセスそれぞれで残差データを量子化または非量子化することによって残差データを修正するために使用される)量子化パラメータ、または(符号化プロセスまたは復号プロセスそれぞれで残差データをスケーリングまたは逆スケーリングすることによって残差データを修正するために使用される)スケーリングパラメータを含み得る。
【0157】
[0148] 本開示のある特定の態様は、例示の目的でHEVC規格の拡張に関連して説明されてきた。しかしながら、本開示で説明されている技法は、まだ開発されていない他の規格の、または他の所有権を有するビデオコーディングプロセスを含む、他のビデオコーディングプロセスに有益であり得る。
【0158】
[0149] 本開示で説明されているようなビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングは、適用可能な場合、ビデオ符号化またはビデオ復号を指し得る。
【0159】
[0150] 例に依存して、本明細書で説明されている技法のうちの任意のものの特定の動作またはイベントが、異なるシーケンスで実行され得るか、加えられ得るか、混合され得るか、または完全に除外され得る(たとえば、全ての説明されている動作またはイベントが技法の実施のために必要であるわけではない)ことは認識されるものとする。さらにある特定の例では、動作またはイベントが、たとえば、マルチスレッド処理、割り込み処理、または複数のプロセッサを通して、シーケンシャルと言うよりむしろ同時に実行され得る。
【0160】
[0151] 1つまたは複数の例では、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらのあらゆる組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上で1つまたは複数の命令またはコードとして記憶または送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルにしたがって、コンピュータプログラムの1つの場所から別の場所への転送を容易にするあらゆる媒体を含む通信媒体、またはデータ記憶媒体のような有体の媒体に対応するコンピュータ可読記憶媒体を含み得る。このように、コンピュータ可読媒体は、概して、(1)非一時的である有体のコンピュータ可読記憶媒体、または(2)信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明されている技法の実装のための命令、コード、および/またはデータ構造を検索するために、1つまたは複数のコンピュータ、または1つまたは複数のプロセッサによってアクセスされ得るあらゆる利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【0161】
[0152] 限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光学ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態で望ましいプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得るあらゆる他の媒体を備え得る。また、何れの接続手段も、厳密にはコンピュータ可読媒体と称される。たとえば、命令が、ウェブサイトから、サーバから、または同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用する他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続手段、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的で有体の記憶媒体を対象としていることが理解されるべきである。ディスク(disk)およびディスク(disc)は、本明細書で使用される場合、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光学ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ここで、ディスク(disk)は大抵、磁気的にデータを再生する一方で、ディスク(disc)は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【0162】
[0153] 命令は、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または、他の同等な集積またはディスクリート論理回路のような1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造、または本明細書で説明されている技法の実装に適したあらゆる他の構造のうちの何れも指し得る。加えていくつかの態様では、本明細書で説明されている機能は、符号化および復号のために構成された専用ハードウェアモジュールおよび/またはソフトウェアモジュール内で提供され得るか、あるいは組み合わせられたコデックに組み込まれ得る。また、技法は、1つまたは複数の回路あるいは論理要素において十分に実装され得るであろう。
【0163】
[0154] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえばチップセット)を含む、幅広い種類のデバイスまたは装置において実装され得る。様々なコンポーネント、モジュール、またはユニットが、開示されている技法を実行するように構成されたデバイスの機能的な態様を強調するために本開示で説明されているが、必ずしも異なるハードウェアユニットによる実現を要求しない。むしろ、上で説明されたように、様々なユニットがコデックハードウェアユニットで組み合わせられ得るか、あるいは適したソフトウェアおよび/またはファームウェアと連携した上で説明されたような1つまたは複数のプロセッサを含む、対話型(interoperative)ハードウェアユニットの集合によって提供され得る。
【0164】
[0155] 様々な例が説明されてきた。これらのおよび他の例は、次の請求項の範囲内にある。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【手続補正書】
【提出日】20190423
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデータの現在ブロックをコーディングする方法であって、
1つまたは複数の近隣のブロックを指す前記現在ブロックに関連付けられた視差ベクトル(DV)に基づいて、前記現在ブロックの前記1つまたは複数の近隣のブロックを識別することと、前記近隣のブロックの各々は前記現在ブロックの時空間的近隣内に位置し、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックの時間的に近隣のブロックを含む、
前記現在ブロックに関連付けられた前記DVによって指される前記1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づくパラメータ値を取得することと
記取得されたパラメータ値を使用して前記現在ブロックに関連付けられた残差データを修正することによって、前記ビデオデータの前記現在ブロックをコーディングすることと、
を備える方法。
【請求項2】
前記取得されたパラメータ値は量子化パラメータ(QP)値を備え、前記残差データを修正することは、前記QP値を使用して前記現在ブロックのサンプルを非量子化することを備える、請求項1に記載の方法。
【請求項3】
前記QP値を取得することは、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ(QP)値を受信することと、
前記現在ブロックに関連付けられた前記DVによって指される前記近隣のブロックのサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記QP値を導出するために、前記参照QP値に前記デルタQP値を加えることと、
を備える、請求項に記載の方法。
【請求項4】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記残差データを修正することは、前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることを備える、請求項1に記載の方法。
【請求項5】
前記現在ブロックの前記変換係数を逆スケーリングすることは、
スケーリングされたDC変換係数を取得するために、前記現在ブロックのDC変換係数に第1の逆スケーリング導出プロセスを適用することと、
スケーリングされたAC変換係数を取得するために、前記現在ブロックの前記逆スケーリングされたDC変換係数に第2の逆スケーリング導出プロセスを適用することと、
を備える、請求項4に記載の方法。
【請求項6】
前記パラメータ値を取得することは量子化パラメータ(QP)値を取得することを備え、前記方法は、
前記現在ブロックに関連付けられた前記DVによって指される前記識別された1つまたは複数の近隣のブロックのうちの2つ以上のサンプルに関連付けられた近隣QP値を選択することと、
平均QP値を取得するために、前記選択された近隣QP値を平均化することと、
前記平均QP値から前記現在ブロックについての前記QP値を導出することと、
を備え、
前記残差データを修正することは、少なくとも部分的に前記QP値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化することを備える、請求項1に記載の方法。
【請求項7】
前記現在ブロックに関連付けられた前記DVによって指される識別された1つまたは複数の近隣のブロックに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ(QP)値を導出するために、前記QP値から前記参照QP値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタQP値をシグナリングすることと、
をさらに備える、請求項6に記載の方法。
【請求項8】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化することを備える、請求項1に記載の方法。
【請求項9】
前記現在ブロックの前記変換係数をスケーリングすることは、
前記現在ブロックの前記変換係数のうちの第1の複数のDC変換係数に第1のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの第2の複数のDC変換係数に第2のスケーリング導出プロセスを適用することと、
を備える、請求項8に記載の方法。
【請求項10】
前記取得されたパラメータ値は、前記ビデオデータのスライスの全てのブロックに適用可能であるグローバルパラメータ値を備前記スライスは、前記ビデオデータの前記現在ブロックを含む、請求項1に記載の方法。
【請求項11】
ビデオデータをコーディングするためのデバイスであって、
現在ブロックを含むビデオデータを記憶するように構成されたメモリと、
前記メモリと通信する処理回路と、
を備え、前記処理回路は、
1つまたは複数の近隣のブロックを指す前記現在ブロックに関連付けられた視差ベクトル(DV)に基づいて、前記現在ブロックの前記1つまたは複数の近隣のブロックを識別することと、前記近隣のブロックの各々は前記現在ブロックの時空間的近隣内に位置し、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックの時間的に近隣のブロックを含む、
前記現在ブロックに関連付けられた前記DVによって指される前記1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと
前記取得されたパラメータ値を使用して前記現在ブロックに関連付けられた残差データを修正することによって、前記メモリに記憶された前記ビデオデータの前記現在ブロックをコーディングすることと、
を行うように構成されるデバイス。
【請求項12】
前記取得されたパラメータ値は量子化パラメータ(QP)値を備え、前記残差データを修正するために、前記処理回路は、少なくとも部分的に前記QP値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号するように構成される、請求項11に記載のデバイス。
【請求項13】
前記QP値を取得するために、前記処理回路は、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ(QP)値を受信することと、
前記現在ブロックに関連付けられた前記DVによって指される前記近隣のブロックのサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記QP値を導出するために、前記参照QP値に前記デルタQP値を加えることと、
を行うように構成される、請求項11に記載のデバイス。
【請求項14】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記残差データを修正するために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号するように構成される、請求項11に記載のデバイス。
【請求項15】
前記現在ブロックの前記変換係数を逆スケーリングするために、前記処理回路は、
スケーリングされたDC変換係数を取得するために、前記現在ブロックのDC変換係数に第1の逆スケーリング導出プロセスを適用することと、
スケーリングされたAC変換係数を取得するために、前記現在ブロックの前記逆スケーリングされたDC係数に第2の逆スケーリング導出プロセスを適用することと、
を行うように構成される、請求項14に記載のデバイス。
【請求項16】
前記パラメータ値は量子化パラメータ(QP)値を備え、
前記QP値を取得するために、前記処理回路は、
前記現在ブロックに関連付けられた前記DVによって指される識別された1つまたは複数の近隣のブロックのうちの2つ以上のサンプルに関連付けられた近隣QP値を選択することと、
平均QP値を取得するために、前記選択された近隣QP値を平均化することと、
前記平均QP値から前記現在ブロックについての前記QP値を導出することと、
を行うように構成され、
前記残差データを修正するために、前記処理回路は、少なくとも部分的に前記QP値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化するように構成される、請求項11に記載のデバイス。
【請求項17】
前記処理回路は、
前記現在ブロックに関連付けられた前記DVによって指される識別された1つまたは複数の近隣のブロックに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ(QP)値を導出するために、前記QP値から前記参照QP値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタQP値をシグナリングすることと、
を行うようにさらに構成される、請求項16に記載のデバイス。
【請求項18】
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化するように構成される、請求項11に記載のデバイス。
【請求項19】
前記現在ブロックの前記変換係数をスケーリングするために、前記処理回路は、
前記現在ブロックの前記変換係数のうちの第1の複数のDC変換係数に第1のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの第2の複数のDC変換係数に第2のスケーリング導出プロセスを適用することと、
を行うように構成される、請求項18に記載のデバイス。
【請求項20】
前記取得されたパラメータ値は、前記ビデオデータのスライスの全てのブロックに適用可能であるグローバルパラメータ値を備え、前記スライスは、前記ビデオデータの前記現在ブロックを含む、請求項11に記載のデバイス。
【請求項21】
ビデオデータをコーディングするための装置であって、
1つまたは複数の近隣のブロックを指す現在ブロックに関連付けられた視差ベクトル(DV)に基づいて、前記ビデオデータの前記現在ブロックの前記1つまたは複数の近隣のブロックを識別するための手段と、前記近隣のブロックの各々は前記現在ブロックの時空間的近隣内に位置し、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックの時間的に近隣のブロックを含む、
前記ビデオデータの前記現在ブロックに関連付けられた前記DVによって指される前記1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得するための手段と、
前記取得されたパラメータ値を使用して前記現在ブロックに関連付けられた残差データを修正することによって、前記ビデオデータの前記現在ブロックをコーディングするための手段と、
を備える装置。
【請求項22】
命令で符号化された非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオコーディングデバイスの処理回路に、
1つまたは複数の近隣のブロックを指す現在ブロックに関連付けられた視差ベクトル(DV)に基づいて、ビデオデータの前記現在ブロックの前記1つまたは複数の近隣のブロックを識別することと、前記近隣のブロックの各々は前記現在ブロックの時空間的近隣内に位置し、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックの時間的に近隣のブロックを含む、
前記現在ブロックに関連付けられた前記DVによって指される1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、
前記取得されたパラメータ値を使用して前記現在ブロックに関連付けられた残差データを修正することによって、前記ビデオデータの前記現在ブロックをコーディングすることと、
を行わせる、非一時的コンピュータ可読記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0164
【補正方法】変更
【補正の内容】
【0164】
[0155] 様々な例が説明されてきた。これらのおよび他の例は、次の請求項の範囲内にある。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータの現在ブロックをコーディングする方法であって、
前記現在ブロックの時空間的近隣内に位置する前記ビデオデータの1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づくパラメータ値を取得することと、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることと、
を備える方法。
[C2]
前記取得されたパラメータ値は量子化パラメータ(QP)値を備え、前記取得されたパラメータ値に基づく前記現在ブロックをコーディングすることは、少なくとも部分的に前記QP値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号することを備える、C1に記載の方法。
[C3]
前記QP値を取得することは、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ(QP)値を受信することと、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記QP値を導出するために、前記参照QP値に前記デルタQP値を加えることと、
を備える、C2に記載の方法。
[C4]
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号することを備える、C1に記載の方法。
[C5]
前記現在ブロックの前記変換係数を逆スケーリングすることは、
複数の逆スケーリングされたDC変換係数を取得するために、前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第1の逆スケーリング導出プロセスを適用することと、
複数の逆スケーリングされたAC変換係数を取得するために、前記現在ブロックの前記変換係数のうちの前記複数の逆スケーリングされたDC変換係数に第2の逆スケーリング導出プロセスを適用することと、
を備える、C4に記載の方法。
[C6]
前記パラメータ値を取得することは量子化パラメータ(QP)値を取得することを備え、前記方法は、
前記空間的に近隣のブロックまたは前記時間的に近隣のブロックのうちの2つ以上のサンプルに関連付けられた近隣QP値を選択することと、
平均QP値を取得するために、前記選択された近隣QP値を平均化することと、
前記平均QP値から前記現在ブロックについての前記QP値を導出することと、
を備え、
前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記QP値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化することを備える、C1に記載の方法。
[C7]
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ(QP)値を導出するために、前記QP値から前記参照QP値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタQP値をシグナリングすることと、
をさらに備える、C6に記載の方法。
[C8]
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングすることは、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化することを備える、C1に記載の方法。
[C9]
前記現在ブロックの前記変換係数をスケーリングすることは、
前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第1のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第2のスケーリング導出プロセスを適用することと、
を備える、C8に記載の方法。
[C10]
前記取得されたパラメータ値は、前記現在ブロックを含むスライスの全てのブロックに適用可能であるグローバルパラメータ値を備える、C1に記載の方法。
[C11]
ビデオデータをコーディングするためのデバイスであって、
現在ブロックを含むビデオデータを記憶するように構成されたメモリと、
前記メモリと通信する処理回路と、
を備え、前記処理回路は、
前記メモリに記憶された前記ビデオデータの1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、前記1つまたは複数の近隣のブロックは、前記現在ブロックの時空間的近隣内に位置し、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記メモリに記憶された前記ビデオデータの前記現在ブロックをコーディングすることと、
を行うように構成されるデバイス。
[C12]
前記取得されたパラメータ値は量子化パラメータ(QP)値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記QP値を使用して前記現在ブロックのサンプルを非量子化することによって、前記現在ブロックを復号するように構成される、C11に記載のデバイス。
[C13]
前記QP値を取得するために、前記処理回路は、
符号化されたビデオビットストリームにおいて、デルタ量子化パラメータ(QP)値を受信することと、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルを非量子化するための前記QP値を導出するために、前記参照QP値に前記デルタQP値を加えることと、
を行うように構成される、C12に記載のデバイス。
[C14]
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数を逆スケーリングすることによって、前記現在ブロックを復号するように構成される、C11に記載のデバイス。
[C15]
前記現在ブロックの前記変換係数を逆スケーリングするために、前記処理回路は、
複数の逆スケーリングされたDC変換係数を取得するために、前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第1の逆スケーリング導出プロセスを適用することと、
複数の逆スケーリングされたAC変換係数を取得するために、前記現在ブロックの前記変換係数のうちの前記複数の逆スケーリングされたDC変換係数に第2の逆スケーリング導出プロセスを適用することと、
を行うように構成される、C14に記載のデバイス。
[C16]
前記パラメータ値は量子化パラメータ(QP)値を備え、
前記QP値を取得するために、前記処理回路は、
前記空間的に近隣のブロックまたは前記時間的に近隣のブロックのうちの2つ以上のサンプルに関連付けられた近隣QP値を選択することと、
平均QP値を取得するために、前記選択された近隣QP値を平均化することと、
前記平均QP値から前記現在ブロックについての前記QP値を導出することと、
を行うように構成され、
前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記QP値を使用して前記現在ブロックを量子化することによって、前記現在ブロックを符号化するように構成される、C11に記載のデバイス。
[C17]
前記処理回路は、
前記時空間的近隣のサンプルに基づいて、前記現在ブロックのサンプルについての参照QP値を取得することと、
前記現在ブロックの前記サンプルについてのデルタ量子化パラメータ(QP)値を導出するために、前記QP値から前記参照QP値を減算することと、
符号化されたビデオビットストリームにおいて、前記デルタQP値をシグナリングすることと、
を行うようにさらに構成される、C16に記載のデバイス。
[C18]
前記取得されたパラメータ値はスケーリングパラメータ値を備え、前記取得されたパラメータ値に基づいて前記現在ブロックをコーディングするために、前記処理回路は、少なくとも部分的に前記スケーリングパラメータ値を使用して前記現在ブロックの変換係数をスケーリングすることによって、前記現在ブロックを符号化するように構成される、C11に記載のデバイス。
[C19]
前記現在ブロックの前記変換係数をスケーリングするために、前記処理回路は、
前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第1のスケーリング導出プロセスを適用することと、
前記現在ブロックの前記変換係数のうちの複数のDC変換係数に第2のスケーリング導出プロセスを適用することと、
を行うように構成される、C18に記載のデバイス。
[C20]
前記取得されたパラメータ値は、前記現在ブロックを含むスライスの全てのブロックに適用可能であるグローバルパラメータ値を備える、C11に記載のデバイス。
[C21]
ビデオデータをコーディングするための装置であって、
前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得するための手段と、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングするための手段と、
を備える装置。
[C22]
命令で符号化された非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオコーディングデバイスの処理回路に、
前記ビデオデータの現在ブロックの時空間的近隣内に位置する前記ビデオデータの1つまたは複数の近隣のブロックに関連付けられた1つまたは複数の対応するパラメータ値に基づいているパラメータ値を取得することと、ここにおいて、前記時空間的近隣は、前記現在ブロックに隣接して位置する1つまたは複数の空間的に近隣のブロック、および前記現在ブロックに関連付けられた視差ベクトル(DV)によって指される時間的に近隣のブロックを含み、前記取得されたパラメータ値は、コーディングプロセスにおいて前記現在ブロックに関連付けられた残差データを修正するために使用される、
前記取得されたパラメータ値に基づいて、前記ビデオデータの前記現在ブロックをコーディングすることと、
を行わせる、非一時的コンピュータ可読記憶媒体。
【国際調査報告】