JP2005007801A - System for displaying image based on information of the number of dots formed in predetermined region - Google Patents

System for displaying image based on information of the number of dots formed in predetermined region Download PDF

Info

Publication number
JP2005007801A
JP2005007801A JP2003176402A JP2003176402A JP2005007801A JP 2005007801 A JP2005007801 A JP 2005007801A JP 2003176402 A JP2003176402 A JP 2003176402A JP 2003176402 A JP2003176402 A JP 2003176402A JP 2005007801 A JP2005007801 A JP 2005007801A
Authority
JP
Japan
Prior art keywords
dots
dot
code data
image
pixel group
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
JP2003176402A
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 JP2003176402A priority Critical patent/JP2005007801A/en
Publication of JP2005007801A publication Critical patent/JP2005007801A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To display an image quickly while reducing the required memory capacity. <P>SOLUTION: A predetermined plurality of pixels are collected as a pixel group and after the number of dots to be formed in the pixel group is determined, the data of the number of dots is converted into code data and fed to an image display. In the image display, the received code data is decoded to data representing the number of dots, and an image is displayed after pixel positions for forming various dots are determined. When the data of the number of dots is converted into the code data, a reference value is determined based on the number of dots remaining after specified dots are removed and the code data is determined based on the sum of the reference value and the number of the specified dots. Since the code data can be converted quickly without requiring to store all combinations of the number of various dots and the code data while matching one by one, the image can be displayed quickly while reducing the required memory capacity greatly. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、画像データに所定の画像処理を施して画像を表示する技術に関し、詳しくは、画像処理が施された画像データを画像表示装置に迅速に転送することによって、画像を迅速に表示可能とする技術に関する。
【0002】
【従来の技術】
印刷用紙や液晶表示画面などの表示媒体上にドットを形成して画像を表示する画像表示装置は、各種画像機器の出力装置として広く使用されている。これら画像表示装置では、微視的に見ればドットを形成するか否かのいずれかの状態しか表現し得ないが、表現しようとする画像の画像データに合わせてドットの形成密度を適切に制御することにより、多階調の画像を表現することが可能となっている。
【0003】
これら画像表示装置では、ドットの形成密度を適切な密度とするために、通常は次のような手順を経て画像を表示している。先ず、表示しようとする画像を細かな画素に分割する。次いで、画像に所定の画像処理を施すことによって、画素毎にドットを形成するか否かを判断する。いわゆる誤差拡散法やディザ法と呼ばれる処理手法を適用すれば、画像データに合わせてドットが適切な密度で形成されるように、それぞれの画素についてのドット形成の有無を判断することができる。こうして得られた画素毎にドット形成の有無を表すデータを、画像表示装置に供給する。画像表示装置では、受け取ったデータに従って各画素にドットを形成することによって画像を表示している。
【0004】
近年では、こうした画像表示装置にも、表示画像の高画質化や大画像化に対する要請が強くなってきており、これら要請に応えるべく、画像を構成する画素数が増加する傾向にある(例えば、特許文献1など)。上述したように画像表示装置は、画素毎にドット形成の有無を示すデータを受け取って画像を表示しているから、画素数が多くなれば、データを受け取るために時間がかかってしまい、画像を迅速に表示することが困難となる。
【0005】
こうした問題を解決するために、本願の発明者は、複数個の画素を画素群としてまとめて、画素群内に形成するドットの個数を求め、求めたドットの個数のデータを画像表示装置に供給して画像を表示する第1の技術を開発し、既に出願済みである(特願2003−87176号)。ドットの個数であれば、各画素についてのドット形成の有無よりも僅かなデータ量で表現することができることから、出願済みの技術を用いれば、例え画素数の多い画像でも画像表示装置に迅速にデータを供給することができ、延いては画像を迅速に表示することが可能である。
【0006】
こうした画像表示装置の中には、形成するドットの種類(例えば、ドットの大きさやドットの明るさなど)を変えることによって画素単独でも多階調の表現を可能とすることにより、画質の向上を図ったものも存在する。このような画像表示装置では、複数種類のドットを形成可能なことから、画素群内に形成するドットの個数は、ドットの種類毎に供給してやることになる。もっとも、単にドットの種類毎にドット個数を供給することとしたのでは、ドットの種類が増加するに従って画像表示装置に供給すべきデータ量も増加してしまい、画像を迅速に表示することが困難となってしまう。こうした問題を回避するために、本願の発明者は、画素群内に形成する各種ドットの個数をコード化してから画像表示装置に供給して画像を表示する第2の技術も併せて開発し、既に出願済みである(特願2003−87218号)。
【0007】
例えば画像表示装置が、大きさの異なる3種類のドットを形成可能であるとして、ある画素群に形成するドットの個数が、大ドット1個、中ドット2個、小ドット1個であったとする。上記の出願済みの第2の技術では、大ドット1個、中ドット2個、小ドット1個とドットの種類毎に個数を出力するのではなく、ドット種類と個数との組合せを示すコード(例えば、大ドット、中ドット、小ドットの個数がそれぞれ1個、2個、1個という組合せであることを表すコード)を予め定めておき、それぞれのドット個数を出力する代わりに、ドット個数の組合せを示すコードを画像表示装置に出力する。各種ドットについての個数の組合せと、これに対する固有のコードとを予め対応付けた状態で対応表に記憶しておけば、各種ドットの個数の組合せを対応するコードに簡便に変換することができる。こうして各種ドットの個数の組合せをコード化して出力してやれば、画像表示装置が多種類のドットを形成可能な場合でも、迅速にデータを供給して画像を迅速に表示させることが可能である。
【0008】
【特許文献1】
特開2000−115716号公報
【0009】
【発明が解決しようとする課題】
しかし、各種ドットについてのドット個数の組合せをコード化して供給しようとすると、ドット個数の組合せをコード化するために多くの記憶容量が必要になると言う問題があった。一例として、1つの画素群が4つの画素から構成されており、大中小の3種類のドットを形成可能であるとする。この場合は、画素群内に形成されるドットの個数は、大中小いずれのドットも0個〜4個の5通りの値を取り得るから、画素群内に形成され得るこれらドットの個数の組合せは、5の3乗通り、すなわち125通り存在することになる。従って、これらドット個数の組合せをコード化するためには、125通り存在する組合せの1つ1つに固有のコードを対応付けた対応表を記憶しておく必要が生じる。また、1つの画素群が8つの画素から構成されている場合は、9の3乗通りで、729通り存在する組合せの1つ1つにコードを対応付けた対応表が必要となる。
【0010】
コード化されたデータをデコードして、各種ドットの個数に復元する場合にも、同様のことがあてはまる。すなわち、125通りのコードのそれぞれに各種ドットの個数を対応付けて対応表に記憶しておき、この対応表に基づいてデコードすることになる。結局、このような対応表を記憶しておくために、大きな記憶容量が必要となってしまう。
【0011】
かと言って、ドットの個数をコード化せずに、ドットの種類毎に個数データを供給することとしたのでは、画像表示装置が複数種類のドットを形成可能な場合には個数データの供給に時間がかかってしまい、画像を迅速に表示することが困難となってしまう。
【0012】
この発明は従来技術における上述した課題を解決するためになされたものであり、必要な記憶容量の増加を抑制しつつ、迅速に画像を表示可能な技術の提供を目的とする。
【0013】
【課題を解決するための手段およびその作用・効果】
上述した課題の少なくとも一部を解決するために、本発明の画像表示システムは次の構成を採用した。すなわち、
画像データに所定の画像処理を施す画像処理装置と、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて表示媒体上に形成することにより画像を表示する画像表示装置と、を備える画像表示システムであって、
前記画像処理装置は、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定するドット個数決定手段と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換するドット個数変換手段と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力するコードデータ出力手段と
を備え、
前記画像表示装置は、
前記コードデータを受け取って、前記画素群内に形成される各種ドットについてのドット個数に復号するコードデータ復号手段と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する画素位置決定手段と、
前記決定した画素位置に基づいて、前記表示媒体上に各種ドットを形成するドット形成手段と
を備えており、
前記ドット個数変換手段は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する基準値決定手段と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定するコードデータ決定手段と
を備えることを要旨とする。
【0014】
また、上記の画像表示システムに対応する本発明の画像表示方法は、
画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて形成することにより、表示媒体上に画像を表示する画像表示方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の工程と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する第2の工程と、
前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の工程と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の工程と、
前記決定した画素位置に基づいて、前記表示媒体上に各種ドットを形成する第5の工程と
を備えており、
前記第2の工程は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する工程(2−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する工程(2−2)と
を備えることを要旨とする。
【0015】
かかる画像表示システムおよび画像表示方法においては、画像データに所定の画像処理を施すことによって、画素群内に形成される各種ドットの個数を決定する。こうして得られた各種ドットの個数の組合せを画像表示装置に迅速に出力するために、コードデータに変換してデータ量を小さくしてから出力する。画像表示装置では、受け取ったコードデータを復号して、画素群内に形成される各種ドットの個数を示すデータに変換する。次いで、復号して得られた各種ドットの個数に基づいて、画素群内でドットが形成される画素位置をドットの種類毎に決定する。こうして決定した画素位置に各種ドットを形成することによって画像を表示する。
【0016】
ここで、本願の画像表示システムおよび画像表示方法においては、各種ドットの個数の組合せをコードデータに変換するに際して、多大な記憶容量が必要となることを避けるために、次のようにしてコードデータに変換する。先ず、各種ドットの中から特定ドットを除いた残余のドットについてのドット個数から、コードデータを得るための基準値を決定する。次いで、基準値と特定ドットのドット個数とを加算し、得られた加算値に基づいてコードデータを決定する。このようにして各種ドットの個数の組合せをコードデータに変換してやれば、迅速に変換可能であるにもかかわらず、多大な記憶容量が必要になると言った問題の発生を回避することが可能となる。こうした効果が得られる理由について、以下では、具体例を用いて補足説明を行う。
【0017】
一例として、画像表示装置が、大きさの異なる3種類のドット(大ドット、中ドット、小ドット)を形成可能であり、画素群が4つの画素から構成されているものとする。この場合、1つの画素群に形成可能な個数は、大,中,小の何れのドットについても0個から4個の5通りの値を取り得るから、これらドット個数の組合せ毎にコードデータを対応付けて記憶しておけば良い。例えば、大,中,小の各ドットの個数をL,M,Sとすれば、これらドット個数の組合せの各々に固有のコードデータを対応付けておけばよい。L,M,Sは何れも0個から4個の範囲で5通りの値を取り得るから、考えられる組合せとしては、5の3乗(=125)個の組合せが存在していることになる。
【0018】
しかし、これら全ての組合せが画像表示装置で実際に使用されるとは限らない。すなわち、画像を表示するという装置の性質上、画質に悪影響を与える組合せは通常は使用されることはない。こうした組合せとしては、例えば、同じ画素に重ねてドットが形成されるような組合せを挙げることができる。一例として大ドットと小ドットとを形成する場合について説明すると、これらドットが別々の画素に形成された場合は、大ドットが表現する階調値と小ドットが表現する階調値との合計値にほぼ相当する階調値が表現されると考えることができる。しかし、小ドットの上に大ドットが形成された場合、小ドットは大ドットに覆われてしまうので本来の階調値を表現することができず、全体として表現する階調値がずれてしまう。その結果として、画質の悪化を引き起こすことになる。
【0019】
もちろん、大ドットに重ねて小ドットを形成したときに表現される階調値が僅かに増加する効果を積極的に活用して、より細かな階調変化も表現可能とし、これにより更なる画質の向上を図った画像表示装置も存在する。しかし、このような画像表示装置においても、主に画質上の要請から、使用されないドット個数の組合せが存在していることには変わりはない。こうした理由から、あらゆるドット個数の組合せが、実際に画像表示装置で使用されるとは限らないのである。
【0020】
図29は、大、中、小ドットの各ドットについて、ドット個数の全ての組合せを概念的に示した説明図である。図中でL軸は大ドットの個数を表し、M軸は中ドットの個数を、S軸は小ドットの個数を表している。画素群が4つの画素で構成されているとしているから、各ドットの個数は0〜4の整数値を取り得る。従って、細い破線で示した各格子点に相当する合計125通りの組合せが存在すると考えることができる。
【0021】
ここで、ドットが重ねて形成されるような組合せは、画像表示装置では実際には使用されない場合について考える。もちろん、ドットが重ねて形成される組合せとは別の組合せを、実際には使用されない組合せとすることもできるが、理解を容易にするために、以下では、ドットが重ねて形成されるような組合せは使用されないものとして説明する。例えば、(L,M,S)が(4、0,1)の組合せを考えると、この組合せは画素群に合計5つのドットが形成されることになるから、少なくとも1つのドットは重ねて形成されてしまう。従って、このようにドット個数の合計が画素数を越えるような組合せは、実際には使用されない組合せであると考えることができる。
【0022】
図29では、各格子点が示す組合せの中から、ドット個数の合計が5以上となる組合せを除いて、残った格子点に丸印を付して表示している。図示した例では、このような丸印を付した格子点は、125個ある格子点の中の34個に過ぎず、これら丸印を付した格子点が示す組合せに、コードデータを対応付けておけば足りることになる。
【0023】
本願の画像表示システムおよび画像表示装置では、次のような方法を採用しているので、図29中で丸印を付した格子点にコードデータを対応付けるとともに、格子点が表すドット個数の組合せをコードデータに迅速に変換することが可能となっている。図29に示した具体例に即して説明すると、先ず、大中小の各ドットの中から、1種類のドット(ここでは、小ドットとする)を選択し、残余のドット(ここでは、大ドットおよび中ドット)のドット個数から基準値を決定する。大ドットおよび中ドットのドット個数から基準値を決定する方法としては、種々の方法を適用することができるが、最も簡単な方法としては、大ドットの個数と中ドットの個数との組合せ毎に基準値を対応付けて記憶しておき、この対応関係を参照して基準値を決定することができる。
【0024】
図30は、大ドットの個数Lと中ドットの個数Mとの組合せに対応付けて基準値が記憶されている様子を概念的に表している。図示した例では、例えば(L,M)=(1,1)、すなわち大ドットの個数も中ドットの個数も1個である組合せに対しては基準値19が記憶されている。尚、図中に表示された「*」は、実際に参照されることはないので、どのような基準値を記憶しておいても構わないことを示している。例えば(L,M)=(4,1)は、大ドットと中ドットだけで既にドット個数の合計値が5個に達してしまうので、実際にはこのような組合せが使用されることはない。こうして大ドットおよび中ドットのドット個数に基づいて決定した基準値に、小ドットの個数Sを加算して、得られた加算値に基づいてコードデータを決定する。
【0025】
図31は、基準値と小ドットの個数Sとの加算値に基づいてコードデータを決定している様子を概念的に示した説明図である。例えば、大ドットの個数Lおよび中ドットの個数Mがいずれも1個であるとすると、小ドットの個数Sは0〜2個の値を取り得る。図30によれば、(L,M)=(1,1)に対する基準値は19であるから、小ドットの個数Sが0個の場合は、基準値19にSの値(=0)を加算して、得られた加算値19をコードデータと決定することができる。小ドットの個数Sが1個の場合は、基準値19にS(=1)を加算して得られた加算値20をコードデータとし、小ドットの個数Sが2個の場合は、同様にして加算値21をコードデータとすればよい。また、大ドットの個数Lが1個で、中ドットの個数Mが2個の場合は、小ドットの個数Sは0個か1個のいずれかである。図30によれば(L,M)=(1,2)に対する基準値は22であるから、小ドットの個数Sが0個の場合はコードデータ22、小ドットの個数Sが1個の場合はコードデータ23と決定することができる。
【0026】
図32は、このようにしてコードデータが決定された様子を例示した説明図である。図示されているように、図29中で丸印を付した格子点の各々に、重複することなく0〜34までのコードデータが対応付けられている様子を確認することができる。
【0027】
このように、本願の画像表示システムあるいは画像表示方法によれば、図29に示した場合(画素群が4つの画素から構成されており、3種類のドットを形成可能な場合)でも、125個の全ての格子点についてコードデータを記憶しておく必要はない。すなわち、上述した具体例では、図30に示した格子点25個分の基準値を記憶しておけば、大ドットおよび中ドットの個数から基準値を決定し、この値に小ドットの個数を加算することで直ちにコードデータを得ることができる。もちろん、基準値を決定する方法は、図30に例示した方法に限られるものではなく、後述するように種々の方法を適用可能であり、こうした方法を用いれば、変換に要する記憶容量を更に低減することも可能である。
【0028】
また、以上の説明では、加算値をそのままコードデータとして用いるものとしたが、加算値をインデックス値として用いることも可能である。すなわち、加算値とコードデータとの対応関係を予め定めておき、かかる対応関係に基づいてコードデータを決定することとしても良い。
【0029】
以上、具体例に基づいて詳しく説明したように、本願の画像表示システムおよび画像表示方法では、各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する。こうして決定した基準値と、該特定ドットについてのドット個数との加算値に基づいてコードデータを決定する。こうすれば、画像を表示するために実際に使用されるドット個数の組合せに応じて基準値を設定しておくことで、必要な記憶容量をいたずらに増加させることなく、コードデータを迅速に決定することが可能となるのである。
【0030】
こうした画像表示システムにおいては、残余のドット個数に対する基準値を、次のようにして決定することとしても良い。すなわち、残余のドットに含まれる1種類のドットに着目して、該着目したドットの個数のみを増加させたときに、少なくとも0個から所定個数までの範囲では基準値の増加量が次第に小さくなるような、該残余のドット個数と該基準値との対応関係を記憶しておく。こうした対応関係としては、残余のドット個数と基準値とを対応付けて記憶した対応表であってもよいし、あるいは、ドット個数から基準値を算出する算術式であっても構わない。そして、このような対応関係に基づいて、残余のドット個数から基準値を決定することとしても良い。
【0031】
上述したように、同じ画素にドットが重ねて形成されることがないとすれば、あるドットの個数が0個から増加するに従って、残りのドットが形成可能な個数は減少する。この場合、基準値に特定ドットの個数を加えた加算値が、重複して同じ値とならず且つ加算値が連続した値となるためには、あるドットの個数が少なくとも0個から所定個数までの範囲では、ドット個数が増加するに従って基準値の増加量が次第に小さくなるように設定しておく必要がある。逆に言えば、基準値をこのように設定しておけば、基準値と特定ドットの個数との加算値が重複することなく連続した値を取るようにすることが可能となるので好ましい。
【0032】
あるいは、上記の画像表示システムにおいては、次のようにして基準値を決定することとしても良い。先ず、前記残余のドットから所定の1種類のドットを除いた他のドットについてのドット個数に基づいて、前記基準値を得るための予備的な基準値を決定する。次いで、残余のドットから除かれた前記所定のドットについてのドット個数と、決定した該予備的な基準値との加算値に基づいて、基準値を決定することとしても良い。予備的な基準値は、上述した基準値と同様に、ドット個数に対する対応関係を予め記憶しておくことにより、迅速に決定することができる。
【0033】
前述した方法では、残余のドットから基準値を決定したのに対して、上記の方法では、残余のドットから1種類のドットを除いた残りのドットの個数に基づいて、予備的な基準値を決定する。従って、予備的な基準値は比較的容易に決定することができ、この予備的な基準値に、先に除いた1種類のドットの個数を加算することで、これも比較的簡単に基準値を決定することができる。結局、基準値を簡単に決定することが可能となるので好ましい。加えて、こうした方法によれば、予備的な基準値は残余のドットから1種類のドットを除いた残りのドットの個数に基づいて決定しているので、予備的な基準値を決定するために対応表を用いた場合でも、小さな対応表を用いて決定することができる。従って、必要な記憶容量がいたずらに増加してしまうことを回避できるという利点も得ることができる。
【0034】
また、上述した画像表示システムおよび画像表示方法においては、前記基準値と前記特定ドットのドット個数との加算値と、コードデータとを対応付けて予め対応表に記憶しておき、かかる対応表に基づいて、コードデータを決定することとしても良い。
【0035】
こうすれば、それぞれの加算値に適切なコードデータを対応付けておくことが可能となる。すなわち、コードデータの決定の自由度を大幅に向上させることが可能となるので好ましい。
【0036】
あるいは上述した画像表示システムでは、コードデータを決定するために用いた基準値を、該基準値を決定するために用いた残余ドットのドット個数と対応可能な状態で保持しておき、これを新たなコードデータの決定に利用することとしても良い。すなわち、基準値を決定しようとして着目した画素群についての残余ドットのドット個数が、該保持されているドット個数と一致する場合には、該保持している基準値を該着目した画素群の基準値として決定する。こうして決定した基準値に前記特定ドットの個数を加算することにより、該着目している画素群についてのコードデータを決定することとしても良い。
【0037】
こうすれば、該着目している画素群についての基準値を迅速に決定することができ、延いてはコードデータを迅速に決定することが可能となる。また、一般に、画像の特性上、近くの画素は近似した画像データを有することが多く、従って、残余ドットのドット個数も、近くの画素群では同じ個数となることが多いと考えられる。このことから、特に画像表示システムにおいては、上述した方法で基準値を決定してやることで、コードデータを迅速に決定することが可能となるので好適である。
【0038】
また、従来技術の有する前述した課題の少なくとも一部を解決するために、本発明の画像処理装置は、次の構成を採用した。すなわち、
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する画像処理装置であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定するドット個数決定手段と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換するドット個数変換手段と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力するコードデータ出力手段と
を備え、
前記ドット個数変換手段は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する基準値決定手段と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定するコードデータ決定手段と
を備えることを要旨とする。
【0039】
また、上記の画像処理装置に対応する本発明の画像処理方法は、
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する画像処理方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する工程(A)と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する工程(B)と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力する工程(C)と
を備え、
前記工程(B)は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する工程(B−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する工程(B−2)と
を備えることを要旨とする。
【0040】
かかる画像処理装置および画像処理方法においては、画素群内に形成される各種ドットについてのドット個数を、次のようにしてコードデータに変換する。先ず、各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する。こうして決定した基準値と、該特定ドットについてのドット個数との加算値に基づいてコードデータを決定する。
【0041】
画素群の各種ドットの個数をコードデータに変換しておけば、データ量が大きく減少するので、データを迅速に取り扱うことが可能であり、従って画像表示装置に制御データを迅速に出力することが可能となる。また、ドット個数のデータをコードデータに変換するに際して、こうした方法を用いて変換してやれば、変換に要する記憶容量をいたずらに増加させることなく、しかも迅速に変換することが可能となるので好ましい。
【0042】
こうした画像処理装置および画像処理方法においては、特定ドットの個数を基準値に加算した値と、コードデータとを対応付けて対応表に予め記憶しておき、かかる対応表を参照することにより、該加算値からコードデータを決定することとしてもよい。
【0043】
こうすれば、それぞれの加算値に予め適切なコードデータを対応付けておくことができるので、コードデータの決定の自由度を大幅に向上させることが可能となり、その分だけ適切な制御データに変換することが可能となるので好ましい。
【0044】
更に本発明は、上述した画像表示方法あるいは画像処理方法を実現するためのプログラムをコンピュータに読み込ませ、所定の機能を実行させることにより、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、上述した画像表示方法に対応する本発明のプログラムは、
画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて形成することにより、表示媒体上に画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の機能と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する第2の機能と、
前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の機能と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の機能と、
前記決定した画素位置に基づいて、前記表示媒体上に各種ドットを形成する第5の機能と
を実現するとともに、
前記第2の機能は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する機能(2−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する機能(2−2)と
を備えていることを要旨とする。
【0045】
また、かかるプログラムに対応する本発明の記録媒体は、
画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて形成することにより、表示媒体上に画像を表示する方法を、コンピュータを用いて実現するためのプログラムを記録した記録媒体であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の機能と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する第2の機能と、
前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の機能と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の機能と、
前記決定した画素位置に基づいて、前記表示媒体上に各種ドットを形成する第5の機能と
を実現するとともに、
前記第2の機能は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する機能(2−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する機能(2−2)と
を実現するプログラムを、コンピュータで読み取り可能に記録したことを要旨とする。
【0046】
また、上述した画像処理方法に対応する本発明のプログラムは、
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する機能(A)と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する機能(B)と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力する機能(C)と
を実現するとともに、
前記機能(B)は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する機能(B−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する機能(B−2)と
を備えていることを要旨とする。
【0047】
また、かかる本発明のプログラムに対応する本発明の記録媒体は、
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する方法を、コンピュータを用いて実現するためのプログラムを記録した記録媒体であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する機能(A)と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する機能(B)と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力する機能(C)と
を実現するとともに、
前記機能(B)は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する機能(B−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する機能(B−2)と
を実現するプログラムを、コンピュータで読み取り可能に記録したことを要旨とする。
【0048】
こうしたプログラム、あるいは記録媒体に記録されたプログラムをコンピュータに読み込ませ、該コンピュータを用いて上記の各種機能を実現すれば、画素群に形成されるドットの個数をコードデータに変換することで、画像を迅速に表示させることが可能となる。また、必要な記憶容量をいたずらに増加させることなく、ドット個数のデータをコードデータに迅速に変換することが可能となる。
【0049】
【発明の実施の形態】
以下では、上述した本願発明の内容を明確にするために、次のような順序に従って実施例に基づき説明する。
A.発明の概要:
B.第1実施例:
B−1.装置構成:
B−2.画像印刷処理の概要:
C.第1実施例のエンコード処理およびデコード処理:
D.第2実施例のエンコード処理:
E.第3実施例のエンコード処理:
F.第4実施例のエンコード処理:
【0050】
A.発明の概要:
実施例についての詳細な説明に入る前に、図1を参照しながら、本発明の概要について説明しておく。図1は、印刷システムを例にとって本発明の概要を示した説明図である。図示した印刷システムは、画像処理装置としてのコンピュータ10と、画像表示装置としてのプリンタ20などから構成されており、コンピュータ10に所定のプログラムがロードされて実行されることにより、これらコンピュータ10およびプリンタ20などが全体として一体の印刷システムとして機能する。プリンタ20は、インク滴を吐出することによって印刷媒体上にドットを形成しながら画像を印刷する。またプリンタ20は、吐出するインク滴の大きさを制御することで、大きさの異なる3種類のドットを形成することが可能である。プリンタ20がドットの形成を制御するために用いられるデータは、コンピュータ10が画像データに所定の画像処理を施すことによって生成され、コンピュータからプリンタ20に供給される。尚、図1では、大中小の3種類のドットを形成可能としているが、ドットの種類は3種類に限らず、大小の2種類のドットを形成可能なプリンタにも、あるいは4種類以上のドットを形成可能なプリンタにも同様にして適用することができる。また、ドットの大きさではなく、インクの濃度を変えるなどの方法により、ドットの濃さを何段階かに変更可能なプリンタにも、本発明を同様に適用することが可能である。
【0051】
このように、プリンタ20がドットの形成を制御するために用いるデータをコンピュータ10から供給している関係上、画像あたりの画素数が多くなるとデータの受け渡しに時間がかかってしまい、画像を迅速に印刷することが困難となる。そこで、図1に示すコンピュータ10には、ドット個数決定モジュール12と、ドット個数変換モジュール14と、コードデータ出力モジュール16とが設けられている。ドット個数決定モジュール12は、画素を所定の複数個ずつ画素群としてまとめた後、画素群内に形成するドットの個数を決定する。ここでは、プリンタ20が大中小の3種類のドットを形成可能としているから、ドット個数決定モジュール12では、大中小の各種ドットについてドット個数を決定する。ドット個数変換モジュール14では、画素群毎に決定された各種ドットの個数をコードデータに変換する。コードデータ出力モジュール16は、こうして得られたコードデータをプリンタ20に向かって出力する。
【0052】
プリンタ20は、コンピュータ10から供給されたコードデータを受け取ると、これをデコードして画素群に形成すべき各種ドットの個数に復元した後、画素群内でドットが形成される画素位置をドットの種類毎に決定する。そして、決定した画素位置にドットを形成することによって画像を印刷する。このように、画素群内に形成される各種ドットの個数を、コードデータに変換してからプリンタ20に供給してやれば、データ量を大幅に小さくすることができるので、画素数の大きな画像も迅速に印刷することが可能である。
【0053】
画素群内に形成される大中小の各ドットのドット個数をコードデータに変換するに際しては、これら各種ドットのドット個数の組合せと、該組合せに対するコードデータとを対応付けて対応表に記憶しておき、かかる対応表を参照しながらコードデータに変換すれば迅速に変換することが可能である。もっとも、ドット個数のあらゆる組合せとコードデータとを対応付けたのでは、対応表を記憶するために多大な記憶容量が必要となってしまう。
【0054】
そこで、図1に示したドット個数変換モジュール14では、次のようにしてコードデータに変換する。先ず、大中小の各種ドットの中から1種類のドットを選択する。そして、残りの2種類のドット(大ドットおよび中ドット)についてのドット個数に基づいて、コードデータを求めるための基準となる値(基準値)を求める。次いで、この基準値に選択したドット(小ドット)の個数を加算し、得られた加算値に基づいてコードデータを決定する。尚、ここでは、ドットの種類は、大ドット、中ドット、小ドットの3種類であるものとして説明するが、ドットの種類はこれに限られるものではない。詳細には後述するが、このようにして各種ドットの個数をコードデータに変換してやれば、多大な記憶容量を要することなく、迅速にコードデータに変換することが可能となる。以下では、こうした本発明の画像表示システムおよび画像表示装置について、実施例に基づき詳細に説明する。
【0055】
B.第1実施例:
B−1.装置構成:
図2は、本実施例の画像処理装置としてのコンピュータ100の構成を示す説明図である。コンピュータ100は、CPU102を中心に、ROM104やRAM106などを、バス116で互いに接続して構成された周知のコンピュータである。コンピュータ100には、フレキシブルディスク124やコンパクトディスク126などからデータを読み込むためのディスクコントローラDDC109や、周辺機器とデータの授受を行うための周辺機器インターフェースPIF108、CRT114を駆動するためのビデオインターフェースVIF112等が接続されている。PIF108には、ハードディスク118や、後述するプリンタ200等が接続されている。また、デジタルカメラ120や、カラースキャナ122等をPIF108に接続すれば、デジタルカメラ120やカラースキャナ122で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードNIC110を装着すれば、コンピュータ100を通信回線300に接続して、通信回線に接続された記憶装置310に記憶されているデータを取得することもできる。
【0056】
図3は、本実施例のプリンタ200の概略構成を示す説明図である。プリンタ200はシアン,マゼンタ,イエロ,ブラックの4色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら4色のインクに加えて、染料濃度の低いシアン(淡シアン)インクと染料濃度の低いマゼンタ(淡マゼンタ)インクとを含めた合計6色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では、シアンインク,マゼンタインク,イエロインク,ブラックインクを、必要に応じて、それぞれCインク,Mインク,Yインク,Kインクと略称するものとする。
【0057】
プリンタ200は、図示するように、キャリッジ240に搭載された印字ヘッド241を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ240をキャリッジモータ230によってプラテン236の軸方向に往復動させる機構と、紙送りモータ235によって印刷用紙Pを搬送する機構と、ドットの形成やキャリッジ240の移動および印刷用紙の搬送を制御する制御回路260などから構成されている。
【0058】
キャリッジ240には、Kインクを収納するインクカートリッジ242と、Cインク,Mインク,Yインクの各種インクを収納するインクカートリッジ243とが装着されている。キャリッジ240にインクカートリッジ242,243を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド241の下面に設けられた各色毎のインク吐出用ヘッド244ないし247に供給される。各色毎のインク吐出用ヘッド244ないし247は、こうして供給されたインクを用いてインク滴を吐出して、印刷媒体上にインクドットを形成する。
【0059】
制御回路260は、CPUを中心として、ROMや、RAM、周辺機器インターフェースPIF等に加えて、デジタルデータをアナログ信号に変換するD/A変換器等から構成されている。もちろん、CPUを搭載せずに、ハードウェアあるいはファームウェアによって同様の機能を実現することとしても良い。制御回路260は、キャリッジモータ230および紙送りモータ235の動作を制御することによって、キャリッジ240の主走査動作および副走査動作の制御を行う。また、キャリッジ240の主走査および副走査に合わせて、適切なタイミングで印字ヘッド241を駆動することによってインク滴を吐出する。こうして制御回路260の制御の下で、各色のインク吐出用ヘッド244ないし247から適切なタイミングでインク滴が吐出され、その結果、印刷用紙P上にインクドットが形成されて、カラー画像が印刷される。
【0060】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡(バブル)を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【0061】
図4は、各色のインク吐出用ヘッド244ないし247の底面に、インク滴を吐出する複数のノズルNzが形成されている様子を示した説明図である。図示するように、各色のインク吐出用ヘッドの底面には、各色毎のインク滴を吐出する4組のノズル列が形成されており、1組のノズル列には、48個のノズルNzがノズルピッチpの間隔を空けて千鳥状に配列されている。これらノズルは、制御回路260の制御の元でインク滴を吐出する。
【0062】
また、本実施例のプリンタ200は、吐出するインク滴の大きさを制御することにより、インクドットの大きさを制御することが可能である。以下、プリンタ200が大きさの異なるインクドットを形成する方法について説明するが、その準備として、先ず、各色インクを吐出するノズルの内部構造について説明する。図5(a)は、インクを吐出するノズルの内部構造を示した説明図である。各色のインク吐出用ヘッド244ないし247には、このようなノズルが複数設けられている。図示するように、各ノズルにはインク通路255と、インク室256と、インク室の上にピエゾ素子PEとが設けられている。キャリッジ240にインクカートリッジ242,243を装着すると、カートリッジ内のインクがインクギャラリ257を経由してインク室256に供給される。ピエゾ素子PEは、周知のように電圧を印加すると結晶構造が歪んで極めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子PEの両端に設けられた電極間に所定波形の電圧を印加することで、インク室256の側壁を変形させる。その結果、インク室256の容積が減少し、容積の減少分に相当するインクがインク滴IpとなってノズルNzから吐出される。このインク滴Ipがプラテン236に装着された印刷用紙Pに染み込むことで、印刷用紙上にインクドットが形成される。
【0063】
図5(b)は、ピエゾ素子PEに印加する電圧波形を制御することで、吐出するインク滴の大きさを変更する原理を示した説明図である。ノズルからインク滴Ipを吐出するためには、ピエゾ素子PEに府の電圧を印加してインクギャラリ257からインク室256内に一旦インクを吸入し、その後、ピエゾ素子PEに正電圧を印加してインク室容積を減少させて、インク滴Ipを吐出させる。ここで、インクの吸引速度が適切であればインク室容積の変化量に相当するインクが吸入されるが、吸引速度が速すぎると、インクギャラリ257とインク室256との間には通路抵抗があるためにインクギャラリ257からのインクの流入が間に合わなくなる。その結果、インク通路255のインクがインク室内に逆流して、ノズル付近のインク界面が大きく後退した状態となる。図5(b)に実践で示した電圧波形aは、適正な速度でインクを吸引する波形を示し、破線で示した電圧波形bは適切速度より大きな速度で吸引する波形の一例を示している。
【0064】
十分なインクがインク室256内に供給された状態で、ピエゾ素子PEに正電圧を印加すると、インク室256の容積減少に相当する体積のインク滴IpがノズルNzから吐出される。これに対して、インクの供給量が不足してインク界面が大きく後退した状態で正電圧を印加すると、吐出されるインク滴は小さなインク滴となる。このように、本実施例のプリンタ200では、インク滴の吐出前に印加する府の電圧波形を制御してインクの吸引速度を変更することで、吐出するインク滴の大きさを制御し、大ドット、小ドットの2種類のインクドットを形成することが可能となっている。
【0065】
もちろん、2種類に限らずより他種類のドットを形成することも可能である。更には、微細なインク滴を一度に複数吐出して、吐出するインク滴の数を制御すると言った方法を用いて、印刷用紙上に形成されるインクドットの大きさを制御してもよい。
【0066】
以上のようなハードウェア構成を有するプリンタ200は、キャリッジモータ230を駆動することによって、各色のインク吐出用ヘッド244ないし247を印刷用紙Pに対して主走査方向に移動させ、また紙送りモータ235を駆動することによって、印刷用紙Pを副走査方向に移動させる。制御回路260は、キャリッジ240の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出する。こうすることで、印刷用紙P上の適切な位置にインクドットが形成されて、その結果、画像が印刷されることになる。
【0067】
B−2.画像印刷処理の概要:
図6は、本実施例のコンピュータ100およびプリンタ200が、画像データに所定の画像処理を加えて、印刷媒体上に画像を印刷する処理の流れを示すフローチャートである。かかる画像印刷処理は、後述するように前半部分はコンピュータ100に内蔵されたCPUの機能を利用して、また、処理の後半部分はプリンタ200の制御回路260に内蔵されたCPUの機能を利用して実行される。以下、図6に従って、本実施例の画像印刷処理について説明する。
【0068】
コンピュータ100は、画像印刷処理を開始すると、先ず初めに、変換すべき画像データの読み込みを開始する(ステップS100)。ここでは、画像データはRGBカラー画像データであるものとして説明するが、カラー画像データに限らず、モノクロ画像データについても同様に適用することができる。
【0069】
カラー画像データの読み込みに続いて、色変換処理を行う(ステップ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を参照しながら変換すれば、迅速に色変換することが可能である。
【0070】
こうして色変換したデータを、大中小の各種ドットについてのドットデータに変換する(ステップS104)。すなわち、前述したように本実施例のプリンタ200は、吐出するインク滴の大きさを変えることで、大ドット、中ドット、小ドットの3種類のドットを形成することが可能である。そこで、色変換処理によって得られた階調データを、一旦、大ドット用のデータ、中ドット用のデータ、小ドット用のデータに各色毎に変換する処理を行う。尚、色変換処理では、C,M,Y,Kの各色毎の画像データが得られるが、以降に説明する処理は、これら各色の画像データのいずれに対しても同様に行われる。そこで、説明の煩雑化を避けるために、以下では色を特定せずに説明する。
【0071】
色変換によって得られた階調データを、大ドット、中ドット、小ドットのそれぞれのドットデータに変換する処理は、図7に示す変換テーブルを参照することによって行う。図示するように、変換テーブルには、大ドットデータ、中ドットデータ、小ドットデータが階調データに対応付けて記憶されており、かかる変換テーブルを参照することで、色変換後の階調データを変換することができる。図8は、色変換後の階調データを大中小の各種ドットのドットデータに変換した様子を概念的に示した説明図である。図8(a)は色変換後の階調データを示し、図8(b)は変換によって得られたドットデータを示している。図8(b)で、Data(L,M,S)=(2,90,32)と表示されているのは、図8(a)に示した階調データ「97」が、大ドットのドットデータ「2」、中ドットのドットデータ「90」、小ドットのドットデータ「32」に変換されたことを模式的に表したものである。
【0072】
次いで、大ドットデータ、中ドットデータ、小ドットデータのそれぞれのデータに対して解像度変換処理を行う(ステップS106)。解像度変換処理とは、画像データの解像度を、プリンタ200が印刷を行う解像度(印刷解像度)に変換する処理である。通常、印刷解像度は画像データの解像度よりも高い値に設定されることが多い。これは、次のような理由によるものである。
【0073】
一般に、印刷画質を向上させるためには、画素の大きさを小さくして、より高い解像度で印刷することが効果的である。しかし、印刷解像度を高くするからと言って、必ずしも、元の画像データの解像度も高くする必要があるわけではない。何故なら、本実施例のプリンタ200では、ドットの大きさを変えることにより、「ドットを形成しない」、「小ドットを形成する」、「中ドットを形成する」、「大ドットを形成する」の4つの状態を表現可能であり、画素あたり4階調を表現可能であるが、画像データの階調数には大きく及ばないのが実情である。すなわち、画像データを仮に1バイトのデータであったとすると、画素あたりに256階調を表現することが可能となり、プリンタ200が表現可能な階調数はこの値に大きく及ばない。このように、画素あたりに表現可能な階調が大きく異なっていることから、印刷解像度を、読み込む画像データの解像度よりも高解像度に設定しただけで、印刷画質を向上させることが可能である。このような理由から、印刷解像度は、画像データよりも高い解像度に設定されることが多いのである。図6のステップS106では、印刷画質を改善するために、画像データの解像度をより高解像度の印刷解像度に変換する処理を行う。
【0074】
図9は、本実施例において行われる解像度変換の様子を示す説明図である。図9(a)は、解像度変換前のドットデータの一部を拡大して模式的に表したものである。図9(a)中に示した複数の矩形は、それぞれが画素を模式的に表したものであり、矩形の中に表示された数値は、各画素に割り当てられた各種ドットのドットデータを表している。図示されているように、ドットデータは、格子状に配列された画素の各々に、各種ドットについてのドットデータが割り当てられている。こうしたドットデータの解像度をより高い解像度に変換するためには、ドットの種類毎に画素間で補間演算を行うことによって新たな画素を生成しても良いが、本実施例では最も簡便な手法として、画素をより小さな画素に分割することで解像度変換を行う。
【0075】
図9(b)は、画素を分割することで解像度を変換している様子を示す説明図である。図示した例では、それぞれの画素を、主走査方向(図上では左右方向)に4分割し、副走査方向(図上では上下方向)に2分割することで、1つの画素を8つの画素に分割している。図9(b)中に示した破線は、画素が分割されていることを表したものである。こうして生成した小さな画素には、分割前の元の画素のドットデータと同じデータが割り当てられている。以上のような処理を施すことにより、ドットデータの解像度は、主走査方向には4倍の解像度に、副走査方向には2倍の解像度に変換されることになる。もちろん、解像度の増加割合は必要に応じて種々の割合に設定することが可能である。
【0076】
以上のようにして、ドットデータの解像度を印刷解像度に変換したら、コンピュータ100は、個数データ生成処理を開始する(ステップS108)。個数データ生成処理とは、次のような処理である。前述したようにプリンタ200は、ドットが画像データの階調値に応じた適切な密度で形成されるように、画素にドットを形成することによって画像を印刷する。一方、解像度変換処理によって得られたドットデータは、画素毎に各種ドットについて階調値が割り当てられた階調データである。従って、階調データを、画素毎にドット形成の有無を表すデータに変換した後、プリンタ200に転送する必要がある。ここで、ドット形成の有無を示すデータを、画素単位でプリンタ200に転送したのでは、画素数が多くなるに従って転送に要する時間が増加してしまうので、画像を迅速に印刷することが困難となる。そこで、本実施例の画像印刷処理では、画素を所定の複数個ずつ画素群としてまとめ、画素群内に形成されるドット個数を各種ドット毎に決定する。そして、得られた各種ドットの個数の組合せをコードデータに変換した状態でプリンタ200に転送している。詳細には後述するが、こうすればプリンタ200に迅速にデータを転送することができ、延いては画像を迅速に印刷することが可能となる。個数データ生成処理では、解像度変換処理(図6のステップS106)で画素毎に得られたドットデータに基づいて、画素群内に形成する各種ドットの個数を決定する処理を行う。
【0077】
図10は、個数データ生成処理の流れを示したフローチャートである。以下、フローチャートに従って、各種ドットについてのドットデータから個数データを生成する処理について簡単に説明する。
【0078】
個数データ生成処理を開始すると、CPUは先ず初めに、画像データの中から所定の複数個の画素をまとめて画素群を生成する(ステップS200)。図9を用いて前述したように、個数データ生成処理に先立って行われる解像度変換処理では、画素を分割して新たな画素を生成することとしているから、ここでは、同じ画素から分割された複数の画素を画素群としてまとめるものとする。
【0079】
次いで、画素群内の各画素について、大ドット、中ドット、小ドットのドットデータを読み込む(ステップS202)。尚、ここでは、画素群を構成する画素は、いずれも同じ画素から分割されて同じ階調値を有するから、画素毎にドットデータを読み込むのではなく、画素群毎に1画素分だけ読み込むこととしても良い。
【0080】
こうして各種ドットのドットデータを読み込んだら、ディザマトリックスを参照することにより、大ドット、中ドット、小ドットについての形成有無を判断する(ステップS204)。ここで、ディザマトリックスとは、複数の閾値が格子状に記憶された2次元の数表である。図11は、ディザマトリックスの一部を例示した説明図である。図示したマトリックスには、縦横それぞれ64画素、合計4096個の画素に、階調値0〜255の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が0〜255の範囲から選択されているのは、本実施例では画像データが1バイトデータであり、画素に割り当てられる階調値が0〜255の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図11に例示したように縦横64画素分に限られるものではなく、縦と横の画素数が異なるものも含めて種々の大きさとすることができる。
【0081】
図12は、画素群内に形成する大ドット、中ドット、小ドットのドット個数を、ディザマトリックスを参照しながら決定する方法を示した説明図である。尚、図12では、ドットデータとして図9に示すデータを使用し、ディザマトリックスとしては、図11に示すマトリックスを使用する場合を想定している。
【0082】
図12では一例として、図9(b)の左上隅にある画素群について、各種ドットの形成有無を判断する場合について説明している。図12中で、太い実線の矩形で囲った部分は画素群を表しており、画素群中の細い破線で区分された小さな矩形は、画素群を構成する画素を表している。また、画素の中に表された数値は、ディザマトリックスの対応する位置に設定されている閾値の値を表している。
【0083】
ドット形成有無の判断を開始すると、先ず初めに、大ドットのドットデータと、ディザマトリックスに設定されている閾値とを比較して、ドットデータの方が大きい画素については大ドットを形成するものと判断する。図12(a)は、こうして、画素群内の各画素について大ドットの形成有無を判断している様子を示している。具体的には、大ドットのドットデータは「2」であるから、一番左上隅にある階調値「1」の画素についてだけ、ドットデータの方が大きく、他の画素については全てディザマトリックスの閾値の方が大きくなっている。そこで、この画素群では、大ドットは1つだけ形成される。図12(a)中で、ディザマトリックスの閾値が「1」の画素に細かい斜線が付されているのは、この画素に大ドットを形成すると判断されたことを表している。
【0084】
大ドットについての形成有無を判断したら、今度は中ドットについての形成有無を判断する。中ドットについての判断に際しては、大ドットのドットデータに中ドットのドットデータを加算して、中ドット用の中間データを算出し、この中間データとディザマトリックスの閾値とを比較する。そして、中間データの方が閾値よりも大きな画素については、中ドットを形成するものと判断する。このとき、既に大ドットを形成することとした画素については、中ドットの形成有無の判断は行わない。図12(b)に即して具体的に説明すると、大ドットのドットデータは「2」であり、中ドットのドットデータは「90」であるから、中ドット用の中間データは「92」と算出される。この中間データとディザマトリックスの閾値とを比較する。但し、画素群中で一番左上隅にある画素については、既に大ドットを形成することとしているので、かかる比較は行わない。そして、ディザマトリックスの閾値が「42」の画素と「58」の画素については、中間データの方が大きくなるので、中ドットを形成すると判断する。図12(b)中で、これらの画素に斜線が付されているのは、中ドットを形成すると判断されたことを表している。
【0085】
中ドットの形成有無を判断したら、最後に小ドットの形成有無を判断する。小ドットの判断に際しては、中ドット用の中間データに小ドットのドットデータを加算して、小ドット用の中間データを算出し、未だドットを形成すると判断されていない画素について、この中間データとディザマトリックスの閾値とを比較する。そして、中間データの方が大きい画素については、小ドットを形成するものと判断する。図12(c)を参照しながら具体的に説明すると、中ドット用の中間データは「92」であるから、小ドットのドットデータ「32」を加算することにより、小ドット用の中間データは「124」と算出される。この中間データと、ディザマトリックスの閾値とを比較する。そして、ディザマトリックスの閾値が「109」の画素については中間データの方が大きいので、この画素には小ドットを形成すると判断する。図12(c)中で、この画素に粗い斜線が付されているのは、小ドットを形成すると判断されたことを表したものである。図10のステップS204では、以上のようにして画素群内の各画素について、大ドット、中ドット、小ドットの形成有無を判断する。
【0086】
尚、上述したように、ディザマトリックスに設定された閾値が小さい画素から順番にドットが形成されることからも明らかなように、ディザマトリックスに設定された閾値は、ドットの形成され易さを表していると考えることも可能である。
【0087】
各種ドットの形成有無を判断したら、その画素群に形成すべき各種ドットの個数を記憶する(ステップS206)。図12を用いて説明したように、図9(b)の左上の画素群については、画素群に形成すべき大ドット、中ドット、小ドットの個数が、それぞれ1個、2個、1個である旨を記憶する。
【0088】
こうして複数の画素を画素群にまとめて、画素群内に形成する各種ドットの個数を記憶したら、画像データに含まれる全画素についての処理を終了したか否かを判断し(ステップS208)、未処理の画素が残っている場合は(ステップS208:no)、ステップS200に戻って新たな画素群を生成した後、続く一連の処理を繰り返す。こうして、全ての画素についての処理を終了したら(ステップS208:yes)、個数データ生成処理を終了して、図6の画像印刷処理に復帰する。以上のような個数データ生成処理を行うことにより、図9に示した各種ドットについてのドットデータは、図13に示すような、画素群内に形成されるドット個数を示すデータに変換される。図13中でDot(L,M,S)=(1,2,1)という表示は、大ドット、中ドット、小ドットのドット個数がそれぞれ1個、2個、1個であることを表したものである。
【0089】
尚、上述した個数データ生成処理では、複数の画素を画素群としてまとめた後、画素群内に形成される各種ドットの個数を決定したが、これに限らず、初めに各種ドットについてドット形成の有無を画素毎に決定した後に、画素群を生成することによって、画素群内に形成される各種ドットの個数を求めることとしてもよい。
【0090】
図6に示した画像印刷処理では、個数データ生成処理から復帰すると、得られた個数データに対してエンコード処理を行う(ステップS110)。これは次のような処理である。前述したように、画素群内に形成されるドット個数のデータをプリンタに供給して画像を印刷すれば、画素毎にドット形成の有無を表すデータを供給する場合よりもデータを迅速に供給することができる分だけ、画像を迅速に印刷することが可能である。しかし、プリンタで複数種類のドットを形成可能な場合に、ドットの種類毎に個数のデータを供給したのでは、ドットの種類が増えるに従ってデータの供給に時間がかかってしまい、画像を迅速に印刷することが困難となってしまう。そこで、画素群内に形成される各種ドットの個数をそのままプリンタ200に出力するのではなく、一旦、コードデータに変換してから出力することで、こうした問題の発生を回避している。すなわち、図6のステップS110に示したエンコード処理では、個数データ生成処理によって得られた個数データをコードデータに変換した後、プリンタ200に出力する処理を行う。尚、本実施例のエンコード処理では、個数データを後述する手法により変換しているので、変換に大きな記憶容量が必要となることがない。
【0091】
エンコード処理によってコンピュータ100から出力されたコードデータは、プリンタ200によって受け取られてデコード処理が施される(ステップS112)。すなわち、コードデータをデコードすることにより、画素群内に形成される各種ドットの個数のデータに復元するのである。かかる処理は、プリンタ200の制御回路260に搭載されたCPUの機能を用いて実行される。デコード処理の詳細については後述する。
【0092】
デコード処理を行うことによって、画素群内に形成される各種ドットについてのドット個数が得られたら、今度は、画素群内で各種ドットが形成される画素位置を決定する処理(画素位置決定処理)を開始する(ステップS114)。
【0093】
図14は、画素位置決定処理の流れを示すフローチャートである。かかる処理も、プリンタ200の制御回路260に搭載されたCPUの機能を用いて実行される。以下、フローチャートに従って説明する。
【0094】
処理を開始すると、先ず初めに、画素位置を決定しようとする画素群を選択する(ステップS300)。次いで、選択した画素群に形成される各種ドットのドット個数を取得する(ステップS302)。ここで、画素群に形成される各種ドットのドット個数とは、デコード処理によってコードデータから復元され、画素群毎に記憶されている各種ドットのドット個数である。
【0095】
各種ドットのドット個数を読み出したら、ディザマトリックスを参照することにより、各種ドットを形成する画素位置を決定する処理を開始する(ステップS304)。かかる処理について、図15を参照しながら説明する。
【0096】
図15は、ある画素群について、各種ドットのドット個数が与えられたときに、ディザマトリックスを参照しながら、これらドットを形成する画素位置を決定する様子を示した説明図である。図中に示した太い実線の矩形は画素群を表している。画素群を区分する細い破線は、画素群が複数の画素から構成されていることを表している。また、画素中に示された数値は、ディザマトリックスの対応する位置に設定されている閾値を示している。尚、ディザマトリックスは、ドット個数を求めるために用いたマトリックスと同じマトリックスを使用するものとする。
【0097】
今、この画素群に形成する各種ドットの個数が、大ドット1個、中ドット2個、小ドット1個であるものとして、初めに大ドットを形成する画素位置を決定する。前述したように、ディザマトリックスの閾値は、ドットの形成され易さを表していると考えることができるから、大ドットを1個だけ形成するとすれば、最も小さな閾値の設定された画素に形成されることになる。大ドットの画素位置を決定したら、続いて中ドットを形成する画素位置を決定する。中ドットは2個形成することになっており、また、最も小さな閾値の画素には既に大ドットが形成されているから、閾値が2番目に小さな画素と3番目に小さな画素の2つの画素に中ドットを形成すると判断する。中ドットに続いて小ドットの画素位置を決定する。小ドットは1個だけ形成することになっており、また、閾値の最も小さな画素から3番目に小さな画素までは、既に大ドットあるいは中ドットが形成されているから、4番目に閾値の小さな画素に小ドットを形成すると判断する。
【0098】
図15は、こうして大ドット、中ドット、小ドットの順番で、ドットを形成する画素を決定している様子を表しており、図中で、細かい斜線が付された画素は大ドットを形成すると判断された画素を、中間の斜線が付された画素は中ドットを形成すると判断された画素を、粗い斜線が付された画素は小ドットを形成すると判断された画素を、それぞれ表している。図14のステップS304では、このようにして、ディザマトリックスを参照しながら、各種ドットを形成する画素位置を決定する。
【0099】
以上のようにして、1つの画素群について、各種ドットを形成する画素位置を決定したら、全ての画素群について、画素位置を決定する処理を終了したか否かを判断する(図14のステップS306)。未処理の画素群が残っている場合は(ステップS306:no)、ステップS300に戻って、新たな画素群について続く一連の処理を繰り返す。こうして全ての画素群について画素位置を決定したと判断されたら(ステップS306:yes)、図14に示す画素位置決定処理を終了する。
【0100】
以上に説明した画素位置決定処理を行うことにより、画素群内に形成される各種ドットについてのドット個数のデータが、各種ドットを形成すべき画素位置を示すデータに変換される。図16は、こうして各種ドットを形成すべき画素位置が、画素群毎に決定された様子を概念的に示した説明図である。図中で細かい斜線が付された画素は大ドットが形成されることを示し、中間の斜線が付された画素は中ドットが形成されることを、粗い斜線が付された画素は小ドットが形成されることを示したものである。
【0101】
こうして各種ドットを形成すべき画素位置を決定したら、図6の画像印刷処理に復帰して、決定した画素位置に各種ドットを形成する処理を行う(ステップS116)。その結果、印刷媒体上には、画像データに対応した画像が印刷されることになる。
【0102】
C.第1実施例のエンコード処理およびデコード処理:
以上に説明したように、本実施例の画像印刷処理では、画素群に形成される各種ドットの個数を求めた後、このデータをコードデータに変換してプリンタ200に供給する。ドット個数のデータをコード化しておけばデータ量を小さくすることができるので、プリンタ200で形成可能なドットの種類が多い場合でも、データを迅速に供給することができる。ここで、本実施例では、コード化に要する記憶容量をいたずらに増加させることなく、しかもドット個数のデータを迅速にコードデータに変換可能とするために、次のようなエンコード処理を行うことによって、ドット個数のデータをコードデータに変換している。
【0103】
図17は、第1実施例のエンコード処理の流れを示した説明図である。かかる処理は、コンピュータ100に内蔵されたCPU102によって実行される処理である。以下、フローチャートに従って説明する。
【0104】
エンコード処理を開始すると、先ず初めに処理の対象とする画素群を選択する(ステップS400)。画素群には、先だって行われた個数データ生成処理によって、大ドットの個数を示すデータ(DotL)、中ドットの個数を示すデータ(DotM)、小ドットの個数を示すデータ(DotS)が設定されている。
【0105】
次いで、選択した画素群に設定されているこれらドット個数のデータを読み込んだ後(ステップS402)、これらドット個数のデータに基づいて基準値を決定する(ステップS)。基準値の決定は次のようにして行う。先ず、読み込んだ3つのドット個数のデータDotL,DotM,DotSの中から1つを選択し、残った個数のデータから基準値を決定する。ここでは、小ドットの個数DotSを選択し、大ドットの個数DotLと中ドットの個数DotMとから基準値を決定するものとする。もちろん、こうした例に限定されるものではなく、中ドットの個数DotMを選択して、大ドットの個数DotLと中ドットの個数DotSとから基準値を決定することもできるし、あるいは大ドットの個数DotLを選択し、中ドットの個数DotMと小ドットの個数DotSとから基準値を決定することも可能である。
【0106】
大ドットの個数DotLおよび中ドットの個数DotMから基準値を決定する方法にも種々の方法を適用することができるが、ここでは、DotLとDotMとの組合せ毎に予め基準値を記憶しておいた対応表を用いて決定するものとする。図18は、こうした対応表を例示した説明図である。例えば、大ドットの個数DotLも中ドットの個数DotMも「0」である組合せには、基準値「0」が設定されている。このように対応表には、大ドットの個数DotLと中ドットの個数DotMとのあらゆる組合せ毎に、基準値が予め設定されている。図17のステップS404では、このようにして対応表を参照することにより、大ドットの個数DotLおよび中ドットの個数DotMから基準値を決定する。尚、図18中で基準値に「*」が表示されている組合せは、そのような組合せは実際には発生しないので、どのような基準値を設定しておいても構わないことを表したものである。
【0107】
こうして求めた基準値に、先に選択したドットの個数(ここでは、DotS)を加算して、得られた加算値を、該画素群についてのコードデータとする(ステップS406)。
【0108】
次いで、全ての画素群について、各種ドットの個数のデータをコードデータに変換したか否かを判断し(ステップS408)、未処理の画素群が残っている場合は(ステップS408:no)、ステップS400に戻る。そして新たな画素群を選択し、上述した一連の処理を行う。こうした処理を繰り返すことにより、全ての画素群について、各種ドットについての個数のデータをコードデータに変換したら(ステップS408:yes)、各画素群のコードデータをプリンタ200に向かって出力し(ステップS410)、図17に示したエンコード処理を終了する。
【0109】
プリンタ200では、このようなコードデータを受け取ると、これを画素群内に形成する各種ドットの個数を示すデータに変換する処理、すなわちデコード処理を行う(図6のステップS112)。デコード処理は、コードデータと、各種ドットの個数とを対応付けた対応表を参照することによって行う。図19は、デコード処理中で参照される対応表を例示した説明図である。前述したエンコード処理において、各種ドットの個数をコードデータに変換する対応関係に合わせて、コードデータに対するドット個数を対応表に適切に設定しておけば、コードデータを各種ドットの個数のデータに迅速に復元することができる。プリンタ200の制御回路260に内蔵されたCPUは、こうした対応表を参照することによって、コードデータをドット個数のデータに復元しながら画像を印刷する。
【0110】
参考として、図18に示したエンコード処理を実現するためのソースコードを図20に例示した。初めに、記憶領域を確保した後、図18に対応する基準値をセットしておけば、セットした基準値に小ドットの個数DotSを加算するだけでコードデータを得ることができる。図20に例示したソースコードからも明らかなように、上述した方法によれば、エンコード処理のために必要な記憶容量は、要素わずか25個の配列分だけで足りる。図29に例示したような125個の格子点を有する3次元配列を記憶する場合と比べて、必要な記憶容量が大幅に低減されていることが分かる。
【0111】
また、図20に示すソースコードからも明らかなように、基準値にDotSを加算するという極めて単純な計算によってコードデータを決定することができるので、コードデータを迅速に決定することが可能である。
【0112】
以上に説明したように、上述した方法を用いて、ドット個数をコードデータに変換してやれば、変換に要する記憶容量をいたずらに増加させることなく、迅速に変換することが可能となるのである。
【0113】
D.第2実施例のエンコード処理:
以上に説明した第1実施例のエンコード処理では、大ドットの個数DotLおよび中ドットの個数DotMの組合せに対する基準値を2次元の対応表に設定しておき、かかる対応表を参照しながらコードデータに変換した。しかし、対応表を参照するのではなく、次のようにして基準値を求めることとしても良い。
【0114】
図21は、第2実施例のエンコード処理の流れを示したフローチャートである。図17に示した第1実施例のエンコード処理に対して、第2実施例では、基準値を求めるために予備的な基準値を利用する点が大きく異なっている。以下では、こうした相違点に焦点をあてながら、第2実施例のエンコード処理について説明する。
【0115】
第2実施例のエンコード処理においても、第1実施例と同様に、処理を開始すると、先ず初めに処理の対象とする画素群を選択し(ステップS500)、選択した画素群に設定されているこれらドット個数のデータを読み込む(ステップS502)。ここでは、第1実施例と同様に、大中小の各ドットを形成するものとして、大ドットの個数DotL、中ドットの個数DotM、小ドットの個数DotSを読み込むものとする。
【0116】
各種ドットの個数のデータを読み込んだ後、前述した第1実施例のエンコード処理では、読み込んだデータの中なら1種類のドットを選択し、残った2種類のドットの個数から基準値を決定した。これに対して第2実施例のエンコード処理では、残ったドットの中から更にもう1種類のドットを選択し、最後に残ったドットに基づいて予備的な基準値を決定する。ここでは、第1実施例に合わせて、先ず1番目のドットとしては、小ドットを選択する。次いで、2番目のドットとして中ドットを選択し、残った大ドットの個数に基づいて予備的な基準値を決定するものとする。図21のステップS504では、このようにして大ドットの個数DotLから予備的な基準値を決定する。尚、各種ドットを選択する順番は、こうした順番に限られるものではなく、例えば、小ドットの個数DotSに基づいて予備的な基準値を決定しても、あるいは中ドットの個数DotMに基づいて予備的な基準値を決定しても構わない。
【0117】
予備的な基準値は、大ドットの個数DotLに対して予め適切な値を設定しておくことで、簡便に決定することができる。図22は、大ドットの個数DotLに対して予備的な基準値が設定されている様子を概念的に示した説明図である。
【0118】
次いで、予備的な基準値に中ドットの個数DotMを加算して、得られた加算値AddMに基づいて基準値を決定する(ステップS506)。例えば、大ドットの個数DotLが1個で、中ドットの個数DotMが2個の場合は、図22から予備的な基準値は5であるから、
AddM=(予備的な基準値)+DotM=5+2=7
こうして求めた加算値AddMに対して、図23に示すように基準値を対応付けておき、かかる対応表を参照して基準値を決定することができる。
【0119】
図24は、上述したようにして決定されたAddMが、大ドットの個数DotLと中ドットの個数DotMとの組合せに応じて分布している様子を表した説明図である。図示されているように、大ドットおよび中ドットの組合せに応じて、AddMが0〜34の範囲で重複することなく分布している。こうして分布しているAddMの各々に予め適切な基準値を設定しておけば、大ドットおよび中ドットの個数に応じて適切な基準値を求めることができる。図21のステップS506では、このようにして予備的な基準値とDotMとの加算値(AddM)とに基づいて基準値を決定する。尚、以上の説明では、大ドットの個数DotLから予備的な基準値を求め、これに中ドットの個数DotMを加算することによって基準値を決定するものとして説明した。しかし、このような例に限らず、例えば中ドットの個数DotMから予備的な基準値を求め、これに大ドットの個数DotLを加算した値に基づいて基準値を決定するなど、異なるドットの組合せを用いて、予備的な基準値および基準値を求めることしても構わない。
【0120】
こうして基準値を求めたら、前述した第1実施例のエンコード処理と同様に、基準値に小ドットの個数DotSを加算して、得られた加算値をコードデータとする(ステップS508)。
【0121】
次いで、全ての画素群について、各種ドットの個数のデータをコードデータに変換したか否かを判断し(ステップS510)、未処理の画素群が残っている場合は(ステップS510:no)、ステップS500に戻って、全ての画素群についての処理を終了するまで、上述した処理を繰り返す。そして全ての画素群についての処理を終了したら、得られた各画素群のコードデータをプリンタ200に向かって出力し(ステップS512)、図21に示した第2実施例のエンコード処理を終了する。
【0122】
以上に説明した第2実施例のエンコード処理では、大ドットの個数DotLに対して、予備的な基準値を予め適切な値に設定しておくことで、コードデータへの変換に要する記憶容量を更に低減させることが可能となる。以下では、この理由について、図24を参照しながら説明する。
【0123】
例えば、大ドットの個数DotLが2個であったとする。今、ドットが重ねて形成されることはなく、従って、大中小の各ドット個数の合計が5以上になることはないとしているから、中ドットの個数DotMは、0〜2個のいずれかの値しか取り得ず、3個、あるいは4個となることはない。従って、大ドットの個数DotLが2個の場合は、中ドットの個数DotMが0個、1個、2個の場合だけ基準値を設定しておけばよい。換言すれば、中ドットの個数DotMが3個、4個の場合に基準値を設定しても無駄である。前述した第1実施例のエンコード処理では、図18中に「*」で示したように、このような使用されることのない組合せにも何らかの基準値を設定した。これに対して、上述した第2実施例のエンコード処理では、大ドットの個数DotLに対する予備的な基準値を設定しておき、この値に中ドットの個数DotMを加算した値に基づいて基準値を設定する。大ドットの個数DotLが2個の場合は、中ドットの個数DotMは0〜2個の値しか取り得ないから、これに応じた3通りの基準値を設定しておけば良く、中ドットの個数3個、4個に対する基準値を設定しておく必要はない。
【0124】
図24の例では、大ドットの個数DotLが2個の場合の予備的な基準値は9であるから、加算値AddMの値が9,10,11の3つ値となる場合についてのみ基準値を設定しておけばよい。このように、大ドットの個数DotLが2個の場合は、加算値AddMが9〜11の値を取り得るから、大ドットの個数DotLが3個の場合の予備的な基準値を、12に設定する。このようにして、予備的な基準値を設定しておけば、加算値AddMを互いに重複することなく、連続した値とすることができる。実際に、図18と図24とを比較すれば明らかなように、図24に示した加算値AddMは、図18中で「*」以外の値を取る有意な基準値が設定された組合せだけに対して、重複することなく連続した値が設定されている。以上に説明したように、第2実施例のエンコード処理では、使用されない組合せに対する基準値を記憶しておく必要がないので、その分だけ記憶容量を低減することが可能となるのである。
【0125】
参考として、上述した第2実施例のエンコード処理を実行するためのソースコードを図25に例示した。図中に示した「*」は、いわゆる間接演算子であり、変数を記憶しているアドレス値の前に付けることで、そのアドレスに記憶されている変数値を返す機能を有している。また、図中に示した「&」は、いわゆるアドレス演算子であり、変数の前に付けることで、その変数を記憶しているアドレス値を返す機能を有している。図25に示すように、第2実施例のエンコード処理によれば、tabale2[0]〜tabale2[14]までの15個の領域を確保するだけで、コードデータを決定することが可能である。
【0126】
また、図25のソースコードに示したように、第2実施例のエンコード処理においても、(table1[DotL]+DotM)というアドレスに記憶されている値に、DotSを加算するという極めて単純な計算によってコードデータを決定することができる。すなわち、第1実施例のエンコード処理と同様に、コードデータを迅速に決定することが可能である。
【0127】
E.第3実施例のエンコード処理:
以上に説明した各種実施例では、基準値に、特定のドットの個数(小ドットの個数DotS)を加算した値をコードデータとして用いたが、加算値をそのままコードデータとするのではなく、対応表を参照するためのインデックス値として使用することも可能である。こうすれば、対応表に適切なコードデータを設定しておくことができるので、コードデータへの変換の自由度を大きく向上させ、より適切なデータに変換することが可能となる。以下では、こうした第3実施例のエンコード処理について、簡単に説明する。
【0128】
図26は、基準値に小ドットの個数DotSを加算した加算値をインデックス値として用い、このインデックス値にコードデータが対応付けて記憶されている様子を概念的に示した説明図である。図中では、インデックス値は左端の欄に示されており、インデックス値に対するコードデータは右端の欄に示されている。また、インテックス値とコードデータとの間には、該インデックス値が得られるような各種ドットの個数の組合せを、参考のために表示している。例えば、図中の最上段には、大ドットの個数DotL、中ドットの個数DotM、小ドットの個数DotSがいずれも0個である場合は、インデックス値は0であり、このインデックス値にはコードデータ0が対応付けられていることが示されている。このような対応表を設定しておけば、各種ドットの個数からインデックス値を求めて対応表を参照することにより、各種ドットの個数の組合せを迅速にコードデータに変換することができる。
【0129】
第3実施例のエンコード処理では、上述したように、基準値に特定のドットの個数を加算して得られた値をインデックス値として用い、対応表を参照することによってコードデータに変換する。こうした方法を用いてエンコード処理を行えば、次のような利点を得ることができる。
【0130】
すなわち、同じ画素にドットが重ねて形成されるわけではないが、たまたま使用されないドットの組合せが生じることがある。こうした組合せは、画質上の要請から、そのようなドットの組合せを意図的に排除した場合にも生じるが、大中小のドットデータを得るために用いる図7に示した変換テーブルの設定によって、偶然に発生することもある。これらの使用されないドットの組合せは、大ドット、中ドット、小ドットの大きさの比率や、使用するインクとの組合せなどによって影響されると考えられ、プリンタの機種毎に異なっている場合も多いと考えられる。
【0131】
ここでは、大ドット0個、中ドット0個、小ドット4個の組合せ(以下では、(DotL、DotM、DotS)=(0,0,4)と表す)と、(DotL、DotM、DotS)=(0,1,3)、(DotL、DotM、DotS)=(0,4,0)の3つの組合せが使用されていなかったものとする。これら使用されない組合せに対応するコードデータは、実際には使用されることはないので、固有のコードデータを設定しておく必要はない。図26で、コードデータの欄に「−」が表示されているのは、これらコードデータは使用されない組合せに対応付けられているため、どのような値を設定しておいても構わないことを表している。
【0132】
このように使用されない組合せが存在していれば、設定すべきコードデータの種類を減らすことができる。図26に示した例では、0〜34の35通りのインデックス値に対して、0〜31の32通りのコードデータを設定しておけば足りる。このように、コードデータの種類を減らすことができれば、プリンタ200に出力すべきデータ量を減少させることが可能となる。すなわち、仮にコードデータが35通り存在する場合は、コードデータを6ビット以上のデータとする必要があるが、32通りしか存在しなければ5ビットデータとすることができる。6ビットデータを5ビットデータに変更するだけで、プリンタ200に供給すべきデータ量を約17%程度減少させることができ、それだけ迅速にデータを供給することが可能となる。
【0133】
もちろん、前述した第1実施例あるいは第2実施例において、基準値あるいは予備的な基準値を適切に設定して、使用されないドット個数の組合せに対してはインデックス値が設定されないようにすれば、インデックス値の種類を減らすことも可能である。しかし、使用されないドットの組合せは、プリンタの機種毎に異なっていると考えられるので、プリンタの機種毎に、あるいはプリンタの設定が変更される度に、基準値や予備的な基準値を設定し直さなければならないのでは煩雑である。また、例えば図27に例示したように、大ドットおよび中ドットの個数がいずれも1個の時に、小ドットが0個あるいは2個形成される場合はあるが、小ドットが1個形成されることはといった場合に、(DotL、DotM、DotS)=(1,1,1)の組合せだけを除いてインデックス値を設定することは、それほど容易なことではない。
【0134】
これに対して、上述した第3実施例のエンコード処理では、インデックス値に対応付けて設定されているコードデータを変更するだけでよいので、使用されないドット個数の組合せが存在していれば、これに容易に対応し、延いてはプリンタに出力するデータ量を抑制することが可能となる。
【0135】
F.第4実施例のエンコード処理:
上述した第3実施例では、使用されないドットの組合せがあった場合に、この組合せに対応するインデックス値には固有のコードデータを対応付けないこととし、これによりプリンタに出力すべきコードデータのデータ量を抑制した。しかし、インデックス値に対応付けるコードデータを柔軟に設定可能なことを利用すれば、次のような方法によっても、プリンタに出力すべきデータ量を抑制することができる。以下では、こうした第4実施例のエンコード処理について簡単に説明する。
【0136】
図28は、インデックス値にコードデータが対応付けて記憶されている様子を概念的に示した説明図である。図26を用いて説明した第3実施例の場合と同様に、図中の左端の欄にはインデックス値が表示され、右端の欄にはコードデータが、インデックス値とコードデータとの間には、大中小の各ドットの個数が表示されている。図28に示されているように、第4実施例では35通り存在するインデックス値の全てにコードデータが設定されている。これは、前述した第3実施例で着目したような、使用されないドット個数の組合せの存在を、第4実施例では想定していないことに対応している。第4実施例では、使用されない組合せではなく、使用頻度の低い組合せに着目する。例えば、(DotL、DotM、DotS)が(0,1,3)の組合せ、および(0,3,1)、(0,4,0)、(1,0,0)の4つの組合せは使用頻度が低く、他の31通りの組合せは、これら4つに比べれば使用頻度が高いものとする。
【0137】
第4実施例では、使用頻度の比較的高い組合せについては5ビットのコードデータを対応付け、使用頻度の低い4通りの組合せについては拡張コードと5ビットのコードデータを対応付けることを考える。すなわち、5ビットのコードデータは32通りの状態を表現可能であるが、このうちの1つを拡張コードとして使用し、残りの31通りの状態を、比較的使用頻度の高いドット個数の組合せに対応付ける。そして、使用頻度の低い組合せに対しては拡張コード+5ビットデータをコードデータとして対応付けてやる。図28に示した例では、「31」を拡張コードとして割り当てておき、比較的使用頻度の高いドット個数の組合せに対しては、「0」〜「30」のコードデータが対応付けられている。また、使用頻度が低い組合せである(DotL、DotM、DotS)=(0,1,3)に対しては、拡張コード「31」に続けて「0」を組み合わせたコードデータを対応付けられている。同様に、(DotL、DotM、DotS)=(0,3,1)に対しては拡張コード「31」に「1」を組み合わせたコードデータが、(0,4,0)に対しては拡張コード「31」に「2」を組み合わせたコードデータが、そして(1,0,0)に対しては拡張コード「31」に「3」を組み合わせたコードデータが対応付けられている。
【0138】
このように設定された対応表を用いて、ドット個数の組合せをコードデータに変換してやれば、35通りの組合せを表現しているにもかかわらず、使用頻度の高い組合せについては5ビットのコードデータに変換される。もちろん、拡張コードを含んだコードデータに変換された場合には、実質的には10ビットのコードデータに変換されることになるが、このような組合せは使用頻度が低く、ほとんどの組合せは5ビットのコードデータに変換される。このため、プリンタ200に出力すべきコードデータのデータ量が抑制されるので、その分だけ画像を迅速に表現することが可能となる。
【0139】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述の機能を実現するソフトウェアプログラム(アプリケーションプログラム)を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、CD−ROMやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
【図面の簡単な説明】
【図1】印刷システムを例にとって本発明の概要を示した説明図である。
【図2】本実施例の画像処理装置としてのコンピュータの構成を示す説明図である。
【図3】本実施例のプリンタの概略構成を示す説明図である。
【図4】各色のインク吐出用ヘッドの底面にインク滴を吐出する複数のノズルNzが形成されている様子を示した説明図である。
【図5】本実施例のプリンタが大きさの異なるインクドットを形成する原理を示した説明図である。
【図6】本実施例のコンピュータおよびプリンタが画像データに所定の画像処理を加えて印刷媒体上に画像を印刷する処理の流れを示すフローチャートである。
【図7】階調データを各種ドットについてのドットデータに変換するために参照される変換テーブルを概念的に示した説明図である。
【図8】色変換後の階調データを大中小の各種ドットのドットデータに変換した様子を概念的に示した説明図である。
【図9】本実施例において行われる解像度変換の様子を示す説明図である。
【図10】個数データ生成処理の流れを示したフローチャートである。
【図11】ディザマトリックスの一部を例示した説明図である。
【図12】画素群内に形成する大ドット中ドット小ドットのドット個数をディザマトリックスを参照しながら決定する方法を示した説明図である。
【図13】各種ドットについてのドットデータに個数データ生成処理が施されて、画素群内に形成されるドット個数を示すデータに変換された様子を概念的に示した説明図である。
【図14】画素位置決定処理の流れを示すフローチャートである。
【図15】ある画素群について各種ドットのドット個数が与えられたときにディザマトリックスを参照しながらこれらドットを形成する画素位置を決定する様子を示した説明図である。
【図16】各種のドットを形成すべき画素位置が画素群毎に決定された様子を概念的に示した説明図である。
【図17】第1実施例のエンコード処理の流れを示した説明図である。
【図18】第1実施例のエンコード処理中で基準値を求めるために参照させる対応表を例示した説明図である。
【図19】デコード処理中で参照される対応表を例示した説明図である。
【図20】第1実施例のエンコード処理を実行するためのソースコードを例示した説明図である。
【図21】第2実施例のエンコード処理の流れを示したフローチャートである。
【図22】大ドットの個数に対して予備的な基準値が設定されている様子を概念的に示した説明図である。
【図23】予備的な基準値と中ドットの個数との加算値に基準値が対応付けられた対応表を概念的に示した説明図である。
【図24】予備的な基準値と中ドットの個数との加算値が、大ドットの個数と中ドットの個数との組合せに応じて分布している様子を表した説明図である。
【図25】第2実施例のエンコード処理を実行するためのソースコードを例示した説明図である。
【図26】基準値に小ドットの個数を加算した加算値をインデックス値として、インデックス値にコードデータが対応付けて記憶された第3実施例の対応表を概念的に示した説明図である。
【図27】第3実施例のエンコード処理の利点を示す説明図である。
【図28】インデックス値にコードデータが対応付けて記憶された第4実施例の対応表を概念的に示した説明図である。
【図29】大中小ドットの各ドットについてドット個数の全ての組合せを概念的に示した説明図である。
【図30】大ドットの個数と中ドットの個数との組合せに対応付けて基準値が記憶されている様子を概念的に表している。
【図31】基準値と小ドットの個数との加算値に基づいてコードデータを決定している様子を概念的に示した説明図である。
【図32】各種ドットの組合せに応じてコードデータが決定された様子を例示した説明図である。
【符号の説明】
10…コンピュータ
12…ドット個数決定モジュール
14…ドット個数変換モジュール
16…コードデータ出力モジュール
20…プリンタ
100…コンピュータ
108…周辺機器インターフェースPIF
110…ネットワークインターフェースカードNIC
112…ビデオインターフェースVIF
116…バス
118…ハードディスク
120…デジタルカメラ
122…カラースキャナ
124…フレキシブルディスク
126…コンパクトディスク
200…プリンタ
230…キャリッジモータ
236…プラテン
235…モータ
240…キャリッジ
241…印字ヘッド
242…インクカートリッジ
243…インクカートリッジ
244…インク吐出用ヘッド
255…インク通路
256…インク室
257…インクギャラリ
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 that has been subjected to the image processing can be quickly transferred to an image display device so that the image can be displayed quickly. It relates to the technology.
[0002]
[Prior art]
An image display device that displays dots by forming dots on a display medium such as a printing paper or a liquid crystal display screen is widely used as an output device of various image devices. These image display devices can express only the state of whether or not to form dots when viewed microscopically, but appropriately control the dot formation density according to the image data of the image to be expressed. By doing so, it is possible to express a multi-tone image.
[0003]
In these image display apparatuses, in order to set the dot formation density to an appropriate density, an image is usually displayed through the following procedure. First, an image to be displayed is divided into fine pixels. Next, predetermined image processing is performed on the image to determine whether or not to form a dot for each pixel. By applying a so-called error diffusion method or dither method, it is possible to determine the presence or absence of dot formation for each pixel so that dots are formed at an appropriate density in accordance with image data. Data representing the presence or absence of dot formation for each pixel thus obtained is supplied to the image display device. In the image display device, an image is displayed by forming dots in each pixel according to the received data.
[0004]
In recent years, there has been a strong demand for high-quality and large-sized display images in such image display devices, and in order to meet these demands, the number of pixels constituting an image tends to increase (for example, Patent Document 1). As described above, the image display device receives data indicating the presence or absence of dot formation for each pixel and displays the image. Therefore, if the number of pixels increases, it takes time to receive the data, and the image is displayed. It becomes difficult to display quickly.
[0005]
In order to solve these problems, the inventor of the present application collects a plurality of pixels as a pixel group, determines the number of dots formed in the pixel group, and supplies the obtained dot number data to the image display device. The first technology for displaying images has been developed, and an application has already been filed (Japanese Patent Application No. 2003-87176). Since the number of dots can be expressed with a smaller amount of data than the presence / absence of dot formation for each pixel, the image display device can be used to quickly display an image with a large number of pixels, for example, using the applied technology. Data can be supplied, and thus images can be displayed quickly.
[0006]
Some of these image display devices improve the image quality by changing the type of dots to be formed (for example, the size of the dots and the brightness of the dots) to enable multi-tone expression even with the pixels alone. There is also a plan. In such an image display device, since a plurality of types of dots can be formed, the number of dots formed in the pixel group is supplied for each type of dot. However, if the number of dots is simply supplied for each type of dot, the amount of data to be supplied to the image display device increases as the number of types of dots increases, making it difficult to display images quickly. End up. In order to avoid such a problem, the inventor of the present application also developed a second technique for displaying the image by encoding the number of various dots formed in the pixel group and then supplying it to the image display device. An application has already been filed (Japanese Patent Application No. 2003-87218).
[0007]
For example, assuming that the image display apparatus can form three types of dots having different sizes, the number of dots formed in a certain pixel group is one large dot, two medium dots, and one small dot. . In the second technology that has been filed, a code that indicates a combination of the dot type and the number instead of outputting one large dot, two medium dots, one small dot and the number of each dot type ( For example, instead of outputting the number of dots in advance, a code indicating that the number of large dots, medium dots, and small dots is a combination of one, two, and one is set in advance. A code indicating the combination is output to the image display device. If the combination of the number of various dots and the unique code corresponding to the combination are stored in the correspondence table in advance, the combination of the number of various dots can be easily converted into the corresponding code. If the combinations of the numbers of various dots are coded and output in this way, even if the image display apparatus can form many types of dots, it is possible to supply data quickly and display an image quickly.
[0008]
[Patent Document 1]
JP 2000-115716 A
[0009]
[Problems to be solved by the invention]
However, there is a problem that if a combination of dot numbers for various dots is encoded and supplied, a large amount of storage capacity is required to encode the combination of dot numbers. As an example, it is assumed that one pixel group is composed of four pixels, and three types of large, medium, and small dots can be formed. In this case, since the number of dots formed in the pixel group can take five values of 0 to 4 for both large, medium, and small dots, a combination of the number of dots that can be formed in the pixel group. There are 5 cubes, that is, 125 ways. Therefore, in order to code these combinations of the number of dots, it is necessary to store a correspondence table in which a unique code is associated with each of the 125 combinations. In addition, when one pixel group is composed of eight pixels, a correspondence table in which codes are associated with each of the combinations of 729, which are 9 cubes, is required.
[0010]
The same applies to the case where the coded data is decoded and restored to the number of various dots. That is, the number of various dots is associated with each of the 125 codes and stored in the correspondence table, and decoding is performed based on the correspondence table. After all, a large storage capacity is required to store such a correspondence table.
[0011]
However, if we decided to supply the number data for each dot type without coding the number of dots, if the image display device can form multiple types of dots, it would supply the number data. It takes time and it becomes difficult to display an image quickly.
[0012]
The present invention has been made to solve the above-described problems in the prior art, and an object of the present invention is to provide a technique capable of quickly displaying an image while suppressing an increase in necessary storage capacity.
[0013]
[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 processing apparatus that performs predetermined image processing on image data, and an image display apparatus that displays an image by forming a plurality of types of dots having different gradation values to be expressed on a display medium based on the result of the image processing; An image display system comprising:
The image processing apparatus includes:
For a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number, the number of dots is determined for each type of dot based on the image data, and the number of dots formed in the pixel group is determined. Means,
Dot number conversion means for converting a combination of dot numbers formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of dot numbers;
Code data output means for outputting the code data obtained for each pixel group to the image display device;
With
The image display device includes:
Code data decoding means for receiving the code data and decoding the number of dots for various dots formed in the pixel group;
Pixel position determining means for determining, for each type of dot, a pixel position where a dot is formed in the pixel group, based on the number of various dots obtained by the decoding;
Dot forming means for forming various dots on the display medium based on the determined pixel position;
With
The dot number converting means includes
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A reference value determining means for determining a value;
Code data determining means for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot;
It is a summary to provide.
[0014]
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 on a display medium by forming a plurality of types of dots having different gradation values to be expressed based on the result of the image processing after performing predetermined image processing on the image data. And
For a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number, the number of dots formed in the pixel group is determined for each type of dot based on the image data Process,
A second step of converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
A third step of decoding the code data into the number of dots for various dots formed in the pixel group;
A fourth step of determining, for each type of dot, a pixel position where a dot is formed in the pixel group based on the number of various dots obtained by the decoding;
A fifth step of forming various dots on the display medium based on the determined pixel position;
With
The second step includes
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A step (2-1) for determining a value;
A step (2-2) of determining the code data based on an added value of the determined reference value and the number of dots for the specific dot;
It is a summary to provide.
[0015]
In such an image display system and image display method, the number of various dots formed in the pixel group is determined by performing predetermined image processing on the image data. In order to quickly output the combination of the numbers of various dots obtained in this way to the image display device, the data is converted into code data to reduce the data amount and then output. In the image display device, the received code data is decoded and converted into data indicating the number of various dots formed in the pixel group. Next, based on the number of various dots obtained by decoding, the pixel position where the dot is formed in the pixel group is determined for each type of dot. An image is displayed by forming various dots at the pixel positions thus determined.
[0016]
Here, in the image display system and the image display method of the present application, in order to avoid requiring a large storage capacity when converting the combination of the number of various dots into code data, the code data is as follows. Convert to First, a reference value for obtaining code data is determined from the number of dots for the remaining dots obtained by removing specific dots from various dots. Next, the reference value and the number of dots of the specific dot are added, and code data is determined based on the obtained added value. If the combination of the number of various dots is converted into code data in this way, it is possible to avoid the occurrence of the problem that a large amount of storage capacity is required even though it can be converted quickly. . The reason why such an effect is obtained will be supplementarily described below using specific examples.
[0017]
As an example, it is assumed that the image display apparatus can form three types of dots (large dots, medium dots, and small dots) having different sizes, and the pixel group is composed of four pixels. In this case, the number of pixels that can be formed in one pixel group can take five values from 0 to 4 for any of large, medium, and small dots. It is sufficient to store them in association with each other. For example, if the number of large, medium, and small dots is L, M, and S, unique code data may be associated with each combination of the numbers of dots. Since all of L, M, and S can take 5 values in the range of 0 to 4, there are 5 3 (= 125) combinations as possible combinations. .
[0018]
However, all of these combinations are not always used in an image display device. That is, a combination that adversely affects image quality is not normally used due to the nature of the apparatus for displaying an image. Examples of such combinations include combinations in which dots are formed on the same pixel. As an example, the case of forming a large dot and a small dot will be described. When these dots are formed in separate pixels, the total value of the gradation value expressed by the large dot and the gradation value expressed by the small dot It can be considered that a gradation value substantially corresponding to is expressed. However, when a large dot is formed on a small dot, the small dot is covered with the large dot, so that the original gradation value cannot be expressed, and the gradation value expressed as a whole is shifted. . As a result, the image quality is deteriorated.
[0019]
Of course, it is possible to express more detailed gradation changes by actively utilizing the effect of slightly increasing the gradation value expressed when small dots are formed over large dots, thereby further improving image quality. There is also an image display device that improves the above. However, even in such an image display apparatus, there is no change that there are combinations of the number of dots that are not used mainly due to the demand for image quality. For these reasons, not all combinations of dot numbers are actually used in an image display device.
[0020]
FIG. 29 is an explanatory diagram conceptually showing all combinations of dot numbers for large dots, medium dots, and small dots. In the figure, the L axis represents the number of large dots, the M axis represents the number of medium dots, and the S axis represents the number of small dots. Since the pixel group is composed of four pixels, the number of dots can take an integer value of 0-4. Therefore, it can be considered that there are a total of 125 combinations corresponding to the respective lattice points indicated by thin broken lines.
[0021]
Here, a combination in which dots are formed in an overlapping manner will be considered for a case where the combination is not actually used in an image display apparatus. Of course, a combination other than the combination in which dots are formed may be used as a combination that is not actually used. However, in order to facilitate understanding, in the following, dots are formed in an overlapping manner. The combination will be described as not being used. For example, when a combination of (L, M, S) is (4, 0, 1) is considered, since this combination forms a total of five dots in the pixel group, at least one dot is formed in an overlapping manner. Will be. Therefore, such a combination in which the total number of dots exceeds the number of pixels can be considered as a combination that is not actually used.
[0022]
In FIG. 29, the remaining lattice points are displayed with circles except for combinations where the total number of dots is 5 or more from the combinations indicated by the respective lattice points. In the illustrated example, the number of grid points with such circles is only 34 out of 125 grid points, and code data is associated with the combination indicated by the grid points with these circles. It will be enough.
[0023]
In the image display system and the image display apparatus of the present application, the following method is adopted. Therefore, the code data is associated with the grid points marked with circles in FIG. 29 and the combination of the number of dots represented by the grid points is set. It can be quickly converted into code data. 29. First, one type of dot (here, small dot) is selected from the large, medium, and small dots, and the remaining dots (here, large dots) are selected. The reference value is determined from the number of dots (medium dots). Various methods can be applied to determine the reference value from the number of large dots and medium dots, but the simplest method is for each combination of the number of large dots and the number of medium dots. Reference values can be stored in association with each other, and the reference values can be determined with reference to this correspondence.
[0024]
FIG. 30 conceptually shows how the reference value is stored in association with the combination of the number L of large dots and the number M of medium dots. In the illustrated example, for example, (L, M) = (1, 1), that is, a reference value 19 is stored for a combination in which the number of large dots and the number of medium dots are one. Note that “*” displayed in the figure is not actually referred to, and thus indicates that any reference value may be stored. For example, when (L, M) = (4, 1), the total number of dots has already reached 5 with only large dots and medium dots, so such a combination is not actually used. . In this way, the number S of small dots is added to the reference value determined based on the numbers of large dots and medium dots, and code data is determined based on the obtained added value.
[0025]
FIG. 31 is an explanatory diagram conceptually showing how code data is determined based on an added value of a reference value and the number S of small dots. For example, if the number L of large dots and the number M of medium dots are both 1, the number S of small dots can take 0 to 2 values. According to FIG. 30, since the reference value for (L, M) = (1,1) is 19, when the number S of small dots is 0, the value of S (= 0) is set as the reference value 19. By adding, it is possible to determine the obtained addition value 19 as code data. When the number S of small dots is 1, the addition value 20 obtained by adding S (= 1) to the reference value 19 is used as code data, and when the number S of small dots is 2, the same applies. Thus, the added value 21 may be code data. When the number L of large dots is 1 and the number M of medium dots is 2, the number S of small dots is either 0 or 1. According to FIG. 30, since the reference value for (L, M) = (1,2) is 22, the code data 22 is obtained when the number S of small dots is 0, and the number S of small dots is 1 Can be determined as code data 23.
[0026]
FIG. 32 is an explanatory view exemplifying how the code data is determined in this way. As shown in the figure, it is possible to confirm that code data from 0 to 34 are associated with each of the lattice points marked with circles in FIG. 29 without overlapping.
[0027]
As described above, according to the image display system or the image display method of the present application, even in the case shown in FIG. 29 (when the pixel group is composed of four pixels and three types of dots can be formed), 125 are displayed. It is not necessary to store code data for all grid points. That is, in the specific example described above, if the reference values for 25 lattice points shown in FIG. 30 are stored, the reference value is determined from the numbers of large dots and medium dots, and the number of small dots is set to this value. Code data can be obtained immediately by addition. Of course, the method of determining the reference value is not limited to the method illustrated in FIG. 30, and various methods can be applied as will be described later, and if such a method is used, the storage capacity required for conversion is further reduced. It is also possible to do.
[0028]
In the above description, the added value is used as it is as code data, but the added value can also be used as an index value. That is, a correspondence relationship between the added value and the code data may be determined in advance, and the code data may be determined based on the correspondence relationship.
[0029]
As described above in detail based on the specific examples, in the image display system and the image display method of the present application, a predetermined one type of dot is selected as a specific dot from various dots, and the specific dot is selected from the various dots. A reference value for obtaining the code data is determined based on the number of dots for the remaining remaining dots. Code data is determined based on the added value of the reference value thus determined and the number of dots for the specific dot. In this way, by setting a reference value according to the combination of the number of dots actually used to display an image, code data can be determined quickly without unnecessarily increasing the required storage capacity. It becomes possible to do.
[0030]
In such an image display system, the reference value for the number of remaining dots may be determined as follows. That is, when one type of dot included in the remaining dots is focused and only the number of the focused dots is increased, the amount of increase in the reference value is gradually reduced in a range from at least 0 to the predetermined number. Such a correspondence between the number of remaining dots and the reference value is stored. Such correspondence may be a correspondence table in which the number of remaining dots and a reference value are stored in association with each other, or may be an arithmetic expression for calculating a reference value from the number of dots. The reference value may be determined from the number of remaining dots based on such correspondence.
[0031]
As described above, if dots are not formed on the same pixel, the number of dots that can be formed decreases as the number of dots increases from zero. In this case, in order that the added value obtained by adding the number of specific dots to the reference value does not overlap and become the same value, and the added value becomes a continuous value, the number of dots from at least 0 to a predetermined number In this range, it is necessary to set so that the increase amount of the reference value gradually decreases as the number of dots increases. In other words, it is preferable to set the reference value in this way, since it is possible to take a continuous value without overlapping the added value of the reference value and the number of specific dots.
[0032]
Alternatively, in the above image display system, the reference value may be determined as follows. First, a preliminary reference value for obtaining the reference value is determined based on the number of dots for other dots obtained by removing one predetermined type of dot from the remaining dots. Next, the reference value may be determined based on the added value of the number of dots for the predetermined dot removed from the remaining dots and the determined preliminary reference value. The preliminary reference value can be quickly determined by storing the correspondence relationship with the number of dots in advance, like the reference value described above.
[0033]
In the method described above, the reference value is determined from the remaining dots, whereas in the above method, a preliminary reference value is obtained based on the number of remaining dots obtained by removing one type of dot from the remaining dots. decide. Therefore, the preliminary reference value can be determined relatively easily. By adding the number of one kind of dots previously removed to this preliminary reference value, this is also relatively simple. Can be determined. After all, it is preferable because the reference value can be easily determined. In addition, according to such a method, since the preliminary reference value is determined based on the number of remaining dots obtained by removing one kind of dot from the remaining dots, the preliminary reference value is determined. Even when a correspondence table is used, it can be determined using a small correspondence table. Therefore, it is possible to obtain an advantage that the necessary storage capacity can be prevented from increasing unnecessarily.
[0034]
In the image display system and the image display method described above, the addition value of the reference value and the number of dots of the specific dot and the code data are stored in advance in a correspondence table, and the correspondence table is stored in the correspondence table. Based on this, code data may be determined.
[0035]
In this way, it is possible to associate appropriate code data with each added value. That is, it is preferable because the degree of freedom in determining code data can be greatly improved.
[0036]
Alternatively, in the above-described image display system, the reference value used to determine the code data is held in a state that can correspond to the number of remaining dots used to determine the reference value, and this is newly added. It may be used for determination of correct code data. That is, if the number of remaining dots for the pixel group focused on to determine the reference value matches the number of retained dots, the retained reference value is used as the reference for the focused pixel group. Determine as value. The code data for the pixel group of interest may be determined by adding the number of specific dots to the reference value thus determined.
[0037]
By doing this, it is possible to quickly determine the reference value for the pixel group of interest, and thus it is possible to quickly determine the code data. In general, in view of image characteristics, nearby pixels often have approximate image data. Therefore, it is considered that the number of remaining dots is often the same in nearby pixels. Therefore, in the image display system in particular, it is preferable to determine the reference value by the above-described method because code data can be determined quickly.
[0038]
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,
Control data that is supplied to an image display device that displays an image while forming various dots having different gradation values to be expressed and used to control the formation of the various dots in the display device represents the image. An image processing apparatus that generates image data by performing predetermined image processing,
For a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number, the number of dots is determined for each type of dot based on the image data, and the number of dots formed in the pixel group is determined. Means,
Dot number conversion means for converting a combination of dot numbers formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of dot numbers;
Code data output means for outputting the code data obtained for each pixel group to the image display device;
With
The dot number converting means includes
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A reference value determining means for determining a value;
Code data determining means for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot;
It is a summary to provide.
[0039]
The image processing method of the present invention corresponding to the above image processing apparatus is
Control data that is supplied to an image display device that displays an image while forming various dots having different gradation values to be expressed and used to control the formation of the various dots in the display device represents the image. An image processing method for generating image data by adding predetermined image processing,
A step (A) of determining a number of dots formed in the pixel group for each pixel type based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped in a predetermined number; )When,
(B) converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
A step (C) of outputting the code data obtained for each pixel group to the image display device;
With
The step (B)
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A step of determining a value (B-1);
A step (B-2) of determining the code data based on an added value of the determined reference value and the number of dots for the specific dot;
It is a summary to provide.
[0040]
In such an image processing apparatus and image processing method, the number of dots for various dots formed in a pixel group is converted into code data as follows. First, a predetermined one kind of dot is selected as a specific dot from various dots, and a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. Is determined. Code data is determined based on the added value of the reference value thus determined and the number of dots for the specific dot.
[0041]
If the number of dots in the pixel group is converted into code data, the amount of data is greatly reduced, so that the data can be handled quickly, and therefore the control data can be quickly output to the image display device. It becomes possible. Further, it is preferable to convert dot number data into code data by using such a method because the conversion can be performed quickly without unnecessarily increasing the storage capacity required for the conversion.
[0042]
In such an image processing apparatus and image processing method, the value obtained by adding the number of specific dots to the reference value and the code data are stored in advance in a correspondence table, and the correspondence table is referred to, The code data may be determined from the added value.
[0043]
In this way, appropriate code data can be associated with each added value in advance, so that the degree of freedom in determining code data can be greatly improved, and the corresponding control data is converted accordingly. This is preferable because it can be performed.
[0044]
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 and executing a predetermined function. 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 method for displaying an image on a display medium by forming a plurality of types of dots having different gradation values to be expressed based on a result of the image processing after performing predetermined image processing on the image data. A program for use and realization,
For a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number, the number of dots formed in the pixel group is determined for each type of dot based on the image data Function and
A second function of converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
A third function for decoding the code data into the number of dots for various dots formed in the pixel group;
A fourth function for determining a pixel position where a dot is formed in the pixel group for each type of dot based on the number of various dots obtained by the decoding;
A fifth function for forming various dots on the display medium based on the determined pixel position;
As well as
The second function is:
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A function (2-1) for determining a value;
A function (2-2) for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot;
The main point is that
[0045]
The recording medium of the present invention corresponding to such a program is
A method for displaying an image on a display medium by forming a plurality of types of dots having different gradation values to be expressed based on a result of the image processing after performing predetermined image processing on the image data. A recording medium on which a program to be implemented is recorded,
For a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number, the number of dots formed in the pixel group is determined for each type of dot based on the image data Function and
A second function of converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
A third function for decoding the code data into the number of dots for various dots formed in the pixel group;
A fourth function for determining a pixel position where a dot is formed in the pixel group for each type of dot based on the number of various dots obtained by the decoding;
A fifth function for forming various dots on the display medium based on the determined pixel position;
As well as
The second function is:
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A function (2-1) for determining a value;
A function (2-2) for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot;
The gist of the invention is that a computer-readable recording program is recorded.
[0046]
The program of the present invention corresponding to the image processing method described above is
Control data that is supplied to an image display device that displays an image while forming various dots having different gradation values to be expressed and used to control the formation of the various dots in the display device represents the image. A program for realizing a method of generating image data by adding predetermined image processing using a computer,
A function for determining the number of dots formed in each pixel group for each type of dot based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped in a predetermined number. )When,
A function (B) for converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
A function (C) for outputting the code data obtained for each pixel group to the image display device;
As well as
The function (B) is
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A function (B-1) for determining a value;
A function (B-2) for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot;
The main point is that
[0047]
The recording medium of the present invention corresponding to the program of the present invention is
Control data that is supplied to an image display device that displays an image while forming various dots having different gradation values to be expressed and used to control the formation of the various dots in the display device represents the image. A recording medium on which a program for realizing a method of generating image data by adding predetermined image processing using a computer is recorded,
A function for determining the number of dots formed in each pixel group for each type of dot based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped in a predetermined number. )When,
A function (B) for converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
A function (C) for outputting the code data obtained for each pixel group to the image display device;
As well as
The function (B) is
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A function (B-1) for determining a value;
A function (B-2) for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot;
The gist of the invention is that a computer-readable recording program is recorded.
[0048]
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, the number of dots formed in a pixel group is converted into code data. Can be displayed quickly. In addition, it is possible to quickly convert dot number data into code data without unnecessarily increasing the necessary storage capacity.
[0049]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, in order to clarify the contents of the present invention described above, description will be made based on examples in the following order.
A. Summary of the invention:
B. First embodiment:
B-1. Device configuration:
B-2. Overview of image printing process:
C. Encoding process and decoding process of the first embodiment:
D. Encoding process of the second embodiment:
E. Encoding process of the third embodiment:
F. Encoding process of the fourth embodiment:
[0050]
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 showing an outline of the present invention taking a printing system as an example. The illustrated printing system includes a computer 10 serving as an image processing apparatus, a printer 20 serving as an image display apparatus, and the like. A predetermined program is loaded into the computer 10 and executed. 20 and the like function as an integrated printing system as a whole. The printer 20 prints an image while forming dots on a print medium by ejecting ink droplets. Further, the printer 20 can form three types of dots having different sizes by controlling the size of the ink droplets to be ejected. Data used for the printer 20 to control dot formation is generated by the computer 10 performing predetermined image processing on the image data, and is supplied from the computer to the printer 20. In FIG. 1, three types of large, medium, and small dots can be formed. However, the number of dot types is not limited to three, and a printer that can form two types of large and small dots or four or more types of dots can be formed. It can be applied to a printer capable of forming Further, the present invention can be similarly applied to a printer that can change the dot density in several stages by changing the ink density instead of the dot size.
[0051]
As described above, since the printer 20 supplies data used for controlling dot formation from the computer 10, if the number of pixels per image increases, it takes time to transfer data, and the image is quickly displayed. It becomes difficult to print. Therefore, the computer 10 shown in FIG. 1 is provided with a dot number determination module 12, a dot number conversion module 14, and a code data output module 16. The dot number determination module 12 collects a predetermined number of pixels as a pixel group, and then determines the number of dots to be formed in the pixel group. Here, since the printer 20 can form three types of large, medium, and small dots, the dot number determination module 12 determines the number of dots for various large, medium, and small dots. The dot number conversion module 14 converts the number of various dots determined for each pixel group into code data. The code data output module 16 outputs the code data thus obtained toward the printer 20.
[0052]
When the printer 20 receives the code data supplied from the computer 10, the printer 20 decodes the code data to restore the number of various dots to be formed in the pixel group, and then determines the pixel position where the dot is formed in the pixel group. Decide for each type. Then, an image is printed by forming dots at the determined pixel positions. In this way, if the number of various dots formed in the pixel group is converted into code data and then supplied to the printer 20, the amount of data can be greatly reduced, so an image with a large number of pixels can be quickly displayed. Can be printed.
[0053]
When converting the number of large, medium, and small dots formed in a pixel group into code data, the dot number combination of these various dots and the code data for the combination are stored in a correspondence table in association with each other. In addition, conversion to code data while referring to the correspondence table enables quick conversion. However, if all combinations of dot numbers are associated with code data, a large storage capacity is required to store the correspondence table.
[0054]
Therefore, the dot number conversion module 14 shown in FIG. 1 converts the data into code data as follows. First, one type of dot is selected from various large, medium, and small dots. Then, based on the number of dots for the remaining two types of dots (large dot and medium dot), a reference value (reference value) for obtaining code data is obtained. Next, the number of selected dots (small dots) is added to this reference value, and code data is determined based on the obtained added value. Although the description here assumes that there are three types of dots, large dots, medium dots, and small dots, the types of dots are not limited to this. As will be described in detail later, if the number of various dots is converted into code data in this way, it can be quickly converted into code data without requiring a large storage capacity. Hereinafter, the image display system and the image display apparatus of the present invention will be described in detail based on examples.
[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. The computer 100 includes a disk controller DDC 109 for reading data from 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. The PIF 108 is connected to a hard disk 118, a printer 200 described later, and the like. 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.
[0056]
FIG. 3 is an explanatory diagram illustrating a schematic configuration of the printer 200 according to the present exemplary embodiment. The 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, and black ink are abbreviated as C ink, M ink, Y ink, and K ink, respectively, as necessary.
[0057]
As shown, the printer 200 drives a print head 241 mounted on the carriage 240 to eject ink and form dots, and the carriage 240 is reciprocated in the axial direction of the platen 236 by the carriage motor 230. It includes a mechanism, a mechanism for transporting the printing paper P by the paper feed motor 235, a control circuit 260 for controlling dot formation, carriage 240 movement, and printing paper transport.
[0058]
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). The ink ejection heads 244 to 247 for each color eject ink droplets using the ink thus supplied to form ink dots on the print medium.
[0059]
The control circuit 260 is mainly composed of a CPU, a ROM, a RAM, a peripheral device interface PIF, etc., and a D / A converter that converts digital data into an analog signal. Of course, the same function may be realized by hardware or firmware without mounting the CPU. 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. In addition, ink droplets are ejected by driving the print head 241 at an appropriate timing in accordance with the main scanning and sub-scanning of the carriage 240. In this way, under the control of the control circuit 260, ink droplets are ejected from the ink ejection heads 244 to 247 of each color at an appropriate timing. As a result, ink dots are formed on the printing paper P, and a color image is printed. The
[0060]
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.
[0061]
FIG. 4 is an explanatory diagram showing a state in which a plurality of nozzles Nz for ejecting ink droplets are formed on the bottom surface of the ink ejection heads 244 to 247 for each color. As shown in the figure, on the bottom surface of each color ink ejection head, four sets of nozzle rows for ejecting ink droplets of each color are formed, and 48 nozzles Nz are nozzles in one set of nozzle rows. They are arranged in a zigzag pattern at intervals of the pitch p. These nozzles eject ink droplets under the control of the control circuit 260.
[0062]
Further, the printer 200 according to the present embodiment can control the size of the ink dots by controlling the size of the ink droplets to be ejected. Hereinafter, a method for forming ink dots of different sizes by the printer 200 will be described. First, the internal structure of the nozzles that eject each color ink will be described as preparation. FIG. 5A is an explanatory diagram showing the internal structure of a nozzle that ejects ink. Each of the ink discharge heads 244 to 247 for each color is provided with a plurality of such nozzles. As shown in the figure, each nozzle is provided with an ink passage 255, an ink chamber 256, and a piezo element PE on the ink chamber. When the ink cartridges 242 and 243 are mounted on the carriage 240, the ink in the cartridge is supplied to the ink chamber 256 via the ink gallery 257. The piezo element PE is an element that performs electro-mechanical energy conversion at a very high speed because the crystal structure is distorted when a voltage is applied, as is well known. In this embodiment, the side wall of the ink chamber 256 is deformed by applying a voltage having a predetermined waveform between the electrodes provided at both ends of the piezo element PE. As a result, the volume of the ink chamber 256 is reduced, and ink corresponding to the reduced volume is ejected from the nozzle Nz as ink droplets Ip. The ink droplet Ip soaks into the printing paper P mounted on the platen 236, whereby ink dots are formed on the printing paper.
[0063]
FIG. 5B is an explanatory diagram showing the principle of changing the size of the ink droplets ejected by controlling the voltage waveform applied to the piezo element PE. In order to eject the ink droplet Ip from the nozzle, a voltage is applied to the piezo element PE, the ink is once sucked into the ink chamber 256 from the ink gallery 257, and then a positive voltage is applied to the piezo element PE. The ink chamber volume is reduced and the ink droplet Ip is ejected. Here, if the ink suction speed is appropriate, ink corresponding to the amount of change in the ink chamber volume is sucked, but if the suction speed is too fast, there is a passage resistance between the ink gallery 257 and the ink chamber 256. For this reason, the inflow of ink from the ink gallery 257 is not in time. As a result, the ink in the ink passage 255 flows back into the ink chamber, and the ink interface near the nozzle is largely retracted. The voltage waveform a shown in practice in FIG. 5B shows a waveform for sucking ink at an appropriate speed, and the voltage waveform b shown by a broken line shows an example of a waveform for sucking at a speed larger than the appropriate speed. .
[0064]
When a positive voltage is applied to the piezo element PE in a state where sufficient ink is supplied into the ink chamber 256, an ink droplet Ip having a volume corresponding to the volume reduction of the ink chamber 256 is ejected from the nozzle Nz. On the other hand, when a positive voltage is applied in a state where the ink supply amount is insufficient and the ink interface is largely retracted, the ejected ink droplets become small ink droplets. As described above, in the printer 200 of this embodiment, the size of the ink droplet to be ejected is controlled by changing the ink suction speed by controlling the voltage waveform applied before the ink droplet ejection. Two types of ink dots, dots and small dots, can be formed.
[0065]
Of course, it is possible to form not only two types but also other types of dots. Furthermore, the size of the ink dots formed on the printing paper may be controlled using a method in which a plurality of fine ink droplets are ejected at a time to control the number of ejected ink droplets.
[0066]
The printer 200 having the above-described hardware configuration drives the carriage motor 230 to move the ink ejection heads 244 to 247 of the respective colors in the main scanning direction with respect to the printing paper P, and the paper feed motor 235. Is driven to move the printing paper P in the sub-scanning direction. The control circuit 260 ejects ink droplets by driving the nozzles at an appropriate timing while repeating main scanning and sub-scanning of the carriage 240. By doing so, ink dots are formed at appropriate positions on the printing paper P, and as a result, an image is printed.
[0067]
B-2. Overview of image printing process:
FIG. 6 is a flowchart illustrating a flow of processing in which the computer 100 and the printer 200 according to 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.
[0068]
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.
[0069]
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 this embodiment, processing is performed to convert image data expressed by RGB colors into 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). The LUT stores in advance the gradation values of each color of C, M, Y, and K obtained by color conversion with respect to RGB color image data. It is possible to convert.
[0070]
The color-converted data is converted into dot data for various large, medium, and small dots (step S104). In other words, as described above, the printer 200 of this embodiment can form three types of dots, large dots, medium dots, and small dots, by changing the size of the ink droplets to be ejected. 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. In the color conversion processing, image data for each color of C, M, Y, and K is obtained, but the processing described below is performed in the same manner for any of the image data for each color. Therefore, in order to avoid complication of the description, the following description will be made without specifying a color.
[0071]
The process of converting the gradation data obtained by the color conversion into the dot data of each of large dots, medium dots, and small dots is performed by referring to the 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. Can be converted. FIG. 8 is an explanatory diagram conceptually showing a state in which the gradation data after color conversion is converted into dot data of various large, medium, and small dots. FIG. 8A shows gradation data after color conversion, and FIG. 8B shows dot data obtained by the conversion. In FIG. 8B, Data (L, M, S) = (2, 90, 32) is displayed because the gradation data “97” shown in FIG. This is a schematic representation of conversion to dot data “2”, medium dot data “90”, and small dot data “32”.
[0072]
Next, resolution conversion processing is performed on each of the large dot data, medium dot data, and small dot data (step S106). 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. Usually, the print resolution is often set to a value higher than the resolution of the image data. This is due to the following reason.
[0073]
In general, in order to improve the print image quality, it is effective to reduce the pixel size and print at a higher resolution. However, just because the print resolution is increased, it is not always necessary to increase the resolution of the original image data. This is because, in the printer 200 of the present embodiment, by changing the dot size, “do not form dots”, “form small dots”, “form medium dots”, and “form large dots”. These four states can be expressed, and four gradations can be expressed per pixel, but the actual situation is that the number of gradations of the image data does not reach greatly. That is, if the image data is 1-byte data, 256 gradations can be expressed per pixel, and the number of gradations that can be expressed by the printer 200 does not greatly exceed this value. In this way, since the gradations that can be expressed per pixel are greatly different, it is possible to improve the print image quality simply by setting the print resolution higher than the resolution of the image data to be read. For this reason, the print resolution is often set to a higher resolution than the image data. In step S106 in FIG. 6, in order to improve the print image quality, a process of converting the resolution of the image data to a higher print resolution is performed.
[0074]
FIG. 9 is an explanatory diagram showing a state of resolution conversion performed in the present embodiment. FIG. 9A schematically shows an enlarged part of dot data before resolution conversion. Each of the plurality of rectangles shown in FIG. 9A schematically represents a pixel, and the numerical value displayed in the rectangle represents dot data of various dots assigned to each pixel. ing. As shown in the drawing, in the dot data, dot data for various dots is assigned to each of the pixels arranged in a grid pattern. In order to convert the resolution of such dot data to a higher resolution, a new pixel may be generated by performing an interpolation calculation between pixels for each type of dot. In this embodiment, the simplest method is used. , Resolution conversion is performed by dividing the pixel into smaller pixels.
[0075]
FIG. 9B 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. 9B represents that the pixel is divided. The small data generated in this way is assigned the same data as the dot data of the original pixel before division. By performing the processing as described above, the resolution of the dot 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.
[0076]
As described above, when the resolution of the dot data is converted into the printing resolution, the computer 100 starts the number data generation process (step S108). The number data generation process is the following process. As described above, the printer 200 prints an image by forming dots on the pixels so that the dots are formed at an appropriate density according to the gradation value of the image data. On the other hand, the dot data obtained by the resolution conversion process is gradation data in which gradation values are assigned to various dots for each pixel. Therefore, it is necessary to transfer the gradation data to the printer 200 after converting the gradation data into data representing the presence or absence of dot formation for each pixel. Here, 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, and it is difficult to print an image quickly. Become. Therefore, in the image printing process of this embodiment, a predetermined number of pixels are grouped into a pixel group, and the number of dots formed in the pixel group is determined for each type of dot. Then, the obtained combination of the numbers of various dots is transferred to the printer 200 in a state of being converted into code data. As will be described in detail later, this makes it possible to quickly transfer data to the printer 200, and thus to print an image quickly. In the number data generation process, a process for determining the number of various dots formed in the pixel group is performed based on the dot data obtained for each pixel in the resolution conversion process (step S106 in FIG. 6).
[0077]
FIG. 10 is a flowchart showing the flow of the number data generation process. Hereinafter, a process for generating the number data from the dot data for various dots will be briefly described with reference to the flowchart.
[0078]
When the number data generation process is started, the CPU first generates a pixel group by collecting a plurality of predetermined pixels from the image data (step S200). As described above with reference to FIG. 9, in the resolution conversion process performed prior to the number data generation process, a new pixel is generated by dividing a pixel. Here, a plurality of pixels divided from the same pixel are generated. These pixels are collected as a pixel group.
[0079]
Next, large dot, medium dot, and small dot data are read for each pixel in the pixel group (step S202). 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.
[0080]
When the dot data of various dots is read in this way, whether or not to form large dots, medium dots, and small dots is determined by referring to 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 grid pattern. FIG. 11 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. 11, and can be various sizes including those having different numbers of vertical and horizontal pixels.
[0081]
FIG. 12 is an explanatory diagram showing a method of determining the number of large dots, medium dots, and small dots formed in a pixel group with reference to a dither matrix. In FIG. 12, it is assumed that the data shown in FIG. 9 is used as the dot data and the matrix shown in FIG. 11 is used as the dither matrix.
[0082]
FIG. 12 illustrates, as an example, a case where it is determined whether or not various dots are formed for the pixel group in the upper left corner of FIG. In FIG. 12, a portion surrounded by a thick solid line rectangle represents a pixel group, and a small rectangle divided by a thin broken line in the pixel group represents a pixel constituting the pixel group. The numerical values shown in the pixels represent threshold values set at corresponding positions in the dither matrix.
[0083]
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. 12A 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 of the large dot is “2”, the dot data is larger only for the pixel having the gradation value “1” in the upper left corner, and the dither matrix is used for all other pixels. The threshold value of is larger. Therefore, only one large dot is formed in this pixel group. In FIG. 12A, the fact that the pixel whose threshold value of the dither matrix is “1” is thinly hatched indicates that it is determined that a large dot is formed on this pixel.
[0084]
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. More specifically, referring to FIG. 12B, since the dot data for large dots is “2” and the dot data for medium dots is “90”, the intermediate data for medium dots is “92”. Is calculated. The intermediate data is compared with the threshold value of the dither matrix. However, since the large dot is already formed for the pixel at the upper left corner in the pixel group, such comparison is not performed. For the pixels with the dither matrix threshold “42” and “58”, the intermediate data is larger, so it is determined that a medium dot is to be formed. In FIG. 12B, these pixels are shaded to indicate that it is determined to form a medium dot.
[0085]
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. 12C, since the intermediate data for medium dots is “92”, the dot data “32” for small dots is added to obtain the intermediate data for small dots. It is calculated as “124”. The intermediate data is compared with the threshold value of the dither matrix. Then, since the intermediate data is larger for the pixel whose threshold value of the dither matrix is “109”, it is determined that a small dot is formed in this pixel. In FIG. 12 (c), the fact that this pixel is roughly shaded indicates that it has been determined that a small dot is to be formed. In step S204 of FIG. 10, the presence / absence of formation of large dots, medium dots, and small dots is determined for each pixel in the pixel group as described above.
[0086]
As described above, as is clear from the fact that dots are formed in order from the pixel with the smallest threshold set in the dither matrix, the threshold set in the dither matrix represents the ease with which dots are formed. It is also possible to think that
[0087]
If it is determined whether or not various dots are formed, the number of various dots to be formed in the pixel group is stored (step S206). As described with reference to FIG. 12, in the upper left pixel group in FIG. 9B, the number of large dots, medium dots, and small dots to be formed in the pixel group is one, two, and one, respectively. Remember that.
[0088]
After the plurality of pixels are grouped into the pixel group and the number of various dots formed in the pixel group is stored in this way, it is determined whether or not the processing for all the pixels included in the image data is completed (step S208). If the pixel to be processed remains (step S208: no), the process returns to step S200 to generate a new pixel group, and then a series of subsequent processes are repeated. Thus, when the process for all the pixels is completed (step S208: yes), the number data generation process is terminated, and the process returns to the image printing process of FIG. By performing the number data generation processing as described above, the dot data for the various dots shown in FIG. 9 is converted into data indicating the number of dots formed in the pixel group as shown in FIG. In FIG. 13, “Dot (L, M, S) = (1, 2, 1)” indicates that the number of large dots, medium dots, and small dots is 1, 2, and 1, respectively. It is what.
[0089]
In the above-described number data generation process, a plurality of pixels are grouped into a pixel group, and then the number of various dots formed in the pixel group is determined. However, the present invention is not limited to this. After the presence / absence is determined for each pixel, the number of various dots formed in the pixel group may be obtained by generating the pixel group.
[0090]
In the image printing process shown in FIG. 6, when returning from the number data generation process, the obtained number data is encoded (step S110). This is the following process. As described above, if data for the number of dots formed in a pixel group is supplied to a printer and an image is printed, the data is supplied more quickly than when data indicating the presence or absence of dot formation is supplied for each pixel. Images can be printed as quickly as possible. However, when multiple types of dots can be formed by the printer, if the number of data is supplied for each type of dot, it takes time to supply data as the number of types of dots increases, and images can be printed quickly. It becomes difficult to do. Therefore, the number of various dots formed in the pixel group is not output to the printer 200 as it is, but once converted into code data and output, the occurrence of such a problem is avoided. That is, in the encoding process shown in step S110 of FIG. 6, the number data obtained by the number data generation process is converted into code data and then output to the printer 200. In the encoding process of the present embodiment, the number data is converted by the method described later, so that a large storage capacity is not required for the conversion.
[0091]
The code data output from the computer 100 by the encoding process is received by the printer 200 and subjected to the decoding process (step S112). That is, by decoding the code data, the data is restored to the number of various dots formed in the pixel group. Such processing is executed using a function of a CPU mounted on the control circuit 260 of the printer 200. Details of the decoding process will be described later.
[0092]
When the number of dots for various dots formed in the pixel group is obtained by performing the decoding process, a process for determining the pixel position where the various dots are formed in the pixel group (pixel position determination process) Is started (step S114).
[0093]
FIG. 14 is a flowchart showing the flow of the pixel position determination process. Such processing is also executed using the function of the CPU mounted on the control circuit 260 of the printer 200. Hereinafter, it demonstrates according to a flowchart.
[0094]
When the process is started, first, a pixel group whose pixel position is to be determined is selected (step S300). Next, the number of various dots formed in the selected pixel group is acquired (step S302). Here, the number of dots of various dots formed in the pixel group is the number of dots of various dots restored from the code data by the decoding process and stored for each pixel group.
[0095]
When the number of dots of various dots is read, a process of determining pixel positions for forming various dots is started by referring to the dither matrix (step S304). Such processing will be described with reference to FIG.
[0096]
FIG. 15 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. 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.
[0097]
Now, assuming that the number of various dots formed in this pixel group is one large dot, two medium dots, and one small dot, the pixel position at which a large dot is first formed 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, it is formed at the pixel having the smallest threshold value. Will be. After determining the pixel position of the large dot, the pixel position for forming the medium dot is subsequently determined. Two medium dots are to be formed, and since a large dot has already been formed in the pixel with the smallest threshold, the two pixels with the second smallest and third smallest pixels are used. It is determined that a medium dot is to be formed. The pixel position of the small dot is determined following the medium dot. Only one small dot is to be formed, and from the pixel with the smallest threshold to the third smallest pixel, a large dot or medium dot has already been formed, so the pixel with the fourth smallest threshold is formed. It is determined that a small dot is to be formed.
[0098]
FIG. 15 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 FIG. 15, 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 S304 of FIG. 14, the pixel positions for forming various dots are determined in this way while referring to the dither matrix.
[0099]
As described above, when the pixel positions for forming various dots are determined for one pixel group, it is determined whether or not the processing for determining the pixel positions is completed for all pixel groups (step S306 in FIG. 14). ). If an unprocessed pixel group remains (step S306: no), the process returns to step S300, and a series of subsequent processes are repeated for the new pixel group. When it is determined that the pixel positions have been determined for all the pixel groups in this way (step S306: yes), the pixel position determination process shown in FIG. 14 is terminated.
[0100]
By performing the pixel position determination process described above, the data of the number of dots for various dots formed in the pixel group is converted into data indicating the pixel positions where the various dots are to be formed. FIG. 16 is an explanatory diagram conceptually showing how the pixel positions where various dots are to be formed are determined for each pixel group. In the figure, pixels with fine diagonal lines indicate that large dots are formed, pixels with intermediate diagonal lines indicate that medium dots are formed, and pixels with coarse diagonal lines have small dots. It shows that it is formed.
[0101]
When the pixel positions where various dots are to be formed are determined in this manner, the process returns to the image printing process of FIG. 6 and processing for forming various dots at the determined pixel positions is performed (step S116). As a result, an image corresponding to the image data is printed on the print medium.
[0102]
C. Encoding process and decoding process of the first embodiment:
As described above, in the image printing process of this embodiment, the number of various dots formed in the pixel group is obtained, and then this data is converted into code data and supplied to the printer 200. If the data for the number of dots is coded, the amount of data can be reduced, so that even when there are many types of dots that can be formed by the printer 200, the data can be supplied quickly. Here, in this embodiment, in order to make it possible to quickly convert the data of the number of dots into code data without unnecessarily increasing the storage capacity required for encoding, the following encoding process is performed. The dot count data is converted into code data.
[0103]
FIG. 17 is an explanatory diagram showing the flow of the encoding process of the first embodiment. Such a process is a process executed by the CPU 102 built in the computer 100. Hereinafter, it demonstrates according to a flowchart.
[0104]
When the encoding process is started, first, a pixel group to be processed is selected (step S400). In the pixel group, data indicating the number of large dots (DotL), data indicating the number of medium dots (DotM), and data indicating the number of small dots (DotS) are set by the number data generation process performed previously. ing.
[0105]
Next, after reading the data of the number of dots set in the selected pixel group (step S402), the reference value is determined based on the data of the number of dots (step S). The reference value is determined as follows. First, one of the three dots read data DotL, DotM, and DotS is selected, and a reference value is determined from the remaining data. Here, the small dot number Dots is selected, and the reference value is determined from the large dot number DotL and the medium dot number DotM. Of course, the present invention is not limited to this example, and the reference value can be determined from the large dot number DotL and the medium dot number Dot by selecting the medium dot number DotM, or the large dot number. It is also possible to select DotL and determine the reference value from the number of medium dots DotM and the number of small dots DotS.
[0106]
Various methods can also be applied to the method of determining the reference value from the number of large dots DotL and the number of medium dots DotM. Here, a reference value is stored in advance for each combination of DotL and DotM. It shall be determined using the correspondence table. FIG. 18 is an explanatory diagram illustrating such a correspondence table. For example, a reference value “0” is set for a combination in which the number DotL of large dots and the number DotM of medium dots are both “0”. Thus, the reference value is set in advance in the correspondence table for every combination of the number of large dots DotL and the number of medium dots DotM. In step S404 of FIG. 17, the reference value is determined from the large dot number DotL and the medium dot number DotM by referring to the correspondence table in this way. In FIG. 18, the combinations with “*” displayed as the reference value indicate that such a combination does not actually occur, so any reference value may be set. Is.
[0107]
The number of previously selected dots (here, DotS) is added to the reference value thus obtained, and the obtained added value is used as code data for the pixel group (step S406).
[0108]
Next, for all pixel groups, it is determined whether or not the data of the number of various dots has been converted into code data (step S408). If an unprocessed pixel group remains (step S408: no), step is performed. Return to S400. Then, a new pixel group is selected, and the above-described series of processing is performed. By repeating such processing, when the number of data for various dots is converted into code data for all pixel groups (step S408: yes), the code data for each pixel group is output to the printer 200 (step S410). ), And ends the encoding process shown in FIG.
[0109]
Upon receiving such code data, the printer 200 performs a process of converting the code data into data indicating the number of various dots formed in the pixel group, that is, a decoding process (step S112 in FIG. 6). The decoding process is performed by referring to a correspondence table in which code data is associated with the number of various dots. FIG. 19 is an explanatory diagram illustrating a correspondence table referred to during the decoding process. In the encoding process described above, if the number of dots for code data is set appropriately in the correspondence table according to the correspondence for converting the number of various dots to code data, the code data can be quickly converted into data for the number of various dots. Can be restored. The CPU built in the control circuit 260 of the printer 200 prints an image while restoring the code data to the data of the number of dots by referring to such a correspondence table.
[0110]
For reference, a source code for realizing the encoding process shown in FIG. 18 is illustrated in FIG. First, after securing the storage area, if a reference value corresponding to FIG. 18 is set, code data can be obtained simply by adding the number of small dots Dots to the set reference value. As is clear from the source code illustrated in FIG. 20, according to the above-described method, the storage capacity required for the encoding process is only an array of 25 elements. It can be seen that the required storage capacity is greatly reduced as compared to the case of storing a three-dimensional array having 125 lattice points as illustrated in FIG.
[0111]
Further, as is clear from the source code shown in FIG. 20, the code data can be determined by a very simple calculation of adding DotS to the reference value, so that the code data can be determined quickly. .
[0112]
As described above, if the number of dots is converted into code data using the above-described method, the conversion can be performed quickly without unnecessarily increasing the storage capacity required for the conversion.
[0113]
D. Encoding process of the second embodiment:
In the encoding process of the first embodiment described above, reference values for combinations of the number of large dots DotL and the number of medium dots DotM are set in a two-dimensional correspondence table, and code data is referred to with reference to the correspondence table. Converted to. However, instead of referring to the correspondence table, the reference value may be obtained as follows.
[0114]
FIG. 21 is a flowchart showing the flow of the encoding process of the second embodiment. In contrast to the encoding process of the first embodiment shown in FIG. 17, the second embodiment is greatly different in that a preliminary reference value is used to obtain a reference value. Hereinafter, the encoding process of the second embodiment will be described while focusing on such differences.
[0115]
Also in the encoding process of the second embodiment, as in the first embodiment, when the process is started, first, a pixel group to be processed is selected (step S500) and set to the selected pixel group. These dot count data are read (step S502). Here, as in the first embodiment, the large dot number DotL, the medium dot number DotM, and the small dot number DotS are read as forming large, medium, and small dots.
[0116]
After reading the data of the number of various dots, in the encoding process of the first embodiment described above, one type of dot is selected from the read data, and the reference value is determined from the number of the remaining two types of dots. . On the other hand, in the encoding process of the second embodiment, another type of dot is selected from the remaining dots, and a preliminary reference value is determined based on the last remaining dot. Here, in accordance with the first embodiment, first, a small dot is selected as the first dot. Next, a medium dot is selected as the second dot, and a preliminary reference value is determined based on the number of remaining large dots. In step S504 in FIG. 21, a preliminary reference value is determined from the number of large dots DotL in this way. The order of selecting the various dots is not limited to this order. For example, even if a preliminary reference value is determined based on the number of small dots Dots, or based on the number of medium dots DotM. A standard reference value may be determined.
[0117]
The preliminary reference value can be easily determined by setting an appropriate value in advance for the number of large dots DotL. FIG. 22 is an explanatory diagram conceptually showing a state in which a preliminary reference value is set for the number of large dots DotL.
[0118]
Next, the number of medium dots DotM is added to the preliminary reference value, and the reference value is determined based on the obtained addition value AddM (step S506). For example, when the number of large dots DotL is 1 and the number of medium dots DotM is 2, the preliminary reference value is 5 from FIG.
AddM = (preliminary reference value) + DotM = 5 + 2 = 7
A reference value can be associated with the added value AddM thus obtained as shown in FIG. 23, and the reference value can be determined with reference to the correspondence table.
[0119]
FIG. 24 is an explanatory diagram showing a state in which AddM determined as described above is distributed according to the combination of the number of large dots DotL and the number of medium dots DotM. As shown in the figure, AddM is distributed in the range of 0 to 34 without overlapping according to the combination of large dots and medium dots. If an appropriate reference value is set in advance for each of the distributed AddMs, an appropriate reference value can be obtained according to the number of large dots and medium dots. In step S506 of FIG. 21, the reference value is determined based on the preliminary reference value and the addition value (AddM) of DotM in this way. In the above description, the preliminary reference value is obtained from the large dot number DotL, and the reference value is determined by adding the medium dot number DotM thereto. However, the present invention is not limited to such an example. For example, a preliminary reference value is obtained from the number DotM of medium dots, and a reference value is determined based on a value obtained by adding the number DotL of large dots to the combination. The preliminary reference value and the reference value may be obtained using.
[0120]
When the reference value is obtained in this way, the number of small dots DotS is added to the reference value as in the encoding process of the first embodiment described above, and the obtained addition value is used as code data (step S508).
[0121]
Next, for all pixel groups, it is determined whether or not the data of the number of various dots has been converted into code data (step S510). If an unprocessed pixel group remains (step S510: no), step is performed. It returns to S500 and repeats the process mentioned above until the process about all the pixel groups is complete | finished. When the processing for all the pixel groups is completed, the obtained code data of each pixel group is output to the printer 200 (step S512), and the encoding process of the second embodiment shown in FIG. 21 is terminated.
[0122]
In the encoding process of the second embodiment described above, a preliminary reference value is set to an appropriate value in advance for the number of large dots DotL, thereby reducing the storage capacity required for conversion to code data. Further reduction is possible. Hereinafter, this reason will be described with reference to FIG.
[0123]
For example, it is assumed that the number of large dots DotL is two. Now, dots are not formed in an overlapping manner, and therefore the total number of large, medium, and small dots is not more than 5, so the number of medium dots DotM is any one of 0 to 2 It can only take a value, never 3 or 4. Accordingly, when the number of large dots DotL is two, the reference value may be set only when the number of medium dots DotM is zero, one, or two. In other words, it is useless to set a reference value when the number DotM of medium dots is three or four. In the encoding process of the first embodiment described above, as indicated by “*” in FIG. 18, some reference value is set for such a combination that is not used. In contrast, in the encoding process of the second embodiment described above, a preliminary reference value for the large dot number DotL is set, and the reference value is based on the value obtained by adding the medium dot number DotM to this value. Set. When the number of large dots DotL is two, the number of medium dots DotM can take only 0 to 2, so it is sufficient to set three reference values according to this value. There is no need to set reference values for three or four.
[0124]
In the example of FIG. 24, since the preliminary reference value is 9 when the number of large dots DotL is 2, the reference value is used only when the value of the addition value AddM is three values of 9, 10, and 11. Should be set. In this way, when the number of large dots DotL is 2, the addition value AddM can take a value of 9 to 11, so the preliminary reference value when the number of large dots DotL is 3 is set to 12. Set. In this way, if a preliminary reference value is set, the added value AddM can be a continuous value without overlapping each other. Actually, as apparent from a comparison between FIG. 18 and FIG. 24, the addition value AddM shown in FIG. 24 is only a combination in which a significant reference value other than “*” is set in FIG. On the other hand, continuous values are set without overlapping. As described above, in the encoding process of the second embodiment, it is not necessary to store reference values for combinations that are not used, so that the storage capacity can be reduced accordingly.
[0125]
As a reference, the source code for executing the encoding process of the second embodiment described above is illustrated in FIG. “*” Shown in the figure is a so-called indirect operator, and has a function of returning the variable value stored at the address by adding it before the address value storing the variable. In addition, “&” shown in the figure is a so-called address operator, and has a function of returning an address value storing the variable by adding it to the front of the variable. As shown in FIG. 25, according to the encoding process of the second embodiment, it is possible to determine code data only by securing 15 areas from table2 [0] to table2 [14].
[0126]
Also, as shown in the source code of FIG. 25, in the encoding process of the second embodiment, an extremely simple calculation of adding DotS to the value stored at the address (table1 [DotL] + DotM). Code data can be determined. That is, the code data can be determined quickly as in the encoding process of the first embodiment.
[0127]
E. Encoding process of the third embodiment:
In the various embodiments described above, a value obtained by adding the number of specific dots (the number of small dots BotS) to the reference value is used as the code data. It can also be used as an index value for referring to the table. In this way, since appropriate code data can be set in the correspondence table, the degree of freedom of conversion to code data can be greatly improved, and conversion to more appropriate data can be achieved. Hereinafter, the encoding process of the third embodiment will be briefly described.
[0128]
FIG. 26 is an explanatory diagram conceptually showing a state in which an addition value obtained by adding the number of small dots Dots to the reference value is used as an index value, and code data is stored in association with this index value. In the figure, the index value is shown in the leftmost column, and the code data for the index value is shown in the rightmost column. Further, between the index value and the code data, a combination of the number of various dots for obtaining the index value is displayed for reference. For example, when the number of large dots DotL, the number of medium dots DotM, and the number of small dots DotS are all 0, the index value is 0 in the uppermost row in the figure. It is shown that data 0 is associated. If such a correspondence table is set, a combination of the number of various dots can be quickly converted into code data by obtaining an index value from the number of various dots and referring to the correspondence table.
[0129]
In the encoding process of the third embodiment, as described above, the value obtained by adding the number of specific dots to the reference value is used as an index value, and converted into code data by referring to the correspondence table. If encoding processing is performed using such a method, the following advantages can be obtained.
[0130]
In other words, dots may not be formed on the same pixel, but a combination of dots that happens to be unused may occur. Such a combination occurs even when such a combination of dots is intentionally excluded due to a demand for image quality, but it happens by the setting of the conversion table shown in FIG. 7 used to obtain large, medium, and small dot data. May occur. These unused dot combinations are thought to be affected by the ratio of the size of large dots, medium dots, small dots, and combinations with the inks used, and are often different for each printer model. it is conceivable that.
[0131]
Here, a combination of 0 large dots, 0 medium dots, and 4 small dots (hereinafter referred to as (DotL, DotM, DotS) = (0, 0, 4)) and (DotL, DotM, DotS) Assume that three combinations of = (0, 1, 3) and (DotL, DotM, DotS) = (0, 4, 0) have not been used. Since code data corresponding to these unused combinations are not actually used, there is no need to set unique code data. In FIG. 26, “−” is displayed in the code data column, because these code data are associated with combinations that are not used, so that any value may be set. Represents.
[0132]
If there are combinations that are not used in this way, the types of code data to be set can be reduced. In the example shown in FIG. 26, it is sufficient to set 32 kinds of code data of 0 to 31 with respect to 35 kinds of index values of 0 to 34. Thus, if the types of code data can be reduced, the amount of data to be output to the printer 200 can be reduced. That is, if there are 35 types of code data, the code data needs to be data of 6 bits or more, but if there are only 32 types, the code data can be 5 bits. By simply changing 6-bit data to 5-bit data, the amount of data to be supplied to the printer 200 can be reduced by about 17%, and data can be supplied as quickly as possible.
[0133]
Of course, in the first embodiment or the second embodiment described above, if a reference value or a preliminary reference value is appropriately set so that an index value is not set for a combination of the number of dots that are not used, It is also possible to reduce the types of index values. However, since the dot combinations that are not used are considered to be different for each printer model, a reference value or a preliminary reference value is set for each printer model or whenever the printer settings are changed. It's cumbersome to fix. For example, as illustrated in FIG. 27, when both the number of large dots and medium dots is one, there are cases where zero or two small dots are formed, but one small dot is formed. In such a case, it is not so easy to set the index value except for the combination of (DotL, DotM, DotS) = (1, 1, 1).
[0134]
On the other hand, in the above-described encoding process of the third embodiment, it is only necessary to change the code data set in association with the index value. Therefore, the amount of data output to the printer can be reduced.
[0135]
F. Encoding process of the fourth embodiment:
In the third embodiment described above, when there is a combination of dots that are not used, the unique code data is not associated with the index value corresponding to this combination, and the code data data to be output to the printer is thereby obtained. The amount was suppressed. However, if the fact that the code data associated with the index value can be set flexibly is used, the amount of data to be output to the printer can also be suppressed by the following method. Hereinafter, the encoding process of the fourth embodiment will be briefly described.
[0136]
FIG. 28 is an explanatory diagram conceptually showing a state in which code data is stored in association with index values. As in the case of the third embodiment described with reference to FIG. 26, the index value is displayed in the leftmost column in the figure, the code data is displayed in the rightmost column, and the index value and code data are The number of large, medium and small dots is displayed. As shown in FIG. 28, in the fourth embodiment, code data is set for all 35 index values. This corresponds to the fact that the fourth embodiment does not assume the existence of a combination of the number of unused dots as noted in the third embodiment. In the fourth embodiment, attention is focused on combinations that are not frequently used, not combinations that are not used. For example, the combination of (DotL, DotM, DotS) is (0,1,3) and four combinations of (0,3,1), (0,4,0), (1,0,0) are used The frequency is low, and the other 31 combinations are used more frequently than these four combinations.
[0137]
In the fourth embodiment, it is assumed that 5-bit code data is associated with a combination having a relatively high use frequency, and that an extension code and 5-bit code data are associated with four combinations having a low use frequency. In other words, the 5-bit code data can represent 32 states, but one of these can be used as an extension code, and the remaining 31 states can be used as combinations of the number of dots that are relatively frequently used. Associate. Then, the extension code + 5-bit data is associated as code data for combinations with low usage frequency. In the example shown in FIG. 28, “31” is assigned as an extended code, and code data “0” to “30” is associated with combinations of the number of dots that are relatively frequently used. . Also, code data that is a combination of “0” following the extension code “31” is associated with the combination (DotL, DotM, DotS) = (0, 1, 3) that is a low usage frequency. Yes. Similarly, for (DotL, DotM, DotS) = (0, 3, 1), the code data in which “1” is combined with the extended code “31” is extended for (0, 4, 0). Code data combining “2” with code “31” is associated with code data combining “3” with extension code “31” for (1, 0, 0).
[0138]
If the combination of the number of dots is converted into code data using the correspondence table set in this way, even if 35 combinations are expressed, 5-bit code data is used for frequently used combinations. Is converted to Of course, when converted into code data including an extension code, it is substantially converted into 10-bit code data. However, such a combination is not frequently used, and most of the combinations are 5 Converted to bit code data. For this reason, since the data amount of the code data to be output to the printer 200 is suppressed, it is possible to quickly express the image by that amount.
[0139]
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.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing 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 printer according to the present exemplary embodiment.
FIG. 4 is an explanatory diagram showing a state in which a plurality of nozzles Nz for ejecting ink droplets are formed on the bottom surface of each color ink ejection head.
FIG. 5 is an explanatory diagram showing the principle that the printer of this embodiment forms ink dots of different sizes.
FIG. 6 is a flowchart illustrating a flow of processing in which the computer and the printer according to the present embodiment apply predetermined image processing to image data and print an image on a print medium.
FIG. 7 is an explanatory diagram conceptually showing a conversion table referred to for converting gradation data into dot data for various dots.
FIG. 8 is an explanatory diagram conceptually showing a state in which gradation data after color conversion is converted into dot data of various large, medium, and small dots.
FIG. 9 is an explanatory diagram showing a state of resolution conversion performed in the present embodiment.
FIG. 10 is a flowchart showing a flow of number data generation processing.
FIG. 11 is an explanatory diagram illustrating a part of a dither matrix.
FIG. 12 is an explanatory diagram showing a method of determining the number of large, medium, and small dots formed in a pixel group with reference to a dither matrix.
FIG. 13 is an explanatory diagram conceptually showing a state in which dot data for various dots is subjected to number data generation processing and converted into data indicating the number of dots formed in a pixel group.
FIG. 14 is a flowchart showing a flow of pixel position determination processing.
FIG. 15 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.
FIG. 16 is an explanatory diagram conceptually showing a state in which pixel positions where various dots are to be formed are determined for each pixel group.
FIG. 17 is an explanatory diagram showing a flow of encoding processing according to the first embodiment;
FIG. 18 is an explanatory diagram illustrating a correspondence table that is referred to in order to obtain a reference value during the encoding process according to the first embodiment;
FIG. 19 is an explanatory diagram illustrating a correspondence table referred to during decoding processing;
FIG. 20 is an explanatory diagram illustrating source code for executing the encoding process according to the first embodiment;
FIG. 21 is a flowchart showing the flow of encoding processing of the second embodiment.
FIG. 22 is an explanatory diagram conceptually showing a state in which a preliminary reference value is set for the number of large dots.
FIG. 23 is an explanatory diagram conceptually showing a correspondence table in which a reference value is associated with an added value of a preliminary reference value and the number of medium dots.
FIG. 24 is an explanatory diagram showing a state in which the sum of the preliminary reference value and the number of medium dots is distributed according to the combination of the number of large dots and the number of medium dots.
FIG. 25 is an explanatory diagram exemplifying source code for executing the encoding process of the second embodiment;
FIG. 26 is an explanatory diagram conceptually showing a correspondence table of a third embodiment in which an addition value obtained by adding the number of small dots to a reference value is used as an index value and code data is stored in association with the index value. .
FIG. 27 is an explanatory diagram illustrating advantages of the encoding process according to the third embodiment.
FIG. 28 is an explanatory diagram conceptually showing a correspondence table of the fourth embodiment in which code data is stored in association with index values.
FIG. 29 is an explanatory diagram conceptually showing all combinations of dot numbers for large, medium, and small dots.
FIG. 30 conceptually illustrates a state in which a reference value is stored in association with a combination of the number of large dots and the number of medium dots.
FIG. 31 is an explanatory diagram conceptually showing a state in which code data is determined based on an addition value of a reference value and the number of small dots.
FIG. 32 is an explanatory diagram illustrating a state in which code data is determined according to a combination of various dots.
[Explanation of symbols]
10 ... Computer
12 ... Dot number determination module
14 ... dot number conversion module
16 ... Code data output module
20 ... Printer
100: Computer
108 ... Peripheral device interface PIF
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
255: Ink passage
256: Ink chamber
257 ... Ink Gallery
260 ... control circuit
300 ... communication line
310 ... Storage device

Claims (13)

画像データに所定の画像処理を施す画像処理装置と、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて表示媒体上に形成することにより画像を表示する画像表示装置と、を備える画像表示システムであって、
前記画像処理装置は、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定するドット個数決定手段と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換するドット個数変換手段と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力するコードデータ出力手段と
を備え、
前記画像表示装置は、
前記コードデータを受け取って、前記画素群内に形成される各種ドットについてのドット個数に復号するコードデータ復号手段と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する画素位置決定手段と、
前記決定した画素位置に基づいて、前記表示媒体上に各種ドットを形成するドット形成手段と
を備えており、
前記ドット個数変換手段は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する基準値決定手段と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定するコードデータ決定手段と
を備える画像表示システム。
An image processing apparatus that performs predetermined image processing on image data, and an image display apparatus that displays an image by forming a plurality of types of dots having different gradation values to be expressed on a display medium based on the result of the image processing; An image display system comprising:
The image processing apparatus includes:
For a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number, the number of dots is determined for each type of dot based on the image data, and the number of dots formed in the pixel group is determined. Means,
Dot number conversion means for converting a combination of dot numbers formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of dot numbers;
Code data output means for outputting the code data obtained for each pixel group to the image display device;
The image display device includes:
Code data decoding means for receiving the code data and decoding the number of dots for various dots formed in the pixel group;
Pixel position determining means for determining, for each type of dot, a pixel position where a dot is formed in the pixel group, based on the number of various dots obtained by the decoding;
Dot forming means for forming various dots on the display medium based on the determined pixel position;
The dot number converting means includes
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A reference value determining means for determining a value;
An image display system comprising: code data determining means for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot.
請求項1記載の画像表示システムであって、
前記基準値決定手段は、
少なくとも1種類の前記残余のドットについてのドット個数と、前記基準値との対応関係を記憶した対応関係記憶手段を備えるとともに、
前記対応関係を参照することによって前記基準値を決定する手段であり、
前記対応関係記憶手段は、前記対応関係として、
前記残余のドットに含まれる1種類のドットに着目して、該着目したドットの個数のみを増加させたときに、少なくとも0個から所定個数までの範囲では前記基準値の増加量が次第に小さくなるような、該残余のドット個数と該基準値との対応関係を記憶している手段である画像表示システム。
The image display system according to claim 1,
The reference value determining means includes
A correspondence storage unit that stores the correspondence between the number of dots for at least one type of the remaining dots and the reference value;
Means for determining the reference value by referring to the correspondence relationship;
The correspondence relationship storage means includes the correspondence relationship as follows:
Focusing on one type of dot included in the remaining dots and increasing only the number of the focused dots, the amount of increase in the reference value gradually decreases in a range from at least 0 to a predetermined number. An image display system as means for storing the correspondence between the number of remaining dots and the reference value.
請求項1記載の画像表示システムであって、
前記基準値決定手段は、
前記残余のドットから所定の1種類のドットを除いた他のドットについてのドット個数に基づいて、前記基準値を得るための予備的な基準値を決定する予備基準値決定手段と、
前記残余のドットから除かれた前記所定のドットについてのドット個数と、前記予備的な基準値との加算値に基づいて、前記基準値を決定する最終基準値決定手段と
を備える画像表示システム。
The image display system according to claim 1,
The reference value determining means includes
Preliminary reference value determining means for determining a preliminary reference value for obtaining the reference value based on the number of dots for other dots obtained by removing one predetermined type of dot from the remaining dots;
An image display system comprising: a final reference value determining unit that determines the reference value based on an added value of the number of dots for the predetermined dot removed from the remaining dots and the preliminary reference value.
請求項1ないし請求項3のいずれかに記載の画像表示システムであって、
前記コードデータ決定手段は、前記加算値と前記コードデータとを対応付けて記憶した対応表を参照することにより、該加算値から該コードデータを決定する手段である画像表示システム。
The image display system according to any one of claims 1 to 3,
The code data determining means is an image display system which is means for determining the code data from the added value by referring to a correspondence table in which the added value and the code data are stored in association with each other.
請求項1ないし請求項4のいずれかに記載の画像表示システムであって、
前記ドット個数変換手段は、
前記決定した基準値を、該基準値を決定するために用いた前記残余ドットのドット個数と対応可能な状態で保持する基準値保持手段を備えるとともに、
前記基準値を決定しようとする画素群についての前記残余ドットのドット個数が、前記保持されている基準値に対応するドット個数と一致する場合には、該ドット個数に対応付けて保持されている基準値を、該画素群についての基準値として決定する手段である画像表示システム。
An image display system according to any one of claims 1 to 4,
The dot number converting means includes
The reference value holding means for holding the determined reference value in a state that can correspond to the number of dots of the remaining dots used to determine the reference value, and
When the number of dots of the remaining dots for the pixel group for which the reference value is to be determined matches the number of dots corresponding to the held reference value, it is held in association with the number of dots. An image display system which is means for determining a reference value as a reference value for the pixel group.
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する画像処理装置であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定するドット個数決定手段と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換するドット個数変換手段と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力するコードデータ出力手段と
を備え、
前記ドット個数変換手段は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する基準値決定手段と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定するコードデータ決定手段と
を備える画像処理装置。
Control data that is supplied to an image display device that displays an image while forming various dots having different gradation values to be expressed and used to control the formation of the various dots in the display device represents the image. An image processing apparatus that generates image data by performing predetermined image processing,
For a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number, the number of dots is determined for each type of dot based on the image data, and the number of dots formed in the pixel group is determined. Means,
Dot number conversion means for converting a combination of dot numbers formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of dot numbers;
Code data output means for outputting the code data obtained for each pixel group to the image display device;
The dot number converting means includes
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A reference value determining means for determining a value;
An image processing apparatus comprising: code data determining means for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot.
請求項6記載の画像処理装置であって、
前記コードデータ決定手段は、前記加算値と前記コードデータとを対応付けて記憶した対応表を参照することにより、該加算値から該コードデータを決定する手段である画像処理装置。
The image processing apparatus according to claim 6,
The code data determining means is an image processing apparatus which is means for determining the code data from the added value by referring to a correspondence table in which the added value and the code data are stored in association with each other.
画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて形成することにより、表示媒体上に画像を表示する画像表示方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の工程と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する第2の工程と、
前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の工程と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の工程と、
前記決定した画素位置に基づいて、前記表示媒体上に各種ドットを形成する第5の工程と
を備えており、
前記第2の工程は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する工程(2−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する工程(2−2)と
を備える画像表示方法。
An image display method for displaying an image on a display medium by forming a plurality of types of dots having different gradation values to be expressed based on the result of the image processing after performing predetermined image processing on the image data. And
For a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number, the number of dots formed in the pixel group is determined for each type of dot based on the image data Process,
A second step of converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
A third step of decoding the code data into the number of dots for various dots formed in the pixel group;
A fourth step of determining, for each type of dot, a pixel position where a dot is formed in the pixel group based on the number of various dots obtained by the decoding;
And a fifth step of forming various dots on the display medium based on the determined pixel position,
The second step includes
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A step (2-1) for determining a value;
An image display method comprising a step (2-2) of determining the code data based on an added value of the determined reference value and the number of dots for the specific dot.
請求項8記載の画像表示方法であって、
前記工程(2−2)は、前記加算値と前記コードデータとを対応付けて記憶した対応表を参照することにより、該加算値から該コードデータを決定する工程である画像表示方法。
The image display method according to claim 8,
The step (2-2) is an image display method in which the code data is determined from the added value by referring to a correspondence table in which the added value and the code data are stored in association with each other.
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する画像処理方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する工程(A)と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する工程(B)と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力する工程(C)と
を備え、
前記工程(B)は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する工程(B−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する工程(B−2)と
を備える画像処理方法。
Control data that is supplied to an image display device that displays an image while forming various dots having different gradation values to be expressed and used to control the formation of the various dots in the display device represents the image. An image processing method for generating image data by adding predetermined image processing,
A step (A) of determining a number of dots formed in the pixel group for each pixel type based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped in a predetermined number; )When,
(B) converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
And (C) outputting the code data obtained for each pixel group to the image display device,
The step (B)
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A step of determining a value (B-1);
An image processing method comprising a step (B-2) of determining the code data based on an added value of the determined reference value and the number of dots for the specific dot.
請求項10記載の画像処理方法であって、
前記工程(B−2)は、前記加算値と前記コードデータとを対応付けて記憶した対応表を参照することにより、該加算値から該コードデータを決定する工程である画像処理方法。
The image processing method according to claim 10, comprising:
In the image processing method, the step (B-2) is a step of determining the code data from the added value by referring to a correspondence table in which the added value and the code data are stored in association with each other.
画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて形成することにより、表示媒体上に画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の機能と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する第2の機能と、
前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の機能と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の機能と、
前記決定した画素位置に基づいて、前記表示媒体上に各種ドットを形成する第5の機能と
を実現するとともに、
前記第2の機能は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する機能(2−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する機能(2−2)と
を備えているプログラム。
A method for displaying an image on a display medium by forming a plurality of types of dots having different gradation values to be expressed based on a result of the image processing after performing predetermined image processing on the image data. A program for use and realization,
For a pixel group in which a plurality of pixels constituting the image are grouped by a predetermined number, the number of dots formed in the pixel group is determined for each type of dot based on the image data Function and
A second function of converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
A third function for decoding the code data into the number of dots for various dots formed in the pixel group;
A fourth function for determining a pixel position where a dot is formed in the pixel group for each type of dot based on the number of various dots obtained by the decoding;
Based on the determined pixel position, a fifth function for forming various dots on the display medium is realized, and
The second function is:
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A function (2-1) for determining a value;
A program comprising a function (2-2) for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot.
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えて生成する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する機能(A)と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該ドット個数の組合せに対応した所定のコードデータに変換する機能(B)と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力する機能(C)と
を実現するとともに、
前記機能(B)は、
前記各種ドットの中から所定の1種類のドットを特定ドットとして選択し、該各種ドットから該特定ドットを除いた残余のドットについてのドット個数に基づいて、前記コードデータを得るための基準となる値を決定する機能(B−1)と、
前記決定した基準値と、前記特定ドットについてのドット個数との加算値に基づいて、前記コードデータを決定する機能(B−2)と
を備えているプログラム。
Control data that is supplied to an image display device that displays an image while forming various dots having different gradation values to be expressed and used to control the formation of the various dots in the display device represents the image. A program for realizing a method of generating image data by adding predetermined image processing using a computer,
A function for determining the number of dots formed in each pixel group for each type of dot based on the image data for a pixel group in which a plurality of pixels constituting the image are grouped in a predetermined number. )When,
A function (B) for converting a combination of the number of dots formed in the pixel group determined for the various dots into predetermined code data corresponding to the combination of the number of dots;
A function (C) for outputting the code data obtained for each pixel group to the image display device;
The function (B) is
A predetermined one type of dot is selected as the specific dot from the various dots, and becomes a reference for obtaining the code data based on the number of dots for the remaining dots obtained by removing the specific dot from the various dots. A function (B-1) for determining a value;
A program comprising a function (B-2) for determining the code data based on an added value of the determined reference value and the number of dots for the specific dot.
JP2003176402A 2003-06-20 2003-06-20 System for displaying image based on information of the number of dots formed in predetermined region Withdrawn JP2005007801A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003176402A JP2005007801A (en) 2003-06-20 2003-06-20 System for displaying image based on information of the number of dots formed in predetermined region

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003176402A JP2005007801A (en) 2003-06-20 2003-06-20 System for displaying image based on information of the number of dots formed in predetermined region

Publications (1)

Publication Number Publication Date
JP2005007801A true JP2005007801A (en) 2005-01-13

Family

ID=34099296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003176402A Withdrawn JP2005007801A (en) 2003-06-20 2003-06-20 System for displaying image based on information of the number of dots formed in predetermined region

Country Status (1)

Country Link
JP (1) JP2005007801A (en)

Similar Documents

Publication Publication Date Title
JP4375235B2 (en) Image output system that outputs images while coding multiple pixels at a time
JP4103590B2 (en) Image processing apparatus, print control apparatus, image processing method, and recording medium
JP4241823B2 (en) Dot data processing apparatus, image output system and methods thereof
JPWO2005104525A1 (en) Image processing apparatus that performs multi-value conversion for each pixel
JP6252003B2 (en) Printing apparatus, printing method, image processing apparatus, and program
JP2004350257A (en) Image display system for displaying image on the basis of information of number of dot formed in prescribed region
JP4297033B2 (en) Image processing apparatus that performs multi-value conversion for each pixel
JP4225319B2 (en) Image output control system, image processing apparatus and method
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
JP3858802B2 (en) Image processing apparatus for performing color conversion while referring to reconstructed color conversion table, and image processing method therefor
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
JP4059121B2 (en) Image display system for displaying an image based on information on the number of dots formed in a predetermined area
JP2005125603A (en) Unit for outputting image while performing resolution conversion of data from a plurality of pixel arrays for forming dots simultaneously
JP2005007801A (en) System for displaying image based on information of the number of dots formed in predetermined region
JP4456823B2 (en) Printing device that prints an image while grouping and storing the determination result of dot formation, and print control device therefor
JP4300742B2 (en) Image processing apparatus for converting the number of gradations of image data
JP3882502B2 (en) Image processing apparatus, print control apparatus, image processing method, and recording medium
JP4225320B2 (en) Image output control system, image output apparatus, image processing apparatus, and methods thereof
JP6659174B2 (en) Image processing apparatus, image processing method, and program
JP2006191268A (en) Image output device outputting image while performing image processing a plurality of pixels at a time
JP2001353888A (en) Printing control device and image processing device
JP2005111883A (en) Image display system for displaying image according to information of the number of dots formed in predetermined area
JP4092983B2 (en) Image processing apparatus for performing filter processing according to output resolution

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: 20060905