トップ :: B 処理操作 運輸 :: B41 印刷;線画機;タイプライタ−;スタンプ




【発明の名称】 データのエンコード方法
【発明者】 【氏名】渡辺 明則
【住所又は居所】東京都大田区下丸子3丁目30番2号キヤノン株式会社内

【要約】 【課題】FBEエンコードを行う際、ラインコードの構成を変更することにより、圧縮率をより高いものとすることを目的とする。

【解決手段】生成されたビットマップデータについてコード化するデータサイズを指定する手段とその情報にもとづいてライン毎にデータを取り込みエッジ情報を解析する手段とその結果をもとに可変長に符号化する手段を備えた構成である。
【特許請求の範囲】
【請求項1】 コンピュータ等の上位装置より、文字コードや制御コードや画像データ等で構成される文章情報を受け取り、前記入力した印字情報に基づいて印字画像データを生成する手段を持っており、印刷部に前記画像データを入力する過程において、印字画像データであるビットマップデータをコード化する方法の一手段としてビットマップデータをライン単位においてライン中に存在するエッジの変化を検出、比較して行われるFBEエンコード等が用いられる場合において、ラインコードとエッジコードとで構成される該エンコード方法において、ラインコードを1ビット増やしエンコード対象であるビットマップデータを各ライン単位で比較した後、エッジ数や位置に変化が生じない場合、該増加ビットのみを変化させてエッジコード部を切り捨てることによりエンコードデータを減少させ圧縮率を上げる方法。
【請求項2】 前記のエンコードされたデータサイズと、従来のエンコードされたデータサイズを比較し、よりデータサイズが小さい方をエンコードデータとして選択する請求項1に記載されたデータエンコード方法。
【請求項3】 前記のエンコード方法と、従来のエンコード方法とをエンコードする対象であるビットマップデータの指定されたサイズにより、エンコード結果としてどちらの方法がエンコードデータサイズがより小さくなるかを判定して、エンコード方法を選択する請求項1及び請求項2に記載されたデータエンコード方法。
【請求項4】 前記のエンコード方法と、従来のエンコード方法とのエンコード結果等に比較が容易に判定することが可能な構成を有する請求項1及び請求項2及び請求項3に記載されたデータエンコード方法。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、ホストコンピュータ等の上位装置より作成した、文字、イメージ等の文章情報を印刷する出力装置であり、特に前記文章情報を印刷装置内部で展開されビットマップデータをライン単位でエンコード行う方法として、FBEエンコード等を有する印刷装置に関する。
【0002】
【従来の技術】従来、ホストコンピュータ等の上位装置より送られる、文字、イメージ等の文書情報を印刷情報に展開し印刷する過程において、前記過程において展開されたビットマップデータをライン単位でエッジの変化を見て圧縮コードにコーディングする方法として、FBEエンコードがあり、以下の方法で行われていた。
【0003】図1において、エンコード行う対象のビットマップデータのサイズ等の情報を得たのち、該ビットマップデータをライン毎に取り込み、エッジ部分の情報を取り出しライン毎に比較した後、ラインコード:LineEQ,LineDIF+<num>(ライン中に存在するエッジ数の前ラインに対する変化状態をコード化したもの、なおコード中の<num>はハフマンコードで表される数である)とエッジコード:Adv0,Adv1,Adv2,Adv+<num>,Sw0,Sw1,Sw+<num>(ライン中に存在するエッジの位置の前ラインに対する変化状態をコード化したもの)また、ラインコードがLineDIFの時エッジの出現、消滅した際のエッジコードとして、OPEN+<num>,CLOSEとで構成された可変長データをエンコードデータとしてコーディングして出力する方法であった。
【0004】
【発明が解決しようとする課題】ところが、従来の方法では各ラインにおけるエッジの数及び位置の変化が全く無い場合においても、コードの形式として前ラインに対するエッジの変化状態を各エッジに対してエンコードしているため、ライン単位でコーディングを行う場合エンコードデータが無駄に増えてしまう可能性が生じてしまう問題があった。
【0005】
【課題を解決するための手段】本発明は、上記の問題点を解決する為になされたもので、ホストコンピュータ等の外部機器から印字情報を入力するための入力手段と前記入力した印字情報に基づいて画像データを生成する画像データ生成手段と前記生成した画像データ(ビットマップ)のデータについてコード化するサイズを指定する手段と、前記の情報等をもとにデータを1ライン毎に取り込み、ライン毎にエッジ情報を解析する手段と、前記の解析した情報をもとに前ラインの情報と現ラインの情報の変化情報を解析する手段と、前記の変化情報解析結果をもとに可変長に符号化する手段と、また別手段として前記の符号化したデータのうち本発明を用いて得たデータと従来の方法で得たデータを比較しデータサイズが小さい方を選択する手段と、またもう一つの手段として前記の符号化を行うビットマップデータのサイズ情報より本発明の方法と従来の方法とエンコード結果サイズが小さくなる方を選択し符号化を行う手段を備えたことを特徴とする。
【0006】
【発明の実施の形態】実施例の構成を説明する前に、本実施例を適用するのに好適なレーザービームプリンタ(LBP)の構成について図2を参照しながら説明する。尚、本実施例を適用するプリンタはLBPに限られるものではなく、本発明に関係するデータエンコードを行っているものに関して適用されることは言うまでもない。
【0007】図2において、1500はLBP本体であり、外部接続されているホストコンピュータからの供給される印刷情報(文字コード等)やフォーム情報あるいはマクロ命令等を入力して記憶すると共に、それらの情報に従って対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。104は操作の為のスイッチ及びLED表示器等が配置されている操作パネル、100はLBP本体1500全体の制御及びホストコンピュータから供給される文字情報等を解析するプリンタ制御ユニットである。このプリンタ制御ユニット100は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザードライバ1502に出力する。レーザードライバ1502は半導体レーザー1503を駆動する為の回路であり、入力されたビデオ信号に応じて半導体レーザー1503から発射されるレーザー光1504をオン・オフ切り換えする。レーザー光1504は回転多面鏡1505で左右方向に振らされて静電ドラム1506上を走査露光する。これにより、静電ドラム1506上には文字パターンの静電潜像が形成されることになる。この潜像は、静電ドラム1506周囲に配設された現像ユニット(カートリッジユニット)1507により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はLBP1500に装着した用紙カセット1508に収納され、給紙ローラ1509及び搬送ローラ1510と搬送ローラ1511とにより、装置内に取り込まれて、静電ドラム1506に供給される。また、LBP本体1500には、図示しないカードスロットを少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なる制御カード(エミュレーションカード)を接続出来るように構成されている。
【0008】図3は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。ここでは、レーザビームプリンタ(図2)を例にして説明する。なお、本発明の機能が実行されるものであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN等のネットワークを介して処理が行われるシステムであっても本発明を適用出来ることは言うまでもない。プリンタ100において、12はプリンタCPUで、ROM13のプログラム用ROMに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インターフェース16を介して接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13のプログラムROMにはCPU12の制御プログラムを記憶する。ROM13のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ROM13のデータ用ROMにはハードディスク等の外部メモリ14が無い場合には、ホストコンピュータ上で利用される情報等を記憶している。入力部18でホストコンピュータ3000との通信を行い、プリンタ固有の言語で記述されたコードデータやイメージデータを受ける。CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ等に通信可能に構成されている。19はCPU12に主メモリ、ワークエリア等として機能するRAMで図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することが出来るように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いれる。ASIC22はROM13やRAM19等のメモリコントローラやDMAコントローラ、I/Fコントローラ等の制御回路やRAM19に格納されたホストコンピュータからの文章情報等を順次解析し文字コードはフォント用ROMに変換されドットデータに変換され、RAM(ビットマップメモリ)に展開する。前述したハードディスク(HD)、ICカード等の外部メモリ14は、ASIC22によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、104は前述した操作パネルで操作のためのスイッチ及びLED表示器等が配置されている。
【0009】また、前述した外部メモリは一個に限らず、少なくとも一個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続出来るように構成されていてもよい。さらに図示しないNVRAMを有し、操作パネル104からのプリンタモード設定情報を記憶するようにしても良い。なお、本発明に関するエンコーダについては、ハード的にはASIC22内部に含まれる構成であることは言うまでもない。
【0010】このように構成されたプリンタ制御システムにおいて、本発明はビットマップに展開されたデータを、指定したデータサイズにおいてメモリよりライン単位毎に取り込み、そのライン中におけるエッジ部の解析を行い、その解析結果をもとに前のラインと現在のラインの情報を比較し、そのエッジの増減、変化量にもとづきラインコード+エッジコードという構成の可変長の符号に変換し、ビットマップデータを圧縮する方法である。
【0011】(第1実施例)本発明は、上記のエンコードのアルゴリズムにもとづき行われるもので、図4に示す様に図1で示した従来のコードについて、ラインコードを1ビット増やしビットマップデータのエンコードにおいてライン単位で比較を行う際、エッジ数及びエッジ位置に変化が生じた場合はエンコードのバイナリコードとして“11+<num>”、エッジ数は変化せずエッジに位置が変化した場合は“01”、またはエッジ数及びエッジ位置ともに変化が無い場合は“00”として、ライン中にエッジが存在しても変化が無い場合、該ラインコードで示すエッジコードを省略させることで従来で行っていたエンコード方法よりエンコードデータサイズを小さくすることが可能となり、これらにより圧縮率の増加が可能となる。
【0012】(第2実施例)第1実施例に示したエンコード方法は、エッジの位置に変化が発生しないときに有効であり、エッジ位置に変化が頻繁に発生した場合は従来の方法がエンコードデータサイズが小さいて済む場合が生ずる可能性がある。
【0013】このことより、図5のフローチャートに示すように、エンコードを行う場合ビットマップデータのサイズを設定して処理を行い、その際本発明の方法と従来の方法との2通りのエンコード方法を同時に行い、その結果得られたエンコードデータサイズを比較し、より小さい方をエンコードデータとして採用する。その際どちらのエンコード方法で行われた容易に分かるよう別途専用のフラグを設けておき、エンコードが終了するとそのフラグにどちらの方法で行われたかを示すと同時にエンコードされたデータをメモリにライトすることで、どちらの方法で行われたかを確認が容易となり、より有効的に圧縮率の向上を図ることが可能となる。
【0014】(第3実施例)また別の場合として、エンコードを行う場合エンコード対象であるビットマップデータのサイズによっては第1実施例のようなラインコードにビットを追加した方法がより有効的な場合もあるが、そうでない場合も時として生ずる可能性がある。これより、図5及び図6のフローチャートで示すようにビットマップデータのサイズを設定後、Aのパスを通りどちらかより圧縮率の良い方のエンコード方法を選択し、選択された方法にエンコードされた後、A′のパスで戻り各エンコード方法を示すフラグを立てると同時にエンコードデータをメモリに出力し、より有効的に圧縮率の向上を図ることが可能となる。
【0015】
【発明の効果】以上の説明から明らかなように本発明によれば、FBEエンコードを行う場合エンコードデータサイズが減少しよりデータ圧縮性の高い方法が確立出来るという方法がある。
【出願人】 【識別番号】000001007
【氏名又は名称】キヤノン株式会社
【住所又は居所】東京都大田区下丸子3丁目30番2号
【出願日】 平成14年5月13日(2002.5.13)
【代理人】 【識別番号】100090538
【弁理士】
【氏名又は名称】西山 恵三 (外1名)
【公開番号】 特開2003−326771(P2003−326771A)
【公開日】 平成15年11月19日(2003.11.19)
【出願番号】 特願2002−136389(P2002−136389)