JP5567155B2 - 改良されたマルチメディアデコーダに関する方法及び装置 - Google Patents
改良されたマルチメディアデコーダに関する方法及び装置 Download PDFInfo
- Publication number
- JP5567155B2 JP5567155B2 JP2013000188A JP2013000188A JP5567155B2 JP 5567155 B2 JP5567155 B2 JP 5567155B2 JP 2013000188 A JP2013000188 A JP 2013000188A JP 2013000188 A JP2013000188 A JP 2013000188A JP 5567155 B2 JP5567155 B2 JP 5567155B2
- Authority
- JP
- Japan
- Prior art keywords
- bits
- read buffer
- multimedia data
- data
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
- H03M7/425—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
Description
本特許出願は、米国仮特許出願番号60/681,194(出願日:2005年5月13日)及び"VIDEO DECODER OPTIMIZATIONS"(ビデオデコーダ最適化)という題名を有する米国仮特許出願番号60/789,455(出願日:2006年4月4日)の利益を主張し、本明細書において参照することによって該特許出願全体を本明細書に組み入れるものである。
本明細書において開示された実施形態に関連して説明されている様々な例示的な論理ブロック、モジュール、及び回路は、プロセッサ152によって実装又は実行することができ、又は、本明細書において説明されている機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、その他のプログラミング可能な論理デバイス、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェア構成品、又はそのあらゆる組合せ、とともに実装又は実行することができる。汎用プロセッサはマイクロプロセッサであることができるが、代替として、従来のどのようなプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。プロセッサは、計算装置の組合せ、例えば、DSPと、1つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサの組合せ、DSPコアと関連する1つ以上のマイクロプロセッサの組合せ、又はその他のあらゆる該コンフィギュレーションとの組合せ、として実装することもできる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
受信された符号化されたマルチメディアデータを処理する方法であって、
受信されたビットストリームからの符号化されたマルチメディアデータの第1のバッファにおいて利用可能なビット数を決定することと、
固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第1のバッファ内に読み込むことと、
可変長コードワードを読み取る場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第1のバッファ内に読み込むこと、とを具備し、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する、方法。
[C2]
前記固定長コードワードを読み取る場合は、前記プロセッサアライメントされたデータを読み取り次に前記プロセッサアライメントされたデータの前記一部分と関連づけられたビットを前記第1のバッファから第2のバッファにコピーする前に前記決定された利用可能なビットを前記第2のバッファ内にコピーすることをさらに具備する[C1]に記載の方法。
[C3]
プロセッサアライメントされないデータを読み取ることは、16ビットを読み取ることを具備し、プロセッサアライメントされたデータを読み取ることは、32ビットを読み取ることを具備する[C1]に記載の方法。
[C4]
前記可変長コードワードを復号することと、
前記第1のバッファにおいて利用可能な前記ビット数を前記復号された可変長コードワードの前記長さに少なくとも部分的に基づいて更新することと、
前記第1のバッファの前記内容を調整して前記ビットストリームにおいてデータをアライメントさせること、とをさらに具備する[C1]に記載の方法。
[C5]
前記可変長コードワードを復号することは、
第1のデータ構造における第1の復号データを前記第1のバッファ内のデータに少なくとも部分的に基づいて識別することと、
前記第1の復号データが復号データを具備する第2のデータ構造を示しているかどうかを決定すること、とを具備する[C4]に記載の方法。
[C6]
前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせることは、プロセッサアライメントされないデータを前記ビットストリームから読み取ることを具備する[C4]に記載の方法。
[C7]
前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせることは、前記プロセッサアライメントされないデータを前記ビットストリームに戻すことを具備する[C4]に記載の方法。
[C8]
プロセッサアライメントされたデータを符号化されたマルチメディアデータの前記ビットストリームから読み取ることは、ワード内のデータバイトの順序を変更することを具備する[C1]に記載の方法。
[C9]
ワード内のデータバイトの順序を変更することは、データの順序をビッグエンディアンフォーマットからリトルエンディアンフォーマットに変更することを具備する[C8]に記載の方法。
[C10]
マルチメディアデータを処理するための方法であって、
受信されたビットストリームからの符号化されたマルチメディアデータの第1のバッファにおいて利用可能なビット数を決定することと、
固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第1のバッファ内に読み込むことと、
可変長コードワードである場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第1のバッファ内に読み込むこと、とを具備し、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する方法、を具体化するためのコンピュータ読み取り可能媒体。
[C11]
前記方法は、
前記可変長コードワードを復号することと、
前記第1のバッファにおいて利用可能な前記ビット数を前記復号された可変長コードワードの前記長さに少なくとも部分的に基づいて更新することと、
前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせること、とをさらに具備する[C10]に記載のコンピュータ読み取り可能媒体。
[C12]
前記可変長コードワードを復号することは、
第1のデータ構造における第1の復号データを前記第1のバッファ内のデータに少なくとも部分的に基づいて識別することと、
前記第1の復号データが復号データを具備する第2のデータ構造を示しているかどうかを決定すること、とを具備する[C11]に記載のコンピュータ読み取り可能媒体。
[C13]
受信された符号化されたマルチメディアデータを処理するための装置であって、
受信されたビットストリームからの符号化されたマルチメディアデータの第1のバッファにおいて利用可能なビット数を決定するための手段と、
コードワードを読み取るための手段と、を具備し、固定長コードワードを読み取る場合は、読み取るための前記手段は、プロセッサアライメントされたデータを前記ビットストリームから前記第1のバッファ内に読み込み、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、可変長コードワードを読み取る場合は、読み取るための前記手段は、プロセッサアライメントされないデータを前記ビットストリームから前記第1のバッファ内に読み込み、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する、装置。
[C14]
読み取るための前記手段は、前記プロセッサアライメントされたデータを読み取り次に前記プロセッサアライメントされたデータの前記一部分と関連づけられたビットを前記第1のバッファから第2のバッファにコピーする前に前記決定された利用可能なビットを前記第2のバッファ内にコピーするための手段をさらに具備する[C13]に記載の装置。
[C15]
プロセッサアライメントされないデータを読み取るための前記手段は、16ビットを読み取るための手段を具備し、プロセッサアライメントされたデータを読み取ることは、32ビットを読み取ることを具備する[C13]に記載の装置。
[C16]
前記可変長コードワードを復号するための手段と、
前記第1のバッファにおいて利用可能な前記ビット数を前記復号された可変長コードワードの前記長さに少なくとも部分的に基づいて更新するための手段と、
前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるための手段と、をさらに具備する[C13]に記載の装置。
[C17]
前記可変長コードワードを復号するための前記手段は、
第1のデータ構造における第1の復号データを前記第1のバッファ内のデータに少なくとも部分的に基づいて識別するための手段と、
前記第1の復号データが復号データを具備する第2のデータ構造を示しているかどうかを決定するための手段と、を具備する[C16]に記載の装置
[C18]
前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるための前記手段は、プロセッサアライメントされないデータを前記ビットストリームから読み取るための手段を具備する[C16]に記載の装置。
[C19]
前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるための前記手段は、プロセッサアライメントされないデータを前記ビットストリームに戻すための手段を具備する[C16]に記載の装置。
[C20]
マルチメディアデータを処理するための装置であって、
受信されたビットストリームからの符号化されたマルチメディアデータの第1のバッファにおいて利用可能なビット数を決定するように構成された決定器と、
固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第1のバッファ内に読み込み、可変長コードワードである場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第1のバッファ内に読み込むように構成された読み取り器と、を具備し、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する、装置。
[C21]
固定長コードワードを読み取る場合は、前記プロセッサアライメントされたデータを読み取り次に前記プロセッサアライメントされたデータの前記一部分と関連づけられたビットを前記第1のバッファから第2のバッファにコピーする前に前記決定された利用可能なビットを前記第2のバッファ内にコピーするように構成されたコピー器をさらに具備する[C20]に記載の装置。
[C22]
前記読み取り器は、16ビットのデータを具備するプロセッサアライメントされないデータを読み取るように構成され、前記読み取り器は、32ビットのデータを具備するプロセッサアライメントされたデータを読み取るように構成される[C20]に記載の装置。
[C23]
前記可変長コードワードを復号するように構成されたコードワード復号器と、
前記第1のバッファにおいて利用可能な前記ビット数を前記復号された可変長コードワードの前記長さに少なくとも部分的に基づいて更新するように構成された更新器と、
前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるように構成された調整器と、をさらに具備する請求項20に記載の装置。
[C24]
第1のデータ構造における第1の復号データを前記第1のバッファ内のデータに少なくとも部分的に基づいて識別するように構成された識別器と、
前記第1の復号データが復号データを具備する第2のデータ構造を示しているかどうかを決定するように構成された第2の決定器と、をさらに具備する[C20]に記載の装置。
[C25]
前記調整器は、プロセッサアライメントされないデータを前記ビットストリームから少なくとも部分的に読み取ることによって前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるように構成される[C24]に記載の装置。
[C26]
前記調整器は、前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせることの一部として、プロセッサアライメントされないデータを前記ビットストリームに戻すようにさらに構成される[C24]に記載の装置。
[C27]
前記読み取り器は、プロセッサアライメントされたデータを符号化されたマルチメディアデータの前記ストリームから読み取ることの一部として、ワード内のデータバイトの順序を変更するようにさらに構成される[C20]に記載の装置。
[C28]
マルチメディアデータを処理するためのプロセッサであって、
受信されたビットストリームからの符号化されたマルチメディアデータの第1のバッファにおいて利用可能なビット数を決定し、
固定長コードワードを読み取る場合は、プロセッサアライメントされたデータを前記ビットストリームから前記第1のバッファ内に読み込み、可変長コードワードを読み取る場合は、プロセッサアライメントされないデータを前記ビットストリームから前記第1のバッファ内に読み込むように構成され、前記固定長コードワードは、前記決定された利用可能なビットと、前記プロセッサアライメントされたデータの一部分と関連づけられたビットと、を具備し、前記可変長コードワードは、前記利用可能なビットの少なくとも一部を具備する、プロセッサ。
[C29]
前記プロセッサは、固定長コードワードを読み取る場合は、前記プロセッサアライメントされたデータを読み取って次に前記プロセッサアライメントされたデータの前記一部分と関連づけられたビットを前記第1のバッファから第2のバッファにコピーする前に前記決定された利用可能なビットを前記第2のバッファ内にコピーするようにさらに構成される[C28]に記載のプロセッサ。
[C30]
前記プロセッサは、第1のデータ構造における第1の復号データを前記第1のバッファ内のデータに少なくとも部分的に基づいて識別し、前記復号データが復号データを具備する第2のデータ構造を示しているかどうかを決定するようにさらに構成される[C28]に記載のプロセッサ。
[C31]
前記プロセッサは、プロセッサアライメントされないデータを前記ビットストリームから少なくとも部分的に読み取ることによって前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせるように構成される[C30]に記載のプロセッサ。
[C32]
前記プロセッサは、前記第1のバッファの前記内容を調整して前記ビットストリーム内においてデータをアライメントさせることの一部として、プロセッサアライメントされないデータを前記ビットストリームに戻すようにさらに構成される[C30]に記載のプロセッサ。
[C33]
前記プロセッサは、プロセッサアライメントされたデータを符号化されたマルチメディアデータの前記ストリームから読み取ることの一部として、ワード内のデータバイトの順序を変更するようにさらに構成される[C28]に記載のプロセッサ。
[C34]
マルチメディアデータストリームにおいて可変長符号を復号する方法であって、
前記マルチメディアデータストリームの一部分において第1のビット数を読み取ることと、
第1のデータ構造における第1の復号データを前記第1のビット数に少なくとも部分的に基づいて識別することと、
前記第1の復号データが第2の復号データを具備する第2のデータ構造を示しているかどうかを決定することと、
前記第1及び第2の復号データのうちの1つに少なくとも部分的に基づいてマルチメディアデータを復号すること、とを具備する、方法。
[C35]
前記第1のビット数は、前記第1のデータ構造における前記エントリ数と関連づけられる[C34]に記載の方法。
[C36]
前記第1の復号データは、前記第2のデータ構造を指し示すポインタを具備する[C34]に記載の方法。
[C37]
前記マルチメディアデータを復号することは、前記第1の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号することを具備する[C34]に記載の方法。
[C38]
前記マルチメディアデータを復号することは、前記第1の復号データが復号されたマルチメディアデータを示している場合に前記第1の復号データに少なくとも部分的に基づく[C34]に記載の方法。
[C39]
前記マルチメディアデータストリームの第2の一部分において第2のビット数を読み取ることと、
第2のデータ構造における前記第2の復号データを前記マルチメディアデータの前記第2の一部分に少なくとも部分的に基づいて識別すること、とをさらに具備する[C34]に記載の方法。
[C40]
前記第2のビット数は、前記第2のデータ構造における前記エントリ数と関連づけられる[C39]に記載の方法。
[C41]
前記第2の復号データは、復号データを具備する第3のデータ構造を示しているかどうかを決定することをさらに具備する[C39]に記載の方法。
[C42]
前記マルチメディアデータを復号することは、前記第2の復号データに少なくとも部分的に基づく[C39]に記載の方法。
[C43]
前記第1のデータ構造は、ルックアップテーブルを具備する[C34]に記載の方法。
[C44]
マルチメディアデータストリーム内の可変長符号を復号するための装置であって、
前記マルチメディアデータストリームの一部分において第1のビット数を読み取るための手段と、
第1のデータ構造における第1の復号データを前記第1のビット数に少なくとも部分的に基づいて識別するための手段と、
前記第1の復号データが復号データを具備する第2のデータ構造を示しているかどうかを決定するための手段と、
前記第1及び第2の復号データのうちの1つに少なくとも部分的に基づいてマルチメディアデータを復号するための手段と、を具備する、装置。
[C45]
前記第1のビット数は、前記第1のデータ構造内の前記エントリ数と関連づけられる[C44]に記載の装置。
[C46]
前記第1の復号データは、前記第2のデータ構造を指し示すポインタを具備する[C44]に記載の装置。
[C47]
前記マルチメディアデータを復号するための前記手段は、前記第1の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するための手段を具備する[C44]に記載の装置。
[C48]
前記マルチメディアデータを復号することは、前記第1の復号データが復号されたマルチメディアデータを示している場合に前記第1の復号データに少なくとも部分的に基づく[C47]に記載の装置。
[C49]
前記マルチメディアデータストリームの第2の一部分において第2のビット数を読み取るための手段と、
第2のデータ構造における前記第2の復号データを前記マルチメディアデータの前記第2の一部分に少なくとも部分的に基づいて識別するための手段と、をさらに具備する[C44]に記載の装置。
[C50]
前記第2のビット数は、前記第2のデータ構造における前記エントリ数と関連づけられる[C49]に記載の装置。
[C51]
前記第2の復号データが復号データを具備する第3のデータ構造を示しているかどうかを決定するための手段をさらに具備する[C49]に記載の装置。
[C52]
前記マルチメディアデータを復号することは、前記第2の復号データに少なくとも部分的に基づく[C49]に記載の装置。
[C53]
マルチメディアデータを処理するための方法であって、
前記マルチメディアデータストリームの一部分において第1のビット数を読み取ることと、
第1のデータ構造における第1の復号データを前記第1のビット数に少なくとも部分的に基づいて識別することと、
前記第1の復号データが復号データを具備する第2のデータ構造を示しているかどうかを決定することと、
前記第1及び第2の復号データのうちの1つに少なくとも部分的に基づいてマルチメディアデータを復号すること、とを具備する方法、を具体化するためのコンピュータ読み取り可能媒体。
[C54]
前記第1の復号データは、前記第2のデータ構造を指し示すポインタを具備する[C53]に記載のコンピュータ読み取り可能媒体。
[C55]
前記マルチメディアデータを復号することは、前記第1の復号データに少なくとも部分的に基づく[C53]に記載のコンピュータ読み取り可能媒体。
[C56]
前記マルチメディアデータを復号することは、前記第1の復号データが復号されたマルチメディアデータを示している場合に前記第1の復号データに少なくとも部分的に基づく[C55]に記載のコンピュータ読み取り可能媒体。
[C57]
前記マルチメディアデータストリームの第2の一部分において第2のビット数を読み取ることと、
第2のデータ構造における前記第2の復号データを前記マルチメディアデータの前記第2の一部分に少なくとも部分的に基づいて識別すること、とをさらに具備する[C53]に記載のコンピュータ読み取り可能媒体。
[C58]
前記方法は、前記第2の復号データが復号データを具備する第3のデータ構造を示しているかどうかを決定することをさらに具備する[C57]に記載のコンピュータ読み取り可能媒体。
[C59]
前記マルチメディアデータを復号することは、前記第2の復号データに少なくとも部分的に基づく[C57]に記載のコンピュータ読み取り可能媒体。
[C60]
マルチメディアデータを処理するための装置であって、
前記マルチメディアデータストリームの一部分において第1のビット数を読み取るように構成された読み取り器と、
第1のデータ構造における第1の復号データを前記第1のビット数に少なくとも部分的に基づいて識別するように構成された識別器と、
前記第1の復号データが復号データを具備する第2のデータ構造を示しているかどうかを決定するように構成された決定器と、
前記第1又は第2の復号データのうちの1つに少なくとも部分的に基づいてマルチメディアデータを復号するように構成された復号器と、を具備する、装置。
[C61]
前記第1のビット数は、前記第1のデータ構造における前記エントリ数と関連づけられる[C60]に記載の装置。
[C62]
前記第1の復号データは、前記第2のデータ構造を指し示すポインタを具備する[C60]に記載の装置。
[C63]
前記復号器は、前記第1の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するようにさらに構成される[C60]に記載の装置。
[C64]
前記復号器は、前記第1の復号データが復号されたマルチメディアデータを示している場合に前記第1の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するように構成される[C63]に記載の装置。
[C65]
前記マルチメディアデータストリームの第2の一部分において第2のビット数を読み取るように構成された第2の読取り器と、
第2のデータ構造における前記第2の復号データを前記マルチメディアデータの前記第2の一部分に少なくとも部分的に基づいて識別するように構成された第2の識別器と、をさらに具備する[C60]に記載の装置。
[C66]
前記第2のビット数は、前記第2のデータ構造における前記エントリ数と関連づけられる[C65]に記載の装置。
[C67]
前記決定器は、前記第2の復号データが復号データを具備する第3のデータ構造を示しているかどうかを決定するようにさらに構成される[C65]に記載の装置。
[C68]
前記復号器は、前記第2の復号データに少なくとも部分的に基づいて前記マルチメディアデータを復号するようにさらに構成される[C65]に記載の装置。
[C69]
前記第1のデータ構造は、ルックアップテーブルを具備する[C60]に記載の装置。
[C70]
マルチメディアデータを処理するためのプロセッサであって、
前記マルチメディアデータストリームの一部分において第1のビット数を読み取り、
第1のデータ構造における第1の復号データを前記第1のビット数に基づいて識別し、
前記第1の復号データが復号データを具備する第2のデータ構造を示しているかどうかを決定し、さらに前記第1及び第2の復号データのうちの1つに少なくとも部分的に基づいてマルチメディアデータを復号するように構成される、プロセッサ。
[C71]
前記第1のビット数は、前記第1のデータ構造における前記エントリ数と関連づけられる[C70]に記載の装置。
[C72]
前記第1の復号データは、前記第2のデータ構造を指し示すポインタを具備する[C70]に記載の装置。
[C73]
前記プロセッサは、前記マルチメディアデータストリームの第2の一部分において第2のビット数を読み取るようにさらに構成され、第2のデータ構造における前記第2の復号データを前記マルチメディアデータの前記第2の一部分に少なくとも部分的に基づいて識別するように構成される[C70]に記載のプロセッサ。
[C74]
前記第2のビット数は、前記第2のデータ構造における前記エントリ数と関連づけられる[C73]
[C75]
前記プロセッサは、前記第2の復号データが復号データを具備する第3のデータ構造を示しているかどうかを決定するようにさらに構成される[C73]に記載のプロセッサ。
[C76]
前記プロセッサは、前記マルチメディアデータストリームと関連づけられたバッファから8ビットのデータを少なくとも部分的にコピーすることによって前記第1のビット数を読み取るように構成される[C70]に記載のプロセッサ。
Claims (33)
- マルチメディアデータストリームにおける可変長符号を復号する方法であって、
読み出しバッファ内で利用可能な可変長コードワード(VLC)ビットの数を決定することと、
要求された数のVLCビットが利用可能でない場合に、前記マルチメディアデータストリームの一部の第1の数のビットを前記読み出しバッファ内にローディングすることと、
前記要求された数のVLCビットを出力バッファ内に複写することと、
前記出力バッファ内の前記要求された数のVLCビットに基づいて、可変長コードワードを復号することと、
少なくとも前記可変長コードワードの長さに対応する数のビットを前記読み出しバッファからフラッシングすることと、
前記フラッシング後、前記読み出しバッファ内への前記第1の数のビットのローディングに基づいて前記マルチメディアデータストリームを再アライメントすることと、を具備する方法。 - 前記再アライメントすることは、前記読み出しバッファが、前記マルチメディアデータストリームにおけるアライメントポイントに対して読み出し及び格納を行うための容量を有するかどうかを決定することと、前記読み出しバッファが当該容量を有すると決定された場合に、所定数のビットを前記マルチメディアデータストリームから前記読み出しバッファに読み出すことと、を具備する請求項1に記載の方法。
- 前記再アライメントすることはさらに、前記読み出しバッファが前記容量を有しないと決定された場合に、前記所定数のビットを前記読み出しバッファから前記マルチメディアデータストリームにプッシュすること、を具備する請求項2に記載の方法。
- 前記所定数のビットは、16ビットを含む請求項3に記載の方法。
- 前記読み出しバッファにおける前記第1の数のビットの読み出しは、前記要求された数のVLCビットが利用可能でないときに、固定数のビットを前記マルチメディアデータストリームから前記読み出しバッファにローディングすることと、前記要求された数のVLCビットが利用可能であるときに、前記固定数のビットの前記ローディングをスキップすることと、を具備する請求項1に記載の方法。
- 前記再アライメントすることに先立って、前記読み出しバッファがミスアライメントされたかどうかを決定することと、前記読み出しバッファがミスアライメントされないとの決定に応答して、前記再アライメントをスキップすることと、をさらに具備する請求項5に記載の方法。
- 前記再アライメントすることに先立って、前記読み出しバッファがミスアライメントされたかどうかを決定することと、前記読み出しバッファがミスアライメントされないとの決定に応答して、前記再アライメントをスキップすることと、をさらに具備する請求項1に記載の方法。
- マルチメディアデータストリームにおける可変長符号を復号する装置であって、
読み出しバッファ内で利用可能な可変長コードワード(VLC)ビットの数を決定する手段と、
要求された数のVLCビットが利用可能でない場合に、前記マルチメディアデータストリームの一部の第1の数のビットを前記読み出しバッファ内にローディングする手段と、
前記要求された数のVLCビットを出力バッファ内に複写する手段と、
前記出力バッファ内の前記要求された数のVLCビットに基づいて、可変長コードワードを復号する手段と、
少なくとも前記可変長コードワードの長さに対応する数のビットを前記読み出しバッファからフラッシングする手段と、
前記フラッシング後、前記読み出しバッファ内への前記第1の数のビットのローディングに基づいて前記マルチメディアデータストリームを再アライメントする手段と、を具備する装置。 - 前記再アライメントする手段は、前記読み出しバッファが、前記マルチメディアデータストリームにおけるアライメントポイントに対して読み出し及び格納を行うための容量を有するかどうかを決定する手段と、前記読み出しバッファが当該容量を有すると決定された場合に、所定数のビットを前記マルチメディアデータストリームから前記読み出しバッファに読み出す手段と、を具備する請求項8に記載の装置。
- 前記再アライメントする手段はさらに、前記読み出しバッファが前記容量を有しないと決定された場合に、前記所定数のビットを前記読み出しバッファから前記マルチメディアデータストリームにプッシュする手段を具備する請求項9に記載の装置。
- 前記所定数のビットは、16ビットを含む請求項10に記載の装置。
- 前記第1の数のビットを読み出す手段は、前記要求された数のVLCビットが利用可能でないときに、固定数のビットを前記マルチメディアデータストリームから前記読み出しバッファにローディングする手段を具備し、前記要求された数のVLCビットが利用可能であるときに、前記固定数のビットの前記ローディングをスキップする手段をさらに具備する請求項8に記載の装置。
- 前記読み出しバッファがミスアライメントされたかどうかを決定する手段と、前記読み出しバッファがミスアライメントされないとの決定に応答して、前記再アライメント手段による再アライメントをスキップする手段とをさらに具備する請求項12に記載の装置。
- 前記読み出しバッファがミスアライメントされたかどうかを決定する手段と、前記読み出しバッファがミスアライメントされないとの決定に応答して、前記再アライメント手段による再アライメントをスキップする手段とをさらに具備する請求項8に記載の装置。
- コンピュータ読み取り可能な記録媒体であって、コンピュータに、
読み出しバッファ内で利用可能なビットの数を決定し、
要求された数のビットが利用可能でない場合に、マルチメディアデータストリームの一部の第1の数のビットを前記読み出しバッファ内にローディングし、
前記要求された数のビットを出力バッファ内に複写し、
前記出力バッファ内の前記要求された数のビットに基づいて、可変長コードワードを復号し、
少なくとも前記可変長コードワードの長さに対応する数のビットを前記読み出しバッファからフラッシングし、
前記読み出しバッファがフラッシングされた後、前記読み出しバッファ内への前記第1の数のビットのローディングに基づいて前記マルチメディアデータストリームを再アライメントすることを行わせるための命令を格納したコンピュータ読み取り可能な記録媒体。 - 前記再アライメントを行わせるための命令は、前記コンピュータに、前記読み出しバッファが、前記マルチメディアデータストリームにおけるアライメントポイントに対して読み出し及び格納を行うための容量を有するかどうかを決定し、前記読み出しバッファが当該容量を有すると決定された場合に、所定数のビットを前記マルチメディアデータストリームから前記読み出しバッファに読み出させるための命令を具備する請求項15に記載のコンピュータ読み取り可能な記録媒体。
- 前記再アライメントを行わせるための命令はさらに、前記コンピュータに、前記読み出しバッファが前記容量を有しないと決定された場合に、前記所定数のビットを前記読み出しバッファから前記マルチメディアデータストリームにプッシュさせるための命令を具備する請求項16に記載のコンピュータ読み取り可能な記録媒体。
- 前記読み出しバッファにおける前記第1の数のビットの読み出しを行わせるための命令は、要求された数のビットが利用可能でないときに、前記コンピュータに、固定数のビットを前記マルチメディアデータストリームからローディングさせ、前記要求された数のビットが利用可能であるときに、前記コンピュータに、前記固定数のビットの前記ローディングをスキップさせるための命令を具備する請求項17記載のコンピュータ読み取り可能な記録媒体。
- 前記命令は、前記コンピュータに、前記読み出しバッファがミスアライメントされたかどうかを決定し、前記読み出しバッファがミスアライメントされないとの決定に応答して、前記再アライメントするための命令をスキップさせるための命令をさらに具備する請求項18に記載のコンピュータ読み取り可能な記録媒体。
- 前記命令は、前記コンピュータに、前記読み出しバッファがミスアライメントされたかどうかを決定し、前記読み出しバッファがミスアライメントされないとの決定に応答して、前記再アライメントするための命令をスキップさせるための命令をさらに具備する請求項15に記載のコンピュータ読み取り可能な記録媒体。
- マルチメディアデータを処理するための装置であって、
読み出しバッファ内で利用可能なビットの数を決定するように構成された決定ユニットと、
要求された数のビットが利用可能でない場合に、マルチメディアデータストリームの一部の第1の数のビットを前記読み出しバッファ内にローディングするように構成された読み出しユニットと、
前記要求された数のビットを出力バッファ内に複写するように構成された複写ユニットと、
前記出力バッファ内の前記要求された数のビットに基づいて、可変長コードワードを復号するように構成された復号ユニットと、
少なくとも前記可変長コードワードの長さに対応する数のビットを前記読み出しバッファからフラッシングするように構成されたフラッシングユニットと、
前記フラッシュング後、前記読み出しバッファ内への前記第1の数のビットのローディングに基づいて前記マルチメディアデータストリームを再アライメントするように構成された調整ユニットと、を具備する装置。 - 前記調整ユニットは、前記読み出しバッファが、前記マルチメディアデータストリームにおけるアライメントポイントに対して読み出し及び格納を行うための容量を有するかどうかを決定し、前記読み出しバッファが当該容量を有すると決定された場合に、所定数のビットを前記マルチメディアデータストリームから前記読み出しバッファに読み出すように構成された請求項21に記載の装置。
- 前記調整ユニットはさらに、前記読み出しバッファが前記容量を有しないと決定された場合に、前記所定数のビットを前記読み出しバッファから前記マルチメディアデータストリームにプッシュするように構成された請求項22に記載の装置。
- 前記所定数のビットは、16ビットを含む請求項23に記載の装置。
- 前記読み出しユニットは、要求された数のビットが利用可能でないときに、固定数のビットを前記マルチメディアデータストリームからローディングし、前記要求された数のビットが利用可能であるときに、前記固定数のビットの前記ローディングをスキップするように構成された請求項21に記載の装置。
- 前記読み出しバッファがミスアライメントされたかどうかを決定するための手段と、前記読み出しバッファがミスアライメントされないとの決定に応答して、前記調整ユニットによる前記再アライメントをスキップするための手段とをさらに具備する請求項25に記載の装置。
- 前記読み出しバッファがミスアライメントされたかどうかを決定するための手段と、前記読み出しバッファがミスアライメントされないとの決定に応答して、前記調整ユニットによる前記再アライメントをスキップするための手段と、をさらに具備する請求項21に記載の装置。
- マルチメディアデータを処理するためのプロセッサであって、該プロセッサは、
読み出しバッファ内で利用可能なビットの数を決定し、
要求された数のビットが利用可能でない場合に、マルチメディアデータストリームの一部の第1の数のビットを前記読み出しバッファ内にローディングし、
前記要求された数のビットを出力バッファ内に複写し、
前記出力バッファ内の前記要求された数のビットに基づいて、可変長コードワードを復号し、
少なくとも前記可変長コードワードの長さに対応する数のビットを前記読み出しバッファからフラッシングし、
前記フラッシング後、前記読み出しバッファ内への前記第1の数のビットのローディングに基づいて前記マルチメディアデータストリームを再アライメントする、ように構成されたプロセッサ。 - 前記プロセッサはさらに、再アライメントにおいて、前記読み出しバッファが、前記マルチメディアデータストリームにおけるアライメントポイントに対して読み出し及び格納を行うための容量を有するかどうかを決定し、前記読み出しバッファが当該容量を有すると決定された場合に、所定数のビットを前記マルチメディアデータストリームから前記読み出しバッファに読み出すように構成された請求項28に記載のプロセッサ。
- 前記プロセッサはさらに、前記再アライメントにおいて、前記読み出しバッファが前記容量を有しないと決定された場合に、前記所定数のビットを前記読み出しバッファから前記マルチメディアデータストリームにプッシュするように構成された請求項29に記載のプロセッサ。
- 前記プロセッサはさらに、要求された数のビットが利用可能でないときに、固定数のビットを前記マルチメディアデータストリームからローディングし、前記要求された数のビットが利用可能であるときに、前記固定数のビットの前記ローディングをスキップするように構成された請求項30に記載のプロセッサ。
- 前記固定数のビットは、16ビットを含む請求項31に記載のプロセッサ。
- 前記プロセッサは、前記再アライメントすることに先立って、前記読み出しバッファがミスアライメントされたかどうかを決定し、前記読み出しバッファがミスアライメントされないとの決定に応答して、前記再アライメントをスキップするようにさらに構成された請求項31に記載のプロセッサ。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68119405P | 2005-05-13 | 2005-05-13 | |
US60/681,194 | 2005-05-13 | ||
US78945506P | 2006-04-04 | 2006-04-04 | |
US60/789,455 | 2006-04-04 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010279331A Division JP2011109678A (ja) | 2005-05-13 | 2010-12-15 | 改良されたマルチメディアデコーダに関する方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013118656A JP2013118656A (ja) | 2013-06-13 |
JP5567155B2 true JP5567155B2 (ja) | 2014-08-06 |
Family
ID=37432015
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008511468A Expired - Fee Related JP5209467B2 (ja) | 2005-05-13 | 2006-05-15 | 改良されたマルチメディアデコーダに関する方法及び装置 |
JP2010279331A Withdrawn JP2011109678A (ja) | 2005-05-13 | 2010-12-15 | 改良されたマルチメディアデコーダに関する方法及び装置 |
JP2013000188A Expired - Fee Related JP5567155B2 (ja) | 2005-05-13 | 2013-01-04 | 改良されたマルチメディアデコーダに関する方法及び装置 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008511468A Expired - Fee Related JP5209467B2 (ja) | 2005-05-13 | 2006-05-15 | 改良されたマルチメディアデコーダに関する方法及び装置 |
JP2010279331A Withdrawn JP2011109678A (ja) | 2005-05-13 | 2010-12-15 | 改良されたマルチメディアデコーダに関する方法及び装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7268708B2 (ja) |
EP (2) | EP1880471A4 (ja) |
JP (3) | JP5209467B2 (ja) |
KR (1) | KR100944923B1 (ja) |
CN (2) | CN101873499B (ja) |
WO (1) | WO2006124850A2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2011118108A (ru) * | 2011-05-06 | 2012-11-20 | ЭлЭсАй Корпорейшн (US) | Устройство (варианты) и способ параллельного декодирования для нескольких стандартов связи |
CN103269257B (zh) * | 2013-05-13 | 2016-08-24 | 杰发科技(合肥)有限公司 | 一种检测变长编码码流错误的方法和解码及错误检测装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5173695A (en) * | 1990-06-29 | 1992-12-22 | Bell Communications Research, Inc. | High-speed flexible variable-length-code decoder |
JPH0490267A (ja) * | 1990-08-02 | 1992-03-24 | Ricoh Co Ltd | 可変長符号の復号回路 |
JP2968112B2 (ja) * | 1991-12-27 | 1999-10-25 | 株式会社ピーエフユー | 符号変換方法 |
US5226082A (en) * | 1992-07-02 | 1993-07-06 | At&T Bell Laboratories | Variable length decoder |
JPH07107303A (ja) * | 1993-09-30 | 1995-04-21 | Nec Corp | ハフマン符号の復号化方法 |
JP3153404B2 (ja) * | 1994-02-02 | 2001-04-09 | 松下電器産業株式会社 | ディジタルビデオ・ビットストリームコーダ |
US5566089A (en) * | 1994-10-26 | 1996-10-15 | General Instrument Corporation Of Delaware | Syntax parser for a video decompression processor |
JP3279852B2 (ja) * | 1994-12-14 | 2002-04-30 | 株式会社日立製作所 | 信号復号装置 |
JPH09246988A (ja) * | 1996-03-05 | 1997-09-19 | Canon Inc | 復号装置及びその方法 |
JP2870515B2 (ja) * | 1996-12-27 | 1999-03-17 | 日本電気株式会社 | 可変長符号化装置 |
US6043765A (en) * | 1997-09-26 | 2000-03-28 | Silicon Engineering, Inc. | Method and apparatus for performing a parallel speculative Huffman decoding using both partial and full decoders |
KR100253366B1 (ko) * | 1997-12-03 | 2000-04-15 | 김영환 | 엠펙용 가변길이코드 디코더 |
JPH11215008A (ja) * | 1998-01-27 | 1999-08-06 | Oki Electric Ind Co Ltd | 復号回路 |
JP2000059234A (ja) * | 1998-08-10 | 2000-02-25 | Mitsubishi Electric Corp | 可変長符号処理装置 |
KR100601602B1 (ko) * | 1999-03-24 | 2006-07-14 | 삼성전자주식회사 | 비트스트림 디코딩 장치 |
JP2000286717A (ja) * | 1999-03-30 | 2000-10-13 | Matsushita Electric Ind Co Ltd | デコード装置 |
JP3533339B2 (ja) * | 1999-04-16 | 2004-05-31 | シャープ株式会社 | 復号化装置および復号化方法、並びに、プログラム記録媒体 |
JP2001274690A (ja) * | 2000-03-28 | 2001-10-05 | Toshiba Corp | 可変長復号器 |
JP2002084198A (ja) * | 2000-09-11 | 2002-03-22 | Matsushita Electric Ind Co Ltd | 可変長符号の復号方法及び装置、並びに復号テーブル |
US6580377B1 (en) * | 2001-05-30 | 2003-06-17 | Sony Corporation | Huffman decoding using cascaded sub-table lookup method |
US6573847B1 (en) * | 2002-01-08 | 2003-06-03 | Intel Corporation | Multi-table mapping for huffman code decoding |
JP2003309471A (ja) * | 2002-04-15 | 2003-10-31 | Fujitsu Ltd | 可変長符号データ復号装置および復号方法 |
-
2006
- 2006-05-15 US US11/434,827 patent/US7268708B2/en not_active Expired - Fee Related
- 2006-05-15 WO PCT/US2006/018849 patent/WO2006124850A2/en active Application Filing
- 2006-05-15 CN CN200910261324XA patent/CN101873499B/zh not_active Expired - Fee Related
- 2006-05-15 CN CN2006800244758A patent/CN101213754B/zh not_active Expired - Fee Related
- 2006-05-15 JP JP2008511468A patent/JP5209467B2/ja not_active Expired - Fee Related
- 2006-05-15 KR KR1020077029170A patent/KR100944923B1/ko not_active IP Right Cessation
- 2006-05-15 EP EP06759897A patent/EP1880471A4/en not_active Withdrawn
- 2006-05-15 EP EP12004222A patent/EP2495878A3/en not_active Withdrawn
-
2007
- 2007-04-19 US US11/737,699 patent/US7466248B2/en not_active Expired - Fee Related
-
2010
- 2010-12-15 JP JP2010279331A patent/JP2011109678A/ja not_active Withdrawn
-
2013
- 2013-01-04 JP JP2013000188A patent/JP5567155B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20070205929A1 (en) | 2007-09-06 |
EP2495878A2 (en) | 2012-09-05 |
WO2006124850A2 (en) | 2006-11-23 |
WO2006124850A3 (en) | 2007-04-26 |
KR100944923B1 (ko) | 2010-03-03 |
CN101213754A (zh) | 2008-07-02 |
JP2008541631A (ja) | 2008-11-20 |
EP2495878A3 (en) | 2012-09-26 |
CN101213754B (zh) | 2013-11-13 |
KR20080014866A (ko) | 2008-02-14 |
CN101873499B (zh) | 2013-03-06 |
EP1880471A2 (en) | 2008-01-23 |
JP2013118656A (ja) | 2013-06-13 |
JP2011109678A (ja) | 2011-06-02 |
JP5209467B2 (ja) | 2013-06-12 |
CN101873499A (zh) | 2010-10-27 |
US7268708B2 (en) | 2007-09-11 |
EP1880471A4 (en) | 2011-12-28 |
US7466248B2 (en) | 2008-12-16 |
US20060267807A1 (en) | 2006-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6633242B2 (en) | Entropy coding using adaptable prefix codes | |
US8782379B2 (en) | H.264 video decoder CABAC core optimization techniques | |
US7839311B2 (en) | Architecture for multi-stage decoding of a CABAC bitstream | |
US7411529B2 (en) | Method of decoding bin values using pipeline architecture and decoding device therefor | |
EP0801501A3 (en) | Viterbi decoder for digital packet signals | |
US5877711A (en) | Method and apparatus for performing adaptive data compression | |
JP5567155B2 (ja) | 改良されたマルチメディアデコーダに関する方法及び装置 | |
US20050174270A1 (en) | Programmable variable length decoder including interface of cpu processor | |
US20100289674A1 (en) | Variable-length code decoding apparatus and method | |
WO2020263438A1 (en) | Features of range asymmetric number system encoding and decoding | |
KR20050073330A (ko) | Vld 버퍼 관리 장치 | |
US20100074542A1 (en) | Apparatus for decoding context adaptive variable length code and table search method for decoding context adaptive variable length code | |
KR100487411B1 (ko) | 가변 길이 디코더 | |
WO2006032167A1 (en) | Video encoding/decoding method | |
KR20090113208A (ko) | 정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법 | |
JP2004516759A (ja) | 自己プリフィックス(Self−PREFIXED)共通可変長符号を用いたデータ圧縮方法 | |
MY112861A (en) | Viterbi decoder for digital packet signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131029 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140128 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140131 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140331 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140403 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140430 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140520 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140618 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5567155 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |