JPH05268100A - 可変長ビット列処理プロセッサ - Google Patents

可変長ビット列処理プロセッサ

Info

Publication number
JPH05268100A
JPH05268100A JP6431792A JP6431792A JPH05268100A JP H05268100 A JPH05268100 A JP H05268100A JP 6431792 A JP6431792 A JP 6431792A JP 6431792 A JP6431792 A JP 6431792A JP H05268100 A JPH05268100 A JP H05268100A
Authority
JP
Japan
Prior art keywords
bit string
variable length
decoding
instruction
length
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.)
Granted
Application number
JP6431792A
Other languages
English (en)
Other versions
JP2800538B2 (ja
Inventor
Yasushi Oi
康 大井
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP6431792A priority Critical patent/JP2800538B2/ja
Publication of JPH05268100A publication Critical patent/JPH05268100A/ja
Application granted granted Critical
Publication of JP2800538B2 publication Critical patent/JP2800538B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 (修正有) 【目的】符号化復号化に関連する構文処理と、それに伴
う意味処理を混在させてソフトウェアプログラム処理を
可能にした回路を提供する。 【構成】固定長復号化命令では、入力FIFO121の
ビット列は、アンパックシフタ122に転送され、シフ
トしたデータをテンポラリレジスタ124に転送し、こ
のデータを右揃えシフタ111で揃え、パイプラインレ
ジスタ104に転送する。可変長復号化命令では、オペ
ランド値とアンパックシフタ122の出力をテーブルア
ドレス生成部141に供給し、生成アドレスを可変長復
号処理の実行開始アドレスとする。固定長符号化命令で
は、パイプラインレジスタ106のデータを、左揃えシ
フタ112で揃えテンポラリレジスタ134に転送し、
パックシフタ132でデータを部分的に更新し、出力F
IFO131に詰め込む。可変長符号化命令では、オペ
ランド値とレジスタファイル102のデータを加算して
可変長符号化テーブルアドレスとする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は可変長ビット列処理プロ
セッサに関し、特に符号化復号化に関連する構文処理
と、それに伴う意味処理を混在させてソフトウェアプロ
グラム処理を可能にした回路に関する。
【0002】
【従来の技術】可変長符号化復号化においては、各符号
の出現頻度の逆数の対数(2を底とする)に相当するビ
ット長に符号化することで、平均符号長を最小にするこ
とができる。このような符号化は、エントロピー符号化
とよばれている。ハフマン符号化はエントロピー符号化
の代表例である。
【0003】大量のデータ伝送や蓄積を行なう場合、デ
ータの生起確率に著しい偏りがある場合は、エントロピ
ー符号化によるデータ圧縮が可能である。例えば、過去
100年間の毎日の天気を記録する場合、1:晴、0
1:曇、001:雨、0001:雪、etcとしておけ
ば、晴天の多い地方ではデータ圧縮上有利である。雪の
多い地方では、別な符号割り当てのほうが有利になるこ
とは自明である。
【0004】伝送もしくは蓄積すべきデータが1種類の
場合、エントロピー符号化に必要な符号化復号化テーブ
ルは1つでよい。上述の例は、天候の符号テーブル1つ
で情報を符号化する例である。
【0005】オーディオ・画像などのデータは、送るべ
きデータの種類が複数あり、しかも、各々でエントロピ
ー符号化が必要な場合(可変長データ)と、そうでない
場合(固定長データ)が混在している場合が多い。その
ような混在ビットデータの処理を実現するには、複数の
符号化復号化テーブルを準備する必要がある。
【0006】このような混在ビットデータの符号化復号
化処理を実行する従来の装置例を図2および図3に示
す。
【0007】図2は、専用ハードウェアを接続して、混
在ビットデータ処理を実行する場合の従来例である。こ
のハードウェアは、専用シーケンサを用いて制御され
る。
【0008】図2において、入力FIFO121に存在
するビット列のデコードを行なう場合、固定長デコード
結果は、シフタ122の出力をテンポラリレジスタ12
4で受けて出力される。可変長デコード結果は、シフタ
122の出力をテーブルアドレス生成部141の入力に
供給し、そこから生成されたアドレスをテンポラリレジ
スタ142を介してテーブル143に入力し、その検索
結果(もしくは、その検索結果を再びテーブルアドレス
生成部141に供給して、テーブル検索を繰り返した結
果)で得られる。
【0009】また、エンコードについては、固定長エン
コードの場合、テンポラリレジスタ134のデータが、
パックシフタ132を通じて出力FIFO131に詰め
込まれていく。可変長エンコードの場合は、エンコード
されるデータをテーブルアドレス生成部141の入力に
供給し、そこから生成されたアドレスをテンポラリレジ
スタ142を介してテーブル143に入力し、その検索
結果をテンポラリレジスタ134にストアして、あとは
固定長エンコードと同様の処理を行なうことになる。
【0010】図3は、汎用プロセッサを用いて混在ビッ
トデータ処理を実行する場合の従来例である。この場
合、全ての処理は、プログラムで実行される。図示され
ない命令メモリから命令が逐次命令デコーダ101に供
給され、入力FIFO121からのデータを処理し、出
力FIFO131へと出力していく。符号化の場合、1
21には符号データが、131にはビット列が、各々格
納される。復号化の場合、121にはビット列が、13
1には符号データが格納される。
【0011】符号化復号化処理自体は、汎用レジスタフ
ァイル102のデータを用いてALU103での演算と
して実行される。104,105,106のパイプライ
ンレジスタはパイプライン処理の実現方式に依存して追
加される性質のものであり、また、ALU以外にバレル
シフタなどのデータ操作ユニットが別途存在してもよ
い。
【0012】
【発明が解決しようとする課題】図2の専用ハードウェ
アによる方法は、混在ビットデータを用いたの意味処理
(例えば、前述の天候の例では、1週間晴天の続いた週
がいくつあるかをカウントするなど)や、ヘッダデータ
の付加に対する柔軟性が小さいという課題を有する。そ
のため、このようなハードウェアを使用する場合には、
例えば復号化の場合には、予めヘッダなどのビット列を
取り除いた状態で供給することになるし、符号化の場合
は、後で付加するという形式をとることになる。
【0013】図3の汎用プロセッサによる方法は、図2
の方法に比べ性能が出ない。特に、画像符号化復号化に
ついては、平均1Mbps以上の可変長符号化復号化
(ピーク時にはこの10−100倍の性能が必要)の実
行能力が要求されるが、この性能をマイクロプロセッサ
技術のみで解決するのは困難であるという課題を有す
る。
【0014】
【課題を解決するための手段】本発明の可変長ビット列
処理プロセッサは、エントロピー符号化に基づいて符号
化された可変長ビットフィールドと、固定長ビットフィ
ールドとが混在するビット列に対する符号化復号化用ビ
ット列処理プロセッサであって、少なくとも、命令デコ
ード手段と、レジスタファイル手段と、入力ビット列を
指定された長さ毎に抽出するアンパックシフト手段と、
出力ビット列を指定された長さ毎に挿入するパックシフ
ト手段と、可変長復号テーブル手段と、可変長符号テー
ブル手段と有し、固定長復号化命令、可変長復号化命
令、固定長符号化命令、可変長符号化命令が実行できる
という特徴を有している。
【0015】また、上述の可変長復号テーブル手段と、
可変長符号テーブル手段の2つを1つのテーブル手段で
兼ねた実現方法が考えられる。
【0016】さらに、アンパックシフト手段の後段に右
揃えシフト手段を有し、左詰めのビット列をアンパック
した後のデータを右揃えし、かつ上位ビットをゼロ拡張
して前記レジスタファイル手段に格納する実現方法が好
ましい場合がある。
【0017】同様に、パックシフト手段の前段に左揃え
シフト手段を有し、レジスタファイル手段のデータの下
位側を左揃えした後、ビット列としてパックする実現方
法が好ましい場合がある。
【0018】
【実施例】本発明の実施例を、図面を用いて説明する。
【0019】図1は、本発明の実施例を示すブロック図
である。
【0020】図1において、104及び105,106
はパイプラインレジスタであり、124及び134,1
42はテンポラリレジスタである。
【0021】以下では、このブロック図に基づいて、可
変長符号化復号化処理を実行する手順を命令ごとに説明
する。 [固定長復号化命令]固定長復号化命令は、2つのオペ
ランド(復号化データ長、復号化データの格納されるレ
ジスタファイル102のレジスタ番号)からなる。
【0022】命令は命令デコーダ101でデコードさ
れ、オペランドとして指定された復号化データ長をアン
パックシフト量制御回路123と右揃えシフタ111に
転送する。
【0023】入力FIFO121のビット列は、アンパ
ックシフタ122に転送され、アンパックシフト量制御
回路123からのシフト量に基づいてシフトしたデータ
をテンポラリレジスタ124に転送する。さらにこのデ
ータを右揃えシフタ111で右揃えして、パイプライン
レジスタ104に転送する。この右揃えシフタは、論理
・数値データの最上位ビット(MSB:Most Si
gnificantBit)が最も先に転送されるよう
なビット列を復号化する場合に使用される。この右揃え
機能をアンパックシフタ122に含ませることもでき
る。この場合、シフト量制御回路123に、右揃え用補
正機能が必要になる。 [可変長復号化命令]可変長復号化命令は、2つのオペ
ランド(テーブルベースポインタ番号、復号データの格
納されるレジスタファイル102のレジスタ番号)から
なる。
【0024】命令は命令デコーダ101でデコードさ
れ、オペランドとして指定された値でテーブル143を
検索するベースアドレスを決定する。さらに、アンパッ
クシフタ122の出力をテーブルアドレス生成部141
の入力に供給し、この入力をアドレスオフセットとして
そこから生成されたアドレスを可変長復号処理の実行開
始テーブルアドレスとする。このアドレスは、テンポラ
リレジスタ142を介してテーブル143に入力され、
その検索結果(もしくは、その検索結果を再びテーブル
アドレス生成部141を供給して、テーブル検索を繰り
返した結果)が得るべきデータとなる。このデータが、
パイプラインレジスタ104を経由して、レジスタファ
イル102に格納される。 [固定長符号化命令]固定長符号化命令は、2つのオペ
ランド(符号化データ長、符号化データの存在するレジ
スタファイル102のレジスタ番号)からなる。
【0025】命令は命令デコーダ101でデコードさ
れ、オペランドとして指定された符号化データ長をパッ
クシフト量制御回路133と左揃えシフタ112に転送
する。
【0026】パイプラインレジスタ106に転送された
レジスタファイル102のデータは、左揃えシフタ11
2で左揃えしてテンポラリレジスタ134に転送され
る。この左揃えシフタは、論理・数値データの最上位ビ
ット(MSB:Most Significant B
it)が最も先に転送されるようなビット列を符号化す
る場合に使用される。(この左揃え機能をパックシフタ
132に含ませることもできる。この場合、シフト量制
御回路133に、左揃え用補正機能が必要になる)。
【0027】その後、テンポラリレジスタ134のデー
タが、パックシフト量制御回路123からのシフト量に
基づいてシフトしたデータを部分的に更新することによ
り、パックシフタ132を通じて出力FIFO131に
詰め込まれていく。 [可変長符号化命令]可変長符号化命令は、2つのオペ
ランド(テーブルベースポインタ番号、符号化データの
存在するレジスタファイル102のレジスタ番号)から
なる。
【0028】命令は命令デコーダ101でデコードさ
れ、オペランドとして指定された値でテーブル143を
検索するベースアドレスを決定する(ベースアドレス
は、アドレス生成部141に含まれる)。さらに、パイ
プラインレジスタ106に転送されたレジスタファイル
102のデータはテーブルアドレス生成部141の入力
に供給され、この入力をアドレスオフセットとしてベー
スアドレスに加算されたアドレスを可変長符号化テーブ
ルアドレスとする。このアドレスは、テンポラリレジス
タ142を介してテーブル143に入力される。テーブ
ル143は、可変長符号とその長さのペアを、おのおの
テンポラリレジスタ134とパックシフト量制御回路1
33とに供給する。その後、テンポラリレジスタ134
のデータが、パックシフト量制御回路123からのシフ
ト量に基づいてシフトしたデータを部分的に更新するこ
とにより、パックシフタ132を通じて出力FIFO1
31に詰め込まれていく。
【0029】
【発明の効果】本発明を用いると、図2の専用ハードウ
ェアによる方法と同等の性能が得られる。特に、画像符
号化復号化については、平均1Mbps以上の可変長符
号化復号化(ピーク時にはこの10−100倍の性能が
必要)の実行能力が要求されるが、これを現時点の集積
回路技術で容易に達成できる。
【0030】さらに、本発明を用いると、現在ビットデ
ータを用いたの意味処理に対する柔軟性が増す。そのた
め、例えば、CCITT H.261や、ISO MP
EG/JPEGなどで規定される画像符号ビットストリ
ームの各階層のヘッダ処理などをプログラムで容易に実
行することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】従来の可変長ビット列処理回路の例(1)であ
る。
【図3】従来の可変長ビット列処理回路の例(2)であ
る。
【符号の説明】
101 命令デコーダ 102 レジスタファイル 103 ALU 104〜106 パイプラインレジスタ 111 右揃えシフタ 112 左揃えシフタ 121 入力FIFO 122 アンパックシフタ 123 アンパックシフト量制御回路 131 出力FIFO 132 パックシフタ 133 パックシフト量制御回路 124,134 テンポラリレジスタ 141 テーブルアドレス生成部 142 テンポラリレジスタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 エントロピー符号化に基づいて符号化さ
    れた可変長ビットフィールドと、固定長ビットフィール
    ドとが混在するビット列に対する復号化用ビット列処理
    プロセッサであって、 少なくとも、命令デコード手段と、レジスタファイル手
    段と、入力ビット列を指定された長さ毎に抽出するアン
    パックシフト手段と、可変長復号テーブル手段とを有
    し、 固定長復号化命令の実行時においては、前記命令デコー
    ダ手段でデコードの後、オペランドとして指定された値
    を前記入力ビット列の長さとみなして、前記アンパック
    シフト手段を制御し、得られたデータを前記レジスタフ
    ァイル手段に格納し、 可変長復号化命令の実行時においては、前記命令デコー
    ダ手段でデコードの後、オペランドとして指定された値
    で前記テーブル手段を検索するベースアドレスを決定
    し、前記アンパックシフト手段の出力をアドレスオフセ
    ットとして可変長復号処理の実行を開始し、復号終了時
    に結果を前記レジスタファイル手段に格納することを特
    徴とする可変長ビット列処理プロセッサ。
  2. 【請求項2】 固定長ビットフィールドが混在する可変
    長ビットフィールド列を、エントロピー符号化に基づい
    て符号化する符号化用ビット列処理プロセッサであっ
    て、 少なくとも、命令デコード手段と、レジスタファイル手
    段と、出力ビット列を指定された長さ毎に挿入するパッ
    クシフト手段と、可変長符号テーブル手段とを有し、 固定長符号化命令の実行時においては、前記命令デコー
    ダ処理でデコードの後、前記レジスタファイル手段に格
    納されたデータをビット列に挿入するため、オペランド
    として指定された値を前記出力ビット列の長さとみなし
    て、前記パックシフト手段を制御し、 可変長符号化命令の実行時においては、前記命令デコー
    ダ手段でデコードの後、オペランドとして指定された値
    でベースアドレスを決定し、前記レジスタファイル手段
    に格納されたデータをアドレスオフセットとして前記テ
    ーブル手段を検索する可変長符号化処理を実行し、結果
    データをビット列に挿入するデータと出力ビット列の長
    さデータとみなして前記パックシフト手段を制御する可
    変長ビット列処理プロセッサ。
  3. 【請求項3】 エントロピー符号化に基づいて符号化さ
    れた可変長ビットフィールドと、固定長ビットフィール
    ドとが混在するビット列に対する符号化復号化用ビット
    列処理プロセッサであって、 少なくとも、命令デコード手段と、レジスタファイル手
    段と、入力ビット列を指定された長さ毎に抽出するアン
    パックシフト手段と、出力ビット列を指定された長さに
    挿入するパックシフト手段と、可変長復号テーブル手段
    と、可変長符号テーブル手段とを有し、 固定長復号化命令、可変長復号化命令、固定長符号化命
    令、可変長符号化命令が実行できることを特徴とする可
    変長ビット列処理プロセッサ。
  4. 【請求項4】 可変長復号テーブル手段と、可変長符号
    テーブル手段の2つを1つのテーブル手段で兼ねたこと
    を特徴とする請求項3記載の可変長ビット列処理プロセ
    ッサ。
  5. 【請求項5】 アンパックシフト手段の後段に右揃えシ
    フト手段を有し、左詰めのビット列をアンパックした後
    のデータを右揃えし、かつ上位ビットをゼロ拡張して前
    記レジスタファイル手段に格納することを特徴とする請
    求項1記載の可変長ビット列処理プロセッサ。
  6. 【請求項6】 パックシフト手段の前段に左揃えシフト
    手段を有し、レジスタファイル手段のデータの下位側を
    左揃えした後、ビット列としてパックすることを特徴と
    する請求項2記載の可変長ビット列処理プロセッサ。
JP6431792A 1992-03-23 1992-03-23 可変長ビット列処理プロセッサ Expired - Lifetime JP2800538B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6431792A JP2800538B2 (ja) 1992-03-23 1992-03-23 可変長ビット列処理プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6431792A JP2800538B2 (ja) 1992-03-23 1992-03-23 可変長ビット列処理プロセッサ

Publications (2)

Publication Number Publication Date
JPH05268100A true JPH05268100A (ja) 1993-10-15
JP2800538B2 JP2800538B2 (ja) 1998-09-21

Family

ID=13254742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6431792A Expired - Lifetime JP2800538B2 (ja) 1992-03-23 1992-03-23 可変長ビット列処理プロセッサ

Country Status (1)

Country Link
JP (1) JP2800538B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0739100A3 (en) * 1995-04-20 2000-11-08 Nec Corporation Ancillary data processing circuit for audio decoding system
WO2015059930A1 (en) * 2013-10-25 2015-04-30 Wacom Co., Ltd. Dynamic handwriting verification, handwriting-baseduser authentication, handwriting data generation, and handwriting data preservation
US9235748B2 (en) 2013-11-14 2016-01-12 Wacom Co., Ltd. Dynamic handwriting verification and handwriting-based user authentication
US10032065B2 (en) 2013-10-25 2018-07-24 Wacom Co., Ltd. Dynamic handwriting verification, handwriting-based user authentication, handwriting data generation, and handwriting data preservation

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0739100A3 (en) * 1995-04-20 2000-11-08 Nec Corporation Ancillary data processing circuit for audio decoding system
WO2015059930A1 (en) * 2013-10-25 2015-04-30 Wacom Co., Ltd. Dynamic handwriting verification, handwriting-baseduser authentication, handwriting data generation, and handwriting data preservation
US10032065B2 (en) 2013-10-25 2018-07-24 Wacom Co., Ltd. Dynamic handwriting verification, handwriting-based user authentication, handwriting data generation, and handwriting data preservation
US10846510B2 (en) 2013-10-25 2020-11-24 Wacom Co., Ltd. Dynamic handwriting verification, handwriting-based user authentication, handwriting data generation, and handwriting data preservation
US9235748B2 (en) 2013-11-14 2016-01-12 Wacom Co., Ltd. Dynamic handwriting verification and handwriting-based user authentication
US9747491B2 (en) 2013-11-14 2017-08-29 Wacom Co., Ltd. Dynamic handwriting verification and handwriting-based user authentication

Also Published As

Publication number Publication date
JP2800538B2 (ja) 1998-09-21

Similar Documents

Publication Publication Date Title
Lee Accelerating multimedia with enhanced microprocessors
JP4139330B2 (ja) 改良された可変長デコーダ
US8090027B2 (en) Data compression using an arbitrary-sized dictionary
JP2766302B2 (ja) 可変長符号並列解読方法および装置
US7343542B2 (en) Methods and apparatuses for variable length encoding
US6310563B1 (en) Method and apparatus for enhanced decompressor parsing
JPH0744462B2 (ja) 圧縮符号化方法及び復号方法
US5877711A (en) Method and apparatus for performing adaptive data compression
JP3831716B2 (ja) マルチバイト・レンペル・ジフ1(lz1)圧縮解除方法及び装置
US7286066B1 (en) Acceleration of bitstream decoding
US6247112B1 (en) Bit manipulation instructions
JP3488160B2 (ja) 命令セットの拡張を通じて、risc実行可能コードを圧縮する方法及びシステム
CN1839550B (zh) 解码可变长度前缀码的方法和系统
JPH05268100A (ja) 可変長ビット列処理プロセッサ
US20080253668A1 (en) Method of decoding entropy-encoded data
US8018359B2 (en) Conversion of bit lengths into codes
US6781528B1 (en) Vector handling capable processor and run length encoding
US6707398B1 (en) Methods and apparatuses for packing bitstreams
JP4191438B2 (ja) データ圧縮方法およびデータ伸長方法、該方法を実施するためのコンピュータプログラム製品と電子システム
US7609895B2 (en) Methods and apparatus for performing MQ-decoding operations
TW200937942A (en) Coding system and method for a bit-plane
US6707397B1 (en) Methods and apparatus for variable length codeword concatenation
Bloom New Techniques in Context Modeling and Arithmetic Encoding.
EP1981279B1 (en) Decoding entropy-encoded data using dynamic program generation
US20050169365A1 (en) Data encoding using multi-dimensional redundancies

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: 19980609