(57)【要約】【課題】  描画されたイメージデータをビットマップ回転器が矩形読み出しをして、メモリに矩形書き込みを行い、ビットマップ回転された矩形イメージデータを符号化回路が矩形読み出しを行い、圧縮してメモリに書き込み、もう１方の符号化回路が矩形書き込みを行いつつビットマップ回転後のイメージデータにする。【解決手段】  画像回転及びイメージ画像を圧縮、伸張できる回路を持ち、プリンタエンジンに対する出力画像が２値、多値になる場合にその出力諧調によらず、また回転角度によらず圧縮、伸張、回転を行える手段を有し、またその場合にかならずＤＲＡＭへのアクセスがロウミスサイクルを発生させないような単位でまた１アクセスで複数データとることを可能とする手段を有することにより本発明のブロック圧縮方式（ブロック符号化方式）を高速に行うことを可能とする。【選択図】  図４
2005178033.tif 000002
【特許請求の範囲】
【請求項１】
ページプリンターやデジタル複写機で１ページ分のビットマップ画像イメージデータをビットマップ回転する際にメモリ容量が足りない場合に矩形ブロック単位で符号化し、そのブロック単位でビットマップ画像回転するブロック符号化方式及び矩形ブロックビットマップ回転方式があるが、その場合にカラービットマップ画像のように１piexlを１bit以上の2のn乗（0<=n）のbit数で色諧調表現されるカラーページプリンター（白黒ページプリンター等も含む）において、そのbit数によらず（bit数がその都度変更になっても）ビットマップ画像回転及び符号化できる手段を有し、各出力色諧調で各90度単位のビットマップ画像回転及びブロック符号化を行える手段を有し、またそのビットマップ画像イメージを実際にメモリより読み出したり、回転したビットマップ画像をメモリに書き戻したりする場合に各出力色諧調、各回転角度に対してビットマップ画像から矩形ブロックで画像を切り出す幅、高さを各出力色諧調及びビットマップ画像回転角度によりその都度変更する手段を有し、またそれによりDRAMコントローラが１回のアクセスに対して2のn乗のデータのリードライトすることにより、ビットマップ画像からのブロックのメモリからの切り出し及び書き戻しの際にいかなる場合もDRAMのロウアドレスの境界を越えることなくアクセスする手段を有することにより、メモリアクセスの効率化を図り、ブロック符号化方式及びブロックビットマップ画像回転する際のパフォーマンスの低下を防ぐことを特徴とする矩形ブロック符号化、矩形ブロック単位ビットマップ回転制御部。
【請求項２】
上記請求項１の場合に同じ回路内に符号化回路（圧縮、伸張含む）とビットマップ回転器を直接接続する手段を有することにより、伸張->ビットマップ回転、あるいはビットマップ回転->圧縮する場合にメモリへの介在なしに行うことにより総メモリアクセスの回数を減らすことにより、ブロック符号化、ビットマップ回転方式のパフォーマンス低下を防ぐことを特徴とするブロック符号化、矩形ブロック単位ビットマップ回転制御部。
【請求項３】
請求項１の場合にブロックの符号化（圧縮）及び伸張する順番を変更する手段を持ち、また符号化回路を２個以上持ち、圧縮、伸張、ビットマップ回転をリアルタイムに行うことによりビットマップ画像回転スピードの向上を計ることを特徴とするブロック符号化、ビットマップ回転制御部。
【請求項４】
請求項１及び２の場合においてビットマップ回転と伸張、圧縮の順番を自由自在に変更する手段を有することによりその都度最適なブロック符号化、ビットマップ回転方式を提供することが可能なブロック符号化、矩形ブロック単位ビットマップ回転制御部。
【発明の詳細な説明】
【技術分野】
【０００１】
モノクロ、カラーページプリンターやメモリ容量の少ないモノクロ、カラーデジタル複写機で有効である。
【背景技術】
【０００２】
例えばA4-600dpiモノクロのビットマップ画像１ページ分をメモリに保持するためには少なくとも4ＭＢ以上のメモリが必要ある。これをそのままビットマップ画像の向きを90度、１80度、270度等にビットマップ回転させるためには、ソース側のメモリ容量4ＭＢとディスティネーション側のメモリ容量4ＭＢの合計8ＭＢ以上のメモリが必要である。従来、特に複写機等やメモリを十分に持ったページプリンターで用紙向きとスキャンする用紙の向きが異なる場合はそのままスキャンしたデータを１ページ分保持して、ハードウェアで自動的に１ページ分ビットマップ回転させていた。
【０００３】
上記ような場合でメモリが十分にない場合にでもビットマップ画像回転を行う場合には特開平9-74475等にも記載されているようにブロック単位に符号化させビットマップ画像回転する方式もある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
今後高精細の複写機がでてきたり、カラーページプリンター（タンデムエンジン）、低価格のモノクロページプリンタ(A3,高精細、両面印刷可能)などの用意されているメモリに対して必要なメモリが十分に取れない場合、ソース側とディスティネーション側のメモリの合計より、保持しているメモリの容量が少ない場合、フルページのビットマップ画像回転ができない。もし印刷可能なようにするとメモリを多く積む必要があり、コストアップにつながる。
【０００５】
またページプリンターの場合ホストPCから1ページ分のプリンタ描画用言語を送り、プリンタ側でそのコードを解釈して描画を行いビットマップ画像データを生成するようなページプリンターの方式をPDL（Printer  Discript  Langadge）というが、最近ホストPC側で1ページを数バンドに分割してその分割されたバンド単位でプリンタ描画用言語を送る方式もある。バンド単位でプリンターが描画を行いホストPC側はアプリケーションが表示している紙方向でプリンター描画用言語で送ってくるのでその場合に相手側のプリンターがフィニッシャーを持っていて送られてきた紙方向と搬出する紙方向が異なる場合や今まで使用していたカセットに用紙がなくなり、異なるカセットに移行したときに、その紙カセットの方向が前に使用していたカセットと紙方向が変化して送られてきた用紙方向と実際に印刷したい用紙方向が異なる場合には、ビットマップ画像を何らかの方法で1ページ分のビットマップ画像データをビットマップ画像回転するか再度紙方向を修正したデータを送りなおすしかない。
【０００６】
また、ホストPCからPDLを送り１ページ分のビットマップ画像データを生成する場合でも、ホストPCから送られてくるPDLデータは同じであったとしてもセットされている紙方向が異なるとトランスレータと呼ばれるページプリンターのソフトウェアの機能一部で描画前のコマンドレベルでビットマップ画像前データを回転されることを予測したコードを吐き、そのコードを元に描画を行っている。その場合にでもそのトランスレータがビットマップ画像回転ではないが、ビットマップ画像生成のベクトル計算を行いビットマップ画像回転を予測したコードを生成する必要があるため、そのソフトウェアの個所で時間がかかっていた。またビットマップ画像回転を意識した描画用データの数量、データ量が増えた場合にでもメモリを逼迫させて、ワークメモリも少なくなったりしてよりプリント時間が遅くなる場合もある。
【０００７】
また上記のような場合でメモリを十分に持っていない場合でも特開平9-74475等に記載されているブロック圧縮方式がある。この方法はビットマップ画像を矩形ブロック単位で切り取り、その切り取ったビットマップ画像を符号化（圧縮）し、伸張する際にビットマップ回転するか、もしくは逆に矩形で切り取ったものをビットマップ回転させて、圧縮させておき、必要な際に伸張する方式である。しかしこのような場合でもカラーページプリンターやカラーデジタル複写機のように1piexlを２bit,4bit,8bitのように複数諧調で表現されていて、なおかつユーザのプリント要求毎にその出力諧調が異なる場合もあり、すべて同じ方法ではビットマップ画像回転はできない。
【０００８】
また、矩形でビットマップ画像イメージを切り取り圧縮、伸張、ビットマップ回転を行うので、プリントパフォーマンスが低下してしまうという問題がある。
【課題を解決するための手段】
【０００９】
ビットマップ画像の回転を１ページ分行う必要があるときに、ソース、ディスティネーションのメモリ容量が十分でなく、１ページ分フルのビットマップ画像回転ができない場合でブロック圧縮及びビットマップ回転方式を採用しているページプリンターもしくはデジタル複写機において、1bpp（bit per piexl）以上で2のn乗で表現される出力色諧調で各出力色諧調、各90度単位の回転角度に対して、ブロック単位でビットマップ画像回転及ビットマップ画像の符号化、復号化が可能になる手段を有し、各出力色諧調、各回転角度に対してビットマップ画像から矩形ブロックで画像を切り出す幅、高さを各出力色諧調及びビットマップ画像回転角度によりその都度変更する手段を有し、またそのビットマップ画像イメージに対して、各出力色諧調及びビットマップ回転角度に対して、DRAMの1アクセスに対して、2のn乗のデータの読み書きを可能にする事によりDRAMのロウミスサイクルを発生させることなくDRAMアクセスすることが可能なDRAMコントローラを持ち、またそのビットマップ回転、圧縮、伸張の順番を変更する手段を有し、その都度に最適な順番を選択する手段を有し、また、符号化回路とビットマップ回転器を制御回路内の直接バスで接続し、メモリの介在なしで伸張回転あるいは回転圧縮する手段を有することにより、総メモリアクセス数を減らすことを可能とし、また符号化復号化回路を２つ以上持つことによりリアルタイムにビットマップ画像回転を行うことを可能とする手段を持ち、ブロック圧縮、回転方式を行う場合にパフォーマンスダウンの低下を避けることが可能となる。
【発明の効果】
【００１０】
各ビットマップ画像の出力色階調が変更になり、その各回転角度によってもビットマップ画像を回転することが可能となる。
【発明を実施するための最良の形態】
【００１１】
図１は、本実施例に適用されるレーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図で、このＬＢＰは不図示のデータ源から文字パターンの登録や定型書式（フォームデータ）などの登録が行える。同図において、１０００はＬＢＰ本体であり、外部に接続されているホストコンピュータ（第Ｘ図の１）から供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターンなどを作成し、記録媒体である記録紙上に像を形成する。１０１２は操作のためのスイッチおよびＬＥＤ表示器などが配されている操作パネル、１００１はＬＢＰ１０００全体の制御およびホストコンピュータから供給される文字情報などを解析するプリンタ制御ユニットである。この制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。レーザドライバ１００２は半導体レーザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオンオフ切り替えする。レーザ１００４は回転多面鏡１００５で左右方向に振られ静電ドラム１００６上を走査する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム１００６周囲の現像ユニット１００７により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と１０１１とにより装置内に取り込まれて、静電ドラム１００６に供給される。
【００１２】
図２は、図１に示した出力装置の制御構成を説明するブロック図である。
【００１３】
図において、１７００は記録信号を入力するインタフェース、１７０１はＭＰＵ、１７０２は前記ＭＰＵ１７０１が実行する制御プログラムやホスト印刷情報等を格納する本発明で制御するシンクロナスＲＯＭ、１７０３はＤＲＡＭで、各種データ（上記記録信号やヘッドに供給される記録データ等）を保存しておく。１７０４は記録ヘッド１７０８に対する出力データの供給制御を行うゲートアレイで、インタフェース１７００，ＭＰＵ１７０１，ＤＲＡＭ１７０３間のデータの転送制御も行う。１７１０は前記記録ヘッド１７０８を搬送するためのキャリアモータ、１７０９は記録用紙搬送のための搬送モータ、１７０５は前記記録ヘッドを駆動するヘッドドライバ、１７０６は前記搬送モータ１７０９を駆動するモータドライバ、１７０７は前記キャリアモータ１７１０を駆動するモータドライバである。
【００１４】
このように構成された上記記録装置において、インタフェース１７００を介して後述するホストコンピュータ１００より入力情報が入力されると、ゲートアレイ１７０４とＭＰＵ１７０１との間で入力情報がプリント用の出力情報に変換される。そして、モータドライバ１７０６，１７０７が駆動されるとともに、ヘッドドライバ１７０５に送られた出力情報に従って記録ヘッドが駆動され印字が実行される。
【００１５】
なお、ＭＰＵ１７０１はインタフェース１７００を介して後述するホストコンピュータ１００との通信処理が可能となっており、ＤＲＡＭ１７０３に関するメモリ情報および資源データ等やＲＯＭ１７０２内のホスト印刷情報を後述するホストコンピュータ１００に通知可能に構成されている。
【００１６】
図３は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１７】
図において、３０００はホストコンピュータで、ＲＯＭ３のプログラム用シンクロナスＲＯＭに記憶された文書処理プログラム等に基づいて図形，イメージ，文字，表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムデバイス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００１８】
また、このＲＯＭ３のプログラム用ＲＯＭには、ＣＰＵ１の制御プログラム等を記憶し、ＲＯＭ３のフォント用ＲＯＭには上記文書処理の際に使用するフォントデ−タ等を記憶し、ＲＯＭ３のデ−タ用ＲＯＭは上記文書処理等を行う際に使用する各種プログラムを記憶する。２はＲＡＭで、ＣＰＵ１の主メモリ，ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）で、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インタフェース（インタフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００１９】
プリンタ１５００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等或いは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１６を介して接続される印刷部（プリンタエンジン）１７に出力情報としてのビットマップ画像信号を出力する。なお、例えばカラーページプリンタの場合などは、ビデオ信号が2のn乗あり、YMCKの各色を多値で表現する。この際プリンタコントローラはその都度に応じてこの出力色階調を1bit,2bit,4bit,8bitで表現する。当然1piexlを多値、bit数が多いほど、プリンターのパフォーマンス（処理能力）は必要となる。この出力ビデオ数を8本とした場合に出力色階調1bit/piexlの場合はすべての信号に同じ値を出し、出力色階調2bit/piexlの場合はビデオ信号を各4本のグループに分けをして同じグループで同じ値にする、出力色階調4bit/piexlの場合は8本を各2本のグループにして同様のことを行う。またこのビットマップ画像とそのビットマップ画像をプリンタエンジンにビデオ信号を介して送出するところに多値変換及びディザ回路をいれて1bit出力画像を8bitに2,4bit/piexlの画像も同様8bitに変換することも可能である。
【００２０】
また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデ−タ等を記憶し、ＲＯＭ１３のデ−タ用ＲＯＭにはハードディスク等の外部メモリ１４が無いプリンタの場合には、ホストコンピュ−タ上で利用される情報等を記憶している。ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００２１】
前述したハードディスク（ＨＤ）、ＩＣカ−ド等の外部メモリ１４は、ディスクコントローラ（ＤＫＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデ−タ、エミュレ−ションプログラム、フォ−ムデ−タ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００２２】
また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード，言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。さらに、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしても良い。
【００２３】
図４をもとにブロック圧縮方式＋ビットマップ画像回転の概念図を記載する。
【００２４】
（１）が最初のビットマップ画像イメージで主走査方向に対してA1-B1-C1………J1と連続されている。
【００２５】
次のブロックがK1-L1………T1、その次のブロックはU1-V1-W1………J2となり、その次がK2-L2―M2………S2-T2となる。
【００２６】
（２）がこの符号化された矩形ブロックメモリイメージでこの場合は符号化された順番になっている。つまり回転前のビットマップ画像イメージの順番に圧縮されている。
【００２７】
（３）が伸張回転後のビットマップ画像イメージでこの各矩形ブロックを圧縮（符号化）してその圧縮（符号化）されたイメージデータを伸張後に矩形ブロック単位で270度ビットマップ回転する。ここでこの伸張する符号化された矩形ブロックの順番はK2,U1,K1,A1になる。
【００２８】
（４）がこの場合各符号化された矩形ブロックイメージのアドレス、データ情報でメモリかC  PUレジスタ等に格納しておき、そのメモリ上の符号化されたあるいはビットマップ画像を形成したエリアとは全く異なる個所に、符号化された各矩形ブロックの情報を書き込むテーブルである。伸張する際にその情報から伸張順番を変更する必要がある。
【００２９】
次に図５を元に効率良く矩形ブロックに切り取り、各出力色階調で矩形ブロックの切り出し方法を変更して符号化（圧縮）、伸張する方法を記載する。
【００３０】
一般的にDRAMはアドレスバスがマルチサイクルになっており、ロウアドレス、カラムアドレス別々に発行する。ここで、同じカラムアドレスの場合には1度ロウアドレスを発行してしまえば、連続してデータをリードライトできてしまう。（図6に1回のアクセスで8つのデータをリードあるいはライトをするタイミングを記載する。）
一般的にCPUも1回のアクセスで最大4、8回程度のデータリードライトが可能である。
【００３１】
従って1回のアクセスでリードライトできる回数を2のn乗にしておき（一般的には8回程度,2=<n<1ロウアドレスの容量）、必ずリードライトのスタートアドレスを先頭からにしておけば、そのロウアドレスの境界を跨ぐことなく、アクセスできるのは周知の事実である。
【００３２】
また、カラーページプリンター等では出力色諧調を１ピクセルを2ビット、4ビットで表し４階調、16階調等で色の濃淡を表現するがあり、その場合より原色に近い色で表現できる。
【００３３】
今回のこの発明によれば2のn乗で階調表現されたビットマップ画像を90度単位の各ビットマップ画像回転を行う場合にメモリのリードライトに対して必ず2のn乗の回数データアクセスを行うようにして、矩形ブロック圧縮、矩形ブロック回転を行うようにする。
【００３４】
この図５の場合に1piexlに対して１、２，４ビットとして各出力色諧調の矩形ブロック切り出し（読み込み）、90度回転後の矩形ブロック書き出しと１回のメモリリードライトの回数が8ワード（1ワード=32ビット）として表された図で、1bit/piexlのときの同一ラインの読み込みを256bit×256ラインとすると全回転角度ともに1ラインの幅が256bitになり8ワードになる。2bit/piexlの場合は読み込みは同一ライン16ワードの2バーストになり、0度、180度回転の場合の書き込みは同じように2バーストになり、90度180度のときは図5の２段目のとおり１バーストになる。4bit/piexlの場合は読み込みは同一ライン32ワードの4バーストになり、0度、180度回転の場合の書き込みは同じように4バーストになり、90度180度のときは図5の２段目のとおり１バーストになる。
【００３５】
このようにして出力色階調によりビットマップ画像の切り出し単位を変更することが可能となる。
【００３６】
次に図７を基に本発明を説明するのに好適なビットマップ画像を矩形で切り出して270度回転させたビットマップ画像の生成方法を1bit/piexlの場合で説明する。
【００３７】
図7_1が出力諧調が1bit/piexlの場合のビットマップ画像である。
0x20000000-0x20050000のビットマップ画像を0x20000000-0x20050000に回転復元する場合を記載する。
【００３８】
基のビットマップ画像はバンド幅が140hの2560piexlでラインが1024ラインのビットマップ画像である。幅20h(256piexl,256bit)、高さ256ラインの単位で矩形ブロックビットマップ画像を切り出していき、符号化（圧縮）していく。
【００３９】
これを順番はA1-B1-C1-D1-....I1-J1の符号化していき、一旦すべて0x20080000以降のメモリエリアに圧縮コード、圧縮情報を格納し、その情報をもとにK2-U1-K1-A1の順番で再び0x20000000に書き込んでいく。この場合か移転後のバンド幅は80h1024piexlになりライン数は2560ラインになる。
【００４０】
次に図7_2を基にして2bit/piexlの場合の画像の切り出し方法を説明する。1piexlを2bitで表現するため、同じ総piexl数でもデータ量は倍になる。0x20000000-0x200a0000のビットマップ画像である。
【００４１】
基のビットマップ画像はバンド幅が280hの2560piexl,5120bitでラインが1024ラインのビットマップ画像である。幅40h(256piexl,1024bit)、高さ128ラインの単位で矩形ブロックビットマップ画像を切り出していき、符号化（圧縮）していく。
【００４２】
これを順番はA1-B1-C1-D1-....I1-J1の符号化していき、一旦すべて0x2010000以降のメモリエリアに圧縮コード、圧縮情報を格納し、その情報をもとにY3-O3-E3...A1の順番で再び0x20000000に書き込んでいく。この場合移転後のバンド幅は100h 1024piexlになりライン数は2560ラインになる。矩形ブロックの個数は1bit/piexlと比較して2倍の個数になる。
【００４３】
次に図８をもとに本発明を行うための矩形ブロック圧縮制御回路のブロック図及びデータの流れを記載、説明する。
【００４４】
1がCPUインターフェースで、CPUからのデータをリードライトを行い符号回路、回転器の諸設定が可能となる。2がメモリコントローラでDRAMを制御する回路である。
【００４５】
ここでこのDRAMインターフェースは1回のメモリアクセスで2つ以上のデータをリードライト可能なことを特徴とする。3はビットマップ回転器で90、180、270、0度のビットマップ回転が可能でかつ、1,2,4...bit/piexlの各出力色諧調でもビットマップ回転可能なことを特徴とするビットマップ回転器である。
【００４６】
4,5がビットマップ画像符号化復号化回路でJBIG等の圧縮方式をサポートしている。
【００４７】
6がホストPCからPDLデータ等を受け取る外部インターフェースである。
【００４８】
最初に4006の外部インターフェースがホストPCからPDLデータ等（YMCKに変換されたプリント出力用イメージデータでも良い）を受け取り、2のDRAMインターフェースを経由してDMAでメモリに配置する。そのメモリ上のPDLデータをもとにCPUはCPUインターフェースを介しながら、PDLをトランスレートして７の描画用の中間コードを生成して2のメモリインターフェースを介してメモリにデータを書き込む。７の描画用回路は２のDRAMインターフェースを介してCPUで生成された中間コードを基にレンダリングを行いビットマップ画像を生成する。またここでカラーページプリンタ等でパフォーマンス的に問題ない場合は多値でビットマップ画像を生成する。
【００４９】
次に4の符号化復号化回路がメモリから2のDRAMインターフェースを介して、矩形ブロック単位にデータを読み込み、符号化してまた２のDRAMインターフェースを介してメモリに圧縮コードを書き戻す。次に5の符号化回路（伸張）はメモリに書き込まれている、矩形ブロック単位で圧縮された圧縮コードを２のDRAMインターフェースを介して圧縮コードを読み取り、伸張しながら、直接３のビットマップ回転器にデータを渡し、３のビットマップ回転器はビットマップ回転を行いながら、２のDRAMインターフェースに回転ビットマップ画像データを書き込んでいく。
【００５０】
8がプリンターエンジンインターフェースでモノクロページプリンターの場合は1本でプリンタエンジンにビデオデータを渡し、カラーページプリンタエンジンの場合は2のn乗の本数のビデオ信号でビデオデータを渡し色の濃淡を決定する。ビデオ信号の本数＞＝出力色階調になり、同じでなくても良い（ただし、出力色階調が小さいほど画質は落ちる）
ビットマップ画像を符号化（圧縮）回転する場合に以下の4つの順序が考えられる。
【００５１】
図9にその４つの記載する。
【００５２】
１が描画されたイメージデータをビットマップ回転器が矩形読み出しをして、メモリに矩形書き込みを行い、ビットマップ回転された矩形イメージデータを符号化回路が矩形読み出しを行い、圧縮してメモリに書き込み、もう１方の符号化回路が矩形書き込みを行いつつビットマップ回転後のイメージデータにする。
【００５３】
2はイメージデータをビットマップ回転器が読み込み、内部バスを用いてメモリを介さず符号化回路にデータを渡し、符号化回路はすでにビットマップ回転された矩形データを圧縮し、メモリに圧縮コードを書き込む。もう１つの符号化回路は伸張しながら矩形書き込みを行い、回転されたイメージビットマップ画像が生成される。
【００５４】
3はイメージデータを符号化回路が矩形読み出しを行い、圧縮コードをメモリに書き込み、メモリからもう１つの符号化回路が伸張し、その伸張されたデータをビットマップ回転器は矩形書き込みを行い、回転ビットマップ画像を生成する。
【００５５】
4は符号化回路がイメージデータを矩形読み出しを行い、圧縮コードをメモリに書き込み、その圧縮コードをもう１つの符号化回路が伸張しながら内部バスでビットマップ回転器にデータを渡し、ビットマップ回転器はビットマップ回転させながら矩形書き込みを行い回転ビットマップ画像イメージを生成する。
【００５６】
以上の方法によりメモリが少ない場合にでも各出力色階調が変更になっても１ページ分のビットマップ画像イメージをプリンターパフフォーマンスの低下なく、行うことが可能となる。
【図面の簡単な説明】
【００５７】
【図１】プリンタエンジンの構造図である。
【図２】本発明の説明するためのシステムの構成図である。
【図３】本発明を説明するためのホストコンピュータとプリンターの概念図である。
【図４】本発明のブロック圧縮、ビットマップ回転方式の概念図である。
【図５】本発明の一実施例の構成を説明するための各出力色諧調の90度ビットマップ回転を行った場合の概念図である。
【図６】本発明の一実施例のアクセスを示すタイミングチャートである。
【図７】本発明の一実施例のブロック圧縮、ビットマップ回転方式のアドレスマッピング図とそのアドレスの変換図である。これは出力諧調が1bit/piexlである。本発明の一実施例のブロック圧縮、ビットマップ回転方式のアドレスマッピング図とそのアドレスの変換図である。これは出力諧調が2bit/piexlである。
【図８】本発明の一実施例を表すのブロック圧縮、ビットマップ回転制御部を含んだブロック図である。
【図９】本発明の圧縮、伸張、ビットマップ回転の順番を表した図である。
【図１】
2005178033.tif 000003
【図２】
2005178033.tif 000004
【図３】
2005178033.tif 000005
【図４】
2005178033.tif 000006
【図５】
2005178033.tif 000007
【図６】
2005178033.tif 000008
【図７】
2005178033.tif 000009
【図８】
2005178033.tif 000010
【図９】
2005178033.tif 000011