(57)【要約】  一例では、符号化ビデオデータをコーディングするためのシステムおよび方法である。ピクチャの現在のブロックに関連する量子化残差差分ブロックが生成され、量子化残差差分のブロックにおける量子化残差差分ごとの再構成された予測残差が生成される。各再構成された予測残差は、それの対応する元の予測値に加算されて、ピクチャの現在のブロックが生成される。再構成された予測残差を生成することは、量子化残差差分のブロックに対して逆量子化を実行することを含み、逆量子化は、一様量子化残差差分パルス符号変調(RDPCM)が適用されているデータを再構成し、量子化は、ΔXq=floor((X+αQ)/Q)の形を有し、Qが量子化ステップであり、αが量子化オフセットである。
2017513311.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、
量子化残差差分のブロックを生成するステップと、
量子化残差差分の前記ブロックにおける量子化残差差分ごとの再構成された予測残差を生成するステップであって、生成するステップが、量子化残差差分のブロックに対して逆量子化を実行するステップを含み、前記逆量子化が、一様量子化残差差分パルス符号変調(RDPCM)が適用されているデータを再構成する、ステップと、
各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成するステップと
を含み、
量子化は、
ΔXq=floor((X+αQ)/Q)
の形を有し、Qが量子化ステップであり、αが量子化オフセットである、方法。
【請求項２】
前記量子化ステップは定数である、請求項1に記載の方法。
【請求項３】
前記量子化ステップは、前記量子化残差差分ブロック内の行に応じて変わる、請求項1に記載の方法。
【請求項４】
前記量子化ステップは、前記量子化残差差分ブロック内の列に応じて変わる、請求項1に記載の方法。
【請求項５】
前記量子化オフセットは定数である、請求項1に記載の方法。
【請求項６】
前記量子化オフセットは、前記量子化残差差分ブロック内の行に応じて変わる、請求項1に記載の方法。
【請求項７】
前記量子化オフセットは、前記量子化残差差分ブロック内の列に応じて変わる、請求項1に記載の方法。
【請求項８】
量子化残差差分のブロックを生成するステップは、
ピクチャから予測ブロックを減算して予測残差ブロックを形成するステップと、
前記予測残差ブロックに一様量子化RDPCMを適用するステップと
を含む、請求項1に記載の方法。
【請求項９】
量子化残差差分の前記ブロックをエントロピー符号化するステップをさらに含む、請求項8に記載の方法。
【請求項１０】
前記量子化ステップの値はセットに記憶され、垂直RDPCMモードにおいて量子化ステップ値の1つのセットが使用され、水平RDPCMモードにおいて量子化ステップ値の別のセットが使用される、請求項9に記載の方法。
【請求項１１】
前記量子化ステップの値はセットに記憶され、フレーム間モードにおいて量子化ステップ値の1つのセットが使用され、フレーム内モードにおいて量子化ステップ値の別のセットが使用される、請求項9に記載の方法。
【請求項１２】
量子化オフセットはセットに記憶され、垂直RDPCMモードにおいて量子化オフセットの1つのセットが使用され、水平RDPCMモードにおいて量子化オフセットの別のセットが使用される、請求項9に記載の方法。
【請求項１３】
量子化オフセットはセットに記憶され、フレーム間モードにおいて量子化オフセットの1つのセットが使用され、フレーム内モードにおいて量子化オフセットの別のセットが使用される、請求項9に記載の方法。
【請求項１４】
量子化残差差分のブロックを生成するステップは、符号化ビットストリームから量子化残差差分の前記ブロックをエントロピー復号するステップを含む、請求項1に記載の方法。
【請求項１５】
RDPCMプロセスが有効化されたかどうかを示す1つまたは複数の構文要素を復号するステップをさらに含み、前記RDPCMプロセスは、予測される残差ブロックに基づいて前記ピクチャの前記予測残差ブロックを生成するステップを含む、請求項14に記載の方法。
【請求項１６】
前記1つまたは複数の構文要素を復号するステップは、シーケンスパラメータセット(SPS)におけるシーケンスレベルにおいて前記1つまたは複数の構文要素を復号するステップを含む、請求項15に記載の方法。
【請求項１７】
前記量子化ステップの値はセットに記憶され、垂直RDPCMモードにおいて量子化ステップ値の1つのセットが使用され、水平RDPCMモードにおいて量子化ステップ値の別のセットが使用される、請求項14に記載の方法。
【請求項１８】
前記量子化ステップの値はセットに記憶され、フレーム間モードにおいて量子化ステップ値の1つのセットが使用され、フレーム内モードにおいて量子化ステップ値の別のセットが使用される、請求項14に記載の方法。
【請求項１９】
量子化オフセットはセットに記憶され、垂直RDPCMモードにおいて量子化オフセットの1つのセットが使用され、水平RDPCMモードにおいて量子化オフセットの別のセットが使用される、請求項14に記載の方法。
【請求項２０】
量子化オフセットはセットに記憶され、フレーム間モードにおいて量子化オフセットの1つのセットが使用され、フレーム内モードにおいて量子化オフセットの別のセットが使用される、請求項14に記載の方法。
【請求項２１】
ビデオデータを復号するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
ビデオデコーダと
を含み、前記ビデオデコーダは、
量子化残差差分のブロックを復号することと、
量子化残差差分の前記ブロックにおける量子化残差差分ごとの再構成された予測残差を生成することであって、生成することが、一様量子化残差差分パルス符号変調(RDPCM)の関数として、前記再構成された予測残差を計算することを含む、生成することと、
各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成することと
を行うように構成され、
量子化は、
ΔXq=floor((X+αQ)/Q)
の形を有し、Qが量子化ステップであり、αが量子化オフセットである、デバイス。
【請求項２２】
前記ビデオデコーダは、符号化ビットストリームから量子化残差データブロックを取得するようにさらに構成される、請求項21に記載のデバイス。
【請求項２３】
前記量子化ステップおよび前記量子化オフセットのうちの1つまたは複数は定数である、請求項22に記載のデバイス。
【請求項２４】
前記量子化ステップの値はセットに記憶され、垂直RDPCMモードにおいて量子化ステップ値の1つのセットが使用され、水平RDPCMモードにおいて量子化ステップ値の別のセットが使用される、請求項22に記載のデバイス。
【請求項２５】
前記量子化ステップの値はセットに記憶され、フレーム間モードにおいて量子化オフセットの1つのセットが使用され、フレーム内モードにおいて量子化オフセットの別のセットが使用される、請求項22に記載のデバイス。
【請求項２６】
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
ビデオエンコーダと
を含み、前記ビデオエンコーダは、
ピクチャおよび前記ピクチャに関連する予測ブロックの関数として、予測残差ブロックを生成することと、
量子化残差差分ブロックを生成することであって、生成することが、前記予測残差ブロックに一様量子化残差差分パルス符号変調(RDPCM)を適用することを含む、生成することと、
量子化残差差分の前記ブロックにおける量子化残差差分ごとの再構成された予測残差を生成することであって、生成することが、一様量子化を使用する残差差分パルス符号変調(RDPCM)の関数として、前記再構成された予測残差を計算することを含む、生成することと、
各再構成された予測残差を、それの対応する元の予測値に加算して、前記ピクチャの現在のブロックを生成することと
を行うように構成され、
量子化は、
ΔXq=floor((X+αQ)/Q)
の形を有し、Qが量子化ステップであり、αが量子化オフセットである、デバイス。
【請求項２７】
前記量子化ステップおよび前記量子化オフセットのうちの1つまたは複数は定数である、請求項26に記載のデバイス。
【請求項２８】
前記量子化ステップおよび前記量子化オフセットのうちの1つまたは複数は、行または列によって変わる、請求項26に記載のデバイス。
【請求項２９】
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令が、実行されると、1つまたは複数のプロセッサに、
量子化残差差分のブロックを生成することと、
量子化残差差分の前記ブロックにおける量子化残差差分ごとの再構成された予測残差を生成することであって、生成することが、量子化残差差分のブロックに対して逆量子化を実行することを含み、前記逆量子化が、一様量子化残差差分パルス符号変調(RDPCM)が適用されているデータを再構成する、生成することと、
各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成することと
を行わせ、
量子化は、
ΔXq=floor((X+αQ)/Q)
の形を有し、Qが量子化ステップであり、αが量子化オフセットである、非一時的コンピュータ可読記憶媒体。
【請求項３０】
プロセッサのうちの1つまたは複数に、スケーリングされた残差ブロックを生成することを行わせる前記命令は、前記量子化ステップおよび前記量子化オフセットのうちの1つまたは複数を行または列によって変える命令を含む、請求項29に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれている、2014年3月17日に出願した米国仮特許出願第61/954,488号の利益を主張するものである。
【０００２】
本開示は、ビデオコーディングに関し、より具体的には、ビデオデータを符号化および復号するための技法に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビ、デジタル直接放送システム、ワイヤレス放送システム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれることが可能である。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、パート10、アドバンスドビデオコーディング(AVC:Advanced Video Coding)によって定義された規格、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格、および現在開発中のそのような規格の拡張に記載されるようなビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶することがある。
【０００４】
ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(ピクチャ内)予測および/または時間的(ピクチャ間)予測を含む。ブロックベースのビデオコーディングのために、ビデオスライス(たとえば、ビデオフレーム、またはビデオフレームの一部分)は、ビデオブロックに区分されてもよく、ビデオブロックは、ツリーブロック、コーディング単位(CU:coding unit)、および/またはコーディングノードと呼ばれることもある。ピクチャのイントラコード化(I)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャ内の参照サンプルに対する時間的予測を使用してもよい。ピクチャは、フレームと呼ばれることがあり、参照ピクチャは、参照フレームと呼ばれることがある。
【０００５】
空間的または時間的予測は、コーディングされるべきブロックのための予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されてもよく、次いで量子化され得る残差変換係数をもたらす。最初に2次元アレイに配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査されてもよく、エントロピーコーディングが、さらなる圧縮を達成するために適用されてもよい。
【０００６】
インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されてもよく、次いで量子化され得る残差変換係数をもたらす。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本開示の技法は、一般に、ビデオコーディングにおいてデータを予測することに関する。たとえば、本開示で説明する技法は、ビデオコーディングにおいて残差差分パルス符号変調(RDPCM)をサポートし得る。一例では、本開示の技法は、RDPCMを使用して残差データを予測および量子化/逆量子化することを含み得る。
【課題を解決するための手段】
【０００８】
一例では、ビデオデータを復号する方法は、ピクチャの量子化残差差分ブロックを、予測される残差ブロックに基づいて生成するステップであって、生成するステップが、予測される残差ブロックに一様量子化RDPCM符号化を適用するステップを含む、ステップを含む。
【０００９】
別の例では、ビデオデータをコーディングする方法は、量子化残差差分のブロックを生成するステップと、量子化残差差分のブロックにおける量子化残差差分ごとの再構成された予測残差を生成するステップであって、生成するステップが、量子化残差差分のブロックに対して逆量子化を実行するステップを含み、逆量子化が、一様量子化残差差分パルス符号変調(RDPCM)が適用されているデータを再構成する、ステップと、各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成するステップとを含む。
【００１０】
別の例では、ビデオデータをコーディングする方法は、量子化残差差分のブロックを生成するステップと、量子化残差差分のブロックにおける量子化残差差分ごとの再構成された予測残差を生成するステップであって、生成するステップが、量子化残差差分のブロックに対して逆一様量子化RDPCMを実行するステップを含む、ステップと、各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成するステップとを含む。
【００１１】
別の例では、ビデオデータを復号するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデコーダとを含み、ビデオデコーダは、量子化残差差分のブロックを復号することと、量子化残差差分のブロックにおける量子化残差差分ごとの再構成された予測残差を生成することであって、生成することが、一様量子化残差差分パルス符号変調(RDPCM)の関数として、再構成された予測残差を計算することを含む、生成することと、各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成することとを行うように構成される。
【００１２】
別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオエンコーダとを含み、ビデオエンコーダは、ピクチャおよびピクチャに関連する予測ブロックの関数として、予測残差ブロックを生成することと、量子化残差差分ブロックを生成することであって、生成することが、予測残差ブロックに一様量子化残差差分パルス符号変調(RDPCM)を適用することを含む、生成することと、量子化残差差分のブロックにおける量子化残差差分ごとの再構成された予測残差を生成することであって、生成することが、一様量子化を使用する残差差分パルス符号変調(RDPCM)の関数として、再構成された予測残差を計算することを含む、生成することと、各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成することとを行うように構成される。
【００１３】
別の例では、デバイスは、命令を記憶した非一時的コンピュータ可読媒体を含み、命令が、実行されると、1つまたは複数のプロセッサに、量子化残差差分のブロックを生成することと、量子化残差差分のブロックにおける量子化残差差分ごとの再構成された予測残差を生成することであって、生成することが、量子化残差差分のブロックに対して逆量子化を実行することを含み、逆量子化が、一様量子化残差差分パルス符号変調(RDPCM)が適用されているデータを再構成する、生成することと、各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成することとを行わせる。
【００１４】
本開示の1つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１５】
【図１】本開示で説明する1つまたは複数の技法を実装またはさもなければ利用するように構成されるか、またはさもなければ動作可能であり得る例示的なビデオ符号化および復号システムを示すブロック図である。
【図２】本開示の技法を実装し得る例示的なビデオエンコーダを示すブロック図である。
【図３】本開示の技法を実装し得る例示的なビデオデコーダを示すブロック図である。
【図４Ａ】残差ブロックを示す図である。
【図４Ｂ】図4Aの残差ブロックにおいてRDPCMを実行することによって取得される量子化残差ブロックを示す図である。
【図５】本開示による、ビデオデータをコーディングする例示的な技法を示すフローチャートである。
【図６】本開示による、ビデオデータを符号化する例示的な技法を示すフローチャートである。
【図７】本開示による、ビデオデータを復号する例示的な技法を示すフローチャートである。
【発明を実施するための形態】
【００１６】
本開示は、ビデオコーディングおよび/または圧縮、特に、ビデオデータの不可逆コーディングのための様々な技法について説明する。それは、HEVCの拡張または次世代のビデオコーディング規格など、先進的なビデオコーデックのコンテキストにおいて使用され得る。
【００１７】
HEVCの範囲拡張、画面コンテンツコーディング拡張、または他のビデオコーディングツールは、イントラブロックコピー(イントラBC)および残差差分パルス符号変調(RDPCM)をサポートし得る。イントラBCに関して、数例を挙げると、リモートデスクトップ、リモートゲーム、ワイヤレスディスプレイ、自動車インフォテインメント、クラウドコンピューティングなど、多くのアプリケーションの場合、これらのアプリケーションにおけるビデオコンテンツは通常、自然のコンテンツ、テキスト、人工的なグラフィックスなどの組合せである。テキストおよび人工的なグラフィックスの領域では、反復パターン(数例を挙げると、文字、アイコンおよびシンボルなど)が存在することが多い。イントラBCは、この種の冗長性を除去し、それによって場合によりフレーム内コーディングの効率性を改善するための専用プロセスとして特徴付けられ得る。
【００１８】
具体的な例では、本開示は、RDPCMを使用する不可逆コーディングに関する。RDPCMに関して、ビデオコーダ(ビデオエンコーダまたはビデオデコーダなど)は、残差ブロックのために出力される必要がある残差ブロックのデータの量を低減するために、RDPCMをイントラ予測残差(たとえば、この35個の方向性HEVCイントラモードのうちの1つを使用して形成された予測されるブロックに基づいて計算された残差)または動き補償された予測残差(たとえば、時間的予測を使用して、もしくは再構成された空間的予測(イントラBC)を使用して形成された予測されるブロックに基づいて計算された残差)に適用することができる。不可逆コーディングの場合、残差コーディング中に量子化が適用される。RDPCMは、3つの異なるモード、すなわち、RDPCMオフ、RDPCM水平およびRDPCM垂直を含み得る。RDPCMオフの場合、ビデオコーダは、RDPCMを適用しなくてもよい。RDPCM水平の場合、ビデオコーダは、現在の列の残差サンプルを予測するために左列の残差サンプルを使用してもよい。RDPCM垂直の場合、ビデオコーダは、現在の行の残差サンプルを予測するために上位行の残差サンプルを使用してもよい。
【００１９】
RDPCMでは量子化にデッドゾーンプラス一様しきい値スカラー量子化が使用されている。だが、デッドゾーンプラス一様しきい値スカラー量子化は、周波数領域にある変換係数信号のために設計されている。RDPCMでは、非常に異なる統計的特性を有する空間信号に量子化が適用される。したがって、従来のデッドゾーンプラス一様しきい値スカラー量子化は、RDPCM信号をコーディングする際には効率的ではないことがある。そのため、RDPCM手法の一例では、ビデオエンコーダ20は、すべてのピクセルに丸めによる一様量子化を適用し、ここではα=Q/2であり、Qは量子化ステップサイズであり、αは丸めオフセットである。
【００２０】
別の例示的なRDPCM手法では、RDPCMを使用するブロックの場合に、異なるピクセルロケーションに異なる量子化ステップサイズが適用される。また、量子化ステップサイズは、RDPCM方向性モードを介して関係付けられ、またはイントラ/インター予測モードに関係付けられる。
【００２１】
また別の例示的なRDPCM手法では、RDPCMを使用するブロックの場合に、異なるピクセルロケーションに異なる量子化丸めオフセットが適用される。また、いくつかの例示的な手法では、量子化丸めオフセットは、RDPCM方向性モードを介して関係付けられ、またはイントラ/インター予測モードに関係付けられる。いくつかの例では、残差値を量子化した場合、実際の残差値を符号化した場合よりもビットが少なくなり得る。このようにして、RDPCMは、ビデオエンコーダがシグナリングする必要があるデータの量を低減し、それによって帯域幅効率を高めることができる。
【００２２】
一例では、ビデオデコーダは、受信した量子化残差値を復号し、量子化ステップQの関数として量子化信号を再構成する。1つのそのような例では、Qは、ピクセル間で一様である。別の例では、量子化ステップQは、(水平モードの場合)列を越えたときに、または別の例では、(垂直モードの場合)残差ブロックの行を下ったときに、増減する。
【００２３】
いくつかの例では、ビデオエンコーダは、いくつかの他のコーディングツールとともにのみ、RDPCMを利用してもよい。たとえば、ビデオエンコーダは、残差ブロックを生成するために可逆コーディング(変換量子化バイパスコーディングとも呼ばれる)を利用することがあり、または残差ブロックの量子化バージョンを生成するために変換スキップコーディングを使用することがある。いくつかの例では、ビデオエンコーダは、残差ブロックが変換バイパスまたは変換スキップ符号化される場合のみ、RDPCMを利用してもよい。変換が残差ブロックに適用される場合、RDPCMはビデオエンコーダに利用可能ではないことがある。
【００２４】
図1は、ビデオデータをフィルタリングするための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、後の時間に宛先デバイス14によって復号されるべき符号化ビデオデータを提供するソースデバイス12を含む。具体的には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、表示デバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、などを含む、広い範囲のデバイスのうちのいずれかを含んでもよい。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備されてもよい。
【００２５】
宛先デバイス14は、リンク16を介して、復号されるべき符号化ビデオデータを受信してもよい。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備えてもよい。一例では、リンク16は、ソースデバイス12が符号化ビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にする通信媒体を備えてもよい。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信されてもよい。通信媒体は、無線周波数(RF)スペクトルなどの任意のワイヤレス通信媒体もしくはワイヤード通信媒体、または、1つもしくは複数の物理的伝送線を備えてもよい。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースのネットワークの一部を形成してもよい。通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含んでもよい。
【００２６】
代替的には、符号化データは、出力インターフェース22からストレージデバイス31に出力されてもよい。同様に、符号化データは、入力インターフェースによってストレージデバイス31からアクセスされてもよい。ストレージデバイス31は、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または、符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちのいずれかを含んでもよい。さらなる例では、ストレージデバイス31は、ソースデバイス12によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応してもよい。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイス31から記憶されたビデオデータにアクセスしてもよい。ファイルサーバは、符号化ビデオデータを記憶し、宛先デバイス14にその符号化ビデオデータを送信することが可能な任意のタイプのサーバであってもよい。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS:network attached storage)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して符号化ビデオデータにアクセスしてもよい。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含んでもよい。ストレージデバイス31からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであってもよい。
【００２７】
本開示の技法は、必ずしもワイヤレス用途または設定に限定されない。技法は、空中テレビ放送、ケーブルテレビ送信、衛星テレビ送信、たとえばインターネットを介するストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途など、様々なマルチメディア用途のうちのいずれかをサポートするビデオコーディングに適用されてもよい。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの用途をサポートするために、一方向または双方向ビデオ送信をサポートするように構成されてもよい。
【００２８】
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含んでもよい。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、またはそのようなソースの組合せ、などのソースを含んでもよい。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き電話またはテレビ電話を形成してもよい。しかしながら、本開示で説明する技法は、一般にビデオコーディングに適用可能であってもよく、ワイヤレス用途および/またはワイヤード用途に適用されてもよい。
【００２９】
キャプチャされた、事前にキャプチャされた、またはコンピュータによって生成されたビデオは、ビデオエンコーダ20によって符号化されてもよい。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信されてもよい。符号化ビデオデータはまた(または代替的に)、復号および/または再生するために、宛先デバイス14または他のデバイスによって後にアクセスするためのストレージデバイス31に記憶されてもよい。
【００３０】
宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、表示デバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含んでもよい。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信された、またはストレージデバイス31上に提供された符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ30などのビデオデコーダによって使用するための、ビデオエンコーダ20によって生成された様々な構文要素を含んでもよい。そのような構文要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバ上に記憶された符号化ビデオデータとともに含まれてもよい。
【００３１】
表示デバイス32は、宛先デバイス14と一体化されてもよく、または宛先デバイス14の外部にあってもよい。いくつかの例では、宛先デバイス14は、一体化された表示デバイスを含んでもよく、また、外部表示デバイスとインターフェースするように構成されてもよい。他の例では、宛先デバイス14は、表示デバイスであってもよい。一般に、表示デバイス32は、復号されたビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプの表示デバイスなどの、様々な表示デバイスのうちのいずれかを備えてもよい。
【００３２】
ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオ圧縮規格に従って動作してもよく、HEVCテストモデル(HM)に準拠してもよい。代替的には、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG-4、パート10、アドバンスドビデオコーディング(AVC)と呼ばれるITU-T H.264規格、またはそのような規格の拡張などの、他の独自規格または工業規格に従って動作してもよい。しかしながら、本開示の技法は、任意の特定のコーディング規格に限定されない。ビデオ圧縮規格の他の例は、MPEG-2とITU-T H.263とを含む。
【００３３】
図1には示していないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々、オーディオエンコーダおよびデコーダと一体化されてもよく、共通データストリームまたは別々のデータストリームにおけるオーディオとビデオの両方の符号化を処理するために、適切なMUX-DEMUXユニットまたは他のハードウェアおよびソフトウェアを含んでもよい。該当する場合、いくつかの例では、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、または、ユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠してもよい。
【００３４】
ビデオエンコーダ20およびビデオデコーダ30は、各々、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のうちのいずれかとして実装されてもよい。技法が部分的にソフトウェアにおいて実装されているとき、デバイスは、適切な非一時的コンピュータ可読媒体内にソフトウェアのための命令を記憶してもよく、本開示の技法を実行するために、1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行してもよい。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ内に含まれてもよく、そのいずれかは、それぞれのデバイス内に、組み合わされたエンコーダ/デコーダ(コーデック)の一部として組み込まれてもよい。
【００３５】
JCT-VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の努力は、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づいている。HMは、たとえば、ITU-T H.264/AVCによる既存のデバイスと比較して、ビデオコーディングデバイスのいくつかの追加の能力を想定する。たとえば、H.264は、9個のイントラ予測符号化モードを提供する一方で、HMは、33個ものイントラ予測符号化モードを提供してもよい。
【００３６】
一般に、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディング単位(LCU)に分割されてもよいことを記載している。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順にいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分されてもよい。各ツリーブロックは、4分木に従ってコーディング単位(CU)に分割されてもよい。たとえば、ツリーブロックは、4分木のルートノードとして、4つの子ノードに分割されてもよく、各子ノードは、次に、親ノードになり、別の4つの子ノードに分割されてもよい。最後の、分割されていない子ノードは、4分木のリーフノードとして、コーディングノード、すなわちコード化ビデオブロックを備える。コード化ビットストリームに関連付けられた構文データは、ツリーブロックが分割されてもよい最大回数を定義してもよく、また、コーディングノードの最小サイズを定義してもよい。
【００３７】
CUは、1つのルーマコーディングブロックと2つのクロマコーディングブロックとを含んでもよい。CUは、関連する予測単位(PU)および変換単位(TU)を有してもよい。PUの各々は、1つのルーマ予測ブロックと2つのクロマ予測ブロックとを含んでもよく、TUの各々は、1つのルーマ変換ブロックと2つのクロマ変換ブロックとを含んでもよい。コーディングブロックの各々は、同じ予測が適用されるサンプルのブロックを備える1つまたは複数の予測ブロックに区分されてもよい。コーディングブロックの各々はまた、同じ変換が適用されるサンプルのブロックを備える1つまたは複数の変換ブロックに区分されてもよい。
【００３８】
CUのサイズは、一般に、コーディングノードのサイズに対応し、典型的には、形状において正方形である。CUのサイズは、8×8ピクセルから、最大64×64ピクセルまたはそれ以上のツリーブロックのサイズまでの範囲であってもよい。各CUは、1つまたは複数のPUと1つまたは複数のTUとを定義してもよい。CUに含まれる構文データは、たとえば、1つまたは複数の予測ブロックへのコーディングブロックの区分を記述してもよい。区分モードは、CUがスキップもしくは直接モードで符号化されているのか、イントラ予測モード符号化されているのか、またはインター予測モードで符号化されているのかの間で異なってもよい。予測ブロックは、形状において正方形または非正方形であるように区分されてもよい。CUに含まれる構文データはまた、たとえば、4分木に従った1つまたは複数の変換ブロックへのコーディングブロックの区分を記述してもよい。変換ブロックは、形状において正方形または非正方形であるように区分されてもよい。
【００３９】
HEVC規格は、TUに従う変換を可能にし、それはCUごとに異なってもよい。TUは、典型的には、区分されたLCUのために定義された所与のCU内のPUのサイズに基づいてサイズが決められるが、これは、必ずしもそうでないことがある。TUは、典型的には、PUと同じサイズであり、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さい単位に細分されてもよい。RQTのリーフノードは、TUを表してもよい。TUに関連付けられたピクセル差分値は、量子化され得る変換係数を生成するために変換されてもよい。本開示で説明する量子化技法が実行されるブロック(たとえば、残差データが変換されないブロック)もあれば、従来の量子化技法が実行されるブロックもあることを理解されたい。
【００４０】
一般に、PUは、予測プロセスに関連するデータを含む。たとえば、PUがイントラモード符号化されたとき、PUは、PUのためのイントラ予測モードを記述するデータを含んでもよい。別の例として、PUがインターモード符号化されたとき、PUは、PUのための動きベクトルを定義するデータを含んでもよい。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、4分の1ピクセル精度もしくは8分の1ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルのための参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述してもよい。
【００４１】
一般に、TUは、変換および量子化プロセスのために使用される。1つまたは複数のPUを有する所与のCUはまた、1つまたは複数のTUを含んでもよい。予測に続いて、ビデオエンコーダ20は、PUに従ってコーディングノードによって識別されたビデオブロックから残差値を計算してもよい。その場合、コーディングノードは、元のビデオブロックではなく残差値を参照するように更新される。残差値は、ピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアル化された変換係数を生成するために、変換係数に変換され、量子化され、TUにおいて指定された変換および他の変換情報を使用して走査されてもよい。ここでも、コーディングノードは、これらのシリアル化された変換係数を参照するように更新されてもよい。本開示は、典型的には、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合には、本開示はまた、コーディングノードとPUおよびTUとを含むツリーブロック、すなわち、LCUまたはCUを指すために「ビデオブロック」という用語を使用することがある。
【００４２】
ビデオシーケンスは、典型的には、ビデオフレームまたはピクチャを含む。ピクチャグループ(GOP:group of pictures)は、一般に、一連の1つまたは複数のビデオピクチャを備える。GOPは、GOPのヘッダ、1つもしくは複数のピクチャのヘッダ、または他の場所に、GOP内に含まれるピクチャの数を記述する構文データを含んでもよい。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライス構文データを含んでもよい。ビデオエンコーダ20は、典型的には、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応してもよい。ビデオブロックは、固定されたサイズまたは変化するサイズを有してもよく、指定されたコーディング規格に従ってサイズが異なってもよい。
【００４３】
一例として、HMは、様々なPUサイズにおける予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズにおけるイントラ予測と、2N×2N、2N×N、N×2N、またはN×Nの対称PUサイズにおけるインター予測とをサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズにおけるインター予測のための非対称区分をサポートする。非対称区分では、CUの一方の方向は、区分されず、他方の方向は、25%および75%に区分される。25%区分に対応するCUの部分は、「上」、「下」、「左」、または「右」の指示が続く「n」によって示される。したがって、たとえば、「2N×nU」は、上に2N×0.5NのPUおよび下に2N×1.5NのPUで水平に区分された2N×2NのCUを指す。
【００４４】
本開示では、「N×N」および「N掛けるN」は、垂直方向および水平方向の寸法に関するビデオブロックのピクセルの寸法、たとえば、16×16ピクセル、または16掛ける16ピクセルを指すために、交換可能に使用されてもよい。一般に、16×16ブロックは、垂直方向に16ピクセル(y=16)と水平方向に16ピクセル(x=16)とを有することになる。同様に、N×Nブロックは、一般に、垂直方向にNピクセルと水平方向にNピクセルとを有し、ここでNは、負ではない整数値を表す。ブロック内のピクセルは、行および列に配置されてもよい。さらに、ブロックは、必ずしも水平方向で垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックは、N×Mピクセルを備えてもよく、ここでMは、Nと必ずしも等しくない。
【００４５】
CUのPUを使用するイントラ予測またはインター予測コーディングに続いて、ビデオエンコーダ20は、CUのTUによって指定された変換が適用される残差データを計算してもよい。残差データは、符号化されていないピクチャのピクセルと、CUに対応する予測値との間のピクセル差分に対応してもよい。ビデオエンコーダ20は、CUのための残差データを形成し、次いで、変換係数を生成するために残差データを変換してもよい。
【００４６】
変換係数を生成するための任意の変換に続いて、ビデオエンコーダ20は、変換係数の量子化を実行してもよい。量子化は、一般に、係数を表すために使用されるデータの量をできる限り低減するために変換係数が量子化され、さらなる圧縮をもたらすプロセスを指す。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減してもよい。たとえば、nビット値は、量子化の間にmビット値に切り捨てられてもよく、ここでnは、mよりも大きい。
【００４７】
いくつかの例では、ビデオエンコーダ20は、エントロピー符号化されることが可能なシリアル化ベクトルを生成するために、量子化された変換係数を走査するために事前定義された走査順を利用してもよい。他の例では、ビデオエンコーダ20は、適応走査を実行してもよい。1次元ベクトルを形成するために量子化変換係数を走査した後、ビデオエンコーダ20は、たとえば、コンテキスト適応可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応2値算術コーディング(CABAC:context adaptive binary arithmetic coding)、構文ベースコンテキスト適応2値算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率インターバル区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化してもよい。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30によって使用するための符号化ビデオデータに関連付けられた構文要素をエントロピー符号化してもよい。
【００４８】
CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルにコンテキストモデル内のコンテキストを割り当ててもよい。コンテキストは、たとえば、シンボルの隣接値が非ゼロであるかどうかに関連してもよい。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択してもよい。VLCにおけるコードワードは、比較的より短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構成されてもよい。このように、VLCの使用は、たとえば、送信されるべき各シンボルに等長コードワードを使用して、ビットの節約を達成してもよい。確率決定は、シンボルに割り当てられたコンテキストに基づいてもよい。
【００４９】
残差ブロックを変換し量子化することは、情報の喪失を招く(たとえば、逆量子化または逆変換されたブロックは、元の残差ブロックとは異なる)。したがって、残差ブロックが変換され量子化されるビデオコーディングの例は、不可逆コーディングの一形態である。いくつかの例では、ビデオエンコーダ20は、残差ブロックの変換をスキップするが、依然として残差ブロックを量子化することがある。そのようなビデオコーディングの一例は、変換スキップコーディングである。変換スキップコーディングは、量子化が情報の喪失を招くので、不可逆コーディングである。
【００５０】
ビデオエンコーダ20は、すべての場合に不可逆コーディングを実行する必要があるとは限らない。いくつかの例では、ビデオエンコーダ20は、可逆コーディングを実行してもよい。可逆コーディング(変換バイパスと呼ばれることがある)では、ビデオエンコーダ20は、残差ブロックを変換せず、残差ブロックを量子化しない。この例では、ビデオデコーダ30によって再構成される残差ブロックは、ビデオエンコーダ20によって生成された残差ブロックと同一であるが、不可逆コーディングおよび変換スキップコーディングの場合、ビデオデコーダ30によって再構成される残差ブロックは、ビデオエンコーダ20によって生成された残差ブロックと少し異なることがある。
【００５１】
言い換えれば、変換が適用されたとき、変換は、残差ブロックの残差値をピクセル領域から変換領域に変換する。いくつかの例では、変換スキップまたは変換バイパスの場合、残差データは、残差値をピクセル領域から変換領域に変換する残差値に適用される変換なしに、予測ブロックと現在のブロックとの間の差からの残差値を含む。
【００５２】
ビデオデコーダ30は、コード化ビデオデータを取得すると、ビデオエンコーダ20に関連して説明した符号化パスと全体的に相互的な復号パスを実行してもよい。たとえば、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと関連する構文要素とを表す符号化ビデオビットストリームを取得してもよい。ビデオデコーダ30は、ビットストリームに含まれるデータを使用して、元の符号化されていないビデオシーケンス(たとえば、または不可逆コーディングの場合における元の残差の量子化バージョン)を再構成してもよい。たとえば、不可逆コーディングの場合、ビデオデコーダ30は、量子化変換係数を決定するために、ビットストリームにおける構文要素をエントロピー復号してもよい。ビデオデコーダ30は、量子化残差ブロックを構成するためにビデオエンコーダ20が利用したのと同じ走査順を利用してもよい。次いでビデオデコーダ30は、変換係数を決定するために、量子化変換係数を逆量子化してもよい。ビデオデコーダ30はまた、残差ブロックの係数を決定するために、変換係数に逆変換を適用してもよい。
【００５３】
変換スキップコーディングの場合、ビデオデコーダ30は、量子化係数を決定するためにビットストリームにおける構文要素をエントロピー復号し、量子化残差ブロックを構成するためにビデオエンコーダ20が利用したのと同じ走査順を利用し、次いで、残差ブロックの係数を決定するために量子化係数を逆量子化してもよい。符号化プロセスにおいて変換がスキップされたので、逆変換は必要とされない。
【００５４】
可逆コーディング(たとえば、変換バイパスまたは単にバイパス)の場合、ビデオデコーダ30は、ビットストリームにおける構文要素をエントロピー復号してもよく、残差ブロックの係数を直接決定するためにビデオエンコーダ20が使用したのと同じ走査順を利用してもよい。符号化プロセスにおいて変換と量子化の両方がスキップされたので、逆量子化も逆変換も必要とされない。
【００５５】
いずれの場合も、ビデオデコーダ30は予測ブロックを決定する。予測ブロックは、現在のブロックと同じピクチャに位置すること(たとえば、イントラ予測の場合もしくはイントラBC予測の場合)、または現在のブロックとは異なるピクチャに位置すること(たとえば、インター予測の場合)がある。ビデオデコーダ30は、現在のブロックのピクセル値を再構成するために(たとえば、現在のブロックを復号するために)、予測ブロックにおける再構成されたピクセル値および残差ブロックにおける対応する残差値(たとえば、符号化ビットストリームから取得されたもの)を使用する。
【００５６】
場合によっては、ビデオエンコーダ20およびビデオデコーダ30は、ブロックの1つまたは複数の残差値を、ブロックからの1つまたは複数の他の残差値を使用して予測してもよい。たとえば、従来の垂直RDPCMでは、列内のピクセルごとに現在のピクセルを予測するために、上位行のピクセルが使用される。従来の水平RDPCMでは、行内のピクセルごとに現在のピクセルを予測するために、左列のピクセルが使用される。
【００５７】
いくつかの例では、ビデオエンコーダ20は、1つまたは複数のTUに残差ブロックを分割してもよい。「残差ブロック」は、一般的に、係数が(たとえば、ビデオエンコーダ20によって)エントロピー符号化または(たとえば、ビデオデコーダ30によって)エントロピー復号されるべきブロックを指すことがある。たとえば、ビデオエンコーダ20が、単一のTUを生成するために現在のブロックと予測ブロックとの間の差から生じるブロックをさらに分割しない場合、残差ブロックは、そのTUに対応する。ビデオエンコーダ20が、複数のTUを生成するために現在のブロックと予測ブロックとの間の差から生じるブロックを分割する場合、残差ブロックは、複数のTUのうちの1つに対応する。
【００５８】
図2は、本開示で説明するような変換のための技法を使用し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、例示のためにHEVCコーディングのコンテキストにおいて、ただし、他のコーディング規格について本開示を限定することなく、説明される。
【００５９】
ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行してもよい。イントラコーディングは、所与のビデオピクチャ内のビデオにおける空間的冗長性を低減または除去するために空間的予測に依存する。インターコーディングは、ビデオシーケンスの隣接ピクチャ内のビデオにおける時間的冗長性を低減または除去するために時間的予測に依存する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのうちのいずれかを指してもよい。片方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのうちのいずれかを指してもよい。
【００６０】
図2の例では、ビデオエンコーダ20は、ビデオデータメモリ38と、モード選択ユニット40と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。そして、モード選択ユニット40は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、イントラBCユニット47と、区分ユニット48とを含む。ビデオブロックの再構成のために、ビデオエンコーダ20は、逆量子化ユニット58と、逆変換ユニット60と、加算器62と、フィルタリングユニット66も含む。
【００６１】
ビデオデータメモリ38は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶してもよい。ビデオデータメモリ38に記憶されるビデオデータは、たとえば、ビデオソース18から取得されてもよい。参照ピクチャメモリ64は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する復号ピクチャバッファと呼ばれることがある。ビデオデータメモリ38および参照ピクチャメモリ64は、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)を含む)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成されてもよい。ビデオデータメモリ38および参照ピクチャメモリ64は、同じメモリデバイスまたは別個のメモリデバイスによって提供されてもよい。様々な例では、ビデオデータメモリ38は、ビデオエンコーダ20の他の構成要素と一体のオンチップ、またはそれらの構成要素に対するオフチップであってもよい。
【００６２】
符号化プロセス中、ビデオエンコーダ20は、コーディングされるべきビデオピクチャまたはスライスを受信する。ピクチャまたはスライスは、複数のビデオブロックに分割されてもよい。動き推定ユニット42および動き補償ユニット44は、時間的圧縮をもたらすために、1つまたは複数の参照ピクチャ内の1つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、代替的に、空間的圧縮をもたらすために、コーディングされるべきブロックと同じピクチャまたはスライス内の1つまたは複数の隣接ピクセル値に対する受信したビデオブロックのイントラ予測コーディングを実行してもよい。ビデオエンコーダ20は、たとえば、ビデオデータの各ブロックに適したコーディングモードを選択するために、複数のコーディングパスを実行してもよい。
【００６３】
その上、区分ユニット48は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分してもよい。たとえば、区分ユニット48は、最初に、ピクチャまたはスライスをLCUに区分し、レート-歪み分析(たとえば、レート-歪み最適化)に基づいてLCUの各々をサブCUに区分してもよい。モード選択ユニット40はさらに、LCUのサブCUへの区分を示す4分木データ構造を生成してもよい。4分木のリーフノードCUは、1つまたは複数のPUと1つまたは複数のTUとを含んでもよい。
【００６４】
モード選択ユニット40は、たとえば、誤差結果に基づいて、イントラコーディングモードまたはインターコーディングモードのうちの1つを選択してもよく、残差ブロックデータを生成するために加算器50に、および、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に、得られたイントラコード化ブロックまたはインターコード化ブロックを提供する。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのような構文情報などの構文要素をエントロピー符号化ユニット56に提供する。
【００６５】
動き推定ユニット42および動き補償ユニット44は、高度に統合されてもよいが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のピクチャ(または他のコード化単位)内でコーディングされている現在のブロックに対する参照ピクチャ(または他のコード化単位)内の予測ブロックに対する現在のビデオピクチャ内のビデオブロックのPUの変位を示してもよい。
【００６６】
予測ブロックは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定され得るピクセル差分の観点で、コーディングされるべきブロックと密接に一致することが見出されたブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64内に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算してもよい。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置の値、8分の1ピクセル位置の値、または他の分数ピクセル位置の値を補間してもよい。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力してもよい。
【００６７】
動き推定ユニット42は、参照ピクチャの予測ブロックの位置とPUの位置とを比較することによって、インターコード化スライス内のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、その各々が参照ピクチャメモリ64内に記憶された1つまたは複数の参照ピクチャを識別する第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてもよい。動き推定ユニット42は、エントロピー符号化ユニット56および動き補償ユニット44に計算された動きベクトルを送信する。
【００６８】
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて、予測ブロックを取得または生成することを伴ってもよい。やはり、いくつかの例では、動き推定ユニット42および動き補償ユニット44は機能的に統合されてもよい。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定してもよい。加算器50は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、予測残差ビデオブロックを形成する。一般に、動き推定ユニット42は、ルーマ成分に対する動き推定を実行し、動き補償ユニット44は、ルーマ成分に基づいて計算された動きベクトルを、クロマ成分とルーマ成分の両方に使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックおよびビデオスライスに関連付けられた構文要素を生成してもよい。
【００６９】
イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測してもよい。具体的には、イントラ予測ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定してもよい。いくつかの例では、イントラ予測ユニット46は、たとえば、別々の符号化パスの間、様々なイントラ予測モードを使用して現在のブロックを符号化してもよく、イントラ予測ユニット46(または、いくつかの例ではモード選択ユニット40)は、テストされたモードから使用する適切なイントラ予測モードを選択してもよい。
【００７０】
たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに対してレート-歪み分析を使用してレート-歪み値を計算し、テストされたモードの中から最良のレート-歪み特性を有するイントラ予測モードを選択してもよい。レート-歪み分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化された元の非符号化ブロックとの間の歪み(または誤差)、ならびに、符号化ブロックを生成するために使用されたビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックのための最良のレート-歪み値を示すのかを判断するために、様々な符号化ブロックに関する歪みおよびレートから比を計算してもよい。
【００７１】
ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって、予測残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。RDPCMでは、予測残差ブロックは、以下で説明するように、変換処理ユニット52をスキップし、量子化ユニット54によって量子化されてもよい。次いで、得られた量子化残差差分がエントロピー符号化ユニット56によってエントロピー符号化される。
【００７２】
変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を予測残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行してもよい。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用できる。いずれの場合も、変換処理ユニット52は、残差ブロックに変換を適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換してもよい。
【００７３】
変換処理ユニット52は、量子化ユニット54に得られた変換係数を送ってもよい。量子化ユニット54は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減してもよい。量子化の程度は、量子化パラメータを調整することによって変更されてもよい。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行してもよい。代替的には、エントロピー符号化ユニット56が走査を実行してもよい。
【００７４】
量子化に続いて、エントロピー符号化ユニット56は、量子化変換係数、またはRDPCMの場合における量子化残差差分をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応可変長コーディング(CAVLC)、コンテキスト適応2値算術コーディング(CABAC)、構文ベースコンテキスト適応2値算術コーディング(SBAC)、確率インターバル区分エントロピー(PIPE)コーディング、または別のエントロピーコーディング技法を実行してもよい。コンテキストベースのエントロピーコーディングの場合、コンテキストは隣接ブロックに基づいてもよい。エントロピー符号化ユニット56によるエントロピーコーディングに続いて、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されてもよく、または、後の送信もしくは検索のためにアーカイブされてもよい。
【００７５】
逆量子化ユニット58および逆変換ユニット60は、たとえば、参照ブロックとして後に使用するためのピクセル領域における残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。
【００７６】
動き補償ユニット44は、参照ピクチャメモリ64のピクチャのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算してもよい。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用してもよい。加算器62は、参照ピクチャメモリ64内に記憶するための再構成されたビデオブロックを生成するために、動き補償ユニット44によって生成された動き補償された予測ブロックに、再構成された残差ブロックを加算する。再構成されたビデオブロックは、後続のビデオピクチャ内のブロックをインターコーディングするために、参照ブロックとして動き推定ユニット42および動き補償ユニット44によって使用されてもよい。
【００７７】
フィルタリングユニット66は、様々なフィルタリングプロセスを実行してもよい。たとえば、フィルタリングユニット66はデブロッキングを実行してもよい。すなわち、フィルタリングユニット66は、再構成されたビデオのスライスまたはフレームを形成する複数の再構成されたビデオブロックを受信し、ブロック境界をフィルタリングして、スライスまたはフレームからブロッキネスアーティファクトを除去してもよい。一例では、フィルタリングユニット66は、ビデオブロックのいわゆる「境界強度」を評価する。ビデオブロックの境界強度に基づいて、ビデオブロックのエッジピクセルが、1つのビデオブロックからの移行がビューアにとってより知覚困難になるように、隣接ビデオブロックのエッジピクセルに対してフィルタリングされてもよい。
【００７８】
図2の例は全般的に、不可逆コーディングを実行するためのビデオエンコーダとしてビデオエンコーダ20を示しているが、本開示の技法はまた、可逆ビデオコーディングに適用されてもよい。いくつかの例では、可逆コーディングは、変換および量子化を除外する。他の例では、可逆コーディングは変換を実行し、量子化プロセスのみを除外する。さらに他の例では、可逆コーディングは、変換および量子化を使用して実施されてもよいが、量子化データ喪失を回避するために、量子化パラメータが選択されてもよい。これらおよび他の例は、本開示の範囲内に入る。そのような場合、ビデオエンコーダ20は、変換スキップ、量子化スキップ、または他の可逆コーディング技法を実行するための構成要素を含んでもよい。
【００７９】
本開示で説明する技法の様々な態様によれば、ビデオエンコーダ20は、ピクチャの現在のブロックのための残差ブロックを、現在のブロックとピクチャの予測ブロックとの間の差に基づいて生成してもよい。たとえば、イントラBCユニット47は、(たとえば、図4に関して例示し説明するように)残差ブロックを生成するためにイントラBCプロセスを適用してもよい。
【００８０】
いくつかの例では、残差差分パルス符号変調(RDPCM)が、変換がスキップされる(変換スキップ)変換ブロックに対する不可逆コーディングに拡大適用されてもよい。したがって、いくつかの例では、加算器50は量子化ユニット54に残差ブロックを送ってもよい。代替的に、変換処理ユニット52は、ある残差ブロックが変換されるべきではないことを示すデータを(たとえば、モード選択ユニット40から)受信するように構成されてもよい。そのようなデータに応答して、変換処理ユニット52は、量子化ユニット54に(変換を実行することなく)残差ブロックを提供してもよい。一例では、明示的なシグナリングなしに、水平イントラ予測モードまたは垂直イントラ予測モードによりイントラコード化ブロックに不可逆RDPCMが適用されるだけであり、著しいBDレート利得がもたらされる。
【００８１】
一例では、イントラBCユニット47はRDPCMを適用する。次いでビデオエンコーダ20は、たとえば、量子化ユニット54を使用して変更済みの予測される残差ブロックを量子化し、エントロピー符号化ユニット56を使用して量子化値をエントロピーコーディングすることによって、変更済みの予測される残差ブロックを符号化する。
【００８２】
本技法のいくつかの異なる態様および例が本開示で説明されるが、本技法の様々な態様および例は、一緒にまたは互いに別個に実行されてもよい。言い換えれば、本技法は、上述の様々な態様および例に厳密に限定されるべきではなく、組み合わせて使用されてもよく、または一緒にかつ/もしくは別個に実行されてもよい。さらに、いくつかの技法は、ビデオエンコーダ20のいくつかのユニット(イントラBCユニット47、動き補償ユニット44、またはエントロピー符号化ユニット56など)に帰せられ得るが、ビデオエンコーダ20の1つまたは複数の他のユニットも、そのような技法を実行することを担い得ることを理解されたい。
【００８３】
図3は、本開示で説明するような変換のための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。ここでも、ビデオデコーダ30は、例示のためにHEVCコーディングのコンテキストにおいて、ただし、他のコーディング規格について本開示を限定することなく、説明される。
【００８４】
図3の例では、ビデオデコーダ30は、ビデオデータメモリ68と、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、イントラBCユニット75と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80と、フィルタリングユニット84とを含む。
【００８５】
ビデオデータメモリ68は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶してもよい。ビデオデータメモリ68に記憶されるビデオデータは、たとえば、コンピュータ可読媒体16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードネットワーク通信もしくはワイヤレスネットワーク通信から、または物理データ記憶媒体にアクセスすることによって、取得されてもよい。ビデオデータメモリ68は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成してもよい。参照ピクチャメモリ82は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する復号ピクチャバッファと呼ばれることがある。ビデオデータメモリ68および参照ピクチャメモリ82は、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)を含む)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成されてもよい。ビデオデータメモリ68および参照ピクチャメモリ82は、同じメモリデバイスまたは別個のメモリデバイスによって提供されてもよい。様々な例では、ビデオデータメモリ68は、ビデオデコーダ30の他の構成要素と一体のオンチップ、またはそれらの構成要素に対するオフチップであってもよい。
【００８６】
復号プロセスの間、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと関連する構文要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数と、動きベクトルまたはイントラ予測モードインジケータと、他の構文要素とを生成するためにビットストリームを復号する。エントロピー復号ユニット70は、動き補償ユニット72に動きベクトルと他の構文要素とを転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいて構文要素を受信してもよい。
【００８７】
ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在のピクチャの以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成してもよい。ビデオピクチャがインターコード化(すなわち、B、P、またはGPB)スライスとしてコーディングされたとき、動き補償ユニット72は、エントロピー復号ユニット70から受信した動きベクトルと他の構文要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成されてもよい。ビデオデコーダ30は、参照ピクチャメモリ82内に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照ピクチャリスト、リスト0およびリスト1を構成してもよい。
【００８８】
動き補償ユニット72は、動きベクトルと他の構文要素とを構文解析することによって、現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用された予測モード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスのための参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測状態と、現在のビデオスライス内のビデオブロックを復号するための他の情報とを決定するために、受信した構文要素の一部を使用する。
【００８９】
動き補償ユニット72はまた、補間フィルタに基づいて補間を実行してもよい。動き補償ユニット72は、参照ブロックのサブ整数ピクセルに関する補間値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ20によって使用されるように補間フィルタを使用してもよい。この場合には、動き補償ユニット72は、受信した構文要素からビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用してもよい。
【００９０】
逆量子化ユニット76は、ビットストリーム内で提供され、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化する(inverse quantize)、すなわち逆量子化する(de-quantize)。RDPCMの場合、逆量子化ユニット76は、ビットストリーム内で提供され、エントロピー復号ユニット70によって復号された量子化残差差分を逆量子化する(inverse quantize)、すなわち逆量子化する(de-quantize)。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス内の各ビデオブロックのための、ビデオデコーダ30によって計算された量子化パラメータQPYの使用を含んでもよい。逆量子化ユニット76が変換係数を逆量子化したとき、逆量子化ユニット76は逆変換ユニット78に変換係数を提供する。代替的に、逆量子化ユニット76が残差値を逆量子化したとき、逆量子化ユニット76は、逆変換ユニット78をバイパスすることによって、加算器80に残差値を提供してもよい。他の例では、逆変換ユニット78は、逆量子化ユニット76から受信した残差値を、逆変換を実行することなく、加算器80に直接渡すように構成される。ビデオデコーダ30は、たとえば、いくつかのタイプの残差データが水平イントラモードまたは垂直イントラモードを使用するイントラ予測されるPUに対応するとき、そのような残差データは逆変換されるべきではないと暗黙的に判断するように構成されてもよい。
【００９１】
逆変換ユニット78は、ピクセル領域における残差ブロックを生成するために、変換係数に逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを適用する。ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを、動き補償ユニット72によって生成された対応する予測ブロックに加算することによって、復号されたビデオブロックを形成する。加算器80は、この加算演算を実行する1つまたは複数の構成要素を表す。
【００９２】
フィルタリングユニット84は、いくつかの例では、ビデオエンコーダ20のフィルタリングユニット66(図2)と同様に構成されてもよい。たとえば、フィルタリングユニット84は、符号化ビットストリームからビデオデータを復号し再構成するときに、デブロッキング、SAO、または他のフィルタリング動作を実行するように構成されてもよい。
【００９３】
ここでも、図2に関して上述したように、図3の例は全般的に、不可逆コーディングを実行するためのビデオデコーダとしてビデオデコーダ30を示しているが、本開示の技法は、可逆ビデオコーディングに適用されてもよい。いくつかの例では、可逆コーディングは、変換および量子化を除外する。他の例では、可逆コーディングは変換を実行し、量子化プロセスのみを除外する。さらに他の例では、可逆コーディングは、変換および量子化を使用して実施されてもよいが、量子化データ喪失を回避するために、量子化パラメータが選択されてもよい。これらおよび他の例は、本開示の範囲内に入る。そのような場合、ビデオデコーダ30は、変換スキップ、量子化スキップ、または他の可逆コーディング技法のうちの1つまたは複数を実行するための構成要素を含んでもよい。
【００９４】
場合によっては、ビデオデコーダ30は、上記でビデオエンコーダ20に関して説明した技法のうちの1つまたは複数を実行してもよい。たとえば、ビデオデコーダ30は、RDPCMプロセスを適用するための本開示の技法を実行して、量子化残差差分を決定してもよい。量子化残差差分が使用されて、再構成された予測残差が形成され、次いで、再構成された予測残差が元の予測値に加算されて、再構成されたサンプル値が生成される。いくつかの例では、ビデオデコーダ30は、符号化ビットストリームから1つまたは複数の構文要素を取得し、そのような構文要素に基づいて本開示の技法を実行してもよい。
【００９５】
本技法のいくつかの異なる態様および例が本開示で説明されるが、本技法の様々な態様および例は、一緒にまたは互いに別個に実行されてもよい。言い換えれば、本技法は、上述の様々な態様および例に厳密に限定されるべきではなく、組み合わせて使用されてもよく、または一緒にかつ/もしくは別個に実行されてもよい。さらに、いくつかの技法は、ビデオデコーダ30のいくつかのユニットに帰せられ得るが、ビデオデコーダ30の1つまたは複数の他のユニットも、そのような技法を実行することを担い得ることを理解されたい。
【００９６】
RDPCMによる不可逆コーディング
HEVCでは、予測の後、元の信号から予測子を減算することによって残差が取得される。RDPCMを使用する不可逆コーディングでは、空間残差信号がピクセルごとに量子化され予測され、変換が適用されない。2つのタイプのRDPCM、すなわち、垂直RDPCMおよび水平RDPCMがある。
【００９７】
図4Aおよび図4Bは、RDPCM技法の例を示す図である。垂直RDPCMの場合、列内のピクセルごとに現在のピクセルを予測するために、上位行のピクセルが使用される。水平RDPCMの場合、行内のピクセルごとに現在のピクセルを予測するために、左列のピクセルが使用される。
【００９８】
たとえば、サイズM(行)×N(列)の残差ブロックを考える。rij、0≦i≦(M-1)、0≦j≦(N-1)を残差(たとえば、イントラBC予測またはインターBC予測を実行した後の予測残差)とする。残差ブロックは、ビデオブロックの任意の成分(たとえば、ルーマ成分、クロマ成分、赤成分、緑成分、青成分(RGBコーディングの場合)など)を表してもよい。
【００９９】
残差DPCMでは、残差サンプルに予測が適用され、その結果、要素Δri,jを伴う変更済みM×NアレイΔrが、可逆垂直残差DPCMの場合には次のように取得される。
【０１００】
【数１】
2017513311.tif 000003
【０１０１】
または可逆水平RDPCMの場合には次のように取得される。
【０１０２】
【数２】
2017513311.tif 000004
【０１０３】
ビデオエンコーダ20は、RDPCMモードが使用されるときに、符号化ビットストリームにおいて元の残差ri,jの代わりに残差差分Δri,jをシグナリングする。本明細書で説明するように、残差差分は本質的に隣接残差信号に関係し、その理由は、残差信号から残差予測子を減算することによって残差差分が生成されることにある。
【０１０４】
RDPCMプロセスは、可逆と不可逆の両方のケースに適用され得る。言い換えれば、ビデオエンコーダ20は、量子化が実行されるか(たとえば、不可逆のケース)、それとも量子化がスキップされるか(たとえば、可逆のケース)に関係なく、同じRDPCMプロセスを適用してもよい。いくつかの例では、ビデオエンコーダ20は、変換がスキップされるTUの場合のみ、不可逆のケースにRDPCMを拡大適用してもよい。具体的には、不可逆RDPCM垂直の場合には、量子化残差差分Δrq(i,j)が次のように取得される。
【０１０５】
【数３】
2017513311.tif 000005
【０１０６】
上式で、
【０１０７】
【数４】
2017513311.tif 000006
【０１０８】
は、再構成された予測残差、すなわち、以下による予測残差値rの再構成バージョンである。
【０１０９】
【数５】
2017513311.tif 000007
【０１１０】
またはRDPCM水平の場合には次のように取得される。
【０１１１】
【数６】
2017513311.tif 000008
【０１１２】
上式で、
【０１１３】
【数７】
2017513311.tif 000009
【０１１４】
は、以下による予測残差値rの再構成バージョンである。
【０１１５】
【数８】
2017513311.tif 000010
【０１１６】
QおよびQ-1はそれぞれ前方量子化および後方量子化を示し、変数Qはステップサイズを表し、前述のQ(.)は量子化のプロセスを表すことに留意されたい。
【０１１７】
従来のデッドゾーンプラス一様しきい値スカラー量子化方法は、周波数領域にある変換係数信号のために設計されている。だが、RDPCMでは、非常に異なる統計的特性を有する空間信号(すなわち、ピクセル/空間領域におけるサンプル)に量子化が適用される。したがって、従来のデッドゾーンプラス一様しきい値スカラー量子化は、RDPCM信号をコーディングする際には効率的ではないことがある。そのため、本開示による1つの例示的なRDPCM手法では、ビデオエンコーダ20およびビデオデコーダ30は、対応する量子化値ΔXqを取得するために、示されるように各空間信号Xに一様量子化を適用することによって、予測残差ブロックにおける各要素の量子化残差差分を決定する。
ΔXq=floor((X+αQ)/Q)
上式で、Qは量子化ステップサイズであり、αは丸めオフセットである。次いで、量子化残差ブロックはエントロピー符号化される。
【０１１８】
デコーダにおいて、エントロピー符号化された量子化残差差分ブロックがエントロピー復号されてΔrq(i,j)が取得され、再構成された予測残差
【０１１９】
【数９】
2017513311.tif 000011
【０１２０】
が上述のように取得される。
【０１２１】
例示的な一実施形態では、エンコーダ20は、予測残差ブロックにおけるすべての残差値r(i,j)に一様量子化を適用する。1つのそのような例では、α=Q/2である。一例では、Qは残差ブロックにわたって一定である。
【０１２２】
別の例示的なRDPCM手法では、予測残差ブロックにおける異なるピクセルロケーションに異なる量子化ステップサイズが適用される。いくつかのそのような例では、エンコーダ20が垂直RDPCMモードにあるときに量子化ステップの1つのセットが使用され、エンコーダ20が水平RDPCMモードにあるときに量子化ステップの別のセットが使用される。代替的に、フレーム間モードにおいて量子化ステップの1つのセットが使用されてよく、フレーム内モードに別のセットが使用される。
【０１２３】
また別の例示的なRDPCM手法では、残差ブロックにおける異なるピクセルロケーションに異なる量子化丸めオフセットが適用される。いくつかのそのような例では、エンコーダ20が垂直RDPCMモードにあるときに丸めオフセットの1つのセットが使用され、エンコーダ20が水平RDPCMモードにあるときに丸めオフセットの別のセットが使用される。代替的に、フレーム間モードにおいて丸めオフセットの1つのセットが使用されてよく、フレーム内モードに別のセットが使用される。
【０１２４】
最初に一様量子化について説明する。次の例では、ピクセルの4×4ブロックのコンテキストにおいて量子化について説明する。量子化の後、16個の残差ピクセルはΔrq(i,j)として示され、ここではi,j=0,1,2,3である。
【０１２５】
一様量子化の一例では、符号化/復号デバイスは、α=1/2によるRDPCMモードでの一様量子化を使用し、ここでαは丸めオフセットである。したがって、丸めオフセットはαQ=Q/2であり、Qは量子化ステップである。具体的に言うと、現在のブロックがRDPCMモードを使用する場合、以下の一様量子化が、量子化ステップサイズQとともに空間信号Xに適用され、対応する量子化残差値Δrq(i,j)が、上述のように水平RDPCMまたは垂直RDPCMのいずれかを使用して、ただし以下の形の量子化により取得される。
ΔXq=floor((X+αQ)/Q)、ここでαは1/2である。
【０１２６】
別の例では、垂直RDPCMモードにおいて、量子化ステップサイズQStep0=14が第1の行のピクセルロケーションX0,0、X0,1、X0,2、X0,3に適用される。そして相対的に大きいQStep1=15が第2の行のピクセルX1,0、X1,1、X1,2、X1,3に適用される。そしてQStep2=16が第3の行のピクセルX2,0、X2,1、X2,2、X2,3に適用される。そしてQStep3=17が第4の行のピクセルX3,0、X3,1、X3,2、X3,3に適用される。
【０１２７】
いくつかの例では、量子化ステップ値がセットに記憶される。いくつかのそのような例では、垂直RDPCMモードにおいて量子化ステップ値の1つのセットが使用され、水平RDPCMモードにおいて量子化ステップ値の別のセットが使用される。他のそのような例では、フレーム間モードにおいて量子化ステップ値の1つのセットが使用され、フレーム内モードにおいて量子化ステップ値の別のセットが使用される。
【０１２８】
また別の例では、垂直RDPCMモードにおいて、量子化オフセットα0=1/4が第1の行のピクセルロケーションX0,0、X0,1、X0,2、X0,3に適用される。そして相対的に大きいα1=1/5が第2の行のピクセルX1,0、X1,1、X1,2、X1,3に適用される。そしてα2=1/6が第3の行のピクセルX2,0、X2,1、X2,2、X2,3に適用される。そしてα1=1/7が第4の行X3,0、X3,1、X3,2、X3,3に適用される。
【０１２９】
いくつかの例では、量子化オフセットがセットに記憶される。いくつかのそのような例では、垂直RDPCMモードにおいて量子化オフセットの1つのセットが使用され、水平RDPCMモードにおいて量子化オフセットの別のセットが使用される。他のそのような例では、フレーム間モードにおいて量子化オフセットの1つのセットが使用され、フレーム内モードにおいて量子化オフセットの別のセットが使用される。
【０１３０】
図5は、本開示で説明する技法を実行する際の、図2の例に示されるビデオエンコーダ20または図3の例に示されるデコーダ30のようなコーディングデバイスの例示的な動作を示すフローチャートである。ビデオエンコーダ20およびビデオデコーダ30に関して説明するが、図5の技法は、様々な他の処理能力を有する様々な他のデバイスによって実行されてもよいことを理解されたい。
【０１３１】
図5の例では、92においてデバイスが量子化残差差分のブロックを生成する。デコーダ30のようなデコーダの場合、生成することは、符号化ビットストリームをエントロピー復号することを含む。エンコーダ20のようなエンコーダの場合、生成することは、予測残差ブロックに一様量子化RDPCM方法を適用することを含む。一例では、一様量子化が、量子化ステップサイズQとともに空間信号Xに適用され、対応する量子化残差値Δrq(i,j)が、上述のように水平RDPCMまたは垂直RDPCMのいずれかを使用して、ただし以下の形の量子化により取得される。
ΔXq=floor((X+αQ)/Q)
上式で、いくつかの例では、αは1/2である。
【０１３２】
94において、デバイスが逆一様量子化RDPCMを使用して、再構成された予測残差のブロックを生成する。96において、デバイスが再構成された予測残差を予測ブロックに加算して、再構成されたピクチャを形成する。
【０１３３】
図6は、本開示で説明する技法を実行する際の、図2の例に示されるビデオエンコーダ20のようなビデオ符号化デバイスの例示的な動作を示すフローチャートである。ビデオエンコーダ20に関して説明するが、図6の技法は、様々な他の処理能力を有する様々な他のデバイスによって実行されてもよいことを理解されたい。
【０１３４】
図6の例では、ビデオエンコーダ20は、コーディングされるべきビデオピクチャまたはスライスを受信する(102)。エンコーダ20は、予測ブロックを決定し(104)、予測ブロックと現在のブロックとの間の差を決定する(106)。1つのそのような例では、イントラBCユニット47は、最低残差量、言い換えればブロックと現在のCUとの間の最小の差をもたらすブロックとして予測ブロックを決定してもよい。
【０１３５】
一例では、イントラBCユニット47は、予測ブロックおよび現在のブロックに基づいてオフセットベクトルを決定してもよい。イントラBCユニット47は、エントロピー符号化ユニット56にオフセットベクトルを渡してもよく、エントロピー符号化ユニット56は、オフセットベクトルをエントロピー符号化し、ビットストリームに符号化オフセットベクトルを加算する。加算器50は、予測ブロックと現在のブロックとの間の差として予測残差ブロックを決定してもよい(106)。
【０１３６】
本開示の態様によれば、量子化ユニット54は、上記で説明したように残差値を量子化する(108)。一例では、一様量子化が、量子化ステップサイズQとともに空間信号Xに適用され、対応する量子化残差値Δrq(i,j)が、上述のように水平RDPCMまたは垂直RDPCMのいずれかを使用して、ただし以下の形の量子化により取得される。
ΔXq=floor((X+αQ)/Q)
上式で、いくつかの例では、αは1/2である。
【０１３７】
量子化に続いて、エントロピー符号化ユニット56は、量子化残差差分値をエントロピー符号化し(一例として統計的可逆コーディングを指す)(110)、エントロピー符号化された量子化残差差分値をビットストリームに含める。このプロセスは、ビデオピクチャのブロックのすべてが符号化されるまで繰り返すが、ブロックのすべてがイントラBCプロセスを使用して符号化されるとは限らない。
【０１３８】
いくつかの技法は、ビデオエンコーダ20のいくつかのユニットに帰せられ得るが、ビデオエンコーダ20の1つまたは複数の他のユニットも、そのような技法を実行することを担い得ることを理解されたい。
【０１３９】
図7は、本開示で説明する技法を実行する際の、図3の例に示されるビデオデコーダ30のようなビデオ復号デバイスの例示的な動作を示すフローチャートである。ここでも、ビデオデコーダ30に関して説明するが、図7の技法は、様々な他の処理能力を有する様々な他のデバイスによって実行されてもよいことを理解されたい。
【０１４０】
最初に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと関連する構文要素とを表すエントロピー符号化ビデオビットストリームを受信する(120)。ビデオデコーダ30のエントロピー復号ユニット70は、ビットストリームをエントロピー復号して、量子化残差差分ブロックを生成する(122)。図7の例に示されるプロセスは(量子化を残差に適用した)不可逆コーディングプロセスに関して説明されるが、上述のように、本技法は可逆ビデオコーディングにおいて、たとえば、Q=1およびα=0を設定することによって実行されてもよい。
【０１４１】
不可逆符号化の場合、エントロピー復号ユニット70は、復号された量子化残差差分値を逆量子化ユニット76に転送し、逆量子化ユニット76では、逆一様量子化RDPCMを使用して、再構成された予測残差のブロックが生成される(124)。次いで、再構成された予測残差のブロックは加算器80に渡され、加算器80では、再構成された予測残差が予測ブロックに加算されて、元のビデオストリームx(i,j)のサンプリングされたバージョンxs(i,j)に到達する(126)。
【０１４２】
一例では、イントラBCユニット75は、オフセットベクトルに基づいて、参照ピクチャメモリ82(または何らかの他の中間メモリ)に記憶された予測ブロックを識別し、この予測ブロックを加算器80に提供する。
【０１４３】
いくつかの技法は、ビデオデコーダ30のいくつかのユニットに帰せられ得るが、ビデオデコーダ30の1つまたは複数の他のユニットも、そのような技法を実行することを担い得ることを理解されたい。
【０１４４】
例に応じて、本明細書で説明する技法のいずれかのいくつかの行為またはイベントは異なる順序で実行されてもよく、一緒に追加され、統合され、または省略されてもよい(たとえば、説明される行為またはイベントのすべてが技法の実施のために必要とは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、順次的にではなく、たとえばマルチスレッド処理、割り込み処理または複数のプロセッサを通じて同時に実行され得る。
【０１４５】
本開示のいくつかの態様は、例示のために開発中のHEVC規格に関して説明されている。しかしながら、本開示で説明する技法は、まだ開発されていない他の標準的または独自のビデオコーディングプロセスを含む他のビデオコーディングプロセスに有用であり得る。
【０１４６】
本開示で説明するビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。同じく、ビデオコーディングは、場合により、ビデオ符号化またはビデオ復号を指し得る。
【０１４７】
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つまたは複数のプロセッサによって実行されてもよい。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明する機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内に与えられてよく、あるいは複合コーデックに組み込まれ得る。また、技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
【０１５０】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。そうではなくて、上で説明されたように、様々なユニットは、コーデックハードウェアユニットにおいて結合されてよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、前述のような1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
【０１５１】
様々な例について説明してきた。これらおよび他の例は以下の特許請求の範囲内に入る。
【符号の説明】
【０１５２】
10  ビデオ符号化および復号システム、システム
12  ソースデバイス
14  宛先デバイス
16  コンピュータ可読媒体、リンク
18  ビデオソース
20  ビデオエンコーダ、エンコーダ
22  出力インターフェース
28  入力インターフェース
30  ビデオデコーダ、デコーダ
31  ストレージデバイス
32  表示デバイス
38  ビデオデータメモリ
40  モード選択ユニット
42  動き推定ユニット
44  動き補償ユニット
46  イントラ予測ユニット
47  イントラBCユニット
48  区分ユニット
50  加算器
52  変換処理ユニット
54  量子化ユニット
56  エントロピー符号化ユニット
58  逆量子化ユニット
60  逆変換ユニット
62  加算器
64  参照ピクチャメモリ
66  フィルタリングユニット
68  ビデオデータメモリ
70  エントロピー復号ユニット
72  動き補償ユニット
74  イントラ予測ユニット
75  イントラBCユニット
76  逆量子化ユニット
78  逆変換ユニット
80  加算器
82  参照ピクチャメモリ
84  フィルタリングユニット
【図１】
2017513311.tif 000012
【図２】
2017513311.tif 000013
【図３】
2017513311.tif 000014
【図４Ａ】
2017513311.tif 000015
【図４Ｂ】
2017513311.tif 000016
【図５】
2017513311.tif 000017
【図６】
2017513311.tif 000018
【図７】
2017513311.tif 000019
【手続補正書】
【提出日】平成28年9月21日(2016.9.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、
量子化残差差分のブロックを生成するステップと、
量子化残差差分の前記ブロックにおける量子化残差差分ごとの再構成された予測残差を生成するステップであって、生成するステップが、量子化残差差分のブロックに対して逆量子化を実行するステップを含み、前記逆量子化が、一様量子化残差差分パルス符号変調(RDPCM)が適用されているデータを再構成する、ステップと、
各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成するステップと
を含み、
量子化は、
ΔXq=floor((X+αQ)/Q)
の形を有し、Qが量子化ステップであり、αが1/2に等しい定数である、方法。
【請求項２】
前記量子化ステップは定数である、請求項1に記載の方法。
【請求項３】
前記量子化ステップは、前記量子化残差差分ブロック内の行に応じて変わる、請求項1に記載の方法。
【請求項４】
前記量子化ステップは、前記量子化残差差分ブロック内の列に応じて変わる、請求項1に記載の方法。
【請求項５】
量子化残差差分のブロックを生成するステップは、
ピクチャから予測ブロックを減算して予測残差ブロックを形成するステップと、
前記予測残差ブロックに一様量子化RDPCMを適用するステップと
を含む、請求項1に記載の方法。
【請求項６】
量子化残差差分の前記ブロックをエントロピー符号化するステップをさらに含む、請求項5に記載の方法。
【請求項７】
前記量子化ステップの値はセットに記憶され、垂直RDPCMモードにおいて量子化ステップ値の1つのセットが使用され、水平RDPCMモードにおいて量子化ステップ値の別のセットが使用される、請求項6に記載の方法。
【請求項８】
前記量子化ステップの値はセットに記憶され、フレーム間モードにおいて量子化ステップ値の1つのセットが使用され、フレーム内モードにおいて量子化ステップ値の別のセットが使用される、請求項6に記載の方法。
【請求項９】
量子化残差差分のブロックを生成するステップは、符号化ビットストリームから量子化残差差分の前記ブロックをエントロピー復号するステップを含む、請求項1に記載の方法。
【請求項１０】
RDPCMプロセスが有効化されたかどうかを示す1つまたは複数の構文要素を復号するステップをさらに含み、前記RDPCMプロセスは、予測される残差ブロックに基づいて前記ピクチャの前記予測残差ブロックを生成するステップを含む、請求項9に記載の方法。
【請求項１１】
前記1つまたは複数の構文要素を復号するステップは、シーケンスパラメータセット(SPS)におけるシーケンスレベルにおいて前記1つまたは複数の構文要素を復号するステップを含む、請求項10に記載の方法。
【請求項１２】
前記量子化ステップの値はセットに記憶され、垂直RDPCMモードにおいて量子化ステップ値の1つのセットが使用され、水平RDPCMモードにおいて量子化ステップ値の別のセットが使用される、請求項9に記載の方法。
【請求項１３】
前記量子化ステップの値はセットに記憶され、フレーム間モードにおいて量子化ステップ値の1つのセットが使用され、フレーム内モードにおいて量子化ステップ値の別のセットが使用される、請求項9に記載の方法。
【請求項１４】
ビデオデータを復号するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
ビデオデコーダと
を含み、前記ビデオデコーダは、
量子化残差差分のブロックを復号することと、
量子化残差差分の前記ブロックにおける量子化残差差分ごとの再構成された予測残差を生成することであって、生成することが、一様量子化残差差分パルス符号変調(RDPCM)の関数として、前記再構成された予測残差を計算することを含む、生成することと、
各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成することと
を行うように構成され、
量子化は、
ΔXq=floor((X+αQ)/Q)
の形を有し、Qが量子化ステップであり、αが1/2に等しい定数である、デバイス。
【請求項１５】
前記ビデオデコーダは、符号化ビットストリームから量子化残差データブロックを取得するようにさらに構成される、請求項14に記載のデバイス。
【請求項１６】
前記量子化ステップは定数である、請求項15に記載のデバイス。
【請求項１７】
前記量子化ステップの値はセットに記憶され、垂直RDPCMモードにおいて量子化ステップ値の1つのセットが使用され、水平RDPCMモードにおいて量子化ステップ値の別のセットが使用される、請求項15に記載のデバイス。
【請求項１８】
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
ビデオエンコーダと
を含み、前記ビデオエンコーダは、
ピクチャおよび前記ピクチャに関連する予測ブロックの関数として、予測残差ブロックを生成することと、
量子化残差差分ブロックを生成することであって、生成することが、前記予測残差ブロックに一様量子化残差差分パルス符号変調(RDPCM)を適用することを含む、生成することと、
量子化残差差分の前記ブロックにおける量子化残差差分ごとの再構成された予測残差を生成することであって、生成することが、一様量子化を使用する残差差分パルス符号変調(RDPCM)の関数として、前記再構成された予測残差を計算することを含む、生成することと、
各再構成された予測残差を、それの対応する元の予測値に加算して、前記ピクチャの現在のブロックを生成することと
を行うように構成され、
量子化は、
ΔXq=floor((X+αQ)/Q)
の形を有し、Qが量子化ステップであり、αが1/2に等しい一定の量子化オフセットである、デバイス。
【請求項１９】
前記量子化ステップは定数である、請求項18に記載のデバイス。
【請求項２０】
前記量子化ステップは、行または列によって変わる、請求項18に記載のデバイス。
【請求項２１】
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令が、実行されると、1つまたは複数のプロセッサに、
量子化残差差分のブロックを生成することと、
量子化残差差分の前記ブロックにおける量子化残差差分ごとの再構成された予測残差を生成することであって、生成することが、量子化残差差分のブロックに対して逆量子化を実行することを含み、前記逆量子化が、一様量子化残差差分パルス符号変調(RDPCM)が適用されているデータを再構成する、生成することと、
各再構成された予測残差を、それの対応する元の予測値に加算して、ピクチャの現在のブロックを生成することと
を行わせ、
量子化は、
ΔXq=floor((X+αQ)/Q)
の形を有し、Qが量子化ステップであり、αが1/2に等しい定数である、非一時的コンピュータ可読記憶媒体。
【請求項２２】
プロセッサのうちの1つまたは複数に、スケーリングされた残差ブロックを生成することを行わせる前記命令は、前記量子化ステップを行または列によって変える命令を含む、請求項21に記載の非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2017513311.tif 000020
2017513311.tif 000021
2017513311.tif 000022