JP6151446B2 - ビデオコーディングのための高精度明示的重み付け予測 - Google Patents

ビデオコーディングのための高精度明示的重み付け予測 Download PDF

Info

Publication number
JP6151446B2
JP6151446B2 JP2016519886A JP2016519886A JP6151446B2 JP 6151446 B2 JP6151446 B2 JP 6151446B2 JP 2016519886 A JP2016519886 A JP 2016519886A JP 2016519886 A JP2016519886 A JP 2016519886A JP 6151446 B2 JP6151446 B2 JP 6151446B2
Authority
JP
Japan
Prior art keywords
value
bit depth
offset
parameter
luma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016519886A
Other languages
English (en)
Other versions
JP2016538749A (ja
JP2016538749A5 (ja
Inventor
プ、ウェイ
チェン、ジャンレ
カークゼウィックズ、マルタ
キム、ウォ−シク
ソル・ロジャルス、ジョエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016538749A publication Critical patent/JP2016538749A/ja
Publication of JP2016538749A5 publication Critical patent/JP2016538749A5/ja
Application granted granted Critical
Publication of JP6151446B2 publication Critical patent/JP6151446B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、2013年10月3日に出願された米国仮出願第61/886,230号、および2013年10月17日に出願された米国仮出願第61/892,198号の利益を主張する。
[0002]本開示は、ビデオコーディングに関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part 10,Advanced Video Coding(AVC)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、および、そのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)が、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
[0006]概して、本開示では、高精度明示的重み付け予測のための技法について説明する。これらの技法は、高効率ビデオコーディング(HEVC)のための範囲拡張または他のビデオコーディング規格に対する拡張のために使用され得る。
[0007]一例では、ビデオデータを復号する方法は、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を復号することと、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの1つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値を復号することと、パラメータの値が、高ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値を復号することと、パラメータの値に少なくとも部分的に基づいてビデオデータを復号することとを行うこととを含む。
[0008]別の例では、ビデオデータを符号化する方法は、ビデオデータのために高ビット深度を使用可能にすることを決定することと、高ビット深度を使用可能にすることを決定した後に、高ビット深度が使用可能であることを示すシンタックス要素の値を符号化することと、ビデオデータの1つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値を符号化することと、パラメータの値が、高ビット深度に基づくビット深度を有するようにパラメータの値を符号化することと、パラメータの値に少なくとも部分的に基づいてビデオデータを符号化することとを行うこととを含む。
[0009]別の例では、ビデオデータをコーディングするためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすること、および高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの1つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値をコーディングすることと、パラメータの値が、高ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値をコーディングすることと、パラメータの値に少なくとも部分的に基づいてビデオデータをコーディングすることとを行うことを行うように構成されたビデオコーダとを含む。
[0010]別の例では、ビデオデータをコーディングするためのデバイスは、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングするための手段と、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの1つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値をコーディングするための手段と、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、パラメータの値が、高ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値をコーディングするための手段と、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、パラメータの値に少なくとも部分的に基づいてビデオデータをコーディングするための手段とを含む。
[0011]別の例では、コンピュータ可読記憶媒体(たとえば、非一時的コンピュータ可読記憶媒体)は、実行されたとき、プロセッサに、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすることと、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの1つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値をコーディングすることと、パラメータの値が、高ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値をコーディングすることと、パラメータの値に少なくとも部分的に基づいてビデオデータをコーディングすることとを行うこととを行わせる命令を有する。
[0012]1つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになろう。
[0013]高精度明示的重み付け予測のための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 [0014]高精度明示的重み付け予測のための技法を実装し得るビデオエンコーダの一例を示すブロック図。 [0015]高精度明示的重み付け予測のための技法を実装し得るビデオデコーダの一例を示すブロック図。 [0016]本開示の技法に従って、現在のブロックを符号化するための例示的な方法を示すフローチャート。 [0017]本開示の技法に従って、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャート。
[0018]概して、本開示の技法は、高精度明示的重み付け予測に関する。たとえば、これらの技法は、高効率ビデオコーディング(HEVC)範囲拡張において使用され得る。HEVCは、ITU−T H.265、SERIES H:AUDIOVISUAL AND MULTIMEDIA SYSTEMS、Infrastructure of Audiovisual Services−Coding of Moving Video、「High Efficiency Video Coding」、2013年4月(以下、「H.265」)に記載されている。HEVCに対する様々な拡張が提案されている。1つのそのような拡張はHEVC範囲拡張であり、HEVC範囲拡張は、「High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 4」、JCTVC−N1005_v3、2013年8月(以下、「JCTVC−N1005」)に記載されている。
[0019]H.265は、8ビットおよび10ビットのコーデックについて記述するメインプロファイルバージョンIを指定する。H.265における明示的重み付け予測に関するパラメータは、8ビットのコーデックに制限されている。しかしながら、HEVC範囲拡張のために提案されているように、入力ビデオは、最高16ビットであり得、これにより、8ビットの明示的重み付け予測パラメータは不十分になる。本開示では、明示的重み付け予測パラメータのビット深度を入力ビデオのビット深度に整合させるために使用され得る拡張明示的重み付け予測技法について説明する。
[0020]JCTVC−N1005のセクション7.3.6.3は、以下の表1に示すように、重み付け予測パラメータについてのシンタックスを指定する。表1において、予測重みテーブル(pred_weight_table)の一部を形成する重み付け予測パラメータは、スライスヘッダ中でシグナリングされ得る。
Figure 0006151446
[0021]JCTVC−N1005は、セクション7.4.7.3において、次のように表1のシンタックス要素についてのセマンティクスを定義する。
[0022]luma_log2_weight_denomは、すべてのルーマ重み係数のための分母の底を2とする対数である。luma_log2_weight_denomの値は、両端値を含む0〜7の範囲内にあるものとする。
[0023]delta_chroma_log2_weight_denomは、すべてのクロマ重み係数のための分母の底を2とする対数の差である。
[0024]変数ChromaLog2WeightDenomは、luma_log2_weight_denom+delta_chroma_log2_weight_denomに等しくなるように導出され、値は、両端値を含む0〜7の範囲内にあるものとする。
[0025]1に等しいluma_weight_l0_flag[i]は、RefPicList0[i]を使用したリスト0予測のルーマ成分のための重み係数が存在することを指定する。0に等しいluma_weight_l0_flag[i]は、これらの重み係数が存在しないことを指定する。
[0026]1に等しいchroma_weight_l0_flag[i]は、RefPicList0[i]を使用したリスト0予測のクロマ予測値のための重み係数が存在することを指定する。0に等しいchroma_weight_l0_flag[i]は、これらの重み係数が存在しないことを指定する。chroma_weight_l0_flag[i]は、存在しないとき、0に等しくなると推論される。
[0027]delta_luma_weight_l0[i]は、RefPicList0[i]を使用したリスト0予測のルーマ予測値に適用される重み係数の差である。
[0028]変数LumaWeightL0[i]は、(1<<luma_log2_weight_denom)+delta_luma_weight_l0[i]に等しくなるように導出される。luma_weight_l0_flag[i]が1に等しくなるとき、delta_luma_weight_l0[i]の値は、両端値を含む−128〜127の範囲内にあるものとする。luma_weight_l0_flag[i]は、0に等しくなるとき、LumaWeightL0[i]は、2luma_log2_weight_denomに等しくなると推論される。
[0029]luma_offset_l0[i]は、RefPicList0[i]を使用したリスト0予測のルーマ予測値に適用される加法オフセットである。luma_offset_l0[i]の値は、両端値を含む−128〜127の範囲内にあるものとする。luma_weight_l0_flag[i]は、0に等しくなるとき、luma_offset_l0[i]は、0に等しいものとして推論される。
[0030]delta_chroma_weight_l0[i][j]は、RefPicList0[i]を使用したリスト0予測のクロマ予測値に適用される重み係数の差であり、jは、Cbの場合0に等しくなり、jは、Crの場合1に等しくなる。
[0031]変数ChromaWeightL0[i][j]は、(1<<ChromaLog2WeightDenom)+delta_chroma_weight_l0[i][j]に等しくなるように導出される。chroma_weight_l0_flag[i]が1に等しくなるとき、delta_chroma_weight_l0[i][j]の値は、両端値を含む−128〜127の範囲内にあるものとする。chroma_weight_l0_flag[i]は、0に等しくなるとき、ChromaWeightL0[i][j]は、2ChromaLog2WeightDenomに等しくなると推論される。
[0032]delta_chroma_offset_l0[i][j]は、RefPicList0[i]を使用したリスト0予測のクロマ予測値に適用される加法オフセットの差であり、jは、Cbの場合0に等しくなり、jは、Crの場合1に等しくなる。
[0033]変数ChromaOffsetL0[i][j]は、次のように導出される。
Figure 0006151446
[0034]delta_chroma_offset_l0[i][j]の値は、両端値を含む−512〜511の範囲内にあるものとする。chroma_weight_l0_flag[i]は、0に等しくなるとき、ChromaOffsetL0[i][j]は、0に等しくなると推論される。
[0035]luma_weight_l1_flag[i]、chroma_weight_l1_flag[i]、delta_luma_weight_l1[i]、luma_offset_l1[i]、delta_chroma_weight_l1[i][j]、およびdelta_chroma_offset_l1[i][j]は、それぞれ、luma_weight_l0_flag[i]、chroma_weight_l0_flag[i]、delta_luma_weight_l0[i]、luma_offset_l0[i]、delta_chroma_weight_l0[i][j]、およびdelta_chroma_offset_l0[i][j]と同じセマンティクスを有し、l0、L0、list0、およびList0は、それぞれ、l1、L1、list1およびList1に置き換えられる。
[0036]変数sumWeightL0Flagsは、i=0..num_ref_idx_l0_active_minus1の場合、luma_weight_l0_flag[i]+2*chroma_weight_l0_flag[i]の和に等しくなるように導出される。
[0037]slice_typeがBに等しくなるとき、変数sumWeightL1Flagsは、i=0..num_ref_idx_l1_active_minus1の場合、luma_weight_l1_flag[i]+2*chroma_weight_l1_flag[i]の和に等しくなるように導出される。
[0038]JCTVC−N1005は、ビットストリーム準拠のために、slice_typeがPに等しくなるとき、sumWeightL0Flagsが24以下であるものとし、slice_typeがBに等しくなるとき、sumWeightL0FlagsとsumWeightL1Flagsとの和が24以下であるものとすることを必要とする。
[0039]JCTVC−N1005のセクション8.5.3.3.4.3は、明示的重み付け例示サンプル予測プロセスを次のように指定している。
[0040]このプロセスへの入力は以下の通りである。
[0041]−ルーマ予測ブロックの幅および高さを指定する2つの変数nPbWおよびnPbH、
[0042]−2つの(nPbW)x(nPbH)アレイpredSamplesL0およびpredSamplesL1、
[0043]−予測リスト利用フラグpredFlagL0およびpredFlagL1、
[0044]−参照インデックスrefIdxL0およびrefIdxL1、
[0045]−色成分インデックスを指定する変数cIdx、
[0046]−サンプルのビット深度bitDepth。
[0047]このプロセスの出力は、予測サンプル値の(nPbW)x(nPbH)アレイpredSamplesである。
[0048]変数shift1は、Max(2,14−bitDepth)に等しくなるように設定される。
[0049]変数log2Wd、o0、o1、およびw0、w1は、次のように導出される。
[0050]−ルーマサンプルの場合にcIdxが0に等しくなる場合、以下が適用される。
[0051]
Figure 0006151446
[0052]
Figure 0006151446
[0053]
Figure 0006151446
[0054]
Figure 0006151446
[0055]
Figure 0006151446
[0056]そうでない場合(クロマサンプルの場合にcIdxが0に等しくない)、以下が適用される。
[0057]
Figure 0006151446
[0058]
Figure 0006151446
[0059]
Figure 0006151446
[0060]
Figure 0006151446
[0061]
Figure 0006151446
[0062]x=0..nPbW−1であり、y=0..nPbH−1である予測サンプルpredSamples[x][y]は、次のように導出される。
[0063]−predFlagL0が1に等しくなり、predFlagL1が0に等しくなる場合、予測サンプル値は、次のように導出される。
[0064]
Figure 0006151446
[0069]−そうではなく、predFlagL0が0に等しくなり、predFlagL1が1に等しくなる場合、予測サンプル値は、次のように導出される。
[0070]
Figure 0006151446
[0075]−そうでない場合(predFlagL0が1に等しくなり、predFlagL1が1に等しくなる)、予測サンプル値は、次のように導出される。
[0076]
Figure 0006151446
[0079]本開示では、JCTVC−N1005の明示的重み付け予測を改善し得る技法について説明する。たとえば、本開示の技法は、高精度明示的重み付け予測のために実装され得る。高精度明示的重み付け予測は、高ビット深度入力ビデオのコーディング効率を改善し得る。これらの技法によれば、ビデオコーダ(たとえば、ビデオエンコーダまたはビデオデコーダ)は、16ビットの乗算を使用してオーバーフローが起こらないことを保証するために、入力データのビット深度に従って右シフトを適応的に適用し得る。さらに、本開示の技法は、高精度明示的重み付け予測が使用されるかどうかを示す(フラグなどの)シンタックス要素の値をシグナリングすることを含み得る。
[0080]図1は、高精度明示的重み付け予測のための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、タブレット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0081]宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動させることができる任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0082]いくつかの例では、符号化データは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0083]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0084]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、高精度明示的重み付け予測のための本技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなど、外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0085]図1の図示のシステム10は一例にすぎない。高精度明示的重み付け予測のための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。さらに、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
[0086]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
[0087]コンピュータ可読媒体16は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化されたビデオデータを受信し、宛先デバイス14に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体16は、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
[0088]宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0089]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part 10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、MPEG−2およびITU−T H.263がある。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0090]ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明する技法は、H.264規格に概して準拠するデバイスに適用され得る。H.264規格は、ITU−T Study Groupによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格もしくはH.264仕様、またはH.264/AVC規格もしくは仕様と呼ぶことがある。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
[0091]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0092]JCT−VCは、HEVC規格を開発し続けている。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0093]概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU:largest coding units)(「コーディングツリーユニット:coding tree units」とも呼ばれる)に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
[0094]4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しない場合でも、リーフCUの4つのサブCUをリーフCUとも呼ぶ。たとえば、16×16サイズのCUがさらに分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
[0095]CUは、CUがサイズの差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大CU深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示では、HEVCのコンテキストにおけるCU、PU、もしくはTU、または他の規格のコンテキストにおける同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。
[0096]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形(たとえば、矩形)であり得る。
[0097]HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差クワッドツリー」(RQT:residual quad tree)として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
[0098]リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分に対応する空間的エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUについてのデータは、PUに対応するTUについてのイントラ予測モードを記述するデータを含み得る残差4分木(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)を記述し得る。
[0099]1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明したように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれることがある。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、概して、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値をTUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUの対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0100]さらに、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
[0101]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
[0102]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0103]本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列で構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。
[0104]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0105]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
[0106]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(したがってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(したがってより高い周波数)の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応型走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0107]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0108]本開示の技法によれば、ビデオエンコーダ20およびビデオデコーダ30は、高精度明示的重み付け予測を実行するように構成され得る。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、上記で説明した表1のシンタックス要素に対するいくつかの変更セマンティクスに従ってビデオデータをコーディングするように構成され得る。一例として、変更セマンティクスは、以下に示すセマンティクスのいずれかまたはすべてを含み得る。以下のシンタックス要素についてのセマンティクスでは、下線付きのテキストは、JCTVC−N1005に記載されているセマンティクスに対する差を表す。
[0109]luma_log2_weight_denomは、すべてのルーマ重み係数のための分母の底を2とする対数である。luma_log2_weight_denomの値は、両端値を含む0〜bitDepth−1の範囲内にあるものとする。
[0110]delta_chroma_log2_weight_denomは、すべてのクロマ重み係数のための分母の底を2とする対数の差である。
[0111]変数ChromaLog2WeightDenomは、luma_log2_weight_denom+delta_chroma_log2_weight_denomに等しくなるように導出され、値は、両端値を含む0〜bitDepth−1の範囲内にあるものとする。
[0112]delta_luma_weight_l0[i]は、RefPicList0[i]を使用したリスト0予測のルーマ予測値に適用される重み係数の差である。
[0113]変数LumaWeightL0[i]は、(1<<luma_log2_weight_denom)+delta_luma_weight_l0[i]に等しくなるように導出される。luma_weight_l0_flag[i]が1に等しくなるとき、delta_luma_weight_l0[i]の値は、両端値を含む−2 bitDepth-1 〜2 bitDepth-1 −1の範囲内にあるものとする。luma_weight_l0_flag[i]は、0に等しくなるとき、LumaWeightL0[i]は、2luma_log2_weight_denomに等しくなると推論される。
[0114]luma_offset_l0[i]は、RefPicList0[i]を使用したリスト0予測のルーマ予測値に適用される加法オフセットである。luma_offset_l0[i]の値は、両端値を含む−2 bitDepth-1 〜2 bitDepth-1 −1の範囲内にあるものとする。luma_weight_l0_flag[i]は、0に等しくなるとき、luma_offset_l0[i]は、0に等しいものとして推論される。
[0115]delta_chroma_weight_l0[i][j]は、RefPicList0[i]を使用したリスト0予測のクロマ予測値に適用される重み係数の差であり、jは、Cbの場合0に等しくなり、jは、Crの場合1に等しくなる。
[0116]変数ChromaWeightL0[i][j]は、(1<<ChromaLog2WeightDenom)+delta_chroma_weight_l0[i][j]に等しくなるように導出される。chroma_weight_l0_flag[i]が1に等しくなるとき、delta_chroma_weight_l0[i][j]の値は、両端値を含む−2 bitDepth-1 〜2 bitDepth-1 −1の範囲内にあるものとする。chroma_weight_l0_flag[i]は、0に等しくなるとき、ChromaWeightL0[i][j]は、2ChromaLog2WeightDenomに等しくなると推論される。
[0117]delta_chroma_offset_l0[i][j]は、RefPicList0[i]を使用したリスト0予測のクロマ予測値に適用される加法オフセットの差であり、jは、Cbの場合0に等しくなり、jは、Crの場合1に等しくなる。
[0118]変数ChromaOffsetL0[i][j]は、次のように導出される。
[0119]
Figure 0006151446
[0120]delta_chroma_offset_l0[i][j]の値は、両端値を含む−2 bitDepth+1 〜2 bitDepth+1 −1の範囲内にあるものとする。chroma_weight_l0_flag[i]は、0に等しくなるとき、ChromaOffsetL0[i][j]は、0に等しくなると推論される。
[0121]delta_luma_weight_l1[i]、luma_offset_l1[i]、delta_chroma_weight_l1[i][j]、およびdelta_chroma_offset_l1[i][j]は、それぞれ、delta_luma_weight_l0[i]、luma_offset_l0[i]、delta_chroma_weight_l0[i][j]、およびdelta_chroma_offset_l0[i][j]と同じセマンティクスを有し、l0、L0、list0、およびList0は、それぞれ、l1、L1、list1およびList1に置き換えられる。
[0122]追加として、または代替として、ビデオエンコーダ20およびビデオデコーダ30は、以下で説明するように高精度明示的重み付けサンプル予測プロセスを実施するように構成され得る。以下の説明中の下線付きのテキストは、JCTVC−N1005に対する変更を表す。JCTVC−N1005の提案からの除去は、以下の説明において必ずしも強調されるとは限らないが、この説明を、上記で提示したJCTVC−N1005の説明と比較することによって観察され得る。
[0123]変数log2Wd、o0、o1、およびw0、w1は、次のように導出される。
[0124]−ルーマサンプルの場合にcIdxが0に等しくなる場合、以下が適用される。
[0125]
Figure 0006151446
[0126]
Figure 0006151446
[0127]
Figure 0006151446
[0128]
Figure 0006151446
[0129]
Figure 0006151446
[0130]そうでない場合(クロマサンプルの場合にcIdxが0に等しくない)、以下が適用される。
[0131]
Figure 0006151446
[0132]
Figure 0006151446
[0133]
Figure 0006151446
[0134]
Figure 0006151446
[0135]
Figure 0006151446
[0136]JCTVC−N1005は、公式(8−246)、(8−247)、(8−251)および(8−252)を次のように指定する。
[0137]
Figure 0006151446
[0138]
Figure 0006151446
[0139]
Figure 0006151446
[0140]
Figure 0006151446
[0141]比較を通してわかるように、本開示の公式(8−246’)、(8−247’)、(8−251’)および(8−252’)では、変数o0およびo1は、JCTVC−N1005において指定されているように、(1<<(bitDepth−8))を乗算することなしに計算され得る。同様に、変数o0およびo1は、(1<<(ビット深度から8を減じた値))を計算することなしに計算され得、ここで、「<<」は、ビット単位左シフト演算子を表す。
[0142]ビデオエンコーダ20およびビデオデコーダ30は、たとえば、ピクチャのシーケンスのために高精度重み付け予測が使用可能であるかどうかを示すデータをコーディングするように構成され得る。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、シーケンスパラメータセット(SPS)のシンタックス要素をコーディングするように構成され得、ここで、シンタックス要素の値は、ビデオデータのために高精度重み付け予測(すなわち、高ビット深度)が使用可能であるかどうかを示す。以下の表2は、高精度重み付け予測が使用可能であるかどうかを示すそのようなデータのために使用され得るシンタックスを提示する。図2の例によれば、ビデオエンコーダ20およびビデオデコーダ30は、高精度重み付け予測がSPS RBSPシンタックスにおいて使用されるかどうかを示すためにフラグをコーディングし得る。フラグはまた、ビデオパラメータセット(VPS:video parameter set)、ピクチャパラメータセット(PPS:picture parameter set)、スライスヘッダ、ブロックヘッダなどの他の高レベルシンタックスボディ中でシグナリングされ得る。表2の例では、下線付きのテキストは、HEVCおよびJCTVC−N1005のシンタックスに対する追加を表す。
Figure 0006151446
[0143]use_high_precision_weighted_prediction_flagについてのセマンティクスは、次のように定義され得る。
[0144]1に等しいuse_high_precision_weighted_prediction_flagは、本開示における高精度明示的重み付け予測が使用されることを指定する。0に等しいuse_high_precision_weighted_prediction_flagは、本開示における高精度明示的重み付け予測が使用されず、(JCTVC−N1005に従った)HEVC範囲拡張ドラフトが使用されることを指定する。存在しないとき、それは、0に等しくなると推測される。
[0145]表2の例でわかるように、ルミナンス(ルーマまたは「Y」)のためのビット深度が10よりも大きい場合、またはクロミナンス(クロマまたは「C」)のためのビット深度が10よりも大きい場合、シーケンスパラメータセットは、高精度重み付け予測(すなわち、高ビット深度)を使用すべきかどうかを示し得るuse_high_precision_weighted_prediction_flagシンタックス要素を含み得る。したがって、重み付け予測プロセスのための「高ビット深度」は、10ビットよりも大きいビット深度に対応し得る。
[0146]さらに、ビデオエンコーダ20およびビデオデコーダ30は、JCTVC−N1005に対する以下の変更に従って動作するように構成され得る。JCTVC−N1005のセクション8.5.3.3.4.3では、shift1は、Max(2,14−bitDepth)に等しくなるように設定される。ワーストケースでは、predSamples[x][y]は、最高bitDepth(入力ビット深度)+shift1+1(補間からのスケーリング)+1(補間からのサインビット)になり得る。
[0147]以下の表3は、本開示の技法に適応するために変更されるワーストケースのサンプルビット深度をリストする(ここで、下線付きのテキストは、JCTVC−N1005に記述されているシンタックスに対する変更を表す)。
Figure 0006151446
[0148]次いで、ワーストケースでは、上記で説明した公式(8−253)において、predSamplesL0[x][y]*w0は、場合によっては、16ビットの乗算を使用して実装されないことになる。ただし、本開示の技法によれば、w0は、Min(bitDepth,16−shift1−2)(ビット)に制限され得る。
[0149]別の例では、ビデオエンコーダ20およびビデオデコーダ30は、拡張精度を有するオフセットパラメータを使用するが、JCTVC−N1005の場合と同じ精度を有する重み付けパラメータを使用するように構成され得る。すなわち、luma_offset_l0、luma_offset_l1、delta_chroma_offset_l0、およびdelta_chroma_offset_l1のセマンティクスのみが上記で説明した様々な例に従って変更され得るが、他のシンタックス要素のセマンティクスは、JCTVC−N1005に対して不変に保たれ得る。したがって、ビデオエンコーダ20およびビデオデコーダ30は、拡張精度を有する1つまたは複数のオフセットパラメータ(たとえば、luma_offset_l0、luma_offset_l1、delta_chroma_offset l0、およびdelta_chroma_offset_l1のうちの1つまたは複数)と、JCTVC−N1005において定義されている精度を有する重み付けパラメータとを使用してビデオデータをコーディングし得る。
[0150]luma_offset_l0、luma_offset_l1、delta_chroma_offset_l0、およびdelta_chroma_offset_l1などのオフセットパラメータは、特定の量だけブロックの予測サンプルをオフセットするために使用され得る。参照サンプルのセット(たとえば、参照ピクチャまたは参照ピクチャの一部)に対して、全体的なまたは局所的な変更が現在のピクチャ中に発生するとき、そのようなオフセットは有益であり得る。たとえば、シーンのフェードインもしくはフェードアウトまたは落雷などの光の突然の閃光などの間に、参照ピクチャに対して現在のピクチャ中で全体的にまたは局所的に照度が増加または減少する場合、異なる参照ピクチャを識別しようと試みるのではなく、参照ピクチャのルミナンス値においてサンプルにオフセットをもたらすことが有益であり得る。オフセットをもたらすことは、現在のピクチャのブロックの残差値を減少させ得、これは、ビデオデータのビットレートを低減し得る。
[0151]JCTVC−N1005は、そのようなオフセットの可能な値の固定範囲(すなわち、そのようなオフセットをシグナリングするための固定ビット深度)を含めたが、本開示の技法により、そのようなオフセットのビット深度を動的に調節することが可能になる。すなわち、ビデオエンコーダ20は、オフセットパラメータのビット深度、ならびに高ビット深度が使用可能であるかどうか(すなわち、高精度重み付け予測プロセスが使用可能であるかどうか)を表す1つまたは複数の値をシグナリングし得る。ビデオデコーダ30は、同様に、ビットストリームを正しく復号するために、ビット深度を表すシグナリングされた値を使用し得る。より詳細には、ビデオデコーダ30は、ビットストリームのどのビットがオフセットパラメータに適用され、後続の、異なるシンタックス要素にビットがいつ適用され始めるのかを決定し得る。たとえば、ビット深度が8ビットであり、ビデオデコーダ30が、オフセットパラメータのために8ビットを復号している場合、ビデオデコーダ30は、後続のビットが、オフセットパラメータにではなく、異なるシンタックス要素に適用されると決定し得る。
[0152]JCTVC−N1005において指定されているそのようなパラメータのビット深度よりもオフセットパラメータのためにより高いビット深度を使用可能にすることは、いくつかの利点をもたらし得る。たとえば、入力ビデオデータが比較的高いビット深度を有するとき、コーディング効率(すなわち、ビットストリーム中に含まれるビット数)が改善され得る。しかしながら、入力ビデオデータが、比較的低いビット深度を有するとき、または、オフセットパラメータのために使用されるビット数が、(たとえば、レートひずみメトリックによって示されるように)有効なコーディング利得をもたらさないとき、ビデオエンコーダ20は、高ビット深度を使用禁止にし得る。
[0153]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダまたはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0154]図2は、高精度明示的重み付け予測のための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
[0155]図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピーエンコーディングユニット56とを含む。モード選択ユニット40は、今度は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、パーティションユニット48とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のフィルタ(ループ内またはループ後)が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタ処理し得る。
[0156]符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的予測を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
[0157]その上、パーティションユニット48は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット48は、初めにフレームまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、LCUをサブCUに区分することを示す4分木データ構造をさらに生成し得る。4分木のリーフノードCUは、1つまたは複数のPUおよび1つまたは複数のTUを含み得る。
[0158]モード選択ユニット40は、たとえば、誤差結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの1つを選択することができ、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器50に与え、参照フレームとして使用するための符号化されたブロックを復元するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器62に与える。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
[0159]動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム(または他のコード化ユニット)内でコーディングされている現在のブロックに対する参照フレーム(または他のコード化ユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0160]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0161]動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42および動き補償ユニット44は機能的に統合され得る。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット42はルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0162]動き補償ユニット44は、さらに、動き補償中に予測サンプルにオフセットを適用するように構成され得る。たとえば、モード選択ユニット40は、動き補償ユニット44に、参照ブロックのルミナンスおよび/またはクロミナンスサンプルに(または参照ピクチャ全体に)オフセットを適用させ得、それにより、現在のピクチャのための参照ブロックまたは参照ピクチャからの予測を改善し得る。本開示の技法によれば、モード選択ユニット40は、従来のビット深度または比較的高いビット深度のいずれかのオフセットを選択し得る。オフセットが高ビット深度のものであるとき、ビデオエンコーダ20は、高ビット深度が使用可能であることを示す(たとえば、シーケンスパラメータセット(SPS)の)シンタックス要素の値を符号化し得る。
[0163]一例として、ビデオエンコーダ20は、1つまたは複数の参照ピクチャのルミナンス予測データにオフセットを適用するように構成され得る。現在のピクチャが単方向予測されたピクチャ(すなわち、Pピクチャ)である場合、ビデオエンコーダ20は、参照ピクチャリスト0中の1つまたは複数の参照ピクチャにオフセットを適用し得る。ビデオエンコーダ20は、参照ピクチャリスト0中の1つまたは複数の参照ピクチャに適用されるべきオフセットを表すパラメータの値をシグナリングし得る。すなわち、ビデオエンコーダ20は、luma_offset_l0[i]の値をシグナリングし得、ここで、iは、参照ピクチャリスト0中のすべての参照ピクチャの範囲内にある。同様に、現在のピクチャがBピクチャである場合、ビデオエンコーダ20は、参照ピクチャリスト0と参照ピクチャリスト1との両方中の参照ピクチャのオフセットパラメータの値をシグナリングし得、ここで、参照ピクチャリスト0の参照ピクチャのためのオフセットパラメータは、luma_offset_l0[i]に対応し得、参照ピクチャリスト1の参照ピクチャのためのオフセットパラメータは、luma_offset_l1[i]に対応し得る。
[0164]同様に、ビデオエンコーダ20は、クロミナンスサンプルのためのオフセットパラメータの値を符号化し得る。たとえば、ビデオエンコーダ20は、delta_chroma_offset_l0[i][j]パラメータの値を符号化し、現在のピクチャがBピクチャである場合、delta_chroma_offset_l1[i][j]パラメータの値を符号化し得る。この場合も、「l0」は、参照ピクチャリスト0を表し、一方「l1」は、参照ピクチャリスト1を表し、「i」は、それぞれの参照ピクチャリスト中のピクチャの範囲内にある。これらのパラメータの変数「j」は、コンテキストインデックス「cIdx」、すなわち、cIdx−1に基づく値を表す。cIdx値は、ルーマサンプルの場合に0になり、クロマサンプルの場合に非ゼロになり得る。
[0165]ビデオエンコーダ20は、スライスヘッダの一部を形成し得る予測重みテーブル(pred_weight_table)中のluma_offset_l0[i]、luma_offset_l1[i]、delta_chroma_offset_l0[i][j]、およびdelta_chroma_offset_l1[i][j]パラメータの値をシグナリングし得る。
[0166]したがって、動き補償ユニット44は、図1に関して上記で説明したように、公式(8−246’)、(8−247’)、(8−251’)および(8−252’)に従って変数o0およびo1の値を計算し得る。動き補償ユニット44は、それぞれの参照ピクチャから決定された参照ブロックにオフセットを適用し得る。したがって、ビデオエンコーダ20が残差ブロックを形成し、符号化すると、加算器50は、現在の、コーディングされていないブロックと、動き補償ユニット44によって形成された参照ブロック(ここで、動き補償ユニット44は、参照ブロックにオフセットを適用している)との間のピクセルごとの(またはサンプルごとの)差として残差ブロックを計算し得る。上記で説明したように、モード選択ユニット40は、動き補償ユニット44に、オフセットの様々な値を試み、最良のレートひずみ特性をもたらすオフセットパラメータの値を選択することを行わせ得る。さらに、高ビット深度が使用可能であるとき、モード選択ユニット40は、高ビット深度によって定義される範囲内のオフセットパラメータの値を試み得る。
[0167]イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
[0168]たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
[0169]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
[0170]ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。
[0171]いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化プロセスは「スケーリング」プロセスと呼ばれることもあり、したがって、量子化変換係数は「スケーリングされた変換係数」と呼ばれることもある。量子化(またはスケーリング)の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、エントロピー符号化ユニット56は、次いで、量子化変換係数を含む行列の走査を実行し得る。
[0172]量子化の後、エントロピー符号化ユニット56は、走査された量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接するブロックに基づき得る。エントロピーコーディングユニット56によるエントロピーコーディングの後、符号化されたビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、または後で送信するかまたは取り出すためにアーカイブされ得る。
[0173]逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0174]このようにして、図2のビデオエンコーダ20は、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を符号化すること、および高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの1つまたは複数のパラメータのためのビット深度を表すシンタックス要素の値を符号化することと、パラメータの値が、ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値を符号化することと、パラメータの値に少なくとも部分的に基づいてビデオデータを符号化することとを行うことを行うように構成されたビデオエンコーダの一例を表す。
[0175]図3は、高精度明示的重み付け予測のための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
[0176]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0177]ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ82に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
[0178]動き補償ユニット72は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
[0179]動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0180]本開示の技法によれば、ビデオデコーダ30は、ビデオデータのために高ビット深度が使用可能であるかどうかを決定するために、SPSのシンタックス要素を復号し得る。高ビット深度が使用可能であるとき、ビデオデコーダ30は、シグナリングされたビット深度値に基づくビット深度を有するオフセットパラメータの値を復号し得る。すなわち、SPSは、高ビット深度が使用可能であるかどうかをシグナリングし、高ビット深度が使用可能であるとき、ルミナンスおよび/またはクロミナンスオフセットパラメータのためのビット深度をシグナリングし得る。
[0181]高ビット深度(たとえば、ルミナンスおよび/またはクロミナンスオフセットパラメータの場合に10よりも大きいビット深度)が使用可能であることをSPSが示すと仮定すると、ビデオデコーダ30は、さらに、オフセットパラメータの値を復号し得る。ビデオデコーダ30は、オフセットパラメータの値をシグナリングし得る、表1などの予測重みテーブル(pred_weight_table)を含むスライスのスライスヘッダを復号し得る。特に、ビデオデコーダ30は、オフセットパラメータの値を復号するために、(たとえば、上記の表2に従ってシグナリングされた)シグナリングされたビット深度値を使用し得る。たとえば、ビデオデコーダ30は、スライスヘッダの後続のシンタックス要素ではなく、オフセットパラメータに適用されるビットストリームの部分を決定するために、シグナリングされたビット深度を使用し得る。
[0182]オフセットパラメータの値を復号した後に、ビデオデコーダ30は、ルミナンスおよび/またはクロミナンスサンプルのためのオフセット変数の値を計算するためにオフセットパラメータを使用し得る。オフセット変数は、たとえば、上記で説明したように変数o0およびo1であり得る。ビデオデコーダ30は、図1に関して上記で説明したように、公式(8−246’)、(8−247’)、(8−251’)および(8−252’)を使用して変数o0およびo1の値を計算し得る。次いで、動き補償ユニット72は、予測ブロックを生成するために、それぞれの参照サンプルにこれらのオフセットを適用し得る。すなわち、動き補償ユニット72は、参照ピクチャリスト0中の参照ピクチャからの参照サンプルにo0のオフセット値を適用し、参照ピクチャリスト1中の参照ピクチャからの参照サンプルにo1のオフセット値を適用し得る。本開示の技法によれば、ビデオデコーダ30は、JCTVC−N1005の技法に反して、(1<<(ビット深度から8を減じた値))を計算し、この値に、シグナリングされたオフセットパラメータの値を乗算することなしに変数o0およびo1の値を計算し得る。
[0183]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオデコーダ30によって計算される量子化パラメータQPYの使用を含み得る。
[0184]逆変換ユニット78は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0185]動き補償ユニット72が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための(上記で説明したように、高ビット深度を有し得るオフセットを使用して参照サンプルをオフセットすることを含み得る)予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを動き補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器80は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも(コーディングループ中またはコーディングループ後のいずれかで)使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ82に記憶される。参照ピクチャメモリ82はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のための、復号されたビデオを記憶する。
[0186]このようにして、図3のビデオデコーダ30は、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を復号すること、および高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの1つまたは複数のパラメータのためのビット深度を表すシンタックス要素の値を復号することと、パラメータの値が、ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値を復号することと、パラメータの値に少なくとも部分的に基づいてビデオデータを復号することとを行うことを行うように構成されたビデオデコーダの一例を表す。
[0187]図4は、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のCUまたは現在のCUの一部分を備え得る。ビデオエンコーダ20(図1および図2)に関して説明されるが、他のデバイスが図4の方法と同様の方法を実行するように構成され得ることを理解されたい。
[0188]この例では、ビデオエンコーダ20は、最初に重み付けパラメータを決定し(150)、オフセットパラメータを決定する(154)。重み付けおよび/またはオフセットパラメータは、比較的高いビット深度、たとえば、10ビットを超えるビット深度を有し得る。したがって、ビデオエンコーダ20は、高ビット深度を使用可能にすべきかどうかを(たとえば、use_high_precision_weighted_prediction_flagなどのSPSのシンタックス要素中で)シグナリングし得る(154)。さらに、ビデオエンコーダ20は、重み付けおよび/またはオフセットパラメータのためのビット深度を表す値、ならびにパラメータ自体の値をシグナリングし得る(156)。たとえば、ビデオエンコーダ20は、luma_offset_l0[i]パラメータ、luma_offset_l1[i]パラメータ、delta_chroma_offset_l0[i][j]パラメータ、およびdelta_chroma_offset_l1[i][j]パラメータの値を符号化し得る。
[0189]ビデオエンコーダ20は、次いで、現在のブロックの参照ブロックを識別し得る(158)。たとえば、動き推定ユニット42は、参照ピクチャ中の一致するブロックの動き探索を実行し得る。参照ブロックとして使用される一致するブロックは、たとえば、SAD、SSD、MAD、MSD、または他のそのような誤りメトリックによって測定される最低誤差値を示すブロックであり得る。動き補償ユニット44は、次いで、重み付けおよびオフセットパラメータを使用して参照ブロックのサンプルを変更し得る(160)。たとえば、動き補償ユニット44は、公式(8−246’)、(8−247’)、(8−251’)、および(8−252’)に従って、したがって、(1<<(bitDepth−8))を計算することなしに変数o0およびo1の値を計算し得る。この場合も、重み付けおよび/またはオフセットパラメータは、比較的高いビット深度を有し得る。したがって、動き補償ユニット44は、たとえば、10ビットを超えるビットを有するオフセットパラメータを使用して参照ブロックのサンプルをオフセットし得る。いくつかの例では、オフセットパラメータは、16ビット値であり得る。ビデオエンコーダ20は、現在のブロックのための予測ブロックとして変更された参照ブロックを使用し得る。
[0190]ビデオエンコーダ20は、次いで、たとえば、変換ユニット(TU)を生成するために、現在のブロックのための残差ブロックを計算し得る(162)。残差ブロックを計算するために、ビデオエンコーダ20は、元のコーディングされていないブロックと現在のブロックのための予測ブロックとの間の差分を計算し得る。ビデオエンコーダ20は、次いで、残差ブロックの係数を変換し、量子化し得る(164)。次に、ビデオエンコーダ20は、残差ブロックの量子化変換係数を走査し得る(166)。走査中に、または走査の後に、ビデオエンコーダ20は、係数をエントロピー符号化し得る(168)。たとえば、ビデオエンコーダ20は、CAVLCまたはCABACを使用して係数を符号化し得る。ビデオエンコーダ20は、次いで、ブロックのエントロピーコーディングされたデータを出力し得る(170)。
[0191]このようにして、図4の方法は、ビデオデータのために高ビット深度を使用可能にすべきかどうかを決定することと、高ビット深度を使用可能にすることを決定した後に、高ビット深度が使用可能であることを示すシンタックス要素の値を符号化することと、ビデオデータの1つまたは複数のパラメータのためのビット深度を表すシンタックス要素の値を符号化することと、パラメータの値が、ビット深度に基づくビット深度を有するようにパラメータの値を符号化することと、パラメータの値に少なくとも部分的に基づいてビデオデータを符号化することとを行うこととを含むビデオデータを符号化するための方法の一例を表す。
[0192]図5は、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のCUまたは現在のCUの一部分を備え得る。ビデオデコーダ30(図1および図3)に関して説明されるが、他のデバイスが図5の方法と同様の方法を実行するように構成され得ることを理解されたい。
[0193]最初に、ビデオデコーダ30は、ビデオデータのために高ビット深度を使用可能にすべきかどうか、したがって、高精度明示的重み付け予測を実行すべきかどうかを表すシンタックス要素の値を復号し得る(200)。高ビット深度が使用可能であると仮定すると、ビデオデコーダ30は、ビット深度と重み付けおよび/またはオフセットパラメータとを表す値を復号し得る(202)。たとえば、ビデオデコーダ30は、luma_offset_l0[i]パラメータ、luma_offset_l1[i]パラメータ、delta_chroma_offset_l0[i][j]パラメータ、およびdelta_chroma_offset_l1[i][j]パラメータの値を復号し得る。そのような値は、上記で説明したように、たとえば、表1に従ってスライスヘッダの一部として復号され得る。
[0194]ビデオデコーダ30は、次いで、現在のブロックの参照ブロックを識別し得る(204)。たとえば、ビデオデコーダ30は、マージモードまたは高度動きベクトル予測(AMVP)モードを使用して現在のブロックのための動きパラメータを復号し得る。動きパラメータは、参照ピクチャリスト、参照ピクチャリストへのインデックス、動きベクトル差分値、および/または候補動きベクトル予測子のセットのうちの動きベクトル予測子のうちの1つまたは複数を識別し得る。ビデオデコーダ30は、次いで、重み付けおよびオフセットパラメータを使用して参照ブロックのサンプルを変更し得る(206)。たとえば、動き補償ユニット72は、公式(8−246’)、(8−247’)、(8−251’)、および(8−252’)に従って、したがって、(1<<(bitDepth−8))を計算することなしに変数o0およびo1の値を計算し得る。この場合も、重み付けおよび/またはオフセットパラメータは、比較的高いビット深度を有し得る。したがって、動き補償ユニット72は、たとえば、10ビットを超えるビットを有するオフセットパラメータを使用して参照ブロックのサンプルをオフセットし得る。いくつかの例では、オフセットパラメータは、16ビット値であり得る。ビデオデコーダ30は、現在のブロックのための予測ブロックとして変更された参照ブロックを使用し得る。
[0195]ビデオデコーダ30はまた、現在のブロックに対応する残差ブロックの係数についてのエントロピーコーディングされたデータなど、現在のブロックについてのエントロピーコーディングされたデータを受信し得る(208)。ビデオデコーダ30は、残差ブロックの係数を再生するために、エントロピーコーディングされたデータをエントロピー復号し得る(210)。ビデオデコーダ30は、次いで、再生された係数を逆走査して(212)、量子化された変換係数のブロックを作成し得る。ビデオデコーダ30は、次いで、残差ブロックを生成するために係数を逆量子化し、逆変換し得る(214)。ビデオデコーダ30は、最終的に、予測ブロックと残差ブロックとを組み合わせることによって現在のブロックを復号し得る(216)。
[0196]このようにして、図5の方法は、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を復号することと、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの1つまたは複数のパラメータのためのビット深度を表すシンタックス要素の値を復号することと、パラメータの値が、ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値を復号することと、パラメータの値に少なくとも部分的に基づいてビデオデータを復号することとを含むビデオデータを復号するための方法の一例を表す。
[0197]例によっては、本明細書で説明された技法のうちいずれかの、いくつかの行為またはイベントは、異なるシーケンスで実行され得、追加、マージ、または完全に除外され得る(たとえば、すべての説明した作用またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して、同時に実行され得る。
[0198]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0199]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0200]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび/もしくはソフトウェアモジュール内に与えられ得、または複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素において十分に実装され得る。
[0201]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0202]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、
ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を復号することと、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、
前記ビデオデータの1つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値を復号することと、
前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値を復号することと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを復号することと
を備える方法。
[C2]
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素の前記値を復号することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット(SPS)のシンタックス要素の値を復号することを備える、C1に記載の方法。
[C3]
前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備える、C1に記載の方法。
[C4]
前記luma_offset_l0[i]パラメータまたは前記luma_offset_l0[i]パラメータの値を復号することが、両端値を含む、「−2の(前記高ビット深度から1を減じた値)乗」〜「2の(前記高ビット深度から1を減じた値)乗から1を減じた値」の範囲内の値を復号することを備える、C3に記載の方法。
[C5]
前記ビデオデータを復号することが、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
(1<<(前記高ビット深度から8を減じた値))を計算することなしに、luma_offset_l0[refIdxL0]パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o0の値を計算することと、
(1<<(前記高ビット深度から8を減じた値))を計算することなしに、luma_offset_l1[refIdxL1]パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o1の値を計算することと
を備える、C3に記載の方法。
[C6]
前記1つまたは複数の重み付け予測パラメータが、delta_chroma_offset_l0[i][j]パラメータまたはdelta_chroma_offset_l1[i][j]パラメータを備える、C1に記載の方法。
[C7]
前記delta_chroma_offset_l0[i][j]パラメータまたは前記delta_chroma_offset_l1[i][j]パラメータの値を復号することが、両端値を含む、「−2の(前記高ビット深度に1を加えた値)乗」〜「2の(前記高ビット深度に1を加えた値)乗から1を減じた値」の範囲内の値を復号することを備える、C6に記載の方法。
[C8]
公式、Clip3(−2の(前記高ビット深度から1を減じた値)乗,2の(前記高ビット深度から1を減じた値)乗から1を減じた値,(delta_chroma_offset_l0[i][j]−((2の(前記高ビット深度から1を減じた値)乗*ChromaWeightL0[i][j])>>ChromaLog2WeightDenom)+2の(前記高ビット深度から1を減じた値)乗))に従ってChromaOffsetL0[i][j]変数の値を導出することと、
公式、Clip3(−2の(前記高ビット深度から1を減じた値)乗,2の(前記高ビット深度から1を減じた値)乗から1を減じた値,(delta_chroma_offset_l1[i][j]−((2の(前記高ビット深度から1を減じた値)乗*ChromaWeightL1[i][j])>>ChromaLog2WeightDenom)+2の(前記高ビット深度から1を減じた値)乗))に従ってChromaOffsetL1[i][j]変数の値を導出することと
をさらに備える、C6に記載の方法。
[C9]
前記ビデオデータを復号することが、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
(1<<(前記高ビット深度から8を減じた値))を計算することなしに、ChromaOffsetL0[refIdxL0][cIdx−1]変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o0の値を計算することと、
(1<<(前記高ビット深度から8を減じた値))を計算することなしに、ChromaOffsetL1[refIdxL1][cIdx−1]変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o1の値を計算することと
を備える、C8に記載の方法。
[C10]
前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータと、luma_offset_l1[i]パラメータと、delta_chroma_offset_l0[i][j]パラメータと、delta_chroma_offset_l1[i][j]パラメータとを備える、C1に記載の方法。
[C11]
前記ビデオデータを復号することが、前記高ビット深度に従って右シフト演算を適応的に実行することを備える、C1に記載の方法。
[C12]
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、use_high_precision_weighted_prediction_flagを備える、C1に記載の方法。
[C13]
ビデオデータを符号化する方法であって、
ビデオデータのために高ビット深度を使用可能にすることを決定することと、
前記高ビット深度を使用可能にすることを決定した後に、
前記高ビット深度が使用可能であることを示すシンタックス要素の値を符号化することと、
前記ビデオデータの1つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値を符号化することと、
前記パラメータの値が、前記高ビット深度に基づくビット深度を表すように前記パラメータの前記値を符号化することと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを符号化することと
を備える方法。
[C14]
前記高ビット深度が使用可能であることを示す前記シンタックス要素の前記値を符号化することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット(SPS)のシンタックス要素の値を符号化することを備える、C13に記載の方法。
[C15]
前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備え、前記luma_offset_l0[i]パラメータまたは前記luma_offset_l0[i]パラメータの値を符号化することが、両端値を含む、「−2の(前記高ビット深度から1を減じた値)乗」〜「2の(前記高ビット深度から1を減じた値)乗から1を減じた値」の範囲内の値を符号化することを備える、C13に記載の方法。
[C16]
前記ビデオデータを符号化することが、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
(1<<(前記高ビット深度から8を減じた値))を計算することなしにluma_offset_l0[refIdxL0]パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o0の値を計算することと、
(1<<(前記高ビット深度から8を減じた値))を計算することなしにluma_offset_l1[refIdxL1]パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o1の値を計算することと
を備える、C15に記載の方法。
[C17]
前記1つまたは複数の重み付け予測パラメータが、delta_chroma_offset_l0[i][j]パラメータまたはdelta_chroma_offset_l1[i][j]パラメータを備え、
前記delta_chroma_offset_l0[i][j]パラメータまたは前記delta_chroma_offset_l1[i][j]パラメータの値を符号化することが、両端値を含む、「−2の(前記高ビット深度に1を加えた値)乗」〜「2の(前記高ビット深度に1を加えた値)乗から1を減じた値」の範囲内の値を符号化することを備える、
C13に記載の方法。
[C18]
前記ビデオデータを符号化することが、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
delta_chroma_offset_l0[i][j]パラメータからChromaOffsetL0[refIdxL0][cIdx−1]変数の値を計算することと、
(1<<(前記高ビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL0[refIdxL0][cIdx−1]変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o0の値を計算することと、
前記delta_chroma_offset_l1[i][j]パラメータからChromaOffsetL1[refIdxL1][cIdx−1]変数の値を計算することと、
(1<<(前記高ビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL1[refIdxL1][cIdx−1]変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o1の値を計算することと
を備える、C17に記載の方法。
[C19]
前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータと、luma_offset_l1[i]パラメータと、delta_chroma_offset_l0[i][j]パラメータと、delta_chroma_offset_l1[i][j]パラメータとを備える、C13に記載の方法。
[C20]
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、use_high_precision_weighted_prediction_flagを備える、C13に記載の方法。
[C21]
ビデオデータをコーディングするためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすること、および前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記ビデオデータの1つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値をコーディングすることと、前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることとを行うことを行うように構成されたビデオコーダと
を備えるデバイス。
[C22]
前記ビデオコーダが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット(SPS)中の、前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素の前記値をコーディングすることを行うように構成された、C21に記載のデバイス。
[C23]
前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備え、前記ビデオコーダが、前記luma_offset_l0[i]パラメータの値をコーディングするように構成され、または前記luma_offset_l0[i]パラメータが、コード、両端値を含む、「−2の(前記高ビット深度から1を減じた値)乗」〜「2の(前記高ビット深度から1を減じた値)乗から1を減じた値」の範囲内の値を備える、C21に記載のデバイス。
[C24]
前記ビデオコーダが、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、(1<<(前記高ビット深度から8を減じた値))を計算することなしにluma_offset_l0[refIdxL0]パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o0の値を計算することと、(1<<(前記高ビット深度から8を減じた値))を計算することなしにluma_offset_l1[refIdxL1]パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o1の値を計算することとを行うように構成された、C23に記載のデバイス。
[C25]
前記1つまたは複数の重み付け予測パラメータが、delta_chroma_offset_l0[i][j]パラメータまたはdelta_chroma_offset_l1[i][j]パラメータを備え、前記ビデオコーダが、両端値を含む、「−2の(前記高ビット深度に1を加えた値)乗」〜「2の(前記高ビット深度に1を加えた値)乗から1を減じた値」の範囲内の値として、前記delta_chroma_offset_l0[i][j]パラメータまたは前記delta_chroma_offset_l1[i][j]パラメータの値をコーディングすることを行うように構成された、C21に記載のデバイス。
[C26]
前記ビデオコーダが、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、delta_chroma_offset_l0[i][j]パラメータからChromaOffsetL0[refIdxL0][cIdx−1]変数の値を計算することと、(1<<(前記高ビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL0[refIdxL0][cIdx−1]変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o0の値を計算することと、前記delta_chroma_offset_l1[i][j]パラメータからChromaOffsetL1[refIdxL1][cIdx−1]変数の値を計算することと、(1<<(前記高ビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL1[refIdxL1][cIdx−1]変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o1の値を計算することとを行うように構成された、C25に記載のデバイス。
[C27]
前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータと、luma_offset_l1[i]パラメータと、delta_chroma_offset_l0[i][j]パラメータと、delta_chroma_offset_l1[i][j]パラメータとを備える、C21に記載のデバイス。
[C28]
前記ビデオコーダがビデオデコーダを備える、C21に記載のデバイス。
[C29]
前記ビデオコーダがビデオエンコーダを備える、C21に記載のデバイス。
[C30]
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、use_high_precision_weighted_prediction_flagを備える、C21に記載のデバイス。
[C31]
前記デバイスが、
集積回路と、
マイクロプロセッサと、
ワイヤレス通信デバイスと
のうちの少なくとも1つを備える、C21に記載のデバイス。
[C32]
ビデオデータをコーディングするためのデバイスであって、
ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングするための手段と、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記ビデオデータの1つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値をコーディングするための手段と、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングするための手段と、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングするための手段と
を備えるデバイス。
[C33]
実行されたとき、プロセッサに、
ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすることと、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、
前記ビデオデータの1つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値をコーディングすることと、
前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
[C34]
前記高ビット深度が使用可能であることを示す前記シンタックス要素の前記値をコーディングすることを前記プロセッサに行わせる前記命令が、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット(SPS)のシンタックス要素の値をコーディングすることを前記プロセッサに行わせる命令を備える、C33に記載のコンピュータ可読媒体。
[C35]
前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備え、前記luma_offset_l0[i]パラメータまたは前記luma_offset_l0[i]パラメータの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−2の(前記高ビット深度から1を減じた値)乗」〜「2の(前記高ビット深度から1を減じた値)乗から1を減じた値の範囲内の値」をコーディングすることを前記プロセッサに行わせる命令を備える、C33に記載のコンピュータ可読媒体。
[C36]
前記ビデオデータをコーディングすることを前記プロセッサに行わせる前記命令が、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
(1<<(前記高ビット深度から8を減じた値))を計算することなしにluma_offset_l0[refIdxL0]パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o0の値を計算することと、
(1<<(前記高ビット深度から8を減じた値))を計算することなしにluma_offset_l1[refIdxL1]パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o1の値を計算することと
を行うことを前記プロセッサに行わせる命令を備える、C35に記載のコンピュータ可読媒体。
[C37]
前記1つまたは複数の重み付け予測パラメータが、delta_chroma_offset_l0[i][j]パラメータまたはdelta_chroma_offset_l1[i][j]パラメータを備え、前記delta_chroma_offset_l0[i][j]パラメータまたは前記delta_chroma_offset_l1[i][j]パラメータの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−2の(前記高ビット深度に1を加えた値)乗」〜「2の(前記高ビット深度に1を加えた値)乗から1を減じた値」の範囲内の値をコーディングすることを前記プロセッサに行わせる命令を備える、C33に記載のコンピュータ可読媒体。
[C38]
前記ビデオデータをコーディングすることを前記プロセッサに行わせる前記命令が、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
delta_chroma_offset_l0[i][j]パラメータからChromaOffsetL0[refIdxL0][cIdx−1]変数の値を計算することと、
(1<<(前記高ビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL0[refIdxL0][cIdx−1]変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o0の値を計算することと、
前記delta_chroma_offset_l1[i][j]パラメータからChromaOffsetL1[refIdxL1][cIdx−1]変数の値を計算することと、
(1<<(前記高ビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL1[refIdxL1][cIdx−1]変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数o1の値を計算することと
を前記プロセッサに行わせる命令を備える、C37に記載のコンピュータ可読媒体。
[C39]
前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータと、luma_offset_l1[i]パラメータと、delta_chroma_offset_l0[i][j]パラメータと、delta_chroma_offset_l1[i][j]パラメータとを備える、C33に記載のコンピュータ可読記憶媒体。
[C40]
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、use_high_precision_weighted_prediction_flagを備える、C33に記載のコンピュータ可読記憶媒体。

Claims (35)

  1. ビデオデータを復号する方法であって、
    ビデオデータのためにシグナリングされたビット深度を有する重み付け予測が使用可能であるかどうかを表すシンタックス要素の値を復号することと、
    前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、
    前記ビデオデータの1つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値を復号することと、ここにおいて、前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備える、
    前記パラメータの値が、前記シグナリングされたビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値を復号することと、
    前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを復号することと、
    を備え、前記ビデオデータを復号することが、ルミナンスサンプルに対して重み付け予測プロセスを実行するときに、
    (1<<(前記ビット深度から8を減じた値))を計算することなしに、luma_offset_l0[refIdxL0]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o0の値を計算することと、
    (1<<(前記ビット深度から8を減じた値))を計算することなしに、luma_offset_l1[refIdxL1]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o1の値を計算することと、
    を備える方法。
  2. 前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素の前記値を復号することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット(SPS)のシンタックス要素の値を復号することを備える、請求項1に記載の方法。
  3. 前記luma_offset_l0[i]パラメータまたは前記luma_offset_l0[i]パラメータの値を復号することが、両端値を含む、「−2の(前記シグナリングされたビット深度から1を減じた値)乗」〜「2の(前記シグナリングされたビット深度から1を減じた値)乗から1を減じた値」の範囲内の値を復号することを備える、請求項1に記載の方法。
  4. 前記1つまたは複数の重み付け予測パラメータが、delta_chroma_offset_l0[i][j]パラメータまたはdelta_chroma_offset_l1[i][j]パラメータをさらに備える、請求項1に記載の方法。
  5. 前記delta_chroma_offset_l0[i][j]パラメータまたは前記delta_chroma_offset_l1[i][j]パラメータの値を復号することが、両端値を含む、「−2の(前記シグナリングされたビット深度に1を加えた値)乗」〜「2の(前記シグナリングされたビット深度に1を加えた値)乗から1を減じた値」の範囲内の値を復号することを備える、請求項4に記載の方法。
  6. 公式、Clip3(−2の(前記シグナリングされたビット深度から1を減じた値)乗,2の(前記シグナリングされたビット深度から1を減じた値)乗から1を減じた値,(delta_chroma_offset_l0[i][j]−((2の(前記シグナリングされたビット深度から1を減じた値)乗*ChromaWeightL0[i][j])>>ChromaLog2WeightDenom)+2の(前記シグナリングされたビット深度から1を減じた値)乗))に従ってChromaOffsetL0[i][j]変数の値を導出することと、
    公式、Clip3(−2の(前記シグナリングされたビット深度から1を減じた値)乗,2の(前記シグナリングされたビット深度から1を減じた値)乗から1を減じた値,(delta_chroma_offset_l1[i][j]−((2の(前記シグナリングされたビット深度から1を減じた値)乗*ChromaWeightL1[i][j])>>ChromaLog2WeightDenom)+2の(前記シグナリングされたビット深度から1を減じた値)乗))に従ってChromaOffsetL1[i][j]変数の値を導出することと
    をさらに備える、請求項4に記載の方法。
  7. 前記ビデオデータを復号することが、クロミナンスサンプルに対して重み付け予測プロセスを実行するときに、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、ChromaOffsetL0[refIdxL0][cIdx−1]変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数o0の値を計算することと、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、ChromaOffsetL1[refIdxL1][cIdx−1]変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数o1の値を計算することと
    を備える、請求項6に記載の方法。
  8. 前記1つまたは複数のパラメータが、前記luma_offset_l0[i]パラメータと、前記luma_offset_l1[i]パラメータと、delta_chroma_offset_l0[i][j]パラメータと、delta_chroma_offset_l1[i][j]パラメータとを備える、請求項1に記載の方法。
  9. 前記ビデオデータを復号することが、前記シグナリングされたビット深度に従って右シフト演算を適応的に実行することを備える、請求項1に記載の方法。
  10. 前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素が、use_high_precision_weighted_prediction_flagを備える、請求項1に記載の方法。
  11. ビデオデータを符号化する方法であって、
    ビデオデータのためにシグナリングされたビット深度を有する重み付け予測を使用可能にすることを決定することと、
    前記シグナリングされたビット深度を有する前記重み付け予測を使用可能にすることを決定した後に、
    前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを示すシンタックス要素の値を符号化することと、
    前記ビデオデータの1つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値を符号化することと、ここにおいて、前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備える、
    前記パラメータの値が、前記シグナリングされたビット深度に基づくビット深度を表すように前記パラメータの前記値を符号化することと、
    前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを符号化することと、
    を備え、前記ビデオデータを復号することが、ルミナンスサンプルに対して重み付け予測プロセスを実行するときに、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、luma_offset_l0[refIdxL0]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o0の値を計算することと、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、luma_offset_l1[refIdxL1]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o1の値を計算することと、
    を備える方法。
  12. 前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを示す前記シンタックス要素の前記値を符号化することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット(SPS)のシンタックス要素の値を符号化することを備える、請求項11に記載の方法。
  13. 前記luma_offset_l0[i]パラメータまたは前記luma_offset_l0[i]パラメータの値を符号化することが、両端値を含む、「−2の(前記シグナリングされたビット深度から1を減じた値)乗」〜「2の(前記シグナリングされたビット深度から1を減じた値)乗から1を減じた値」の範囲内の値を符号化することを備える、請求項11に記載の方法。
  14. 前記1つまたは複数の重み付け予測パラメータが、delta_chroma_offset_l0[i][j]パラメータまたはdelta_chroma_offset_l1[i][j]パラメータを備え、
    前記delta_chroma_offset_l0[i][j]パラメータまたは前記delta_chroma_offset_l1[i][j]パラメータの値を符号化することが、両端値を含む、「−2の(前記シグナリングされたビット深度に1を加えた値)乗」〜「2の(前記シグナリングされたビット深度に1を加えた値)乗から1を減じた値」の範囲内の値を符号化することを備える、
    請求項11に記載の方法。
  15. 前記ビデオデータを符号化することが、クロミナンスサンプルに対して重み付け予測プロセスを実行するときに、
    前記delta_chroma_offset_l0[i][j]パラメータからChromaOffsetL0[refIdxL0][cIdx−1]変数の値を計算することと、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL0[refIdxL0][cIdx−1]変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数o0の値を計算することと、
    前記delta_chroma_offset_l1[i][j]パラメータからChromaOffsetL1[refIdxL1][cIdx−1]変数の値を計算することと、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL1[refIdxL1][cIdx−1]変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数o1の値を計算することと
    を備える、請求項14に記載の方法。
  16. 前記1つまたは複数のパラメータが、前記luma_offset_l0[i]パラメータと、前記luma_offset_l1[i]パラメータと、delta_chroma_offset_l0[i][j]パラメータと、delta_chroma_offset_l1[i][j]パラメータとを備える、請求項11に記載の方法。
  17. 前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素が、use_high_precision_weighted_prediction_flagを備える、請求項11に記載の方法。
  18. ビデオデータをコーディングするためのデバイスであって、
    ビデオデータを記憶するように構成されたメモリと、
    前記ビデオデータのためにシグナリングされたビット深度を有する重み付け予測が使用可能であるかどうかを表すシンタックス要素の値をコーディングすること、および前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、
    前記ビデオデータの1つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値をコーディングすることと、ここにおいて、前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備える、
    前記パラメータの値が、前記シグナリングされたビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、
    前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることと、
    を行うように構成されたビデオコーダと、
    を備え、前記ビデオデータが、ルミナンスサンプルに対して重み付け予測プロセスを実行するときに、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、luma_offset_l0[refIdxL0]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o0の値を計算することと、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、luma_offset_l1[refIdxL1]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o1の値を計算することと、
    を行うようにさらに構成されるデバイス。
  19. 前記ビデオコーダが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット(SPS)中の、前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素の前記値をコーディングすることを行うように構成された、請求項18に記載のデバイス。
  20. 前記ビデオコーダが、両端値を含む、「−2の(前記シグナリングされたビット深度から1を減じた値)乗」〜「2の(前記シグナリングされたビット深度から1を減じた値)乗から1を減じた値」の範囲内における前記luma_offset_l0[i]パラメータまたは前記luma_offset_l0[i]パラメータの値をコーディングすることを行うように構成された、請求項18に記載のデバイス。
  21. 前記1つまたは複数の重み付け予測パラメータが、delta_chroma_offset_l0[i][j]パラメータまたはdelta_chroma_offset_l1[i][j]パラメータを備え、前記ビデオコーダが、両端値を含む、「−2の(前記シグナリングされたビット深度に1を加えた値)乗」〜「2の(前記シグナリングされたビット深度に1を加えた値)乗から1を減じた値」の範囲内の値として、前記delta_chroma_offset_l0[i][j]パラメータまたは前記delta_chroma_offset_l1[i][j]パラメータの値をコーディングすることを行うように構成された、請求項18に記載のデバイス。
  22. 前記ビデオコーダが、クロミナンスサンプルに対して重み付け予測プロセスを実行するときに、前記delta_chroma_offset_l0[i][j]パラメータからChromaOffsetL0[refIdxL0][cIdx−1]変数の値を計算することと、(1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL0[refIdxL0][cIdx−1]変数に等しくなるように、重み付け予測プロセスにおいて使用される変数o0の値を計算することと、前記delta_chroma_offset_l1[i][j]パラメータからChromaOffsetL1[refIdxL1][cIdx−1]変数の値を計算することと、(1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL1[refIdxL1][cIdx−1]変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数o1の値を計算することとを行うように構成された、請求項21に記載のデバイス。
  23. 前記1つまたは複数のパラメータが、前記luma_offset_l0[i]パラメータと、前記luma_offset_l1[i]パラメータと、delta_chroma_offset_l0[i][j]パラメータと、delta_chroma_offset_l1[i][j]パラメータとを備える、請求項18に記載のデバイス。
  24. 前記ビデオコーダがビデオデコーダを備える、請求項18に記載のデバイス。
  25. 前記ビデオコーダがビデオエンコーダを備える、請求項18に記載のデバイス。
  26. 前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素が、use_high_precision_weighted_prediction_flagを備える、請求項18に記載のデバイス。
  27. 前記デバイスが、
    集積回路と、
    マイクロプロセッサと、
    ワイヤレス通信デバイスと
    のうちの少なくとも1つを備える、請求項18に記載のデバイス。
  28. ビデオデータをコーディングするためのデバイスであって、
    ビデオデータのためにシグナリングされたビット深度を有する重み付け予測が使用可能であるかどうかを表すシンタックス要素の値をコーディングするための手段と、
    前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、前記ビデオデータの1つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値をコーディングするための手段と、ここにおいて、前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備える、
    前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの値が、前記シグナリングされたビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングするための手段と、
    前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングするための手段と、
    を備え、前記ビデオデータを前記コーディングするための手段が、
    ルミナンスサンプルに対して重み付け予測プロセスを実行するときに、(1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、luma_offset_l0[refIdxL0]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o0の値を計算するための手段と、
    ルミナンスサンプルに対して前記重み付け予測プロセスを実行するときに、(1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、luma_offset_l1[refIdxL1]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o1の値を計算するための手段と、
    を備えるデバイス。
  29. 実行されたとき、プロセッサに、
    ビデオデータのためにシグナリングされたビット深度を有する重み付け予測が使用可能であるかどうかを表すシンタックス要素の値をコーディングすることと、
    前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、
    前記ビデオデータの1つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値をコーディングすることと、ここにおいて、前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備える、
    前記パラメータの値が、前記シグナリングされたビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、
    前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることと、
    を行わせる命令を記憶し、前記プロセッサに、前記ビデオデータをコーディングさせる前記命令が、前記プロセッサに、ルミナンスサンプルに対して重み付け予測プロセスを実行するときに、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、luma_offset_l0[refIdxL0]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o0の値を計算することと、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、luma_offset_l1[refIdxL1]パラメータの値に等しくなるように、前記重み付け予測プロセスにおいて使用される変o1の値を計算することと、
    を行わせる命令を備える非一時的コンピュータ可読記憶媒体。
  30. 前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを示す前記シンタックス要素の前記値をコーディングすることを前記プロセッサに行わせる前記命令が、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット(SPS)のシンタックス要素の値をコーディングすることを前記プロセッサに行わせる命令を備える、請求項29に記載の非一時的コンピュータ可読媒体。
  31. 前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータまたはluma_offset_l1[i]パラメータを備え、前記luma_offset_l0[i]パラメータまたは前記luma_offset_l0[i]パラメータの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−2の(前記シグナリングされたビット深度から1を減じた値)乗」〜「2の(前記シグナリングされたビット深度から1を減じた値)乗から1を減じた値の範囲内の値をコーディングすることを前記プロセッサに行わせる命令を備える、請求項29に記載の非一時的コンピュータ可読媒体。
  32. 前記1つまたは複数の重み付け予測パラメータが、delta_chroma_offset_l0[i][j]パラメータまたはdelta_chroma_offset_l1[i][j]パラメータを備え、前記delta_chroma_offset_l0[i][j]パラメータまたは前記delta_chroma_offset_l1[i][j]パラメータの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−2の(前記シグナリングされたビット深度に1を加えた値)乗」〜「2の(前記シグナリングされたビット深度に1を加えた値)乗から1を減じた値」の範囲内の値をコーディングすることを前記プロセッサに行わせる命令を備える、請求項29に記載の非一時的コンピュータ可読媒体。
  33. 前記ビデオデータをコーディングすることを前記プロセッサに行わせる前記命令が、クロミナンスサンプルに対して重み付け予測プロセスを実行するときに、
    前記delta_chroma_offset_l0[i][j]パラメータからChromaOffsetL0[refIdxL0][cIdx−1]変数の値を計算することと、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL0[refIdxL0][cIdx−1]変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数o0の値を計算することと、
    前記delta_chroma_offset_l1[i][j]パラメータからChromaOffsetL1[refIdxL1][cIdx−1]変数の値を計算することと、
    (1<<(前記シグナリングされたビット深度から8を減じた値))を計算することなしに、前記ChromaOffsetL1[refIdxL1][cIdx−1]変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数o1の値を計算することと
    を前記プロセッサに行わせる命令を備える、請求項32に記載の非一時的コンピュータ可読媒体。
  34. 前記1つまたは複数のパラメータが、luma_offset_l0[i]パラメータと、luma_offset_l1[i]パラメータと、delta_chroma_offset_l0[i][j]パラメータと、delta_chroma_offset_l1[i][j]パラメータとを備える、請求項29に記載の非一時的コンピュータ可読記憶媒体。
  35. 前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素が、use_high_precision_weighted_prediction_flagを備える、請求項29に記載の非一時的コンピュータ可読記憶媒体。
JP2016519886A 2013-10-03 2014-10-02 ビデオコーディングのための高精度明示的重み付け予測 Active JP6151446B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361886230P 2013-10-03 2013-10-03
US61/886,230 2013-10-03
US201361892198P 2013-10-17 2013-10-17
US61/892,198 2013-10-17
US14/504,097 2014-10-01
US14/504,097 US9497473B2 (en) 2013-10-03 2014-10-01 High precision explicit weighted prediction for video coding
PCT/US2014/058822 WO2015051118A1 (en) 2013-10-03 2014-10-02 High precision explicit weighted prediction for video coding

Publications (3)

Publication Number Publication Date
JP2016538749A JP2016538749A (ja) 2016-12-08
JP2016538749A5 JP2016538749A5 (ja) 2017-03-02
JP6151446B2 true JP6151446B2 (ja) 2017-06-21

Family

ID=52776930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016519886A Active JP6151446B2 (ja) 2013-10-03 2014-10-02 ビデオコーディングのための高精度明示的重み付け予測

Country Status (10)

Country Link
US (1) US9497473B2 (ja)
EP (1) EP3053340B1 (ja)
JP (1) JP6151446B2 (ja)
KR (1) KR101772350B1 (ja)
CN (1) CN105659603B (ja)
BR (1) BR112016007360B1 (ja)
CA (1) CA2925130C (ja)
ES (1) ES2649532T3 (ja)
HU (1) HUE036681T2 (ja)
WO (1) WO2015051118A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079941B (zh) * 2013-03-27 2017-08-25 中兴通讯股份有限公司 一种深度信息编解码方法、装置及视频处理播放设备
WO2015069734A1 (en) * 2013-11-05 2015-05-14 Arris Enterprises, Inc. Bit depth variable for high precision data in weighted prediction syntax and semantics
MX354608B (es) 2013-11-05 2018-03-07 Arris Entpr Llc Procesamiento simplificado de sintaxis y semántica de predicción ponderada usando una variable de profundidad de bits para datos de alta precisión.
US10250904B2 (en) * 2015-05-05 2019-04-02 Avago Technologies International Sales Pte. Limited Apparatus and method for overlapped motion compensation for video coding
GB2557809B (en) 2015-08-28 2021-12-01 Kt Corp Method and device for processing video signal
US10602187B2 (en) * 2015-11-30 2020-03-24 Intel Corporation Efficient, compatible, and scalable intra video/image coding using wavelets and HEVC coding
JP2022502905A (ja) * 2018-09-21 2022-01-11 インターデイジタル ヴィーシー ホールディングス インコーポレイテッド 双予測を使用するビデオエンコーディングおよびデコーディングのための方法および装置
CN115278227B (zh) * 2019-06-24 2023-08-22 华为技术有限公司 一种由解码设备或编码设备实现的译码方法,编码器和解码器
US11496774B2 (en) * 2019-08-27 2022-11-08 Tencent America LLC Header syntax for QT/BT/TT size
WO2021047631A1 (en) * 2019-09-13 2021-03-18 Beijing Bytedance Network Technology Co., Ltd. Derivation of collocated motion vectors
WO2020251422A2 (en) 2019-10-07 2020-12-17 Huawei Technologies Co., Ltd. Method and apparatus of adaptive adjustment of weighting prediction parameter precision for harmonizing non-rectangular merge mode and weighted prediction
JP2023510858A (ja) * 2020-01-12 2023-03-15 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 重み付き予測を非矩形マージモードと調和させる方法および装置
AU2021207559A1 (en) * 2020-01-13 2022-09-08 Lg Electronics Inc. Method and device for weighted prediction for image/video coding
EP4091327A4 (en) 2020-02-19 2023-05-03 ByteDance Inc. INFERENCE OF WEIGHT VALUES FOR VIDEO COMPONENTS IN A BITSTREAM
CN116724553A (zh) * 2020-12-29 2023-09-08 创峰科技 用于vvc高比特深度编码的扩展精度加权预测的方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612849B1 (ko) * 2003-07-18 2006-08-14 삼성전자주식회사 영상 부호화 및 복호화 장치 및 방법
JP4561508B2 (ja) * 2005-07-08 2010-10-13 ソニー株式会社 画像処理装置、画像処理方法およびそのプログラム
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
JP5534521B2 (ja) * 2007-10-15 2014-07-02 トムソン ライセンシング スケーラブルなビデオのためにレイヤー間残差予測を行う方法および装置
US8867616B2 (en) * 2009-02-11 2014-10-21 Thomson Licensing Methods and apparatus for bit depth scalable video encoding and decoding utilizing tone mapping and inverse tone mapping
US8711930B2 (en) * 2009-07-09 2014-04-29 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
TWI597968B (zh) * 2012-12-21 2017-09-01 杜比實驗室特許公司 在高位元深度視訊的可適性編碼中,高精度升取樣

Also Published As

Publication number Publication date
CN105659603A (zh) 2016-06-08
HUE036681T2 (hu) 2018-07-30
US9497473B2 (en) 2016-11-15
JP2016538749A (ja) 2016-12-08
ES2649532T3 (es) 2018-01-12
CA2925130C (en) 2019-02-12
US20150098503A1 (en) 2015-04-09
CA2925130A1 (en) 2015-04-09
EP3053340B1 (en) 2017-09-13
CN105659603B (zh) 2018-09-14
KR20160068808A (ko) 2016-06-15
KR101772350B1 (ko) 2017-08-28
BR112016007360A2 (pt) 2017-08-01
WO2015051118A1 (en) 2015-04-09
EP3053340A1 (en) 2016-08-10
BR112016007360B1 (pt) 2023-04-11

Similar Documents

Publication Publication Date Title
JP6151446B2 (ja) ビデオコーディングのための高精度明示的重み付け予測
US20190373267A1 (en) Video intra-prediction using position-dependent prediction combination for video coding
JP6612767B2 (ja) 色空間変換コーディングのための量子化パラメータ
JP5869008B2 (ja) ビデオコーディングにおける変換
JP5587508B2 (ja) ビデオコード化のためのイントラ平滑化フィルタ
JP5989794B2 (ja) 適応型重複ブロック動き補償
JP5932050B2 (ja) ビデオコーディングにおけるクロマ成分のための変換ユニットパーティショニング
KR102352638B1 (ko) 비디오 코딩 프로세스에서의 계수 레벨 코딩
JP6542225B2 (ja) イントラブロックコピーのための残差予測
JP6239609B2 (ja) ビデオコーディングのための長期参照ピクチャをシグナリングすること
US20130272409A1 (en) Bandwidth reduction in video coding through applying the same reference index
JP6042526B2 (ja) ビデオコーディングのための最後の位置コーディングのためのコンテキストの導出
JP2018537908A (ja) ビデオデータの符号情報をコーディングすること
JP6301449B2 (ja) ビット深度に基づいたサンプル適応オフセットスケーリング
US20120063515A1 (en) Efficient Coding of Video Parameters for Weighted Motion Compensated Prediction in Video Coding
JP2017519447A (ja) ビデオコーディングのためのイントラブロックコピーブロックベクトルシグナリング
JP2020039138A (ja) パレットモードコード化のためのエスケープ画素をコード化すること
JP2017523685A (ja) イントラブロックコピーイングのためのブロックベクトルコーディング
JP2017513342A (ja) ゼロアウトされた係数を使用した低複雑な順変換のためのシステムおよび方法
JP2016535490A (ja) 適応インター色成分残差予測
JP2016530775A (ja) インター色成分残差予測
JP6352391B2 (ja) Shvcのための複数のベースレイヤ参照ピクチャ
JP6067750B2 (ja) 並列動き推定範囲サイズの暗黙的導出
JP2016509436A (ja) レイヤ間シンタックス予測制御
JP2017514353A (ja) メッシュベースの計算を使用した低複雑な順変換のためのシステムおよび方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170130

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170410

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170524

R150 Certificate of patent or registration of utility model

Ref document number: 6151446

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250