JP6720153B2 - イントラbcとインターの統合 - Google Patents

イントラbcとインターの統合 Download PDF

Info

Publication number
JP6720153B2
JP6720153B2 JP2017518288A JP2017518288A JP6720153B2 JP 6720153 B2 JP6720153 B2 JP 6720153B2 JP 2017518288 A JP2017518288 A JP 2017518288A JP 2017518288 A JP2017518288 A JP 2017518288A JP 6720153 B2 JP6720153 B2 JP 6720153B2
Authority
JP
Japan
Prior art keywords
picture
video
block
motion vector
reference picture
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
JP2017518288A
Other languages
English (en)
Other versions
JP2017535163A (ja
JP2017535163A5 (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 JP2017535163A publication Critical patent/JP2017535163A/ja
Publication of JP2017535163A5 publication Critical patent/JP2017535163A5/ja
Application granted granted Critical
Publication of JP6720153B2 publication Critical patent/JP6720153B2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive 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
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Description

[0001]本開示は、その各々の内容全体が参照により本明細書に組み込まれる、以下の米国仮特許出願に関する。
2015年2月3日に出願された米国仮特許出願第62/111,568号、
2014年12月4日に出願された米国仮特許出願第62/087,705号、および
2014年10月7日に出願された米国仮特許出願第62/061,121号。
[0002]本開示はビデオコーディングに関し、より詳細には、他のビデオブロックに基づいたビデオブロックの予測に関する。
[0003]デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part 10,アドバンストビデオコーディング(AVC:Advanced Video Coding)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。これらのビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、および/または記憶し得る。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部)はビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもある。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的予測または時間的予測は、コーディングされるべきブロックのための予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コーディングされたブロックと予測ブロックとの差分を示す。イントラコーディングされたブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に2次元アレイで構成される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
[0006]概して、本開示は、イントラブロックコピーおよびインターモードに対するブロックベクトルコーディングに関する技法について説明する。様々な例では、本開示の技法は、スクリーンコンテンツコーディングとともに使用され得る。
[0007]一例では、本開示は、現在ビデオブロックをコーディングするために使用される参照ピクチャを決定することと、参照ピクチャに対するピクチャ順序カウント(POC)値を決定することと、参照ピクチャに対するPOC値が現在ビデオブロックを含む現在ピクチャに対するPOC値に等しいことに応答して、参照ピクチャリストが現在ピクチャを含むことを示すようにシンタックス要素の値を設定することと、参照ピクチャに対するPOC値が現在ピクチャに対するPOC値と異なることに応答して、参照ピクチャリストが現在ピクチャを含まないことを示すようにシンタックス要素の値を設定することとを備えるビデオブロックを符号化する方法を対象とする。
[0008]別の例では、本開示は、ビデオデータを記憶するように構成されたメモリと、1つまたは複数のプロセッサとを備えるビデオ符号化デバイスを対象とし、1つまたは複数のプロセッサが、現在ビデオブロックをコーディングするために使用される参照ピクチャを決定することと、参照ピクチャに対するピクチャ順序カウント(POC)値を決定することと、参照ピクチャに対するPOC値が現在ビデオブロックを含む現在ピクチャに対するPOC値に等しいことに応答して、参照ピクチャリストが現在ピクチャを含むことを示すようにシンタックス要素の値を設定することと、参照ピクチャに対するPOC値が現在ピクチャに対するPOC値と異なることに応答して、参照ピクチャリストが現在ピクチャを含まないことを示すようにシンタックス要素の値を設定することとを行うように構成される。
[0009]別の例では、本開示は、ビデオ符号化のための装置を対象とし、装置は、ビデオブロックをコーディングするために使用される参照ピクチャを決定するための手段と、参照ピクチャに対するピクチャ順序カウント(POC)値を決定するための手段と、参照ピクチャに対するPOC値が現在ビデオブロックを含む現在ピクチャに対するPOC値に等しいことに応答して、参照ピクチャリストが現在ピクチャを含むことを示すようにシンタックス要素の値を設定するための手段と、参照ピクチャに対するPOC値が現在ピクチャに対するPOC値と異なることに応答して、参照ピクチャリストが現在ピクチャを含まないことを示すようにシンタックス要素の値を設定するための手段とを備える。
[0010]別の例では、本開示は、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、現在ビデオブロックをコーディングするために使用される参照ピクチャを決定することと、参照ピクチャに対するピクチャ順序カウント(POC)値を決定することと、参照ピクチャに対するPOC値が現在ビデオブロックを含む現在ピクチャに対するPOC値に等しいことに応答して、参照ピクチャリストが現在ピクチャを含むことを示すようにシンタックス要素の値を設定することと、参照ピクチャに対するPOC値が現在ピクチャに対するPOC値と異なることに応答して、参照ピクチャリストが現在ピクチャを含まないことを示すようにシンタックス要素の値を設定することとを行わせる命令を記憶するコンピュータ可読記憶媒体を対象とする。
[0011]別の例では、本開示は、ビデオデータを復号する方法を対象とし、この方法は、ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格がある(eligible)かどうかを示すシンタックス要素を受信することと、シンタックス要素の値を決定することと、ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格があることをシンタックス要素が示すことに応答して、現在ピクチャを参照ピクチャリストに追加することと、ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格がないことをシンタックス要素が示すことに応答して、現在ピクチャが参照ピクチャリスト内に置かれるのを制限することとを備える。
[0012]別の例では、本開示は、ビデオデータを記憶するように構成されたメモリ、ならびに、ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信することと、シンタックス要素の値を決定することと、ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格があることをシンタックス要素が示すことに応答して、現在ピクチャを参照ピクチャリストに追加することと、ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格がないことをシンタックス要素が示すことに応答して、現在ピクチャが参照ピクチャリスト内に置かれるのを制限することとを行うように構成された1つまたは複数のプロセッサを備えるビデオ復号デバイスを対象とする。
[0013]別の例では、本開示は、ビデオ符号化のための装置を対象とし、装置は、ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信するための手段と、シンタックス要素の値を決定するための手段と、ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格があることをシンタックス要素が示すことに応答して、現在ピクチャを参照ピクチャリストに追加するための手段と、ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格がないことをシンタックス要素が示すことに応答して、現在ピクチャが参照ピクチャリスト内に置かれるのを制限するための手段とを備える。
[0014]別の例では、本開示は、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信することと、シンタックス要素の値を決定することと、ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格があることをシンタックス要素が示すことに応答して、現在ピクチャを参照ピクチャリストに追加することと、ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格がないことをシンタックス要素が示すことに応答して、現在ピクチャが参照ピクチャリスト内に置かれるのを制限することとを行わせる命令を記憶するコンピュータ可読記憶媒体を対象とする。
[0015]本開示の1つまたは複数の例の詳細が添付の図面および以下の説明に記載されている。本開示の他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
[0016]本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 [0017]ビデオデータのための異なるサンプルフォーマットを示す概念図。 ビデオデータのための異なるサンプルフォーマットを示す概念図。 ビデオデータのための異なるサンプルフォーマットを示す概念図。 [0018]4:2:0サンプルフォーマットに従ってフォーマットされた16×16コーディングユニットを示す概念図。 [0019]4:2:2サンプルフォーマットに従ってフォーマットされた16×16コーディングユニットを示す概念図。 [0020]イントラ動き補償(IMC)モードの概念図。 [0021]マージモードおよびAMVPモードに対する空間的隣接動きベクトル候補の例を示す図。 [0022]隣接するブロックPおよびQによって形成される4ピクセル長の垂直ブロック境界の図。 [0023]例示的な空間的ブロックベクトル候補を示す概念図。 [0024]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。 [0025]本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。 [0026]本明細書で説明する1つまたは複数の技法による例示的なビデオ符号化技法を示すフロー図。 [0027]本明細書で説明する1つまたは複数の技法による例示的な復号技法を示すフロー図。
[0028]最近開発された高効率ビデオコーディング(HEVC)規格を含む様々なビデオコーディング規格は、ビデオブロックのための予測コーディングモードを含み、ここで、現在コーディングされているブロックは、ビデオデータのすでにコーディングされたブロックに基づいて予測される。イントラ予測モードでは、現在ブロックは、現在ブロックと同じピクチャ中の1つまたは複数の以前にコーディングされた隣接するブロックに基づいて予測されるが、インター予測モードでは、現在ブロックは、異なるピクチャ中のすでにコーディングされたブロックに基づいて予測される。インター予測モードでは、予測ブロックとして使用するために以前にコーディングされたフレームのブロックを決定するプロセスは動き推定と呼ばれることがあり、動き推定は一般にビデオエンコーダによって実行され、予測ブロックを識別し取り出すプロセスは動き補償と呼ばれることがあり、動き補償はビデオエンコーダとビデオデコーダの両方によって実行される。
[0029]ビデオエンコーダは、一般に、複数のコーディングシナリオを使用してビデオをコーディングし、望ましいレートひずみトレードオフをもたらすコーディングシナリオを識別することによって、ビデオデータのシーケンスをどのようにコーディングするかを決定する。特定のビデオブロックのためのイントラ予測コーディングシナリオをテストするとき、ビデオエンコーダは、一般に、隣接するピクセルの行(すなわち、コーディングされているブロックのすぐ上にあるピクセルの行)をテストし、隣接するピクセルの列(すなわち、コーディングされているブロックのすぐ左にあるピクセルの列)をテストする。対照的に、インター予測シナリオをテストするとき、ビデオエンコーダは、一般に、はるかに大きい探索エリア中の候補予測ブロックを識別し、ここで、探索エリアは、ビデオデータの以前にコーディングされたフレーム中のビデオブロックに対応する。
[0030]しかしながら、テキスト、シンボル、または繰返しパターンを含むビデオ画像など、いくつかのタイプのビデオ画像の場合、コーディング利得は、イントラブロックコピー(IBC)モードと呼ばれることもあるイントラ動き補償(IMC)モードを使用することによって、イントラ予測およびインター予測に対して達成され得ることが発見された。本開示では、IMCモードおよびIBCモードという用語は交換可能である。たとえば、当初はIMCモードという用語が開発者によって使用されていたが、後にIBCモードに変更された。IMCモードでは、イントラ予測モードの場合、ビデオエンコーダは、コーディングされているブロックと同じフレームまたはピクチャ中の予測ブロックを探索するが、インター予測モードの場合、ビデオエンコーダは、隣接する行および列だけではなく、より広い探索エリアを探索する。
[0031]IMCモードでは、ビデオエンコーダは、予測されているブロックと同じフレームまたはピクチャ内の予測ブロックを識別するために、動きベクトルまたはブロックベクトルと呼ばれることもあるオフセットベクトルを決定し得る。オフセットベクトルは、たとえば、x成分とy成分とを含み、x成分は予測されているビデオブロックと予測ブロックとの間の水平変位を識別し、y成分は予測されているビデオブロックと予測ブロックとの間の垂直変位を識別する。符号化ビットストリームを復号するときに、ビデオデコーダがビデオエンコーダによって選択された予測ブロックを識別することができるように、ビデオエンコーダは、符号化ビットストリーム中で、決定されたオフセットベクトルをシグナリングする。
[0032]本開示は、イントラブロックコピーとインターコーディングとを効率的に統合するための技法を紹介する。提案する技法は、主として、限定はしないが、場合によっては高ビット深度(たとえば、8ビット以上)と4:4:4、4:2:2、4:2:0、4:0:0などの異なるクロマサンプリングフォーマットとのサポートを含むスクリーンコンテンツコーディングを対象とする。
[0033]図1は、本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後の時間において復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。いくつかの場合には、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。
[0034]宛先デバイス14は、リンク16を介して、復号されるべき符号化ビデオデータを受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク16は、ソースデバイス12が符号化ビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得る任意の他の機器を含み得る。
[0035]代替的に、符号化データは、出力インターフェース22からストレージデバイス17に出力されてもよい。同様に、符号化データは、入力インターフェースによってストレージデバイス17からアクセスされ得る。ストレージデバイス17は、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス17は、ソースデバイス12によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに相当し得る。宛先デバイス14は、ストレージデバイス17からストリーミングまたはダウンロードを介して、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶すること、およびその符号化ビデオデータを宛先デバイス14へ送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を通じて符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適したワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイス17からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
[0036]本開示の技法は、必ずしもワイヤレスの用途または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話のような適用例をサポートするために、一方向または双方向のビデオ伝送をサポートするように構成され得る。
[0037]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかの場合、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成し得る。しかしながら、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤードの適用例に適用され得る。
[0038]キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14へ直接送信され得る。符号化ビデオデータは同じく(または代替的に)、復号および/または再生のために宛先デバイス14または他のデバイスによって後でアクセスできるように、ストレージデバイス17に記憶されてもよい。
[0039]宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信されるかまたはストレージデバイス17上で提供される符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ30などのビデオデコーダによって使用するための、ビデオエンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信される符号化ビデオデータとともに含められてよく、記憶媒体上に記憶されてよく、またはファイルサーバを記憶されてもよい。
[0040]ディスプレイデバイス32は、宛先デバイス14と統合されてよく、または宛先デバイス14の外部にあってもよい。いくつかの例では、宛先デバイス14は、集積ディスプレイデバイスを含んでよく、また、外部ディスプレイデバイスとインターフェースするように構成されてもよい。他の例では、宛先デバイス14は、ディスプレイデバイスであってもよい。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0041]ビデオエンコーダ20およびビデオデコーダ30は、高効率ビデオコーディング(HEVC)などのビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。「HEVCワーキングドラフト10」または「HEVC WD10」と呼ばれるHEVC規格のワーキングドラフトは、Brossら、「Editors’ proposed corrections to HEVC version 1」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング共同研究部会(JCT−VC:Joint Collaborative Team on Video Coding)、第13回会議、仁川、韓国、2013年4月に記載されている。本開示で説明する技法はまた、現在開発中のHEVC規格の拡張に従って動作し得る。代替または追加として、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part 10,アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格などの、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、および、スケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含む(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264を含む。
[0042]最近、新しいビデオコーディング規格、すなわちHigh−Efficiency Video Coding(HEVC)の設計が、ITU−T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT−VC)によって確定された。以後HEVC WDと呼ばれる、最新のHEVCドラフト仕様は、http://phenix.int−evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC−O1003−v2.zipから入手可能である。HEVCに対する範囲拡張、すなわち、HEVC−RExtがまた、JCT−VCによって開発されている。以後RExt WD7と呼ばれる、範囲拡張の最近のワーキングドラフト(WD)が、http://phenix.int−evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC−Q1005−v4.zipから入手可能である。
[0043]本明細書では、JCTVC−Q1003におけるようなHEVC仕様テキストはしばしば、HEVCバージョン1と呼ばれる。範囲拡張仕様は、HEVCのバージョン2になり得る。しかしながら、おおむね、提案する技法たとえば動きベクトル予測に関する限り、HEVCバージョン1および範囲拡張仕様は技術的に同様である。したがって、私たちがHEVCバージョン1に基づく変化を指すときはいつでも、同じ変化が範囲拡張仕様に適用されてよく、私たちがHEVCバージョン1モジュールを再使用するときはいつでも、私たちはまた、実際に、(同じ従属節を有する)HEVC範囲拡張モジュールを再使用している。
[0044]最近、動きを伴うテキストおよびグラフィックスなどのスクリーンコンテンツ材料のための新しいコーディングツールの調査が要求され、スクリーンコンテンツに対するコーディング効率を改善する技術が提案されている。新規の専用コーディングツールを用いてスクリーンコンテンツの特性を活用することによってコーディング効率の有意な改善が得られ得るという証拠があるので、スクリーンコンテンツコーディング(SCC)のための特定のツールを含む、高効率ビデオコーディング(HEVC)規格の場合によっては開発中の将来の拡張を目標とした提案の募集(CfP)が発行されている。会社および団体は、この募集に応答して提案を提出するように勧誘されている。このCfPの使用事例および要件が、MPEGドキュメントN14174に記載されている。第17回JCT−VC会合中に、SCC試験モデル(SCM)が確立される。SCCの最近のワーキングドラフト(WD)が、http://phenix.int−evry.fr/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC−R1005−v3.zipから入手可能である。
[0045]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は各々、オーディオエンコーダおよびデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を扱うために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)のような他のプロトコルに準拠し得る。
[0046]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実施するために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0047]JCT−VCが、HEVC規格を開発した。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の機能を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを与えるが、HMは33個ものイントラ予測符号化モードを与え得る。
[0048]概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU:largest coding unit)に分割され得ることを記載している。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従って、コーディングユニット(CU)に分割され得る。たとえば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割される場合があり、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割される場合がある。4分木のリーフノードとしての最終的な分割されない子ノードは、コーディングノード、すなわち、コーディングされたビデオブロックを備える。コーディングされたビットストリームに関連付けられたシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
[0049]CUは、HEVCにおける基本コーディングユニットとして定義される。HEVCでは、フレームは最初に、CTU(コーディングツリーユニット)と呼ばれる、いくつかの方形ユニットに分割される。CTUサイズを2N×2Nとする。各CTUは4つのN×N CUに分割され得、各CUは4つの(N/2)×(N/2)ユニットにさらに分割され得る。ブロック分割は、あらかじめ定義された最大分割レベルまたは許容される最小CUサイズに達するまで、同様の方法で継続することができる。CTUのサイズ、CTUをCUにさらに分割するレベル、およびCUの最小サイズは符号化構成において定義され、ビデオデコーダ30に送られるか、またはビデオエンコーダ20とビデオデコーダ30の両方に知られていてもよい。
[0050]CUは、コーディングノードと、コーディングノードに関連付けられた予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64ピクセル以上を持つツリーブロックのサイズまでわたり得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連付けられたシンタックスデータは、たとえば、1つまたは複数のPUへのCUの区分を記述し得る。区分モードは、CUがスキップモード符号化もしくは直接モード符号化されるのか、イントラ予測モード符号化されるのか、またはインター予測モード符号化されるのかの間で異なり得る。PUは、形状が非方形に区分され得る。CUに関連付けられたシンタックスデータは、たとえば、4分木に従ってCUを1つまたは複数のTUに区分することをも記述し得る。TUは、形状が正方形または非正方形であり得る。
[0051]HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、通常、区分されたLCUのために定義された、所与のCU内のPUのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。TUは通常、PUと同じサイズであるか、またはそれよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用してより小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれ得る。TUに関連するピクセル差分値は、変換係数を生成するために変換され得、その変換係数は量子化され得る。
[0052]概して、PUは、予測プロセスに関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、そのPU用の動きベクトルを定義するデータを含む場合がある。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)を記述し得る。
[0053]概して、TUは、変換プロセスと量子化プロセスとのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)をも含み得る。予測の後に、ビデオエンコーダ20は、PUに対応する残差値を計算することができる。残差値はピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアル化変換係数(serialized transform coefficient)を生成するために、TUを使用して変換係数に変換され、量子化され、走査され得る。本開示では、一般に、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示では、コーディングノードならびにPUおよびTUを含む、ツリーブロック、すなわち、LCUまたはCUを指すために「ビデオブロック」という用語をも使用し得る。
[0054]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャの1つもしくは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は通常、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し、指定のコーディング規格に応じてサイズが異なり得る。
[0055]例として、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を指す。
[0056]本開示では、たとえば16×16ピクセルまたは16かける16ピクセルなど、「N×N」および「NかけるN(N by N)」は、垂直および水平の寸法に関して、ビデオブロックのピクセル範囲を示すために区別なく使用され得る。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)、および水平方向に16ピクセル(x=16)を有する。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここでNは非負の整数値を表す。ブロック内のピクセルは、行および列に配列され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備えてよく、ここで、Mは必ずしもNに等しいとは限らない。
[0057]したがって、HEVCによれば、CUは、1つもしくは複数の予測ユニット(PU)および/または1つもしくは複数の変換ユニット(TU)を含み得る。本開示ではまた、CU、PU、またはTUのいずれかを指すために「ブロック」、「区分」または「部分」という用語を使用する。概して、「部分」は、ビデオフレームの任意のサブセットを指し得る。さらに、本開示では、一般に、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合には、本開示ではまた、コーディングノードならびにPUおよびTUを含む、ツリーブロック、すなわち、LCUまたはCUを指すために「ビデオブロック」という用語を使用し得る。したがって、ビデオブロックはCU内のコーディングノードに対応する場合があり、ビデオブロックは固定サイズまたは可変サイズを有する場合があり、指定されたコーディング規格に応じてサイズが異なる場合がある。
[0058]クロマフォーマットと呼ばれることもあるビデオサンプリングフォーマットは、CUに含まれるルーマサンプルの数に対して、CUに含まれるクロマサンプルの数を定義し得る。クロマ成分用のビデオサンプリングフォーマットに応じて、U成分およびV成分の、サンプルの数に関するサイズは、Y成分のサイズと同じか、または異なる場合がある。HEVC規格では、chroma_format_idcと呼ばれる値は、ルーマ成分に対して、クロマ成分の異なるサンプリングフォーマットを示すために定義される。HEVCでは、chroma_format_idcはSPSにおいてシグナリングされる。表1は、chroma_format_idcの値と関連するクロマフォーマットとの間の関係を示す。
Figure 0006720153
[0059]表1では、変数SubWidthCおよびSubHeightCは、ルーマ成分用のサンプルの数とクロマ成分ごとのサンプルの数との間の、水平および垂直のサンプリングレートの比を示すために使用され得る。表1に記載されたクロマフォーマットでは、2つのクロマ成分は同じサンプリングレートを有する。したがって、4:2:0サンプリングでは、2つのクロマアレイの各々はルーマアレイの半分の高さと半分の幅とを有するが、4:2:2サンプリングでは、2つのクロマアレイの各々はルーマアレイの同じ高さと半分の幅とを有する。4:4:4サンプリングでは、2つのクロマアレイの各々はルーマアレイと同じ高さと同じ幅とを有し得るか、場合によっては、3つの色平面はすべて、モノクロームサンプリングされたピクチャとして別個に処理され得る。
[0060]表1の例では、4:2:0フォーマットの場合、水平方向と垂直方向の両方について、ルーマ成分用のサンプリングレートは、クロマ成分のサンプリングレートの2倍である。結果として、4:2:0フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分用のサンプルのアレイの幅および高さは、クロマ成分用のサンプルの各アレイの幅および高さの2倍である。同様に、4:2:2フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分用のサンプルのアレイの幅は、クロマ成分ごとのサンプルのアレイの幅のそれの2倍であるが、ルーマ成分用のサンプルのアレイの高さは、クロマ成分ごとのサンプルのアレイの高さに等しい。4:4:4フォーマットに従ってフォーマットされたコーディングユニットの場合、ルーマ成分用のサンプルのアレイは、クロマ成分ごとのサンプルのアレイと同じ幅と高さとを有する。YUV色空間に加えて、ビデオデータはRGB空間色に従って定義され得ることに留意されたい。このようにして、本明細書で説明するクロマフォーマットはYUV色空間またはRGB色空間のいずれかに適用され得る。RGBクロマフォーマットは一般に、赤サンプルの数、緑サンプルの数および青サンプルの数が等しくなるようにサンプリングされる。したがって、本明細書で使用する「4:4:4クロマフォーマット」という用語は、YUV色空間またはRGB色空間のいずれかを指し得、ここにおいて、サンプルの数はすべての色成分について等しい。
[0061]本開示の技法によれば、ビデオエンコーダ20は、現在ピクチャ中の現在ブロックをコーディングするために使用される参照ピクチャを決定し得る。たとえば、参照ピクチャは、現在ビデオブロックをコーディングするために使用される動き予測情報を有する参照ブロックを含み得る。ビデオエンコーダ20はさらに、参照ピクチャに対するピクチャ順序カウント(POC)値を決定し得る。参照ピクチャに対するPOC値が現在ビデオブロックを含む現在ピクチャに対するPOC値に等しいことに応答して、ビデオエンコーダ20は、参照ピクチャリストが現在ピクチャを含むことを示すようにシンタックス要素の値を設定し得る。参照ピクチャに対するPOC値が現在ピクチャに対するPOC値と異なることに応答して、ビデオエンコーダ20は、参照ピクチャリストが現在ピクチャを含まないことを示すようにシンタックス要素の値を設定し得る。
[0062]本開示のさらなる技法では、ビデオデコーダ30は、ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信し得る。ビデオデコーダ30はさらに、シンタックス要素の値を決定し得る。ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格があることをシンタックス要素が示すことに応答して、ビデオデコーダ30は、現在ピクチャを参照ピクチャリストに追加し得る。ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格がないことをシンタックス要素が示すことに応答して、ビデオデコーダ30は、現在ピクチャが参照ピクチャリスト内に置かれるのを制限し得る。
[0063]図2A〜図2Cは、ビデオデータのための異なるサンプルフォーマットを示す概念図である。図2Aは、4:2:0サンプルフォーマットを示す概念図である。図2Aに示すように、4:2:0サンプルフォーマットの場合、クロマ成分はルーマ成分の4分の1のサイズである。したがって、4:2:0サンプルフォーマットに従ってフォーマットされたCUの場合、クロマ成分のサンプルごとに4つのルーマサンプルが存在する。図2Bは、4:2:2サンプルフォーマットを示す概念図である。図2Bに示すように、4:2:2サンプルフォーマットの場合、クロマ成分はルーマ成分の2分の1のサイズである。したがって、4:2:2サンプルフォーマットに従ってフォーマットされたCUの場合、クロマ成分のサンプルごとに2つのルーマサンプルが存在する。図2Cは、4:4:4サンプルフォーマットを示す概念図である。図2Cに示すように、4:4:4サンプルフォーマットの場合、クロマ成分はルーマ成分と同じサイズである。したがって、4:4:4サンプルフォーマットに従ってフォーマットされたCUの場合、クロマ成分のサンプルごとに1つのルーマサンプルが存在する。
[0064]図3は、4:2:0サンプルフォーマットに従ってフォーマットされた16x16コーディングユニットの一例を示す概念図である。図3は、CU内のルーマサンプルに対するクロマサンプルの相対位置を示す。上述のように、CUは、一般に、水平方向および垂直方向のルーマサンプルの数によって定義される。したがって、図3に示すように、4:2:0サンプルフォーマットに従ってフォーマットされた16×16 CUは、ルーマ成分の16×16サンプルと、クロマ成分ごとの8×8サンプルとを含む。さらに、上記で説明したように、CUはより小さいCUに区分され得る。たとえば、図3に示すCUは、4つの8×8 CUに区分され得、ここで、各8×8 CUは、ルーマ成分用の8×8サンプルと、クロマ成分ごとの4×4サンプルとを含む。
[0065]図4は、4:2:2サンプルフォーマットに従ってフォーマットされた16×16コーディングユニットの一例を示す概念図である。図4は、CU内のルーマサンプルに対するクロマサンプルの相対位置を示す。上記で説明したように、CUは、一般に、水平方向および垂直方向のルーマサンプルの数に従って定義される。したがって、図4に示すように、4:2:2サンプルフォーマットに従ってフォーマットされた16×16 CUは、ルーマ成分用の16×16サンプルと、クロマ成分ごとの8×16サンプルとを含む。さらに、上記で説明したように、CUはより小さいCUに区分され得る。たとえば、図4に示すCUは、4つの8×8 CUに区分され得、ここで、各CUは、ルーマ成分用の8×8サンプルと、クロマ成分ごとの4×8サンプルとを含む。
[0066]CUのPUを使用するイントラ予測コーディングまたはインター予測コーディングの後で、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUについての残差データを含むTUを形成し、次いで、CUの変換係数を生成するためにTUを変換し得る。
[0067]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実施し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ここで、nはmよりも大きい。
[0068]いくつかの例では、ビデオエンコーダ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によって使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
[0069]CABACを実施するために、ビデオエンコーダ20は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当て得る。コンテキストは、たとえば、シンボルの近隣値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように、構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボル用の等長コードワードを使用することにまさるビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0070]本開示の1つの例示的な技法によれば、ビデオデコーダ30は、IMCモードを使用してビデオデータの現在ブロックを復号し得る。ビデオデコーダ30は、ビデオデータの現在ブロックについて、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し、コードワードの長さに基づいて、オフセットベクトルをコーディングし得る。コーディングされているオフセットベクトルの成分はx成分またはy成分のいずれかであり得、一方の成分をシグナリングするために使用されるコードワードの長さは、x成分およびy成分の他方をシグナリングするために使用される第2のコードワードの長さとは異なり得る。
[0071]ビデオデコーダ30は、たとえば、ビデオデータの現在ブロックのためのIMCを実行するために使用される探索領域のサイズに基づいてコードワードの長さを決定することによって、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し得る。探索領域のサイズは、たとえば、現在ブロックのピクセルと探索領域の上部境界との間の距離、現在ブロックのピクセルと探索領域の左境界との間の距離、現在ブロックのピクセルと探索領域の右境界との間の距離のうちの1つまたは複数に基づいて決定され得る。
[0072]加えてまたは代替的に、ビデオデコーダ30は、現在ブロックを備えるコーディングツリーユニットのサイズ、コーディングツリーユニット(CTU)中の現在ブロックのロケーション、またはビデオデータのフレーム中の現在ブロックのロケーションのうちの1つまたは複数に基づいて、現在ブロックのサイズに基づいて、オフセットベクトルの成分をシグナリングするために使用されるコードワードの長さを決定し得る。
[0073]本開示の別の例示的な技法によれば、ビデオデコーダ30は、IMCモードを使用してビデオデータの現在ブロックを復号し得る。ビデオデコーダ30は、ビデオデータの現在ブロックについて、オフセットベクトル(たとえば、ビデオデコーダ30がオフセットベクトルを決定するために使用する情報をビデオエンコーダ20がシグナリングした、現在ブロックのルーマ成分のためのオフセットベクトル)を決定し、サブピクセル位置を指すオフセットベクトルに応答して(たとえば、クロマサンプル内のサブピクセル位置を指すオフセットベクトルに応答して)、現在ブロックのクロマ成分のための参照ブロックを配置するために使用される変更されたオフセットベクトルを生成するためにオフセットベクトルを変更し得る。変更されたオフセットベクトルは、たとえば、整数ピクセル位置を指すか、またはサブピクセル位置よりも精度が低い位置であるピクセル位置を指し得る。
[0074]本開示の別の例示的な技法によれば、ビデオデコーダ30は、ビデオデータの現在ブロックについて、最大CTUサイズを決定し得る。ビデオデコーダ30は、ビデオデータの現在ブロックについて、IMCモードのための最大CUサイズを決定し得る。IMCモードのための最大CUサイズは、最大CTUサイズよりも小さくてもよい。ビデオデコーダ30は、IMCモードのための最大CUサイズに基づいて、ビデオデータの現在ブロックをコーディングし得る。IMCモードのための最大CUサイズに基づいてビデオデータの現在ブロックをコーディングすることは、たとえば、IMCモードのための最大CUサイズよりも大きいビデオデータの現在ブロックのサイズに応答して、IMCモードでビデオデータの現在ブロックをコーディングしないこと、または、IMCモードのための最大CUサイズよりも小さいかもしくはそれに等しいビデオデータの現在ブロックのサイズに応答して、IMCモードでビデオデータの現在ブロックをコーディングすることのうちの1つまたは複数を含み得る。IMCモードのための最大CUサイズは、たとえば、符号化ビデオビットストリーム中でシグナリングされるか、またはすでにコーディングされたビデオデータの統計値に基づいて決定され得る。
[0075]本開示の別の例示的な技法によれば、ビデオデコーダ30は、IMCモードを使用してビデオデータの現在ブロックをコーディングし得る。現在ブロックのサイズ、現在ブロックの位置、および現在ブロックを備えるCTUのサイズのうちの1つまたは複数に基づいて、ビデオデコーダ30は、ビデオデータの現在ブロックについて、オフセットベクトルをコーディングするためのコーディング方法を決定し、決定されたコーディング方法に基づいてオフセットベクトルをコーディングし得る。オフセットベクトルをコーディングするためのコーディング方法は、たとえば、固定長コーディング、可変長コーディング、算術コーディング、およびコンテキストベースのコーディングのうちの1つまたは組合せを含み得る。現在ブロックの位置は、たとえば、CTU内の位置またはビデオデータのフレーム内の位置であり得る。
[0076]図5は、IMCモードの概念図を示す。上述のように、IMCモードはIBCモードと同じである。ビデオエンコーダ20およびビデオデコーダ30は、たとえば、IMCモードを使用してビデオデータのブロックを符号化および復号するように構成され得る。リモートデスクトップ、リモートゲーム、ワイヤレスディスプレイ、自動車用インフォテインメント、クラウドコンピューティングなどの多くのアプリケーションは、人々の日常生活における日常手段になりつつあり、そのようなコンテンツをコーディングするときのコーディング効率はIMCモードの使用によって改善され得る。図1のシステム10は、これらのアプリケーションのうちのいずれかを実行するように構成されたデバイスを表し得る。これらのアプリケーションにおけるビデオコンテンツは、自然コンテンツ、テキスト、人工グラフィックスなどの組合せであることが多い。ビデオフレームのテキスト領域および人工グラフィックス領域では、(文字、アイコン、シンボルなどの)繰返しパターンが存在することが多い。上記で紹介したように、IMCは、JCT−VC M0350で報告されたように、この種類の冗長性を除去し、フレーム内コーディング効率を潜在的に改善することを可能にする専用の技法である。図5に示すように、IMCを使用するコーディングユニット(CU)の場合、予測信号は同じフレーム中のすでに再構成された領域から取得される。結局、現在CUから変位した予測信号の位置を示すオフセットベクトルは、残差信号とともに符号化される。
[0077]たとえば、図5は、本開示による、同じピクチャ内のビデオデータの予測ブロックから、ビデオデータのブロックのイントラ予測用のモードに従って、たとえば、本開示の技法によるイントラMCモードに従って、現在ピクチャ103内のビデオデータの現在ブロック102を予測するための例示的な技法を示す。図5は、現在ピクチャ103内のビデオデータ104の予測ブロックを示す。ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、本開示の技法によるイントラMCモードに従って現在ビデオブロック102を予測するために予測ビデオブロック104を使用し得る。
[0078]図5は、IMCモードでコーディングされている現在ブロックを示す。現在ブロックは、たとえば現在CUであり得る。現在CUのための予測ブロックは、探索領域108から取得され得る。探索領域108は、現在CUと同じフレームからのすでにコーディングされたブロックを含む。たとえば、フレームがラスタ走査順序で(すなわち、左から右におよび上から下に)コーディングされていると仮定すると、フレームのすでにコーディングされたブロックは、図5に示すように、現在CUの左側および上にあるブロックに対応する。いくつかの例では、探索領域108はフレーム中のすべてのすでにコーディングされたブロックを含み得るが、他の例では、探索領域はすべてよりも少ないすでにコーディングされたブロックを含み得る。動きベクトルまたは予測ベクトルと呼ばれることがある、図5におけるオフセットベクトルは、現在CUの左上ピクセルと予測ブロックの左上ピクセルとの間の差分(図5における標識された予測信号)を識別する。したがって、符号化ビデオビットストリーム中でオフセットベクトルをシグナリングすることによって、ビデオデコーダは、現在CUがIMCモードでコーディングされるとき、現在CUのための予測ブロックを識別することができる。
[0079]図5は、イントラブロックコピープロセスの一例を示す図である。ビデオエンコーダ20は、現在ブロックを予測するためにイントラBCプロセスを実行してよい。上述のように、イントラBCは、ピクチャ中の冗長性を除去する専用プロセスであり得る。たとえば、イントラBCを使用するコーディングユニット(CU)の場合、ビデオエンコーダ20またはビデオデコーダ30は、同じピクチャ中のすでに再構成された領域から現在ブロックを取得し得る。いくつかの例では、ビデオエンコーダ20またはビデオデコーダ30はそれぞれ、現在CUから変位されたときに現在ブロックを生成するために使用されるピクチャ中のブロックの位置を示すオフセットベクトルまたは変位ベクトル(動きベクトルとも呼ばれる)を、現在の信号とともに符号化または復号することができる。
[0080]たとえば、図5は、RExt(すなわち、開発中の規格のWD5を含む、HEVCに対する範囲拡張)中に含まれているイントラBCの一例を示す。図5では、現在CUは、現在ピクチャ/スライスのすでに復号されたブロックから予測される。言い換えれば、ビデオエンコーダ20またはビデオデコーダ30は、現在ピクチャを使用し得、現在ピクチャの現在CUを予測するために参照ピクチャとして使用される。
[0081]概して、リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動車インフォテインメント、クラウドコンピューティングなどの多数のアプリケーションが、日常的手段になりつつある。これらのアプリケーションにおけるビデオコンテンツは、通常、自然コンテンツ、テキスト、人工グラフィックスなどの組合せである。テキスト領域および人工グラフィックス領域では、(文字、アイコン、シンボルなどの)繰返しパターンが存在することが多い。イントラBCは、この種類の冗長性を除去することとフレーム内コーディング効率を改善することとを可能にする専用技法である。図5に示すように、イントラBCを使用するコーディングユニット(CU)の場合、予測信号は同じピクチャ/スライス中のすでに再構成された領域から取得される。結局、現在CUから変位した予測信号の位置を示すオフセットベクトルまたは変位ベクトル(動きベクトルとも呼ばれる)は、残差信号とともに符号化される。
[0082]いくつかの例では、ビデオエンコーダ20は、PPSを指すピクチャがそのピクチャ自体の参照ピクチャリスト中に存在し得るか否かをビデオデコーダ30に示すために、シンタックス要素curr_pic_as_ref_enabled_flagをシグナリングし得る。一例として、ビデオエンコーダ20は、PPSを指すピクチャがそのピクチャ自体の参照ピクチャリスト中に存在し得ることを示すために、curr_pic_as_ref_enabled_flagを1に等しいとしてシグナリングし得る。別の例として、ビデオエンコーダ20は、PPSを指すピクチャがそのピクチャ自体の参照ピクチャリスト中に存在しないことを示すために、curr_pic_as_ref_enabled_flagを0に等しいとしてシグナリングし得る。さらに別の例として、ビデオエンコーダ20は、curr_pic_as_ref_enabled_flagをシグナリングしない。いくつかの例では、シンタックス要素curr_pic_as_ref_enabled_flagが存在しないとき、ビデオデコーダ30はcurr_pic_as_ref_enabled_flagの値が0に等しいものと推論し得る。いくつかの例では、ビデオエンコーダ20は、変数NumAddRefPicを(curr_pic_as_ref_enabled_flag?1:0)に等しく設定し得る。他の例では、追加または代替として、このシンタックス要素は、他のデータ構造、たとえばシーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、スライスヘッダなどに追加され得る。
[0083]現在のHEVC範囲拡張規格では、イントラBCに対するMVは、HEVCバージョン1における動きベクトル差分(MVD)コーディング方法を使用して符号化される。しかしながら、イントラBC MVフィールド特性の従来のインターMVフィールドとは異なる特性により、このコーディング方法は効率的でない。これに動機づけられて、本開示では、いくつかのMVコーディング方法が提案される。これらの例示的な技法は、別個に、または連携して実装され得る。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、各技法を別個に実装し得るか、あるいは1つまたは複数の技法を組み合わせて実装し得る。たとえば、本開示は、MVをより効率的にコーディングするためにいくつかの技法を提案する。
[0084]これらの技法は、MVの水平成分(すなわち、MV_x)に関して説明されるが、これらの技法は、MVの垂直成分(すなわち、MV_y)に対して等しく適用可能であり得る。これらの技法は、1次元動きベクトルの成分と2次元動きベクトルの成分(すなわち、水平成分および垂直成分)の一方または両方との両方に対して使用され得る。さらに、これらの技法は、b0、b1、...、bnを含むMV_xの2値化ストリングに言及し、ここで、biはストリング中のi番目のビンである。これらの技法は、エンコーダ20のエントロピー符号化ユニットによって、またはデコーダ30のエントロピー復号ユニットによって実装され得る。他の例では、これらの技法は、エンコーダ20の予測処理ユニットによって、またはデコーダ30の予測処理ユニットによって実装され得る。いくつかの例では、これらの技法は、ビデオエンコーダ20とビデオデコーダ30とのユニットの任意の組合せによって実装され得る。たとえば、ビデオエンコーダ20およびビデオデコーダ30が集積回路(IC)またはマイクロコントローラとして実装される例では、これらの技法は、ICまたはマイクロコントローラの1つまたは複数のユニットによって実装され得る。
[0085]本開示の第1の例では、第1のビンb0は、MV_xの値が非ゼロであることを示し得る。たとえば、abs(MV_x)>0の場合にb0は1に等しく、abs(MV_x)=0の場合にb0は0に等しい(すなわち、abs(MV_x)>0で(b0=1)またはさもなければ(b0=0)。第1のビンb0は、コンテキストを有するCABACを使用して(適用可能な場合に)符号化または復号され得る。いくつかの例では、MV_xおよびMV_yに対するb0は、別個のコンテキストを有し得る。いくつかの例では、MV_xおよびMV_yに対するb0は、同じコンテキストを共有し得る。いくつかの例では、イントラMCのmvコーディングにおけるi番目のビンは、インターMCのmvコーディングにおけるi番目のビンと同じコンテキストを共有し得る。いくつかの例では、イントラMCのmvコーディングおよびインターMCのmvコーディングにおけるi番目のビンはコンテキストを共有しない。
[0086]後続のビンb1b2...は、abs(MV_x)−1の値を表し得る。いくつかの例では、後続のビンb1b2...は、バイパスモードにおけるパラメータ3を有する指数ゴロム符号を使用して(適用可能な場合に)符号化または復号され得る。いくつかの例では、指数ゴロム符号の他の順序、たとえば1、2、4、5が使用されることがあり、他の符号、たとえばライスゴロム符号が使用されることがある。指数ゴロム符号またはライスゴロム符号の順序は、CUのサイズに依存し得ることに留意されたい。いくつかの例では、b1は、abs(MV_x)=1である(すなわち、b1=1)か、またはそうでない(すなわち、b1=0)かを表すことができる。いくつかの例では、b1は、バイパスモードを用いて、またはCABACコンテキストを用いて(適用可能な場合に)符号化または復号され得る。そのような例では、b2b3...はabs(MV_x)−2の値を表してよく、バイパスモードにおけるパラメータ3を有する指数ゴロム符号を使用して(適用可能な場合に)符号化または復号され得る。
[0087]いくつかの例では、最後のビンは、MV_xの符号を示す。最後のビンは、コンテキストなしにバイパスモードにおいて(適用可能な場合に)符号化または復号され得る。いくつかの例では、符号ビンは、1つまたは複数のコンテキストを有するCABACを使用して(適用可能な場合に)符号化または復号され得る。いくつかの例では、MV_xおよびMV_yに対する符号ビンは、別個のコンテキストを有し得る。いくつかの例では、MV_xおよびMV_yに対する符号ビンは、同じコンテキストを共有し得る。
[0088]本開示の第2の例では、第1のビンb0は、後続のb1b2...が、オフセットだけ少ないMV_xの値(すなわち、MV_x−offset_x)を表すかどうかを示し得る。たとえば、後続のb1b2...がオフセットだけ少ないMV_xの値を表す場合に、b0は1に等しく(すなわち、b0=1)、b1b2...がオフセットだけ少ないMV_xの値を表さない場合に、b0はゼロに等しい(すなわち、b0=0)。いくつかの例では、たとえば、b1b2...がオフセットだけ少ないMV_xの値を表さない場合、b1b2...は、MV_xの値を表し得る。言い換えれば、第1のビンb0は、後続のb1b2...が、(MV_x−offset_x)の値を表す(b0=1)か、またはそうではなく(MV_x)の値を表す(b0=0)かを示し得る。いくつかの例では、オフセット(すなわち、offset_x)は、所定の値に対応してよく、またはCUの特性(たとえば、CU幅)の関数であってよい。たとえば、オフセット(offset_x)は、負の1を乗じられたCUの幅に等しくてよい(すなわち、offset_xは−CUWidth)。いくつかの例では、MV_xおよびMV_yは異なるオフセットを有してよく、各成分は別個のb0を有する。いくつかの例では、MV_xおよびMV_yはb0を共有してよく、MV_xおよびMV_yに対するオフセットは同じであってよく、または異なってもよい。いくつかの例では、b0は、コンテキストなしにバイパスモードにおいて(適用可能な場合に)符号化または復号され得る。いくつかの例では、b0は、1つまたは複数のコンテキストを有するCABACを使用して(適用可能な場合に)符号化または復号され得る。いくつかの例では、MV_xおよびMV_yに対するb0は、別個のコンテキストを有し得る。いくつかの例では、MV_xおよびMV_yに対するb0は、同じコンテキストを共有し得る。
[0089]いくつかの例では、たとえばb0=1の場合、b1b2...は、MV_x−offset_xを表すことができる。いくつかの例では、たとえばb0=0の場合、b1b2...は、MV_xを表すことができる。いくつかの例では、本開示の第1の例において上記で説明したコーディング方法は、b1b2...をコーディングするために使用され得る。言い換えれば、b0の後、(MV_x−offset_x)(b0=1)または(MV_x)(b0=0)は、後続のストリングb1b2...を用いて表されてよく、第1の例において上記で説明した方法は、コーディング方法として使用され得る。いくつかの例では、他のコーディング方法は、b1b2...を(適用可能な場合に)符号化または復号するために使用され得る。たとえば、HEVCバージョン1におけるMVDコーディング方法は、b1b2...をコーディングするために使用され得る。
[0090]本開示の第3の例では、第1のビンb0は、後続のb1b2...が、オフセットだけ少ないMV_xの絶対値(すなわち、(abs(MV_x)−offset_x))を表すか否かを示し得る。たとえば、後続のb1b2...がオフセットだけ少ないMV_xの絶対値を表す場合に、b0は1に等しく(すなわち、b0=1)、後続のb1b2...がオフセットだけ少ないMV_xの絶対値を表さない場合に、b0はゼロに等しい(すなわち、b0=0)。いくつかの例では、たとえば、b1b2...がオフセットだけ少ないMV_xの絶対値を表さない場合、b1b2...は、MV_xの絶対値を表し得る。言い換えれば、第1のビンb0は、後続のb1b2...が、(abs(MV_x)−offset_x)の値を表す(b0=1)か、またはそうでなく(abs(MV_x))の値を表す(b0=0)かを示し得る。いくつかの例では、オフセット(すなわち、offset_x)は、所定の値に対応してよく、またはCUの特性の関数(たとえば、CU幅の関数)の関数であり得る。たとえば、オフセットは、負の1を乗じられたCUの幅に等しくてよい(すなわち、offset_x=−CUWidth)。いくつかの例では、MV_xおよびMV_yは異なるオフセットを有してよく、各成分は別個のb0を有する。いくつかの例では、MV_xおよびMV_yはb0を共有してよく、MV_xおよびMV_yに対するオフセットは同じであってよく、または異なってもよい。いくつかの例では、b0は、コンテキストなしにバイパスモードにおいて(適用可能な場合に)符号化または復号され得る。いくつかの例では、b0は、1つまたは複数のコンテキストを有するCABACを使用して(適用可能な場合に)符号化または復号され得る。いくつかの例では、MV_xおよびMV_yに対するb0は、別個のコンテキストを有し得る。いくつかの例では、MV_xおよびMV_yに対するb0は、同じコンテキストを共有し得る。
[0091]いくつかの例では、後続のビンb1b2...は、たとえばb0=1の場合、(abs(MV_x)−offset_x)の値を表してよく、またはたとえばb0=0の場合、(abs(MV_x))の値を表し得る。いくつかの例では、b1b2は、バイパスモードにおけるパラメータ3を有する指数ゴロム符号を使用して(適用可能な場合に)符号化または復号され得る。いくつかの例では、指数ゴロム符号の他の順序、たとえば1、2、4、5が使用されることがあり、他の符号、たとえばライスゴロム符号が使用されることがある。いくつかの例では、指数ゴロム符号またはライスゴロム符号の順序は、CUサイズに依存し得る。
[0092]b1は、(abs(MV_x)−offset_x)(b0=1)または(abs(MV_x))(b0=0)が1に等しいか、またはそうでないか(b1=0)を表すことが可能である。言い換えれば、b0=1の場合、b1b2...は(abs(MV_x)−offset_x)の値を表してよく、この場合(すなわち、b0=1の場合)、(abs(MV_x)−offset_x)が1に等しい場合、b1=1であり、(abs(MV_x)−offset_x)が1に等しくない場合、b1=0である。b0=0の場合、b1b2...は(abs(MV_x))の値を表してよく、この場合(すなわち、b0=0の場合)、(abs(MV_x))が1に等しい場合、b1=1であり、(abs(MV_x))が1に等しくない場合、b1=0である。
[0093]いくつかの例では、b1は、バイパスモードを用いて、またはCABACコンテキストを用いて(適用可能な場合に)符号化または復号され得る。いくつかの例では、b2b3...はabs(MV_X)−2の値を表してよく、アーは、バイパスモードにおけるパラメータ3を有する指数ゴロム符号を使用して(適用可能な場合に)符号化または復号され得る。いくつかの例では、最後のビンはMV_xの符号を示してよく、最後のビンは、コンテキストなしにバイパスモードにおいて(適用可能な場合に)符号化または復号され得る。いくつかの例では、符号ビンは、1つまたは複数のコンテキストを有するCABACを使用して(適用可能な場合に)符号化または復号され得る。いくつかの例では、MV_xおよびMV_yに対する符号ビンは、別個のコンテキストを有し得る。いくつかの例では、MV_xおよびMV_yに対する符号ビンは、同じコンテキストを共有し得る。
[0094]次に、HEVCにおける動き情報、POC、CU構造、およびHEVCにおける動き予測の態様について説明する。各ブロックに関して、動き情報のセットが利用可能であり得る。動き情報のセットは、前方予測方向および後方予測方向に関する動き情報を含む。ここで、前方予測方向および後方予測方向は、双方向予測モードの2つの予測方向であり、「前方」および「後方」という用語は、必ずしも幾何学的な意味を有するとは限らず、代わりに、これらの用語は現在ピクチャの参照ピクチャリスト0(RefPicList0)および参照ピクチャリスト1(RefPicList1)に対応する。ピクチャまたはスライスに関して1つの参照ピクチャリストのみが利用可能であるとき、RefPicList0のみが利用可能であり、スライスの各ブロックの動き情報は常に前方である。
[0095]各予測方向に関して、動き情報は参照インデックスと動きベクトルとを含まなければならない。場合によっては、簡単のために、動きベクトル自体は、それが関連付けられた参照インデックスを有することが仮定されるように呼ばれる場合がある。参照インデックスは、現在参照ピクチャリスト(RefPicList0またはRefPicList1)中の参照ピクチャを識別するために使用される。動きベクトルは水平成分と垂直成分とを有する。
[0096]ビデオコーディング規格において、ピクチャの表示順序を識別するためにピクチャ順序カウント(POC)が広く使用されている。1つのコーディングされたビデオシーケンス内の2つのピクチャが同じPOC値を有する場合が存在するが、一般に、コーディングされたビデオシーケンス内でそのようなことは生じない。複数のコーディングされたビデオシーケンスがビットストリーム中に存在するとき、同じPOC値を有するピクチャは、復号順序の点で、互いにより近傍であり得る。ピクチャのPOC値は、一般に、参照ピクチャリスト構築、HEVCにおけるような参照ピクチャセットの導出、および動きベクトルスケーリングのために使用される。
[0097]HEVCでは、スライス中の最大コーディングユニットはコーディングツリーブロック(CTB)と呼ばれる。CTBは、それのノードがコーディングユニットである4分木を含んでいる。CTBのサイズは、HEVCメインプロファイルにおいて16×16から64×64の範囲にあり得る(しかし、技術的には、8×8CTBサイズがサポートされ得る)。コーディングユニット(CU)は、CTBと同じサイズであり得るが、8×8程度に小さくなり得る。各コーディングユニットは1つのモードでコーディングされる。CUがインターコーディングされるとき、CUは、2つの予測ユニット(PU)にさらに区分され得るか、または、さらなる区分が適用されないとき、1つのPUだけになる。2つのPUが1つのCU中に存在するとき、2つのPUは、半分のサイズの長方形またはCUの1/4もしくは3/4のサイズの2つの長方形サイズであり得る。
[0098]CUがインターコーディングされるとき、PUごとに動き情報の1つのセットが存在する。さらに、各PUは、動き情報のセットを導出するために一意のインター予測モードでコーディングされる。HEVCでは、最小PUサイズは8×4および4×8である。
[0099]HEVC規格では、予測ユニット(PU)のために、それぞれ、マージモード(スキップはマージの特殊な場合と見なされる)および高度動きベクトル予測(AMVP)モードと称される2つのインター予測モードがある。AMVPモードまたはマージモードのいずれかでは、動きベクトル(MV)候補リストは、複数の動きベクトル予測子について維持される。現在PUの、動きベクトル、ならびにマージモードにおける参照インデックスは、MV候補リストから1つの候補を取ることによって生成される。
[0100]MV候補リストは、マージモードのために最高5つの候補を、およびAMVPモードのために2つだけの候補を含む。マージ候補は、動き情報のセット、たとえば、参照ピクチャリスト(リスト0およびリスト1)と参照インデックスの両方に対応する動きベクトルを含み得る。マージ候補がマージインデックスによって識別される場合、現在ブロックの予測のために参照ピクチャが使用され、ならびに関連する動きベクトルが決定される。しかしながら、リスト0またはリスト1のいずれかからの各潜在的な予測方向に対するAMVPモードの下では、AMVP候補が動きベクトルのみを含んでいるので、MVPインデックスとともに参照インデックスがMV候補リストに明示的にシグナリングされる必要がある。AMVPモードでは、予測動きベクトルはさらに改善され得る。上記でわかるように、マージ候補は、動き情報のフルセットに対応し、AMVP候補は、特定の予測方向および参照インデックスのためのただ1つの動きベクトルを含む。両方のモードに関する候補は、同じ空間的および時間的隣接ブロックから同様に導出される。
[0101]ビデオエンコーダ20は、ビデオデータの以前に再構成されたブロックのセットから、現在ビデオブロック102を予測するための予測ビデオブロック104を選択する。ビデオエンコーダ20は、符号化ビデオビットストリーム中にも含まれるビデオデータを逆量子化および逆変換し、得られた残差ブロックを、ビデオデータの再構成されたブロックを予測するために使用される予測ブロックと合計することによって、ビデオデータのブロックを再構成する。図5の例では、「対象とするエリア」または「ラスタエリア」とも呼ばれることがある、ピクチャ103内の対象とする領域108は、以前に再構成されたビデオブロックのセットを含む。ビデオエンコーダ20は、以下でより詳細に説明するように、様々な方法でピクチャ103内の対象とする領域108を定義し得る。ビデオエンコーダ20は、対象とする領域108内の様々なビデオブロックに基づいて現在ビデオブロック102を予測しコーディングする相対的な効率と精度との分析に基づいて、対象とする領域108中のビデオブロックの中から現在ビデオブロック102を予測するための予測ビデオブロック104を選択し得る。
[0102]ビデオエンコーダ20は、現在ビデオブロック102に対する予測ビデオブロック104のロケーションまたは変位を表す2次元ベクトル106を決定する。オフセットベクトルの一例である2次元ベクトル106は、それぞれ、現在ビデオブロック102に対する予測ビデオブロック104の水平変位と垂直変位とを表す、水平変位成分112と垂直変位成分110とを含む。ビデオエンコーダ20は、2次元ベクトル106を識別または定義する、たとえば、符号化ビデオビットストリーム中の水平変位成分112と垂直変位成分110とを定義する、1つまたは複数のシンタックス要素を含み得る。ビデオデコーダ30は、2次元ベクトル106を決定するために1つまたは複数のシンタックス要素を復号し、現在ビデオブロック102のための予測ビデオブロック104を識別するために決定されたベクトルを使用し得る。
[0103]いくつかの例では、2次元ベクトル106の解像度は、整数ピクセルであり得、たとえば、整数ピクセル解像度を有するように制約され得る。そのような例では、水平変位成分112および垂直変位成分110の解像度は整数ピクセルである。そのような例では、ビデオエンコーダ20およびビデオデコーダ30は、現在ビデオブロック102のための予測子を決定するために予測ビデオブロック104のピクセル値を補間する必要はない。
[0104]他の例では、水平変位成分112および垂直変位成分110の一方または両方の解像度はサブピクセルであり得る。たとえば、成分112および110の一方は整数ピクセル解像度を有してもよく、他方はサブピクセル解像度を有する。いくつかの例では、水平変位成分112および垂直変位成分110の両方の解像度はサブピクセルであり得るが、水平変位成分112および垂直変位成分110は異なる解像度を有し得る。
[0105]いくつかの例では、ビデオデコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、特定のレベル、たとえば、ブロックレベル、スライスレベル、またはピクチャレベルの適応に基づいて、水平変位成分112および垂直変位成分110の解像度を適応させる。たとえば、ビデオエンコーダ20は、スライスレベルにおいて、たとえば、スライスヘッダ中で、水平変位成分112および垂直変位成分110の解像度が整数ピクセル解像度であるかまたは整数ピクセル解像度ではないかを示すフラグをシグナリングし得る。水平変位成分112および垂直変位成分110の解像度が整数ピクセル解像度ではないことをフラグが示す場合、ビデオデコーダ30は解像度がサブピクセル解像度であると推論し得る。いくつかの例では、必ずしもフラグであるとは限らない1つまたは複数のシンタックス要素は、ビデオデータのスライスまたは他のユニットごとに、水平変位成分112および/または垂直変位成分110の集合的な解像度または個々の解像度を示すために送信され得る。
[0106]さらに他の例では、フラグまたはシンタックス要素の代わりに、ビデオエンコーダ20は解像度コンテキスト情報に基づいて水平変位成分112および/または垂直変位成分110の解像度を設定し得、ビデオデコーダ30は解像度コンテキスト情報から水平変位成分112および/または垂直変位成分110の解像度を推論し得る。解像度コンテキスト情報は、例として、現在ビデオブロック102を含むピクチャまたはピクチャのシーケンスについての色空間(たとえば、YUV、RGBなど)、特定の色フォーマット(たとえば、4:4:4、4:2:2、4:2:0など)、フレームサイズ、フレームレート、または量子化パラメータ(QP)を含み得る。少なくともいくつかの例では、ビデオコーダは、以前にコーディングされたフレームまたはピクチャに関する情報に基づいて、水平変位成分112および/または垂直変位成分110の解像度を決定し得る。このようにして、水平変位成分112の解像度および垂直変位成分110についての解像度はあらかじめ定義され、シグナリングされ得、他のサイド情報(たとえば、解像度コンテキスト情報)から推論され得るか、またはすでにコーディングされたフレームに基づき得る。
[0107]現在ビデオブロック102は、CU、またはCUのPUであり得る。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、IMCに従って予測されたCUをいくつかのPUに分割し得る。そのような例では、ビデオコーダは、CUのPUの各々について、それぞれの(たとえば、異なる)2次元ベクトル106を決定し得る。たとえば、ビデオコーダは、2N×2N CUを2つの2N×N PU、2つのN×2N PU、または4つのN×N PUに分割し得る。他の例として、ビデオコーダは、2N×2N CUを((N/2)×N+(3N/2)×N)PU、((3N/2)×N+(N/2)×N)PU、(N×(N/2)+N×(3N/2))PU、(N×(3N/2)+N×(N/2))PU、4つの(N/2)×2N PU、または4つの2N×(N/2)PUに分割し得る。いくつかの例では、ビデオコーダは2N×2N PUを使用して2N×2N CUを予測し得る。
[0108]現在ビデオブロック102は、ルーマビデオブロック(たとえば、ルーマ成分)と、ルーマビデオブロックに対応するクロマビデオブロック(たとえば、クロマ成分)とを含む。いくつかの例では、ビデオエンコーダ20は、ルーマビデオブロックのための2次元ベクトル106を定義する1つまたは複数のシンタックス要素のみを符号化ビデオビットストリーム中に符号化し得る。そのような例では、ビデオデコーダ30は、ルーマブロックについてシグナリングされた2次元ベクトルに基づいて、ルーマブロックに対応する1つまたは複数のクロマブロックの各々について2次元ベクトル106を導出し得る。本開示で説明する技法では、1つまたは複数のクロマブロックのための2次元ベクトルの導出において、ルーマブロックのための2次元ベクトルがクロマサンプル内のサブピクセル位置を指す場合、ビデオデコーダ30はルーマブロックのための2次元ベクトルを変更し得る。
[0109]色フォーマット、たとえば、色サンプリングフォーマットまたはクロマサンプリングフォーマットに応じて、ビデオコーダは、ルーマビデオブロックに対して、対応するクロマビデオブロックをダウンサンプリングし得る。色フォーマット4:4:4はダウンサンプリングを含まず、これは、クロマブロックが水平方向および垂直方向においてルーマブロックと同じ数のサンプルを含むことを意味する。色フォーマット4:2:2は水平方向においてダウンサンプリングされ、これは、クロマブロックではルーマブロックに対して水平方向において半分の数のサンプルがあることを意味する。色フォーマット4:2:0は水平方向および垂直方向においてダウンサンプリングされ、これは、クロマブロックではルーマブロックに対して水平方向および垂直方向において半分の数のサンプルがあることを意味する。
[0110]ビデオコーダがクロマビデオブロックのためのベクトル106を対応するルーマブロックのためのベクトル106に基づいて決定する例では、ビデオコーダはルーマベクトルを変更する必要があり得る。たとえば、ルーマベクトル106が、水平変位成分112および/または垂直変位成分110が奇数のピクセルである整数解像度を有し、色フォーマットが4:2:2または4:2:0である場合、変換されたルーマベクトルは対応するクロマブロック中の整数ピクセルロケーションを指さないことがある。そのような例では、ビデオコーダは、対応するクロマブロックを予測するためのクロマベクトルとして使用するためにルーマベクトルをスケーリングし得る。
[0111]図6は、マージモードまたはAMVPモードでコーディングされた特定のPU(PU0)に対する空間的MV候補を導出するために使用され得る隣接ブロックの一例を示す。ブロックから候補を生成するために使用される技法は、マージモードとAMVPモードとについて異なる。マージモードでは、たとえば、図6に示す5つの空間的MV候補の各々の利用可能性は、一定の順序に従って検査され得る。たとえば、HEVCは順序a1、b1、b0、a0、b2を使用する。
[0112]AMVPモードでは、隣接ブロックは、図6に示すように、ブロックa0およびa1からなる左グループ、ならびにブロックb0、b1およびb2からなる上グループという、2つのグループに分割される。左グループの場合、利用可能性は、順序{a0、a1}に従って検査される。上グループの場合、利用可能性は、順序{b0、b1、b2}に従って検査される。各グループについて、シグナリングされた参照インデックスによって示された参照ピクチャと同じ参照ピクチャを参照する隣接ブロック中の潜在的候補は、そのグループの最終候補を形成するために選定されるべき最高優先順位を有する。すべての隣接ブロックが、同じ参照ピクチャを指す動きベクトルを含んでいるとは限らない可能性がある。したがって、そのような候補が見つけられ得ない場合、第1の利用可能な候補は、最終候補を形成するためにスケーリングされることになり、したがって、時間距離差分が補償され得る。
[0113]次に、HEVCにおけるクロマコーディングおよびマージ/レベルの並列処理に対する動きベクトルについて説明する。動きベクトルは、それがクロマ動き補償のために使用される前に現在PU/CUのルーマ成分に対して導出され、動きベクトルは、クロマサンプリングフォーマットに基づいてスケーリングされる。
[0114]HEVCでは、LCUは、並列動き推定領域(MER)に分割されてよく、現在PUとは異なるMERに属するそれらの隣接PUのみがマージ/スキップMVPリスト構築プロセスに含まれることを許容する。MERのサイズは、log2_parallel_merge_level_minus2としてピクチャパラメータセットの中にシグナリングされる。MERサイズがN×Nよりも大きく、2N×2Nが最小CUサイズであるとき、空間的隣接ブロックは、それが現在PUと同じMER内にある場合、それは利用不可能と見なされるやり方でMERは実施される。
[0115]イントラブロックコピー(BC)は、現在SCC中に含まれている。イントラBCの一例が上記の図5に示されており、ここにおいて、現在CU/PUは、現在ピクチャ/スライスのすでに復号されたブロックから予測される。予測信号は再構成されるが、デブロッキングとサンプル適応オフセット(SAO)とを含むインループフィルタリングは行われないことに留意されたい。
[0116]ブロック補償では、イントラBCを用いてコーディングされるルーマ成分またはクロマ成分に対して、ブロック補償が整数ブロック補償を用いて行われる。このように、補間は必要ではない。ブロックベクトルは、整数レベルにおいて予測され、シグナリングされる。
[0117]現在SCCでは、ブロックベクトル予測子は、各CTBの始まりにおいて(−w,0)に設定され、ここでwはCUの幅である。そのようなブロックベクトル予測子は、CU/PUがイントラBCモードでコーディングされる場合、最新のコーディングされたCU/PUのうちの1つになるように更新される。CU/PUがイントラBCでコーディングされない場合、ブロックベクトル予測子は変更されないままである。ブロックベクトル予測の後、ブロックベクトル差分は、MV差分(MVD)コーディングを使用して符号化され、方法はHEVCである。
[0118]現在イントラBCは、CUとPUの両方のレベルにおいて有効にされる。PUレベルイントラBCの場合、2N×NおよびN×2N PU区分が、すべてのCUサイズのためにサポートされる。さらに、CUが最も小さいCUであるとき、N×N PU区分がサポートされる。
[0119]本開示の技法によれば、ビデオコーディングデバイスは、イントラBCブロックをインターブロックとして扱うことができる。JCTVC−R0100では、イントラBCモードとインターモードとの統合が提案されている。このように、現在ピクチャは参照ピクチャとして使用され、参照リストに追加されてよい。現在ピクチャが参照リストに追加されると、イントラBCブロックは、そのブロックがインターモードでコーディングされたかのように扱われる。現在ピクチャは、現在ピクチャが復号される前は長期としてマークされ、現在ピクチャの復号の後に短期にマークされる。イントラBCが有効にされると、Pスライスのシンタックスパーシングプロセスおよび復号プロセスが、Iスライスに対して後続する。
[0120]既存のIBC技法は、いくつかの欠点を有することがある。たとえば、イントラBCがインターとして扱われるとき、従来のスライスタイプシグナリングは、復号プロセスにおいて余分の条件検査が生じることになる。同じく、時間的動きベクトル予測子(TMVP)、制約されたイントラ予測、イントラBC MV精度などの間の相互作用に対して、いくつかの問題が存在することがある。
[0121]本開示の技法によれば、イントラBCモードがインターモードとして扱われ、現在ピクチャが参照リスト0(または参照リスト1または両方)に追加され得る、イントラBCモードとインターモードとのより良い統合を可能にするために、次の技法が提案されている。予測モードは同じ(MODE_INTER)であり得るが、ビデオコーディングデバイスは、参照インデックス関連ブロックによって識別された参照ピクチャが現在ピクチャであるかどうか(すなわち、参照ピクチャが現在ピクチャと同じPOCを有するかどうか)を検査することによって、イントラBCブロック従来のインターブロックを区別することができる。参照ピクチャおよび現在ピクチャが同じPOC値を有する場合、現在ブロックは、イントラBCブロックと見なされ得る。他の場合、現在ブロックは、従来のインターブロックと見なされ得る。
[0122]イントラBCとインターモードとの統合において、ビデオコーディングデバイスは、多数の他の変更を実施し得る。たとえば、IRAPピクチャ(すなわち、VCL NALユニットはBLA_W_LP〜RSV_IRAP_VCL23の範囲内のnal_unit_typeを有する)はIスライスを含まない。代わりに、IRAPピクチャはPスライスまたはBスライスを含み得る。そのような例では、Pスライスの動きベクトルは、現在ピクチャ中のブロックを参照する。さらなる例では、Bスライスの双予測動きベクトルはいずれも、現在ピクチャ中のビデオブロックを参照する。Bスライスを含むIRAPピクチャの場合、ビデオコーディングデバイスはさらに、Bスライスの異なる動きベクトルに加えられるべき重みをシグナリングすることができる。たとえば、1つの動きベクトルは25%の重みを有してよく、第2の動きベクトルは75%の重みを有し得る。
[0123]さらに、IRAPピクチャは、空でないRPS(non-empty RPS)を指定するシンタックス要素を含み得る。たとえば、RPSは、デルタPOC値、または参照ピクチャが入り得るPOC値の範囲を表すシンタックス要素を含み得る。RPSは、RPSの様々な特性を定義するフラグ、およびHEVC規格に従ってどのピクチャがRPS中に含まれ得るかなど、他のシンタックス要素を含み得る。
[0124]参照ピクチャは、現在ピクチャのすでに復号された、フィルタリング(SAO/デブロッキング)されていないサンプルを含み得る。この参照ピクチャは、参照ピクチャセットの中に含まれ得る。予測がこの参照ピクチャ(現在ピクチャ)から適用されると、その予測は、残りの復号プロセスに対してインターモードと見なされ得る。一例では、フラグは、スライスヘッダ、SPS、PPS、VPS、または現在ピクチャがインター予測に対する参照ピクチャとして使用されるかどうかを示すものの中に送信される。
[0125]一例では、SPSを指す特定のピクチャが特定のピクチャの参照ピクチャリスト中に含まれてよく、それ自体が1に等しいとき、SPSを指すCVS中にIスライスは存在しない。別の例では、PPSを指す特定のピクチャが特定のピクチャ自体の参照ピクチャリスト中に含まれ得るかどうかを示すシンタックス要素が1に等しい(すなわち、特定のピクチャが参照ピクチャリスト中に含まれることを示す)とき、PPSを指すピクチャ中にIスライスは存在しない。本例は、VPSまたはスライスヘッダ粒度レベルに拡張され得る。
[0126]一例では、現在ピクチャが参照ピクチャとして使用されるとき、変数NumPicTotalCurr(すなわち、現在ピクチャの予測のために参照として使用され得るピクチャの数)は、次のように修正される。
NumPicTotalCurr=0
for(i=0;i<NumNegativePics[CurrRpsIdx];i++)
if(UsedByCurrPicS0[CurrRpsIdx][i])
NumPicTotalCurr++
for(i=0;i<NumPositivePics[CurrRpsIdx];i++) (7−54)
if(UsedByCurrPicS1[CurrRpsIdx][i])
NumPicTotalCurr++
for(i=0;i<num_long_term_sps+num_long_term_pics;i++)
if(UsedByCurrPicLt[i])
NumPicTotalCurr++
if(curr_pic_as_ref_enabled_flag)
NumPicTotalCurr++
変数NumPicTotalCurrは、特定のピクチャが、特定のピクチャ自体の参照ピクチャリスト中に含まれ得るかどうかに依存し得る。
[0127]シンタックス要素curr_pic_as_ref_enabled_flagは、SPSを指す特定のピクチャが、特定のピクチャ自体の参照ピクチャリスト中に含まれ得ることを指定するために、curr_pic_as_ref_enabled_flagが1に等しく設定されるように定義され得る。反対に、SPSを指す特定のピクチャが、特定のピクチャ自体の参照ピクチャリスト中に決して含まれないことを指定するために、curr_pic_as_ref_enabled_flagは0に等しく設定される。シンタックス要素自体が存在しないとき、curr_pic_as_ref_enabled_flagの値は0に等しいと推論される。加えて、現在ピクチャがBLAピクチャまたはCRAピクチャである場合、NumPicTotalCurrの値はcurr_pic_as_ref_enabled_flagに等しくなるものとする。他の場合、現在ピクチャがPスライスまたはBスライスを含むとき、NumPicTotalCurrの値はcurr_pic_as_ref_enabled_flagに等しくないものとする。さらに、シンタックス要素NumPicTotalCurrは、8+curr_pic_as_ref_enabled_flag以下であり得る。
[0128]
[0129]いくつかの例では、現在ピクチャが参照ピクチャとして使用されるとき、参照ピクチャリストの構成のための導出プロセスは、変数NumRpsCurrTempList0がMax(num_ref_idx_l0_active_minus1+1,NumPicTotalCurr)に等しく設定されるように修正される。さらに、リストRefPicListTemp0は次のように構成される。
rIdx=0
while(rIdx<NumRpsCurrTempList0){
for(i=0;i<NumPocStCurrBefore && rIdx<NumRpsCurrTempList0;rIdx++,i++)
RefPicListTemp0[rIdx]=RefPicSetStCurrBefore[i]
if(curr_pic_as_ref_enabled_flag)
RefPicListTemp0[rIdx++]=currPic
for(i=0;i<NumPocStCurrAfter && rIdx<NumRpsCurrTempList0;rIdx++,i++) (8−8)
RefPicListTemp0[rIdx]=RefPicSetStCurrAfter[i]
for(i=0;i<NumPocLtCurr && rIdx<NumRpsCurrTempList0;rIdx++,i++)
RefPicListTemp0[rIdx]=RefPicSetLtCurr[i]
[0130]リストRefPicList0は次のように構成される。
for(rIdx=0;rIdx<=num_ref_idx_l0_active_minus1;rIdx++) (8−9)
RefPicList0[rIdx]=ref_pic_list_modification_flag_l0?RefPicListTemp0[list_entry_l0[rIdx]]: RefPicListTemp0[rIdx]
[0131]スライスがBスライスであるとき、変数NumRpsCurrTempList1は、Max(num_ref_idx_l1_active_minus1+1,NumPicTotalCurr)に等しく設定され、リストRefPicListTemp1は次のように構成される。
rIdx=0
while(rIdx<NumRpsCurrTempList1){
for(i=0;i<NumPocStCurrAfter && rIdx<NumRpsCurrTempList1;rIdx++,i++)
RefPicListTemp1[rIdx]=RefPicSetStCurrAfter[i]
if(curr_pic_as_ref_enabled_flag)
RefPicListTemp1[rIdx++]=currPic
for(i=0;i<NumPocStCurrBefore && rIdx<NumRpsCurrTempList1;rIdx++,i++) (8−10)
RefPicListTemp1[rIdx]=RefPicSetStCurrBefore[i]
for(i=0;i<NumPocLtCurr && rIdx<NumRpsCurrTempList1;rIdx++,i++)
RefPicListTemp1[rIdx]=RefPicSetLtCurr[i]
[0132]上記で説明したように、イントラBCに対応するMVは、整数ペル精度またはHEVCにおける1/4ペルなどのサブピクセル精度を用いてコーディングされ使用され得る。概して、イントラBC MV精度は、インターモードにおけるMV精度とは異なる精度であり得る。以下のいくつかの例では、説明される技法は、整数ペルイントラBC MV精度を提供されるが、整数ペルと違う他の精度が適用されてよく、本開示の範囲内にあると見なされるべきであることを理解されたい。
[0133]いくつかの例では、フラグは、スライスヘッダ、SPS、PPS、VPSなどの中のブロックに対して送信され得る。フラグは、現在イントラBCブロック、イントラBCブロックのグループまたは範囲内のすべてのイントラBCブロックが、整数ペル精度または1/4、1/8ペルなどのサブペル精度、およびたとえばHEVCにおいて定義されるのと同様の精度を用いて維持されるMVを有し得るかどうかを示し得る。たとえば、範囲は、ブロック、ブロックのグループ、スライス、ピクチャ、またはシーケンス全体であり得る。
[0134]一例では、イントラBCブロックに関連付けられたMVは整数ペル精度を有し得る、すなわち、MVはコーディングされ、整数ペル精度においてブロックに関連付けられ得る。そのような例では、AMVP導出、マージ候補導出、または関連プロセスのMVDコーディングは、次の方法のうちのいずれか1つによる変更なしに、トランスペアレントに使用され得る。最初に、イントラBCブロックに対するMV予測子導出プロセス中の従来の長期参照ピクチャの使用は、イントラBCが、現在ピクチャを参照ピクチャリストに追加することによって有効にされることと、参照ピクチャが長期としてマークされていることとを仮定すると、特に非効率的なMV候補をもたらし得る、MVスケーリングに関連する問題を回避することを許容しないことがある。反対に、従来の長期参照ピクチャは、イントラBCが、現在ピクチャを参照リストに追加することによって有効にされることと、この参照ピクチャを長期参照ピクチャとしてマークすることとを仮定すると、イントラBCブロックに対するMV予測子導出プロセス中に、依然として許容され得る。しかしながら、HEVC設計によれば、長期参照ピクチャに対応するMVの値は、精度が整数ペルであるか否かにかかわらず、MV候補導出プロセス中にMVスケーリングなしに直接使用され得る。
[0135]代替または追加として、イントラBC MVが整数ペル精度を有するとき、MV候補導出プロセス(AMVPおよびマージモード)において使用され得る空間的隣接ブロックまたはコロケートされたブロックのMVは、従来の長期参照ピクチャを指すことができる。そのような場合、それらのMV予測子候補は、候補導出プロセスにおいて使用される前に整数ペル精度に変換され得る。同じく、この精度変換プロセスは、イントラBCブロックに対するMV予測子候補導出プロセス中のプルーニングプロセスの前または後に実行され得る。たとえば、変換は、右シフトまたは丸められた右シフトなどの丸め処理によって行われ得る。代替として、MV予測子候補導出プロセスは、通常のインターモードにおけるように変更されずに保たれてよいが、最後の候補リスト中のMVは、イントラBC精度(整数ペル)に変換される。同様に、イントラBC MVが、従来のインターに対して予測子導出プロセスに対する候補として使用される前に、イントラBC MVは、たとえば左シフトによって、従来のインターのMV精度に変換される。
[0136]別の例では、イントラBCが、現在ピクチャを参照ピクチャリストに追加することによって有効にされることと、参照ピクチャが長期としてマークされることとを仮定すると、イントラBCブロックに対するMV予測子導出プロセス中に、空間的隣接ブロックまたはコロケートされたブロックは、それらの参照ピクチャが通常の長期ピクチャ(現在ピクチャではない)である場合、利用不可能と見なされる可能性がある。同様に、インターブロックに対するMV予測子導出プロセス中に、参照ピクチャが通常の長期参照ピクチャである(現在ピクチャではない)ならば、空間的隣接ブロックまたはコロケートされたブロックは、それらがイントラBCブロックである場合、利用不可能と見なされる可能性がある。代替として、参照ピクチャが通常の長期参照ピクチャであるイントラBCブロックおよびインターブロックは、MV予測子導出プロセス中に互いに利用可能と見なされる。
[0137]別の例では、イントラBCモードに対して使用されるイントラBC MVがコーディングされてHEVCにおける1/4ペル精度など、従来のインターモード精度と同じ精度においてブロックに関連付けられたとき、AMVP、マージまたはMVDコーディング関連プロセスは、変更なしにトランスペアレントに使用され得る。代替として、MVは整数ペル精度によってコーディングされ得るが、イントラBCブロックMVが従来のインターモードと同じ精度を有し得る状態で記憶される。したがって、MVDもまた、整数ペル精度でコーディングされ得る。この場合、デコーダ側において、従来のインターと同じ精度で記憶されたMVは、
MV=(MVP>>2+MVD)<<2
として導出されてよく、ここでMVPはインターモード精度における対応するMV予測子であり、MVDは整数ペル精度を有し得る。他の変換メカニズムまたは丸めが適用可能である。イントラBCマージの場合、MVDはゼロであり、MVPは、対応するマージ候補からのMVである。
[0138]イントラBC MVが整数ペル精度によって記憶される場合、イントラBC MVは、インターモードMV精度に変換され得る。たとえば、イントラBC MVは、左シフトを経験してよく、次いで、従来のインターモードの全デブロッキングモジュールが、変更なしに使用され得る。デブロッキングフィルタ強度は、MV値に従って導出され得る。なぜならば、イントラBCおよびインターモードは異なるMV精度を有することがあり、より良好なピクチャ品質、たとえばイントラBCのためにMV精度を等しくすることが望ましいからである。
[0139]イントラBC MVが整数ペル精度で記憶される場合、イントラBC MVは、たとえば左シフトによって従来のインターモードのMV精度に変換されてよく、次いで、従来のインターモードに対するルーマ動き補償モジュールが、変更なしに使用され得る。クロマ成分の場合、ビデオコーダは、変更なしに従来のインターモードに対するクロマ動き補償モジュールを使用してよく、または、ビデオコーダは、クロマサンプリングが4:4:4でなく、区分モードが2N×2Nでないとき、他のクロマ動き補償方法を使用することができる。
[0140]次の場合には、MV予測子の導出およびマージのために使用されるTMVPは許容されない。TMVPは、異なる方法によって許容されなくされ得る。たとえば、TMVP有効フラグが無効にされてよく、またはマージインデックスもしくはTMVP候補に関連付けられたMVPインデックスがビットストリームの中でシグナリングされず、予測のために使用されることがある。別の例では、イントラBCが現在ピクチャを参照リストに追加することによって有効にされるとき、MV予測子の導出およびマージに対するTMVPは、参照リストが現在ピクチャだけを含む場合は許容されない。加えて、TMVP有効化フラグは送信され得ず、0であるものと推論される。別の例では、イントラBCと制約されたイントラ予測の両方が有効にされるとき、イントラブロックまたはイントラBCブロックに対する予測が、イントラブロックまたはイントラBCブロックからのものだけであり得ると仮定して、TMVPは、MV予測子導出およびマージプロセスに対して許容されない。
[0141]イントラBCに対して許容される区分モードは、従来のインターと異なることがあり、または同じであることもある。一例では、イントラBCに対して許容される区分モードおよび区分モードシグナリングは、CUサイズが8×8であるときにN×N区分モードが許容され、そのことが、イントラBCブロックサイズが4×4であり得ることを意味することを除いて、従来のインターとまったく同じである。4×4イントラBCブロックを許容するかどうかは、イントラBCに対するブロックベクトル精度に依存する可能性がある。たとえば、4×4イントラBCブロックは、イントラBCに対するMV精度が整数ペルであるときだけ許容される。4×4イントラBCブロックが許容されるとき、同じCU中に4×4イントラBCブロックが存在する場合、4×4ブロックすべてがイントラBCブロックであるように制限される。代替として、各CUに対して4×4イントラBCブロックが許容されるとき、CUは、4×4イントラBCブロックと4×4従来インターブロックの両方を含み得る。この場合、4×4イントラBCブロックと4×4インターブロックの両方に対するMV精度は整数ペルであるように制限されている。別の例では、イントラBCおよび区分モードシグナリングを許容されている区分モードは、従来のインターとまったく同じである。たとえば、4×4イントラBCブロックは存在しない。したがって、区分モードに対するパーシングおよび復号モジュールは、変更なしに使用され得る。
[0142]イントラBCに対するMV予測子導出は、従来のインターと異なることがあり、または同じであることもある。一例では、MV予測子導出は、従来のインターと同じである。別の例では、MV予測子導出は従来のインターモードに対するAMVPを利用し、他の方法はイントラBCモードに対して利用される。さらに、イントラBCに対するMVDコーディングは、従来のインターと異なることがあり、または同じであることもある。
[0143]記憶されたイントラBC MVは、従来のインター予測に対して同じ精度を有してよく、イントラBC精度、たとえば整数ペルへのMV変換は、いくつかの色成分に対してのみ行われ得る。たとえば、ルーマ成分は記憶されたMV精度(高MV精度)を使用してよく、クロマ成分は、たとえばクロマ動き補償段階の間に整数ペル精度(低MV精度)にMVを変換し得る。
[0144]特定のピクチャが特定のピクチャの参照ピクチャリスト中に含まれ、それ自体が1に等しいとき、および現在予測ユニットのrefIdxがピクチャ自体を指すとき、CU中のすべての予測ユニットが同じrefIdxを有するべきであることが、ビットストリーム適合に対する要件となり得る。すなわち、少なくとも1つの予測ユニットがCU中の現在ピクチャから参照するとき、すべての予測ユニットは、現在ピクチャからのみ参照するものとする。特定のピクチャが特定のピクチャの参照ピクチャリスト中に含まれるとき、それ自体は1に等しく、現在予測ユニットのrefIdxがピクチャ自体を指すとき、(現在ピクチャからの)予測サンプルはいずれも、ピクチャ境界を横断しないものとするという、ビットストリーム適合に対する要件となり得る。言い換えれば、現在ピクチャからの各予測サンプルは、現在ピクチャのピクチャ境界の中にある。
[0145]現在ピクチャは、現在ピクチャ自体に対するTMVP中のコロケートされたピクチャとして使用され得ないように制限される。代替として、現在ピクチャは、TMVP中のコロケートされたピクチャとして使用される可能性もある。この場合、TMVPは利用不可能となるように設定されるか、またはTMVPは利用可能として扱われ、TMVPのために使用されるMVは、限定はしないが、(−2w,0)、(2w,0)、(−w,0)、(w,0)、(0,−h)、(0,−2h)、(0,h)、(0,2h)、(−8,0)、(0,8)、(0,0)など、所定のデフォルトMVによって設定されてよく、ここでwおよびhは現在CU、PUまたはCTBの幅および高さである。
[0146]適合MV解像度が、異なるレベル、たとえばMV成分、PU/CU/CTU/スライス/PPS/SPS/VPSにおいて従来のインター(たとえば、JCTVC−0085)に対して使用されるとき、MVは、整数ペル精度または分数ペル精度を使用してコーディングされ得る。一例として、従来のインターモードのMVが整数ペル精度によってコーディングされるがクォーターペル精度によって記憶されるとき。したがって、MVDもまた、整数ペル精度でコーディングされ得る。この場合、デコーダ側において、クォーターペル精度で記憶されたMVは、
MV=(MVP>>2+MVD)<<2
として導出されてよく、ここでMVPはインターモード精度における対応するMV予測子であり、MVDは整数ペル精度を有し得る。他の変換メカニズムまたは丸めが適用可能である。イントラBCマージの場合、MVDはゼロであり、MVPは、対応するマージ候補からのMVである。
[0147]別の例として、従来のインターモードのMVが整数ペル精度でコーディングされるとき、MVは、整数ペル精度で記憶されてよく、MVDもまた整数ペル精度でコーディングされ得る。AMVPにおけるMVP候補またはマージにおけるマージ候補に対する導出は、これらのMV値が整数ペル精度で記憶されるかまたは分数ペル精度で記憶されるかを考慮することなく、AMVP候補またはマージ候補のMV値を直接使用することによって、HEVCにおけるものと同じであり得る。別の例では、AMVPにおけるクォーターペル精度MVP候補またはマージにおけるマージ候補は、使用される前に最初に整数ペル精度に変換される。
[0148]BLAピクチャは、それのコーディングのために他のピクチャを指すことはなく、復号順序においてビットストリーム中の最初のピクチャであってよく、またはビットストリーム中の後のほうに現れ得る。各BLAピクチャは、新しいCVSを開始し、復号プロセスに対してIDRピクチャと同じ効果を有する。ただし、BLAピクチャは、空でないRPSを指定するシンタックス要素を含んでいる。各VCL NALユニットがBLA_W_LPに等しいnal_unit_typeを有するBLAピクチャのとき、RASLピクチャはビットストリーム中に存在しないピクチャへの参照を含んでいることがあるので、BLAピクチャは、デコーダによって出力されず、復号可能でないことがある関連するRASLピクチャを有し得る。各VCL NALユニットがBLA_W_LPに等しいnal_unit_typeを有するBLAピクチャのとき、BLAピクチャも復号されるように指定される関連するRADLピクチャを有し得る。各VCL NALユニットがBLA_W_RADLに等しいnal_unit_typeを有するBLAピクチャのとき、BLAピクチャは関連するRASLピクチャを有しないが、関連するRADLピクチャを有し得る。各VCL NALユニットがBLA_N_LPに等しいnal_unit_typeを有するBLAピクチャのとき、BLAピクチャはいかなる関連するリーディングピクチャも有しない。
[0149]CRAピクチャはそれのコーディングのために他のピクチャを指すことはなく、復号順序においてビットストリーム中の最初のピクチャであってよく、またはビットストリーム中の後のほうに現れ得る。CRAピクチャは、関連するRADLまたはRASLピクチャを有し得る。BLAピクチャと同じく、CRAピクチャは、空でないRPSを指定するシンタックス要素を含み得る。CRAピクチャが1に等しいNoRaslOutputFlagを有するとき、関連するRASLピクチャは、ビットストリーム中に存在しないピクチャへの参照を含んでいるときに、復号可能でないので、関連するRASLピクチャはデコーダによって出力されない。
[0150]IDRピクチャは、それのコーディングのために他のピクチャを指すことはなく、復号順序においてビットストリーム中の最初のピクチャであってよく、またはビットストリーム中の後のほうに現れ得る。各IDRピクチャは、復号順序においてCVSの最初のピクチャである。各VCL NALユニットがIDR_W_RADLに等しいnal_unit_typeを有するIDRピクチャのとき、IDRピクチャは関連するRADLピクチャを有し得る。各VCL NALユニットがIDR_N_LPに等しいnal_unit_typeを有するIDRピクチャのとき、IDRピクチャはいかなる関連するリーディングピクチャも有しない。IDRピクチャは、関連するRASLピクチャを有しない。
[0151]インター予測は、1つまたは複数の参照ピクチャのデータ要素(たとえば、サンプル値または動きベクトル)に依存する方法で導出される予測であり得る。予測としてのイントラ予測は、参照ピクチャを参照することなく、同じ復号されたスライスのデータ要素(たとえば、サンプル値)のみから導出される。
[0152]IRAPピクチャは、それのコーディングのために他のピクチャを指すことはなく、BLAピクチャ、CRAピクチャ、またはIDRピクチャであり得る。復号順序におけるビットストリーム中の第1のピクチャは、IRAPピクチャでなければならない。必要なパラメータセットが、アクティブ化されることが必要なときに利用可能であるという条件で、復号順序におけるIRAPピクチャおよびすべての後続の非RASLピクチャは、復号順序においてIRAPピクチャに先行するいかなるピクチャの復号プロセスも実行することなしに、正確に復号され得る。IRAPピクチャではない他のピクチャをそのコーディングのために参照しないピクチャがビットストリーム中に存在し得る。参照ピクチャは、復号順序で現在ピクチャまたは後続のピクチャの復号プロセスにおいてインター予測のために使用され得るサンプルを含んでいる。
[0153]参照ピクチャセットは、関連ピクチャまたは復号順で関連ピクチャに続く任意のピクチャのインター予測のために使用され得る、復号順で関連ピクチャに先立つすべての参照ピクチャからなる、あるピクチャと関連付けられた参照ピクチャのセットであり得る。
[0154]コーディングプロセスに対する入力は、現在ピクチャの左上ルーマサンプルに対する現在ルーマコーディングブロックの左上サンプルのルーマロケーション(xCb,yCb)と、現在ルーマコーディングブロックのサイズを指定する変数nCbSと、現在ピクチャの左上ルーマサンプルに対する現在ルーマ予測ブロックの左上サンプルのルーマロケーション(xPb,yPb)と、現在ルーマ予測ブロックの幅と高さとを指定する2変数nPbWおよびnPbHと、現在コーディングユニット中の現在予測ユニットの区分インデックスを指定する変数partIdxと、現在ピクチャの左上ルーマサンプルに対する隣接予測ブロックによってカバーされるルーマロケーション(xNbY,yNbY)とを含み得る。
[0155]コーディングプロセスの出力は、availableNで示されるロケーション(xNbY,yNbY)をカバーする隣接予測ブロックの利用可能性であり、availableNは次のように導出される。現在ルーマ予測ブロックおよび隣接ルーマ予測ブロックが同じルーマコーディングブロックをカバーするかどうかを指定する変数sameCb。次の条件のすべてが真である場合、sameCbはTRUEに等しく設定され、xCbはxNbY以下であり、yCbはyNbY以下であり、(xCb+nCbS)はxNbYより大であり、(yCb+nCbS)はyNbYより大である。他の場合、sameCbは、FALSEに等しく設定される。
[0156]隣接予測ブロック利用可能性availableNは、次のように導出される。sameCbがFALSEに等しい場合、従属節6.4.1において指定されるz走査順序ブロック利用可能性に対する導出プロセスが、入力として(xPb,yPb)に等しく設定された(xCurr、yCurr)とルーマロケーション(xNbY,yNbY)とを用いて起動され、出力がavailableNに割り当てられる。そうではなく、次の条件のすべてが真である場合、availableNはFALSEに等しく設定され、(nPbW<<1)はnCbSに等しく、(nPbH<<1)はnCbSに等しく、partIdxは1に等しく、(yCb+nPbH)はyNbY以下であり、(xCb+nPbW)はxNbYより大である。他の場合、availableNはTRUEに等しく設定される。availableNがTRUEに等しいとき、CuPredMode[xPb][yPb]はMODE_INTERに等しく、CuPredMode[xNbY][yNbY]はMODE_INTRAに等しく、availableNはFALSEに等しく設定される。
[0157]本明細書で説明する様々なシンタックス要素に対するシンタックスは、次の表を含む。これらの表によって更新されるHEVC規格の関連部分は、各表のヘッダ中に提供される。
Figure 0006720153
Figure 0006720153
Figure 0006720153
Figure 0006720153
Figure 0006720153
Figure 0006720153
[0158]本明細書で説明する技法を実施するために、多様なシンタックス要素が、ビデオコーダによって利用され得る。1に等しいシンタックス要素transform_skip_rotation_enabled_flagは、ローテーションが、変換スキップ演算を使用してコーディングされたイントラ4×4ブロックに対する残差データブロックに適用されることを指定する。0に等しいtransform_skip_rotation_enabled_flagは、このローテーションが適用されないことを指定する。存在しないとき、transform_skip_rotation_enabled_flagの値は0に等しいと推論される。
[0159]1に等しいシンタックス要素transform_skip_context_enabled_flagは、特定のコンテキストが、スキップされた変換を伴う変換ブロックに対するsig_coeff_flagのパーシングのために使用されることを指定する。0に等しいシンタックス要素transform_skip_context_enabled_flagは、変換ブロックに対する変換スキップまたは変換バイパスの存在または不在が、このフラグに対するコンテキスト選択に使用されないことを指定する。存在しないとき、transform_skip_context_enabled_flagの値は0に等しいと推論される。
[0160]1に等しいシンタックス要素implicit_rdpcm_enabled_flagは、変換バイパスを使用するブロックに対する残差修正プロセスが、CVSにおけるイントラブロックに対して使用され得ることを指定する。0に等しいシンタックス要素implicit_rdpcm_enabled_flagは、残差修正プロセスが、CVSにおけるイントラブロックに対して使用されないことを指定する。存在しないとき、implicit_rdpcm_enabled_flagの値は0に等しいと推論される。
[0161]1に等しいシンタックス要素explicit_rdpcm_enabled_flagは、変換バイパスを使用するブロックに対する残差修正プロセスが、CVSにおけるインターブロックに対して使用され得ることを指定する。0に等しいシンタックス要素explicit_rdpcm_enabled_flagは、残差修正プロセスが、CVSにおけるインターブロックに対して使用されないことを指定する。存在しないとき、explicit_rdpcm_enabled_flagの値は0に等しいと推論される。
[0162]1に等しいシンタックス要素extended_precision_processing_flagは、拡張されたダイナミックレンジが、係数パーシングおよび逆変換処理のために使用されることを指定する。0に等しいシンタックス要素extended_precision_processing_flagは、拡張されたダイナミックレンジが使用されないことを指定する。存在しないとき、extended_precision_processing_flagの値は0に等しいと推論される。
[0163]変数CoeffMinY、CoeffMinC、CoeffMaxYおよびCoeffMaxCは、次のように導出される。
CoeffMinY=−(1<<(extended_precision_processing_flag?Max(15,BitDepthY+6):15)) (7−27)
CoeffMinC=−(1<<(extended_precision_processing_flag?Max(15,BitDepthC+6):15)) (7−28)
CoeffMaxY=(1<<(extended_precision_processing_flag?Max(15,BitDepthY+6):15))−1 (7−29)
CoeffMaxC=(1<<(extended_precision_processing_flag?Max(15,BitDepthC+6):15))−1 (7−30)
[0164]1に等しいシンタックス要素intra_smoothing_disabled_flagは、隣接サンプルのフィルタリング処理がイントラ予測に対して無条件に無効にされることを指定する。0に等しいシンタックス要素intra_smoothing_disabled_flagは、隣接サンプルのフィルタリング処理が無効にされないことを指定する。存在しないとき、intra_smoothing_disabled_flagの値は0に等しいと推論される。
[0165]1に等しいシンタックス要素high_precision_offsets_enabled_flagは、重み付け予測オフセット値がビット深度依存精度を使用してシグナリングされることを指定する。0に等しいシンタックス要素high_precision_offsets_enabled_flagは、重み付け予測オフセット値が8ビット処理と同等の精度でシグナリングされることを指定する。
[0166]変数WpOffsetBdShiftY、WpOffsetBdShiftC、WpOffsetHalfRangeY、およびWpOffsetHalfRangeCは、次のように導出される。
WpOffsetBdShiftY=high_precision_offsets_enabled_flag?0:(BitDepthY−8) (7−31)
WpOffsetBdShiftC=high_precision_offsets_enabled_flag?0:(BitDepthC−8) (7−32)
WpOffsetHalfRangeY=1<<(high_precision_offsets_enabled_flag?(BitDepthY−1):7) (7−33)
WpOffsetHalfRangeC=1<<(high_precision_offsets_enabled_flag?(BitDepthC−1):7) (7−34)
[0167]1に等しいシンタックス要素persistent_rice_adaptation_enabled_flagは、coeff_abs_level_remainingの2値化に対するライスパラメータ導出が、前のサブブロックから蓄積されたモード依存統計値を使用して各サブブロックの開始において初期化されることを指定する。0に等しいシンタックス要素persistent_rice_adaptation_enabled_flagは、前のサブブロック状態がライスパラメータ導出に使用されないことを指定する。存在しないとき、persistent_rice_adaptation_enabled_flagの値は0に等しいと推論される。
[0168]1に等しいシンタックス要素cabac_bypass_alignment_enabled_flagは、CABAC整合プロセスが、シンタックス要素coeff_sign_flag[]およびcoeff_abs_level_remaining[]の復号をバイパスする前に使用されることを指定する。0に等しいシンタックス要素cabac_bypass_alignment_enabled_flagは、CABAC整合プロセスが、復号をバイパスする前に使用されないことを指定する。存在しないとき、cabac_bypass_alignment_enabled_flagの値は0に等しいと推論される。
[0169]1に等しいシンタックス要素curr_pic_as_ref_enabled_flagは、SPSを指す特定のピクチャが、特定のピクチャ自体の参照ピクチャリスト中に含まれ得ることを指定する。0に等しいシンタックス要素curr_pic_as_ref_enabled_flagは、SPSを指す特定のピクチャが、特定のピクチャ自体の参照ピクチャリスト中に決して含まれないことを指定する。存在しないとき、curr_pic_as_ref_enabled_flagの値は0に等しいと推論される。curr_pic_as_ref_enabled_flagが1に等しいとき、SPSを指すCVS中にIスライスは存在しない。
[0170]1に等しいシンタックス要素palette_mode_enabled_flagは、パレットモードがイントラブロックに対して使用され得ることを指定する。0に等しいシンタックス要素palette_mode_enabled_flagは、パレットモードが適用されないことを指定する。存在しないとき、palette_mode_enabled_flagの値は0に等しいと推論される。
[0171]1に等しいシンタックス要素residual_adaptive_colour_transform_enabled_flagは、適応色変換が復号プロセスにおける残差に適応され得ることを指定する。0に等しいシンタックス要素residual_adaptive_colour_transform_enabled_flagは、適応色変換が残差に適応されないことを指定する。存在しないとき、residual_adaptive_colour_transform_enabled_flagの値は0に等しいと推論される。
[0172]constrained_intra_pred_flagは、イントラ予測が、現在ピクチャでない参照ピクチャを使用するまたは使用しないのいずれかでコーディングされた隣接コーディングブロックの残差データおよび復号されたサンプルの使用を可能にすることを、0に等しいconstrained_intra_pred_flagが指定するように定義され得る。1に等しいconstrained_intra_pred_flagは制約されたイントラ予測を指定し、その場合、一般的なイントラ予測プロセスは、現在ピクチャでない参照ピクチャを使用することなくコーディングされた隣接コーディングブロックからの残差データおよび復号されたサンプルのみを使用する。
[0173]本明細書で説明する技法による表が、スライスタイプを定義するために使用され得る。そのような表の一例が、いかに示されている。
Figure 0006720153
[0174]nal_unit_typeが両端を含むBLA_W_LP〜RSV_IRAP_VCL23の範囲内の値を有するとき、すなわち、ピクチャがIRAPピクチャであり、curr_pic_as_ref_enabled_flagが0に等しいとき、slice_typeは2に等しくなるものとする。sps_max_dec_pic_buffering_minus1[TemporalId]が0に等しいとき、slice_typeは2に等しくなるものとする。
[0175]時間的動きベクトル予測に対して使用されるコロケートされたピクチャの参照インデックスを指定するためのcollocated_ref_idx。slice_typeがPに等しいとき、またはslice_typeがBに等しく、collocated_from_l0_flagが1に等しいとき、collocated_ref_idxはリスト0中のピクチャを指し、collocated_ref_idxの値は、両端を含む0〜num_ref_idx_l0_active_minus1の範囲内にあるものとする。slice_typeがBに等しく、collocated_from_l0_flagが0に等しいとき、collocated_ref_idxはリスト1中のピクチャを指し、collocated_ref_idxの値は、両端を含む0〜num_ref_idx_l1_active_minus1の範囲内にあるものとする。collocated_ref_idxによって指されるピクチャは、コーディングされたピクチャのすべてのスライスに対して同じであり、現在ピクチャ自体でないものとすることが、ビットストリーム適合の要件であり得る。
[0176]1に等しいシンタックス要素cu_skip_flag[x0][y0]は、現在コーディングユニットについて、PスライスまたはBスライスを復号するとき、cu_skip_flag[x0][y0]の後、マージング候補インデックスmerge_idx[x0][y0]を除いてそれ以上シンタックス要素がパースされないことを指定する。0に等しいシンタックス要素cu_skip_flag[x0][y0]は、コーディングユニットがスキップされないことを指定する。アレイインデックスx0、y0は、ピクチャの左上ルーマサンプルに対する当該コーディングブロックの左上ルーマサンプルのロケーション(x0,y0)を指定する。cu_skip_flag[x0][y0]が存在しないとき、cu_skip_flag[x0][y0]は0に等しいと推論される。
[0177]0に等しいシンタックス要素pred_mode_flagは、現在コーディングユニットがインター予測モードでコーディングされることを指定する。1に等しいシンタックス要素pred_mode_flagは、現在コーディングユニットがイントラ予測モードでコーディングされることを指定する。変数CuPredMode[x][y]は、x=x0..x0+nCbS−1およびy=y0..y0+nCbS−1に対して次のように導出される。pred_mode_flagが0に等しい場合、CuPredMode[x][y]はMODE_INTERに等しく設定される。他の場合(pred_mode_flagは1に等しい)、CuPredMode[x][y]はMODE_INTRAに等しく設定される。
[0178]シンタックス要素part_modeは、現在コーディングユニットの区分モードを指定する。part_modeのセマンティクスは、CuPredMode[x0][y0]に依存する。変数PartModeおよびIntraSplitFlagは、part_modeの値から導出される。part_modeの値は、次のように制約される。CuPredMode[x0][y0]がMODE_INTRAに等しい場合、part_modeは0または1に等しいものとする。他の場合(CuPredMode[x0][y0]はMODE_INTERに等しい)、以下が適用される。log2CbSizeがMinCbLog2SizeYより大きく、amp_enabled_flagが1に等しい場合、part_modeは、両端を含む0〜2の範囲内、または両端を含む4〜7の範囲内にあるものとする。他の場合、log2CbSizeがMinCbLog2SizeYより大きく、amp_enabled_flagが0に等しいか、またはlog2CbSizeが3に等しく、curr_pic_as_ref_enabled_flagが0に等しい場合、part_modeは、両端を含む0〜2の範囲内にあるものとする。そうでない場合(log2CbSizeが3より大きく、MinCbLog2SizeY以下であるか、またはcurr_pic_as_ref_enabled_flagが1に等しい)、part_modeの値は、両端を含む0〜3の範囲内にあるものとする。
[0179]part_modeが存在しないとき、変数PartModeおよびIntraSplitFlagは、次のように導出される。PartModeは、PART_2N×2Nに等しく設定される。IntraSplitFlagは、0に等しく設定される。CuPredMode[x0][y0]がMODE_INTERに等しいとき、PartModeはPART_N×Nに等しく、log2CbSizeは3に等しく、現在CU中のすべてのブロックの参照インデックスが現在ピクチャのみを指すものとすることが、ビットストリーム適合の要件である。
[0180]シンタックス要素ref_idx_l1[x0][y0]は、ref_idx_l0と同じセマンティクスを有し、l0およびリスト0はそれぞれ、l1およびリスト1で置き換えられる。変数codeMvdFlagは、以下のように導出される。
codeMvdFlag=(DiffPicOrderCnt(RefPicList0[ref_idx_l0],currPic)!=0)1:0
[0181]シンタックス要素mvd_sign_flag[compIdx]は、次のように動きベクトル成分差分の符号を指定する。mvd_sign_flag[compIdx]が0に等しい場合、対応する動きベクトル成分差分は正値を有する。他の場合(mvd_sign_flag[compIdx]が1に等しい)、対応する動きベクトル成分差分は負値を有する。mvd_sign_flag[compIdx]が存在しないとき、mvd_sign_flag[compIdx]は0に等しいと推論される。compIdx=0..1の場合の動きベクトル差分lMvd[compIdx]が次のように導出される。
lMvd[compIdx]=abs_mvd_greater0_flag[compIdx]*(abs_mvd_minus2[compIdx]+2)*(1−2*mvd_sign_flag[compIdx]) (7−70)
[0182]Xが0または1である変数MvdLX[x0][y0][compIdx]は、使用されるべきリストXベクトル成分とそれの予測との間の差分を指定する。MvdLX[x0][y0][compIdx]の値は、両端値を含む−215〜215−1の範囲内にあるものとする。アレイインデックスx0、y0は、ピクチャの左上ルーマサンプルに対する当該予測ブロックの左上ルーマサンプルのロケーション(x0,y0)を指定する。水平動きベクトル成分差分はcompIdx=0を割り当てられ、垂直動きベクトル成分はcompIdx=1を割り当てられる。refListが0に等しい場合、MvdL0[x0][y0][compIdx]は、compIdx=0..1に対してlMvd[compIdx]に等しく設定される。他の場合(refListが1に等しい)、MvdL1[x0][y0][compIdx]は、compIdx=0..1に対してlMvd[compIdx]に等しく設定される。
[0183]以下は、NumPicTotalCurrの値に適用される。現在ピクチャがBLAピクチャまたはCRAピクチャであるとき、NumPicTotalCurrの値はcurr_pic_ref_enabled_flagに等しいものとする。
[0184]nal_unit_typeが両端を含むBLA_W_LP〜RSV_IRAP_VCL23の範囲内の値を有し、すなわちピクチャはIRAPピクチャであり、curr_pic_as_ref_enabled_flagが1に等しいとき、RefPicList0は、現在ピクチャのみを指す1つまたは複数のエントリを含み、slice_typeが1に等しいとき、RefPicList1は、現在ピクチャのみを指す1つまたは複数のエントリを含むものとすることが、ビットストリーム適合の要件であり得る。
[0185]シンタックス要素CuPredMode[xNbY][yNbY]は、MODE_INTRAに等しくなく、隣接ルーマロケーション(xNbY,yNbY)におけるブロックの参照ピクチャのうちの少なくとも1つは現在ピクチャではなく、constrained_intra_pred_flagは1に等しい。
[0186]変数predFlagLX、mvLXおよびrefIdxLXにおいて、PRED_LXにおいて、およびシンタックス要素ref_idx_lXおよびMvdLXにおいて、Xが0または1のいずれかで置き換えられる場合、以下が適用される。
1.変数refIdxLXおよびpredFlagLXは、次のように導出される。
− inter_pred_idc[xPb][yPb]がPRED_LXまたはPRED_BIに等しい場合、
refIdxLX=ref_idx_lX[xPb][yPb]
predFlagLX=1
− 他の場合、変数refIdxLXおよびpredFlagLXは、
refIdxLX=−1
predFlagLX=0
によって指定される。
2.変数mvdLXは、次のように導出される。
mvdLX[0]=MvdLX[xPb][yPb][0]
mvdLX[1]=MvdLX[xPb][yPb][1]
3.predFlagLXが1に等しいとき、従属節8.5.3.2.6におけるルーマ動きベクトル予測に対する導出プロセスは、入力としてルーマコーディングブロックロケーション(xCb,yCb)と、コーディングブロックサイズnCbSと、ルーマ予測ブロックロケーション(xPb,yPb)と、変数nPbWと、nPbHと、refIdxLXと、区分インデックスpartIdxとを用いて起動され、出力はmvpLXである。
4.predFlagLXが1に等しく、参照ピクチャが現在ピクチャではないとき、ルーマ動きベクトルmvLXは、次のように導出される。
uLX[0]=(mvpLX[0]+mvdLX[0]+216)%216
mvLX[0]=(uLX[0]>=215)?(uLX[0]−216):uLX[0]
uLX[1]=(mvpLX[1]+mvdLX[1]+216)%216
mvLX[1]=(uLX[1]>=215)?(uLX[1]−216):uLX[1]
注意−上記で指定されたmvLX[0]およびmvLX[1]の得られた値は常に、両端を含む−215〜215−1の範囲内にあることになる。
5.predFlagLXが1に等しく、参照ピクチャが現在ピクチャであるとき、ルーマ動きベクトルmvLXは、次のように導出される。
mvLX[0]=(mvpLX[0]>>2+mvdLX[0])<<2
mvLX[1]=(mvpLX[0]>>2+mvdLX[0])<<2
参照ピクチャが現在ピクチャであるとき、ルーマ動きベクトルmvLXは、次の制約を順守するものとすることが、ビットストリーム適合の要件である。
(a) z走査順序ブロック利用可能性に対する導出プロセスが、入力として(xCb,yCb)に等しく設定された(xCurr,yCurr)と、(xPb+(mvLX[0]>>2)、(yPb+mvLX[1]>>2))に等しく設定された隣接ルーマロケーション(xNbY,yNbY)とを用いて起動されるとき、出力はTRUEに等しくなるものとする。
(b) z走査順序ブロック利用可能性に対する導出プロセスが、入力として(xCb,yCb)に等しく設定された(xCurr,yCurr)と、(xPb+(mvLX[0]>>2)+nPbW−1,yPb+(mvLX[1]>>2)+nPbH−1)に等しく設定された隣接ルーマロケーション(xNbY,yNbY)とを用いて起動されるとき、出力はTRUEに等しくなるものとする。
(c) 次の条件の一方または両方は真であるものとする。
− (mvLX[0]>>2)+nPbW+xB1の値は0以下である。
− (mvLX[1]>>2)+nPbH+yB1の値は0以下である。
ChromaArrayTypeが0に等しくなく、Xが0または1であるpredFlagLXが1に等しいとき、従属節8.5.3.2.10におけるクロマ動きベクトルに対する導出プロセスは、入力としてルーマコーディングブロックロケーション(xCb,yCb)と、ルーマ予測ブロックロケーション(xPb,yPb)と、ルーマ動きベクトルmvLXとを用いて起動され、出力はmvCLXである。
[0187]変数mvLXColおよびavailableFlagLXColは次のように導出される。slice_temporal_mvp_enabled_flagが0に等しい場合、mvLXColの両方の成分は0に等しく設定され、availableFlagLXColは0に等しく設定される。そうではなく、参照ピクチャが現在ピクチャであり、constrained_intra_pred_flagが1に等しい場合、mvLXColの両方の成分は0に等しく設定され、availableFlagLXColは0に等しく設定される。
[0188]さらなるシンタックス表は以下を含む。これらの表によって更新されるHEVC規格の関連部分は、各表のヘッダ中に提供される。
Figure 0006720153
Figure 0006720153
Figure 0006720153
Figure 0006720153
Figure 0006720153
Figure 0006720153
Figure 0006720153
Figure 0006720153
[0189]図6は、動き情報マージおよびAMVPモードを導出することに対する空間的隣接動きベクトル候補の例を示す。HEVC規格によれば、イントラまたはイントラ予測を使用するとき、動き情報は、ビデオエンコーダ20またはビデオデコーダ30に対して利用可能であり得る。各ブロックに関して、動き情報のセットが利用可能であり得る。動き情報のセットは、前方および後方の予測方向に関する動き情報を含み得る。前方および後方の予測方向という用語は、双方向性予測モードに関連する2つの予測方向を示すことを意味する。「前方」および「後方」という用語は、必ずしも幾何学的意味を有するとは限らない。むしろ、「前方」および「後方」は、現在ピクチャの参照ピクチャリスト0(RefPicList0)および参照ピクチャリスト1(RefPicList1)に対応する。ピクチャまたはスライスに関して1つの参照ピクチャリストのみが利用可能であるとき、RefPicList0のみが利用可能であり、スライスの各ブロックの動き情報は常に前方である。
[0190]各予測方向に関して、動き情報は参照インデックスと動きベクトルとを含まなければならない。参照インデックスは、ピクチャリスト中の特定のピクチャに対するインデックスである。いくつかの場合には、簡明のために、ビデオコーダは、動きは関連する参照インデックスを有するものと仮定してよい。参照インデックスは、現在参照ピクチャリスト(RefPicList0またはRefPicList1)中の参照ピクチャを識別するために使用される。動きベクトルは水平成分と垂直成分とを有する。CUがインターコーディングされるとき、PUごとに1つの動き情報セットが存在する。ビデオコーダは、PUに対する動き情報のセットを導出するために、そのPUに関連付けられたインター予測モードを使用する。
[0191]HEVC規格では、予測ユニット(PU)のために、それぞれ、マージモード(それはマージモードの特殊な場合であるスキップモードを含む)および高度動きベクトル予測(AMVP)モードの、2つのインター予測モードがある。AMVPモードまたはマージモードのいずれかにおいて、ビデオコーダは、複数の動きベクトル予測子の動きベクトル(MV)候補リストを維持する。ビデオコーダは、動きベクトル、ならびにMV候補リストから1つの候補を選択することによってマージモードを使用してPUをコーディングするときに使用されるべき参照インデックスを生成する。
[0192]MV候補リストは、マージモードのために最高5つの候補を、およびAMVPモードのために2つだけの候補を含む。マージ候補は、動き情報のセット、たとえば、参照ピクチャリスト(リスト0およびリスト1)と対応する参照インデックスの両方に対応する動きベクトルを含み得る。ビデオコーダがマージインデックスによってマージ候補を識別する場合、ビデオコーダは、現在ブロックの予測のために識別された参照ピクチャを使用する。ビデオコーダはまた、現在ブロックに対して関連する動きベクトルを決定する。しかしながら、AMVPを使用してブロックをコーディングするとき、リスト0またはリスト1のいずれかからの各潜在的予測方向に対して、ビデオコーダは、各参照インデックスをMVPインデックスと併せて明示的にシグナリングしなければならない。AMVP候補は動きベクトルだけを含むので、MVPインデックスは、MV候補リストに対するインデックスである。AMVPモードでは、ビデオコーダはさらに、予測された動きベクトルを改良し得る。
[0193]したがって、上記で説明したように、ビデオコーダは、同様に、AMVPモードとマージモードの両方に対する候補を、同じ空間的および時間的隣接ブロックに基づいて導出する。しかしながら、2つのモードは、マージ候補が動き情報のフルセットに対応する一方で、AMVP候補は特定の予測方向および参照インデックスに対して1つだけの動きベクトルを含むという点で違っている。両方のモードに関する候補は、同じ空間的および時間的隣接ブロックから同様に導出される。図6は、マージモードおよびAMVPモードに対するMV候補を示す。
[0194]空間的MV候補は、特定のPU(PU0)に関して図6に示す隣接ブロックから導出されるが、ブロックから候補を生成する方法は、マージモードおよびAMVPモードに関して異なる。
[0195]マージモードでは、図6に示すように、5つの可能な空間的候補位置{a0、a1、b0、b1、b2}がある。ビデオコーダは、その位置におけるMV候補が利用可能であるかどうかを、各MV候補位置に対して決定する。一例として、候補は、そのロケーションにおけるブロックがまだ復号されていない場合は利用可能でない。ビデオコーダは、次の順序:{a1、b1、b0、a0、b2}で利用可能なMV候補を検査する。
[0196]AMVPモードでは、ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、隣接ブロックを、図6に示すようにブロックa0およびa1からなる左グループ、ならびにブロックb0、b1およびb2からなる上隣接グループという、2つのグループに分割する。左隣接グループに対して、ビデオコーダは、順序:{a0、a1}に従ってブロックの利用可能性を検査する。上隣接グループに対して、ビデオコーダは、順序:{b0、b1、b2}に従って上隣接ブロックの利用可能性を検査する。各グループについて、シグナリングされた参照インデックスによって示されたピクチャと同じ参照ピクチャを参照する潜在的候補は、そのグループの最終候補を形成するためにビデオコーダによって選定されるべき最高優先順位を有する。隣接ブロックが、同じ参照ピクチャを指す動きベクトルを含まない可能性がある。この場合、ビデオコーダが、シグナリングされたインデックスによって示されるピクチャードと同じ参照ピクチャを指す動きベクトルを発見できない場合、ビデオコーダは、第1の利用可能候補を選択する。ビデオコーダは、最終候補を形成するために第1の利用可能候補をスケーリングする。この場合、候補動きベクトルをスケーリングすることは、時間的距離差分を補償する。
[0197]動きベクトルは、それがクロマ動き補償のために使用される前に現在PU/CUのルーマ成分に対して導出され、動きベクトルは、クロマサンプリングフォーマットに基づいてスケーリングされる。
[0198]PUまたはCUは、サンプルのルーマブロック、ならびにサンプルの複数の対応するクロマ(色)ブロックを有し得る。いくつかの場合、各クロマサンプルに対応する複数のルーマサンプル(クロマサブサンプリングと呼ばれる)が存在し得る。動きベクトルを決定するとき、ビデオコーダは、最初に、PUまたはCUに対するルーマ動きベクトル成分を導出する。ビデオコーダは、クロマサブサンプリングフォーマットに基づいてクロマ動きベクトルを決定するために、ルーマ動きベクトルをスケーリングすることができる。
[0199]加えて、HEVCでは、ビデオコーダは、LCUを並列動き推定領域(MER)に分割し得る。LCUがMERの一部であるとき、ビデオコーダは、マージ/スキップMVPリスト構築プロセス中に含まれるべき現在PUと異なるMERに属する隣接PUのみを許容する。ビデオコーダは、ピクチャパラメータセット中のMERのサイズをコーディングする。MERサイズを示すシンタックス要素は、「log2_parallel_merge_level_minus2」である。
[0200]いくつかの場合、たとえば、MERサイズがN×Nサンプルより大きいとき、および可能な最小可能CUサイズが2N×2Nサンプルに設定されるとき、MERは、動き推定に関して空間的隣接ブロックの利用可能性に影響を与えることがある。たとえば、上記の場合、空間的隣接ブロックが現在PUと同じMER内にある場合、ビデオコーダは、空間的隣接ブロックを利用不可能であると見なす。
[0201]イントラブロックコピー(BC)は、現在スクリーンコンテンツコーディング(SCC)中に含まれている。イントラBCの一例は図5に示されている通りであり、ここにおいて、現在CU/PUは、現在ピクチャ/スライスのすでに復号されたブロックから予測される。予測信号は再構成されるが、デブロッキングとサンプル適応オフセット(SAO)とを含むインループフィルタリングは行われないことに留意されたい。
[0202]イントラBCを用いてコーディングされるルーマ成分またはクロマ成分に対して、ブロック補償が整数ブロック補償を用いて行われ、したがって補間は不要である。
[0203]マージモードでは、空間的候補を確証した後、ビデオコーダは、2種類の冗長性を除去する。現在PUに対する候補位置が同じCU内の第1のPUを指す場合、ビデオコーダは、同じマージが、予測区分に分割することなくCUによって達成され得るので、その位置を除外する。さらに、ビデオコーダは、候補がまったく同じ動き情報を有する冗長なエントリを除外する。空間的隣接候補を検査した後、ビデオコーダは、時間的候補を確証する。時間的候補に対して、ビデオデコーダは、参照ピクチャが利用可能な場合、参照ピクチャのコロケートされたPUのすぐ外側の右下位置を使用する。他の場合、ビデオコーダは、中央位置を使用する。ビデオコーダがコロケートされたPUを選択する方法は、前の規格の方法と同様であるが、HEVCは、どの参照ピクチャリストがコロケートされた参照ピクチャのために使用されるかを指定するためにインデックスを送信することによって、より大きい柔軟性を可能にする。
[0204]時間的候補の使用に関する1つの問題は、参照ピクチャの動き情報を記憶するために必要なメモリの量である。この問題は、より小さいPB構造が参照ピクチャ中の対応するロケーションにおいて使用されるときでも、時間的動き候補を記憶するための粒度を16×16ルーマグリッドの解像度に制限することによって対処される。加えて、PPSレベルフラグは、ビデオエンコーダが、エラーを起こしやすい送信を伴うアプリケーションに対して有用である時間的候補の使用を無効にすることを許容する。ビデオエンコーダは、スライスヘッダ中でCをシグナリングすることによって、マージ候補の最大数(C)を示す。発見されたマージ候補(時間的候補を含む)の数がCより大きい場合、ビデオコーダだけが、最初のC−1個の空間的候補および時間的候補だけを保持する。
[0205]そうではなく、識別されたマージ候補の数がC未満である場合、ビデオコーダは、数がCに等しくなるまで追加の候補を生成する。このことがパーシングを簡略化し、パーシングをよりロバストにする。なぜならば、コーディングされたデータをパースする能力は、マージ候補利用可能性に依存しないからである。
[0206]Bスライスに対して、ビデオコーダは、参照ピクチャリスト0およびリスト1に対して所定の順序に従って2つの既存の候補を選択することによって、追加のマージ候補を生成する。たとえば、第1の生成された候補は、リスト0に対して第1のマージ候補を使用し、リスト1に対して第2のマージ候補を使用する。HEVCは、すでに構成されたマージ候補リスト中で以下の順序にある合計12の所定の2数のペアを、(0、1)、(1、0)、(0、2)、(2、0)、(1、2)、(2、1)、(0、3)、(3、0)、(1、3)、(3、1)、(2、3)および(3、2)として指定する。これらの中で、5つまでの候補が、冗長なエントリを除去した後で含まれ得る。マージ候補の数が依然としてC未満であるとき、マージ候補リスト中の残りのエントリを満たすために、参照インデックスに関連付けられた、ゼロから参照ピクチャの数マイナス1までのゼロ動きベクトルが使用されるのではなく、デフォルト動きベクトルと、対応する参照インデックスとを含むデフォルトマージ候補が使用される。
[0207]AMVPモードでは、ビデオエンコーダは動きベクトルを変更するためにコーディングされた差分を送ることができるので、HEVCは、単に、はるかに少ない数の候補が、動きベクトル予測プロセスの場合に使用されることを可能にする。さらに、ビデオエンコーダは、エンコーダにおいて最も計算コストが高い演算のうちの1つである動き推定を実行する必要があり、少数の候補を可能にすることによって複雑さが低減される。隣接PUの参照インデックスが現在PUの参照インデックスに等しくないとき、ビデオコーダは、動きベクトルのスケーリングされたバージョンを使用する。隣接動きベクトルは、現在ピクチャと、隣接PUおよび現在PUそれぞれの参照インデックスによって示される参照ピクチャとの間の時間的距離に従ってスケーリングされる。
[0208]2つの空間的候補が同じ動きベクトル成分を有するとき、1つの冗長な空間的候補が除外される。動きベクトル予測子の数が2に等しくなく、時間的MV予測の使用が明示的に無効にされないとき、時間的MV予測候補が含められる。これは、2つの空間的候補が利用可能であるときに、時間的候補はまったく使用されないことを意味する。最終的に、動きベクトル予測候補の数が2に等しくなるまで、ゼロ動きベクトルであるデフォルト動きベクトルが繰り返し含められ、そのことが、動きベクトル予測子の数が2であることを保証する。したがって、どの動きベクトル予測がAMVPモードで使用されるかを示すために、コーディングされたフラグだけが必要である。
[0209]ビデオコーダは、たとえばAMVPモードまたはマージモードを使用して、動き予測中に現在PU/CUのルーマ成分に対するMVを導出する。ビデオコーダがクロマ動き補償に対するMVを使用する前に、ビデオコーダは、PU/CUのクロマサンプリングフォーマットに基づいてMVをスケーリングする。
[0210]図7は、隣接ブロックPおよびQによって形成された4ピクセル長の垂直ブロック境界の一例である。Bが正のとき、デブロッキングフィルタが有効にされるか否かを決定するための基準は、次の式に従って定義され得る。
|P2,0−2P1,0+P0,0|+|P2,3−2P1,3+P0,3|+|Q2,0−2Q1,0+Q0,0|+|Q2,3−2Q1,3+Q0,3|<β (1)
通常のおよび強いデブロッキングフィルタを決定するための基準は、(i=0、3)
|P2,i−2P1,i+P0,i|+|Q2,i−2Q1,i+Q0,i|<β/8 (2)
|P3,i−P0,i|+|Q3,I−Q0,i|<β/8 (3)
|P0,I−Q0,i|<2.5TC (4)
水平ブロック境界は、同様の方法で扱われ得る。
[0211]図8は、例示的な空間的ブロックベクトル候補を示す概念図である。図4に示す4つの空間的ブロックベクトル予測候補が、{a2,a1}を含む左グループと{b2,b1}を含む上グループとに分割される。2つの空間的ブロックベクトル予測子候補が選択され、一方は利用可能性検査順序{a2,a1}に従って左グループから、他方は利用可能性検査順序{b2,b1}に従って上グループから選択される。1つの空間的ブロックベクトル予測子候補が利用不可能である場合、(−2w,0)が代わりに使用される。両方の空間的ブロックベクトル予測子候補が利用不可能である場合、(−2*w,0)および(−w,0)が代わりに使用され、ここでwはCU幅である。現在ブロックが4×4のサイズになると、b2およびb1が同じブロックになり、a2およびa1が同じブロックになることに留意されたい。
[0212]図9は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオを後処理エンティティ27に出力するように構成され得る。後処理エンティティ27は、MANEまたはスプライシング/編集デバイスなどの、ビデオエンコーダ20からの符号化ビデオデータを処理し得るビデオエンティティの一例を表すように意図されている。いくつかの事例では、後処理エンティティ27はネットワークエンティティの例であってよい。いくつかのビデオ符号化システムでは、後処理エンティティ27およびビデオエンコーダ20は別個のデバイスの部分であってよく、他の事例では、後処理エンティティ27に関して説明される機能は、ビデオエンコーダ20を備える同じデバイスによって実行されてよい。いくつかの例では、後処理エンティティ27は図1のストレージデバイス17の一例である
[0213]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディング、インターコーディング、およびIMCコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)または双予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。IMCコーディングモードは、上記で説明したように、ビデオデータのフレームから空間的冗長性を除去し得るが、従来のイントラモードとは異なり、IMCコーディングコードは、イントラ予測コーディングモードに依拠するのではなく、より広い探索エリア中の予測ブロックをフレーム内に配置し、オフセットベクトルを用いて予測ブロックを指すために使用され得る。
[0214]図9の例では、ビデオエンコーダ20は、ビデオデータメモリ33と、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、復号ピクチャバッファ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測処理ユニット46とを含む。ビデオブロックの再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタのような、1つまたは複数のループフィルタを表すことが意図されている。図7では、フィルタユニット63はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット63はループ後フィルタとして実装され得る。
[0215]ビデオデータメモリ33は、ビデオエンコーダ20のコンポーネントによって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ33に記憶されたビデオデータは、たとえば、ビデオソース18から取得され得る。復号ピクチャバッファ64は、たとえば、イントラコーディングモード、インターコーディングモード、またはIMCコーディングモードでビデオエンコーダ20によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ33および復号ピクチャバッファ64は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ33および復号ピクチャバッファ64は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ33は、ビデオエンコーダ20の他のコンポーネントとともにオンチップであるか、またはそれらのコンポーネントに対してオフチップであり得る。
[0216]図7に示すように、ビデオエンコーダ20はビデオデータを受信し、ビデオデータをビデオデータメモリ33に記憶する。区分ユニット35はデータをビデオブロックに区分する。この区分はまた、たとえば、LCUおよびCUの4分木構造に従って、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分を含み得る。ビデオエンコーダ20は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、誤差結果(たとえば、コーディングレートおよびひずみレベル)に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの1つ、複数のインターコーディングモードのうちの1つ、または複数のIMCコーディングモードのうちの1つなどの、複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、得られたイントラコーディングされたブロック、インターコーディングされたブロック、またはIMCコーディングされたブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に与え得る。
[0217]予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間的圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングを実行し得る。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44はまた、空間的圧縮を行うために、同じピクチャ中の1つまたは複数の予測ブロックに対して現在ビデオブロックのIMCコーディングを実行し得る。
[0218]動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードまたはIMCモードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Pスライス、Bスライス、またはGPBスライスとして指定し得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。IMCコーディングの場合、IMCにおいてオフセットベクトルと呼ばれることがある動きベクトルは、現在ビデオフレーム内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
[0219]予測ブロックは、絶対値差分和(SAD)、差分2乗和(SSD)、または他の差分の尺度によって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUに厳密に一致することが判明しているブロックである。いくつかの例では、ビデオエンコーダ20は、復号ピクチャバッファ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0220]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、復号ピクチャバッファ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0221]本開示のいくつかの技法によれば、IMCモードを使用してビデオブロックをコーディングするとき、動き推定ユニット42は、ビデオブロックのルーマ成分のための動きベクトル、またはオフセットベクトルを決定し、ルーマ成分のためのオフセットベクトルに基づいて、ビデオブロックのクロマ成分のためのオフセットベクトルを決定し得る。別の例では、IMCモードを使用してビデオブロックをコーディングするとき、動き推定ユニット42は、ビデオブロックのクロマ成分のための動きベクトル、またはオフセットベクトルを決定し、クロマ成分のためのオフセットベクトルに基づいて、ビデオブロックのルーマ成分のためのオフセットベクトルを決定し得る。したがって、ビデオエンコーダ20はビットストリーム中で一方のオフセットベクトルのみをシグナリングし得、そのオフセットベクトルから、ビデオブロックのクロマ成分とルーマ成分の両方のためのオフセットベクトルが決定され得る。
[0222]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを含み得る。補間フィルタリングは、既知のピクセルサンプルから追加のピクセルサンプルを生成し、したがって、ビデオブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増加し得る。現在ビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す、またはIMCコーディングの場合の予測ブロックを、コーディングされているピクチャ内に配置し得る。ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマとクロマの両方の差分成分を含み得る。加算器50は、この減算演算を実施する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。
[0223]イントラ予測処理ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測およびIMCの代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測処理ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット46は、様々な試験されたイントラ予測モードに対するレートひずみ分析を使用してレートひずみ値を計算し、試験されたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されたビットレート(すなわち、いくつかのビット)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックに関する最良のレートひずみ値を示すのかを決定するために、様々な符号化されたブロックのひずみおよびレートから比を算出することができる。
[0224]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に与え得る。エントロピー符号化ユニット56は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを、送信されるビットストリームに含め得る。
[0225]予測処理ユニット41が、インター予測、イントラ予測、またはIMCのいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ20は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域からの周波数領域などの変換領域に変換し得る。
[0226]変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0227]量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法もしくは技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後、符号化ビットストリームは、ビデオデコーダ30へ送信されてよく、または後の送信もしくはビデオデコーダ30による後の取出しのためにアーカイブされてもよい。エントロピー符号化ユニット56はまた、コーディングされている現在ビデオスライスのための、動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
[0228]逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャリストの1つの中の参照ピクチャの1つの予測ブロックに加算することによって参照ブロックを計算することができる。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用し得る。補間フィルタリングは、既知のピクセルサンプルから追加のピクセルサンプルを生成し、したがって、ビデオブロックをコーディングするために使用され得る候補予測ブロックの数を潜在的に増加し得る。加算器62は、復号ピクチャバッファ64に記憶するための参照ブロックを生成するために、再構成された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0229]本開示の技法によれば、上記で説明したように、ビデオエンコーダ20は、統合されたイントラブロックコピーモードを使用してビデオデータのCUをコーディングすることと、ここにおいて統合されたイントラブロックコピーを使用してブロックをコーディングすることは現在ピクチャを参照ピクチャセットに追加することを備える、CUに対する動きベクトルが、参照ピクチャセットが現在ピクチャだけを含む場合またはブロックに対する参照ピクチャが現在ピクチャである場合に動きベクトルに対する精度を表すシンタックス要素をコーディングすることなく整数ピクセル精度を有するものと決定することと、CUに対する動きベクトルに基づいてCUをコーディングすることとを行うように構成され得る。
[0230]本開示の技法による別の例では、ビデオエンコーダ20は、CUに対する動きベクトルが整数ピクセル精度を有するかまたはサブ整数ピクセル精度を有するかを示すシンタックス要素をコーディングするように構成され得る。シンタックス要素が、動きベクトルが整数ピクセル精度を有することを示すとき、ビデオエンコーダ20は、CUのクロマサンプルのブロックに対するスケーリングされたクロマ動きベクトルを生成するためにCUの動きベクトルをスケーリングすることと、スケーリングされたクロマ動きベクトルが整数ピクセル精度を持たない場合に整数ピクセル値になるようにスケーリングされたクロマ動きベクトルの端数を切り上げるかまたは切り捨てることと、丸められたクロマ動きベクトルに基づいてCUをコーディングすることとを行うことができる。
[0231]本明細書で説明する1つまたは複数の技法によれば、ビデオエンコーダ20のエントロピー符号化ユニット56は、本開示の技法を実行するように構成され得る。たとえば、ビデオエンコーダ20のエントロピー符号化ユニット56は、現在ビデオブロックをコーディングするために使用される参照ピクチャを決定するように構成され得る。ビデオエンコーダ20のエントロピー符号化ユニット56は、参照ピクチャに対するPOC値をさらに決定し得る。参照ピクチャに対するPOC値が現在ビデオブロックを含む現在ピクチャに対するPOC値に等しいことに応答して、ビデオエンコーダ20の符号化ユニット56は、参照ピクチャリストが現在ピクチャを含むことを示すようにシンタックス要素の値を設定し得る。いくつかの例では、シンタックス要素は、PPSまたはSPSのうちの1つの中に配置され得る。反対に、参照ピクチャに対するPOC値が現在ビデオブロックを含む現在ピクチャに対するPOC値に等しくないことに応答して、ビデオエンコーダ20の符号化ユニット56は、参照ピクチャリストが現在ピクチャを含まないことを示すようにシンタックス要素の値を設定し得る。
[0232]いくつかの例では、現在ピクチャは、PスライスまたはBスライスのうちの1つを備えるイントラランダムアクセスピクチャ(IRAP)である。そのような例では、IRAPピクチャは、空でない参照ピクチャセットを指定する1つまたは複数の異なるシンタックス要素のセットをさらに含み得る。いくつかの例では、現在ピクチャの現在ビデオブロックは、ルーマ成分とクロマ成分とを含む。そのような例では、ルーマ成分またはクロマ成分のうちの1つだけが、整数ペル精度を有し得る。
[0233]いくつかの例では、参照ピクチャは、現在ピクチャの復号されたフィルタリングされていないサンプルをさらに含み得る。様々な例では、参照ピクチャは、動き予測情報をさらに含む参照ブロックを含み得る。ビデオエンコーダ20のエントロピー符号化ユニット56は、現在ビデオブロックをコーディングするために参照ブロックの動き情報を使用し得る。たとえば、動き補償ユニット44は、マージモードでコーディングされるブロックを符号化し得る。現在ブロックのピクチャが参照ピクチャリスト内にある資格がある場合、マージ候補リスト中のマージ候補のうちの1つまたは複数が、現在ブロックと同じピクチャ中の参照ブロックを指す動きベクトル(たとえば、オフセットベクトル)を含み得る。
[0234]参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しくないいくつかの例では、現在ピクチャに対するSPSを指すCVSは、1つまたは複数のIスライスを含み得る。
[0235]いくつかの例では、現在ピクチャは、クリーンランダムアクセスピクチャまたは切断リンクアクセスピクチャのうちの1つである。そのような例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、現在ピクチャに対する予測参照として使用され得るピクチャの数を示す第2のシンタックス要素の値を1に設定し得る。
[0236]参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しいいくつかの例では、現在ビデオブロックに対するMVは、整数ペル精度を有し得る。さらに、ビデオエンコーダ20のエントロピー符号化ユニット56は、候補導出プロセスにおいて使用される前または候補導出プロセスが完了した後のいずれかにおいて、現在ピクチャに対する複数の動きベクトル予測子候補のうちのMV予測子候補の各々を整数ペル精度に変換することができる。参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しい他の例では、現在ピクチャの各予測サンプルは、現在ピクチャのピクチャ境界内に含まれる。さらに、参照ピクチャリストが現在ピクチャだけを含む場合、ビデオエンコーダ20のエントロピー符号化ユニット56は、TMVPを無効にすることができる。
[0237]ビデオエンコーダ30は、本開示の技法に従って一般的可逆プロセスを実行するように構成され得る。
[0238]図10は、本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図である。図10の例では、ビデオデコーダ30は、ビデオデータメモリ78と、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、フィルタユニット91と、復号ピクチャバッファ92とを含む。予測処理ユニット81は、動き補償ユニット82と、イントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図9からのビデオエンコーダ20に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。
[0239]復号プロセス中に、ビデオデコーダ30は、ビデオデータ、たとえば、符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビデオビットストリームを、ビデオエンコーダ20から受信する。ビデオデコーダ30は、ビデオデータをネットワークエンティティ29から受信し、ビデオデータをビデオデータメモリ78に記憶し得る。ビデオデータメモリ78は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ78に記憶されたビデオデータは、たとえば、ストレージデバイス17から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードもしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ78は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコーディングされたピクチャバッファを形成し得る。したがって、図10では別々に示されているが、ビデオデータメモリ78および復号ピクチャバッファ92は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。ビデオデータメモリ78および復号ピクチャバッファ92は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)など、様々なメモリデバイスのいずれかによって形成され得る。様々な例では、ビデオデータメモリ78は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0240]ネットワークエンティティ29は、たとえば、上記で説明した技法のうちの1つまたは複数を実施するように構成されたサーバ、MANE、ビデオエディタ/スプライサ、または他のそのようなデバイスであり得る。ネットワークエンティティ29はビデオエンコーダ20などのビデオエンコーダを含んでもよく、または含まなくてもよい。本開示で説明する技法のいくつかは、ネットワークエンティティ29が符号化ビデオビットストリームをビデオデコーダ30に送信するのに先立って、ネットワークエンティティ29によって実施され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ29およびビデオデコーダ30は別個のデバイスの一部であり得るが、他の事例では、ネットワークエンティティ29に関して説明する機能は、ビデオデコーダ30を備える同じデバイスによって実行され得る。ネットワークエンティティ29は、場合によっては、図1のストレージデバイス17の一例であり得る。
[0241]ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルと他のシンタックス要素とを予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0242]ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコーディングされた(すなわち、BまたはP)スライスとしてコーディングされたときまたはブロックがIMCコーディングされたとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。インター予測の場合、予測ブロックは参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、復号ピクチャバッファ92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。IMCコーディングの場合、予測ブロックは予測されているブロックと同じピクチャから生成され得る。
[0243]動き補償ユニット82は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)と、スライス用の参照ピクチャリストのうちの1つまたは複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
[0244]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、ビデオブロックの符号化の間にビデオエンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間された値を計算し得る。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するためにその補間フィルタを使用し得る。
[0245]本開示のいくつかの技法によれば、IMCモードを使用してビデオブロックをコーディングするとき、動き補償ユニット82は、ビデオブロックのルーマ成分のための動きベクトル、またはオフセットベクトルを決定し、ルーマ成分のための動きベクトルに基づいて、ビデオブロックのクロマ成分のための動きベクトルを決定し得る。別の例では、IMCモードを使用してビデオブロックをコーディングするとき、動き補償ユニット82は、ビデオブロックのクロマ成分のための動きベクトル、またはオフセットベクトルを決定し、クロマ成分のための動きベクトルに基づいて、ビデオブロックのルーマ成分のための動きベクトルを決定し得る。したがって、ビデオデコーダ30は、ビットストリーム中で一方のオフセットベクトルのみを受信し得、そのオフセットベクトルから、ビデオブロックのクロマ成分とルーマ成分の両方のためのオフセットベクトルが決定され得る。
[0246]IMCモードを使用してビデオブロックを復号するとき、動き補償ユニット82は、たとえば、クロマ成分のためのオフセットベクトルを決定するために、ルーマ成分のための、IMCモードのためのオフセットベクトルと呼ばれる、動きベクトルを変更し得る。動き補償ユニット82は、たとえば、ビデオブロックのためのサンプリングフォーマットに基づいて、およびオフセットベクトルが指すサブピクセル位置の精度に基づいて、ルーマブロックのオフセットベクトルのx成分とy成分の一方または両方を変更し得る。たとえば、ビデオブロックが4:2:2サンプリングフォーマットを使用してコーディングされる場合、動き補償ユニット82は、クロマ成分のためのオフセットベクトルを決定するために、ルーマオフセットベクトルのy成分ではなく、x成分のみを変更し得る。図4からわかるように、4:2:2サンプリングフォーマットでは、クロマブロックおよびルーマブロックは垂直方向において同じ数のサンプルを有し、したがって、y成分の変更を潜在的に不要にする。クロマ予測ブロックを配置するために使用されるときに、ルーマオフセットベクトルが、クロマサンプルなしの位置(たとえば、現在ブロックを含む現在ピクチャのクロマサンプル中のサブピクセル位置における)を指す場合、動き補償ユニット82は、ルーマオフセットベクトルのみを変更し得る。ルーマオフセットベクトルが、クロマ予測ブロックを配置するために使用されるときに、クロマサンプルが存在する位置を指す場合、動き補償ユニット82はルーマオフセットベクトルを変更しなくてもよい。
[0247]別の例では、ビデオブロックが4:2:0サンプリングフォーマットを使用してコーディングされる場合、動き補償ユニット82は、クロマ成分のためのオフセットベクトルを決定するために、ルーマオフセットベクトルのx成分およびy成分のいずれかまたは両方を変更し得る。図3からわかるように、4:2:0サンプリングフォーマットでは、クロマブロックおよびルーマブロックは垂直方向と水平方向の両方において異なる数のサンプルを有する。クロマ予測ブロックを配置するために使用されるときに、ルーマオフセットベクトルが、クロマサンプルなしの位置(たとえば、現在ブロックを含む現在ピクチャのクロマサンプル中のサブピクセル位置における)を指す場合、動き補償ユニット82は、ルーマオフセットベクトルのみを変更し得る。ルーマオフセットベクトルが、クロマ予測ブロックを配置するために使用されるときに、クロマサンプルが存在する位置を指す場合、動き補償ユニット82はルーマオフセットベクトルを変更しなくてもよい。
[0248]動き補償ユニット82は、変更されたオフセットベクトルとも呼ばれる変更された動きベクトルを生成するためにルーマオフセットベクトルを変更し得る。動き補償ユニット82は、クロマ予測ブロックを配置するために使用されるときに、クロマブロックのために使用される変更されたオフセットベクトルがより解像度が低いサブピクセル位置または整数ピクセル位置を指すように、サブピクセル位置を指すルーマオフセットベクトルを変更し得る。一例として、1/8ピクセル位置を指すルーマオフセットベクトルは1/4ピクセル位置を指すように変更され得、1/4ピクセル位置を指すルーマオフセットベクトルは1/2ピクセル位置を指すように変更され得る、などである。他の例では、動き補償ユニット82は、変更されたオフセットベクトルがクロマ参照ブロックを配置するための整数ピクセル位置を常に指すように、ルーマオフセットベクトルを変更し得る。より解像度が低いサブピクセル位置または整数ピクセル位置を指すようにルーマオフセットベクトルを変更することは、何らかの補間フィルタリングの必要性をなくすおよび/または任意の必要とされる補間フィルタリングの複雑性を低減することができ得る。
[0249]図3および図4を参照し、左上のサンプルが位置(0,0)にあると仮定すると、ビデオブロックは、奇数のx位置と偶数のx位置の両方および奇数のy位置と偶数のy位置の両方においてルーマサンプルを有する。4:4:4サンプリングフォーマットでは、ビデオブロックはまた、奇数のx位置と偶数のx位置の両方および奇数のy位置と偶数のy位置の両方においてクロマサンプルを有する。したがって、4:4:4サンプリングフォーマットの場合、動き補償ユニットは、ルーマ予測ブロックとクロマ予測ブロックの両方を配置するために同じオフセットベクトルを使用し得る。4:2:2サンプリングフォーマットの場合、図4に示すように、ビデオブロックは奇数のy位置と偶数のy位置の両方において、ただし偶数のx位置のみにおいてクロマサンプルを有する。したがって、4:2:2サンプリングフォーマットの場合、ルーマオフセットベクトルが奇数のx位置を指す場合、動き補償ユニット82は、補間を必要とすることなしに、変更されたオフセットベクトルが現在ブロックのクロマブロックのための参照クロマブロックを配置するために使用され得るように、偶数のx位置を指す変更されたオフセットベクトルを生成するためにルーマオフセットベクトルのx成分を変更し得る。動き補償ユニット82は、たとえば、最も近い偶数のx位置に切り上げるかまたは切り捨てるかのいずれか、すなわち、x成分が最も近い左側のx位置または最も近い右側のx位置のいずれかを指すようにx成分を変えることによって、x成分を変更し得る。ルーマオフセットベクトルが偶数のx位置をすでに指す場合、変更は必要ではないことがある。
[0250]4:2:0サンプリングフォーマットの場合、図3に示すように、ビデオブロックは偶数のy位置のみにおいて、および偶数のx位置のみにおいてクロマサンプルを有する。したがって、4:2:0サンプリングフォーマットの場合、ルーマオフセットベクトルが奇数のx位置または奇数のy位置を指す場合、動き補償ユニット82は、補間を必要とすることなしに、変更されたオフセットベクトルが現在ブロックのクロマブロックのための参照クロマブロックを配置するために使用され得るように、偶数のx位置を指す変更されたオフセットベクトルを生成するためにルーマオフセットベクトルのx成分またはy成分を変更し得る。動き補償ユニット82は、たとえば、最も近い偶数のx位置に切り上げるかまたは切り捨てるかのいずれか、すなわち、x成分が最も近い左側のx位置または最も近い右側のx位置のいずれかを指すようにx成分を変えることによって、x成分を変更し得る。動き補償ユニット82は、たとえば、最も近い偶数のy位置に切り上げるかまたは切り捨てるかのいずれか、すなわち、y成分が最も近い上側のy位置または最も近い下側のy位置のいずれかを指すようにy成分を変えることによって、y成分を変更し得る。ルーマオフセットベクトルが偶数のx位置と偶数のy位置とをすでに指す場合、変更は必要ではないことがある。
[0251]逆量子化ユニット86は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット88は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用する。
[0252]動き補償ユニット82が、動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ピクセル移行を平滑化するために、または別様にビデオ品質を向上させるために、(コーディングループの中とコーディングループの後のいずれかの)ループフィルタも使用され得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタのような、1つまたは複数のループフィルタを表すことが意図されている。図10では、フィルタユニット91はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット91はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、後続の動き補償のために使用される参照ピクチャを記憶する復号ピクチャバッファ92に記憶される。復号ピクチャバッファ92は、図1のディスプレイデバイス32などのディスプレイデバイス上で後で提示するための復号ビデオも記憶するメモリの一部であってもよく、またはそのようなメモリとは別個であってもよい。
[0253]図10のビデオデコーダ30は、ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト(たとえば、リスト0またはリスト1の一方または両方)内にある資格があるかどうかを示すシンタックス要素(たとえば、上記で説明したcurr_pic_as_ref_enabled_flag)を受信するように構成され得るビデオデコーダの一例を表す。ビデオデコーダ30は、シンタックス要素の値(たとえば、1ビットシンタックス要素に対するa1またはa0)を決定し、ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格があることをシンタックス要素が示すことに応答して、現在ピクチャを参照ピクチャリストに追加することができる。ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格がないことをシンタックス要素が示すことに応答して、ビデオデコーダ30は、現在ピクチャが参照ピクチャリスト内に置かれるのを制限し得る。
[0254]ビデオデコーダ30のエントロピー復号ユニット80は、ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信し得る。ビデオデコーダ30のエントロピー復号ユニット80は、シンタックス要素の値をさらに決定し得る。ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格があることをシンタックス要素が示すことに応答して、ビデオデコーダ30の動き補償ユニット82は、現在ピクチャを参照ピクチャリストに追加し得る。ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格がないことをシンタックス要素が示すことに応答して、ビデオデコーダ30の動き補償ユニット82は、現在ピクチャが参照ピクチャリスト内に置かれるのを制限し得る。
[0255]いくつかの例では、現在ピクチャは、PスライスまたはBスライスのうちの1つを備えるイントラランダムアクセスピクチャ(IRAP)である。そのような例では、IRAPピクチャは、空でない参照ピクチャセットを指定する1つまたは複数の異なるシンタックス要素のセットをさらに含み得る。いくつかの例では、現在ピクチャの現在ビデオブロックは、ルーマ成分とクロマ成分とを含む。そのような例では、ルーマ成分またはクロマ成分のうちの1つだけが、整数ペル精度を有し得る。
[0256]いくつかの例では、参照ピクチャは、現在ピクチャの復号されたフィルタリングされていないサンプルをさらに含み得る。様々な例では、参照ピクチャは、動き予測情報をさらに含む参照ブロックを含み得る。ビデオデコーダ30の動き補償ユニット82は、現在ビデオブロックをコーディングするために参照ブロックの動き情報を使用し得る。たとえば、動き補償ユニット82は、マージモードでコーディングされるブロックを復号し得る。現在ブロックのピクチャが参照ピクチャリスト内にある資格がある場合、マージ候補リスト中のマージ候補のうちの1つまたは複数が、現在ブロックと同じピクチャ中の参照ブロックを指す動きベクトル(たとえば、オフセットベクトル)を含み得る。
[0257]参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しくないいくつかの例では、現在ピクチャに対するSPSを指すCVSは、1つまたは複数のIスライスを含み得る。
[0258]いくつかの例では、現在ピクチャは、クリーンランダムアクセスピクチャまたは切断リンクアクセスピクチャのうちの1つである。そのような例では、ビデオデコーダ30のエントロピー復号ユニット80は、現在ピクチャに対する予測参照として使用される資格があるピクチャの数を示す第2のシンタックス要素を受信してよく、第2のシンタックス要素は1の値を有する。
[0259]参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しいいくつかの例では、現在ビデオブロックに対するMVは、整数ペル精度を有し得る。さらに、ビデオデコーダ30のエントロピー復号ユニット80は、候補導出プロセスにおいて使用される前または候補導出プロセスが完了した後のいずれかにおいて、現在ピクチャに対する複数の動きベクトル予測子候補のうちのMV予測子候補の各々を整数ペル精度に変換することができる。参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しい他の例では、現在ピクチャの各予測サンプルは、現在ピクチャのピクチャ境界内に含まれる。さらに、参照ピクチャリストが現在ピクチャだけを含む場合、ビデオデコーダ30のエントロピー復号ユニット80は、TMVPを無効にすることができる。
[0260]図11は、本明細書で説明する1つまたは複数の技法による例示的なビデオ符号化技法を示すフロー図である。このフロー図を説明するために、ビデオコーディングデバイスへの参照がなされる。メモリと1つまたは複数のプロセッサとを備えるビデオコーディングデバイスは、図1および図9のビデオエンコーダ20などのビデオエンコーダを含み得ることを認識されたい。さらに、ビデオコーディングデバイスは、ビデオブロックを符号化することにおいて次の技法を使用し得る。
[0261]本明細書で説明する1つまたは複数の技法によれば、ビデオコーディングデバイスは、本開示の技法を実行するように構成され得る。たとえば、ビデオコーディングデバイスは、現在ビデオブロックをコーディングするために使用される参照ピクチャを決定するように構成され得る(200)。ビデオコーディングデバイスは、参照ピクチャに対するPOC値をさらに決定し得る(202)。参照ピクチャに対するPOC値が現在ビデオブロックを含む現在ピクチャに対するPOC値に等しい(204のYES分岐)ことに応答して、ビデオコーディングデバイスは、参照ピクチャリストが現在ピクチャを含むことを示すようにシンタックス要素の値を設定し得る(206)。いくつかの例では、シンタックス要素は、PPSまたはSPSのうちの1つの中に配置され得る。反対に、参照ピクチャに対するPOC値が現在ビデオブロックを含む現在ピクチャに対するPOC値に等しくない(204のNO分岐)ことに応答して、ビデオコーディングデバイスは、参照ピクチャリストが現在ピクチャを含まないことを示すようにシンタックス要素の値を設定し得る(208)。
[0262]いくつかの例では、現在ピクチャは、PスライスまたはBスライスのうちの1つを備えるイントラランダムアクセスピクチャ(IRAP)である。そのような例では、IRAPピクチャは、空でない参照ピクチャセットを指定する1つまたは複数の異なるシンタックス要素のセットをさらに含み得る。いくつかの例では、現在ピクチャの現在ビデオブロックは、ルーマ成分とクロマ成分とを含む。そのような例では、ルーマ成分またはクロマ成分のうちの1つだけが、整数ペル精度を有し得る。
[0263]いくつかの例では、参照ピクチャは、現在ピクチャの復号されたフィルタリングされていないサンプルをさらに含み得る。様々な例では、参照ピクチャは、動き予測情報をさらに含む参照ブロックを含み得る。ビデオコーディングデバイスは、現在ビデオブロックをコーディングするために参照ブロックの動き情報を使用し得る。
[0264]参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しくないいくつかの例では、現在ピクチャに対するSPSを指すCVSは、1つまたは複数のIスライスを含み得る。
[0265]いくつかの例では、現在ピクチャは、クリーンランダムアクセスピクチャまたは切断リンクアクセスピクチャのうちの1つである。そのような例では、ビデオコーディングデバイスは、現在ピクチャに対する予測参照として使用され得るピクチャの数を示す第2のシンタックス要素の値を1に設定し得る。
[0266]参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しいいくつかの例では、現在ビデオブロックに対するMVは、整数ペル精度を有し得る。さらに、ビデオコーディングデバイスは、候補導出プロセスにおいて使用される前または候補導出プロセスが完了した後のいずれかにおいて、現在ピクチャに対する複数の動きベクトル予測子候補のうちのMV予測子候補の各々を整数ペル精度に変換することができる。参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しい他の例では、現在ピクチャの各予測サンプルは、現在ピクチャのピクチャ境界内に含まれる。
[0267]いくつかの例では、参照ピクチャリストが現在ピクチャだけを含む場合、ビデオコーディングデバイスはTMVPを無効にし得る。他の例では、ビデオコーディングデバイスが現在ピクチャと異なるピクチャに少なくとも部分的に基づいてTMVPを決定し得るように、制約がビデオコーディングデバイスに置かれることがある。
[0268]いくつかの例では、ビデオコーディングデバイスは、現在ピクチャの隣接ピクチャを決定してよく、隣接ブロックは空間的隣接ピクチャまたは時間的隣接ピクチャのいずれかである。ビデオコーディングデバイスは、隣接ピクチャ中の予測ブロックをさらに決定してよく、予測ブロックは動きベクトルを含む。ビデオコーディングデバイスは、現在ブロックに対する参照ピクチャ中の参照ブロックを決定するために動きベクトルを使用してよく、参照ブロックは動き予測情報を含む。次いで、ビデオコーディングデバイスは、参照ブロックの動き予測情報と残差とを使用して現在ビデオブロックを符号化し得る。
[0269]図12は、本明細書で説明する1つまたは複数の技法による例示的なビデオ符号化技法を示すフロー図である。このフロー図を説明するために、ビデオコーディングデバイスへの参照がなされる。メモリと1つまたは複数のプロセッサとを備えるビデオコーディングデバイスは、図1および図10のビデオデコーダ30などのビデオデコーダを含み得ることを認識されたい。さらに、ビデオコーディングデバイスは、ビデオブロックを復号することにおいて次の技法を使用し得る。
[0270]本明細書で説明する1つまたは複数の技法によれば、ビデオコーディングデバイスは、ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信し得る(220)。ビデオコーディングデバイスは、シンタックス要素の値をさらに決定し得る(222)。ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格があることをシンタックス要素が示す(224のYES分岐)ことに応答して、ビデオコーディングデバイスは、現在ピクチャを参照ピクチャリストに追加し得る(226)。ビデオデータの現在ビデオブロックが参照ピクチャリスト内にある資格がないことをシンタックス要素が示す(224のNO分岐)ことに応答して、ビデオコーディングデバイスは、現在ピクチャが参照ピクチャリスト内に置かれるのを制限し得る(228)。
[0271]他の例では、ビデオコーディングデバイスは、本開示の技法を実行するように構成され得る。たとえば、ビデオコーディングデバイスは、ビデオデータの現在ビデオブロックを復号するために使用される参照ピクチャに対するPOC値が、現在ビデオブロックを含む現在ピクチャに対するPOC値と同じであるかどうかを示すシンタックス要素を受信し得る。いくつかの例では、シンタックス要素は、PPSまたはSPSのうちの1つの中に配置され得る。ビデオコーディングデバイスは、シンタックス要素の値をさらに決定し得る。参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しいことをシンタックス要素が示すことに応答して、ビデオコーディングデバイスは、現在ピクチャを参照ピクチャリストに追加し得る。参照ピクチャに対するPOC値が現在ピクチャに対するPOC値と異なることをシンタックス要素が示すことに応答して、ビデオコーディングデバイスは、参照ピクチャに対するPOC値を決定し、その参照ピクチャを参照ピクチャリストに追加し得る。
[0272]いくつかの例では、現在ピクチャは、PスライスまたはBスライスのうちの1つを備えるイントラランダムアクセスピクチャ(IRAP)である。そのような例では、IRAPピクチャは、空でない参照ピクチャセットを指定する1つまたは複数の異なるシンタックス要素のセットをさらに含み得る。いくつかの例では、現在ピクチャの現在ビデオブロックは、ルーマ成分とクロマ成分とを含む。そのような例では、ルーマ成分またはクロマ成分のうちの1つだけが、整数ペル精度を有し得る。
[0273]いくつかの例では、参照ピクチャは、現在ピクチャの復号されたフィルタリングされていないサンプルをさらに含み得る。様々な例では、参照ピクチャは、動き予測情報をさらに含む参照ブロックを含み得る。ビデオコーディングデバイスは、現在ビデオブロックをコーディングするために参照ブロックの動き情報を使用し得る。
[0274]参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しくないいくつかの例では、現在ピクチャに対するSPSを指すCVSは、1つまたは複数のIスライスを含み得る。
[0275]いくつかの例では、現在ピクチャは、クリーンランダムアクセスピクチャまたは切断リンクアクセスピクチャのうちの1つである。そのような例では、ビデオコーディングデバイスは、現在ピクチャに対する予測参照として使用される資格があるピクチャの数を示す第2のシンタックス要素を受信してよく、第2のシンタックス要素は1の値を有する。
[0276]参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しいいくつかの例では、現在ビデオブロックに対するMVは、整数ペル精度を有し得る。さらに、ビデオコーディングデバイスは、候補導出プロセスにおいて使用される前または候補導出プロセスが完了した後のいずれかにおいて、現在ピクチャに対する複数の動きベクトル予測子候補のうちのMV予測子候補の各々を整数ペル精度に変換することができる。参照ピクチャに対するPOC値が現在ピクチャに対するPOC値に等しい他の例では、現在ピクチャの各予測サンプルは、現在ピクチャのピクチャ境界内に含まれる。
[0277]いくつかの例では、参照ピクチャリストが現在ピクチャだけを含む場合、ビデオコーディングデバイスはTMVPを無効にし得る。他の例では、ビデオコーディングデバイスが現在ピクチャと異なるピクチャに少なくとも部分的に基づいてTMVPを決定し得るように、制約がビデオコーディングデバイスに置かれることがある。
[0278]いくつかの例では、ビデオコーディングデバイスは、現在ピクチャの隣接ピクチャを決定してよく、隣接ブロックは空間的隣接ピクチャまたは時間的隣接ピクチャのいずれかである。ビデオコーディングデバイスは、隣接ピクチャ中の予測ブロックをさらに決定してよく、予測ブロックは動きベクトルを含む。ビデオコーディングデバイスは、現在ブロックに対する参照ピクチャ中の参照ブロックを決定するために動きベクトルを使用してよく、参照ブロックは動き予測情報を含む。次いで、ビデオコーディングデバイスは、参照ブロックの動き予測情報と残差とを使用して現在ビデオブロックを復号し得る。
[0279]1つまたは複数の例では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[0280]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、任意の接続がコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ここで、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
[0281]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造または本明細書で説明した技法の実装に好適な任意の他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実装され得る。
[0282]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。様々な構成要素、モジュール、またはユニットは、開示された技法を実行するように構成されたデバイスの機能的態様を強調するように本開示において記載されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
[0283]本開示の様々な例について説明した。説明されたシステム、動作、または機能の任意の組合せが企図される。これらおよび他の例は、以下の特許請求の範囲の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号するための方法であって、
前記ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信することと、
前記シンタックス要素の値を決定することと、
前記ビデオデータの前記現在ビデオブロックが前記参照ピクチャリスト内にある資格があることを前記シンタックス要素が示すことに応答して、前記現在ピクチャを前記参照ピクチャリストに追加することと、
前記ビデオデータの前記現在ビデオブロックが前記参照ピクチャリスト内にある資格がないことを前記シンタックス要素が示すことに応答して、前記現在ピクチャが前記参照ピクチャリスト内に置かれるのを制限することとを備える、方法。
[C2]
前記現在ピクチャが、PスライスまたはBスライスのうちの1つを備えるイントラランダムアクセスピクチャである、C1に記載の方法。
[C3]
前記シンタックス要素が第1のシンタックス要素であり、前記イントラランダムアクセスピクチャが、空でない参照ピクチャセットを指定する1つまたは複数の異なるシンタックス要素のセットをさらに備える、C2に記載の方法。
[C4]
前記現在ピクチャを復号するために使用される参照ピクチャが、前記現在ピクチャの復号されたフィルタリングされていないサンプルを含む、C1に記載の方法。
[C5]
前記シンタックス要素が、ピクチャパラメータセットまたはシーケンスパラメータセットのうちの1つの中に配置される、C1に記載の方法。
[C6]
前記現在ピクチャと異なるピクチャに少なくとも部分的に基づいて時間的動きベクトル予測子を決定することをさらに備える、C1に記載の方法。
[C7]
前記現在ピクチャがクリーンランダムアクセスピクチャまたは切断リンクアクセスピクチャのうちの1つであり、前記シンタックス要素が第1のシンタックス要素であり、前記方法が、
前記現在ピクチャに対する予測参照として使用される資格があるピクチャの数を示す第2のシンタックス要素の値を受信することをさらに備え、前記第2のシンタックス要素が1の値を有する、C1に記載の方法。
[C8]
前記現在ピクチャが前記参照ピクチャリストに追加される資格があり、前記現在ビデオブロックに対する動きベクトルが整数ペル精度を有し、前記方法が、
候補導出プロセスにおいて使用される前または前記候補導出プロセスが完了した後のいずれかにおいて、前記現在ピクチャに対する複数の動きベクトル予測子候補の各々の動きベクトル予測子候補を整数ペル精度に変換することをさらに備える、C1に記載の方法。
[C9]
前記参照ピクチャリストが前記現在ピクチャだけを含むとき、時間的動きベクトル予測子を無効にすることをさらに備える、C1に記載の方法。
[C10]
前記現在ビデオブロックがルーマ成分とクロマ成分とを備え、前記ルーマ成分または前記クロマ成分のうちの1つだけが整数ペル精度を有する、C1に記載の方法。
[C11]
前記現在ピクチャが前記参照ピクチャリストに追加される資格があり、前記現在ピクチャの各予測サンプルが、前記現在ピクチャのピクチャ境界内に含まれる、C1に記載の方法。
[C12]
前記現在ピクチャの隣接ピクチャを決定することと、ここにおいて、前記隣接ブロックが空間的隣接ピクチャまたは時間的隣接ピクチャのいずれかである、
前記隣接ピクチャ中の予測ブロックを決定することと、ここにおいて、前記予測ブロックが動きベクトルを含む、
前記現在ブロックに対する参照ピクチャ中の参照ブロックを決定するために前記動きベクトルを使用することと、ここにおいて、前記参照ブロックが動き予測情報を含む、
前記参照ブロックの前記動き予測情報と残差とを使用して前記現在ビデオブロックを復号することとをさらに備える、C1に記載の方法。
[C13]
ビデオデータを符号化する方法であって、
前記ビデオデータの現在ビデオブロックを符号化するために使用される参照ピクチャを決定することと、
前記参照ピクチャに対するピクチャ順序カウント(POC)値を決定することと、
前記参照ピクチャに対する前記POC値が前記現在ビデオブロックを含む現在ピクチャに対するPOC値に等しいことに応答して、参照ピクチャリストが前記現在ピクチャを含むことを示すようにシンタックス要素の値を設定することと、
前記参照ピクチャに対する前記POC値が前記現在ピクチャに対する前記POC値と異なることに応答して、前記参照ピクチャリストが前記現在ピクチャを含まないことを示すように前記シンタックス要素の前記値を設定することとを備える、方法。
[C14]
前記現在ピクチャが、PスライスまたはBスライスのうちの1つを備えるイントラランダムアクセスピクチャである、C13に記載の方法。
[C15]
前記シンタックス要素が第1のシンタックス要素であり、前記イントラランダムアクセスピクチャが、空でない参照ピクチャセットを指定する1つまたは複数の異なるシンタックス要素のセットをさらに備える、C14に記載の方法。
[C16]
前記参照ピクチャが、前記現在ピクチャの復号されたフィルタリングされていないサンプルを含む、C13に記載の方法。
[C17]
前記シンタックス要素が、ピクチャパラメータセットまたはシーケンスパラメータセットのうちの1つの中に配置される、C13に記載の方法。
[C18]
前記現在ピクチャと異なるピクチャに少なくとも部分的に基づいて時間的動きベクトル予測子を決定することをさらに備える、C13に記載の方法。
[C19]
前記現在ピクチャがクリーンランダムアクセスピクチャまたは切断リンクアクセスピクチャのうちの1つであり、前記シンタックス要素が第1のシンタックス要素であり、前記方法が、
前記現在ピクチャに対する予測参照として使用される資格があるピクチャの数を示す第2のシンタックス要素の値を1に設定することをさらに備える、C13に記載の方法。
[C20]
前記参照ピクチャに対する前記POC値が前記現在ピクチャに対する前記POC値に等しく、前記現在ビデオブロックに対する動きベクトルが整数ペル精度を有し、前記方法が、
候補導出プロセスにおいて使用される前または前記候補導出プロセスが完了した後のいずれかにおいて、前記現在ピクチャに対する複数の動きベクトル予測子候補の各々の動きベクトル予測子候補を整数ペル精度に変換することをさらに備える、C13に記載の方法。
[C21]
前記参照ピクチャリストが前記現在ピクチャだけを含むとき、時間的動きベクトル予測子を無効にすることをさらに備える、C13に記載の方法。
[C22]
前記現在ビデオブロックがルーマ成分とクロマ成分とを備え、前記ルーマ成分または前記クロマ成分のうちの1つだけが整数ペル精度を有する、C13に記載の方法。
[C23]
前記参照ピクチャに対する前記POC値が前記現在ピクチャに対する前記POC値に等しく、前記現在ピクチャの各予測サンプルが前記現在ピクチャのピクチャ境界内に含まれる、C13に記載の方法。
[C24]
前記現在ピクチャの隣接ピクチャを決定することと、ここにおいて、前記隣接ブロックが空間的隣接ピクチャまたは時間的隣接ピクチャのいずれかである、
前記隣接ピクチャ中の予測ブロックを決定することと、ここにおいて、前記予測ブロックが動きベクトルを含む、
前記現在ブロックに対する前記参照ピクチャ中の参照ブロックを決定するために前記動きベクトルを使用することと、ここにおいて、前記参照ブロックが動き予測情報を含む、
前記参照ブロックの前記動き予測情報と残差とを使用して前記現在ビデオブロックを符号化することとをさらに備える、C13に記載の方法。
[C25]
ビデオデータを記憶するように構成されたメモリ、ならびに、
1つまたは複数のプロセッサを備え、前記1つまたは複数のプロセッサが、
前記ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信することと、
前記シンタックス要素の値を決定することと、
前記ビデオデータの前記現在ビデオブロックが前記参照ピクチャリスト内にある資格があることを前記シンタックス要素が示すことに応答して、前記現在ピクチャを参照ピクチャリストに追加することと、
前記ビデオデータの前記現在ビデオブロックが前記参照ピクチャリスト内にある資格がないことを前記シンタックス要素が示すことに応答して、前記現在ピクチャが前記参照ピクチャリスト内に置かれるのを制限することとを行うように構成された、ビデオ復号デバイス。
[C26]
参照ピクチャに対する前記POC値が前記現在ピクチャに対する前記POC値に等しく、前記現在ビデオブロックに対する動きベクトルが整数ペル精度を有し、前記1つまたは複数のプロセッサが、
候補導出プロセスにおいて使用される前または前記候補導出プロセスが完了した後のいずれかにおいて、前記現在ピクチャに対する複数の動きベクトル予測子候補の各々の動きベクトル予測子候補を整数ペル精度に変換するようにさらに構成される、C25に記載のビデオ復号デバイス。
[C27]
前記1つまたは複数のプロセッサが、
前記参照ピクチャリストが前記現在ピクチャだけを含むとき、時間的動きベクトル予測子を無効にするようにさらに構成される、C25に記載のビデオ復号デバイス。
[C28]
前記現在ビデオブロックがルーマ成分とクロマ成分とを備え、前記ルーマ成分または前記クロマ成分のうちの1つだけが整数ペル精度を有する、C25に記載のビデオ復号デバイス。
[C29]
前記1つまたは複数のプロセッサが、
前記現在ピクチャの隣接ピクチャを決定することと、ここにおいて、前記隣接ブロックが空間的隣接ピクチャまたは時間的隣接ピクチャのいずれかである、
前記隣接ピクチャ中の予測ブロックを決定することと、ここにおいて、前記予測ブロックが動きベクトルを含む、
前記現在ブロックに対する参照ピクチャ中の参照ブロックを決定するために前記動きベクトルを使用することと、ここにおいて、前記参照ブロックが動き予測情報を含む、
前記参照ブロックの前記動き予測情報と残差とを使用して前記現在ビデオブロックを復号することとを行うようにさらに構成される、C25に記載のビデオ復号デバイス。
[C30]
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
ビデオデータの現在ビデオブロックを含む現在ピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信することと、
前記シンタックス要素の値を決定することと、
前記ビデオデータの前記現在ビデオブロックが前記参照ピクチャリスト内にある資格があることを前記シンタックス要素が示すことに応答して、前記現在ピクチャを参照ピクチャリストに追加することと、
前記ビデオデータの前記現在ビデオブロックが前記参照ピクチャリスト内にある資格がないことを前記シンタックス要素が示すことに応答して、前記現在ピクチャが前記参照ピクチャリスト内に置かれるのを制限することとを行わせる、コンピュータ可読記憶媒体。

Claims (27)

  1. ビデオデータを復号するための方法であって、
    前記ビデオデータの第1のビデオブロックを含む第1のピクチャが参照ピクチャリスト内にある資格があるかどうかを示す第1のシンタックス要素を受信することと、
    前記第1のシンタックス要素の値を決定することと、
    前記第1のピクチャが前記参照ピクチャリスト内にある資格があることを前記第1のシンタックス要素が示すことに応答して、
    前記第1のピクチャを前記参照ピクチャリストに追加することと、
    前記第1のビデオブロックに対する動きベクトルが整数ペル精度を有するものと決定することと、
    動きベクトル予測子候補導出プロセスにおいて使用される前または前記動きベクトル予測子候補導出プロセスが完了した後のいずれかにおいて、前記第1のピクチャに対する複数の動きベクトル予測子候補の各々の動きベクトル予測子候補を整数ペル精度に変換することと、
    前記参照ピクチャリストからの1つのピクチャのブロックと第1の残差とを使用して前記第1のビデオブロックを復号することと、
    前記ビデオデータの第2のビデオブロックを含む第2のピクチャが参照ピクチャリスト内にある資格があるかどうかを示す第2のシンタックス要素を受信することと、
    前記第2のシンタックス要素の値を決定することと、
    前記第2のピクチャが前記参照ピクチャリスト内にある資格がないことを前記第2のシンタックス要素が示すことに応答して、前記第2のピクチャが前記参照ピクチャリスト内に置かれるのを制限することと、
    前記参照ピクチャリストからの1つのピクチャのブロックと第2の残差とを使用して前記第2のビデオブロックを復号することとを備える、方法。
  2. 前記第1のピクチャが、PスライスまたはBスライスのうちの1つを備えるイントラランダムアクセスピクチャである、請求項1に記載の方法。
  3. 前記イントラランダムアクセスピクチャが、空でない参照ピクチャセットを指定する1つまたは複数の異なるシンタックス要素のセットをさらに備える、請求項2に記載の方法。
  4. 前記第1のピクチャを復号するために使用される参照ピクチャが、前記第1のピクチャの復号されたフィルタリングされていないサンプルを含む、請求項1に記載の方法。
  5. 前記第1のシンタックス要素が、ピクチャパラメータセットまたはシーケンスパラメータセットのうちの1つの中に配置される、請求項1に記載の方法。
  6. 前記第1のピクチャと異なるピクチャに少なくとも部分的に基づいて時間的動きベクトル予測子を決定することをさらに備える、請求項1に記載の方法。
  7. 前記第1のピクチャがクリーンランダムアクセスピクチャまたは切断リンクアクセスピクチャのうちの1つであり、前記方法が、
    前記第1のピクチャに対する予測参照として使用される資格があるピクチャの数を示す第3のシンタックス要素の値を受信することをさらに備え、前記第3のシンタックス要素が1の値を有する、請求項1に記載の方法。
  8. 前記参照ピクチャリストが前記第1のピクチャだけを含むとき、時間的動きベクトル予測子を無効にすることをさらに備える、請求項1に記載の方法。
  9. 前記第1のビデオブロックがルーマ成分とクロマ成分とを備え、前記ルーマ成分または前記クロマ成分のうちの1つだけが整数ペル精度を有する、請求項1に記載の方法。
  10. 前記第1のピクチャが前記参照ピクチャリストに追加される資格があり、前記第1のピクチャの各予測サンプルが、前記第1のピクチャのピクチャ境界内に含まれる、請求項1に記載の方法。
  11. 前記第1のピクチャの隣接ピクチャを決定することと、ここにおいて、前記隣接ピクチャが空間的隣接ピクチャまたは時間的隣接ピクチャのいずれかである、
    前記隣接ピクチャ中の予測ブロックを決定することと、ここにおいて、前記予測ブロックが動きベクトルを含む、
    前記第1のビデオブロックに対する参照ピクチャ中の参照ブロックを決定するために前記動きベクトルを使用することと、ここにおいて、前記参照ブロックが前記動き予測情報を含む、
    前記参照ブロックの前記動き予測情報と前記第1の残差とを使用して前記第1のビデオブロックを復号することとをさらに備える、請求項1に記載の方法。
  12. ビデオデータを符号化する方法であって、
    前記ビデオデータの第1のビデオブロックを符号化するために使用される第1の参照ピクチャを決定することと、
    前記第1の参照ピクチャに対するピクチャ順序カウント(POC)値を決定することと、
    前記第1の参照ピクチャに対する前記ピクチャ順序カウント(POC値が前記第1のビデオブロックを含む第1のピクチャに対するPOC値に等しいことに応答して、
    参照ピクチャリストが前記第1のピクチャを含むことを示すようにシンタックス要素の値を設定することと、
    前記第1のビデオブロックに対する動きベクトルが整数ペル精度を有するものと決定することと、
    動きベクトル予測子候補導出プロセスにおいて使用される前または前記動きベクトル予測子候補導出プロセスが完了した後のいずれかにおいて、前記第1のピクチャに対する複数の動きベクトル予測子候補の各々の動きベクトル予測子候補を整数ペル精度に変換することと、
    前記参照ピクチャリストからの1つのピクチャのブロックと第1の残差とを使用して前記第1のビデオブロックを符号化することと、
    前記ビデオデータの第2のビデオブロックを符号化するために使用される第2の参照ピクチャを決定することと、
    前記第2の参照ピクチャに対するPOC値を決定することと、
    前記第2の参照ピクチャに対する前記POC値が前記第2のビデオブロックを含む第2のピクチャに対する前記POC値と異なることに応答して、前記参照ピクチャリストが前記第2のピクチャを含まないことを示すように前記シンタックス要素の前記値を設定することと、
    前記参照ピクチャリストからの1つのピクチャのブロックと第2の残差とを使用して前記第2のビデオブロックを符号化することとを備える、方法。
  13. 前記第1のピクチャが、PスライスまたはBスライスのうちの1つを備えるイントラランダムアクセスピクチャである、請求項12に記載の方法。
  14. 前記イントラランダムアクセスピクチャが、空でない参照ピクチャセットを指定する1つまたは複数の異なるシンタックス要素のセットをさらに備える、請求項13に記載の方法。
  15. 前記第1の参照ピクチャが、前記第1のピクチャの復号されたフィルタリングされていないサンプルを含む、請求項12に記載の方法。
  16. 記シンタックス要素が、ピクチャパラメータセットまたはシーケンスパラメータセットのうちの1つの中に配置される、請求項12に記載の方法。
  17. 前記第1のピクチャと異なるピクチャに少なくとも部分的に基づいて時間的動きベクトル予測子を決定することをさらに備える、請求項12に記載の方法。
  18. 前記第1のピクチャがクリーンランダムアクセスピクチャまたは切断リンクアクセスピクチャのうちの1つであり、前記方法が、
    前記第1のピクチャに対する予測参照として使用される資格があるピクチャの数を示す第3のシンタックス要素の値を1に設定することをさらに備える、請求項12に記載の方法。
  19. 前記参照ピクチャリストが前記第1のピクチャだけを含むとき、時間的動きベクトル予測子を無効にすることをさらに備える、請求項12に記載の方法。
  20. 前記第1のビデオブロックがルーマ成分とクロマ成分とを備え、前記ルーマ成分または前記クロマ成分のうちの1つだけが整数ペル精度を有する、請求項12に記載の方法。
  21. 前記第1の参照ピクチャに対する前記POC値が前記第1のピクチャに対する前記POC値に等しく、前記第1のピクチャの各予測サンプルが前記第1のピクチャのピクチャ境界内に含まれる、請求項12に記載の方法。
  22. 前記第1のピクチャの隣接ピクチャを決定することと、ここにおいて、前記隣接ピクチャが空間的隣接ピクチャまたは時間的隣接ピクチャのいずれかである、
    前記隣接ピクチャ中の予測ブロックを決定することと、ここにおいて、前記予測ブロックが動きベクトルを含む、
    前記第1のビデオブロックに対する前記第1の参照ピクチャ中の参照ブロックを決定するために前記動きベクトルを使用することと、ここにおいて、前記参照ブロックが前記動き予測情報を含む、
    前記参照ブロックの前記動き予測情報と前記第1の残差とを使用して前記第1のビデオブロックを符号化することとをさらに備える、請求項12に記載の方法。
  23. ビデオデータを記憶するように構成されたメモリ、ならびに、
    1つまたは複数のプロセッサを備え、前記1つまたは複数のプロセッサが、
    前記ビデオデータの現在ビデオブロックを含む第1のピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信することと、
    前記シンタックス要素の値を決定することと、
    前記第1のピクチャが前記参照ピクチャリスト内にある資格があることを前記シンタックス要素が示すことに応答して、
    前記第1のピクチャを前記参照ピクチャリストに追加することと、
    前記現在ビデオブロックに対する動きベクトルが整数ペル精度を有するものと決定することと、
    動きベクトル予測子候補導出プロセスにおいて使用される前または前記動きベクトル予測子候補導出プロセスが完了した後のいずれかにおいて、前記第1のピクチャに対する複数の動きベクトル予測子候補の各々の動きベクトル予測子候補を整数ペル精度に変換することと、
    2のピクチャが前記参照ピクチャリスト内にある資格がないことを前記シンタックス要素が示すことに応答して、前記第2のピクチャが前記参照ピクチャリスト内に置かれるのを制限することと、
    前記参照ピクチャリストからの1つのピクチャのブロックと残差とを使用して前記現在ビデオブロックを復号することとを行うように構成された、ビデオ復号デバイス。
  24. 前記1つまたは複数のプロセッサが、
    前記参照ピクチャリストが前記第1のピクチャだけを含むとき、時間的動きベクトル予測子を無効にするようにさらに構成される、請求項23に記載のビデオ復号デバイス。
  25. 前記現在ビデオブロックがルーマ成分とクロマ成分とを備え、前記ルーマ成分または前記クロマ成分のうちの1つだけが整数ペル精度を有する、請求項23に記載のビデオ復号デバイス。
  26. 前記1つまたは複数のプロセッサが、
    前記第1のピクチャの隣接ピクチャを決定することと、ここにおいて、前記隣接ピクチャが空間的隣接ピクチャまたは時間的隣接ピクチャのいずれかである、
    前記隣接ピクチャ中の予測ブロックを決定することと、ここにおいて、前記予測ブロックが動きベクトルを含む、
    前記現在ビデオブロックに対する参照ピクチャ中の参照ブロックを決定するために前記動きベクトルを使用することと、ここにおいて、前記参照ブロックが前記動き予測情報を含む、
    前記参照ブロックの前記動き予測情報と前記残差とを使用して前記現在ビデオブロックを復号することとを行うようにさらに構成される、請求項23に記載のビデオ復号デバイス。
  27. 命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
    ビデオデータの現在ビデオブロックを含む第1のピクチャが参照ピクチャリスト内にある資格があるかどうかを示すシンタックス要素を受信することと、
    前記シンタックス要素の値を決定することと、
    前記第1のピクチャが前記参照ピクチャリスト内にある資格があることを前記シンタックス要素が示すことに応答して、
    前記第1のピクチャを参照ピクチャリストに追加することと、
    前記現在ビデオブロックに対する動きベクトルが整数ペル精度を有するものと決定することと、
    動きベクトル予測子候補導出プロセスにおいて使用される前または前記動きベクトル予測子候補導出プロセスが完了した後のいずれかにおいて、前記第1のピクチャに対する複数の動きベクトル予測子候補の各々の動きベクトル予測子候補を整数ペル精度に変換することと、
    第2のピクチャが前記参照ピクチャリスト内にある資格がないことを前記シンタックス要素が示すことに応答して、前記第2のピクチャが前記参照ピクチャリスト内に置かれるのを制限することと、
    前記参照ピクチャリストからの1つのピクチャのブロックと残差とを使用して前記現在ビデオブロックを復号することとを行わせる、非一時的コンピュータ可読記憶媒体。
JP2017518288A 2014-10-07 2015-10-07 イントラbcとインターの統合 Active JP6720153B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201462061121P 2014-10-07 2014-10-07
US62/061,121 2014-10-07
US201462087705P 2014-12-04 2014-12-04
US62/087,705 2014-12-04
US201562111568P 2015-02-03 2015-02-03
US62/111,568 2015-02-03
US14/876,699 2015-10-06
US14/876,699 US9918105B2 (en) 2014-10-07 2015-10-06 Intra BC and inter unification
PCT/US2015/054537 WO2016057701A1 (en) 2014-10-07 2015-10-07 Intra bc and inter unification

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019091407A Division JP2019169964A (ja) 2014-10-07 2019-05-14 イントラbcとインターの統合

Publications (3)

Publication Number Publication Date
JP2017535163A JP2017535163A (ja) 2017-11-24
JP2017535163A5 JP2017535163A5 (ja) 2018-06-14
JP6720153B2 true JP6720153B2 (ja) 2020-07-08

Family

ID=55633746

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017518288A Active JP6720153B2 (ja) 2014-10-07 2015-10-07 イントラbcとインターの統合
JP2019091407A Withdrawn JP2019169964A (ja) 2014-10-07 2019-05-14 イントラbcとインターの統合

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2019091407A Withdrawn JP2019169964A (ja) 2014-10-07 2019-05-14 イントラbcとインターの統合

Country Status (8)

Country Link
US (1) US9918105B2 (ja)
EP (1) EP3205103A1 (ja)
JP (2) JP6720153B2 (ja)
KR (1) KR101963054B1 (ja)
CN (1) CN106797476B (ja)
AU (1) AU2015328124B2 (ja)
BR (1) BR112017007006A2 (ja)
WO (1) WO2016057701A1 (ja)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015069734A1 (en) 2013-11-05 2015-05-14 Arris Enterprises, Inc. Bit depth variable for high precision data in weighted prediction syntax and semantics
US10412387B2 (en) 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
US10212445B2 (en) 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
US9854237B2 (en) 2014-10-14 2017-12-26 Qualcomm Incorporated AMVP and merge candidate list derivation for intra BC and inter prediction unification
KR102332999B1 (ko) * 2015-01-15 2021-12-01 한국전자통신연구원 고속 율-왜곡 최적화 기반 양자화 방법 및 장치
EP4013051A1 (en) * 2015-06-05 2022-06-15 Dolby Laboratories Licensing Corporation Methods for encoding and decoding intra-frame prediction
US10306240B2 (en) 2015-06-08 2019-05-28 Vid Scale, Inc. Intra block copy mode for screen content coding
US10178403B2 (en) * 2015-06-23 2019-01-08 Qualcomm Incorporated Reference picture list construction in intra block copy mode
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
CN108353182B (zh) * 2015-11-18 2021-06-04 韩国电子通信研究院 用于使用环路内滤波器解码视频的方法及其装置
EP3398331A4 (en) * 2016-02-05 2019-04-10 Mediatek Inc. METHOD AND APPARATUS FOR MOTION COMPENSATION BASED ON BIDIRECTIONAL OPTICAL FLUSH TECHNOLOGIES FOR VIDEO CODING
US11233990B2 (en) 2016-02-08 2022-01-25 Sharp Kabushiki Kaisha Systems and methods for intra prediction coding
KR102433227B1 (ko) 2016-02-09 2022-08-18 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 감소성 또는 효율적인 랜덤 액세스를 허용하는 픽처/비디오 데이터 스트림들에 대한 개념
US10834419B2 (en) * 2016-04-13 2020-11-10 Qualcomm Incorporated Conformance constraint for collocated reference index in video coding
CN109076210B (zh) * 2016-05-28 2021-04-09 联发科技股份有限公司 视频编解码方法和装置
JP6891895B2 (ja) 2016-09-16 2021-06-18 ソニーグループ株式会社 画像処理装置および画像処理方法
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
US10511853B2 (en) * 2016-11-24 2019-12-17 Ecole De Technologie Superieure Method and system for parallel rate-constrained motion estimation in video coding
CN116320476A (zh) * 2016-12-22 2023-06-23 株式会社Kt 对视频进行解码或编码的方法和发送视频数据的方法
WO2018131986A1 (ko) * 2017-01-16 2018-07-19 세종대학교 산학협력단 영상의 부호화/복호화 방법 및 장치
US11272207B2 (en) * 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
US10735736B2 (en) 2017-08-29 2020-08-04 Google Llc Selective mixing for entropy coding in video compression
US10368071B2 (en) * 2017-11-03 2019-07-30 Arm Limited Encoding data arrays
WO2019124191A1 (ja) * 2017-12-18 2019-06-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2020065520A2 (en) 2018-09-24 2020-04-02 Beijing Bytedance Network Technology Co., Ltd. Extended merge prediction
US11012715B2 (en) 2018-02-08 2021-05-18 Qualcomm Incorporated Intra block copy for video coding
US10462483B1 (en) 2018-04-26 2019-10-29 Tencent America LLC Method and apparatus for video coding
US10448025B1 (en) 2018-05-11 2019-10-15 Tencent America LLC Method and apparatus for video coding
WO2019234598A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and stmvp
WO2019239790A1 (ja) * 2018-06-11 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
TWI723430B (zh) 2018-06-19 2021-04-01 大陸商北京字節跳動網絡技術有限公司 不同精度的多個候選
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
KR20210022617A (ko) 2018-06-21 2021-03-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 칼라 컴포넌트 간의 서브 블록 mv 상속
WO2020016745A2 (en) * 2018-07-14 2020-01-23 Beijing Bytedance Network Technology Co., Ltd. Extension of look-up table based motion vector prediction with temporal information
JP2021534673A (ja) 2018-08-17 2021-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオコーディングにおける参照ピクチャ管理
CN113242432B (zh) * 2018-08-29 2022-01-25 北京达佳互联信息技术有限公司 视频解码的方法、计算设备和存储介质
WO2020058894A1 (en) * 2018-09-19 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Multiple prediction blocks for one intra-coded block
CN116546213A (zh) 2018-09-19 2023-08-04 北京字节跳动网络技术有限公司 具有自适应运动矢量分辨率的仿射模式的语法重用
US11317099B2 (en) * 2018-10-05 2022-04-26 Tencent America LLC Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN112889269B (zh) * 2018-10-23 2023-10-27 腾讯美国有限责任公司 视频解码方法及装置
CN117241017A (zh) 2018-11-05 2023-12-15 北京字节跳动网络技术有限公司 数字视频编解码的方法、设备和系统
EP3857890A4 (en) * 2018-11-06 2021-09-22 Beijing Bytedance Network Technology Co. Ltd. SIGNALING PAGE INFORMATION FOR INTERPREDICTION WITH GEOMETRIC PARTITIONING
WO2020094149A1 (en) 2018-11-10 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Rounding in triangular prediction mode
EP3857879A4 (en) * 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
CN113039796B (zh) 2018-11-17 2023-09-19 北京字节跳动网络技术有限公司 视频处理中的广义双向预测模式
KR20210091161A (ko) 2018-11-20 2021-07-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 부분적 위치에 기반한 차분 계산
AU2019382524B2 (en) * 2018-11-22 2023-02-02 Beijing Bytedance Network Technology Co., Ltd. Pulse code modulation technique in video processing
KR20240024335A (ko) * 2018-11-22 2024-02-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측을 위한 조정 방법
WO2020108574A1 (en) * 2018-11-28 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Improving method for transform or quantization bypass mode
CN113196772A (zh) 2018-11-29 2021-07-30 北京字节跳动网络技术有限公司 块内拷贝模式和基于子块的运动矢量预测模式之间的交互
KR102572355B1 (ko) * 2018-11-30 2023-08-30 텐센트 아메리카 엘엘씨 비디오 코딩을 위한 방법 및 장치
WO2020125798A1 (en) 2018-12-22 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Intra block copy mode with dual tree partition
CN113228636A (zh) * 2018-12-12 2021-08-06 韦勒斯标准与技术协会公司 使用当前图片参考的视频信号处理方法和设备
WO2020135482A1 (en) * 2018-12-29 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Construction method for default motion candidate in sub-block based inter prediction
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
MX2021008027A (es) * 2018-12-31 2021-08-05 Beijing Dajia Internet Information Tech Co Ltd Sistema y metodo de se?alizacion de modos de fusion de movimiento en codificacion de video.
CN113348667B (zh) * 2018-12-31 2023-06-20 北京字节跳动网络技术有限公司 在具有MVD的Merge下的距离索引的解析方法
WO2020141906A1 (ko) * 2019-01-02 2020-07-09 엘지전자 주식회사 인트라 블록 카피 예측을 이용한 영상 코딩 방법 및 장치
WO2020140949A1 (en) * 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Usage of interweaved prediction
CN113597760A (zh) 2019-01-02 2021-11-02 北京字节跳动网络技术有限公司 视频处理的方法
WO2020143772A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Affine based merge with mvd
JP7277590B2 (ja) 2019-01-18 2023-05-19 ウィルス インスティテュート オブ スタンダーズ アンド テクノロジー インコーポレイティド モーション補償を用いたビデオ信号処理方法及び装置
KR20210121021A (ko) * 2019-01-31 2021-10-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 어파인 모드 적응적 움직임 벡터 해상도 코딩 문맥
WO2020156525A1 (en) * 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Multiple syntax elements for adaptive motion vector resolution
BR112021014484A2 (pt) * 2019-02-02 2021-09-28 Beijing Bytedance Network Technology Co., Ltd. Gerenciamento de buffer para cópia de bloco intra em codificação de vídeo
WO2020156545A1 (en) * 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Prediction using intra-buffer samples for intra block copy in video coding
CN113454996A (zh) * 2019-02-17 2021-09-28 北京字节跳动网络技术有限公司 帧内块复制模式的运动候选列表构建
KR20230018540A (ko) * 2019-02-20 2023-02-07 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 비디오 코딩에서 장기 참조 픽처에 대한 제한받는 움직임 벡터 도출
JP7405861B2 (ja) 2019-03-01 2023-12-26 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのための方向に基づく予測
WO2020177661A1 (en) * 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Order-based updating for intra block copy in video coding
US10924750B2 (en) * 2019-03-01 2021-02-16 Alibaba Group Holding Limited Palette size constraint in palette mode for video compression system
JP7284284B2 (ja) * 2019-03-04 2023-05-30 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーの実装形態の態様
WO2020177704A1 (en) * 2019-03-04 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. In-loop filtering in video processing
KR102635518B1 (ko) 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용
JP7192145B2 (ja) * 2019-03-06 2022-12-19 北京字節跳動網絡技術有限公司 サイズに依存したインターコーディング
JP2022068379A (ja) * 2019-03-08 2022-05-10 シャープ株式会社 画像復号装置
US11012686B2 (en) 2019-03-08 2021-05-18 Tencent America LLC Unified block vector prediction for intra picture block compensation
SG11202109482PA (en) * 2019-03-08 2021-09-29 Beijing Bytedance Network Technology Co Ltd Joint coding of palette mode usage indication
SG11202109150QA (en) 2019-03-08 2021-09-29 Beijing Bytedance Network Technology Co Ltd Constraints on model-based reshaping in video processing
KR20210152475A (ko) * 2019-03-11 2021-12-15 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 프로파일 및 레벨 의존적 코딩 옵션을 가지는 인코더 및 디코더, 인코딩 방법 및 디코딩 방법
WO2020197290A1 (ko) * 2019-03-26 2020-10-01 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법 및 장치
WO2020192749A1 (en) * 2019-03-27 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Entropy coding for affine mode with adaptive motion vector resolution
CN113785588B (zh) 2019-04-12 2023-11-24 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的色度编解码模式确定
WO2020211863A1 (en) * 2019-04-18 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Selective use of cross component mode in video coding
WO2020219733A1 (en) * 2019-04-24 2020-10-29 Bytedance Inc. Quantized residual differential pulse code modulation representation of coded video
WO2020216294A1 (zh) 2019-04-25 2020-10-29 华为技术有限公司 图像预测方法、装置和计算机可读存储介质
CN111866502A (zh) * 2019-04-25 2020-10-30 华为技术有限公司 图像预测方法、装置和计算机可读存储介质
WO2020221372A1 (en) * 2019-05-01 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Context coding for matrix-based intra prediction
CN113812155B (zh) * 2019-05-11 2023-10-27 北京字节跳动网络技术有限公司 多种帧间编解码方法之间的交互
CN117692630A (zh) * 2019-05-11 2024-03-12 北京字节跳动网络技术有限公司 视频处理中编解码工具的选择性使用
EP3954124A4 (en) 2019-05-12 2022-08-03 Beijing Bytedance Network Technology Co., Ltd. SIGNALING FOR RE-SAMPLING REFERENCE IMAGE
WO2020228717A1 (en) 2019-05-13 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Block dimension settings of transform skip mode
CN113826405B (zh) * 2019-05-13 2023-06-23 北京字节跳动网络技术有限公司 多个颜色分量的变换量化旁路模式的使用
CN117221544A (zh) 2019-05-19 2023-12-12 字节跳动有限公司 数字视频中的变换旁路编解码残差块
EP3954119A4 (en) * 2019-05-21 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. SYNTAX SIGNALING IN A SUBBLOCK MERGE MODE
CN113853787B (zh) 2019-05-22 2023-12-22 北京字节跳动网络技术有限公司 基于子块使用变换跳过模式
AU2020282086A1 (en) 2019-05-24 2021-11-04 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods using for ibc merge list
US11611759B2 (en) * 2019-05-24 2023-03-21 Qualcomm Incorporated Merge mode coding for video coding
CN113853783B (zh) * 2019-05-25 2023-12-15 北京字节跳动网络技术有限公司 对帧内块复制编解码的块的块矢量的编解码
JP2022535726A (ja) 2019-05-31 2022-08-10 北京字節跳動網絡技術有限公司 行列ベースイントラ予測における制約されたアップサンプリングプロセス
JP2022534320A (ja) 2019-06-05 2022-07-28 北京字節跳動網絡技術有限公司 マトリクスベースイントラ予測のためのコンテキスト決定
CN113940082A (zh) * 2019-06-06 2022-01-14 北京字节跳动网络技术有限公司 基于子块的帧内块复制和不同编解码工具之间的交互
KR102662603B1 (ko) 2019-06-06 2024-04-30 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩을 위한 움직임 후보 리스트 구성
CN112118451B (zh) * 2019-06-20 2022-09-27 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11368511B2 (en) * 2019-06-20 2022-06-21 Tencent America LLC Unification of rice parameter lookup table
CN112118456B (zh) * 2019-06-20 2022-03-25 腾讯美国有限责任公司 莱斯参数选择方法、装置、计算机设备及存储介质
MX2021015089A (es) * 2019-06-20 2022-01-18 Jvckenwood Corp Dispositivo de codificacion de video, metodo de codificacion de video, programa de codificacion de video, dispositivo de decodificacion de video, metodo de decodificacion de video y programa de decodificacion de video.
WO2020259426A1 (en) * 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction for intra block copy mode
US11601666B2 (en) * 2019-06-25 2023-03-07 Qualcomm Incorporated Derivation of temporal motion vector prediction candidates in video coding
CN112135129B (zh) * 2019-06-25 2024-06-04 华为技术有限公司 一种帧间预测方法及装置
EP3981151A4 (en) 2019-07-06 2022-08-24 Beijing Bytedance Network Technology Co., Ltd. VIRTUAL PREDICTION BUFFER FOR INTRA-BLOCK COPY IN VIDEO ENCODING
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
KR102635519B1 (ko) * 2019-07-10 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 샘플 식별
CN114097221B (zh) * 2019-07-11 2024-01-12 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的比特流一致性约束
WO2021008514A1 (en) * 2019-07-14 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Indication of adaptive loop filtering in adaptation parameter set
JP7359936B2 (ja) 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
CN117221536A (zh) * 2019-07-23 2023-12-12 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
JP2022542898A (ja) * 2019-07-25 2022-10-07 北京字節跳動網絡技術有限公司 イントラブロックコピー仮想バッファに対するサイズ制限
WO2021027774A1 (en) * 2019-08-10 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Subpicture dependent signaling in video bitstreams
CN114208184A (zh) 2019-08-13 2022-03-18 北京字节跳动网络技术有限公司 基于子块的帧间预测中的运动精度
MX2022002247A (es) * 2019-09-02 2022-03-22 Beijing Bytedance Network Tech Co Ltd Particion de region de video basada en formato de color.
JP7323709B2 (ja) 2019-09-09 2023-08-08 北京字節跳動網絡技術有限公司 イントラブロックコピーの符号化および復号化
KR20220061108A (ko) * 2019-09-19 2022-05-12 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 레퍼런스 샘플 위치 유도
US11323711B2 (en) * 2019-09-20 2022-05-03 Alibaba Group Holding Limited Method and system for signaling chroma quantization parameter offset
WO2021052507A1 (en) * 2019-09-22 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Sub-picture coding and decoding of video
CN113261285B (zh) * 2019-09-24 2023-06-02 Oppo广东移动通信有限公司 编码方法、解码方法、编码器、解码器以及存储介质
EP4026336A4 (en) * 2019-10-05 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. LEVEL-BASED SIGNALING OF VIDEO CODING TOOLS
CN114556926B (zh) * 2019-10-10 2024-07-05 北京字节跳动网络技术有限公司 几何分割模式中的运动矢量处理
CN114631317B (zh) 2019-10-18 2024-03-15 北京字节跳动网络技术有限公司 子图片的参数集信令中的语法约束
EP4054196A4 (en) * 2019-10-29 2023-12-13 LG Electronics Inc. TRANSFORM-BASED IMAGE CODING METHOD AND RELATED APPARATUS
JP2023500299A (ja) * 2019-10-29 2023-01-05 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法およびその装置
US20220385910A1 (en) * 2019-11-11 2022-12-01 Hfi Innovation Inc. Method and Apparatus of Signaling Adaptive Motion Vector Difference Resolution in Video Coding
CN111050182B (zh) * 2019-12-27 2022-02-18 浙江大华技术股份有限公司 运动矢量的预测方法、视频编码方法及相关设备、装置
US20230063796A1 (en) * 2019-12-29 2023-03-02 Lg Electronics Inc. Transform-based image coding method and device for same
EP4091327A4 (en) * 2020-02-19 2023-05-03 ByteDance Inc. INFERENCE OF WEIGHT VALUES FOR VIDEO COMPONENTS IN A BITSTREAM
CN113395524B (zh) * 2020-03-11 2023-04-28 腾讯美国有限责任公司 视频解码方法、装置和电子设备
US11146806B2 (en) * 2020-03-11 2021-10-12 Tencent America LLC Coding unit level transform size restriction for adaptive color transform
CN115606183A (zh) 2020-04-07 2023-01-13 抖音视界有限公司(Cn) 参考图片环绕的剪裁操作
CN115668917A (zh) 2020-04-09 2023-01-31 抖音视界有限公司 视频编解码中的去块信令通知
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
WO2021209061A1 (en) 2020-04-17 2021-10-21 Beijing Bytedance Network Technology Co., Ltd. Presence of adaptation parameter set units
WO2021222036A1 (en) 2020-04-26 2021-11-04 Bytedance Inc. Conditional signaling of video coding syntax elements
US20220400275A1 (en) 2021-06-10 2022-12-15 Tencent America LLC Zero Residual Flag Coding

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1469682A4 (en) * 2002-01-24 2010-01-27 Hitachi Ltd SIGNAL CODING METHOD FOR MOVABLE IMAGES, DECODING METHOD, CODING DEVICE AND DECODING DEVICE
JP2005167852A (ja) * 2003-12-04 2005-06-23 Matsushita Electric Ind Co Ltd 動きベクトル検出方法、及び動きベクトル検出装置
US8054886B2 (en) * 2007-02-21 2011-11-08 Microsoft Corporation Signaling and use of chroma sample positioning information
US8929443B2 (en) 2009-01-09 2015-01-06 Microsoft Corporation Recovering from dropped frames in real-time transmission of video over IP networks
US9066102B2 (en) * 2010-11-17 2015-06-23 Qualcomm Incorporated Reference picture list construction for generalized P/B frames in video coding
KR101425772B1 (ko) * 2010-11-23 2014-08-06 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
US9008181B2 (en) * 2011-01-24 2015-04-14 Qualcomm Incorporated Single reference picture list utilization for interprediction video coding
US9313519B2 (en) * 2011-03-11 2016-04-12 Google Technology Holdings LLC Interpolation filter selection using prediction unit (PU) size
WO2012140821A1 (ja) 2011-04-12 2012-10-18 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
CN103828364B (zh) * 2011-09-29 2018-06-12 夏普株式会社 图像解码装置、图像解码方法及图像编码装置
US20140321551A1 (en) 2011-10-21 2014-10-30 Dolby Laboratories Licensing Corporation Weighted predictions based on motion information
PL3624447T3 (pl) 2012-01-19 2021-11-22 Vid Scale, Inc. Sposób i urządzenie do sygnalizowania i tworzenia list obrazów referencyjnych kodowania wideo
WO2014103529A1 (ja) * 2012-12-28 2014-07-03 シャープ株式会社 画像復号装置、およびデータ構造
US10085034B2 (en) * 2013-07-12 2018-09-25 Sony Corporation Image coding apparatus and method
US20150098504A1 (en) 2013-10-09 2015-04-09 Qualcomm Incorporated Block vector coding for intra block copying
GB2519514A (en) 2013-10-11 2015-04-29 Canon Kk Method and apparatus for displacement vector component prediction in video coding and decoding
US9883197B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
US20150271515A1 (en) 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding
CN109889850A (zh) 2014-02-21 2019-06-14 联发科技(新加坡)私人有限公司 视频编解码方法
US9756354B2 (en) 2014-03-17 2017-09-05 Qualcomm Incorporated Block vector predictor for intra block copying
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
US20150373362A1 (en) 2014-06-19 2015-12-24 Qualcomm Incorporated Deblocking filter design for intra block copy
KR102311815B1 (ko) * 2014-06-19 2021-10-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
US9930341B2 (en) 2014-06-20 2018-03-27 Qualcomm Incorporated Block vector coding for intra block copying
US10412387B2 (en) 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification

Also Published As

Publication number Publication date
KR101963054B1 (ko) 2019-03-27
US20160100189A1 (en) 2016-04-07
CN106797476A (zh) 2017-05-31
US9918105B2 (en) 2018-03-13
JP2017535163A (ja) 2017-11-24
CN106797476B (zh) 2019-09-17
BR112017007006A2 (pt) 2017-12-12
AU2015328124B2 (en) 2019-04-18
JP2019169964A (ja) 2019-10-03
EP3205103A1 (en) 2017-08-16
WO2016057701A1 (en) 2016-04-14
KR20170068466A (ko) 2017-06-19
AU2015328124A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
JP6720153B2 (ja) イントラbcとインターの統合
JP6767508B2 (ja) ビデオコーディングのためのアフィンモーション予測
KR102447297B1 (ko) 통합된 인트라 블록 복사 및 인터 예측
JP7000565B2 (ja) ビデオコーディングのためのアフィン予測動き情報をコーディングすること
JP7211816B2 (ja) イントラブロックコピーマージモードおよび利用できないibc参照領域のパディング
KR102310752B1 (ko) 슬라이스 레벨 인트라 블록 카피 및 기타 비디오 코딩 개선
JP6378433B2 (ja) イントラbcとインター予測の統合のためのamvpおよびマージ候補リスト導出
KR102348541B1 (ko) 블록 적응적 컬러­공간 변환 코딩
JP6416115B2 (ja) ビュー間またはレイヤ間参照ピクチャについてのビットストリーム制約および動きベクトル制限
CA2912447C (en) Intra prediction from a predictive block
JP7504925B2 (ja) ビデオコーディングのための組み合わされたインターおよびイントラ予測モード
US9854234B2 (en) Reference picture status for video coding
CN107223333B (zh) 用以减少译码参数的hevc预测的可用性检查的填补方法和装置
KR20180133411A (ko) 비디오 코딩에서 콜로게이팅된 참조 인덱스에 대한 컨포먼스 제한
KR20170108010A (ko) 서브-예측 유닛 기반 어드밴스드 시간 모션 벡터 예측
TW201352008A (zh) 在高效率視訊寫碼及其擴充中之運動向量寫碼及雙向預測
KR102282331B1 (ko) 인터-레이어 신택스 예측 제어
CN107251556B (zh) 用于运动搜索中低复杂度四分之一像素产生的方法及设备
CN115191117A (zh) 视频编码中的参考图片列表和共位图片信令通知

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180425

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180425

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200617

R150 Certificate of patent or registration of utility model

Ref document number: 6720153

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