(57)【要約】【課題】複数データ列に共通する共通ラン長を用いた各データ列の符号化を実現する。【解決手段】複数データ列の各データ列内で連続する同じ画素値の連続数であって複数データ列同士で等しくなるように区切られた連続数が共通ラン長とされる。そして、共通ラン長の個数であるラン長個数を用いて、複数データ列の各データ列が画素値とラン長個数の組み合わせによるベクタ形式に符号化される。図示する具体例では、ＹＭＣＫの４つのデータ列で互いに等しくなるように区切られた連続数（ラン長）がラン長２，ラン長４，ラン長８，ラン長１６の最小公約数であるラン長２となり、ラン長２が共通ラン長とされる。Ｙ成分のデータ列は、ラン長２の画素値で構成されており、ラン長２が共通ラン長（ラン長２）の１個分である。そこで、Ｙ成分のデータ列は、画素値とラン長個数１の組み合わせによるベクタ形式に符号化される。【選択図】図５
2018050143.tif 000002
【特許請求の範囲】
【請求項１】
各データ列内で連続する同じ画素値のラン情報として、複数データ列に共通する共通ラン長の個数を用いて、前記複数データ列の各データ列を符号化する画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記複数データ列の各データ列内で連続する同じ画素値の連続数であって前記複数データ列同士で等しくなるように区切られた連続数を共通ラン長とする、
ことを特徴とする画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置において、
共通ラン長の個数であるラン長個数を用いて、前記複数データ列の各データ列を画素値とラン長個数の組み合わせによるベクタ形式に符号化するベクタ化処理部、
を有する、
ことを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記ベクタ形式の各データ列内の画素値を共通ラン長と当該画素値のラン長個数から得られるラン長倍に展開することにより、前記ベクタ形式の各データ列をラスタ形式に復号化するラスタ化処理部、
をさらに有する、
ことを特徴とする画像処理装置。
【請求項５】
請求項３または４に記載の画像処理装置において、
前記ベクタ形式の各データ列内の画素値をその画素値のラン長個数倍に展開することにより、点順画像処理用の各データ列を得る点順前処理部、
をさらに有する、
ことを特徴とする画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
前記点順画像処理用の各データ列を画素値とラン長個数の組み合わせによるベクタ形式に再ベクタ化することにより、面順画像処理用の各データ列を得る面順前処理部、
をさらに有する、
ことを特徴とする画像処理装置。
【請求項７】
コンピュータに、
各データ列内で連続する同じ画素値のラン情報として、複数データ列に共通する共通ラン長の個数を用いて、前記複数データ列の各データ列を符号化する機能、
を実現させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびプログラムに関する。
【背景技術】
【０００２】
カラー画像などの画像データの符号化処理として、面順符号化処理と点順符号化処理が知られている。例えば特許文献１には、画像データを中間コードに変換するソースコーダにおける処理を点順で行い、中間コードを符号データに変換するエントロピーコーダを並列化することにより、符号化処理の処理時間を短縮し、複数の色成分の共通情報と各色成分に固有の個別情報に分解して符号化することにより、面順で復号化できる画像データの符号量を小さくする装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２１４９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
面順符号化処理と点順符号化処理には各々に一長一短があり、例えば面順符号化処理と点順符号化処理の両者の長所を活かした新たな符号化の登場が期待されている。
【０００５】
本発明は、複数データ列に共通する共通ラン長を用いた各データ列の符号化を実現することにある。
【課題を解決するための手段】
【０００６】
請求項１に係る発明は、各データ列内で連続する同じ画素値のラン情報として、複数データ列に共通する共通ラン長の個数を用いて、前記複数データ列の各データ列を符号化する画像処理装置である。
【０００７】
請求項２に係る発明は、請求項１に記載の画像処理装置において、前記複数データ列の各データ列内で連続する同じ画素値の連続数であって前記複数データ列同士で等しくなるように区切られた連続数を共通ラン長とすることを特徴とする画像処理装置である。
【０００８】
請求項３に係る発明は、請求項１または２に記載の画像処理装置において、共通ラン長の個数であるラン長個数を用いて、前記複数データ列の各データ列を画素値とラン長個数の組み合わせによるベクタ形式に符号化するベクタ化処理部を有することを特徴とする画像処理装置である。
【０００９】
請求項４に係る発明は、請求項３に記載の画像処理装置において、前記ベクタ形式の各データ列内の画素値を共通ラン長と当該画素値のラン長個数から得られるラン長倍に展開することにより、前記ベクタ形式の各データ列をラスタ形式に復号化するラスタ化処理部をさらに有することを特徴とする画像処理装置である。
【００１０】
請求項５に係る発明は、請求項３または４に記載の画像処理装置において、前記ベクタ形式の各データ列内の画素値をその画素値のラン長個数倍に展開することにより、点順画像処理用の各データ列を得る点順前処理部をさらに有することを特徴とする画像処理装置である。
【００１１】
請求項６に係る発明は、請求項５に記載の画像処理装置において、前記点順画像処理用の各データ列を画素値とラン長個数の組み合わせによるベクタ形式に再ベクタ化することにより、面順画像処理用の各データ列を得る面順前処理部をさらに有することを特徴とする画像処理装置である。
【００１２】
請求項７に係る発明は、コンピュータに、各データ列内で連続する同じ画素値のラン情報として、複数データ列に共通する共通ラン長の個数を用いて、前記複数データ列の各データ列を符号化する機能を実現させることを特徴とするプログラムである。
【発明の効果】
【００１３】
請求項１に係る発明により、複数データ列に共通する共通ラン長を用いた各データ列の符号化が実現される。
【００１４】
請求項２に係る発明により、複数データ列同士で等しくなるように区切られた連続数を共通ラン長とする符号化が実現される。
【００１５】
請求項３に係る発明により、共通ラン長の個数であるラン長個数を用いて各データ列がベクタ形式に符号化される。
【００１６】
請求項４に係る発明により、共通ラン長の個数であるラン長個数を用いてベクタ形式に符号化された複数データ列がラスタ形式に復号化される。
【００１７】
請求項５に係る発明により、点順画像処理用の各データ列を得る前処理が実現される。
【００１８】
請求項６に係る発明により、面順画像処理用の各データ列を得る前処理が実現される。
【００１９】
請求項７に係る発明により、複数データ列に共通する共通ラン長を用いた各データ列の符号化を実現するプログラムが提供される。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施において好適な画像処理装置の具体例を示す図である。
【図２】面順画像処理の具体例を説明するための図である。
【図３】点順画像処理の具体例を説明するための図である。
【図４】面順画像処理と点順画像処理が混在する画像処理の比較例を示す図である。
【図５】図１の画像処理装置によるベクタ化処理を説明するための図である。
【図６】各データ列内でラン長が変化する場合のベクタ化処理を説明するための図である。
【図７】図１の画像処理装置による画像処理の具体例１を示す図である。
【図８】図１の画像処理装置による画像処理の具体例２を示す図である。
【図９】図１の画像処理装置による画像処理の具体例３を示す図である。
【図１０】図１の画像処理装置による画像処理の具体例４を示す図である。
【発明を実施するための形態】
【００２１】
図１は、本発明の実施において好適な画像処理装置の具体例を示す図である。図１の画像処理装置１００は、画像処理ブロックを備えており、画像データ（文字や数字や記号のみのデータを含む）に対して画像処理を実行する。
【００２２】
図１に示す画像処理ブロックは、ベクタ化処理部１０と点順前処理部２０と点順画像処理部３０と面順前処理部４０と面順画像処理部５０とラスタ化処理部６０で構成される。画像処理ブロックは、入力データ（画像データ）に対して各種処理を実行し、処理後の画像データを出力データとして出力する。画像処理ブロック内の各部が実行する処理の具体例については後に詳述する。
【００２３】
画像処理ブロックの内部構成（符号を付した各部）は、各種のハードウェアを利用して実現することができる。例えばＤＲＰ（Dynamic Reconfigurable Processor：動的再構成可能プロセッサ）などを利用して画像処理ブロック内の少なくとも一部が実現される。また、例えばＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などを利用して画像処理ブロック内の少なくとも一部が実現されてもよい。なお、画像処理ブロックの内部構成を実現するための上述したハードウェアはあくまでも一例に過ぎず、他のハードウェアが利用されてもよい。
【００２４】
例えば、画像処理ブロック内の少なくとも一部がＣＰＵやメモリ等のハードウェアとそれらの動作を規定するプログラムとの協働により、つまりコンピュータにより実現されてもよい。画像処理ブロック内の機能をコンピュータにより実現する場合には、後に詳述する画像処理ブロック内の各部の処理に対応したプログラムが、例えば、ディスクやメモリなどのコンピュータが読み取り可能な記憶媒体に記憶され、その記憶媒体を介してコンピュータに提供される。もちろん、インターネット等の電気通信回線を介して当該プログラムがコンピュータに提供されてもよい。そして、コンピュータが備えるＣＰＵやメモリ等のハードウェア資源と、提供された当該プログラム（ソフトウェア）との協働により、画像処理ブロックの機能が実現される。
【００２５】
また、画像処理装置１００は、図１に示す画像処理ブロックの他に、例えば、画像読み取り機能（スキャン機能）等を備え、画像読み取り機能を介して紙などの媒体から得られた画像データを処理対象とする。また、画像処理装置１００による画像処理後の画像データに対応した画像が紙などの媒体に印刷されてもよいし、画像処理後の画像データが外部の装置に提供されてもよい。画像処理装置１００の好適な具体例には、複写機、印刷機、ファクシミリ（ＦＡＸ）などが含まれる。さらに、複写機、印刷機、ファクシミリのうちのいずれか複数の機能を兼ね備えた複合機も画像処理装置１００の好適な具体例である。もちろん、例えばコンピュータ等の外部の装置から得られる画像データを画像処理装置１００が画像処理してもよい。
【００２６】
図１の画像処理装置１００の全体構成は以上のとおりである。次に、画像処理装置１００により実現される処理や機能の具体例について説明する。なお、図１に示した構成（符号を付した各部）については、以下の説明において図１の符号を利用する。
【００２７】
画像処理装置１００は、画像データに対して面順画像処理と点順画像処理を実行する機能を備えている。そこで、まず面順画像処理と点順画像処理の具体例について説明する。
【００２８】
図２は、面順画像処理の具体例を説明するための図である。図２には、ＹＭＣＫの４つの色成分に対応した４つの入力データ（データ列）に対する面順画像処理の具体例が図示されている。なお、４つの色成分は、それぞれ、Ｙ（イエロー），Ｍ（マゼンダ），Ｃ（シアン），Ｋ（ブラック）である。
【００２９】
面順画像処理では、各色成分の入力データに対する画像処理結果を、他の色成分の入力データの影響を受けずに得ることができる。例えば、ＭＣＫ成分のデータ値（画素値）とは無関係に、Ｙ成分のデータ値（画素値）に応じてＹ成分の画像処理結果が得られる。
【００３０】
そこで、面順画像処理用のベクタ化として、各色成分ごとに他成分の影響を受けない面順ベクタ化（面順用のベクタ化）が可能になる。図２の具体例では、面順画像処理の前に面順ベクタ化が行われる。
【００３１】
面順ベクタ化では、例えば、図２に示す具体例のように、ＹＭＣＫの各色成分ごとに同じ画素値の連続数であるラン長が決定され、各色成分の入力データ（データ列）が画素値とラン長の組み合わせによるベクタ形式に符号化される。
【００３２】
面順ベクタ化は点順ベクタ化（図３）よりもベクタ化率（圧縮率）が高い。そのため、面順画像処理では、点順ベクタ化よりも面順ベクタ化の方が画像処理時間が短くなる。しかし、面順ベクタ化をそのまま点順画像処理（図３）に適用することはできず、点順画像処理では点順ベクタ化が必要になる。
【００３３】
図３は、点順画像処理の具体例を説明するための図である。図３には、図２と同じ入力データ、つまりＹＭＣＫの４つの色成分に対応した４つの入力データ（データ列）に対する点順画像処理の具体例が図示されている。
【００３４】
点順画像処理では、各色成分の入力データに対する画像処理結果を得るにあたり、他の色成分の入力データが必要になる。例えば、Ｙ成分のデータ値（画素値）に関する点順画像処理結果を得るために、Ｙ成分のデータ値（画素値）と同じ画素位置に対応したＭＣＫ成分のデータ値（画素値）が必要になる。
【００３５】
そこで、点順画像処理用のベクタ化として、同じ画素位置に対応した４つの色成分（ＹＭＣＫ）のデータ値（画素値）が同じタイミングで処理できるように、点順ベクタ化（点順用のベクタ化）が行われる。図３の具体例では、点順画像処理の前に点順ベクタ化が行われる。
【００３６】
点順ベクタ化では、例えば、図３に示す具体例のように、同じ画素位置に対応した４つの色成分のラン長が同じになるように、各色成分のラン長が決定され、各色成分の入力データ（データ列）が画素値とラン長の組み合わせによるベクタ形式に符号化される。
【００３７】
点順ベクタ化は点順画像処理にも面順画像処理にも適用することができる。しかし、点順ベクタ化は面順ベクタ化（図２）よりもベクタ化率（圧縮率）が低い。そのため、面順画像処理では、点順ベクタ化よりも面順ベクタ化の方が画像処理時間の面で有利である。
【００３８】
図４は、面順画像処理と点順画像処理が混在する画像処理の比較例を示す図である。図４には、ＹＭＣＫの４つの色成分に対応した４つの入力データ（データ列）に対し、面順画像処理（Ａ〜Ｃ）を実行してから点順画像処理を実行し、ＹＭＣＫの４つの色成分に対応した４つの出力データ（データ列）を得る具体例が図示されている。
【００３９】
比較例１では、まず、ＹＭＣＫの４つの入力データが点順ベクタ化され、点順ベクタ化された４つの入力データに対して、面順画像処理（Ａ〜Ｃ）と点順画像処理が実行され、画像処理後の４つの入力データがラスタ化されて、ＹＭＣＫの４つの出力データとして出力される。
【００４０】
比較例２では、まず、ＹＭＣＫの４つの入力データが面順ベクタ化され、面順ベクタ化された４つの入力データに対して面順画像処理（Ａ〜Ｃ）が実行される。そして、面順画像処理後の４つの入力データが点順ベクタ化され、点順ベクタ化された４つの入力データに対して点順画像処理が実行され、画像処理後の４つの入力データがラスタ化されて、ＹＭＣＫの４つの出力データとして出力される。
【００４１】
ベクタ化処理に注目すると、比較例１では、ベクタ化処理が点順ベクタ化のみであるのに対し、比較例２では、面順ベクタ化と点順ベクタ化の２つのベクタ化処理が行われる。したがって、比較例１の方が比較例２よりもベクタ化処理の回路規模が小さくて済む。
【００４２】
面順画像処理に注目すると、比較例１では、点順ベクタ化されたデータに対して面順画像処理が実行されるのに対し、比較例２では、面順ベクタ化されたデータに対して面順画像処理が実行される。したがって、比較例２の方が比較例１よりも面順画像処理の処理時間が短くなる。
【００４３】
図２，図３を利用して説明したように、面順ベクタ化と点順ベクタ化には各々に一長一短がある。また、図４を利用して説明したように、面順画像処理と点順画像処理が混在する場合には、面順ベクタ化と点順ベクタ化の順序が回路規模や画像処理性能に影響を及ぼしてしまう。そこで、図１の画像処理装置１００は、以下に説明する新方式のベクタ化（符号化）を実現する。
【００４４】
図５は、図１の画像処理装置１００によるベクタ化処理を説明するための図である。画像処理装置１００は、各データ列内で連続する同じ画素値のラン情報として、複数データ列に共通する共通ラン長の個数を用いて、複数データ列の各データ列を符号化（ベクタ化）する。図５には、画像処理装置１００のベクタ化処理部１０により実行されるベクタ化処理の具体例が図示されている。
【００４５】
ベクタ化処理部１０は、複数データ列の各データ列内で連続する同じ画素値の連続数であって複数データ列同士で等しくなるように区切られた連続数を共通ラン長とする。そして、ベクタ化処理部１０は、共通ラン長の個数であるラン長個数を用いて、複数データ列の各データ列を画素値とラン長個数の組み合わせによるベクタ形式に符号化する。
【００４６】
図５には、ＹＭＣＫの４つの色成分に対応した４つの入力データ（データ列）に対するベクタ化処理部１０によるベクタ化処理の具体例が図示されている。図５に示す具体例では、Ｙ成分のデータ列がラン長２の画素値で構成され、Ｍ成分のデータ列がラン長４の画素値で構成され、Ｃ成分のデータ列がラン長８の画素値で構成され、Ｋ成分のデータ列がラン長１６の画素値で構成されている。
【００４７】
図５の具体例では、ＹＭＣＫの４つのデータ列で互いに等しくなるように区切られた連続数（ラン長）が、ラン長２，ラン長４，ラン長８，ラン長１６の最小公約数であるラン長２となる。そこで、図５の具体例では、ラン長２が共通ラン長とされる。
【００４８】
そして、ＹＭＣＫの各データ列が、共通ラン長の個数であるラン長個数を用いて、画素値とラン長個数の組み合わせによるベクタ形式に符号化される。例えば、Ｙ成分のデータ列（入力データ）は、ラン長２の画素値で構成されており、ラン長２が共通ラン長（ラン長２）の１個分である。そこで、Ｙ成分のデータ列は、画素値とラン長個数１の組み合わせによるベクタ形式に符号化される。
【００４９】
また、例えば、Ｍ成分のデータ列（入力データ）は、ラン長４の画素値で構成されており、ラン長４が共通ラン長（ラン長２）の２個分である。そこで、Ｍ成分のデータ列は、画素値とラン長個数２の組み合わせによるベクタ形式に符号化される。また、Ｃ成分とＫ成分のデータ列（入力データ）は、それぞれ、ラン長８とラン長１６の画素値で構成されており、それぞれ、共通ラン長（ラン長２）の４個分と８個分である。そこで、Ｃ成分とＫ成分のデータ列は、それぞれ、ラン長個数４とラン長個数８によりベクタ形式に符号化される。
【００５０】
図６は、各データ列内でラン長が変化する場合のベクタ化処理を説明するための図である。図６に示す具体例において、Ｙ成分のデータ列（入力データ）のラン長が２００，１００，３００，４００と変化し、Ｍ成分のデータ列（入力データ）のラン長が３００，７００と変化し、Ｃ成分のデータ列（入力データ）のラン長が２００，８００と変化する。Ｋ成分のデータ列（入力データ）のラン長は１０００である。
【００５１】
そこで、図６の具体例において、ベクタ化処理部１０は、各データ列内のラン長の変化に応じて、第１の共通ラン長（１）のラン長を２００、第２の共通ラン長（２）のラン長を１００、第３の共通ラン長（３）のラン長を３００、第４の共通ラン長（４）のラン長を４００とし、共通ラン長を変化させる。
【００５２】
そして、Ｙ成分の画素値Ａ１のラン長は２００であり、共通ラン長（１）の１個分に等しいため、画素値Ａ１に対してラン長個数１が対応付けられる。また、Ｙ成分の画素値Ａ２のラン長は１００であり、共通ラン長（２）の１個分に等しいため、画素値Ａ２に対してラン長個数１が対応付けられる。同様に、Ｙ成分の画素値Ａ３のラン長は共通ラン長（３）の１個分であるため、画素値Ａ３に対してラン長個数１が対応付けられ、Ｙ成分の画素値Ａ４のラン長は共通ラン長（４）の１個分であるため、画素値Ａ４に対してラン長個数１が対応付けられる。
【００５３】
Ｍ成分の画素値Ｂ１のラン長は３００であり、ラン長２００の共通ラン長（１）とラン長１００の共通ラン長（２）の２個分に等しい。そのため、画素値Ｂ１に対してラン長個数２が対応付けられる。また、Ｍ成分の画素値Ｂ２のラン長は７００であり、ラン長３００の共通ラン長（３）とラン長４００の共通ラン長（４）の２個分に等しいため、画素値Ｂ２に対してラン長個数２が対応付けられる。
【００５４】
Ｃ成分の画素値Ｃ１のラン長は２００であり、ラン長２００の共通ラン長（１）の１個分に等しい。そのため、画素値Ｃ１に対してラン長個数１が対応付けられる。また、Ｃ成分の画素値Ｃ２のラン長は８００であり、ラン長１００の共通ラン長（２）とラン長３００の共通ラン長（３）とラン長４００の共通ラン長（４）の３個分に等しい。そのため、画素値Ｃ２に対してラン長個数３が対応付けられる。
【００５５】
そして、Ｋ成分の画素値Ｄ１のラン長は１０００であり、ラン長２００の共通ラン長（１）とラン長１００の共通ラン長（２）とラン長３００の共通ラン長（３）とラン長４００の共通ラン長（４）の４個分に等しい。そのため、画素値Ｄ１に対してラン長個数４が対応付けられる。
【００５６】
ベクタ化処理部１０は、図６に示す具体例のように、各データ列内でラン長が変化する場合には、必要に応じて共通ラン長を変化させて、画素値とラン長個数の組み合わせによるベクタ形式への符号化を実現する。
【００５７】
図７は、図１の画像処理装置１００による画像処理の具体例１を示す図である。図７の具体例１では、ＹＭＣＫの４つの色成分に対応した４つの入力データ（データ列）に対して、画像処理として面順画像処理のみが実行される。
【００５８】
まず、ベクタ化処理部１０により、ＹＭＣＫの各入力データ（各データ列）が、共通ラン長の個数であるラン長個数を用いて、画素値とラン長個数の組み合わせによるベクタ形式に符号化される（図５参照）。
【００５９】
次に、面順画像処理部５０は、ベクタ化処理部１０によりベクタ化された各入力データ（各データ列）に対して面順画像処理を実行する。面順画像処理において、例えば、各入力データのラン長個数はそのまま維持され、画素値のみが処理内容に応じて変更される。
【００６０】
そして、面順画像処理された各入力データ（各データ列）は、ラスタ化処理部６０によりラスタ形式に復号化される。ラスタ化処理部６０は、面順画像処理後の各入力データ、つまりベクタ形式の各データ列内の画素値を共通ラン長とその画素値のラン長個数から得られるラン長倍に展開することにより、ベクタ形式の各データ列をラスタ形式に復号化して出力データとして出力する。
【００６１】
例えば、図７の具体例において、面順画像処理後におけるＫ成分のデータ列が画素値とラン長個数８のベクタ形式の場合、ラスタ化処理部６０は、共通ラン長２とラン長個数８からラン長１６（＝２×８）を得ることにより、ベクタ形式であるＫ成分の画素値を１６倍（ラン長倍）に展開（コピー）して、同じ画素値が１６個連続するラスタ形式のデータ列に復号化する。共通ラン長が変化する場合には、変化する共通ラン長をラン長個数分だけ加算することにより、ラン長が算出される（図６参照）。
【００６２】
なお、図７には代表例としてＫ成分のデータ列に対する処理のみを図示しているが、ＹＭＣの各データ列（各入力データ）に対しても、ベクタ化処理部１０によるベクタ化処理と、面順画像処理部５０による面順画像処理と、ラスタ化処理部６０によるラスタ化処理が実行される。また、図７の具体例において、共通ラン長とラン長個数は、ベクタ化処理部１０からラスタ化処理部６０に転送される。
【００６３】
図７の具体例１によれば、面順画像処理部５０において処理されるデータ数（画素値の個数）が、図２の具体例における面順ベクタ化の場合と同じであるため、面順ベクタ化の場合と同程度に画像処理が高速化される。
【００６４】
図８は、図１の画像処理装置１００による画像処理の具体例２を示す図である。図８の具体例２では、ＹＭＣＫの４つの色成分に対応した４つの入力データ（データ列）に対して、画像処理として点順画像処理のみが実行される。
【００６５】
まず、ベクタ化処理部１０により、ＹＭＣＫの各入力データ（各データ列）が、共通ラン長の個数であるラン長個数を用いて、画素値とラン長個数の組み合わせによるベクタ形式に符号化される（図５参照）。
【００６６】
次に、点順前処理部２０により点順前処理が実行される。点順前処理部２０は、ベクタ化処理部１０によりベクタ化された各入力データ（各データ列）内の画素値をその画素値のラン長個数倍に展開することにより、点順画像処理用の各データ列を得る前処理を実行する。例えば、図８の具体例において、ベクタ化されたＫ成分のデータ列が画素値とラン長個数８のベクタ形式の場合、点順前処理部２０は、Ｋ成分の画素値を８倍（ラン長個数倍）に展開（コピー）して、同じ画素値が８個連続するデータ列を形成する。
【００６７】
こうして、点順前処理により、ベクタ形式の共通ラン長を維持しつつ、全ての画素値のラン長個数が１となる各データ列が形成される。つまり、図８の点順前処理により、図３の点順ベクタ化の場合と同様に、ＹＭＣＫの４つの入力データ（データ列）のデータ長（画素値の数）が揃えられる。
【００６８】
次に、点順画像処理部３０は、点順前処理された各入力データ（各データ列）に対して点順画像処理を実行する。点順画像処理により、例えば、各入力データのラン長個数は１のまま維持され、画素値のみが処理内容に応じて変更される。
【００６９】
そして、点順画像処理された各入力データ（各データ列）は、ラスタ化処理部６０によりラスタ形式に復号化される。ラスタ化処理部６０は、点順画像処理後の各入力データ（各データ列内）の画素値を共通ラン長とその画素値のラン長個数から得られるラン長倍に展開することにより、ベクタ形式の各データ列をラスタ形式に復号化して出力データとして出力する。
【００７０】
なお、図８の具体例では、点順画像処理された４つの色成分に対応した４つのデータ列内において、全ての画素値のラン長個数が１であるため、ラスタ化処理部６０による復号化における画素値のラン長は共通ラン長に等しい。そのため、図８の具体例では、点順前処理部２０から点順画像処理部３０へのデータ転送と、点順画像処理部３０からラスタ化処理部６０へのデータ転送において、各データ列の画素値のみを転送してラン長個数の転送を省略してもよい。また、共通ラン長は例えばベクタ化処理部１０からラスタ化処理部６０に転送される。
【００７１】
図８の具体例２によれば、点順画像処理部３０の前段に、比較的シンプルな回路構成で実現できる点順前処理部２０を追加することにより、点順画像処理が可能になる。
【００７２】
図９は、図１の画像処理装置１００による画像処理の具体例３を示す図である。図９の具体例３では、ＹＭＣＫの４つの色成分に対応した４つの入力データ（データ列）に対して、画像処理として、面順画像処理の実行後に点順画像処理が実行される。
【００７３】
まず、ベクタ化処理部１０により、ＹＭＣＫの各入力データ（各データ列）が、共通ラン長の個数であるラン長個数を用いて、画素値とラン長個数の組み合わせによるベクタ形式に符号化される（図５参照）。
【００７４】
次に、面順画像処理部５０は、ベクタ化処理部１０によりベクタ化された各入力データ（各データ列）に対して面順画像処理を実行する。面順画像処理において、例えば、各入力データのラン長個数はそのまま維持され、画素値のみが処理内容に応じて変更される。
【００７５】
そして、面順画像処理された各入力データ（各データ列）は、点順前処理部２０により点順前処理を施される。点順前処理部２０は、ベクタ化された面順画像処理後の各入力データ（各データ列）内の画素値をその画素値のラン長個数倍に展開することにより、点順画像処理用の各データ列を得る前処理を実行する。例えば、図９の具体例において、ベクタ化された面順画像処理後のＫ成分のデータ列が画素値とラン長個数８のベクタ形式の場合に、点順前処理部２０は、Ｋ成分の画素値を８倍（ラン長個数倍）に展開（コピー）して同じ画素値が８個連続するデータ列を形成する。
【００７６】
こうして、点順前処理により、ベクタ形式の共通ラン長を維持しつつ、全ての画素値のラン長個数が１となる各データ列が形成される。つまり、図９の点順前処理により、図３の点順ベクタ化の場合と同様に、ＹＭＣＫの４つの入力データ（データ列）のデータ長（画素値の数）が揃えられる。
【００７７】
そして、図８の具体例２と同様に、図９の具体例３においても、点順画像処理部３０が点順前処理された各入力データ（各データ列）に対して点順画像処理を実行し、点順画像処理された各入力データがラスタ化処理部６０によりラスタ形式に復号化される。
【００７８】
なお、図９の具体例３において、点順前処理部２０から点順画像処理部３０へのデータ転送と、点順画像処理部３０からラスタ化処理部６０へのデータ転送において、各データ列の画素値のみを転送してラン長個数の転送を省略してもよい。また、共通ラン長は例えばベクタ化処理部１０からラスタ化処理部６０に転送される。
【００７９】
図９の具体例３によれば、面順ベクタ化と同程度に面順画像処理が高速化され、比較的シンプルな回路（点順前処理部２０）の追加により点順画像処理が実行可能になる。
【００８０】
図１０は、図１の画像処理装置１００による画像処理の具体例４を示す図である。図１０の具体例４では、ＹＭＣＫの４つの色成分に対応した４つの入力データ（データ列）に対して、画像処理として、面順画像処理の実行後に点順画像処理が実行され、さらに、点順画像処理の実行後に面順画像処理が実行される。
【００８１】
図１０の具体例４におけるベクタ化処理部１０から点順画像処理部３０までの処理は、図９の具体例３におけるベクタ化処理部１０から点順画像処理部３０までの処理と同じである。
【００８２】
つまり、図１０の具体例４においても、まず、ベクタ化処理部１０により、ＹＭＣＫの各入力データ（各データ列）が、共通ラン長の個数であるラン長個数を用いて、画素値とラン長個数の組み合わせによるベクタ形式に符号化される（図５参照）。その後、面順画像処理部５０による面順画像処理と、点順前処理部２０による点順前処理と、点順画像処理部３０による点順画像処理が順に実行される。
【００８３】
図１０の具体例４では、点順画像処理後の各入力データが面順前処理部４０により面順前処理を施される。面順前処理部４０は、点順画像処理用の各入力データ（各データ列）を画素値とラン長個数の組み合わせによるベクタ形式に再ベクタ化することにより、面順画像処理用の各データ列を得る前処理を実行する。
【００８４】
例えば、図１０の具体例において、点順画像処理後のＹ成分は、同じ画素値が１個ずつのデータ列であるため、画素値とラン長個数１の組み合わせによるベクタ形式に再ベクタ化される。点順画像処理後のＭ成分は、同じ画素値が２個連続するデータ列であるため、画素値とラン長個数２の組み合わせによるベクタ形式に再ベクタ化される。また、点順画像処理後のＣ成分は、同じ画素値が４個連続するデータ列であるため、画素値とラン長個数４の組み合わせによるベクタ形式に再ベクタ化され、点順画像処理後のＫ成分は、同じ画素値が８個連続するデータ列であるため、画素値とラン長個数８の組み合わせによるベクタ形式に再ベクタ化される。
【００８５】
そして、面順画像処理部５０は、再ベクタ化された各入力データ（各データ列）に対して面順画像処理を実行する。面順画像処理において、例えば、各入力データのラン長個数はそのまま維持され、画素値のみが処理内容に応じて変更される。その後、面順画像処理された各入力データ（各データ列）は、ラスタ化処理部６０によりラスタ形式に復号化される。
【００８６】
なお、図１０の具体例４において、点順前処理部２０から点順画像処理部３０へのデータ転送と、点順画像処理部３０から面順前処理部４０へのデータ転送において、各データ列の画素値のみを転送してラン長個数の転送を省略してもよい。また、共通ラン長は例えばベクタ化処理部１０からラスタ化処理部６０に転送される。
【００８７】
図１０の具体例４によれば、面順ベクタ化と同程度に面順画像処理が高速化され、比較的シンプルな回路（点順前処理部２０と面順前処理部４０）の追加により、点順画像処理と面順画像処理が交互に混在する画像処理が実行可能になる。
【００８８】
以上、本発明の好適な実施形態を説明したが、上述した実施形態は、あらゆる点で単なる例示にすぎず、本発明の範囲を限定するものではない。本発明は、その本質を逸脱しない範囲で各種の変形形態を包含する。
【符号の説明】
【００８９】
１０  ベクタ化処理部、２０  点順前処理部、３０  点順画像処理部、４０  面順前処理部、５０  面順画像処理部、６０  ラスタ化処理部、１００  画像処理装置。
【図１】
2018050143.tif 000003
【図２】
2018050143.tif 000004
【図３】
2018050143.tif 000005
【図４】
2018050143.tif 000006
【図５】
2018050143.tif 000007
【図６】
2018050143.tif 000008
【図７】
2018050143.tif 000009
【図８】
2018050143.tif 000010
【図９】
2018050143.tif 000011
【図１０】
2018050143.tif 000012