(57)【特許請求の範囲】
【請求項１】
タグ情報の格納領域と複数のデータ格納領域とを有し、Ｎビット列×Ｍビット行（ＮおよびＭは１以上の整数）を１つのブロックとしたデータ構成における各行のＮビットのデータが前記複数のデータ格納領域のそれぞれに格納されたパケット形式の第１パイプラインレジスタと、
前記第１のパイプラインレジスタにおける前記タグ情報の少なくとも一部に基づいて、該第１のパイプラインレジスタの前記複数のデータ格納領域のそれぞれに格納されたＮビットのデータにおける同じ列アドレスの１ビットのデータをそれぞれ取り出す取り出し手段と、
該取り出し手段によって取り出されたＭ個のデータを並び替えてまとめたデータを１単位として出力する出力手段と、
タグ情報の格納領域と複数のデータ格納領域とを有し、前記出力手段によって出力される前記データを、該データ格納領域の１つに格納するパケット形式の第２のパイプラインレジスタとを備え、
前記取り出し手段による前記データの取り出しと、前記出力手段による前記データの出力とをＮ回にわたって繰り返すことにより、Ｍビット列×Ｎビット行を１つのブロックとしたデータ構成に変換することを特徴とするデータ構成の縦横変換装置。
【請求項２】
前記第１のパイプラインレジスタにおける前記タグ情報の格納領域は有効データ数を格納する領域を有し、前記出力手段は、該領域に格納された該有効データ数に基づいて、出力される前記１単位のデータにおける有効データを識別可能にする有効データ識別手段をさらに有することを特徴とする請求項１に記載のデータ構成の縦横変換装置。
【請求項３】
前記出力手段は、出力される前記１単位のデータにおいて、前記有効データ情報に基づく有効データでない無効データについては強制的に所定のビット状態とするデータマスク手段をさらに有することを特徴とする請求項２に記載のデータ構成の縦横変換装置。
【請求項４】
前記出力手段は、出力される前記１単位のデータにおけるビットの並びを逆にして出力するビット並び変更手段をさらに有することを特徴とする請求項２または請求項３に記載のデータ構成の縦横変換装置。
【請求項５】
前記第２のパイプラインレジスタは、前記１単位のデータが格納された前記データ格納領域数を格納する領域を有し、
該領域に前記データ格納領域数を格納する手段をさらに備えていることを特徴とする請求項１乃至請求項４のいずれかに記載のデータ構成の縦横変換装置。
【請求項６】
請求項１乃至請求項５のいずれかに記載のデータ構成の縦横変換装置を含む自己同期型転送制御回路を備えたことを特徴とするデータ駆動型情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、タグ情報の格納領域と複数のデータ格納領域とを有するパケットにより処理を行い、かつ、縦Ｎビットで横Ｍビットを１つのブロックとしたデータ構成を、縦Ｍビットで横Ｎビットを１つのブロックとしたデータ構成に変換するデータ構成の縦横変換装置およびそれを用いたデータ駆動型情報処理装置に関する。本発明は、機種毎に形状が異なるインクジェットプリンタのプリンタヘッドの形状に合わせたデータ構成に変換を行う映像信号処理用の集積回路等に好適に用いることができる。
【０００２】
【従来の技術】
映像信号処理用の集積回路等において、入力された映像信号に主走査方向に画像処理を行って得られたデータをインクジェットプリンタ等のプリンタにより出力する場合には、プリンタのプリンタヘッド（ノズル）の形状に合わせたデータ構成（データフォーマット）に変換する必要がある。
【０００３】
以下に、このデータフォーマットの変換について、図６を参照しながら説明する。図６（ａ）は紙面にプリントされるデータの配置状態を示す図であり、図６（ｂ）はプリンタ内部におけるデータの処理状態を示す図である。ここでは、プリンタ内部での画素の処理を、８画素×８画素を１つのブロックとして処理する例を示している。また、各画素のデータが２値の例であり、プリントする場合には”１”、プリントしない場合には”０”として表されている。
【０００４】
従って、プリンタ内部では主走査方向の８画素を８ビットデータとして扱い、データ００（Ｄ０００，Ｄ００１，・・・，Ｄ００７）→データ０１（Ｄ０１０，Ｄ０１１，・・・，Ｄ０１７）→・・・→データ０７（Ｄ０７０，Ｄ０７１，・・・，Ｄ０７７）→・・・→データ１０（Ｄ１００，Ｄ１０１，・・・，Ｄ１０７）→以下同様
のようにプリンタ内部をデータが流れて処理される。
【０００５】
ここで、プリンタのノズル形状が図６（ｂ）のように縦型の８×１ビットであるとすると、プリンタ内部の信号処理フォーマット（データ構成）をノズル形状に合わせたフォーマットに変換する必要がある。このためには、ビット操作を行って縦横変換処理を行い、
データ００’（Ｄ０００，Ｄ０１０，・・・，Ｄ０７０）→データ０１’（Ｄ００１，Ｄ０１１，・・・，Ｄ０７１）→データ０２’（Ｄ００２，Ｄ０２２，・・・，Ｄ０７２）→・・・→データ１０’（Ｄ１００，Ｄ１１０，・・・，Ｄ１７０）→以下同様
のように変換した８ビットのデータに基づいてノズルの出力制御を行う。
【０００６】
さらに、ノズル形状によるデータ変換処理の必要性としては、以下のような理由も挙げられる。プリンタのノズル形状によって紙面等へプリントされるドット位置が異なるため、所定の位置にプリントされるようにデータ変換処理で補正を行う場合や、カラー表示では三原色の色素を各々別のノズルからドットとしてプリントするため、各ドットの位置補正をデータ変換処理で行うことは重要である。また、インクジェットプリンタ等のプリンタの場合、フォーマット変換前のデータは２値化されていることが多く、情報量が増大させるか、またはデータ転送速度を速くするため、複数のデータを１つのデータに圧縮している場合もある。複数のデータを１つのデータに圧縮することにより、見かけ上のデータ数が減少し、その分だけ実際のデータ転送速度が速くなる。
【０００７】
このため、以下のようなデータ構成の変換処理が必要になる。ここでは、入力された画素が、主走査方向に８画素のデータを１つのデータとして構成されているものとする。このデータ構成を縦横変換する場合、８×８のブロックでのデータ単位で縦横変換処理を行う。８×８のブロックでは、主走査方向には８画素分が１データになっており、副走査方向には異なる８データで表現される。従来、これらのデータの縦横変換は、以下のような処理により行っていた。
【０００８】
図７は従来のデータ構成の縦横変換処理について説明するための図である。まず、上記８つのデータを、図７（ａ）に示すような内部のレジスタに格納する。データを格納する順番は、副走査方向に入力された順に、レジスタＲ０（図６のデータ００（Ｄ０００，Ｄ００１，・・・，Ｄ００７）を格納）、Ｒ１（図６のデータ０１（Ｄ０１０，Ｄ０１１，・・・，Ｄ０１７を格納）、・・・、Ｒ７（図６のデータ０７（Ｄ０７０，Ｄ０７１，・・・，Ｄ０７７）を格納）に格納する。また、レジスタＲ８には変換処理後のデータを格納する。なお、図７（ａ）のＣはキャリー領域を示している。
【０００９】
次に、図７（ｂ）に示すようなＲＯＴＲＣｉ、ＲＯＴＲＣ１命令により、図７（ｃ）に示すようにレジスタとキャリー領域を用いて、ビットの回転処理（縦横変換処理）を行う。ここで、ＲＯＴＲＣｉ  Ｒ０（またはＲ１、Ｒ２、・・・、Ｒ７）はレジスタＲ０（またはＲ１、Ｒ２、・・・、Ｒ７）内をｉビットだけ右にシフトさせる命令であり、これによりキャリー領域にｉ番目のデータが格納される。また、ＲＯＴＲＣ１はレジスタＲ８とキャリー領域を１ビットだけ右にシフトさせる命令であり、これによりキャリー領域に格納されたデータがレジスタＲ８の最下位ビット位置にシフトして格納される。
【００１０】
まず、初めに、レジスタＲ０のデータをｉビット回転させる（レジスタＲ０内で右へｉビットシフトさせる）処理を行う。この結果、キャリー領域にはｉビット目のデータが格納される。次に、レジスタＲ８のデータを１ビット回転させる（レジスタＲ８内で右へ１ビットシフトさせる）処理を行う。この結果、Ｒ８の最下位ビットにはキャリー領域のデータ、すなわち変換処理前のレジスタＲ０のｉビット目のデータが格納される。この処理をレジスタＲ１、Ｒ２、・・・、Ｒ７まで同様に行うことにより、レジスタＲ８内のデータとして各レジスタのｉビット目のデータが格納され、レジスタＲ８内のデータはＬＳＢ＝Ｒ７ｉ、・・・、ＭＳＢ＝Ｒ０ｉとなる。この一連の処理を計１６ステップの命令で行う。
【００１１】
【発明が解決しようとする課題】
しかしながら、上述した従来例では、最低でも１６ステップの命令を実行する必要がある。このため、処理レートが遅くなり、処理プログラムも複雑になるという問題がある。
【００１２】
一方、画像処理装置等、高速に、かつ大量のデータを処理することが可能な処理装置として、データ駆動型情報処理装置が挙げられる。このデータ駆動型処理装置としては、本願出願人が特願２０００−９８０１６号において提案しているようなものが挙げられる。しかし、このデータ駆動型処理装置は、データを並列処理することにより処理レートの高速化を実現するものであり、データフォーマット（データ構成）の縦横変換処理を行う際には、ビット単位で処理を行う。そして、その都度、合流部、プログラム記憶部、待ち合わせ部、演算処理部および分岐部をデータ転送させて処理を進めるため、上記従来例と同様に、処理ステップが多く、また、プログラムも複雑になるという問題がある。
【００１３】
本発明は、このような従来技術の課題を解決するためになされたものであり、簡単なプログラムにより高速にデータ構成の縦横変換処理を行うことができるデータ構成の縦横変換装置およびそれを用いたデータ駆動型情報処理装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明のデータ構成の縦横変換装置は、タグ情報の格納領域と複数のデータ格納領域とを有するパケットにより処理を行い、かつ、縦Ｎビットで横Ｍビット（ＮおよびＭは１以上の整数）を１つのブロックとしたデータ構成を、縦Ｍビットで横Ｎビットを１つのブロックとしたデータ構成に変換するデータ構成の縦横変換装置であって、該タグ情報の少なくとも一部に基づいて、該複数のデータ格納領域の各領域から任意の１ビットを取り出す取り出し手段と、取り出されたビットを並び替えてまとめたデータを１単位として、該パケットの１つのデータ格納領域に出力する出力手段とを備え、そのことにより上記目的が達成される。
【００１５】
上記構成によれば、後述する実施形態１に示すように、タグ情報の格納領域に命令コードとしてビット操作演算命令を格納しておくことにより、ソフトウェアによって複数のデータ格納領域から任意の１ビットを取り出し、これらを１つのデータにまとめることができ、２値化処理後のデータを１つのデータにまとめる処理を従来よりも高速化することが可能である。
【００１６】
前記取り出し手段は、前記複数のデータ格納領域から任意の１ビットを取り出す際に、各データ格納領域の同じ位置から取り出すものであってもよい。
【００１７】
上記構成は、２値化後の値が最下位ビットにのみ格納されている場合や、固定の位置からデータを取り出す際にデータの取り出しが容易である。
【００１８】
また、後述する実施形態２に示すように、各データ格納領域からデータを取り出す際に、ビット位置を可変とすることにより、プリンタヘッドの形状に合わせた縦横変換処理を従来よりも高速化することが可能となる。
【００１９】
前記タグ情報の格納領域は有効データ数を格納する領域を有し、前記出力手段は該有効データ情報に基づいて有効データを識別可能にして出力する有効データ識別手段をさらに有していてもよい。
【００２０】
前記出力手段は、無効データについては強制的に所定のビット状態にして出力するデータマスク手段をさらに有していてもよい。
【００２１】
上記構成によれば、後述する実施形態３に示すように、データの有効数を考慮することにより、画像の端部や境界部での処理を行うことが可能となる。
【００２２】
前記出力手段は、出力するビットの並びを逆にして出力するビット並び変更手段をさらに有していてもよい。
【００２３】
上記構成によれば、後述する実施形態４に示すように、データの並びを逆順に並べることができるので、左から右に印字するプリンタヘッドだけではなく、逆方向に印字するものにも適用可能となる。
【００２４】
前記まとめたデータが１単位として格納されたデータ格納領域数を．前記有効データ数を格納する領域に格納する手段を備えていてもよい。
【００２５】
上記構成によれば、まとめたデータが１単位として格納されたものが複数存在した場合、並列度が増加し、処理速度が速くなる。
【００２６】
本発明のデータ駆動型情報処理装置は、本発明のデータ構成の縦横変換装置を含む自己同期型転送制御回路を備え、そのことにより上記目的が達成される。
【００２７】
上記構成によれば、簡単なプログラムにより高速にデータ構成の縦横変換処理を行うことが可能となる。
【００２８】
【発明の実施の形態】
以下に、本発明の実施の形態について、図面を参照しながら説明する。
【００２９】
（実施形態１）
図１は、本発明の一実施形態であるデータ構成の縦横変換装置において、ビット操作命令を実現するためのブロック構成を示す図である。ここでは、自己同期型転送制御回路（Ｃ素子）１、２によるハンドシェイク方式によりパイプラインレジスタ３、４をパケット形式のデータが移動する構成となっている。パケットは複数のデータ格納領域と、タグ情報の格納領域とを有し、本実施形態では８つの８ビットデータと、命令コード、ノード番号、世代番号および有効データ数からなるタグ情報から構成されている。なお、Ｃ素子を含むデータ駆動型情報処理装置の一般的な説明については、本願出願人による例えば特願２０００−９８０１６号に記載されているため、本願明細書では説明を省略する。また、以下の説明では、タグ情報のうち、命令コードを利用しているが、ノード番号や世代番号を利用することも可能である。
【００３０】
このデータ構成の縦横変換装置においては、上記命令コード中にビット操作命令が格納されており、パイプラインレジスタ３に入力されたパケット中のデータ０からデータ７までの各データから最下位の１ビットずつを取り出す。このデータを、各々ｄａｔａ０［０］、ｄａｔａ１［０］、・・・、ｄａｔａ７［０］とする。次に、ｄａｔａ７［０］をＭＳＢとしてｄａｔａ６［０］、・・・、ｄａｔａ０［０］のような８ビットのデータとし、後段のＣ素子２により制御されているパイプラインレジスタ４においてデータ０を格納する領域に格納する。例えば、出力パケット用のパイプラインレジスタに、必要なｂｉｔ（例えばＬＳＢ）だけ接続し、残りの不要なｂｉｔは接続しないようにする。この手順をデータフィールド数分だけ行って、１データとして格納する。なお、パイプラインレジスタ４のデータ１〜７は特に限定されず、無効データであってもよい。
【００３１】
その後、パイプラインレジスタ４のタグ情報格納領域内に設けられた有効データ数の格納領域に１を格納し、このパケットを図示していない後段のパイプラインレジスタに出力する。例えば、パイプラインレジスタの有効データ数のフィールドに入力されるＬＳＢを’Ｈｉｇｈ’とし、残りのｂｉｔを’Ｌｏｗ’に固定する。
【００３２】
なお、ここまでの処理では、８ビット×８ビットのデータが、８ビット×１ビットのデータに変換される。さらに、８ビット×８ビットのデータとするためには、この処理を８命令を用いて行う。但し、パイプラインレジスタ３の各データ格納領域からビットデータを取り出す位置を変更して上記と同様の処理を順次行い、パイプラインレジスタ４のデータ１を格納する領域、・・・、データ７を格納する領域に格納することも可能である。
【００３３】
（実施形態２）
図２は、実施形態２のデータ構成の縦横変換装置において、ビット操作命令を実現するためのブロック構成を示す図である。ここでは、自己同期型転送制御回路（Ｃ素子）５、６によるハンドシェイク方式によりパイプラインレジスタ７、８をパケット形式のデータが移動する構成となっている。パケットは複数のデータ格納領域と、タグ情報の格納領域とを有し、本実施形態では８つの８ビットデータと、命令コード、ノード番号、世代番号および有効データ数からなるタグ情報から構成されている。
【００３４】
このデータ構成の縦横変換装置においては、パイプラインレジスタ７に入力されたパケット中のデータ７からデータ０までの各データ（８ビット）を、各々マルチプレクサ（ＭＵＸ）９〜１６に入力する。さらに、タグ情報の一部（本実施形態ではビット操作命令が格納されている命令コード）を各マルチプレクサ９〜１６に入力する。
【００３５】
そして、タグ情報の一部（本実施形態では命令コードに格納されているビット操作命令）によりビット操作を行う。まず、各マルチプレクサ９〜１６はビット操作命令に含まれるマルチプレクサ制御情報によりパイプラインレジスタ７に入力されたパケット中のデータ０からデータ７までの各データからどの１ビットを出力するかを決定する。この場合、各８ビットのデータのうち、全てを１番目のビットとして出力しても良い。または、上述したように、ノズル形状によりプリントされるドット位置の補正も含めて各データから取り出すビットの位置を変えてもよい。
【００３６】
次に、マルチプレクサ９〜１６から出力される８つの１ビットデータを、データ７からのビットをＭＳＢとしてデータ６からのビット、・・・、データ０からのビットのような８ビットのデータとし、後段のＣ素子６により制御されているパイプラインレジスタ８においてデータ０を格納する領域に格納する。なお、パイプラインレジスタ８のデータ１〜７は特に限定されず、無効データであってもよい。
【００３７】
その後、パイプラインレジスタ８のタグ情報格納領域内に設けられた有効データ数の格納領域に１を格納し、このパケットを図示していない後段のパイプラインレジスタに出力する。
【００３８】
なお、ここではプリンタのノズルとして８×１ビットの形状を想定しているが、例えばカラー表示等における８×３ビットのように、並列に複数ビット同時に出力するような構成であれば、図２に示したマルチプレクサ（９〜１６）を３つ並列に配置して、上述したのと同様な処理によてパイプラインレジスタ８のデータ１およびデータ２の領域にデータを格納することが可能である。この場合には、有効データ数を３として出力し、有効データ数の格納領域に格納する。さらに、上記マルチプレクサを１つだけ配置して時分割で動作させることも可能である。
【００３９】
（実施形態３）
図３は、実施形態３のデータ構成の縦横変換装置において、ビット操作命令を実現するためのブロック構成を示す図である。ここでは、自己同期型転送制御回路（Ｃ素子）１７、１８によるハンドシェイク方式によりパイプラインレジスタ１９、２０をパケット形式のデータが移動する構成となっている。パケットは複数のデータ格納領域と、タグ情報の格納領域とを有し、本実施形態では８つの８ビットデータと、命令コード、ノード番号、世代番号および有効データ数からなるタグ情報から構成されている。
【００４０】
このデータ構成の縦横変換装置においては、パイプラインレジスタ１９に入力されたパケット中のデータ７からデータ０までの各データ（８ビット）を、各々マルチプレクサ（ＭＵＸ）２１〜２８に入力する。さらに、タグ情報の一部（本実施形態ではビット操作命令が格納されている命令コード）を各マルチプレクサ２１〜２８に入力する。
【００４１】
各マルチプレクサ２１〜２８はビット操作命令に含まれるマルチプレクサ制御情報によりパイプラインレジスタ１９に入力されたパケット中のデータ０からデータ７までの各データからどの１ビットを出力するかを決定する。
【００４２】
次に、マルチプレクサ２１〜２８から出力される８つの１ビットデータを、データ７からのビットをＭＳＢとしてデータ６からのビット、・・・、データ０からのビットのような８ビットのデータとする。
【００４３】
本実施形態において、命令コードに格納されているビット操作命令によるビット操作とマルチプレクサＭＵＸの制御は上記実施形態２と同様であるが、本実施形態では、さらに、有効データ数の格納領域に格納されている値に応じて無効ビットを識別し、マスクする機能を備えている。
【００４４】
有効データを識別するためには、パケットのタグ情報部に有効データ数の領域を設けるか、または各データ領域毎に有効／無効のフラグを設けるという手法が考えられる。有効データ数の領域を設ける場合には、例えばデータフィールドとしてＤａｔａ０−Ｄａｔａ７の８つの領域が存在し、有効データ数が３となっている場合、Ｄａｔａ０−Ｄａｔａ２を有効とし、Ｄａｔａ３−Ｄａｔａ７を無効とする。または、有効／無効フラグを設ける場合には、例えば各データフィールド毎のフラグビットが”１”であれば有効、”０”であれば無効とする。なお、有効データの識別は、これらの手法に限られず、本発明では特に限定しないものとする。
【００４５】
ブロック単位でのデータ処理では、画像の端部や境界部において、図５（ａ）に示すようにブロック内に無効データが含まれている場合がある。そこで、本実施形態では、この無効データによってプリントが行われないように、図５（ｂ）に示すように、無効データを強制的に”０”としてプリントしないようにする。
【００４６】
このため、本実施形態におけるパイプラインレジスタ１９に格納されている有効データ数の格納領域には、有効データ数が格納されている。例えば有効データ数が３の場合、（８−３）＝５ビット、ＦＦｈ（＝１１１１１１１１）を右に４ビットシフトさせ、シフト後のデータは”０”とする。これにより、１１１１１１１１は０００００１１１となり、マルチプレクサＭＵＸからの出力と論理積ＡＮＤを取ることにより、パイプラインレジスタ１９に格納されているデータ０〜データ２から選択された各１ビットの有効データ３ビットと、データ３〜７から選択された各１ビットで上記処理により強制的に”０”とされた無効データ計５ビットが、後段のＣ素子１８により制御されているパイプラインレジスタ２０においてデータ０を格納する領域に転送されて書き込まれることになる。これは、有効データ数に応じて無効データをマスクする方法の一例であり、他の方法を用いることも可能である。例えば、各データ毎にフラグを設けることにより、無効なデータを決定して出力する値を決定する手法等が考えられる。
【００４７】
その後、パイプラインレジスタ２０では、データ０の領域に書き込まれたデータが有効であるため、タグ情報格納領域内に設けられた有効データ数の格納領域に１を格納し、このパケットを図示していない後段のパイプラインレジスタに出力する。上記各実施形態では、８×８のブロックのうち、８×１のブロックについて処理を行うため、出力側の有効データ数の領域には１を格納していたが、本実施形態では８×８ブロックのうちの任意の有効データ数分のブロックについて処理を行うため、処理を行ったブロック数を有効データ数の領域に格納する必要がある。
【００４８】
なお、本実施形態では有効データ数を用いてマスクすることにより無効なデータを強制的に”０”としているが、各データ毎にフラグを設けることにより無効なデータを決定し、出力する値を決定するようにしてもよい。
【００４９】
（実施形態４）
図４は、実施形態４のデータ構成の縦横変換装置において、ビット操作命令を実現するためのブロック構成を示す図である。ここでは、自己同期型転送制御回路（Ｃ素子）２９、３０によるハンドシェイク方式によりパイプラインレジスタ３１、３２をパケット形式のデータが移動する構成となっている。パケットは複数のデータ格納領域と、タグ情報の格納領域とを有し、本実施形態では８つの８ビットデータと、命令コード、ノード番号、世代番号および有効データ数からなるタグ情報から構成されている。
【００５０】
このデータ構成の縦横変換装置においては、パイプラインレジスタ２９に入力されたパケット中のデータ７からデータ０までの各データ（８ビット）を、各々マルチプレクサ（ＭＵＸ）３３〜４０に入力する。さらに、タグ情報の一部（本実施形態ではビット操作命令が格納されている命令コード）を各マルチプレクサ３３〜４０に入力する。
【００５１】
各マルチプレクサ３３〜４０はビット操作命令に含まれるマルチプレクサ制御情報によりパイプラインレジスタ７に入力されたパケット中のデータ０からデータ７までの各データからどの１ビットを出力するかを決定する。
【００５２】
次に、マルチプレクサ２１〜２８から出力される８つの１ビットデータを、データ７からのビットをＭＳＢとしてデータ６からのビット、・・・、データ０からのビットのような８ビットのデータとする。そして、有効データ数の格納領域に格納されている値に応じて無効ビットを識別し、マスクする。
【００５３】
本実施形態において、命令コードに格納されているビット操作命令によるビット操作とマルチプレクサＭＵＸの制御、および有効データ数の格納領域に格納されている値に応じて無効ビットを識別し、マスクする機能は上記実施形態３と同様であるが、本実施形態では、さらに、マルチプレクサＭＵＸから出力されたデータのＭＳＢ、・・・、ＬＳＢをＬＳＢ、・・・、ＭＳＢに置き換える機能を有している。
【００５４】
このため、本実施形態におけるパイプラインレジスタ２９に格納されている命令コードの格納領域には、ビット並び変更情報がさらに付加されており、この情報によりビット並び変更回路が動作する。このビット並び変更回路は、例えばマルチプレクサ等により容易に構成することができる。
【００５５】
このビット並び変更回路からの出力データは、後段のＣ素子３０により制御されているパイプラインレジスタ３２においてデータ０を格納する領域に書き込まれる。
【００５６】
その後、パイプラインレジスタ３２では、データ０の領域に書き込まれたデータが有効であるため、タグ情報格納領域内に設けられた有効データ数の格納領域に１を格納し、このパケットを図示していない後段のパイプラインレジスタに出力する。なお、本実施形態は、マスク機能を省いた構成とすることも可能である。
【００５７】
なお、上記実施形態では８つの８ビットデータを縦横変換する例について説明したが、本発明はこれに限られず、縦Ｎビット×横Ｍビットを１つのブロックとしたデータ構成を縦Ｍビット×横Ｎビットを１つのブロックとしたデータ構成に変換することが可能である。また、本発明はインクジェットプリンタに限られず、様々なデータ駆動情報処置装置に適用可能である。
【００５８】
【発明の効果】
以上詳述したように、本発明によれば、タグ情報の格納領域に命令コードとしてビット操作演算命令を格納しておくことにより、複数のデータ格納領域から任意の１ビットを取り出し、これらを１つのデータにまとめることにより、２値化処理後のデータを１つのデータにまとめる処理を、従来よりも１６倍以上に高速化することができる。
【００５９】
また、各データ格納領域からデータ位置を取り出す際に、ビット位置を可変とすることにより、プリンタヘッドの形状に合わせた縦横変換処理を、従来よりも１６倍以上に高速化することができる。
【００６０】
また、データの有効数を考慮することにより、画像の端部や境界部等での処理を行うことができるようになる。
【００６１】
さらに、データの並びを逆順に並べることができるようにすることにより、左から右に印字するプリンタヘッドだけではなく、逆方向に印字するものにも対応することができる。
【図面の簡単な説明】
【図１】実施形態１のデータ構成の縦横変換装置において、ビット操作命令を実現するためのブロック構成を示す図である。
【図２】実施形態２のデータ構成の縦横変換装置において、ビット操作命令を実現するためのブロック構成を示す図である。
【図３】実施形態３のデータ構成の縦横変換装置において、ビット操作命令を実現するためのブロック構成を示す図である。
【図４】実施形態４のデータ構成の縦横変換装置において、ビット操作命令を実現するためのブロック構成を示す図である。
【図５】（ａ）はブロック内に無効データが含まれている場合のデータ構成を説明するための図であり、（ｂ）は縦横変換後のデータ構成を説明するための図である。
【図６】（ａ）は紙面にプリントされるのデータ配置状態を説明するための図であり、（ｂ）はプリンタ内部でのデータ処理状態を説明するための図である。
【図７】（ａ）〜（ｃ）は従来のデータ構成の縦横変換処理について説明するための図である。
【符号の説明】
１、２、５、６、１７、１８、２９、３０  Ｃ素子
３、４、７、８、１９、２０、３１、３２  パイプラインレジスタ
９〜１６、２１〜２８、３３〜４０  マルチプレクサ
【図１】
0003907419.tif 000002
【図２】
0003907419.tif 000003
【図３】
0003907419.tif 000004
【図４】
0003907419.tif 000005
【図５】
0003907419.tif 000006
【図６】
0003907419.tif 000007
【図７】
0003907419.tif 000008