(57)【要約】  【課題】  画像処理に伴う処理負荷又はその実装コストを低減させる。  【解決手段】  画像処理装置２は、入力画像について、複数の画素が含まれた部分画像を定義し、この部分画像の単位で符号列に対して画像処理を施し、画像処理が施された符号列を復号化し、復号化された画素値群に対して、画素単位の画像処理を施す。その際に、部分画像単位の処理を汎用演算器で実現し、画素単位の処理を専用演算器で実現することにより、実装コストを低減させる。【選択図】図１４
2008182324.tif 000002
【特許請求の範囲】
【請求項１】
符号化された画像情報を、複数の画素値が含まれた部分画像の単位で操作する部分画像操作手段と、
前記部分画像操作手段により操作された画像情報を復号化する復号化手段と、
前記復号化手段により復号化された画像情報を画素単位で操作する画素操作手段と
を有し、
前記部分画像操作手段で操作する部分画像の単位は、前記画素操作手段によって操作される内容に基づいて変更される
画像処理装置。
【請求項２】
前記部分画像は、他の画像領域に依存せずに復号化できる画像領域であり、
前記部分画像操作手段は、他の画像領域に依存せずに復号化できる画像領域を単位として、操作する
請求項１に記載の画像処理装置。
【請求項３】
入力された画像情報を、前記部分画像毎に独立な符号に変換する符号変換手段
をさらに有し、
前記部分画像操作手段は、前記符号変換手段により変換された符号を操作する
請求項１に記載の画像処理装置。
【請求項４】
前記部分画像操作手段は、前記部分画像単位で前記画像情報を、画像の回転角度に対応する順序に並び替え、
前記画素操作手段は、前記部分画像操作手段により並び替えられた画像情報を、画像の回転角度に対応する順序に並び替える
請求項１に記載の画像処理装置。
【請求項５】
画像を９０度回転させる場合に、前記部分画像の単位は、画像の少なくとも主走査方向を分割した場合の各画像領域であり、
前記部分画像操作手段は、分割された画像領域を単位として、符号化された画像情報の並び替えを行い、
前記画素操作手段は、分割された画像領域内で、画素値の並び替えを行う
請求項４に記載の画像処理装置。
【請求項６】
画像を１８０度回転させる場合に、前記部分画像の単位は、画像の少なくとも副走査方向を分割した場合の各画像領域であり、
前記部分画像操作手段は、分割された画像領域を単位として、少なくとも副走査方向の順序を入れ替え、
前記画素操作手段は、分割された画像領域内で、少なくとも副走査方向の順序を入れ替える
請求項４に記載の画像処理装置。
【請求項７】
前記部分画像操作手段は、画像位置を変更する場合に、符号化された画像情報の位置を、前記部分画像の単位で移動させ、
前記画素操作手段は、復号化された画像情報を画素単位で移動させる
請求項１に記載の画像処理装置。
【請求項８】
前記部分画像操作手段は、符号化された複数の画像情報の中から、各画像領域について少なくとも１つの画像情報を選択し、
前記画素操作手段は、複数の画像情報が選択された画像領域について、選択された複数の画像情報の中から、各画素で適用すべき画素値を選択する
請求項１に記載の画像処理装置。
【請求項９】
前記部分画像操作手段は、汎用演算器で実現され、
前記画素操作手段は、専用演算器で実現される
請求項１に記載の画像処理装置。
【請求項１０】
符号化された画像情報を、複数の画素値が含まれた部分画像の単位で操作する部分画像操作手段と、
前記部分画像操作手段により操作された画像情報を復号化する復号化手段と、
前記復号化手段により復号化された画像情報に対して、複数種類の画像処理それぞれに対応する演算を施す複数の専用演算器と
を有する画像処理装置。
【請求項１１】
符号化された画像情報を、複数の画素値が含まれた部分画像の単位で操作する部分画像操作手段と、
前記部分画像操作手段により操作された画像情報を復号化する復号化手段と、
前記復号化手段により復号化された画像情報を画素単位で操作する画素操作手段と、
前記画素操作手段により操作された画像情報に基づいて、画像を形成する像形成手段と
を有し、
前記部分画像操作手段で操作する部分画像の単位は、前記画素操作手段によって操作される内容に基づいて変更される
画像形成装置。
【請求項１２】
画像情報に対して画像処理を施す画像処理装置と、
前記画像処理装置により画像処理が施された画像情報に基づいて、画像を形成する画像形成装置と
を有し、
前記画像処理装置は、
符号化された画像情報を、複数の画素値が含まれた部分画像の単位で操作する部分画像操作手段と、
前記部分画像操作手段により操作された画像情報を復号化する復号化手段と、
前記復号化手段により復号化された画像情報を画素単位で操作する画素操作手段と
を有し、
前記部分画像操作手段で操作する部分画像の単位は、前記画素操作手段によって操作される内容に基づいて変更される
画像形成システム。
【請求項１３】
画素単位で画像情報に施される操作の内容に基づいて、複数の画素値が含まれた部分画像の単位を決定するステップと、
符号化された画像情報を、決定された前記部分画像の単位で操作するステップと、
部分画像単位で操作された画像情報を復号化するステップと、
復号化された画像情報を画素単位で操作するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置、画像形成システム及びプログラムに関する。
【背景技術】
【０００２】
画像回転や画像シフト等の画像処理の際に、高コストかつ処理負担の増大の原因となるページメモリを用いることなく、画像を部分ごとに符号化・復号化する方式が検討されている。例えば、特許文献１には、マクロブロック単位に可変長符号化された画像データに対して、指定された編集処理を施し、編集処理を施された可変長符号データをマクロブロック毎に復号化し、編集処理すべき内容によって定まる順序で画像処理部に送信し、画像処理部において、受信したマクロブロック毎の復号化データを画像処理する画像形成装置が開示されている。
【特許文献１】特開２００４−２６６６５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、画像を部分ごとに符号化・復号化する方式においては、画像処理の内容が考慮されておらず、十分に画像処理に伴う処理負荷又はその実装性コストの低減が行われていなかった。
本発明は、画像処理の内容を考慮し、画像を部分ごとに符号化・復号化することで、画像処理に伴う処理負荷又はその実装コストを低減させることを目的とする。
【課題を解決するための手段】
【０００４】
請求項１に係る本発明は、符号化された画像情報を、複数の画素値が含まれた部分画像の単位で操作する部分画像操作手段と、前記部分画像操作手段により操作された画像情報を復号化する復号化手段と、前記復号化手段により復号化された画像情報を画素単位で操作する画素操作手段とを有し、前記部分画像操作手段で操作する部分画像の単位は、前記画素操作手段によって操作される内容に基づいて変更される。
【０００５】
請求項２に係る本発明では、前記部分画像は、他の画像領域に依存せずに復号化できる画像領域であり、前記部分画像操作手段は、他の画像領域に依存せずに復号化できる画像領域を単位として、操作する。
【０００６】
請求項３に係る本発明は、入力された画像情報を、前記部分画像毎に独立な符号に変換する符号変換手段をさらに有し、前記部分画像操作手段は、前記符号変換手段により変換された符号を操作する。
【０００７】
請求項４に係る本発明では、前記部分画像操作手段は、前記部分画像単位で前記画像情報を、画像の回転角度に対応する順序に並び替え、前記画素操作手段は、前記部分画像操作手段により並び替えられた画像情報を、画像の回転角度に対応する順序に並び替える。
【０００８】
請求項５に係る本発明では、画像を９０度回転させる場合に、前記部分画像の単位は、画像の少なくとも主走査方向を分割した場合の各画像領域であり、前記部分画像操作手段は、分割された画像領域を単位として、符号化された画像情報の並び替えを行い、前記画素操作手段は、分割された画像領域内で、画素値の並び替えを行う。
【０００９】
請求項６に係る本発明では、画像を１８０度回転させる場合に、前記部分画像の単位は、画像の少なくとも副走査方向を分割した場合の各画像領域であり、前記部分画像操作手段は、分割された画像領域を単位として、少なくとも副走査方向の順序を入れ替え、前記画素操作手段は、分割された画像領域内で、少なくとも副走査方向の順序を入れ替える。
【００１０】
請求項７に係る本発明では、前記部分画像操作手段は、画像位置を変更する場合に、符号化された画像情報の位置を、前記部分画像の単位で移動させ、前記画素操作手段は、復号化された画像情報を画素単位で移動させる。
【００１１】
請求項８に係る本発明では、前記部分画像操作手段は、符号化された複数の画像情報の中から、各画像領域について少なくとも１つの画像情報を選択し、前記画素操作手段は、複数の画像情報が選択された画像領域について、選択された複数の画像情報の中から、各画素で適用すべき画素値を選択する。
【００１２】
請求項９に係る本発明では、前記部分画像操作手段は、汎用演算器で実現され、前記画素操作手段は、専用演算器で実現される。
【００１３】
請求項１０に係る本発明は、符号化された画像情報を、複数の画素値が含まれた部分画像の単位で操作する部分画像操作手段と、前記部分画像操作手段により操作された画像情報を復号化する復号化手段と、前記復号化手段により復号化された画像情報に対して、複数種類の画像処理それぞれに対応する演算を施す複数の専用演算器とを有する。
【００１４】
請求項１１に係る本発明は、符号化された画像情報を、複数の画素値が含まれた部分画像の単位で操作する部分画像操作手段と、前記部分画像操作手段により操作された画像情報を復号化する復号化手段と、前記復号化手段により復号化された画像情報を画素単位で操作する画素操作手段と、前記画素操作手段により操作された画像情報に基づいて、画像を形成する像形成手段とを有し、前記部分画像操作手段で操作する部分画像の単位は、前記画素操作手段によって操作される内容に基づいて変更される。
【００１５】
請求項１２に係る本発明は、画像情報に対して画像処理を施す画像処理装置と、前記画像処理装置により画像処理が施された画像情報に基づいて、画像を形成する画像形成装置とを有し、前記画像処理装置は、符号化された画像情報を、複数の画素値が含まれた部分画像の単位で操作する部分画像操作手段と、前記部分画像操作手段により操作された画像情報を復号化する復号化手段と、前記復号化手段により復号化された画像情報を画素単位で操作する画素操作手段とを有し、前記部分画像操作手段で操作する部分画像の単位は、前記画素操作手段によって操作される内容に基づいて変更される。
【００１６】
請求項１３に係る本発明は、画素単位で画像情報に施される操作の内容に基づいて、複数の画素値が含まれた部分画像の単位を決定するステップと、符号化された画像情報を、決定された前記部分画像の単位で操作するステップと、部分画像単位で操作された画像情報を復号化するステップと、復号化された画像情報を画素単位で操作するステップとをコンピュータに実行させる。
【発明の効果】
【００１７】
請求項１に係る本発明によれば、操作される内容に基づいて部分画像の単位が変更され、内容に適した部分画像の単位となるため、本構成を有していない場合に比較して、画像処理に要する処理負荷が小さくなるという効果を奏する。
【００１８】
請求項２に係る本発明によれば、部分画像が互いに独立しているため、本構成を有していない場合に比較して、復号化処理をより円滑に行うことができるという効果を奏する。
【００１９】
請求項３に係る本発明によれば、部分画像が互いに独立となるように符号を変換するため、種々の符号データが処理可能になるという効果を奏する。
【００２０】
請求項４に係る本発明によれば、部分画像の単位で符号を回転させるため、本構成を有していない場合に比較して、回転処理の処理負荷が小さくなるという効果を奏する。
【００２１】
請求項５に係る本発明によれば、バッファリングすべき情報が本構成を有していない場合に比較して小さくなるため、９０度回転の処理負荷又は実装コストが小さくなるという効果を奏する。
【００２２】
請求項６に係る本発明によれば、バッファリングすべき情報が本構成を有していない場合に比較して小さくなるため、１８０度回転の処理負荷又は実装コストが小さくなるという効果を奏する。
【００２３】
請求項７に係る本発明によれば、部分画像の単位で符号を移動させるため、本構成を有していない場合に比較して、画像を移動させる処理の処理負荷が小さくなるという効果を奏する。
【００２４】
請求項８に係る本発明によれば、部分画像の単位で符号を合成するため、本構成を有していない場合に比較して、複数の画像を合成する処理の処理負荷が小さくなるという効果を奏する。
【００２５】
請求項９に係る本発明によれば、画像処理の特性に応じて処理を分担させるため、本構成を有していない場合に比較して、画像処理の処理速度が向上するという効果を奏する。
【００２６】
請求項１０に係る本発明によれば、複数種類の画像処理それぞれについて、ハードウェア処理に適した処理をそれぞれ専用のハードウェアに割り当てるため、本構成を有していない場合に比較して、複数種類の画像処理が実行可能な画像処理装置の実装コストが小さくなるという効果を奏する。
【００２７】
請求項１１に係る本発明によれば、操作される内容に基づいて部分画像の単位が変更され、内容に適した部分画像の単位となるため、本構成を有していない場合に比較して、画像形成装置における画像処理の処理負荷が小さくなるという効果を奏する。
【００２８】
請求項１２に係る本発明によれば、操作される内容に基づいて部分画像の単位が変更され、内容に適した部分画像の単位となるため、本構成を有していない場合に比較して、画像形成システムにおける画像処理の処理負荷が小さくなるという効果を奏する。
【００２９】
請求項１３に係る本発明によれば、操作される内容に基づいて部分画像の単位が変更され、内容に適した部分画像の単位となるため、本構成を有していない場合に比較して、画像処理の処理負荷が小さくなるという効果を奏する。
【発明を実施するための最良の形態】
【００３０】
［第１実施形態］
第１の実施形態における画像形成システムの概要を説明する。
図１は、画像形成システムの概要を説明する図である。
図１に例示するように、画像形成システム１は、画像処理装置２と、プリンタ３とを有する。
画像処理装置２は、コンピュータである。本実施形態の画像処理装置２は、ＬＡＮ等のネットワークに接続されており、ユーザ端末９２又はスキャナ９４から受信した画像情報に対して画像処理を施し、画像処理が施された画像情報をプリンタ３に送信する。本実施形態では、入力された画像（入力画像）を９０度又は１８０度に回転させる場合を画像処理の具体例として説明する。
プリンタ３は、画像形成装置の一例である。本実施形態のプリンタ３は、ＬＡＮ等のネットワークを介して、画像処理装置２から画像情報を受信し、受信した画像情報に基づいて画像を記録用紙に印刷する。
なお、画像処理装置２は、プリンタ３の筐体内に設けられてもよい。
【００３１】
図２は、画像処理装置２（図１）により実行される画像処理プログラム５の機能構成を例示する図である。
図２に例示するように、画像処理プログラム５は、符号変換部５０、部分画像操作部５２、復号化部５４、及び画素操作部５６を有する。
画像処理プログラム５の機能構成の一部又は全部は、例えば、記録媒体２０（図１）に記録されており、この記録媒体２０を介して画像処理装置２にインストールされる。なお、画像処理プログラム５の各機能構成は、ネットワークを介して、画像処理装置２にインストールされてもよい。また、本実施形態の画像形成システム１は、図１に示す構成に限らず、図２に示されたモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えばＡＳＩＣ等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ９４、プリンタ３、複合機（多機能複写機とも呼ばれ、スキャナ、プリンタ、複写機、ファックス等の機能を有している）などに組み込まれていてもよい。
【００３２】
画像処理プログラム５において、符号変換部５０は、入力された画像情報を、既定サイズの画像領域（以下、部分画像）毎に独立して復号化できる符号データに変換する。ここで、画像情報とは、符号化されていない画素値群（以下、画像データ）と、符号化された画像データとを含む概念である。
すなわち、本実施形態の符号変換部５０は、符号化されていない画像データが入力された場合には、入力された画像データに対して、既定サイズの部分画像毎に独立な符号化処理を施す。符号化処理の方式は、ＬＺ符号化方式、ランレングス符号化方式、予測符号化方式、ＤＣＴ（離散コサイン変換）又はＤＷＴ（離散ウェーブレット変換）などによる周波数変換符号化方式などである。ウインドウサイズ、ランの範囲、又は周波数変換の処理単位を限定することにより、既定サイズの部分画像毎に独立に復号化できる符号が生成できる。
また、本実施形態の符号変換部５０は、符号化された画像データが入力された場合には、この符号データを、既定サイズの部分画像毎に独立に復号化できる符号データに変換する。ランの分割等により、このような変換が可能になる。
なお、後段では符号語又は符号列の切出しやマージが行われるため、符号変換部５０は、ニブル（４ビット）、バイト、ワード（２バイト）などのバウンダリで構成された符号語を用いることが好ましい。これにより、符号列の切出し等が容易になる。
【００３３】
部分画像操作部５２は、部分画像の単位で、符号化された画像情報を操作する。部分画像には複数の画素値が存在するため、部分画像操作部５２は、複数の画素値に相当する符号列を単位として、符号データに含まれる符号列を操作する。なお、実施形態の説明では、部分画像に含まれる全画素値に相当する符号群を符号列とよび、画像全体に相当する符号群を符号データとよぶ。
本実施形態の部分画像操作部５２は、符号変換部５０から入力された符号データについて、画像の回転角度に対応する順序で、符号データに含まれる符号列を並び替え、並び替えられた符号データを復号化部５４に出力する。
【００３４】
復号化部５４は、部分画像操作部５２から入力された符号データを復号化し、復号化された画像データを画素操作部５６に出力する。符号変換部５０により変換された符号データは、部分画像毎に独立して復号化できるため、符号列の順序が入れ替わっていても復号化できる。
【００３５】
画素操作部５６は、復号化部５４により復号化された画像データを画素単位で操作する。
本実施形態の画素操作部５６は、復号化された画素値を、回転角度に対応する順序に並び替える
【００３６】
図３は、部分画像操作部５２（図２）をより詳細に説明する図である。
図３（Ａ）に例示するように、部分画像操作部５２は、符号語切出し部５２０、先頭位置保持部５２２及び部分符号切出し部５２４を含む。
符号語切出し部５２０は、符号表を参照して、符号データの先頭から符号語を切り出していき、符号データにおける部分画像の先頭位置を特定する。符号語切出し部５２０は、例えば、切り出された符号語に対応する画素数に基づいて部分画像の先頭位置を特定してもよいし、部分画像の終端位置を示す符号（例えば、ライン終端符号）に基づいて部分画像の先頭位置を特定してもよい。
このように、符号語の切出しは、符号語の長さだけがわかればよく、符号語に対応する内容（シンボル）を知る必要がないので、通常の復号化処理に比較して高速に行うことができる。なお、本実施形態では、可変長符号が適用されていることを前提としているが、固定長符号が適用されている場合には、符号語の切出しはより単純になる。
先頭位置保持部５２２は、符号語切出し部５２０により特定された部分画像の先頭位置（符号データにおける位置）を保持する。
部分符号切出し部５２４は、先頭位置保持部５２２により保持されている先頭位置に基づいて、符号データの中から、任意の順序で符号列を切り出す。本実施形態の部分符号切出し部５２４は、画像の回転角度に対応する切出し順序で、符号データの中から符号列を切り出し、切り出された符号列を順次復号化部５４に出力する。
【００３７】
図３（Ｂ）は、各符号語の符号長がヘッダ等に挿入されている場合の部分画像操作部５２を説明する図である。各符号語の符号長がヘッダ等でわかる場合、符号表を参照することなく符号語を切り出すことができる。そこで、図３（Ｂ）に例示する先頭位置特定部５２６は、ヘッダ等に挿入されている符号長に基づいて、符号データから、符号語を切り出して、符号データにおける部分画像の先頭位置を特定する。また、符号データの中に部分画像の先頭位置が埋め込まれている場合には、先頭位置特定部５２６は、符号データから先頭位置を抽出し、先頭位置保持部５２２に出力してもよい。
【００３８】
図４は、１８０度回転処理を説明する図である。
図４（Ａ）に例示するように、部分画像操作部５２（図２）は、画像の主走査方向の１ラインを部分画像として、入力された符号データを、１ラインに相当する符号列に分割する。なお、この場合に、符号変換部５０は、主走査方向の１ラインで独立に復号化できる符号データに変換してもよいし、主走査方向の１ラインを主走査方向に分割した画像領域で独立に復号化できる符号データに変換してもよい。すなわち、符号変換部５０が主走査方向の１ラインを複数に分割して部分画像を定義した場合、部分画像操作部５２は、これらの部分画像を１ライン分統合して操作する。
より具体的には、符号語切出し部５２０（図３（Ａ））は、入力された符号データの先頭から符号語を切り出して、主走査方向のライン（主走査ライン）の先頭位置を特定して先頭位置保持部５２２に登録する。これにより、部分符号切出し部５２４は、図４（Ａ）に例示された各部分画像の符号列に対して、任意の順序でアクセスできるようになる。
【００３９】
部分画像操作部５２は、図４（Ｂ）に例示するように、部分画像の符号列を、副走査方向（画像の上下方向）に並べ替える。これにより、部分画像の単位でみると、副走査方向の鏡像処理が施されたことになる。
より具体的には、部分符号切出し部５２４（図３（Ａ））が、先頭位置保持部５２２に保持されている先頭位置に基づいて、最下方のラインから順に符号列を切り出し、切り出された符号列を復号化部５４に出力していく。これにより、図４（Ｂ）に例示するように符号列が配列される。
【００４０】
次に、復号化部５４は、部分画像操作部５２（部分符号切出し部５２４）から順に入力される符号列を順に復号化し、復号化された画素値群を画素操作部５６に出力する。図４（Ｃ）は、復号化部５４から出力される部分画像１つ分の画素群を例示する図である。本実施形態では、１つの部分画像に５つの画素が含まれている。
画素操作部５６は、復号化部５４から入力された部分画像の画素値群を、画素単位で主走査方向に並び替える。より具体的には、画素操作部５６は、図４（Ｃ）に例示するように、復号化部５４から入力される画素値群を、１つの部分画像に相当する数（本実施形態では５つ）だけラインバッファに書き込み、このラインバッファから、書込みと反対の順序で読み出す。これにより、図４（Ｄ）に例示するように、１ライン分の画素群に対して主走査方向の鏡像処理が実現する。
以上のように、１８０度回転処理が、部分画像単位の１８０度回転処理（符号に対する処理）と、画素単位の１８０度回転処理（画素値に対する処理）との組合せで実現される。
【００４１】
図５は、右方向の９０度回転処理を説明する図である。
図５（Ａ）に例示するように、９０度回転処理を行う場合には、主走査方向に分割された部分画像を定義することが好ましい。本実施形態では、主走査方向の１ラインを３等分した画像領域を部分画像としている。また、本実施形態では、１つの部分画像内には、５つの画素が主走査方向に配列されている。
具体的には、符号語切出し部５２０（図３（Ａ））は、入力された符号データの先頭から符号語を切り出して、符号語に対応する画素数に基づいて、各部分画像の先頭位置を特定して先頭位置保持部５２２に登録する。これにより、部分符号切出し部５２４は、図５（Ａ）に例示された各部分画像の符号列に対して、任意の順序でアクセスできるようになる。
【００４２】
部分画像操作部５２は、図５（Ｂ）に例示するように、部分画像の単位でみると画像が９０度回転するように、部分画像の符号列を並べ替える。
具体的には、部分符号切出し部５２４（図３（Ａ））が、先頭位置保持部５２２に保持されている先頭位置に基づいて、副走査方向に逆方向で部分画像の符号列を切り出し、最上部の部分画像（部分画像１）まで切り出すと、主走査方向に１つ部分画像分だけ移動して、再度、副走査方向に逆方向で部分画像の符号列を切り出す。これにより、図５（Ｂ）に例示するように、符号列が配列される。
【００４３】
次に、復号化部５４は、部分画像操作部５２（部分符号切出し部５２４）から順に入力される符号列を順に復号化し、復号化された画素値群を画素操作部５６に出力する。
画素操作部５６は、復号化部５４から入力された部分画像の画素値群を画素単位で並び替えることにより、各部分画像の画素値群を９０度回転させる。
具体的には、画素操作部５６は、図５（Ｃ）に例示するように、復号化部５４から入力される３つの部分画像の画素値群をブロックラインバッファに書き込み、このブロックラインバッファから、書込み方向と直交する方向に読み出す。これにより、図５（Ｄ）に例示するように、各部分画像に含まれる画素群が９０度回転する。なお、ブロックラインバッファとは、画像１ページ分に相当するページバッファよりも小さい領域に対応するバッファである。
以上のように、９０度回転処理が、部分画像単位の９０度回転処理（符号に対する処理）と、画素単位の９０度回転処理（画素値に対する処理）との組合せで実現される。
【００４４】
［変形例］
次に、上記本実施形態の変形例を説明する。
上記本実施形態では、１８０度回転処理を行う場合には、主走査方向の１ラインを部分画像として処理したが、これに限定されるものではなく、例えば、図６（Ａ）に例示するように、主走査方向の１ラインを分割して部分画像を定義してもよい。
この場合に、部分画像操作部５２は、図６（Ｂ）に例示するように、部分画像の単位で、１８０度回転処理を行う。すなわち、本変形例では、部分画像操作部５２が、部分画像の単位でみると、主走査方向の鏡像処理と、副走査方向の鏡像処理とを実行する。
そして、画素操作部５６は、図６（Ｃ）及び図６（Ｄ）に例示するように、各部分画像の中で画素群を並び替える。この場合に、図６（Ｃ）に例示するように、ラインバッファのサイズが部分画像のサイズによって決まるため、部分画像のサイズを小さくするほど、ラインバッファを小さくできる。ただし、上記本実施形態のように、１ライン全体を部分画像とした場合には、本変形例よりも、圧縮率が高くなる場合が多い。
【００４５】
また、上記本実施形態では、副走査方向のサイズが１画素の部分画像を定義しているが、これに限定されるものではなく、例えば、図７（Ａ）に例示するように、副走査方向のサイズが２画素の部分画像を定義してもよい。なお、本実施形態では、２つの主走査ラインを部分画像としている。
この場合、部分画像操作部５２は、上記本実施形態と同様に、これらの部分画像を副走査方向に並び替えるだけでよい。そして、画素操作部５６は、図７（Ｂ）に例示するように、部分画像の画素群をブロックラインバッファに書き込み、このブロックラインバッファから、書込みと逆の順序で読み出す。これにより、図７（Ｃ）に例示するように、部分画像内の画素値群が１８０度回転する。
【００４６】
［第２実施形態］
次に、第２の実施形態として、画像をシフトする形態を説明する。
図８（Ａ）に例示する入力画像を、図８（Ｂ）に例示するように並行移動（シフト）させて出力画像とすることがある。このようなシフト処理を行う場合には、図８（Ｂ）に例示するように、画素の移動だけでなく、余白領域の追加や、はみ出し領域の削除などを行う必要がある。
そこで、本実施形態では、部分画像単位で、画素の移動、余白領域の追加、及びはみ出し領域の削除の少なくとも１つを行い、その後に、画素単位で、画素の移動等を行う。なお、画像形成システム１の構成等は、第１の実施形態と実質的に同一である。
【００４７】
図９（Ａ）は、本実施形態の部分画像操作部６２の機能構成を例示し、図９（Ｂ）は、本実施形態の画素操作部６６の機能構成を例示する図である。なお、本実施形態の画像処理プログラム６は、図２の画像処理プログラム５の部分画像操作部５２及び画素操作部５６を、本実施形態の部分画像操作部６２及び画素操作部６６にそれぞれ置換した構成をとる。
図９（Ａ）に例示するように、部分画像操作部６２は、部分画像シフト制御部６２０、部分画像バッファ６２２、部分符号削除部６２４、及び余白符号挿入部６２６を含む。
部分画像シフト制御部６２０は、シフト方向及びシフト量に応じて、部分画像の移動処理、余白領域の追加処理、はみ出し領域の削除処理を制御する。
より具体的には、部分画像シフト制御部６２０は、入力された符号データから順に符号語を切り出して部分画像バッファ６２２に出力し、部分画像バッファ６２２は、部分画像シフト制御部６２０から入力される符号語を１つの部分画像分（すなわち、符号列）格納する。
部分画像シフト制御部６２０は、シフト方向及びシフト量から、部分画像と同じサイズの次の画像領域が余白領域であるか、はみ出し領域であるか、又は、これら以外であるかを判定し、次の画像領域が余白領域（余白画素のみからなる画像領域）である場合に、余白符号挿入部６２６に対して余白符号の挿入を指示し、次の画像領域がはみ出し領域（はみ出した画素のみからなる画像領域）である場合に、部分符号削除部６２４に対して部分画像の符号列を削除するよう指示し、次の画像領域が余白領域でもはみ出し領域でもない場合に、部分画像バッファ６２２に対して、保持している符号列を出力するよう指示する。
部分符号削除部６２４は、部分画像シフト制御部６２０から符号列の削除が指示されると、部分画像バッファ６２２に保持されている符号列を消去する。
余白符号挿入部６２６は、部分画像シフト制御部６２０から余白符号の挿入が指示されると、部分画像１つ分の余白領域に相当する符号列を復号化部５４に出力する。余白領域に相当する符号列は、例えば、ランレングス符号化方式の場合に、画素値０のランであり、予め用意される。
部分画像バッファ６２２は、部分画像シフト制御部６２０から符号列の出力が指示されると、保持している符号列を復号化部５４に出力する。すなわち、部分画像バッファ６２２が、保持している符号列の出力タイミングをずらすことにより、部分画像単位の画素群の平行移動が実現される。
【００４８】
また、図９（Ｂ）に例示するように、画素操作部６６は、画素シフト制御部６６０、画素値バッファ６６２、画素削除部６６４、及び余白画素挿入部６６６を含む。
画素シフト制御部６６０は、シフト方向及び残りのシフト量に応じて、部分画像に含まれる画素の移動処理、余白画素の追加処理、はみ出し画素の削除処理を制御する。ここで、残りのシフト量とは、要求されたシフト量から、部分画像操作部６２によるシフト量を差し引きした値である。
本実施形態の画素シフト制御部６６０は、復号化部５４から入力された画素値群を順に画素値バッファ６６２に出力し、画素値バッファ６６２は、画素シフト制御部６６０から入力される画素値を格納する。
画素シフト制御部６６０は、シフト方向及び残りのシフト量から、次の画素が余白画素であるか、はみ出し画素であるか、又は、これら以外であるかを判定し、次の画素が余白画素である場合に、余白画素挿入部６６６に対して余白画素の挿入を指示し、次の画素がはみ出し画素である場合に、画素削除部６６４に対して画素の削除を指示し、次の画素が余白画素でもはみ出し画素でもない場合に、画素値バッファ６６２に対して、保持している画素値を出力するよう指示する。
画素削除部６６４は、画素シフト制御部６６０から画素値の削除が指示されると、画素値バッファ６６２に保持されている画素値を消去する。
余白画素挿入部６６６は、画素シフト制御部６６０から余白画素の挿入が指示されると、余白に相当する画素値を１つ出力する。余白に相当する画素値は、例えば、０であり、予め用意される。
画素値バッファ６６２は、画素シフト制御部６６０から画素値の出力が指示されると、保持している画素値を出力する。すなわち、画素値バッファ６６２が、保持している画素値の出力タイミングをずらすことにより、画素単位で画素を平行移動させる。
【００４９】
図１０は、シフト処理を説明する図である。本図では、主走査方向に５画素だけ移動させる場合を説明する。
図１０（Ａ）に例示するように、シフト処理を行う場合には、主走査方向及び副走査方向に分割された部分画像を定義することが好ましい。本実施形態では、画像を主走査方向及び副走査方向に３等分した画像領域を部分画像としている。また、本実施形態では、１つの部分画像内には、４つの画素が主走査方向に配列されている。
【００５０】
部分画像操作部６２は、図１０（Ｂ）に例示するように、部分画像の単位で、シフト処理を行う。本実施形態では、主走査方向に５画素のシフトが要求されているため、部分画像１つ分のシフトと、１画素分のシフトとが行われる。そして、部分画像１つ分のシフト処理として、１つの余白符号列が主走査方向の先頭に挿入される。これにより、部分画像１及び部分画像２等が主走査方向下流（紙面右方向）に１つの部分画像分だけ移動する。さらに、部分画像３、部分画像５及び部分画像８の符号列は、はみ出し領域の符号として削除される。
【００５１】
次に、復号化部５４は、部分画像操作部６２から順に入力される符号列を順に復号化し、復号化された画素値群を画素操作部６６に出力する。なお、余白符号は、余白に相当する画素値として復号化される。
画素操作部６６は、復号化部５４から入力された画素値群を、残りのシフト量だけ画素単位でシフトさせる。
具体的には、画素操作部６６は、図１０（Ｃ）に例示するように、復号化部５４から入力される画素値群に余白画素を挿入し、また、はみ出し画素が存在する場合には、はみ出し画素（部分画像２、部分画像５及び部分画像８の最後の画素）を削除する。
以上のように、所望のシフト処理が、部分画像の単位のシフト処理（符号に対する処理）と、画素単位のシフト処理（画素に対する処理）との組合せで実現される。
【００５２】
［第３実施形態］
次に、第３の実施形態として、複数の入力画像を合成する形態を説明する。
図１１（Ａ）に例示する入力画像Ａと、図１１（Ｂ）に例示する入力画像Ｂとを合成して、図１１（Ｄ）に例示する出力画像（合成画像）を生成する場合がある。この場合に、合成方法を指示する情報として、図１１（Ｃ）に例示するタグ情報が使用される。本実施形態のタグ情報は、二値画像であり、一方の値が入力画像Ａの採用を指示し、他方の値が入力画像Ｂの採用を指示している。すなわち、本実施形態のタグ情報は、画像の左側半分について入力画像Ａを採用し、画像の右側半分について入力画像Ｂを採用するよう指示している。
本実施形態では、このような合成処理（マージ処理）を、部分画像単位での合成処理と、画素単位での合成処理とを組み合わせて実現する。なお、画像形成システム１の構成等は、第１の実施形態と実質的に同一である。
【００５３】
図１２（Ａ）は、本実施形態の部分画像操作部７２の機能構成を例示し、図１２（Ｂ）は、本実施形態の画素操作部７６の機能構成を例示する図である。なお、本実施形態の画像処理プログラム７は、図２の画像処理プログラム５の部分画像操作部５２及び画素操作部５６を、本実施形態の部分画像操作部７２及び画素操作部７６にそれぞれ置換した構成をとる。
図１２（Ａ）に例示するように、部分画像操作部７２は、部分画像タグ判定部７２０、部分符号選択部７２２、及びタグ生成部７２４を含む。
部分画像タグ判定部７２０は、各部分画像に対応するタグ情報を抽出し、抽出されたタグ情報に基づいて、入力された複数の画像の符号データの中から、いずれの符号列を選択するかを判定する。また、部分画像タグ判定部７２０は、抽出されたタグ情報をタグ生成部７２４に出力する。
部分符号選択部７２２は、入力された複数の画像の符号データの中から、符号表等に基づいて、部分画像に相当する符号列をそれぞれ切り出し、切り出された複数の符号列の中から、部分画像タグ判定部７２０による判定結果に応じて、少なくとも１つの符号列を選択する。
本実施形態では、部分画像タグ判定部７２０は、抽出されたタグ情報（部分画像に対応する部分のタグ情報）が入力画像Ａのみを指定している場合に、入力画像Ａの符号列を選択するよう部分符号選択部７２２に指示し、部分符号選択部７２２は、この指示に応じて、切り出された複数の符号列の中から、入力画像Ａの符号列を選択し、選択された符号列を復号化部５４に出力する。同様に、部分画像タグ判定部７２０は、タグ情報が入力画像Ｂのみを指定している場合に、入力画像Ｂの符号列を選択するよう指示し、部分符号選択部７２２は、この指示に応じて、入力画像Ｂの符号列を選択し、選択された符号列を復号化部５４に出力する。また、部分画像タグ判定部７２０は、抽出されたタグ情報（部分画像に対応する部分のタグ情報）の中に入力画像Ａを指定するタグＡと入力画像Ｂを指定するタグＢとが混在している場合に、入力画像Ａの符号列と入力画像Ｂの符号列とを選択するよう部分符号選択部７２２に指示し、部分符号選択部７２２は、この指示に応じて、切り出された複数の符号列の中から、入力画像Ａの符号列及び入力画像Ｂの符号列を選択し、選択された複数の符号列を復号化部５４に出力する。
タグ生成部７２４は、部分画像タグ判定部７２０から入力されたタグ情報に基づいて、画素単位の合成処理を行うためのタグ情報（画素単位タグ）を生成し、生成された画素単位タグを画素操作部７６に出力する。
【００５４】
また、図１２（Ｂ）に例示するように、画素操作部７６は、画素単位タグ判定部７６０及び画素値選択部７６２を含む。
画素単位タグ判定部７６０は、入力されたタグ情報の中から、各画素に対応するタグを抽出し、抽出されたタグに基づいて、復号化部５４から入力された複数の画素値群の中から、いずれの画素値を選択するかを画素単位で判定する。
本実施形態の画素単位タグ判定部７６０は、タグ生成部７２４により生成された画素単位タグに基づいて、復号化部５４から入力された各画像の画素値（入力画像Ａの画素値と入力画像Ｂの画素値）の中から、いずれの画素値を選択するか判定する。
画素値選択部７６２は、復号化部５４から入力された複数の画素値群の中から、画素単位で、採用すべき画素値を選択する。その際に、単一の画素値しか存在しない場合（すなわち、部分画像単位で、入力画像Ａ又は入力画像Ｂの符号列が選択された場合）、画素値選択部７６２は、無条件に、存在する画素値をそのまま出力する。
本実施形態の画素値選択部７６２は、入力画像Ａ又は入力画像Ｂの画素値のみが存在する部分画像については、その画素値をそのまま出力し、入力画像Ａ及び入力画像Ｂの画素値が存在する部分画像については、タグ生成部７２４により生成された画素単位タグに基づいて、入力画像Ａの画素値、又は、入力画像Ｂの画素値を画素単位で選択し、選択された画素値を出力する。
【００５５】
図１３は、合成処理（マージ処理）を説明する図である。なお、本図では、２つの入力画像がマージされる場合を具体例として説明しているが、３つ以上の入力画像をマージする場合も同様に処理可能である。
図１３（Ａ）に例示するように、合成処理を行う場合には、主走査方向及び副走査方向に分割された部分画像を定義することが好ましい。本実施形態では、主走査方向の１ラインを主走査方向に３等分した画像領域を部分画像としている。このような部分画像は、複数の入力画像それぞれ（入力画像Ａ及び入力画像Ｂ）について定義され、１つの部分画像内には、４つの画素（Ａ１〜Ａ４、Ｂ１〜Ｂ４）が主走査方向に配列されている。
また、タグ情報は、画素それぞれについて存在する。本実施形態では、部分画像１（部分画像Ａ１及び部分画像Ｂ１）に相当する画像領域については、入力画像Ａを指定するタグＡのみが存在し、部分画像２に相当する画像領域については、入力画像Ａを指定するタグＡと、入力画像Ｂを指定するタグＢとが混在し、部分画像３に相当する画像領域については、入力画像Ｂを指定するタグＢのみが存在する。
【００５６】
部分画像操作部７２は、図１３（Ｂ）に例示するように、部分画像の単位で、マージ処理を行う。すなわち、部分画像タグ判定部７２０は、部分画像毎に、タグ情報を読み出し、読み出されたタグ情報が入力画像Ａのタグのみである場合に、部分符号選択部７２２に、入力画像Ａの部分画像に相当する符号列（本実施形態では、部分画像Ａ１の符号列）を選択させ、読み出されたタグ情報が入力画像Ａのタグと入力画像Ｂのタグとを含む場合に、部分符号選択部７２２に、入力画像Ａ及び入力画像Ｂの符号列（本実施形態では、部分画像Ａ２の符号列及び部分画像Ｂ２の符号列）を選択させ、読み出されたタグ情報が入力画像Ｂのタグのみである場合に、部分符号選択部７２２に、入力画像Ｂの符号列（本実施形態では、部分画像Ｂ３の符号列）を選択させる。なお、部分符号選択部７２２は、選択した符号列を図１３（Ｂ）に例示するように２つのストリームとして復号化部５４に出力してもよいし、これらをマージして１つのストリームとして復号化部５４に出力してもよい。
また、本実施形態の部分画像タグ判定部７２０は、読み出されたタグ情報が入力画像Ａのタグと入力画像Ｂのタグとを含む場合にのみ、タグ生成部７２４に対して、画素単位タグを生成するよう指示する。タグ生成部７２４は、この指示に応じて、図１３（Ｃ）に例示するように、部分画像を特定するための情報（部分画像ＩＤ）と、この部分画像に関するタグ情報とが含まれた画素単位タグを生成する。なお、タグ生成部７２４は、図１３（Ｃ）に例示するように、画素単位のマージが必要な部分画像のみについて画素単位タグを生成してもよいし、元のタグ情報全体をそのまま画素単位タグとして出力してもよい。
【００５７】
次に、復号化部５４は、部分画像操作部７２から順に入力される符号列を順に復号化し、復号化された画素値群を画素操作部７６に出力する。
画素操作部７６は、復号化部５４から入力された画素値群に対して、画素単位でマージする。
具体的には、画素単位タグ判定部７６０は、図１３（Ｃ）に例示する画素単位タグに基づいて、マージ処理を行う部分画像（本実施形態では、部分画像２）を特定し、特定された部分画像について、タグに応じたマージ処理を行って、図１３（Ｄ）に例示するように、画素単位のマージ処理を実現する。
以上のように、合成処理（マージ処理）が、部分画像単位のマージ処理（符号に対する処理）と、画素単位のマージ処理（画素値に対する処理）との組合せで実現される。
【００５８】
［第４実施形態］
次に、第４の実施形態として、上記複数種類の画像処理を実行できる形態を説明する。なお、画像形成システム１の構成等は、第１の実施形態と実質的に同一である。
図１４（Ａ）は、本実施形態の画像処理装置２に設けられる画像処理ユニット８の機能構成を例示し、図１４（Ｂ）は、画像処理ユニット８における汎用演算器のハードウェア構成を例示する図である。なお、本図に示された構成のうち、図２、図９又は図１２に示された各構成と実質的に同一のものには同一の符号が付されている。
図１４に例示するように、画像処理ユニット８は、符号変換部５０、部分画像操作部８２、復号化部５４、回転画素操作部５６、シフト画素操作部６６、及び合成画素操作部７６を有する。
本実施形態の符号変換部５０、部分画像操作部８２及び復号化部５４は、中央演算装置（ＣＰＵ）などのように汎用的に用いられる汎用演算器と、ソフトウェアとを用いて実装される。
また、本実施形態の回転画素操作部５６、シフト画素操作部６６及び合成画素操作部７６は、特定用途向け集積回路（ＡＳＩＣ）などのような専用演算器を用いて実装される。
【００５９】
画像処理ユニット８において、部分画像操作部８２は、図３に例示した部分画像操作部５２の機能（部分画像単位の回転処理）と、図９（Ａ）に例示した部分画像操作部６２の機能（部分画像単位のシフト処理）と、図１２（Ａ）に例示した部分画像操作部７２の機能（部分画像単位のマージ処理）とをソフトウェアで実現する。
本実施形態の部分画像操作部８２は、要求された画像処理（回転、シフト、マージ）に応じて、部分画像単位で、符号列に対する回転処理、シフト処理又はマージ処理を行う。
なお、図１４（Ｂ）に例示するように、例えば、汎用演算器は、ＣＰＵ（Central Processing Unit）２００と、ＲＡＭ（Random Access Memory）又はＲＯＭ（Read Only Memory）等のメモリ２０２と、データの入出力を制御するＩ／Ｏ制御部２０４と、ハードディスクドライブ装置（ＨＤＤ装置）２０６とで構成される。上記符号変換部５０、部分画像操作部８２、及び復号化部５４を実現するプログラムは、例えば、メモリ２０２にロードされて、ＣＰＵ２００により実行される。
【００６０】
回転画素操作部５６は、図２に例示した画素操作部５６の機能（画素単位の回転処理）を実現する専用演算器である。なお、本実施形態では、画素単位の９０度回転処理と１８０度回転処理とを単位の回転画素操作部５６で実現しているが、９０度回転処理を行う専用演算器と、１８０度回転処理を行う専用演算器とが別個に設けられてもよい。
シフト画素操作部６６は、図９に例示した画素操作部６６の機能（画素単位のシフト処理）を実現する専用演算器である。
合成画素操作部７６は、図１２に例示した画素操作部７６の機能（画素単位のマージ処理）を実現する専用演算器である。
【００６１】
次に、画像処理装置２（画像処理ユニット８）の動作を説明する。
図１５は、画像処理装置２（画像処理ユニット８）の動作（Ｓ１０）を説明するフローチャートである。
図１５に示すように、ステップ１００（Ｓ１００）において、画像処理装置２（図１）は、ユーザ端末９２から画像の符号データと画像処理指示情報とを受信すると、受信した画像処理指示情報に応じて、受信した符号データに対して画像処理を開始する。なお、本実施形態では、画像処理の内容がユーザによって指示される形態を具体例として説明するが、これに限定されるものではなく、例えば、画像処理装置２が入力画像のサイズと出力画像のサイズ（記録用紙のサイズ）とを比較して画像処理の内容を決定してもよい。
画像処理ユニット８（図１４）の符号変換部５０は、受信した符号データを、主走査方向及び副走査方向に分割された部分画像で独立に復号化できる符号データに変換し部分画像操作部８２に出力する。
【００６２】
ステップ１０５（Ｓ１０５）において、部分画像操作部８２（図１４）は、符号変換部５０から入力された符号データに対する画像処理の内容を、画像処理指示情報に基づいて判定する。
画像処理ユニット８は、画像処理の内容がマージ処理である場合に、Ｓ１１０の処理に移行し、画像処理の内容がシフト処理である場合に、Ｓ１３０の処理に移行し、画像処理の内容が回転処理である場合に、Ｓ１４５の処理に移行する。
【００６３】
ステップ１１０（Ｓ１１０）において、部分画像操作部８２は、符号データに付加されたタグ情報に基づいて、複数の入力画像の符号列（部分画像に相当する部分の符号データ）をマージする。具体的には、部分画像操作部８２は、図１３（Ａ）及び（Ｂ）に例示するように、部分画像についてタグ情報が１種類しか存在しない場合（タグＡ又はタグＢのみの場合）には、この部分画像について、タグで指定された入力画像の符号列のみを選択し、単一の部分画像について複数種類のタグが混在する場合（タグＡとタグＢとが混在する場合）には、部分画像操作部８２は、これら複数の入力画像の符号列を全て選択し、さらに、この部分画像について画素単位タグ図１３（Ｃ）を生成する。
なお、本ステップの処理は、参照範囲が広く複雑であるが、処理量そのものは多くないため、汎用演算器で行うことが好ましい。
【００６４】
ステップ１１５（Ｓ１１５）において、復号化部５４は、部分画像操作部８２から入力される符号データ（部分画像単位でマージされたもの）を復号化し、復号化された画素値群と、部分画像操作部８２から入力された画素単位タグとを合成画素操作部７６に出力する。
【００６５】
ステップ１２０（Ｓ１２０）において、合成画素操作部７６は、図１３（Ｃ）及び（Ｄ）に例示するように、復号化部５４から入力された画素値群に対して、入力された画素単位タグに従って画素単位のマージ処理を行う。
なお、本ステップの処理は、画素単位の処理になるため処理量が多くなる可能性があるが、参照範囲が部分画像内に制限され、かつ、単純な処理であるため、専用演算器で行うことが好ましい。
【００６６】
ステップ１３０（Ｓ１３０）において、部分画像操作部８２は、シフト方向及びシフト量に応じて、部分画像単位で、符号列をシフトさせる。具体的には、図１０（Ａ）及び（Ｂ）に例示するように、余白符号の挿入、はみ出し領域に相当する符号列の削除、及び、これらによる符号列の移動（シフト）が行われる。なお、この段階で、要求される全シフト処理がなされるわけではなく、部分画像単位で可能な範囲のシフトのみが行われる。そして、部分画像操作部８２は、残りのシフト量を算出し、シフト方向及び残りのシフト量をシフト画素操作部６６に通知する。
なお、本ステップの処理は、参照範囲が広く複雑であるが、処理量そのものは多くないため、汎用演算器で行うことが好ましい。
【００６７】
ステップ１３５（Ｓ１３５）において、復号化部５４は、部分画像操作部８２から入力される符号データ（部分画像単位でシフトされたもの）を復号化し、復号化された画素値群をシフト画素操作部６６に出力する。
【００６８】
ステップ１４０（Ｓ１４０）において、シフト画素操作部６６は、復号化部５４から入力された画素値群に対して、図１０（Ｃ）に例示するように、シフト方向及び残りのシフト量に応じて、余白画素の追加、及び、はみ出し画素の削除を行う。これにより、画素単位でシフト処理が施されることになる。
なお、本ステップの処理は、画素単位の処理になるため処理量が多くなる可能性があるが、参照範囲が比較的狭く、かつ、単純な処理であるため、専用演算器で行うことが好ましい。
【００６９】
ステップ１４５（Ｓ１４５）において、部分画像操作部８２（図１４）は、符号変換部５０から入力された符号データに対する回転処理の角度が９０度回転であるか１８０度回転であるかを判定する。
画像処理ユニット８は、９０度回転処理である場合に、Ｓ１５０の処理に移行し、１８０度回転処理である場合に、Ｓ１６５の処理に移行する。
【００７０】
ステップ１５０（Ｓ１５０）において、部分画像操作部８２は、部分画像の単位で、符号列を９０度回転させる。具体的には、部分画像操作部８２は、図５（Ａ）及び（Ｂ）に例示するように、部分画像の単位で９０度回転するよう、各部分画像に相当する符号列を並び替える。
なお、本ステップの処理は、参照範囲が広く複雑であるが、処理量そのものは多くないため、汎用演算器で行うことが好ましい。
【００７１】
ステップ１５５（Ｓ１５５）において、復号化部５４は、部分画像操作部８２から入力される符号データ（部分画像単位で９０度回転されたもの）を復号化し、復号化された画素値群を回転画素操作部５６に出力する。
【００７２】
ステップ１６０（Ｓ１６０）において、回転画素操作部５６は、復号化部５４から入力された画素値群を、部分画像内で９０度回転させる。具体的には、回転画素操作部５６は、図５（Ｃ）及び（Ｄ）に例示するように、部分画像に含まれる画素値群をブロックラインバッファに書き込み、回転方向に対応する順序でこのブロックラインバッファから画素値を読み出す。
なお、本ステップの処理は、画素単位の処理になるため処理量が多くなる可能性があるが、参照範囲が比較的狭く、かつ、単純な処理であるため、専用演算器で行うことが好ましい。
【００７３】
ステップ１６５（Ｓ１６５）において、部分画像操作部８２は、部分画像を主走査方向１ライン分にまとめて、これを１８０度回転処理の部分画像とする。
部分画像操作部８２は、部分画像の単位で、符号列を１８０度回転させる。具体的には、部分画像操作部８２は、図４（Ａ）及び（Ｂ）に例示するように、各部分画像に相当する符号列を副走査方向に並び替える。
なお、本ステップの処理は、参照範囲が広く複雑であるが、処理量そのものは多くないため、汎用演算器で行うことが好ましい。
【００７４】
ステップ１７０（Ｓ１７０）において、復号化部５４は、部分画像操作部８２から入力される符号データ（部分画像単位で１８０度回転されたもの）を復号化し、復号化された画素値群を回転画素操作部５６に出力する。
【００７５】
ステップ１７５（Ｓ１７５）において、回転画素操作部５６は、復号化部５４から入力された画素値群を、部分画像内で１８０度回転させる。具体的には、回転画素操作部５６は、図４（Ｃ）及び（Ｄ）に例示するように、部分画像に含まれる画素値群をラインバッファに書き込み、書込みの反対の順序で、このラインバッファから画素値を読み出す。
なお、本ステップの処理は、画素単位の処理になるため処理量が多くなる可能性があるが、参照範囲が比較的狭く、かつ、単純な処理であるため、専用演算器で行うことが好ましい。
【００７６】
ステップ１８０（Ｓ１８０）において、回転画素操作部５６、シフト画素操作部６６又は合成画素操作部７６から出力される画素値は、プリンタ３（図１）に転送される。
ステップ１８５（Ｓ１８５）において、プリンタ３は、転送された画素値に基づいて、画像を記録用紙に印刷する。
【図面の簡単な説明】
【００７７】
【図１】画像形成システムの概要を説明する図である。
【図２】画像処理装置２（図１）により実行される画像処理プログラム５の機能構成を例示する図である。
【図３】部分画像操作部５２（図２）をより詳細に説明する図である。
【図４】１８０度回転処理を説明する図である。
【図５】右方向の９０度回転処理を説明する図である。
【図６】１８０度回転処理の変形例１を説明する図である。
【図７】１８０度回転処理の変形例２を説明する図である。
【図８】部分画像単位及び画素単位のシフト処理の概要を説明する図である。
【図９】第２の実施形態における部分画像操作部６２及び画素操作部６６の機能構成を例示する図である。
【図１０】シフト処理を説明する図である。
【図１１】合成処理の概要を説明する図である。
【図１２】第３の実施形態における部分画像操作部７２及び画素操作部７６の機能構成を例示する図である。
【図１３】部分画像単位及び画素単位の合成処理（マージ処理）を説明する図である。
【図１４】画像処理ユニット８の機能構成を例示する図である。
【図１５】画像処理装置２（画像処理ユニット８）の動作（Ｓ１０）を説明するフローチャートである。
【符号の説明】
【００７８】
１・・・画像形成システム
２・・・画像処理装置
５・・・画像処理プログラム
５０・・・符号変換部
５２，６２，７２・・・部分画像操作部
５４・・・復号化部
５６，６６，７６・・・画素操作部
８・・・画像処理ユニット
８２・・・部分画像操作部
【図１】
2008182324.tif 000003
【図２】
2008182324.tif 000004
【図３】
2008182324.tif 000005
【図４】
2008182324.tif 000006
【図５】
2008182324.tif 000007
【図６】
2008182324.tif 000008
【図７】
2008182324.tif 000009
【図８】
2008182324.tif 000010
【図９】
2008182324.tif 000011
【図１０】
2008182324.tif 000012
【図１１】
2008182324.tif 000013
【図１２】
2008182324.tif 000014
【図１３】
2008182324.tif 000015
【図１４】
2008182324.tif 000016
【図１５】
2008182324.tif 000017