(57)【要約】【課題】  回路構成を簡略化することができるデータ変換回路及び画像形成装置を提供する。【解決手段】  データバッファ１１は、パックされたデータを格納し、判定用レジスタ１２は、データバッファ１１に格納されたデータが有効データであるか否かを示し、書き込み用カウンタ１３は、パックされたデータをデータバッファ１１のどの位置に書き込むかを示し、読み出し用カウンタ１４は、アンパックするデータをデータバッファ１１のどの位置から読み出すかを示し、書き込み判定部１５は、書き込み用カウンタ１３の値と判定用レジスタ１２の値とに基づいてデータバッファ１１のどの位置にデータを書き込むかを判定し、読み出し判定部１６は、読み出し用カウンタ１４の値と判定用レジスタ１２の値とに基づいてデータバッファ１１のどの位置からデータを読み出すかを判定する。【選択図】      図１
2006060667.tif 000002
【特許請求の範囲】
【請求項１】
パックされたデータをアンパックするデータ変換回路であって、
前記パックされたデータを格納するためのデータ格納手段と、
前記データ格納手段にデータが格納されているか否かを記憶するデータ判定用記憶手段と、
前記パックされたデータを前記データ格納手段のどの位置に書き込むかを記憶する書き込み位置記憶手段と、
アンパックするデータを前記データ格納手段のどの位置から読み出すかを記憶する読み出し位置記憶手段と、
前記書き込み位置記憶手段に記憶されているデータの書き込み位置と、前記データ判定用記憶手段に記憶されているデータの格納状態とに基づいて前記データ格納手段のどの位置にデータを書き込むかを判定する書き込み判定手段と、
前記読み出し位置記憶手段に記憶されているデータの読み出し位置と、前記データ判定用記憶手段に記憶されているデータの格納状態とに基づいて前記データ格納手段のどの位置からデータを読み出すかを判定する読み出し判定手段とを備えることを特徴とするデータ変換回路。
【請求項２】
前記データ格納手段は、１ビットのデータを単位データとし、複数の単位データを１個のデータとしたとき、８個のデータを格納し、
前記書き込み位置記憶手段は、パックされた４個のデータを前記データ格納手段のどの位置に書き込むかを示す書き込み用カウンタであり、
前記読み出し位置記憶手段は、アンパックする３個のデータを前記データ格納手段のどの位置から読み出すかを示す読み出し用カウンタであり、
前記書き込み判定手段は、前記書き込み用カウンタによって特定される書き込み位置に、前記データ判定用記憶手段によって示されるデータが格納されていない場合、当該書き込み位置にデータを書き込み、
前記読み出し判定手段は、前記読み出し用カウンタによって特定される読み出し位置に、前記データ判定用記憶手段によって示されるデータが格納されている場合、当該読み出し位置からデータを読み出すことを特徴とする請求項１記載のデータ変換回路。
【請求項３】
前記データ格納手段は、それぞれ４個のデータを格納するための第１格納領域及び第２格納領域を有し、
前記書き込み用カウンタは１ビットであり、
前記書き込み判定手段は、前記データ格納手段への書き込みが行われた場合、前記書き込み用カウンタに１を加算するとともに、書き込まれた位置に対応する前記データ判定用記憶手段に１を書き込み、
前記読み出し判定手段は、前記データ格納手段からの読み出しが行われた場合、読み出された位置に対応する前記データ判定用記憶手段に０を書き込み、
前記書き込み判定手段は、前記書き込み用カウンタの値が０であり、前記第１格納領域に対応する前記データ判定用記憶手段の値が０となっている場合、前記データ格納手段の第１格納領域に４個のデータを書き込み、前記書き込み用カウンタの値が１であり、前記第２格納領域に対応する前記データ判定用記憶手段の値が０となっている場合、前記データ格納手段の第２格納領域に４個のデータを書き込むことを特徴とする請求項２記載のデータ変換回路。
【請求項４】
前記読み出し用カウンタは３ビットであり、
前記読み出し判定手段は、前記データ格納手段からの読み出しが行われた場合、前記読み出し用カウンタに１を加算し、
前記読み出し用カウンタの値が０であり、前記データ格納手段の連続する３個のデータに対応する前記データ判定用記憶手段の値が１となっている場合、当該連続する３個のデータを前記データ格納手段から読み出し、前記読み出し用カウンタの値に１が加算され、次に連続する３個のデータに対応する前記データ判定用記憶手段の値が１となっている場合、当該次に連続する３個のデータを前記データ格納手段から読み出すことを特徴とする請求項３記載のデータ変換回路。
【請求項５】
ＲＧＢ成分毎にデータ処理を行う画像形成装置であって、
原稿画像を構成する複数の画素データのうち、連続する４個の画素データをパックして出力する画素データ出力手段と、
前記画素データ出力手段によって出力された４個の画素データをＲＧＢ成分毎の３個のデータにアンパックする請求項１〜３のいずれかに記載のデータ変換回路と、
前記データ変換回路によってアンパックされたデータをＲＧＢ成分毎にデータ処理するデータ処理手段とを備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パックされたデータをアンパックするデータ変換回路及びＲＧＢ成分毎にデータ処理を行う画像形成装置に関するものである。
【背景技術】
【０００２】
従来、パックされたデータをアンパックするデータ変換回路が知られている。従来のデータ変換回路では、パックされたデータを一旦バッファに書き込み、処理するデータ量に応じてアンパックしている（例えば、特許文献１参照）。
【特許文献１】特許第３３４９８０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のデータ変換回路では、パックされたデータとアンパックするデータの種類によってはバッファの容量が大きくなってしまうという問題を有している。そのため、バッファの容量を少なくするためには、複雑な回路構成を必要としていた。
【０００４】
本発明は、上記の問題を解決するためになされたもので、回路構成を簡略化することができるデータ変換回路及び画像形成装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００５】
本発明に係るデータ変換回路は、パックされたデータをアンパックするデータ変換回路であって、前記パックされたデータを格納するためのデータ格納手段と、前記データ格納手段にデータが格納されているか否かを記憶するデータ判定用記憶手段と、前記パックされたデータを前記データ格納手段のどの位置に書き込むかを記憶する書き込み位置記憶手段と、アンパックするデータを前記データ格納手段のどの位置から読み出すかを記憶する読み出し位置記憶手段と、前記書き込み位置記憶手段に記憶されているデータの書き込み位置と、前記データ判定用記憶手段に記憶されているデータの格納状態とに基づいて前記データ格納手段のどの位置にデータを書き込むかを判定する書き込み判定手段と、前記読み出し位置記憶手段に記憶されているデータの読み出し位置と、前記データ判定用記憶手段に記憶されているデータの格納状態とに基づいて前記データ格納手段のどの位置からデータを読み出すかを判定する読み出し判定手段とを備える。
【０００６】
この構成によれば、パックされたデータの書き込み時においては、パックされたデータをデータ格納手段のどの位置に書き込むかを記憶する書き込み位置記憶手段の書き込み位置と、データ格納手段にデータが格納されているか否かを記憶するデータ判定用記憶手段の格納状態とに基づいてデータ格納手段のどの位置にデータを書き込むかが判定され、アンパックするデータの読み出し時においては、読み出し位置記憶手段の読み出し位置とデータ判定用記憶手段の格納状態とに基づいてデータ格納手段のどの位置からデータを読み出すかが判定される。
【０００７】
したがって、書き込み位置記憶手段によってデータの書き込み位置が特定され、読み出し位置記憶手段によってデータの読み出し位置が特定され、データ判定用記憶手段によって書き込み位置及び読み出し位置のデータの有無が判定されるので、複雑な回路構成が不要となり、回路構成を簡略化することができ、大容量のバッファを不要とすることができる。
【０００８】
また、上記のデータ変換回路において、前記データ格納手段は、１ビットのデータを単位データとし、複数の単位データを１個のデータとしたとき、８個のデータを格納し、前記書き込み位置記憶手段は、パックされた４個のデータを前記データ格納手段のどの位置に書き込むかを示す書き込み用カウンタであり、前記読み出し位置記憶手段は、アンパックする３個のデータを前記データ格納手段のどの位置から読み出すかを示す読み出し用カウンタであり、前記書き込み判定手段は、前記書き込み用カウンタによって特定される書き込み位置に、前記データ判定用記憶手段によって示されるデータが格納されていない場合、当該書き込み位置にデータを書き込み、前記読み出し判定手段は、前記読み出し用カウンタによって特定される読み出し位置に、前記データ判定用記憶手段によって示されるデータが格納されている場合、当該読み出し位置からデータを読み出すことが好ましい。
【０００９】
この構成によれば、データ格納手段には、１ビットのデータを単位データとし、複数の単位データを１個のデータとした場合における８個のデータが格納され、パックされた４個のデータをデータ格納手段のどの位置に書き込むかを示す書き込み用カウンタによって特定される書き込み位置にデータ判定用記憶手段によって示されるデータが格納されていない場合、当該書き込み位置にデータが書き込まれ、アンパックする３個のデータをデータ格納手段のどの位置から読み出すかを示す読み出し用カウンタによって特定される読み出し位置にデータ判定用記憶手段によって示されるデータが格納されている場合、当該読み出し位置からデータが読み出される。したがって、複雑な回路を必要とせずに、パックされた４個のデータを３個のデータにアンパックすることができる。
【００１０】
また、上記のデータ変換回路において、前記データ格納手段は、それぞれ４個のデータを格納するための第１格納領域及び第２格納領域を有し、前記書き込み用カウンタは１ビットであり、前記書き込み判定手段は、前記データ格納手段への書き込みが行われた場合、前記書き込み用カウンタに１を加算するとともに、書き込まれた位置に対応する前記データ判定用記憶手段に１を書き込み、前記読み出し判定手段は、前記データ格納手段からの読み出しが行われた場合、読み出された位置に対応する前記データ判定用記憶手段に０を書き込み、前記書き込み判定手段は、前記書き込み用カウンタの値が０であり、前記第１格納領域に対応する前記データ判定用記憶手段の値が０となっている場合、前記データ格納手段の第１格納領域に４個のデータを書き込み、前記書き込み用カウンタの値が１であり、前記第２格納領域に対応する前記データ判定用記憶手段の値が０となっている場合、前記データ格納手段の第２格納領域に４個のデータを書き込むことが好ましい。
【００１１】
この構成によれば、データ格納手段は、それぞれ４個のデータを格納するための第１格納領域及び第２格納領域を有しており、データ格納手段への書き込みが行われた場合、１ビットの書き込み用カウンタに１が加算されるとともに、書き込まれた位置に対応するデータ判定用記憶手段に１が書き込まれ、データ格納手段からの読み出しが行われた場合、読み出された位置に対応するデータ判定用記憶手段に０が書き込まれる。そして、書き込み用カウンタの値が０であり、第１格納領域に対応するデータ判定用記憶手段の値が０となっている場合、データ格納手段の第１格納領域に４個のデータが書き込まれ、書き込み用カウンタの値が１であり、第２格納領域に対応するデータ判定用記憶手段の値が０となっている場合、データ格納手段の第２格納領域に４個のデータが書き込まれる。
【００１２】
したがって、書き込み用カウンタの値とデータ判定用記憶手段の値とに応じてデータ格納領域のどの位置に４個のデータを書き込むかが決定されるので、複雑な回路構成を必要とせずに、書き込み速度を向上させることができる。
【００１３】
また、上記のデータ変換回路において、前記読み出し用カウンタは３ビットであり、前記読み出し判定手段は、前記データ格納手段からの読み出しが行われた場合、前記読み出し用カウンタに１を加算し、前記読み出し用カウンタの値が０であり、前記データ格納手段の連続する３個のデータに対応する前記データ判定用記憶手段の値が１となっている場合、当該連続する３個のデータを前記データ格納手段から読み出し、前記読み出し用カウンタの値に１が加算され、次に連続する３個のデータに対応する前記データ判定用記憶手段の値が１となっている場合、当該次に連続する３個のデータを前記データ格納手段から読み出すことが好ましい。
【００１４】
この構成によれば、データ格納手段からの読み出しが行われた場合、３ビットの読み出し用カウンタに１を加算し、読み出し用カウンタの値が０であり、データ格納手段の連続する３個のデータに対応するデータ判定用記憶手段の値が１となっている場合、当該連続する３個のデータがデータ格納手段から読み出される。そして、読み出し用カウンタの値に１が加算され、次に連続する３個のデータに対応するデータ判定用記憶手段の値が１となっている場合、当該次に連続する３個のデータがデータ格納手段から読み出される。
【００１５】
したがって、読み出し用カウンタの値とデータ判定用記憶手段の値とに応じてデータ格納領域のどの位置から３個のデータを読み出すかが決定されるので、複雑な回路構成を必要とせずに、読み出し速度を向上させることができる。
【００１６】
本発明に係る画像形成装置は、ＲＧＢ成分毎にデータ処理を行う画像形成装置であって、原稿画像を構成する複数の画素データのうち、連続する４個の画素データをパックして出力する画素データ出力手段と、前記画素データ出力手段によって出力された４個の画素データをＲＧＢ成分毎の３個のデータにアンパックする請求項１〜３のいずれかに記載のデータ変換回路と、前記データ変換回路によってアンパックされたデータをＲＧＢ成分毎にデータ処理するデータ処理手段とを備えることが好ましい。
【００１７】
この構成によれば、原稿画像を構成する複数の画素データのうち、連続する４個の画素データがパックして出力され、出力された４個の画素データがＲＧＢ成分毎の３個のデータにアンパックされ、アンパックされたデータがＲＧＢ成分毎にデータ処理される。したがって、連続する４個の画素データをＲＧＢ成分毎の３個のデータにアンパックすることができ、ＲＧＢ成分毎にデータ処理を行うことができる。
【発明の効果】
【００１８】
請求項１に記載の発明によれば、書き込み位置記憶手段によってデータの書き込み位置が特定され、読み出し位置記憶手段によってデータの読み出し位置が特定され、データ判定用記憶手段によって書き込み位置及び読み出し位置のデータの有無が判定されるので、複雑な回路構成が不要となり、回路構成を簡略化することができ、大容量のバッファを不要とすることができる。
【００１９】
請求項２に記載の発明によれば、複雑な回路を必要とせずに、パックされた４個のデータを３個のデータにアンパックすることができる。
【００２０】
請求項３に記載の発明によれば、書き込み用カウンタの値とデータ判定用記憶手段の値とに応じてデータ格納領域のどの位置に４個のデータを書き込むかが決定されるので、複雑な回路構成を必要とせずに、書き込み速度を向上させることができる。
【００２１】
請求項４に記載の発明によれば、読み出し用カウンタの値とデータ判定用記憶手段の値とに応じてデータ格納領域のどの位置から３個のデータを読み出すかが決定されるので、複雑な回路構成を必要とせずに、読み出し速度を向上させることができる。
【００２２】
請求項５に記載の発明によれば、連続する４個の画素データをＲＧＢ成分毎の３個のデータにアンパックすることができ、ＲＧＢ成分毎にデータ処理を行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の一実施の形態によるデータ変換回路及び画像形成装置について図面を参照しながら説明する。
【００２４】
図１は、本発明に係るデータ変換回路の構成を示すブロック図である。図１に示すデータ変換回路１は、データバッファ１１、判定用レジスタ１２、書き込み用カウンタ１３、読み出し用カウンタ１４、書き込み判定部１５及び読み出し判定部１６を備えて構成される。
【００２５】
データバッファ１１は、パックされたデータを格納する。なお、本実施形態では、各Ｎビットの４個のデータが１つのパックデータとしてパックされ、３個のデータがアンパックデータとしてアンパックされる。データバッファ１１は、１ビットのデータを単位データとし、複数の単位データを１個のデータとしたとき、８個のデータを格納する。
【００２６】
判定用レジスタ１２は、データバッファ１１に格納されたデータが有効データであるか否かを示すものであり、データバッファ１１への書き込みが行われた場合、書き込まれた位置に対応するレジスタに有効データであることを示す値１を書き込み、データバッファ１１からの読み出しが行われた場合、読み出された位置に対応するレジスタに有効データでないことを示す値０を書き込む。判定用レジスタ１２の各ビットは、データバッファ１１のデータ格納位置に対応している。判定用レジスタ１２は、データバッファ１１のデータ格納数に応じたビット数を有し、本実施形態では、データバッファ１１が８個のデータを格納するため、８ビットである。
【００２７】
書き込み用カウンタ１３は、パックされた４個のデータをデータバッファ１１のどの位置に書き込むかを示すものであり、データバッファ１１への書き込みが行われた場合に１が加算される。なお、書き込み用カウンタ１３は、１ビットであり、カウンタ値が０の状態でデータバッファ１１への書き込みが行われた場合、カウンタ値は１となり、カウンタ値が１の状態でデータバッファ１１への書き込みが行われた場合、カウンタ値は０となる。
【００２８】
読み出し用カウンタ１４は、アンパックする３個のデータをデータバッファ１１のどの位置から読み出すかを示すものであり、データバッファ１１からの読み出しが行われた場合に１が加算される。なお、読み出し用カウンタ１４は、３ビットであり、カウンタ値が０の状態でデータバッファ１１からの読み出しが行われた場合、カウンタ値は１となり、読み出しが行われる毎に１づつ加算され、カウンタ値が７の状態でデータバッファ１１からの読み出しが行われた場合、カウンタ値は０となる。
【００２９】
書き込み判定部１５は、データバッファ１１への書き込みが行われた場合、書き込み用カウンタ１３に１を加算するとともに、書き込まれた位置に対応する判定用レジスタ１２に１を書き込む。また、書き込み判定部１５は、書き込み用カウンタ１３の値と判定用レジスタ１２の値とに基づいてデータバッファ１１のどの位置にデータを書き込むかを判定する。すなわち、書き込み判定部１５は、パックされた４個のデータが入力されると、書き込み用カウンタ１３によって特定される書き込み位置に、判定用レジスタ１２によって示される有効データがない場合、当該書き込み位置にデータを書き込む。
【００３０】
読み出し判定部１６は、データバッファ１１からの読み出しが行われた場合、読み出し用カウンタ１４に１を加算するとともに、読み出された位置に対応する判定用レジスタ１２に０を書き込む。また、読み出し判定部１６は、読み出し用カウンタ１４の値と判定用レジスタ１２の値とに基づいてデータバッファ１１のどの位置からデータを読み出すかを判定し、読み出した３個のデータを出力する。すなわち、読み出し判定部１６は、読み出し用カウンタ１４によって特定される読み出し位置に、判定用レジスタ１２によって示される有効データがある場合、当該読み出し位置からデータを読み出す。
【００３１】
なお、本実施形態において、データバッファ１１がデータ格納手段の一例に相当し、判定用レジスタ１２がデータ判定用記憶手段の一例に相当し、書き込み用カウンタ１３が書き込み位置記憶手段の一例に相当し、読み出し用カウンタ１４が読み出し位置記憶手段の一例に相当し、書き込み判定部１５が書き込み判定手段の一例に相当し、読み出し判定部１６が読み出し判定手段の一例に相当する。
【００３２】
次に、図１に示すデータ変換回路１の動作について説明する。なお、データ変換回路１の動作は、データを書き込むデータ書き込み動作と、データを読み出すデータ読み出し動作とに分けることができ、以下の説明では、それぞれの動作について説明する。
【００３３】
図２は、データバッファ１１及び判定用レジスタ１２の内部構造を模式的に示す図である。図２に示すように、データバッファ１１は、各Ｎビットの８個のデータを格納するための領域を有しており、パックされた４個のデータのそれぞれを格納するＢ０〜Ｂ３までの領域（第１格納領域）と、パックされた４個のデータのそれぞれを格納するＢ４〜Ｂ７までの領域（第２格納領域）とを有している。また、判定用レジスタ１２は、領域Ｂ０〜Ｂ３のそれぞれにデータが格納されているか否かを判定するための変数を格納するＶ０〜Ｖ３までの領域と、領域Ｂ４〜Ｂ７のそれぞれにデータが格納されているか否かを判定するための変数を格納するＶ４〜Ｖ７までの領域とを有する。
【００３４】
まず、図１に示すデータ変換回路１のデータ書き込み動作について説明する。図３は、図１に示すデータ変換回路１のデータ書き込み動作について説明するためのフローチャートである。
【００３５】
まず、ステップＳ１において、書き込み判定部１５は、パックされた４個のデータが入力されると、書き込み用カウンタ１３の値が０であるか否かを判定する。ここで、書き込み用カウンタ１３の値が０である場合（ステップＳ１でＹＥＳ）、ステップＳ２の処理に移行し、書き込み用カウンタ１３の値が０でない、すなわち、書き込み用カウンタ１３の値が１である場合（ステップＳ１でＮＯ）、ステップＳ５の処理に移行する。
【００３６】
書き込み用カウンタ１３の値が０である場合、ステップＳ２において、書き込み判定部１５は、判定用レジスタ１２のＶ０〜Ｖ３までの値が全て０であるか否かを判定する。ここで、判定用レジスタ１２のＶ０〜Ｖ３までの値が全て０である場合（ステップＳ２でＹＥＳ）、ステップＳ３の処理に移行する。判定用レジスタ１２のＶ０〜Ｖ３までの値が全て０でない、すなわち、判定用レジスタ１２のＶ０〜Ｖ３までの値に１が含まれる場合（ステップＳ２でＮＯ）、データバッファ１１からデータが読み出されることによって、判定用レジスタ１２のＶ０〜Ｖ３までの値が全て０になるまで待機状態となる。
【００３７】
判定用レジスタ１２のＶ０〜Ｖ３までの値が全て０である場合、ステップＳ３において、書き込み判定部１５は、データバッファ１１のＢ０〜Ｂ３への書き込みを許可し、データバッファ１１のＢ０〜Ｂ３へデータを書き込み、判定用レジスタ１２のＶ０〜Ｖ３までの値を全て１にする。
【００３８】
次に、ステップＳ４において、書き込み判定部１５は、書き込み用カウンタ１３の現在のカウンタ値に１を加算し、処理を終了する。その結果、書き込み用カウンタ１３のカウンタ値は０から１に変化する。
【００３９】
一方、書き込み用カウンタ１３の値が０でない場合、ステップＳ５において、書き込み判定部１５は、判定用レジスタ１２のＶ４〜Ｖ７までの値が全て０であるか否かを判定する。ここで、判定用レジスタ１２のＶ４〜Ｖ７までの値が全て０である場合（ステップＳ５でＹＥＳ）、ステップＳ６の処理に移行する。判定用レジスタ１２のＶ４〜Ｖ７までの値が全て０でない、すなわち、判定用レジスタ１２のＶ４〜Ｖ７までの値に１が含まれる場合（ステップＳ５でＮＯ）、データバッファ１１からデータが読み出されることによって、判定用レジスタ１２のＶ４〜Ｖ７までの値が全て０になるまで待機状態となる。
【００４０】
判定用レジスタ１２のＶ４〜Ｖ７までの値が全て０である場合、ステップＳ６において、書き込み判定部１５は、データバッファ１１のＢ４〜Ｂ７への書き込みを許可し、データバッファ１１のＢ４〜Ｂ７へデータを書き込み、判定用レジスタ１２のＶ４〜Ｖ７までの値を全て１にする。
【００４１】
次に、ステップＳ７において、書き込み判定部１５は、書き込み用カウンタ１３の現在のカウンタ値に１を加算し、処理を終了する。その結果、書き込み用カウンタ１３のカウンタ値は１から０に変化する。
【００４２】
このように、データバッファ１１は、それぞれ４個のデータを格納する第１格納領域Ｂ０〜Ｂ３及び第２格納領域Ｂ４〜Ｂ７を有しており、データバッファ１１への書き込みが行われた場合、書き込み用カウンタ１３に１が加算されるとともに、書き込まれた位置に対応する判定用レジスタ１２に１が書き込まれ、データバッファ１１からの読み出しが行われた場合、読み出された位置に対応する判定用レジスタ１２に０が書き込まれる。そして、書き込み用カウンタ１３の値が０であり、第１格納領域Ｂ０〜Ｂ３に対応する判定用レジスタ１２の値が０となっている場合、データバッファ１１の第１格納領域Ｂ０〜Ｂ３に４個のデータが書き込まれ、書き込み用カウンタ１３の値が１であり、第２格納領域Ｂ４〜Ｂ７に対応する判定用レジスタ１２の値が０となっている場合、データバッファ１１の第２格納領域Ｂ４〜Ｂ７に４個のデータが書き込まれる。
【００４３】
したがって、書き込み用カウンタ１３の値と判定用レジスタ１２の値とに応じてデータバッファ１１のどの位置に４個のデータを書き込むかが決定されるので、複雑な回路構成を必要とせずに、書き込み速度を向上させることができる。
【００４４】
次に、図１に示すデータ変換回路１のデータ読み出し動作について説明する。図４及び図５は、図１に示すデータ変換回路１のデータ読み出し動作について説明するためのフローチャートである。
【００４５】
まず、ステップＳ１０１において、読み出し判定部１６は、読み出し用カウンタ１４の値が０であるか否かを判定する。ここで、読み出し用カウンタ１４の値が０である場合（ステップＳ１０１でＹＥＳ）、ステップＳ１０２の処理に移行し、読み出し用カウンタ１４の値が０でない、すなわち、読み出し用カウンタ１４の値が１〜７のいずれかである場合（ステップＳ１０１でＮＯ）、ステップＳ１１１の処理に移行する。
【００４６】
読み出し用カウンタ１４の値が０である場合、ステップＳ１０２において、読み出し判定部１６は、判定用レジスタ１２のＶ０〜Ｖ２までの値が全て１であるか否かを判定する。ここで、判定用レジスタ１２のＶ０〜Ｖ２までの値が全て１である場合（ステップＳ１０２でＹＥＳ）、ステップＳ１０３の処理に移行する。判定用レジスタ１２のＶ０〜Ｖ２までの値が全て１でない、すなわち、判定用レジスタ１２のＶ０〜Ｖ２までの値に０が含まれる場合（ステップＳ１０２でＮＯ）、データバッファ１１へデータが書き込まれることによって、判定用レジスタ１２のＶ０〜Ｖ２までの値が全て１になるまで待機状態となる。
【００４７】
判定用レジスタ１２のＶ０〜Ｖ２までの値が全て１である場合、ステップＳ１０３において、読み出し判定部１６は、データバッファ１１のＢ０〜Ｂ２からの読み出しを許可し、データバッファ１１のＢ０〜Ｂ２からデータを読み出し、判定用レジスタ１２のＶ０〜Ｖ２までの値を全て０にする。
【００４８】
次に、ステップＳ１０４において、読み出し判定部１６は、読み出し用カウンタ１４の現在のカウンタ値に１を加算し、処理を終了する。その結果、読み出し用カウンタ１４のカウンタ値は０から１に変化する。
【００４９】
一方、読み出し用カウンタ１４の値が０でない場合、ステップＳ１１１において、読み出し判定部１６は、読み出し用カウンタ１４の値が１であるか否かを判定する。ここで、読み出し用カウンタ１４の値が１である場合（ステップＳ１１１でＹＥＳ）、ステップＳ１１２の処理に移行し、読み出し用カウンタ１４の値が１でない、すなわち、読み出し用カウンタ１４の値が２〜７のいずれかである場合（ステップＳ１１１でＮＯ）、ステップＳ１２１の処理に移行する。
【００５０】
読み出し用カウンタ１４の値が１である場合、ステップＳ１１２において、読み出し判定部１６は、判定用レジスタ１２のＶ３〜Ｖ５までの値が全て１であるか否かを判定する。ここで、判定用レジスタ１２のＶ３〜Ｖ５までの値が全て１である場合（ステップＳ１１２でＹＥＳ）、ステップＳ１１３の処理に移行する。判定用レジスタ１２のＶ３〜Ｖ５までの値が全て１でない、すなわち、判定用レジスタ１２のＶ３〜Ｖ５までの値に０が含まれる場合（ステップＳ１１２でＮＯ）、データバッファ１１へデータが書き込まれることによって、判定用レジスタ１２のＶ３〜Ｖ５までの値が全て１になるまで待機状態となる。
【００５１】
判定用レジスタ１２のＶ３〜Ｖ５までの値が全て１である場合、ステップＳ１１３において、読み出し判定部１６は、データバッファ１１のＢ３〜Ｂ５からの読み出しを許可し、データバッファ１１のＢ３〜Ｂ５からデータを読み出し、判定用レジスタ１２のＶ３〜Ｖ５までの値を全て０にする。
【００５２】
次に、ステップＳ１１４において、読み出し判定部１６は、読み出し用カウンタ１４の現在のカウンタ値に１を加算し、処理を終了する。その結果、読み出し用カウンタ１４のカウンタ値は１から２に変化する。
【００５３】
一方、読み出し用カウンタ１４の値が０及び１でない場合、ステップＳ１２１において、読み出し判定部１６は、読み出し用カウンタ１４の値が２であるか否かを判定する。ここで、読み出し用カウンタ１４の値が２である場合（ステップＳ１２１でＹＥＳ）、ステップＳ１２２の処理に移行し、読み出し用カウンタ１４の値が２でない、すなわち、読み出し用カウンタ１４の値が３〜７のいずれかである場合（ステップＳ１２１でＮＯ）、ステップＳ１３１の処理に移行する。
【００５４】
読み出し用カウンタ１４の値が２である場合、ステップＳ１２２において、読み出し判定部１６は、判定用レジスタ１２のＶ６，Ｖ７，Ｖ０の値が全て１であるか否かを判定する。ここで、判定用レジスタ１２のＶ６，Ｖ７，Ｖ０の値が全て１である場合（ステップＳ１２２でＹＥＳ）、ステップＳ１２３の処理に移行する。判定用レジスタ１２のＶ６，Ｖ７，Ｖ０の値が全て１でない、すなわち、判定用レジスタ１２のＶ６，Ｖ７，Ｖ０の値に０が含まれる場合（ステップＳ１２２でＮＯ）、データバッファ１１へデータが書き込まれることによって、判定用レジスタ１２のＶ６，Ｖ７，Ｖ０の値が全て１になるまで待機状態となる。
【００５５】
判定用レジスタ１２のＶ６，Ｖ７，Ｖ０の値が全て１である場合、ステップＳ１２３において、読み出し判定部１６は、データバッファ１１のＢ６，Ｂ７，Ｂ０からの読み出しを許可し、データバッファ１１のＢ６，Ｂ７，Ｂ０からデータを読み出し、判定用レジスタ１２のＶ６，Ｖ７，Ｖ０の値を全て０にする。
【００５６】
次に、ステップＳ１２４において、読み出し判定部１６は、読み出し用カウンタ１４の現在のカウンタ値に１を加算し、処理を終了する。その結果、読み出し用カウンタ１４のカウンタ値は２から３に変化する。
【００５７】
一方、読み出し用カウンタ１４の値が０〜２でない場合、ステップＳ１３１において、読み出し判定部１６は、読み出し用カウンタ１４の値が３であるか否かを判定する。ここで、読み出し用カウンタ１４の値が３である場合（ステップＳ１３１でＹＥＳ）、ステップＳ１３２の処理に移行し、読み出し用カウンタ１４の値が３でない、すなわち、読み出し用カウンタ１４の値が４〜７のいずれかである場合（ステップＳ１３１でＮＯ）、ステップＳ１４１の処理に移行する。
【００５８】
読み出し用カウンタ１４の値が３である場合、ステップＳ１３２において、読み出し判定部１６は、判定用レジスタ１２のＶ１〜Ｖ３までの値が全て１であるか否かを判定する。ここで、判定用レジスタ１２のＶ１〜Ｖ３までの値が全て１である場合（ステップＳ１３２でＹＥＳ）、ステップＳ１３３の処理に移行する。判定用レジスタ１２のＶ１〜Ｖ３までの値が全て１でない、すなわち、判定用レジスタ１２のＶ１〜Ｖ３までの値に０が含まれる場合（ステップＳ１３２でＮＯ）、データバッファ１１へデータが書き込まれることによって、判定用レジスタ１２のＶ１〜Ｖ３までの値が全て１になるまで待機状態となる。
【００５９】
判定用レジスタ１２のＶ１〜Ｖ３までの値が全て１である場合、ステップＳ１３３において、読み出し判定部１６は、データバッファ１１のＢ１〜Ｂ３からの読み出しを許可し、データバッファ１１のＢ１〜Ｂ３からデータを読み出し、判定用レジスタ１２のＶ１〜Ｖ３までの値を全て０にする。
【００６０】
次に、ステップＳ１３４において、読み出し判定部１６は、読み出し用カウンタ１４の現在のカウンタ値に１を加算し、処理を終了する。その結果、読み出し用カウンタ１４のカウンタ値は３から４に変化する。
【００６１】
一方、読み出し用カウンタ１４の値が０〜３でない場合、ステップＳ１４１において、読み出し判定部１６は、読み出し用カウンタ１４の値が４であるか否かを判定する。ここで、読み出し用カウンタ１４の値が４である場合（ステップＳ１４１でＹＥＳ）、ステップＳ１４２の処理に移行し、読み出し用カウンタ１４の値が４でない、すなわち、読み出し用カウンタ１４の値が５〜７のいずれかである場合（ステップＳ１４１でＮＯ）、ステップＳ１５１の処理に移行する。
【００６２】
読み出し用カウンタ１４の値が４である場合、ステップＳ１４２において、読み出し判定部１６は、判定用レジスタ１２のＶ４〜Ｖ６までの値が全て１であるか否かを判定する。ここで、判定用レジスタ１２のＶ４〜Ｖ６までの値が全て１である場合（ステップＳ１４２でＹＥＳ）、ステップＳ１４３の処理に移行する。判定用レジスタ１２のＶ４〜Ｖ６までの値が全て１でない、すなわち、判定用レジスタ１２のＶ４〜Ｖ６までの値に０が含まれる場合（ステップＳ１４２でＮＯ）、データバッファ１１へデータが書き込まれることによって、判定用レジスタ１２のＶ４〜Ｖ６までの値が全て１になるまで待機状態となる。
【００６３】
判定用レジスタ１２のＶ４〜Ｖ６までの値が全て１である場合、ステップＳ１４３において、読み出し判定部１６は、データバッファ１１のＢ４〜Ｂ６からの読み出しを許可し、データバッファ１１のＢ４〜Ｂ６からデータを読み出し、判定用レジスタ１２のＶ４〜Ｖ６までの値を全て０にする。
【００６４】
次に、ステップＳ１４４において、読み出し判定部１６は、読み出し用カウンタ１４の現在のカウンタ値に１を加算し、処理を終了する。その結果、読み出し用カウンタ１４のカウンタ値は４から５に変化する。
【００６５】
一方、読み出し用カウンタ１４の値が０〜４でない場合、ステップＳ１５１において、読み出し判定部１６は、読み出し用カウンタ１４の値が５であるか否かを判定する。ここで、読み出し用カウンタ１４の値が５である場合（ステップＳ１５１でＹＥＳ）、ステップＳ１５２の処理に移行し、読み出し用カウンタ１４の値が５でない、すなわち、読み出し用カウンタ１４の値が６及び７のいずれかである場合（ステップＳ１５１でＮＯ）、ステップＳ１６１の処理に移行する。
【００６６】
読み出し用カウンタ１４の値が５である場合、ステップＳ１５２において、読み出し判定部１６は、判定用レジスタ１２のＶ７，Ｖ０，Ｖ１の値が全て１であるか否かを判定する。ここで、判定用レジスタ１２のＶ７，Ｖ０，Ｖ１の値が全て１である場合（ステップＳ１５２でＹＥＳ）、ステップＳ１５３の処理に移行する。判定用レジスタ１２のＶ７，Ｖ０，Ｖ１の値が全て１でない、すなわち、判定用レジスタ１２のＶ７，Ｖ０，Ｖ１の値に０が含まれる場合（ステップＳ１５２でＮＯ）、データバッファ１１へデータが書き込まれることによって、判定用レジスタ１２のＶ７，Ｖ０，Ｖ１の値が全て１になるまで待機状態となる。
【００６７】
判定用レジスタ１２のＶ７，Ｖ０，Ｖ１の値が全て１である場合、ステップＳ１５３において、読み出し判定部１６は、データバッファ１１のＢ７，Ｂ０，Ｂ１からの読み出しを許可し、データバッファ１１のＢ７，Ｂ０，Ｂ１からデータを読み出し、判定用レジスタ１２のＶ７，Ｖ０，Ｖ１の値を全て０にする。
【００６８】
次に、ステップＳ１５４において、読み出し判定部１６は、読み出し用カウンタ１４の現在のカウンタ値に１を加算し、処理を終了する。その結果、読み出し用カウンタ１４のカウンタ値は５から６に変化する。
【００６９】
一方、読み出し用カウンタ１４の値が０〜５でない場合、ステップＳ１６１において、読み出し判定部１６は、読み出し用カウンタ１４の値が６であるか否かを判定する。ここで、読み出し用カウンタ１４の値が６である場合（ステップＳ１６１でＹＥＳ）、ステップＳ１６２の処理に移行し、読み出し用カウンタ１４の値が６でない、すなわち、読み出し用カウンタ１４の値が７である場合（ステップＳ１６１でＮＯ）、ステップＳ１７２の処理に移行する。
【００７０】
読み出し用カウンタ１４の値が６である場合、ステップＳ１６２において、読み出し判定部１６は、判定用レジスタ１２のＶ２〜Ｖ４までの値が全て１であるか否かを判定する。ここで、判定用レジスタ１２のＶ２〜Ｖ４までの値が全て１である場合（ステップＳ１６２でＹＥＳ）、ステップＳ１６３の処理に移行する。判定用レジスタ１２のＶ２〜Ｖ４までの値が全て１でない、すなわち、判定用レジスタ１２のＶ２〜Ｖ４までの値に０が含まれる場合（ステップＳ１６２でＮＯ）、データバッファ１１へデータが書き込まれることによって、判定用レジスタ１２のＶ２〜Ｖ４までの値が全て１になるまで待機状態となる。
【００７１】
判定用レジスタ１２のＶ２〜Ｖ４までの値が全て１である場合、ステップＳ１６３において、読み出し判定部１６は、データバッファ１１のＢ２〜Ｂ４からの読み出しを許可し、データバッファ１１のＢ２〜Ｂ４からデータを読み出し、判定用レジスタ１２のＶ２〜Ｖ４までの値を全て０にする。
【００７２】
次に、ステップＳ１６４において、読み出し判定部１６は、読み出し用カウンタ１４の現在のカウンタ値に１を加算し、処理を終了する。その結果、読み出し用カウンタ１４のカウンタ値は６から７に変化する。
【００７３】
一方、読み出し用カウンタ１４の値が０〜６でない場合、読み出し用カウンタ１４の値は７であると判定される。
【００７４】
読み出し用カウンタ１４の値が７である場合、ステップＳ１７２において、読み出し判定部１６は、判定用レジスタ１２のＶ５〜Ｖ７までの値が全て１であるか否かを判定する。ここで、判定用レジスタ１２のＶ５〜Ｖ７までの値が全て１である場合（ステップＳ１７２でＹＥＳ）、ステップＳ１７３の処理に移行する。判定用レジスタ１２のＶ５〜Ｖ７までの値が全て１でない、すなわち、判定用レジスタ１２のＶ５〜Ｖ７までの値に０が含まれる場合（ステップＳ１７２でＮＯ）、データバッファ１１へデータが書き込まれることによって、判定用レジスタ１２のＶ５〜Ｖ７までの値が全て１になるまで待機状態となる。
【００７５】
判定用レジスタ１２のＶ５〜Ｖ７までの値が全て１である場合、ステップＳ１７３において、読み出し判定部１６は、データバッファ１１のＢ５〜Ｂ７からの読み出しを許可し、データバッファ１１のＢ５〜Ｂ７からデータを読み出し、判定用レジスタ１２のＶ５〜Ｖ７までの値を全て０にする。
【００７６】
次に、ステップＳ１７４において、読み出し判定部１６は、読み出し用カウンタ１４の現在のカウンタ値に１を加算し、処理を終了する。その結果、読み出し用カウンタ１４のカウンタ値は７から０に変化する。
【００７７】
このように、パックされたデータの書き込み時においては、パックされたデータをデータバッファ１１のどの位置に書き込むかを示す書き込み用カウンタ１３の値と、データバッファ１１にデータが格納されているか否かを示す判定用レジスタ１２の値とに基づいてデータバッファ１１のどの位置にデータを書き込むかが判定され、アンパックするデータの読み出し時においては、読み出し用カウンタ１４の値と判定用レジスタ１２の値とに基づいてデータバッファ１１のどの位置からデータを読み出すかが判定される。
【００７８】
したがって、書き込み用カウンタ１３によってデータの書き込み位置が特定され、読み出し用カウンタ１４によってデータの読み出し位置が特定され、判定用レジスタ１２によって書き込み位置及び読み出し位置のデータの有無が判定されるので、複雑な回路構成が不要となり、回路構成を簡略化することができ、大容量のバッファを不要とすることができる。
【００７９】
また、データバッファ１１には、１ビットのデータを単位データとし、複数の単位データを１個のデータとした場合における８個のデータが格納され、パックされた４個のデータをデータバッファ１１のどの位置に書き込むかを示す書き込み用カウンタ１３によって特定される書き込み位置に、判定用レジスタ１２によって示されるデータが格納されていない場合、当該書き込み位置にデータが書き込まれ、アンパックする３個のデータをデータバッファ１１のどの位置から読み出すかを示す読み出し用カウンタ１４によって特定される読み出し位置に、判定用レジスタ１２によって示されるデータが格納されている場合、当該読み出し位置からデータが読み出される。したがって、複雑な回路を必要とせずに、パックされた４個のデータを３個のデータにアンパックすることができる。
【００８０】
さらに、データバッファ１１からの読み出しが行われた場合、読み出し用カウンタ１４に１を加算し、読み出し用カウンタ１４の値が０であり、データバッファ１１の連続する３個のデータに対応する判定用レジスタ１２の値が１となっている場合、当該連続する３個のデータがデータバッファ１１から読み出される。そして、読み出し用カウンタ１４の値に１が加算され、次に連続する３個のデータに対応する判定用レジスタ１２の値が１となっている場合、当該次に連続する３個のデータがデータバッファ１１から読み出される。
【００８１】
したがって、読み出し用カウンタ１４の値と判定用レジスタ１２の値とに応じてデータバッファ１１のどの位置から３個のデータを読み出すかが決定されるので、複雑な回路構成を必要とせずに、読み出し速度を向上させることができる。
【００８２】
上述のデータ変換回路１は、複写機、プリンタ機、スキャナ機、ファクシミリ機、及び複写機能、プリンタ機能、スキャナ機能及びファクシミリ機能等を有する複合機等の画像形成装置に適用することができる。
【００８３】
図６は、本発明に係る画像形成装置の概略構成を示すブロック図である。画像形成装置１００は、データ変換回路１、原稿読取り装置１０１、データ処理部１０２及び画像形成部１０３を備えて構成される。
【００８４】
原稿読取り装置１０１は、原稿上の画像を読み取るカラーＣＣＤ（Charge Coupled Device）等からなるカラースキャナ等で構成され、読み取った原稿画像を構成する画素データをデータ変換回路１へ出力する。このとき、原稿読取り装置１０１は、原稿画像を構成する複数の画素データのうち、連続する４個の画素データをデータ変換回路１へ出力する。例えば、原稿読取り装置１０１は、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の三原色のデータ（各８ｂｉｔ）が４個（４ｂｙｔｅ）毎にパックされた、連続したカラー画素データ（Ｒ１Ｇ１Ｂ１Ｒ２，Ｇ２Ｂ２Ｒ３Ｇ３，Ｂ３Ｒ４Ｇ４Ｂ４，・・・）をデータ変換回路１へ出力する。
【００８５】
データ変換回路１は、図１に示すデータ変換回路１で構成され、原稿読取り装置１０１によって出力された４個の画素データをＲＧＢ成分毎の３個のデータにアンパックする。すなわち、データ変換回路１は、原稿読取り装置１０１から出力された４個ずつの連続したカラー画素データ（Ｒ１Ｇ１Ｂ１Ｒ２，Ｇ２Ｂ２Ｒ３Ｇ３，Ｂ３Ｒ４Ｇ４Ｂ４，・・・）をＲＧＢ成分毎の３個のデータ（Ｒ１Ｇ１Ｂ１，Ｒ２Ｇ２Ｂ２，Ｒ３Ｇ３Ｂ３，Ｒ４Ｇ４Ｂ４，・・・）に変換する。データ変換回路１によって変換されたＲＧＢ成分毎のデータは、データ処理部１０２に出力される。
【００８６】
データ処理部１０２は、データ変換回路１によってアンパックされたデータをＲＧＢ成分毎にデータ処理する。例えば、データ処理部１０２は、画像データの入力濃度に対する出力濃度の関係を示す濃度変換曲線（ガンマ曲線）を用いて入出力の関係を変化させて画像の濃淡を修正するガンマ補正処理等の色補正処理等を行う。なお、本実施形態におけるデータ処理部１０２のガンマ補正処理は一例であり、ＲＧＢ成分毎にデータを補正、加工する処理であればよい。
【００８７】
画像形成部１０３は、帯電部により感光体ドラムの表面に静電領域を形成し、この静電領域に露光部から照射されるレーザ光等により、データ処理部１０２によってデータ処理された画像データに基づく静電潜像を形成し、この静電潜像を現像部でトナー像に現像し、転写部でトナー像を記録用紙に転写する。トナー像の転写された記録用紙は、定着ユニット内に配設されている定着ローラにより加熱されることでトナー像が定着され、排出ローラによって外部に排出される。
【００８８】
このように、原稿読取り装置１０１によって、原稿画像を構成する複数の画素データのうち、４個の画素データがパックして出力され、データ変換回路１によって、出力された４個の画素データがＲＧＢ成分毎の３個のデータにアンパックされ、データ処理部１０２によって、アンパックされたデータがＲＧＢ成分毎にデータ処理される。したがって、４個の画素データをＲＧＢ成分毎の３個のデータにアンパックすることができ、ＲＧＢ成分毎にデータ処理を行うことができる。
【図面の簡単な説明】
【００８９】
【図１】本発明に係るデータ変換回路の構成を示すブロック図である。
【図２】データバッファ及び判定用レジスタの内部構造を模式的に示す図である。
【図３】図１に示すデータ変換回路のデータ書き込み動作について説明するためのフローチャートである。
【図４】図１に示すデータ変換回路のデータ読み出し動作について説明するためのフローチャートである。
【図５】図１に示すデータ変換回路のデータ読み出し動作について説明するためのフローチャートである。
【図６】本発明に係る画像形成装置の概略構成を示すブロック図である。
【符号の説明】
【００９０】
１    データ変換回路
１１    データバッファ
１２    判定用レジスタ
１３    書き込み用カウンタ
１４    読み出し用カウンタ
１５    書き込み判定部
１６    読み出し判定部
１００    画像形成装置
１０１    原稿読取り装置
１０２    データ処理部
１０３    画像形成部
【図１】
2006060667.tif 000003
【図２】
2006060667.tif 000004
【図３】
2006060667.tif 000005
【図４】
2006060667.tif 000006
【図５】
2006060667.tif 000007
【図６】
2006060667.tif 000008