JP3227222B2 - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JP3227222B2
JP3227222B2 JP26191492A JP26191492A JP3227222B2 JP 3227222 B2 JP3227222 B2 JP 3227222B2 JP 26191492 A JP26191492 A JP 26191492A JP 26191492 A JP26191492 A JP 26191492A JP 3227222 B2 JP3227222 B2 JP 3227222B2
Authority
JP
Japan
Prior art keywords
data
pixel
unit
compression
block
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
Application number
JP26191492A
Other languages
English (en)
Other versions
JPH06113148A (ja
Inventor
和浩 斎藤
ゆかり 下村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP26191492A priority Critical patent/JP3227222B2/ja
Publication of JPH06113148A publication Critical patent/JPH06113148A/ja
Priority to US08/855,504 priority patent/US6427025B1/en
Application granted granted Critical
Publication of JP3227222B2 publication Critical patent/JP3227222B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Color Image Communication Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数種類の入力画
像データに対し、ある種の画像データを他の種類の画像
データで効果的に補間する為の画像処理装置に関する。
【0002】
【従来の技術】現在、多値カラー画像を対象とした圧縮
方式は、可逆符号化方式と非可逆符号化方式がある。可
逆符号化方式は、一般に高い圧縮率を得ることはできな
いが、復号化された画像の劣化はなく、原画とまったく
同じ画像が得られる。つまり、中間調部を多く含む自然
画像に対してこの可逆符号化方式を適用した場合、復元
画像に劣化はないが、高い圧縮率を得ることができな
い。それに対し、DTPソフト等で作成された文字や図
形等のCG画像は、画像を構成する色数が自然画像に比
べ少ないため、比較的高圧縮率を達成することができ
る。
【0003】また、非可逆符号化方式は、一般に高い圧
縮率を得ることはできるが、復号化された画像が、劣化
してしまうという特徴がある。非可逆符号化方式で最近
注目を集めているのが、直交変換として、DCT(Di
screte CosineTransform)変換
を用いたADCT符号化方式がある。この方式は、ある
大きさのブロック単位で処理されるもので、最初に、D
CT変換される。DCT変換された係数は、周波数空間
に変換されるので対象とする画像にもよるが、低い周波
数空間に集中する。それを、量子化し、その係数をラン
レングス符号化する。従って、このADCT符号化方式
を、自然画像に対して適用した場合、自然画像は、低い
周波数空間への集中度が高いため高圧縮率を達成するこ
とができ、復号化画像の劣化も少ない。それに対し、D
TPソフト等で作成された文字や図形等のCG画像は、
高周波成分を多く含むため、周波数空間での集中度が低
い。そのため、このADCT符号化方式を用いて符号化
した場合、圧縮率を高くしずらく、圧縮率を高くすると
復号画像の画質が大きく劣化してしまう。
【0004】このように、対象とする画像の種類によ
り、それに適した符号化方式が異なってくる。従って、
自然画像とCG画像の両方の種類を含むような画像に対
して、1つの方式で符号化を行った場合、その方式に適
さない画像部分が大きく劣化するとか、高圧縮率を得る
ことができない等の問題点が存在する。そこで、1つの
画像に対して複数の方式を用いて、符号化するという方
式が本出願人により提案されている。この特許は、CG
画像は、それに適した可逆符号化方式で符号化し、自然
画像は、それに適した非可逆符号化方式で符号化する。
そして、1つのブロックの中に2つの種類の画像が混在
する場合は、両方の方式を用いて符号化するというもの
である。
【0005】
【発明が解決しようとしている課題】しかしながら、前
記混在ブロックに直接可逆符号化方式を適用した場合、
文字や図形の輪郭部分に高周波成分を含むため、その部
分の画質の劣化が大きくなる。そこで、注目ブロックの
文字や図形部分を回りの自然画像画素で補間することに
より、そのブロックの高周波成分を削除することが必要
となる。
【0006】また、この補間は、高速で動作する符号化
部と同期して動作するため、高速動作可能な方式である
必要がある。
【0007】そこで、本発明は、低コストで高速に画像
データの補間処理を実現することを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明の画像処理装置によれば、n×nブロック単
位で、画素ごとに画像の種類を分類し、その画像種ごと
に圧縮手段を備えた画像処理装置において、その対象と
する画像種以外の画素を、周辺の対象とする画像種の画
素で補間する補間手段を有し、該補間手段は、垂直方向
用の補間手段と水平方向用の補間手段と、前記2つの補
間手段の間で画素の処理順次を変換するための変換手段
で構成され、前記垂直方向あるいは水平方向補間手段
は、直列に並べられたn画素分の画素データを保存する
手段と、前記n個の画素データ保存手段の最初の保存手
段に、そこに入力される画素の種類に応じて書き込み制
御する手段と、各行あるいは列において、その第1の画
素が、対象とする画素でなかったときに最初に現れる対
象とする画素データを保存する複数の手段と、前記n個
の画素データ保存手段からの出力と、前記対象とする画
素でなかったときに最初に現れる対象とする画素データ
を保存する複数の手段からの出力を選択する手段と、そ
れらの手段を制御する手段とを有することを特徴とす
る。或いは、n×nブロック単位で、画素ごとに画像の
種類を分類し、その画像種ごとに圧縮手段を備えた画像
処理装置において、その対象とする画像種以外の画素
を、周辺の対象とする画像種の画素で補間する補間手段
を有し、該補間手段は、垂直方向用の補間手段と水平方
向用の補間手段と、前記2つの補間手段の間で画素の処
理順次を変換するための変換手段で構成され、前記垂直
方向あるいは水平方向の補間方法は、各行あるいは列単
位で処理を行う方式であり、その行あるいは列の第1画
素が対象とする画素種でなかった場合は、最初に現れた
対象とする画素種の画素で、それまでの画素の置換を行
い、それ以外の時の対象とする画素種でない画素は、そ
れ以前の対象とする画素種で置換することにより、補間
を行うことを特徴とする。
【0009】
【実施例】図40は、本発明の実施例の補間処理装置の
実施例である。図40に示されているように、補間動作
は、垂直方向補間回路と水平方向補間回路及び、画像デ
ータの順序を変換するためのメモリにより構成されてい
る。前記のように、この補間処理装置は、符号化装置に
前置されて適用されるものである。以下、その全システ
ムを説明し、そのなかでこの補間処理装置の詳細な説明
を行う。
【0010】以下の説明においては、本実施例において
使用する可逆圧縮法をCG圧縮と称する。先ず、本実施
例における画像処理の概略を説明する。 〈圧縮処理〉本実施例においては、入力画素データとし
て水平垂直m×n画素(以下、ブロックと呼ぶ)の画素
データ群と、1画素につき1つの画素種を示す画素種情
報群(自然画像画素を「画素A」、その他の画素を「画
素B]とした2種の画素種情報)を保持するラスターブ
ロック変換部を備える。
【0011】そして、ブロック中すべての画素種情報が
画素Aである時、ADCT圧縮法データを出力する。
【0012】一方、ブロック中全ての画素種情報が画素
Bである時、CG圧縮データ量Dと、与えられた限界値
Lとを比較して、 ・D<=Lである時、CG圧縮データを出力する。 ・D>Lである時、ADCT圧縮データを出力する。
【0013】更に、ブロック中に画素Aと画素Bが混在
する時、画素種情報が画素Aである画素データを画素デ
ータ(イ)で置換し、画素種情報が画素Bでありかつ画
素データが(イ)である画素データを(ロ)で置換す
る。そして、その時のCG圧縮データ量Dと与えられた
限界値Lとを比較して、 ・D<=Lである時、置換された画素データ群のCG圧
縮データを出力し、かつ画素種Bの画素データを抜いて
補間した画素データ群のADCT圧縮データを出力す
る。 ・D>Lである時、ADCT圧縮データを出力する。
【0014】そして、更に、以上の様にして圧縮処理を
施し、各場合で出力されたADCT圧縮データとCG圧
縮データを記憶する圧縮メモリを備える。また、可逆圧
縮データが出力されたブロックは「0」、その他のブロ
ックは「1」という信号を記憶するブロックにつき1ビ
ットで表すブロックマップメモリを備える。
【0015】ADCT圧縮データはハフマンコードp
個、ハフマンコードq個、ハフマンコードr個、…の様
に分割され、可逆圧縮データと共に圧縮メモリに記憶さ
れる。圧縮メモリの制御はセグメントコントローラが行
い、各圧縮データの書き込まれたアドレスはセグメント
情報テーブルが記憶する。
【0016】以上の圧縮処理中にメモリが足りなくなっ
たときはセグメント情報を参照し、分割されたADCT
圧縮データの重要でないデータから順番に新たな圧縮デ
ータを上書きすることによってメモリの記憶容量を一定
としながら後述する制御を可能としている。
【0017】〈伸長処理〉ブロックマップメモリから1
ビットデータのブロックマップを読み出し、ブロックマ
ップが1の時、圧縮メモリから読み出されたADCT圧
縮データを伸長し、ブロックラスタ変換部に伸長データ
を書き込む。
【0018】また、ブロックマップが「0」の時、圧縮
メモリから読み出されたCG圧縮データを伸長し、画素
種情報を解析し画素種情報ビットマップを作成する。
【0019】更に、前記ビットマップに画素種Aが1つ
でも存在する時、圧縮メモリから読み出されたADCT
圧縮データを伸長し、ブロックラスタ変換部には前記ビ
ットマップが画素種Aを示す画素はADCT伸長データ
を書き込み、画素種Bを示す画素はCG伸長データを書
き込む。
【0020】更にまた、前記ビットマップが全て画素デ
ータ種Bを示す時、CG伸長データをブロックラスタ変
換部に書き込む。
【0021】以上の圧縮伸長処理では、画質または圧縮
データ量が問題となっていた画素種Aと画素種Bの混在
ブロックであっても、画素データを置換してCG圧縮
し、画素データを補間してADCT圧縮をかけることに
より、画質または圧縮データ量の問題を解決する。
【0022】両方の圧縮データを採用することにより、
必要となる1画素ごとの画素種データはGC圧縮データ
に埋め込むことができるので、余計なビットマップメモ
リを必要としない。さらに、CG画像データ量Dが限界
値Lを越えたときはADCT圧縮法に切り替えることに
よってメモリ量が一定量に押さえながら伸長処理を行う
ことができる。
【0023】尚、ラスターブロック変換部とブロックラ
スタ変換部はバッファであり、同一のもので良い。
【0024】以上の概略を備える本実施例のデータ圧縮
装置の詳細について以下に説明する。
【0025】以下の説明では、処理を行うブロックの単
位をm=8、n=8とする。しかし、ブロックの単位は
以上の例に限定されるものでは無く、任意のブロックサ
イズとして良いことは勿論である(例えば、ADCTで
色差成分サブサンプリングを行う構成のときはm=1
6、n=8となる)。
【0026】また、上述した限界値Lは、それまでに処
理されたブロックの許容されながら使用しなかったメモ
リ量を蓄積するメモリ蓄積量S(以下、「貯金S」と称
す)と、処理ブロックに許容される定数値Cとを加算し
て得る。
【0027】以下、以上概略説明した本発明に係る一実
施例のデータ圧縮装置の詳細構成を説明する。
【0028】図1に本実施例のデータ圧縮装置の構成を
示す。図中、1は上述したラスターブロック変換部であ
り、NTSC−RGB形式の1画素当たり24ビットの
画素データと、当該画素の画素種情報(自然画像画素で
あれば画素種Aとして「1」、その他の画像のときは画
素種Bとして「0」)を8ライン分保持している。そし
て、1ブロック分の画素データ(1a)と、画素種情報
(1b)をパラレルに発生する。この画素種情報は、図
示されていない頁記述言語展開部が展開時に生成するも
のである。
【0029】2はブロック遅延部であり、CG圧縮処理
結果によりADCT圧縮結果の要否が左右することから
ラスターブロック変換部1からの1ブロック分のデータ
(1a及び1b)を遅延して保持する。
【0030】そして、ラスタ順次で入力されたデータ
(1a、1b)は、図41のような順次に変換されて出
力される。
【0031】3は画素データ補間部であり、ブロック遅
延部2から読み出されたデータ(1a′)を信号1fの
制御で補間する。信号1fは信号1b′及び1eのOR
をとって作製される1画素当たり1ビットのデータであ
る。例えば、信号1b′が図2に示すデータである時、
信号1eが「0」であれば信号1fは図3に(a)で示
す様になり、信号1eが「1」であれば信号1fは図3
に(b)で示す様になる。
【0032】次に画素データ補間部3の詳細な説明を行
う。
【0033】まず、画素データ補間部3を実現するため
のアルゴリズムを説明するため簡単な例を用いて述べ
る。
【0034】図42(a)、図43(a)、図44
(a)は、画素データ補間部3に入力される自然画像の
8×8データを示す画素データであり、図42(b)、
図43(b)、図44(b)は、入力される属性データ
を示している。図42は、1つの8×8ブロックが、全
て自然画像の場合であるので、属性データは、すべて
“1”となる。図43は、1つの8×8ブロックが、全
てCG画像の場合であるので、属性データは、全て
“0”となる。そして、図44は、自然画像とCG画像
が混在する場合であるので、属性データは、CG領域を
示す“0”とその他の自然画像を示す“1”で構成され
ている。
【0035】画素データ補間部3が、動作するのは、図
44の場合で、その他の場合は、データの加工(補間)
が行われないでそのまま、ADCTに転送される。
【0036】画素データ補間部3は、垂直方向の補間と
水平方向の補間の2回の補間動作で達成される。それら
の様子を実際に示しているのが、図45〜図47であ
る。図45は、CG画像と自然画像が混在された場合の
図で、図45(a)が、画素の1成分データを示し、1
20〜180は、自然画像の画素を示し、30はCGに
より作成された画素を示す。図45(b)は、その属性
データを示し、“0”と“1”により、自然画像の領域
とCG画像の領域が明確に示されている。
【0037】図46は、垂直方向の補間が行われた結果
の1成分データを示している。この補間は、1つの列に
おいて、上から下方向に補間が行われる。第0列におい
て、CG画素と接する自然画像画素の値“140”が、
2つ補間され、次にCG画素と接する自然画像画素の値
“160”が、1つ補間される。次に第1列においても
同様に、CG画素と接する自然画像画素の“130”
が、2つ、“170”が2つ補間される。第2列も同様
に行われ、第3、4列は、自然画像画素が存在しないの
で、補間動作は行われない。第5列も、垂直方向上から
下に補間が行われるが、上側に自然画像画素が存在しな
い場合は、下側でCG画素と接する自然画像画素“16
0”が、単純繰り返しされる。第6、7列も同様に行わ
れる。図46(b)では、補間が行われた画素は、自然
画像を示す“1”となり、まだ補間が行われていない画
素は、“0”のままである。
【0038】次に、水平方向の補間が行われるが、その
結果の1成分データを示しているのが図47(a)であ
る。まず、第0行において、水平方向にCG画像と接す
る自然画像画素“140”が、単純繰り返しされる。第
1、2行においても“140”が補間される。第3行で
は、“180”が、第4行から7行までは、“190”
が補間される。
【0039】以上により、図47(b)のように全面補
間が行われる。
【0040】図48は、以上の補間アルゴリズムを示す
フローチャートである。
【0041】パラメータの説明を行う。
【0042】Pij(i:0〜7、j:0〜7)は、i
行j列の画素データ Xij(i:0〜7、j:0〜7)は、i行j列のXデ
ータ n=0の場合は、垂直方向補間を示し、n=1の場合
は、水平方向補間を示す。cは、CG画素の連続数であ
る。
【0043】主要ブロックの説明を行う。
【0044】S2001、S2002、S2021は、
初期設定である。
【0045】S2003は、列に置いて最初の画素が、
CG画素か、自然画素かを判別するものである。CG画
素の場合は、S2020にて、そのための特別処理を行
う。
【0046】S2004では、注目画素を垂直方向に1
つインクリメンとし、S2005にて、注目画素が、C
G画素か自然画素か判断、S2006では、S2005
にて注目画素が、CG画素と判断された場合に、前の画
素の値を注目画素に代入する。
【0047】S2007では、注目列が終了したかどう
か、判定し、終了していない場合は、S2004〜S2
006までを繰り返す。
【0048】S2008h、注目列が終了した場合に次
の列に進むための処理である。
【0049】S2009は、垂直方向の補間が、全ての
列で終了するまで、S2020を含む以上の動作を繰り
返し行うためものである。
【0050】また、S2020のフローチャートについ
て説明する。
【0051】S2013にて、パラメータの初期化を行
う。
【0052】自然画素が出現するまで、S2014、S
2015、S2016を繰り返し、CG画素の連続数を
カウントする。注目列が全てCG画素の場合は、補間を
行わないで、S2008へ進む。
【0053】S2017、S2018では、先のCG画
素に出現した自然画素の値を補間し、S2007へ進
む。
【0054】S2010では、n=0ならば、水平方向
の補間を行うために、S2011へ進み、n≠0なら
ば、水平方向の補間が終了したので、全補間処理を終了
する。
【0055】S2011では、水平方向の補間を行うた
めに、行列の転置を行う。
【0056】S2012では、nをインクリメントす
る。
【0057】さて、図40は、この補間アルゴリズムを
実現するための実施例である。
【0058】図40において、ラッチ551〜558
は、パイプラインで画像を補間するためのもので、8×
8ブロックにおいて1行あるいは、1列分の画像データ
が保存されるもので、それらは、図40中に記載されて
いない基本クロックに同期してデータが、転送される。
そして、ラッチ551は、信号1fと制御部562から
生成される信号IRIのOR信号により制御される。信
号IRIは、各列の最初の画素が、CG画素の時、自然
画像画素が発生されるまで、HIGHTを出力され、そ
の他の場合は、常にLOWを出力する。即ち、注目列が
すべてCG画素の時は、その列は、すべてHIGHTが
出力されることになる。従って、信号1fがHIGHT
か、または、信号IR1が、HIGHTの時は、ラッチ
551に書き込まれるが、その他の場合はラッチ551
に1a′のデータは、書き込まれない。
【0059】ラッチ559、560は、各列、行におい
て、最初の画素が、CG画素でその後初めて出現した自
然画像画素を一時保存しておくためのものである。セレ
クタ561は、ラッチ558からのデータとラッチ56
0からのデータを選択するためのものである。制御部5
62は、信号1fに基づきラッチ559、560、そし
て、セレクタ563を制御し、各画素データの新たな属
性データを生成するためのものである。
【0060】メモリ563は、画素データとその属性デ
ータを一時保存し、図41で示される順次で入力された
データを図49で示される順次に変換して出力するもの
である。
【0061】水平方向補間回路は、前記の垂直方向補間
回路とほぼ同じ回路で、データの入力される順次が異な
ることから、水平方向の補間動作が行われるものであ
る。また、この後のADCTでは、属性データは、必要
とされないため出力されない。
【0062】さて、以下に、垂直方向回路の処理過程を
図45、図46を用いて説明する。第0列目の最初の画
素“120”は、自然画像画素であるのでその信号1f
は、HIGHTである。従って、第1クロックで、その
画素データ“120”が、ラッチ551に書き込まれ
る。第2クロックでは、ラッチ551の内容“120”
が、ラッチ552に書き込まれ、と同時にラッチ551
に次の画像画素データ“130”が、書き込まれる。第
3クロックでは、画素データ“140”が、ラッチ55
1に書き込まれ、ラッチ551に書き込まれてあった
“130”が、ラッチ552に書き込まれ、ラッチ55
2に書き込まれてあった“120”が、ラッチ553に
書き込まれる。第4クロックでは、画素データ“30”
は、CG画素であるため、信号1fは、LOWとなる。
従って、画素データ“30”は、ラッチ551に書き込
まれず、ラッチ551のデータ“140”が、そのまま
残り、ラッチ551に書き込まれてあった“140”
が、ラッチ552に書き込まれ、ラッチ552に書き込
まれてあった“130”が、ラッチ553に書き込ま
れ、ラッチ553に書き込まれてあった“120”が、
ラッチ554に書き込まれる。第5クロックでは、第4
クロックと同様に画素データ“30”は、ラッチ551
に書き込まれず、ラッチ551のデータ“140”がそ
のまま残り、ラッチ551に書き込まれてあった“14
0”が、ラッチ552に書き込まれる。以下、同様に次
々とラッチにデータが伝送される。第6クロックでは、
画素データ“150”は、自然画像画素であるので、ラ
ッチ551に書き込まれ、以下同様に次々とラッチにデ
ータが伝送される。第7クロックでは、画素データ“1
60”は、自然画像画素であるので、ラッチ551に書
き込まれ、以下同様に次々とラッチにデータが伝送され
る。そして、この列最後の第8クロックでは、画素デー
タ“30”は、CG画像画素であるので、ラッチ551
には、データが書き込まれず、ラッチ551の画素デー
タ“160”が、以下同様に次々と伝送される。このと
き、ラッチ551から558までには、第0列の垂直方
向補間されたデータが格納されている。そして、つぎの
第1列のデータが入力されると同時に、順次セレクタ5
61にデータが、出力される。ラッチ559、560
は、注目列の最初の画素がCG画素であった場合に使わ
れるので、この列では、用いれられずセレクタ561
は、当然ラッチ558のデータが選択される。そして、
そのデータは、メモリ563に格納される。この列で
は、すべての垂直方向補間が動作したので、制御部56
2から属性データ“1”が順次出力される。
【0063】第1列及び第2列は、第0列に続いて順次
画素データ及び属性データが入力され、第0列と同様に
垂直方向の補間が行われる。
【0064】第3列は、第2列に続いて順次入力される
が、この列には、自然画像画素が存在しないため、補間
動作が行われずそのまま、画素データ及び属性データ
が、メモリ563に出力される。第4列に関しても同様
である。
【0065】さて、第5列では、最初の画素が、CG画
素であるためIR1からHIGHTが出力されそのデー
タ“30”が、ラッチ551に書き込まれる、次の画素
“30”も同様に書き込まれる。それから、次々と画素
データ“30”が、ラッチ551から557まで転送さ
れていく。そして、この列最後の画素“160”は、自
然画像画素であるのでラッチ551に書き込まれると同
時にラッチ559に書き込まれる。ラッチ559のデー
タ“160”は、次のクロックになる前にラッチ560
に書き込まれる。次のクロックでは、第6列の画素デー
タ“30”が、ラッチ551に書き込まれ、ラッチ55
1から558までそれぞれのデータが転送され、セレク
タ561では、制御部562からのIV1信号に従っ
て、ラッチ560のデータ“160”が選択され、補間
が行われる。次のクロックでもラッチ551に新たなデ
ータが入力されるとともに、ラッチ551から558ま
で、それぞれのデータが転送され、セレクタ561で
は、制御部562からの信号IV1にしたがって、ラッ
チ560のデータ“160”が、選択される。第5列の
データは、以下同様にラッチ560のデータ“160”
により、補間が行われる。
【0066】第6列、第7列も第5列と同様に垂直方向
補間が行われ、その結果は、メモリ563に書き込まれ
る。メモリ563に書き込まれたデータは、図49に示
されているような順次で出力され、水平方向補間が行わ
れる。水平方向補間回路の動作は、垂直方向補間回路と
ほぼ同じ動作を行う。異なる点は、入力されるデータの
順次が異なるのと必要でない属性データが出力されない
点である。
【0067】図40の実施例では、垂直方向補間回路と
水平方向補間回路を別々に用意したが、この2つの回路
は、ほぼ同じ回路構成であるので、図50のように1つ
の補間回路580を設けて、本発明を実現することもで
きる。
【0068】また、メモリ563は、図40において1
メモリで実現することもできるが、パイプライン処理を
行う場合や、図50の回路では、図51のようにダブル
メモリ(582、583)をセレクタ581、584を
用いて実現しても良い。
【0069】本実施例では、最初に垂直方向の補間を行
ってから、水平方向の補間を行うが、その逆に最初に水
平方向の補間を行い、次に垂直方向の補間を行っても良
い。また、垂直方向補間回路において、ラッチを551
から558まで8つの設けたが、ブロックのサイズに応
じて、たとえば、10×10ならば、10個用意するこ
とにより、あらゆるブロックサイズに対応することがで
きる。
【0070】4はADCT圧縮部であり、信号1gが
「1」のときに画素データ補間部3からのデータを入力
してADCT圧縮処理を行い、圧縮データを多段階に分
割して出力する。信号1gは、信号1eが「1」のとき
(即ちGC圧縮データ量D>L、またはD=64のと
き)、または信号1cが「1」のとき(即ち画素種信号
1bに1つでも画素種Aが存在するとき)に「1」を出
力する1ブロック当たり1ビットのデータである。
【0071】5は画素種情報解析部であり、ブロックの
画素種上の1b中に1つでも画素種Aが存在すれば
「1」、その他のときは「0」という1ブロック当たり
1ビットの信号1cと、ブロックの画素種情報1b中に
1つでも画素種Bが存在すれば「1」、その他のときは
「0」という1ブロック当たり1ビットの信号1dを発
生する。
【0072】7は画素データ置換部であり、ラスターブ
ロック変換部1から画素データ1aと画素種情報1bを
入力して、画素種情報が画素Aである画素データを画素
データ(イ)で置換し、画素種情報が画素Bでありかつ
画素データが(イ)である画素データを(ロ)で置換す
る。
【0073】8は可逆圧縮部(CG圧縮部)であり、画
素データ置換部7から置換データを入力し、信号1c及
び1dを参照してCG圧縮処理を行い、圧縮データ及び
領域判定結果1eを出力する。判定結果1eは(D>
L)の時、又は(D=64)のときに「1」であり、そ
の他のときに「0」である1ブロック当たり1ビットの
信号である。
【0074】9は圧縮データ保持部であり、CG圧縮デ
ータを一時保持し、信号1hが「1」のときに圧縮デー
タを出力する。信号1hは信号1eが「0」かつ信号1
dが「1」であるとき「1」のデータ、その他のときは
「0」である1ブロック当たり1ビットのデータであ
る。
【0075】10はセグメントコンローラであり、圧縮
で保持部9の圧縮多段階に分割された圧縮データとAD
CT圧縮部4の圧縮データを入力し、それらを圧縮メモ
リに格納するためのメモリアドレスの制御を行う。11
はセグメント情報テーブル部であり、各データの書き込
まれたアドレスを記憶する。
【0076】12は圧縮メモリで、複数の小セグメント
から構成されており、セグメントコントローラ10から
出力されたデータを指定されたアドレスに書き込む。
【0077】13はブロックマップメモリで1ブロック
付1ビットの信号1hを記憶する。
【0078】14は制御部で、上述の各構成の動作タイ
ミングの制御を行う。
【0079】以上の構成により、圧縮メモリ12には分
割されたADCT圧縮データとCG圧縮データが格納さ
れ、圧縮処理中にメモリが足りなくなったときはセグメ
ント情報データを参照し、分割されたADCT圧縮デー
タの重要でない階段のデータから順番に新たな圧縮デー
タを上書きすることによりメモリ量一定を達成する。
【0080】図4に画素データ置換部7の詳細なブロッ
ク図を示す。
【0081】画素データ置換部7は、図4に示す様に、
ラスターブロック変換部1からの入力画素データ群(1
a)を比較部7aでそれぞれ画素データ(イ)と比較
し、一致した場合セレクタ部7bで画素データ(ロ)に
置換する。また、画素種信号1bが「1」のときはその
画素はセレクタ部7cで画素データ(イ)に置換する。
このように、画素種情報が「1」である画素(即ち自然
画像画素)は全て画素データ(イ)に置換する処理によ
って、画素種Aと画素種Bとの混在画像のCG圧縮デー
タが増えることを防ぎ、同時に画素種情報を圧縮データ
に埋め込むことが可能となる。このため画像データ
(イ)の値を持つ画素種Bのデータが画素データ(ロ)
の値を持つという微小な誤差が発生するが画質に影響は
ない。本実施例では、(イ)={127、127、12
7}とし、(ロ)={128、128、128}とす
る。しかし、画素データの閾値は上述の値に限るもので
は無く、任意の値で良い。
【0082】可逆圧縮部(CG圧縮部)8の詳細ブロッ
ク構成を図5に示す。
【0083】図5において、201は画素データ並び変
え部であり、画素データ置換部7からの画素データを例
えば、図6に示すように順番に並び変える。
【0084】202は第1ラッチ部であり、画素データ
並び変え部201からの画素データ(24ビット)を保
持する。203〜205は第2〜第4ラッチ部で、第1
ラッチ部202より出力される画素データ(24ビッ
ト)を保持する。
【0085】206は第1比較部であり、画素データ並
び変え部201からの画素データ2cと、第1ラッチ部
202に保持されている画素データとを比較し、両者が
等しいとき「0」を、異なるとき「1」という信号2a
を出力する。
【0086】207〜209は第2〜第4比較部であ
り、画素データ並び変え部201からの画素データ2c
と、第2〜第4ラッチ部(203〜205)に保持され
ている画素データとを比較し、両者が等しいとき「0」
を、異なるとき「1」を出力する。210はデコード部
であり、第2比較部207の比較結果、第3比較部20
8の比較結果、及び第4の比較部209の比較結果を入
力し、2ビットの信号2b(00:第2比較部で一致、
01:第3比較部で一致、10:第4比較部で一致、1
1:第2〜第4で不一致)を出力する。
【0087】211はセレクタ部であり、第1比較部2
06の比較結果2a、デコード部210の信号2b、及
び画素データ並び変え部201より出力される画素デー
タ2cを選択して出力する。212は制御部であり、信
号2a及び2bを入力し、第2ラッチ部203、第3ラ
ッチ部204、第4ラッチ部205のライト信号を出力
し、セレクタ部211を制御する。
【0088】制御部212は、ラッチ信号<入力(2
a,2e,2f)>とすると、 <0,**:0,0,0>信号2aが「0」のときはどれ
も書き換えない。 <1,00:1,0,0>2a=1,2b=00のとき
は第2ラッチ部のライト信号2dを1にする。 <1,01:0,1,0>2a=1,2b=0「1」の
ときは第3ラッチ部のライト信号2eを1にする。 <0,10:0,0,1>2a=1,2b=10のとき
第4ラッチ部のライト信号2fを1にする。 <1,11:一番古い色のデータの保持されているラッ
チ部のライト信号を1にする>様に制御する。
【0089】213はバックアッ部であり、処理前に、
第1ラッチ部202、第2ラッチ部203、第3ラッチ
部204、第4ラッチ部205の各ラッチ部のラッチ内
容のバックアップを取っておき、処理後、判定結果が領
域2となったときに、第1ラッチ部202〜第4ラッチ
部204の内容を処理前のデータに戻す。214は領域
判定部であり、信号2a及び2bを入力し領域判定信号
1e(0:領域1、1:領域2)を出力する。
【0090】以上の構成よりなるCG圧縮部8により、
入力された画素データを圧縮することにより、1ビット
のデータの変化もなく伸長することが可能となる。
【0091】図7に図5に示す領域判定部214の詳細
なブロック構成を示す。
【0092】図7において、301はカウンタで信号2
aが「1」のときの回数(即ち色の変化点の数)を計算
する。302はカウンタで信号2aは1かつ2bが1
「1」のとき回数(即ち、どのラッチにもない色の出現
回数)を計算する。303は乗算部であり、カウンタ3
01からの出力と、信号2aのビット数2とを乗算して
出力する。304は乗算部であり、カウンタ302から
の出力と信号2cのビット数24を乗算して出力する。
【0093】305は加算部であり、色の変化点情報6
4ビットと乗算部303からの出力、及び乗算部304
からの出力を加算し、最終的にそのブロックが必要とす
るビット数(圧縮データ量)Dを出力する。
【0094】306は加算部であり、バッファ307か
らの出力とそのブロックのあまりメモリ量を加算し(即
ち処理済のブロックのあまりメモリ量である貯金Sを加
算し)出力する。307はバッファであり、信号3dが
「1」のときに加算部306からの出力に更新される。
信号3dは信号3aが「0」(即ちD>=L)かつ信号
1dが「1」(即ちブッロク中の画素種データに画素種
Bは少なくとも1つ存在する)のとき「1」になる。
【0095】308はセレクタ部であり、画素種判定部
5からの信号1cが「0」のとき定数値Cを、「1」の
ときC′を選択して出力する。309は減算部であり、
セレクタ部308の出力から加算部305の出力である
圧縮データ量Dを減算する。310はセレクタ部で信号
3dが「0」のとき、減算部309からの出力を、信号
3bが「1」のとき定数(C−R)を選択して出力す
る。
【0096】311は加算部であり減算部309の出力
とバッファ307の出力である貯金Sを加算する。31
2は比較部であり、加算311の出力と0を比較し、0
以上だったら領域1として「0」を、0未満だったら領
域2として「1」という信号3aを出力する。
【0097】313は比較部であり、加算部305から
の圧縮データ量Dと64を比較し、一致したら「1」を
出力し、異なれば「0」を出力する。領域判定信号1e
は比較部312からの信号3aと比較部313からの信
号3bの論理和をとって作成される。
【0098】そのブッロクに与えられる限界値L(貯金
S+そのブロックの限界値CまたはC′)と圧縮データ
量Dを比較し、D>Lのときに信号1eを「1」にして
ADCT圧縮に切り替えるのは、最終的なメモリ量オー
バーを避けるためである。
【0099】また、D=64(即ち、64個の画素デー
タは同じ値を持つ平坦画像)の時やはり信号1e「1」
にする。これは、平坦画像のときはADCT圧縮法で圧
縮しても色データがやや変化するが劣化が目立たず、か
つ圧縮率が高いからである。
【0100】一方、平坦画像が全面画素種Aであるため
に作成されたものでない場合、貯金Sには定数値Cから
平坦画像をADCT圧縮したときの経験的圧縮データ量
を引いた値(C−R)を加算する。その他のときは信号
1eは「0」となり、貯金Sには定数CまたはC′から
の圧縮データ量Dを引いた値が加算される。定数はブロ
ック中の画素種が全て画素種BのときCとなり、その他
のときC′となる。
【0101】以上の構成を備える本実施例におけるデー
タ圧縮方法の流れについて図8〜図10のフローチャー
トも参照して以下に説明する。
【0102】図6は図1におけるデータ圧縮装置の圧縮
処理手順を表わすフローチャートである。尚、以下の説
明においては第1のラッチ部202に保持される最新の
更新後の色データを後データとし、第2ラッチ部〜第4
ラッチ部(203〜205)に保持される最新の更新前
の色データを前データ[0],前データ[1],前デー
タ[2]とする。また、画素データ並び変え部201よ
り出力される画素データを注目データとする。後デー
タ、前データ[0−2],注目データはNTSC−RG
B形式のデータであり、R,G,B,それぞれのデータ
を有する。
【0103】本実施例では、圧縮率1/10を目標とし
1ブロックに与えられる固定値Cは(64×24)/1
0=153ビットとする。また、混在ブロックのときの
固定値C′は「100」とする。これは、混在のときは
そのブッロクはCG圧縮処理と同時にADCT圧縮処理
も行うのでADCT圧縮の圧縮データ量の分のメモリ領
域を考慮に入れなければいけないからである。
【0104】また、64画素共に同じデータを持つブロ
ック(平坦ブロック)のときのSDCT処理の際の経験
的に設定される圧縮データ量をRとする。
【0105】まず、ステップS401で、貯金Sを12
8にリセットする。ここで、初期値が「0」でないの
は、最初のブロックで新しい色が複数出現したときの保
険である。即ち、本実施例のCG圧縮法では、色の変化
点を示す情報(後述するステップS506,S601)
として1ブッロク64ビットが必必要であり、色の変化
点ではラッチ情報(後述するステップS606,S60
8,S610,S612)として2ビット必要となり、
ラッチにない新しい色が出現したときは色データをその
まま出力する(後述するステップS613)ため24ビ
ット必要となるからである。この結果、1ブロックC=
153のとき、そのブロック内での新色出現は(C−6
4)/24となり、3色が限界である。従って、ある程
度の貯金がはじめに必要となる。
【0106】続くステップS402では、CG圧縮部8
の4つのラッチをリセットする。本実施例では、通常の
画像は白地に黒が多いと仮定し、後データ={255,
255,255},前データ[0]={0,0,0}と
し、次は赤、青が多いと想定し前データ[1]={25
5,0,0},前データ[2]={0,0,255}と
する。また、注目データの色がどのラッチの色データと
も一致しなかったとき、一番古い色データの入っている
ラッチを書き換えたいためラッチの色データ書換情報と
してturn,turm_p,turn_ppをそれぞ
れ0,1,2にリセットする。
【0107】ステップS403ではCG圧縮部8の4つ
のラッチ(後データ,前データ[0−2])、及び色デ
ータ書換情報(turn,turm_p,turn_p
p)のバックアップを取る。
【0108】ステップS404ではビットマップメモリ
内の64ビットの情報を参照して、全て1(即ち全ての
自然画像画素)のときはステップS405に進み、全て
0(即ち自然画像画素でない画素)のときはステップS
415に進み、0と1が混在している場合はステップS
407に進む。
【0109】ステップS405ではそのブロックは自然
画像領域としてブロックマップメモリに領域2という信
号「1」を出力する。続くステップS406ではブロッ
ク遅延部2が保持している1ブロック分のデータを画素
データ補間部により補間し、ADCT圧縮処理を行う圧
縮データを出力する。そしてステップS426に進む。
【0110】ステップS426では全ての処理が終了か
否かを調べる。全ての処理が終了していなければステッ
プS403に戻り、以上の処理を繰り返し、終了してい
れば圧縮処理を終了する。
【0111】一方、ステップS407ではラスタブロッ
ク変換部1が保持している1ブロック分のデータ1aを
画素種信号1bを参照しながら置換したデータにCG圧
縮処理を行い、圧縮データ保持部9に圧縮データを格納
し、その時の圧縮データ量Dを演算する。ステップS4
08では圧縮データ量Dが限界値L(=貯金S+混在ブ
ロックのときの固定値C′)以下であるか否かを調べ
る。そして、(C′+S)>=Dであれば、領域1とし
て、ステップS409に進み、(C′+S)<Dであれ
ば領域2としてステップS413に進む。
【0112】ステップS409ではブロックマップメモ
リに領域1という信号「0」を出力する。そして続くス
テップS410て圧縮データ保持部9から圧縮データを
出力する。ステップS411では貯金Sに(C′−D)
を加える。そしてステップS406に進む。
【0113】ステップS413では上述したステップS
405と同様に、当該ブロックは自然画像領域としてブ
ロックマップメモリに領域2という信号「1」を出力す
る。続くステップS414ではブロック遅延部2が保持
している1ブロック分のデータを画素データ補間部によ
り補間し、ADCT圧縮処理を行う圧縮データを出力す
る。そしてステップS428に進む。ステップS428
では、CG圧縮部4のラッチ4つ(後データ,前データ
[0],前データ[1],前データ[2])及びラッチ
の書換情報(turn,turm_p,turn_p
p)に、それぞれのバックアップデータを代入する。即
ちそのブロックのCG圧縮データ量Dを演算した際に書
き換えられてしまった情報をそのブロックを処理する前
の状態に戻す。
【0114】一方、ステップS404よりステップS4
15に進んだ場合には、ラスタブロック変換部1が保持
している1ブロック分のデータ1aを画素種号1bを参
照しながら置換したデータにCG圧縮処理を行い、圧縮
データ保持部9に圧縮データを格納し、その時の圧縮デ
ータ量Dを演算する。そしてステップS416に進む。
ステップS416では圧縮データ量Dと64を比較す
る。そして、一致していればそこは平坦画像としてAD
CTで圧縮した方が能率が良いとしてステップS423
に進む。異なればステップS417に進む。
【0115】ステップS417では圧縮データ量Dが限
界値L(=貯金S+固定値C)以下であるか調べる。
(C+S)>=Dであれば、領域1としてステップS4
18に進み、(C′+S)<Dのときは領域2としてス
テップS413に進む。
【0116】ステップS418ではブロックマップメモ
リに領域1という信号「0」を出力する。続くステップ
S419では、圧縮データ保持部9から圧縮データを出
力する。そしてステップS420で貯金Sに(C−D)
を加え、ステップS426に進む。
【0117】一方、ステップS415よりステップS4
23に進んだ場合には、ブロックマップメモリに領域1
という信号「0」を出力する。そして続くステップS4
24では貯金Sに(C−R)を加え、ステップS414
に進む。
【0118】図8におけるステップS407及びステッ
プS415におけるCG圧縮処理の詳細を、図9及び図
10のフローチャートを参照して以下に説明する。
【0119】CG圧縮処理部8は、まずステップS50
1で、色の変化点を数えるカウンタ2、及び注目データ
が4つのラッチのどれにも存在しなかったときの回数を
数えるカウンタ3を「0」にリセットする。続くステッ
プS502で、ブロック内の64画素を数えるカウンタ
iを0にリセットする。
【0120】次にステップS503で、画素種情報1b
のカウンタiで示される位置の画素(以後「注目画素」
と称する)の画素種が「0(即ちコンピュータ作成画
素)」であるか否かを調べる。「0」であればステップ
S504に進み、「1(自然画像画素)」であればステ
ップS507に進む。
【0121】ステップS504ではラスターブロック変
換部1の注目画素に対応する位置の画素が自然画像画素
を示す色データ(イ)={127,127,127}と
一致するか否かを調べる。そして一致した場合にはステ
ップS505に進み、現在の色データを示す注目画素デ
ータとして色データ(ロ)={128,128,12
8}を代入する。不一致だった場合、ステップS506
に進み注目画素データとしてラスターブロック変換部1
の注目画素位置の画素値を代入し、ステップS508に
進む。
【0122】一方、ステップS507ではその画素は自
然画像画素として色データ(イ)={127,127,
127}を代入してステップS508に進む。
【0123】ステップS508では現在の色データと1
つの前の色データが一致するか否かを調べる。色データ
が一致していたらステップS509に進み、異なればス
テップS601に進む。ステップS509では、色の変
化はないということでバッファ212に「0」を出力
し、ステップS510に進む。
【0124】ステップS510では後データに注目画素
データを代入する。続くステップS511ではカウンタ
iをインクリメントして、次の画素を新たな注目画素と
する。そして、ステップS512でi<=64である
か、即ち未処理の画素は存在するか否かを調べる。未処
理の画素が存在した場合にはステップS503に戻る。
一方、i>64であれば全ての画素の圧縮処理は終了し
たとしてステップS513に進む。ステップS513で
は当該処理中のブロックの圧縮データ量Dを演算し、本
サブルーチン処理を終了する。尚、圧縮データ量Dは D=64+(2×[カウンタ2])+(24×[カウン
タ3]) で計算できる。
【0125】一方、ステップS508で注目画素データ
と後データが一致しなかったとき、即ち色の変化点であ
るときには図10のステップS601に進む。ステップ
S601では色の変化があるとしてバッファ212に
「1」を出力し、続くステップS602でカウンタ2を
インクリメントする。そしてステップS603で一番新
しく書き換えられたラッチ番号turnがその前に書き
換えられたラッチ番号turn_pと等しいか否かを調
べる。等しいときは何もせずステップS605に進み、
異なるときはステップS604に進む。
【0126】ステップS604ではturn_ppにt
urn_pを代入し、turn_pにturnを代入す
る。これは、turnとturn_pが同じ数値を持た
ないようにするためである。そして続くステップS60
5で現在値注目データと、第2ラッチ部〜第4ラッチ部
(前データ[0],前データ[1],前データ[2])
を比較する。
【0127】(注目画素データ)=(前データ[0])
のときはステップS606に進み、(注目画素データ)
=(前データ[1])のときはステップS608に進
み、(注目画素データ)=(前データ[2])のときは
ステップS610に進み、どれとも異なるときはステッ
プS612に進む。
【0128】ステップS606では第2ラッチ部と等し
いということでバッファ212に「00」を出力する。
ステップS607では書き換えるラッチ番号としてtu
rnに第2ラッチ部の番号0を代入する。そしてステッ
プS616に進む。
【0129】一方、ステップS608に進んだ場合に
は、第3ラッチ部と等しいということでバッファ212
に「01」を出力する。ステップS609では書き換え
るラッチ番号としてturnに第3のラッチ部の番号1
を代入する。そしてステップS616に進む。
【0130】ステップS610では第4ラッチ部と等し
いということでバッファ212に「10」を出力する。
ステップS611では書き換えるラッチ番号としてtu
rnに第4ラッチ部の番号2を代入する。そしてステッ
プS616に進む。
【0131】ステップS612ではどのラッチとも異な
るということでバッファ212に「11」を出力する。
ステップS613では現在値注目画素データを出力す
る。そしてステップS614では注目画素データと第1
〜第4ラッチ全てが異なる時を整数するカウンタ3をイ
ンクリメントする。続くステップS615ではturn
_pともturn_ppとも異なるラッチ番号j(ここ
ではラッチ番号0,1,2のどれか1つとなる)を検索
し、ステップS603,S604で同じ番号がturn
_p及びturn_ppに存在しない様にするためのラ
ッチ番号検索処理を行う。そしてturnにjを代入す
る。
【0132】ステップS616では前データ[tur
n]に後データを代入し、図9のステップS506に進
む。
【0133】以下に、以上の処理で圧縮された圧縮デー
タを伸長する装置のブロック図を図11に示す。
【0134】図11において、セグメントコントローラ
10は、セグメント情報テーブル11を参照して圧縮メ
モリ12に格納されている圧縮データをADCT伸長1
102、CG圧縮伸長部1104に分配する。1102
はADCT伸長部であり、ADC圧縮されたデータを伸
長し出力する。1103はバッファであり、ADCT伸
長部1102により伸長された画像データを一時保持す
る。
【0135】1104はCG圧縮法伸長部であり、CG
圧縮された画像データを一時保持する。1105はバッ
ファであり、CG圧縮法伸長部1104により伸長され
た画像データを一時保持する。1106はビットマップ
メモリであり、ブロックマップメモリ13からの1ビッ
ト情報11aとCG圧縮法伸長部1104が解析した画
素種情報11bの論理和を取ったデータを記憶する。
【0136】1107はセレクタ部であり、ビットマッ
プメモリ1106の制御によりバッファ1103の出力
かバッファ1105カラーの出力のどちらかを選択し出
力する。1108はブロックラスタ変換部であり、セレ
クタ部1107により選択された画像データを格納し、
合成した画像を作成する。
【0137】以上の構成を備える本実施例の伸長処理を
図12のフローチャートを参照して以下に説明する。
【0138】ステップS1401で後データ,前データ
[0,1,2](第1ラッチ部〜第4ラッチ部の中身)
を圧縮処理の時と同じ値にリセットする。同時に、ラッ
チの色データ書換番号をやはり圧縮処理の時と同じ値に
リセットする。また、前に処理されたブロックの最後の
画素のビットマップ情報としてビットマップ[−1]に
「0」をセットする。
【0139】ステップS1402ではブロックマップメ
モリ13からブロックの領域情報を読み出し、マップデ
ータに代入する。ステップS1403ではマップデータ
が「0(領域1を示す)」か「1(領域2を示す)」か
を解析し、領域1の時はステップS1404に進み、領
域2の時はステップS1409に進む。
【0140】ステップS1404では領域1として、セ
グメントコントローラ1101の制御で圧縮メモリ12
からCG圧縮データを受け取り、CG圧縮法の伸長を行
って画像データを出力し、画素種情報データ(11b)
を解析し、続くステップS1405でビットマップメモ
リ1106に書き込む。そして続くステップS1406
でビットマップメモリ中に「1」が一つ以上あるか調べ
る。「1」が一つ以上ある場合にはステップS1407
に進み、なければステップS1411に進む。
【0141】ステップS1407では、当該ブロックは
置換された画素データのCG圧縮と補間された画素デー
タADCT圧縮で構成されることになるので、セグメン
トコントローラ1101の制御で圧縮メモリ12からA
DCT圧縮データを受け取り、ADCT伸長を行う。続
くステップS1408ではこうして得られたCG圧縮法
で伸長された画素データ(CG伸長データ)とADCT
伸長された画素データ(ADTC伸長データ)を、ビッ
トマップメモリが「1」の値を持つ画素はADTC伸長
データをブロックラスタ変換部に書き込み、ビットマッ
プメモリが「0」の値を持つ画素はCG伸長データをブ
ロックラスタ変換部に書き込む。そしてステップS14
11に進む。
【0142】一方、ステップS1409では、領域2と
して圧縮メモリ12からセグメントコントローラ901
の制御でADCT圧縮データを受け取り、続くステップ
S1410でADCT伸長を行い画像データをブロック
ラスタ変換部に書き込む。そしてステップS1411に
進む。
【0143】ステップS1411では、全圧縮データ終
了かどうか判定し、未処理の圧縮データがあればステッ
プS1402に戻り、全圧縮データ終了ならば処理を終
了する。
【0144】CG圧縮法伸長処理部1104におけるス
テップS1404に示す処理の詳細を図13及び図14
を参照して以下に説明する。
【0145】先ず図13のステップS1501で、画素
を数えるカウンタiを「0」にリセットする。ステップ
S1502では圧縮メモリ12から1ビットデータを受
け取りデータ1に代入する。続くステップS1503で
データ1が「0」であるかどうか調べる。そしてデータ
1が「0」であればステップS1504に進み、データ
1が「1」であれば図14のステップS1507に進
む。
【0146】ステップS1504では、その前の画素
(i−1)のビットマップ情報であるビットマップ[i
−1]が「0」か否かを調べる。そして、ビットマップ
[i−1]が「1」の場合にはステップS1505に進
み、ステップS1505で処理画素のビットマップ情報
であるビットマップ[i]に[1]を代入してステップ
S1521に進む。一方、ビットマップ[i−1]が
「0」の場合にはステップS1506に進み、ビットマ
ップ[i]に代入する。そしてステップS1521に進
む。
【0147】即ち、以上の一連の処理で、その前の画素
(i−1)のビットマップ情報であるビットマップ[i
−1]を、処理画素のビットマップ情報であるビットマ
ップ[i]に代入する。
【0148】一方、図14のステップS1507では一
番新しく書き換えられたラッチ番号turnがその前に
書き換えられたラッチ番号turn_pと等しいかどう
か調べ、等しい時は何もせずステップS1508に進
み、異なる時はturn_ppにturn_pを代入
し、turn_pにturnを代入する。これはtur
nとturn_pが同じ数値を持たない為の処理で、圧
縮処理の時も行ったものである。そしてステップS15
08に進む。
【0149】ステップS1508では圧縮メモリ12か
ら2ビットデータを受け取りデータ2に代入する。続く
ステップS1509ではデータ2を解析して、データ2
が「00」の時はステップS1510に進み、データ2
が「01」の時はステップS1511に進み、データ2
が「10」の時はステップS1512に進み、データ2
が「11」の時はステップS1515に進む。
【0150】ステップS1510では出力する画素はデ
ータ[0](第2ラッチ部203)に格納されている画
素として書換ラッチ番号turnに前データ[0]の番
号0を代入し、ステップS1513に進む。
【0151】ステップS1511では出力する画素は前
データ[1](第3ラッチ部204)に格納されてる画
素として書換ラッチ番号turnに前データ[1]の番
号1を代入し、ステップS1513に進む。
【0152】ステップS1512では出力する画素は前
データ[2](第4ラッチ部205)に格納されてる画
素として書換ラッチ番号turnに前データ[2]の番
号2を代入し、ステップS1513に進む。
【0153】ステップS1513では後データ(第1ラ
ッチ部202)と前データ[turn]の画素データを
交換する。そしてステップS1514ではビットマップ
[i]に0を代入する。そして図13のステップS15
21に進む。
【0154】一方、後データ、前データ[0,1,2]
のどれにも出力する画素は存在しない時、ステップS1
515でturn_pともturn_ppとも異なるラ
ッチ番号jを検索してステップS1506で同じ番号t
urn_p及びturn_ppに存在しない為の処理を
行うため、turnにjを代入する。ここで該当するの
はラッチ番号0,1,2のどれか一つとなる。
【0155】続くステップS1516では前データ[t
urn]に後データを代入する。ステップS1517で
は圧縮メモリ12から24ビットの画素データを受け取
りそれを後データに代入する。ステップS1518では
圧縮メモリから受け取った画素データを代入した後デー
タが値(イ)={127,127,127}か否かを調
べる。そして、値(イ)={127,127,127}
の時にはステップS1519に進み、ステップS151
9ではビットマップ[i]に「1」を代入してステップ
S1521に進む。その他の時にはステップS1520
に進み、ビットマップ[i]に「0」を代入してステッ
プS1521に進む。
【0156】ステップS1521では、以上の処理(ス
テップS1102〜ステップS1113)によって出力
する画素データはどの場合でも後データに格納されてい
るのでatoデータを出力するそして続くステップS1
522ではiをインクリメントする。ステップS152
3では64画素終了したかどうか調べる。終了していな
ければステップS1502に戻り、終了していればステ
ップS1524に進む。ステップS1524ではビット
マップ「−1」にビットマップ[63]を代入する。こ
れは、次のブロックの処理の為である。
【0157】以下に、ADCT4、ADCT伸長部11
02、セグメントコントローラ10、セグメント情報テ
ーブル11、圧縮メモリ12の詳細説明を行う。
【0158】図15は、ADCT4の詳細構成を示す図
である。
【0159】図15において、画像データを圧縮する場
合について述べる。
【0160】色変換部501では、RGB入力画像デー
タを以下の(1)式で表わさせる3×3線形行列変換に
よってY,U,V成分に変換する。
【0161】
【外1】
【0162】ここで、Yは輝度成分を、U,Vは色度成
分を表わす。サブサンプリング部502では、人間の目
の感度特性が、色度成分(U,V)より、輝度成分
(Y)のほうが敏感であるということを利用して、サブ
サンプリングを行い、Y:U:V=4:4:4(サブサ
ンプリングを行わない)、Y:U:V=4:2:2ある
いは、Y:U:V=4:1:1に変換される。出力は、
それぞれ8×8ブロック単位で。Y:U:V=4:4:
4の場合は、Y1,U1,V1,Y2,U2,V2,…
の順で、また、Y:U:V=4:2:2の場合は、Y
1,Y2,U1,V1,Y3,Y4,U2,V2,…の
順で、そして、Y:U:V=4:1:1の場合は、Y
1,Y2,Y3,U1,V1,Y5,Y6,Y7,Y
8,U2,V2,…の順で出力される。DCT503で
は、これらのデータを8×8ブロック単位で、DCT
(離散余弦変換)され、DCT係数が得られる。
【0163】量子化部504では、前記DCT係数を8
×8ブロックごとに量子化テーブルを用いて、量子化
し、量子化係数が得られる。8×8の2次元の量子化係
数は、上述した図36の如くにジグザグスキンにより、
低周波成分からの高周波成分へと1次元に並べ換えら
れ、適応ハフマン符号化部505に送られる。適応ハフ
マン符号化部505では、64個の1次元データごとに
図16に示される方法により変換し、符号データ、ビッ
トサイズ、段階番号が得られる。この実施例では、段階
数を4つ用意する。
【0164】セグメントコントローラ10では、この符
号データ、ビットサイズ、段階番号カラー、セグメント
に区切られた圧縮メモリ21に、段階ごとにデータを書
き込む、また、このセグメントに振り分けた情報をセグ
メント情報テーブル11に書き込み、伸長の際に用い
る。このセグメントコントローラ10により、段階別に
振り分けられたデータを格納するセグメントを制御する
ことにより、固定長圧縮を実現するとができる。
【0165】これを簡単に説明すると、各段階に振り分
けられたデータは、圧縮メモリ12の容量や対象画像の
全圧縮データ量の大きさに従って、1、2段階のみ、
1、2、3段階のみ、あるいは、1、2、3、4段階の
全圧縮データというように、採用する段階を選択するこ
とにより目標のデータ量に制御することができる。
【0166】例えば、第1段階が2.5MB、第2段階
が1.5MB、第3段階が0.8MB、第4段階が0.
5MBであり、目標のデータ量が5.0MBならば、第
1、2、3段階の3つのデータを用いることにより、全
圧縮データ量は4.8MBとなり、目標のデータ量以下
に制御することができる。従って、全符号データの段階
別の振り分け方により、固定長圧縮の精度が影響され
る。このセグメントコントローラ10、圧縮メモリ1
2、セグメント情報テーブル11に関しては、後で詳細
に説明する。
【0167】図16に示される適応ハフマン符号化部の
概略を説明しその後に、各ブロックの詳細を説明する。
このハフマン符号化部の概略は、画像全体の目標のビッ
トレート(ビットレートとは、圧縮率を示す単位で、1
画素あたりのビット数[bits/pixel]であ
る。)を2.4[bits/pixel]とした場合、
8×8ブロックにおいて、第1段階の目標のビット数を
1.5[bits/pixel]とし、残りの段階数が
第2,第3,第4段階の3段階であるので、そのブロッ
クにおける残りのビット数をおよそ3等分して、それぞ
れ第2,第3,第4段階に振り分けるように、符号デー
タ、ビットサイズ、段階番号を出力する。
【0168】さて、図16において、ハフマン符号化部
514では、1次元に並べられた量子化係数を、64個
ごと(8×8ブロックの各Y,U,V成分ごと)にハフ
マン符号化し、符号データとビットサイズ、そして、ブ
ロックの区切りを示すブロック終了信号を出力する。
【0169】バッファメモリ515では、これらのデー
タを図17に示すような形が格納する。図17におい
て、インデックスは、1つのブロックにおける出力され
た符号データの番号を示し、符号データのうち有効ビッ
ト数は、ビットサイズで指定される。また、ビットサイ
ズ加算値は、ビットサイズ加算器517から得られる。
【0170】ビットサイズ加算器517は、ブロック終
了信号により、各ブロックごとにAC成分のビットサイ
ズを加算していき、その加算値を比較器518に出力す
る。そして、比較器518では、Y,U,Vごとに用意
された、例えば図18に示すしきい値テーブル519と
加算値を比較して、加算値がしきい値を越えるときは、
その越える前のインデックスを出力するとともに、ビッ
トサイズ加算器517をリセットし、しきい値を越える
ときの値から再び加算を始める。
【0171】ブロック終了信号により、ブロックが終了
したことを検出したならば、その最終値を基準値算出部
516に送る。基準値算出部516では、ビットサイズ
加算値の最終値から複数のビットサイズ加算基準値を算
出する。
【0172】以下、これらの動作を図17、及び、図1
8の表を用いて具体的に説明する。図18は第1段階の
目標ビットレートを1.5[bits/pixel]と
したので、それを実現するために、Y,U,Vそれぞ
れ、40,25,25[bits]とした。図17はY
成分のある8×8ブロックの符号データ、ビットサイ
ズ、ビットサイズ加算値であり、インデックス0のビッ
トサイズ加算値は、DC成分なので加算せず、インデッ
クス1のAC成分の最初の値18から、ビットサイズ加
算値に書き込まれる。インデックス2のビットサイズ
は、7なので、ビットサイズ加算値は、18+7で25
となる。同様に、インデックス3のビットサイズ加算値
は、39となる。
【0173】次に、インデックス4のビットサイズが2
1なので、ビットサイズ加算値は、60となるところ
が、比較器518により、Y成分のしきい値テーブル1
9の値40[bits]と比較して、越えてしまうの
で、その1つ前のインデックス3が、段階判別部520
に送られる。そして、ビットサイズ加算器517にリセ
ットが掛かり、インデックス4のビットサイズ21がそ
のままビットサイズ加算値に書き込まれる。インデック
ス5では、ビットサイズが9であるのでビットサイズ加
算値は、21+9で30となる。
【0174】以下、同様に、ビットサイズが加算されそ
の結果は、そのブロックが終了するまでビットサイズ加
算値に書き込まれる。ビットサイズ加算値の最終値95
は、基準値算出部516に転送され、基準値算出部51
6では、残りの段階数が3つあるので3で除算され、3
0とその2倍の60がビットサイズ加算基準値として、
段階判別部520に送られる。
【0175】段階判別部520では、比較器518から
得られたインデックスと、基準値算出部516から得ら
れたビットサイズ加算基準値に基づき、各符号データと
ビットサイズの振り分ける段階を決定する。前記の説明
したように得られたデータは、インデックス3とビット
サイズ基準値30,60である。このとき、まず、バッ
ファメモリ515より入力されるビットサイズ加算値を
カウントし、インデックス3までのデータに対しては、
段階番号1を出力する。
【0176】そして、その以後のデータに対しては、ビ
ットサイズ加算値とビットサイズ加算基準値30を比較
し、0以上30以下の場合は、段階番号2を、30以上
60以下の場合は、段階番号3を出力し、それ以後の場
合は、段階番号4を出力する。ここで、各段階の区切り
には、必ずその段階の区切りを示すEOS(Endof
Stage)コードを挿入する。
【0177】これにより、8×8ブロックごとに異なる
符号データ量を、各ブロックごとに第1段階には、およ
そ1.5[bits/pixel]を割り振り、残りの
データを3等分することができる。
【0178】前記の例では、8×8ブロックのビットサ
イズ加算値が40を越えたが、40を越えない場合は、
途中でEOB(End of Block)コードが挿
入され、その8×8ブロックの符号データは、全て第1
段階のセグメントに書き込まれる。
【0179】次に、上記の圧縮プロセスにより、圧縮さ
れたデータの伸長に関して以下に述べる。この場合は、
DCT部503は、逆DCT503となり、量子化部5
04は、逆量子化部504となり、そして、適応ハフマ
ン符号化部505は適応ハフマン復号化部505とな
る。また、量子化テーブル508とハフマンテーブル5
09は、それぞれ、逆量子化テーブル、ハフマン復号化
テーブルとなり、データの流れは、圧縮の時と逆の流れ
となる。
【0180】適応ハフマン復号化部505では、1つの
8×8ブロックを構成する符号データが複数の段階に分
かれて圧縮メモリ12に格納されているので、複数の段
階から符号データを入力して復号化し1つの8×8ブロ
ックを再構成する。そのために、適応ハフマン復号化部
505は、セグメントコントローラ10に段階番号1の
符号データを要求する。
【0181】セグメントコントローラ10は、セグメン
ト情報テーブル11の内容を照らし合わせて、圧縮メモ
リ12から第1段階の符号データを読み取り適応ハフマ
ン復号化部505に転送する。適応ハフマン復号化部5
05では、得られた符号データを次々と復号化し、その
結果を逆量子化部504に転送していき、EOS(En
d of Stage)を検出するまで行う。EOSを
検出したならば、次の段階番号2の符号データを要求す
る。
【0182】また、セグメントコントローラ10は、前
記と同様にセグメント情報テーブル11の内容を照らし
合わせて、圧縮メモリ12から第2段階の符号データを
読み取り、適応ハフマン復号化部505に転送する。
【0183】適応ハフマン復号化部505では、前記と
同様に、EOBコードを検出するまで復号化を行う。
【0184】以下、同様に第3,第4段階の復号化を行
い、1つの8×8ブロックの復号化が終了する。この場
合において、途中でEOS(End of Stag
e)を検出したならば、次の段階の符号データの要求
は、行わず、次の8×8ブロックの復号化を始める。ま
た、画像の圧縮データ量や、圧縮メモリの容量により、
最終段階まで圧縮メモリに格納できなかった場合は、途
中の段階までのデータを用いて、伸長を行う。
【0185】このようにして得られた量子化係数は、逆
量子化部504にて逆量子化テーブル508を用いて、
逆量子化され、客DCT部503に送られる。逆DCT
部503では、得られたDCT係数をDCTして、Y′
U′V′データが得られる。サブサンプリング部502
では、サブサンプリングの比(Y:U:V=4:4:
4,4:2:2,4:1:1)に応じて、拡大操作がな
される。色変換部501では、(2)式に従って、逆変
換がなされる。元の画像が復元される。
【0186】
【外2】
【0187】ここで、画像データの圧縮伸長処理におけ
る多段階に分割された圧縮データ及び、可逆圧縮部8に
よる圧縮データを複数のセグメントにより構成される圧
縮メモリへの格納、そして、その選択したセグメント情
報をセグメント情報テーブル11への格納に関し詳細に
説明する。ただし、可逆圧縮部8による圧縮データは、
多段階に分割された圧縮データの1つとして扱う。
【0188】圧縮メモリ12は、例えば図19で示され
ているように、セグメント(例えば、1セグメント=1
00kB)が、S−1からS−Nまで区切られた構成を
有している。
【0189】また、セグメント情報テーブル11は、例
えば図20に示されるような構成になっている。セグメ
ント情報テーブル11の1〜4行目は、それぞれ段階1
〜4に関する情報である。1列目は、各段階の符号デー
タが書き込まれる圧縮メモリ12の選択されたセグメン
ト番号(S−1〜S−N)を示し、左から右に進むに従
い、画像の先頭から終端に進むことを示す。また、EN
Dは、各ステージにおける符号データが終了したことを
示す。
【0190】次に、段階ごとに符号データを圧縮メモリ
12に書き込む場合の手順について説明する。
【0191】図21は、圧縮処理における圧縮データの
格納処理を説明するフローチャートである。
【0192】各段階に振り分けられる圧縮データは、段
階の振り分けを行う圧縮方式や原画像データの特性にも
より、各段階における符号量も異なってくるが、ここで
は、段階1〜4を比較した場合、段階1の方が4より出
力される符号量が多くなる例を用いた。
【0193】以下に、図20も参照して図21のフロー
チャートを説明する。
【0194】図20の2列目(No.2の欄)に示され
るように、各段階で出力された符号データは、それぞれ
のセグメントS−1,S−2,S−3,S−4に書き込
まれる。そして、段階1は、他の段階に比べ、早くセグ
メントS−1が満たされるので、セグメントS−5に書
き込みが始まる。次に、段階2,3においては、各セグ
メントS−2,S−3への書き込みが満たされるので、
各セグメントS−5,S−6への書き込みが開始される
(ステップS1)。
【0195】そして、次の段階では、段階4がセグメン
トS−4への書き込みを終了する前に、段階1がセグメ
ントS−5への書き込みを終了してしまったために空い
ているセグメントS−8は、段階4に割り当てられず、
段階1に割り当てられる。これは、段階1で発生する符
号量が、段階4より多いために起こる。以下同様に、各
段階において、書き込んでいるセグメントが満たされた
ならば、空いているセグメントを選択して、そこに符号
データを書き込むようにする(ステップS2,S3,S
4)。
【0196】本実施例では、原画像をいくつかの段階に
分けて符号化する方法を用いている。そこで、各段階の
符号化データ量が目標の圧縮メモリ量より小さい場合に
は、無効段階は現れないが、符号化している途中で目標
の圧縮メモリに達した場合には、指示した段階を無効と
し(図5では段階4)、その段階に割り当てられたセグ
メントS−4,S−11,S−15,…に他の段階1,
2,3の符号データを書き込む。この説明に該当するの
が図115の8から11列目(No.8〜No.11)
である。8列目の段階2において、セグメントS−Nが
割り当てられたので、圧縮メモリ12に全て割り当てら
れたことになり、圧縮メモリ12の不足を補うために、
段階4を無効(“0”)とし、9列目で示されているよ
うに、段階4で用いられたセグメントS−4を段階1に
用い、セグメントS−11を段階2に用いる。段階2
は、セグメントS−11で符号化が終了したので、以
降、図115には、ENDマークがつく。また、段階1
では、10列目のように段階4で用いられたセグメント
15が割り当てられ、以後符号化が終了したのでEND
マークがつけられる(ステップS5)。
【0197】圧縮メモリ12に格納された上記圧縮デー
タの伸長に関しては、伸長の際には、有効ステージ1〜
3のみを用いて、画像データを復号する。
【0198】以上の圧縮伸長処理によってCG圧縮部で
はデータの損失なく圧縮を行え、CGデータ量がそのブ
ロックに与えられたメモリ量L=(C+S)を越えると
きSADCT圧縮処理を行うことにより、最終的なメモ
リ量は一定量以下で、かつ画質も保持するという効果が
ある。
【0199】また、従来画質、圧縮率が問題であった混
在ブロック部はADCT圧縮処理とCG圧縮処理の両方
を行い、ADCT圧縮処理には補間したデータを入力す
ることによって画質が保持され、CG圧縮処理には置換
したデータを入力することによって圧縮率を保持する。
さらに、混在ブロック部の画素毎の画素種情報をCG圧
縮の圧縮データに埋め込むことが出来るので他にビット
マップメモリを必要としない利点もある。
【0200】(第2実施例)以上説明した第1の実施例
1において、信号2a,2b,2cを別のアドレスに格
納することも可能である。この場合のセグメントコント
ローラ10により別々のアドレスに格納される。
【0201】(第3実施例)以上説明した第1実施例に
おいては、圧縮データ保持部5に格納されるCG圧縮処
理の圧縮データ(信号2a,2b)は、ON/OFF
(1/0)を示すフラグ制により構成されている。しか
し本発明は以上の例に限定されるものではなく、本実施
例においては、フラグ制でなくトリガ制により構成す
る。
【0202】フラグ制とトリガー制の違いを図22に表
わす。図22において、(a)がフラッグ制を表わし、
(b)がトリガー制を表わす。同図から明らかなように
トリガー制(b)の方が同じデータが長く続く傾向があ
る。この性質を利用して、信号2a及び2bに関しては
さらにMHなどのランレングス圧縮をかけデータ量の削
減を達成することができる。また、MHに限らず、出来
上がった圧縮データにさらにハフマン符号化またはLe
mpel−Ziv符号化などをかけ、さらなるデータを
圧縮実施することができる。信号2cにハフマン符号化
またはLempel−Ziv符号化などをかけることも
効果的である。
【0203】(第4実施例)以上説明した第1実施例の
可逆圧縮部においてステップS613で出力する現在値
(注目画素)をルックアップテーブル化することも可能
である。DTPなどのコンピュータ作成画像は、使用色
数が少ないことが特徴でたいていの画像の場合、256
色もあれば十分である。また、最初にテーブルとして8
ビット(256色)のメモリを用意しておいて256色
目が出現した後は従来のように色データ24ビットその
まま出力する構成にすれば、表現可能な色数の限定がな
く、また、いままで24ビット必要だったところが8ビ
ットですむので圧縮率が上がり、実施例1のときよりC
G圧縮処理されるブロックが増え画質が向上するという
利点がある。
【0204】(第5実施例)上述の各実施例の可逆圧縮
部において過去の画素データを記憶するラッチは3つで
あったがこれを1つにしてもよい。その場合、ステップ
S606,S608,S610,S612に対応する信
号は1ビットとなり書き換えられる(後データが代入さ
れる)ラッチは一つであるので書換順を示すturnの
ような面倒な処理は必要なくなる。
【0205】この場合、圧縮データ量を計算する式はD
=64+(1×カウンタ2)+(24×カウンタ3)と
なる。
【0206】図23に過去の画素データを記憶するラッ
チが1つである場合の貯金Sの概念がない場合の可逆圧
縮部の構成図を示す。
【0207】(第6実施例)上述の可逆圧縮部において
ステップS613で出力する現在値を24ビットでな
く、例えば18ビットにすることも可能である。
【0208】その場合、ADTC伸長データは原画像デ
ータと異なる値を持ち可逆圧縮ではなくなるがコンピュ
ータ作成画像などの高周波画像については人間の目に対
し階調性は余り必要とされないので、劣化が目立たず、
圧縮データ量はD=64+2×カウンタ2+18×カウ
ンタ3と少なくなる。
【0209】(第7実施例)上述の実施例1の可逆圧縮
部においてラッチ書換情報(turn、turn_p、
turn_pp)無しで、どのラッチにも同じ色が存在
しないときは書き換えるラッチを固定しても良い。例え
ば、信号2aが1で信号2bが11の時、書き換えるラ
ッチは第2ラッチ部203とする。この場合、圧縮効率
はやや悪くなるがハード規模が小さくなる利点がある。
【0210】(第8実施例)上述の各実施例の可逆圧縮
部において貯金Sを記憶するバッファを設け処理ブロッ
クの限界値L=(C+S)としているが、L=Cでも構
わない。
【0211】(第9実施例)上述の各実施例において、
メモリ制御にセグメントコントローラを使用し、リアル
タイムで圧縮を行っているが、プリスキン(プリ展開)
を行い、あらかじめADCT圧縮のδファクタを定めて
から圧縮を行っても良い。その場合、メモリ制御がもっ
と簡単になる。
【0212】尚、上述の各実施例においてはハードウェ
アによりその圧縮法を実現しているが、ソフトウェアに
よりこれを実現しても良い。
【0213】上述の各実施例の可逆圧縮部において、画
素データ並び替え部201では図36に示すようなジグ
ザグ順を採用しているが、これに限ったものではない。
【0214】この時の並び替え順を図10のようにラス
ターブロック変換部から送られる順番に合わせれば画素
データ並び替え部のような機能は必要なくなる。
【0215】(第10実施例)上述した第1の実施例で
は、画素データ置換部により画素種がAである画素デー
タを値を置換して可逆圧縮部の圧縮データ量削減及びビ
ットマップデータの埋め込みを実現しているが、画素デ
ータ置換を行わずに、可逆圧縮符号に画素種Aを表わす
符号をあらかじめ決めて、画素種Aの時はその符号を出
力する形にしても良い。
【0216】例えば、第1実施例で4つ存在したラッチ
を3つにし、画素種Aの時の符号を(第1実施例の第4
ラッチと一致した時の符号)「110」にして第13実
施例を実現することができる。
【0217】その後、画素種Aの画素が続く場合は同様
に「0」を出力し、画素種Bの画素が出現した時は
「1」を出力する。第2第3ラッチと比較処理を行い、
符号を出力するがこの場合第2、第3ラッチと一致しな
かった時(「111」出力の時)は更新手段による更新
処理は行わない。何故かというと、画素種Aから画素種
Bへの切り替わりでは入力データと第1ラッチ部のデー
タと同じと言う符号「0」は画素種Aを表わす符号とな
ってしまうので、ここで第2、第3ラッチ部と比較を行
いどれも一致しないとして(画素データを出力して)第
2、第3ラッチ部のどちらかを第1ラッチ部のデータで
書き換えてしまうと入力画素データと第1ラッチ部が一
致する時3つのラッチ群に同じデータが存在してしまう
場合が発生するからである。
【0218】尚、上述の各実施例においてはハードウェ
アによりその圧縮法を実現しているが、ソフトウェアに
よりこれを実現しても良い。
【0219】(第11実施例)適応ハフマン符号化部5
05として、図25で示されるインデックスに基づく適
応ハフマン復号化部を用いた場合の説明を以下に行う。
【0220】ハフマン符号化部521では、1次元に並
べられた量子化係数を、64個ごとに(8×8ブロック
の各Y,U,V成分ごとに)にハフマン符号化し、符号
データとビットサイズ、そして、ブロックの区切りを示
すブロック終了信号を出力する。バッファメモリ522
では、これらのデータを図37に示すような形で、格納
する。図37において、インデックスは、1つのブロッ
クにおける出力された符号データの番号を示し、符号デ
ータの内有効ビット数は、ビットサイズで指定される。
【0221】ビットサイズ加算器522は、ブロック終
了信号により、各ブロックごとにAC成分のビットサイ
ズを加算していき、その加算値を比較器526に出力す
る。そして、比較器526では、Y,U,Vごとに用意
された、例えば上述した図18に示すしきい値テーブル
527と加算値を比較して、加算値がしきい値を越える
時は、その越える前のインデックスを基本インデックス
として、カウンター523と段階判定部524に出力す
る。
【0222】図18と図37の場合には、基本インデッ
クスは、「3」となるので、インデックス「0」から
「3」までは、第1段階に書き込まれる。
【0223】又、カウンタ523では、8×8ブロック
の最初のAC成分のビットサイズの入力信号からインデ
ックスをカウントしていき、ブロック終了信号により、
1つのブロックが終了したことを検出したならば、その
最終インデックスと、比較器526から得られた基本イ
ンデックスから基本インデックスを算出し、それを段階
判定部に出力する。
【0224】図37に示される例では、基本インデック
スは、3となり、又最終インデックスは18であるの
で、第2段階以降にかかれるデータは、インデックス4
から18であるので、インデックス4以降のデータを3
等分するために、18−3=15を3等分し、基準イン
デッスとして、8と13を出力する。
【0225】又、ハフマン符号部21からのブロック終
了信号は、ビットサイズ加算器525と比較器526の
リセットも行う。
【0226】段階判定部524では、バッファメモリ5
22からのビットサイズ信号からインデックスをカウン
トし、その値と得られた基本インデックス、及び、基準
インデックスに基づき段階番号を出力する。基本インデ
ックスは、3であり、基準インデックスは、8,13で
あるので、図37のインデックス3までのデータに対し
ては、段階番号1を4から8までのデータに対しては、
段階番号2を、9から13までは、段階番号3を、それ
以降このブロックが終了するまでは、段階番号4を出力
する。その際、段階番号の変わり目にはEOS(End
of Stage)コードを挿入する。このコード
は、伸張する際に必要となる。
【0227】この符号化方法による符号データを伸張す
るための適応ハフマン復号化部505は、第1実施例と
全く同じ方法で実現できる。
【0228】(第12実施例)適応ハフマン符号化部5
05として、図38で示されるインデックスに基づく手
適応ハフマン復号化部を用いた場合の説明を以下に行
う。
【0229】ハフマン符号化部531では、1次元に並
べられた量子化係数を、64個毎に(8×8ブロックの
各Y,U,V成分毎に)にハフマン符号化し、符号デー
タとビットサイズを出力する。
【0230】カウンタ532は、ビットサイズ信号をカ
ウントして、その結果すなわち、インデックスを比較器
533に転送する。比較器533で、図39で示される
ようなインデックステーブル535の値と比較して、イ
ンデックスの値がテーブルの値を越える場合は、カウン
ター534に信号を送る。カウンタ534の出力(段階
番号)は、初期値が1となっており、信号が入力される
と、出力値をインクリメントする。すなわち、段階番号
が1つ上がることになる。
【0231】図39で示されるインデックステーブルで
は、Y成分の8×8ブロックは、インデックスが3まで
は、カウンタ534の出力(段階番号)は「1」であ
り、インデックス4から8までは、段階番号は「2」と
なり、インデックス9から14までは、段階番号は
「3」となり、それ以降、ブロック終了信号により、カ
ウンタ532,534がリセットされ、8×8ブロック
が終了するまでは、段階番号は「4」となる。
【0232】この符号化方法による符号データを伸長
は、適応ハフマン符号化部5ではセグメントコントロー
ラ10に段階番号1の符号データを要求する。セグメン
トコントローラ10は、セグメント情報テーブル11の
内容を照らし合わせて、圧縮メモリ12から第1段階の
符号データを読み取り適応ハフマン符号化部505に転
送する。
【0233】適応ハフマン符号化部505では、得られ
た符号データを復号化し、インデックステーブルを参照
して、次に要求する段階番号を出力する。以下同様に、
段階番号の要求と得られた符号データの復号化を繰り返
し、復号化された量子化係数が64個(8×8ブロック
の要求数)となるまで行う。64個復号化されたなら
ば、次の8×8ブロックの復号化を行う。
【0234】適応ハフマン符号化部5として、図7や図
25では、ビットサイズに基づき、ビットレートの段階
別振り分けを行うので、それに比べ、この方法(図3
8)を用いた場合は、その精度は、落ちるが、アルゴリ
ズムが簡単なためハードウエア規模が小さくなり、低コ
ストで実現できる。また、この図38の方法では、1つ
の8×8ブロックの段階の区切りにEOSコードを挿入
する必要がなく、その分符号データ量が減る。
【0235】(他の実施例)ADCT4の圧縮データの
振り分ける段階数は、第1、第11、第12実施例で
は、4段階であったが、これは、2,3、あるいは、
5,6等幾つでもよい。
【0236】第1実施例では、画像全体の目標ビットレ
ートを2,4[bits/pixel]としたが、この
値に限らず幾つでもよい。
【0237】第1、11実施例では、第1段階の目標ビ
ットレートを1.5[bits/pixel]とし、そ
れに基づき例えば図18のしきい値テーブルの値を決定
したが、この値に限らず幾つでもよい。また、第2段階
以降の符号データをおよそ3等分するように振り分けた
がそれに限らず、第2、3、4段階の比を、3:2:
1,5:3:1等、どのように振り分けてもよい。
【0238】第3実施例において、段階振り分けの基準
となるインデックステーブルとして、図39に示される
ものを用いたが、その値は、これに限るものではない。
【0239】第1実施例の多段階に分割された圧縮デー
タを複数のセグメントに区切られた圧縮メモリ12に格
納する際、段階数の大きいもの(段階4)カラー小さい
もの(段階1)の順序で無効にしておくなったが、本発
明は、これに限るものではなく、適応的に選択して無効
にしておくなってもよい。
【0240】上記の実施例ではセグメント情報テーブル
として、図20で示されるタイプを用いたが、本発明
は、これに限定されるものではなく、本発明の趣旨を逸
脱しない範囲であれば、種々変形が可能である。
【0241】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。
【0242】また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることは言うまでもない。
【0243】
【発明の効果】以上説明したように、本発明により、低
コストで高速に画像データの補間処理を実現することが
できる。
【図面の簡単な説明】
【図1】本発明に係る一実施例のデータ圧縮装置の構成
を示す図である。
【図2】本実施例のブロック遅延部2から読み出された
データの例を示す図である。
【図3】実施例の画素データ補間部での補間処理後のデ
ータ例を示す図である。
【図4】本実施例の画素データ置換部の詳細構成を示す
ブロック図である。
【図5】本実施例の可逆圧縮部(CG圧縮部)の詳細ブ
ロック構成を示す図である。
【図6】本実施例の画素データ並び変え部における並び
変え例を示す図である。
【図7】図5に示す領域判定部の詳細構成を示す図であ
る。
【図8】本実施例におけるデータ圧縮方法の流れを示す
フローチャートである。
【図9】図8におけるステップS407及びステップS
415におけるCG圧縮処理の詳細を示すフローチャー
トである。
【図10】図8におけるステップS407及びステップ
S415におけるCG圧縮処理の詳細を示すフローチャ
ートである。
【図11】本実施例の圧縮データを伸長する装置の構成
を示す図である。
【図12】本実施例の伸長処理を示すフローチャートで
ある。
【図13】図12に示すステップS1404の詳細処理
を示すフローチャートである。
【図14】図12に示すステップS1404の詳細処理
を示すフローチャートである。
【図15】図11に示す本実施例のADCTの詳細構成
を示す図である。
【図16】適応ハフマン符号化部の詳細構成を示す図で
ある。
【図17】適応ハフマン符号化部のバッファメモリのデ
ータ格納例を示す図である。
【図18】図16に示すしきい値テーブルの例を示す図
である。
【図19】本実施例の圧縮メモリの構成例を示す図であ
る。
【図20】本実施例のセグメント情報テーブルの例を示
す図である。
【図21】圧縮処理における圧縮データの格納処理を説
明するフローチャートである。
【図22】圧縮データ保持部におけるフラグ制とトラガ
制との相違を説明するための図である。
【図23】インデックスに基づく適応ハフマン復号化部
の詳細構成を示す図である。
【図24】ハフマン符号化部のバッファメモリに格納さ
れるデータを示す図である。
【図25】本発明に係る第13実施例におけるインデッ
クスに基づく適応ハフマン復号化部の詳細構成を示す図
である。
【図26】従来のADCT圧縮装置の構成を示す図であ
る。
【図27】従来のADCT伸長装置の構成を示す図であ
る。
【図28】画像データの一例であるRGBデータ例を示
す図である。
【図29】図28のRGBデータをYCrCbに変換
し、サブサンプリングを行った後のYCrCbデータを
示す図である。
【図30】図29のデータをDCT変換したDCTデー
タを示す図である。
【図31】図30のデータを量子化した量子化データを
示す図である。
【図32】図31のデータを逆量子化して得たDCTデ
ータを示す図である。
【図33】図32のデータを逆DCT変換したYCrC
bデータを示す図である。
【図34】図33のデータを補間し、RGBデータに変
換した例を示す図である。
【図35】量子化テーブルの例を示す図である。
【図36】ジグザグスキャンを表わす図である。
【図37】図25に示すバッファメモリに格納されるデ
ータの例を示す図である。
【図38】インデックスに基づく適応ハフマン符号化部
の詳細構成を示す図である。
【図39】図38に示すインデックステーブルの例を示
す図である。
【図40】本発明の補間処理を実現する構成例である。
【図41】垂直方向補間回路に入力される画像データの
順序である。
【図42】自然画像の画素データと属性データである。
【図43】CG画像の画素データと属性データである。
【図44】自然、CG混在画像の画素データと属性デー
タである。
【図45】自然、CG混在画像の画素データと属性デー
タである。
【図46】垂直方向補間後の自然、CG混在画像の画素
データと水平方向補間後の自然、CG混在画像の属性デ
ータである。
【図47】水平方向補間後の自然、CG混在画像の画素
データと水平方向補間後の自然、CG混在画像の属性デ
ータである。
【図48】本発明のアルゴリズムのフローチャートであ
る。
【図49】水平方向補間回路に入力される画像データの
順序である。
【図50】本発明の補間処理を実現する他の実施例であ
る。
【図51】メモリ563のダブルメモリを用いた構成例
である。
【符号の説明】
501 色変換部 502 サブサンプリング部 503 DCT部 504 量子化部 505 適応ハフマン符号化部 508 量子化テーブル 509 ハフマンテーブル 514,521,531 ハフマン符号化部 515 バッファメモリ 516 基準値算出部 517 ビットサイズ加算器 518,526,533 比較器 519,527 しきい値テーブル 520 段階判定部 522 バッファメモリ 523 カウンタ 524 段階判定部 525 ビットサイズ加算器 532,534 カウンタ 535 インデックステーブル 551〜560 ラッチ 561 セレクタ 562 制御部 563 メモリ 564〜571 ラッチ 572 セレクタ 573,574 ラッチ 575 制御部 580 補間回路 581 セレクタ 582,583 メモリ 584 セレクタ
フロントページの続き (56)参考文献 特開 平4−139961(JP,A) 特開 平4−326669(JP,A) 特開 平6−62254(JP,A) 特開 平4−63064(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 1/41 - 1/419

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 n×nブロック単位で、画素ごとに画像
    の種類を分類し、その画像種ごとに圧縮手段を備えた画
    像処理装置において、 その対象とする画像種以外の画素を、周辺の対象とする
    画像種の画素で補間する補間手段を有し、 該補間手段は、垂直方向用の補間手段と水平方向用の補
    間手段と、前記2つの補間手段の間で画素の処理順次を
    変換するための変換手段で構成され、 前記垂直方向あるいは水平方向補間手段は、 直列に並べられたn画素分の画素データを保存する手段
    と、 前記n個の画素データ保存手段の最初の保存手段に、そ
    こに入力される画素の種類に応じて書き込み制御する手
    段と、 各行あるいは列において、その第1の画素が、対象とす
    る画素でなかったときに最初に現れる対象とする画素デ
    ータを保存する複数の手段と、 前記n個の画素データ保存手段からの出力と、前記対象
    とする画素でなかったときに最初に現れる対象とする画
    素データを保存する複数の手段からの出力を選択する手
    段と、 それらの手段を制御する手段とを有することを特徴とす
    る画像処理装置。
  2. 【請求項2】 n×nブロック単位で、画素ごとに画像
    の種類を分類し、その画像種ごとに圧縮手段を備えた画
    像処理装置において、 その対象とする画像種以外の画素を、周辺の対象とする
    画像種の画素で補間する補間手段を有し、 該補間手段は、垂直方向用の補間手段と水平方向用の補
    間手段と、前記2つの補間手段の間で画素の処理順次を
    変換するための変換手段で構成され、 前記垂直方向あるいは水平方向の補間方法は、各行ある
    いは列単位で処理を行う方式であり、その行あるいは列
    の第1画素が対象とする画素種でなかった場合は、最初
    に現れた対象とする画素種の画素で、それまでの画素の
    置換を行い、それ以外の時の対象とする画素種でない画
    素は、それ以前の対象とする画素種で置換することによ
    り、補間を行うことを特徴とする画像処理装置。
JP26191492A 1992-08-14 1992-09-30 画像処理装置 Expired - Fee Related JP3227222B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP26191492A JP3227222B2 (ja) 1992-09-30 1992-09-30 画像処理装置
US08/855,504 US6427025B1 (en) 1992-08-14 1997-05-13 Image processing with selection between reversible and irreversible compression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26191492A JP3227222B2 (ja) 1992-09-30 1992-09-30 画像処理装置

Publications (2)

Publication Number Publication Date
JPH06113148A JPH06113148A (ja) 1994-04-22
JP3227222B2 true JP3227222B2 (ja) 2001-11-12

Family

ID=17368492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26191492A Expired - Fee Related JP3227222B2 (ja) 1992-08-14 1992-09-30 画像処理装置

Country Status (1)

Country Link
JP (1) JP3227222B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7352700B2 (ja) 2017-03-22 2023-09-28 アルコン インコーポレイティド 平滑な曲面を有する眼内レンズの3dプリンティング

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7352700B2 (ja) 2017-03-22 2023-09-28 アルコン インコーポレイティド 平滑な曲面を有する眼内レンズの3dプリンティング

Also Published As

Publication number Publication date
JPH06113148A (ja) 1994-04-22

Similar Documents

Publication Publication Date Title
US7257264B2 (en) Image processing apparatus and method for compression-encoding image area information
JP2861890B2 (ja) カラー画像表示装置
US5327254A (en) Method and apparatus for compressing and decompressing image data
JP3978478B2 (ja) 推定画素値により固定速度のブロック単位の画像圧縮を行うための装置及び方法
JP4100782B2 (ja) 誤差拡散値の処理方法
EP0665512A2 (en) An image processing method and apparatus
US20060271761A1 (en) Data processing apparatus that uses compression or data stored in memory
JPH11127355A (ja) 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
US6427025B1 (en) Image processing with selection between reversible and irreversible compression
CA2347383A1 (en) Image coding/decoding method and recordind medium having program for this method recorded thereon
US6028961A (en) Image processing method and apparatus
US7248744B2 (en) Vector quantization of images
EP0177640B1 (en) Image reduction method
CN112118449B (zh) 一种图像压缩与解压缩的方法及装置
Son et al. Fast FPGA implementation of YUV-based fractal image compression
JP3227222B2 (ja) 画像処理装置
EP0583107B1 (en) Image processing method and apparatus
KR20020026189A (ko) 고정된 비율 압축을 이용하는 효율적인 비디오 데이터엑세스
JP3264519B2 (ja) 画像データ圧縮装置
JP3236079B2 (ja) 画像データ圧縮方法
JP3170312B2 (ja) 画像処理装置
JPH0654208A (ja) 画像処理方法および画像処理装置
JPH08256321A (ja) 画像データ変換装置およびその逆変換装置
JPH06113142A (ja) 画像処理方法及び装置
JP2810585B2 (ja) 画像符号化処理方法および画像復号化処理方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010821

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070831

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080831

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees