(57)【特許請求の範囲】
【請求項１】
ｎ次元（ｎは２以上の整数）の被転送データをｎ−１次元状の転送データに分割して転送するデータ転送方法であって、
（１）前記被転送データを、２以上ｎ以下の各方向に、原点から順番にｎ−１次元状のサブユニットに分割し、
（２）各方向の同順の前記サブユニットを組み合わせ、
（３）前記サブユニットが交わる部分より前記原点側を除いて前記転送データとするデータ転送方法。
【請求項２】
ｎ次元（ｎは２以上の整数）の被転送データを、２以上ｎ以下の方向に原点から順番に分割したｎ−１次元状のサブユニットのうちの、各方向、同順の複数の前記サブユニットのうちの、それらのサブユニットが交わる部分より前記原点側を除いた部分を備えている転送データを生成する工程と、
前記転送データを順番に転送する工程とを有するデータ転送方法。
【請求項３】
請求項２において、前記被転送データは、２次元の印刷用のデータであるデータ転送方法。
【請求項４】
ｎ次元（ｎは２以上の整数）の被転送データを、２以上ｎ以下の方向に原点から順番に分割したｎ−１次元状のサブユニットのうちの、各方向、同順の複数の前記サブユニットのうちの、それらのサブユニットが交わる部分より前記原点側を除いた部分を備えている転送データを順番に受信する工程と、
受信した前記転送データに含まれる、所定の方向の前記サブユニットの部分に、事前に受信した前記転送データに含まれる前記所定の方向のサブユニットの部分を追加して、前記被転送データの前記所定の方向のサブユニットを再構成する工程とを有するデータ受信方法。
【請求項５】
請求項４において、前記被転送データが２次元の印刷データであるデータ受信方法。
【請求項６】
ｎ次元（ｎは２以上の整数）の被転送データを、２以上ｎ以下の方向に原点から順番に分割したｎ−１次元状のサブユニットのうちの、各方向、同順の複数の前記サブユニットのうちの、それらのサブユニットが交わる部分より前記原点側を除いた部分を備えている転送データを生成する処理と、
前記転送データを順番に転送する処理とを実行可能な命令を有するプログラム。
【請求項７】
請求項６において、前記被転送データは、２次元の印刷用のデータであるプログラム。
【請求項８】
ｎ次元（ｎは２以上の整数）の被転送データを、２以上ｎ以下の方向に原点から順番に分割したｎ−１次元状のサブユニットのうちの、各方向、同順の複数の前記サブユニットのうちの、それらのサブユニットが交わる部分より前記原点側を除いた部分を備えている転送データを順番に受信する処理と、
受信した前記転送データに含まれる、所定の方向の前記サブユニットの部分に、事前に受信した前記転送データに含まれる前記所定の方向のサブユニットの部分を追加して、前記被転送データの前記所定の方向のサブユニットを再構成する処理とを実行可能な命令を有するプログラム。
【請求項９】
請求項８において、前記被転送データが２次元の印刷データであるプログラム。
【請求項１０】
ｎ次元（ｎは２以上の整数）の被転送データを、２以上ｎ以下の方向に原点から順番に分割したｎ−１次元状のサブユニットのうちの、各方向、同順の複数の前記サブユニットのうちの、それらのサブユニットが交わる部分より前記原点側を除いた部分を備えている転送データを生成する手段と、
前記転送データを順番に転送する手段とを有するデータ処理装置。
【請求項１１】
請求項１０において、前記被転送データは、２次元の印刷用のデータであるデータ処理装置。
【請求項１２】
ｎ次元（ｎは２以上の整数）の被転送データを、２以上ｎ以下の方向に原点から順番に分割したｎ−１次元状のサブユニットのうちの、各方向、同順の複数の前記サブユニットのうちの、それらのサブユニットが交わる部分より前記原点側を除いた部分を備えている転送データを順番に受信する手段と、
受信した前記転送データに含まれる、所定の方向の前記サブユニットの部分に、事前に受信した前記転送データに含まれる前記所定の方向のサブユニットの部分を追加して、前記被転送データの前記所定の方向のサブユニットを再構成する手段とを有するデータ処理装置。
【請求項１３】
請求項１２において、前記被転送データが２次元の印刷データであるデータ処理装置。
【請求項１４】
請求項１３に記載のデータ処理装置と、このデータ処理装置で再構成された前記サブユニットの単位で前記印刷データを印刷する印刷機構とを有する印刷装置。
【請求項１５】
ｎ次元（ｎは２以上の整数）の被転送データを、２以上ｎ以下の方向に原点から順番に分割したｎ−１次元状のサブユニットのうちの、各方向、同順の複数の前記サブユニットのうちの、それらのサブユニットが交わる部分より前記原点側を除いた部分を備えている転送データを生成して転送する工程と、
前記転送データを受信し、前記転送データに含まれる、所定の方向の前記サブユニットの部分に、事前に受信した前記転送データに含まれる前記所定の方向のサブユニットの部分を追加して、前記被転送データの前記所定の方向のサブユニットを再構成する工程とを有するデータの送受信方法。
【請求項１６】
請求項１５において、前記被転送データは、２次元の印刷用のデータであるデータの送受信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷データをプリンタに出力または転送する技術に関するものである。
【０００２】
【従来の技術】
レーザプリンタに代表されるページプリンタは、ホストから出力された１ページ分の印刷データまたは被転送データをメモリに記録してから、ページ単位で印刷を行なうようになっている。このため、プリンタ側には１ページ分の印刷データが一旦格納されることになるので、プリンタ側で印刷用紙の向きに合わせて１ページ分の印刷データを回転処理することが可能であり、画像や文章の向きを印刷用紙の向きに合致させることができる。
【０００３】
【発明が解決しようとする課題】
ページプリンタには１ページ分の印刷データを構築するために大容量のメモリが必要になる。特に、印刷画像の解像度が上がれば、それだけ必要なメモリ容量が多くなり、たとえば、数１０Ｍバイト以上のメモリが必要になる。この大容量のメモリをプリンタを搭載するために、ページプリンタのコストは高くなりやすい。このため、ページプリンタであっても、インクジェットプリンタなどのように、ホストから送信されたデータを順番に印刷できるシステムとすることにより、プリンタに必要なメモリの容量を低減し、ページプリンタのコストを下げられれば大きなメリットになる。
【０００４】
しかしながら、ホストから送信されたデータを順番に印刷するとなると、プリンタにセットされた用紙の向きに合わせて印刷データをホストからプリンタに転送する必要がある。すなわち、ホスト側でプリンタに設置されている用紙の向きを把握し、用紙の向きと印刷画像の向きがあっていなければ、印刷データを事前に回転処理して用紙の向きに印刷画像の向きを合わせてからプリンタに転送する必要がある。解像度の低い画像であれば、ホスト側の処理の負担は少ないかもしれないが、高解像度の画像であれば、回転処理するデータが非常に多くなり、ホスト側に大きな負担がかかる。したがって、ホスト側で印刷データを回転処理してからプリンタに転送する方式は、ホスト側の負担を考えたときには好ましい方式とはいえない。また、この方式であると、ホスト側では回転処理を行なう前提としてプリンタにセットされている用紙の向きを予め認識していなければならないので、ホストとプリンタとの間で用紙の向きの情報をやり取りするための機能が必須になる。
【０００５】
そこで、本発明においては、１ページ全体の印刷データをまるごと記録しておくための大容量のメモリを搭載しなくても、プリンタ側で、用紙の向きに印刷画像の向きを合わせて印刷することが可能であり、さらに、印刷時にホストにかかる負担を非常に少なくできるデータ転送方法およびデータ受信方法を提供することを目的としている。また、このデータ転送方法およびデータ受信方法を採用することにより、印刷データを用紙の向きを問わずに少ないメモリ容量で印刷することが可能な低コストの印刷装置を提供することも本発明の目的である。
【０００６】
【課題を解決するための手段】
ｎ次元の被転送データを小さな単位で順番に送ろうとすると、通常は、ｎ−１次元にスライスして送る方法が採用される。実際には、完全にｎ−１次元にするのではなく、ｎ次元方向の広がりを所定の範囲に限定し、ｎ−１次元状のユニットに分割して転送する。たとえば、印刷データのように２次元の被転送データであると、１次元状、すなわち、ライン状の転送データに分割して送信され、受信先で１次元の転送データを順番に印刷して２次元の被転送データを復元する。また、３次元の被転送データであれば、２次元状の面状の転送データに分割して送信され、受信先でそれらを順番に並べて３次元の被転送データを復元することができる。したがって、受信する側では、被転送データを復元する方法としては、送られてきた転送データを送信側でスライスされた方向に組み立てるしか選択肢がない。たとえば、Ｘ−Ｙ座標の２次元の被転送データをＸ方向のライン状の転送データに分割して送信されたものは、Ｘ方向に再生するほかない。
【０００７】
これに対し、２次元の被転送データをＸ方向およびＹ方向にＬ字型の構成を単位とする１次元状の転送データに分割して送信すると、受信側では、転送データをＸ方向およびＹ方向のいずれの方向にも組み立てることが可能となる。また、３次元の被転送データであれば、Ｘ方向の面とＹ方向の面がＬ字のように組み合わされた構成を単位とする２次元状の転送データに分割して送信すると、Ｘ方向およびＹ方向のいずれの方向でも組み立てることが可能になる。さらに、Ｘ方向の面、Ｙ方向の面およびＺ方向（時間軸であってもよい）の面状のユニットが組み合わされた構成を単位とする２次元状の転送データに分割して送信したものは、Ｘ、ＹおよびＺ方向のいずれの方向にも組み立てることが可能になる。したがって、受信する側では、転送データを組み立てる方向を自由に選択できることになる。
【０００８】
そのため、本発明においては、ｎ次元（ｎは２以上の整数）の被転送データをｎ−１次元状の転送データに分割して転送する際に、（１）被転送データを、２以上ｎ以下の各方向に、原点から順番にｎ−１次元状のサブユニットに分割し、（２）各方向の同順のサブユニットを組み合わせ、（３）サブユニットが交わる部分より原点側を除いて転送データとする。このデータ転送方法では、ｎ次元（ｎは２以上の整数）の被転送データから、２以上ｎ以下の方向に原点から順番に分割したｎ−１次元状のサブユニットのうちの、各方向、同順の複数のサブユニットのうちの、それらのサブユニットが交わる部分より原点側を除いた部分を備えている、本発明における転送データが生成され、それらが順番に転送される。すなわち、本発明の転送データは、被転送データが各方向に分割されたｎ−１次元状のサブユニットの組み合わせであり、先に送られた転送データに含まれているサブユニットの部分は含まれてないものとなる。
【０００９】
したがって、転送データを順番に受信すると、受信した転送データに含まれる、所定の方向のサブユニットの部分に、事前に受信した転送データに含まれる所定の方向のサブユニットの部分を追加して、被転送データの所定の方向のサブユニットを再構成することができ、サブユニットを再構築する所定の方向は受信側で任意に設定できる。また、転送データを転送する側では、転送データを受信する側がどの方向でサブユニットを組み立てるかに関わらず、一定の転送データを送信することができる。このため、転送（発信）側と、受信側とを独立して開発および設計することができる。
【００１０】
したがって、本発明のデータ転送方法は、本発明の転送データを生成する工程と、生成された転送データを順番に転送する工程とを備えており、データ受信方法は、転送データを順番に受信する工程と、転送データから上記のようにサブユニットを再構成する工程とを備えている。これらの転送データを生成して転送する工程と、転送データを受信してサブユニットを再構成する工程とを組み合わせることにより、受信側が独立してデータを再構築する方向を選択できる送受信する方法を提供できる。
【００１１】
本発明のデータ転送方法およびデータ受信方法は、上記の工程の処理をコンピュータあるいはＣＰＵなどのデータ処理装置が実行可能となる命令を有するプログラムあるいはプログラム製品として適当な記録媒体に記録して、あるいはネットワークを通じて提供できる。本発明の転送データを受信する手段および転送データからサブユニットを再構成する手段を備えたデータ処理装置は、たとえば、被転送データが２次元の印刷データであれば印刷装置である。本発明の転送データを生成する手段および送信または転送するデータ処理装置は、プリンタドライバあるいはプリンタドライバがインストールされたコンピュータである。
【００１２】
すなわち、２次元の印刷データをＸ方向およびＹ方向のサブユニット（ラインデータ）に分割され、Ｘ方向およびＹ方向の同じ順番のサブユニットが１つの転送データに含まれる。そして、それらのサブユニットのうち、サブユニット同士が交わる部分より原点側となる部分、すなわち、この転送データ以前に生成された転送データに含まれている部分が除かれたものが今回の転送データとなる。したがって、転送データには、Ｘ方向およびＹ方向のサブユニット全体または部分が含まれており、それ以前に転送された転送データに含まれているサブユニットの部分と組み合わせることにより、Ｘ方向およびＹ方向のいずれの方向のサブユニットも構築できる。このため、本発明にかかる印刷装置であれば、すべての転送データを受信し終わらなくても、転送データに含まれるサブユニットを組み立てることにより、Ｘ方向およびＹ方向のいずれの方向にも印刷することができる。
【００１３】
本発明の転送データには２次元の場合、２方向のサブユニットまたはその部分が含まれるので、サブユニットの再構築にすぐに使用されなかった残りの部分は、メモリなどに格納しておく必要がある。したがって、転送データを再構築するためには、ある程度の容量のメモリが必要となるが、１ページ分の印刷データを記録しておけるだけのメモリは不要である。また、いずれの方向にもサブユニットを構築できるので、回転処理機能も不要である。
【００１４】
【発明の実施の形態】
以下に図面を参照して本発明をさらに詳しく説明する。図１ないし図３に、本発明の転送データの概要を示してある。図１は、被転送データＴＤ（２）が２次元の例である。したがって、被転送データＴＤ（２）を、原点Ｏから、Ｘ方向およびＹ方向に順番に分割する。これにより、Ｘ方向に分割された１次元状（ライン状）の複数のサブユニットデータＤＸ（Ｘ方向のサブユニット）と、Ｙ方向に分割されたライン状の複数のサブユニットデータＤＹ（Ｙ方向のサブユニット）とが生成される。さらに、これらのサブユニットＤＸおよびＤＹの１番目同士、２番目同士というように、同順のサブユニットを組み合わせる。同順、たとえば３番目のサブユニットＤＸとＤＹとを組み合わせると、それらが交わる部分Ｄ０より原点Ｏの側のサブユニットは、２番目のサブユニットおよび１番目のサブユニットに含まれる。したがって、Ｘ方向の３番目に転送するデータとしては、サブユニットＤＸから交わる部分Ｄ０の原点Ｏの側を除いた部分ＢＤＸ、および交わる部分Ｄ０が転送されればよい。また、Ｙ方向の３番目に転送するデータとしては、サブユニットＤＹから交わる部分Ｄ０の原点Ｏの側を除いた部分ＢＤＹ、および交わる部分Ｄ０が転送されればよい。
【００１５】
このため、サブユニットＤＸおよびＤＹのうちの交わる部分Ｄ０から原点Ｏの側の部分を除いた部分により転送データＢＤを構成することができる。すなわち、本発明の転送データＢＤは、（１）被転送データＴＤ（２）を、ＸおよびＹの２方向に、原点Ｏから順番に１次元状のサブユニットＤＸおよびＤＹに分割し、（２）各方向の同順のサブユニットＤＸおよびＤＹを組み合わせ、（３）サブユニットＤＸおよびＤＹが交わる部分Ｄ０より原点Ｏの側を除くことにより生成される。転送データＢＤを生成するアルゴリズムは必ずしも上記のものである必要はないが、転送データＢＤは、被転送データＴＤ（２）を、２方向に原点Ｏから順番に分割した１次元状のサブユニットＤＸおよびＤＹのうちの、各方向、同順の複数のサブユニットＤＸおよびＤＹのうちの、それらのサブユニットが交わる部分Ｄ０より原点Ｏの側を除いた部分、すなわち、データＢＤＸ、ＢＤＹおよびＤ０を備えたものとなる。
【００１６】
本発明の転送データＢＤは、図１に示すように視覚的にはＬ字型の転送データとなり、原点Ｏの側から順番に転送データＢＤ１、ＢＤ２・・・ＢＤｉ（ｉは整数）が生成され、順番にデータ量は小さくなる。これらの転送データＢＤｉは、Ｌ字型のままで送られる必要はなく、順番などのデータを特定する情報を含むヘッダーに続いて、データＢＤＸ、ＢＤＹおよびＤ０が適当な順番で転送される。
【００１７】
転送データＢＤｉを受信した側は、各転送データＢＤｉにＸ方向のサブユニットＤＸの部分ＢＤＸおよびＤ０と、Ｙ方向のサブユニットＤＹの部分ＢＤＹおよびＤ０が含まれているので、いずれの方向のサブユニットでも再構築できる。３番目の転送データＢＤ３によりＸ方向のサブユニットＤＸを再構築するのであれば、受信した転送データＢＤ３に含まれる所定の方向、すなわち、Ｘ方向のサブユニットＤＸの部分ＢＤＸとＤ０に、事前に受信した転送データＢＤ２およびＢＤ１に含まれるサブユニットＤＸの部分ＡＤＸを追加することにより、３番目のＸ方向のサブユニットＤＸを再構築できる。Ｙ方向のサブユニットＤＹも同様に再構築することが可能であり、再構築する方向は受信側で独立して選択できる。
【００１８】
図１に、２次元の被転送データＴＤ（２）に基づき説明した本発明のデータ転送方法およびデータ受信方法は、３次元以上の被転送データにも適用できる。ただし、３次元以上のｎ次元の被転送データは、２以上ｎ以下（２〜ｎ）の方向にスライスしたサブユニットを備えた転送データを転送することにより、受信側では、２〜ｎの方向にサブユニットを組み立てる自由度が発生する。たとえば、図２に示した例では、３次元の被転送データＴＤ（３）をＸ方向およびＹ方向のサブユニットに分解して転送データＢＤとしているので、受信側では、Ｘ方向およびＹ方向の自由がある。これに対し、図３に示した例では、３次元の被転送データＴＤ（３）をＸ方向、Ｙ方向およびＺ方向のサブユニットに分解して転送データＢＤとしているので、受信側ではＸ方向、Ｙ方向およびＺ方向の自由がある。
【００１９】
図２に示した例は、３次元の被転送データＴＤ（３）に対して、図１に基づき説明した２方向のサブモジュールＤＸおよびＤＹに分割して転送データＢＤを生成して転送している。したがって、各々のサブモジュールＤＸおよびＤＹが２次元状（面状）のデータに変わり、交わる部分Ｄ０が１次元状（ライン状）のデータに変わる以外は上述したのと同じプロセスで、被転送データＴＤ（３）を転送データＢＤに分割して転送できる。また、転送データＢＤを受信した側では、Ｘ方向およびＹ方向のいずれの方向にもサブモジュールを再構築することができる。
【００２０】
図３に示した例では、３次元の被転送データＴＤ（３）を、Ｘ方向、Ｙ方向およびＺ方向のサブユニットに分割して転送データＢＤを生成している。したがって、転送データＢＤは、Ｘ方向に分解された２次元状のサブユニットＤＸと、Ｙ方向に分解された２次元状のサブユニットＤＹと、Ｚ方向に分解された２次元状のサブユニットＤＺとのうちの、同順のサブユニットＤＸ、ＤＹおよびＤＺを含み、さらに、これらが交わる部分（本例では０次元状のデータとなる）Ｄ０から原点Ｏの側を除いた部分を備えている。したがって、転送データＢＤを受信した側は、転送データＢＤに３次元の各々の方向に分割したサブユニットの部分が含まれるので、事前に受信した転送データＢＤに含まれるサブユニットの部分を追加することにより、３次元のいずれの方向にもサブユニットを再構築できる。
【００２１】
図４に、本発明のデータ転送方法および受信方法を印刷用のデータの送受信に適用した例を示してある。本例では、ホストコンピュータ１にインストールされたプリンタドライバ１３が転送データＢＤを生成して転送する機能を果たし、プリンタ２のＣＰＵ２８が転送データＢＤから任意の方向のサブユニットを再構築する機能を果たす。
【００２２】
本例のホストコンピュータ１は、オペレーティングシステム１１と、文章データや画像データなどを処理するアプリケーション１２と、文章データや画像データを複数のドットが集合された２次元のデータ、すなわち、ラスタデータ（２次元の被転送データＴＤ（２）に対応）に変換し、さらに、複数の転送データＢＤに分解してプリンタ２に転送するプリンタドライバ（またはドライバプログラム）１３とを備えている。プリンタドライバ１３から出力された転送データＢＤは、ＲＳ２３２ＣやＵＳＢなどの適当なインターフェイス１４を介してプリンタ２に供給される。
【００２３】
プリンタドライバ１３は、印刷するための２次元のラスタデータＴＤ（２）を、原点ＯからＸ方向およびＹ方向のサブユニットＤＸおよびＤＹに順番に分割する機能１５と、Ｘ方向に分割された１次元状の複数のサブユニットデータＤＸと、Ｙ方向に分割された１次元状の複数のサブユニットデータＤＹのうちの、同一の順番でサブユニットＤＸおよびＤＹを組み合わせる機能１６と、組み合わされたサブユニットＤＸおよびＤＹの交わる部分Ｄ０から原点Ｏの側のデータを除いて転送データＢＤを生成する機能１７と、生成された転送データＢＤをプリンタ２に転送する機能１８とを備えている。
【００２４】
分割する機能１５は、複数のドットの集合である２次元のラスタデータＴＤ（２）を８ドット×８ドットの小ブロックに分け、この小ブロックを単位として１次元状のラインデータ、すなわち、サブユニットデータＤＸおよびＤＹを生成する。小ブロックのデータは、１ドットを１ビットとすると、６４ビット、すなわち、８バイトのデータとなり、データ的にはライン状に並べやすい状態となる。したがって、転送データＢＤは、交差データＤ０のオフセットおよびデータサイズ、データＢＤＸのオフセットおよびデータサイズ、データＢＤＹのオフセットおよびデータサイズを含むヘッダ情報を付加し、交差データＤ０、データＢＤＸ、およびデータＢＤＹをライン状に整えてプリンタ２に出力できる。
【００２５】
プリンタ２は、ホスト１から出力された転送データＢＤからＸ方向あるいはＹ方向のサブユニットを生成し、そのサブユニットの単位で印刷する。プリンタ２は、印刷エンジンまたは印刷機構２１と、印刷機構２１で印刷する用紙４の向きを検出する用紙検出部２２と、プリンタ２の全体を制御する制御部２３とを備えている。制御部２３により、セットされた用紙４の向きに合わせた方向のサブユニットＤＸまたはＤＹが転送データＢＤから順次生成され、印刷エンジン２１により用紙４に適切な向きの画像データや文書データが印刷される。制御部２３は、転送データＢＤｉを受信または取得するインターフェイス２４と、ＣＰＵ２８と、印刷用のプログラムＰ１が記録されているＲＯＭ２９と、ＲＡＭ３０と、印刷エンジン２１を制御するメカ制御部２７とを有しており、これらがバス３３により接続されている。ＲＡＭ３０には、受信した転送データＢＤを一時的に記憶する領域２５と、転送データＢＤのうち直ぐに印刷に使用されないデータを記憶する領域２６と、領域２６に記録されたデータを管理するためのデータが書き込まれる管理テーブル３２とが用意されている。
【００２６】
図５に、プリンタ２の側で転送データＢＤから印刷するための概略の機能を示してある。ＣＰＵ２８はＲＯＭ２９の印刷プログラムＰ１により、転送データＢＤからＸ方向またはＹ方向のサブユニットデータＤＸまたはＤＹを再構築する再構築機能３５と、再構築されたサブユニットデータＤＸまたはＤＹをメカ制御部２７を介して印刷エンジン２１に出力する機能３６とを果たす。再構築機能３５は、プリンタ２にセットされた用紙４の向きに応じてバッファ２５に受信された転送データＢＤｉから交差データＤ０と直ぐに印刷する方向のサブユニットのデータＢＤＸまたはＢＤＹを抽出し、バッファ２６に保存されている事前に取得されたＸ方向またはＹ方向のサブユニットのデータＡＤＸまたはＡＤＹと組み合わせて１ラインのサブユニットＤＸまたはＤＹを再構築し、残りのデータＢＤＹまたはＢＤＸをバッファ２６に保存する。そのために、再構築機能３５は、プリンタドライバによって付加されたヘッダ情報に含まれる各データのオフセットやデータサイズに基づいて、転送データＢＤに含まれるデータＤ０、ＢＤＹおよびＢＤＸを識別し、残りのデータをバッファ２６に記録するときにアドレスなどの管理用のデータを管理テーブル３２に書き込む。これにより、バッファ２６に記録されたデータＢＤＹまたはＢＤＸから、サブユニットＤＸまたはＤＹを再構築するためのデータＡＤＹまたはＡＤＸを生成することができる。
【００２７】
図６に示すように、Ｙ方向のサブユニットデータＤＹを順番に生成してＹ方向に印刷する様子を示してある。Ｘ方向に印刷する場合は、Ｘ方向のサブユニットデータＤＸを順番に生成すれば良いだけであり、本例のプリンタ２では、用紙４の向きに合わせて印刷データを回転処理する必要がない。
【００２８】
ステップ８１で最初に転送データＢＤ１を受信する。最初の転送データＢＤ１は最初のサブユニットＤＸおよびＤＹの全データが含まれているので、転送データＢＤ１からＹ方向のサブユニットＤＹを生成し、ステップ８２で印刷することができる。ステップ８３で、２番目の転送データＢＤ２を受信すると、２番目の転送データＢＤ２には、２番目のサブユニットＤＹの一部が含まれているだけであり、先に受信した１番目の転送データＢＤ１に含まれるデータＡＤＹ（データＢＤＸの一部）を組み合わせて２番目のサブユニットＤＹを生成し、ステップ８４で印刷する。同様に、ステップ８５で３番目の転送データＢＤ３を受信し、ステップ８６で３番目のサブユニットＤＹを生成して印刷し、ステップ８７で４番目の転送データＢＤ４を受信し、ステップ８８で４番目のサブユニットＤＹを印刷する。ステップ８９で、５番目の転送データＢＤ５を受信し、ステップ９０で５番目のサブユニットＤＹを印刷する。ステップ９１では、最後の転送データＢＤ６を受信する。本例では、Ｘ方向およびＹ方向に分割数が同じになっているので、最後の転送データＢＤＬは交差データＤ０のみとなる。最後の転送データＢＤＬは、Ｘ方向のサブユニットＤＸとＹ方向のサブユニットＤＹが一致して交差データＤ０となるとも言える。Ｘ方向およびＹ方向の分割数が異なる場合は、最後の転送データＢＤＬは、交差データＤ０と、分割数の多い方のサブユニットを生成する成分になる。
【００２９】
このようにして６つの転送データＢＤ１〜ＢＤＬを受信することによりＹ方向に１ページ分を印刷することができる。同様に、ＢＤ１〜ＢＤＬを受信することにより、Ｘ方向のサブユニットＤＸを順番に生成できるので、Ｘ方向に１ページ分を印刷することも可能である。したがって、ドライバプログラム１２はプリンタ２の印刷方向とは無関係に転送データＢＤを出力することができる。また、プリンタ２の側は、プリンタドライバ１３の出力に影響されることなく、Ｘ方向でもＹ方向でも任意の方向に印刷できる。したがって、任意の方向に印刷するための回転処理は不要であり、そのための機構もメモリも要らない。また、事前に１ページ分をダウンロードする必要もなく、本例のプリンタ２は、任意の方向に高速で印刷できる。
【００３０】
図７にドライバプログラム１２の処理をフローチャートにより示してある。ステップ５１において、分割機能１５により２次元のラスタデータＴＤ（２）をＸ方向およびＹ方向の複数のサブユニットデータＤＸおよびＤＹに分割する。次に、ステップ５２において、組み合わせ機能１６により、同順のデータＤＸおよびＤＹを組み合わせ、ステップ５３において、生成機能１７により、事前の転送データにより転送済みの部分、すなわち、交差データＤ０から原点側の部分を除いて転送データＢＤを生成する。もちろん、交差データＤ０から原点側の部分を事前に除いたデータを組み合わせて転送データＢＤにしても良く、転送データＢＤを生成するアルゴリズムはこれに限定されるものではない。転送データＢＤが生成されると、ステップ５４において、転送機能１８により、転送データＢＤにヘッダ情報Ｈを付加してプリンタ２に出力する。ステップ５５において、ラスタデータＴＤ（２）の全てのデータがプリンタ２に出力するまで継続される。このような処理をコンピュータで実行可能な命令を有するドライバプログラムまたはプログラム製品はＣＤ−ＲＯＭなどの適当な記録媒体に記録して提供したり、コンピュータネットワークを介して提供することが可能である。
【００３１】
図８にプリンタ２のプログラムＰ１によりＣＰＵ２８が実行する処理をフローダイヤグラムを用いて示してある。もちろん、ＣＰＵ２８の代わりに専用のＡＳＩＣなどを用意して転送データＢＤからラインデータＤＸあるいはＤＹを再構成する処理をハードウェアあるいはソフトウェアにより行うことも可能である。ステップ６１で印刷方向がセットされる。ステップ６２で転送データＢＤを受信すると、ステップ６３で、再構成機能３５により、転送データＢＤから印刷方向の成分を抽出し、他の成分はバッファ２６に一時的に記憶する。ステップ６４で、抽出した転送データＢＤの成分に、事前に受信している転送データＢＤの利用されていない成分を追加して１ライン分の印刷データ（サブユニットデータ）を再構成する。そして、ステップ６５で、転送機能３６により印刷エンジン２１に出力する。これにより、印刷が行われる。この際、印刷方法あるいは印刷する方向によっては、バッファあるいはメモリに再構成された１ライン分の印刷データのラインとカラムを入れ替えるなどの処理を行い、インクジェット印刷用のヘッドのノズルの配列方向やサーマルヘッドの発熱抵抗体の配列方向に合わせて印刷データを印刷エンジンに出力する。また、レーザプリンタにおけるレーザの走査方向に合わせて印刷データを印刷エンジンに出力しても良い。
【００３２】
ステップ６６で転送データＢＤが終了するまでステップ６２からの処理を行うことにより１ページ分の印刷を任意の方向から行うことができる。このような処理が可能なプリンタ２のファームウェアＰ１は、上記の工程を実行可能な命令を備えたプログラムとしてＲＯＭに記録して提供できる。コンピュータネットワークを介して提供することも可能である。
【００３３】
以上に説明したように、本例のプリンタ２は、シーケンシャルに受信した転送データを用いて任意の方向にシーケンシャルに印刷することができる。したがって、回転処理機能やページ分のメモリがなくても、プリンタ側でセットした任意の方向に印刷できる。転送データの一部を後に印刷するため記憶するメモリは必要であるが、その容量は１／４頁分程度で足りる。したがって、本発明により、ページプリンタはもちろん、インクジェットプリンタなどのシーケンシャルなプリンタであっても小容量のメモリを搭載するだけで、任意の方向に印刷可能となり、使い勝手のよいプリンタを提供できる。特に、高画質のカラー画像を１ページ分記憶しようとすると、膨大なメモリが必要になるが、本発明によれば、いずれの方向にも順番に出力できるので、経済的な効果は大きい。また、メモリに蓄積する時間も節約できるので、印刷をスタートする時間を短縮することができる。また、小容量のメモリで高速印刷が可能となる。
【００３４】
また、本発明のデータ転送方法およびデータ受信方法は、最初に説明したように、２次元の被転送データに限定されずに、立体映像や、ビデオデータなどの３次元以上の多次元の被転送データを転送する場合にも適用可能である。
【００３５】
【発明の効果】
以上に説明したように、本発明においては、ｎ次元の被転送データを受信側で復元する際に、その方向を自由に選択できる。したがって、再生方向が問われるデータを送る際に、送信元と受信先とを再生方向とは無関係に独立させることが可能である。すなわち、送信側は常に一定のフォーマットでデータを転送でき、受信側は任意の再生方向を選択できる。
【図面の簡単な説明】
【図１】本発明のデータ転送方法およびデータ受信方法を２次元の被転送データに適用した例を説明するための図である。
【図２】本発明のデータ転送方法およびデータ受信方法を３次元の被転送データに適用した例を説明するための図である。
【図３】本発明のデータ転送方法およびデータ受信方法を３次元の被転送データに適用したさらに異なる例を説明するための図である。
【図４】本発明のデータ転送方法を適用したドライバプログラム、および本発明のデータ受信方法を適用したプリンタの概略を示す図である。
【図５】図４に示すプリンタの制御部の概略の機能を示す図である。
【図６】図４に示すプリンタの印刷処理の概略を説明するための図である。
【図７】プリンタドライバにおける処理を示すフローチャートである。
【図８】プリンタにおける処理を示すフローチャートである。
【符号の説明】
１    ホスト
２    プリンタ
１２    ドライバプログラム
１５    分割機能
１６    組み合わせ機能
１７    生成機能
１８    転送機能
２１    印刷エンジン
２３    制御部
２５、２６    バッファ
３５    再構成機能
３６    出力機能
ＴＤ（２）、ＴＤ（３）    被転送データ
ＤＸ、ＤＹ    サブユニットあるいはサブユニットデータ
ＢＤ    転送データ
【図１】
0004071985.tif 000002
【図２】
0004071985.tif 000003
【図３】
0004071985.tif 000004
【図４】
0004071985.tif 000005
【図５】
0004071985.tif 000006
【図６】
0004071985.tif 000007
【図７】
0004071985.tif 000008
【図８】
0004071985.tif 000009