JP2005039491A - Image display system for displaying image based on information of the number of dots to be formed in prescribed area - Google Patents

Image display system for displaying image based on information of the number of dots to be formed in prescribed area Download PDF

Info

Publication number
JP2005039491A
JP2005039491A JP2003199459A JP2003199459A JP2005039491A JP 2005039491 A JP2005039491 A JP 2005039491A JP 2003199459 A JP2003199459 A JP 2003199459A JP 2003199459 A JP2003199459 A JP 2003199459A JP 2005039491 A JP2005039491 A JP 2005039491A
Authority
JP
Japan
Prior art keywords
data
dots
pixel group
image
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2003199459A
Other languages
Japanese (ja)
Inventor
Shigeaki Sumiya
繁明 角谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003199459A priority Critical patent/JP2005039491A/en
Publication of JP2005039491A publication Critical patent/JP2005039491A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a system capable of efficiently outputting number-of-dots data in the case of outputting the number-of-dots data to an image display device and displaying an image. <P>SOLUTION: After collecting the prescribed number of pixels as a pixel group and determining the number of dots to be formed in a pixel group, the number of dots is converted into number-of-dots data. The number-of-dots data are expressed by a data format in which the number of states allowed to be displayed by single data is smaller than the sorts of the numbers of dots to be formed in the pixel group. Thereby the size of the number-of-dots data can be reduced. Then the number-of-dots data are interpreted as necessary and restored to the data of the number of dots, pixel positions forming respective dots in the pixel group are determined and an image is displayed by forming dots on the determined pixel positions. Even in an image having many pixels, data for the number of dots to be formed in the pixel group can be quickly processed and the image can be quickly displayed. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、画像データに所定の画像処理を施して画像を表示する技術に関し、詳しくは、画像処理が施された画像データを画像表示装置に迅速に転送することによって、画像の表示を迅速化する技術に関する。
【0002】
【従来の技術】
印刷媒体や液晶画面といった各種の表示媒体上にドットを形成することで画像を表現する画像表示装置は、各種画像機器の出力装置として広く使用されている。これら画像表示装置では、画像は画素と呼ばれる小さな領域に細分された状態で扱われており、ドットはこれら画素に形成される。個々の画素については、ドットを形成するか否かのいずれかの状態しか表現し得ないが、画像全体としてみれば、ドットが密に形成されている領域や、まばらに形成されている領域を生じさせることが可能であり、表現しようとする画像の階調値に合わせてドットの形成密度を適切に制御することで、多階調の画像を表示することが可能となる。例えば、印刷用紙上に黒いインクのドットを形成する場合、ドットが密に形成されている領域は暗く見えるし、逆にドットがまばらに形成されている領域は明るく見える。また、液晶画面に輝点のドットを形成する場合、ドットが密に形成された領域は明るく見えるし、まばらに形成された領域は暗く見えることになる。従って、ドットの形成密度を適切に制御してやれば、多階調の画像を表示させることが可能である。
【0003】
こうした画像表示装置では、画像の階調値に応じて適切な密度でドットを形成するために、通常、次のような方法が用いられている。先ず、表示しようとする画像に所定の画像処理を施して、画像データを画素毎にドット形成の有無を示したデータに変換する。次いで、得られたドット形成の有無を示すデータを画像処理装置から画像表示装置に向かって出力する。画像表示装置では、こうして送られてきたデータに従って、それぞれの画素にドットを形成することにより画像を表示している。
【0004】
近年では、こうした画像表示装置には、表示画像の高画質化や大画像化が要請されるようになってきた。高画質化の要請に対しては、画像をより細かな画素で構成することが効果的である。画像を構成している画素が細かくなれば、画素に形成されるドットが目立たなくなるので、表示画質を向上させることができる(例えば、特許文献1)。また、大画像化の要請に対しては、画像を構成する画素数を増やすことによって対応することが可能である。もちろん、画素数を増やすのではなく、個々の画素の大きさを大きくすることによっても表示画像を大きくすることはできるが、これでは画質の悪化を招いてしまうおそれがあるので、大画像化の要請に対しては画素数を増加させることが効果的なのである。
【0005】
とは言え、前述したように画像表示装置では、画素毎にドット形成の有無を表すデータを画像処理装置から受け取って画像を表示しているので、画像を構成する画素数があまりに多くなると、データを受け取るために時間がかかってしまい、画像を迅速に表示することが困難となる。こうした問題を解決するために、本願の発明者は、複数個の画素を画素群にまとめて、画素群内に形成するドット個数を求め、画素毎にドット形成の有無を表すデータの代わりにドット個数のデータ(以下では、個数データと呼ぶことがあるものとする)を画像表示装置に出力する技術を開発して、既に出願済みである(特願2003−87176号)。かかる出願済みの技術では、画像表示装置は画素群毎にドット個数のデータを受け取ると、画素群内でドットを形成する画素位置を決定した後、これらの画素にドットを形成して画像を表示する。画素毎のドット形成の有無を表すデータの代わりに、ドット個数のデータを画像処理装置から画像表示装置に出力することとすれば、画素数が多くなっても迅速にデータを出力することができるので、画像を迅速に表示させることが可能となる。
【0006】
【特許文献1】
特開2000−115716号公報
【0007】
【発明が解決しようとする課題】
こうした出願済みの技術において画像を迅速に表示するためには、画素群内に形成されるドット個数のデータを、画像表示装置にできるだけ効率よく出力することが望ましい。しかし実際には、ドット個数のデータを常に効率よく出力できるわけではなく、出力効率が低下して個数データの出力に時間がかかってしまい、画像を迅速に表示するという効果が減殺されてしまう場合がある。
【0008】
ここでは画素群が8個の画素から構成されている場合を例にとって、こうした課題について説明する。この場合は、画素群内に形成されるドット個数は0個〜8個の9通りの値を取り得る。個数データを3ビットのデータとしたのでは8通りのドット個数しか表現できないから、1ビット増やして4ビットのデータとする必要がある。すなわち、取り得るドット個数が1通り少なければ、個数データを3ビットで出力すればよいところを、3ビットでは1通りだけ不足するために、全ての画素群について4ビットのデータを出力する必要が生じる。画素群あたり3ビットのデータを4ビットのデータに変更すると、データ量にして約30%以上も増加する。同じ内容を出力するのに、データ量が増加すると言うことは、データの出力効率が低下していることになる。従って、このような場合にも画像を迅速に表示するためには、個数データを効率よく出力することが可能な技術の開発が必要とされている。
【0009】
この発明は上述した課題を解決するためになされたものであり、画像表示装置に個数データを出力して画像を表示させる場合に、個数データを効率よく出力可能な技術の提供を目的とする。
【0010】
【課題を解決するための手段およびその作用・効果】
上述した課題の少なくとも一部を解決するために、本発明の画像表示システムは、次の構成を採用した。すなわち、
画像データに所定の画像処理を施す画像処理装置と、該画像処理の結果に基づいてドットを形成することにより表示媒体上に画像を表示する画像表示装置と、を備える画像表示システムであって、
前記画像処理装置は、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定するドット個数決定手段と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換して、前記画像表示装置に出力する個数データ出力手段と
を備え、
前記画像表示装置は、
前記出力された個数データを受け取って解釈することにより、前記画素群毎に決定されたドットの個数を取得する個数データ取得手段と、
前記取得したドット個数に基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する画素位置決定手段と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成するドット形成手段と
を備えており、
前記個数データ出力手段は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を記憶している対応表記憶手段を備えるとともに、
前記画素群毎に決定された前記ドット個数を、前記対応表に基づいて前記個数データに変換した後、前記画像表示装置に出力する手段であり、
前記個数データ受取手段は、前記対応表に従って前記個数データを解釈することにより、前記画素群毎に決定されたドット個数を取得する手段であることを要旨とする。
【0011】
また、上記の画像表示システムに対応する本発明の画像表示方法は、
画像データに所定の画像処理を施して、得られた結果に基づき表示媒体上にドットを形成することによって、画像を表示する画像表示方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定する第1の工程と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換する第2の工程と、
前記変換された個数データを受け取って解釈することにより、前記画素群毎に決定されたドットの個数を取得する第3の工程と、
前記取得したドット個数に基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する第4の工程と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成する第5の工程と
を備えており、
前記第2の工程は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記画素群毎に決定された前記ドット個数を、前記対応表に基づいて前記個数データに変換する工程であり、
前記第3の工程は、前記対応表に従って前記個数データを解釈することにより、前記画素群毎に決定されたドット個数を取得する工程であることを要旨とする。
【0012】
かかる本発明の画像表示システムおよび画像表示方法においては、画素を所定の複数個ずつ画素群としてまとめ、該画素群内に形成するドットの個数を決定する。次いで、ドットの個数のデータを個数データに変換する。ここで、個数データは、画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ないデータ形式を用いて表現されている。こうして個数データを、表示可能な状態数が少ないデータ形式で表現してやれば、データ量を小さくすることができるので、データを効率よく取り扱うことができる。そして、必要に応じて個数データを解釈し、画素群内に形成するドットの個数のデータを取得して、得られたドット個数に基づいて画素群内でドットを形成する画素位置を決定する。こうして決定した画素位置にドットを形成することによって画像を表示する。
【0013】
このような方法によって画像を表示すれば、たとえ画素数の多い画像であっても、画素群内に形成するドットの個数についてのデータを効率よく取り扱うことができるので、その分だけ、画像を迅速に表示させることが可能となる。
【0014】
こうした画像表示システムにおいては、個数データのデータ形式を、2のn乗個の状態を表示可能なデータ形式とすることができる。
【0015】
データは一般的に、2進数表示されることが多い。従って、個数データのデータ形式を、2のn乗個の状態を表示可能なデータ形式としておけば、個数データを2進数表示のデータでちょうど表現することができ、その分だけデータ量を少なくすることができるので好適である。
【0016】
あるいは、こうした画像表示システムは、表現する階調値の異なる複数種類のドットを形成して画像を表示する表示システムにも好適に適用することができる。すなわち、所定の複数の画素を画素群としてまとめ、画素群内に形成される各種ドットの個数を決定し、決定した各種ドットの個数のデータを、所定のデータ形式で表現された個数データに変換する。ここで、個数データのデータ形式は、画素群内に形成される各種ドットの個数の組合せの種類よりも、単一のデータでは表現可能な状態数が少ないデータ形式を採用する。次いで、必要に応じて、この個数データを解釈することにより、画素群内に形成される各種ドットの個数を取得して、各種ドット毎に画素群内でドットを形成する画素位置を決定する。こうして決定した画素位置に、各種ドットを形成することによって画像を表示することとしてもよい。
【0017】
こうすれば、各種のドットを形成して画像を表示する場合でも、画素群内に形成するドットの個数のデータを効率よく取り扱うことが可能となり、延いては画像を迅速に表示することが可能となるので好ましい。
【0018】
こうした画像表示システムにおいては、次のような前記対応表を記憶しておくこととしても良い。すなわち、前記除いた状態の個数データと前記残余の状態の個数データとの組合せには、前記画素群内に形成される頻度の低いドット個数が対応付けられている対応表を記憶しておくこととしても良い。
【0019】
ドット個数を、前記除いた状態の個数データと前記残余の状態の個数データとを組み合わせて表現した場合、そのドット個数についてはデータ量が増加してしまう。つまり、このように複数の個数データを組み合わせて表現するドット個数は、出現頻度が低いほどデータ量を小さくすることができる。このことから、前記除いた状態の個数データと前記残余の状態の個数データとの組合せには、前記画素群内に形成される頻度の低いドット個数が対応付けられている対応表を記憶しておけば、データ量が小さくなる分だけ効率よくデータを取り扱うことが可能となるので好ましい。
【0020】
こうした画像表示システムでは、前記画素群内に形成される頻度の低いドット個数として、該画素群を構成する画素数の半分より数値の大きな整数を選択することとしてもよい。
【0021】
表示媒体上にドットを形成して画像を表示する方式では、形成するドット数を増やすに従って、画像上での濃度も増加する。しかし、ドットの個数を同じように1つ増やした場合でも、多くのドットが形成されている場合と、ドットがあまり形成されていない場合とでは、画像に現れる濃度の変化度合いが異なっており、ドットがあまり形成されていない場合の方が濃度の変化度合いが大きくなる傾向にある。このことを逆から見れば、画素群の半分以上の画素にドットが形成されている状態が表現する濃度範囲は、半分以下の画素にしかドットが形成されていない状態が表現する濃度範囲よりも狭くなる傾向があると言うことができる。このことから、ドット個数として、画素群を構成する画素数の半分よりも大きな整数を選択しておけば、画素群内に形成される頻度の比較的低いドット個数を選択することができ、これによりドット個数のデータを効率よく取り扱うことが可能となるので好適である。
【0022】
更に、頻度の低いドット個数として複数の整数値を選択する場合は、画素群を構成する画素数の半分より数値の大きな整数の中から、少なくとも一部に連続しない部分を含むように複数の数値を選択することとしても良い。
【0023】
使用される頻度が低いものとして選択されると、そのドット個数のデータは、前述したように、複数の個数データを組み合わせて表現されることになる。入力される画像データが、画素群にこのような個数のドットを形成するようなデータであった場合、連続した値のドット個数を選択していると、複数の個数データを組み合わせてドット個数を表現する画素群が、画像の広い範囲にわたって連続して発生することが起こり得る。このようなことが生じた場合は、ドット個数のデータを取り扱う効率が低下してしまうことは避け難い。しかし、少なくとも一部に連続しない部分を含むように、換言すれば、選択した複数個の整数の間に少なくとも1つは選択しない整数が含まれるような状態で選択しておけば、複数の個数データを組み合わせて表現される画素群の間に、単独の個数データで表現される画素群が混ざることになるので、効率の低下を抑制することが可能となる。
【0024】
また、従来技術の有する前述した課題の少なくとも一部を解決するために、本発明の画像表示装置は次の構成を採用した。すなわち、
所定の画像処理が施された画像データを受け取って、該画像データに基づいてドットを形成することにより、表示媒体上に画像を表示する画像表示装置であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群毎に、該画素群内に形成すべきドットの個数を表す個数データを前記画像データとして受け取る個数データ受取手段と、
前記画素群内でドットが形成される画素位置を、前記ドットの個数に基づいて該画素群毎に決定する画素位置決定手段と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成するドット形成手段と
を備え、
前記個数データは、前記画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現されたデータであり、
前記個数データ受取手段は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を記憶している対応表記憶手段と、
前記受け取った個数データを前記対応表に基づいて解釈することにより、前記画素群内に形成すべきドットの個数を取得するドット個数取得手段と
を備えることを要旨とする。
【0025】
更に、上記の画像表示装置に対応する本発明の画像表示方法は、
所定の画像処理が施された画像データを受け取って、該画像データに基づいてドットを形成することにより、表示媒体上に画像を表示する画像表示方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群毎に、該画素群内に形成すべきドットの個数を表す個数データを前記画像データとして受け取る工程(A)と、
前記画素群内でドットが形成される画素位置を、前記ドットの個数に基づいて該画素群毎に決定する工程(B)と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成する工程(C)と
を備え、
前記工程(A)は、
前記個数データとして、前記画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現されたデータを受け取るとともに、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記受け取った個数データを前記対応表に基づいて解釈することにより、前記画素群内に形成すべきドットの個数を取得する工程であることを要旨とする。
【0026】
こうした画像表示装置および画像表示方法においては、画素群内に形成するドットの個数を表す個数データを受け取り、個数データに示されたドットの個数に基づいて画素群内でドットを形成する画素位置を決定した後、かかる画素位置にドットを形成することによって画像を表示する。ここで個数データは、画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ないデータ形式で表現されている。
【0027】
このように個数データを、表現可能な状態数の少ないデータ形式で表現することとすれば、データ量を少なくすることができるので、個数データを効率よくに受け取ることができ、その分だけ画像を迅速に表示することが可能となる。
【0028】
こうした画像表示装置においては、2のn乗個の状態を表示可能なデータ形式で表現された個数データを受け取ることとしてもよい。
【0029】
データは一般に2進数表示されることが多い。従って、個数データが2のn乗個の状態を表示可能なデータ形式で表示されていれば、受け取った個数データを2進数表示でちょうど表示することができ、その分だけデータ量をすることが可能となるので好適である。
【0030】
こうした画像表示装置では、前記除いた状態の個数データと前記残余の状態の個数データとの組合せには、前記画素群内に形成される頻度の低いドット個数が対応付けられているような対応表を記憶しておくこととしても良い。
【0031】
このように複数の個数データを組み合わせて表現するドット個数を、出現頻度が低いドット個数としておけば、全体としてのデータ量を小さくすることができるので、効率よくデータを取り扱うことが可能となって好ましい。
【0032】
更に、従来技術が有する前述した課題の少なくとも一部を解決するために、本発明の画像処理装置は、次の構成を採用した。すなわち、
ドットを形成して画像を表示する画像表示装置において該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する画像処理装置であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定するドット個数決定手段と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換し、前記制御データとして出力する個数データ出力手段と
を備え、
前記個数データ出力手段は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態を示す個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を記憶している対応表記憶手段を備えるとともに、
前記画素群毎に決定されたドット個数を前記対応表に基づいて前記個数データに変換した後、前記制御データとして出力する手段であることを要旨とする。
【0033】
また、上述した画像処理装置に対応する本発明の画像処理方法は、
ドットを形成して画像を表示する画像表示装置が該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する画像処理方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定する工程(イ)と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換し、前記制御データとして出力する工程(ロ)と
を備え、
前記工程(ロ)は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態を示す個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記画素群毎に決定されたドット個数を前記対応表に基づいて前記個数データに変換した後、前記制御データとして出力する工程であることを要旨とする。
【0034】
かかる本発明の画像処理装置および画像処理方法においては、所定の複数個ずつの画素を画素群としてまとめ、画素群内に形成するドットの個数を決定した後、所定のデータ形式に変換して個数データとして出力する。ここで、個数データは、画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数の少ないデータ形式で表現されている。
【0035】
単一のデータでは表現可能な状態数が少なくなるほど、データ量は少なくなる傾向がある。従って、画素群に形成するドット個数のデータを、表現可能な状態数の少ないデータ形式に変換してやれば、個数データのデータ量を少なくすることができるので、データを効率よく出力することができ、延いては、画像を迅速に表示させることが可能となるので好ましい。
【0036】
こうした画像処理装置においては、画素群に形成するドット個数を、2のn乗個の状態を表示可能なデータ形式の個数データに変換して出力することとしてもよい。
【0037】
データは一般に2進数表示されることが多いので、個数データのデータ形式を2のn乗個の状態を表示可能な形式としておけば、個数データを2進数表示でちょうど表示することが可能となる。このように、ちょうど2進数表示で表すことができれば、個数データのデータ量を小さくすることが可能となるので好適である。
【0038】
また、こうした画像処理装置では、前記除いた状態の個数データと前記残余の状態の個数データとの組合せには、前記画素群内に形成される頻度の低いドット個数が対応付けられているような対応表を記憶しておくこととしても良い。
【0039】
こうすれば、出願頻度の低いドット個数を、複数の個数データを組み合わせて表現することになり、効率よくデータを取り扱うことが可能となる。
【0040】
更に本発明は、上述した画像表示方法あるいは画像処理方法を実現するためのプログラムをコンピュータに読み込ませ、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、上述した画像表示方法に対応する本発明のプログラムは、
画像データに所定の画像処理を施して、得られた結果に基づき表示媒体上にドットを形成することによって、画像を表示する方法をコンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定する第1の機能と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換する第2の機能と、
前記変換された個数データを受け取って解釈することにより、前記画素群毎に決定されたドットの個数を取得する第3の機能と、
前記取得したドット個数に基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する第4の機能と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成する第5の機能と
をコンピュータを用いて実現するとともに、
前記第2の機能は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記画素群毎に決定された前記ドット個数を、前記対応表に基づいて前記個数データに変換する機能であり、
前記第3の機能は、前記対応表に従って前記個数データを解釈することにより、前記画素群毎に決定されたドット個数を取得する機能であることを要旨とする。
【0041】
また、上述した画像表示方法に対応する本発明のプログラムは、
所定の画像処理が施された画像データを受け取って、該画像データに基づいてドットを形成することにより、表示媒体上に画像を表示する方法をコンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群毎に、該画素群内に形成すべきドットの個数を表す個数データを前記画像データとして受け取る機能(A)と、
前記画素群内でドットが形成される画素位置を、前記ドットの個数に基づいて該画素群毎に決定する機能(B)と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成する機能(C)と
をコンピュータを用いて実現するとともに、
前記機能(A)は、
前記個数データとして、前記画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現されたデータを受け取るとともに、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記受け取った個数データを前記対応表に基づいて解釈することにより、前記画素群内に形成すべきドットの個数を取得する機能であることを要旨とする。
【0042】
更に、上述した画像処理方法に対応する本発明のプログラムは、
ドットを形成して画像を表示する画像表示装置が該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する方法をコンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定する機能(イ)と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換し、前記制御データとして出力する機能(ロ)と
をコンピュータを用いて実現するとともに、
前記機能(ロ)は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態を示す個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記画素群毎に決定されたドット個数を前記対応表に基づいて前記個数データに変換した後、前記制御データとして出力する機能であることを要旨とする。
【0043】
加えて、本発明は、こうした各種のプログラムがコンピュータに読み取り可能に記録された記録媒体として把握することも可能である。
【0044】
こうしたプログラム、あるいは記録媒体に記録されているプログラムをコンピュータに読み込ませ、該コンピュータを用いて上述の各種機能を実現すれば、例え画素数の多い画像であっても、迅速に画像を表示させることが可能となる。
【0045】
【発明の実施の形態】
本発明の作用・効果をより明確に説明するために、本発明の実施の形態を、次のような順序に従って以下に説明する。
A.発明の概要:
B.第1実施例:
B−1.装置構成:
B−2.画像印刷処理の概要:
B−3.第1実施例の個数データ生成処理:
B−4.第1実施例の個数データデコード処理:
B−5.第1実施例の画素位置決定処理:
C.第2実施例:
C−1.第2実施例の画像印刷処理の概要:
C−2.第2実施例の個数データ生成処理:
C−3.第2実施例の個数データデコード処理:
C−4.第2実施例の画素位置決定処理:
【0046】
A.発明の概要:
実施例についての詳細な説明に入る前に、図1を参照しながら、本発明の概要について説明しておく。図1は、印刷システムを例にとって、本発明の概要を説明するための説明図である。本印刷システムは、画像処理装置としてのコンピュータ10と、画像表示装置としてのプリンタ20等から構成されており、コンピュータ10に所定のプログラムがロードされて実行されると、コンピュータ10およびプリンタ20などが全体として一体の印刷システムとして機能する。プリンタ20は、印刷媒体上にドットを形成することによって画像を印刷する。コンピュータ10は、印刷しようとする画像の画像データに所定の画像処理を施すことによって、プリンタ20が画素毎にドットの形成を制御するためのデータを生成して、該プリンタ20に供給する。
【0047】
ここで、通常の印刷システムでは、コンピュータは画像データを、画像を構成する画素毎にドットの形成有無を表したデータに変換してプリンタに供給し、このデータに基づいてドットを形成することにより、画像を印刷している。ここで、印刷しようとする画像の画素数が多くなると、それに伴って、画素毎にドットの形成有無を表したデータのデータ量も増加するので、コンピュータからプリンタにデータを出力するために長い時間が必要となり、延いては印刷に要する時間も増加してしまう。こうした点を考慮して、図1に示したコンピュータ10には、ドット個数決定モジュールと個数データ出力モジュールとが設けられており、次のような処理を行う。
【0048】
ドット個数決定モジュールは、画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を、画像データに基づいて決定する。ここで画素群毎の個数データは、画像データを画素群にまとめた後、画素群毎にドット形成の有無を判断することによって生成することができる。あるいは、初めに画像をドット形成の有無による表現形式に変換した後、画素を所定の複数個ずつまとめて画素群を生成して、各画素群内に形成されるドットの個数を決定しても良い。図1に破線で示した部分には、互いに隣接する画素を4つずつ画素群としてまとめた場合を示している。図中に示した小さな正方形は画素を示しており、画素中に表された黒丸は、その画素にはドットを形成すると判断されたことを示している。尚、画素群としてまとめる画素の数は必ずしも4つである必要はなく、更には、画素群としてまとめられる画素は、必ずしも互いに隣接した画素でなくても構わない。
【0049】
個数データ出力モジュールは、画素群内に形成されるドットの個数を表すデータをプリンタ20に向かって出力する。このとき、ドットの個数を表すデータは、所定のデータ形式で表現された個数データに変換されて出力される。ここで、個数データのデータ形式は、画素群内に形成され得るドットの個数の種類よりも、1つのデータで表示可能な状態数の少ないデータ形式となっている。図1の例示に即して説明すると、画素群は4つの画素から構成されているものとしているから、画素群内に形成されるドットの個数は、0個から4個までの5つの状態を取ることができる。これに対して個数データは、1つのデータでは4つの状態しか表示できないデータ形式が使用されている。今、1つの個数データが採り得る4つの状態を、それぞれ「状態1」、「状態2」、「状態3」、「状態4」とする。そして例えば、個数データの「状態1」はドット個数0個を表し、個数データの「状態2」はドット個数1個を表し、「状態3」はドット個数2個を表すものとする。個数データが「状態4」の場合は、その個数データと次の個数データとでドットの個数を表すものとして、「状態4」と「状態1」とでドット個数3個を表し、「状態4」と「状態2」とでドット個数4個を表すものとする。こうしたドット個数と個数データとの対応関係は、対応表として予め記憶されており、個数データ出力モジュールは、かかる対応表を参照することにより、ドットの個数を個数データに変換してプリンタ20に出力する。
【0050】
プリンタ20には、画素位置決定モジュールとドット形成モジュールなどが設けられている。画素位置決定モジュールは、コンピュータ10から供給された個数データを解釈して画素群毎のドットの個数を取得した後、取得したドットの個数に基づいて画素群内でドットが形成される画素位置を決定する。個数データの解釈は、ドット個数と個数データとの対応関係を記述した対応表を参照することによって実行される。かかる対応表は、プリンタ20内に予め記憶しておくこともできるし、コンピュータ10内に記憶されている対応表を参照することとしてもよい。次いで、画素群内でドットを形成する画素位置を、ドット個数に基づいて決定する。画素位置はドット個数に応じて予め定めておくこともできるし、あるいは、ドット個数に相当する数の画素位置を画素群毎にランダムに選択するなど、種々の方法を適用することができる。
【0051】
ドット形成モジュールでは、こうした決定した画素位置に基づいて、印刷媒体上にドットを形成する。その結果、印刷しようとする画像データに応じた画像が印刷媒体上に印刷されることになる。
【0052】
このように、図1に示した印刷システムでは、コンピュータ10からプリンタ20に向かって、画素群内に形成されるドットの個数を表す個数データを出力しており、しかも、個数データのデータ形式としては、画素群内に形成されるドット個数の種類よりも、1つの個数データで表現可能な状態数の少ないデータ形式が採用されている。
【0053】
一般にデータの大きさは、表現可能な状態数が多くなるほど大きくなる傾向にある。従って、個数データのデータ形式として、画素群内に形成するドットの個数を全て表現可能なデータ形式を採用したのでは、画素群1つあたりのデータが大きくなって、全体としての個数データのデータ量が増加してしまうことが生じ得る。これに対して、画素群内に形成するドット個数の種類よりも表現可能な状態数の少ないデータ形式を採用してやれば、画素群1つあたりのデータを小さなものとすることができるので、全体としての個数データのデータ量を抑制することが可能となる。
【0054】
もちろん、このように、必要な状態数よりも表現可能な状態数が少ないデータ形式を採用した場合、画素群内に形成するドット個数を1つの個数データでは表現できず、複数の個数データを組合せて表さなければならない場合も生じ、特定のドット個数については逆にデータが大きくなってしまうことも生じ得る。しかし、こうした特定のドット個数を除いて他のドット個数については、画素群1つあたりのデータが小さくなるので、個数データ全体としてのデータ量を減少させることができ、従って、コンピュータ10からプリンタ20に向かって個数データを効率よく出力して、画像を迅速に表示することが可能となる。以下では、こうした印刷システムを例にとって、本発明の各種実施例について詳細に説明する。
【0055】
B.第1実施例:
B−1.装置構成:
図2は、本実施例の画像処理装置としてのコンピュータ100の構成を示す説明図である。コンピュータ100は、CPU102を中心に、ROM104やRAM106などを、バス116で互いに接続して構成された周知のコンピュータである。
【0056】
コンピュータ100には、フレキシブルディスク124やコンパクトディスク126等のデータを読み込むためのディスクコントローラDDC109や、周辺機器とデータの授受を行うための周辺機器インターフェースPIF108、CRT114を駆動するためのビデオインターフェースVIF112等が接続されている。PIF108には、後述するカラープリンタ200や、ハードディスク118等が接続されている。また、デジタルカメラ120や、カラースキャナ122等をPIF108に接続すれば、デジタルカメラ120やカラースキャナ122で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードNIC110を装着すれば、コンピュータ100を通信回線300に接続して、通信回線に接続された記憶装置310に記憶されているデータを取得することもできる。
【0057】
図3は、本実施例のカラープリンタ200の概略構成を示す説明図である。カラープリンタ200はシアン,マゼンタ,イエロ,ブラックの4色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら4色のインクに加えて、染料濃度の低いシアン(淡シアン)インクと染料濃度の低いマゼンタ(淡マゼンタ)インクとを含めた合計6色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では場合によって、シアンインク,マゼンタインク,イエロインク,ブラックインク,淡シアンインク,短マゼンタインクのそれぞれを、Cインク,Mインク,Yインク,Kインク,LCインク,LMインクと略称することがあるものとする。
【0058】
カラープリンタ200は、図示するように、キャリッジ240に搭載された印字ヘッド241を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ240をキャリッジモータ230によってプラテン236の軸方向に往復動させる機構と、紙送りモータ235によって印刷用紙Pを搬送する機構と、ドットの形成やキャリッジ240の移動および印刷用紙の搬送を制御する制御回路260とから構成されている。
【0059】
キャリッジ240には、Kインクを収納するインクカートリッジ242と、Cインク,Mインク,Yインクの各種インクを収納するインクカートリッジ243とが装着されている。キャリッジ240にインクカートリッジ242,243を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド241の下面に設けられた各色毎のインク吐出用ヘッド244ないし247に供給される。
【0060】
図4は、インク吐出用ヘッド244ないし247におけるインクジェットノズルNzの配列を示す説明図である。図示するように、インク吐出用ヘッドの底面には、C,M,Y,Kの各色のインクを吐出する4組のノズル列が形成されており、1組のノズル列あたり48個のノズルNzが、一定のノズルピッチkで配列されている。
【0061】
制御回路260は、CPUや、ROM、RAM等がバスで相互に接続された構成となっている。制御回路260は、キャリッジモータ230および紙送りモータ235の動作を制御することによってキャリッジ240の主走査動作および副走査動作を制御するとともに、コンピュータ100から供給されるデータに基づいて、各ノズルから適切なタイミングでインク滴を吐出する制御を行う。こうして、制御回路260の制御の下、印刷媒体上の適切な位置に各色のインクドットを形成することによって、カラープリンタ200はカラー画像を印刷することができる。
【0062】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡(バブル)を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【0063】
以上のようなハードウェア構成を有するカラープリンタ200は、キャリッジモータ230を駆動することによって、各色のインク吐出用ヘッド244ないし247を印刷用紙Pに対して主走査方向に移動させ、また紙送りモータ235を駆動することによって、印刷用紙Pを副走査方向に移動させる。制御回路260は、印刷データに従って、キャリッジ240の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出することによって、カラープリンタ200は印刷用紙上にカラー画像を印刷している。
【0064】
B−2.画像印刷処理の概要:
図5は、本実施例のコンピュータ100およびプリンタ200が、画像データに所定の画像処理を加えて、印刷媒体上に画像を印刷する処理の流れを示すフローチャートである。かかる画像印刷処理は、後述するように前半部分はコンピュータ100に内蔵されたCPUの機能を利用して、また、処理の後半部分はプリンタ200の制御回路260に内蔵されたCPUの機能を利用して実行される。以下、図5に従って、本実施例の画像印刷処理について説明する。
【0065】
コンピュータ100は、画像印刷処理を開始すると、先ず初めに、変換すべき画像データの読み込みを開始する(ステップS100)。ここでは画像データはRGBカラー画像データであるものとして説明するが、カラー画像データに限らず、モノクロ画像データについても同様に適用することができる。
【0066】
カラー画像データの読み込みに続いて、色変換処理を行う(ステップS102)。色変換処理とは、R,G,Bの階調値の組合せによって表現されているRGBカラー画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、プリンタ20はC,M,Y,Kの4色のインクを用いて画像を印刷している。そこで、本実施例の色変換処理ではRGB各色によって表現された画像データを、C,M,Y,Kの各色の階調値によって表現されたデータに変換する。色変換処理は、色変換テーブル(LUT)と呼ばれる3次元の数表を参照することで行う。LUTには、RGBカラー画像データに対して、色変換によって得られるC,M,Y,K各色の階調値が予め記憶されており、このLUTを参照しながら変換することで迅速に色変換することが可能となる。
【0067】
色変換処理を終了すると、解像度変換処理を開始する(ステップS104)。解像度変換処理とは、画像データの解像度を、プリンタ200が印刷を行う解像度(印刷解像度)に変換する処理である。前述したように、印刷画質を向上させるためには、画素の大きさを小さくして、より高い解像度で印刷することが効果的である。しかし、印刷解像度を高くすることに合わせて、必ずしも、元の画像データの解像度も高くする必要があるわけではない。何故なら、ドットを形成して画像を印刷する場合は、個々の画素ではドットを形成するか否かの2通りしか取り得ず、例えドットの大きさやインクの濃さを変えたとしても、画素あたりに表現可能な階調数は高々数階調に過ぎない。これに対して、読み込む画像データは、仮に1バイトのデータとしても、画素あたりに256階調を表現することができる。このように、画素あたりに表現可能な階調が大きく異なっているので、印刷解像度を、読み込む画像データの解像度よりも高解像度に設定することで、印刷画質を向上させることが可能である。このような理由から、図5のステップS104では、画像データの解像度を、より高解像度の印刷解像度に変換する処理を行うのである。
【0068】
尚、より大きな画像を印刷しようとする場合には、解像度を保ったまま画素数を増加させる処理が行われることがある。この様な処理も、1つの画素から同じ画像データを有する複数の画素を生成している点で、上述した解像度変換処理と全く同様である。以下の説明では、画像の解像度を高くする場合について説明するが、解像度を高くする処理を、画素数を増加させる処理と読み替えてやれば、大きな画像を印刷する場合にも以下の説明を同様に適用することが可能である。
【0069】
図6は、第1実施例において行われる解像度変換の様子を示す説明図である。尚、前述したようにRGB画像データを色変換することによってC,M,Y,Kの各色毎の画像データが得られるが、以降に説明する処理は、これら各色の画像データのいずれに対しても同様に行われる。そこで、説明の煩雑化を避けるために、以下では色を特定せずに説明する。
【0070】
図6(a)は、色変換後の画像データの一部を拡大して模式的に表したものである。図示するように、画像データは、格子状に配列された画素の各々に階調値が割り当てられたデータである。図6(a)中に示した複数の矩形は、それぞれが画素を模式的に表しており、矩形の中に表示された数値は、各画素に割り当てられた階調値を表している。こうした画像データの解像度をより高い解像度に変換するためには、画素間で補間演算を行うことによって新たな画素を生成しても良いが、本実施例では最も簡便な手法として、画素をより小さな画素に分割することで解像度変換を行う。
【0071】
図6(b)は、画素を分割することで解像度を変換している様子を示す説明図である。図示した例では、それぞれの画素を、主走査方向(図上で左右方向)に4分割し、副走査方向(図上で上下方向)に2分割することで、1つの画素を8つの画素に分割している。図6(b)中に示した破線は、画素が分割されていることを表したものである。こうして生成した小さな画素には、分割前の元の画素の階調値と同じ階調値が割り当てられている。以上のような処理を施すことにより、画像データの解像度は、主走査方向には4倍の解像度に、副走査方向には2倍の解像度に変換されることになる。もちろん、解像度の増加割合は必要に応じて種々の割合に設定することが可能である。
【0072】
以上のようにして解像度を印刷解像度に変換したら、コンピュータ100は、個数データ生成処理を開始する(ステップS106)。ここでは、次のような処理を行う。色変換後の画像データは、画素毎に階調値が割り当てられた階調データである。これに対して、プリンタ200は画素位置に適切な密度でドットを形成することによって画像を印刷する。従って、階調データを、画素毎のドット形成の有無によって表現されたデータに変換した後、プリンタ200に転送する必要がある。また、ドット形成の有無を示すデータを、プリンタ200に画素単位で転送したのでは、画素数が多くなるに従って転送に要する時間が増加してしまうので、画像を迅速に印刷することが困難となる。そこで、本実施例の画像印刷処理では、画素を所定の複数個ずつ画素群としてまとめ、画素群内に形成されるドット個数のデータをプリンタ200に転送している。
【0073】
加えて、詳細には後述するが、本実施例の画像印刷処理ではデータの転送効率をより一層向上させるために、ドット個数のデータをコード化した状態でプリンタ200に転送している。尚、画素群内に形成されるドット個数のデータは、予め画像データを、画素毎のドット形成の有無を示すデータに変換した後に、複数の画素を画素群としてまとめることによって取得することができる。あるいは、後述するように、初めに複数の画素を画素群にまとめた後、画素群内の各画素に形成されるドットの個数を決定することも可能である。ステップS106の個数データ生成処理では、こうして画素群内で形成されるドット個数のデータをコード化して個数データを生成し、プリンタ200に転送する処理を行う。個数データ生成処理の詳細については後述する。
【0074】
プリンタ200の制御回路260に内蔵されたCPUは、コンピュータ100から出力された個数データを受け取ると、個数データをデコードする処理を開始する(ステップS108)。すなわち、受け取った個数データはコード化されているので、このデータを解釈して、画素群内に形成されるドットの個数のデータを取得する処理を行う。かかる処理の詳細については後述する。
【0075】
次いで、取得したドット個数のデータに基づいて、画素群内でドットを形成する画素位置を画素群毎に決定する処理を行う(ステップS110)。画素位置決定処理の詳細についても後述する。
【0076】
以上のようにして、ドットを形成すべき画素位置を決定したら、決定した画素位置にドットを形成する処理を行う(ステップS112)。すなわち、図3を用いて説明したように、キャリッジ240の主走査および副走査を繰り返しながらインク吐出用ヘッドを駆動してインク滴を吐出することにより、印刷用紙上にインクのドットを形成する。こうしてドットを形成することにより、画像データに対応した画像が印刷されることになる。
【0077】
B−3.第1実施例の個数データ生成処理:
図7は、第1実施例の個数データ生成処理の流れを示すフローチャートである。以下では、フローチャートを参照しながら、個数データ生成処理の内容について詳細に説明する。
【0078】
個数データ生成処理を開始すると、先ず初めに所定の複数個の画素をまとめて画素群を生成する(ステップS200)。ここでは、解像度変換処理において1つの画素を8つの画素に分割していることから、同一の画素を分割して得られた8つの画素を画素群としてまとめることとする。例えば、図6(a)中で左上隅の画素は、図6(b)中では、左上方にある縦2列横4列の8つ画素に分割されているから、これらの画素をまとめて画素群を生成する。尚、画素群としてまとめる画素は、互いに隣接する画素である必要はなく、所定の位置関係にあればどのような画素でも画素群としてまとめることができる。
【0079】
また、このように同一の画素から分割された画素を画素群としてまとめる場合は、図5の解像度変換処理(図6参照)を省略することも可能である。この場合は、以下の説明中で、「画素群」とある部分を、「解像度変換を行う前の画素」と読み替えることにより、ほぼ同様な処理を行うことができる。
【0080】
次いで、画素群としてまとめた画素の中から、ドット形成の有無を判断するために着目する画素(着目画素)を1つ設定する(ステップS202)。そして、着目画素に割り当てられた階調値とディザマトリックスの閾値とを比較することにより、着目画素についてのドット形成の有無を判断する(ステップS204)。ここでディザマトリックスとは、複数の閾値が格子状に記憶された2次元の数表である。ディザマトリックスを用いてドット形成の有無を判断する処理について、図8および図9を参照しながら説明する。
【0081】
図8は、ディザマトリックスの一部を例示した説明図である。図示したマトリックスには、縦横それぞれ64画素、合計4096個の画素に、階調値0〜255の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が0〜255の範囲から選択されているのは、本実施例では画像データが1バイトデータであり、画素に割り当てられる階調値が0〜255の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図8に例示したように縦横64画素分に限られるものではなく、縦と横の画素数が異なるものも含めて種々の大きさとすることができる。
【0082】
図9は、ディザマトリックスを参照しながら、着目画素についてのドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成有無の判断に際しては、先ず、着目画素の階調値とディザマトリックス中の対応する位置に記憶されている閾値と比較する。図中に示した細い破線の矢印は、着目画素の階調値を、ディザマトリックス中の対応する位置に記憶されている閾値と比較していることを模式的に表したものである。そして、ディザマトリックスの閾値よりも着目画素の階調値の方が大きい場合には、その画素にはドットを形成するものと判断する。逆に、ディザマトリックスの閾値の方が大きい場合には、その画素にはドットを形成しないものと判断する。図9に示した例では、画像データの左上隅の画素の画像データは階調値97であり、ディザマトリックス上でこの画素に対応する位置に記憶されている閾値は1である。従って、左上隅の画素については、画像データの階調値97の方がディザマトリックスの閾値1よりも大きいから、この画素にはドットを形成すると判断する。図9中に実線で示した矢印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は97、ディザマトリックスの閾値は177であり、閾値の方が大きいので、この画素についてはドットを形成しないものと判断する。図7のステップS204では、こうしてディザマトリックスを参照しながら、着目画素にドットを形成するか否かを判断する処理を行う。
【0083】
次いで、画素群内の全ての画素について以上のような処理を行ったか否かを判断し(ステップS206)、画素群中に未処理の画素が残っている場合は(ステップS206:no)、ステップS202に戻って続く一連の処理を行う。こうして画素群内の全ての画素について、ドット形成有無の判断を終了したら(ステップS206:yes)、画素群内に形成するドットの個数を検出し、検出したドット個数をコード化してメモリに記憶する(ステップS208)。図9に示した例では、画像の左上隅の画素群については、3つの画素にドットを形成すると判断されているから、この画素群については、ドット個数は「3」である。そこで、この値をコード化してメモリに記憶するのである。ドット個数をコード化する処理については後述する。
【0084】
以上のようにして、1つの画素群についての処理を終了したら、全画素について処理を終了したか否かを判断し(ステップS210)、未処理の画素が残っていれば、ステップS200に戻って新たな画素群を生成した後、続く一連の処理を行い、その画素群に形成されるドットの個数をコード化した状態で記憶する(ステップS208)。こうした処理を繰り返して行い、画像中の全ての画素についての処理を終了したら(ステップS210:yes)、コード化した状態で画素群毎に記憶しておいたドット個数のデータを、個数データとしてプリンタ200に向かって出力する(ステップS212)。こうして個数データを出力したら、図7に示した個数データ生成処理を終了する。
【0085】
図10は、画像データに個数データ生成処理を施すことで個数データが生成される様子を概念的に示した説明図である。図中に示した大きな矩形は画素群を表しており、画素群を縦2つ横4つに分割する小さな矩形は画素を表している。図10(a)は、画素群内の各画素についてドット形成の有無が判断された様子を概念的に表したものである。図10(a)では、ドットを形成すると判断された画素は斜線を付して表示されている。図10(b)は、それぞれの画素群について、画素群内に形成するドットの個数を検出した様子を概念的に示した説明図である。画素群内に表示された数字は、各画素群内に形成すべきドットの個数を表している。こうして得られたドットの個数のデータを、図10(c)に示すようなデータにコード化した後、個数データとしてプリンタ200に出力する。
【0086】
ここで、ドット個数のデータをコード化して個数データに変換する処理について説明する。個数データは、画素群内に形成するドットの個数を1つのコードによって、あるいは複数のコードの組合せることによって表現される。ドットの個数のデータを個数データに変換する処理は、図11(a)に示すような対応表を参照することによって行われる。また図11(b)は、個数データを構成する各コードが表す内容をまとめた説明図である。理解の便宜のために、先ず図11(b)を参照しながら、コードの意味する内容について説明する。
【0087】
先ず、前述したように画素群は8つの画素で構成されているものとしているから、画素群に形成されるドット個数は、0個から8個までの9通りの値を取ることができる。このようにドット個数は9通りの値を取り得るにも関わらず、本実施例ではこれを、単一のコードでは8通りの状態しか表現し得ないコードを用いて表現する。コードを2進数で表示した場合、8通りの状態であれば、3ビットのデータ長があれば表現することができる。図11(b)には、2進数表示の3ビットのコードが表現し得る状態と、それぞれの状態のコードが表す内容とが示されている。図示されているように、2進数表示の3ビットのデータは、ビット表示で「000」の状態からビット表示で「111」までの8つの状態を表現することができる。尚、図11(b)では、ビット表示の他に8進数表示も併記されている。図中で数字に添えられた(o) という表示は、8進数で表示されていることを示している。これら表示可能な8つの状態の内、000(8進数表示では0(o) )から「110」(8進数表示では6(o) )はドットの個数を表すものとする。一方、「111」(8進数表示では7(o) )については、ドット個数ではなく特別な意味を持った拡張コードを表すものとする。
【0088】
ドットの個数のデータをコード化する処理中で参照される対応表には、図11(a)に示したように、画素群内に形成するドットの個数と、これらのコードとが対応付けて記憶されている。図11(a)の例では、8進数表示で0(o) のコードにはドット個数0が対応付けられており、同様に、8進数表示で1(o) から6(o) のコードにはドット個数1からドット個数6がそれぞれ対応付けられている。また、8進数表示で7(o) のコードは拡張コードであって、このコードはドットの個数ではなく、そのコード7(o) と次のコードとの組合せによってドット個数を表示するという特別な意味を持っている。図11(a)に示した例では、拡張コード7(o) にコード0(o) が続く場合はドット個数7を表しており、拡張コード7(o) にコード1(o) が続く場合はドット個数8を表している。
【0089】
図7に示した個数データ変換処理のステップS208では、このように、ドットの個数とコード化されたデータ(エンコードデータ)とを対応付けた対応表を参照しながら、画素群内に形成されるドットの個数のデータをコード化して、個数データに変換する処理を行う。
【0090】
尚、ここでは、8進数表示で7(o) のコードが拡張コードに設定されているものとして説明するが、拡張コードとして設定するコードは7(o) に限られるものではなく、いずれのコードを拡張コードとして設定することも可能である。また、異なる意味を持った複数の拡張コードを設定することも可能である。例えば、画素群内に形成するドット個数を出力する出力方式の他に、各画素についてのドット形成の有無を直接出力する出力方式も備え、画素群毎に適切な出力方式を選択してプリンタ200に出力することとして、いずれの出力方式のデータであるかを表示するために拡張コードの1つを使用することも可能である。
【0091】
プリンタ200には、こうしてコンピュータ100内で生成された個数データが供給される。個数データはコード化されているので、プリンタ200は個数データを受け取ると、このデータをデコードすることによって画素群内に形成するドットの個数を取得する。そして、取得したドットの個数に基づいて、画素群内でドットを形成する画素位置を決定し、決定した画素位置にドットを形成することによって画像を印刷する。以下、プリンタ200内で行われる処理について詳しく説明する。
【0092】
B−4.第1実施例の個数データデコード処理:
プリンタ200は、個数データを受け取ると先ず初めに、個数データをデコードしてドットの個数を取得する処理を行う。図12は、かかる個数データデコード処理の流れを示すフローチャートである。この個数データデコード処理は、プリンタ200の制御回路260に内蔵されたCPUの機能によって実行される。以下、フローチャートに従って説明する。
【0093】
個数データデコード処理を開始すると、制御回路260のCPUは先ず初めに、コード1つ分の個数データを読み込む(ステップS300)。ここでは、コードは(2進数表示した場合)3ビットのデータで表示されているから、ステップS300では、3ビット分の個数データを読み込む処理を行う。
【0094】
次いで、読み込んだコードが拡張コードであるか否かを判断する(ステップS302)。図11に示したように、ここでは8進数表示の7(o) のコードが拡張コードに設定されているから、ステップS300で読み込んだコードが7(o) であるか否かを判断する。そして、読み込んだコードが拡張コードでない場合は(ステップS302:no)、図11(a)に示した対応表を参照しながら、読み込んだコードをドットの個数のデータに変換する(ステップS306)。
【0095】
一方、読み込んだコードが拡張コードである場合は(ステップS302:yes)、ドットの個数は、読み込んだ拡張コードと次のコードとによって表現されていると考えられる。そこで、もう1つ分のコードを読み込んでやる(ステップS304)。そして、図11(a)に示した対応表を参照することにより、先に読み込んだ拡張コードとこの度読み込んだコードとの組合せを、ドットの個数に変換する(ステップS306)。
【0096】
以上のような処理を行うことで、1つの画素群の個数データがデコードされて、ドットの個数に変換されたことになる。こうして1つの画素群についてのデコードが終了したら、全画素群についてのデコードが終了したか否かを判断する(ステップS308)。そして、未処理の画素群が残っている場合は(ステップS308:no)、ステップS300に戻って、個数データから新たな1つ分のコードを読み込んで、続く一連の処理を行う。こうした操作を繰り返し、全画素群についてのデコードが終了したら(ステップS308:yes)、プリンタ200の制御回路260に内蔵されたCPUは、図12に示した個数データデコード処理を終了して、今度は画素群内でドットを形成する画素位置を決定する処理(図5の画像印刷処理)を開始する。
【0097】
B−5.第1実施例の画素位置決定処理:
図13は、第1実施例においてプリンタ200が行う画素位置決定処理の流れを示すフローチャートである。また図14は、画素群のドットの個数に基づいて、画素群内でドットを形成する画素の位置が決定される様子を概念的に示した説明図である。以下、図13のフローチャートおよび図14の説明図を参照しながら、画素位置決定処理について説明する。
【0098】
画素位置決定処理を開始すると、先ず初めに、画素位置を決定しようとする画素群を1つ選択し(図13のステップS400)、その画素群のドット個数を取得する(ステップS402)。ここで取得するドット個数は、図12を用いて説明した個数データデコード処理により、個数データをデコードすることによって得られたドットの個数である。
【0099】
図14(a)は、個数データをデコードすることにより取得された画素群毎のドットの個数を概念的に示した説明図である。ここでは、画素位置を決定する画素群として、図中で左上隅にある画素群を選択したものとする。図14(a)に示されているように、左上隅の画素群についてのドット個数は3個であるから、図13のステップS302では、選択した画素群に形成されるドット個数として「3」を取得する。
【0100】
次いで、ディザマトリックスを参照することにより、画素群内でドットを形成する画素位置を決定する処理を行う(ステップS404)。ディザマトリックスの各画素に設定された閾値は、ドットの形成され易さを表していると考えることができる。なぜなら、ディザマトリックスを参照してドットの形成有無を判断する場合、画像データの階調値とディザマトリックスの閾値とを比較して、階調値の方が大きい画素にはドットを形成すると判断する。すなわち、ディザマトリックスの閾値が小さい画素ほどドットが形成され易くなり、逆に閾値が大きくなるほどドットが形成され難くなる。このことから、ディザマトリックスに設定された閾値は、ドットの形成され易さを表していると考えることができるのである。
【0101】
ディザマトリックスを参照すれば、画素群内のどの画素が最もドットが形成され易いかを知ることができるから、画素群内に形成するドットの個数に基づいて画素位置を決定することができる。この処理の内容について、再び図14を参照しながら詳しく説明する。ここでは処理対象の画素群として、図14(a)中の左上隅の画素群が選択されているものとしているから、図8に示したディザマトリックス上で、この画素群の対応する位置に記憶されているそれぞれの閾値を取得する。図14(b)は、こうして取得されたディザマトリックスの閾値を模式的に表した説明図である。処理対象の画素群には、こうして読み出した閾値が小さい画素から順番にドットが形成されることになる。図14(a)に示すように、処理中の画素群には形成されるドット個数は3個だから、各画素の閾値に従って図14(c)に示すように画素位置を決定することができる。すなわち、図14(c)中に実線で囲った最も閾値の小さい画素と、破線で囲った2番目に閾値の小さい画素と、一点鎖線で囲った3番目に閾値の小さい画素の3つの画素を、ドットが形成される画素として決定することができる。
【0102】
以上のようにして、処理対象の画素群についてドットを形成する画素位置を決定したら、全ての画素群についての処理を終了したか否かを判断する(図13のステップS406)。未処理の画素群が残っていれば(ステップS406:no)、ステップS400に戻って新たな画素群を選択し、続く一連の処理を行う。こうした処理を繰り返すことにより、図14(a)に例示した画素群毎にドット個数を示すデータは、図14(d)に示すような、画素毎にドット形成の有無を表すデータに変換されていく。尚、図14(d)中で斜線が付された画素は、ドットが形成される画素を示している。そして、全ての画素群について処理が終了したら(ステップS406:yes)、図13に示した画素位置決定処理を終了し、図5の画像印刷処理に復帰する。
【0103】
以上、第1実施例の画像印刷処理および、かかる処理中で行われる個数データ生成処理、画素位置決定処理について詳しく説明した。このように第1実施例の画像印刷処理では、画像処理が施されたデータをコンピュータ100からプリンタ200に向かって出力するに際して、画素毎にドット形成の有無を示すデータの代わりに、画素群内に形成されるドット個数を示すデータを出力する。こうすれば、画素毎にドット形成の有無を表すデータを出力するよりも、データ量を大幅に減少させることができるので、コンピュータ100からプリンタ200に効率よくデータを出力することができ、延いては、画像を迅速に印刷することが可能となる。
【0104】
加えて、本実施例では、画素群内に形成されるドットの個数のデータは、上述したようにコード化された状態でプリンタ200に出力される。こうしてコード化することで、更にデータ量を減少させることができるので、画像をより一層迅速に印刷することが可能となる。以下、この理由について説明する。
【0105】
ここでは、画素群は8つの画素で構成されるものとしているから、前述したように画素群内に形成されるドットの個数は、0個から8個までの9通りの値を取ることができる。従って、画素群内に形成されるドットの個数を1つのデータで表示するためには、(データを2進数表示した場合)4ビットのデータ長が必要となる。今、1つの画像にN個の画素群が含まれているものとすれば、1つの画像を表示するためにプリンタ200に出力すべきドット個数のデータ量は、4Nビットのデータとなる。
【0106】
次に、ドットの個数のデータをコード化して出力する場合について考える。コード化に際しては、図11(a)に示した対応表に従って、ドットの個数が、コード化されたデータに変換される。図11(a)に示されているように、コード化されたデータは、ドットの個数が0個から6個の場合は1つのコードで表現され、ドットの個数が7個あるいは8個の場合は2つのコードで表現される。今、1つの画像がN個の画素群から構成されているとして、その中で、ドットが7個あるいは8個形成される画素群がn個あるとすると、N−n個の画素群については1つのコードで表現され、n個の画素群については2つのコードで表現されることになる。1つのコードのデータ長は3ビットであるから、結局、コード化されたドット個数のデータは、
3(N−n)+2・3n=3(N+n)
ビットのデータとなる。
【0107】
図15は、このような関係、すなわち、ドットの個数のデータをコード化した時のデータ量の変化をまとめて示した説明図である。コード化しない場合は、ドットの個数は4ビットのデータで表され、全体のデータ量は4Nビットとなる。ドット個数のデータをコード化した場合は、4ビットよりも1つ少ない3ビットのコードを用いて表され、全体のデータ量は3(N+n)ビットとなる。ここで、Nは画像に含まれる画素群の数であり、nはドットの個数が2コードで表現される画素群(すなわち、ドットが7個あるいは8個形成される画素群)の数である。今、画素群に形成されるドットの個数は、0個から8個までの9通りの値を取り得るが、いずれの状態も均等に取り得るものとすれば、
n=(2/9)N
となり、コード化したドット個数のデータ量は、約3.67Nビットとなる。コード化しない場合のデータ量が4Nビットであるから、この場合はコード化することで、データ量が約1割弱程度、減少することになる。特に、画素数の多い画像を印刷する場合は、データ量を減少させることでコンピュータ100からプリンタ200に効率よくデータを出力することができ、画像を迅速に印刷することが可能となる。
【0108】
以上の説明では、画素群に形成されるドットの個数は、0個から8個までの9通りの値を均等に取るものとしたが、実際には、これら9通りの値を均等に取るわけではない。従って、使用される頻度の低いドットの個数を、拡張コードを用いて表すこととすれば、更にデータ量を減少させることが可能である。図15の例示に即して説明すると、例えば、拡張コードを用いて表すドットの個数(7個および8個)となる画素群が、全画素群の中の5%しか存在せず、他の95%の画素群は、拡張コードを用いずに表現可能なドット個数(0個〜6個)であったとする。この場合は、
n=0.05N
となるので、コード化したドット個数のデータ量は、3.05Nビットとなる。コード化しない場合のデータ量は4Nであるから、結局、コード化することで約24%もデータ量を減少させることが可能となる。
【0109】
実際、図11の例示では、9通りの値を取り得るドット個数の中で、ドット個数7個および8個と、大きな数値のデータを拡張コードを用いて表しているが、これは、このようなデータの出現頻度が、次の理由から、小さな数値のデータよりも低くなっていることを考慮したものである。
【0110】
本実施例のプリンタ200のように、印刷媒体上にインクドットを形成して画像を印刷する場合、形成するドットの個数と、これにより印刷媒体上に表現される濃度とは、リニアな関係とはなっていない。これは、インクが滲むために、ドットの形成密度が高い領域では、ドットの個数を増やしても表現される濃度がそれに見合って増加しないためである。従って、画素群に形成されるドットの個数が0個〜8個の9通りの値を取り得るとしても、例えば0〜2個の範囲で表現可能な濃度範囲より、6〜8個の範囲で表現可能な濃度範囲の方が狭くなっている。換言すれば、小さな値のドット個数が分担して表現する濃度範囲よりも、大きな値のドット個数が分担して表現する濃度範囲の方が狭く、このため、大きな値のドット個数は、小さな値のドット個数よりも使用頻度が低くなっているのである。
【0111】
また、一般に印刷媒体には、画質上の要請から、単位面積当たりに使用可能なインク量の許容限界値が設定されている。C,M,Yなど多色のインクドットを形成することでカラー画像を印刷可能なプリンタでは、このようなインク量の許容値が設定されていることも、大きな値のドット個数の使用頻度が低くなる要因として作用する。例えば、ある色のインクで多くのドットを形成した場合、インク使用量を許容範囲に抑制するために、他色のインクで形成されるドット個数は小さな個数に抑制されることが多い。すなわち、ある画素群について、各インクについてのドット個数が同時に大きな値となることはまれであり、このため、全インクについて見れば、大きな値のドット個数が出現する頻度が低くなるのである。
【0112】
以上のような理由から、拡張コードを用いて表現するデータを、取り得る数値の中で大きな値のデータに割り当てておけば、コンピュータ100からプリンタ200に出力すべきデータ量を効果的に抑制することが可能となる。ここで、「大きな値」とは、少なくとも過半以上の値であればよく、例えば、0〜8の値を取り得るのであれば、拡張コードを用いて表現する値を5以上の値から選択しておけば、データ量を抑制する効果を得ることができる。また、経験によれば、拡張コードを用いて表現する値は、取り得る範囲で値の大きい側から1/3ないしは1/4の範囲(図11の例では、6〜8の範囲、あるいは7〜8の範囲)から選択しておけば、より効果的にデータ量を抑制することが可能である。
【0113】
更に、拡張コードを用いて表現するデータを、大きな値の複数のデータに割り当てる場合は、これら複数の値は互いに連続しない値としておくこととしてもよい。図16は、このようにして拡張データが割り当てられている様子を例示した説明図である。ここでは、1つの画素群に16個の画素が含まれているものとする。この場合、1つの画素群に形成されるドットの個数は、0個〜16個の17通りの値を取ることができるが、ドット個数のデータを、16通りの状態を表現可能な4ビットのコードで表現するものとする。図16(a)は、4ビットの各コードが表す内容をまとめて示した説明図である。尚、図中にある(h) という表示は、16進数で表示されていることを示しており、例えばD(h) という表示は、10進数表示したときの13を、またF(h) という表示は10進数表示の15を示している。
【0114】
図16(a)に示されているように、0(h) 〜D(h) のコードはドットの個数を示し、E(h) は拡張コードを、またF(h) を予備の拡張コードを示しているものとする。予備の拡張コードとは、例えば、画素群内に形成するドット個数ではなく、各画素についてドット形成の有無を示すデータ形式で出力することを表す拡張コードとして使用する場合などを考慮して、予備に確保しておいたコードである。
【0115】
図16(b)は、画素群内に形成されるドットの個数に、コード化されたデータ(エンコードデータ)を対応付けた対応表を示している。図示されているように、拡張コード(E(h) )と組み合わせて表現する個数は、「12」よりも大きな値の個数から選択されている。前述したように、大きな個数は出現頻度が低いので、このような個数を拡張コードを用いて表現することで、コンピュータ100から出力すべきデータ量を効果的に抑制することができる。
【0116】
但し、拡張コードを用いて表現する個数は、14個、15個、16個といったように完全に連続した個数ではなく、12個、14個、15個と、少なくとも一部に連続していない部分を含むように選択されている。これは、次のような理由によるものである。拡張コードを用いて表現されるような大きな値のドット個数が、たまたま広い範囲に連続して出現したような場合、すべてのデータが拡張コードを用いて表現されていると、プリンタに出力すべきデータ量が却って増えてしまうことになる。そこで、こうした危険の分散を図るべく、連続した値ではなく、少なくとも一部に不連続部分を含むように選択しているのである。
【0117】
C.第2実施例:
以上に説明した第1実施例では、個々の画素では、ドットを形成するか形成しないかの2つの状態しか表現し得ないものとして説明した。しかし、プリンタの中には、形成するドットの大きさを制御したり、あるいはドットを形成するために用いるインクの濃さを変更することで、個々の画素単独でも、より多くの階調値を表現可能としたプリンタも存在する。本発明は、こうしたいわゆる多値プリンタに対しても有効に適用することができる。以下では、本発明を多値プリンタに適用した第2実施例について説明する。
【0118】
C−1.第2実施例の画像印刷処理の概要:
図17は、第2実施例の画像印刷処理の流れを示すフローチャートである。第3実施例の画像印刷処理は、図5を用いて説明した第1実施例の画像印刷処理に対して、色変換処理後のデータを大中小ドットのデータに変換する点が大きく異なっている。以下では、この相違点を中心に、第2実施例の画像印刷処理について説明する。尚、ここでは、プリンタ200はドットの大きさを変更可能な多値プリンタであるものとして説明するが、もちろん以下の説明は、ドットの大きさではなくインクの濃度を変更するプリンタや、更にはドットの大きさとインクの濃度とを同時に変更可能な多値プリンタにも適用することが可能である。
【0119】
第2実施例の画像印刷処理においても、第1実施例の画像印刷処理と同様に、先ず初めに、変換すべき画像データを読み込んで(ステップS500)、読み込んだデータに対して色変換処理を行う(ステップS502)。画像データは、色変換処理を行うことにより、C,M,Y,K各色の階調値によって表現された階調データに変換される。
【0120】
ここで、前述した第1実施例のプリンタ200では、ドットの大きさを変えることはできず、各色毎にドットを形成するか形成しないかのいずれかの状態しか取り得ない。このため、色変換後のデータに基づいて直ちに、画素毎のドット形成の有無を判断した。これに対して第2実施例のプリンタ200では、ドットの大きさを変えて大ドット、中ドット、小ドットの3種類のドットを形成することが可能である。そこで、色変換処理によって得られた階調データを、一旦、大ドット用のデータ、中ドット用のデータ、小ドット用のデータに各色毎に変換する処理を行う(ステップS504)。
【0121】
階調データから、大ドット、中ドット、小ドットのそれぞれのドットデータへの変換は、図18に示す変換テーブルを参照することによって行う。図示するように、変換テーブルには、大ドットデータ、中ドットデータ、小ドットデータが階調データに対応付けて記憶されており、かかる変換テーブルを参照することによって、色変換後の階調データを変換する。
【0122】
次いで、大ドットデータ、中ドットデータ、小ドットデータのそれぞれのデータに対して解像度変換処理を行う(ステップS506)。解像度変換には種々の方法を適用することができるが、説明を簡便にするために、ここでは第1実施例と同様に、画素を分割して解像度を変換するものとする。分割して生成された新たな画素には、元の画素の階調値と同じ階調値が設定される。
【0123】
こうして解像度を印刷解像度に変換した後、個数データ生成処理を行う(ステップS508)。第2実施例では、プリンタ200は大ドット、中ドット、小ドットの3種類のドットを形成可能なことから、個数データ生成処理では、これら各種ドットについてドットの個数を決定した後、各種ドットの個数を示すデータをコード化してプリンタ200に出力する。
【0124】
図19は、第2実施例の個数データ生成処理において、ドットデータから画素群内に形成するドットの個数を決定する様子を示した説明図である。図19(a)は、画素群としてまとめられる各画素に、大中小の各種ドットについてのドットデータが設定されている様子を模式的に表している。図中に示した実線の矩形の各々は画素群を表している。画素群は複数の画素から構成されており、ドットデータは各画素に設定されているが、ここでは図示が煩雑となることを避けるために、個々の画素の表示は省略し、その代わりにドットデータが画素群に設定されているものとして表示している。例えば、図19(a)の左上隅の画素群に、Data(L,M,S)=(2,90,32)と表示されているのは、この画素群内の各画素に、大ドットのドットデータ「2」、中ドットのドットデータ「90」、小ドットのドットデータ「32」が設定されていることを表している。もちろん、第1実施例においても説明したように、画素群を構成する全ての画素が同じ階調値を有する場合は、解像度変換処理を行わず、個数データ生成処理の中で実質的に解像度変換を行うこととしても良い。
【0125】
第2実施例の個数データ生成処理では、こうした各種ドットについてのドットデータに後述する処理を施すことにより、画素群内に形成される各種ドットの個数を表すデータを生成する。図19(b)は、各種ドットの個数を表すデータがそれぞれの画素群毎に生成されている様子を概念的に表している。例えば、図19(b)の左上隅の画素郡中に、Dot(L,M,S)=(1,2,1)と表示されているのは、この画素群には、大ドットを1個、中ドットを2個、小ドットを1個形成することを表している。このように画素群毎に求められた各種ドットの個数を表すデータはコード化された後、個数データとしてプリンタ200に出力される。第2実施例の個数データ生成処理の内容については後述する。
【0126】
プリンタ200は、コンピュータ100から出力された個数データを受け取ると、このデータを解釈することにより、各種ドットの個数を表すデータにデコードする処理を行う(ステップS510)。個数データをデコードする処理の詳細については後述する。
【0127】
次いで、デコードして取得した各種ドットの個数を表すデータに基づいて、画素群内でドットを形成する画素位置を各種ドット毎に決定する処理を行う(ステップS512)。すなわち、前述した第1実施例においては形成可能なドットの種類は1種類だけであったのに対して、第2実施例では大中小の各種ドットを形成可能であることから、これら各種ドットについてドットを形成する画素位置を決定する処理を行う。第2実施例の画素位置決定処理の内容については後述する。
【0128】
こうして画素位置を決定したら、プリンタ200はキャリッジ240の主走査と副走査とを繰り返しながらインク吐出用ヘッドを駆動することにより、印刷用紙上に大中小の各ドットを形成する(ステップS514)。この結果、画像データに対応した画像が印刷されることになる。
【0129】
C−2.第2実施例の個数データ生成処理:
以下、第2実施例の個数データ生成処理の内容について説明する。図20は、第2実施例の個数データ生成処理の流れを示したフローチャートである。かかる処理も、コンピュータ100に内蔵されたCPUによって実行される。
【0130】
第2実施例の個数データ生成処理を開始すると、CPUは先ず初めに、画像データの中から所定の複数個の画素をまとめて画素群を生成する(ステップS600)。個数データ生成処理に先立って行われる解像度変換処理(図17のステップS506)において、第1実施例と同様に、画素を分割して新たな画素を生成することとしているから、ここでも、同じ画素から分割された複数の画素を画素群としてまとめるものとする。
【0131】
次いで、画素群内の各画素について、大ドット、中ドット、小ドットのドットデータを読み込む(ステップS602)。すなわち、図19(a)を用いて説明したように、画素群内の画素毎に、各種ドットのドットデータを読み込む処理を行う。尚、ここでは、画素群を構成する画素は、いずれも同じ画素から分割されて同じ階調値を有するから、画素毎にドットデータを読み込むのではなく、画素群毎に1画素分だけ読み込むこととしても良い。
【0132】
こうして各種ドットのドットデータを読み込んだら、ディザマトリックスを参照することにより、大ドット、中ドット、小ドットについての形成有無を判断する処理を行う(ステップS604)。かかる処理について、図21を参照しながら詳しく説明する。
【0133】
図21は、ディザマトリックスを参照しながら、着目画素に大ドット、中ドット、小ドットのいずれのドットを形成するべきかを判断する方法を示した説明図である。尚、図21では、ドットデータとして図19(a)に示すデータを使用し、ディザマトリックスとしては、図8に示すマトリックスを使用する場合について想定している。
【0134】
図21は、画像の左上隅にある画素群について、各種ドットの形成有無を判断する様子を示している。図中で、太い実線の矩形は画素群を表している。画素群が細い破線で区分されているのは、画素群が複数の画素によって構成されていることを表している。また、画素の中に表された数値は、ディザマトリックスの対応する位置に設定されている閾値の値を表している。
【0135】
ドット形成有無の判断を開始すると、先ず初めに、大ドットのドットデータと、ディザマトリックスに設定されている閾値とを比較して、ドットデータの方が大きい画素については大ドットを形成するものと判断する。図21(a)は、こうして、画素群内の各画素について大ドットの形成有無を判断している様子を示している。具体的に説明すると、大ドットのドットデータは「2」であるから、一番左上隅にある階調値「1」の画素についてだけ、ドットデータの方が大きく、他の画素については全てディザマトリックスの閾値の方が大きくなっている。そこで、この画素群では、大ドットは1つだけ形成される。図21(a)中で、ディザマトリックスの閾値が「1」の画素に細かい斜線が付されているのは、この画素に大ドットを形成すると判断されたことを表したものである。
【0136】
大ドットについての形成有無を判断したら、今度は中ドットについての形成有無を判断する。中ドットについての判断に際しては、大ドットのドットデータに中ドットのドットデータを加算して、中ドット用の中間データを算出し、この中間データとディザマトリックスの閾値とを比較する。そして、中間データの方が閾値よりも大きな画素については、中ドットを形成するものと判断する。このとき、既に大ドットを形成することとした画素については、中ドットの形成有無の判断は行わない。図21(b)に即して具体的に説明すると、大ドットのドットデータは「2」であり、中ドットのドットデータは「90」であるから、中ドット用の中間データは「92」と算出される。この中間データを、各画素についてのディザマトリックスの閾値と比較する。但し、画素群中で一番左上隅にある画素については、既に大ドットを形成することとしているので、かかる比較からは除外しておく。その結果、ディザマトリックスの閾値が「42」の画素と「58」の画素については、中間データの方が大きくなるので、中ドットの形成個数は2個であると判断する。図21(b)中で、これらの画素に斜線が付されているのは、これらの画素については、中間データの方が大きいと判断されたことを表している。
【0137】
中ドットの形成有無を判断したら、最後に小ドットの形成有無を判断する。小ドットの判断に際しては、中ドット用の中間データに小ドットのドットデータを加算して、小ドット用の中間データを算出し、未だドットを形成すると判断されていない画素について、この中間データとディザマトリックスの閾値とを比較する。そして、中間データの方が大きい画素については、小ドットを形成するものと判断する。図21(c)に即して具体的に説明すると、中ドット用の中間データは「92」であるから、小ドットのドットデータ「32」を加算して、小ドット用の中間データは「124」と算出される。この中間データと、ディザマトリックスの閾値とを比較する。その結果、ディザマトリックスの閾値よりも中間データの方が大きくなるのは、閾値が「109」の画素だけなので、この画素群については小ドットを1個だけ形成すると判断する。図21(c)中で、粗い斜線が付された画素は、この画素については、閾値よりも中間データの方が大きいと判断されたことを表したものである。図20のステップS604では、以上のようにして画素群内の各画素について、大ドット、中ドット、小ドットの形成有無を判断する。
【0138】
以上のようにして各種ドットの形成有無を判断したら、その画素群に形成すべき各種ドットの個数をコード化して記憶する(ステップS606)。図21に示した例では、画素群内に形成される各種ドットの個数は、大ドットが1個、中ドットが2個、小ドットが1個であるから、このドット個数の組をコード化した状態で記憶するのである。コード化する処理については後述する。
【0139】
こうして画素群内に形成する各種ドットの個数を決定し、コード化した状態で画素群毎に記憶したら記憶したら、画像データに含まれる全画素についての処理を終了したか否かを判断する(ステップS608)。そして、未処理の画素が残っている場合は(ステップS608:no)、ステップS600に戻って新たな画素群を生成した後、続く一連の処理を繰り返す。こうして、全ての画素についての処理を終了したら(ステップS608:yes)、コード化した状態で画素群毎に記憶しておいた各種ドットの個数を表すデータを、プリンタ200に向かって、個数データとして出力する(ステップS610)。
【0140】
ここで、ステップS606において、各種ドットの個数を示すデータをコード化する処理について説明する。画素群は8つの画素で構成されており、各画素は、大中小のいずれかのドットを形成するかあるいはドットを形成しないかの4つの状態を取り得る。従って、画素群内に形成される各種ドットの個数の組合せは、これら4種類の状態の中から重複を許して8回選択したときの組合せの数に等しくなるから、
(= 4+8−1
によって求められ、結局、165通りの組合せが存在していることになる。ここで は、n個の物の中から重複を許してr回選択するときの重複組合せ数を求める演算子である。また、 は、n個の物の中から(重複を許さず)r回選択するときの組合せ数を求める演算子である。
【0141】
図22(a)は、165通り存在する各種ドットの組合せを示した説明図である。データ長が7ビットのデータは、図22(b)に示すように、全ビットが0の状態から全ビットが1の状態までの、合計128通りの状態しか表現することができない。従って165通りの組合せを全部表すためには、図22(c)に示すように、8ビットのデータとする必要がある。尚、以下では7ビットのデータを簡便に表示可能とするために、上位3ビットと下位4ビットの2つに分け、8進数表示と16進数表示とを組み合わせて表現するものとする。例えば、全てのビットが0のデータは、0(o) 0(h) と表現するものとする。ここで、(o) は8進数表示されていることを表し、(h) は16進数表示されていることを表しているものとする。また、8ビットのデータについても同様に、上位4ビットと下位4ビットの2つに分けて表現するものとする。
【0142】
このようにデータ長を8ビットとすれば各種ドットの個数を表すデータを表現することは可能となるものの、8ビットのデータは256通りの状態を表現可能である。7ビットのデータ長では表現可能な状態が37通りだけ不足するために、全ての画素群について256通りもの状態を表現可能な8ビットデータとしたのでは、プリンタ200に出力するデータ量の増加を招いてしまうので好ましいことではない。そこで、図20のステップS606では、165通りの組合せを取り得る各種ドットの個数をコード化して、データ長が7ビットのコードを用いて表現する。
【0143】
各種ドットについての個数のデータをコード化する処理は、前述した第1実施例と同様に対応表を参照することによって行われる。図23は、コード化に際して参照される対応表を概念的に示した説明図である。図示するように、対応表には、各種ドットの個数の組合せと、コード化されたデータ(エンコードデータ)とが対応付けて記憶されている。そして、それぞれのエンコードデータは、データ長が7ビットのコードが、1つあるいは複数個、組み合わされて構成されている。ここで理解の便宜を図るため、対応表について説明する前に各コードが表す内容について説明する。
【0144】
図24は、対応表に記憶されている各コードが表す内容を示した説明図である。コードはデータ長が7ビットのデータであるから、0(o) 0(o) から7(o) F(o) までの128通りの状態を表現し得る。このうち、7(o) F(o) のコードは拡張コードを表しており、他の127種類のコードは、各種ドットの個数の組合せを表している。換言すれば、0(o) 0(o) から7(o) E(o) の各コードはそのまま各種ドットの個数の組合せをそれぞれ表しており、一方、拡張コード7(o) F(o) は、そのコードと他のコードとを組み合せることによって各種ドットの個数を表すことになる。
【0145】
図23に示した対応表には、このようにして各種ドットの個数の組合せと、エンコードデータとが対応付けられて記憶されている。例えば、小ドット、中ドット、大ドットのいずれの個数も0個である組合せには、0(o) 0(h) のコードが対応付けて記憶されている。また、小ドットの個数1個、中ドットおよび大ドットの個数は0個である組合せには、0(o) 1(h) のコードが対応付けて記憶されている。このように、0(o) 0(h) から7(o) E(h) の各コードに、各種ドットの個数を表す127通りの組合せ(図23に示した通し番号では0番から126番までの組合せ)がそれぞれ対応付けられている。そして、通し番号で127番から164番までの組合せは、拡張コードである7(o) F(h) と他のコードとを組み合わせたコードに対応付けられている。
【0146】
図20に示した個数データ生成処理中のステップS606においては、図23に示す対応表を参照しながら、各種ドットの個数を表すデータを、データ長7ビットのコードを用いて表現されたデータに変換するのである。
【0147】
尚、以上の説明では、拡張コードは7(o) F(h) のコードに設定されているものとしたが、これに限らず、7ビットのコードの中のいずれのコードを拡張コードに設定することも可能である。
【0148】
プリンタ200には、画素群内に形成される各種ドットの個数を表すデータが、このようにコード化された状態で供給される。プリンタ200は、こうした個数データを受け取ると、個数データをデコードした後(図17のステップS510)、画素群内で各種ドットを形成する画素位置を決定する処理(図17のステップS512)を行って画像を印刷する。以下、これら処理の内容について詳しく説明する。
【0149】
C−3.第2実施例の個数データデコード処理:
第2実施例の個数データデコード処理は、図12を用いて説明した第1実施例における個数データデコード処理とほぼ同様である。そこで、以下では、図12のフローチャートを流用しながら、第2実施例の個数データデコード処理について説明する。
【0150】
第2実施例においても、第1実施例と同様に、個数データデコード処理を開始すると先ず初めに、コード1つ分の個数データを読み込む(ステップS300相当)。ただし、第1実施例では1つのコードは3ビットであるとしたが、第2実施例では7ビットであるから、ここでは7ビットのデータを読み込むことになる。
【0151】
次いで、読み込んだコードが拡張コードであるか否かを判断する(ステップS302相当)。第2実施例では、拡張コードは7(o) F(h) に設定されているから、ステップS302相当の処理では、先に読み込んだコードが7(o) F(h) と一致するか否かを判断する。そして、読み込んだコードが拡張コードでない場合は(ステップS302相当:no)、図23に示した対応表を参照しながら、読み込んだコードをドットの個数のデータに変換する(ステップS306相当)。
【0152】
一方、読み込んだコードが拡張コードである場合は(ステップS302相当:yes)、もう1つ分のコードを読み込んだ後(ステップS304相当)、図23の対応表を参照することにより、2つのコードの組合せを、各種ドットの個数を表すデータに変換する(ステップS306相当)。
【0153】
以上のようにして、1つの画素群の個数データをデコードしたら、全画素群についてのデコードが終了したか否かを判断する(ステップS308相当)。そして、未処理の画素群が残っている場合は、処理の初めに戻って、個数データから新たな1つ分のコードを読み込み、続く一連の処理を行う。こうした操作を繰り返し、全画素群についてのデコードが終了したら、第2実施例の個数データデコード処理を終了する。第2実施例においては、こうして個数データをデコードすることにより、画素群内に形成する各種ドットの個数を表すデータを得ることができる。そこで、次の画素位置決定処理を行うことにより、画素群内に各種ドットを形成する画素位置を決定する。以下、第2実施例において、画素群内に各種ドットを形成する画素位置を決定する処理について説明する。
【0154】
C−4.第2実施例の画素位置決定処理:
図25は、第2実施例の画素位置決定処理の流れを示したフローチャートである。以下、フローチャートに従って説明する。
【0155】
第2実施例の画素位置決定処理を開始すると、先ず初めに、画素位置を決定しようとする画素群を1つ選択する(ステップS700)。次いで、選択した画素群内に形成される各種ドットの個数を表すデータを取得する(ステップS702)。画素群内に形成される各種ドットの個数を表すデータは、コンピュータ100からコード化された状態で供給されるが、前述した個数データデコード処理においてデコードされて、画素群毎に記憶されている。ステップS702では、こうしてデコードされて記憶されている個数のデータの中から、画素位置を決定しようとする画素群についてのデータを取得する。
【0156】
次いで、ディザマトリックスを参照しながら、各種ドットを形成する画素位置を決定する処理を行う(ステップS704)。かかる処理について、図26を参照しながら説明する。
【0157】
図26は、ある画素群について、各種ドットのドット個数が与えられたときに、ディザマトリックスを参照しながら、これらドットを形成する画素位置を決定する様子を示した説明図である。図中に示した太い実線の矩形は画素群を表している。画素群を区分する細い破線は、画素群が複数の画素から構成されていることを表している。また、画素中に示された数値は、ディザマトリックスの対応する位置に設定されている閾値を示している。尚、ディザマトリックスは、ドット個数を求めるために用いたマトリックスと同じマトリックスを使用するものとする。
【0158】
今、画素位置を決定しようとする画素群には、大ドット1個、中ドット2個、小ドット1個を形成するものとする。画素位置を決定するに際しては、先ず初めに大ドットを形成する画素位置を決定する。前述したように、ディザマトリックスの閾値は、ドットの形成され易さを表していると考えることができるから、大ドットを1個だけ形成されるとすれば、最も小さな閾値が設定された画素に形成されるはずである。従って、大ドットを形成する画素位置は、閾値「1」の画素であると決定することができる。
【0159】
大ドットの画素位置に続いて、中ドットを形成する画素位置を決定する。中ドットは2個形成することになっており、また、最も小さな閾値の画素には既に大ドットが形成されている。従って中ドットは、閾値が2番目に小さな画素と3番目に小さな画素の2つの画素に形成されるはずである。従って、中ドットを形成する画素位置は、閾値「42」の画素と閾値「58」の画素であると決定することができる。小ドットについても、同様にして画素位置を決定することができる。すなわち、小ドットは1個だけ形成することになっており、また、閾値の最も小さな画素から3番目に小さな画素までは、既に大ドットあるいは中ドットが形成されているから、小ドットは、閾値が4番目に小さな画素に形成されるはずである。従って、小ドットを形成する画素位置は、閾値「109」の画素であると決定することができる。
【0160】
図26は、こうして大ドット、中ドット、小ドットの順番で、ドットを形成する画素を決定している様子を表しており、図中で、細かい斜線が付された画素は大ドットを形成すると判断された画素を、中間の斜線が付された画素は中ドットを形成すると判断された画素を、粗い斜線が付された画素は小ドットを形成すると判断された画素を、それぞれ表している。図25のステップS704では、このようにして、ディザマトリックスを参照しながら、各種ドットを形成する画素位置を決定する処理を行う。
【0161】
以上のようにして、1つの画素群について、各種ドットを形成する画素位置を決定したら、全画素群のデータについて、画素位置を決定する処理を終了したか否かを判断する(図25のステップS706)。そして、未処理の画素群が残っている場合は(ステップS706:no)、ステップS700に戻って、新たな画素群について続く一連の処理を繰り返す。こうして全ての画素群について画素位置を決定したと判断されたら(ステップS706:yes)、図25に示す画素位置決定処理を抜けて、画像印刷処理に復帰した後、印刷用紙上に各種ドットを形成する。この結果、画像データに対応した画像が印刷されることになる。
【0162】
プリンタ200がいわゆる多値プリンタである場合には、以上に説明した第2実施例の画像印刷処理を行うことにより、コンピュータ100からプリンタ200に各種ドットのドット個数を転送しながら画像を印刷することができる。こうすれば、画素毎にドット形成の有無を示すデータを供給するよりも、効率よく供給することができるので、たとえ、画素数の多い画像でも、迅速に画像を印刷することが可能となる。
【0163】
加えて、前述した第1実施例と同様に、第2実施例においても画素群内に形成される各種ドットの個数を表すデータは、コード化された状態でプリンタ200に出力される。こうしてコード化することで、更にデータ量を減少させることができるので、画像をより一層迅速に印刷することが可能となる。
【0164】
また、以上の説明では、各画素が4つの状態を取り得るときに、考えられる全ての組合せにコードを割り当てるものとした。しかし画像を印刷する場合に、考えられる全ての組合せが現れるわけではない。例えば、画素群の中に1つだけ大ドットを形成した場合、ドットが目立って画質を悪化させるので、こうした組合せは使用されておらず、代わりに、小ドットあるいは中ドットが複数個、形成されるような組合せが用いられる。このような、使用されない組合せにはコードを割り当てずに、実際に使用される組合せにのみコードを割り当てることとすれば、プリンタ200に出力すべきデータ量を更に減少させることができる。これについて、図23に示した例を用いて補足して説明する。
【0165】
図23に示した対応表では、各種ドットの個数を表す165通りの組合せに対して、それぞれコードが割り当てられている。コードのデータ長は7ビットであり、コード1つ分では128通りの状態しか表現できず、表現可能な状態数が不足する。そこで、コード7(o) F(h) を拡張コードに設定し、127通りの組合せは1つのコードで表現し、残りの38通りの組合せについては2つのコードを組み合わせて表現している。ここで、実際には使用されない組合せにはコードを割り当てないこととすれば、コードを割り当てるべき総数が減少するので、2つのコードを用いて表現しなければならない組合せの数が減少する。その結果、プリンタ200に出力すべきデータ量を減少させることができ、延いては画像を迅速に表示することが可能となるのである。
【0166】
また、全く使用されないわけではないものの、使用頻度の低い組合せが存在する場合、このような組合せを拡張コードを用いて表すこととしてもよい。例えば、中ドットは形成されずに大ドットと小ドットだけが形成されるような組合せは、大ドットと中ドットの組合せ、あるいは中ドットと小ドットの組合せの方がより自然であるため、滅多に出現しない組合せと考えることができる。また、大ドット、中ドット、小ドットが全て出現する組合せも、同様な理由から滅多に出現しない組合せと考えられる。更に、本実施例のプリンタ200のように、インク滴を吐出してインクドットを形成するプリンタでは、ほとんど全ての画素に小ドットだけが形成されるような組合せも使用されないことが多い。これは、インク滴の吐出方向が僅かにずれただけで、バンディングと呼ばれる筋が発生して画質を悪化させることがあるので、このような組合せの使用は避けられる傾向にあるためである。
【0167】
拡張コードと他のコードとを用いて表現する組合せを、このように使用頻度の低い組合せに割り当てておけば、コンピュータ100からプリンタ200に出力すべきデータ量を効果的に抑制することが可能となる。
【0168】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述の機能を実現するソフトウェアプログラム(アプリケーションプログラム)を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、CD−ROMやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
【0169】
また、以上の実施例では、印刷用紙上にドットを形成して画像を印刷するプリンタに本発明を適用した場合について説明したが、本発明の適用範囲はプリンタに限られるものではなく、例えば、液晶表示画面上で輝点を適切な密度で分散させることにより、階調が連続的に変化する画像を表現する液晶表示装置などにも、本発明を好適に適用することができる。
【図面の簡単な説明】
【図1】印刷システムを例にとって本発明の概要を説明するための説明図である。
【図2】本実施例の画像処理装置としてのコンピュータの構成を示す説明図である。
【図3】本実施例のカラープリンタの概略構成を示す説明図である。
【図4】インク吐出用ヘッドにおけるインクジェットノズルの配列を示す説明図である。
【図5】コンピュータおよびプリンタが画像データに所定の画像処理を加えて印刷媒体上に画像を印刷する処理の流れを示すフローチャートである。
【図6】第1実施例において行われる解像度変換の様子を示す説明図である。
【図7】第1実施例の個数データ生成処理の流れを示すフローチャートである。
【図8】ディザマトリックスの一部を例示した説明図である。
【図9】ディザマトリックスを参照しながら着目画素についてのドット形成の有無を判断している様子を概念的に示した説明図である。
【図10】画像データに個数データ生成処理を施すことで個数データが生成される様子を概念的に示した説明図である。
【図11】ドット個数のデータをコード化する処理において参照される対応表および対応表に設定されている各コードの内容を示した説明図である。
【図12】個数データデコード処理の流れを示すフローチャートである。
【図13】第1実施例においてプリンタが行う画素位置決定処理の流れを示すフローチャートである。
【図14】画素群のドットの個数に基づいて画素群内でドットを形成する画素の位置が決定される様子を概念的に示した説明図である。
【図15】ドットの個数のデータをコード化することにより、データ量が減少する様子を示す説明図である。
【図16】少なくとも一部が不連続となるようなドット個数に拡張データが割り当てられている様子を例示した説明図である。
【図17】第2実施例の画像印刷処理の流れを示すフローチャートである。
【図18】色変換後の画像データを大中小ドットについてのドットデータに変換する際に参照する変換テーブルを概念的に示した説明図である。
【図19】第2実施例の個数データ生成処理においてドットデータから画素群内に形成するドットの個数を決定する様子を示した説明図である。
【図20】第2実施例の個数データ生成処理の流れを示したフローチャートである。
【図21】ディザマトリックスを参照しながら着目画素に大ドット中ドット小ドットのいずれのドットを形成するべきかを判断する方法を示した説明図である。
【図22】画素群内に形成され得る各種ドットの組合せと、7ビットデータが表示可能な状態数、および8ビットデータが表示可能な状態数とを比較した説明図である。
【図23】コード化に際して参照される対応表を概念的に示した説明図である。
【図24】対応表に記憶されている各コードが表す内容を示した説明図である。
【図25】第2実施例の画素位置決定処理の流れを示したフローチャートである。
【図26】ある画素群について各種ドットのドット個数が与えられたときにディザマトリックスを参照しながらこれらドットを形成する画素位置を決定する様子を示した説明図である。
【符号の説明】
10…コンピュータ
20…プリンタ
100…コンピュータ
108…周辺機器インターフェースPIF
109…ディスクコントローラDDC
110…ネットワークインターフェースカードNIC
112…ビデオインターフェースVIF
116…バス
118…ハードディスク
120…デジタルカメラ
122…カラースキャナ
124…フレキシブルディスク
126…コンパクトディスク
200…プリンタ
230…キャリッジモータ
236…プラテン
235…モータ
240…キャリッジ
241…印字ヘッド
242…インクカートリッジ
243…インクカートリッジ
244…インク吐出用ヘッド
260…制御回路
300…通信回線
310…記憶装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for displaying an image by performing predetermined image processing on the image data. More specifically, the image data subjected to the image processing is quickly transferred to an image display device, thereby speeding up image display. Related to technology.
[0002]
[Prior art]
An image display device that expresses an image by forming dots on various display media such as a print medium and a liquid crystal screen is widely used as an output device of various image devices. In these image display devices, images are handled in a state of being subdivided into small areas called pixels, and dots are formed in these pixels. For each pixel, only one of the states of whether or not to form dots can be expressed, but if the entire image is viewed, the areas where dots are formed densely or sparsely formed It is possible to generate a multi-tone image by appropriately controlling the dot formation density according to the tone value of the image to be expressed. For example, when forming black ink dots on a printing paper, a region where dots are densely formed looks dark, and conversely, a region where dots are sparsely formed appears bright. When bright dots are formed on a liquid crystal screen, a region where dots are densely formed looks bright and a region where sparsely formed dots appear dark. Therefore, it is possible to display a multi-tone image by appropriately controlling the dot formation density.
[0003]
In such an image display device, in order to form dots with an appropriate density according to the gradation value of an image, the following method is usually used. First, predetermined image processing is performed on an image to be displayed, and the image data is converted into data indicating the presence or absence of dot formation for each pixel. Next, the obtained data indicating the presence or absence of dot formation is output from the image processing apparatus to the image display apparatus. In the image display device, an image is displayed by forming dots in each pixel in accordance with the data thus sent.
[0004]
In recent years, such image display devices have been required to have high-quality images and large images. In response to the demand for higher image quality, it is effective to configure an image with finer pixels. If the pixels constituting the image become finer, dots formed on the pixels become inconspicuous, so that the display image quality can be improved (for example, Patent Document 1). Further, it is possible to respond to the demand for a large image by increasing the number of pixels constituting the image. Of course, the display image can be enlarged by increasing the size of each pixel instead of increasing the number of pixels, but this may lead to deterioration in image quality. Increasing the number of pixels is effective for the demand.
[0005]
However, as described above, the image display device receives data representing the presence / absence of dot formation for each pixel from the image processing device and displays the image, so if the number of pixels constituting the image is too large, the data It takes time to receive the image and it becomes difficult to display the image quickly. In order to solve these problems, the inventor of the present application collects a plurality of pixels into a pixel group, obtains the number of dots to be formed in the pixel group, and replaces the dot instead of data indicating the presence or absence of dot formation for each pixel. A technology for outputting the number data (hereinafter referred to as “number data”) to the image display device has been developed and has already been filed (Japanese Patent Application No. 2003-87176). In such an applied technology, when the image display device receives the data of the number of dots for each pixel group, the pixel position is determined within the pixel group, and then dots are formed on these pixels to display an image. To do. If data for the number of dots is output from the image processing device to the image display device instead of data indicating the presence or absence of dot formation for each pixel, the data can be output quickly even if the number of pixels increases. Therefore, it is possible to display an image quickly.
[0006]
[Patent Document 1]
JP 2000-115716 A
[0007]
[Problems to be solved by the invention]
In order to display an image quickly in such a filed technology, it is desirable to output the data of the number of dots formed in the pixel group to the image display device as efficiently as possible. However, in reality, the dot count data cannot always be output efficiently, and the output efficiency is reduced and it takes time to output the count data, and the effect of displaying the image quickly is diminished. There is.
[0008]
Here, such a problem will be described by taking as an example a case where the pixel group includes eight pixels. In this case, the number of dots formed in the pixel group can take 9 values from 0 to 8. If the number data is 3-bit data, only 8 dot numbers can be expressed, so it is necessary to increase 1 bit to 4-bit data. In other words, if the number of dots that can be taken is one, the number data need only be output in 3 bits. However, since 3 bits are insufficient in only one way, it is necessary to output 4-bit data for all pixel groups. Arise. If the 3-bit data per pixel group is changed to 4-bit data, the data amount increases by about 30% or more. An increase in the amount of data to output the same content means that the data output efficiency has decreased. Therefore, in order to quickly display an image even in such a case, it is necessary to develop a technique capable of efficiently outputting the number data.
[0009]
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a technique capable of efficiently outputting number data when outputting the number data to an image display device to display an image.
[0010]
[Means for solving the problems and their functions and effects]
In order to solve at least a part of the problems described above, the image display system of the present invention employs the following configuration. That is,
An image display system comprising: an image processing device that performs predetermined image processing on image data; and an image display device that displays an image on a display medium by forming dots based on the result of the image processing,
The image processing apparatus includes:
Dot number determining means for determining a number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small The number data output means for converting to and outputting to the image display device;
With
The image display device includes:
By receiving and interpreting the output number data, number data acquisition means for acquiring the number of dots determined for each pixel group;
Pixel position determining means for determining, for each pixel group, a pixel position where a dot is formed in the pixel group based on the acquired number of dots;
Dot forming means for forming dots on the display medium based on the determined pixel positions;
With
The number data output means includes
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table storage means for storing a correspondence table in which the number is associated;
Means for outputting the number of dots determined for each pixel group to the image display device after converting the number of dots into the number data based on the correspondence table;
The summary of the number data receiving means is means for acquiring the number of dots determined for each pixel group by interpreting the number data according to the correspondence table.
[0011]
The image display method of the present invention corresponding to the image display system described above is
An image display method for displaying an image by performing predetermined image processing on image data and forming dots on a display medium based on the obtained result,
A first step of determining, based on the image data, the number of dots formed in the pixel group for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small A second step of converting to
A third step of obtaining the number of dots determined for each pixel group by receiving and interpreting the converted number data;
A fourth step of determining, for each pixel group, a pixel position at which a dot is formed in the pixel group based on the acquired number of dots;
A fifth step of forming dots on the display medium based on the determined pixel positions;
With
The second step includes
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table in which the number is associated is stored in advance,
Converting the number of dots determined for each pixel group into the number data based on the correspondence table;
The gist of the third step is that the number of dots determined for each pixel group is obtained by interpreting the number data according to the correspondence table.
[0012]
In the image display system and the image display method of the present invention, a predetermined number of pixels are grouped into a pixel group, and the number of dots formed in the pixel group is determined. Next, the dot count data is converted into count data. Here, the number data is expressed using a data format in which the number of states that can be displayed with a single data is smaller than the type of the number of dots that can be formed in the pixel group. If the number data is expressed in a data format with a small number of states that can be displayed in this way, the amount of data can be reduced, so that the data can be handled efficiently. Then, if necessary, the number data is interpreted, the data of the number of dots formed in the pixel group is acquired, and the pixel position where the dot is formed in the pixel group is determined based on the obtained number of dots. An image is displayed by forming dots at the pixel positions thus determined.
[0013]
If an image is displayed by such a method, even if the image has a large number of pixels, data on the number of dots formed in the pixel group can be handled efficiently, so that the image can be quickly displayed. Can be displayed.
[0014]
In such an image display system, the data format of the number data can be set to a data format capable of displaying 2 n states.
[0015]
In general, data is often displayed in binary. Therefore, if the data format of the count data is set to a data format that can display 2 n states, the count data can be expressed by binary display data, and the data amount is reduced accordingly. This is preferable.
[0016]
Alternatively, such an image display system can be suitably applied to a display system that displays an image by forming a plurality of types of dots with different gradation values to be expressed. That is, a predetermined number of pixels are grouped into a pixel group, the number of various dots formed in the pixel group is determined, and the data of the determined number of various dots is converted into a number data expressed in a predetermined data format. To do. Here, the data format of the number data employs a data format in which the number of states that can be expressed by a single data is smaller than the types of combinations of the numbers of various dots formed in the pixel group. Next, if necessary, the number data is interpreted to obtain the number of various dots formed in the pixel group, and the pixel position where the dot is formed in the pixel group is determined for each dot. An image may be displayed by forming various dots at the pixel positions thus determined.
[0017]
In this way, even when various dots are formed and an image is displayed, it is possible to efficiently handle the data of the number of dots formed in the pixel group, so that the image can be displayed quickly. Therefore, it is preferable.
[0018]
In such an image display system, the following correspondence table may be stored. That is, a correspondence table in which a low-frequency dot number formed in the pixel group is associated with the combination of the number data of the excluded state and the number data of the remaining state is stored. It is also good.
[0019]
When the number of dots is expressed by combining the number data in the excluded state and the number data in the remaining state, the data amount increases for the number of dots. That is, the number of dots expressed by combining a plurality of pieces of data in this way can be reduced as the appearance frequency decreases. From this, a combination table in which the number of dots with low frequency formed in the pixel group is associated with the combination of the number data of the excluded state and the number data of the remaining state is stored. This is preferable because the data can be handled efficiently as the data amount becomes smaller.
[0020]
In such an image display system, an integer having a numerical value larger than half of the number of pixels constituting the pixel group may be selected as the number of dots formed less frequently in the pixel group.
[0021]
In the method of displaying an image by forming dots on a display medium, the density on the image increases as the number of dots to be formed increases. However, even when the number of dots is increased by one in the same manner, the degree of change in density that appears in the image differs between when many dots are formed and when many dots are not formed. The degree of change in density tends to increase when dots are not formed so much. If this is seen from the opposite side, the density range expressed by the state where dots are formed in more than half of the pixels of the pixel group is more than the density range expressed by the state where dots are formed only in less than half of the pixels. It can be said that it tends to narrow. Therefore, if an integer larger than half of the number of pixels constituting the pixel group is selected as the number of dots, a dot number with a relatively low frequency formed in the pixel group can be selected. This is preferable because the dot count data can be handled efficiently.
[0022]
Further, when selecting a plurality of integer values as the number of infrequent dots, a plurality of numerical values are included so that at least a part that is not continuous is included among integers having a numerical value larger than half of the number of pixels constituting the pixel group. It is good also as selecting.
[0023]
If it is selected that the frequency of use is low, the dot count data is expressed by combining a plurality of count data as described above. When the input image data is data that forms such a number of dots in a pixel group, if a continuous number of dots is selected, the number of dots can be determined by combining multiple number data. It is possible that the pixel group to be represented occurs continuously over a wide range of the image. When this happens, it is unavoidable that the efficiency of handling the data of the number of dots is reduced. However, in order to include at least a non-consecutive portion, in other words, if a selection is made in a state where at least one unselected integer is included among a plurality of selected integers, a plurality of numbers Since pixel groups expressed by a single number data are mixed between pixel groups expressed by combining data, it is possible to suppress a decrease in efficiency.
[0024]
In order to solve at least a part of the above-described problems of the prior art, the image display apparatus of the present invention employs the following configuration. That is,
An image display device that receives image data subjected to predetermined image processing and displays an image on a display medium by forming dots based on the image data,
A number data receiving means for receiving, as the image data, number data representing the number of dots to be formed in the pixel group for each pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Pixel position determining means for determining a pixel position where a dot is formed in the pixel group for each pixel group based on the number of the dots;
Dot forming means for forming dots on the display medium based on the determined pixel positions;
With
The number data is data expressed using a predetermined data format in which the number of states that can be displayed with a single data is smaller than the number of types of dots that can be formed in the pixel group,
The number data receiving means includes
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state Correspondence table storage means for storing a correspondence table in which the number is associated;
Dot number acquisition means for acquiring the number of dots to be formed in the pixel group by interpreting the received number data based on the correspondence table;
It is a summary to provide.
[0025]
Furthermore, the image display method of the present invention corresponding to the image display device described above,
An image display method for receiving image data that has undergone predetermined image processing and displaying an image on a display medium by forming dots based on the image data,
Receiving, as the image data, number data representing the number of dots to be formed in the pixel group for each pixel group in which a plurality of pixels constituting the image are grouped in a predetermined number;
Determining a pixel position where a dot is formed in the pixel group for each pixel group based on the number of dots;
Forming a dot on the display medium based on the determined pixel position (C);
With
The step (A)
As the number data, receiving data expressed using a predetermined data format in which the number of states that can be displayed with a single data is smaller than the kind of the number of dots that can be formed in the pixel group,
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table in which the number is associated is stored in advance,
The gist of the present invention is to obtain the number of dots to be formed in the pixel group by interpreting the received number data based on the correspondence table.
[0026]
In such an image display apparatus and image display method, the number data representing the number of dots formed in the pixel group is received, and the pixel position where the dot is formed in the pixel group is determined based on the number of dots indicated in the number data. After determination, an image is displayed by forming dots at such pixel positions. Here, the number data is expressed in a data format in which the number of states that can be displayed with a single data is smaller than the kind of the number of dots that can be formed in the pixel group.
[0027]
In this way, if the number data is expressed in a data format with a small number of states that can be expressed, the amount of data can be reduced, so that the number data can be received efficiently, and an image can be received accordingly. It is possible to display quickly.
[0028]
In such an image display device, it is also possible to receive number data expressed in a data format capable of displaying 2 n states.
[0029]
In general, data is often displayed in binary. Therefore, if the number data is displayed in a data format that can display 2 n states, the received number data can be displayed in binary display, and the amount of data can be increased accordingly. This is preferable because it becomes possible.
[0030]
In such an image display device, the correspondence table in which the combination of the number data of the removed state and the number data of the remaining state is associated with the number of dots with low frequency formed in the pixel group. It is good also to memorize.
[0031]
In this way, if the number of dots expressed by combining a plurality of pieces of data is set as the number of dots having a low appearance frequency, the overall data amount can be reduced, so that data can be handled efficiently. preferable.
[0032]
Furthermore, in order to solve at least a part of the above-described problems of the prior art, the image processing apparatus of the present invention employs the following configuration. That is,
An image processing apparatus that generates control data used to control dot formation in an image display apparatus that forms dots and displays an image by performing predetermined image processing on image data representing the image. ,
Dot number determining means for determining a number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small The number data output means for converting to and outputting as the control data
With
The number data output means includes
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Is associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated, the combination of the number data indicating the removed state and the number data of the remaining state A correspondence table storing means for storing a correspondence table in which the number of dots is associated;
The gist of the present invention is that the number of dots determined for each pixel group is converted into the number data based on the correspondence table and then output as the control data.
[0033]
The image processing method of the present invention corresponding to the image processing apparatus described above is
An image processing method in which an image display device that forms dots and displays an image generates control data used for controlling the formation of the dots by adding predetermined image processing to image data representing the image. ,
A step (a) of determining a number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small And (b) outputting to the control data
With
The step (b)
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Is associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated, the combination of the number data indicating the removed state and the number data of the remaining state A correspondence table in which the number of dots is associated is stored in advance,
The gist is that the number of dots determined for each pixel group is converted into the number data based on the correspondence table and then output as the control data.
[0034]
In the image processing apparatus and the image processing method according to the present invention, a predetermined plurality of pixels are grouped into a pixel group, the number of dots formed in the pixel group is determined, and then converted into a predetermined data format. Output as data. Here, the number data is expressed in a data format in which the number of states that can be displayed with a single data is smaller than the kind of the number of dots that can be formed in the pixel group.
[0035]
The amount of data tends to decrease as the number of states that can be expressed with a single data decreases. Therefore, if the data of the number of dots formed in the pixel group is converted into a data format with a small number of states that can be expressed, the data amount of the number data can be reduced, so that the data can be output efficiently, Further, it is preferable because an image can be displayed quickly.
[0036]
In such an image processing apparatus, the number of dots formed in a pixel group may be converted into number data in a data format that can display 2 n states, and output.
[0037]
In general, data is often displayed in a binary number. If the data format of the number data is set to a format that can display the state of 2 n powers, the number data can be displayed just in the binary number display. . Thus, if it can be expressed in binary notation, the data amount of the number data can be reduced, which is preferable.
[0038]
In such an image processing apparatus, the combination of the number data of the removed state and the number data of the remaining state is associated with the number of dots that are formed in the pixel group infrequently. A correspondence table may be stored.
[0039]
In this way, the number of dots with low application frequency is expressed by combining a plurality of pieces of data, and the data can be handled efficiently.
[0040]
Furthermore, the present invention can also be realized using a computer by causing a computer to read a program for realizing the above-described image display method or image processing method. Therefore, the present invention includes the following program or a mode as a recording medium on which the program is recorded. That is, the program of the present invention corresponding to the image display method described above is
A program for realizing a method of displaying an image by using a computer by performing predetermined image processing on image data and forming dots on a display medium based on the obtained result,
A first function for determining a number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small A second function that converts to
A third function for obtaining the number of dots determined for each pixel group by receiving and interpreting the converted number data;
A fourth function for determining, for each pixel group, a pixel position at which a dot is formed in the pixel group based on the acquired number of dots;
A fifth function for forming dots on the display medium based on the determined pixel positions;
Is realized using a computer,
The second function is:
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table in which the number is associated is stored in advance,
A function of converting the number of dots determined for each pixel group into the number data based on the correspondence table;
The third function is summarized in that the number of dots determined for each pixel group is obtained by interpreting the number data according to the correspondence table.
[0041]
Further, the program of the present invention corresponding to the image display method described above is
A program for realizing a method of displaying an image on a display medium by using a computer by receiving image data subjected to predetermined image processing and forming dots based on the image data,
A function (A) for receiving, as the image data, number data representing the number of dots to be formed in the pixel group for each pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
A function (B) for determining a pixel position where a dot is formed in the pixel group for each pixel group based on the number of the dots;
A function (C) for forming dots on the display medium based on the determined pixel positions;
Is realized using a computer,
The function (A) is
As the number data, receiving data expressed using a predetermined data format in which the number of states that can be displayed with a single data is smaller than the kind of the number of dots that can be formed in the pixel group,
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table in which the number is associated is stored in advance,
The gist of the present invention is to obtain the number of dots to be formed in the pixel group by interpreting the received number data based on the correspondence table.
[0042]
Furthermore, the program of the present invention corresponding to the image processing method described above is
Using a computer, a method for generating control data used to control dot formation by an image display device that forms dots and displays an image by applying predetermined image processing to image data representing the image A program for realizing,
A function (a) for determining the number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped in a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small A function (b) that converts the data into
Is realized using a computer,
The function (b)
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Is associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated, the combination of the number data indicating the removed state and the number data of the remaining state A correspondence table in which the number of dots is associated is stored in advance,
The gist is that the number of dots determined for each pixel group is converted into the number data based on the correspondence table and then output as the control data.
[0043]
In addition, the present invention can be grasped as a recording medium in which such various programs are recorded in a computer-readable manner.
[0044]
If such a program or a program recorded on a recording medium is read into a computer and the above-described various functions are realized using the computer, even if the image has a large number of pixels, the image can be displayed quickly. Is possible.
[0045]
DETAILED DESCRIPTION OF THE INVENTION
In order to more clearly describe the operation and effect of the present invention, embodiments of the present invention will be described below in the following order.
A. Summary of the invention:
B. First embodiment:
B-1. Device configuration:
B-2. Overview of image printing process:
B-3. Number data generation processing of the first embodiment:
B-4. Number data decoding process of the first embodiment:
B-5. Pixel position determination process of the first embodiment:
C. Second embodiment:
C-1. Overview of the image printing process of the second embodiment:
C-2. Number data generation processing of the second embodiment:
C-3. Number data decoding process of the second embodiment:
C-4. Pixel position determination process of the second embodiment:
[0046]
A. Summary of the invention:
Prior to detailed description of the embodiment, the outline of the present invention will be described with reference to FIG. FIG. 1 is an explanatory diagram for explaining the outline of the present invention, taking a printing system as an example. The printing system includes a computer 10 as an image processing apparatus, a printer 20 as an image display apparatus, and the like. When a predetermined program is loaded and executed on the computer 10, the computer 10 and the printer 20 and the like are executed. It functions as an integrated printing system as a whole. The printer 20 prints an image by forming dots on a print medium. The computer 10 performs predetermined image processing on image data of an image to be printed, so that the printer 20 generates data for controlling dot formation for each pixel and supplies the data to the printer 20.
[0047]
Here, in a normal printing system, the computer converts image data into data representing the presence or absence of dot formation for each pixel constituting the image, supplies the data to the printer, and forms dots based on this data. , Printing images. Here, as the number of pixels of the image to be printed increases, the amount of data representing the presence or absence of dot formation for each pixel also increases, so it takes a long time to output data from the computer to the printer. As a result, the time required for printing also increases. Considering these points, the computer 10 shown in FIG. 1 is provided with a dot number determination module and a number data output module, and performs the following processing.
[0048]
The dot number determination module determines, based on image data, the number of dots formed in a pixel group in which a plurality of pixels constituting an image are grouped into a predetermined number. Here, the number data for each pixel group can be generated by collecting image data into pixel groups and then determining whether or not dots are formed for each pixel group. Alternatively, after the image is first converted into an expression format based on the presence or absence of dot formation, a predetermined number of pixels are grouped to generate a pixel group, and the number of dots formed in each pixel group is determined. good. A portion indicated by a broken line in FIG. 1 shows a case where four adjacent pixels are grouped into a pixel group. The small squares shown in the figure indicate pixels, and the black circles shown in the pixels indicate that it is determined that dots are formed in the pixels. Note that the number of pixels grouped as a pixel group is not necessarily four, and the pixels grouped as a pixel group are not necessarily adjacent to each other.
[0049]
The number data output module outputs data representing the number of dots formed in the pixel group to the printer 20. At this time, data representing the number of dots is converted into number data expressed in a predetermined data format and output. Here, the data format of the number data is a data format in which the number of states that can be displayed with one data is smaller than the kind of the number of dots that can be formed in the pixel group. Referring to the example of FIG. 1, since the pixel group is assumed to be composed of four pixels, the number of dots formed in the pixel group has five states from 0 to 4. Can be taken. On the other hand, the number data uses a data format that can display only four states with one data. Now, four states that can be taken by one piece of number data are referred to as “state 1”, “state 2”, “state 3”, and “state 4”, respectively. For example, “state 1” in the number data represents 0 dot number, “state 2” in the number data represents 1 dot number, and “state 3” represents 2 dot numbers. When the number data is “state 4”, the number data and the next number data represent the number of dots, “state 4” and “state 1” represent the number of dots, and “state 4”. "And" state 2 "represent the number of dots of four. The correspondence between the number of dots and the number data is stored in advance as a correspondence table, and the number data output module refers to the correspondence table to convert the number of dots into number data and outputs the number data to the printer 20. To do.
[0050]
The printer 20 is provided with a pixel position determination module, a dot formation module, and the like. The pixel position determination module interprets the number data supplied from the computer 10 to acquire the number of dots for each pixel group, and then determines the pixel position at which dots are formed in the pixel group based on the acquired number of dots. decide. The interpretation of the number data is executed by referring to a correspondence table describing the correspondence between the number of dots and the number data. Such a correspondence table can be stored in the printer 20 in advance, or the correspondence table stored in the computer 10 may be referred to. Next, a pixel position for forming a dot in the pixel group is determined based on the number of dots. The pixel positions can be determined in advance according to the number of dots, or various methods such as randomly selecting pixel positions corresponding to the number of dots for each pixel group can be applied.
[0051]
The dot forming module forms dots on the print medium based on the determined pixel positions. As a result, an image corresponding to the image data to be printed is printed on the print medium.
[0052]
As described above, in the printing system shown in FIG. 1, the number data representing the number of dots formed in the pixel group is output from the computer 10 to the printer 20, and the data format of the number data is as follows. Employs a data format in which the number of states that can be expressed by one piece of data is smaller than the number of dots formed in a pixel group.
[0053]
In general, the size of data tends to increase as the number of states that can be expressed increases. Therefore, if the data format that can express all the number of dots formed in the pixel group is adopted as the data format of the number data, the data per pixel group becomes large, and the data of the number data as a whole It can happen that the amount increases. On the other hand, if a data format in which the number of states that can be expressed is smaller than the number of dots formed in the pixel group is adopted, the data per pixel group can be reduced, so that It is possible to suppress the data amount of the number data.
[0054]
Of course, when a data format is employed in which the number of states that can be expressed is smaller than the required number of states, the number of dots formed in the pixel group cannot be expressed by a single number data, but a plurality of number data can be combined. In some cases, the data may need to be expressed, and the data may increase for a specific number of dots. However, since the data per pixel group is small except for the specific number of dots, the data amount as a whole of the number data can be reduced. It is possible to output the number data efficiently toward the image and display the image quickly. In the following, various embodiments of the present invention will be described in detail by taking such a printing system as an example.
[0055]
B. First embodiment:
B-1. Device configuration:
FIG. 2 is an explanatory diagram illustrating a configuration of a computer 100 as an image processing apparatus according to the present exemplary embodiment. The computer 100 is a well-known computer configured by connecting a ROM 104, a RAM 106, and the like with a bus 116 around a CPU 102.
[0056]
The computer 100 includes a disk controller DDC 109 for reading data such as the flexible disk 124 and the compact disk 126, a peripheral device interface PIF 108 for exchanging data with peripheral devices, a video interface VIF 112 for driving the CRT 114, and the like. It is connected. A color printer 200, a hard disk 118, and the like, which will be described later, are connected to the PIF 108. Further, if the digital camera 120, the color scanner 122, or the like is connected to the PIF 108, it is possible to print an image captured by the digital camera 120 or the color scanner 122. If the network interface card NIC 110 is installed, the computer 100 can be connected to the communication line 300 to acquire data stored in the storage device 310 connected to the communication line.
[0057]
FIG. 3 is an explanatory diagram showing a schematic configuration of the color printer 200 of the present embodiment. The color printer 200 is an ink jet printer capable of forming dots of four color inks of cyan, magenta, yellow, and black. Of course, in addition to these four color inks, an ink jet printer capable of forming ink dots of a total of six colors including cyan (light cyan) ink having a low dye density and magenta (light magenta) ink having a low dye density is used. You can also In the following, cyan ink, magenta ink, yellow ink, black ink, light cyan ink, and short magenta ink are abbreviated as C ink, M ink, Y ink, K ink, LC ink, and LM ink, respectively. There shall be.
[0058]
As shown in the figure, the color printer 200 drives a print head 241 mounted on a carriage 240 to eject ink and form dots, and the carriage 240 is reciprocated in the axial direction of a platen 236 by a carriage motor 230. And a control circuit 260 that controls dot formation, carriage 240 movement, and printing sheet conveyance.
[0059]
An ink cartridge 242 that stores K ink and an ink cartridge 243 that stores various inks of C ink, M ink, and Y ink are mounted on the carriage 240. When the ink cartridges 242 and 243 are mounted on the carriage 240, each ink in the cartridge is supplied to ink discharge heads 244 to 247 for each color provided on the lower surface of the print head 241 through an introduction pipe (not shown).
[0060]
FIG. 4 is an explanatory diagram showing the arrangement of the ink jet nozzles Nz in the ink ejection heads 244 to 247. As shown in the figure, on the bottom surface of the ink ejection head, four sets of nozzle rows for ejecting ink of each color of C, M, Y, and K are formed, and 48 nozzles Nz per set of nozzle rows. Are arranged at a constant nozzle pitch k.
[0061]
The control circuit 260 has a configuration in which a CPU, a ROM, a RAM, and the like are connected to each other via a bus. The control circuit 260 controls the main scanning operation and the sub-scanning operation of the carriage 240 by controlling the operations of the carriage motor 230 and the paper feed motor 235, and appropriately controls each nozzle based on the data supplied from the computer 100. Control to eject ink droplets at a proper timing. Thus, the color printer 200 can print a color image by forming ink dots of respective colors at appropriate positions on the print medium under the control of the control circuit 260.
[0062]
Various methods can be applied to the method of ejecting ink droplets from the ink ejection heads of the respective colors. That is, a method of ejecting ink using a piezoelectric element, a method of ejecting ink droplets by generating bubbles in the ink passage with a heater arranged in the ink passage, and the like can be used. Also, instead of ejecting ink, use a method that uses ink transfer to form ink dots on printing paper using a phenomenon such as thermal transfer, or a method that uses static electricity to attach toner powder of each color onto the print medium. It is also possible to do.
[0063]
The color printer 200 having the hardware configuration as described above drives the carriage motor 230 to move the ink ejection heads 244 to 247 for each color in the main scanning direction with respect to the printing paper P, and the paper feed motor. By driving 235, the printing paper P is moved in the sub-scanning direction. The control circuit 260 drives the nozzles at appropriate timing to discharge ink droplets while repeating main scanning and sub-scanning of the carriage 240 according to the print data, so that the color printer 200 prints a color image on the printing paper. is doing.
[0064]
B-2. Overview of image printing process:
FIG. 5 is a flowchart illustrating a flow of processing in which the computer 100 and the printer 200 of this embodiment perform predetermined image processing on image data and print an image on a print medium. As will be described later, the image printing process uses the function of the CPU built in the computer 100 in the first half, and the function of the CPU built in the control circuit 260 of the printer 200 in the second half of the process. Executed. Hereinafter, the image printing process of this embodiment will be described with reference to FIG.
[0065]
When the image printing process is started, the computer 100 first starts reading image data to be converted (step S100). Here, the image data is assumed to be RGB color image data, but the present invention is not limited to color image data, and can be similarly applied to monochrome image data.
[0066]
Following the reading of the color image data, a color conversion process is performed (step S102). With color conversion processing, RGB color image data expressed by a combination of R, G, and B gradation values is converted into image data expressed by a combination of gradation values of each color used for printing. It is processing to do. As described above, the printer 20 prints an image using four color inks of C, M, Y, and K. Therefore, in the color conversion processing of the present embodiment, image data expressed by RGB colors is converted to data expressed by gradation values of C, M, Y, and K colors. The color conversion process is performed by referring to a three-dimensional numerical table called a color conversion table (LUT). In the LUT, gradation values of C, M, Y, and K colors obtained by color conversion are stored in advance with respect to RGB color image data, and color conversion can be performed quickly by referring to this LUT for conversion. It becomes possible to do.
[0067]
When the color conversion process is finished, the resolution conversion process is started (step S104). The resolution conversion process is a process of converting the resolution of image data to a resolution (printing resolution) at which the printer 200 performs printing. As described above, in order to improve the print image quality, it is effective to reduce the pixel size and print at a higher resolution. However, it is not always necessary to increase the resolution of the original image data in accordance with the increase in the printing resolution. This is because when printing an image by forming dots, each pixel has only two choices of whether or not to form a dot. Even if the dot size or ink density is changed, the per pixel The number of gradations that can be expressed in a maximum is only a few gradations at most. On the other hand, the read image data can represent 256 gradations per pixel even if it is 1-byte data. As described above, since the gradation that can be expressed per pixel is greatly different, it is possible to improve the print image quality by setting the print resolution higher than the resolution of the image data to be read. For this reason, in step S104 of FIG. 5, processing for converting the resolution of the image data to a higher printing resolution is performed.
[0068]
When a larger image is to be printed, a process for increasing the number of pixels while maintaining the resolution may be performed. Such processing is also exactly the same as the resolution conversion processing described above in that a plurality of pixels having the same image data are generated from one pixel. In the following description, the case of increasing the resolution of an image will be described. However, if the process of increasing the resolution is replaced with the process of increasing the number of pixels, the following description is similarly applied to printing a large image. It is possible to apply.
[0069]
FIG. 6 is an explanatory diagram showing the state of resolution conversion performed in the first embodiment. Note that, as described above, color conversion is performed on RGB image data to obtain image data for each color of C, M, Y, and K. The processing described below is performed for any of these color image data. Is done in the same way. Therefore, in order to avoid complication of the description, the following description will be made without specifying a color.
[0070]
FIG. 6A schematically shows an enlarged part of image data after color conversion. As shown in the drawing, the image data is data in which a gradation value is assigned to each of the pixels arranged in a grid pattern. Each of the plurality of rectangles shown in FIG. 6A schematically represents a pixel, and the numerical value displayed in the rectangle represents a gradation value assigned to each pixel. In order to convert the resolution of such image data to a higher resolution, a new pixel may be generated by performing an interpolation operation between the pixels. However, in this embodiment, as the simplest method, the pixel is made smaller. Resolution conversion is performed by dividing the pixel.
[0071]
FIG. 6B is an explanatory diagram illustrating a state in which the resolution is converted by dividing the pixels. In the illustrated example, each pixel is divided into four in the main scanning direction (left and right in the figure) and divided in two in the sub-scanning direction (up and down in the figure), so that one pixel becomes eight pixels. It is divided. The broken line shown in FIG. 6B represents that the pixel is divided. The small pixel generated in this way is assigned the same gradation value as the gradation value of the original pixel before division. By performing the processing as described above, the resolution of the image data is converted to four times the resolution in the main scanning direction and twice the resolution in the sub scanning direction. Of course, the rate of increase in resolution can be set to various rates as required.
[0072]
When the resolution is converted into the print resolution as described above, the computer 100 starts the number data generation process (step S106). Here, the following processing is performed. The image data after color conversion is gradation data in which gradation values are assigned to each pixel. On the other hand, the printer 200 prints an image by forming dots at an appropriate density at pixel positions. Therefore, it is necessary to transfer the gradation data to data expressed by the presence / absence of dot formation for each pixel and then to the printer 200. Also, if data indicating the presence or absence of dot formation is transferred to the printer 200 in units of pixels, the time required for transfer increases as the number of pixels increases, making it difficult to quickly print an image. . Therefore, in the image printing process of the present embodiment, a predetermined number of pixels are grouped into a pixel group, and the number of dots formed in the pixel group is transferred to the printer 200.
[0073]
In addition, as will be described in detail later, in the image printing process of this embodiment, in order to further improve the data transfer efficiency, the data of the number of dots is transferred to the printer 200 in a coded state. Note that the data on the number of dots formed in the pixel group can be acquired by previously converting the image data into data indicating the presence / absence of dot formation for each pixel and then collecting a plurality of pixels as a pixel group. . Alternatively, as will be described later, after a plurality of pixels are first grouped into a pixel group, the number of dots formed on each pixel in the pixel group can be determined. In the number data generation process in step S106, the dot number data thus formed in the pixel group is encoded to generate the number data and transfer the data to the printer 200. Details of the number data generation processing will be described later.
[0074]
When the CPU incorporated in the control circuit 260 of the printer 200 receives the number data output from the computer 100, the CPU starts a process of decoding the number data (step S108). That is, since the received number data is coded, the data is interpreted to perform processing for obtaining data on the number of dots formed in the pixel group. Details of such processing will be described later.
[0075]
Next, based on the acquired data of the number of dots, a process of determining a pixel position for forming a dot in the pixel group for each pixel group is performed (step S110). Details of the pixel position determination processing will also be described later.
[0076]
When the pixel position where the dot is to be formed is determined as described above, a process for forming a dot at the determined pixel position is performed (step S112). That is, as described with reference to FIG. 3, ink dots are formed on the printing paper by driving ink discharge heads and discharging ink droplets while repeating main scanning and sub-scanning of the carriage 240. By forming dots in this way, an image corresponding to the image data is printed.
[0077]
B-3. Number data generation processing of the first embodiment:
FIG. 7 is a flowchart showing the flow of the number data generation process of the first embodiment. Hereinafter, the contents of the number data generation process will be described in detail with reference to a flowchart.
[0078]
When the number data generation process is started, first, a predetermined plurality of pixels are collected to generate a pixel group (step S200). Here, since one pixel is divided into eight pixels in the resolution conversion process, eight pixels obtained by dividing the same pixel are grouped into a pixel group. For example, the pixel at the upper left corner in FIG. 6A is divided into 8 pixels in 2 columns by 4 columns in the upper left in FIG. 6B. A pixel group is generated. Note that the pixels grouped as a pixel group do not have to be adjacent to each other, and any pixel having a predetermined positional relationship can be grouped as a pixel group.
[0079]
Further, when the pixels divided from the same pixel are collected as a pixel group in this way, the resolution conversion process (see FIG. 6) in FIG. 5 can be omitted. In this case, in the following description, substantially the same processing can be performed by replacing a part “pixel group” with “pixel before resolution conversion”.
[0080]
Next, one pixel of interest (a pixel of interest) is set in order to determine the presence or absence of dot formation from the pixels grouped as a pixel group (step S202). Then, the presence / absence of dot formation for the pixel of interest is determined by comparing the gradation value assigned to the pixel of interest with the threshold value of the dither matrix (step S204). Here, the dither matrix is a two-dimensional number table in which a plurality of threshold values are stored in a lattice shape. Processing for determining the presence / absence of dot formation using a dither matrix will be described with reference to FIGS.
[0081]
FIG. 8 is an explanatory diagram illustrating a part of the dither matrix. In the illustrated matrix, threshold values that are uniformly selected from the range of gradation values 0 to 255 are randomly stored in a total of 4096 pixels, 64 pixels in the vertical and horizontal directions. Here, the threshold gradation value is selected from the range of 0 to 255. In this embodiment, the image data is 1-byte data, and the gradation value assigned to the pixel takes a value of 0 to 255. It corresponds to getting. Note that the size of the dither matrix is not limited to 64 pixels in the vertical and horizontal directions as illustrated in FIG. 8, and can be various sizes including those having different numbers of vertical and horizontal pixels.
[0082]
FIG. 9 is an explanatory diagram conceptually showing a state in which the presence or absence of dot formation for the pixel of interest is determined with reference to the dither matrix. When determining the presence or absence of dot formation, first, the gradation value of the pixel of interest is compared with the threshold value stored at the corresponding position in the dither matrix. The thin dashed arrows shown in the figure schematically represent that the gradation value of the pixel of interest is compared with the threshold value stored at the corresponding position in the dither matrix. When the gradation value of the pixel of interest is larger than the threshold value of the dither matrix, it is determined that a dot is formed on that pixel. On the other hand, when the threshold value of the dither matrix is larger, it is determined that no dot is formed in the pixel. In the example shown in FIG. 9, the image data of the pixel at the upper left corner of the image data has a gradation value of 97, and the threshold value stored at the position corresponding to this pixel on the dither matrix is 1. Therefore, for the pixel in the upper left corner, the gradation value 97 of the image data is larger than the threshold value 1 of the dither matrix, and therefore it is determined that a dot is formed on this pixel. An arrow indicated by a solid line in FIG. 9 schematically shows a state in which it is determined that a dot is to be formed in this pixel and the determination result is written in the memory. On the other hand, for the pixel on the right side of this pixel, the gradation value of the image data is 97, and the threshold value of the dither matrix is 177. Since the threshold value is larger, it is determined that no dot is formed for this pixel. In step S204 in FIG. 7, a process for determining whether or not to form a dot on the target pixel is performed while referring to the dither matrix.
[0083]
Next, it is determined whether or not the above processing has been performed on all the pixels in the pixel group (step S206). If unprocessed pixels remain in the pixel group (step S206: no), step is performed. Returning to S202, the following series of processing is performed. When the determination of dot formation is completed for all the pixels in the pixel group (step S206: yes), the number of dots formed in the pixel group is detected, and the detected dot number is encoded and stored in the memory. (Step S208). In the example shown in FIG. 9, since it is determined that dots are formed in three pixels for the pixel group in the upper left corner of the image, the number of dots for this pixel group is “3”. Therefore, this value is encoded and stored in the memory. Processing for encoding the number of dots will be described later.
[0084]
As described above, when the process for one pixel group is completed, it is determined whether or not the process has been completed for all the pixels (step S210). If unprocessed pixels remain, the process returns to step S200. After a new pixel group is generated, a series of subsequent processes are performed, and the number of dots formed in the pixel group is stored in a coded state (step S208). When such processing is repeated and the processing for all the pixels in the image is completed (step S210: yes), the data of the number of dots stored for each pixel group in a coded state is used as the number data for the printer. It outputs toward 200 (step S212). When the number data is output in this way, the number data generation process shown in FIG. 7 is terminated.
[0085]
FIG. 10 is an explanatory diagram conceptually showing how number data is generated by applying number data generation processing to image data. A large rectangle shown in the figure represents a pixel group, and a small rectangle that divides the pixel group into two vertically and four horizontally represents a pixel. FIG. 10A conceptually shows how the presence or absence of dot formation is determined for each pixel in the pixel group. In FIG. 10A, pixels determined to form dots are displayed with diagonal lines. FIG. 10B is an explanatory diagram conceptually showing how the number of dots formed in each pixel group is detected. The numbers displayed in the pixel groups represent the number of dots to be formed in each pixel group. The dot count data thus obtained is encoded into data as shown in FIG. 10C, and then output to the printer 200 as count data.
[0086]
Here, a process of coding dot number data and converting it into number data will be described. The number data is expressed by the number of dots formed in the pixel group by one code or a combination of a plurality of codes. The process of converting the dot count data into count data is performed by referring to a correspondence table as shown in FIG. FIG. 11B is an explanatory diagram summarizing the contents represented by the codes constituting the number data. For the convenience of understanding, the meaning of the code will be described first with reference to FIG.
[0087]
First, as described above, since the pixel group is composed of eight pixels, the number of dots formed in the pixel group can take nine values from 0 to 8. Thus, although the number of dots can take nine values, in the present embodiment, this is expressed using a code that can express only eight states with a single code. When the code is displayed in a binary number, if there are 8 states, it can be expressed if there is a 3-bit data length. FIG. 11B shows a state that can be expressed by a 3-bit code in binary notation and the contents that the code of each state represents. As shown in the figure, 3-bit data in binary notation can express eight states from “000” in bit display to “111” in bit display. In FIG. 11B, octal display is also shown in addition to bit display. In the figure, the display (o) appended to the number indicates that it is displayed in octal. Of these eight states that can be displayed, 000 (0 (o) in octal display) to “110” (6 (o) in octal display) represents the number of dots. On the other hand, “111” (7 (o) in octal display) represents an extended code having a special meaning instead of the number of dots.
[0088]
As shown in FIG. 11A, the correspondence table referred to in the process of coding the data of the number of dots associates the number of dots formed in the pixel group with these codes. It is remembered. In the example of FIG. 11 (a), the code of 0 (o) in octal display is associated with the dot number 0. Similarly, the code of 1 (o) to 6 (o) is displayed in octal display. , Dot number 1 to dot number 6 are associated with each other. In addition, the code of 7 (o) in octal display is an extended code, and this code is not a number of dots, but a special code that displays the number of dots by a combination of the code 7 (o) and the next code. Have meaning. In the example shown in FIG. 11A, when the code 0 (o) is followed by the extension code 7 (o), the number of dots is 7 and the code 1 (o) is followed by the extension code 7 (o). Represents 8 dots.
[0089]
In step S208 of the number data conversion process shown in FIG. 7, the pixel data is formed in the pixel group with reference to the correspondence table in which the number of dots and the encoded data (encoded data) are associated with each other. Data for the number of dots is encoded and converted into number data.
[0090]
Here, the description will be made assuming that the code of 7 (o) is set as the extension code in octal display, but the code set as the extension code is not limited to 7 (o), and any code Can be set as an extension code. It is also possible to set a plurality of extension codes having different meanings. For example, in addition to an output method for outputting the number of dots formed in a pixel group, an output method for directly outputting the presence / absence of dot formation for each pixel is also provided. An appropriate output method is selected for each pixel group and the printer 200 is selected. It is also possible to use one of the extension codes in order to indicate which output method the data is.
[0091]
The number data thus generated in the computer 100 is supplied to the printer 200. Since the number data is coded, when the printer 200 receives the number data, the printer 200 obtains the number of dots formed in the pixel group by decoding the data. Then, based on the acquired number of dots, a pixel position for forming a dot in the pixel group is determined, and an image is printed by forming a dot at the determined pixel position. Hereinafter, processing performed in the printer 200 will be described in detail.
[0092]
B-4. Number data decoding process of the first embodiment:
When the printer 200 receives the number data, first, the printer 200 performs a process of decoding the number data and obtaining the number of dots. FIG. 12 is a flowchart showing the flow of the number data decoding process. This number data decoding process is executed by the function of the CPU built in the control circuit 260 of the printer 200. Hereinafter, it demonstrates according to a flowchart.
[0093]
When the number data decoding process is started, the CPU of the control circuit 260 first reads the number data for one code (step S300). Here, since the code is displayed as 3-bit data (when displayed in binary), in step S300, processing for reading the 3-bit number data is performed.
[0094]
Next, it is determined whether or not the read code is an extended code (step S302). As shown in FIG. 11, since the code of 7 (o) in octal notation is set as the extension code here, it is determined whether or not the code read in step S300 is 7 (o). If the read code is not an extended code (step S302: no), the read code is converted into dot count data with reference to the correspondence table shown in FIG. 11A (step S306).
[0095]
On the other hand, when the read code is an extended code (step S302: yes), it is considered that the number of dots is expressed by the read extended code and the next code. Therefore, another code is read (step S304). Then, by referring to the correspondence table shown in FIG. 11A, the combination of the extension code read first and the code read this time is converted into the number of dots (step S306).
[0096]
By performing the processing as described above, the number data of one pixel group is decoded and converted into the number of dots. When the decoding for one pixel group is completed in this way, it is determined whether or not the decoding for all pixel groups is completed (step S308). If an unprocessed pixel group remains (step S308: no), the process returns to step S300, a new one code is read from the number data, and the following series of processes is performed. When such operations are repeated and decoding for all the pixel groups is completed (step S308: yes), the CPU built in the control circuit 260 of the printer 200 ends the number data decoding process shown in FIG. A process for determining a pixel position for forming a dot in the pixel group (image printing process in FIG. 5) is started.
[0097]
B-5. Pixel position determination process of the first embodiment:
FIG. 13 is a flowchart showing the flow of pixel position determination processing performed by the printer 200 in the first embodiment. FIG. 14 is an explanatory diagram conceptually showing how the positions of the pixels forming the dots in the pixel group are determined based on the number of dots in the pixel group. Hereinafter, the pixel position determination process will be described with reference to the flowchart of FIG. 13 and the explanatory diagram of FIG.
[0098]
When the pixel position determination process is started, first, one pixel group whose pixel position is to be determined is selected (step S400 in FIG. 13), and the number of dots in the pixel group is acquired (step S402). The number of dots acquired here is the number of dots obtained by decoding the number data by the number data decoding process described with reference to FIG.
[0099]
FIG. 14A is an explanatory diagram conceptually showing the number of dots for each pixel group obtained by decoding the number data. Here, it is assumed that the pixel group at the upper left corner in the drawing is selected as the pixel group for determining the pixel position. As shown in FIG. 14A, since the number of dots for the pixel group at the upper left corner is 3, in step S302 of FIG. 13, “3” is set as the number of dots formed in the selected pixel group. To get.
[0100]
Next, by referring to the dither matrix, a process for determining a pixel position for forming a dot in the pixel group is performed (step S404). It can be considered that the threshold value set for each pixel of the dither matrix represents the ease with which dots are formed. This is because when determining the presence or absence of dot formation with reference to the dither matrix, the gradation value of the image data is compared with the threshold value of the dither matrix, and it is determined that a dot is formed at a pixel having a larger gradation value. . That is, dots are more easily formed as the dither matrix has a smaller threshold, and dots are less likely to be formed as the threshold is increased. From this, it can be considered that the threshold set in the dither matrix represents the ease with which dots are formed.
[0101]
By referring to the dither matrix, it is possible to know which pixel in the pixel group is most likely to form a dot. Therefore, the pixel position can be determined based on the number of dots formed in the pixel group. The contents of this process will be described in detail with reference to FIG. 14 again. Here, since the pixel group at the upper left corner in FIG. 14A is selected as the pixel group to be processed, the pixel group is stored in the corresponding position on the dither matrix shown in FIG. Get each threshold that is being used. FIG. 14B is an explanatory diagram schematically showing the threshold value of the dither matrix obtained in this way. In the pixel group to be processed, dots are formed in order from the pixel with the smallest read threshold value. As shown in FIG. 14A, since the number of dots formed in the pixel group being processed is three, the pixel position can be determined as shown in FIG. 14C according to the threshold value of each pixel. That is, in FIG. 14C, three pixels, the pixel having the smallest threshold value surrounded by a solid line, the pixel having the second smallest threshold value surrounded by a broken line, and the pixel having the third smallest threshold value surrounded by an alternate long and short dash line are shown. , And can be determined as pixels on which dots are formed.
[0102]
As described above, when the pixel positions where dots are to be formed are determined for the pixel group to be processed, it is determined whether or not the processing for all the pixel groups has been completed (step S406 in FIG. 13). If an unprocessed pixel group remains (step S406: no), the process returns to step S400 to select a new pixel group, and a series of subsequent processes are performed. By repeating such processing, the data indicating the number of dots for each pixel group illustrated in FIG. 14A is converted into data indicating the presence or absence of dot formation for each pixel as shown in FIG. Go. Note that the hatched pixels in FIG. 14D indicate pixels on which dots are formed. When all the pixel groups have been processed (step S406: yes), the pixel position determination process illustrated in FIG. 13 is terminated, and the process returns to the image printing process in FIG.
[0103]
The image printing process according to the first embodiment, the number data generation process and the pixel position determination process performed during the process have been described in detail above. As described above, in the image printing process according to the first embodiment, when data subjected to the image process is output from the computer 100 to the printer 200, instead of the data indicating the presence / absence of dot formation for each pixel, The data indicating the number of dots formed in is output. In this way, the amount of data can be greatly reduced as compared to outputting data indicating the presence / absence of dot formation for each pixel, so that the data can be efficiently output from the computer 100 to the printer 200, which is extended. Makes it possible to print an image quickly.
[0104]
In addition, in the present embodiment, the data of the number of dots formed in the pixel group is output to the printer 200 in the encoded state as described above. By encoding in this way, the amount of data can be further reduced, so that the image can be printed more quickly. Hereinafter, this reason will be described.
[0105]
Here, since the pixel group is composed of eight pixels, the number of dots formed in the pixel group can take nine values from 0 to 8, as described above. . Therefore, in order to display the number of dots formed in the pixel group as one data, a data length of 4 bits is required (when the data is displayed in binary). Now, assuming that one pixel includes N pixel groups, the data amount of the number of dots to be output to the printer 200 for displaying one image is 4N-bit data.
[0106]
Next, consider the case where the data of the number of dots is encoded and output. In encoding, the number of dots is converted into encoded data according to the correspondence table shown in FIG. As shown in FIG. 11A, the coded data is expressed by one code when the number of dots is 0 to 6, and when the number of dots is 7 or 8. Is represented by two codes. Now, assuming that one image is composed of N pixel groups, and there are n pixel groups in which 7 or 8 dots are formed, about N−n pixel groups, It is expressed by one code, and n pixel groups are expressed by two codes. Since the data length of one code is 3 bits, the encoded dot count data is
3 (N−n) + 2 · 3n = 3 (N + n)
Bit data.
[0107]
FIG. 15 is an explanatory diagram collectively showing such a relationship, that is, changes in the amount of data when the data of the number of dots is coded. When not coded, the number of dots is represented by 4-bit data, and the total data amount is 4N bits. When the data of the number of dots is coded, it is expressed using a 3-bit code that is one less than 4 bits, and the total data amount is 3 (N + n) bits. Here, N is the number of pixel groups included in the image, and n is the number of pixel groups in which the number of dots is expressed by two codes (that is, a pixel group in which seven or eight dots are formed). . Now, the number of dots formed in the pixel group can take 9 values from 0 to 8, but if any state can be taken equally,
n = (2/9) N
Thus, the data amount of the coded number of dots is about 3.67 N bits. Since the amount of data when not coded is 4N bits, in this case, the amount of data is reduced by about 10% by coding. In particular, when printing an image having a large number of pixels, data can be efficiently output from the computer 100 to the printer 200 by reducing the amount of data, and the image can be printed quickly.
[0108]
In the above description, the number of dots formed in the pixel group is assumed to be equal to nine values from 0 to 8, but in reality, these nine values are assumed to be equal. is not. Therefore, if the number of dots that are used infrequently is expressed using an extension code, the amount of data can be further reduced. Referring to the example of FIG. 15, for example, there are only 5% of all the pixel groups in which the number of dots (7 and 8) represented using the extension code is present, It is assumed that the 95% pixel group has the number of dots (0 to 6) that can be expressed without using an extension code. in this case,
n = 0.05N
Therefore, the data amount of the coded dot number is 3.05 N bits. Since the amount of data when not coded is 4N, the amount of data can be reduced by about 24% by coding.
[0109]
In fact, in the example of FIG. 11, among the number of dots that can take nine values, the number of dots is 7 and 8 and large numerical data is expressed using an extension code. It is considered that the appearance frequency of simple data is lower than that of small numerical data for the following reason.
[0110]
When printing an image by forming ink dots on a print medium as in the printer 200 of the present embodiment, the number of dots to be formed and the density expressed on the print medium thereby have a linear relationship. It is not. This is because the density of the expressed density does not increase in proportion to the increase in the number of dots in an area where the dot formation density is high due to ink bleeding. Therefore, even if the number of dots formed in the pixel group can take 9 values from 0 to 8, it can be in the range of 6 to 8 from the density range that can be expressed in the range of 0 to 2, for example. The expressible concentration range is narrower. In other words, the density range expressed by sharing the large number of dots is narrower than the density range expressed by sharing the small number of dots. For this reason, the large number of dots is a small value. The frequency of use is lower than the number of dots.
[0111]
In general, a print medium has a permissible limit value for the amount of ink that can be used per unit area due to a demand for image quality. In a printer capable of printing a color image by forming multicolor ink dots such as C, M, and Y, such an allowable amount of ink is set. Acts as a factor of lowering. For example, when many dots are formed with an ink of a certain color, the number of dots formed with an ink of another color is often suppressed to a small number in order to suppress the amount of ink used within an allowable range. That is, for a certain pixel group, the number of dots for each ink rarely becomes a large value at the same time. For this reason, when all the inks are viewed, the frequency of appearance of a large number of dots is reduced.
[0112]
For the reasons described above, if the data expressed using the extension code is assigned to data having a large value among possible numerical values, the amount of data to be output from the computer 100 to the printer 200 is effectively suppressed. It becomes possible. Here, the “large value” may be a value that is at least a majority, and for example, if it can take a value of 0 to 8, a value to be expressed using an extension code is selected from a value of 5 or more. If so, an effect of suppressing the data amount can be obtained. Further, according to experience, the value expressed using the extension code is in the range of 1/3 to 1/4 from the larger value in the possible range (in the example of FIG. 11, the range of 6 to 8, or 7 If selected from the range of ˜8), the data amount can be more effectively suppressed.
[0113]
Furthermore, when data expressed using an extension code is assigned to a plurality of data having a large value, the plurality of values may be set to values that are not continuous with each other. FIG. 16 is an explanatory view exemplifying how extended data is assigned in this way. Here, it is assumed that one pixel group includes 16 pixels. In this case, the number of dots formed in one pixel group can take 17 values from 0 to 16, but the data of the number of dots is a 4-bit data that can express 16 states. It shall be expressed in code. FIG. 16A is an explanatory diagram collectively showing the contents represented by each 4-bit code. In addition, the display of (h) in the figure indicates that it is displayed in hexadecimal number. For example, the display of D (h) indicates 13 when displayed in decimal number, and also indicates F (h). The display shows 15 in decimal notation.
[0114]
As shown in FIG. 16A, codes 0 (h) to D (h) indicate the number of dots, E (h) is an extension code, and F (h) is a spare extension code. It shall be shown. The spare extension code is a spare code that takes into account, for example, the case where it is used as an extension code indicating that each pixel is output in a data format indicating the presence or absence of dot formation, rather than the number of dots formed in the pixel group. This is the code that has been secured.
[0115]
FIG. 16B shows a correspondence table in which coded data (encoded data) is associated with the number of dots formed in a pixel group. As shown in the drawing, the number expressed in combination with the extension code (E (h)) is selected from the number of values larger than “12”. As described above, since a large number has a low appearance frequency, the amount of data to be output from the computer 100 can be effectively suppressed by expressing such a number using an extension code.
[0116]
However, the number expressed by using the extension code is not a completely continuous number such as 14, 15, 16 or the like, but is a portion that is not at least partially continuous, such as 12, 14, 15 Is selected to include. This is due to the following reason. If a large number of dots expressed by using an extended code happens to appear continuously in a wide range, if all data is expressed using the extended code, it should be output to the printer. The data volume will increase on the contrary. Therefore, in order to disperse such danger, it is selected not to include continuous values but to include discontinuous portions at least partially.
[0117]
C. Second embodiment:
In the first embodiment described above, it has been described that each pixel can express only two states, that is, whether dots are formed or not. However, in some printers, by controlling the size of the dots to be formed or changing the ink density used to form the dots, more individual gradation values can be obtained for individual pixels. Some printers can be expressed. The present invention can be effectively applied to such a so-called multi-value printer. The second embodiment in which the present invention is applied to a multi-value printer will be described below.
[0118]
C-1. Overview of the image printing process of the second embodiment:
FIG. 17 is a flowchart showing the flow of the image printing process of the second embodiment. The image printing process of the third embodiment is largely different from the image printing process of the first embodiment described with reference to FIG. 5 in that the data after the color conversion process is converted into large, medium, and small dot data. . Hereinafter, the image printing process of the second embodiment will be described focusing on this difference. Here, the printer 200 is described as a multi-value printer that can change the size of dots, but of course the following description is for a printer that changes the density of ink instead of the size of dots. The present invention can also be applied to a multi-value printer that can change the dot size and the ink density at the same time.
[0119]
In the image printing process of the second embodiment, as in the image printing process of the first embodiment, first, image data to be converted is read (step S500), and color conversion processing is performed on the read data. This is performed (step S502). The image data is converted into gradation data expressed by gradation values of C, M, Y, and K colors by performing color conversion processing.
[0120]
Here, in the printer 200 of the first embodiment described above, the dot size cannot be changed, and only one of the states of forming or not forming dots for each color can be obtained. For this reason, the presence or absence of dot formation for each pixel was immediately determined based on the data after color conversion. On the other hand, in the printer 200 of the second embodiment, it is possible to change the size of the dots to form three types of dots, large dots, medium dots, and small dots. Therefore, the gradation data obtained by the color conversion process is temporarily converted into data for large dots, data for medium dots, and data for small dots for each color (step S504).
[0121]
Conversion from gradation data to dot data of large dots, medium dots, and small dots is performed by referring to a conversion table shown in FIG. As shown in the figure, large dot data, medium dot data, and small dot data are stored in association with gradation data in the conversion table. By referring to such conversion table, gradation data after color conversion is stored. Convert.
[0122]
Next, resolution conversion processing is performed on each of the large dot data, medium dot data, and small dot data (step S506). Although various methods can be applied to the resolution conversion, in order to simplify the description, here, as in the first embodiment, the resolution is divided by dividing the pixels. For the new pixel generated by division, the same gradation value as that of the original pixel is set.
[0123]
After the resolution is converted to the printing resolution in this way, the number data generation process is performed (step S508). In the second embodiment, since the printer 200 can form three types of dots, large dots, medium dots, and small dots, in the number data generation process, after determining the number of dots for these various dots, Data indicating the number is encoded and output to the printer 200.
[0124]
FIG. 19 is an explanatory diagram showing how the number of dots formed in the pixel group is determined from the dot data in the number data generation process of the second embodiment. FIG. 19A schematically illustrates a state in which dot data for various large, medium, and small dots is set for each pixel grouped as a pixel group. Each solid line rectangle shown in the figure represents a pixel group. The pixel group is composed of a plurality of pixels, and the dot data is set for each pixel. Here, in order to avoid complicated illustration, the display of each pixel is omitted, and instead the dot data is displayed. The data is displayed as being set in the pixel group. For example, Data (L, M, S) = (2, 90, 32) is displayed in the pixel group in the upper left corner of FIG. 19A because each pixel in the pixel group has a large dot. Dot data “2”, medium dot data “90”, and small dot data “32” are set. Of course, as described in the first embodiment, when all the pixels constituting the pixel group have the same gradation value, resolution conversion processing is not performed, and resolution conversion is substantially performed in the number data generation processing. It is also good to do.
[0125]
In the number data generation process of the second embodiment, data representing the number of various dots formed in the pixel group is generated by performing the process described later on the dot data for such various dots. FIG. 19B conceptually shows how data representing the number of various dots is generated for each pixel group. For example, Dot (L, M, S) = (1, 2, 1) is displayed in the pixel group in the upper left corner of FIG. 19B. This pixel group has one large dot. This indicates that two medium dots and one small dot are formed. Thus, the data representing the number of various dots obtained for each pixel group is encoded and output to the printer 200 as the number data. The contents of the number data generation process of the second embodiment will be described later.
[0126]
When the printer 200 receives the number data output from the computer 100, the printer 200 interprets the data to perform decoding processing into data representing the number of various dots (step S510). Details of the process of decoding the number data will be described later.
[0127]
Next, based on the data representing the number of various dots obtained by decoding, a process for determining a pixel position for forming a dot in the pixel group for each of the various dots (step S512). That is, in the first embodiment, only one type of dot can be formed, whereas in the second embodiment, various large, medium, and small dots can be formed. A process for determining a pixel position for forming a dot is performed. The contents of the pixel position determination process of the second embodiment will be described later.
[0128]
After determining the pixel position in this way, the printer 200 forms large, medium, and small dots on the printing paper by driving the ink ejection head while repeating main scanning and sub-scanning of the carriage 240 (step S514). As a result, an image corresponding to the image data is printed.
[0129]
C-2. Number data generation processing of the second embodiment:
The contents of the number data generation process of the second embodiment will be described below. FIG. 20 is a flowchart showing the flow of the number data generation process of the second embodiment. Such processing is also executed by a CPU built in the computer 100.
[0130]
When the number data generation process of the second embodiment is started, the CPU first generates a pixel group by collecting a plurality of predetermined pixels from the image data (step S600). In the resolution conversion process (step S506 in FIG. 17) performed prior to the number data generation process, a new pixel is generated by dividing the pixel as in the first embodiment. A plurality of pixels divided from the above are grouped as a pixel group.
[0131]
Next, large dot, medium dot, and small dot data are read for each pixel in the pixel group (step S602). That is, as described with reference to FIG. 19A, processing for reading dot data of various dots is performed for each pixel in the pixel group. Here, since all the pixels constituting the pixel group are divided from the same pixel and have the same gradation value, instead of reading dot data for each pixel, only one pixel is read for each pixel group. It is also good.
[0132]
When the dot data of various dots is read in this way, a process for determining the presence / absence of formation of large dots, medium dots, and small dots is performed by referring to the dither matrix (step S604). Such processing will be described in detail with reference to FIG.
[0133]
FIG. 21 is an explanatory diagram showing a method for determining whether a large dot, a medium dot, or a small dot should be formed on the target pixel while referring to the dither matrix. In FIG. 21, it is assumed that the data shown in FIG. 19A is used as the dot data, and the matrix shown in FIG. 8 is used as the dither matrix.
[0134]
FIG. 21 shows a state of determining whether or not various dots are formed for the pixel group in the upper left corner of the image. In the figure, a thick solid rectangle represents a pixel group. The pixel group divided by thin broken lines indicates that the pixel group is composed of a plurality of pixels. The numerical values shown in the pixels represent threshold values set at corresponding positions in the dither matrix.
[0135]
When the determination of dot formation is started, first, the dot data of the large dot is compared with the threshold value set in the dither matrix, and a large dot is formed for the pixel with the larger dot data. to decide. FIG. 21A shows a state in which whether or not a large dot is formed is determined for each pixel in the pixel group. Specifically, since the dot data for large dots is “2”, the dot data is larger only for the pixel with the gradation value “1” in the upper left corner, and all the other pixels are dithered. The matrix threshold is larger. Therefore, only one large dot is formed in this pixel group. In FIG. 21A, a pixel with a dither matrix threshold value “1” is thinly hatched to indicate that a large dot is determined to be formed on this pixel.
[0136]
If it is determined whether or not a large dot is formed, it is determined whether or not a medium dot is formed. When determining the medium dot, the medium dot data is calculated by adding the medium dot data to the large dot data, and the intermediate data is compared with the threshold value of the dither matrix. Then, it is determined that a medium dot is formed for a pixel whose intermediate data is larger than the threshold value. At this time, for the pixels for which large dots have already been formed, whether or not medium dots are formed is not determined. Specifically, referring to FIG. 21B, the dot data for the large dot is “2” and the dot data for the medium dot is “90”, so the intermediate data for the medium dot is “92”. Is calculated. This intermediate data is compared to a dither matrix threshold for each pixel. However, since the pixel at the upper left corner in the pixel group has already formed a large dot, it is excluded from the comparison. As a result, for the pixels with the dither matrix threshold “42” and “58”, the intermediate data is larger, so it is determined that the number of medium dots formed is two. In FIG. 21B, these pixels are shaded to indicate that intermediate data is determined to be larger for these pixels.
[0137]
When it is determined whether or not medium dots are formed, it is finally determined whether or not small dots are formed. When determining the small dots, the dot data of the small dots is added to the intermediate data for the medium dots to calculate the intermediate data for the small dots. For the pixels that have not yet been determined to form dots, the intermediate data and Compare with dither matrix threshold. Then, it is determined that a small dot is formed for a pixel having a larger intermediate data. More specifically, referring to FIG. 21C, since the intermediate data for medium dots is “92”, the dot data “32” for small dots is added and the intermediate data for small dots is “ 124 ". The intermediate data is compared with the threshold value of the dither matrix. As a result, it is determined that only one small dot is formed for this pixel group because the intermediate data is larger than the threshold value of the dither matrix only for the pixel having the threshold value “109”. In FIG. 21C, a pixel with a rough oblique line represents that it is determined that the intermediate data is larger than the threshold value for this pixel. In step S604 of FIG. 20, whether or not large dots, medium dots, and small dots are formed is determined for each pixel in the pixel group as described above.
[0138]
When it is determined whether or not various dots are formed as described above, the number of various dots to be formed in the pixel group is encoded and stored (step S606). In the example shown in FIG. 21, since the number of various dots formed in the pixel group is one large dot, two medium dots, and one small dot, this set of dot numbers is coded. It is memorized in the state. The encoding process will be described later.
[0139]
Thus, the number of various dots to be formed in the pixel group is determined and stored for each pixel group in the coded state, and if it is stored, it is determined whether or not the processing for all the pixels included in the image data has been completed (step). S608). If unprocessed pixels remain (step S608: no), the process returns to step S600 to generate a new pixel group, and then a series of subsequent processes are repeated. When the processing for all the pixels is completed in this way (step S608: yes), data representing the number of various dots stored for each pixel group in the coded state is sent to the printer 200 as number data. Output (step S610).
[0140]
Here, a process of coding data indicating the number of various dots in step S606 will be described. The pixel group is composed of eight pixels, and each pixel can take four states of forming either a large, medium, or small dot or not forming a dot. Therefore, the combination of the number of various dots formed in the pixel group is equal to the number of combinations when eight times are selected from among these four kinds of states, allowing duplication.
4 H 8 (= 4 + 8-1 C 8 )
As a result, 165 combinations exist. here n H r Is an operator that determines the number of overlapping combinations when selecting r times from n objects with overlapping allowed. Also, n C r Is an operator for obtaining the number of combinations when selecting r times from n objects (without allowing duplication).
[0141]
FIG. 22A is an explanatory diagram showing combinations of various 165 dots. As shown in FIG. 22B, data having a data length of 7 bits can only represent a total of 128 states from a state where all bits are 0 to a state where all bits are 1. Therefore, in order to represent all 165 combinations, it is necessary to use 8-bit data as shown in FIG. In the following description, in order to enable easy display of 7-bit data, the upper 3 bits and the lower 4 bits are divided into two and expressed in a combination of octal display and hexadecimal display. For example, data in which all bits are 0 are expressed as 0 (o) 0 (h). Here, (o) represents that octal numbers are displayed, and (h) represents that hexadecimal numbers are displayed. Similarly, 8-bit data is represented by being divided into upper 4 bits and lower 4 bits.
[0142]
In this way, if the data length is 8 bits, data representing the number of various dots can be expressed, but 8-bit data can represent 256 states. Since there are only 37 states that can be represented with a data length of 7 bits, if 8 bits data that can represent 256 states for all pixel groups is used, the amount of data output to the printer 200 is increased. Since it invites, it is not preferable. Therefore, in step S606 of FIG. 20, the number of various dots that can take 165 combinations is coded and expressed using a code having a data length of 7 bits.
[0143]
The process of coding the number of data for various dots is performed by referring to the correspondence table as in the first embodiment. FIG. 23 is an explanatory diagram conceptually showing a correspondence table referred to in coding. As shown in the figure, in the correspondence table, combinations of the numbers of various dots and encoded data (encoded data) are stored in association with each other. Each encoded data is configured by combining one or a plurality of codes having a data length of 7 bits. Here, for convenience of understanding, the contents represented by each code will be described before the correspondence table is described.
[0144]
FIG. 24 is an explanatory diagram showing the contents represented by each code stored in the correspondence table. Since the code is data having a data length of 7 bits, it can express 128 states from 0 (o) 0 (o) to 7 (o) F (o). Among these, 7 (o) F (o) codes represent extension codes, and the other 127 types of codes represent combinations of the number of various dots. In other words, each code from 0 (o) 0 (o) to 7 (o) E (o) represents the combination of the number of various dots as it is, while the extension code 7 (o) F (o) Represents the number of various dots by combining the code with another code.
[0145]
In the correspondence table shown in FIG. 23, the combinations of the numbers of various dots and the encoded data are stored in association with each other in this way. For example, a code of 0 (o) 0 (h) is stored in association with a combination in which all the numbers of small dots, medium dots, and large dots are zero. In addition, a code of 0 (o) 1 (h) is stored in association with a combination in which the number of small dots is 1, and the number of medium dots and large dots is 0. In this way, 127 combinations indicating the number of various dots (0 to 126 in the serial numbers shown in FIG. 23) are assigned to each code from 0 (o) 0 (h) to 7 (o) E (h). Are associated with each other. The serial numbers 127 to 164 are associated with a combination of 7 (o) F (h), which is an extension code, and another code.
[0146]
In step S606 in the number data generation process shown in FIG. 20, referring to the correspondence table shown in FIG. 23, data representing the number of various dots is converted into data expressed using a code having a data length of 7 bits. Convert it.
[0147]
In the above description, the extended code is set to 7 (o) F (h). However, the present invention is not limited to this, and any code in the 7-bit code is set as the extended code. It is also possible to do.
[0148]
Data representing the number of various dots formed in the pixel group is supplied to the printer 200 in such a coded state. Upon receiving such number data, the printer 200 decodes the number data (step S510 in FIG. 17), and then performs a process (step S512 in FIG. 17) for determining pixel positions where various dots are formed within the pixel group. Print the image. Hereinafter, the contents of these processes will be described in detail.
[0149]
C-3. Number data decoding process of the second embodiment:
The number data decoding process of the second embodiment is almost the same as the number data decoding process of the first embodiment described with reference to FIG. Thus, hereinafter, the number data decoding process of the second embodiment will be described using the flowchart of FIG.
[0150]
Also in the second embodiment, as in the first embodiment, when the number data decoding process is started, first, the number data for one code is read (corresponding to step S300). However, although one code is 3 bits in the first embodiment, 7 bits are read here because it is 7 bits in the second embodiment.
[0151]
Next, it is determined whether or not the read code is an extended code (corresponding to step S302). In the second embodiment, since the extension code is set to 7 (o) F (h), whether or not the previously read code matches 7 (o) F (h) in the process corresponding to step S302. Determine whether. If the read code is not an extended code (corresponding to step S302: no), the read code is converted into data corresponding to the number of dots while referring to the correspondence table shown in FIG. 23 (corresponding to step S306).
[0152]
On the other hand, when the read code is an extended code (corresponding to step S302: yes), after reading another code (corresponding to step S304), referring to the correspondence table of FIG. Are converted into data representing the number of various dots (corresponding to step S306).
[0153]
When the number data of one pixel group is decoded as described above, it is determined whether or not the decoding for all the pixel groups is completed (corresponding to step S308). If an unprocessed pixel group remains, the process returns to the beginning of the process, a new code is read from the number data, and a series of subsequent processes are performed. When such operations are repeated and the decoding for all the pixel groups is completed, the number data decoding process of the second embodiment is ended. In the second embodiment, by decoding the number data in this way, data representing the number of various dots formed in the pixel group can be obtained. Therefore, the pixel position for forming various dots in the pixel group is determined by performing the next pixel position determination process. Hereinafter, in the second embodiment, a process for determining a pixel position for forming various dots in the pixel group will be described.
[0154]
C-4. Pixel position determination process of the second embodiment:
FIG. 25 is a flowchart showing the flow of the pixel position determination process of the second embodiment. Hereinafter, it demonstrates according to a flowchart.
[0155]
When the pixel position determination process of the second embodiment is started, first, one pixel group whose pixel position is to be determined is selected (step S700). Next, data representing the number of various dots formed in the selected pixel group is acquired (step S702). Data representing the number of various dots formed in the pixel group is supplied in a coded state from the computer 100, but is decoded in the above-described number data decoding process and stored for each pixel group. In step S702, data on a pixel group whose pixel position is to be determined is acquired from the number of data thus decoded and stored.
[0156]
Next, processing for determining pixel positions where various dots are formed is performed with reference to the dither matrix (step S704). Such processing will be described with reference to FIG.
[0157]
FIG. 26 is an explanatory diagram showing a state in which pixel positions for forming these dots are determined with reference to a dither matrix when the number of dots of various dots is given for a certain pixel group. The thick solid rectangle shown in the figure represents a pixel group. A thin broken line that divides the pixel group indicates that the pixel group includes a plurality of pixels. The numerical value shown in the pixel indicates the threshold value set at the corresponding position of the dither matrix. The dither matrix is assumed to use the same matrix as that used for obtaining the number of dots.
[0158]
Now, it is assumed that one large dot, two medium dots, and one small dot are formed in a pixel group whose pixel position is to be determined. In determining the pixel position, first, the pixel position for forming a large dot is determined. As described above, the threshold value of the dither matrix can be considered as representing the ease with which dots are formed. Therefore, if only one large dot is formed, the pixel with the smallest threshold value is set. Should be formed. Accordingly, the pixel position where the large dot is formed can be determined as the pixel having the threshold value “1”.
[0159]
Following the pixel position of the large dot, the pixel position for forming the medium dot is determined. Two medium dots are to be formed, and a large dot is already formed in the pixel having the smallest threshold value. Therefore, the medium dot should be formed in two pixels, the second smallest pixel and the third smallest pixel. Accordingly, it is possible to determine that the pixel position where the medium dot is formed is the pixel having the threshold value “42” and the pixel having the threshold value “58”. The pixel position can be similarly determined for the small dots. That is, only one small dot is to be formed, and a large dot or a medium dot has already been formed from the smallest pixel to the third smallest pixel. Should be formed in the fourth smallest pixel. Therefore, the pixel position where the small dot is formed can be determined to be the pixel having the threshold value “109”.
[0160]
FIG. 26 shows a state in which pixels for forming dots are determined in the order of large dots, medium dots, and small dots in this way. In the figure, pixels with fine diagonal lines form large dots. Among the determined pixels, pixels with an intermediate diagonal line represent pixels determined to form a medium dot, and pixels with a rough diagonal line represent pixels determined to form a small dot. In step S704 of FIG. 25, processing for determining pixel positions for forming various dots is performed in this way while referring to the dither matrix.
[0161]
As described above, when the pixel positions for forming various dots are determined for one pixel group, it is determined whether or not the process for determining the pixel positions has been completed for all the pixel group data (step in FIG. 25). S706). If an unprocessed pixel group remains (step S706: no), the process returns to step S700 to repeat a series of processes for the new pixel group. When it is determined that the pixel positions have been determined for all the pixel groups (step S706: yes), the pixel position determination process shown in FIG. 25 is exited, and after returning to the image printing process, various dots are formed on the printing paper. To do. As a result, an image corresponding to the image data is printed.
[0162]
When the printer 200 is a so-called multi-value printer, an image is printed while transferring the number of dots of various dots from the computer 100 to the printer 200 by performing the image printing process of the second embodiment described above. Can do. By doing so, it is possible to supply data more efficiently than to supply data indicating the presence or absence of dot formation for each pixel, so even an image with a large number of pixels can be printed quickly.
[0163]
In addition, as in the first embodiment, data representing the number of various dots formed in the pixel group is output to the printer 200 in a coded state in the second embodiment. By encoding in this way, the amount of data can be further reduced, so that the image can be printed more quickly.
[0164]
In the above description, codes are assigned to all possible combinations when each pixel can have four states. However, not all possible combinations appear when printing an image. For example, when only one large dot is formed in a pixel group, the dot is conspicuous and deteriorates the image quality. Therefore, such a combination is not used. Instead, a plurality of small dots or medium dots are formed. Such combinations are used. If a code is assigned only to a combination that is actually used without assigning a code to such an unused combination, the amount of data to be output to the printer 200 can be further reduced. This will be supplementarily described using the example shown in FIG.
[0165]
In the correspondence table shown in FIG. 23, codes are assigned to 165 combinations representing the number of various dots. The data length of the code is 7 bits, and only 128 states can be expressed by one code, and the number of states that can be expressed is insufficient. Therefore, code 7 (o) F (h) is set as an extension code, 127 combinations are expressed by one code, and the remaining 38 combinations are expressed by combining two codes. Here, if a code is not assigned to a combination that is not actually used, the total number of codes to be assigned decreases, so the number of combinations that must be expressed using two codes is reduced. As a result, the amount of data to be output to the printer 200 can be reduced, and as a result, an image can be displayed quickly.
[0166]
In addition, although there is a combination that is not used at all but is used infrequently, such a combination may be expressed using an extension code. For example, a combination in which only a large dot and a small dot are formed without forming a medium dot is rare because a combination of a large dot and a medium dot or a combination of a medium dot and a small dot is more natural. Can be considered as a combination that does not appear in A combination in which all large dots, medium dots, and small dots appear is considered to be a combination that rarely appears for the same reason. Furthermore, a printer that ejects ink droplets to form ink dots, such as the printer 200 of this embodiment, often does not use a combination in which only small dots are formed on almost all pixels. This is because the use of such a combination tends to be avoided because the ejection direction of the ink droplets is slightly deviated, and stripes called banding may occur to deteriorate the image quality.
[0167]
If the combinations expressed using the extension code and other codes are assigned to combinations that are used infrequently in this way, the amount of data to be output from the computer 100 to the printer 200 can be effectively suppressed. Become.
[0168]
Although various embodiments have been described above, the present invention is not limited to all the embodiments described above, and can be implemented in various modes without departing from the scope of the invention. For example, a software program (application program) that realizes the above functions may be supplied to a main memory or an external storage device of a computer system via a communication line and executed. Of course, a software program stored in a CD-ROM or a flexible disk may be read and executed.
[0169]
In the above embodiment, the case where the present invention is applied to a printer that prints an image by forming dots on printing paper has been described. However, the scope of the present invention is not limited to a printer. The present invention can be suitably applied to a liquid crystal display device that expresses an image whose gradation changes continuously by dispersing bright spots at an appropriate density on a liquid crystal display screen.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram for explaining an outline of the present invention taking a printing system as an example.
FIG. 2 is an explanatory diagram illustrating a configuration of a computer as an image processing apparatus according to the present exemplary embodiment.
FIG. 3 is an explanatory diagram illustrating a schematic configuration of a color printer according to the present exemplary embodiment.
FIG. 4 is an explanatory diagram showing an arrangement of inkjet nozzles in an ink ejection head.
FIG. 5 is a flowchart illustrating a flow of processing in which a computer and a printer perform predetermined image processing on image data and print an image on a print medium.
FIG. 6 is an explanatory diagram showing a state of resolution conversion performed in the first embodiment.
FIG. 7 is a flowchart illustrating a flow of number data generation processing according to the first embodiment.
FIG. 8 is an explanatory diagram illustrating a part of a dither matrix.
FIG. 9 is an explanatory diagram conceptually showing a state in which the presence or absence of dot formation for a pixel of interest is determined with reference to a dither matrix.
FIG. 10 is an explanatory diagram conceptually showing how number data is generated by performing number data generation processing on image data.
FIG. 11 is an explanatory diagram showing the correspondence table referred to in the process of coding the data of the number of dots and the contents of each code set in the correspondence table.
FIG. 12 is a flowchart showing a flow of a number data decoding process.
FIG. 13 is a flowchart illustrating a flow of pixel position determination processing performed by the printer in the first embodiment.
FIG. 14 is an explanatory diagram conceptually showing a state in which the positions of pixels forming dots within a pixel group are determined based on the number of dots in the pixel group.
FIG. 15 is an explanatory diagram showing a state in which the data amount is reduced by encoding the data of the number of dots.
FIG. 16 is an explanatory diagram exemplifying a state in which extended data is allocated to the number of dots at least partially discontinuous.
FIG. 17 is a flowchart illustrating a flow of image printing processing according to the second embodiment.
FIG. 18 is an explanatory diagram conceptually showing a conversion table that is referred to when converting image data after color conversion into dot data for large, medium, and small dots.
FIG. 19 is an explanatory diagram showing how the number of dots to be formed in a pixel group is determined from dot data in the number data generation process of the second embodiment.
FIG. 20 is a flowchart showing the flow of the number data generation process of the second embodiment.
FIG. 21 is an explanatory diagram showing a method of determining which of large dots, medium dots, and small dots should be formed on a target pixel while referring to a dither matrix.
FIG. 22 is an explanatory diagram comparing a combination of various dots that can be formed in a pixel group, the number of states in which 7-bit data can be displayed, and the number of states in which 8-bit data can be displayed.
FIG. 23 is an explanatory diagram conceptually showing a correspondence table referred to in coding.
FIG. 24 is an explanatory diagram showing the contents represented by each code stored in the correspondence table.
FIG. 25 is a flowchart showing a flow of pixel position determination processing of the second embodiment.
FIG. 26 is an explanatory diagram showing how pixel positions for forming these dots are determined with reference to a dither matrix when the number of dots of various dots is given for a certain pixel group.
[Explanation of symbols]
10 ... Computer
20 ... Printer
100: Computer
108 ... Peripheral device interface PIF
109 ... Disk controller DDC
110: Network interface card NIC
112 ... Video interface VIF
116 ... Bus
118: Hard disk
120 ... Digital camera
122 ... Color scanner
124: Flexible disk
126 ... Compact disc
200: Printer
230 ... Carriage motor
236 ... Platen
235 ... Motor
240 ... carriage
241 ... Print head
242 ... Ink cartridge
243 ... Ink cartridge
244 ... Ink ejection head
260 ... control circuit
300 ... communication line
310 ... Storage device

Claims (19)

画像データに所定の画像処理を施す画像処理装置と、該画像処理の結果に基づいてドットを形成することにより表示媒体上に画像を表示する画像表示装置と、を備える画像表示システムであって、
前記画像処理装置は、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定するドット個数決定手段と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換して、前記画像表示装置に出力する個数データ出力手段と
を備え、
前記画像表示装置は、
前記出力された個数データを受け取って解釈することにより、前記画素群毎に決定されたドットの個数を取得する個数データ取得手段と、
前記取得したドット個数に基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する画素位置決定手段と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成するドット形成手段と
を備えており、
前記個数データ出力手段は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を記憶している対応表記憶手段を備えるとともに、
前記画素群毎に決定された前記ドット個数を、前記対応表に基づいて前記個数データに変換した後、前記画像表示装置に出力する手段であり、
前記個数データ受取手段は、前記対応表に従って前記個数データを解釈することにより、前記画素群毎に決定されたドット個数を取得する手段である画像表示システム。
An image display system comprising: an image processing device that performs predetermined image processing on image data; and an image display device that displays an image on a display medium by forming dots based on the result of the image processing,
The image processing apparatus includes:
Dot number determining means for determining a number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small A number data output means for converting to and outputting to the image display device,
The image display device includes:
By receiving and interpreting the output number data, number data acquisition means for acquiring the number of dots determined for each pixel group;
Pixel position determining means for determining, for each pixel group, a pixel position where a dot is formed in the pixel group based on the acquired number of dots;
Dot forming means for forming dots on the display medium based on the determined pixel position,
The number data output means includes
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table storage means for storing a correspondence table in which the number is associated;
Means for outputting the number of dots determined for each pixel group to the image display device after converting the number of dots into the number data based on the correspondence table;
The number data receiving means is means for obtaining the number of dots determined for each pixel group by interpreting the number data according to the correspondence table.
請求項1記載の画像表示システムであって、
前記個数データ出力手段は、前記画素群毎に決定したドット個数を、2のn乗個の状態を表示可能なデータ形式の個数データに変換して、前記画像表示装置に出力する手段である画像表示システム。
The image display system according to claim 1,
The number data output means is means for converting the number of dots determined for each pixel group into number data in a data format capable of displaying 2 n states, and outputting the number data to the image display device. Display system.
請求項1記載の画像表示システムであって、
前記ドット個数決定手段は、表現する階調値の異なる複数種類のドットについて、前記画素群内に形成されるドットの個数を決定することにより、各種ドットの個数を決定する手段であり、
前記個数データ出力手段は、前記画素群内に形成される前記各種ドットの個数の組合せの種類よりも、単一のデータでは表現可能な状態数が少ない前記個数データに、前記決定された各種ドットの個数を変換して前記個数データとして出力する手段であり、
前記個数データ取得手段は、前記個数データを解釈することにより、前記画素群内に形成される各種ドットの個数を取得する手段であり、
前記画素位置決定手段は、前記画素群内でドットが形成される画素位置を、前記取得した各種ドットの個数に基づいて該各種ドット毎に決定する手段であり、
前記ドット形成手段は、前記表示媒体上に前記各種のドットを形成する手段であり、
前記対応表記憶手段は、前記対応表として、前記画素群内に形成可能な各種ドットの個数と、前記個数データが表示する各状態とを対応付けた対応表を記憶している手段である画像表示システム。
The image display system according to claim 1,
The dot number determining means is a means for determining the number of various dots by determining the number of dots formed in the pixel group for a plurality of types of dots having different gradation values to be expressed,
The number data output means outputs the determined various dots to the number data in which the number of states that can be expressed by a single data is smaller than the kind of combination of the numbers of the various dots formed in the pixel group. Is a means for converting the number of output and outputting as the number data,
The number data acquisition means is means for acquiring the number of various dots formed in the pixel group by interpreting the number data.
The pixel position determining means is a means for determining a pixel position where a dot is formed in the pixel group for each of the various dots based on the number of the acquired various dots,
The dot forming means is means for forming the various dots on the display medium,
The correspondence table storage means is an image that stores, as the correspondence table, a correspondence table in which the number of various dots that can be formed in the pixel group is associated with each state displayed by the number data. Display system.
請求項3記載の画像表示システムであって、
前記対応表記憶手段は、前記対応表として、前記画像表示装置が画像を表示するに際して前記画素群内に形成する各種ドットの個数の組合せと、前記個数データが表示する各状態とを対応付けた対応表を記憶している手段である画像表示システム。
The image display system according to claim 3,
The correspondence table storage means associates, as the correspondence table, a combination of the number of various dots formed in the pixel group when the image display device displays an image and each state displayed by the number data. An image display system as means for storing a correspondence table.
請求項1ないし請求項3のいずれかに記載の画像表示システムであって、
前記対応表は、前記除いた状態の個数データと前記残余の状態の個数データとの組合せには、前記画素群内に形成される頻度の低いドット個数が対応付けられている表である画像表示システム。
The image display system according to any one of claims 1 to 3,
The correspondence table is an image display in which the combination of the number data of the excluded state and the number data of the remaining state is associated with the number of dots that are formed in the pixel group infrequently. system.
請求項5記載の画像表示システムであって、
前記画素群内に形成される頻度の低いドット個数として、該画素群を構成する画素数の半分より数値の大きな整数が選択されている画像表示システム。
The image display system according to claim 5,
An image display system in which an integer having a numerical value larger than half of the number of pixels constituting the pixel group is selected as the number of low-frequency dots formed in the pixel group.
請求項6記載の画像表示システムであって、
前記画素群内に形成される頻度の低いドット個数として、該画素群を構成する画素数の半分より数値の大きな整数の中から、少なくとも一部に連続しない部分を含むように複数の数値が選択されている画像表示システム。
The image display system according to claim 6,
As the number of low-frequency dots formed in the pixel group, a plurality of numerical values are selected so as to include at least a part that is not continuous from an integer larger than half of the number of pixels constituting the pixel group. Image display system.
所定の画像処理が施された画像データを受け取って、該画像データに基づいてドットを形成することにより、表示媒体上に画像を表示する画像表示装置であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群毎に、該画素群内に形成すべきドットの個数を表す個数データを前記画像データとして受け取る個数データ受取手段と、
前記画素群内でドットが形成される画素位置を、前記ドットの個数に基づいて該画素群毎に決定する画素位置決定手段と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成するドット形成手段と
を備え、
前記個数データは、前記画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現されたデータであり、
前記個数データ受取手段は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を記憶している対応表記憶手段と、
前記受け取った個数データを前記対応表に基づいて解釈することにより、前記画素群内に形成すべきドットの個数を取得するドット個数取得手段と
を備えている画像表示装置。
An image display device that receives image data subjected to predetermined image processing and displays an image on a display medium by forming dots based on the image data,
A number data receiving means for receiving, as the image data, number data representing the number of dots to be formed in the pixel group for each pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Pixel position determining means for determining a pixel position where a dot is formed in the pixel group for each pixel group based on the number of the dots;
Dot forming means for forming dots on the display medium based on the determined pixel position;
The number data is data expressed using a predetermined data format in which the number of states that can be displayed with a single data is smaller than the number of types of dots that can be formed in the pixel group,
The number data receiving means includes
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state Correspondence table storage means for storing a correspondence table in which the number is associated;
An image display device comprising dot number acquisition means for acquiring the number of dots to be formed in the pixel group by interpreting the received number data based on the correspondence table.
請求項8記載の画像表示装置であって、
前記個数データ受取手段は、前記個数データとして、2のn乗個の状態を表示可能なデータ形式で表現されたデータを受け取る手段である画像表示装置。
The image display device according to claim 8,
The number data receiving means is an image display device which receives data expressed in a data format capable of displaying 2 n states as the number data.
請求項8または請求項9記載の画像表示装置であって、
前記対応表は、前記除いた状態の個数データと前記残余の状態の個数データとの組合せには、前記画素群内に形成される頻度の低いドット個数が対応付けられている表である画像表示装置。
The image display device according to claim 8 or 9, wherein
The correspondence table is an image display in which the combination of the number data of the removed state and the number data of the remaining state is associated with the number of dots that are formed in the pixel group infrequently. apparatus.
ドットを形成して画像を表示する画像表示装置において該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する画像処理装置であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定するドット個数決定手段と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換し、前記制御データとして出力する個数データ出力手段と
を備え、
前記個数データ出力手段は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態を示す個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を記憶している対応表記憶手段を備えるとともに、
前記画素群毎に決定されたドット個数を前記対応表に基づいて前記個数データに変換した後、前記制御データとして出力する手段である画像処理装置。
An image processing apparatus that generates control data used to control dot formation in an image display apparatus that forms dots and displays an image by performing predetermined image processing on image data representing the image. ,
Dot number determining means for determining a number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small And a number data output means for converting the data to be output as the control data,
The number data output means includes
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Is associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated, the combination of the number data indicating the removed state and the number data of the remaining state A correspondence table storing means for storing a correspondence table in which the number of dots is associated;
An image processing apparatus as means for outputting the control data after converting the number of dots determined for each pixel group into the number data based on the correspondence table.
請求項11記載の画像処理装置であって、
前記個数データ出力手段は、前記画素群毎に決定したドット個数を、2のn乗個の状態を表示可能なデータ形式の個数データに変換して、前記制御データとして出力する手段である画像処理装置。
The image processing apparatus according to claim 11,
The number data output means is means for converting the number of dots determined for each pixel group into number data in a data format capable of displaying 2 n states and outputting the data as control data. apparatus.
請求項11または請求項12記載の画像処理装置であって、
前記対応表は、前記除いた状態の個数データと前記残余の状態の個数データとの組合せには、前記画素群内に形成される頻度の低いドット個数が対応付けられている表である画像処理装置。
The image processing apparatus according to claim 11 or 12,
The correspondence table is a table in which a combination of the number data of the removed states and the number data of the remaining states is associated with the number of low-frequency dots formed in the pixel group. apparatus.
画像データに所定の画像処理を施して、得られた結果に基づき表示媒体上にドットを形成することによって、画像を表示する画像表示方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定する第1の工程と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換する第2の工程と、
前記変換された個数データを受け取って解釈することにより、前記画素群毎に決定されたドットの個数を取得する第3の工程と、
前記取得したドット個数に基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する第4の工程と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成する第5の工程と
を備えており、
前記第2の工程は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記画素群毎に決定された前記ドット個数を、前記対応表に基づいて前記個数データに変換する工程であり、
前記第3の工程は、前記対応表に従って前記個数データを解釈することにより、前記画素群毎に決定されたドット個数を取得する工程である画像表示方法。
An image display method for displaying an image by performing predetermined image processing on image data and forming dots on a display medium based on the obtained result,
A first step of determining, based on the image data, the number of dots formed in the pixel group for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small A second step of converting to
A third step of obtaining the number of dots determined for each pixel group by receiving and interpreting the converted number data;
A fourth step of determining, for each pixel group, a pixel position at which a dot is formed in the pixel group based on the acquired number of dots;
And a fifth step of forming dots on the display medium based on the determined pixel positions,
The second step includes
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table in which the number is associated is stored in advance,
Converting the number of dots determined for each pixel group into the number data based on the correspondence table;
The third step is an image display method in which the number of dots determined for each pixel group is obtained by interpreting the number data according to the correspondence table.
所定の画像処理が施された画像データを受け取って、該画像データに基づいてドットを形成することにより、表示媒体上に画像を表示する画像表示方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群毎に、該画素群内に形成すべきドットの個数を表す個数データを前記画像データとして受け取る工程(A)と、
前記画素群内でドットが形成される画素位置を、前記ドットの個数に基づいて該画素群毎に決定する工程(B)と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成する工程(C)と
を備え、
前記工程(A)は、
前記個数データとして、前記画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現されたデータを受け取るとともに、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記受け取った個数データを前記対応表に基づいて解釈することにより、前記画素群内に形成すべきドットの個数を取得する工程である画像表示方法。
An image display method for receiving image data that has undergone predetermined image processing and displaying an image on a display medium by forming dots based on the image data,
Receiving, as the image data, number data representing the number of dots to be formed in the pixel group for each pixel group in which a plurality of pixels constituting the image are grouped in a predetermined number;
Determining a pixel position where a dot is formed in the pixel group for each pixel group based on the number of dots;
Forming a dot on the display medium based on the determined pixel position (C),
The step (A)
As the number data, receiving data expressed using a predetermined data format in which the number of states that can be displayed with a single data is smaller than the kind of the number of dots that can be formed in the pixel group,
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table in which the number is associated is stored in advance,
An image display method, which is a step of acquiring the number of dots to be formed in the pixel group by interpreting the received number data based on the correspondence table.
ドットを形成して画像を表示する画像表示装置が該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する画像処理方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定する工程(イ)と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換し、前記制御データとして出力する工程(ロ)と
を備え、
前記工程(ロ)は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態を示す個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記画素群毎に決定されたドット個数を前記対応表に基づいて前記個数データに変換した後、前記制御データとして出力する工程である画像処理方法。
An image processing method in which an image display device that forms dots and displays an image generates control data used for controlling the formation of the dots by adding predetermined image processing to image data representing the image. ,
A step (a) of determining a number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
The number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small And (b) outputting the control data as the control data,
The step (b)
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Is associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated, the combination of the number data indicating the removed state and the number data of the remaining state A correspondence table in which the number of dots is associated is stored in advance,
An image processing method, which is a step of converting the number of dots determined for each pixel group into the number data based on the correspondence table and then outputting the data as the control data.
画像データに所定の画像処理を施して、得られた結果に基づき表示媒体上にドットを形成することによって、画像を表示する方法をコンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定する第1の機能と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換する第2の機能と、
前記変換された個数データを受け取って解釈することにより、前記画素群毎に決定されたドットの個数を取得する第3の機能と、
前記取得したドット個数に基づいて、前記画素群内でドットが形成される画素位置を該画素群毎に決定する第4の機能と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成する第5の機能と
をコンピュータを用いて実現するとともに、
前記第2の機能は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記画素群毎に決定された前記ドット個数を、前記対応表に基づいて前記個数データに変換する機能であり、
前記第3の機能は、前記対応表に従って前記個数データを解釈することにより、前記画素群毎に決定されたドット個数を取得する機能であるプログラム。
A program for realizing a method of displaying an image by using a computer by performing predetermined image processing on image data and forming dots on a display medium based on the obtained result,
A first function for determining a number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small A second function that converts to
A third function for obtaining the number of dots determined for each pixel group by receiving and interpreting the converted number data;
A fourth function for determining, for each pixel group, a pixel position at which a dot is formed in the pixel group based on the acquired number of dots;
A fifth function of forming dots on the display medium based on the determined pixel position is realized using a computer,
The second function is:
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table in which the number is associated is stored in advance,
A function of converting the number of dots determined for each pixel group into the number data based on the correspondence table;
The third function is a program that obtains the number of dots determined for each pixel group by interpreting the number data according to the correspondence table.
所定の画像処理が施された画像データを受け取って、該画像データに基づいてドットを形成することにより、表示媒体上に画像を表示する方法をコンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群毎に、該画素群内に形成すべきドットの個数を表す個数データを前記画像データとして受け取る機能(A)と、
前記画素群内でドットが形成される画素位置を、前記ドットの個数に基づいて該画素群毎に決定する機能(B)と、
前記決定した画素位置に基づいて前記表示媒体上にドットを形成する機能(C)と
をコンピュータを用いて実現するとともに、
前記機能(A)は、
前記個数データとして、前記画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現されたデータを受け取るとともに、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態の個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記受け取った個数データを前記対応表に基づいて解釈することにより、前記画素群内に形成すべきドットの個数を取得する機能であるプログラム。
A program for realizing a method of displaying an image on a display medium by using a computer by receiving image data subjected to predetermined image processing and forming dots based on the image data,
A function (A) for receiving, as the image data, number data representing the number of dots to be formed in the pixel group for each pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number;
A function (B) for determining a pixel position where a dot is formed in the pixel group for each pixel group based on the number of the dots;
A function (C) for forming dots on the display medium based on the determined pixel position is realized using a computer,
The function (A) is
As the number data, receiving data expressed using a predetermined data format in which the number of states that can be displayed with a single data is smaller than the kind of the number of dots that can be formed in the pixel group,
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Are associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated with each other, the combination of the number data of the removed state and the number data of the remaining state A correspondence table in which the number is associated is stored in advance,
A program having a function of acquiring the number of dots to be formed in the pixel group by interpreting the received number data based on the correspondence table.
ドットを形成して画像を表示する画像表示装置が該ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する方法をコンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて決定する機能(イ)と、
前記画素群毎に決定したドット個数を、該画素群内に形成され得るドット個数の種類よりも、単一のデータでは表示可能な状態数が少ない所定のデータ形式を用いて表現された個数データに変換し、前記制御データとして出力する機能(ロ)と
をコンピュータを用いて実現するとともに、
前記機能(ロ)は、
前記画素群内に形成可能なドットの個数を前記個数データが表示するそれぞれの状態に対応付けた対応表であって、該個数データが表示する各状態から少なくとも1つの状態を除いた残余の状態の各々に、該画素群内に形成され得るドット個数を対応付けるとともに、対応付けられていないドット個数については、該除いた状態を示す個数データと該残余の状態の個数データとの組合せに、該ドット個数を対応付けた対応表を予め記憶しておき、
前記画素群毎に決定されたドット個数を前記対応表に基づいて前記個数データに変換した後、前記制御データとして出力する機能であるプログラム。
Using a computer, a method for generating control data used to control dot formation by an image display device that forms dots and displays an image by applying predetermined image processing to image data representing the image A program for realizing,
A function (a) for determining the number of dots formed in the pixel group based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped in a predetermined number;
Number data expressed using a predetermined data format in which the number of dots determined for each pixel group is smaller than the number of types of dots that can be formed in the pixel group and the number of states that can be displayed with a single data is small And using a computer to realize the function (b) for converting to and outputting as the control data,
The function (b)
A correspondence table in which the number of dots that can be formed in the pixel group is associated with each state displayed by the number data, and a remaining state excluding at least one state from each state displayed by the number data Is associated with the number of dots that can be formed in the pixel group, and for the number of dots that are not associated, the combination of the number data indicating the removed state and the number data of the remaining state A correspondence table in which the number of dots is associated is stored in advance,
A program which is a function for outputting the control data after converting the number of dots determined for each pixel group into the number data based on the correspondence table.
JP2003199459A 2003-07-18 2003-07-18 Image display system for displaying image based on information of the number of dots to be formed in prescribed area Withdrawn JP2005039491A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003199459A JP2005039491A (en) 2003-07-18 2003-07-18 Image display system for displaying image based on information of the number of dots to be formed in prescribed area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003199459A JP2005039491A (en) 2003-07-18 2003-07-18 Image display system for displaying image based on information of the number of dots to be formed in prescribed area

Publications (1)

Publication Number Publication Date
JP2005039491A true JP2005039491A (en) 2005-02-10

Family

ID=34208905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003199459A Withdrawn JP2005039491A (en) 2003-07-18 2003-07-18 Image display system for displaying image based on information of the number of dots to be formed in prescribed area

Country Status (1)

Country Link
JP (1) JP2005039491A (en)

Similar Documents

Publication Publication Date Title
JP2006005899A (en) Image outputting system for outputting image while encoding it by a plurality of pixels
JP4241823B2 (en) Dot data processing apparatus, image output system and methods thereof
JP4375398B2 (en) Image processing apparatus that performs multi-value conversion for each pixel
JP4534964B2 (en) Image forming method, image forming apparatus, image forming system, printed matter generation method, and computer program for controlling image forming apparatus
WO2004084540A1 (en) Image processing device and image processing method for performing conversion of color image data
JP2004350257A (en) Image display system for displaying image on the basis of information of number of dot formed in prescribed region
JP4375050B2 (en) An image output system for outputting an image based on information on the number of dots formed in a predetermined area
JP4225319B2 (en) Image output control system, image processing apparatus and method
JP4297033B2 (en) Image processing apparatus that performs multi-value conversion for each pixel
JP3666427B2 (en) Image processing apparatus, print control apparatus, image processing method, and recording medium
JP4274030B2 (en) Image output system, image processing apparatus, image output apparatus, and methods thereof
JP4375071B2 (en) An image output system for outputting an image based on information on the number of dots formed in a predetermined area
JP2005224983A (en) Image output system for outputting image according to information on number of dots formed in prescribed area
JP4059121B2 (en) Image display system for displaying an image based on information on the number of dots formed in a predetermined area
JP2006229810A (en) Image output system for outputting image, while coding a plurality of pixels each
JP4561049B2 (en) Printing system for printing an image based on information on the number of dots formed in a predetermined area
US20070041054A1 (en) Image output control system, image output device, and image processing device
JP2005039491A (en) Image display system for displaying image based on information of the number of dots to be formed in prescribed area
JP4456823B2 (en) Printing device that prints an image while grouping and storing the determination result of dot formation, and print control device therefor
JP4225320B2 (en) Image output control system, image output apparatus, image processing apparatus, and methods thereof
JP2001353888A (en) Printing control device and image processing device
JP2006191268A (en) Image output device outputting image while performing image processing a plurality of pixels at a time
JP2005007801A (en) System for displaying image based on information of the number of dots formed in predetermined region
JP2005138421A (en) Image output device for outputting image by image-processing compressed image data
JP2005111883A (en) Image display system for displaying image according to information of the number of dots formed in predetermined area

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061003