JP2015502091A - ビデオデータの波面並列処理における制限された参照ピクチャセット - Google Patents

ビデオデータの波面並列処理における制限された参照ピクチャセット Download PDF

Info

Publication number
JP2015502091A
JP2015502091A JP2014542357A JP2014542357A JP2015502091A JP 2015502091 A JP2015502091 A JP 2015502091A JP 2014542357 A JP2014542357 A JP 2014542357A JP 2014542357 A JP2014542357 A JP 2014542357A JP 2015502091 A JP2015502091 A JP 2015502091A
Authority
JP
Japan
Prior art keywords
tree block
reference picture
predicted
inter
block group
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.)
Pending
Application number
JP2014542357A
Other languages
English (en)
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 JP2015502091A publication Critical patent/JP2015502091A/ja
Pending legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

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

Abstract

ビデオエンコーダは、ツリーブロックグループの各インター予測された予測ユニット(PU)のための参照ブロックを、参照ブロックの各々がツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定する。ツリーブロックグループのための参照ピクチャサブセットは、現在のピクチャの参照ピクチャセット中のすべてよりも少ない参照ピクチャを含む。ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える。ツリーブロックグループの各インター予測PUについて、ビデオエンコーダは、ビデオデータのコーディングされた表現を含むビットストリーム中で、そのインター予測PUのための参照ブロックを含む参照ピクチャを示す。ビデオデコーダは、ビットストリームを受信し、ツリーブロックグループのインター予測PUの参照ピクチャを決定し、インター予測PUの参照ブロックを使用して、復号ビデオブロックを生成する。

Description

本出願は、2011年11月16日出願の米国仮特許出願第61/560737号の優先権を主張し、その出願の内容の全体が参照により本明細書に援用される。
本開示はビデオコーディング(すなわちビデオデータの符号化および/または復号)に関する。
デジタルビデオ機能は、デジタルテレビ、デジタル衛星放送システム、ワイヤレス放送システム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤー、ビデオゲームデバイス、ビデゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ電話会議デバイス、ビデオストリーミングデバイスなどを含む多種多様なデバイスに組み込むことができる。デジタルビデオデバイスは、MPEG−2、MEPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、パート10、アドバンストビデオコーディング(AVC)、現在策定中の高効率ビデオコーディング(HEVC)標準、およびこれらの標準の拡張版によって規定される標準に記載されているものなどのビデオ圧縮技術を実装する。ビデオデバイスは、このようなビデオ圧縮技術を実装することにより、デジタルビデオ情報の送信、受信、符号化、復号および/または格納をより効率的に行うことができる。
ビデオ圧縮技術は、空間(ピクチャ内(intra-picture))予測および/または時間(ピクチャ間(inter-picture))予測を行って、ビデオシーケンスに固有の冗長性を低減または除去する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわちビデオフレームまたはビデオフレームの一部)をビデオブロックにパーティショニングすることができ、それらビデオブロックはツリーブロック、コーディングユニット(CU)および/またはコーディングノードとも呼ばれることがある。ピクチャのイントラコード化(I)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対して空間予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間予測、または他の参照ピクチャ内の参照サンプルに対する時間予測を使用することができる。ピクチャはフレームとも呼ばれることがあり、参照ピクチャは参照フレームとも呼ばれることがある。
空間または時間予測の結果、コーディングされるべきブロックのための予測ブロックが得られる。残差データは、コーディングされるべきオリジナルブロックと予測ブロックとの間の画素差を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの差を示す残差データとにしたがって符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとにしたがって符号化される。さらなる圧縮のために、残差データは画素領域から変換領域に変換可能であり、その結果、残差係数が得られ、それらが次いで量子化され得る。量子化された係数は、最初は2次元配列に配列されており、係数の1次元ベクトルを生成するためにスキャンされることができ、さらなる圧縮を達成するためにエントロピーコーディングが適用され得る。
一般に、ビデオエンコーダは、現在のピクチャのツリーブロックグループのインター予測された予測ユニット(PU)のための1つまたは複数の参照ブロックを決定する。ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える。ビデオエンコーダは、参照ブロックの各々がツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、参照ブロックを決定する。ツリーブロックグループのための参照ピクチャサブセットは、現在のピクチャの参照ピクチャセット中のすべての参照ピクチャよりも少ない参照ピクチャを含む。ツリーブロックグループの各インター予測PUについて、ビデオエンコーダは、ビットストリーム中で、そのインター予測PUのための参照ブロックを含む参照ピクチャを示す。ビデオデコーダは、ビットストリームを受信し、ツリーブロックグループのインター予測PUの参照ピクチャを決定し、インター予測PUの参照ブロックを使用して、復号されたビデオブロックを生成する。
一態様では、本開示は、ビデオデータを符号化するための方法について説明する。この方法は、現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定することを備える。この方法はまた、現在のピクチャのツリーブロックグループの各インター予測PUのための参照ブロックを、参照ブロックの各々がツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、ツリーブロックグループのための参照ピクチャサブセットは、現在のピクチャのための参照ピクチャセット中の参照ピクチャのうちの、すべてではないが、1つまたは複数を含み、ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定することを備える。この方法はまた、ビデオデータのコーディングされた表現を含むビットストリーム中で、ツリーブロックグループの各インター予測PUのための参照ブロックを含む参照ピクチャを示すことを備える。
別の態様では、本開示は、現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定することを行うように構成された1つまたは複数のプロセッサを備えるコンピューティングデバイスについて説明する。1つまたは複数のプロセッサはまた、現在のピクチャのツリーブロックグループの各インター予測PUのための参照ブロックを、参照ブロックの各々がツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、ツリーブロックグループのための参照ピクチャサブセットは、現在のピクチャのための参照ピクチャセット中の参照ピクチャのうちの、すべてではないが、1つまたは複数を含み、ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定することを行うように構成される。加えて、1つまたは複数のプロセッサは、ビデオデータのコーディングされた表現を含むビットストリーム中で、ツリーブロックグループの各インター予測PUのための参照ブロックを含む参照ピクチャを示すことを行うように構成される。
別の態様では、本開示は、現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定するための手段を備える、コンピューティングデバイスについて説明する。このコンピューティングデバイスはまた、現在のピクチャのツリーブロックグループの各インター予測PUのための参照ブロックを、参照ブロックの各々がツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定するための手段であって、ツリーブロックグループのための参照ピクチャサブセットは、現在のピクチャのための参照ピクチャセット中の参照ピクチャのうちの、すべてではないが、1つまたは複数を含み、ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定するための手段を備える。加えて、このコンピューティングデバイスは、ビデオデータのコーディングされた表現を含むビットストリーム中で、ツリーブロックグループの各インター予測PUのための参照ブロックを含む参照ピクチャを示すための手段を備える。
別の態様では、本開示は、コンピューティングデバイスの1つまたは複数のプロセッサによって実行されたときにコンピューティングデバイスに現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定することを行わせる命令を記憶した、コンピュータ可読記憶媒体について説明する。これらの命令はまた、現在のピクチャのツリーブロックグループの各インター予測PUのための参照ブロックを、参照ブロックの各々がツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、ツリーブロックグループのための参照ピクチャサブセットは、現在のピクチャの参照ピクチャセット中の参照ピクチャのうちの、すべてではないが、1つまたは複数を含み、ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定することを、コンピューティングデバイスに行わせる。加えて、これらの命令は、ビデオデータのコーディングされた表現を含むビットストリーム中で、ツリーブロックグループの各インター予測PUのための参照ブロックを含む参照ピクチャを示すことを、コンピューティングデバイスに行わせる。
別の態様では、本開示は、ビデオデータを復号するための方法について説明する。この方法は、ビデオデータの符号化表現を含むビットストリームを受信することであって、ビデオデータの符号化表現は、ビデオデータの現在のピクチャのツリーブロックグループのインター予測PUの動き情報を伝達するデータを含む、受信することを備える。ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える。ツリーブロックグループは、現在のピクチャのための参照ピクチャセット中の、すべてではないが、1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる。この方法はまた、ツリーブロックグループのインター予測PUの動き情報に基づいて、インター予測PUの参照ブロックを決定することを備える。ツリーブロックグループのインター予測PUの参照ブロックの各々は、ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある。加えて、この方法は、ツリーブロックグループのインター予測PUの参照ブロックに少なくとも部分的に基づいて、現在のピクチャの復号ビデオブロックを生成することを備える。
別の態様では、本開示は、ビデオデータの符号化表現を含むビットストリームを受信することであって、ビデオデータの符号化表現は、ビデオデータの現在のピクチャのツリーブロックグループのインター予測PUの動き情報を伝達するデータを含む、受信することを行うように構成された1つまたは複数のプロセッサを備えるコンピューティングデバイスについて説明する。ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える。ツリーブロックグループは、現在のピクチャのための参照ピクチャセット中の、すべてではないが、1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる。1つまたは複数のプロセッサはまた、ツリーブロックグループのインター予測PUの動き情報に基づいて、インター予測PUの参照ブロックを決定することを行うように構成される。ツリーブロックグループのインター予測PUの参照ブロックの各々は、ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある。加えて、1つまたは複数のプロセッサは、ツリーブロックグループのインター予測PUの参照ブロックに少なくとも部分的に基づいて、現在のピクチャの復号ビデオブロックを生成することを行うように構成される。
別の態様では、本開示は、ビデオデータの符号化表現を含むビットストリームを受信するための手段であって、ビデオデータの符号化表現は、ビデオデータの現在のピクチャのツリーブロックグループのインター予測PUの動き情報を伝達するデータを含む、受信するための手段を備える、コンピューティングデバイスについて説明する。ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える。ツリーブロックグループは、現在のピクチャのための参照ピクチャセット中の、すべてではないが、1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる。このコンピューティングデバイスはまた、ツリーブロックグループのインター予測PUの動き情報に基づいて、インター予測PUの参照ブロックを決定するための手段を備える。ツリーブロックグループのインター予測PUの参照ブロックの各々は、ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある。加えて、このコンピューティングデバイスは、ツリーブロックグループのインター予測PUの参照ブロックに少なくとも部分的に基づいて、現在のピクチャの復号ビデオブロックを生成するための手段を備える。
別の態様では、本開示は、コンピューティングデバイスの1つまたは複数のプロセッサによって実行されたときにコンピューティングデバイスに、ビデオデータの符号化表現を含むビットストリームを受信することであって、ビデオデータの符号化表現は、ビデオデータの現在のピクチャのツリーブロックグループのインター予測PUの動き情報を伝達するデータを含む、受信することを行わせる命令を記憶した、コンピュータ可読記憶媒体について説明する。ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える。ツリーブロックグループは、現在のピクチャのための参照ピクチャセット中の、すべてではないが、1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる。これらの命令はまた、ツリーブロックグループのインター予測PUの動き情報に基づいて、インター予測PUの参照ブロックを決定することを、コンピューティングデバイスに行わせる。ツリーブロックグループのインター予測PUの参照ブロックの各々は、ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある。加えて、これらの命令は、ツリーブロックグループのインター予測PUの参照ブロックに少なくとも部分的に基づいて、現在のピクチャの復号ビデオブロックを生成することを、コンピューティングデバイスに行わせる。
本開示の1つまたは複数の例の詳細を添付図面と以下の説明とに記載する。その他の特徴、目的および利点は、以下の説明、図面および特許請求の範囲から明らかになるであろう。
本開示で説明する技法を利用し得る例示のビデオ符号化および復号システムを示すブロック図。 波面並列処理を示す概念図。 本開示の技法を実装するように構成された例示のビデオエンコーダを示すブロック図。 本開示の技法を実装するように構成された例示のビデオデコーダを示すブロック図。 本開示の1つまたは複数の技法による、制限された参照ピクチャセットを使用してビデオデータを符号化するためのビデオエンコーダの例示の動作を示すフローチャート。 本開示の1つまたは複数の技法による、ツリーブロックグループを処理するためのビデオエンコーダの例示の動作を示すフローチャート。 本開示の1つまたは複数の技法による、現在のツリーブロックグループを処理するためのビデオデコーダの例示の動作を示すフローチャート。 本開示の1つまたは複数の技法による、ピクチャの参照ピクチャセットを制限するための例示の手法を示す概念図。 本開示の1つまたは複数の技法による、ピクチャの参照ピクチャセットを制限するための別の例示の手法を示す概念図。 本開示の1つまたは複数の技法による、ピクチャの参照ピクチャセットを制限するための別の例示の手法を示す概念図。
ビデオコーダ(すなわち、ビデオエンコーダまたはビデオデコーダ)は、ピクチャを参照ピクチャのセット(すなわち、参照ピクチャセット(RPS:reference picture set))に関連付け得る。ビデオコーダは、参照ピクチャバッファ中にピクチャに関連付けられた参照ピクチャのうちの1つまたは複数を記憶し得る。ビデオコーダは、ピクチャをコーディング(すなわち、符号化または復号)するために、波面並列処理(WPP:wavefront parallel processing)を実行し得る。WPPを使用してピクチャをコーディングするとき、ビデオコーダは、ピクチャの複数のツリーブロックを同時にコーディングし得る。説明を簡単にするために、本開示は、同時にコーディングされるツリーブロックのグループを「ツリーブロックグループ」と呼ぶことがある。ピクチャの複数のツリーブロックを同時にコーディングするとき、ビデオコーダは、ツリーブロックの複数の予測ユニット(PU)に対してインター予測を同時に実行し得る。PUに対してインター予測を実行することの一部として、ビデオコーダは、PUに対応する予測サンプルブロックを生成するために、ピクチャに関連付けられた参照ピクチャのうちの1つまたは複数からのサンプルを使用し得る。
ビデオコーダがWPPを実行するときに起こり得るように、ビデオコーダが複数のツリーブロックを同時にコーディングする場合、参照ピクチャバッファは、同時にコーディングされるツリーブロックの各々のPUに対してインター予測を実行するために使用される参照ピクチャを記憶するには、小さすぎることがある。結果として、参照ピクチャバッファは、ビデオコーダが所与の時間に必要とする参照ピクチャを記憶する可能性が低い。参照ピクチャバッファが、必要とされた参照ピクチャを記憶していない場合、ビデオコーダは、2次記憶媒体から、その必要とされた参照ピクチャを読み出し得る。必要とされた参照ピクチャを2次記憶媒体から読み出すことは、比較的時間がかかり得る。したがって、参照ピクチャバッファが、同時にコーディングされるツリーブロックのPU(すなわち、ツリーブロックグループのツリーブロックのPU)に対してインター予測を実行するために必要とされた参照ピクチャを記憶していない場合、ビデオコーダの性能が低下し得る。
本開示の技法によれば、ビデオエンコーダは、ツリーブロックグループ中の各ツリーブロックを、現在のピクチャに関連付けられた参照ピクチャの同じ制限されたサブセット(constrained subset)に関連付け得る。したがって、ツリーブロック中の各ツリーブロックは、参照ピクチャの同じサブセットを共有して、インター予測が参照ピクチャのそのサブセットに対して実行されるようにする。参照ピクチャの共有されたサブセットは、低減された数の参照ピクチャを含み、参照ピクチャバッファのための低減された記憶要件を提示し得る。したがって、参照ピクチャバッファは、参照ピクチャの制限されたサブセット中の各参照ピクチャを同時に記憶することが可能であり得る。このことは、符号化演算および復号演算中に必要とされるときに、必要とされた参照ピクチャのセットがビデオエンコーダとビデオデコーダの両方の参照ピクチャバッファ中で利用可能であることを保証し得る。このことは、ビデオエンコーダおよび/またはビデオデコーダの動作を加速させ得る。
添付図面に、いくつか例を示す。添付図面において参照番号で示す要素は、以下の説明で同様の参照番号で示す要素に対応する。本開示では、序数語(例えば「第1」、「第2」、「第3」など)で始まる名称を有する要素は、必ずしもそれらの要素に特定の順序があることを意味するものではない。むしろ、そのような序数語は、同じかまたは同様の種類の、異なる要素を指すために使用されるに過ぎない。
図1は、本開示の技術を使用することができる例示のビデオ符号化および復号システム10を示すブロック図である。本明細書では、「ビデオコーダ」という用語はビデオエンコーダとビデオデコーダの両方を総称するために使用する。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号の総称である場合がある。
図1に示すように、ビデオ符号化および復号システム10は、ソースデバイス12と宛先デバイス14とを含む。ソースデバイス12は符号化ビデオデータを生成する。したがって、ソースデバイス12をビデオ符号化デバイスまたはビデオ符号化装置と呼ぶこともある。宛先デバイス14はソースデバイス12によって生成された符号化ビデオデータを復号することができる。したがって、宛先デバイス14をビデオ復号デバイスまたはビデオ復号装置と呼ぶこともある。ソースデバイス12と宛先デバイス14とは、ビデオコーディングデバイスまたはビデオコーディング装置の一例である。
ソースデバイス12と宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(例えばラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビ、カメラ、表示デバイス、デジタルメディアプレイヤー、ビデオゲーム機、車載コンピュータなどを含む、多種多様なデバイスを備え得る。
宛先デバイス14は、チャネル16を介してソースデバイス12から符号化ビデオデータを受け取ることができる。チャネル16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な種類の媒体またはデバイスを備え得る。一例では、チャネル16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することができるようにする、1つまたは複数の通信媒体を備え得る。この例では、ソースデバイス12は、ワイヤレス通信プロトコルなどの通信標準にしたがって符号化ビデオデータを変調することができ、変調されたビデオデータを宛先デバイス14に送信することができる。1つまたは複数の通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線などの、ワイヤレスおよび/または有線通信媒体を含み得る。1つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(例えばインターネット)などのパケットベースのネットワークの一部を形成することができる。1つまたは複数の通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス14への通信を容易にするその他の機器を含み得る。
他の例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス14はディスクアクセスまたはカードアクセスによって記憶媒体にアクセスすることができる。記憶媒体は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオデータを記憶するためのその他の適切な記憶媒体など、様々なローカルアクセスデータ記憶媒体を含み得る。
他の例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶するファイルサーバまたはその他の中間記憶デバイスなどのデバイスを含み得る。この例では、宛先デバイス14は、ストリーミングまたはダウンロードにより、デバイスで記憶された符号化ビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶し、宛先デバイス14などの他のコンピューティングデバイスに符号化ビデオデータを送信するように構成された、コンピューティングデバイスであり得る。ファイルサーバの種類の例としては、(例えばウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、およびローカルディスクドライブが挙げられる。
宛先デバイス14は、インターネット接続などの標準データ接続を介して符号化ビデオデータにアクセス可能である。データ接続の種類の例としては、符号化ビデオデータの送信に適した、ワイヤレスチャネル(例えばWiFi(登録商標)接続)、有線接続(例えばDSL、ケーブルモデムなど)、または両者の組み合わせが挙げられる。符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両者の組み合わせであり得る。
本開示の技術は、ワイヤレス用途または環境には限定されない。むしろ、本開示の技術は、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えばインターネットを介したストリーミングビデオ送信など、様々なマルチメディア用途、ビデオデータをデータ記憶媒体に記憶するための符号化、データ記憶媒体に記憶されたビデオデータの復号、またはその他の用途をサポートするビデオコーディングに適用可能である。ある例では、ビデオ符号化および復号システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および/またはテレビ電話などの用途をサポートするために、一方向または双方向ビデオ送信をサポートするように構成され得る。
図1の例では、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。ビデオソース18は、ビデオキャプチャーデバイス、例えばビデオカメラ、過去にキャプチャされたビデオデータを収めるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および/またはビデオデータを生成するためのコンピュータグラフィクスシステム、またはこのようなビデオデータソースの組み合わせを含み得る。
ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化することができる。ある例では、ソースデバイス12は、出力インターフェース22を介して宛先デバイス14に符号化ビデオデータを直接送信することができる。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。符号化ビデオデータはまた、復号および/または再生のための宛先デバイス14によるその後のアクセスのために、記憶媒体またはファイルサーバ上に記憶され得る。
図1の例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。入力インターフェース28は、チャネル16を介して符号化ビデオデータを受信し得る。いくつかの例では、入力インターフェース28は、受信機および/またはモデムを含み得る。ビデオデコーダ30は、符号化ビデオデータを復号し得る。ディスプレイデバイス32は、ビデオデコーダ30によって復号されたビデオデータを表示し得る。
ディスプレイデバイス32は、宛先デバイス14に組み込まれていても外部にあってもよい。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、またはその他の種類のディスプレイデバイスなど、様々なディスプレイデバイスを備え得る。
ビデオエンコーダ20とビデオデコーダ30とは、現在策定中の高効率ビデオコーディング(HEVC)標準などのビデオ圧縮標準にしたがって動作することができ、HEVCテストモデル(HM)に準拠し得る。「HEVCワーキングドラフト4」または「WD4」と呼ばれる公開予定のHEVC標準の最近のドラフトは、ブロス(Bross)らの「WD4: Working Draft 4 of High-Efficiency Video Coding(高効率ビデオコーディングのワーキングドラフト4)」(ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング共同チーム(JCT−VC:Joint Collaborative Team on Video Coding)、第6回会議:イタリア、トリノ、2001年7月)に記載されており、これは2012年10月22日の時点でhttp://phenix.int-evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F803-v3.zipからダウンロード可能であり、その全内容が参考として本明細書に援用される。「HEVCワーキングドラフト8」または「WD8」と呼ばれる公開予定のHEVC規格の別の最近のドラフトは、ブロス(Bross)らの「High Efficiency Video Coding (HEVC) text specification draft 8」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング共同チーム(JCT−VC)、第10回会議:スウェーデン、ストックホルム、2012年7月に記載されており、これは2012年10月22日の時点で、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zipからダウンロード可能であり、その全内容が参照により本明細書に組み込まれる。
あるいは、ビデオエンコーダ20とビデオデコーダ30とは、ITU−T H.261、ISO/IEC MPEG−1ビジュアル、ITU−T H.262またはISO/IEC MPEG−2ビジュアル、ITU−T H.263、ISO/IEC MPEG−4ビジュアルおよびITU−T H.264(ISO/IEC MPEG−4 AVCまたはH.264/AVCとしても知られる)、そのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張版などを含む、その他のプロプライエタリ標準または業界標準にしたがって動作し得る。ただし、本開示の技術はいかなる特定のコーディング標準または技術にも限定されない。
やはり、図1は一例に過ぎず、本開示の技術は符号化デバイスと復号デバイスとの間でのデータ通信を必ずしも含まないビデオコーディング環境(例えばビデオ符号化またはビデオ復号)にも適用可能である。その他の例では、データはローカルメモリから取り出される、ネットワークを介してストリーミングされる、などが可能である。符号化デバイスは、データを符号化してメモリに格納することができ、および/または、復号デバイスは、メモリからデータを読み出して復号することができる。多くの例では、符号化および復号は、互いに通信せず、データを単にメモリに対して符号化し、および/またはデータをメモリから取り出して復号するデバイスによって行われる。
ビデオエンコーダ20とビデオデコーダ30とはそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、個別論理素子、ハードウェア、またはこれらの任意の組み合わせなど、様々な適切な回路のいずれかとして実装され得る。本技術の一部がソフトウェアで実装される例において、デバイスは、そのソフトウェアのための命令を、適切な非一時的コンピュータ可読記憶媒体に記憶することができ、本開示の技術を実施するために1つまたは複数のプロセッサを使用してハードウェアで命令を実行することができる。以上(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせなどを含む)のいずれも、1つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてもよく、それらのいずれも、それぞれのデバイスの複合エンコーダ/デコーダ(CODEC)の一部として組み込まれてもよい。
本開示では、一般的に、ビデオエンコーダ20が特定の情報をビデオデコーダ30などの他のデバイスに「伝達する(signaling)」という場合がある。しかし、ビデオエンコーダ20は特定の構文要素をビデオデータの様々な符号化部分と関連付けることによって情報を伝達し得ることを理解すべきである。すなわち、ビデオエンコーダ20は、特定の構文要素をビデオデータの様々な符号化部分に格納することにより、データを「伝達」することができる。場合によっては、このような構文要素は、ビデオデコーダ30によって受信され復号される前に符号化および(例えば記憶システムに)格納され得る。したがって、「伝達(signaling)」という用語は、符号化ビデオデータを復号するために使用される構文要素および/またはその他のデータの通信を総称することがある。そのような通信は、リアルタイムまたはほぼリアルタイムで起こり得る。あるいは、そのような通信は、符号化時に構文要素を符号化ビットストリームにおいてコンピュータ可読記憶媒体に記憶し、次いでそれらがその媒体に記憶された後の任意の時点で復号デバイスによって読み出される場合のように、ある期間にわたって行われてもよい。
上記で簡単に述べたように、ビデオエンコーダ20はビデオデータを符号化する。ビデオデータは一連の1つまたは複数のピクチャを含み得る。各ピクチャはビデオの一部を形成する静止画像であり得る。場合によっては、ピクチャをビデオ「フレーム」と呼ぶことがある。ビデオエンコーダ20は、ビデオデータのコード化表現を形成するビットのシーケンスを含むビットストリームを生成することができる。
ビットストリームを生成するために、ビデオエンコーダ20は一連のコード化ピクチャと関連データとを生成することができる。コード化ピクチャはビデオデータ内のピクチャの符号化表現である。関連データは、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、およびその他の構文構造を含み得る。SPSは、ゼロまたはそれ以上のピクチャシーケンスに適用可能なパラメータを含み得る。PPSは、ゼロまたはそれ以上のピクチャに適用可能なパラメータを含み得る。
ピクチャの符号化表現を生成するために、ビデオエンコーダ20はピクチャを複数のツリーブロックにパーティショニングすることができる。場合によっては、ツリーブロックを最大コーディングユニット(LCU)、「コーディングツリーブロック」、または「ツリーブロック」と呼ぶことがある。HEVCのツリーブロックは、H.264/AVCなど、以前の標準のマクロブロックに大まかに類似し得る。しかし、ツリーブロックは、必ずしも特定のサイズには限定されず、1つまたは複数のコーディングユニット(CU)を含み得る。
ツリーブロックの各々は、ピクチャ内の、サイズの等しい異なる画素ブロックに関連付けられ得る。各画素は、輝度(luma)サンプルと、2つのクロミナンス(chroma)サンプルとを備え得る。したがって各ツリーブロックは、ブロックlumaサンプルと、chromaサンプルの2つのブロックとに関連付けられ得る。説明の便宜上、本開示では、画素の2次元配列を画素ブロックと呼び、サンプルの2次元配列をサンプルブロックと呼ぶことがある。ビデオエンコーダ20は、四分木パーティショニングを使用して、ツリーブロックに関連付けられた画素ブロックをCUに関連付けられた画素ブロックへとパーティショニングすることができ、したがって「ツリーブロック」と称される。
加えて、ビデオエンコーダ20は、ピクチャを複数のスライスにパーティショニングすることができる。各スライスは、整数個のツリーブロックを含み得る。ピクチャの符号化の一部として、ビデオエンコーダ20はピクチャの各スライスの符号化表現(すなわちコード化スライス)を生成することができる。コード化スライスを生成するために、ビデオエンコーダ20は、スライスの各ツリーブロックを符号化して、スライスの各ツリーブロックの符号化表現(すなわちコード化ツリーブロック)を生成し得る。
コード化ツリーブロックを生成するために、ビデオエンコーダ20は、ツリーブロックに関連付けられた画素ブロックに対して再帰的に四分木パーティショニングを行って、画素ブロックを、漸進的に縮小する画素ブロック(progressively-smaller pixel blocks)へと分割し得る。このより小さい画素ブロックの各々はCUに関連付けられ得る。パーティショニングされたCUは、その画素ブロックが他のCUに関連付けられた画素ブロックにパーティショニングされたCUであり得る。パーティショニングされていないCUは、その画素ブロックが他のCUに関連付けられた画素ブロックにパーティショニングされていないCUであり得る。
ビデオエンコーダ20は、パーティショニングされていない各CUについて1つまたは複数の予測ユニット(PU)を生成することができる。CUの各PUは、そのCUの画素ブロック内の異なる画素ブロックに関連付けられ得る。ビデオエンコーダ20は、CUの各PUについて予測画素ブロックを生成することができる。PUの予測画素ブロックは、画素のブロックであり得る。本開示では、PUがツリーブロックのCUのものである場合、そのPUは、そのツリーブロックのPUであると言われることがある。
ビデオエンコーダ20は、イントラ予測またはインター予測を使用してPUについて予測画素ブロックを生成することができる。ビデオエンコーダ20がイントラ予測を使用してPUの予測画素ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号画素に基づいてPUの予測画素ブロックを生成することができる。ビデオエンコーダ20がインター予測を使用してPUの予測画素ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号画素に基づいて、PUの予測画素ブロックを生成することができる。
ビデオエンコーダ20は、CUのPUの予測画素ブロックに基づいてそのCUについて残差画素ブロックを生成することができる。CUについての残差画素ブロックは、CUのPUについての予測画素ブロック内のサンプルとCUのオリジナル画素ブロック内の対応するサンプルとの差を示し得る。
さらに、パーティショニングされていないCUの符号化の一部として、ビデオエンコーダ20は、CUの残差画素ブロックに対して再帰的四分木パーティショニングを行って、CUの残差画素ブロックをCUの変換ユニット(TU)に関連付けられた1つまたは複数のより小さい残差画素ブロックへとパーティショニングすることができる。このようにして、CUの各TUが、lumaサンプルの残差サンプルブロックと、chromaサンプルの2つの残差サンプルブロックとに関連付けられ得る。
ビデオコーダ20は、TUに関連付けられた残差サンプルブロックに1つまたは複数の変換を適用して、TUに関連付けられた係数ブロック(すなわち係数のブロック)を生成することができる。概念上は、係数ブロックは係数の2次元行列であり得る。ビデオエンコーダ20は、係数ブロックを量子化することができる。量子化とは、一般に、係数を量子化して係数を表すために使用されるデータの量をできるだけ削減することにより、さらなる圧縮を実現する処理を指す。
ビデオエンコーダ20は、量子化係数ブロックを表す構文要素のセットを生成することができる。ビデオエンコーダ20は、コンテキスト適応型2値算術コーディング(Context Adaptive Binary Arithmetic Coding:CABAC)演算などのエントロピー符号化演算を、これらの構文要素の少なくとも一部に適用することができる。エントロピー符号化演算の実行の一部として、ビデオエンコーダ20はコーディングコンテキストを選択することができる。CABACの場合、コーディングコンテキストは、0値のビンと1値のビンの確率を示すことができる。ビデオエンコーダ20は、コーディングコンテキストを使用して1つまたは複数の構文要素を符号化することができる。
ビデオエンコーダ20によって生成されたビットストリームは、一連のネットワーク抽象化レイヤ(NAL)ユニットを含み得る。各NALユニットは、データを含むバイトおよびNALユニット内のデータのタイプのインジケーションを含む構文構造であり得る。例えば、NALユニットは、SPS、PPS、コード化スライス、補助強化情報(supplemental enhanced information:SEI)、アクセスユニットデリミタ、フィラーデータ、またはその他のタイプのデータを表すデータを含み得る。コード化スライスNALユニットは、コード化スライスを含むNALユニットである。
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信することができる。ビットストリームは、ビデオエンコーダ20によって符号化されたビデオデータのコーディングされた表現を含み得る。ビデオデコーダ30は、ビットストリームを構文解析(parse)して、ビットストリームから構文要素を抽出し得る。ビットストリームから構文要素を抽出することの一部として、ビデオデコーダ30は、ビットストリーム中のデータに対してエントロピー復号(例えば、CABAC復号)演算を実行し得る。ビデオデコーダ30は、ビットストリームから抽出された構文要素に基づいて、ビデオデータのピクチャを再構築することができる。構文要素に基づいてビデオデータを再構築するための処理は、一般に、それらの構文要素を生成するためにビデオエンコーダ20によって実行された処理の逆であり得る。
ビデオデコーダ30は、CUに関連付けられた構文要素に基づいて、CUのPUについて予測画素ブロックを生成することができる。加えて、ビデオデコーダ30は、CUのTUに関連付けられた係数ブロックを逆量子化することができる。ビデオデコーダ30は、係数ブロックに対して逆変換を適用して、CUのTUに関連付けられた残差サンプルブロックを再構築することができる。ビデオデコーダ30は、予測サンプルブロックと残差サンプルブロックとに基づいて、CUの画素ブロックを再構築することができる。
ビデオデコーダ30が、インター予測を使用してPUの予測サンプルブロックを生成する場合、ビデオデコーダ30は、PUについての動き情報を使用して、PUに関連付けられたピクチャに関連付けられた参照ピクチャのセット中で1つまたは複数の参照ブロックを識別することができる。ビデオデコーダ30は、1つまたは複数の参照ブロックに基づいて、PUの予測サンプルブロックを生成することができる。ビデオデコーダ30は、ピクチャに関連付けられた参照ピクチャのうちの少なくとも一部を、参照ピクチャバッファに記憶することができる。いくつかの例では、参照ピクチャバッファは、宛先デバイス14の汎用メモリ中のバッファであり得る。他の例では、参照ピクチャバッファは、参照ピクチャを記憶するための専用の専用メモリであり得る。
ビデオエンコーダ20およびビデオデコーダ30は、波面並列処理(WPP)を使用して、それぞれピクチャを符号化および復号することができる。WPPを使用してピクチャをコーディングするために、ビデオエンコーダ20およびビデオデコーダ30などのビデオコーダは、ピクチャのツリーブロックを複数のWPP波に分割することができる。WPP波の各々は、ピクチャ中のツリーブロックの異なる行に対応し得る。ビデオコーダは、例えば、第1のコーダコアまたはスレッドを使用して、ツリーブロックの最上行のコーディングを開始することができる。ビデオコーダが最上行の2つ以上のツリーブロックをコーディングした後、ビデオコーダは、例えば、第2の並列コーダコアまたはスレッドを使用して、ツリーブロックの最上行のコーディングと並列に、ツリーブロックの上から2番目の行のコーディングを開始することができる。ビデオコーダが上から2行目の2つ以上のツリーブロックをコーディングした後、ビデオコーダは、例えば、第3の並列コーダコアまたはスレッドを使用して、ツリーブロックのより上の行のコーディングと並列に、ツリーブロックの上から3番目の行のコーディングを開始することができる。このパターンは、ピクチャ中のツリーブロックの行を下方へと続き得る。
ビデオコーダがWPPを使用してピクチャをコーディングするときには、本開示は、ビデオコーダが同時にコーディング中であるツリーブロックのセットを、ツリーブロックグループと呼ぶことがある。したがって、ビデオコーダがWPPを使用してピクチャをコーディング中であるときには、ツリーブロックグループのツリーブロックの各々は、ピクチャのツリーブロックの異なる行中にあり、ツリーブロックグループのツリーブロックの各々は、ピクチャの2つのツリーブロック列だけ、互いから垂直にオフセットされる。
さらに、WPPを使用してピクチャをコーディングするときには、ビデオコーダは、特定のツリーブロック外部の空間的に隣接するCUが特定のツリーブロックの左、左上、上、または右上にある限り、その特定のツリーブロック外部の空間的に隣接するCUに関連付けられた情報を使用して、特定のツリーブロック内の特定のCUに対するイントラ予測またはインター予測を行うことができる。特定のツリーブロックが最上行以外の行の左端のツリーブロックである場合、ビデオコーダはすぐ上の行の2番目のツリーブロックに関連付けられた情報を使用して、特定のツリーブロックの構文要素をエントロピー符号化するための符号化コンテキストを選択し得る。一方、特定のツリーブロックが行の左端のツリーブロックではない場合、ビデオコーダは特定のツリーブロックの左のツリーブロックに関連付けられた情報を使用して、特定のツリーブロックの構文要素をエントロピー符号化するための符号化コンテキストを選択し得る。このようにして、ビデオコーダは、すぐ上の行の2つ以上のツリーブロックの符号化の後、すぐ上の行のエントロピー符号化の状態に基づいてツリーブロックの行のエントロピー符号化(例えば、CABAC)の状態を初期化することができる。
ビデオコーダがWPPを実行するときに起こり得るように、ビデオコーダが複数のツリーブロックを同時にコーディングする場合、ビデオコーダの参照ピクチャバッファは、同時にコーディングされるツリーブロック(すなわち、ツリーブロックグループのツリーブロック)の各々のPUに対してインター予測を実行するために使用される参照ピクチャのすべてを記憶するためには十分に大きくないことがある。ビデオコーダが、参照ピクチャバッファ中にない参照ピクチャを使用する必要がある場合、ビデオコーダは、汎用システムメモリ、またはビデオコーダのハードディスク、Flash、もしくは他のより長期のストレージドライブなどの2次記憶場所から、必要とされた参照ピクチャを読み出すことができる。いくつかの例では、参照ピクチャバッファは、ビデオコーダとともにオンチップで記憶され、キャッシュバスを介してアクセス可能である、キャッシュメモリ中に設けられ得るのに対して、2次記憶場所は、ビデオデコーダに対してオフチップであり得、または、システムオンチップ(SoC)設計では、オンチップであるがシステムバスを介してアクセス可能であり得る。
必要とされた参照ピクチャを2次記憶場所から読み出すことは、必要とされた参照ピクチャを参照ピクチャバッファから読み出すことよりも、かなり遅くなり得る。その上、ビデオコーダが参照ピクチャを2次記憶場所から読み出すときには、ビデオコーダは、その参照ピクチャを参照ピクチャバッファに記憶し、それによって、参照ピクチャバッファ中に現在ある別の参照ピクチャを上書きし得る。ビデオコーダが、上書きされた参照ピクチャを後に必要とする場合、ビデオコーダは、この他の参照ピクチャを2次記憶場所から読み出すことに関連する遅延を受けることがある。その結果、参照ピクチャバッファが、同時にコーディングされるツリーブロックのPUに対してインター予測を実行するために使用される参照ピクチャを記憶していない場合、ビデオコーダの性能は低下し得る。
本開示の技法によれば、ビデオエンコーダ20は、同時にコーディングされるツリーブロックの各セット(すなわち、各ツリーブロックグループ)を、ピクチャに関連付けられた参照ピクチャの制限されたサブセットに関連付け得る。参照ピクチャの制限されたサブセットは、ピクチャに関連付けられた参照ピクチャのすべてよりも少ない参照ピクチャを含み得る。このことは、参照ピクチャバッファが、ツリーブロックグループのツリーブロックのPUに対してインター予測を実行するために必要とされる参照ピクチャの各々を記憶することを保証し得る。ビデオエンコーダ20は、ツリーブロックグループのツリーブロックのPUに対してインター予測を実行するために、ツリーブロックグループに関連付けられた参照ピクチャの制限されたサブセット中の参照ピクチャのみを使用し得る。説明を簡単にするために、本開示は、インター予測を使用してPUがビットストリーム中で符号化される場合、そのPUをインター予測PUと呼ぶことがある。
したがって、ビデオエンコーダ20は、現在のピクチャの参照ピクチャセットを決定し得る。加えて、ビデオエンコーダ20は、ツリーブロックグループの各インター予測PUのための参照ブロックを、参照ブロックの各々がツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定し得る。ツリーブロックグループのための参照ピクチャサブセットは、現在のピクチャの参照ピクチャセット中のすべての参照ピクチャよりも少ない参照ピクチャを含み得る。ツリーブロックグループは、現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備え得る。さらに、ビデオエンコーダ20は、ビデオデータのコーディングされた表現を含むビットストリーム中で、ツリーブロックグループの各インター予測PUについての参照ブロックを含む参照ピクチャを示し得る。
ビデオエンコーダ20は、様々な方法でツリーブロックグループの制限された参照ピクチャサブセットを決定し得る。例えば、ビデオエンコーダ20は、時間的範囲制限(temporal range restriction)に基づいて、ツリーブロックグループの制限された参照ピクチャサブセットを決定し得る。例えば、この例では、制限された参照ピクチャサブセットは、現在のピクチャ(すなわち、ビデオエンコーダ20が現在符号化中であるピクチャ)からわずか1つまたは2つのピクチャだけ時間的に離れているそれらの参照ピクチャに制限され得る。したがって、制限された参照ピクチャセット中に含まれるために、この例では、ピクチャは、現在のピクチャP0より前の2つのピクチャ、または現在のピクチャ後の2つのピクチャとともにあり得る。他の例では、制限された参照ピクチャセット中のピクチャは、現在のピクチャからわずかN個のピクチャだけ離れ得、ここで、Nは2よりも大きいまたは2よりも小さいものであり得る。後述する図8〜図10は、ピクチャの参照ピクチャセットがツリーブロックグループのために制限され得る、例示の方法を示す概念図である。
ビデオエンコーダ20は、ビットストリーム中で、インター予測PUの参照ブロックを含む参照ピクチャのインデックスを伝達し得る。参照ピクチャのインデックスは、参照ピクチャリスト内の参照ピクチャの位置を示すユナリ数(unary number)であり得る。参照ピクチャサブセット中の参照ピクチャは、参照ピクチャリスト内のより早い位置にあり得る。したがって、参照ピクチャの制限されたセット中の参照ピクチャのインデックスを伝達するために必要とされるビット数は、現在のピクチャに関連付けられた参照ピクチャのセット中の対応する参照ピクチャのインデックスを伝達するために必要とされるビット数よりも少なくなり得る。
図2は、波面並列処理を示す概念図である。上述のように、ピクチャは、画素ブロックへとパーティショニングされ得、その各々がツリーブロックに関連付けられる。図2は、ツリーブロックに関連付けられた画素ブロックを白い正方形の格子として示す。ピクチャは、ツリーブロック行50A〜50E(総称して、「ツリーブロック行50」)を含む。
単一のコーダコア上で他のスレッドとともに並列スレッドとして実行された、または2つ以上の並列コーダコアのうちの1つにおいて実行された、第1のスレッドは、ツリーブロック行50Aにおけるツリーブロックをコーディングし得る。同時に、他のスレッドは、ツリーブロック行50B、50C、および50Dにおけるツリーブロックをコーディングし得る。図2の例では、第1のスレッドは、ツリーブロック52Aを現在コーディング中であり、第2のスレッドは、ツリーブロック52Bを現在コーディング中であり、第3のスレッドは、ツリーブロック52Cを現在コーディング中であり、第4のスレッドは、ツリーブロック52Dを現在コーディング中である。本開示は、ツリーブロック52A、52B、52C、および52Dを「ツリーブロック52」と総称することがある。ツリーブロック52は、「ツリーブロックグループ」を形成し得る。すぐ上の行の2つよりも多くのツリーブロックがコーディングされた後にビデオコーダがツリーブロック行のコーディングを開始し得るので、ツリーブロック52は、2つのツリーブロックの幅だけ互いから水平にずらされる。
図2の例では、スレッドは、太い灰色の矢印によって示されるツリーブロックからのデータを使用して、ツリーブロック52中のCUのためのイントラ予測またはインター予測を実行することができる。(スレッドは、CUのためのインター予測を実行するために、1つまたは複数の参照フレームからのデータを使用することもできる。)特定のツリーブロックをコーディングするために、スレッドは、前にコーディングされたツリーブロックに関連付けられた情報に基づいて、1つまたは複数のCABACコンテキストを選択することができる。スレッドは、1つまたは複数のCABACコンテキストを使用して、その特定のツリーブロックの最初のCUに関連付けられた構文要素に対してCABACコーディングを実行することができる。その特定のツリーブロックが行の左端のツリーブロックではない場合、スレッドは、その特定のツリーブロックの左側のツリーブロックの最後のCUに関連付けられた情報に基づいて、1つまたは複数のCABACコンテキストを選択することができる。その特定のツリーブロックが行の左端のツリーブロックである場合、スレッドは、その特定のツリーブロックの上方で2ツリーブロック右側にあるツリーブロックの最後のCUに関連付けられた情報に基づいて、1つまたは複数のCABACコンテキストを選択することができる。スレッドは、細い黒の矢印で示されるツリーブロックの最後のCUからのデータを使用して、ツリーブロック52の最初のCUのためのCABACコンテキストを選択することができる。
図3は、本開示の技術を実装するように構成された例示のビデオエンコーダ20を示すブロック図である。図3は説明のために示すものであり、本開示で大まかに例示し、説明する技術を限定するものと見なすべきではない。説明のために、本開示ではビデオエンコーダ20について、HEVCコーディングの状況で説明する。しかし、本開示の技術は他のコーディング標準または方法にも適用可能である。
図3の例では、ビデオエンコーダ20は複数の機能コンポーネントを含む。ビデオエンコーダ20の機能コンポーネントは、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換処理ユニット110と、再構築ユニット112と、フィルタユニット113と、復号ピクチャバッファ114と、エントロピー符号化ユニット116とを含む。予測処理ユニット100は、インター予測処理ユニット121とイントラ予測処理ユニット126とを含む。インター予測処理ユニット121は、動き推定ユニット122と動き補償ユニット124とを含む。加えて、ビデオエンコーダ20は参照ピクチャバッファ128を含む。他の例では、ビデオエンコーダ20の機能コンポーネントの数はこれより多くても少なくてもよく、異なる機能コンポーネントを含んでもよい。
ビデオエンコーダ20はビデオデータを符号化することができる。ビデオデータを符号化するために、ビデオエンコーダ20はビデオデータの各ピクチャの各スライスの各ツリーブロックを符号化し得る。ツリーブロックの符号化の一部として、予測処理ユニット100は、ツリーブロックに関連付けられた画素ブロックに対して四分木パーティショニングを行って、画素ブロックを漸進的に縮小する画素ブロックへと分割することができる。より小さい画素ブロックはCUに関連付けられ得る。例えば、予測処理ユニット100は、ツリーブロックの画素ブロックを等しいサイズの4つのサブブロックへとパーティショニングし、サブブロックのうちの1つまたは複数のサブブロックをサイズの等しい4つのサブサブブロックへとパーティショニングするなど、することができる。
CUに関連付けられる画素ブロックのサイズは、8×8画素から、最大64×64サンプル以上のサンプルを含むツリーブロックに関連付けられた画素ブロックのサイズまでの範囲をとり得る。本開示では、「N×N」と「N掛けるN」とを区別なく使用して、例えば、16×16画素または16掛ける16画素のように画素ブロックの画素寸法を垂直方向および水平方向に関して表す。一般に、16×16画素ブロックは、垂直方向に16画素(y=16)と水平方向に16画素(x=16)とを有する。同様に、N×Nブロックは一般に、垂直方向にN画素と水平方向にN画素を有し、Nは負でない整数値を表す。
ビデオエンコーダ20は、ツリーブロックのCUを符号化して、CUの符号化表現(すなわちコード化CU)を生成することができる。ビデオエンコーダ20は、zスキャン順序にしたがってツリーブロックのCUを符号化し得る。言い換えると、ビデオエンコーダ20は、左上のCUと、右上のCUと、左下のCUと、次いで右下のCUとを、この順序で符号化することができる。ビデオエンコーダ20がパーティショニングされたCUを符号化するときには、ビデオエンコーダ20は、パーティショニングされたCUの画素ブロックのサブブロックに関連付けられたCUをzスキャン順にしたがって符号化することができる。言い換えると、ビデオエンコーダ20は左上のサブブロックに関連付けられたCUと、右上のサブブロックに関連付けられたCUと、左下のサブブロックに関連付けられたCUと、次いで右下のサブブロックに関連付けられたCUとを、この順序で符号化することができる。
zスキャン順にしたがってツリーブロックのCUを符号化した結果、特定のCUの上、左上、右上、左、および左下のCUが符号化されている可能性がある。その特定のCUの下または右のCUはまだ符号化されていない。したがって、ビデオエンコーダ20は、特定のCUを符号化するときにその特定のCUに隣接するいくつかのCUを符号化することによって生成される情報にアクセス可能であり得る。しかし、ビデオエンコーダ20は、特定のCUを符号化するときにその特定のCUに隣接する他のCUを符号化することによって生成される情報にはアクセス可能でない場合がある。
CUの符号化の一部として、予測処理ユニット100は、CUの1つまたは複数のPUのうちのCUの画素ブロックをパーティショニングし得る。ビデオエンコーダ20とビデオデコーダ30とは様々なPUサイズをサポートし得る。特定のCUのサイズを2N×2Nと仮定すると、ビデオエンコーダ20とビデオデコーダ30とは、イントラ予測の場合は2N×2NまたはN×NのPUサイズをサポートすることができ、インター予測の場合は2N×2N、2N×N、N×2N、N×N、または同様の、対称PUサイズをサポートすることができる。ビデオエンコーダ20とビデオデコーダ30とは、また、インター予測について2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズの非対称パーティショニングもサポートし得る。
インター予測処理ユニット121は、CUの各PUに対してインター予測を行うことができる。インター予測は、時間的圧縮をもたらすことができる。インター予測処理ユニット121は、PUのために予測データを生成し得る。PUのための予測データは、そのPUに対応する予測サンプルブロックと、そのPUに関する動き情報とを含み得る。動き推定ユニット122は、PUに関する動き情報を生成することができる。場合によっては、動き推定ユニット122は、マージモードまたは高度動き予測ベクトル(advanced motion vector prediction:AMVP)モードを使用してPUの動き情報を伝達し得る。動き補償ユニット124は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャ(すなわち参照ピクチャ)のサンプルに基づいてPUの予測サンプルブロックを生成することができる。
スライスは、Iスライス、Pスライス、またはBスライスであり得る。動き推定ユニット122と動き補償ユニット124とは、PUがIスライス、Pスライス、またはBスライスのいずれにあるかに応じて、CUのPUについて異なる操作を行い得る。Iスライスでは、すべてのPUがイントラ予測される。したがって、PUがIスライス内にある場合、動き推定ユニット122と動き補償ユニット124とはそのPUに対してインター予測を行わない。
PUがPスライス内にある場合、そのPUを含むピクチャは、「リスト0」と呼ばれる参照ピクチャのリストに関連付けられる。動き推定ユニット122は、リスト0内の参照ピクチャで、Pスライス内のPUのための参照ブロックをサーチすることができる。PUの参照ブロックは、PUの画素ブロックに最も密接に対応する画素ブロックであり得る。動き推定ユニット122は、様々なメトリックを使用して、参照ピクチャ内の画素ブロックがPUの画素ブロックにどれだけ密接に対応しているかを決定することができる。例えば、動き推定ユニット122は、絶対差の和(SAD)、平方差の和(SSD)、またはその他の差分メトリックによって、参照ピクチャ内の画素ブロックがPUの画素オブロックにどれだけ密接に対応しているかを決定することができる。
動き推定ユニット122は、Pスライス内のPUの参照ブロックを含むリスト0内の参照ピクチャを示す参照ピクチャインデックスと、PUと参照ブロックとの間の空間的変位を示す動きベクトルとを生成することができる。動き推定ユニット122は、様々な精度の動きベクトルを生成することができる。例えば、動き推定ユニット122は、4分の1画素精度、8分の1画素精度、またはその他の分数の画素精度の動きベクトルを生成することができる。分数画素精度の場合、参照ピクチャ内の整数位置サンプルから参照ブロックのサンプルが補間され得る。動き推定ユニット122は、参照ピクチャインデックスと動きベクトルとをPUの動き情報として出力し得る。動き補償ユニット124は、PUの動き情報に関連付けられた参照ブロックに基づいてPUの予測サンプルブロックを生成することができる。
PUがBスライス内にある場合、PUを含むピクチャは、「リスト0」および「リスト1」と呼ばれる参照ピクチャの2つのリストに関連付けられることができる。さらに、PUがBスライス内にある場合、動き推定ユニット122は、PUについて一方向インター予測または双方向インター予測を行い得る。PUについて一方向インター予測を行うために、動き推定ユニット122は、リスト0またはリスト1の参照ピクチャで、PUの参照ブロックをサーチし得る。動き推定ユニット122は、参照ブロックを含む参照ピクチャのリスト0またはリスト1中の位置を示す参照ピクチャインデックスと、PUと参照ブロックとの間の空間的変位を示す動きベクトルと、参照ピクチャがリスト0中にあるかリスト1中にあるかを示す予測方向インジケータとを生成することができる。
PUについて双方向インター予測を行うために、動き推定ユニット122は、リスト0内の参照ピクチャでPUの参照ブロックをサーチすることができ、また、リスト1内の参照ピクチャでPUの他の参照ブロックをサーチすることもできる。動き推定ユニット122は、参照ブロックを含む参照ピクチャのリスト0およびリスト1内での位置を示す参照ピクチャインデックスを生成し得る。さらに、動き推定ユニット122は、参照ブロックとPUとの間の空間的変位を示す動きベクトルを生成することができる。PUの動き情報は、PUの参照ピクチャインデックスと動きベクトルとを含み得る。動き補償ユニット124は、PUの動き情報によって示される参照ブロックに基づいて、PUの予測サンプルブロックを生成することができる。
さらに、イントラ予測処理ユニット126は、CUのPUに対してイントラ予測を行うことができる。イントラ予測は空間的圧縮をもたらし得る。イントラ予測処理ユニット126は、PUと同じピクチャ内の復号サンプルに基づいてPUのための予測データを生成することができる。PUのための予測データは、PUのための予測サンプルブロックと様々な構文要素とを含み得る。イントラ予測処理ユニット126は、Iスライス内、Pスライス内、およびBスライス内のPUに対してイントラ予測を行うことができる。
PUに対してイントラ予測を行うために、イントラ予測処理ユニット126は、複数のイントラ予測モードを使用して、PUに関して複数のセットの予測データを生成することができる。イントラ予測モードを使用してPUに関して予測データのセットを生成するために、イントラ予測処理ユニット126は、イントラ予測モードに関連付けられた方向および/または傾きで、隣接PUのサンプルブロックからサンプルをPUのサンプルブロック全体にわたって広げることができる。PU、CUおよびツリーブロックの左から右、上から下の符号化順序を仮定すると、隣接PUは、そのPUの上、右上、左上、または左にあり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、例えば33方向のイントラ予測モードを使用することができる。いくつかの例では、イントラ予測モードの数はPUのサイズに依存し得る。
予測処理ユニット100は、PUについてインター予測処理ユニット121によって生成された予測データ、またはPUについてイントラ予測処理ユニット126によって生成された予測データの中から、CUのPUのための予測データを選択することができる。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/歪みメトリックに基づいてCUのPUのために予測データを選択する。
予測処理ユニット100は、四分木パーティショニングを行ってCUの残差画素ブロックをサブブロックにパーティショニングすることができる。分割されていない各残差画素ブロックは、CUの異なるTUに関連付けられ得る。CUのTUに関連付けられた残差画素ブロックのサイズと位置は、CUのPUの画素ブロックのサイズと位置とに基づくものであっても、基づくものでなくてもよい。
TUの残差画素ブロックの画素はlumaサンプルとchromaサンプルを含むので、各TUはlumaサンプルのサンプルブロックと、chromaサンプルの2つのブロックとに関連付けられ得る。残差生成ユニット102は、CUのサンプルブロックの対応するサンプルからCUのPUの予測サンプルブロックのサンプルを減じることによって、CUについて残差サンプルブロックを生成することができる。
変換処理ユニット104は、TUに関連付けられた残差サンプルブロックに1つまたは複数の変換を適用することによって、CUの各TUについて係数ブロックを生成することができる。変換処理ユニット104は、TUに関連付けられた残差サンプルブロックに様々な変換を適用し得る。例えば、変換処理ユニット104は、離散コサイン変換(DCT)、方向性変換、または概念的に類似した変換を、TUに関連付けられた残差サンプルブロックに適用し得る。
量子化ユニット106は、TUに関連付けられた係数ブロックを量子化することができる。この量子化処理は、係数のうちの一部または全部に関連するビット深度を低減することができる。例えば、nビットの係数は、量子化の間にmビットの係数に端数切り捨てされ得、ここで、nはmより大きい。量子化ユニット106は、CUに関連付けられた量子化パラメータ(QP)値に少なくとも部分的に基づいてCUのTUに関連付けられた係数ブロックを量子化し得る。ビデオエンコーダ20は、CUに関連付けられるQP値を調整することにより、CUに関連付けられた係数ブロックに適用される量子化度を調整することができる。
逆量子化ユニット108および逆変換処理ユニット110は、それぞれ、係数ブロックに逆量子化および逆変換を適用して係数ブロックから残差サンプルブロックを再構築することができる。再構築ユニット112は、再構築された残差サンプルブロックを、予測処理ユニット100によって生成された1つまたは複数の予測サンプルブロックからの対応するサンプルに追加して、TUに関連付けられた再構築サンプルブロックを生成することができる。このようにしてCUの各TUについてサンプルブロックを再構築することによって、ビデオエンコーダ20は、CUのサンプルブロックを再構築することができる。
フィルタユニット113が、CUに関連付けられたサンプルブロック内のブロッキングアーチファクトを低減するためにデブロック操作を行うことができる。フィルタユニット113が再構築されたサンプルブロックに対して1つまたは複数のデブロック操作を行った後、復号ピクチャバッファ114が、再構築サンプルブロックを格納することができる。動き推定ユニット122と動き補償ユニット124とが、再構築サンプルブロックを含む参照ピクチャを使用して、後続のピクチャのPUに対してインター予測を行うことができる。さらに、イントラ予測処理ユニット126が、復号ピクチャバッファ114内の再構築サンプルブロックを使用して、CUと同じピクチャ内の他のPUに対してイントラ予測を行うことができる。
動き推定ユニット122が、PUのための参照ブロックを求めて参照ピクチャをサーチするときには、動き推定ユニット122は、参照ピクチャの画素ブロックを表すデータを読み取るための要求を生成し得る。動き推定ユニット122は、そのような画素ブロックを、PUに関連付けられた画素ブロックと比較し得る。動き推定ユニット122が、参照ピクチャの画素ブロックを表すデータを読み取るための要求を生成するときには、ビデオエンコーダ20は、参照ピクチャバッファ128が参照ピクチャを記憶しているかどうかを判定し得る。参照ピクチャバッファ128が参照ピクチャを記憶していない場合、ビデオエンコーダ20は、復号ピクチャバッファ114からの参照ピクチャを参照ピクチャバッファ128へコピーし、要求されたデータを動き推定ユニット122に提供することができる。
エントロピー符号化ユニット116は、ビデオエンコーダ20の他の機能コンポーネントからデータを受け取ることができる。例えば、エントロピー符号化ユニット116は、量子化ユニット106から係数ブロックを受け取り、予測処理ユニット100から構文要素を受け取ることができる。エントロピー符号化ユニット116は、データに対して1つまたは複数のエントロピー符号化演算を行って、エントロピー符号化データを生成することができる。例えば、ビデオエンコーダ20は、データに対して、CABAC演算、コンテキスト適応型可変長コーディング(context−adaptive variable length coding:CAVLC)演算、可変−可変(variable−to−variable:V2V)長コーディング演算、構文ベースのコンテキスト適応型2値算術コーディング(syntax−based context−adaptive binary arithmetic coding:SBAC)演算、確率区間パーティショニングエントロピー(Probability Interval Partitioning Entropy:PIPE)コーディング演算、またはその他の種類のエントロピー符号化演算を行うことができる。エントロピー符号化ユニット116は、エントロピー符号化データを含むビットストリームを出力することができる。
データに対するエントロピー符号化演算の実行の一部として、エントロピー符号化ユニット116はコンテキストモデルを選択し得る。エントロピー符号化ユニット116がCABAC演算を行う場合、コンテキストモデルは、特定のビンが特定の値を有する確率の推定値を示すことができる。CABACの文脈では、「ビン(bin)」という用語を使用して構文要素の2値化表現のビットを指すことがある。
ビデオエンコーダ20は、WPPを使用してピクチャのスライスを符号化し得る。ビデオエンコーダ20がWPPを使用してピクチャのスライスを符号化するときには、ビデオエンコーダ20は、ピクチャのコーディングされた表現を含むビットストリーム中で、ピクチャがWPPを使用して復号されるべきであることを示すコーディングされた構文要素を出力し得る。加えて、ビデオエンコーダ20は、ビットストリーム中で、ピクチャの参照ピクチャセット(RPS)を示し得る。ビデオエンコーダ20は、ビットストリームの様々な部分においてピクチャのRPSを示し得る。例えば、ビデオエンコーダ20は、ピクチャに適用可能なPPSにおいてピクチャのRPSを示し得る。別の例では、ビデオエンコーダ20は、ピクチャに適用可能なSPSにおいてピクチャのRPSを示し得る。
さらに、ビデオエンコーダ20がWPPを使用してピクチャのスライスを符号化するときには、ビデオエンコーダ20は、スライスの複数のツリーブロックを並列に符号化し得る。ビデオエンコーダ20が並列に符号化するツリーブロックのセットは、ツリーブロックグループと呼ばれることがある。
本開示の技法によれば、動き推定ユニット122は、ツリーブロックグループのための参照ピクチャサブセットを決定し得る。動き推定ユニット122は、様々な方法でツリーブロックグループのための参照ピクチャサブセットを決定し得る。例えば、動き推定ユニット122は、ツリーブロックグループのための参照ピクチャサブセットが、+または−Nなど、所与の量未満だけ現在のピクチャ(すなわち、ビデオエンコーダ20が現在符号化中であるピクチャ)のピクチャ順カウント(POC)値とは異なるPOC値を有する参照ピクチャのみを含むと決定し得る。一例では、Nは2に等しくなり得る。
さらに、いくつかの例では、動き推定ユニット122は、ツリーブロックグループのための参照ピクチャサブセットを、ツリーブロックグループのための参照ピクチャサブセットの参照ピクチャのビット単位のサイズがビデオデコーダの参照ピクチャバッファのサイズに関連付けられたしきい値を下回るように、決定し得る。例えば、異なるビデオデコーダは、異なるレベルを有し得る。異なるレベルのビデオデコーダは、異なるサイズの参照ピクチャバッファを有し得る。この例では、ビデオエンコーダ20がビデオデコーダの特定のレベルについてビデオデータを符号化中である場合、動き推定ユニット122は、参照ピクチャサブセットを、参照ピクチャサブセット中の参照ピクチャのビット単位のサイズがそのレベルのビデオデコーダに関連付けられた参照ピクチャバッファのサイズ未満であるように、決定し得る。
動き推定ユニット122は、ツリーブロックグループのための参照ピクチャサブセット内で、ツリーブロックグループのツリーブロックのPUのための参照ブロックを求めてサーチし得る。例えば、ピクチャのRPSは、参照ピクチャ「A」〜「F」を含み得、ツリーブロックグループのための参照ピクチャサブセットは、参照ピクチャ「A」および「B」のみを含み得る。この例では、動き推定ユニット122は、ツリーブロックグループのツリーブロックのPUのための参照ブロックを求めて、参照ピクチャ「C」〜「F」をサーチしない。むしろ、動き推定ユニット122は、ツリーブロックグループのツリーブロックのPUのための参照ブロックを求めて、参照ピクチャ「A」および「B」のみをサーチする。したがって、動き推定ユニット122は、ツリーブロックグループのツリーブロックのそれぞれのPUごとに、それぞれのPUの画素ブロックに最も良く一致する、参照ピクチャ「A」または「B」における1つまたは複数の画素ブロックを識別し得る。
参照ピクチャバッファ128は、ツリーブロックグループの参照ピクチャサブセットの参照ピクチャの各々を、同時に記憶し得る。例えば、前の段落の例では、参照ピクチャバッファ128は、参照ピクチャ「A」および「B」を記憶し得る。参照ピクチャバッファ128が参照ピクチャサブセットの参照ピクチャを記憶するので、動き推定ユニット122は、復号ピクチャバッファ114など、2次記憶場所から参照ピクチャサブセットの参照ピクチャを読み出すことなしに、参照ピクチャサブセットの参照ピクチャをサーチすることが可能であり得る。
ビデオエンコーダ20が並列にツリーブロックグループのツリーブロックを符号化し得るので、動き推定ユニット122は、ツリーブロックグループの2つ以上のインター予測PUのための参照ブロックを同時に決定し得る。例えば、ツリーブロックグループは、第1のツリーブロックと第2のツリーブロックとを含み得る。第1のツリーブロックは、第1のPUを含み得、第2のツリーブロックは、第2のPUを含み得る。動き推定ユニット122は、第1および第2のPUのための参照ブロックを同時に決定し得る。
動き推定ユニット122は、ピクチャの異なるツリーブロックグループのための異なる参照ピクチャサブセットを決定し得る。したがって、前の段落において説明されたツリーブロックグループが、第1のツリーブロックグループと呼ばれる場合、動き推定ユニット122は、第2のツリーブロックグループの各インター予測PUのための参照ブロックを、第2のツリーブロックグループの各インター予測PUのための参照ブロックが第2の参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定し得る。第2の参照ピクチャサブセットは、第1の参照ピクチャサブセットとは異なり得る。第2の参照ピクチャサブセットは、ピクチャの参照ピクチャセット中のすべてよりも少ない参照ピクチャを含み得る。第2のツリーブロックグループは、ピクチャ中に第2の複数の同時にコーディングされるツリーブロックを備え得る。さらに、第2のツリーブロックグループのそれぞれのインター予測PUごとに、ビデオエンコーダ20は、ビットストリーム中で、第2のツリーブロックグループのそれぞれのインター予測PUのための参照ブロックを含む参照ピクチャを示し得る。
図4は、本開示の技術を実装するように構成された例示のビデオデコーダ30を示すブロック図である。図4は、説明のために示すものであって、本技術を本開示で大まかに例示し、説明する通りに限定するものではない。説明のために、本開示ではビデオデコーダ30についてHEVCコーディングの文脈で説明する。しかし、本開示の技術は他のコーディング標準または方法にも適用可能である。
図4の例では、ビデオデコーダ30は複数の機能コンポーネントを含む。ビデオデコーダ30の機能コンポーネントは、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、再構築ユニット158と、フィルタユニット159と、復号ピクチャバッファ160と、参照ピクチャバッファ166とを含む。予測処理ユニット152は、動き補償ユニット162とイントラ予測処理ユニット164とを含む。他の例では、ビデオデコーダ30は、より多くの、より少ない、または異なる機能コンポーネントを含み得る。
ビデオデコーダ30は、ビットストリームを受信することができる。エントロピー復号ユニット150は、ビットストリームを構文解析してビットストリームから構文要素を抽出することができる。ビットストリームの構文解析の一部として、エントロピー復号ユニット150は、ビットストリーム内のエントロピー符号化された構文要素をエントロピー復号(例えばCABAC復号)することができる。予測処理ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、再構築ユニット158と、フィルタユニット159とは、ビットストリームから抽出された構文要素に基づいて復号ビデオデータを生成することができる。
ビットストリームは、一連のNALユニットを含み得る。ビットストリームのNALユニットには、SPS NALユニット、PPS NALユニット、SEI NALユニット、コード化スライスNALユニットなどが含まれる。
逆量子化ユニット154は、TUに関連付けられた係数ブロックを逆量子化(inverse quantize)、すなわち脱量子化(de-quantize)することができる。逆量子化ユニット154は、TUのCUに関連付けられたQP値を使用して、TUに関連付けられた係数ブロックに適用すべき逆量子化ユニット154のための逆量子化の程度を決定することができる。
逆量子化ユニット154がTUに関連付けられた係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUに関連付けられた残差サンプルブロックを生成するために係数ブロックに1つまたは複数の逆変換を適用することができる。例えば、逆変換処理ユニット156は、係数ブロックに対して、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向性変換、またはその他の逆変換を適用し得る。
インター予測PUがスキップモードで符号化される場合、またはPUの動き情報がマージモードを使用して符号化される場合、動き補償ユニット162は、そのPUについてマージ候補リストを生成し得る。動き補償ユニット162は、マージ候補リストにおいて選択されたマージ候補を識別することができる。動き補償ユニット162は、選択されたマージ候補によって示される動き情報に関連付けられた1つまたは複数の参照ブロックに基づいてPUについて予測サンプルブロックを生成することができる。
本開示の技法によれば、動き補償ユニット162は、ツリーブロックグループのインター予測PUの動き情報に基づいて、インター予測PUの参照ブロックを決定し得る。ツリーブロックグループのインター予測PUの参照ブロックの各々は、ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある。
インター予測PUの動き情報がAMVPモードを使用して符号化される場合、動き補償ユニット162は、リスト0MV予測子(predictor)候補リストおよび/またはリスト1MV予測子候補リストを生成し得る。動き補償ユニット162は、選択されたリスト0MV予測子候補および/または選択されたリスト1MV予測子候補を決定し得る。次に、動き補償ユニット162は、リスト0動きベクトル差(MVD)、リスト1MVD、選択されたリスト0MV予測子候補によって指定されるリスト0動きベクトル、および/または選択されたリスト1MV予測子候補によって指定されるリスト1動きベクトルに基づいて、PUのためのリスト1動きベクトル、および/または、PUのためのリスト0動きベクトルを決定し得る。動き補償ユニット162は、リスト0動きベクトルとリスト0参照ピクチャインデックスおよび/またはリスト1動きベクトルとリスト1参照ピクチャインデックスに関連付けられた参照ブロックに基づいて、PUの予測サンプルブロックを生成し得る。
一部の例では、動き補償ユニット162は、補間フィルタに基づいて補間を行うことによってPUの予測サンプルブロックを精緻化し得る。サブピクセル精度での動き補償に使用されるべき補間フィルタに関する識別子を構文要素に含め得る。動き補償ユニット162は、参照ブロックのサブ整数サンプルについて補間された値を計算するために、PUの予測サンプルブロックの生成時にビデオエンコーダ20によって使用されるのと同じ補間フィルタを使用することができる。動き補償ユニット162は、受信された構文情報にしたがってビデオエンコーダ20によって使用される補間フィルタを決定し、その補間フィルタを使用して予測サンプルブロックを生成することができる。
PUがイントラ予測を使用して符号化される場合、イントラ予測処理ユニット164は、イントラ予測を行ってPUの予測サンプルブロックを生成することができる。例えば、イントラ予測処理ユニット164は、ビットストリーム内の構文要素に基づいてPUについてイントラ予測モードを決定することができる。イントラ予測処理ユニット164は、イントラ予測モードを使用して、PUに空間的に隣接するPUのサンプルブロックに基づいて、PUについて予測サンプルブロックを生成し得る。
再構築ユニット158は、CUのTUに関連付けられた残差サンプルブロックと、CUのPUの予測サンプルブロックとを使用して、CUのサンプルブロックを再構築することができる。例えば、再構築ユニット158は、残差サンプルブロックのサンプルを、予測サンプルブロックの対応するサンプルに加えて、CUのサンプルブロックを再構築することができる。
フィルタユニット159は、デブロッキング操作を行って、CUに付随するブロッキングアーチファクトを低減することができる。復号ピクチャバッファ160はCUのサンプルブロックを格納し得る。復号ピクチャバッファ160は、後で行われる動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上への表示のために参照ピクチャを提供することができる。例えば、ビデオデコーダ30は、復号ピクチャバッファ160内のサンプルブロックに基づいて、他のCUのPUに対してイントラ予測またはインター予測を行うことができる。
動き補償ユニット162が参照ピクチャ内の参照ブロックに基づいて予測ビデオブロックを生成するときには、動き補償ユニット162は、参照ブロックを表すデータを読み取るようにとの要求を生成し得る。動き補償ユニット162が、参照ブロックを表すデータを読み取るようにとの要求を生成するときには、ビデオデコーダ30は、参照ピクチャバッファ166が、参照ブロックを含む参照ピクチャを記憶しているかどうかを判定し得る。参照ピクチャバッファ166が参照ピクチャを記憶していない場合、ビデオエンコーダ20は、復号ピクチャバッファ160からの参照ピクチャを参照ピクチャバッファ166へコピーし、要求された参照ピクチャを動き補償ユニット162に供給し得る。
図5は、本開示の1つまたは複数の技法による、制限された参照ピクチャセットを使用してビデオデータを符号化するためのビデオエンコーダ20の例示の動作180を示すフローチャートである。図5の例では、ビデオエンコーダ20は、現在のピクチャの参照ピクチャセットを決定し得る(182)。加えて、ビデオエンコーダ20は、ツリーブロックグループの各インター予測PUのための参照ブロックを、参照ブロックの各々がツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定し得る(184)。ツリーブロックグループのための参照ピクチャサブセットは、現在のピクチャの参照ピクチャセット中のすべてよりも少ない参照ピクチャを含み得る。ツリーブロックグループは、現在のピクチャ中で複数の同時にコーディングされるツリーブロックを備え得る。ビデオエンコーダ20は、ビデオデータのコーディングされた表現を含むビットストリームにおいて、ツリーブロックグループの各インター予測PUのための参照ブロックを含む参照ピクチャを示し得る(186)。
図6は、本開示の1つまたは複数の技法による、ツリーブロックグループを処理するためのビデオエンコーダ20の例示の動作200を示すフローチャートである。動作200は、動作180(図5)のより具体的な例であり得る。ビデオエンコーダ20は、ピクチャ中の各ツリーブロックグループに対して、動作200を実行し得る。
図6の例に示されるように、ビデオエンコーダ20は、現在のツリーブロックグループのための参照ピクチャの制限されたサブセットを決定し得る(202)。言い換えれば、ビデオエンコーダ20は、現在のツリーブロックグループのための参照ピクチャサブセットを決定し得る。加えて、ビデオエンコーダ20は、参照ピクチャサブセットを参照ピクチャバッファにロードし得る(204)。いくつかの例では、ビデオエンコーダ20は、参照ピクチャサブセットの参照ピクチャのすべてを一度に参照ピクチャバッファにロードし得る。他の例では、ビデオエンコーダ20は、参照ピクチャがビデオエンコーダ20によって要求された時点で、参照ピクチャサブセットの参照ピクチャを参照ピクチャバッファにロードし得る。
ビデオデコーダ20は、現在のツリーブロックグループのPUのための参照ブロックを求めて、参照ピクチャサブセットをサーチし得る(206)。さらに、ビデオデコーダ20は、現在のツリーブロックグループのPUについての動き情報(例えば、動きベクトル、予測方向インジケータ、参照ピクチャインデックスなど)を生成し得る(208)。ビデオデコーダ20はまた、現在のツリーブロックグループのPUのための予測ビデオブロックを生成し得る(210)。
ビデオデコーダ20は、CUのPUの予測ビデオブロックと、CUのオリジナルビデオブロックとに基づいて、現在のツリーブロックグループのCUのための残差ビデオブロックを生成し得る(212)。ビデオデコーダ20は、残差ビデオブロックに基づいて、1つまたは複数の変換を適用して、係数ブロックを生成し得る(214)。加えて、ビデオデコーダ20は、係数ブロックを量子化し得る(216)。ビデオデコーダ20は、現在のツリーブロックグループに関連付けられた構文要素をエントロピー符号化し得る(218)。現在のツリーブロックグループに関連付けられた構文要素は、現在のツリーブロックグループのCUのTUの量子化係数ブロックを伝達する構文要素、現在のツリーブロックグループのCUのインター予測PUの動き情報を伝達する構文要素などを含み得る。
図7は、本開示の1つまたは複数の技法による、現在のツリーブロックグループを処理するためのビデオデコーダ30の例示の動作250を示すフローチャートである。ビデオデコーダ30は、ピクチャの各ツリーブロックグループに対して動作250を実行し得る。
図7の例に示されるように、ビデオデコーダ30は、ビットストリームを受信し得る(251)。いくつかの例では、ビデオデコーダ30は、チャネル16からビットストリームを受信し得る。他の例では、ビデオデコーダ30は、ディスクまたはメモリなど、コンピュータ可読記憶媒体からビットストリームを受信し得る。ビットストリームは、ビデオデータの符号化表現を含み得る。ビデオデータの符号化表現は、ビデオデータの現在のピクチャの現在のツリーブロックグループのインター予測PUの動き情報を伝達するデータを含み得る。
ビデオデコーダ30は、現在のツリーブロックグループの構文要素をエントロピー復号し得る(252)。例えば、ビデオデコーダ30は、現在のツリーブロックグループの構文要素のうちの少なくともいくつかに対してCABAC復号を実行し得る。現在のツリーブロックグループの構文要素は、現在のツリーブロックグループのCUのTUの量子化係数ブロックを伝達する構文要素、現在のツリーブロックグループのCUのインター予測PUの動き情報を示す構文要素などを含み得る。
さらに、ビデオデコーダ30は、現在のツリーブロックグループのCUのTUの係数ブロックを逆量子化し得る(254)。ビデオデコーダ30は、係数ブロックに基づいて、現在のツリーブロックグループのCUのTUのための残差ビデオブロックを生成し得る(256)。例えば、ビデオデコーダ30は、各係数ブロックに逆離散コサイン変換を適用して、残差ビデオブロックを生成し得る。
係数ブロックを逆量子化し、残差ビデオブロックを生成することに加えて、ビデオデコーダ30は、現在のツリーブロックグループのインター予測PUの動き情報に基づいて、現在のツリーブロックグループのための参照ピクチャの制限されたサブセット(すなわち、参照ピクチャサブセット)中で参照ブロックを決定し得る(258)。加えて、ビデオデコーダ30は、現在のツリーブロックグループのインター予測PUのための参照ブロックに基づいて、現在のツリーブロックグループのインター予測PUのための予測ビデオブロックを生成し得る(260)。ビデオデコーダ30は、現在のピクチャ中のサンプルに基づいて、現在のツリーブロックグループのイントラ予測PUのための予測ビデオブロックを生成し得る(262)。ビデオデコーダ30は、現在のツリーブロックグループのCUのTUの残差ビデオブロックと、現在のツリーブロックグループのCUのPUの予測ビデオブロックとに基づいて、現在のツリーブロックグループのCUのための復号ビデオブロックを生成し得る(264)。このようにして、ビデオデコーダ30は、現在のツリーブロックグループのインター予測PUの参照ブロックに少なくとも部分的に基づいて、現在のピクチャの復号ビデオブロックを生成し得る。
ビデオデコーダ30は、ピクチャの各ツリーブロックグループについて、図7の例示の動作を実行し得る。したがって、現在のツリーブロックグループは、現在のピクチャの第1のツリーブロックグループであり得、参照ピクチャサブセットは、第1の参照ピクチャサブセットであり得、ビットストリームは、現在のピクチャの第2のツリーブロックグループのインター予測PUの動き情報を伝達するデータを含み得る。第2のツリーブロックグループは、現在のピクチャ中で第2の複数の同時にコーディングされるツリーブロックを備え得る。ビデオデコーダ30は、第2のツリーブロックグループのインター予測PUの動き情報参照に基づいて、第2のツリーブロックグループのインター予測PUの参照ブロックを決定し得る。第2のツリーブロックグループのインター予測PUのインター予測PUの参照ブロックの各々は、第2の参照ピクチャサブセット中にある参照ピクチャ中にあり得る。第2の参照ピクチャサブセットは、第1の参照ピクチャサブセットとは異なる。第2の参照ピクチャサブセットは、現在のピクチャの参照ピクチャセット中の参照ピクチャのうちの、すべてではないが、1つまたは複数を含む。さらに、ビデオデコーダ30は、第2のツリーブロックグループのインター予測PUの参照ブロックに少なくとも部分的に基づいて、現在のピクチャの追加の復号ビデオブロックを生成し得る。
図8は、本開示の1つまたは複数の技法による、ピクチャの参照ピクチャセットを制限するための例示の手法を示す概念図である。図8の例では、ツリーブロック300は、PU302にパーティショニングされるCUにパーティショニングされる。図8の例では、PU302の各々がインター予測PUであると仮定される。
図8の例では、ビデオエンコーダ20は、PU302の各々のための参照ブロックが同じ参照ピクチャ、ref1中にあるように、参照ピクチャセットを制限している。さらに、ツリーブロック300は、ツリーブロックグループの一部であり得る。図8の例では、ツリーブロックグループのための参照ピクチャサブセットは、ツリーブロック300に関連付けられたピクチャの参照ピクチャセット中の参照ピクチャのうちの単一のもののみを含み得る。図8の例では、ビデオエンコーダ20は、必ずしも同じ方法でツリーブロックグループのツリーブロックをPUへとパーティショニングするわけではない。
図9は、本開示の1つまたは複数の技法による、ピクチャの参照ピクチャセットを制限するための別の例示の手法を示す概念図である。図9の例では、ツリーブロック320A、320B、320C、および320D(総称して、「ツリーブロック320」)は、同じツリーブロックグループに属する。言い換えれば、ビデオコーダは、WPPを使用してピクチャをコーディングするときに、ツリーブロック320を同時にコーディングし得る。図9の例では、PUの各々がインター予測PUであると仮定される。図9の例示の手法によれば、ビデオエンコーダ20は、同じ方法でツリーブロック320をCUおよびPUにパーティショニングする。すなわち、ツリーブロック320のそれぞれのPUごとに、それぞれのPUのサイズおよび位置が、ツリーブロック320のうちの他の各1つにおけるPUのサイズおよび位置に一致する。
図9の例では、ビデオエンコーダ20は、対応するPUのための参照ブロックが同じ参照ピクチャ中にあるように、ピクチャの参照ピクチャセットを制限している。例えば、ビデオエンコーダ20は、ツリーブロック320の各々の左上のPUが、同じ参照ピクチャ、ref1を使用してインター予測されるように、参照ピクチャセットを制限し得る。同様に、ビデオエンコーダ20は、ツリーブロック320の各々の左下のPUが、同じ参照ピクチャ、ref3など、を使用してインター予測されるように、参照ピクチャセットを制限し得る。
したがって、図9の例では、ビデオエンコーダ20は、ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測PUごとに、ツリーブロックグループの他の各ツリーブロック中で、特定のツリーブロックのそれぞれのインター予測PUに対応するインター予測PUがあるように、ツリーブロックグループの各ツリーブロックの画素ブロックをパーティショニングし得る。特定のツリーブロックのそれぞれのインター予測PUに対応するインター予測PUは、特定のツリーブロックのそれぞれのインター予測PUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する。特定のツリーブロックのそれぞれのインター予測PUに対応するインター予測PUは、特定のツリーブロックのそれぞれのインター予測PUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる。さらに、特定のツリーブロックのそれぞれのインター予測PUに対応するインター予測PUは、特定のツリーブロックのそれぞれのインター予測PUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する。
図10は、本開示の1つまたは複数の技法による、ピクチャの参照ピクチャセットを制限するための別の例示の手法を示す概念図である。図10の例では、ツリーブロック340A、340B、340C、および340D(総称して、「ツリーブロック340」)は、同じツリーブロックグループに属する。図10の例示の手法によれば、ビデオエンコーダ20は、同様の方法でツリーブロック340をCUおよびPUにパーティショニングする。すなわち、ツリーブロック340のそれぞれのPUごとに、それぞれのPUのサイズおよび位置が、ツリーブロック340のうちの他の各1つにおけるPUのサイズおよび位置に一致する。図10の例では、PUの各々がインター予測PUであると仮定される。さらに、図10の例では、ビデオエンコーダ20は、PUの各々のための参照ブロックが、同じ参照ピクチャ、ref1を使用してインター予測されるように、現在のピクチャの参照ピクチャセットを制限している。
したがって、図10の例では、ビデオエンコーダ20は、ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測PUごとに、ツリーブロックグループの他の各ツリーブロック中に、特定のツリーブロックのそれぞれのインター予測PUに対応するインター予測PUがあるように、ツリーブロックグループの各ツリーブロックの画素ブロックをパーティショニングし得る。ツリーブロックグループのための参照ピクチャサブセットは、現在のピクチャの参照ピクチャセット中の参照ピクチャのうちの単一のもののみを含む。特定のツリーブロックのそれぞれのインター予測PUに対応するインター予測PUは、特定のツリーブロックのそれぞれのインター予測PUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する。特定のツリーブロックのそれぞれのインター予測PUに対応するインター予測PUは、特定のツリーブロックのそれぞれのインター予測PUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる。さらに、特定のツリーブロックのそれぞれのインター予測PUに対応するインター予測PUは、特定のツリーブロックのそれぞれのインター予測PUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する。
他の例では、ビデオエンコーダ20は、同じ方法でツリーブロックグループの各ツリーブロックの画素ブロックをパーティショニングし得る。ただし、そのような例では、ビデオエンコーダ20は、異なる参照ピクチャを使用して、PUに対してインター予測を実行し得る。
1つまたは複数の例では、叙述の各機能はハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実装され得る。ソフトウェアで実装する場合、これらの機能は1つまたは複数の命令またはコードとしてコンピュータ可読媒体に記憶され、または送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、または、例えば通信プロトコルにしたがって1つの場所から他の場所へのコンピュータプログラムの転送を容易にする媒体を含む通信媒体を含み得る。このように、コンピュータ可読媒体は、一般に、(1)非一時的な有形のコンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサが、本開示に記載の技術の実装のために命令、コードおよび/またはデータ構造を読み出すためにアクセスすることができる任意の入手可能な媒体とすることができる。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
一例として、このようなコンピュータ可読記憶媒体はRAM、ROM、EEPROM(登録商標)、CD−ROMまたはその他の光ディスクストレージ、磁気ディスクストレージ、またはその他の磁気ストレージデバイス、フラッシュメモリ、または所望のプログラムコードを命令またはデータ構造の形で格納するために使用可能かつコンピュータによりアクセス可能なその他のあらゆる媒体を含み得るが、これらには限定されない。また、いかなる接続もコンピュータ可読媒体と正式に称することができる。例えば、ウェブサイト、サーバ、またはその他のリモートソースから同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線およびマイクロ波などのワイヤレス技術を使用して命令を送信する場合、その同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読媒体およびデータ記憶媒体は、接続、搬送波、信号またはその他の一時的媒体を含まず、非一時的な有形の記憶媒体のことを意図しているものと理解すべきである。本開示では、ディスク(diskおよびdisc)は、コンパクトディスク(CD)、レーザディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびBlu−ray(登録商標)ディスクを含み、この場合、diskは通常データを磁気的に再生し、discはレーザを使用してデータを光学的に再生する。上記の組み合わせもコンピュータ可読媒体の範囲に含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、またはその他の同等の集積または個別論理回路などの、1つまたは複数のプロセッサによって実行され得る。したがって、本開示では「プロセッサ」という用語は、上記の構造のいずれか、または本開示に記載の技術の実装に適するその他の任意の構造を指し得る。さらに、態様によっては、本開示に記載の機能を、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に設けるか、または複合コーデックに組み込むことができる。
本開示の技術は、ワイヤレスハンドセット、集積回路(IC)、または1組のIC(例えばチップセット)を含む様々なデバイスまたは装置で実装可能である。本開示では、本開示の技術を実行するように構成されたデバイスの機能的態様を強調して説明するために様々なコンポーネント、モジュール、またはユニットについて述べたが、これらは必ずしも異なるハードウェアユニットによる実現を必要としない。上述のように、適切なソフトウェアおよび/またはファームウェアとともに、様々なユニットを1つのコーデックハードウェアユニット内に統合するか、または上述のように1つまたは複数のプロセッサを含む相互作用可能なハードウェアユニットの集合によって提供してもよい。
以上、様々な例について説明した。これらおよびその他の例は、特許請求の範囲に含まれる。
以上、様々な例について説明した。これらおよびその他の例は、特許請求の範囲に含まれる。
以下に、本願の出願当初請求項に記載された発明を付記する。
[C1]
ビデオデータを符号化するための方法であって、
現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定することと、
前記現在のピクチャのツリーブロックグループの各インター予測された予測ユニット(PU)のための参照ブロックを、前記参照ブロックの各々が前記ツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記ツリーブロックグループのための前記参照ピクチャサブセットは、前記現在のピクチャのための前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定することと、
前記ビデオデータのコーディングされた表現を含むビットストリーム中で、前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
を備える方法。
[C2]
前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、上記C1に記載の方法。
[C3]
時間的範囲制限に基づいて、前記ツリーブロックグループのための前記参照ピクチャサブセットを決定することをさらに備える、上記C1に記載の方法。
[C4]
前記方法が、前記ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測されたPUごとに、前記ツリーブロックグループの他の各ツリーブロック中に前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応するインター予測されたPUがあるように、前記ツリーブロックグループの前記ツリーブロックの各々の画素ブロックをパーティショニングすることをさらに備え、
前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる、上記C1に記載の方法。
[C5]
前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、上記C4に記載の方法。
[C6]
前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する、上記C4に記載の方法。
[C7]
前記ビットストリーム中で、前記現在のピクチャが波面並列処理(WPP)を使用して復号されるべきであることを示すコーディングされた構文要素を出力することをさらに備える、上記C1に記載の方法。
[C8]
参照ピクチャバッファ中に、前記現在のピクチャの前記参照ピクチャセットの参照ピクチャの各々は記憶しないが、前記参照ピクチャサブセットの前記参照ピクチャの各々を同時に記憶することをさらに備える、上記C1に記載の方法。
[C9]
前記ツリーブロックグループのための前記参照ピクチャサブセットを、前記ツリーブロックグループのための前記参照ピクチャサブセットの前記参照ピクチャのビット単位のサイズがビデオデコーダの参照ピクチャバッファのサイズに関連付けられたしきい値を下回るように、決定することをさらに備える、上記C1に記載の方法。
[C10]
前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを決定することが、同時に前記ツリーブロックグループの2つ以上のインター予測されたPUのための前記参照ブロックを決定することを含む、上記C1に記載の方法。
[C11]
前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャのツリーブロックの異なる行中にあり、前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャの2つのツリーブロック列だけ、互いから垂直にオフセットされる、上記C1に記載の方法。
[C12]
前記ツリーブロックグループが、前記現在のピクチャの第1のツリーブロックグループであり、前記参照ピクチャサブセットが、第1の参照ピクチャサブセットであり、前記方法が、
第2のツリーブロックグループの各インター予測されたPUのための参照ブロックを、前記第2のツリーブロックグループの各インター予測されたPUのための前記参照ブロックが第2の参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記第2の参照ピクチャサブセットは、前記第1の参照ピクチャサブセットとは異なり、前記第2の参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記第2のツリーブロックグループは、前記現在のピクチャ中に第2の複数の同時にコーディングされるツリーブロックを備える、決定することと、
前記第2のツリーブロックグループのそれぞれのインター予測されたPUごとに、前記ビットストリーム中で、前記第2のツリーブロックグループの前記それぞれのインター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
をさらに備える、上記C1に記載の方法。
[C13]
1つまたは複数のプロセッサを備えるコンピューティングデバイスであって、前記1つまたは複数のプロセッサが、
現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定することと、
前記現在のピクチャのツリーブロックグループの各インター予測された予測ユニット(PU)のための参照ブロックを、前記参照ブロックの各々が前記ツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記ツリーブロックグループのための前記参照ピクチャサブセットは、前記現在のピクチャのための前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定することと、
前記ビデオデータのコーディングされた表現を含むビットストリーム中で、前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
を行うように構成される、コンピューティングデバイス。
[C14]
前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、上記C13に記載のコンピューティングデバイス。
[C15]
前記1つまたは複数のプロセッサが、時間的範囲制限に基づいて、前記ツリーブロックグループのための前記参照ピクチャサブセットを決定することを行うように構成される、上記C13に記載のコンピューティングデバイス。
[C16]
前記1つまたは複数のプロセッサが、前記ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測されたPUごとに、前記ツリーブロックグループの他の各ツリーブロック中に、前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応するインター予測されたPUがあるように、前記ツリーブロックグループの前記ツリーブロックの各々の画素ブロックをパーティショニングすることを行うようにさらに構成され、
前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる、上記C13に記載のコンピューティングデバイス。
[C17]
前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、上記C16に記載のコンピューティングデバイス。
[C18]
前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する、上記C16に記載のコンピューティングデバイス。
[C19]
前記1つまたは複数のプロセッサが、前記ビットストリーム中で、前記現在のピクチャが波面並列処理(WPP)を使用して復号されるべきであることを示す構文要素を出力することを行うように構成される、上記C13に記載のコンピューティングデバイス。
[C20]
前記現在のピクチャの前記参照ピクチャセットの参照ピクチャの各々は記憶しないが、前記参照ピクチャサブセットの前記参照ピクチャの各々を同時に記憶する、参照ピクチャバッファをさらに備える、上記C13に記載のコンピューティングデバイス。
[C21]
前記1つまたは複数のプロセッサが、前記ツリーブロックグループのための前記参照ピクチャサブセットを、前記ツリーブロックグループのための前記参照ピクチャサブセットの前記参照ピクチャのビット単位のサイズがビデオデコーダの参照ピクチャバッファのサイズに関連付けられたしきい値を下回るように、決定することを行うように構成される、上記C13に記載のコンピューティングデバイス。
[C22]
前記1つまたは複数のプロセッサが、同時に前記ツリーブロックグループの2つ以上のインター予測されたPUのための参照ブロックを決定することを行うように構成される、上記C13に記載のコンピューティングデバイス。
[C23]
前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャのツリーブロックの異なる行中にあり、前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャの2つのツリーブロック列だけ、互いから垂直にオフセットされる、上記C13に記載のコンピューティングデバイス。
[C24]
前記ツリーブロックグループが、前記現在のピクチャの第1のツリーブロックグループであり、前記参照ピクチャサブセットが、第1の参照ピクチャサブセットであり、前記1つまたは複数のプロセッサが、
第2のツリーブロックグループの各インター予測されたPUのための参照ブロックを、前記第2のツリーブロックグループの各インター予測されたPUのための前記参照ブロックが第2の参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記第2の参照ピクチャサブセットは、前記第1の参照ピクチャサブセットとは異なり、前記第2の参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中のすべてよりも少ない参照ピクチャを含み、前記第2のツリーブロックグループは、前記現在のピクチャ中に第2の複数の同時にコーディングされるツリーブロックを備える、決定することと、
前記第2のツリーブロックグループのそれぞれのインター予測されたPUごとに、前記ビットストリーム中で、前記第2のツリーブロックグループの前記それぞれのインター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
を行うようにさらに構成される、上記C13に記載のコンピューティングデバイス。
[C25]
現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定するための手段と、
前記現在のピクチャのツリーブロックグループの各インター予測された予測ユニット(PU)のための参照ブロックを、前記参照ブロックの各々が前記ツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定するための手段であって、前記ツリーブロックグループのための前記参照ピクチャサブセットは、前記現在のピクチャのための前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定するための手段と、
ビデオデータのコーディングされた表現を含むビットストリーム中で、前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すための手段と
を備えるコンピューティングデバイス。
[C26]
コンピューティングデバイスの1つまたは複数のプロセッサによって実行されたときに前記コンピューティングデバイスに、
現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定することと、
前記現在のピクチャのツリーブロックグループの各インター予測された予測ユニット(PU)のための参照ブロックを、前記参照ブロックの各々が前記ツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記ツリーブロックグループのための前記参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定することと、
ビデオデータのコーディングされた表現を含むビットストリーム中で、前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
を行わせる命令を記憶した、コンピュータ可読記憶媒体。
[C27]
ビデオデータを復号するための方法であって、
前記ビデオデータの符号化表現を含むビットストリームを受信することであって、前記ビデオデータの前記符号化表現は、前記ビデオデータの現在のピクチャのツリーブロックグループのインター予測された予測ユニット(PU)の動き情報を伝達するデータを含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備え、前記ツリーブロックグループは、前記現在のピクチャのための参照ピクチャセット中のすべてではないが1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる、受信することと、
前記ツリーブロックグループの前記インター予測されたPUの前記動き情報に基づいて、前記インター予測されたPUの参照ブロックを決定することであって、前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックの各々は、前記ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある、決定することと、
前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの復号ビデオブロックを生成することと
を備える方法。
[C28]
前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、上記C27に記載の方法。
[C29]
前記ツリーブロックグループに関連付けられた前記参照ピクチャサブセットが、時間的範囲制限に基づく、上記C27に記載の方法。
[C30]
前記ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測されたPUごとに、前記ツリーブロックグループの他の各ツリーブロック中に前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応するインター予測されたPUがあるように、前記ツリーブロックグループの前記ツリーブロックの各々の画素ブロックがパーティショニングされ、
前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる、上記C27に記載の方法。
[C31]
前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、上記C30に記載の方法。
[C32]
前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する、上記C30に記載の方法。
[C33]
前記現在のピクチャの前記復号ビデオブロックを生成することが、波面並列処理(WPP)を使用して前記現在のピクチャを復号することを含む、上記C27に記載の方法。
[C34]
参照ピクチャバッファ中に、前記現在のピクチャの前記参照ピクチャセットの参照ピクチャの各々は記憶しないが、前記参照ピクチャサブセットの前記参照ピクチャの各々を同時に記憶することをさらに備える、上記C27に記載の方法。
[C35]
前記ツリーブロックグループのための前記参照ピクチャサブセットの前記参照ピクチャのビット単位のサイズが参照ピクチャバッファのサイズに関連付けられたしきい値を下回る、上記C27に記載の方法。
[C36]
前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックを決定することが、同時に前記ツリーブロックグループの2つ以上のインター予測されたPUのための前記参照ブロックを決定することを含む、上記C27に記載の方法。
[C37]
前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャのツリーブロックの異なる行中にあり、前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャの2つのツリーブロック列だけ、互いから垂直にオフセットされる、上記C27に記載の方法。
[C38]
前記ツリーブロックグループが、前記現在のピクチャの第1のツリーブロックグループであり、前記参照ピクチャサブセットが、第1の参照ピクチャサブセットであり、前記ビットストリームが、前記現在のピクチャの第2のツリーブロックグループのインター予測されたPUの動き情報を伝達するデータを含み、前記第2のツリーブロックグループが、前記現在のピクチャ中に第2の複数の同時にコーディングされるツリーブロックを備え、前記方法が、
前記第2のツリーブロックグループの前記インター予測されたPUの前記動き情報参照に基づいて、前記第2のツリーブロックグループの前記インター予測されたPUの参照ブロックを決定することであって、前記第2のツリーブロックグループの前記インター予測されたPUの前記インター予測されたPUの前記参照ブロックの各々は、第2の参照ピクチャサブセット中にある参照ピクチャ中にあり、前記第2の参照ピクチャサブセットは、前記第1の参照ピクチャサブセットとは異なり、前記第2の参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含む、決定することと、
前記第2のツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの追加の復号ビデオブロックを生成することと
をさらに備える、上記C27に記載の方法。
[C39]
1つまたは複数のプロセッサを備えるコンピューティングデバイスであって、前記1つまたは複数のプロセッサが、
ビデオデータの符号化表現を含むビットストリームを受信することであって、前記ビデオデータの前記符号化表現は、前記ビデオデータの現在のピクチャのツリーブロックグループのインター予測された予測ユニット(PU)の動き情報を伝達するデータを含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備え、前記ツリーブロックグループは、前記現在のピクチャのための参照ピクチャセット中のすべてではないが1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる、受信することと、
前記ツリーブロックグループの前記インター予測されたPUの前記動き情報に基づいて、前記インター予測されたPUの参照ブロックを決定することであって、前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックの各々は、前記ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある、決定することと、
前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの復号ビデオブロックを生成することと
を行うように構成される、コンピューティングデバイス。
[C40]
前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、上記C39に記載のコンピューティングデバイス。
[C41]
前記ツリーブロックグループに関連付けられた前記参照ピクチャサブセットが、時間的範囲制限に基づく、上記C39に記載のコンピューティングデバイス。
[C42]
前記ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測されたPUごとに、前記ツリーブロックグループの他の各ツリーブロック中に前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応するインター予測されたPUがあるように、前記ツリーブロックグループの前記ツリーブロックの各々の画素ブロックがパーティショニングされ、
前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる、上記C39に記載のコンピューティングデバイス。
[C43]
前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、上記C42に記載のコンピューティングデバイス。
[C44]
前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する、上記C42に記載のコンピューティングデバイス。
[C45]
1つまたは複数のプロセッサが、波面並列処理(WPP)を使用して前記現在のピクチャを復号する、上記C39に記載のコンピューティングデバイス。
[C46]
前記1つまたは複数のプロセッサが、参照ピクチャバッファ中に、前記現在のピクチャの前記参照ピクチャセットの参照ピクチャの各々は記憶しないが、前記参照ピクチャサブセットの前記参照ピクチャの各々を同時に記憶する、ことを行うように構成される、上記C39に記載のコンピューティングデバイス。
[C47]
前記ツリーブロックグループのための前記参照ピクチャサブセットの前記参照ピクチャのビット単位のサイズが、参照ピクチャバッファのサイズに関連付けられたしきい値を下回る、上記C39に記載のコンピューティングデバイス。
[C48]
前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックを決定することが、同時に前記ツリーブロックグループの2つ以上のインター予測されたPUのための前記参照ブロックを決定することを含む、上記C39に記載のコンピューティングデバイス。
[C49]
前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャのツリーブロックの異なる行中にあり、前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャの2つのツリーブロック列だけ、互いから垂直にオフセットされる、上記C39に記載のコンピューティングデバイス。
[C50]
前記ツリーブロックグループが、前記現在のピクチャの第1のツリーブロックグループであり、前記参照ピクチャサブセットが、第1の参照ピクチャサブセットであり、前記ビットストリームが、前記現在のピクチャの第2のツリーブロックグループのインター予測されたPUの動き情報を伝達するデータを含み、前記第2のツリーブロックグループが、前記現在のピクチャ中に第2の複数の同時にコーディングされるツリーブロックを備え、前記1つまたは複数のプロセッサが、
前記第2のツリーブロックグループの前記インター予測されたPUの前記動き情報参照に基づいて、前記第2のツリーブロックグループの前記インター予測されたPUの参照ブロックを決定することであって、前記第2のツリーブロックグループの前記インター予測されたPUの前記インター予測されたPUの前記参照ブロックの各々は、第2の参照ピクチャサブセット中にある参照ピクチャ中にあり、前記第2の参照ピクチャサブセットは、前記第1の参照ピクチャサブセットとは異なり、前記第2の参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数の参照ピクチャを含む、決定することと、
前記第2のツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの追加の復号ビデオブロックを生成することと
を行うように構成される、上記C39に記載のコンピューティングデバイス。
[C51]
ビデオデータの符号化表現を含むビットストリームを受信するための手段であって、前記ビデオデータの前記符号化表現は、前記ビデオデータの現在のピクチャのツリーブロックグループのインター予測された予測ユニット(PU)の動き情報を伝達するデータを含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備え、前記ツリーブロックグループは、前記現在のピクチャのための参照ピクチャセット中のすべてではないが1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる、受信するための手段と、
前記ツリーブロックグループの前記インター予測されたPUの前記動き情報に基づいて、前記インター予測されたPUの参照ブロックを決定するための手段であって、前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックの各々は、前記ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある、決定するための手段と、
前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの復号ビデオブロックを生成するための手段と
を備えるコンピューティングデバイス。
[C52]
コンピューティングデバイスの1つまたは複数のプロセッサによって実行されたときに前記コンピューティングデバイスに、
ビデオデータの符号化表現を含むビットストリームを受信することであって、前記ビデオデータの前記符号化表現は、前記ビデオデータの現在のピクチャのツリーブロックグループのインター予測された予測ユニット(PU)の動き情報を伝達するデータを含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備え、前記ツリーブロックグループは、前記現在のピクチャのための参照ピクチャセット中のすべてではないが1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる、受信することと、
前記ツリーブロックグループの前記インター予測されたPUの前記動き情報に基づいて、前記インター予測されたPUの参照ブロックを決定することであって、前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックの各々は、前記ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある、決定することと、
前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの復号ビデオブロックを生成することと
を行わせる命令を記憶した、コンピュータ可読記憶媒体。

Claims (52)

  1. ビデオデータを符号化するための方法であって、
    現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定することと、
    前記現在のピクチャのツリーブロックグループの各インター予測された予測ユニット(PU)のための参照ブロックを、前記参照ブロックの各々が前記ツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記ツリーブロックグループのための前記参照ピクチャサブセットは、前記現在のピクチャのための前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定することと、
    前記ビデオデータのコーディングされた表現を含むビットストリーム中で、前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
    を備える方法。
  2. 前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、請求項1に記載の方法。
  3. 時間的範囲制限に基づいて、前記ツリーブロックグループのための前記参照ピクチャサブセットを決定することをさらに備える、請求項1に記載の方法。
  4. 前記方法が、前記ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測されたPUごとに、前記ツリーブロックグループの他の各ツリーブロック中に前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応するインター予測されたPUがあるように、前記ツリーブロックグループの前記ツリーブロックの各々の画素ブロックをパーティショニングすることをさらに備え、
    前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる、請求項1に記載の方法。
  5. 前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、請求項4に記載の方法。
  6. 前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する、請求項4に記載の方法。
  7. 前記ビットストリーム中で、前記現在のピクチャが波面並列処理(WPP)を使用して復号されるべきであることを示すコーディングされた構文要素を出力することをさらに備える、請求項1に記載の方法。
  8. 参照ピクチャバッファ中に、前記現在のピクチャの前記参照ピクチャセットの参照ピクチャの各々は記憶しないが、前記参照ピクチャサブセットの前記参照ピクチャの各々を同時に記憶することをさらに備える、請求項1に記載の方法。
  9. 前記ツリーブロックグループのための前記参照ピクチャサブセットを、前記ツリーブロックグループのための前記参照ピクチャサブセットの前記参照ピクチャのビット単位のサイズがビデオデコーダの参照ピクチャバッファのサイズに関連付けられたしきい値を下回るように、決定することをさらに備える、請求項1に記載の方法。
  10. 前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを決定することが、同時に前記ツリーブロックグループの2つ以上のインター予測されたPUのための前記参照ブロックを決定することを含む、請求項1に記載の方法。
  11. 前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャのツリーブロックの異なる行中にあり、前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャの2つのツリーブロック列だけ、互いから垂直にオフセットされる、請求項1に記載の方法。
  12. 前記ツリーブロックグループが、前記現在のピクチャの第1のツリーブロックグループであり、前記参照ピクチャサブセットが、第1の参照ピクチャサブセットであり、前記方法が、
    第2のツリーブロックグループの各インター予測されたPUのための参照ブロックを、前記第2のツリーブロックグループの各インター予測されたPUのための前記参照ブロックが第2の参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記第2の参照ピクチャサブセットは、前記第1の参照ピクチャサブセットとは異なり、前記第2の参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記第2のツリーブロックグループは、前記現在のピクチャ中に第2の複数の同時にコーディングされるツリーブロックを備える、決定することと、
    前記第2のツリーブロックグループのそれぞれのインター予測されたPUごとに、前記ビットストリーム中で、前記第2のツリーブロックグループの前記それぞれのインター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
    をさらに備える、請求項1に記載の方法。
  13. 1つまたは複数のプロセッサを備えるコンピューティングデバイスであって、前記1つまたは複数のプロセッサが、
    現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定することと、
    前記現在のピクチャのツリーブロックグループの各インター予測された予測ユニット(PU)のための参照ブロックを、前記参照ブロックの各々が前記ツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記ツリーブロックグループのための前記参照ピクチャサブセットは、前記現在のピクチャのための前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定することと、
    前記ビデオデータのコーディングされた表現を含むビットストリーム中で、前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
    を行うように構成される、コンピューティングデバイス。
  14. 前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、請求項13に記載のコンピューティングデバイス。
  15. 前記1つまたは複数のプロセッサが、時間的範囲制限に基づいて、前記ツリーブロックグループのための前記参照ピクチャサブセットを決定することを行うように構成される、請求項13に記載のコンピューティングデバイス。
  16. 前記1つまたは複数のプロセッサが、前記ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測されたPUごとに、前記ツリーブロックグループの他の各ツリーブロック中に、前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応するインター予測されたPUがあるように、前記ツリーブロックグループの前記ツリーブロックの各々の画素ブロックをパーティショニングすることを行うようにさらに構成され、
    前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる、請求項13に記載のコンピューティングデバイス。
  17. 前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、請求項16に記載のコンピューティングデバイス。
  18. 前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する、請求項16に記載のコンピューティングデバイス。
  19. 前記1つまたは複数のプロセッサが、前記ビットストリーム中で、前記現在のピクチャが波面並列処理(WPP)を使用して復号されるべきであることを示す構文要素を出力することを行うように構成される、請求項13に記載のコンピューティングデバイス。
  20. 前記現在のピクチャの前記参照ピクチャセットの参照ピクチャの各々は記憶しないが、前記参照ピクチャサブセットの前記参照ピクチャの各々を同時に記憶する、参照ピクチャバッファをさらに備える、請求項13に記載のコンピューティングデバイス。
  21. 前記1つまたは複数のプロセッサが、前記ツリーブロックグループのための前記参照ピクチャサブセットを、前記ツリーブロックグループのための前記参照ピクチャサブセットの前記参照ピクチャのビット単位のサイズがビデオデコーダの参照ピクチャバッファのサイズに関連付けられたしきい値を下回るように、決定することを行うように構成される、請求項13に記載のコンピューティングデバイス。
  22. 前記1つまたは複数のプロセッサが、同時に前記ツリーブロックグループの2つ以上のインター予測されたPUのための参照ブロックを決定することを行うように構成される、請求項13に記載のコンピューティングデバイス。
  23. 前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャのツリーブロックの異なる行中にあり、前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャの2つのツリーブロック列だけ、互いから垂直にオフセットされる、請求項13に記載のコンピューティングデバイス。
  24. 前記ツリーブロックグループが、前記現在のピクチャの第1のツリーブロックグループであり、前記参照ピクチャサブセットが、第1の参照ピクチャサブセットであり、前記1つまたは複数のプロセッサが、
    第2のツリーブロックグループの各インター予測されたPUのための参照ブロックを、前記第2のツリーブロックグループの各インター予測されたPUのための前記参照ブロックが第2の参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記第2の参照ピクチャサブセットは、前記第1の参照ピクチャサブセットとは異なり、前記第2の参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中のすべてよりも少ない参照ピクチャを含み、前記第2のツリーブロックグループは、前記現在のピクチャ中に第2の複数の同時にコーディングされるツリーブロックを備える、決定することと、
    前記第2のツリーブロックグループのそれぞれのインター予測されたPUごとに、前記ビットストリーム中で、前記第2のツリーブロックグループの前記それぞれのインター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
    を行うようにさらに構成される、請求項13に記載のコンピューティングデバイス。
  25. 現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定するための手段と、
    前記現在のピクチャのツリーブロックグループの各インター予測された予測ユニット(PU)のための参照ブロックを、前記参照ブロックの各々が前記ツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定するための手段であって、前記ツリーブロックグループのための前記参照ピクチャサブセットは、前記現在のピクチャのための前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定するための手段と、
    ビデオデータのコーディングされた表現を含むビットストリーム中で、前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すための手段と
    を備えるコンピューティングデバイス。
  26. コンピューティングデバイスの1つまたは複数のプロセッサによって実行されたときに前記コンピューティングデバイスに、
    現在のピクチャのための複数の参照ピクチャを備える参照ピクチャセットを決定することと、
    前記現在のピクチャのツリーブロックグループの各インター予測された予測ユニット(PU)のための参照ブロックを、前記参照ブロックの各々が前記ツリーブロックグループのための参照ピクチャサブセット中にある参照ピクチャ中にあるように、決定することであって、前記ツリーブロックグループのための前記参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備える、決定することと、
    ビデオデータのコーディングされた表現を含むビットストリーム中で、前記ツリーブロックグループの各インター予測されたPUのための前記参照ブロックを含む参照ピクチャを示すことと
    を行わせる命令を記憶した、コンピュータ可読記憶媒体。
  27. ビデオデータを復号するための方法であって、
    前記ビデオデータの符号化表現を含むビットストリームを受信することであって、前記ビデオデータの前記符号化表現は、前記ビデオデータの現在のピクチャのツリーブロックグループのインター予測された予測ユニット(PU)の動き情報を伝達するデータを含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備え、前記ツリーブロックグループは、前記現在のピクチャのための参照ピクチャセット中のすべてではないが1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる、受信することと、
    前記ツリーブロックグループの前記インター予測されたPUの前記動き情報に基づいて、前記インター予測されたPUの参照ブロックを決定することであって、前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックの各々は、前記ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある、決定することと、
    前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの復号ビデオブロックを生成することと
    を備える方法。
  28. 前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、請求項27に記載の方法。
  29. 前記ツリーブロックグループに関連付けられた前記参照ピクチャサブセットが、時間的範囲制限に基づく、請求項27に記載の方法。
  30. 前記ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測されたPUごとに、前記ツリーブロックグループの他の各ツリーブロック中に前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応するインター予測されたPUがあるように、前記ツリーブロックグループの前記ツリーブロックの各々の画素ブロックがパーティショニングされ、
    前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる、請求項27に記載の方法。
  31. 前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、請求項30に記載の方法。
  32. 前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する、請求項30に記載の方法。
  33. 前記現在のピクチャの前記復号ビデオブロックを生成することが、波面並列処理(WPP)を使用して前記現在のピクチャを復号することを含む、請求項27に記載の方法。
  34. 参照ピクチャバッファ中に、前記現在のピクチャの前記参照ピクチャセットの参照ピクチャの各々は記憶しないが、前記参照ピクチャサブセットの前記参照ピクチャの各々を同時に記憶することをさらに備える、請求項27に記載の方法。
  35. 前記ツリーブロックグループのための前記参照ピクチャサブセットの前記参照ピクチャのビット単位のサイズが参照ピクチャバッファのサイズに関連付けられたしきい値を下回る、請求項27に記載の方法。
  36. 前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックを決定することが、同時に前記ツリーブロックグループの2つ以上のインター予測されたPUのための前記参照ブロックを決定することを含む、請求項27に記載の方法。
  37. 前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャのツリーブロックの異なる行中にあり、前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャの2つのツリーブロック列だけ、互いから垂直にオフセットされる、請求項27に記載の方法。
  38. 前記ツリーブロックグループが、前記現在のピクチャの第1のツリーブロックグループであり、前記参照ピクチャサブセットが、第1の参照ピクチャサブセットであり、前記ビットストリームが、前記現在のピクチャの第2のツリーブロックグループのインター予測されたPUの動き情報を伝達するデータを含み、前記第2のツリーブロックグループが、前記現在のピクチャ中に第2の複数の同時にコーディングされるツリーブロックを備え、前記方法が、
    前記第2のツリーブロックグループの前記インター予測されたPUの前記動き情報参照に基づいて、前記第2のツリーブロックグループの前記インター予測されたPUの参照ブロックを決定することであって、前記第2のツリーブロックグループの前記インター予測されたPUの前記インター予測されたPUの前記参照ブロックの各々は、第2の参照ピクチャサブセット中にある参照ピクチャ中にあり、前記第2の参照ピクチャサブセットは、前記第1の参照ピクチャサブセットとは異なり、前記第2の参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数を含む、決定することと、
    前記第2のツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの追加の復号ビデオブロックを生成することと
    をさらに備える、請求項27に記載の方法。
  39. 1つまたは複数のプロセッサを備えるコンピューティングデバイスであって、前記1つまたは複数のプロセッサが、
    ビデオデータの符号化表現を含むビットストリームを受信することであって、前記ビデオデータの前記符号化表現は、前記ビデオデータの現在のピクチャのツリーブロックグループのインター予測された予測ユニット(PU)の動き情報を伝達するデータを含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備え、前記ツリーブロックグループは、前記現在のピクチャのための参照ピクチャセット中のすべてではないが1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる、受信することと、
    前記ツリーブロックグループの前記インター予測されたPUの前記動き情報に基づいて、前記インター予測されたPUの参照ブロックを決定することであって、前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックの各々は、前記ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある、決定することと、
    前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの復号ビデオブロックを生成することと
    を行うように構成される、コンピューティングデバイス。
  40. 前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、請求項39に記載のコンピューティングデバイス。
  41. 前記ツリーブロックグループに関連付けられた前記参照ピクチャサブセットが、時間的範囲制限に基づく、請求項39に記載のコンピューティングデバイス。
  42. 前記ツリーブロックグループの特定のツリーブロックのそれぞれのインター予測されたPUごとに、前記ツリーブロックグループの他の各ツリーブロック中に前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応するインター予測されたPUがあるように、前記ツリーブロックグループの前記ツリーブロックの各々の画素ブロックがパーティショニングされ、
    前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUに関連付けられた画素ブロックのサイズと位置とに対応するサイズと位置とを有する画素ブロックに関連付けられる、請求項39に記載のコンピューティングデバイス。
  43. 前記参照ピクチャサブセットが、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちの単一のもののみを含む、請求項42に記載のコンピューティングデバイス。
  44. 前記特定のツリーブロックの前記それぞれのインター予測されたPUに対応する前記インター予測されたPUが、前記特定のツリーブロックの前記それぞれのインター予測されたPUの参照ブロックと同じ参照ピクチャ中の参照ブロックを有する、請求項42に記載のコンピューティングデバイス。
  45. 1つまたは複数のプロセッサが、波面並列処理(WPP)を使用して前記現在のピクチャを復号する、請求項39に記載のコンピューティングデバイス。
  46. 前記1つまたは複数のプロセッサが、参照ピクチャバッファ中に、前記現在のピクチャの前記参照ピクチャセットの参照ピクチャの各々は記憶しないが、前記参照ピクチャサブセットの前記参照ピクチャの各々を同時に記憶する、ことを行うように構成される、請求項39に記載のコンピューティングデバイス。
  47. 前記ツリーブロックグループのための前記参照ピクチャサブセットの前記参照ピクチャのビット単位のサイズが、参照ピクチャバッファのサイズに関連付けられたしきい値を下回る、請求項39に記載のコンピューティングデバイス。
  48. 前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックを決定することが、同時に前記ツリーブロックグループの2つ以上のインター予測されたPUのための前記参照ブロックを決定することを含む、請求項39に記載のコンピューティングデバイス。
  49. 前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャのツリーブロックの異なる行中にあり、前記ツリーブロックグループの前記ツリーブロックの各々が、前記現在のピクチャの2つのツリーブロック列だけ、互いから垂直にオフセットされる、請求項39に記載のコンピューティングデバイス。
  50. 前記ツリーブロックグループが、前記現在のピクチャの第1のツリーブロックグループであり、前記参照ピクチャサブセットが、第1の参照ピクチャサブセットであり、前記ビットストリームが、前記現在のピクチャの第2のツリーブロックグループのインター予測されたPUの動き情報を伝達するデータを含み、前記第2のツリーブロックグループが、前記現在のピクチャ中に第2の複数の同時にコーディングされるツリーブロックを備え、前記1つまたは複数のプロセッサが、
    前記第2のツリーブロックグループの前記インター予測されたPUの前記動き情報参照に基づいて、前記第2のツリーブロックグループの前記インター予測されたPUの参照ブロックを決定することであって、前記第2のツリーブロックグループの前記インター予測されたPUの前記インター予測されたPUの前記参照ブロックの各々は、第2の参照ピクチャサブセット中にある参照ピクチャ中にあり、前記第2の参照ピクチャサブセットは、前記第1の参照ピクチャサブセットとは異なり、前記第2の参照ピクチャサブセットは、前記現在のピクチャの前記参照ピクチャセット中の前記参照ピクチャのうちのすべてではないが1つまたは複数の参照ピクチャを含む、決定することと、
    前記第2のツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの追加の復号ビデオブロックを生成することと
    を行うように構成される、請求項39に記載のコンピューティングデバイス。
  51. ビデオデータの符号化表現を含むビットストリームを受信するための手段であって、前記ビデオデータの前記符号化表現は、前記ビデオデータの現在のピクチャのツリーブロックグループのインター予測された予測ユニット(PU)の動き情報を伝達するデータを含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備え、前記ツリーブロックグループは、前記現在のピクチャのための参照ピクチャセット中のすべてではないが1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる、受信するための手段と、
    前記ツリーブロックグループの前記インター予測されたPUの前記動き情報に基づいて、前記インター予測されたPUの参照ブロックを決定するための手段であって、前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックの各々は、前記ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある、決定するための手段と、
    前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの復号ビデオブロックを生成するための手段と
    を備えるコンピューティングデバイス。
  52. コンピューティングデバイスの1つまたは複数のプロセッサによって実行されたときに前記コンピューティングデバイスに、
    ビデオデータの符号化表現を含むビットストリームを受信することであって、前記ビデオデータの前記符号化表現は、前記ビデオデータの現在のピクチャのツリーブロックグループのインター予測された予測ユニット(PU)の動き情報を伝達するデータを含み、前記ツリーブロックグループは、前記現在のピクチャ中に複数の同時にコーディングされるツリーブロックを備え、前記ツリーブロックグループは、前記現在のピクチャのための参照ピクチャセット中のすべてではないが1つまたは複数の参照ピクチャを含む参照ピクチャサブセットに関連付けられる、受信することと、
    前記ツリーブロックグループの前記インター予測されたPUの前記動き情報に基づいて、前記インター予測されたPUの参照ブロックを決定することであって、前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックの各々は、前記ツリーブロックグループのために定義された参照ピクチャサブセット中の参照ピクチャ内にある、決定することと、
    前記ツリーブロックグループの前記インター予測されたPUの前記参照ブロックに少なくとも部分的に基づいて、前記現在のピクチャの復号ビデオブロックを生成することと
    を行わせる命令を記憶した、コンピュータ可読記憶媒体。
JP2014542357A 2011-11-16 2012-11-09 ビデオデータの波面並列処理における制限された参照ピクチャセット Pending JP2015502091A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161560737P 2011-11-16 2011-11-16
US61/560,737 2011-11-16
US13/672,265 US20130121417A1 (en) 2011-11-16 2012-11-08 Constrained reference picture sets in wave front parallel processing of video data
US13/672,265 2012-11-08
PCT/US2012/064402 WO2013074410A1 (en) 2011-11-16 2012-11-09 Constrained reference picture sets in wave front parallel processing of video data

Publications (1)

Publication Number Publication Date
JP2015502091A true JP2015502091A (ja) 2015-01-19

Family

ID=48280628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014542357A Pending JP2015502091A (ja) 2011-11-16 2012-11-09 ビデオデータの波面並列処理における制限された参照ピクチャセット

Country Status (7)

Country Link
US (1) US20130121417A1 (ja)
EP (1) EP2781092A1 (ja)
JP (1) JP2015502091A (ja)
KR (1) KR20140098789A (ja)
CN (1) CN103988505A (ja)
IN (1) IN2014CN03428A (ja)
WO (1) WO2013074410A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5878756B2 (ja) * 2011-12-28 2016-03-08 浜松ホトニクス株式会社 画像処理装置、撮像装置、顕微鏡装置、画像処理方法、及び画像処理プログラム
US20140269920A1 (en) * 2013-03-15 2014-09-18 Cisco Technology, Inc. Motion Estimation Guidance in Transcoding Operation
US9571858B2 (en) * 2013-07-19 2017-02-14 Futurewei Technologies, Inc. Method and apparatus of derivation for a binary partition pattern
BR112016007151A2 (pt) 2013-10-14 2017-09-12 Microsoft Tech Licensing recursos de modo de predição de cópia intrabloco para codificação e decodificação de vídeo e de imagem
AU2013403225B2 (en) 2013-10-14 2018-06-14 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
EP3058736B1 (en) 2013-10-14 2019-02-27 Microsoft Technology Licensing, LLC Encoder-side options for intra block copy prediction mode for video and image coding
WO2015100726A1 (en) 2014-01-03 2015-07-09 Microsoft Corporation Block vector prediction in video and image coding/decoding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
EP3253059A1 (en) 2014-03-04 2017-12-06 Microsoft Technology Licensing, LLC Block flipping and skip mode in intra block copy prediction
CN105493505B (zh) 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
WO2016002140A1 (ja) * 2014-07-03 2016-01-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
RU2679201C2 (ru) * 2014-09-30 2019-02-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Правила для режимов внутрикадрового прогнозирования, когда активируется волновая параллельная обработка данных
GB2531001B (en) * 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US11477484B2 (en) * 2015-06-22 2022-10-18 Qualcomm Incorporated Video intra prediction using hybrid recursive filters
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US11037019B2 (en) 2018-02-27 2021-06-15 Adobe Inc. Generating modified digital images by identifying digital image patch matches utilizing a Gaussian mixture model
US10743029B2 (en) * 2018-07-30 2020-08-11 Tencent America LLC Constraints on coding unit partition
CN110536140B (zh) * 2018-09-20 2021-09-07 北京达佳互联信息技术有限公司 视频编码方法及装置
US10762680B1 (en) 2019-03-25 2020-09-01 Adobe Inc. Generating deterministic digital image matching patches utilizing a parallel wavefront search approach and hashed random number
US11202070B2 (en) * 2019-05-30 2021-12-14 Hulu, LLC Parallel bi-directional intra-coding of sub-partitions
US11197009B2 (en) 2019-05-30 2021-12-07 Hulu, LLC Processing sub-partitions in parallel using reference pixels
US11449974B2 (en) 2019-11-08 2022-09-20 Adobe Inc. Generating modified digital images utilizing nearest neighbor fields from patch matching operations of alternate digital images

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010027457A1 (en) * 2008-09-04 2010-03-11 Thomson Licensing Methods and apparatus for prediction refinement using implicit motion prediction
JP2011066638A (ja) * 2009-09-16 2011-03-31 Sony Corp 画像復号装置、画像復号方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6029979B2 (ja) * 2009-08-20 2016-11-24 トムソン ライセンシングThomson Licensing ツリー構造を再使用してバイナリ・セットを符号化および復号する方法および装置
US20140003521A1 (en) * 2011-03-11 2014-01-02 Samsung Electronics Co., Ltd. Method and apparatus for encoding images and method and apparatus for decoding
CA2840483C (en) * 2011-06-27 2017-09-26 Tammy Lee Encoding and decoding video by providing a predetermined minimum amount of motion information from spatial and temporal prediction units
US9332283B2 (en) * 2011-09-27 2016-05-03 Broadcom Corporation Signaling of prediction size unit in accordance with video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010027457A1 (en) * 2008-09-04 2010-03-11 Thomson Licensing Methods and apparatus for prediction refinement using implicit motion prediction
JP2011066638A (ja) * 2009-09-16 2011-03-31 Sony Corp 画像復号装置、画像復号方法およびプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6016000777; Ken McCann, et.al.: '"Samsung's Response to the Call for Proposals on Video Compression Technology"' [online] Document: JCTVC-A124, 20100423, 第1〜11頁, Joint Collaborative Team on Video Coding (JCT-VC) *
JPN6016000778; 藤村誠(外3名): '「単一参照フレーム間予測のMotion JPEGへの適用」' 映像情報メディア学会技術報告 Vol.31, No.64, 20071213, 第45〜50頁, (社)映像情報メディア学会 *
JPN6016000779; Muhammed Coban, et.al.: '"Unification of picture partitioning schemes"' [online] Document: JCTVC-G315(version 1), 20111109, Joint Collaborative Team on Video Coding (JCT-VC) *
JPN6016000780; Gordon Clare, et.al.: '"Wavefront Parallel Processing for HEVC Encoding and Decoding"' [online] Document: JCTVC-F274(version 2), 20110716, Joint Collaborative Team on Video Coding (JCT-VC) *

Also Published As

Publication number Publication date
WO2013074410A1 (en) 2013-05-23
KR20140098789A (ko) 2014-08-08
IN2014CN03428A (ja) 2015-10-09
US20130121417A1 (en) 2013-05-16
CN103988505A (zh) 2014-08-13
EP2781092A1 (en) 2014-09-24

Similar Documents

Publication Publication Date Title
JP2015502091A (ja) ビデオデータの波面並列処理における制限された参照ピクチャセット
US10097842B2 (en) Restriction of escape pixel signaled values in palette mode video coding
US9699472B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
US9872040B2 (en) Color index coding for palette-based video coding
US9900617B2 (en) Single color palette mode in video coding
US9426463B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
US9736489B2 (en) Motion vector determination for video coding
JP6462886B2 (ja) 大きいコーディングツリーユニットのためのコンテキスト
JP6181150B2 (ja) コード化ブロックフラグのコーディング
JP5893747B2 (ja) コード化スライスnalユニット中のセグメントのパディング
JP6174139B2 (ja) タイル及び波面並列処理
US9706200B2 (en) Unification of signaling lossless coding mode and pulse code modulation (PCM) mode in video coding
JP6046235B2 (ja) ビデオコーディングにおけるコード化ブロックフラグ推論
JP2018524906A (ja) イントラブロックコピーモードでの参照ピクチャリスト構成
JP2017514365A (ja) ビデオコーディングにおけるパレットサイズ、パレットエントリ、およびパレットコード化ブロックのフィルタリングの決定
JP2017525316A (ja) パレットモードコーディングのための方法
JP2017527168A (ja) 高度パレット予測およびシグナリング
US9848198B2 (en) Diagonal copy for palette mode coding

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160119

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160816