JPH0846520A - 算術符号化装置及び算術符号復号化装置 - Google Patents

算術符号化装置及び算術符号復号化装置

Info

Publication number
JPH0846520A
JPH0846520A JP17651394A JP17651394A JPH0846520A JP H0846520 A JPH0846520 A JP H0846520A JP 17651394 A JP17651394 A JP 17651394A JP 17651394 A JP17651394 A JP 17651394A JP H0846520 A JPH0846520 A JP H0846520A
Authority
JP
Japan
Prior art keywords
code
value
augend
register
arithmetic
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
JP17651394A
Other languages
English (en)
Inventor
Bunichi Osuga
文一 大須賀
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.)
JFE Steel Corp
Original Assignee
Kawasaki Steel 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 Kawasaki Steel Corp filed Critical Kawasaki Steel Corp
Priority to JP17651394A priority Critical patent/JPH0846520A/ja
Publication of JPH0846520A publication Critical patent/JPH0846520A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 算術符号の符号化あるいは復号化に要する処
理時間を短縮する。 【構成】 算術符号の符号化あるいは復号化に際して
は、オージェンドレジスタARや符号コードレジスタC
Rを用いた符号化処理を繰り返すループ処理がなされる
ことに着目している。又、このような符号化あるいは復
号化処理中の処理を並行実行可能な構成を見出してい
る。シフト演算部32Aでオージェンドレジスタに関す
る並行処理を行い、シフト演算部34Aで符号コードレ
ジスタに関する並行処理を行い、カウント演算部36A
でループカウンタに関する並行処理を行う。比較部50
Aで並行実行の結果の複数のオージェンド値で適切な値
を選択し、これに基づいて、前記シフト演算部32A及
び34A、又前記カウント演算部36Aの演算結果を選
択することで、前述のようなループ処理を排除する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、出現確率がPの劣勢シ
ンボルと出現確率が(1−P)の優勢シンボルとによ
る、符号化すべきシンボル系列を、これら劣勢シンボル
及び優勢シンボルの出現確率に応じて分割した確率数値
線上にマッピングし、その位置に従って符号系列を得る
算術符号の符号化あるいは復号化を行うべく、符号化過
程あるいは復号化過程で、前記確率数値線上での符号の
範囲を示すオージェンド値データを記憶するオージェン
ドレジスタARを用いると共に、符号化過程あるいは復
号化過程で、前記確率数値線上での符号の位置に関する
符号コード・データを記憶する符号コード・レジスタC
Rを用いた単純符号化処理あるいは単純復号化処理を繰
り返してループ処理を行う、算術符号化装置に係り、及
び、算術符号復号化装置に係り、特に、処理時間を短縮
することができる算術符号化装置及び算術符号復号化装
置に関する。
【0002】
【従来の技術】所定の伝送路を用いた情報伝達にあっ
て、あるいは、所定のデータベースへの情報の保存にあ
っては、伝送あるいは保存される情報のデータ量がより
少なくされることが望ましい。例えば、画像情報は一般
に膨大な情報量となるものであるため、その情報の伝達
や保存にあって、様々な手法によるデータ圧縮がなされ
ている。
【0003】近年行われているデータ圧縮には、非可逆
符号化によるものと、可逆符号化によるものがある。
【0004】例えば、非可逆符号化によるものは、DC
T処理の後に量子化等を図るものがある。この非可逆符
号化によるデータ圧縮では、符号化に伴った情報量の低
下、例えば歪みやノイズの発生を許しながら、大幅なデ
ータ量の削減を図るものである。非可逆符号化にあって
はこのように何らかの情報量の低下はあるものの、例え
ば視覚的な認知の許容範囲を考慮しているため、実用上
問題とはならないようにされている。
【0005】一方、前記可逆符号化として一般にエント
ロピ符号化と称するものは、有限個のシンボルを持つ情
報源出力に対し、出現確率の偏りを利用してデータ圧縮
するというものである。即ち、出現確率の高いシンボル
にはより短い符号を割り当てることによって、生成され
る符号の平均符号長を短くするようにし、純粋な統計的
性質によってデータ圧縮を図るというものである。
【0006】このようなエントロピ符号化には、ランレ
ングス符号化や、算術符号化等がある。
【0007】前記ランレングス符号化は、同一シンボル
が連続して発生する確率が高い場合、シンボルのランレ
ングスに対して符号を割り当てるというものである。該
ランレングス符号化は、一般には、2値情報源、例えば
2値画像情報の符号化にしばしば用いられるものであ
る。
【0008】一方、前記算術符号化は、エライアス符号
化として知られている無記憶情報源に対する理想的符号
化方式を、実用可能な形に再編成したものと言える。該
算術符号化は、出現確率がPの劣勢シンボルと、出現確
率が(1−P)の優勢シンボルとによる、符号化すべき
シンボル系列を、これら劣勢シンボル及び優勢シンボル
の出現確率を利用しながらデータ圧縮するというもので
ある。これら劣勢シンボル及び優勢シンボルの出現確率
に応じて分割した、例えば図31に示されるような確率
数直線上に、符号化すべきシンボル系列をマッピング
し、その位置に従って符号系列を得るというものであ
る。
【0009】例えば図31の算術符号の概念図は、
“1”のシンボルが、出現確率がPの劣勢シンボルとさ
れる。一方、“0”のシンボルが、出現確率(1−P)
の優勢シンボルとされている。又、この図31にあって
は、一例として、“0、1、0、0、1、1”のシンボ
ル系列の符号化が示されている。
【0010】該シンボル系列にあっては、まず第1番目
のシンボル“0”に対応し、“(1−P)”のオージェ
ンド値A0 が得られる。第2番目のシンボル“1”に対
応し、“(1−P)P”のオージェンド値A01が得られ
る。第3番目のシンボル“0”に対応し、“(1−P)
2 P”のオージェンド値A010 が得られる。第4番目の
シンボル“0”に対応し、“(1−P)3 P”のオージ
ェンド値A0100が得られる。第5番目のシンボル“1”
に対応し、“(1−P)3 2 ”のオージェンド値A
01001 が得られる。第6番目のシンボル“1”に対応
し、“(1−P)33 ”のオージェンド値A010011
得られる。
【0011】これらのオージェンド値は、図31に示さ
れるような確率数直線上での符号の範囲を示すものであ
る。又、この図31で一点鎖線Cで示されるものは、そ
の確率数直線上での符号の位置である。この符号の位置
に応じて、一般に2進小数値で表現されるものが、算術
符号の符号化された結果となるものである。
【0012】このような算術符号化を行う算術符号化処
理、あるいは算術符号化されたものを復号する算術符号
復号化処理は、一般に、前述のような確率数直線上での
符号の範囲を示すオージェンド値データを記憶するオー
ジェンドレジスタARを用いると共に、前述のような確
率数直線上での符号の位置に関する符号コードデータを
記憶する符号コードレジスタCRを用いた処理(以下、
単純符号化処理と称する)を繰り返したループ処理とな
っている。
【0013】又、このような算術符号化処理又算術符号
復号化処理に関して、例えば特公平1−17295や特
開昭62−185413等では、より具体的なものが開
示されている。更に、特公平2−58811では、算術
符号化処理にあって推定確率を適応化させるという技術
が開示されている。又、特開平3−65823では、エ
ントロピ符号化や復号化処理にあって、符号化(復号
化)効率を向上させるという技術が開示されている。
【0014】このように、近年では、このような算術符
号化あるいはその復号化の実用的な手法が開示されるよ
うになっている。これにより、情報量が一般に膨大な画
像データ等のデータ圧縮に活用されるようになってきて
いる。
【0015】図32は、従来からの算術符号化処理を示
すフローチャートである。
【0016】この算術符号化処理は、17ビットの前記
オージェンドレジスタAR及び16ビットの前記符号コ
ードレジスタCRを用いる。又、その符号化処理の際、
ループカウンタCTRを用いるものである。
【0017】まず、この図32のステップ210では、
前記ループカウンタCTRの初期化等を行う。例えば前
記ループカウンタCTRの値は“11”に設定される。
【0018】続くステップ214では、前記オージェン
ドレジスタARのLSB(least significant bit )側
からMSB(most significant bit)側へ1ビットシフ
トする。又、前記符号コードレジスタCRについても、
LSB側からMSB側へと1ビットだけシフトする。
【0019】なお、このようなLSB側からMSB側へ
のシフトを、以降、左シフトと称する。一方、MSB側
からLSB側へのシフトを、以降、右シフトと称する。
【0020】続くステップ216では、前記ループカウ
ンタCTRのデクリメント(その値を“1”だけ減算)
する。
【0021】ステップ218では、前記ループカウンタ
CTRの値が“0”であるか否か判定する。“0”であ
ればステップ222へ進み、一方、“0”ではない場合
ステップ228へ進む。又、前記ステップ222では、
符号化されたものを、1バイト毎に出力するものであ
る。
【0022】ステップ224及び228では、前記オー
ジェンドレジスタARの値が“0x8000”以下であ
るか否か判定する。この“x ”は16進を意味する。こ
れらステップ224あるいは228において、“0x 8
000”より小さいと判定されれば、前記ステップ21
4の前方へ分岐する。一方、“0x 8000”以上と判
定されれば、この図32に示される処理を全て終了す
る。
【0023】この図32に示される算術符号化処理にあ
っては、ステップ214−216−218−228−2
14・・・の流れの1つのループ処理で符号化を行い、
得られた符号はステップ222にて1バイト毎に出力さ
れている。又、このループ処理は、もう1つのループ処
理に入り子構造となっている。従って、符号化すべきシ
ンボル系列が全て対応する符号系列へ変換されるまで、
ステップ214−216−218−228−214・・
・の1つのループ処理や、該ループ処理を含むステップ
214−216−218−222−224−214・・
・のもう1つのループ処理等が繰り返し実行されるもの
である。
【0024】図33は、従来からの算術符号の復号化処
理を示すフローチャートである。
【0025】この図33に示される復号化処理は、前記
図32に示される復号化処理等にて符号化された算術符
号を復号化するものである。又、この図33の復号化処
理では、17ビットの前記オージェンドレジスタAR
と、16ビットの前記符号コードレジスタが用いられ
る。又、4ビットの前記ループカウンタも用いられる。
【0026】まず、この図33のステップ240では、
前記ループカウンタCTRの初期化等が行われる。例え
ば前記ループカウンタCTRの値が“7”とされる。
【0027】ステップ242では、前記ループカウンタ
CTRの値が“0”であるか否かを判定する。“0”で
あればステップ244へ進み、“0”でない場合はステ
ップ262へ進む。
【0028】前記ステップ244では、復号化する符号
系列のデータを1バイト入力する。ステップ246及び
前記ステップ262では、前記オージェンドレジスタA
Rの1ビットの左シフトを行う。又、これらステップ2
46及び262では、前記符号コードレジスタCRの1
ビットの左シフトを行う。続くステップ248あるいは
264では、前記ループカウンタCTRのデクリメント
を行う。
【0029】又、ステップ252あるいは266では、
前記オージェンドレジスタARの値が、“0x 800
0”より小さいか判定する。該オージェンドレジスタA
Rの値が“0x 8000”より小さい場合、前記ステッ
プ242の前方へ分岐する。一方、前記オージェンドレ
ジスタARの値が“0x 8000”以上であれば、この
図33に示される処理は全て終了する。
【0030】このような算術符号の復号化処理では、ス
テップ242−262−264−266−242・・・
の1つのループ処理を行いながら、シンボル系列の各シ
ンボルの復号を行う。又、このような復号を行いなが
ら、該ループ処理をも含む、前記ステップ242−24
4−246−248−252−242・・・のもう1つ
のループ処理にて、復号化する符号を順次入力する。
【0031】
【発明が達成しようとする課題】しかしながら、前述の
ような算術符号の符号化処理や復号化処理にあっては、
多くの処理を要するものとなっている。例えば、多量の
データの符号化や復号化にあっては、処理時間の短縮が
特に求められるものである。例えば情報量が多くなる傾
向の画像データ等にあっては、特に高速処理が求められ
る。
【0032】本発明は、前記従来の問題点を解決するべ
くなされたもので、処理時間を短縮することができる算
術符号化装置及び算術符号復号化装置を提供することを
目的とする。
【0033】
【課題を達成するための手段】本願の第1発明の算術符
号化装置は、出現確率がPの劣勢シンボルと出現確率が
(1−P)の優勢シンボルとによる、符号化すべきシン
ボル系列を、これら劣勢シンボル及び優勢シンボルの出
現確率に応じて分割した確率数直線上にマッピングし、
その位置に従って符号系列を得る算術符号化を行うべ
く、符号化過程で、前記確率数直線上での符号の範囲を
示すオージェンド値データを記憶するオージェンドレジ
スタARを用いると共に、符号化過程で、前記確率数直
線上での符号の位置に関する符号コード・データを記憶
する符号コード・レジスタCRを用いた単純符号化処理
を繰り返してループ処理を行う算術符号化装置におい
て、繰り返される複数の前記単純符号化処理それぞれに
対応する、対となる前記オージェンド値及び前記符号コ
ードを求めることを、並行して行う並行実行演算部と、
求められた複数の前記単純符号化処理それぞれの対とな
る前記オージェンド値及び前記符号コードについて、適
切な値の前記オージェンド値を選択すると共に、選択さ
れたものに対となる前記符号コードも選択するレジスタ
値選択部と、これら選択された一対の前記オージェンド
値及び前記符号コードにより、前記オージェンドレジス
タAR及び前記符号コード・レジスタCRを更新するよ
うにしたことにより、前記課題を達成したものである。
【0034】又、前記第1発明の算術符号化装置におい
て、前記出現確率P又は(1−P)が、自然数Qについ
てべき乗2-Qで表わされ、前記並行実行演算部での複数
ビットシフトするシフト演算が、1回の数値演算とする
ことにより、前記課題を達成すると共に、本発明の特徴
をより活かしてシフト演算を行い、処理時間の短縮をよ
り図ったものである。
【0035】一方、本願の第2発明の算術符号復号化装
置は、出現確率がPの劣勢シンボルと出現確率が(1−
P)の優勢シンボルとによる、符号化すべきシンボル系
列を、これら劣勢シンボル及び優勢シンボルの出現確率
に応じて分割した確率数直線上にマッピングし、その位
置に従って符号系列を得る算術符号の復号化を行うべ
く、復号化過程で、前記確率数直線上での符号の範囲を
示すオージェンド値データを記憶するオージェンドレジ
スタARを用いると共に、復号化過程で、前記確率数直
線上での符号の位置に関する符号コード・データを記憶
する符号コード・レジスタCRを用いた単純復号化処理
を繰り返してループ処理を行う算術符号復号化装置にお
いて、繰り返される複数の前記単純復号化処理それぞれ
に対応する、対となる前記オージェンド値及び前記符号
コードを求めることを、並行して行う並行実行演算部
と、求められた複数の前記単純復号化処理それぞれの対
となる前記オージェンド値及び前記符号コードについ
て、適切な値の前記オージェンド値を選択すると共に、
選択されたものに対となる前記符号コードも選択するレ
ジスタ値選択部と、これら選択された一対の前記オージ
ェンド値及び前記符号コードにより、前記オージェンド
レジスタAR及び前記符号コード・レジスタCRを更新
するようにしたことにより、前記課題を達成したもので
ある。
【0036】又、前記第2発明の算術符号復号化装置に
おいて、前記出現確率P又は(1−P)が、自然数Qに
ついてべき乗2-Qで表わされ、前記並行実行演算部での
複数ビットシフトするシフト演算が、1回の数値演算と
することで、前記課題を達成すると共に、本発明の特徴
を活かし特にシフト演算の処理能率を向上し、処理時間
の短縮をより図ったものである。
【0037】
【作用】まず、前記第1発明にあっては、前記図32を
用いて前述したとおり、算術符号の復号化処理は、ルー
プ処理を中心としたものであることに着目している。
又、このようなループ処理で繰返される複数の前記単純
符号化処理それぞれについては、相互に独立可能なもの
があることに着目している。前記単純符号化処理にあっ
ては、毎回対として、前記オージェンド値及び前記符号
コードが求められるものである。
【0038】このように独立可能であるため、前記第1
発明では、独立可能な前記単純符号化処理を並行して行
うようにしている。又、このように並行実行することで
得られた複数の前記単純符号化処理それぞれの対となる
前記オージェンド値及び符号コードについては、適切な
値の前記オージェンジ値を選択すると共に、選択された
ものに対となる対応する前記符号コードも選択するよう
にしている。このように繰返される複数の前記単純復号
化処理を並行実行することで、処理時間の短縮を図るこ
とが可能である。
【0039】又、前記第2発明についても、前記第1発
明と同様、算術符号の復号化処理にあってはループ処理
が中心となっていることに着目している。又、このよう
なループ処理で繰返される複数の前記単純符号化処理
が、相互に独立実行可能なものであることに着目してい
る。このような前記単純復号化処理にあっては、毎回対
として、前記オージェンド値及び前記符号コードが求め
られるものである。
【0040】このため、前記第2発明にあっても、前記
第1発明と同様、独立実行可能な複数の前記単純復号化
処理を並行実行するようにしている。又、このような処
理にて求められた複数の前記単純復号化処理それぞれの
対となる前記オージェンド値及び前記符号コードから、
適切な値の前記オージェンド値を選択する。又、選択さ
れたものに対となる前記符号コードも選択する。これに
よって、ループ処理という、処理時間が延長される傾向
のある処理を削除することができ、全体として処理時間
の短縮を図ることができる。
【0041】なお、前記第1発明の算術符号化装置にあ
っても、あるいは、前記第2発明の算術符号復号化装置
にあっても、これに限定されるものではないが、対象と
なる劣勢シンボルの出現確率Pを、べき乗2-Qとするこ
ともできる。あるいは、前記優勢シンボルも前記出現確
率(1−P)を、べき乗2-Qとすることもできる。この
“Q”は自然数である。
【0042】このように、前記出現確率Pや前記出現確
率(1−P)を“2”のべき乗とした場合、前記単純復
号化処理でなされる演算を、ビット演算、特にビットの
左シフト演算やビットの右シフト演算を中心としたもの
とすることができる。
【0043】この場合、算術符号の符号化や復号化にあ
ってなされるループ処理中のビットシフト演算は繰返さ
れることとなる。従って、前記単純復号化処理について
は、1ビットの左シフト演算を複数回繰り返すことで、
あるものは2ビットの左シフト演算となり、あるものは
3ビットの左シフト演算となる等、複数ビットシフトす
るシフト演算が生じるものである。
【0044】ループ処理では、このように結果的に複数
ビットシフトのシフト演算となるものが1ビットずつの
複数回のビットシフト演算にて行われるものである。比
較して、本発明にあっては、それぞれの前記単純復号化
処理として独立して1度に実行されるため、複数ビット
シフトのシフト演算を一回で纏めて行うことができる。
この場合、複数ビットシフトのシフト演算は、例えば一
回の数値演算として実行可能である。例えば、前記オー
ジェンド値を4ビットだけ一度に左シフトする場合、L
SB側から第5番目の位置及びそれよりMSB側へと、
元の前記オージェンド値を書込めばよい。従って、1ビ
ット毎に行っていた複数ビットシフトするシフト演算を
一回の数値演算で行うため、処理時間をより短縮するこ
とが可能である。
【0045】
【実施例】以下、図を用いて本発明の実施例を詳細に説
明する。
【0046】図1は、前記第1発明が適用された第1実
施例の算術符号化装置の構成を示すブロック図である。
【0047】この図1に示される如く、前記第1実施例
の算術符号化装置は、主として、オージェンドレジスタ
(AR)22と、符号コードレジスタ(CR)24と、
ループカウンタ(CTR)26と、オージェンド値シフ
ト演算部32Aと、符号コードシフト演算部34Aと、
ループカウント演算部36Aと、オージェンド値比較部
50Aと、選択信号発生部60Aと、オージェンド値選
択部80と、符号コード選択部82と、カウント値選択
部84とにより構成されている。
【0048】まず、前記オージェンド値シフト演算部3
2Aは、従来ループ処理にて繰返された複数の前記単純
符号化処理それぞれに対応する、前記オージェンド値
を、これら単純符号化処理に対応する処理の並行実行に
て求めるものである。該オージェンド値シフト演算部3
2Aでの演算は、主として、シフト演算である。
【0049】又、前記符号コードシフト演算部34A
は、従来ループ処理として繰返される複数の前記単純符
号化処理それぞれに対応する、前記符号コードを、これ
ら単純符号化処理に対応する処理を並行実行して求める
ものである。該符号コードシフト演算部34Aでの演算
は、主としてシフト演算である。
【0050】前記ループカウント演算部36Aは、従来
ループ処理として繰返された複数の前記単純符号化処理
に際して用いられたループカウンタの値を、これら単純
符号化処理に対応する処理で並行して求めるものであ
る。
【0051】特に、前記オージェンド値シフト演算部3
2A及び前記符号コードシフト演算部34Aにて、前記
第1発明の並行実行演算部が構成されるもである。
【0052】前記オージェンド値比較部50Aは、前記
オージェンド値シフト演算部32Aで求められた、複数
の前記オージェンド値の値について、適切なものを選択
する。又、この選択に基づいて、前記選択信号発生部6
0Aは、これに対応する選択信号を発生する。該選択信
号は、前記オージェンド値比較部50Aで選択された前
記オージェンド値、及び、該オージェンド値と組となる
前記符号コード、及び、該オージェンド値と組となる前
記ループカウント値を選択するものである。又、前記オ
ージェンド値選択部80、前記符号コード選択部82及
び前記カウント値選択部84は、これら選択を行うべ
く、前記選択信号発生部60Aが出力する共通の選択信
号に従って動作する。
【0053】図2は、前記オージェンドレジスタ22を
示す論理回路図である。
【0054】この図2に示される如く、前記オージェン
ドレジスタ22は、合計17個のD型ラッチで構成され
るD型ラッチユニット22a となっている。17個のD
型ラッチを用いることで、17ビットの前記オージェン
ド値を記憶するようになっている。又、入力されるオー
ジェンド値を取込むタイミングは、クロック信号RCK
に従っている。
【0055】図3は、前記符号コードレジスタの論理回
路図である。
【0056】この図3に示される如く、前記符号コード
レジスタ24は、合計16個のD型ラッチでなるD型ラ
ッチユニット24a となっている。このように16個の
D型ラッチを用いることで、16ビットの前記符号コー
ドが記憶される。又、入力される前記符号コードCR
は、前記クロック信号RCKに同期して取込まれる。
【0057】図4は、本第1実施例で用いられる前記ル
ープカウンタの論理回路図である。
【0058】この図4に示される如く、前記ループカウ
ンタ26は、合計4個のD型ラッチを用いたD型ラッチ
ユニット26a となっている。該ループカウンタ26
は、このように4個のD型ラッチを用いることで、4ビ
ットのループカウント値を保持する。又、入力されるル
ープカウント値は、クロック信号RCKに同期し取込ま
れる。
【0059】図5は、前記第1実施例に用いられる前記
オージェンド値シフト演算部の構成を示すブロック図で
ある。
【0060】この図5に示される如く、前記オージェン
ド値シフト演算部32Aは、合計11個のシフト演算器
32a 〜32k のシフト器にて構成されている。これら
はいずれも左シフト演算を行うものであるが、左シフト
するビット数が互いに異なる。即ち、1ビットシフト器
32a は、1ビットの左シフトを行う。2ビットシフト
器32b は、2ビットの左シフト演算を行う。このよう
に、1ビットから11ビットの互いに異なるビット数の
シフト演算を、これらは互いに並行して行うものであ
り、11ビットシフト器32k は、11ビットの左シフ
ト演算を行う。又、これらシフト器32a 〜32k から
の出力は、それぞれ17ビットの信号AS1〜AS11
として出力されるものである。
【0061】図6は、前記第1実施例に用いられる前記
符号コードシフト演算部34Aの構成を示すブロック図
である。
【0062】該符号コードシフト演算部34Aは、前記
符号コードレジスタ24から16ビットの前記符号コー
ドCRを入力する。又、該符号コードシフト演算部34
Aは、合計11個の16ビット幅のシフト器3a 〜34
k にて構成されている。まず、1ビットシフト器34a
は、1ビットの左シフトを行う。2ビットシフト器34
b は、2ビットの左シフトを行う。このように、これら
シフト器34a 〜34k は、互いに異なるビット数の左
シフト演算を、互いに並行して行い、11ビットシフト
器34k は11ビットの左シフトを行う。又、これらシ
フト器34a 〜34k は、それぞれ、16ビット幅のシ
フト演算結果の信号CS1〜CS11を出力するもので
ある。
【0063】図7は、前記第1実施例に用いられる前記
ループカウント演算部36Aの構成を示すブロック図で
ある。
【0064】この図7では、前記ループカウント演算部
36Aの構成が示される。該ループカウント演算部36
Aは、前記ループカウンタ26から、4ビット幅の前記
ループカウント値CD0を入力する。又、該ループカウ
ント演算部36Aは、合計10個の減算器36a 〜36
j にて構成されている。まず、1減算器36a は、入力
されるループカウント値のデクリメントを行う。2減算
器36b は、入力される前記ループカウント値から
“2”だけ減算した値を求める。このように、前記減算
器36a 〜36j は、順に、“1”〜“10”の互いに
異なる減算を、互いに並行して行うものであり、10減
算器36j は“10”の減算を行う。又、これら減算器
36a 〜36j は、それぞれ、4ビット幅の演算結果と
して、それぞれ信号CD1〜CD10を出力するもので
ある。
【0065】なお、前記図5に示される前記シフト器3
2a 〜32k 、又、前記図6に示される前記シフト器3
4a 〜34k は、複数ビットシフトするものは、1ビッ
トづつシフトするものではない。例えば、5ビットだけ
左シフトするものは、1ビットづつのシフトを5回行う
のではなく、5ビットだけ最終的にシフトされる位置
へ、一回だけシフト結果のデータを書込むというもので
ある。従って、この場合、1ビットの左シフトを5回行
うことに比べ、シフト演算時間を短縮することができ
る。
【0066】なお、前記図7の前記減算器36a 〜36
j については、“2”以上の値を減算する場合、複数
回、デクリメントを行うものではない。例えば“4”の
減算を行う場合、デクリメントを4回行うというもので
はなく、“4”の減算を一回だけ行うというものであ
る。従って、この場合、デクリメントを4回行うことに
比べ、演算時間を短縮することができる。
【0067】図8は、前記第1実施例に用いられるオー
ジェンド値比較部の構成を示すブロック図である。
【0068】この図8では、前記オージェンド値比較部
50Aの構成が示されている。該オージェンド値比較部
50Aは、合計11個の比較器52と、合計10個のO
R論理ゲート54と、ROM56とにより構成されてい
る。
【0069】まず、前記比較器52は、その入力Aに入
力される17ビットの信号の値と、その入力Bへ入力さ
れる17ビットの信号の値とを比較し、その入力Aの値
がその入力Bの値以上であれば、その出力UはL状態と
なり、その入力Aの値がその入力Bの値より小さい場合
にはその出力UはH状態となる。又、これら比較器52
は、いずれも、それぞれの入力Bへ“0x 8000”の
値を示す信号が入力されている。又、これら合計11個
の比較器52は、1つづつ、前記オージェンドレジスタ
22が出力する前記信号AS0、前記シフト器32a 〜
32j が出力する前記信号AS1〜AS10が入力さ
れ、OR論理ゲート54等を用いながら、信号CP0〜
CP10を出力する。なお、該OR論理ゲートは、不論
理にて、AND論理演算を行うものである。
【0070】前記ROM56Aは、前記ループカウンタ
26が出力する、4ビットの信号CT0〜CT3による
前記信号CD0を、アドレスとして入力する。又、該R
OM56Aの、10ビットのビット出力O0〜O9によ
るデータ出力は、1ビットづつ、前記OR論理ゲート5
4へと入力されている。即ち、ビット出力O0は、前記
信号CP1を出力する前記OR論理ゲートに入力され、
前記ビット出力O1は前記信号CP2を出力する前記O
R論理ゲートに入力され、前記ビット出力O2は前記信
号CP3を出力する前記OR論理ゲート54に入力さ
れ、このように前記ビット出力O0〜O9は対応する前
記OR論理ゲート54へと入力されている。従って、前
記ビット出力O9は、前記信号CP10を出力する前記
OR論理ゲート54へと入力されている。
【0071】なお、図9は、前記第1実施例に用いられ
るROMに記憶されるデータを示す線図である。
【0072】この図9においては、前記ROM56Aに
記憶される各アドレスの10ビット幅のデータが示され
ている。なお、各アドレスは、前記信号CD0を構成す
る前記信号CT0〜CT3にて示されるものである。
又、この図9中で示される、前記ROM56Aに記憶さ
れるビットデータは“0”又は“1”である。又、この
図9中で“X”で示されるものは、“0”であってもよ
く、あるいは“1”であってもよいものである。
【0073】図10は、前記第1実施例に用いられる前
記選択信号発生部の論理回路図である。
【0074】この図10においては、前記選択信号発生
部60Aの構成が示されている。該選択信号発生部60
Aは、プライオリティエンコーダ62Aと、減算器64
と、マルチプレクサ66と、D型ラッチユニット68及
び70と、D型ラッチ74と、AND論理ゲート76と
により構成されている。
【0075】まず、前記プライオリティエンコーダ62
Aは、0入力から9入力までの、合計10の入力へ入力
される信号をエンコードし、信号SFa 0〜SFa 3と
して出力する。該プライオリティエンコーダ62Aの合
計10の入力は、原則として、1つのみ“L状態”とな
るものである。しかしながら、2以上の入力が“L”と
なった場合には、入力端子の名称番号が大きい方が優先
される。
【0076】なお、図11は、該プライオリティエンコ
ーダ62Aの真理値表を示す線図である。この図11に
おいて、“H”及び“L”は論理状態を示す。又、
“X”はその論理状態が出力に影響を与えないことを示
す。
【0077】前記減算器64は、その入力Aへ入力され
る値から、その入力Bへ入力される値を減算し、この減
算結果をその出力Aから出力する。該減算器は、4ビッ
トの減算演算を行うものである。又、該減算器64は、
具体的には、前記信号CD0の値から、“1”を減算す
るものとなっている。
【0078】又、前記D型ラッチユニット68は、クロ
ック信号FCKに従って、前記プライオリティエンコー
ダ62Aが出力する信号を保持する。又、前記D型ラッ
チユニット70は、前記クロック信号FCKに従って、
前記減算器64が出力する信号を保持する。これらD型
ラッチユニット68及び70は、いずれも合計4個のD
型ラッチで構成されている。
【0079】前記D型ラッチ74は、前記AND論理ゲ
ート76Aの出力を保持する。該AND論理ゲート76
Aは、負論理のOR論理演算を行うものであり、前記信
号CP1〜CP10が全てH状態となると、その出力が
H状態となるものである。
【0080】前記マルチプレクサ66は、前記D型ラッ
チ74が出力する信号SLに従って、前記D型ラッチユ
ニット68が出力する信号SF0〜SF3の4本と、前
記D型ラッチユニット70が出力する信号SF4〜SF
7の4本とを、4本単位でその出力の信号S0〜S3へ
と切換える。
【0081】図12は、前記第1実施例に用いられる前
記オージェンド値選択部を示す回路図である。
【0082】図に示される如く、前記オージェンド値選
択部80は、マルチプレクサ80aとなっている。該マ
ルチプレクサ80a は、その選択入力Sへ入力される4
ビットの信号に従い、合計11系統の入力のうち、1つ
を選択し、その出力Uへ接続するものである。その選択
入力Sへ入力される値が、即ち該選択入力Sの信号に基
づいて選択されるその入力0〜10の名称番号となる。
該マルチプレクサ80a は、17ビット単位でこのよう
な切換えを行うものである。
【0083】図13は、前記第1実施例に用いられる前
記符号コード選択部の回路図である。
【0084】この図13に示される如く、前記符号コー
ド選択部82は、マルチプレクサ82a となっている。
該マルチプレクサ82a は、その選択入力Sへ入力され
る4ビットの信号S0〜S3に従って、合計11系統の
入力のうち、いずれか1つを選択し、その出力Uへ接続
する。このような切換えは、16ビット単位で行われる
ものである。又、このような選択は、前記選択入力Sへ
入力される値が、合計11系統の入力0〜10の、系統
番号に対応しており、これに基づいて切換えられる。
【0085】図14は、前記第1実施例に用いられる前
記カウント値選択部の回路図である。
【0086】この図14に示される如く、前記カウント
値選択部84は、マルチプレクサ84a と、マルチプレ
クサ84b とにより構成されている。
【0087】まず、前記マルチプレクサ84a は、その
選択入力Sへ入力される合計4ビットの信号SF0〜S
F3に従って、合計10系統のその入力0〜9のいずれ
か1つを選択し、その出力Uへ接続するものである。こ
のような切換えは、4ビット単位で行われるものであ
る。又、このような切換えは、前記選択入力Sへ入力さ
れる値をその入力0〜9の名称番号として行われるもの
である。
【0088】又、前記マルチプレクサ84b は、その選
択入力Sへ入力される信号SLに従って、その入力0あ
るいはその入力1のいずれか一方を選択し、その出力U
へ接続するものである。該マルチプレクサ84b の入力
0は前記マルチプレクサ84a の出力Uへ接続されてい
る。又、該マルチプレクサ84b の入力1には“0”の
値の信号が入力されている。該マルチプレクサ84b
は、その選択入力Sへ入力される前記信号SLに従っ
て、4ビット単位でこのような切換えを行うものであ
る。
【0089】図15は、前記第1実施例で行われる演算
値の選択対応を示す第1の線図である。
【0090】この図15においては、前記選択信号発生
部60Aにて得られる信号SF0〜SF3の合計10の
組合せそれぞれに対応して、前記オージェンドレジスタ
(AR)22と、前記符号コードレジスタ(CR)24
と、前記ループカウンタ(CTR)26とに、選択され
書込まれるものを示している。
【0091】この図15中で、例えば、前記信号SF0
〜SF3が全て“0”の場合、前記オージェンドレジス
タ22には、“AR<<1”で示される如く、前回のオ
ージェンド値が1ビット左シフトされたものが書込まれ
る。又、前記符号コードレジスタ24には、“CR<<
1”で示される如く、前回の符号コードCRを1ビット
左シフトさせたものが書込まれる。前記ループカウンタ
26には、“CTR−1”で示される如く、前回のカウ
ント値デクリメントされた値が書込まれる。
【0092】又、前記信号SF0、SF1及びSF3が
“0”で、前記信号SF2が“1”の場合、前記オージ
ェンドレジスタ22には、“AR<<5”で示される如
く、前回のオージェンド値を5ビット左シフトさせたも
のが書込まれる。前記符号コードレジスタ24へは“C
R<<5”で示される如く、前回の符号コードの値を5
ビットだけ左シフトさせたものが書込まれる。前記ルー
プカウンタ26には、“CTR−5”で示される如く、
前回のカウント値CTRを“5”だけ減算した値が書込
まれる。
【0093】図16は、前記第1実施例における前記選
択信号発生部で生成される信号に従った演算値の選択対
応を示す第2の線図である。
【0094】この図16においては、前記ループカウン
タ26の値(CT0〜CT3で示される)及び前記選択
信号発生部60Aから得られる前記信号SF4〜SF7
で示される値に対する、前記オージェンドレジスタ(A
R)22へ書込まれる値と、前記符号コードレジスタ
(CR)24へ書込まれる値と、前記ループカウタン
(CTR)26へ書込まれる値との対応が示されてい
る。この図16の対応表での表現方法は、前記図15の
場合と同様である。
【0095】図17は、前記第1実施例におけるクロッ
ク信号を中心とした動作タイミングを示すタイムチャー
トである。
【0096】この図17では、前記図10の前記プライ
オリティエンコーダ62Aが出力する前記信号SFa 0
〜SFa 3、前記減算器64が出力する前記信号SFa
4〜SFa 7、前記D型ラッチユニット68が出力する
前記信号SF0〜SF3、前記D型ラッチユニット70
が出力する前記信号SF4〜SF7、前記クロック信号
FCK及び前記クロック信号RCKが示されている。
【0097】この図17のタイムチャートにおいて、ま
ず時刻 t10で、本実施例の算術符号化装置の動作が開始
される。又、該時刻 t10から所定時間の後には、前記オ
ージェンド値シフト部32a 、前記符号コード演算器3
4a 、前記ループカウント演算部36A、前記オージェ
ンド値比較部50A及び前記選択信号発生部60A等で
の動作が行われ、前記信号SFa 0〜SFa 7及びSF
0〜SF7の論理状態が出力される。
【0098】又、この後時刻 t12にて、前記クロック信
号FCKが入力されると、前記信号SFa 0〜SFa 7
の論理状態によって、前記D型ラッチユニット68及び
70に記憶されるデータが更新され、前記信号SF0〜
SF7の論理状態が切換わる。この後、時刻 t13におい
て、次の処理が行われる。
【0099】図18は、本第1実施例での算術符号化処
理を示すフローチャートである。
【0100】まず、この図18のステップ110では、
前記オージェンドレジスタ(AR)22や前記符号コー
ドレジスタ(CR)24や前記ループカウンタ(CT
R)26等の初期値設定等の初期処理を行う。又、該ス
テップ110では、算術符号化するシンボル系列を入力
するものである。
【0101】続いてステップ114では、前記オージェ
ンドレジスタ22及び前記符号コードレジスタ24の左
シフト演算処理、又、前記ループカウンタ26のカウン
ト演算処理を行う。具体的には、前記オージェンドレジ
スタ22については、前記オージェンド値シフト演算部
32Aによって、1ビットから11ビットまでの11種
類のシフト量の、左シフト演算を同時に行うものであ
る。又、前記符号コードレジスタ24については、前記
符号コードシフト演算部34Aにおいて、1ビットから
11ビットまでの11種類のシフト量の、左シフト演算
を同時に行うものである。又、前記ループカウンタ26
については、前記ループカウント演算部36Aにおい
て、“1”の減算から“10”の減算までの10種類の
減算を同時に行うものである。
【0102】続いてステップ116では、次に列挙する
条件(1)〜(11)の判定を、前記オージェンド値比
較部50Aや前記選択信号発生部60Aを中心として行
う。次に列挙する条件(1)〜(11)のいずれか1つ
が成立する場合、次にステップ122へ進む。一方、い
ずれの条件(1)〜(11)も成立しない場合、次にス
テップ132へ進む。
【0103】 (1)(CTR=1)である。 (2)(CTR=2)且つ{(AR<<1)<0x 8000}である。 (3)(CTR=3)且つ{(AR<<1)<0x 8000} 且つ{(AR<<2)<0x 8000}である。 (4)(CTR=4)且つ{(AR<<1)<0x 8000} 且つ{(AR<<2)<0x 8000} 且つ{(AR<<3)<0x 8000}である。 (5)(CTR=5)且つ{(AR<<1)<0x 8000} 且つ{(AR<<2)<0x 8000} 且つ{(AR<<3)<0x 8000} 且つ{(AR<<4)<0x 8000}である。 ・ ・ ・ (11)(CTR=11)且つ{(AR<<1)<0x 8000} 且つ{(AR<<2)<0x 8000} 且つ{(AR<<3)<0x 8000} 且つ{(AR<<3)<0x 8000} 且つ・・・ ・ ・ ・ 且つ{(AR<<9)<0x 8000} 且つ{(AR<<10)<0x 8000}である。
【0104】なお、以上列挙した条件にあって、CTR
は、前記ループカウンタ26に記憶される値を示す。A
Rは、前記オージェンドレジスタ22に記憶される値を
示す。又、“<<n ”は、“n ”のビット数分の左シフ
トを示す。例えば、“AR<<1”は、前記1ビットシ
フト器32a での1ビット分の左シフトを示す。“AR
<<2”は、前記2ビットシフト器32b による2ビッ
トの左シフトを示すものである。
【0105】続いて、ステップ122では、前記オージ
ェンドレジスタ22、前記符号コードレジスタ24及び
前記ループカウンタCTRの更新処理を行う。具体的に
は、前記オージェンドレジスタ22及び前記符号コード
レジスタ24において、前記ループカウンタ26の値分
のビット数だけシフトしたそれぞれの値を、それぞれの
レジスタに書き込み、この後に前記ループカウンタ26
の値を“0”に書き替える。このような該ステップ12
2の処理は、主として、前記選択信号発生部60Aと、
前記オージェンド値選択部80と、前記符号コード選択
部82と、前記カウント値選択部84とによって行われ
るものである。
【0106】例えば、前記ループカウンタ26の値が
“2”であれば、前記2ビットシフト器32b で得られ
た前記信号AS2により前記オージェンドレジスタ22
の値を更新し、前記2ビットシフト器34b が出力する
前記信号CS2により前記符号コードレジスタ24の値
を更新し、次に、前記ループカウンタ26の値を“0”
とするものである。
【0107】続いてステップ126では、主として前記
符号コードレジスタ24での値に従って、符号化された
データを1バイト出力する。
【0108】続いてステップ128では、前記オージェ
ンドレジスタ22の値が“0x 8000”より小さいか
否か判定する。該オージェンドレジスタ22の値が“0
x 8000”より小さい場合、前記ステップ114の前
方へ分岐する。一方、該オージェンドレジスタ22の値
が“0x 8000”以上であれば、この図18のフロー
チャートに示される処理を全て終了する。
【0109】一方、前記ステップ116において、前述
のように列挙したいずれの条件(1)〜(11)も成立
しないと判定された場合、前記ステップ132におい
て、前記オージェンドレジスタ22と、前記符号コード
レジスタ24と、前記ループカウンタ26の更新処理を
行う。具体的には、該ステップ132では、まず次式が
成立する最小値の“n ”を求める。
【0110】 (AR<<n )≧0x 8000 …(1)
【0111】又、このステップ132では、上記(1)
式が成立する最小値のn の値のビット数分だけ、前記オ
ージェンドレジスタ22の左シフト、及び前記符号コー
ドレジスタ24の左シフトを行う。又、前記ループカウ
ンタ26に記憶される値から、n を減算する。即ち、
(CTR−n )の値をCTRに書き込む。このような一
連の該ステップ132の処理終了後には、この図18の
フローチャートに示される処理を全て終了する。
【0112】以上説明したとおり、本第1実施例にあっ
ては、前記オージェンド値シフト演算部32Aによって
11種類のシフト量の左シフト演算を同時に行い、前記
符号コードシフト演算部34Aにて合計11種類のシフ
ト量の左シフト演算を同時に行い、前記ループカウント
演算部36Aにおいて10種類の減算を同時に行いなが
ら、このような並行実行された値を選択することで、算
術符号化における処理時間を短縮することができてい
る。
【0113】例えば前記図32の従来の符号化処理にあ
っては、算術符号化された1バイトの符号を得るため
に、前記ステップ214、216、218、228の各
ステップを繰り返すループ処理等、2つのループ処理を
行わなければならない。比較して、本第1実施例にあっ
ては、前記図18のステップ114、116、122の
一連の処理を原則として1回のみ行うだけで1バイトの
符号を得ることができ、1つのループ処理を行うだけで
よい。従って、このようにループ処理が削減された分、
本第1実施例では、算術符号化にあって要する処理時間
を短縮することが可能である。
【0114】又、本第1実施例にあって、2ビット以上
の左シフトを行う前記2ビットシフト器32b 〜32k
、又、前記2ビットシフト器34b 〜34k について
は、1ビットの処理を必要回数繰り返すというものでは
なく、1回の演算で必要なビット数の左シフト演算を行
うものである。従って、左シフト演算を短時間に行うこ
とができる。又、2以上の減算を行う前記2減算器36
b 〜10減算器36j についても、デクリメント演算を
必要な減算数だけ繰り返すというものではなく、1回の
演算で必要な減算値の演算を行うものであり、演算時間
を短縮することが可能となっている。
【0115】図19は、前記第2発明が適用された第2
実施例の算術符号復号化装置の構成を示すブロック図で
ある。
【0116】この図19に示される如く、本第2実施例
は、前記図1等に示される前記第1実施例と同様の、前
記オージェンドレジスタ22と、前記符号コードレジス
タ24と、前記ループカウンタ26と、前記オージェン
ド値選択部80と、前記符号コード選択部82と、前記
カウント値選択部84とを備えるものである。又、本第
2実施例は、オージェンド値シフト演算部32Bと、符
号コード演算器34Bと、ループカウント演算器36B
と、オージェンド値比較部50Bと、選択信号発生部6
0Bとを有するものである。
【0117】まず、本第2実施例の前記オージェンド値
シフト演算部32Bは、図20に示される如く、前記図
5に示した前記第1実施例の前記オージェンド値シフト
演算部32Aに示される前記9ビットシフト器32i 〜
前記11ビットシフト器32k を省き、合計8個の前記
1ビットシフト器32a 〜前記8ビットシフト器32h
としたものである。
【0118】又、本第2実施例の前記符号コード演算器
34Bは、図21に示される如く、前記図6に示した前
記第1実施例の前記符号コードシフト演算部34Aの前
記9ビットシフト器34i 〜前記11ビットシフト器3
4k を省き、合計8個の前記1ビットシフト器34a 〜
前記8ビットシフト器34h としたものである。
【0119】本第2実施例の前記ループカウント演算器
36Bは、図22に示される如く、前記図7に示した前
記第1実施例の前記ループカウント演算部36Aの前記
9減算器36h 及び前記10減算器36j を省き、合計
8個の前記1減算器36a 〜前記8減算器36h とした
ものである。
【0120】図23は、本第2実施例に用いられる前記
オージェンド値比較部50Bの構成を示す論理回路図で
ある。この図23に示される如く、前記オージェンド値
比較部50Bは、合計9個の前記比較器52と、合計8
個の前記OR論理ゲート54と、ROM56Bとにより
構成されている。前記比較器52及び前記OR論理ゲー
トは、前記第1実施例のものと同じである。
【0121】前記ROM56Bは、合計4本の信号CT
0〜CT3でなる信号CD0をアドレスとして入力し、
合計8本の信号R1〜R8として、ビットデータ出力O
0〜O7を出力するものである。なお、該ROM56B
に記憶されるデータは図24に示すとおりである。この
図24において、アドレスAddは、前記信号CT0をL
SB側とし、前記信号CT3をMSB側とする前記信号
CT0によるものである。又、ビットデータ出力O0〜
O7は、1ビットずつ順に、前記信号R1〜R8に対応
する。
【0122】図25は、本第2実施例の前記選択信号発
生部の構成を示す論理回路図である。
【0123】この図25に示す如く、前記選択信号発生
部60Bは、前記第1実施例のものと同一の、前記D型
ラッチユニット68及び70と、前記D型ラッチ74
と、前記マルチプレクサ66とを有するものである。
又、本第2実施例の前記選択信号発生部60Bは、更
に、プライオリティエンコーダ62Bと、8入力AND
論理ゲート76Bを有する。
【0124】まず、前記プライオリティエンコーダ62
Bは、前記オージェンド値比較部50Bが出力する前記
信号CP1〜CP8を入力し、図26に示されるような
エンコードを行い、該エンコード結果を信号SFa 0〜
SFa 3として前記D型ラットユニット68へと出力す
る。この図26において、“H”及び“L”は論理状態
を示す。又、“X”は、H状態あるいはL状態のいずれ
をも問わないことを示す。エンコードする合計8本の前
記信号CP1〜CP8は、原則としていずれか1つのみ
がL状態となるものである。しかしながら、2つ以上の
いずれかの前記信号CP1〜CP8がL状態となる場
合、プライオリティエンコーダの特性として、“CP
1”〜“CP8”の信号番号の大きい方が優先され、エ
ンコードされる。
【0125】図27は、前記第2実施例で行われる演算
値の選択対応を示す第1の線図である。
【0126】この図27においては、前記選択信号発生
部60Aにて得られる信号SF0〜SF3の合計8の組
合せそれぞれに対応して、前記オージェンドレジスタ
(AR)22と、前記符号コードレジスタ(CR)24
と、前記ループカウンタ(CTR)26とに、選択され
書込まれるものを示している。
【0127】この図27中で、例えば、前記信号SF
0、SF1及びSF3が“0”で、前記信号SF2が
“1”の場合、前記オージェンドレジスタ22には、
“AR<<4”で示される如く、前回のオージェンド値
を4ビット左シフトさせたものが書込まれる。前記符号
コードレジスタ24へは“CR<<4”で示される如
く、前回の符号コードの値を4ビットだけ左シフトさせ
たものが書込まれる。前記ループカウンタ26には、
“CTR−4”で示される如く、前回のカウント値CT
Rを“4”だけ減算した値が書込まれる。
【0128】図28は、前記第1実施例における前記選
択信号発生部で生成される信号に従った演算値の選択対
応を示す第2の線図である。
【0129】この図28においては、前記選択信号発生
部60Aから得られる前記信号SF4〜SF7で示され
る値に対する、前記オージェンドレジスタ(AR)22
へ書込まれる値と、前記符号コードレジスタ(CR)2
4へ書込まれる値と、前記ループカウタン(CTR)2
6へ書込まれる値との対応が示されている。この図28
の対応表での表現方法は、前記図15や前記図27の場
合と同様である。
【0130】図29は、前記第2実施例におけるクロッ
ク信号を中心とした動作タイミングを示すタイムチャー
トである。
【0131】この図29では、前記図25の前記プライ
オリティエンコーダ62Bが出力する前記信号SFa 0
〜SFa 3、前記減算器64が出力する前記信号SFa
4〜SFa 7、前記D型ラッチユニット68が出力する
前記信号SF0〜SF3、前記D型ラッチユニット70
が出力する前記信号SF4〜SF7、前記クロック信号
FCK及び前記クロック信号RCKが示されている。
【0132】この図29のタイムチャートにおいて、ま
ず時刻 t10で、本実施例の算術符号化装置の動作が開始
される。又、該時刻 t10から所定時間の後には、前記オ
ージェンド値シフト部32a 、前記符号コード演算器3
4a 、前記ループカウント演算部36B、前記オージェ
ンド値比較部50B及び前記選択信号発生部60B等で
の動作が行われ、前記信号SFa 0〜SFa 7及びSF
0〜SF7の論理状態が出力される。
【0133】又、この後時刻 t12にて、前記クロック信
号FCKが入力されると、前記信号SFa 0〜SFa 7
の論理状態によって、前記D型ラッチユニット68及び
70に記憶されるデータが更新され、前記信号SF0〜
SF7の論理状態が切換わる。この後、時刻 t13におい
て、次の処理が行われる。
【0134】図30は、本第2実施例における算術符号
の復号化処理を示すフローチャートである。
【0135】この図30のステップ142においては、
全ての処理にあたっての初期化が行われる。具体的に
は、前記オージェンドレジスタ(AR)22や前記符号
コードレジスタ(CR)24や前記ループカウンタ(C
TR)26等の値の初期化等が行われる。
【0136】続いてステップ144では、前記オージェ
ンドレジスタ22の左シフト演算、前記符号コードレジ
スタ24の左シフト演算及び前記ループカウンタ26の
カウント値の減算演算を行う。具体的には、前記オージ
ェンドレジスタ22については、合計8個の前記1ビッ
トシフト器32a 〜前記8ビットシフト器32h を用
い、1ビットから8ビットまでの8種類のシフト量の左
シフト演算を並行して行う。前記符号コードレジスタ2
4については、合計8個の前記1ビットシフト器34a
〜前記8ビットシフト器34h を用い、1ビットから8
ビットの8種類のシフト量の左シフト演算を並行して実
行する。前記ループカウンタ26については、合計8個
の前記1減算器36a 〜前記8減算器36h を用い、8
種類の減算器による減算演算を並行して実行するもので
ある。
【0137】続いてステップ146では、前記オージェ
ンド値比較部50Bにおいて、次に列挙する条件(1)
〜(9)の判定を行い、いずれか1つの条件が成立する
場合にはステップ154へと進み、いずれの条件も成立
しない場合ステップ174へと進む。
【0138】 (1)(CTR=0)である。 (2)(CTR=1)且つ{(AR<<1)<0x 8000}である。 (3)(CTR=2)且つ{(AR<<1)<0x 8000} 且つ{(AR<<2)<0x 8000}である。 (4)(CTR=3)且つ{(AR<<1)<0x 8000} 且つ{(AR<<2)<0x 8000} 且つ{(AR<<3)<0x 8000}である。 (5)(CTR=4)且つ{(AR<<1)<0x 8000} 且つ{(AR<<2)<0x 8000} 且つ{(AR<<3)<0x 8000} 且つ{(AR<<4)<0x 8000}である。 ・ ・ ・ (9)(CTR=8)且つ{(AR<<1)<0x 8000} 且つ{(AR<<2)<0x 8000} 且つ{(AR<<3)<0x 8000} 且つ{(AR<<3)<0x 8000} 且つ・・・ ・ ・ ・ 且つ{(AR<<7)<0x 8000} 且つ{(AR<<8)<0x 8000}である。
【0139】なお、以上列挙した条件にあって、CTR
は、前記ループカウンタ26に記憶される値を示す。A
Rは、前記オージェンドレジスタ22に記憶される値を
示す。又、“<<n ”は、“n ”のビット数分の左シフ
トを示す。例えば、“AR<<1”は、前記1ビットシ
フト器32a での1ビット分の左シフトを示す。“AR
<<2”は、前記2ビットシフト器32b による2ビッ
トの左シフトを示すものである。
【0140】続いて、ステップ154では、前記オージ
ェンドレジスタ22、前記符号コードレジスタ24及び
前記ループカウンタCTRの更新処理を行う。具体的に
は、前記オージェンドレジスタ22及び前記符号コード
レジスタ24において、前記ループカウンタ26の値分
のビット数だけシフトしたそれぞれの値を、それぞれの
レジスタに書き込み、この後に前記ループカウンタ26
の値を“0”に書き替える。このような該ステップ15
4の処理は、主として、前記選択信号発生部60Bと、
前記オージェンド値選択部80と、前記符号コード選択
部82と、前記カウント値選択部84とによって行われ
るものである。
【0141】例えば、前記ループカウンタ26の値が
“2”であれば、前記2ビットシフト器32b で得られ
た前記信号AS2により前記オージェンドレジスタ22
の値を更新し、前記2ビットシフト器34b が出力する
前記信号CS2により前記符号コードレジスタ24の値
を更新し、次に、前記ループカウンタ26の値を“0”
とするものである。
【0142】続くステップ158では、復号化する算術
符号を1バイト入力する。このとき、同時に、前記ルー
プカウンタ26の値を“8”に設定する(CTR←
8)。又、続くステップ162では、前記オージェンド
レジスタ22の1ビットの左シフト演算と、前記符号コ
ードレジスタ24の1ビットの左シフト演算を行う。
【0143】続いてステップ164では、前記オージェ
ンドレジスタ22の値が“0x 8000”より小さいか
否か判定する。該オージェンドレジスタ22の値が“0
x 8000”より小さい場合、前記ステップ144の前
方へ分岐する。一方、該オージェンドレジスタ22の値
が“0x 8000”以上であれば、この図30のフロー
チャートに示される処理を全て終了する。
【0144】一方、前記ステップ146において、前述
のように列挙したいずれの条件(1)〜(9)も成立し
ないと判定された場合、前記ステップ174において、
前記オージェンドレジスタ22と、前記符号コードレジ
スタ24と、前記ループカウンタ26の更新処理を行
う。具体的には、該ステップ174では、まず次式が成
立する最小値の“n ”を求める。
【0145】 (AR<<n )≧0x 8000 …(2)
【0146】又、このステップ174では、上記(2)
式が成立する最小値のn の値のビット数分だけ、前記オ
ージェンドレジスタ22の左シフト、及び前記符号コー
ドレジスタ24の左シフトを行う。又、前記ループカウ
ンタ26に記憶される値から、n を減算する。即ち、
(CTR−n )の値をCTRに書き込む。このような一
連の該ステップ174の処理終了後には、この図30の
フローチャートに示される処理を全て終了する。
【0147】以上説明したとおり、本第2実施例にあっ
ては、前記オージェンド値シフト演算部32Bによって
8種類のシフト量の左シフト演算を同時に行い、前記符
号コードシフト演算部34Bにて合計8種類のシフト量
の左シフト演算を同時に行い、前記ループカウント演算
部36Bにおいて8種類の減算を同時に行いながら、こ
のような並行実行された値を選択することで、算術符号
化における処理時間を短縮することができている。
【0148】例えば前記図33の従来の復号化処理にあ
っては、算術符号化された1バイトの符号を得るため
に、前記ステップ242、262、264、266の各
ステップを繰り返すループ処理等、2つのループ処理を
行わなければならない。比較して、本第2実施例にあっ
ては、前記図30のステップ144、146、154の
一連の処理を原則として1回のみ行うだけで1バイトの
符号を復号化することができ、1つのループ処理を行う
だけでよい。従って、このようにループ処理が削減され
た分、本第2実施例では、算術符号化にあって要する処
理時間を短縮することが可能である。
【0149】又、本第2実施例にあって、2ビット以上
の左シフトを行う前記2ビットシフト器32b 〜32h
、又、前記2ビットシフト器34b 〜34h について
は、1ビットの処理を必要回数繰り返すというものでは
なく、1回の演算で必要なビット数の左シフト演算を行
うものである。従って、左シフト演算を短時間に行うこ
とができる。又、2以上の減算を行う前記2減算器36
b 〜10減算器36h についても、デクリメント演算を
必要な減算数だけ繰り返すというものではなく、1回の
演算で必要な減算値の演算を行うものであり、演算時間
を短縮することが可能となっている。
【0150】
【発明の効果】以上説明したとおり、本発明によれば、
算術符号化装置あるいは算術符号復号化装置にあって、
その符号化あるいは復号化に要する処理時間を短縮する
ことができるという優れた効果を得ることができる。
【図面の簡単な説明】
【図1】本願の第1発明が適用された第1実施例の算術
符号化装置の構成を示すブロック図
【図2】前記第1実施例に用いられるオージェンドレジ
スタの回路図
【図3】前記第1実施例に用いられる符号コードレジス
タの回路図
【図4】前記第1実施例に用いられるループカウンタの
回路図
【図5】前記第1実施例に用いられるオージェンド値シ
フト演算部の構成を示すブロック図
【図6】前記第1実施例に用いられる符号コードシフト
演算部の構成を示すブロック図
【図7】前記第1実施例に用いられるループカウント演
算部の構成を示すブロック図
【図8】前記第1実施例に用いられるオージェンド値比
較部の論理回路図
【図9】前記第1実施例の前記オージェンド値比較部に
用いられるROMに記憶されるビットデータを示す線図
【図10】前記第1実施例に用いられる選択信号発生部
の論理回路図
【図11】前記第1実施例の前記選択信号発生部に用い
られるプライオリティエンコーダの真理値表の線図
【図12】前記第1実施例に用いられるオージェンド値
選択部の回路図
【図13】前記第1実施例に用いられる符号コード選択
部の回路図
【図14】前記第1実施例に用いられるカウント値選択
部の回路図
【図15】前記第1実施例における信号SF0〜SF3
に対するオージェンドレジスタ及び符号コードレジスタ
及びループカウンタの値の関係を示す線図
【図16】前記第1実施例における信号CT0〜CT
3、SF4〜SF7に対するオージェンドレジスタ及び
符号コードレジスタ及びループカウンタの値の関係を示
す線図
【図17】前記第1実施例におけるクロック信号を中心
としたタイムチャート
【図18】前記第1実施例における算術符号の符号化処
理を示すフローチャート
【図19】本願の第2発明が適用された第2実施例の算
術符号復号化装置の構成を示すブロック図
【図20】前記第2実施例に用いられるオージェンド値
シフト演算部の回路図
【図21】前記第2実施例に用いられる符号コードシフ
ト演算部の回路図
【図22】前記第2実施例に用いられるループカウント
演算部の回路図
【図23】前記第2実施例に用いられるオージェンド値
比較部の論理回路図
【図24】前記第2実施例の前記オージェンド値比較部
に用いられるROMに記憶されるビットデータを示す線
【図25】前記第2実施例に用いられる選択信号発生部
の論理回路図
【図26】前記第2実施例の前記選択信号発生部に用い
られるプライオリティエンコーダの真理値表を示す線図
【図27】前記第2実施例における信号SF0〜SF3
に対するオージェンドレジスタ及び符号コードレジスタ
及びループカウンタの値を示す線図
【図28】前記第2実施例における信号SF4〜SF7
に対するオージェンドレジスタ及び符号コードレジスタ
及びループカウンタの値の関係を示す線図
【図29】前記第2実施例におけるクロック信号を中心
としたタイムチャート
【図30】前記第2実施例における算術符号の復号化処
理を示すフローチャート
【図31】一般的な算術符号における確率数直線の一例
を示す線図
【図32】従来からの算術符号の符号化処理を示すフロ
ーチャート
【図33】従来からの算術符号の復号化処理を示すフロ
ーチャート
【符号の説明】
22…オージェンドレジスタ(AR) 24…符号コードレジスタ(CR) 26…ループカウンタ(CTR) 32A、32B…オージェンド値シフト演算部 32a 〜32k …ビットシフト器 34A、34B…符号コードシフト演算部 34a 〜34k …ビットシフト器 36A、36B…ループカウント演算部 36a 〜36j …減算器 50A、50B…オージェンド値比較部 52…比較器 54…OR論理ゲート 56A、56B…ROM 60A、60B…選択信号発生部 62A、62B…プライオリティエンコーダ 64…減算器 66、80a 、82a 、84a 、84b …マルチプレク
サ 22a 、24a 、26a 、68、70…D型ラットユニ
ット 74…D型ラッチ 76A、76B…AND論理ゲート 80…オージェンド値選択部 82…符号コード選択部 84…カウント値選択部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】出現確率がPの劣勢シンボルと出現確率が
    (1−P)の優勢シンボルとによる、符号化すべきシン
    ボル系列を、これら劣勢シンボル及び優勢シンボルの出
    現確率に応じて分割した確率数直線上にマッピングし、
    その位置に従って符号系列を得る算術符号化を行うべ
    く、符号化過程で、前記確率数直線上での符号の範囲を
    示すオージェンド値データを記憶するオージェンドレジ
    スタARを用いると共に、符号化過程で、前記確率数直
    線上での符号の位置に関する符号コード・データを記憶
    する符号コード・レジスタCRを用いた単純符号化処理
    を繰り返してループ処理を行う算術符号化装置におい
    て、 繰り返される複数の前記単純符号化処理それぞれに対応
    する、対となる前記オージェンド値及び前記符号コード
    を求めることを、並行して行う並行実行演算部と、 求められた複数の前記単純符号化処理それぞれの対とな
    る前記オージェンド値及び前記符号コードについて、適
    切な値の前記オージェンド値を選択すると共に、選択さ
    れたものに対となる前記符号コードも選択するレジスタ
    値選択部と、 これら選択された一対の前記オージェンド値及び前記符
    号コードにより、前記オージェンドレジスタAR及び前
    記符号コード・レジスタCRを更新するようにしたこと
    を特徴とする算術符号化装置。
  2. 【請求項2】請求項1において、前記出現確率P又は
    (1−P)が、自然数Qについてべき乗2-Qで表わさ
    れ、 前記並行実行演算部での複数ビットシフトするシフト演
    算が、1回の数値演算とされたことを特徴とする算術符
    号化装置。
  3. 【請求項3】出現確率がPの劣勢シンボルと出現確率が
    (1−P)の優勢シンボルとによる、符号化すべきシン
    ボル系列を、これら劣勢シンボル及び優勢シンボルの出
    現確率に応じて分割した確率数直線上にマッピングし、
    その位置に従って符号系列を得る算術符号の復号化を行
    うべく、復号化過程で、前記確率数直線上での符号の範
    囲を示すオージェンド値データを記憶するオージェンド
    レジスタARを用いると共に、復号化過程で、前記確率
    数直線上での符号の位置に関する符号コード・データを
    記憶する符号コード・レジスタCRを用いた単純復号化
    処理を繰り返してループ処理を行う算術符号復号化装置
    において、 繰り返される複数の前記単純復号化処理それぞれに対応
    する、対となる前記オージェンド値及び前記符号コード
    を求めることを、並行して行う並行実行演算部と、 求められた複数の前記単純復号化処理それぞれの対とな
    る前記オージェンド値及び前記符号コードについて、適
    切な値の前記オージェンド値を選択すると共に、選択さ
    れたものに対となる前記符号コードも選択するレジスタ
    値選択部と、 これら選択された一対の前記オージェンド値及び前記符
    号コードにより、前記オージェンドレジスタAR及び前
    記符号コード・レジスタCRを更新するようにしたこと
    を特徴とする算術符号復号化装置。
  4. 【請求項4】請求項1において、前記出現確率P又は
    (1−P)が、自然数Qについてべき乗2-Qで表わさ
    れ、 前記並行実行演算部での複数ビットシフトするシフト演
    算が、1回の数値演算とされたことを特徴とする算術符
    号復号化装置。
JP17651394A 1994-07-28 1994-07-28 算術符号化装置及び算術符号復号化装置 Pending JPH0846520A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17651394A JPH0846520A (ja) 1994-07-28 1994-07-28 算術符号化装置及び算術符号復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17651394A JPH0846520A (ja) 1994-07-28 1994-07-28 算術符号化装置及び算術符号復号化装置

Publications (1)

Publication Number Publication Date
JPH0846520A true JPH0846520A (ja) 1996-02-16

Family

ID=16014942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17651394A Pending JPH0846520A (ja) 1994-07-28 1994-07-28 算術符号化装置及び算術符号復号化装置

Country Status (1)

Country Link
JP (1) JPH0846520A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7365660B2 (en) 2005-11-08 2008-04-29 Samsung Electronics Co., Ltd. Method and device for decoding syntax element in CABAC decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7365660B2 (en) 2005-11-08 2008-04-29 Samsung Electronics Co., Ltd. Method and device for decoding syntax element in CABAC decoder

Similar Documents

Publication Publication Date Title
JP3017379B2 (ja) 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置及び遷移マシン生成方法
US5710562A (en) Method and apparatus for compressing arbitrary data
US5912636A (en) Apparatus and method for performing m-ary finite state machine entropy coding
US5045852A (en) Dynamic model selection during data compression
US4905297A (en) Arithmetic coding encoder and decoder system
US4633490A (en) Symmetrical optimized adaptive data compression/transfer/decompression system
JPH07193509A (ja) サーモメータ・バイナリ・エンコード方法
US7821430B2 (en) Arithmetic decoding apparatus
JPH07177039A (ja) ハフマン符号化復号化装置
JPH0916373A (ja) 可変長コードの符号化及び分割装置
US5594435A (en) Permutation-based data compression
US5617089A (en) Huffman code decoding circuit
US4799242A (en) Multi-mode dynamic code assignment for data compression
US6408102B1 (en) Encoding/decoding device
JP2001036410A (ja) 符号化方法
US5208834A (en) Lexicographical encoding and decoding of state-dependent codes
US7209593B2 (en) Apparatus, method, and programs for arithmetic encoding and decoding
CN114866091A (zh) 基于划分组参考数的差值编码压缩及解压缩方法
JPH0846520A (ja) 算術符号化装置及び算術符号復号化装置
Jou et al. A fast and efficient lossless data-compression method
JPH104551A (ja) 画像処理装置、及び方法、及びその方法を記憶した記憶媒体
JPH06121172A (ja) 画像符号化装置
JPH0669146B2 (ja) ラン長符号化データ復号装置
JPH11215008A (ja) 復号回路
GB2360915A (en) Run length compression encoding of selected bits of data words