米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> ヒューレット・パッカード・カンパニー

発明の名称 アーティファクトを防止して、装置に依存しないビットマップを合体させる方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2001−92952(P2001−92952A)
公開日 平成13年4月6日(2001.4.6)
出願番号 特願2000−248284(P2000−248284)
出願日 平成12年8月18日(2000.8.18)
代理人 【識別番号】100063897
【弁理士】
【氏名又は名称】古谷 馨 (外2名)
発明者 フィリップ・スタルボーマー / フェング・ユアン
要約 目的


構成
特許請求の範囲
【請求項1】 ビットマップ(3)を含む一連のメモリオブジェクトから画像を作成する方法であって、A)記憶装置(11)から逐次的に前記オブジェクトを取得するステップ(17)と、B)終了条件が発生したか否かを判定するステップと、C)終了条件が発生していない場合、i)取出されたビットマップ(3)を逐次的にスティッチして単一のビットマップにし(15)、ii)別のオブジェクトを取得し(17)、iii)ステップAに戻る、ステップと、D)終了条件が発生した場合、i)前記終了条件が、アーティファクトを生じない大域的処理を可能とするものであるか否かを判定し、a)前記終了条件が、アーティファクトを生じない大域的処理を可能とするものである場合には、取得されたビットマップすべてに対して、大域的処理(16)と出力装置(9)への画像のレンダリング(12)を実行し、b)前記終了条件が、アーティファクトを生じない大域的処理を可能とするものではない場合には、大域的処理(16)を回避すると共に、取得されたビットマップすべてを出力装置に対してレンダリングする(12)、ステップからなる方法。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、一般的に、デジタル画像の表示および印刷に関し、特に、アーティファクトの無い画像向上(画質向上には画像強調が含まれる。以下同じ)のため、各タイルが別々のビットマップの形態で表されている独立したデジタル画像タイルのモザイクを合体して単一のビットマップにする方法、及び、合体が適用できない場合を判断するためにタイルをテストする方法に関する。
【0002】
【従来の技術】デジタル画像のコンピュータによる生成および処理は、現在の情報技術の究めて重要な要素である。コンピュータは、英数字のモノクロの表およびグラフから始まって、次第により複雑なフォーマットで、現在では品質上最良の写真と同等のフルカラー画像で、外部に対し情報を表示する。画像のデジタル的な作成、操作および表示は、拡大中のコンピュータ技術分野であり、減速の様子はない。市販のアプリケーションプログラムで、プログラムの使用を容易にし、ユーザとの通信を簡単にするために、または、娯楽、ゲームまたは広告用に、高品質の画像を作成し、操作し、または使用する機能を有していないものは殆ど無い。このため、コンピュータ表示および印刷技術に関わる技術者は、フルカラー(一般に24ビット)および高解像度(一般に600dpi)画像を考慮しなければならない。
【0003】本発明は、2つのデジタル画像形成技術、すなわち、デジタル画像向上と、「タイリング(tiling)」と呼ばれる部分画像からの合成画像の表示、印刷および/またはアセンブリと、の間のインターフェースに関する。「タイリング」は、適正な空間的関係にアセンブルされるいくつかの(または非常に多くの)独立した構成要素すなわち「タイル」から、単一の画像を構成することにより、完全な画像を構成するプロセスである。従って、完全な画像は、個々のタイルの「モザイク」として構成される。いくつかのアプリケーションプログラムは、別個のタイルを構成し、各タイルを適当な空間関係で表示(または印刷)することにより完全な画像を形成することができる。
【0004】多くの技術分野において、多数の構成要素である部分画像から1つの一貫した画像を組み立てる(アセンブルする)という問題がある。一般的な例の1つは、衛星写真に関するものであり、この場合、軌道上を周回している衛星が眼下のシーンの連続した画像を数多く取得する。これらの別々の画像(「タイル」)は、アセンブルされて1つの合成画像(「モザイク」)にされる。タイルをモザイクにアセンブルするプロセスは、最終的なモザイク画像を見る人またはユーザに、その画像がタイルからアセンブルされたということが分らないように行われなければならない。Burt等による、タイルからモザイク画像にアセンブルする方法が、米国特許第5,488,674号および同第5,649,032号に記載されている。共通の特徴をマッチング(整合)させて、隣接するタイルを位置合せする方法が記載されている。
【0005】また、他の技術分野でも、タイルからモザイク画像へのアセンブリが行われる。例えば、Adelson(米国特許第4,661,986号)は、同じシーンの2次元画像の集合体から3次元画像をアセンブリすることについて記載している。VogtおよびTrenkle(米国特許第5,796,861号)は、一連の電子顕微鏡写真から合成写真をアセンブルすることについて記載している。これらの例は、単に例示的であることが意図されており、タイルからモザイク画像をアセンブルするすべての技術分野を網羅しているものではない。
【0006】しかしながら、タイルから画像をアセンブルするこれらの例は、画像が同じシーンに関連することが最初からわかっているという限りにおいて共通の特徴を共有する。一般に、航空及び衛星パノラマビデオやスチル写真技術では、1つのシーンの変化を描写する。すなわち、ユーザは、画像タイルが、単一の合成モザイク画像にアセンブルされるはずであり、この場合に、別々のタイルがばらばらではない画像を形成するということを知っているかまたはそのように推定する。更に、モザイクを自動的に構成する方式では、連続した画像がオーバラップするという事実を利用して、マッチング用の共通の特徴を探索することを容易にしていることが多い。一般に、画像が異なると、これら従来技術による方法を独立して別個に使用することが必要になる。
【0007】コンピュータが生成した画像を表示または印刷する場合は、状況はより複雑である。図1は、コンピュータのユーザが(図1と異なり、しばしばカラーで)印刷したいと考えている一般的なページを示している。アプリケーションプログラムは、キリン(図1B)、ホットロッド(図1C)等の独立した画像を形成するために結合する必要のある多数のタイルを生成することができる。しかしながら、別個の画像(例えば、ホットロッド(図1C)およびホッケー選手(図1D))の構成要素を形成する独立したタイルは結合すべきでなく、図1に示すようにユーザがそれらをページ上に配置する際に別個の画像のままでなければならない。従って、タイルをアセンブルしてモザイク画像にする自動化方式はいずれも、単一の画像にするためにタイルを結合すると共に、独立した画像が1つのページに発生する場合にタイルを結合しない機能を有していなければならない。これは、一般に、図2の画像のような単一の画像のみを考慮している上述した方法などの、従来のタイリング方法と明確に区別されるべきものである。
【0008】ページまたは画面表示を生成するデジタルデータは、各画像要素すなわち「画素」が表示されるべき特定の場所およびその特定の画素で表示されるべき色を、ある形態で含んでいなければならない。しかしながら、最近の表示および印刷技術は、適切なページまたは画面の場所に画素単位の情報を単純にレンダリングするより複雑である。カラーマッピング、画像向上および他の多くの画像処理技法を使用して、印刷ページに色をレンダリングすることができ、これによって、マッチングを行い、コントラストおよび/または解像度を改善し、無数の他の画像向上を実現する。画像向上は、画像にアーティファクトをもたらすことなく実行されることが不可欠である。すなわち、1つの画像の特徴(コントラスト等)を強調する際、アーティファクト(線または縞等)が、全体の画質を損なうように生成されてはならない。更に、かかる画像処理技法は、各ページの印刷速度を大きく低減させたり、画面表示に苛立たしい遅れをもたらすことがないように、迅速に実行されなければならない。タイリング技術と画像向上技術との相互作用は、本発明全体に共通する分野である。
【0009】画質(画像)変更すなわち向上の2つのクラスを考慮することは有用である。第1のクラスは、画像情報の「局所的な」変換に関する。すなわち、いかなる画素に適用される変更(変換)も他のいかなる画素の特徴、変更または変換にも依存しないように、画像は画素単位で変更される。カラーマッピングが、かかる局所的画像変換の典型例であり、この場合は、画面表示の数値で表される色値が変更されて、見る人が画面上で認識する色と可能な限り近い色が認識されるように印刷画素が生成される。ユーザは、印刷されたページ上の色が画面上の色と同じであることを望む。これには、異なる装置によって生成された画像の異なる色知覚品質の分析と適切な補正とが必要である。かかる色補正は、1つの画素の別の画素への局所的変換の典型例であり、この場合、変換を生成または適用する際に他の画素の特徴は考慮されない。他の多くの局所的変換も同様に採用することができる。
【0010】局所的画像変換とは対照的に、後続する画像変換の特徴およびパラメータを決定するために、いくつかの(または多くの)画素の分析に依存する種々の画像向上技法がある。複数の局所的な画素に依存するかかる変換を、「非局所的」または「大域的」と呼ぶことにする。空間的高感度フィルタは、適用される処理を決定する際に、変換される局所的な画素より多くのものを使用する画像向上を示すためにしばしば使用される別名である。空間的高感度フィルタリングは、画像の各画素に変換を適用するが、この場合、任意の特定の画素に適用される変換は、変換されている画素に加えていくつかの(または多数の)画素の特性によって決定される。空間的高感度フィルタリングは、各特定の画素に適用される変換を決定する際に、画像全体またはビットマップまたはタイルの特性を使用することができる。空間的高感度フィルタリング技法の他の例には、「ダウンサンプリングによる解像度合成(resolution synthesis with downsampling)」および「自動コントラスト強調(automatic contrast enhancement)」(共にヒューレットパッカード社により開発されている)等のベンダ特有の製品だけでなく、当該技術分野において既知の技術も含まれる。ヒューレットパッカード社によって提案されている他の手続きは、「ダウンサンプリングを行わない解像度合成(resolution synthesis without downsampling)」による局所的画像変換である。
【0011】
【発明が解決しようとする課題】大域的画像変換が、見る人に対して画質を向上させるという点でいかに有用であろうとも、タイリングと組合せて使用される場合には特別な問題が発生する。大域的画像変換は、タイルのすべてまたはかなりの部分を使用して、タイル内の各画素に適用される変換を決定する。そのため、異なるタイルが異なる大域的特性を有し、その特定のタイル内の各画素に適用されるべき異なる変換を生成する。個別のタイルが再アセンブルされて完全な画像となる場合、タイル間の境界における不完全なマッチングが明白となる場合がある。かかる変換によってもたらされるアーティファクトの一例を、図2に示す。
【0012】図2は、アプリケーションによりタイルとして引渡され、一連のビットマップとしてコンピュータに格納された一連の水平ストライプ(タイル)として、ページ上でアセンブルされたものである。コントラストを強調する目的で、画像に大域的画像向上技法が適用されている。かかる画像向上は、タイル内の各画素に対して適用される変換を決定する前にタイル全体の特性を検査する大域的変換(大域的処理)である。かかるタイル毎の大域的画像変換から生じる可能性のあるタイプのアーティファクトを、図2において1で示す。図2のタイル1は、上下に隣接したタイルより、暗い領域の比率が大きい。このため、各タイルに対してコントラスト強調技法を順に自動適用することにより、画質を劣化させる過度に明るいストライプ1が生成される。従って、この場合、自動コントラスト強調の利点は無駄になり、実際には、変換がまったく適用されない場合より画質が劣化する結果となってしまう。かかる自動コントラスト強調の利点は、図2と異なるカラー印刷において最も明らかである。しかしながら、図2は、大域的画像変換の自動適用によってもたらされ得る画像のアーティファクトを適切に示している。
【0013】本発明には、画像処理に対して2つのアプローチがある。まず、本発明により、1つの画像(図2、または図1の個々の画像1A〜1J)のタイル群が、後続する大域的画像向上処理においてアーティファクトが生成されないように、大域的処理のためにアセンブルされる。すなわち、本発明の手順により図2が処理された場合、図2のアーティファクト1は存在しなくなる。
【0014】更に、本発明は、単一のページ(図1)上の個別の画像を別個のものとして認識し、各個別の画像内においてのみ大域的画像向上を適用する(あるいは、特に不利益がある場合はまったく適用しない)。こうして、本発明では、大域的画像向上から生じるアーティファクトが、可能な場合は、タイルの事前アセンブリにより抑制される。本発明の別の要素は、大域的画像向上の適用がアーティファクトをもたらす危険性が高いが、アーティファクト回避手段を適用するのが難しい画像を認識することである。このような場合、好ましい方法は、大域的画像向上をまったく適用しない、というものである。このような場合を認識すること、および画像向上を全く行わないという犠牲を払った場合にもアーティファクトを回避することは、本発明の要素を構成する。
【0015】
【課題を解決するための手段】本発明は、装置非依存ビットマップ(device independent bitmaps(「DIB」)を合体して画像にする方法であって、画像向上のための大域的技術によってもたらされるアーティファクトが回避されるよう印刷ページ上にレンダリングする方法に関する。本発明には、画像処理に対して2つのアプローチがある。第1に、本発明により、1つの画像のタイルが、後続する大域的画像向上手順においてアーティファクトが生成されないように、大域的処理に対してアセンブルされる。第2に、本発明は、1つのページ上の個別の画像を別個のものとして認識し、各個別の画像内においてのみ大域的画像向上を適用する(あるいは、特に不利益がある場合にはまったく適用しない)。こうして、本発明によれば、大域的画像向上から生じるアーティファクトが、可能な場合は、タイルの事前アセンブリによって抑制される。本発明の別の要素は、大域的画像向上を適用することによりアーティファクトがもたらされる危険性が高いが、アーティファクト回避手段には容易に従わない画像を認識することである。このような場合、好ましい方法は、大域的画像向上をまったく適用しないことである。このような場合を認識すること、および全ての画像向上を行わないという犠牲を払った場合でもアーティファクトを回避することは、本発明の要素を構成するものである。
【0016】
【発明の実施の形態】以下の説明および図面において、同様の要素を識別するために、同様の参照番号を使用している。
【0017】本発明の特定の実施の形態を、Windows(登録商標)オペレーティングシステム、特に、時々開発されリリースされるWindowsの関連バージョンを含むWindowsNT(登録商標)、Windows 95(登録商標)またはWindows 98(登録商標)(総称して「Windows 9X」)で動作するコンピュータ上で典型的に実施されるものとして説明する。このWindowsベースの説明は、説明を明確にするために使用しており、それによって本発明の範囲を限定することを意図しているものではない。他のオペレーティングシステムで使用するための、または異なるコンピュータ環境で実行するための本発明の変更態様は、当業者には明らかとなろう。
【0018】コンピュータにおいてグラフィカル画像を格納するために、多くのフォーマットが開発されている。Windows環境の画像は、通常、「ビットマップ」として生成される。ビットマップは、所定の規格または規約に従って画素単位で符号化したものである。ビットマップは、シーン(またはページ)画像としてではなく、メモリオブジェクトであるものとして最もよく考えられている。単純に考えれば、ビットマップは、各画素の特性を表現するために1つまたは複数のメモリビットが使用される符号化である。例えば、所定の画素が256の色値(属性)のうちのいずれを呈しているかを表すために、8ビットを使用することができる。最近の「トルーカラー(true color)」システムは、所定の画素の色属性を格納するために24ビット(約1680万色)を使用することができる。他のビットは、他の画素属性を表すために割当てることができる。Windowsで現在サポートされている特定のビットマップフォーマットは、最終的な画像が表示される特定の装置(デバイス)には依存しないビットマップフォーマットを使用する。かかる装置非依存ビットマップ(「DIB」)は、任意の数の色を含むことができ(好まれるか否かに関わらず)、任意の内容を表すことができる。例えば、DIBは、フォトスキャナまたはデジタルカメラから取得されたか、あるいは、ソフトウェアデザインツール(例えば、Corel Draw(登録商標)、Photoshop(登録商標)等)によって生成されたハイカラー(high color)(24ビット)画像のデジタル表現とすることができる。
【0019】図3は、アプリケーションプログラム2からプリンタ9への作業の高レベルの概略フローを示す。説明を明確にするために、ページに画像を印刷する一般的な場合を説明する。これは、本質的に本発明をプリンタまたは印刷と共に使用することに限定することを意図したものではない。本発明の変更態様は、当業者には明白となろう。
【0020】一般に、アプリケーションプログラム2は、ページ上の画像の位置決め、クリッピング、拡大縮小等に関連するパラメータを含むDIBの形式で画像を作成する。かかるパラメータの特性は、本発明の説明に必要ではないため、図3においてまとめて「パラメータ」として示す。DIBは、画像を構成する画素の集りを指しても、画素データに他の描画パラメータを足したものを指してもよい。アプリケーションプログラム2は、1つの画像に対して1つのDIBを作成するようにしても、あるいは、1つの画像の外観を形成するために近接して印刷される複数のDIBを作成するようにしてもよい。図1に示す10個の画像は、各々1つのDIBから作成されており、図2の画像は、各々が水平ストライプの形態を有する多数のDIBから構成されている。図2の水平なDIBは、画像の幅全体に広がっており、図2の幅1に対応する垂直方向の大きさを有している。
【0021】アプリケーションプログラム2を離れたDIBは、次に、図3のウィンドウズ・グラフィクス・デバイスインターフェース(Windows Graphics Device Interface)、「GDI」5によって処理される。GDIは、実行されるタスクに依存してアプリケーションプログラムにより呼び出される1組の機能である(ラインを描画する、文字を印刷する、画像を印刷する、等)。「Stretch(ストレッチ)」は、DIBの出力に関連する特定のGDI機能であり、Windows NTでは「StretchBlt()」、Windows9xでは「StretchDIBits()」と、Windowsのバージョンが異なると異なる形態をとる。ここでは、いずれの機能が指定された場合でも制限をつけずに「Stretch」を使用する。この機能は、アプリケーション2が画面またはページの領域を埋めるために「広げられる(stretched)」べき画素のビットマップを作成する典型的な場合を示すために記憶しやすいように命名されている。本質的に、Stretch呼出機能は、アプリケーション2がDIB3を送出し、それを適切に経路指定したいと望むところの特定の出力装置を識別することである。GDIは、アプリケーションプログラムに対し装置非依存型インターフェースを提供するよう意図されている。すなわち、アプリケーション2の作成者は、アプリケーション2から出力されたDIBが、GDIを呼出してGDI内の機能、特にStretch機能を使用するための適切なフォーマットを有することを保証するだけでよい。GDIには、ページ上の画像のレンダリング、ページ位置決め等の制御、拡大縮小、画像をクリップするか否か等の詳細に関するいくつかの機能が含まれる。特定のDIBを特定の出力装置にレンダリングする詳細は、GDIにDIBを提供するプログラマとって関心事ではない。
【0022】GDIは、DIBを図3のデバイス(装置)・ドライバ・インターフェース(Device Driver Interface)(「DDI」)7に渡す。GDIは、DIBの形態でユーザアプリケーショングラフィクスを受取り、これらDIBを表示装置上でどのようにレンダリングするかを決定する。そして、GDIは、常駐型の装置依存グラフィクスレンダリングドライバインターフェースであるDDIの要求を作成する。アプリケーションからページへのDIBの進行におけるこの時点で、DIBがレンダリングされる特定の装置の特性が関係してくる。一般に、DDIは、GDIによってWindowsオペレーティングシステムから分離されており、GDIはすべてのDDIによって使用されるように適切に規定されたインターフェースを移出する。
【0023】次に、DDIは、DIBを適切なデバイスドライバ8に渡す。デバイスドライバは、特定の出力装置によって印刷または表示されるようDIBのレンダリングを完了し、そのDIBを特定の装置、すなわち図3のプリンタ9に移出する。本発明は、アプリケーション2がデバイスドライバにDIBを送ることが可能な多数の条件における、デバイスドライバによるDIBの処理に関連している。
【0024】図4は、従来のデバイスドライバ8によるDIBの処理を概略的に示している。DIBは、Stretch機能に対する呼出に従ってGDIおよびDDIを通過すると、デバイスドライバのエントリ層10に入る。いくつかの種類のプリンタ(例えば、ヒューレット・パッカード社製)と関係して使用されるデバイスドライバは、一般に、図4の「ページ記述言語(Page Description Language)ファイル」(「PDLファイル」)11と呼ばれる独立したファイルを使用する。一般に、PDLファイルは、アプリケーション2が画像(複数の場合もある)を印刷する際に使用するためにデバイスドライバ8に送出する各コマンドを格納するために使用される、印刷の処理中に生成されるディスクファイルである。図2のような画像を印刷する際、Stretch機能の呼び出しが多数回(恐らく700回)行われ、それらはすべて図2の画像の印刷処理中にPDLファイル11に格納される。エントリ層10の主な機能は、受取るコマンドをすべてPDLファイル11に書込むことである。一般に、PDLファイルは、情報が受取られるに従って逐次生成され、PDLファイルの内容を後に操作する際に、PDLファイルの内容の逐次順序付けを使用することができるようになっている。一般に、ページを印刷する処理においてPDLファイルによって受取られる最初の命令は、「Begin Page(ページ開始)」コマンドである。多数の画像形成コマンドが続き、一般的には、「End of Page(ページ終了)」コマンドで終了する。このように、PDLファイルはページを印刷するために必要なすべてのコマンドを収集する。
【0025】「レンダリング」は、変換、操作または他のDIBの処理およびページ上に画像を作成するための他の情報に関連している。一般に、他の処理は、ユーザをより満足させる画像を作成するために、このレンダリング処理に続いて行われる。「(画質)向上(強調)」は、局所的であるか、大域的であるかに関わらずかかる画像向上処理すべてを指すものとする。かかる局所的処理の1つは、典型的にはカラーマッピングであり、この場合は、(画面上で観察される)ユーザが所望する色を、ページ上の色が可能な限りそれと同じに近づくよう変換する必要がある。カラーマッピングの1つの典型的な実施は、画素単位でなされ、観察者が各画素について知覚する色を周囲の画素とは無関係に調整することができると仮定している。これは、本技術分野において既知であり、かつ使用されている多くの局所的画像向上の一例に過ぎない。
【0026】しかしながら、上述したように、DIBに含まれる1つの画素を記述するデータに対して行われる調整が、DIBの他の場所で他の(またはすべての)画素を記述するデータの大域的な分析に依存するという、より高性能の画像向上処理が採用されている。これらの大域的画像向上は、上述しかつ図2に示した画像形成によるアーティファクトをもたらす可能性がある。
【0027】本発明は、2つの方向からの取り組みによって、試みられた大域的画像向上により画像アーティファクトがもたらされるのを回避する。第1に、本発明は、2つのDIBが隣接しているか否か(または、隣接している時)、および同じ画像の1部分であるか否かを判断するための技法を開示している。この場合、本発明の処理は、かかるDIBを合体または「スティッチ(stitch。ここでは、DIB同士が整合するよう張り合わせること。「スティッチする」と、「スティッチング」は同意)」して1つのDIBにする。一般に、大域的画像向上技法は、1つのDIB画像を完全に処理するが、本発明は、適切な場合に、複数のDIBから1つのDIBを生成する。本発明によって開始される画像アーティファクトに対する第2の方向からの取り組みは、DIBスティッチング(DIB stitching)に対して「適切な場合」がないことを認識し、アーティファクトをもたらし易い大域的画像向上の適用を禁止する(防止する)。この手続きを、図5に概略的に示す。
【0028】本発明の1実施形態の実行における重要な特徴は、PDLファイルが、画像を構成するすべてのDIBをその画像の印刷を開始する前に蓄積する、ということである。本発明のこの実施形態では、PDLファイルに格納されたすべてのDIBに対して、それらのいずれかが印刷される前に分析および処理ステップが実行される。
【0029】PDLファイルへの2つの連続したエントリがStretch機能への呼出である場合、これは、本発明のスティッチングの方法が開始されるべきであることを示している。「Begin Document(ドキュメントの開始)」、「Begin Page(ページの開始)」、「Draw Text(テキストの描画)」等のコマンドは、全体的な画像特性の評価において有用な情報を提供するが、本発明のスティッチング処理をトリガしない。画像が印刷されるべきであることを示すStretch呼出が必要である。
【0030】本発明の実施構成の概略を図5に示す。本発明の全体動作を、特定の実施を詳細に説明する前に、図5を参照して簡単に説明する。
【0031】DIBオブジェクトが、17を介して、PDLから取得され、分析および処理のためにスティッチング処理に送られる。スティッチングプロセッサ15(ここでは、参照番号15は、スティッチン処理を行うプロセッサを意味するものとして使用)を実行することを含めて、は、DIBオブジェクトのストリームに対し分析を実行し、3つの結論のうちの1つに達する。DIBが単一の画像の隣接する部分を構成する(かつ、後に詳述する他の基準を満たす)場合、かかるDIBは互いに「スティッチ」されて単一のDIBになる。単一のDIBには、いくつかのヒューレット・パッカード社製のプリンタで提案されている「ACE」(自動コントラスト強調)および「ダウンサンプリングによる解像度合成(Resolution Synthesis with Downsampling)」等の大域的画質改善によるアーティファクトが導入されにくい。従って、スティッチングプロセッサ15から「正常に」出ることにより、任意の所望の大域的処理(ここでは、大域的画像向上処理)16が適用され、アーティファクトの無い改善された画像が結果として得られる。
【0032】スティッチングプロセッサ15は、ページ全体を構成するDIBがまだ受取られておらず、多数の終了基準の1つが満たされている(後により詳細に述べるように)と判断する場合がある。ページの残りを構成するDIBは、その後に処理される。ページ全体分のDIBに満たない場合のこれら終了基準には2つのタイプがある。1つのタイプでは、終了前にアセンブルされた部分的なページ画像が図1における個別の画像として画像向上に対して適していることを認識する。かかる場合、終了前に処理されたDIBは、「正常終了」経路を経て出力され、アーティファクトが導入されないことが保証されつつ画像向上処理により更に処理される。部分的ページ終了の第2のタイプでは、更なる画像向上処理がアーティファクトをもたらす可能性があるため、それは実行されるべきではない、という指示を伝える。
【0033】正常に終了し損なったことが、大域的画像向上処理がかかる画像に対して試みられた場合にアーティファクトが生じる可能性があるという証拠となるよう、スティッチングプロセッサ15内に判断基準が設けられている。この「ベイルアウト(脱出、bail out)」出口は、大域的画像向上処理16をバイパスする経路を提供する。スティッチングプロセッサ15によってとられるアプローチは、画像向上処理を行わないことが、画像アーティファクトが導入される可能性よりも好ましいということである。しかしながら、ベイル・アウト経路は、大域的画像向上処理16の代替処理として画像向上処理を起動することができる。例えば、好ましい画像向上処理には、画像に対してダウンサンプリングによる解像度合成(Resolution Synthesis with Downsampling)(大域的処理)を含めることができ、この場合、アーティファクトを生じない。ダウンサンプリングを行わない解像度合成(Resolution Synthesis without Downsampling)は、アーティファクトをもたらす可能性の低い同様の画像向上処理である。従って、スティッチングプロセッサ15が、大域的画像向上処理16から画像アーティファクトが生じると判断した場合、アーティファクトが導入される危険があるために、好ましい大域的画像向上処理16を使用することが不適当である場合にのみ、代替的な画像処理18(ここでは、局所的画像処理)を使用することが可能となる。
【0034】16への正常経路または18へのベイル・アウト経路のいずれかによるそれぞれの画像処理に続いて、使用される特定の経路に依存しない画像向上処理を適用することができる。これらは、図5の19によって示されている。本発明は、スティッチングプロセッサ15に関連しており、そこで、正常出口かまたはベイル・アウト出口のいずれを選択するかの判断がなされる。19のような補助的な処理は、本発明の重要な構成要素ではなく、特定の画像レンダリング環境に適するように図6に示す順序と異なる順序で実行するようにしてもよい。
【0035】図6に、本発明に従うDIBスティッチングの1実施形態を概略的なフローチャートの形態で示す。図6は、本明細書の別の場所で説明している早すぎる終了という複雑さが無く、複数のDIBから単一の画像をスティッチングする基本的なDIBの処理を示す。これら手続きの態様は、「DIBキャッシング(Caching)」として当該技術分野において既知である。明確にするために、および本発明の範囲を限定しないために、まず、この簡単なDIBスティッチング処理を説明する。
【0036】DIBスティッチングに対する本発明のアプローチは、図2の1で示すような画像アーティファクトの原因を認識することに基づいている。かかるアーティファクトは、DIBをマルチDIB画像に分割するために大域的画像向上が適用される場合に生じる可能性がある。異なるDIBは異なる大域的特徴を有しており、結果として生じる大域的画像向上およびアーティファクトが異なる。このため、本アプローチは、複数のDIB画像を「スティッチ」して1つの単一体のDIBとし、その単一体のDIBを単一のエンティティとして大域的画像向上プロセッサに提供する。大域的画像向上プロセッサが適切に動作していれば、アーティファクトは生成されない。なお、本発明のDIBスティッチャ(stitcher)は、画像処理(画像向上)技術によってもたらされる可能性のあるアーティファクトを回避するよう意図されている。このDIBスティッチャは、アプリケーションプログラムによって生成され、DIBスティッチャによりその形態で受取られるアーティファクトを修正しない。
【0037】図6は、用紙上に画像をレンダリングする際に一般的に起こるような3つの別個の「使用ケース」を示している。第1のケースは、1次元スティッチング(垂直方向)であり、図6の左側の列にAで示す。このケースでは、ページに現れる画像はDIBから形成されており、これらDIBは、(頂部から底部へまたは底部から頂部へ)順番に提供される、画像を完全に横切る水平の帯である。図2は、かかるDIBから生成された画像の例である(但し、図2の画像はスティッチされていない)。図6のAは、頂部から底部へ処理されているDIBを示すが、底部から頂部への処理も同様である。図6のAの頂部から下に向かって進むと、第1のDIBに到達し、そのDIBは、M1とラベル付けされる。第2のDIBに到達すると、それは、M2とラベル付けされる。DIBスティッチングプロセッサは、M1およびM2が「スティッチ可能」であることを確かめる。スイッチの可能性についての2つの必要な基準が図6のAに示されている。すなわち、それらDIBが共通の境界を共有しており、この共通の境界が両DIBに対して同じ長さまたは「範囲」であるということである。また、本明細書の他の場所で説明しているように、「スティッチの可能性」を判断するために他の基準も適用される。スティッチ可能である場合、M1とM2との間の共通の境界が削除され、結果として生成された合成DIBがM1とリネームされる。このプロセスは、「end of page(ページの終了)」コマンドの発生、それ以上DIBを受取らない場合、または本明細書の他の場所で説明しているような他のいくつかの基準等の終了基準が満たされるまで繰返される。かかる終了が正常なスティッチングに続く(かつ、後述するような他の基準を満たす)場合、結果は正常出口となる。
【0038】図6のAは、単一の画像を構成する連続したDIBが共通の境界を共有するが、他の部分はオーバラップしない一般的なケースを示す。しかしながら、本発明により、境を接しているがオーバラップしていないDIBと大体同じ方法で、オーバラップしているDIBを処理することができる。平面における矩形(または他の幾何学的形状)を規定する座標から、2つの同一の矩形が、1)共通の境界を共有するか、2)オーバラップしており、位置合せされるか、3)オーバラップしていないか、4)位置合せされないか、を決定することは、基本的な解析幾何である。「位置合せされる」とは、2つのDIBが共通の画素をいくつか有しており、x方向またはy方向のいずれかに沿って1つのDIBを変換することにより共通の境界を共有する位置となることが可能であることを意味する。ケース1を、図6のAに示す。ケース1および2では、スティッチが可能である。ケース4では、DIBが接触している場合は「ベイル・アウト」となり、DIBが接触していない場合は正常出口となる。ケース3では、オーバラップしていないDIBが単一体のスティッチ可能画像の一部であるか否かを判断するために更なる分析が必要である。オーバラップしているDIB、すなわちケース2では、図6のAの場合と同様にスティッチが可能であり、共通の画素を同じものとして扱う。
【0039】図6のBは、水平方向の1次元DIBスティッチとしてAと非常に良く似ている。各DIBは、画像全体にわたる垂直なスライスを構成し、並んで配置されることにより画像を生成する。Aに関連して説明した手続きから、本質的な変更は不要である。隣接するDIBは、共通の境界を除去することによりスティッチされ、スティッチされたDIBを単一のDIBとみなし、別のDIBを取得して処理を繰返す。
【0040】図6のCは、画像が矩形のDIBから構成されており、水平および垂直の両方向に複数のDIBが広がっているケースを示す。この「チェッカ盤」状DIBパターンは、図6のAまたはBとは基本的には異ならない方法で、両方の手続きを使用してスティッチされる。単に便宜上、図6のCに示すように、DIBは左から右へおよび頂部から底部へ到達するものと仮定する。また、DIBの代替的なシーケンスも本発明の範囲内で処理される。しかしながら、DIBが連続した行−列の順序(または、90°だけ回転された図6のCに示すように列−行の順序)で受け取られない場合は、後に詳述するようにDIBスティッチングの複雑さが増大する。
【0041】図6のCは、共通の境界が同じ長さを有する限り、DIBがそれらの共通の境界に沿ってスティッチされる、ということを明確にしている。先行するDIBと共通の境界を共有するが長さの異なる後続するDIBが、ページ上に配置される場合、別の行が形成されることが分る。長さの異なる共通の境界を有するDIBは、スティッチされない。第2のすなわち次の行を構成する後続のDIBは、先行するDIBと2つの境界を共有する。すなわち、現在の行において先行するDIBと同じ長さの境界と、先行する行におけるDIBと異なる長さの境界である。処理は、長さが同じである境界に沿ってDIBをスティッチし、新たにスティッチされたDIBが、別のDIBと同じ長さの共通の境界を共有するか否かをテストする。同じ長さの共通の境界を共有する場合は、行を完了して、複数の行を互いにスティッチして単一体のDIBを形成する。このように、図6のCの処理は、図6のA及びBに示す手続きを一般化して結合したものである。矩形のDIBが最も一般的に起こるタイプであると予期されるため、本明細書では、矩形のDIBを詳細に説明する。
【0042】DIBがスティッチ可能な形態で受取られた場合、スティッチング処理は基本的には図6に示される処理である。しかしながら、本発明の重要な特徴は、DIBがスティッチ可能であるかそうでないかを判断することに関係している。いくつかのテストをDIBに適用することにより、スティッチ可能性が判断される。これらテストのうちのいずれかが失敗すると、これらのDIBをスティッチすることはできないという結論になる。本発明の方法では、スティッチング処理により、後続する画像向上においてアーティファクトが生じないかどうかを判断する。アーティファクトが生じない場合は、スティッチされた複数のDIB(または、場合によっては単一のDIB)は、大域的画像処理に対して正常な出口を介して移出される。そうでない(すなわち、アーティファクトが結果として生ずる可能性がある)場合は、かかるケースに対しアーティファクトを生じやすい大域的画像向上を適用しないようにするために、「ベイル・アウト」が呼出される。概略のフローチャートを図7に示す。
【0043】図7に、現在構想されているDIBスティッチングに伴う基本的な判断処理のフローチャートを示す。図7のブロック20は第1の判断ポイントであり、M1は検討対象のDIBを示す。ブロック20では、2つの条件が課されており、この実施形態では、それらは両方ともスティッチングが開始される前に満たされなければならない。第1のかかる条件は、DIB M1が24ビットの色を有するということである。すなわち、このDIBが一部をなす画像は、約160万色(224)のグループから選択された色から構成されている。これは、本発明に固有の限定ではなく、便宜上の限定である。本発明の処理は、アプリケーションが提供することができる8ビット色または任意色の描写を有する画像に適用することができる。しかしながら、本発明者の経験によれば、現在使用されている画像向上は、簡素なカラーパレット画像を顕著に向上させるものではない。本発明の固有の限定ではないが、24ビット未満の色にDIBスティッチングを適用することは、労力およびコンピュータ資源を無駄にしがちである。
【0044】DIB M1が満たすべき第2の閾値基準は、それがクリップされていないということである。クリッピングは、アプリケーションが、M1の一部のみをページ上に印刷するという命令と共に、DIB、M1を提供するという状況を言う。すなわち、M1は「クリップされて」いる。ページ上にDIBを配置することは、画像の元(source)の矩形を規定するパラメータと目的とする(destination)矩形を規定するパラメータとを(特に)含むアプリケーションが生成したDIBを、デバイスドライバに提供することに明示的に関連している。クリップされていない元の矩形は、一般に、原点を(x,y)座標の(0,0)として提供し、この矩形を、所望に応じて目的とする矩形の原点座標を提供することにより、ページ上に配置する。しかしながら、元の矩形をクリップしてその一部のみ(例えば、図1Bにおけるキリンの鼻)を表示するために、これを達成する1つの処理は、元の矩形の原点を(0,0)以外のものにすることである。かかるクリップされたDIBは、本発明によるDIBスティッチング処理により処理することができ、本発明の範囲から本質的に排除されるものではない。しかしながら、DIBスティッチングの実際的なアプリケーションにおいて、クリップされた元の矩形を処理することによりこうむる追加処理のオーバヘッドは、努力に値しないほどのものである。
【0045】ページに画像をレンダリングする場合、2つの一般的なクリッピングのタイプを含めることができる。元の矩形の一部のみを表示するために選択すること、すなわち、上述した「元矩形のクリッピング、すなわち、ソースクリッピング(source clipping)」を選択することができる。「目的矩形のクリッピング、すなわち、デスティネーションクリッピング(destination clipping)」は、ページに表示されている完全な目的矩形より小さいものに関する。例えば、元の矩形が、一部のみがページに現れるように配置される場合に、デスティネーションクリッピングが行われる。ソースクリッピングと異なり、デスティネーションクリッピングは、本発明のDIBスティッチングプロセッサ内で処理される。
【0046】ブロック20の閾値テストをパスすると、別のDIBがM2として取得され、ブロック22においてM1と比較される。「描画モード(Drawmode)」とは、アプリケーションによる呼び出しに応じて、DIBをページ上に配置するために、GDIが指定することができるいくつかの描画特性を言う。M1およびM2の描画モードが異なる場合、これは、それらDIBが同じ画像の一部ではなく、スティッチされるべきではないという証拠である。かかるDIBの1つは、図1Cに示すホットロッドからのものであり、1つは図1Dに示すホッケープレーヤからのものである。かかる場合に対して、図1Cおよび図1Dの両方にわたって大域的画像向上処理を施すことは適切ではない。別個の無関係な画像に対して単一の画像向上処理を適用することを試みるのではなく、図1Cおよび図1Dに対して別個の画像向上を適用することにより、単一の画像の各々に対して適切な画像向上を行うことがより望ましい。従って、描画モードが異なるということは、別個の画像であることを意味しており、このようなDIBに対しては、DIBスティッチングは適用できない。
【0047】DIBであるM1とM2が異なるスケールファクタを有する場合も同じ論理が適用される。描画モードと同様に、異なるスケールファクタの存在は、M1とM2が独立した別個の画像からのDIBである証拠である。スケールファクタの比較は、誤差を許容して行われるべきである。すなわち、スケールファクタは、ユーザによって指定される許容範囲において等しければ同じであるとみなされる。本発明者によって好ましいとされる許容値(許容率)は、10%である。別個の画像からのDIBをスティッチングすると、それらの画像の各々に対して別々に最適な画質を提供する際の画像向上処理が(支援されるのではなく)妨げられる。従って、DIBスティッチングを実行せずに、終了するのが適切である。
【0048】ある1つのDIBに必要とされる特性の1つは、そのDIBが、先行するDIBと同じ向きであるということである。例えば、アプリケーションは、ページのどの縁部とも平行でない向きを有する画像をそのページに印刷するよう命じる場合がある。すなわち、その画像は、ページに対して傾いている。かかる画像は、一般に、実質的に同じ長さである共通の境界を当初共有する矩形DIBとして、デバイスドライバに提供される。ページに対して傾いた画像を構成する連続したDIBが受取られると、DIBの共通の境界は、異なる長さを有することとなる。かかるDIBは、スティッチされない。また、かかる画像が傾いた向きで構成されるため、画像全体を完成するために、画像のギャップおよび小さなスライスを加える必要がある。かかる画像は、現在のところ、あまりにも多くの処理を必要とし、印刷処理の速度を許容できないほど低下させるものと考えられるので、本発明によればスティッチされない。
【0049】しばしば、画像は、記憶空間を節約するために圧縮される。本発明のDIBスティッチングプロセッサによって受取られる画像が圧縮されている場合、本発明の範囲内において、画像を復元して、本明細書で説明したDIBスティッチングアルゴリズムを適用することが可能である。しかしながら、本発明者らには、DIBスティッチングに先立つ復元は、印刷品質の改善という点において、努力するに通常値しないものであるということが分かっている。従って、本発明の固有の制限によるものではなく、実用性による理由で圧縮された画像を受け取った場合には、常に、DIBスティッチングを終了する(または開始しない)ことが好ましい。
【0050】上述した本発明のDIBスティッチング処理は、PDLファイルからの受け取りまたは取り出しに応じて、逐次DIBを処理することに限定されない。例えば、組をなす連続するDIBがばらばらなものとして提供され、共通の境界がない場合がある。2つの独立した画像ではなく、かかるDIBは、追加のDIBが互いにスティッチされるに従って大きくなり、1つの単一体の画像を構成する。本発明の代替的な実施形態は、「ページ開始(begin page)」から「ページ終了(end page)」命令までにおける、PDLファイルからのすべてのDIBについての全処理を含む。そして、いずれの画像が単一体であって、共通の大域的画像向上処理に適しているか、および、いずれの画像がそうではないかを判断する。
【0051】本発明のDIBスティッチングプロセッサは、スティッチングの中止に対するいくつかの基準を有している。これら基準により、2つの出口経路のうちの1つが決まる。すなわち、1)後続するアプリケーションによる大域的画像向上に適した終了、および、2)大域的画像向上が適用された場合には、アーティファクトを生じやすい終了であり、この場合、大域的画像向上がバイパスされるか、または「ベイル・アウト」のケースとなる。
【0052】図8は、ベイル・アウトの例を示している。図8Aは、タイル1,…4がスティッチされた場合であっても、新たなタイル5により単一体の1,…4が1つのDIBとしてリリース(解放)される場合を示している。これは、タイル5が単一体の1,…4と共通の境界を共有しないためである。追加のDIBを考慮すると、最終的には単一体の5,…8は単一体の1,…4と接触する(T1+3)が、単一体の1,…4は既にリリースされている。これにより、ベイル・アウトのケースが生じる。
【0053】別のベイル・アウトのケースを図8Bに示す。この例では、4つのタイルのみが受取られ、その後に「ページの終了(End of Page)」(「EOP」)が続いている。図8BにおけるM2は、M1とは同じでない最後の領域(x方向の長さ)で終了するため、M1にスティッチされない。M1とM2は接触するが互いにスティッチされないため、これはベイル・アウトのケースとなる。
【0054】本発明を詳細に説明したが、当業者には、本明細書で説明した本発明の概念の思想から逸脱することなく、本発明に対し変更を実施することができるということを理解されよう。従って、本発明の範囲は、図示し、説明した特定の好ましい実施形態に限定されるものではなく、特許請求の範囲によって決定されるべきものである。以下においては、本発明の種々の構成要件の組み合わせからなる例示的な実施態様を示す。
1.ビットマップ(3)を含む一連のメモリオブジェクトから画像を作成する方法であって、A)記憶装置(11)から逐次的に前記オブジェクトを取得するステップ(17)と、B)終了条件が発生したか否かを判定するステップと、C)終了条件が発生していない場合、i)取出されたビットマップ(3)を逐次的にスティッチして単一のビットマップにし(15)、ii)別のオブジェクトを取得し(17)、iii)ステップAに戻る、ステップと、D)終了条件が発生した場合、i)前記終了条件が、アーティファクトを生じない大域的処理を可能とするものであるか否かを判定し、a)前記終了条件が、アーティファクトを生じない大域的処理を可能とするものである場合には、取得されたビットマップすべてに対して、大域的処理(16)および出力装置(9)への画像のレンダリング(12)を実行し、b)前記終了条件が、アーティファクトを生じない大域的処理を可能とするものではない場合には、大域的処理(16)を回避する一方で取得されたビットマップすべてを出力装置に対してレンダリングする(12)、ステップからなる方法。
2.ビットマップ(3)を含む一連のメモリオブジェクトから画像を作成する方法であって、A)記憶装置(11)から逐次的に前記オブジェクトを取得するステップ(17)と、B)終了条件が発生したか否かを判定するステップと、C)終了条件が発生していない場合、i)取得されたビットマップ(3)を逐次スティッチして単一のビットマップにし(15)、ii)別のオブジェクトを取得し(17)、iii)ステップAに戻るステップと、D)共通の境界を共有していない一連のビットマップ(3)の終了条件が発生した場合、前記ビットマップを取得された任意のビットマップにスティッチしてステップAに戻るステップと、E)ステップD以外の終了が発生した場合、i)その終了条件が、アーティファクトを生じない大域的処理を可能とするものであるか否かを判定し、a)前記終了条件が、アーティファクトを生じない大域的処理を可能とするものである場合には、取得されたビットマップすべてに対して大域的処理(16)および出力装置(9)への画像のレンダリング(12)を実行し、b)前記終了条件が、アーティファクトを生じない大域的処理を可能とするものではない場合には、大域的処理(16)を回避する一方で取得されたビットマップすべてを出力装置に対してレンダリングする(12)、ステップからなる方法。
3.前記アーティファクトを生じない終了条件が、ビットマップ以外のオブジェクトを取得することからなる、上項1または2の方法。
4.前記アーティファクトを生じない終了条件が、ページ終了(end-of-page)オブジェクトを取得することからなる、上項1乃至3のいずれかの方法。
5.前記アーティファクトを生じない終了条件が、前記一連のメモリオブジェクトを処理し尽くすことからなる、上項1乃至4のいずれかの方法。
6.アーティファクトを生じない大域的処理を可能とはしない前記終了条件が、圧縮されたビットマップを取得することからなる、上項1乃至5のいずれかの方法。
7.前記アーティファクトを生じない終了条件が、共通の境界を共有しない2つのビットマップを順次取得することからなる、上項1乃至6のいずれかの方法。
8.アーティファクトを生じない大域的処理を可能とはしない前記終了条件が、24ビット色ではないビットマップを取得することからなる、上項1乃至7のいずれかの方法。
9.アーティファクトを生じない大域的処理を可能とはしない前記終了条件が、異なる描画モードを有する連続したビットマップを取得することからなる、上項1乃至8のいずれかの方法。
10.アーティファクトを生じない大域的処理を可能とはしない前記終了条件が、予め設定された許容率を超えて異なるスケールファクタを有する連続したビットマップ(3)を取得することからなる、上項1乃至9のいずれかの方法。
【発明の効果】本発明によれば、装置に依存しないビットマップ(DIB)を合体して画像にし、印刷ページ上に描写(レンダリング)する際に、画像向上用の大域的画像処理を適用することにより導入されるアーティファクトを回避することができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013