(57)【要約】      （修正有）【課題】第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、符号化から復号までのいずれかの処理で異常が発生したことが、第１の方向に並ぶ画素の集合における一以上の箇所で検出されるようにする情報処理装置およびプログラムを提供する。【解決手段】ページの行毎に複数の画素の階調値をマーカ情報に置き換える。置き換え処理により各行に含まれるマーカ画素の間隔をページ単位で予め定める。また、置き換え処理により各行に含まれる複数のマーカ画素の行方向における位置は、行毎に異なる。さらに、置き換え処理により各行に含まれる複数のマーカ画素の行方向における位置は、色成分毎に異なる。【選択図】図３
2016042652.tif 000002
【特許請求の範囲】
【請求項１】
第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の階調値を、当該階調値と同じデータ量のマーカ情報に置き換える置き換え手段と、
前記マーカ情報を含む画像データを符号化する符号化手段と
を有する情報処理装置。
【請求項２】
第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データであって、符号化された画像データを復号する復号手段と、
前記復号手段により復号された画像データを出力する出力手段と、
前記復号手段により復号された画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の位置を特定する特定手段と、
前記復号手段により復号された画像データにおいて、前記特定手段により位置が特定された複数の画素の階調値のいずれかが、当該画素の階調値と同じデータ量のマーカ情報と異なる場合に、前記出力手段が画像データを出力するのを停止するように前記出力手段を制御する制御手段と
を有する情報処理装置。
【請求項３】
前記間隔は、前記画像データのページ単位で定められている
請求項１または２に記載の情報処理装置。
【請求項４】
予め定められた間隔を空けて配置された前記複数の画素の前記第１の方向における位置は、前記集合毎に異なる
請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記画像データは、複数の色成分を含み、
予め定められた間隔を空けて配置された前記複数の画素の前記第１の方向における位置は、色成分毎に異なる
請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
前記復号手段により復号された画像データにおいて、前記特定手段により位置が特定された複数の画素の階調値のいずれかが前記マーカ情報と異なる場合に、当該複数の画素のうち階調値が前記マーカ情報と異なる画素の前記第１の方向および前記第２の方向における位置を記録する記録手段
を有する請求項２に記載の情報処理装置。
【請求項７】
前記符号化された画像データの一部を記憶する記憶手段と、
前記復号手段による復号と同期して、前記記憶手段に記憶されたデータを、前記復号手段により復号されている領域を含むデータに書き換える書き換え手段と
を有し、
前記制御手段は、前記復号手段により復号された画像データにおいて、前記特定手段により位置が特定された複数の画素の階調値のいずれかが、当該画素の階調値と同じデータ量のマーカ情報と異なる場合に、前記書き換え手段がデータを書き換えるのを停止するように前記書き換え手段を制御する
請求項２または６に記載の情報処理装置。
【請求項８】
第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、端部の画素以外の一の画素の階調値を、当該階調値と同じデータ量のマーカ情報に置き換える置き換え手段と、
前記マーカ情報を含む画像データを符号化する符号化手段と
を有する情報処理装置。
【請求項９】
第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データであって、符号化された画像データを復号する復号手段と、
前記復号手段により復号された画像データを出力する出力手段と、
前記復号手段により復号された画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、端部の画素以外の一の画素の位置を特定する特定手段と、
前記復号手段により復号された画像データにおいて、前記特定手段により位置が特定された前記一の画素の階調値が、当該画素の階調値と同じデータ量のマーカ情報と異なる場合に、前記出力手段が画像データを出力するのを停止するように前記出力手段を制御する制御手段と
を有する情報処理装置。
【請求項１０】
コンピュータに、
第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の階調値を、当該階調値と同じデータ量のマーカ情報に置き換えるステップと、
前記マーカ情報を含む画像データを符号化するステップと
を実行させるためのプログラム。
【請求項１１】
コンピュータに、
第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データであって、符号化された画像データを復号するステップと、
復号された画像データを出力するステップと、
復号された画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の位置を特定するステップと、
復号された画像データにおいて、特定された複数の画素の階調値のいずれかが、当該画素の階調値と同じデータ量のマーカ情報と異なる場合に、画像データの出力を停止するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
従来、符号化または復号におけるエラーを検出するための技術が提案されている。特許文献１には、映像を符号化して伝送するシステムにおいて、送信側装置が、符号化されたデータ列から特定のコード列を検出するごとに当該コード列を含む符号データを受信側装置に送信し、且つ、受信側装置が、受信データのエラーを検出すると受信データの一部を新たなデータ列に置換することにより、通信エラーが発生した場合に復号処理の系列の中のエラーが発生した位置を特定できるようにする技術が記載されている。特許文献２には、ランレングス符号化に特有のエラー検出手段を設けることによりエラー発生時の画質劣化を防止する技術が記載されている。特許文献３には、可変長符号の間に一定の周期で固定長符号を挿入することにより、通信路の誤りに対して品質の劣化が小さい可変長符号化を行う技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０４−２３３３７５号公報
【特許文献２】特開平０７−３１２７５０号公報
【特許文献３】特開平０２−０８６２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、符号化から復号までのいずれかの処理で異常が発生したことが、第１の方向に並ぶ画素の集合における一以上の箇所で検出されるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に係る情報処理装置は、第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の階調値を、当該階調値と同じデータ量のマーカ情報に置き換える置き換え手段と、前記マーカ情報を含む画像データを符号化する符号化手段とを有する。
【０００６】
請求項２に係る情報処理装置は、第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データであって、符号化された画像データを復号する復号手段と、前記復号手段により復号された画像データを出力する出力手段と、前記復号手段により復号された画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の位置を特定する特定手段と、前記復号手段により復号された画像データにおいて、前記特定手段により位置が特定された複数の画素の階調値のいずれかが、当該画素の階調値と同じデータ量のマーカ情報と異なる場合に、前記出力手段が画像データを出力するのを停止するように前記出力手段を制御する制御手段とを有する。
【０００７】
請求項３に係る情報処理装置は、請求項１または２に記載の構成において、前記間隔は、前記画像データのページ単位で定められていることを特徴とする。
【０００８】
請求項４に係る情報処理装置は、請求項１ないし３のいずれか１項に記載の構成において、予め定められた間隔を空けて配置された前記複数の画素の前記第１の方向における位置は、前記集合毎に異なることを特徴とする。
【０００９】
請求項５に係る情報処理装置は、請求項１ないし４のいずれか１項に記載の構成において、前記画像データは、複数の色成分を含み、予め定められた間隔を空けて配置された前記複数の画素の前記第１の方向における位置は、色成分毎に異なることを特徴とする。
【００１０】
請求項６に係る情報処理装置は、請求項２に記載の構成において、前記復号手段により復号された画像データにおいて、前記特定手段により位置が特定された複数の画素の階調値のいずれかが前記マーカ情報と異なる場合に、当該複数の画素のうち階調値が前記マーカ情報と異なる画素の前記第１の方向および前記第２の方向における位置を記録する記録手段を有する。
【００１１】
請求項７に係る情報処理装置は、請求項２または６に記載の構成において、前記符号化された画像データの一部を記憶する記憶手段と、前記復号手段による復号と同期して、前記記憶手段に記憶されたデータを、前記復号手段により復号されている領域を含むデータに書き換える書き換え手段とを有し、前記制御手段は、前記復号手段により復号された画像データにおいて、前記特定手段により位置が特定された複数の画素の階調値のいずれかが、当該画素の階調値と同じデータ量のマーカ情報と異なる場合に、前記書き換え手段がデータを書き換えるのを停止するように前記書き換え手段を制御することを特徴とする。
【００１２】
請求項８に係る情報処理装置は、第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、端部の画素以外の一の画素の階調値を、当該階調値と同じデータ量のマーカ情報に置き換える置き換え手段と、前記マーカ情報を含む画像データを符号化する符号化手段とを有する。
【００１３】
請求項９に係る情報処理装置は、第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データであって、符号化された画像データを復号する復号手段と、前記復号手段により復号された画像データを出力する出力手段と、前記復号手段により復号された画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、端部の画素以外の一の画素の位置を特定する特定手段と、前記復号手段により復号された画像データにおいて、前記特定手段により位置が特定された前記一の画素の階調値が、当該画素の階調値と同じデータ量のマーカ情報と異なる場合に、前記出力手段が画像データを出力するのを停止するように前記出力手段を制御する制御手段とを有する。
【００１４】
請求項１０に係るプログラムは、コンピュータに、第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の階調値を、当該階調値と同じデータ量のマーカ情報に置き換えるステップと、前記マーカ情報を含む画像データを符号化するステップとを実行させる。
【００１５】
請求項１１に係るプログラムは、コンピュータに、第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データであって、符号化された画像データを復号するステップと、復号された画像データを出力するステップと、復号された画像データにおいて、前記第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の位置を特定するステップと、復号された画像データにおいて、特定された複数の画素の階調値のいずれかが、当該画素の階調値と同じデータ量のマーカ情報と異なる場合に、画像データの出力を停止するステップとを実行させる。
【発明の効果】
【００１６】
請求項１および１０に係る発明によれば、画像データが復号されたときに、符号化から復号までのいずれかの処理で異常が発生したことが、第１の方向に並ぶ画素の集合における一以上の箇所で検出される。
請求項２、９、および１１に係る発明によれば、第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、符号化から復号までのいずれかの処理で異常が発生した場合に、復号された画像データが出力されることが防止される。
請求項３に係る発明によれば、予め定められた間隔がページ内で変化する場合に比べて、情報処理装置が、当該間隔を空けて配置された複数の画素の位置を特定しやすくなる。
請求項４に係る発明によれば、予め定められた間隔を空けて配置された複数の画素の第１の方向における位置が、複数の集合で互いに同じである場合に比べて、画像データの一部がマーカ情報に置き換えられたことによる画質の低下が抑制される。
請求項５に係る発明によれば、予め定められた間隔を空けて配置された複数の画素の第１の方向における位置が、複数の色成分で互いに同じである場合に比べて、画像データの一部がマーカ情報に置き換えられたことによる画質の低下が抑制される。
請求項６に係る発明によれば、複数の画素のうち階調値がマーカ情報と異なる画素の第１の方向および第２の方向における位置が記録されない場合に比べて、復号された画像データにおいて符号化から復号までのいずれかの処理で異常が発生した箇所を特定しやすくなる。
請求項７に係る発明によれば、予め定められた間隔を空けて配置された複数の画素の階調値のいずれかがマーカ情報と異なる場合に記憶手段に記憶されたデータが書き換えられるのに比べて、符号化から復号までのいずれかの処理で発生した異常の原因を特定しやすくなる。
請求項８に係る発明によれば、画像データが復号されたときに、符号化から復号までのいずれかの処理で異常が発生したことが、第１の方向に並ぶ画素の集合における一の箇所で検出される。
【図面の簡単な説明】
【００１７】
【図１】画像形成装置のハードウェア構成を示すブロック図
【図２】画像形成装置の機能的構成を示すブロック図
【図３】置き換え処理後の画像データを例示する図
【図４】置き換え処理を示すフローチャート
【図５】エラー検出処理を示すフローチャート
【発明を実施するための形態】
【００１８】
図１は、本発明の一実施形態に係る画像形成装置１のハードウェア構成を示すブロック図である。同図に示したように、画像形成装置１は、制御部１０１と、記憶部１０２と、操作部１０３と、表示部１０４と、画像読取部１０５と、画像形成部１０６と、通信部１０７と、画像処理部１０８とを備える情報処理装置である。また、画像形成装置１の各部は、バス１０９に接続されており、このバス１０９を介して各種データの授受を行う。
【００１９】
制御部１０１は、画像形成装置１の各部の動作を制御する手段である。制御部１０１は、ＣＰＵ（Central Processing Unit）などの演算処理装置と、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などの記憶媒体（主記憶装置）とを備える。ＣＰＵは、ＲＯＭおよび記憶部１０２に記憶されているプログラムを読み出し、ＲＡＭを作業エリアにしてプログラムを実行する。制御部１０１は、このようにプログラムを実行することにより、用紙に画像を形成すること（印刷すること）、原稿から画像を読み取って画像データを生成すること、通信回線を介して他の装置と通信を行うことなどを実現する。
【００２０】
記憶部１０２は、データを記憶する手段である。記憶部１０２は、ハードディスク、フラッシュメモリなどの記憶媒体（補助記憶装置）を備え、通信部１０７で受信したデータや画像形成装置１で生成されたデータなどを記憶する。また、記憶部１０２は、いわゆるメモリーカードやＵＳＢメモリなどの着脱可能な記憶媒体（リムーバブルメディア）と、その記憶媒体にデータを読み書きする手段とを含んでもよい。記憶部１０２は、画像データを符号化するための符号化プログラムと、符号化された画像データを復号するための復号プログラムとを記憶する。
【００２１】
操作部１０３は、ユーザの操作を受け付ける手段である。操作部１０３は、操作子（ボタン、キーなど）を備え、押下された操作子に応じた制御信号を制御部１０１に供給する。また、操作部１０３は、表示部１０４と、表示部１０４の表示面に重ねて設けられたセンサとを備え、押圧した位置に応じた制御信号を制御部１０１に供給するタッチパネルによって構成されてもよい。
【００２２】
表示部１０４は、情報を表示する手段である。表示部１０４は、表示装置として例えば液晶ディスプレイを有する。表示部１０４は、制御部１０１の制御の下、画像形成装置１を操作するためのメニュー画面を表示する。
【００２３】
画像読取部１０５は、原稿を読み取って画像データに変換する手段である。画像読取部１０５は、原稿を光学的に読み取り、読み取った原稿の画像を表す画像データを生成する画像読取装置を備えている。画像読取部１０５は、生成した画像データを画像処理部１０８に供給する。
【００２４】
画像形成部１０６は、用紙に画像を形成する手段である。画像形成部１０６は、電子写真方式によって用紙にＹ（Yellow）、Ｍ（Magenta）、Ｃ（Cyan）、Ｋ（Black）の各色成分のトナー像を形成する画像形成機構を具備している。なお、画像形成機構は、電子写真方式に限らず、インクジェット方式などの他の記録方式が用いられてもよい。
【００２５】
通信部１０７は、データを送受信する手段である。通信部１０７は、図示せぬ通信回線に接続されており、外部装置と通信を行う通信インタフェースとして機能する。
【００２６】
画像処理部１０８は、画像データに対して画像処理を実行する手段である。ここでいう画像処理とは、例えば、色補正や階調補正である。画像形成装置１においてプリント機能が実行される場合、画像処理部１０８は、画像処理が施された画像データを画像形成部１０６に供給する。
【００２７】
画像形成装置１は、外部装置から取得され、または、画像読取部１０５により読み取られた画像データを記憶部１０２に一時的に保管し、印刷を開始させるための指示（以下、「印刷開始指示」という）を受け付けると、当該画像データを用いて印刷を行う場合がある。この場合、画像形成装置１は、記憶部１０２における記憶領域を節約する観点から画像データを符号化して保管し、印刷開始指示を受け付けると、符号化された画像データを復号する。しかし、例えば、記憶部１０２に符号化した画像データ（符号データ）を保管する（書き込む）際、あるいは符号データを記憶部１０２から読み出す際に電気的ノイズが信号ラインに重畳したことによってビット誤りが発生し、符号データが書き換わったりすることがある。記憶部１０２から読み出した符号データが書き込み時と異なると、正しく符号データを復号できず、その結果として、印刷される画像の品質が低下することがある。本発明は、符号化および復号の対象となる画像データについて、ページを構成する複数のラインに沿って並ぶ画素の集合の各々に、誤りを検出するためのマーカ情報を含めることにより、画像データの符号化から復号までのいずれかの処理で異常が発生したことを検出し、且つ、異常が発生した箇所の特定を容易にする。
【００２８】
図２は、画像形成装置１の機能的構成を示すブロック図である。画像形成装置１は、第１処理手段１０と、第２処理手段２０とを有する。第１処理手段１０は、画像データの符号化に関連する処理を行う。第１処理手段１０は、第１特定手段１１と、置き換え手段１２と、符号化手段１３とを有する。第１特定手段１１は、第１の方向と第２の方向に配置された複数の画素の各々についての階調値を含む画像データにおいて、第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の位置を特定する。なお、ここでいう「第１の方向」とは、画像データにおける予め定められた方向であって、例えば、画像データの主走査方向である。「第２の方向」とは、画像データにおける予め定められた方向であって、例えば、画像データの副走査方向である。置き換え手段１２は、第１特定手段１１により位置が特定された画素の階調値を、当該階調値と同じデータ量のマーカ情報に置き換える。マーカ情報は、画像データの符号化から復号までのいずれかの処理で異常が発生したことを検出し、且つ、異常が発生した箇所を特定するために画像データに含められる。以下では、画像形成装置１が画素の階調値をマーカ情報に置き換える処理を「置き換え処理」と表現する。置き換え処理は、ＹＭＣＫの各色成分の画像データに対して行われる。符号化手段１３は、置き換え処理後のマーカ情報を含む画像データを符号化する。
【００２９】
第２処理手段２０は、画像データの復号に関連する処理を行う。第２処理手段２０は、復号手段２１と、出力手段２２と、第２特定手段２３と、比較手段２４と、制御手段２５と、記録手段２６と、記憶手段２７と、書き換え手段２８とを有する。復号手段２１は、符号化手段１３により符号化された画像データを復号する。出力手段２２は、復号手段２１により復号された画像データを出力する。第２特定手段２３は、復号手段２１により復号された画像データにおいて、第１の方向に並ぶ画素の集合の各々で、予め定められた間隔を空けて配置された複数の画素の位置を特定する。第２特定手段２３は、第１特定手段１１により位置が特定された複数の画素と同じ画素の位置を特定する。
【００３０】
比較手段２４は、復号手段２１により復号された画像データにおいて、第２特定手段２３により位置が特定された複数の画素の階調値とマーカ情報とを比較する。制御手段２５は、第２特定手段２３により位置が特定された複数の画素の階調値のいずれかとマーカ情報とが異なる場合に、出力手段２２が画像データを出力するのを停止するように出力手段２２を制御する。記録手段２６は、第２特定手段２３により位置が特定された複数の画素の階調値のいずれかとマーカ情報とが異なる場合に、当該複数の画素のうち階調値がマーカ情報と異なる画素の第１の方向および第２の方向における位置を記録する。記憶手段２７は、符号化された画像データの一部を記憶する。書き換え手段２８は、復号手段２１による復号と同期して、記憶手段２７に記憶されたデータを、復号手段２１により復号されている領域を含むデータに書き換える。書き換え手段２８によるデータの書き換えは、第２特定手段２３により位置が特定された複数の画素の階調値のいずれかとマーカ情報とが異なる場合に停止するように、制御手段２５により制御される。
【００３１】
図１において、符号化プログラムを実行している制御部１０１は、第１特定手段１１、置き換え手段１２、符号化手段１３の一例である。また、図１において、復号プログラムを実行している制御部１０１は、復号手段２１、出力手段２２、第２特定手段２３、比較手段２４、制御手段２５、記憶手段２７、および書き換え手段２８の一例である。復号プログラムを実行している制御部１０１により制御された記憶部１０２は、記録手段２６の一例である。
【００３２】
図３は、置き換え処理後の画像データを例示する図である。図３は、ｍ行ｎ列の画素により１ページ分の画像が表現される例を示している。なお、図３は、ＹＭＣＫの色成分のうちある色成分についての画像データを示す。図３において、斜線で示した領域は、階調値がマーカ情報に置き換えられた画素（以下、「マーカ画素」という）を示す。この例では、画素の行に沿った方向が画像データの主走査方向であり、画素の列に沿った方向が画像データの副走査方向である。本発明では、行毎に複数の画素の階調値がマーカ情報に置き換えられる。図３の例では、行毎に２つの画素の階調値がマーカ情報に置き換えられている。置き換え処理により各行に含まれるマーカ画素の間隔Ｐｎは、ページ単位で予め定められている。間隔Ｐｎの単位は画素数である。すなわち、各行において、２つのマーカ画素の間にはＰｎ個の画素が存在する。マーカ画素がページ単位で予め定められた間隔で配置されることにより、マーカ画素が行単位で異なる間隔で配置された場合に比べて、マーカ画素が含まれる位置を特定するための処理負荷が軽減される。また、置き換え処理により各行に含まれる複数のマーカ画素の主走査方向における位置は、行毎に異なる。マーカ画素の位置が行毎に異なることにより、復号後の画像データが示す画像において、マーカ画素が副走査方向の線としてユーザに認識されることが防止される。さらに、置き換え処理により各行に含まれる複数のマーカ画素の主走査方向における位置は、色成分毎に異なる。マーカ画素の位置が色成分毎に異なることにより、マーカ画素の位置が各色成分で同じである場合に比べて、画像データの一部がマーカ情報に置き換えられたことによる画質の低下が抑制される。以下では、置き換え処理、および、画像データの符号化から復号までのいずれかの処理で異常が発生したことをマーカ情報を用いて検出する処理（以下、「エラー検出処理」という）について説明する。
【００３３】
図４は、画像形成装置１による置き換え処理を示すフローチャートである。以下の処理は、例えば、符号化の対象となる画像データ（例えば、画像形成装置１において一時的に保管される画像データ）を画像形成装置１が取得したことを契機として開始される。なお、以下の処理は、ＹＭＣＫの各色成分の画像データに対して行われる。
【００３４】
ステップＳＡ１において、制御部１０１は、処理ループ１のループカウンタｉを初期化する。ループカウンタｉは、処理対象となる行を特定するパラメータである。この例で、ループカウンタｉは、ｉ＝１に初期化される。ループカウンタｉは、ループ端で１ずつインクリメントされる。この例で、処理ループ１は、ｍ行分、すなわちｉ＝ｍまで繰り返される。
【００３５】
ステップＳＡ２において、制御部１０１は、ループカウンタｉにより特定される行について、マーカ画素の位置を特定する。具体的には、制御部１０１は、以下の式（１）により、マーカ画素の位置ｘを算出する。位置ｘは、ページの列を特定する値である。
［数１］
ｘ（ｋ）＝Ｆ（ｉ）＋（Ｐｎ×（ｋ−１））＋（ｋ−１）      ・・・（１）
ここで、Ｆ（ｉ）は、行番号すなわちループカウンタｉの関数である。関数Ｆ（ｉ）は、画像データの色成分毎に異なる関数が設定されている。ｋは、マーカ画素の順番を表す。例えば、行毎に２つのマーカ画素が含まれる場合、第１番目のマーカ画素の位置ｘ（１）は以下の式（２）により算出され、第２番目のマーカ画素の位置ｘ（２）は以下の式（３）により算出される。
［数２］
ｘ（１）＝Ｆ（ｉ）      ・・・（２）
［数３］
ｘ（２）＝Ｆ（ｉ）＋Ｐｎ＋１      ・・・（３）
制御部１０１は、式（１）により特定されたマーカ画素の位置ｘをＲＡＭに記憶する。
【００３６】
ステップＳＡ３において、制御部１０１は、処理ループ２のループカウンタｊを初期化する。ループカウンタｊは、処理対象となる列を特定するパラメータである。この例で、ループカウンタｊは、ｊ＝１に初期化される。ループカウンタｊは、ループ端で１ずつインクリメントされる。この例で、処理ループ２は、ｎ列分、すなわちｊ＝ｎまで繰り返される。以下、ループカウンタｉおよびｊにより位置が特定される画素を「対象画素」という。
【００３７】
ステップＳＡ４において、制御部１０１は、対象画素がマーカ画素であるか、具体的にはｊ＝ｘであるか否かを判断する。具体的には、制御部１０１は、ループカウンタｊの値が、ＲＡＭに記憶されたマーカ画素の位置ｘ（行毎に２つのマーカ画素が含まれる例では、ｘ（１）およびｘ（２））のいずれかであるか否かを判断する。対象画素がマーカ画素であると判断された場合（ＳＡ４：ＹＥＳ）、制御部１０１は、処理をステップＳＡ５に移行する。対象画素がマーカ画素でないと判断された場合（ＳＡ４：ＮＯ）、制御部１０１は、処理をステップＳＡ６に移行する。
【００３８】
ステップＳＡ５において、制御部１０１は、対象画素の階調値をマーカ情報に置き換える。この例で、マーカ情報は、画素の階調値と同じデータ量の固定値であり、予め記憶部１０２に記憶されている。具体例として、階調値が１バイトのデータ量で０から２５５までの２５６段階で表される場合、マーカ情報として「１２８」が用いられる。ステップＳＡ６において、制御部１０１は、処理ループ２のループ端の処理を行う。具体的には、制御部１０１は、ループカウンタｊがｊ＝ｎであるか判断する。ｊ＝ｎでない場合、制御部１０１は、ループカウンタｊをインクリメントし、処理をステップＳＡ３に移行する。ｊ＝ｎである場合、制御部１０１は、処理をステップＳＡ７に移行する。
【００３９】
ステップＳＡ７において、制御部１０１は、処理ループ１のループ端の処理を行う。具体的には、制御部１０１は、ループカウンタｉがｉ＝ｍであるか判断する。ｉ＝ｍでない場合、制御部１０１は、ループカウンタｉをインクリメントし、処理をステップＳＡ１に移行する。ｉ＝ｍである場合、制御部１０１は、処理を終了する。
【００４０】
以上の処理により、画像データに含まれる複数の画素の各々についての階調値の一部がマーカ情報に置き換えられる。置き換え処理が終了すると、制御部１０１は、画像データを符号化する。制御部１０１は、可逆方式（符号化後のデータから復元したデータが、符号化前のデータと等しくなる方式）で画像データを符号化する。符号化後の画像データにおいて、各画素の階調値は、例えば、隣り合う画素の階調値との差分で表現される。制御部１０１は、符号化後の画像データを記憶部１０２に記憶する。
【００４１】
図５は、画像形成装置１によるエラー検出処理を示すフローチャートである。以下の処理は、例えば、符号化された画像データが記憶部１０２に記憶された状態で、当該画像データについて印刷開始指示が入力されたことを契機として開始される。印刷開始指示の入力は、例えば、ユーザが操作部１０３を操作して、印刷を開始させる画像データを指定することにより行われる。印刷開始指示が入力されると、制御部１０１は、印刷開始指示により指定された画像データを記憶部１０２から読み出し、復号を開始する。制御部１０１は、画像データを復号する際に、画像データを複数の処理単位に分割し、各処理単位について順次復号を行う。例えば、制御部１０１は、マーカ画素により区切られた領域を処理単位として、画像データを復号する。この例で、符号化された画像データにおける複数のマーカ画素の位置は、上述した式（１）を用いて特定される。制御部１０１は、符号化された画像データの一部であって、復号の対象となる処理単位のデータを、画像データを復号するのに同期させてＲＡＭの予め定められた記憶領域（以下、「処理単位記憶領域」という）に記憶する。処理単位記憶領域に記憶されるデータは、復号されている処理単位のデータになるように、制御部１０１により書き換えられる。制御部１０１は、各処理単位についての符号化と並行して以下の処理を行う。なお、以下の処理は、ＹＭＣＫの各色成分の画像データに対して行われる。
【００４２】
ステップＳＢ１において、制御部１０１は、処理ループ３のループカウンタｉを初期化する。この例で、ループカウンタｉは、ｉ＝１に初期化される。ループカウンタｉは、ループ端で１ずつインクリメントされる。この例で、処理ループ１は、ｍ行分、すなわちｉ＝ｍまで繰り返される。ステップＳＢ２において、制御部１０１は、ループカウンタｉにより特定される行について、マーカ画素の位置を特定する。制御部１０１は、上述した式（１）によりマーカ画素の位置ｘを算出し、算出された位置ｘをＲＡＭに記憶する。
【００４３】
ステップＳＢ３において、制御部１０１は、処理ループ４のループカウンタｊを初期化する。この例で、ループカウンタｊは、ｊ＝１に初期化される。ループカウンタｊは、ループ端で１ずつインクリメントされる。この例で、処理ループ４は、ｎ列分、すなわちｊ＝ｎまで繰り返される。ステップＳＢ４において、制御部１０１は、対象画素がマーカ画素であるか、具体的にはｊ＝ｘであるか否かを判断する。対象画素がマーカ画素であると判断された場合（ＳＢ４：ＹＥＳ）、制御部１０１は、処理をステップＳＢ５に移行する。対象画素がマーカ画素でないと判断された場合（ＳＢ４：ＮＯ）、制御部１０１は、処理をステップＳＢ６に移行する。
【００４４】
ステップＳＢ５において、制御部１０１は、対象画素の階調値と記憶部１０２に記憶されたマーカ情報とを照合する。対象画素の階調値がマーカ情報と同じであると判断された場合（ＳＢ５：ＹＥＳ）、符号化および復号は正常に行われたといえる。この場合、制御部１０１は、処理をステップＳＢ６に移行する。対象画素の階調値がマーカ情報と異なると判断された場合（ＳＢ５：ＮＯ）、符号化から復号までのいずれかの処理で異常が発生したといえる。この場合、制御部１０１は、処理をステップＳＢ９に移行する。
【００４５】
ステップＳＢ６において、制御部１０１は、処理ループ４のループ端の処理を行う。具体的には、制御部１０１は、ループカウンタｊがｊ＝ｎであるか判断する。ｊ＝ｎでない場合、制御部１０１は、ループカウンタｊをインクリメントし、処理をステップＳＢ３に移行する。ｊ＝ｎである場合、制御部１０１は、処理をステップＳＢ７に移行する。ステップＳＢ７において、制御部１０１は、処理ループ３のループ端の処理を行う。具体的には、制御部１０１は、ループカウンタｉがｉ＝ｍであるか判断する。ｉ＝ｍでない場合、制御部１０１は、ループカウンタｉをインクリメントし、処理をステップＳＢ１に移行する。ｉ＝ｍである場合、制御部１０１は、処理をステップＳＢ８に移行する。
【００４６】
ステップＳＢ８において、制御部１０１は、復号された画像データを画像形成部１０６に出力する。これにより、画像データの符号化および復号が正常に行われた場合に、復号された画像データを用いて用紙に画像が形成される。
【００４７】
ステップＳＢ９において、制御部１０１は、ループカウンタｉとループカウンタｊの値を記憶部１０２に記憶する。例えば、符号化後の画像データにおいて各画素の階調値が隣り合う画素の階調値との差分で表現されている場合、ある画素の階調値について符号化または復号の誤りが発生すると、当該画素よりも後の画素の階調値についても誤りが発生する。そのため、この符号化の方式によれば、ある対象画素の階調値がマーカ情報と異なることは、当該対象画素以前の画素であって、且つ、当該対象画素の１つ前にマーカ情報との照合がされた対象画素よりも後の画素の階調値について符号化から復号までのいずれかの処理で異常が発生したことを示す。
【００４８】
ステップＳＢ１０において、制御部１０１は、処理単位記憶領域の書き換えを停止する。上述の通り、符号化後の画像データにおいて各画素の階調値が隣り合う画素の階調値との差分で表現されている場合、処理単位記憶領域の書き換えが停止されることにより、処理単位記憶領域には、符号化から復号までのいずれかの処理で異常が発生した箇所を含む処理単位のデータが記憶される。ステップＳＢ１１において、制御部１０１は、画像データの復号を停止する。これにより、復号された画像データの画像形成部１０６への出力が停止される。
【００４９】
以上の処理により、画像データの符号化から復号までのいずれかの処理で異常が発生したことが、画像データに含まれた複数のマーカ画素により特定され、誤りを含む画像データを用いて用紙に画像が形成されることが防止される。また、画像データの符号化から復号までのいずれかの処理で異常が発生したことによりマーカ画素の階調値がマーカ情報とは異なる情報に変化すると、当該マーカ画素の位置が記憶部１０２に記憶されるため、当該位置が記憶されない場合に比べて、異常が発生した箇所が容易に特定される。さらに、画像データの符号化から復号までのいずれかの処理で異常が発生したことによりマーカ画素の階調値がマーカ情報とは異なる情報に変化すると、当該マーカ画素を含む処理単位のデータが処理単位記憶領域に記憶されるため、当該データが記憶されない場合に比べて、異常が発生した原因が容易に特定される。
【００５０】
本発明は、上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち、２つ以上のものが組み合わされて用いられてもよい。
【００５１】
置き換え処理とエラー検出処理とは、互いに異なる装置により行われてもよい。この場合、置き換え処理を実行する装置に第１処理手段１０が設けられ、エラー検出処理を実行する装置に第２処理手段２０が設けられる。
【００５２】
マーカ画素の位置を特定する方法は、実施形態に記載した方法に限らない。例えば、式（１）と異なる式を用いて、対象画素またはマーカ画素の位置が特定されてもよい。
【００５３】
マーカ情報は、固定値である場合に限らない。マーカ情報には、例えば、マーカ画素に隣接する画素の階調値から算出された値が用いられてもよい。具体例として、マーカ情報には、マーカ画素の左隣りの画素の階調値と、マーカ画素の右隣りの画素の階調値との平均値が用いられてもよい。マーカ情報の算出は、置き換え処理においてはステップＳＡ４の判断の後で、且つ、ステップＳＡ５の処理の前に行われ、エラー検出処理においてはステップＳＢ４の判断の後で、且つ、ステップＳＢ５の判断の前に行われる。なお、符号化前の画像データにおいて、マーカ画素の階調値と、マーカ画素の左右の画素の階調値とが同じ値である場合には、マーカ画素の階調値に１を加えた値がマーカ情報として用いられてもよい。また、この場合において、マーカ画素の階調値が最大値である場合には、マーカ画素の階調値から１を減じた値がマーカ情報として用いられてもよい。マーカ画素に隣接する画素の階調値の平均値がマーカ情報として用いられた場合、マーカ情報が固定値である場合に比べて、画像データの一部がマーカ情報に置き換えられたことによる画質の低下が抑制される。
【００５４】
置き換え処理により各行に含まれるマーカ画素の数は２つに限らない。各行には、３つ以上のマーカ画素が含まれてもよい。別の例で、各行につき一のマーカ画素が含まれてもよい。この場合、各行の端部の画素以外の一の画素の階調値がマーカ情報に置き換えられてもよい。
【００５５】
置き換え処理においては、列毎に複数の画素の階調値がマーカ情報に置き換えられてもよい。
画像データの符号化方式は可逆方式であればいかなる方式が用いられてもよい。
【００５６】
画像データが復号されるときの処理単位は、実施形態に記載された処理単位に限らない。例えば、制御部１０１は、各行を処理単位として、画像データを復号してもよい。
【００５７】
エラー検出処理において、画像形成装置１は、対象画素の階調値が記憶部１０２に記憶されたマーカ情報と異なると判断された場合（ＳＢ５：ＮＯ）、制御部１０１は、画像データの符号化から復号までのいずれかの処理で異常が発生したことをユーザに通知してもよい。
【００５８】
画像形成装置１のハードウェア構成は、図１に示した構成に限らない。図４および図５に示した処理が実行されれば、画像形成装置１はどのようなハードウェア構成であってもよい。
【００５９】
実施形態において、画像形成装置１によって実行される符号化プログラムおよび復号プログラムは、磁気記憶媒体（磁気テープ、磁気ディスク（ＨＤＤ、ＦＤ（Flexible Disk））など）、光記憶媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記憶媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータが読み取り可能な記憶媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットなどのネットワーク経由でダウンロードされてもよい。
【符号の説明】
【００６０】
１…画像形成装置、１０１…制御部、１０２…記憶部、１０３…操作部、１０４…表示部、１０５…画像読取部、１０６…画像形成部、１０７…通信部、１０８…画像処理部、１０９…バス、１０…第１処理手段、１１…第１特定手段、１２…置き換え手段、１３…符号化手段、２０…第２処理手段、２１…復号手段、２２…出力手段、２３…第２特定手段、２４…比較手段、２５…制御手段、２６…記録手段、２７…記憶手段、２８…書き換え手段
【図１】
2016042652.tif 000003
【図２】
2016042652.tif 000004
【図３】
2016042652.tif 000005
【図４】
2016042652.tif 000006
【図５】
2016042652.tif 000007