(57)【要約】  コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリーム復号を最適化する技術が開示される。一の構成において、装置は、コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第１の処理回路を有する。第２の処理回路は、非ＣＡＢＡＣ復号規格を用いて中間信号を復号する。処理速度を向上するために、第１及び第２の処理回路間にバッファーを設ける。
2010538547.tif 000002
【特許請求の範囲】
【請求項１】
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第１の復号器段と、
前記復号順序で前記中間信号をバッファーするように機能するバッファーと、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第２の復号器段と、を具備する装置。
【請求項２】
前記第２の復号器段は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するように機能する請求項１の装置。
【請求項３】
前記第２の復号器段は、前記シンタックス要素の値を再構成するための逆２値化サブモジュールを含む請求項２の装置。
【請求項４】
前記第２の復号器段は、可変長符号化復号器を含む請求項３の装置。
【請求項５】
前記中間信号はビンを含む請求項１の装置。
【請求項６】
前記第１の復号器段と前記第２の復号器段の間に接続され、バイパスモードでは前記第１の復号器段から前記第２の復号器段に前記中間信号を直接的に渡すように機能し、非バイパスモードでは前記中間信号を前記バッファーから第２の復号器段に渡すように機能するスイッチをさらに具備する請求項１の装置。
【請求項７】
前記第１の復号器段のプロセッサ性能を計算するように機能するプロセッサ性能計算器と、
前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するモードコントロールと、をさらに具備する請求項６の装置。
【請求項８】
携帯電話、無線装置、無線通信装置、ビデオゲームコンソール、無線機能を備えた携帯情報端末（ＰＤＡ）、ラップトップコンピューター、又は映像対応デバイスである請求項１の装置。
【請求項９】
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第１の復号器回路と、
前記復号順序で前記中間信号をバッファーするように機能するバッファーと、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第２の復号器回路と、を具備する集積回路。
【請求項１０】
前記第２の復号器回路は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するように機能する請求項９の集積回路。
【請求項１１】
前記第２の復号器回路は、前記シンタックス要素の値を再構成するための逆２値化サブモジュールを含む請求項１０の集積回路。
【請求項１２】
前記第２の復号器回路は、可変長符号化復号器を含む請求項１１の集積回路。
【請求項１３】
前記中間信号はビンを含む請求項９の集積回路。
【請求項１４】
前記第１の復号器回路と前記第２の復号器回路の間に接続され、バイパスモードでは前記第１の復号器回路から前記第２の復号器回路に前記中間信号を直接的に渡すように機能し、非バイパスモードでは前記中間信号を前記バッファーから第２の復号器回路に渡すように機能するスイッチをさらに具備する請求項９の集積回路。
【請求項１５】
前記第１の復号器回路のプロセッサ性能を計算するように機能するプロセッサ性能計算器と、
前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するモードコントロールと、をさらに具備する請求項１４の集積回路。
【請求項１６】
前記集積回路は、  携帯電話、無線装置、無線通信装置、ビデオゲームコンソール、無線機能を備えた携帯情報端末（ＰＤＡ）、ラップトップコンピューター、又は映像対応デバイスの一部である請求項９の集積回路。
【請求項１７】
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するための手段と、
前記復号順序で前記中間信号をバッファーするための手段と、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するための手段と、を具備する集積回路。
【請求項１８】
前記中間信号を復号するための手段は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するための手段を含む請求項１７の集積回路。
【請求項１９】
前記中間信号を復号するための手段は、可変長符号化復号器を含む請求項１８の集積回路。
【請求項２０】
前記中間信号はビンを含む請求項１７の集積回路。
【請求項２１】
バイパスモードでは前記中間信号を前記ＣＡＢＡＣビットストリームを復号するための手段から前記中間信号を復号するための手段に直接渡し、非バイパスモードでは前記中間信号を前記バッファーするための手段から前記中間信号を復号するための手段に渡すためのスイッチ手段をさらに具備する請求項１７の集積回路。
【請求項２２】
前記ＣＡＢＡＣビットストリームを復号するための手段のプロセッサ性能を計算するための手段と、
前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するための手段と、をさらに具備する請求項２１の集積回路。
【請求項２３】
コンピュータに、
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号させ、
前記復号順序で前記中間信号をバッファーするように機能するバッファーさせ、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号させるための命令を有するコンピュータ可読媒体を含むコンピュータプログラム製品。
【請求項２４】
前記中間信号を復号する命令は、前記コンピュータに、前記中間信号からシンタックス要素を再構成させ、該シンタックス要素を復号させるための命令を含む請求項２３のコンピュータプログラム製品。
【請求項２５】
前記中間信号を復号する命令は、前記コンピュータに、可変長符号化スキームに従って前記中間信号を復号させるための命令を含む請求項２４のコンピュータプログラム製品。
【請求項２６】
前記中間信号はビンを含む請求項２３のコンピュータプログラム製品。
【請求項２７】
前記コンピュータに、前記ＣＡＢＡＣビットストリームを復号するプロセッサのプロセッサ性能を計算させ、前記計算されたプロセッサ性能に応じて非バイパスモードとバイパスモードを切り替えさせるための命令をさらに具備し、前記中間信号を復号する命令は、非バイパスモードでは前記バッファされた中間信号を復号し、バイパスモードでは前記中間信号を直接的に復号する命令をさらに具備する請求項２３のコンピュータプログラム製品。
【請求項２８】
第１の処理段により、コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号することと、
前記復号順序で前記中間信号をバッファーすることと、
第２の復号器段により、非ＣＡＢＡＣ復号規格を用いて前記中間信号を映像出力信号に復号することと、を具備する方法。
【請求項２９】
前記中間信号を復号することは、前記中間信号からシンタックス要素を再構成すること、及び該シンタックス要素を復号することを含む請求項２８の方法。
【請求項３０】
前記中間信号を復号することは、可変長符号化復号を含む請求項２９の方法。
【請求項３１】
バイパスモードにおいてバッファリングを選択的にバイパスすることと、
前記バイパスモードにおいて前記第１の処理段から前記第２の処理段に前記中間信号を直接的に渡すこと、とをさらに具備する請求項２８の方法。
【請求項３２】
第１の処理回路のプロセッサ性能を計算することと、
前記計算されたプロセッサ性能に応じて前記選択的なバイパスを制御すること、とをさらに具備する請求項２８の方法。
【発明の詳細な説明】
【関連出願】
【０００１】
本特許出願は、共同譲渡された２００７年８月３１日提出の暫定出願第６０／９６９，５６５号及び２００８年５月２９日提出の暫定出願第６１／０５７，００９号の優先権を主張する。本暫定特許出願は、本明細書で参照することにより、ここに明示的に組込まれる。
【技術分野】
【０００２】
本開示は、一般に映像復号の分野に関し、より具体的には、コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリーム復号を最適化するための技術に関する。
【背景技術】
【０００３】
Ｈ．２６４／ＡＶＣには、ビットストリームを生成するための２つの異なるエントロピー符号化モードがある。ＡＶＣはａｄａｐｔｉｖｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇを意味する。一方の符号化モードはコンテキストベース適応可変長符号化（ＣＡＶＬＣ）であり、もう一方の符号化モードはコンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）である。ＣＡＶＬＣは、他の可変長符号化（ＶＬＣ）スキームと類似している。各シンタックス要素は、１つ又は複数の整数ビットから復号される。
【０００４】
ＣＡＢＡＣは、シンタックス要素を大変異なるやり方で復号する。各シンタックス要素は、概念的には２つのステップで復号することができる。第１のステップにおいて、ＣＡＢＡＣは適応バイナリ算術復号器を用いて１つ又は複数のバイナリシンボルを復号する。第２のステップにおいて、シンタックス要素の値を再構成するために逆２値化処理が行なわれ、この値は、映像復号器の残りの復号ステップにおいて用いられる。バイパスフラグ及びコンテキストインデックスに応じて、バイナリシンボルは、適応バイナリ算術符号器において定義された、３つの異なる復号処理すなわちＤｅｃｏｄｅＤｅｃｉｓｉｏｎ、ＤｅｃｏｄｅＢｙｐａｓｓ及びＤｅｃｏｄｅＴｅｒｍｉｎａｔｅのいずれかを用いて復号される。
【０００５】
ＤｅｃｏｄｅＤｅｃｉｓｉｏｎでは、ビットストリームから既に復号された情報に則してバイナリシンボルが復号される。また、同じカテゴリーの次のバイナリシンボルを復号する確率モデルが、今しがた復号されたバイナリシンボルの値に基づいて更新される。ＤｅｃｏｄｅＢｙｐａｓｓでは、シンボルは、既に復号された他の情報を参照することなく復号される。シンボルが復号された後にコンテキストモデルを維持する必要性はない。ＤｅｃｏｄｅＴｅｒｍｉｎａｔｅは、ある値のシンボルの復号はわずかなビット量しか消費しないが別の値のシンボルの復号はかなり多くのビットを消費するように処理が定義されるという点を除き、ＤｅｃｏｄｅＢｙｐａｓｓと同様である。
【０００６】
シンボルの復号は、特に処理ＤｅｃｏｄｅＤｅｃｉｓｉｏｎを用いる場合、いくつもの連続的な演算ステップを要することから、ＣＡＢＡＣ復号処理の全体を高速化するのは極めて難しい。これは高解像度（ＨＤ）映像復号器を実装する際の課題であった。一部の圧縮されたフレームは大き過ぎるのである。ＣＡＢＡＣ復号器は、他の復号段より終了にかなり多くの時間がかかる場合がある。したがって、復号器の全体性能は影響を及ぼす。
【０００７】
符号化処理は復号処理とは逆のものである。ＣＡＢＡＣ符号器は、二値化を行なって各シンタックス要素を１つ又は数個のバイナリシンボルに変換する。各バイナリシンボルは、３つのバイナリ算術符号化処理すなわち、ＤｅｃｏｄｅＤｅｃｉｓｉｏｎ、ＤｅｃｏｄｅＢｙｐａｓｓ、ＤｅｃｏｄｅＴｅｒｍｉｎａｔｅにそれぞれ対応するＥｎｃｏｄｅＤｅｃｉｓｉｏｎ、ＥｎｃｏｄｅＢｙｐａｓｓ、ＥｎｃｏｄｅＴｅｒｍｉｎａｔｅのうちのいずれかを用いて符号化される。
【０００８】
以上述べられた問題への１つのアプローチは、第１の段においてＣＡＢＡＣビットストリームをＣＡＢＡＣなしのビットストリームにトランスコードし、この非ＣＡＢＡＣビットストリームの復号及び第２の段の他の処理ステップを行なうことである。一般に、これら２つの段の間にはバッファリングが必要である。通常、第１の段の動作は、ＣＡＢＡＣビットストリームからのシンタックス要素の値の復号と、ＶＬＣ符号器のようにＨ．２６４  ＣＡＶＬＣ又はＭＰＥＧ−２のような別のエントロピー符号化スキームを用いてシンタックス要素を再符号化することを含んでいる。
【０００９】
このトランスコーディングアプローチに関する１つの問題は、トランスコーディング動作に関連した複雑さである。本質的に、別のＶＬＣ符号器及びＶＬＣ復号器のオーバーヘッドを持つ完全なＣＡＢＡＣ復号器を実装する必要がある。また、ＶＬＣ符号器の圧縮効率では、さらなるトラフィックを満足に最小化することはできない。
【００１０】
従って、コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリーム復号を最適化する技術の継続的な必要性がある。
【発明の概要】
【００１１】
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリーム復号を最適化する技術が提供される。一の構成において、  コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第１の復号器段を具備する装置が提供される。この装置は、前記復号順序で前記中間信号をバッファーするように機能するバッファーと、非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第２の復号器段と、をさらに含む。
【００１２】
別の態様において、コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第１の復号器回路、を具備する集積回路が提供される。該集積回路は、前記復号順序で前記中間信号をバッファーするように機能するバッファーをさらに含む。第２の復号器回路は、非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する。
【００１３】
さらに別の態様では、コンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータに、コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号させるための命令を含む。該製品は、コンピュータに、前記復号順序で前記中間信号をバッファーさせ、非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号させるための命令を含む。
【００１４】
さらなる態様が、特に添付の図面とともに理解する場合、詳細な説明から即座に明白になる。
【図面の簡単な説明】
【００１５】
開示の態様及び構成は、図面（参照文字等が全体にわたって対応する要素を識別する）と共に理解する場合、以下で述べられた詳細な説明から明白になる。
【図１】図１は、無線デバイスの一般的なブロック図を示す。
【図２Ａ】図２Ａは、例示のＨ．２６４規格レンジレジスタを示す。
【図２Ｂ】図２Ｂは、例示のＨ．２６４規格オフセットレジスタを示す。
【図２Ｃ】図２Ｃは、例示のＨ．２６４規格ＭＰＳのケースを示す。
【図２Ｄ】図２Ｄは、例示のＨ．２６４規格ＬＰＳのケースを示す。
【図３】図３は、１つのビンのＨ．２６４規格算術復号処理の（ｐｓｕｅｄｏｃｏｄｅ）命令セット例を示す。
【図４】図４は、Ｈ．２６４規格リノーマリゼーション処理のフローチャートを示す。
【図５】図５は、Ｈ．２６４規格通常復号モード処理（ＤｅｃｏｄｅＤｅｃｉｓｉｏｎ）のフローチャートを示す。
【図６】図６は、Ｈ．２６４規格バイパス復号モード処理（ＤｅｃｏｄｅＢｙｐａｓｓ）のフローチャートを示す。
【図７】図７は、Ｈ．２６４規格終了復号モード処理（ＤｅｃｏｄｅＴｅｒｍｉｎｔｅ）のフローチャートを示す。
【図８】図８は、ＣＡＢＡＣビットストリームの多段復号を行なうプロセッサの一般的なブロック図を示す。
【図９】図９は、ＣＡＢＡＣビットストリーム多段復号処理のフローチャートを示す。
【図１０】図１０は、バイパスモード付き多段ＣＡＢＡＣ復号器エンジンの一般的なブロック図を示す。
【図１１】図１１は、バイパスモード付きＣＡＢＡＣビットストリーム多段復号処理のフローチャートを示す。
【００１６】
図面における画像は、説明の目的のために単純化されており、原寸に比例していない。理解を容易化するために可能であれば、各図において共通する同一の要素を指定する際に、（特に要素の区別にサフィックスが付与される場合を除き）同一の参照数字を用いている。
【００１７】
添付の図面は、この発明の例示的構成を示したものである。そういうものとして、他の同等に有効な構成を認めてもよいとするこの発明の範囲を限定するものと見なされるべきではない。一の構成の特徴又はステップは、追加的な詳述のない他の構成に効果的に組込まれてもよいことが意図される。
【発明を実施するための形態】
【００１８】
本明細書において「例示の」という語は「例、事例、又は実例として役立つ」ことを意味するよう用いられる。「例示の」と本明細書で説明された任意の構成又は構造は、他の構成又は構造に対して好ましい、又は有利であるとは必ずしも解釈されない。また用語「コア」、「エンジン」、「マシン」、「プロセッサ」及び「処理ユニット」は、しばしば区別なく用いられる。
【００１９】
映像信号は一連のピクチャー、フレーム及び／又はフィールドに関して特徴づけられてもよく、これらのいずれかは１つ又は複数のスライスをさらに含んでもよい。本明細書で用いられるように、用語「フレーム」は、１つ又は複数のフレーム、フィールド、ピクチャー及び／又はスライスを包含しうる広い用語である。
【００２０】
実施形態は、マルチメディア伝送システムにおけるチャネル切替えを容易化するシステム及び方法を含んでいる。マルチメディアデータは、１つ又は複数の動画ビデオ、音声、静止画像、テキスト又は任意の他の適合する型のオーディオビジュアルデータを含んでいてもよい。
【００２１】
映像符号器のようなマルチメディア処理システムは、あらゆる目的のために参照することにより本明細書に全面的に組み込まれるＭｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）−１、−２及び−４規格、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ（ＩＴＵ）−Ｔ  Ｈ．２６３規格、ＩＴＵ−Ｔ  Ｈ．２６４規格及びその相当物、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４、Ｐａｒｔ  １０、すなわちＡｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）のような国際規格に基づく符号化方法を用いてマルチメディアデータを符号化してもよい。上記符号化ひいては復号方法は、一般に、伝送及び／又は記憶のためにマルチメディアデータを圧縮することを対象とする。概して圧縮は、マルチメディアデータから冗長度を取り除く処理であると考えることができる。
【００２２】
映像信号は、フレーム（全体像）又はフィールド（例えば、インターレース方式の映像ストリームは画像の奇数又は偶数ラインを交互にするフィールドを具備する）を含む一連の画像という観点で説明することができる。さらに、フレーム又はフィールドそれぞれは、２以上のスライス、又はフレーム又はフィールドのサブ部分をさらに含んでもよい。
【００２３】
映像符号器のようなマルチメディアプロセッサは、フレームをピクセルのサブセットに分割することにより符号化してもよい。これらピクセルのサブセットは、ブロック又はマクロブロックと呼ばれ、例えば１６ｘ１６ピクセルを含んでいてもよい。この符号器は、各１６ｘ１６マクロブロックをさらにサブブロックに分割してもよい。各サブブロックは、さらなるサブブロックを備えてもよい。例えば、１６ｘ１６マクロブロックのサブブロックが、１６ｘ８及び８ｘ１６のサブブロックを含んでいてもよい。１６ｘ８及び８ｘ１６のサブブロックの各々は、例えば、それら自体が例えば４ｘ４、４ｘ２、２ｘ４サブブロックなどを含む８ｘ８サブブロックを含んでいてもよい。本明細書で用いられるように、用語「ブロック」は、マクロブロック又は任意のサイズのサブブロックのいずれかを指しても良い。
【００２４】
本明細書で説明される技術は、無線通信、コンピューティング、パーソナル電子機器等に用いられてもよい。無線通信技術に関して、例示的利用を以下に述べる。通信システム又はネットワークは、イーサネット（登録商標）、電話（例えばＰＯＴＳ）、ケーブル、電力線、光ファイバーシステム、及び／又は符号分割多重アクセス（ＣＤＭＡ又はＣＤＭＡ２０００）通信システム、周波数分割多重アクセス（ＦＤＭＡ）システム、直交周波数分割多重（ＯＦＤＭ）アクセスシステム、ＧＳＭ／ＧＰＲＳ（Ｇｅｎｅｒａｌ  ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ）／ＥＤＧＥ（ｅｎｈａｎｃｅｄ  ｄａｔａ  ＧＳＭ  ｅｎｖｉｒｏｎｍｅｎｔ））のような時分割多重アクセス（ＴＤＭＡ）システム、ＴＥＴＲＡ（Ｔｅｒｒｅｓｔｒｉａｌ  Ｔｒｕｎｋｅｄ  Ｒａｄｉｏ）携帯電話システム、広帯域符号分割多重アクセス（ＷＣＤＭＡ）システム、高データレート（１ｘＥＶ−ＤＯ又は１ｘＥＶ−ＤＯ  Ｇｏｌｄ  Ｍｕｌｔｉｃａｓｔ）システム、ＩＥＥＥ８０２．１１システム、ＭｅｄｉａＦＬＯシステム、ＤＭＢシステム、ＤＶＢ−Ｈシステム等の１つ以上を具備する無線システムを含む、有線の又は無線の通信システムの１つ以上を具備してもよい。
【００２５】
図１は、無線通信システム又はネットワークにおける無線デバイス１０の構成のブロック図を示す。無線デバイス１０は、セルラー又はカメラ付き携帯電話機、端末、ハンドセット、携帯情報端末（ＰＤＡ）又は他の何らかのデバイスであってもよい。無線通信システムは、符号分割多重アクセス（ＣＤＭＡ）システム、グローバル移動体通信システム（ＧＳＭ）システム又は他の何らかのシステムであってもよい。ハンドセットは、携帯電話機、無線デバイス、無線通信デバイス、ビデオゲームコンソール、無線機能を備えた携帯情報端末（ＰＤＡ）、ラップトップコンピューター又は映像対応デバイスであってもよい。
【００２６】
無線デバイス１０は、受信パス及び送信パスを通じて双方向通信を提供することが可能である。受信パスにおいては、基地局によって送信された信号が、アンテナ１２によって受け取られ、受信機（ＲＣＶＲ）１４に提供される。受信機１４は、受信信号を整えてディジタル化し、さらなる処理のためにデジタル部２０に対しサンプルを供給する。送信パスについて、送信機（ＴＭＴＲ）１６は、デジタル部２０から送信されるデータを受け取り、該データを処理して整え、変調された信号を生成する。それは、アンテナ１２を通じて基地局に送信される。
【００２７】
デジタル部２０は、例えばモデムプロセッサ２２、映像プロセッサ２４、コントローラ／プロセッサ２６、表示プロセッサ２８、ＡＲＭ／ＤＳＰ３２、グラフィック処理ユニット（ＧＰＵ）３４、内部メモリ３６、外部バスインタフェース（ＥＢＩ）３８のような各種処理ユニット、インタフェースユニット、メモリユニットを含む。モデムプロセッサ２２は、データ送受信のための処理（例えば符号化、変調、復調及び復号）を実行する。映像プロセッサ２４は、カムコーダー、ビデオプレイバック、ビデオコンファレンシングのような映像アプリケーションに関して、映像コンテンツ（例えば静止画像、動画像、動画テキスト）の処理を実行する。コントローラ／プロセッサ２６は、デジタル部２０内の各種処理及びインタフェースユニットの演算を指令してもよい。表示プロセッサ２８は、表示ユニット３０上でのビデオ、グラフィックス及びテキストの表示を容易化するための処理を実行する。ＡＲＭ／ＤＳＰ３２は、無線デバイス１０向けに種々のタイプの処理を実行してもよい。グラフィック処理ユニット３４は、グラフィック処理を行なう。
【００２８】
本明細書で説明される技術は、デジタル部２０におけるいずれかのプロセッサ、例えば映像プロセッサ２４に利用してもよい。内部メモリ３６は、デジタル部２０内の種々のユニットに対するデータ及び／又は命令を格納する。ＥＢＩ３８は、データラインＤＬに沿ってデジタル部２０（例えば内部メモリ３６）と主メモリ４０の間のデータ転送を容易化する。
【００２９】
デジタル部２０は、１つ又は複数のＤＳＰ、マイクロプロセッサ、ＲＩＳＣなどで実装されてもよい。またデジタル部２０は、１つ又は複数の特定用途向け集積回路（ＡＳＩＣ）又は他の何らかのタイプの集積回路（ＩＣ）上に作られてもよい。
【００３０】
本明細書で説明される技術は、種々のハードウェアユニットに実装されてもよい。
【００３１】
本明細書で開示された例に関して説明された様々な例示的な論理ブロック、コンポーネント、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能なゲートアレイ信号（ＦＰＧＡ）又はその他のプログラム可能な論理素子、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは本明細書で説明される機能を実行するように設計されたそれらの任意の組合せを用いて実装又は実行され得る。汎用プロセッサはマイクロプロセッサであってよいが、代替案では、プロセッサは任意の通常のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であってもよい。プロセッサは、コンピューティング装置の組合せ（例えば、ＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと共に１つ又は複数のマイクロプロセッサ、又は任意の別のそのような構成）として実装されてもよい。またプロセッサは、ＲＩＳＣ、ＡＲＭ、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブルロジックデバイス（ＰＬＤ）を含んでもよい。
【００３２】
本明細書で開示される例に関して説明される処理又はアルゴリズムのブロックは、ハードウェアで直接的に実施されてもよく、１つ又は複数の処理要素によって実行される１つ又は複数のソフトウェアモジュールで実施されてもよく、又はそれら２つの組合せで実施されてもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、又は当技術分野において知られている記憶媒体の任意の他の形式又は組合せにおいて存在し得る。実例の記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことが可能であるようにプロセッサに結合される。代替案では、記憶媒体はプロセッサに統合されてもよい。プロセッサ及び記憶媒体は特定用途向け集積回路（ＡＳＩＣ）内に存在してもよい。ＡＳＩＣは無線モデム内に存在してもよい。代替案では、プロセッサ及び記憶媒体は無線モデムにおける個別部品として存在してもよい。
【００３３】
図２Ａ−図２Ｄ及び図３−図７は、下記で述べるように、例えばＣＡＢＡＣビットストリームの復号のためのＨ．２６４規格に関する。図２Ａ−図２Ｄ及び図３−図７は、図８−図１１の構成に適用することのできる、Ｈ．２６４規格によって定義された総括的な原理を開示する。
【００３４】
図２Ａは例示のＨ．２６４規格レンジレジスタ５０を示し、図２Ｂは例示のＨ．２６４規格オフセットレジスタ６０を示す。バイナリ算術符号化処理の根本概念は再帰的な区間分割である。算術復号エンジンコアは２つのレジスタを保持する。第１のレジスタは９ビットのレンジレジスタ５０である。第２のレジスタは、通常モードでは９ビット、バイパスモードでは１０ビットのオフセットレジスタ６０である。
【００３５】
図２Ｃは、例示のＨ．２６４規格ｍｏｓｔ  ｐｒｏｂａｂｉｌｉｔｙ  ｓｙｍｂｏｌ（ＭＰＳ）のケースを示し、図２Ｄは、例示のＨ．２６４規格ｌｅａｓｔ  ｐｒｏｂａｂｉｌｉｔｙ  ｓｙｍｂｏｌ（ＬＰＳ）のケースを示す。レンジレジスタ５０は、現区間の、部分区間ｒＬＰＳ５２及び部分区間ｒＭＰＳ５４の総距離によって示される幅を記録する。オフセット（ｏｆｆｓｅｔ）は、レンジ（ｒａｎｇｅ）内の、ビットストリームからの現ロケーション点である。以下で述べる式及び表現の多くは、Ｃ又はＣ＋＋コンピュータプログラミング言語と同様のシンタックスを用いることに留意されたい。該表現は、説明を目的としたものであり、異なるシンタックスを持つ他のコンピュータプログラミング言語で表現することができる。
【００３６】
ビン（ｂｉｎ）を復号する場合、ｒａｎｇｅは、特定のビンを復号するためのコンテキストに依存して、２つの部分区間ｒＬＰＳ５２及びｒＭＰＳ５４に分割される。ビンとは、ＣＡＢＡＣ復号された規格フォーマットのことである。以下の説明から分かるように、復号される場合、ビンはバイナリシンボルである。部分区間ｒＬＰＳ５２及びｒＭＰＳ５４は、式Ｅｑｓ（１）及び（２）によって定義される。
【００３７】
ｒＬＰＳ＝ｒａｎｇｅ＊ｐＬＰＳ  （１）
ｒＭＰＳ＝ｒａｎｇｅ＊ｐＭＰＳ＝ｒａｎｇｅ＊（１−ｐＬＰＳ）＝ｒａｎｇｅ−ｒＬＰＳ  （２）
ここで、ｐＬＰＳは最小確率シンボル（ｌｅａｓｔ  ｐｒｏｂａｂｉｌｉｔｙ  ｓｙｍｂｏｌ）の確率、ｐＭＰＳは最大確率シンボル（ｍｏｓｔ  ｐｒｏｂａｂｉｌｉｔｙ  ｓｙｍｂｏｌ）の確率である。ｏｆｆｓｅｔが収まる部分区間ｒＬＰＳ５２及びｒＭＰＳ５４は、ビンがＭＰＳビンであるかＬＰＳビンであるかを決める。ｏｆｆｓｅｔが＞＝ｒＭＰＳである場合、そのビンはＬＰＳビンである。そうでなければ、そのビンはＭＰＳビンである。ビンが決定された後、ｒａｎｇｅとｏｆｆｓｅｔが更新される。用語ｐＭＰＳとは、確率のことである。この確率は０から１の範囲内とするべきである。用語ｒＭＰＳとは、ｒａｎｇｅ＊ｐＭＰＳのことである。ＭＰＳとＬＰＳの確率の合計は１に等しくするべきである。
【００３８】
下記の種々の構成において、フローチャートのブロックは、示された順に行なわれるか、これらのブロック又はその一部が同時に、並列に、又は異なる順序で行なわれてもよい。
【００３９】
図３は、１つのビンのＨ．２６４規格算術復号処理１００の（ｐｓｕｅｄｏｃｏｄｅ）命令セット例を示す。この命令セットは、レンジレジスタ５０及びオフセットレジスタ６０の両方が９ビットであることを示す。レンジレジスタ５０の構成も示される。該命令セットは、ｒａｎｇｅが２８＜＝ｒａｎｇｅ＜２９の範囲内にあることを示す。この算術復号処理１００は略記したものであって、ｒａｎｇｅが＞ｏｆｆｓｅｔ  ＞＝０かどうかの判定がなされたところの命令で始まる。この判定が「Ｎｏ」である場合、処理１００は終了する。一方、この判定が「Ｙｅｓ」である場合、次の命令セットはｉｆ−ｅｌｓｅセットである。このｉｆステートメントは、ｏｆｆｓｅｔが＞＝ｒＭＰＳかどうかをチェックする。この判定が「Ｙｅｓ」となるのは、ビンがＬＰＳの場合である。その結果、ｒａｎｇｅは、部分区間ｒＬＰＳ（図２Ｄ）と等しい新規のｒａｎｇｅ（ｒａｎｇｅ＿ｎｅｗ）に更新される。また、新規のｏｆｆｓｅｔ（ｏｆｆｓｅｔ＿ｎｅｗ）はｏｆｆｓｅｔ−ｒＭＰＳと等しくセットされる。
【００４０】
ｉｆ条件が「Ｎｏ」となるのは、ビンがＭＰＳの場合である。その結果、ｒａｎｇｅは、部分区間ｒＭＰＳと等しい新規のｒａｎｇｅ（ｒａｎｇｅ＿ｎｅｗ）に更新される。また、新規のｏｆｆｓｅｔ（ｏｆｆｓｅｔ＿ｎｅｗ）はｏｆｆｓｅｔ−ｒＭＰＳと等しくセットされる。
【００４１】
図４は、Ｈ．２６４規格リノーマリゼーション処理１５０のフローチャートを示す。１つのビンを復号した後に、ｒａｎｇｅとｏｆｆｓｅｔは次のビンを復号するための精度（ｐｒｅｃｉｓｉｏｎ）を維持するためにリノーマライズされる。規格ノーマリゼーション処理１５０は、図２Ａに示されるように、９ビットのレンジレジスタ５０の最上位ビット（ＭＳＢ）が常に１であることを保証する。規格ノーマリゼーション処理１５０は、ｒａｎｇｅが＜０Ｘ１００かどうかを判定するブロック１５２から始まる。このブロック１５２では、ｒａｎｇｅの値を２５６（あるいは０ｘ１００）と比較する。この判定が「Ｎｏ」である場合、処理１５０は終了する。一方、ブロック１５２のこの判定が「Ｙｅｓ」である場合、このブロック１５２にブロック１５４が続く。ブロック１５４では、ｒａｎｇｅは、ｒａｎｇｅ＝ｒａｎｇｅ＜＜１で示されるように１ビット左シフトされる。同様に、ｏｆｆｓｅｔはｏｆｆｓｅｔ＝ｏｆｆｓｅｔ＜＜１によって示されるように１ビット左シフトされる。また、該ｏｆｆｓｅｔは、ｏｆｆｓｅｔ  （ｂｉｔｗｉｓｅ  ＯＲ）  ｒｅａｄ＿ｂｉｔｓ（１）に設定される。表現ｏｆｆｓｅｔ  （ｂｉｔｗｉｓｅ  ＯＲ）  ｒｅａｄ＿ｂｉｔｓ（１）は、１ビット左シフトされたＲＡＮＧＥ／ＯＦＦＳＥＴレジスタの値を表す。このシフトの後、最下位（最右）ビットは０である。表現ｒｅａｄ＿ｂｉｔｓ（１）は、ビットストリームから１ビットを読出す。この１ビットは、オフセットレジスタ６０の最下位（最右）ビットに加えられる。
【００４２】
ブロック１５４は、上述したブロック１５２にループバックする。このブロック１５２及び１５４のループは、ブロック１５２の判定が「Ｎｏ」（リノーマリゼーション処理１５０完了）となるまで繰り返される。
【００４３】
図５は、Ｈ．２６４規格通常復号モード処理２００のフローチャートを示す。規格復号処理２００では、乗算を回避するため、式Ｅｑ（１）において述べたｒＬＰＳに近似するための６４ｘ４ルックアップテーブル（ＬＵＴ）が用いられる。ｒａｎｇｅは、４個のセルへの９ビットのレンジレジスタ５０の等しい分割に近似される。ｐＬＰＳは、６ビットのコンテキストステート（ｃｏｎｔｅｘｔ  ｓｔａｔｅ）によってインデックスされた６４個の量子化値に近似される。従って、ブロック２０２では、式Ｅｑ（３）に従ってｒＬＰＳが計算される。
【００４４】
ｒＬＰＳ＝ｌｕｔＬＰＳ［ｃｔｘＩｄｘ−＞ｓｔａｔｅ］［（ｒａｎｇｅ＞＞６）＆３］  （３）
但し、ｃｔｘＩｄｘは処理２００への入力であって、コンテキストステートへのインデックスを表わし、ステート情報を提供する。ｒａｎｇｅ＞＞６は、６ビットの右シフト又は２６による除算を表わす。（ｒａｎｇｅ＞＞６）＆３の結果として、ＬＵＴをアドレスするために用いられるレンジレジスタ５０におけるビット７−６（ＭＳＢ以後２ビット）が得られる。表現ｃｔｘＩｄｘ−＞ｓｔａｔｅは、ｒＬＰＳを取得するために６４ｘ４ＬＵＴにおいて用いられる０から６３の値を取ることができる。例えば、ｒａｎｇｅが０ｂ１  ｘｘ  ｙｙ  ｙｙｙｙならば、このｒａｎｇｅは０ｘ１００から０ｘ１ＦＥの範囲内にあって、該ｒａｎｇｅの「ｘｘ」を得るために（ｒａｎｇｅ＞＞６）＆３が用いられる。表現＆は、ビットワイズＡＮＤ関数である。
【００４５】
ブロック２０２では、式Ｅｑ（４）に従ってｒＭＰＳも計算される。
【００４６】
ｒＭＰＳ＝ｒａｎｇｅ−ｒＬＰＳ  （４）
但し、ｒＬＰＳは式Ｅｑ（３）で計算される。
【００４７】
ブロック２０２にブロック２０４が続き、ここでは、ｏｆｆｓｅｔ＞＝ｒＭＰＳかどうかの判定がなされる。この判定が「Ｙｅｓ」である場合、ブロック２０４にブロック２０６が続き、ここでは、ｂｉｎ、ｒａｎｇｅ及びｏｆｆｓｅｔが式Ｅｑ（５）、（６）及び（７）に従って計算される。
【００４８】
ｂｉｎ＝！ｃｔｘＩｄｘ−＞ｖａｌＭＰＳ  （５）
ｒａｎｇｅ＝ｒＬＰＳ  （６）
ｏｆｆｓｅｔ＝ｏｆｆｓｅｔ−ｒＭＰＳ  （７）
但し、！ｃｔｘＩｄｘ−＞ｖａｌＭＰＳは、ｃｔｘＩｄｘ−＞ｖａｌＭＰＳが値０又は１をとることができ、「！」はビットフリップを意味する、という表現を示したものである。ｃｔｘＩｄｘというタームは、関数への入力パラメーターであって、ステート及びｖａｌＭＰＳ情報を提供する。ｖａｌＭＰＳというタームは、ＭＰＳの場合のビン出力を表わす。
【００４９】
ブロック２０６にブロック２０８が続き、ここではｃｔｘＩｄｘ−＞ｓｔａｔｅが０に等しいかどうかの判定がなされる。このブロック２０８での判定が「Ｙｅｓ」である場合、ブロック２０８にブロック２１０が続き、ここでは、ｃｔｘＩｄｘ−＞ｖａｌＭＰＳに！ｃｔｘＩｄｘ−＞ｖａｌＭＰＳが代入される。ブロック２１２がブロック２１０に続く。また、ブロック２０８の判定が「Ｎｏ」である場合、ブロック２０８にブロック２１２が続く。ブロック２１２では、ｃｔｘＩｄｘ−＞ｓｔａｔｅにはＴｒａｎｓＩｎｄｅｘＬＰＳ（ｃｔｘＩＤｘ−＞ｓｔａｔｅ）が代入される。ｂｉｎがそれぞれ復号された後、各ｃｔｘＩｄｘに関連するｓｔａｔｅ／ｖａｌＭＰＳを更新する必要がある。タームＴｒａｎｓＩｎｄｅｘＬＰＳ／ＴｒａｎｓＩｎｄｅｘＭＰＳは、状態遷移を計算するためにＨ．２６４規格において定義された公正な２つのＬＵＴである。
【００５０】
ブロック２０４に戻り、該ブロック２０４の判定が「Ｎｏ」である場合、該ブロック２０４にブロック２１４が続き、ここでは、ｂｉｎとｒａｎｇｅが式Ｅｑ（８）及び（９）に従って計算される。
【００５１】
ｂｉｎ＝ｃｔｘＩｄｘ−＞ｖａｌＭＰＳ  （８）  
ｒａｎｇｅ＝ｒＭＰＳ  （９）
ブロック２１６がブロック２１４に続き、ここでは、ｃｔｘＩｄｘ−＞ｓｔａｔｅにはＴｒａｎｓＩｎｄｅｘＬＰＳ（ｃｔｘＩＤｘ−＞ｓｔａｔｅ）が代入される。ブロック２１２及び２１６は、いずれもブロック２１８に進み、ここではリノーマリゼーション処理１５０が行われる。ブロック２１８は処理２００を終了させる。
【００５２】
図６は、Ｈ．２６４規格バイパス復号モード処理２５０の大まかなフローチャートを示す。バイパス復号モード処理２５０のために。Ｈ．２６４規格バイパス復号モード処理２５０では、ｏｆｆｓｅｔを１ビット左シフトし、１ビットをビットストリームから読出す。この新規のオフセットをｒａｎｇｅと比較してｂｉｎが１であるか０であるかを決定する。
【００５３】
規格バイパス復号モード処理２５０は、ブロック２５２から始まり、ここでは、ｏｆｆｓｅｔをｏｆｆｓｅｔ＜＜１とする。＜＜１は、２の乗算又は１ずつの左シフトを表す。さらに、ｏｆｆｓｅｔは、ｏｆｆｓｅｔ  （ｂｉｔｗｉｓｅ  ＯＲ）  ｒｅａｄ＿ｂｉｔｓ（１）に等しく設定される。ブロック２５２にブロック２５４が続き、ここでは、ｏｆｆｓｅｔが＞＝ｒａｎｇｅかどうかの判定がなされる。この判定が「Ｙｅｓ」である場合、ブロック２５４にブロック２５６が続き、ここでは、ｂｉｎ及びｏｆｆｓｅｔが式Ｅｑ（１０）及び（１１）に従って計算される。
【００５４】
Ｂｉｎ＝１  （１０）  
Ｏｆｆｓｅｔ＝ｏｆｆｓｅｔ−ｒａｎｇｅ  （１１）
上記判定が「Ｎｏ」である場合、ブロック２５４にブロック２５８が続き、ここではｂｉｎはゼロ（０）に等しく設定される。ブロック２５６及び２５８は処理２５０を終了させる。タームｂｉｎは、ビットと同じであることに留意されたい。
【００５５】
図７は、Ｈ．２６４規格終了復号モード処理３００のフローチャートを示す。ｅｎｄ＿ｏｆ＿ｓｌｉｃｅ＿ｆｌａｇ及びＩ−Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ  （Ｉ＿ＰＣＭ）モード（特別の復号ルーチン）を示すビンを復号する場合、規格終了復号処理３００が呼び出される。規格終了復号処理３００はブロック３０２から始まり、ここではｒａｎｇｅが２ほどディクリメントされる（ｒａｎｇｅ＝ｒａｎｇｅ−２）。ブロック３０２にブロック３０４が続き、ここでは、該ｏｆｆｓｅｔが＞＝ｒａｎｇｅかどうかの判定がなされる。ブロック３０４のこの判定が「Ｙｅｓ」である場合、ｂｉｎはブロック３０６において”１”に等しく設定される。一方、ブロック３０４における判定が「Ｎｏ」である場合、ブロック３０４にブロック３０８が続き、ここではｂｉｎはゼロ（０）に等しく設定される。ブロック３０８がブロック３１０に続き、ここではリノーマリゼーション処理１５０（図４）が行なわれる。ブロック３０６及び３１０はいずれもＨ．２６４規格終了復号処理２５０を終了させる。
【００５６】
ＣＡＢＡＣ初期段階中に、レンジレジスタ５０（図２Ａ）は０ｘ１ＦＥに設定され、初期のオフセットレジスタ６０を設定するためにビットストリームから９ビットが読出され、上記から直ちに理解されるように、該９ビットはレンジ及びオフセットを表わすために用いられる。従って、ＣＡＢＡＣコア処理には多くのビットワイズ演算がある。
【００５７】
Ｈ．２６４規格通常復号モード処理２００（ＦＩＧ  ５）において、ＬＰＳの場合は常に、ＬＰＳ確率が＜０．５であることから、新規のｒａｎｇｅは＜０ｘ１００になる。したがって、リノーマリゼーションはｒａｎｇｅを＞＝０ｘ１００にすることが必要である。新規の例示的構成では、ｃｏｕｎｔ＿ｌｅａｄｉｎｇ＿ｚｅｒｏ（ＣＬＺ）命令は、ループを用いる代わりに、必要な左シフトの量を計算するために用いられる。ＭＰＳの場合は常に、ＭＰＳ確率は＞＝０．５であることから、新規のｒａｎｇｅは０ｘ０８０から０ｘ１ＦＥまでである。従って、リノーマリゼーションが最上位ビット（ＭＳＢ）を１にするために、高々１つの左シフトが必要である。同時に、ｏｆｆｓｅｔが同じ量で左シフトされ、それを満たすために新規のビットがビットストリームから読出される。
【００５８】
さらにＨ．２６４規格バイパス復号モード処理２５０では、ｏｆｆｓｅｔが常に１ビット左シフトされ、１ビットがビットストリームから読出される。これは、リノーマリゼーション及びビットストリームからのビット読出しを極めて頻繁に行うことを必要とし、両者は極めて計算コストが高い。
【００５９】
図８は、受信ＣＡＢＡＣビットストリーム（ＢＳ）の多段復号を行なうプロセッサ４０１の一般的なブロック図を示す。プロセッサ４０１は処理回路４０１及び多段ＣＡＢＡＣ復号器エンジン４０２を含んでいる。一の態様では、多段ＣＡＢＡＣ復号器エンジン４０２は２つの段（ｓｔａｇｅ）によって実装される。第１の段（ＳＴＡＧＥ１）では、ＣＡＢＡＣビットストリームはＣＡＢＡＣ復号サブモジュール４０４によって、ビン又はバイナリシンボルのみに復号される。ビン又はバイナリシンボルは、ＣＡＢＡＣビットストリームから復号されるとおりの厳密な順序（以下、「復号順序」と呼ぶ）でビンバッファー４０６にバッファリングされてもよい。さらに、バッファリングの後は、第１の段における処理は通常、行われない。ビンバッファー４０６は、ビン又はバイナリシンボルを記憶するためのメモリがプロセッサ４００に対して外部であることを意味するように、実在しないように示される。
【００６０】
ＣＡＢＡＣ復号サブモジュール４０の出力は中間信号であり、ＣＡＢＡＣに復号された規格フォーマットである。一般に、ＣＡＢＡＣ復号サブモジュール４０４の動作は、少なくともフレームサイズに依存して遅くなることがある。
【００６１】
多段ＣＡＢＡＣ復号器エンジン４０２の第２の段（ＳＴＡＧＥ２）では、映像復号サブモジュール４１０は、ビンバッファー４０６からの中間信号を復号し、可変長符号化（ＶＬＣ）復号器を含んでいてもよい。映像復号サブモジュール４１０は、中間信号からシンタックス要素の値を再構成するように機能する逆２値化サブモジュール４１２を含んでいる。該シンタックス要素は、最終復号サブモジュール４１４における映像復号サブモジュール４１０の任意の残りの復号動作において映像出力の生成に用いられる。
【００６２】
図９は、図８に示された態様に従うＣＡＢＡＣビットストリーム多段復号処理５００のフローチャートを示す。この処理５００はブロック５０２から始まり、ＣＡＢＡＣビットストリームは、ＣＡＢＡＣ復号された規格フォーマットを有する、ビン又はバイナリシンボルのみを持つ中間信号に復号される。ブロック６０４がブロック６０２に続き、ここでは、ビンが復号されるとおりの厳密な順序である復号順序でバイナリシンボルがバッファーされるブロック６０６がブロック６０４に続く。ブロック６０６では、シンタックス要素の再構成が行われる。ブロック６０８がブロック６０６に続き、ここでは、任意の最終的な映像復号動作が行われて映像出力信号が生成される。
【００６３】
図１０は、バイパスモード付き多段ＣＡＢＡＣ復号器エンジン６００の一般的なブロック図を示す。多段ＣＡＢＡＣ復号器エンジン６００は、第１及び第２の処理段６１０及び６２０、外部記憶６３０及びスイッチ６４０を含んでいる。動作中に、第１の処理段６１０の出力は、ライン６１４上のメモリ６３０に送られる。メモリ６３０にバッファされた中間信号のデータを第２の処理段６２０が読出す準備ができている場合、該データは、ライン６３４上の第２の処理段６２０に送られる。
【００６４】
第１の処理段６１０及び第２の処理段６２０は、各々が独自の処理速度及び処理性能を持つ分離した処理回路であってもよい。第１の処理段６１０は、第１の処理速度及び第１の性能を有する。第２の処理段６２０は、第２の処理速度及び第２の処理性能を有する。第１及び第２の処理速度は、同じであっても異なっていてもよい。例えば、第１の処理段６１０の第１の処理速度又は性能が、第２の処理段６２０の第２の処理速度又は性能より遅いかもしれない。いずれにせよ、第１の処理段６１０により得られる処理性能は、フレームサイズ及び／又はＣＡＢＡＣ復号処理の実装の結果、落ちる。
【００６５】
非バイパスモードであるとき、スイッチ６４０は、メモリ６３０にバッファされた中間信号を渡すように機能する。第１の段６１０の処理速度又は性能が所定閾値未満である場合に非バイパスモードは必要である。一方、上記処理速度又は性能が所定閾値を上回る場合、スイッチ６４０は、中間信号を第１の処理段６１０から直接第２の処理段６２０に渡すように機能する。このようにしてエンジン６００はバイパスモードに切り替わる。
【００６６】
一の態様では、第１の処理段６１０及び第２の処理段６２０は、ソフトウェアで実装される。この場合、第１の処理段６１０は第１の命令セット（例えばソフトウェア又はソースコード）を用いて実装され、第２の処理段６２０は第２の命令セット（例えばソフトウェア又はソースコード）を用いて実装される。第１の命令セットは第２の命令セットから分離しており、第２の命令セットと区別される。
【００６７】
別の態様において、第１の処理段６１０がハードウェアで実装され、第２の処理段６２０がソフトウェアで実装される。さらに別の態様において、第１の処理段６１０がソフトウェアで実装され、第２の処理段６２０がハードウェアで実装される。
【００６８】
一の態様では、第２の処理段６２０は、中間信号を第１の処理段６１０又はメモリ６３０から復号順序で受け取って復号する。
【００６９】
図１１は、バイパスモード付きＣＡＢＡＣビットストリーム多段復号処理７００のフローチャートを示す。処理７００は、ブロック７０２における受信ビットストリームのＣＡＢＡＣ復号から始まる。ＣＡＢＡＣ復号は、単にＣＡＢＡＣ復号規格に従ってビットストリームを復号するように構成された第１の処理段６１０で行われる。ブロック７０４がブロック７０２に続き、ここでは、第１の処理段６１０の処理速度及び／又はプロセッサ性能（ＰＰ）が計算される。ブロック７０６がブロック７０４に続き、ＰＰが所定閾値より大きいかの判定がなされる。ブロック７０６のこの判定が「Ｙｅｓ」である場合、このブロック７０６にブロック７０８が続き、バッファリングが行われる。中間信号が厳密な復号順序でバッファリングされる。
【００７０】
ブロック７１０がブロック７０８に続き、バイパスモードと非バイパスモードを切り替えるようにスイッチ６４０が制御される。ブロック７１２がブロック７１０に続き、ここでは、映像復号が行われ、非ＣＡＢＡＣ復号規格を用いて映像出力信号が生成される。ブロック７０６に戻って、ブロック７０６の判定が「Ｎｏ」である場合、該ブロック７０６にブロック７１０が直に続き、ここでスイッチをバイパスモードに変える。バイパスモードにおいて、ＣＡＢＡＣ復号規格フォーマットを持つ中間信号は、バッファリングを必要としない非ＣＡＢＡＣ復号規格に基づく第２の復号処理に従って第２の処理段６２０により直ちに復号される。
【００７１】
目的は、符号化効率と計算複雑性のトレードオフを追求することにある。図１１の構成においては、処理速度又は性能がダイナミックに決定される。このチェックは、周期的に、又は他の指定インターバルで行なわれてもよい。
【００７２】
上記４０２又は６００は、高精細度（ＨＤ）復号器又は他の集積回路の一部として映像ビットストリームパーサーで実装されてもよい。
【００７３】
１つ又は複数の例示的構成において、説明された機能及び／又はブロックは、ハードウェア、ソフトウェア、ファームウェアあるいはそれらの任意の組み合わせで実装してもよい。ソフトウェアの形で実施される場合、機能は、１つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されること又は１つもしくは複数の命令又はコードとしてコンピュータ可読媒体上で送信されることが可能である。コンピュータ可読媒体は、コンピュータ記憶媒体及びある場所から別の場所へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータがアクセスできる任意の利用可能な媒体とすることができる。限定としてではなく、例として、上記コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、スマートカード、フラッシュメモリデバイス（例えばカード、スティック、キードライブ…）、又は所望されるプログラムコードを命令又はデータ構造の形式で運ぶため又は記憶するために使用されることが可能であって、かつコンピュータがアクセスできる任意の他の媒体を含んでもよい。また、任意の接続は正しくはコンピュータ可読媒体と呼ばれる。例えば、ソフトウェアが同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などの無線技術を使用して、ウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、又は赤外線、無線、及びマイクロ波などの無線技術は媒体の定義に含まれる。本明細書で使用される場合、ディスク及びディスク（Ｄｉｓｋ  ａｎｄ  ｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多目的ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク及びブルーレイディスクを含み、ｄｉｓｋは通常磁気によってデータを複製し、一方、ｄｉｓｃはレーザを用いて光学的にデータを複製する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【００７４】
開示の構成の以上の詳細な説明は、あらゆる当業者が本開示を行い又は使用することができるようにするために提供される。これら構成への種々の変更は、当業者であれば即座に明白になるであろう。また、本明細書で定義された一般的な原理は、本開示の精神又は範囲から逸脱することなく、他の構成に適用することができる。したがって、本開示は、本明細書で説明された構成に限定されることは意図されておらず、ここで開示された原理及び新規な特徴に相応しい最も広い範囲を与えられることが意図されている。
【図１】
2010538547.tif 000003
【図２Ａ】
2010538547.tif 000004
【図２Ｂ】
2010538547.tif 000005
【図２Ｃ】
2010538547.tif 000006
【図２Ｄ】
2010538547.tif 000007
【図３】
2010538547.tif 000008
【図４】
2010538547.tif 000009
【図５】
2010538547.tif 000010
【図６】
2010538547.tif 000011
【図７】
2010538547.tif 000012
【図８】
2010538547.tif 000013
【図９】
2010538547.tif 000014
【図１０】
2010538547.tif 000015
【図１１】
2010538547.tif 000016
【手続補正書】
【提出日】平成22年5月24日(2010.5.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第１の復号器段と、
前記復号順序で前記中間信号をバッファーするように機能するバッファーと、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第２の復号器段と、
前記第１の復号器段と前記第２の復号器段の間に接続され、バイパスモードでは前記第１の復号器段から前記第２の復号器段に前記中間信号を直接的に渡すように機能し、非バイパスモードでは前記中間信号を前記バッファーから前記第２の復号器段に渡すように機能するスイッチと、
を具備する装置。
【請求項２】
前記第２の復号器段は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するように機能する請求項１の装置。
【請求項３】
前記第２の復号器段は、前記シンタックス要素の値を再構成するための逆２値化サブモジュールを含む請求項２の装置。
【請求項４】
前記第２の復号器段は、可変長符号化復号器を含む請求項３の装置。
【請求項５】
前記中間信号はビンを含む請求項１の装置。
【請求項６】
前記第１の復号器段のプロセッサ性能を計算するように機能するプロセッサ性能計算器と、
前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するモードコントロールと、をさらに具備する請求項１の装置。
【請求項７】
携帯電話、無線装置、無線通信装置、ビデオゲームコンソール、無線機能を備えた携帯情報端末（ＰＤＡ）、ラップトップコンピューター、又は映像対応デバイスである請求項１の装置。
【請求項８】
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第１の復号器回路と、
前記復号順序で前記中間信号をバッファーするように機能するバッファーと、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第２の復号器回路と、
前記第１の復号器回路と前記第２の復号器回路の間に接続され、バイパスモードでは前記第１の復号器回路から前記第２の復号器回路に前記中間信号を直接的に渡すように機能し、非バイパスモードでは前記中間信号を前記バッファーから前記第２の復号器回路に渡すように機能するスイッチと、
を具備する集積回路。
【請求項９】
前記第２の復号器回路は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するように機能する請求項８の集積回路。
【請求項１０】
前記第２の復号器回路は、前記シンタックス要素の値を再構成するための逆２値化サブモジュールを含む請求項９の集積回路。
【請求項１１】
前記第２の復号器回路は、可変長符号化復号器を含む請求項１０の集積回路。
【請求項１２】
前記中間信号はビンを含む請求項８の集積回路。
【請求項１３】
前記第１の復号器回路のプロセッサ性能を計算するように機能するプロセッサ性能計算器と、
前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するモードコントロールと、をさらに具備する請求項８の集積回路。
【請求項１４】
前記集積回路は、携帯電話、無線装置、無線通信装置、ビデオゲームコンソール、無線機能を備えた携帯情報端末（ＰＤＡ）、ラップトップコンピューター、又は映像対応デバイスの一部である請求項８の集積回路。
【請求項１５】
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するための手段と、
前記復号順序で前記中間信号をバッファーするための手段と、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するための手段と、
バイパスモードでは前記中間信号を前記ＣＡＢＡＣビットストリームを復号するための手段から前記中間信号を復号するための手段に直接渡し、非バイパスモードでは前記中間信号を前記バッファーするための手段から前記中間信号を復号するための手段に渡すためのスイッチ手段と、
を具備する集積回路。
【請求項１６】
前記中間信号を復号するための手段は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するための手段を含む請求項１５の集積回路。
【請求項１７】
前記中間信号を復号するための手段は、可変長符号化復号器を含む請求項１６の集積回路。
【請求項１８】
前記中間信号はビンを含む請求項１５の集積回路。
【請求項１９】
前記ＣＡＢＡＣビットストリームを復号するための手段のプロセッサ性能を計算するための手段と、
前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するための手段と、をさらに具備する請求項１５の集積回路。
【請求項２０】
コンピュータに、
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号させ、
前記復号順序で前記中間信号をバッファーさせ、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号させ、
非バイパスモードとバイパスモードを切り替えさせるための命令を具備し、前記中間信号を復号する命令は、非バイパスモードでは前記バッファされた中間信号を復号し、バイパスモードでは前記中間信号を直接的に復号する命令を含む、コンピュータ可読媒体を含むコンピュータプログラム製品。
【請求項２１】
前記中間信号を復号する命令は、前記コンピュータに、前記中間信号からシンタックス要素を再構成させ、該シンタックス要素を復号させるための命令を含む請求項２０のコンピュータプログラム製品。
【請求項２２】
前記中間信号を復号する命令は、前記コンピュータに、可変長符号化スキームに従って前記中間信号を復号させるための命令を含む請求項２１のコンピュータプログラム製品。
【請求項２３】
前記中間信号はビンを含む請求項２０のコンピュータプログラム製品。
【請求項２４】
前記コンピュータに、前記ＣＡＢＡＣビットストリームを復号するプロセッサのプロセッサ性能を計算させるための命令を具備し、前記非バイパスモードと前記バイパスモードを切り替えさせるための命令は、前記計算されたプロセッサ性能に応じて非バイパスモードとバイパスモードを切り替えさせる請求項２０のコンピュータプログラム製品。
【請求項２５】
第１の処理段により、コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号することと、
前記復号順序で前記中間信号をバッファリングすることと、
第２の復号器段により、非ＣＡＢＡＣ復号規格を用いて前記中間信号を映像出力信号に復号することと、
バイパスモードにおいて前記バッファリングを選択的にバイパスすることと、
前記バイパスモードにおいて前記第１の処理段から前記第２の処理段に前記中間信号を直接的に渡すこと、とを具備する方法。
【請求項２６】
前記中間信号を復号することは、前記中間信号からシンタックス要素を再構成すること、及び該シンタックス要素を復号することを含む請求項１５の方法。
【請求項２７】
前記中間信号を復号することは、可変長符号化復号を含む請求項２６の方法。
【請求項２８】
第１の処理回路のプロセッサ性能を計算することと、
前記計算されたプロセッサ性能に応じて前記選択的なバイパスを制御すること、とをさらに具備する請求項２５の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
非バイパスモードであるとき、スイッチ６４０は、メモリ６３０にバッファされた中間信号を渡すように機能する。第１の段６１０の処理速度又は性能が所定閾値を上回る場合に非バイパスモードは必要である。一方、上記処理速度又は性能が所定閾値を下回る場合、スイッチ６４０は、中間信号を第１の処理段６１０から直接第２の処理段６２０に渡すように機能する。このようにしてエンジン６００はバイパスモードに切り替わる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
開示の構成の以上の詳細な説明は、あらゆる当業者が本開示を行い又は使用することができるようにするために提供される。これら構成への種々の変更は、当業者であれば即座に明白になるであろう。また、本明細書で定義された一般的な原理は、本開示の精神又は範囲から逸脱することなく、他の構成に適用することができる。したがって、本開示は、本明細書で説明された構成に限定されることは意図されておらず、ここで開示された原理及び新規な特徴に相応しい最も広い範囲を与えられることが意図されている。
［付記］
（１）コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第１の復号器段と、
前記復号順序で前記中間信号をバッファーするように機能するバッファーと、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第２の復号器段と、を具備する装置。
（２）前記第２の復号器段は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するように機能する（１）の装置。
（３）前記第２の復号器段は、前記シンタックス要素の値を再構成するための逆２値化サブモジュールを含む（２）の装置。
（４）前記第２の復号器段は、可変長符号化復号器を含む（３）の装置。
（５）前記中間信号はビンを含む（１）の装置。
（６）前記第１の復号器段と前記第２の復号器段の間に接続され、バイパスモードでは前記第１の復号器段から前記第２の復号器段に前記中間信号を直接的に渡すように機能し、非バイパスモードでは前記中間信号を前記バッファーから第２の復号器段に渡すように機能するスイッチをさらに具備する（１）の装置。
（７）前記第１の復号器段のプロセッサ性能を計算するように機能するプロセッサ性能計算器と、
前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するモードコントロールと、をさらに具備する（６）の装置。
（８）携帯電話、無線装置、無線通信装置、ビデオゲームコンソール、無線機能を備えた携帯情報端末（ＰＤＡ）、ラップトップコンピューター、又は映像対応デバイスである（１）の装置。
（９）コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するように機能する第１の復号器回路と、
前記復号順序で前記中間信号をバッファーするように機能するバッファーと、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するように機能する第２の復号器回路と、を具備する集積回路。
（１０）前記第２の復号器回路は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するように機能する（９）の集積回路。
（１１）前記第２の復号器回路は、前記シンタックス要素の値を再構成するための逆２値化サブモジュールを含む（１０）の集積回路。
（１２）前記第２の復号器回路は、可変長符号化復号器を含む（１１）の集積回路。
（１３）前記中間信号はビンを含む（９）の集積回路。
（１４）前記第１の復号器回路と前記第２の復号器回路の間に接続され、バイパスモードでは前記第１の復号器回路から前記第２の復号器回路に前記中間信号を直接的に渡すように機能し、非バイパスモードでは前記中間信号を前記バッファーから第２の復号器回路に渡すように機能するスイッチをさらに具備する（９）の集積回路。
（１５）前記第１の復号器回路のプロセッサ性能を計算するように機能するプロセッサ性能計算器と、
前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するモードコントロールと、をさらに具備する（１４）の集積回路。
（１６）前記集積回路は、  携帯電話、無線装置、無線通信装置、ビデオゲームコンソール、無線機能を備えた携帯情報端末（ＰＤＡ）、ラップトップコンピューター、又は映像対応デバイスの一部である（９）の集積回路。
（１７）コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号するための手段と、
前記復号順序で前記中間信号をバッファーするための手段と、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号するための手段と、を具備する集積回路。
（１８）前記中間信号を復号するための手段は、前記中間信号からシンタックス要素を再構成し、該シンタックス要素を復号するための手段を含む（１７）の集積回路。
（１９）前記中間信号を復号するための手段は、可変長符号化復号器を含む（１８）の集積回路。
（２０）前記中間信号はビンを含む（１７）の集積回路。
（２１）バイパスモードでは前記中間信号を前記ＣＡＢＡＣビットストリームを復号するための手段から前記中間信号を復号するための手段に直接渡し、非バイパスモードでは前記中間信号を前記バッファーするための手段から前記中間信号を復号するための手段に渡すためのスイッチ手段をさらに具備する（１７）の集積回路。
（２２）前記ＣＡＢＡＣビットストリームを復号するための手段のプロセッサ性能を計算するための手段と、
前記計算されたプロセッサ性能に応じて前記スイッチの動作を制御するための手段と、をさらに具備する（２１）の集積回路。
（２３）コンピュータに、
コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号させ、
前記復号順序で前記中間信号をバッファーするように機能するバッファーさせ、
非ＣＡＢＡＣ復号規格を用いて、前記中間信号を映像出力信号に復号させるための命令を有するコンピュータ可読媒体を含むコンピュータプログラム製品。
（２４）前記中間信号を復号する命令は、前記コンピュータに、前記中間信号からシンタックス要素を再構成させ、該シンタックス要素を復号させるための命令を含む（２３）のコンピュータプログラム製品。
（２５）前記中間信号を復号する命令は、前記コンピュータに、可変長符号化スキームに従って前記中間信号を復号させるための命令を含む（２４）のコンピュータプログラム製品。
（２６）前記中間信号はビンを含む（２３）のコンピュータプログラム製品。
（２７）前記コンピュータに、前記ＣＡＢＡＣビットストリームを復号するプロセッサのプロセッサ性能を計算させ、前記計算されたプロセッサ性能に応じて非バイパスモードとバイパスモードを切り替えさせるための命令をさらに具備し、前記中間信号を復号する命令は、非バイパスモードでは前記バッファされた中間信号を復号し、バイパスモードでは前記中間信号を直接的に復号する命令をさらに具備する（２３）のコンピュータプログラム製品。
（２８）第１の処理段により、コンテキストベース適応バイナリ算術符号化（ＣＡＢＡＣ）ビットストリームをＣＡＶＡＣ復号規格フォーマット及び復号順序を有する中間信号に復号することと、
前記復号順序で前記中間信号をバッファーすることと、
第２の復号器段により、非ＣＡＢＡＣ復号規格を用いて前記中間信号を映像出力信号に復号することと、を具備する方法。
（２９）前記中間信号を復号することは、前記中間信号からシンタックス要素を再構成すること、及び該シンタックス要素を復号することを含む（２８）の方法。
（３０）前記中間信号を復号することは、可変長符号化復号を含む（２９）の方法。
（３１）バイパスモードにおいてバッファリングを選択的にバイパスすることと、
前記バイパスモードにおいて前記第１の処理段から前記第２の処理段に前記中間信号を直接的に渡すこと、とをさらに具備する（２８）の方法。
（３２）第１の処理回路のプロセッサ性能を計算することと、
前記計算されたプロセッサ性能に応じて前記選択的なバイパスを制御すること、とをさらに具備する（２８）の方法。
【国際調査報告】
2010538547.tif 000017
2010538547.tif 000018
2010538547.tif 000019