(57)【要約】【課題】シリアルデータを受信する側の機器の回路規模を増大させることなく、複数の転送レーン間に生じた遅延を調整すること。【解決手段】送信装置は、第１の送信レーン及び第２の送信レーンで送信される対象コード間に制御コードを挿入する挿入部と、異なる複数の位相の動作クロック信号を第２の送信レーンに設定する設定部と、を有し、受信装置は、異なる複数の位相の動作クロック信号毎に、第２の送信レーンから送信された制御コードの到達時刻から、第１の送信レーンから送信された制御コードの到達時刻を差し引いた遅延時間を算出する算出部を有し、送信装置は、異なる複数の位相の動作クロック信号毎の遅延時間のうち、遅延時間が最も小さい動作クロック信号を用いて第２の送信レーンの対象コードをシリアル送信する送信部を有する通信システムが開示される。【選択図】図１
2017011338.tif 000002
【特許請求の範囲】
【請求項１】
複数の転送レーンを用いて対象コードをシリアル送信する送信装置と、該対象コードを受信する受信装置とを有する通信システムであって、
前記送信装置は、
第１の送信レーン及び第２の送信レーンで送信される対象コード間に制御コードを挿入する挿入部と、
異なる複数の位相の動作クロック信号を前記第２の送信レーンに設定する設定部と、を有し、
前記受信装置は、
前記異なる複数の位相の動作クロック信号毎に、前記第２の送信レーンから送信された制御コードの到達時刻から、前記第１の送信レーンから送信された制御コードの到達時刻を差し引いた遅延時間を算出する算出部を有し、
前記送信装置は、さらに、
前記異なる複数の位相の動作クロック信号毎の遅延時間のうち、遅延時間が最も小さい動作クロック信号を用いて前記第２の送信レーンの対象コードをシリアル送信する送信部を有する通信システム。
【請求項２】
前記送信部は、前記第２の送信レーンの対象コードをシリアル送信するタイミングを、遅延時間が最小となるように該動作クロック信号の周期単位で遅延させる請求項１に記載の通信システム。
【請求項３】
前記送信部は、前記第２の送信レーンの対象コードをシリアル送信するタイミングを、遅延時間が最小となるように該動作クロック信号の２倍以上の整数倍の周期単位で遅延させる請求項１に記載の通信システム。
【請求項４】
前記設定部は、前記異なる複数の位相の動作クロック信号に係る位相差を９０°とする４つの位相の動作クロック信号を、前記第２の送信レーンに設定する請求項１乃至３のいずれか１項に記載の通信システム。
【請求項５】
複数の転送レーンを用いて対象コードをシリアル送信する送信装置と、シリアル転送された前記対象コードを受信する受信装置とを含む通信システムであって、
前記送信装置は、
第１の送信レーン及び第２の送信レーンで送信される対象コード間に制御コードを挿入する挿入部と、
第１の送信レーンと同じ位相の動作クロック信号を前記第２の送信レーンに設定する設定部と、を有し、
前記受信装置は、
前記第２の送信レーンから送信された制御コードの到達時刻から、前記第１の送信レーンから送信された制御コードの到達時刻を差し引いた遅延時間を算出する算出部を有し、
前記送信装置は、さらに、
前記第２の送信レーンの対象コードをシリアル送信するタイミングを、前記遅延時間が最小となるように該動作クロック信号の周期単位で遅延させてから前記対象コードをシリアル送信する送信部と、を有し、
前記受信装置は、さらに、
前記シリアル送信された対象コードのバッファリング時間を、遅延時間が最小となるように調整する調整部を有する通信システム。
【請求項６】
複数の転送レーンを用いて対象コードをシリアル送信する送信装置と、シリアル転送された前記対象コードを受信する受信装置とを含む通信システムであって、
前記送信装置は、
第１の送信レーン及び第２の送信レーンで送信される対象コード間に制御コードを挿入する挿入部と、
第１の送信レーンと同じ位相の動作クロック信号を前記第２の送信レーンに設定する設定部と、を有し、
前記受信装置は、
前記第２の送信レーンから送信された制御コードの到達時刻から、前記第１の送信レーンから送信された制御コードの到達時刻を差し引いた遅延時間を算出する算出部を有し、
前記送信装置は、さらに、
前記第２の送信レーンの対象コードをシリアル送信するタイミングを、前記遅延時間が最小となるように該動作クロック信号の２倍以上の整数倍の周期単位で遅延させてから前記対象コードをシリアル送信する送信部と、を有し、
前記受信装置は、さらに、
前記シリアル送信された対象コードのバッファリング時間を、遅延時間が最小となるように調整する調整部を有する通信システム。
【請求項７】
複数の転送レーンを用いて対象コードを受信装置にシリアル送信する送信装置であって、
第１の送信レーン及び第２の送信レーンで送信される対象コード間に制御コードを挿入する挿入部と、
異なる複数の位相の動作クロック信号を前記第２の送信レーンに設定する設定部と、
前記異なる複数の位相の動作クロック信号毎に、前記受信装置において算出された、前記第２の送信レーンから送信された制御コードの到達時刻から、前記第１の送信レーンから送信された制御コードの到達時刻を差し引いた遅延時間のうち、遅延時間が最も小さい動作クロック信号を用いて前記第２の送信レーンの対象コードをシリアル送信する送信部と、を有する送信装置。
【請求項８】
複数の転送レーンを用いて対象コードを受信装置にシリアル送信する通信方法であって、
第１の送信レーン及び第２の送信レーンで送信される対象コード間に制御コードを挿入するステップと、
異なる複数の位相の動作クロック信号を前記第２の送信レーンに設定するステップと、
前記異なる複数の位相の動作クロック信号毎に、前記受信装置において算出された、前記第２の送信レーンから送信された制御コードの到達時刻から、前記第１の送信レーンから送信された制御コードの到達時刻を差し引いた遅延時間のうち、遅延時間が最も小さい動作クロック信号を用いて前記第２の送信レーンの対象コードをシリアル送信するステップと、を有する通信方法。
【請求項９】
第１の送信レーン及び第２の送信レーンで送信される対象コード間に制御コードを挿入するステップと、
異なる複数の位相の動作クロック信号を前記第２の送信レーンに設定するステップと、
前記異なる複数の位相の動作クロック信号毎に、前記第２の送信レーンから送信された制御コードの到達時刻から、前記第１の送信レーンから送信された制御コードの到達時刻を差し引いた遅延時間を算出するステップと、
前記異なる複数の位相の動作クロック信号毎の遅延時間のうち、遅延時間が最も小さい動作クロック信号を用いて前記第２の送信レーンの対象コードをシリアル送信するステップと、を有する通信方法。
【請求項１０】
コンピュータに、請求項８又は９に記載の通信方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法及びプログラムに関する。
【背景技術】
【０００２】
対象のデータをシリアルデータに変換し、ビット単位で高速にデータ転送する高速シリアル通信という技術がある。高速シリアル通信では、さらに通信速度を上げるために複数の転送レーンを用いるマルチレーン方式で、対象のデータをシリアル転送する場合がある。
【０００３】
ところが、マルチレーン方式では、１ＧＨｚを超える高周波成分のシリアルデータを複数のレーンで転送しており、転送レーン毎に転送遅延量が異なるため、デシリアライザ側で正常にシリアルデータを受信できない場合がある。
【０００４】
この問題を解消するために、デシリアライザ側に転送レーン毎に遅延量調整用のバッファメモリを設けて遅延量を調整する方法がすでに知られている。
【０００５】
例えば、複数の転送レーンを持つシリアルデータ受信装置において、受信装置の転送レーン毎にバッファメモリを設けて、転送レーン間の遅延情報を反映したタイミング信号に応じて、受信したシリアルデータがライトされたバッファメモリをリードすることで転送レーン間の遅延量を調整する方法が知られている（例えば、特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、シリアルデータを受信する側の機器の回路規模が増大するという問題があった。
【０００７】
例えば、従来技術では、転送レーン間の遅延量を調整するために、デシリアライザ側の各転送レーンにバッファメモリを設けていた。転送レーン間の遅延量が大きくなる場合に備えて、デシリアライザ側に十分な容量を有するバッファメモリを設けるため、デシリアライザ側の回路規模が大きくなる。
【０００８】
さらに、遅延量がシステムの想定を超えた場合、及び対象のデータ前後の遅延時間に相当するタイミングで通信エラーが発生した場合等は、メモリＲＷオーバーランエラー及びメモリＲＷアンダーランエラーが発生することがある。
【０００９】
そこで、本発明では、シリアルデータを受信する側の機器の回路規模を増大させることなく、複数の転送レーン間に生じた遅延を調整することを目的とする。
【課題を解決するための手段】
【００１０】
実施形態では、複数の転送レーンを用いて対象コードをシリアル送信する送信装置と、該対象コードを受信する受信装置とを有する通信システムであって、前記送信装置は、第１の送信レーン及び第２の送信レーンで送信される対象コード間に制御コードを挿入する挿入部と、異なる複数の位相の動作クロック信号を前記第２の送信レーンに設定する設定部と、を有し、前記受信装置は、前記異なる複数の位相の動作クロック信号毎に、前記第２の送信レーンから送信された制御コードの到達時刻から、前記第１の送信レーンから送信された制御コードの到達時刻を差し引いた遅延時間を算出する算出部を有し、前記送信装置は、さらに、前記異なる複数の位相の動作クロック信号毎の遅延時間のうち、遅延時間が最も小さい動作クロック信号を用いて前記第２の送信レーンの対象コードをシリアル送信する送信部を有する通信システムが開示される。
【発明の効果】
【００１１】
シリアルデータを受信する側の機器の回路規模を増大させることなく、複数の転送レーン間に生じた遅延を調整することができる。
【図面の簡単な説明】
【００１２】
【図１】書込みデータ転送システムの構成例を示す図である。
【図２】書込み光学系の接続を説明する図である。
【図３】シリアライザのデータ出力手順を説明する図である。
【図４】ＲＤルールを説明するための図である。
【図５】シリアライザ出力のタイミングチャートを示す図である。
【図６】変換テーブルの一例を示す図である。
【図７】シリアライザ―デシリアライザ接続の例を示す図である。
【図８】マルチレーン間の遅延制御の第１の例を示す図である。
【図９】マルチレーン間の遅延制御の第２の例を示す図である。
【図１０】マルチレーン間の遅延制御の第３の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することによって重複した説明を省く。
【００１４】
［第１実施形態］
図１は、書込みデータ転送システム１の構成例を示す図である。書込みデータ転送システム１は、ＣＴＬ（Controller）１０と、ページメモリ２０と、画像展開部３０と、ＣＰＵ４０と、外部メモリ５０と、ＶＣＳＥＬ（Vertical Cavity Surface Emitting LASER）（Ｂｋ（Black））６０ａと、ＶＣＳＥＬ（Ｍａ（Magenta））６０ｂと、ＶＣＳＥＬ（Ｃｙ（Cyan））６０ｃと、ＶＣＳＥＬ（Ｙｅ（Yellow））６０ｄと、プロッタ制御部１００と、ＰＣ２００と、プロッタ制御部３００と、プロッタ制御部４００とを有する。なお、以下においては、ＶＣＳＥＬ６０ａ、ＶＣＳＥＬ６０ｂ、ＶＣＳＥＬ６０ｃ及びＶＣＳＥＬ６０ｄを区別しない場合は、ＶＣＳＥＬ６０と示す。
【００１５】
プロッタ制御部１００は、ＰＣ（Personal Computer）２００から送信された画像データを面積階調補正、エッジ補正、スキュー補正等によって画像データを補正し、補正後の画像データをプロッタ制御部３００及びプロッタ制御部４００に高速シリアル転送する。
【００１６】
プロッタ制御部１００は、ビデオ入力部１０１と、パラメータ制御部１０２と、ノイズ除去部１０３と、ラインメモリ１０４と、画像処理部１０５と、画素カウント部１０６と、ラインメモリ群１０７と、スキュー補正部１０８と、８Ｂ／１０Ｂ変換部１０９と、ＳＥＲ（Serializer）機能部１１０と、ＬＶＤＳ（Low voltage differential signaling）ドライバ１１１とを有する。
【００１７】
ＰＣ２００は、ユーザから印刷指示を受け付けると、プリンタドライバを用いてＧＩＦ又はＪＰＥＧ等の画像ファイルをＣＴＬ１０に送信する。ＣＴＬ１０は、受信した画像ファイルをビットマップデータ等の画像データに変換して画像展開部３０に転送する。
【００１８】
画像展開部３０は、ビデオ入力部１０１と相互に通信することで画像データをプロッタ制御部１００に転送する。具体的には、画像展開部３０は、ビデオ入力部１０１からＭＦＳＹＮＣ信号が出力された後、ＭＬＳＹＮＣ信号が出力される度に１ライン分ずつ画像データをプロッタ制御部１００に転送する。なお、ＭＦＳＹＮＣ信号は、ページ先端を示すパルス式の同期信号である。また、ＭＬＳＹＮＣ信号は、ライン先端を示すパルス式の同期信号である。
【００１９】
また、画像展開部３０は、色毎（ブラック、マゼンタ、シアン及びイエロー）に、ビデオ入力部１０１からＭＬＳＹＮＣ信号が出力されるタイミングに合わせて１ライン分の画像データをビデオ入力部１０１に転送する。なお、画像展開部３０は、ブラック、マゼンタ、シアン及びイエロー以外の色の画像データをビデオ入力部１０１に転送してもよい。
【００２０】
ＣＰＵ４０は、外部メモリ５０を参照して画像形成の準備の完了を検知した場合に、スタートトリガ信号を生成してパラメータ制御部３０２及びパラメータ制御部４０２に送信する。
【００２１】
ビデオ入力部３０１及びビデオ入力部４０１は、受信したスタートトリガ信号に基づいてスタートトリガを生成する。ビデオ入力部３０１は、生成したスタートトリガを起点としてブラック及びマゼンタのＦＳＹＮＣ＿Ｎ信号及びＬＳＹＮＣ＿Ｎ信号を生成してノイズ除去部１０３に送信する。また、ビデオ入力部４０１は、生成したスタートトリガを起点としてシアン及びイエローのＦＳＹＮＣ＿Ｎ信号及びＬＳＹＮＣ＿Ｎ信号を生成してノイズ除去部１０３に送信する。
【００２２】
ノイズ除去部１０３は、ビデオ入力部３０１及びビデオ入力部４０１から受信したＦＳＹＮＣ＿Ｎ信号及びＬＳＹＮＣ＿Ｎ信号に含まれる静電気パルス等のノイズを除去する。
【００２３】
なお、例えば、本書込みデータシステムを搭載した画像形成装置において、１００PPMを超える超高速印刷に対応するとき、図示しない感光体ドラムやポリゴンモータを高速に動作させる必要がある。そのためには、高出力の駆動モータ、大径サイズの感光体ドラム等が必要になり、各駆動ユニットのサイズが大きくなるため、必然的にユニット間の距離が大きくなる。
【００２４】
それに伴い、各感光体ドラムを露光するＶＣＳＥＬも離れた位置に配置することになり、ＶＣＳＥＬを制御するプロッタ制御部３００及びプロッタ制御部４００を離れた位置に配置する必要がある。また、プロッタ制御部３００及びプロッタ制御部４００と接続するプロッタ制御部１００も必然的に離れた位置に配置することになり、プロッタ制御部３００及びプロッタ制御部４００とプロッタ制御部１００の距離が数メートル離れる場合がある。
【００２５】
そのため、ＦＳＹＮＣ＿Ｎ信号及びＬＳＹＮＣ＿Ｎ信号は数メートルの信号線を通じてプロッタ制御部３００及びプロッタ制御部４００からプロッタ制御部１００に伝送され、その間でノイズの影響を受ける可能性が高くなる。
【００２６】
よって、ＦＳＹＮＣ＿Ｎ信号及びＬＳＹＮＣ＿Ｎ信号の受信部にはノイズ除去回路が必要になる。
【００２７】
また、画像展開部３０とプロッタ制御部１００には物理的な配置制約は特に無く、近傍に配置することが可能である。そのため、ＭＦＳＹＮＣ信号及びＭＬＳＹＮＣ信号の受信部には、ノイズ除去回路は必須ではない。
【００２８】
ノイズ除去部１０３は、受信したＦＳＹＮＣ＿Ｎ信号をＦＳＹＮＣ信号としてビデオ入力部１０１に転送する。
【００２９】
また、ノイズ除去部１０３は、ＦＳＹＮＣ信号を起点として４本のＬＳＹＮＣ＿Ｎ信号毎に１本のＬＣＬＲ信号を生成し、生成したＬＣＬＲ（Line Clear）信号をビデオ入力部１０１に送信する。具体的には、ノイズ除去部１０３は、色毎に所定の時間差を設けつつ、ＬＣＬＲ信号を生成してビデオ入力部１０１に送信する。例えば、ノイズ除去部１０３は、ブラックに係るＬＣＬＲ信号、マゼンタに係るＬＣＬＲ信号、シアンに係るＬＣＬＲ信号、イエローに係るＬＣＬＲ信号の順に生成し、生成した順に各々のＬＣＬＲ信号をビデオ入力部１０１に送信する。
【００３０】
ビデオ入力部１０１は、受信したＬＣＬＲ信号を起点として色毎（ブラック、マゼンタ、シアン、イエロー）にＭＦＳＹＮＣ信号及びＭＬＳＹＮＣ信号を生成して、画像展開部３０に送信する。これにより、ビデオ入力部１０１は、ＭＦＳＹＮＣ信号及びＭＬＳＹＮＣ信号を送信したタイミングに応じて、順次、画像展開部３０から色毎に１ライン分の画像データを受信することになる。なお、ビデオ入力部１０１は、画像展開部３０と同じクロックに同期して動作する。
【００３１】
ビデオ入力部１０１は、画像展開部３０から受信した１ライン分の画像データをラインメモリ１０４にライトする。ビデオ入力部１０１は、４ライン分の画像データがラインメモリ１０４にライトされた後、ＬＣＬＲ信号を挟んで４ライン分の画像データをリードする。なお、ビデオ入力部１０１は、ＬＣＬＲ信号間でライト処理及びリード処理のタイミングを設定することが可能である。例えば、ビデオ入力部１０１は、ＬＣＬＲ信号間の前半部にラインメモリ１０４に２回ライトし、後半部にラインメモリ１０４を２回リードするように、ライト処理及びリード処理のタイミングを設定することができる。また、ビデオ入力部１０１は、第１のＬＣＬＲ信号の後にラインメモリ１０４に４回ライトし、第２のＬＣＬＲ信号の後にラインメモリ１０４を４回リードするように、ライト処理及びリード処理のタイミングを設定することもできる。
【００３２】
続いて、ビデオ入力部１０１は、画素データに対して面積階調補正を行う。面積階調補正とは、入力側の１画素の座標に対応する出力側の複数の画素を用いて疑似的に階調表現を行う補正である。ビデオ入力部１０１は、面積階調補正後の画素データを画像処理部１０５に送信する。なお、後述する画像処理部１０５が面積階調補正を行ってもよい。
【００３３】
また、面積階調補正は、ＬＥＤＡのように発光デバイスが２値表現のみ出力可能なシステムの場合に実施する。ＬＤのように、ＰＷＭを用いて多値表現が可能な発光デバイスの場合は実施しなくてもよい。ＶＣＳＥＬの場合、２０〜４０個のＬＤが高密度に配置されているデバイスであり、各ＬＤが２値表現を行っても十分に高精細な画像（１２００×２４００dpi）を得ることができる。さらに、各ＬＤをＰＷＭ制御することでさらに超高精細（２４００×４８００dpi）な画像を得ることも可能である。よって、ＶＣＳＥＬを用いる場合、ＶＣＳＥＬシステムで２値表現を用いるか否かに応じて、面積階調を実行するか否かを切替えて使用する。
【００３４】
画像処理部１０５は、受信した画素の集合に対し、例えば、エッジ補正（１）、トリミング補正（２）及び内部パターン重畳（３）等の画像データ処理を行う。
【００３５】
エッジ補正（１）とは、画像データからエッジを検出し、滑らかにする補正である。面積階調補正後の画像データにエッジが発生する場合がある。画像処理部１０５は、面積階調補正後にエッジ補正を行うことで、面積階調補正した際に画像データに生じたエッジを滑らかにすることができる。
【００３６】
トリミング補正（２）とは、画像データの不要な部分を削除する補正である。画像処理部１０５は、例えば、主走査方向及び副走査方向にトリミング補正を行い、トリミング境界を用紙上の印字可能範囲と一致させる。
【００３７】
内部パターン重畳（３）とは、テストパターン、偽造防止用パターン及び調整用パターンなどのパターン画像を画像データに重畳させる補正である。調整用パターンには、濃度調整用パターン、色ずれ補正用パターン、ブレード捲れ回避用パターンなどがある。画像処理部１０５は、ＶＣＳＥＬ６０の解像度に一致させて各パターンを生成し、画像データに重畳させることでＶＣＳＥＬ６０に最適化した画像データを生成する。
【００３８】
なお、画像処理部１０５は、画像データをジャギー補正する場合、不図示のラインメモリを使用して補正を行ってもよい。
【００３９】
画像処理部１０５は、画像処理した画像データをスキュー補正用のラインメモリ群１０７にライトする。画像処理部１０５は、スキュー補正用のラインメモリの１アドレスにＭｂｉｔ記録できる場合、１アドレスにＭ画素分の画像データをライトするようにしてもよい。これにより、画像処理後の画像データを最小限のメモリで記録することができる。
【００４０】
画素カウント部１０６は、画像データ処理後の画像データに含まれる画素数をカウントする。例えば、ＣＰＵ４０は、画素カウント部１０６においてカウントされた画素数に応じて、利用者に請求する課金額を算出してもよい。また、画素カウント部１０６は、画像データの画素数に加え、テストパターン、偽造防止用パターン及び調整用パターンなどのパターン画像の画素数をカウントしてもよい。これにより、トナー消費量を正確に把握することができる。
【００４１】
また、プロッタ制御部１００は、ビデオ入力部１０１のラインメモリ１０４にライトされた４ライン分の画像データを、スキュー補正部のラインメモリ群１０７にライトするまで４ライン同時にマルチデータパスで処理する。
【００４２】
マルチデータパスを使用することで、画像処理部１０５は、主走査方向及び副走査方向に数画素ずつ同時に２次元データを参照することができるようになるため、エッジ処理及びジャギー補正等の処理の精度が向上する。また、マルチデータパスを使用することで、画像データの転送レートが向上し、印刷処理の速度が向上する。また、高解像度の画像データ及び高解像度のパターンを重畳した画像データを、転送時間を遅延させずに転送することもできる。また、ビデオ入力部１０１は、主走査方向及び副走査方向にコピーした画像データに対して面積階調補正等の画像処理を行い、高解像度化された画像データをマルチデータパスで転送してもよい。
【００４３】
スキュー補正部１０８は、スキュー補正用のラインメモリ群１０７に記録された画像データを、画像データの位置に応じてリードするラインメモリを切り替えることでスキュー補正を行う。スキュー補正部１０８は、画像処理部１０５によってラインメモリ群１０７にライトされる周期の１／Ｎの周期でラインメモリ群１０７をリードする。これにより、スキュー補正後の画像データの副走査方向の解像度がＮ倍となり、画像データを高解像度化することができる。
【００４４】
８Ｂ／１０Ｂ変換部１０９は、スキュー補正部１０８から受信した８ビットのコード列（画像データ）を変換テーブルに基づいて１０ビットのコード列に変換する。８Ｂ／１０Ｂ変換部１０９は、変換した１０ビットのコード列を符号化ブロックに配列する。
【００４５】
ＳＥＲ機能部１１０は、符号化ブロックに配列された１０ビットのパラレルデータ（画像データ）を１ビットずつ、１０回に分割して順次出力するシリアルデータに変換する。ＳＥＲ機能部１１０は、ブラック、マゼンタ、シアン、イエローの画像データのうち、ブラック及びマゼンタの画像データをプロッタ制御部３００にシリアル送信し、シアン及びイエローの画像データをプロッタ制御部４００にシリアル送信する。なお、シリアライザの手順に関しては、後述する。
【００４６】
プロッタ制御部３００は、ビデオ入力部３０１と、パラメータ制御部３０２と、ＤＥＳ機能部３０３と、ドライバ３０４ａと、ドライバ３０４ｂと、ＬＶＤＳドライバ３０５とを有する。また、プロッタ制御部４００は、ビデオ入力部４０１と、パラメータ制御部４０２と、ＤＥＳ機能部４０３と、ドライバ４０４ａと、ドライバ４０４ｂと、ＬＶＤＳドライバ４０５とを有する。
【００４７】
ＤＥＳ機能部３０３は、ＬＶＤＳドライバ３０５を介してブラック及びマゼンタの１０ビットのコード列を受信する。ＤＥＳ機能部３０３は、ブラック及びマゼンタの１０ビットのコード列を８ビットのコード列に逆変換し、ブラックのコード列をドライバ３０４ａに出力し、マゼンタのコード列をドライバ３０４ｂに出力する。ドライバ３０４ａは、出力されたブラックのコード列に基づいてＶＣＳＥＬ６０ａを点灯させる。また、ドライバ３０４ｂは、出力されたマゼンタのシリアルデータに基づいてＶＣＳＥＬ６０ｂを点灯させる。
【００４８】
ＤＥＳ機能部４０３は、ＬＶＤＳドライバ４０５を介してシアン及びイエローの１０ビットのコード列を受信する。ＤＥＳ機能部４０３は、シアン及びイエローの１０ビットのコード列を８ビットに逆変換し、シアンのコード列をドライバ３０４ｃに出力し、イエローのコード列をドライバ３０４ｄに出力する。ドライバ３０４ｃは、出力されたシアンのコード列に基づいてＶＣＳＥＬ６０ｃを点灯させる。また、ドライバ３０４ｂは、出力されたイエローのコード列に基づいてＶＣＳＥＬ６０ｄを点灯させる。
【００４９】
なお、第１実施形態では、２つのプロッタ制御部にそれぞれ２色分の画像データをシリアル送信する例について説明したが、これに限定されない。例えば、各色（ブラック、マゼンタ、シアン、イエロー）の画像データを４つのプロッタ制御部に別々にシリアル送信してもよい。
【００５０】
なお、使用する光学系は、ＶＣＳＥＬ以外に、マルチＬＤ（Laser Diode）、ＬＥＤＡ（LED Array）等であってもよい。
【００５１】
図２は、書込み光学系の接続を説明する図である。図２では、プロッタ制御部１００に係るチップをＶＣＳＥＬ光学系（ａ）以外に、ＬＥＤＡ（ｂ）、ＬＤ光学系（ｃ）等の複数の光学系に汎用的に使用する例を示す。
【００５２】
プロッタ制御部１００はＬＤ制御を行う。ＬＤを用いて高画質な画像データ生成を実現するためには、発光データのＰＷＭ制御が不可欠である。ＰＷＭ制御は、１画素毎の点灯・消灯データ信号を時分割し、１画素の発光・消灯時間を細かく制御し、階調制御と主走査位置補正制御を実現する技術である。
【００５３】
高画質な画像データを形成するためには、１画素を３２分割や６４分割と言った、高精度なＰＷＭ制御が望まれる。５０〜６０ＰＰＭ程度の印刷速度を実現するＭＦＰでは、１画素の点灯周期は６０ＭＨｚ程になる。これを３２分割するためには、６０×６４＝３８４０ＭＨｚの周波数が必要になる。
【００５４】
通常の１相ＰＬＬでは、源振３３．３ＭＨｚを用いて、それを３０逓倍し、１ＧＨｚの周波数を得るような動作を行う。４ＧＨｚ相当の周波数を生成するためには、１００ＭＨｚを超える源振や、１００逓倍以上を実現できる回路が必要になり、システムの大幅なコストアップにつながる。
【００５５】
そこで、マルチ位相ＰＬＬを用いることで、効率的に４ＧＨｚに相当するＬＤ点灯・消灯信号を生成することが出来る。
【００５６】
マルチ位相ＰＬＬでは、源振３３．３ＭＨｚを用いて、それを３０逓倍し、さらに９０°、１８０°、２７０°位相がずれた、４本の１ＧＨｚのＰＬＬを生成する。ＬＤ点灯・消灯信号は４本それぞれのＰＬＬに同期した、４系統の信号群を生成する。
【００５７】
ＬＤ点灯・消灯信号を出力する最終段にて、ＰＷＭ制御の分解能（例えば、１／６４）に対応したＬＤ点灯・消灯信号を、４系統の信号群の重ね合わせで生成する。
【００５８】
点灯周期６０ＭＨｚの１／６４は、２６０．４ｎｓの点灯時間になる。各ＰＬＬを用いて１ｎｓ単位の点灯信号が生成できるので、０°、１８０°を用いて、２６０ｎｓの点灯信号を生成する。このとき、１８０°の点灯信号は、０°に対して、０．５ｎｓ遅延している。そのため、この２つの点灯信号を重ね合わせると、２６０．５ｎｓの幅の点灯信号が生成できる。このようにして、マルチ位相ＰＬＬを用いたシステムは、ＰＬＬの周波数を超えた、高精度なＰＷＭ制御が可能になる。以上のようにプロッタ制御部１００は、ＬＤ制御を行うために、マルチ位相ＰＬＬを有している。
【００５９】
ＶＣＳＥＬ光学系（ａ）において、プロッタ制御部１００は、ＳＥＲ機能部１１０を有する。プロッタ制御部１００は、画像データに係る８ビットのコードを１０ビットのコードに変換する。ＳＥＲ機能部１１０は、１０ビットのパラレルデータを１０ビットのシリアルデータに変換する。ＳＥＲ機能部１１０は、１０ビットのシリアルデータに対してマルチ位相ＰＬＬを用いて遅延制御した後に、１０ビットのシリアルデータをプロッタ制御部３００にシリアル送信する。ＤＥＳ機能部３０３は、１０ビットのシリアルデータを８ビットのパラレルデータに変換してＶＣＳＥＬ６０に出力する。なお、マルチ位相ＰＬＬを用いた遅延制御に関しては、後述する。
【００６０】
また、ＬＥＤＡ（ｂ）においてプロッタ制御部１００は、ＬＥＤＡ７０のＬＥＤ配列に応じて画像データの配列を変換する。プロッタ制御部１００は、配列変換が１ライン以上となる場合、ラインメモリを用いて配列変換を行ってもよい。
【００６１】
また、ＬＤ光学系（ｃ）において、プロッタ制御部１００は、ＬＤ８０を有する。プロッタ制御部１００は、マルチ位相ＰＬＬを用いて高周波数のクロックを生成し、シリアライザデータの遅延制御を行う。
【００６２】
このように、プロッタ制御部１００を複数の書込み光学系に汎用的に用いる場合に、ＬＤ光学系で使用されるマルチ位相ＰＬＬを、ＶＣＳＥＬ光学系においても用いるので、マルチ位相ＰＬＬを有効活用することができる。
【００６３】
図３は、シリアライザのデータ出力手順を説明する図である。図３の（ａ）は、８ビットの符号化ブロックを示す。最下段がＬＳＢ（Least Significant Bit）であり、最上段がＭＳＢ（Most Significant Bit）である。８Ｂ／１０Ｂ変換部１０９は、受信した画像データ８ビットを上位ビットから順に取得し、符号化ブロックのＬＳＢから順に格納する。例えば、８ビットのビット列ＡＢＣＤＥＦＧＨ（Ａが最上位ビット、Ｈが最下位ビット）を８ビットの符号化ブロックに格納する場合、（ａ）のように符号化ブロックには、ＬＳＢから順にＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈのビットが格納される。続いて、８Ｂ／１０Ｂ変換部１０９は、８ビットのビット列を変換テーブルに基づいて１０ビットのビット列に変換し、１０ビットのビット列を上位ビットから順に取得し、符号化ブロックのＬＳＢから順に格納する。図３の（ｂ）は、１０ビットのビット列をＬＳＢから順に格納した符号化ブロックを示す。例えば、１０ビットのビット列ａｂｃｄｅｉｆｇｈｊ（ａが最上位ビット、ｊが最下位ビット）を１０ビットの符号化ブロックに格納する場合、（ｂ）のように符号化ブロックには、ＬＳＢから順にａ、ｂ、ｃ、ｄ、ｅ、ｉ、ｆ、ｇ、ｈ、ｊのビットが格納される。
【００６４】
図３の（ｃ）は、ＬＶＤＳドライバ１１１によって送信されるビットの送信順序を示す。ＳＥＲ機能部１１０は、１０ビットの符号化ブロックに格納されているパラレルデータをシリアルデータに変換し、ＬＶＤＳドライバ１１１に、（ｃ）のように１０ビットのシリアルデータを正順にセットしてプロッタ制御部３００及びプロッタ制御部４００にシリアル送信する。正順とは、転送される画像データに係るビット列の上位ビットから下位ビットまでの順番を示す。すなわち、（ｂ）のＬＳＢに格納されているａから順に、ｂ、ｃ、ｄ、ｅ、ｉ、ｆ、ｇ、ｈ、ｊのビットが送信される。
【００６５】
図４は、ＲＤルールを説明するための図である。図４は、ＲＤルールを示し、図４の上側は、ＲＤ＋及びＲＤ−の極性データの選択を示す。図４でＨｉｇｈとなっている場合、ＲＤ＋であることを示し、Ｌｏｗとなっている場合、ＲＤ−であることを示す。図４の下側は、転送される１０ビットのシリアルデータの配列を示す。各々のマス目が１０ビットのシリアルデータである。マス目内の「ＣＯＭ」は、ＣＯＭのシンボルコードを示す。ＣＯＭのシンボルコードは、ネゲートしている場合に画像データ外であることの認識に使用されるコードである。以下において、「ＣＯＭ」のシンボルコードをＣＯＭコードという。マス目内の「Ｄｍ．ｎ（ｍ,ｎは整数）」は、画像データのコードを示す。すなわち、ｍ及びｎは、データコードグループの番号を示す。８ビットのコード毎に、正の極性及び負の極性の１０ビットのコードが対応付けられる。マス目内のカッコ内の数値は、１０ビットのシリアルデータに含まれる「1」のビットの個数を示す。例えば、「ＣＯＭ（６）」の場合、ＣＯＭコードに「1」のビットが６個含まれていることを示す。
【００６６】
１０ビットのコードはＲＤ＋とＲＤ−の２つの極性を有する。８Ｂ／１０Ｂ変換部１０９は、ＲＤルールに基づいて、８ビットのコードをＲＤ＋とＲＤ−のどちらかの極性の１０ビットのコードに変換する。「ＲＤルール」とは、８ビットのコードを１０ビットのコードに変換する場合においてＲＤ＋及びＲＤ−の極性を選択するためのルールである。ＲＤルールでは、現在送信しようとしている現１０ビットのコードの「1」のビット数が５個場合、次の１０ビットのコードは、現１０ビットのコードと同じ極性のデータとする。一方、現１０ビットのコードの「1」のビット数が５個以外の場合、次の１０ビットのコードは、現１０ビットのコードと異なる極性のデータとする。
【００６７】
例えば、図４において、左側から３番目のシリアルデータは、「1」のビット数が６であるので、ＳＥＲ機能部１１０は、次の４番目のコードの極性をＲＤ−からＲＤ＋に反転させる。続いて、４番目のシリアルデータは、「1」のビット数が４であるので、ＳＥＲ機能部１１０は、次の５番目のコードの極性をＲＤ＋からＲＤ−に反転させる。続いて、５番目のシリアルデータは、「1」のビット数が５であるので、ＳＥＲ機能部１１０は、次の６番目のコードの極性をＲＤ−で維持する。
【００６８】
図５は、シリアライザ出力のタイミングチャートを示す図である。図５の横軸は、時間を示す。
【００６９】
クロックは、ＳＥＲ機能部１１０の動作クロックを示す。ＳｋｅｗＬｇａｔｅは、ＳＥＲ機能部１１０に入力された８ビットのコード列（画像データ）の先端及び末端の位置を示す。ＳｋｅｗＤａｔａは、ＳＥＲ機能部１１０に入力された８ビットのコード列（画像データ）を示す。ＳｅｒＬｇａｔｅは、「ＳＴＰ」のシンボルコード列の先端と「ＥＮＤ」のシンボルコード列の末端の位置を示す。なお、「ＳＴＰ」のシンボルコードは、画像データの始点を検出する場合に使用されるコードである。また、「ＥＮＤ」のシンボルコードは、画像データの終点を検出する場合に使用されるコードである。以下において、「ＳＴＰ」のシンボルコードをＳＴＰコードといい、「ＥＮＤ」のシンボルコードをＥＮＤコードという。
【００７０】
ＳｅｒＤａｔａは、１０ビットに変換されたＣＯＭコード、ＳＴＰコード、ＥＮＤコード及び画像データを示す。
【００７１】
スキュー補正部１０８は、ＳｋｅｗＬｇａｔｅのエッジを検出することにより画像データの先端及び末端の位置を検出し、８ビットのコード列を取得する。スキュー補正部１０８は、取得した８ビットのコード列を８Ｂ／１０Ｂ変換部１０９に送信する。８Ｂ／１０Ｂ変換部１０９は、８ビットのコード列の前に複数のＳＴＰコードを付加し、８ビットのコード列の後に複数のＥＮＤコードを付加する。続いて、８Ｂ／１０Ｂ変換部１０９は、ＳｅｒＬｇａｔｅのエッジを検出することにより画像データ外の位置を検出し、画像データ外の位置に複数のＣＯＭコードを付加することでＳｅｒＤａｔａを生成する。このように、画像データ外に複数のＣＯＭコードを付加することにより、画像データ間の距離を広くしている。
【００７２】
図６は、変換テーブルの一例を示す図である。８Ｂ／１０Ｂ変換部１０９は、図６の変換テーブルに基づいて８ビットのシンボルコードを１０ビットのシンボルコードに変換する。「Symbol Name」は、シンボルコードの種別を示す。シンボルコードは、１２種類用意されており、１種類のＣＯＭコード、５種類のＳＴＰコード（ＳＴＰ１〜５）及び５種類のＥＮＤコード（ＥＮＤ１〜５）のそれぞれにシンボルコードが割り当てられる。「Data Byte Name」は、シンボルコードの名称を示す。「Data Byte Value(hex)」は、８ビットのシンボルコードを１６進数で表したものである。「８Ｂコード」は、８ビットのシンボルコードを示す。「１０Ｂコード」は、８ビットのシンボルコードに対応する極性ＲＤ＋及び極性ＲＤ−の１０ビットのシンボルコードである。
【００７３】
ＣＯＭコードは、画像データ間の境界を検出しやすくするために、例えば、０又は１のビットが５つ以上連続するコードが割り当てられる。また、ＣＯＭコードは、転送レーン間の遅延量を算出する際に、マーカーとして用いられる。
【００７４】
また、ＣＯＭコードには、例えば、ＲＤ＋及びＲＤ−が交互に生成されるように１のビット数が５以外のコードが割り当てられる。ＣＯＭコードは連続して生成されるため、ＲＤ＋及びＲＤ−が交互に生成されるコードを用いることによって、プロッタ制御部１００の動作が正常であるか否かを確認することができる。例えば、ＣＯＭコードには、Ｋ２８．５又はＫ２８．１等が割り当てられる。また、ＣＯＭコードにＫ２８．２、Ｋ２８．３、Ｋ２８．４を割り当ててもよい。
【００７５】
図７は、シリアライザ―デシリアライザ接続の例を示す図である。スキュー補正部１０８は、１画素４ビットの画像データで４ライン分（４ビット×４）の画像データを８ビットのコードに分割して、順番に８ビットのコードを８Ｂ１０Ｂ変換部１０９に送信する。例えば、スキュー補正部１０８は、ＣＨ０〜７までの各チャンネルに、ＳｋｅｗＬｇａｔｅ０〜７とＳｋｅｗＤａｔａ０〜７（８ビットのコード）とをそれぞれ送信する。８Ｂ１０Ｂ変換部１０９は、ＣＨ０〜７までの各チャンネルにおいてＳｋｅｗＬｇａｔｅ０〜７のエッジを検出することによって、ＳｋｅｗＤａｔａ０〜７（８ビットのコード）を取得する。なお、８Ｂ１０Ｂ変換部１０９は、ＣＨ０〜７までの各チャンネルにリセット信号をかけておき、使用するチャンネルのみリセットを解除して使用するようにしてもよい。
【００７６】
続いて、８Ｂ１０Ｂ変換部１０９は、８ビットのコードを１０ビットのコードに変換してＳＥＲ機能部１１０に出力する。
【００７７】
ＳＥＲ機能部１１０は、符号化ブロックのＬＳＢから順に各々のビットを取得し、ＬＶＤＳドライバ１１１に、取得したビットをセットする。続いて、ＬＶＤＳドライバ１１１は、正転出力（ＲＸＰ）及び反転出力（ＲＸＭ）としてシリアルデータに係る差動信号をＬＶＤＳドライバ３０５に出力する。
【００７８】
ＬＶＤＳドライバ３０５は、正転入力（ＴＸＰ）及び反転入力（ＲＸＭ）としてシリアルデータに係る差動信号を受信する。ＬＶＤＳドライバ３０５は、シリアルデータを１０ビットのコードとしてＤＥＳ機能部３０３に出力する。ＤＥＳ機能部３０３は、各チャンネルで１０ビットのコードを取得し、８ビットのコードに変換する。ＤＥＳ機能部３０３は、各チャンネルで０又は１のビットが５回以上連続するＣＯＭコードを複数検出する。ＤＥＳ機能部３０３は、各チャンネルで検出したＣＯＭコードに基づいて、チャンネル間の遅延時間を算出する。
【００７９】
図８は、マルチレーン間の遅延制御の第１の例を示す図である。図８の横軸は、時間（ｔ）を示す。「clk＿ref」は、源振の波形を示す。「clk＿v0」は、位相が０°の場合の送信クロック波形を示す。「clk＿v1」は、位相が９０°の場合の送信クロック波形を示す。「clk_v2」は、位相が１８０°の場合の送信クロック波形を示す。「clk_v3」は、位相が２７０°の場合の送信クロック波形を示す。「clk＿w$c」は、８ビットデータを受信した各チャンネルを制御するクロック波形を示す。「clk＿w$c」は、８Ｂ／１０Ｂ変換において８ビットデータを取得する際に用いられる。「８Ｂ」は、８ビットのコード列を示す。「１０Ｂ」は、８ビットから１０ビットのコードに変換されたコード列を示す。「ＲＤ」は、極性を示す。例えば、「ＲＤ＋」は、「ＲＤ−」をビット反転させたビット列に相当する。「ＲＸＰ０」は、ＬＶＤＳドライバ１１１からＣＨ１の第１転送レーンを介して送信されたビット列を示す。「ＲＸＰ１」は、ＬＶＤＳドライバ１１１からＣＨ２の第２転送レーンを介して送信されたビット列を示す。「ＴＸＰ０」は、ＬＶＤＳドライバ３０５からＣＨ１の第１転送レーンを介して受信されたビット列を示す。「ＴＸＰ１」は、ＬＶＤＳドライバ３０５からＣＨ２の第２転送レーンを介して受信されたビット列を示す。
【００８０】
（調整）以下の「ＲＸＰ０」、「ＲＸＰ１」、「ＴＸＰ０」及び「ＴＸＰ１」は、遅延時間調整後の第１転送レーン（ＣＨ１）及び第２転送レーン（ＣＨ２）のビット列を示す。
【００８１】
図８を用いて１６ビットの画像データを８ビットのビット列に分割し、２つの転送レーンを用いてシリアル転送する場合について説明する。８Ｂ／１０Ｂ変換部１０９は、複数のＣＯＭコードをビット列に挿入する。８Ｂ／１０Ｂ変換部１０９は、「clk＿w$c」の波形のエッジを検出することで、分割された８ビットのビット列（ＣＯＭコード）を抽出する。８Ｂ／１０Ｂ変換部１０９は、変換テーブルに基づいて８ビットのビット列（８Ｂ）を１０ビットのビット列（１０Ｂ）に変換する。
【００８２】
ＤＥＳ機能部３０３は、ＣＯＭコード内の５Ｔ（「00000」又は「11111」）を検出し、第１転送レーン及び第２転送レーン間の遅延時間を算出する。遅延時間を算出した結果、ＣＨ１が「1.3 clk＿v（clk＿vは送信クロック）」遅延しており、ＣＨ０が「0.25clk＿v」遅延しているものとする。
【００８３】
具体的には、ＬＶＤＳドライバ１１１は、「clk＿v0」を１０分周することで送信クロックの１０倍の波長を有するクロックclk＿w0を生成する。ＤＥＳ機能部３０３は、clk＿w0単位の遅延量を「ROUND((1.3clk＿v −0.25clk＿v)/10.0)」によって算出する。clk＿w0単位の遅延量は「0」であるので、ＬＶＤＳドライバ１１１は、clk＿w0単位の遅延制御を行わなくてよい。
【００８４】
続いて、ＤＥＳ機能部３０３は、clk＿v単位の遅延量を「ROUND((1.3clk＿v −0.25clk＿v)/1.0)」によって算出する。clk＿v単位の遅延量は「1」であるので、ＬＶＤＳドライバ１１１は、シフトレジスタを用いてＣＨ０の送信クロックを1clk＿v遅延させる。
【００８５】
なお、最大9clk＿vの遅延が可能な容量を有するシフトレジスタが用いられる。10clk＿v以上は、clk＿w0を用いて遅延量を調整することができるので、シフトレジスタは、最大9clk＿v分の容量を有すればよい。
【００８６】
続いて、ＤＥＳ機能部３０３は、clk＿v未満の単位の遅延量を算出する。なお、ＣＨ０及びＣＨ１の位相を同じ（ＣＨ０の位相０°）とした場合の遅延量を「0.3clk＿v」とする。ＤＥＳ機能部３０３は、ＣＨ０を位相差９０°とした場合（clk＿v1に対応）の遅延量「0.3clk＿v−0.25clk＿v＝0.05clk＿v」を算出する。また、ＤＥＳ機能部３０３は、ＣＨ０を位相差１８０°とした場合（clk＿v2に対応）の遅延量「0.3clk＿v−0.5clk＿v＝−0.15clk＿v」を算出する。また、ＤＥＳ機能部３０３は、ＣＨ０を位相差２７０°とした場合（clk＿v1に対応）の遅延量「0.3clk＿v−0.75clk＿v＝−0.45clk＿v」を算出する。ＣＨ０を位相差９０°のclk＿v1が最も遅延量が小さいので、ＬＶＤＳドライバ１１１は、送信クロックclk＿v1を用いて１０ビットのビット列をシリアル送信する。
【００８７】
これにより、ＣＨ０からシリアル送信される１０ビットのビット列に対して、1.25clk＿v分の遅延量が与えられる。遅延量の補正残差は、0.05clk＿vである。
【００８８】
このように、シリアライザ側の遅延量の補正残差が1/8clk＿v未満となり、clk＿v単位で遅延量を補正する場合と比べて精度の高い補正ができる。また、シリアライザ側で遅延量の補正が行われるため、デシリアライザ側で遅延量の補正を行わなくてもよく、デシリアライザ側の回路規模を増大させることなく、複数の転送レーン間に生じた遅延を調整することができる。
【００８９】
なお、clk＿w0単位の遅延量、clk＿v0単位の遅延量及びclk＿v未満の単位の遅延量は、どの順序で算出しても同じ結果が得られるため、ＤＥＳ機能部３０３は、上記と異なる順序で各遅延量を算出してもよい。
【００９０】
また、同色の画像データを複数の転送レーンでシリアル転送する場合には、ＬＶＤＳドライバ１１１は、遅延量の補正を行うが、１色の画像データに１転送レーンを割り当てる場合は、遅延を考慮しなくてもよいので遅延量の補正を行わなくてもよい。
【００９１】
［第２実施形態］
図９は、マルチレーン間の遅延制御の第２の例を示す図である。図９を用いて１６ビットの画像データを８ビットのビット列に分割し、２つの転送レーンを用いてシリアル転送する場合について説明する。８Ｂ／１０Ｂ変換部１０９は、複数のＣＯＭコードをビット列に挿入する。８Ｂ／１０Ｂ変換部１０９は、「clk＿w$c」の波形のエッジを検出することで、分割された８ビットのビット列（ＣＯＭコード）を抽出する。８Ｂ／１０Ｂ変換部１０９は、変換テーブルに基づいて８ビットのビット列（８Ｂ）を１０ビットのビット列（１０Ｂ）に変換する。
【００９２】
ＤＥＳ機能部３０３は、ＣＯＭコード内の５Ｔ（「00000」又は「11111」）を検出し、第１転送レーン及び第２転送レーン間の遅延時間を算出する。遅延時間を算出した結果、ＣＨ１が「1.3 clk＿v（clk＿vは送信クロック）」遅延しており、ＣＨ０が「0.25clk＿v」遅延しているものとする。
【００９３】
具体的には、ＤＥＳ機能部３０３は、「clk＿v0」を１０分周することで送信クロックの１０倍の波長を有するクロックclk＿w0を生成する。ＤＥＳ機能部３０３は、clk＿w0単位の遅延量を「ROUND((1.3clk＿v −0.25clk＿v)/10.0)」によって算出する。clk＿w0単位の遅延量は「0」であるので、ＬＶＤＳドライバ１１１は、clk＿w0単位の遅延制御を行わなくてよい。
【００９４】
続いて、ＤＥＳ機能部３０３は、clk＿v単位の遅延量を「ROUND((1.3clk＿v −0.25clk＿v)/1.0)」によって算出する。clk＿v単位の遅延量は「1」であるので、ＬＶＤＳドライバ１１１は、ＣＨ０の送信クロックを1clk＿v遅延させる。
【００９５】
続いて、ＤＥＳ機能部３０３は、clk＿v未満の遅延量「1.3clk＿v −0.25clk−1.0」を算出する。clk＿v未満の遅延量は「0.15clk＿v」である。ＤＥＳ機能部３０３は、ＬＶＤＳドライバ１１１から受信した１０ビットのビット列をバッファメモリに格納する。なお、ＤＥＳ機能部３０３は、1clk＿v分の容量を持つ２つのバッファメモリ（合計2clk＿v）を用いる。なお、遅延制御の誤差を補正するため、ＤＥＳ機能部３０３は、10clk＿v分の容量を持つバッファメモリを用いてもよい。
【００９６】
ＤＥＳ機能部３０３は、余分なビットをバッファメモリに格納することにより、ＣＨ０の１０ビットのビット列のリードを「0.15clk＿v」分遅らせることで、clk＿v未満の遅延量を補正する。
【００９７】
このように、シリアライザ側において送信クロック単位で遅延量を補正することで、ＤＥＳ機能部３０３は、送信クロック２周期分のバッファメモリを有すればよいことになり、デシリアライザ側の回路規模の増大を抑えることができる。
【００９８】
［第３実施形態］
図１０は、マルチレーン間の遅延制御の第３の例を示す図である。図１０を用いて１６ビットの画像データを８ビットのビット列に分割し、２つの転送レーンを用いてシリアル転送する場合について説明する。８Ｂ／１０Ｂ変換部１０９は、複数のＣＯＭコードをビット列に挿入する。８Ｂ／１０Ｂ変換部１０９は、「clk＿w$c」の波形のエッジを検出することで、分割された８ビットのビット列（ＣＯＭコード）を抽出する。８Ｂ／１０Ｂ変換部１０９は、変換テーブルに基づいて８ビットのビット列（８Ｂ）を１０ビットのビット列（１０Ｂ）に変換する。
【００９９】
ＤＥＳ機能部３０３は、ＣＯＭコード内の５Ｔ（「00000」又は「11111」）を検出し、第１転送レーン及び第２転送レーン間の遅延時間を算出する。遅延時間を算出した結果、ＣＨ１が「11.4 clk＿v（clk＿vは送信クロック）」遅延しており、ＣＨ０が「0.25clk＿v」遅延しているものとする。
【０１００】
具体的には、ＤＥＳ機能部３０３は、「clk＿v0」を１０分周することで送信クロックの１０倍の波長を有するクロックclk＿w0を生成する。ＤＥＳ機能部３０３は、clk＿w0単位の遅延量を「ROUND((11.4clk＿v −0.25clk＿v)/10.0)」によって算出する。clk＿w0単位の遅延量は「1clk＿w0（10clk＿vと同じ遅延量）」であるので、ＬＶＤＳドライバ１１１は、clk＿w0を用いて「1clk＿w0」分送信クロックを遅延させる。
【０１０１】
続いて、ＤＥＳ機能部３０３は、clk＿v未満の遅延量「11.4clk＿v −0.25clk−10.0」を算出する。clk＿v未満の遅延量は「1.15clk＿v」である。ＤＥＳ機能部３０３は、ＬＶＤＳドライバ１１１から受信した１０ビットのビット列をバッファメモリに格納する。なお、ＤＥＳ機能部３０３は、10clk＿v分の容量を持つ２つのバッファメモリ（合計20clk＿v）を用いる。なお、遅延制御の誤差を補正するため、ＤＥＳ機能部３０３は、100clk＿v分の容量を持つバッファメモリを用いてもよい。
【０１０２】
ＤＥＳ機能部３０３は、余分なビットをバッファメモリに格納することにより、ＣＨ０１０ビットのビット列のリードを「1.15clk＿v」分遅らせることで、clk＿v未満の遅延量を補正する。
【０１０３】
このように、シリアライザ側において１０周期分の送信クロック単位で遅延量を補正することで、ＤＥＳ機能部３０３は、送信クロック２０周期分のバッファメモリを有すればよいことになり、デシリアライザ側の回路規模の増大を抑えることができる。
【０１０４】
また、第２実施形態、第３実施形態では、プロッタ制御部の遅延制御に、マルチ位相ＰＬＬを必要としない。そのため、単相ＰＬＬを有したＶＣＳＥＬ書込み専用のプロッタ制御部であっても良い。
【０１０５】
以上、ＶＣＳＥＬ書込み制御システムを実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。例えば、露光部にＶＣＳＥＬを使用したがこれに限定されず、ＬＤでもよい。ラインヘッドであればＬＥＤヘッド、有機ＥＬヘッド、ＬＤアレイヘッド等を用いてもよい。
【０１０６】
また、上記の高速シリアル転送は、画像データの転送に使用する場合に限定されない。上記の高速シリアル転送は、画像データ以外のデータを転送する場合にも適用してもよい。
【０１０７】
次に、前述した処理を行うためのプログラムやデータを記憶した記憶媒体の実施の形態を説明する。記憶媒体としては、具体的には、ＣＤ−ＲＯＭ、光磁気ディスク、ＤＶＤＲＯＭ、ＦＤ、フラッシュメモリ、メモリカードや、メモリスティック、及びその他各種ＲＯＭやＲＡＭ等が挙げられる。これら記憶媒体に記憶したプログラムをコンピュータに実行させることで、本実施形態における処理を実現させることができる。また、前述した通信制御方法の処理やシリアル通信装置の機能を実現するためのプログラムを、記憶媒体に記憶したりネットワークを介して配信したりして流通させることにより、当該機能の実現を容易にすることができる。
【０１０８】
なお、本実施形態において、プロッタ制御部１００は、送信装置の一例である。プロッタ制御部３００及びプロッタ制御部４００は、受信装置の一例である。８Ｂ／１０Ｂ変換部１０９は、挿入部の一例である。ＬＶＤＳドライバ１１１は、設定部の一例である。ＬＶＤＳドライバ１１１は、送信部の一例である。ＤＥＳ機能部３０３及びＤＥＳ機能部４０３は、算出部の一例である。また、ＤＥＳ機能部３０３及びＤＥＳ機能部４０３は、調整部の機能を有してもよい。ＣＯＭコードは、制御信号の一例である。
【符号の説明】
【０１０９】
１        ＶＣＳＥＬ書込み制御システム
１０      ＣＴＬ
２０      ページメモリ
３０      画像展開部
４０      ＣＰＵ
５０      外部メモリ
６０ａ    ＶＣＳＥＬ（Ｂｋ）
６０ｂ    ＶＣＳＥＬ（Ｍａ）
６０ｃ    ＶＣＳＥＬ（Ｃｙ）
６０ｄ    ＶＣＳＥＬ（Ｙｅ）
１００,３００,４００  プロッタ制御部
１０１    ビデオ入力部
１０２    パラメータ制御部
１０３    ノイズ除去部
１０４    ラインメモリ
１０５    画像処理部
１０６    画素カウント部
１０７    ラインメモリ群
１０８    スキュー補正部
１０９    ８Ｂ／１０Ｂ変換部
１１０    ＳＥＲ機能部
２００    ＰＣ
１１１,３０５,４０５  ＬＶＤＳドライバ
３０１,４０１  ビデオ入力部
３０２,４０２  パラメータ制御部
３０３,４０３  ＤＥＳ機能部
３０４ａ,３０４ｂ,４０４ａ,４０４ｂ  ドライバ
【先行技術文献】
【特許文献】
【０１１０】
【特許文献１】特開２０１４−２１６９８１号公報
【図１】
2017011338.tif 000003
【図２】
2017011338.tif 000004
【図３】
2017011338.tif 000005
【図４】
2017011338.tif 000006
【図５】
2017011338.tif 000007
【図６】
2017011338.tif 000008
【図７】
2017011338.tif 000009
【図８】
2017011338.tif 000010
【図９】
2017011338.tif 000011
【図１０】
2017011338.tif 000012