(57)【要約】【課題】発生符号量が１ブロックに割り当てた上限値に到達することにより符号化が打ち切られるブロックの発生確率を下げることができ、符号量に制限をかけながらも高い画質を得ること。【解決手段】予め色差成分及び輝度成分の各々に発生符号量の上限値を定め、色差成分の次に輝度成分が符号化されるように符号化順序を制御し、色差成分の符号化で余った符号量を輝度成分の発生符号量の上限値に加算する。また、予め１ブロックの発生符号量の上限値を定め、１ブロックの発生符号量が当該ブロックに割り振られた発生符号量の上限値に到達していなければ、残余の符号量を後続のブロックに配分する。【選択図】      図１
2004328406.tif 000002
【特許請求の範囲】
【請求項１】
カラー画像を色差成分と輝度成分に変換すると共にブロック単位で分割し、ブロック単位で符号化を行う場合、予め色差成分及び輝度成分の各々に発生符号量の上限値を定め、色差成分の次に輝度成分が符号化されるように符号化順序を制御し、色差成分の符号化で余った符号量を輝度成分の発生符号量の上限値に加算することを特徴とする符号量制御方法。
【請求項２】
画像をブロック単位で分割し、ブロック単位で符号化を行う場合、予め１ブロックの発生符号量の上限値を定め、１ブロックの符号化時に実際の発生符号量を計数し、１ブロックの符号化終了時に計数された発生符号量が、当該ブロックに割り振られた発生符号量の上限値に到達していなければ、残余の符号量を後続のブロックに配分し、先行ブロックで余った符号量を順次後続のブロックに分配することを特徴とする符号量制御方法。
【請求項３】
先行ブロックで余った符号量を後続のブロックに分配させる範囲は、複数ブロックで構成される１ストライプ内に限ることを特徴とする請求項２記載の符号量制御方法。
【請求項４】
カラー画像を色差成分と輝度成分に変換すると共にブロック単位で分割し、ブロック単位で符号化を行う場合、予め色差成分及び輝度成分の各々に発生符号量の上限値を定め、色差成分の次に輝度成分が符号化されるように符号化順序を制御し、色差成分の符号化で余った符号量を輝度成分の発生符号量の上限値に加算し、１ブロックの符号化終了時に計数された発生符号量が、当該ブロックに割り振られた発生符号量の上限値に到達していなければ、残余の符号量を後続のブロックに配分し、先行ブロックで余った符号量を順次後続のブロックに分配することを特徴とする符号量制御方法。
【請求項５】
各ブロックに対して定める発生符号量の上限値は、直前のストライプの発生符号量によって適応化することを特徴とする請求項１から請求項４のいずれかに記載の符号量制御方法。
【請求項６】
カラー画像を色差成分と輝度成分とに変換すると共にブロック単位で分割して各色成分についてブロック単位で符号化を行う符号器と、予め色差成分及び輝度成分の各々に発生符号量の上限値を定め、色差成分の次に輝度成分が符号化されるように符号化順序を制御し、色差成分の符号化で余った符号量を輝度成分の発生符号量の上限値に加算する符号量制御手段と、を具備する符号化装置。
【請求項７】
画像をブロック単位で分割してブロック単位で符号化を行う符号器と、予め１ブロックの発生符号量の上限値を定め、前記符号器による１ブロックの符号化時に実際の発生符号量を計数し、１ブロックの符号化終了時に計数された発生符号量が、当該ブロックに割り振られた発生符号量の上限値に到達していなければ、残余の符号量を後続のブロックに配分し、先行ブロックで余った符号量を順次後続のブロックに分配する符号化量制御手段と、を具備する符号化装置。
【請求項８】
入力画像を一旦符号化してメモリに蓄積する装置であって、請求項６又は請求項７記載の符号化装置を用いて符号化を行うことを特徴とする画像蓄積装置。
【請求項９】
前記符号化装置に、色差成分及び輝度成分に対する発生符号量の上限値又は１ブロックに対する発生符号量の上限値として、前記メモリに蓄積できるページ数の最低保証枚数に対応した数値が設定されることを特徴とする請求項８記載の画像蓄積装置。
【請求項１０】
原稿をスキャンして得られた画像データを符号化してからメモリに格納するスキャナ装置であって、請求項６又は請求項７記載の符号化装置を用いて符号化を行うことを特徴とするスキャナ装置。
【請求項１１】
スキャナ機能、プリンタ機能及び通信機能を備えた複合機であって、請求項６又は請求項７記載の符号化装置を用いて画像データを符号化することを特徴とする複合機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カラー画像の符号化において符号データ量の上限を制御する符号量制御方法及び符号化装置に関する。
【０００２】
【従来の技術】
カラー画像の符号化方式としてＪＰＥＧが知られている。ＪＰＥＧではＲＧＢカラー画像を輝度と２つの色差成分に変換し、各カラー成分を８×８画素を１ブロックとして、ブロック毎に符号化する。ブロックの符号化は離散コサイン変換（ＤＣＴ）処理、変換係数の量子化処理、量子化係数の可変長符号化処理の順に実行される。画像をＤＣＴ変換すると周波数成分に分離できる。その周波数成分は、ブロックの平均輝度を表すＤＣ成分と、その他のＡＣ成分とに分けられる。ＡＣ成分はジグザグスキャンと呼ばれるスキャン順序で低周波成分から高周波成分に向かって符号化されるが、通常は高周波成分は粗く量子化されるため、ブロックの最後の方はゼロが並ぶことになる。そこで、あるところから後ろは全てゼロであることを示すシンボルをＥＯＢ  （Ｅｎｄ  ｏｆ  Ｂｌｏｃｋ）と定義し、これらのゼロランを一括して符号化する。図８にこの様子を示す。図８では主走査周波数をｕ、副走査周波数をｖとし、座標  （ｕ、  ｖ）  によって変換係数を表すものとする。非ゼロ成分を（０、０）、  （１、０）、  （０、１）、  （０、２）とし、その他をゼロとするとＡＣ成分の符号化は矢印の順に（１、０）、  （０、１）、  （０、２）、  ＥＯＢの情報を符号化して終了する。
【０００３】
符号化データは画像の複雑さや量子化ステップ幅によって左右されるので、予め定めた容量のメモリに符号データを蓄積しようとすると、メモリのオーバフローを防止する方法が必要になる。従来、この方法は１つのブロックから吐き出される符号バイト数に上限を設けて、符号バイト数をカウントしながら、カウント値がこのバイト数に達した時に強制的にＥＯＢシンボルを符号化して、そのブロックの符号化を終了するようにしている（例えば、特許文献１参照）。この従来の方法によると、符号バイト数は１ブロック毎に管理されるため、結果としてページ全体の符号量の上限を制御することができる。
【０００４】
【特許文献１】
特開平１０−２２４６３８号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、強制的にＥＯＢで符号化を終了したブロックでは、高い周波数成分が失われるため復元画質の低下を招くことが課題となる。
【０００６】
本発明は以上のような実情に鑑みてなされたものであって、バイト数の上限値によってＥＯＢで打ち切られるブロックの発生確率を下げて画質を上げることのできる符号量制御方法及び符号化装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、予め色差成分及び輝度成分の各々に発生符号量の上限値を定め、色差成分の次に輝度成分が符号化されるように符号化順序を制御し、色差成分の符号化で余った符号量を輝度成分の発生符号量の上限値に加算することを特徴とする符号量制御方法である。
【０００８】
また本発明は、予め１ブロックの発生符号量の上限値を定め、１ブロックの発生符号量が当該ブロックに割り振られた発生符号量の上限値に到達していなければ、残余の符号量を後続のブロックに配分する符号量制御方法である。
【０００９】
【発明の実施の形態】
本発明の第１の態様は、カラー画像を色差成分と輝度成分に変換すると共にブロック単位で分割し、ブロック単位で符号化を行う場合、予め色差成分及び輝度成分の各々に発生符号量の上限値を定め、色差成分の次に輝度成分が符号化されるように符号化順序を制御し、色差成分の符号化で余った符号量を輝度成分の発生符号量の上限値に加算することを特徴とする符号量制御方法である。
【００１０】
本発明によれば、１つのカラーブロック内部では、符号化順序は色差から輝度の順に符号化することし、色差成分にも符号量の上限を設け、その余りを輝度成分の符号バイト数の割り当て値に加算するよう構成したので、一般に色差信号は輝度信号に比べて符号量は少なく、輝度信号に対する符号量割り当て値を大きく取れ、符号量に制限を加えながら高い画質も得ることができる。
【００１１】
本発明の第２の態様は、画像をブロック単位で分割し、ブロック単位で符号化を行う場合、予め１ブロックの発生符号量の上限値を定め、１ブロックの符号化時に実際の発生符号量を計数し、１ブロックの符号化終了時に計数された発生符号量が、当該ブロックに割り振られた発生符号量の上限値に到達していなければ、残余の符号量を後続のブロックに配分し、先行ブロックで余った符号量を順次後続のブロックに分配することを特徴とする符号量制御方法である。
【００１２】
本発明によれば、１ブロックの符号バイト数がその設定値に達しないときは、設定値と符号バイト数の差分（余り）を次のブロックの符号量割り当て値に加算するので、余白部分や画像の平坦部分など、比較的複雑さの低い画像領域では割り当て符号バイト数が余り、それを複雑な画像領域に割り当てることができるので、バイト数の上限値によってＥＯＢで打ち切られるブロックの発生確率が下がり画質を上げることができる。
【００１３】
本発明の第３の態様は、第２の態様の符号量制御方法において、先行ブロックで余った符号量を後続のブロックに分配させる範囲は、複数ブロックで構成される１ストライプ内に限るものとした。
【００１４】
これにより、ストライプ単位でストライプの発生符号量の上限値を制御でき、結果としてＣＯＤＥＣの処理速度の上限値を制御できる。スキャナよりＣＯＤＥＣの処理速度が速くなるように発生符号量を決めると、スキャンしながらページメモリを介さずに符号化することができる。
【００１５】
本発明の第４の態様は、カラー画像を色差成分と輝度成分に変換すると共にブロック単位で分割し、ブロック単位で符号化を行う場合、予め色差成分及び輝度成分の各々に発生符号量の上限値を定め、色差成分の次に輝度成分が符号化されるように符号化順序を制御し、色差成分の符号化で余った符号量を輝度成分の発生符号量の上限値に加算し、１ブロックの符号化終了時に計数された発生符号量が、当該ブロックに割り振られた発生符号量の上限値に到達していなければ、残余の符号量を後続のブロックに配分し、先行ブロックで余った符号量を順次後続のブロックに分配することを特徴とする符号量制御方法である。
【００１６】
本発明によれば、一般に色差信号は輝度信号に比べて符号量は少ないので、輝度信号に対する符号量割り当て値を大きく取れ、符号量に制限を加えながら高い画質も得ることができる。また、余白部分や画像の平坦部分など、比較的複雑さの低い画像領域では割り当て符号バイト数が余り、それを複雑な画像領域に割り当てることができ、バイト数の上限値によってＥＯＢで打ち切られるブロックの発生確率が下がり画質を上げることができる。
【００１７】
本発明の第５の態様は、第１から第４のいずれかの態様の符号量制御方法において、各ブロックに対して定める発生符号量の上限値は、直前のストライプの発生符号量によって適応化するものとした。
【００１８】
これにより、ストライプ単位で発生符号量の上限を最適化することができる。
【００１９】
本発明の第６の態様は、カラー画像を色差成分と輝度成分とに変換すると共にブロック単位で分割して各色成分についてブロック単位で符号化を行う符号器と、予め色差成分及び輝度成分の各々に発生符号量の上限値を定め、色差成分の次に輝度成分が符号化されるように符号化順序を制御し、色差成分の符号化で余った符号量を輝度成分の発生符号量の上限値に加算する符号量制御手段と、を具備する符号化装置である。
【００２０】
本発明によれば、１つのカラーブロック内部では、符号化順序は色差から輝度の順に符号化することし、色差成分にも符号量の上限を設け、その余りを輝度成分の符号バイト数の割り当て値に加算するよう構成したので、一般に色差信号は輝度信号に比べて符号量は少なく、輝度信号に対する符号量割り当て値を大きく取れ、符号量に制限を加えながら高い画質も得ることができる。
【００２１】
本発明の第７の態様は、画像をブロック単位で分割してブロック単位で符号化を行う符号器と、予め１ブロックの発生符号量の上限値を定め、前記符号器による１ブロックの符号化時に実際の発生符号量を計数し、１ブロックの符号化終了時に計数された発生符号量が、当該ブロックに割り振られた発生符号量の上限値に到達していなければ、残余の符号量を後続のブロックに配分し、先行ブロックで余った符号量を順次後続のブロックに分配する符号化量制御手段と、を具備する符号化装置である。
【００２２】
本発明によれば、１ブロックの符号バイト数がその設定値に達しないときは、設定値と符号バイト数の差分（余り）を次のブロックの符号量割り当て値に加算するので、余白部分や画像の平坦部分など、比較的複雑さの低い画像領域では割り当て符号バイト数が余り、それを複雑な画像領域に割り当てることができるので、バイト数の上限値によってＥＯＢで打ち切られるブロックの発生確率が下がり画質を上げることができる。
【００２３】
本発明の第８の態様は、入力画像を一旦符号化してメモリに蓄積する装置であって、第６又は第７の態様の符号化装置を用いて符号化を行う画像蓄積装置である。
【００２４】
本発明の第９の態様は、第８の態様の画像蓄積装置において、前記符号化装置に、色差成分及び輝度成分に対する発生符号量の上限値又は１ブロックに対する発生符号量の上限値として、前記メモリに蓄積できるページ数の最低保証枚数に対応した数値が設定されるものである。
【００２５】
これにより、色差成分及び輝度成分に対する発生符号量の上限値又は１ブロックに対する発生符号量の上限値により、１ページの符号量に上限を設けることができ、メモリに蓄積可能な最低枚数を保証できる。
【００２６】
本発明の第１０の態様は、原稿をスキャンして得られた画像データを符号化してからメモリに格納するスキャナ装置であって、第６又は第７の態様の符号化装置を用いて符号化を行うことを特徴とするスキャナ装置である。
【００２７】
本発明の第１１の態様は、スキャナ機能、プリンタ機能及び通信機能を備えた複合機であって、第６又は第７の態様の符号化装置を用いて画像データを符号化することを特徴とする複合機である。
【００２８】
以上のように、本発明では１つのブロックに符号量の上限を割り当て、符号バイト数がそこに達したときにはＥＯＢで符号化を終了することは同じであるが、符号バイト数がその設定値に達しないときは、設定値と符号バイト数の差分（余り）を次のブロックの符号量割り当て値に加算する。こうすると余白部分や画像の平坦部分など、比較的複雑さの低い画像領域では割り当て符号バイト数が加算され、それを複雑な画像領域に割り当てることができるので、バイト数の上限値によってＥＯＢで打ち切られるブロックの発生確率が下がり画質を上げることができる。
【００２９】
更に、１つのカラーブロック内部では、符号化順序は色差信号から輝度信号の順に符号化することし、色差信号にも符号量の上限を設け、その余りを輝度信号の符号バイト数の割り当て値に加算する。こうすると、一般に色差信号は輝度信号に比べて符号量は少ないので、輝度信号に対する符号量割り当て値を大きく取れ、符号量に制限を加えながら高い画質も得ることができる。
【００３０】
本発明では、隣ブロックへの符号量の余りの伝播の範囲は８ラインまたは１６ラインのストライプ内部とした。従って、ストライプ単位で符号量の上限が制御できることになる。
【００３１】
以下、本発明に係る符号量制御方法及び符号化装置の実施の形態について図面を参照して具体的に説明する。
【００３２】
図１は本実施の形態による符号量制御方法の原理説明図である。画像は８×８画素または１６×１６画素からなるブロックを処理の基本単位にする。カラー画像の符号化では、通常は色差信号を主走査、副走査方向に１／２にサブサンプリングして符号化する。この場合には符号量制御は、１６×１６画素を処理の単位とする。このマクロブロック内部には８×８画素のブロックが輝度成分で４個、色差成分では各１個含まれるので、これをサブサンプリング比４：１：１と呼ぶ。これに対して、サブサンプリングしない場合は、処理の単位を８×８画素とする。これをサブサンプリング比１：１：１と呼ぶ。
【００３３】
図１において、１０１は、ストライプの先頭から第ｉ番目のカラーブロックであり、Ｙを輝度成分、Ｃ１とＣ２を色差成分とする。同図はこれらを同一サイズで表現しているので、１：１：１の場合にあたる。各カラーブロックに対して、予め定め固定して割り当てられる符号バイト数をＣｏｄｅＳｉｚｅ  １０３  とする。また、図示していないが左隣のｉ−１番目ブロックから伝播する符号量の余りをＲ（ｉ−１）とする。そうすると、ｉ番目のブロックの符号割り当て量ＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）は、これらの加算値として式１で示される。
【００３４】
ＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）  ＝  ＣｏｄｅＳｉｚｅ  ＋  Ｒ（ｉ−１）          （式１）
これはカラー成分Ｙ、  Ｃ１、  Ｃ２全てに割り当てられる符号バイト数である。
【００３５】
これを色差成分Ｃ１、Ｃ２と輝度成分とに配分する必要がある。通常、色差成分の符号量は少ないので、本実施の形態では全体の１／４をそれぞれＣ１、Ｃ２の符号量の上限値とした。これをＣｈｒｏｍＣｏｄｅＳｉｚｅとする。この値はＣｏｄｅＳｉｚｅ同様、外部から設定できるように構成してもよい。
【００３６】
カラーブロック内部の符号化は、まずＣ２成分、Ｃ１成分、最後にＹ成分の順序で行う。このとき、Ｃ１、  Ｃ２の符号バイト数を｜Ｃ１｜、  ｜Ｃ２｜で表すことにすると、Ｙ成分の符号バイト数の上限値ｍａｘ｜Ｙ｜は式２のように定める。
【００３７】
ｍａｘ｜Ｙ｜  ＝  ＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）  −  （  ｜Ｃ１｜  ＋  ｜Ｃ２｜）        （式２）
こうすると、ＣｈｒｏｍＣｏｄｅＳｉｚｅと｜Ｃ１｜、  ｜Ｃ２｜との差分（余り）が輝度成分Ｙに割り当てられることになる。こうして第ｉ番目の符号化が終了すると、符号バイト数が｜Ｙ｜＋｜Ｃ１｜＋｜Ｃ２｜と確定する。割り当てバイト数はＣｏｄｅＢｌｏｃｋＳｉｚｅ（ｉ）なので、余りＲ（ｉ）は式３のようになる。
【００３８】
Ｒ（ｉ）  ＝  ＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）  −  （  ｜Ｙ｜＋｜Ｃ１｜＋｜Ｃ２｜  ）              （式３）
これが次のブロックに渡される。以下同様にして処理が継続する。
【００３９】
サブサンプリング比４：１：１の場合は、１６×１６画素のマクロブロックを処理の単位とする。この中には８×８ブロックが４個あるので、マクロブロック全体の符号バイト数は４×ＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）だけ割り当てられる。サブサンプリング後、色差成分は各１ブロック、輝度成分は４ブロックとなるので、輝度成分への符号バイト数割り当ては、各Ｙ成分へ均等に式４のように定める。
【００４０】
ｍａｘ｜Ｙ｜  ＝    ［４×ＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）  −  （｜Ｃ１｜  ＋  ｜Ｃ２｜）  ］／４      （式４）
また、隣のブロックに引き渡す余りも、８×８画素ブロックに換算して次のように計算する。
【００４１】
Ｒ（ｉ）  ＝  ＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）  −  （  ｜Ｙ｜＋｜Ｃ１｜＋｜Ｃ２｜  ）  ／４            （式５）
他の処理は１：１：１の場合と同様である。以上が符号バイト数割り当ての原理である。
【００４２】
図２は本実施の形態による符号量制御方式を用いた符号化装置のブロック構成図である。符号化はＪＰＥＧのようにＤＣＴ  ２０１を用いた直交変換符号化とする。ＲＧＢカラー信号は輝度信号と色差信号とに分離されて、このブロック図に入力するものとする。
【００４３】
各カラー成分画像について、ＤＣＴ係数が量子化テーブル２０３を参照して周波数成分毎に量子化器２０２で量子化され、係数メモリ２０４に格納される。その後、ＤＣ成分は隣接相関が高いので信号予測器２０５で直前のＤＣ成分との予測誤差信号に変換される。ＡＣ成分はランダム信号に近いので、そのままの値が符号化の対象となる。信号予測器２０５の出力Ｖｉにはこれらの値がジグザグスキャン順に出力される。次に、これらの数値列は符号器２１０によって可変長ビット列に変換される。符号器２１０は、ハフマン符号、算術符号など各種の符号器が適用できるが、本実施の形態では算術符号器を用いた。
【００４４】
符号器２１０は、２進分解回路２１１、コンテクスト生成器２１２、算術符号器２１３で構成されている。本実施の形態では、算術符号器２１３は２シンボル算術符号器を用いたので、整数Ｖｉを２進シンボル列に変換する必要があり、このために２進分解回路２１１が必要になる。コンテクスト生成器２１２が算術符号器には必要な機能で、シンボルの属するコンテクストを識別するインデックスを出力する。算術符号器２１３からは、符号バイトデータとその出力タイミングを示す信号が出力される。
【００４５】
ＥＯＢ検出器２０６は、６４個の周波数成分内でのＥＯＢの位置を検出し、そのアドレスを出力する。例えば、ジグザグスキャン順に３０番目がＥＯＢ、即ち、それ以降が全てゼロであれはＥＯＢアドレス＝３０が出力される。係数カウンタ２０９は、次に符号化する数値のアドレス、即ち、初めから何番目の数値かを出力する。
【００４６】
符号量制御回路２０８は、符号出力タイミング信号を内部で係数してブロックから出力された符号バイト数を数える。またレジスタ２０７には、原理説明の記号を用いるとＣｏｄｅＳｉｚｅが制御部２１４によって書かれ、それが符号量制御回路２０８に入力する。符号量制御回路２０８では、これらの情報を参照してブロックの符号量が割り当て符号量に達したときに、ＥＯＢ付加信号を出力する。出力信号の符号量積算値は１ストライプの符号バイト数の積算値である。この値は制御部２１４に入力し、ブロックへの符号割り当てバイト数の適応化処理に使われる。
【００４７】
ＥＯＢ検出器２０６では、ＥＯＢ付加信号を受けると、ＥＯＢアドレスを係数アドレスとし、符号化中の数値の次をＥＯＢの位置として、符号器２１０の２進分解回路２１１に知らせる。２進分解回路２１１では、後に説明するが各数値を符号化する時に、ＥＯＢアドレスと係数アドレスとを比較して、これから符号化するシンボルがＥＯＢかどうかを第１に判定する。今の場合は、ＥＯＢアドレスと係数アドレスは一致しているので、この判定によってＥＯＢシンボルを符号化して、そのブロックの符号化が終わる。
【００４８】
符号器２１０内部のコンテクスト生成器２１２では、算術符号器２１３にシンボルが属するコンテクストのインデックスを出力すると同時に、各数値の符号化が終わったかどうかを示す同期信号となる係数同期信号を出力する。この信号によって、２進分解回路２１１では判定条件の順序を初期化し、係数カウンタ２０９では係数のアドレスを知ることができるように構成している。制御部２１４は、この符号器全体のタイミングを制御している。
【００４９】
図３は符号量制御回路のブロック構成図を示す。各ブロックには予め定めた符号バイト数ＣｏｄｅＳｉｚｅを割り当てるが、この値はレジスタ２０７に制御部２１４が書き込んでいる。もう一つの入力信号は、符号出力タイミング信号である。この信号は１バイトの符号が生成される毎に算術符号器２１３から出力される。カウンタ３１１では、ブロック毎にこの信号を係数しブロックから生成された符号バイト数を知る。カウンタ３１１はブロックの符号化に先立ってリセットされるものとする。リセット信号は示していないが、制御部２１４によって制御されている。
【００５０】
加算器３１２はブロックの符号バイト数を加算する。符号化は既に説明したように、色差成分Ｃ２、色差成分Ｃ１、輝度成分Ｙの順に行うので、加算器３１２の出力はＣ２の符号化終了時点では、｜Ｃ２｜が出力され、次に  ｜Ｃ２｜＋｜Ｃ１｜、  最後に  ｜Ｃ２｜＋｜Ｃ１｜＋｜Ｙ｜が出力される。
【００５１】
加算器３１３はブロックの符号バイト数  ｜Ｃ２｜＋｜Ｃ１｜＋｜Ｙ｜をストライプ内部で積算する。積算値は制御部２１４に知らされ、後に説明する適応制御のために使用される。
【００５２】
加算器３０１は、ＣｏｄｅＳｉｚｅとＲ（ｉ−１）を加えて、そのブロックに割り当てられた符号量の上限値ＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）を算出する。減算器３０４は、輝度成分の符号化終了時にＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）と｜Ｃ２｜＋｜Ｃ１｜＋｜Ｙ｜の差分を計算する。セレクタ３０３では、その値が負であればゼロを選択し、そうでなければ減算器３０４の出力を選択する。セレクタ３０４の出力が次のブロックへの余りＲ（ｉ）となる。
【００５３】
減算器３０５では、色差成分の符号化終了時点で、ＢｌｏｃｋＣｏｄｅＳｉｚｅ（ｉ）と｜Ｃ２｜＋｜Ｃ１｜との差分を計算し、それがサブサンプリング１：１：１のときの輝度成分の符号バイト数上限値Ｙｃｏｄｅ（１：１：１）となる。一方、サブサンプリング４：１：１のときは、減算器３０６で同様の計算を行う。記号＜＜２と＞＞２は、それぞれ２ビットの左シフトと右シフトである。セレクタ３０７の右側には、４：１：１のときのＹｃｏｄｅ（４：１：１）が得られる。それらを選択し、レジスタ３０８にＹｃｏｄｅが格納される。同様にして、色差成分の符号量上限値もレジスタ３０９に記憶される。
【００５４】
比較回路３１０は、それぞれのカラー成分の符号化時、これらの値と符号バイト数を計数するカウンタ３１１の値とが等しくなったらＥＯＢ付加信号を出力する。
【００５５】
図４は１ブロック６４個の係数の符号化手順を示すフローである。係数アドレスは１〜６４とすると、処理４０１でアドレスを初期化する。処理４０２で係数アドレスとＥＯＢアドレスが等しいかどうか判定する。そうであれば、処理４１２でＥＯＢを符号化して、このブロックの符号化を終了する。等しくなければ処理４０３でＥＯＢではないことを符号化する。次に処理４０４で数値Ｖがゼロかどうかを判定する。そうであれば、処理４１１でゼロであることを符号化し、そうでなければ処理４０５で、ゼロではないことを符号化する。処理４０５の後では、数値Ｖの絶対値｜Ｖ｜は１以上であることが分かったので、まず処理４０６で正負を符号化し、処理４０７ではＳｚ  ＝｜Ｖ｜−１として、処理４０８でＳｚの大きさのクラスを符号化する。クラスとはＳｚ  ＞  ２＊＊ｎ  −１    （＊＊はべき乗）  による数値の分類分けである。例えば、７  ≧  Ｓｚ  ＞  ３のように識別される。この範囲の数値は４〜７なので、２進数表示で３桁でしかもＭＳＢは１であることが確定する。後は下位２ビットを判定して符号化すればよい。これが処理４０９である。判定４１０で１ブロックの符号化が終了したかどうかを判定する。終わっていなければ、処理４１３で係数アドレスを＋１して、次の数値の符号化を行う。
【００５６】
図５は符号器２１０内部の２進分解回路２１１における、数値の２進分解フローである。数値はＶとして、図の上側から入力する。左側が何を判定するかを示している。六角形の記号は、判定を示す。
【００５７】
図４のフローでも説明したように、最初の判定はＥＯＢである。これは係数アドレスとＥＯＢアドレスの比較である。ＥＯＢであれば”１”をＥＯＢという名前のコンテクストで符号化する。これを１（ＥＯＢ）と表している。以下同様に、Ｖがゼロか、正負の符号、Ｓｚの大きさのクラスと下位ビットを符号化する。２進分解回路２１１は、このような判定を行う比較器の集合体で構成されている。
【００５８】
今までの説明では、ブロックに割り当てられる符号バイト数ＣｏｄｅＳｉｚｅは、予め定めた固定値である。この値は、例えば１ストライプが１０２４ブロックあり、そこから生成される符号量の上限を２０Ｋバイトにしたかったら、ＣｏｄｅＳｉｚｅ  ＝  ２０  バイトに設定すればよい。しかし、簡単な画像領域では、あまり符号は出ないので、ストライプの符号量を監視しながらＣｏｄｅＳｉｚｅをストライプ毎に適応化することができる。例えば、先ほどの例では、１ストライプ２０Ｋバイトを上限として、ＣｏｄｅＳｉｚｅ  ＝  ２０バイトにしたが、実際に符号化してみると、５Ｋバイトしか符号は出なかったとする。画像の複雑さは８ラインや１６ライン程度のストライプ幅では、通常は急激には変化しないので、次のストライプでは、ＣｏｄｅＳｉｚｅ  ＝  前のＣｏｄｅＳｉｚｅ  ＋４にするなど、割り当て量を増やすことができる。こうすると、ストライプ内部の複雑なブロックで、ＥＯＢによって強制的に符号化を終了させられるブロックが少なくなり画質をより改善できる。
【００５９】
図６はこのような考えでＣｏｄｅＳｉｚｅを適応化したときのフローである。ストライプの符号量を監視し、その値の許容範囲（最小値〜最大値）を予め設定して、その範囲に入るようにＣｏｄｅＳｉｚｅを最大化する。αやβは上の例では４にあたる。具体的には、１ストライプの符号化が終了した時点で当該ストライプの符号量が許容範囲の最小値よりも小さくなっているか否か判定し、当該ストライプの符号量が最小値よりも小さければ、次のストライプの割り当て値を増加する（＋α）。一方、当該ストライプの符号量が最小値よりも大きければ、許容範囲の最大値と比較して、最大値を超えていれば次のストライプの割り当て値を減少させる（−β）。ストライプの符号量が許容範囲に入っている間は割り当て値は現状のまま維持する。
【００６０】
図７は本実施の形態による符号化装置を符号器に適用した複合機のブロック構成図を示す。原稿８０１はイメージセンサ８０２によって読み取られ、その後、画像処理部（１）８０３によってイメージセンサ８０２の補正処理やエッジ強調など、画質を向上させる処理が施される。ストライプメモリ８０４に格納される。ストライプメモリ８０４から読み出されたデータは、本発明による符号器８０５によって圧縮される。符号器８０５は、前述した実施の形態に係る符号化装置と同様の構成で同様に動作する。符号データは符号メモリ８０９に格納される。それが、ネットワークインタフェース部８１０を経て、ネットワーク８１３に送られる。又は、ＦＡＸモデム８１１を介して電話回線８１４経由で相手装置へ送信される。また、蓄積した画像をプリントするときは、符号メモリ８０９のデータは復号器８０６で画像データに復元され、画像処理部（２）８０７で、記録用の画像処理が施されプリンタ８０８に送られる。
【００６１】
本実施の形態によれば、符号メモリ８０９に蓄積する１ページあたりのデータ量に上限値を設定することができる。符号メモリ８０９はスキャン画像を一旦蓄積するもので、ソーティングメモリとも呼ばれ、このデータを所定の順序に復元してプリントする。符号メモリ８０９の容量は装置の仕様で決まり平均蓄積枚数が仕様として規定される。しかし、それは画像によって変動することになる。そこで、１ページの符号量に上限を設けると、ソーティングメモリに蓄積できるページ数の最小値を保証することができる。
【００６２】
また、このような符号器は、複合機以外にも画像を符号化して蓄積する画像蓄積装置にも適用できる。また、符号化データを蓄積するディジタルカメラにも応用できる。ディジタルカメラでは、予め容量の定まったメモリに圧縮データを蓄積するので、連続撮影できる画像の最小枚数を規定できる効果がある。
【００６３】
以上説明したように、本発明では１つのブロックに符号量の上限を割り当て、符号バイト数がそこに達したときにはＥＯＢで符号化を終了するし、符号バイト数がその設定値に達しないときは、設定値と符号バイト数の差分（余り）を次のブロックの符号量割り当て値に加算する。こうすると余白部分や画像の平坦部分など、比較的複雑さの低い画像領域では割り当て符号バイト数が加算され、それを複雑な画像領域に割り当てることができるので、バイト数の上限値によってＥＯＢで打ち切られるブロックの発生確率が下がり画質を上げることができる。
【００６４】
更に１つのカラーブロック内部では、符号化順序は色差信号から輝度信号の順に符号化することとし、色差信号にも符号量の上限を設け、その余りを輝度信号の符号バイト数の割り当て値に加算するよう構成した。一般に色差信号は輝度信号に比べて符号量は少ないので、輝度信号に対する符号量割り当て値を大きく取れる。以上の２つの方法によって、符号量に制限を加えながら高い画質も得ることができる。
【００６５】
またこの発明を応用すると、所定容量のメモリに蓄積できる画像の最小枚数を保証することができるという効果がある。
【００６６】
【発明の効果】
以上詳記したように本発明によれば、バイト数の上限値によってＥＯＢで打ち切られるブロックの発生確率を下げて画質を上げることのできる符号量制御方法及び符号化装置を提供できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る符号量制御方法の原理説明図
【図２】本発明の実施の形態に係る符号化装置のブロック構成図
【図３】図２に示す符号量制御回路のブロック構成図
【図４】数値を符号化するためのフロー図
【図５】２進分解の判定列と符号化のフロー図
【図６】適応化処理のフロー図
【図７】本発明の符号量制御方法及び符号化装置を適用した複合機のブロック構成図
【図８】従来のブロック毎の符号化打ち切り方法の説明図
【符号の説明】
２０２  量子化器
２０３  量子化テーブル
２０４  係数メモリ
２０５  信号予測器
２０６  ＥＯＢ検出器
２０７  レジスタ
２０８  符号量制御回路
２０９  係数カウンタ
２１０  符号器
２１１  ２進分解回路
２１２  コンテクスト生成器
２１３  算術符号器
２１４  制御部
【図１】
2004328406.tif 000003
【図２】
2004328406.tif 000004
【図３】
2004328406.tif 000005
【図４】
2004328406.tif 000006
【図５】
2004328406.tif 000007
【図６】
2004328406.tif 000008
【図７】
2004328406.tif 000009
【図８】
2004328406.tif 000010