JPS6367081A - デ−タ符号化方法 - Google Patents

デ−タ符号化方法

Info

Publication number
JPS6367081A
JPS6367081A JP61210626A JP21062686A JPS6367081A JP S6367081 A JPS6367081 A JP S6367081A JP 61210626 A JP61210626 A JP 61210626A JP 21062686 A JP21062686 A JP 21062686A JP S6367081 A JPS6367081 A JP S6367081A
Authority
JP
Japan
Prior art keywords
data
block
encoding
bits
bit allocation
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
JP61210626A
Other languages
English (en)
Inventor
Yasuo Kubota
靖夫 久保田
Yuji Kobayashi
雄二 小林
Tsutomu Wakabayashi
若林 勉
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP61210626A priority Critical patent/JPS6367081A/ja
Publication of JPS6367081A publication Critical patent/JPS6367081A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ圧縮のための符号化方法に係リ、特に
画像データの圧縮に好適なデータ符号化方法に関する。
〔従来の技術〕
例えば、カラー階調画像データなどでは、一般にそのデ
ータ量が膨大なものとなり、このため、その伝送や蓄積
などの処理に種々の問題が生じる。
そこで、このようなデータの処理には、従来がら種々の
データ圧縮のための符号化方法が用いられており、その
−例として、例えば、東京工業大学 工学部 画像情報
工学研究施設 中部 正之外2名により、印刷学会 昭
和61年春期研究発表会において発表された、“各種直
交変換を用いた印刷用画像のデータ圧縮 第一報”と題
する論文による、いわゆるブロック符号化方式がある。
第19図は、このようなブロック符号化による従来のデ
ータ符号化方法の一例を示したもので、この第19図に
おいて、(alは送信側を、そして(blは受信側をそ
れぞれ表わしており、以下、この第19図により従来例
について説明する。
まず、(81の送信側では、 1)伝送すべき画像データを複数の画素からなるブロッ
ク、たとえば、8×8画素、又は】6×16画素からな
るブロックに分割し、こうしてブロックに分けたデータ
X1を直交変換器1に入力する。
2) 直交変換器1はブロックごとのデータXIを直交
変換してデータX2とし、このデータX2を量子化器2
に入力する。
3)量子化器2は入力されたデータX2を線形に量子化
してデータX、を得、それを符号化器3に供給する。
4)符号化器3は、2次元配列からなるブロック内での
各データの位置ごとに、それぞれ独立に、予め所定値と
して設定しである符号化ビット数によりデータX3の符
号化を行なってデータX4を得、このデータX4を伝送
路に出力する。
次に、(b)の受信側では、 1) 伝送路を介して送られてきた符号化データX4を
復号器4に入力し、復号したデータX 、 J  を逆
量子化器5に入力する。
2)逆量子化器5はデータX3′ を線形に逆量子化し
、逆量子化されたデータX2′  を直交逆変換器6に
入力し、逆変換して再生画像データX、′ を得、それ
を外部に出力する。
ここで、符号化器3の出力である符号化データX4は、
元のブロック化データXIに比してデータ圧縮されてお
り、この結果、伝送時間が短くて済むなど、データ圧縮
による効果を得ることができる。
ところで、この従来技術では、上記したように、符号化
器3での符号化のためのビット数は、ブロック内でのデ
ータの位置に応じて一旦設定されたあとは固定されてい
た。
〔発明が解決しようとする問題点〕
上記したように、従来技術では、符号化のためのビット
数が、そのときどきでのデータの内容とは無関係に、ブ
ロック内での位置だけで一義的に決定されたあと固定さ
れている。
一方、例えばコサイン変換などの方法により直交変換さ
れた画像データについてみると、その2次元配列ブロッ
ク内でのデータの絶対値の分布状態は第20図のような
傾向を示す。なお、この第20図は、2次元配列ブロッ
クを、その位置(0゜0)と(n−1,n−1)を結ぶ
直線で切り、2次元配列ブロックを1次元で表現したも
のであり、実線、破線それに鎖線はそれぞれ異なった画
像データによる分布を表わす。
また、2次元配列ブロック内でのデータ量の分布状態を
そのまま2次元で表わしたのが第21図で、データに応
じてハツチングを付して示したデータ量の多い部分の形
状が変化していることが判る。なお、この第21図の(
a)〜(elは典形的な例を示したもので、これらの中
間の形状となる場合もあるのは言うまでもない。
このように、2次元配列ブロック内でのデータ量の分布
状態は、入力された画像データの内容によって大きく変
化しているのに対して、従来技44?では、このような
変化と無関係に、符号化に際してのビット数が固定化さ
れているため、特定のデ−タについてだけ所定のデータ
圧縮効果が得られるにすぎず、この結果、従来技術では
、符号化のためのビット数に過不足を生じ、符号化効率
が低下して充分なデータ圧縮が得られなかったり、符号
化に必要なビット数の不足によるデータ劣化などの問題
がある。
本発明の目的は、上記従来技術の問題に充分に対処でき
、データの劣化を充分に抑えながら常に効率的なデータ
圧縮が得られるようにしたデータ符号化方法を提供する
ことにある。
〔問題点を解決するための手段〕
上記問題点は、本発明によれば、2次元配列データブロ
ックを所定の形状の複数の単位ブロックに分割し、これ
らの単位ブロックごとに、その中に位置するデータに対
する符号化のためのビット数が、その都度、独立して設
定されてゆくようにして解決される。
〔作 用〕
単位ブロックごとに、その中に含まれているデータにつ
いて、常に最適な符号化ビット数のもとでの符号化が得
られ、符号化ビット数に過不足を生じる虞れがなくなる
〔実施例〕
以下、本発明によるデータ符号化方法について、図示の
実施例により詳細に説明する。
第1図及び第2図は本発明の一実施例で、第1図はデー
タ圧縮部(送信側)を、そして第2図はデータ伸長部(
受信側)をそれぞれ示したものである。
この実施例は、イメージスキャナなどの画像データ源か
ら供給されてくる画像データを、ダブルバッファによっ
て所定の大きさのブロックにまとめ、それを一方のダブ
ルバッファから他方のダブルバッファに順次転送させる
ようにし、この転送時にそれぞれ所定のデータ処理やデ
ータ操作が実行されてゆくように構成したもので、まず
、第1図のデータ圧縮部について説明すると、外部から
入力されてくる画像データはダブルバッファ10の一方
のバッファ10aと他方のバッファ10bに交互に、1
6X16画素からなる2次元配列のブロック毎に書き込
まれ、以後、このブロック毎に交互に、各バッファ10
a、10bから読み出されてゆく。このとき、各バッフ
ァ10a、10bに書き込まれるデータa−1は第3図
に示すように、16X16画素を1ブロツクとし、各画
素が8ビツトからなるデータとなる。
ダブルバッファ10に格納された画像データa−1は、
次にダブルバッファ12に1ブロツク毎に区切って転送
されるが、このときコサイン変換器11によってコサイ
ン変換が施こされた上でダブルバッファ12の各バッフ
ァ12a、12bに交互に、順次格納されてゆく。
コサイン変換器11は、画像情報を周波数成分として表
わすことにより、配列内での低次の項に情報成分を集中
させ、これにより効率的な符号化が得られるようにする
ためのもので、ブロック符号化によるデータ圧縮の中心
となるものであり、画像データa−1をX+(i、j)
で、そしてコサイン変換後の画像データ、すなわち、変
換データa−2をXt(ul  V)でそれぞれ表わし
たとき、コサイン変換は次のようになる。
ここで、Mニブロック配列の行数−列数1 + J +
 u + v:データX1のブロック配列内での座標値
、従って、 =0.1.2・・・・・・(M−1) また、C(u)、  CM : −(u 、  v −
0): 1  (u、  v〜0) なお、この実施例では、ブロック符−号化のための直交
変換としてコサイン変換を用いているが、本発明では、
コサイン変換に限らず、フーリエ変換、アダマール変換
などの直交変換を用いて実施してもよいことは言うまで
もない。
第4図に、ダブルバッファ12のいずれかのバッファ1
2a又は12bに書き込まれたコサイン変換データa−
2の一例を示す。
こうしてダブルバッファ12のいずれかのバッファ12
a又は12bに対する変換データa−2の書き込みが終
了するごとに、今度はその読み出しが行なわれるが、こ
の実施例では、このときでの変換データa−2のバッフ
ァ12a又は12bからの読み出しの順序により、1ブ
ロック分のデータ内での複数の所定の形状の単位ブロッ
クへの区分が行なわれる。すなわち、本発明では、2次
元配列された1ブロック分のデータを、さらにその配列
の中で複数の所定の形状の単位ブロックに分割し、この
単位ブロックごとに独立して符号化のためのビット数を
割り当てるようにした点を特徴としたものであるが、こ
の実施例では、この単位ブロックへのデータの区分をバ
ッファ12a又は12bからの読み出しのi[序で行な
うようになっているのである。
第5図はこの実施例における単位ブロックの区分状態を
示したもので、1ブロック分の配列の中での変換データ
の次数の低い部分から高い部分に向ってほぼ対称的に、
かつ順次、その大きさが大きくなってゆくようにして1
1の単位ブロックに分割したものである。なお、以下、
この単位ブロックを小ブロックという。
以上のような、小ブロツク分割のためのダブルバッファ
12からの変換データa−2の読み出しを制御するのが
読出しアドレス制御器13であり、そこで、このアドレ
ス制御器13はダブルバッファ12に対して第6図に示
す順序で、各バッファ12a又は12bからの変換デー
タa−2の読み出しが行なわれるように、各ブロックご
との続出アドレスを順次発生する。
従って、第5図と第6図とを比較すれば明らかなように
、ダブルバッファ12から各ブロック毎の変換データa
−2の読み出しが開始して第1番目から第256番目ま
での1ブロック分のデータの読み出しが終了までの間で
、まず第1番目に読み出されるデータが小ブロック■の
データであり、以下、第2番目から第6番目までが小ブ
ロック■のデータ、第7番目から第16番目までが小ブ
ロック■のデータ、・・・・・・・・・、第193番目
から第256番目までが小ブロック■のデータというよ
うになり、結局、第7図に示すように、データの順番に
より小ブロックに対する区分が定まることになり、以後
、このデータの順番によって小ブロツク毎の異なった処
理を実行することができるようになるのである。
なお、この続出アドレス制御器13により、第6図に示
す順序でのデータの読み出しを行なわせるためには、続
出アドレス制御器13に、例えばカウント機能と、テー
ブルを設け、画像データa−1の入力に同期して供給さ
れるクロック信号のカウント結果によりテーブル検索を
行ない、所定のアドレスデータを遂次発生させてゆくよ
うにすればよい。このとき、第5図及び第6図に示した
小ブロックの分割態様と小ブロツク内でのデータの続出
順序とは一実施例にすぎず、従って、これら以外のやり
方でも本発明の実施が可能なことは言うまでもない。例
えば、上記実施例では、第5図から明らかなように、各
小ブロックの大きさくその中に含まれるデータ数の大小
)が、2次元配列の1ブロック分のデータ内で高次のデ
ータを含むもの程、大きくなってゆくように構成してい
るが、これに代えて、各小ブロックの大きさを同じに揃
えてもよく、分割数も11に限らないことは言うまでも
ない。
以上のようにして、ダブルバッファ12から順次、読み
出された変換データa−2は、まず重み付は器14の乗
算器14aに入力され、重み係数発生器14bから与え
られる重み係数a−3による重み付は処理を受ける。
この重み付は器14での処理は、直交変換したデータの
それぞれごとに、その重要性に応じた重み付けを行ない
、必要とする情報はなるべく損なわれないようにしなが
ら、伝送すべき情II 量の削減が充分に得られるよう
にするためのもので、経験的に決めるが具体的には、次
式で示すように、2次元配列ブロック内の個々のデータ
の配列内での位置によって決まる重み係数a−3を重み
係数発生器14. bから発生させ、この係数a−3を
乗算器14aに供給し、ダブルバッファ12から順次読
み出されてくる変換データa−2に乗算することにより
遂行される。
a  3 (i、 j) =1/ 1+ (r/s)’
ここで、r−/i”+j” なお、k、sは定数で、これらの値によってデータの圧
縮率を変化させることができるもので、典形列としては
、k=4、s=3を挙げることができる。この重み係数
の例は、重要な画像情報である2次元配列ブロック内の
低次の部分に対応した部分では、はぼ“1”に近い係数
であり、情報を保存し、削減可能な2次元配列ブロック
内データの多い高次の部分に対応する係数は高次になる
に従って“O”に近くなり、情報を削減する効果を持た
せたものである。
この重み係数発生器14bによる重み係数a−3の発生
は、1ブロツク分のデータに対応して、16X16の2
次元配列データからなるテーブルを用い、このテーブル
を続出アドレス制御器13から与えられるアドレスデー
タにより検索して行なうようになっている。
第8図に、k=4.s=8としたときのテーブルを示す
。従って、この第8図のテーブルの各数値が1ブロツク
の2次元配列内での対応する変換データa−2の個々に
対する重み係数a  3となる。
こうして重み付けされたデータは次に整数化器15に入
力され、ここで数値の小数部を削除するという単純な処
理で整数化されてデータa−4となる。
この整数化器15を設けている理由は、必要な情報の伝
達にあまり寄与しない部分を切捨てることにより、伝送
に必要なビット数の削減が、より多く得られるようにす
るためであり、第9図に、このデータa−4の一例を示
す。この第9図は第4図の変換データa−’lに対して
重み付は処理と整数化処理を施こしたもので、図中でア
ンダーパーを付したゼロ(立)が、重み付けと整数化に
よってゼロにされてしまったデータを表わしている。
このデータa−4は、次に再量子化器16に人力され、
小ブロックごとに異ったステップによる量子化を再び行
なう。この実施例における再量子化器16による具体的
な処理は次のようになっている。すなわち、2次元配列
内での低次のデータを含む小ブロック■、■、■のデー
タに対してはステップ1で目子化を行ない、残りの小ブ
ロック■〜■のデータに対してはステップ2で量子化を
行なうのである。この結果、精度の必要な低次のデータ
についての劣化を充分に抑えながら圧縮可能な高次のデ
ータについては充分なデータ圧縮を得ることができる。
なお、この実施例における再量子化器16の処理につい
て、さらに具体的にいえば、この再量子化器16では読
出アドレス制御器13からのアドレスデータにより、入
力されてくるデータが小ブロックのいずれに属するもの
かを識別し、まず、そのデータが小ブロック■〜■のい
ずれかに属するものであったときには、このデータをそ
のまま出力に送り出してデータa−5とする。つまり、
このときには、そのデータが整数化器15を介して入力
されていることにより、ステップ1で量子化したのと同
じ結果になるのである。次に、入力されてきたデータが
小ブロック■〜0のいずれかに属するものであったとき
には、このデータの数値によりテーブル検索を行ない、
このテーブルから読み出されてくるデータを出力する。
このテーブルは、その検索入力の数値を2で除算し、そ
の結果を4捨5人した形で出力に与えるように作られて
おり、この結果、小ブロック■〜0のデータに対しては
ステップ2で量子化が行なわれたことになるのである。
第10図にこの量子化データa−5の一例を示す。この
第10図の量子化データa−5は第9図のデータを量子
化したもので、図中、括弧内の数字は、その小ブロツク
内での処理順序を表わしたものである。
こうして量子化したデータa−5は次の符号化に備えて
、一方ではそのままダブルバッファ17に供給されるが
、これと並行して最大箱体値検出器18にも入力され、
ここで各小ブロックごとに、その中てのデータの最大絶
対値の検出を行ない、次に、この検出結果をビット配分
器19に供給し、各小ブロックごとに、その中でのデー
タの符号化に使用するビット数を決定する(このビット
数の決定をビット配分という)。
第11図はビット配分の一実施例を示したもので、この
図から明らかなように、変換次数が低引、従って情報の
重要な部分を担っているデータが主として含まれる確率
の高い、小ブロック■、■。
■のデータに対しては、その中に現われるデータの最大
絶対値とは無関係に、充分に多いビット配分(■には9
ビツト、■には8ビツト、■には7ビツト)を与え、こ
れにより画情報の劣化が充分に抑えられるようにすると
共に、高次のデータを含む■〜■の小ブロックのデータ
に対しては、その小ブロツク内に現われるデータの最大
絶対値に応じて、その都度、適切なビット配分が与えら
れ、これにより、常に高い圧縮率と低いデータ損失との
両立を確保できるようにしている。
なお、この第11図のビット配分は一実施例にすぎず、
これ以外のビット数の割り当てや組合わせによって実施
してもよいことは言うまでもなく、このときに設定すべ
きビット数に対する考え方としては、そのビット数がデ
ータの符号化に際して選択される可能性が高く、かつ、
選択の対称となるビット数のうちの最大ビット数を用い
ることにより、その小ブロツク内のデータの符号化が、
はぼ完全に行なえるようなものとすればよい。
こうしてビット配分器19で決定され出力されたビット
配分データa−5は、まず一方では、ダブルバッファ1
7に格納されている変換データa−5の符号化に備えて
ダブルバッファ20に供給されると共に、このビット配
分データa−5それ自身をも受信側に伝送するためにビ
ット配分符号化器21に入され、ここでテーブル検索に
よる符号化を受けてビット配分符号a−7に変換される
なお、ここで、ビット配分データa−5を受信側に伝送
するのは、受信側での変換データの復号化のためであり
、また、このときビット配分符号化器21でビット配分
符号a−7に変換しているのは、伝送すべきデータ量が
少くて済むようにするためである。しかして、このとき
、小ブロック■。
■、■のデータに対するビット配分は、上記したように
、それぞれ(■=9)、(■−8)、 (■−7)と固
定されているため、これらの小ブロック■〜■について
のビット配分データの受信側への伝送は不要であり、従
って、この実施例では、これら小ブロック■〜■のビッ
ト配分データの伝送は行なわず、勿論、ビット配分符号
化器21でも符号化は行なわないように構成されている
第12図にビット配分符号化器21における符号化用の
テーブルの一実施例を示す。
この第12図から明らかなように、ビット配分符号とし
ては2ビツトを用いており、上記したように、小ブロッ
ク■〜■については符号化しない。
第13図は、−例として、第10図に示した変換データ
a−5の場合におけるビット配分a−5とビット配分符
号a−7を示したもので、この図から明らかなように、
ビット配分符号化器21を用い、第11図に示すテーブ
ルを用いて符号化しているため、この実施例によれば、
ビット配分の伝送を16ビツト(a−7の合計)で行な
うことができる。
一方、ダブルバッファ17に格納されている1ブロック
分の量子化データa−5に対して、そのブロックに対応
したビット配分a−6がダブルバッファ20に用意され
たことにより、ここでデータ符号化器22による量子化
データa−5の、各小ブロックごとに選択されているビ
ット数(ビット配分a−6)による符号化が開始し、ダ
ブルバッファ17のバッファ17a又は1.7 bのい
ずれかから順次(1データづつ)読出されてくる量子化
データを、ダブルバッファ20のバッファ20a又は2
0bのいずれかから各小ブロックごとに定められたビッ
ト配分によって決まるビット数で符号化した符号化デー
タa−8が出力されてゆく。
このデータ符号化器22による符号化は、ビット配分a
−6で与えられるビット数で、量子化データa−5を2
の補数として表現する方法によって行なわれる。ただし
、このとき、′−0″符号については、そのときのビッ
ト数で表現可能な2の補数のうちで最小値を示すデータ
(例えば、このときのビット配分が3だったとすれば、
このときの最小の数は−4であり、これは2進数で”1
00”となる)とする。
ところで、このダブルバッファ17に格納した量子化デ
ータa−5については、それを全部、そのまま符号化器
22で符号化し、符号化データa−8として伝送するよ
うにしてもよいが、この実施例では、さらに圧縮率を上
げるため、量子化データa−5中の“0”の伝送につい
ては、ランレングス符号化法を併用するようになってい
る。すなわち、例えば第10図を見ると明らかなように
、1ブロック分の量子化データa−5の中で、特に高次
のデータからなる小ブロックにおいては、データが“0
”になっている場合が多く、従って、伝送のために順次
読み出していったとき、小ブロツク内で連続してデータ
“0”が現われる場合がかなり多くなっており、このた
め、このデータ“0”の伝送にランレングス符号化法を
適用すれば、さらに高いデータ圧縮が得られるからであ
る。
このため、ダブルバッファ17から量子化デーりa−5
を順次読み出してデータ符号化器22に入力してゆ(と
き、これと並行して、この量子化データa−5を零検出
器23にも供給し、データ“O”が検出されるごとに、
その連続数を零計数器24によってカウントさせ、この
結果をフィル符号化器25によってランレングス符号化
し、その結果も符号化データa−8として出力させるよ
うにしている。
ところで、この実施例では、上記のように、データ符号
化器22による符号化に、データを2の補数として表現
する方法を用いており、この結果、例えば3ビツトで表
現できる数は−4〜+3であり、負のデータだけ常に正
のデータより一種類多くなってしまい、本実施例のよう
に小ブロツク内の最大絶対値を用いて、ビット配分を決
定した場合、例えば3ビツトで符号化する際の入力され
るa−5のデータの範囲は−3〜+3となり、“−4”
すなわちビット配分で表現できる数の最小(直は、使用
されず、ムダとなる。そこで、この数を”−o ”符号
とすることでデータ″0″のうンレングス符号化に際し
て、以下のようにしている。
i データ“0”が単独に存在していたときには、符号
化データとして“十〇″を出力する。
11  データ“0″が2以上連続して存在していたと
きには、“−〇″に引き続いてOの連続数を符号化した
データを出力する。
従って、この実施例において第10図の量子化データに
よる符号化データa−8は第14図のようになり、これ
が多重化器26に供給されることになる。
なお、このときのデータ“0″の連続数の符号化には、
フィル符号化器25を用いているが、この符号化にはフ
ィル符号化に限らず、ハフマン符号化などの他の可変長
符号化を用いてもよいことは言うまでもない。
また、このとき、各小ブロツク内でのデータの読み出し
順序は、データ″0”の連続数がなるべく多(得られる
ように、各小ブロツク内で低次の項のデータから順次高
い次数のものに移ってゆくように選ぶのが望ましく、こ
のため、上記実施例では第6図に示すような順序を採用
しているのである。
さらに、このときのデータ“0”が連続する範囲は、1
つの小ブロツク内に限定して扱う必要はなく、複数の小
ブロツク間にまたがって連続する場合について適用して
もよい。そして、成る小ブロツク内のデータが全て0と
なっていたときには、この小ブロックに関するビット配
分情報は、その小ブロック内データの復号には必要ない
ので、このときには符号化を行なわないようにする方式
としてもよい。
他方、このデータ“0”の符号化としては、例えば、1
個の独立した0に対しては“千〇”の符号を、そして予
め定めておいたn個の連続したOに対しては“−〇”の
符号をそれぞれ割り当てる方法も利用可能である。
さらに、小ブロツク毎の符号化のためのビ′ント数、つ
まりビット配分に0を含ませておき、その小ブロツク内
のデータが全て“0”になっていたときには、このビッ
ト配分を0にすることにより小ブロツク内のデータを一
括して符号化する方法などの利用も可能である。
こうして、符号化データa−3が多重化器26に供給さ
れると、このデータa−3はビット配分符号化器21か
らのビット配分符号a−7と第15図に示すように時分
割的に多重化されて伝送データa−9となり、この伝送
データa−9がバッファ27に書き込まれることにより
伝送路を介して受信側に伝送される。なお、このバッフ
ァ27はいわゆるファーストイン・ファーストアウト(
FIF○)バッファである。また、第15図に示しであ
る伝送データa−9のビット数のうち、ビット配分符号
a−7のビット数は常に16ビツトと一定であるが、そ
の後に続く符号化データa−8のビット数は各ブロック
毎のデータの内容によって変化するものであり、図示の
300ビツトという数字は第10図に示したデータの場
合のものであることは言うまでもない。
次に、第2図のデータ伸長部について説明する。
伝送路を介してFIFOバッファ3oに書き込まれた伝
送データa−9は、このバッファ3oがら順次読み出さ
れ、データb−1として切換器31に1ビツトづつ入力
されてゆく。
切換器31は入力されてくるデータのビット数をカウン
トし、リセット人力Rにリセット信号が入力されてから
カウント数が16に達するまでの期間中だけ、入力デー
タb−1を出力データb−2として出力させ、それ以外
の期間は、入力データb−1を出力データb−3として
出力する働きをする。
第15図で説明したように、送信側からの伝送データa
−9(b−1)は、1ブロック分のデータの最初の部分
に16ビツトのビット配分符号a−7をもっている。従
って、1ブロック分のデータの受信が終了するごとに切
換器31にリセット信号を入力してやれば、この切換器
31の出力データb−2としてはビット配分符号a−7
だけが分離して得られることになる。なお、このときの
リセット信号の発生については後述する。
こうして出力データb−2として分離されたビット配分
符号a−7(以下、これをb−2という)は、ビット配
分復号器32に入力され、ここでテーブル検索によりビ
ット配分b−4(=a−6)となり、バッファ33に格
納される。なお、このビット配分復号器32で使用され
るテーブルは第12図で説明した符号化テーブルの逆に
なっている。
次に、切換器31がリセットされてから入力されている
データb−1が17ビツト以降になると、今度は出力デ
ータb−3に切換えられ、これによりデータ復号器34
、零検出器35、それにワイル符号復号器36に、入力
データb−1のうちのビット配分符号b−2を除いた符
号化データa−8(以下、これをb−3という)が入力
されてゆくようになる。
この結果、まず、データ復号器34では、入力されてく
る符号化データb−3のビット順序により、そのデータ
が所属する小ブロツク番号を知り、これによりバッファ
33から与えられているピット配分b−4の選択を行な
い、選択したビット配分(ビット数)に基いて復号を行
なってゆく。このとき、第11図で説明したように、小
ブロック■、■、■に属するデータの復号に使用するビ
ット数については、それらが固定されており、かつ、ビ
ット配分として伝送されてこないようになっていること
から、バッファ33から取り込んで選択するのではなく
、予めテーブルとして与えられているものを使用するよ
うになっている。
また、これと並行して、零検出器35は符号化データb
−3の中での符号“−〇”の存在を調べ、符号“−〇”
が現われるごとにワイル符号復号器36を動作させ、デ
ータ“O”の連続数の復号を行なわせ、その結果を零デ
ータ出力器37に与え、この零データ出力器37により
データ“0゛を出力させる。
従って、この結果、データ復号器34と零データ出力器
37の出力を合成したデータb 5として、第10図で
説明した量子化データa−5と同じデータが得られるこ
とになり、この量子化データb−5が順次、ダブルバッ
ファ39の一方のバッファ39a又は他方のバッファ3
9bに、1ブロツクごとに交互に格納されてゆくことに
なる。
ここで、書込アドレス制御器38について説明する。
この書込アドレス制御器38は、データ復号器34と零
データ出力器37の出力データb−5をクロック信号と
して動作し、そのとき現われているデータが小ブロック
のいずれに属するものかを識別し、バッファ33、ダブ
ルバッファ39.41に対して小ブロツク番号や書込ア
ドレスなどのデータを供給すると共に、1ブロツク分の
データの終了を検出して切換器31にリセット信号を供
給する働きをする。
なお、小ブロックの識別や1ブロツク分のデータの終了
識別は、第6図及び第7図で説明したように、データの
順番や数により容易に行なうことができる。
以上のようにして、符号化データb−3の復号化が開始
し、ダブルバッファ39に1ブロツク分の量子化データ
b−5の格納が終るごとに、以後は、このダブルバッフ
ァ39を含めてダブルバッファ41.43の3個のダブ
ルバッファの間で順次、1ブロツクごとのデータの転送
を行ない、送信側で施こされているデータ処理に対応し
て逆量子化と逆コサイン変化を行なうことにより画像デ
ータを得るようになっている。
まず、ダブルバッファ39のバッファ39a。
39bの一方からデータを読み出し、これをダブルバッ
ファ41のバッファ41aと41bのいずれかに書き込
みを行ない、このとき逆量子化器40を介してデータの
転送を行なうことにより逆量子化を行なう。
この逆量子化は、送信側での再量子化器16による処理
に対応したもので、このため逆量子化器40では、その
ときのデータが小ブロックのいずれのデータであるかを
書込アドレス制御器38からの信号で識別し、そのデー
タが小ブロック■。
■、■のいずれかに属するものであっときには、そのデ
ータはそのまま通過させ、小ブロック■〜■のいずれか
のデータであったときには、その値を2倍にして出力さ
せるように動作する。
従って、この逆量子化器40の出力データ(逆量子化デ
ータ)b−6の一例を示すと第16図のようになる。な
お、この第16図のデータは第9図のデータに対応した
もので、これらの図を比較してみれば明らかなように、
このような処理で不可避的に現われる量子化誤差のため
、両者は必ずしも一致せず、第16図でアンダーライン
を付したデータが量子化誤差を生じたものである。
次に、ダブルバッファ41と43の間では、逆コサイン
変換が施こされ、逆量子化データb−6から画像データ
b−7が再生される。すなわち、ダブルバッファ41の
各バッファ41aと41bから1ブロツク分づつ交互に
データの読み出しを行ない、それをダブルバッファ43
の各バッファ43.43bに交互に書き込み、その間で
データを逆コサイン変換器42で処理して逆コサイン変
換を行なうのである。
逆コサイン変換器42による処理内容は、デーりb−6
をXt’ (i 、J) 、データb−7をX、’(u
、v)としたとき、以下のようになっている。
16X16X8ビット−2048ビツトの画像データの
伝送が、その画像データの内容にもよるが、例えば第1
5図に示すように、僅が314ビツトのデータに圧縮で
きることになる。
ここで、以上の実施例によって得られる効果について説
明する。
データの伝送を効率良く行なうためには、第17図(a
lに示すように、直交変換後の2次元配列内の各データ
ごとに、各々符号化する際のピッ1数を決定し、この符
号化する際のビット配分と配列内データの2つの符号を
使って、配列内データの1つを符号化すればよいが、こ
れで4′、I全データにビット配分を表す符号を付加し
なければならず、効率的な符号化はできない。
しかしながら、上記実施例によれば、2次元配列内のデ
ータを複数の小ブロックに分割し、各小ブロツク内のデ
ータについては全て同じビット数で符号化するようにし
ているので、第17図(b)に示すように、個々の配列
内データのそれぞれについては必ずしも符号化ビット数
が適切なものとはならないが、ビット配分情報の符号化
に必要なビット数の伝送が小ブロツク単位に1つで済む
ため、全体としては効率的なデータ伝送を得ることがで
きる。これを第17図の例で比較すると、同図(a)で
は全ビット数が79ビツトになるが、同図(b)の本発
明の実施例ではビット数は全部で68ビツトで済み、効
率的であることが判る。
次に、上記実施例では、各小ブロツク内でのデータの最
大値に応じて、その小ブロック内データの符号化に使用
するビット数(ビット配分)を決めるようになっている
従って、この実施例によれば、常に適切なピット数によ
る符号化が行なわれ、符号化ビット数の不足による再生
画像の劣化の虞れをな(すことができる。又、余分なビ
ット配分を行うこともなくなる。
又、2次元配列ブロック内データの符号化方法として、
これらのデータの発生頻度分布にもとづいてあらかじめ
設定された可変長符号を用いる方法も考えられるが、こ
の2次元配列内データの発生頻度は、この配列内の位置
により大きく変化するため、この方法では2次元配列内
の各位置ごとにデータの発生頻度分布を求め、各々可変
長符号を設定しなければ圧縮効率は向上できなく、又、
各位置ごとに可変長符号を設定した場合には、装置が複
雑になることはいうまでもない。
さらに本実施例のように2次元配列ブロック内データを
、小ブロックに分割しビット配分を行なう方法と連続す
る“0”データをランレングス符号化法を用いて符号化
する方法を併用することで、ビット配分を決定する際の
選択可能なビット数(例えば、0.2,4.6ビツト)
の中から“0ビット”を除いても効率的に“0”データ
を符号化できるためにビット配分“0ビツト”に対応し
たピッi・配分符号に他のビット数を割り当てることが
でき、ビット配分をより細かく設定できる(例えば、2
,3,4.6)。これにより、例えばビット配分として
3ビツト必要とする小ブロックがあった場合、′0”デ
ータのランレングス符号化法を併用しなければ、ビット
配分に4ビツトを選択しなければならなく、ビット配分
にムダが出る。ところが本実施例では、3ビツトを選択
することができる。
このように、小ブロックにビット配分を行なうだけの符
号化法よりも、本実施例のようにさらに“0”データの
ランレングス符号化法も併用した方法の方が、圧縮効率
が向上する。
ところで、第18図は、直交変換によって得られた2次
元配列内データの符号化に必要となる平均的なビット数
を表わす曲線と各小ブロックの分割方法を表す長方形と
を示したもので、2次元配列の(1,1)と(n、n)
点を結ぶ直線で切つた断面を表わしたものである。特に
、この長方形の面積は、その小ブロツク内の全てのデー
タを符号化する為に必要となる情報量を表わす。
そして、この第18図においては、(a)は小ブロック
の大きさを全て等しい大きさに区分した場合を示し、同
図(alは上記実施例において、第5図で説明したよう
に、データの次数に応じて高次のもの程、小ブロックを
大きくした場合のものである。
これら第18図(al、 (blにおいて、ハツチング
を施こして示した部分が無駄なビット数であり、従って
、これらの図から明らかなように、本発明の実施例によ
れば、符号化用のビットの利用率が高く、効率的なデー
タ圧縮を得ることができる。
次に、小ブロックの符号化ビット数は、小ブロックの2
次元配列内の位置により、はぼ一定している為、使用さ
れる確立が非常に低い符号化ビット数にも符号を割り当
てることは符号化ビット数を符号化する時のビット数が
余分に必要となり、効率的でない。しかるに、上記実施
例では、第11図及び第12図で説明したように、各小
ブロックごとのビット配分符号として、それぞれの対応
する小ブロツク内で使用される頻度の高いものに限定し
て符号が割り当てである。つまり、例えば第18図(b
lで、最高次の小ブロックでのビット符号化には(2,
3,4,5)を用意し、その次に高次の小ブロックのビ
ット符号化には(3,4,5゜7)を割り当てるという
ようになっているのである。
゛  そして、この結果、上記実施例によれば、上記の
場合、各小ブロックのビット配分符号が2ビツトで済む
なお、上記の方法を用いなければ、3ビツト必要であり
、小ブロック1つに付き、1ビツトむだにすることにな
る。
次に、例えば、絶対値が3以下の全ての整数に符号を割
り当てる場合、−3,−2,−1,0゜+1.+2.+
3の7種類の符号が必要となり、2進数で表現した場合
、3ビツト必要とする。ところが、3ビツトで表現でき
る符号は8種類あり、1種類の符号がむだになる。これ
は、絶対値が1以下の整数や7以下の整数の場合でも同
様である。
そこで、上記実施例で付随的に述べたように零符号には
“±0”の2種類の符号があると考え、“−〇″符号上
記のあまった符号を割り当て、“−〇″符号は“0”デ
ータが例えば2個連続して存在しているという意味を持
たせるようにしており、この結果、“0″が連続する場
合には、約1/2のビット数で符号化が可能となる。
ここで、本発明のように、画像を複数のブロックに分割
した後、このブロックごとに直交変換し、量子化、符号
化する方法を採っていると、量子化による誤差が、直交
変換後の2次元配列の低次の部分に発生した場合、ブロ
ックの境界が目立という画像劣化が発生する。
例えば、配列内の最低次のデータに量子化誤差が発生し
た場合、これは、再生画像のそのブロックの全てのデー
タに一様に一定値を加算、又は減算することと、同じ結
果となる。そして、この様な画像劣化に対して人間の目
は敏感である。これに対して、高次のデータに量子化誤
差が発生した場合には、再生画像のブロック内の全体に
細かな凹凸を加えたのと同じ結果となる。しかして、こ
の様な画像劣化に対しては、人間の目は鈍感である。
そこで、上記実施例では、データの量子化に際して、そ
の量子化のレベルを小ブロツク単位で変え、低次のデー
タでは量子化レベルを小さく、そして高次のデータでは
大きくしており、この結果データ圧縮効率の低下を抑え
ながら、充分に画像劣化をなくすことができる。
〔発明の効果〕
以上説明したように、本発明によれば、データブロック
がさらに複数の単位ブロックに分割され、これら単位ブ
ロックごとに符号化ビット数の制御が行なわれるように
したから、従来技術の欠点を除き、符号化ビットの効率
的な利用が容易に得られ、データの圧縮率を充分に向上
させることができる。
【図面の簡単な説明】
第1図は本発明によるデータ符号化方法を適用したデー
タ圧縮部の一実施例を示すブロック図、第2図は同じ(
データ伸張部の一実施例を示すブロック図、第3図はデ
ータブロックの説明図、第4図はコサイン変換データの
一例を示す説明図、第5図は本発明における単位ブロッ
ク分割の一実施例を示す説明図、第6図は単位ブロック
内でのデータ読出順序の一実施例を示す説明図、第7図
は単位ブロックとデータとの対応の一実施例を示す説明
図、第8図は本発明における重み係数の一実施例を示す
説明図、第9図は本発明の一実施例における重み付はデ
ータの一例を示す説明図、第10図は同じく量子化デー
タの一例を示す説明図、第11図は本発明におけるビッ
ト配分の一実施例を示す説明図、第12図は同じくビッ
ト配分符号の一実施例を示す説明図、第13図は同じく
データ符号化の一実施例を示す説明図、第14図は符号
化データの一例を示す説明図、第15図は伝送符号の一
例を示す説明図、第16図は本発明の一実施例における
逆量子化データの一例を示す説明図、第17図は本発明
によるビット減少効果の説明図、第18図は同じくビッ
トの利用効果の説明図、第19図はブロック符号化方式
による従来例を示すブロック図、第20図はブロック符
号化方式におけるデータ分布の説明図、第21図は同じ
くデータ分布を2次元状態で示した説明図である。 1.12,17.20・・・ダブルバッファ、11・・
コサイン変換器、13・・・続出アドレス制御器、14
・・・重み付は器、15・・・整数化器、16・・・再
量子化器、18・・・最大絶対値算出器、19・・・ビ
ット配分器、21・・・ビット配分符号化器、22・・
・データ符号化器、23・・・零検出器、24・・・零
計数器、25・・・ワイル符号化器、26・・・多重化
器、27.30・・・バッファ、31・・・切換器、3
2・・・ビット配分復号器、33・・・バッファ、34
・・・データ復号器、35・・・零検出器、36・・・
ワイル符号復号器、37・・・零データ出力器、38・
・・書込アドレス制御器、39.41.43・・・ダブ
ルバッファ、40・・・逆量子化器、42・・・逆コサ
イン変換器。 第5図 第6図 第7図 第1/図 第12図 第17図 (a) 第17図 (b) 第18図 助とクリ内位置 第19図 (a) (b) 第20図 第21図 (a)                     (
b)                   (C)l
。 (d)             (e)手続補正帯(
帥) 昭和61年10月λβ日

Claims (5)

    【特許請求の範囲】
  1. (1)画像データを所定の画素数ごとにブロック化し、
    これらブロック化した画像データごとに直交変換して得
    た2次元配列データを用い、ブロック符号化によりデー
    タ圧縮を行なうようにしたデータ符号化方法において、
    上記直交変換により得たブロックごとの2次元配列デー
    タを複数の単位ブロックに分割する手段を設け、上記ブ
    ロック符号化のためのビット数が、これら複数の単位ブ
    ロック毎に独立に制御されるように構成したことを特徴
    とするデータ符号化方法。
  2. (2)特許請求の範囲第1項において、上記各単位ブロ
    ック毎のビット数が、それぞれの単位ブロック内でのデ
    ータの絶対値の最大値に基いて制御されるように構成し
    たことを特徴とするデータ符号化方法。
  3. (3)特許請求の範囲第1項において、上記単位ブロッ
    クの分割形成が上記2次元配列データ内でのデータの次
    数にしたがつて順次行なわれており、かつ、これら単位
    ブロックの大きさがその中に含まれるべきデータの次数
    にしたがつて大きくなつていることを特徴とするデータ
    符号化方法。
  4. (4)特許請求の範囲第1項において、上記単位ブロッ
    ク毎のデータのブロック符号化に使用するビット数の符
    号化が、各単位ブロックで使用される頻度が高いビット
    数の表現にだけ符号を割当てて行なう符号化方式で行な
    われることを特徴とするデータ符号化方法。
  5. (5)特許請求の範囲第3項において、上記ブロック符
    号化に必要な量子化処理を上記単位ブロック毎に独立し
    た量子化レベルで行なう手段を設け、単位ブロックに含
    まれているデータの次数に応じて量子化レベルが変化し
    ていることを特徴とするデータ符号化方法。
JP61210626A 1986-09-09 1986-09-09 デ−タ符号化方法 Pending JPS6367081A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61210626A JPS6367081A (ja) 1986-09-09 1986-09-09 デ−タ符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61210626A JPS6367081A (ja) 1986-09-09 1986-09-09 デ−タ符号化方法

Publications (1)

Publication Number Publication Date
JPS6367081A true JPS6367081A (ja) 1988-03-25

Family

ID=16592439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61210626A Pending JPS6367081A (ja) 1986-09-09 1986-09-09 デ−タ符号化方法

Country Status (1)

Country Link
JP (1) JPS6367081A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0232688A (ja) * 1988-07-22 1990-02-02 Hitachi Ltd 適応型変換符号化装置
US6549667B1 (en) 1990-07-31 2003-04-15 Fujitsu Limited Image data encoding method and apparatus
US7142720B1 (en) 1990-07-31 2006-11-28 Fujitsu Limited Image data processing method and apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0232688A (ja) * 1988-07-22 1990-02-02 Hitachi Ltd 適応型変換符号化装置
US6549667B1 (en) 1990-07-31 2003-04-15 Fujitsu Limited Image data encoding method and apparatus
US7142720B1 (en) 1990-07-31 2006-11-28 Fujitsu Limited Image data processing method and apparatus

Similar Documents

Publication Publication Date Title
JP3868014B2 (ja) ビデオ信号符号化方法及び装置
CN100518295C (zh) 应用Golomb-Rice编码法的DCT压缩法
KR920704494A (ko) 적합한 블럭크기로 영상을 압축하는 방법 및 시스템
CN107018419B (zh) 一种基于ambtc的图像压缩编码方法
CN1725858A (zh) 用于控制比特率的设备和方法
JPS6367081A (ja) デ−タ符号化方法
CN1165457A (zh) 视频信号编码系统的量化器
JPS6367080A (ja) デ−タ符号化方法
US20020001414A1 (en) System for building a data compression encoder
JP3168183B2 (ja) データ処理装置
US6594398B1 (en) Method and apparatus for run-length encoding video data
JPS6367965A (ja) デ−タ符号化方法
EP0319569A1 (en) Apparatus and method for real time data compression
JPH0723385A (ja) 高能率符号化装置
JPH06276394A (ja) ハフマン復号化回路
JPH05227519A (ja) 画像デ―タの符号化装置および復号化装置
EP1116154A2 (en) Data compression encoding system
JPH08214310A (ja) 画像データ符号化方法及び画像データ符号化装置
JPH1098720A (ja) ビデオ信号符号化方法及びその装置
JPH01267781A (ja) 階調画像データの圧縮方法
JP2934425B1 (ja) 画像データ圧縮装置および画像データ伸長装置
JPH04245864A (ja) 画像データの高能率符号化装置
JPH0344187A (ja) 画像信号の符号化装置
JPH04274674A (ja) データ変換装置
CN100391250C (zh) 渐进式联合图像专家组解码装置及方法