JP3563838B2 - 画像符号化・復号化装置 - Google Patents
画像符号化・復号化装置 Download PDFInfo
- Publication number
- JP3563838B2 JP3563838B2 JP22898195A JP22898195A JP3563838B2 JP 3563838 B2 JP3563838 B2 JP 3563838B2 JP 22898195 A JP22898195 A JP 22898195A JP 22898195 A JP22898195 A JP 22898195A JP 3563838 B2 JP3563838 B2 JP 3563838B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- encoding
- image
- code length
- decoding
- 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
Images
Description
【0001】
【発明の属する技術分野】
本発明は、デジタル画像を符号化・復号化する符号化・復号化装置に関するものである。
【0002】
【従来の技術】
従来より、デジタル画像通信における白黒2値画像の符号化方式では、画像をラスタ単位に符号化していく方式が多く使われている。例えば、ファクシミリ装置で使用されている符号化方式であるMH,MR,MMR方式などは、白黒の画素の続く長さ(ランレングス)に注目して符号化するものである。このような符号化方式を取る画像通信装置において、画像を90度単位に回転させるような場合、符号化画像を原画像に復号してから回転したり、あるいは、符号化の前に回転させる必要がある。
【0003】
図16は、従来の符号化装置における符号化を説明するためのブロック図である。同図において、21は、原稿を横置き(長手方向にスキャン)して、そのスキャン方向200に従って、画素単位に原稿画像を読み込んでいくことを示している。
【0004】
また、22はページメモリで、スキャン方向201に従って、ページメモリ22に順次記録される様子を示している。ここでは、回転した画像を符号化するための読み出しは、スキャン方向202に従って行なうことを示している。
【0005】
23は、画像データ蓄積用の符号化器、24は蓄積メモリである。これらは、ファクシミリのメモリ伝送を行なうためや、プロトコルの異なるファクシミリ装置間の通信を行なうためのバッファメモリである。そして、通信時には、蓄積メモリ24から蓄積用符号化データを読み出し、それを蓄積用符号化器25にて符号化を行ない、26の伝送用の符号化器で伝送用符号に直して、伝送される。また、このデータは、受信側の伝送デコーダ27で復号化され、28に示した縦置き用紙(短手方向にスキャン)に記録される。
【0006】
【発明が解決しようとする課題】
しかしながら、上記従来の装置では、スキャンした画像を90度回転し、回転した画像をラスタ順に符号化するためには、一度回転用のページメモリに全画像を記録して、読み出し順を変えて符号化する必要がある。
【0007】
また、他の方式として、画像をブロック単位に符号化する方式もあるが、ランレングスを基本とする符号化方式ではラン長が長くならず、圧縮率が上がらないという問題がある。
【0008】
本発明は、上記の課題に鑑みてなされたもので、その目的とするところは、数ライン分のバッファのみで、画像を回転させ、その回転画像に対する再符号化を可能にする画像符号化・復号化装置を提供することである。
【0009】
また、本発明の他の目的は、ブロック単位の符号化でも、予測符号化を使って圧縮率を高めることができる画像符号化・復号化装置を提供することである。
【0010】
【課題を解決するための手段】
上記の目的を達成するため、本発明は、デジタル画像信号を符号化する符号器、及び該符号化された画像信号を復号化する復号器を有し、得られた画像の回転画像を生成する画像符号化・復号化装置であって、前記符号器において、前記画像信号に係る画像をN×Nブロックに分割する手段と、前記N×Nブロックを構成する画素の色を判定する判定手段と、前記判定結果を符号化する第1の符号化手段と、前記判定結果をもとに前記ブロック毎に独立に該ブロック内の画素を符号化する第2の符号化手段と、前記第2の符号化手段で得られた符号化ブロックの符号長を、画像のストライプ毎に合計するストライプ符号長生成手段と、前記第1の符号化手段及び前記第2の符号化手段にて符号化されたデータ、及び前記符号長生成手段にて得られたストライプ毎の符号長を記憶する記憶手段と、前記復号器において、前記第1の符号化手段で符号化された判定結果を復号化する第1の復号化手段と、前記記憶手段から読み出された前記ストライプ毎の符号長を保持する符号長保持手段と、前記記憶手段に記憶されている前記符号化ブロックの先頭アドレスを、前記符号長保持手段に保持されたストライプ毎の符号長に基づいて決定する先頭アドレス決定手段と、前記先頭アドレスに基づいて前記符号化ブロック内の画素を前記記憶手段から読み出し、復号化する第2の復号化手段と、前記復号化された判定結果及び前記先頭アドレスに基づいて、前記復号化されたN×Nブロック内の画素を回転する手段と、前記回転された画素をNラインバッファに記憶する手段とを備え、前記第2の復号化手段で復号化された符号化ブロックの符号長に基づいて、前記符号長保持手段に保持された該当するストライプの符号長が更新される。
【0011】
【発明の実施の形態】
以下、添付図面を参照して、本発明に係る実施の形態を詳細に説明する。
<第1の実施の形態>
図1は、本発明の第1の実施の形態に係る符号・復号化装置の全体の構成を示すブロック図である。なお、ここでは、白黒2値の場合について説明する。
【0012】
図1において、符号30は、原稿を横書きして、スキャン方向300に従って、画素単位に画像を読み込んでいくことを示している。31はラインバッファで、後述するブロックサイズ分だけの幅を持つ。また、32は、入力データの符号化を行なう符号器であり、符号化されたデータはメモリ33に蓄えられる。ここでは、ブロック単位の符号化を行なう。
【0013】
34は復号器で、ここで復号化されたデータはラインバッファ35に書き込まれる。その後、データは、36の伝送用の符号化器で伝送用符号に直して伝送され、受信側のデコーダ37で復号化されて、最終的には、38にて示される縦置き用紙に記録される。
【0014】
図2,図3は、本実施の形態に係る符号器、復号器の内部構成を示すブロック図である。
【0015】
図2において、31はNラインのラインバッファ(以下の例では、N=8または16)、101はブロック分割部、102は全白ブロック判定部、103は判定フラグ符号化部、104ブロック内画素を符号化するブロック内符号化部、105はストライプ符号長演算部、そして、33はコードメモリである。また、図3において、107は判定フラグ復号部、108はストライプ符号長読込部、109はブロック内の画素を復号化するブロック内復号化部、110はアドレス等の制御部、111はブロック内画素を回転させるブロック内回転制御部、35はNラインのラインバッファ、そして、113は、ブロックコード読み出しアドレスである。
【0016】
そこで、最初に符号化の動作を説明する。
【0017】
図2に示すラインバッファ31では、Nライン(以下の説明では、16ライン)毎の画像データをブロック分割部101に入力し、画像データを16×16毎のブロックに分割する。次段の全白ブロック判定部102では、ブロック内画素が全部白の場合にフラグを立て、ここでは、このブロック内の画素は符号化対象としない。
【0018】
判定フラグ符号化部103では、全白ブロック判定部102からの、画像全体の全白ブロックのフラグのON/OFFの状態を符号化する。また、ブロック内符号化部104では、ブロック内の画素値を予測符号化方式で符号化する。ストライプ符号長演算部105では、16ラインで区切った画像(ここでは、これをストライプ画像と呼ぶ)毎のブロック内画素の符号長の和を演算する。そして、メモリ部33には、判定フラグ符号化部103での判定フラグの符号化データ、ストライプ符号長演算部105からのストライプ符号長データ、ブロック内符号化部104にて符号化したブロック内画素の符号データが、1つの画像の符号化データとして一括して記録される。
【0019】
次に、復号化の動作について説明する。
【0020】
図3の判定フラグ復号部107では、全画像に渡るブロック単位の全白フラグを復号化する。ストライプ符号長読込部108は、各ストライプの符号長を読み出し、その値を制御部110内のカウンタ(不図示)にセットする。制御部110では、回転処理を考慮した順番に、復号化するブロックアドレスを計算する。
【0021】
先ず対象となるブロックの全白フラグを見て、全白の場合は回転処理が不要なので、16×16の白データをブロック内回転制御部111に出力して、回転処理は行なわないように制御する。しかし、全白フラグがOFFの場合(符号化ブロックの場合)には、ストライプ符号長カウンタ値から対応するブロックの符号の先頭番地を計算し、そのアドレス信号である読出しアドレス113をメモリ33に出力して、そこからのデータをブロック内画素の復号化部109に送る。
【0022】
ブロック内復号化部109では、16×16ブロック内の画素を復号化し、これらをブロック内回転制御部111に送る。このブロック内回転制御部111では、ブロック内で回転した画像をラインバッファ35に送る。また、ブロック内復号化部109からは、復号化に使用した符号長信号120を制御部110に戻し、そこでは、上記のストライプカウンタの値が更新される。
【0023】
図4,図5は、ブロック分解された画像の回転方式を説明するための図であり、ここでは、画像全体をAからLまでの12個のブロックに分割する。
【0024】
図4は、回転前のブロックの配置を示し、図5は、右回転後の配置を示す。ここに示す回転画像を作るためのブロックの読み出し、及び回転順序は、以下のようになる。すなわち、
(1)ブロックIの復号及び回転
(2)ブロックEの復号及び回転
(3)ブロックAの復号及び回転
(4)ブロックライン(I,E,A)の出力
(5)ブロックJの復号及び回転
(6)ブロックFの復号及び回転
(7)ブロックBの復号及び回転
(8)ブロックライン(J,F,B)の出力
(9)上記操作の繰り返しで、ブロックライン(L,H,D)までの処理を行なう。
【0025】
図6は、全白ブロックの判定結果を示す図であり、同図においてハッチングされていないブロックが全白ブロック、ハッチングされたブロックが、黒画素値を有するブロックであり、このブロックが符号化対象になる。また、このフラグ情報は、判定フラグ符号化部103で符号化される。なお、ここでの符号化方式は、ランレングス方式の符号化でも予測符号化方式でもよい。
【0026】
図7は、ブロック内の画素のスキャン方向を説明するための図である。同図に示すように、ブロック内での画素は、左から右へ、上から下方向へスキャンされ、この画素順で符号化を行なう。
【0027】
また、図8は、ブロック内の画素の予測参照方式を説明するための図である。同図に示す、ブロック内の符号化対象画素Xは、既に符号化済みの周囲画素A,B,Cの3画素の値からXの白黒の状態、それらの一致確率を算出し、その結果を後述する予測符号化器で符号化する。なお、符号化対象画素Xが、ブロックの上下左右の端にかかる場合の周囲画素の状態は、あらかじめ決められたルールで決定しておく必要がある。通常は、白画素を仮定する。
【0028】
図9は、本実施の形態に係る予測符号化回路の構成を示すブロック図である。同図において、91は予測回路で、図8に示す符号化対象画素の周囲状況を調べるための回路である。93は予測状態メモリで、後段の算術符号器94に与える情報を、予測状態毎に記憶する回路であり、算術符号器94から出力される、1画素の符号化終了時に更新された情報が、この予測状態メモリ93に記憶される。
【0029】
また、ブロック内画素の最初の画素を符号化する場合は、初期値データセット回路92に、不図示の制御部から信号を与えて、予測状態メモリ93の値を初期値に戻す。この初期値データは、代表的な原稿で決定しており、それを複数用意して切り替える方式をとることにより、効率の良い符号化ができる。
【0030】
なお、算術符号器94は、国際標準JPEG,JBIG方式で決められているQM−Coder、またはその他の類似する方式でも構わない。
【0031】
図10は、ブロック符号の先頭アドレスの算出方式を説明するための図である。同図では、図6などのブロックB,C,E,F,G,H,Jの符号b,c,e,f,g,h,jを表わしている。そして、符号化部では、各ストライプのコード長として、(b+c),(e+f+g+h),(j)のコード長を計算し、これらをメモリ33に記憶する。
【0032】
また、復号器では、メモリ33から各ストライプ長を読み出し、各ストライプに対応するカウンタにその値をセットする。
【0033】
図10に示す例では、ストライプ#1のカウンタ値は0、ストライプ#2のカウンタ値は(b+c)、ストライプ#3のカウンタ値は(e+f+g+h)をセットする。これにより、ブロックB,E,Jのブロック符号の画像に対する符号上の先頭アドレスがわかることになる。
【0034】
各ブロックの復号が終わると、そのブロックの復号にかかった符号長をカウンタに加算する。例えば、ブロックBの復号に使った符号長bをカウンタ#1に加算することにより、ブロックCのブロック符号の先頭アドレスがわかることにある。
【0035】
図11,図12は、ブロック内の回転処理を説明するための図であるが、説明を簡単にするために、ここでは、N=8(8×8)の場合を示している。
【0036】
図11の1〜10は、ブロック内の画素の符号化順を示しており、図12の1〜10は、右90度回転を行なう場合に、復号化した画素をブロックバッファに書き込むときの順番を表わしている。ここでは、上から下、右から左の順で書き込む。
【0037】
以上説明したように、本実施の形態によれば、大容量のメモリを使わずに、ブロック単位に符号化された圧縮コードデータの読み出し順序を制御することにより、数ライン分のバッファにて画像を回転させ、回転画像に対する再符号化が可能となる。また、ブロック単位の符号化でも、頻出する原稿に合わせた予測符号化を使うことにより、圧縮率を高めることができる。
<第2の実施の形態>
以下、第2の実施の形態について説明する。
【0038】
図13は、全白ブロックの検出に加えて、全黒ブロックの検出回路を入れた場合のブロックフラグ情報の符号器の構成を示すブロック図である。同図において、300は全白ブロック判定器、301は全黒ブロック判定器、302はブロック状態を決定する状態決定器で、図14に示すような、全白(0)、全黒(10)、それ以外(11)の3状態を表わす信号を出力する。
【0039】
図15に示した符号化器では、310の予測回路で周囲での判定状況から予測状態を作り、これを、現ブロック情報の何ビット目かを示す信号を予測状態メモリ311のアドレスとして入れ、算術パラメータをデータとして読み出す。そして、これを算術符号器312に入力し、ブロックの情報を1ビットづつ符号化していく。
【0040】
復号化は、上記とは逆の回路を作ることにより、1ビットずつ復号値が決定され、復号値の1ビット目が(0)のときは全白ブロック、復号値の1ビット目が1で、2ビット目が(0)のときは全黒ブロック、また、復号値の1,2ビット目が(1)のときは、符号化ブロックとブロックフラグの状態が決定できる。
【0041】
本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって実施される場合にも適用できることは言うまでもない。この場合、本発明に係るプログラムを格納した記憶媒体が本発明を構成することになる。そして、該記憶媒体からそのプログラムをシステムあるいは装置に読み出すことによって、そのシステムあるいは装置が、あらかじめ定められた仕方で動作する。
【0042】
【発明の効果】
以上説明したように、本発明によれば、符号器側において所定ブロック内の画素の色を判定し、異なる色の画素があるブロックのみをブロック毎に独立に符号化し、復号器側において、回転した画像を順次構成していくためのブロックデータのアドレスを制御してブロック内の画素を復号化し、ブロック内の画素を回転することにより、大容量のメモリを使わずに、符号化データを使って画像の回転を行なえるという効果がある。特に、画像のストライプ毎に該当する符号化ブロックの符号長の和を記憶しておき、復号対象となるブロックの先頭アドレスを上記各ストライプ毎の符号長を参照することにより決定し、また、ブロックを復号する毎に該当するストライプの符号長を更新する様にしたので、回転画像を構成するのに必要なブロックを順次効率よく復号することができる。
【0043】
【図面の簡単な説明】
【図1】第1の実施の形態に係る符号・復号化装置の全体の構成を示すブロック図である。
【図2】実施の形態に係る符号器、復号器の内部構成を示すブロック図である。
【図3】実施の形態に係る符号器、復号器の内部構成を示すブロック図である。
【図4】ブロック分解された画像の回転方式を説明するための図である。
【図5】ブロック分解された画像の回転方式を説明するための図である。
【図6】全白ブロックの判定結果を示す図である。
【図7】ブロック内の画素のスキャン方向を説明するための図である。
【図8】ブロック内の画素の予測参照方式を説明するための図である。
【図9】実施の形態に係る予測符号化回路の構成を示すブロック図である。
【図10】ブロック符号の先頭アドレスの算出方式を説明するための図である。
【図11】ブロック内の回転処理を説明するための図である。
【図12】ブロック内の回転処理を説明するための図である。
【図13】第2の実施の形態における全白ブロックの検出と全黒ブロックの検出回路を有するブロックフラグ情報の符号器の構成を示すブロック図である。
【図14】状態決定器における真理値表を示す図である。
【図15】第2の実施の形態に係る符号化器の例を示す図である。
【図16】従来の符号化装置における符号化を説明するためのブロック図である。
【符号の説明】
31,35 ラインバッファ
33 コードメモリ
101 ブロック分割部
102 全白ブロック判定部
103 判定フラグ符号化部
104 ブロック内符号化部
105 ストライプ符号長演算部
107 判定フラグ復号部
108 ストライプ符号長読込部
109 ブロック内復号化部
110 制御部
111 ブロック内回転制御部
113 ブロックコード読み出しアドレス
【発明の属する技術分野】
本発明は、デジタル画像を符号化・復号化する符号化・復号化装置に関するものである。
【0002】
【従来の技術】
従来より、デジタル画像通信における白黒2値画像の符号化方式では、画像をラスタ単位に符号化していく方式が多く使われている。例えば、ファクシミリ装置で使用されている符号化方式であるMH,MR,MMR方式などは、白黒の画素の続く長さ(ランレングス)に注目して符号化するものである。このような符号化方式を取る画像通信装置において、画像を90度単位に回転させるような場合、符号化画像を原画像に復号してから回転したり、あるいは、符号化の前に回転させる必要がある。
【0003】
図16は、従来の符号化装置における符号化を説明するためのブロック図である。同図において、21は、原稿を横置き(長手方向にスキャン)して、そのスキャン方向200に従って、画素単位に原稿画像を読み込んでいくことを示している。
【0004】
また、22はページメモリで、スキャン方向201に従って、ページメモリ22に順次記録される様子を示している。ここでは、回転した画像を符号化するための読み出しは、スキャン方向202に従って行なうことを示している。
【0005】
23は、画像データ蓄積用の符号化器、24は蓄積メモリである。これらは、ファクシミリのメモリ伝送を行なうためや、プロトコルの異なるファクシミリ装置間の通信を行なうためのバッファメモリである。そして、通信時には、蓄積メモリ24から蓄積用符号化データを読み出し、それを蓄積用符号化器25にて符号化を行ない、26の伝送用の符号化器で伝送用符号に直して、伝送される。また、このデータは、受信側の伝送デコーダ27で復号化され、28に示した縦置き用紙(短手方向にスキャン)に記録される。
【0006】
【発明が解決しようとする課題】
しかしながら、上記従来の装置では、スキャンした画像を90度回転し、回転した画像をラスタ順に符号化するためには、一度回転用のページメモリに全画像を記録して、読み出し順を変えて符号化する必要がある。
【0007】
また、他の方式として、画像をブロック単位に符号化する方式もあるが、ランレングスを基本とする符号化方式ではラン長が長くならず、圧縮率が上がらないという問題がある。
【0008】
本発明は、上記の課題に鑑みてなされたもので、その目的とするところは、数ライン分のバッファのみで、画像を回転させ、その回転画像に対する再符号化を可能にする画像符号化・復号化装置を提供することである。
【0009】
また、本発明の他の目的は、ブロック単位の符号化でも、予測符号化を使って圧縮率を高めることができる画像符号化・復号化装置を提供することである。
【0010】
【課題を解決するための手段】
上記の目的を達成するため、本発明は、デジタル画像信号を符号化する符号器、及び該符号化された画像信号を復号化する復号器を有し、得られた画像の回転画像を生成する画像符号化・復号化装置であって、前記符号器において、前記画像信号に係る画像をN×Nブロックに分割する手段と、前記N×Nブロックを構成する画素の色を判定する判定手段と、前記判定結果を符号化する第1の符号化手段と、前記判定結果をもとに前記ブロック毎に独立に該ブロック内の画素を符号化する第2の符号化手段と、前記第2の符号化手段で得られた符号化ブロックの符号長を、画像のストライプ毎に合計するストライプ符号長生成手段と、前記第1の符号化手段及び前記第2の符号化手段にて符号化されたデータ、及び前記符号長生成手段にて得られたストライプ毎の符号長を記憶する記憶手段と、前記復号器において、前記第1の符号化手段で符号化された判定結果を復号化する第1の復号化手段と、前記記憶手段から読み出された前記ストライプ毎の符号長を保持する符号長保持手段と、前記記憶手段に記憶されている前記符号化ブロックの先頭アドレスを、前記符号長保持手段に保持されたストライプ毎の符号長に基づいて決定する先頭アドレス決定手段と、前記先頭アドレスに基づいて前記符号化ブロック内の画素を前記記憶手段から読み出し、復号化する第2の復号化手段と、前記復号化された判定結果及び前記先頭アドレスに基づいて、前記復号化されたN×Nブロック内の画素を回転する手段と、前記回転された画素をNラインバッファに記憶する手段とを備え、前記第2の復号化手段で復号化された符号化ブロックの符号長に基づいて、前記符号長保持手段に保持された該当するストライプの符号長が更新される。
【0011】
【発明の実施の形態】
以下、添付図面を参照して、本発明に係る実施の形態を詳細に説明する。
<第1の実施の形態>
図1は、本発明の第1の実施の形態に係る符号・復号化装置の全体の構成を示すブロック図である。なお、ここでは、白黒2値の場合について説明する。
【0012】
図1において、符号30は、原稿を横書きして、スキャン方向300に従って、画素単位に画像を読み込んでいくことを示している。31はラインバッファで、後述するブロックサイズ分だけの幅を持つ。また、32は、入力データの符号化を行なう符号器であり、符号化されたデータはメモリ33に蓄えられる。ここでは、ブロック単位の符号化を行なう。
【0013】
34は復号器で、ここで復号化されたデータはラインバッファ35に書き込まれる。その後、データは、36の伝送用の符号化器で伝送用符号に直して伝送され、受信側のデコーダ37で復号化されて、最終的には、38にて示される縦置き用紙に記録される。
【0014】
図2,図3は、本実施の形態に係る符号器、復号器の内部構成を示すブロック図である。
【0015】
図2において、31はNラインのラインバッファ(以下の例では、N=8または16)、101はブロック分割部、102は全白ブロック判定部、103は判定フラグ符号化部、104ブロック内画素を符号化するブロック内符号化部、105はストライプ符号長演算部、そして、33はコードメモリである。また、図3において、107は判定フラグ復号部、108はストライプ符号長読込部、109はブロック内の画素を復号化するブロック内復号化部、110はアドレス等の制御部、111はブロック内画素を回転させるブロック内回転制御部、35はNラインのラインバッファ、そして、113は、ブロックコード読み出しアドレスである。
【0016】
そこで、最初に符号化の動作を説明する。
【0017】
図2に示すラインバッファ31では、Nライン(以下の説明では、16ライン)毎の画像データをブロック分割部101に入力し、画像データを16×16毎のブロックに分割する。次段の全白ブロック判定部102では、ブロック内画素が全部白の場合にフラグを立て、ここでは、このブロック内の画素は符号化対象としない。
【0018】
判定フラグ符号化部103では、全白ブロック判定部102からの、画像全体の全白ブロックのフラグのON/OFFの状態を符号化する。また、ブロック内符号化部104では、ブロック内の画素値を予測符号化方式で符号化する。ストライプ符号長演算部105では、16ラインで区切った画像(ここでは、これをストライプ画像と呼ぶ)毎のブロック内画素の符号長の和を演算する。そして、メモリ部33には、判定フラグ符号化部103での判定フラグの符号化データ、ストライプ符号長演算部105からのストライプ符号長データ、ブロック内符号化部104にて符号化したブロック内画素の符号データが、1つの画像の符号化データとして一括して記録される。
【0019】
次に、復号化の動作について説明する。
【0020】
図3の判定フラグ復号部107では、全画像に渡るブロック単位の全白フラグを復号化する。ストライプ符号長読込部108は、各ストライプの符号長を読み出し、その値を制御部110内のカウンタ(不図示)にセットする。制御部110では、回転処理を考慮した順番に、復号化するブロックアドレスを計算する。
【0021】
先ず対象となるブロックの全白フラグを見て、全白の場合は回転処理が不要なので、16×16の白データをブロック内回転制御部111に出力して、回転処理は行なわないように制御する。しかし、全白フラグがOFFの場合(符号化ブロックの場合)には、ストライプ符号長カウンタ値から対応するブロックの符号の先頭番地を計算し、そのアドレス信号である読出しアドレス113をメモリ33に出力して、そこからのデータをブロック内画素の復号化部109に送る。
【0022】
ブロック内復号化部109では、16×16ブロック内の画素を復号化し、これらをブロック内回転制御部111に送る。このブロック内回転制御部111では、ブロック内で回転した画像をラインバッファ35に送る。また、ブロック内復号化部109からは、復号化に使用した符号長信号120を制御部110に戻し、そこでは、上記のストライプカウンタの値が更新される。
【0023】
図4,図5は、ブロック分解された画像の回転方式を説明するための図であり、ここでは、画像全体をAからLまでの12個のブロックに分割する。
【0024】
図4は、回転前のブロックの配置を示し、図5は、右回転後の配置を示す。ここに示す回転画像を作るためのブロックの読み出し、及び回転順序は、以下のようになる。すなわち、
(1)ブロックIの復号及び回転
(2)ブロックEの復号及び回転
(3)ブロックAの復号及び回転
(4)ブロックライン(I,E,A)の出力
(5)ブロックJの復号及び回転
(6)ブロックFの復号及び回転
(7)ブロックBの復号及び回転
(8)ブロックライン(J,F,B)の出力
(9)上記操作の繰り返しで、ブロックライン(L,H,D)までの処理を行なう。
【0025】
図6は、全白ブロックの判定結果を示す図であり、同図においてハッチングされていないブロックが全白ブロック、ハッチングされたブロックが、黒画素値を有するブロックであり、このブロックが符号化対象になる。また、このフラグ情報は、判定フラグ符号化部103で符号化される。なお、ここでの符号化方式は、ランレングス方式の符号化でも予測符号化方式でもよい。
【0026】
図7は、ブロック内の画素のスキャン方向を説明するための図である。同図に示すように、ブロック内での画素は、左から右へ、上から下方向へスキャンされ、この画素順で符号化を行なう。
【0027】
また、図8は、ブロック内の画素の予測参照方式を説明するための図である。同図に示す、ブロック内の符号化対象画素Xは、既に符号化済みの周囲画素A,B,Cの3画素の値からXの白黒の状態、それらの一致確率を算出し、その結果を後述する予測符号化器で符号化する。なお、符号化対象画素Xが、ブロックの上下左右の端にかかる場合の周囲画素の状態は、あらかじめ決められたルールで決定しておく必要がある。通常は、白画素を仮定する。
【0028】
図9は、本実施の形態に係る予測符号化回路の構成を示すブロック図である。同図において、91は予測回路で、図8に示す符号化対象画素の周囲状況を調べるための回路である。93は予測状態メモリで、後段の算術符号器94に与える情報を、予測状態毎に記憶する回路であり、算術符号器94から出力される、1画素の符号化終了時に更新された情報が、この予測状態メモリ93に記憶される。
【0029】
また、ブロック内画素の最初の画素を符号化する場合は、初期値データセット回路92に、不図示の制御部から信号を与えて、予測状態メモリ93の値を初期値に戻す。この初期値データは、代表的な原稿で決定しており、それを複数用意して切り替える方式をとることにより、効率の良い符号化ができる。
【0030】
なお、算術符号器94は、国際標準JPEG,JBIG方式で決められているQM−Coder、またはその他の類似する方式でも構わない。
【0031】
図10は、ブロック符号の先頭アドレスの算出方式を説明するための図である。同図では、図6などのブロックB,C,E,F,G,H,Jの符号b,c,e,f,g,h,jを表わしている。そして、符号化部では、各ストライプのコード長として、(b+c),(e+f+g+h),(j)のコード長を計算し、これらをメモリ33に記憶する。
【0032】
また、復号器では、メモリ33から各ストライプ長を読み出し、各ストライプに対応するカウンタにその値をセットする。
【0033】
図10に示す例では、ストライプ#1のカウンタ値は0、ストライプ#2のカウンタ値は(b+c)、ストライプ#3のカウンタ値は(e+f+g+h)をセットする。これにより、ブロックB,E,Jのブロック符号の画像に対する符号上の先頭アドレスがわかることになる。
【0034】
各ブロックの復号が終わると、そのブロックの復号にかかった符号長をカウンタに加算する。例えば、ブロックBの復号に使った符号長bをカウンタ#1に加算することにより、ブロックCのブロック符号の先頭アドレスがわかることにある。
【0035】
図11,図12は、ブロック内の回転処理を説明するための図であるが、説明を簡単にするために、ここでは、N=8(8×8)の場合を示している。
【0036】
図11の1〜10は、ブロック内の画素の符号化順を示しており、図12の1〜10は、右90度回転を行なう場合に、復号化した画素をブロックバッファに書き込むときの順番を表わしている。ここでは、上から下、右から左の順で書き込む。
【0037】
以上説明したように、本実施の形態によれば、大容量のメモリを使わずに、ブロック単位に符号化された圧縮コードデータの読み出し順序を制御することにより、数ライン分のバッファにて画像を回転させ、回転画像に対する再符号化が可能となる。また、ブロック単位の符号化でも、頻出する原稿に合わせた予測符号化を使うことにより、圧縮率を高めることができる。
<第2の実施の形態>
以下、第2の実施の形態について説明する。
【0038】
図13は、全白ブロックの検出に加えて、全黒ブロックの検出回路を入れた場合のブロックフラグ情報の符号器の構成を示すブロック図である。同図において、300は全白ブロック判定器、301は全黒ブロック判定器、302はブロック状態を決定する状態決定器で、図14に示すような、全白(0)、全黒(10)、それ以外(11)の3状態を表わす信号を出力する。
【0039】
図15に示した符号化器では、310の予測回路で周囲での判定状況から予測状態を作り、これを、現ブロック情報の何ビット目かを示す信号を予測状態メモリ311のアドレスとして入れ、算術パラメータをデータとして読み出す。そして、これを算術符号器312に入力し、ブロックの情報を1ビットづつ符号化していく。
【0040】
復号化は、上記とは逆の回路を作ることにより、1ビットずつ復号値が決定され、復号値の1ビット目が(0)のときは全白ブロック、復号値の1ビット目が1で、2ビット目が(0)のときは全黒ブロック、また、復号値の1,2ビット目が(1)のときは、符号化ブロックとブロックフラグの状態が決定できる。
【0041】
本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって実施される場合にも適用できることは言うまでもない。この場合、本発明に係るプログラムを格納した記憶媒体が本発明を構成することになる。そして、該記憶媒体からそのプログラムをシステムあるいは装置に読み出すことによって、そのシステムあるいは装置が、あらかじめ定められた仕方で動作する。
【0042】
【発明の効果】
以上説明したように、本発明によれば、符号器側において所定ブロック内の画素の色を判定し、異なる色の画素があるブロックのみをブロック毎に独立に符号化し、復号器側において、回転した画像を順次構成していくためのブロックデータのアドレスを制御してブロック内の画素を復号化し、ブロック内の画素を回転することにより、大容量のメモリを使わずに、符号化データを使って画像の回転を行なえるという効果がある。特に、画像のストライプ毎に該当する符号化ブロックの符号長の和を記憶しておき、復号対象となるブロックの先頭アドレスを上記各ストライプ毎の符号長を参照することにより決定し、また、ブロックを復号する毎に該当するストライプの符号長を更新する様にしたので、回転画像を構成するのに必要なブロックを順次効率よく復号することができる。
【0043】
【図面の簡単な説明】
【図1】第1の実施の形態に係る符号・復号化装置の全体の構成を示すブロック図である。
【図2】実施の形態に係る符号器、復号器の内部構成を示すブロック図である。
【図3】実施の形態に係る符号器、復号器の内部構成を示すブロック図である。
【図4】ブロック分解された画像の回転方式を説明するための図である。
【図5】ブロック分解された画像の回転方式を説明するための図である。
【図6】全白ブロックの判定結果を示す図である。
【図7】ブロック内の画素のスキャン方向を説明するための図である。
【図8】ブロック内の画素の予測参照方式を説明するための図である。
【図9】実施の形態に係る予測符号化回路の構成を示すブロック図である。
【図10】ブロック符号の先頭アドレスの算出方式を説明するための図である。
【図11】ブロック内の回転処理を説明するための図である。
【図12】ブロック内の回転処理を説明するための図である。
【図13】第2の実施の形態における全白ブロックの検出と全黒ブロックの検出回路を有するブロックフラグ情報の符号器の構成を示すブロック図である。
【図14】状態決定器における真理値表を示す図である。
【図15】第2の実施の形態に係る符号化器の例を示す図である。
【図16】従来の符号化装置における符号化を説明するためのブロック図である。
【符号の説明】
31,35 ラインバッファ
33 コードメモリ
101 ブロック分割部
102 全白ブロック判定部
103 判定フラグ符号化部
104 ブロック内符号化部
105 ストライプ符号長演算部
107 判定フラグ復号部
108 ストライプ符号長読込部
109 ブロック内復号化部
110 制御部
111 ブロック内回転制御部
113 ブロックコード読み出しアドレス
Claims (4)
- デジタル画像信号を符号化する符号器、及び該符号化された画像信号を復号化する復号器を有し、得られた画像の回転画像を生成する画像符号化・復号化装置であって、
前記符号器において、
前記画像信号に係る画像をN×Nブロックに分割する手段と、
前記N×Nブロックを構成する画素の色を判定する判定手段と、
前記判定結果を符号化する第1の符号化手段と、
前記判定結果をもとに前記ブロック毎に独立に該ブロック内の画素を符号化する第2の符号化手段と、
前記第2の符号化手段で得られた符号化ブロックの符号長を、画像のストライプ毎に合計するストライプ符号長生成手段と、
前記第1の符号化手段及び前記第2の符号化手段にて符号化されたデータ、及び前記符号長生成手段にて得られたストライプ毎の符号長を記憶する記憶手段と、
前記復号器において、
前記第1の符号化手段で符号化された判定結果を復号化する第1の復号化手段と、
前記記憶手段から読み出された前記ストライプ毎の符号長を保持する符号長保持手段と、
前記記憶手段に記憶されている前記符号化ブロックの先頭アドレスを、前記符号長保持手段に保持されたストライプ毎の符号長に基づいて決定する先頭アドレス決定手段と、
前記先頭アドレスに基づいて前記符号化ブロック内の画素を前記記憶手段から読み出し、復号化する第2の復号化手段と、
前記復号化された判定結果及び前記先頭アドレスに基づいて、前記復号化されたN×Nブロック内の画素を回転する手段と、
前記回転された画素をNラインバッファに記憶する手段とを備え、
前記第2の復号化手段で復号化された符号化ブロックの符号長に基づいて、 前記符号長保持手段に保持された該当するストライプの符号長が更新されることを特徴とする画像符号化・復号化装置。 - 前記判定手段は、前記N×Nブロック内の画素が全部同色であるかを判定することを特徴とする請求項1に記載の画像符号化・復号化装置。
- 前記第2の符号化手段は、前記N×Nブロック内に異なる色の画素があるブロックを該ブロック毎に独立に符号化することを特徴とする請求項1に記載の画像符号化・復号化装置。
- 前記第2の符号化手段は、前記N×Nブロックを構成する全画素の色が白の場合、前記符号化を行なわないことを特徴とする請求項2に記載の画像符号化・復号化装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22898195A JP3563838B2 (ja) | 1995-09-06 | 1995-09-06 | 画像符号化・復号化装置 |
US08/708,628 US5991450A (en) | 1995-09-06 | 1996-09-05 | Image encoding and decoding apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22898195A JP3563838B2 (ja) | 1995-09-06 | 1995-09-06 | 画像符号化・復号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0974475A JPH0974475A (ja) | 1997-03-18 |
JP3563838B2 true JP3563838B2 (ja) | 2004-09-08 |
Family
ID=16884904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22898195A Expired - Fee Related JP3563838B2 (ja) | 1995-09-06 | 1995-09-06 | 画像符号化・復号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3563838B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3208101B2 (ja) * | 1996-11-07 | 2001-09-10 | 松下電器産業株式会社 | 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体 |
JP4857149B2 (ja) * | 2007-03-02 | 2012-01-18 | 株式会社リコー | 画像形成装置 |
JP2008301028A (ja) | 2007-05-30 | 2008-12-11 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
JP5742427B2 (ja) * | 2011-04-25 | 2015-07-01 | 富士ゼロックス株式会社 | 画像処理装置 |
-
1995
- 1995-09-06 JP JP22898195A patent/JP3563838B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0974475A (ja) | 1997-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS59223073A (ja) | 画像処理装置 | |
US4156880A (en) | Method for transmitting a facsimile signal by sequential edge differential coding | |
US5991450A (en) | Image encoding and decoding apparatus | |
US5963342A (en) | Image processing apparatus and method thereof | |
JP3563838B2 (ja) | 画像符号化・復号化装置 | |
JPH07264417A (ja) | 画像符号化方法 | |
JP3281183B2 (ja) | 画像符号化復号化方法および画像符号化復号化装置 | |
JP3437346B2 (ja) | 画像符号化・復号化装置 | |
JPH1098620A (ja) | 画像処理装置 | |
JP3864681B2 (ja) | 画像データ符号化装置、画像データ符号化方法、記録媒体及び画像形成装置 | |
JP3295507B2 (ja) | 二値画像符号化復号化方法 | |
JP3263218B2 (ja) | 画情報データ圧縮再生装置 | |
JP2810838B2 (ja) | 2値画像伝送装置 | |
JP3736107B2 (ja) | 画像処理装置 | |
JP2541118B2 (ja) | デ―タ符号化方式 | |
JP3230551B2 (ja) | 画像処理装置および方法 | |
JP3187696B2 (ja) | 画像符号化装置 | |
JPH09252408A (ja) | 多階調画像の復号装置 | |
JP4526069B2 (ja) | 画情報の算術符号化装置及び画情報の算術復号化装置 | |
JP3340015B2 (ja) | 画像データ復号装置および復号方法 | |
JPS63132572A (ja) | 中間調画像符号化回路 | |
JP2936042B2 (ja) | 2値画像伝送装置 | |
JPH11331844A (ja) | 固定長ブロック符号化装置及び復号装置 | |
JPH09312774A (ja) | 画像データ符号化装置 | |
JPH0435361A (ja) | 画像符号化装置および画像符号化・複合化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040531 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040604 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |