(57)【要約】【課題】高画質かつ高圧縮を実現するために効果的に符号化処理を切り換えることができるデータ処理装置を提供する。【解決手段】プリンタ装置２は、画像に含まれる画像要素の属性（クリエイション画像またはスキャン画像）に応じて、非可逆なフィルタ処理が施された画像データ、または、このフィルタ処理が施されない画像データを選択し、選択された画像データに対して可逆な符号化処理を施す。上記フィルタ処理は、画素値を変換して符号化処理を効率化させるものであり、プリンタ装置２は、フィルタ処理の採否により可逆圧縮／非可逆圧縮の切換えを動的に行い、局所的な画像特性に応じた圧縮処理を行う。【選択図】          図２
2005006257.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データの画素値を変換する画素値変換手段と、
入力された画像データに含まれる画像要素に応じて、前記画素値変換手段による画素値の変換量を変化させる制御手段と、
前記画素値変換手段により少なくとも一部の画素値が変換された画像データを符号化する符号化手段と
を有するデータ処理装置。
【請求項２】
前記制御手段は、前記画像要素を構成する画素値のパターンに基づいて、前記画素値変換手段による画素値の変換量を変化させる
請求項１に記載のデータ処理装置。
【請求項３】
前記画像要素の属性情報を取得する属性取得手段
をさらに有し、
前記制御手段は、前記属性取得手段により取得された属性情報に基づいて、前記画素値変換手段による画素値の変換量を変化させる
請求項１に記載のデータ処理装置。
【請求項４】
前記属性取得手段は、前記画像要素がフォント画像、コンピュータグラフィック画像、または光学読取画像であることを示す属性情報を少なくとも取得し、
前記制御手段は、光学読取画像であることを示す属性情報が取得された場合には、フォント画像またはコンピュータグラフィック画像であることを示す属性情報が取得された場合よりも画素値の変換量を多くする
請求項３に記載のデータ処理装置。
【請求項５】
前記制御手段は、光学読取画像であることを示す属性情報が取得された場合に、前記画素値変換手段による画素値の変換を許可し、フォント画像またはコンピュータグラフィック画像であることを示す属性情報が取得された場合に、前記画素値変換手段による画素値の変換を禁止する
請求項４に記載のデータ処理装置。
【請求項６】
前記制御手段は、画像要素に施された拡大処理に応じて、前記画素値変換手段による画素値の変換量を変化させる
請求項１〜５のいずれかに記載のデータ処理装置。
【請求項７】
前記画素値変換手段は、入力された画像データの画素値を互いに異なる量だけ変換する複数のフィルタ処理手段を含み、
前記制御手段は、入力された画像データに含まれる画素要素に応じて、いずれかの前記フィルタ処理手段により画素値が変換された画像データを用いて、符号データを生成させる
請求項１〜６のいずれかに記載のデータ処理装置。
【請求項８】
前記符号化手段により符号化された符号データの符号量が基準値以下になるように、前記画素値変換手段による画素値の変換量を制御する符号量制御手段
をさらに有する
請求項１〜７のいずれかに記載のデータ処理装置。
【請求項９】
前記符号化手段は、画像データに対して可逆符号化処理を施して符号データを生成する
請求項１〜８のいずれかに記載のデータ処理装置。
【請求項１０】
前記符号化手段は、注目画素の近傍に位置する参照画素の画素値を参照して、注目画素の画素値を符号化し、
前記画素値変換手段は、前記注目画素の画素値が前記参照画素の画素値と一致する確率を高くするように、前記注目画素の画素値を変換する
請求項１〜９のいずれかに記載のデータ処理装置。
【請求項１１】
前記画素値変換手段は、前記画素値の変換処理として、前記画像データに含まれる注目画素の画素値を変更し、画素値の変更により生じた変更量を周辺画素に分配する
請求項９または１０に記載のデータ処理装置。
【請求項１２】
前記符号化手段により符号化された符号データを、前記符号化処理に対応する伸張処理で伸長する伸長手段と、
前記伸長手段により伸長された画像データに基づいて画像をシートに形成する画像形成手段と
をさらに有する請求項１〜１１のいずれかに記載のデータ処理装置。
【請求項１３】
入力された画像データの画素値を変換する画素値変換手段と、
入力された画像データに対して施された拡大処理に応じて、前記画素値変換手段による画素値の変換量を変化させる制御手段と、
前記画素値変換手段により画素値が変換され、または、変換されない画像データを符号化する符号化手段と
を有するデータ処理装置。
【請求項１４】
入力された画像データに含まれる画像要素に応じて、この画像データの画素値を変換し、
少なくとも一部の画素値が変換された画像データを符号化する
データ処理方法。
【請求項１５】
コンピュータを含むデータ処理装置において、
入力された画像データの画素値を変換する画素値変換機能と、
入力された画像データに含まれる画像要素に応じて、前記画素値変換機能による画素値の変換量を変化させる制御機能と、
前記画素値変換機能により少なくとも一部の画素値が変換された画像データを符号化する符号化機能と
を前記データ処理装置のコンピュータに実現させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データの符号化を行うデータ処理装置に関する。例えば、１つの画像内で圧縮処理を切り換えるデータ処理装置に関する。
【０００２】
【従来の技術】
画像データの圧縮方式には可逆符号化方式と非可逆符号化方式とがある。可逆符号化方式は、圧縮伸長を繰り返しても画質は劣化しないが、階調変化が多様なスキャン画像などを十分に圧縮することができない。一方、非可逆符号化方式は、このようなスキャン画像を高い圧縮率で圧縮できるが圧縮伸長を繰り返すと画質が劣化する。そこで、効率のよい圧縮を行うために、これらの圧縮方式を適宜切り換える方法が提案されている。
例えば、特許文献１は、非可逆圧縮符号化方式であるＪＰＥＧ（Ｂａｓｅｌｉｎｅ  Ｓｙｓｔｅｍ）と、可逆圧縮符号化方式であるＪＰＥＧロスレス方式（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｆｕｎｃｔｉｏｎ）との中から圧縮率の高い方を選択することを開示する。
また、特許文献２および特許文献３は、符号化済みのデータの発生符号量を監視し、この発生符号量に応じて可逆符号化または非可逆符号化を選択することを開示する。
【０００３】
【特許文献１】
特開平１０−０７５３７０号公報
【特許文献２】
特開平９−１４９２６０号公報
【特許文献３】
特開平１０−２０７６４５号公報
【０００４】
【発明が解決しようとする課題】
本発明は、上述した背景からなされたものであり、高画質かつ高圧縮を実現するために効果的に符号化処理を切り換えるデータ処理装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
［データ処理装置］
上記目的を達成するために、本発明にかかるデータ処理装置は、入力された画像データの画素値を変換する画素値変換手段と、入力された画像データに含まれる画像要素に応じて、前記画素値変換手段による画素値の変換量を変化させる制御手段と、前記画素値変換手段により少なくとも一部の画素値が変換された画像データを符号化する符号化手段とを有する。
【０００６】
好適には、前記制御手段は、前記画像要素を構成する画素値のパターンに基づいて、前記画素値変換手段による画素値の変換量を変化させる。
【０００７】
好適には、前記画像要素の属性情報を取得する属性取得手段をさらに有し、前記制御手段は、前記属性取得手段により取得された属性情報に基づいて、前記画素値変換手段による画素値の変換量を変化させる。
【０００８】
好適には、前記属性取得手段は、前記画像要素がフォント画像、コンピュータグラフィック画像、または光学読取画像であることを示す属性情報を少なくとも取得し、前記制御手段は、光学読取画像であることを示す属性情報が取得された場合には、フォント画像またはコンピュータグラフィック画像であることを示す属性情報が取得された場合よりも画素値の変換量を多くする。
【０００９】
好適には、前記制御手段は、光学読取画像であることを示す属性情報が取得された場合に、前記画素値変換手段による画素値の変換を許可し、フォント画像またはコンピュータグラフィック画像であることを示す属性情報が取得された場合に、前記画素値変換手段による画素値の変換を禁止する。
【００１０】
好適には、前記制御手段は、画像要素に施された拡大処理に応じて、前記画素値変換手段による画素値の変換量を変化させる。
【００１１】
好適には、前記画素値変換手段は、入力された画像データの画素値を互いに異なる量だけ変換する複数のフィルタ処理手段を含み、前記制御手段は、入力された画像データに含まれる画素要素に応じて、いずれかの前記フィルタ処理手段により画素値が変換された画像データを用いて、符号データを生成させる。
【００１２】
好適には、前記符号化手段により符号化された符号データの符号量が基準値以下になるように、前記画素値変換手段による画素値の変換量を制御する符号量制御手段をさらに有する。
【００１３】
好適には、前記符号化手段は、画像データに対して可逆符号化処理を施して符号データを生成する。
【００１４】
好適には、前記符号化手段は、注目画素の近傍に位置する参照画素の画素値を参照して、注目画素の画素値を符号化し、前記画素値変換手段は、前記注目画素の画素値が前記参照画素の画素値と一致する確率を高くするように、前記注目画素の画素値を変換する。
【００１５】
好適には、前記画素値変換手段は、前記画素値の変換処理として、前記画像データに含まれる注目画素の画素値を変更し、画素値の変更により生じた変更量を周辺画素に分配する。
【００１６】
好適には、前記符号化手段により符号化された符号データを、前記符号化処理に対応する伸張処理で伸長する伸長手段と、前記伸長手段により伸長された画像データに基づいて画像をシートに形成する画像形成手段とをさらに有する。
【００１７】
また、本発明にかかるデータ処理装置は、入力された画像データの画素値を変換する画素値変換手段と、入力された画像データに対して施された拡大処理に応じて、前記画素値変換手段による画素値の変換量を変化させる制御手段と、前記画素値変換手段により画素値が変換され、または、変換されない画像データを符号化する符号化手段とを有する。
【００１８】
［データ処理方法］
また、本発明にかかるデータ処理方法は、入力された画像データに含まれる画像要素に応じて、この画像データの画素値を変換し、少なくとも一部の画素値が変換された画像データを符号化する。
【００１９】
［プログラム］
また、本発明にかかるプログラムは、コンピュータを含むデータ処理装置において、入力された画像データの画素値を変換する画素値変換機能と、入力された画像データに含まれる画像要素に応じて、前記画素値変換機能による画素値の変換量を変化させる制御機能と、前記画素値変換機能により少なくとも一部の画素値が変換された画像データを符号化する符号化機能とを前記データ処理装置のコンピュータに実現させる。
【００２０】
［フィルタ処理および符号化処理］
次に、上記フィルタ処理（画素値変換処理）および符号化処理の具体例を説明する。なお、以下に示す例は、本発明を具体化して、その理解を助けることを意図したものであって、本発明の技術的範囲の限定を意図するものではない。
フィルタ処理手段は、画像データにおける注目画素の画素値を変更する画素値変更手段と、画素値変更手段にて生じた誤差値を周辺画素に分配する誤差分配手段とを有し、符号化処理手段は、画素値変更手段により変更された画素値を符号化する。画素値変更手段は、画像符号化手段における符号量を減少させるように画素値を変更する。
前記画像符号化手段は、例えば可逆符号化であり、より具体的には予測符号化である。
【００２１】
また、前記画素値変更手段は、前記画像符号化手段の予測が外れた場合にのみ画素値を変更してもよい。
誤差分配手段は、例えば誤差拡散法により誤差値を分配する。なお、前記誤差分配手段は、平均誤差最小法により誤差を分配してもよい。
画素値変更手段は、既定値以上の誤差値が生じる変更を実施しない。
また、画素値変更手段は、前記画像符号化手段の予測部と同一の予測部を用いて注目画素の画素値を予測し、注目画素の画素値を予測された画素値に変更する。なお、画像符号化手段は、画像データ全体に対する画素値の変更が行なわれた後に符号化を実施してもよいし、画像の一部に対する画素値の変更が行なわれるごとに符号化を実施してもよい。
より具体的には、画像符号化手段は、画像を入力する画像入力手段と、上記画像入力手段により入力した画像内の符号化対象である注目画素の画素値を、それぞれ異なる予測手法で予測する複数の画素値予測手段と、上記画像入力手段により入力した画像内の注目画素の画素値と所定の予測手法で予測された予測値との誤差を算出する予測誤差算出手段と、上記複数の画素値予測手段により予測した画素値と注目画素の画素値とが一致するか否かを判断する一致判断手段と、上記一致判断手段の判断出力に基づいて、上記一致判断手段により一致すると判断された画素値予測手段を識別する識別情報と、上記予測誤差算出手段により算出された誤差とを、択一的に出力する選択手段と、上記選択手段により出力された識別情報及び誤差を符号化する誤差符号化手段と、上記符号化手段により符号化された符号を出力する出力手段とを具備する。
なお、上記注目画素は、画像に含まれる１以上の画素、すなわち、処理対象として注目される画素の単位を意味する。
【００２２】
【発明の実施の形態】
［背景］
まず、本発明の理解を助けるために、本発明がなされるに至った背景を説明する。
プリンタなどにおいて、印刷のプロセススピードを維持したままラスタデータを供給するためには、画像データのデータ量を制御する必要がある。データ量を制御する方法としては、各種圧縮処理により画素データを符号化する方法がある。例えば、写真など不均一な光の下で光学的に読み取られた画像（以下、スキャン画像）は、階調変化が多様で画素値のパターン（画素値の変化）が一定しないため、ＪＰＥＧなどの非可逆な圧縮処理でなければ十分な圧縮率が得られない。また、フォント画像やＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）画像などは、コンピュータにより生成された画像（以下、クリエイション画像）であるため画素値パターンに規則性があり、予測符号化などの可逆な圧縮処理を施すことにより符号量を十分に低減させることができる。
また、クリエイション画像は、スキャン画像に比べてエッジ領域が多いため、高周波成分が失われると画質が劣化する。そのため、クリエイション画像については、非可逆圧縮処理を適用するよりも、可逆圧縮処理を適用する方が望ましい。
【００２３】
近年、画像編集などにより、スキャン画像とクリエイション画像とを画像要素として混在させた画像が多く作成され印刷等されるようになってきた。しかしながら、このような混在画像に関しても、通信網や記録媒体などの帯域に適合させるために画像データ全体のデータ量に着目して圧縮されることはあったが、それぞれの画像要素の特性に応じた圧縮処理はなされていない状況であった。ここで、画像要素とは、画像としての特性（画素値の繰返しの頻度、または、エッジ量など）により区別される画像の構成部分であり、例えば、スキャン画像、フォント画像、ＣＧ画像、、または余白などである。
つまり、画像全体の圧縮率を制御するために可逆圧縮処理と非可逆圧縮処理とを切り換える技術は提案されているが、これは局所的な画像要素の特性に応じて圧縮方式を切り換えるわけではないので、それぞれの画像要素に適合しない圧縮処理が施され、画質が劣化するという問題があった。
【００２４】
そこで、本発明にかかるデータ処理装置は、画像の局所的な特性に応じて圧縮方式を切り換えて、画質を保持しつつ画像データの高圧縮を可能にする。
【００２５】
また、１枚の画像中で単に可逆圧縮／非可逆圧縮を切り換えると、生成された符号データを伸長する時に、伸長処理の方式を同一画像内で切り換える必要がある。また、その切換えのためには、何らかの切換え情報を符号データに埋め込む必要がでてくる。
そこで、本発明にかかるデータ処理装置は、圧縮処理の前段で非可逆なフィルタ処理を行い、その後段で可逆な符号化処理を行うよう構成され、フィルタ処理の採否により可逆／非可逆を切り換える。この場合のフィルタ処理は、符号化処理の効率化を目的とするものであるが、視認性を損なわない程度に画素値を変換するものである。そのため、フィルタ処理および符号化処理の組合せにより非可逆圧縮された画像データは、この符号化処理に対応する伸長処理が施されるだけで、視認可能な画像データに伸長される。したがって、本発明のデータ処理装置は、可逆圧縮処理および非可逆圧縮処理のいずれを適用した場合であっても、同一の伸長処理により画像データを復号化することができる。
【００２６】
［第１の実施形態］
次に、本発明の第１の実施形態を説明する。
図１は、本発明にかかるプリンタ装置２（データ処理装置）のハードウェア構成を、制御装置２０を中心に例示する図である。
図１に示すように、プリンタ装置２は、制御装置２０およびプリンタ本体２６から構成される。制御装置２０は、ＣＰＵ２１２およびメモリ２１４などを含む制御装置本体２１０、通信装置２２０、ＬＣＤ表示装置あるいはＣＲＴ表示装置およびキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２５０、および、ＨＤＤ・ＣＤ装置などの記録装置２４０から構成される。
【００２７】
［画像処理プログラム］
図２は、第１の画像処理プログラム５の機能構成を説明する図である。
図２に示すように、画像処理プログラム５は、ＰＤＬデコンポーザ５００、フィルタ処理部５１０、属性取得部５２０、制御部５３０、データ選択部５４０、可逆圧縮部５５０、画像蓄積部５６０、伸長部５７０、および印刷部５８０を有する。
画像処理プログラム５は、例えば記録媒体２４２（図１）を介して制御装置２０に供給され、メモリ２１４にロードされて実行される。なお、画像処理プログラム５は、その一部がドライバソフトとしてクライアント端末にインストールされ、互いに協働して本実施形態で説明する機能を実現してもよい。
【００２８】
画像処理プログラム５において、ＰＤＬデコンポーザ５００は、他のアプリケーションソフト（画像編集ソフトなど）からＰＤＬファイルを取得し、ラスタライズしてフィルタ処理部５１０およびデータ選択部５４０に対して出力する。
【００２９】
フィルタ処理部５１０は、ＰＤＬデコンポーザ５００から入力された画像データ（ラスタデータ）に対して、非可逆なフィルタ処理を施し、データ選択部５４０に対して出力する。例えば、フィルタ処理部５１０は、可逆圧縮部５５０による符号化処理の符号量を小さくすべく画素値を変更する。すなわち、可逆圧縮部５５０が所定の予測方法を用いた予測符号化（ＪＰＥＧ  ｉｎｄｅｐｅｎｄｅｎｔ、ｇｚｉｐ、ＬＺ符号化、ＪＰＥＧ−ＬＳなど）を行う場合には、フィルタ処理部５１０は、上記予測方法による予測確率が向上するように各画素の画素値を変更する。また、可逆圧縮部５５０がＬＺなどのユニバーサル符号化を行う場合には、フィルタ処理部５１０は、参照する符号化辞書の長いデータに一致するよう各画素の画素値を変更し、可逆圧縮部５５０が連長符号化を行う場合には、フィルタ処理部５１０は、同一画素値が連続するように画素値を変更する。また、可逆圧縮部５５０が算術符号化を行う場合には、フィルタ処理部５１０は、算術符号化で優勢（出現確率が高い）シンボルが得られるように各画素の画素値を変更する。
この場合に、フィルタ処理部５１０は、画像データに含まれる画素群の画素値を、画像として視認できる程度に変更する。
【００３０】
属性取得部５２０は、ＰＤＬデコンポーザ５００から画像要素の属性データを取得して、制御部５３０に対して出力する。ここで、画像要素の属性データとは、ＰＤＬファイルなどの画像データに含まれる画像要素の種類（フォント、ＣＧ画像、スキャン画像など）、または、この画像要素に対して施された拡縮処理に関する情報（拡大倍率、補間方法など）などを示すデータである。属性取得部５２０は、取得された属性データを、対応する画像要素のラスタデータに対応付けて制御部５３０に対して出力する。
【００３１】
制御部５３０は、属性取得部５２０から入力された属性データに基づいて、それぞれの画像要素に対して適用する符号化方式を決定し、データ選択部５４０に対して指示する。本例では、制御部５３０は、入力された属性データがフォント画像またはＣＧ画像であることを示す場合に、ＰＤＬデコンポーザ５００から直接入力された画像データ（フィルタ処理が施されていない画像データ）を選択するようデータ選択部５４０を制御し、入力された属性データがスキャン画像であることを示す場合に、フィルタ処理部５１０から入力された画像データ（フィルタ処理が施された画像データ）を選択するようデータ選択部５４０を制御する。
【００３２】
データ選択部５４０は、制御部５３０の制御に応じて、ＰＤＬデコンポーザ５００から入力された画像データ（フィルタ処理が施されていない画像データ）、または、フィルタ処理部５１０から入力された画像データ（フィルタ処理が施された画像データ）を選択し、可逆圧縮部５５０に対して出力する。なお、フィルタ処理部５１０およびデータ選択部５４０の組合せは、画素値変換手段の一例である。
【００３３】
可逆圧縮部５５０は、データ選択部５４０から入力された画像データに対して、可逆な符号化処理を施し、符号データを生成する。すなわち、可逆圧縮部５５０は、フィルタ処理部５１０によりフィルタ処理が施された画像データを可逆圧縮し、画像蓄積部５６０に格納する。
【００３４】
伸長部５７０は、画像蓄積部５６０から符号データを読み出し、可逆圧縮部５５０による符号化方式に対応する伸長処理を施して印刷部５８０に対して出力する。
印刷部５８０は、伸長部５７０から入力された画像データを、プリンタ本体２６（図１）のプリントエンジン（不図示）を制御して用紙上に印刷する。
【００３５】
図３は、フィルタ処理部５１０の機能構成をより詳細に説明する図である。
図３に示すように、フィルタ処理部５１０は、第１予測部５１２ａ、第２予測部５１２ｂ、画素値変更処理部５１４、および誤差分配処理部５１６を有する。なお、本実施形態では、２つの予測部５１２（第１予測部５１２ａおよび第２予測部５１２ｂ）を有する形態を説明するが、予測部５１２は１つ以上あればよく、例えば、５つの予測部５１２により構成されてもよい。
【００３６】
第１予測部５１２ａおよび第２予測部５１２ｂは、それぞれ所定の手法で画像データに基づいて注目画素の画素値を予測し、予測値として画素値変更処理部５１４に対して出力する。例えば、第１予測部５１２ａおよび第２予測部５１２ｂは、それぞれ異なる位置にある画素の画素値を、注目画素の予測値とする。
画素値変更処理部５１４は、注目画素の画素値と予測値とを比較し、その差が予め設定された変更許容値より小さい場合には予測値を、データ選択部５４０に対して出力し、さらに、注目画素の画素値と予測値との差分（以下、誤差値）を誤差分配処理部５１６に対して出力する。一方、画素値変更処理部５１４は、注目画素の画素値と予測値との差が変更許容値以上の場合には、注目画素の画素値をそのままデータ選択部５４０に対して出力し、誤差分配処理部５１６に対して０を出力する。すなわち、フィルタ処理部５１０は、誤差値が変更許容値以上の場合には、注目画素の画素値を変換せず、変更許容値以上の誤差値を誤差分配しない。
誤差分配処理部５１６は、画素値変更処理部５１４から入力された誤差値に基づいて、誤差分配値を生成し、画像データに含まれる所定の画素の画素値にこれを加算する。誤差分配値は、例えば、重み行列を用いた誤差拡散法や平均誤差最小法に従って、誤差値に重み行列の値を掛け合わせて算出される。
【００３７】
このように本実施形態におけるフィルタ処理部５１０は、後述する可逆圧縮部５５０が画像データを圧縮しやすように画像データに含まれる画素値を変換する。その際に、フィルタ処理部５１０は、画素値の変更により生じた真の画素値との差分を、周辺画素に分配して、画素値の変更を巨視的に目立たなくする。
【００３８】
図４は、可逆圧縮部５５０の機能構成をより詳細に説明する図である。
図４に示すように、可逆圧縮部５５０は、第１予測部５５２ａ、第２予測部５５２ｂ、予測誤差算出部５５４、選択部５５６、ラン計数部５５８、および符号化部５５９を有する。
第１予測部５５２ａおよび第２予測部５５２ｂは、図３に示した第１予測部５１２ａおよび第２予測部５１２ｂとほぼ同様に、それぞれ所定の手法で画像データに基づいて注目画素の画素値を予測し、予測値として選択部５５６に対して出力する。
予測誤差算出部５５４は、所定の手法で画像データに基づいて注目画素の画素値を予測し、その予測値を注目画素の実際の画素値から減算し、予測誤差値として選択部５５６に対して出力する。
選択部５５６は、画像データと予測値から注目画素における予測の一致／不一致を検出する。選択部５５６は、その結果、予測が的中した予測部５５２があればその識別番号を、いずれも的中しなかった場合は予測誤差値を、ラン計数部５５８および符号化部５５９に対して出力する。
【００３９】
ラン計数部５５８は、識別番号が第１予測部５５２ａを指している場合には、内部カウンタを１だけ増やす。また識別番号が第１予測部５５２ａ以外を指している場合で、かつ内部カウンタが０でない場合には、内部カウンタの値をランデータとして符号化部５５９に対して出力する。
符号化部５５９は、ランデータおよび予測誤差値が同時に与えられた場合、まずランデータを符号化してから予測誤差値を符号化する。一方、符号化部５５９は、識別番号または予測誤差値のみが与えられた場合には、識別番号または予測誤差値を符号化する。
【００４０】
なお、上記ラン計数部５５８および符号化部５５９による符号化処理は、第１予測部５５２ａの的中確率が高いことを想定した形態であるが、他の符号化方法を用いてもよい。例えば、高速復号等の目的から固定長符号を与えた場合、符号化部５５９は、第１予測部５５２ａが的中した旨を２進数「０１」、第２予測部５５２ｂが的中した旨を２進数「１０」、いずれの予測部も外れた旨を２進数「００」でそれぞれ符号化し、予測誤差を符号＋８ｂｉｔの２進数で符号化する。また、圧縮率を向上させたい場合には、符号化部５５９は、Ｈｕｆｆｍａｎ符号化、算術符号化等の可変長符号化を用いて符号化してもよい。例えば、発生確率の高そうな第１予測部５５２ａに１ｂｉｔの符号を与えたＨｕｆｆｍａｎ符号の場合、第１予測部５５２ａが的中した旨を２進数「０」、第２予測部５５２ｂが的中した旨を２進数「１０」、いずれの予測部５５２も予測が外れた旨を２進数「１１」で符号化する。また、符号化部５５９は、算術符号化を用いて符号化してもよい。このように符号化の手法はいくつも考えられる。
【００４１】
以下、プリンタ装置２の全体的な動作を説明する。
図５は、プリンタ装置２（画像処理プログラム５）の第１の動作（Ｓ１０）を示すフローチャートである。
図５に示すように、ステップ１００（Ｓ１００）において、利用者が、編集した画像データの印刷を指示すると、ＰＤＬデコンポーザ５００は、画像編集のアプリケーションプログラムからＰＤＬファイルを受け取り、受け取ったＰＤＬファイルをラスタデータに変換し、所定の処理単位毎にフィルタ処理部５１０およびデータ選択部５４０に対して出力する。処理単位は、例えば、画素、ライン、バンド、またはページなどである。
【００４２】
ステップ１１０（Ｓ１１０）において、属性取得部５２０は、ＰＤＬデコンポーザ５００から画像要素の属性データを取得し、この画像要素に対応するラスタデータに対応付けて制御部５３０に対して出力する。
制御部５３０は、属性取得部５２０から入力された属性データに基づいて、処理単位毎に画像要素の特性を判定し、処理単位のラスタデータに対して可逆符号化処理を適用するか非可逆符号化処理を適用するかを判定する。なお、処理単位の中に複数の画像要素が含まれている場合には、制御部５３０は、画像要素の種類および占有率などに基づいて、いずれの符号化処理を適用するか判定する。
【００４３】
ステップ１２０（Ｓ１２０）において、制御部５３０がこの処理単位のラスタデータに対して可逆符号化処理を適用するよう判定した場合に、データ選択部５４０は、ＰＤＬデコンポーザ５００から入力されたラスタデータ（すなわち、フィルタ処理が施されていないラスタデータ）を選択して可逆圧縮部５５０に出力し、Ｓ１４０の処理に移行する。また、制御部５３０がこの処理単位のラスタデータに対して非可逆符号化処理を適用するよう判定した場合に、画像処理プログラム５はＳ１３０の処理に移行する。
【００４４】
ステップ１３０（Ｓ１３０）において、フィルタ処理部５１０は、ＰＤＬデコンポーザ５００から入力されたラスタデータに対して非可逆なフィルタ処理を施し、データ選択部５４０に対して出力する。データ選択部５４０は、この処理単位についてフィルタ処理部５１０から入力されたラスタデータを選択し、可逆圧縮部５５０に対して出力する。
【００４５】
ステップ１４０（Ｓ１４０）において、可逆圧縮部５５０は、データ選択部５４０から入力されたラスタデータに対して可逆な符号化処理を施して、符号データを生成し、画像蓄積部５６０に対して出力する。
ステップ１５０（Ｓ１５０）において、画像蓄積部５６０は、可逆圧縮部５５０から入力された符号データを格納する。
【００４６】
ステップ１６０（Ｓ１６０）において、画像処理プログラム５は、全てのラスタデータについてＳ１１０からＳ１５０までの処理が完了したか否かを判断し、完了した場合にＳ１７０の処理に移行し、これ以外の場合にＳ１１０の処理に戻り、次の処理単位のラスタデータに対してＳ１１０からＳ１５０までの処理を行う。
【００４７】
ステップ１７０（Ｓ１７０）において、伸長部５７０は、画像蓄積部５６０から符号データを読み出して、読み出された符号データを伸長してラスタデータに変換し、印刷部５８０に対して出力する。
ステップ１８０（Ｓ１８０）において、印刷部５８０は、プリンタ本体２６（図１）のプリントエンジンを制御して、伸長部５７０から入力されたラスタデータに応じた画像を印刷させる。
【００４８】
このように、プリンタ装置２は、画像の処理単位毎に可逆符号化を適用するか非可逆符号化を適用するかを各処理単位の画像属性に基づいて判定し、符号データに変換する。これにより、プリンタ装置２は、画像の局所的な特性に応じた符号化処理を適用することができる。
【００４９】
図６は、図５のフローチャートにおける判定処理（１１０）をより詳細に説明するフローチャートである。
図６に示すように、ステップ１１２（Ｓ１１２）において、属性取得部５２０は、ＰＤＬデコンポーザ５００から画像要素の属性データを取得し、この画像要素に対応するラスタデータに対応付けて制御部５３０に対して出力する。取得される属性データには、画像要素の種類（クリエイション画像またはスキャン画像）と、この画像要素に対して施された拡大処理の倍率とが含まれている。
【００５０】
ステップ１１４（Ｓ１１４）において、制御部５３０は、属性取得部５２０から入力された属性データ（画像要素の種類）に基づいて、処理単位のラスタデータがクリエイション画像であるかスキャン画像であるか（すなわち、可逆符号化に適した画素値パターンであるか否か）を判定する。画像処理プログラム５は、処理単位のラスタデータがクリエイション画像である場合（すなわち、可逆符号化に適した画素値パターンである場合）にＳ１１９の処理に移行し、スキャン画像である場合（すなわち、非可逆符号化に適した画素値パターンである場合）にＳ１１６の処理に移行する。
【００５１】
ステップ１１６（Ｓ１１６）において、制御部５３０は、属性取得部５２０から入力された属性データ（拡大倍率）に基づいて、処理単位のラスタデータに対して既定値以上の拡大処理が施されているか否かを判定する。画像処理プログラム５は、既定値以上の拡大処理が施されていると判定した場合にＳ１１９の処理に移行し、これ以外の場合にＳ１１８の処理に移行する。
すなわち、最近傍補間法などにより基準倍率以上の拡大処理が施されている場合には、たとえスキャン画像であっても略均一の画素値が連続する可能性が高いので、画像処理プロうグラム５は、可逆符号化を適用する。
【００５２】
ステップ１１８（Ｓ１１８）において、制御部５３０は、非可逆符号化を適用することを決定し、フィルタ処理部５１０から入力されたラスタデータを選択するようデータ選択部５４０を制御する。
一方、ステップ１１９（Ｓ１１９）において、制御部５３０は、可逆符号化処理を適用することを決定し、ＰＤＬデコンポーザ５００から直接入力されたラスタデータを選択するようデータ選択部５４０を制御する。
【００５３】
図７は、図５のフローチャートにおけるフィルタ処理（Ｓ１３０）をより詳細に説明するフローチャートである。
図７に示すように、ステップ１３２（Ｓ１３２）において、フィルタ処理部５１０の第１予測部５１２ａおよび第２予測部５１２ｂは、スキャンライン（画像の横方向または縦方向等）の順に、ラスタデータに含まれる画素の１つを注目画素に設定し、注目画素の周辺にある周辺画素の画素値を参照して、注目画素の画素値を予測し、予測値として画素値変更処理部５１４に対して出力する。
ステップ１３４（Ｓ１３４）において、画素値変更処理部５１４は、注目画素の画素値と予測値との差分が既定値以内であるか否かを判断する。画像処理プログラム５は、画素値と予測値との差分が既定値以内である場合に、Ｓ１３６の処理に移行し、これ以外の場合に、Ｓ１３９の処理に移行する。
ステップ１３６（Ｓ１３６）において、画素値変更処理部５１４は、注目画素の画素値と最も近い予測値を、この注目画素の画素値としてデータ選択部５４０に対して出力し、注目画素の実際の画素値と、最も近い予測値との差分を誤差分配処理部５１６に対して出力する。
ステップ１３８（Ｓ１３８）において、誤差分配処理部５１６は、注目画素の画素値と、最も近い予測値との差分を周辺画素に分配する。
ステップ１３９（Ｓ１３９）において、画像処理プログラム５は、処理単位に含まれる全ての画素についてＳ１３２からＳ１３８までの処理が完了したか否かを判断し、完了した場合にＳ１３０の処理を終了し、これ以外の場合にＳ１３２の処理に戻り次の画素について処理を行う。
【００５４】
図８は、図５のフローチャートにおける可逆圧縮処理（Ｓ１４０）をより詳細に説明するフローチャートである。
図８に示すように、ステップ１４２（Ｓ１４２）において、可逆圧縮部５５０における第１予測部５５２ａおよび第２予測部５５２ｂは、データ選択部５４０から入力された画素値を予測する。また、予測誤差算出部５５４は、所定の予測部５５２による予測値と、実際の画素値との差分を算出し、予測誤差値として選択部５５６に対して出力する。
なお、図７に示したフィルタ処理部５１０において、画素値変更処理部５１４が、注目画素の画素値を、第１予測部５１２ａによる予測値に変更した場合には、第１予測部５５２ａの予測が的中し、第２予測部５１２ｂによる予測値に変更した場合には、第２予測部５５２ｂによる予測が的中する。すなわち、フィルタ処理部５１０によるフィルタ処理により、可逆圧縮部５５０による予測の的中率が向上する。したがって、可逆圧縮部５５０による符号化処理の圧縮率を高めることができる。
【００５５】
選択部５５６は、いずれの予測部５５２が的中したかを判断する。第１予測部５５２ａが的中した場合（Ｓ１４３：Ｙｅｓ）、選択部５５６は、第１予測部５５２ａの識別情報をラン計数部５５８に対して出力する（Ｓ１４５）。また、第２予測部５５２ｂが的中した場合（Ｓ１４３：ＮｏかつＳ１４４：Ｙｅｓ）、選択部５５６は、第２予測部５５２ｂの識別情報をラン計数部５５８および符号化部５５９に対して出力する（Ｓ１４５）。また、いずれの予測部５５２も的中しなかった場合（Ｓ１４３：ＮｏかつＳ１４４：Ｎｏ）、選択部５５６は、予測誤差算出部５５４が算出した予測誤差値をラン計数部５５８および符号化部５５９に対して出力する（Ｓ１４６）。
ステップ１４７（Ｓ１４７）において、符号化部５５９は、第１予測部５５２ａのラン情報、第２予測部５５２ｂの識別情報、または予測誤差値を符号化して画像蓄積部５６０に対して出力する。
ステップ１４８（Ｓ１４８）において、画像処理プログラム５は、処理単位に含まれる全ての画素に対して処理が完了したか否かを判断し、全ての画素に対して処理が完了したと判断した場合にＳ１４０の処理を完了し、これ以外の場合にＳ１４２の処理に移行し、次の画素に対して上記と同様にＳ１４２からＳ１４７までの処理を行う。
なお、本例では、それぞれの画素毎にフィルタ処理および可逆符号化処理を行う形態を説明したが、複数の画素から構成される画素単位毎に、フィルタ処理および可逆符号化処理が行われてもよい。また、本例のように、処理単位に含まれる全ての画素についてフィルタ処理が完了した後に可逆符号化処理に移行する必要はなく、フィルタ処理が完了した画素について順に可逆符号化処理を施してもよい。
【００５６】
以上説明したように、本実施形態におけるプリンタ装置２は、画像を構成する画像要素の属性情報を取得し、この属性情報に基づいて画像の局所的な特性に応じた符号化処理を適用することができるので、画像全体の画質を保持すると共に高い圧縮率を実現できる
【００５７】
［第２の実施形態］
次に、第２の実施形態について説明する。上記第１の実施形態におけるプリンタ装置２は、ＰＤＬファイルに含まれている画像要素の属性データに基づいて、局所的な画像特性を特定したが、本実施形態では、ラスタデータに含まれる画素値パターンを解析して局所的な画像特性を特定し、画像特性に適合した符号化処理を適用する。また、本実施形態のプリンタ装置２は、符号量の監視を行う共に、局所的な画像特性および符号量の監視結果に応じてフィルタ処理を動的に切り換える。
【００５８】
図９は、第２の画像処理プログラム５２のの機能構成を説明する図である。
図９に示すように、第２の画像処理プログラム５２は、第１の画像処理プログラム５（図２）における属性取得部５２０を解析部５２５に置換し、フィルタ処理部５１０を２つに増やすと共に、符号量制御部５６５を追加した構成をとる。なお、図９に示す各構成のうち、図２に示された構成と実質的に同一なものには同一の符号が付されている。
【００５９】
画像処理プログラム５２において、解析部５２５は、ＰＤＬデコンポーザ５００から入力されたラスタデータに基づいて、画像の一部（処理単位）に相当する画素群の画素パターンを解析し、後段の可逆圧縮に対する適合度合いを制御部５３０に対して出力する。本例の解析部５２５は、図４に示した第１予測部５５２ａおよび第２予測部５５２ｂと略同一の予測処理を処理単位毎に施し、予測の的中率を制御部５３０に対して出力する。すなわち、解析部５２５は、画像の一部について、その画素値のパターンに基づいて画像特性を解析する。
【００６０】
符号量制御部５６５は、可逆圧縮部５５０から入力された符号データの符号量を監視し、符号量が基準値よりも大きい場合に、符号量が基準値以下になるようフィルタ処理部５１０ａを制御する。本例の符号量制御部５６５は、フィルタ処理部５１０ａに設定されている変更許容値を変更することにより、フィルタ処理における画素値変換量を増減させて符号量を制御する。なお、符号量制御部５６５は、フィルタ処理部５１０ａおよびフィルタ処理部５１０ｂの両方を制御して、画素値の変換量を増減させてもよい。
【００６１】
フィルタ処理部５１０ａおよびフィルタ処理部５１０ｂは、ＰＤＬデコンポーザ５００から入力されたラスタデータに対して、互いに異なるフィルタ処理を施し、データ選択部５４０に対して出力する。例えば、フィルタ処理部５１０ａは、スキャン画像に適したフィルタ処理を施し、フィルタ処理部５１０ｂは、クリエイション画像に適したフィルタ処理を施す。本例では、２つのフィルタ処理部５１０が設けられた形態を具体例とするが、これに限定されるものではなく、３以上のフィルタ処理部５１０が設けられていてもよい。なお、本例のフィルタ処理部５１０は、物理的に区別できるフィルタ処理ユニットであるが、論理的に区別されたフィルタ処理部（つまり、フィルタのパラメータのみが異なる）であってもよい。
【００６２】
図１０は、フィルタ処理部５１０ａの構成をより詳細に説明する図である。
図１０に示すように、フィルタ処理部５１０ａは、図３に示したフィルタ処理部５１０に変更許容値設定部５１８を追加した構成をとる。なお、図１０に示した各構成のうち、図３に示した構成と実質的に同一なものには同一の符号が付されている。
フィルタ処理部５１０ａにおいて、変更許容値設定部５１８は、符号量制御部５６５からの指示に応じて、フィルタ処理における画素値の変更許容値を画素値変更処理部５１４に対して設定する。なお、画素値変更処理部５１４は、注目画素の画素値と予測値との差分が、設定された変更許容値より小さい場合には、画素値を予測値に変更すると共に、この差分を周辺画素に分配し、これ以外の場合には、画素値を変更しない。
したがって、大きい値の変更許容値が設定されるほど、画像の非可逆性は高くなるが、予測の的中率が向上するので符号量を低減させることができる。よって、符号量制御部５６５は、符号量をさらに低減させる場合には、より大きな値の変更許容値をフィルタ処理部５１０ａに出力する。
【００６３】
図１１は、プリンタ装置２（画像処理プログラム５２）の第２の動作（Ｓ１２）を示すフローチャートである。なお、図１１に示す各処理のうち、図５に示す処理と実質的に同一なものには同一の符号が付されている。
【００６４】
図１１に示すように、ステップ２００（Ｓ２００）において、解析部５２５は、ＰＤＬデコンポーザ５００により変換（Ｓ１００）されたラスタデータを取得し、取得されたラスタデータに基づいて処理単位毎に画素値パターンを解析する。
解析部５２５は、画素値パターンの解析として、可逆圧縮部５５０により適用される画素値の予測方法と同一の画素値予測を行い、予測の的中率を制御部５３０に対して出力する。
【００６５】
ステップ２１０（Ｓ２１０）において、制御部５３０は、解析部５２５から入力された解析結果（的中率）に基づいて、各処理単位に対して適用する符号化処理を判定する。すなわち、制御部５３０は、解析部５２５から入力された的中率が既定値よりも高い場合に、変更許容値が既定値よりも低く設定されたフィルタ処理部５１０ｂからのラスタデータを選択するよう制御し、これ以外の場合に、変更許容値がフィルタ処理部５１０ｂよりも高く設定されたフィルタ処理部５１０ａからのラスタデータを選択するよう制御する。
【００６６】
ステップ１３０（Ｓ１３０）において、フィルタ処理部５１０ａおよびフィルタ処理部５１０ｂは、それぞれＰＤＬデコンポーザ５００から入力されたラスタデータに対して、それぞれに設定された変更許容値に応じたフィルタ処理を行い、データ選択部５４０に対して出力する。
【００６７】
ステップ２２０（Ｓ２２０）において、データ選択部５４０は、制御部５３０からの制御に応じて、フィルタ処理部５１０ａまたはフィルタ処理部５１０ｂから入力されたラスタデータを選択し、可逆圧縮部５５０に対して出力する。
可逆圧縮部５５０に出力されたラスタデータは、可逆な符号化処理が施されて符号データとなり（Ｓ１４０）、画像蓄積部５６０に蓄積される（Ｓ１５０）。
【００６８】
ステップ２３０（Ｓ２３０）において、符号量制御部５６５は、可逆圧縮部５５０から符号データおよびラスタデータ（符号化前）を取得して、その符号量が基準値以下であるか否かを判定する。
符号量が基準値よりも大きいと判定された場合に、符号量制御部５６５は、ラスタデータをフィルタ処理部５１０ａに出力して再符号化を指示する。フィルタ処理部５１０ａは、符号量制御部５６５からの指示に応じて、変更許容値をより大きい値に設定しフィルタ処理を再度行う。
一方、符号量が基準値以下と判定された場合に、画像処理プログラム５２は、Ｓ１６０の処理に移行する。
画像処理プログラム５２は、上記の処理をすべての処理単位について行い（Ｓ１６０）、符号データを伸長して印刷する（Ｓ１７０，Ｓ１８０）。
【００６９】
このように、本実施形態における画像処理プログラム５２は、複数のフィルタ処理部５１０を用いて互いに異なるフィルタ処理をラスタデータに対して施し、これら複数のラスタデータの中から、局所的な画素パターンに応じて符号化処理に用いるラスタデータを選択する。そのため、プリンタ装置２は、実際の画素値の配列に応じた符号化処理を処理単位毎に適用することができる。
また、画像処理プログラム５２は、符号量に応じて、フィルタ部５１０ａのパラメータ（変更許容値）を変更することにより、符号量を制御することができる。なお、本実施形態においても制御部５３０は、画像に施された拡大処理に応じて、符号化処理を切り換えてもよい。
【００７０】
【発明の効果】
以上説明したように、本発明にかかるデータ処理装置によれば、高画質かつ高圧縮を実現するために効果的に符号化処理を切り換えることができる。
【図面の簡単な説明】
【図１】本発明にかかるプリンタ装置２（データ処理装置）のハードウェア構成を、制御装置２０を中心に例示する図である。
【図２】第１の画像処理プログラム５の機能構成を説明する図である。
【図３】フィルタ処理部５１０の機能構成をより詳細に説明する図である。
【図４】可逆圧縮部５５０の機能構成をより詳細に説明する図である。
【図５】プリンタ装置２（画像処理プログラム５）の第１の動作（Ｓ１０）を示すフローチャートである。
【図６】図５のフローチャートにおける判定処理（１１０）をより詳細に説明するフローチャートである。
【図７】図５のフローチャートにおけるフィルタ処理（Ｓ１３０）をより詳細に説明するフローチャートである。
【図８】図５のフローチャートにおける可逆圧縮処理（Ｓ１４０）をより詳細に説明するフローチャートである。
【図９】第２の画像処理プログラム５２のの機能構成を説明する図である。
【図１０】フィルタ処理部５１０ａの構成をより詳細に説明する図である。
【図１１】プリンタ装置２（画像処理プログラム５２）の第２の動作（Ｓ１２）を示すフローチャートである。
【符号の説明】
２・・・プリンタ装置
５，５２・・・画像処理プログラム
５００・・・ＰＤＬデコンポーザ
５１０・・・フィルタ処理部
５１２・・・予測部
５１４・・・画素値変更処理部
５１６・・・誤差分配処理部
５１８・・・変更許容値設定部
５２０・・・属性取得部
５２５・・・解析部
５３０・・・制御部
５４０・・・データ選択部
５５０・・・可逆圧縮部
５５２・・・予測部
５５４・・・予測誤差算出部
５５６・・・選択部
５５８・・・ラン計数部
５５９・・・符号化部
５６０・・・画像蓄積部
５６５・・・符号量制御部
５７０・・・伸長部
５８０・・・印刷部
【図１】
2005006257.tif 000003
【図２】
2005006257.tif 000004
【図３】
2005006257.tif 000005
【図４】
2005006257.tif 000006
【図５】
2005006257.tif 000007
【図６】
2005006257.tif 000008
【図７】
2005006257.tif 000009
【図８】
2005006257.tif 000010
【図９】
2005006257.tif 000011
【図１０】
2005006257.tif 000012
【図１１】
2005006257.tif 000013