JP3843581B2 - 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法 - Google Patents
画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法 Download PDFInfo
- Publication number
- JP3843581B2 JP3843581B2 JP05300798A JP5300798A JP3843581B2 JP 3843581 B2 JP3843581 B2 JP 3843581B2 JP 05300798 A JP05300798 A JP 05300798A JP 5300798 A JP5300798 A JP 5300798A JP 3843581 B2 JP3843581 B2 JP 3843581B2
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- image
- block
- circuit
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 125
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000000605 extraction Methods 0.000 claims description 24
- 230000002441 reversible effect Effects 0.000 claims description 4
- 238000013139 quantization Methods 0.000 description 58
- 230000003044 adaptive effect Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 30
- 238000006243 chemical reaction Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 22
- 230000008859 change Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 8
- 230000006872 improvement Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000002427 irreversible effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000012447 hatching Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Discrete Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法に関する。
【0002】
【従来の技術】
近年、原稿画像をスキャナ等の画像入力装置によって読み取り、この画像入力装置から出力される画像データをデジタル処理し、プリンタ等の画像出力装置から出力することにより、原稿のハードコピーを得るデジタル複写機が普及しつつある。デジタル複写機では、複数の画像データを複写機内部に蓄積し、原稿のソートや、ファイリング、ページ編集を行う電子ソーター機能、電子RDH機能を持つことが必須である。これらの機能は、複写機内部にメモリやハードディスク等のデータ蓄積装置を備え、これに画像データを蓄積し、必要に応じて出力することによって実現される。
【0003】
ところで、大量の画像データを蓄積するには、データ蓄積装置の蓄積容量を増加させることが必要であるが、蓄積容量の増加に応じて装置自体の規模やコストも増大する。これを回避するために画像データを符号化して蓄積する方法が種々提案されている。この符号化方法により、少ない蓄積容量のデータ蓄積装置で多量の画像データを蓄積することが可能となる。
【0004】
また、画像出力装置として、レーザビームを用いたレーザービームプリンタがある。一般に、レーザービームプリンタへの画像出力の制御方法にはページ記述言語が用いられる。すなわち、プリンタが接続されたホストコンピュータは、その出力内容そのものをビットマップイメージ(ラスターイメージ)としてプリンタへ転送するのではなく、その出力内容の文字情報や画像情報を記述したページ記述言語の内容をプリンタへ転送する。
【0005】
一方、プリンタはそのページ記述言語を受け取り、プリンタ内部においてその言語内容を解釈し、ページの画像データをビットマップイメージ(ラスターイメージ)として展開し、用紙の上にそのイメージを転写して出力する。これを実現するためには、プリンタはその内部に、ページ記述言語の内容を解釈する機能と画像データを展開するビットマップイメージを保持するメモリを持つことが必須となる。
【0006】
このメモリの容量としては、例えばA3サイズを出力するモノクロプリンタの場合は、画像の出力解像度が400dpi、出力階調数が256階調であったならば32Mbyteもの容量が必要となる。さらに、カラープリンタの場合は、YMCKの4色分の出力が必要となるため、そのメモリ容量も4倍の128Mbyteとなる。このような大容量のメモリをプリンタ内部に保持することは、プリンタ自体の規模やコストなどを増加させることになる。
【0007】
さらに、近年、出力画像の高画質化を実現するために、高解像度出力への要求がある。600dpiから2400dpiなどの高解像度の画像出力を実現するためには、プリンタ内部のメモリ容量も格段に増加してしまう。例えば、YMCK400dpiでは128Mbyteであったが、600dpiでは288Mbyte、2400dpiでは4608Mbyteと莫大な量のメモリが必要となり、コスト的にも回路規模的にも非現実的なものとなってしまう。
【0008】
これを回避するために、メモリ上の画像データを符号化して保持し、メモリ容量を削減する方法が考えられる。この方法により、少ない容量で多量の画像データを保持することが可能となる。
【0009】
画像データを符号化してそのデータ容量を削減する場合、画像の再現階調数を削減し、画像を二値の状態で蓄積することが考えられる。しかしながら、再現階調数を削減した場合、最終的に得られる画像出力の画質が劣化する。そのため、高品質な画像を蓄積するには、画像を二値の状態で蓄積するよりも、画像を多値の状態で蓄積することが望ましい。この多値画像データを符号化するには数多くの方法が存在する。
【0010】
ところで、デジタル複写機やプリンタで出力する一枚の原稿の中には、文字領域と写真領域が混在する場合が多い。また、プリンタの出力画像には、コンピュータで作成されたイメージ、即ちいわゆるコンピュータグラフィックス(以下、CGと称す)と、スキャナから読み込まれた写真等の自然画像とが混在している原稿が多い。このCGと自然画像とは、各々に全く異なった画像特性を持っている。
【0011】
例えば、CG領域は画素値の変化は一定であり、画素値変化が全く無く、フラットな背景領域を多く含んでいる。さらに、CG領域の中でも白黒二値しか存在しない文字領域や、画素値の変化が激しいグラデーション領域等も存在する。これに対して、自然画像領域はスキャナーでの読み込み時にノイズを含むことも多く、画像の背景、余白等のフラットに見える領域においても、画素値が細かく変動している場合が多い。
【0012】
このように、CG領域と自然画像領域は各々異なった画像特性を持っている。そのため、このような混在画像の画像データを高品質にかつ有効に符号化するには、各々の画質特性に最適な符号化処理を行う必要がある。この要求に応えるためには、異なる画像特性を持つ領域が混在する画像データに対して、その画像データに応じてその領域毎に最適な符号化処理を選択し、符号化処理することが必要である。このような符号化方式は、適応型画像符号化方式、マルチモード符号化方式として数多く提案されている(例えば、特開平6−326875号公報参照)。
【0013】
CG領域には、文字/線画等の高解像度が必要な画像を含む場合が多く、さらに均等な画素値変化を持つグラデーションの領域や、規則的配列を持つ画素値が連続する領域(例えば、ハッチング、ハーフトーン等)などが含まれる。そのため、このような画像領域は一般に、復号化画像の画質が劣化しない符号化方式が望ましい。例えば、MMR,LZW,JBIG等の可逆符号化方式である。
【0014】
また、自然画像領域は写真等の解像度データよりも階調数データの方が必要な画像を含む場合が多いため、階調データが劣化しない符号化方式が望ましい。復号化後に画像が劣化しない、可逆符号化方式を自然画像領域に適用した場合、この領域は画素変化が激しく、エントロピーが高いため、可逆符号化方式では有効に符号化することはできない。そこで、自然画像領域には非可逆符号化方式を適用する。その中でも復号化後に階調データを保持できる方式が適している。例えば、カラーファックスの標準符号化方式として採用されたJPEGベースライン方式に代表されるADCT符号化方式等である。
【0015】
【発明が解決しようとする課題】
CG領域と自然画像領域が混在する画像に対して、領域毎に最適な符号化方式を選択的に適応するマルチモード符号化方式において、従来は、CG領域の画質劣化を防ぐために、CG領域に対して可逆符号化を適応していた。この可逆符号化方式は、符号化対象画像の本質的情報量(エントロピー量)を符号化後にも保持し、この本質的情報量に応じてその符号化率は大きく変化し、符号化後の符号量もそれに応じて大きく変化する。つまり、簡単な画像であれば少ない符号量となり、複雑な画像であれば巨大な符号量となる。
【0016】
可逆符号化方式は本質的情報を保存することで、符号化前と復号化後の画像データは完全に一致するが、本質的情報量が非常に大きい場合、可逆符号化における符号化率は最悪で1/1となり、最大符号量も元画像と同じデータ量となる。つまり、可逆符号化ではその符号化対象の画像によって全く符号化できなく、データ量が全く減らない可能性がある。
【0017】
そのため、可逆符号化をCG領域に適応したマルチモード符号化を実現する場合、そのデータを保持するための符号データ用のメモリ容量は元画像と同じ容量が必要となる。このマルチモード符号化において、すべての画像領域がCG領域であると判定された場合には、理論的な最大符号量は元画像と同じサイズとなるため、用意する符号データ用メモリ容量は元画像と同じサイズとなる。
【0018】
例えば、符号化対象となる画像の最大サイズがA3サイズでYMCK600dpiの画像を想定した場合、その元画像のデータ量は288Mbyteとなるため、符号データ用のメモリ容量も288Mbyte分用意しておく必要がある。このような大容量のメモリを実装することはコスト面からも現実的ではなく、したがってメモリ容量削減の要求がある。
【0019】
ADCT符号化は画像をブロックに分割し、ブロック毎にDCT変換を行い、そのDCT係数に対して量子化を行い、量子化されたDCT係数をハフマン符号化する。最終段のハフマン符号化は可変長符号化であり、ADCT符号化は非可逆可変長符号化と言える。つまり、可逆符号化と同様に符号化対象画像に応じて符号化率が変化し、その最低符号化率はADCT符号化では1/1となり、この点も上述の可逆符号化と同様である。
【0020】
そのため、可逆符号化と同様に、用意する符号データ用のメモリ容量は、元画像と同じサイズのものが必要となり、大容量の符号メモリを実装する必要があった。
【0021】
本発明は、上記課題に鑑みてなされたものであり、その目的とするところは、CGと自然画像等の画像特性が大きく異なる領域が混在した画像であっても、効率的に符号化し、少ない符号データ用メモリ容量であっても、伸長画像の画質劣化を最小限に抑えて高品質な画像を得ることを可能とした画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法を提供することにある。
【0022】
【課題を解決するための手段】
本発明による画像符号化装置は、入力画像を複数の画素を含むブロックに分割するブロック分割手段と、このブロック分割手段によって分割されたブロック内に何種類の画素値があるかを示す特性値を判定する画像特性判定手段と、入力画像に対してランレングス符号化およびADCT符号化を含む可変長符号化を行う可変長符号化手段と、入力画像に対して固定長符号化を行う可逆符号化の固定長符号化手段と、画像特性判定手段によって判定される前記特性値が第一しきい値以下のときに前記ランレングス符号化、第二しきい値よりも大のときに前記ADCT符号化の各可変長符号化手段を選択し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに前記固定長符号化手段を選択して入力画像に対する符号化を行うべく制御する制御手段とを備える構成となっている。
【0023】
上記構成の画像符号化装置において、先ずブロック分割手段では、入力画像を複数の画素を含むブロック、例えば8×8画素を1単位とするブロック画像に分割する。このブロック画像は画像特性判定手段に与えられ、ここでブロック画像についてブロック内に何種類の画素値があるかを示す特性値の解析が行われ、符号化に際してどの符号化方式が最適であるかの判定を行う。そして、制御手段では、ランレングス符号化およびADCT符号化を含む可変長符号化を行う可変長符号化手段と可逆符号化の固定長符号化手段のうち、最適と判定した符号化方式の符号化手段を選択し、その符号化手段にて符号化を行う。また、好ましくは、符号化した符号データに、符号化に使用した符号化方式の識別情報を付加して出力する。
【0024】
本発明による画像復号化装置は、上記画像符号化装置から出力される符号データを復号化する画像復号化装置であって、この符号データから符号化方式の識別情報を抽出する抽出手段と、この識別情報が抽出された符号データを可変長復号化する可変長復号化手段と、上記識別情報が抽出された符号データを固定長復号化する固定長復号化手段と、抽出手段によって抽出された識別情報に基づいて可変長復号化手段および固定長復号化手段のいずれか一方を選択して識別情報が抽出された符号データに対する復号化を行うべく制御する制御手段とを備える構成となっている。
【0025】
上記構成の画像復号化装置において、先ず抽出手段では、画像符号化装置から出力される符号データから、符号化の際に使用した符号化方式を特定する識別情報を抽出する。そして、制御手段では、可変長復号化手段および固定長復号化手段のうち、抽出した識別情報に対応する復号化方式の復号化手段を選択し、その復号化手段にて復号化を行う。
【0026】
本発明による画像処理装置は、上記構成の画像符号化装置と、上記構成の画像復号化装置とを具備する。この画像処理装置において、画像符号化装置では、入力画像をブロックに分割してブロック毎にブロック内に何種類の画素値があるかを示す特性値を判定し、その判定結果に基づいて入力画像に対してランレングス符号化およびADCT符号化を含む可変長符号化を行う可変長符号化又は入力画像に対して固定長符号化を行う可逆符号化の固定長符号化を使用して符号化するとともに、その使用された符号化の種別を示す識別情報を付加して出力し、画像復号化装置では、この画像符号化装置から出力される符号データから上記識別情報を抽出し、この抽出された識別情報に対応する可変長復号化又は固定長復号化を選択して識別情報が抽出された符号データに対する復号化を行う。
【0027】
本発明による画像符号化方法では、入力画像を複数の画素を含むブロックに分割し、その分割したブロック内に何種類の画素値があるかを示す特性値を判定し、その特性値が第一しきい値以下のときにランレングス符号化、第二しきい値よりも大のときにADCT符号化の各可変長符号化を使用し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに可逆符号化の固定長符号化を使用して入力画像に対する符号化を行う。また、好ましくは、前記可変長符号化および前記固定長符号化のいずれか一方を使用して符号化された符号データに対して、その符号化を行った可変長符号化又は固定長符号化の識別情報を付加する。
【0028】
本発明による画像復号化方法では、上記画像符号化方法によって符号化された符号データから上記識別情報を抽出し、その抽出した識別情報に基づいて可変長復号化および固定長復号化のいずれか一方を選択して識別情報が抽出された符号データに対する復号化を行う。
【0029】
本発明による画像処理方法では、入力画像を複数の画素を含むブロックに分割し、その分割したブロック毎に何種類の画素値があるかを示す特性値を判定し、その特性値が第一しきい値以下のときにランレングス符号化、第二しきい値よりも大のときにADCT符号化の各可変長符号化を使用し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに可逆符号化の固定長符号化を使用して入力画像に対する符号化を行うとともに、その符号化を行った可変長符号化又は固定長符号化の識別情報を付加して符号データを出力する一方、その符号データから上記識別情報を抽出し、その抽出した識別情報に基づいて可変長復号化および固定長復号化のいずれか一方を選択して識別情報が抽出された符号データに対する復号化を行う。
【0030】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、以下の説明においては、入力画像の階調数が8bit/pixelのモノクロ画像に適用した場合について説明するが、本発明はこれに限定されるものではなく、RGB画像の24bit/pixel、あるいはYMCKの32bit/pixelのカラー画像に対しても同様に適用可能である。
【0031】
図1は、本発明の第1実施形態に係る画像処理装置における画像符号化装置の構成例を示すブロック図である。
【0032】
図1から明らかなように、第1実施形態に係る画像符号化装置10は、画像入力装置11、ラスター/ブロック変換回路12、画像特性判定回路13、ADCT符号化回路14、ブロック内4値符号化回路15、ブロック内2値符号化回路16、ブロックランレングス符号化回路17、切り替え回路18および多値化回路19を有する構成となっている。
【0033】
上記構成の画像符号化装置10において、画像入力装置11はラスターイメージを受け取るインタフェースであり、外部インタフェースのように外部ネットワーク等から画像データを直接デジタルデータのラスターイメージとして受信したり、ポストスクリプトから生成されるラスターイメージを出力するプリンタコントローラからのラスターデータを受け取る。この画像入力装置11から入力された画像データは、ラスター/ブロック変換回路12に送られる。
【0034】
ラスター/ブロック変換回路12は、入力された画像データを例えば8×8画素を1単位とするブロック画像に分割して出力する。ここで、画像の幅が8の倍数でないときには、画像の端において8×8画素に満たない画素データが発生してしまう。この場合、ラスター/ブロック変換回路12は、8×8画素になるようにダミーの画素を補って、8×8ブロックの画像データを出力する。このブロック画像の画像データは、画像特性判定回路13に送られると同時に、4つの符号化回路14〜17に送られる。
【0035】
画像特性判定回路13は、ラスター/ブロック変換回路12から出力されるブロック画像を受け取り、ブロック内の画素値の分布状態を参照して、入力されたブロック画像の画像特性を解析する。そして、その画像特性の解析結果に基づいて、入力されたブロック画像に対して、4つの符号化回路14〜17の各符号化方式のうちのどの符号化方式が最適であるかを判定し、その判定結果をタグ信号として出力する。
【0036】
具体的には、画像特性を解析するために、画像特性判定回路13はブロック毎に画像特性を示す特性値を算出し、この特性値の状態から画像特性を判定する。本実施形態では、特性値としてブロック内レベル数を用いる。このブロック内レベル数は8×8ブロック内に、何種類の値があるかを示す数値である。ブロック内レベル数の値は、そのブロック画像の画素値分布の複雑度を示す一つの指標であり、例えば画像データの背景領域にあるブロックなどのように、ブロックがすべて均一の値であったならば、ブロック内レベル数は1となる。
【0037】
また、白地背景中に描かれた直線を含むブロックのように、ブロック内の値が二つ、即ち背景色と描画色の場合には、ブロック内レベル数は2となる。また、写真などのブロックの場合には、値が複雑に変化しているために、ブロック内レベル数の値は大きな値となる。この特性をブロック毎の画像特性の解析に利用する。ブロックのサイズが8×8であることから、ブロック内レベル数の最大値は64である。
【0038】
4つの符号化回路14〜17は、ラスター/ブロック変換回路12から出力されるブロック画像を受け取り、各々独立にブロック画像の符号化処理を行う。これら4つの符号化回路14〜17のうち、符号化回路14で用いられる符号化方式は、直交変換符号化方式の一種で、一般にADCT符号化方式と呼ばれるものであり、また符号化回路15〜17で用いられる各符号化方式はブロック内4値符号化方式、ブロック内2値符号化方式およびブロックランレングス符号化方式であり、一般にブロックトランケーション(BTC)符号化方式と呼ばれる方式を改良したものである。
【0039】
4つの符号化回路14〜17での符号化処理によって得られた符号データは、切り替え回路18に送られる。切り替え回路18は、これらの符号データを受け取り、画像特性判定回路13からのタグ信号を受けて、このタグ信号に基づいて4つの符号データの中から1つを選択して多重化回路19に送る。多重化回路19は、選択された符号データとタグ信号を一つにまとめて最終的な符号データとして出力する。
【0040】
ここで、上述した4つの符号化回路14〜17について説明する。先ず、ADCT符号化回路14について説明する。このADCT符号化回路14は、JPEGベースライン方式に代表される符号化方式であり、入力された画像データの複雑度に応じて出力される符号データ量が変化する可変長符号化方式であり、また符号化パラメータの設定によりある程度、復号化画像の画質や符号化率を制御できる非可逆符号化方式である。
【0041】
図2は、ADCT符号化回路14の構成例を示すブロック図である。このADCT符号化回路14での符号化に際しては、画像をブロックに分割し、そのブロック毎にDCT演算回路21でDCT変換を行い、そのDCT係数に対して量子化テーブル22を用いて量子化回路23で量子化を行い、この量子化されたDCT係数をVLC回路24でハフマン符号化する。
【0042】
図3(a)にブロック画像の一例を、同図(b)にDCT係数の一例を、同図(c)に量子化後のDCT係数の一例を、同図(d)に量子化テーブルの一例をそれぞれ示す。
【0043】
次に、ブロック内4値符号化回路15について説明する。このブロック内4値符号化回路15は、ブロック全体を4値で表現する符号化方式であり、ブロックトランケーション符号化方式を改良したものである。該当ブロックのブロック内レベル数が4以下の場合には、その4値がブロックの代表値となる。すなわち、ブロック内レベル数が4以下の場合には、ブロック内4値で符号化されたブロックの復号化画像は、元画像と完全に一致し、可逆符号化と同じ効果をもたらす。ブロック内レベル数が5以上の場合は、最初に現れた4つの値をブロックの代表値として符号化する。
【0044】
ブロック内4値符号化回路15の符号データは、ブロックの代表値×4と、各画素がどちらかの代表値になるかを示す画素フラグとからなる。4つの代表値は各々8bitで示される。また、画素フラグは各画素がどの代表値に割り当てられるかを示すために、画素毎に2bitで示される。8×8ブロックの場合、画素フラグのデータ量は、
8×8×2bit=128bit
となり、4個の代表値のデータ量は合計で
8×4=32bit
となる。
【0045】
ゆえに、ブロック内4値符号化回路15の符号データ量は、
128+32=160bit
となるので、この符号化率は
160/(8×8×8)=1/3.2
となる。
【0046】
このブロック内4値符号化回路15は、比較的高解像度の画質を必要とする、多くの画素値を含むブロック画像に適用される。例えば、自然画像とCGとを両方含むブロック画像や、複雑なCG領域、複数の画素値を含むCGのエッジの領域などである。
【0047】
次いで、ブロック内2値符号化回路16について説明する。このブロック内2値符号化回路16は、ブロック全体を2値で表現する符号化方式であり、ブロックトランケーション符号化を改良したものである。該当ブロックのブロック内レベル数が2以下の場合には、その2値がブロックの代表値となる。すなわち、ブロック内レベル数が2以下の場合には、ブロック内2値で符号化されたブロックの復号化画像は、元画像と完全に一致し、可逆符号化と同じ効果をもたらす。ブロック内レベル数が3以上の場合は、最初に現れた2つの値をブロックの代表値として符号化する。
【0048】
ブロック内2値符号化回路16の符号データは、ブロックの代表値×2と、各画素がどちらかの代表値になるかを示す画素フラグとからなる。2つの代表値は各々8bitで示される。また、画素フラグは画素毎に1bitで示すことが可能である。8×8ブロックの場合、画素フラグのデータ量は、
8×8×1bit=64bit
となり、代表値のデータ量は
8+8=16bit
となる。
【0049】
ゆえに、ブロック内2値符号化回路16の符号データ量は、
64+16=80bit
となるので、このモードの符号化率は
80/(8×8×8)=1/6.4
となる。
【0050】
このブロック内2値符号化回路16は、比較的高解像度の画質を必要とする、ブロック内に2値程度の画素値を含む領域に適用される。例えば、文字/線画等のエッジを含む領域や、ディザなどの網点を含む領域、CGのグラデーションの領域などに適用される。
【0051】
最後に、ブロックランレングス符号化回路17について説明する。このブロックランレングス符号化回路17は、ブロックトランケーション符号化方式を改良した符号化方式である。そのブロック内の全体の画素値が全く同じであり、かつ隣り合うブロック画像が全く同一である場合に、そのブロック全体を1値で表現し、そのブロックが連続する数(ランレングス)とでその連続するブロックを表現する。
【0052】
該当ブロックに対して、ブロック内レベル数が1であった場合、同一のブロックが連続する数をカウントし、その連続数、即ちランレングスを符号として出力する。すなわち、ブロック内の画素値がすべて同一、つまりブロック内の値の種類の数が1であった場合、そのブロックの平均値はそのブロック内の画素値をそのまま示すことになるため、ブロック内の画素値が均一であった場合には、ブロックランレングス符号化されたブロックの復号化画像は元画像と完全に一致し、可逆符号化と同じ効果がある。
【0053】
本実施形態では、ブロックランレングス符号化回路17の符号データ量は、ブロック内の平均値を示す8bitと、ランレングスを示す8bitのデータを含有し、16(=8+8)bitとなる。ランレングスを示すビット数が8bitであることから、ランレングスの最大量は256となる。
【0054】
この符号化処理において、カウントしたランレングス数が256よりも大きい場合には、ランレングス符号化回路17はランレングス数が256である符号データを出力し、続いてカウントしたランレングス数から256を減算した値を新たなランレングス数として符号を出力する。この場合、代表値の値は同値である。例えば、カウントしたランレングス数が500だった場合、ランレングス数256の符号と、244(=500−256)の符号とを出力する。減算した新たなランレングス数が256よりも大きい場合には、繰り返しランレングス数256の符号を出力し、再び減算する処理を繰り返す。
【0055】
このブロックランレングス符号化回路17の符号化率は、ランレングスの値により変動する。ランレングスが大きいほど符号化率は高くなり、小さいほど符号化率は低くなる。ランレングスの値の最小値は1である。ランレングスの最小値1の場合の符号化率は、元のブロックのサイズが8×8画像であることから、
(8×8)/(8×8×8×1)=1/32
となるため、ブロックランレングス符号化回路17の符号化率は1/32以上となる。
【0056】
このブロックランレングス符号化回路17による符号化モードは、比較的高解像度の表現を必要としない、画像の背景領域等の均一な画素値が広い範囲に亘って連続する領域に適用される。
【0057】
次に、画像特性判定回路13における画像特性の判定論理について、図4に示す判定の論理フローチャートを用いて説明する。
【0058】
最初に、ブロック毎に画像特性を示す特性値としてブロック内レベル数Cnumを算出する(ステップS11)。次に、このブロック内レベル数Cnumを、当該レベル数に対する第1のしきい値th1と比較する(ステップS12)。そして、しきい値th1以下の場合には、そのブロックに対してブロックランレングス符号化を適用する(ステップS13)。第1のしきい値th1としては、通常1を設定する。これは、ブロック内のレベル数が1、つまりブロックの画素値が均一の場合、そのブロックは背景領域など画素値の変化が無い画像領域にあると判定できるため、ブロックランレングス符号化を適用する。
【0059】
ブロック内レベル数Cnumがしきい値th1よりも大きい場合には、ブロック内レベル数Cnumを当該レベル数に対する第2のしきい値th2と比較する(ステップS14)。そして、しきい値th2以下の場合には、ブロック内2値符号化を適用する(ステップS15)。第2のしきい値th2としては、通常2を設定する。これは、ブロック内のレベル数が2以下の場合、ブロック内2値符号化を適用すると可逆符号化となるからである。
【0060】
ブロック内レベル数Cnumがしきい値th2よりも大きい場合には、ブロック内レベル数Cnumを当該レベル数に対する第3のしきい値th3と比較する(ステップS16)。そして、しきい値th3以下の場合には、ブロック内4値符号化を適用する(ステップS17)。第3のしきい値th3としては、通常4を設定する。これは、ブロック内のレベル数が4以下の場合、ブロック内4値符号化を適用すると可逆符号化となるからである。しきい値th3よりも大きい場合には、そのブロックにADCT符号化を適用する。
【0061】
以上の一連の処理により、8×8のブロック画像に対する符号化処理を、そのブロック画像の画像特性に基づいて、ブロックランレングス符号化、ブロック内2値符号化、ブロック内4値符号化およびADCT符号化の4つの符号化方式に振り分けることができる。
【0062】
上記構成の本実施形態に係る画像符号化装置10は、目標最低符号化率を設定することが可能である。ここに、目標最低符号化率とは、どのような画像データを符号化した場合でも、その符号化率が目標最低符号化率よりも悪い値にならないという設定値である。この目標最低符号化率の設定値は、符号化データを保持する記憶媒体の容量と元画像のデータ量から算出して設定することで、符号データが記憶媒体の容量から溢れることがないため、システムの動作に不具合を起こさず、システムの安定動作に貢献するものである。
【0063】
また、本実施形態に係る画像符号化装置10は、どのような画像データを符号化した場合でも、その符号化率は、設定した目標最低符号化率以上になる仕組みを備えている。以下に、その仕組みについて説明する。
【0064】
図5は、切り替え回路18の構成の一例を示すブロック図である。この切り替え回路18は、4つの符号化回路14〜17からそれぞれ出力される4つの符号データを受け取るとともに、画像特性判定回路13から出力されるタグ信号を受け取り、このタグ信号と目標最低符号化率の設定値に基づいて、4つの符号データの中から1つを選択して出力する。
【0065】
以下に、符号データの選択の手順について述べる。なお、本実施形態においては、4つの符号化回路14〜17の各々の符号化率を、ADCT符号化が1/1〜、ブロック内4値符号化が1/3.2、ブロック内2値符号化が1/6.4、ブロックランレングス符号化が1/32以上とする。
【0066】
これらの符号化の中で、ブロック内2値符号化とブロック内4値符号化は入力画像によらず、符号化率が必ず一定となる固定長符号化である。ブロックランレングス符号化の符号化率は入力画像データに依存するが、その最低符号化率は1/32であり、必ず1/32以上の符号化率となる可変長符号化である。ADCT符号化の符号化率は、入力される画像データに大きく依存し、入力画像データが非常に複雑な場合は、その符号化率は1/1と、符号化できない状態、即ち符号化による符号量削減の効果がない状態もある。
【0067】
入力された画像ブロックに対して、どの符号データを出力するかは画像特性判定回路13からのタグ信号に基づいて選択されるが、画像特性判定回路13において、画像全体がすべてADCT符号化に判定された場合、画像全体の符号化率が1/1と符号化できない状態になる可能性がある。そのため、切り替え回路18は次のような機能を備えている。
【0068】
図5から明らかなように、切り替え回路18は、比較回路181、tha(ブロック毎の最大符号量)設定回路182、セレクタ183,184および論理回路185を有する構成となっている。この切り替え回路18において、ADCT符号化回路14からの符号データは、比較回路181の一方の入力となる。比較回路181には、tha設定回路182で設定されたブロック毎の最大符号量thaが他方の入力として与えられる。
【0069】
tha設定回路182では、予め設定した画像の目標最低符号化率thcrから、ブロック毎の最大符号量thaを設定する。比較回路181は、ADCT符号化回路14の符号データ量とtha設定回路182で設定されたブロック毎の最大符号量thaとを比較し、その比較結果をセレクタ183および論理回路185に送る。セレクタ183は、ADCT符号化回路14からの符号データとブロック内4値符号化回路15からの符号データとを2入力とし、比較回路181の比較結果に基づいていずれか一方の符号データを選択して出力する。
【0070】
セレクタ184は、セレクタ183で選択された符号データと、ブロック内4値符号化回路15からの符号データと、ブロック内2値符号化回路16からの符号データと、ブロックランレングス符号化回路17からの符号データとを4入力とし、論理回路185から与えられるタグ信号に基づいていずれか1つの符号データを選択し、多重化回路19へ出力する。論理回路185は、図1の画像特性判定回路13から与えられるタグ信号を、比較回路181の比較結果に基づいてATCT符号化からブロック内4値符号化に変更してセレクタ184にその切り替え制御信号として供給する。
【0071】
上記構成の切り替え回路18において、比較回路181の比較結果が、ADCT符号データ量がブロック毎の最大符号量thaよりも小さい場合は、セレクタ183はADCT符号データを選択する。選択されたADCT符号データは、セレクタ184でさらに選択されて多重化回路19へ出力される。
【0072】
また、ADCT符号データ量がブロック毎の最大符号量thaよりも大きい場合は、セレクタ183はADCT符号データ以外の符号データを選択する。つまり、ADCT符号データの代わりに別の符号データを選択する。どの符号データを選択するかは、ブロック毎の最大符号量thaの設定、即ち予め設定された最低符号化率thcrの設定により異なる。
【0073】
thcr≧1/3.2の場合でかつ、ADCT符号データ量がブロック毎の最大符号量thaよりも大きい場合は、ADCT符号データの代わりにブロック内4値符号化の符号データを選択する。これにより、このブロック画像に対する符号化方式の選択結果が、画像特性判定回路13の判定結果と異なるため、この選択結果を信号に反映させる必要がある。そのために、比較回路181の比較結果を論理回路185に送るようにしている。
【0074】
論理回路185は、このブロックに対するタグ信号をADCT符号化からブロック内4値符号化に変更する。この機能により、ADCT符号化が選択されていても、符号化率が設定された目標最低符号化率よりも悪い場合には、符号化率が1/3.2の固定長符号化であるブロック内4値符号化の符号データが選択されるため、必ず目標最低符号化率以上となる。
【0075】
1/6.4≦thcr<1/3.2の場合は、比較回路181とセレクタ183の動作とは関係なく、論理回路185において、タグ信号の内容を変更する。タグ信号において、ADCT符号化およびブロック内4値符号化に選択されている場合、これをブロック内2値符号化を選択するように変更する。これにより、入力画像はブロック内2値符号化か又はブロックランレングス符号化で符号化されることになる。ここで、ブロック内2値符号化は符号化率が1/6.4の固定長符号化であり、ブロックランレングス符号化は最低符号化率1/32の可変長符号化であることから、目標最低符号化率thcrの設定値を満足することが可能となる。
【0076】
thcr>1/6.4の場合も、比較回路181とセレクタ183の動作とは関係なく、論理回路185において、タグ信号を変更する。この場合はタグ信号をすべてブロックランレングス符号化を選択するように変更する。これにより、入力画像はすべてブロックランレングス符号化で符号化されることになる。ここで、ブロックランレングス符号化は最低符号化率1/32の可変長符号化であることから、目標最低符号化率thcrの設定を満足することが可能となる。
【0077】
以上の処理により、切り替え回路18は、4つの符号化回路、即ちADCT符号化回路14、ブロック内4値符号化回路15、ブロック内2値符号化回路16およびブロックランレングス符号化回路17からの符号データを選択し、多重化回路19に符号データとタグ信号を出力する。
【0078】
多重化回路19は、切り替え回路18から出力される符号データとタグ信号を受け取り、符号データの先頭にタグ信号を埋め込み、一つの符号データとして出力する。多重化回路19から出力されるタグ信号を含む符号データは、バッファメモリやハードディスクなどの記憶媒体に記憶/保存されたり、あるいは伝送系によって画像復号化装置へ伝送されることになる。
【0079】
図6に、本実施形態における符号データのフォーマットを示す。図6に示すように、符号データはブロック毎に出力される。各ブロックの符号データの先頭に2ビットの符号データの種類を示すタグ信号が埋め込まれている。各符号データのフォーマットの詳細を図7に示す。
【0080】
図7から明らかなように、ADCT符号化の符号フォーマットは、先頭にADCT符号化であることを示す2ビットのタグ、その後ろにADCTの符号データが続く。ブロック内4値符号化の符号フォーマットは、ADCT符号化方式と同様に、先頭に符号化方式を示す2ビットのタグ、その後ろにブロック内4値符号化の符号データが続く。この符号データは先ず4つのブロック代表値のデータ、続いてブロック内の各画素がどの代表値に割り当てられるかを示す、画素毎に2ビットのインデックス番号が64(=8×8)個続く。
【0081】
ブロック内2値符号化方式の符号フォーマットは、他の符号化方式と同様に、先頭に符号化方式を示す2ビットのタグ、その後ろに2つのブロック代表値のデータ、続いてブロック内の各画素がどの代表値に割り当てられるかを示す、画素毎に1ビットのインデックス番号が64個続く。ブロックランレングス符号化方式の符号データは、他の符号化方式と同様に、先頭に符号化方式を示す2ビットのタグ、続いて1つのブロック代表値とランレングス数を示すデータが続く。
【0082】
図8は、本発明の第1実施形態に係る画像処理装置における画像復号化装置の構成例を示すブロック図である。
【0083】
図8から明らかなように、第1実施形態に係る画像復号化装置30は、タグ抽出回路31、切り替え回路32、ADCT復号化回路33、ブロック内4値復号化回路34、ブロック内2値復号化回路35、ブロックランレングス復号化回路36、切り替え回路37、ブロック/ラスター変換回路38および画像出力装置39を有する構成となっている。
【0084】
上記構成の画像復号化装置30において、タグ抽出回路31は、バッファメモリやハードディスクなどの記憶媒体に記憶/保存されたり、あるいは画像符号化装置10から伝送系によって伝送される符号データを入力とする。この符号データは、先述したようにブロック毎に構成されており、そのブロック毎の符号データの先頭に、その符号データがどの符号化方式により作成されたものであるかを示す2ビットのタグ信号が入っている。タグ抽出回路31は、符号データからこのタグ信号を抽出し、タグ信号と残りの符号データとを分離して出力する。分離されたタグ信号は、切り替え回路32および切り替え回路37に供給される。
【0085】
切り替え回路32は、タグ抽出回路31からタグ信号と、タグ信号抽出後の符号データを受け取り、この受け取った符号データを、同じくタグ抽出回路31から送られたタグ信号に基づいて、符号データの出力先を4つの復号化回路、即ちADCT復号化回路33、ブロック内4値復号化回路34、ブロック内2値復号化回路35およびブロックランレングス復号化回路36の中から1つ選択して送り出す。
【0086】
ADCT復号化回路33、ブロック内4値復号化回路34、ブロック内2値復号化回路35又はブロックランレングス復号化回路36は符号データを受け取ると、その符号データを復号してブロック画像を再現する。以下、各復号化回路について具体的に説明する。
【0087】
先ず、ADCT復号化回路33は、図9のブロック図に示すように、VLD回路41、逆量子化回路42、量子化テーブル43およびiDCT演算回路44を有する構成となっている。このADCT復号化回路33において、VLD回路41はハフマン復号化処理を行い、入力される符号データを量子化後の周波数データに復元する。
【0088】
逆量子化回路42は、VLD回路41の出力である量子化後の周波数データを受け取り、逆量子化を行う。この逆量子化の際に使用される量子化テーブル43には、符号化時に使用された量子化テーブルが用いられる。iDCT演算回路44は、逆量子化回路42から供給される周波数データをiDCT変換してブロック画像に復元して出力する。
【0089】
ブロック内4値復号化回路34は、160ビットの符号データを受け取り、先頭の32(=8×4)ビットを4つのブロック代表値とする。ブロック代表値は各々8ビットで構成される。残りの128ビットを2ビットずつに分解し、1ブロックを構成する64(=8×8)画素の一つ一つに対応させ、各画素の位置に対応した代表値を示す2ビットのフラグとする。この画素毎のフラグを参照し、4つのブロック代表値から値を当てはめて、1ブロック分の画像データを出力する。
【0090】
ブロック内2値復号化回路35は、80ビットの符号データを受け取り、このうち先頭の8ビットを1つ目のブロック代表値、次の8ビットを2つ目のブロック代表値とする。残りの64ビットを1ビットずつに分解し、1ブロックを構成する64(=8×8)画素の一つ一つに対応させ、各画素の位置に対応した代表値を示すフラグとする。この画素毎のフラグを参照し、フラグが“0”ならば、その位置の画素には一つ目の代表値を当てはめ、フラグが“1”ならば二つ目の代表値を当てはめる。この作業を1ブロック分行い、1ブロック分の画像データを出力する。
【0091】
ブロックランレングスで符号化されたデータを復号化する場合、ブロックランレングス復号化回路36は16ビットのデータを受け取り、先頭の8ビットのデータをブロックの代表値とし、残りの8ビットをランレングス数とする。復号化回路36では、この代表値を8×8ブロック全体を塗りつぶしたブロックを、ランレングス数だけ繰り返して出力する。
【0092】
切り替え回路37は、タグ抽出回路31から送られたタグ信号を受け取り、このタグ信号に基づいて、4つの復号化回路33〜36のうちのどの復号化回路から画像データを受け取るかを選択し、受け取ったブロック画像をブロック/ラスター変換回路38へ送り出す。ブロック/ラスター変換回路38は、切り替え回路37から受け取ったブロック画像を元の一つのラスター画像データに変換し、画像出力装置39へ送り出す。
【0093】
画像出力装置39としては、プリンター、プロッターなどの画像データを紙上に出力する装置、ディスプレイに画像を表示する装置、メモリ上に直接ラスター画像を出力する装置、あるいはネットワークに画像データを出力する装置などがある。
【0094】
以上説明した第1実施形態に係る画像処理装置では、ラスター展開された画像データを画像符号化装置10で受け取り、かつ画像符号化処理を施して符号データを出力する一方、この符号データを画像復号化装置30で受け取り、画像復号化処理を施してラスター画像データを出力する際に、CGと自然画像等の画像特性が大きく異なる画像領域が混在した画像であっても、効率的に符号化できる。また、少ない符号データ用メモリ容量であっても、目標最低符号化率を設定することにより、必ずそのメモリ容量以内に符号データを収めることを可能とした上で、高品質な復号化画像を得るとともに、比較的簡単な処理規模でハードウェアによる実現が可能となる。
【0095】
図10は、本発明の第2実施形態に係る画像処理装置における画像符号化装置の構成例を示すブロック図である。
【0096】
図10から明らかなように、第2実施形態に係る画像符号化装置50は、画像入力装置51、ラスター/ブロック変換回路52、画像特性判定回路53、適応ADCT符号化回路54、ブロック内4値近似符号化回路55、ブロック内2値近似符号化回路56、ブロックランレングス符号化回路57、切り替え回路58および多値化回路59を有する構成となっている。
【0097】
上記構成の画像符号化装置50において、画像入力装置51はラスターイメージを受け取るインタフェースであり、外部インタフェースのように外部ネットワーク等から画像データを直接デジタルデータのラスターイメージとして受信したり、ポストスクリプトから生成されるラスターイメージを出力するプリンタコントローラからのラスターデータを受け取る。この画像入力装置51から入力された画像データは、ラスター/ブロック変換回路52に送られる。
【0098】
ラスター/ブロック変換回路52は、入力された画像データを例えば8×8画素を1単位とするブロック画像に分割して出力する。ここで、画像の幅が8の倍数でないときには、画像の端において8×8画素に満たない画素データが発生してしまう。この場合、ラスター/ブロック変換回路52は、8×8画素になるようにダミーの画素を補って、8×8ブロックの画像データを出力する。このブロック画像の画像データは、画像特性判定回路53に送られると同時に、4つの符号化回路54〜57に送られる。
【0099】
画像特性判定回路53は、ラスター/ブロック変換回路52から出力されるブロック画像を受け取り、ブロック内の画素値の分布状態を参照して入力されたブロック画像の画像特性を解析する。ここで、ブロック内に含まれる画像特性は、例えばそのブロック画像が自然画像領域なのか、CG領域なのか、あるいはその両方を含む領域なのかなど、そのブロック画像の特徴を示す指標である。画像特性判定回路53は、その画像特性の解析結果から、このブロック画像に対して、4つの符号化回路54〜57の各符号化方式のうちのどの符号化方式が最適であるかを判定し、その判定結果をタグ信号として出力する。
【0100】
具体的には、画像特性を解析するために、画像特性判定回路53はブロック毎に画像特性を示す特性値を算出し、この特性値の状態から画像特性を判定する。本実施形態では、特性値としてブロック内レベル数、ダイナミックレンジ、白黒反転回数、高濃度分布度数および低濃度分布度数を用いる。以下に、各特性値の内容について説明する。
【0101】
先ず、ブロック内レベル数は8×8ブロック内に、何種類の値があるかを示す数値である。ブロック内レベル数の値は、そのブロック画像の画素値分布の複雑度を示す一つの指標であり、例えば画像データの背景領域にあるブロックなどのように、ブロックがすべて均一の値であったならば、ブロック内レベル数は1となる。
【0102】
また、白地背景中に描かれた直線を含むブロックのように、ブロック内の値が二つ、即ち背景色と描画色の場合には、ブロック内レベル数は2となる。また、写真などのブロックの場合には、値が複雑に変化しているために、ブロック内レベル数の値は大きな値となる。この特性をブロック毎の画像特性の解析に利用する。ブロックのサイズが8×8であることから、ブロック内レベル数の最大値は64である。
【0103】
高濃度分布度数および低濃度分布度数は、ブロック内の画素値のヒストグラム分布における高濃度域および低濃度域にある画素値の各々の個数である。高濃度分布度数および低濃度分布度数を求めるには、先ず、ブロック内の画素値のヒストグラム分布を求める。図11に、そのヒストグラム分布を示す。このヒストグラム分布の最大値maxと最小値minの差分、即ち|max−min|をRとする。
【0104】
このヒストグラム分布の最大値付近と最小値付近のある範囲に存在する度数の合計値をそれぞれUnumとLnumとすると、UnumとLnumを求める範囲を、差分Rの1/Nの範囲とする。Nは2以上の値であり、本実施形態では、N=6〜8程度の値を用いる。その結果、UnumとLnumの範囲は、それぞれ以下のようになる。
Unum:(max−R/N)≦x≦max
Lnum:min≦x≦(min+R/N)
【0105】
このUnumを高濃度分布度数とし、Lnumを低濃度分布度数とする。高濃度分布度数Unumが大きい場合には、そのブロック内の画素値の分布が高濃度付近に偏っている可能性がある。低濃度分布度数Lnumが大きい場合には、そのブロック内の画素値の分布が低濃度付近に偏っている可能性がある。高濃度分布度数Unumおよび低濃度分布度数Lnumが共に大きい場合には、高濃度と低濃度に分布が偏っている可能性がある。このように、分布に偏りのあるブロックは、エッジを含んでいる可能性が大きい。このような特性を画像特性の解析に利用する。
【0106】
次に、本実施形態で求めるダイナミックレンジは、単なる最大値と最小値の差分の絶対値ではなく、ブロック内の画素値のヒストグラム分布における高濃度域の分布平均値と低濃度域の分布平均値の差分の絶対値である。図11はその概念図である。
【0107】
高濃度域の分布平均値を求めるには、前述の高濃度分布度数Unumを求めた後に、その度数が属する範囲内における平均値をUmeanとし、低濃度域の分布平均値を求めるには、同様に低濃度分布度数Lnumを求めた後に、その度数が属する範囲内における平均値をLmeanとする。このようにして求めた平均値UmeanとLmeanを基にして、ダイナミックレンジの定義を下記の式とする。
ダイナミックレンジ=|Umean−Lmean|
【0108】
このダイナミックレンジの値が大きい場合には、そのブロック画像のコントラストが高く、文字/線画などのエッジ領域を含んでいる可能性がある。また、ダイナミックレンジの値が小さい場合には、そのブロック画像内の画素値の変化は緩やかであり、グラデーションや背景領域を含んでいる可能性がある。このような特性を画像特性の解析に利用する。
【0109】
白黒反転回数は、ブロック画像をブロック内の平均値で二値化し、その二値化画像を横方向および縦方向にそれぞれスキャンした際に、値が変化する点をカウントし、横方向のカウントの合計値と縦方向のカウントの合計値を加えた値である。図12に、その概要を示す。図12(a)は、ブロック画像を二値化した画像である。
【0110】
この二値化画像を図12(b)に示すように、縦方向にスキャンしていくと、最初の列のスキャンでは何も変化が無い。次の列をスキャンすると、1画素目から2画素目に変わるところで、背景を示す画素値から描画色を示す画素値に切り替わる点が存在する。この点を変化点と呼ぶ。同様にスキャンを進めると、3画素目から4画素目に切り替わるところで、描画色から背景色に切り替わる点が存在する。これも変化点とする。このようにして、列方向にスキャンを進めていくと、図12(b)に示すように、変化点を検出することができる。この変化点の個数をカウントする。
【0111】
次に、二値化画像を、図12(c)に示すように横方向にスキャンしていく。そして、縦方向のスキャンの場合と同様に変化点を検出し、その変化点の個数をカウントしていく。白黒反転回数は、この縦方向の変化点の個数の合計値と横方向の変化点の個数の合計値とを加えた値をとる。
【0112】
図13(a)に、文字や線画のエッジを含むブロックを二値化した画像例を、同図(b)に写真などの網点画像を二値化した画像例をそれぞれ示す。文字などのエッジ領域を含むブロックの白黒反転回数の値と、写真などの網点領域を含むブロックの白黒反転回数の値を比較すると、実験的には、エッジ領域の白黒反転回数の方が網点領域よりも少ない傾向がある。この特性をブロック毎の画像特性の解析に利用する。
【0113】
4つの符号化回路、即ち適応ADCT符号化回路54、ブロック内4値近似符号化回路55、ブロック内2値近似符号化回路56およびブロックランレングス符号化回路57は、ラスター/ブロック変換回路52の出力であるブロック画像を受け取り、ブロック画像の符号化処理を行う。
【0114】
これらの符号化回路54〜57の中でブロック内4値近似符号化回路55は、ブロック内の画素値の種類が4値以下の場合は可逆符号化となり、ブロック内2値近似符号化回路56は同様に2値以下の場合は可逆符号化となる。また、ブロックランレングス符号化回路57も1値の場合、即ちブロック内の画素値が均一の場合、可逆符号化となる。
【0115】
このブロック内の画素値の種類の値が、ある値以下の場合には可逆符号化となる特性と、前述のブロック画像の特性値を考慮して、このブロック画像に対して4つの符号化回路54〜57の各符号化方式のうち、どの符号化方式が最適であるかの判定が、画像特性判定回路53において行われる。図14は、その判定の論理フローチャートである。
【0116】
先ず最初に、前述のブロック毎の画像特性値を算出する(ステップS21)。ここで、各画像特性値について、ブロック内レベル数(色数)をCnum、ダイナミックレンジをrange、白黒反転回数をBWcnt、高濃度分布度数をUnum、低濃度分布度数をLnumとそれぞれ示すものとする。
【0117】
次に、ブロック内レベル数Cnumを当該レベル数に対するしきい値th1と比較し(ステップS22)、Cnum≦th1の場合には、ブロックランレングス符号化を設定する(ステップS23)。しきい値th1としては、通常1を設定する。これは、ブロック内のレベル数Cnumが1、つまりブロックの画素値が均一の場合、そのブロックは背景領域など画素値の変化が無い画像領域にあると判定できるため、ブロックランレングス符号化を適用する。ブロックランレングス符号化は、ブロック内レベル数Cnumが1以下のときには可逆符号化と同様の画質を得ることが可能である。
【0118】
Cnum>th1の場合には、ダイナミックレンジrangeを当該ダイナミックレンジに対するしきい値p1と比較し(ステップS24)、range≦p1の場合には、ステップS23に移行してブロックランレングス符号化を設定する。これは、ブロックのダイナミックレンジrangeが小さい場合には、ブロック内のレベル数Cnumが多くてもブロックランレングス符号化を適用することを意味する。すなわち、ブロック内の画素値の変化が少ないブロックにはブロックランレングス符号化を適用することで、符号量を削減し、高符号化率を実現するものである。
【0119】
次に、ブロック内レベル数Cnumを当該レベル数に対するしきい値th2と比較し(ステップS25)、Cnum≦th2の場合には、ブロック内2値近似符号化を設定する(ステップS26)。しきい値th2としては、通常2を設定する。これは、ブロック内のレベル数Cnumが2以下の場合、ブロック内2値近似符号化を適用すると可逆符号化となるからである。
【0120】
Cnum>th2の場合は、ダイナミックレンジrangeを当該ダイナミックレンジに対するしきい値p2と比較し(ステップS27)、range≦p2の場合には、ステップS26に移行してブロック内2値近似符号化を設定する。これは、ブロック内のダイナミックレンジrangeが非常に小さい場合には、ブロック内のレベル数Cnumが多くても、ブロック内2値近似符号化を適用することを意味する。
【0121】
次に、ブロック内レベル数Cnumを当該レベル数に対するしきい値th3と比較し(ステップS28)、Cnum≦th3の場合には、ブロック内4値近似符号化を設定する(ステップS29)。しきい値th3としては、通常4を設定する。これは、ブロック内のレベル数Cnumが4以下の場合、ブロック内4値近似符号化を適用すると可逆符号化となるからである。
【0122】
Cnum>th3の場合は、白黒反転回数BWcntを当該反転回数に対するしきい値p5と比較し(ステップS30)、BWcnt≧p5の場合には、そのブロックに適応ADCT符号化を適用する(ステップS31)。また、BWcnt<p5の場合には、ダイナミックレンジrangeをダイナミックレンジに対するしきい値p3と比較し(ステップS32)、range≦p3の場合には、ステップS29に移行してブロック内4値近似符号化を設定する。これは、ダイナミックレンジrangeが小さい場合には、ブロック内4値近似符号化を適用することを意味する。
【0123】
range>p3の場合は、高濃度分布度数Unumを当該分布度数に対するしきい値p4と比較し(ステップS33)、Unum>p4の場合には、ステップS29に移行してブロック内4値近似符号化を適用する。Unum≦p4の場合には、低濃度分布度数Lnumを同じしきい値p4と比較する(ステップS34)。そして、Lnum>p4の場合には、ステップS29に移行してブロック内4値近似符号化を適用し、Lnum≦p4の場合には、ステップS31に移行して適応ADCT符号化を適用する。
【0124】
上述した一連の判定処理により、8×8のブロック画像に対してそのブロック画像の画像特性に基づいて、4つの符号化方式のうちの1つ、即ちブロックランレングス符号化方式、ブロック内2値近似符号化方式、ブロック内4値近似符号化方式又は適応ADCT符号化方式が振り分けられる。
【0125】
4つの符号化回路54〜57は、ラスター/ブロック変換回路52から出力されるブロック画像を受け取り、各々独立にブロック画像の符号化処理を行う。これら4つの符号化回路54〜57のうち、適応ADCT符号化回路54で用いられる符号化方式は一般にADCT符号化方式と呼ばれる方式を改良したものであり、符号化回路15〜17で用いられ各符号化方式は一般にブロックトランケーション(BTC)符号化方式と呼ばれる方式を改良したものである。以下に、各符号化回路について詳細に説明する。
【0126】
先ず、ADCT符号化回路54について説明する。このADCT符号化回路54は、JPEGベースライン方式に代表される符号化方式であり、入力された画像データの複雑度に応じて出力される符号データ量が変化する可変長符号化方式であり、また符号化パラメータの設定によりある程度、復号化画像の画質や符号化率を制御できる非可逆符号化方式である。
【0127】
ADCT符号化は画像をブロックに分割し、ブロック毎にDCT変換を行い、そのDCT係数に対して量子化を行い、量子化されたDCT符号をハフマン符号化する。最終段のハフマン符号化は可変長符号化であり、ADCT符号化は非可逆可変長符号化と言える。
【0128】
つまり、可逆符号化と同様に符号化対象画像に応じて符号化率が変化し、その最低符号化率はADCT符号化では1/1となり、この点も上述の可逆符号化と同様である。そのため、可逆符号化と同様に、用意する符号データ用メモリ容量は元画像と同じサイズのものが必要となり、大容量の符号メモリを実装する必要があった。
【0129】
本実施形態に係る適応ADCT符号化は、ADCT符号化方式に2つの付加機能を追加した符号化方式である。付加機能の1つ目は適応量子化機能であり、二つ目の機能は符号量打ち切り機能である。
【0130】
これらの付加機能のうち、適応量子化機能は、復号化画像の高画質化を図ることを目的とする。入力されるブロック画像データの周波数特性を解析し、画像データの特性に最適な量子化テーブルを、予め用意した複数の量子化テーブルの中から選択することによって適応的な量子化を行う。
【0131】
一方、符号量打ち切り機能は、ブロック毎の最大符号量を制御することを目的とする。図15は、符号量打ち切りの概念図である。ブロック毎の符号量をカウントし、予め指定した目標符号量と比較し、ブロック毎の符号量が目標符号量よりも大きかった場合に、符号データが目標符号量以下となるように、符号データを打ち切り、強制的にEOB(End Of Block)信号を発生させる。
【0132】
図16は、適応ADCT符号化回路54の構成例を示すブロック図である。図16に示すように、適応ADCT符号化回路54は、DCT演算回路61、DCT係数解析回路62、量子化テーブル63-1,63-2,63-3、量子化テーブル選択回路64、量子化回路65、VLC回路66、符号量カウント回路67、符号量比較回路68、目標符号量設定回路69、打ち切り信号発生回路70および符号合成回路71を有する構成となっている。
【0133】
上記構成の適応ADCT符号化回路54において、DCT演算回路61はラスター/ブロック変換回路52から出力されるブロック画像を入力とし、このブロック画像をDCT変換し、画像データを周波数データに変換する。ブロック画像の一例を図3(a)に、DCT係数データの一例を図3(b)にそれぞれ示す。この周波数データはDCT係数解析回路62に送られる。
【0134】
DCT係数解析回路62では、画像データの周波数成分を解析し、このブロック画像に最適な量子化テーブルを複数の量子化テーブルの中から選択する。本実施形態では、3つの量子化テーブル63-1,63-2,63-3を予め用意する。量子化テーブル63-1はエッジを含む画像に最適化した量子化テーブルを、量子化テーブル63-2は写真などの網点画像に最適化した量子化テーブルを、量子化テーブル63-3は量子化幅が大きく、高符号化率となるような量子化テーブルをそれぞれ持つ。これらの量子化テーブルの一例を図17(a),(b),(c)に示す。
【0135】
量子化テーブル選択回路64は、DCT係数解析回路62での解析結果を参照して3つの量子化テーブル63-1,63-2,63-3のうちの1つを選択する。量子化回路65は、DCT演算回路61から出力される周波数データを受け取り、量子化テーブル選択回路64で選択された量子化テーブル63-1/63-2/63-3を用いて周波数データを量子化する。
【0136】
VLC回路66は、量子化された周波数データをハフマン符号化する。すなわち、VLC回路66は量子化された周波数データを、無意係数(値がゼロ)が連続する数(ゼロラン)と有意係数(ゼロ以外)とを組にして、一つの符号データを出力する。このような符号データが複数個で1ブロック分の符号データが構成される。
【0137】
符号量カウント回路67は、VLC回路66から出力される前述の符号データを加算しながらカウントしていく。符号量比較回路68は、符号量カウント回路67でカウントされた符号量と、目標符号量設定回路69で予め設定された目標符号量とを順次比較する。打ち切り信号発生回路70は、符号量比較回路68の比較結果に基づいて、前述した符号打ち切り機能を実現する。
【0138】
すなわち、符号量カウント回路67でカウントされた符号量が目標符号量よりも多くなった際の符号量比較回路68の比較結果に基づいて、VLC回路66から最後に出力された有意係数とゼロランの符号データを削除し、代わりにEOB信号を出力する。このEOB信号を出力することで、符号データを打ち切ることによる符号データの不整合を防止する。
【0139】
符号合成回路71は、VLC回路66から出力される符号データに対して、DCT係数解析回路62から送られる、どの量子化テーブルを使用したかを示すタグ信号を付加し、最終的な符号データとして出力する。
【0140】
次に、ブロック内4値近似符号化回路55について説明する。このブロック内4値近似符号化回路55は、ブロック全体を4値で表現する符号化方式であり、ブロックトランケーション符号化方式を改良したものである。該当ブロックのブロック内レベル数が4以下の場合には、その4値がブロックの代表値となる。
【0141】
すなわち、ブロック内レベル数が4以下の場合には、ブロック内4値近似で符号化されたブロックの復号化画像は、元画像と完全に一致し、可逆符号化と同じ効果をもたらす。ブロック内レベル数が5以上の場合には、ブロック内の画素値を4値に近似して表現を行う。ブロック内の画素値を4値に近似して表現する方法としては、既存の限定色手法、例えばメディアンカット法等を適用することが可能である。
【0142】
ブロック内4値近似符号化回路55の符号データは、ブロックの代表値×4と各画素がどちらかの代表値になるかを示す画素フラグからなる。4つの代表値は各々8bitで示される。また、画素フラグは各画素がどの代表値に割り当てられるかを示すために、画素毎に2bitで示される。8×8ブロックの場合、画素フラグのデータ量は、
8×8×2bit=128bit
となり、4個の代表値のデータ量は合計で
8×4=32bit
となる。
【0143】
ゆえに、ブロック内4値近似符号化回路55の符号データ量は、
128+32=160bit
となるので、この符号化率は
160/(8×8×8)=1/3.2
となる。
【0144】
このブロック内4値近似符号化回路55は、比較的高解像度の画質を必要とする、多くの画素値を含むブロック画像に適用される。例えば、自然画像とCGとを両方含むブロック画像や、複雑なCG領域、複数の画素値を含むCGのエッジの領域などである。
【0145】
次に、ブロック内2値近似符号化回路56について説明する。このブロック内2値近似符号化回路56は、ブロック全体を2値で表現する符号化方式であり、ブロックトランケーション符号化を改良したものである。該当ブロックのブロック内レベル数が2以下の場合には、その2値がブロックの代表値となる。
【0146】
すなわち、ブロック内レベル数が2以下の場合には、ブロック内2値で符号化されたブロックの復号化画像は、元画像と完全に一致し、可逆符号化と同じ効果をもたらす。ブロック内レベル数が3以上の場合には、ブロック内の画素値を2値に近似して表現を行う。ブロック内の画素値を2値に近似して表現する方法としては、ブロック内4値近似符号化回路55と同様に、既存の限定色手法、例えばメディアンカット法等を適用することが可能である。
【0147】
ブロック内2値近似符号化回路56の符号データは、ブロックの代表値×2と各画素がどちらかの代表値になるかを示す画素フラグからなる。2つの代表値は各々8bitで示される。また、画素フラグは画素毎に1bitで示すことが可能である。8×8ブロックの場合、画素フラグのデータ量は、
8×8×1bit=64bit
となり、代表値のデータ量は
8+8=16bit
となる。
【0148】
ゆえに、ブロック内2値近似符号化回路56の符号データ量は、
64+16=80bit
となるので、このモードの符号化率は
80/(8×8×8)=1/6.4
となる。
【0149】
このブロック内2値近似符号化回路56は、比較的高解像度の画質を必要とする、ブロック内に2値程度の画素値を含む領域に適用される。例えば、文字/線画等のエッジを含む領域や、ディザなどの網点を含む領域、CGのグラデーションの領域などに適用される。
【0150】
最後に、ブロックランレングス符号化回路57について説明する。このブロックランレングス符号化回路57は、ブロックトランケーション符号化方式を改良した符号化方式であり、隣り合うブロック画像が全く同じか、あるいは非常に似通っており、さらにそのブロック内の全体の画素値が全く同じか、あるいは殆ど同じ場合に、そのブロック全体を1値で近似表現し、そのブロックが連続する数(ランレングス)とでその連続するブロックを表現する。
【0151】
そして、該当ブロックに対して、上述したブロック内1値近似処理を行った後に、同一のブロックが連続する数をカウントし、その連続数、ランレングスを符号として出力する。ブロック内を1値で近似処理するために、そのブロック内のすべての画像値の平均を求め、その平均値をそのブロックの代表値とする。すなわち、ブロック内の画素値がすべて同一、つまりブロック内レベル数が1であった場合、そのブロックの平均値はそのブロック内の画素値をそのまま示すことになるため、ブロック内の画素値が均一であった場合には、ブロックランレングス符号化されたブロックの復号化画像は元画像と完全に一致し、可逆符号化と同じ効果がある。
【0152】
本実施形態では、ブロックランレングス符号化回路57の符号データ量は、ブロック内の平均値を示す8bitと、ランレングスを示す8bitのデータを含有し、16(=8+8)bitとなる。ランレングスを示すビット数が8bitであることから、ランレングスの最大量は256となる。
【0153】
符号化処理において、カウントしたランレングス数が256よりも大きい場合には、ランレングス符号化回路57はランレングス数が256である符号データを出力し、続いてカウントしたランレングス数から256を減算した値を新たなランレングス数として符号を出力する。この場合、代表値の値は同値である。例えば、カウントしたランレングス数が500だった場合、ランレングス数256の符号と、244(=500−256)の符号とを出力する。減算した新たなランレングス数が256よりも大きい場合には、繰り返しランレングス数256の符号を出力し、再び減算する処理を繰り返す。
【0154】
このブロックランレングス符号化回路57の符号化率は、ランレングスの値により変動する。ランレングスが大きいほど符号化率は高くなり、小さいほど符号化率は低くなる。ランレングスの値の最小値は1である。ランレングスの最小値1の場合の符号化率は、元のブロックのサイズが8×8画像であることから、
(8×8)/(8×8×8×1)=1/32
となるため、このブロックランレングス符号化回路17の符号化率は1/32以上となる。
【0155】
このブロックランレングス符号化回路57による符号化モードは、比較的高解像度の表現を必要としない、画像の背景領域等の均一な画素値が広い範囲に亘って連続する領域に適用される。
【0156】
切り替え回路58は、4つの符号化回路54〜57から出力される4つの符号データを受け取るとともに、画像特性判定回路53から出力されるタグ信号を受け取り、タグ信号の結果により、4つの符号データのうちの1つを選択して多重化回路59に出力する。
【0157】
多重化回路59は、切り替え回路58から出力される符号データと、画像特性判定回路53から出力されるタグ信号とを受け取り、符号データの先頭にタグ信号を埋め込み、一つの符号データとして出力する。多重化回路59から出力されるタグ信号を含む符号データは、バッファメモリやハードディスクなどの記憶媒体に記憶/保存されたり、あるいは伝送系によって画像復号化装置へ伝送されることになる。
【0158】
図18に、本実施形態における符号データのフォーマットを示す。図18に示すように、符号データはブロック毎に出力される。各ブロックの符号データの先頭に2ビットの符号データの種類を示すタグ信号が埋め込まれている。各符号データのフォーマットの詳細を図19に示す。
【0159】
図19から明らかなように、適応ADCT符号化の符号フォーマットは、先頭にADCT符号化であることを示す2ビットのタグ、次にどの量子化テーブルを用いたかを示すタグ、その後ろにADCTの符号データが続く。ブロック内4値符号化の符号フォーマットは、適応ADCT符号化方式と同様に、先頭に符号化方式を示す2ビットのタグ、その後ろにブロック内4値符号化の符号データが続く。この符号データは先ず4つのブロック代表値のデータ、続いてブロック内の各画素がどの代表値に割り当てられるかを示す、画素毎に2ビットのインデックス番号が64(=8×8)個、合計で128ビットのデータが続く。
【0160】
ブロック内2値符号化方式の符号フォーマットは、他の符号化方式と同様に、先頭に符号化方式を示す2ビットのタグ、その後ろに2つのブロック代表値のデータ、続いてブロック内の各画素がどの代表値に割り当てられるかを示す、画素毎に1ビットのインデックス番号が64個、合計で64(=64×1)ビットのデータが続く。ブロックランレングス符号化方式の符号データは、他の符号化方式と同様に、先頭に符号化式を示す2ビットのタグ、続いて1つのブロック代表値とランレングス数を示すデータが続く。
【0161】
図20は、本発明の第2実施形態に係る画像処理装置における画像復号化装置の構成例を示すブロック図である。
【0162】
図20から明らかなように、第2実施形態に係る画像復号化装置80は、タグ抽出回路81、切り替え回路82、適応ADCT復号化回路83、ブロック内4値近似復号化回路84、ブロック内2値近似復号化回路85、ブロックランレングス復号化回路86、切り替え回路87、ブロック/ラスター変換回路88および画像出力装置89を有する構成となっている。
【0163】
上記構成の画像復号化装置80において、タグ抽出回路81は、バッファメモリやハードディスクなどの記憶媒体に記憶/保存されたり、あるいは画像符号化装置50から伝送系によって伝送される符号データを入力とする。この符号データは、先述したようにブロック毎に構成されており、そのブロック毎の符号データの先頭に、その符号データがどの符号化方式により作成されたものであるかを示す2ビットのタグ信号が入っている。タグ抽出回路81は、符号データからこのタグ信号を抽出し、タグ信号と残りの符号データとを分離して出力する。分離されたタグ信号は、切り替え回路82および切り替え回路87に供給される。
【0164】
切り替え回路82は、タグ抽出回路81からタグ信号と、タグ信号抽出後の符号データを受け取り、この受け取った符号データを、同じくタグ抽出回路81から送られるタグ信号に基づいて、符号データの出力先を4つの復号化回路、即ち適応ADCT復号化回路83、ブロック内4値近似復号化回路84、ブロック内2値近似復号化回路85およびブロックランレングス復号化回路86の中から1つ選択して符号データを送り出す。
【0165】
適応ADCT復号化回路83、ブロック内4値近似復号化回路84、ブロック内2値近似復号化回路85又はブロックランレングス復号化回路86は符号データを受け取ると、その符号データを復号してブロック画像を再現する。以下、各復号化回路について具体的に説明する。
【0166】
先ず、適応ADCT復号化回路83は、図21のブロック図に示すように、符号抽出回路91、VLD回路92、逆量子化回路93、量子化テーブル94-1,94-2,94-3、量子化テーブル選択回路95およびiDCT演算回路96を有する構成となっている。このADCT復号化回路83において、符号抽出回路91は、入力される符号データから当該符号データの作成に使用された量子化テーブルを示すタグ信号を抽出する。符号抽出回路91で抽出されたタグ信号は量子化テーブル選択回路95に送られ、また抽出後の残りの符号データはVLD回路92に送られる。
【0167】
VLD回路92はハフマン復号化処理を行い、符号データを量子化後の周波数データに復元する。逆量子化回路93は、VLD回路92の出力である量子化後の周波数データを受け取り、逆量子化を行う。この逆量子化の際に使用される量子化テーブルには、符号抽出回路91で抽出されたタグ信号に基づいて量子化テーブル選択回路95で選択された量子化テーブル94-1/94-2/94-3が用いられる。iDCT演算回路96は、逆量子化回路93から供給される周波数データをiDCT変換してブロック画像に復元して出力する。
【0168】
ブロック内4値近似復号化回路84は160ビットの符号データを受け取り、先頭の32(=8×4)ビットを4つのブロック代表値とする。ブロック代表値は各々8ビットで構成される。残りの128ビットを2ビットずつに分解し、1ブロックを構成する64(=8×8)画素の一つ一つに対応させ、各画素の位置に対応した代表値を示す2ビットのフラグとする。この画素毎のフラグを参照して4つのブロック代表値から値を当てはめて、1ブロック分の画像データを出力する。
【0169】
ブロック内2値近似復号化回路85は、80ビットの符号データを受け取り、このうち先頭の8ビットを1つ目のブロック代表値、次の8ビットを2つ目のブロック代表値とする。残りの64ビットを1ビットずつに分解し、1ブロックを構成する64(=8×8)画素の一つ一つに対応させ、各画素の位置に対応した代表値を示すフラグとする。この画素毎のフラグを参照し、フラグが“0”ならば、その位置の画素には一つ目の代表値を当てはめ、フラグが“1”ならば二つ目の代表値を当てはめる。この作業を1ブロック分行い、1ブロック分の画像データを出力する。
【0170】
ブロックランレングスで符号化されたデータを復号化する場合、ブロックランレングス復号化回路86は16ビットのデータを受け取り、先頭の8ビットのデータをブロックの代表値とし、残りの8ビットをランレングス数とする。復号化回路86では、この代表値を8×8ブロック全体を塗りつぶしたブロックを、ランレングス数だけ繰り返して出力する。
【0171】
切り替え回路87は、タグ抽出回路81から送られたタグ信号を受け取り、このタグ信号に基づいて、4つの復号化回路83〜86のうちのどの復号化回路から画像データを受け取るかを選択し、受け取ったブロック画像をブロック/ラスター変換回路88へ送り出す。ブロック/ラスター変換回路88は、切り替え回路87から受け取ったブロック画像を、元の一つのラスター画像データに変換して画像出力装置89へ送り出す。
【0172】
画像出力装置89としては、プリンター、プロッターなどの画像データを紙上に出力する装置、ディスプレイに画像を表示する装置、メモリ上に直接ラスター画像を出力する装置、あるいはネットワークに画像データを出力する装置などがある。
【0173】
ここで、以上説明した第2実施形態に係る画像処理装置を用いて、入力される画像データに応じて符号化する処理の例について述べる。画像符号化装置50を実際にシステムとして構成する場合、符号データを保持するために、メモリやハードディスクなどの記憶媒体を用意する必要がある。この記憶媒体に保持できるメモリ容量は無限ではなく、必ずハードウェアとしての制限がある。そのため、ある容量の記憶媒体を用意したとき、システムとしてその容量に符号データを収める必要がある。
【0174】
一例として、入力画像データとしてA4 400dpiの画素毎に8ビットのデータを持つ画像を想定し、記憶媒体として5Mbyteのメモリを設定した場合の、本実施形態に係る画像処理装置の動作と設定を説明する。入力画像データはA4 400dpi 8bit/pixelであるので、画像全体で16Mbyteのデータ量となる。符号データを記憶するメモリの容量は5Mbyteなので、入力画像データを符号化し、その符号量を必ず5Mbyte以下にする必要がある。つまり、最低符号化率を1/3.2(=5/16)を100%実現する必要がある。
【0175】
4つの符号化回路54〜57の各々の符号化率は、ブロックランレングス符号化が1/32以上、ブロック内2値近似符号化が1/6.4、ブロック内4値近似符号化が1/3.2、適応ADCT符号化が符号打ち切りの設定による、なので、画像全体での最低符号化率1/3.2を実現するためには、適応ADCT符号化の符号化率が必ず1/3.2以上である必要がある。そのために、適応ADCT符号化における符号打ち切りの設定を1/3.2に設定する。
【0176】
具体的には、ブロック画像は8×8画素で構成されるため、そのビット数は
8×8×8=512ビット
になるため、この数の1/3.2となるビット数
512/3.2=160ビット
に符号打ち切りの目標符号量を設定する。
【0177】
この設定により、適応ADCT符号化回路54での符号化率は1/3.2以上になる。その結果、画像特性判定回路53においてどの符号化回路を選択した場合でも、その符号化率は必ず1/3.2以上になり、画像全体でも符号化率は必ず1/3.2以上となる。これにより、画像全体での最低符号化率を100%保証する。
【0178】
さらに、記憶媒体のメモリ容量を2.5Mbyteとした場合の例を以下に述べる。この場合の画像全体の最低符号化率は1/6.4(=2.5/16)となる。この場合、ブロック内4値近似符号化方式の符号化1/3.2よりも最低符号化率の方が高いため、ブロック内4値近似符号化回路55を選択しないようにする。同時に、適応ADCT符号化の符号打ち切りの目標符号量設定を80(=512/6.4)に設定する。画像特性判定回路53によりブロック内4値近似符号化回路55が選択された場合には、適応ADCT符号化を代わりに適用することで、画像全体での最低符号化率を100%保証する。
【0179】
上述したように、本実施形態に係る画像処理装置においては、ラスター展開された画像データを受け取り、画像符号化装置50で画像符号化処理を施して符号データを出力する一方、この符号データを画像復号化装置80で受け取り、画像復号化処理を施してラスター画像データを出力する際に、CGと自然画像等の画像特性が大きく異なる画像領域が混在した画像であっても、効率的に符号化し、少ない符号データ用メモリ容量であっても、高品質な復号化画像を得ることができる。また、高度な処理を多く含むことから、第1実施形態よりも処理規模は大きくなるものの、より高品質な復号化画像を得ることができる。
【0180】
【発明の効果】
以上説明したように、本発明によれば、入力画像をブロックに分割し、その分割したブロック内に何種類の画素値があるかを示す特性値を判定し、その特性値が第一しきい値以下のときにランレングス符号化、第二しきい値よりも大のときにADCT符号化の各可変長符号化を使用し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに可逆符号化の固定長符号化を使用して入力画像に対する符号化を行うようにしたことにより、CGと自然画像等の画像特性が大きく異なる領域が混在した画像であっても、効率的に符号化し、またこれを効率的に復号化し、少ない符号データ用メモリ容量であっても、伸長画像の画質劣化を最小限に抑えた高品質な画像を得ることが可能となる。
【図面の簡単な説明】
【図1】 本発明の第1実施形態に係る画像符号化装置の構成例を示すブロック図である。
【図2】 第1実施形態に係るADCT符号化回路の構成例を示すブロック図である。
【図3】 第1実施形態に係るデータ例を示す図であり、(a)はブロック画像データ、(b)はDCT係数データ、(c)量子化後のDCT係数データ、(d)は量子化テーブルをそれぞれ示している。
【図4】 第1実施形態に係る画像特性判定のフローチャートである。
【図5】 第1実施形態に係る切り替え回路の構成例を示すブロック図である。
【図6】 第1実施形態に係る符号データのフォーマット図である。
【図7】 第1実施形態に係る符号データのより詳細なフォーマット図である。
【図8】 本発明の第1実施形態に係る画像復号化装置の構成例を示すブロック図である。
【図9】 第1実施形態に係るADCT復号化回路の構成例を示すブロック図である。
【図10】 本発明の第2実施形態に係る画像符号化装置の構成例を示すブロック図である。
【図11】 第2実施形態に係る高/低濃度分布度数の概念図である。
【図12】 第2実施形態に係る白黒反転回数の概念図である。
【図13】 白黒反転回数例を示す図であり、(a)は文字や線画のエッジを含むブロックを二値化した画像例を、(b)は写真などの網点画像を二値化した画像例をそれぞれ示している。
【図14】 第2実施形態に係る画像特性判定のフローチャートである。
【図15】 第2実施形態に係る適応ADCT符号化の符号打ち切りの概念図である。
【図16】 第2実施形態に係る適応ADCT符号化回路の構成例を示すブロック図である。
【図17】 第2実施形態に係る量子化テーブル例を示す図であり、(a)はエッジ用量子化テーブル例を、(b)は網点用量子化テーブル例を、(c)は高符号化率用量子化テーブル例をそれぞれ示している。
【図18】 第2実施形態に係る符号データのフォーマット図である。
【図19】 第2実施形態に係る符号データのより詳細なフォーマット図である。
【図20】 本発明の第2実施形態に係る画像復号化装置の構成例を示すブロック図である。
【図21】 第2実施形態に係る適応ADCT復号化回路の構成例を示すブロック図である。
【符号の説明】
10,50…画像符号化装置、11,51…画像入力装置、13,53…画像特性判定回路、14…ADCT符号化回路、15…ブロック内4値符号化回路、16…ブロック内2値符号化回路、17,57…ブロックランレングス符号化回路、19,59…多重化回路、30,80…画像復号化装置、31,81…タグ抽出回路、33…ADCT復号化回路、34…ブロック内4値復号化回路、35…ブロック内2値復号化回路、36,86…ブロックランレングス復号化回路、54…適応ADCT符号化回路、55…ブロック内4値近似符号化回路、56…ブロック内2値近似符号化回路、83…適応ADCT復号化回路、84…ブロック内4値近似復号化回路、85…ブロック内2値近似復号化回路
Claims (14)
- 入力画像を複数の画素を含むブロックに分割するブロック分割手段と、
前記ブロック分割手段によって分割されたブロック内に何種類の画素値があるかを示す特性値を判定する画像特性判定手段と、
前記入力画像に対して可変長符号化を行うランレングス符号化およびADCT符号化を含む可変長符号化手段と、
前記入力画像に対して固定長符号化を行う可逆符号化の固定長符号化手段と、
前記画像特性判定手段によって判定される前記特性値が第一しきい値以下のときに前記ランレングス符号化、第二しきい値よりも大のときに前記ADCT符号化の各可変長符号化手段を選択し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに前記固定長符号化手段を選択して前記入力画像に対する符号化を行うべく制御する制御手段と
を備えることを特徴とする画像符号化装置。 - 請求項1記載の画像符号化装置においてさらに、
前記可変長符号化手段又は前記固定長符号化手段によって符号化された符号データに対して、その符号化を行った前記可変長符号化手段又は前記固定長符号化手段の識別情報を付加して出力する多重化手段
を備えることを特徴とする画像符号化装置。 - 前記制御手段は、前記ADCT符号化手段において符号化された符号データのデータ量を所定のしきい値と比較する比較手段を有し、
前記特性値に基づいて前記ADCT符号化手段を選択した場合において、前記比較手段によって前記符号データのデータ量が前記しきい値よりも小さいと判定された場合には前記ADCT符号化手段を選択し、前記比較手段によって前記符号データのデータ量が前記しきい値よりも大きいと判定された場合には前記固定長符号化手段を選択する
ことを特徴とする請求項1又は2記載の画像符号化装置。 - 前記制御手段は、前記特性値に基づいて前記ADCT符号化手段を選択した場合において、前記比較手段によって前記符号データのデータ量が前記しきい値よりも小さいと判定された場合には前記ADCT符号化手段において符号化された符号データを選択して出力し、前記比較手段によって前記符号データのデータ量が前記しきい値よりも大きいと判定された場合には前記固定長符号化手段において符号化された符号データを選択して出力する
ことを特徴とする請求項3記載の画像符号化装置。 - 前記所定のしきい値は、予め設定した画像の目標最低符号化率から設定されるブロック毎の最大符号量である
ことを特徴とする請求項3記載の画像符号化装置。 - 前記ADCT符号化手段は、直交変換符号化を行う
ことを特徴とする請求項1記載の画像符号化装置。 - 前記固定長符号化手段が行う符号化は、ブロック全体を2値で表現するブロック内2値符号化およびブロック全体を4値で表現するブロック内4値符号化であり、
前記制御手段は、前記特性値が前記第一しきい値よりも大でかつ当該第一しきい値と前記第二しきい値の間の第三しきい値以下のときに前記ブロック内2値符号化を選択し、前記特性値が前記第三しきい値よりも大でかつ前記第二しきい値以下のときに前記ブロック内4値符号化を選択する
ことを特徴とする請求項1記載の画像符号化装置。 - 前記制御手段は、前記ブロック内2値符号化および前記ブロック内4値符号化のうち、前記画像特性判定手段によって判定される前記特性値と同じ値の代表値を有する符号化を選択する
ことを特徴とする請求項7記載の画像符号化装置。 - 入力画像をブロックに分割してブロック毎に何種類の画素値があるかを示す特性値を判定し、前記特性値が第一しきい値以下のときにランレングス符号化、第二しきい値よりも大のときにADCT符号化の各可変長符号化を使用し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに可逆符号化の固定長符号化を使用して符号化するとともに、その使用した符号化の種別を示す識別情報を付加して得られた符号データを復号化する画像復号化装置であって、
前記符号データから前記識別情報を抽出する抽出手段と、
前記識別情報が抽出された前記符号データを可変長復号化する可変長復号化手段と、
前記識別情報が抽出された前記符号データを固定長復号化する固定長復号化手段と、
前記抽出手段によって抽出された前記識別情報に基づいて前記可変長復号化手段および前記固定長復号化手段のいずれか一方を選択して前記識別情報が抽出された前記符号データに対する復号化を行うべく制御する制御手段と
を備えることを特徴とする画像復号化装置。 - 入力画像を複数の画素を含むブロックに分割してブロック毎に何種類の画素値があるかを示す特性値を判定し、前記特性値が第一しきい値以下のときにランレングス符号化、第二しきい値よりも大のときにADCT符号化の各可変長符号化を使用し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに可逆符号化の固定長符号化を使用して符号化するとともに、その使用した符号化の種別を示す識別情報を付加した符号データを出力する画像符号化装置と、
前記画像符号化装置から出力される符号データから前記識別情報を抽出し、その抽出した識別情報に対応する可変長復号化又は固定長復号化を使用して前記識別情報が抽出された前記符号データを復号化して復号データを出力する画像復号化装置と
を具備することを特徴とする画像処理装置。 - 入力画像を複数の画素を含むブロックに分割し、
その分割したブロック内に何種類の画素値があるかを示す特性値を判定し、
前記特性値が第一しきい値以下のときにランレングス符号化、第二しきい値よりも大のときにADCT符号化の各可変長符号化を使用し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに可逆符号化の固定長符号化を使用して前記入力画像に対する符号化を行う
ことを特徴とする画像符号化方法。 - 前記可変長符号化および前記固定長符号化のいずれか一方を使用して符号化された符号データに対して、その符号化を行った前記可変長符号化又は前記固定長符号化の識別情報を付加して出力する
ことを特徴とする請求項11記載の画像符号化方法。 - 入力画像を複数の画素を含むブロックに分割してブロック毎に何種類の画素値があるかを示す特性値を判定し、前記特性値が第一しきい値以下のときにランレングス符号化、第二しきい値よりも大のときにADCT符号化の各可変長符号化を使用し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに可逆符号化の固定長符号化を使用して符号化するとともに、その使用した符号化の種別を示す識別情報を付加した符号データを復号化する画像復号化方法であって、
前記符号データから前記識別情報を抽出し、
その抽出した前記識別情報に基づいて可変長復号化および固定長復号化のいずれか一方を選択して前記識別情報が抽出された前記符号データに対する復号化を行う
ことを特徴とする画像復号化方法。 - 入力画像を複数の画素を含むブロックに分割してブロック毎に何種類の画素値があるかを示す特性値を判定し、前記特性値が第一しきい値以下のときにランレングス符号化、第二しきい値よりも大のときにADCT符号化の各可変長符号化を使用し、前記特性値が前記第一しきい値よりも大でかつ前記第二しきい値以下のときに可逆符号化の固定長符号化を使用して前記入力画像に対する符号化を行うとともに、その符号化を行った前記可変長符号化又は前記固定長符号化の識別情報を付加して符号データを出力する一方、
前記符号データから前記識別情報を抽出し、その抽出した前記識別情報に基づいて可変長復号化および固定長復号化のいずれか一方を選択して前記識別情報が抽出された前記符号データに対する復号化を行う
ことを特徴とする画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05300798A JP3843581B2 (ja) | 1998-03-05 | 1998-03-05 | 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法 |
US09/253,518 US6343157B1 (en) | 1998-03-05 | 1999-02-19 | Image coding system, image decoding system, image processing system, image coding method, image decoding method, and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05300798A JP3843581B2 (ja) | 1998-03-05 | 1998-03-05 | 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11252563A JPH11252563A (ja) | 1999-09-17 |
JP3843581B2 true JP3843581B2 (ja) | 2006-11-08 |
Family
ID=12930865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05300798A Expired - Fee Related JP3843581B2 (ja) | 1998-03-05 | 1998-03-05 | 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6343157B1 (ja) |
JP (1) | JP3843581B2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643402B1 (en) * | 1999-03-23 | 2003-11-04 | Sanyo Electric Co., Ltd | Image compression device allowing rapid and highly precise encoding while suppressing code amount of image data after compression |
JP3854871B2 (ja) * | 2001-01-30 | 2006-12-06 | キヤノン株式会社 | 画像処理装置、画像処理方法、記録媒体及びプログラム |
JP3857534B2 (ja) | 2001-03-21 | 2006-12-13 | 株式会社リコー | 画像圧縮処理装置 |
US7415441B1 (en) | 2001-03-22 | 2008-08-19 | Ricoh Company, Ltd. | Printing system, apparatus and method for automatically printing records of electronic transactions |
US7092578B2 (en) * | 2001-10-23 | 2006-08-15 | Agilent Technologies, Inc. | Signaling adaptive-quantization matrices in JPEG using end-of-block codes |
JP4313130B2 (ja) * | 2003-09-18 | 2009-08-12 | 株式会社リコー | 画像形成装置、画像形成方法、およびその方法をコンピュータで実行するプログラム |
JP4639582B2 (ja) * | 2003-10-10 | 2011-02-23 | ソニー株式会社 | 符号化装置および符号化方法、復号装置および復号方法、並びにプログラムおよび記録媒体 |
US7936938B2 (en) * | 2004-09-07 | 2011-05-03 | Canon Kabushiki Kaisha | Methods and devices for encoding a digital image signal and associated decoding methods and devices |
JP4605643B2 (ja) * | 2005-02-04 | 2011-01-05 | ソニー・エリクソン・モバイルコミュニケーションズ株式会社 | 無線通信システム、送信装置、受信装置、送信方法および受信方法 |
US7505176B2 (en) * | 2005-03-17 | 2009-03-17 | Kabushiki Kaisha Toshiba | Image processing apparatus |
KR100739110B1 (ko) * | 2005-07-25 | 2007-07-13 | 삼성전자주식회사 | 이진영상 고속 압축방법 |
KR100978767B1 (ko) | 2005-10-14 | 2010-08-30 | 닛본 덴끼 가부시끼가이샤 | 화상 부호화 방법 및 이것을 이용한 장치와 컴퓨터프로그램 |
JP2007312126A (ja) * | 2006-05-18 | 2007-11-29 | Toshiba Corp | 画像処理回路 |
JP4971880B2 (ja) * | 2007-06-20 | 2012-07-11 | キヤノン株式会社 | 画像符号化装置及び画像復号装置、並びにそれらの制御方法 |
JP4971881B2 (ja) * | 2007-06-20 | 2012-07-11 | キヤノン株式会社 | 画像符号化装置及び画像復号装置、並びにそれらの制御方法 |
US8861879B2 (en) * | 2009-09-17 | 2014-10-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image based on skip mode |
JP5524584B2 (ja) * | 2009-11-20 | 2014-06-18 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
JP5457853B2 (ja) * | 2010-01-20 | 2014-04-02 | キヤノン株式会社 | 画像符号化装置、画像符号化方法、プログラム及び記憶媒体 |
JP2012160985A (ja) * | 2011-02-02 | 2012-08-23 | Fuji Xerox Co Ltd | 情報処理装置及び情報処理プログラム |
US8805069B2 (en) * | 2012-06-12 | 2014-08-12 | Kyocera Document Solutions Inc. | Cell-based compression of digital images |
CN104885470B (zh) * | 2013-01-30 | 2018-08-07 | 英特尔公司 | 用于下一代视频的预测和编码的内容自适应划分 |
JP2015053590A (ja) * | 2013-09-06 | 2015-03-19 | 三星ディスプレイ株式會社Samsung Display Co.,Ltd. | 画像符号化装置および画像符号化方法 |
FR3024263B1 (fr) * | 2014-07-24 | 2018-08-24 | Jean-Claude Colin | Procede pour choisir un algorithme de compression en fonction du type d'image |
JP6954161B2 (ja) | 2018-02-08 | 2021-10-27 | セイコーエプソン株式会社 | 画像符号化装置、画像符号化方法、画像符号化システム、記録媒体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68922610T2 (de) * | 1989-09-25 | 1996-02-22 | Rai Radiotelevisione Italiana | Umfassendes System zur Codierung und Übertragung von Videosignalen mit Bewegungsvektoren. |
KR100276427B1 (ko) | 1993-01-30 | 2000-12-15 | 윤종용 | 화상데이타의 압축 및 복원장치 |
JPH10271299A (ja) * | 1997-03-27 | 1998-10-09 | Ricoh Co Ltd | デジタル複合機 |
US6075470A (en) * | 1998-02-26 | 2000-06-13 | Research In Motion Limited | Block-wise adaptive statistical data compressor |
-
1998
- 1998-03-05 JP JP05300798A patent/JP3843581B2/ja not_active Expired - Fee Related
-
1999
- 1999-02-19 US US09/253,518 patent/US6343157B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6343157B1 (en) | 2002-01-29 |
JPH11252563A (ja) | 1999-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3843581B2 (ja) | 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法 | |
US6285458B1 (en) | Image processing apparatus and method | |
JP3237582B2 (ja) | 画像処理装置及び画像処理方法 | |
KR101490215B1 (ko) | 화상처리장치 및 그 처리 방법 | |
JP4152724B2 (ja) | レート帰還を使用したシングルパスフィット保証データ圧縮方法 | |
US7751633B1 (en) | Method for compressing an image | |
US6947600B1 (en) | Information processing method, apparatus and storage medium for receiving and decoding a code sequence obtained by encoding an image | |
US20030031371A1 (en) | Image encoding apparatus and image decoding apparatus | |
JPH08116447A (ja) | 画像信号の符号化装置 | |
US5729625A (en) | Image processing method and apparatus which expand a pixel into multiple pixels, with a change in the number of gray levels | |
US6594385B2 (en) | Image compression of background and text tiles | |
EP0902398B1 (en) | Method and system for compressing and decompressing binary representations of dithered images | |
US7050645B2 (en) | Image processing apparatus and image processing method | |
JP2003046789A (ja) | 画像符号化装置及び画像復号化装置 | |
JPH09205647A (ja) | 画像符号化装置、画像復号化装置および画像処理装置 | |
US7414757B2 (en) | Method for compressing printing hint data sent to a printer | |
JPH08251420A (ja) | カラー画像処理装置 | |
JP3459704B2 (ja) | 画像処理装置及び方法 | |
JPH06178122A (ja) | カラー画像の適応符号化装置 | |
JP2831954B2 (ja) | 画像符号化/復号化装置および画像処理装置 | |
JP3459723B2 (ja) | 画像処理装置及び方法 | |
JP4047207B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム | |
JPH07147638A (ja) | 画像処理装置 | |
JP3432104B2 (ja) | 画像復号装置及び画像復号方法 | |
JP3531844B2 (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060623 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060807 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110825 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |