(57)【特許請求の範囲】
【請求項１】
ビットストリームから画像フレームを生成する画像復号装置であって、該画像フレームは、複数のウェーブレットサブバンドに分割されて前記ビットストリーム内で符号化されており、該複数のウェーブレットサブバンドのそれぞれは、ウェーブレット係数群のセットを複数有するセット群を含み、前記画像フレームは、１または複数のウェーブレットサブバンドを含むプレシンクトを含み、前記画像復号装置は、
前記ビットストリームからウェーブレットサブバンドのモードを判定するための情報を復号する復号手段を備え、該モードは、前記ウェーブレットサブバンドの最上位ビットプレーンインデックスの判定に用いられ、前記モードは少なくとも、垂直方向の予測を使用する第１モードと、予測を使用しない第２モードと、の中から選択され、
前記画像復号装置は、更に、
前記情報に基づいて、前記ウェーブレットサブバンドの前記モードを判定する第１判定手段と、
前記第１判定手段により判定された前記ウェーブレットサブバンドの前記モードに従って、前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群について、前記最上位ビットプレーンインデックスを判定する第２判定手段と、
前記プレシンクトの符号化データにおける先頭の部分であって複数のパラメータを含む部分であるヘッダに含まれるリファインメントパラメータに従って、前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群のための複数の切り捨て位置を判定する第３判定手段と、
前記第２判定手段により判定された前記最上位ビットプレーンインデックスと、前記第３判定手段によって判定された前記複数の切り捨て位置と、に従って、前記ビットストリームから前記ウェーブレット係数群を復号することで、前記画像フレームを生成する生成手段と
を備え、
前記第２判定手段が、前記第１モードに従って、前記最上位ビットプレーンインデックスを判定する場合、
前記復号手段は、前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群の各々について、前記最上位ビットプレーンインデックスに対する予測のデルタ値群を、前記ビットストリームから復号し、
前記第２判定手段は、垂直方向に前記最上位ビットプレーンインデックスを予測し、該予測された最上位ビットプレーンインデックスと、前記復号手段により復号されたデルタ値群と、に従って、前記最上位ビットプレーンインデックスを判定し、
前記第１判定手段は、前記情報に基づき、ウェーブレットサブバンドごとに、ウェーブレットサブバンドの前記モードを判定可能であることを特徴とする画像復号装置。
【請求項２】
前記モードは、前記第１モード、前記第２モード、および、水平方向の予測を使用する第３モード、の中から選択されることを特徴とする請求項１に記載の画像復号装置。
【請求項３】
前記第２判定手段が、前記第２モードに従って前記最上位ビットプレーンインデックスを判定する場合、
前記復号手段は、前記最上位ビットプレーンインデックスを直接示す情報を復号し、
前記第２判定手段は、前記最上位ビットプレーンインデックスを直接示す前記情報に従って、前記最上位ビットプレーンインデックスを判定することを特徴とする請求項１に記載の画像復号装置。
【請求項４】
前記複数のウェーブレットサブバンドの各々は、前記画像フレームの複数の周波数帯域のいずれかに対応していることを特徴とする請求項１に記載の画像復号装置。
【請求項５】
画像フレームをビットストリームに符号化する画像符号化装置であって、該画像フレームは、複数のウェーブレットサブバンドに分割されて前記ビットストリームに符号化され、該複数のウェーブレットサブバンドのそれぞれは、ウェーブレット係数群のセットを複数有するセット群を含み、前記画像フレームは、１または複数のウェーブレットサブバンドを含むプレシンクトを含み、前記画像符号化装置は、
ウェーブレットサブバンドのモードを判定する第１判定手段を備え、該モードは、前記ウェーブレットサブバンドの最上位ビットプレーンインデックスの符号化に用いられ、該モードは少なくとも、垂直方向の予測を使用する第１モードと、予測を用いない第２モードと、の中から選択され、
前記画像符号化装置は、更に、
前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群について、前記最上位ビットプレーンインデックスを判定する第２判定手段と、
前記プレシンクトの符号化データにおける先頭の部分であって複数のパラメータを含む部分であるヘッダにおいて符号化されるリファインメントパラメータに従って、前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群のための複数の切り捨て位置を判定する第３判定手段と、
前記ウェーブレットサブバンドの前記モードを示す情報を前記ビットストリームに符号化することで、前記画像フレームを符号化する符号化手段と
を備え、
前記符号化手段は、前記第１判定手段により判定された前記モードと、前記第２判定手段により判定された前記最上位ビットプレーンインデックスと、前記第３判定手段によって判定された前記複数の切り捨て位置と、に従って、前記ウェーブレット係数群を符号化し、
前記符号化手段が、前記第１モードに従って前記最上位ビットプレーンインデックスを符号化する場合、前記符号化手段は、前記ウェーブレットサブバンドにおけるウェーブレット係数群の前記セット群について、前記最上位ビットプレーンインデックスに対する垂直方向の予測におけるデルタ値群を、前記ビットストリームに符号化するとともに、前記第１モードを示す前記情報を符号化し、
前記第１判定手段は、ウェーブレットサブバンドごとに、前記ウェーブレットサブバンドの前記モードを判定可能であることを特徴とする画像符号化装置。
【請求項６】
前記モードは、前記第１モード、前記第２モード、水平方向における予測を使用する第３モード、の中から選択されることを特徴とする請求項５に記載の画像符号化装置。
【請求項７】
前記符号化手段が、前記第２モードに従って前記最上位ビットプレーンインデックスを符号化する場合、前記符号化手段は、前記最上位ビットプレーンインデックスを直接示す情報を符号化し、前記第２モードを示す情報を符号化することを特徴とする請求項５に記載の画像符号化装置。
【請求項８】
前記複数のウェーブレットサブバンドの各々は、前記画像フレームの複数の周波数帯域のいずれかに対応していることを特徴とする請求項５に記載の画像符号化装置。
【請求項９】
ビットストリームから画像フレームを生成する画像復号方法であって、該画像フレームは、複数のウェーブレットサブバンドに分割されて前記ビットストリーム内で符号化されており、該複数のウェーブレットサブバンドのそれぞれは、ウェーブレット係数群のセットを複数有するセット群を含み、前記画像フレームは、１または複数のウェーブレットサブバンドを含むプレシンクトを含み、前記画像復号方法は、
前記ビットストリームからウェーブレットサブバンドのモードを判定するための情報を復号することを有し、該モードは、前記ウェーブレットサブバンドの最上位ビットプレーンインデックスの判定に用いられ、前記モードは少なくとも、垂直方向の予測を使用する第１モードと、予測を使用しない第２モードと、の中から選択され、
前記画像復号方法は、更に、
前記情報に基づいて、前記ウェーブレットサブバンドの前記モードを判定することと、
前記ウェーブレットサブバンドの前記モードに従って、前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群について、前記最上位ビットプレーンインデックスを判定することと、
前記プレシンクトの符号化データにおける先頭の部分であって複数のパラメータを含む部分であるヘッダに含まれるリファインメントパラメータに従って、前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群のための複数の切り捨て位置を判定することと、
前記最上位ビットプレーンインデックスと、前記複数の切り捨て位置と、に従って、前記ビットストリームから前記ウェーブレット係数群を復号することで、前記画像フレームを生成することと
を有し、
前記第１モードに従って、前記最上位ビットプレーンインデックスが判定される場合、前記画像復号方法は、
前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群の各々について、前記最上位ビットプレーンインデックスに対する予測のデルタ値群を、前記ビットストリームから復号することと、
垂直方向に前記最上位ビットプレーンインデックスを予測することと、
前記予測された最上位ビットプレーンインデックスと、前記デルタ値群と、に従って、前記最上位ビットプレーンインデックスを判定することと
を有し、
前記モードは、前記情報に基づき、ウェーブレットサブバンドごとに判定されることが可能であることを特徴とする画像復号方法。
【請求項１０】
前記モードは、前記第１モード、前記第２モード、および、水平方向の予測を使用する第３モード、の中から選択されることを特徴とする請求項９記載の画像復号方法。
【請求項１１】
前記最上位ビットプレーンインデックスが前記第２モードに従って判定される場合、前記画像復号方法は、
前記最上位ビットプレーンインデックスを直接示す情報を復号することと、
前記最上位ビットプレーンインデックスを直接示す前記情報に従って、前記最上位ビットプレーンインデックスを判定することと
を有することを特徴とする請求項９に記載の画像復号方法。
【請求項１２】
前記複数のウェーブレットサブバンドの各々は、前記画像フレームの複数の周波数帯域のいずれかに対応していることを特徴とする請求項９に記載の画像復号方法。
【請求項１３】
画像フレームをビットストリームに符号化する画像符号化方法であって、該画像フレームは、複数のウェーブレットサブバンドに分割されて前記ビットストリームに符号化され、該複数のウェーブレットサブバンドのそれぞれは、ウェーブレット係数群のセットを複数有するセット群を含み、前記画像フレームは、１または複数のウェーブレットサブバンドを含むプレシンクトを含み、前記画像符号化方法は、
ウェーブレットサブバンドのモードを判定することを有し、該モードは、前記ウェーブレットサブバンドの最上位ビットプレーンインデックスの符号化に用いられ、該モードは少なくとも、垂直方向の予測を使用する第１モードと、予測を用いない第２モードと、の中から選択され、
前記画像符号化方法は、更に、
前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群について、前記最上位ビットプレーンインデックスを判定することと、
前記プレシンクトの符号化データにおける先頭の部分であって複数のパラメータを含む部分であるヘッダにおいて符号化されるリファインメントパラメータに従って、前記ウェーブレットサブバンドにおけるウェーブレット係数群のセット群のための複数の切り捨て位置を判定することと、
前記ウェーブレットサブバンドの前記モードを示す情報を前記ビットストリームに符号化することで、前記画像フレームを符号化することと
を有し、
前記ウェーブレットサブバンドの前記モードと、ウェーブレット係数群の前記セット群の各々に対する前記最上位ビットプレーンインデックスと、前記複数の切り捨て位置と、に従って、前記ウェーブレット係数群が符号化され、
前記第１モードに従って前記最上位ビットプレーンインデックスが符号化される場合、前記画像符号化方法は、
前記ウェーブレットサブバンドにおけるウェーブレット係数群の前記セット群について、前記最上位ビットプレーンインデックスに対して垂直方向の予測におけるデルタ値群を、前記ビットストリームに符号化することと、
前記第１モードを示す前記情報を符号化することと、
を有し、
ウェーブレットサブバンドごとに、前記ウェーブレットサブバンドの前記モードが判定可能である
ことを特徴とする画像符号化方法。
【請求項１４】
前記モードは、前記第１モード、前記第２モード、水平方向における予測を使用する第３モード、の中から選択されることを特徴とする請求項１３に記載の画像符号化方法。
【請求項１５】
前記第２モードに従って前記最上位ビットプレーンインデックスが符号化される場合、前記画像符号化方法は、
前記最上位ビットプレーンインデックスを直接示す情報を符号化することと、
前記第２モードを示す情報を符号化することと
を有する特徴とする請求項１３に記載の画像符号化方法。
【請求項１６】
前記複数のウェーブレットサブバンドの各々は、前記画像フレームの複数の周波数帯域のいずれかに対応していることを特徴とする請求項１３に記載の画像符号化方法。
【請求項１７】
請求項１〜４のいずれか１項に記載の画像復号装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項１８】
請求項５〜８のいずれか１項に記載の画像符号化装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、デジタルビデオ信号処理に関し、特に、ビデオデータを符号化及び復号するための方法、装置及びシステムに関する。本発明はまた、ビデオデータを符号化および復号するためのコンピュータプログラムが記録されたコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
【背景技術】
【０００２】
ビデオデータの伝送および記憶のためのアプリケーションを含む、ビデオ符号化のための多くのアプリケーションが現在存在する。多くのビデオ符号化規格も開発されており、他の規格も現在開発中である。ビデオ圧縮研究においては、「配信コーデック(distribution codecs)」、すなわち、地理的に分散した視聴者に圧縮ビデオデータを配信することを意図したコーデックに重点が置かれている。しかし、新たな研究分野は「メザニンコーデック（mezzanine codecs）」に向けられている。メザニンコーデックは高度に局所化された配信、すなわち、放送スタジオ内で使用され、従来のビデオコーデックと比較して、エンコーダおよびデコーダについて、複雑さの大幅な低減および、典型的には１フレームより充分に短い超低遅延の要件によって特徴付けられる。JPEG（Joint Photographic Experts Group）としても知られる、国際標準化機構／国際電子技術委員会合同委員会１／小委員会２９／作業グループ１（ISO／IEC JTC１／SC２９／WG１）内のこのようなコーディングにおける最近の発展は、「JPEG XS」と名付けられた標準化作業項目をもたらした。
【０００３】
JPEG XSの目標は、３２ラインのビデオデータを超えないエンドツーエンドレイテンシと、Xilinx（登録商標）のようなベンダからのミッドレンジFPGAのような比較的適度な実装技術内での実装のための能力とを有するコーデックを生成することである。JPEG XSのレイテンシ要件は、符号化されたデータが圧縮されたビデオデータを搬送するチャネルの容量に対して過度に変化しないことを保証にするために、厳密なレート制御技術の使用を要求する。
【０００４】
放送スタジオでは、ビデオがリアルタイム編集、グラフィック及び重畳挿入、及び１つの最終出力への異なるコンテンツソースの混合を含むいくつかの変換を受ける前に、カメラによってキャプチャされる。ビデオが適切に処理されると、配信エンコーダが、最終消費者への最終配信のために、ビデオデータを符号化するために使用される。スタジオ内では、ビデオデータは一般に、非圧縮フォーマットで転送される。圧縮されていないビデオデータを伝送するには、非常に高速のリンクを使用する必要がある。シリアル・デジタル・インターフェース（ＳＤＩ）プロトコルの変形は、異なるビデオ・フォーマットを転送することができる。例えば、３Ｇ−ＳＤＩ（３Ｇｂｐｓの電気リンクで動作する）は、１０８０pのHDTV（１９２０×１０８０の解像度）を３０ｆｐｓ及び８ビット／サンプルで伝送することができる。固定ビットレートを有するインターフェースは、一定ビットレート（ＣＢＲ）を有するデータを転送するのに適している。圧縮されていないビデオデータは、一般にＣＢＲであり、圧縮されたビデオデータは、超低遅延符号化の文脈では一般にCBRであると予想される。
【０００５】
ビットレートが増加することにつれて、達成可能なケーブル配線長は減少し、これはスタジオを通るケーブル配線にとって問題となる。例えば、ＵＨＤＴＶ（３８４０×２１６０）は１０８０ＰのＨＤＴＶと比較して４倍の帯域幅の増加を必要とし、これは１２Ｇｂｐｓのインターフェースを意味する。単一の電気チャネルのデータレートを増加させることは、ケーブルの達成可能な長さを減少させる。３Ｇｂｐｓでは、ケーブル・ランが一般に、スタジオ・アプリケーションに使用可能な最小の長さである１５０ｍを超えることはできない。より高いレートのリンクを達成する１つの方法は、例えば、４つの３Ｇ−ＳＤＩリンクを使用することによって、フレームタイリングまたは他の何らかの多重化スキームを用いてケーブルを複製することによる。しかし、ケーブル配線複製方法は、ケーブル配線の複雑さを増大させ、より多くの物理的空間を必要とし、単一のケーブルの使用に比べて信頼性を低下させる可能性がある。したがって、「視覚的に無損失」（すなわち、元のビデオデータと比較して知覚可能なアーチファクトを有さない）レベルの性能を保持しながら、比較的低い圧縮比（例えば、４:１）で圧縮を実行することができるコーデックが、産業界によって必要とされる。
【０００６】
圧縮比は、圧縮されたストリームに与えられる「ピクセル当たりのビット」（ｂｐｐ）の数として表すこともでき、圧縮比に戻す変換は、圧縮されていない信号のビット深度、およびクロマフォーマットの知識を必要とすることに留意されたい。例えば、８ｂの４:４:４のビデオデータは非圧縮の２４ｂｐｐを占めるので、４ｂｐｐは６:１の圧縮比を意味する。
【０００７】
ビデオデータは、１つ以上のカラーチャネルを含む。一般に、１つの原色チャネルおよび２つの二次色チャネルがある。原色チャネルは一般に「ルマ」チャネルと呼ばれ、二次色チャネルは一般に「クロマ」チャネルと呼ばれる。ビデオデータは、「ＹＣｂＣｒ」または「ＲＧＢ」などの色空間を使用して表される。いくつかのアプリケーションは、コンピュータグラフィックスカードの出力の視覚的に無損失の圧縮、またはタブレット内のシステムオンチップ（ＳＯＣ）からタブレット内のＬＣＤパネルへの伝送を必要とする。グラフィックスカードまたはＳＯＣからのコンテンツはレンダリングウィジェット、テキスト、アイコンなどの使用のために、カメラからキャプチャされたコンテンツとは異なる統計的特性を有することが多い。関連するアプリケーションは、「スクリーンコンテンツアプリケーション」と呼ぶことができる。スクリーンコンテンツアプリケーションの場合、「ＲＧＢ」は、ＬＣＤパネルを駆動するために一般に使用されるフォーマットであるので、「ＲＧＢ」が一般に使用される。最大の信号強度は「Ｇ」（緑）チャネルに存在し、したがって、一般に、Ｇチャネルは原色チャネルを使用して符号化され、残りのチャネル（すなわち、「Ｂ」および「Ｒ」）は、二次色チャネルを使用して符号化される。この構成は、「ＧＢＲ」と呼ぶことができる。「ＹＣｂＣｒ」色空間が使用されている場合、「Ｙ」チャネルは原色チャネルを使用して符号化され、「Ｃｂ」および「Ｃｒ」チャネルは二次色チャネルを使用して符号化される。
【０００８】
ビデオデータはまた、特定のクロマフォーマットを用いて表される。４:４:４クロマフォーマットが使用される場合、原色チャネルおよび二次色チャネルは、同じ空間密度で空間的にサンプリングされる。スクリーンコンテンツの場合、一般にLCDパネルが４:４:４クロマフォーマットでピクセルを提供するので、一般に使用されるクロマフォーマットは４:４:４である。ビット深度はそれぞれのカラーチャネルにおけるサンプルのビット幅を定義し、これは、利用可能なサンプル値の範囲を意味する。一般に、全てのカラーチャネルは同じビット深度を有するが、カラーチャネルは、代替的に異なるビット深度を有しても良い。他のクロマフォーマットも可能である。例えば、クロマ・チャネルが（ルマ・チャネルと比較して）水平方向に半分のレートでサンプリングされる場合、４:２:２クロマ・フォーマットが使用中であると言われる。また、クロマ・チャネルが（ルマ・チャネルと比較して）水平方向および垂直方向のレートの半分でサンプリングされる場合、４:２:０クロマ・フォーマットが使用中であると言われる。これらのクロマ・フォーマットは、強度に対する感度が色に対する感度よりも高いという人間の視覚系の特性を利用する。したがって、過度の視覚的影響を引き起こすことなく、カラーチャネルのサンプリングを低減させることが可能である。しかし、カラーチャネルのサンプリングの低減は、複数世代の符号化および復号が一般的であるスタジオ環境にはあまり適用できない。また、スクリーンコンテンツの場合、４:４:４以外のクロマフォーマットの使用は、サブピクセルレンダリングされた（または「アンチエイリアシングされた」）テキストおよび鮮明なオブジェクトエッジに歪みが導入されるので、問題となり得る。
【０００９】
フレームデータはまた、スクリーンコンテンツとカメラキャプチャコンテンツとの混合物を含み得る。例えば、コンピュータ画面は様々なウィンドウ、アイコン、および制御ボタン、テキストを含むことができ、再生されているビデオ、または閲覧されている画像も含むことができる。コンテンツは、コンピュータ画面全体に関して、「混合コンテンツ」と呼ぶことができる。さらに、コンテンツの詳細（または「テクスチャ」）のレベルは、フレーム内で変化する。一般に、詳細なテクスチャの領域（例えば、葉、テキスト）、またはノイズを含む領域（例えば、カメラセンサからの）は、圧縮することが困難である。詳細なテクスチャは、詳細を失うことなく低い圧縮比でしか符号化することができない。逆に、細部がほとんどない領域（例えば、平坦な領域、空、コンピュータアプリケーションからの背景）は、細部の損失がほとんどなく、高い圧縮比で符号化することができる。
【００１０】
複雑さが低いという点で、１つの一般的な解決策は、画像にわたって階層的に適用される「ウェーブレット」変換の適用である。ウェーブレット変換は、JPEG２０００画像符号化規格に関連して十分に研究されている。画像にわたるウェーブレット変換の適用は、各フレームの空間範囲にわたって多数の離散コサイン変換（DCT）を適用するH.２６４／AVCなどのブロックベースのコーデックとは異なる。H.２６４／AVC内の各ブロックは、モード決定を行う必要があるためにエンコーダの複雑さが増大することを犠牲にして、高度の局所適応性を達成する様々な方法のうちの１つを使用して予測される。対照的に、ウェーブレット変換は広い空間領域にわたって適用され、したがって、ブロックベースのコーデックに利用可能な予測モードは一般に適用可能ではなく、その結果、エンコーダおよびデコーダの複雑さにおける差異が大幅に低減される。
【００１１】
ウェーブレット・ベースの圧縮技法の文脈では、複数のタイプのコンテンツ（混合）を含むフレームにわたって高い視覚品質を達成することは問題である。混合されたコンテンツを有するフレームにわたって高い視覚品質を達成することは、超低レイテンシ要件を満たすために厳格なローカルレート制御が必要とされる場合に、特に問題となり得る。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、既存の構成の１つ以上の欠点を実質的に克服するか、または少なくとも改善することである。
【課題を解決するための手段】
【００１３】
本開示の一態様は、ビデオビットストリームからのビデオデータのプレシンクトのための最大符号化ラインインデックス値のセットを復号する方法を提供し、ビデオデータのプレシンクトは１つまたは複数のサブバンドを含み、この方法は、ビデオビットストリームからの各サブバンドのための最大符号化ラインインデックス予測モードを復号することと、サブバンドのための最大符号化ラインインデックス予測モードを使用して、ビデオビットストリームからの各サブバンドのための複数の最大符号化ラインインデックスデルタ値を復号することと、複数の最大符号化ラインインデックスデルタ値と、サブバンドのための最大符号化ラインインデックス予測モードと、を使用して、各サブバンドのための最大符号化ラインインデックス値群を生成することと、を含む。
【００１４】
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
【００１５】
本開示の別の態様は、ビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットをビデオビットストリームに符号化する方法を提供し、ビデオデータのプレシンクトは１つまたは複数のサブバンドを含み、この方法は、各サブバンドに対する最大符号化ラインインデックス予測モードをビデオビットストリームに符号化することと、サブバンドに対する最大符号化ラインインデックス予測モードを使用して、各サブバンドに対する複数の最大符号化ラインインデックスデルタ値をビデオビットストリームに符号化することと、を含む。
【００１６】
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
【００１７】
本開示の別の態様は、ビデオビットストリームからのビデオデータのプレシンクトに対する最大符号化ラインインデックス値のセットを復号するためのプログラムが格納されたコンピュータ可読媒体を提供し、ビデオデータのプレシンクトは１つ以上のサブバンドを含み、このプログラムは、ビデオビットストリームからの各サブバンドに対する最大符号化ラインインデックス予測モードを復号するためのコードと、サブバンドに対する最大符号化ラインインデックス予測モードを使用して、ビデオビットストリームから各サブバンドに対する複数の最大符号化ラインインデックスデルタ値を復号するためのコードと、複数の最大符号化ラインインデックスデルタ値と、サブバンドに対する最大符号化ラインインデックス予測モードと、を使用して、各サブバンドに対する最大符号化ラインインデックス値群を生成するためのコードと、を含む。
【００１８】
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
【００１９】
本開示の別の態様は、ビデオデータのプレシンクトのための最大符号化ラインインデックス値のセットをビデオビットストリームに符号化するためのプログラムが格納されたコンピュータ可読媒体を提供し、ビデオデータのプレシンクトは１つ以上のサブバンドを含み、このプログラムは、各サブバンドのための最大符号化ラインインデックス予測モードをビデオビットストリームに符号化するためのコードと、サブバンドのための最大符号化ラインインデックス予測モードを使用して、各サブバンドのための複数の最大符号化ラインインデックスデルタ値をビデオビットストリームに符号化するためのコードと、を含む。
【００２０】
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
【００２１】
本開示の別の態様は、ビデオビットストリームからのビデオデータのプレシンクトのための最大符号化ラインインデックス値のセットを復号するためのシステムを提供し、ビデオデータのプレシンクトは１つまたは複数のサブバンドを含み、このシステムは、データを格納するためのメモリと、コンピュータ可読媒体と、コンピュータプログラムを実行するためにメモリに結合されたプロセッサと、を備え、このプログラムは、ビデオビットストリームからの各サブバンドのための最大符号化ラインインデックス予測モードを復号し、サブバンドのための最大符号化ラインインデックス予測モードを使用して、ビデオビットストリームからの各サブバンドのための複数の最大符号化ラインインデックスデルタ値を復号し、複数の最大符号化ラインインデックスデルタ値と、サブバンドのための最大符号化ラインインデックス予測モードと、を使用して、各サブバンドに対する最大符号化ラインインデックス値群を生成する、ための命令を有する。
【００２２】
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
【００２３】
本開示の別の態様は、ビデオデータのプレシンクトのための最大符号化ラインインデックス値のセットをビデオビットストリームに符号化するためのシステムを提供し、ビデオデータのプレシンクトは１つまたは複数のサブバンドを含み、このシステムは、データを記憶するためのメモリと、コンピュータ可読媒体と、コンピュータプログラムを実行するためにメモリに結合されたプロセッサと、を備え、このプログラムは、各サブバンドのための最大符号化ラインインデックス予測モードをビデオビットストリームに符号化し、サブバンドのための最大符号化ラインインデックス予測モードを使用して、各サブバンドのための複数の最大符号化ラインインデックスデルタ値をビデオビットストリームに符号化する、ための命令を有する。
【００２４】
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
【００２５】
本開示の別の態様は、ビデオビットストリームからビデオデータのプレシンクトを受信し、ビデオデータのプレシンクトは１つまたは複数のサブバンドを含み、ビデオビットストリームから各サブバンドのための最大符号化ラインインデックス予測モードを復号し、サブバンドのための最大符号化ラインインデックス予測モードを使用して、ビデオビットストリームからの各サブバンドのための複数の最大符号化ラインインデックスデルタ値を復号し、サブバンドのための最大符号化ラインインデックス予測モードと複数の最大符号化ラインインデックスデルタ値とを使用して、各サブバンドのための最大符号化ラインインデックス値群を生成するように構成されたデコーダを提供する。
【００２６】
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
【００２７】
本開示の別の態様は、１つまたは複数のサブバンドを含むビデオデータのプレシンクトを受信し、各サブバンドの最大符号化ラインインデックス予測モードをビデオビットストリームに符号化し、サブバンドの最大符号化ラインインデックス予測モードを使用して、各サブバンドの複数の最大符号化ラインインデックスデルタ値をビデオビットストリームに符号化するように構成されたビデオエンコーダを提供する。
【００２８】
別の態様によれば、各最大符号化ラインインデックス値は、ビデオビットストリーム内で符号化された係数のグループの中の最上位ビットプレーンをシグナリングする。
【００２９】
本開示の別の態様は、ビデオビットストリームからビデオデータのプレシンクトを生成するための方法であって、ビデオデータのプレシンクトは１つまたは複数のサブバンドを含み、この方法は、ビデオビットストリームからオフセットテーブルを復号することと、オフセットテーブルは不均一量子化オフセットのセットを定義し、不均一量子化オフセットのセットにおける各量子化オフセットは、ビデオデータのサブバンド係数のグループに適用され、ここで、オフセットテーブルは比較的低い大きさの係数を含むサブバンドの部分に対して、より大きい大きさの係数を含むサブバンドの部分のサブバンド係数に与えられる精度を低減するように生成され、サブバンド係数のグループの量子化オフセットに基づいて、各係数について読み取るビット数を決定するために、復号されたオフセットテーブルを適用することによって、ビデオビットストリームからのサブバンドのサブバンド係数のグループを復号することと、ビデオデータのプレシンクトを生成するために、サブバンド係数の復号されたグループに逆ウェーブレット変換を適用することと、を含む。
【００３０】
別の態様では、オフセットテーブルは、固定レベルからレベル０までのサブバンド群に適用される。
【００３１】
別の態様では、オフセットテーブルは、量子化オフセット群の各々に対して０または１のオフセット値を使用するように制約される。
【００３２】
別の態様では、オフセットテーブルは、オフセット当たり１ビットを有する固定長のビット・シーケンスとしてビデオ・ビットストリームに格納される。
【００３３】
別の態様では、オフセットテーブルは、オフセット値群をテストし、誤差を生成することによって生成される。
【００３４】
別の態様では、オフセットテーブルの生成は、高周波エネルギーを含むことが知られているコンテンツの領域が存在する正のオフセットを適用することに関する。
【００３５】
別の態様では、オフセットマップの生成は、プレシンクトに与えられる全体のビットレートに敏感である。
【００３６】
本開示の別の態様は、ビデオビットストリームからビデオデータのプレシンクトを生成するためのプログラムが格納されたコンピュータ可読媒体を提供し、ビデオデータのプレシンクトは１つまたは複数のサブバンドを含み、このプログラムは、ビデオビットストリームからオフセットテーブルを復号するためのコードであって、オフセットテーブルは不均一な量子化オフセットのセットを定義し、不均一な量子化オフセットのセットにおける各量子化オフセットは、ビデオデータのサブバンド係数のグループに適用され、ここで、オフセットテーブルは、比較的低い大きさの係数を含むサブバンドの部分に対して、より大きい大きさの係数を含むサブバンドの部分のサブバンド係数に与えられる精度を低減するように生成され、サブバンド係数のグループのための量子化オフセットに基づいて、各係数のために読み出されるビット数を決定するために、復号されたオフセットテーブルを適用することによって、ビデオビットストリームからのサブバンドのためのサブバンド係数のグループを復号するためのコードと、ビデオデータのプレシンクトを生成するために、サブバンド係数の復号されたグループに逆ウェーブレット変換を適用するためのコードと、を有する。
【００３７】
本開示の別の態様は、ビデオビットストリームからビデオデータのプレシンクトを生成するためのシステムを提供し、ビデオデータのプレシンクトは１つまたは複数のサブバンドを含み、このシステムは、データを格納するためのメモリと、コンピュータ可読媒体と、を有し、プロセッサは、コンピュータプログラムを実行するためにメモリと結合されており、このプログラムは、ビデオビットストリームからオフセットテーブルを復号し、オフセットテーブルは、不均一量子化オフセットのセットを定義しており、不均一量子化オフセットのセットにおけるそれぞれの量子化オフセットは、ビデオデータのサブバンド係数のグループに適用され、ここで、オフセットテーブルは、比較的低い大きさの係数を含むサブバンドの部分に対してより大きな大きさの係数を含むサブバンドの部分のサブバンド係数に与えられる精度を低減するように生成され、復号されたオフセットテーブルを適用して、サブバンド係数のグループの量子化オフセットに基づいて各係数を読み取るためのビット数を決定することによって、ビデオビットストリームからサブバンド係数のグループを復号し、サブバンド係数の復号されたグループに逆ウェーブレット変換を適用してビデオデータのプレシンクトを生成する、ための命令を有する。
【００３８】
本開示の別の態様は、ビデオビットストリームを受信し、ここで、ビデオビットストリームのビデオデータのプレシンクトは１つまたは複数のサブバンドを含み、ビデオビットストリームからオフセットテーブルを復号し、オフセットテーブルは、不均一量子化オフセットのセットを定義しており、不均一量子化オフセットのセットにおけるそれぞれの量子化オフセットは、ビデオデータのサブバンド係数のグループに適用され、ここで、オフセットテーブルは、比較的低い大きさの係数を含むサブバンドの部分に対してより大きな大きさの係数を含むサブバンドの部分のサブバンド係数に与えられる精度を低減するように生成され、復号されたオフセットテーブルを適用して、サブバンド係数のグループの量子化オフセットに基づいて各係数を読み取るためのビット数を決定することによって、ビデオビットストリームからサブバンド係数のグループを復号し、サブバンド係数の復号化されたグループに逆ウェーブレット変換を適用してビデオデータのプレシンクトを生成する、ように構成されているビデオデコーダを提供する。
【００３９】
他の態様も開示される。
【図面の簡単な説明】
【００４０】
次に、本発明の少なくとも１つの実施形態を、以下の図面および付録を参照して説明する。
【図１】図１は、サブフレーム待ち時間ビデオ符号化及び復号システムを示す概略ブロック図である。
【図２Ａ】、
【図２Ｂ】図２Ａおよび２Ｂは、図１のビデオ符号化および復号システムの一方または両方を実施することができる汎用コンピュータシステムの概略ブロック図を形成する。
【図３】図３は、ビデオエンコーダの機能モジュールを示す概略ブロック図である。
【図４】図４は、ビデオデコーダの機能モジュールを示す概略ブロック図である。
【図５Ａ】図５Ａは、プレシンクトのためのウェーブレットサブバンド分解を示す概略ブロック図である。
【図５Ｂ】図５Ｂは、ウェーブレット分析フィルタバンクを示す概略ブロック図である。
【図５Ｃ】図５Ｃは、固定切り捨て閾値を有する、ビットストリームにおける表現のためのサブバンド係数グループ化を示す概略ブロック図である。
【図５Ｄ】図５Ｄは、プレシンクトのためのビットストリーム分解を示す概略ブロック図である。
【図６】図６は、可変切り捨て閾値を有する、ビットストリームにおける表現のためのサブバンド係数グループ化を示す概略ブロック図である。
【図７】図７は、サブバンド内の可変切り捨てオフセットを用いてビットストリームを符号化する方法を示す概略フロー図である。
【図８】図８は、サブバンド内の可変切り捨てオフセットを用いてビットストリームを復号する方法を示す概略フロー図である。
【発明を実施するための形態】
【００４１】
添付の図面のいずれか１つまたは複数において、同じ参照番号を有するステップおよび／または特徴が参照される場合、これらのステップおよび／または特徴は反対の意図が現れない限り、本説明の目的のために、同じ機能または操作を有する。
【００４２】
図１は、サブフレーム待ち時間ビデオ符号化および復号システム１００の機能モジュールを示す概略ブロック図である。システム１００は空間的に局所化された係数符号化アプローチを使用し、局所ビットレート消費を、そのような消費が視覚的に重要ではない場合は低減することによって全体的な視覚品質を改善することができる。
【００４３】
レート制御およびバッファ管理機構は、ビデオデコーダ１３４からの復号されたビデオフレームが、ビデオフレームが配信されるインタフェースのタイミングに従って配信されるように、（例えば、複雑さおよびビデオエンコーダ１１４への入力ビデオデータの可能なモードのエンコーダ検索にかかる時間の変動のために）バッファアンダーランおよびその結果生じる復号されたビデオの配信の失敗が生じないことを保証する。ビデオフレームが配信されるインターフェースは例えば、ＳＤＩであってもよい。ＳＤＩのようなインターフェースは、水平及び垂直ブランキング期間を有するクロックソースに同期されたサンプルタイミングを有する。したがって、復号されたビデオのサンプルは、SDIリンクのフレームタイミングに従って配信される必要がある。SDIを介した送信のためにフォーマットされたビデオデータは、例えば、SMPTE ST.２０２２−６に規定されている方法を使用して、イーサネット（登録商標）を介して搬送されてもよい。必要とされるタイミングに従ってサンプルが送達されなかった場合、顕著な視覚的アーチファクトが生じる（例えば、無効なデータが下流のデバイスによってサンプル値として解釈されることから）。したがって、レート制御機構は、バッファオーバーランがなく、その結果、入力ビデオデータを処理することができないことを保証する。ビデオエンコーダ１１４へのインバウンドSDIリンクについても同様の制約が存在し、これは、到着タイミングに従ってサンプルを符号化する必要があり、例えば、フレームの異なる領域を符号化するための様々な処理要求のために、ビデオエンコーダ１１４への入力ビデオデータをストールしない場合がある。
【００４４】
上述したように、ビデオ符号化及び復号システム１００は、ビデオデータの１フレーム未満の待ち時間を有する。特に、用途によっては、ビデオエンコーダ１１４の入力からビデオデコーダ１３４の出力までのビデオデータの３２ラインを超えない待ち時間を必要とする。待ち時間は、ビデオデータの入力／出力と、通信チャネル上を通過する前および後の部分的に符号化されたビデオデータの格納と、の期間に要する時間を含む。一般に、ビデオデータは、ラスタ走査順序で、例えばＳＤＩリンクを介して送受信される。各フレームは「プレシンクト」に分割され、各プレシンクトは一般に、高さがルマサンプルの２つのラインであり、フレームの幅に等しい幅を有する。次に、１つまたは複数のプレシンクトの率平滑化ウィンドウを適用して、現在のプレシンクトの目標率を設定する。ビットストリームは、１つの圧縮プレシンクトのデータが送信前にバッファにアセンブルされるように、バッファに書き込まれる。
【００４５】
システム１００は、ソースデバイス１１０および宛先デバイス１３０を含む。通信チャネル１２０は、ソースデバイス１１０から宛先デバイス１３０に符号化ビデオ情報を通信するために使用される。いくつかの構成では、ソースデバイス１１０および宛先デバイス１３０が重畳挿入およびリアルタイム編集モジュールなどのそれぞれの放送スタジオ機器を備え、この場合、通信チャネル１２０はＳＤＩリンクであってもよい。典型的には、通信チャネル１２０は「ＣＢＲ」チャネルである。したがって、通信チャネル１２０は、利用可能な帯域幅に一定の制限を与える。非圧縮ビデオデータの場合、通信チャネル１２０の帯域幅は、非圧縮ビデオデータの帯域幅に一致するように単に設定される。圧縮ビデオデータの場合、要求される帯域幅は一般に、時間的に変化し、各プレシンクトは、いくつかのプレシンクトのレート制御ルックアヘッド・ウィンドウによって設定される制限内で圧縮サイズを変化させることができる。多くのプレシンクトにわたって平均化すると、固定サイズが維持されなければならない。レート制御ルックアヘッド・ウィンドウを欠くより低い複雑さの実装は、ビデオデータの各圧縮プレシンクトに対して固定サイズを使用する。ビデオデータの圧縮されたプレシンクトは、通信チャネル１２０を介して搬送される。通信チャネル１２０は、たとえシステム１００において圧縮データが搬送されても、ＳＤＩまたはＨＤＭＩなどの非圧縮データを搬送することを意図したインターフェースを利用することができる。
【００４６】
他の構成では、ソースデバイス１１０および宛先デバイス１３０は、システムオンチップ（ＳＯＣ）およびＬＣＤパネル（例えば、スマートフォン、タブレット、またはラップトップコンピュータに見られるような）の一部としてグラフィックスドライバを備える。ＳＯＣ構成では、通信チャネル１２０が典型的にはＰＣＢトラックワークおよび関連するコネクタなどの有線チャネルである。さらに、ソースデバイス１１０および宛先でば１３０は、無線テレビ放送をサポートする装置、ケーブルテレビアプリケーション、インターネットビデオアプリケーション、および符号化されたビデオデータが何らかの記憶媒体またはファイルサーバ上でキャプチャされるアプリケーションを含む、広範囲の装置のいずれかを備えることができる。ソースデバイス１１０はビデオデータをキャプチャし、視覚的に無損失の圧縮を提供する圧縮フォーマットでビデオデータを出力するデジタルカメラであってもよく、そのようなパフォーマンスは真に無損失のフォーマット（例えば、非圧縮）と同等であると考えられてもよい。
【００４７】
図１に示すように、ソースデバイス１１０は、ビデオソース１１２と、ビデオエンコーダ１１４と、送信機１１６と、を含む。ビデオソース１１２は、典型的には非圧縮ビデオデータ１１３のソースを含む。ビデオソース１１２は例えば、イメージングセンサ、非一時的記録媒体に格納された以前にキャプチャされたビデオシーケンス、又はリモートイメージングセンサからのビデオフィードとすることができる。非圧縮ビデオデータ１１３は、ビデオソース１１２からビデオエンコーダ１１４に、ビデオデータの配信の固定タイミングで、ＣＢＲチャネルを介して送信される。ビデオデータは、典型的にはライン（「水平同期」）とフレーム（「垂直同期」）とを区別するためのシグナリングを伴うラスタスキャンフォーマットで配信される。ビデオソース１１２はまた、コンピュータグラフィックスカードの出力、例えば、オペレーティングシステムや、コンピューティングデバイス、例えば、タブレットコンピュータ上で実行される様々なアプリケーションのビデオ出力を表示することであってもよい。グラフィックスカードから出力される内容は、「画面内容」の一例である。ビデオソース１１２としてイメージングセンサを含むことができるソースデバイス１１０の例には、スマートフォン、ビデオカムコーダ、およびネットワークビデオカメラが含まれる。画面コンテンツは、スムーズにレンダリングされたグラフィックスと、様々な領域における自然コンテンツの再生と、を含み得るので、画面コンテンツは一般に、「混合コンテンツ」の形態でもある。ビデオエンコーダ１１４は、図３を参照してさらに説明するように、ビデオソース１１２からの非圧縮ビデオデータ１１３を符号化ビデオデータに変換する。
【００４８】
ビデオエンコーダ１１４は、入力された非圧縮ビデオデータ１１３を符号化する。ビデオエンコーダ１１４は、入力ビデオデータをリアルタイムで符号化する必要がある。すなわち、ビデオエンコーダ１１４は例えば、入力データを処理するレートが入力データレートを下回る場合、入力された非圧縮ビデオデータ１１３をストールすることができない。ビデオエンコーダ１１４は、一定のビットレートで圧縮ビデオデータ１１５（「ビットストリーム」）を出力する。典型的なビデオ・ストリーミング・アプリケーションでは、ビットストリーム全体がいずれの１つのロケーションに格納されない。その代わりに、圧縮されたビデオデータのプレシンクトは、ビデオエンコーダ１１４によって連続的に生成され、ビデオデコーダ１３４によって、例えば（ＣＢＲ）通信チャネル１２０内に中間記憶装置を用いて消費される。ＣＢＲストリーム圧縮ビデオデータは通信チャネル１２０（例えば、ＳＤＩリンク）を介して送信機１１６によって送信される。他の構成では、圧縮されたビデオデータは、後に通信チャネル１２０を介して送信されるまで、または通信チャネル１２０を介した送信の代わりに、「フラッシュ」メモリまたはハードディスクドライブなどの非一時的記憶装置１２２に格納される。
【００４９】
宛先デバイス１３０は、受信機１３２、ビデオデコーダ１３４、および表示装置１３６を含む。受信機１３２は通信チャネル１２０から符号化されたビデオデータを受信し、受信したビデオデータ１３３をビデオデコーダ１３４に送信する。そして、ビデオデコーダ１３４は、復号したフレームデータを表示装置１３６に出力する。表示装置１３６の例は、陰極線管、液晶ディスプレイ（スマートフォンなど）、タブレットコンピュータ、コンピュータモニタ、またはスタンドアロンテレビセットで含む。他の構成では、ソースデバイス１１０および宛先デバイス１３０のそれぞれの機能が単一のデバイスで実施される。デバイス１１０および１３０の機能が単一の装置上で具現化される例示的な構成は、携帯電話ハンドセットおよびタブレットコンピュータ、または重畳挿入ユニットを含む放送スタジオ内の機器を含む。
【００５０】
上述の例示的な装置にもかかわらず、ソースデバイス１１０および宛先デバイス１３０のそれぞれは、典型的にはハードウェアおよびソフトウェアコンポーネントの組合せを介して、汎用コンピューティングシステム内に構成することができる。図２Ａは、そのようなコンピュータシステム２００を示しており、コンピュータモジュール２０１、キーボード２０２、マウスポインタデバイス２０３、スキャナ２２６、ビデオソース１１２として構成することができるカメラ２２７、およびマイクロフォン２８０などの入力デバイス、ならびにプリンタ２１５、ディスプレイデバイス１３６として構成することができるディスプレイデバイス２１４、およびラウドスピーカ２１７を含む出力デバイスを含む。外部変調復調器（モデム）トランシーバデバイス２１６は、接続２２１を介して通信ネットワーク２２０との間で通信するために、コンピュータモジュール２０１によって使用されてもよい。通信チャネル１２０を表すことができる通信ネットワーク２２０は、インターネット、セルラー電気通信ネットワーク、またはプライベートＷＡＮなどのワイドエリアネットワーク（ＷＡＮ）とすることができる。接続２２１が電話回線である場合、モデム２１６は、従来の「ダイヤルアップ」モデムであってもよい。あるいは、接続２２１が大容量（例えば、ケーブル）接続である場合、モデム２１６はブロードバンドモデムであってもよい。無線モデムはまた、通信ネットワーク２２０への無線接続のために使用されてもよい。トランシーバデバイス２１６は、送信機１１６および受信機１３２の機能を提供することができ、通信チャネル１２０は、接続２２１において具現化することができる。
【００５１】
コンピュータモジュール２０１は、典型的には少なくとも１つのプロセッサユニット２０５とメモリユニット２０６とを含む。例えば、メモリユニット２０６は、ＲＡＭ（semiconductor random access memory）やＲＯＭ（semiconductor read only memory）を有する。コンピュータモジュール２０１はまた、ビデオディスプレイ２１４、ラウドスピーカ２１７、およびマイクロフォン２８０に結合するオーディオビデオインターフェース２０７、キーボード２０２、マウス２０３、スキャナ２２６、カメラ２２７、およびオプションとしてジョイスティックまたは他のヒューマンインターフェースデバイス（図示せず）に結合するＩ／Ｏインターフェース２１３、ならびに外部モデム２１６およびプリンタ２１５のためのインターフェース２０８を含む、いくつかの入出力（Ｉ／Ｏ）インターフェースを含む。オーディオビデオインターフェース２０７からコンピュータモニタ２１４への信号は、一般に、コンピュータグラフィックスカードの出力であり、「スクリーン・コンテンツ」の一例を提供する。いくつかの実装形態では、モデム２１６がコンピュータモジュール２０１内、例えば、インターフェース２０８内に組み込まれてもよい。コンピュータモジュール２０１はまた、ローカルエリアネットワーク（LAN）として知られるローカルエリア通信ネットワーク２２２への接続２２３を介したコンピュータシステム２００の結合を可能にするローカルネットワークインターフェース２１１を有する。図２Ａに示すように、ローカル通信ネットワーク２２２は、通常、いわゆる「ファイアウォール」デバイスまたは同様の機能のデバイスを含む接続２２４を介してワイドネットワーク２２０に結合することもできる。ローカルネットワークインターフェース２１１は、EthernetTMサーキットカード、BluetoothTMワイヤレス構成、またはIEEE ８０２.１１ワイヤレス構成を備え得るが、多数の他のタイプのインターフェースがインターフェース２１１のために実施され得る。ローカルネットワークインタフェース２１１はまた、送信機１１６および受信機１３２の機能を提供することができ、通信チャネル１２０はまた、ローカル通信ネットワーク２２２において具現化することができる。
【００５２】
Ｉ／Ｏインターフェース２０８および２１３は、シリアルおよびパラレル接続のいずれかまたは両方を提供することができ、前者は典型的には、ＵＳＢ（Universal Serial Bus）規格に従って実装され、対応するＵＳＢコネクタ（図示せず）を有する。記憶装置２０９が設けられ、典型的にはＨＤＤ（hard disk drive）２１０を含む。フロッピー（登録商標）ディスクドライブおよび磁気テープドライブ（図示せず）などの他の記憶装置も使用されても良い。光ディスクドライブ２１２は、典型的にはデータの不揮発性ソースとして機能するために提供される。そのような光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ、ブルーレイＤｉｓｃＴＭ）、ＵＳＢ−ＲＡＭ、ポータブル、外部ハードドライブ、およびフロッピーディスクなどのポータブルメモリデバイスは、コンピュータシステム２００への適切なデータソースとして使用され得る。典型的には、ＨＤＤ２１０、光ドライブ２１２、ネットワーク２２０および２２２のいずれも、ビデオソース１１２として、または表示部２１４を介した再生のために記憶されるべき復号されたビデオデータの宛先として動作するように構成されてもよい。システム１００のソースデバイス１１０および宛先デバイス１３０、またはシステム１００のソースデバイス１１０および宛先デバイス１３０は、コンピュータシステム２００で実施することができる。
【００５３】
コンピュータモジュール２０１の構成要素２０５〜２１３は、典型的には、相互接続されたバス２０４を介して、当業者に知られているコンピュータシステム２００の従来の動作モードをもたらす方法で通信する。例えば、プロセッサ２０５は、接続２１８を使用してシステムバス２０４に結合される。同様に、メモリ２０６および光ディスクドライブ２１２は、接続２１９によってシステムバス２０４に結合される。説明した構成を実施することができるコンピュータの例は、IBM−PCおよび互換機、Sun SPARCstations、Apple MacＴＭ、または同様のコンピュータシステムを含む。
【００５４】
必要に応じて、ビデオエンコーダ１１４およびビデオデコーダ１３４、ならびに以下に説明する方法は、コンピュータシステム２００を使用して実施することができ、ここで、ビデオエンコーダ１１４、ビデオデコーダ１３４、および説明する方法は、コンピュータシステム２００内で実行可能な１つまたは複数のソフトウェアアプリケーションプログラム２３３として実施することができる。特に、ビデオエンコーダ１１４、ビデオデコーダ１３４、及び説明される方法のステップは、コンピュータシステム２００内で実行されるソフトウェア２３３内の命令群２３１（図２Ｂ参照）によって実行される。ソフトウェア命令群２３１は、それぞれが１つまたは複数の特定のタスクを実行するためのものである１つまたは複数のコードモジュールとして形成することができる。ソフトウェアはまた、２つの別個の部分に分割されてもよく、第１の部分および対応するコードモジュールは説明される方法を実行し、第２の部分および対応するコードモジュールは、第１の部分とユーザとの間のユーザインターフェースを管理する。
【００５５】
ソフトウェアは、例えば、以下に記載される記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２００にロードされ、次いで、コンピュータシステム２００によって実行される。そのようなソフトウェアまたはコンピュータ可読媒体に記録されているコンピュータプログラムを有するコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム２００におけるコンピュータプログラム製品の使用は、好ましくは、ビデオエンコーダ１１４、ビデオデコーダ１３４、および説明される方法を実施するための有利な装置をもたらす。
【００５６】
ソフトウェア２３３は、典型的にはＨＤＤ２１０またはメモリ２０６に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２００にロードされ、コンピュータシステム２００によって実行される。したがって、例えば、ソフトウェア２３３は、光ディスクドライブ２１２によって読み取られる光学的に読み取り可能なディスク記憶媒体（例えば、ＣＤ−ＲＯＭ）２２５に格納されてもよい。
【００５７】
場合によっては、アプリケーションプログラム群２３３が１つまたは複数のCD−ROM２２５上で符号化されてユーザに供給され、対応するドライブ２１２を介して読み取られてもよく、あるいはネットワーク２２０または２２２からユーザによって読み取られてもよい。さらに、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム２００にロードすることもできる。コンピュータ可読記憶媒体は実行および／または処理のために、記録された命令および／またはデータをコンピュータシステム２００に提供する任意の一時的でない有形の記憶媒体を指す。そのような記憶媒体の例は、フロッピーディスク、磁気テープ、ＣＤ−ＲＯＭ、ＤＶＤ、ブルーレイＤｉｓｃTM、ハードディスクドライブ、ＲＯＭまたは集積回路、ＵＳＢメモリ、光磁気ディスク、またはＰＣＭＣＩＡカードなどのコンピュータ可読カードを含み、そのような装置はコンピュータモジュール２０１の内蔵または外付けであるか否かにかかわらずである。ソフトウェア、アプリケーションプログラム、命令および／またはビデオデータまたは符号化ビデオデータのコンピュータモジュール４０１への提供にも関与し得る一時的または非有形のコンピュータ可読伝送媒体の例は、無線または赤外線伝送チャネル、ならびに別のコンピュータまたはネットワーク化されたデバイスへのネットワーク接続、ならびに電子メール伝送およびウェブサイト上に記録された情報などを含むインターネットまたはイントラネットを含む。
【００５８】
アプリケーションプログラム群２３３の第２の部分および上述の対応するコードモジュールは、ディスプレイ２１４上にレンダリングされるか、または他の方法で表される１つまたは複数のＧＵＩ（graphical user interface）を実装するために実行することができる。典型的にはキーボード２０２およびマウス２０３の操作を通じて、コンピュータシステム２００およびアプリケーションのユーザは、ＧＵＩに関連するアプリケーションに制御コマンドおよび／または入力を提供するために、機能的に適応可能な方法でインターフェースを操作することができる。ラウドスピーカ２１７を介して出力されるスピーチプロンプトおよびマイクロフォン２８０を介して入力されるユーザ音声コマンドを利用するオーディオインターフェースなど、機能的に適応可能なユーザインターフェースの他の形態も実装され得る。
【００５９】
図２Ｂは、プロセッサ２０５および「メモリ」２３４の詳細な概略ブロック図である。メモリ２３４は、図２Ａのコンピュータモジュール２０１によってアクセスされ得る全てのメモリモジュール（ＨＤＤ２０９および半導体メモリ２０６を含む）の論理集合を表す。
【００６０】
コンピュータモジュール２０１が最初に電源投入されると、ＰＯＳＴ（power-on self-test）プログラム２５０が実行される。ＰＯＳＴプログラム２５０は、典型的には図２Ａの半導体メモリ２０６のＲＯＭ２４９に格納される。ソフトウェアを格納するＲＯＭ２４９などのハードウェアデバイスは、ファームウェアと呼ばれることもある。ＰＯＳＴプログラム２５０は、コンピュータモジュール２０１内のハードウェアを検査して、適切な機能を保証し、典型的にはプロセッサ２０５、メモリ２３４（２０９、２０６）、および、典型的にはＲＯＭ２４９に格納されているＢＩＯＳ（basic input-output systems software）モジュール２５１を、正しい動作について検査する。ＰＯＳＴプログラム２５０が正常に実行されると、ＢＩＯＳ２５１は、図２Aのハードディスクドライブ２１０を起動する。ハードディスクドライブ２１０の起動により、ハードディスクドライブ２１０上に常駐しているブートストラップローダプログラム２５２に、プロセッサ２０５を介して実行させる。これにより、オペレーティングシステム２５３がＲＡＭメモリ２０６にロードされ、オペレーティングシステム２５３が動作を開始する。オペレーティングシステム２５３は、プロセッサ管理、メモリ管理、デバイス管理、ストレージ管理、ソフトウェアアプリケーションインターフェース、および汎用ユーザインターフェースを含む様々な高レベル機能を実行するために、プロセッサ２０５によって実行可能なシステムレベルアプリケーションである。
【００６１】
オペレーティングシステム２５３は、メモリ２３４（２０９、２０６）を管理して、コンピュータモジュール２０１で実行される各プロセスまたはアプリケーションが別のプロセスに割り当てられたメモリと衝突することなく実行するのに十分なメモリを有することを保証する。さらに、図２Ａのコンピュータシステム２００で利用可能な異なるタイプのメモリは、各プロセスが効果的に実行できるように、適切に使用される必要がある。したがって、集合メモリ２３４は、メモリの特定のセグメントがどのように割り当てられるかを示すことを意図するものではなく（特に断らない限り）、コンピュータシステム２００によってアクセス可能なメモリの一般的なビューおよびそのようなものがどのように使用されるかを提供することを意図するものである。
【００６２】
図２Ｂに示すように、プロセッサ２０５は、制御ユニット２３９、算術論理ユニット（ALU）２４０、およびキャッシュメモリと呼ばれることもあるローカルまたは内部メモリ２４８を含むいくつかの機能モジュールを含む。キャッシュメモリ２４８は、典型的にはレジスタセクション内に多数の記憶レジスタ２４４〜２４６を含む。１つ以上の内部バス２４１は、これらの機能モジュールを機能的に相互接続する。プロセッサ２０５はまた、典型的には、接続２１８を使用して、システムバス２０４を介して外部機器と通信するための１つ以上のインターフェース２４２を有する。メモリ２３４は、接続２１９を使用してバス２０４に結合される。
【００６３】
アプリケーションプログラム２３３は、条件付き分岐およびループ命令を含むことができる一連の命令２３１を含む。プログラム２３３は、プログラム２３３の実行に使用されるデータ２３２を含むこともできる。命令群２３１およびデータ２３２は、それぞれメモリロケーション２２８、２２９、２３０および２３５、２３６、２３７に格納される。命令群２３１とメモリロケーション２２８−２３０の相対的なサイズに応じて、特定の命令は、メモリロケーション２３０に示される命令によって示されるように、単一のメモリロケーションに格納され得る。あるいは、命令がメモリロケーション２２８および２２９に示される命令セグメントによって示されるように、それぞれが別個のメモリロケーションに格納されるいくつかの部分にセグメント化されてもよい。
【００６４】
一般に、プロセッサ２０５には、そこで実行される命令のセットが与えられる。プロセッサ２０５は、プロセッサ２０５が別の命令セットを実行することによって反応する後続の入力を待つ。各入力は、入力デバイス２０２、２０３のうちの１つまたは複数によって生成されたデータ、ネットワーク２２０、２０２のうちの１つを介して外部ソースから受信されたデータ、記憶デバイス２０６、２０９のうちの１つから取り出されたデータ、または対応するリーダ２１２に挿入された記憶媒体２２５から取り出されたデータを含む、いくつかのソースのうちの１つまたは複数から提供することができ、すべて図２Ａに示す。命令のセットの実行は、場合によってはデータの出力をもたらし得る。実行はまた、データまたは変数をメモリ２３４に格納することを含み得る。
【００６５】
ビデオエンコーダ１１４、ビデオデコーダ１３４、および説明される方法は、対応するメモリロケーション２５５、２５６、２５７内のメモリ２３４に格納されている入力変数群２５４を使用することができる。ビデオエンコーダ１１４、ビデオデコーダ１３４、および説明される方法は出力変数群２６１を生成し、これらは、対応するメモリロケーション２６２、２６３、２６４内のメモリ２３４に格納される。中間変数群２５８は、メモリロケーション２５９、２６０、２６６、２６７に格納することができる。
【００６６】
図２Ｂのプロセッサ２０５を参照すると、レジスタ２４４、２４５、２４６、算術論理ユニット（ＡＬＵ）２４０、および制御ユニット２３９は、プログラム２３３を構成する命令セット内のすべての命令に対して「フェッチ、デコード、および実行」サイクルを実行するのに必要なマイクロオペレーションのシーケンスを実行するように協働する。各フェッチ、デコード、および実行サイクルは以下を含む:
（ａ）  メモリロケーション２２８、２２９、２３０から命令２３１をフェッチまたは読出すフェッチ動作
（ｂ）  制御ユニット２３９がどの命令がフェッチされたかを判定するデコード動作、および
（ｃ）  制御ユニット２３９および／またはＡＬＵ２４０が命令を実行する実行動作
【００６７】
その後、次の命令のためのさらなるフェッチ、デコード、および実行サイクルを実行する。同様に、制御ユニット２３９がメモリロケーション２３２に値を格納または書き込む保存サイクルが実行される。
【００６８】
後述する図７および図８の方法における各ステップまたはサブプロセスは、プログラム２３３の１つまたは複数のセグメントに関連付けられ、典型的にはプロセッサ２０５内のレジスタセクション２４４、２４５、２４７、ＡＬＵ２４０、および制御ユニット２３９により協働して実行されることで、プログラム２３３の注目セグメントに対する命令セット内のすべての命令に対するフェッチ、デコード、および実行サイクルを実行する。
【００６９】
図３は、ビデオエンコーダ１１４の機能モジュールを示す概略ブロック図である。図４は、ビデオデコーダ１３４の機能モジュールを示す概略ブロック図である。ビデオエンコーダ１１４およびビデオデコーダ１３４は図２Ａおよび２Ｂに示すように、汎用コンピュータシステム２００を使用して実装することができる。図２Ａおよび２Ｂでは様々な機能モジュールがコンピュータシステム２００内の専用ハードウェアによって実装されても良いし、ハードディスクドライブ２０５上に常駐するソフトウェアアプリケーションプログラム２３３の１つまたは複数のソフトウェアコードモジュールなどの、コンピュータシステム２００内で実行可能なソフトウェアによって且つプロセッサ２０５によるその実行において制御されることによって実装されても良いし、あるいはコンピュータシステム２００内で実行可能な専用ハードウェアおよびソフトウェアの組合せによって実装されても良い。ビデオエンコーダ１１４、ビデオデコーダ１３４、および説明される方法は代替的に、説明される方法の機能またはサブ機能を実行する１つまたは複数の集積回路などの専用ハードウェアにおいて実装されても良い。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または１つ以上のマイクロプロセッサおよび関連するメモリを含み得る。特に、ビデオエンコーダ１１４はモジュール３１０、３１４、３１５、３１８、３２０、３２４、３２８、および３３０を備え、ビデオデコーダ１３４はモジュール４１０、４１４、４１８、４２２、４２６、および４３０を備える。ビデオエンコーダ１１４およびビデオデコーダ１３４の各モジュールは、それぞれ、ソフトウェアアプリケーションプログラム２３３の１つまたは複数のソフトウェアコードモジュール、またはビデオエンコーダ１１４およびビデオデコーダ１３４を実現するためにＦＰＧＡ内の内部論理ブロックを構成するＦＰＧＡ「ビットストリームファイル」として実装され得る。
【００７０】
図３のビデオエンコーダ１１４は低レイテンシビデオエンコーダの一例であるが、他のビデオコーデックを使用して、本明細書で説明する処理ステージ群を実行することもできる。ビデオエンコーダ１１４は、各フレームが１つまたは複数のカラーチャネルを含む、一連のフレームなどのキャプチャされたフレームデータを受信する。
【００７１】
図３を参照すると、変換モジュール３１０はビデオソース１１２から非圧縮ビデオデータ１１３を受信し、１組の分析フィルタバンクを使用して階層ウェーブレットフォワード変換を実行する。一般に、５／３ Le Gallウェーブレットが使用されるが、HaarウェーブレットまたはCohen−DaubechiesFeauveau ９／７ウェーブレットなどの他のウェーブレット変換を使用することができる。変換モジュール３１０は、ウェーブレット係数群を生成する。ウェーブレット係数群は、ウェーブレット分解構造に従って複数のサブバンドにグループ化される。変換モジュール３１０は、グループ化されたウェーブレット係数群３１２を出力する。ウェーブレット分解構造は、図５Ａおよび図５Ｂを参照して以下でさらに説明される。
【００７２】
超低レイテンシ要件のため、垂直方向の分解のレベルの数はしばしば２つ以下のレベル（一般に、２つのレベルがレート制御ルックアヘッドに利用可能なプレシンクトの数を低減するので、１つのレベルのみ）に非常に制約される。水平方向では、分解のレベルの数は比較的制約されず、５つのレベルが一般に使用される。１つのレベルの垂直分解の場合を考えると、各サブバンド内には、高さが１つの係数で幅がいくつかの係数の配列として配列された係数のセットがある。係数の配置はリストと考えることができ、各サブバンド内の係数群が一般に正方形アレイであるＪＰＥＧ２０００などのコーデックにおける典型的な使用とは対照的である。次いで、各サブバンド内の係数群のリストをスキャンすることができる。しかし、第１に、グループ化動作が適用され、すなわち、各サブバンドはエントロピー符号化の目的のために、等しいサイズの係数のグループのセットに分割される。様々なグループサイズを使用することができ、グループサイズはすべてのサブバンドにわたって一定である必要はないが、すべてのサブバンドについて４の固定グループサイズは典型的には、様々なテストデータの下で最適に近い性能を提供する。したがって、変換モジュールは、グループ化された係数群３１２を生成する。
【００７３】
グループ化された係数群３１２は、最大符号化ラインインデックス（ＧＣＬＩ）抽出器モジュール３１４に渡される。グループ化された係数群３１２は、一連のビットプレーン（または「ライン」）として符号化され、すなわち、グループ内の各係数のビット「ｎ」は、モジュール３１４によって４ビットの単位として符号化される。最初に、係数グループ内の係数群の最上位ビットを含むビットプレーンのビットプレーンインデックスが決定される。ビットプレーンインデックスは、最大符号化ラインインデックス（ＧＣＬＩ）と呼ばれる。集合的に（すなわち、すべての係数グループおよびサブバンドにわたって）、インデックス群は、最大符号化ラインインデックス群（ＧＣＬＩ群）３１６を形成する。ＧＣＬＩ群３１６は、ＧＣＬＩ予測モジュール３１５に渡される。予測モード３１９は、モジュール３１５によってプレシンクト内のすべてのサブバンドにわたるＧＣＬＩ群のために選択される。代替の構成では、別個のＧＣＬＩ予測モードが各サブバンドに対して独立して決定されてもよい。各サブバンドに対してGCLI予測モードを決定する構成では、各サブバンドのＧＣＬＩ予測モードが符号化ビットストリーム１１５において別々にシグナリングされる。利用可能な予測モードは、水平、垂直及び生（予測なし）を含む。他の予測モードも利用可能であり、「ＨＳＩＧ」および「ＶＳＩＧ」モードを含み、それによって連続するゼロ値化されたＧＣＬＩのランがシグナリングされる。他の構成は、サブバンドにわたって動作する「Ｚツリー」予測モードを使用することができ、上記の分解レベルにおけるサブバンド群のゼロ値化されたＧＣＬＩ群の存在から、より低い分解レベルにおけるサブバンドのゼロ値化されたＧＣＬＩ群を予測することを可能にする。各サブバンドについて別個のＧＣＬＩ予測モードが利用可能である場合、ＧＣＬＩ予測モード探索は、すべてのサブバンドがＺツリー予測を使用するか、またはサブバンドがＺツリー予測を使用しないように制約される。
【００７４】
ＧＣＬＩ予測の結果として、ＧＣＬＩデルタ値群３１７がモジュール３１５によって生成される。予測モード３１９およびＧＣＬＩデルタ値群３１７は、符号化ビットストリーム１１５に符号化するためにエントロピーエンコーダモジュール３１８に渡される。ＧＣＬＩ予測モジュール３１５はまた、ＧＣＬＩ符号化コスト３２７を生成する。ＧＣＬＩ符号化コストは、ＧＣＬＩデルタ値群３１７を符号化するビットコストを示す。ビットプレーンのセットとしてのサブバンド内の係数グループ群の表現は、図５Ｃを参照してさらに説明される。
【００７５】
グループ化された係数群３１２は、オフセット導出器モジュール３３０にも入力される。オフセット導出器モジュール３３０は、オフセットテーブル３３２を導出する。オフセットテーブル３３２は、サブバンド内の係数グループ群のための最小ビットプレーン上の変動を可能にする。サブバンド内変動は、より低い品質が許容される係数グループの特定のセット群の符号化コストの低減を可能にする。いくつかの係数グループに対する符号化コストの低減は、プレシンクト内の残りの係数グループ群に対して全体的により大きなレートを与える。オフセットテーブル３３２は、オフセットのリストを含み、各オフセットは、特定のサブバンドレベル以下の係数グループ群に適用される。オフセットテーブル（オフセットマップとも呼ばれる）は、量子化オフセットとも呼ばれるオフセットのセットを効果的に定義する。オフセット群の各々は、サブバンド係数のセットに適用される。量子化オフセット群は、典型的には不均一である。特定のサブバンドレベルを超える係数群は影響を受けない。より高いサブバンドレベルは、より少ない係数を有するので、より高いサブバンドレベルの係数の精度を低減することは、より低いサブバンドレベルにおける係数の精度を低減することと比較して、ビットレートを節約することへの寄与を比較的少なくする。オフセットテーブル３３２は一般に、プレシンクト全体にわたって適用され、各オフセットは、特定のサブバンドレベルの係数と、重複するフィルタサポートの意味で並置されるより低いサブバンドレベルの係数と、に適用される。フィルタサポートに関する重なりは、真のフィルタサポートに関して、例えば、５／３ Le Gallウェーブレットに関して定義することができる。あるいは、たとえ５／３ Le Gallウェーブレットが使用されるとしても、オーバーラップはHaar waveletのより単純なサポートの観点から定義されてもよく、実質的に同じ効果で低減された複雑さを達成する。
【００７６】
レート制御モジュール３２０は、オフセットテーブル３３２およびＧＣＬＩ符号化コスト３２７を受信し、プレシンクトのレート制御パラメータ群３２２を決定する。プレシンクトには、プレシンクトの次元および画素値当たりの目標ビットに従って、特定のビットバジェットが与えられる。さらに、プレシンクトのビットバジェットは、いくつかのプレシンクトにわたる平滑化ウィンドウを使用して決定することができる。超短待ち時間動作の場合、平滑化ウィンドウのサイズは厳しく制約され、例えば、１レベルの垂直分解では、３２ラインのビデオデータのエンド・ツー・エンド待ち時間を満たしながら、平滑化ウィンドウに対して４つのプレシンクトのみが利用可能である。ＧＣＬＩ予測モジュール３１５から受信されたＧＣＬＩ符号化コスト３２７は、係数グループビットプレーンの符号化に利用可能な残りのビットバジェットと共に、プレシンクトビットバジェットから差し引かれる。次に、レート制御パラメータ群３２２は、プレシンクトに対するビットバジェットの最大量が使用されるように選択される。レート制御パラメータ群３２２は、２つのパラメータ、「シナリオ」および「リファインメント」パラメータを含む。シナリオ及びリファインメントパラメータは共に、グループ化された係数群３１２の量子化のために使用される。ウェーブレット係数群の切り捨ては、目標ビットバジェットを超えない機構である。「シナリオ」は、すべてのサブバンドについて全体の切り捨て点を設定する。すべてのサブバンドにわたるグローバルな切り捨ては、コース機構を提供する。次に、「リファインメント」レベルによって、より細かい粒度のレート制御が提供される。リファインメントレベルは、「シナリオ」によって示されるものより１ビット下のサブバンドも符号化されるサブバンドの数を指定する。リファインメントレベルは、符号化されるリファインメントビットプレーンの追加のサブバンドに相当する残りのビットバジェットが不十分になるまで、残りのビットバジェットの多くを消費する。
【００７７】
以下の情報は、シナリオおよびリファインメントパラメータを選択するときの符号化コスト群の導出に含まれる。第１に、プレシンクトに対するＧＣＬＩ群の符号化コストが決定され、残りのバジェットは係数グループビットプレーン符号化に利用可能である。ＧＣＬＩ符号化コストは、シナリオパラメータ選択によって影響を受けるが、これはシナリオを上げると、符号化されていないビットプレーンの「フロア」が高くなるからである（図５Ｃを参照してさらに説明する）。すべての有効ビットプレーンがフロアより下にある係数グループについては、ビットプレーンは符号化されない。したがって、係数グループをスキップするシグナリングは、選択されたシナリオによって影響を受ける。次に、各係数グループのビットプレーンのコストが係数グループのＧＣＬＩ値と、係数グループの修正された最大切り捨てラインインデックス（ＧＴＬＩ）値とから決定され、候補シナリオから生じるＧＴＬＩは、オフセットテーブル３３２からの対応するオフセットに従って調整される。レート制御パラメータ群３２２は、量子化器モジュール３２４およびパッカーモジュール３２８に提供され、符号化ビットストリーム１１５に符号化される。
【００７８】
量子化器モジュール３２４は、レート制御パラメータ群３２２（すなわち、サブバンドのリファインメントおよびシナリオ）およびオフセットテーブル３３２に従って、各グループからのウェーブレット係数群を量子化する。サブバンド内の係数群の切り捨て点は、シナリオおよびリファインメントによって設定され、「最大切り捨てラインインデックス」（ＧＴＬＩ）と呼ばれる。ＧＴＬＩは、オフセットテーブル３３２から選択されたオフセットの追加によってさらに修正される。
【００７９】
オフセットテーブル３３２は、１つのオフセットが複数のサブバンドにわたるウェーブレット係数群に適用されるように適用される（水平方向の分解のみが考慮される）。オフセットマップは、固定レベルから、例えばレベルＮからレベル０まで適用される。例えば、レベルＮより上のサブバンドレベルではオフセットは適用されず、次いで、レベルＮのサブバンドについては、係数グループ毎に１つのオフセットが適用され、レベルＮより下のサブバンド（例えば、レベルＭ）では、それぞれのオフセットが２Ｎ−Ｍ係数グループに適用される。例えば、オフセットマップがレベル２（５つのレベルのうちの）で生成される場合、１つのオフセットがレベル２の１つの係数グループに適用され、同じオフセットがレベル０の４つの係数グループに適用される。最終ＧＴＬＩに従って係数群を切り捨てる前に、切り捨てられた係数値が切り捨て前の値により近くなるように、丸めオフセットが適用される。一般に、均一な丸めは、低い複雑さで良好な性能を提供する。最後に、量子化器モジュール３２４は、切り捨てられた係数グループ群３２６をパッカーモジュール３２８に出力する。
【００８０】
エントロピーエンコーダモジュール３１８は、ＧＣＬＩ群デルタ群３１７およびＧＣＬＩ予測モード３１９を受信して符号化する。ＧＣＬＩ値群を予測するためのいくつかのモードが利用可能であり、選択されたモードは、プレシンクト内のすべてのサブバンドにわたってすべての係数グループに適用される。ＧＣＬＩ予測モードの例は、予測子がサブバンド内の左隣接係数グループである水平予測と、予測子が上記隣接係数グループ、すなわち上記プレシンクトからの対応するサブバンド内の係数グループである垂直予測と、を含む。各係数のＧＣＬＩ値が符号化され、予測子が使用されない「生」モードも利用可能である。係数グループの数は、選択されたウェーブレット分解およびプレシンクト次元から既知であるので、ＧＣＬＩ群３１６はＧＣＬＩデルタの一連の単項符号化された大きさを使用して符号化され、ＧＣＬＩデルタの符号のための追加ビットを含む。結果として得られる符号化されたＧＣＬＩデルタ３１７のセットは、単項符号および各値の符号ビットを使用して、符号化されたビットストリーム１１５に書き込まれる。
【００８１】
パッカーモジュール３２８は、各係数グループから符号化されるべきビットプレーンを含むデータを、符号化ビットストリーム１１５にパックする。各係数グループに対して、指示されたＧＣＬＩから修正されたＧＴＬＩまでのビットプレーン群は、符号化ビットストリーム１１５にパックされる。レート制御パラメータ群３２２からのシナリオによって示されるように、修正されたＧＴＬＩがＧＴＬＩを超えて増加された場合、係数ビットプレーンデータのための低減された符号化コストが生じる。レート制御モジュール３２０は既に、低減された符号化コストを考慮に入れており、ビットレートの節約の結果として、リファインメントのために追加のサブバンドを選択するか、またはより高いシナリオを選択することができる。
【００８２】
結果として得られる符号化ビットストリーム１１５は、送信機１１６、通信チャネル１２０、および受信機１３２を介して、受信ビットストリーム１３３としてビデオデコーダ１３４に送信される。得られた符号化ビットストリーム１１５は、非一時的記憶装置１２２に記憶されてもよい。非一時的記憶装置は通信チャネル１２０に加えて、または通信チャネル１２０の代わりに、または通信チャネル１２０の一部として存在することができる。
【００８３】
図４を参照すると、エントロピーデコーダモジュール４１０は、受信ビットストリーム１３３を受信する。最初に、フレームヘッダがモジュール４１０によって復号される。フレームヘッダは、フレーム寸法及び符号化されたプレシンクトサイズを含む項目をシグナリングする。次に、フレームヘッダからプレシンクトが復号される。
【００８４】
各プレシンクトについて、レート制御モジュール３２０によって決定されるシナリオおよびリファインメントは、受信ビットストリーム１３３から復号される。シナリオおよびリファインメントから、プレシンクトの残りの符号化構造を決定することができる。さらに、各プレシンクトについて、オフセット抽出器モジュール４１８は、受信ビットストリーム１３３から、オフセットテーブル３３２に対応するオフセットテーブル４２０を復号または決定する。エントロピー復号モジュール４１０は、デルタＧＣＬＩ値群４１２およびＧＣＬＩ予測モード４１３を復号する。デルタＧＣＬＩ値群４１２およびＧＣＬＩ予測モード４１３は、ＧＣＬＩ再構成器モジュール４１４に出力される。ＧＣＬＩ再構成器モジュール４１４は、受信ビットストリーム１３３から得られたプレシンクトに対するＧＣＬＩ予測モード４１３に従って、ＧＣＬＩ値群４１６を再構成する。各サブバンドが独立したＧＣＬＩ予測モードを有する構成では、別個のＧＣＬＩ予測モードが各サブバンドに対して復号される。次に、各係数グループについて、サブバンドのＧＣＬＩ予測モードに従って予測ＧＣＬＩが決定され、係数グループのＧＣＬＩ値を再構成するためにＧＣＬＩデルタが追加される。
【００８５】
ＧＣＬＩ値群４１６およびオフセットテーブル４２０を使用して、アンパッカーモジュール４２２は、プレシンクト内のサブバンド群の係数グループ群のビットプレーン群を復号係数群４２４として抽出するように動作する。逆量子化器モジュール４２６は、ウェーブレット係数群４２８を生成するために、復号された係数群４２４に対して逆量子化を実行する。逆量子化動作は、復号された係数をウェーブレット係数（合成ウェーブレットフィルタバンクによる使用に適した）に変換するために、適切な逆量子化ステップを適用することを含む。逆量子化ステップは、サブバンドのＧＴＬＩに従って決定され、オフセットテーブル４２０からの対応するオフセットに従ってサブバンド内の各係数グループに対して修正される。以下の式［１］は、オフセットテーブル４２０からのオフセットを含む「ｇｔｌｉ」を用いて、量子化ステップサイズの導出に使用することができる。オフセットテーブルからのオフセットは量子化ステップサイズに影響を及ぼすので、オフセットは「量子化オフセット」とも呼ばれる。
【００８６】
【数１】
0006979075.tif 000002
【００８７】
次に、逆変換モジュール４３０は、合成ウェーブレットフィルタバンクをウェーブレット係数群４２８に適用して、復号ビデオ１３５を生成する。
【００８８】
図５Ａは、ビデオデータのプレシンクト５００に対するウェーブレットサブバンド分解を示す概略ブロック図である。図５Ｂは、ウェーブレット分析フィルタバンク５５０を示す概略ブロック図である。図５Ｂでは、プレシンクトのビデオサンプル群５５２が水平分解のためのレベル０〜５に対応するフィルタ５５３、５５４、５５６、５５８、および５６０などのウェーブレット分析フィルタのセットに供給される。ウェーブレット分析フィルタバンク５５０内の各フィルタは、２組の係数、ローパス係数群（「Ｌ」）およびハイパス係数群（「Ｈ」）を生成する。ローパス係数群Ｌは、フィルタバンク５５０内の次のレベル（すなわち、レベルＮからレベルＮ＋１まで）に渡される。ローパス係数群「Ｌ」は、最終レベル（すなわち、図５Ｂのレベル４）まで、フィルタバンク５５０の次のレベルで「Ｈ」および「Ｌ」セットにさらに分解され、そのレベルで「Ｈ」および「Ｌ」係数の両方が出力される。集合的に、係数のセット群は、サブバンド係数群５７０として出力される。図５Ｂは、５つのレベルの水平分解を示す。したがって、サブバンド係数群５７０は、６つのサブバンドを含む。
【００８９】
垂直分解の１つのレベルは図５Ａに示されるように、係数群の別の２つのサブバンドを追加する。係数の各セットは、セットを生成するために使用されるフィルタのレベルによって識別され、「Ｈ」または「Ｌ」として、別個のサブバンドを形成する。各色成分のサンプル群は、別々のフィルタを使用して処理され、サブバンドの数を３倍にする（すべての色成分にわたって同じ分解構造が使用されると仮定する）。さらに、図５Ｂは、ウェーブレット分解の一次元を示しているが、ビデオデータ上で動作することは一般に、垂直方向および水平方向に分解を実行することを必要とする。次に、各サブバンドは、垂直および水平次元における「Ｈ」および「Ｌ」セットを示す２文字シーケンスとして識別され、その後に分解レベルが続く。図５Ａのサブバンド構成５０２は、ビデオ処理システム１００におけるビデオデータのプレシンクトのためのサブバンド識別を示す。サブバンド構成５０２は、１つのレベルの垂直分解と５つのレベルの水平分解を示し、その結果、色成分に対して８つのサブバンドが得られる。したがって、４：４：４クロマフォーマットを使用して各色成分に対してサブバンド構成５０２を適用する場合、サブバンドの総数は２４である。図５Ａに示されるように、各サブバンドはそこに含まれる係数の数に従ってサイズ決めされ、サブバンド群は、分析フィルタバンク５５０（図５Ｂ）に提供されるサンプル群の空間領域に一致する空間領域を一緒に占めるように示される。１つのレベルの垂直分解から得られる２つのサブバンドは、「ＬＨ０」および「ＨＨ０」として示され、５つのレベルの水平分解から得られる６つのサブバンドは「ＨＬ０」、「ＨＬ１」、「ＨＬ２」、「ＨＬ３」、「ＨＬ４」、および「ＬＬ４」として示される。
【００９０】
図５Ｃは、固定された切り捨て閾値を有する、ビットストリームにおける表現のためのサブバンド係数グループ化を示す。サブバンド５１００の一部は一連のグループ、例えば、図５Ｃのグループ５１０４、５１０６、および５１０８に配列された多数の係数５１０２を含む。複数のグループの各々は、固定数の係数、例えば４つの係数を含む。各係数のバイナリ表現は、示された部分５１００についても示されている。部分５１００についてのビットプレーン５１０のセットも示されている。各係数を符号化するために、ＧＣＬＩ値群が導出される。図５Ｃに見られるように、グループ５１０４、５１０６、および５１０８は、ビットプレーン５、４、および７にそれぞれ有意ビット群をもたらす係数を含む。図５Ｃの例では、水平予測スキームが示されており、その結果、デルタＧＣＬＩ値５１２０および５１２２はそれぞれ−１および＋３である。各グループのＧＣＬＩビットプレーン群の上のビットプレーン群はゼロ値群（ビット群５１１０として示される）のみを含み、符号化されない。ビット群５１１０は、有意ではなく、符号化されていないと言われる。サブバンド内の係数グループ群に対して、特定のＧＴＬＩ閾値５１１４が存在する。ＧＴＬＩ５１１４は、プレシンクト内のすべてのサブバンドに適用されるシナリオ、異なるサブバンド間のビット群の相対的な重み付けを制御するためのサブバンドワイドレベルオフセット、および「リファインメント」パスにサブバンドを含めることによって余分なビットプレーンを符号化する可能性の結果である。
【００９１】
リファインメントパスは、サブバンドのサブセットに対するＧＴＬＩ閾値５１１４の低下をもたらす。サブセットは、リファインメント順序テーブルから導出され、リファインメントは、リファインメント順序テーブル内の最初の０個以上のエントリに適用される。リファインメントパスを使用することは、シナリオ選択メカニズムと比較して、より細かい粒度のレート制御を可能にし、したがって、所与のプレシンクトにおける未使用ビットの量を低減する。さらに、オフセットテーブルからの各係数グループに対するオフセットの適用は、サブバンド内の異なる係数グループに対するＧＴＬＩ閾値５１１４の変動を可能にする。図５Ｃに見られるように、グループ５１０８のＧＴＬＩ閾値は、グループ５１０４および５１０６のＧＴＬＩ閾値に対して１ビットプレーンだけ上げられる。考慮される係数グループに対するＧＴＬＩ閾値より低い係数ビットプレーン、すなわちビット群５１１６は、有意である（ビット群は有用な情報を含む）が符号化されず、したがって失われる。したがって、ビット群５１１２（実線で囲まれたグループ５１０４、５１０６、５１０８のそれぞれのビット）のみが有意であり、符号化される。ビデオ処理システム１００がすべての有効ビットを保持できない（すなわち、シナリオが常にビット０を示すとは限らない）と仮定すると、復号されたビデオデータ（ビデオデータ１３５）の主観的品質に大きく寄与するビット群を割り当てることが好ましい。ＧＴＬＩ閾値５１１４は符号化されるべき有意ビットプレーンを有さない係数グループをもたらし、ＧＣＬＩデルタ値群に影響を及ぼし、係数グループに対してビットプレーンが符号化されない場合には特別な処理を行うことが可能である。したがって、シナリオ選択は、GCLI符号化コストに影響を及ぼす。各サブバンドはまた、適用される独立したサブバンド「利得」を有する可能性がある。サブバンド利得のセットは、重み付けテーブルとして知られている。
【００９２】
サブバンド間のＧＴＬＩ閾値群の重み付けは、「visual」および「psnr」と定義された２つの共通の重み付けを用いて調整することもできる。「psnr」重み付けは、ウェーブレット分解の各レベルで見られる利得の差を補償し、結果として、各係数が均一な影響を有し、したがって、復号されたビットストリームのPSNRを最大にする。「visual」重み付けは、視覚的に重要でないとみなされる他のサブバンドを犠牲にして、視覚的品質に対してより大きな寄与をするとみなされるサブバンドに対してより高い精度を提供する。重み付け方式を使用することの欠点は、サブバンド全体にわたって均一に適用することで、したがってプレシンクト全体にわたって均一に適用されることである。サブバンド内精度を有するＧＴＬＩオフセットマップの決定は、より高い適応度を提供し、プレシンクトのサブバンドの異なる部分における明確に異なるウェーブレット係数統計の存在下で不利なレート制御挙動を軽減する。
【００９３】
ゲインテーブル値（'gain［sb_idx］））とリファインテーブル値（'priority［sb_idx］'）が考慮される。ＧＴＬＩ閾値５１１４は、以下の式［２］に示すように決定される。
【００９４】
【数２】
0006979075.tif 000003
【００９５】
式［２］において、coeff_group_idxは、考慮されるサブバンド内の係数グループを識別し、map_offsetsは、係数グループインデックスをオフセットテーブルインデックスに変換する。所与の分解レベル、例えば、レベル３では、map_offsetsは１：１マッピングであり、次いで、より低い分解レベル、例えば、レベル２では、map_offsetsが２つの係数グループインデックス毎に単一のオフセットテーブルインデックスにマッピングし、以下同様である。次に、offset_tableは、図７のステップ７０６で決定され、図８のステップ８０２で復号されたオフセットテーブルまたはマップである。より高い分解レベル、例えば、レベル４については、オフセットテーブルは使用されず、式［２］のoffset_tableは無視される。map_offsets関係は、考慮されるレベルとオフセットテーブルが生成されたレベルとの間の分解レベルの差に従って、係数グループインデックスをビットシフトすることによって実現される。したがって、map_offsets関係は、明示的なテーブルルックアップを必要としない。このmap_offsets関係は、図７のステップ７０６で生成された単一のオフセットテーブルが複数のレベルのウェーブレット分解にわたって使用されることを可能にする。図５Ｄは、符号化プレシンクト５２０２に対するビットストリーム５２００の分解を示す。符号化プレシンクト５２０２は以下のように、ウェーブレットサブバンド群を符号化するために特定の順序付けおよびグループ化を使用する。各色成分の水平分解サブバンド、すなわちＬＬ４、ＨＬ４、ＨＬ３、ＨＬ２、ＨＬ１、およびＨＬ０は、サブパケット５２０８にグループ化され、垂直分解サブバンド、すなわち各色成分のＬＨ０およびＨＨ０はサブパケット５２１０にグループ化される。したがって、サブパケット５２０８は、１８個のサブバンドの係数データを含み、サブパケット５２１０は、６個のサブバンドの係数データを含む。符号化プレシンクト５２０２にサブバンド係数データを配置する他の方法も可能である。各サブパケット（すなわち、５２０８および５２１０）内では、符号化されたＧＣＬＩデルタ群５２１４および係数データ５２１６が関連するすべてのサブバンドに対して存在する。
【００９６】
符号化プレシンクト５２０２は、符号化レート制御パラメータ群５２０４、符号化オフセットテーブル５２０６、および符号化ＧＣＬＩ群５２０８を含む。レート制御パラメータ群５２０４は、プレシンクト内の複数のサブバンドのシナリオおよびリファインメントを定義する。レート制御パラメータ群５２０４は、符号化オフセットテーブル５２０６と組み合わせて、プレシンクトの各サブバンド内の各係数グループに対するＧＴＬＩが決定されることを可能にする。オフセットテーブル５２０６は、ＧＴＬＩがサブバンド内の係数グループ間で変化することを許容し、その結果、特定の係数グループ群の符号化コストが低減される。次に、符号化ＧＣＬＩ群５２０８を使用して、プレシンクト内の各係数グループの符号化されたビットプレーンの数が決定され、係数データ５２１０として符号化される。レート制御パラメータ群５２０４、符号化ＧＣＬＩ群５２０８、および係数データ５２１０は、符号化プレシンクト５２０２の全体を占有する可能性が低いので、未使用データ部分５２１２も通常存在する。未使用データ部分５２１２のサイズは、適切なレート制御パラメータ群５２０４の選択により、例えば、符号化プレシンクト５２０２のサイズの制約内で達成可能な限り多くのサブバンドをリファインメントのために選択することにより、最小化される。
【００９７】
図６は、ビットストリームの表現６００を示す。表現６００は、可変切り捨て閾値を有する、ビットストリームにおける表現のためのサブバンド係数グループ化を示す。例示的な空間ドメイン６０２は、フレーム内のピクセルデータを表し、いくつかの例示的なテキスト６１４と、いくつかのテクスチャードビデオデータ（たとえば、草または木などのいくつかの自然コンテンツ）など、より細かい詳細６１６を有するいくつかの領域と、を含む。より細かい詳細６１６は、滑らかな領域（例えば、コンテンツに非常に滑らかな変動を有し、したがって、主に低周波数またはより高いサブバンド係数エネルギーを占有する、曇りのない空）ではないので、ウェーブレット領域には、デコーダで高い視覚品質を維持するために保存する価値のあるいくつかの高周波数情報がある。テキスト６１４は、ウェーブレット領域内の複数のサブバンドにわたる大きな係数の大きさを含み、したがって、考慮されるプレシンクトに与えられるビットレートのかなりの部分を消費する。
【００９８】
図６は、LL４ ６０４、LH４ ６０６、LH３ ６０８、LH２ ６１０およびLH１ ６１２の５つのサブバンドを示す。サブバンド６０４、６０６、６０８、６１０、および６１２のそれぞれについて、係数群を係数グループ群に分割するマーキングと共に軸が示されている。サブバンド６０４、６０６、６０８、６１０、および６１２のそれぞれについて、係数の大きさは、係数の大きさがサブバンド全体にわたって変化するように示されている（例示の目的のために、実線が示されているが、実際には各係数が離散的な大きさおよび符号を有し、固定数の係数が各係数グループ内に存在する）。各係数グループは固定数の係数を含み、より高いレベルのウェーブレット分解（例えば、サブバンド６０４、６０６）のためのマーキング間のより広い間隔は、より少ない係数が存在することを反映し、各係数は、より低いレベルのウェーブレット分解（例えば、サブバンド６１０、６１２）と比較して、空間領域６０２においてより大きなサポートを有する。各サブバンドに対して、各係数グループに対するＧＣＬＩの閾値、例えば、サブバンド６１０に対する閾値６２０が示されている。ＧＣＬＩは係数グループ毎に設定されるので、ＧＣＬＩ閾値（例えば、６２０）の変化は、考慮されるサブバンドについての係数グループ境界でのみ生じる（これは図６に示されるサブバンド６０４、６０６、６０８、６１０および６１２の各々について明らか）。さらに、各サブバンドに対して、各係数グループに対するＧＴＬＩの閾値、例えば、サブバンド６１０に対する６２２が示されている。
【００９９】
図６に示すように、ＧＴＬＩ閾値は、サブバンド全体にわたって変化する。ＧＣＬＩ閾値６２０とＧＴＬＩ閾値６２２との間のギャップは、サブバンド内の考慮される係数グループの精度と、ビットプレーン符号化コストと、を示す。図６に見られるように、サブバンド６１０および６１２における一連の係数グループは、適用される正のオフセットを有する。オフセットは、テキスト６１４に空間的に対応する全てのサブバンドにわたる係数にわたる、増加したウェーブレット係数エネルギーと一致する。広い（増加した）スペクトルエネルギーは、関連する係数グループ群に対するＧＣＬＩを上昇させ、したがって、サブバンドにわたる固定されたＧＴＬＩによって、係数グループ群に対する係数群の量子化レベルも上昇させる。量子化レベルを上げると、高エネルギー係数群の精度が低下し、その結果、符号化コストが低下する。符号化コストは、ＧＣＬＩ閾値６２０とＧＴＬＩ閾値６２２との間のギャップとして可視化することができる。オフセットテーブルに正のオフセットを適用することによるサブバンドの部分の符号化コストの低減は、レート制御モジュール３２０がサブバンドにわたる精度の全体的な増加（ＧＴＬＩ閾値６２２の低減）を提供することを可能にする。特に、低エネルギーを有するサブバンドの部分は、より低いＧＴＬＩ閾値の影響を受け、これらの低エネルギー部分における改善された精度をもたらす。低エネルギー部分は、そわなければ失われるか、または破損されるのであろう詳細を含み得るので、低エネルギー部分は視覚的に重要である。
【０１００】
プレシンクト全体の符号化コストはビットバジェットを超えることができないので、係数グループ群のＧＴＬＩ閾値が上昇しない場合、グループの他の係数の下位ビットが符号化され、したがって、他の係数に与えられる精度が低くなる。精度は、他の係数の視覚的品質に対してより大きな寄与をする。例えば、リファインメントパスの対象となるサブバンドをより少なくし、影響を受けるサブバンドのＧＴＬＩ値を上げる必要がある。いくつかの例では、より高いシナリオを選択することが必要であり、すべてのサブバンドについてＧＴＬＩ閾値を上げる。テクスチャ詳細６１６と共存する係数に示されるように、サブバンド、例えばサブバンド６１２に対するＧＴＬＩ閾値を上げることは、詳細６１６と一致する係数の大きさがより小さく、したがって、対応するＧＣＬＩ群がより低く、ビットプレーンの損失が視覚的に相対的により大きな影響を有するので、符号化係数群の精度を実質的に低減する。サブバンド内の不均一なＧＴＬＩオフセットテーブルの適用は、サブバンド全体にわたる係数の精度を均一にするものと見なすことができる。
【０１０１】
図７は、サブバンド内の可変切り捨てオフセットを用いてビットストリームを符号化する方法７００を示す概略フロー図である。方法７００は、メモリ２０６に格納され、プロセッサ２０５の実行によって制御される、アプリケーション２３３の１つまたは複数のモジュール（図３のモジュールなど）として実装することができる。
【０１０２】
方法７００を実行すると、符号化ビットストリーム１１５（図１）は、より高いエネルギーを有するサブバンド群の部分における係数の精度が低下し、その結果、量子化がより厳しくなる。精度の低下は、サブバンド内の他の場所（および他のサブバンド内）の係数群の精度の向上を可能にする。方法７００の実行は、所与の分解レベルでサブバンド内の各係数グループに対するＧＴＬＩ閾値を調整するためのオフセットテーブルを決定するために、発見的手法（heuristic）を適用する。方法７００は、ウェーブレット分析変換ステップ７０２で開始する。
【０１０３】
ウェーブレット分析変換ステップ７０２において、変換モジュール３１０は、プロセッサ２０５の制御下で、ビデオデータのプレシンクトに対する５／３ Le Gallウェーブレット変換などのウェーブレットフィルタまたはウェーブレット変換を適用する。超短待ち時間動作の場合、プレシンクトのサイズは、２本のビデオラインの高さ、およびフレームの全幅に制限される。ステップ７０２は、図５Ａおよび図５Ｂを参照して説明したように、ウェーブレット分解に従って複数のサブバンドにグループ化されたウェーブレット係数のセットを生成するために実行される。モジュール３１４は、ステップ７０２において、各サブバンドの各係数グループに対するＧＣＬＩビットプレーンを決定することによって、GCLI群（ＧＣＬＩ群３１６など）を決定するために実行する。次に、プロセッサ２０５における制御は、方法７００を係数エネルギー検出ステップ７０４に渡す。
【０１０４】
係数エネルギー検出ステップ７０４において、オフセット導出器モジュール３３０は、プロセッサ２０５の制御下で、プレシンクト係数エネルギー表示を生成する。プレシンクト係数エネルギー表示は、プレシンクトを空間的に、概ね等しいサイズのセクション群に分割する。プレシンクトにわたるセクションカウントは、水平ウェーブレット分解の特定レベルＮ、例えばレベル２（分解の５レベルのうちの）における係数グループの数に対応する。各セクションにおいて、局所係数エネルギー表示が導出される。局所係数エネルギー表示は、プレシンクトのいくつかのサブバンド、例えば、レベルＮからレベル０までの係数の大きさを考慮することによって導出される。レベルＮでは、セクション（例えば、セクションi）に対応する単一の係数グループの係数群が考慮される。レベルＮ−１では、セクション２ｉ〜２ｉ＋１に対応する係数グループ群の係数群が考慮され、レベルＮ−２では、セクション４ｉ〜４ｉ＋３に対応する係数グループ群の係数群が考慮され、以下同様である。したがって、所与のセクションのエネルギー表示は、セクションと空間的に重なり合うより低いレベルの分解からのウェーブレット係数群の和によって示されるように、総高周波エネルギーと相関する。５／３ Le Gallウェーブレットのための５つのサンプルのサポートは、セクションの隣接する係数グループ群とのいくらかの追加のオーバーラップを意味するが、これはオフセットテーブル生成の目的のために考慮される必要はない。
【０１０５】
考慮されるサブバンド群は、典型的にはより低い分解レベルであり、したがって、より小さい空間サポートを有する係数群を有する。考慮される係数群は、入力ビデオデータ１１３内の高周波エネルギー（鋭いエッジ）を捕捉する。複数のサブバンドにわたる高エネルギーの集中は、ビデオデータ１１３における空間的に鋭いエッジを示し、その結果、比較的高いＧＣＬＩ値群が得られる。次いで、複数のサブバンドにわたる比較的高いエネルギーのセクションは、高いエネルギーセクションとしてマークされる。比較的低い大きさの係数群を有するセクション、または複数のサブバンドにわたってあまり顕著でないスプリアスエネルギーは、低エネルギーセクションとしてマークされる。プレシンクトを高エネルギーセクションと低エネルギーセクションに分類することにより、オフセットテーブルの生成が可能になる。次に、プロセッサ２０５における制御は、方法７００をサブバンド内オフセットテーブル生成ステップ７０６に進める。
【０１０６】
サブバンド内オフセットテーブル生成ステップ７０６において、オフセット導出器モジュール３３０は、プロセッサ２０５の制御下で、プレシンクトのためのオフセットテーブル（テーブル３３２など）を生成するために実行する。オフセットテーブルは、オフセット群のセット群またはラン群への分類を平滑化することによって、プレシンクトを高エネルギーおよび低エネルギーの領域に分類することから生成される。ステップ７０４からの各セクションは、まず、閾値を適用することによって、局所的に低いエネルギーまたは局所的に高いエネルギーとして分類される。この第１の分類は、主に低エネルギーのセクションのグループにおける高エネルギーセクション群のスプリアス検出が可能であり、その逆も可能であるという意味で、「ノイズの多い」分類をもたらす。より滑らかな分類を生成するために、水平フィルタが適用される。水平フィルタを適用する際に、各セクションの分類は、空間的に隣接するセクションの分類に照らして再評価される（水平方向において、評価はプレシンクトごとに動作するように制限される）。例えば、大多数（５つのうち３つ）フィルタを適用して、分類におけるスプリアス遷移を大幅に除去することができる。フィルタは例えば、一様な係数群を有する５タップＦＩＲフィルタとして実施することができ、その後に閾値演算が続く。大多数フィルタは、断続的な中断を有する高係数エネルギーの領域群、例えば、単語間にある間隔を有するテキストに有用である。
【０１０７】
次に、低エネルギーのセクション群にはゼロ値オフセットが割り当てられ、高エネルギーの領域群には正の整数オフセットが割り当てられる。平滑化関数の適用は、間欠的に高いエネルギーの領域群がオフセット値１を受け取るように、オフセット値がゼロおよび１の値に制約されることをもたらすことができる。さらに、一貫して高いエネルギー分類の領域群は、２のオフセット値を受け取ることができる。例えば、前のフィルタリング規則に加えて、５／５大多数フィルタは、２のオフセットをもたらすことができる。ステップ７０６は、より低い大きさの係数群を有するサブバンドの部分に対してより大きな大きさの係数群を有するサブバンドの部分に与えられる精度を低減するためにオフセットテーブルを生成するように動作する。ＧＣＬＩ予測モジュール３１５は、ステップ７０６の一部として実行して、ＧＣＬＩデルタ値群を決定することができる。ＧＣＬＩ予測モジュール３１５は、各ＧＣＬＩ値を予測するための予測モードを選択する。各係数グループに対して、予測されたＧＣＬＩが例えば、隣接する係数グループから生成される。次に、デルタＧＣＬＩを符号化して、必要なGCLIを生成する。次に、プロセッサ２０５における制御は、方法７００をシナリオ選択ステップ７０８に進める。
【０１０８】
シナリオ選択ステップ７０８において、レート制御モジュール３２０は、プロセッサ２０５の制御下で、プレシンクトを符号化するための「シナリオ」を選択する。シナリオは、そのシナリオがプレシンクトのビットバジェットを超えない係数ビットプレーン符号化の最低ビットプレーンを特定するように、プレシンクト内のすべてのサブバンドに適用可能な基本GTLI閾値を設定する。ステップ７０６のオフセットテーブルの影響は、符号化コストを決定する際に考慮される。次に、プロセッサ２０５における制御は、方法７００をリファインメント選択ステップ７１０に渡す。
【０１０９】
リファインメント選択ステップ７１０において、レート制御モジュール３２０は、プロセッサ２０５の制御下で、プレシンクトを符号化するための「リファインメント」を選択する。リファインメントは、１つの追加のビットプレーンが符号化されるサブバンドの数を指定する整数である。ステップ７０８の後に残っている、ビットバジェットを超えない最大のリファインメントが選択される。サブバンド群の「優先順位リスト」は、サブバンドがリファインメントのために考慮されるべき順序を確立する。所与のリファインメント値に対して、優先順位リスト内の最初のゼロ以上のサブバンドがリファインメントのために選択される。次に、プロセッサ２０５における制御は、方法７００を係数量子化ステップ７１２に渡す。
【０１１０】
係数量子化ステップ７１２において、量子化器モジュール３２４は、プロセッサ２０５の制御下で、量子化閾値に従って係数グループ群３１２を量子化し、切り捨てられた係数グループ群３２６を生成する。各サブバンドの量子化閾値は、シナリオおよびリファインメントから決定される。特定の係数グループに適用される量子化閾値は、オフセットテーブル内の対応するエントリに従ってさらに調整される。量子化閾値を下回るビットプレーンの切り捨てはデータの損失をもたらすので、オフセットが適用されて、均等に分散された丸めが保証される。有効量子化器ステップサイズ（すなわち、量子化閾値の電力の２乗）に対する係数群の統計的分布を考慮に入れるために、非一様丸めを使用して、他のオフセット群も可能である。次に、プロセッサ２０５における制御は、方法７００をオフセットテーブル符号化ステップ７１４に渡す。
【０１１１】
オフセットテーブル符号化ステップ７１４において、エントロピーエンコーダモジュール３１８は、プロセッサ２０５の制御下で、オフセットテーブルを符号化ビットストリーム１１５に符号化する。プレシンクト当たりの固定数の「ｎ」個のセクション、および値０および１に制約されたオフセットテーブルの場合、オフセットテーブルは、ｎビットの固定長シーケンスとして符号化することができる。オフセットテーブルは、比較的長い０または１のラン（または２つ以上のオフセットが許可される場合は他の値）を有する傾向があるため、オフセットテーブルのランレングス符号化を使用することができる。ランレングス符号化は結果として得られる、ビット列が可変長を有するがよりコンパクトな表現をもたらす。次に、プロセッサ２０５における制御は、方法７００を有意ビットプレーン符号化ステップ７１６に渡す。
【０１１２】
有意ビットプレーン符号化ステップ７１６において、パッカーモジュール３２８は、プロセッサ２０５の制御下で、係数データを符号化ビットストリーム１１５に符号化する。各係数グループに対して、オフセットテーブル内の対応するエントリに従って修正された、ＧＣＬＩ値からＧＴＬＩまでのビットプレーンは、符号化ビットストリーム１１５に符号化（または「パック」）される。したがって、複数のサブバンドにまたがり、比較的高いエネルギー（したがって、より高いＧＣＬＩ値群）を含む係数グループ群は、考慮されるサブバンド内の他の係数グループ群に対して切り捨てられた最低ビットプレーンのうちの１つまたは複数を有する。この追加の切り捨ては、ステップ７０８および７１０において、プレシンクトについて全体的により高い品質を選択するために利用された係数グループ群の符号化コストの低減をもたらした。換言すれば、ビット群は、ビット群が視覚品質に対して比較的小さい寄与をするプレシンクトの部分から離れて、ビット群が全体の視覚品質に対して比較的大きい寄与を行うことができるプレシンクトの他の部分に向かって割り当てられている。したがって、混合コンテンツを有するフレームにわたる視覚品質を向上させることができる。その後、方法７００は終了する。
【０１１３】
図８は、サブバンド内の可変切り捨てオフセットを用いてビットストリームを復号する方法８００を示す概略フロー図である。方法８００は、メモリ２０６に格納され、プロセッサ２０５の実行によって制御される、アプリケーション２３３の１つまたは複数のモジュール（図４のモジュールなど）として実装することができる。方法８００は、オフセットテーブル復号ステップ８０２で開始する。
【０１１４】
オフセットテーブル復号ステップ８０２において、エントロピーデコーダモジュール４１０、オフセット抽出器モジュール４１８は、プロセッサ２０５の制御下で、受信したビットストリーム１３３からオフセットテーブルを復号する。オフセットテーブルは、図７のステップ７１４の符号化方法に従って復号される。オフセットテーブルは、考慮されるプレシンクトの１つまたは複数のサブバンド内の各係数グループのＧＴＬＩ閾値群を設定するためのオフセット群のセットを特定する。図７のステップ７０６で導出されたオフセット群のセットは、より高いエネルギーのウェーブレット係数群のセット群の符号化コストを低減し、プレシンクト内の他の場所の係数群に対してより多くのレートを与える。したがって、全体的な視覚品質は、プレシンクトのシナリオ値およびリファインメント値から生じる一定の閾値を使用することに比べて改善される。次に、プロセッサ２０５における制御は、方法８００を係数グループ復号ステップ８０３に渡す。
【０１１５】
ＧＣＬＩ群復号ステップ８０３において、エントロピーデコーダモジュール４１０及びＧＣＬＩ再構成器モジュール４１４は、プロセッサ２０５の制御下で、受信されたビットストリーム１３３からGCLI予測モード及びＧＣＬＩデルタ群を復号し、ＧＣＬＩ値群４１６を生成する。次に、プロセッサ２０５における制御は、方法８００を係数グループ復号ステップ８０４に進める。
【０１１６】
係数グループ復号ステップ８０４において、アンパッカモジュール４２２は、プロセッサ２０５の制御下で、受信ビットストリーム１３３からの係数グループ群からのビットプレーン群を復号（または「アンパック」）して、係数グループのための復号された係数群４２４を生成する。係数グループに対するオフセットテーブルからのオフセットに従って修正された、係数グループに対するＧＣＬＩ値からＧＴＬＩ閾値までの範囲のビットプレーン群は、ビットストリームからアンパックされる。次に、プロセッサ２０５における制御は、方法８００を係数逆量子化ステップ８０６に渡す。
【０１１７】
係数逆量子化ステップ８０６において、逆量子化器モジュール４２６は、プロセッサ２０５の制御下で、各係数グループ内の係数群に対して逆量子化を実行する。逆量子化動作は、サブバンドのGTLI値に従って導出され、考慮される係数グループに対応するオフセットテーブルからのオフセットに従って調整される、（式［１］を参照して説明されるような）逆量子化ステップサイズを有する復号された係数をスケーリングすることを必要とする。ステップ８０４および８０６は一緒に動作して、オフセットテーブルを適用して、サブバンド係数群のグループに対するオフセットに基づいて、各係数に対して読み取るべきビット数を決定することによって、ビットストリームからサブバンドに対するサブバンド係数群のグループを復号する。次に、プロセッサ２０５における制御は、方法８００をウェーブレット合成フィルタステップ８０８に渡す。
【０１１８】
ウェーブレット合成フィルタステップ８０８において、逆変換モジュール４３０は、プロセッサ２０５の制御下で、ウェーブレット解析フィルタバンクにおいて（すなわち、変換モジュール３１０において）行われた分解を逆にするウェーブレット合成フィルタバンクを適用することによって、ウェーブレット係数群４２８を復号ビデオ１３５に変換する。ステップ８０８は、図７のステップ７０２で適用された順方向ウェーブレット変換の逆変換を適用する。ステップ８０８の実行の結果として、考慮されたプレシンクト内の各ピクセルに対するサンプル群が生成され、従って、ビデオデコーダ１３４からの出力のために利用可能である。その後、方法８００は終了する。
【０１１９】
ビデオ処理システム１００のオフセットマップは、サブバンドの最下位符号化ビットプレーンの部分符号化を可能にする。ビットプレーンは、オフセットテーブル内の非ゼロオフセットにマッピングする任意の係数群が（ゼロのオフセット値を有する係数グループに対して符号化される最下位ビットプレーンに対して）符号化されない１つ以上の最下位ビットプレーンを有するという意味で、部分的に符号化される。対照的に、JPEG２０００画像符号化標準は、ビットプレーン符号化を有するが、一般にランレングス符号化または算術符号化のような技術を使用して、ビットプレーンの全体を解析して圧縮を達成する。ビデオ処理システム１００の複雑さが低い性質は、算術符号化の使用を排除する。さらに、係数グループ群における係数群のグループ化は、４ビットのアトミックデータユニットを提供し、例えばFPGAにおける高速実装を容易にする。
【０１２０】
方法７００は、ステップ７０６に関連してオフセットテーブルを導出するための発見的方法を説明し、これは、低複雑度の実施を可能にする。増加した符号化効率が低い複雑さよりも高い優先順位である他のアプリケーションでは、オフセットテーブルがサーチ機能を使用して導出されてもよい。方法７００の構成では、オフセットテーブルが特定のオフセット値群、例えば、０および１を漸進的にテストし、サーチを実行することによって生成される。複雑さの点で禁止的であるフルサーチを実行するのではなく、テーブルを介したプログレッシブサーチを利用することができる。プログレッシブサーチを使用する構成では、各オフセットがテストされると、合成ウェーブレットが実行され、誤差が生成される。生成された誤差を最小化するオフセットが使用され、探索は次のオフセットに進む。
【０１２１】
さらに、ビデオソース１１２は、様々なコンテンツタイプの位置を記述するメタデータが存在する手段によって生成されていてもよい。例えば、デバイスは、テキストを他のコンテンツにオーバーレイすることができる。テキスト領域は、オーバーラップするプレシンクト群の他の場所で必要とされる過度に消費するレートとみなされてもよい。方法７００の構成では、係数エネルギー検出ステップ７０４がメタデータの受信によって増強されるか、または置き換えられる。次に、オフセットテーブルの生成は、過度に高い周波数エネルギーを含むことが知られているコンテンツの領域が存在する正のオフセットを適用することに関する。特定された領域と部分的にまたは完全に重なるウェーブレット係数群は、１のオフセットを受信することができる。あるいは特定された領域と部分的に重なるウェーブレット係数群が１つのオフセットを受信することができ、特定された領域と完全に重なるウェーブレット係数群は２のオフセットを受信することができる。
【０１２２】
方法７００の別の構成では、オフセットマップ導出（例えば、ステップ７０６）は（ウェーブレット係数群３１２に加えて）プレシンクトに与えられる全体のビットレートにも敏感である。オフセットマップ生成がプレシンクトに与えられる全体のビットレートに敏感である構成では、高データレート動作（例えば、８BPPを超えるピクセル当たりのビットレートを有する）のために、オフセットテーブルは完全にゼロオフセット群に向かって部分的にバイアスされる。これらの構成は、豊富な圧縮ビットレートがビットストリームに利用可能である場合に、ウェーブレット係数群の追加された切り捨てを低減する。
【０１２３】
産業上の利用
説明されたこれら構成は、コンピュータおよびデータ処理産業に適用可能であり、特に、低レイテンシ（サブフレーム）ビデオ符号化システムのためのビデオ信号などの信号の復号を符号化するためのデジタル信号処理産業に適用可能である。サブバンド内の係数群の可変量子化を適用することによって、混合コンテンツを有するフレームにわたる視覚品質を改善することができる。記載された方法は、低待ち時間システムにおいて混合コンテンツを有するフレームの視覚コンテンツを改善するために使用され得る。
【０１２４】
上記は本発明のいくつかの実施形態のみを説明しており、本発明の範囲および精神から逸脱することなく、本発明に修正および／または変更を加えることができ、実施形態は例示であり、限定ではない。
【０１２５】
関連出願へのリファレンス
本出願は、２０１７年３月１５日に出願されたオーストラリア国特許出願第２０１７２０１７６０号についての優先権を条約優先権に基づいて請求するものであり、その全ての記載内容の参照により本出願に援用する。
【図１】
0006979075.tif 000004
【図２Ａ】
0006979075.tif 000005
【図２Ｂ】
0006979075.tif 000006
【図３】
0006979075.tif 000007
【図４】
0006979075.tif 000008
【図５Ａ】
0006979075.tif 000009
【図５Ｂ】
0006979075.tif 000010
【図５Ｃ】
0006979075.tif 000011
【図５Ｄ】
0006979075.tif 000012
【図６】
0006979075.tif 000013
【図７】
0006979075.tif 000014
【図８】
0006979075.tif 000015