(57)【特許請求の範囲】
【請求項１】
現在ピクチャのビデオデータの現在ブロックを符号化する方法であって、前記方法は、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）を識別することと、前記複数の参照ブロックは、前記現在ピクチャとは異なる少なくとも１つのピクチャに関連する、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成することと、
メモリ内で、前記複数の参照ブロックに関連する前記複数のＱＰを前記参照ＱＰに置き換えることと、
前記参照ＱＰに基づいてビデオデータの前記現在ブロックを符号化することと、
を備える方法。
【請求項２】
現在ピクチャのビデオデータの現在ブロックを復号する方法であって、前記方法は、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）を識別することと、前記複数の参照ブロックは、前記現在ピクチャとは異なる少なくとも１つのピクチャに関連する、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成することと、
メモリ内で、前記複数の参照ブロックに関連する前記複数のＱＰを前記参照ＱＰに置き換えることと、
前記参照ＱＰに基づいてビデオデータの前記現在ブロックを復号することと、
を備える方法。
【請求項３】
前記参照ＱＰを生成することは、前記複数のＱＰに基づき平均ＱＰを生成することを備える、請求項１または２に記載の方法。
【請求項４】
前記平均ＱＰを生成することは、前記複数の参照ブロックに関連する前記複数のＱＰの平均を計算することを備える、請求項３に記載の方法。
【請求項５】
前記平均ＱＰを生成することは、式
【数１】
0005844460.tif 000008
に基づいて前記平均ＱＰを生成することを備え、
Ｎは、前記複数のＱＰの数を備え、ＱＰkは、平均化される前記数のＱＰの各々を備える、請求項４に記載の方法。
【請求項６】
前記参照ＱＰを生成することは、前記複数の参照ブロックに関連する前記複数のＱＰから代表ＱＰを選択することを備える、請求項１または２に記載の方法。
【請求項７】
前記複数の参照ブロックに関連する前記複数のＱＰを識別することは、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記複数の参照ブロックのための前記複数のＱＰを識別することを備える、請求項１または２に記載の方法。
【請求項８】
前記現在ブロックを符号化することは、
前記現在ブロックの変換係数を量子化するための実際のＱＰを決定することと、
前記実際のＱＰと前記参照ＱＰとの間の差分に基づいてデルタＱＰを決定することと、
前記デルタＱＰの指示を含むようにビットストリームを生成することと
をさらに備える、請求項１または２に記載の方法。
【請求項９】
１つまたは複数のプロセッサを備える現在ピクチャのビデオデータを符号化するための装置であって、前記１つまたは複数のプロセッサは、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）を識別することと、前記複数の参照ブロックは、前記現在ピクチャとは異なる少なくとも１つのピクチャに関連する、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成することと、
メモリ内で、前記複数の参照ブロックに関連する前記複数のＱＰを前記参照ＱＰに置き換えることと、
前記参照ＱＰに基づいてビデオデータの前記現在ブロックを符号化することと
を行うように構成された、装置。
【請求項１０】
１つまたは複数のプロセッサを備える、現在ピクチャのビデオデータを復号するための装置であって、前記１つまたは複数のプロセッサは、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）を識別することと、前記複数の参照ブロックは、前記現在ピクチャとは異なる少なくとも１つのピクチャに関連する、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成することと、
メモリ内で、前記複数の参照ブロックに関連する前記複数のＱＰを前記参照ＱＰに置き換えることと、
前記参照ＱＰに基づいてビデオデータの現在ブロックを復号することと
を行うように構成された、装置。
【請求項１１】
前記１つまたは複数のプロセッサは、前記複数のＱＰに基づき平均ＱＰを生成することによって前記参照ＱＰを生成するように構成された、請求項９または１０に記載の装置。
【請求項１２】
前記１つまたは複数のプロセッサは、前記複数の参照ブロックに関連する前記複数のＱＰの平均を計算することによって前記平均ＱＰを生成するように構成された、請求項１１に記載の装置。
【請求項１３】
前記１つまたは複数のプロセッサは、式
【数２】
0005844460.tif 000009
に基づいて前記平均ＱＰを生成することによって前記平均ＱＰを生成するように構成され、
Ｎは、前記複数のＱＰの数を備え、ＱＰkは、前記複数のＱＰの各々を備える、請求項１２に記載の装置。
【請求項１４】
前記１つまたは複数のプロセッサは、前記複数の参照ブロックに関連する前記複数のＱＰから代表ＱＰを選択することによって前記参照ＱＰを生成するように構成された、請求項９または１０に記載の装置。
【請求項１５】
前記１つまたは複数のプロセッサは、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記複数の参照ブロックのための前記複数のＱＰを識別することによって、前記複数の参照ブロックに関連する前記複数のＱＰを識別するように構成された、請求項９または１０に記載の装置。
【請求項１６】
前記装置はビデオエンコーダを備え、前記１つまたは複数のプロセッサは、
前記現在ブロックの変換係数を量子化するための実際のＱＰを決定することと、
前記実際のＱＰと前記参照ＱＰとの間の差分に基づいてデルタＱＰを決定することと、
前記デルタＱＰの指示を含むようにビットストリームを生成することと
を行うようにさらに構成された、請求項９に記載の装置。
【請求項１７】
現在ピクチャのビデオデータの現在ブロックを復号するための装置であって、前記装置は、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）を識別する手段と、前記複数の参照ブロックは、前記現在ピクチャとは異なる少なくとも１つのピクチャに関連する、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成する手段と、
メモリ内で、前記複数の参照ブロックに関連する前記複数のＱＰを前記参照ＱＰに置き換える手段と、
前記参照ＱＰに基づいてビデオデータの前記現在ブロックを復号する手段と、
を備える装置。
【請求項１８】
前記参照ＱＰを生成する前記手段は、平均ＱＰを生成する手段を備える、請求項１７に記載の装置。
【請求項１９】
前記平均ＱＰを生成する前記手段は、前記複数の参照ブロックに関連する前記複数のＱＰの平均を計算する手段を備える、請求項１８に記載の装置。
【請求項２０】
前記参照ＱＰを生成する前記手段は、前記複数の参照ブロックに関連する前記複数のＱＰから代表ＱＰを選択する手段を備える、請求項１７に記載の装置。
【請求項２１】
前記複数の参照ブロックに関連する前記複数のＱＰを識別する前記手段は、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記複数の参照ブロックのための前記複数のＱＰを識別する手段を備える、請求項１７に記載の装置。
【請求項２２】
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたとき、１つまたは複数のプロセッサに、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）を識別することと、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成することと、
メモリ内で、前記複数の参照ブロックに関連する前記複数のＱＰを前記参照ＱＰに置き換えることと、
前記参照ＱＰに基づいてビデオデータのブロックを復号することと、
を行わせる、非一時的コンピュータ可読記憶媒体。
【請求項２３】
前記参照ＱＰを生成するために、前記命令は、前記１つまたは複数のプロセッサに、平均ＱＰを生成することを行わせる、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２４】
前記平均ＱＰを生成するために、前記命令は、前記１つまたは複数のプロセッサに、前記複数の参照ブロックに関連する前記複数のＱＰの平均を計算することを行わせる、請求項２３に記載のコンピュータ可読記憶媒体。
【請求項２５】
前記参照ＱＰを生成するために、前記命令は、前記１つまたは複数のプロセッサに、前記複数の参照ブロックに関連する前記複数のＱＰから代表ＱＰを選択することを行わせる、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２６】
前記複数の参照ブロックに関連する前記複数のＱＰを識別するために、前記命令は、前記１つまたは複数のプロセッサに、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記複数の参照ブロックのための前記複数のＱＰを識別することを行わせる、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２７】
ビデオデータを符号化する方法であって、
ビデオデータの１つまたは複数の参照ブロックのための予測参照ＱＰを決定することと、前記１つまたは複数の参照ブロックは、現在ピクチャの現在ブロックをコーディングするための参照として使用され、前記複数の参照ブロックは、前記現在ピクチャとは異なる少なくとも１つのピクチャに関連する、
前記１つまたは複数の参照ブロックのうちの各参照ブロックのための実際のＱＰを決定することと、
前記実際のＱＰと前記予測参照ＱＰとの間の差分に基づいて、前記１つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照ＱＰを生成することと、
各参照ブロックのための前記デルタ参照ＱＰを記憶することと、
前記記憶されたデルタ参照ＱＰのうちの１つまたは複数に基づきビデオデータの前記現在ブロックのためのＱＰを符号化することと、
を備える方法。
【請求項２８】
ビデオデータを符号化する方法であって、
ビデオデータの１つまたは複数の参照ブロックのための予測参照ＱＰを決定することと、前記１つまたは複数の参照ブロックは、現在ピクチャの現在ブロックをコーディングするための参照として使用され、前記複数の参照ブロックは、前記現在ピクチャとは異なる少なくとも１つのピクチャに関連する、
前記１つまたは複数の参照ブロックの各参照ブロックのための実際のＱＰを決定することと、
前記実際のＱＰと前記予測参照ＱＰとの間の差分に基づいて、前記１つまたは複数の参照ブロックの各参照ブロックのためのデルタ参照ＱＰを生成することと、
各参照ブロックのための前記デルタ参照ＱＰを記憶することと、
前記記憶されたデルタ参照ＱＰのうちの１つまたは複数に基づきビデオデータの前記現在ブロックのためのＱＰを符号化することと、
を備える方法。
【請求項２９】
前記デルタ参照ＱＰを記憶する前に、前記デルタ参照ＱＰに関連するビット深度を低減することをさらに備える、請求項２７または２８に記載の方法。
【請求項３０】
前記ビット深度を低減することは、前記デルタ参照ＱＰを量子化することを備える、請求項２９に記載の方法。
【請求項３１】
前記予測参照ＱＰを決定することは、前記１つまたは複数の参照ブロックが属するビデオデータのスライスに関連するスライスＱＰを決定することを備える、請求項２７または２８に記載の方法。
【請求項３２】
前記現在ブロックのための前記ＱＰを符号化することは、
前記現在ブロックの変換係数を量子化するための実際のＱＰを決定することと、
前記少なくとも１つの参照ブロックの前記デルタ参照ＱＰと前記予測参照ＱＰとに基づき少なくとも１つの参照ブロックのための少なくとも１つの実際のＱＰを再構成することと、
前記現在ブロックのための前記実際のＱＰと前記少なくとも１つの参照ブロックのための前記再構成された少なくとも１つの実際のＱＰとの間の差分に基づいて前記現在ブロックのためのデルタＱＰを決定することと、
前記現在ブロックのための前記デルタＱＰの指示を含むようにビットストリームを生成することと
を備える、請求項２７に記載の方法。
【請求項３３】
前記現在ブロックのための前記ＱＰを復号することは、
符号化されたビットストリームから前記現在ブロックのためのデルタＱＰの指示を得ることと、
前記少なくとも１つの参照ブロックの前記デルタ参照ＱＰと前記予測参照ＱＰとに基づき少なくとも１つの参照ブロックのための少なくとも１つの実際のＱＰを再構成することと、
前記現在ブロックの前記指示されたデルタＱＰと前記少なくとも１つの参照ブロックの前記再構成された少なくとも１つの実際のＱＰとの組合せに基づいて、前記現在ブロックの変換係数を逆量子化するための前記実際のＱＰを決定することと、
前記現在ブロックのための前記決定された実際のＱＰを使用して前記変換係数を逆量子化することと
を備える、請求項２８に記載の方法。
【請求項３４】
１つまたは複数のプロセッサを備えるビデオデータを符号化するための装置であって、前記１つまたは複数のプロセッサは、
ビデオデータの１つまたは複数の参照ブロックのための予測参照ＱＰを決定することと、前記１つまたは複数の参照ブロックは、現在ピクチャの現在ブロックをコーディングするための参照として使用され、前記複数の参照ブロックは、前記現在ピクチャとは異なる少なくとも１つのピクチャに関連する、
前記１つまたは複数の参照ブロックのうちの各参照ブロックのための実際のＱＰを決定することと、
前記実際のＱＰと前記予測参照ＱＰとの間の差分に基づいて、前記１つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照ＱＰを生成することと、
各参照ブロックのための前記デルタ参照ＱＰを記憶することと、
前記記憶されたデルタ参照ＱＰのうちの１つまたは複数に基づき、ビデオデータの前記現在ブロックのためのＱＰを符号化することと、
を行うように構成された、装置。
【請求項３５】
１つまたは複数のプロセッサを備えるビデオデータを復号するための装置であって、前記１つまたは複数のプロセッサは、
ビデオデータの１つまたは複数の参照ブロックのための予測参照ＱＰを決定することと、前記１つまたは複数の参照ブロックは、現在ピクチャの現在ブロックをコーディングするための参照として使用され、前記複数の参照ブロックは、前記現在ピクチャとは異なる少なくとも１つのピクチャに関連する、
前記１つまたは複数の参照ブロックの各参照ブロックのための実際のＱＰを決定することと、
前記実際のＱＰと前記予測参照ＱＰとの間の差分に基づいて、前記１つまたは複数の参照ブロックの各参照ブロックのためのデルタ参照ＱＰを生成することと、
各参照ブロックのための前記デルタ参照ＱＰを記憶することと、
前記記憶されたデルタ参照ＱＰのうちの１つまたは複数に基づき、ビデオデータの前記現在ブロックのためのＱＰを復号することと、
を行うように構成された、装置。
【請求項３６】
前記１つまたは複数のプロセッサは、前記デルタ参照ＱＰを記憶する前に、前記デルタ参照ＱＰに関連するビット深度を低減するようにさらに構成された、請求項３４または３５に記載の装置。
【請求項３７】
前記１つまたは複数のプロセッサは、前記デルタ参照ＱＰを量子化することによって前記ビット深度を低減するように構成された、請求項３６に記載の装置。
【請求項３８】
前記１つまたは複数のプロセッサは、前記１つまたは複数の参照ブロックが属するビデオデータのスライスに関連するスライスＱＰを決定することによって前記予測参照ＱＰを決定するように構成された、請求項３４または３５に記載の装置。
【請求項３９】
前記装置はビデオエンコーダを備え、前記１つまたは複数のプロセッサは、
前記現在ブロックの変換係数を量子化するための実際のＱＰを決定することと、
前記少なくとも１つの参照ブロックの前記デルタ参照ＱＰと前記予測参照ＱＰとに基づき少なくとも１つの参照ブロックのための少なくとも１つの実際のＱＰを再構成することと、
前記現在ブロックのための前記実際のＱＰと前記少なくとも１つの参照ブロックのための前記再構成された少なくとも１つの実際のＱＰとの間の差分に基づいて前記現在ブロックのためのデルタＱＰを決定することと、
前記現在ブロックのための前記デルタＱＰの指示を含むようにビットストリームを生成することと
を行うようにさらに構成された、請求項３４に記載の装置。
【請求項４０】
前記装置はビデオデコーダを備え、１つまたは複数のプロセッサは、
符号化されたビットストリームから前記現在ブロックのためのデルタＱＰの指示を得ることと、
前記少なくとも１つの参照ブロックの前記デルタ参照ＱＰと前記予測参照ＱＰとに基づき少なくとも１つの参照ブロックのための少なくとも１つの実際のＱＰを再構成することと、
前記現在ブロックの前記指示されたデルタＱＰと前記少なくとも１つの参照ブロックの再構成された少なくとも１つの実際のＱＰとの組合せに基づいて、前記現在ブロックの変換係数を逆量子化するための前記実際のＱＰを決定することと、
前記現在ブロックのための前記決定された実際のＱＰを使用して前記変換係数を逆量子化することと
を行うようにさらに構成された、請求項３５に記載の装置。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、各々の内容全体が参照により全文が本明細書に組み込まれる、２０１１年６月２２日に出願された米国仮特許出願第６１／５００，１０３号、２０１１年７月２日に出願された米国仮特許出願第６１／５０４，１８２号２０１１年９月２９日に出願された米国仮特許出願第６１／５４０，８８６号、および２０１１年１０月２８日に出願された米国仮特許出願第６１／５５２，８９５号の優先権を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディング技法に関し、より詳細には、ビデオコーディングにおける量子化に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。
【０００４】
[0004]デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装し得る。ＭＰＥＧとＩＴＵ−Ｔとのコラボレーションである「Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ−Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」（ＪＣＴ−ＶＣ）によって開発されているＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格など、新しいビデオコーディング規格が開発されている。新生のＨＥＶＣ規格は、Ｈ．２６５と呼ばれることもあるが、そのような名称は公式になされたものでない。
【発明の概要】
【０００５】
[0005]本開示の技法は、概して、ビデオコーディングと、ビデオコーディングにおける量子化とに関する。たとえば、本開示の技法は、概して、ビデオコーディング中に量子化のために記憶されるデータの量を低減することに関する。すなわち、量子化は、量子化パラメータ（ＱＰ：quantization parameter）を使用してビデオコーディング中に実行され得る。いくつかの事例では、ＱＰは、参照ＱＰと呼ばれることがある、別の記憶されたＱＰから予測され得る。本開示の技法は、概して、ＱＰを予測するために記憶されるデータの量を低減することに関する。たとえば、本開示の技法は、記憶される参照ＱＰデータの量を制限することに関する。本開示の態様によれば、各参照ピクチャ（たとえば、他のピクチャを予測するために使用されるピクチャ）のブロックごとに参照ＱＰを記憶するのではなく、そのような参照ＱＰデータの一部分のみが記憶され得る。
【０００６】
[0006]他の態様によれば、本開示は、参照ＱＰを予測し、予測された参照ＱＰに対して参照ＱＰを記憶することによって記憶される参照ＱＰデータの量を制限するための技法を含む。たとえば、ＱＰが、所与のエリアにわたって大きい変動を示さないことがある。そのような例では、参照ＱＰは、あるエリアについて予測され得、予測された参照ＱＰと実際の参照ＱＰとの間の差分のみが記憶され得る。デルタ参照ＱＰと呼ばれることがある、差分値を記憶することによって、記憶される参照ＱＰデータの量が低減され得る。
【０００７】
[0007]他の態様によれば、本開示は、（たとえば、２つ以上の参照ブロックからの）２つ以上の参照ＱＰを使用して現在ブロックをコーディングするためのＱＰを予測するための技法を含む。すなわち、本開示の技法は、たとえば、２つ以上の参照ピクチャからの、２つ以上の参照ＱＰに基づく予測ＱＰを使用して、現在ブロックについてデルタＱＰを生成することを含む。本開示のいくつかの態様によれば、複数の参照ＱＰを使用して重み付けＱＰ予測値が生成され得る。
【０００８】
[0008]一例では、本開示の態様は、ビデオデータをコーディングする方法であって、ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）値を識別することと、複数のＱＰに基づいて複数の参照ブロックのための参照ＱＰを生成することと、参照ＱＰを記憶することと、記憶された参照ＱＰに基づいてビデオデータのブロックをコーディングすることとを備える方法に関する。
【０００９】
[0009]別の例では、本開示の態様は、１つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置い関連し、１つまたは複数のプロセッサは、ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）値を識別することと、複数のＱＰに基づいて複数の参照ブロックのための参照ＱＰを生成することと、参照ＱＰを記憶することと、記憶された参照ＱＰに基づいてビデオデータのブロックをコーディングすることとを行うように構成される。
【００１０】
[0010]別の例では、本開示の態様は、ビデオデータをコーディングするための装置に関連し、該装置は、ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）値を識別するための手段と、複数のＱＰに基づいて複数の参照ブロックのための参照ＱＰを生成するための手段と、参照ＱＰを記憶するための手段と、記憶された参照ＱＰに基づいてビデオデータのブロックをコーディングするための手段とを備える。
【００１１】
[0011]別の例では、本開示の態様は、命令を記憶した非一時的コンピュータ可読記憶媒体に関連し、該命令は、実行されたとき、１つまたは複数のプロセッサに、ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）値を識別することと、複数のＱＰに基づいて複数の参照ブロックのための参照ＱＰを生成することと、参照ＱＰを記憶することと、記憶された参照ＱＰに基づいてビデオデータのブロックをコーディングすることとを行わせる。
【００１２】
[0012]別の例では、本開示の態様は、ビデオデータをコーディングする方法に関連し、該方法は、ビデオデータの１つまたは複数の参照ブロックのための予測参照ＱＰを決定することと、１つまたは複数の参照ブロックのうちの各参照ブロックのための実際のＱＰを決定することと、実際のＱＰと予測参照ＱＰとの間の差分に基づいて、１つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照ＱＰを生成することと、各参照ブロックのためのデルタ参照ＱＰを記憶することとを備える。
【００１３】
[0013]別の例では、本開示の態様は、１つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置に関連し、１つまたは複数のプロセッサは、ビデオデータの１つまたは複数の参照ブロックのための予測参照ＱＰを決定することと、１つまたは複数の参照ブロックのうちの各参照ブロックのための実際のＱＰを決定することと、実際のＱＰと予測参照ＱＰとの間の差分に基づいて、１つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照ＱＰを生成することと、各参照ブロックのためのデルタ参照ＱＰを記憶することとを行うように構成される。
【００１４】
[0014]別の例では、本開示の態様は、ビデオデータをコーディングする方法に関連し、本方法は、第１の時間インスタンスを有するビデオデータの１つまたは複数のブロックに関連する第１の参照ＱＰを識別することと、第２の時間インスタンスを有するビデオデータの１つまたは複数のブロックに関連する第２の参照ＱＰを識別することと、第２の時間インスタンスは第１の時間インスタンスとは異なり、第３の時間インスタンスを有するビデオデータのブロックのためのＱＰ予測子（predictor）を生成することと、第３の時間インスタンスは第１の時間インスタンスおよび第２の時間インスタンスとは異なり、ＱＰ予測子は第１の参照ＱＰと第２の参照ＱＰとに基づく。
【００１５】
[0015]別の例では、本開示の態様は、１つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置に関連し、１つまたは複数のプロセッサは、第１の時間インスタンスを有するビデオデータの１つまたは複数のブロックに関連する第１の参照ＱＰを識別することと、第１の時間インスタンスとは異なる第２の時間インスタンスを有するビデオデータの１つまたは複数のブロックに関連する第２の参照ＱＰを識別することと、第１の時間インスタンスおよび第２の時間インスタンスとは異なる第３の時間インスタンスを有するビデオデータのブロックのためのＱＰ予測子を生成することと、を行うように構成され、ＱＰ予測子は第１の参照ＱＰと第２の参照ＱＰとに基づく。
【００１６】
[0016]本開示の１つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１７】
【図１】本開示の技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】本開示の技法のいずれかまたはすべてを実装し得るビデオエンコーダの一例を示すブロック図。
【図３】符号化ビデオシーケンスを復号するビデオデコーダの一例を示すブロック図。
【図４Ａ】例示的な４分木（quadtree）を示す概念図。
【図４Ｂ】対応する最大コーディングユニット（ＬＣＵ：largest coding unit）を示す概念図。
【図５】ビデオコーディングデバイスによって記憶される参照ＱＰデータの量を低減することを示す概念図。
【図６】ピクチャグループ（ＧＯＰ：group of pictures）の一部分を示す概念図。
【図７】ビデオコーディングデバイスによって記憶される参照ＱＰデータの量を低減するための例示的な技法を示す流れ図。
【図８】ビデオコーディングデバイスによって記憶される参照ＱＰデータの量を低減するための別の例示的な技法を示す流れ図。
【図９】２つ以上の参照ＱＰから予測ＱＰを決定するための例示的な技法を示す流れ図。
【発明を実施するための形態】
【００１８】
[0026]本開示の技法は、概して、量子化中に記憶されるデータの量を低減することに関する。より詳細には、本開示の技法は、ＱＰ予測を実行するときに記憶される参照量子化パラメータ（ＱＰ）データの量を低減することに関する。
【００１９】
[0027]概して、符号化ビデオデータは予測データと残差データとを含み得る。たとえば、ビデオエンコーダは、イントラ予測モードまたはインター予測モード中に予測データを生成し得る。イントラ予測は、概して、あるピクチャのブロック中のピクセル値を、同じピクチャの隣接する、前にコーディングされたブロック中の参照サンプルに対して予測することを伴う。インター予測は、概して、あるピクチャのブロック中のピクセル値を、前にコーディングされたピクチャのデータに対して予測することを伴う。
【００２０】
[0028]イントラ予測またはインター予測の後に、ビデオエンコーダはブロックの残差ピクセル値を計算し得る。残差値は、概して、ブロックの予測ピクセル値データと、ブロックの真のピクセル値データとの間の差分に対応する。たとえば、残差値は、コード化ピクセルと予測ピクセルとの間の差分を示すピクセル差分値を含み得る。コード化ピクセルは、コーディングされるべきピクセルのブロックに関連し得、予測ピクセルは、コード化ブロックを予測するために使用されるピクセルの１つまたは複数のブロックに関連し得る。
【００２１】
[0029]ブロックの残差値をさらに圧縮するために、ビデオエンコーダは、（「エネルギー」とも呼ばれる）できるだけ多くのデータをできるだけ少数の係数に構成する変換係数のセットに、残差値を変換し得る。この変換は、空間領域からのピクセルの残差値を変換領域中の変換係数に変換する。変換係数は、元のブロックと通常同じサイズである係数の２次元行列に対応する。言い換えれば、元のブロック中のピクセルと通常同数の変換係数がある。ただし、変換により、変換係数の多くは、０に等しい値を有し得る。
【００２２】
[0030]ビデオエンコーダは、次いで、ビデオデータをさらに圧縮するために変換係数を量子化し得る。量子化は、概して、相対的に大きい範囲内の値を相対的に小さい範囲中の値にマッピングし、それによって、量子化変換係数を表すために必要とされるデータの量を低減することを伴う。ビデオエンコーダは、あらかじめ定義されたアルゴリズムに従って量子化パラメータ（ＱＰ）を適用することによって変換係数を量子化し得る。ビデオエンコーダは、ＱＰを調整することによって、変換係数値に適用される量子化の程度を変更し得る。いくつかの例では、ビデオエンコーダは、−２６〜＋２５の範囲内のＱＰを選択し得る。
【００２３】
[0031]いくつかの例では、ビデオエンコーダは、スライス（またはピクチャ）内のあるブロックから別のブロックまでＱＰを変化させ得る。たとえば、適応量子化と呼ばれることがある、ブロック間でＱＰを変化させることは、視覚的品質改善をターゲットにする。すなわち、人間の眼は、概して、視覚的に「ビジー」なエリア内の劣化よりも、視覚的に「フラット」なエリア（たとえば、輝度または色の変化があまり多くないスライスまたはピクチャのエリア）内の劣化に敏感である。したがって、適応量子化は、フラットなエリア上でより細かい量子化を実行し、ビジーなエリア上でより粗い量子化を実行することによって、これらの視覚的制限を活用することを試みる。
【００２４】
[0032]ビデオエンコーダがビットストリーム中でシグナリングしなければならないデータの量を低減するために、ビデオエンコーダは、所与のブロックのＱＰを予測し得る。たとえば、ＱＰ自体を含めるのではなく、ビデオエンコーダは、現在ブロックのための実際のＱＰと、何らかの参照ＱＰ（たとえば、異なるブロックに関連するＱＰ）との間の変化（すなわち、デルタ）を識別し得る。ビデオエンコーダは、次いで、ビットストリーム中で現在ブロックのデルタＱＰをシグナリングし得る。
【００２５】
[0033]デルタＱＰを生成するとき、ビデオエンコーダは、現在ブロックに空間的に隣接するブロック（たとえば、同じスライスまたはピクチャ中の隣接ブロック）に関連する参照ＱＰを識別し得る。たとえば、Ｈ．２６４対応エンコーダは、現在マクロブロックの参照ＱＰとして隣接マクロブロックのＱＰを使用して、マクロブロックレベルでデルタＱＰをシグナリングし得る。本質的に一貫したマクロブロックサイズおよびラスタ走査順序は、当然、隣接マクロブロックのＱＰ間に存在する空間相関を維持する。
【００２６】
[0034]しかしながら、以下でより詳細に説明するように、提案されたＨＥＶＣ規格は、サイズが変化し得るコーディングユニット（ＣＵ：coding unit）の概念を導入する。ＣＵの変化するサイズおよび走査順序は、Ｈ．２６４において一般的な空間相関を破壊し得る。そのような事例では、現在ＱＰとは異なる時間インスタンスの参照ＱＰが、空間的に隣接するＱＰよりも正確な予測子を与え得る。したがって、いくつかの例では、ビデオエンコーダは、現在ブロックのデルタＱＰを生成するとき、現在ブロックとは異なる時間インスタンスからのブロックに関連する参照ＱＰを識別し得る。すなわち、ビデオエンコーダは、現在ピクチャの現在ブロックのＱＰのための参照ＱＰとして、前に符号化されたピクチャの、前に符号化されたブロックに関連するＱＰを識別し得る。現在ブロックがインター予測される例では、参照ＱＰは、動きベクトル情報によって識別される参照ブロックに関連し得る。ビデオエンコーダは、次いで、参照ＱＰを使用して現在ブロックのデルタＱＰを生成し得る。
【００２７】
[0035]異なる時間インスタンス中の参照ＱＰを使用して現在ブロックのＱＰを効率的に予測するために、ビデオエンコーダはいくつかのＱＰを記憶しなければならない。たとえば、ビデオエンコーダは、現在ブロックによって参照され得る各参照ピクチャの各ブロックのＱＰを記憶しなければならない。同様に、ビデオデコーダはまた、逆量子化を実行するために参照ＱＰデータを記憶しなければならない。そのようなＱＰを記憶するためにかなりの記憶域が必要とされ得る。たとえば、提案されたＨＥＶＣ規格は、最高１６個の参照ピクチャが使用されることを可能にし、ＱＰは、各ピクチャ内の８×８ブロックごとに生成され、記憶され得る。その上、ＱＰは０〜５１の間で変化し得る。参照ピクチャのすべてのＱＰが参照ＱＰとして使用するために記憶された場合、かなりの量の記憶域が消費され得る。
【００２８】
[0036]本開示の技法は、概して、ＱＰを予測するために記憶されるデータの量を低減することに関する。たとえば、本開示の技法は、記憶される参照ＱＰデータの量を制限することに関する。いくつかの例では、参照ピクチャ（またはスライス）のために参照ＱＰデータの一部分のみが記憶され得る。他の例では、予測された参照ＱＰが生成され得、予測された参照ＱＰと実際の参照ＱＰとの間の差分が記憶され得る。
【００２９】
[0037]たとえば、上述のように、ビデオコーダは、何らかの他のＱＰに対してブロックの変換係数を量子化するために使用されるＱＰを示すビデオデータのブロックのためのデルタＱＰを決定し得る。いくつかの事例では、他の時間インスタンスの参照ブロックに関連する参照ＱＰを使用してデルタＱＰを生成するために、ビデオコーダは、８×８参照ブロック（たとえば、予測のために使用される参照ピクチャのブロック）ごとに参照ＱＰを記憶し得る。一例では、本開示の態様によれば、ビデオコーダは、複数の参照ブロックのための平均参照ＱＰを生成し得る。すなわち、ビデオコーダは、参照ピクチャのあらかじめ定義されたエリア内の参照ＱＰを平均化し得る。いくつかの例では、ビデオコーダは、１６×１６エリア、３２×３２エリア、６４×６４エリアなどの中にあるブロックに関連する参照ＱＰを平均化し得る。参照ＱＰ平均化エリアは、概して、平均化エリアが（たとえば、ブロックを２つの別個の平均化エリアの間で分割することなしに）１つまたは複数のフルブロックを包含するように、ブロック境界と整合し得る。平均化されるＱＰの数は、最小ブロックサイズ、記憶域節約の所望量などに従って選択され得る。
【００３０】
[0038]別の例では、記憶される参照ＱＰデータの量を低減するために、ビデオコーダは、特定のエリアから参照ＱＰをサブサンプリングし得る。たとえば、ビデオコーダは、いくつかの関連するＱＰ（たとえば、コーディング中に参照ＱＰとして使用され得るＱＰ）を有するいくつかのブロックを含むエリアを識別し得る。上記で説明したように、エリアにわたってＱＰを平均化する代わりに、ビデオコーダは、エリアの代表的な参照ＱＰとして参照ＱＰのうちの１つを選択し得る。いくつかの例では、平均化の例に関して上記で説明したように、ビデオコーダは、ブロック境界に概して一致する、１６×１６エリア、３２×３２エリア、６４×６４エリア、または他のエリアを選択し得る。
【００３１】
[0039]本開示の他の態様によれば、ビデオコーダは、参照ＱＰを予測し、予測された参照ＱＰに対して参照ＱＰ値を記憶することによって記憶される参照ＱＰデータの量を制限し得る。たとえば、ＱＰが、所与のエリアにわたって大きい変動を示さないことがある。そのような例では、参照ＱＰは、あるエリアについて予測され得、予測された参照ＱＰと実際の参照ＱＰとの間の差分のみが記憶され得る。デルタ参照ＱＰと呼ばれることがある、差分値を記憶することによって、記憶される参照ＱＰデータの量が低減され得る。
【００３２】
[0040]一例では、ビデオコーダは、デルタ参照ＱＰを決定するための予測ＱＰとしてスライスＱＰ（またはデルタＱＰ）を使用し得る。たとえば、提案されたＨＥＶＣ規格など、いくつかのビデオコーディング規格に従って、ＱＰ（またはデルタＱＰ）がスライスレベルで識別され得る。本開示の態様によれば、ビデオコーダは、ブロックの実際のＱＰとスライスＱＰ（予測ＱＰ）との間の差分を計算することによってスライスのブロックごとにデルタ参照ＱＰを生成し得る。デルタ参照ＱＰ値は、次いで、記憶され、コーディング中にデルタＱＰを決定するために使用され得る。他の例では、ビデオコーダは、異なる予測参照ＱＰ（たとえば、スライスまたはピクチャ内のブロックの平均、中央、最小、または最大ＱＰ）を選択または生成し得る。さらに、いくつかの例では、ビデオコーダは、デルタ参照ＱＰを記憶するより前に、デルタ参照ＱＰに関連するビット数を打ち切り得る（truncate）（たとえば、丸めるかまたはクリッピングし得る）。
【００３３】
[0041]他の態様によれば、本開示は、（たとえば、２つ以上の参照ブロックからの）２つ以上の参照ＱＰを使用して現在ブロックをコーディングするためのＱＰを予測するための技法を含む。すなわち、本開示の技法は、たとえば、２つ以上の参照ピクチャからの、２つ以上の参照ＱＰに基づく予測ＱＰを使用して、現在ブロックのデルタＱＰを生成することを含む。本開示のいくつかの態様によれば、複数の参照ＱＰを使用して重み付けＱＰ予測値が生成され得る。
【００３４】
[0042]したがって、本開示のいくつかの例は、ＱＰ（もしくは実際のＱＰ）、参照ＱＰ、デルタＱＰ、および／またはデルタ参照ＱＰに言及することがある。概して、ＱＰ（または実際のＱＰ）は、１つまたは複数の変換係数を量子化または逆量子化するためのＱＰを指す。デルタＱＰは、実際のＱＰと、参照ＱＰと呼ばれることがある何らかの他のＱＰとの間の差分に基づき得る。たとえば、ビデオエンコーダは、実際のＱＰと参照ＱＰとの間のデルタを決定し、符号化ビットストリーム中でこのデルタＱＰを示し得る。ビデオデコーダは、符号化ビットストリーム中でデルタＱＰを受信し、デルタＱＰと、ビデオエンコーダによって使用された同じ参照ＱＰとを使用して実際のＱＰを決定し得る。
【００３５】
[0043]いくつかの事例では、ビデオエンコーダまたはビデオデコーダは、（ビデオエンコーダにおいて、たとえば、実際のＱＰと参照ＱＰとの間の差分に基づいて）デルタＱＰを生成するために、または（ビデオデコーダにおいて、たとえば、デルタＱＰと参照ＱＰとの組合せに基づいて）実際のＱＰを生成するために参照ＱＰが利用可能であるように、参照ＱＰを記憶し得る。そのような例では、以下で説明するように本開示の態様によれば、参照ＱＰデータを記憶するための記憶域要件を低減するためにデルタ参照ＱＰが生成され得る。したがって、概して、デルタ参照ＱＰは、参照ＱＰと何らかの他のＱＰとの間の差分、すなわち、デルタを指し得る。
【００３６】
[0044]図１は、変換係数の（逆量子化を含む）量子化を実行するために本開示の技法を実行し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを与えるソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００３７】
[0045]宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、符号化ビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００３８】
[0046]いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００３９】
[0047]本開示では、概して、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別のデバイスに「シグナリング」することに言及することがある。ただし、ビデオエンコーダ２０は、いくつかのシンタックス要素をビデオデータの様々な符号化部分に関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ２０は、いくつかのシンタックス要素をビデオデータの様々な符号化部分のヘッダに記憶することによってデータを「シグナリング」し得る。場合によっては、そのようなシンタックス要素は、ビデオデコーダ３０によって受信され、復号されるより前に、符号化され、記憶され得る（たとえば、記憶媒体３４またはファイルサーバ３６に記憶され得る）。したがって、「シグナリング」という用語は、通信がリアルタイムまたはほぼリアルタイムで行われるか、あるいは、符号化時にシンタックス要素を媒体に記憶し、次いで、この媒体に記憶された後の任意の時間にそのシンタックス要素が復号デバイスによって取り出され得るときなどに行われ得る、ある時間期間にわたって行われるかにかかわらず、概して、圧縮ビデオデータを復号するためのシンタックスまたは他のデータの通信を指し得る。
【００４０】
[0048]概してデータをエントロピーコーディングすることに関係する本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００４１】
[0049]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、動きベクトルをコーディングし、ＨＥＶＣと、マルチビューまたは３ＤＶ拡張など、ＨＥＶＣの拡張とにおいて双予測を実行するために本技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなど、外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００４２】
[0050]図１の図示のシステム１０は一例にすぎない。ビデオデータをエントロピーコーディングするための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。さらに、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのための、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００４３】
[0051]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００４４】
[0052]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化ビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス１４に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【００４５】
[0053]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。特に、本開示は、スライス、ピクチャ、波面のセット、またはタイルなど、複数のブロックを含むデータのユニットとして「コード化ユニット」に言及する。したがって、「コード化ユニット」という用語は、複数のブロック、たとえば、複数の最大コーディングユニット（ＬＣＵ）を含むものと理解されるべきである。その上、「コード化ユニット」という用語は、ＨＥＶＣにおいて使用されている「コーディングユニット」またはＣＵという用語と混同されるべきでない。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００４６】
[0054]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格などのビデオコーディング規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４７】
[0055]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではＨ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ぶことがある。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００４８】
[0056]ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００４９】
[0057]概して、ＨＭの作業モデルは、ビデオピクチャ（または、「ピクチャ」と互換的に使用され得る「フレーム」）が、ルーマサンプルとクロマサンプルの両方を含むツリーブロックまたは最大コーディングユニット（ＬＣＵ）のシーケンスに分割され得ることを記述する。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるＬＣＵのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードがツリーブロックに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００５０】
[0058]４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しない場合でも、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。
【００５１】
[0059]ＣＵは、ＣＵがサイズ差異を有さないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、４つの子ノード（サブＣＵとも呼ばれる）に分割され得、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最終的な分割されていない子ノードは、コーディングノードを備え、リーフＣＵとも呼ばれる。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示では、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、またはＴＵ、あるいは他の規格のコンテキストにおける同様のデータ構造（たとえば、Ｈ．２６４／ＡＶＣにおけるマクロブロックおよびそれのサブブロック）のいずれかを指すために「ブロック」という用語を使用する。
【００５２】
[0060]ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ：prediction unit）および変換ユニット（ＴＵ：transform unit）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルをもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形（たとえば、矩形）であり得る。
【００５３】
[0061]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用してより小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
【００５４】
[0062]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分に対応する空間的エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵのデータは、ＰＵに対応するＴＵのイントラ予測モードを記述するデータを含み得る残差４分木（ＲＱＴ）中に含まれ得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、もしくはリストＣ）を記述し得る。
【００５５】
[0063]１つまたは複数のＰＵを有するリーフＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上記で説明したように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブＴＵに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、概して、リーフＣＵのすべてのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダ２０は、イントラ予測モードを使用して各リーフＴＵの残差値をＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵはＰＵよりも大きくまたは小さくなり得る。イントラコーディングの場合、ＰＵは、同じＣＵについて対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００５６】
[0064]その上、リーフＣＵのＴＵはまた、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、特に明記しない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００５７】
[0065]ビデオシーケンスは、一般に一連のビデオピクチャを含む。ピクチャグループ（ＧＯＰ）は、一般に、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ内に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、１つまたは複数のピクチャのヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
【００５８】
[0066]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００５９】
[0067]本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。
【００６０】
[0068]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００６１】
[0069]ビデオエンコーダ２０は、次いで、ビデオデータをさらに圧縮するために変換係数を量子化し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【００６２】
[0070]量子化は、量子化中に変換係数に適用される量子化器ステップサイズにインデックス付けされ得る量子化パラメータ（ＱＰ）に従って適用され得る。ビデオエンコーダ２０は、ＱＰを調整することによって量子化の程度（たとえば、量子化器ステップサイズ）を変更し得る。たとえば、Ｈ．２６４および新生のＨＥＶＣ規格など、いくつかのビデオコーディング規格に従って、ビデオエンコーダ２０は、全整数増分において０〜５１の範囲内のＱＰを選択し得る（ただし、−２６〜＋２５、または別の範囲など、他の範囲が可能である）。ビデオエンコーダ２０は、選択されたＱＰに関連する量子化器ステップサイズを適用し得る。
【００６３】
[0071]ビデオエンコーダ２０がビットストリーム中でシグナリングするデータの量をさらに低減するために、ビデオエンコーダ２０は、所与のブロックのＱＰを予測し得る。たとえば、ＱＰ自体を含めるのではなく、ビデオエンコーダ２０は、現在ブロックのための実際のＱＰと、何らかの参照ＱＰ（たとえば、異なるブロックに関連するＱＰ）との間の変化（すなわち、デルタ）を識別し得る。ビデオエンコーダ２０は、次いで、ビットストリーム中で現在ブロックのデルタＱＰをシグナリングし得る。いくつかの例では、参照ＱＰは、現在符号化されているブロックに空間的に隣接するブロックに関連し得る。他の例では、参照ＱＰは、現在符号化されているブロックとは異なる時間インスタンス中のブロックに関連し得る。いずれの場合も、ビデオエンコーダ２０は、（たとえば、デルタＱＰを生成するために）現在ブロックによって参照され得る各ブロックの参照ＱＰを記憶しなければならない。
【００６４】
[0072]本開示のいくつかの技法は、概して、参照ＱＰのために記憶されるデータの量を低減することに関する。たとえば、本開示の態様によれば、各参照ピクチャ（たとえば、他のピクチャを予測するために使用されるピクチャ）のブロックごとに参照ＱＰを記憶するのではなく、ビデオエンコーダ２０は、そのような参照ＱＰデータの一部分のみを記憶し得る。すなわち、（予測ピクセルデータを生成するために）各参照ピクチャのブロックごとに参照ＱＰを記憶するのではなく、ビデオエンコーダ２０は、以下でより詳細に説明するように、ＱＰを平均化するか、ＱＰをサブサンプリングするか、またはさもなければそのような参照ＱＰデータの量を低減し得る。（たとえば、符号化ビットストリーム中に含めるべき）デルタＱＰを生成するとき、ビデオエンコーダ２０は、記憶された参照ＱＰデータと実際のＱＰとの間の差分に基づいてデルタＱＰを決定し得る。
【００６５】
[0073]他の態様によれば、本開示は、参照ＱＰを予測し、予測された参照ＱＰに対して参照ＱＰを記憶することによって記憶される参照ＱＰデータの量を制限するための技法を含む。たとえば、ビデオエンコーダ２０は、ピクチャのエリアのための参照ＱＰを予測し得、ビデオエンコーダ２０は、予測された参照ＱＰと実際の参照ＱＰとの間の差分のみを記憶し得る。デルタ参照ＱＰと呼ばれることがある、差分値を記憶することによって、ビデオエンコーダ２０は、記憶される参照ＱＰデータの量を低減し得る。（たとえば、符号化ビットストリーム中に含めるべき）デルタＱＰを生成するとき、ビデオエンコーダ２０は、デルタ参照ＱＰに基づいて参照ＱＰを決定し得る。すなわち、ビデオエンコーダ２０は、デルタ参照ＱＰと予測された参照ＱＰとの組合せに基づいて参照ＱＰを再構成し得る。ビデオエンコーダ２０は、次いで、参照ＱＰと実際のＱＰとの間の差分に基づいてデルタＱＰを決定し得る。
【００６６】
[0074]他の態様によれば、本開示は、（たとえば、２つ以上の参照ブロックからの）２つ以上の参照ＱＰを使用して現在ブロックをコーディングするためのＱＰを予測するための技法を含む。すなわち、ビデオエンコーダ２０は、たとえば、２つ以上の参照ピクチャからの、２つ以上の参照ＱＰに基づく予測ＱＰを使用して、現在ブロックのデルタＱＰを決定し得る。本開示のいくつかの態様によれば、ビデオエンコーダ２０は、複数の参照ＱＰを使用して重み付けＱＰ予測値を決定し得る。
【００６７】
[0075]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、より高いエネルギー（したがってより低い周波数）の係数をアレイの前方に配置し、より低いエネルギー（したがってより高い周波数）の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応型走査を実行し得る。
【００６８】
[0076]量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００６９】
[0077]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、たとえば、隣接値が非０であるか否かに関係し得る。ビデオエンコーダ２０はまた、適応型走査を実行するときに生成される有効係数フラグおよび最後係数フラグなど、シンタックス要素をエントロピー符号化し得る。本開示の技法によれば、ビデオエンコーダ２０は、コンテキストモデル選択のために使用されるファクタの中でも、たとえば、イントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、および／または変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。
【００７０】
[0078]概して、ビデオデコーダ３０によって実行されるビデオ復号プロセスは、ビデオエンコーダ２０によって実行される符号化技法とは逆の技法を含み得る。概して逆であるが、ビデオデコーダ３０は、場合によっては、ビデオエンコーダ２０によって実行される技法と同様の技法を実行することがある。ビデオデコーダ３０はまた、ビデオエンコーダ２０に関して説明したデータを含む受信ビットストリーム中に含まれているシンタックス要素または他のデータに依拠し得る。
【００７１】
[0079]特に、本開示の態様によれば、ビデオデコーダ３０は、ビデオデータを復号するとき、ＱＰを決定するために、ビデオエンコーダ２０に関して上記で説明した技法と同様のまたは同じ技法を実行し得る。すなわち、ビデオデコーダ３０は、参照ＱＰのために記憶されるデータの量を低減するために本開示の技法を実装し得る。たとえば、各参照ピクチャ（たとえば、他のピクチャを予測するために使用されるピクチャ）のブロックごとに参照ＱＰを記憶するのではなく、ビデオデコーダ３０は、そのような参照ＱＰデータの一部分のみを記憶し得る。すなわち、（予測ピクセルデータを生成するために）各参照ピクチャのブロックごとに参照ＱＰを記憶するのではなく、ビデオデコーダ３０は、以下でより詳細に説明するように、ＱＰを平均化するか、ＱＰをサブサンプリングするか、またはさもなければそのような参照ＱＰデータの量を低減し得る。ビデオデコーダは、受信されたデルタＱＰと記憶された参照ＱＰデータとの組合せに基づいて（たとえば、ビデオデータのブロックを逆量子化するための）実際のＱＰを生成し得る。
【００７２】
[0080]他の態様によれば、ビデオデコーダ３０は、参照ＱＰを予測し、予測された参照ＱＰに対して参照ＱＰを記憶することによって記憶される参照ＱＰデータの量を制限し得る。たとえば、ビデオデコーダ３０は、ピクチャのエリアのための参照ＱＰを予測し得、ビデオデコーダ３０は、デルタ参照ＱＰと呼ばれることがある、予測された参照ＱＰと実際の参照ＱＰとの間の差分のみを記憶し得る。ビデオデータのブロックを逆量子化するための実際のＱＰを生成するとき、ビデオデコーダ３０は、初めに、記憶されたデルタ参照ＱＰに基づいて参照ＱＰを決定し得る。すなわち、ビデオデコーダ３０は、デルタ参照ＱＰと予測された参照ＱＰとの組合せに基づいて参照ＱＰを再構成し得る。ビデオデコーダ３０は、次いで、（符号化ビットストリーム中で受信された）受信デルタＱＰと参照ＱＰとの組合せに基づいて、ブロックを逆量子化するための実際のＱＰを決定し得る。
【００７３】
[0081]他の態様によれば、ビデオデコーダ３０は、（たとえば、２つ以上の参照ブロックからの）２つ以上の参照ＱＰを使用して現在ブロックをコーディングするためのＱＰを予測し得る。すなわち、ビデオデコーダ３０は、たとえば、２つ以上の参照ピクチャからの、２つ以上の参照ＱＰに基づく予測ＱＰを使用して、現在ブロックのデルタＱＰを決定し得る。本開示のいくつかの態様によれば、ビデオデコーダ３０は、複数の参照ＱＰを使用して重み付けＱＰ予測値を決定し得る。
【００７４】
[0082]いくつかの例では、ビデオエンコーダ２０は、ビデオデータを復号するときに使用され得るいくつかのパラメータセットを生成し得、ビデオデコーダ３０が受信し得る。たとえば、Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）規格では、コード化ビデオセグメントが、ビデオテレフォニー、ストレージ、ブロードキャスト、またはストリーミングなどの適用例に対処する「ネットワークフレンドリーな」ビデオ表現を与えるＮＡＬユニットに編成される。ＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとにカテゴリー分類され得る。ＶＣＬユニットは、コア圧縮エンジンを含んでいることがあり、ブロック、マクロブロック、および／またはスライスレベルのデータを含み得る。他のＮＡＬユニットは非ＶＣＬ  ＮＡＬユニットであり得る。いくつかの例では、通常は１次コード化ピクチャとして提示される、１つの時間インスタンス中のコード化ピクチャは、１つまたは複数のＮＡＬユニットを含み得るアクセスユニット中に含まれ得る。
【００７５】
[0083]非ＶＣＬ  ＮＡＬユニットは、特に、パラメータセットＮＡＬユニットおよびＳＥＩ  ＮＡＬユニットを含み得る。パラメータセットは、（シーケンスパラメータセット（ＳＰＳ：sequence parameter set）中の）シーケンスレベルヘッダ情報と、（ピクチャパラメータセット（ＰＰＳ：picture parameter set）中の）まれに変化するピクチャレベルヘッダ情報とを含んでいることがある。パラメータセット（たとえば、ＰＰＳおよびＳＰＳ）がある場合、まれに変化する情報がシーケンスごとまたはピクチャごとに繰り返される必要はなく、したがって、コーディング効率が改善され得る。さらに、パラメータセットの使用は重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避し得る。帯域外送信の例では、ＳＥＩ  ＮＡＬユニットなど、他のＮＡＬユニットとは異なるチャネル上でパラメータセットＮＡＬユニットが送信され得る。
【００７６】
[0084]補足エンハンスメント情報（ＳＥＩ：Supplemental Enhancement Information）は、ＶＣＬ  ＮＡＬユニットからのコード化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、および他の目的に関係するプロセスを支援し得る情報を含んでいることがある。ＳＥＩメッセージは、非ＶＣＬ  ＮＡＬユニット中に含まれていることがある。ＳＥＩメッセージは、一部の標準規格の規範的部分であり、したがって、常に標準対応デコーダ実装のために必須であるとは限らない。ＳＥＩメッセージは、シーケンスレベルのＳＥＩメッセージまたはピクチャレベルのＳＥＩメッセージであり得る。
【００７７】
[0085]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００７８】
[0086]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００７９】
[0087]図２は、ビデオコーディング中に１つまたは複数の変換係数に適用される量子化の量を制御するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。図２のいくつかの構成要素は、概念的な目的のために単一の構成要素に関して図示および説明されることがあるが、１つまたは複数の機能ユニットを含み得ることを理解されたい。さらに、図２のいくつかの構成要素は、単一の構成要素に関して図示および説明されることがあるが、そのような構成要素は、物理的に１つまたは２つ以上の個別および／または一体型ユニットから構成され得る。
【００８０】
[0088]図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６と、参照フレームメモリ６４と、加算器５０と、変換処理ユニット５２と、参照ＱＰメモリ５５を有する量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。
【００８１】
[0089]ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。モード選択ユニット４０は、誤り結果（たとえば、コーディングレートおよびひずみレベル）に基づいて、現在ビデオブロックのために、以下で説明するように、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。モード選択ユニット４０は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【００８２】
[0090]動き推定ユニット４２および動き補償ユニット４４は、１つまたは複数の参照ピクチャ中の１つまたは複数のブロックに対して受信ビデオブロックのインター予測コーディングを実行する。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。
【００８３】
[0091]概して、動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在ピクチャ（または、他のコード化ユニット）内でコーディングされている現在ブロックに対する予測参照ピクチャ（または、他のコード化ユニット）内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。予測ブロックはインター予測中に参照されるので、予測ブロックは「参照ブロック」と呼ばれることもある。
【００８４】
[0092]したがって、動き推定ユニット４２は、現在コーディングされているブロックを参照ピクチャメモリ６４中の参照ピクチャの参照ブロックと比較することによって、インターコード化ピクチャのビデオブロックの動きベクトルを計算し得る。ＩＴＵ−Ｔ  Ｈ．２６４規格では、参照ピクチャの「リスト」、たとえば、リスト０およびリスト１に言及する。リスト０は、現在ピクチャよりも前の表示順序を有する参照ピクチャを含むが、リスト１は、現在ピクチャよりも後の表示順序を有する参照ピクチャを含む。他のコーディング方式では、単一のリストが維持され得る。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００８５】
[0093]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在ビデオブロックの動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００８６】
[0094]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【００８７】
[0095]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
【００８８】
[0096]いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【００８９】
[0097]変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）、整数変換、または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義される変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換処理ユニット５２は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。
【００９０】
[0098]量子化ユニット５４は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。たとえば、量子化は、概して、相対的に大きい範囲内の値を相対的に小さい範囲中の値にマッピングし、それによって、量子化変換係数を表すために必要とされるデータの量を低減することを伴う。ビデオエンコーダは、あらかじめ定義されたアルゴリズムに従って量子化パラメータ（ＱＰ）を適用することによって変換係数を量子化し得る。ビデオエンコーダは、ＱＰを調整することによって、変換係数値に適用される量子化の程度を変更し得る。いくつかの例では、ビデオエンコーダは、０〜５１の範囲内のＱＰを選択し得るが、他のＱＰ範囲（たとえば、−２６〜２６、または他の範囲）が使用され得る。
【００９１】
[0099]一例では、量子化ユニット５４は、以下に示す式（１）に従って量子化を行い得る。
【数１】
0005844460.tif 000002
【００９２】
ただし、Ｙijは（上記で説明した）変換係数のレベル（すなわち、値）であり、Ｑstepは量子化器ステップサイズであり、Ｚｉｊは量子化係数のレベルである。いくつかの例では、合計５２個のＱstep値が量子化パラメータ（ＱＰ）に従ってサポートされ、インデックス付けされ得る。
【００９３】
[0100]量子化ユニット５４は、スライス（またはピクチャ）内のあるブロックから別のブロックまでＱＰを変化させ得る。適応量子化と呼ばれることがある、ブロックまたはスライス間でＱＰを変化させることは、視覚的品質改善をターゲットにする。すなわち、人間の眼は、概して、視覚的に「ビジー」なエリア内の劣化よりも、視覚的に「フラット」なエリア（たとえば、輝度または色の変化があまり多くないスライスまたはピクチャのエリア）内の劣化に敏感である。したがって、適応量子化は、フラットなエリア上でより細かい量子化を実行し、ビジーなエリア上でより粗い量子化を実行することによって、これらの視覚的制限を活用することを試みる。
【００９４】
[0101]ビットストリーム中でシグナリングされるデータの量を低減するために、量子化ユニット５４は、所与のブロックのＱＰを予測し得る。たとえば、ＱＰ自体を含めるのではなく、量子化ユニット５４は、現在ブロックのための実際のＱＰと、何らかの参照ＱＰ（たとえば、異なるブロックに関連するＱＰ）との間の変化（すなわち、デルタ）を識別し得る。量子化ユニット５４は、次いで、すなわち、デコーダ３０による使用のために、ビットストリーム中で現在ブロックのデルタＱＰをシグナリングし得る。いくつかの例では、参照ＱＰデータは参照ＱＰメモリ５５に記憶され得るが、ＱＰデータは、参照ピクチャメモリ６４、またはビデオエンコーダ２０に関連する別のメモリなど、別のロケーションにも記憶され得る。
【００９５】
[0102]デルタＱＰを生成するとき、量子化ユニット５４は、現在ブロックに空間的に隣接するブロック（たとえば、同じスライスまたはピクチャ中の隣接ブロック）に関連する参照ＱＰを識別し得る。たとえば、Ｈ．２６４対応エンコーダは、現在マクロブロックの参照ＱＰとして隣接マクロブロックのＱＰを使用して、マクロブロックレベルでデルタＱＰをシグナリングし得る。本質的に一貫したマクロブロックサイズおよびラスタ走査順序は、当然、隣接マクロブロックのＱＰ間に存在する空間相関を維持し得る。
【００９６】
[0103]しかしながら、上述のように、提案されたＨＥＶＣ規格は、サイズが変化し得るＣＵの概念を導入する。ＣＵの変化するサイズおよび走査順序は、Ｈ．２６４において一般的な空間相関を破壊し得る。そのような事例では、現在ＱＰとは異なる時間インスタンスの参照ＱＰが、空間的に隣接するＱＰよりも正確な予測子を与え得る。したがって、いくつかの例では、量子化ユニット５４は、デルタＱＰを決定するとき、現在ブロックとは異なる時間インスタンスからのブロックに関連する参照ＱＰを識別し得る。すなわち、量子化ユニット５４は、現在ピクチャの現在ブロックのＱＰのための参照ＱＰとして、前に符号化されたピクチャの、前に符号化されたブロックに関連するＱＰを識別し得る。現在ブロックがインター予測される例では、参照ＱＰは、動きベクトル情報によって識別される参照ブロックに関連し得る。量子化ユニット５４は、次いで、参照ＱＰを使用して現在ブロックのデルタＱＰを生成し得る。
【００９７】
[0104]ただし、異なる時間インスタンス中の参照ＱＰを使用して現在ブロックのＱＰを効率的に予測するために、量子化ユニット５４は、たとえば、参照ＱＰメモリ５５に、いくつかの参照ＱＰを記憶しなければならない。たとえば、量子化ユニット５４は、現在ブロックを符号化するときに識別され得る（たとえば、インターコーディング中に動き推定ユニット４２によって識別され得る）各参照ピクチャのブロックごとに参照ＱＰを記憶し得る。そのようなＱＰを記憶するには、参照ＱＰメモリ５５中のかなりの記憶スペースが必要とされ得る。たとえば、提案されたＨＥＶＣ規格は、最高１６個の参照ピクチャが使用されることを可能にし、ＱＰは、各参照ピクチャ内の８×８ブロックごとに生成され、記憶され得る。一例として、（たとえば、１０８０ｐビデオ用の）１９２０×１０８０ピクセル参照ピクチャは３２，４００個ものブロック（８×８ブロック）を含み得、それらのブロックの各々は関連する参照ＱＰを有し得る。その上、ＨＥＶＣ規格に従って、ＱＰは０〜５１の間で変化し得る（たとえば、ＱＰごとに８ビット）。したがって、参照ピクチャごとに参照ＱＰデータを記憶すると、かなりの量の記憶域が消費され得る。
【００９８】
[0105]量子化ユニット５４は、たとえば、デルタＱＰを生成するためのＱＰを予測するときに記憶されるデータの量を低減するために本開示のいくつかの技法を適用し得る。すなわち、本開示の態様によれば、各参照ピクチャ（たとえば、他のピクチャを予測するために使用されるピクチャ）のブロックごとに参照ＱＰを記憶するのではなく、量子化ユニット５４は、そのような参照ＱＰデータの一部分のみを記憶し得る。たとえば、上記で説明した例では、各参照ピクチャの８×８ブロックごとに参照ＱＰを記憶するのではなく、量子化ユニット５４は、そのような参照ＱＰデータの一部分のみを記憶し得る。いくつかの例では、量子化ユニット５４は、参照ＱＰデータを記憶するより前に、ＱＰを平均化するか、ＱＰをサブサンプリングするか、またはさもなければ参照ＱＰデータの量を低減し得る。
【００９９】
[0106]説明のための一例では、量子化ユニット５４は、２つ以上のブロックのＱＰを使用して平均参照ＱＰを生成し得る。たとえば、量子化ユニット５４は、あらかじめ定義されたエリア内で参照ＱＰを平均化し得る。すなわち、量子化ユニット５４は、１６×１６エリア、３２×３２エリア、６４×６４エリアなどの中にあるブロックに関連する参照ＱＰを平均化し得る。平均化エリアは、概してブロック境界と整合し得る。すなわち、平均化エリアは、概して、１つまたは複数のフルサイズのブロック（またはＣＵ）を包含し得る。いくつかの例によれば、量子化ユニット５４によって平均化されるＱＰの数は、コーディングのために使用される最小ＣＵサイズに従って決定され得る（たとえば、ＣＵサイズが小さいほど、平均化エリアは相対的に小さくなり得る）。他の例では、量子化ユニット５４によって平均化されるＱＰの数は、記憶域節約の所望量に従って決定され得る（たとえば、平均化エリアが相対的に大きくなるほど、達成される記憶域節約が大きくなる）。
【０１００】
[0107]量子化ユニット５４は、平均参照ＱＰを生成するために、平均化エリア中のＱＰに様々な平均化アルゴリズムを適用し得る。一例では、量子化ユニット５４は、以下の式（２）を使用して平均参照ＱＰを生成し得る。
【数２】
0005844460.tif 000003
【０１０１】
ただし、Ｎは、平均化されるＱＰの数に等しく、ＱＰkは、平均化されるＱＰの各々を表す。
【０１０２】
[0108]別の例では、記憶される参照ＱＰデータの量を低減するために、量子化ユニット５４は、特定のエリアから参照ＱＰをサブサンプリングし得る。たとえば、量子化ユニット５４は、（コーディング中に参照ＱＰとして使用され得る）いくつかの関連するＱＰを有するいくつかのブロックを含むエリアを識別し得る。上記の例において説明したように、エリアにわたって平均化する代わりに、量子化ユニット５４は、エリアの代表的なＱＰとして参照ＱＰのうちの１つを選択し得る。いくつかの例では、平均化の例に関して上記で説明したように、量子化ユニット５４は、ＣＵ境界に概して一致する、１６×１６エリア、３２×３２エリア、６４×６４エリア、または他のエリアを選択し得る。
【０１０３】
[0109]ビデオエンコーダ２０は、たとえば、ビデオデコーダ３０など、ビデオデコーダが使用するために符号化ビットストリーム中で、平均化エリアおよび／またはサブサンプリング選択基準をシグナリングし得る。たとえば、ビデオエンコーダ２０は、符号化ビットストリームのヘッダ情報（たとえば、スライスヘッダ）あるいはパラメータセット（たとえば、ピクチャパラメータセット（ＰＰＳ）またはシーケンスパラメータセット（ＳＰＳ））中に平均化エリアの指示を含み得る。別の例では、ビデオエンコーダ２０は、ヘッダ、パラメータセットなどの中の参照ＱＰを決定するとき、どのブロックをサブサンプリングすべきであるかの指示を含み得る。
【０１０４】
[0110]他の態様によれば、量子化ユニット５４は、１つまたは複数の参照ブロックのための参照ＱＰの代わりに、差分（たとえば、デルタ）参照ＱＰを決定し、デルタ参照ＱＰを記憶することによって記憶される参照ＱＰデータの量を制限し得る。たとえば、量子化ユニット５４は、実際の参照ＱＰと何らかの他のＱＰとの間の差分を計算することによってデルタ参照ＱＰ値を生成し得る。いくつかの例では、他のＱＰが、予測された参照ＱＰであり得る。たとえば、量子化ユニット５４は、ピクチャのエリアのための参照ＱＰを予測し得、量子化ユニット５４は、実際の参照ＱＰと、予測された参照ＱＰとの間の差分のみを記憶し得る。
【０１０５】
[0111]説明のための一例では、量子化ユニット５４は、（たとえば、参照ＱＰとして記憶されている）参照ブロックのＱＰと、参照ブロックが属するスライスのＱＰ（「スライスＱＰ」）との間の差分を計算することによって参照ブロックのデルタ参照ＱＰを決定し得る。たとえば、提案されたＨＥＶＣ規格に従って、量子化ユニット５４は、ビデオデータのスライスごとにＱＰ値（またはデルタＱＰ値）を決定し得る。そのような一例では、量子化ユニット５４は、参照ブロックのＱＰとスライスＱＰ（またはデルタＱＰ）との間の差分値を計算することによってスライス中の参照ブロックごとにデルタ参照ＱＰを生成し得る。他の例では、量子化ユニット５４は、デルタ参照ＱＰを決定するためのＱＰを予測し得る。たとえば、量子化ユニット５４は、所定のエリア（たとえば、スライス、スライス全体、ピクチャ全体の所定のエリア）についての平均ＱＰ、中央ＱＰ、最小ＱＰ、最大ＱＰなどを生成することによってデルタ参照ＱＰを決定するためのＱＰを予測し得る。量子化ユニット５４は、デルタ参照ＱＰを決定し、記憶するために予測ＱＰを使用し得る。
【０１０６】
[0112]いくつかの例では、記憶される参照ＱＰデータの量をさらに低減するために、量子化ユニット５４は、デルタ参照ＱＰを記憶するより前に、決定されたデルタ参照ＱＰに関連するビット数を打ち切り得る（たとえば、丸めるかまたはクリッピングし得る）。たとえば、量子化ユニット５４は、デルタ参照ＱＰを記憶するより前に、デルタ参照ＱＰをより小さいビット深度に低減し得る。
【０１０７】
[0113]他の態様によれば、量子化ユニット５４は、（たとえば、２つ以上の参照ブロックからの）２つ以上の参照ＱＰを使用して現在ブロックをコーディングするためのＱＰを予測し得る。すなわち、量子化ユニット５４は、たとえば、２つ以上の参照ピクチャからの、２つ以上の参照ＱＰに基づく予測ＱＰを使用して、現在ブロックのデルタＱＰを決定し得る。一例では、双方向予測ピクチャ（たとえば、Ｂフレーム）について、量子化ユニット５４は、前のピクチャ（たとえば、前の時間インスタンス）中の参照ＱＰと、将来のピクチャ（たとえば、現在ピクチャよりも時間的に後に生じる時間インスタンス）中の参照ＱＰとを識別し得る。量子化ユニット５４は、次いで、これらの２つの参照ＱＰを平均化することによってＱＰ予測子を生成し得る。量子化ユニット５４は、現在ブロックのデルタＱＰを生成するとき、上述のように、ＱＰ予測子を使用し得る。すなわち、量子化ユニット５４は、実際の現在ＱＰと、（２つの参照ＱＰを使用して生成された）ＱＰ予測子との間の差分を計算することによって現在ブロックのデルタＱＰを生成し得る。
【０１０８】
[0114]量子化の後に、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング技法を実行し得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、符号化ビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）の場合、コンテキストは隣接マクロブロックに基づき得る。
【０１０９】
[0115]場合によっては、エントロピー符号化ユニット５６またはビデオエンコーダ２０の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット５６は、マクロブロックおよびパーティションのＣＢＰ値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット５６は、マクロブロックまたはそれのパーティション中の係数のランレングスコーディングを実行し得る。特に、エントロピー符号化ユニット５６は、マクロブロックまたはパーティション中の変換係数を走査するためにジグザグ走査または他の走査パターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピー符号化ユニット５６はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
【０１１０】
[0116]逆量子化ユニット５８および逆変換処理ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオピクチャ中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１１１】
[0117]図３は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット１３０と、動き補償ユニット１３２およびイントラ予測ユニット１３４を有する予測ユニット１３１と、参照ＱＰメモリ１３７を有する逆量子化ユニット１３６と、逆変換ユニット１３８と、参照ピクチャメモリ１４２と、加算器１４０とを含む。
【０１１２】
[0118]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット１３０は、量子化係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット１３０は、予測ユニット１３１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１１３】
[0119]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、予測ユニット１３１のイントラ予測ユニット１３４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわちＢ、Ｐ、またはＧＰＢ）スライスとしてコーディングされたとき、予測ユニット１３１の動き補償ユニット１３２は、エントロピー復号ユニット１３０から受信された動きベクトルおよび他のシンタックス要素に基づいて現在ビデオフレームのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ１４２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。
【０１１４】
[0120]動き補償ユニット１３２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット１３２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）、スライスの参照ピクチャリストのうちの１つまたは複数についての構成情報、スライスの各インター符号化ビデオブロックについての動きベクトル、スライスの各インターコード化ビデオブロックについてのインター予測ステータス、および現在ビデオスライス中のビデオブロックを復号するための他の情報を決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１１５】
[0121]動き補償ユニット１３２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット１３２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット１３２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。イントラ予測ユニット１３４は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。
【０１１６】
[0122]逆量子化ユニット１３６は、ビットストリーム中で与えられ、エントロピー復号ユニット１３０によって復号された量子化ブロック係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。本開示のいくつかの態様によれば、逆量子化ユニット１３６は、図２の例に示すビデオエンコーダ２０に関して上記で説明した量子化ユニット５４の方法とは概して逆の方法で動作するように構成され得る。たとえば、逆量子化ユニット１３６は、ビデオエンコーダ２０などのビデオエンコーダによってシグナリングされたデルタＱＰを受信し得る。デルタＱＰは、逆量子化するための実際のＱＰと、参照ＱＰメモリ１３７に記憶された１つまたは複数の参照ＱＰとの間の差分であり得る。したがって、逆量子化ユニット１３６は、１つまたは複数の参照ＱＰを識別し、デルタＱＰと１つまたは複数の参照ＱＰとに基づいて実際のＱＰを生成し得る。すなわち、図２に関して説明した量子化ユニット５４が、実際のＱＰと１つまたは複数の参照ＱＰとの間の差分に基づいてデルタＱＰを生成した場合、逆量子化ユニット１３６は、受信デルタＱＰと１つまたは複数の参照ＱＰとの組合せに基づいてブロックを逆量子化するための実際のＱＰを生成し得る。参照ＱＰメモリ１３７に記憶されるものとして説明したが、いくつかの例では、参照ＱＰは、他の参照データとともに参照ピクチャメモリ１４２中に、またはビデオデコーダ３０に関連する他のメモリ中に記憶され得ることを理解されたい。
【０１１７】
[0123]逆量子化ユニット１３６は、たとえば、デルタＱＰを生成するためのＱＰを予測するときに記憶されるデータの量を低減するために本開示のいくつかの技法を適用し得る。すなわち、本開示の態様によれば、各参照ピクチャ（たとえば、他のピクチャを予測するために使用されるピクチャ）のブロックごとに参照ＱＰを記憶するのではなく、逆量子化ユニット１３６は、そのような参照ＱＰデータの一部分のみを記憶し得る。たとえば、上記で説明した例では、各参照ピクチャの８×８ブロックごとに参照ＱＰを記憶するのではなく、逆量子化ユニット１３６は、そのような参照ＱＰデータの一部分のみを記憶し得る。いくつかの例では、逆量子化ユニット１３６は、参照ＱＰデータを記憶する前に、ＱＰを平均化するか、ＱＰをサブサンプリングするか、またはさもなければ参照ＱＰデータの量を低減し得る。
【０１１８】
[0124]たとえば、ビデオエンコーダ２０に関して上記で説明したように、逆量子化ユニット１３６は、（たとえば、あらかじめ定義されたエリア内の）２つ以上のブロックのＱＰを使用して平均参照ＱＰを生成し得る。別の例では、記憶される参照ＱＰデータの量を低減するために、逆量子化ユニット１３６は、特定のエリアから参照ＱＰをサブサンプリングし得る。たとえば、所定のエリア中のＱＰを平均化するのではなく、逆量子化ユニット１３６は、エリアの代表的なＱＰとして参照ＱＰのうちの１つを選択し得る。
【０１１９】
[0125]ビデオデコーダ３０は、たとえば、符号化ビットストリーム中で受信された１つまたは複数のシンタックス要素に従って、平均化エリアおよび／またはサブサンプリング選択基準を決定し得る。たとえば、ビデオデコーダ３０は、符号化ビットストリームからのヘッダ情報（たとえば、スライスヘッダ）あるいはパラメータセット（たとえば、ピクチャパラメータセット（ＰＰＳ）またはシーケンスパラメータセット（ＳＰＳ））中の平均化エリアの指示を復号し得る。別の例では、ビデオデコーダ３０は、ヘッダ、パラメータセットなどの中の参照ＱＰを決定するとき、どのブロックをサブサンプリングすべきであるかの指示を復号し得る。他の例では、ビデオデコーダ３０は、参照ＱＰデータを記憶するためにビデオエンコーダ２０と同じプロセスを実行するように構成され得る。したがって、いくつかの例では、平均化エリアおよび／またはサブサンプリング選択基準はシグナリングされないことがある。
【０１２０】
[0126]他の態様によれば、逆量子化ユニット１３６は、１つまたは複数の参照ブロックのための参照ＱＰの代わりに、差分（たとえば、デルタ）参照ＱＰを決定し、デルタ参照ＱＰを記憶することによって記憶される参照ＱＰデータの量を制限し得る。たとえば、逆量子化ユニット１３６は、実際の参照ＱＰと何らかの他のＱＰとの間の差分を計算することによってデルタ参照ＱＰ値を生成し得る。いくつかの例では、他のＱＰが、予測された参照ＱＰであり得る。たとえば、逆量子化ユニット１３６は、ピクチャのエリアのための参照ＱＰを予測し得、逆量子化ユニット１３６は、実際の参照ＱＰと、予測された参照ＱＰとの間の差分のみを記憶し得る。
【０１２１】
[0127]一例では、逆量子化ユニット１３６は、（たとえば、参照ＱＰとして記憶されている）参照ブロックのＱＰと、参照ブロックが属するスライスのＱＰ（「スライスＱＰ」）との間の差分を計算することによって参照ブロックのデルタ参照ＱＰを決定し得る。他の例では、逆量子化ユニット１３６は、デルタ参照ＱＰを決定するためのＱＰを予測し得る。たとえば、逆量子化ユニット１３６は、所定のエリア（たとえば、スライス、スライス全体、ピクチャ全体の所定のエリア）についての平均ＱＰ、中央ＱＰ、最小ＱＰ、最大ＱＰなどを生成することによってデルタ参照ＱＰを決定するためのＱＰを予測し得る。逆量子化ユニット１３６は、デルタ参照ＱＰを決定し、記憶するために予測ＱＰを使用し得る。いくつかの例では、記憶される参照ＱＰデータの量をさらに低減するために、逆量子化ユニット１３６は、デルタ参照ＱＰを記憶する前に、決定されたデルタ参照ＱＰに関連するビット数を打ち切り得る（たとえば、丸めるかまたはクリッピングし得る）。
【０１２２】
[0128]他の態様によれば、逆量子化ユニット１３６は、（たとえば、２つ以上の参照ブロックからの）２つ以上の参照ＱＰを使用して現在ブロックをコーディングするためのＱＰを予測し得る。すなわち、逆量子化ユニット１３６は、たとえば、２つ以上の参照ピクチャからの、２つ以上の参照ＱＰに基づく予測ＱＰを使用して、現在ブロックのデルタＱＰを決定し得る。一例では、双方向予測ピクチャ（たとえば、Ｂフレーム）について、逆量子化ユニット１３６は、前のピクチャ中の参照ＱＰと、将来のピクチャ中の参照ＱＰとを識別し得る。逆量子化ユニット１３６は、次いで、これらの２つの参照ＱＰを平均化するかまたはさもなければ組み合わせる（combine）ことによってＱＰ予測子を生成し得る。逆量子化ユニット１３６は、現在ブロックのデルタＱＰを生成するとき、上述のように、ＱＰ予測子を使用し得る。すなわち、逆量子化ユニット１３６は、実際の現在ＱＰと、（２つの参照ＱＰを使用して生成された）ＱＰ予測子との間の差分を計算することによって現在ブロックのデルタＱＰを生成し得る。
【０１２３】
[0129]逆変換ユニット１３８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。動き補償ユニット１３２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子がシンタックス要素中に含まれ得る。動き補償ユニット１３２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット１３２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１２４】
[0130]動き補償ユニット１３２は、シンタックス情報のいくつかを使用して、符号化ビデオシーケンスの（１つまたは複数の）ピクチャを符号化するために使用されるマクロブロックのサイズと、符号化ビデオシーケンスのピクチャの各マクロブロックがどのように区分されるのかを記述するパーティション情報と、各パーティションがどのように符号化されるのかを示すモードと、各インター符号化マクロブロックまたはパーティションのための１つまたは複数の参照ピクチャ（またはリスト）と、符号化ビデオシーケンスを復号するための他の情報と、を決定する。
【０１２５】
[0131]加算器１４０は、残差ブロックを、動き補償ユニット１３２またはイントラ予測ユニットによって生成される対応する予測ブロックと加算して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号ビデオブロックは、次いで、参照ピクチャメモリ１４２に記憶され、参照ピクチャメモリ１４２は、参照ブロックを後続の動き補償に与え、また、（図１のディスプレイデバイス３２などの）ディスプレイデバイス上での提示のために復号ビデオを生成する。
【０１２６】
[0132]図４Ａおよび図４Ｂは、例示的な４分木１５０と、対応する最大コーディングユニット１７２とを示す概念図である。図４Ａは、階層式に構成されたノードを含む、例示的な４分木１５０を示している。４分木１５０は、たとえば、提案されたＨＥＶＣ規格に従ってツリーブロックに関連付けられ得る。４分木１５０など、４分木中の各ノードは、子をもたないリーフノードであるか、または４つの子ノードを有し得る。図４Ａの例では、４分木１５０はルートノード１５２を含む。ルートノード１５２は、リーフノード１５６Ａ〜１５６Ｃ（リーフノード１５６）とノード１５４とを含む、４つの子ノードを有する。ノード１５４はリーフノードでないので、ノード１５４は、この例ではリーフノード１５８Ａ〜１５８Ｄ（リーフノード１５８）である、４つの子ノードを含む。
【０１２７】
[0133]４分木１５０は、この例ではＬＣＵ１７２など、対応する最大コーディングユニット（ＬＣＵ）の特性を記述するデータを含み得る。たとえば、４分木１５０は、それの構造により、サブＣＵへのＬＣＵの分割を記述し得る。ＬＣＵ１７２が２Ｎ×２Ｎのサイズを有すると仮定する。ＬＣＵ１７２は、この例では、４つのサブＣＵ１７６Ａ〜１７６Ｃ（サブＣＵ１７６）および１７４を有し、各々はＮ×Ｎサイズである。サブＣＵ１７４はさらに４つのサブＣＵ１７８Ａ〜１７８Ｄ（サブＣＵ１７８）に分割され、各々はサイズＮ／２×Ｎ／２である。この例では、４分木１５０の構造はＬＣＵ１７２の分割に対応する。すなわち、ルートノード１５２はＬＣＵ１７２に対応し、リーフノード１５６はサブＣＵ１７６に対応し、ノード１５４はサブＣＵ１７４に対応し、リーフノード１５８はサブＣＵ１７８に対応する。
【０１２８】
[0134]４分木１５０のノードのデータは、ノードに対応するＣＵが分割されるかどうかを記述し得る。ＣＵが分割される場合、４分木１５０中に４つの追加のノードが存在し得る。いくつかの例では、４分木のノードは以下の擬似コードと同様に実装され得る。
【数３】
0005844460.tif 000004
【０１２９】
ｓｐｌｉｔ＿ｆｌａｇ値は、現在のノードに対応するＣＵが分割されるかどうかを表す１ビット値であり得る。ＣＵが分割されない場合、ｓｐｌｉｔ＿ｆｌａｇ値は「０」であり得るが、ＣＵが分割される場合、ｓｐｌｉｔ＿ｆｌａｇ値は「１」であり得る。４分木１５０の例に関して、分割フラグ値のアレイは１０１００００００であり得る。
【０１３０】
[0135]いくつかの例では、サブＣＵ１７６およびサブＣＵ１７８の各々は、同じイントラ予測モードを使用してイントラ予測符号化され得る。したがって、ビデオエンコーダ２０は、ルートノード１５２においてイントラ予測モードの指示を与え得る。
【０１３１】
[0136]図４ＡではＣＵ４分木の一例を示したが、同様の４分木がリーフノードＣＵのＴＵに適用され得ることを理解されたい。すなわち、リーフノードＣＵは、ＣＵのためのＴＵの区分を記述するＴＵ４分木を含み得る。ＴＵ４分木は、ＴＵ４分木がＣＵのＴＵのイントラ予測モードを個々にシグナリングし得ることを除いて、概してＣＵ４分木に似ていることがある。
【０１３２】
[0137]いずれの場合も、図４Ａおよび図４Ｂに示す例の場合のように、所与のツリーブロックのＣＵおよびＴＵはサイズが異なり得るので、他のコーディング規格（たとえば、Ｈ．２６４など）において一般化した空間相関が失われ得る。したがって、空間ネイバーは、現在コーディングされているブロックに最良の参照ＱＰを提供しないことがある。そのような場合、ビデオコーダは、現在コーディングされているブロックのＱＰとは異なる時間インスタンス中の参照ＱＰ（予測ＱＰ）を識別し得る。ビデオコーダは、ＱＰを予測するときに記憶されるデータの量を低減するために本開示の技法を実装し得る。たとえば、ビデオコーダは、１つまたは複数の参照ピクチャからの参照ＱＰデータを効率的に記憶するために、図２および図３に関して上記で説明した技法を実装し得る。
【０１３３】
[0138]図５〜図９の技法について、概してビデオコーダによって実行されるものとして説明するが、いくつかの例では、図５〜図９の技法は、上記で説明したビデオエンコーダ２０（図１および図２）またはビデオデコーダ３０（図１および図３）によって行われ得ることを理解されたい。他の例では、図５〜図９の技法は、様々な他のプロセッサ、処理ユニット、エンコーダ／デコーダ（コーデック）などのハードウェアベースのコーディングユニットなどによって実行され得る。
【０１３４】
[0139]図５は、ビデオコーディングデバイス（たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０）によって記憶される参照ＱＰデータの量を低減することを示す概念図である。図５に示す例は、ビデオデータ２００の複数のブロックを含んでいるビデオデータのピクチャまたはスライスの一部分を含む。説明のための一例では、ブロック２００は、サイズが３２×３２ピクセルである４つのＬＣＵを含み得る。すなわち、ブロック２００は、左から右および上から下に、第１の未分割ＬＣＵ２０２（３２×３２ピクセル）と、サブＣＵ２０４Ａ、２０４Ｂ、および２０４Ｃ（総称してサブＣＵ２０４、各１６×１６ピクセル）およびサブＣＵ２０６Ａ、２０６Ｂ、２０６Ｃ、および２０６Ｄ（総称してサブＣＵ２０６、各８×８ピクセル）を有する第２のＬＣＵと、サブＣＵ２０８Ａ、２０８Ｂ、２０８Ｃ、および２０８Ｄ（総称してサブＣＵ２０８、各３２×３２ピクセル、各１６×１６ピクセル）を有する第３のＬＣＵと、第４の未分割ＬＣＵ２１０（３２×３２ピクセル）とを含み得る。ブロック２００の構成およびサイズは例として与えたものにすぎず、以下で説明する技法は他の構成および／またはサイズのブロックに適用され得ることを理解されたい。
【０１３５】
[0140]ブロック２００は、１つまたは複数の他のブロックのインター予測のために使用される参照ピクチャ中に含まれ得る。したがって、ブロック２００の各々は、別のブロックのＱＰを予測するために使用され得る参照ＱＰを含むと仮定する。本開示の態様によれば、ブロック２００のすべてのためのＱＰを記憶するのではなく、（ビデオエンコーダ２０および／またはビデオデコーダ３０などの）ビデオコーダは、ＱＰデータの一部分のみを記憶することによって記憶されるＱＰデータの量を制限し得る。
【０１３６】
[0141]たとえば、いくつかの態様によれば、ビデオコーダは、所定の数のブロック２００を表すために、所定の数のブロック２００の組み合わされた参照ＱＰを生成し得る。一例では、ビデオコーダは、ブロックの参照ＱＰを生成するために、ピクチャのあらかじめ定義されたエリア内でブロック２００の参照ＱＰを平均化し得る。平均化エリアは、１６×１６エリア、３２×３２エリア、６４×６４エリアなどの中にあるブロックを含み得る。
【０１３７】
[0142]図５に示す例では、ビデオコーダは、各エリア中の参照ブロックからのＱＰを組み合わせること（combining）によって、４つの３２×３２エリアの各々のための代表的な参照ＱＰを生成する。たとえば、ビデオコーダは、第１の平均化エリア２１２Ａ、第２の平均化エリア２１２Ｂ、第３の平均化エリア２１２Ｃ、および第４の平均化エリア２１２Ｄ（総称して平均化エリア２１２）の各々のための平均参照ＱＰを生成し得る。図５に示す例では、第１の平均化エリア２１２Ａは第１の未分割ＬＣＵ２０２を含み、第４の平均化エリア２１２Ｄは第４の未分割ＬＣＵ２１０を含む。したがって、それらの平均化エリアの各々は単一の参照ＱＰを含む（すなわち、平均化は不要である）。すなわち、エリア２１２Ａは第１の参照ＱＰを有し、エリア２１２Ｄは、エリアのための実際のＱＰに応じて第１の参照ＱＰと同じであることも異なることもあり得る、第２の参照ＱＰを有する。しかしながら、ビデオコーダは、サブＣＵ２０４とサブＣ２０６とに関連する参照ＱＰを平均化することによって第２の平均化エリア２１２Ｂのための代表的な参照ＱＰを生成し得る。さらに、ビデオコーダは、サブＣＵ２０８に関連する参照ＱＰを平均化することによって第３の平均化エリア２１２Ｃのための代表的な参照ＱＰを生成し得る。平均化エリア２１２の各々のための代表的な参照ＱＰを生成することによって、ビデオコーダは、（たとえば、ブロック２００の各々のための参照ＱＰを記憶することに対して）記憶される参照ＱＰデータの量を低減し得る。
【０１３８】
[0143]ビデオコーダは、平均化エリア２１２のための代表的な参照ＱＰを決定するために様々な平均化アルゴリズムを実装し得る。一例では、ビデオコーダは、上記で説明した式（２）を使用して平均化エリア２１２の各々のための平均参照ＱＰを決定し得る。さらに、概して「平均化」について言及を行ったが、ビデオコーダは、他の方法で平均化エリア２１２内の参照ＱＰを組み合わせ（combine）得ることを理解されたい。すなわち、他の例では、ビデオコーダは、中央値、範囲、モードなどを決定することによって、平均化エリア２１２の各々のための代表的な参照ＱＰを決定し得る。いずれの場合も、平均化エリア２１２の各々のための組み合わされた代表的な参照ＱＰを決定した後に、ビデオコーダは、代表的な参照ＱＰを記憶し得る。
【０１３９】
[0144]ビデオコーダが（ビデオエンコーダ２０などの）ビデオエンコーダである場合、ビデオエンコーダは、デルタＱＰを生成するとき、記憶された代表的な参照ＱＰを使用し得る。たとえば、ブロック２００のいずれかからインター予測されるビデオデータの現在ブロックを符号化するとき、ビデオエンコーダは、現在ブロックをコーディングするためのデルタＱＰを決定するために適切な代表的な参照ＱＰを使用し得る。すなわち、現在ブロックがサブＣＵ２０６Ａから予測される場合、デルタＱＰを生成するためにサブＣＵ２０６Ａに関連するＱＰを使用するのではなく、ビデオエンコーダは、実際のＱＰと、エリア２１２Ｂのための平均参照ＱＰとの間の差分に基づいてデルタＱＰを生成する。すなわち、ブロックのための実際のＱＰと、エリアのための参照ＱＰとの間の差分を表すデルタＱＰを決定した後に、ビデオエンコーダは、符号化ビットストリーム中にデルタＱＰを含め得る。
【０１４０】
[0145]ビデオコーダが（ビデオデコーダ３０などの）ビデオデコーダである例では、ビデオデコーダは、現在ブロックを逆量子化するための実際のＱＰを決定するとき、記憶された代表的な参照ＱＰを使用し得る。たとえば、ブロック２００のいずれかからインター予測されるビデオデータの現在ブロックを復号するとき、ビデオデコーダは、受信デルタＱＰから実際のＱＰを決定するために適切な代表的な参照ＱＰを使用し得る。すなわち、現在ブロックがサブＣＵ２０６Ａから予測される場合、実際のＱＰを生成するためにサブＣＵ２０６Ａに関連するＱＰを使用するのではなく、ビデオデコーダは、受信デルタＱＰと、エリア２１２Ｂのための平均参照ＱＰとの組合せに基づいて実際のＱＰを生成する。実際のＱＰを決定した後に、ビデオデコーダは現在ブロックを逆量子化し得る。
【０１４１】
[0146]平均化エリア２１２は、各平均化エリアがブロック２００の１つまたは複数のフルブロックを包含するように、概してブロック境界と整合し得る。いくつかの例では、平均化エリア２１２のサイズは最小ブロックサイズに従って選択され得る。すなわち、相対的に小さいＣＵを有するピクチャの部分について、ビデオコーダは、相対的により小さい平均化エリアを使用し得る。他の例では、平均化エリア２１２のサイズは、記憶域節約の所望量に基づいて選択され得る（たとえば、記憶域節約が相対的に大きくなるほど、エリアは大きくなる）。
【０１４２】
[0147]他の態様によれば、ビデオコーダは、平均化エリア２１２の各々からの参照ＱＰをサブサンプリングすることによって記憶される参照ＱＰデータの量を低減し得る。たとえば、ビデオコーダは、平均化エリア２１２の各々をサブサンプリングすることによって、平均化エリアの各々のための代表的な参照ＱＰを決定し得る。すなわち、上記で説明したように、平均化エリアの参照ＱＰのすべてを組み合わせるのではなく、ビデオコーダは、参照ＱＰのうちの１つを代表的な参照ＱＰとして選択することによって、平均化エリア２１２の各々のための参照ＱＰを決定し得る。
【０１４３】
[0148]一例では、ビデオコーダは、平均化エリア２１２Ｂの左上隅にあるブロックに関連する参照ＱＰを選択することによって平均化エリア２１２Ｂの参照ＱＰを決定し得る。この例では、ビデオコーダは、平均化エリア２１２のブロックのすべてのための参照ＱＰとして、サブＣＵ２０４Ａに関連する参照ＱＰを使用し得る。他の例では、ビデオコーダは、サブサンプリングするときに異なるブロックを選択し得る。
【０１４４】
[0149]いずれの場合も、上述のように、ビデオコーダは、平均化エリア２１２の各々のためのサブサンプリングされた代表ＱＰを記憶し得る。したがって、ブロック２００のいずれかからインター予測されるビデオデータの現在ブロックをコーディングするとき、ビデオコーダは、現在ブロックをコーディングするためのデルタＱＰを決定するために適切な代表ＱＰを使用し得る。すなわち、上記で使用した例では、現在ブロックがサブＣＵ２０６Ａから予測される場合、デルタＱＰを生成するためにサブＣＵ２０６Ａに関連する参照ＱＰを使用するのではなく、ビデオコーダは、（たとえば、サブＣＵ２０４Ａに関連する参照ＱＰなど）エリア２１２Ｂのためのサブサンプリングされた参照ＱＰを使用し得る。デルタＱＰを決定した後に、ビデオコーダは、実際のＱＰを決定し、実際のＱＰを使用してブロックをコーディングし得る。
【０１４５】
[0150]他の態様によれば、ビデオコーダは、ブロック２００の各々のための差分（たとえば、デルタ）参照ＱＰを決定し、記憶することによって記憶される参照ＱＰデータの量を低減し得る。たとえば、ビデオコーダは、初めに、ブロック２００のうちの１つまたは複数を含む所定のエリアのための参照ＱＰを予測し得る。予測ＱＰは、参照ＱＰのための参照ＱＰとして働き得る。すなわち、ビデオコーダは、ブロック２００の各々のための実際のＱＰと、予測値との間の差分を決定することによって、ブロック２００の各々のためのデルタ参照ＱＰを決定し得る。ビデオコーダは、ブロック２００のデルタ参照ＱＰを記憶し得る。したがって、ブロック２００のデルタ参照ＱＰは、ブロック２００をコーディングするときに利用可能であり得る。
【０１４６】
[0151]ビデオコーダが（ビデオエンコーダ２０などの）ビデオエンコーダである場合、ビデオエンコーダは、デルタＱＰを生成するとき、記憶されたデルタ参照ＱＰを使用し得る。たとえば、現在符号化されているブロックがサブＣＵ２０６Ａから予測される場合、デルタＱＰを生成するためにサブＣＵ２０６Ａに関連するＱＰを使用するのではなく、ビデオエンコーダは、初めに、サブＣＵ２０６Ａに関連する記憶されたデルタ参照ＱＰを使用してサブＣＵ２０６ＡからＱＰを再構成し得る。すなわち、ビデオエンコーダは、サブＣＵ２０６Ａに関連するデルタ参照ＱＰを、サブＣＵ２０６Ａを含むブロックの予測ＱＰと組み合わせ得る。ビデオエンコーダは、次いで、ブロックを量子化するための実際のＱＰと、サブＣＵ２０６Ａに関連する再構成されたＱＰとの間の差分に基づいてデルタＱＰを生成し得る。デルタＱＰを決定した後に、ビデオエンコーダは、符号化ビットストリーム中にデルタＱＰを含め得る。
【０１４７】
[0152]ビデオコーダが（ビデオデコーダ３０などの）ビデオデコーダである例では、ビデオデコーダは、現在ブロックを逆量子化するための実際のＱＰを決定するとき、記憶されたデルタ参照ＱＰを使用し得る。たとえば、現在復号されているブロックがサブＣＵ２０６Ａから予測される場合、実際のＱＰを生成するためにサブＣＵ２０６Ａに関連するＱＰを使用するのではなく、ビデオデコーダは、初めに、サブＣＵ２０６Ａに関連する記憶されたデルタ参照ＱＰを使用してサブＣＵ２０６ＡからＱＰを再構成し得る。すなわち、上記で説明したビデオエンコーダのように、ビデオデコーダは、サブＣＵ２０６Ａに関連するデルタ参照ＱＰを、サブＣＵ２０６Ａを含むブロックの予測ＱＰと組み合わせ得る。ビデオデコーダは、次いで、受信デルタＱＰと、サブＣＵ２０６Ａから再構成されたＱＰとの組合せに基づいて実際のＱＰを生成し得る。実際のＱＰを決定した後に、ビデオデコーダは現在ブロックを逆量子化し得る。いくつかの例では、ビデオコーダは、予測ＱＰとしてスライスＱＰ（たとえば、ブロック２００が属するスライスのスライスＱＰ）を使用し得る。すなわち、ビデオコーダは、ブロック２００のデルタ参照ＱＰとして、スライスＱＰと、ブロック２００の各々のための実際のＱＰとの間の差分を決定し、記憶し得る。他の例では、ビデオコーダは、ブロック２００の平均ＱＰ、ブロック２００の中央ＱＰ、ブロックの最小ＱＰ、ブロック２００の最大ＱＰなどを決定することによってブロック２００のＱＰを予測し得る。ビデオコーダは、次いで、ブロック２００の予測ＱＰを使用してブロック２００のデルタ参照ＱＰを決定し、記憶し得る。
【０１４８】
[0153]いくつかの例では、記憶される参照ＱＰデータの量をさらに低減するために、ビデオコーダは、デルタ参照ＱＰを記憶するより前に、決定されたデルタ参照ＱＰに関連するビット数を打ち切り得る（たとえば、丸めるかまたはクリッピングし得る）。たとえば、ビデオコーダは、デルタ参照ＱＰを記憶する前に、デルタ参照ＱＰをより小さいビット深度に低減し得る。
【０１４９】
[0154]本開示のいくつかの態様によれば、ビデオコーダは、デルタ参照ＱＰを生成し、デルタ参照ＱＰを打ち切り、その後、打ち切られたデルタ参照ＱＰを記憶し得る。一例では、ビデオコーダは、ブロック２００のためのクリッピングされたデルタ参照ＱＰを生成するときに以下のステップを実行し得る。
【０１５０】
１．参照ピクチャの１つまたは複数のブロック２００（たとえば、１つまたは複数のＣＵ、ＰＵ、ＬＣＵ、ＬＣＵのセット）のための予測値を決定する。予測値は、１つまたは複数のブロック２００が属するスライスまたはピクチャに関連するＱＰ、あるいは別のＱＰ（たとえば、平均ＱＰ、中央ＱＰ、最小ＱＰ、最大ＱＰなど）であり得る。
【０１５１】
２．１つまたは複数のブロックのＱＰと予測ＱＰとの間の差分を決定する（デルタ参照ＱＰ＝実際のＱＰ−予測ＱＰ）。
【０１５２】
３．デルタ参照ＱＰをあらかじめ定義されたビット範囲に打ち切る（truncate）こと（たとえば、丸め、クリッピング、量子化など）によって、デルタ参照ＱＰを記憶するために必要とされる空間を低減する。デルタ参照ＱＰをクリッピングするための例示的なアルゴリズムは以下を含み得る。
【０１５３】
−クリッピングされたデルタ参照ＱＰ＝Ｃｌｉｐ３（−２(N-2)，２(N-2)-1，デルタＱＰ）
−クリッピングされたデルタ参照ＱＰ＝Ｃｌｉｐ３（０，２(N-1)-1，デルタＱＰ）
−クリッピングされたデルタ参照ＱＰ＝Ｃｌｉｐ３（−２(N-2)，２(N-2)-1，Ｑｕａｎｔ（デルタＱＰ））
−クリッピングされたデルタ参照ＱＰ＝Ｃｌｉｐ３（０，２(N-1)-1，Ｑｕａｎｔ（デルタＱＰ））
ただし、クリッピングされたデルタ参照ＱＰはＣｌｉｐ３（ｍｉｎ，ｍａｘ，ａ）の範囲内にあり、Ｎは所望のビット範囲である。いくつかの例によれば、Ｑｕａｎｔ（ａ）は任意の量子化方式であり得る。量子化の一例はＱｕａｎｔ（Ａ）＝Ａ／Ｍであり得る。
【０１５４】
４．打ち切られたデルタ参照ＱＰを記憶する。
【０１５５】
[0155]デルタ参照ＱＰがブロック２００の各々について決定される例では、ビデオコーダは、ブロック２００ごとに上記で説明したプロセスを繰り返し得る。デルタ参照ＱＰが２つ以上のブロックについて決定される例では、ビデオコーダは、ブロック２００の所定のグループごとに上記で説明したプロセスを繰り返し得る。すなわち、いくつかの例では、上記で説明したように、ビデオコーダは、ブロック２００のうちの２つ以上のための（たとえば、平均化エリア２１２の各々のための）代表ＱＰを決定し得る。そのような例では、ビデオコーダは、代表ＱＰごとにデルタ参照ＱＰを生成するために上記で説明したプロセスを繰り返し得る。
【０１５６】
[0156]図６は、部分的ピクチャグループ（ＧＯＰ）２００を示す概念図である。図５に示すＧＯＰ２２０の部分は、６つの双方向予測ピクチャと、１つのイントラ予測ピクチャとを含む、２２２〜２２８からのピクチャ順序カウント（ＰＯＣ：picture order count）をもつピクチャを含む。たとえば、小文字「ｂ」（すなわち、ピクチャ２２２、２２４、２２６および２２８）で標示されたピクチャは、矢印によって示されるように、２つの他のピクチャから双方向にインター予測されるピクチャである。矢印の終点のピクチャは、インター予測コーディングプロセスにおける予測子として矢印の始点のピクチャを使用する。小文字「ｂ」をもつピクチャは、他のピクチャを予測するために使用されない。大文字「Ｂ」（すなわち、ピクチャ２２３および２２５）で標示されたピクチャも、２つの他のピクチャから双方向にインター予測されるピクチャである。
【０１５７】
[0157]「ｂ」ピクチャとは対照的に、大文字「Ｂ」で標示されたピクチャは、矢印によって示されるように、他のピクチャのための予測子として使用される。ピクチャＩ227はイントラ予測ピクチャである。すなわち、ピクチャＩ227は、他のピクチャを参照して符号化されるのではなく、内部空間的予測を使用してそのピクチャをコーディングする。ただし、ピクチャＩ207は、他のピクチャ（たとえば、図５の例に示すピクチャｂ226およびｂ228）を予測するために使用され得る。
【０１５８】
[0158]他のピクチャのための予測子として使用されるピクチャは、参照ピクチャとして参照され得、（たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０などの）ビデオコーダの参照ピクチャメモリに記憶され得る。すなわち、図６に示す例では、ＢフレームＢ223およびＢ225と、ＩフレームＩ227とが、ビデオコーダ（たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０）によって参照ピクチャメモリに記憶され、それにより、ピクチャがインター予測のためにアクセスされることが可能になり得る。さらに、図２および図３に関して上述したように、いくつかの例では、ビデオコーダは、参照ＱＰなど、参照ピクチャに関連する様々な他のデータを記憶し得る。たとえば、参照ピクチャの各ブロックは、関連する参照ＱＰ、すなわち、ブロックを量子化（または逆量子化）するために使用されるＱＰを有し得る。
【０１５９】
[0159]参照ＱＰを記憶することにより、ビデオコーダは、デルタＱＰを決定するとき、現在ブロックとは異なる時間インスタンスからのブロックに関連する参照ＱＰを識別することが可能になり得る。すなわち、図６に示す例において、ビデオコーダは、ピクチャｂ226のブロックを現在コーディングしていることがある。この例では、現在ブロックのデルタＱＰを決定するとき、ビデオコーダは、ピクチャＢ225またはＩ227のいずれかからのブロックに関連する参照ＱＰを識別し得る。たとえば、ビデオコーダは、現在ブロックに関連する動きベクトル情報によって識別されるいずれかの参照ブロックに関連する参照ＱＰを使用し得る。ビデオコーダは、次いで、参照ＱＰを使用して現在ブロックのデルタＱＰを生成し得る。
【０１６０】
[0160]本開示の態様によれば、ビデオコーダは、現在コーディングされているブロックのためのデルタＱＰを生成するときに２つ以上の参照ＱＰを識別し得る。いくつかの例では、参照ＱＰは２つ以上の参照ピクチャに由来し得る。参照ＱＰは組み合わせられて単一の参照ＱＰが形成され得、この単一の参照ＱＰは、現在ブロックのＱＰのためのＱＰ予測子として参照され得る。ビデオコーダは、次いで、現在ブロックのための実際のＱＰとＱＰ予測子との間の差分を決定することによって現在ブロックのデルタＱＰを生成し得る。
【０１６１】
[0161]上記で説明した例では、ピクチャｂ226のブロックのためのＱＰ予測子を決定するとき、ビデオコーダは、ピクチャＢ225からのブロックに関連する参照ＱＰ、ならびにピクチャＩ227からのブロックに関連する参照ＱＰを識別し得る。ビデオコーダは、次いで、これらの２つの参照ＱＰを組み合わせることによってＱＰ予測子を生成し得る。いくつかの例では、ビデオコーダは、これらの２つの参照ＱＰを平均化することによってこれらの２つの参照ＱＰを組み合わせ得る。他の例では、ビデオコーダは、別の方法でこれらの２つの参照ＱＰを組み合わせ得る。たとえば、ビデオコーダは重み付けＱＰ予測子を決定し得る。すなわち、ビデオコーダは、ＱＰ予測子を生成するために使用される各参照ＱＰに重みを加え得る。一例では、ビデオコーダは、以下の式（３）に従って重み付けＱＰ予測子を生成し得る。
【数４】
0005844460.tif 000005
【０１６２】
ただし、ＱＰpredはＱＰ予測子値であり、ＱＰ0、ＱＰ1は、リスト０予測ブロックおよびリスト１予測ブロックからのオフセット補正されたＱＰである。重みｗ0およびｗ1は、動き補償において使用される重み付け予測ツールの正規化された重みに基づき得る。いくつかの例では、ＱＰオフセット補正は、参照スライスと、コーディングされている現在スライスとの間のスライスレベルＱＰ差分に基づき得る。
【０１６３】
[0162]図７は、ビデオコーディングデバイス（ビデオコーダ）によって記憶される参照ＱＰデータの量を低減するための技法を示す流れ図である。図７の例では、ビデオコーダは、ビデオデータの複数の参照ブロックに関連する複数のＱＰを識別する（２４０）。たとえば、複数のＱＰは、参照ピクチャメモリ６４（図２）または参照ピクチャメモリ１４２（図３）など、ビデオデータをインター予測するために使用される参照ピクチャメモリに記憶されたビデオデータの参照ブロックに関連し得る。いくつかの例では、複数のＱＰは、参照ＱＰメモリ５５（図２）または参照ＱＰメモリ１３７（図３）など、参照ＱＰメモリに記憶され得る。
【０１６４】
[0163]ビデオコーダは、次いで複数のＱＰを表す複数のブロックのための参照ＱＰを決定する（２４２）。たとえば、図５に関して上記で説明したように、ビデオコーダは、平均参照ＱＰなど、複数のブロックのための組み合わされた参照ＱＰを生成し得る。他の例では、ビデオコーダは、複数のブロックのための最小ＱＰ、最大ＱＰ、中央ＱＰ、モードＱＰ、重み付き平均ＱＰなどを決定し得る。さらに他の例では、ビデオコーダは、ブロックを表す参照ＱＰを決定するために複数のブロックからＱＰをサブサンプリングし得る。
【０１６５】
[0164]ビデオコーダは、次いで、参照ＱＰを記憶する（２４４）。たとえば、ビデオコーダは、参照ＱＰメモリ５５（図２）または参照ＱＰメモリ１３７（図３）など、ＱＰ参照メモリに参照ＱＰを記憶し得る。いくつかの例では、ビデオコーダは、複数の参照ブロックに関連するＱＰを代表ＱＰと置き換え得る。このようにして、ビデオコーダは、記憶される参照ＱＰデータの量を低減し得る。
【０１６６】
[0165]いくつかの態様によれば、ビデオコーダは、次いで、記憶された参照ＱＰデータを使用してビデオデータをコーディングする（２４６）。たとえば、（ビデオエンコーダ２０などの）ビデオエンコーダに関して、ビデオエンコーダは、ブロックに関連する変換係数を受信し得る。ビデオエンコーダは、次いで、変換係数を量子化するためのＱＰを決定し、決定されたＱＰを使用して変換係数を量子化し得る。変換係数を量子化するために使用される実際のＱＰをシグナリングするのではなく、ビデオエンコーダは、実際のＱＰと記憶された参照ＱＰとの間のデルタＱＰを決定し得る。ビデオエンコーダは、次いで、参照ＱＰと、変換係数を量子化するために使用される実際のＱＰとの間の差分に基づいてブロックのデルタＱＰ値を決定し、シグナリングし得る。
【０１６７】
[0166]（ビデオデコーダ３０などの）ビデオデコーダに関して、ビデオデコーダは、ビデオデータのブロックに関連する量子化変換係数を受信し、エントロピー復号し得る。ビデオデコーダはまた、ブロックのデルタＱＰを受信し得る。ビデオデコーダは、受信されたデルタＱＰと記憶された参照ＱＰとの組合せに基づいてブロックを逆量子化するための実際のＱＰを決定し得る。ビデオデコーダは、次いで、決定された実際のＱＰを使用して量子化変換係数を逆量子化し得る。
【０１６８】
[0167]図７に示す例のステップは必ずしも図７に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。
【０１６９】
[0168]図８は、ビデオコーダ（たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０）によって記憶される参照ＱＰデータの量を低減するための技法を示す流れ図である。図８に示す例では、ビデオコーダは、ビデオデータの１つまたは複数の参照ブロックのための予測参照ＱＰを決定する（２６０）。たとえば、ビデオデータの参照ブロックは、参照ピクチャメモリ６４（図２）または参照ピクチャメモリ１４２（図３）など、ビデオデータをインター予測するために使用される参照ピクチャメモリに記憶され得る。いくつかの例では、上記の図５に関して説明したように、ビデオコーダは、参照ブロックが属するスライスのスライスＱＰに基づいて参照ブロックの参照ＱＰを予測し得る。他の例では、ビデオコーダは、参照ブロックのための平均ＱＰ、重み付き平均ＱＰ、最小ＱＰ、最大ＱＰ、中央ＱＰ、モードＱＰなどを使用して参照ＱＰを予測し得る。
【０１７０】
[0169]ビデオコーダはまた、１つまたは複数の参照ブロックのうちの各参照ブロックのための実際のＱＰを決定する（２６２）。すなわち、ビデオコーダは、参照ブロックの変換係数を量子化（または逆量子化）するために使用されるＱＰを決定し得る。ビデオコーダは、次いで、実際のＱＰと予測参照ＱＰとの間の差分に基づいて各参照ブロックのデルタ参照ＱＰを生成する（２６４）。たとえば、ビデオコーダは、各ブロックのデルタ参照ＱＰを生成するために、各参照ブロックのための実際のＱＰから予測参照ＱＰを減算し得る。いくつかの例では、ビデオコーダはまた、デルタ参照ＱＰを生成した後にデルタ参照ＱＰのビット深度を低減し得る。たとえば、ビデオコーダは、デルタ参照ＱＰを丸めるか、クリッピングするか、または量子化し得る。
【０１７１】
[0170]ビデオコーダは、次いで、各参照ブロックのデルタ参照ＱＰを記憶する（２６６）。たとえば、ビデオコーダは、参照ＱＰメモリ５５（図２）または参照ＱＰメモリ１３７（図３）など、ＱＰ参照メモリにデルタ参照ＱＰを記憶し得る。いくつかの例では、ビデオコーダは、複数の参照ブロックに関連するＱＰをデルタ参照ＱＰと置き換え得る。デルタ参照ＱＰは、記憶するために、参照ブロックの実際のＱＰよりも少ないビットを必要とし得る。説明のための簡単な例では、３つの参照ブロックが３、４、および５のＱＰを有し、それらの３つの参照ブロックの予測ＱＰが４であると仮定する。本開示のいくつかの態様によれば、デルタ参照ＱＰは−１、０、および１であり得る。この例では、デルタ参照ＱＰは、記憶するために、実際のＱＰよりも少ないビットを必要とする。このようにして、ビデオコーダは、記憶される参照ＱＰデータの量を低減し得る。
【０１７２】
[0171]いくつかの態様によれば、ビデオコーダは、次いで、記憶された参照ＱＰデータを使用してビデオデータをコーディングする（２６８）。たとえば、（ビデオエンコーダ２０などの）ビデオエンコーダに関して、ビデオエンコーダは、ビデオデータのブロックに関連する変換係数を受信し得る。ビデオエンコーダは、次いで、変換係数を量子化するためのＱＰを決定し、決定されたＱＰを使用して変換係数を量子化し得る。変換係数を量子化するために使用される実際のＱＰをシグナリングするのではなく、ビデオエンコーダは、実際のＱＰと、記憶されたデルタ参照ＱＰを使用して決定され得る参照ＱＰとの間のデルタＱＰを決定し得る。たとえば、ビデオエンコーダは、参照ＱＰを生成するために、記憶されたデルタ参照ＱＰを予測ＱＰに加算し得る。ビデオエンコーダは、次いで、参照ＱＰと、変換係数を量子化するために使用される実際のＱＰとの間の差分に基づいてデルタＱＰ値を決定し、シグナリングし得る。
【０１７３】
[0172]（ビデオデコーダ３０などの）ビデオデコーダに関して、ビデオデコーダは、ブロックに関連する量子化変換係数を受信し、エントロピー復号し得る。ビデオデコーダはまた、（符号化ビットストリーム中でシグナリングされた）ブロックのデルタＱＰを受信し得る。ビデオデコーダは、受信されたデルタＱＰと、記憶されたデルタ参照ＱＰのうちの少なくとも１つとの組合せに基づいてブロックを逆量子化するための実際のＱＰを決定し得る。たとえば、ビデオデコーダは、参照ＱＰを生成するために、記憶されたデルタ参照ＱＰを予測ＱＰに加算し得る。ビデオデコーダは、参照ＱＰを受信デルタＱＰに加算することによってブロックを逆量子化するための実際のＱＰを決定し得る。ビデオデコーダは、次いで、決定された実際のＱＰを使用して量子化変換係数を逆量子化し得る。
【０１７４】
[0173]図８に示す例のステップは必ずしも図８に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。たとえば、本開示のいくつかの態様によれば、図８に関して説明する技法は、図７に関して説明した技法と併せて使用され得る。たとえば、図８のステップ２６４に関して、ビデオコーダは、参照ＱＰと、参照ブロックのための代表ＱＰとの間の差分に基づいてデルタ参照ＱＰを決定し得る。
【０１７５】
[0174]図９は、２つ以上の参照ＱＰに基づいてＱＰ予測子を生成するための技法を示す流れ図である。図９に示す例では、ビデオコーダは、第１の時間インスタンスを有する１つまたは複数の参照ブロックからの第１の参照ＱＰを識別する（２８０）。たとえば、ビデオコーダは、参照ピクチャメモリ６４（図２）または参照ピクチャメモリ１４２（図３）など、ビデオデータをインター予測するために使用される参照ピクチャメモリに記憶されたビデオデータの１つまたは複数の参照ブロックに関連する参照ＱＰを識別し得る。いくつかの例では、第１の参照ＱＰは、参照ＱＰメモリ５５（図２）または参照ＱＰメモリ１３７（図３）など、参照ＱＰメモリに記憶され得る。
【０１７６】
[0175]ビデオコーダはまた、第１の時間インスタンスとは異なる第２の時間インスタンスを有する１つまたは複数の参照ブロックに関連する第２の参照ＱＰを識別する（２８２）。たとえば、ビデオコーダは、参照ピクチャメモリ６４（図２）または参照ピクチャメモリ１４２（図３）など、ビデオデータをインター予測するために使用される参照ピクチャメモリに記憶された１つまたは複数の他の参照ブロックに関連する第２の参照ＱＰを識別し得る。いくつかの例では、第２の参照ＱＰも、参照ＱＰメモリ５５（図２）または参照ＱＰメモリ１３７（図３）など、参照ＱＰメモリに記憶され得る。
【０１７７】
[0176]いくつかの例では、上記の図６に関して説明したように、第１の参照ＱＰは双予測現在ブロックの第１の参照ブロックに関連し得、第２の参照ＱＰは双予測ブロックの第２の参照ブロックに関連し得る。そのような例では、第１の参照ＱＰは、現在コーディングされているブロックよりも時間的に早く生じ得、第２の参照ＱＰは、現在コーディングされているブロックよりも時間的に後に生じ得る。
【０１７８】
[0177]ビデオコーダは、次いで、第１の参照ＱＰと第２の参照ＱＰとに基づいて現在コーディングされているブロックのＱＰ予測子を生成する（２８４）。本開示のいくつかの態様によれば、ビデオコーダは、第１の参照ＱＰと第２の参照ＱＰとの平均に基づいてＱＰ予測子を生成し得る。いくつかの例では、ビデオコーダは、動き補償において使用される重み付け予測ツールの正規化された重みを使用して重み付き平均を生成し得る。他の例では、ビデオコーダは、任意の他の方法で第１の参照ＱＰと第２の参照ＱＰとを組み合わせることによってＱＰ予測子を生成し得る。
【０１７９】
[0178]ビデオコーダは、ＱＰ予測子を使用して現在ブロックをコーディングする（２８６）。たとえば、（ビデオエンコーダ２０などの）ビデオエンコーダに関して、ビデオエンコーダは、ブロックに関連する変換係数を受信し得る。ビデオエンコーダは、次いで、変換係数を量子化するためのＱＰを決定し、決定されたＱＰを使用して変換係数を量子化し得る。変換係数を量子化するために使用される実際のＱＰをシグナリングするのではなく、ビデオエンコーダは、実際のＱＰと予測参照ＱＰとの間のデルタＱＰを決定し得る。ビデオエンコーダは、次いで、ＱＰ予測子と、変換係数を量子化するために使用される実際のＱＰとの間の差分に基づいてデルタＱＰ値を決定し、シグナリングし得る。
【０１８０】
[0179]（ビデオデコーダ３０などの）ビデオデコーダに関して、ビデオデコーダは、ブロックに関連する量子化変換係数を受信し、エントロピー復号し得る。ビデオデコーダはまた、ブロックのデルタＱＰを受信し得る。ビデオデコーダは、受信されたデルタＱＰとＱＰ予測子との間の差分に基づいてブロックを逆量子化するための実際のＱＰを決定し得る。たとえば、ビデオデコーダは、ブロックを逆量子化するための実際のＱＰを決定するために、デルタＱＰをＱＰ予測子に加算し得る。ビデオデコーダは、次いで、決定された実際のＱＰを使用して量子化変換係数を逆量子化し得る。
【０１８１】
[0180]図９に示す例のステップは必ずしも図９に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。
【０１８２】
[0181]例に応じて、本明細書で説明した方法のうちのいずれかのいくつかの行為またはイベントは、異なるシーケンスで実行され得、互いに付加、マージ、または完全に除外され得る（たとえば、すべての説明した行為またはイベントが、本方法の実施のために必要であるとは限らない）ことを理解されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して、同時に実行され得る。さらに、本開示のいくつかの態様は、明快のために単一のモジュールまたはユニット（たとえば、量子化ユニット５４（図２）または逆量子化ユニット１３６（図３）など）によって実行されるものとして説明したが、本開示の技法は、ビデオコーダに関連するユニットまたはモジュールの組合せによって実行され得ることを理解されたい。
【０１８３】
[0182]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。
【０１８４】
[0183]このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１８５】
[0184]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【０１８６】
[0185]ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１８７】
[0186]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１８８】
[0187]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１８９】
[0188]本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをコーディングする方法であって、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）値を識別することと、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成することと、
前記参照ＱＰを記憶することと、
前記記憶された参照ＱＰに基づいてビデオデータのブロックをコーディングすることと
を備える方法。
［２］  前記参照ＱＰを生成することは、平均ＱＰを生成することを備える、［１］に記載の方法。
［３］  前記平均ＱＰを生成することは、前記複数の参照ブロックに関連する前記複数のＱＰの平均を計算することを備える、［２］に記載の方法。
［４］  前記平均ＱＰを生成することは、式
【数５】
0005844460.tif 000006
に基づいて前記平均ＱＰを生成することを備え、
Ｎは、平均化されるＱＰの数を備え、ＱＰkは、平均化される前記数のＱＰの各々を備える、［３］に記載の方法。
［５］  前記参照ＱＰを生成することは、前記複数の参照ブロックに関連する前記複数のＱＰから代表ＱＰを選択することを備える、［１］に記載の方法。
［６］  前記複数の参照ブロックに関連する前記複数のＱＰを識別することは、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記ＱＰを識別することを備える、［１］に記載の方法。
［７］  前記あらかじめ定義されたエリアは、１６×１６エリアと、３２×３２エリアと、６４×６４エリアとのうちの１つを備える、［６］に記載の方法。
［８］  前記ブロックをコーディングすることは、前記ブロックを符号化することを備え、前記ブロックを符号化することは、
前記ブロックの変換係数を量子化するための実際のＱＰを決定することと、
前記実際のＱＰと前記参照ＱＰとの間の差分に基づいてデルタＱＰを決定することと、
前記デルタＱＰの指示を含むようにビットストリームを生成することと
をさらに備える、［１］に記載の方法。
［９］  前記ブロックをコーディングすることは、前記ブロックを復号することを備え、前記ブロックを復号することは、
前記ブロックの受信デルタＱＰと前記参照ＱＰとの組合せに基づいて前記ブロックの変換係数を逆量子化するための実際のＱＰを決定することと、
前記決定された実際のＱＰを使用して前記変換係数を逆量子化することと
をさらに備える、［１］に記載の方法。
［１０］  １つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置であって、前記１つまたは複数のプロセッサは、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）値を識別することと、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成することと、
前記参照ＱＰを記憶することと、
前記記憶された参照ＱＰに基づいてビデオデータのブロックをコーディングすることと
を行うように構成された、装置。
［１１］  前記１つまたは複数のプロセッサは、平均ＱＰを生成することによって前記参照ＱＰを生成するように構成された、［１０］に記載の装置。
［１２］  前記１つまたは複数のプロセッサは、前記複数の参照ブロックに関連する前記複数のＱＰの平均を計算することによって前記平均ＱＰを生成するように構成された、［１１］に記載の装置。
［１３］  前記１つまたは複数のプロセッサは、式
【数６】
0005844460.tif 000007
に基づいて前記平均ＱＰを生成することによって前記平均ＱＰを生成するように構成され、
Ｎは、平均化されるＱＰの数を備え、ＱＰkは、平均化される前記数のＱＰの各々を備える、［１２］に記載の装置。
［１４］  前記１つまたは複数のプロセッサは、前記複数の参照ブロックに関連する前記複数のＱＰから代表ＱＰを選択することによって前記参照ＱＰを生成するように構成された、［１０］に記載の装置。
［１５］  前記１つまたは複数のプロセッサは、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記ＱＰを識別することによって、前記複数の参照ブロックに関連する前記複数のＱＰを識別するように構成された、［１０］に記載の装置。
［１６］  前記装置はビデオエンコーダを備え、前記１つまたは複数のプロセッサは、
前記ブロックの変換係数を量子化するための実際のＱＰを決定することと、
前記実際のＱＰと前記参照ＱＰとの間の差分に基づいてデルタＱＰを決定することと、
前記デルタＱＰの指示を含むようにビットストリームを生成することと
を行うようにさらに構成された、［１０］に記載の装置。
［１７］  前記装置はビデオデコーダを備え、前記１つまたは複数のプロセッサは、
前記ブロックの受信デルタＱＰと前記参照ＱＰとの組合せに基づいて前記ブロックの変換係数を逆量子化するための実際のＱＰを決定することと、
前記決定された実際のＱＰを使用して前記変換係数を逆量子化することと
を行うようにさらに構成された、［１０］に記載の装置。
［１８］  ビデオデータをコーディングするための装置であって、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）値を識別する手段と、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成する手段と、
前記参照ＱＰを記憶する手段と、
前記記憶された参照ＱＰに基づいてビデオデータのブロックをコーディングする手段と
を備える装置。
［１９］  前記参照ＱＰを生成する前記手段は、平均ＱＰを生成する手段を備える、［１８］に記載の装置。
［２０］  前記平均ＱＰを生成する前記手段は、前記複数の参照ブロックに関連する前記複数のＱＰの平均を計算する手段を備える、［１９］に記載の装置。
［２１］  前記参照ＱＰを生成する前記手段は、前記複数の参照ブロックに関連する前記複数のＱＰから代表ＱＰを選択する手段を備える、［１８］に記載の装置。
［２２］  前記複数の参照ブロックに関連する前記複数のＱＰを識別する前記手段は、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記ＱＰを識別する手段を備える、［１８］に記載の装置。
［２３］  命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたとき、１つまたは複数のプロセッサに、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ（ＱＰ）値を識別することと、
前記複数のＱＰに基づいて前記複数の参照ブロックのための参照ＱＰを生成することと、
前記参照ＱＰを記憶することと、
前記記憶された参照ＱＰに基づいてビデオデータのブロックをコーディングすることと
を行わせる、非一時的コンピュータ可読記憶媒体。
［２４］  前記参照ＱＰを生成するために、前記命令は、前記１つまたは複数のプロセッサに、平均ＱＰを生成することを行わせる、［２３］に記載のコンピュータ可読記憶媒体。
［２５］  前記平均ＱＰを生成するために、前記命令は、前記１つまたは複数のプロセッサに、前記複数の参照ブロックに関連する前記複数のＱＰの平均を計算することを行わせる、［２４］に記載のコンピュータ可読記憶媒体。
［２６］  前記参照ＱＰを生成するために、前記命令は、前記１つまたは複数のプロセッサに、前記複数の参照ブロックに関連する前記複数のＱＰから代表ＱＰを選択することを行わせる、［２３］に記載のコンピュータ可読記憶媒体。
［２７］  前記複数の参照ブロックに関連する前記複数のＱＰを識別するために、前記命令は、前記１つまたは複数のプロセッサに、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記ＱＰを識別することを行わせる、［２３］に記載のコンピュータ可読記憶媒体。
［２８］  ビデオデータをコーディングする方法であって、
ビデオデータの１つまたは複数の参照ブロックのための予測参照ＱＰを決定することと、
前記１つまたは複数の参照ブロックのうちの各参照ブロックのための実際のＱＰを決定することと、
前記実際のＱＰと前記予測参照ＱＰとの間の差分に基づいて、前記１つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照ＱＰを生成することと、
各参照ブロックのための前記デルタ参照ＱＰを記憶することと
を備える方法。
［２９］  前記デルタ参照ＱＰを記憶する前に、前記デルタ参照ＱＰに関連するビット深度を低減することをさらに備える、［２８］に記載の方法。
［３０］  前記ビット深度を低減することは、前記デルタ参照ＱＰを量子化することを備える、［２９］に記載の方法。
［３１］  前記予測ＱＰを決定することは、前記１つまたは複数の参照ブロックが属するビデオデータのスライスに関連するスライスＱＰを決定することを備える、［２８］に記載の方法。
［３２］  前記記憶されたデルタ参照ＱＰのうちの少なくとも１つに基づいてブロックをコーディングすることをさらに備える、［２８］に記載の方法。
［３３］  前記ブロックをコーディングすることは、前記ブロックを符号化することを備え、前記ブロックを符号化することは、
前記ブロックの変換係数を量子化するための実際のＱＰを決定することと、
前記実際のＱＰと前記少なくとも１つの記憶されたデルタ参照ＱＰとの間の差分に基づいてデルタＱＰを決定することと、
前記デルタＱＰの指示を含むようにビットストリームを生成することと
を備える、［３２］に記載の方法。
［３４］  前記ブロックをコーディングすることは、前記ブロックを復号することを備え、前記ブロックを復号することは、
前記ブロックの受信デルタＱＰと前記少なくとも１つの記憶された参照ＱＰとの組合せに基づいて、前記ブロックの変換係数を逆量子化するための前記実際のＱＰを決定することと、
前記決定された実際のＱＰを使用して前記変換係数を逆量子化することと
を備える、［３２］に記載の方法。
［３５］  １つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置であって、前記１つまたは複数のプロセッサは、
ビデオデータの１つまたは複数の参照ブロックのための予測参照ＱＰを決定することと、
前記１つまたは複数の参照ブロックのうちの各参照ブロックのための実際のＱＰを決定することと、
前記実際のＱＰと前記予測参照ＱＰとの間の差分に基づいて、前記１つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照ＱＰを生成することと、
各参照ブロックのための前記デルタ参照ＱＰを記憶することと
を行うように構成された、装置。
［３６］  前記１つまたは複数のプロセッサは、前記デルタ参照ＱＰを記憶する前に、前記デルタ参照ＱＰに関連するビット深度を低減するようにさらに構成された、［３５］に記載の装置。
［３７］  前記１つまたは複数のプロセッサは、前記デルタ参照ＱＰを量子化することによって前記ビット深度を低減するように構成された、［３６］に記載の装置。
［３８］  前記１つまたは複数のプロセッサは、前記１つまたは複数の参照ブロックが属するビデオデータのスライスに関連するスライスＱＰを決定することによって前記予測ＱＰを決定するように構成された、［３５］に記載の装置。
［３９］  前記１つまたは複数のプロセッサは、前記記憶されたデルタ参照ＱＰのうちの少なくとも１つに基づいてブロックをコーディングするようにさらに構成された、［３５］に記載の装置。
［４０］  前記装置はビデオエンコーダを備え、前記１つまたは複数のプロセッサは、
前記ブロックの変換係数を量子化するための実際のＱＰを決定することと、
前記実際のＱＰと前記少なくとも１つの記憶されたデルタ参照ＱＰとの間の差分に基づいてデルタＱＰを決定することと、
前記デルタＱＰの指示を含むようにビットストリームを生成することと
を行うようにさらに構成された、［３９］に記載の装置。
［４１］  前記装置はビデオデコーダを備え、１つまたは複数のプロセッサは、
前記ブロックの受信デルタＱＰと前記少なくとも１つの記憶された参照ＱＰとの組合せに基づいて、前記ブロックの変換係数を逆量子化するための前記実際のＱＰを決定することと、
前記決定された実際のＱＰを使用して前記変換係数を逆量子化することと
を行うようにさらに構成された、［３９］に記載の装置。
［４２］  ビデオデータをコーディングする方法であって、前記方法は、
第１の時間インスタンスを有するビデオデータの１つまたは複数のブロックに関連する第１の参照ＱＰを識別することと、
第２の時間インスタンスを有するビデオデータの１つまたは複数のブロックに関連する第２の参照ＱＰを識別することと、前記第２の時間インスタンスは前記第１の時間インスタンスとは異なり、
第３の時間インスタンスを有するビデオデータのブロックのためのＱＰ予測子を生成することと、前記第３の時間インスタンスは前記第１の時間インスタンスおよび前記第２の時間インスタンスとは異なり、前記ＱＰ予測子は前記第１の参照ＱＰと前記第２の参照ＱＰとに基づく、
を備える、方法。
［４３］  前記ＱＰ予測子は、前記第１の参照ＱＰと前記第２の参照ＱＰとの平均を備える、［４２］に記載の方法。
［４４］  前記第１の参照ＱＰと前記第２の参照ＱＰとを重み付けすることをさらに備え、前記ＱＰ予測子値は、前記重み付けされた第１の参照ＱＰと、前記重み付けされた第２の参照ＱＰとに基づく、［４２］に記載の方法。
［４５］  前記第１の参照ＱＰと前記第２の参照ＱＰとを重み付けすることは、動き補償中に適用される重み付け予測ツールを適用することを備える、［４４］に記載の方法。
［４６］  前記第１の時間インスタンスは前記第３の時間インスタンスよりも時間的に早く生じ、前記第２の時間インスタンスは前記第３の時間インスタンスよりも時間的に後で生じる、［４２］に記載の方法。
［４７］  前記ＱＰ予測子を使用してビデオデータの前記ブロックをコーディングすることをさらに備える、［４２］に記載の方法。
［４８］  前記ブロックをコーディングすることは、前記ブロックを符号化することを備え、前記ブロックを符号化することは、
量子化変換係数を生成するために実際のＱＰを使用して前記ブロックの変換係数を量子化することと、
前記ＱＰ予測子と前記実際のＱＰとの間の差分を備えるデルタＱＰを決定することと、
前記デルタＱＰの指示を含むようにビットストリームを生成することと
をさらに備える、［４７］に記載の方法。
［４９］  前記ブロックをコーディングすることは、前記ブロックを復号することを備え、前記ブロックを復号することは、
前記ブロックの受信デルタＱＰと前記ＱＰ予測子との間の差分に基づいて前記ブロックの変換係数を逆量子化するための実際のＱＰを決定することと、
前記決定された実際のＱＰを使用して前記変換係数を逆量子化することと
をさらに備える、［４７］に記載の方法。
［５０］  １つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置であって、前記１つまたは複数のプロセッサは、
第１の時間インスタンスを有するビデオデータの１つまたは複数のブロックに関連する第１の参照ＱＰを識別することと、
第２の時間インスタンスを有するビデオデータの１つまたは複数のブロックに関連する第２の参照ＱＰを識別することと、前記第２の時間インスタンスは前記第１の時間インスタンスとは異なり、
第３の時間インスタンスを有するビデオデータのブロックのためのＱＰ予測子を生成することと、前記第３の時間インスタンスは前記第１の時間インスタンスおよび前記第２の時間インスタンスとは異なり、前記ＱＰ予測子は前記第１の参照ＱＰと前記第２の参照ＱＰとに基づく、
を行うように構成された、装置。
［５１］  前記ＱＰ予測子は、前記第１の参照ＱＰと前記第２の参照ＱＰとの平均を備える、［５０］に記載の装置。
［５２］  前記１つまたは複数のプロセッサは、前記第１の参照ＱＰと前記第２の参照ＱＰとを重み付けするようにさらに構成され、前記ＱＰ予測子値は、前記重み付けされた第１の参照ＱＰと、前記重み付けされた第２の参照ＱＰとに基づく、［５０］に記載の装置。
［５３］  前記１つまたは複数のプロセッサは、動き補償中に適用される重み付け予測ツールを適用することによって前記第１の参照ＱＰと前記第２の参照ＱＰとを重み付けするように構成された、［５２］に記載の装置。
［５４］  前記第１の時間インスタンスは記第３の時間インスタンスよりも時間的に早く生じ、前記第２の時間インスタンスは前記第３の時間インスタンスよりも時間的に後で生じる、［５０］に記載の装置。
［５５］  前記ＱＰ予測子を使用してビデオデータの前記ブロックをコーディングすることをさらに備える、［５０］に記載の装置。
［５６］  前記装置はビデオエンコーダを備え、前記１つまたは複数のプロセッサは、
量子化変換係数を生成するために実際のＱＰを使用して前記ブロックの変換係数を量子化することと、
前記ＱＰ予測子と前記実際のＱＰとの間の差分を備えるデルタＱＰを決定することと、
前記デルタＱＰの指示を含むようにビットストリームを生成することと
を行うようにさらに構成された、［５５］に記載の装置。
［５７］  前記装置はビデオデコーダを備え、前記１つまたは複数のプロセッサは、
前記ブロックの受信デルタＱＰと前記ＱＰ予測子との間の差分に基づいて前記ブロックの変換係数を逆量子化するための実際のＱＰを決定することと、
前記決定された実際のＱＰを使用して前記変換係数を逆量子化することと
を行うようにさらに構成された、［５５］に記載の装置。
【図１】
0005844460.tif 000010
【図２】
0005844460.tif 000011
【図３】
0005844460.tif 000012
【図４Ａ】
0005844460.tif 000013
【図４Ｂ】
0005844460.tif 000014
【図５】
0005844460.tif 000015
【図６】
0005844460.tif 000016
【図７】
0005844460.tif 000017
【図８】
0005844460.tif 000018
【図９】
0005844460.tif 000019