(57)【要約】【課題】可逆モードを選択した場合における圧縮率の向上。【解決手段】複数の画素から構成されるブロックデータ毎に、非可逆モードと、ｐ（ｐは自然数）個の辞書インデックス各々に異なる色が登録される辞書を用いて符号化する可逆モードとの何れかを選択して符号化を実行する画像符号化装置であって、符号化のために着目している前記ブロックデータである着目ブロックデータに含まれる色のうち、前記着目ブロックデータの符号化の開始前において前記辞書に登録されていない色の数である未登録色数が基準値よりも大きい場合、前記非可逆モードによって符号化する非可逆符号化部と、前記未登録色数が前記基準値以下の場合、前記可逆モードによって符号化し、直近に前記可逆モードによって符号化したｑ（ｑは前記ｐと同数）種類の色を前記辞書に登録する辞書符号化部と、を備える画像符号化装置。【選択図】図３
2019140477.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素から構成されるブロックデータ毎に、非可逆モードと、ｐ（ｐは自然数）個の辞書インデックス各々に異なる色が登録される辞書を用いて符号化する可逆モードとの何れかを選択して符号化を実行する画像符号化装置であって、
符号化のために着目している前記ブロックデータである着目ブロックデータに含まれる色のうち、前記着目ブロックデータの符号化の開始前において前記辞書に登録されていない色の数である未登録色数が基準値よりも大きい場合、前記非可逆モードによって符号化する非可逆符号化部と、
前記未登録色数が前記基準値以下の場合、前記可逆モードによって符号化し、直近に前記可逆モードによって符号化したｑ（ｑは前記ｐと同数）種類の色を前記辞書に登録する辞書符号化部と、
を備える画像符号化装置。
【請求項２】
さらに、前記未登録色数が前記基準値以下であるか否かを示す信号を出力する画像特性判定部を備える
請求項１に記載の画像符号化装置。
【請求項３】
前記ｐは、２以上であり、
前記辞書符号化部は、直近に符号化した色を第１インデックスに登録し、前記第１インデックスに登録されている色を符号化する場合は第１のデータ量の符号を出力し、第２インデックスに登録されている色を符号化する場合は前記第１のデータ量よりもデータ量が多い第２のデータ量の符号を出力する
請求項１から請求項２までの何れか一項に記載の画像符号化装置。
【請求項４】
前記辞書符号化部は、前記辞書に登録されていない未登録色を符号化する場合、前記未登録色を可逆的に符号化して得られる符号を出力する
請求項１から請求項３までの何れか一項に記載の画像符号化装置。
【請求項５】
前記非可逆符号化部は、ハールウェーブレット変換によって符号化する
請求項１から請求項４までの何れか一項に記載の画像符号化装置。
【請求項６】
さらに、前記辞書符号化部による符号化が実行された後、前記未登録色数に応じて前記基準値を変更する変更部を備える
請求項１から請求項５までの何れか一項に記載の画像符号化装置。
【請求項７】
前記変更部は、前記未登録色数が所定数よりも大きい場合に前記基準値を減少させ、前記未登録色数が前記所定数以下の場合に前記基準値を増大させる
請求項６に記載の画像符号化装置。
【請求項８】
前記変更部は、前記未登録色数が前記所定数以下の場合であっても、前記基準値が予め定められた上限値であるときは前記基準値を維持する
請求項７に記載の画像符号化装置。
【請求項９】
前記変更部は、前記未登録色数の減少を、現状の前記基準値から前記未登録色数を減算することによって実施する
請求項７から請求項８までの何れか一項に記載の画像符号化装置。
【請求項１０】
複数の画素から構成されるブロックデータ毎に、非可逆モードと、ｐ（ｐは自然数）個の辞書インデックス各々に異なる色が登録される辞書を用いて符号化する可逆モードとの何れかを選択して符号化を実行する画像符号化方法であって、
符号化のために着目している前記ブロックデータである着目ブロックデータに含まれる色のうち、前記着目ブロックデータの符号化の開始前において前記辞書に登録されていない色の数である未登録色数が基準値よりも大きい場合、前記非可逆モードによって符号化し、
前記未登録色数が前記基準値以下の場合、前記可逆モードによって符号化し、直近に前記可逆モードによって符号化したｑ（ｑは前記ｐと同数）種類の色を前記辞書に登録する
画像符号化方法。
【請求項１１】
複数の画素から構成されるブロックデータ毎に、非可逆モードと、ｐ（ｐは自然数）個の辞書インデックス各々に異なる色が登録される辞書を用いて符号化する可逆モードとの何れかを選択して符号化を実行する画像符号化装置と、前記画像符号化装置によって作成された符号を復号する画像復号化装置とを備える画像符号化システムであって、
前記画像符号化装置は、
符号化のために着目している前記ブロックデータである着目ブロックデータに含まれる色のうち、前記着目ブロックデータの符号化の開始前において前記辞書に登録されていない色の数である未登録色数が基準値よりも大きい場合、前記非可逆モードによって符号化する非可逆符号化部と、
前記未登録色数が前記基準値以下の場合、前記可逆モードによって符号化し、直近に前記可逆モードによって符号化したｑ（ｑは前記ｐと同数）種類の色を前記辞書に登録する辞書符号化部と、を備える
画像符号化システム。
【請求項１２】
複数の画素から構成されるブロックデータ毎に、非可逆モードと、ｐ（ｐは自然数）個の辞書インデックス各々に異なる色が登録される辞書を用いて符号化する可逆モードとの何れかを選択して符号化を実行するためのプログラムを記録した記録媒体であって、
符号化のために着目している前記ブロックデータである着目ブロックデータに含まれる色のうち、前記着目ブロックデータの符号化の開始前において前記辞書に登録されていない色の数である未登録色数が基準値よりも大きい場合、前記非可逆モードによって符号化し、
前記未登録色数が前記基準値以下の場合、前記可逆モードによって符号化し、直近に前記可逆モードによって符号化したｑ（ｑは前記ｐと同数）種類の色を前記辞書に登録する
ことをコンピューターに実行させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像の符号化に関する。
【背景技術】
【０００２】
特許文献１は、印刷対象の画像を８×８画素を１単位とするブロックデータに分割し、ブロックデータ毎に可逆モードと非可逆モードとの何れかを選択するマルチモード符号化方式を開示している。符号化されたデータは、復号されて印刷データとして用いられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２５２５６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記先行技術における可逆モードによる符号化は、或るブロックデータの符号化の結果が、他のブロックデータの符号化に影響を与えない手法である。このため、例えば、同じような色の画素から構成されるブロックデータが連続するような場合でも、このような連続性を利用して符号化の圧縮率を高めることは難しかった。本開示は、上記を踏まえ、可逆モードを選択した場合における圧縮率の向上を解決課題とする。
【課題を解決するための手段】
【０００５】
本開示の一形態は、複数の画素から構成されるブロックデータ毎に、非可逆モードと、ｐ（ｐは自然数）個の辞書インデックス各々に異なる色が登録される辞書を用いて符号化する可逆モードとの何れかを選択して符号化を実行する画像符号化装置であって；符号化のために着目している前記ブロックデータである着目ブロックデータに含まれる色のうち、前記着目ブロックデータの符号化の開始前において前記辞書に登録されていない色の数である未登録色数が基準値よりも大きい場合、前記非可逆モードによって符号化する非可逆符号化部と；前記未登録色数が前記基準値以下の場合、前記可逆モードによって符号化し、直近に前記可逆モードによって符号化したｑ（ｑは前記ｐと同数）種類の色を前記辞書に登録する辞書符号化部と；を備える画像符号化装置である。
【０００６】
この形態によれば、直近に符号化した色が辞書に登録されるため、同じような色の画素から構成されるブロックデータが連続するような場合に可逆モードで符号化するとき、辞書符号化の割合が増大するので、圧縮率が向上する。
【０００７】
上記形態において、さらに、前記未登録色数が前記基準値以下であるか否かを示す信号を出力する画像特性判定部を備えてもよい。この形態によれば、可逆モードによって符号化されたのか、非可逆モードによって符号化されたのかが、上記の信号によって判別できる。このため、符号を復号する際に、何れのモードで復号すればよいかを判別できる。
【０００８】
上記形態において、前記ｐは、２以上であり；前記辞書符号化部は、直近に符号化した色を第１インデックスに登録し、前記第１インデックスに登録されている色を符号化する場合は第１のデータ量の符号を出力し、第２インデックスに登録されている色を符号化する場合は前記第１のデータ量よりもデータ量が多い第２のデータ量の符号を出力してもよい。この形態によれば、同じ色の画素を連続して符号化する場合、圧縮率が向上する。なお、符号のデータ量は、「符号の長さ」ともいい、或いは「符号長」ともいう。
【０００９】
上記形態において、前記辞書符号化部は、前記辞書に登録されていない未登録色を符号化する場合、前記未登録色を可逆的に符号化して得られる符号を出力してもよい。この形態によれば、辞書に登録されていない色が含まれていても、可逆モードで符号化できる。
【００１０】
上記形態において、前記非可逆符号化部は、ハールウェーブレット変換によって符号化してもよい。この形態によれば、非可逆符号化を高い圧縮率によって実現できる。
【００１１】
上記形態において、さらに、前記辞書符号化部による符号化が実行された後、前記未登録色数に応じて前記基準値を変更する変更部を備えてもよい。この形態によれば、未登録色数に応じて基準値を変更するので、色の配置が同じブロックデータを符号化する場合でも、可逆モードが選択されたり非可逆モードが選択されたりし得る。このため、可逆モードに偏ることによって圧縮率が低下したり、非可逆モードに偏ることによって符号の品質が劣化したりすることを抑制できる。
【００１２】
上記形態において、前記変更部は、前記未登録色数が所定数よりも大きい場合に前記基準値を減少させ、前記未登録色数が前記所定数以下の場合に前記基準値を増大させてもよい。この形態によれば、非可逆符号化による劣化が目立ちやすい色数の少ない線画、テキスト等の画像は可逆で符号化され、可逆符号化では圧縮率が悪化する自然画像等の色数の多い画像は非可逆で符号化されるため、可逆モードと非可逆モードとのバランスが良くなる。未登録色数が多ければ多いほど、辞書符号化による圧縮率は低下する。このため、未登録色数が多ければ多いほど、次のブロックデータでは非可逆符号化が選択されやすくなるように基準値を変更することが好ましい。そこで、この形態では、未登録色数が所定数よりも大きい場合に基準値を減少させる。一方、未登録色数が所定数以下だった場合、圧縮率および画質ともに良好な符号化が実現された訳であるので、引き続き辞書符号化が実行されることが好ましい。そこで、本実施形態では、未登録色数が前記所定数以下の場合に基準値を増大させる。
【００１３】
上記形態において、前記変更部は、前記未登録色数が前記所定数以下の場合であっても、前記基準値が予め定められた上限値であるときは前記基準値を維持してもよい。この形態によれば、基準値が大きくなり過ぎることを防止できる。ひいては、可逆モードによる圧縮率が低下することを防止できる。
【００１４】
上記形態において、前記変更部は、前記未登録色数の減少を、現状の前記基準値から前記未登録色数を減算することによって実施してもよい。未登録色数が多いブロックデータを可逆モードで符号化すると圧縮率が低下する。このため、未登録色数が多いブロックデータを可逆モードで符号化した後は、非可逆モードによる符号化を実施することが好ましい。この形態によれば、未登録色数が多ければ多いほど、基準値の減少幅が大きくなる。このため、未登録色数が多いブロックデータを可逆モードで符号化した後は、非可逆モードによる符号化が実施されやすくなるので、上記の好ましい符号化モードの選択を実現できる。
【００１５】
本開示は、上記以外の種々の形態で実現できる。例えば、画像符号化方法や、この方法を実現するためのプログラム、このプログラムを記録した非遷移的実行的記録媒体等の形態で実現できる。この他、画像符号化装置と画像復号化装置とを備える画像符号化システムの形態で実現できる。
【図面の簡単な説明】
【００１６】
【図１】符号化システムを示すブロック図。
【図２】印刷処理を示すフローチャート。
【図３】画像符号化処理を示すフローチャート。
【図４】辞書インデックス、可変長符号および符号ビット長の関係を示すテーブル。
【図５】辞書の更新の例を示す図。
【図６】辞書の更新の例を示す図。
【図７】基準値Ｎの制御処理を示すフローチャート。
【図８】ハールウェーブレット変換および逆変換の演算を示す。
【図９】ハールウェーブレット変換の様子を示す図。
【図１０】量子化シフト値の例を示すテーブル。
【図１１】復号部の内部構成を示すブロック図。
【図１２】画像符号化装置が備える符号部を示すブロック図。
【図１３】辞書符号化部の構成例を示すブロック図。
【図１４】非可逆符号化部１１６の構成例を示すブロック図。
【発明を実施するための形態】
【００１７】
図１は、画像符号化システム２０を示すブロック図である。画像符号化システム２０は、画像符号化装置３０と、画像復号化装置４０とを備える。
【００１８】
画像符号化装置３０は、コンピューターである。画像符号化装置３０は、記録媒体３２と、ＣＰＵ３４と、第１無線通信部３６とを備える。記録媒体３２は、ＲＡＭ、ＲＯＭ等を含む。記録媒体３２は、プログラム３３を記録する。プログラム３３は、後述する画像符号化処理等を実行するためのプログラムである。
【００１９】
画像復号化装置４０は、プリンターである。画像復号化装置４０は、復号部４００と、第２無線通信部５００と、印刷部６００とを備える。第２無線通信部５００は、画像符号化装置３０に含まれる第１無線通信部３６と無線通信する。
【００２０】
本実施形態においては、画像がモノクロであり、階調数が８ビット／画素である。このため、画素データは、輝度値によって表される。但し、本実施形態においては、輝度値を「色」とも表現する。他の実施形態においては、ＲＧＢ画像の２４ビット／画素に適用してもよいし、ＹＭＣＫの３２ビット／画素に対しても適用してもよい。
【００２１】
図２は、印刷処理を示すフローチャートである。まず、画像符号化装置３０が、画像符号化処理を実行する（Ｓ１００）。次に、画像符号化装置３０が画像復号化装置４０に符号データを転送する（Ｓ３００）。Ｓ３００には、第１無線通信部３６及び第２無線通信部５００による無線通信が用いられる。
【００２２】
次に、画像復号化装置４０が、画像復号化処理を実行する（Ｓ４００）。最後に、画像復号化装置４０が、印刷部６００を用いて、復号した画像を印刷する（Ｓ５００）。
【００２３】
図３は、Ｓ１００としての画像符号化処理を示すフローチャートである。まず、ＣＰＵ３４は、ブロックデータを取得する（Ｓ１１０）。ブロックとは、本実施形態においては８×８の画素の塊のことである。ブロックデータとは、ブロックに含まれる各画素の輝度値のことである。
【００２４】
なお、画像全体において、縦方向や横方向の画素数が８の倍数でない場合、画像の端において８×８画素に満たないブロックが発生する。この場合、Ｓ１１０では、８×８画素になるようにダミーの画素を補うことによって、８×８のブロックの画像データを出力する。別の実施形態では、ブロックが１６×１６画素でもよいし、４×４画素でもよいし、他の画素数でもよい。
【００２５】
次に、ＣＰＵ３４は、記録媒体３２を用いて、辞書（後述）をバックアップする（Ｓ１２０）。辞書のバックアップは、後述するように、辞書が更新されても、更新前の状態に復元できるようにすることを目的として実行される。
【００２６】
次に、ＣＰＵ３４は、着目画素を更新する（Ｓ１２５）。着目画素とは、ブロックを構成する画素のうち、着目している画素のことである。ＣＰＵ３４は、Ｓ１２５において、ブロックを構成する６４画素から１画素ずつ着目する。
【００２７】
次に、ＣＰＵ３４は、辞書符号化を実行する（Ｓ１３０）。図４は、辞書インデックス、可変長符号および符号ビット長の関係を示すテーブルである。本実施形態における辞書インデックスは、説明を簡単にするため、０〜３の４つとする。但し、辞書インデックスの数は、これに限定されるものではなく自然数であればよい。
【００２８】
ＣＰＵ３４は、Ｓ１３０において、着目画素の色が、辞書インデックス０に登録されている色である場合、可変長符号として１を出力する。この場合、符号ビット長は１である。つまり、符号のデータ量は１ビットである。
【００２９】
ＣＰＵ３４は、Ｓ１３０において、着目画素の色が、辞書インデックス１に登録されている色である場合、可変長符号として０１を出力する。この場合、符号ビット長は２である。つまり、符号のデータ量は２ビットである。
【００３０】
ＣＰＵ３４は、Ｓ１３０において、着目画素の色が、辞書インデックス２に登録されている色である場合、可変長符号として００１を出力する。この場合、符号ビット長は３である。つまり、符号のデータ量は３ビットである。
【００３１】
ＣＰＵ３４は、Ｓ１３０において、着目画素の色が、辞書インデックス３に登録されている色である場合、可変長符号として００００を出力する。この場合、符号ビット長は４である。つまり、符号のデータ量は４ビットである。
【００３２】
ＣＰＵ３４は、Ｓ１３０において、着目画素の色が、辞書に登録されていない色である場合、可変長符号として０００１を出力する。この場合、符号ビット長は４である。つまり、符号のデータ量は４ビットである。ＣＰＵ３４は、可変長符号として０００１を出力する場合、色を示す非圧縮データ（つまり可逆的な符号化データ）を可変長符号に続けて出力する。本実施形態における非圧縮データは、輝度値を示す８ビットのデータである。
【００３３】
次に、ＣＰＵ３４は、辞書を更新する（Ｓ１３５）。図５及び図６は、辞書の更新の例を示す。図５に示すように、辞書インデックス０に色Ｃ０、辞書インデックス１に色Ｃ１、辞書インデックス２に色Ｃ２、辞書インデックス３に色Ｃ３が登録されている例を示す。
【００３４】
この例において、着目画素の色が色Ｃ２である場合、先頭の辞書インデックス０に色Ｃ２が登録される。さらに、着目画素の色が登録されていた辞書インデックスよりも上位の辞書インデックスは、１つずつ繰り下げられる。つまり、辞書インデックス１に色Ｃ０が登録され、辞書インデックス２に色Ｃ１が登録される。着目画素の色が登録されていた辞書インデックスよりも下位の辞書インデックスは、変更されない。つまり、図５に示す場合であれば、辞書インデックス３は変更されない。
【００３５】
図６は、着目画素の色が、辞書に登録されていない場合における辞書の更新の様子を示す。図６に示すように、更新前の辞書に登録されている色は、図５と同じである。このため、着目画素の色が色Ｃｘである場合、着目画素の色は辞書に登録されていない。
【００３６】
着目画素の色が辞書に登録されていない色Ｃｘである場合、先頭の辞書インデックス０に色Ｃｘが新規に登録される。さらに、辞書インデックス０，１，２は、１つずつ繰り下げられる。つまり、辞書インデックス１に色Ｃ０が登録され、辞書インデックス２に色Ｃ１が登録され、辞書インデックス３に色Ｃ２が登録される。最も下位の辞書インデックス３に登録されていた色Ｃ３は、削除される。
【００３７】
上記のようにして辞書が更新されるため、辞書に登録されている色は、過去に辞書に登録された実績がある色のうち、直近に辞書に登録された各々異なる４つの色である。また、上記のようにして辞書が更新されるため、辞書インデックス０に登録されている色を符号化する場合、辞書は更新されない。
【００３８】
なお、上記のように、直近に符号化した色を先頭の辞書インデックス０に移動させるのは、辞書インデックス０に対応付けられている符号ビット長が最も短いからである。他の実施形態において、先頭ではない辞書インデックス（例えば辞書インデックス１）に最も短い符号ビット長が対応付けられていれば、その辞書インデックスに、直近に符号化した色を登録してもよい。
【００３９】
次に、ＣＰＵ３４は、図６と共に説明したように、１ブロックデータ分の符号化において、新規に辞書に登録された色の数（以下、新規登録色数）が基準値Ｎより大きくなったかを判定する（Ｓ１４０）。基準値Ｎは、後述する基準値Ｎの制御処理（Ｓ２００）で決定される整数である。
【００４０】
新規登録色数が基準値Ｎ以下である場合（Ｓ１４０，ＮＯ）、ＣＰＵ３４は、ブロック内の全画素を符号化したかを判定する（Ｓ１５０）。符号化していない画素が残っている場合（Ｓ１５０，ＮＯ）、ＣＰＵ３４は、Ｓ１２５に戻る。このようにして、Ｓ１２５〜Ｓ１５０が繰り返されると、Ｓ１４０及びＳ１５０の何れかでＹＥＳと判定される。
【００４１】
新規登録色数が基準値Ｎ以下であることが満たされているうちに、ブロック内の全画素が符号化された場合（Ｓ１５０，ＹＥＳ）、ＣＰＵ３４は、基準値Ｎの制御処理を実行する（Ｓ２００）。基準値Ｎの制御処理については、図７と共に後述する。なお、Ｓ１５０においてＹＥＳと判定された場合に、新規登録色数がＭ（≦Ｎ）だったとき、ブロックデータを取得した段階において、辞書に登録されていない色の数（以下、未登録色数）がＭだったことになる。
【００４２】
基準値Ｎの制御処理を終えると、ＣＰＵ３４は、タグ信号を、辞書符号化を示す値に決定する。辞書符号化は、具体的には、タグ信号を１に決定する。続いてＣＰＵ３４は、タグ信号としての符号と、Ｓ１３０で作成した符号とを、圧縮ストリームに出力する。タグ信号は、先頭に付される。
【００４３】
次に、ＣＰＵ３４は、印刷対象を構成する全ブロックデータを取得したかを判定する（Ｓ２９８）。取得していないブロックデータ（つまり、符号化していないブロックデータ）が残っている場合（Ｓ２９８，ＮＯ）、ＣＰＵ３４は、Ｓ１１０に戻る。
【００４４】
ここで図７を用いて、基準値Ｎの制御処理を説明する。ＣＰＵ３４は、まず、１のブロックデータを辞書符号化した結果、新規登録色数がゼロだったかを判定する（Ｓ２１０）。なお、他の実施形態におけるＳ２１０の判定は、新規登録色数が所定数以下だったか、という基準でもよい。本実施形態は、上記の所定数がゼロの場合である。
【００４５】
新規登録色数が１以上だった場合（Ｓ２１０，ＮＯ）、ＣＰＵ３４は、現状の基準値Ｎから新規登録色数を減算した値を、新たな基準値Ｎの値として採用して（Ｓ２２０）、基準値Ｎの制御処理を終える。
【００４６】
一方、新規登録色数がゼロだった場合（Ｓ２１０，ＹＥＳ）、ＣＰＵ３４は、現状の基準値ＮがＮｍａｘ未満であるかを判定する（Ｓ２３０）。Ｎｍａｘは、予め定められた基準値Ｎの上限値である。
【００４７】
現状の基準値ＮがＮｍａｘに等しい場合（Ｓ２３０，ＮＯ）、ＣＰＵ３４は、基準値Ｎの値を維持して、基準値Ｎの制御処理を終える。一方、現状の基準値ＮがＮｍａｘ未満である場合（Ｓ２３０，ＹＥＳ）、ＣＰＵ３４は、現状の基準値Ｎに１を加算した値を、新たな基準値Ｎの値として採用して（Ｓ２４０）、基準値Ｎの制御処理を終える。
【００４８】
一方、図３に示すように、ブロック内の全画素が符号化される前に、新規登録色数が基準値Ｎよりも大きくなった場合（Ｓ１４０，ＹＥＳ）、ＣＰＵ３４は、Ｓ１２０でのバックアップを利用して、辞書を復元する（Ｓ２８０）。なお、Ｓ１４０においてＹＥＳと判定された場合、ブロックデータを取得した段階において、未登録色数はＮよりも大きかったことになる。
【００４９】
次に、ＣＰＵ３４は、タグ信号を、非可逆符号化を示す値に設定する（Ｓ２９０）。具体的には、タグ信号を０に決定する。なお、他の実施形態においては、非可逆符号化を示す値が１であり、辞書符号化を示す値が０でもよい。続いてＣＰＵ３４は、非可逆符号化を実施し（Ｓ２９５）、その後、Ｓ２９８に進む。
【００５０】
本実施形態においては、非可逆符号化としてハールウェーブレット変換を採用する。図８は、ハールウェーブレット変換および逆変換の演算を示す。本実施形態においてはブロックが８×８画素であるので、入力画素データは８×８画素であるが、図８では説明を簡単にするために、入力画素データが２×２画素の場合を示している。演算は加減算およびシフト演算のみである。入力画素データとしてのＡ０〜Ａ３の４画素は、これらのＤＣ成分（ＬＬ）と、水平エッジ成分（ＨＬ）と、垂直エッジ成分（ＬＨ）と、斜めエッジ成分（ＨＨ）との４つに変換される。
【００５１】
図９は、本実施形態における実際のハールウェーブレット変換の様子を示す。図９に示すように、ＣＰＵ３４は、ＤＣ成分（ＬＬ）を対象に、階層的に３回、変換を実行する。これによって、入力画素データは、１０のサブバンドに分割される。なお、他の実施形態として、ブロックが４×４画素の場合は、２回の実行によって７つに分割されてもよい。
【００５２】
なお、変換後における情報量としてのエントロピーの低下幅は、写真のような自然画像では、一般的に偏りが生じる。具体的には、ＬＬ３のエントロピーの低下は少ない一方、高域成分（例えばＨＨ１）のエントロピーは２〜４ビット程度、低下することが確認されている。
【００５３】
ＣＰＵ３４は、上記のように変換された各成分を量子化する。量子化は基本的に除算であるが、本実施形態では、ハードウエアで実施する形態も想定して、除算を使わないシフト演算で可能な値とした。具体的には、入力値がｘである場合における量子化値Ｑ（ｘ）は下記の式で計算される。関数ｉｎｔは、小数点以下を切り捨てて整数部分のみを取る演算子である。
Ｑ（ｘ）＝ｉｎｔ｛（ｘ＋ＱＳ／２）／ＱＳ｝
【００５４】
周波数成分が高ければ高いほど、圧縮率を高くしてもヒトの視覚には知覚されにくいので、本実施形態においては、高域成分ほど量子化シフト値ＱＳとして大きな値を採用する。ＱＳの値の具体例を図１０に示す。図１０は、ｑ０、ｑ１、ｑ２の３種類のテーブルを用意する場合の例を示す。ｑ１は、ｑ０に比べて、ＨＬ２，ＬＨ２，ＨＨ２及びＨＬ１，ＬＨ１，ＨＨ１に対応付けられたＱＳの値が小さいので、画質が良好になる。同様に、ｑ２は、ｑ１に比べて、ＨＬ１，ＬＨ１，ＨＨ１に対応付けられたＱＳの値が小さいので、画質が良好になる。例えばｑ０を用いた場合、全体としてブロックデータの平均エントロピーは大幅に低下する傾向にあり、約１／６に減少する場合もある。
【００５５】
ＣＰＵ３４は、量子化後の各成分を、各々の生起確率に応じた可変長符号に変換して出力する。ＣＰＵ３４は、上記の可変長符号の先頭に、Ｓ２９０において設定したタグ信号を付与する。
【００５６】
上記に説明したように、ＣＰＵ３４は、ブロックデータ毎に辞書符号化および非可逆符号化の何れかによって符号化を実施し、全てのブロックデータを符号化すると（Ｓ２９８，ＹＥＳ）、符号データが完成するので、画像符号化処理を終える。
【００５７】
ここで、図２と共に述べた復号（Ｓ４００）について説明する。図１１は、復号部４００の内部構成を示すブロック図である。本実施形態における復号部４００は、ハードウエアによって構成される。復号部４００は、符号化モード判定部４１０と、辞書復号部４２０と、非可逆復号部４３０と、復号画素選択部４４０と、ブロック／ラスター変換部４５０とを備える。
【００５８】
符号化モード判定部４１０は、符号データから符号化モード判定ビットとしてのタグ信号を検出する。この検出によって、符号化モード判定部４１０は、後続の符号データが、辞書符号化されたものか、非可逆符号化されたものかを判定する。符号化モード判定部４１０は、辞書符号化モードと判定した場合、辞書復号部４２０をイネーブル状態にすると共に、復号画素選択部４４０を制御して、辞書復号部４２０の復号画素ブロックデータをブロック／ラスター変換部４５０に送る。
【００５９】
一方、符号化モード判定部４１０は、非可逆符号化モードと判定した場合、非可逆復号部４３０をイネーブル状態にすると共に、非可逆復号部４３０の復号画素ブロックデータを、復号画素選択部４４０を介して、ブロック／ラスター変換部４５０に送る。
【００６０】
ブロック／ラスター変換部４５０は、復号画素ブロックデータをラスター変換して印刷部６００に出力する。
【００６１】
以上に説明した本実施形態によれば、辞書符号化モードにおいて、直近に出現した色が辞書に登録されるので、色の構成が類似しているブロックデータが連続する場合、新規登録色数が少なくなることによって辞書符号化が選択される可能性が高くなるため、符号化の圧縮率が向上する。特に同じ色が連続する場合、１ビットの符号で連続して符号化できるので、圧縮率が特に向上する。
【００６２】
さらに、符号化モードを選択する際、辞書に登録されている色を除外し、８ビットの非圧縮データとしての符号の出力が必要な色のみの数で評価するため、可逆モードが符号化されるブロックが増加する。ひいては、復号画像の品質が向上する。
【００６３】
さらに、出現した色を辞書インデックスの先頭（つまり辞書インデックス０）に移動させ、且つ、辞書インデックスがより若い番号に、より短い符号を割り当てる可変長符号化を行うことによって、出現頻度が高い色ほど、短い符号によって符号化される。このため、符号データの情報量が削減されやすくなる。
【００６４】
さらに、基準値Ｎの制御処理によって、基準値Ｎを未登録色数（つまり新規登録色数）に応じて変更することによって、非可逆符号化による劣化が目立ちやすい色数の少ない線画、テキスト等の画像は可逆で符号化され、可逆符号化では圧縮率が悪化する自然画像等の色数の多い画像は非可逆で符号化されるため、辞書符号化と非可逆符号化とのバランスを取ることができる。つまり、圧縮率と画質とのバランスを取ることができる。
【００６５】
具体的には、新規登録色数が１以上だった場合（Ｓ２１０，ＮＯ）、新規登録色数の数が多ければ多いほど、辞書符号化による圧縮率は低下する。このため、次のブロックデータでは、非可逆符号化が選択されやすくなるように基準値Ｎを変更することが好ましい。本実施形態では、これをＳ２２０によって実現している。さらに、新規登録色数がゼロだった場合（Ｓ２１０，ＹＥＳ）、圧縮率および画質ともに良好な符号化が実現された訳であるので、引き続き辞書符号化が実行されることが好ましい。本実施形態では、これをＳ２４０によって実現している。但し、基準値Ｎが大きくなり過ぎた状態で、未登録色数が多いブロックデータを取得すると、圧縮率が大幅に低下する虞がある。このため、基準値Ｎには上限値としてＮｍａｘが定められている。
【００６６】
実施形態２を説明する。実施形態２の説明は、実施形態１と異なる点を主な対象とする。特に説明しない点については、実施形態１と同じである。実施形態２においては、汎用のコンピューターではなく、ハードウエアによって実施形態１と同等の符号化を実現する。図１２は、画像符号化装置３０が備える符号部１００を示すブロック図である。
【００６７】
符号部１００は、画像データ取得部１１１と、ラスター／ブロック変換部１１２と、画像特性判定部１１３と、画素データ辞書１１４と、辞書符号化部１１５と、非可逆符号化部１１６と、符号データ選択部１１７と、多重化部１１８とを備える。
【００６８】
画像データ取得部１１１は、印刷対象となる画像データを取得する。ラスター／ブロック変換部１１２は、入力された画像データからブロックデータを作成する。作成されたブロックデータは、画像特性判定部１１３、辞書符号化部１１５および非可逆符号化部１１６に送られる。
【００６９】
画像特性判定部１１３は、ラスター／ブロック変換部１１２から出力されるブロックデータを受け取り、符号化モードを決定する。画像特性判定部１１３は、その結果をタグ信号として出力する。符号化モードとは、実施形態１で説明したように、辞書符号化モード及び非可逆符号化モードのことである。符号化モードの決定には、画素データ辞書１１４が用いられる。
【００７０】
具体的には、画像特性判定部１１３は、ブロックデータを構成する６４画素に、何種類の色が含まれているかカウントする。但し、画素データ辞書１１４に登録されている色と同色値は、カウントから除外される。つまり、カウントされる色の数は、画素データ辞書１１４の未登録色数を示している。
【００７１】
符号データ選択部１１７は、上記のカウント値が基準値Ｎ以下である場合、辞書符号化部１１５の符号データを多重化部１１８に入力する。符号データ選択部１１７は、上記のカウント値が基準値Ｎよりも大きい場合、非可逆符号化部１１６の符号データを多重化部１１８に入力する。
【００７２】
辞書符号化部１１５について説明する。図１３は、辞書符号化部１１５の構成例を示すブロック図である。辞書符号化部１１５は、入力画素データを１つずつ符号に変換する。
【００７３】
まず、辞書符号化部１１５は、入力ブロック画像の最初の画素データを符号化する前に、画素データ辞書１１４から画素データをシフトレジスター１２１にロードする。シフトレジスター１２１は、４段で構成され、異なる４つの色が格納される。図示の例では、レジスター０〜３に色Ｃ０、Ｃ１、Ｃ２、Ｃ３が格納されている。シフトレジスター１２１は、実施形態１で説明した辞書として機能する。
【００７４】
続いて、ブロックデータから色が１つ入力されると、比較部１２２は、レジスター０〜３の色と比較する。比較部１２２は、図５と共に説明した例と同様に、色が一致した場合は、その一致したレジスターの番号を辞書インデックスとして、可変長符号化部１２３に入力する。さらに、比較部１２２は、一致した色Ｃ２をレジスター０に移動し、レジスター０および１に格納されていた色Ｃ０、Ｃ１を、各々レジスター１，２に移動させる。
【００７５】
一方、入力された色が色Ｃｘでレジスター０〜３に登録されていない場合、比較部１２２は、エスケープ符号を可変長符号化部１２３に入力する。本実施形態におけるエスケープ符号は、辞書インデックス０〜３と重複しないように、４として定められている。さらに、図５と共に説明した例と同様に、入力色Ｃｘをレジスター０に格納し、レジスター０，１，２に格納されていた色Ｃ０，Ｃ１，Ｃ２を、各々レジスター１，２，３に移動させる。
【００７６】
可変長符号化部１２３は、図４に示したように、入力された辞書インデックスに対応する可変長符号を出力する。可変長符号化部１２３は、辞書インデックス４が入力された場合、可変長符号として０００１を出力する。
【００７７】
上記のように入力色が辞書にない場合は、復号部４００の辞書復号部４２０に登録させるため、符号多重化部１２４が、色Ｃｘの可逆符号をエスケープ符号の直後に続けて出力する。この符号パッキングを符号多重化部１２４が実行する。
【００７８】
非可逆符号化部１１６について説明する。図１４は、非可逆符号化部１１６の構成例を示すブロック図である。非可逆符号化部１１６は、ハール変換部１３１と、量子化部１３２と、第２可変長符号化部１３３とを備える。ハール変換部１３１は、実施形態１で説明したハールウェーブレット変換を実行する。量子化部１３２は、実施形態１で説明した量子化を実行する。第２可変長符号化部１３３は、量子化後の各成分を、各々の生起確率に応じた可変長符号に変換して出力する。
【００７９】
以上に説明した本実施形態によれば、符号化をハードウエアで実現できるので、高速な符号化が可能になる。
【００８０】
本開示は、本明細書の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現できる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、先述の課題の一部又は全部を解決するために、或いは、先述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせができる。その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除できる。例えば、以下の実施形態が例示される。
【００８１】
非可逆符号化の手法は、ベクトル量子化やウェーブレット変換を用いた手法でもよいし、ＡＤＣＴでもよい。ＡＤＣＴは、Adaptive Discrete Cosine Transformの頭字語であり、適応型離散コサイン変換のことである。
【００８２】
画像復号化装置は、プリンターでなくてもよい。例えば、画像や動画を画面に表示する表示装置でもよい。また、画像符号化装置と画像復号化装置との通信に有線を用いてもよい。
【００８３】
実施形態においては、符号データが完成してから、符号データの送信を実施していたが、１つのブロックデータの符号化が済み次第、順次、符号データを送信するようにしてもよい。
【００８４】
基準値Ｎの制御処理は、実施しなくてもよい。この場合、基準値Ｎは、予め定められた固定値にしてもよい。
【００８５】
上記実施形態において、ソフトウエアによって実現された機能及び処理の一部又は全部は、ハードウエアによって実現されてもよい。また、ハードウエアによって実現された機能及び処理の一部又は全部は、ソフトウエアによって実現されてもよい。ハードウエアとしては、例えば、集積回路、ディスクリート回路、又は、それらの回路を組み合わせた回路モジュールなど、各種回路を用いてもよい。
【符号の説明】
【００８６】
２０…画像符号化システム、３０…画像符号化装置、３２…記録媒体、３３…プログラム、３４…ＣＰＵ、３６…第１無線通信部、４０…画像復号化装置、１００…符号部、１１１…画像データ取得部、１１２…ラスター／ブロック変換部、１１３…画像特性判定部、１１４…画素データ辞書、１１５…辞書符号化部、１１６…非可逆符号化部、１１７…符号データ選択部、１１８…多重化部、１２１…シフトレジスター、１２２…比較部、１２３…可変長符号化部、１２４…符号多重化部、１３１…ハール変換部、１３２…量子化部、１３３…第２可変長符号化部、４００…復号部、４１０…符号化モード判定部、４２０…辞書復号部、４３０…非可逆復号部、４４０…復号画素選択部、４５０…ブロック／ラスター変換部、５００…第２無線通信部、６００…印刷部
【図１】
2019140477.tif 000003
【図２】
2019140477.tif 000004
【図３】
2019140477.tif 000005
【図４】
2019140477.tif 000006
【図５】
2019140477.tif 000007
【図６】
2019140477.tif 000008
【図７】
2019140477.tif 000009
【図８】
2019140477.tif 000010
【図９】
2019140477.tif 000011
【図１０】
2019140477.tif 000012
【図１１】
2019140477.tif 000013
【図１２】
2019140477.tif 000014
【図１３】
2019140477.tif 000015
【図１４】
2019140477.tif 000016