JPH10135843A - 単位処理システムにおける可変長コード検出装置及びその方法 - Google Patents

単位処理システムにおける可変長コード検出装置及びその方法

Info

Publication number
JPH10135843A
JPH10135843A JP9276266A JP27626697A JPH10135843A JP H10135843 A JPH10135843 A JP H10135843A JP 9276266 A JP9276266 A JP 9276266A JP 27626697 A JP27626697 A JP 27626697A JP H10135843 A JPH10135843 A JP H10135843A
Authority
JP
Japan
Prior art keywords
bit
length
code
entropy
matching module
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.)
Pending
Application number
JP9276266A
Other languages
English (en)
Inventor
Jae-Cheol Son
在 ▲チュル▼ 孫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JPH10135843A publication Critical patent/JPH10135843A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion 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/425Conversion 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

(57)【要約】 【課題】 データストリーム内に含まれたそれぞれの可
変長コードワードをメモリなどのデータ量を低減して検
出する。 【解決手段】 マルチメディアマルチプロセッサシステ
ム100は、ホストプロセッサ102乃至マルチメディ
ア信号処理器200を有し、各ビットパターンが、現在
エントロピーコードのt+1個の潜在ビット長の中の一
つのみに連関するように、多数のビットパターンをビッ
トグループの各部分で比較する。また、多数のビットパ
ターンの中のいずれのパターンが、ビットグループの各
部分に一致するかを決定する。更に、ビットグループの
各部分に一致するものと決定されたビットパターンに応
答して、現在のエントロピーコードのビット長を調べる
ための出力信号を発生する。これによって現在のエント
ロピーコードワードの潜在ビット長の規定数がt+1と
なるようにビット長を有する現在エントロピーコードワ
ードを検出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理装置に
あって、特に、データストリーム内のそれぞれの可変長
コードワードを検出する単位処理システムにおける可変
長コード検出装置及びその方法に関する。
【0002】
【従来の技術】最近のデータ処理装置では、広帯域バン
ド幅転送性能の向上と高速処理及び、その装備の実現に
よって膨大な情報量を伴うデータ転送が頻繁に行われて
いる。これはマルチメディア処理の増大に起因する。プ
ロセッサの処理能力は急速に向上しているが、より多い
データ量処理が要求されるマルチメディア分野では有効
な新しい応用方法の開発と、その高い処理能力及び計算
効率が求められている。このような転送、受信、処理に
関連する情報を処理するために、データ圧縮及び復元に
関する多数の圧縮標準手法が広範囲に利用されている。
【0003】ビデオデータの圧縮及び復元の標準手法と
しては、ISO/IEC(International Organization
for Standadization/International Electrotechnical
Commission)、MPEG(Motion Picture Experts Grou
p)のMPEG1及びMEPG2標準と、ITU−T(Uni
ted Nation's International Telecommunications Unio
n Telecommunications Standadization Bureau) のH.
261及びH.263がある。このMPEG1,MPE
G2, H.261,及び、H.263標準方式は、適切
な圧縮率を得られる可変長コード(VLC) ワードを広く利
用している。このVLCワードは、通常的にHuffm
anテーブル又はエントロピーコードテーブルで特定し
ている。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来例では、VLCワードが一般的に転送用ビットストリ
ーム内で圧縮される。入力されるビットストリームをデ
コードするためには、VLCワードが個別的にデコード
される。現在のVLCを正確にデコードするために、現
在のVLCワードのビット長を決定する大きいルックア
ップテーブル(lookup table)を使用している。このよう
なルックアップテーブルは相対的に大きなチップ領域を
専有するという問題がある。
【0005】本発明は、このような従来の技術における
課題を解決するものであり、現在のVLCワードのビッ
ト長を決定するデータ領域が大きいルックアップテーブ
ルなどを使用せずに、チップのデータ領域を低減できる
単位処理システムにおける可変長コード検出装置及びそ
の方法の提供を目的としている。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明の単位処理システムにおける可変長コード検
出装置は、現在エントロピーコードワードの潜在ビット
長の規定数がt+1となるようにビット長を有する現在
のエントロピーコードワードを検出する装置において、
それぞれがビットグループを受信してビットグループ内
で現在のエントロピーコードワードのビット長の決定を
行い、その中の一つがビットグループ内で現在のエント
ロピーコードワードのビット長を決定し、その他の出力
信号と比較して唯一の出力信号を発生する多数のマッチ
ングモジュールを有している。また、それぞれが規定数
を有し、それぞれが現在のエントロピーコードワードの
潜在ビット長のt+1個の規定数の中の一つを表し、そ
れぞれが出力信号を送出し、かつ、この中の一つがその
他の出力信号と比較して唯一の出力信号を送出するマッ
チングモジュールを備えたt+1個のマッチングモジュ
ールグループを有している。
【0007】また、本発明の単位処理システムにおける
可変長コード検出方法は、現在エントロピーコードワー
ドの潜在ビット長の規定数がt+1となるようにビット
長を有する現在のエントロピーコードワードを検出する
方法において、各ビットパターンが現在のエントロピー
コードのt+1個の潜在ビット長の中の一つのみに連関
するように、多数のビットパターンをビットグループの
各部分と同時に比較する処理段階と、多数のビットパタ
ーンの中のいずれのビットパターンがビットグループの
各部分に一致するかを決定する処理段階とを有してい
る。また、ビットグループの各部分に一致するものと決
定されたビットパターンに応答して、現在エントロピー
コードのビット長を調べるための出力信号を発生する処
理段階を有している。
【0008】このように、この発明の単位処理システム
における可変長コード検出装置及びその方法では、現在
のエントロピーコードワードの潜在ビット長の規定数が
t+1となるようにビット長を有する現在エントロピー
コードワードを検出しており、現在のVLCワードのビ
ット長を決定するデータ領域が大きいルックアップテー
ブルなどを使用せずに、データストリーム内に含まれた
それぞれの可変長コードワードをメモリなどのデータ量
を低減して検出される。
【0009】
【発明の実施の形態】次に、本発明の単位処理システム
における可変長コード検出装置及びその方法の好適な実
施の形態を添付図面を参照して詳細に説明する。図1
は、上位レベルの概略的なブロック図であり、ホストプ
ロセッサ102とマルチメディア信号処理器200とを
有するマルチメディアマルチプロセッサシステム100
を示している。典型的なホストプロセッサ102は、イ
ンテル社のPentiumTM又はProTMプロセッサ等
のようなx86プロセッサである。ホストプロセッサ1
02は、主システムメモリ104及びキャッシュ105
に格納された指令及びデータに基づいてプログラムを実
行する。ホストプロセッサ102は、PCチップセット
(chipset) 107とシステムバスライン106(例え
ば、PCIバスライン)を通じてマルチメディア信号処
理器200と信号のやり取りを行う。
【0010】マルチメディア信号処理器200は、音響
信号及び電話通信を受信するためのオーディオ及び通信
コーデック(CODEC) 回路108、画像入力信号を受信す
るためのビデオA/Dコンバタ110、画像出力信号を
転送するためのビデオD/Aコンバタ112、及び、フ
レームバッファメモリ114(SDRAM)等のような
多様な機能ブロックに接続される。
【0011】図2は図1に示すマルチメディアマルチプ
ロセッサシステム100におけるマルチメディア信号処
理器200の詳細な構成を示すブロック図である。マル
チメディア信号処理器200は、高速バスライン(FBUS)
210を通じて多数のFBUS周辺機器、例えば、3
2ビットのPCIバスインタフェース222,64ビッ
トSDRAMであるメモリコントローラ226,8チャ
ンネルの直接メモリアクセス(DMA)コントローラ2
20,ASICロジックブロック216,及び、ホスト
プロセッサ102とフレームバッファメモリ114との
間にデータを移動させるためのメモリデータムーバ22
4と接続されるデジタル信号処理器(DSP) コア201を
有している。
【0012】PCIバスインタフェース222は図1中
のシステムバスライン106に接続され、例えば、クロ
ック周波数33MHzで動作する。ASICロジックブ
ロック216は所定機能を実行する制御ロジックとして
動作する。ASICロジックブロック216は、実施形
態として、多様なアナログコーデック及び特定のI/O
装置と接続される10Kゲートである。メモリデータム
ーバ224はホストプロセッサ102からマルチメディ
ア信号処理機200の周辺部のフレームバッファメモリ
114までの間でDMAによるデータ転送を行う。
【0013】また、デジタル信号処理器コア201はI
/Oバスライン212を通じて228,230,23
2、更に、ビデオビットストリームを処理するためのビ
ットストリームプロセッサ234に接続される。
【0014】デジタル信号処理器コア201は、マルチ
メディア信号処理器200,コプロセッサ(co-processo
r)204、キャッシュサブシステム208、高速バスラ
イン(FBUS)210及びI/Oバスライン212の計算エ
ンジンである。この実施形態でのプロセッサ202はコ
ンテキストスイッチイネーブル(context switch enabl
e) 要求に対し、リアルタイムオペレーティングシステ
ムとして動作し、また、インタラプト及び例外(excepti
on) 処理を行い、かつ、I/O装置の管理を行うととも
に、ホストプロセッサ102との交信等の一般的な処理
機能を実行する32ビットARM7TMRISCコントロ
ールプロセッサである。この実施形態でのプロセッサ2
02はクロック周波数40MHzで動作する。プロセッ
サ202はコプロセッサインタフェース206を通じて
コプロセッサ204に接続される。
【0015】プロセッサ202は、指令処理過程で発生
する一般的な動作に対する例外(exception) に応じた処
理を実行することによって制御が変更される。
【0016】コプロセッサ204は、マルチメディア信
号処理器200のデジタル信号処理エンジンである。実
施形態でのコプロセッサ204は、三星株式会社MSP
ファミリにおけるベクトルプロセッサである。ベクトル
プロセッサとしてのコプロセッサ204は、単独指令多
重データ(Single-Instruction Multiple-Data)構造を有
し、離散コサイン変換器(Discrete Cosine Transforms;
DCT)、FIRfiltering、convoluti
on、映像移動量推定及び、その外の処理動作のような
信号処理機能を実行するために、多重のデータ要素に並
列動作するpipelined RISCエンジンを含
むものである。
【0017】コプロセッサ204は、多重データ要素
が、多数のベクトル実行ユニットによってベクトル処理
のように並列に作用するベクトル演算を処理する。コプ
ロセッサ204は、スカラー演算及びベクトル−スカラ
ー混合演算のすべてを実行する。コプロセッサ204の
多重データ要素は、サイクル当たり(例えば、12.5
ns)32個の8/9ビット固定小数点演算率や、16
カ所の16ビット固定小数点演算率や、8個の32ビッ
ト固定小数点又は不動小数点演算率で計算される576
ビットベクトルに圧縮される。大部分の32ビットスカ
ラー演算は、1サイクル当たり一つの指令の比率で移動
する反面、576ビットベクトル演算が2サイクル当た
り一つの指定の比率で移動する。入力(load)及び
格納(store) 作用は算術演算と重畳され、別途の入力及
び格納回路によって独立して実行される。
【0018】図3は図2中のビットストリームプロセッ
サ234の内部構成を示すブロック図である。このビッ
トストリームプロセッサ234は、マルチメディアマル
チプロセッサシステム100の周辺機器中の一つであ
る。ビットストリームプロセッサ234は、各種ビット
ストリームビデオデータ圧縮及び復元を処理する特定の
ハードウェアロジックブロックである。ビットストリー
ムプロセッサ234は特にビットレベルの処理のために
用いられている。ビットストリームプロセッサ234は
独立した処理ユニットとして動作し、プロセッサ202
又はコプロセッサ234によるソフトウェア制御が行わ
れる。
【0019】より具体的には、ビットストリームプロセ
ッサ234が、ブロックグループ(group of blocks:GO
B) やスライス(slice) 層以下に含まれたすべての情報
をエンコード及びデコードし、I/Oバスライン212
を通じてデジタル信号処理器コア201からの情報を受
信し、かつ、デジタル信号処理器コア201に情報を転
送する。この転送情報をデコードする際に、情報が一般
的に圧縮画像ビットストリーム402のようにビットス
トリームで受信され、適用する標準方式よって開始コー
ド、ヘッダパラメータ及び圧縮データを含む場合があ
る。
【0020】このような圧縮画像ビットストリーム40
2では圧縮が行われるが、用途によってはバイト整列を
行う必要がない。すなわち、その状態がビットストリー
ム内の最初のビットから多数の8ビットであれば、ビッ
トストリーム内はバイト整列となる。圧縮画像ビットス
トリーム402は、多様なslice及びGOBのため
のデータを含むことが出来ることに注目する必要があ
る。
【0021】マルチメディア環境では、画像シーケンス
が処理され、例えば、パーソナルコンピュータ(PC)
及び画像会議装置に適用される。画像シーケンスは、通
常ISO/IEC(International Organization for
Standadization/International Electrotechnical C
ommission)、MPEG(Motion Picture Experts Gro
up) のMPEG1及びMPEG2標準方式と、ITU−
T(United Nation'sInternational Telecommunicatio
ns Union Telecommunications Standadization Bur
eau)のH.261及びH.263標準方式のような多数
の画像標準方式中の一つを使用する。
【0022】この多数の画像標準方式中の一つがエンコ
ードした圧縮ビットストリームの形態となる。MPEG
1,MPEG2,H.261及びH.263標準方式
は、それぞれISO/IEC11172−2(199
2)(MPEG1) 、ISO/IECのJoint Tech
nical Committee(JTC) 1/SC 29
N0981 Rev(1995. 3. 31)(MPEG2) 、
ITU−Tの勧告H.261,ITU−の勧告H.26
3であり、以下での参考事項である。
【0023】MEPG1,MPEG2,H.261及び
H.263標準方式は、以下で“マルチメディアフォー
マット”として説明するが、マルチメディアマルチプロ
セッサシステム100は、他の標準方式によってフォー
マットされたビットストリームを処理するように、その
応用が可能である。
【0024】図4は図3に示す圧縮画像ビットストリー
ム402の内容を示す図である。この圧縮画像ビットス
トリーム402は、一般的に多重標準方式圧縮フォーマ
ットによって圧縮されたビットストリームを示してい
る。開始コード404,405は、圧縮画像ビットスト
リーム402が別途に発生しない予備ビットパターンで
ある。開始コード404,405は画像データ408と
構文情報、例えば、今回採用された圧縮標準方式を識別
する情報を含むフォーマット情報の開始を表示してい
る。
【0025】多重の画像標準方式による画像ビットスト
リームは可変長となるが、バイト整列となる場合もあ
り、又は、ない場合もある。すなわち、開始コード間の
ビット数は均等な8倍数の場合、又は、均等な8倍数で
ない場合もある。更に、多数のゼロ挿入ビット406は
一般的に画像データ408と次の開始コード405間に
挿入される。多数のゼロ挿入ビット406はMPEG1
及びMEPG2の適用のために、スライス(slice)層ま
での圧縮画像ビットストリーム402がバイト整列とな
るように挿入する。ピクチュア(picture) 層までの圧縮
画像ビットストリーム402はバイト整列となり、H.
261適用ではバイト整列とならないが、H.263の
適用のためにGOBまでの圧縮画像ビットストリーム4
02はバイト整列となる場合もある。
【0026】ゼロ挿入ビット406と不良の画像データ
405は、マルチメディアマルチプロセッサシステム1
00での処理では不要である。したがって、ゼロ挿入ビ
ット406と不良の画像データを出来るだけ早く廃棄し
て、次の開始コードを検出することによって、マルチメ
ディアプロセッサシステム100の圧縮画像ビットスト
リーム402の処理性能を向上させることが出来る。圧
縮画像ビットストリーム402が多重標準方式フォーマ
ットによって、開始コード404,405の間で可変長
となる場合、次の開始コード405の位置が決定されな
いため、次の開始コード405を検出するために圧縮画
像ビットストリーム402を調べる。
【0027】図3において、ビットストリームプロセッ
サ234は、圧縮画像ビットストリーム402内の多重
標準方式開始コードを調べるために多重標準方式開始コ
ード検出システム300を備えている。例えば、マルチ
メディアパーソナルコンピュータ(PC)環境では、圧
縮画像ビットストリーム402がCD−ROMドライ
バ、ハードディスクドライバ、ネットワークインタフェ
ース(図示省略)から送出される。圧縮画像ビットスト
リーム402の発生場所は図2中のASIC216であ
り、又は、PCIバスインタフェース222である。A
SIC216又はPCIバスインタフェース222の3
2バイトバッファに格納されたデータを、DMAによっ
てフレームバッファメモリ114(図1)に転送する。
【0028】デジタル信号処理器コア201は、圧縮画
像ビットストリーム402内の構文情報を調べる。デジ
タル信号処理器コア201は、ビットストリームプロセ
ッサ234が圧縮画像ビットストリーム402の処理を
開始する前に、構文情報から圧縮画像ビットストリーム
402のフォーマットを決定する。プロセッサ202
は、レジスタファイル324にあるBP_MODEレジ
スタに記録する。本実施形態では多重標準方式フォーマ
ット中の一つに圧縮画像ビットストリーム402のフォ
ーマットを示す。BP_MODEレジスタのフォーマッ
トは、次の表1の通りである。BP_MODEレジスタ
バイト0のビット2:0は、“SF”又は圧縮画像ビッ
トストリーム402の標準方式フォーマットを意味す
る。
【0029】
【表1】
【0030】次の開始コード405を検出する動作中の
制御状態マシン(control state machine) 307は、標
準方式フォーマット情報を使用して多重標準方式開始コ
ード検出システム300を正確に制御する。次の表2は
SFの規定である。
【0031】
【表2】
【0032】ビットストリームプロセッサ234が、デ
ジタル信号処理器コア201によって動作すると、圧縮
画像ビットストリーム402は、I/Oバスライン21
2、I/Oバスインタフェースユニット320及び入出
力バッファ322を通じて、本実施形態での16ビット
フリップフロップ装着型バッファであるデータバッファ
306に入力される。情報はI/Oバスライン212、
I/Oバスインタフェースユニット320, 入出力バッ
ファ322の間で両方向に転送される。圧縮画像ビット
ストリーム402の初期受信過程で、制御状態マシン3
07はゲート326をオープンにし、データバッファ3
06内の16データが、本実施形態での16ビットフリ
ップフロップ装着型のFIFOバッファである現在デー
タバッファ304に転送される。
【0033】現在データバッファ304の内容は、シフ
タ312によってシフトされる。圧縮画像ビットストリ
ーム402の次の16ビットは、データバッファ306
に保持される。次いで、処理された圧縮画像ビットスト
リーム402は、I/Oバスライン212を通じて図2
に示すビットストリームプロセッサ234からデジタル
信号処理器コア201に転送される。デジタル信号処理
器コア201は、画像データ408の終了を検出する
と、ビットストリームプロセッサ234が次の開始コー
ド405を調べるように指令する。
【0034】ビットストリームプロセッサ234は次の
開始コード405を調べるために、プロセッサ202又
はコプロセッサ204が、ビットストリームプロセッサ
234をアイドル状態に設定する。この場合、既にアイ
ドル状態でなければ、ビットストリームプロセッサ23
4が次の開始コード405を検出するように指示して、
その処理動作を開始させる。レジスタファイル324内
に位置するBP_CONTROLレジスタのSOFT_
RESETビットに“1”を記録することによって、ビ
ットストリームプロセッサ234がアイドルでなけれ
ば、ビットストリームプロセッサ234をアイドル状態
に設定するためにプロセッサ202又はコプロセッサ2
04が、ビットストリームプロセッサ234にリセット
命令を送出する。
【0035】プロセッサ202又はコプロセッサ204
は、BP_CONTROLレジスタのDETECT_S
TART_CODEビットに“1”を記録することによ
って、ビットストリームプロセッサ234が次の開始コ
ード405を検出するようにすることも出来る。ビット
ストリームプロセッサ234をリセットし、次の開始コ
ード405の検出を指示した後にプロセッサ202又は
コプロセッサ204が、BP_CONTROLレジスタ
のBP_ENビットに“1”を記録することによって、
ビットストリームプロセッサ234を動作させて処理を
開始する。BP_CONTROLレジスタのフォーマッ
トは、次の表3の通りである。
【0036】
【表3】
【0037】「多重標準方式開始コード検出システム」
(MULTI-STANDARD START CODE DETECTOR SYSTEM) ビットストリームプロセッサ234の多重標準方式開始
コード検出システム300は、画像データ408の終了
が検出されるか、又は、デジタル信号処理器コア201
又はビットストリームプロセッサ234によって不良と
なった画像データ408が検出されてから、圧縮画像ビ
ットストリーム402の次の開始コードを検索する。次
の開始コード405を検出する動作を開始すると同時
に、多重標準方式開始コード検出システム300は、少
なくとも次の開始コード405の一部が検出されるまで
すべてのビットグループを迅速に廃棄する。
【0038】このような動作は、バイト整列のビットス
トリーム及びバイト整列しないビットストリームのすべ
てに対して実行される。バイト整列しないフォーマット
を含む次の開始コード検出動作は、制限的な一ビットず
つの廃棄を伴う。個々のビットでないビットグループを
廃棄することによって、開始コードの検出時間が少なく
なり、有用な情報の処理時間が多く得られることにな
る。
【0039】開始コード検索動作中であり、画像データ
408内の不良のデータが検出されず、かつ、ビットス
トリームプロセッサ234が動作して次の開始コード4
05を検出するように指示されると、制御状態マシン3
07は適切なイネーブル信号[1:0]を発生し、次の
開始コード405を検出する。イネーブル信号[1:
0]は、制御状態マシン307及び比較器ユニット30
8によって使用され、次の開始コード405と唯一にか
んれんビットパターンを決定する。
【0040】16ビットの比較器ユニット308は、こ
のビットパターンをレジスタファイル334の内容と比
較する。比較ユニット308は、EX−ORロジック又
はEX−ORアルゴリズムのような、多様な公知の回路
やソフトウェアアルゴリズム中のいずれも使用できるよ
うに構成しても良い。
【0041】圧縮画像ビットストリーム402が、多重
標準方式フォーマット中のいずれか一つによってフォー
マットされる際に、次の開始コード405の最上位ビッ
ト(most significant bit;MSB)は、0001h(接尾語
hは、16進数表記を意味する)を含むことになる。イ
ネーブル信号[1:0]を10bに設定し、比較器ユニ
ット308が現在データバッファ304の内容を000
1hに対応させる。
【0042】比較器ユニット308による比較動作と同
時に、データバッファ306に保持された次のデータ
は、開始コード形式事前検出ロジック310を利用して
処理される。すなわち、ゼロ挿入ビット406は、可変
長の可能性があるためである。データバッファ306内
で次の開始コード405が専有しており、正確な位置は
予測できない。ゼロ挿入ビット406が可変長であるた
め、シフタ312は、8からアキュムレータ336の最
下位ビット(least significant bit;LSB) の3個Acc
[2:0]を差し引いたことに該当する数だけゼロ挿入
ビット406の最初数字を偏移(shift out) させる。以
降で説明するように、5ビットのアキュムレータ336
は、分析された画像データ408のエントロピーコード
ワードを調べる。ここで、画像データ408がバイト整
列にならないと、バイト整列したものとの差異は、8か
らAcc[2:0]を差し引いたものと同一となる。
【0043】通常、レジスタファイル334から全体の
ビットグループを廃棄しつつ、次の開始コード405を
検出する比較器ユニット308によって使用されるパタ
ーンの数を最小化するために、次の開始コード405の
形態及び属性は、データバッファ306内で少ないオー
バヘッド(overhead)の処理動作によって事前に検出され
る。次の開始コード405の定型(predetermined featu
re) が事前検出されると、次の開始コード405の定型
がデータバッファ306によって使用されたビットパタ
ーンと一致するため、現在のデータシフト量が修正され
る。事前検出動作は、以降で説明するように、データバ
ッファ306での比較動作に伴うビットパターンの数の
増加によって、その省略が可能である。
【0044】開始コード検出動作の中で、次の開始コー
ド405の検出動作を開始する前に画像データ408の
終了点になると、次の開始コード405を受信する前
に、データバッファ306にはゼロ挿入ビット406の
みが存在する。少ないオーバヘッドの開始コード形式の
事前検出動作は、開始コード形式事前検出ロジック31
0によって実行される。開始コード形式事前検出ロジッ
ク310は、“1”を検出するために、データバッファ
306の内容に対して論理OR処理を実行する。ここで
“1”が検出されると、not_all_zeroの開
始コード形式事前検出ロジック310出力信号が“1”
に設定され、比較器ユニット308に入力される。
“1”が検出されない場合、not_all_zero
出力信号が“0”に設定される。
【0045】圧縮画像ビットストリーム402を処理す
る間は、比較器ユニット308が次の開始コード405
の内容を0001hとマッチングさせてレジスタファイ
ル334の内容から次の開始コード405を検出せず、
not_all_zero信号も0であれば、比較器ユ
ニット308が、本実施形態での16ビットの現在デー
タバッファ304のビット容量と同一な5ビット出力信
号skip_sizeを設定する。
【0046】このような次の開始コード405検出動作
の中で制御状態マシン307は、マルチプレクサ328
を通じてシフタ312に転送するための比較器ユニット
308の出力信号のskip_sizeを選択する。シ
フタ312は、レジスタファイル334の16ビット内
容を偏移させ、制御状態マシン307が、ゲート制御線
330の制御信号を使用してゲート328をオープンに
する。データバッファ306の16ビット内容全体は現
在データバッファ304にロードされ、次の16ビット
の圧縮画像ビットストリーム402が、データバッファ
306にロードされる。また、現在データバッファ30
4の内容は、レジスタファイル334にロードされる。
このような過程は、開始コード形式事前検出ロジック3
10によってnot_all_zero信号が設定され
るまで反復する。
【0047】次の開始コード405の検出動作中で、あ
る時点で少なくとも次の開始コード405の一部がデー
タバッファ306によってロードされる。開始コード形
式事前検出ロジック310は、このような方法によって
次の開始コード405の最上位ビットに含まれた“1”
を検出し、出力信号not_all_zeroを“1”
に設定する。圧縮画像ビットストリーム402がバイト
整列していると、データバッファ306内の次の開始コ
ード405の0番ビットや8番ビットが“1”に設定さ
れる。
【0048】上記のように、ビットストリームプロセッ
サ234は、デジタル信号処理器コア201によってB
P_MODEレジスタのSFビットを通じて圧縮画像ビ
ットストリーム402へ形式が通報されるが、バイト整
列している場合、SFビットは圧縮画像ビットストリー
ム402が、MPEG1又はMPEG2によってバイト
整列してフォーマットされたことを表す。比較器ユニッ
ト308は出力信号skip_sizeを8(1000
b)に設定するが、これは比較器ユニット308が次の
開始コード405を検出しない状態にならないようにす
る。
【0049】レジスタファイル334レジスタの内容で
あるAcc[4:0]は、出力信号skip_size
によって01000bに設定される(接尾語bは二進数
表記である)。シフタ312は、最上位8ビットをレジ
スタファイル334から偏移させ、データバッファ30
6からのデータ中の8ビットがレジスタファイル334
レジスタの最下位ビット位置にロードされる。
【0050】毎回の1バイト偏移後のレジスタファイル
334の内容は1000bずつ増加する。Acc[4:
0]が15を超過するごとに、制御状態マシン307は
ゲート326をオープンし、データバッファ306の内
容が現在データバッファ304にロードされる。現在デ
ータバッファ304の内容は、レジスタファイル334
内に偏移され、次の16ビットの圧縮画像ビットストリ
ーム402は、データバッファ306にロードされる。
【0051】比較器ユニット308は、レジスタファイ
ル334の内容を次の開始コード405と唯一に連関す
るビット形式(本実施形態では0001h)と比較す
る。2サイクル内に比較器ユニット308は現在データ
バッファ304の内容を0001hと整合させる。一致
点を検出する際に比較器ユニット308が、2番目の出
力信号detector_statusを“1”に設定
する。これはレジスタファイル334内の現在のデータ
が、次の開始コード405の最上位ビット16個を含ん
でいることを意味する。
【0052】制御状態マシン307は、開始コードが検
出されたことをデジタル信号処理器コア201に通知
し、比較器ユニット308をアイドル状態にするため、
出力信号enable[1:0]を00bに設定する。
この結果、ビットストリームプロセッサ234は、デジ
タル信号処理器コア201からの後続する情報を有する
か、又は、次の開始コード405がスライス開始コード
であれば、次の開始コード405をデコードする。
【0053】開始コード形式事前検出ロジック310が
出力信号not_all_zeroを“1”に断定した
場合、ビットストリームプロセッサ234がデジタル信
号処理器コア201によって圧縮画像ビットストリーム
402がH.261又はH.263に従ってバイト整列
しないことの通知をBP_MODEレジスタのSFビッ
トを通じて受けると、データバッファ306内で次の開
始コード405の0001h部分中の1hの位置が判明
しないことになる。比較器ユニット308は出力信号s
kip_size1に設定する。シフタ312は、レジ
スタファイル334の内容を1ビットずつ偏移させつ
つ、最下位ビットをデータバッファ306からの最上位
ビットに代替させる。
【0054】それぞれ1ビットずつ偏移させた後の比較
器ユニット308は、レジスタファイル334内の現在
のデータを次の開始コード405と唯一に連関するビッ
ト形式と比較する。このような処理は一致状態が検出さ
れるまで反復されるが、長くても16サイクル内には実
行される。一致状態が検出されると、レジスタファイル
334は少なくとも次の開始コード405の一部を含
み、比較器ユニット308は出力信号detector
_statusを“1”に設定して、レジスタファイル
334レジスタの内容が次の開始コード405の000
1h部分を含んでいることを制御状態マシン307に通
知する。
【0055】これに応じて、ビットストリームプロセッ
サ234は出力信号enable[1:0]を00bに
リセットし、比較器ユニット308をアイドル状態に設
定する。制御状態マシン307は開始コードが検出され
たことをデジタル信号処理器コア201に知らせ、出力
信号enable[1:0]を00bに設定して、比較
器ユニット308をアイドル状態に設定する。この結
果、ビットストリームプロセッサ234は、デジタル信
号処理器コア201からの後続情報を有するか、又は、
次の開始コード405がslice開始コードであれ
ば、次の開始コード405をデコードする。
【0056】ビットストリームプロセッサ234が画像
データ408内でエラーを検出すると、ビットストリー
ムプロセッサ234はプロセッサ202をインタラプト
し、レジスタファイル324内のBP_CONTROL
レジスタ内で表3のerr_handle_modeフ
ラグの内容を調べる。err_handle_mode
フラグが“1”に設定されている場合、ビットストリー
ムプロセッサ234は、自動的に次の開始コード405
を調べてエラーに対する回復を要求する。
【0057】err_handle_modeフラグが
“0”に設定されると、ビットストリームプロセッサ2
34は、アイドル状態になり、デジタル信号処理器コア
201からの後続情報を有する。
【0058】画像データ408内にエラーが検出され、
err_handle_modeフラグが“1”に設定
されると、ビットストリームプロセッサ234は、次の
開始コード405を検出するための効果的な動作を直ち
に開始する。制御状態マシン307は、出力信号ena
ble[1:0]を10bに設定し、比較器ユニット3
08が画像データ408内に含まれない定型を調べるよ
うに要求する。本実施形態では、多重標準方式によって
フォーマットされた圧縮画像ビットストリーム402の
画像データ408内に0000hを設定しない。
【0059】比較器ユニット308は、レジスタファイ
ル334の16ビット内容を0000hと比較し始め
る。一致状態が検出されなければ、出力信号detec
tor_statusが“0”に維持される。比較器ユ
ニット308は、出力信号skip_sizeを“10
000h”に設定し、制御状態マシン307は、シフタ
312に転送するためにマルチプレクサ328に送出す
るskip_size入力信号を選択する。制御状態マ
シン307は、ゲート制御線330の制御信号を通じて
ゲート328を動作させ、データバッファ306に格納
された次の16ビットを現在データバッファ304に転
送する。
【0060】圧縮画像ビットストリーム402からの1
6ビットはデータバッファ306にロードされ、現在デ
ータバッファ304の内容はレジスタファイル334に
ロードされる。更に、比較器ユニット308は、レジス
タファイル334の内容を0000hと比較する。その
動作は、比較器ユニット308によって一致状態が検出
されるまで継続され、比較器ユニット308は出力信号
detector_statusを“1”に設定して一
致状態検出を制御状態マシン307に通知する。このよ
うな動作時点で、多重標準方式開始コード検出システム
300がゼロ挿入ビット406を検出する。
【0061】画像データ408内でエラーを検出した後
に、このエラーを処理する開始コード検出動作を終了す
るために、制御状態マシン307は出力信号enabl
e[1:0]を01bに設定する。開始コード検出処理
は上記のように継続されてバイト整列しない圧縮画像ビ
ットストリーム402を推定するか、又は、エントロピ
ーコードワードを調べ、かつ、上記のようにゼロ挿入ビ
ット406を整列し、更に上記のように圧縮画像ビット
ストリーム402がバイト整列されたことを推定する。
【0062】「多重標準方式開始コード検出システムの
動作例」次に、初期に圧縮画像ビットストリーム402
がMPEG1,MPEG2,H.261、又は、H.2
63標準方式によってフォーマットされたものと推定す
る多重標準方式開始コード検出システム300の動作例
を説明する。また、本実施形態では、有用な画像データ
408が、XXXX1 XXXX2 h(接尾語を16進グ
ループを表す例示の目的のみに使用する)に該当し、ゼ
ロ挿入ビット406が00001 00001 003ahで
あり、次の開始コード405が003b014aXX4b
(接尾語“a”と“b”とはそれぞれ16ビットグルー
プの1番目及び2番目のバイトを表す)を含むことを推
定する。当業界で、通常の知識を有する者は、このよう
な説明を通じて多重標準方式開始コード検出システム3
00が他の画像及び非画像標準方式にも適用されること
を理解できるものである。
【0063】画像データ408にエラー(不良)がない
場合又はある場合、比較器ユニット308の出力信号e
nable[1:0]は、制御状態マシン307によっ
て初期に、そのすべてが論理“0”に設定され、レジス
タファイル324内の出力信号detect_star
t_codeフラグが、デジタル信号処理器コア201
によって設定されるまで比較器ユニット308をアイド
ル状態に設定する。多重標準方式開始コード検出システ
ム300が圧縮画像ビットストリーム402を受けた際
に、16ビットの画像データ408XXXX1 hは、現
在データバッファ304及びレジスタファイル334に
ロードされ、次の16ビットの有用な画像データ408
XXXX2 hが、データバッファ306にロードされ
る。
【0064】比較器ユニット308がアイドル状態にあ
る間に、現在データXXXX1 hが、シフタ312によ
ってレジスタファイル334から以降で説明するエント
ロピーコードビット長検出モジュール314に適切に偏
移される。Acc[4:0]が15を越える際に、続い
て、次ぎのデータXXXX2 hが、ゲート326を通じ
て現在データバッファ304にロードされ、かつ、レジ
スタファイル334にロードされる。
【0065】圧縮画像ビットストリーム402の次の1
6ビット00001 hが、データバッファ306にロー
ドされる。比較器ユニット308を続いてアイドルに設
定した状態で、レジスタファイル334内の現在のデー
タXXXX2 hは、エントロピーコードビット長検出モ
ジュール314に偏移され、次のデータ00001
は、現在データバッファ304及びレジスタファイル3
34にロードされる。圧縮画像ビットストリーム402
の次の16ビット00002 hが、データバッファ30
6にロードされる。
【0066】デジタル信号処理器コア201が有用な画
像データ408の終了を検出してから、デジタル信号処
理器コア201はdetect_start_code
フラグを“1”に設定し、制御状態マシン307は出力
信号enable[1:0]を01bに設定し、比較器
ユニット308がレジスタファイル334レジスタの内
容を0001hと比較するように指示する。更に、ゼロ
挿入ビット406は、上記のように適切であれば、バイ
ト整列となる。このようにして、イネーブル状態となる
比較器ユニット308が、次の開始コード405を調べ
始める。
【0067】現在データバッファ304及びレジスタフ
ァイル334にある現在データは00001 hに該当
し、データバッファ306にある次のデータが0000
2 hに該当する。開始コード形式事前検出ロジック31
0は、ORロジックを利用してデータバッファ306の
内容00002 hを処理する。データバッファ306の
内容のすべては論理“0”であるため、出力信号not
_all_zeroはローレベルの論理“0”を維持す
る。比較器ユニット308は現在データを0001hと
比較して、現在データが次の開始コード405の定型と
一致しないことを確認する。
【0068】出力信号not_all_zeroがロー
レベルであり、比較器ユニット308によって一致点が
検出されないため、比較器ユニット308は出力信号s
kip_sizeを10000hに設定し、detec
tor_statusを“0”に設定する。出力信号d
etector_statusがローレベルであるの
で、出力信号enable[1:0]は01bに維持さ
れる。シフタ312は出力信号skip_sizeに応
答し、能率的に現在のデータ00001 hを廃棄する。
制御状態マシン307はゲート326をオープンし、次
のデータ00002 hを現在データバッファ304に転
送する。これはシフタ312によってレジスタファイル
334に偏移される。
【0069】圧縮画像ビットストリーム402の次の1
6ビット003a003bhはデータバッファ306にロー
ドされる。多重標準方式開始コード検出動作は前記の説
明のように継続され、比較器ユニット308による不一
致信号及び開始コード形式事前検出ロジック310出力
信号not_all_zeroの“0”に応答して、0
0002 hがレジスタファイル334から能率的に廃棄
される。データバッファ306の内容003a003bhは
現在データバッファ304及びレジスタファイル334
にロードされる。014aXX4bhビットはデータバッフ
ァ306にロードされる。
【0070】開始コード形式事前検出ロジック310は
データバッファ306の内容を処理し、“1”ビットを
検出して出力信号not_all_zeroを“1”に
設定する。比較器ユニット308は003a003bhを0
001hと比較し、その一致状態を検出しない場合に
は、出力信号detector_statusをローレ
ベルに維持する。デジタル信号処理器コア201は、圧
縮画像ビットストリーム402がバイト整列したと認識
すると、BP_MODEレジスタ“SF”ビット(表1
及び表2)を適切に設定し、データバッファ306の内
容が0001h、又は01XXhであることをビットス
トリームプロセッサ234に通知する。
【0071】このようにして、比較器ユニット308は
出力信号skip_sizeを01000bに設定し、
これはデータバッファ306が少なくとも次の開始コー
ド405の一部を有するからである。シフタ312は0
3ahを能率的に処理して、レジスタファイル334は
014ahをデータバッファ306から偏移させて現在デ
ータ003b014ahを保持する。比較器ユニット308
は現在データと開始コード形式0001hの間で一致状
態を検出し、出力信号detector_status
をハイレベルに設定する。制御状態マシン307は出力
信号enable[1:0]を00bに設定して比較器
ユニット308をアイドル状態に設定し、デジタル信号
処理器コア201に次の開始コード405が検出された
ことを通知する。
【0072】これ以降では、圧縮画像ビットストリーム
402がバイト整列されなかったことを、上記のように
デジタル信号処理器コア201がビットストリームプロ
セッサ234に通知すると仮定する。多重標準方式開始
コード検出システム300は、本実施形態での014a
4bhに該当するデータバッファ306の内容から、開
始コード形式事前検出ロジック310によって論理
“1”が検出するときまで、上記のように実行する。開
始コード形式事前検出ロジック310は出力信号not
_all_zeroをハイレベルに設定し、比較器ユニ
ット308が現在データ003a003bhが0001hと
一致するかの可否を調べる。
【0073】一致状態が検出されずに比較器ユニット3
08は出力信号skip_sizeを00001bに設
定するが、これは次の開始コード405の0001hビ
ットの位置が判明しないためである。レジスタファイル
334の内容を制御するシフタ312及び制御状態マシ
ン307は、レジスタファイル334内の連続する最上
位ビットを一ビットずつ能率的に廃棄する。一ビットず
つ偏移させてから比較器ユニット308は、レジスタフ
ァイル334の現在データを調べて、0001hとの一
致を検出するまで行う。本実施形態では8回の一ビット
を偏移させてから、現在データは003b014ahに該当
し、比較器ユニット308は一致状態を検出する。一致
状態を検出してからの圧縮画像ビットストリーム402
の動作は、上記の通りである。
【0074】これからは、次の開始コード405で、例
えば、ビットストリームプロセッサ234やデジタル信
号処理器コア201によってエラーが検出されると仮定
する。BP_CONTROLレジスタ内で表3のerr
_handle_modeフラグが“1”に設定される
と、ビットストリームプロセッサ234は、まず、最上
位ゼロ挿入ビット406に対して全体16ビットグルー
プを調べ、それから次の開始コード405の0001h
に対して調べることによって、次の開始コード405サ
ーチ動作を始める。
【0075】制御状態マシン307は出力信号enab
le[1:0]を10bに設定し、比較器ユニット30
8はレジスタファイル334の内容を0000hと比較
する。一致状態が検出されるまで、比較器ユニット30
8は出力信号skip_sizeを10000bに設定
する。したがって、レジスタファイル334から現在デ
ータの16ビットグループはシフタ312によって能率
的に廃棄され、制御状態マシン307はゲート326を
制御して、データバッファ306の16ビット内容を、
レジスタファイル334に偏移される現在データバッフ
ァ304に転送する。
【0076】圧縮画像ビットストリーム402の次の1
6ビットは、データバッファ306に入力される。本実
施形態でXXXX1 hに該当する不良の画像データ40
8は比較ユニット308によって0000hと比較さ
れ、次いでXXXX2 hは0000hと比較される。3
回目の比較動作では00011 hを0000hと比較
し、一致状態が検出される。比較器ユニット308は出
力信号detector_statusを“1”に設定
し、制御状態マシン307は出力信号enable
[1:0]を01bに設定する。開始コード検出動作は
上記のように圧縮画像ビットストリーム402のバイト
整列特性によって実行される。
【0077】「エントリピーコードビット長検出モジュ
ール」(ENTROPY CODE BIT LENGTH SEARCHING MODULES) 圧縮画像ビットストリーム402は多様なVLCテーブ
ル、すなわち、エントロピーコードテーブル(又はHu
ffmanテーブルとも言う)によってエンコードされ
る。一実施形態として、ビットストリームプロセッサ2
34は、それぞれのMPEG1,MPEG2、H.26
1及びH.263画像標準方式の文書内で説明かつ推薦
されたすべてのHuffmanテーブルを用いる。この
テーブルはルックアップテーブル(LUT) 332内に設け
られている。一実施形態として、ルックアップテーブル
332は768×12ビットROMである。単純であり
ながらも非常に複雑なHuffmanテーブルは固定配
線(hardwired) ロジックを利用して処理される。
【0078】なお、エントロピーコード化は、一般的に
反復(redundancy)を減少させるための信号の可変長コー
ド化と定義される。一般的にエントロピーコード化によ
って、短いエントロピーコードワードは頻度が高い処理
に割り当てられ、長いエントロピーコードは頻度が低い
処理に割り当てられる。
【0079】ルックアップテーブル332に関連するデ
コーディング動作は、可変長エントロピーコード入力を
使用してデコードデータ出力信号を送出する。圧縮画像
ビットストリーム402のエントロピーコードワードは
事前検出され、かつ、圧縮された連続ビットストリーム
を形成する。
【0080】圧縮画像ビットストリーム402をデコー
ドするために、圧縮画像ビットストリーム402が個々
のエントロピーコードワードに分解され、432のため
のアドレスを発生する。圧縮画像ビットストリーム40
2を連続的なエントロピーコードワードに分解する方法
は、エントロピーコードビット長検出モジュール314
を使用し、現在のエントロピーコードワードのビット長
さを決定する。ビットの長さが決定されると、エントロ
ピーコードワードは認識され、圧縮画像ビットストリー
ム402から分解してデコードされる。このようなデコ
ード動作は、エントロピーコードのビット長さに配置さ
れた従来の別途ROMに代替され、総体的に小型形状に
なる。
【0081】図3において、デコーディング動作中の制
御状態マシン307は、出力信号enable[1:
0]を00bにし、比較器ユニット308をアイドル状
態に設定する。シフタ312は圧縮画像ビットストリー
ム402データを、レジスタファイル334からエント
ロピーコードのビット長検出モジュール314に供給
し、エントロピーコードビット長検出モジュール314
は、現在エントロピーコードのビット長を決定する。デ
ータバッファ306から現在データバッファ304にデ
ータを入力し、現在データバッファ304からレジスタ
ファイル334に内容を偏移させ、データバッファ30
6に次の16ビットの圧縮画像ビットストリーム402
を入力する動作は、制御状態マシン307の制御下にあ
り、上記のようにアキュムレータ336の内容に依存す
る。
【0082】制御状態マシン307は、マルチプレクサ
328を通じてシフタ312に転送するための信号bi
t_length_codeを選択する。決定されたビ
ット長の情報は、マルチプレクサ328を通じてシフタ
312に転送され、シフタ312がbit_lengt
h_codeで示された規定のビット長によって、レジ
スタファイル334の内容を分解する。シフタ312
は、アキュムレータ336の内容Acc[4:0]を利
用し、レジスタファイル334内でその以前に分解され
た内容を追跡する。現在データバッファ304は、レジ
スタファイル334が空いた(例えば、未分解ビットを
有しない)ときのみ、データバッファ306から再入力
される。
【0083】図5において、エントロピーコードビット
長検出モジュール314は、それぞれN+1個のエント
ロピーコードビット長検出ロジックモジュールSLM
[N:0]から構成される。それぞれのエントロピーコ
ードビット長検出ロジックモジュールSLM[N:0]
は、ビットストリームプロセッサ234によって支援さ
れる標準方式フォーマット、すなわち、一実施形態とし
てMPEG1,MPEG2,H.261及びH.263
での定型のように、それぞれのVLCテーブルを示すよ
うに構成される。
【0084】したがって、N+1は多重標準方式フォー
マットによって使用されるテーブル数に該当するが、本
実施形態では28である。それぞれのエントロピーコー
ドビット長検出ロジックモジュールSLM[N:0]
は、レジスタファイル334から並列導線を通じて、同
一の16個のcurrent_dataビットを受信す
る。制御状態マシン307はデータバッファ306の最
上位ビットを受信する。一実施形態として、それぞれの
エントロピーコードビット長検出ロジックモジュールS
LM[N:0]に一回で保持されるcurrent_d
ataビット数の最大は16ビットであるが、これは最
大のエントロピーコードワードビット長さから、多重標
準方式フォーマットによって使用されたのみを差し引い
たものに該当する。
【0085】なお、それぞれのエントロピーコードビッ
ト長検出ロジックモジュールSLM[N:0]中のいず
れか一つが、17ビット長さのエントロピーコードワー
ドを検出すると、制御状態マシン307は、信号bit
_length_codeを通じて通知され、最下位ビ
ット(17番目)をレジスタファイル334の内容に付
加する。エントロピーコードワードがそれぞれのエント
ロピーコードビット長検出ロジックモジュールSLM
[N:0]によって示されたテーブルに属すると、それ
ぞれのエントロピーコードビット長検出ロジックモジュ
ールSLM[N:0]は、受信された最上位エントロピ
ーコードワードのビット長を決定する。
【0086】それぞれのエントロピーコードビット長検
出ロジックモジュールSLM[N:0]は、最上位エン
トロピーワードでの、決定された長さが示されるよう
に、それぞれの出力信号bit_length_cod
e[N:0]を有する。制御状態マシン307は、マル
チプレクサ502の出力端を通過する最上位エントロピ
ーコードワードと関連したテーブルを表す出力信号bi
t_length_code[N:0]中の一つを選択
する。制御状態マシン307は、出力信号select
_logic_module_inputをマルチプレ
クサ502の選択端に入力する。
【0087】デコード動作中の制御状態マシン307
は、マルチプレクサ502の出力端を通じてシフタ31
2の入力端に入力される出力信号bit_length
_codeを選択する。シフタ312は分析された現在
データを、レジスタファイル334の最上位未使用内容
から偏移させることによって、入力信号bit_len
gth_codeに対応する入力信号bit_leng
th_codeに該当するビット数を有する分析された
現在のデータが、アドレス発生器338に通知される。
【0088】アドレス発生器338は、ルックアップテ
ーブル332のためのアドレスを生成する。したがっ
て、通常数ns(nanoseconds) 中に、シフタ312が入
力信号bit_length_codeに該当するレジ
スタファイル334からの最上位未使用ビット数を、エ
ントロピーコードビット長検出モジュール314に偏移
させる。現在データバッファ304及びデータバッファ
306のビットは、エントロピーコードビット長検出モ
ジュール314に転送されたことがなければ、未使用と
みなす。レジスタファイル334が空くと、すなわち、
両側に使用されたビットのみを有すると、現在データバ
ッファ304はゲート326を通じてデータバッファ3
06の内容が再入力される。現在データバッファ304
の内容はレジスタファイル334に偏移され、データバ
ッファ306は次の16ビットの圧縮画像ビットストリ
ーム402が再入力される。
【0089】図6は検出ロジックモジュールSLMの一
実施形態の構成を示すブロック図である。図6の例はエ
ントロピーコードビット長検出ロジックモジュールSL
M[M]が、それぞれのエントロピーコードビット長さ
の検出ロジックモジュールSLM[N:0]の場合を示
している。エントロピーコードビット長検出ロジックモ
ジュールSLM[M]の全体構成は、エントロピーコー
ドマッチングモジュールMM[M:0](すなわちマッ
チングモジュールMM[M]からMM[0]まで)をマ
ッチングモジュールグループG[t:0]に整列するこ
とを含む。
【0090】VLCテーブル内の潜在的なエントロピー
コードビットの長さは、それぞれMPEG1,MPEG
2,H.261及びH.263をもって説明したよう
に、グループG[t:0]中のいずれか一つに表現され
る。マッチングモジュールグループ内のそれぞれのマッ
チングモジュールは、入力信号current_dat
aを通じて圧縮画像ビットストリーム402のnビット
を受信し、n−xに該当するビット長さを有するエント
ロピーコードワードを検出する。また、“n−x”は、
マッチングモジュールグループ内の特定マッチングモジ
ュールに表れたビット長さに該当することに注目する。
したがって、“x”は各マッチングモジュールグループ
によって変化する。
【0091】例えば、エントロピーコードビット長検出
ロジックモジュールSLM[M]が、表4のMPEG−
1モーションVLCテーブルと連関する場合、マッチン
グモジュールグループG[0]が最も小さいビット長
さ、すなわち、本テーブルで1(コード0)を有するエ
ントロピーコードワードを検出する。したがって、xは
16に該当し、n−xが1に該当する。また、マッチン
グモジュールグループG[t]は、最も大きいビット長
さ、表4のVLCテーブルで11(コード−16から−
11まで及び11から16まで)を有するエントロピー
コードワードを検出する。したがって、xは6に該当し
n−xは11に該当する。それぞれのエントロピーコー
ドマッチングモジュールMM[M:0]は最上位n−x
ビットを、一つ以上の定型エントロピーコードワードに
相応するビット形式と一致させる。
【0092】マッチングモジュールグループ内のマッチ
ングモジュール数は、好ましくは特定グループと関連し
たビット長さを有するすべての定型エントロピーコード
ワードを、検出誤差や検出漏れなく正確に検出するため
に必要となるビット形式の最小限の数を基準として選択
する。例えば、マッチングモジュールグループG[0]
を一致させるための“a+1”、マッチングモジュール
グループG[t]を一致させるための“m+b+1”等
のグループ内でマッチングモジュール数を定型化するも
のと、マッチングモジュールグループの数(“t+
1”)を定型化することを、下記においてより詳細に説
明する。
【0093】表4は、画像ベクトルに対するエントロピ
ーコードを示す。表4に関連する下記の例は、多重標準
方式フォーマットのような、異なる標準方式フォーマッ
トのエントロピーコードテーブルに適用するように採用
される。それぞれのエントロピーコードマッチングモジ
ュールMM[M:0]の最上位n−xビットが、完全な
エントロピーコードワードであるかを表す出力信号を発
生する。エントロピーコードマッチングモジュールMM
[M:0]は、ただ一つのマッチングモジュールが一サ
イクルの間に、一つの論理1を発生するように構成され
る。マッチングモジュール内に入力された最上位のn−
xビットがエントロピーコードワードを表す際に、この
マッチングモジュールは論理1出力信号を発生する。
【0094】エントロピーコードマッチングモジュール
MM[M:0]は、好ましくは各マッチングモジュール
グループG[t]内に、少なくとも一つのマッチングモ
ジュールが存在するように構成される。それぞれのマッ
チングモジュールグループG[t]に対する最小限のマ
ッチングモジュール数を決定するため、エントロピーコ
ードビット長検出ロジックモジュールSLM[M]で表
したエントロピーコードテーブルが調べられるが、この
エントロピーコードワードテーブルの内容は、独特な属
性を有する共通最上位ビット共通パターン(pattern) に
よってビット長さ別にグループを構成する。図4を参照
し、最も小さいエントロピーコードワードの例を挙げる
と、最も小さいエントロピーコードワードがどの程度多
い先行ゼロ(leading zero)であるかを決定する。X個の
先行ゼロがあるとしたら、同一な先行ゼロ数Xを有す
る、より長いエントロピーコードワードを調べる。
【0095】
【表4】
【0096】最も小さいエントロピーコードワード中の
一つからY個の最上位ビットを取ってパターンが決定さ
れるが、最も小さいエントロピーコードワードに比較
し、異なる長さを有するエントロピーコードワード内容
のY個の最上位ビットには比較一致が発生しないように
なる。このような処理は、最も小さいエントロピーコー
ドワードのそれぞれに対して反復される。それぞれ異な
る定型の数は、最も小さいビット長に対するマッチング
モジュールグループ内のマッチングモジュール数と同一
である。このような処理は、個々のエントロピーコード
ワードの内容に対して反復される。本技術分野の通常の
技術を有する者は、唯一の位置パターンが多様な方法に
よって決定されることを理解できる。
【0097】例えば、図4を参照すると、MPEG−1
モーションVLCテーブルに対するエントロピーコード
ビット長検出ロジックモジュールSLM[M]は、8個
のマッチングモジュールグループG[7:0]を有す
る。各マッチングモジュールグループG[4:0]は、
それぞれ一つのエントロピーコードマッチングモジュー
ルMM[0]を有し、各マッチングモジュールグループ
G[7:5]はそれぞれ2個のエントロピーコードマッ
チングモジュールMM[1:0]を有する。また、表4
は、それぞれのマッチングモジュールと関連された独特
なパターンを含む。
【0098】ビット長さZのパターンが、エントロピー
コードビット長検出ロジックモジュールSLM[M]の
各マッチングモジュール内へのnビット入力の最上位Z
ビットに対して一致すると、この一致状態はマッチング
モジュールグループG[7:0]中のいずれか一つのみ
から見つけ出される。表4から理解できるように、ビッ
ト長さを決定するためのルックアップテーブルROMを
用いることに比較して、エントロピーコードワードのビ
ット長さを決定するエントロピーコードビット長検出モ
ジュール314を得るためのチップ領域が減少する。
【0099】図7は個々のエントロピーコードマッチン
グモジュールMM[m:0]を示すブロック図である。
この例は、マッチングモジュールMM[i]を、それぞ
れ図6のマッチングモジュールグループG[t:0]で
の、個々のエントロピーコードマッチングモジュールM
M[m:0]として示している。マッチングモジュール
MM[i]は、current_data入力信号パス
704を通じて受信される圧縮画像ビットストリーム4
02の、n個現在データビットEC[n−1:0]を格
納するエントロピーコードバッファ702を含む。最上
位ビットEC[n−1:x]はn−xパターンビットP
[(n−1)−x:0]と比較されるが、n−xは上記
したマッチングモジュールと関連されたパターンのビッ
ト長に該当する。
【0100】例えば、図4において、マッチングモジュ
ールMM[i]がビット長さ10のエントロピーコード
ワードマッチングモジュールを検出するマッチングモジ
ュールグループG[6]のマッチングモジュールMM
[1]を示し、nは17であれば関連したパターン00
00 0100 1bは9ビット長である。したがっ
て、xは8となりn−xは9となる。このようにして、
EC[n−1]はE[x]となり、P[(n−1)−
x]はP[0]となる。比較器ユニット308は、最上
位エントロピーコードデータビットEC[n−1:x]
を、最上位パターンビットP[(n−1)−x:0]と
一対一で比較する。一致状態が検出されると、マッチン
グモジュールMM[i]は論理“1”出力信号を出力線
710に送出し、一致状態が検出されない場合、マッチ
ングモジュールMM[i]は論理“0”を送出する。
【0101】比較器ユニット308は、EX−ORロジ
ック又はEX−ORアルゴリズムのような公知の多様な
回路やソフトウェアアルゴリズムを利用して実行するこ
とが出来る。パターンビットP[(n−1)−x:0]
は固定配線で構成することが出来るが、柔軟性の向上又
はエントロピーコードビット長検出ロジックモジュール
数を減少させるために、現在のエントロピーコードワー
ドと関連したエントロピーコードテーブルによってプロ
グラムを実行することが出来る。
【0102】マッチングモジュールグループG0:G1
マッチングモジュールが、認識中のエントロピーコード
マッチングモジュールMM[m:0]中の一つから、論
理“1”出力信号によって指示されるようにエントロピ
ーコードワードを認識したか否かを決定するためにロジ
ックモジュールが使用される。図6の実施形態では、そ
れぞれのマッチングモジュールグループG[t:0]か
らのマッチングモジュール出力信号が、それぞれのOR
ロジックモジュールL[t:0]に入力される。現在エ
ントロピーコードのビット長は、ORロジックモジュー
ルL[t:0]中のいずれが論理1の出力信号hit_
t:hit_0を有するかによって決定される。
【0103】ビット長エンコーダ602は、それぞれの
導線からORロジックモジュールL[t:0]出力信号
hit_t:hit_0を受信する。ビット長エンコー
ダ602は、論理1出力信号を発生したマッチングモジ
ュールを有するマッチングモジュールグループに該当す
るコード化された出力信号bit_length_co
de_Mを発生する。例えば、tがマッチングモジュー
ルグループG[t:0]のために7になると、マッチン
グモジュールグループG[t:0]は、相互に異なる8
個のエントロピーコードビット長を示す。したがって、
出力信号bit_length_codeは8個の暫定
的な出力信号値を表す。
【0104】bit_length_code_M出力
信号パス604は、これによってbit_length
_code_Mの4ビットを示す4個の出力線を有す
る。エントロピーコードマッチングモジュールMM
[m:0]及びマッチングモジュールグループG[t:
0]は、エントロピーコードマッチングモジュールMM
[m:0]の中の一つが、一サイクル間に論理1出力信
号を発生するように構成されるため、bit_leng
th_code_Mは論理1出力信号を発生するマッチ
ングモジュールのn−x最上位ビット内に入力された現
在エントロピーコードワードビット長を直接的に表す。
【0105】図5において、各エントロピーコードビッ
ト長検出ロジックモジュールSLM[N:0]は、それ
ぞれの出力信号bit_length_code_
[N:0]をそれぞれのマルチプレクサ502に入力す
る。制御状態マシン307出力信号select_lo
gic_inputは、マルチプレクサ328の選択端
に入力される。マルチプレクサ328に送出するように
選択された信号bit_length_code_
[N:0]の中の一つは、現在エントロピーコードワー
ドに対応し、VLCテーブルに割り当てられたエントロ
ピーコードビット長検出ロジックモジュールSLM
[N:0]中の一つによって生成された信号である。
【0106】マルチプレクサ502からの出力信号bi
t_length_codeはマルチプレクサ328の
選択端に入力される。デコーディング過程で制御状態マ
シン307は、シフタ312に入力するためのbit_
length_code出力信号を選択する。シフタ3
12は、上記のように現在データバッファ304からb
it_length_code信号に該当する多数のビ
ットを、ルックアップテーブル332のためのアドレス
を生成するアドレス発生器338に変更する。このよう
なビットはデコードされ、レジスタファイル324内の
多目的レジスタに送出される。このようなビットはI/
Oバスライン212を通じてデジタル信号処理器コア2
01で処理される。
【0107】上記のように好ましい実施形態を図示し
て、その説明を行ったが、本発明はこれに限定されな
い。例えば、ビットストリームプロセッサ234は、比
較器ユニット308内にプログラマブルビットパターン
メモリを備えて、一致パターンを選択するようにも出来
る。更に、エントロピーコードビット長検出モジュール
314の機能は、プロセッサやソフトウェアを利用して
実行することも出来る。したがって、画像及び非画像標
準形式にも適用できる。本発明の特許請求の範囲におけ
る本発明の精神や分野を離脱しない限度内で、本発明が
多様に変更できることは、当業界で通常の知識を有する
者は容易に理解できるものである。
【0108】
【発明の効果】以上の説明から明らかなように、本発明
の単位処理システムにおける可変長コード検出装置及び
その方法によれば、現在のエントロピーコードワードの
潜在ビット長の規定数がt+1となるようにビット長を
有する現在エントロピーコードワードを検出し、データ
ストリーム内に含まれたそれぞれの可変長コードワード
をメモリなどのデータ量を低減して検出することが出来
るようになる。
【図面の簡単な説明】
【図1】本発明の実施形態におけるマルチメディアマル
チプロセッサシステムの上位レベルの概略構成を示すブ
ロック図。
【図2】図1に図示したマルチメディアマルチプロセッ
サシステムのマルチメディア信号処理器の概略構成を示
すブロック図。
【図3】図1中のマルチメディア信号処理器のビットス
トリームプロセッサの構成を示すブロック図。
【図4】実施形態にあって圧縮標準方式によるビットス
トリームの内容を示す図。
【図5】図3中のビットストリームプロセッサによるエ
ントロピーコードビット長検出ロジックの構成示すブロ
ック図。
【図6】図5中のエントロピーコードビット長検出ロジ
ックを一つのVLCテーブルに対して示すブロック図。
【図7】図6中のエントロピーコードビット長検出ロジ
ックによって採用されるエントロピーコードマッチング
モジュールの構成を示すブロック図。
【符号の説明】
100 マルチメディアマルチプロセッサシステム 200 マルチメディア信号処理器 201 デジタル信号処理器コア 204 コプロセッサ 234 ビットストリームプロセッサ 300 多重標準開始コード検出システム 307 制御状態マシン 308 比較器ユニット 310 開始コード形式の事前検出ロジック 314 エントロピーコードビット長検出モジュール

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 現在のエントロピーコードワードの潜在
    ビット長の規定数がt+1となるビット長の現在のエン
    トロピーコードワードを検出する単位処理システムにお
    ける可変長コード検出装置において、 それぞれのビットグループを受信してビットグループ内
    で現在のエントロピーコードワードのビット長の決定を
    行い、この中の一つがこのビットグループ内で現在エン
    トロピーコードワードのビット長を決定する他の出力信
    号と比較して唯一の出力信号を発生する多数のマッチン
    グモジュールと、 それぞれのマッチングモジュールごとに規定数を有し、
    それぞれが現在エントロピーコードワードの潜在ビット
    長のt+1個の規定数の中の一つを示し、かつ、それぞ
    れが出力信号を送出し、この中の一つが他の出力信号と
    比較して唯一の出力信号を送出するマッチングモジュー
    ルを有するt+1個のマッチングモジュールグループ
    と、を備えることを特徴とする単位処理システムにおけ
    る可変長コード検出装置。
  2. 【請求項2】 前記のそれぞれのマッチングモジュール
    は、 ビットグループを有するnビットバッファと、 一つの潜在ビット長の少なくとも一つの潜在エントロピ
    ーコードワードの最上位n−xビットと一致するビット
    パターンを送出する(n−1)−xパターンビットバッ
    ファと、 一致状態の発生によってマッチングモジュールが唯一の
    出力信号を発生するようにnビットバッファ及び(n−
    1)−xパターンビットバッファに接続され、nビット
    バッファの最上位n−xビットを(n−1)−xパター
    ンビットバッファのn−xビットと比較する比較器と、
    を備えることを特徴とする請求項1に記載の単位処理シ
    ステムにおける可変長コード検出装置。
  3. 【請求項3】 前記ビットパターンは、一つの潜在ビッ
    ト長からなる少なくとも一つの潜在エントロピーコード
    ワードと唯一の関連する最小のビット数に該当するビッ
    ト数を有することを特徴とする請求項2に記載の単位処
    理システムにおける可変長コード検出装置。
  4. 【請求項4】 前記それぞれのt+1個マッチングモジ
    ュールグループ内のマッチングモジュールグループによ
    って代表されるビット長が、それぞれの規定エントロピ
    ーコードワードを唯一に識別するために必要な最小のビ
    ットパターン数に該当することを特徴とする請求項1に
    記載の単位処理システムにおける可変長コード検出装
    置。
  5. 【請求項5】 t+1個マッチングモジュールグループ
    の出力信号からt+1個マッチングモジュールグループ
    の中の唯一の出力信号を有する一つを検出し、現在エン
    トロピーコードワードのビット長を示す唯一のコードを
    発生するエンコーダを更に備えることを特徴とする請求
    項1に記載の単位処理システムにおける可変長コード検
    出装置。
  6. 【請求項6】 前記のt+1個マッチングモジュールグ
    ループが、エントロピーコードワードの規定されたテー
    ブルを示すN+1個のエントロピーコードビット長検出
    モジュールの間に配置されることを特徴とする請求項1
    に記載の単位処理システムにおける可変長コード検出装
    置。
  7. 【請求項7】 前記現在のエントロピーコードワードの
    潜在ビット長の規定数は、MPEG1,MPEG2,
    H.261、又は、H.263からなるグループの標準
    フォーマットによって規定されることを特徴とする請求
    項1に記載の単位処理システムにおける可変長コード検
    出装置。
  8. 【請求項8】 多数のマッチングモジュール及びt+1
    個のマッチングモジュールグループを有するマルチメデ
    ィア信号処理器を更に備えることを特徴とする請求項1
    に記載の単位処理システムにおける可変長コード検出装
    置。
  9. 【請求項9】 現在のエントロピーコードワードの潜在
    ビット長の規定数がt+1となるようにビット長を有す
    る現在エントロピーコードワードを検出する単位処理シ
    ステムにおける可変長コード検出方法において、 各ビットパターンが、現在エントロピーコードのt+1
    個の潜在ビット長の中の一つのみに関連するように、多
    数のビットパターンをビットグループの各部分を同時に
    比較する処理段階と、 多数のビットパターンの中のいずれのパターンが、ビッ
    トグループの各部分に一致するか否かを決定する処理段
    階と、 ビットグループの各部分に一致するものと決定されたビ
    ットパターンに応答して、現在のエントロピーコードの
    ビット長を調べるための出力信号を発生する処理段階
    と、を有することを特徴とする単位処理システムにおけ
    る可変長コード検出方法。
JP9276266A 1996-10-18 1997-10-08 単位処理システムにおける可変長コード検出装置及びその方法 Pending JPH10135843A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/731,339 US5821886A (en) 1996-10-18 1996-10-18 Variable length code detection in a signal processing system
US08/731,339 1996-10-18

Publications (1)

Publication Number Publication Date
JPH10135843A true JPH10135843A (ja) 1998-05-22

Family

ID=24939090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9276266A Pending JPH10135843A (ja) 1996-10-18 1997-10-08 単位処理システムにおける可変長コード検出装置及びその方法

Country Status (4)

Country Link
US (1) US5821886A (ja)
JP (1) JPH10135843A (ja)
KR (1) KR100227275B1 (ja)
TW (1) TW392391B (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
US6948794B2 (en) 1997-07-15 2005-09-27 Silverbrook Reserach Pty Ltd Printhead re-capping assembly for a print and demand digital camera system
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
IL122299A (en) * 1997-11-25 2003-11-23 Broadcom Corp Video encoding device
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
US6522694B1 (en) * 1998-10-09 2003-02-18 Matsushita Electric Industrial Co., Ltd. Programmable filter for removing stuffing bits from an MPEG-2 bit-stream
US6373898B1 (en) * 1999-04-06 2002-04-16 Ravisent Technologies, Inc. High-speed start code scanner for MPEG-2 data streams
IT1308456B1 (it) * 1999-04-26 2001-12-17 Olivetti Lexikon Spa Dispositivo per comprimere/decomprimere stringhe di bit
AUPQ056099A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
US6683909B1 (en) * 2000-03-16 2004-01-27 Ezenial Inc. Macroblock parsing without processing overhead
US6563439B1 (en) * 2000-10-31 2003-05-13 Intel Corporation Method of performing Huffman decoding
US6587057B2 (en) * 2001-07-25 2003-07-01 Quicksilver Technology, Inc. High performance memory efficient variable-length coding decoder
US7403981B2 (en) * 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
JP4012907B2 (ja) * 2003-01-15 2007-11-28 富士通株式会社 非同期伝送方法及びその回路
TWI228932B (en) * 2003-02-11 2005-03-01 Ind Tech Res Inst Encoding and decoding method of recording medium
US9330060B1 (en) 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
US8660182B2 (en) * 2003-06-09 2014-02-25 Nvidia Corporation MPEG motion estimation based on dual start points
KR100561464B1 (ko) * 2003-07-29 2006-03-16 삼성전자주식회사 가변장 부호화 장치 및 방법
EP1685537B1 (en) * 2003-11-18 2015-04-01 Mobile Imaging in Sweden AB Method for processing a digital image and image representation format
US8427494B2 (en) * 2004-01-30 2013-04-23 Nvidia Corporation Variable-length coding data transfer interface
US7334116B2 (en) * 2004-10-06 2008-02-19 Sony Computer Entertainment Inc. Bit manipulation on data in a bitstream that is stored in a memory having an address boundary length
US7849369B2 (en) * 2005-10-25 2010-12-07 Waratek Pty Ltd. Failure resistant multiple computer system and method
US8731071B1 (en) * 2005-12-15 2014-05-20 Nvidia Corporation System for performing finite input response (FIR) filtering in motion estimation
US8724702B1 (en) 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
US8660380B2 (en) * 2006-08-25 2014-02-25 Nvidia Corporation Method and system for performing two-dimensional transform on data value array with reduced power consumption
CN101584120B (zh) * 2007-01-19 2013-01-09 三菱电机株式会社 表装置、可变长度编码装置、可变长度解码装置
US20080291209A1 (en) * 2007-05-25 2008-11-27 Nvidia Corporation Encoding Multi-media Signals
US8756482B2 (en) * 2007-05-25 2014-06-17 Nvidia Corporation Efficient encoding/decoding of a sequence of data frames
US8725504B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Inverse quantization in audio decoding
US8726125B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Reducing interpolation error
US9118927B2 (en) * 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8477852B2 (en) * 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
US8873625B2 (en) * 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
US8849051B2 (en) * 2007-09-17 2014-09-30 Nvidia Corporation Decoding variable length codes in JPEG applications
US8502709B2 (en) * 2007-09-17 2013-08-06 Nvidia Corporation Decoding variable length codes in media applications
US8462855B2 (en) * 2007-09-26 2013-06-11 Intel Corporation Method and apparatus for stream parsing and picture location
US8704834B2 (en) * 2007-12-03 2014-04-22 Nvidia Corporation Synchronization of video input data streams and video output data streams
US8934539B2 (en) * 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US8687875B2 (en) * 2007-12-03 2014-04-01 Nvidia Corporation Comparator based acceleration for media quantization
US8666181B2 (en) * 2008-12-10 2014-03-04 Nvidia Corporation Adaptive multiple engine image motion detection system and method
US9307267B2 (en) * 2008-12-11 2016-04-05 Nvidia Corporation Techniques for scalable dynamic data encoding and decoding
KR101175680B1 (ko) 2008-12-23 2012-08-22 광운대학교 산학협력단 비트스트림 프로세서의 구동방법
KR101279507B1 (ko) * 2009-12-15 2013-06-28 한국전자통신연구원 병렬 처리 기반 파이프라인 복호화 장치 및 방법
US8743967B2 (en) * 2011-03-09 2014-06-03 Vixs Systems, Inc. Multi-format video decoder with vector processing instructions and methods for use therewith
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
US11763169B2 (en) 2016-11-16 2023-09-19 Catalog Technologies, Inc. Systems for nucleic acid-based data storage
WO2020227718A1 (en) 2019-05-09 2020-11-12 Catalog Technologies, Inc. Data structures and operations for searching, computing, and indexing in dna-based data storage
KR20220080172A (ko) 2019-10-11 2022-06-14 카탈로그 테크놀로지스, 인크. 핵산 보안 및 인증
WO2022203958A1 (en) * 2021-03-24 2022-09-29 Catalog Technologies, Inc. Fixed point number representation and computation circuits

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701108A (en) * 1970-10-30 1972-10-24 Ibm Code processor for variable-length dependent codes

Also Published As

Publication number Publication date
US5821886A (en) 1998-10-13
KR100227275B1 (ko) 1999-11-01
TW392391B (en) 2000-06-01
KR19980032138A (ko) 1998-07-25

Similar Documents

Publication Publication Date Title
JPH10135843A (ja) 単位処理システムにおける可変長コード検出装置及びその方法
JP3558840B2 (ja) 信号処理システム内のビットストリーム信号形式検出装置及び方法
JP3332619B2 (ja) 復号装置およびその方法
KR100188427B1 (ko) 디지탈 통신시스템용 가변길이 코드워드디코더 및 그 디코딩 방법
US6166664A (en) Efficient data structure for entropy encoding used in a DWT-based high performance image compression
US7804430B2 (en) Methods and apparatus for processing variable length coded data
US7804903B2 (en) Hardware-based CABAC decoder
US6008745A (en) Variable length decoding using lookup tables
US6043765A (en) Method and apparatus for performing a parallel speculative Huffman decoding using both partial and full decoders
JP2001308715A (ja) 可変長符号化装置および可変長復号装置
EP3295568B1 (en) Improved compressed caching in a virtual memory system
JPH1065549A (ja) 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法
JP3488058B2 (ja) 可変長コードデータストリーム位置整列のためのシステム
US7333037B2 (en) Method and system for improved lookup table (LUT) mechanism for Huffman decoding
US6130631A (en) Method and apparatus utilizing a simplified content-addressable memory for JPEG decoding
US20050174270A1 (en) Programmable variable length decoder including interface of cpu processor
US20050232362A1 (en) High-speed image compression apparatus using last non-zero detection circuit
KR0180164B1 (ko) 가변길이 부호기
JP2007295157A (ja) データ符号化装置、データ符号化方法、データ符号化プログラム及びデータ符号化プログラムを記録した情報記録媒体
JP3239664B2 (ja) 可変長符号復号方法
JPH06338805A (ja) 可変長復号化装置
CN112449191A (zh) 压缩多个图像的方法、解压缩图像的方法和装置
JPH11308116A (ja) ハフマン復号化装置
JP2006041659A (ja) 可変長デコーダ
JP2000209100A (ja) デコ―ダ及びデコ―ド方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050728

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050831

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050922