JP2005111883A - 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム - Google Patents

所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム Download PDF

Info

Publication number
JP2005111883A
JP2005111883A JP2003350939A JP2003350939A JP2005111883A JP 2005111883 A JP2005111883 A JP 2005111883A JP 2003350939 A JP2003350939 A JP 2003350939A JP 2003350939 A JP2003350939 A JP 2003350939A JP 2005111883 A JP2005111883 A JP 2005111883A
Authority
JP
Japan
Prior art keywords
dots
image
data
pixel group
dot
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
JP2003350939A
Other languages
English (en)
Inventor
Kazunari Tagyo
一成 田行
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 JP2003350939A priority Critical patent/JP2005111883A/ja
Publication of JP2005111883A publication Critical patent/JP2005111883A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Particle Formation And Scattering Control In Inkjet Printers (AREA)
  • Image Processing (AREA)
  • Fax Reproducing Arrangements (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

【課題】 画素数の大きな画像を迅速に表示可能な技術を提供する。
【解決手段】 画素を所定の複数個ずつ画素群にまとめ、画素群内に形成する各種ドットの個数を決定した後、ドット個数のデータをコードデータに変換して画像表示装置に供給する。画像表示装置では、受け取ったコードデータをドット個数を示すデータに復号し、各種ドットを形成する画素位置を決定した後、画像を表示する。各種ドット個数からコードデータへの変換は、画像データに応じて適切に選択した対応表を参照することによって行い、コードデータの復号も該当する対応表を参照しながら行う。こうして適切な対応表を参照しながら変換すれば、コードデータのデータ量をより一層低減することができ、更に変換する処理自体も高速化することができるので、画像を迅速に表示することが可能となる。
【選択図】 図1

Description

本発明は、画像データに所定の画像処理を施して画像を表示する技術に関し、詳しくは、画像処理が施された画像データを画像表示装置に迅速に転送することによって、画像を迅速に表示可能とする技術に関する。
印刷用紙や液晶表示画面などの表示媒体上にドットを形成して画像を表示する画像表示装置は、各種画像機器の出力装置として広く使用されている。これら画像表示装置では、微視的に見ればドットを形成するか否かのいずれかの状態しか表現し得ないが、表現しようとする画像の画像データに合わせてドットの形成密度を適切に制御することにより、多階調の画像を表現することが可能となっている。
これら画像表示装置では、ドットの形成密度を適切な密度とするために、通常は次のような手順を経て画像を表示している。先ず、表示しようとする画像を細かな画素に分割する。次いで、画像に所定の画像処理を施すことによって、画素毎にドットを形成するか否かを判断する。いわゆる誤差拡散法やディザ法と呼ばれる処理手法を適用すれば、画像データに合わせてドットが適切な密度で形成されるように、それぞれの画素についてのドット形成の有無を判断することができる。こうして得られた画素毎にドット形成の有無を表すデータを、画像表示装置に供給する。画像表示装置では、受け取ったデータに従って各画素にドットを形成することによって画像を表示している。
近年では、こうした画像表示装置にも、表示画像の高画質化や大画像化に対する要請が強くなってきており、これら要請に応えるべく、画像を構成する画素数が増加する傾向にある(例えば、特許文献1など)。上述したように画像表示装置は、画素毎にドット形成の有無を示すデータを受け取って画像を表示しているから、画素数が多くなれば、データを受け取るために時間がかかってしまい、画像を迅速に表示することが困難となる。
こうした問題を解決するために、本願の発明者は、複数個の画素を画素群としてまとめて、画素群内に形成するドットの個数を求め、求めたドットの個数のデータを画像表示装置に供給して画像を表示する第1の技術を開発し、既に出願済みである(特願2003−87176号)。ドットの個数であれば、各画素についてのドット形成の有無よりも僅かなデータ量で表現することができることから、出願済みの技術を用いれば、例え画素数の多い画像でも画像表示装置に迅速にデータを供給することができ、延いては画像を迅速に表示することが可能である。
こうした画像表示装置の中には、形成するドットの種類(例えば、ドットの大きさやドットの明るさなど)を変えることによって画素単独でも多階調の表現を可能とし、これによって更なる画質の向上を図ったものも存在する。このような画像表示装置では、複数種類のドットを形成可能なことから、画素群内に形成するドットの個数は、ドットの種類毎に供給することになる。もっとも、単にドットの種類毎にドット個数を供給したのでは、ドットの種類が増加するに従って画像表示装置に供給すべきデータ量も増加してしまい、画像を迅速に表示することが困難となってしまう。こうした問題を回避するために、本願の発明者は、画素群内に形成する各種ドットの個数をコードに変換してから画像表示装置に供給して画像を表示する第2の技術も併せて開発し、既に出願済みである(特願2003−87218号)。
例えば画像表示装置が、大きさの異なる3種類のドットを形成可能であるとして、ある画素群に形成するドットの個数が、大ドット1個、中ドット2個、小ドット1個であったとする。上記の出願済みの第2の技術では、大ドット1個、中ドット2個、小ドット1個とドットの種類毎に個数を出力するのではなく、ドット種類と個数との組合せを示すコード(例えば、大ドット、中ドット、小ドットの個数がそれぞれ1個、2個、1個という組合せであることを表すコード)を予め定めておき、それぞれのドット個数を出力する代わりに、ドット個数の組合せを示すコードを画像表示装置に出力する。各種ドットについての個数の組合せと、これに対する固有のコードとを予め対応付けた状態で対応表に記憶しておけば、各種ドットの個数の組合せを対応するコードに簡便に変換することができる。こうして各種ドットの個数の組合せをコードデータに変換して出力してやれば、画像表示装置が多種類のドットを形成可能な場合でも、迅速にデータを供給して画像を迅速に表示させることが可能である。
特開2000−115716号公報
しかし、画像を構成する画素数は、更なる高画質化や大画像化の要請に対応して益々増加する傾向にあり、上述した出願済みの技術を用いても、画像を迅速に表示することが困難になる事態も想定される。こうした事態に対処するために、画像をなお一層迅速に表示可能とする技術の開発が要請されている。
この発明は従来技術における上述した課題を解決するためになされたものであり、画像処理装置から画像表示装置に供給されるコードデータのデータ量を低減し、あるいはコードデータを変換する処理、更にはコードデータを復号する処理を迅速化することで、画像をより一層迅速に表示可能とする技術の提供を目的とする。
上述した課題の少なくとも一部を解決するために、本発明の画像表示システムは次の構成を採用した。すなわち、
画像データに所定の画像処理を施す画像処理装置と、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて表示媒体上に形成することにより画像を表示する画像表示装置と、を備える画像表示システムであって、
前記画像処理装置は、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定するドット個数決定手段と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに、該画素群毎に変換するドット個数変換手段と、
前記画素群毎に得られた前記コードデータを前記画像表示装置に出力するコードデータ出力手段と
を備え、
前記画像表示装置は、
前記コードデータを受け取って、前記画素群内に形成される各種ドットについてのドット個数に復号するコードデータ復号手段と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する画素位置決定手段と、
前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成するドット形成手段と
を備え、
前記ドット個数変換手段は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する手段であり、
前記コードデータ復号手段は、前記受け取ったコードデータを前記選択された1の対応表に基づいて前記ドット個数に復号する手段であることを要旨とする。
また、上記の画像表示システムに対応する本発明の画像表示方法は、
画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて表示媒体上に形成することにより画像を表示する画像表示方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の工程と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに、該画素群毎に変換する第2の工程と、
前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の工程と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の工程と、
前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する第5の工程と
を備え、
前記第2の工程は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する工程であり、
前記第3の工程は、前記受け取ったコードデータを前記選択された1の対応表に基づいて前記ドット個数に復号する工程であることを要旨とする。
こうした画像表示システムおよび画像表示方法においては、画像データに所定の画像処理を施すことによって、画素群内に形成される各種ドットの個数を決定する。こうして得られた各種ドットの個数の組合せをコードデータに変換した後、画像表示装置に出力する。ドット個数の組合せをコードデータに変換するに際しては、ドット個数の組合せとコードデータとの対応関係を記述した対応表を参照することで迅速に変換することができる。このように、画素群内に形成されるドット個数の組合せをそのまま画像表示装置に出力するのではなく、コードデータに変換してから出力してやれば、データ量を大幅に低減することができるので、例え画素数の大きな画像を表示する場合でも、データを迅速に出力することができる。画像表示装置では、こうして供給されたコードデータを復号して、画素群内に形成される各種ドットについてのドット個数の組合せを示すデータに変換する。次いで、得られたドット個数の組合せに基づいて、画素群内でドットが形成される画素位置をドットの種類毎に決定する。こうして決定した画素位置に各種ドットを形成することによって画像を表示する。このようにして画像を表示してやれば、画素数が大きくなってもコードデータを速やかに供給することができるので、画像を迅速に表示することが可能となる。
これに加えて、本発明の画像表示システムおよび画像表示方法においては、複数記憶されている対応表の中から、画像データに応じて適切な対応表を使い分けながら、ドット個数の組合せをコードデータに変換するとともに、コードデータをドット個数に復号している。詳細な理由は後ほど詳しく説明するが、こうして画像データに応じて適切な対応表を使い分けてやれば、コードデータのデータ量を更に低減するとともに、ドット個数の組合せをコードデータへの変換する処理、およびコードデータを復号する処理をより迅速に行うことができる。このため、画像を更に迅速に表示することが可能となる。
所定の複数色について、前記各種ドットを形成することによって画像を表示する画像表示システムにおいては、該所定の色毎の画像データに応じて適切な対応表を使い分けながら、ドット個数の組合せをコードデータに変換するとともに、コードデータを復号することとしても良い。
複数色のドットを形成して画像を表示する場合、各種ドットの発生状況はドットの色毎に異なっていることが多い。このため、該所定の色毎の画像データに応じて適切な対応表を使い分けてやれば、後述する理由から、画像の表示を効果的に迅速化することが可能である。
あるいは、画像データが写真画像のデータか否かに応じて、適切な対応表を使い分けながら、ドット個数の組合せからコードデータへの変換、およびコードデータからドット個数の組合せへの復号を行うこととしても良い。
一般に、風景や人物などを撮影した写真あるいは絵画の画像と、文字・図形・グラフなどの画像とでは、各種ドットの形成状況は大きく異なっている。従って、画像データが写真画像のデータか否かに応じて適切な対応表を使い分けながら、コードデータへの変換およびコードデータからの復号を行うことによっても、後述する理由から、画像の表示を効果的に迅速化することが可能である。
この時、画像データが写真画像のデータか否かは、画像の表示に先立って予め設定することとしても良いが、画像処理の開始後に画像データに基づいて判断することとしても良い。例えば、写真画像とテキスト画像とでは階調値の頻度分布が異なることが多いので、画像データの階調値の頻度分布に基づいて、画像データが写真画像のデータか否かを判断することができる。あるいは、簡便に、データの識別子などのような画像データに予め含まれている所定の符号に基づいて判断することとしても良い。
このようにすれば、画像の表示に先立って予め設定しておかなくても、適切な対応表を参照しながらコードデータへの変換およびコードデータからの復号を行うことができるので、常に画像を迅速に表示させることが可能となる。
また、上述した従来技術の有する課題の少なくとも一部を解決するために、本発明の画像処理装置は次の構成を採用した。すなわち、
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する画像処理装置であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定するドット個数決定手段と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに変換するドット個数変換手段と、
前記画素群毎に得られた前記コードデータを、前記制御データとして、前記画像表示装置に出力する制御データを出力手段と
を備え、
前記ドット個数変換手段は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する手段であることを要旨とする。
また、上記の画像処理装置に対応する本発明の画像処理方法は、
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する画像処理方法であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する工程(A)と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに変換する工程(B)と、
前記画素群毎に得られた前記コードデータを前記制御データとして出力する工程(C)と
を備え、
前記工程(B)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する工程であることを要旨とする。
こうした画像処理装置および画像処理方法においても、画素群内に形成する各種ドットの個数を決定した後、対応表を参照しながら、ドット個数の組合せをコードデータに変換する。こうしてドット個数の組合せを示すデータをコードデータに変換してやれば、データ量を大幅に低減することができるので、画像を迅速に表示することが可能となる。
加えて、ドット個数の組合せをコードデータに変換するに際しては、画像データに応じて適切な対応表を選択し、この対応表を参照しながら変換してやれば、後述する理由から、コードデータのデータ量をより一層低減することができるとともに、コードデータに変換する処理そのものも迅速化することができる。このため、画像の表示をより速やかに行うことが可能となる。
また、前述した従来技術の有する課題を解決するために、本発明の画像表示装置は次のような構成を採用した。すなわち、
所定の画像処理が施された画像データを受け取って、表現する階調値の異なる複数種類のドットを該画像データに基づいて形成することにより、表示媒体上に画像を表示する画像表示装置であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめた画素群の各々について、該画素群内に形成すべき各種ドットの個数を、該各種ドットの個数の組合せを表すコードデータの状態で、前記画像データとして受け取る画像データ受取手段と、
前記コードデータの状態で受け取った画像データを復号して、該画素群内に形成すべき各種ドットの個数に変換する画像データ復号手段と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する画素位置決定手段と、
前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成するドット形成手段と
を備え、
前記画像データ復号手段は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該コードデータを該ドット個数に変換する手段であることを要旨とする。
また、上記の画像表示装置に対応する本発明の画像表示方法は、
所定の画像処理が施された画像データを受け取って、表現する階調値の異なる複数種類のドットを該画像データに基づいて形成することにより、表示媒体上に画像を表示する画像表示方法であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめた画素群の各々について、該画素群内に形成すべき各種ドットの個数を、該各種ドットの個数の組合せを表すコードデータの状態で、前記画像データとして受け取る工程(イ)と、
前記コードデータの状態で受け取った画像データを復号して、該画素群内に形成すべき各種ドットの個数に変換する工程(ロ)と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する工程(ハ)と、
前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する工程(ニ)と
を備え、
前記工程(ロ)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該コードデータを該ドット個数に変換する工程であることを要旨とする。
こうした画像表示装置および画像表示方法においては、コードデータを復号してドット個数の組合せに変換するに際して、画像データに応じて選択された適切な対応表に基づいて復号する。このため、後述する理由から、復号する処理を迅速化することができ、延いては、画像を速やかに表示することが可能となる。
更に本発明は、上述した画像表示方法あるいは画像処理方法を実現するためのプログラムをコンピュータに読み込ませ、所定の機能を実行させることにより、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、上述した画像表示方法に対応する本発明の第1のプログラムは、
画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて表示媒体上に形成することにより画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の機能と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに、該画素群毎に変換する第2の機能と、
前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の機能と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の機能と、
前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する第5の機能と
をコンピュータを用いて実現するとともに、
前記第2の機能は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する機能であり、
前記第3の機能は、前記受け取ったコードデータを前記選択された1の対応表に基づいて前記ドット個数に復号する機能であることを要旨とする。
かかる第1のプログラムに対応する本発明の第1の記録媒体は、
画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて表示媒体上に形成することにより画像を表示する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の機能と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに、該画素群毎に変換する第2の機能と、
前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の機能と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の機能と、
前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する第5の機能と
をコンピュータを用いて実現するプログラムを記録するとともに、
前記第2の機能は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する機能であり、
前記第3の機能は、前記受け取ったコードデータを前記選択された1の対応表に基づいて前記ドット個数に復号する機能であることを要旨とする。
また、上述した画像表示方法に対応する本発明の第2のプログラムは、
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する機能(A)と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに変換する機能(B)と、
前記画素群毎に得られた前記コードデータを前記制御データとして出力する機能(C)と
をコンピュータを用いて実現するとともに、
前記機能(B)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する機能であることを要旨とする。
かかる第2のプログラムに対応する本発明の第2の記録媒体は、
表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する機能(A)と、
前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに変換する機能(B)と、
前記画素群毎に得られた前記コードデータを前記制御データとして出力する機能(C)と
をコンピュータを用いて実現するプログラムを記録するとともに、
前記機能(B)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する機能であることを要旨とする。
更に、上述した画像表示方法に対応する本発明のプログラムは、
所定の画像処理が施された画像データを受け取って、表現する階調値の異なる複数種類のドットを該画像データに基づいて形成することにより、表示媒体上に画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
前記画像を構成する複数の画素を所定の複数個ずつまとめた画素群の各々について、該画素群内に形成すべき各種ドットの個数を、該各種ドットの個数の組合せを表すコードデータの状態で、前記画像データとして受け取る機能(イ)と、
前記コードデータの状態で受け取った画像データを復号して、該画素群内に形成すべき各種ドットの個数に変換する機能(ロ)と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する機能(ハ)と、
前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する機能(ニ)と
をコンピュータを用いて実現するとともに、
前記機能(ロ)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該コードデータを該ドット個数に変換する機能であることを要旨とする。
かかるプログラムに対応する本発明の記録媒体は、
所定の画像処理が施された画像データを受け取って、表現する階調値の異なる複数種類のドットを該画像データに基づいて形成することにより、表示媒体上に画像を表示する方法を実現するためのプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記画像を構成する複数の画素を所定の複数個ずつまとめた画素群の各々について、該画素群内に形成すべき各種ドットの個数を、該各種ドットの個数の組合せを表すコードデータの状態で、前記画像データとして受け取る機能(イ)と、
前記コードデータの状態で受け取った画像データを復号して、該画素群内に形成すべき各種ドットの個数に変換する機能(ロ)と、
前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する機能(ハ)と、
前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する機能(ニ)と
をコンピュータを用いて実現するプログラムを記録するとともに、
前記機能(ロ)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該コードデータを該ドット個数に変換する機能であることを要旨とする。
これらのプログラムをコンピュータに読み込んで、各種の機能を実現させれば、画素数の多い画像であっても迅速に表示することが可能となる。
以下では、上述した本願発明の内容を明確にするために、次のような順序に従って実施例に基づき説明する。
A.実施例の概要:
B.装置構成:
C.画像印刷処理の概要:
D.エンコード処理およびデコード処理:
E.変形例:
A.実施例の概要:
実施例の詳細な説明に入る前に、図1を参照しながら、実施例の概要について説明しておく。図1は、印刷システムを例にとって、本発明の画像表示システムに関する実施例の概要を示した説明図である。図示した印刷システムは、画像処理装置としてのコンピュータ10と、画像表示装置としてのプリンタ20などから構成されており、コンピュータ10に所定のプログラムがロードされて実行されることにより、これらコンピュータ10およびプリンタ20などが全体として一体の印刷システムとして機能する。プリンタ20は、インク滴を吐出することによって印刷媒体上にドットを形成しながら画像を印刷する。またプリンタ20は、吐出するインク滴の大きさを制御することで、大きさの異なる3種類のドットを形成することが可能である。プリンタ20がドットの形成を制御するために用いられるデータは、コンピュータ10が画像データに所定の画像処理を施すことによって生成され、コンピュータからプリンタ20に供給される。尚、ここでは、大中小の3種類のドットを形成可能な場合について説明するが、ドットの種類は3種類に限られるものではなく、例えば大小の2種類のドットを形成可能なプリンタにも、あるいは4種類以上のドットを形成可能なプリンタにも同様に適用することができる。また、ドットの大きさではなく、インクの濃度を変えるなどの方法により、ドットの濃さを何段階かに変更可能なプリンタにも、同様に適用することが可能である。
このように、画像処理を行うコンピュータ10と実際に画像の表示を行うプリンタ20とからなる印刷システムでは、プリンタ20でドットの形成を制御するために用いられるデータをコンピュータ10から供給している関係上、画像あたりの画素数が多くなるとデータの受け渡しに時間がかかってしまい、画像を迅速に印刷することが困難となる。こうした問題の発生を回避するために、図1に示すコンピュータ10には、ドット個数決定モジュール12と、ドット個数変換モジュール14と、コードデータ出力モジュール16とが設けられている。ドット個数決定モジュール12は、画素を所定の複数個ずつ画素群としてまとめた後、画素群内に形成するドットの個数を決定する。ここでは、プリンタ20が大中小の3種類のドットを形成可能としているから、ドット個数決定モジュール12では、大中小の各種ドットについてドット個数を決定する。ドット個数変換モジュール14では、こうして画素群毎に決定された大ドットの個数、中ドットの個数、小ドットの個数からなるドット個数の組合せをコードデータに変換する。図1では、大ドット、中ドット、小ドットの各種ドットについてのドット個数の組合せを、Dot(L,M,S)と表している。ドット個数の組合せをコードデータへ変換する処理は、ドット個数の組合せとコードデータとの対応関係を記述した対応表を参照することによって行う。ドット個数変換モジュール14には、複数種類の対応表が記憶されており、変換する画像データに応じて選択した適切な対応表を参照しながら、ドット個数の組合せDot(L,M,S)をコードデータに変換する。コードデータ出力モジュール16は、こうして得られたコードデータをプリンタ20に向かって出力する。
プリンタ20には、コードデータ復号モジュールと、画素位置決定モジュールと、ドット形成モジュールなどが設けられている。コードデータ復号モジュールは、コンピュータ10から供給されたコードデータを受け取ると、これを復号して画素群に形成すべき各種ドットの個数を示すデータDot(L,M,S)に復元する。復号する処理は、コードデータに変換する際に参照した対応表に基づいて行う。図1に例示した印刷システムでは、プリンタ20にも、ドット個数の組合せとコードデータとの対応関係を記述した対応表が複数種類記憶されており、これら対応表の中から、コードデータの変換に用いた対応表に対応したものを選択し、選択した対応表に基づいてコードデータの復号を行っている。ここで、プリンタ20に記憶しておく対応表は、コンピュータ10側のドット個数変換モジュール14内に記憶されている対応表と全く同じものであっても良いが、コードデータを復号する処理に適したように、対応表の表現形式を適宜変更した状態で記憶しておいても良い。また、プリンタ20側に予め複数種類の対応表を記憶しておくのではなく、コンピュータ10側から変換に用いた対応表を受け取ることとしても良い。画素位置決定モジュールでは、こうしてコードデータを復号して得られたドット個数の組合せDot(L,M,S)に基づいて、画素群内で大ドット、中ドット、小ドットの各ドットが形成される画素位置をドットの種類毎に決定する。ドット形成モジュールは、決定した画素位置にドットを形成することによって画像を印刷する。
このように、画素群内に形成される各種ドットの個数を、コードデータに変換してからプリンタ20に供給してやれば、ドット個数のままの状態でプリンタ20に供給する場合よりも、供給するデータ量を大幅に小さくすることができる。そのため、画素数の大きな画像も迅速に印刷することが可能となる。加えて、各種ドットの個数からコードデータへ変換する処理は、画像データに応じて選択された適切な対応表を参照しながら行うこととすれば、後述する理由から、プリンタ20に供給すべきデータ量をより一層低減することができるとともに、コードデータへ変換する処理およびコードデータを復号する処理も迅速化することができる。このため、画像の表示をより一層迅速化することが可能となり、画素数が更に増加した場合でも、画像を十分に迅速に表示することが可能となる。以下では、こうした本発明の画像表示システムおよび画像表示装置について、実施例に基づき詳細に説明する。
B.装置構成:
図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に記憶されているデータを取得することもできる。
図3は、本実施例のプリンタ200の概略構成を示す説明図である。プリンタ200はシアン,マゼンタ,イエロ,ブラックの4色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら4色のインクに加えて、染料濃度あるいは顔料濃度の低いシアン(淡シアン)インクと、染料濃度あるいは顔料濃度の低いマゼンタ(淡マゼンタ)インクとを含めた合計6色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では、シアンインク,マゼンタインク,イエロインク,ブラックインク,淡シアンインク,淡マゼンタインクを、必要に応じて、それぞれCインク,Mインク,Yインク,Kインク,LCインク,LMインクと略称するものとする。
プリンタ200は、図示するように、キャリッジ240に搭載された印字ヘッド241を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ240をキャリッジモータ230によってプラテン236の軸方向に往復動させる機構と、紙送りモータ235によって印刷用紙Pを搬送する機構と、ドットの形成やキャリッジ240の移動および印刷用紙の搬送を制御する制御回路260などから構成されている。
キャリッジ240には、Kインクを収納するインクカートリッジ242と、Cインク,Mインク,Yインクの各種インクを収納するインクカートリッジ243とが装着されている。キャリッジ240にインクカートリッジ242,243を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド241の下面に設けられた各色毎のインク吐出用ヘッド244ないし247に供給される。各色毎のインク吐出用ヘッド244ないし247は、こうして供給されたインクを用いてインク滴を吐出して、印刷媒体上にインクドットを形成する。
制御回路260は、CPUを中心として、ROMや、RAM、周辺機器インターフェースPIF等に加えて、デジタルデータをアナログ信号に変換するD/A変換器等から構成されている。もちろん、CPUを搭載せずに、ハードウェアあるいはファームウェアによって同様の機能を実現することとしても良い。制御回路260は、キャリッジモータ230および紙送りモータ235の動作を制御することによって、キャリッジ240の主走査動作および副走査動作の制御を行う。また、キャリッジ240の主走査および副走査に合わせて、適切なタイミングで印字ヘッド241を駆動することによってインク滴を吐出する。こうして制御回路260の制御の下で、各色のインク吐出用ヘッド244ないし247から適切なタイミングでインク滴が吐出され、その結果、印刷用紙P上にインクドットが形成されて、カラー画像が印刷される。
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡(バブル)を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
図4は、各色のインク吐出用ヘッド244ないし247の底面に、インク滴を吐出する複数のノズルNzが形成されている様子を示した説明図である。図示するように、各色のインク吐出用ヘッドの底面には、各色毎のインク滴を吐出する4組のノズル列が形成されており、1組のノズル列には、48個のノズルNzがノズルピッチpの間隔を空けて千鳥状に配列されている。これらノズルは、制御回路260の制御の元で駆動され、インク滴を吐出することによって印刷用紙上にインクドットを形成する。
また、本実施例のプリンタ200は、吐出するインク滴の大きさを制御することにより、インクドットの大きさを制御することが可能である。以下、プリンタ200が大きさの異なるインクドットを形成する方法について説明するが、その準備として、先ず、各色インクを吐出するノズルの内部構造について説明する。図5(a)は、インクを吐出するノズルの内部構造を示した説明図である。各色のインク吐出用ヘッド244ないし247には、このようなノズルが複数設けられている。図示するように、各ノズルにはインク通路255とインク室256とが設けられており、また、インク室の上面にはピエゾ素子PEが設けられている。キャリッジ240にインクカートリッジ242,243を装着すると、カートリッジ内のインクがインクギャラリ257を経由してインク室256に供給される。ピエゾ素子PEは、周知のように、電圧を印加すると結晶構造が歪んで極めて高速に電気−機械エネルギの変換を行う素子である。本実施例では、ピエゾ素子PEの両端に設けられた電極間に所定波形の電圧を印加することで、インク室256の側壁を変形させる。その結果、インク室256の容積が減少し、容積の減少分に相当するインクがインク滴IpとなってノズルNzから吐出される。このインク滴Ipがプラテン236に装着された印刷用紙Pに染み込むことで、印刷用紙上にインクドットが形成される。
図5(b)は、ピエゾ素子PEに印加する電圧波形を制御することで、吐出するインク滴の大きさを変更する原理を示した説明図である。ノズルからインク滴Ipを吐出するためには、ピエゾ素子PEに府の電圧を印加してインクギャラリ257からインク室256内に一旦インクを吸入し、その後、ピエゾ素子PEに正電圧を印加してインク室容積を減少させて、インク滴Ipを吐出させる。ここで、インクの吸引速度が適切であればインク室容積の変化量に相当するインクが吸入されるが、吸引速度が速すぎると、インクギャラリ257とインク室256との間には通路抵抗があるためにインクギャラリ257からのインクの流入が間に合わなくなる。その結果、インク通路255のインクがインク室内に逆流して、ノズル付近のインク界面が大きく後退した状態となる。図5(b)に実線で示した電圧波形aは、適正な速度でインクを吸引する波形を示し、破線で示した電圧波形bは適切速度より大きな速度で吸引する波形の一例を示している。
十分なインクがインク室256内に供給された状態で、ピエゾ素子PEに正電圧を印加すると、インク室256の容積減少に相当する体積のインク滴IpがノズルNzから吐出される。これに対して、インクの供給量が不足してインク界面が大きく後退した状態で正電圧を印加すると、吐出されるインク滴は小さなインク滴となる。このように、本実施例のプリンタ200では、インク滴の吐出前に印加する負の電圧波形を制御してインクの吸引速度を変更することで、吐出するインク滴の大きさを制御する。これにより、大ドット、中ドット、小ドットの3種類のインクドットを形成することが可能となっている。
もちろん、3種類に限らずより他種類のドットを形成することも可能である。更には、微細なインク滴を一度に複数吐出して、吐出するインク滴の数を制御するといった方法を用いて、印刷用紙上に形成されるインクドットの大きさを制御してもよい。
以上のようなハードウェア構成を有するプリンタ200は、キャリッジモータ230を駆動することによって、各色のインク吐出用ヘッド244ないし247を印刷用紙Pに対して主走査方向に移動させ、また紙送りモータ235を駆動することによって、印刷用紙Pを副走査方向に移動させる。制御回路260は、キャリッジ240の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出する。こうすることで、印刷用紙P上の適切な位置にインクドットが形成されて、その結果、画像が印刷されることになる。
C.画像印刷処理の概要:
図6は、本実施例のコンピュータ100およびプリンタ200が、画像データに所定の画像処理を加えて、印刷用紙上に画像を印刷する処理の流れを示すフローチャートである。かかる画像印刷処理は、後述するように前半部分はコンピュータ100に内蔵されたCPUの機能を利用して、また、処理の後半部分はプリンタ200の制御回路260に内蔵されたCPUの機能を利用して実行される。以下では、図6に従って、本実施例の画像印刷処理について説明する。
コンピュータ100は、画像印刷処理を開始すると、先ず初めに、変換すべき画像データの読み込みを開始する(ステップS100)。ここでは、画像データはRGBカラー画像データであるものとして説明するが、カラー画像データに限らず、モノクロ画像データについても同様に適用することができる。
カラー画像データの読み込みに続いて、色変換処理を行う(ステップS102)。色変換処理とは、R,G,Bの階調値の組合せによって表現されているRGBカラー画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、プリンタ200はC,M,Y,Kの4色のインクを用いて画像を印刷している。そこで、本実施例の色変換処理ではRGB各色によって表現された画像データを、C,M,Y,Kの各色の階調値によって表現されたデータに変換する処理を行う。色変換処理は、色変換テーブル(LUT)と呼ばれる3次元の数表を参照することによって行う。LUTには、RGBカラー画像データに対して、色変換によって得られるC,M,Y,K各色の階調値が予め記憶されているので、このLUTを参照しながら変換すれば、迅速に色変換することが可能である。
こうして色変換して得られた各色毎の画像データを、大中小の各種ドットについてのドットデータに変換する(ステップS104)。すなわち、前述したように本実施例のプリンタ200は、吐出するインク滴の大きさを変えることで、大ドット、中ドット、小ドットの3種類のドットを形成することが可能である。そこで、色変換処理によって各色毎に得られた画像データを、一旦、大ドット用のドットデータ、中ドット用のドットデータ、小ドット用のドットデータに各色毎に変換する処理を行う。尚、色変換処理では、C,M,Y,Kの各色毎の画像データが得られるが、以降に説明する処理は、これら各色の画像データのいずれに対しても同様に行われる。そこで、説明の煩雑化を避けるために、以下では色を特定せずに説明する。従って、特に明示しない限り、色を特定せずに行う説明は、各色毎に同様な処理を行うことを意味しているものとする。
色変換によって各色毎に得られた画像データを、大ドット、中ドット、小ドットのそれぞれのドットデータに変換する処理は、図7に示す変換テーブルを参照することによって行う。図示するように、変換テーブルには、大ドットデータ、中ドットデータ、小ドットデータが、画像データの階調値に対応付けて記憶されており、かかる変換テーブルを参照することで、色変換後の画像データを変換することができる。
ここで本実施例では、図7に示すように、C,Mの画像データを変換するための変換テーブルと、Y,Kの画像データを変換するための変換テーブルの、2種類のテーブルが設けられている。このように複数の変換テーブルが設けられているのは、次のような理由によるものである。
先ず、CドットおよびMドットは、いずれもドットが比較的目立ち易いので、できるだけ小さなドットを用いて印刷した方が画質を向上させることができる。そこでC,Mの画像データについては、図7(a)に示すように、画像データの階調値が小さい領域では、できるだけ小ドットを形成し、小ドットだけでは表現できなくなったら中ドットを形成し、中ドットでも表現できない場合には大ドットを形成するような変換テーブルを参照して、ドットデータに変換する。ドットは、大ドットよりも中ドットの方が目立ち難く、中ドットよりも小ドットの方が目立ち難いので、こうすることでドットの目立たない高画質の画像を得ることができる。
尚、図7(a)の変換テーブルにおいて、小ドットのドットデータが「255」に達する前に中ドットの形成を開始し、中ドットのドットデータが「255」に達する前に大ドットの形成を開始しているのは、筋状に色ムラが発生して画質の悪化を引き起こすバンディングと呼ばれる現象の発生を回避するためである。
これに対して、Yドットはドットが目立ち難いので、CドットやMドットの場合に比べて、中ドットあるいは大ドットの形成を早めに開始しても画質が悪化することはない。このためYの画像データについては、図7(b)に示すように、中ドット、大ドットが早めに形成されるような変換テーブルを参照しながらドットデータに変換する。
一方、Kドットは、CドットやMドットよりもドットが目立ち易いドットである。このため、画像の明るい領域には、Kドットを形成する代わりに、Cドット、Mドット、Yドットを同時に形成することで黒色を表現した方が、ドットの目立たない高画質の画像を得ることができる。このように、C,M,Yを混色することによって表現された黒色は「コンポジットブラック」と呼ばれることがある。本実施例の色変換処理(図6のステップS102)では、黒色をできるだけコンポジットブラックを用いて表現している。すなわち、画像の明るい(明度が高い)領域においては、Kの階調値を大きくする代わりに、C,M,Yの階調値を大きくすることでコンポジットブラックを用いて黒色を表現し、画像が十分に暗く(明度が低く)なってからKの階調値を大きくするようにしている。このため、Kの画像データについては、画像の明度が十分に暗くなってからでないと階調値が増加しないので、比較的早めに中ドットあるいは大ドットを形成しても画質が悪化することはない。このような理由から、Kの画像データについてもYの画像データと同様に、図7(b)に示すような変換テーブルを参照しながら階調データをドットデータに変換しているのである。
尚、ここでは、Cの画像データとMの画像データとは同じ変換テーブルを参照し、また、Yの画像データとKの画像データとは同じ変換テーブルを参照するものとして説明した。しかし、各色毎に最適に設定した専用の変換テーブルを参照しながら画像データをドットデータに変換するものとしても良い。また、LCの画像データ、あるいはLMの画像データがある場合には、これらについても専用の変換テーブルを参照してドットデータに変換することとしても良い。
図8は、以上のようにして変換テーブルを参照することにより、色変換後の画像データを大中小の各種ドットのドットデータに変換した様子を概念的に示した説明図である。尚、前述したように、ドットデータはC,M,Y,Kの各色毎に得られるが、図8ではこれらを代表する1色のみを表示している。図8(a)は色変換後の画像データを示し、図8(b)は変換によって得られたドットデータを示している。図8(b)で、Data(L,M,S)=(2,90,32)と表示されているのは、図8(a)に示した画像データ「97」が、大ドットのドットデータ「2」、中ドットのドットデータ「90」、小ドットのドットデータ「32」に変換されたことを模式的に表したものである。
次いで、大ドットデータ、中ドットデータ、小ドットデータのそれぞれのデータに対して解像度変換処理を行う(図6のステップS106)。解像度変換処理とは、画像データの解像度を、プリンタ200が印刷を行う解像度(印刷解像度)に変換する処理である。通常、印刷解像度は画像データの解像度よりも高い値に設定されることが多い。これは、次のような理由によるものである。
一般に、印刷画質を向上させるためには、画素の大きさを小さくして、より高い解像度で印刷することが効果的である。しかし、印刷解像度を高くするからと言って、必ずしも、元の画像データの解像度も高くする必要があるわけではない。何故なら、本実施例のプリンタ200では、ドットの大きさを変えることにより、「ドットを形成しない」、「小ドットを形成する」、「中ドットを形成する」、「大ドットを形成する」の4つの状態を表現可能であり、画素あたり4階調を表現可能であるが、画像データの階調数には大きく及ばないのが実情である。仮に、画像データが1バイトのデータであったとしても、画素あたりに256階調を表現することが可能となり、プリンタ200が表現可能な階調数はこの値に大きく及ばない。このように、画素あたりに表現可能な階調が大きく異なっていることから、印刷解像度を、読み込む画像データの解像度よりも高解像度に設定しただけで、印刷画質を向上させることが可能である。このような理由から、印刷解像度は、画像データよりも高い解像度に設定されることが多いのである。図6のステップS106では、印刷画質を改善するために、画像データの解像度をより高解像度の印刷解像度に変換する処理を行う。
図9は、本実施例において行われる解像度変換の様子を示す説明図である。図9(a)は、解像度変換前のドットデータの一部を拡大して模式的に表したものである。図9(a)中に示した複数の矩形は、それぞれが画素を模式的に表したものであり、矩形の中に表示された数値は、各画素に割り当てられた各種ドットのドットデータを表している。図示されているように、ドットデータは、格子状に配列された画素の各々に、各種ドットについてのドットデータが割り当てられている。こうしたドットデータの解像度をより高い解像度に変換するためには、ドットの種類毎に画素間で補間演算を行うことによって新たな画素を生成しても良いが、本実施例では最も簡便な手法として、画素をより小さな画素に分割することで解像度変換を行う。
図9(b)は、画素を分割することで解像度を変換している様子を示す説明図である。図示した例では、それぞれの画素を、主走査方向(図上では左右方向)に4分割し、副走査方向(図上では上下方向)に2分割することで、1つの画素を8つの画素に分割している。図9(b)中に示した破線は、画素が分割されていることを表したものである。こうして生成した小さな画素には、分割前の元の画素のドットデータと同じデータが割り当てられている。以上のような処理を施すことにより、ドットデータの解像度は、主走査方向には4倍の解像度に、副走査方向には2倍の解像度に変換されることになる。もちろん、解像度の増加割合は必要に応じて種々の割合に設定することが可能である。
以上のようにして、ドットデータの解像度を印刷解像度に変換したら、コンピュータ100は、個数データ生成処理を開始する(図6のステップS108)。個数データ生成処理とは、次のような処理である。前述したようにプリンタ200は、ドットが画像データの階調値に応じた適切な密度で形成されるように、画素にドットを形成することによって画像を印刷する。一方、解像度変換処理によって得られたドットデータは、画素毎に各種ドットについて階調値が割り当てられた階調データである。従って、階調データを、画素毎にドット形成の有無を表すデータに変換した後、プリンタ200に転送する必要がある。ここで、ドット形成の有無を示すデータを、画素単位でプリンタ200に転送したのでは、画素数が多くなるに従って転送に要する時間が増加してしまうので、画像を迅速に印刷することが困難となる。そこで、本実施例の画像印刷処理では、画素を所定の複数個ずつ画素群としてまとめ、画素群内に形成されるドット個数を各種ドット毎に決定する。そして、得られた各種ドットの個数の組合せをコードデータに変換した状態でプリンタ200に転送している。詳細には後述するが、こうすればプリンタ200に迅速にデータを転送することができ、延いては画像を迅速に印刷することが可能となる。個数データ生成処理では、解像度変換処理(図6のステップS106)で画素毎に得られたドットデータに基づいて、画素群内に形成する各種ドットの個数を決定する処理を行う。
図10は、個数データ生成処理の流れを示したフローチャートである。以下、フローチャートに従って、各種ドットについてのドットデータから個数データを生成する処理について簡単に説明する。
個数データ生成処理を開始すると、CPUは先ず初めに、画像データの中から所定の複数個の画素をまとめて画素群を生成する(ステップS200)。図9を用いて前述したように、個数データ生成処理に先立って行われる解像度変換処理では、画素を分割して新たな画素を生成することとしているから、ここでは、同じ画素から分割された複数の画素を画素群としてまとめるものとする。
次いで、画素群内の各画素について、大ドット、中ドット、小ドットのドットデータを読み込む(ステップS202)。尚、ここでは、画素群を構成する画素は、いずれも同じ画素から分割されて同じ階調値を有するから、画素毎にドットデータを読み込むのではなく、画素群毎に1画素分だけ読み込むこととしても良い。
こうして各種ドットのドットデータを読み込んだら、ディザマトリックスを参照することにより、大ドット、中ドット、小ドットについての形成有無を判断する(ステップS204)。ここで、ディザマトリックスとは、複数の閾値が格子状に記憶された2次元の数表である。図11は、ディザマトリックスの一部を例示した説明図である。図示したマトリックスには、縦横それぞれ64画素、合計4096個の画素に、階調値0〜255の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が0〜255の範囲から選択されているのは、本実施例では画像データが1バイトデータであり、画素に割り当てられる階調値が0〜255の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図11に例示したように縦横64画素分に限られるものではなく、縦と横の画素数が異なる場合も含めて種々の大きさに設定することができる。
図12は、画素群内に形成する大ドット、中ドット、小ドットのドット個数を、ディザマトリックスを参照しながら決定する方法を示した説明図である。尚、図12では、ドットデータとして図9に示すデータData (L,M,S)を使用し、ディザマトリックスとしては、図11に示すマトリックスを使用する場合を想定している。
図12では一例として、図9(b)の左上隅にある画素群について、各種ドットの形成有無を判断する場合について説明している。図12中で、太い実線で囲った矩形は、ドット個数を決定しようとする画素群を表しており、画素群中の細い破線で区分された小さな矩形は、画素群を構成する画素を表している。また、画素の中に表された数値は、ディザマトリックスの対応する位置に設定されている閾値の値を表している。
ドット形成有無の判断を開始すると、先ず初めに、大ドットのドットデータと、ディザマトリックスに設定されている閾値とを比較して、ドットデータの方が大きい画素については大ドットを形成するものと判断する。図12(a)は、こうして、画素群内の各画素について大ドットの形成有無を判断している様子を示している。具体的には、大ドットのドットデータは「2」であるから、一番左上隅にある階調値「1」の画素についてだけ、ドットデータの方が大きく、他の画素については全てディザマトリックスの閾値の方が大きくなっている。そこで、この画素群では、大ドットは1つだけ形成される。図12(a)中で、ディザマトリックスの閾値が「1」の画素に細かい斜線が付されているのは、この画素に大ドットを形成すると判断されたことを表している。
大ドットについての形成有無を判断したら、今度は中ドットについての形成有無を判断する。中ドットについての判断に際しては、大ドットのドットデータに中ドットのドットデータを加算して、中ドット用の中間データを算出し、この中間データとディザマトリックスの閾値とを比較する。そして、中間データの方が閾値よりも大きな画素については、中ドットを形成するものと判断する。このとき、既に大ドットを形成することとした画素については、中ドットの形成有無の判断は行わない。図12(b)に即して具体的に説明すると、大ドットのドットデータは「2」であり、中ドットのドットデータは「90」であるから、中ドット用の中間データは「92」と算出される。この中間データとディザマトリックスの閾値とを比較する。但し、画素群中で一番左上隅にある画素については、既に大ドットを形成することとしているので、かかる比較は行わない。そして、ディザマトリックスの閾値が「42」の画素と「58」の画素については、中間データの方が大きくなるので、中ドットを形成すると判断する。図12(b)中で、これらの画素に斜線が付されているのは、中ドットを形成すると判断されたことを表している。
中ドットの形成有無を判断したら、最後に小ドットの形成有無を判断する。小ドットの判断に際しては、中ドット用の中間データに小ドットのドットデータを加算して、小ドット用の中間データを算出し、未だドットを形成すると判断されていない画素について、この中間データとディザマトリックスの閾値とを比較する。そして、中間データの方が大きい画素については、小ドットを形成するものと判断する。図12(c)を参照しながら具体的に説明すると、中ドット用の中間データは「92」であるから、小ドットのドットデータ「32」を加算することにより、小ドット用の中間データは「124」と算出される。この中間データと、ディザマトリックスの閾値とを比較する。そして、ディザマトリックスの閾値が「109」の画素については中間データの方が大きいので、この画素には小ドットを形成すると判断する。図12(c)中で、この画素に粗い斜線が付されているのは、小ドットを形成すると判断されたことを表したものである。図10のステップS204では、以上のようにして画素群内の各画素について、大ドット、中ドット、小ドットの形成有無を判断する。
尚、上述したように、ディザマトリックスに設定された閾値が小さい画素から順番にドットが形成されることからも明らかなように、ディザマトリックスに設定された閾値は、ドットの形成され易さを表していると考えることも可能である。
各種ドットの形成有無を判断したら、その画素群に形成すべき各ドットについてのドット個数の組合せを記憶する(ステップS206)。図12を用いて説明したように、図9(b)の左上の画素群については、画素群に形成すべき大ドット、中ドット、小ドットの個数が、それぞれ1個、2個、1個であるから、これらドット個数の組合せ(1,2,1)を記憶する。
こうして複数の画素を画素群にまとめて、画素群内に形成する各ドットの個数を示す組合せを記憶したら、画像データに含まれる全画素についての処理を終了したか否かを判断し(ステップS208)、未処理の画素が残っている場合は(ステップS208:no)、ステップS200に戻って新たな画素群を生成した後、続く一連の処理を繰り返す。こうして、全ての画素についての処理を終了したら(ステップS208:yes)、個数データ生成処理を終了して、図6の画像印刷処理に復帰する。
以上のような個数データ生成処理を行うことにより、図9に示した各種ドットについてのドットデータは、図13に示すような、画素群内に形成されるドット個数を示すデータに変換される。図13中でDot(L,M,S)=(1,2,1)という表示は、大ドット、中ドット、小ドットのドット個数がそれぞれ1個、2個、1個であることを表したものである。
尚、上述した個数データ生成処理では、複数の画素を画素群としてまとめた後、画素群内に形成される各種ドットの個数を決定したが、これに限らず、初めに各種ドットについてドット形成の有無を画素毎に決定した後に、画素群を生成することによって、画素群内に形成される各種ドットの個数を求めることとしてもよい。
図6に示した画像印刷処理では、個数データ生成処理から復帰すると、得られた個数データに対してエンコード処理を行う(ステップS110)。これは次のような処理である。前述したように、画素群内に形成されるドット個数のデータをプリンタに供給して画像を印刷すれば、画素毎にドット形成の有無を表すデータを供給する場合よりもデータを迅速に供給することが可能であり、この分だけ、画像を迅速に印刷することができる。しかし、プリンタで複数種類のドットを形成可能な場合に、ドットの形成個数を示すデータをドットの種類毎に供給したのでは、ドットの種類が増えるに従ってデータの供給に時間がかかってしまい、画像を迅速に印刷することが困難となってしまう。
そこで、画素群内に形成される各種ドットの個数をそのままプリンタ200に出力するのではなく、一旦、コードデータに変換してから出力することで、こうした問題の発生を回避している。すなわち、図6のステップS110に示したエンコード処理では、個数データ生成処理によって得られた個数データをコードデータに変換した後、プリンタ200に出力する処理を行う。尚、後述するように本実施例のエンコード処理では、画像データに応じて適切な変換表を参照しながら、ドット個数のデータをコードデータに変換しているので、コードデータのデータ量を小さくするとともに、迅速に変換することが可能となっている。エンコード処理の詳細については、別図を用いて後述する。
エンコード処理によってコンピュータ100から出力されたコードデータは、プリンタ200によって受け取られてデコード処理が施される(ステップS112)。すなわち、コードデータをデコードすることにより、画素群内に形成される各種ドットの個数を表すデータに復元するのである。かかる処理は、プリンタ200の制御回路260に搭載されたCPUの機能を用いて実行される。デコード処理の詳細についても別図を用いて後述する。
デコード処理を行うことによって、画素群内に形成される各種ドットについてのドット個数が得られたら、今度は、画素群内で各種ドットが形成される画素位置を決定する処理(画素位置決定処理)を開始する(ステップS114)。
図14は、画素位置決定処理の流れを示すフローチャートである。かかる処理も、プリンタ200の制御回路260に搭載されたCPUの機能を用いて実行される。以下、フローチャートに従って説明する。
画素位置決定処理を開始すると、先ず初めに、画素位置を決定しようとする画素群を選択する(ステップS300)。次いで、選択した画素群に形成される各種ドットのドット個数Dot(L,M,S)を取得する(ステップS302)。ここで、画素群に形成される各種ドットのドット個数Dot(L,M,S)とは、デコード処理によってコードデータから復元され、画素群毎に記憶されている大ドット、中ドット、小ドットの各種ドットについてのドット個数の組合せを示すデータである。
各ドットのドット個数を示すデータDot(L,M,S)を読み出したら、ディザマトリックスを参照することにより、各種ドットを形成する画素位置を決定する処理を開始する(ステップS304)。かかる処理について、図15を参照しながら説明する。
図15は、ある画素群について、各種ドットについての個数を示すデータDot(L,M,S)が与えられたときに、ディザマトリックスを参照しながら、これらドットを形成する画素位置を決定する様子を示した説明図である。図中に示した太い実線の矩形は画素群を表している。画素群を区分する細い破線は、画素群が複数の画素から構成されていることを表している。また、画素中に示された数値は、ディザマトリックスの対応する位置に設定されている閾値を示している。尚、ディザマトリックスは、ドット個数を求めるために用いたマトリックスと同じマトリックスを使用するものとする。
今、この画素群に形成するドット個数を示すデータが、Dot(1,2,1)であるものとする。このデータは、大ドットの個数が1個、中ドットが2個、小ドットが1個であることを表している。画素位置は、初めに大ドットについて決定し、以降は、中ドット、小ドットの順番で決定していく。前述したように、ディザマトリックスの閾値は、ドットの形成され易さを表していると考えることができるから、大ドットを1個だけ形成するとすれば、最も小さな閾値の設定された画素に形成されることになる。大ドットの画素位置を決定したら、続いて中ドットを形成する画素位置を決定する。中ドットは2個形成することになっており、また、最も小さな閾値の画素には既に大ドットが形成されているから、閾値が2番目に小さな画素と3番目に小さな画素の2つの画素に中ドットを形成すればよい。中ドットに続いて小ドットの画素位置を決定する。小ドットは1個だけ形成することになっており、また、閾値の最も小さな画素から3番目に小さな画素までは、既に大ドットあるいは中ドットが形成されているから、4番目に閾値の小さな画素に小ドットを形成すると判断することができる。
図15は、こうして大ドット、中ドット、小ドットの順番で、ドットを形成する画素を決定している様子を表しており、図中で、細かい斜線が付された画素は大ドットを形成すると判断された画素を、中間の斜線が付された画素は中ドットを形成すると判断された画素を、粗い斜線が付された画素は小ドットを形成すると判断された画素を、それぞれ表している。図14のステップS304では、このようにして、ディザマトリックスを参照しながら、各種ドットを形成する画素位置を決定する。
以上のようにして、1つの画素群について、各種ドットを形成する画素位置を決定したら、全ての画素群について、画素位置を決定する処理を終了したか否かを判断する(図14のステップS306)。未処理の画素群が残っている場合は(ステップS306:no)、ステップS300に戻って、新たな画素群について続く一連の処理を繰り返す。こうして全ての画素群について画素位置を決定したと判断されたら(ステップS306:yes)、図14に示す画素位置決定処理を終了する。
以上に説明した画素位置決定処理を行うことにより、画素群内に形成される各種ドットについてのドット個数の組合せを示すデータが、各種ドットを形成すべき画素位置を示すデータに変換される。図16は、こうして各種ドットを形成すべき画素位置が、画素群毎に決定された様子を概念的に示した説明図である。図中で細かい斜線が付された画素は大ドットが形成されることを示し、中間の斜線が付された画素は中ドットが形成されることを、粗い斜線が付された画素は小ドットが形成されることを示したものである。
こうして各種ドットを形成すべき画素位置を決定したら、図6の画像印刷処理に復帰して、決定した画素位置に各種ドットを形成する処理を行う(ステップS116)。その結果、印刷媒体上には、画像データに対応した画像が印刷されることになる。
以上に説明した本実施例の画像印刷処理では、画素群内に形成される各種ドットの個数を決定した後、ドット個数の組合せをコードデータに変換してからプリンタに供給しているので、画素数の多い画像であっても迅速に表示することが可能である。加えて、本実施例のエンコード処理では、ドット個数の組合せをコードデータに変換する際に、画像データに応じて適切な対応表を参照しながら変換している。このため、プリンタに供給するデータ量をより一層低減することが可能になるとともに、変換処理そのものを高速化することができ、延いては画像の表示を更に迅速化することが可能となっている。以下では、こうしたエンコード処理と、かかる処理に対応するデコード処理とについて説明する。
D.エンコード処理およびデコード処理:
図17は、本実施例の画像印刷処理中で行われるエンコード処理の流れを示すフローチャートである。かかる処理は、CPU102の機能を用いてコンピュータ100側で実施される処理である。
エンコード処理を開始すると、先ず初めに画像データに応じて適切な対応表を選択する処理を行う(ステップS400)。対応表には、大中小の各ドットについてのドット個数の組合せと、コード番号との対応関係が記述されており、コンピュータ100のRAM106に予め記憶されている。
図18は、RAM106に記憶されている対応表を例示した説明図である。図示されているように、本実施例では3種類の対応表が記憶されている。この内の「対応表1」は、C色およびM色の各種ドットについてのドット個数の組合せを、コードデータに変換するための対応表である。また、「対応表2」はY色についての各種ドットの個数を変換するための対応表であり、そして「対応表3」はK色についての各種ドットの個数を変換するための対応表である。本実施例のエンコード処理では、このように画像データが、何色のドットについてのデータであるかに応じて適切な対応表を参照しながら、ドット個数の組合せを示すデータをコードデータに変換している。こうすることにより、コードデータへの変換を迅速化するとともに、プリンタ200に供給すべきコードデータのデータ量を少なくすることが可能となり、延いては、画像をより一層迅速に表示することが可能となっている。以下、この理由について説明する。
図18に示した「対応表1」には、大中小の各ドットについての個数の組合せ毎に、0〜127までのコード番号が設定されている。例えば、大ドットおよび中ドットの個数がいずれも0個で、小ドットの個数が3個であるようなドット個数の組合せに対しては、コード番号0が設定されている。従って、画素群に形成される大中小ドットの個数がこのような組合せである場合には、プリンタに対してはコード番号0が供給されることになる。こうすれば、大中小ドットの各々についてドット個数を供給するよりも、供給すべきデータ量を大幅に減少させることができる。
ここで、前述したように画素群は8つの画素で構成されており、それぞれの画素は、「大ドットを形成する」、「中ドットを形成する」、「小ドットを形成する」、「いずれのドットも形成しない」の4つの状態を取り得る。従って、画素群内に形成されるドット個数の組合せの数は、これら4つの状態を、重複を許して8回選択した時の組合せの数に等しくなるから、
(= 4+8−1
によって求められ、結局、165通りの組合せが存在している。ここで は、n個の物の中から重複を許してr回選択するときの重複組合せ数を求める演算子である。また、 は、n個の物の中から(重複を許さず)r回選択するときの組合せ数を求める演算子である。
これに対して「対応表1」には、0〜127の128通りの組合せしか記憶されていない。これは、次のような理由によるものである。165通りの組合せの中には、例えば大ドット4個・中ドット0個・小ドット4個のように、実際には使用されない組合せも存在している。すなわち、図7(a)の変換テーブルに示したように、大中小ドットのドットデータは、小ドットおよび中ドットについての階調値が大きな値となり、大ドットの階調値がほぼ0となることはあっても、小ドットおよび大ドットの階調値が大きく、中ドットの階調値がほぼ0となることはない。図12を用いて前述したように、大中小の各ドットの形成個数はそれぞれのドットデータに基づいて決定されるから、大中小ドットのドットデータがこのような値を取らない以上、大ドット4個・中ドット0個・小ドット4個のようなドット個数の組合せになることはない。このように、165通りの組合せの中には、実際には使用されない組合せも多く存在しており、「対応表1」では実際に使用される組合せに絞って、128通りの組合せにコード番号を割り当てているのである。
これに対して、Yドットについてのドット個数の組合せを変換するための「対応表2」、あるいはKドットについてのドット個数の組合せを変換するための「対応表3」では、設定されているコード番号は、「対応表1」よりも少なくなっている。これは、図7(b)に示すように、YドットおよびKドットについては、小ドットのドットデータおよび中ドットのドットデータはあまり大きな階調値を取らず、これに対応して画素群内に形成される小ドット・中ドットのドット個数も大きな値とならない分だけ、実際に使用されるドット個数の組合せの少なくなっているためである。また、YドットとKドットについては、色変換処理によって得られる画像データが、YのデータとKのデータとでは異なっているので、これに応じて各種ドットの発生状況も微妙に異なっており、実際に使用されるドット個数の組合せも違っている。このため、「対応表2」と「対応表3」とでも、設定されているコード番号の数が異なっているのである。
また、図18に示したそれぞれの対応表では、ドット個数の組合せの中で、使用される頻度の高い組合せほど若いコード番号が割り当てられている。そして、「対応表1」、「対応表2」、「対応表3」では、使用されるドット個数の組合せが異なっているのと同じ理由から各組合せの使用頻度も異なっており、従って、対応表毎に異なる順序でコード番号に対応付けられている。
コンピュータ100に内蔵されたRAM106には、このように複数の対応表が記憶されている。本実施例のエンコード処理では、CドットあるいはMドットについてのドット個数をエンコードする場合は、図18に示した「対応表1」を選択し、Yドットのドット個数をエンコードする場合は「対応表2」を、Kドットのドット個数をエンコードする場合は「対応表3」を参照する。このように、図17のステップS400では、変換しようとする画像データが、C,M,Y,Kのいずれのドット個数を表すデータであるかに応じて、適切な対応表を選択するのである。
尚、以上の説明では、Cドットの個数を変換する場合もMドットの個数を変換する場合も、同じ対応表を選択するものとした。しかし、それぞれに専用の対応表を選択することとしても構わないことはもちろんである。
こうして画像データに応じて対応表を選択したら、ドット個数の組合せをコードデータに変換する処理を行う画素群を1つ選択する(ステップS402)。そして、選択した画素群について記憶されているドット個数の組合せDot(L,M,S)を読み込む処理を行う(ステップS404)。ドット個数の組合せDot(L,M,S)は、前述した個数データ生成処理中で画素群毎に求められて、RAM106に記憶されている。
次いで、選択した対応表を参照することにより、読み込んだ組合せに対応付けられたコード番号を取得し(ステップS406)、この値をコードデータとして画素群毎にRAM106に記憶する(ステップS408)。
以上のようにして1つの画素群についての処理を終了したら、全ての画素群についての処理を終了したか否かを判断する(ステップS410)。そして、未処理の画素群が残っている場合は(ステップS410:no)、ステップS402に戻って新たな画素群を選択し、続く一連の処理を行う。こうした処理を全ての画素群についての処理を完了するまで繰り返し、全ての画素群についての処理を終了したら(ステップS410:yes)、RAM106に画素群毎に記憶されているコードデータを読み出して、プリンタ200に向かって出力する(ステップS412)。以上のようにして、各画素群のコードデータを出力し終えたら、図17に示すエンコード処理を終了して、図6に示した画像印刷処理に復帰する。
以上に説明したように、本実施例のエンコード処理では、画像データに応じて適切な対応表を参照しながらエンコード処理を行っている。このため、以下に説明する理由から、コードデータのデータ量を更に低減することが可能であるとともに、コードデータへ変換する処理もより迅速に行うことが可能となっている。
前述したように、ここでは画素群は8つの画素から構成されているものとしているから、大中小各ドットの組合せは165通り存在している。これら全ての組合せの1つ1つにコード番号を割り当てようとすると、コード番号は0〜164の値を取るから8ビットのデータ長とする必要がある。これに対して128通りの組合せに絞ることができれば、コード番号は0〜127の値とすればよいので7ビットのデータ長で足りる。すなわち、1画素群当たりのデータ長を1ビットだけ少なくすることができる。1つの画像を構成する画素数が多くなると画素群の数も多くなるので、画素群当たりのデータ長が1ビット少なくなるだけでも、プリンタに供給すべきコードデータのデータ量を大幅に減少させることが可能である。
更に、図18に示した「対応表2」のようにドット個数の組合せを64通りに絞ることができれば、コード番号を6ビットのデータ長で表現することができる。すなわち、画素群当たりのデータ長を2ビット少なくすることができ、プリンタに供給すべきコードデータのデータ量をより一層減少させることが可能である。
これに対して、C,M,Y,Kのいずれの画像データについても、同じ対応表を参照してコード化するものとすると、ドット個数の組合せを128通りに絞ることすら困難となる。何故ならば、C,Mドットについては使用されておらず、従って「対応表1」ではコード番号が割り当てられていないにもかかわらず、YドットあるいはKドットでは使用されているためにコード番号を割り当てなければならないような、そのようなドット個数の組合せが存在しているためである。結局、同じ対応表を参照してコードデータに変換する場合は、コード番号を8ビットで表現しなければならず、その分だけデータ量が増加してしまうのである。
また、本実施例のエンコード処理のように、画像データに応じて適切な対応表を参照しながら変換してやれば、変換する処理そのものの迅速化を図ることも可能である。これは、ドット個数の組合せとコード番号との対応関係を、対応表毎に最適化することができるためである。すなわち、前述したように図18に示した対応表では、各種ドットの個数の組合せの中で、使用される頻度の高い組合せほど若いコード番号が割り当てられている。こうすれば、対応表を参照しながらドット個数の組合せをコードデータに変換する際に、ほとんどの場合は対応表の一部を検索するだけで対応するコード番号を得ることができる。このため、ドット個数の組合せを迅速にコードデータに変換することが可能となるのである。従って、図18に示す「対応表1」および「対応表3」はいずれも64通り以上の組合せが記憶されており、コード番号はどちらも7ビットデータとしなければならない。それにも関わらず、それぞれの対応表でドット個数の組合せとコード番号との対応関係を最適化しておけば、エンコード処理を迅速化して、画像をより迅速に表示することが可能である。
次に、上述したエンコード処理に対応して、プリンタ200側で行われる本実施例のデコード処理について説明する。図19は、本実施例のデコード処理の流れを示したフローチャートである。
デコード処理を開始すると先ず初めに、コンピュータ100側から画素群毎に出力されたコードデータを読み込む処理を行う(ステップS500)。次いで、これらコードデータをデコードするための対応表を取得する(ステップS502)。ここでは、コンピュータ100のRAM106に記憶されているものと同じ対応表を、プリンタ200の制御回路260内に予め記憶しておき、読み込んだコードデータに応じて適切な対応表を読み出すことによって取得する。適切な対応表を選択するための情報は、コードデータとともに、あるいはコードデータとは別にコンピュータ100から取得すればよい。もちろん、エンコード処理に用いた対応表を、コンピュータ100から受け取ることとしても良い。こうして取得する対応表は、エンコード処理に用いた対応表と実質的に一致、すなわちドット個数の組合せとコード番号との対応関係が一致していればよく、対応表の表現形式は異なっていても構わない。
次いで、画素群を1つ選択し(ステップS504)、選択した画素群のコードデータを取得する(ステップS506)。そして、先に選択しておいた対応表を参照することにより、コードデータを、大中小の各ドットについてのドット個数の組合せDot(L,M,S)に復号化して(ステップS508)、得られた個数の組合せを画素群毎に記憶する(ステップS510)。
こうして1つの画素群についてコードデータを復号し、得られたドット個数の組合せを記憶したら、全ての画素群についての処理を終了したか否かを判断する(ステップS512)。そして、未処理の画素群が残っている場合は(ステップS512:no)、ステップS504に戻って新たな画素群を選択し、続く一連の処理を行う。こうした処理を全ての画素群についての処理を完了するまで繰り返し、全ての画素群についての処理を終了したら(ステップS512:yes)、図19に示すデコード処理を終了して、図6に示した画像印刷処理に復帰する。
図18を用いて前述したように、対応表は画像データの種類に応じて最適化されており、使用頻度の高いドット個数の組合せほど若いコード番号が割り当てられている。従ってデコード処理中で、コードデータをドット個数の組合せに復号する場合でも、適切な対応表を参照しながら復号すれば、ほとんどの場合は対応表の一部を参照するだけで復号することができるので、デコード処理を迅速に行うことが可能である。すなわち、本実施例の画像印刷処理では、画像データの種類に応じて適切な対応表を参照することで、図17に示したエンコード処理だけでなく、図19に示すデコード処理も迅速化することができるのである。このように、本実施例によれば、コードデータのデータ量をより一層低減することに加えて、エンコード処理およびデコード処理をともに迅速化することができるので、画像をより一層速やかに表示させることが可能となるのである。
E.変形例:
以上に説明した本実施例の画像印刷処理には、いくつかの変形例が存在している。以下では、これら変形例について簡単に説明する。
(1)第1の変形例:
上述した実施例の対応表には、図18に例示されているように、コード番号でソートされた状態で、ドット個数の組合せとコード番号との対応関係が記憶されているものとして説明した。しかし、コンピュータ100側に記憶しておく対応表は、ドット個数の組合せとコード番号との対応関係を、コード番号ではなくドット個数でソートした状態で記憶しておくこととしても良い。図20は、このように、ドット個数でソートされた対応表を概念的に示した説明図である。エンコード処理では、各種ドットについてのドット個数の組合せからコード番号を検索することになるので、ドット個数でソートした状態で記憶しておくことによっても、コード番号を迅速に求めることができる。
これに対して、デコード処理においては、コード番号からドット個数の組合せを検索することになるので、コード番号でソートした状態で記憶しておけば、迅速にデコード処理を行うことが可能となる。
(2)第2の変形例:
また、上述した実施例では、画像データがC,M,Y,Kいずれのデータであるかによって、適切な対応表を使い分けながらエンコード処理およびデコード処理を行った。しかし、画像データの種類は、何色のデータであるかに限られるものではなく、例えば、画像データが写真画像のデータか、テキスト画像のデータであるかによって、適切な対応表を使い分けることとしても良い。ここで、写真画像とは、風景や人物を撮影した写真の画像あるいは絵画の画像のように、広い階調範囲に亘って連続した階調を用いて表現された各種の画像をいう。また、テキスト画像とは、文字や図形・グラフあるいはいわゆる漫画等のように、比較的少ない幾つかの階調を多用して表現された各種の画像を言う。
写真画像とテキスト画像とでは、ドットの発生の状況も異なってくるので、それぞれの画像に応じて対応表を使い分けてやれば、上述した実施例と同様の理由から、コンピュータ100からプリンタ200に供給するコードデータのデータ量を低減することができるとともに、コードデータへ変換する処理、更にはコードデータから復号する処理を迅速化することができ、その分だけ画像を速やかに表示することが可能となる。
こうした第2の変形例においては、画像の表示に先立って、画像データが写真画像であるかテキスト画像であるかを指定しても良いし、あるいはコンピュータ100で画像データを解析することで、画像データがいずれのデータであるかを判断することとしても良い。かかる判断は、画像データの階調値の頻度分布を解析することによって行うことができる。あるいは、簡便には画像データの識別子またはヘッダーの情報に基づいて、写真画像であるかテキスト画像であるかを判断することも可能である。
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。例えば、上述の機能を実現するソフトウェアプログラム(アプリケーションプログラム)を、通信回線を介してコンピュータシステムのメインメモリまたは外部記憶装置に供給し実行するものであってもよい。もちろん、CD−ROMやフレキシブルディスクに記憶されたソフトウェアプログラムを読み込んで実行するものであっても構わない。
また、以上の実施例では、印刷用紙上にドットを形成して画像を印刷するプリンタに本発明を適用した場合について説明したが、本発明の適用範囲はプリンタに限られるものではなく、例えば、液晶表示画面上で輝点を適切な密度で分散させることにより、階調が連続的に変化する画像を表現する液晶表示装置などにも、本発明を好適に適用することが可能である。
実施例としての印刷システムの概要を示した説明図である。 本実施例の画像処理装置としてのコンピュータの構成を示す説明図である。 本実施例のプリンタの概略構成を示す説明図である。 各色のインク吐出用ヘッドの底面にインク滴を吐出する複数のノズルが形成されている様子を示した説明図である。 本実施例のプリンタが大きさの異なるインクドットを形成する原理を示した説明図である。 本実施例のコンピュータおよびプリンタが画像データに所定の画像処理を加えて印刷用紙上に画像を印刷する処理の流れを示すフローチャートである。 色変換後の画像データを各色毎のドットデータに変換するために参照される変換テーブルを概念的に示した説明図である。 変換テーブルを参照することにより色変換後の画像データを大中小の各種ドットのドットデータに変換した様子を概念的に示した説明図である。 本実施例において行われる解像度変換の様子を示す説明図である。 個数データ生成処理の流れを示したフローチャートである。 ディザマトリックスの一部を例示した説明図である。 画素群内に形成する大ドット中ドット小ドットのドット個数をディザマトリックスを参照しながら決定する方法を示した説明図である。 各種ドットについてのドットデータに個数データ生成処理が施されて、画素群内に形成されるドット個数を示すデータに変換された様子を概念的に示した説明図である。 画素位置決定処理の流れを示すフローチャートである。 ある画素群について各種ドットのドット個数が与えられたときにディザマトリックスを参照しながらこれらドットを形成する画素位置を決定する様子を示した説明図である。 各種ドットを形成すべき画素位置が画素群毎に決定された様子を概念的に示した説明図である。 本実施例の画像印刷処理中で行われるエンコード処理の流れを示すフローチャートである。 画像データに応じて記憶されている対応表を例示した説明図である。 本実施例のデコード処理の流れを示したフローチャートである。 ドット個数でソートされた状態で記憶されている対応表を概念的に示した説明図である。
符号の説明
10…コンピュータ
12…ドット個数決定モジュール
14…ドット個数変換モジュール
16…コードデータ出力モジュール
20…プリンタ
100…コンピュータ
108…周辺機器インターフェースPIF
109…ディスクコントローラDDC
110…ネットワークインターフェースカードNIC
112…ビデオインターフェースVIF
116…バス
118…ハードディスク
120…デジタルカメラ
122…カラースキャナ
124…フレキシブルディスク
126…コンパクトディスク
200…プリンタ
240…キャリッジ
241…印字ヘッド
230…キャリッジモータ
236…プラテン
235…モータ
260…制御回路
242…インクカートリッジ
243…インクカートリッジ
242,243…インクカートリッジ
244…インク吐出用ヘッド
255…インク通路
256…インク室
257…インクギャラリ
300…通信回線
310…記憶装置

Claims (12)

  1. 画像データに所定の画像処理を施す画像処理装置と、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて表示媒体上に形成することにより画像を表示する画像表示装置と、を備える画像表示システムであって、
    前記画像処理装置は、
    前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定するドット個数決定手段と、
    前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに、該画素群毎に変換するドット個数変換手段と、
    前記画素群毎に得られた前記コードデータを前記画像表示装置に出力するコードデータ出力手段と
    を備え、
    前記画像表示装置は、
    前記コードデータを受け取って、前記画素群内に形成される各種ドットについてのドット個数に復号するコードデータ復号手段と、
    前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する画素位置決定手段と、
    前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成するドット形成手段と
    を備え、
    前記ドット個数変換手段は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する手段であり、
    前記コードデータ復号手段は、前記受け取ったコードデータを、前記選択された1の対応表に基づいて前記ドット個数に復号する手段である画像表示システム。
  2. 請求項1記載の画像表示システムであって、
    前記画像表示装置は、所定の複数色について前記各種ドットを形成することにより、前記画像を表示する装置であり、
    前記画像処理装置は、前記所定の色毎の画像データに前記画像処理を施して、前記画像表示装置に前記コードデータを出力する手段であり、
    前記ドット個数変換手段は、前記所定の色毎に選択された前記対応表を参照しながら、前記ドット個数を前記コードデータに変換する手段である画像表示システム。
  3. 請求項1に記載の画像表示システムであって、
    前記ドット個数変換手段は、前記画像データが写真画像のデータか否かに応じて選択された前記対応表を参照しながら、前記ドット個数を前記コードデータに変換する手段である画像表示システム。
  4. 請求項3に記載の画像表示システムであって、
    前記画像処理装置は、前記画像データが前記写真画像のデータか否かを、該画像データを解析することによって識別する画像データ識別手段を備え、
    前記ドット個数変換手段は、前記識別結果に基づいて選択された前記対応表を参照しながら、前記ドット個数を前記コードデータに変換する手段である画像表示システム。
  5. 表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する画像処理装置であって、
    前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定するドット個数決定手段と、
    前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに変換するドット個数変換手段と、
    前記画素群毎に得られた前記コードデータを、前記制御データとして前記画像表示装置に出力する制御データを出力手段と
    を備え、
    前記ドット個数変換手段は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する手段である画像処理装置。
  6. 所定の画像処理が施された画像データを受け取って、表現する階調値の異なる複数種類のドットを該画像データに基づいて形成することにより、表示媒体上に画像を表示する画像表示装置であって、
    前記画像を構成する複数の画素を所定の複数個ずつまとめた画素群の各々について、該画素群内に形成すべき各種ドットの個数を、該各種ドットの個数の組合せを表すコードデータの状態で、前記画像データとして受け取る画像データ受取手段と、
    前記コードデータの状態で受け取った画像データを復号して、該画素群内に形成すべき各種ドットの個数に変換する画像データ復号手段と、
    前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する画素位置決定手段と、
    前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成するドット形成手段と
    を備え、
    前記画像データ復号手段は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該コードデータを該ドット個数に変換する手段である画像表示装置。
  7. 画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて表示媒体上に形成することにより画像を表示する画像表示方法であって、
    前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の工程と、
    前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに、該画素群毎に変換する第2の工程と、
    前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の工程と、
    前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の工程と、
    前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する第5の工程と
    を備え、
    前記第2の工程は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する工程であり、
    前記第3の工程は、前記受け取ったコードデータを、前記選択された1の対応表に基づいて前記ドット個数に復号する工程である画像表示方法。
  8. 表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する画像処理方法であって、
    前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する工程(A)と、
    前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに変換する工程(B)と、
    前記画素群毎に得られた前記コードデータを前記制御データとして出力する工程(C)と
    を備え、
    前記工程(B)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する工程である画像処理方法。
  9. 所定の画像処理が施された画像データを受け取って、表現する階調値の異なる複数種類のドットを該画像データに基づいて形成することにより、表示媒体上に画像を表示する画像表示方法であって、
    前記画像を構成する複数の画素を所定の複数個ずつまとめた画素群の各々について、該画素群内に形成すべき各種ドットの個数を、該各種ドットの個数の組合せを表すコードデータの状態で、前記画像データとして受け取る工程(イ)と、
    前記コードデータの状態で受け取った画像データを復号して、該画素群内に形成すべき各種ドットの個数に変換する工程(ロ)と、
    前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する工程(ハ)と、
    前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する工程(ニ)と
    を備え、
    前記工程(ロ)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該コードデータを該ドット個数に変換する工程である画像表示方法。
  10. 画像データに所定の画像処理を施した後、表現する階調値の異なる複数種類のドットを該画像処理の結果に基づいて表示媒体上に形成することにより画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
    前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する第1の機能と、
    前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに、該画素群毎に変換する第2の機能と、
    前記コードデータを、前記画素群内に形成される各種ドットについてのドット個数に復号する第3の機能と、
    前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する第4の機能と、
    前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する第5の機能と
    をコンピュータを用いて実現するとともに、
    前記第2の機能は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する機能であり、
    前記第3の機能は、前記受け取ったコードデータを前記選択された1の対応表に基づいて前記ドット個数に復号する機能であるプログラム。
  11. 表現する階調値の異なる各種ドットを形成しながら画像を表示する画像表示装置に供給されて、該表示装置内で該各種ドットの形成を制御するために用いられる制御データを、該画像を表す画像データに所定の画像処理を加えることによって生成する方法を、コンピュータを用いて実現するためのプログラムであって、
    前記画像を構成する複数の画素が所定の複数個ずつまとめられた画素群について、該画素群内に形成されるドットの個数を前記画像データに基づいて前記ドットの種類毎に決定する機能(A)と、
    前記各種ドットについて決定された前記画素群内に形成されるドット個数の組合せを、該組合せ毎に予め対応付けられた所定のコードデータに変換する機能(B)と、
    前記画素群毎に得られた前記コードデータを前記制御データとして出力する機能(C)と
    をコンピュータを用いて実現するとともに、
    前記機能(B)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該ドット個数を該コードデータに変換する機能であるプログラム。
  12. 所定の画像処理が施された画像データを受け取って、表現する階調値の異なる複数種類のドットを該画像データに基づいて形成することにより、表示媒体上に画像を表示する方法を、コンピュータを用いて実現するためのプログラムであって、
    前記画像を構成する複数の画素を所定の複数個ずつまとめた画素群の各々について、該画素群内に形成すべき各種ドットの個数を、該各種ドットの個数の組合せを表すコードデータの状態で、前記画像データとして受け取る機能(イ)と、
    前記コードデータの状態で受け取った画像データを復号して、該画素群内に形成すべき各種ドットの個数に変換する機能(ロ)と、
    前記画素群内でドットが形成される画素位置を、前記復号して得られた各種ドットの個数に基づいてドットの種類毎に決定する機能(ハ)と、
    前記決定した画素位置に従って、前記表示媒体上に各種ドットを形成する機能(ニ)と
    をコンピュータを用いて実現するとともに、
    前記機能(ロ)は、前記ドット個数の組合せと前記コードデータとの対応関係を記述した対応表を複数記憶しているとともに、該複数の対応表の中から前記画像データの種類に応じて選択された1の対応表を参照しながら、該コードデータを該ドット個数に変換する機能であるプログラム。
JP2003350939A 2003-10-09 2003-10-09 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム Withdrawn JP2005111883A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003350939A JP2005111883A (ja) 2003-10-09 2003-10-09 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003350939A JP2005111883A (ja) 2003-10-09 2003-10-09 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム

Publications (1)

Publication Number Publication Date
JP2005111883A true JP2005111883A (ja) 2005-04-28

Family

ID=34542352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003350939A Withdrawn JP2005111883A (ja) 2003-10-09 2003-10-09 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム

Country Status (1)

Country Link
JP (1) JP2005111883A (ja)

Similar Documents

Publication Publication Date Title
KR100477329B1 (ko) 화상처리장치, 인쇄제어장치, 화상처리방법 및 기록매체
JP3601491B2 (ja) 画像処理装置、画像処理方法、記録媒体、およびプログラム
US20080158281A1 (en) Image forming apparatus and control method thereof
JP2005238835A (ja) 画像形成方法、プログラム及び画像形成システム
JP6252003B2 (ja) 印刷装置、印刷方法、画像処理装置およびプログラム
JP3666427B2 (ja) 画像処理装置、印刷制御装置、画像処理方法、および記録媒体
JP4225319B2 (ja) 画像出力制御システム、画像処理装置およびその方法
JP2001171182A (ja) 印刷制御装置、印刷装置、印刷方法、データ変換方法、および記録媒体
JP2005236768A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP4274030B2 (ja) 画像出力システム、画像処理装置、画像出力装置およびそれらの方法
JP4691880B2 (ja) 同時にドットが形成される複数本の画素列のデータを解像度変換しながら画像を出力する画像出力装置
JP4561049B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を印刷する印刷システム
JP4059121B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP2008162096A (ja) 画像形成装置およびその制御方法
JP2005111883A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP2005014488A (ja) 改善インクの吐出制御
US20040156077A1 (en) Image processing technique for tone number conversion of image data
JP4456823B2 (ja) ドット形成有無の判断結果をグループ分けして記憶しながら画像を印刷する印刷装置、およびそのための印刷制御装置
JP4300742B2 (ja) 画像データの階調数を変換する画像処理装置
JP2001353888A (ja) 印刷制御装置、画像処理装置
JP3882502B2 (ja) 画像処理装置、印刷制御装置、画像処理方法、および記録媒体
JP2002171392A (ja) 画像処理装置、印刷制御装置、画像処理方法、および記録媒体
JP2005138421A (ja) 圧縮した画像データに画像処理を行って画像を出力する画像出力装置
JP2006191268A (ja) 複数画素ずつ画像処理を行いながら画像を出力する画像出力装置
JP2008114570A (ja) 画像出力装置、画像出力方法、およびプログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070109