JP4339543B2 - ベイヤー・イメージをアップ補間するための方法および装置 - Google Patents
ベイヤー・イメージをアップ補間するための方法および装置 Download PDFInfo
- Publication number
- JP4339543B2 JP4339543B2 JP2001524054A JP2001524054A JP4339543B2 JP 4339543 B2 JP4339543 B2 JP 4339543B2 JP 2001524054 A JP2001524054 A JP 2001524054A JP 2001524054 A JP2001524054 A JP 2001524054A JP 4339543 B2 JP4339543 B2 JP 4339543B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- buffer
- pixel
- bit
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/606—Rotation of whole images or parts thereof by memory addressing or mapping
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G15/00—Apparatus for electrographic processes using a charge pattern
- G03G15/01—Apparatus for electrographic processes using a charge pattern for producing multicoloured copies
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04528—Control methods or devices therefor, e.g. driver circuits, control circuits aiming at warming up the head
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04543—Block driving
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04563—Control methods or devices therefor, e.g. driver circuits, control circuits detecting head temperature; Ink temperature
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04586—Control methods or devices therefor, e.g. driver circuits, control circuits controlling heads of a type not covered by groups B41J2/04575 - B41J2/04585, or of an undefined type
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04591—Width of the driving signal being adjusted
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J29/00—Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
- B41J29/38—Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
- B41J29/393—Devices for controlling or analysing the entire machine ; Controlling or analysing mechanical parameters involving printing of test patterns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4015—Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
- H04N1/3877—Image rotation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/409—Edge or detail enhancement; Noise or error suppression
- H04N1/4092—Edge or detail enhancement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/48—Picture signal generators
- H04N1/486—Picture signal generators with separate detectors, each detector being used for one specific colour component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6016—Conversion to subtractive colour signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/84—Camera processing pipelines; Components thereof for processing colour signals
- H04N23/843—Demosaicing, e.g. interpolating colour pixel values
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/10—Circuitry of solid-state image sensors [SSIS]; Control thereof for transforming different wavelengths into image signals
- H04N25/11—Arrangement of colour filter arrays [CFA]; Filter mosaics
- H04N25/13—Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements
- H04N25/134—Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements based on three different wavelength filter elements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Facsimile Image Signal Circuits (AREA)
- Ink Jet (AREA)
- Image Processing (AREA)
- Color Image Communication Systems (AREA)
- Editing Of Facsimile Originals (AREA)
- Color Television Image Signal Generators (AREA)
- Color, Gradation (AREA)
- Coloring (AREA)
- Printing Methods (AREA)
- Television Signal Processing For Recording (AREA)
- Record Information Processing For Printing (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
Description
(技術分野)
本発明は、ベイヤー(Bayer)・イメージをアップ補間するための方法および装置に関する。
【0002】
本発明は、基本的に、カメラによって取り込まれたイメージのペーパー・プリントを提供するインテグラル・プリンタを含むディジタル・カメラのために開発されており、以下においては、その応用を参照して説明を行う。しかしながら、本発明がその種の特定の使用分野に限定されないことを認識されるであろう。
【0003】
(同時係属出願)
1999年9月16日付けのオーストラリア仮特許出願第PQ2890号からの優先権を主張する同時係属出願に対する参照を含む。これらの同時係属出願は、コンパクト・プリンタ・システムをインプリメントするための関連モジュールおよび方法を記述している。本件出願と同時に出願された同時係属出願は、次の表のとおりである。
【0004】
【表1】
【0005】
(発明の開示)
本発明の第1の側面によれば、入力空間から出力空間への、レッド、グリーン、およびブルーのピクセルのベイヤー・イメージを補間するための方法が提供され、この方法は:
ベイヤー・イメージを受け取るステップ;および、
式:
x’=(x/mps)+k1
y’=(y/mps)+k2
に従って各カラーを出力空間にマッピングするステップ;を含み、
それにおいて:
x,yは、出力空間における座標であり、
x’,y’は、入力空間における座標であり、
mpsは、入力空間の1サンプル当たりの出力空間におけるピクセル数であり、かつ、
k1,2は、カラーおよびイメージの希望する相対的な回転の姿勢に応じて0もしくは−0.5のいずれかになる。
【0006】
好ましくは、入力空間のグリーン・ピクセルに関して、入力空間の各縦座標(ordinate)が1/21/2倍される。より好ましくは、入力空間のグリーン・ピクセルに関して、入力空間の各座標が1/21/2倍される。
【0007】
本発明の第2の側面によれば、入力空間から出力空間への、レッド、グリーン、およびブルーのピクセルのベイヤー・イメージを補間するための装置が提供され、その方法は:
ベイヤー・イメージを受け取るステップ;および、
式:
x’=(x/mps)+k1
y’=(y/mps)+k2
に従って各カラーを出力空間にマッピングするステップ;を含み、
それにおいて:
x,yは、出力空間における座標であり、
x’,y’は、入力空間における座標であり、
mpsは、入力空間の1サンプル当たりの出力空間におけるピクセル数であり、かつ、
k1,2は、カラーおよびイメージの希望する相対的な回転の姿勢に応じて0もしくは−0.5となる。
【0008】
好ましくは、入力空間のグリーン・ピクセルに関して、入力空間の各縦座標(ordinate)が1/21/2倍される。より好ましくは、入力空間のグリーン・ピクセルについて、入力空間の各座標が1/21/2倍される。
【0009】
以下、本発明の好ましい実施態様について、添付図面を参照し、例を示す形で説明する。
【0010】
(発明を実施するための最良の形態)
(1 PCPの概要)
(1.1 ハイ・レベル機能の概要)
Printcam Central Processor(PCP;プリントカム・セントラル・プロセッサ)は、Printcam(プリントカム)に関するすべてのプロセッシング・パワーを有し、Printcam(プリントカム)ディジタル・スチル・カメラ・システムにおいて使用されるように特別にデザインされている。PCP 3は、イメージ・センサ1(イメージ取り込み用)およびイメージのプリントアウト用のMemjet(メムジェット)プリンタ2に接続されている。イメージ処理という意味において、PCPは、図1に示されるように、イメージの取り込みからプリントアウトへのイメージのトランスレータとして考えることができる。図1において:
● 「イメージ・センサ1」はCMOSイメージ・センサであり、1500×1000のRGBイメージを取り込む。このイメージ・センサがイメージ「入力」デバイスである。
● 「プリントヘッド2」は、長さ4インチ、1600dpiのMemjet(メムジェット)プリンタであり、3つのカラー、すなわちシアン、マゼンタ、およびイエロを用いたプリントを行うことができる。
● 「PCP 3」は、イメージ・センサ1からイメージを獲得し、それを処理し、プリントのための最終的な形のイメージをプリントヘッド2に渡す。イメージ・センサ1がRGBイメージの取り込みを行い、プリントヘッド2がCMYを用いてプリントを行うことから、PCP 3は、RGBカラー空間からCMYカラー空間への翻訳を行わなければならない。PCP 3は、中間のイメージ処理に必要なすべての要件を包含しており、それにはホワイト・バランス、カラー補正ならびにガンマウト(gamut)マッピング、イメージ・シャープニング、およびハーフトーン処理も含まれる。それに加えて、PCP 3は、ユーザ・インターフェースならびに全体のプリント・プロセスをコントロールし、各種のイメージ・フォーマットに関するサポートも提供する。PCP 3には、インターフェースも備わっており、写真のエクスポートならびにインポート、DPOF(Digital Print Order Format:ディジタル・カメラ・プリント・サービス用フォーマット)標準を用いたコンパイルが可能である。
【0011】
(1.2 ハイ・レベル内部の概要)
PCP 3は、0.25マイクロメートルCMOSプロセスを使用した製造用にデザインされており、約1000万個のトランジスタを伴うが、ほとんどその半分はフラッシュ・メモリまたはスタティックRAMである。これは、16mm2の面積に相当する。2001年におけるその製造コストの見積もり額は4ドルである。PCP 3は、比較的単純なデザインであり、データグラフ・コンパイレーション・テクニック、マクロセル、およびIPコアの使用によって、デザイン努力を軽減することが可能である。PCP 3は、以下を含む
● 低速CPU/マイクロコントローラ・コア10
● 1.5メガバイトのマルチ‐レベル・フラッシュ・メモリ(1セル当たり2バイト)11
● イメージ取り込みユニット12内のCMOSイメージ・センサ・インターフェース98
● プログラム・ストレージ13のための16キロバイトのフラッシュ・メモリ
● プログラム変数ストレージ14のための4キロバイトのRAM
【0012】
PCP 3は、約100MHzのクロック速度で動作し、外部的には3V、内部的には1.5Vを使用して消費電力の最小化が意図されている。実際の動作周波数は、プリントヘッドの動作周波数の整数倍になる。CPU 10には、約1MHzで動作するシンプルなマイクロコントローラ・スタイルのCPUが意図されている。CPU 10およびCMOSイメージ・センサ・インターフェース12は、ともにベンダー供給コアとすることができる。
【0013】
図2は、PCP 3を分離して示したブロック図である。
【0014】
このPCP 3は、Printcam(プリントカム)システムにおける使用のためにデザインされている。図3は、Printcam(プリントカム)ハードウエアの残りの部分とPCP 3の接続を示したブロック図である。
【0015】
(2 プリントヘッドの基礎知識)
PCP 3は、4インチ(10cm)のMemjet(メムジェット)プリントヘッド2に接続するように特別にデザインされている。プリントヘッド2は、ページ幅プリンタとして使用され、移動を伴わずに4インチ幅のプリント・イメージを生成することができる。それに代わり、図4に示されるようにプリントが行われる間、ペーパー20が移動してプリントヘッド2の下を通過する。
【0016】
(2.1 4インチ・プリントヘッドの構成)
4インチのプリントヘッド2は、それぞれ8つのセグメントからなり、各セグメントは1/2インチの長さを有する。各セグメント21は、2値レベルのシアン、マゼンタ、およびイエロのドットをページ上の異なる部分にプリントし、最終イメージを生成する。これらのセグメントのポジションを図5に示した。
【0017】
プリントヘッド2が1600dpiでドットをプリントすることから、各ドットは直径が22.5μmであり、互いの間隔は15.875μmである。したがって、1/2インチのセグメントは、それぞれ800ドットをプリントし、8つのセグメントの対応するポジションは、次の表のとおりとなる。
【0018】
【表2】
【0019】
それぞれのセグメント21は最終イメージの800ドットを生成するが、各ドットは、2値レベルのシアン、マゼンタ、およびイエロのインクの組み合わせによって表される。プリントが2値レベルであることから、最良の結果を得るために入力イメージのディザリングまたは誤差拡散を行う必要がある。
【0020】
それぞれのセグメント21は、2400個のノズルを含んでいる:すなわち、シアン、マゼンタ、およびイエロそれぞれについて800個のノズルを含んでいる。4インチのプリントヘッド2は、この種のセグメント21を8個有することから、合計で19,200個のノズルを有することになる。
【0021】
(2.1.1 セグメント内のノズルのグループ化)
単一のセグメント21内のノズル22は、プリントの間における物理的な安定性をはじめ、消費電力の最小化のためにグループ化される。物理的な安定性という意味においては、合計10個のノズルが同一のインク・リザーバを共有する。消費電力という意味においては、低速および高速のプリント・モードを可能にするためにグループ化が行われる。
【0022】
プリントヘッド2は、2とおりのプリント速度をサポートし、異なる製品構成における異なる速度/消費電力のトレード‐オフを可能にする。
【0023】
低速プリント・モードにおいては、各4インチのプリントヘッド2のうちの、96個のノズル22から同時に発射(fire)が行われる。発射されるノズルは、最大に離隔されている必要があり、したがって各セグメントのうちの、12個のノズル22から発射が行われる。19,200個のノズルすべての発射を行うためには、互いに異なる96個のノズルをそれぞれ含む200セットの発射を行わなければならない。
【0024】
高速プリント・モードにおいては、各4インチのプリントヘッド2のうちの、192個のノズル22から同時に発射が行われる。発射されるノズルは、最大に離隔されている必要があり、したがって各セグメントのうちの、24個のノズル22から発射が行われる。19,200個のノズルすべての発射を行うためには、互いに異なる192個のノズルをそれぞれ含む100セットの発射を行わなければならない。
【0025】
低速モードにおける消費電力は、高速モードにおける消費電力の半分である。しかしながら、1ラインの、したがって1ページのプリントに消費されるエネルギは、いずれの場合であっても等しいことに注意する必要がある。
【0026】
Printcam(プリントカム)がバッテリから電力供給を受ける場合のようなシナリオにおいては、消費電力要件から低速プリントが指定されることになる。
【0027】
(2.1.1.1 10個のノズルによるポッドの構成)
1つのポッド23は、共通のインク・リザーバを共有する10個のノズル22から構成されている。5個のノズル22が1つの行内(row)に配置され、残り5個が別の行内に配置される。各ノズル22は、直径が約22.5μmのドットを生成し、15.875μmのグリッド上に離隔されている。図6は、単一のポッドの構成を示しており、各ノズル22には、それぞれの発射を行わなければならない順序に従って番号が付されている。
【0028】
ノズル22の発射は、この順序で行われるが、ノズル22と、プリントされるページ上のドットの物理的な配置の関係は異なる。一方の行内のノズル22は、ページ上の1ラインの偶数ドットを表し、他方の行内のノズルは、ページ上の隣接するラインの奇数ドットを表す。図7に、同一のポッド23を、ロードが行われなければならない順序に従って番号を付したノズル22とともに示した。
【0029】
このようにポッド23内のノズル22は、論理的に1ドットの幅で離隔されている。ノズル22の間の正確な距離は、Memjet(メムジェット)の発射メカニズムの特性に応じることになる。プリントヘッド2は、ペーパー20の流れに整合させてデザインされたスタガ配置のノズルを伴ってデザインされている。
【0030】
(2.1.1.2 3個のポッドによるクロマポッドの構成)
各カラー(シアン、マゼンタ、およびイエロ)当たり1個のポッド23を1グループとしてグループ化し「クロマポッド」24を構成する。クロマポッド24は、同じ水平10ドットのセットの異なるカラー成分を表す。異なるカラー・ポッド23の間における正確な距離は、Memjet(メムジェット)の動作パラメータに依存し、Memjet(メムジェット)のデザインごとに異なることが許容される。距離は、ドット幅の定数と考えられ、したがってプリント時に考慮されなければならない:すなわち、たとえばシアン・ノズルによってプリントされるドットは、マゼンタまたはイエロのノズルによってプリントされるドットとは異なるラインに関するものとなる。プリント・アルゴリズムは、カラー間において最大8ドット幅までの各種の距離を考慮しなければならない(詳細については表3を参照されたい)。図8は、単一のクロマポッド24を示している。
【0031】
(2.1.1.3 5個のクロマポッドによるポッドグループの構成)
5個のクロマポッド24が、1個の「ポッドグループ」25として組織化される。各クロマポッドが30個のノズル22を含むことから、各ポッドグループは、150個のノズル22を含むことになる:すなわち、50個のシアン・ノズル、50個のマゼンタ・ノズル、および50個のイエロ・ノズルである。その構成を図9に示し、それに伴うクロマポッドには0〜4の番号を付した。ただし、隣接するクロマポッドの間の距離は、明瞭化のために誇張してあることに注意が必要である。
【0032】
(2.1.1.4 2個のポッドグループによるフェーズグループの構成)
2個のポッドグループ25が、1個のフェーズグループ26として組織化される。フェーズグループ26は、所定の発射フェーズの間に、フェーズグループ内のノズルのグループ23の発射が同時に行われる(これについては、さらに詳細を後述する)ことから、そのような名前が付けられている。2個のポッドグループ25からなるフェーズグループの構成は、ただ単に2つのPodgroupEnable(ポッドグループイネーブル)ラインを介した低速および高速プリントを目的としている。
【0033】
低速プリントの間は、所定の発射フェーズ内に、2つのPodgroupEnable(ポッドグループイネーブル)ラインのうちの1つだけがセットされ、したがって2つのポッドグループのうちの1つだけがノズルの発射を行う。高速プリントの間は、両方のPodgroupEnable(ポッドグループイネーブル)ラインがセットされ、したがって両方のポッドグループがノズルの発射を行う。つまり、高速プリントにおいて一度に発射が行われるノズルの数が2倍であることから、高速プリントに要する時間の2倍の時間を低速プリントが必要とすることになる。
【0034】
図10は、フェーズグループの構成を示している。ただしこれにおいては、隣接するポッドグループ間の距離が、明瞭化のために誇張されている。
【0035】
(2.1.1.5 2個のフェーズグループによる発射グループの構成)
2個のフェーズグループ(フェーズグループAおよびフェーズグループB)が、1個の発射グループ27に組織化され、各セグメントには、この発射グループが4個含まれる。発射グループ27は、同一のノズル27を同時にすべて発射することからその名前が付けられている。2つのイネーブル・ライン、すなわちAEnable(Aイネーブル)およびBEnable(Bイネーブル)は、異なる発射フェーズとして独立に、フェーズグループAとフェーズグループBの発射を行うことを可能にする。図11に構成を示した。ただしこれにおいては、隣接するグループ間の距離が、明瞭化のために誇張されている。
【0036】
(2.1.1.6 ノズルのグループ化の要約)
次の表2は、プリントヘッド内のノズルのグループ化についてまとめたものである。
【0037】
【表3】
【0038】
(2.2 ロードおよびプリントのサイクル)
1個の4インチ・プリントヘッド2は、合計で19,200個のノズル22を含んでいる。「プリント・サイクル」は、最大でこれらすべてのノズルの発射を伴うが、その数はプリントされる情報に依存する。「ロード・サイクル」は、プリントヘッドに対する、その後に続くプリント・サイクルの間にプリントされる情報のロードに関係する。
【0039】
各ノズル22は、関連付けされた「NozzleEnable」(ノズルイネーブル)ビットを有し、それがプリント・サイクルの間にノズルの発射を行うか否かを決定する。NozzleEnable(ノズルイネーブル)ビット(1つのノズル当たり1ビット)は、シフト・レジスタのセットを介してロードされる。
【0040】
論理的には、1セグメント当たり、3個の(各カラー当たり1個)、それぞれの長さが800のシフト・レジスタが備わっていることになる。所定のカラーに関してビットがシフト・レジスタ内にシフトされると、交番するパルスに応答して、それらが上側および下側のノズルに向けられる。内部的に見ると、それぞれの深さが800の各シフト・レジスタが、2つの深さ400のシフト・レジスタを包含している:一方は上側ノズル用であり、他方は下側ノズル用である。交番するビットが交番する内部レジスタ内にシフトされる。しかしながら、外部インターフェースとして考える限りは、深さ800の単一のシフト・レジスタが存在することになる。
【0041】
すべてのシフト・レジスタが完全にロードされると(800のロード・パルス)、すべてのビットがパラレルに、適切なNozzleEnable(ノズルイネーブル)ビットに転送される。これは、19,200ビットの単一のパラレル転送に等しい。転送が完了すれば、プリント・サイクルを開始することができる。プリント・サイクルおよびロード・サイクルは、すべてのNozzleEnable(ノズルイネーブル)ビットのパラレル・ロードがプリント・サイクルのエンドにおいて生じる限り、同時に生じさせることができる。
【0042】
(2.2.1 ロード・サイクル)
ロード・サイクルは、プリントヘッドのシフト・レジスタに対する次のプリント・サイクルのNozzleEnable(ノズルイネーブル)ビットのロードに関する。
【0043】
各セグメント21は、シアン、マゼンタ、およびイエロのシフト・レジスタに直接関係する3つの入力を有する。これらの入力は、「CDataIn」(Cデータイン)、「MDataIn」(Mデータイン)、および「YDataIn」(Yデータイン)と呼ばれる。セグメントが8つであることから、4インチ・プリントヘッド当たりの合計のカラー入力ライン数は24になる。「SRClock」(SRクロック)ライン上の単一のパルス(8つのセグメントすべての間において共有される)が24ビットを適切なシフト・レジスタに転送する。下側および上側のノズルへの転送は、それぞれ交番するパルスによって行われる。ノズル数が19,200であることから、この転送には、800個のパルスが必要になる。19,200ビットがすべて転送されると、共有「PTransfer」(Pトランスファ)ライン上の単一パルスによってシフト・レジスタから適切なNozzleEnable(ノズルイネーブル)ビットへのパラレル転送が生じる。
【0044】
PTransfer(Pトランスファ)上のパルスを介したパラレル転送が行われるタイミングは、プリント・サイクルの「完了後」でなければならない。それ以外は、プリントが行われるラインに関するNozzleEnable(ノズルイネーブル)ビットが不正確になる。
【0045】
8個すべてのセグメント21が単一のSRClock(SRクロック)パルスによってロードされることから、任意のプリント・プロセスは、プリントヘッドに関して適正なシーケンスでデータを生成しなければならない。一例を挙げれば、最初のSRClock(SRクロック)パルスが、次のプリント・サイクルのドット0、800、1600、2400、3200、4000、4800、および5600に関するCMYビットを転送する。2番目のSRClock(SRクロック)パルスが、次のプリント・サイクルのドット1、801、1601、2401、3201、4001、4801、および5601に関するCMYビットを転送する。800個のSRClock(SRクロック)パルスの後にPTransfer(Pトランスファ)パルスを与えることが可能になる。
【0046】
奇数および偶数のCMY出力が、同一プリント・サイクルの間にプリントされるにもかかわらず、同一の物理的出力ライン上に現れないことは重要である。プリントヘッド内における奇数および偶数のノズルの物理的な分離は、異なるカラーのノズル間の分離とともに、ページの異なるライン上にドットが生成されることを保証する。プリントヘッドにデータをロードするときには、この相対的な差が考慮されなければならない。ライン内の実際の差は、プリントヘッドに用いられているインクジェット・メカニズムの特性に応じたものとなる。この差は、変数D1およびD2によって定義可能であり、それにおいてD1は、異なるカラーのノズル間の距離であり、D2は、同一カラーのノズル間の距離である。次の表3は、最初の4パルスでプリントヘッドのセグメント「n」に転送されるドットを示している。
【0047】
【表4】
【0048】
800パルスすべてについて以上が繰り返される。
【0049】
データは、20MHzの最大レートでプリントヘッド内にクロックすることが可能であり、その場合、次のラインに関する完全なデータが40マイクロ秒内にロードされる。
【0050】
(2.2.2 プリント・サイクル)
4インチのプリントヘッド2は、19,200個のノズル22を包含している。それらをすべて一度に発射すると、電力の消費が過大になり、インクのレフィルおよびノズルの干渉という意味において問題も生じる。そのため、2つの発射モードが定義されている:すなわち低速プリント・モードおよび高速プリント・モードである。
● 低速プリント・モードには200のフェーズがあり、各フェーズにおいては96個のノズルの発射が行われる。これは、1セグメント当たり12個、あるいは1発射グループ当たり3個のノズルの発射に等しい。
● 高速プリント・モードには100のフェーズがあり、各フェーズにおいては192個のノズルの発射が行われる。これは、1セグメント当たり24個、あるいは1発射グループ当たり6個のノズルの発射に等しい。
【0051】
所定の発射パルスにおいて発射が行われるノズルは、以下によって決定される。
● 3ビットの「ChromapodSelect」(クロマポッドセレクト)(発射グループ27に含まれる5個のクロマポッド24から1個の選択を行う)
● 4ビットの「NozzleSelect」(ノズルセレクト)(ポッド23に含まれる10個のノズル22から1個の選択を行う)
● 2ビットの「PodgroupEnable」(ポッドグループイネーブル)ライン(発射を行う0個、1個、または2個のポッドグループ25の選択を行う)
【0052】
PodgroupEnable(ポッドグループイネーブル)ラインの1つがセットされると、指定されたポッドグループの4個のノズルが、ChromapodSelect(クロマポッドセレクト)およびNozzleSelect(ノズルセレクト)による決定に従って発射される。両方のPodgroupEnable(ポッドグループイネーブル)ラインがセットされているときには、両方のポッドグループのノズルの発射が行われる。低速プリント・モードについては、2個の発射パルスが必要になり、それぞれPodgroupEnable=10および01を伴う。高速プリント・モードについては、PodgroupEnable=11を伴う発射パルスが1つだけ必要になる。
【0053】
発射パルスの持続時間は、AEnable(Aイネーブル)ラインおよびBEnable(Bイネーブル)ラインによって与えられ、そのそれぞれは、すべての発射グループのフェーズグループAおよびフェーズグループBのノズルの発射を行う。一般的な発射パルスの持続時間は1.3〜1.8マイクロ秒になる。パルスの持続時間は、インクの粘稠度(それ自体が温度ならびにインクの特性に依存する)およびプリントヘッドに使用可能な電力に依存する。温度変化に関する補正を行うためのプリントヘッドからのフィードバックについての詳細を記載した18ページ(ページ指定は原文に記載されたとおり)のセクション2.3を参照されたい。
【0054】
AEnable(Aイネーブル)およびBEnable(Bイネーブル)は、発射パルスがオーバーラップできるように個別のラインになっている。したがって低速プリント・サイクルにおける200のフェーズは、100のAフェーズおよび100のBフェーズから構成され、事実上、100セットのフェーズAおよびフェーズBのセットを提供する。同様に高速プリント・サイクルにおける100のフェーズは、50のAフェーズおよび50のBフェーズから構成され、事実上、50セットのフェーズAおよびフェーズBのセットを提供する。
【0055】
図12は、一般的なプリント・サイクルの間におけるAEnable(Aイネーブル)ラインおよびBEnable(Bイネーブル)ラインを示している。高速プリントにおいては、50回の2マイクロ秒のサイクルがあり、それに対して低速プリントにおいては、100回の2マイクロ秒のサイクルがある。
【0056】
高速プリント・モードの場合の発射順序は次のようになる。
● ChromapodSelect(クロマポッドセレクト)0、NozzleSelect(ノズルセレクト)0、PodgroupEnable(ポッドグループイネーブル)11(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)1、NozzleSelect(ノズルセレクト)0、PodgroupEnable(ポッドグループイネーブル)11(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)2、NozzleSelect(ノズルセレクト)0、PodgroupEnable(ポッドグループイネーブル)11(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)3、NozzleSelect(ノズルセレクト)0、PodgroupEnable(ポッドグループイネーブル)11(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)4、NozzleSelect(ノズルセレクト)0、PodgroupEnable(ポッドグループイネーブル)11(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)0、NozzleSelect(ノズルセレクト)1、PodgroupEnable(ポッドグループイネーブル)11(フェーズAおよびB)
● ・・・
● ChromapodSelect(クロマポッドセレクト)3、NozzleSelect(ノズルセレクト)9、PodgroupEnable(ポッドグループイネーブル)11(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)4、NozzleSelect(ノズルセレクト)9、PodgroupEnable(ポッドグループイネーブル)11(フェーズAおよびB)
【0057】
低速プリント・モードの場合の発射順序についても、これに類似である。高速プリント・モードのPodgroupEnable(ポッドグループイネーブル)が11となっていた各フェーズを、次に示すように、PodgroupEnable=01および10によって置き換える。
● ChromapodSelect(クロマポッドセレクト)0、NozzleSelect(ノズルセレクト)0、PodgroupEnable(ポッドグループイネーブル)01(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)0、NozzleSelect(ノズルセレクト)0、PodgroupEnable(ポッドグループイネーブル)10(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)1、NozzleSelect(ノズルセレクト)0、PodgroupEnable(ポッドグループイネーブル)01(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)1、NozzleSelect(ノズルセレクト)0、PodgroupEnable(ポッドグループイネーブル)10(フェーズAおよびB)
● ・・・
● ChromapodSelect(クロマポッドセレクト)3、NozzleSelect(ノズルセレクト)9、PodgroupEnable(ポッドグループイネーブル)01(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)3、NozzleSelect(ノズルセレクト)9、PodgroupEnable(ポッドグループイネーブル)10(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)4、NozzleSelect(ノズルセレクト)9、PodgroupEnable(ポッドグループイネーブル)01(フェーズAおよびB)
● ChromapodSelect(クロマポッドセレクト)4、NozzleSelect(ノズルセレクト)9、PodgroupEnable(ポッドグループイネーブル)10(フェーズAおよびB)
【0058】
ノズル22の発射が行われると、そのレフィルに約100マイクロ秒が必要になる。ノズル22は、このレフィル時間が経過するまで発射を行うことができない。この制限から、1ライン当たりの最大プリント速度が100マイクロ秒になる。高速プリント・モードにおいては、1ラインのプリント時間が100マイクロ秒であり、したがって1つのラインのノズルの発射から次のラインまでの時間がこのレフィル時間に一致し、高速プリント・モードを許容可能なものにしている。低速プリント・モードは、これよりも遅く、したがって当然に許容可能である。
【0059】
ノズル22の発射は、そのノズルのポッド23の共通インク・リザーバ内に有限時間にわたる音響摂動を生じさせる。この摂動は、同一ポッド23内の別のノズルの発射に干渉するおそれがある。したがって、1つのポッド内におけるノズルの発射は、可能な限り長く、互いにオフセットさせる必要がある。そのため、クロマポッド24からの3つのノズル(1カラー当たり1つのノズル22)の発射の後、そのポッドグループ25内の次のクロマポッド24上に移動している。
● 低速プリント・モードにおいては、ポッドグループ25の発射が個別に行われる。つまり、最初のポッドグループの発射が再度行われる前に、両方のポッドグループ内の各5個のクロマポッド24の発射がすべて行われていなければならず、それを合計すると10×2マイクロ秒のサイクルになる。したがって、各ポッド23の発射が20マイクロ秒に1回行われることになる。
● 高速プリント・モードにおいては、両方のポッドグループ25の発射がともに行われる。つまり、最初のポッドグループの発射が再度行われる前に、単一ポッドグループ内の5個のクロマポッド24の発射がすべて行われていなければならず、それを合計すると5×2マイクロ秒のサイクルになる。したがって、各ポッド23の発射が10マイクロ秒に1回行われることになる。
【0060】
インク・チャンネルの長さが300μmであり、インク内の音速が約1500m/秒であることから、インク・チャンネルの共振周波数は2.5MHzであり、低速モードにおいては音響パルスの減衰に50共振サイクルが見込まれ、高速モードにおいては25共振サイクルが見込まれる。したがって、いずれの場合においても音響干渉が最小に抑えられる。
【0061】
(2.2.3 サンプル・タイミング)
一例として、Printcam(プリントカム)において要求されるように、2秒間に4インチ×6インチの写真をプリントするタイミングを考える。2秒間に写真をプリントするために、4インチ・プリントヘッドは、9600ライン(6×1600)をプリントしなければならない。これを切り上げて、2秒間に10,000ラインのプリントとすれば、1ラインの時間は200マイクロ秒になる。1つのプリント・サイクルおよび1つのロード・サイクルが、ともにこの時間内に完了しなければならない。それに加えて、プリントヘッド以外の物理的プロセスは、適切な量だけペーパーを移動しなければならない。
【0062】
プリントの観点から見ると、低速プリント・モードにおいては、4インチ・プリントヘッドによる完全な1ラインのプリントを200マイクロ秒内に行うことが可能である。低速プリント・モードにおいては、1発射パルス当たり96個のノズル22の発射が行われ、それにより指定時間内の完全な1ラインのプリントが可能になる。
【0063】
プリントヘッド2に対する800個のSRClock(SRクロック)パルス(各クロック・パルスは24ビットを転送する)もまた、200マイクロ秒のライン・タイム内に生じなければならない。このSRClock(SRクロック)パルスの長さが、200マイクロ秒/800=250ナノ秒を超えることはできず、これはプリントヘッドが、4MHzでクロックされなければならないことを示している。それに加えて、(19,200個のノズルのそれぞれに関する)各ビット値の平均計算時間が、200マイクロ秒/19,200=10ナノ秒を超えてはならない。これには、次に示すいずれかの速度においてドット・ジェネレータが動作することが必要になる。
● 100MHz:1サイクル当たり1ビット(ドット)を生成
● 50MHz:1サイクル当たり2ビット(ドット)を生成
● 25MHz:1サイクル当たり4ビット(ドット)を生成
【0064】
(2.3 プリントヘッドからのフィードバック)
プリントヘッド2は、複数ラインのフィードバックを生成する(8セグメントからの累積)。このフィードバック・ラインは、発射パルスのタイミングを調整するために使用される。各セグメント21が同じフィードバックを生成するが、すべてのセグメントからのフィードバックは、同一の3状態バス・ラインを共有する。つまり、1度にフィードバックを提供可能なセグメント21は1つだけである。
【0065】
シアンに関するデータのアンドが行われた「SenseSegSelect」(センスセグセレクト)ライン上のパルスは、そのセグメント用のセンス・ラインをイネーブルする。フィードバック・センス・ラインは、次のSenseSegSelect(センスセグセレクト)パルスまでに、選択されたセグメントから到来する。フィードバック・センス・ラインは、次のとおりとなる。
● 「Tsense」(Tセンス):プリントヘッドの熱さの程度についてコントローラに知らせる。温度がインクの粘稠度に影響を与えることから、これによりコントローラは、発射パルスのタイミングを調整することができる。
● 「Vsense」(Vセンス):アクチュエータに使用可能な電圧についてコントローラに知らせる。これによりコントローラは、パルス幅を調整することによって電圧の低下したバッテリまたは高い電圧ソースを補償することができる。
● 「Rsense」(Rセンス):アクチュエータ・ヒータの抵抗率(単位平方当たりのオーム値)についてコントローラに知らせる。これによりコントローラは、パルス幅を調整してヒータの低効率と無関係に一定のエネルギを維持することができる。
● 「Wsense」(Wセンス):ヒータのクリティカルな部分の幅についてコントローラに知らせるが、この部分は、リソグラフおよびエッチングの変動に起因して最大で+/−5%の変化を有することがある。これによってコントローラは、パルス幅を適切に調整することができる。
【0066】
(2.4 特殊なサイクル)
(2.4.1 プレヒート・サイクル)
プリント・プロセスは、平衡温度にとどまろうとする強い傾向を有する。プリントされる写真の最初の部分から一貫したドット・サイズを確保するためには、ドットをプリントする「前に」平衡温度に達していなければならない。これは、プレヒート・サイクルを介して達成される。
【0067】
プレヒート・サイクルは、すべてのノズルに「1」をロード(つまりすべてのノズルを「発射」にセット)する単一のロード・サイクルおよび各ノズルに対する多数の短い発射パルスを伴う。これらのパルスの持続時間は、インク滴の発射には不充分であるが、インクのヒート・アップには充分なものとしなければならない。合計すると、標準のプリント・サイクルと同じシーケンスを通じて、各ノズルについて約200個のパルスが必要になる。
【0068】
プレヒート・モード間のフィードバックは、Tsense(Tセンス)によって提供され、平衡温度(室温より約30℃高い温度)に到達するまで継続される。プレヒート・モードの持続時間は、約50ミリ秒であるが、インクの組成によって異なる。
【0069】
プレヒートは、各プリント・ジョブに先行して実施される。これは、ページ・データがプリンタに転送される間に実行されることから、それがプリンタのパフォーマンスに影響することはない。
【0070】
(2.4.2 クリーニング・サイクル)
ノズルの目詰まりが生じる可能性を抑えるために、各プリント・ジョブに先行してクリーニング・サイクルを実施することができる。各ノズルの発射が、多数回にわたって吸収スポンジに対して行われる。
【0071】
クリーニング・サイクルは、すべてのノズルに「1」をロード(つまりすべてのノズルを発射にセット)する単一のロード・サイクルおよび各ノズルに対する多数の発射パルスを伴う。ノズルのクリーニングは、標準のプリント・サイクルと同じシーケンスを通じて行われる。それぞれのノズル22の発射が行われる回数は、インクの組成、およびプリンタがアイドルになっていた時間に応じて異なるが、プレヒートの場合と同様に、これがプリンタのパフォーマンスに影響を及ぼすことはない。
【0072】
(2.5 プリントヘッド・インターフェースの要約)
1つの4インチ・プリントヘッド2は、次に示す接続を有する。
【0073】
【表5】
【0074】
4インチ・プリントヘッドの内部においては、各セグメントがボンド・パッドに対して次に示す接続を有している。
【0075】
【表6】
【0076】
(3 イメージ処理チェーン)
前のセクションでは、ハイ・レベルのPCP機能の概要−−すなわち、各種のプリント・フォーマットへのCFAイメージのマッピングに関する概要のみを扱った。実際には、イメージ・センサからイメージを獲得し、高品質のプリント出力を生成するために、多数のステップが必要になる。ハイ・レベル・プロセスは、次の2つのイメージ処理チェーンに分けることが可能であり、そのそれぞれが多数のステップを伴う。
● イメージ取り込みチェーン
● プリント・チェーン
【0077】
イメージ取り込みチェーンは、イメージ・センサからイメージを取り込むこと、およびPrintcam(プリントカム)内にローカルにストアすることと関係する。プリント・チェーンは、ストア済みのイメージを取り出すこと、およびそれをプリントすることと関係する。これら2つのチェーンは、次のようにPrintcam(プリントカム)の基本機能上にマップされる。
● Take&Print(テイクアンドプリント):「イメージ取り込みチェーン」およびそれに続く「プリント・チェーン」
● Reprint(リプリント):「プリント・チェーン」
【0078】
たとえばユーザが、サムネール・イメージのプリント(Take&Print(テイクアンドプリント))を行い、結果に満足が得られた場合に、いくつかの標準コピーのプリント(Reprint(リプリント))を行うことがある。
【0079】
このセクションにおいては、Printcam(プリントカム)の品質要件に適合する独立のイメージ処理のインプリメンテーションについて説明する。ただしこの段階では、ハードウエアという意味において「正確にどのように」処理が行われるかについてではなく、むしろ「何が」行われなければならないかについて考察する。これらの機能は、PCP内の各種のユニット上にマップされる。
【0080】
PCPインプリメンテーションの如何にかかわらず、次のような拘束事項がいくつかある。
● 入力イメージは、CFAベースの連続階調(contone)RGBイメージとする。
● 出力イメージは、CMYカラー空間におけるMemjet(メムジェット)プリントヘッド(1600dpiの2値レベル・ドット)に対するものとし、常に同じ出力幅(4インチの幅)であるものとする。
【0081】
(3.0.1 サポートされているプリント・フォーマット)
PCP 3は、次の表6に示すように、多数の出力プリント・フォーマットをサポートしている。いずれの場合においても、イメージの幅は4インチ(プリントヘッドの幅に一致)である。プリント出力の長さだけが変更できる。
【0082】
【表7】
【0083】
イメージ・センサからは、姿勢情報が提供されない。すべての入力イメージは、同一解像度(1500×1000)で取り込まれ、プリントの前に90度の回転が必要になることもある。図13は、取り込まれたCFAイメージと、サポートされている各種のプリント・フォーマットの間におけるマッピングを示している。ここでは、反時計回りに90度の回転を伴ってイメージが示されているが、イメージは、反時計回りまたは時計回りのいずれにも回転可能であることに注意する必要がある。
【0084】
(3.1 イメージ取り込みチェーン)
イメージ取り込みチェーンにおいては、イメージ・センサからイメージが取り込まれ、それがPrintcam(プリントカム)内にローカルにストアされる。このイメージ取り込みチェーンは、イメージの取り込みの間だけにおいて実行が必要になる多数のプロセスを伴う。図14にイメージ取り込みチェーンを図解したが、以下のセクションにおいては、それらのサブ‐コンポーネントについて説明する。
【0085】
(3.1.1 イメージ・センサ1)
入力イメージは、イメージ・センサ1から到来する。各種のイメージ・センサを使用することができるが、ここではベイヤー・カラー・フィルタ・アレイ(CFA)だけを考える。ベイヤーCFAは、ここにも定義されている多数の属性を有する。
【0086】
ここでは、CMOSセンサ1によって(レンズを介して)取り込まれたイメージが、充分にフィルタリングされており、エイリアシング・アーティファクトがすべて除去されているものとする。センサ自体の縦横比は3:2であり、1500×1000サンプルの解像度を伴う。もっとも適切なピクセル配列はベイヤー・カラー・フィルタ・アレイ(CFA)であり、図15に示されるように、それぞれの2×2ピクセル・ブロックが2Gモザイクとして配列される。
【0087】
R、G、またはB(それぞれレッド、グリーン、およびブルーに対応する)の各連続階調(contone)サンプルは、10ビットである。ただし、モザイクの各ピクセルが、R、G、およびBのうちの「1つ」だけについての情報を含むことに注意する必要がある。失われたカラー情報の評価を行ってからでなければ、イメージのプリントアウトを行うことができない。
【0088】
CFAは、適切な固定パターン・ノイズ(FPN)抑圧を行うものとする。
【0089】
(3.1.2 RGBの線形化40)
● イメージ・センサ40が完全に線形な応答を有することはほとんどない。つまり、CFAからの10ビットのRGBサンプルは、非線形であると考えなければならない。非線形サンプルは、ルックアップ・テーブル(1カラー当たり1つのテーブル)を用いて8ビットの線形サンプルに翻訳される。
【0090】
CFAライン0、2、4等からのピクセルがRおよびGのテーブルに対するインデクスとなり、CFAライン1、3、5等からのピクセルがGおよびBのテーブルに対するインデクスとなる。これは、カメラの姿勢とは完全に独立している。そのプロセスを図16に示す。各ルックアップ・テーブルに必要となる合計のメモリ量は、210×8ビットである。したがって、3つのルックアップ・テーブル45は、合計で3キロバイト(3×210バイト)を必要とする。
【0091】
(3.1.3 RGBの平面化41)
CFAから獲得されたピクセルは、ピクセルのベイヤー・モザイクの特性に起因して、それらのカラー平面をインターリーブする形になる。これは、偶数水平ライン上であれば、レッド・ピクセルにグリーン・ピクセルが続き、さらにそれに別のレッド・ピクセルが続くといった形で繰り返されること−−つまり、異なるカラー平面が互いにインターリーブされていることを意味している。一部のイメージ処理システムにおいては、インターリーブされたフォーマットが極めて有用である。しかしながら、Printcam(プリントカム)の処理システムにおいては、平面のRGBに対してより効率的に、そのアルゴリズムが作用する。
【0092】
平面化されたイメージとは、成分カラーに分解されたイメージである。CFA RGBイメージの場合であれば、3つの分離されたイメージがあることになる:すなわち1つはレッド・ピクセルのみを含むイメージであり、1つはブルー・ピクセルのみを含むイメージであり、残り1つはグリーン・ピクセルのみを含むイメージである。ただし、各平面は、「実際にサンプリングされた」そのカラーのピクセルを表しているだけであることに注意が必要である。平面化プロセスの間にリサンプリングが行われることはない。その結果、R、G、およびB平面が互いに一致することはなく、またG平面は、RまたはB平面の2倍の大きさとなる。このプロセスを図17に示す。
【0093】
実際のプロセスは極めてシンプルである−−読み込むピクセルのカラー深度に応じて、出力ピクセルが、適切なカラー平面のイメージ内の次のポジションに(したがってCFAと同じ姿勢で)送られる。
【0094】
レッド平面45およびブルー平面47のイメージは、オリジナルのCFAイメージのちょうど4分の1になる。それらは、各ディメンションにおいて、正確に半分の解像度を有する。したがって、レッドおよびブルーのイメージは、それぞれ750×500ピクセルであり、レッド・イメージは、必然的にブルー・イメージから、CFA空間(1500×1000)における1ピクセル分だけ、xならびにy方向にオフセットされる。
【0095】
グリーン平面のイメージ46は、オリジナルのCFAイメージの半分であるが、レッド平面およびブルー平面ほど単純に記述することはできない。その理由は、グリーン平面が市松模様にレイアウトされていることに起因する。あるライン上においては各「奇数」ピクセルがグリーンになり、次のライン上においては各「偶数」ピクセルがグリーンになる。つまり、グリーン平面の交番するラインがCFAイメージ内における奇数および偶数のピクセルを表している。したがって、グリーン平面のイメージは750×1000ピクセルになる。これは、リサンプリング・プロセスに関する分岐を有する(28ページ(ページ指定は原文に記載されたとおり)の「リサンプル64」を参照されたい)。
【0096】
(3.1.4 ストア済みイメージ42)
線形化されたRGBイメージの各カラー平面は、一時的なストアのためにメモリに書き込まれる。このメモリは、電源が遮断された後においてもイメージが残るように、フラッシュ・メモリ11とする。
【0097】
平面化された線形RGBイメージに必要となるメモリの総量は1,500,000バイト(約1.5MB)であり、その構成は次のようになる。
● R:750×500=375,000バイト
● B:750×500=375,000バイト
● G:750×1000=750,000バイト
【0098】
(3.2 プリント・チェーン)
プリント・チェーンは、メモリ42から既存のイメージを取り出すこと、およびそれをMemjet(メムジェット)プリンタ2にプリントすることと関係する。イメージは、通常、取り込まれるとすぐにプリントされるが、リプリント(つまり、再取り込みを伴わずに行うプリント)も可能である。
【0099】
CFA取り込みによるイメージから高品質プリントを生成するためには、イメージ処理チェーン内に多数のステップが必要になる。図18にプリント・チェーンを示す。このチェーンは、3つの作業解像度に分けられる。第1はオリジナルの取り込み空間50(CFAと同一の空間)であり、第2は中間解像度51(1280個の連続階調ピクセルのライン)であり、最後の解像度は、プリンタ解像度52であり、6400個の2値レベルのドットを含むラインを伴う。
【0100】
(3.2.1 入力イメージ)
入力イメージは、セクション3.1.4において説明したイメージ取り込みチェーンによってストアされた、平面形式の線形化されたストア済みRGBイメージ42である。
【0101】
(3.2.2 統計の収集60)
ホワイト・バランスおよび範囲拡張等のプロセスを実行する前に、「イメージ全体」に関する多数の統計を集める必要がある。これらの統計は、特定の取り込み済みイメージ42のすべてのプリントについて1回だけ収集を行えばよく、レッド、グリーン、およびブルー平面のイメージから個別に収集することができる。
【0102】
(3.2.2.1 ヒストグラムの作成)
最初のステップは、各カラー平面の8ビットの値に関するヒストグラム作成である。各1500×1000のCFAイメージは、全体として次を含む。
● 375,000個のレッド・ピクセル(少なくとも19ビットのカウンタを必要とする)
● 375,000個のブルー・ピクセル(少なくとも19ビットのカウンタを必要とする)
● 750,000個のグリーン・ピクセル(少なくとも20ビットのカウンタを必要とする)
【0103】
したがって、ヒストグラムを保持するために256×20ビットのテーブルが1つ必要になる。
【0104】
ヒストグラムを作成するプロセスは、次の疑似コードによって表されるように単純である。
【0105】
【数1】
【0106】
(3.2.2.2 高低のスレッショルドの決定)
カラー平面に関するヒストグラムが作成された後は、それを使用して高低のスレッショルドを決定することが可能になる。これらのスレッショルドは、その後のプリント・プロセスの間におけるホワイト・バランスおよび範囲拡張を自動化するために使用することができる。
【0107】
ヒストグラムからのピクセル数に基づいてスレッショルドを決定する場合、「もっとも暗い側のn%のピクセル」を考慮する必要はなく、したがって等しいと見なす。同様に、「もっとも明るい側のn%のピクセル」を考慮する必要がなく、したがって等しいと見なす。「n」に関する正確な値は、約5%になると予測されるが、CFAの応答特性に依存する。
【0108】
「n%」のもっとも暗い値を決定するプロセスは単純である。カラー平面のヒストグラムを、0に対応するカウントから上に向かって(つまり0、1、2、3等)合計が「n%」になるまでステップするか、あるいは0からの量が設定値を超えたところまで移動する。これらの値のうちももっとも高い値が、そのカラー平面の低スレッショルドとなる。これらのもっとも暗い値の間には差が存在するものの、その差は、範囲拡張およびカラー・バランスの目的から考慮する必要がないと見なされる。
【0109】
「n%」のもっとも明るい値を決定するプロセスについてもこれに類似である。カラー平面のヒストグラムを、255に対応するカウントから下に向かって(つまり255、254、253等)合計が「n%」になるまでステップするか、あるいは255からの量が設定値を超えたところまで移動する。これらの値のうちももっとも低い値が、そのカラー平面の高スレッショルドとなる。これらのもっとも明るい値の間には差が存在するものの、その差は、範囲拡張およびカラー・バランスの目的から考慮する必要がないと見なされる。
【0110】
0または255から設定距離を超えたところでストップする理由は、次に示す2つのタイプのイメージを補償するためである。
● オリジナルのダイナミック・レンジが低い場合、または
● イメージ内にホワイトまたはブラックが存在しない場合。
【0111】
これら2つの場合には、開始する範囲が狭いことから上側または下側の値の「n%」を不要と見なすことが望ましくない。実際にサンプリングしたピクセル値の範囲の外側に、高スレッショルド73および低スレッショルド72を安全にセットすることができる。正確な距離はCFAに依存するが、2つの定数を持つことになる。
【0112】
1つのカラー平面に関するサンプル・カラー範囲を図19に示す。ここで、1つのイメージのカラー平面のピクセルについて完全な0〜255の範囲が可能であるが、この特定のイメージは、それより小さい範囲を有していることに注意する必要がある。また、同じn%のヒストグラム範囲70、71が、低い側のエンド70において広く、高い側のエンド71において狭くなっていることにも注意されたい。これは、このヒストグラムが、低い側のエンドに比べて、より互いに密接して高い値のピクセルを含まなければならないことによる。
【0113】
高スレッショルド73および低スレッショルド72は、それぞれのカラー平面ごとに独立して決定されなければならない。この情報を使用して、この後のホワイト・バランスおよび範囲拡張プロセスに用いられる範囲のスケーリング・ファクタおよびオフセット・ファクタを計算することになる。
【0114】
次に示した疑似コードは、2つのスレッショルドのいずれか一方を決定するためのプロセスを示している(低スレッショルドを求める場合には、StartPosition=255、かつDelta=1とする;高スレッショルドを求める場合には、StartPosition=0、かつDelta=−1とする)(StartPositionは開始位置を表す変数の名前=スタートポジション;Deltaは増分を表す変数の名前=デルタ)。なお、この疑似コードにおいては、Threshold(スレッショルド)が、加算の間にラップする8ビット値であることが仮定されている。
【0115】
【数2】
【0116】
(3.2.3 イメージの回転61)
イメージの回転61は、取り込みおよびプリント・プロセス、ならびにリプリント・プロセスの両方において「オプション」のステップになる。
【0117】
図13に示されるように、各種のプリント・フォーマットによって、CFAの姿勢に対して0度または90度のイメージの回転が要求される。回転の量は、現在選択されているプリント・フォーマットに依存する。回転の方向は重要ではないが(回転後の姿勢がプリントヘッドの幅に便宜を図るだけのものであるから、時計回りまたは反時計回りとすることができる)、回転方向は、3つのカラー平面の相対的な位置合わせに影響を及ぼす。次の表7に、各プリント・フォーマットに必要となる、オリジナルのCFAの姿勢からの回転について要約した。
【0118】
【表8】
【0119】
回転が0度または90度だけであることから、回転プロセスの間に情報が失われることはない。0度の回転の場合には、イメージを行ごとに読み出すことが可能であり、90度の回転の場合には、イメージを列ごとに読み出すことが可能である。3つのカラー平面の位置合わせは、回転方向を考慮に入れて実施されなければならない。
【0120】
(3.2.4 ホワイト・バランス62および範囲拡張63)
理想的な照明条件の下に写真が撮影されることはほとんどない。「完全な照明条件」という概念そのものでさえ、撮影者および被写体の両方の意味において主観性を伴う。しかしながら、あらゆる場合において、写真の被写体は、光源(太陽または室内灯等)からの光によって、もしくはそれ自体の光(ネオン・サイン等)によって照明される。
【0121】
多くの照明条件において、撮影者にとって「白い」光と映るものは、一般に白からほど遠い。たとえば室内灯は、通常、黄色の色合いを有しており、未補正の写真上にはこの黄色の色合いが現れることになる。多くの者にとっては、最終的な未補正の写真上に現れた黄色の色合いは正しくない。これは、確かに写真が撮影された時点において見えていた条件に一致するかもしれないが、対象の「知覚される」カラーとは整合しない。このようなことから、写真のプリントアウトを行う前にホワイト・バランスを実施することが重要になる。
【0122】
同じように、カラーのダイナミック・レンジが拡張されて、各カラー平面におけるフルレンジに整合されると、イメージをより高品質に感じさせることができる。特に、イメージをより高い解像度にリサンプルする前にこれを行うと役立つ。ダイナミック・レンジがより高い場合には、補間されたピクセル・ポジションに中間値を使用して、段階的な、あるいは濃淡にむらのあるイメージとなることを回避することができる。範囲拡張は、実際にサンプリングされた値に対して256の値の完全な範囲を与えるためにデザインされている。最良ケースにおいては、もっとも低い値が0にマップされ、もっとも高い値が255にマップされる。すべての中間の値は、0から255までの中間値に比例的にマップされる。
【0123】
数学的には、低スレッショルド72を0に平行移動し、それに続いてスケーリングを行う演算が実行される。次にその式を示す。
【0124】
Pixel' = (Pixel - LowThreshold)×RangeScaleFactor
ただし、
RangeScaleFactor = 256 / (HighThreshold - LowThreshold)
【0125】
「RangeScaleFactor」(レンジスケールファクタ)は、最大値を設定して範囲の拡張が広くなりすぎるリスクを抑える必要がある。「LowThreshold」すなわち低スレッショルド72の計算に関する詳細は、セクション3.2.2「統計の収集」を参照されたい。これらの値(LowThresholdおよびRangeScaleFactor;それぞれ「低スレッショルド」および「レンジスケールファクタ」)は、カラー平面ごとに異なるものとなるが、1つのイメージについて1度だけ計算すればよい。
【0126】
これらのタスクは、図20に示すように、ともに同時に処理することができる。
【0127】
このステップがスケーリング・プロセスを含むことから、たとえば値12が5.25にマップされるというように、マップ後の値に小数の成分が含まれることがある。ここで小数の成分を破棄するのではなく、10ビットの結果(8ビットの整数および2ビットの小数)をイメージ処理の次の段階に渡している。8ビットを超えて「完全な」イメージをストアするメモリの余裕はないが、リサンプリング段階においてより高い解像度を利用することができる。つまり、入力イメージは8ビットであり、出力イメージは各カラー成分当たり10ビットを有する。論理的なプロセスを図21に示した。
【0128】
「LowThreshold」すなわち低スレッショルド72より低いすべての値が0にマップされるように、減算の間の最低値を0とすることが重要である。同様に「HighThreshold」すなわち高スレッショルド73より高い入力値が255にマップされるように、乗算においては、結果の整数部分に関する最大値を255にしなければならない。
【0129】
(3.2.5 リサンプル64)
CFAは、1つのピクセルの(x,y)座標当たり単一のカラー成分だけしか提供しない。最終的なプリント・イメージを生成するためには、各ピクセルの残りのカラー成分も必要になる。最終的には、1つのピクセルについてシアン、マゼンタ、およびイエロのカラー成分が必要になるが、シアン、マゼンタ、およびイエロに到達するために、レッド、グリーン、およびブルーが必要になる。ここで用いている1カラー‐1ピクセルの場合においては、たとえば特定ポジションにレッド成分を有しているのであれば、ブルーおよびグリーンを評価する必要がある。あるいは、グリーンを有しているのであれば、レッドおよびブルーの評価が必要になる。
【0130】
それぞれのCFA解像度ピクセルについて、完全なレッド、グリーン、およびブルーのカラー成分を有していた場合であっても、CFA解像度イメージは最終的な出力解像度度ではない。それに加えて、出力フォーマットは各様であるが、物理的なプリントヘッドの幅は一定(4インチ、1600dpi)である。つまり、一定幅のプリントヘッドは6400ドットである。
【0131】
次の2つの極端なケースについて考える。
● 「CFA解像度の補間(最小補間)を行い、続いてシャープニング、カラー変換を行う。最後にプリント解像度にスケーリングする。」:これには、シャープニング・カーネルが一定になり、低解像度でカラー変換が行われるという利点がある。しかしながらその不利点として、補間後のイメージ用に、1カラー成分当たり8ビットを超えるビット数が必要になること、あるいはプリント解像度への最終的なスケール‐アップの間に中間値が不正確に補間されることが挙がる。また、1サイクル当たり1つの、プリント解像度の補間済みの値を生成することが可能なスケール‐アップ・ユニットが必要になるという不利点もある。
● 「プリント解像度への補間を行い、続いてシャープニング、カラー変換を行う。」:これには、リサンプリング・プロセスが1度だけで済み、最大精度が提供されるという利点がある。しかしながら、1サイクル当たり1つの、バイ‐キュービック補間による値の生成だけでなく、シャープニング、およびカラー変換をすべて、概して単一サイクルで実行できるスケール‐アップ・ユニットを必要とするという不利点がある。シャープニング・カーネルは、CFA分解能カーネルを高分解能イメージに適用できる充分な大きさでなければならない。さらに不利なことに、単一プリント・サイクル上において、シアン、マゼンタ、およびイエロのドットが、6つの異なるラインからのドットを表すことから、シャープニングのために、少なくとも3つのウインドウを出力イメージ上で維持しなければならない(それぞれが6400エントリのラインを含む)。
【0132】
これらのいずれのケースも最終的なプリント出力が連続階調(contone)ではなく、2値レベルになるという事実を考慮していない。つまり、リサンプリングに関して妥協点を打ち出し、これら2つの方法から最善を達成することができる。
【0133】
解決策は、「中間解像度」への補間である。シャープニングおよびカラー変換は、中間解像度において行い、プリント解像度へのスケール‐アップがそれに続く。中間解像度は充分に低いものとし、小さいシャープニング・カーネル・サイズおよびカラー変換タイミングの利点を生かすことができるようにしなければならない。しかも中間解像度は、プリント解像度の2値レベル・イメージへのスケール‐アップにおいて品質の低下をもたらすことがないように、充分に高いものでなければならない。さらに、その影響は、プリント解像度への(2つではなく)単一の補間が行われた場合と同一でなければならない。
【0134】
プリント・イメージが1600dpiのディザ処理された「2値レベル」ドットとしてプリントされることから、320dpiの「連続階調(contone)」イメージによって充分に表すことができる。結局、1280個の連続階調(contone)ピクセルの中間解像度は、6400の2値レベル・ドットに対して知覚的な品質の低下をまったくもたらさない。したがって、その後の1280から6400へのスケーリングは、正確にスケーリング比1:5になる。
【0135】
リサンプリングを行うことがいかに最善策であるかは、CFA解像度に関してそれぞれのカラー平面を考察するともっともよく判断できる。これについて、回転が0の場合を例に、図22に示した。
【0136】
(3.2.5.1 レッド平面45およびブルー平面47)
レッド平面45およびブルー平面47を観察すると、完全CFA解像度バージョンのカラー平面が、各ディメンション内のサンプリングされたピクセル数を2倍にするスケール‐アップによって生成できることがわかる。中間ピクセルは、再構築フィルタ(Lanczos(ランツォス)または指数関数フィルタ等)を用いて生成することができる。カーネルは対称性があることから、カーネル内においては1つのディメンションしか必要ない。レッドおよびブルーは、CFAサンプル空間内における内部表現という意味から異なるオフセットを有するため、カーネルの初期ポジションが異なるものとなる。
【0137】
入力座標に対する出力座標(1280空間)のマッピングは、ピクセルの位置合わせが回転(プリント・フォーマットに応じて0度または90度)に伴って変化することから、イメージの現在の回転に依存する。レッドおよびブルーについては、次に示す関係が維持される。
【0138】
x’=(x/mps)+k1
y’=(y/mps)+k2
これにおいて:
x,y=中間解像度空間における座標
x’,y’=入力空間における座標
mps=入力空間の1サンプル当たりの中間解像度空間のピクセル数
k1,2={0,−0.5};回転に依存する。
【0139】
これは、入力空間における開始ポジションが与えられたとき、1/mpsのΔxならびにΔyと0の加算をそれぞれ1279回にわたって行うことにより、中間解像度ピクセルの新しいラインを生成できることを意味している。入力空間におけるxおよびyの小数部を直接使用して、イメージ再構成およびリサンプリングのためのカーネル係数のルックアップを行うことができる。
【0140】
ここで、イメージが受けた回転が0度であるか、または90度であるかに応じてk1およびk2が0および−0.5のいずれかになることに注意が必要である。次の表8は、レッドおよびブルーの平面におけるk1およびk2に関する値をまとめたものであり、90度の回転については、反時計回りに行われることを前提としている。
【0141】
【表9】
【0142】
1サンプル当たりの中間解像度ピクセルの数、すなわち「mps」は、プリント・フォーマットに依存する。平面化されたRGBイメージが、回転を受けないとき、レッド平面についてR=750×500の解像度、およびブルー平面についてB=750×500の解像度を有しているとした場合の、各種の出力フォーマットに関するスケール・ファクタ(17ページ(ページ指定は原文に記載されたとおり)の図13を参照されたい)を次の表9に示す。ここでは、パスポート・イメージ・フォーマットの場合に、全体のイメージが出力空間の1/4にリサンプルされることに注意する必要がある。
【0143】
【表10】
【0144】
この表9からわかるように、すべてのイメージ・フォーマットに関してレッドおよびブルーのイメージは「スケール‐アップ」される。したがって、リサンプリング・プロセスによってエイリアシング・アーティファクトが招かれることはない。
【0145】
(3.2.5.2 グリーン平面46)
グリーン平面の各ラインが異なるピクセルを表すことから、つまり交番するライン上の奇数または偶数ピクセルを表すことから、グリーン平面46のスケール‐アップについては、レッドまたはブルーと同じ方法で扱うことができない。ピクセル数という意味においては、グリーン・イメージは750×1000であると表現されるが、同時にそのイメージは1500×500であると言うこともできる。この混乱は、グリーン・ピクセルの市松模様特性からもたらされ、それにおいては、xおよびyのディメンション内のピクセル間の距離が等しくなく、イメージ再構成またはリサンプリングに対する良好なマップが得られない。ほかのシステムによって使用されているグリーン平面に関する補間方法の数の多さは、そのことを立証している−−最近傍複製から、線形補間、双一次補間、さらにヒューリスティックな再構成までにわたる。
【0146】
入力座標に対する出力座標(1280空間)のマッピングは、概念的にはグリーンに関するものも、レッドおよびブルーに関するものに同じである。マッピングは、ピクセルの位置合わせが回転(プリント・フォーマットに応じて0度または90度)に伴って変化することから、イメージの現在の回転に依存する。グリーン平面については、次に示す関係が維持される。
【0147】
x’=(x/mps)+k1
y’=(y/mps)+k2
これにおいて:
x,y=中間解像度空間における座標
x’,y’=入力空間における座標
mps=入力空間の1サンプル当たりの中間解像度空間のピクセル数
k1,2={0,−0.5};回転に依存する。
【0148】
レッド平面45およびブルー平面47と同様に、1サンプル当たりの中間解像度ピクセルの数、すなわち「mps」は、プリント・フォーマットに依存する。平面化されたRGBイメージが、回転を受けないとき、レッド平面についてR=750×500、ブルー平面についてB=750×500、かつグリーン平面についてG=750×1000の解像度をそれぞれ有しているとした場合の、各種の出力フォーマットに関するスケール・ファクタ(図13を参照されたい)を次の表10に示す。ここでは、パスポート・イメージ・フォーマットの場合に、全体のイメージが出力空間の1/4にリサンプルされることに注意する必要がある。
【0149】
【表11】
【0150】
これらのスケール・ファクタは、CFA解像度入力空間と中間解像度空間の間における座標のマッピングを可能にする。しかしながら、グリーン平面46の市松模様特性に起因して、CFA入力空間の座標を獲得した後のイメージの再構成およびリサンプリングを、レッドまたはブルーと同じ方法に従って行うことはできない。
【0151】
それに代えて、高品質のイメージの再構成およびリサンプリングを目的として、ここではグリーン・チャンネルを、45度の回転を受けたイメージであると考える。この観点からピクセルを観察すると、図23に示すように、高品質のイメージ再構成およびリサンプリング方法が明確になる。
【0152】
図23を参照すると、XおよびYディメンションにおけるサンプリングされたピクセル間の距離が、これによって等しくなっている。サンプリングされたピクセル間の実際の距離は、図24に示されるように21/2である。
【0153】
したがって、グリーン・チャンネルに関する解決策は、「回転された空間内において」イメージの再構成およびリサンプリングを行うことである。レッドおよびブルーのリサンプリングの場合と同じ再構成フィルタが使用されるが、カーネルが異なる。これは、グリーン平面に関するサンプリング・レートと信号内の最大周波数の間における関係がレッドおよびブルー平面に関する関係と異なることによる。それに加えて、カーネル座標に関する限り、サンプル間の21/2の距離が1となるように、カーネルを正規化する必要がある(しかしながら、エイリアシングが生じるか否かを決定するために、リサンプリング座標間の正規化していない距離も使用しなければならない)。そのため、次に示す2つの変換が必要になる。
● 第1は、回転されていないCFA空間を回転されたCFA空間にマップする変換である。これは、この回転が45度であることから、各縦座標(ordinate)に1/21/2を乗ずることによって達成される(cos45=sin45=1/21/2)。
● 第2は、座標のスケーリングを行って正規化されたカーネルに整合させる変換であり、これは、各縦座標(ordinate)に1/21/2を乗ずることによって達成される。
【0154】
これら2つの変換を組み合わせると、1/2を因数とした乗算が形成される。つまり回転していないCFA空間のxにおいて「k」だけ進めるとき、カーネルのxにおいてk/2による増加を行い、かつカーネルのyにおいてk/2による減少を行う。同様に、yにおいて「k」だけ進めるときは、カーネルのxにおいてk/2による増加を行い、かつカーネルのyにおいてk/2による増加を行う。
【0155】
これら2つの異なる座標系の間の関係は、CFA空間の入力イメージから中間解像度ピクセルのラインを生成するとき何が起こるかを考えることによって説明することができる。CFA入力空間の開始y座標が与えられているとき、x=0から開始し、1/mpsずつ1280回の前送りを繰り返すことによって、それぞれの新しいロケーションにおける新しいピクセルを生成する。回転されていないCFA空間における1/mpsずつ移動は、回転されたCFA空間におけるx方向の移動およびy方向の移動に分解することができる。このプロセスを図25に示す。
【0156】
cos45=sin45=1/21/2であることから、回転されていないCFA空間内における1/mpsの移動は、xおよびyにおいて等しく1/(mps・21/2)の移動をそれぞれ行うことに等しい。そこでこの量をスケーリングし、正規化されたカーネルに整合させる。このスケーリングは、1/21/2を用いたもう1つの乗算を行うことに等しい。結局、回転されていないCFA空間における1/mpsの移動は、カーネルxおよびカーネルyにおける1/2mpsの移動に等しくなる。次の表11に、各種のフォーマットに関する3つの座標系の間の関係をまとめる。
【0157】
【表12】
【0158】
表11から、カーネル空間内の移動は、必ず1より小さい数によって行われるが、回転されたCFA空間内においては、パスポート・イメージだけが1より大きいΔ値を有することがわかる。つまり、パスポート・プリント・フォーマットについてはエイリアシングを生じるが、それ以外については生じない。しかしながら、Δがほぼ1であり、4つのイメージのそれぞれが1/4のサイズしかないことを考えれば、また特に、イメージ取り込みの間においてグリーンに対する理想的なロー・パス・フィルタリングを仮定していることからも、このエイリアシングが目立ったものとなることはない。
【0159】
(3.2.5.3 レッド、ブルー、グリーンに関する再構成フィルタ)
使用される再構成フィルタは、厳密に言えば多くの問題に依存する。これは、オリジナルの信号の構成に使用されるサンプルの数と、信号の再構成に要する時間、および再構成後のイメージの品質の間のトレード‐オフを常に伴う。この場合の満足の行くトレード‐オフは、評価されるポジションXを中心とし、再構成中のディメンションから5個のピクセル・サンプル−−すなわち、X−2、X−1、X、X+1、X+2を使用する。5個のサンプル・ポイントを用いた再構成の特性から、コンボリューション・カーネル内のエントリに関して4個の係数があればよいことになる。
【0160】
そこで、それぞれのカラー成分ごとに「n」個のエントリを伴うカーネル係数ルックアップ・テーブルを作成した。各エントリは、4個の係数を有している。ここでは、出力空間において前送りを行うとき、出力空間における変化を入力空間およびカーネル空間における変化にマップする。カーネル係数テーブルへのインデクスには、現在のカーネル空間内の小数成分の最上位からビットを使用する。カーネル・テーブル内に64個のエントリがあるとすれば、小数の上位6ビットを使用して係数のルックアップを行う。Printcam(プリントカム)におけるリサンプリングについては、64個のエントリは極めて充分な数である。
【0161】
(3.2.6 シャープニング65)
CFAによって取り込まれたイメージには、プリントの前にシャープニングを行わなければならない。理想的には、CFA解像度ドメイン内においてシャープニング・フィルタを適用する。しかしながら、イメージ取り込み解像度においては、各ピクセルがフルカラー情報を有していない。それに代えて、各ピクセル・ポジションは、レッド、ブルーまたはグリーンだけを有している。各カラー平面のシャープニングを独立に行うことはカラー・シフトをもたらす。シャープニングは、所定のピクセルのヒューおよび飽和度が変更を受けないように、独立に行われるのではなく、イメージの輝度チャンネルに対して適用される必要がある。
【0162】
したがってシャープニングは、カラー空間へのRGBイメージの変換を伴い、それにおいては、カラー情報(HLSまたはLab等)80が、輝度およびそれ以外の情報に分離される。その後、(輝度のハイ・パス・フィルタリング後のバージョンと調和を保ちつつ加算を行うことによって)輝度チャンネル81のシャープニング82を行うことが可能になる。最後に、全体のイメージをRGB(または、CMYでプリントを行うことから、CMY)に戻す変換83を行う。図26は、これらのプロセスを示している。
【0163】
しかしながら、ハイ・パス・フィルタリング後のLをイメージに戻す加算の効果、すなわち、この効果がイメージの輝度における変化であることを考えると、カラー変換の多くを回避することができる。所定のピクセルの輝度における変化は、線形R、G、およびBにおける均等な変化によって良好に近似することができる。したがって、ここでは、単純にLを生成し、Lのハイ・パス・フィルタリングを行い、結果の割合をR、G、およびBに等しく適用している。
【0164】
(3.2.6.1 RGBからLへの変換80)
ここでは、Lが知覚的に均一であるCIE 1976 L*a*b*カラー空間を考える。RGBからL(輝度チャンネル)への変換を行うために、次のようにしてR、G、およびBの最大と最小を平均する。
L={MIN(R,G,B)+MAX(R,G,B)}/2
【0165】
(3.2.6.2 Lのハイ・パス・フィルタリング84)
その後、輝度情報にハイ・パス・フィルタ84を適用することができる。CFA解像度空間ではなく、中間解像度空間においてフィルタリングを行っているが、シャープニング・カーネルのスケール・アップ、もしくはハイ・パスの結果のスケーリングを適切に行うことが可能である。シャープニングの正確な量は、CFAに依存することになるが、3×3のコンボリューション・カーネル85は、良好な結果を得る上で充分である。
【0166】
カーネルのサイズの増加を行うのであれば、カーネルのスケーリングのための基礎としてグリーン・チャンネルを使用し、1280の解像度空間に適用したとき、CFA空間における3×3のコンボリューションに必要となる有効なスケーリング86について次の表12に示す。この表から、すべてのシャープニングにとって、中間解像度空間に適用されるサイズ7×7のカーネルが適切になることが明らかである。
【0167】
【表13】
【0168】
3×3フィルタ85を中間解像度イメージに適用するのであれば、一般的なイメージ・スケーリング操作に使用されるスケーリング・ファクタに従って結果のスケーリング86を行うことになる。表12における値(特に標準プリント・フォーマットの値)を前提とするのであれば、3×3フィルタ85を使用し、その後、結果のスケーリングを行うことができる。図27は、単一のフィルタリング後のLピクセルを生成するプロセスを示している。
【0169】
使用される実際のカーネルは、標準ハイ・パス・フィルタ・カーネルのセットから選択した任意の1つとすることができる。基本的ではあるが、PCPのこのインプリメンテーションにおいては充分なハイ・パス・フィルタを図50に示す。
【0170】
(3.2.6.3 フィルタリング後のLとRGBの加算)
次に行うことは、結果として得られたフィルタリング後の輝度値を、調和を保って輝度チャンネルに加えて戻すことである。その後、イメージを元のRGBに(またはそれに代えてCMYに)変換することができる。しかしながら、輝度における変化は、(カラー空間が線形であるとする限り)R、G、およびBにおける均等な変化によって妥当な近似を得ることができる。つまり、ハイ・パス・フィルタリング後の輝度値の均等な割合をR、G、およびBに加えることによって、カラー変換を完全に回避することが可能になる。ハイ・パス・フィルタリング後のイメージの正確な割合は、スケール・ファクタを用いて定義することができる。
【0171】
ハイ・パス・フィルタリング後の輝度ピクセルをLとし、定数のスケール・ファクタをkとするとき、R、G、およびBのシャープニングの変換を次のように定義することができる。
R’=R+kL
G’=G+kL
B’=B+kL
ただし、それぞれの上限を255とする。
【0172】
当然のことながら、Lに適用されるスケール・ファクタは、単一スケール・ファクタに関するハイ・パス・フィルタリング・プロセス(セクション3.2.6.2参照)におけるスケール・ファクタと組み合わせることが可能である。
【0173】
RGBピクセルに対するシャープニングの適用の後は、プリントアウトのためのCMY 83にイメージの変換を行うことができる。
【0174】
(3.2.7 CMYへの変換83)
理論的な意味において、RGBからCMYへの変換は単純である。
C=1−R
M=1−G
Y=1−B
【0175】
しかしながら、この変換は、CMY空間が線形応答を有していることが前提となっており、それが顔料インクに当てはまらないことは明白であり、ダイ‐ベースのインクにおいても、わずかに部分的に当てはまるだけである。特定デバイス(入力および出力)の個別のカラー・プロファイルは、著しく変動する可能性がある。結局、正確な変換を考慮に入れるため、および将来的なセンサを考慮に入れるために、より高精度のモデルがPrintcam(プリントカム)に必要になる。
【0176】
必要となる変換を図28に示した。知覚的に(XYZとは異なり)均一であることからLabが選択されている。イメージ・センサのガンマウト(gamut)からプリンタのガンマウト(gamut)へのマッピングに関して言えば、プリンタのガンマウト(gamut)は、完全にセンサのガンマウト(gamut)内に含まれる。
【0177】
これらの変換を網羅的に実行するのではなく、3セットの3Dルックアップ・テーブルに基づいた3‐1次(tri−linear、トリ−リニア、3次)変換を介して、優れた結果を得ることができる。このルックアップ・テーブルは、RGBによってインデクスされる固有のエントリに関する結果の変換を含んでいる。3つのテーブルが必要になる:1つのテーブル90はRGBからCへのマッピングを行い、1つのテーブル91はRGBからMへのマッピングを行い、残り1つのテーブル92はRGBからYへのマッピングを行う。テーブル内に含まれていないエントリについては、3‐1次(tri−linear)補間を使用して最終的な結果を求めることができる。図29は、このプロセスを示している。
【0178】
3‐1次(tri−linear)補間は、ルックアップ・テーブルからの8個の値の読み出し、および7回の線形補間(第1のディメンションにおいて4回、第2のディメンションにおいて2回、第3のディメンションにおいて1回)を必要とする。出力値は8ビットしかないが、中間的な値については高い精度を使用することができる。
【0179】
必要となるルックアップ・テーブルのサイズは、変換の線形性に依存する。各テーブルに推奨されるサイズは、ここでの応用においては、17×17×171であり、それぞれのエントリは8ビットである。17×17×17のテーブルは、4913バイト(5キロバイト以下)である。
【0180】
注意:
1:17×17×17のテーブルは優れた結果をもたらすが、9×9×9の変換テーブル(729バイト)だけを用いて求めることが可能になる場合もある。正確なサイズは、シミュレーションによって決定することができる。5Kの「保守的だが明確な結果をもたらす」アプローチは、このドキュメントのために選択されたものである。
【0181】
1ディメンション当たり17のテーブルに対するインデクスのために、8ビットの入力カラー成分が固定小数点数(4:4)として扱われる。4ビットの整数がインデクスに使用され、4ビットの小数が補間に使用される。
【0182】
(3.2.8 アップ補間67)
次に中間解像度(1280幅)のCMYイメージを、最終的なプリント解像度(6400幅)に引き上げるアップ補間を行わなければならない。その比は、いずれのディメンションについても1:5である。
【0183】
確かに、25個の値(XおよびYディメンションの両方において1:5)を双1次補間することも可能であるが、結果としてもたらされる値は、連続階調(contone)でプリントされるわけではない。結果は、ディザ処理され、2値レベルでプリントされる。連続階調(contone)1600dpiの結果がディザ処理された2値レベルのドットに変換されると考えると、320dpiから1600dpiへの双1次補間の精度は目立つものとはならない(中間解像度は、まさにこの理由から選択された)。したがって、ピクセルのレプリケーションが、良好な結果をもたらすことになる。
【0184】
ピクセルのレプリケーションは、1つのピクセルに注目し、それをより広いエリアに関する値として使用するだけの単純なプロセスである。ここでは、単一のピクセルを25ピクセル(5×5ブロック)に複製している。各ピクセルが連続階調(contone)であるとすれば、結果が濃淡にむらのあるものとなる可能性があるが、ピクセルのディザ処理が行われることから、その効果は、結果として得られる25個の2値レベルのドットが連続階調(contone)値を模することになる。このプロセスを図30に示した。
【0185】
(3.2.9 ハーフトーン68)
プリントヘッド2は、2値レベル形式のみにおいてドットのプリントを行うことができる。したがって、連続階調(contone)CMYイメージからディザ処理によるCMYイメージに変換しなければならない。より詳細を述べれば、確率論的ディザ・セルを使用し、連続階調(contone)CMYイメージをディザ処理による2値レベルCMYイメージに変換してディザ配列された分散ドットを生成する。
【0186】
8ビット、1600dpiの連続階調(contone)値は、ディザ・セル93内のカレント・ポジションと比較される。80ビットの連続階調(contone)値がディザ・セルの値より大きければ、出力ビットとして1が生成される。それに該当しなければ、出力ビットとして0が生成される。この出力ビットは、最終的にプリントヘッドに送られ、単一のノズルをコントロールし、単一のC、M、またはYドットを生成することになる。このビットは、特定のカラーおよびポジションに関して特定のノズルの発射を行うか否かを表す。
【0187】
ディザ・セル93内の同一ポジションをC、M、およびYに使用することができる。これは、実際のプリントヘッド2が、同一のプリント・サイクル内において異なるC、M、およびYドットを生成することを理由とする。異なるカラー・ドットのスタガ配置は、実質的にディザ・セル内におけるスタガ配置をもたらす。
【0188】
図3は、このハーフトーン・プロセス1を示している。
【0189】
ディザ・セル93のサイズは、出力ドットの解像度に依存する。1600dpiのドットを生成していることから、セルのサイズを、32×32より大きくする必要がある。それに加えて、ドット処理の順序とプリントヘッド・セグメントの整合を可能にするために、理想的にはディザ・セルのサイズが、800に均等に分けられる必要がある(プリントヘッドの各セグメントが800ドットを有することから)。
【0190】
サイズが50×50のディザ・セルは、高品質の結果を得る上で充分な大きさであり、均等に800(16回)に分けることができる。ディザ・セルの各エントリは8ビットであり、合計で2500バイト(約1.5キロバイト)になる。
【0191】
(3.2.10 プリンタのためのリフォーマット69)
プリンタに送る前に行われるこの最後のプロセスは、プリントヘッドに送られる適正な順序に従ってドットをフォーマットするためのものである。ドットは、セクション2.2.1に定義されているように、適正な順序に従って一度に24ドットがプリントヘッドに送られなければならない。
【0192】
プリント用の適正な順序でドットが生成できるとすれば(つまり、アップ補間およびディザ・ファンクションが適正な順序でデータを生成する)、これらのドット値(それぞれの値は1ビット)を単純に収集し、24個のグループとして送出することができる。そのプロセスを図32に示す。
【0193】
その後は、24ビットのグループをMemjet(メムジェット)インターフェース15によりプリントヘッド2に送ることができる。
【0194】
(4 CPUコアおよびメモリ)
(4.1 CPUコア10)
PCP 3は、単一のマイクロコントローラCPUコア10を組み込み、イメージ取り込みおよびプリントのイメージ処理チェーンをシンクロし、かつPrintcam(プリントカム)の、ユーザ・インターフェースを含む一般的なオペレーティング・システム・デューティを実行している。各種広範なCPUコアが適している:必要な計算およびコントロール機能を、コンシューマの期待に合った充分な速度で実行する充分なプロセッシング・パワーを備えているものであれば、任意のプロセッサとすることができる。
【0195】
すべてのイメージ処理が専用ハードウエアによって実行されることから、CPUがピクセルを処理する必要はない。結局、CPUを極めてシンプルにすることが可能になる。しかしながら、プリントの間にわたりステッパ・モータを動作させる充分な速さを有していなければならない(ステッパ・モータは約5kHzの処理を必要とする)。適切なコアの一例として、約1MHzで動作するPhilips(フィリップス)8051マイクロコントローラを挙げることができる。
【0196】
異なるPrintcam(プリントカム)間においてインストラクション・セットの連続性を維持する必要はない。ライセンスまたはCPUコアのポートを伴うことなく、異なる製造者によって異なるPCPチップ・デザインを製造することが許される。このデバイスの独立性は、Intel(インテル)を伴うPC市場に生じているようなチップ・ベンダーのロック‐インを防止する。
【0197】
CPUコアに関連付けされてプログラムROM 13および小規模のプログラム・スクラッチRAM 14が備わっている。
【0198】
CPU 10は、メモリ‐マップI/Oを介してPCP 3内の他のユニットと通信する。特定のアドレス範囲が特定のユニットをマップし、それぞれの範囲内においては、その特定のユニット内の特定のレジスタをマップする。これには、シリアルおよびパラレル・インターフェースも含まれる。
【0199】
(4.2 プログラムROM 13)
PCP 3には、小規模のプログラム・フラッシュROM 13が組み込まれている。このROMのサイズは、選択されているCPUに依存するが、16〜32KBを超えないものとする。
【0200】
(4.3 プログラムRAM 14)
同様に小規模のスクラッチRAMエリア14がPCP 3に組み込まれている。プログラム・コードは、イメージを操作する必要がないことから、大きなスクラッチ・エリアの必要はない。RAMのサイズは、選択されているCPU(たとえば、スタック・メカニズム、サブルーチン呼び出し規約、レジスタのサイズ等)に依存するが、4KBを超えないものとする。
【0201】
(4.4 CPUメモリ・デコーダ16)
CPUメモリ・デコーダ16は、CPUのデータ・アクセスを満たすためのシンプルなデコーダである。このデコーダは、データ・アドレスを、内部低速バスを介した内部PCPレジスタ・アクセスに翻訳するものであり、したがってPCPレジスタのメモリ‐マップI/Oを考慮している。
【0202】
(5 通信インターフェース)
(5.1 USBシリアル・ポート・インターフェース17)
これは標準USBシリアル・ポートであり、内部のチップ低速バス18に接続されている。USBシリアル・ポートは、CPU 10によってコントロールされる。このシリアル・ポートは、Printcam(プリントカム)に対するイメージの転送およびそれからの転送を可能にし、かつ外部コントロールの下に、転送された写真のDPOF(Digital Print Order Format:ディジタル・カメラ・プリント・サービス用フォーマット)プリントを可能にする。
【0203】
(5.2 QAチップ・シリアル・インターフェース19)
これは、2つの標準低速シリアル・ポートであり、内部のチップ低速バス18に接続されている。これら2つの間におけるCPU仲裁プロトコルが、プリント・ロールの認証[1,2]および次に示す機能のために使用される。
● インク特性の獲得
● 推奨インク滴速度の獲得
● プリント済みのペーパー量の追跡、および残りのペーパー量が要求されたプリント・フォーマットのプリントに不充分であるときの新しいプリント・ロールの要求。
【0204】
2つのポートを有する理由は、個別のラインを使用するオン‐カメラQAチップ4およびプリント・ロールのQAチップ5に対する接続を得るためである。2つのQAチップは、認証チップ[2]としてインプリメントされる。単一のラインだけを使用するとした場合には、クローン・プリント・ロール製造者に認証メカニズムの不正使用を許すことになる[1]。
【0205】
(5.2.1 プリント・ロールのQAチップ5)
各プリント・ロール消耗品は、独自のQAチップ5を有している。このQAチップは、可能な最良プリント品質の維持に求められる情報を含んでおり、認証チップ[2]を使用してインプリメントされる。次に、256ビットのデータの割り当てを示す。
【0206】
【表14】
【0207】
それぞれのプリントの前に、CPUによってペーパーの残量がチェックされ、現在指定されているプリント・フォーマットのプリントに充分なペーパーがあることが保証される。各プリントの開始後は、プリント・ロールのQAチップ内のペーパーの残量がCPUによってデクリメントされなければならない。
【0208】
(5.3 パラレル・インターフェース6)
パラレル・インターフェース6は、PCP 3と個別の静的電気信号を接続する。CPUは、これらの接続のそれぞれを、低速バスを介し、メモリ‐マップI/Oとしてコントロールすることができる(メモリ‐マップI/Oについての詳細は、セクション4.4を参照されたい)。
【0209】
次の表14は、パラレル・インターフェースに対する接続を示している。
【0210】
【表15】
【0211】
(5.4 JTAGインターフェース7)
PCP 3には、テストを目的として、標準JTAG(Joint Test Action Group;ジョイント・テスト・アクション・グループ)インターフェース7が含まれている。チップの複雑性に起因して、BIST(Built In Self Test;ビルト・イン・セルフ・テスト)および機能ブロック分離を含む各種のテスト・テクニックが必要となる。チップ・エリア内においては10%のオーバーヘッドが、全体的なチップ・テスト回路用に見込まれている。
【0212】
(6 イメージRAM 11)
イメージRAM 11は、取り込み済みイメージ42のストアに使用される。このイメージRAMには、電源が遮断された後においてもイメージが保持されるように、マルチ‐レベル・フラッシュ・メモリ(1セル当たり2バイト)が用いられている。
【0213】
平面化された線形RGBイメージに必要となるメモリの総量は1,500,000バイト(約1.5MB)であり、その構成は次に示すとおりである。
● R:750×500=375,000バイト
● B:750×500=375,000バイト
● G:750×1000=750,000バイト
【0214】
イメージは、イメージ取り込みユニットによって書き込まれ、イメージ・ヒストグラム・ユニットならびにプリント・ジェネレータ・ユニット99の両方によって読み出される。CPU 10は、このイメージ・メモリに対する直接的なランダム・アクセスを有していない。アクセスする場合には、CPUは、イメージ・アクセス・ユニットを介して行われなければならない。
【0215】
(7 イメージ取り込みユニット12)
イメージ取り込みユニットは、セクション3.1において説明したイメージ取り込みチェーンによって求められるすべての機能を含んでいる。イメージ取り込みユニットは、イメージ・センサ・インターフェース98を介してピクセル・データを受け入れ、さらにルックアップ・テーブル96を介してRGBを線形化し、最後に線形化したRGBイメージを平面フォーマットによりRAM内に書き込む。図33は、このプロセスを示している。
【0216】
(7.1 イメージ・センサ・インターフェース98)
イメージ・センサ・インターフェース(ISI)98は状態マシンであり、イメージを読み込むためのフレーム同期パルスおよびピクセル・クロック・パルスを含むコントロール情報をCMOSイメージ・センサに送る。多くのISIは、イメージ・センサ製造者からソースされるセルとなる傾向にある。ISI自体は、イメージ取り込みユニット状態マシン97によってコントロールされる。
【0217】
(7.1.1 イメージ・センサのフォーマット)
各種のイメージ・センサが使用可能であるが、ここではベイヤー・カラー・フィルタ・アレイ(CFA)だけを考える。ベイヤーCFAは、ここに定義されている多数の属性を有する。
【0218】
CMOSセンサ1によって(撮影レンズを介して)取り込まれたイメージは、充分にフィルタリングされており、エイリアシング・アーティファクトがすべて除去されているものとする。センサ自体の縦横比は3:2であり、1500×1000サンプルの解像度を伴う。もっとも適切なピクセル配列はベイヤー・カラー・フィルタ・アレイ(CFA)であり、図15に示されるように、それぞれの2×2ピクセル・ブロックが2Gモザイクとして配列される。
【0219】
R、G、またはB(それぞれレッド、グリーン、およびブルーに対応する)の各連続階調(contone)サンプルは、10ビットである。ただし、モザイクの各ピクセルが、R、G、およびBのうちの「1つ」だけについての情報を含むことに注意する必要がある。失われたカラー情報の評価を行ってからでなければ、イメージのプリントアウトを行うことができない。
【0220】
CFAは、適切な固定パターン・ノイズ(FPN)抑圧を行うものとする。追加のFPN抑圧が求められることもある。
【0221】
(7.2 ルックアップ・テーブル96)
ルックアップ・テーブル96は、センサのRGBを線形RGBにマップするROMである。これは、セクション3.1.2において説明したRGBの線形化プロセス40に一致する。このROM自体は、3キロバイトである(3×1024×8ビット)。10ビットのアドレスがISIから到来するが、2ビットのTableSelect(テーブルセレクト)は、イメージ取り込みユニット状態マシン97によって生成される。
【0222】
(7.3 状態マシン97)
イメージ取り込みユニット状態マシン97は、イメージ・センサ・インターフェース1のためのコントロール信号を生成し、RGB 40を線形化するため、およびイメージ・データ41を平面化するためのアドレスを生成する。
【0223】
ISI 98に渡されるコントロール信号は、ピクセルの取り込みの開始、ピクセルの取り込みの停止等をISIに伝える。
【0224】
ルックアップ・テーブル96に渡される2ビットのアドレスは、ISIから読み出しが行われているカレント・ラインに符合する。偶数ライン(0、2、4、...)の場合には、この2ビットのアドレスがレッド、グリーン、レッド、グリーン、...となる。奇数ライン(1、3、5、...)の場合には、この2ビットのアドレスがグリーン、ブルー、グリーン、ブルー、...となる。このことは、カメラの姿勢とは無関係に常に当てはまる。
【0225】
RAM 11に渡される21ビットのアドレスは、イメージの書き込みアドレスである。3個のレジスタが、レッド、グリーン、およびブルー平面のそれぞれに関するカレント・アドレスを保持する。これらのアドレスは、各平面にピクセルが書き込まれるごとにインクリメントされる。
【0226】
(7.3.1 レジスタ)
イメージ取り込みユニットには、多数のレジスタが含まれている。
【0227】
【表16】
【0228】
それとは別に、イメージ・センサ・インターフェース98にも、多数のレジスタが備わっている。レジスタの厳密な数は、選択されたイメージ・センサ1に依存する。
【0229】
(8 イメージ・アクセス・ユニット9)
イメージ・アクセス・ユニット9は、イメージRAM 11内にあるイメージにCPU 10がアクセスするための手段を提供する。CPU 10は、イメージRAM 11内のイメージからピクセルを読み出し、ピクセルを書き戻すことができる。
【0230】
イメージは、イメージのストア(たとえば、USBを経由)17を目的として、あるいは単にイメージ処理のために読み出すことができる。イメージ処理後のピクセルは、以前の保存済みイメージとして(USBを介してロード)もしくはテスト・パターンのためのイメージとしてイメージRAM 11に書き込むことができる。テスト・パターンは、合成イメージ、特別なテスト・イメージ(USBを介してロード)とすることも可能であり、またプリント・ジェネレータ・ユニット99のテスト・モードを介してプリントヘッドに直接ロードされる24ビットのノズル発射値とすることも可能である。
【0231】
イメージ・アクセス・ユニット9は、イメージRAM 11に対する単純なアクセス・メカニズムであり、次の表16に示すように、3個のレジスタという観点から見ると極めてシンプルに動作する。
【0232】
【表17】
【0233】
イメージ・アクセス・ユニットの構成は、図35に示されるように非常にシンプルなものである。
【0234】
状態マシン101は、CPU 10がモード・レジスタに書き込みを行うと、イメージRAM 11からの読み出し/それに対する書き込みを単純に実行する。
【0235】
(9 イメージ・ヒストグラム・ユニット8)
イメージ・ヒストグラム・ユニット(IHU)8は、セクション3.2.2において説明したプリント・イメージ処理チェーンによって求められるイメージのヒストグラムを生成するためにデザインされている。IHUは、それぞれが8ビットのサンプルを伴う平面フォーマットのイメージに関するヒストグラムの生成だけを行う。
【0236】
イメージ・ヒストグラム・ユニット8は、通常、1プリントについて3回使用される。それぞれのカラー平面について1つ、合計で3つの異なるヒストグラムが収集される。ヒストグラムが収集されるごとに結果が分析されて、残りのプリント・プロセスに使用される高低のスレッショルド、スケーリング・ファクタ等が決定される。このヒストグラムの用いられ方に関する詳細な情報については、セクション3.2.2.2およびセクション3.2.4を参照されたい。
【0237】
(9.1 ヒストグラムRAM 102)
ヒストグラム自体は、256エントリのRAM 102にストアされ、それにおいて各エントリは20ビットを有する。このヒストグラムRAMは、IHU内からだけアクセスすることができる。個別のエントリは、20ビットの数量として読み出され、また書き込まれる。
【0238】
(9.2 状態マシンおよびレジスタ103)
状態マシン103は、セクション3.2.2.1において説明した疑似コードに従う。これは、次の表17に示されるレジスタによってコントロールされる。
【0239】
【表18】
【0240】
これらのレジスタの代表的な用途は、カウントに含めるピクセルの総数(たとえばレッドであれば375,000)をTotalPixels(トータルピクセルズ)に、レッド平面のアドレスをStartAddress(スタートアドレス)に、1をClearCount(クリアカウント)に、1をGo(ゴー)レジスタにそれぞれセットすることである。カウントが完了時に、0〜255をPixlValue(ピクセルバリュー)に書き込み、対応するPixlCount(ピクセルカウント)を読み出すことによって、ヒストグラム内の個別の値を決定することができる。
【0241】
(10 プリントヘッド・インターフェース105)
プリントヘッド・インターフェース(PHI)105によって、PCP 3が、プリントされるドットをMemjet(メムジェット)プリンタ2にロードし、実際のドット・プリント・プロセスをコントロールする。PHIは、次に示す多数のユニットに関する論理ラッパーである。
● Memjet(メムジェット)インターフェース(MJI)15:データをMemjet(メムジェット)プリントヘッドに転送し、プリントの間におけるノズル発射シーケンスをコントロールする。
● プリント・ジェネレータ・ユニット(PGU)99:24ページ(ページ指定は原文に記載されたとおり)のセクション3.2において説明したプリント・チェーンのほとんどのインプリメンテーションであり、さらにテスト・パターンを生成する手段を提供する。PGUは、イメージRAM 11から、CFAフォーマットの取り込み済みイメージから得られた平面化された線形RGBを獲得し、1600dpiのディザ処理済みCMYイメージをMemjet(メムジェット)インターフェース15からの要求に応じてリアルタイムで生成する。それに加えてPGUは、テスト・パターン・モードを有しており、それにおいては、CPU 10が、プリント間に発射を行うノズルを正確に指定することが可能である。
【0242】
PHI内のユニットは、CPUによりプログラムされる多数のレジスタによってコントロールされる。
【0243】
プリントヘッド・インターフェースの内部的な構成を図37に示す。
【0244】
(10.1 Memjet(メムジェット)インターフェース15)
Memjet(メムジェット)インターフェース(MJI)15は、PCPを外部のMemjet(メムジェット)プリントヘッドに接続し、データおよび適切な信号をともに提供して、プリントの間におけるノズルのロードおよび発射シーケンスをコントロールする。
【0245】
Memjet(メムジェット)インターフェース15は、セクション2.2において説明したプリントヘッドのロードおよび発射の順序に従う単なる状態マシン106(図38参照)であり、セクション2.4.1およびセクション2.4.2において説明したプレヒート・サイクルおよびクリーニング・サイクルの機能を含む。
【0246】
MJI 15は、次に示す2つのデータ・ソースの選択肢から、プリントヘッドにデータをロードする。
● オール「1」:これは、続くプリント・サイクルの間にすべてのノズルの発射が行われることを意味し、プレヒートまたはクリーニング・サイクルのためのプリントヘッドへのロードに関する標準メカニズムである。
● PGU 99の転送レジスタ内に保持されている24ビットの入力から:これは、取り込み済みの写真またはテスト・パターンであるかによらず、イメージをプリントするための標準的な手段である。PGUからの24ビットの値は、直接プリントヘッドに渡され、1ビットの「Advance(アドバンス;前送り)」コントロール・パルスがPGUに送られる。各ラインのエンドにおいては、1ビットの「AdvanceLine(アドバンスライン;ライン送り)」パルスもPGUに送られる。
【0247】
PGU 99が、最初の24ビットの転送する値の準備を、すで行った後でなければ、MJI 15を開始することができない。プリントヘッドに対する最初の転送に関して24ビットのデータ入力を有効にするために、このようになっている。
【0248】
したがって、MJI 15は、プリント・ジェネレータ・ユニット99および外部のプリントヘッド2と直接接続されている。基本的な構成を図38に示した。
【0249】
(10.1.1 プリントヘッドに対する接続)
MJI 15は、プリントヘッド2に対して、MJI 15に関する入力および出力という意味において、次に示す接続を有している(セクション2参照)。
【0250】
【表19】
【0251】
(10.1.2 発射パルスの持続時間)
AEnable(Aイネーブル)ラインおよびBEnable(Bイネーブル)ライン上の発射パルスの持続時間は、インクの粘稠度(それ自体が温度ならびにインクの特性に依存する)およびプリントヘッドに使用可能な電力に依存する。一般的なパルスの持続時間は1.3〜1.8マイクロ秒になる。したがって、MJIは、プログラマブル・パルス持続時間テーブルを有し、プリントヘッドからのフィードバックによってそれがインデクスされる。パルス持続時間のテーブルは、低コストの電源の使用を可能にし、さらに、より正確なインク滴発射の維持に役立つ。
【0252】
パルス持続時間テーブルは、256個のエントリを有し、Tsense(Tセンス)およびVsense(Vセンス)のカレント・セッティングによってインデクスされる。すなわち、アドレスの上位4ビットがVsense(Vセンス)から到来し、アドレスの下位4ビットがTsense(Tセンス)から到来する。各エントリは8ビットであり、0〜4マイクロ秒の範囲を固定小数点値で表す。図39は、AEnable(Aイネーブル)ラインおよびBEnable(Bイネーブル)ラインを生成するプロセスを示している。
【0253】
写真のプリントの前に、CPU 10によって256バイトのテーブルに対する書き込みが行われる。このテーブル内の各8ビットのパルス持続時間エントリは、次に示す内容の組み合わせとなる。
● 明度セッティング
● インクの粘稠度曲線(QAチップから)5
● Rsense(Rセンス)
● Wsense(Wセンス)
● Tsense(Tセンス)
● Vsense(Vセンス)
【0254】
(10.1.3 ドット・カウント)
MJI 15は、プリントヘッド2から発射される各カラーのドット数のカウントを維持している。この各カラーに関するドット・カウントは、32ビットの値であり、プロセッサ・コントロールの下に個別にクリアされる。各ドット・カウントは、最大カバレッジ・ドット・カウント、すなわち6インチ・プリント69枚分のドット・カウントを保持することができるが、通常の使用においては、各プリントの後にドット・カウントが読み取られ、クリアされる。
【0255】
初期のPrintcam(プリントカム)製品においては、消耗品にペーパー「および」インクがともに含まれていたが、別のPrintcam(プリントカム)モデルにおいては、交換可能なインクのみの消耗品を有することが考えられる。初期のPrintcam(プリントカム)製品は、ミリメートルで表されるペーパー残量をカウント・ダウンし(QAチップ5にストアされる−−セクション5.2参照)、所望のフォーマットのプリントに充分なペーパーが残っているか否かを知ることができる。すべての供給されたペーパーのフル・カバレッジについては、充分なインクが存在する。別のPrintcam(プリントカム)においては、CPU 10がドット・カウントを使用してQAチップ5を更新し、インク・カートリッジがインク切れになる時期を予測する。プロセッサは、各C、M、およびY用のカートリッジ内のインク残量をQAチップ5から知ることができる。インク滴数をカウントすることによって、インク・センサが必要なくなり、またインク・チャンネルがインク切れで乾くことも防止される。更新されたインク滴カウントは、それぞれのプリントの後にQAチップ5に書き込まれる。充分なインクが残っていない限り、新たに写真が印刷されることはなく、ユーザは、再プリントが必要となる、むだな写真をプリントすることなしにインクを交換することができる。
【0256】
シアンに関するドット・カウンタのレイアウトを図40に示す。残り2つのドット・カウンタ(マゼンタ用のMDotCountおよびイエロ用のYDotCount;それぞれ「Mドットカウント」、「Yドットカウント」)についても、同一の構成になる。
【0257】
(10.1.4 レジスタ)
CPU 10は、レジスタ・セットを介してMJI 15との通信を行う。これらのレジスタによってCPUは、プリントのパラメータ化が可能になるだけでなく、プリントの進行に関するフィードバックの受け取りも可能になる。
【0258】
次に、MJIに含まれるレジスタを示す。
【0259】
【表20】
【0260】
【表21】
【0261】
【表22】
【0262】
MJIの状態レジスタは、16ビットのレジスタであり、次に示すビット解釈を伴う。
【0263】
【表23】
【0264】
(10.1.5 プレヒート・サイクルおよびクリーニング・サイクル)
クリーニング・サイクルおよびプレヒート・サイクルは、適切なレジスタをセットすることによって簡単に達成される。
● SetAllNozzles(セットオールノズルズ)=1
● PulseDuration(パルスデュレーション)レジスタを低持続時間(プレヒート・モードの場合)もしくはクリーニング・モードの適切なインク滴発射持続時間にセットする。
● NumLines(ナムラインズ)をノズルの発射を行う回数にセットする。
● Go(ゴー)ビットをセットし、その後プリント・サイクルが完了して、Go(ゴー)ビットがクリアされるまで待機する。
【0265】
(10.2 プリント・ジェネレータ・ユニット99)
プリント・ジェネレータ・ユニット(PGU)99は、セクション3.2において説明したプリント・チェーンのほとんどのインプリメンテーションであり、さらにテスト・パターンを生成する手段を提供する。
【0266】
もっとも単純な見方をすれば、PGUは、図41に示されるように、イメージRAM 11とMemjet(メムジェット)インターフェース15の間におけるインターフェースを提供する。このPGUは、イメージRAMから、CFAフォーマットの取り込み済みイメージから得られた平面化された線形RGBを獲得し、1600dpiのディザ処理済みCMYイメージをMemjet(メムジェット)インターフェースからの要求に応じてリアルタイムで生成する。それに加えて、PGU 99はテスト・パターン・モードを有しており、それにおいては、CPU 10が、プリント間に発射を行うノズルを正確に指定することができる。MJI 15は、PGU 99に、24ビットが使用されるごとにAdvance(アドバンス;前送り)パルスを、またラインのエンドにおいてAdvanceLine(アドバンスライン;ライン送り)パルスを提供する。
【0267】
PGU 99は、2つのイメージ処理チェーンを有している。第1はテスト・パターン・モードであり、単純にデータを直接イメージRAM 11から読み出し、MJIに対する出力準備の整ったバッファ内においてそのフォーマットを行う。第2は、多数のプリント・チェーン機能を包含する(セクション3.2参照)。図18に示したプリント・チェーンには、次の機能が含まれる。
● 統計の収集60
● イメージの回転61
● ホワイト・バランス62
● 範囲の拡張63
● リサンプリング64
● シャープニング65
● CMYへの変換66
● アップ補間67
● ハーフトーン68
● プリンタのためのリフォーマット69
【0268】
PGU 99は、統計の収集60を除き、これらすべての機能を備えている。統計の収集ステップを実行するために、CPU 10は、3回にわたってイメージ・ヒストグラム・ユニット8を呼び出し(各カラー・チャンネルについて1回)、簡単なアルゴリズムを適用する。残りの機能は、精度および速度を理由としてPGU 99の領域に入れられる:精度については、高い精度で全イメージを保持するために非常に多くのメモリが必要になるからであり、速度については、シンプルなCPU 10では、Memjet(メムジェット)プリントヘッド2からのリアルタイムの高速の要求に追いつけないからである。
【0269】
PGU 99は、入力として、RGBからCMYへの変換テーブル、ホワイト・バランスおよび範囲拡張を実行するための定数、リサンプリングに関するスケール・ファクタ、および回転を考慮したイメージ・アクセス・パラメータを含めた各種のパラメータを取り込む。
【0270】
図20を参照すると、2つのプロセス・チェーンを認識することができる。もっとも直接的なチェーンは、イメージRAM 11から、テスト・パターン・アクセス・プロセス110を介してバッファ5に至るチェーンである。他方のチェーンは、5つのプロセスを含み、それらはすべてパラレルに実行される。最初のプロセス111は、イメージの回転、ホワイト・バランスおよび範囲の拡張を行う。第2のプロセス112は、リサンプリングを行う。第3のプロセス65はシャープニングを行い、第4のプロセス66はカラー変換を行う。最後のプロセス113は、アップ補間、ハーフトーン、プリンタのためのリフォーマットを行う。これらのプロセスは、バッファを介して接続されており、プロセスの間が数バイトしかないところもあれば、それが数キロバイトのところもある。
【0271】
プリントヘッドのタイミングが全体のプロセスをドライブすることから、ここでは、これらのプロセスおよびバッファを基本的に逆順に見て行く。特定のプロセスに関するタイミングおよびバッファ・サイズ要件については、その後、さらに明らになる。しかしながら、要約すると、バッファ・サイズは次の表21に示すようになる。
【0272】
【表24】
【0273】
レジスタの数を別にすれば、プロセスのいくつかは、大きなルックアップ・テーブルもしくはメモリ・コンポーネントを有している。それについての要約を次の表22に示す。
【0274】
【表25】
【0275】
(10.2.1 テスト・パターン・アクセス)
テスト・パターン・アクセス・プロセス110は、テスト・パターンを生成する手段である。通常のユーザ環境の下において、このプロセスが使用されることはない。基本的にこれは、診断を目的としている。
【0276】
テスト・パターン・アクセス110は、イメージRAM 11から8ビットの値を読み出し、Memjet(メムジェット)インターフェースに対する出力用のバッファ5 118に直接渡す。このプロセスが何らかの形で、これらの8ビットの値に変更を加えることはない。イメージRAM 11内のデータが、CPU 10によりイメージ・アクセス・ユニット9を用いて生成されることもある。
【0277】
イメージRAM 11から読み出されるデータは、非常にシンプルな、ラップアラウンド形式で読み出される。テスト・データの記述には2つのレジスタが用いられる:すなわち、最初のバイトの開始アドレス、およびバイト数である。データのエンドに到達すると、そのデータが最初から読み出される。
【0278】
テスト・パターン・アクセス・ユニット110の構成を図43に示す。
【0279】
図43を参照するとわかるように、テスト・パターン・アクセス・ユニット110は、アドレス・ジェネレータ119以上のものではない。開始されたとき、および各AdvanceLine(アドバンスライン;ライン送り)信号に伴って、ジェネレータが3バイトを読み出し、TransferWriteEnable(トランスファライトイネーブル)パルスを生成し、次の3バイトを読み出し、その後Advance(アドバンス;前送り)パルスを待機する。Advance(アドバンス;前送り)パルスが到来すると、TransferWriteEnable(トランスファライトイネーブル)パルスが与えられ、次の3バイトが読み出され、次のパルス発生を待機する。これが、AdvanceLine(アドバンスライン;ライン送り)パルスまで続けられ、その時点でカレント・アドレスからプロセスが再開される。
【0280】
3バイトの読み出しについて言えば、アドレス・ジェネレータ119は、イメージRAM 11から単純に3個の8ビット値を読み出し、それらをバッファ5 118に書き込んでいるだけである。最初の8ビット値は、バッファ5の8ビット・アドレス0に書き込まれ、次の値はバッファ5の8ビット・アドレス1に書き込まれ、3番目の値はバッファ5の8ビット・アドレス2に書き込まれる。その後アドレス・ジェネレータ119は、Advance(アドバンス;前送り)パルスを待機し、それが到来すると、同じことを繰り返す。
【0281】
イメージRAM 11用のアドレス・ジェネレータは、次の表23に示すように、開始アドレスおよびバイト・カウントを基礎とする。
【0282】
【表26】
【0283】
次に示した疑似コードは、アドレス生成を例示している。ただしこれには、AdvanceLine(アドバンスライン;ライン送り)パルスおよびAdvance(アドバンス;前送り)パルスを示していない。
【0284】
【数3】
【0285】
データがプリントヘッド2にとって意味のあるものとなることの保証は、CPU 10の役割となる。バイト0は、シアンの8個のセグメントに関するノズル発射データであり(ビット0=セグメント0等)、バイト1はマゼンタのデータ、バイト2はイエロのデータとなる。交番する24ビットのデータは、1水平ドット・ラインだけ離隔された偶数/奇数ピクセル用である。
【0286】
(10.2.2 バッファ5 118)
バッファ5 118は、全プリント生成プロセスから生成されたドットを保持する。バッファ5は、UHRU 113(アップ補間‐ハーフトーンおよびリフォーマット・ユニット)からの、一度に1つ生成されるドットを保持する24ビットのシフト・レジスタ、TPRU(テスト・パターン・アクセス・ユニット)から生成されるデータを保持する3個の8ビット・レジスタ、およびMJI(Memjet(メムジェット)インターフェース)に対するデータ転送のためのバッファとして使用される24ビットのレジスタからなる。MJIからのAdvance(アドバンス;前送り)パルスは、24ビットの転送レジスタに、3個の8ビット・レジスタからの、もしくは単一の24ビットのシフト・レジスタからの24ビットをすべてロードする。
【0287】
このようにバッファ5は、生成されたドットに関してダブル・バッファリング・メカニズムとして機能し、図44に示されるような構成を有している。
【0288】
(10.2.3 バッファ4 117)
バッファ4 117は、計算されたCMY中間解像度(1280解像度)の連続階調(contone)イメージを保持する。バッファ4は、カラー変換プロセス66によって生成され、アップ補間‐ハーフトーンおよびリフォーマット・プロセス113によって、プリンタ用の出力フォーマットを生成するためにアクセスされる。
【0289】
連続階調(contone)バッファのサイズは、プリントヘッド上のノズル間の物理的な距離に依存する。1つの物理的なラインに関する1つのカラーのためのドットが生成されているときには、別のライン上の別のカラーのためのドットが生成されている。究極的な効果においては、プリンタから同時に6つの異なる物理ラインがプリントされる−−異なる出力ラインからの奇数および偶数ドット、およびラインごとに異なるカラーである。このコンセプトについてはセクション2.1.1において説明済みであり、距離についてもそこに定義されている。
【0290】
実際的な結論は、高解像度ドットにおいて偶数のシアン・ドットからマゼンタ・ドットを通り奇数のイエロ・ドットに至る所定の距離があるとする。RGBの生成、したがってCMYの生成を最小化するために、これらの高解像度ドットを生成する中間解像度連続階調(contone)ピクセルがバッファ4内にバッファされる。
【0291】
高分解能ラインに対する中間解像度ラインの比が1:5であることから、各中間解像度ラインが1つのディメンションについて5回にわたりサンプルされる。バッファ・ラインの説明という目的から、ここでは1つのディメンションについてだけ、したがって、単一のピクセル・ラインから到来する5ドット・ラインについてだけ考える。異なるカラーのノズル間の距離は、4〜8ドットである(Memjet(メムジェット)パラメータに依存する)。そこで、16ドットの離隔距離、あるいは両端を含めた17ドットの離隔距離をもたらす8を仮定する。最悪シナリオは、17ドット・ラインが、与えられたピクセル・ラインからの最後のドット・ラインを含むことである。これは、1、5、5、5、1として生成されたドット・ラインを伴う5ピクセル・ラインを意味し、ノズル分離を10に増加させる。
【0292】
このバッファに対する書き込みを行う連続階調(contone)生成プロセスが、このバッファから読み出しを行うドット生成プロセスと干渉しないことを保証するために、ここでは各カラーに追加の1ラインをそれぞれ追加し、1カラー当たりを合計6ラインとしている。
【0293】
したがって、連続階調(contone)バッファは、それぞれ6ラインの3カラーであり、各ラインは1280の8ビット値を含む。必要なメモリは、合計で3×6×1280=23040バイト(22.5キロバイト)になる。このメモリは、1サイクルごとの単一の8ビット読み出し、および25サイクルごとの単一の8ビット書き込みだけを必要とする(各連続階調(contone)ピクセルは、25回にわたって読み出される)。バッファ4の構成を図45に示す。
【0294】
バッファ4は、プリントヘッドのドット生成プロセスの公称速度において動作する単一サイクル・ダブル・アクセス(読み出しおよび書き込み)RAMとして、あるいは1サイクル当たり単一の読み出しまたは書き込みアクセスのみを伴う4%だけ高速なRAMとしてインプリメントすることができる。
【0295】
バッファ4は、プリント・プロセスを開始する前に、ホワイト(オール0)にセットされる。
【0296】
(10.2.4 アップ補間、ハーフトーン、およびプリンタのためのリフォーマット)
セクション3.2.8、セクション3.2.9、およびセクション3.2.10においては、それぞれアップ補間、ハーフトーン、およびプリンタのためのリフォーマット・タスク113が個別のタスクとして定義されていたが、これらはPCP 3のハードウエア・インプリメンテーションにおいては単一プロセスとしてインプリメントされる。
【0297】
アップ補間、ハーフトーン、およびプリンタのためのリフォーマット・ユニット(UHRU)113に対する入力は、あらかじめ計算済みのCMYの1280解像度(中間解像度)イメージを含む連続階調(contone)バッファ(バッファ4)117である。出力は、その後バッファ5 118を介してプリントヘッドに出力するためにMemjet(メムジェット)インターフェース15に渡される適正な順序に従った24ビットの値のセットである。この24ビットの出力は、一度に1ビットが生成され、バッファ5 118内の24ビットのシフト・レジスタに送られる。
【0298】
このプロセスのコントロールは、MJI 15からのAdvance(アドバンス;前送り)信号およびAdvanceLine(アドバンスライン;ライン送り)信号によってもたらされる。UHRU 113のスタート・アップ時、および各AdvanceLine(アドバンスライン;ライン送り)パルスの後に、24ビットが生成され、ShiftWriteEnable(シフトライトイネーブル)信号によってバッファ5内の24ビットのシフト・レジスタにクロックされる。24番目のビットがクロックされると、TransferWriteEnable(トランスファライトイネーブル)パルスが与えられ、次の24ビットが生成される。その後、UHRU 113は、MJIからのAdvance(アドバンス;前送り)パルスを待機する。Advance(アドバンス;前送り)パルスが到来すると、TransferWriteEnable(トランスファライトイネーブル)パルスがバッファ5 118に与えられ、次の待機に入る前に、次の24ビットが計算される。実際上は、最初のAdvance(アドバンス;前送り)パルスが与えられた後、同期が発生し、それ以降のAdvance(アドバンス;前送り)パルスが、その後の24サイクルごとに発生する。
【0299】
図46に、アップ補間、ハーフトーン、およびリフォーマット・プロセスを示す。
【0300】
ハーフトーン・タスクは、8ビットの符号なしコンパレータ120によって行われる。このコンパレータの2つの入力は、スタガード・ディザ・セル121およびバッファ4 117である。これらの値が符号なしコンパレータ120に与えられる順序は、1280解像度のイメージがプリントヘッドによって要求されるセグメント指向順序と整合することを保証するアドレス・ジェネレータ状態マシン122によって決定される。したがってアドレス・ジェネレータ状態マシン122は、アップ補間およびプリンタのためのリフォーマット・タスクを受け持つ。高解像度において単純に、一度に全ラインのアクセスを行い、その後プリンタのルックアップ要件(セクション3.2.10において説明済み)に従ってそのラインのリフォーマットを行うのではなく、リフォーマットは、連続階調(contone)バッファ(バッファ4)117の適切なアドレッシングによって達成され、そのアドレッシングは、コンパレータ120が、スタガ配置のアドレスに整合するディザ・セル121からの適切なルックアップを使用することを保証している。
【0301】
ハーフトーン・タスクは、セクション3.2.9において説明したものに同じである。しかしながら、ドット出力がプリントヘッド用の適正な順序に従って生成されることから、800に均等に分けられるようにディザ・セル121のサイズが選択される。つまり、1つのセグメントに関するディザ・セル内の所定のポジションが、残り7個のセグメントに関して同じになる。50×50のディザ・セルは、満足の得られる結果をもたらす。セクション3.2.9において説明したように、各カラーについて同時に異なるラインが生成されるという事実から、ディザ・セル内の同一のポジションを異なるカラーに使用することができる。したがって、ディザ・セル内におけるアドレッシングは、極めてシンプルなものになる。ここで、スタガード・ディザ・セルの特定の行(たとえば行0)から開始する場合を考える。使用される最初のディザ・セルのエントリは、エントリ0である。このエントリを24回(24サイクル)にわたって使用し、全8セグメントの3つのカラーを生成した後、行0のエントリ1に進む。エントリ49の後は、エントリ0に戻る。これを19,200サイクルすべてにわたって繰り返し、19,200ドットを生成する。その後、ハーフトーン・ユニットが停止し、AdvanceLine(アドバンスライン;ライン送り)パルスを待機し、それが到来するとアドレス・ジェネレータがディザ・セル内の次の行に進む。
【0302】
スタガード・ディザ・セル121は、通常のディザ・セルと異なり、奇数ラインおよび偶数ラインがスタガ配置されていることからそのように呼ばれる。これは、異なるライン上に奇数および偶数のピクセル(ピクセル0から開始)を生成するためであり、それによってアドレス・ジェネレータ122は、24ピクセルの交番するセット上の次の行に進み、その後また戻るという処理を行わなくて済む。図25は、単純化したディザ・セル93を示しており、それを同一サイズのスタガード・ディザ・セル121にマップする方法を示している。ここでは、所定のポジションが「奇数であること」を判断できるように、所定の行内のピクセルに0、1、2、...の番号を付していることに注意されたい。
【0303】
バッファ4 117からの8ビット値は、スタガード・ディザ・セル121からの8ビットの値と比較(符号なしで)される。バッファ4のピクセル値の方が大きいか、それに等しいときには、バッファ5 118のシフト・レジスタに対して「1」のビットが出力される。それ以外の場合には、バッファ5のシフト・レジスタに対して「0」のビットが出力される。
【0304】
19,200個の連続階調(contone)ピクセルのハーフトーン処理を行うためには、19,200個の連続階調(contone)ピクセルを読み込まなければならない。アドレス・ジェネレータ・ユニット122がこのタスクを実行し、バッファ4 117内にアドレスを生成してアップ補間タスクを事実上インプリメントしている。バッファ4を読み出すためのアドレスの生成は、ディザ・セル用のアドレス生成より、わずかに複雑になるが、過度に複雑なものではない。
【0305】
バッファ4を読み出すためのアドレス・ジェネレータは、バッファ4の最初の行が書き込まれると開始する。バッファ4の残りの行は0であり、したがって事実上、それらはホワイト(プリントされるドットがない)になる。
【0306】
6つの有効出力ラインは、整数成分および小数成分を伴うレジスタを有している。このレジスタの整数部分は、読み出すバッファ・ラインを選択し、事実上、その特定のカラーの奇数および偶数ピクセルのアップ補間を行うために使用される。セグメント0内のカレント・ポジションを維持するために3個のピクセル・カウンタが使用され、残りの7個のセグメントへのオフセットを行うために単一の一時カウンタP_ADR(ピクセル・アドレス)が使用される。
【0307】
まとめると、バッファ4を読み出すためのアドレス・ジェネレータは、次の表24に示すレジスタを必要とする。
【0308】
【表27】
【0309】
6つのバッファ・ライン・レジスタに関する初期値は、ノズル間の物理的なドット距離である(ここで小数成分が実質的に5による除算であることを思い出されたい)。たとえば、1つのカラーの奇数および偶数の出力ドットが1ドットの距離で離隔されている場合、1つのカラーのノズルは、次のカラーのノズルから8ドットだけ離隔されていることになり、初期値は、表25の第1ラインの列に示すとおりとなる。19,200ドットの各セットが生成された後は、これらのカウンタを1小数成分だけインクリメントし、垂直ディメンション内において各ピクセルを5回にわたってサンプリングする事実を反映させる必要がある。結果の値は、表25の第2ラインの列に示されるようになる。なお、6つのバッファ・ラインしか存在しないことから、5:4+1=0:0となることに注意されたい。
【0310】
【表28】
【0311】
6つのバッファ・ラインは、その後、所定のカラーの奇数または偶数ピクセルに関してバッファ・ラインのいずれが読み出されるべきかを決定する。バッファ4の特定のラインから読み出す1280中間解像度ピクセルを決定するため、ここでは、各カラーについて1個とする合計3個のピクセル・アドレス・カウンタ、および各セグメントへのインデクスに使用される単一の一時カウンタ(P_ADR)を用いている。それぞれのセグメントから次のセグメントまでは800ドットの距離がある。中間解像度のピクセルにおいては、この距離が160になる。800は、あまりを伴わずに5によって割ることができるため、3個のピクセル・アドレス・カウンタの整数部分だけを使用すればよいことになる。そこで、偶数のシアン・ピクセル用の8個のアドレスを生成し、次に偶数のマゼンタ用の8個のアドレスを生成し、最後に偶数のイエロ用の8個のアドレスを生成する。さらに奇数のシアン・ピクセル、奇数のマゼンタ・ピクセル、および奇数のイエロ・ピクセルについても同じことを行う。この2セットの24ビットのプロセス、つまり24の奇数および24の偶数を、400回にわたって実施する。その後は、ピクセル・アドレス・カウンタ(X_P_ADR)を0にリセットし、6個のバッファ・ライン・レジスタを進めることができる。5ラインを進むごとに、次のバッファ・ラインが解放され、(CMYへの変換プロセスによる)更新の準備が整う。次の表26は、単純な形でこれらのステップを示している。
【0312】
【表29】
【0313】
バッファ4 117のアドレスを生成するための疑似コードを次に示す。ただし、これは、ステップのシーケンス・セットとしてリストされていることに注意が必要である。アドレス生成の間における動作のパラレル性については、表26に、より良好に現れている。
【0314】
【数4】
【0315】
【数5】
【0316】
(10.2.5 バッファ3 116)
バッファ3は、単純な8ビットR、G、B値のセットである。これらのRGB値は、シャープニング・プロセス65によってシャープニングが行われた後の中間解像度(1280解像度)のピクセルであり、CMYへの変換プロセス66によって読み出される。
【0317】
バッファ3 116をダブル・バッファとする必要はない。これは、読み出し(CMYへの変換)プロセス66が最初の39サイクルの間にRGB値を必要とするだけであるのに対し、書き込み(シャープニング)プロセス65は、実際にRGB値を更新する前に、49サイクルを要するからである。
【0318】
(10.2.6 CMYへの変換66)
RGBからCMYへの変換は、セクション3.2.7で説明したように、中間解像度空間(1280解像度)において行われる。
【0319】
この変換プロセスは、アップ補間‐ハーフトーンおよびリフォーマット・プロセス113に追随することができる充分に速いレートで連続階調(contone)バッファ(バッファ4)117のピクセルを生成できなければならない。各連続階調(contone)値が25サイクルにわたって使用されることから(xおよびyディメンションのそれぞれにおいて5回)、変換プロセスは、最大で25サイクルを使うことができる。これは、3つのカラー成分のすべてについて見れば、合計75サイクルとなる。
【0320】
ここで説明しているプロセスは、1つのカラー成分当たり14サイクルしか必要とせず、39サイクルの後に実際に拘束が解かれる入力RGB値を用いる。このプロセスが、49サイクルより多くの間にわたって入力RGB値に対するアクセスを必要とするロジックを伴ってインプリメントされるとすれば、この時間の後にシャープニング・プロセス65によってバッファが更新されることから、バッファ3 116がダブル‐バッファリングを必要とすることになる。
【0321】
この変換は3‐1次(tri−linear)補間として行われる。変換プロセスには、3個の17×17×17ルックアップ・テーブルが使用される:すなわち、RGBからシアン90、RGBからマゼンタ91、およびRGBからイエロ92である。しかしながら、各3‐1次(tri−linear)補間を実行するための時間が25サイクルあることから、高速の3‐1次(tri−linear)補間ユニットを使用する必要はない。それに代えて、線形補間プロセス130に対する8つの呼び出しを行う方が、はるかに適切になる。
【0322】
ルックアップ・テーブル内へのインデクスのためのアドレス生成は単純である。ここでは、アドレスを生成するために、各8ビット・カラー成分の上位4ビットを使用し、変換テーブルから取り出した値の間の補正を行うために、各8ビット・カラー成分の下位4ビットを使用している。ルックアップ・テーブル内へのアドレッシングは、このルックアップ・テーブルが16ではなく17のディメンションを有しているという事実に起因して、1個の加算器が必要になる。好都合なことに、4ビットの数Xに17を乗じると8ビットの数XXとなり、したがって加算器ないしは乗算器が必要なくなり、また4ビットの数に172(289)を乗じることは、わずかに複雑化し、単一の加算を必要とする。
【0323】
補間をより高速に実行することは可能であるが、ここでは単一の加算器を使用してアドレスを生成するものとし、単一サイクル補間ユニットを備えている。結局、表27に示すようにして、RGBから単一のカラー成分を生成するための補間を14サイクル内に計算することができる。ただし、シアン、マゼンタ、およびイエロを生成するためには、このプロセスを3回にわたって繰り返す必要がある。さらに高速な方法も可能であるが、その必要がない。
【0324】
【表30】
【0325】
表27に示したように、単一のADRレジスタおよび加算器を使用して、ルックアップ・テーブル内へのアドレス生成を行うことができる。中間結果は、6セットの8ビット・レジスタを使用して保持することができる−−2個のレジスタにルックアップ・テーブルからロードされる値を保持させ、4個のレジスタを補間ユニットからの出力に使用する。なお、線形補間ユニットに対する入力が、必ずペアの8ビット・レジスタP1/P2、P3/P4、およびP5/P6となることに注意が必要である。これを行って、意図的にレジスタ選択ロジックを縮小している。サイクル14においては、「V」レジスタ131が最終的に計算された8ビットの値を保持する。その後は、この8ビットの結果を、次のサイクルの間に、バッファ4 117の適切なロケーションに書き込むことができる。
【0326】
CMYへの変換プロセス66のブロック図を図48に示した。
【0327】
ここでこのプロセスが、最初に実行されたときにシアンを生成し、結果のシアン連続階調(contone)ピクセルがシアンの1280解像度連続階調(contone)バッファ内にストアされると仮定する。再び同じRGB入力に対してこのプロセスが実行されると、マゼンタ・ピクセルが生成される。このマゼンタ連続階調(contone)ピクセルは、マゼンタ1280解像度連続階調(contone)バッファ内にストアされる。最後に、同一のRGB入力からイエロ連続階調(contone)ピクセルが生成されて、結果のイエロ・ピクセルがイエロ1280解像度連続階調(contone)バッファにストアされる)。
【0328】
連続階調(contone)バッファ(バッファ4)117に書き込むためのアドレス生成は単純である。単一のアドレス(およびそれに付随するColorSelect(カラーセレクト)ビット)が使用されて3個のカラー・バッファのそれぞれに対する書き込みが行われる。シアン・バッファに対してはサイクル15において、マゼンタに対してはサイクル30において、イエロに対してはサイクル45において、それぞれ書き込みが行われる。ピクセル・アドレスは、75サイクルごとに(3つのカラーに対する書き込みが完了した後)1だけインクリメントされる。書き込み先のラインは、5個のAdvanceLine(アドバンスライン;ライン送り)パルスごとに1回のラップを伴ってインクリメントされる。つまり、書き込み先のラインの順序は、単純に0‐1‐2‐3‐4‐5‐0‐1‐2‐3‐...となる。このようにして、書き込み(25×1280×3)と読み出し(19200×5)がバランスする。
【0329】
(10.2.7 バッファ2 115)
バッファ2は、リサンプル‐輝度生成プロセス112からの出力を受け取り、それにおいては、所定のピクセル座標に関して完全なRGBおよびLピクセルが生成される。バッファ2 115からの出力は、シャープニング・プロセス65に渡され、そこでは、シャープニングを行っているピクセルを中心とする3×3の輝度値のセット135が必要になる。
【0330】
したがって、シャープニング・プロセス65の間においては、輝度値の3×3配列に対するアクセスをはじめ、中心輝度ピクセルに対応するRGB値136に対するアクセスが必要になる。同時に、次の3個の輝度値および対応する中心のRGB値が、リサンプル‐輝度生成プロセス112によって計算されなければならない。図49に、バッファ2 115に対するアクセスの論理的な表現を示した。
【0331】
実際のバッファ2 115は、4×6(24エントリ)の8ビットRAMとして単純にインプリメントされ、読み出しおよび書き込みに関するアドレッシングが事実上の値のシフトを提供する。2ビットの列中心は、ラップを伴ってインクリメントして循環バッファを提供することが可能であり、事実上それがバッファ全体のデータに対する1つ分の列ポジションのシフトを行うことに等しい働きをインプリメントする。4番目の列のRGBデータが不要であるという事実は無視されており、わずか3バイトを使用して、複雑なシフトおよび読み出し/書き込みロジックのインプリメンテーションの必要性を回避している。所定のサイクルにおいては、RAMに対する書き込み、もしくはそれからの読み出しを行うことができる。読み出しおよび書き込みプロセスは、75サイクルを有しており、それ以内に完了すればプリントヘッドから遅れることはない。
【0332】
(10.2.8 シャープニング)
シャープニング・ユニット65は、セクション3.2.6において説明したシャープニング・タスクを実行する。シャープニング後のRGBピクセルがバッファ3 116内にストアされることから、CMYへの変換プロセス66よりシャープニング・ユニット65が遅くなることはできず、このことは、75サイクル内に完全なRGBピクセルのシャープニングが行われなければならないことを意味する。
【0333】
シャープニング・プロセスは、35ページ(ページ指定は原文に記載されたとおり)のセクション3.2.6.2の中で示した表12に記載されているように、L(RGBデータから生成されたチャンネルであり、バッファ2にストアされている)のハイ・パス・フィルタリング、およびRGB成分に対するフィルタリング後のLの加え戻しを伴う。使用されるハイ・パス・フィルタは、3×3のコンボリューション・カーネルを使用するハイ・パス・フィルタであり、図50にそれを示す。
【0334】
このハイ・パス・フィルタの計算は、10サイクルにわたって行われる。最初のサイクルは、一時レジスタ140に中心ピクセル値の8倍(中心ピクセル値が3ビット左にシフトされる)をロードする。続く8サイクルは、下限値を0として残りの8ピクセル値の減算を行う。このように、全体のプロシージャを1つの加算器によって達成することができる。サイクル10は、この結果に対する定数141による乗算を伴う。この定数は1/9に代表されるが、レジスタに収められており、ソフトウエアを用いて、それを別のスケール・ファクタに変更することもできる。
【0335】
その後、結果の値がR、G、およびBの値に(上限を255として)加算され、サイクル72、73、および74の間にバッファ3に書き込まれる。75サイクルのセットの最後の3サイクルの間においてシャープニング後のRGBの計算/書き込みを行うことによって、バッファ3におけるダブル・バッファリングの必要性が取り除かれる。
【0336】
シャープニング・ユニットの構成を図51に示した。
【0337】
バッファ2 115に接続された加算ユニット142は、下限値を0とする減算器である。TMP 140には、(75のうちの)サイクル0の間に8×最初のL値がロードされ、続く8個のL値がそこから引かれる。下限値が0であることから、結果は符号を持たない。
【0338】
10番目のサイクル(サイクル9)の間に、TMP 140内にある合計11ビットに対してスケール・ファクタ(通常は1/9、ただしソフトウエア・コントロールの下におかれ、ファクタを調整することができる)による乗算が行われ、TMP 140に書き戻される。結果からは8個の整数ビットだけがTMPに書き戻され(小数は切り捨てられる)、その結果、乗算ユニットのからの値の上限が255になる。スケール・ファクタとして1/9を使用する場合には、このとき書き込まれる値の最大値は226(255×8/9)になる。スケール・ファクタは、8ビットの小数であり、ハイ・ビットが1/8を表す。可変スケール・ファクタを使用し、異なるプリント・フォーマットが、異なる量によるCFAイメージをスケーリングした結果となるという事実(したがって、3×3コンボリューションがそれに対応したスケーリング結果をもたらす)を考慮することもできる。
【0339】
レッド、グリーン、およびブルーに関するシャープニング後の値は、サイクル72、サイクル73、およびサイクル74の間に計算され、各サイクル当たり1回の書き込みでバッファ3 116のR、G、およびBレジスタに書き込まれる。これらの3サイクルの間に行われる計算は、中心ピクセルに対応するバッファ2のR、G、およびBに対するTMPの単純な加算である。
【0340】
アドレス生成は単純である。バッファ3 116に対する書き込みは、単純に、サイクル72においてR、サイクル73おいてG、およびサイクル74おいてBとなる。バッファ2 115からの読み出しは、バッファ2の循環特性を利用している。このアドレスは、2ビットの列成分(4つの列のうちのいずれの列を読み出すかを表す)およびL1、L2、L3、R、G、またはBを表す3ビットの値からなる。列番号は、ラインごとに1から開始し、75サイクルごとにインクリメント(ラップを伴って)される。バッファ2を読み出す順序を表28に示す。Cレジスタは、アドレスの、2ビットの列成分である。Cに関するすべての加算は、4を法とする(2ビットのラップ)。
【0341】
【表31】
【0342】
サイクル74の後のCレジスタは、次の計算のための列番号を保持しており、次のサイクル0の間におけるフェッチが有効になる。
【0343】
シャープニングは、バッファ2に対してLおよびRGBが不足なく書き込まれているとき(その結果ハイ・パス・フィルタが有効になる)、初めて開始することができる。したがって、バッファ2が3列先に進むまで、シャープニング・プロセスを機能停止しなければならない。
【0344】
(10.2.9 バッファ1 114)
バッファ1は、ホワイト・バランスおよび範囲拡張済みのピクセルを、オリジナルの取り込み空間解像度において保持している。イメージRAMのイメージ・ストレージ解像度が1ピクセルあたり8ビットであるのに対して、各ピクセルは、10ビットのカラー解像度でストアされる。
【0345】
バッファ1は、3個の個別アドレッシングが可能なバッファとして構成されている−−すなわち、レッド・カラー平面用の145、グリーン・カラー平面用の146、およびブルー・カラー平面用の147である。これらのバッファの単純な外観を図52に示す。
【0346】
75サイクルの間に、リサンプリング・プロセス112によって3回にわたり、これら3つのバッファから16のエントリが読み出され、これら3つのバッファに対して最大で29の新しい値が書き込まれる(正確な数は、スケール・ファクタおよびリサンプリングの間におけるカレント・サブ‐ピクセル・ポジションに依存する)。
【0347】
これらのバッファは、読み出しおよび書き込みが互いに干渉することなく行われるように、充分に広くなければならない。読み出しプロセスの間は、6行のそれぞれから4個のピクセルが読み出される。スケール・ファクタが非常に大きい場合には(たとえば、最大でパノラマまでスケーリングすることができる)、同一入力ピクセルが複数回にわたって読み出されることがあり得る(リサンプリング用の異なるカーネル・ポジションが使用される)。しかしながら最終的には、続く次のピクセルが必要になる。それほど大きなスケーリングを行わないのであれば、次のピクセル生成サイクルの前に(つまり75クロック・サイクル内に)新しいピクセルが必要になることもある。
【0348】
表9および表11のスケール・ファクタを観察すると、スケーリングに関する最悪ケースは、パスポート・フォーマット31である:
● グリーン平面は、パスポート用のΔ値として1.5625を有しているが、これは6つのCFAポジション内に4つのロケーションが含まれる可能性を示している。しかしながら、グリーン・サンプルの各行は、交番するピクセルしか保持していない。つまりこれは、1つの行当たり、4サンプルだけが必要とされることを意味する(最悪ケースの初期ポジションから、最悪ケースは3ではなく、4になる)。Yにおける移動は、追加のサンプル列を必要とし、それが5をもたらす。最後には、書き込みのために追加のサンプル列が必要になる。これは、行当たり合計で6個のサンプルとなる。単一のサンプルに7行が必要である。各xポジションについて3セットのRGBピクセルを生成するためには、yにおける最大の移動が4行になる(3.125=2×1.5625)。Xにおける移動は、上下に1サンプル行を追加する。結局、合計で13行が必要になる。より詳細については、セクション10.2.10を参照されたい。
● レッドおよびブルー平面は、パスポート用のΔ値として0.78125を有しており、これは4サンプル内に4ロケーションが含まれ得ることを示している。残り4の読み出しが行われている間に、書き込みのための追加のサンプルが要求される。これにより、1行当たりの合計が5サンプルになり、さらにグリーン平面と整合させるために6に増加される(スタート・アップを目的とする)。yにおける移動に関しては、6行を考慮する必要がある。より詳細については、セクション10.2.10を参照されたい。
【0349】
各サブ‐バッファは、1サイクル当たり単一の10ビットのサンプルを読み出し、あるいは書き込むデコーディングを伴ったRAMとしてインプリメントされる。これらのサブ‐バッファについての要約を次の表29に示すが、200バイトまでは消費しない。
【0350】
【表32】
【0351】
(10.2.10 リサンプリングおよび輝度チャンネルの生成)
リサンプルおよび輝度チャンネル生成プロセス112は、28ページ(ページ指定は原文に記載されたとおり)のセクション3.2.5において説明したように、ホワイト・バランスおよび範囲拡張後のR、G、およびBの平面イメージに対する適切なリサンプリングを行うことによって中間解像度空間におけるRGBピクセルの生成を行う。それに加えて、所定のRGBピクセルに関する輝度値をはじめ、そのピクセルの上および下のRGBピクセルに関する輝度値を、その後のシャープニング・プロセスのために生成しなければならない。
【0352】
RGB値および3個のL値の生成に割り当てられた時間は、75サイクルである。Lが、与えられたピクセル・ロケーションに関するR、G、およびBの最小値と最大値の単なる平均であると仮定すると(セクション3.2.6.1参照)、3ピクセル座標に関するRGB値を実質的に生成しなければならない−−つまり、注目ピクセル、および上ならびに下のピクセルである。したがって、75サイクルの間に、3個の中間解像度RGBサンプルおよびそれらに対応するL値を生成することになる。
【0353】
L値をバッファし(したがってRGB値をバッファし)再計算を回避することは、非常に多くのメモリを必要とすることになり、いずれにしてもRGB値を生成する時間は充分にある。一方、バッファ4 117が、中間解像度ピクセルを含んでいるが、それが保持しているピクセルは(シャープニング前のRGB値ではなく)シャープニング後のCMYピクセルであることから、それを使用することはできない。
【0354】
(10.2.10.1 リサンプリング)
リサンプリング・プロセスは、3セットのRGB生成と考えることが可能であり、そのそれぞれが、25サイクルの間に完了しなければならない(合計の最大経過時間が75サイクルとなるため)。一方、単一のRGB値を生成するプロセスは、パラレルに実行される3つのプロセスと考えることができる:Rの計算、Gの計算、およびBの計算であり、すべて中間解像度における所定のピクセル座標に関する。これらの値のそれぞれの生成に関する理論については、セクション3.2.5に説明されているが、結論は、事実上3個のイメージ再構成フィルタの動作であり、そのそれぞれが、イメージの各チャンネルに対して動作する。PCPの場合であれば、5個のサンプル・ポイントを用いたイメージの再構成が行われ、コンボリューション・カーネル内に4個の係数が必要になる(1つの係数が常に0となることから、したがってそのサンプル・ポイントも必要なくなる)。
【0355】
結局、中間解像度のRピクセルの計算は、Rデータ上においてイメージ再構成フィルタを動作させることによって達成される。中間解像度のGピクセルの計算は、Gデータ上においてイメージ再構成フィルタを動作させることによって達成され、中間解像度のBピクセルの計算は、Bデータ上においてイメージ再構成フィルタを動作させることによって達成される。カーネルはxおよびyに関して対称であるが、各カラー平面に関してそれらは同一でない。RおよびBについては、類似のイメージ特性に起因して同一のカーネルになる傾向にあるが、G平面については、イメージ再構成に回転が必要になることから、異なるカーネルを用意しなければならない。このプロセスのハイ・レベルの概要を図53に示す。なお、アドレス生成については示していない。
【0356】
リサンプリング・プロセスは、生成が行われているカレント・ピクセル・ラインに関して充分なピクセルがバッファ1にあるときに限って開始することができる。これは、バッファ1 114内のカラー平面のそれぞれに対する4列のデータの書き込みが完了している場合に該当する。リサンプリング・プロセス112は、その時点まで機能停止しなければならない。
【0357】
所定のカラー平面の中間解像度ピクセル値を計算するために、25サイクルを使用することができる。カーネルを4×4のサンプル・エリアに適用するために、4個の入力サンプルの4行のそれぞれ上に1Dカーネル(xによってインデクスされる)を適用する。続いて、結果として得られる4個のピクセル値に対して1Dカーネル(yによってインデクスされる)を適用する。最終的な結果は、リサンプリング後のピクセルになる。各サイクルにおいて単一の係数を適用することは、4つの中間値の生成に合計で16サイクルを、最終的なピクセル値の生成に4サイクルをそれぞれ使用することになり、合計が20サイクルになる。
【0358】
精度に関して述べれば、入力ピクセルがそれぞれ10ビット(8:2)であり、カーネル係数が12ビットである。4ステップのカーネルの適用のそれぞれの間においては14ビット(8:6)の精度が維持されているが、結果は10ビット(8:2)しか保存されない。このようにxおよびyのコンボリューションを行うとき、同一のコンボリューション・エンジンを使用することができる。最終的な出力、つまりR、G、またはBは8ビットになる。
【0359】
リサンプリング・プロセスの心臓部は、図54に示されるように、コンボリューション・ユニット150である。
【0360】
このように、リサンプリングのプロセスは20サイクルを伴い、表30はそれを示している。ただし、「行1,ピクセル1」等は、バッファ1 114からの入力を参照しており、アドレス・メカニズム(次を参照)により処理されなければならない。
【0361】
【表33】
【0362】
(10.2.10.2 Lの生成8−)
セクション3.2.6.1において説明したように、続くシャープニング・プロセスのために、RGBからLへの変換80を行わなければならない。ここでは、Lが知覚的に均一であるCIE 1976 L*a*b*カラー空間を考える。RGBからL(輝度チャンネル)への変換を行うために、次のようにしてR、G、およびBの最大と最小を平均する。
L={MIN(R,G,B)+MAX(R,G,B)}/2
【0363】
所定ピクセルのR、G、およびB値の生成は、パラレルに行われ、20サイクルを消費する。Lの生成のための合計時間は、ここで述べるように4サイクルである。これにより、1つのRGBLピクセルのセットを生成するための合計時間が24サイクルとなり、(このプロセスが25サイクル内に完了しなければならないことから)1サイクルが予備として残される。
【0364】
したがって、Lに関する値は、安全に25番目のサイクルにおいて、バッファ2 115に書き込まれる。アドレス生成については、この後に説明する。
【0365】
単一の8ビット・コンパレータを使用して、3サイクル内に3ビットを生成することが可能であり、続いてそれを使用して、次の表31に示すように、加算器に対する2つの入力を選択することができる。2による除算は、単純に加算器の中に組み込むことができる。
【0366】
【表34】
【0367】
この加算が、単なる最大値と最小値の加算であることから、順序は重要でない。つまり、加算器の2つの入力のうち、入力1をRおよびGの中から選択し、入力2をGおよびBの中から選択すればよい。このロジックは、表31からの適切なビット・パターンの最小化である。
【0368】
(10.2.10.3 バッファ2に関するアドレス生成)
リサンプラからの出力は、単一のRGBピクセル、および当該RGBピクセルを中心に垂直に並ぶ3個の輝度(L)ピクセルである。これらの3個のL値は、各25サイクルに1個の割合でバッファ2に書き込むことができる。R、G、およびBの値は、生成される2番目のピクセルが中心ピクセルであり、そのRGB値が維持されなければならないことから、サイクル45の後であり、かつサイクル50の前に書き込まれなければならない。バッファ2のアドレスは、2ビットの列成分(4列のいずれに対して書き込みが行われるかを表す)、およびL1、L2、L3、R、G、またはBのいずれかを表す3ビットの値から構成される。列番号は、ラインごとに0から開始し、75サイクルごとに(つまり、L3の書き込み後に)インクリメント(ラップを伴って)される。
【0369】
(10.2.10.4 カーネル・ルックアップに関するアドレス生成)
カーネル・アドレスの計算方法は、28ページ(ページ指定は原文に記載されたとおり)のセクション3.2.5の最後に説明したものに同じである。各カーネルは1次元であり、テーブル内に64のエントリを有する。カレント・カーネル空間内の小数成分の最上位6ビット(切り捨て)が、カーネル係数テーブルへのインデクスに使用される。最初の16サイクルについては、カーネルのインデクスにX座標が使用され、次の4サイクルにおいては、Y座標が使用される。カーネルは対称性があることから、XおよびYの両方に同一のカーネルを使用することができる。
【0370】
1280個のリサンプリングされた値のそれぞれについて、3つのピクセルを生成しなければならない−−注目ピクセル161、およびそのピクセルの上側ピクセル160ならびに下側ピクセル162である。中心ピクセルを生成し、その後その中心ピクセルから上および下に移動することに代えて、ここではピクセル160を生成し、続いてその下側の2個のピクセル161および162を生成している。このとき生成される2番目のピクセル161を、中心ピクセルと考えることができる。その後、オリジナルの行に戻り、次の出力ポジションにおける次の3個のピクセルを生成する。この方法に従って、図55に示すように、1280個のポジションのそれぞれについて、3つのピクセルを生成している。
【0371】
このようにして、カーネル空間内におけるカレント・ポジションを求める。オリジナルの入力空間におけるXまたはYの次のピクセルに進むときには、これらのカーネル座標に対して適切なデルタ値を加算する。ここで図56を参照すると、回転された入力空間および回転されていない入力空間に関する2つの場合があることがわかる。
【0372】
XおよびY内の移動をΔXおよびΔYとして考えるが、それらの値はプリント・フォーマットに、したがってmpsに依存する(セクション3.2.5参照)。グリーン・チャンネルについては、ΔX=ΔY=1/2mpsである。レッドおよびブルー・チャンネルについては、ΔX=1/mpsかつΔY=0である。これらΔXおよびΔYの適切な値については、表9および表11を参照されたい。
【0373】
これにより、カーネルの中の移動にΔXおよびΔYの値を適用することができる。すなわち、X内を進むのであれば、ΔXをXに加え、ΔYをYから減じる。回転が行われていない場合、これは単にYから0を減ずることになる。同様にY内を進むのであれば、ΔYをXに加え、ΔXをYから減じる。XおよびY内における移動に90度の差があることからこれを行うことが可能になる。
【0374】
カーネル・ルックアップのためのアドレス生成はソフトウエアによってセットされる開始ポジション、およびカーネル空間におけるY内の移動に関する2つのデルタ、すなわちΔXおよびΔYを仮定する。アドレス生成ロジックを次に疑似コードを用いて示す。
【0375】
【数6】
【0376】
この疑似コードに示されるように、3個のピクセルの生成が1280回にわたって生じている。各ピクセルの生成には2つの加算が関連付けされており、それ自体は、25サイクルのタスク「GeneratePixel(ジェネレートピクセル)」が進行する間に実行することができる。各「GeneratePixel(ジェネレートピクセル)」タスクは、25サイクルであり、「KernelY(カーネルY)」(係数0,1,2,3)を介してカーネルをインデクスする4サイクルが後に続く「KernelX(カーネルX)」(係数0,1,2,3)を介してカーネルをインデクスする4サイクルからなる4セット、およびそれに続く9サイクルの待機を含む。
【0377】
ここで、すべての値が正の小数のみであることに注意する必要がある。XおよびYのカーネル値の更新からの2個のキャリー・アウトは、バッファ1のアドレス生成に向けて出力される(後述する71ページ(ページ指定は原文に記載されたとおり)のセクション10.2.10.5を参照されたい)。これらのキャリー・アウト・フラグは、単純に数学的オペレーションの間に、カーネルに関する特定の縦座標(ordinate)のラップがあったか否かを示す。ラップは、1より上、または0より下のいずれかとすることができるが、結果は必ず正とする。
【0378】
2個のキャリー・アウト・ビットは、イメージからの相対入力ラインの決定に使用するために回転/ホワイト・バランス/範囲拡張ユニットに向けても出力される。
【0379】
(10.2.10.5 バッファ1に関するアドレス生成)
リサンプラ112は、3個の個別アドレッシングが可能なバッファ145、146、および147、すなわち各カラー平面用に1つのバッファを備えるバッファ1 114から読み出しを行う。各バッファは、各サイクルの間に、そこからの読み出し、もしくはそこへの書き込みのいずれかを行うことができる。
【0380】
L={MIN(R,G,B)+MAX(R,G,B)}/2
【0381】
75サイクルの読み出しプロセスは、3セットの25サイクルに分けられ、25サイクルからなる1セットが、各ピクセルの生成に当てられる。25サイクルのセットは、それぞれバッファ1からの16回の読み出し、およびそれに続くアクセスを伴わない9サイクルを含む。バッファ1は、この9サイクルの間に書き込まれる。バッファ1 114からの16の読み出しは、事実上、4の読み出しを1セットにした4セットであり、各カラー平面に関するカーネルの、4の読み出しを1グループにした4グループに符合する。
【0382】
したがって、アドレス生成は、最初のピクセルを計算するための16個のアドレス生成(9サイクルの待機が続く)、2番目のピクセルを計算するための16個のアドレス生成(9サイクルの待機が続く)、および最後の3番目のピクセルを計算するための16個のアドレス生成(9サイクルの待機が続く)を包含することになる。
【0383】
各カラー平面は、それ自体の開始バッファ1アドレス・パラメータを有する。3セットの16個のアドレスが、ラインに沿った1280個のポジションのそれぞれに関して生成されるとき、およびサンプラが1280サンプルの1つのラインから次のラインに進むとき、カーネル・アドレス生成ユニットからの2個のキャリー・アウト・ビットが使用されて、これらのバッファ1アドレス・パラメータが更新される。
【0384】
(10.2.10.6 グリーン・バッファ146)
バッファ1 114内のグリーン・サブ‐バッファ146に関するアドレス生成は、次に示す2つの主な理由から、レッド・サブ‐バッファ145およびブルー・サブ‐バッファ147に比べてより複雑なものとなる。
● グリーン・チャンネルは、CFA内において市松模様パターンを示す。交番するラインが、奇数または偶数のピクセルのみから構成される。グリーン・チャンネルのリサンプリングを行うためには、事実上、このチャンネルに対する45度の回転を行わなければならない。
● グリーン・ピクセルは、レッドまたはブルーのピクセルの数の2倍ある。リサンプリングは、同じ量の時間内により多くのサンプルを読み取ることを意味する−−中間解像度空間内には、各ピクセルを生成するために読み取られる16個のサンプルが存在するが、各回にバッファを進める尤度が高くなる。正確な尤度は、使用されるスケール・ファクタに依存する。
【0385】
しかしながら、循環バッファとしてRAMを使用する同じコンセプトが、グリーン・チャンネルにも使用される。グリーン・サブ‐バッファは、78エントリのRAMであり、各行が6個のエントリを含む13行からなる論理配列を伴う。RAMアドレスと論理ポジションの間における関係を図57に示す。
【0386】
バッファ1 146内のサンプルは、CFAにおける市松模様パターンを表す。つまり、1つの行(たとえば、アドレス0、13、26、39、52、65)内のサンプルは、全イメージ内のカレント・ラインに応じて奇数または偶数ピクセルとなり、それは、イメージが90度の回転を受けているか否かによらない。これを図58に例示する。
【0387】
したがって、4×4のサンプリング・エリアをバッファ上にマップするとき、サンプルの解釈に関して2つの可能性が存在する。その結果、カレント・ラインが奇数または偶数のいずれのピクセルによって表されているかに依存する2つのタイプのアドレッシングが存在することになる。これは、回転が0のイメージの偶数行は、90度の回転を受けたイメージの奇数行と同じアドレスを有することを意味し、それはいずれのイメージも奇数ピクセルを保持していることによる。同様に、回転が0のイメージの奇数行は、90度の回転を受けたイメージの偶数行と同じアドレスを有し、それがいずれも偶数ピクセルを保持していることによる。判定を表32にまとめた。
【0388】
【表35】
【0389】
4×4のウインドウは、事実上、バッファに45度の回転を与える手段である。45度の回転は、セクション3.2.5において説明したように、効果的なリサンプリングを行う上で欠くことができない。
【0390】
ここで単一のリサンプリングだけが必要となっている瞬間を仮定し、図59に示されるような2つのタイプの4×4サンプリング・ウインドウを調べることによって、バッファのアドレッシングについて考察してみる。
【0391】
2つの4×4サンプリングのタイプは類似して見えるが、平面イメージ内に4×4マッピングを表す方法から差が生じている。図60は、グリーン・サブ‐バッファに対する、タイプ1の4×4サンプリングのマッピングを示している。ここには、トップの7行(row)および右端の4列(column)のみが示されているが、これは、4×4のサンプル・エリアが、完全にこのエリア内に含まれることによる。
【0392】
サンプル行に対するバッファ・ピクセルのマッピングは、タイプ2のサンプリング・プロセスについても非常に類似したものとなり、それを図61に示す。
【0393】
16サンプルの、タイプ1およびタイプ2のアドレッシングのいずれにおいても、行を処理する2つの方法が存在する。タイプ1アドレッシングの行1および3の処理は、タイプ2アドレッシングの行2および3の処理と(相対的な意味において)同じである。同様に、タイプ1の行2および4の処理は、タイプ2の行1および3の処理と(相対的な意味において)同じである。ここでは、これらの行アドレッシング方法を、図62に示すようにタイプA 170およびタイプB 171を呼ぶことにする。
【0394】
4×4ウインドウに関する開始ポジション(WindowStartAdr(ウインドウスタートアドレス))および開始するタイプ(WindowStartType(ウインドウスタートタイプ))が与えられれば、(2セットの4サンプルをトラバースするための)8エントリのテーブルを用いて16のサンプルに関するアドレスを生成することができる。最初のサンプル値を読み出すとき、テーブルからのオフセットを加算すれば、次のサンプル・ポジションに到達する。このオフセットは、タイプ(A,B=0,1)に依存する。4番目のサンプルからのオフセットは、次のラインに関する最初のサンプル・ポイントに到達するために必要な量となる(かつ、サンプル列の番号を考慮しなければならない)。4個のサンプルの各行を生成した後、タイプAとタイプBの間の交換を行う。次に、単一の16サンプルのセットに関するアドレスを生成するためのロジックを疑似コードの形で示す。循環バッファについては、法を78とする加算を考慮する。
【0395】
【数7】
【0396】
ルックアップ・テーブルは8個のエントリからなる−−すなわち、タイプA 170用の4個およびタイプB 171用の4個であり、オフセット生成をアドレスする。オフセットは、すべてカレント・サンプル・ポジション(Adr)に対して相対的になされる。
【0397】
【表36】
【0398】
16回の読み出しのエンドにおいて、TypeAB(タイプAB)ビットはオリジナルの値(WindowStartType(ウインドウスタートタイプ)からロードされる)に等しくなる。
【0399】
16サンプルの単一セットの読み出しは充分ではない。3セットの16サンプルを読み出さなければならない(回転されていない入力空間におけるY内の3個の異なるポジションを表す)。最初および2番目のセットの16サンプルのエンドにおいて、カーネル・ポジションが、カーネル・アドレス・ジェネレータによって更新される。この更新からのキャリー・ビットが使用されて、次の16サンプルのセットのためのウインドウがセットされる。2つのキャリー・ビットは、オフセットおよび1ビット・フラグを含むテーブル内をインデクスする。このオフセットはWindowStartAdr(ウインドウスタートアドレス)に加算され、フラグは、WindowStartType(ウインドウスタートタイプ)を反転するか否かの判断に使用される。テーブルに関する値を次の表34に示す。
【0400】
【表37】
【0401】
16サンプルのセットの、3番目のセットのエンドにおいては、回転されていない入力空間におけるX内の進みを補償するために、カーネル・ポジションが更新される。このとき、異なる移動方向が生成され、そのために異なるOffset/TypeAB(オフセット/タイプAB)修正テーブルが使用される。これらのオフセットをカレントWindowStartAdr(ウインドウスタートアドレス)に加算することはできず、これは、移動を開始しようとしているところから離れたY内の移動の2つ分だけ離れたポジションをそれが表していることによる。そのため、WindowStartAdr(ウインドウスタートアドレス)およびWindowStartType(ウインドウスタートタイプ)を別の変数のセットからロードする:すなわち、1280のカレント・ライン内の最初のエントリを表すTopStartAdr(トップスタートアドレス)およびTopStartAdr(トップスタートアドレス)である。カーネル・アドレス・ジェネレータからの2個のキャリー・アウト・フラグは、表35のルックアップに使用され、TopStartAdr(トップスタートアドレス)に加算するオフセットおよびTopStartType(トップスタートタイプ)を反転するか否かが決定される。前述同様に、加算は78(グリーンRAMのサイズ)を法とする。この結果を、次の16サンプルのセットを3セット生成するために使用するWindowStartAdr(ウインドウスタートアドレス)およびWindowStartType(ウインドウスタートタイプ)にコピーする。
【0402】
【表38】
【0403】
16サンプルを1セットとし、その3セットを1セットとした1280セット処理した後は、次の1280のラインを開始する。しかしながら、次のライン内のポジション0に関する最初のサンプルのアドレスを決定しなければならない。サンプルが、常にバッファ1内の適正な場所にロードされることから、バッファ1内の正確に同一のポジションから開始することができる(つまり、TopStartAdr(トップスタートアドレス)を一定のPosition0Adr(ポジション0アドレス)からロードすることができる)。ところが、進んだ量に応じてタイプが異なることから、ここで処理するタイプについて考えなければならない。そこで、初期Position0Type(ポジション0タイプ)を備え、カーネル・アドレス・ジェネレータからのキャリー・アウト・フラグに応じてそれを更新する必要が生じる。回転されていないY入力空間内を移動していることから、使用されるロジックはWindowStartType(ウインドウスタートタイプ)の更新に関するものと同一になるが、Position0Type(ポジション0タイプ)に対してそれが行われる点が異なる。Position0Type(ポジション0タイプ)に関する新しい値はTopStartType(トップスタートタイプ)にコピーされ、WindowStartAdr(ウインドウスタートアドレス)を用いた新しいラインの最初のポジションのサンプリングが開始される。
【0404】
所定の1280ポジションのラインに関するサンプリング・プロセスは、バッファ1内に充分なエントリが得られるまで開始することはできず、それらは回転/ホワイト・バランス/範囲拡張ユニットによって配置される。これは、新しいラインの開始後の128サイクルで生じる(セクション10.2.11参照)。
【0405】
(10.2.10.7 レッドおよびブルー・バッファ)
バッファ1のレッド・サブ‐バッファ145およびブルー・サブ‐バッファ147は、循環バッファとしてアクセスされる単なる2つのRAMである。各バッファは30バイトであるが、それぞれが6個のエントリを含む6行からなる論理的な配列を有する。RAMアドレスと論理的なポジションの間における関係を図63に示した。
【0406】
レッドおよびブルーについては、読み出しを行う最初の16サンプルが、常にトップの4×4エントリになる。この段階においては、サンプルの残りの2列に対する読み出しアルゴリズムによるアクセスがない。
【0407】
最初の16サンプルに関するアドレス生成は、単純に開始ポジション(この場合は0)に続く、36を法とする16ステップの加算になり、次に疑似コードの形でそれを示す。
【0408】
【数8】
【0409】
このアドレス生成メカニズムは、グリーン・チャンネルと異なる。しかしながら、2つの異なるアドレッシング・メカニズムをデザインするのではなく、単にテーブル内において異なる値を使用すれば、グリーン・チャンネルのアドレッシング・スキームをレッド・チャンネルおよびブルー・チャンネルに適用することが可能である。これはデザイン上の複雑性を抑える。つまり、唯一の相違は、78を法とする加算に代えて36を法とする加算を使用することである。この条件は、簡単なマルチプレクサによって満たすことができる。
【0410】
グリーンに関する各種のアドレス生成テーブルを観察し、それらがレッドおよびブルーに適用される場合について考えると、レッドおよびブルーのチャンネルは、いずれも45度の回転が必要ないことから、タイプに関する要件が不要であることは明らかである。したがって、タイプ値を安全に無視することが可能になり、表36に示されるように、表33のレッド/ブルー等価は、同一の4エントリのセットを2つ有することになる。
【0411】
【表39】
【0412】
グリーンのアドレス生成の場合と同様に、1280の次のエントリに進む前に、Y内を2回移動する。レッドおよびブルーについては、カーネル空間内における移動と、入力空間における移動の間にスケーリングが存在しない。また回転も存在しない。Y内を移動するときには、KernelX(カーネルX)にΔYとして0を加算する(ページ69(ページ指定は原文に記載されたとおり)のセクション10.2.10.4にあるカーネル・アドレスの生成に関する説明を参照されたい)。この結果、KernelX(カーネルX)からのキャリー・アウトがセットされることはなくなる。表34を観察すると、KernelX(カーネルX)/KernelY(カーネルY)の、発生の可能性のある組み合わせは、00または01だけである。00の場合は、グリーンの解において、WindowStartAdr(ウインドウスタートアドレス)およびWindowStartType(ウインドウスタートタイプ)のいずれにも変化がもたらされてなく、そのことはレッドおよびブルーについても当てはまる。01の場合には、WindowStartAdr(ウインドウスタートアドレス)に1を加算し、WindowStartType(ウインドウスタートタイプ)は無視すればよい。このように、グリーンの値を、レッドおよびブルー用に安全に使用することができる。最悪ケースは、いずれの回においてもアドレスが1つ進む場合であり、図65に示されるようなオーバーラップする最悪ケースがもたらされる。
【0413】
16サンプルのセットの、3番目のセットのエンドにおいては、TopStartAdr(トップスタートアドレス)およびTopStartType(トップスタートタイプ)が更新されなければならない。今回はX内を移動(かつΔY=0をKernelY(カーネルY)に加算)していることから、KernelY(カーネルY)からのキャリー・アウトは常に0になる。表35のレッド/ブルー等価を次の表37に示す。なお、レッドまたはブルーについては、「タイプ」が重要でないことから、「タイプ」列がなくなっていることに注意する必要がある。
【0414】
【表40】
【0415】
3ピクセルを1セットとする1280セットのラインの1つから次に進むプロセスは、グリーンと同じである。Position0Adr(ポジション0アドレス)は、与えられたラインに関する16サンプルのセットの最初のセットと同じになり(レッドおよびブルーについてはPosition0Adr(ポジション0アドレス)=0)、「タイプ」は無関係になる。ただし次のラインの生成は、バッファ1内に充分なサンプルが存在するようになるまでは開始することができない。レッドおよびブルーの生成は、グリーンと同時に開始する必要があるが、新しいラインの開始後の128サイクルまでは、それを開始することができない(セクション10.2.11参照)。
【0416】
(10.2.11 回転、ホワイト・バランス、および範囲拡張111)
イメージRAM 11からバッファ1 114にロードを行う実際のタスクは、セクション3.2.3およびセクション3.2.4において説明したように、回転、ホワイト・バランス、および範囲拡張のステップ111を伴う。バッファ1へのピクセルは、リサンプリング・プロセス112によるそれらの使用に充分な速さで生成されなければならない。これは、75サイクルからなる単一のグループの間に、このユニットが、6個のレッド・ピクセル、6個のブルー・ピクセル、および13個のグリーン・ピクセルを読み出し、処理し、かつストアできなければならないことを意味する。
【0417】
オプションの回転ステップは、適切な順序に従ってピクセルを読み出すことによって保証される。イメージ・ストア内の適切な平面から所定のピクセルが読み出された後は、それに対して、セクション3.2.4に定義されているホワイト・バランス、および範囲拡張計算に従った調整を行わなければならない。このプロセスは、単なる、単一の減算(下限値は0)および乗算(上限値は255)を含むだけのものであり、それらは、ともにカラー固有定数に対して行われる。このユニットの構成を図66に示す。
【0418】
レッド、グリーン、およびブルーの低スレッショルド72は、レッド、グリーン、およびブルーのスケール・ファクタ173とともに、イメージ・ヒストグラム・ユニット8を介した各カラー平面に関するヒストグラムの生成後にCPU 10によって決定される(セクション9参照)。
【0419】
パイプライン内において処理されているカレント・ピクセルがレッド、グリーン、またはブルーのいずれであるかに応じて、適切な低スレッショルドおよびスケール・ファクタがマルチプレクシングされて減算ユニットおよび乗算ユニットに与えられ、出力がバッファ1の適切なカラー平面に書き込まれる。
【0420】
減算ユニット172は、下限値を0として、8ビットのイメージRAMピクセル値から8ビットの低スレッショルド値を減じる。この結果の8ビットは、特殊化された8×8乗算ユニットに渡され、それにおいては、この8ビット値と8ビットのスケール・ファクタ(8ビットの小数、整数=1)の乗算が行われる。上位10だけが維持され、その8ビットが整数を、2ビットが小数をそれぞれ表す。乗算器174は、結果の上限値として255を有し、乗算の結果としてビット7より上位のビットがセットされることになる場合には、8ビットの整数結果がすべて1にセットされ、小数部が0にセットされる。
【0421】
減算ユニット172および乗算ユニット174とは別に、このユニットには、事実上、このユニットに関する状態マシンとなるアドレス・ジェネレータ175によってもたらされる重要な働きがある。アドレス生成は、次の2つのファクタによって支配される:すなわち、所定のサイクルにおいては、イメージRAM 11に対して単一のアクセスしか可能でないこと、および所定のサイクルにおいては、バッファ1 114に対して単一のアクセスしか可能でないことである。75の使用可能なサイクルのうち、16サイクルを1セットとする3セットは、バッファ1の読み出しのために使用される。実際の用法は、25サイクルを1セットとする3セットであり、各セットは、16の読み出しと9の待機サイクルを伴う。これにより、合計すると、25の書き込み(6がレッド、6がブルー、6がグリーン)に対して27の使用可能なサイクルが与えられる。このことは、バッファ1に対する書き込みのタイミングがリサンプラ112の待機サイクルに一致するとすれば、上記の2つの制約が満たされることを意味する。
【0422】
(10.2.11.1 バッファ1に関するアドレス生成)
リサンプリング・プロセスが起動した後は、リサンプラ112がバッファ1からの読み出しを行っていない期間にそれに対する書き込みを行うことだけを考えればよい。リサンプラは、それぞれ75サイクルを含む期間内に16の読み出しのセットを3セット有していることから、書き込みには27サイクルを使用することができる。リサンプラが動作していないときのバッファ1へのロードは、可能な限り高速であることが望ましく、それは1サイクルごとにバッファ1 114への書き込みを行うことを意味する。バッファ1に関するアドレス生成は、結局、これら2つのケースを考慮に入れた状態マシンをもたらす。イメージRAM 11から値がロードされるときは常に、1サイクルの遅れを伴って、調整後の値がバッファ1の適切なカラーに書き込まれる。
【0423】
したがって、バッファ1に関するアドレス生成は、レッド、ブルー、およびグリーンのサブ‐バッファそれぞれのための単一のアドレス・カウンタを伴う。それぞれの場合において、各ラインの開始におけるRedAdr(レッドアドレス)、BlueAdr(ブルーアドレス)、およびGreenAdr(グリーンアドレス)に関する初期値は0であり、バッファ1に対する各書き込みの後、アドレスが1インクリメントされ、バッファにおいて、レッド、グリーン、またはブルーのいずれに対する書き込みが行われているかに応じて、36もしくは78を法とするラップが行われる。ここで、すべてのカラーが各75サイクルの期間内に書き込まれることに注意する必要がある。通常、グリーンの列は、レッドまたはブルーのレートの、たとえば2倍のレートの補充を必要とすることになる。
【0424】
このロジックを、疑似コードの形で次に示す。
【数9】
【0425】
(10.2.11.2 イメージRAMに関するアドレス生成)
各平面は、次の2つの方向のいずれかにおいて読み出すことができる−−すなわち0度もしくは90度回転(反時計回り)された方向である。これは、事実上、平面イメージに対する行優先もしくは列優先の読み出しアクセスとして解釈される。それに加えて、エッジ・ピクセルのレプリケーションまたはイメージ境界外の読み出しに関する一定カラーをはじめ、パスポート31等のプリント・フォーマットについてはイメージのラップが許容されている。
【0426】
各プリント・ラインの開始においては、可能な限り高速にイメージRAM 11の読み出し、およびバッファ1 114へのロードを行わなければならない。これは、毎サイクル1サンプルの単一アクセスに等しい。リサンプリングは、5列がロードされた後においてだけ生じることが可能であるが、それは、合計で125サイクルにわたる、5列の6個、6個、および13個のサンプルのロードを意味する。それに加えて、イメージRAM 11からロードされた後の、バッファ1 114に対して最終値を書き込む追加の1サイクルがある。ここでは、カウントを容易にするため、それを128サイクルに切り上げている。
【0427】
最初の128サイクルの後は、3つのカラーのそれぞれに関する次の列のロードの要求のチェックが、75サイクルごとに発生し、続く75サイクルの間に、適切なサンプルがロードされる。しかしながら、最初の75サイクルのセットの間においてロードするか否かを示す初期セッティングは、いずれのカラーについても常に1になる。これによって、バッファ1内の各カラーの、最終的な6番目の列が満たされることが可能になる。
【0428】
各75サイクルの期間のエンドにおいては、リサンプラ112内のカーネル・アドレス・ジェネレータの、各カラー平面からのKernelXCarryOut(カーネルXキャリーアウト)フラグがチェックされて、次のサンプルの列を読み出すか否かが決定される。同様に、AdvanceLine(アドバンスライン;ライン送り)パルスは、KernelYCarryOut(カーネルYキャリーアウト)フラグがセットされているとき、続くラインの処理をリスタートする。
【0429】
「読み出し」が事実上、バッファ1内の列を満たす6もしくは13の読み出しになることから、次の「読み出し」に進むために、開始ポジションが維持されている。また、境界外の座標の生成を許容し、ピクセルのレプリケーション、一定カラー、およびイメージのラップを可能にするために座標値が維持されている。
【0430】
ここで、特定の境界内に含まれる有効なイメージ180を用いて、座標が有効エリア(Active Area)の外になる場合に実行される特定のアクションについて考える。座標は、ラインおよびピクセルの両方の意味において、イメージの前、イメージの中、もしくはイメージの後のいずれかとなり得る。これについて図67に示したが、有効エリアの外になるスペースについては、明瞭化のために誇張がなされている。
【0431】
ここでは、座標生成の開始として(0,0)を使用し、MaxPixel(マックスピクセル)およびMaxLine(マックスライン)をピクセルおよびライン数とする。しかしながら、アドレス生成がカーネル・キャリー・アウトおよびMJI 15からのAdvanceLine(アドバンスライン;ライン送り)パルスから実行されるため、これらの外側の境界は必要ない。ラインに関するアドレス生成は、単純にエッジ・レプリケーション、境界外に関する一定カラー、もしくはイメージ・ピクセルのラップの可能性を伴いつつ、AdvanceLine(アドバンスライン;ライン送り)パルスを受け取るまで継続される。
【0432】
カレント・サンプルのアドレスがAdrであり、次のラインもしくは同一ライン上の次のサンプルへの移動を希望したとすると、そのサンプルの座標は、期待されるとおりに変更されるが、アドレスを変更する方法は、有効なイメージのラップを行っているか否かによって異なり、必要に応じてエッジ・ピクセルのレプリケーションを行わなければならない。
【0433】
イメージのラップがない場合(つまりパスポート31を除いたすべてのプリント・フォーマット)においては、ラインまたはピクセルを進めるときに、表38に示されるアクションが実行される。イメージに90度の回転がある場合には、CPU 10が、ΔLine(Δライン)値とΔPixel(Δピクセル)値を単純に交換する。
【0434】
表38を観察すると、ADRの変更は、PixelSense(ピクセルセンス)が0のときΔPixel(Δピクセル)によって、LineSense(ラインセンス)が0のときΔLine(Δライン)よって行われるだけである。これらの単純な規則に従うと、Adrは、エッジ・ピクセルのレプリケーションにも有効になる。当然のことながら、境界座標の外側に関して一定カラーが望ましい場合には、適切なアドレスにストアされている値に代えて、その値を選択することができる。
【0435】
【表41】
【0436】
ラップを可能にするためには、ラインまたはピクセルに関する以前のセンス(−、0、+)と新しいセンスの比較を行っている。センスが「−」のときは、表38に記載されている先送りを使用するが、縦座標(ordinate)が境界の外に出てしまう場合には(つまり0から+への移動)、デルタを基礎とせずに、新しい値を用いてAdrを更新する。カレント・ラインが生成されるごとに、次のラインの開始に進むことができるように、カレント・ラインに関する開始アドレスを維持していることを前提とすれば、次の操作を行うことができる。
● Pixel(ピクセル)における変化であり、ピクセル・センスが0から+に変化している場合(イメージのエッジの外側に出たことを示す)には、LineStartAdr(ラインスタートアドレス)を用いてAdrを置換し、ActiveStartPixel(アクティブスタートピクセル)を用いてPixel(ピクセル)を置換する。Line(ライン)は、同一に維持する。
● Line(ライン)における変化であり、ライン・センスが0から+に変化している場合(イメージのエッジの外側に出たことを示す)には、AdrからDeltaColumn(デルタコラム)を減じ、ActiveStartLine(アクティブスタートライン)を用いてLine(ライン)を置換する。Pixel(ピクセル)は、同一に維持する。このDeltaColumn(デルタコラム)は、アドレス(Pixel,ActiveStartLine)を(Pixel,ActiveEndLine−1)から生成するためのアドレス・オフセットである(変数名の読み:Pixel=ピクセル;ActiveStartLine=アクティブスタートライン;ActiveEndLine=アクティブエンドライン)。
【0437】
サンプルのセット番号(カラーに応じて6または13がセットになる)のロードに関するロジックを、疑似コードを用いて次に示す。
【0438】
【数10】
【0439】
FirstSampleLine(ファーストサンプルライン)、FirstSamplePixel(ファーストサンプルピクセル)、およびFirstSampleAdr(ファーストサンプルアドレス)等の変数のセッティングは、カーネル・アドレス・ジェネレータからのキャリー・アウト・フラグをはじめ、MJIからのAdvanceLine(アドバンスライン;ライン送り)パルスに応答するアドレス・ジェネレータ・セクション内にある。アドレス生成の、この部分のロジックを、次に疑似コードを用いて示す。
【0440】
【数11】
【0441】
(10.2.11.3 レジスタの要約)
イメージのプリントを行う前にセットしなければならないレジスタが多数存在する。それらについて次の表39にまとめた。イメージに対して90度の回転が行われる場合には、DeltaLine(デルタライン)値とDeltaPixel(デルタピクセル)値を単純に交換し、新しいDeltaColumn(デルタコラム)値を用意する。
【0442】
【表42】
【0443】
【表43】
【0444】
【表44】
【0445】
(11 参考資料)
[1]Silverbrook Research,1998,Authentication of Consumables
(シルバーブルック・リサーチ,1998年,「消耗品の認証」)
[2]Silverbrook Research,1998,Authentication Chip
(シルバーブルック・リサーチ,1998年,「認証チップ」)
【0446】
以上、特定の例を参照して本発明についての説明を行ってきたが、当業者においては、多くの異なる形でそれを具体化することが可能であると認識される。番号を付したパラグラフは、明細書の対象者に対して本発明の範囲の更なる表示を与えるものであるが、それにおける開示からも、そのほかの新規の発明性のある特徴ならびに特徴の組み合わせが明らかになろう。
【図面の簡単な説明】
【図1】 PCPのハイ・レベルのイメージのフローを示している。
【図2】 分離して示したPCPのブロック図を示している。
【図3】 Printcam(プリントカム)ハードウエアに接続されるPCPのブロック図を示している。
【図4】 4インチのMemjet(メムジェット)プリントヘッドを示している。
【図5】 4インチのプリントヘッド内におけるセグメントの配置を示している。
【図6】 ポッド内のノズルの配置を、固定順序によって付された番号とともに示している。
【図7】 ポッド内のノズルの配置を、ローディング順序によって付された番号とともに示している。
【図8】 クロマポッドを示している。
【図9】 ポッドグループを示している。
【図10】 フェーズグループを示している。
【図11】 セグメント、発射グループ、フェーズグループ、ポッドグループ、およびクロマポッドの間における関係を示している。
【図12】 奇数および偶数のドットのプリントの間におけるAEnable(Aイネーブル)パルスおよびBEnable(Bイネーブル)パルスのプロファイルを示している。
【図13】 CFAイメージに基づいたプリント・フォーマットの姿勢を示している。
【図14】 イメージ取り込みチェーンのブロック図を示している。
【図15】 ベイヤーCFA 2Gモザイクにおけるピクセルの配置を示している。
【図16】 RGBの線形化プロセスを示している。
【図17】 RGBの平面化プロセスを示している。
【図18】 イメージ・プリント・チェーンのブロック図を示している。
【図19】 単一のカラー平面に関するサンプル・カラー範囲を示している。
【図20】 ホワイト・バランスおよび範囲拡張に関係するステップを示している。
【図21】 ホワイト・バランスおよび範囲拡張の実行が可能な装置のブロック図を示している。
【図22】 CFA解像度に関係する各種カラー平面のピクセルを示している。
【図23】 グリーン平面を45度回転する効果を示している。
【図24】 グリーン平面に関する回転されたピクセルの間の距離を示している。
【図25】 回転されていないCFA空間内の移動を回転されたCFA空間にマッピングするプロセスを示している。
【図26】 シャープニング・プロセスのブロック図を示している。
【図27】 3×3カーネルを用いた単一の輝度ピクセルのハイ・パス・フィルタリングに関係するプロセスを示している。
【図28】 RGBからCMYへの変換における各変換を示している。
【図29】 3‐1次(tri−linear)補間によるRGBからCMYへの変換を示している。
【図30】 単一ピクセルから5×5ブロックへのピクセルのレプリケーションを示している。
【図31】 ハーフトーン・プロセスのブロック図を示している。
【図32】 プリンタ用のドットのリフォーマットのプロセスを示している。
【図33】 イメージ取り込みユニットのブロック図を示している。
【図34】
【図35】 イメージ・アクセス・ユニットのブロック図を示している。
【図36】 イメージ・ヒストグラム・ユニットのブロック図を示している。
【図37】 プリントヘッド・インターフェースのブロック図を示している。
【図38】 Memjet(メムジェット)インターフェースのブロック図を示している。
【図39】 AEnable(Aイネーブル)パルスおよびBEnable(Bイネーブル)パルスの生成を示している。
【図40】 ドット・カウント・ロジックのブロック図を示している。
【図41】 プリント・ジェネレータ・ユニットのインターフェースを示している。
【図42】 プリント・ジェネレータ・ユニットのブロック図を示している。
【図43】 テスト・パターン・アクセス・ユニットのブロック図を示している。
【図44】 バッファ5のブロック図を示している。
【図45】 バッファ4のブロック図を示している。
【図46】 アップ補間、ハーフトーン、およびリフォーマット・プロセスのブロック図を示している。
【図47】 標準的なディザ・セルからスタガード・ディザ・セルにマップする方法を示している。
【図48】 RGBからCMYへの変換プロセスのブロック図を示している。
【図49】 バッファ2のブロック図を示している。
【図50】 3×3のカーネルを使用する基本的なハイ・パス空間フィルタを示している。
【図51】 シャープニング・ユニットのブロック図を示している。
【図52】 バッファ1の構成を示している。
【図53】 リサンプリングおよび輝度チャンネル生成プロセスのブロック図を示している。
【図54】 コンボリューション・ユニットのブロック図を示している。
【図55】 レセプタから生成されるピクセルの順序を示している。
【図56】 回転された空間および回転されていない空間におけるxまたはy内の移動を示している。
【図57】 バッファ1のグリーン・サブ‐バッファ内におけるエントリのアドレスを示している。
【図58】 回転に応じたグリーン・エントリ間の関係を示している。
【図59】 グリーン・チャンネルの4×4サンプリングを示している。
【図60】 タイプ1の4×4グリーン・サンプリングを示している。
【図61】 タイプ2の4×4グリーン・サンプリングを示している。
【図62】 グリーンに関する2つのタイプの行アドレッシングを示している。
【図63】 バッファ1のレッドおよびブルーのサブ‐バッファ内におけるエントリのアドレッシングを示している。
【図64】 最初のピクセルを計算するための、最初の16サンプルの読み出しを示している。
【図65】 ブルーおよびレッドのバッファからの、オーバーラップする最悪ケース4×4読み出しを示している。
【図66】 回転、ホワイト・バランスおよび範囲拡張ユニットのブロック図を示している。
【図67】 生成された座標空間内における有効イメージ・エリアを示している。
Claims (2)
- イメージセンサで取り込まれ、レッド、グリーン、およびブルーのピクセルの2次元平面を有するベイヤー・イメージのピクセルを記憶するバッファメモリのためのアドレスを発生する方法において:
プロセッサにより、ベイヤー・イメージのグリーン平面を45度回転するステップ;
プロセッサにより、前記回転されたベイヤー・イメージのm×mピクセル・ブロックをシーケンシャルにサンプリングするステップであって、mを1より大きい整数とする、該ステップ;および、
プロセッサにより、サンプルの最初に関する開始アドレスを決定し、その後、前記m×mピクセル・ブロック内の奇数及び偶数のピクセルに従って決定されたオフセットのテーブルから、それぞれのオフセットを、最初及びその後の各々のサンプルに適用して、残りのサンプルのアドレスを獲得することによって、前記m×mピクセル・ブロックのm2のサンプルに関するアドレスを発生するステップ;
を含む前記方法。 - m=4であり、16のオフセットが存在することを特徴とする請求項1記載の方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AUPQ2890A AUPQ289099A0 (en) | 1999-09-16 | 1999-09-16 | Method and apparatus for manipulating a bayer image |
| AU2890 | 1999-09-16 | ||
| PCT/AU2000/001073 WO2001020547A1 (en) | 1999-09-16 | 2000-09-08 | Method and apparatus for up-interpolating a bayer image |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003509931A JP2003509931A (ja) | 2003-03-11 |
| JP4339543B2 true JP4339543B2 (ja) | 2009-10-07 |
Family
ID=3817055
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001524057A Expired - Fee Related JP4576084B2 (ja) | 1999-09-16 | 2000-09-08 | ベイヤー・イメージを回転するための方法および装置 |
| JP2001524054A Expired - Fee Related JP4339543B2 (ja) | 1999-09-16 | 2000-09-08 | ベイヤー・イメージをアップ補間するための方法および装置 |
| JP2001524056A Pending JP2003509932A (ja) | 1999-09-16 | 2000-09-08 | ベイヤー・イメージからプリントを生成するための方法および装置 |
| JP2001524055A Pending JP2003529965A (ja) | 1999-09-16 | 2000-09-08 | イメージのシャープニングのための方法および装置 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001524057A Expired - Fee Related JP4576084B2 (ja) | 1999-09-16 | 2000-09-08 | ベイヤー・イメージを回転するための方法および装置 |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001524056A Pending JP2003509932A (ja) | 1999-09-16 | 2000-09-08 | ベイヤー・イメージからプリントを生成するための方法および装置 |
| JP2001524055A Pending JP2003529965A (ja) | 1999-09-16 | 2000-09-08 | イメージのシャープニングのための方法および装置 |
Country Status (15)
| Country | Link |
|---|---|
| US (18) | US6804030B1 (ja) |
| EP (4) | EP1266357B1 (ja) |
| JP (4) | JP4576084B2 (ja) |
| KR (1) | KR100832181B1 (ja) |
| CN (2) | CN1192326C (ja) |
| AT (4) | ATE355571T1 (ja) |
| AU (1) | AUPQ289099A0 (ja) |
| CA (4) | CA2384485C (ja) |
| DE (3) | DE60033677T2 (ja) |
| ES (1) | ES2282136T3 (ja) |
| HK (3) | HK1048003A1 (ja) |
| MX (1) | MXPA02002881A (ja) |
| SG (4) | SG147278A1 (ja) |
| WO (4) | WO2001020550A1 (ja) |
| ZA (1) | ZA200202872B (ja) |
Families Citing this family (146)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6786420B1 (en) | 1997-07-15 | 2004-09-07 | Silverbrook Research Pty. Ltd. | Data distribution mechanism in the form of ink dots on cards |
| US6618117B2 (en) | 1997-07-12 | 2003-09-09 | Silverbrook Research Pty Ltd | Image sensing apparatus including a microcontroller |
| US6690419B1 (en) | 1997-07-15 | 2004-02-10 | Silverbrook Research Pty Ltd | Utilising eye detection methods for image processing in a digital image camera |
| US6879341B1 (en) | 1997-07-15 | 2005-04-12 | Silverbrook Research Pty Ltd | Digital camera system containing a VLIW vector processor |
| US6624848B1 (en) | 1997-07-15 | 2003-09-23 | Silverbrook Research Pty Ltd | Cascading image modification using multiple digital cameras incorporating image processing |
| AUPO802797A0 (en) | 1997-07-15 | 1997-08-07 | Silverbrook Research Pty Ltd | Image processing method and apparatus (ART54) |
| US6948794B2 (en) | 1997-07-15 | 2005-09-27 | Silverbrook Reserach Pty Ltd | Printhead re-capping assembly for a print and demand digital camera system |
| AUPO850597A0 (en) | 1997-08-11 | 1997-09-04 | Silverbrook Research Pty Ltd | Image processing method and apparatus (art01a) |
| US7110024B1 (en) | 1997-07-15 | 2006-09-19 | Silverbrook Research Pty Ltd | Digital camera system having motion deblurring means |
| US6985207B2 (en) | 1997-07-15 | 2006-01-10 | Silverbrook Research Pty Ltd | Photographic prints having magnetically recordable media |
| AUPP702098A0 (en) | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART73) |
| AUPQ056099A0 (en) * | 1999-05-25 | 1999-06-17 | Silverbrook Research Pty Ltd | A method and apparatus (pprint01) |
| AUPQ289099A0 (en) * | 1999-09-16 | 1999-10-07 | Silverbrook Research Pty Ltd | Method and apparatus for manipulating a bayer image |
| JP4371566B2 (ja) * | 2000-11-22 | 2009-11-25 | キヤノン株式会社 | 色処理装置およびその方法 |
| JP3684158B2 (ja) * | 2001-01-29 | 2005-08-17 | キヤノン株式会社 | 色情報処理方法およびプログラム |
| US7184066B2 (en) | 2001-05-09 | 2007-02-27 | Clairvoyante, Inc | Methods and systems for sub-pixel rendering with adaptive filtering |
| US7199837B2 (en) * | 2001-11-13 | 2007-04-03 | Ati Technologies, Inc. | System for improved ratiometric expansion and method thereof |
| EP1326209B1 (en) * | 2001-12-24 | 2007-09-26 | STMicroelectronics S.r.l. | Method for contrast enhancement in colour digital image |
| JP3762319B2 (ja) * | 2002-03-15 | 2006-04-05 | キヤノン株式会社 | 画像処理方法、画像処理装置及び画像処理システム |
| EP1351487A3 (en) * | 2002-04-04 | 2007-01-24 | Fuji Photo Film Co. Ltd. | Method, apparatus and program storage medium for color conversion |
| JP3728277B2 (ja) * | 2002-06-04 | 2005-12-21 | キヤノン株式会社 | デジタルカメラ及びその制御方法、並びに、プリントシステム |
| JP3530847B2 (ja) * | 2002-06-04 | 2004-05-24 | キヤノン株式会社 | プリント装置及びその制御方法、並びに、プリントシステム |
| US6922199B2 (en) | 2002-08-28 | 2005-07-26 | Micron Technology, Inc. | Full-scene anti-aliasing method and system |
| US7477781B1 (en) * | 2002-10-10 | 2009-01-13 | Dalsa Corporation | Method and apparatus for adaptive pixel correction of multi-color matrix |
| JP4354484B2 (ja) * | 2003-01-21 | 2009-10-28 | エレクタ、アクチボラグ | 内部構造の撮像 |
| US7117138B2 (en) * | 2003-03-14 | 2006-10-03 | Seiko Epson Corporation | Coupled quadrilateral grid level set scheme for piezoelectric ink-jet simulation |
| US7254523B2 (en) * | 2003-03-14 | 2007-08-07 | Seiko Epson Corporation | Selectively reduced bi-cubic interpolation for ink-jet simulations on quadrilateral grids |
| JP4136771B2 (ja) | 2003-04-23 | 2008-08-20 | キヤノン株式会社 | 通信システム、通信装置、及びその制御方法、並びにコンピュータプログラム |
| JP4125173B2 (ja) | 2003-04-23 | 2008-07-30 | キヤノン株式会社 | 情報処理装置の接続制御方法、情報処理装置、及びコンピュータプログラム |
| JP4125172B2 (ja) | 2003-04-23 | 2008-07-30 | キヤノン株式会社 | 無線通信システム、無線通信装置、及びその制御方法、並びにコンピュータプログラム |
| JP2004341760A (ja) * | 2003-05-15 | 2004-12-02 | Ricoh Co Ltd | 画像形成装置、プログラム及び記憶媒体 |
| US7460684B2 (en) * | 2003-06-13 | 2008-12-02 | Nielsen Media Research, Inc. | Method and apparatus for embedding watermarks |
| US7787927B2 (en) * | 2003-06-20 | 2010-08-31 | Merge Cad Inc. | System and method for adaptive medical image registration |
| US7248268B2 (en) * | 2004-04-09 | 2007-07-24 | Clairvoyante, Inc | Subpixel rendering filters for high brightness subpixel layouts |
| US20050243117A1 (en) * | 2004-04-28 | 2005-11-03 | Jiun-Der Yu | Divergence filters on quadrilateral grids for ink-jet simulations |
| CA2572622A1 (en) * | 2004-07-02 | 2006-02-09 | Nielsen Media Research, Inc. | Methods and apparatus for mixing compressed digital bit streams |
| TWI236289B (en) * | 2004-08-11 | 2005-07-11 | Pixart Imaging Inc | Interactive device capable of improving image processing |
| US9024880B2 (en) * | 2004-08-11 | 2015-05-05 | Pixart Imaging Inc. | Interactive system capable of improving image processing |
| US7355610B2 (en) * | 2004-08-26 | 2008-04-08 | Seiko Epson Corporation | Method and apparatus for expanding image data to create enlarged images for display |
| JP2006157450A (ja) * | 2004-11-29 | 2006-06-15 | Sony Corp | 撮像装置及び画像処理方法 |
| JP4412169B2 (ja) * | 2004-12-28 | 2010-02-10 | セイコーエプソン株式会社 | 画像処理装置、画像処理方法、プログラム、および記録媒体 |
| US9082456B2 (en) | 2005-01-31 | 2015-07-14 | The Invention Science Fund I Llc | Shared image device designation |
| US9325781B2 (en) | 2005-01-31 | 2016-04-26 | Invention Science Fund I, Llc | Audio sharing |
| US20060173972A1 (en) * | 2005-01-31 | 2006-08-03 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Audio sharing |
| US20060190968A1 (en) * | 2005-01-31 | 2006-08-24 | Searete Llc, A Limited Corporation Of The State Of The State Of Delaware | Sharing between shared audio devices |
| US9910341B2 (en) | 2005-01-31 | 2018-03-06 | The Invention Science Fund I, Llc | Shared image device designation |
| US7920169B2 (en) * | 2005-01-31 | 2011-04-05 | Invention Science Fund I, Llc | Proximity of shared image devices |
| US9489717B2 (en) * | 2005-01-31 | 2016-11-08 | Invention Science Fund I, Llc | Shared image device |
| US20060221197A1 (en) * | 2005-03-30 | 2006-10-05 | Jung Edward K | Image transformation estimator of an imaging device |
| US8606383B2 (en) | 2005-01-31 | 2013-12-10 | The Invention Science Fund I, Llc | Audio sharing |
| US20060187230A1 (en) * | 2005-01-31 | 2006-08-24 | Searete Llc | Peripheral shared image device sharing |
| US8902320B2 (en) * | 2005-01-31 | 2014-12-02 | The Invention Science Fund I, Llc | Shared image device synchronization or designation |
| US20060174203A1 (en) * | 2005-01-31 | 2006-08-03 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Viewfinder for shared image device |
| US20060285150A1 (en) * | 2005-01-31 | 2006-12-21 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Regional proximity for shared image device(s) |
| US20060170956A1 (en) * | 2005-01-31 | 2006-08-03 | Jung Edward K | Shared image devices |
| US7876357B2 (en) * | 2005-01-31 | 2011-01-25 | The Invention Science Fund I, Llc | Estimating shared image device operational capabilities or resources |
| US20060187227A1 (en) * | 2005-01-31 | 2006-08-24 | Jung Edward K | Storage aspects for imaging device |
| US9124729B2 (en) * | 2005-01-31 | 2015-09-01 | The Invention Science Fund I, Llc | Shared image device synchronization or designation |
| US7570810B2 (en) * | 2005-02-24 | 2009-08-04 | Seiko Epson Corporation | Method and apparatus applying digital image filtering to color filter array data |
| JP4375269B2 (ja) * | 2005-03-29 | 2009-12-02 | セイコーエプソン株式会社 | 印刷制御方法、印刷制御装置、及び印刷制御プログラム |
| US8452090B1 (en) * | 2005-04-25 | 2013-05-28 | Apple Inc. | Bayer reconstruction of images using a GPU |
| US20070109411A1 (en) * | 2005-06-02 | 2007-05-17 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Composite image selectivity |
| US9093121B2 (en) | 2006-02-28 | 2015-07-28 | The Invention Science Fund I, Llc | Data management of an audio data stream |
| US9001215B2 (en) * | 2005-06-02 | 2015-04-07 | The Invention Science Fund I, Llc | Estimating shared image device operational capabilities or resources |
| US20090144391A1 (en) * | 2007-11-30 | 2009-06-04 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Audio sharing |
| US9819490B2 (en) | 2005-05-04 | 2017-11-14 | Invention Science Fund I, Llc | Regional proximity for shared image device(s) |
| US8681225B2 (en) * | 2005-06-02 | 2014-03-25 | Royce A. Levien | Storage access technique for captured data |
| US7782365B2 (en) * | 2005-06-02 | 2010-08-24 | Searete Llc | Enhanced video/still image correlation |
| US20070222865A1 (en) * | 2006-03-15 | 2007-09-27 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Enhanced video/still image correlation |
| US10003762B2 (en) | 2005-04-26 | 2018-06-19 | Invention Science Fund I, Llc | Shared image devices |
| US9451200B2 (en) * | 2005-06-02 | 2016-09-20 | Invention Science Fund I, Llc | Storage access technique for captured data |
| US9967424B2 (en) | 2005-06-02 | 2018-05-08 | Invention Science Fund I, Llc | Data storage usage protocol |
| US20070008326A1 (en) * | 2005-06-02 | 2007-01-11 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Dual mode image capture technique |
| US9942511B2 (en) | 2005-10-31 | 2018-04-10 | Invention Science Fund I, Llc | Preservation/degradation of video/audio aspects of a data stream |
| US20070139529A1 (en) * | 2005-06-02 | 2007-06-21 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Dual mode image capture technique |
| US7457015B2 (en) * | 2005-05-18 | 2008-11-25 | Xerox Corporation | Color printing |
| US7508558B2 (en) * | 2005-05-18 | 2009-03-24 | Xerox Corporation | Color printing |
| US20060274153A1 (en) * | 2005-06-02 | 2006-12-07 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Third party storage of captured data |
| JP2007049301A (ja) * | 2005-08-08 | 2007-02-22 | Casio Comput Co Ltd | 画像処理装置及び画像処理方法 |
| US7668366B2 (en) * | 2005-08-09 | 2010-02-23 | Seiko Epson Corporation | Mosaic image data processing |
| US20070203595A1 (en) * | 2006-02-28 | 2007-08-30 | Searete Llc, A Limited Liability Corporation | Data management of an audio data stream |
| US7817873B2 (en) * | 2005-11-09 | 2010-10-19 | Intel Corporation | Enhancing contrast of video data while preserving sharpness |
| TWI270846B (en) * | 2005-11-28 | 2007-01-11 | Mstar Semiconductor Inc | Apparatus and method for adjusting f video brightness |
| JP2009526335A (ja) * | 2006-02-10 | 2009-07-16 | ニック ソフトウエア インク | デジタル画像の自己適応ブラシ |
| US7626730B2 (en) * | 2006-03-31 | 2009-12-01 | Eastman Kodak Company | Method of making a multilevel halftone screen |
| EP1879147B1 (en) * | 2006-07-11 | 2016-09-21 | Vestel Elektronik Sanayi ve Ticaret A.S. | Method and apparatus for adjusting the contrast of an image |
| US7536285B2 (en) * | 2006-08-14 | 2009-05-19 | Seiko Epson Corporation | Odd times refined quadrilateral mesh for level set |
| EP2095560B1 (en) | 2006-10-11 | 2015-09-09 | The Nielsen Company (US), LLC | Methods and apparatus for embedding codes in compressed audio data streams |
| JP4886463B2 (ja) | 2006-10-20 | 2012-02-29 | キヤノン株式会社 | 通信パラメータ設定方法、通信装置及び通信パラメータを管理する管理装置 |
| US7859720B2 (en) * | 2006-11-13 | 2010-12-28 | Canon Kabushiki Kaisha | Image forming apparatus and method thereof |
| US7769241B2 (en) * | 2007-01-09 | 2010-08-03 | Eastman Kodak Company | Method of sharpening using panchromatic pixels |
| KR100929349B1 (ko) * | 2007-01-30 | 2009-12-03 | 삼성전자주식회사 | 유기물 컬러 필터를 포함하지 않는 컬러 픽셀, 이미지 센서, 및 컬러 보간방법 |
| US8565519B2 (en) * | 2007-02-09 | 2013-10-22 | Qualcomm Incorporated | Programmable pattern-based unpacking and packing of data channel information |
| DK1887515T3 (da) * | 2007-02-27 | 2012-02-27 | Phase One As | Farvebinning på en digitalbillede |
| US7929807B2 (en) * | 2007-02-27 | 2011-04-19 | Phase One A/S | Colour binning of a digital image to reduce the image resolution |
| US8594451B2 (en) * | 2007-03-30 | 2013-11-26 | Omnivision Technologies, Inc. | Edge mapping incorporating panchromatic pixels |
| JP4948448B2 (ja) * | 2008-02-22 | 2012-06-06 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
| CN101518982B (zh) * | 2008-02-29 | 2010-08-25 | 北大方正集团有限公司 | 一种图像打印的方法和设备 |
| WO2009120928A2 (en) * | 2008-03-28 | 2009-10-01 | The Trustees Of Columbia University In The City Of New York | Generalized assorted pixel camera systems and methods |
| US8229212B2 (en) * | 2008-04-08 | 2012-07-24 | Qualcomm Incorporated | Interpolation system and method |
| US8165393B2 (en) * | 2008-06-05 | 2012-04-24 | Microsoft Corp. | High dynamic range texture compression |
| US20090322777A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Unified texture compression framework |
| KR101086501B1 (ko) * | 2008-11-26 | 2011-11-25 | 주식회사 하이닉스반도체 | 이미지 데이터 프로세싱 방법, 이미지센서 및 집적회로 |
| US20100146523A1 (en) * | 2008-12-05 | 2010-06-10 | Tripod Ventures Inc./ Entreprises Tripod Inc. | Browser environment application and local file server application system |
| US8422082B2 (en) * | 2009-07-22 | 2013-04-16 | Eastman Kodak Company | Reducing ink bleed artifacts for RGB images |
| CN102036002B (zh) * | 2009-09-24 | 2013-08-28 | 鸿富锦精密工业(深圳)有限公司 | 成像装置 |
| US9100514B2 (en) | 2009-10-28 | 2015-08-04 | The Trustees Of Columbia University In The City Of New York | Methods and systems for coded rolling shutter |
| US8463074B2 (en) * | 2009-11-11 | 2013-06-11 | General Dynamics Advanced Information Systems | System and method for rotating images |
| US8427500B1 (en) * | 2009-11-17 | 2013-04-23 | Google Inc. | Spatially aware sub-pixel rendering |
| JP2011130241A (ja) * | 2009-12-18 | 2011-06-30 | Fujifilm Corp | 撮像装置 |
| KR101068829B1 (ko) | 2009-12-24 | 2011-09-29 | 엠텍비젼 주식회사 | 촬상 장치 및 이미지 회전 처리 방법 |
| KR101635006B1 (ko) * | 2010-01-22 | 2016-07-01 | 삼성디스플레이 주식회사 | 광원의 휘도 제어 방법 및 이를 수행하기 위한 표시 장치 |
| TWI508543B (zh) * | 2010-05-06 | 2015-11-11 | Pixart Imaging Inc | 可提高影像處理速度之互動式系統 |
| JP2013009293A (ja) * | 2011-05-20 | 2013-01-10 | Sony Corp | 画像処理装置、画像処理方法、プログラム、および記録媒体、並びに学習装置 |
| JP2013091222A (ja) * | 2011-10-25 | 2013-05-16 | Canon Inc | 画像形成処理装置及び画像処理方法 |
| KR101664158B1 (ko) * | 2012-01-18 | 2016-10-11 | 인텔 코포레이션 | 지능형 계산 촬영 시스템 |
| CN106454285B (zh) * | 2015-08-11 | 2019-04-19 | 比亚迪股份有限公司 | 白平衡的调整系统及调整方法 |
| EP3459014A4 (en) | 2016-10-25 | 2020-02-12 | Hewlett-Packard Development Company, L.P. | OUTPUT METHODS |
| DE102016225349A1 (de) * | 2016-12-16 | 2018-06-21 | Robert Bosch Gmbh | Verfahren zum Überprüfen einer Gültigkeit von Bilddaten |
| JP2019040403A (ja) * | 2017-08-25 | 2019-03-14 | ルネサスエレクトロニクス株式会社 | 半導体装置および画像認識システム |
| CN111164647B (zh) * | 2017-10-04 | 2024-05-03 | 谷歌有限责任公司 | 使用单个相机估算深度 |
| US10692178B2 (en) | 2018-02-22 | 2020-06-23 | Raytheon Company | Spatial radiometric correction of an optical system having a color filter mosaic |
| US10549523B2 (en) * | 2018-03-01 | 2020-02-04 | Ricoh Company, Ltd. | Ink deposition curve computation mechanism |
| JP7301517B2 (ja) * | 2018-10-29 | 2023-07-03 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
| CN109510738B (zh) * | 2018-12-14 | 2022-02-22 | 平安壹钱包电子商务有限公司 | 一种通信链路的测试方法及设备 |
| JP7249857B2 (ja) * | 2019-04-24 | 2023-03-31 | 理想科学工業株式会社 | 印刷装置及び消耗品 |
| US12050327B2 (en) | 2019-06-04 | 2024-07-30 | Applied Materials, Inc. | Imaging system and method of manufacturing a metalens array |
| US11610925B2 (en) | 2019-06-06 | 2023-03-21 | Applied Materials, Inc. | Imaging system and method of creating composite images |
| KR20200142883A (ko) | 2019-06-13 | 2020-12-23 | 엘지이노텍 주식회사 | 카메라 장치 및 카메라 장치의 이미지 생성 방법 |
| KR102137047B1 (ko) * | 2019-06-26 | 2020-07-24 | 인천대학교 산학협력단 | 역전파 신경망에 기반한 디모자이킹 방법 |
| CN110363764B (zh) * | 2019-07-23 | 2022-03-11 | 安徽大学 | 一种基于帧间差分的行驶证打印信息完整性检测方法 |
| JP7326999B2 (ja) * | 2019-08-29 | 2023-08-16 | セイコーエプソン株式会社 | 印刷装置及び印刷システム |
| CN113411556B (zh) * | 2020-03-17 | 2023-09-05 | 瑞昱半导体股份有限公司 | 非对称性影像传输方法及其电子装置 |
| CN111815547A (zh) * | 2020-06-30 | 2020-10-23 | 深圳市慧鲤科技有限公司 | 图像处理方法及装置、电子设备及存储介质 |
| CN111798393A (zh) * | 2020-06-30 | 2020-10-20 | 深圳市慧鲤科技有限公司 | 图像处理方法及装置、电子设备及存储介质 |
| CN111953933B (zh) * | 2020-07-03 | 2022-07-05 | 北京中安安博文化科技有限公司 | 一种确定火灾区域的方法、装置、介质和电子设备 |
| EP3975105A1 (en) * | 2020-09-25 | 2022-03-30 | Aptiv Technologies Limited | Method and system for interpolation and method and system for determining a map of a surrounding of a vehicle |
| EP4044110B1 (en) | 2020-10-27 | 2026-08-12 | Samsung Electronics Co., Ltd. | Method for generating image data with reduced noise, and electronic device for performing same |
| CN112945205B (zh) * | 2021-01-27 | 2022-09-23 | 西北核技术研究所 | 一种超快多幅二维图像探测方法及装置 |
| JP7650171B2 (ja) * | 2021-03-11 | 2025-03-24 | キヤノン株式会社 | 情報処理装置とプログラム及び画像処理方法 |
| JP7653808B2 (ja) * | 2021-03-11 | 2025-03-31 | キヤノン株式会社 | 情報処理装置とプログラム及び画像処理方法 |
| JP7606371B2 (ja) | 2021-03-11 | 2024-12-25 | キヤノン株式会社 | 画像処理システム及び画像処理方法 |
| JP7643177B2 (ja) * | 2021-05-24 | 2025-03-11 | セイコーエプソン株式会社 | 印刷装置及び印刷物の生産方法 |
| CN113613007B (zh) * | 2021-07-19 | 2024-03-05 | 青岛信芯微电子科技股份有限公司 | 一种三维色彩查找表的生成方法及显示设备 |
| CN115941914B (zh) * | 2023-01-06 | 2023-05-23 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于视频帧分析的视频渲染系统 |
| CN116843597B (zh) * | 2023-08-30 | 2023-11-24 | 南方科技大学 | 离散点图像快速重建方法、装置、终端及存储介质 |
Family Cites Families (64)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US751799A (en) * | 1904-02-09 | Means for controlling the operation of locks of elevator-hatchway doors | ||
| US323326A (en) * | 1885-07-28 | Force-feed fertilizer attachment for g rain-dri lls | ||
| US4591900A (en) * | 1983-03-14 | 1986-05-27 | Rca Corporation | Encoding pattern for single chip CCD camera processing scheme |
| JPS6195478A (ja) * | 1984-10-16 | 1986-05-14 | Matsushita Electric Ind Co Ltd | 画像の座標変換処理装置 |
| US4639769A (en) * | 1985-04-01 | 1987-01-27 | Eastman Kodak Company | Modifying color digital images |
| US4724395A (en) * | 1985-08-05 | 1988-02-09 | Polaroid Corporation | Median filter for reconstructing missing color samples |
| US4841375A (en) * | 1986-05-29 | 1989-06-20 | Kabushiki Kaisha Toshiba | Image-resolution conversion apparatus for converting a pixel-density of image data |
| US4992861A (en) * | 1988-10-18 | 1991-02-12 | Eastman Kodak Company | Color image reproduction apparatus having a digitally operated look-up table constructed by means of a least squares algorithm |
| US4937676A (en) * | 1989-02-10 | 1990-06-26 | Polariod Corporation | Electronic camera system with detachable printer |
| EP0398295B1 (en) * | 1989-05-17 | 1996-08-14 | Minolta Co., Ltd. | A camera capable of recording and reproducing a photographed image |
| JPH0777453B2 (ja) * | 1989-09-19 | 1995-08-16 | 株式会社東芝 | 映像信号処理回路 |
| JPH03261276A (ja) * | 1990-03-12 | 1991-11-21 | Seiko Epson Corp | 電子カメラおよびその画像印刷方法 |
| JPH0795814B2 (ja) * | 1990-07-18 | 1995-10-11 | 富士ゼロックス株式会社 | カラー記録装置、カラー信号出力装置、カラー信号編集装置、カラー信号蓄積装置、カラーネットワークシステム及びカラー複写機 |
| US6246827B1 (en) * | 1990-08-17 | 2001-06-12 | Samsung Electronics Co., Ltd. | Deemphasis and subsequent reemphasis of high-energy reversed-spectrum components of a folded video signal |
| US5121209A (en) * | 1990-10-01 | 1992-06-09 | Rca Licensing Corporation | Sharpness control for a television image |
| US5493409A (en) * | 1990-11-29 | 1996-02-20 | Minolta Camera Kabushiki Kaisha | Still video camera having a printer capable of printing a photographed image in a plurality of printing modes |
| US5237402A (en) * | 1991-07-30 | 1993-08-17 | Polaroid Corporation | Digital image processing circuitry |
| US5339170A (en) * | 1991-12-31 | 1994-08-16 | Xerox Corporation | Image processing system and method employing hybrid filtering to provide improved reconstruction of continuous tone images from halftone screen-structured images |
| US5243444A (en) * | 1992-03-25 | 1993-09-07 | Xerox Corporation | Image processing system and method with improved reconstruction of continuous tone images from halftone images including those without a screen structure |
| US5343309A (en) * | 1992-08-12 | 1994-08-30 | Xerox Corporation | Image processing system and method employing adaptive filtering to provide improved reconstruction of continuous tone images from halftone images including those without a screen structure |
| EP0615379B1 (en) * | 1993-03-08 | 1999-05-19 | Canon Kabushiki Kaisha | Colour conversion apparatus |
| US5374995A (en) * | 1993-03-22 | 1994-12-20 | Eastman Kodak Company | Method and apparatus for enhancing sharpness of a sequence of images subject to continuous zoom |
| US5373322A (en) * | 1993-06-30 | 1994-12-13 | Eastman Kodak Company | Apparatus and method for adaptively interpolating a full color image utilizing chrominance gradients |
| JPH0793563A (ja) * | 1993-09-21 | 1995-04-07 | Canon Inc | 画像処理装置 |
| US5363209A (en) * | 1993-11-05 | 1994-11-08 | Xerox Corporation | Image-dependent sharpness enhancement |
| JPH07212574A (ja) * | 1994-01-13 | 1995-08-11 | Mita Ind Co Ltd | 画像処理装置 |
| US5471324A (en) * | 1994-04-05 | 1995-11-28 | Xerox Corporation | Color printer calibration with improved color mapping linearity |
| US5671440A (en) * | 1994-08-08 | 1997-09-23 | Eastman Kodak Company | Color image data reorientation and format conversion system |
| US5574572A (en) * | 1994-09-07 | 1996-11-12 | Harris Corporation | Video scaling method and device |
| US5619590A (en) * | 1994-10-06 | 1997-04-08 | Eastman Kodak Company | System for electronic image signal processing to provide a tonescale corrected full resolution luminance and two half resolution chrominance signals |
| JPH08241407A (ja) * | 1995-01-31 | 1996-09-17 | Internatl Business Mach Corp <Ibm> | ディジタル・カラー・イメージの空間フィルタ処理システム |
| US5629734A (en) * | 1995-03-17 | 1997-05-13 | Eastman Kodak Company | Adaptive color plan interpolation in single sensor color electronic camera |
| JPH08317236A (ja) * | 1995-05-15 | 1996-11-29 | Canon Inc | 画像処理装置およびその方法 |
| JP3919242B2 (ja) * | 1995-07-04 | 2007-05-23 | キヤノン株式会社 | 印刷システム及びその制御方法 |
| JPH09212315A (ja) * | 1996-02-02 | 1997-08-15 | Fuji Xerox Co Ltd | ネットワーク印刷装置 |
| JPH09214989A (ja) | 1996-02-02 | 1997-08-15 | Naoki Ozawa | 画像信号の信号補間方法 |
| EP0919909B1 (en) * | 1996-03-04 | 2007-05-09 | Canon Finetech Inc. | Image processor |
| JP3832089B2 (ja) * | 1997-05-26 | 2006-10-11 | セイコーエプソン株式会社 | デジタルカメラおよび印刷システム |
| JP3724882B2 (ja) * | 1996-08-14 | 2005-12-07 | シャープ株式会社 | カラー固体撮像装置 |
| US5867632A (en) * | 1996-11-07 | 1999-02-02 | Xionics Document Technologies, Inc. | System and method for providing glossy compression and contone/bitonal image conversion |
| US5715234A (en) * | 1996-12-16 | 1998-02-03 | Eastman Kodak Company | Electronic camera and associated printer which uses a display image |
| JPH10304235A (ja) * | 1997-04-30 | 1998-11-13 | Ricoh Co Ltd | 撮像装置 |
| US6152619A (en) * | 1997-07-15 | 2000-11-28 | Silverbrook Research Pty. Ltd. | Portable camera with an ink jet printer and cutting blade |
| US6459495B1 (en) | 1997-07-15 | 2002-10-01 | Silverbrook Research Pty Ltd | Dot center tracking in optical storage systems using ink dots |
| SG114539A1 (en) | 1997-07-15 | 2005-09-28 | Silverbrook Res Pty Ltd | A power drive system for a print of demand digital camera system |
| US6229565B1 (en) * | 1997-08-15 | 2001-05-08 | Howard H. Bobry | Hand-held electronic camera with integral printer |
| US6628333B1 (en) * | 1997-11-12 | 2003-09-30 | International Business Machines Corporation | Digital instant camera having a printer |
| JPH11150663A (ja) * | 1997-11-17 | 1999-06-02 | Nikon Corp | 補間装置および補間処理プログラムを記録した記録媒体 |
| JP4178571B2 (ja) * | 1997-12-09 | 2008-11-12 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにカメラ |
| US6392699B1 (en) * | 1998-03-04 | 2002-05-21 | Intel Corporation | Integrated color interpolation and color space conversion algorithm from 8-bit bayer pattern RGB color space to 12-bit YCrCb color space |
| US6078307A (en) * | 1998-03-12 | 2000-06-20 | Sharp Laboratories Of America, Inc. | Method for increasing luminance resolution of color panel display systems |
| US6650366B2 (en) * | 1998-03-26 | 2003-11-18 | Eastman Kodak Company | Digital photography system using direct input to output pixel mapping and resizing |
| US6642956B1 (en) * | 1998-05-29 | 2003-11-04 | Agilent Technologies, Inc. | Digital image processor for a digital camera |
| US6697107B1 (en) * | 1998-07-09 | 2004-02-24 | Eastman Kodak Company | Smoothing a digital color image using luminance values |
| US6205245B1 (en) * | 1998-07-28 | 2001-03-20 | Intel Corporation | Method and apparatus for rapid down-scaling of color images directly from sensor color filter array space |
| JP3695163B2 (ja) * | 1998-07-31 | 2005-09-14 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置 |
| US6236433B1 (en) * | 1998-09-29 | 2001-05-22 | Intel Corporation | Scaling algorithm for efficient color representation/recovery in video |
| AUPP702498A0 (en) * | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART77) |
| CA2350712C (en) * | 1998-11-13 | 2004-05-25 | Cnh Canada, Ltd./Cnh Canada, Ltee | Method for color detection in video images |
| US6571021B1 (en) * | 1999-01-29 | 2003-05-27 | International Business Machines Corporation | Recovering an invisible digital image from a distorted image replica |
| AUPQ289099A0 (en) * | 1999-09-16 | 1999-10-07 | Silverbrook Research Pty Ltd | Method and apparatus for manipulating a bayer image |
| US6466618B1 (en) * | 1999-11-19 | 2002-10-15 | Sharp Laboratories Of America, Inc. | Resolution improvement for multiple images |
| US6804408B1 (en) * | 1999-12-22 | 2004-10-12 | Eastman Kodak Company | Method for enhancing a digital image with noise-dependent control of texture |
| US6573932B1 (en) * | 2002-03-15 | 2003-06-03 | Eastman Kodak Company | Method for automatic white balance of digital images |
-
1999
- 1999-09-16 AU AUPQ2890A patent/AUPQ289099A0/en not_active Abandoned
-
2000
- 2000-09-08 EP EP00962076A patent/EP1266357B1/en not_active Expired - Lifetime
- 2000-09-08 JP JP2001524057A patent/JP4576084B2/ja not_active Expired - Fee Related
- 2000-09-08 JP JP2001524054A patent/JP4339543B2/ja not_active Expired - Fee Related
- 2000-09-08 CN CNB008143633A patent/CN1192326C/zh not_active Expired - Fee Related
- 2000-09-08 SG SG200401425-4A patent/SG147278A1/en unknown
- 2000-09-08 AT AT00962075T patent/ATE355571T1/de not_active IP Right Cessation
- 2000-09-08 DE DE60033677T patent/DE60033677T2/de not_active Expired - Lifetime
- 2000-09-08 MX MXPA02002881A patent/MXPA02002881A/es active IP Right Grant
- 2000-09-08 WO PCT/AU2000/001076 patent/WO2001020550A1/en not_active Ceased
- 2000-09-08 EP EP00962074A patent/EP1221138B1/en not_active Expired - Lifetime
- 2000-09-08 HK HK03100063.9A patent/HK1048003A1/zh unknown
- 2000-09-08 EP EP00962075A patent/EP1221139B1/en not_active Expired - Lifetime
- 2000-09-08 WO PCT/AU2000/001074 patent/WO2001020548A1/en not_active Ceased
- 2000-09-08 CA CA2384485A patent/CA2384485C/en not_active Expired - Fee Related
- 2000-09-08 SG SG200401430-4A patent/SG147279A1/en unknown
- 2000-09-08 DE DE60043941T patent/DE60043941D1/de not_active Expired - Lifetime
- 2000-09-08 CA CA2384543A patent/CA2384543C/en not_active Expired - Fee Related
- 2000-09-08 ES ES00962075T patent/ES2282136T3/es not_active Expired - Lifetime
- 2000-09-08 HK HK03100062.0A patent/HK1048002A1/zh unknown
- 2000-09-08 EP EP00967420A patent/EP1221140B1/en not_active Expired - Lifetime
- 2000-09-08 HK HK03100064.8A patent/HK1048004A1/zh unknown
- 2000-09-08 WO PCT/AU2000/001075 patent/WO2001020549A1/en not_active Ceased
- 2000-09-08 KR KR1020027003534A patent/KR100832181B1/ko not_active Expired - Fee Related
- 2000-09-08 CN CNB2005100003551A patent/CN100361156C/zh not_active Expired - Fee Related
- 2000-09-08 SG SG200401429A patent/SG124275A1/en unknown
- 2000-09-08 AT AT00962074T patent/ATE355570T1/de not_active IP Right Cessation
- 2000-09-08 CA CA2384479A patent/CA2384479C/en not_active Expired - Fee Related
- 2000-09-08 JP JP2001524056A patent/JP2003509932A/ja active Pending
- 2000-09-08 DE DE60033675T patent/DE60033675D1/de not_active Expired - Lifetime
- 2000-09-08 WO PCT/AU2000/001073 patent/WO2001020547A1/en not_active Ceased
- 2000-09-08 JP JP2001524055A patent/JP2003529965A/ja active Pending
- 2000-09-08 AT AT00962076T patent/ATE284065T1/de not_active IP Right Cessation
- 2000-09-08 AT AT00967420T patent/ATE459942T1/de not_active IP Right Cessation
- 2000-09-08 CA CA2384541A patent/CA2384541C/en not_active Expired - Fee Related
- 2000-09-08 SG SG200401428A patent/SG126753A1/en unknown
- 2000-09-11 US US09/659,620 patent/US6804030B1/en not_active Expired - Lifetime
- 2000-09-11 US US09/659,836 patent/US6807315B1/en not_active Expired - Lifetime
- 2000-09-11 US US09/659,837 patent/US6771811B1/en not_active Expired - Lifetime
- 2000-09-11 US US09/659,835 patent/US6683996B1/en not_active Expired - Lifetime
-
2002
- 2002-04-12 ZA ZA200202872A patent/ZA200202872B/en unknown
-
2004
- 2004-08-02 US US10/902,858 patent/US6965691B2/en not_active Expired - Fee Related
- 2004-08-02 US US10/902,880 patent/US7058219B2/en not_active Expired - Fee Related
- 2004-09-07 US US10/934,489 patent/US7271936B2/en not_active Expired - Fee Related
- 2004-09-07 US US10/934,490 patent/US7304771B2/en not_active Expired - Fee Related
- 2004-09-20 US US10/943,921 patent/US7187807B2/en not_active Expired - Fee Related
- 2004-09-20 US US10/943,977 patent/US7289681B2/en not_active Expired - Lifetime
-
2005
- 2005-08-08 US US11/198,233 patent/US7181063B2/en not_active Expired - Fee Related
-
2006
- 2006-01-25 US US11/338,783 patent/US7366351B2/en not_active Expired - Fee Related
- 2006-11-24 US US11/603,823 patent/US7471413B2/en not_active Expired - Fee Related
-
2007
- 2007-01-08 US US11/650,536 patent/US7349572B2/en not_active Expired - Lifetime
-
2008
- 2008-02-04 US US12/025,633 patent/US7787163B2/en not_active Expired - Fee Related
- 2008-11-23 US US12/276,402 patent/US7558443B2/en not_active Expired - Fee Related
-
2009
- 2009-06-04 US US12/478,728 patent/US7936918B2/en not_active Expired - Fee Related
-
2011
- 2011-03-14 US US13/046,773 patent/US20110164286A1/en not_active Abandoned
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4576084B2 (ja) | ベイヤー・イメージを回転するための方法および装置 | |
| AU2003270972B2 (en) | Method and apparatus for sharpening an image | |
| AU2003262338B2 (en) | Method and apparatus for up-interpolating a bayer image | |
| AU2003262337B2 (en) | Method and apparatus for producing print from a bayer image | |
| AU766175B2 (en) | Method and apparatus for up-interpolating a bayer image | |
| AU778006B2 (en) | Method and apparatus for sharpening an image |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060516 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060516 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060516 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060803 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060725 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070704 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080728 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080826 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081118 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081126 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081222 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090609 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090702 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120710 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees | ||
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
