(57)【特許請求の範囲】
【請求項１】
画素データを、規定圧縮率以上の圧縮率で符号化することを保障する画像符号化装置であって、
非可逆モードにて、前記符号化対象画素の画素データを前記規定圧縮率となる固定長符号で表現して符号化する非可逆符号化部と、
可逆モードにて、前記符号化対象画素の画素データの圧縮率が前記規定圧縮率よりも高い圧縮率となる時には、前記固定長符号に対する余剰符号を余らせて前記符号化対象画素の画素データを符号化し、前記符号化対象画素の画素データの圧縮率が前記規定圧縮率よりも低い圧縮率となる時には、前記固定長符号に追加される余剰符号を消費させて前記符号化対象画素の画素データを符号化する可逆符号化部と、
前記可逆符号化部で符号化した時に、前記余剰符号をカウントアップし、消費された前記余剰符号をカウントダウンする余剰符号カウンタと、
前記余剰カウンタのカウント値が前記規定圧縮率よりも低圧縮率を示す値とならない範囲で、前記可逆符号化部での符号化動作を継続させる符号化制御部と、
を有することを特徴とする画像符号化装置。
【請求項２】
符号化対象画素の画素データを単独で、あるいは、前記符号化対象画素と一ライン上で隣接する少なくとも一つの後続画素と前記符号化対象画素とを含む複数画素の各画素データを関連付けて符号化して、規定圧縮率以上の圧縮率で符号化することを保障する画像符号化装置であって、
非可逆モードにて、前記符号化対象画素の画素データを前記規定圧縮率となる固定長符号で表現して符号化する非可逆符号化部と、
可逆モードにて、前記符号化対象画素の画素データの単独圧縮率が前記規定圧縮率よりも高い圧縮率となる時には、前記符号化対象画素の画素データを第１優先順位で符号化し、前記複数画素の各画素データの平均圧縮率が前記規定圧縮率よりも高い圧縮率となる時には、前記複数画素の各画素データを関連付けて第２優先順位で符号化し、前記複数画素の各画素データの見掛け上の平均圧縮率または前記符号化対象画素の画素データの見掛け上の単独圧縮率が前記規定圧縮率と等しくなる時には、前記複数画素の各画素データを関連付けて、または前記符号化対象画素の画素データを単独で、第３優先順位で符号化する可逆符号化部と、
前記可逆符号化部で符号化した時であって、前記第１及び第２優先順位のいずれか一方で符号化した時に前記固定長符号に対して余る余剰符号をカウントアップし、前記余剰符号の累計の一部又は全部を差し引いて算出した前記見掛け上の平均圧縮率または前記見掛け上の単独圧縮率が前記規定圧縮率と等しくなるように前記第３優先順位で符号化した時に、差し引かれた分の前記余剰符号をカウントダウンする余剰符号カウンタと、
前記余剰カウンタのカウント値が前記規定圧縮率よりも低圧縮率を示す値とならない範囲で、前記可逆符号化部での前記第１〜第３優先順位のいずれかの符号化動作を継続させる符号化制御部と、
を有することを特徴とする画像符号化装置。
【請求項３】
請求項２において、
前記可逆符号化部は、出現頻度が高い画素データほど上位に移動させて登録する辞書を含み、
前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されている時に、前記辞書への登録位置を前記固定長符号で表現した辞書インデックスを、前記可逆符号化部より出力させて前記第１の優先順位で符号化して、前記可逆モードでの符号化を継続させることを特徴とする画像符号化装置。
【請求項４】
請求項３において、
前記前記符号化対象画素と前記一ライン上で隣接する先行画素と、前記複数の画素とを含む４画素の各画素データの関係を評価する周辺画素値評価部をさらに有し、
前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記周辺画素値評価部にて前記４画素のうち３画素以上の画素データが予め定めた第１の関係を有することを示す出力があった時に、前記第１の関係を前記固定長符号で表現した符号と、前記符号化対象画素の非圧縮の画素データとを前記可逆符号化部より出力させて、前記３画素以上の各画素データを関連付けて前記第２の優先順位で符号化するように制御して、前記可逆モードでの符号化を継続させ、前記符号化対象画素の画素データは前記辞書に登録されることを特徴とする画像符号化装置。
【請求項５】
請求項４において、
前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記第１の関係が成立せず、前記周辺画素値評価部にて前記４画素のうち２画素の画素データが予め定めた第２の関係を有することを示す出力があった時に、前記第２の関係を前記固定長符号で表現した符号と、前記符号化対象画素の非圧縮の画素データとを前記可逆符号化部より出力させて、前記２画素の各画素データを関連付けて前記第２の優先順位で符号化するように制御して、前記可逆モードでの符号化を継続させ、前記符号化対象画素の画素データは前記辞書に登録されることを特徴とする画像符号化装置。
【請求項６】
請求項５において、
前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記周辺画素値評価部にて前記４画素のうち２画素の画素データが予め定めた第３の関係を有することを示す出力があり、かつ、前記余剰カウンタでのカウント値が前記第３の優先順位での前記複数画素についての符号化時に消費される余剰符号の値以上である第１の継続条件が成立した時に、前記第１の継続条件を前記固定長符号で表現した符号と、前記符号化対象画素の非圧縮の画素データとを前記可逆符号化部より出力させて、前記２画素の各画素データを関連付けて前記第３の優先順位で符号化するように制御して、前記可逆モードでの符号化を継続させ、前記符号化対象画素の画素データは前記辞書に登録されることを特徴とする画像符号化装置。
【請求項７】
請求項６において、
前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記第３の関係が成立しない時であって、前記余剰カウンタでのカウント値が前記第３の優先順位での前記単独画素についての符号化時に消費される余剰符号の値以上である第２の継続条件が成立した時に、前記第２の継続条件を前記固定長符号で表現した符号と、前記符号化対象画素の非圧縮の画素データとを前記可逆符号化部より出力させて、前記符号化対象画素の画素データを前記第３の優先順位で符号化するように制御して、前記可逆モードでの符号化を継続させ、前記符号化対象画素の画素データは前記辞書に登録されることを特徴とする画像符号化装置。
【請求項８】
請求項３乃至７のいずれかにおいて、
前記符号化制御部は、前記非可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていた時、前記非可逆モードから前記可逆モードへの遷移を前記固定長符号で表現する符号化モード遷移コードと、前記辞書への登録位置を前記固定長符号で表現した辞書インデックスとを、前記可逆符号化部より出力するように制御して、前記非可逆モードから前記可逆モードへ遷移させることを特徴とする画像符号化装置。
【請求項９】
請求項４乃至８のいずれかにおいて、
前記符号化制御部は、前記非可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記周辺画素値評価部にて前記符号化対象画素及びその前後の画素の計３画素の各画素データが実質的に等しい第１の条件を示す出力があった時に、前記非可逆モードから前記可逆モードへの遷移を示す前記固定長符号で表現された符号化モード遷移コードと、前記第１の条件を示す前記固定長符号で表現された第１条件符号と、前記符号化対象画素の非圧縮の画素データとを、前記可逆符号化部より出力させて、前記３画素の各画素データを関連付けて符号化するように制御して、前記非可逆モードから前記可逆モードへ遷移させ、前記符号化対象画素の画素データは前記辞書に登録されることを特徴とする画像符号化装置。
【請求項１０】
請求項４乃至９のいずれかにおいて、
前記符号化制御部は、前記非可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記周辺画素値評価部にて前記符号化対象画素及び前記後続画素の計２画素の各画素データが実質的に等しい第２の条件を示す出力があった時に、前記非可逆モードから前記可逆モードへの遷移を示す前記固定長符号で表現された符号化モード遷移コードと、前記第２の条件を示す前記固定長符号で表現された第２条件符号と、前記符号化対象画素の非圧縮の画素データとを、前記可逆符号化部より出力させて、前記２画素の画素データを関連付けて符号化するように制御して、前記非可逆モードから前記可逆モードへ遷移させ、前記符号化対象画素の画素データは前記辞書に登録されることを特徴とする画像符号化装置。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記余剰符号カウンタは、前記一ラインについての全画素の符号が終了するごとにリセットされることを特徴とする画像符号化装置。
【請求項１２】
請求項１乃至１０のいずれかにおいて、
前記余剰符号カウンタは、一画面についての全画素の符号が終了するごとにリセットされることを特徴とする画像符号化装置。
【請求項１３】
画素データを、規定圧縮率以上の圧縮率で符号化することを保障する画像符号化方法であって、
可逆モードでの符号化が実施されるための予め定めた条件が成立しない時に、非可逆モードにて、前記符号化対象画素の画素データを前記規定圧縮率となる固定長符号で表現して符号化する工程と、
前記符号化対象画素の画素データの圧縮率が前記規定圧縮率よりも高い圧縮率となる条件が成立する時に、前記固定長符号に対する余剰符号を余らせて、前記符号化対象画素の画素データを可逆モードにて符号化し、かつ、前記余剰符号を余剰カウンタにてカウントアップする工程と、
前記複数画素の画素データの圧縮率が前記規定圧縮率より低くなる条件が成立する時に、前記固定長符号に追加される前記余剰符号を消費させて、前記符号化対象画素の画素データを可逆モードにて符号化し、かつ、消費される前記余剰符号を前記余剰カウンタにてカウントダウンする工程と、
を有し、
前記余剰カウンタのカウント値が前記規定圧縮率よりも低圧縮率を示す値とならない範囲で、前記可逆符号化部での符号化動作を継続させることを特徴とする画像符号化方法。
【請求項１４】
符号化対象画素の画素データを単独で、あるいは、前記符号化対象画素と一ライン上で隣接する少なくとも一つの後続画素と前記符号化対象画素とを含む複数画素の各画素データを関連付けて符号化して、規定圧縮率以上の圧縮率で符号化することを保障する画像符号化方法であって、
可逆モードでの符号化が実施されるための予め定めた条件が成立しない時に、非可逆モードにて、前記符号化対象画素の画素データを前記規定圧縮率となる固定長符号で表現して符号化する工程と、
前記符号化対象画素の画素データの単独圧縮率が前記規定圧縮率よりも高い圧縮率となる条件が成立する時に、前記符号化対象画素の画素データを可逆モードにて第１優先順位で符号化し、かつ、前記固定長符号に対して余る余剰符号を余剰カウンタにてカウントアップする工程と、
前記複数画素の各画素データの平均圧縮率が前記規定圧縮率よりも高い圧縮率となる条件が成立する時に、前記複数画素の各画素データを関連付けて可逆モードにて第２優先順位で符号化し、かつ、前記固定長符号に対して余る余剰符号を余剰カウンタにてカウントアップする工程と、
前記複数画素の各画素データの見掛け上の平均圧縮率または前記符号化対象画素の画素データの見掛け上の単独圧縮率が前記規定圧縮率と等しくなる条件が成立する時に、前記複数の画素の各画素データを関連付けて、または前記符号化対象画素を単独で、可逆モードにて第３優先順位で符号化し、かつ、差し引かれた分の前記余剰符号を前記余剰カウンタにてカウントダウンする工程と、
を有し、
前記余剰カウンタのカウント値が前記規定圧縮率よりも低圧縮率を示す値とならない範囲で、前記可逆符号化部での前記第１〜第３優先順位のいずれかの符号化動作を継続させることを特徴とする画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字、図形、自然画像が混在した画像を、その種類に応じて適切なモードに切り換えて符号化および復号化し、高速で高精度な印刷を可能とする画像符号化装置及び画像復号装置に関する。
【背景技術】
【０００２】
一般に、文字あるいは図形は、単一色で、かつ濃度は０または２５５階調の両極端に位置する。これに対して、写真に代表される自然画像は、色や濃度が緩やかに変化している。最近では、自然画像に文字あるいは図形を盛り込んだポスターや広告の需要が多く、これら異なる画像データが混在した印刷物を、いかに高精度でかつ高速で印刷するかが求められている。
【０００３】
通常、文字あるいは図形と自然画像とが混在する画像を印刷する場合、パーソナルコンピュータ（以後、パソコンという）からプリンタに対して圧縮データを送り、プリンタにて復号化する。この場合、文字あるいは図形と、自然画像とは画像の性質が異なるため、共通の符号化方式を採用すると、画像の品質が劣化してしまう。たとえば、自然画像用の圧縮形式であるＪＰＥＧを用いると、自然画像の部分は良いが、文字あるいは図形の輪郭がぼけたり、細線が存在する場合には切れたりしてしまう。
【０００４】
このような不具合を解決する技術として、文字あるいは図形の領域を可逆モードで符号化し、自然画像を不可逆モードで符号化する技術が使われている。たとえば、特許文献１には、文字と図形の領域と、自然画像の領域とを、異なる方法で符号化し、各領域の画質を高精度に再現可能としている。
【０００５】
しかし、上記の従来技術には、次のような問題がある。文字あるいは図形の領域と、自然画像の領域とをブロック単位で分割してから符号化すると、分割したブロック毎に区切りを示すヘッダーを付与する必要がある。また、そのブロック内のデータが自然画像かそれ以外の画像かを識別する手間も要する。このため、符号化に要する時間が長くなるのみならず、復号化にもそれだけ時間を要することになる。
【０００６】
現在のプリンタには、画質を劣化させない前提で、１分当たり４枚以上の印刷能力が要求される。かかる要求によれば、１枚当たり１５秒以下の処理が必須条件となる。このような短時間での符号化および復号処理が要求される状況下において、画像データをブロック単位で分割して、ブロック毎に内部の自然画像あるいは文字等の識別を行い、適した符号化を行う方法では、処理時間がかかり過ぎる。
【０００７】
本発明者は、高精度な画質を満足すると共に、上記従来技術の有する処理速度の遅延を解決するための、画像符号化装置及び画像復号装置を提案している（特許文献２）。
【特許文献１】特開平１−１１２３７７号公報
【特許文献２】特開２００１−２５７８８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、規定圧縮率以上の圧縮率で画素データを符号化することを保障でき、もって、圧縮データを保存する記憶エリアを縮小でき、あるいは圧縮データの転送を省力化することができる画像符号化装置及び画像符号化方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一態様は、画素データを、規定圧縮率以上の圧縮率で符号化することを保障する画像符号化装置であって、
非可逆モードにて、前記符号化対象画素の画素データを前記規定圧縮率となる固定長符号で表現して符号化する非可逆符号化部と、
可逆モードにて、前記符号化対象画素の画素データの圧縮率が前記規定圧縮率よりも高い圧縮率となる時には、前記固定長符号に対する余剰符号を余らせて前記符号化対象画素の画素データを符号化し、前記符号化対象画素の画素データの圧縮率が前記規定圧縮率よりも低い圧縮率となる時には、前記固定長符号に追加される余剰符号を消費させて前記符号化対象画素の画素データを符号化する可逆符号化部と、
前記可逆符号化部で符号化した時に、前記余剰符号をカウントアップし、消費された前記余剰符号をカウントダウンする余剰符号カウンタと、
前記余剰カウンタのカウント値が前記規定圧縮率よりも低圧縮率を示す値とならない範囲で、前記可逆符号化部での符号化動作を継続させる符号化制御部と、
を有することを特徴とする。
【００１０】
本発明の一態様では、非可逆符号化部での符号化は、規定圧縮率となる固定長符号を用いているので、圧縮率＝規定圧縮率が常に成立する。
【００１１】
一方、可逆符号化部では、固定長符号に対する余剰符号を余らせて符号化対象画素の画素データを符号化すると、規定圧縮率よりも高い圧縮率となる。ここで、例えば規定圧縮率を５０％としたとき、規定圧縮率より高い圧縮率とは、４０％、３０％などの圧縮率をいい、５０％を越えない高圧縮率を意味する（％を示す数値が小さいほど圧縮率は高く、数値が大きいほど圧縮率は低い関係にある）。このとき、余剰符号は余剰カウンタにてカウントアップされる。一方、符号化対象画素の符号化の際に、規定圧縮率よりも低い圧縮率となる場合も生ずる。この場合には、余剰符号カウンタの累積値である余剰符号を消費させることで、符号化対象画素の符号化に必要な符号長から余剰符号を差し引いた見掛け上の圧縮率を、規定圧縮率と等しくできる。この場合には、消費された余剰符号は余剰カウンタにてカウントダウンされる。
【００１２】
符号化制御部は、余剰カウンタのカウント値が規定圧縮率よりも低圧縮率を示す値とならない範囲で、可逆符号化部での符号化動作を継続させている。この結果、可逆モードでの符号化は常に規定圧縮率以上の高圧縮率となり、非可逆モードでは常に規定圧縮率で符号化できるので、可逆・非可逆モードでのトータル圧縮率も規定圧縮率以上の高圧縮率を保障できる。また、可逆モードを継続するように制御しているので、規定圧縮率と等しい圧縮率で符号化する非可逆モードを優先するよりも、圧縮率を高めることができ、しかもデータの再現性は向上する。
【００１３】
この結果、画素データを符号化した後にメモリに記憶する場合、符号化容量の上限が定まるので、メモリサイズを小型化できる。あるいは、例えば高精細表示のように表示データ量が増えたとしても、符号化によってメモリに格納されるデータビット数を少なくできるので、メモリサイズを維持できる。
【００１４】
また、画素データを符号化した後に転送する場合、転送データ量が減るので、転送周波数を下げたり、１転送クロック当たりのデータ量を少なくしたり、あるいは短くなった転送時間中のみ転送クロックを発生するようにして、転送に伴う消費電力を低減できる。あるいは、例えば高精細表示のように表示データ量が増えたとしても、符号化によって転送データ量を少なくできるので、転送速度を維持できる。
【００１５】
本発明の他の態様は、符号化対象画素の画素データを単独で、あるいは、前記符号化対象画素と一ライン上で隣接する少なくとも一つの後続画素と前記符号化対象画素とを含む複数画素の各画素データを関連付けて符号化して、規定圧縮率以上の圧縮率で符号化することを保障する画像符号化装置であって、
非可逆モードにて、前記符号化対象画素の画素データを前記規定圧縮率となる固定長符号で表現して符号化する非可逆符号化部と、
可逆モードにて、前記符号化対象画素の画素データの単独圧縮率が前記規定圧縮率よりも高い圧縮率となる時には、前記符号化対象画素の画素データを第１優先順位で符号化し、前記複数画素の各画素データの平均圧縮率が前記規定圧縮率よりも高い圧縮率となる時には、前記複数画素の各画素データを関連付けて第２優先順位で符号化し、前記複数画素の各画素データの見掛け上の平均圧縮率または前記符号化対象画素の画素データの見掛け上の単独圧縮率が前記規定圧縮率と等しくなる時には、前記複数画素の各画素データを関連付けて、または前記符号化対象画素の画素データを単独で、第３優先順位で符号化する可逆符号化部と、
前記可逆符号化部で符号化した時であって、前記第１及び第２優先順位のいずれか一方で符号化した時に前記固定長符号に対して余る余剰符号をカウントアップし、前記余剰符号の累計の一部又は全部を差し引いて算出した前記見掛け上の平均圧縮率または前記見掛け上の単独圧縮率が前記規定圧縮率と等しくなるように前記第３優先順位で符号化した時に、差し引かれた分の前記余剰符号をカウントダウンする余剰符号カウンタと、
前記余剰カウンタのカウント値が前記規定圧縮率よりも低圧縮率を示す値とならない範囲で、前記可逆符号化部での前記第１〜第３優先順位のいずれかの符号化動作を継続させる符号化制御部と、
を有することを特徴とする。
【００１６】
本発明の他の態様では、可逆符号化部での動作をさらに定義している。つまり、固定長符号に対する余剰符号を余らせて符号化対象画素の画素データを符号化する場合として、符号化対象画素の画素データの単独圧縮率が規定圧縮率よりも高い圧縮率となる場合と、複数画素の各画素データの平均圧縮率が規定圧縮率よりも高い圧縮率となる場合がある。後者は、符号化対象画素の画素データだけでは規定圧縮率より高い圧縮率での符号化が不可能であったとしても、周辺画素との関係を考慮して、それらを含んだ複数画素を関連付けて符号化すると、一画素当たりの平均圧縮率を規定圧縮率よりも高くすることができることを意味する。余剰符号を消費させる場合も、見掛け上の単独圧縮率と見掛け上の平均圧縮率を対象とする二通りがある。このようにしても、本発明の一態様と同様にして、規定圧縮率以上の高圧縮率を保障できる。
【００１７】
本発明の他の態様では、前記可逆符号化部は、出現頻度が高い画素データほど上位に移動させて登録する辞書を含むことができる。この場合、前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されている時に、前記辞書への登録位置を前記固定長符号で表現した辞書インデックスを、前記可逆符号化部より出力させて前記第１の優先順位で符号化して、前記可逆モードでの符号化を継続させることができる。これが、可逆符号化部での前記第１優先順位での符号化の一例である。
【００１８】
本発明の他の態様では、前記前記符号化対象画素と前記一ライン上で隣接する先行画素と、前記複数の画素とを含む４画素の各画素データの関係を評価する周辺画素値評価部をさらに有することができる。この場合、前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記周辺画素値評価部にて前記４画素のうち３画素以上の画素データが予め定めた第１の関係を有することを示す出力があった時に、前記第１の関係を前記固定長符号で表現した符号と、前記符号化対象画素の非圧縮の画素データとを前記可逆符号化部より出力させて、前記３画素以上の各画素データを関連付けて前記第２の優先順位で符号化するように制御して、前記可逆モードでの符号化を継続させる。なお、前記符号化対象画素の画素データは前記辞書に登録される。これが、可逆符号化部での前記第２優先順位での符号化の一例である。
【００１９】
さらに、前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記第１の関係が成立せず、前記周辺画素値評価部にて前記４画素のうち２画素の画素データが予め定めた第２の関係を有することを示す出力があった時に、前記第２の関係を前記固定長符号で表現した符号と、前記符号化対象画素の非圧縮の画素データとを前記可逆符号化部より出力させて、前記２画素の各画素データを関連付けて前記第２の優先順位で符号化するように制御して、前記可逆モードでの符号化を継続させることができる。この場合も、前記符号化対象画素の画素データは前記辞書に登録される。これは、可逆符号化部での前記第２優先順位での符号化の他の一例である。
【００２０】
第３の優先順位での符号化の一つとして、前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記周辺画素値評価部にて前記４画素のうち２画素の画素データが予め定めた第３の関係を有することを示す出力があり、かつ、前記余剰カウンタでのカウント値が前記第３の優先順位での前記複数画素についての符号化時に消費される余剰符号の値以上である第１の継続条件が成立した時に、前記第１の継続条件を前記固定長符号で表現した符号と、前記符号化対象画素の非圧縮の画素データとを前記可逆符号化部より出力させて、前記２画素の各画素データを関連付けて前記第３の優先順位で符号化するように制御して、前記可逆モードでの符号化を継続させることができる。このとき、前記符号化対象画素の画素データは前記辞書に登録される。
【００２１】
第３の優先順位での符号化の他の一つとして、前記符号化制御部は、前記可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記第３の関係が成立しない時であって、前記余剰カウンタでのカウント値が前記第３の優先順位での前記単独画素についての符号化時に消費される余剰符号の値以上である第２の継続条件が成立した時に、前記第２の継続条件を前記固定長符号で表現した符号と、前記符号化対象画素の非圧縮の画素データとを前記可逆符号化部より出力させて、前記符号化対象画素の画素データを前記第３の優先順位で符号化するように制御して、前記可逆モードでの符号化を継続させることができる。この場合も、前記符号化対象画素の画素データは前記辞書に登録される。
【００２２】
非可逆モードから可逆モードへの遷移は次のようにして制御される。
【００２３】
つまり、前記符号化制御部は、前記非可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていた時、前記非可逆モードから前記可逆モードへの遷移を前記固定長符号で表現する符号化モード遷移コードと、前記辞書への登録位置を前記固定長符号で表現した辞書インデックスとを、前記可逆符号化部より出力するように制御して、前記非可逆モードから前記可逆モードへ遷移させることができる。
【００２４】
非可逆モードから可逆モードへの遷移の他の例として、前記符号化制御部は、前記非可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記周辺画素値評価部にて前記符号化対象画素及びその前後の画素の計３画素の各画素データが実質的に等しい第１の条件を示す出力があった時に、前記非可逆モードから前記可逆モードへの遷移を示す前記固定長符号で表現された符号化モード遷移コードと、前記第１の条件を示す前記固定長符号で表現された第１条件符号と、前記符号化対象画素の非圧縮の画素データとを、前記可逆符号化部より出力させて、前記３画素の各画素データを関連付けて符号化するように制御して、前記非可逆モードから前記可逆モードへ遷移させることができる。この場合も、前記符号化対象画素の画素データは前記辞書に登録される。
【００２５】
非可逆モードから可逆モードへの遷移のさらに他の例として、前記符号化制御部は、前記非可逆モードで符号化した画素の次の符号化対象画素の画素データが前記辞書に登録されていない時であって、前記周辺画素値評価部にて前記符号化対象画素及び前記後続画素の計２画素の各画素データが実質的に等しい第２の条件を示す出力があった時に、前記非可逆モードから前記可逆モードへの遷移を示す前記固定長符号で表現された符号化モード遷移コードと、前記第２の条件を示す前記固定長符号で表現された第２条件符号と、前記符号化対象画素の非圧縮の画素データとを、前記可逆符号化部より出力させて、前記２画素の画素データを関連付けて符号化するように制御して、前記非可逆モードから前記可逆モードへ遷移させることができる。この場合も、前記符号化対象画素の画素データは前記辞書に登録される。
【００２６】
本発明の一態様及び他の態様において、前記余剰符号カウンタは、前記一ラインについての全画素の符号が終了するごとにリセットすることができる。こうすると、一ライン毎に規定圧縮率以上の高圧縮率が保障される。この他、前記余剰符号カウンタは、一画面についての全画素の符号が終了する毎にリセットされてもよい。こうすると、一画面について規定圧縮率以上の高圧縮率が保障される。
【００２７】
本発明のさらに他の態様では、画素データを、規定圧縮率以上の圧縮率で符号化することを保障する画像符号化方法であって、
可逆モードでの符号化が実施されるための予め定めた条件が成立しない時に、非可逆モードにて、前記符号化対象画素の画素データを前記規定圧縮率となる固定長符号で表現して符号化する工程と、
前記符号化対象画素の画素データの圧縮率が前記規定圧縮率よりも高い圧縮率となる条件が成立する時に、前記固定長符号に対する余剰符号を余らせて、前記符号化対象画素の画素データを可逆モードにて符号化し、かつ、前記余剰符号を余剰カウンタにてカウントアップする工程と、
前記複数画素の画素データの圧縮率が前記規定圧縮率より低くなる条件が成立する時に、前記固定長符号に追加される前記余剰符号を消費させて、前記符号化対象画素の画素データを可逆モードにて符号化し、かつ、消費される前記余剰符号を前記余剰カウンタにてカウントダウンする工程と、
を有し、
前記余剰カウンタのカウント値が前記規定圧縮率よりも低圧縮率を示す値とならない範囲で、前記可逆符号化部での符号化動作を継続させることを特徴とする。
【００２８】
本発明の一態様を方法として定義したものである。
【００２９】
本発明のさらに他の態様では、符号化対象画素の画素データを単独で、あるいは、前記符号化対象画素と一ライン上で隣接する少なくとも一つの後続画素と前記符号化対象画素とを含む複数画素の各画素データを関連付けて符号化して、規定圧縮率以上の圧縮率で符号化することを保障する画像符号化方法であって、
可逆モードでの符号化が実施されるための予め定めた条件が成立しない時に、非可逆モードにて、前記符号化対象画素の画素データを前記規定圧縮率となる固定長符号で表現して符号化する工程と、
前記符号化対象画素の画素データの単独圧縮率が前記規定圧縮率よりも高い圧縮率となる条件が成立する時に、前記符号化対象画素の画素データを可逆モードにて第１優先順位で符号化し、かつ、前記固定長符号に対して余る余剰符号を余剰カウンタにてカウントアップする工程と、
前記複数画素の各画素データの平均圧縮率が前記規定圧縮率よりも高い圧縮率となる条件が成立する時に、前記複数画素の各画素データを関連付けて可逆モードにて第２優先順位で符号化し、かつ、前記固定長符号に対して余る余剰符号を余剰カウンタにてカウントアップする工程と、
前記複数画素の各画素データの見掛け上の平均圧縮率または前記符号化対象画素の画素データの見掛け上の単独圧縮率が前記規定圧縮率と等しくなる条件が成立する時に、前記複数の画素の各画素データを関連付けて、または前記符号化対象画素を単独で、可逆モードにて第３優先順位で符号化し、かつ、差し引かれた分の前記余剰符号を前記余剰カウンタにてカウントダウンする工程と、
を有し、
前記余剰カウンタのカウント値が前記規定圧縮率よりも低圧縮率を示す値とならない範囲で、前記可逆符号化部での前記第１〜第３優先順位のいずれかの符号化動作を継続させることを特徴とする。
【００３０】
本発明の他の態様を方法として定義したものである。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施形態について図面を参照して具体的に説明する。以下の実施形態は、保障される規定圧縮率を例えば５０％とし、常に規定圧縮率以上の高圧縮率で画素データを符号化することを保障ものである。
【００３２】
１．画像符号化装置（エンコーダ）
１．１．画像入力部
図１は、本実施形態に係る画像符号化装置のブロック図である。画像入力部１００は、画素データをシリアルに入力し、一ライン上で隣り合う複数例えば４つの画素Ｐ，Ｘ，Ａ，Ｂの各画素データをパラレルに出力する。ここで、図２に示すように、画素Ｘが符号化対象画素であり、画素Ｐは符号化対象画素Ｘの先行画素であり、画素Ａは符号化対象画素Ｘの１番目の後続画素であり、画素Ｂは符号化対象画素Ｘの２番目の後続画素である。各画素のデータは、Ｒ，Ｇ，Ｂ画素データでも、ＹＣｒＣｂ（輝度信号＋色差信号）画素データのいずれであっても良い。本実施形態では、各画素データは、サブビクセルが各８ビットのＲ，Ｇ，Ｂで構成された計２４ビットのデータとする。
【００３３】
１．２．予測符号化部（非可逆符号化部）
非可逆符号化部の一例である予測符号化部１１０は、非可逆モードに（Lossyモードともいう）て、符号化対象画素Ｘの画素データ（２４ビットデータ）を規定圧縮率（例えば５０％）で固定長データ（例えば１２ビットデータ）に符号化する。この予測符号化部１１０は、隣接する画素間の差分をＰＣＭ符号化するＤＰＣＭ（Differential Pulse Code Modulation）符号化するもので、特許文献２の予測符号器と同様にルックアップテーブルを用いてソフトウェアにて実現することもできるが、本実施形態では図３に示すようにハードウェアにて構成している。ただし、特許文献２の予測符号器はハフマン符号のような可変長符号化を実施したが、本実施形態では、規定圧縮率を担保するために、可変長符号化は採用しない。
【００３４】
図３は、図１に示す予測符号化部１１０のブロック図である。符号化対象画素Ｘを構成するサブピクセルＲ，Ｇ，Ｂのデータは、差分器１１１にて先行画素ＰのＲ，Ｇ，Ｂデータが差し引かれる。この差分データが、非線形量子化部１１２にて量子化されて符号化される（詳細は後述）。符号化データは出力される一方で、非線形量子化部１１２とは逆の操作を行なう非線形逆量子化部１１３にてＲ，Ｇ，Ｂ毎に逆量子化される。逆量子化されたＲ，Ｇ，Ｂデータは、加算器１１４にて先行画素ＰのＲ，Ｇ，Ｂデータと加算され、一画素遅延用レジスタ１１５Ｒ，１１５Ｇ，１１４Ｂに記憶される。この一画素遅延用レジスタ１１５Ｒ，１１５Ｇ，１１５Ｂに記憶されたデータは、次の符号化対象画素Ｘに対する先行画差Ｐの画素データとして用いられる。つまり、スイッチ１１６を切り換えることで、次の符号化対象画素ＸのサブビクセルＲ，Ｇ，Ｂ毎に、先行画素ＰのＲ，Ｇ，Ｂデータが差分器１１１にて差し引かれる。
【００３５】
非線形量子化部１１１では、９ビット（-256〜255）の差分値（１ビットはプラス・マイナス符号）を4ビットに非線形量子化する。但し、「1111」は符号化モード遷移コード（可逆モード→非可逆モード）として用いるため、量子化値として割り当てられるコードは、0〜14までの15通りとなる。なお、非可逆モードから可逆モードへの符号化モード遷移コードは、図１に示す符号化制御部１５０からの信号に基づいて選択される。各８ビットのＲ，Ｇ，Ｂデータはそれぞれ４ビットに量子化され、画素単位では２４ビットデータが１２ビットデータ（４ビット×３）に符号化されるので、必ず規定圧縮率（５０％）で符号化されている。
【００３６】
非線形量子化部１１１は、複数種の量子化テーブルを備え、符号化対象画素Ｘの直前の値（予測値）に応じて、使用する量子化テーブルを変更する。これは、予測値によってその予測誤差（入力値との差分）の範囲がある範囲に限定されるため、その範囲のみに量子化代表値を配置して、限られた符号化コードを有効に使うための工夫である。つまり、入力されるＲ，Ｇ，Ｂデータは８ビット（０〜２５５）であり、先行画素Ｐの値である予測値が分かっているので、入力値と予測値との差である予測誤差が取り得る範囲は、予測値によって限られる。一例として、予測値が０であれば、入力値と予測値との差分である予測誤差はマイナスとはならないので、プラス領域（０〜２５５）の範囲を量子化テーブルとすればよい。
【００３７】
非線形量子化テーブルの具体的な例を下記に示す。
【００３８】
１）予測値が９６以上１６０未満の場合
この場合、取り得る予測誤差の範囲は、−159〜159である。したがって、図４に示すように、量子化コードを割り当てる。
【００３９】
ここで、線形量子化とは、符号化対象画素Ｘと先行画素Ｐとを引き算した結果の予測誤差（９ビット、１ビットは符号）が、０に近い値ほど（符号化対象画素Ｘと先行画素Ｐとの差が小さいほど）細かく量子化している。これは、僅かな色の違いでも顕著に把握するためである。一方、予測誤差が０から遠いほど（符号化対象画素Ｘと先行画素Ｐとの前の画素との差が大きいほど）、粗く量子化している。これは、輝度成分の差が大きい時には、色の微妙な差が検知され難いからである。このように、予測誤差の大きさによって、線形でなく非線形で量子化するのが、非線形量子化である。図４においても、予測誤差が０付近では細かく、予測誤差の絶対値が大きくなるほど粗く量子化している。図４から明らかなように、非線形量子化部１１２にて量子化されたデータは、非可逆データである。
【００４０】
２）予測値が６４以上９６未満の場合
取り得る予測誤差の範囲は、−95〜191である。したがって、図５に示すように、量子化コードを割り当てる。
【００４１】
３）予測値が１６０以上１９２未満の場合
取り得る予測誤差の範囲は、−191〜95である。したがって、図６に示すように、量子化コードを割り当てる。
【００４２】
４）予測値が３２以上６４未満の場合
取り得る予測誤差の範囲は、−63〜223である。したがって、図７に示すように、量子化コードを割り当てる。
【００４３】
５）予測値が１９２以上２２４未満の場合
取り得る予測誤差の範囲は、−223〜63である。したがって、図８に示すように、量子化コードを割り当てる。
【００４４】
線形逆量子化部１１３は、上述の線形量子化部１１２での操作とし逆の操作を実施すればよく、この際も直前の画素値に応じて逆量子化テーブルを切換えればよい。
【００４５】
１．３．先頭移動辞書符号化部（可逆符号化部）
可逆モード（Losslessモードともいう）で符号化する可逆符号化部の一例である先頭移動辞書符号化部１２０は、Ｒ，Ｇ，Ｂ形式の画素データ（24ビット）をそのまま１つの非圧縮データとして扱い、完全に復号可能な可逆データとして符号化する。先頭移動辞書による符号化の方法自体は、特許文献２（特開2001-257888）と基本的に同じである。但し、本実施形態では、ハフマン符号のような可変長符号化は行わない。規定圧縮率を保証できないためである。
【００４６】
この実施の形態では、画素値の辞書を、符号化と復号化で共有し、先頭移動による辞書の更新を行っている。したがって、使用頻度の高い画素値は、辞書の最初の方に置かれることになる。辞書サイズは、０から７の８個のインデックスから成る。このインデックスを可変長符号化することによって、符号化を行うことができる。
【００４７】
図９の左欄は、例えば初期化された辞書に記憶される７色を示している。初期化の例は一例であり、他の色であっても良いし、同一食であっても良い。図９は、入力した色が赤の場合に、辞書の配置換えを左欄から右欄に示すように行う様子を示している。入力した画素の色が赤の場合には、インデックス２を辞書の先頭に移動させる。そして、白および黒を後ろにずらす。一方、入力した画素の色（たとえば、Ｘ）が辞書にない場合には、新たに登録するＸ（２４ビット）を出力する。この場合、インデックス８のエスケープ・コードを含む条件（図１１の条件１〜３）を符号化し、Ｘを辞書の先頭に登録し、元々登録されている色は、後ろにずれる。この結果、元々インデックス７に登録されていた色は、辞書から失われる。
【００４８】
辞書に登録された位置を示すインデックス値、辞書に存在しない場合に可逆符号化する条件別コード、および可逆モードから非可逆モードの遷移を示すコードは、すべて、一画素２４ビットを１／６に圧縮した4ビットの固定長符号で表現される。4ビットのコードの意味付けは、図１０に示す通りである。
【００４９】
図１０の左欄は可逆モード継続中のコードであり、図１０の右欄は非可逆モードから可逆モードに遷移した直後のコードである。図１０の左欄と右欄とでは、符号化対象画素の画素データＸが辞書に存在しない時の符号化動作が異なっている。なお、図１０に示す符号化モード遷移コードは、非可逆モードから可逆モードへの遷移を意味し、このコードは図１に示す符号化制御部１５０からの信号に基づいて、先頭移動辞書符号化部１２０より出力される。
【００５０】
ここで、図１０に示す符号化内容においては、２画素（Ｘ，Ａ）または３画素（Ｘ，Ａ，Ｂ）をまとめて符号化する態様が示されている。このために、図１に示すように、周辺画素値評価部１３０が設けられている。
【００５１】
１．４．周辺画素値評価部
図１に周辺画素値評価部１３０は、画素入力部１１０からパラレルに入力される例えば４画素（Ｐ，Ｘ，Ａ，Ｂ：図２参照）の各画素データの関係を評価するものである。本実施形態では、周辺画素値評価部１３０は４画素のうちの３画素または２画素が一定の関係を有するか否かを評価している。具体的には、図１１または図１２に示すように、３画素または２画素の画素データが同一であるか否かを評価している。
【００５２】
ここで、本実施形態では、２４ビットの画素データ同士が等しいことを条件としているが、例えば一画素を構成する３つのサブピクセル少なくとも一つの上位ビットが複数画素間で一致し、最下位ビットまたは最下位側の下位ビット群のみが異なるもの、つまり実質的同一とみなせる範囲を同一と定義しても良い。
【００５３】
１．５．余剰符号カウンタ
図１に示す余剰符号カウンタ１４０は、規定圧縮率（例えば５０％）を達成する上で余る符号ビット（余剰符号）をカウントアップし、消費される余剰ビットをカウントダウンするものである。余剰カウンタ１４０の累積カウント値が初期値（例えば０＝規定圧縮率を意味する）を下回らなければ（例えば、マイナス値にならなければ）、規定圧縮率が達成でき、本実施形態では余剰カウンタ１４０の累積カウント値が初期値を下回らないように制御している。この結果、可逆モードでの符号化は余剰カウンタでの制御により必ず規定圧縮率以上の高圧縮率が保障される。非可逆モードでの符号化は、規定圧縮率となる固定長符号で符号化を実施しているので、可逆・非可逆モードでのトータル圧縮率としても、規定圧縮率以上の高圧縮率を常に保障できる。
【００５４】
具体的には、可逆モードでは、Ｘが辞書に存在した場合は、一画素データ２４ビットを４ビットの固定長符号で符号化できる時には、圧縮率５０％（１２ビット目標）に対して８ビットの余剰が生まれる（このとき、８ビットを余剰符号という）。余剰符号カウンタ１４０は、一画素当り１２ビット未満で符号化できた際に生じた余剰ビットを計数するためのカウンタである。また、余剰符号カウンタ１４０は、符号化対象画素の画素データＸ（２４ビット）をそのまま符号出力した場合など、余剰ビットを消費した場合は、その分のカウントダウンを行う。なお、カウント値１ポイントは、4ビットの余剰符号を示すものとする。また、本実施形態では、余剰符号カウンタ１４０は可逆モード時のみカウントのアップ・ダウンを実施し、非可逆モードではカウントしない。非可逆モードでは全て、一画素当り１２ビット（一サブビクセルあたり４ビット）の固定長符号で符号化され、常に圧縮率５０％となって余剰符号が生じないし、余剰符号が消費されることもないからである。
【００５５】
なお、この余剰カウンタ１４０は、一ラインの全画素の符号化が終了するごとにリセットすることができる。周辺画素値評価部１３０は一ライン上の画素についての関係を評価しているので、本実施形態は画素毎に圧縮しているとはいえ、一ライン毎に画素間の相関を見ながら画素データを符号化している。よって、余剰カウンタ１４０がリセット後の初期値（つまり規定圧縮率と等しい値）を下回らないための管理は、一ライン毎に行なえばよい。こうすると、画素データを符号化した後の符号を記憶するメモリは、画面の一ライン上の画素データの全ビット数をＮ１とし、それらをメモリの一ライン上のＭ１個の有効メモリ素子に記憶する場合にあっては、メモリの一ライン上の有効メモリ素子の最大数Ｍ１は、規定圧縮率をα（α＜１）としたとは、Ｎ１×α＜Ｍ１＜Ｎ１となり、メモリの一ライン方向の寸法を小さくできる。
【００５６】
ただし、この余剰カウンタ１４０は、一ラインの全画素の符号化が終了するごとにリセットしてもよい。一画面全体として、余剰カウンタ１４０がリセット後の初期値（つまり規定圧縮率と等しい値）を下回らないようにしてもよい。この場合、画素データを符号化した後の符号を記憶するメモリは、一画面を構成する全画素データのトータルビット数をＮ２とし、それらをメモリ内のＭ２個の有効メモリ素子に記憶する場合にあっては、メモリ内の有効メモリ素子の最大数Ｍ２は、規定圧縮率をα（α＜１）としたとは、Ｎ２×α＜Ｍ２＜Ｎ２となり、メモリサイズを小さくできる。
【００５７】
１．６．符号化制御部
図１に示す符号化制御部１５０は、先頭移動辞書符号化部１２０、周辺画素値評価部１３０及び余剰符号カウンタ１４０からの出力に基づいて、可逆モードと非可逆モードとの間の遷移条件と、可逆モードの継続条件との充足を判断して、遷移・継続を決定するとともに、その判断に従って、予測符号化部１１０、先頭移動辞書符号化部１２０、余剰符号カウンタ１４０及び符号化多重部１６０を制御するものである。
【００５８】
具体的には、符号化制御部１５０は、図１１に示す非可逆モードから可逆モードへのいずれかの遷移条件を充足するか否かを、先頭移動辞書符号化部１２０、周辺画素値評価部１３０及び余剰符号カウンタ１４０からの出力に基づいて判断する。符号化制御部１５０は、図１１に示す条件のうち、まず、符号化対象画素の画像データＸが、図９に示す辞書に登録されているか否かを優先的に判断する。符号化対象画素の画像データＸが辞書に未登録の場合には、符号化制御部１５０は、図１１に示す条件１，２，３をその順で判断する。そして、符号化制御部１５０が、図１１に示す非可逆モードから可逆モードへのいずれかの遷移条件を充足したと判断した時には、予測符号化部１１０を制御して、図１１に示すように、非可逆モードから可逆モードへの遷移を固定長符号（４ビット）で表す符号化モード遷移コードを出力させる。また、図１１に示すように、符号化対象画素の画像データＸが、図９に示す辞書に登録されている場合には、先頭移動辞書符号化部１２０より辞書インデックス（４ビット）が出力される。図１１に示すように、符号化対象画素の画像データＸが、図９に示す辞書に登録されていない場合であって、条件１〜３のいずれかを充足する場合には、符号化制御部１５０は先頭移動辞書符号化部１４０を制御して、各条件を固定長符号（４ビット）で表す符合を出力させる。このとき、先頭移動辞書符号化部１４０は、符号化対象画素の画像データＸを、図９に示すようにして辞書の先頭に登録する。さらに、符号化制御部１５０は、図１１に示す条件２，３に該当する時には、必要なポイントを余剰符号カウンタ１４０にてカウントダウンさせる。
【００５９】
符号化制御部１５０が、図１１に示す非可逆モードから可逆モードへのいずれの遷移条件も充足しないと判断した時のみ、非可逆モードが継続され、非可逆符号化部１１０にて固定長符号（４ビット）で表された非線形量子化データが出力される。
【００６０】
さらに符号化制御部１５０は、図１２に示す可逆モードを維持する条件を充足するか否かを、先頭移動辞書符号化部１２０、周辺画素値評価部１３０及び余剰符号カウンタ１４０からの出力に基づいて判断する。
【００６１】
規定圧縮率（５０％）以上の高圧縮率を達成するには、符号化制御部１５０は、余剰カウンタ１４０のカウント値が規定圧縮率よりも低圧縮率を示す値とならない範囲で、先頭移動辞書符号化部１２０での符号化動作を継続させることが重要である。なぜなら、予測符号化部１１０では規定圧縮率と等しい圧縮率しか実現できず、しかも、可逆モードと非可逆モード間で遷移させるには、固定長符号で表された符号化モード遷移コードを出力することで符号が消費されるからである。また、予測符号化部１１０では非可逆モードで圧縮するので、完全に元の画素データに復号できないからである。
【００６２】
図１２において、符号化対象画素の画像データＸが、図９に示す辞書に登録されている場合には、符号化対象画素の画素データＸの単独圧縮率が規定圧縮率（５０％，１２ビット）よりも高い圧縮率となる時であり、固定長符号（４ビット）の辞書インデックスのみ出力すればよい。これが、先頭移動辞書符号化部１２０による第１優先順位の処理である。第１優先順位の処理を実施することで、余剰符号カウンタ１４０は２ポイント(８ビットをカウントアップできる。
【００６３】
図１２において、符号化対象画素の画像データＸが、図９に示す辞書に登録されていない場合であって、周辺画素値評価部１３０からの画素間の関係が条件４〜７のいずれかの関係を満たす場合には、まとめて符号化される複数画素の画素データの平均圧縮率が規定圧縮率よりも高い圧縮率となる。この態様が先頭移動辞書符号化部１２０による第２優先処理順位の処理であり、複数画素の各画素データが関連付けて符号化される。図１２に示す第２優先処理順位の項目の中でも、条件４〜７のうち番号の若い条件から順に判断される。第２優先順位の処理を実施することで、余剰符号カウンタ１４０は２ポイント(８ビットをカウントアップできる。
【００６４】
図１２において、符号化対象画素の画像データＸが、図９に示す辞書に登録されていない場合であって、周辺画素値評価部１３０からの画素間の関係と余剰符号カウンタ１４０にてカウントされた累計の余剰符号とが条件８〜１０のいずれかの関係を満たす場合には、符号化対象画素の単独圧縮率（図１２の条件１０）、あるいは、まとめて符号化される複数画素の画素データの見掛け上の平均圧縮率（図１２の条件８，９）が、規定圧縮率と等しくなる。ここで、見掛け上の単独圧縮率または平均圧縮率とは、本来符号化に必要な符号から予剰符号の累計の一部又は全部を差し引いて算出した一画素当たりの圧縮率である。図１２の条件８の例では、２画素に本来符号化に必要な符号（２８ビット）から余剰符号（４ビット）を差し引いて算出した一画素当たりの平均圧縮率は、１００×（２８−４）÷（２×２４）＝５０％となって、規定圧縮率と等しくなる。ただし、この場合は、余剰符号を４ビット消費するため、余剰符号カウンタ１４０にて１ポイント（４ビット）だけカウントダウンされる。条件８が成立しない場合は、条件９，１０の順で判断され、消費された余剰符号は余剰カウンタ１４０にてカウントダウンされる。
【００６５】
符号化制御部１５０は、図１２に示す条件を優先処理順位の順に判断し、図１２に示すいずれかの条件を充足する場合には、可逆モードを継続して、規定圧縮率（５０％）よりも高圧縮できる機会を増やして、余剰符号を蓄えるように制御する。そして、図１２に示すいずれの条件も充足しない場合に限り、符号化制御部１５０は予測符号化部１１０に信号を出力して、コード番号１５に相当する符号化モード遷移コード（可逆モード→非可逆モード）を出力させる。
【００６６】
符号化制御部１５０は、上述した制御結果の信号が、図１に示す符号多重化部１６０にて出力されるように、符号多重化部１６０を制御する。つまり、符号化制御部１５０は、予測符号化部１１０からの非線形量子化データ（４ビット、可逆モード→非可逆モードへのモード遷移コード含む）と、画像入力部１００からの符号化対象画素の画素データＸ（２４ビット）、先頭移動辞書符号化部１２０からの辞書インデックス、条件符号、非可逆モード→可逆モードへのモード遷移コード等のいずれのコードを出力するかを制御する信号を、符号化多重化部１６０に出力する。
【００６７】
１．７．符号多重化制御部
図１３は、符号化制御部１５０の制御に従って動作する符号多重化制御部１６０の動作を説明するための図である。
【００６８】
まず、最初の符号化対象画素の画素データＸが画像入力部１００に入力されると、例えば最初の画素データＸは、予測符号化部１１０にて符号化される。つまり、画像データＸを構成するＲ，Ｇ，Ｂのサブピクセルデータが非線形量子化され、規定圧縮率（５０％）で圧縮された１２ビットの非線形量子化符号が、符号多重化部１６０より出力される。
【００６９】
もし仮に、全ての画素データＸが、図１１の非可逆モード→可逆モードへの遷移条件を充足しない場合、全ての画素データＸは図１３に示す非可逆符号化モードループで符号化され、圧縮率は５０％となって、規定圧縮率（５０％）が達成される。
【００７０】
ただし、そのようなケースは稀であり、いずれかの画像データＸまたはその周辺画素の画像データは、図１１に非可逆モード→可逆モードへの遷移条件を充足する。この場合には、図１１に示す条件に従って組み合わされた符号が、符号多重化部１６０より出力される。例えば、符号化対象画素の画像データＸが、図９に示す辞書に登録されている場合では、符号化モード遷移コード（４ビット）＋辞書インデックス（４ビット）の計８ビットが符号多重化部１６０より出力される。符号化対象画素の画像データＸが、図９に示す辞書に登録されていない場合であって、例えば図１１に示す条件１を充足するのであれば、符号化モード遷移コード（４ビット）＋条件１を示すコード（４ビット）＋画素データＸ（２４ビット）の計３２ビットが、符号多重化部１６０より出力される。
【００７１】
最後の符号化対象画素の画素データＸが図１１に示す条件を満足した場合には、先頭移動辞書符号化部１２０での符号化によって全ての処理が終了する。
【００７２】
そうでない場合には、図１３に示す可逆符号化モードループに移行する。ここでは、図１２に示す条件のいずれかを充足する限り、そのループでの処理が継続される。この場合、符号多重化部１６０からの出力は、図１２に示す通りとなる。例えば、符号化対象画素の画像データＸが、図９に示す辞書に登録されている場合では、辞書インデックス（４ビット）のみが符号多重化部１６０より出力される。符号化対象画素の画像データＸが、図９に示す辞書に登録されていない場合であって、例えば図１２に示す条件４を充足するのであれば、三画素の画素データＸ，Ａ，Ｂを関連付けた符号として、条件４を示すコード（４ビット）＋画素データＸ（２４ビット）の計２８ビットが、符号多重化部１６０より出力される。
【００７３】
２．画像復号装置（デコーダ）
図１４は、本発明の実施形態である画像復号装置を示し、上述した画像符号化装置での図１３に示す符号化シンタクッスに基づいて、符号を読み取り、デコード（復号）して画素データを出力するものである。画像復号装置は、図１４に示すように、符号分離制御部２００、予測復号部２１０、先頭移動辞書復号部２２０及び画素出力制御部２３０を有する。
【００７４】
２．１．符合分離制御部
符号分離制御部２００での動作は、上述した画像符号化装置での最初の画素データ、非可逆モード時、非可逆モードから可逆モードへの遷移時、可逆モード時で異なる。符号分離制御部２００は、符号化モード遷移コードにより、受信コードがどの態様で符号化されたかが分かるので、上述の４つの態様に分けて制御している。
【００７５】
２．１．１．デコード開始時
図１３にて説明したように、デコード開始時にあっては、符号多重化部１６０から出力される圧縮ストリーム中に、画素データが埋め込まれている。したがって、符号分離制御部２００は、２４ビットの画素データを直接に画像出力制御部２３０に送出する。
【００７６】
２．１．２．非可逆符号化モード時
非可逆モードでは、符号分離制御部２００は、図４〜図８等に示す成分毎の量子化値を圧縮ストリームから読み込み、予測復号部２１０に送出する。
【００７７】
２．１．３．非可逆モードから可逆モードへの遷移時
符号分離制御部２００が、図１１に示す符号化モード遷移を示すコードを受信すると、非可逆モードから可逆モードへ復号化モードを変える。具体的には、符号分離制御部２００は、符号化モード遷移を示すコードに続く4ビットを見て、辞書インデックスなのか、あるいは条件１、２、３を示すコードなのかを判断する。符号分離制御部２００は、受信コードが辞書インデックスの場合は、先頭移動辞書復号部２２０に送り、そうでない場合は、２４ビットの画素データを抽出して、直接、画素出力制御部２３０に送るとともに、条件符号に基づく制御信号を画素出力制御部２３０に送る。
【００７８】
２．１．４．可逆モード時
可逆モードでは、符号分離制御部２００は、図１２に示す４ビットの符号を見て、辞書インデックスなのか、条件４−１０のいずれなのかを判断する。符号分離制御部２００は、受信コードが辞書インデックスの場合は、先頭移動辞書復号部２２０に送り、そうでない場合は、２４ビットの画素データを抽出して、直接、画素出力制御部２３０に送るとともに、条件符号に基づく制御信号を画素出力制御部２３０に送る。
【００７９】
２．２．予測復号部及び先頭移動辞書復号部
予測復号部２１０は、図１に示す予測符号化部１１０とは逆操作を行なうことで、非可逆にて画素データを復号する。先頭移動辞書復号部２２０は、先頭移動辞書符号化部１２０と同様に、図９に示すものと同等の辞書を有する。そして、辞書登録されていない画素データが入力されたら、図９と同様にして辞書登録する。一方、辞書インデックスを受信したら、その辞書中の登録位置にある画素データを画素出力制御部２３０に出力する。
【００８０】
２．３．画素出力制御部
画素出力制御部２３０は、符号分離制御部２００からの画素データ、予測復号部２１０にて復号された画素データ、先頭移動辞書復号部２２０にて復号された画素データ、さらに符号分離制御部２００からの制御信号に基づいて、復号された画素データを出力制御するものである。
【００８１】
画素出力制御部２３０は、図１５に示すように、３つのマルチプレクサＭＵＸ０〜ＭＵＸ２と、３つのレジスタＲ０〜Ｒ２と、制御回路２３２とを有する。制御回路２３２は、符号分離制御部２００より分離された制御信号に基づいて、マルチプレクサＭＵＸ０〜ＭＵＸ２を制御する。
【００８２】
この画素出力制御部２３０もまた、上述した画像符号化装置での最初の画素データ、非可逆モード時、非可逆モードから可逆モードへの遷移時、可逆モード時で異なる。
【００８３】
２．３．１．先頭画素
先頭画素の画素データは、図１４の符号分離制御部２００にて分離された後に、直接、制御回路２３２により制御されるマルチプレクサＭＵＸ０を介してレジスタＲ０に格納され、次のサイクルで出力される。
【００８４】
２．３．２．非可逆モード
非可逆モード時は、予測復号部２１０より供給される画素データをマルチプレクサＭＵＸ０経由でレジスタＲ０に格納し、1サイクル後に出力される。
【００８５】
２．３．３．可逆モード
図１２に示す符号化時の条件に従って、下記の通り出力制御される。
【００８６】
２．３．３．１．画素データＸが辞書に登録されていた時
先頭移動辞書復号部２２０にて辞書インデックスに示す登録位置の画素データを辞書より読み出し、マルチプレクサＭＰＵ０経由でレジスタＲ０に格納し、1サイクル後に出力する。
【００８７】
２．３．３．２．図１２の条件４に合致した時
符号分離制御部２００に取り込まれた画素データＸを、図１５のマルチプレクサＭＵＸ０経由でレジスタＲ０に格納するとともに、マルチプレクサＭＵＸ１，２を経由して、同じ値ＸをレジスタＲ１，Ｒ２にも格納する。すなわち、レジスタＲ１２，Ｒ２すべてに、画素データＸが格納される（条件4は、Ｘ＝Ａ＝Ｂ）。そして、３サイクルかけて、同一の画素データＸが順次出力される。なお、同一の画素データＸが出力される間には、新たな符号の取り込みは抑止される。
【００８８】
２．３．３．３．図１２の条件５に合致した時
符号分離制御部２００に取り込まれた画素データＸを、制御回路２３２により制御されるマルチプレクサＭＵＸ０経由でレジスタＲ０に格納するとともに、レジスタＲ０に直前まで格納されていた画素データＰをマルチプレクサＭＵＸ１，２を経由して、レジスタＲ１，Ｒ2にも格納する（条件５は、Ｐ＝Ａ＝Ｂ）、そして、3サイクルかけて、画素データＸ，Ｐ，Ｐを順次出力する。この間も、新たな符号の取り込みは抑止される。
【００８９】
２．３．３．４．図１２の条件６に合致した時
符号分離制御部２００に取り込まれた画素データＸを、制御回路２３２により制御されるＭＵＸ０経由でレジスタＲ０に格納するとともに、マルチプレクサＭＵＸ１を経由してレジスタＲ１にも格納する（条件６はＸ＝Ａが要件の一つ）。また、レジスタＲ０に直前まで格納されていた画素データＰをマルチプレクサＭＵＸ２を経由してレジスタＲ２に格納する（条件６は、Ｐ＝ＢＴが要件の他の一つ）。そして、３サイクルかけて、画素データＸ，Ｘ，Ｐを順次出力する。この間も、新たな符号の取り込みは抑止される。
【００９０】
２．３．３．５．図１２の条件７に合致した時
符号分離制御部２００に取り込まれた画素データＸを、制御回路２３２により制御されるマルチプレクサＭＵＸ０経由でレジスタＲ０に格納するとともに、マルチプレクサＭＵ２を経由してレジスタＲ２にも格納する（条件７は、Ｘ＝Ｂが要件の一つ）。また、レジスタＲ０に直前まで格納されていた画素データＰをマルチプレクサＭＵＸ１を経由してレジスタＲ１に格納する（条件７は、Ｐ＝Ａが要件の他の一つ）。そして、３サイクルかけて、画素データＸ，Ｐ，Ｘが順次出力される。この間も、新たな符号の取り込みは抑止される）。
【００９１】
２．３．３．６．図１２の条件８に合致した時
符号分離制御部２００に取り込まれた画素データＸを、制御回路２３２により制御されるマルチプレクサＭＵＸ０経由でレジスタＲ０に格納するとともに、レジスタＲ０に直前まで格納されていた画素データＰをマルチプレクサＭＵＸ１を経由してレジスタＲ１に格納する（条件８は、Ｐ＝Ａが要件）。そして、２サイクルかけて、画素データＸ，Ｐが順次出力される。この間も、新たな符号の取り込みは抑止される）。
【００９２】
２．３．３．７．図１２の条件９に合致した時
符号分離制御部２００に取り込まれた画素データＸを、制御回路２３２により制御されるマルチプレクサＭＵＸ０経由でレジスタＲ０に格納するとともに、マルチプレクサＭＵ２を経由してレジスタＲ２にも格納する（条件９は、Ｘ＝Ａが要件）。そして、２サイクルかけて、画素データＸ，Ｘが順次出力される。この間も、新たな符号の取り込みは抑止される）。
【００９３】
２．３．３．８．図１２の条件１０に合致した時
符号分離制御部２００に取り込まれた画素データＸを、制御回路２３２により制御されるマルチプレクサＭＵＸ０経由でレジスタＲ０に格納し、次サイクルで出力する。
【００９４】
２．３．４．非可逆モードから可逆モードへのモード遷移時
条件１の符号を受信した時には、上述の条件４の時の動作と同じであり、条件２の符号を受信した時には、上述の条件９の時の動作と同じであり、条件３の符号を受信した時には、上述の条件１０の時の動作と同じである。
【００９５】
このような、画像符号化装置にて画素データを符号化し、それを画像復号装置にて復号して、液晶表示装置に表示して、画像圧縮せずに直接表示したものと画質を比較してみたところ、肉眼では識別できなかった。
【００９６】
なお、本発明は上述の実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。本発明の画像符号化・復号装置は、例えば液晶表示装置（ＬＣＤ）に画像データを表示するために用いられるＬＣＤコントローラやＬＣＤドライバ等の半導体回路において、画像データを一時的に保持するために半導体メモリとして用いられる。本発明は、この半導体メモリのサイズ削減に有効な画像符号化・復号装置となる。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施形態に係る画像符号化装置のブロック図である。
【図２】図１の画像入力部に順次入力される画像データを説明するための概略説明図である。
【図３】図１に示す予測符号化部の一例を示すブロック図である。
【図４】予測値が９６以上１６０未満の場合の非線形量子化テーブルの例を示す概略説明図である。
【図５】予測値が６４以上９６未満の場合の非線形量子化テーブルの例を示す概略説明図である。
【図６】予測値が１６０以上１９２未満の場合の非線形量子化テーブルの例を示す概略説明図である。
【図７】予測値が３２以上６４未満の場合の非線形量子化テーブルの例を示す概略説明図である。
【図８】予測値が１９２以上２２４未満の場合の非線形量子化テーブルの例を示す概略説明図である。
【図９】図１に示す先頭移動辞書符号化部または図１５に示す先頭移動辞書復号部が有する辞書を説明するための概略説明図である。
【図１０】図１に示す先頭移動辞書符号化部にて固定長符号（４ビット）で表される１６通りのコードの内容を説明するための概略説明図である。
【図１１】非可逆符号化モードから可逆符号化モードへの遷移条件を説明するための概略説明である。
【図１２】可逆符号化モードの継続条件を説明するための概略説明図である。
【図１３】図１に示す符号多重化部から出力される符号シンタックスを示す図である。
【図１４】本発明の実施形態に係る画像復号装置のブロック図である。
【図１５】図１４に示す画素出力制御部のブロック図の一例を示す図である。
【符号の説明】
【００９８】
１００  画像入力部、１１０  予測符号化部（非可逆符号化部）、１１１  減算器、１１２非線形量子化部、１１３  非線形逆量子化部、１１４  加算器、１１５Ｒ〜１１５Ｂ  レジスタ、１２０  先頭移動辞書符号化部（可逆符号化部）、１３０  周辺画素値評価部、１４０  余剰符号カウンタ、１５０  符号化制御部、１６０  符号多重化部、２００  符号分離制御部、２１０  予測復号部、２２０  先頭移動辞書復号部、２３０  画素出力制御部、２３２  制御回路、Ｒ０−Ｒ２  レジスタ、ＭＵＸ０−ＭＵＸ２  マルチプレクサ
【図１】
0004725321.tif 000002
【図２】
0004725321.tif 000003
【図３】
0004725321.tif 000004
【図４】
0004725321.tif 000005
【図５】
0004725321.tif 000006
【図６】
0004725321.tif 000007
【図７】
0004725321.tif 000008
【図８】
0004725321.tif 000009
【図９】
0004725321.tif 000010
【図１０】
0004725321.tif 000011
【図１１】
0004725321.tif 000012
【図１２】
0004725321.tif 000013
【図１３】
0004725321.tif 000014
【図１４】
0004725321.tif 000015
【図１５】
0004725321.tif 000016