(57)【要約】      （修正有）【課題】マルチメディア送信システムにおける復号器内での処理を向上させる。【解決手段】マルチメディアデータをプロセッサアライメントされた方法で維持及び読み取ることによってマルチメディアデータのビット単位のストリームからの固定長符号及び可変長符号を構文解析する。固定長コードワードは、決定された利用可能なビットと、プロセッサアライメントされたデータの一部分と関連づけられたビットと読取り、可変長コードワードは、利用可能なビットの少なくとも一部を読み取る。復号器テーブル検索を高速化するために複数のレベルの復号テーブルを用いて特に受信された状態の可変長符号を復号する。【選択図】図４Ａ
2011109678.tif 000002
【特許請求の範囲】
【請求項１】
受信された符号化されたマルチメディアデータを処理する方法であって、
受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定することと、
固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第１のバッファ内に読み込むことと、
可変長コードワードを読み取る場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第１のバッファ内に読み込むこと、とを具備し、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する、方法。
【請求項２】
前記固定長コードワードを読み取る場合は、前記プロセッサアライメントされたデータを読み取り次に前記プロセッサアライメントされたデータの前記一部分と関連づけられたビットを前記第１のバッファから第２のバッファにコピーする前に前記決定された利用可能なビットを前記第２のバッファ内にコピーすることをさらに具備する請求項１に記載の方法。
【請求項３】
プロセッサアライメントされないデータを読み取ることは、１６ビットを読み取ることを具備し、プロセッサアライメントされたデータを読み取ることは、３２ビットを読み取ることを具備する請求項１に記載の方法。
【請求項４】
前記可変長コードワードを復号することと、
前記第１のバッファにおいて利用可能な前記ビット数を前記復号された可変長コードワードの前記長さに少なくとも部分的に基づいて更新することと、
前記第１のバッファの前記内容を調整して前記ビットストリームにおいてデータをアライメントさせること、とをさらに具備する請求項１に記載の方法。
【請求項５】
前記可変長コードワードを復号することは、
第１のデータ構造における第１の復号データを前記第１のバッファ内のデータに少なくとも部分的に基づいて識別することと、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定すること、とを具備する請求項４に記載の方法。
【請求項６】
前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせることは、プロセッサアライメントされないデータを前記ビットストリームから読み取ることを具備する請求項４に記載の方法。
【請求項７】
前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせることは、前記プロセッサアライメントされないデータを前記ビットストリームに戻すことを具備する請求項４に記載の方法。
【請求項８】
プロセッサアライメントされたデータを符号化されたマルチメディアデータの前記ビットストリームから読み取ることは、ワード内のデータバイトの順序を変更することを具備する請求項１に記載の方法。
【請求項９】
ワード内のデータバイトの順序を変更することは、データの順序をビッグエンディアンフォーマットからリトルエンディアンフォーマットに変更することを具備する請求項８に記載の方法。
【請求項１０】
マルチメディアデータを処理するための方法であって、
受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定することと、
固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第１のバッファ内に読み込むことと、
可変長コードワードである場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第１のバッファ内に読み込むこと、とを具備し、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する方法、を具体化するためのコンピュータ読み取り可能媒体。
【請求項１１】
前記方法は、
前記可変長コードワードを復号することと、
前記第１のバッファにおいて利用可能な前記ビット数を前記復号された可変長コードワードの前記長さに少なくとも部分的に基づいて更新することと、
前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせること、とをさらに具備する請求項１０に記載のコンピュータ読み取り可能媒体。
【請求項１２】
前記可変長コードワードを復号することは、
第１のデータ構造における第１の復号データを前記第１のバッファ内のデータに少なくとも部分的に基づいて識別することと、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定すること、とを具備する請求項１１に記載のコンピュータ読み取り可能媒体。
【請求項１３】
受信された符号化されたマルチメディアデータを処理するための装置であって、
受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定するための手段と、
コードワードを読み取るための手段と、を具備し、固定長コードワードを読み取る場合は、読み取るための前記手段は、プロセッサアライメントされたデータを前記ビットストリームから前記第１のバッファ内に読み込み、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、可変長コードワードを読み取る場合は、読み取るための前記手段は、プロセッサアライメントされないデータを前記ビットストリームから前記第１のバッファ内に読み込み、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する、装置。
【請求項１４】
読み取るための前記手段は、前記プロセッサアライメントされたデータを読み取り次に前記プロセッサアライメントされたデータの前記一部分と関連づけられたビットを前記第１のバッファから第２のバッファにコピーする前に前記決定された利用可能なビットを前記第２のバッファ内にコピーするための手段をさらに具備する請求項１３に記載の装置。
【請求項１５】
プロセッサアライメントされないデータを読み取るための前記手段は、１６ビットを読み取るための手段を具備し、プロセッサアライメントされたデータを読み取ることは、３２ビットを読み取ることを具備する請求項１３に記載の装置。
【請求項１６】
前記可変長コードワードを復号するための手段と、
前記第１のバッファにおいて利用可能な前記ビット数を前記復号された可変長コードワードの前記長さに少なくとも部分的に基づいて更新するための手段と、
前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるための手段と、をさらに具備する請求項１３に記載の装置。
【請求項１７】
前記可変長コードワードを復号するための前記手段は、
第１のデータ構造における第１の復号データを前記第１のバッファ内のデータに少なくとも部分的に基づいて識別するための手段と、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するための手段と、を具備する請求項１６に記載の装置
【請求項１８】
前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるための前記手段は、プロセッサアライメントされないデータを前記ビットストリームから読み取るための手段を具備する請求項１６に記載の装置。
【請求項１９】
前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるための前記手段は、プロセッサアライメントされないデータを前記ビットストリームに戻すための手段を具備する請求項１６に記載の装置。
【請求項２０】
マルチメディアデータを処理するための装置であって、
受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定するように構成された決定器と、
固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第１のバッファ内に読み込み、可変長コードワードである場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第１のバッファ内に読み込むように構成された読み取り器と、を具備し、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する、装置。
【請求項２１】
固定長コードワードを読み取る場合は、前記プロセッサアライメントされたデータを読み取り次に前記プロセッサアライメントされたデータの前記一部分と関連づけられたビットを前記第１のバッファから第２のバッファにコピーする前に前記決定された利用可能なビットを前記第２のバッファ内にコピーするように構成されたコピー器をさらに具備する請求項２０に記載の装置。
【請求項２２】
前記読み取り器は、１６ビットのデータを具備するプロセッサアライメントされないデータを読み取るように構成され、前記読み取り器は、３２ビットのデータを具備するプロセッサアライメントされたデータを読み取るように構成される請求項２０に記載の装置
【請求項２３】
前記可変長コードワードを復号するように構成されたコードワード復号器と、
前記第１のバッファにおいて利用可能な前記ビット数を前記復号された可変長コードワードの前記長さに少なくとも部分的に基づいて更新するように構成された更新器と、
前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるように構成された調整器と、をさらに具備する請求項２０に記載の装置。
【請求項２４】
第１のデータ構造における第１の復号データを前記第１のバッファ内のデータに少なくとも部分的に基づいて識別するように構成された識別器と、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するように構成された第２の決定器と、をさらに具備する請求項２０に記載の装置。
【請求項２５】
前記調整器は、プロセッサアライメントされないデータを前記ビットストリームから少なくとも部分的に読み取ることによって前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるように構成される請求項２４に記載の装置。
【請求項２６】
前記調整器は、前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせることの一部として、プロセッサアライメントされないデータを前記ビットストリームに戻すようにさらに構成される請求項２４に記載の装置。
【請求項２７】
前記読み取り器は、プロセッサアライメントされたデータを符号化されたマルチメディアデータの前記ストリームから読み取ることの一部として、ワード内のデータバイトの順序を変更するようにさらに構成される請求項２０に記載の装置。
【請求項２８】
マルチメディアデータを処理するためのプロセッサであって、
受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定し、
固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第１のバッファ内に読み込み、可変長コードワードを読み取る場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第１のバッファ内に読み込むように構成され、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する、プロセッサ。
【請求項２９】
前記プロセッサは、固定長コードワードを読み取る場合は、前記プロセッサアライメントされたデータを読み取って次に前記プロセッサアライメントされたデータの前記一部分と関連づけられたビットを前記第１のバッファから第２のバッファにコピーする前に前記決定された利用可能なビットを前記第２のバッファ内にコピーするようにさらに構成される請求項２８に記載のプロセッサ。
【請求項３０】
前記プロセッサは、第１のデータ構造における第１の復号データを前記第１のバッファ内のデータに少なくとも部分的に基づいて識別し、前記復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するようにさらに構成される請求項２８に記載のプロセッサ。
【請求項３１】
前記プロセッサは、プロセッサアライメントされないデータを前記ビットストリームから少なくとも部分的に読み取ることによって前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるように構成される請求項３０に記載のプロセッサ。
【請求項３２】
前記プロセッサは、前記第１のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせることの一部として、プロセッサアライメントされないデータを前記ビットストリームに戻すようにさらに構成される請求項３０に記載のプロセッサ。
【請求項３３】
前記プロセッサは、プロセッサアライメントされたデータを符号化されたマルチメディアデータの前記ストリームから読み取ることの一部として、ワード内のデータバイトの順序を変更するようにさらに構成される請求項２８に記載のプロセッサ。
【請求項３４】
マルチメディアデータストリームにおいて可変長符号を復号する方法であって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取ることと、
第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別することと、
前記第１の復号データが第２の復号データを具備する第２のデータ構造を示しているかどうかを決定することと、
前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号すること、とを具備する、方法。
【請求項３５】
前記第１のビット数は、前記第１のデータ構造における前記エントリ数と関連づけられる請求項３４に記載の方法。
【請求項３６】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項３４に記載の方法。
【請求項３７】
前記マルチメディアデータを復号することは、前記第１の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号することを具備する請求項３４に記載の方法。
【請求項３８】
前記マルチメディアデータを復号することは、前記第１の復号データが復号されたマルチメディアデータを示している場合に前記第１の復号データに少なくとも部分的に基づく請求項３４に記載の方法。
【請求項３９】
前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取ることと、
第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別すること、とをさらに具備する請求項３４に記載の方法。
【請求項４０】
前記第２のビット数は、前記第２のデータ構造における前記エントリ数と関連づけられる請求項３９に記載の方法。
【請求項４１】
前記第２の復号データは、復号データを具備する第３のデータ構造を示しているかどうかを決定することをさらに具備する請求項３９に記載の方法。
【請求項４２】
前記マルチメディアデータを復号することは、前記第２の復号データに少なくとも部分的に基づく請求項３９に記載の方法。
【請求項４３】
前記第１のデータ構造は、ルックアップテーブルを具備する請求項３４に記載の方法。
【請求項４４】
マルチメディアデータストリーム内の可変長符号を復号するための装置であって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取るための手段と、
第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別するための手段と、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するための手段と、
前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するための手段と、を具備する、装置。
【請求項４５】
前記第１のビット数は、前記第１のデータ構造内の前記エントリ数と関連づけられる請求項４４に記載の装置。
【請求項４６】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項４４に記載の装置。
【請求項４７】
前記マルチメディアデータを復号するための前記手段は、前記第１の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するための手段を具備する請求項４４に記載の装置。
【請求項４８】
前記マルチメディアデータを復号することは、前記第１の復号データが復号されたマルチメディアデータを示している場合に前記第１の復号データに少なくとも部分的に基づく請求項４７に記載の装置。
【請求項４９】
前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取るための手段と、
第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別するための手段と、をさらに具備する請求項４４に記載の装置。
【請求項５０】
前記第２のビット数は、前記第２のデータ構造における前記エントリ数と関連づけられる請求項４９に記載の装置。
【請求項５１】
前記第２の復号データが復号データを具備する第３のデータ構造を示しているかどうかを決定するための手段をさらに具備する請求項４９に記載の装置。
【請求項５２】
前記マルチメディアデータを復号することは、前記第２の復号データに少なくとも部分的に基づく請求項４９に記載の装置。
【請求項５３】
マルチメディアデータを処理するための方法であって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取ることと、
第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別することと、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定することと、
前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号すること、とを具備する方法、を具体化するためのコンピュータ読み取り可能媒体。
【請求項５４】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項５３に記載のコンピュータ読み取り可能媒体。
【請求項５５】
前記マルチメディアデータを復号することは、前記第１の復号データに少なくとも部分的に基づく請求項５３に記載のコンピュータ読み取り可能媒体。
【請求項５６】
前記マルチメディアデータを復号することは、前記第１の復号データが復号されたマルチメディアデータを示している場合に前記第１の復号データに少なくとも部分的に基づく請求項５５に記載のコンピュータ読み取り可能媒体。
【請求項５７】
前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取ることと、
第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別すること、とをさらに具備する請求項５３に記載のコンピュータ読み取り可能媒体。
【請求項５８】
前記方法は、前記第２の復号データが復号データを具備する第３のデータ構造を示しているかどうかを決定することをさらに具備する請求項５７に記載のコンピュータ読み取り可能媒体。
【請求項５９】
前記マルチメディアデータを復号することは、前記第２の復号データに少なくとも部分的に基づく請求項５７に記載のコンピュータ読み取り可能媒体。
【請求項６０】
マルチメディアデータを処理するための装置であって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取るように構成された読み取り器と、
第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別するように構成された識別器と、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するように構成された決定器と、
前記第１又は第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するように構成された復号器と、を具備する、装置。
【請求項６１】
前記第１のビット数は、前記第１のデータ構造における前記エントリ数と関連づけられる請求項６０に記載の装置。
【請求項６２】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項６０に記載の装置。
【請求項６３】
前記復号器は、前記第１の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するようにさらに構成される請求項６０に記載の装置。
【請求項６４】
前記復号器は、前記第１の復号データが復号されたマルチメディアデータを示している場合に前記第１の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するように構成される請求項６３に記載の装置。
【請求項６５】
前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取るように構成された第２の読取り器と、
第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別するように構成された第２の識別器と、をさらに具備する請求項６０に記載の装置。
【請求項６６】
前記第２のビット数は、前記第２のデータ構造における前記エントリ数と関連づけられる請求項６５に記載の装置。
【請求項６７】
前記決定器は、前記第２の復号データが復号データを具備する第３のデータ構造を示しているかどうかを決定するようにさらに構成される請求項６５に記載の装置。
【請求項６８】
前記復号器は、前記第２の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するようにさらに構成される請求項６５に記載の装置。
【請求項６９】
前記第１のデータ構造は、ルックアップテーブルを具備する請求項６０に記載の装置。
【請求項７０】
マルチメディアデータを処理するためのプロセッサであって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取り、
第１のデータ構造における第１の復号データを前記第１のビット数に基づいて識別し、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定し、さらに前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するように構成される、プロセッサ。
【請求項７１】
前記第１のビット数は、前記第１のデータ構造における前記エントリ数と関連づけられる請求項７０に記載の装置。
【請求項７２】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項７０に記載の装置。
【請求項７３】
前記プロセッサは、前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取るようにさらに構成され、第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別するように構成される請求項７０に記載のプロセッサ。
【請求項７４】
前記第２のビット数は、前記第２のデータ構造における前記エントリ数と関連づけられる請求項７３に記載のプロセッサ。
【請求項７５】
前記プロセッサは、前記第２の復号データが復号データを具備する第３のデータ構造を示しているかどうかを決定するようにさらに構成される請求項７３に記載のプロセッサ。
【請求項７６】
前記プロセッサは、前記マルチメディアデータストリームと関連づけられたバッファから８ビットのデータを少なくとも部分的にコピーすることによって前記第１のビット数を読み取るように構成される請求項７０に記載のプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
３５Ｕ．Ｓ．Ｃ．§１１９に基づく優先権の主張
本特許出願は、米国仮特許出願番号６０／６８１，１９４（出願日：２００５年５月１３日）及び"VIDEO DECODER OPTIMIZATIONS"（ビデオデコーダ最適化）という題名を有する米国仮特許出願番号６０／７８９，４５５（出願日：２００６年４月４日）の利益を主張し、本明細書において参照することによって該特許出願全体を本明細書に組み入れるものである。
【０００２】
本発明は、デジタル通信に関するものである。本発明は、より具体的には、チャネル及びソース復号に関するものである。
【背景技術】
【０００３】
ネットワーク化されたマルチメディアの用途は、より広い帯域幅、より優れたコーディング及び圧縮方式、またはその両方を必要とする傾向がある。しかしながら、移動通信の場合は、制限された送信電力、制限された帯域幅及びマルチパスフェージング等の要因が、利用可能なシステムによって提供されるデータ速度を制限する傾向がある。望ましいデータ速度を維持しつつ誤りを最小限にするために様々な符号化方式が用いられているが、これらの技術はすべて、復号器側に到着する誤りに関する問題に苦しんでいる。
【０００４】
データは、ソース符号器を通じて圧縮される。典型的には、チャネル符号器が、所定の誤り率に関する送信チャネルの容量を最大化するために圧縮されたソースデータを符号化する。
【０００５】
壊れたパケットが実際に受信された場合は逆の順序でパケットを復号することによって誤りから回復するためのソースコーディング技術、例えば（ＭＰＥＧ−４等における）可逆可変長コーディング、が用いられている。１つの型のソースコーディングは、エントロピーコーディングを含む。エントロピーコーディングは、情報源によって生成されたシンボルの効率的なロスレス表現を可能にする。しかしながら、エントロピーコーディングは、圧縮効率を向上させることができるが、エントロピーコーディングは、復号プロセスを複雑化させる。エントロピーコーダーは、可変長のバイナリデータパターン、コードワード、を１つ以上のソースシンボルに割り当てる。圧縮率を向上させるために、ソースシンボルと関連するバイナリパターンの長さが、シンボル尤度の低下に応じて大きくなる。ソースストリーム内においてより高い頻度で発生するシンボルは、より簡素な表現が割り当てられる。この割り当ては、平均して、固定長の表現を有する直接的なシンボルアルファベット全体における実質的な節約を可能にすることができる。
【０００６】
しかしながら、可変長符号は、ビットストリームを具備するチャネルにおいて送信された場合は、復号器の複雑さを増大させる傾向がある。例えば、次のシンボルに関してチャネルのビットストリームからどれだけのビットを費やすかについての不明瞭さは、各コードワードの最初と最後を識別することによって対処される。
【０００７】
従って、所定の処理電力量に関するデータ速度をさらに上昇させるために可変長符号を復号するための改良されたシステム及び方法が必要である。例えば、より高速のデータ速度のマルチメディアをモバイル又はその他の低電力デバイスによって復号するのを可能にするために可変長復号器の性能を向上させる必要がある。
【発明の概要】
【０００８】
本明細書において開示されたシステム、方法、及びデバイスは各々が幾つかの側面を有しており、いずれの単一の側面も、望ましい属性を確保する役割を単独で果たしているわけではない。以下では、上記の請求項によって表される本発明の適用範囲を限定することなしに、本発明のより顕著な特長が簡単に説明される。当業者は、この説明を検討後に、そして特に「発明を実施するための最良の形態」という題名の部分を読んだ後に、このシステム及び方法の特長が、マルチメディアデータのより効率的な復号を含む利点をどのようにして提供するかを理解するであろう。
【０００９】
一側面は、受信された符号化されたマルチメディアデータを処理する方法を含む。前記方法は、受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定することを含む。前記方法は、固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記バッファ内に読み込むことをさらに含む。前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメント（processor-aligned）されたデータの一部分と関連づけられたビットと、を具備する。前記方法は、可変長コードワードを読み取る場合は、プロセッサアライメントされないデータを前記ビットストリームから前記バッファ内に読み込むことをさらに含む。前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する。
【００１０】
一側面は、マルチメディアデータを処理するための方法を具体化するためのコンピュータによって読み取り可能な媒体を含む。前記方法は、受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定することを含む。前記方法は、固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記バッファ内に読み込むことをさらに含む。前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備する。前記方法は、可変長コードワードを読み取る場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第１のバッファ内に読み込むことをさらに含む。前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する。
【００１１】
一側面は、受信された符号化されたマルチメディアデータを処理するための装置を含む。前記装置は、受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定するための手段を含む。前記装置は、コードワードを読み取るための手段をさらに含む。固定長コードワードを読み取る場合は、読み取るための前記手段は、プロセッサアライメントされたデータを前記ビットストリームから前記バッファ内に読み込む。前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備する。可変長コードワードを読み取る場合は、読み取るための前記手段は、プロセッサアライメントされないデータを前記ビットストリームから前記バックアップ内に読み込む。前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する。
【００１２】
一側面は、マルチメディアデータを処理するための装置を含む。前記装置は、受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定するように構成された決定器を含む。前記装置は、固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第１のバッファ内に読み込むように構成された読み取り器をさらに具備する。前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備する。前記読み取り器は、可変長コードワードを読み取る場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第１のバッファ内に読み込むようにさらに構成される。前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する。
【００１３】
一側面は、マルチメディアデータを処理するためのプロセッサを含む。前記プロセッサは、受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定するように構成される。前記プロセッサは、固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第１のバッファ内に読み込むようにさらに構成される。前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備する。前記プロセッサは、可変長コードワードを読み取る場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第１のバッファ内に読み込むようにさらに構成される。前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する。
【００１４】
一側面は、マルチメディアデータストリーム内の可変長符号を復号する方法を含む。前記方法は、前記マルチメディアデータストリームの一部分において第１のビット数を読み取ることを含む。前記方法は、第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別することをさらに含む。前記方法は、前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定することをさらに含む。前記方法は、前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号することをさらに含む。
【００１５】
一側面は、マルチメディアデータストリーム内の可変長符号を復号するための装置を含む。前記装置は、前記マルチメディアデータストリームの一部分において第１のビット数を読み取るための手段を含む。前記装置は、第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別するための手段をさらに含む。前記装置は、前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するための手段をさらに含む。前記装置は、前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するための手段をさらに具備する。
【００１６】
一側面は、マルチメディアデータを処理するための方法を具体化するためのコンピュータ読み取り可能媒体を含む。前記方法は、前記マルチメディアデータストリームの一部分において第１のビット数を読み取ることを含む。前記方法は、第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別することをさらに含む。前記方法は、前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定することをさらに含む。前記方法は、前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号することをさらに含む。
【００１７】
一側面は、マルチメディアデータを処理するための装置を含む。前記装置は、前記マルチメディアデータストリームの一部分において第１のビット数を読み取るように構成された読み取り器を含む。前記装置は、第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別するように構成された識別器をさらに含む。前記装置は、前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するように構成された決定器をさらに具備する。前記装置は、前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するように構成された復号器をさらに具備する。
【００１８】
一側面は、マルチメディアデータを処理するためのプロセッサを含む。前記プロセッサは、前記マルチメディアデータストリームの一部分において第１のビット数を読み取るように構成される。前記プロセッサは、第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別するようにさらに構成される。前記プロセッサは、前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するようにさらに構成される。前記プロセッサは、前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するようにさらに構成される。
【図面の簡単な説明】
【００１９】
【図１】一側面によるマルチメディア通信システムを示す概略的ブロック図である。
【図２】符号化されたマルチメディアデータのビットストリーム、例えば図１に示されるシステムにおいて送信及び受信されるビットストリーム、を復号する方法の一例を示す流れ図である。
【図３Ａ】メモリバッファ内の符号化されたマルチメディアデータのビット単位のストリームを処理する方法を図示した概略的ブロック図である。
【図３Ｂ】メモリバッファ内の符号化されたマルチメディアデータのビット単位のストリームを処理する方法を図示した概略的ブロック図である。
【図４Ａ】図３Ａ及び３Ｂにおいて図示されたバッファを介してビットストリームを処理する方法の一例を示す流れ図である。
【図４Ｂ】図３Ａ及び３Ｂにおいて図示されたバッファを介してビットストリームを処理する方法の一部分の一例を示す流れ図である。
【図４Ｃ】可変長コードワードを処理するために図４Ｂにおいて部分的に示されているビットストリームを処理する方法の一部分の一例をさらに示す流れ図である。
【図４Ｄ】図４Ｃにおいてさらに詳細に示された方法の一部分をさらに示す流れ図である。
【図５】符号化されたマルチメディアデータのビットストリーム、例えば図１に示されたシステムにおいて送信及び受信されるビットストリーム、からの可変長符号で符号化されたマルチメディアデータ要素を処理する方法の一側面を示す流れ図である。
【図６】図５に示された方法において用いられるようなデータ構造の一例を示す概略的ブロック図である。
【図７】符号化されたマルチメディアデータのビットストリーム、例えば図１に示されたシステムにおいて送信及び受信される符号化されたマルチメディアデータのビットストリーム、からの可変長符号を処理する改良された方法の一側面を示す流れ図である。
【図８】受信された符号化されたマルチメディアデータを図４Ａ乃至４Ｄに示された方法により処理するための装置の例を示す。
【図９】受信された符号化されたマルチメディアデータを図５に示された方法により処理するための装置の他の例を示す。
【図１０】受信された符号化されたマルチメディアデータを図４Ａ乃至４Ｄに示された方法により処理するための装置の他の例を示す。
【図１１】受信された符号化されたマルチメディアデータを図５に示された方法により処理するための装置の他の例を示す。
【発明を実施するための形態】
【００２０】
以下の発明を実施するための最良の形態は、開示されたシステム及び方法の一定の例に関するものである。しかしながら、これらのシステム及び方法は、請求項による定義に応じて及び請求項によって網羅された範囲で多数の異なる方法で具体化することが可能である。本説明においては、図面が参照されており、同一のものについては図面全体に渡って同一の参照符号を付すこととする。
【００２１】
一定の側面は、マルチメディア送信システムにおける復号器の改良を含む。マルチメディアデータは、動画映像、音声、静止画像、又はその他の適切な型の音声−映像データのうちの１つ以上を含むことができる。１つの側面は、マルチメディアデータをプロセッサアライメントされた(例えばワードアライメントされた)方法で維持すること及び読み取ることによってビット単位のマルチメディアデータストリームからの固定長及び可変長の符号を構文解析する方法を具備する。他の側面は、復号器テーブルの検索を高速化するために複数のレベルの復号テーブルを用いて特に受信された状態の可変長符号を復号する方法を具備する。
【００２２】
図１は、１つの側面によるマルチメディア通信システム１００を示す概略的ブロック図である。システム１００は、ネットワーク１４０を介して復号器デバイス１５０と通信中の符号器デバイス１１０を含む。一例においては、符号器デバイスは、外部のソース１０２からマルチメディア信号を受信し、該信号をネットワーク１４０において送信するために符号化する。
【００２３】
この例においては、符号器デバイス１１０は、メモリ１１４に結合されたプロセッサ１１２と、トランシーバ１１６と、を具備する。プロセッサ１１２は、マルチメディアデータソースからのデータを符号化し、ネットワーク１４０において通信するためにトランシーバ１１６に提供する。
【００２４】
この例においては、復号器デバイス１５０は、メモリ１５４に結合されたプロセッサ１５２と、トランシーバ１５６と、を具備する。プロセッサ１５２は、汎用プロセッサ又はデジタル信号プロセッサのうちの１つ以上を含むことができる。メモリ１５４は、ソリッドステート又はディスクに基づく記憶装置のうちの１つ以上を含むことができる。トランシーバ１５６は、ネットワーク１４０を通じてマルチメディアデータを受信して前記マルチメディアデータを復号のためにプロセッサ１５２に提供するように構成される。一例においては、トランシーバ１５６は、無線トランシーバを含む。
【００２５】
図２は、符号化されたマルチメディアデータのビットストリーム、例えばシステム１００において送信及び受信されるビットストリーム、を復号する方法の一例を示す流れ図である。一例においては、データのビットストリームは、映像データ及び音声データのうちの１つ以上を具備する。ビットストリームは、ムービング・ピクチャズ・エキスパート・グループ（ＭＰＥＧ）、例えば、ＭＰＥＧ−２、又はＭＰＥＧ−４、によって指定される標準的な映像コーデック等のフォーマットで符号化することができる。ビットストリームは、Ｈ．２６４映像コーディング基準又はその他の映像コーディング基準で符号化することも可能である。
【００２６】
方法は、ブロック１３２において開始し、ブロック１３２において、符号化されたマルチメディアビットストリーム（例えば、データビットのシーケンスとして受信されたマルチメディアデータのストリーム）がトランシーバ１５６によって受信される。一例においては、トランシーバ１５６は、ストリームを、例えばメモリ内における１つ以上のシーケンスでデータバイト又はデータワードとしてメモリ１５４内に格納する。次にブロック１３４において、プロセッサ１５２は、誤りの検出及び訂正を行う。受信されたデータは、最初にメモリ１５４に格納せずに処理することができる点に注目すべきである。
【００２７】
ブロック１３６に移動し、プロセッサ１３６は、ビットストリームを構文解析してデータ要素を識別及び復号する。図４Ｂ乃至４Ｄは、一例によるデータストリームからの可変長及び固定長のコードワードの構文解析を示す。この例においては、可変長コードワードを構文解析することは、これらのコードワードを復号することを具備する。図５乃至７は、一側面により可変長符号を構文解析及び復号する方法を示す。次にブロック１３８において、プロセッサ１５２は、構文解析されたデータに基づいてマルチメディアデータを復号する。
【００２８】
実施形態に依存して、本明細書において説明される方法の一定の行為又はイベントは、異なる順序で行うことが可能であること、追加すること、1つにまとめること、又は完全に省略することが可能であることを認識すべきである（例えば、すべての説明されている行為又はイベントが方法を実践させる上で必要であるわけではない）。さらに、一定の実施形態においては、行為又はイベントは、順次ではなく同時並行して、例えばマルチスレッド処理、割り込み処理、又は複数のプロセッサを通じて行うことができる。
【００２９】
図３Ａ及び３Ｂは、バッファ内の符号化されたマルチメディアデータのビットストリームを処理する方法を図示する概略的ブロック図である。図３Ａは、現在の読み取り位置指標又はポインタ２０４によって識別される非読み取り部分２０２を含むバッファ２００を示す。一例においては、バッファ２００は、メモリ１５４の一部である。他の例においては、バッファ２００は、プロセッサ１５２のレジスタであることができる。バッファ２００は、マルチメディアデータビットストリームからのデータのうちでプロセッサ１５２によって現在復号中の部分を格納する。
【００３０】
マルチメディアデータビットストリームは、プロセッサ１５２のワードサイズに従ってアライメントされた一連のメモリ記憶場所として表わされる。この例においては、プロセッサワードは、３２ビットである。従って、該例においては、マルチメディアデータビットストリームは、４バイトワードの１つ以上のシーケンスとしてメモリに格納される。
【００３１】
バッファ２００は、マルチメディアデータのうちで現在復号中であるワードサイズの、例えば３２ビットの部分を処理することができる作業格納域を提供する。図２のブロック１３６を参照して上述されるように、マルチメディアデータを復号することは、固定長及び可変長のコードワードを構文解析すること及び復号することを含む。固定長コードワードが復号される場合は、ビット数がバッファ２００から符号長に基づいた第２の出力バッファ又は作業バッファ内に読み込まれるか又はコピーされ、例えば、コピーされたビット数は、コードワード内のビット数である(バッファ２００において全コードワードビットを利用可能である場合)。次に、バッファ２００内の読み取られないビットの数及び位置を反映させるために位置ポインタ２０４が更新される。
【００３２】
バッファ２００において利用可能なビット数が固定長コードワードの全ビットを提供する上で不適切である場合は、追加のデータがマルチメディアデータビットストリームから読み取られる。図３Ｂは、追加ビットがビットストリームから読み取られた後の図３Ａのバッファを示す。示される例においては、(図３Ａにおいて示される)バッファ２００の読み取られない部分２０２が出力バッファ２０６にローディング又はコピーされる。さらに、追加の符号化されたマルチメディアデータの３２ビットワードがビットストリームからバッファ２００内に読み込まれて前データをオーバーライトする。一例においては、プロセッサの好まれるビット順序の設定に一致させるために、符号化されたマルチメディアデータの「エンディアンネス（endianness）」の順序を変更することができる。例えば、マルチメディアデータビットストリームがビッグエンディアンフォーマットである場合は、バッファ内のバイトの順序をリトルエンディアンフォーマットに変更することができ、その逆も可能である。
【００３３】
ビットストリーム内のデータのアライメントに対応する３２ビットワードを読み取ることは有意なことに性能を２０乃至３０％向上させることが経験的に判明している。固定長コードワードの残りの部分に対応する新しいデータの一部分２１２が出力バッファ２０６内にローディング又はコピーされる。現在の読み取り位置は、読み取り位置２１４に更新され、バッファ内において一部分２１６を読み取られない状態にして追加のコードワードの構文解析のために利用可能にする。
【００３４】
可変長コードワードの場合は、コードワードが復号されるまで符号の長さが不明であるため、可変長コードワードに関する処理のほうが複雑である。従って、可変長ワードを読み取る場合は、コードワードデータが出力バッファ２０６にコピーされるが、復号されたコードワードが要求されたサイズよりも短い場合にのちに処理するためにバッファ内にもとどまる。復号されたコードワードが、出力バッファ２０６内にコピーされたビット量よりも少ない場合は、依然としてこれらの余分のビットをビットストリームから取り出して処理する必要がある。しかしながら、可変長コードワードの復号のために要求されたビットがバッファ２００内にとどまるため、可変長コードワードを処理する上で不十分な数のビットがバッファ２００内に残る場合は、バッファ２００は、アライメントされたデータの全３２ビットをビットストリームから読み取るための十分なスペースがない。
【００３５】
一例においては、可変長コードワードは、バッファ２００のサイズの１／２、例えば１６ビット、以下である。１つの該例において、追加の可変長コードワードが要求される場合は、１６ビットのデータがストリームから読み取られる。次に、（図３Ａに示されるように）バッファ２０２の読み取られない部分が１６ビットだけ左に(バッファ２００の最上位ビット（ＭＳＢ）方向)にシフトされ、ストリームからの１６ビットの新しいデータがバッファ２００の下方の最下位ビット（ＬＳＢ）内に格納される。
【００３６】
可変長コードワードを処理中の場合はより少ないビット、例えば１６ビット、がバッファ内に読み込まれるため、１６ビットの要求を満たすための十分なスペースが存在する。しかしながら、ビットストリームからバッファへの１６ビットの転送は、将来の読み取りに関してビットストリームを非アライメント状態にする。従って、マルチメディアデータストリームからの可変長符号が構文解析された後にバッファ２００の内容を調整してビットストリームを再アライメントさせることが可能である。一実施形態においては、可変長符号が復号されてその長さが決定された後に、復号された可変長符号のビット数を反映させるためにバッファ２００の現在の読み取り位置ポインタが更新される。例えば、１６よりも少ない数のビットがバッファ２００内に残っている場合は、ビットストリームを再アライメントさせるためにビットストリームからのデータの追加の１６ビットをバッファ２００内にシフトさせることができる。１６よりも多いビットがバッファ２００内にとどまっている場合は、これらのビットのうちの１６ビットをビットストリーム及びバッファ２００に戻してその現在読み取り位置ポインタを適宜シフトさせることができる。
【００３７】
図４Ａは、図３Ａ及び３Ｂに図示されるバッファを介してビットストリームを処理する方法の一例を示す流れ図である。方法は、ブロック２９０において開始し、ブロック２９０において、プロセッサ１５２は、ビットストリームデータの読み取りバッファ、例えば図３Ａに示されるバッファ２００、において利用可能なビット数を決定する。次に判断ブロック２９２において、可変長コードワードを読み取る場合は、方法は、ブロック３００に進み、ブロック３００において、可変長符号がマルチメディアデータビットストリームから読み取られる。代替として、ブロック２９２において、固定長符号を読み取る場合は、方法は、ブロック３３０に進み、ブロック３３０において、固定長符号がビットストリームから読み取られる。ブロック３００及び３３０と関連づけられた方法の一定の実施形態が、図４Ｂ及び４Ｃをそれぞれ参照してより詳細に説明される。
【００３８】
図４Ｂは、図３Ａ及び３Ｂを参照して説明されたバッファを介してビットストリームを処理する方法の一例を示す流れ図である。特に、図４Ｂは、一例により符号化されたマルチメディアストリームからの固定長符号を処理する図４Ａのブロック３００の方法の一部分を示す。方法３００は、ブロック３０２において開始し、ブロック３０２において、プロセッサ１５２は、符号化されたマルチメディアビットストリームからの幾つかの固定長符号ビットを要求する。一例においては、プロセッサ１５２は、ビットストリームを処理又は構文解析するように構成された指定の関数又はモジュールを実行する。ブロック３０４に移動し、プロセッサ１５２は、ビットストリームデータの読み取りバッファ、例えば図３Ａに示されるバッファ２００、において利用可能なビット数を決定する。次に判断ブロック３０６において、利用可能なビット数が要求されたビット数よりも少なくない場合は、方法３００は、ブロック３０８に進み、ブロック３０８において、プロセッサ１５２は、要求されたビット数を出力バッファ、例えば図３に示される出力バッファ２０６、内にコピーする。ブロック３１０に移動し、プロセッサ１５２は、要求されたビット数が読み取りバッファから取り除かれていることを反映させるために、従って読み取りバッファ２００内の未処理ビット数を示すためにバッファポインタ又は指標を更新する。方法３００は、ブロック３１０から終了状態に進み、終了状態においては、マルチメディアデータストリーム内の次の組のデータに関してプロセスを繰り返すことができる。
【００３９】
判断ブロック３０６に戻り、利用可能なビット数が要求されたビット数よりも少ない場合は、方法３００は、ブロック３１４に進み、ブロック３１４において、利用可能なビット数が図３Ｂの出力バッファ２０６内にローディング又はコピーされる。次にブロック３１６において、プロセッサ１５２は、ビットストリームから図３Ｂの読み取りバッファ２００内へのデータのアライメントされたローディング又は読み取りを行う。例えばデータの３２ビットのプロセッサワードのアライメントされた読み取りを行うことは、マルチメディアデータストリームからの固定長符号の構文解析性能を有意に向上させることが判明している。一例においては、プロセッサは、プロセッサワード、例えば３２ビットワード境界においてアライメントされた読み取りポインタ（例えば、マルチメディアストリーム内の構文解析されていないデータの開始）を維持するためにデータに従って読み取る。一例においては、ストリームは、プロセッサ又は計算システムによって決定された１つ以上の方法で、例えばデータアドレス計算又はバスサイズに基づいたシステムアライメント又はプロセッサアライメントを含むシステムアライメント又はプロセッサアライメントに基づいてアライメントすることも可能である。例えば、アライメントされたデータは、３２ビットワードの開始アドレスが４で割り切れるデータを含むことができる。
【００４０】
ブロック３１８に移動し、プロセッサ１５２は、要求されたビットの残りの部分を読み取りバッファ（例えば、図３Ｂの読み取りバッファ２００）から出力バッファ（例えば、図３Ｂの出力バッファ２０６）にコピー又はローディングする。次に、方法３００は、上述されたブロック３１０に進み、要求されたビット数がバッファから取り除かれていることを反映させるために、従ってバッファ２００内の未処理ビット数を示すためにバッファポインタ又は指標（例えば、図３Ｂの最終的読み取り位置２１４）を更新する。方法３００は、ブロック３１０から最終状態に進み、マルチメディアデータストリーム内の次の組のデータに関してプロセスを繰り返すことができる。
【００４１】
図４Ｃは、可変長コードワードを処理するための方法３２０の一例をさらに示す流れ図である。方法３２０は、ブロック３２２において開始し、ブロック３２２において、プロセッサ１５２は、符号化されたマルチメディアビットストリームからの可変長符号ビット数を要求する。一例においては、プロセッサ１５２は、ビットストリームを処理又は構文解析するように構成された指定の関数又はモジュールを実行する。ブロック３２４において、プロセッサ１５２は、読み取りバッファ（例えば、図３Ｂのバッファ２００）において利用可能なビット数を決定する。次に判断ブロック３２６において、要求された可変長コードワードビット数を提供する上で十分なビットが利用可能であるとプロセッサ１５２が決定した場合は、方法は、ブロック３２８に進み、ブロック３２８において、要求されたビット数が出力バッファ内にコピーされる。判断ブロック３２６において、要求されたビット数が利用可能でない場合は、方法３２０はブロック３３０に進み、ブロック３３０において、マルチメディアデータビットストリームからの１６ビットのデータがバッファ、例えばバッファ２００、内に読み込まれる。一例においては、１６ビットは、未処理のマルチメディアストリームデータの開始（読み取られていない）位置がプロセッサ１５２に関して非アライメント状態になる量である。その他の実施形態においては、プロセッサ又はシステムアーキテクチャに基づいて変化し、全バッファサイズよりも少ない（例えば３２ビットよりも少ない）異なるビット数を読み取ることができる。
【００４２】
ブロック３２８に進み、要求されたビット数が出力バッファ内にコピーされる。次にブロック３４０において、プロセッサ１５２は、要求されたビットを用いて可変長符号を復号する。可変長符号を復号することは、可変長コードワードの長さ（従って、可変長コードワードを構成していてストリームから読み取られたデータビット数）を決定することを含む。
【００４３】
ブロック３４２に移動し、可変長コードワードの長さに対応する数のデータビットが読み取りバッファ２００からフラッシング(flushed)される。一例においては、このことは、例えば図３Ａの読み取りポインタ２０４又は図３Ｂの読み取りポインタ２１４によって示される読み取り位置に読み取りポインタを更新することを含む。次にブロック３４４において、追加のビットが（マルチメディアデータストリームを誤アライメントにした）ブロック３３０において読み取られた場合は、プロセッサ１５２は、バッファの誤アライメントを修正する。例えば、図４Ｄにおいてさらに詳細に示されるように、１６ビットよりも少ない数のビットがバッファ２００内に残っている場合は、ビットストリームを再アライメントさせるためにビットストリームからの追加の１６ビットのデータをバッファ２００内にシフトさせることができる。１６ビットよりも多い数のビットがバッファ２００内に残っている場合は、これらのビットのうちの１６ビットをビットストリーム及びバッファ２００に戻してその現在の読み取り位置ポインタを適宜シフトすることができる。
【００４４】
図４Ｄは、図４Ｃのブロック３４４の動作をさらに詳細に示した流れ図である。検査及び訂正３４４は、ブロック３５４において開始し、ブロック３５４において、プロセッサ１５２は、読み取りバッファ２００がブロック３００において誤アライメントされたかどうかを決定する。誤アライメントされなかった場合は、機能３４４は終了する。バッファが誤アライメントされた場合は、機能はブロック３５６に進み、ブロック３５６において、プロセッサ１５２は、読み取りバッファ、例えばバッファ２００、がストリームをアライメントさせるためにマルチメディアストリームからの追加のデータを格納する容量を有するかどうかを決定する。例えば、１６ビットよりも少ない数のビットがバッファ２００内に残っている場合は、３２ビットバッファ２００は、追加の１６ビットを格納する容量を有する。従って、バッファが前記容量を有する場合は、機能３４４は、ブロック３５８に進み、ブロック３５８において、例えばプロセッサ１５２は、追加の１６ビットのデータをビットストリームから読み取り、マルチメディアデータストリームを再アライメントさせるためにこのデータをバッファ２００内にシフトさせる。１６ビットを超える数のビットがバッファ２００内に残っている場合は、これらのビットのうちの１６ビットをビットストリーム及びバッファ２００に戻してその現在の読み取り位置ポインタを適宜シフトさせることができる。判断ブロック３５６において、バッファ２００が追加の１６ビットの容量を有さない場合は、機能３４４はブロック３６０に進み、ブロック３６０において、読み取りバッファ２００からの１６ビットのデータが押し戻される、例えばマルチメディアデータストリームの始めにローディング又はコピーされ、シフトされてバッファから取り除かれる。マルチメディアからのアライメントされていない読み取り時に、実際にデータを移動させてストリームに戻すのではなく、プロセッサ１５２は、データの「押し戻し」がデータを移動させること又はマルチメディアデータストリームから取り除くことなしにアライメントされないポインタをアライメントされたポインタ位置に単に設定し戻すことのみを具備できるようにするために、マルチメディアストリームの読み取り位置を指し示す別個のアライメントされた及びアライメントされないデータポインタを維持することができる。
【００４５】
次に、可変長の符号化されたデータを処理する改良された方法に関する方法が以下において説明される。図５は、符号化されたマルチメディアデータのビットストリーム、例えば、図１に示されたシステム内において送信及び受信されるビットストリーム、からの可変長符号で符号化されたマルチメディアデータ要素を処理する方法４００の一側面を示す流れ図である。方法４００は、ブロック４０２において開始し、プロセッサ１５２は、可変長符号データのビット数をマルチメディアデータストリームから読み取る。このデータは、可変長符号の少なくとも第１の一部分を含む。一例においては、ビット数は８であり、テーブルは、２５６のエントリを含む。しかしながら、その他の実施形態においては、異なるビット数を読み取ることができる。次にブロック４０４において、プロセッサは、ストリームから読み取られた第１の組のビットに基づいて第１の復号テーブル内のエントリを検索する。読み取り中の可変長コードワードが読み取られた第１のビットの組内のビット数よりも短い、例えば８ビット以下である、場合は、読み取られたデータは、マルチメディアデータストリーム内の次のデータ項目の一部分に加えてコードワード全体を含み、復号テーブルエントリは、コードワードを復号するために用いることができる。可変長符号が読み取られた第１のビットの組のビッ数よりも長い、例えば８ビットよりも大きい、場合は、復号テーブルエントリは、コードワードを部分的に復号するために用いることができる。判断ブロック４０６に移動し、プロセッサ１５２は、エントリがコードワードをさらに復号する際に用いるための第２のテーブルへの参照を含むかどうかを決定する。テーブルが第２のテーブルへの参照を含まない場合は、コードワードの長さは、読み取られたデータの長さ以下である。その場合は、方法４００は、オプションでブロック４１０に進むことができ、ブロック４１０においては、第１のテーブルのエントリ内の復号データに基づいて可変長コードワードが復号される。従って、これよりも少ない数のビットが処理され、可変長コードワードを復号するためにこれよりも短いルックアップテーブルを考慮することができ、その結果処理速度が有意に向上する。
【００４６】
ブロック４０６に戻り、第１の復号テーブル内のエントリが第２のテーブルへの参照を含む場合は、方法４００は、オプションでブロック４２０に進むことができ、ブロック４２０において、可変長コードワードが読み取られたビットの第１の組よりも長い、例えば長さの点で８ビットよりも大きいため、第２のビット数がマルチメディアデータストリームから読み取られる。次にブロック４２２において、プロセッサ１５２は、読み取られた第２のビット数に基づき、第２の参照された復号テーブル内のエントリを識別する。一例においては、読み取られた第２のビット数は８であり、第２の参照された復号テーブルは、２５６のエントリを含む。ブロック４１０に進み、プロセッサは、第２の復号テーブルのエントリ内の復号データを用いて可変長符号を復号する。第２の復号テーブルが用いられる場合は、第１及び第２の復号テーブルの両方のエントリからの復号データを用いて可変長コードワードを復号することができる。その他の実施形態においては、追加のルックアップテーブルを用いることが可能であり、従って、コードワードの長さが第１の２つのテーブル内のビット数を超える場合は、第２のテーブルは、第３のテーブルを参照し、以下同様である。
【００４７】
一例において、可変長符号がマルチメディアデータストリームから読み取り中である場合は、データは、コードワードが復号されてその長さが決定されるまでストリーム内にとどまる。次にブロック４１２において、プロセッサ４１２は、復号テーブルエントリ（又は複数のエントリ）によって指定された数のビットをマルチメディアデータストリームからフラッシングする。一例においては、方法４００は、可変長符号データをビットストリームから読み取るために図４Ａ乃至４Ｄを参照して説明されているビットストリームを構文解析する方法３００を用いることを含む。
【００４８】
方法４００の実施形態は、映像データストリーム内のルマデータ及びクロマデータ等のマルチメディアデータ要素の復号に適用することができる。音声、映像、テキスト、メタデータ、画像、又は可変長符号で符号化されたその他のあらゆる適切な型のデータのうちの１つを具備するストリーム内のデータ要素を含むマルチメディアデータ要素を復号するための実施形態を用いることができる。
【００４９】
図６は、例えば方法４００において用いられているようなデータ構造の一例を示す概略的ブロック図である。一例においては、第１の復号テーブル４４２は、数多くのエントリ４４４を含む。テーブル４４２は、当業において知られる方法を含むいずれかの適切な方法に従ってルックアップテーブルとしてアクセスすることができるエントリの配列であることができる。各エントリ４４４は、コードワードを復号するためのデータ、コードワードの長さを示すデータ、又は第２レベル復号テーブル４４６を指し示す又は参照するデータのうちの１つ以上を格納することができる。コードワードを復号するためのデータは、コードワードを復号する際に用いるためのさらなるデータを含む他のデータ構造（示されていない）を示すポインタ又は参照を含むことができる。可変長符号に依存して、テーブル４４２は、１つ以上の第２レベル復号テーブル４４６を指し示すか又は参照することができる。可変長符号に依存して、第２レベル復号テーブル４４６は、第３レベル復号テーブルへのさらなる参照を含むことができ、第３レベル復号テーブルは、第２レベルテーブル４４６と類似する構造を有する。各第２レベルテーブルは、エントリ４４８を含み、該エントリは、コードワードを復号するためのデータ、コードワードの長さを示すデータ、又は第３レベルテーブルにアクセスするためのポインタ又は参照のうちの１つ以上を含むことができる。図５を参照して上述されるように、方法４００は、第１レベル復号テーブル４４２において固定された数のコードワードビットを検索する。コードワードがコードワードビット数よりも短い場合は、第１レベルテーブル４４２内のデータを用いてコードワードが復号される。第１レベルテーブル内のエントリ４４４によって示されようにコードワードがそれよりも長い場合は、第２レベル復号テーブル４４６（さらに可能なことに第３レベル又は第４レベルのテーブル）からの追加の復号データを検索してより長いコードワードを復号するために用いることができる。
【００５０】
図７は、符号化されたマルチメディアデータのビットストリーム、例えば図１に示されるシステムにおいて送信及び受信されるビットストリーム、からの可変長符号を処理する改良された方法５００の一例を示す流れ図である。この例においては、符号は、接頭辞及び接尾辞を含む。方法５００は、ブロック５０２において開始し、ブロック５０２において、プロセッサ１５２は、接尾辞の長さがゼロであるかどうかを決定する。接尾辞の長さがゼロである場合は、方法５００は、ブロック５０４に進み、ブロック５０４において、プロセッサ１５２は、接頭辞が予め決められた値、例えば１４、以下であるかどうかを決定する。ブロック５０４において、接頭辞が１４以下である場合は、方法５００は終了し、マルチメディアデータストリーム内の次の組のデータに関してプロセスを繰り返すことができる。ブロック５０４において、接頭辞が１４未満でないと決定された場合は、方法５００は、判断ブロック５０６に進み、判断ブロック５０６において、接頭辞が予め決められた値、例えば１４、と比較される。接頭辞がこの値に等しい場合は、方法５００はブロック５１０に進み、ブロック５１０において、４ビットが読み取られる。接頭辞が予め決められた値１４でない場合は、方法５００はブロック５１２に進み、ブロック５１２において１２ビットが読み取られる。次にブロック５１４において、可変長符号の処理と関連づけられたレベル符号が１５だけ増分され、マルチメディアデータストリーム内の次の組のデータに関してプロセスを繰り返すことができる。
【００５１】
ブロック５０２に戻り、接尾辞長がゼロでない場合は、方法５００は、判断ブロック５２０に進み、判断ブロック５２０において、プロセッサ１５２は、接頭辞が予め決められた値、例えば１４、以下であるかどうかを決定する。接頭辞が１４以下である場合は、プロセッサ１５２は、接尾辞ビット、例えば接尾辞長によって指定されたビット数、を読み取る。接頭辞が１４よりも大きい場合は、方法５００は、ブロック５２４に移動し、ブロック５２４において、プロセッサ１５２は、マルチメディアデータストリームから１２ビットを読み取る。マルチメディアデータストリーム内の次の組のデータに関してプロセスを繰り返すことができる。
【００５２】
一例においては、受信された符号化されたマルチメディアデータを処理するための装置は、受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定するための手段を具備することができる。装置は、コードワードを読み取るための手段をさらに具備する。固定長コードワードを読み取る場合は、読み取るための手段は、プロセッサアライメントされたデータをビットストリームから第１のバッファ内に読み込む。固定されたコードワードは、決定された利用可能なビットと、プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備する。可変長コードワードを読み取る場合は、読み取るための手段は、プロセッサアライメントされないデータをビットストリームから第１のバッファ内に読み込む。可変長コードワードは、利用可能なビットの少なくとも一部を具備する。図８は、受信された符号化されたマルチメディアデータを処理するための復号器１５０の例を示す。決定するための手段は、決定モジュール８０２を具備することができる。コードワードを読み取るための手段は、コードワード読み取るモジュール８０４を具備することができる。図８に示される復号器１５０の例は、図４Ａ乃至４Ｄを参照して説明される方法を実行するように構成することができる。
【００５３】
一例においては、マルチメディアデータストリーム内の可変長符号を復号するための装置は、マルチメディアデータストリームの一部分において第１のビット数を読み取るための手段を具備する。装置は、第１のデータ構造における第１の復号データを第１のビット数に少なくても部分的に基づいて識別するための手段をさらに具備する。装置は、第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するための手段をさらに具備する。装置は、第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するための手段をさらに含む。図９は、マルチメディアデータストリーム内の可変長符号を復号するための復号器１５０の例を示す。読み取るための手段は、読み取りモジュール９０２を具備することができる。識別するための手段は、識別モジュール９０４を具備することができる。決定するための手段は、決定モジュール９０６を具備することができる。復号するための手段は、復号モジュール９０８を具備することができる。図９に示される復号器１５０の例は、図５を参照して説明される方法を実行するように構成することができる。
【００５４】
図１０は、復号器１５０の他の例を示す。図１０に示される復号器１５０の例は、図４Ａ乃至４Ｄを参照して説明される方法を実行するように構成することができる。図１０に示される復号器１５０の例は、受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定するように構成された決定器１００２を具備する。復号器１５０は、固定長コードワードを読み取る場合は、プロセッサアライメントされたデータをビットストリームから第１のバッファ内に読み込むように構成された読み取り器１００４をさらに具備する。固定長コードワードは、決定された利用可能なビットと、プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備する。読み取り器１００４は、可変長コードワードを読み取る場合は、プロセッサアライメントされないデータをビットストリームから第１のバッファ内に読み込むようにさらに構成される。可変長コードワードは、利用可能なビットの少なくとも一部を具備する。復号器１５０は、固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを読み取り次にプロセッサアライメントされたデータの一部分と関連づけられたビットを第１のバッファから第２のバッファにコピーする前に決定された利用可能なビットを第２のバッファ内にコピーするように構成されたコピー器１００６をさらに具備することができる。復号器１５０は、可変長コードワードを復号するように構成されるコードワード復号器１００８をさらに含むことができる。復号器１５０は、復号された可変長コードワードの長さに少なくとも部分的に基づいて第１のバッファにおいて利用可能なビット数を更新するように構成された更新器１０１０と、第１のバッファの内容を調整してビットストリーム内のデータをアライメントさせるように構成された調整器１０１２と、をさらに具備することができる。一側面においては、復号器１５０は、第１のデータ構造における第１の復号データ第１のバッファ内のデータに少なくとも部分的に基づいて識別するように構成された識別器１０１４と、第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するように構成された第２の決定器１０１６と、をさらに含む。
【００５５】
図１１は、復号器１５０の他の例を示す。図１１に示される復号器１５０の例は、図５を参照して説明される方法を実行するように構成することができる。図１１に示される復号器１５０の例は、マルチメディアデータストリームの一部分において第１のビット数を読み取るように構成された読み取り器１１０２を具備する。復号器１５０は、第１のデータ構造における第１の復号データ第１のビット数に少なくとも部分的に基づいて識別するように構成された識別器１１０４をさらに具備する。復号器１５０は、第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するように構成された決定器１１０６をさらに具備する。復号器１５０は、第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するように構成された復号器１１０８をさらに具備する。一側面においては、復号器１５０は、マルチメディアデータストリームの第２の一部分内の第２のビット数を読み取るように構成された第２の読み取り器１１１０と、第２のデータ構造における復号データをマルチメディアデータの第２の一部分に少なくとも部分的に基づいて識別するように構成された第２の識別器１１１２と、をさらに具備する。
【００５６】
本明細書において開示された実施形態に関連して説明されている様々な例示的論理ブロック、モジュール、回路、及びアルゴリズム上のステップは、電子ハードウェアとして、コンピュータソフトウェアとして、又は両方の組合せとして実装できることを当業者は理解するであろう。ハードウェアとソフトウェアのこの互換性を明確に例示するため、上記においては、様々な例示的構成要素、ブロック、モジュール、回路、及びステップが、各々の機能の観点で一般的に説明されている。これらの機能がハードウェアとして又はソフトウェアとして実装されるかは、全体的システムに対する特定の用途上の及び設計上の制約事項に依存する。当業者は、説明されている機能を各々の特定の用途に合わせて様々な形で実装することができるが、これらの実装決定は、本発明の適用範囲からの逸脱を生じさせるものであるとは解釈すべきではない。  
本明細書において開示された実施形態に関連して説明されている様々な例示的な論理ブロック、モジュール、及び回路は、プロセッサ１５２によって実装又は実行することができ、又は、本明細書において説明されている機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、その他のプログラミング可能な論理デバイス、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェア構成品、又はそのあらゆる組合せ、とともに実装又は実行することができる。汎用プロセッサはマイクロプロセッサであることができるが、代替として、従来のどのようなプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。プロセッサは、計算装置の組合せ、例えば、ＤＳＰと、１つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサの組合せ、ＤＳＰコアと関連する１つ以上のマイクロプロセッサの組合せ、又はその他のあらゆる該コンフィギュレーションとの組合せ、として実装することもできる。
【００５７】
本明細書において開示された実施形態に関連して説明されている方法又はアルゴリズムのステップは、ハードウェア内において直接具体化させること、プロセッサによって実行されるソフトウェアモジュール内において具体化させること、又は両方の組合せ内において具体化させることができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＲＰＯＭメモリ、ＥＥＲＰＯＭメモリ、レジスタ、ハードディスク、取り外し可能ディスク、ＣＤ−ＲＯＭ、又は当業において知られるその他のあらゆる形態の記憶媒体に常駐することが可能である。典型的記憶媒体は、プロセッサが記憶媒体から情報を読み出すことができるように及び記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体は、プロセッサと一体化させることができる。プロセッサ及び記憶媒体は、ＡＳＩＣ内に常駐することができる。ＡＳＩＣは、ユーザー端末内に常駐することができる。代替として、プロセッサ及び記憶媒体は、ユーザー端末において個別構成要素として常駐することができる。
【００５８】
さらに、図１及び８乃至１０の復号器デバイス１５０は、単純化された例であることに注目すべきである。従って、上述される復号器の動作に対して影響を与えずに追加の要素を加えることができる。さらに、図１、８、９、１０及び／又は１１の復号器デバイス１５０の要素のうちの１つ又はその組み合わせは、上述される復号器の動作に対して影響を及ぼさずに結合させること及び／又は再配置することができる。
【００５９】
従って、開示された実施形態に関する上記の説明は、当業者が本発明を製造又は使用できるようにすることを目的とするものである。これらの実施形態に対する様々な修正は、当業者にとっては容易に明確になるであろう。さらに、本明細書において定められた一般原理は、その他の実施形態に対しても適用することができる。以上のように、本発明は、本明細書において示されている実施形態に限定されることが意図されるものではなく、本明細書において開示されている原理及び斬新な特長に一致する限りにおいて最も広範な適用範囲が認められるべきである。
【００６０】
上記の発明を実施するための最良の形態は、様々な実施形態に対して当てはまる本発明の斬新な特長を示している、説明している、及び指摘している一方で、例示されているデバイス又はプロセスの様々な省略、置換、及びその形態及び詳細の変更を本発明の精神から逸脱せずに当業者によって行うことができることが理解されるであろう。認識されるように、幾つかの特長は、互いに別個に用いること又は実践することができるため、本発明は、本明細書において示されているすべての特長及び利益を提供しない形式内において具体化させることができる。本発明の適用範囲は、上記の説明によってではなく添付された請求項によって示される。添付された請求項の意味及び同等の意味の範囲内にあるすべての変更は、その適用範囲内に包含されるべきである。
【図１】
2011109678.tif 000003
【図２】
2011109678.tif 000004
【図３Ａ】
2011109678.tif 000005
【図３Ｂ】
2011109678.tif 000006
【図４Ａ】
2011109678.tif 000007
【図４Ｂ】
2011109678.tif 000008
【図４Ｃ】
2011109678.tif 000009
【図４Ｄ】
2011109678.tif 000010
【図５】
2011109678.tif 000011
【図６】
2011109678.tif 000012
【図７】
2011109678.tif 000013
【図８】
2011109678.tif 000014
【図９】
2011109678.tif 000015
【図１０】
2011109678.tif 000016
【図１１】
2011109678.tif 000017
【手続補正書】
【提出日】平成23年1月14日(2011.1.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
受信された符号化されたマルチメディアデータを処理する方法であって、
受信されたビットストリームからの符号化されたマルチメディアデータの第１のバッファにおいて利用可能なビット数を決定することと、
固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第１のバッファ内に読み込むことと、
可変長コードワードを読み取る場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第１のバッファ内に読み込むこと、とを具備し、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する、方法。
【手続補正書】
【提出日】平成23年3月11日(2011.3.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチメディアデータストリームにおいて可変長符号を復号する方法であって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取ることと、
第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別することと、
前記第１の復号データが第２の復号データを具備する第２のデータ構造を示しているかどうかを決定することと、
前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号すること、とを具備する、方法。
【請求項２】
前記第１のビット数は、前記第１のデータ構造における前記エントリ数と関連づけられる請求項１に記載の方法。
【請求項３】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項１に記載の方法。
【請求項４】
前記マルチメディアデータを復号することは、前記第１の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号することを具備する請求項１に記載の方法。
【請求項５】
前記マルチメディアデータを復号することは、前記第１の復号データが復号されたマルチメディアデータを示している場合に前記第１の復号データに少なくとも部分的に基づく請求項１に記載の方法。
【請求項６】
前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取ることと、
第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別すること、とをさらに具備する請求項１に記載の方法。
【請求項７】
前記第２のビット数は、前記第２のデータ構造における前記エントリ数と関連づけられる請求項６に記載の方法。
【請求項８】
前記第２の復号データは、復号データを具備する第３のデータ構造を示しているかどうかを決定することをさらに具備する請求項６に記載の方法。
【請求項９】
前記マルチメディアデータを復号することは、前記第２の復号データに少なくとも部分的に基づく請求項６に記載の方法。
【請求項１０】
前記第１のデータ構造は、ルックアップテーブルを具備する請求項１に記載の方法。
【請求項１１】
マルチメディアデータストリーム内の可変長符号を復号するための装置であって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取るための手段と、
第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別するための手段と、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するための手段と、
前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するための手段と、を具備する、装置。
【請求項１２】
前記第１のビット数は、前記第１のデータ構造内の前記エントリ数と関連づけられる請求項１１に記載の装置。
【請求項１３】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項１１に記載の装置。
【請求項１４】
前記マルチメディアデータを復号するための前記手段は、前記第１の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するための手段を具備する請求項１１に記載の装置。
【請求項１５】
前記マルチメディアデータを復号することは、前記第１の復号データが復号されたマルチメディアデータを示している場合に前記第１の復号データに少なくとも部分的に基づく請求項１４に記載の装置。
【請求項１６】
前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取るための手段と、
第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別するための手段と、をさらに具備する請求項１１に記載の装置。
【請求項１７】
前記第２のビット数は、前記第２のデータ構造における前記エントリ数と関連づけられる請求項１６に記載の装置。
【請求項１８】
前記第２の復号データが復号データを具備する第３のデータ構造を示しているかどうかを決定するための手段をさらに具備する請求項１６に記載の装置。
【請求項１９】
前記マルチメディアデータを復号することは、前記第２の復号データに少なくとも部分的に基づく請求項１６に記載の装置。
【請求項２０】
マルチメディアデータを処理するための方法であって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取ることと、
第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別することと、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定することと、
前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号すること、とを具備する方法、を具体化するためのコンピュータ読み取り可能媒体。
【請求項２１】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項２０に記載のコンピュータ読み取り可能媒体。
【請求項２２】
前記マルチメディアデータを復号することは、前記第１の復号データに少なくとも部分的に基づく請求項２０に記載のコンピュータ読み取り可能媒体。
【請求項２３】
前記マルチメディアデータを復号することは、前記第１の復号データが復号されたマルチメディアデータを示している場合に前記第１の復号データに少なくとも部分的に基づく請求項２２に記載のコンピュータ読み取り可能媒体。
【請求項２４】
前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取ることと、
第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別すること、とをさらに具備する請求項５３に記載のコンピュータ読み取り可能媒体。
【請求項２５】
前記方法は、前記第２の復号データが復号データを具備する第３のデータ構造を示しているかどうかを決定することをさらに具備する請求項２４に記載のコンピュータ読み取り可能媒体。
【請求項２６】
前記マルチメディアデータを復号することは、前記第２の復号データに少なくとも部分的に基づく請求項２４に記載のコンピュータ読み取り可能媒体。
【請求項２７】
マルチメディアデータを処理するための装置であって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取るように構成された読み取り器と、
第１のデータ構造における第１の復号データを前記第１のビット数に少なくとも部分的に基づいて識別するように構成された識別器と、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定するように構成された決定器と、
前記第１又は第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するように構成された復号器と、を具備する、装置。
【請求項２８】
前記第１のビット数は、前記第１のデータ構造における前記エントリ数と関連づけられる請求項２７に記載の装置。
【請求項２９】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項２７に記載の装置。
【請求項３０】
前記復号器は、前記第１の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するようにさらに構成される請求項２７に記載の装置。
【請求項３１】
前記復号器は、前記第１の復号データが復号されたマルチメディアデータを示している場合に前記第１の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するように構成される請求項３０に記載の装置。
【請求項３２】
前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取るように構成された第２の読取り器と、
第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別するように構成された第２の識別器と、をさらに具備する請求項２７に記載の装置。
【請求項３３】
前記第２のビット数は、前記第２のデータ構造における前記エントリ数と関連づけられる請求項３２に記載の装置。
【請求項３４】
前記決定器は、前記第２の復号データが復号データを具備する第３のデータ構造を示しているかどうかを決定するようにさらに構成される請求項３２に記載の装置。
【請求項３５】
前記復号器は、前記第２の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するようにさらに構成される請求項３２に記載の装置。
【請求項３６】
前記第１のデータ構造は、ルックアップテーブルを具備する請求項２７に記載の装置。
【請求項３７】
マルチメディアデータを処理するためのプロセッサであって、
前記マルチメディアデータストリームの一部分において第１のビット数を読み取り、
第１のデータ構造における第１の復号データを前記第１のビット数に基づいて識別し、
前記第１の復号データが復号データを具備する第２のデータ構造を示しているかどうかを決定し、さらに前記第１及び第２の復号データのうちの１つに少なくとも部分的に基づいてマルチメディアデータを復号するように構成される、プロセッサ。
【請求項３８】
前記第１のビット数は、前記第１のデータ構造における前記エントリ数と関連づけられる請求項３７に記載の装置。
【請求項３９】
前記第１の復号データは、前記第２のデータ構造を指し示すポインタを具備する請求項３７に記載の装置。
【請求項４０】
前記プロセッサは、前記マルチメディアデータストリームの第２の一部分において第２のビット数を読み取るようにさらに構成され、第２のデータ構造における前記第２の復号データを前記マルチメディアデータの前記第２の一部分に少なくとも部分的に基づいて識別するように構成される請求項３７に記載のプロセッサ。
【請求項４１】
前記第２のビット数は、前記第２のデータ構造における前記エントリ数と関連づけられる請求項４０に記載のプロセッサ。
【請求項４２】
前記プロセッサは、前記第２の復号データが復号データを具備する第３のデータ構造を示しているかどうかを決定するようにさらに構成される請求項４０に記載のプロセッサ。
【請求項４３】
前記プロセッサは、前記マルチメディアデータストリームと関連づけられたバッファから８ビットのデータを少なくとも部分的にコピーすることによって前記第１のビット数を読み取るように構成される請求項３７に記載のプロセッサ。
【外国語明細書】
2011109678000001.pdf