JP3389391B2 - 可変長コードの符号化及び分割装置 - Google Patents

可変長コードの符号化及び分割装置

Info

Publication number
JP3389391B2
JP3389391B2 JP33407295A JP33407295A JP3389391B2 JP 3389391 B2 JP3389391 B2 JP 3389391B2 JP 33407295 A JP33407295 A JP 33407295A JP 33407295 A JP33407295 A JP 33407295A JP 3389391 B2 JP3389391 B2 JP 3389391B2
Authority
JP
Japan
Prior art keywords
code
length
variable length
bit
codeword
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
Application number
JP33407295A
Other languages
English (en)
Other versions
JPH0946237A (ja
Inventor
東秀 姜
Original Assignee
大宇電子株式會▲社▼
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 大宇電子株式會▲社▼ filed Critical 大宇電子株式會▲社▼
Publication of JPH0946237A publication Critical patent/JPH0946237A/ja
Application granted granted Critical
Publication of JP3389391B2 publication Critical patent/JP3389391B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • 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/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
    • H04N19/423Methods 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 characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、可変長コード(V
LC)を符号化及び分割化する装置に関し、特に、スタ
ートコードをバイト整列し得る可変長コードの符号化及
び分割装置に関する。
【0002】
【従来の技術】可変長符号化法は、無損失データ圧縮の
ためにしばしば用いられている方法である。より詳しく
は、この方法はデータの統計値に基づいて、一定長のデ
ータを可変長符号語に変換するのに用いられる。可変長
符号語の各コード長は、より短い符号語はより頻繁に発
生するデータを表し、より長い符号語は比較的発生頻度
の低いデータを表すものとして定められる。可変長符号
語を全ての可能なソースデータのライブラリに適宣割り
当てることによって、その可変長符号語の平均ワード長
が元のソースデータのワード長より短くなり、これによ
って、データ圧縮を効果的に実現することができる。
【0003】一般に、可変長符号語の及びそのコード長
にて表現されるVLCの符号化過程と、その伝送のため
にVLCの可変長符号語を分割する過程とは、可変長符
号語及びそのコード長データが格納されているルックア
ップテーブルを用いて行われる。このルックアップテー
ブルに基づくVLCの符号化及び分割装置は、例えば、
Shaw−Min Leiらの論文、「“An Ent
orpy Coding System for Di
gital HDTV Applications”,
IEEE Transactions on Circ
uits and Systems for Vide
o Technology,1,no.1,147−1
54頁(1991年3月)」に記述されている。このV
LCの符号化及び分割装置をなす主構成素子には、概ね
プログラマブル論理アレイ(PLA)及び3つのバレル
シフタ(barrel shifter)がある。このPLAは、入力
データをVLCにマッピングして、可変長符号語及びそ
のコード長を発生するルックアップテーブルである。第
1バレルシフタは、可変長符号語の各コード長に基づい
て、全てのVLCを連結して一連の可変長符号語を発生
する。第2バレルシフタは、その一連の可変長符号語を
nビットのワードに分割して出力する。また、第3バレ
ルシフタは、可変長符号語の各コード長を累積して、V
LCの符号化及び分割装置の出力が有効であるかを表す
制御信号を発生する。詳述すると、PLAから発生した
可変長符号語のコード長情報は、復号化された形態で第
1及び第3バレルシフタへ供給される。ここで、符号化
された形態とは、1の値を有するビットがそのコード長
を表すことを意味する。即ち、可変長符号語の最大コー
ド長が16の場合、1組の16ビットラインを用いて可
変長符号語の各コード長を表す。可変長符号語のコード
長を復号化された形態で処理することによって、第3バ
レルシフタが第2バレルシフタの制御信号を迅速に発生
し得るようにする。
【0004】しかしながら、VLCの符号化及び分割装
置は、可変長符号語が有し得る最大のビット数と同一の
幅のnビットのデータラインが必要であるため、要求さ
れる可変長符号語のコード長が増加するほどハードウェ
アの大きさが増大し、その結果、コストが高くなる。こ
のような問題は、非常に長い可変長符号語を復号化され
た形態で処理する場合、特に重大である。
【0005】他のルックアップテーブルを用いるVLC
の符号化及び分割装置は、本願発明と出願人を同じくす
る係属中の米国特許出願の明細書に、「Apparat
usfor Encoding Variable−L
ength CodesAnd Segmenting
Variable−Length Codeword
s Thereof」という名称で開示されており、本
発明に於いて、引用例として参照することができる。こ
のVLCの符号化及び分割装置は、前述したShaw−
Min LeiらのVLCの符号化及び分割装置の短所
を克服するために、加算器を用いて可変長符号語のコー
ド長を符号化された形態で処理する。
【0006】MPEG(Moving Picture
Expert Group)は、動画像符号化に対す
る様々な標準案を提示している。その1つが以下に述べ
るスタートコードのバイト整列(byte alignment)であ
る。各スタートコードは、あるコード列の始まりを表
し、スタートコードプリフィクスと後続するスタートコ
ード値とからなる。スタートコードプリフィクスは、ゼ
ロ値の23個のビットストリング及び後続する1の値を
有する単一のビットからなる。かくして、スタートコー
ドプリフィクスは「0000 0000 0000 0
000 00000001」のビットストリングとな
る。また、スタートコード値は、スタートコードの各形
態を表す8ビットの整数である。また、全てのスタート
コードは、バイト整列されていなければならないことに
注意されたい。これは、スタートコードプリフィクスの
第1ビットがバイトの最上位ビットとなるように、スタ
ートコードプリフィクスの前にゼロ値のビットを挿入す
ることによって実現される。
【0007】VLCの符号化及び分割技術において、ス
タートコードをバイト整列し得る装置は現在まで提案さ
れていない。
【0008】
【発明が解決しようとする課題】従って、本発明の主目
的は、スタートコードをバイト整列し得る改善された可
変長コード(VLC)の符号化及び分割装置を提供する
ことである。
【0009】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明によれば、可変長符号語とそのコード長と
により表現される可変長コードを符号化すると共に、そ
の伝送のために前記可変長コードの可変長符号語をnビ
ットのセグメントに分割する可変長コードの符号化及び
分割装置であって、前記nビットのセグメントの最終セ
グメントのコード長が前記nビットより小さい場合、ス
タートコードプリフィクスと後続するスタートコードの
形態を表すスタートコード値とからなって、あるコード
列のスタートを表すスタートコードと、前記最後のセグ
メントの最後ビットとの間にゼロ値のビットを挿入する
ことによって、前記スタートコードの第1ビットが1バ
イトの最上位ビットとなるようにすることを特徴とし、
一連のソースコードを格納すると共に、前記ソースコー
ドの各入力時間と関連したイネーブル信号に応じて、前
記各ソースコードを発生する第1レジスタと、前記ソー
スコードの各々を前記可変長コードに各々マッピングし
て、前記各可変長符号語とそのコード長とを各々発生す
るルックアップテーブルと、前記各可変長符号語を格納
すると共に、前記イネーブル信号に応じて、前記格納さ
れた各可変長符号語を発生する第2レジスタと、前記可
変長符号語の各コード長を格納すると共に、前記イネー
ブル信号に応じて、前記格納された各コード長を発生す
る第3レジスタと、バイト整列信号に応じて、前記可変
長符号語の最大長と同一の長さを有し、ゼロの値からな
る一組の並列ビットを表す擬似符号語と、前記最終セグ
メントの前記最後ビットと前記スタートコードとの間に
含まれたビット数を表す擬似長とを発生するバイト整列
ユニットと、現在入力可変長符号語のコード長または前
記擬似長を表す第1制御信号に応じて、前記現入力可変
長符号語と前に連結された可変長符号語とを連結する
か、または、前記連結された可変長符号語と前記擬似符
号語とを連結することによって、新たに連結された可変
長符号語を発生する第1バレルシフタと、前記連結され
た可変長符号語を格納すると共に、前記イネーブル信号
に応じて、前記連結された各可変長符号語を発生する第
4レジスタと、第2制御信号に応じて、前記現入力可変
長符号語と前記連結された可変長符号語との組み合わせ
からなる入力のうちで、一定長のセグメントを発生する
第2バレルシフタと、前記現入力可変長符号語のコード
長または擬似長と前記加算された可変長符号語のコード
長とを加算して、新たに加算されたコード長を発生する
加算器と、前記新たに加算されたコード長と前記Nビッ
トとを比較して、前記新たに加算されたコード長が前記
Nビットを超えない場合には、前記新たに加算されたコ
ード長を格納し、越える場合には、加算を行った後前記
Nビットを超えたビット数を表す残りを前記加算された
コード長として格納し、前記第2バレルシフタの一定長
のセグメントの有効性を表す出力有効信号を発生し、前
記イネーブル信号に応じて、前記格納された加算された
各コード長を前記第2バレルシフタの前記第2制御信号
として出力する第5レジスタと、前記第2バレルシフタ
からの前記一定長のセグメントを格納すると共に、前記
イネーブル信号に応じて、前記格納された一定長の各セ
グメントを発生する第6レジスタとを有することを特徴
とする可変長コードの符号化及び分割装置が提供され
る。
【0010】
【発明の実施の形態】以下、本発明の好適な実施例につ
いて図面を参照しながらより詳しく説明する。
【0011】図1には、本発明の好適な実施例に基づ
く、可変長コード(VLC)の符号化及び分割装置のブ
ロック図が示されている。このVLCの符号化及び分割
装置は、可変長符号語及びそのコード長にて表現される
可変長コード(VLC)を符号化して、その伝送のため
にVLCの可変長符号語を一定長のセグメントに分割す
る。図1に示されているように、一連のソースコードが
第1レジスタ10へ入力される。MPEGによれば、例
えば、各々のソースコードは、最大63個のランレング
スと−2047〜2047の範囲のレベルとからなる。
ここで、ランレングスとは、ゼロの値を有する連続した
ビット数を指し、レベルとは連続するゼロ値に後続する
ゼロでない値を指す。第1レジスタ10は、入力される
ソースコードを格納すると共に、ソースコードの各入力
時間と関連するイネーブル信号に応じて、格納されたソ
ースコードをルックアップテーブル20へ供給する。
【0012】このルックアップテーブル20は、各ソー
スコードをVLCにマッピングして、各ソースコードに
対応する各可変長符号語をリード27へ、そのコード長
をリード29へ各々発生する。本発明の好ましい実施例
において、ルックアップテーブル20はプログラマブル
論理アレイ(PLA)により実現される。図1に示され
ているルックアップテーブル20は、符号化されないワ
ードテーブルANDプレーン(以下、ワードテーブルと
称す)22、符号語テーブルORプレーン(以下、符号
語テーブルと称す)24及び符号長テーブルORプレー
ン(以下、符号長テーブルと称す)26からなる。この
ルックアップテーブル20は、前述したShaw−Mi
nLeiらの論文に開示されている。
【0013】詳述すると、本発明の好ましい実施例にお
いては、可変長符号語のコード長が符号化された形態に
て表されるため、可変長符号語が最大16ビットの長さ
の場合、そのコード長を符号語長の値が1〜16の範囲
にあるため、5ビットを用いて表すことができる。符号
語テーブル24からの各可変長符号語は、リード27を
介して第2レジスタ28へ、符号長テーブル26からの
コード長は、リード29を介して第3レジスタ30へ各
々供給される。
【0014】第2及び第3レジスタ28、30は、符号
語テーブル24からの各可変長符号語及び符号長テーブ
ル26からの可変長符号語の対応する各コード長を各々
順次に格納すると共に、前述したイネーブル信号に応じ
て、格納された各可変長符号語と格納された各コード長
をバイト整列ユニット200へ各々出力する。
【0015】このバイト整列ユニット200は、スター
トコードの発生を予告するべく、ライン199を介して
コーディング制御器(図示せず)から供給されるバイト
整列信号に応じて、可変長符号語及びそのコード長、ま
たは擬似符号語及び擬似コード長を選択的に出力する。
擬似符号語とは可変長符号語の最大ビット長と同一の長
さ(幅)のゼロの値を有する1組の並列ビットを指す。
また、擬似コード長とは、可変長符号語の最終ビットと
スタートコードとの間に挿入されるゼロビットの個数を
指す。バイト整列ユニット200についての詳細は、以
下図2を参照して説明する。
【0016】図2を参照すれば、ライン199上のバイ
ト整列信号が、スイッチング制御信号としてライン10
0を通じて第1及び第2スイッチ202、206へ供給
される。バイト整列信号が供給されない場合、第1スイ
ッチ202は第2レジスタ28に格納された16ビット
の各可変長符号語を、並列リード25Aを通じて第1及
び第2バレルシフタ32、40へ供給する。そうでない
場合、即ち、バイト整列信号が供給される場合には、ゼ
ロ値の16ビットの擬似符号語を並列リード25Aを通
じて、第1及び第2バレルシフタ32、40へ供給す
る。また、第2スイッチ206の作動によって、バイト
整列信号が供給されない場合、第3レジスタ30に格納
された5ビットのコード長が並列リード31Aを通じて
加算器36へ供給され、そうでない場合には、即ち、バ
イト整列信号が供給される場合には、ライン205上の
5ビットの擬似コード長が加算器36へ供給される。こ
の5ビットの擬似コード長は、加算器36からライン3
7を介して供給される新たに加算されたコード長に対し
て、補数演算ユニット204で2の補数演算を行うこと
により得られる。
【0017】図1を再び参照すれば、第4レジスタ34
からの他の16ビットが、並列リード35を通じて第1
及び第2バレルシフタ32、40へ各々入力される。第
1バレルシフタ32は、第3レジスタ30に格納された
コード長または擬似コード長を表す、リード31A上の
符号語のコード長信号に応じて、16ビットのウィンド
ウを第1バレルシフタ32の32ビットの入力で形成す
る。この16ビットのウィンドウは、リード25Aとリ
ード35からの32ビットの入力で左右方向への移動可
能で、その位置は、リード31Aを通じて入力される符
号語長信号により決定される。符号語長信号は、16ビ
ットのウィンドウが0ビットから16ビットまで移動す
るようにする信号である。例えば、32ビットの入力の
各ビットに、最も左側のビットから0,1,…31と順
番を付ける場合、符号語長信号Mは、16ビットのウィ
ンドウが、リード25、35からの32ビットの入力
の、M番目のビットから(M+15)番目のビットまで
を包含するようにする信号を表す。ウィンドウを形成し
た後、第1バレルシフタ32は、16ビットストリング
を生成してリード33を通じて第4レジスタ34へ供給
する。第4レジスタ34は、第1バレルシフタ32から
供給されたビットストリングを格納すると共に、イネー
ブル信号に応じて、格納されたビットストリングを第1
及び第2バレルシフタ32、40へ供給する。
【0018】一方、第3レジスタ30に格納された各コ
ード長または擬似コード長は、イネーブル信号に応じ
て、加算器36へ順次に入力される。この加算器36に
おいては、現可変長符号語のコード長または擬似コード
長と、第5レジスタ38に格納された加算されたコード
長とを加算する。その後、新たに加算されたコード長は
第5レジスタ38及びバイト整列ユニット200へ供給
される。第5レジスタ38は、もし、加算器36からの
新たに加算されたコード長が予め定められた値(その伝
送のためのセグメントのビット数(即ち、16ビット)
を表す正の整数)を超えない場合、新たに加算されたコ
ード長を第5レジスタ38に格納する。そうでない場合
には、加算を行った後16ビットを超えるビット数を表
す剰余を、加算されたコード長として格納すると共に、
第2バレルシフタ40の一定長のセグメントが有効であ
ることを表す出力有効信号を発生し、イネーブル信号に
応じて、格納された加算された各コード長を第2バレル
シフタ40へ供給する。
【0019】この第2バレルシフタ40は、リード39
上の第5レジスタ38に格納された加算されたコード長
の値に応じて、2つのリード25A、35を介して供給
された32ビットの入力のうちで16ビットのウィンド
ウを形成する。この16ビットのウィンドウは、リード
25、35からの32ビットの入力を16ビットに限定
してシフトすることができ、その位置は加算されたコー
ド長信号により直接決定される。この加算されたコード
長信号は0〜15ビットの範囲にあり、16ビットのウ
ィンドウをシフトさせる信号である。加算されたコード
長信号Nが入力される場合、第2バレルシフタ40の1
6ビットのウィンドウは、リード25A、35上で(1
6ーN)番目のビットから(31ーN)番目のビットま
でを包含する。ウィンドウを形成した後、第2バレルシ
フタ40は、16ビットのビットストリングをリード4
1を通じて第6レジスタ42へ供給する。この第6レジ
スタ42は、第2バレルシフタ40からの16ビットの
ビットストリングを格納すると共に、イネーブル信号に
応じて、格納された16ビットのビットストリングをビ
デオバッファ(図示せず)へ供給する。出力有効信号が
第5レジスタ38から発生した場合、第6レジスタ42
からのビットストリングまたは出力セグメントは、その
伝送のために、有効な16ビットのセグメントのみを格
納するバッファに格納される。
【0020】図1に示したVLCの符号化及び分割装置
の動作を、図3のテーブルを参照しつつ詳細に述べる。
ここで、可変長符号語の最大長は、8ビットと仮定す
る。図3Aの第1列は、各レジスタの入力順序を表す。
即ち、第2レジスタ28は、符号語テーブル24からの
可変長符号語を、第3レジスタ30は第2レジスタ28
に格納された各可変長符号語に対応するコード長を、第
4レジスタ34は第1バレルシフタ32の出力セグメン
トを、第5レジスタ38は加算器36からの加算された
コード長を、第6レジスタ42は第2バレルシフタ40
の出力セグメントを、各々格納する。図3Aの第2列は
バイト整列信号であり、最後の列は、第2バレルシフタ
40の出力セグメントが有効であるか否かを表す出力有
効信号を表す。
【0021】図3Aに示すように、VLCの符号化及び
分割装置の動作は、バイト整列信号が受け取った場合に
焦点を合わせて説明される。
【0022】第1列の入力順序a、bに応じて、2個の
可変長符号語が第3列に示されているように順次発生
し、該2個の可変長符号語に対応する2個のコード長が
第4列に格納される。第3列に含まれている“X”のマ
ークは、符号語テーブル24から供給されたセグメント
の全ビットのうちで全く意味のないビットを表す。ここ
で、入力順序“b”でバイト整列信号が入力された場
合、擬似符号語“00000000”及び擬似コード長
“5”は入力順序“c”の第3及び第4列に表示する。
実際に、擬似符号語及び擬似コード長は、第2及び第3
レジスタ28及び30に格納されず、バイト整列ユニッ
ト200から供給される。
【0023】図3Aの第5列において、入力順序
“b”、“c”及び“d”によって、第2レジスタ28
から供給されるセグメントのうちで意味のないビットを
除去することによって、可変長符号語を結ぶ第1バレル
シフタ32の出力セグメントが3つ示されている。
【0024】図4には、例えば、入力順序がbの場合、
可変長符号語を結ぶ第1バレルシフタ32の動作が概略
的に示されている。同図に示したように、バイト整列ユ
ニット200からの第1の8ビットのセグメント“11
1X XXXX”がリード25Aを介して、第4レジス
タ34からの第2の8ビットのセグメント“00001
111”が、リード35を介して同時に入力されると、
第1バレルシフタ32は、リード31A上のコード長信
号M(例えば、M=3)に応じて、16ビットの入力上
で8ビットのウィンドウを形成する。この8ビットのウ
ィンドウの位置は、16ビットの入力上で左側から右側
へMビットだけウィンドウをシフトさせることによって
定まる。即ち、第1の8ビットのセグメント“111X
XXXX”のうちで、左側から右側へMビット(即
ち、3ビット)を選択し、第2の8ビットのセグメント
“0000 1111”のうちで、右側から左側へ(8
ーM)ビット(即ち、5ビット)を選択して、第1の8
ビットのセグメント“111X XXXX”のうちで5
つの意味のないビットを取り除くことによって可変長符
号語を結びつける。このようにウィンドウを形成した
後、第1バレルシフタ32は、8ビットのウィンドウ出
力セグメント“0111 1111”をリード33を通
じて第4レジスタ34へ供給する。
【0025】図3Aの第6列においては、第5レジスタ
38は加算されたコード長、または加算を行った後、8
を減算した残余を格納する。前述したように、加算器3
6は、これから現可変長符号語の擬似コード長またはコ
ード長と、第5レジスタ38に格納された前に加算され
た符号語のコード長とを加算する機能を果たす。従っ
て、例えば、図3Aの第5レジスタ38の入力順序cの
データ「3」は、第3及び第5レジスタ30、38の入
力順序bの2つのデータ「3」、「0」の合計及び値8
を減算した後の残りである。即ち、データ3は、第3レ
ジスタ30に格納された現可変長符号語のコード長であ
り、データ0は、第5レジスタ38に格納された前に加
算された符号語のコード長である。
【0026】図3Aの第7列においては、第2バレルシ
フタ40の3つの出力セグメントが示されている。この
第2バレルシフタ40は、第1バレルシフタ32からの
連結された可変長符号語と、第2レジスタ28からの現
可変長符号語とからなるビットストリングを分割する。
図5を参照すれば、例えば、入力順序dの場合の、ビッ
トストリングを分割する第2バレルシフタ40の動作が
概略的に図解されている。同図において、バイト整列ユ
ニット200からの第1の8ビットのセグメント“00
00 0000”と第4レジスタ34からの第2の8ビ
ットのセグメント“0111 1111”とが、リード
25A、35を通じて各々入力された場合、第2バレル
シフタ40は、リード39を介して第5レジスタ38に
格納された加算されたコード長または値8の減算後の残
余の信号N(即ち、N=3)に応じて、16ビットの入
力に8ビットのウィンドウを形成する。この8ビットの
ウィンドウの位置は、16ビットの入力の左側から右側
へ(8−N)ビットだけシフトさせることによって決定
される。即ち、第2の8ビットのセグメント“0111
1111”のうちで、右側から左側へNビットを選択
し、第1の8ビットのセグメント“0000 000
0”のうちで、左側から右側へ(8−N)ビットを選択
することによって、出力セグメント“1110 000
0”が出力され、リード41を通じて第6レジスタ42
に格納される。
【0027】図3Aの最後の列は、加算器36からの加
算されたコード長が、8を超えるごとに第第5レジスタ
38が出力有効信号1を発生して、第6レジスタ42に
格納されたビットストリングが有効なnビットワードで
あるか否かを表す。図3Bを参照すると、図3Aの動作
に基づいてビットストリング30が一例として示されて
いる。このビットストリ−ム300は、2つのセグメン
ト(0000 1111)301及びセグメント(11
10 0000)302と後続するスタートコードとか
らなる。スタートコードは、スタートコードプリフィク
ス304とスタートコード値306と分けられる。2つ
のセグメント301、203は、図3Aの第7列の有効
なワードまたは有効なセグメントである。詳述すると、
セグメント302でゼロ値を有する5つのビットが、可
変長符号語“111”とスタートコードプリフィクス3
04との間に挿入されている。
【0028】上記において、本発明の特定の実施例につ
いて説明したが、本明細書に記載した特許請求の範囲を
逸脱することなく、当業者は種々の変更を加え得ること
は勿論である。
【0029】
【発明の効果】従って、本発明によれば、可変長符号語
のコード長を効果的に分割し符号化することができる。
【図面の簡単な説明】
【図1】本発明によるVLC符号化及び分割装置のブロ
ック図である。
【図2】図1のバイト整列ユニットの詳細なブロック図
である。
【図3】A及びBよりなり、各々は図1のVLCの符号
化及び分割装置の動作を説明するための図である。
【図4】可変長符号語を連結するための第1バレルシフ
タを概略的に説明するための図である。
【図5】一連の連続した可変長符号語を分割する第2バ
レルシフタを概略的に説明するための図である。
【符号の説明】
10 第1レジスタ 20 ルックアップテーブル 28 第2レジスタ 30 第3レジスタ 32 第1バレルシフタ 34 第4レジスタ 36 加算器 38 第5レジスタ 40 第2バレルシフタ 42 第6レジスタ 200 バイト整列部ユニット 202 第1スイッチ 204 補数演算ユニット 206 第2スイッチ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−31372(JP,A) 特開 平2−277319(JP,A) 特開 平3−106127(JP,A) 特開 平4−157926(JP,A) 特開 平5−90976(JP,A) 特開 平5−252052(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/42

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 可変長符号語とそのコード長とにより
    表現される可変長コードを符号化すると共に、その伝送
    のために前記可変長コードの可変長符号語をnビットの
    セグメントに分割する可変長コードの符号化及び分割装
    置であって、 前記nビットのセグメントの最終セグメントのコード長
    が前記nビットより小さい場合、スタートコードプリフ
    ィクスと後続するスタートコードの形態を表すスタート
    コード値とからなって、あるコード列のスタートを表す
    スタートコードと、前記最後のセグメントの最後ビット
    との間にゼロ値のビットを挿入することによって、前記
    スタートコードの第1ビットが1バイトの最上位ビット
    となるようにすることを特徴とし、 一連のソースコードを格納すると共に、前記ソースコー
    ドの各入力時間と関連したイネーブル信号に応じて、前
    記各ソースコードを発生する第1レジスタと、 前記ソースコードの各々を前記可変長コードに各々マッ
    ピングして、前記各可変長符号語とそのコード長とを各
    々発生するルックアップテーブルと、 前記各可変長符号語を格納すると共に、前記イネーブル
    信号に応じて、前記格納された各可変長符号語を発生す
    る第2レジスタと、 前記可変長符号語の各コード長を格納すると共に、前記
    イネーブル信号に応じて、前記格納された各コード長を
    発生する第3レジスタと、 バイト整列信号に応じて、前記可変長符号語の最大長と
    同一の長さを有し、ゼロの値からなる一組の並列ビット
    を表す擬似符号語と、前記最終セグメントの前記最後ビ
    ットと前記スタートコードとの間に含まれたビット数を
    表す擬似長とを発生するバイト整列ユニットと、 現在入力可変長符号語のコード長または前記擬似長を表
    す第1制御信号に応じて、前記現入力可変長符号語と前
    に連結された可変長符号語とを連結するか、または、前
    記連結された可変長符号語と前記擬似符号語とを連結す
    ることによって、新たに連結された可変長符号語を発生
    する第1バレルシフタと、 前記連結された可変長符号語を格納すると共に、前記イ
    ネーブル信号に応じて、 前記連結された各可変長符号語を発生する第4レジスタ
    と、 第2制御信号に応じて、前記現入力可変長符号語と前記
    連結された可変長符号語との組み合わせからなる入力の
    うちで、一定長のセグメントを発生する第2バレルシフ
    タと、 前記現入力可変長符号語のコード長または擬似長と前記
    加算された可変長符号語のコード長とを加算して、新た
    に加算されたコード長を発生する加算器と、 前記新たに加算されたコード長と前記Nビットとを比較
    して、前記新たに加算されたコード長が前記Nビットを
    超えない場合には、前記新たに加算されたコード長を格
    納し、越える場合には、加算を行った後前記Nビットを
    超えたビット数を表す残りを前記加算されたコード長と
    して格納し、前記第2バレルシフタの一定長のセグメン
    トの有効性を表す出力有効信号を発生し、前記イネーブ
    ル信号に応じて、前記格納された加算された各コード長
    を前記第2バレルシフタの前記第2制御信号として出力
    する第5レジスタと、 前記第2バレルシフタからの前記一定長のセグメントを
    格納すると共に、前記イネーブル信号に応じて、前記格
    納された一定長の各セグメントを発生する第6レジスタ
    とを有することを特徴とする可変長コードの符号化及び
    分割装置。
  2. 【請求項2】 前記第1バレルシフタが、 前記連結された可変長符号語を表す第1のnビットのデ
    ータセグメントを前記第1バレルシフタの左側に受け取
    り、前記現入力可変長符号語を表す第2のnビットのデ
    ータセグメントを前記第1バレルシフタの右側に受け取
    る2nビットの入力手段と、 前記現入力可変長符号語のコード長を表す第1制御信号
    を受け取る手段と、 前記第1のnビットのウィンドウを、前記2つのデータ
    セグメント上で前記現入力可変長符号語のコード長だけ
    左側から右側へシフトさせて、前記新たに連結された可
    変長符号語を表す第1のnビットのセグメントを発生す
    る手段とを含むことを特徴とする請求項1に記載の可変
    長コード符号化及び分割装置。
  3. 【請求項3】 前記第2バレルシフタが、 前記連結された可変長符号語を表す前記第1のnビット
    のデータセグメントを前記第2バレルシフタの左側に受
    け取り、前記現入力可変長符号語を表す第2のnビット
    のデータセグメントを前記第2バレルシフタの右側に受
    け取る2nビットの入力手段と、 前記加算されたコード長または前記残りを表す前記第2
    制御信号を受け取る手段と、 前記第2のnビットのウィンドウを、前記2つのデータ
    セグメント上で前記nビットから前記加算されたコード
    長または前記残りを減算したコード長だけ左側から右側
    へシフトさせて、前記第2バレルシフタの前記一定長の
    セグメントを表す第2のnビットセグメントを発生する
    手段とを有することを特徴とする請求項2に記載の可変
    長コード符号化及び分割装置。
JP33407295A 1995-07-27 1995-11-29 可変長コードの符号化及び分割装置 Expired - Fee Related JP3389391B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019950022590A KR0180164B1 (ko) 1995-07-27 1995-07-27 가변길이 부호기
KR1995/22590 1995-07-27

Publications (2)

Publication Number Publication Date
JPH0946237A JPH0946237A (ja) 1997-02-14
JP3389391B2 true JP3389391B2 (ja) 2003-03-24

Family

ID=19421859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33407295A Expired - Fee Related JP3389391B2 (ja) 1995-07-27 1995-11-29 可変長コードの符号化及び分割装置

Country Status (4)

Country Link
US (1) US5754128A (ja)
JP (1) JP3389391B2 (ja)
KR (1) KR0180164B1 (ja)
CN (1) CN1108014C (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2757288B1 (fr) * 1996-12-17 1999-02-26 Sgs Thomson Microelectronics Microprocesseur dedie au traitement de flux de bits dans un systeme de compression/decompression d'images animees
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
EP1452036A1 (en) * 2001-11-21 2004-09-01 Koninklijke Philips Electronics N.V. Improved bit plane compression method
US6891976B2 (en) * 2002-03-12 2005-05-10 Intel Corporation Method to decode variable length codes with regular bit pattern prefixes
JP4181887B2 (ja) * 2002-05-29 2008-11-19 キヤノン株式会社 可変長符号化装置、及びその方法
US6674376B1 (en) * 2002-09-13 2004-01-06 Morpho Technologies Programmable variable length decoder circuit and method
JP2008172617A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム
CN101534125B (zh) * 2009-04-24 2012-07-18 北京空间机电研究所 一种超长数据变长编码合成系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4219874A (en) * 1978-03-17 1980-08-26 Gusev Valery Data processing device for variable length multibyte data fields

Also Published As

Publication number Publication date
US5754128A (en) 1998-05-19
CN1108014C (zh) 2003-05-07
KR0180164B1 (ko) 1999-05-01
CN1141538A (zh) 1997-01-29
JPH0946237A (ja) 1997-02-14
KR970009422A (ko) 1997-02-24

Similar Documents

Publication Publication Date Title
KR100975062B1 (ko) 가변길이 부호화 장치 및 가변길이 부호화 방법
US5652583A (en) Apparatus for encoding variable-length codes and segmenting variable-length codewords thereof
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
EP1162847B1 (en) Variable length decoder
US5227789A (en) Modified huffman encode/decode system with simplified decoding for imaging systems
US5550542A (en) Variable length code look-up table having separate code length determination
JPH06252775A (ja) 復号化装置
JP3231855B2 (ja) データフォーマット変換装置及び方法
JPH10209879A (ja) 可変長符号器
JPH0685689A (ja) デコーダ
US6954555B2 (en) Variable length coding unit and variable length decoding unit
EP1014589A2 (en) A variable length codeword decoder
KR100470251B1 (ko) 가변길이디코더
JPH03280624A (ja) 可変長データの復号装置
EP0798931B1 (en) Variable length decoder and method for decoding two codes per clock cycle
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
JP2000503512A (ja) 可変長復号化
JP3389391B2 (ja) 可変長コードの符号化及び分割装置
US5729690A (en) Variable length encoding method and apparatus for differential motion vector values using an improved differential motion code table
US5555323A (en) System for bi-level symbol coding/decoding with saved storage and method for same
US5663725A (en) VLC decoder with sign bit masking
KR19980702418A (ko) 가변 길이 디코더
JPH0779165A (ja) 可変長復号化装置
JPH05227440A (ja) データ符号化装置及び方法
GB2360915A (en) Run length compression encoding of selected bits of data words

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021128

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080117

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100117

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110117

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110117

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120117

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130117

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130117

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees