(57)【要約】【課題】本発明はビデオデータ等の印刷データを印刷エンジンに転送する印刷データ転送装置に関し、特に高解像度のマスク処理、有効ドットの転送処理等を可能とする印刷データ転送装置を提供するものである。【解決手段】本発明はタンデム方式の印刷装置に適用され、ブラック（Ｋ）、イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）の各色毎にマスク制御部、１ライン有効ドット制御部、左端プラスシフト制御部、及び左端マイナスシフト制御部を備え、マスク数や１ライン有効ドット数、及び左端シフト数が奇数（Odd）の場合、対応して読み出した最終ドットに追加処理等を行い、解像度の優れたマスク処理、有効ドット転送処理を行う構成である。【選択図】  図１
2007274314.tif 000002
【特許請求の範囲】
【請求項１】
印刷データに対して印字エリアの左端に対応するデータを２ドット毎にマスクするマスク手段と、
該マスクするドット数が奇数であるか偶数であるか判断する判断手段と、
前記マスクするドット数が奇数である場合前記２ドットのうち１ドットのみをマスクし、マスクするドット数が偶数である場合前記２ドットをマスクするマスク制御手段と、
を有することを特徴とする印刷データ転送装置。
【請求項２】
前記マスク制御手段によって制御され、前記マスク手段を通して出力された前記印刷データは、有効ドットの計数を行う有効ドット制御手段に転送され、有効ドットの計数値が奇数であるか偶数であるかによって、有効ドット数の出力値を可変することを特徴とする請求項１記載の印刷データ転送装置。
【請求項３】
前記印刷データは前記マスク手段によってマスクされる前、プラスシフト手段によって任意のドット数プラス側へのシフト処理が行われることを特徴とする請求項１、又は２記載の印刷データ転送装置。
【請求項４】
前記印刷データは前記マスク手段によってマスクされる前、マイナスシフト手段によって任意のドット数マイナス側へのシフト処理が行われることを特徴とする請求項１、又は２記載の印刷データ転送装置。
【請求項５】
前記印刷データはメモリに記録され、前記マスク手段、及び有効ドット制御手段を介して印字ヘッドに出力され、印刷処理が行われることを特徴とする請求項２記載の印刷データ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオデータ等の印刷データを印刷エンジンに転送する印刷データ転送装置に関する。
【背景技術】
【０００２】
今日、各種印刷装置が使用され、例えばタンデム構造の印刷装置は、画像メモリに展開されたビデオデータを印字ヘッドに転送し、記録媒体への印刷処理を各色毎に行っている。図３１（ａ）は１ドット単位でビデオデータを転送する印刷装置の構成を示す。
【０００３】
同図に示すように、画像メモリ４０から読み出されたビデオデータは、ブラック（Ｋ）、イエロー（Ｙ）、マゼンダ（Ｍ）、シアン（Ｃ）の各色に対応して設けられたバッファ４０Ｋ、４０Ｙ、４０Ｍ、４０Ｃに転送され、印字ヘッドからの水平同期信号（ＨＳＹＮＣ）の出力に基づいて、ビデオクロック（ＶＣＬＫ）に同期したビデオデータが印字ヘッドに転送される。尚、ビデオデータは、例えば１ドット当たり１６階調の情報を含む。
【０００４】
同図（ｂ）は上記転送処理のタイムチャートを示す。同図（ｂ）に示すように、ビデオクロック（ＶＣＬＫ）に同期して、例えば７００８個のビデオデータ（Video-Data）が転送される。尚、上記のようにビデオデータは１ドット当たり１６階調の情報を含むため、１ドットのデータ幅は４ビットである。
【０００５】
一方、今日印刷処理の高速化、高解像度化の要請に基づいて、図３２（ａ）、（ｂ）に示すように、２ドット分のビデオデータをビデオクロック（ＶＣＬＫ）の１周期で印字ヘッドに転送する転送方法も提案されている。この場合、ビデオクロック（ＶＣＬＫ）の１周期で、バッファ４１Ｋ、４１Ｙ、４１Ｍ、４１Ｃの保持された奇数番目のビデオデータ（Video-Data-Odd）と偶数番目のビデオデータ（Video-Data-Even）を交互に転送し、ビデオクロック（ＶＣＬＫ）の出力に基づいて上記転送処理を繰り返す。
【０００６】
また、特許文献１はビデオデータ転送回路を複数設け、例えばプリンタエンジンが変わったとしても、ビデオデータ転送回路を新規設計する必要のないビデオデータ転送回路を提供する発明である。
【特許文献１】特開２００１−３０５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のビデオデータ転送装置においては、画像シフトや左端の画像領域のマスク制御を行うにあたり、２ドット分を一度に処理するため、高解像度におけるビット操作が不可能である。例えば、６００ＤＰIの解像度を有するビデオデータ（Video-Data）であっても、その半分の３００ＤＰIの解像度の単位でしか制御することができない。
【０００８】
そこで、本発明は高解像度のマスク処理、有効ドットの転送処理等を可能とする印刷データ転送装置を提供するものである。
【課題を解決するための手段】
【０００９】
上記課題は本発明によれば、印刷データに対して印字エリアの左端に対応するデータを２ドット毎にマスクするマスク手段と、該マスクするドット数が奇数であるか偶数であるか判断する判断手段と、マスクするドット数が奇数である場合前記２ドットのうち１ドットのみをマスクし、マスクするドット数が偶数である場合前記２ドットをマスクするマスク制御手段とを有する印刷データ転送装置を提供することによって達成できる。このように構成することにより、マスク処理を高解像度で行うことができる。
【００１０】
また、前記マスク制御手段によって制御され、前記マスク手段を通して出力された印刷データは、有効ドットの計数を行う有効ドット制御手段に転送され、有効ドットの計数値が奇数であるか偶数であるかによって、有効ドット数の出力値を可変する構成である。
【００１１】
このように構成することにより、左端マスクドット数と１ラインの有効ドット数のどちらか一方又は両方が奇数の時、有効ドット数の最後のＶＣＬＫ１クロックの出力の際、２ドットのうち１ドット又は２ドット両方を追加で有効にする処理を行い、高解像度で１ラインの有効ドット数処理を行うことができる。
【発明の効果】
【００１２】
上記課題の解決手段によれば、マスク処理を高解像度で行うことが可能となる。また、有効ドット数の高解像度処理が可能となる。
また、マスク処理前のプラスシフト、又はマイナスシフト制御においても、高解像度で処理を行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の実施の形態について説明する。
図１は本例の印刷データ転送装置の全体構成図である。印刷データ転送装置１は、ＣＰＵ２、メモリ３、メモリコントローラ４、ファーストイン・ファーストアウト（以下、ＦＩＦＯで示す）５、マスク制御部６、水平同期コントローラ７等で構成されている。尚、同図に示す、ブラック（Ｋ）に対するＦＩＦＯ５、マスク制御部６、及び水平同期コントローラ７を含むＡ部の構成は、他の色（イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ））に対しても同様の回路構成を有する。
【００１４】
図２は１ライン当たりＶＣＬＫ数が３５０４ドット、左端プラスシフト２ドット、左端マスク６ドット、有効ドット数６９９６ドット時の1色についての各設定値と画像エリアの関係を示す。尚、本例では１ドット当たりの階調数が１６、即ち１ドットを４ビットで表現するものとし、ＶＣＬＫ１周期で２ドット分のデータを生成するものとする。
【００１５】
また、図３は１ライン当たりＶＣＬＫ数３５０４ドット、左端マイナスシフト４ドット、左端マスク８ドット、有効ドット数６９９６ドット時の1色についての各設定値と画像エリアの関係を示す。尚、両図に示す左端マスク、１ライン有効ドット数、左端プラスシフト等の具体的内容については後述する。
【００１６】
図４は本例の全体処理を説明するフローチャートである。先ず、メモリ３から読み出された画像データに対し、左端マイナスシフト制御を行い（ステップ（以下、Ｓで示す）１、Ｓ２）、メモリコントローラ４によってＦＩＦＯ５に転送する（Ｓ３）。次に、ＦＩＦＯ５から読み出す画像データに対し、左端プラスシフト制御を行い（Ｓ４）、更に左端マスク制御を行い（Ｓ５）、１ライン有効ドット制御を行う（Ｓ６）。その後、マスク制御部６から印字ヘッドに画像データを出力する（Ｓ７）。尚、上記左端マイナスシフト制御や左端プラスシフト制御は必要に応じて行われる。
【００１７】
また、上記各制御は、プリンタエンジンからの水平同期信号(HSYNC)の出力に基づいて実行され、ビデオデータがＶＣＬＫに同期して出力される。図５は水平同期コントローラ７、及び水平同期コントローラ７近傍の回路構成を説明する図である。
【００１８】
水平同期コントローラ７には、上記のようにプリンタエンジンから水平同期信号（HSYNC）が入力する。また、水平同期コントローラ７にはカウント数設定部８ａから設定値を順次減算するカウンタ８ｂと、カウント数設定部９ａから設定値を順次減算するカウンタ９ｂが接続されている。
【００１９】
水平同期コントローラ７は、図６に示すシーケンスに従って駆動する。すなわち、水平同期コントローラ７は水平同期信号（HSYNC）の入力を待ち（ステップ（以下、ＳＴで示す）１）、水平同期信号（HSYNC）が入力すると（ＳＴ２がＹes）、カウンタ８ｂをイネーブルとし、カウント数設定部８ａに予め設定された設定値（HSYNC to VCLK数）を減算する（ＳＴ３）。そして、カウント処理が終了すると（ＳＴ４がＹes）、前述のマスク制御部６等にカウント開始指示を行う（ＳＴ５）。したがって、水平同期信号（HSYNC）が入力し、カウント開始指示が行われるまで時間は、前述の図２及び図３に示すように“HSYNC to VCLK数”で決定される時間である。
【００２０】
次に、カウンタ９ｂをイネーブルとし、カウント数設定部９ａに予め設定されたVCLK数のデータを減算する（ＳＴ６）。そして、設定されたVCLK数分クロック信号を発生させる（ＳＴ７）。以下、各処理を順次説明する。
【００２１】
先ず、左端マスク処理について説明する。
図７は左端マスク制御部の構成を示す。この構成は、図１に示すＢ部に対応する。左端マスク制御部は、左端マスクコントローラ１０、左端マスクカウンタ１１、左端マスクドット数設定部１２、及びゲート回路１３で構成されている。尚、ゲート回路１３は、図１のマスク制御部６に対応する。また、左端マスクカウンタ１１は、図１においては左端マスクコントローラ１０に含まれる。
【００２２】
左端マスクドット数設定部１２には予めマスクするドット数のデータが記憶されている。例えば、前述の図２に示す例では“６”であり、二進数“０１１０”のデータが記憶される。また、図３に示す例では“８”であり、二進数“１０００”のデータが記憶される。また、ゲート回路１３は奇数側のビデオデータをマスクする１３ａと、偶数側のビデオデータをマスクする１３ｂで構成され、ゲート回路１３ａには奇数（Odd）がイネーブルになるとハイ信号が供給され、ゲート回路１３ｂには偶数（Even）がイネーブルになるとハイ信号が供給される。
【００２３】
図８は、上記構成の左端マスク制御部の動作シーケンスを示す。先ず、左端マスク数を左端マスクカウンタ１１にロードし、奇数（Odd）及び偶数（Even）ともマスクする（ステップ（以下、Ｖで示す）１）。すなわち、左端マスクドット数設定部１２に予め設定された前述の“０１１０”や“１０００”のデータを左端マスクカウンタ１１に書き込む。但し、下位１ビットのデータは除く。
【００２４】
次に、ＶＣＬＫの出力を待ち（Ｖ２）、ＶＣＬＫが出力されると、左端マスクカウンタ１１を−１する（Ｖ３）。そして、カウント処理を継続し、カウント値が“０”になるとカウント処理を終了する（Ｖ４がＹes）。この間、奇数（Odd）側、及び偶数（Even）側のゲート回路１３ａ、１３ｂ共にマスクした状態を維持する。そして、カウント処理が終了すると、左端マスク数の下位１ビットが“０”であるか判断する（Ｖ５）。
【００２５】
ここで、左端マスク数の下位１ビットが“０”である場合、即ち左端マスク数が偶数である場合（Ｖ５がＹes）、前述の奇数（Odd）及び偶数（Even）共にイネーブルとする（Ｖ７）。一方、下位１ビットが“０”でない場合、即ち左端マスク数が奇数である場合（Ｖ５がＮo）、偶数（Even）のみイネーブルとする（Ｖ６）。
【００２６】
例えば、前述の“０１１０”である場合、左端マスク数の下位１ビットが“０”であり、上記処理により、奇数（Odd）及び偶数（Even）共にイネーブルとする。したがって、この場合図９に示すように、ＶＣＬＫに同期して６ビットのデータ（“１”〜“６”）がマスクされる。一方、図１０は左端マスクドット数設定部１２に予め設定されたマスク数が、“７”（“０１１１”）であり、この場合、下位１ビットが“１”であり、偶数（Even）のみイネーブルとなる。したがって、この場合、奇数（Odd）側のみマスクの解除をＶＣＬＫの１周期分だけ遅らせる処理を行い、奇数ドットの左端マスクを実現する。
【００２７】
その後、後述する１ライン有効ドット数制御処理が終了すると、次のラインも同様に処理するため、次の水平同期コントローラがＶＣＬＫを出力するタイミング、即ちカウント開始指示を待つ（Ｖ８）。
【００２８】
次に、1ライン有効ドット数処理について説明する。
図１１は１ライン有効ドット制御部の構成を示す。この構成は図１に示すＣ部に対応する。
【００２９】
１ライン有効ドット制御部は、１ライン有効ドットコントローラ１５、カウンタ１６、１ライン有効ドット数設定部１７、及びゲート回路１８で構成されている。尚、ゲート回路１８は、図１のマスク制御部６に対応する。尚、図１１に示す左端マスクドット数設定部１２は、前述の図７に示す左端マスクドット数設定部である。また、カウンタ１６は、図１においては１ライン有効ドットコントローラ１５に含まれる。
【００３０】
１ライン有効ドット数設定部１７には予め１ラインの有効データ数の情報が記憶されている。例えば、前述の図２に示す例では“６９９６”であり、図３に示す例では“６９９４”のデータが記憶されている。また、ゲート回路１８は奇数側のビデオデータをマスクする１８ａと、偶数側のビデオデータをマスクする１８ｂで構成され、ゲート回路１８ａには奇数（Odd）がイネーブルになるとハイ信号が供給され、ゲート回路１８ｂには偶数（Even）がイネーブルになるとハイ信号が供給される。
【００３１】
図１２は１ライン有効ドット制御部の動作シーケンスを示す。先ず、有効ドット数をカウンタ１６にロードし、奇数（Odd）及び偶数（Even）ともマスクする（ステップ（以下、ＳＴＰで示す）１）。すなわち、１ライン有効ドット数設定部１７に予め設定された前述の“６９９６”等のデータをカウンタ１６に書き込む。但し、下位１ビットのデータは除く。
【００３２】
次に、ＶＣＬＫの出力を待ち（ＳＴＰ２）、ＶＣＬＫが出力されると、奇数（Odd）及び偶数（Even）共にイネーブルであるか判断する（ＳＴＰ３）。ここで、マスク制御部６の偶数（Even）側がイネーブルである場合（ＳＴＰ４がＹes）、奇数（Odd）及び偶数（Even）共にカウント１６のカウント値を−１する（ＳＴＰ５）。
【００３３】
その後、上記処理を継続し、カウント値が“０”になると、カウント処理を終了する（ＳＴＰ６）。この間、奇数（Odd）側、及び偶数（Even）側のゲート回路１８ａ、１８ｂ共にデータ転送状態を維持する。そして、カウント処理が終了すると、以下の判断を行う。
【００３４】
すなわち、両者とも偶数であれば（ＳＴＰ７がＹes）、奇数（Odd）及び偶数（Even）共にデータをマスクし、次のラインも同様に処理するため、最初と同様に水平同期コントローラ７がＶＣＬＫを出力するタイミング、即ちカウント開始指示を待つ。
【００３５】
一方、両者ともに奇数なら（ＳＴＰ７がＮo、ＳＴＰ８がＹes）、ＶＣＬＫ1周期分だけOdd、Even共にイネーブルのままとし（ＳＴＰ１０）、Odd、Evenともデータをマスクすると共に、次のラインも同様に処理するため、最初と同様に水平同期コントローラがＶＣＬＫを出力するタイミング、即ちカウント開始指示を待つ。
【００３６】
さらに、一方が偶数、他方が奇数ならＶＣＬＫ１周期分だけOddのみイネーブル（ＳＴＰ９）、Evenはマスクした後、Odd、Evenともデータをマスクすると共に、次のラインも同様に処理するため、最初と同様に水平動機コントローラがＶＣＬＫを出力するタイミング、即ちカウント開始指示を待つ。
【００３７】
図１３は左端マスク数、及び1ライン有効ドット数の両者が偶数の場合であり、奇数（Odd）及び偶数（Even）のマスクを同時に開始している。一方、図１４、図１５は左端マスク数、及び１ライン有効ドット数の一方が偶数、他方が奇数の場合であり、奇数（Odd）側のみマスクの開始がＶＣＬＫの１周期分だけ遅れており、左端マスク数と1ライン有効ドット数の合計が奇数ドットの時の適切な処理を実現している。
【００３８】
さらに、図１６は左端マスク数、1ライン有効ドット数の両者が奇数の場合であり、奇数（Odd）及び偶数（Even）のマスク処理を適切に処理できる。
次に、左端プラスシフト処理について説明する。
【００３９】
図１７は左端プラスシフト制御部の構成を示す図である。この構成は前述の図１に示すＤ部に対応する。左端プラスシフト制御部はセレクタ２０、遅延回路２１、左端プラスシフトコントローラ２２、プラスシフトカウンタ２３ａ、プラスシフト数設定部２３ｂ、転送データ数カウンタ２４ａ、転送データ数設定部２４ｂ、リードアドレス生成カウンタ２５で構成されている。尚、図１に示す左端プラスシフト制御部１９は、上記構成の中で、遅延回路２１、プラスシフト数設定部２３ｂ、及びリードアドレス生成カウンタ２５を除いた回路を含む構成である。
【００４０】
また、図１８は左端プラスシフト制御部１９におけるセレクタの内容を示し、図１９は左端プラスシフトコントローラ２２の動作シーケンスを示す。この制御は、画像メモリの１ワード単位の相違等からメモリの右端側が印字エリアの右端を超える場合があり、そのはみ出し分をＦＩＦＯ５からリードしておく必要があり、ＶＣＬＫ数のカウントとは別に上記はみ出る分を考慮した数を同時にカウントする構成である。
【００４１】
先ず、印字動作が開始されると、ＦＩＦＯ５のリード用アドレスを“０”に初期化する（ステップ（以下、Ｗで示す）１）。そして、水平同期コントローラ７がＶＣＬＫを出力するタイミング、即ちカウント開始指示を待つ。また、左端プラスシフト数の下位１ビットを除いたデータをロードして待機する（Ｗ２）。すなわち、プラスシフト数設定部２３ｂから左端プラスシフト数のデータをプラスシフトカウンタ２３ａにロードする。また、転送データ数設定部２４ｂから１ライン転送データ数の情報を転送データ数カウンタ２４ａにロードしておく。
【００４２】
次に、カウント開始が指示されると、左端プラスシフトカウンタの値をＶＣＬＫごとに１ずつダウンカウントする（Ｗ３、Ｗ４）。その後、左端プラスシフトカウンタの値が“０”になり、カウント処理が終了すると、ＦＩＦＯ５のリード用アドレスをインクリメントして次のデータを出力させ、更に1ライン転送データ数カウンタをダウンカウントする（Ｗ５がＹes、Ｗ６）。そして、上記処理をＶＣＬＫ毎に繰り返す（Ｗ７がＮo、Ｗ６）。
【００４３】
その後、ＶＣＬＫ数のカウント処理が終了すると（Ｓ７がＹes）、１ライン転送データ数の残った分があればＦＩＦＯ５から読み出しておく。尚、１ページの転送が終了するまでは、ＦＩＦＯ５には次のラインを含めて順番にデータが格納されているので、ＦＩＦＯ用リードアドレスをクリアせず、次のラインも同様に処理するため、最初と同様に水平同期コントローラ７がＶＣＬＫを出力するタイミング、即ちカウント開始指示を待つ状態に戻す（Ｓ８、Ｗ９、Ｗ１０）。
【００４４】
図２０は左端プラスシフト数が偶数のときのタイムチャートであり、前述の左端マスク制御部へのデータは、ＦＩＦＯ用リードアドレスのカウント開始を遅らせることにより、奇数（Odd）、偶数（Even）共に同じ数(プラスシフト数の半分)だけシフトさせることができる。この場合、図１８に示す通り、ＦＩＦＯ５からのデータの奇数（Odd）、偶数（Even）の入れ替えは行わない。
【００４５】
一方、図２１は、左端プラスシフト数が奇数の場合であり、図１８のセレクト条件に従い、左端マスク制御部へのデータのうち偶数（Even）側は、ＦＩＦＯ５の奇数（Odd）側のデータを出力する。また、左端マスク制御部へのデータの奇数（Odd）側は、ＦＩＦＯ５の偶数（Even）側のデータをＶＣＬＫの１周期分だけ遅延したデータを出力する。これにより、奇数（Odd）の左端プラスシフトを実現できる。
次に、左端マイナスシフト処理について説明する。
【００４６】
図２２は左端マイナスシフト制御部の構成を示す。尚、この構成は前述の図１に示すＥ部に対応する。また、同図にはＣＰＵ２や、メモリ３、メモリコントローラ４の構成も示す。左端マイナスシフト制御部は左端マイナスシフトコントローラ３０、マイナスシフト数設定部３１、２ワードデータ一時保管部３２、データセレクタ３３で構成されている。
【００４７】
図２３は、左端マイナスシフトコントローラ３０の動作シーケンスを示す。先ず、ＦＩＦＯ５のライト用アドレスを“０”に初期化する（ステップ（以下、Ｕで示す）１）。次に、印字動作が開始されると、マイナスシフト数として設定された値の下位３ビットを除いた数だけ、画像メモリを空読みする（Ｕ２がＹes、Ｕ３）。
【００４８】
ここで、例えばマイナスシフト数が２４から３１の時、下位３ビットを除くと“１１”(２進数）であり、ＦＩＦＯ５に空き領域があることを確認して画像メモリを２ワードだけリードして一時保管する（Ｕ４がＹes、Ｕ５）。マイナスシフト数が２４〜３１の時、前述の３ワード分が空読みされているので、２５ドット目〜３２ドット目のデータが保管される。図２４は、この時２ワードデータ一時保管部３２に格納されるデータを示す。尚、画像データは１６階調の情報を持ち、図２５に示すように、１ドットあたり４ビット幅であるデータを８ドット単位で１ワード、即ち３２ビット幅で格納する。
【００４９】
次に、図２６に示すセレクタ２０の内容に従って選択したデータをＦＩＦＯ５にライトする（Ｕ６）。その後、ＦＩＦＯ５のライト用アドレスをインクリメントし（Ｕ７がＹes、Ｕ８）、更に画像メモリを１ワード分リードし、例えば図２７に示すように２ワードデータ一時保管部３２に保管するデータの内容を更新する。
【００５０】
次に、ＦＩＦＯ５の空き状態を調べ、ＦＩＦＯ５のリード処理が遅すぎた場合等によってＦＩＦＯ５に空き領域が無ければ、待機してＦＩＦＯ５に空き領域ができるのを待つ（Ｕ９がＮo）。その後、ＦＩＦＯ５に空き領域が形成されると再びデータをＦＩＦＯ５に書き込む（Ｕ９がＹes）。上記処理は、１ページ分の画像データがＦＩＦＯ５に転送されるまで続けられる。
【００５１】
図２８は、マイナスシフトを行う際の印刷データの状態を示すタイムチャートである。尚、このタイムチャートに示すＵ１、Ｕ３、Ｕ５、Ｕ６、Ｕ８は、前述の図２３に示す動作シーケンスの各ステップに対応する。
【００５２】
この例では、マイナスシフト数が“２９”であり、“２９”をバイナリーコードで表現した“１１１０１”の下位３ビットを除いた“１１”、即ち３ワードだけ先ず画像メモリを空読みする。すなわち、空読み後に一時保管する２ワードのうち１ワード目は３２ドット目〜２５ドット目のデータであり、２ワード目は４０ドット目〜３３ドット目のデータである。
【００５３】
ここで、ＦＩＦＯ５からは奇数（Odd）、偶数（Even）を並べたビット幅でデータが出力されるものとしている。１ドットあたり１６階調の情報量を持つ４ビットデータであれば、奇数（Odd）と偶数（Even）の２ドットで８ビット幅である。しかしながら、ＦＩＦＯ５のデータ幅はメモリ２から取得したときのデータ幅、例えば３２ビットのＰＣＩバスであれば、対応する３２ビット幅に合わせることが効率がよい。
【００５４】
ＦＩＦＯ５が３２ビット幅の場合、 図２９に示すように、生成したＦＩＦＯ用リードアドレスの上位ビット(A12〜A3)をＦＩＦＯ５に接続して３２ビット幅のデータを用意した上で、下位ビット(A2〜A0)により８ビット幅のデータを、図３０に示すように選択することによって、８ビット幅のデータを順番に用意することができる。
【００５５】
以上のように、本実施形態によれば、左端マスクドット数が奇数の場合、マスク対象の最後のＶＣＬＫ１周期のタイミングにおいて２ドットの内の１ドットのみを追加してマスク処理を行うことにより、高解像度な左端マスク処理を行うことができる。
【００５６】
また、左端マスクドット数と１ラインの有効ドット数のどちらか一方、又は両方が奇数の場合、有効ドット数の最後のＶＣＬＫ１周期のタイミングで２ドットのうち１ドット又は２ドット両方を追加で有効にしておく処理を行うことにより、１ラインの有効ドット数処理を高解像度で行うことができる。
【００５７】
また、左端プラスシフトドット数が奇数の時、２ドットの順序の入れ替えと片方だけを１クロック遅延させる処理を行うことにより、高解像度で左端プラスシフト処理を行うことができる。
【００５８】
さらに、メモリ３からのデータをワード単位で空読みした際、１ドット単位でのデータセレクトを行うことにより、高解像度で左端マイナスシフト処理を行うことができる。
また、ＶＣＬＫ１周期で２ドットを送出する構成としたが、データのセレクト部分を変更し、４ドットをＶＣＬＫ１周期で転送する構成としてもよく、このように構成することにより、より多くのドット数をまとめてＶＣＬＫ１周期で転送することができる。
【図面の簡単な説明】
【００５９】
【図１】本実施形態を説明する印刷データ転送装置の全体構成図である。
【図２】１ライン当たりの左端プラスシフト、左端マスクドット、有効ドット数等が設定された画像エリアの関係を示す図である。
【図３】他の１ライン当たりの左端プラスシフト、左端マスクドット、有効ドット数等が設定された画像エリアの関係を示す図である。
【図４】本例の全体処理を説明するフローチャートである。
【図５】水平同期コントローラ近傍の構成を具体的に説明するブロック図である。
【図６】水平同期コントローラの動作シーケンスを示す図である。
【図７】左端マスク制御部の構成を示す図である。
【図８】左端マスク制御部の動作シーケンスを示す図である。
【図９】左端マスク数が偶数（Even）の時のタイムチャートである。
【図１０】左端マスク数が奇数（Odd）の時のタイムチャートである。
【図１１】１ライン有効ドット制御部の構成を示すブロック図である。
【図１２】１ライン有効ドット制御部の動作シーケンスを示す図である。
【図１３】左端マスク数、及び1ライン有効ドット数の両者が偶数の場合であり、奇数（Odd）及び偶数（Even）のマスクを同時に開始する場合を説明するタイムチャートである。
【図１４】左端マスク数、及び１ライン有効ドット数の一方が偶数、他方が奇数の場合を説明するタイムチャートである。
【図１５】左端マスク数、及び１ライン有効ドット数の一方が偶数、他方が奇数の場合を説明するタイムチャートである。
【図１６】左端マスク数、1ライン有効ドット数の両者が奇数の場合を説明するタイムチャートである。
【図１７】左端プラスシフト制御部の構成を示す図である。
【図１８】左端プラスシフト制御部におけるセレクタの内容を説明する図である。
【図１９】左端プラスシフトコントローラの動作シーケンスを示す図である。
【図２０】左端プラスシフト数が偶数の場合のタイムチャートである。
【図２１】左端プラスシフト数が奇数の場合のタイムチャートである。
【図２２】左端マイナスシフト制御部の構成を示す図である。
【図２３】左端マイナスシフトコントローラの動作シーケンスを説明する図である。
【図２４】２ワードデータ一時保管部に格納されるデータ例を示す。
【図２５】１ドットあたり４ビット幅であるデータを８ドット単位で１ワード、即ち３２ビット幅で格納する例を説明する図である。
【図２６】セレクタの内容に従って選択したデータをＦＩＦＯにライトする処理を示す図である。
【図２７】２ワードデータ一時保管部に保管するデータの一例を示す図である。
【図２８】マイナスシフトを行う際の印刷データの状態を示すタイムチャートである。
【図２９】ＦＩＦＯが３２ビット幅の場合、 ８ビット幅のデータに変換する処理を示す図である。
【図３０】８ビット幅のデータに変換する際の選択例を説明する図である。
【図３１】（ａ）は従来例の印字データ転送装置の構成例を示す図であり、（ｂ）はその処理を説明するタイムチャートである。
【図３２】（ａ）は従来例の印字データ転送装置の構成例を示す図であり、（ｂ）はその処理を説明するタイムチャートである。
【符号の説明】
【００６０】
１・・・ビデオデータ転送装置
２・・・ＣＰＵ
３・・・メモリ
４・・・メモリコントローラ
５・・・ＦＩＦＯ
６・・・マスク制御部
７・・・水平同期コントローラ
８ａ・・カウント数設定部
８ｂ・・カウンタ
９ａ・・カウント数設定部
９ｂ・・カウンタ
１０・・左端マスクコントローラ
１１・・左端マスクカウンタ
１２・・左端マスクドット数設定部
１３、１３ａ、１３ｂ・・ゲート回路
１５・・１ライン有効ドットコントローラ
１６・・カウンタ
１７・・１ライン有効ドット数設定部
１８、１８ａ、１８ｂ・・ゲート回路
１９・・左端プラスシフト制御部
２０・・セレクタ
２１・・遅延回路
２２・・左端プラスシフトコントローラ
２３ａ・・プラスシフトカウンタ
２３ｂ・・プラスシフト数設定部
２４ａ・・転送データ数カウンタ
２４ｂ・・転送データ数設定部
２５・・リードアドレス生成カウンタ
３０・・左端マイナスシフトコントローラ
３１・・マイナスシフト数設定部
３２・・２ワードデータ一時保管部
３３・・データセレクタ
【図２】
2007274314.tif 000003
【図３】
2007274314.tif 000004
【図４】
2007274314.tif 000005
【図５】
2007274314.tif 000006
【図６】
2007274314.tif 000007
【図７】
2007274314.tif 000008
【図８】
2007274314.tif 000009
【図９】
2007274314.tif 000010
【図１０】
2007274314.tif 000011
【図１１】
2007274314.tif 000012
【図１２】
2007274314.tif 000013
【図１３】
2007274314.tif 000014
【図１４】
2007274314.tif 000015
【図１５】
2007274314.tif 000016
【図１６】
2007274314.tif 000017
【図１７】
2007274314.tif 000018
【図１８】
2007274314.tif 000019
【図１９】
2007274314.tif 000020
【図２０】
2007274314.tif 000021
【図２１】
2007274314.tif 000022
【図２２】
2007274314.tif 000023
【図２３】
2007274314.tif 000024
【図２４】
2007274314.tif 000025
【図２５】
2007274314.tif 000026
【図２６】
2007274314.tif 000027
【図２７】
2007274314.tif 000028
【図２８】
2007274314.tif 000029
【図２９】
2007274314.tif 000030
【図３０】
2007274314.tif 000031
【図３１】
2007274314.tif 000032
【図３２】
2007274314.tif 000033
【図１】
2007274314.tif 000034