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

デ−タ符号化方法

Info

Publication number
JPS6367965A
JPS6367965A JP61211707A JP21170786A JPS6367965A JP S6367965 A JPS6367965 A JP S6367965A JP 61211707 A JP61211707 A JP 61211707A JP 21170786 A JP21170786 A JP 21170786A JP S6367965 A JPS6367965 A JP S6367965A
Authority
JP
Japan
Prior art keywords
data
encoding
block
bits
dimensional array
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
JP61211707A
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 JP61211707A priority Critical patent/JPS6367965A/ja
Publication of JPS6367965A publication Critical patent/JPS6367965A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

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

Claims (3)

    【特許請求の範囲】
  1. (1)画像データを所定の画素数ごとにブロック化し、
    これらブロック化した画像データごとに直交変換して得
    た2次元配列データを用い、ブロック符号化によりデー
    タ圧縮を行なうようにしたデータ符号化方法において、
    上記2次元配列データを逐次、量子化し符号化してゆく
    処理過程で該データ中での零データの連続数を検出する
    手段を設け、零データの符号化をランレングス符号化で
    行なうように構成したことを特徴とするデータ符号化方
    法。
  2. (2)特許請求の範囲第1項において、上記2次元配列
    データの符号化が、該配列内での低次のデータから高次
    のデータへと順次行なわれるように構成したことを特徴
    とするデータ符号化方法。
  3. (3)特許請求の範囲第1項において、上記2次元配列
    データがさらに複数の単位ブロックに区画されており、
    これら単位ブロック内でのデータの絶対値の最大値に応
    じて各単位ブロックごとのデータ符号化ビット数が決定
    され、かつ、各単位ブロックごとのデータの符号化の順
    序が上記データ符号化ビット数の大きい方から小さい方
    へと定められていることを特徴とするデータ符号化方法
JP61211707A 1986-09-10 1986-09-10 デ−タ符号化方法 Pending JPS6367965A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JPS6367965A true JPS6367965A (ja) 1988-03-26

Family

ID=16610260

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS6367965A (ja)

Similar Documents

Publication Publication Date Title
US6301392B1 (en) Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage
US5604498A (en) Huffman decoder
US5463699A (en) Data compression
JP3868014B2 (ja) ビデオ信号符号化方法及び装置
US6678422B1 (en) Method and apparatus for image data compression with low memory requirement
KR920704494A (ko) 적합한 블럭크기로 영상을 압축하는 방법 및 시스템
JPS6248437B2 (ja)
JP2013138422A (ja) 整数値データのストリームを圧縮するシステム及び方法
EP1584195A1 (en) Processing of images using a limited number of bits
CN103716634A (zh) 使用误差平面编码的数据压缩方法及装置
US20100166328A1 (en) Image encoder and image encoding method
JP2011103665A (ja) デ−タ圧縮符号化システム
JPS6367081A (ja) デ−タ符号化方法
JPS6367965A (ja) デ−タ符号化方法
US20020001414A1 (en) System for building a data compression encoder
JPS6367080A (ja) デ−タ符号化方法
US7733249B2 (en) Method and system of compressing and decompressing data
JPS61123280A (ja) 画像デ−タ圧縮装置
JPH0270127A (ja) 変換符号化方式
JP2841197B2 (ja) 階調画像データの圧縮方法
JP2627927B2 (ja) 画像データの圧縮率変換方法
JP2781535B2 (ja) デジタル符号化装置及びデジタル符号復号化装置
KR100295802B1 (ko) 복수의가변장부호화테이블을이용한영상데이터압축장치
JPH0344187A (ja) 画像信号の符号化装置
JPH04274674A (ja) データ変換装置