(57)【要約】コード化ビットストリーム中のビデオデータのブロックを復号するたように構成された装置は、メモリと、このメモリと通信状態にあるプロセッサとを含む。メモリは、コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するように構成される。プロセッサは、ブロックの変換区分タイプを決定することと、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して１つ又は複数の変換関数を適用することを介して決定された変換係数に関連付けられる、変換係数が、１つ又は複数の変換関数に対応する逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定することと、決定された順序で逆変換関数に変換係数を入力することを介して出力値を取得することと、出力値に基づいてコード化ビットストリーム中のビデオデータのブロックを復号することとを行うように構成される。【選択図】  図７
2017531355.tif 000002
【特許請求の範囲】
【請求項１】
コード化ビットストリーム中のビデオデータのブロックを復号するための方法であって、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて決定することと、
決定された前記順序で前記１つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を備える方法。
【請求項２】
前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを備える、請求項１に記載の方法。
【請求項３】
前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数の全部ではなく一部を再配列することを備える、請求項１に記載の方法。
【請求項４】
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の１つ以上の算術演算段を選択的にバイパスすることを更に備える、請求項１に記載の方法。
【請求項５】
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の単一の段の算術演算の全部ではなく一部を選択的にバイパスすることを更に備え、ここで、前記単一の段は、前記１つ以上の逆変換関数に入力される変換係数ごとに１つの算術演算を含む、請求項１に記載の方法。
【請求項６】
前記１つ以上の逆変換関数は、１６点アダマール逆変換関数、８点アダマール逆変換関数又は４点アダマール逆変換関数のうちの１つ以上を備える、請求項１に記載の方法。
【請求項７】
前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の前記複数の出力値を再配列することを更に備える、請求項１に記載の方法。
【請求項８】
前記ビデオデータのブロックは、（i）前記ビットストリームにおいてコード化されるピクチャ内の１６画素の１つの行、（ii）前記ビットストリームにおいてコード化される前記ピクチャ内の８画素の２つの行又は（iii）前記ビットストリームにおいてコード化されるピクチャ内の４画素の４つの行、のうちの１つに対応する、請求項１に記載の方法。
【請求項９】
前記１つ以上の逆変換関数は、１つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの１つ以上を備える、請求項１に記載の方法。
【請求項１０】
前記変換区分タイプは、１６点変換以外のものあり、前記１つ以上の逆変換関数は、１６点逆変換関数を備える、請求項１に記載の方法。
【請求項１１】
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記１つ以上の逆変換関数は、１つの１６点逆変換関数を備える、請求項１に記載の方法。
【請求項１２】
コード化ビットストリーム中のビデオデータのブロックを復号するための装置であって、
前記コード化ビットストリーム中の前記ビデオデータのブロックに関連付けられたデータを格納するように構成されたメモリと、
前記メモリと通信状態にあるプロセッサであって、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、
決定された前記順序で前記１つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を行うように構成されたプロセッサと
を備える装置。
【請求項１３】
前記プロセッサは、前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを介して少なくとも部分的に決定するように構成される、請求項１２に記載の装置。
【請求項１４】
前記プロセッサは、前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数の全部ではなく一部を再配列することを介して少なくとも部分的に決定するように構成される、請求項１２に記載の装置。
【請求項１５】
前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の１つ以上の算術演算段を選択的にバイパスするように構成される、請求項１２に記載の装置。
【請求項１６】
前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の単一の段の算術演算の全部ではなく一部を選択的にバイパスするように構成され、ここで、前記単一の段は、前記１つ以上の逆変換関数に入力される変換係数ごとに１つの算術演算を含む、請求項１２に記載の装置。
【請求項１７】
前記１つ以上の逆変換関数は、１６点アダマール逆変換関数、８点アダマール逆変換関数又は４点アダマール逆変換関数のうちの１つ以上を備える、請求項１２に記載の装置。
【請求項１８】
前記プロセッサは、前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の前記複数の出力値を再配列するように更に構成される、請求項１２に記載の装置。
【請求項１９】
前記ビデオデータのブロックは、（i）前記ビットストリームにおいてコード化されるピクチャ内の１６画素の１つの行、（ii）前記ビットストリームにおいてコード化される前記ピクチャ内の８画素の２つの行又は（iii）前記ビットストリームにおいてコード化されるピクチャ内の４画素の４つの行、のうちの１つに対応する、請求項１２に記載の装置。
【請求項２０】
前記１つ以上の逆変換関数は、１つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの１つ以上を備える、請求項１２に記載の装置。
【請求項２１】
前記変換区分タイプは、１６点変換以外のものであり、前記１つ以上の逆変換関数は、１６点逆変換関数を備える、請求項１２に記載の装置。
【請求項２２】
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記１つ以上の逆変換関数は、１つの１６点逆変換関数を備える、請求項１２に記載の装置。
【請求項２３】
コードを備える非一時的なコンピュータ可読媒体であって、前記コードは、実行されると、装置に、
コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納することと、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、
決定された前記順序で前記１つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を行わせる、非一時的なコンピュータ可読媒体。
【請求項２４】
前記コードは、前記装置に、前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを介して少なくとも部分的に決定することを行わせる、請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
前記コードは、前記装置に、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の１つ以上の算術演算段を選択的にバイパスすることを更に行わせる、請求項２３に記載のコンピュータ可読媒体。
【請求項２６】
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記１つ以上の逆変換関数は、１つの１６点逆変換関数を備える、請求項２３に記載のコンピュータ可読媒体。
【請求項２７】
コード化ビットストリーム中のビデオデータのブロックを復号するように構成されたビデオコード化デバイスであって、
コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するための手段と、
前記ブロックに関連付けられた変換区分タイプを決定するための手段と、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定するための手段と、
決定された前記順序で前記１つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得するための手段と、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号するための手段と
を備えるビデオコード化デバイス。
【請求項２８】
前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを備える、請求項２７に記載のビデオコード化デバイス。
【請求項２９】
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の１つ以上の算術演算段を選択的にバイパスするための手段を更に備える、請求項２７に記載のビデオコード化デバイス。
【請求項３０】
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記１つ以上の逆変換関数は、１つの１６点逆変換関数を備える、請求項２７に記載のビデオコード化デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ビデオコード化及び圧縮の分野に関し、より具体的には、ディスプレイリンクビデオ圧縮のような、ディスプレイリンクを通した送信のためのビデオ圧縮に関する。
【背景技術】
【０００２】
[0002]デジタルビデオ能力は、デジタルテレビジョン、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップモニタ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラ又は衛星無線電話、ビデオテレビ会議デバイス、等を含む、広範囲のディスプレイに組み込まれ得る。ディスプレイリンクは、適切な発信源デバイスにディスプレイを接続するために使用される。ディスプレイリンクの帯域幅要件は、ディスプレイの解像度に比例し、故に、高解像度ディスプレイは、より大きな帯域幅のディスプレイリンクを必要とする。幾つかのディスプレイリンクは、高解像度ディスプレイをサポートする帯域幅を有さない。この帯域幅要件を低減するためにビデオ圧縮が使用されることができ、これにより、より低い帯域幅のディスプレイリンクが、高解像度ディスプレイにデジタルビデオを提供するために使用されることができる。
【０００３】
[0003]他のものは、画素データに対して画像圧縮を利用してみた。しかしながら、そのようなスキームは、時々、視覚的にロスレスではないか又は従来のディスプレイデバイスに実装するのが困難且つ高価であり得る。
【０００４】
[0004]ビデオ電子規格アソシエーション（ＶＥＳＡ）は、ディスプレイリンクビデオ圧縮のための規格として、ディスプレイストリーム圧縮（ＤＳＣ）を開発している。ＤＳＣのようなディスプレイリンクビデオ圧縮技法は、とりわけ、視覚的にロスレスであるピクチャ品質（即ち、圧縮がアクティブであることをユーザが識別することができない品質レベルを有するピクチャ）を提供するべきである。ディスプレイリンクビデオ圧縮技法はまた、リアルタイムで従来のハードウェアに実現するのが容易且つ安価なスキームを提供するべきである。
【発明の概要】
【０００５】
[0005]本開示のシステム、方法及びデバイスは各々が、幾つかの革新的な態様を有し、それらは１つとして、本明細書で開示される望ましい属性を単独で担うものではない。
【０００６】
[0006]一態様では、コード化ビットストリーム中のビデオデータのブロックを復号する方法は、ブロックに関連付けられた変換区分タイプ（transform partition type）を決定することと、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して１つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、複数の変換係数が、１つ又は複数の変換関数に対応する１つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定することと、決定された順序で１つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号することとを含む。
【０００７】
[0007]別の態様では、コード化ビットストリーム中のビデオデータのブロックを復号するための装置は、メモリと、このメモリと通信状態にあるプロセッサとを含む。メモリは、コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するように構成される。プロセッサは、ブロックに関連付けられた変換区分タイプを決定することと、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して１つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、複数の変換係数が、１つ又は複数の変換関数に対応する１つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定することと、決定された順序で１つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号することとを行うように構成される。
【０００８】
[0008]別の態様では、非一時的なコンピュータ可読媒体は、実行されると、装置に、コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納することと、ブロックに関連付けられた変換区分タイプを決定することと、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して１つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、複数の変換係数が、１つ又は複数の変換関数に対応する１つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定することと、決定された順序で１つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号することとを行わせるコードを含む。
【０００９】
[0009]別の態様では、コード化ビットストリーム中のビデオデータのブロックを復号するように構成されたビデオコード化デバイスは、コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するための手段と、ブロックに関連付けられた変換区分タイプを決定するための手段と、ここで、ブロックは、ブロックに関連付けられた複数の画素値に対して１つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、複数の変換係数が、１つ又は複数の変換関数に対応する１つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定するための手段と、決定された順序で１つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得するための手段と、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号するための手段とを含む。
【図面の簡単な説明】
【００１０】
【図１Ａ】[0010]図１Ａは、本開示で説明される態様に係る技法を利用し得る例となるビデオ符号化及び復号システムを例示するブロック図である。
【図１Ｂ】[0011]図１Ｂは、本開示で説明される態様に係る技法を実行し得る別の例となるビデオ符号化及び復号システムを例示するブロック図である。
【図２Ａ】[0012]図２Ａは、本開示で説明される態様に係る技法を実装し得るビデオエンコーダの例を例示するブロック図である。
【図２Ｂ】[0013]図２Ｂは、本開示で説明される態様に係る技法を実装し得るビデオデコーダの例を例示するブロック図である。
【図３】[0014]図３は、エンコーダ側の変換区分化の例である。
【図４】[0015]図４は、デコーダ側の変換区分化の例である。
【図５Ａ】[0016]図５Ａは、様々な区分タイプで使用される例となる画素区分を例示する。
【図５Ｂ】図５Ｂは、様々な区分タイプで使用される例となる画素区分を例示する。
【図５Ｃ】図５Ｃは、様々な区分タイプで使用される例となる画素区分を例示する。
【図５Ｄ】図５Ｄは、様々な区分タイプで使用される例となる画素区分を例示する。
【図６Ａ】[0017]図６Ａは、単一の逆変換の変換構造を使用した様々な区分タイプの例となる実装形態を例示する。
【図６Ｂ】図６Ｂは、単一の逆変換の変換構造を使用した様々な区分タイプの例となる実装形態を例示する。
【図６Ｃ】図６Ｃは、単一の逆変換の変換構造を使用した様々な区分タイプの例となる実装形態を例示する。
【図６Ｄ】図６Ｄは、単一の逆変換の変換構造を使用した様々な区分タイプの例となる実装形態を例示する。
【図７】[0018]図７は、本開示で説明される態様に係る、マルチ区分変換のために変換構造を再使用するためのデコーダによって実行される方法を例示するブロック図である。
【図８】[0019]図８は、本開示で説明される態様に係る、デコーダ側の変換区分化の例である。
【発明の詳細な説明】
【００１１】
[0020]一般に、本開示は、例えば、ディスプレイリンクビデオ圧縮で利用されるもののような、ビデオ圧縮技法を改善する方法に関する。より具体的には、本開示は、単一の変換構造を使用した多長変換関数（multi-length transform functions）を実施するためのシステム及び方法に関する。
【００１２】
[0021]特定の実施形態は、ディスプレイリンクビデオ圧縮技法の例であるディスプレイストリーム圧縮（ＤＳＣ）規格の文脈において本明細書で説明されるが、当業者は、本明細書で開示されるシステム及び方法が、任意の適切なビデオコード化規格に適用可能であり得ることを認識するだろう。例えば、本明細書で開示される実施形態は、以下の規格のうちの１つ又は複数に適用可能であり得る：国際電気通信連合（ＩＴＵ）電気通信標準化部門（ＩＴＵ−Ｔ）Ｈ.２６１、国際標準化機構／国際電気標準会議（ＩＳＯ／ＩＥＣ）ムービングピクチャエキスパートグループ―１（ＭＰＥＧ−１）ビジュアル、ＩＴＵ−Ｔ Ｈ.２６２又はＩＳＯ／ＩＥＣ ＭＰＥＧ−２ビジュアル、ＩＴＵ−Ｔ Ｈ.２６３、ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ビジュアル，ＩＴＵ−Ｔ Ｈ.２６４（ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ ＡＶＣとしても知られている）、高効率ビデオコード化（ＨＥＶＣ）及びそのような規格の任意の拡張。また、本開示で説明される技法は、将来に開発される規格の一部となり得る。換言すると、本開示で説明される技法は、前に開発されたビデオコード化規格、現在開発中のビデオコード化規格及び今後のビデオコード化規格に適用可能であり得る。更に、本開示で説明される技法は、変換ベースの画像／ビデオ圧縮を伴う任意のコード化スキームに適用可能であり得る。
【００１３】
[0022]ビデオエンコーダは、追加の圧縮を達成するために、コード化されるべき画素値又は残差値に対して１つ又は複数の変換を適用し得る。例えば、エンコーダは、ビデオデータのブロック（例えば、画素値又は残差値）に対して１つ又は複数の変換を適用し、変換係数ブロック（例えば、ビデオデータのブロックに対応する変換係数のブロック）を取得し得る。幾つかの実装形態では、エンコーダは、異なるサイズの多数の変換（例えば、変換の４つの異なるのセット）を実行し、画像又はビデオデータの特定のブロック又は一部について最良の（例えば、所望のレート歪み性能に最も近い）性能をもたらす変換を選択する。エンコーダは、選択された変換をデコーダに示すために、ビットストリームにおいて変換選択信号をシグナル伝達し得る。
【００１４】
[0023]既存のデコーダハードウェア実装形態では、別個の逆変換ブロックが、各変換区分タイプに対して使用される。例えば、エンコーダが４つの異なる区分タイプから選択するように構成される場合、エンコーダによって生成されたビットストリームを復号するように構成された対応するデコーダは、４つの異なる区分タイプに各々対応するハードウェア（例えば、互いの間で共有されていないレジスタ、加算器、減算器、等）の４つのセットも含む。ハードウェアの各セットは、例えば、マルチプレクサ（ＭＵＸ）に供給される出力値のセットを生成し、デコーダは、区分選択信号に基づいて、出力値の適切なセットを選択する。
【００１５】
[0024]しかしながら、着信区分化ビットストリームを復号するために複数の逆変換ブロックを使用することは、ハードウェア実装形態が特にデコーダ側のチップ面積及び／又は実装コストに対して敏感であるため、デコーダのコスト効率性に対して有害に影響を及ぼす。故に、よりコスト効率の良い方法での複数の変換区分サイジングを伴う変換コード化ビットストリームを復号するための改善された方法が望まれる。
【００１６】
[0025]本開示では、複数の変換区分サイジングを伴う変換コード化ビットストリームを復号する改善された方法が説明される。例えば、１６点変換の例となる実装形態は、加算器及び／又は減算器のようなハードウェアを含み得る。これらの加算器及び／又は減算器は、８点及び４点変換といった他の変換を、１６点変換を実施するために使用されるハードウェアとは別個であり且つそれから独立しているそのような８点及び４点変換を実施するのに必要な完全な変換構造（full transform structure）を追加する必要なしに、実行するために利用され得る。換言すると、エンコーダ及び／又はデコーダが実行する必要の有り得る様々な変換を実施するために使用されるハードウェアの特定の部分を再使用することで、そのような変換を実施するためのハードウェア要件が低減され得る。
【００１７】
ビデオコード化規格
[0026]ビデオ画像、ＴＶ画像、静止画像又はビデオレコーダ若しくはコンピュータによって生成された画像のようなデジタル画像は、水平ライン及び垂直ライン状に配列された画素又はサンプルを含み得る。単一の画像内の画素数は典型的に数万である。各画素は、典型的に、輝度情報及び色彩情報を含む。圧縮なしの場合、画像エンコーダから画像デコーダに伝達されるべき膨大な情報量は、リアルタイム画像送信を非実用的にするだろう。送信されるべき情報量を低減するために、ＪＰＥＧ、ＭＰＥＧ及びＨ.２６３規格のような多数の異なる圧縮方法が開発されている。
【００１８】
[0027]ビデオコード化規格は、ＩＴＵ−Ｔ Ｈ.２６１，ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１ビジュアル，ＩＴＵ−Ｔ Ｈ.２６２又はＩＳＯ／ＩＥＣ ＭＰＥＧ−２ビジュアル，ＩＴＵ−Ｔ Ｈ.２６３，ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ビジュアル，ＩＴＵ−Ｔ Ｈ.２６４（ＩＳＯ／ＩＥＣ ＭＰＥＧ−４ ＡＶＣとしても知られている）及びＨＥＶＣ及びそのような規格の拡張を含む。
【００１９】
[0028]加えて、ビデオコード化規格、即ちＤＳＣ、が、ＶＥＳＡによって開発されている。ＤＳＣ規格は、ディスプレイリンクを通した送信のためにビデオを圧縮することができるビデオ圧縮規格である。ディスプレイの解像度が増すと、ディスプレイを駆動するのに必要とされるビデオデータの帯域幅は相応して増加する。幾つかのディスプレイリンクは、そのような解像度の場合、ディスプレイにビデオデータの全てを送信するための帯域幅を有さないだろう。従って、ＤＳＣ規格は、ディスプレイリンクを通した相互動作可能で視覚的にロスレスな圧縮についての圧縮規格を規定する。
【００２０】
[0029]ＤＳＣ規格は、Ｈ.２６４及びＨＥＶＣのような他のビデオコード化規格とは異なる。ＤＳＣは、フレーム内圧縮は含むが、フレーム間圧縮は含まず、これは、ビデオデータをコード化する際にＤＳＣ規格が時間的情報を使用しないことができることを意味する。対照的に、他のビデオコード化規格は、それらのビデオコード化技法においてフレーム間圧縮を用い得る。
【００２１】
ビデオコード化システム
[0030]新規なシステム、装置及び方法の様々な態様が、添付の図面を参照して以下により十分に説明される。しかしながら、本開示は、多くの異なる形態で具現化され、本開示全体を通して提示される任意の特定の構造又は機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、この開示が、徹底的かつ完全なものなり、本開示の範囲を当業者に十分に伝えるために提供される。本明細書での教示に基づいて、当業者は、本開示の範囲が、本開示の任意の他の態様から独立して実施されようとそれらと組み合わせて実施されようと、本明細書で説明される新規のシステム、装置及び方法の任意の態様をカバーすることが意図されたものであることを認識するべきである。例えば、本明細書で説明される任意の数の態様を使用して、装置が実施され得るか、方法が実施され得る。加えて、本開示の範囲は、本明細書で説明される本開示の様々な態様に加えて、又は、それ以外に、他の構成、機能性、及び構成と機能性を使用して実施される、そのような装置又は方法をカバーすることが意図されている。本明細書に開示される任意の態様が、特許請求の範囲の１つ又は複数の要素によって具現化され得ることは理解されるべきである。
【００２２】
[0031]本明細書では特定の態様が説明されるが、これらの態様の多くの変形及び置換は、本開示の範囲内に含まれる。好ましい態様の幾つかの利益及び利点が述べられるが、本開示の範囲は、特定の利益、使用又は目的に限定されることは意図されない。むしろ、本開示の態様は、異なるワイヤレス技術、システム構成、ネットワーク及び送信プロトコルに広く適用可能であることが意図されており、そのうちの幾つかは、図で及び好ましい態様についての以下の説明で、例として例示される。詳細な説明及び図面は、本開示の限定というよりもむしろ単なる例示であり、本開示の範囲は、添付の特許請求の範囲及びそれらの同等物によって定義されている。
【００２３】
[0032]添付の図面は例を例示する。添付の図面において参照番号によって示される要素は、以下の説明において同様の参照番号によって示される要素に対応する。本開示では、順序を示す言葉（例えば、「第１の」、「第２の」、「第３の」、等）で始まる名称をもつ要素は、必ずしも、それらの要素が特定の順序を持つことを含意していない。むしろ、そのような順序を示す言葉は、同じ又は同様のタイプの異なる要素を指すために使用されるにすぎない。
【００２４】
[0033]図１Ａは、本開示で説明される態様に係る技法を利用し得る例となるビデオコード化システム１０を例示するブロック図である。本明細書で使用される場合、「ビデオコーダ」又は「コーダ」という用語は、概して、ビデオエンコーダ及びビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、概して、ビデオ符号化及びビデオ復号を指し得る。ビデオエンコーダ及びビデオデコーダに加えて、本願で説明される態様は、トランスコーダ（例えば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス）及びミドルボックス（例えば、ビットストリームを修正、変換及び／又はそれ以外の方法で操作することができるデバイス）のような他の関連デバイスに拡張され得る。
【００２５】
[0034]図１Ａに示すように、ビデオコード化システム１０は、宛先デバイス１４（即ち、「ビデオコード化デバイス１４」又は「コード化デバイス１４」）によって後の時点で復号されるべき符号化ビデオデータを生成する発信源デバイス１２（即ち、「ビデオコード化デバイス１２」又は「コード化デバイス１２」）を含む。図１Ａの例では、発信源デバイス１２及び宛先デバイス１４は、別個のデバイスの構成要素である。しかしながら、図１Ｂの例で示されるように、発信源デバイス１２及び宛先デバイス１４は、同じデバイス上にあるか又はその一部であり得ることに留意されたい。
【００２６】
[0035]図１Ａを再度参照すると、発信源デバイス１２及び宛先デバイス１４は、それぞれ、デスクトップコンピュータ、ノートブック（例えば、ラップトップコンピュータ）、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス、等を含む広範囲のデバイス（ビデオコード化デバイスとも呼ばれる）の何れかを備え得る。様々な実施形態では、発信源デバイス１２及び宛先デバイス１４は、ワイヤレス通信に対応し得る（即ち、それを介して通信するように構成され得る）。
【００２７】
[0036]ビデオコード化システム１０のビデオコード化デバイス１２、１４は、ワイヤレス広域ネットワーク（ＷＷＡＮ）（例えば、セルラ）及び／又はワイヤレスローカルエリアネットワーク（ＷＬＡＮ）キャリアのようなワイヤレスネットワーク及び無線技術を介して通信するように構成され得る。「ネットワーク」及び「システム」という用語は、多くの場合、交換して使用される。ビデオコード化デバイス１２、１４の各々は、ユーザ機器（ＵＥ）、ワイヤレスデバイス、端末、モバイル局、加入者ユニット、等であり得る。
【００２８】
[0037]ＷＬＡＮキャリアは、例えば、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、直交ＦＤＭＡ（ＯＦＤＭＡ）、単一キャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ）及び他のネットワーク等のワイヤレス通信ネットワークを含み得る。ＣＤＭＡネットワークは、ユニバーサル地上無線アクセス（ＵＴＲＡ）、ＣＤＭＡ２０００、等の無線技術を実装し得る。ＵＴＲＡは、広帯域ＣＤＭＡ（ＷＣＤＭＡ（登録商標））及びＣＤＭＡの他の変形を含む。ＣＤＭＡ２０００は、ＩＳ−２０００、ＩＳ−９５及びＩＳ−８５６規格をカバーする。ＴＤＭＡネットワークは、モバイル通信のためのグローバルシステム（ＧＳＭ（登録商標））のような無線技術を実装し得る。ＯＦＤＭＡネットワークは、次世代ＵＴＲＡ（Ｅ−ＵＴＲＡ）、ウルトラモバイルブロードバンド（ＵＭＢ）、ＩＥＥＥ８０２.１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ８０２.１６（ＷｉＭＡＸ）、ＩＥＥＥ８０２.２０、フラッシュＯＦＤＭ（Ｆｌａｓｈ−ＯＦＤＭ）、等の無線技術を実装し得る。ＵＴＲＡ及びＥ−ＵＴＲＡは、ユニバーサルモバイル電気通信システム（ＵＭＴＳ）の一部である。３ＧＰＰ（登録商標）ロングタームエボリューション（ＬＴＥ（登録商標））及びＬＴＥアドバンスド（ＬＴＥ−Ａ）は、Ｅ−ＵＴＲＡを使用するＵＭＴＳの新リリースである。ＵＴＲＡ、Ｅ―ＵＴＲＡ、ＵＭＴＳ、ＬＴＥ、ＬＴＥ−Ａ及びＧＳＭは、「第３世代パートナーシッププロジェクト（３ＧＰＰ）」という名称の団体からの文書に記載されている。ＣＤＭＡ２０００及びＵＭＢは、「第３世代パートナーシッププロジェクト２（３ＧＰＰ２）」という名称の団体からの文書に記載されている。
【００２９】
[0038]ビデオコード化システム１０のビデオコード化デバイス１２、１４はまた、ＩＥＥＥ８０２.１１規格、例えば、それらの改訂版８０２.１１ａ−１９９９（通称「８０２.１１ａ」），８０２.１１ｂ−１９９９（通称「８０２.１１ｂ」），８０２.１１ｇ−２００３（通称「８０２.１１ｇ」）、等を含む、のような１つ又は複数の規格に従ってＷＬＡＮ基地局を介して互いに通信し得る。
【００３０】
[0038]宛先デバイス１４は、リンク１６を介して、復号されるべき符号化ビデオデータを受信し得る。リンク１６は、発信源デバイス１２から宛先デバイス１４に符号化ビデオデータを移動することができる任意のタイプの媒体又はデバイスを備え得る。図１Ａの例では、リンク１６は、発信源デバイス１２が、符号化ビデオデータを宛先デバイス１４にリアルタイムで送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルのような通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトル又は１つ以上の物理送信ラインのような任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク又はインターネットのようなグローバルネットワークといったパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、又は発信源デバイス１２から宛先デバイス１４への通信を容易にするのに有益であり得る任意の他の機器を含み得る。
【００３１】
[0040]図１Ａの例では、発信源デバイス１２は、ビデオ発信源１８、ビデオエンコーダ２０（単に、エンコーダ２０とも呼ばれる）、出力インターフェース２２を含む。幾つかのケースでは、出力インターフェース２２は、変調器／復調器（モデム）及び／又は送信機を含み得る。発信源デバイス１２では、ビデオ発信源１８は、例えば、ビデオカメラのような撮像装置、前に撮られたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインタフェース、及び／又は発信源ビデオとしてコンピュータグラフィックデータを生成するためのコンピュータグラフィックシステム、又はそのような発信源の組み合わせのような発信源を含み得る。一例として、ビデオ発信源１８がビデオカメラである場合、発信源デバイス１２及び宛先デバイス１４は、図１Ｂの例で例示されるように、いわゆる「カメラ付き電話」又は「テレビ電話」を形成し得る。しかしながら、本開示で説明される技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤードアプリケーションに適用され得る。
【００３２】
[0041]撮られた、事前に撮られた又はコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、発信源デバイス１２の出力インターフェース２２を介して、宛先デバイス１４に送信され得る。符号化ビデオデータはまた（又は代替として）、復号及び／又は再生のため、宛先デバイス１４又は他のデバイスによる後のアクセスのために記憶デバイス３１に格納され得る。図１Ａ及び１Ｂに例示されるビデオエンコーダ２０は、図２Ａに例示されるビデオエンコーダ２０又は本明細書で説明される任意の他のビデオエンコーダを備え得る。
【００３３】
[0042]図１Ａの例では、宛先デバイス１４は、入力インターフェース２８、ビデオデコーダ３０（単に、デコーダ３０とも呼ばれる）及びディスプレイデバイス３２を含む。幾つかのケースでは、入力インターフェース２８は、受信機及び／又はモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、記憶デバイス３１から及び／又はリンク１６を通して符号化ビデオデータを受信し得る。リンク１６を介して通信された又は記憶デバイス３１上に提供された符号化ビデオデータは、ビデオデコーダ３０のようなビデオデコーダがビデオデータを復号する際に使用するための、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか又はファイルサーバに記憶される符号化ビデオデータに含まれ得る。図１Ａ及び１Ｂに例示されるビデオデコーダ３０は、図２Ｂに例示されるビデオデコーダ３０又は本明細書で説明される任意の他のビデオデコーダを備え得る。
【００３４】
[0043]ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るか、その外部にあり得る。幾つかの例では、宛先デバイス１４は、一体化されたディスプレイデバイスを含み得、また外部のディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４は、ディスプレイデバイスであり得る。一般に、ディスプレイデバイス３２は、復号ビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ又は別のタイプのディスプレイデバイスといった、多様なディスプレイデバイスの何れかを備え得る。
【００３５】
[0044]関連する態様では、図１Ｂは、発信源デバイス１２及び宛先デバイス１４がデバイス１１上にあるか又はその一部である例となるビデオコード化システム１０’を示す。デバイス１１は、「スマート」フォンのような電話ハンドセット、等であり得る。デバイス１１は、発信源デバイス１２及び宛先デバイス１４と動作可能に通信状態にあるプロセッサ／コントローラデバイス１３（オプションで提示される）を含み得る。図１Ｂのビデオコード化システム１０’及びそれの構成要素は、そうでなければ、図１Ａのビデオコード化システム１０及びそれらの構成要素に類似する。
【００３６】
[0045]ビデオエンコーダ２０及びビデオデコーダ３０は、ＤＳＣのようなビデオ圧縮規格に従って動作し得る。代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、別名ＭＰＥＧ―４，Ｐａｒｔ１０，ＡＶＣ，ＨＥＶＣとも呼ばれるＩＴＵ−Ｔ Ｈ.２６４規格又はそのような規格の拡張といった、他の専有の規格又は工業規格に従って動作し得る。しかしながら、本開示の技法は、何れの特定のコード化規格にも限定されない。ビデオ圧縮規格の他の例には、ＭＰＥＧ−２及びＩＴＵ−Ｔ Ｈ.２６３が含まれる。
【００３７】
[0046]図１Ａ及び１Ｂの例ででは示されないが、ビデオエンコーダ２０及びビデオデコーダ３０は各々、オーディオエンコーダ及びデコーダと一体化され得、共通のデータストリーム又は別個のデータストリーム中のオーディオ及びビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ Ｈ.２２３マルチプレクサプロトコル又はユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに準拠し得る。
【００３８】
[0047]ビデオエンコーダ２０及びビデオデコーダ３０は各々、１つ又は複数のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア又はそれらの組み合わせのような、様々な適切なエンコーダ回路の何れかとして実装され得る。本技法がソフトウェアで部分的に実装される場合、デバイスは、このソフトウェアのための命令を、適切かつ非一時的なコンピュータ可読媒体に格納し、本開示の技法を行うために、１つ又は複数のプロセッサを使用してハードウェアで命令を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、１つ又は複数のエンコーダ又はデコーダに含まれ得、それらのどちらかは、組み合わせられたエンコーダ／デコーダの一部としてそれぞれのデバイスに一体化され得る。
【００３９】
ビデオコード化プロセス
[0048]簡潔に上述したように、ビデオエンコーダ２０は、ビデオデータを符号化する。ビデオデータは、１つ又は複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。幾つかの事例では、ピクチャは、ビデオ「フレーム」と呼ばれ得る。ビデオエンコーダ２０がビデオデータ（例えば、ビデオコード化レイヤ（ＶＣＬ）データ及び／又は非ＶＣＬデータ）を符号化するとき、ビデオエンコーダ２０は、ビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成する一連のビットを含み得る。ビットストリームは、コード化ピクチャ及び関連データを含み得る。コード化ピクチャは、ピクチャのコード化表現である。ＶＣＬデータは、コード化ピクチャデータ（即ち、コード化ピクチャのサンプルに関連付けられた情報）を含み得、非ＶＣＬデータは、１つ又は複数のコード化ピクチャに関連付けられた制御情報（例えば、パラメータセット及び／又は補足強化情報）を含み得る。
【００４０】
[0049]ビットストリームを生成するために、ビデオエンコーダ２０は、ビデオデータ中の各ピクチャに対して符号化動作を実行し得る。ビデオエンコーダ２０がピクチャに対して符号化動作を実行するとき、ビデオエンコーダ２０は、一連のコード化ピクチャ及び関連データを生成し得る。関連データは、量子化パラメータ（ＱＰ）のようなコード化パラメータのセットを含み得る。コード化ピクチャを生成するために、ビデオエンコーダ２０は、１つのピクチャを、同じ大きさの（equally-sized）複数のビデオブロックへと区分化し得る。ビデオブロックは、サンプルの２次元アレイであり得る。コード化パラメータは、ビデオデータの全てのブロックについてコード化オプション（例えば、コード化モード）を定義し得る。コード化オプションは、所望のレート歪み性能を達成するために、選択され得る。
【００４１】
[0050]幾つかの例では、ビデオエンコーダ２０は、ピクチャを複数のスライスへと区分化し得る。スライスの各々は、画像（例えば、フレーム）内に空間個別的な領域を含み得、それらは、画像又はフレーム内の残りの領域からの情報なしに独立して復号されることができる。各画像又はビデオフレームは単一のスライスにおいて符号化され得るか、各画像又はビデオフレームは幾つかのスライスにおいて符号化され得る。ＤＳＣでは、各スライスを符号化するために割り振られるビット数は、ほぼ一定であり得る。ピクチャに対して符号化動作を実行することの一環として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化動作を実行し得る。ビデオエンコーダ２０がスライスに対して符号化動作を実行するとき、ビデオエンコーダ２０は、このスライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは、「コード化スライス」とも呼ばれ得る。
【００４２】
ＤＳＣビデオエンコーダ
[0051]図２Ａは、本開示において説明される態様に係る技法を実装し得るビデオエンコーダ２０の例を例示するブロック図である。ビデオエンコーダ２０は、本開示の技法のうちの幾つか又は全てを実行するように構成され得る。幾つかの例では、本開示で説明される技法は、ビデオエンコーダ２０の様々な構成要素の間で共有され得る。幾つかの例では、追加的に又は代替的に、プロセッサ（図示されない）は、本開示で説明される技法のうちの幾つかまた全てを実行するように構成され得る。
【００４３】
[0052]説明の目的のために、本開示は、ＤＳＣコード化の文脈においてビデオエンコーダ２０を説明している。しかしながら、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
【００４４】
[0053]図２Ａの例では、ビデオエンコーダ２０は、複数の機能的な構成要素を含む。ビデオエンコーダ２０の機能的な構成要素には、色空間コンバータ１０５、バッファ１１０、平面性検出器１１５、レートコントローラ１２０、予測器、量子化器及び再構築器構成要素１２５、ラインバッファ１３０、インデックス付き色履歴１３５、エントロピーエンコーダ１４０、サブストリームマルチプレクサ１４５及びレートバッファ１５０が含まれる。他の例では、ビデオエンコーダ２０は、より多い、より少ない、又は異なる機能的な構成要素を含み得る。
【００４５】
[0054]色空間１０５コンバータは、入力された色空間を、コード化実施形態において使用される色空間へと変換し得る。例えば、１つの例示的な実施形態では、入力ビデオデータの色空間は、赤、緑、青（ＲＧＢ）色空間であり、コード化は、輝度Ｙ、クロミナンス緑Ｃｇ及びクロミナンスオレンジＣｏ（ＹＣｇＣｏ）色空間で実施される。色空間変換は、ビデオデータへのシフト及び追加を含む方法によって実行され得る。他の色空間における入力ビデオデータが処理され得、他の色空間への変換もまた実行され得ることに留意されたい。
【００４６】
[0055]関連する態様では、ビデオエンコーダ２０は、バッファ１１０、ラインバッファ１３０及び／又はレートバッファ１５０を含み得る。例えば、バッファ１１０は、ビデオエンコーダ２０の他の部分による使用前に、色空間変換されたビデオデータを保持（例えば、格納）し得る。別の例では、ビデオデータは、ＲＧＢ色空間に格納され得、色空間変換は、色空間変換されるデータがより多くのビットを必要とし得るため、必要に応じて実行され得る。
【００４７】
[0056]レートバッファ１５０は、ビデオエンコーダ２０においてレート制御メカニズムの一部として機能し得、これは、レートコントローラ１２０に関連して以下でより詳細に説明されるだろう。各ブロックの符号化に費やされるビット数は、実質的にブロックの性質に基づいて大きく変動することができる。レートバッファ１５０は、圧縮されたビデオにおけるレート変動を平滑化することができる。幾つかの実施形態では、一定のビットレート（ＣＢＲ）バッファモデルが用いられ得、ここでは、レートバッファ（例えば、レートバッファ１５０）に格納されたビットが一定のビットレートでレートバッファから除去される。ＣＢＲバッファモデルでは、ビデオエンコーダ２０が過度に多くのビットをビットストリームに追加する場合、レートバッファ１５０がオーバーフローし得る。他方で、ビデオエンコーダ２０は、レートバッファ１５０のアンダーフローを防ぐために十分なビットを追加する必要があり得る。
【００４８】
[0057]ビデオデコーダ側では、ビットは、一定ビットレートで、ビデオデコーダ３０のレートバッファ１５５に追加され得（以下でより詳細に説明されている図２Ｂ参照）、ビデオデコーダ３０は、ブロックごとに、可変数のビットを除去し得る。適切な復号を確実にするために、ビデオデコーダ３０のレートバッファ１５５は、圧縮されたビットストリームの復号中、「アンダーフロー」又は「オーバーフロー」するべきではない。
【００４９】
[0058]幾つかの実施形態では、バッファフルネス（ＢＦ：buffer fullness）は、現在バッファにあるビット数を表すＢｕｆｆｅｒＣｕｒｒｅｎｔＳｉｚｅと、レートバッファ１５０のサイズを表すＢｕｆｆｅｒＭａｘＳｉｚｅ、即ち、任意の時点でレートバッファ１５０に格納されることができる最大ビット数、といった値に基づいて定義され得る。ＢＦは、次にように算出され得る：
ＢＦ＝（（ＢｕｆｆｅｒＣｕｒｒｅｎｔＳｉｚｅ＊１００）／ＢｕｆｆｅｒＭａｘＳｉｚｅ）
【００５０】
[0059]平面性検出器１１５は、ビデオデータ中の複雑な（即ち、平面でない）エリアから、ビデオデータ中の平面な（即ち、単純な又は均一の）エリアへの変化を検出することができる。「複雑な」及び「平面」という用語は、本明細書では、概して、ビデオエンコーダ２０がビデオデータのそれぞれの領域を符号化することの難しさを指すために使用されるだろう。故に、本明細書で使用される場合、複雑なという用語は、概して、ビデオエンコーダ２０が符号化し難いビデオデータの領域を表しており、例えば、テクスチャ化されたビデオデータ、高い空間周波数及び／又は符号化し難い他の特徴を含み得る。故に、本明細書で使用される場合、平面という用語は、概して、ビデオエンコーダ２０が符号化し易いビデオデータの領域を表しており、例えば、ビデオデータにおける緩やかな傾き、低い空間周波数及び／又は符号化し易い他の特徴を含み得る。複雑な領域と平面な領域との間の遷移は、符号化ビデオデータにおいて量子化アーチファクトを低減するために、ビデオエンコーダ２０によって使用され得る。具体的には、レートコントローラ１２０及び予測器、量子化器及び再構築器構成要素１２５は、複雑な領域から平面な領域への遷移が識別されるとき、そのような量子化アーチファクトを低減することができる。
【００５１】
[0060]レートコントローラ１２０は、コード化パラメータのセット、例えば、ＱＰ、を決定する。ＱＰは、レートバッファ１５０がオーバーフロー又はアンダーフローしないことを確実にするターゲットビットレートについてピクチャ品質を最大化するために、レートバッファ１５０のバッファフルネスとビデオデータの画像アクティビティとに基づいて、レートコントローラ１２０によって調整され得る。レートコントローラ１２０はまた、最適なレート歪み性能を達成するために、ビデオデータの各ブロックについて、特定のコード化オプション（例えば、特定のモード）を選択する。レートコントローラ１２０は、レートコントローラ１２０が、ビットレート制約を満たすように、即ち、実際のコード化レート全体が、ターゲットビットレートの範囲内に収まるように、再構築された画像の歪みを最小化する。
【００５２】
[0061]予測器、量子化器及び再構築器構成要素１２５は、ビデオエンコーダ２０の少なくとも３つの符号化動作を実行し得る。予測器、量子化器及び再構築器構成要素１２５は、多数の異なるモードにおいて予測を実行し得る。１つの例となる予測モードは、中央適応予測（median-adaptive prediction）の改良バージョンである。中央適応予測は、ロスレスＪＰＥＧ規格（ＪＰＥＧ−ＬＳ）によって実施され得る。予測器、量子化器及び再構築器構成要素１２５によって実行され得る、中央適応予測の改良バージョンは、３つの連続したサンプル値の並列予測を可能にし得る。別の例となる予測モードは、ブロック予測である。ブロック予測では、上のラインにおける又は同じラインの左における前に再構築された画素からサンプルが予測される。幾つかの実施形態では、ビデオエンコーダ２０及びビデオデコーダ３０は両方とも、ブロック予測使用を決定するために、再構築された画素に対して同一サーチを実行し得、故に、ブロック予測モードでは何れのビットも送られる必要はない。他の実施形態では、ビデオデコーダ３０が別個のサーチを実行する必要がないように、ビデオエンコーダ２０は、サーチを実行し、ビットストリームにおいてブロック予測ベクトルをシグナル伝達し得る。成分範囲の中点を使用してサンプルが予測される中点予測モードも実施され得る。中点予測モードは、ワーストケースのサンプルの場合における圧縮されたビデオに必要なビットの数のバウンディングでも可能にし得る。図７に関連して以下で更に説明されるように、予測器、量子化器及び再構築器構成要素１２５は、図７に例示される方法を実行することによって、ビデオデータのブロック（又は予測の任意の他の単位）をコード化（例えば、符号化又は復号）するように構成され得る。
【００５３】
[0062]予測器、量子化器及び再構築器構成要素１２５は、量子化も実行する。例えば、量子化は、シフタを使用して実施され得る２の累乗量子化器（power-of-2 quantizer）を介して実行され得る。他の量子化技法が、２の累乗量子化器の代わりに実施され得ることに留意されたい。予測器、量子化器及び再構築器構成要素１２５によって実行される量子化は、レートコントローラ１２０によって決定されるＱＰに基づき得る。最後に、予測器、量子化器及び再構築器構成要素１２５はまた、逆量子化された残差を予測値に加えることと、その結果がサンプル値の有効範囲外とならないことを確実にすることとを含む再構築を実行する。
【００５４】
[0063]予測器、量子化器及び再構築器構成要素１２５によって実行される予測、量子化及び再構築への上述した例となるアプローチが、単に実例となるものであること及び他のアプローチが実施され得ることに留意されたい。予測器、量子化器及び再構築器構成要素１２５が、予測、量子化及び／又は再構築を実行するためのサブ構成要素を含み得ることにも留意されたい。予測、量子化及び／又は再構築が、予測器、量子化器及び再構築器構成要素１２５の代わりに幾つかの別個のエンコーダ構成要素によって実行され得ることに更に留意されたい。
【００５５】
[0064]ラインバッファ１３０は、予測器、量子化器及び再構築器構成要素１２５及びインデックス付き色履歴１３５がバッファされたビデオデータを使用することができるように、予測器、量子化器及び再構築器構成要素１２５からの出力を保持（例えば、格納）する。インデックス付き色履歴１３５は、最近使用された画素値を格納する。これらの最近使用された画素値は、専用シンタックスを介して、ビデオエンコーダ２０によって直接的に参照されることができる。
【００５６】
[0065]エントロピーエンコーダ１４０は、インデックス付き色履歴１３５と平面性検出器１１５によって識別された平面性遷移とに基づいて、予測器、量子化器及び再構築器構成要素１２５から受信される予測残差及び任意の他のデータ（例えば、予測器、量子化器及び再構築器構成要素１２５によって識別されたインデックス）を符号化する。幾つかの例では、エントロピーエンコーダ１４０は、サブストリームエンコーダごとに、１クロックにつき３つのサンプルを符号化し得る。サブストリームマルチプレクサ１４５は、ヘッダーレスパケット多重化スキームに基づいてビットストリームを多重化し得る。これにより、ビデオデコーダ３０は、同時に３つのエントロピーデコーダを実行することができ、これは、１クロックにつき３つの画素の復号を容易にする。サブストリームマルチプレクサ１４５は、パケットが、ビデオデコーダ３０によって効率的に復号されることができるように、パケット順序を最適化し得る。１クロックあたり２の累乗画素（例えば、２画素／クロック又は４画素／クロック）の復号を容易にし得る、エントロピーコード化への異なるアプローチが実施され得ることに留意されたい。
【００５７】
ＤＳＣビデオデコーダ
[0066]図２Ｂは、本開示において説明される態様に係る技法を実施し得るビデオデコーダ３０の例を例示するブロック図である。ビデオデコーダ３０は、本開示の技法のうちの幾つか又は全てを実行するように構成され得る。幾つかの例では、本開示で説明される技法は、ビデオデコーダ３０の様々な構成要素の間で共有され得る。幾つかの例では、追加的に又は代替的に、プロセッサ（図示されない）は、本開示で説明される技法のうちの幾つかまた全てを実行するように構成され得る。
【００５８】
[0067]説明の目的のために、本開示は、ＤＳＣコード化の文脈においてビデオデコーダ３０を説明している。しかしながら、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
【００５９】
[0068]図２Ｂの例では、ビデオデコーダ３０は、複数の機能的な構成要素を含む。ビデオデコーダ３０の機能的な構成要素は、レートバッファ１５５、サブストリームデマルチプレクサ１６０、エントロピーデコーダ１６５、レートコントローラ１７０、予測器、量子化器及び再構築器構成要素１７５、インデックス付き色履歴１８０、ラインバッファ１８５及び色空間コンバータ１９０を含む。例示されるビデオデコーダ３０の構成要素は、図２Ａのビデオエンコーダ２０に関連して上述された対応する構成要素に類似する。このように、ビデオデコーダ３０の構成要素の各々は、上述されたビデオエンコーダ２０の対応する構成要素と類似した方式で動作し得る。
【００６０】
変換コード化
[0069]本開示の幾つかの実施形態では、ビデオエンコーダ（例えば、ビデオエンコーダ２０）は、追加の圧縮を達成するために、画素値又は残差値に対して１つ又は複数の変換を適用し得る。例えば、エンコーダ（例えば、ビデオエンコーダ２０）は、ビデオデータのブロック（例えば、画素値又は残差値）に対して１つ又は複数の変換を適用し、変換係数ブロック（例えば、ビデオデータのブロックに対応する変換係数のブロック）を取得し得る。上述したように、変換係数ブロックを生成した後、エンコーダは、変換係数ブロックに対して量子化プロセスを実行し得、ここでは、変換係数は、変換係数を表現するために使用されるデータ量をできる限り低減するために量子化され、これは、更なる圧縮を提供する。
【００６１】
[0070]同様に、ビデオデコーダ（例えば、ビデオデコーダ３０）は、エンコーダによって生成されたビットストリームを受信し得、ここでは、ビットストリームは、エンコーダによって符号化されたビデオデータのコード化表現を含む。デコーダがビットストリームを受信するとき、デコーダは、ビットストリームを解釈し、ビットストリームからシンタックス要素を抽出し、ビットストリームから抽出されたシンタックス要素に基づいてビデオデータのピクチャを再構築し得る。シンタックス要素に基づいてビデオデータを再構築するためのプロセスは、一般に、シンタックス要素を生成するためにエンコーダによって実行されるプロセスと相互関係にあり得る。例えば、デコーダは、ビットストリーム中の変換係数ブロックを逆量子化し、ビットストリーム中のコード化されたビデオデータのブロックを再構築するために、変換係数ブロックに対して逆変換を実行し得る。
【００６２】
[0071]本開示の幾つかの実装形態では、エンコーダ（例えば、ビデオエンコーダ２０）は、異なるサイズの多数の変換（例えば、変換の４つの異なるのセット）を実行し、画像又はビデオデータの特定のブロック又は一部について最良の（例えば、所望のレート−歪み性能に最も近い）性能をもたらす変換を選択する。例えば、エンコーダは、（i）単一の１６点変換、（ii）２つの８点変換、（iii）１つの８点変換と２つの４点変換又は（iv）４つの４点変換を実行し得、ここでは、各オプションは、同数の入力（例えば、画素データ）を利用する。故に、１６画素の各ブロックは、変換モードを使用して符号化されることができ、変換コード化されるべき１６画素は、変換関数に入力される前に、より小さいブロックサイズ（例えば、４画素、８画素又は任意の他のサイズの区分）へと更に区分化されることができる。１６画素ブロックの例では、１６画素ブロックは、（i）ビットストリームにおいてコード化されるピクチャ内の１６画素の単一行、（ii）ビットストリームにおいてコード化されるピクチャ内の８画素の２つの行、（iii）ビットストリームにおいてコード化されるピクチャ内の４画素の４つの行又は（iv）ビットストリームにおいてコード化されるピクチャ内の１６画素の任意の他の配列を表し得る。図５Ａ−５Ｄは、１つよりも多くの変換が画素データに対して実行されるべきであるとき、この画素データがどのようにして複数の区分へと分割されることができるのかを例示する。
【００６３】
[0072]変換の様々なセットを実行した後、エンコーダは、各オプションに関連付けられた歪み及びビットレートを分析し、所望の性能に基づいてオプションのうちの１つを選択し得る。エンコーダは、コード化ビットストリームにおいてフラグ又はシンタックス要素をシグナル伝達することで、選択されたオプションをデコーダに示し得る。
【００６４】
区分フォーマット
[0073]幾つかの実施形態では、エンコーダ（例えば、ビデオエンコーダ２０）は、コード化されるべきピクチャ又はフレーム中の画素を、変換ベースの画像圧縮を実行するためのより小さい区分（例えば、１６画素ブロック）へと分割する。例えば、所与のコード化スキームにおいて使用される区分フォーマット（本明細書では、変換区分タイプとも呼ばれる）は、図３で例示されるように、（i）１つの１６画素ブロック、（ii）２つの８画素ブロック、（iii）１つの８画素ブロックと２つの４画素ブロックの混合及び（iv）４つの４画素ブロックから構成され得る。図３の例では、１６画素を含むブロック３０２は、変換の異なる組み合わせに対応する変換ブロック３０４、３０６、３０８及び３１０に入力される。次に、エンコーダ（例えば、ビデオエンコーダ２０）が、変換ブロック３０４、３０６、３０８及び３１０に関連付けられた変換の各々に対応する歪みコスト３１２を算出する。図３では、変換ブロック３０４、３０６、３０８及び３１０の各々は、異なる変換区分タイプを表す。例えば、変換ブロック３０４は、単一の１６点変換に対応し、変換ブロック３０６は、２つの８点変換に対応し、変換ブロック３０８は、１つの８点変換と２つの４点変換との混合に対応し、変換ブロック３１０は、４つの４点変換に対応する。追加的に、変換ブロック３０４，３０６、３０８及び３１０の各々に対応する変換係数は、ビットストリーム符号化ブロック３１４においてビットストリームへとコード化され、変換ブロック３０４、３０６、３０８及び３１０の各々に対応するビットストリームコスト３１６が算出される。変換ブロック３０４、３０６、３０８及び３１０の各々に対応する歪みコスト３１２及びビットストリームコスト３１６に基づいて、エンコーダの選択論理３１８は、変換ブロック３０４、３０６、３０８及び３１０のうちの１つに関連付けられた変換区分タイプを選択し、これは、区分選択フラグ又はシンタックス要素３２０によって示される。故に、幾つかの実施形態では、選択論理３１８は、最も低いビットストリームコストで最も低い符号化画素歪みをもたらす変換区分タイプを選択する。例えば、所与のピクチャをコード化するとき、エンコーダは、所与のピクチャのある部分（例えば、所与のピクチャ内の１つの１６画素ブロック）は、２つの８画素ブロック（例えば、８点変換）が使用される場合に最良にコード化されることができ、所与のピクチャの別の部分は、４つの４画素ブロック（例えば、４点変換）が使用される場合に最良にコード化されると決定し得る。区分選択フラグ又はシンタックス要素３２０の値に基づいて、ＭＵＸ３２２は、デコーダに送られるべきビットストリーム３２４を出力する。
【００６５】
[0074]図４に例示されるデコーダ側では、デコーダ（例えば、ビデオデコーダ３０）又はその構成要素（例えば、ビットストリーム復号４０４）は、入力ビットストリーム４０２に含まれている変換区分情報（例えば、区分選択フラグ又はシンタックス要素３２０によって示される変換区分タイプ）を使用して、圧縮された画素データを復号する際に使用されることとなる１つ又は複数の逆変換（例えば、エンコーダ２０によって選択された変換ブロック３０４、３０６、３０８又は３１０に関連付けられた変換の逆数）を選択する。例えば、デコーダは、入力ビットストリーム４０２から、変換係数及び区分選択信号４１４を抽出する。変換係数は、４つ全ての逆変換ブロック４０６、４０８、４１０及び４１２にパスされ、区分選択信号４１４は、所望の逆変換を選択するために使用される。
【００６６】
[0075]デコーダの幾つかの既存のハードウェア実装形態では、別個の逆変換ブロックが、各区分タイプに対して使用される。例えば、エンコーダが、図３に例示されるように４つの異なる区分タイプから選択するように構成される場合、エンコーダによって生成されたビットストリーム（例えば、入力ビットストリーム４０２）を復号するように構成された対応するデコーダもまた、図４に例示されているように変換４０６、４０８、４１０及び４１２に各々対応するハードウェア（例えば、互いの間で共有されていないレジスタ、加算器、減算器、等）の４つのセットを含む。各逆変換は、ＭＵＸ４１６に供給さる出力値のセットを生成し、デコーダは、区分選択信号４１４（又は所与のブロックを符号化するために使用される区分タイプを示す別のフラグ又はシンタックス要素）に基づいて、それらのうちの１つを選択し、１６画素ブロック４１８の画素値を取得する。
【００６７】
[0076]図４に示されるハードウェア実装形態は、４つの区分構造（例えば、１つの１６画素ブロック、２つの８画素ブロック及び４つの４画素ブロック）を復号するために７つの独立した逆変換ブロックを必要とするだろう。デコーダ側の実装コスト（例えば、デコーダを実装するために使用されるチップ面積）を低減するために、逆変換関数は、４つの逆変換タイプ（例えば、１６，８＋８，８＋４＋４及び４＋４＋４＋４）の間で特定の算術演算を再編成及び再使用することによって実装され得る。
【００６８】
ハードウェア実装形態
[0077]上述したように、既存のアプローチは、複数の区分サイズを含む変換コード化ビットストリームを復号するために、独立した変換関数（例えば、図４の例では７つの独立した変換関数）を利用する。しかしながら、着信区分化ビットストリームを復号するために複数の逆変換ブロックを使用することは、ハードウェア実装形態が特にデコーダ側のチップ面積及び／又は実装コストに対して敏感であるため、デコーダのコスト効率性に対して有害に影響を及ぼす。故に、よりコスト効率の良い方法での複数の変換区分サイジングを伴う変換コード化ビットストリームを復号するための改善された方法が望まれる。
【００６９】
[0078]例えば、１６点変換の例となる実施形態は、加算器及び減算器を含み得る。これらの加算器及び減算器は、１６点変換（又は逆変換）を実行するために、全てが必要とされ得るが、同一の加算器及び減算器（又は１６点変換の他のハードウェア）もまた、８点及び４点変換といった他の変換を、１６点変換を実施するために使用されるハードウェアとは別個であり且つそれから独立しているそのような８点及び４点変換を実施するのに必要な完全な変換構造を追加する必要なしに、実行するために利用され得る。換言すると、エンコーダ及び／又はデコーダが実行する必要のあり得る様々な変換を実施するために使用されるハードウェアの特定の部分を再使用することで、そのような変換を実装するためのハードウェア要件が低減されることができる。
【００７０】
選択的なバイパス、ルーティング又は再順序付け
[0079]本開示の幾つかの実施形態では、１６点変換は、１６点変換の特定の部分を選択的に遮断すること若しくはバイパスすること及び／又は入力、出力又は１６点変換の他の中間ノードを再度ルーティングすること若しくは再順序付けすることで他のタイプの変換を実装するため使用されることができる。例えば、４点変換についてはハードウェアのある部分がバイパスされ、８点変換についてはハードウェアの別の部分がバイパスされるように、１つ又は複数のＭＵＸが１６点変換に追加され得る。そのようなＭＵＸを追加することは、コスト／チップ面積を追加することとなるが、そのようなＭＵＸによって追加されるコスト／チップ面積は、依然として、各変換区分タイプについてハードウェア変換を完全に実装した場合よりも極めて少ないだろう。
【００７１】
ハードウェア構造の再使用
[0080]符号化するために使用される区分タイプが明示的にシグナル伝達され（例えば、図４の区分選択信号４１４）、デコーダ側では、単一の区分タイプだけの逆変換が、１６個の入力係数の各変換ブロックに対して実行される必要があるため、区分された変換についてのデコーダ実装コストは、最大の変換タイプのハードウェアの特定の部分を再使用及び共有することによって、低減されることができる。例えば、幾つかの実施形態では、１つの１６点アダマール逆変換が、４つの変換区分タイプ（例えば、１６，８＋８，８＋４＋４及び４＋４＋４＋４）を生成するために使用される。幾つかの実施形態では、追加の加算器又は減算器が、１６点変換以外の逆変換を実施するために使用される。故に、デコーダとの実装コスト及び／又はチップ面積の関連付けは、低減されることができる。
【００７２】
[0081]本開示の幾つかの実施形態では、各変換区分タイプについて、変換区分タイプを実施するために、最大変換タイプにおける算術項が再使用される。これは、特に、エリア／コストがより重要であるデコーダ側で低実装エリア／コストを維持しつつ、必要とされる全ての変換タイプの実施を可能にする。本開示の特定の態様は、デコーダ側に関連して説明されているが、本開示で説明された技法は、（例えば、他の変換タイプを実施するために最大変換タイプの算術関数を再使用及び共有することによって）エンコーダ側にも同様に適用可能であり得る。
【００７３】
[0082]各変換区分タイプについて、完全な１６点アダマール逆変換は、（i）１つの１６点逆変換、（ii）２つの８点逆変換、（iii）１つの８点逆変換と２つの４点逆変換及び（iv）４つの４点逆変換といった逆変換を実行するために共通の算数演算を利用するように再構成される。そのような変換の例となる実施形態が、それぞれ図６Ａ−６Ｄに例示される。
【００７４】
[0083]各区分タイプについて、入力から入力’及び出力から出力’への段は、それぞれの変換モードについて、入力データ及び出力データを再順序付けするために使用される。更に、完全な１６点逆変換関数の幾つかの内部ハードウェア段をバイパスすることによって、逆変換ブロックは、上述したように４つの区分タイプを提供するように再構成される。
【００７５】
例となる実装形態：８＋８
[0084]変換区分タイプ［８，８］の場合、図６Ｂに例示されるように、入力データは、２つの連結された８点サンプルとして１６点入力保持バッファに配置される。入力データは、再順序付けされ、（例えば、変換係数値を保持するレジスタ又はバッファであり得る）中間の入力’段に配置される。段ａからｂの間の算数演算は、（何らかの再順序付けを伴って）バイパスされ、最終の出力から出力’への段は、最終の出力を２つの８点の連結されたデータ構造へと再順序付けするように構成される。
【００７６】
例となる実装形態：８＋４＋４
[0085]混合した変換区分タイプ［８，４，４］の場合、図６Ｃで例示されるように、入力データは、８点サンプルのデータが最初の８つのロケーションにあり２つの４点データが続く入力バッファ内に配置される。他の区分タイプで述べるように、入力から入力’への段は、データを再順序付けするために使用され、段ａからｂは、バイパス及び再順序付けを含み、８ビットだけが、４点逆変換のためにｃから出力’への段においてバイパスされる。最終の出力’データは、［８，４，４］のデータ構造を生成するように再順序付けされる。
【００７７】
例となる実装形態：４＋４＋４＋４
[0086]区分タイプ［４，４，４，４］の場合、図６Ｄに例示されるように、４つの入力データは、４つの連結された４点サンプルとして入力保持バッファに配置される。入力データは、再順序付けされ、中間の入力’段に配置される。ａからｂ及びｃから出力’の段の間の算数演算は、バイパスされ、出力’から出力の段は、出力’データを４つの４点データ構造へと再構築するように構成される。
【００７８】
変換ハードウェア構造を再使用するための例となるフローチャート
[0087]図７を参照して、マルチ区分変換ために変換構造を再使用するための例となるプロシージャが説明されるだろう。図７に例示されるステップは、ビデオデコーダ（例えば、図２Ｂのビデオデコーダ３０）又はそれの構成要素によって実行され得る。便宜上、方法７００は、ビデオデコーダ３０又は別の構成要素であり得るデコーダ（単にコーダとも呼ばれる）によって実行されるものと説明される。方法７００は、ビデオデコーダの文脈で説明されているが、本明細書で説明される技法（例えば、マルチ区分変換のために変換構造を再使用すること）は、ビデオエンコーダに拡張され得る。
【００７９】
[0088]方法７００は、ブロック７０１から開始する。ブロック７０５において、デコーダは、コード化ビットストリーム中のビデオデータのブロックに関連付けられた変換区分タイプを決定する。ブロックは、ブロックに関連付けられた複数の画素値に１つ又は複数の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる。幾つかの実施形態では、ビデオデータのブロックに関連付けられた変換区分タイプは、複数の変換係数を取得するために実行される変換（例えば、１つ又は複数の関数）を示す。例えば、変換区分タイプは、単一の１６点変換が、１６画素を含むビデオデータのブロックに対して実行されることを示し得る。別の例では、変換区分タイプは、２つの８点変換が、ブロック中の８画素の第１及び第２のセットに対して実行されることを示し得る。更に別の例では、変換区分タイプは、単一の８点変換が、ブロック中の１６画素のうちの８つに対して実行され、２つの４点変換が、ブロック中の残りの８画素のそれぞれの４画素に対して実行されることを示し得る。更に別の例では、変換区分タイプは、４つの４点変換が、ブロック中の４画素の第１、第２、第３及び第４のセットに対して実行されることを示し得る。幾つかの実施形態では、変換区分タイプは、ビットストリームにおいて、フラッグ又はシンタックス要素としてシグナル伝達され得る。例えば、値“００”，“０１”，“１０”及び“１１”は、１６個の値を含むビデオデータのブロックに使用される変換が、（i）単一の１６点変換、（ii）２つの８点変換、（iii）１つの８点変換と２つの４点変換及び（iv）４つの４点変換であることをそれぞれ示し得る。
【００８０】
[0089]ブロック７１０において、デコーダは、複数の変換係数が、１つ又は複数の変換関数に対応する１つ又は複数の逆変換関数に入力されることとなる順序を、変換区分タイプに基づいて決定する。１つ又は複数の逆変換関数は各々、加算器、減算器及び／又はマルチプレクサを含む１つ又は複数のハードウェア段を含み得る。幾つかの実施形態では、順序を決定することは、変換区分タイプに基づいて、（例えば、変換係数がビットストリームに表われる順序から別の順序に）変換係数を再配列することを備え得る。幾つかの実施形態では、変換係数の全てではなくサブセットのみが、変換区分タイプに基づいて再配列される。
【００８１】
[0090]一実施形態では、変換係数が１つ又は複数の逆変換関数に入力されることとなる順序は、ビットストリームにおいて変換係数がシグナル伝達又は受信される順序と同じである。例えば、図６Ａに示されるように、変換区分タイプが単一の１６点変換に対応するとの決定に基づいて、デコーダは、変換係数が１つ又は複数の逆変換関数（例えば、「入力’」）に入力されることとなる順序が、ビットストリーム（例えば、「入力」）において変換係数がシグナル伝達又は受信される順序と同じになることを決定し得る。別の例では、図６Ｂに示されるように、変換区分タイプが２つの８点変換に対応するとの決定に基づいて、デコーダは、変換係数を再配列することによって変換係数が１つ又は複数の逆変換関数（例えば、「入力’」）に入力されることとなる順序が、図６Ｂに示されるように、ビットストリーム（例えば、「入力」）においてシグナル伝達又は受信されることを決定し得る。この例では、最初の４つの係数は変わらないままであるが、続く４つの係数は、反転され、１６係数ブロックの終わりに配置され、最後の８つの係数は、１６係数ブロックにおいて各々４スポット上に動かされる。
【００８２】
[0091]更に別の例では、図６Ｃに示されるように、変換区分タイプが、１つの８点変換及び２つの４点変換に対応するとの決定に基づいて、デコーダは、変換係数を再配列することによって変換係数が１つ又は複数の逆変換関数（例えば、「入力’」）に入力されることとなる順序が、図６Ｃに示されるように、ビットストリーム（例えば、「入力」）においてシグナル伝達又は受信されることを決定し得る。この例では、１６係数ブロックの係数０，１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，１４，１５（「入力」）は、係数０，１，２，３，８，９，１２，１３，１１，１０，１５，１４，７，６，５，４（「入力’」）となるように再配列される。更に別の例では、図６Ｄに示されるように、変換区分タイプが４つの４点変換に対応するとの決定に基づいて、デコーダは、変換係数を再配列することによって変換係数が１つ又は複数の逆変換関数（例えば、「入力’」）に入力されることとなる順序が、図６Ｄに示されるように、ビットストリーム（例えば、「入力」）においてシグナル伝達又は受信されることを決定し得る。この例では、１６係数ブロックの係数０，１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，１４，１５（「入力」）は、係数０，１，４，５，８，９，１２，１３，１０，１１２，３，８，９，１２，１３，１１，１０，１５，１４，７，６，５，４（「入力’」）となるように再配列される。
【００８３】
[0092]ブロック７１５において、デコーダは、決定された順序で１つ又は複数の逆変換関数に複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得する。幾つかの実施形態では、１つ又は複数の逆変換関数は、算術演算及び／又は再配列演算の１つ又は複数の段を含む。例えば、図６Ａに示されるように、「入力’」と「ａ」との間の段は、例えば、１６係数ブロック「入力’」における変換係数ごとに、加算（２つの実線によって示される）又は減算（１つの実線と１つの点線とによって示される）の何れかを含む。図６Ａに示されるように、「ａ」と「ｂ」との間、「ｂ」と「ｃ」との間、「ｃ」と「出力’」との間の追加の段は各々、複数の算術演算（例えば、各々、１６個の別個の演算）を含む。変換区分タイプに基づいて、段のうちの幾つかは、図６Ｂに示されるように、バイパスされ得る。例えば、「入力’」と「ａ」との間、「ｂ」と「ｃ」との間、「ｃ」と「出力’」との間の段は、１６点逆変換（例えば、図６Ａに示される）の算術演算のうちの幾つか又は全てを再使用し、「ａ」と「ｂ」との間の段は、算術演算をバイパスし、所与の順序で（例えば、変換区分タイプに基づいて）、変数を再配列する。幾つかの実施形態では、１つ又は複数の段は、逆変換で使用される１６個の係数／変数の一部をバイパスするが、１６個の係数／変数の全てはパイパスしないだろう。例えば、図６Ｃに示されるように、「ｃ」から「出力’」への段は、最初の４つの変数（ｅ０，ｅ１，ｆ１，ｆ０）及び最後の４つの変数（ｅ２，ｅ３，ｆ３，ｆ２）については１６点逆変換（例えば、図６Ａに示される）の算術演算を再使用するが、真ん中の８個の変数（０，０，３，３，２，２，１，１）については算術演算をバイパスし得る。
【００８４】
[0093]決定された順序で１つ又は複数の逆変換関数に変換係数を入力することで得られる出力値は、変換区分タイプに基づいて、更に再配列され得る。図６Ａ−６Ｄに例示されているように、（例えば、「出力’」から「出力」に進む）出力値は、変換区分タイプに基づいて、異なる方法で再配列され得る。
【００８５】
[0094]ブロック７２０において、デコーダは、複数の出力値に少なくとも部分的に基づいてコード化ビットストリーム中のビデオデータのブロックを復号する。例えば、出力値は、原画素値であり得る。別の例では、出力値は、残差値であり得、対応する画素値を取得するために更なる動き補償が実行される必要があり得る。方法７００は、ブロック７２５において終了する。
【００８６】
[0095]方法７００では、図７に示されるブロックのうちの１つ又は複数は、除去され得（例えば、実行されず）及び／又は方法が実行される順序が交換され得る。幾つかの実施形態では、追加のブロックが方法７００に追加され得る。例えば、デコーダは、逆変換における段のうちの１つ、幾つか又は全てを更に選択的にバイパスし得る。幾つかの実施形態では、変換関数の単一の段は、変換関数に入力される各変換係数のための数学演算を含む。別の例では、出力値は、ビデオデータのブロックの復号に使用される前に再配列され得る。本開示の実施形態は、図７に示される例に限られない又は図７に示される例によって制限されず、他の変形例が、本開示の精神から逸脱することなく実装され得る。
【００８７】
[0096]図８は、本開示で説明された態様に係る、デコーダ側の変換区分化の例を例示する。ビットストリーム８０２の受信を受けて、ブロック８０４において、デコーダは、変換係数及び区分選択信号８０６を復号する。変換係数は、様々な逆変換を実行するように構成された変換８０８に入力される。変換８０８は、受信した区分選択信号８０６に基づいて適切な逆変換を実行し、１６画素ブロック８１０を出力する。
【００８８】
他の考慮すべき事項
[0097]本明細書で開示された情報及び信号は、多様な異なる技術及び技法の何れかを用いて表わされ得る。例えば、上記説明の全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁波、磁場又は磁性粒子、光場又は光粒子、又はこれらの任意の組み合わせによって表され得る。
【００８９】
[0098]本明細書で開示された実施形態と関連して説明されている実例となる様々な論理ブロック及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア又は両方の組み合わせとして実装され得る。このハードウェア及びソフトウェアの互換性を明確に例示するために、実例となる様々な構成要素、ブロック及びステップが、概してそれらの機能性の観点から上で説明されている。このような機能性がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の用途及びシステム全体に課せられる設計制約に依存する。当業者は、説明された機能性を特定の用途ごとに様々な方法で実装し得るが、このような実装の決定は本開示の範囲からの逸脱をさせるものとして解釈されるべきでない。
【００９０】
[0099]本明細書で説明された技法は、ハードウェア、ソフトウェア、ファームウェア又はこれらの任意の組み合わせで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット又はワイヤレス通信デバイスハンドセット及び他のデバイスにおけるアプリケーションを含む複数の用途を有する集積回路デバイスのような多様なデバイスの何れかにおいて実装され得る。デバイス又は構成要素として説明された任意の特徴は、１つの集積論理デバイスにまとめて実装され得るか又はディスクリートではあるが相互作用可能な複数の論理デバイスとして別個に実装され得る。ソフトウェアで実装される場合、本技法は、実行されると、上述された方法のうちの１つ又は複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パケージングマテリアルを含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）のようなランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気又は光学データ記憶媒体、等のメモリ又はデータ記憶媒体を備え得る。本技法は、追加的又は代替的に、命令又はデータ構造の形式でプログラムコードを搬送又は通信し、且つ、伝播信号又は波形のような、コンピュータによってアクセス、読み取り及び／又は実行されることができるコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【００９１】
[0100]プログラムコードは、１つ又は複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）又は他の等価的な集積回路又はディスクリートな論理回路のような１つ又は複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法の何れかを実行するように構成され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ又はステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰと、１つのマイクロプロセッサ、複数のマイクロプロセッサ、ＤＳＰコアに連結した１つ又は複数のマイクロプロセッサ、又は任意の他のそのような構成との組み合わせとして実装され得る。従って、本明細書で使用される場合、「プロセッサ」という用語は、前述の構造の何れか、前述の構造の任意の組み合わせ又は本明細書で説明された技法の実装に適した任意の他の構造又は装置の何れかを指し得る。加えて、幾つかの態様では、本明細書で説明された機能性は、符号化及び復号のために構成された専用ソフトウェア又はハードウェア内に提供され得るか又は組み合わせられたビデオエンコーダ−デコーダ（ＣＯＤＥＣ）に組み込まれ得る。また、本技法は、１つ又は複数の回路又は論理要素で十分に実装され得る。
【００９２】
[0101]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）又はＩＣのセット（例えば、チップセット）を含む、幅広い種類のデバイス又は装置で実装され得る。様々な構成要素又はユニットは、開示された技法を実行するように構成されたデバイスの機能的な態様を強調するために、本開示では説明されているが、必ずしも、異なるハードウェアユニットによる実現を必要とはしない。むしろ、上述したように、様々なユニットは、コーデックハードウェアユニットに組み合わせられるか、又は上述した１つ又は複数のプロセッサを適切なソフトウェア及び／又はファームウェアとともに含む、相互動作するハードウェアユニットの集合によって提供され得る。
【００９３】
[0102]前述のものは、様々な異なる実施形態に関連して説明されているが、一実施形態からの特徴又は要素は、本開示の教示から逸脱することなく、他の実施形態と組み合わせられ得る。しかしながら、それぞれの実施形態間の特徴の組み合わせは、必ずしも、それらに限られない。本開示の様々な実施形態が説明されている。これらの実施形態及び他の実施形態は、以下の特許請求の範囲の範囲内である。
【図１Ａ】
2017531355.tif 000003
【図１Ｂ】
2017531355.tif 000004
【図２Ａ】
2017531355.tif 000005
【図２Ｂ】
2017531355.tif 000006
【図３】
2017531355.tif 000007
【図４】
2017531355.tif 000008
【図５Ａ】
2017531355.tif 000009
【図５Ｂ】
2017531355.tif 000010
【図５Ｃ】
2017531355.tif 000011
【図５Ｄ】
2017531355.tif 000012
【図６Ａ】
2017531355.tif 000013
【図６Ｂ】
2017531355.tif 000014
【図６Ｃ】
2017531355.tif 000015
【図６Ｄ】
2017531355.tif 000016
【図７】
2017531355.tif 000017
【図８】
2017531355.tif 000018
【手続補正書】
【提出日】平成29年4月28日(2017.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コード化ビットストリーム中のビデオデータのブロックを復号するための方法であって、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数を適用するように構成された逆変換構成に入力されることとなる順序を、前記変換区分タイプに基づいて決定することと、ここにおいて、前記逆変換構成は、算術演算の第１の段と、算術演算の第２の段と、前記第１の段と前記第２の段との間の算術演算の中間段とを備える、
決定された前記順序に従った、前記複数の変換係数に対する前記算術演算の第１の段の適用に基づいて、中間値の第１のセットを決定することと、
前記算術演算の中間段を、前記変換区分タイプに基づいてバイパスすることと、
前記中間値の第１のセットに対する前記算術演算の第２の段の適用に基づいて、中間値の第２のセットを決定することと、
同じ逆変換関数に対応する複数の再配列された値の各サブセットがまとめられるように、前記変換区分タイプに少なくとも部分的に基づいて前記中間値の第２のセットを再配列することと、
前記複数の再配列された値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を備える方法。
【請求項２】
決定された前記順序に基づいて、且つ、前記複数の変換係数が前記逆変換構成に入力される前に、前記複数の変換係数を再配列することを更に備える、請求項１に記載の方法。
【請求項３】
決定された前記順序に基づいて、且つ、前記複数の変換係数が前記逆変換構成に入力される前に、前記複数の変換係数の全部ではなく一部を再配列することを更に備える、請求項１に記載の方法。
【請求項４】
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記逆変換構成において前記算術演算の第２の段に続く算術演算の第３の段をバイパスすることを更に備える、請求項１に記載の方法。
【請求項５】
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記逆変換構成において単一の段の算術演算の全部ではなく一部を選択的にバイパスすることを更に備え、ここで、前記単一の段は、前記逆変換構成に入力される変換係数ごとに１つの算術演算を含む、請求項１に記載の方法。
【請求項６】
前記１つ以上の逆変換関数は、１６点アダマール逆変換関数、８点アダマール逆変換関数又は４点アダマール逆変換関数のうちの１つ以上を備える、請求項１に記載の方法。
【請求項７】
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１６点アダマール逆変換関数の算術演算の第１の段と前記１６点アダマール逆変換関数の算術演算の第２の段との間の前記１６点アダマール逆変換関数の算術演算の中間段を、前記算術演算の第１の段および第２の段をバイパスすることなく、バイパスすることを更に備える、請求項６に記載の方法。
【請求項８】
前記ビデオデータのブロックは、（i）前記コード化ビットストリームにおいてコード化されるピクチャ内の１６画素の１つの行、（ii）前記コード化ビットストリームにおいてコード化される前記ピクチャ内の８画素の２つの行又は（iii）前記コード化ビットストリームにおいてコード化されるピクチャ内の４画素の４つの行、のうちの１つに対応する、請求項１に記載の方法。
【請求項９】
前記１つ以上の逆変換関数は、１つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの１つ以上を備える、請求項１に記載の方法。
【請求項１０】
前記変換区分タイプは、１６点変換以外のものあり、前記逆変換構成は、１６点逆変換を実行するように構成される、請求項１に記載の方法。
【請求項１１】
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記逆変換構成は、１つの１６点逆変換関数を実行するように構成される、請求項１に記載の方法。
【請求項１２】
コード化ビットストリーム中のビデオデータのブロックを復号するための装置であって、
前記コード化ビットストリーム中の前記ビデオデータのブロックに関連付けられたデータを格納するように構成されたメモリと、
前記メモリと通信状態にあるプロセッサであって、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数を適用するように構成された逆変換構成に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、ここにおいて、前記逆変換構成は、算術演算の第１の段と、算術演算の第２の段と、前記第１の段と前記第２の段との間の算術演算の中間段とを備える、
前記決定された順序に従った、前記複数の変換係数に対する前記算術演算の第１の段の適用に基づいて、中間値の第１のセットを決定することと、
前記算術演算の中間段を、前記変換区分タイプに基づいてバイパスすることと、
前記中間値の第１のセットに対する前記算術演算の第２の段の適用に基づいて、中間値の第２のセットを決定することと、
同じ逆変換関数に対応する再配列された値の各サブセットがまとめられるように、前記変換区分タイプに少なくとも部分的に基づいて前記中間値の第２のセットを再配列することと、
前記複数の再配列された値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を行うように構成されたプロセッサと
を備える装置。
【請求項１３】
前記プロセッサは、前記決定された順序に基づいて、且つ、前記複数の変換係数が前記逆変換構成に入力される前に、前記複数の変換係数を再配列するように更に構成される、請求項１２に記載の装置。
【請求項１４】
前記プロセッサは、前記決定された順序に基づいて、且つ、前記複数の変換係数が前記逆変換構成に入力される前に、前記複数の変換係数の全部ではなく一部を再配列するように更に構成される、請求項１２に記載の装置。
【請求項１５】
前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記逆変換構成において前記算術演算の第２の段に続く算術演算の第３の段をバイパスするように更に構成される、請求項１２に記載の装置。
【請求項１６】
前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記逆変換構成において単一の段の算術演算の全部ではなく一部を選択的にバイパスするように更に構成され、ここで、前記単一の段は、前記逆変換構成に入力される変換係数ごとに１つの算術演算を含む、請求項１２に記載の装置。
【請求項１７】
前記１つ以上の逆変換関数は、１６点アダマール逆変換関数、８点アダマール逆変換関数又は４点アダマール逆変換関数のうちの１つ以上を備える、請求項１２に記載の装置。
【請求項１８】
前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１６点アダマール逆変換関数の算術演算の第１の段と前記１６点アダマール逆変換関数の算術演算の第２の段との間の前記１６点アダマール逆変換関数の算術演算の中間段を、前記算術演算の第１の段及び第２の段をバイパスすることなく、バイパスするように更に構成される、請求項１７に記載の装置。
【請求項１９】
前記ビデオデータのブロックは、（i）前記コード化ビットストリームにおいてコード化されるピクチャ内の１６画素の１つの行、（ii）前記コード化ビットストリームにおいてコード化される前記ピクチャ内の８画素の２つの行又は（iii）前記コード化ビットストリームにおいてコード化されるピクチャ内の４画素の４つの行、のうちの１つに対応する、請求項１２に記載の装置。
【請求項２０】
前記１つ以上の逆変換関数は、１つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの１つ以上を備える、請求項１２に記載の装置。
【請求項２１】
前記変換区分タイプは、１６点変換以外のものであり、前記逆変換構成は、１６点逆変換関数を実行するように構成される、請求項１２に記載の装置。
【請求項２２】
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記逆変換構成は、１つの１６点逆変換関数を実行するように構成される、請求項１２に記載の装置。
【請求項２３】
コードを備えるコンピュータ可読媒体であって、前記コードは、実行されると、装置に、
コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納することと、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数を適用するように構成された逆変換構成に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、ここにおいて、前記逆変換構成は、算術演算の第１の段と、算術演算の第２の段と、前記第１の段と前記第２の段との間の算術演算の中間段とを備える、
決定された前記順序に従った、前記複数の変換係数に対する前記算術演算の第１の段の適用に基づいて、中間値の第１のセットを決定することと、
前記算術演算の中間段を、前記変換区分タイプに基づいてバイパスすることと、
前記中間値の第１のセットに対する前記算術演算の第２の段の適用に基づいて、中間値の第２のセットを決定することと、
同じ逆変換関数に対応する複数の再配列された値の各サブセットがまとめられるように、前記変換区分タイプに少なくとも部分的に基づいて前記中間値の第２のセットを再配列することと、
前記複数の再配列された値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を行わせる、コンピュータ可読媒体。
【請求項２４】
前記コードは、前記装置に、決定された前記順序に基づいて、且つ、前記複数の変換係数が前記逆変換構成に入力される前に、前記複数の変換係数を再配列することを行わせる、請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
前記コードは、前記装置に、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記逆変換構成において前記算術演算の第２の段に続く算術演算の第３の段をバイパスすることを更に行わせる、請求項２３に記載のコンピュータ可読媒体。
【請求項２６】
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記逆変換構成は、１つの１６点逆変換関数を実行するように構成される、請求項２３に記載のコンピュータ可読媒体。
【請求項２７】
コード化ビットストリーム中のビデオデータのブロックを復号するように構成されたビデオコード化デバイスであって、
コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するための手段と、
前記ブロックに関連付けられた変換区分タイプを決定するための手段と、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数を適用するように構成された逆変換構成に入力されることとなる順序を、前記変換区分タイプに基づいて、決定するための手段と、ここにおいて、前記逆変換構成は、算術演算の第１の段と、算術演算の第２の段と、前記第１の段と前記第２の段との間の算術演算の中間段とを備える、
決定された前記順序に従った、前記複数の変換係数に対する前記算術演算の第１の段の適用に基づいて、中間値の第１のセットを決定するための手段と、
前記算術演算の中間段を、前記変換区分タイプに基づいてバイパスするための手段と、
前記中間値の第１のセットに対する前記算術演算の第２の段の適用に基づいて、中間値の第２のセットを決定するための手段と、
同じ逆変換関数に対応する複数の再配列された値の各サブセットがまとめられるように、前記変換区分タイプに少なくとも部分的に基づいて前記中間値の第２のセットを再配列するための手段と、
前記複数の再配列された値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号するための手段と
を備えるビデオコード化デバイス。
【請求項２８】
決定された前記順序に基づいて、且つ、前記複数の変換係数が前記逆変換構成に入力される前に、前記複数の変換係数を再配列するための手段を備える、請求項２７に記載のビデオコード化デバイス。
【請求項２９】
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記逆変換構成において前記算術演算の第２の段に続く算術演算の第３の段をバイパスするための手段を更に備える、請求項２７に記載のビデオコード化デバイス。
【請求項３０】
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記逆変換構成は、１つの１６点逆変換関数を実行するように構成される、請求項２７に記載のビデオコード化デバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
[0102]前述のものは、様々な異なる実施形態に関連して説明されているが、一実施形態からの特徴又は要素は、本開示の教示から逸脱することなく、他の実施形態と組み合わせられ得る。しかしながら、それぞれの実施形態間の特徴の組み合わせは、必ずしも、それらに限られない。本開示の様々な実施形態が説明されている。これらの実施形態及び他の実施形態は、以下の特許請求の範囲の範囲内である。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
コード化ビットストリーム中のビデオデータのブロックを復号するための方法であって、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて決定することと、
決定された前記順序で前記１つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を備える方法。
［Ｃ２］
前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを備える、Ｃ１に記載の方法。
［Ｃ３］
前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数の全部ではなく一部を再配列することを備える、Ｃ１に記載の方法。
［Ｃ４］
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の１つ以上の算術演算段を選択的にバイパスすることを更に備える、Ｃ１に記載の方法。
［Ｃ５］
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の単一の段の算術演算の全部ではなく一部を選択的にバイパスすることを更に備え、ここで、前記単一の段は、前記１つ以上の逆変換関数に入力される変換係数ごとに１つの算術演算を含む、Ｃ１に記載の方法。
［Ｃ６］
前記１つ以上の逆変換関数は、１６点アダマール逆変換関数、８点アダマール逆変換関数又は４点アダマール逆変換関数のうちの１つ以上を備える、Ｃ１に記載の方法。
［Ｃ７］
前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の前記複数の出力値を再配列することを更に備える、Ｃ１に記載の方法。
［Ｃ８］
前記ビデオデータのブロックは、（i）前記コード化ビットストリームにおいてコード化されるピクチャ内の１６画素の１つの行、（ii）前記コード化ビットストリームにおいてコード化される前記ピクチャ内の８画素の２つの行又は（iii）前記コード化ビットストリームにおいてコード化されるピクチャ内の４画素の４つの行、のうちの１つに対応する、Ｃ１に記載の方法。
［Ｃ９］
前記１つ以上の逆変換関数は、１つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの１つ以上を備える、Ｃ１に記載の方法。
［Ｃ１０］
前記変換区分タイプは、１６点変換以外のものあり、前記１つ以上の逆変換関数は、１６点逆変換関数を備える、Ｃ１に記載の方法。
［Ｃ１１］
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記１つ以上の逆変換関数は、１つの１６点逆変換関数を備える、Ｃ１に記載の方法。
［Ｃ１２］
コード化ビットストリーム中のビデオデータのブロックを復号するための装置であって、
前記コード化ビットストリーム中の前記ビデオデータのブロックに関連付けられたデータを格納するように構成されたメモリと、
前記メモリと通信状態にあるプロセッサであって、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、
決定された前記順序で前記１つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を行うように構成されたプロセッサと
を備える装置。
［Ｃ１３］
前記プロセッサは、前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを介して少なくとも部分的に決定するように構成される、Ｃ１２に記載の装置。
［Ｃ１４］
前記プロセッサは、前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数の全部ではなく一部を再配列することを介して少なくとも部分的に決定するように構成される、Ｃ１２に記載の装置。
［Ｃ１５］
前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の１つ以上の算術演算段を選択的にバイパスするように構成される、Ｃ１２に記載の装置。
［Ｃ１６］
前記プロセッサは、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の単一の段の算術演算の全部ではなく一部を選択的にバイパスするように構成され、ここで、前記単一の段は、前記１つ以上の逆変換関数に入力される変換係数ごとに１つの算術演算を含む、Ｃ１２に記載の装置。
［Ｃ１７］
前記１つ以上の逆変換関数は、１６点アダマール逆変換関数、８点アダマール逆変換関数又は４点アダマール逆変換関数のうちの１つ以上を備える、Ｃ１２に記載の装置。
［Ｃ１８］
前記プロセッサは、前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の前記複数の出力値を再配列するように更に構成される、Ｃ１２に記載の装置。
［Ｃ１９］
前記ビデオデータのブロックは、（i）前記コード化ビットストリームにおいてコード化されるピクチャ内の１６画素の１つの行、（ii）前記コード化ビットストリームにおいてコード化される前記ピクチャ内の８画素の２つの行又は（iii）前記コード化ビットストリームにおいてコード化されるピクチャ内の４画素の４つの行、のうちの１つに対応する、Ｃ１２に記載の装置。
［Ｃ２０］
前記１つ以上の逆変換関数は、１つ以上の算術演算段を含み、各算術演算段は、加算演算又は減算演算のうちの１つ以上を備える、Ｃ１２に記載の装置。
［Ｃ２１］
前記変換区分タイプは、１６点変換以外のものであり、前記１つ以上の逆変換関数は、１６点逆変換関数を備える、Ｃ１２に記載の装置。
［Ｃ２２］
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記１つ以上の逆変換関数は、１つの１６点逆変換関数を備える、Ｃ１２に記載の装置。
［Ｃ２３］
コードを備える非一時的なコンピュータ可読媒体であって、前記コードは、実行されると、装置に、
コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納することと、
前記ブロックに関連付けられた変換区分タイプを決定することと、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定することと、
決定された前記順序で前記１つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得することと、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号することと
を行わせる、非一時的なコンピュータ可読媒体。
［Ｃ２４］
前記コードは、前記装置に、前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを介して少なくとも部分的に決定することを行わせる、Ｃ２３に記載のコンピュータ可読媒体。
［Ｃ２５］
前記コードは、前記装置に、前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の１つ以上の算術演算段を選択的にバイパスすることを更に行わせる、Ｃ２３に記載のコンピュータ可読媒体。
［Ｃ２６］
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記１つ以上の逆変換関数は、１つの１６点逆変換関数を備える、Ｃ２３に記載のコンピュータ可読媒体。
［Ｃ２７］
コード化ビットストリーム中のビデオデータのブロックを復号するように構成されたビデオコード化デバイスであって、
コード化ビットストリーム中のビデオデータのブロックに関連付けられたデータを格納するための手段と、
前記ブロックに関連付けられた変換区分タイプを決定するための手段と、ここで、前記ブロックは、前記ブロックに関連付けられた複数の画素値に対して１つ以上の変換関数を適用することを介して少なくとも部分的に決定された複数の変換係数に関連付けられる、
前記複数の変換係数が、前記１つ以上の変換関数に対応する１つ以上の逆変換関数に入力されることとなる順序を、前記変換区分タイプに基づいて、決定するための手段と、
決定された前記順序で前記１つ以上の逆変換関数に前記複数の変換係数を入力することを介して少なくとも部分的に複数の出力値を取得するための手段と、
前記複数の出力値に少なくとも部分的に基づいて、前記コード化ビットストリーム中の前記ビデオデータのブロックを復号するための手段と
を備えるビデオコード化デバイス。
［Ｃ２８］
前記複数の変換係数が前記１つ以上の逆変換関数に入力されることとなる前記順序を決定することは、前記変換区分タイプに少なくとも部分的に基づいて、前記複数の変換係数を再配列することを備える、Ｃ２７に記載のビデオコード化デバイス。
［Ｃ２９］
前記ビデオデータのブロックに関連付けられた前記変換区分タイプに少なくとも部分的に基づいて、前記１つ以上の逆変換関数の１つ以上の算術演算段を選択的にバイパスするための手段を更に備える、Ｃ２７に記載のビデオコード化デバイス。
［Ｃ３０］
前記変換区分タイプは、（i）２つの８点変換、（ii）１つの８点変換と２つの４点変換又は（iii）４つの４点変換、のうちの１つを備え、前記１つ以上の逆変換関数は、１つの１６点逆変換関数を備える、Ｃ２７に記載のビデオコード化デバイス。
【国際調査報告】
2017531355.tif 000019
2017531355.tif 000020
2017531355.tif 000021