JP5607779B2 - 方法、装置、コンピュータ可読記憶媒体 - Google Patents

方法、装置、コンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP5607779B2
JP5607779B2 JP2013057298A JP2013057298A JP5607779B2 JP 5607779 B2 JP5607779 B2 JP 5607779B2 JP 2013057298 A JP2013057298 A JP 2013057298A JP 2013057298 A JP2013057298 A JP 2013057298A JP 5607779 B2 JP5607779 B2 JP 5607779B2
Authority
JP
Japan
Prior art keywords
region
image
memory
data
size
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.)
Active
Application number
JP2013057298A
Other languages
English (en)
Other versions
JP2013198161A (ja
Inventor
デ シェン デン ディクソン
タオ ルー ウェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2013198161A publication Critical patent/JP2013198161A/ja
Application granted granted Critical
Publication of JP5607779B2 publication Critical patent/JP5607779B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、画像処理に関し、特に画像を圧縮する方法及び装置に関する。また本発明は、画像を圧縮するコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラムに関する。
多くのコンピュータシステムは、大量の画像又はビットマップデータを処理する必要がある。そのようなコンピュータシステムは、一般に限られたメモリリソースで動作しているため、処理中に必要なメモリの量を削減するためにデータを圧縮することが多い。
そのようなコンピュータシステムの一例は、ラスタ画像処理システムである。ラスタ画像プロセッサ(RIP)は、文書の体裁を示すフォント及びグラフィックスに関するデジタル情報を使用し、その情報をプリンタ等の撮像デバイスが出力できる個々の画素から合成された画像に変換する。当技術分野において、多くの種類のラスタ画像プロセッサが既知である。これらは、フレームメモリRIP、バンドメモリRIP及びタイル順序RIPを含む。
タイルRIPにおいて、ページは正方形のタイルに分割される。各タイルは、RIPが次のタイルのレンダリングを開始する前に完全にレンダリングされる。出力圧縮器は、タイル順序でデータを受け入れられるという条件で、レンダリングされたタイルが得られ次第そのようなRIPを用いてそのタイルの圧縮を開始してもよい。
圧縮方法を選択する際、圧縮されているデータの種類に適した方法を使用することが重要である。これらの方法は、非可逆又は可逆のいずれかとして大別される。
多くの場合、可逆圧縮アルゴリズム及び非可逆圧縮アルゴリズムの双方を利用するハイブリッド圧縮戦略は、ラスタ画像プロセッサの出力を圧縮するために使用される。ハイブリッド圧縮戦略において、レンダリングビットマップは、平坦な領域及び画像領域にセグメント化される。一般にこれは、適度な圧縮率を維持しつつ高画質を実現する良好な戦略である。しかし、メモリリソースが不十分なシステムにおいて、圧縮を目標メモリサイズ(すなわち、許容可能なメモリ容量)内にするために圧縮戦略を調整する必要がある。
例えば、一般的なJPEG圧縮処理において、DCT係数は、最終的な符号化画像のサイズを調整するために使用可能な量子化テーブルを使用して量子化される。量子化レベルが高いほど、量子化中により多くの知覚可能な情報が失われる。
JPEGを非可逆圧縮アルゴリズムとして採用するハイブリッド戦略は、量子化レベルを調整することでその非可逆圧縮率を調整できる。初期圧縮で目標メモリを満たせない場合、より高い量子化レベルの再圧縮が必要である。しかし、ある特定の量子化レベルを設定することで実現可能なメモリ節約を予測することは困難である。従って、所定の目標メモリに適したレベルに到達するまで量子化レベルを毎回増分して調整することにより、2回以上の再圧縮の試行が必要である。
符号化画像のサイズを調整する別の方法は、最高次係数から開始して所望の目標メモリに到達したら停止する画像のDCT係数を破棄する方法である。画像の視覚情報の大部分がDC係数及びより低いAC係数内で符号化されるため、これは実現可能である。
再圧縮を必要とせずに高次AC係数を削除できる画像のスペクトルJPEG符号化の方法が使用可能である。DCT符号化ブロック毎に、量子化係数は、視覚的重要度が低下していくスペクトルバンド内に格納される。DCT係数の次数の増大は、画像の視覚品質に対する影響が減少することに直接関連する。従って、符号化DCT係数は、全体的な画質への関連性を減少させるに従ってソートされるスペクトルのパーティションにグループ化できる。この構成において、より高いスペクトルのパーティション及びそれらと関連付けられた符号化DCT係数を削除することにより、画質の劣化は必要最低限となりうる。このように、あまり関連しないパーティションを最初に除去することでメモリを適応的に解放できるため、再圧縮の必要はない。また、可逆圧縮データを縮小するために、プロセッサがより積極的な領域セグメント化パラメータを設定することで画像を再セグメント化するため、より多くの領域は、再圧縮処理において画像領域として分類される。
より多くの領域を画像領域として分類する1つの方法は、瞬時圧縮率を許容差内に維持するように圧縮パラメータ及びセグメント化パラメータの双方を動的に調整する。この方法は、全体的な圧縮率が基準を満たすまでストリップ毎に文書を再圧縮する。しかし、ストリップ毎に圧縮パラメータ及びセグメント化パラメータを調整することにより、ページにわたり一貫性のない品質となりうる。最後の全体的な圧縮率ではなく瞬時圧縮率に基づいて再圧縮を判断することにより、時期尚早な最適化につながり且つ不必要に品質を損なう可能性がある。とりわけ、再圧縮する前にそのようなパラメータを調整することで実現可能なメモリ節約を判定することは困難であるため、画像全体は場合によっては2回以上再圧縮される。
別の方法は、ブロックベースのハイブリッド圧縮システムを開示する。そのシステムにより、圧縮率は、ブロックを無地又は画像として分類するために使用された閾値を調整することで制御される。無地ブロックの数と分類閾値の値との間のマッピングが格納される。マッピングにおける各点は、そのような分類閾値が選択される場合に無地として分類可能なブロックの数を示す。この情報は、再圧縮が必要な場合に閾値を調整するために使用される所定の分類閾値に対する圧縮率を大まかに示す。しかし、単に無地ブロックの数を使用するだけでは圧縮率を正確に予測できず、これは、試行された再圧縮が所望の圧縮率を満たせない可能性があることを意味する。再圧縮が所望の圧縮率を満たせない場合にメモリ使用量を削減する他の方法は、画像間引き、拡大した量子化ステップ又はより暗い領域に対する選択的な量子化を含む。これらの他の方法の欠点は、所望の圧縮率を満たすまで再圧縮が行われる場合に実行されなければならない再圧縮の更なる回数に対する要件である。
本発明の目的は、既存の構成の1つ以上の欠点を実質的に克服するか、あるいは少なくとも改善することである。
初期圧縮においてメモリ容量(すなわち、目標メモリサイズ)を超える場合に目標の再圧縮サイズを判定し、且つそれに依存してエッジデータ圧縮方法と画像データ圧縮方法との組合せを変更することで目標のメモリ使用量を達成するために1つ以上の圧縮のみを実行することにより、上述の問題に対処しようとするシングルパス再圧縮(SPR)構成と呼ばれる構成を開示する。
本発明の一態様によると、必要メモリを満たすメモリに格納される画像を圧縮する方法であって、
画像において一様な色を有する領域のサイズを判定するステップと、
領域サイズ閾値の候補値を取得するステップと、
判定された領域のサイズを領域サイズ閾値の候補値のうちの少なくとも1つと比較するステップと、
データ量を推定して領域サイズ閾値の候補値のうちの少なくとも1つを満たす領域を構成するエッジを符号化するステップと、
推定データ量と必要メモリとの比較に基づいて領域サイズ閾値として候補値から値を選択するステップと、
選択された領域サイズ閾値の値を満たす領域を構成するエッジを可逆圧縮するステップと、
可逆圧縮される領域以外の領域の画像データを非可逆圧縮するステップと、
を備える方法が提供される。
次に、以下の図面を参照して本発明の1つ以上の実施形態を説明する。
図1は、文書をレンダリング及び印刷する印刷システムを示す概略ブロック図である。 図2は、クライアントベースのアーキテクチャを有する図1の印刷システムを示す概略ブロック図である。 図3は、ホストベースのアーキテクチャを有する図1の印刷システムを示す概略ブロック図である。 図4は、タイルを示す図である。 図5は、SPR構成に従って図2及び図3のシステムにおいて使用されたようなRIP出力圧縮装置を示す概略ブロック図である。 図6は、図5に示されたRIP出力圧縮装置により実行された圧縮処理を示す概略的なフローチャートである。 図7は、SPR構成に従って図5に示されたようなRIP出力圧縮装置に対する概略ブロック図を示す拡大図である。 図8は、タイルの走査線(又は行)上の単一の画素ランに対する画素ラン生成処理を示すフローチャートである。 図9は、画素ランに対するコントラストを算出するために使用された画素の近傍を示す図である。 図10は、結合基準が候補画素ランにより満たされるエッジ形成の例を示す図である。 図11は、エッジ生成器により実行されたエッジ生成処理を示すフローチャートである。 図12は、エッジ生成処理器により生成されたエッジの視覚的重要度を評価する方法を示す概略的なフローチャートである。 図13aは、エッジメタデータが再圧縮マネージャに格納される方法の1つの表現の一例を示す図である。 図13bは、図13aに示した同一の例に対してエッジメタデータが再圧縮マネージャに格納される方法の別の表現を示す図である。 図14Aは、非可逆符号化のために符号化ユニットに分割されている画像を示す概略図である。 図14Bは、8×8DCTブロックを示す概略図である。 図15は、SPR構成に係る非可逆画像圧縮装置の構成を示す概略図である。 図16aは、DCT領域における品質パーティションを示す概略図である。 図16bは、符号化DCT係数に対する例示的なパーティショニング方式を示すテーブルである。 図17は、SPR構成により圧縮されたタイルの一例を示す図である。 図18は、図6に示された戦略的なメモリ削減ステップを示す概略的なフローチャートである。 図19は、エッジ評価基準を調整するために使用されたメタデータを表す例示的なヒストグラムを示す図である。 図20aは、初期圧縮後に品質パーティションをメモリ内に格納する方法を示す概略図である。 図20bは、再圧縮後に品質パーティションをメモリ内に格納する方法を示す概略図である。 図21A及び図21Bは、説明した配列を実行できる汎用コンピュータシステムを形成する概略ブロック図である。 図21A及び図21Bは、説明した配列を実行できる汎用コンピュータシステムを形成する概略ブロック図である。
いずれか1つ以上の添付の図面において、同一の図中符号を有するステップ及び特徴又はその両方を参照する。それに反する意図が示されない限り、これらのステップ及び特徴又はその両方は、本明細書のために同一の機能又は動作を有する。
尚、「背景技術」の節及び従来技術の構成に関連する上記の節に含まれた説明は、それぞれの使用法を通じて周知の技術を形成してもよい構成の説明に関連する。そのような説明は本発明者又は本特許出願人による表現として解釈されるべきではなく、そのような構成は当技術分野における一般常識の一部を何らかの形で形成する。
データの再圧縮は多くの計算を必要とするため、画質を最適化しつつ結果として得られる圧縮データがワンパスで必要メモリ(許容可能なメモリ容量)を満たすことを保証する適切な再圧縮パラメータを判定することが有利である。開示されたSPR構成は、ハイブリッド圧縮システムにおいてそのような再圧縮パラメータを判定する方法に関する問題を解決する。
本明細書で説明する構成の原理は、一般に画像の圧縮に適用可能である。説明を簡単にするため、カラーラスタ画像処理システムにおいて使用された画像の圧縮を参照して構成を説明する。しかし、SPR構成を説明した構成に限定することを意図しない。例えばSPR構成は、メモリリソースが制限される圧縮を利用するあらゆる構成に適用されてもよい。
自然画像の場合、JPEG及びウェーブレット圧縮等の非可逆圧縮アルゴリズムは、視覚的に重要でない情報を破棄することで高圧縮率及び許容可能な視覚品質を実現できる。しかし、情報が破棄される場合、テキスト又はグラフィックス等の色の急激な変化を含む文書には視覚アーチファクトが発生しうる。
可逆圧縮の利点は出力が高品質なことである。色の急激な変化が維持されなければならないテキスト領域及びグラフィック領域とってこれは重要であり、ほとんどの非可逆なアルゴリズムにより生じたアーチファクトの種類を回避できる。解像度及び色深度が向上するにつれ画素ベースの可逆方法では法外にメモリに費用がかかるようになるため、JPEG−LS等の画素ベースの可逆方法はスケーラビリティが低い。最悪のケースでは、ジョブにより、圧縮サイズは元のサイズより大きくなる。
エッジベースの可逆アルゴリズムは、結合画素の領域を見つけ、各領域の形状を符号化する。多くの画素を含む大きなエリアを単一のエッジのみで示せるため、エッジベースの可逆アルゴリズムは、単色のテキスト領域又はグラフィック領域を非常に効率的に表せる。解像度が向上するときにエッジの数が増加しないため、エッジベースの可逆アルゴリズムは、解像度又はビット深度の向上による影響をあまり受けない。
非可逆方法又は可逆方法だけではRIP出力の圧縮に対して満足のいく結果を出せない。一般的なRIP出力は、単一のページにわたり種々の異なる要件を含む。RIPにより生成された画素データは、テキスト領域、グラフィック領域及び自然画像領域等の多数の異なる領域の種類のうちの1つに属しうる。領域の種類の各々は、種々の特性を有するために種々の圧縮要件を有する。可逆方法と非可逆方法との組合せ又はハイブリッドは、高品質を維持しつつ高圧縮率を実現する1つの方法であり、可逆方法が急激な色の変化を維持する一方で、非可逆方法は多くの色を有する領域を強く圧縮する。
ハイブリッド手法は、可逆符号化されるべき領域及び非可逆符号化されるべき領域を識別する何らかの方法を必要とする。
文字、記号及び他のグリフを形成する画素の領域をテキスト領域として示す。一般に多くのブロック図、チャート及びクリップアートにおいて見つけられる同一の色の大きな領域を形成する画素の領域をグラフィック領域として示す。テキスト領域及びグラフィック領域の双方は、領域毎に単色を含み、急峻なエッジを維持するために正確に規定された領域間の変化を必要とする。通常、可逆符号化はこれらの領域に対して使用される。テキスト領域及びグラフィック領域は、包括的に「平坦な領域」と呼ばれ、本明細書において「第1の領域」とも呼ばれる。
本明細書において「第2の領域」とも呼ばれる画像領域は、グラフィック領域又はテキスト領域の色間の変化よりも平滑に変動する多くの色を含む領域である。一般に写真画像と関連付けられたこれらの領域は、領域内で色が絶えず変化しているために大量のデータを含む。通常、非可逆符号化は画像領域に対して使用される。人間の視覚システムが画像領域と平坦な領域との間の境界を2つの平坦な領域間の境界と殆ど同一に処理するため、画像領域の境界は、依然として正確に保存されなければならない。しかし、人間の視覚システムが画像領域内の色又は輝度の僅かな変動にあまり反応しないため、画像領域内の画素は厳密に維持される必要はない。
図1は、ネットワーク104を介してプリンタ105に接続されたパーソナルコンピュータ101を含む一般的な印刷システム100を示す概略ブロック図である。図21A及び図21Bに関して以下に更に詳細に説明するように、パーソナルコンピュータ101及びプリンタ105の各々は、少なくとも1つのプロセッサユニットと、メモリユニットと、ネットワーク104と通信する変復調器(モデム)送受信機デバイスとを備える。プリンタ105はプリンタエンジン107を更に備える。ネットワーク104は、USB(Universal Serial Bus)又はパラレルポート接続を含むあらゆる接続であってもよい。
パーソナルコンピュータ101のユーザ2168(図21Aを参照)がプリンタ105を使用して文書2171を物理媒体に印刷することを選択する場合、処理には多数の段階がある。第1に、パーソナルコンピュータ101上で実行するソフトウェアアプリケーション102は、印刷対象のオブジェクトを記述するAdobe(登録商標)PostScript(登録商標)又はヒューレットパッカードのプリンタコマンド言語(PCL)等のページ記述言語(PDL)の形式のデータを生成する。第2に、パーソナルコンピュータ101上で更に実行するホスト印刷マネージャ103は、結果として得られるデータをネットワーク104を介してパーソナルコンピュータ101からプリンタ105に送信する前に、PDLを処理する。
プリンタ105のクライアント印刷マネージャ106は、結果として得られるデータがプリンタ105のプリンタエンジン107に提供される前に、結果として得られるデータを物理媒体に印刷する更なる処理を実行する。
ホスト印刷マネージャ103及びクライアント印刷マネージャ106により実行された動作は、通常、ジョブ生成と、ラスタ画像プロセシング(RIP)と、RIP出力圧縮と、RIP出力伸張と、RIP後処理とから構成される。これらのタスクは、選択されたアーキテクチャの種類に依存して多くの異なる方法でホスト印刷マネージャ103とクライアント印刷マネージャ106との間で分割される。
RIPは、一般的な印刷ジョブに存在しうる多くのレベル及びオブジェクトを2次元ラスタ化出力に合成する役割を担う。出力は、選択された解像度でページエリアの画素毎に色値を規定できなければならない。レーザプリンタエンジンのリアルタイム要件のために、ラスタ形式のページ全体は、通常、RIP後処理が開始すると印刷のために使用可能である。
RIP後処理は、レンダリングデータを使用し、必要なあらゆる最終的な処理を実行し、且つリアルタイムのデータをプリンタエンジン107に供給する処理である。印刷処理の全ての段階がリアルタイムのデータの供給を保証できる場合、データが印刷のために適時に一定の速度でシステムを通してパイプライン方式で実行される単純なシングルパスシステムが動作可能である。しかし、レンダリングされる必要のあるソースデータの複雑さが変動するために、ラスタ画像プロセッサは必ずしもリアルタイムで動作するとは限らない。
一般的なレーザプリンタエンジンにおいて、RIP後処理は、ページがプリンタ105を介して供給される時にリアルタイムで動作しなければならない。リアルタイムで動作しない場合、プリンタエンジン107は機能停止し、ページ全体を再度印刷する必要がある。リアルタイムのデータの供給を保証するために、RIP出力のページ全体をバッファリングしなければならない。無圧縮画素データのページ全体をバッファリングするのに必要なメモリには法外な費用がかかる。従って、低い費用で十分な性能を実現するためにRIP出力圧縮が必要である。RIP出力の伸張もリアルタイムで実行されなければならない。
ホスト印刷マネージャ103又はクライアント印刷マネージャ106へのタスクの委譲は、選択されたアーキテクチャの種類に依存する。2つの一般的なアーキテクチャは、クライアントベース又はホストベースのアーキテクチャである。
図2は、処理の大部分がクライアント印刷マネージャ106により実行される図1の印刷システムに対するクライアントベースのアーキテクチャを示す概略ブロック図である。パーソナルコンピュータ101のユーザ2168は、文書2171を印刷することを選択し、ホスト印刷マネージャ103に送出されるPDLをソフトウェアアプリケーション102に作成させる。ホスト印刷マネージャ103内のジョブ生成器201は、PDLを使用し、それをクライアント印刷マネージャ106のRIP203に供給可能なフォーマットに編成する。データは、ネットワーク104を介してジョブ生成器201からデータをクライアント印刷マネージャ106のジョブメモリ202に格納するプリンタ105に送出される。次にデータは、RIP203によりレンダリングされ、RIP出力と呼ばれる画素のビットマップを作成する。次にRIP出力は、RIP出力圧縮器204により圧縮され、圧縮メモリ205に格納される(「圧縮メモリ」という用語は、圧縮データの記憶装置に割り当てられたメモリの部分を示すために使用される)。プリンタエンジン107が情報を必要とする前に、データは、RIP出力伸張器206により無圧縮メモリ207に伸張される(「無圧縮メモリ」という用語は、無圧縮データの記憶装置に割り当てられたメモリの部分を示すために使用される)。このデータは、プリンタエンジン107により生成された印刷品質を最適化するように多くの方法でポストRIPプロセッサ208により変更される。最後に、画素データはプリンタエンジン107に供給される。
図3は、処理の大部分がホスト印刷マネージャ103にシフトされている図1の印刷システムのホストベースのアーキテクチャを示す概略ブロック図である。パーソナルコンピュータ101のユーザ2168は、文書2171を印刷することを選択し、ホスト印刷マネージャ103に送出されるPDLをソフトウェアアプリケーション102に作成させる。ジョブ生成器201は、PDLを処理し、それをRIP203に供給可能なフォーマットに編成する。このデータは、RIP203によりレンダリングされる前にジョブメモリ202に格納され、RIP出力と呼ばれる画素のビットマップを作成する。RIP出力は、RIP出力圧縮器204により圧縮され、ネットワーク104を介して圧縮メモリ205に格納されるプリンタ105のクライアント印刷マネージャ106に送出される。プリンタエンジン107が情報を必要とする前に、データは、RIP出力伸張器206により伸張され、無圧縮メモリ207に格納される。そこから、ポストRIPプロセッサ208は、プリンタエンジン107により生成された印刷品質を最適化するように多くの方法でデータを変更する。最後に、画素データはプリンタエンジン107に送出される。
図21A及び図21Bは、説明した種々のSPR構成を実施できる汎用コンピュータシステム2100を示す。図21A及び図21Bと関連付けられた説明は、主にパーソナルコンピュータ101の構造及び機能に関する。しかし、プリンタ105の構造及び機能が非常に類似しているため、パーソナルコンピュータの操作方法の説明は、大部分がプリンタに適用されてもよい。
図21Aに示されるように、コンピュータシステム2100は、コンピュータモジュール101と、キーボード2102、マウスポインタデバイス2103、スキャナ2126、カメラ2127及びマイク2180等の入力デバイスと、プリンタ105、表示装置2114及びスピーカ2117を含む出力デバイスとを備える。外部変復調器(モデム)送受信機デバイス2116は、接続2121を介して通信ネットワーク104と通信するためにコンピュータモジュール101により使用されてもよい。通信ネットワーク104は、インターネット、セルラ電気通信ネットワーク等のワイドエリアネットワーク(WAN)又は専用WANであってもよい。接続2121が電話線である場合、モデム2116は従来の「ダイヤルアップ」モデムであってもよい。あるいは、接続2121が大容量(例えば、ケーブル)接続である場合、モデム2116はブロードバンドモデムであってもよい。無線モデムは、通信ネットワーク104に無線接続するために更に使用されてもよい。
コンピュータモジュール101は、一般に、少なくとも1つのプロセッサユニット2105と、メモリユニット2106とを備える。例えばメモリユニット2106は、半導体ランダムアクセスメモリ(RAM)及び半導体読み出し専用メモリ(ROM)を有してもよい。コンピュータモジュール101は、ビデオディスプレイ2114、スピーカ2117及びマイク2180に結合するオーディオ/ビデオインタフェース2107と、キーボード2102、マウス2103、スキャナ2126、カメラ2127及び必要に応じてジョイスティック又は他のヒューマンインタフェースデバイス(不図示)に結合する入出力(I/O)インタフェース2113と、外部モデム2116及びプリンタ105用のインタフェース2108とを含む複数のI/Oインタフェースを更に備える。いくつかの実現例において、モデム2116は、インタフェース2108等のコンピュータモジュール101内に組み込まれてもよい。コンピュータモジュール101は、接続2123を介してコンピュータシステム2100がローカルエリアネットワーク(LAN)として既知であるローカルエリア通信ネットワーク2122に接続できるようにするローカルネットワークインタフェース2111を更に有する。図21Aに示されるように、ローカル通信ネットワーク2122は、一般にいわゆる「ファイアウォール」デバイス又は同様の機能性を備えたデバイスを含むワイドネットワーク104に接続2124を介して更に結合してもよい。ローカルネットワークインタフェース2111は、Ethernet(登録商標)回路カード、Bluetooth(登録商標)無線装置又はIEEE802.11無線装置を備えてもよいが、多数の他の種類のインタフェースがインタフェース2111に対して実施されてもよい。
I/Oインタフェース2108及び2113は、直列接続性及び並列接続性のいずれか一方又は双方を提供してもよい。一般に直列接続性は、USB(Universal Serial Bus)規格に従って実現され、対応するUSBコネクタ(不図示)を有する。記憶装置2109が提供され、一般に記憶装置2109は、ハードディスクドライブ(HDD)2110を含む。フロッピディスクドライブ及び磁気テープドライブ(不図示)等の他の記憶装置が更に使用されてもよい。オプションのディスクドライブ2112は、一般に、データの不揮発性ソースとして動作するように提供される。例えば、光ディスク(例えば、CD−ROM、DVD、Blu−ray(登録商標)ディスク)、USB−RAM、取り外し可能な外部ハードドライブ及びフロッピディスク等のポータブルメモリ装置は、システム2100に対する適切なデータソースとして使用されてもよい。
コンピュータモジュール101の構成要素2105〜2113は、一般に、結果として当業者に既知であるコンピュータシステム2100の動作の従来のモードから得られる方法で相互接続バス2104を介して通信する。例えばプロセッサ2105は、接続2118を使用してシステムバス2104に結合される。同様に、メモリ2106及び光ディスクドライブ2112は、接続2119によりシステムバス2104に結合される。説明した構成を実施できるコンピュータの例には、IBMのPC及び互換性のあるもの、サンスパークステーション、アップルMac又は同様のコンピュータシステムが含まれる。
SPR方法は、コンピュータシステム2100を使用して実現されてもよい。説明される図6〜図8、図11及び図12、並びに図18の処理は、コンピュータシステム2100内で実行可能な1つ以上のソフトウェアアプリケーションプログラム2133、2172として実現されてもよい。SPR方法は、コンピュータ101上で実行するプログラム2133及び/又はプリンタ105上で実行するプログラム2172を使用して実現されてもよい。特に、SPR方法のステップは、コンピュータシステム2100内で実行されるソフトウェア2133、2172で命令2131(図21Bを参照)により実施される。ソフトウェア命令2131は、各々が1つ以上の特定のタスクを実行する1つ以上のコードモジュールとして形成されてもよい。ソフトウェアは2つの別個の部分に更に分割されてもよく、第1の部分及び対応するコードモジュールはSPR方法を実行し、第2の部分及び対応するコードモジュールは、第1の部分とユーザとの間のユーザインタフェースを管理する。
例えばソフトウェアは、以下に説明する記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム2100にロードされ、コンピュータシステム2100により実行される。そのようなソフトウェア又はコンピュータプログラムを記録したコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム2100においてコンピュータプログラムを使用することにより、SPR方法を実行する有利な装置を実施することが好ましい。
一般にソフトウェア2133、2172は、HDD2110、並びに/あるいはメモリ2106及び/又はメモリ2170に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム2100にロードされ、コンピュータシステム2100により実行される。従って、例えばソフトウェア2133は、光ディスクドライブ2112により読み出される光学的に読み出し可能なディスク記憶媒体(例えば、CD−ROM)2125上に格納されてもよい。そのようなソフトウェア又コンピュータプログラムを記録したコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム2100においてコンピュータプログラムを使用することにより、SPR方法を実行する有利な装置を実施することが好ましい。
いくつかの例において、アプリケーションプログラム2133、2172は、1つ以上のCD−ROM2125上でユーザが符号化したものに供給されて対応するドライブ2112を介して読み出されてもよいか、あるいはユーザによりネットワーク104又は2122から読み出されてもよい。また、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム2100に更にロードされる。コンピュータ可読記憶媒体は、実行及び処理又はそのいずれかをするために記録された命令及びデータ又はそのいずれかをコンピュータシステム2100に提供するあらゆる非一時的な有形記憶媒体を示す。そのような記憶媒体の例には、フロッピディスク、磁気テープ、CD−ROM、DVD、Blu−ray(tm) Disc、ハードディスクドライブ、ROM又は集積回路、USBメモリ、光磁気ディスク、あるいは例えばPCMCIAカード等のコンピュータ可読カードが含まれ、そのようなデバイスは、コンピュータモジュール101の内部又は外部にある。ソフトウェア、アプリケーションプログラム、命令及びデータ又はそのいずれかをコンピュータモジュール101に提供することに更に関係してもよい一時的又は非一時的なコンピュータ可読伝送媒体の例には、無線送信チャネル又は赤外線送信チャネル及び別のコンピュータ又はネットワーク化されたデバイスへのネットワーク接続、並びに電子メール送信及びウェブサイト上等に記録された情報を含むインターネット又はイントラネットが含まれる。
上述したアプリケーションプログラム2133、2172の第2の部分及び対応するコードモジュールは、ディスプレイ2114上にレンダリングされるかあるいは表される1つ以上のグラフィカルユーザインタフェース(GUI)を実現するように実行されてもよい。一般にキーボード2102及びマウス2103を操作することにより、コンピュータシステム2100及びアプリケーションのユーザは、GUIと関連付けられたアプリケーションに制御コマンド及び入力又はそのいずれかを提供するように機能的に適応可能な方法でインタフェースを操作してもよい。他の形式の機能的に適応可能なユーザインタフェース、例えばスピーカ2117を介して出力された音声プロンプト及びマイク2180を介して入力されたユーザボイスコマンドを利用するオーディオインタフェースが更に実現されてもよい。
図21Bは、プロセッサ2105及び「メモリ」2134を示す詳細な概略ブロック図である。メモリ2134は、図21Aのコンピュータモジュール101がアクセス可能な全てのメモリモジュール(HDD2110及び半導体メモリ2106を含む)の論理的な集約を示す。図21Bに示した構造及び機能は、場合によってはいくつかの変更を加えてプリンタ105及びアプリケーションプログラム2172の動作にも適用される。
コンピュータモジュール101の電源が最初に投入される場合、電源投入時自己診断(POST)プログラム2150が実行される。一般にPOSTプログラム2150は、図21Aの半導体メモリ2106のROM2149に格納される。ソフトウェアを格納するROM2149等のハードウェアデバイスは、ファームウェアと呼ばれる場合もある。POSTプログラム2150は、コンピュータモジュール101内のハードウェアを調査して適切に機能することを保証し、一般に、正しく動作するために、一般にROM2149に更に格納されたプロセッサ2105、メモリ2134(2109、2106)及び基本入出力システム(BIOS)ソフトウェアモジュール2151をチェックする。POSTプログラム2150が正常に実行したら、BIOS2151は図21Aのハードディスクドライブ2110を起動する。ハードディスクドライブ2110を起動することにより、ハードディスクドライブ2110上に常駐するブートストラップローダプログラム2152がプロセッサ2105を介して実行する。これにより、オペレーティングシステム2153は、RAMメモリ2106にロードされると動作を開始する。オペレーティングシステム2153は、プロセッサ2105により実行可能なシステムレベルのアプリケーションであり、プロセッサ管理、メモリ管理、デバイス管理、ストレージ管理、ソフトウェアアプリケーションインタフェース及び汎用ユーザインタフェースを含む種々のハイレベルな機能を遂行する。
オペレーティングシステム2153は、メモリ2134(2109、2106)を管理し、コンピュータモジュール101上で実行する処理又はアプリケーションの各々が別の処理に割り当てられたメモリと衝突することなく実行する十分なメモリを有することを保証する。また、図21Aのシステム2100で使用可能な種々のメモリは、各処理が効率的に実行できるように適切に使用されなければならない。従って、集約メモリ2134は、メモリの特定の部分が割り当てられる方法を示すことを意図するのではなく(特に記載されない限り)、コンピュータシステム2100によりアクセス可能なメモリの概略図及びそのようなメモリが使用される方法を提供する。
図21Bに示されるように、プロセッサ2105は、制御ユニット2139、演算論理装置(ALU)2140及びキャッシュメモリと呼ばれる場合もあるローカルメモリ又は内部メモリ2148を含む多数の機能モジュールを含む。一般にキャッシュメモリ2148は、レジスタ部に複数の記憶レジスタ2144〜2146を含む。1つ以上の内部バス2141は、これらの機能モジュールを機能的に相互接続する。一般にプロセッサ2105は、接続2118を使用してシステムバス2104を介して外部デバイスと通信する1つ以上のインタフェース2142を更に有する。メモリ2134は、接続2119を使用してバス2104に結合される。
アプリケーションプログラム2133は、条件付き分岐命令及びループ命令を含んでもよい一連の命令2131を含む。プログラム2133は、プログラム2133を実行するために使用されるデータ2132を更に含んでもよい。命令2131及びデータ2132は、それぞれ、記憶場所2128、2129、2130及び2135、2136、2137に格納される。命令2131及び記憶場所2128〜2130の相対的なサイズに依存して、特定の命令は、記憶場所2130に示された命令により示されたように単一の記憶場所に格納されてもよい。あるいは、命令は、記憶場所2128及び2129に示された命令部分により示されたように、各々が別個の記憶場所に格納される多数の部分にセグメント化されてもよい。
一般にプロセッサ2105は、そこで実行される命令の集合を与えられる。プロセッサ2105は、命令の別の集合を実行することにより自身が反応する後続の入力を待つ。各入力は、入力デバイス2102、2103の1つ以上により生成されたデータ、ネットワーク104、2102のうちの一方を介して外部ソースから受信したデータ、記憶装置2106、2109のうちの一方から検索したデータ又は対応する読み取り装置2112に挿入された記憶媒体2125から検索したデータを含む多数のソースのうちの1つ以上から提供されてもよく、その全てが図21Aに示される。いくつかの例において、命令の集合を実行した結果、データが出力される。実行することは、データ又は変数をメモリ2134に格納することを更に含んでもよい。
開示されるSPR構成は、対応する記憶場所2155、2156、2157においてメモリ2134に格納される入力変数2154を使用する。SPR構成は、対応する記憶場所2162、2263、2164においてメモリ2134に格納される出力変数2161を生成する。中間変数2158は、記憶場所2159、2160、2166及び2167に格納されてもよい。
図21Bのプロセッサ2105を参照すると、レジスタ2144、2145、2146、演算論理装置(ALU)2140及び制御ユニット2139は、プログラム2133を構成する命令集合において命令毎に「取り込み、復号化及び実行」サイクルを実行するのに必要なマイクロ動作のシーケンスを実行するように共に動作する。取り込み、復号化及び実行サイクルの各々は、以下を含む。
(a)記憶場所2128、2129、2130からの命令2131を取り込むかあるいは読み取る取り込み動作
(b)制御ユニット2139が取り込まれた命令を判定する復号化動作
(c)制御ユニット2139及び/又はALU2140が命令を実行する実行動作
その後、次の命令に対する更なる取り込み、復号化及び実行サイクルが実行されてもよい。同様に、制御ユニット2139が値を記憶場所2132に格納するかあるいは書き込むことにより、格納サイクルが実行されてもよい。
図6〜図8、図11及び図12、並びに図18の処理におけるステップ又はサブ処理の各々は、プログラム2133に関連する場合にプログラム2133の示された部分に対して命令集合において命令毎に取り込み、復号化及び実行サイクルを実行するように共に動作するプロセッサ2105のレジスタ部2144、2145、2147、ALU2140及び制御ユニット2139、並びに且つプログラム2172に関連する場合にプリンタ105の対応するレジスタ部分、ALU、制御ユニット及びプロセッサにより、プログラム2133及びプログラム2172又はそのいずれかの1つ以上の部分と関連付けられて実行される。
SPR方法は、SPRの機能又はサブ機能を実行する1つ以上のゲートアレイ及び集積回路又はそのいずれか等の専用ハードウェアで代わりに実現されてもよい。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ又は1つ以上のマイクロプロセッサ及び連想メモリを更に備えてもよい。ゲートアレイが使用される場合、図6〜図8、図11及び図12、並びに図18の処理フローチャートは、ハードウェア記述言語(HDL)形式に変換される。このHDL記述は、ゲートウェイアレイにダウンロードされてHDL記述において指定された設計でプログラムを作成するファイルを生成するために配置配線(P&R)ツールにより使用されるデバイスレベルネットリストに変換される。
SPR構成は、可逆圧縮と非可逆圧縮との組合せを使用してラスタデータを圧縮する多くの圧縮アルゴリズムと、圧縮後メモリ回復戦略とを含む。開示された例において、ラスタデータは、タイル毎の順序で圧縮アルゴリズムに供給される。しかし、ラスタデータは、例えばストリップ毎の他の形式で提供可能である。
開示されたSPR構成の例は画像をタイルとして圧縮する。この構成のために、タイルはN画素×M画素のブロックを示すものとし、ページの幅にわたる多数のブロック及びページの長さの下の多数のブロックがある。タイルは、ばらばらであり、ページを範囲に含む。タイルは、ブロック402のような画素の8ブロック×8ブロックの整数から構成されることが好ましい。例えば、600dpiのプリンタ解像度のA4ページの場合、タイルの寸法に対して最適な選択肢は、M=N=64である。タイル内の画素(X、Y)の位置は、タイルの左上の隅と相関関係があり、X及びYは整数である。Yはタイルの行を指し示し、Xは、タイルの行に沿う画素のオフセットを指し示す。タイルの行は、タイルの幅にまたがる画素の集合から構成される。
例えば図4は、64画素×64画素を含むタイル400を示し、最初のタイルの行の最初の画素401は画素位置(0、0)を占有し、最初のタイルの行の最後の画素403は画素位置(63、0)を占有する。従って、最後のタイルの行の最後の画素404は、位置(63、63)を占有する。ラスタタイル順序は、最初のタイルの行から開始して最後の行で終了する連続した順序で、タイルを画素毎のタイルの行×タイルの行で処理することを示す。タイル内の画素値PX、Yは、位置(X、Y)に配置された画素Pの色値を示す。ページの寸法がタイルの整数を含まない場合、ページは必要なサイズに埋め込まれることが好ましい。一般にタイルは、同時に処理されてもよいが1つずつ処理される。
図5は、ハイブリッド圧縮器及び伸張器502と、再圧縮マネージャ503と、圧縮メモリマネージャ504とを備えるRIP出力圧縮器204の機能ブロック図の一例を示す。
RIP出力圧縮器204は、RIP203からラスタデータ501を入力として受信する。データは、圧縮のためにハイブリッド圧縮器/伸張器502に渡される。ハイブリッド圧縮器/伸張器502は、適切な圧縮アルゴリズムを各種類の領域に適用できるように、最初にデータを領域にセグメント化し、次に各領域を可逆領域又は非可逆領域として分類することにより、データを圧縮する。指定された圧縮パラメータに従って動作する非可逆圧縮アルゴリズムは、漸進的な画質を維持するようにグループ化されるデータブロックに編成される圧縮メモリマネージャ504に渡される符号化ビットストリームを生成する。データブロックの各グループは、スペクトルパーティションを形成する。
全てのパーティションは、自身が示す情報の視覚的重要度に従ってランク付けされる。圧縮メモリマネージャ504は、メモリ目標を満たすためにパーティションを削除する必要があるかを更に判定する。圧縮メモリマネージャ504は、削除可能なパーティションの数を制限することで最低レベルの画質を維持する。ハイブリッド圧縮処理中、ハイブリッド圧縮器/伸張器502は、再圧縮マネージャ503により収集及び格納される圧縮データサイズ及び圧縮パラメータに関連するメタデータを更に送出する。
圧縮の初期段階の終了後、圧縮メモリマネージャ504は、必要メモリ(すなわち、メモリ容量)及びパーティション削除戦略の制限を与えられた圧縮データの量を削減するために更なる動作を行う必要があるかを判断する。
圧縮メモリマネージャ504は、符号化データを縮小するために再圧縮が必要であると判断する場合、最初に必要メモリを満たすためにメモリ使用量を削減する必要のあるメモリの量について再圧縮マネージャ503に通知することで再圧縮処理を開始する。再圧縮マネージャ503は、目標のメモリ使用量を達成できるように圧縮パラメータを最適に調整する方法を判定するために、自身が圧縮の初期段階から収集したメタデータを使用する。再圧縮マネージャ503は、圧縮メモリマネージャ504から符号化データを読み出し且つ調整された圧縮パラメータを使用して符号化データを再圧縮する伸張を実行するようにハイブリッド圧縮器/伸張器502に命令する。RIP出力圧縮器204の出力は、必要メモリを満たす圧縮画像データ505である。
圧縮の流れ
図6は、RIP出力圧縮器204を実現する圧縮処理600の一例を示す概略的なフローチャートである。開示されたRIP出力圧縮器204の例は、600に示すように、圧縮画像データ505の量が2段階処理を適用することで必要メモリを満たすことを保証する。処理の第1の段階は、ステップ601で画像データを読み出し、後続のステップ602で最初の圧縮を実行する。処理の第2の段階は、圧縮処理全体がステップ605で終了する前に、判断ステップ604により判定されたように、戦略的なメモリ削減を採用することでステップ603で必要に応じて符号化データを縮小する。符号化データの縮小がステップ604で判定されたように必要でない場合、処理604は「Y」矢印に従ってステップ605に進む。
圧縮処理604の各段階を以下に更に詳細に説明する。
ハイブリッド圧縮器/伸張器
図7は、ステップ602の最初の画像圧縮及び必要に応じてステップ603の戦略的なメモリ削減の一部である画像再圧縮のために使用されるハイブリッド圧縮器/伸張器502の一例を示す。
入力画像データ501又は伸張画像データ710は、最初に画素ラン生成器701により処理され、同一の色を有する同一の走査線上の連続画素は、画素ラン702を形成するように結合される。画素ラン702はエッジ生成器703により処理され、逐次走査線上で隣接する(図11に関して以下に更に詳細に説明するような8方向の連続性により)同一の色を有する画素ランは、エッジ対704を形成するように共に作成される。各エッジ対704は、図12に関連して以下に更に詳細に説明するエッジ評価処理を使用してエッジ分類器705により評価される。認定されたエッジ対又は有効なエッジ対、すなわちエッジ評価基準を満たすエッジ対は、エッジメモリ714に保存される。他の(無効な)エッジ対は破棄される。エッジ分類器705は、再圧縮のために再圧縮マネージャ503により収集されるエッジメタデータを更に送出する。エッジメタデータは、有効なエッジ対及びエッジ評価処理において使用されたエッジ評価基準を説明する情報を含む。エッジメモリ714に保存された有効なエッジ対704は、可逆圧縮器706により圧縮される。無効なエッジは、エッジ分類器705により破棄される前にビットマスク生成器707に送出される。ビットマスクは、無効なエッジ上に作られ、非可逆圧縮のために選択された領域を示す。従って、非可逆領域は、破棄されたエッジ対により規定された領域である。非可逆領域が非可逆圧縮アルゴリズムに送出される前に、ビットマスクにより示された非可逆領域間の間隔は、非可逆圧縮器709により生成された視覚アーチファクトを最小限にするために、バックフィラー708により実行されたバックフィリングと呼ばれる処理において同様の色で塗りつぶされる。
可逆圧縮器706及び非可逆圧縮器709から結果として得られる圧縮データビットストリーム712、713は、それぞれ、視覚的重要度に従って品質パーティションに編成される圧縮メモリマネージャ504に渡される。パーティションは、漸進的な画質を維持するようにランク付けされる。
再圧縮マネージャ503と共に圧縮メモリマネージャ504は、ステップ603で戦略的なメモリ削減を実行する。それにより、必要メモリを満たさない場合に圧縮データを縮小するために、以下の3つの動作のうちの1つを実行する必要がある。
a)視覚的重要度が最も低いパーティションから開始する品質パーティションを削除する、あるいは、
b)ハイブリッド圧縮器/伸張器502を使用してデータを再圧縮する前にエッジ分類器705パラメータを調整し、その後必要に応じて品質分割を削除する、あるいは、
c)可逆圧縮器706をバイパスし且つ非可逆圧縮器709のみを用いてデータを再圧縮するように圧縮モードを変更し、その後必要に応じて品質パーティションを削除する。
図18及び図12をそれぞれ参照して、戦略的なメモリ削減処理603及びエッジ評価基準を以下に更に詳細に説明する。
画素ランの生成
生の画素データ501は、RIP203により画素ラン生成器701に供給される。本明細書のために、画素データは、タイル毎にRIP203により供給され、タイル内の画素はラスタ順序で供給される。開示された構成において、画素値は、チャネル毎に8ビットの精度で(ビット深度としても既知である)赤色成分(R)、緑色成分(G)及び青色成分(B)(包括的にRGBと呼ぶ)を示す3つのチャネルにより示される。1つのシアン色、1つのマゼンタ色、1つの黄色及び1つの黒色等の他の色表現は、他のビット深度と共に更に利用されてもよい。
タイル内の各画素値は、画素ラスタ順序で画素ラン生成器701により調査される。画素ラン生成器701の出力は画素ラン702である。本明細書のために、画素ランは、完全に1つのタイルの行に含まれ且つほぼ同一の色値を有する一連の連続画素から構成される。ランの色値は同一である、すなわち色間の許容はゼロであることが好ましい。図8を参照して、画素ラン生成の一例を以下に更に詳細に説明する。
図8は、画素ラン生成器701により実行された処理800の一例を示す概略的なフローチャートである。画素ラン生成器701は、タイル毎に画素ランを生成する。画素ラン情報は、画素ランに対する少なくとも1つの色値及び画素ランの長さを格納する画素ランレングスカウンタを含む適切なデータ構造に格納される。
図8を参照すると、受信された入力画素は、次の画素取得ステップ801で1つずつ読み出される。後続の画素類似性判断ステップ802は、現在の画素の色値P[X、Y]が前の画素の色値P[X−1、Y]と同一又はほぼ同一(図8において記号「==」で示されたように)であるかを判定する。現在の画素の色値P[X、Y]が前の画素の色値P[X−1、Y]と同一又はほぼ同一である場合、処理800は、「Y」矢印に従ってステップ802からステップ803に進む。「線の終了チェック」ステップ803において、タイル走査線(タイルの行)が終了したかを判定する。タイル走査線がまだ終了していない場合、処理800は、「N」矢印に従ってステップ804に進む。画素ランレングスカウンタは「長さ増分」ステップ804で増分され、処理800は、タイル走査線の次の画素が処理される画素取得ステップ801に戻る。
現在の画素の色値P[X、Y]が前の画素の色値P[X−1、Y]と同一ではないことが画素類似性ステップ802で判定されるか、あるいはタイル走査線が終了したことがステップ803で判定される場合、処理800はステップ805に進む。画素ランは終了し、隣接画素とのコントラストは「コントラスト算出」ステップ805で算出される。
コントラストが算出された後、処理800はステップ806に進む。「画素ラン送出」ステップ806において、画素ランはエッジ生成器703に送出される。これは、画素ラン生成器701がタイルの処理中のあらゆる所定の時間において1つの画素ランのみを格納すればよいことを意味する。
コントラスト算出ステップ805は、画素ランとその周囲の画素との色差の大きさを使用して画素ランのコントラストを判定する。
図9は、単一の画素X(図中符号901で示される)から構成される画素ランの一例を示す。コントラストは、色チャネル毎の画素ラン901とその全ての隣接画素902〜909との差の大きさの合計として判定可能である。あるいは、コントラストは、隣接画素の部分集合を使用して算出可能である。開示された構成において、コントラスト算出ステップ805は、コントラスト_L及びコントラスト_Rと呼ばれる2つのコントラスト値を算出する。コントラスト_Lは、画素ラン901と画素909、すなわちそのすぐ左側の画素との色チャネル毎の色差の大きさの合計として判定される。コントラスト_Rは、画素ラン901と画素905、すなわちそのすぐ右側の画素との色チャネル毎の色差の大きさの合計として判定される。
エッジ結合基準
図7を参照すると、エッジ生成器703は、タイル内にほぼ同一の色値を有する接続画素ランの領域を生成するために画素ラン702を受信する。エッジは、そのような接続画素ランの隣接領域間の境界を選抜する。各領域は、境界を完全に示すために1対のエッジを必要とする。「有効化」エッジは領域の左側の輪郭を描き、「無効化」エッジは領域の右側の輪郭を描く。本明細書のために、有効化エッジ及び無効化エッジは、「エッジ対」として既知である。
図11を参照して以下に更に詳細に説明するエッジ生成器703により実行されるエッジ生成処理1100は、上述したように同一(又はほぼ同一)の色の領域を形成する逐次走査線上で同一の色値の画素ランを互いにリンクする画素対704を作成する。新しいエッジ対は、作成時には、継続を妨げられるまでアクティブであると考えられる。現在の走査線上の画素ランがアクティブなエッジ対と重複し且つ結合の基準を満たす場合、エッジ対704は拡張される。画素ランがアクティブなエッジ対に結合するために、画素ランは、(a)アクティブなエッジ対が現在またがっているエリアと重複し(8方向の連続性を使用して)、(b)エッジ対と関連付けられた色値と同一の色値を有さなければならない。図10を参照して以下に更に詳細に説明するように、現在の走査線上の画素ランがあらゆる既存のアクティブなエッジ対に結合するか否かを判定しようとする場合、前の走査線上のアクティブなエッジ対を考慮するのが都合がよい。エッジ対704は他のエッジ対を交差することを許可されず、タイル内のエッジ対704により示される平坦な領域はばらばらである。エッジ対704は、2つの方法、すなわち(i)アクティブなエッジが継続を妨げられるように、次のタイル走査線上の画素ランがアクティブなエッジ対にわたりまたがる方法又は(ii)タイルの最後の走査線が処理されてタイルが終了する方法のうちの1つで継続を妨げられる。万が一エッジの継続が妨げられる場合、「分解されたこと」及びフラグを立てられたことを非アクティブであると考える。
図10は、結合基準を満たすエッジ対704の例1001、1002、1003、1004、1005及び1006を示す。各例において、現在の走査線上の画素ランの色値が前の走査線上のアクティブなエッジ対の色値とほぼ同一である場合、現在の走査線上の画素ランは、前の走査線上のアクティブなエッジ対に結合する。例1001〜1006は、アクティブなエッジ対が8方向の連続性の規則を使用して画素ランに接続されるシナリオを示す。
エッジの生成
図11は、エッジ生成器703により実行された処理1100の一例を示すフローチャートである。エッジ生成器703は、タイル全体が処理されるまで処理1100を実行する。
処理1100は、画素ラン生成器701からの次の画素ランが読み出される画素ラン読み出しステップ1101を開始する。画素ランがタイルの第1の走査線上で実行されることが後続の「第1の線チェック」ステップ1102で判定される場合、処理1100は「Y」矢印に従って「エッジ開始」ステップ1103に進み、新しいエッジ対が作成される。このエッジ対は、アクティブなものとしてマーク付けされる。エッジ開始ステップ1103に後続して、処理1100は、ステップ1112に進んで終了する。
あるいは、画素ランがタイルの画素の後続の行で実行されることが第1の線チェックステップ1102で判定される場合、処理1100は「N」矢印に従い、画素ランは後続の「連続性チェック」ステップ1104で調査され、画素ランがいずれかの既存のアクティブなエッジ対に結合できるか否かを判定する。画素ランが既存のアクティブなエッジ対のいずれにも接続できないことがステップ1104で判定される場合、エッジ生成器703は、「N」矢印に従って「エッジ開始」ステップ1105に進み、新しいエッジ対が作成されてアクティブに設定され、その後処理1100は「分解チェック」ステップ1110に進む。あるいは、連続性チェックステップ1104で画素ランが重複するアクティブなエッジ対に結合できることが判定される場合、エッジ生成器703は、「Y」矢印に従って「エッジ拡張」ステップ1106に進み、アクティブなエッジ対はその画素ランにより拡張される。エッジ拡張ステップ1106に後続して、エッジ生成器703は分解チェックステップ1110に進む。
分解チェックステップ1110において、画素ランがタイル内の過去の他のアクティブなエッジ対を拡張するかが判定されることにより、それらの継続を妨げる。拡張する場合、処理1100は「Y」矢印に従い、そのような影響を受けたエッジ対は「分解された」ものとしてマーク付けされる。すなわち、そのような影響を受けたエッジ対は、処理1100がステップ1112に進んで終了する前に、後続の「エッジ分解」ステップ1111で非アクティブなものとして設定される。あるいは、ステップ1100で画素ランがアクティブなエッジ対を全く分解しない場合、処理1100はステップ1112に進んで終了する。
本明細書のために、エッジ生成器703により生成されたエッジ対704は、有効化エッジの開始位置によりyの増加方向、次にxの増加方向に順序付けされる。エッジ対704に隣接する領域は一様な色を有する。
エッジ評価
エッジ分類器705は、エッジ生成器703により生成された分解されたエッジ対704の視覚的重要度を評価し、エッジ対が有効か否かを判定する。視覚的に重要であると仮定されるエッジ対は有効であると考えられ、有効なエッジ対に隣接する領域は「平坦な」領域であると考えられる。平坦な領域は、領域が一様な色を有することを意味する。平坦な領域を示すエッジ対のみが保存され、可逆圧縮器706により可逆圧縮される。有効でないエッジ対により規定された領域は、ビットマスク生成器707により生成されたビットマスクによる非可逆領域としてマーク付けされる。有効でないエッジ対は破棄され、マスクされた非可逆領域は、バックフィラー708によりバックフィルされ、その後非可逆的圧縮のために非可逆圧縮器709に渡される。
説明したSPR構成において、エッジ分類器705は、エッジ対が有効であるか否かを判定するために2つの基準の組合せを使用する。これらの基準は以下の通りである。
(i)エッジ対により規定された領域の最大幅及びエッジ対の長さ(エッジ対により規定された領域の長さ)、並びに
(ii)エッジ対の視覚的重要度を評価するエッジ対により規定された領域のコントラスト重要度
上述の基準を包括的にエッジ評価基準と呼ぶ。
エッジ対により規定された領域のエリア等の他のエッジ評価基準が更に使用されてもよい。
図12は、エッジ分類器705及びビットマスク生成器707により実行されたエッジ評価処理及び後続のビットマスク処理の例1200を示す概略的なフローチャートである。処理1200は、エッジ生成器703により生成されたエッジ対を受信すると「エッジコントラストチェック」ステップ1203から開始し、コントラストによりエッジ対が重要であるかを判定する。開示された構成において、エッジ対に隣接する領域を構成する画素ランのうちの半分以上が、画素ラン生成器701により実行されたステップ805で算出された結果を使用して特定のコントラスト閾値CT_Thresholdに従って高コントラストだと判断される場合、コントラストによりエッジ対は重要であると考えられる。
ステップ1203でコントラストにより重要だと判断されたエッジ対は、処理1200が「Y」矢印に従うようにするため、後続のエッジ保存ステップ1204によりエッジメモリ714に保存される。エッジ対に保存されたエッジのメタデータは、後続のステップにおいて、処理1200が「終了」ステップに進んで終了する前にステップ1205により格納される再圧縮マネージャ503に送出される。
保存されたエッジ対に対して、エッジメタデータは、可逆圧縮器706により実行される所定のエントロピー符号化方法を使用してエッジ対を符号化するのに必要なバイト数を判定するために使用可能である。エッジ対が可逆圧縮器706によりエントロピー符号化される前に、各エッジ対を符号化するのに必要なバイト数を正確に予測できる。エントロピー符号化方法及びエッジ対符号化サイズ予測を以下に詳細に説明する。
あるいは、エッジ対により規定された領域がコントラストにより重要でないと仮定される場合、処理1200は、「N」矢印に従ってステップ1203から「サイズ重要度算出」ステップ1201に進み、領域サイズ重要度計測値Mがエッジ対評価のために算出される。処理1200は、max_widthとしてエッジ対データ構造に格納されたエッジ対により規定された領域の最大幅と共に、edge_lengthとしてエッジ対データ構造に格納されたy方向のエッジ対の長さ(エッジ対により規定された領域の長さ)を考慮する。これらの2つの値は、共に加算されてエッジ対に対する領域サイズ重要度計測値Mを形成する。一般に、受け入れられるエッジ対に対して、領域サイズ重要度計測値Mの値は、タイルの周囲の約8〜10%を上回るべきである。例えば、64画素×64画素の寸法のタイルにおいて、計測値Mの受け入れ可能な閾値は20(画素)となる。従って、後続の「サイズ重要度チェック」ステップ1202において、エッジ対に対する領域サイズ重要度計測値Mが領域サイズ閾値である特定のエッジ重要度閾値ES_Threshold以上であるかを判定する。エッジ対に対する領域サイズ重要度計測値MがES_Threshold以上であると判定される場合、エッジ対は、サイズにより重要であると仮定され、処理が「Y」矢印に従ってステップ1202からステップ1204に進んだ後、後続の「エッジ保存」ステップ1204で保存される。その後、エッジのメタデータは、処理1200が終了する前にステップ1205により格納される再圧縮マネージャ503に送出される。ES_Thresholdの候補値は、HDD2110又はメモリ2106等のメモリから取得される。
エッジコントラストチェックステップ1203においてコントラストにより重要でなく且つステップ1202により評価されたようなES_Thresholdを下回る領域サイズ計測値Mを有するエッジ対は、視覚的に重要でないと考えられ、処理1200が「N」矢印に従ってステップ1202からステップ1206に進んだ後にエッジマスク更新ステップ1206に与えられる。ビットマスク生成器707は、エッジマスク更新ステップ1206でタイルビットマスクを更新し、視覚的に重要でないエッジ対により取り囲まれた領域の画素位置を反映する。エッジ対データは、エッジ評価処理1200が「終了」ステップに進んで終了する前に後続のエッジ破棄ステップ1208で破棄される。
エッジメタデータ
図19に示されるように、エッジメタデータは、エッジ重要度閾値ES_Thresholdの値をその特定のES_Thresholdにおける全ての「有効な」エッジ対に対する符号化データサイズの合計にマッピングするために使用可能である。特に、エッジ対に隣接する領域のサイズがエッジ重要度閾値ES_Thresholdを上回るかが判定され、エッジ重要度閾値ES_Thresholdを上回る領域を構成するエッジ(エッジ対)を可逆符号化するデータ量を推定する。
このように、所定のエントロピー符号化方法を使用するエッジ対の符号化データサイズは、エッジ対が可逆圧縮器706によりエントロピー符号化される前に判定可能である。エントロピー符号化方法を以下に更に詳細に説明する。
エッジ重要度閾値ES_Thresholdの種々の候補値と全ての「有効な」エッジの符号化データサイズとの間のマッピングは、再圧縮のためにES_Threshold値を調整する際に全ての可逆符号化エッジ対のメモリ使用量を正確に予測するために使用可能である。
図13aは、再圧縮マネージャ503に格納されたエッジメタデータの一例を示し、テーブル1300は、エッジ重要度閾値ES_Thresholdの可能な値の各々を全ての「有効な」エッジ、すなわちステップ1203でコントラストにより重要であると評価されるかあるいはステップ1202でサイズにより重要であると評価されるエッジを符号化するのに必要な総バイト数にマッピングするために使用される。テーブル1300は、64画素×64画素の寸法のタイルに対する可能なES_Threshold値の例を示し、テーブルエントリ1301は、そのデフォルト値20を上回るES_Thresholdの最小値を示し、テーブルエントリ1303は、ES_Thresholdの最大値を示す。
テーブル1300は、この例において格納されたES_Thresholdの全ての候補値を明示的に一覧表示しない。1つの中間ES_Threshold値をテーブルエントリ1302に更に示す。サイズ重要度閾値ES_Thresholdが上昇する時、全ての「有効な」エッジに対する合計の符号化サイズは、サイズ重要度エッジ対の総数の低下のために縮小する。尚、コントラストにより重要であるエッジ対がそれらのサイズ重要度計測値Mに関係なくエッジ評価処理1200に保存されるため、コントラストが重要なエッジ対の数は、ES_Thresholdの値が変化する時に変化しない。
図13bは、テーブル1300の代わりである再圧縮マネージャ503に格納されたエッジメタデータのテーブル1390を示す。テーブル1390において、エッジ重要度閾値ES_Thresholdの全ての可能な値の部分集合のみが選択される。選択されたES_Threshold値の各々は、その閾値に対応する全ての「有効な」エッジを符号化するのに必要な総バイト数にマッピングされる。エッジ重要度閾値の全ての可能な値の部分集合を選択することにより、再圧縮マネージャ503においてエッジメタデータを維持するために必要な記憶装置オーバヘッドは減少し、図13bの例に示されるように、テーブル1390のテーブルエントリの数は、テーブル1300のテーブルエントリの数と比較して減少する。
可逆圧縮器
全てのエッジ対がエッジ分類器705により処理された後、可逆圧縮器706は、圧縮メモリマネージャ504(図7)に渡される可逆データビットストリーム712を作成する可逆圧縮方法を使用してエッジメモリ714に格納された視覚的に重要なエッジデータ(すなわち、有効なエッジ対に関する情報)を圧縮する。
視覚的に重要なエッジ対データ項目の各々は、開示されたSPR構成において、生の色値、(X、Y)開始位置、並びに有効化エッジ及び無効化エッジから構成される。各エッジ対に対応する生の色値は、エッジ対がタイルにおいて生成されたのと同一の順序で圧縮データメモリマネージャ504に書き込まれる。生の色値の数と視覚的に重要なエッジ対の数との間には、1対1の相関関係がある。
エッジ対がタイルベースであるため、固定のビット数を、(X、Y)開始位置を符号化するために使用可能である。同様に、固定のビット数を、エッジ対を構成する画素ランの数を示すy方向のエッジ対の長さを符号化するために使用可能である。例えば、64画素×64画素のタイルサイズにおいて、開始位置における各座標値およびエッジ対の長さを符号化するためにはそれぞれ6ビット必要である。
エッジ対における有効化エッジの位置は、一連のxオフセット値として符号化され、各xオフセット値は、前の走査線からの有効化エッジのx位置の変化を示す。無効化エッジは、有効化エッジと同一の方法で符号化される。オフセットデータは、DC係数を符号化するためにJPEGにより使用されたのと同様のエントロピーベース符号化方法を使用して符号化される。この方法において、各xオフセット値は、記号1及び記号2として示された記号対により示される。記号1はオフセット値のビット数を示す。記号2はオフセット値事態を示す。記号1は、所定の適切なハフマンテーブルから生成された可変長符号で符号化される。記号2は、ビットの長さが記号1により示される可変長整数として符号化される。ハフマン符号及び符号長は、外部で特定され、可逆圧縮器706及び伸張器711の双方に既知である。
xオフセットのあらゆる値に対する記号1及び記号2のサイズが既知であるため、エッジ対の符号化サイズは、エッジ対の全てのxオフセットに対する記号対のサイズを合計することでエッジ分類器705により算出可能である。符号化サイズは、ステップ1505で再圧縮マネージャ503に送出されたエッジメタデータの一部を形成する。
タイルが視覚的に重要なエッジ対のみを含む場合、1つの平坦な領域の有効化エッジは、隣接する平坦な領域の無効化エッジとなる。従って、各エッジ対における有効化エッジのみが可逆圧縮器706により圧縮される必要があり、エッジ対の符号化サイズは、有効化エッジからのxオフセットのサイズのみを含む。
非可逆圧縮及び品質パーティション
各々が一様な色を有する平坦な領域がマスクアウト及びバックフィルされた後、エッジが可逆圧縮される平坦な領域以外のタイルの非可逆領域は、非可逆圧縮器709により実行された非可逆圧縮アルゴリズムを使用して圧縮される。JPEGは、周波数領域符号化を使用するビットマップ画像の最も普及している非可逆符号化方法の1つである。
図14a及び図14bは、この処理に関係する図を示す。特に、図14aは、非可逆符号化のために符号化ユニットに分割されている画像を示す概略図であり、図14bは、8×8DCTブロックを示す概略図である。
一般的なJPEG圧縮処理中、ビットマップ画像1401は、最初に8画素×8画素の符号化ブロック1411に分割される。離散コサイン変換(DCT)は、各符号化ブロックに適用されて周波数領域係数1405の8×8ブロックを生成し、DC係数1415が位置(0、0)に配置され、AC係数がジグザグの順序1425で配列される。AC係数の次数が高いほど、それらが符号化するエネルギーの周波数は高くなる。空間領域において、画像内の高周波数エネルギーは高速に変化する値を示し、低周波数エネルギーは低速に変化する勾配を示す。
DCT変換ステップから継続して、64個のDCT係数は量子化テーブルを使用して量子化される。一般に量子化テーブルは、高次AC係数をより高い次数に量子化する。これは、それらが符号化するより高い周波数エネルギーを一般により小さいビット数で示すことができるためである。最後に、量子化DCT係数はハフマン符号化される。
図15は、上述したようにJPEGアルゴリズムを実現する非可逆圧縮器709の一例を示す機能ブロック図である。最初に、色変換器1501は、必要に応じて入力画像データを適切な処理色空間、この場合はRGBに変換する。あるいは、入力画像データはYCbCr色空間にも変換可能である。その後、DCTユニット1502は、DCT係数を出力する8ブロック×8ブロックの単位でこれらのRGBデータに対してDCTを実行する。量子化器1503は、変更されたJPEG量子化テーブル1512を使用してDCT係数の8ブロック×8ブロックを量子化することにより、量子化係数を出力する。量子化器1503は、図14に示したジグザグの順序の走査に従って、低周波数成分から高周波数成分に量子化係数の8ブロック×8ブロックを64個の1次元量子化係数に更に再配列する。
量子化係数は、パーティションテーブル1514に従ってパーティション区分器1504により品質パーティションに分割され、パーティション区分器1504は、ハフマンテーブル1513及び標準的な既知のハフマン符号化技術を使用して品質パーティションにおける入力1次元データを符号化するハフマン符号器1505に品質パーティションを供給する。ハフマン符号器からの出力は、符号化データ、各符号化データの長さ(ビット数により示された「符号長」)及び対応する符号化データが割り当てられるパーティションを示す番号(以下において「パーティション番号」と呼ばれる)である。
パーティション制御器1511は、圧縮メモリマネージャ504の一部であり、画像のDCT係数を破棄し、最高次数の係数から開始し且つ目標メモリを満たすと停止することにより、最後の符号化画像のサイズを制御する。これは、画像の視覚情報の大部分がDC係数及びより低いAC係数内で符号化されるためである。
図16a及び図16bは、画像のスペクトルJPEG符号化の方法を示す。DCT符号化ブロック毎に、量子化係数は、低下する視覚品質のスペクトルバンド内に格納される。DCT係数の増加次数は、画像の視覚品質に対する影響が減少することに直接関連する。従って、DCT係数は、全体的な画質への適合性を低下させることでソートされるスペクトルパーティションにグループ化される。この構成において、より高いスペクトルパーティション及びそれらと関連付けられたDCT係数を削除することにより、画質は徐々に劣化する。
図16aは、符号化ブロックに対するDCTデータ1610のパーティショニングの例を示し、パーティション2及び3を1615及び1625として示す。
図16bは、例示的なパーティショニング方式を示すテーブルである。SPR構成において、パーティション1は、エッジ対の可逆符号化データのために確保される。
圧縮メモリマネージャ504により判定される「パーティション番号」に基づいて、パーティション制御器1511は、「パーティション番号」により示されたパーティションに対応する圧縮データをパーティション済メモリ1599に書き込む。このパーティション済メモリはパーティションに構成され(図20参照)、符号化データの各々は、そのデータのパーティション番号に対応するパーティションに書き込まれる。
エッジ評価及び領域分類の例
図17は、SPR構成に従ってハイブリッドに圧縮されるタイルの一例を示す。8画素×8画素のタイル1700を示す。この例のために、ハイブリッド圧縮器/伸張器502は3のES_Threshold値を利用する。画素ラン生成器701は、第1の走査線に対して6個の画素ラン1701〜1706を生成する。エッジ生成処理1100は、各画素ランを受信し、画素ラン毎に適応的にアクティブなエッジ対を生成する。全ての画素が依然としてアクティブであるため、エッジ対は第1の走査線の処理中に評価されない。簡略化するために、それぞれ、画素ラン1703及び1706に対するエッジ対1715及び1716のみを図17に示す。
第2の走査線において、画素ラン1707は、画素ラン1703により開始されたアクティブなエッジ対1715を拡張する。第2の走査線上のアクティブなエッジ対1715の有効化エッジ及び無効化エッジの双方に対するxオフセット値は0である。第2の走査線上の画素ラン1718、1719、1720、1721及び1708は、第1の走査線からのエッジ対を拡張できないため、新しいアクティブなエッジを開始する。画素ラン1708がエッジ生成処理1100により処理された後、画素ラン1701、1702、1704及び1705により形成されたエッジ対は、これ以上継続できないために全てエッジ生成処理1100により分解される。これらの分解されたエッジの各々は、特定のコントラスト閾値CT_Thresholdに対して低いコントラスト及び2のサイズ重要度計測値Mを有する。従って、エッジ評価処理1100において、画素ラン1701、1702、1704及び1705により形成された4つのエッジ対は破棄される。画素ラン1709は、画素ラン1706により開始されたエッジ対1716を拡張し、画素ラン1709を含む。第2の走査線上のエッジ対1716に対する有効化エッジ及び無効化エッジに対するxオフセット値は、それぞれ+1及び0である。
エッジ生成処理1100は、残りのタイルに対して継続する。エッジ対1716は、画素ラン1712、1713及び1714と共に拡張される。エッジ対1715は、画素ラン1711と共に拡張される。1717により示された残りの画素は、画像領域の一部であると判断され、それらの対応するエッジ対は破棄される。
全てのエッジ対が分類された後、タイル1700は、(a)エッジ対1715及び1716を圧縮する可逆圧縮器706、並びに(b)画素1704、1705及び1708等の隣接画素の色でマスクアウト及びバックフィルされた平坦な領域を含む残りのタイルを圧縮する非可逆圧縮器709を使用して圧縮される。
戦略的なメモリ削減
図5及び図6を参照して、ステップ602の圧縮の初期段階がハイブリッド圧縮器/伸張器502により実行された後、制御は圧縮メモリマネージャ504に渡され、メモリ目標を満たすために圧縮データを縮小するように更なる動作を行う必要があるかを判定するステップ604が実行される。更なる動作を行う必要がある場合、図18の概略的なフローチャートに関して以下に更に詳細に説明される戦略的なメモリ削減ステップ603が実行される。
図18は、図6に示した戦略的なメモリ削減ステップを示す概略的なフローチャートである。戦略的なメモリ削減処理1800は、圧縮データの量を削減するように圧縮メモリマネージャ504により行われた判断によりトリガされる。ステップ1801において、圧縮メモリマネージャ504は、非可逆圧縮画像データの品質パーティションのデータサイズを調査し、保存されたパーティションの数が所定の最低品質レベルを上回る場合の最少メモリ使用量を判定する。非可逆圧縮画像データの領域における顕著な視覚アーチファクトを回避するために、最低品質レベルを維持する必要がある。このステップは、図12のエッジ評価処理(例えば、エッジコントラスト判定ステップ1203又は領域サイズ判定ステップ1201)の前に実行される。少なくとも最低品質レベルを維持するのに必要な品質パーティションの数を保存することで所定のメモリ目標に到達できる場合、処理1800が「Y」矢印に従ってステップ1801からステップ1802に進んだ後に以下のステップ1802が圧縮メモリマネージャ504により実行される。ステップ1802は、最も視覚的に重要でないデータを保持するパーティションから開始し、必要メモリを満たすまで、品質パーティションを1つずつ除去する。
しかし、単に最も視覚的に重要でない品質パーティションのみを除去するだけでは、メモリ使用量を十分に削減できないだろう。すなわち、最低品質レベルは、目標メモリ制限の制約の下で実現不可能なこと場合もある。特に初期ハイブリッド圧縮処理においてデータの僅かな部分しか非可逆圧縮されず、且つデータの大部分が可逆圧縮される場合、このシナリオが発生するだろう。この場合、漸進的な品質パーティション削除は使用できない。メモリ使用量と画質との間の最適なバランスを維持するために、再圧縮の処理において可逆領域から非可逆領域にデータをシフトする戦略が採用される。
圧縮メモリマネージャ504は、最低品質レベルを維持しつつ目標メモリを達成できないことをステップ1801で判定する場合、再圧縮マネージャ503に制御を渡して画像を再圧縮するように命令する。次に再圧縮マネージャ503は、処理1800が「N」矢印に従ってステップ1801からステップ1803に進んだ後、後続のステップ1803で初期ハイブリッド圧縮段階中に自身がエッジ分類器705から収集したエッジメタデータに基づいて最良の再圧縮モードを判定する。再圧縮マネージャ503は、(a)より多くの画像データを可逆領域として分類できるように、より積極的なエッジ重要度閾値ES_Thresholdを含むハイブリッドモードの再圧縮か、(b)エッジの生成及び分類処理をバイパスし、且つ非可逆圧縮器709のみを使用する完全な非可逆モードの再圧縮のいずれかを選択する。いずれかの場合においても、再圧縮により、可逆領域における圧縮データを縮小する。品質パーティションを漸進的に削減することで必要メモリを満たせるように、全てのデータ(完全な非可逆再圧縮の場合)又は画像データの十分な部分は非可逆圧縮される。
データの再圧縮は多くの計算を必要とするため、結果として得られる圧縮データが最適な画質でワンパスで必要メモリを満たすことを保証する適切な再圧縮モードを判定することが有利である。それを実行するために、再圧縮マネージャ503は、可逆圧縮データのメモリ使用量を十分に削減することを保証するために、エッジ重要度閾値ES_Thresholdに対する適切な値をステップ1803で見つけられるかを判定する必要がある。そのような閾値がある場合、再圧縮マネージャ503は、処理1800が「Y」矢印に従ってステップ1803からステップ1804に進んだ後、後続のステップ1804でエッジ重要度閾値を調整して後続のステップ1805でハイブリッド再圧縮を開始する。そのような閾値がない場合、完全な非可逆再圧縮処理1806は、処理1800が「N」矢印に従ってステップ1803からステップ1806に進んだ後に開始される。開示された構成において、非可逆圧縮アルゴリズムは、ハイブリッド圧縮の一部として使用された同一の非可逆アルゴリズムである。
図19を参照して、エッジ重要度閾値ES_Thresholdに対する複数の候補値から適切な値を選択する処理を以下に更に詳細に説明する。
図19は、エッジ評価基準を調整するために使用されたメタデータを表す例示的なヒストグラムを示す。ヒストグラム1900は、再圧縮マネージャ503により収集された例示的なメタデータテーブル1390を示す別の図である。ヒストグラム1900において、x軸は、この特定の例に対する候補値を示す有効なES_Threshold(領域サイズ閾値)の範囲を示し、y軸は、各ES_Thresholdを満たす全ての有効なエッジを可逆符号化するのに必要な総バイト数を示す。必要メモリの一例は、水平破線1905によりマーク付けされ、目標メモリのデータサイズを示す。最大可逆圧縮データサイズ1906を目標再圧縮サイズとも呼ぶ。必要メモリである最大可逆圧縮データサイズ1906は、所定の最低品質パーティションレベル1903で非可逆圧縮画像データを格納するメモリの量を所定の目標メモリサイズ(すなわち、メモリ容量)1905から減算することで判定される。
この特定の例において、推定データ量(ES_Thresholdを満たす全ての有効なエッジを符号化する合計バイト)の各々は、必要メモリである最大可逆圧縮データサイズ1906と比較される。26の値(すなわち、図中符号1901)でES_Thresholdを満たす全ての有効なエッジを符号化する合計バイトは、最低品質レベルで必要メモリを満たせないことが分かる。従って、次の適切と認められる値32は、エッジ重要度閾値ES_Thresholdに対する新しい値として選択される。エッジ重要度閾値ES_Thresholdに対して選択された値に対応する全ての有効なエッジを符号化する合計バイトは、必要メモリである最大可逆圧縮データサイズ1906に最近接し且つその範囲内にある。全ての有効なエッジを符号化する合計バイトが、最高の画質を維持し且つ最大可逆圧縮データサイズ1906を満たせるため、新しいES_Thresholdは、再圧縮処理を開始する前にステップ1804でエッジ分類器705に渡される。
選択対象のES_Thresholdの適切な値がない場合、すなわち許可された最大可逆圧縮データサイズ1906が最大ES_Threshold値において可逆符号化サイズより小さい場合、完全な非可逆再圧縮ステップ1806は、ステップ1803で再圧縮マネージャ503により選択される。その結果、可逆データに対してゼロの符号化サイズが得られる。
ここで図18に戻ると、ステップ1805又はステップ1806で再圧縮処理が実行され、圧縮データが最初にタイル毎に伸張される。伸張器711によりデータの各タイルが伸張された後、再圧縮マネージャ503によりステップ1803で選択された圧縮モードを使用して、圧縮処理がタイルデータに対して実行される。ハイブリッド再圧縮モードが選択される場合、エッジ重要度閾値ES_Thresholdに対する新しい値がエッジを分類するために使用されるという点を除いて、圧縮処理は初期ハイブリッド圧縮602に類似する。特に、領域サイズ閾値の選択された値を満たす領域を構成するエッジは、可逆圧縮される。また、可逆圧縮される領域以外の領域の画像データは、非可逆圧縮される。完全な非可逆再圧縮が選択される場合、圧縮処理は簡略化される。すなわち、タイルデータを画素ラン生成器701に送出するのではなく、伸張されたタイルデータは、完全な非可逆圧縮のために非可逆圧縮器709に直接送出される。
再圧縮処理の終了後、圧縮メモリマネージャ504は、後続のステップ1807で圧縮データサイズを必要メモリと比較する。圧縮データサイズが目標メモリ制限以下である場合、戦略的なメモリ削減処理は、処理1800が「Y」矢印に従って終了ステップに進んだ後に終了する。しかし、圧縮データサイズが必要な目標メモリ制限を上回る場合、圧縮メモリマネージャ504は、この事実の表示を受信し、処理1800が「N」矢印に従ってステップ1807からステップ1802に進んだ後、ステップ1802で目標メモリ制限を満たすまで最も低い品質のパーティションから始まる品質パーティションを削除することでメモリを開放する。このように、最後の出力の画質は、目標メモリ制限を満たすように制御可能に劣化する。目標必要メモリ制限を満たすと、戦略的なメモリ削減処理は終了する。
パーティション配列
図20a及び図20bは、更なるメモリ使用量削減が必要な場合に漸進的な品質低下が可能であるように、品質パーティション及びパーティション間で情報をシフトするために再圧縮を使用する方法の一例を示す。
図20aは、初期圧縮処理602後のパーティション配列の一例を示す概略図である。図20bは、ハイブリッド再圧縮1805が実行された戦略的なメモリ削減処理603中のパーティション配列の一例を示す概略図である。
SPR構成に従って、圧縮メモリマネージャ504は、圧縮画像を含むメモリを複数のヘッダ及びメモリチャンクに配列する。各メモリチャンクは、特定の品質パーティションヘッダに対応する。パーティションヘッダは、パーティション番号、パーティションの長さ(すなわち、サイズ)、連想メモリチャンクにアクセスする方法等のパーティション情報又は必要に応じて他の追加情報を格納する。本発明のために、「メモリチャンク」は、圧縮画像データを格納するために論理的に連続したメモリのチャンクを形成するように共にリンクされた必ずしも連続していなくてもよいメモリの1つ以上のブロックを示す。この例において、チャンク2001はパーティション1のヘッダ2091に対応し、チャンク2003はパーティション3のヘッダ2093に対応する。
この例において、初期圧縮処理602中、可逆圧縮器706により生成された全ての可逆符号化エッジがパーティション1に属するメモリチャンクB1(すなわち、2001)に格納され、且つ非可逆圧縮器709により生成された符号化DCTデータがパーティション2(すなわち、2002)〜パーティション11(すなわち、2011)のそれぞれのメモリチャンク内の各パーティションに格納されるように、圧縮メモリマネージャ504は品質パーティションを編成する。パーティション番号と対応するDCTデータとの間の例示的なマッピングを図16bに示す。
図20bは、ハイブリッド再圧縮ステップ1805の結果得られたパーティション配列を示す。ステップ1805によるハイブリッド再圧縮の間、圧縮メモリマネージャ504は、画像が伸張される時に2001〜2011の全てのメモリチャンクを開放する。メモリは、再圧縮ステップ1805が進行するにつれて新しい符号化データを格納するように再び割り当てられる。ハイブリッド再圧縮の例の間、圧縮メモリマネージャ504は、可逆圧縮器706から新たに符号化されたエッジデータを格納するようにパーティション1に対するメモリチャンクB1'(すなわち、2051)を割り当てる。しかし、再圧縮エッジデータを格納するのに必要なメモリチャンクB1'のサイズは、初期ハイブリッド圧縮602から符号化されたエッジデータを格納するために使用されたメモリチャンクB1(すなわち、2001)の元のサイズよりかなり小さい。これは、ハイブリッド再圧縮の前にステップ1804でエッジ重要度閾値ES_Thresholdが調整され、有効なエッジの数の削減につながり、削減された有効なエッジの数が調整された有効なエッジ又は調整された有効なエッジ対と呼ばれるためである。しかし、可逆符号化エッジの数を削減する結果、調整された無効のエッジ又は調整された無効のエッジ対と呼ばれる同様に増加した無効なエッジの数によって可逆圧縮器709から符号化されたDCTデータを格納するパーティションは、潜在的に拡大する。この例において示されるように、可逆領域の符号化DC値を格納するために使用されるパーティション2に対して割り当てられたメモリチャンクB2'(すなわち、2052)は、この時点でハイブリッド再圧縮前のメモリチャンクB2(すなわち、2002)の元のサイズより僅かに大きい。同様に、パーティション3〜パーティション11の全ての非可逆パーティションは、非可逆領域の数の増加のために潜在的に僅かにより多くのメモリ使用量を得るだろう。可逆符号化によるメモリ使用量の削減は、非可逆符号化によるメモリ使用量の増加を上回ってよい。また、この例において示されるように、非可逆圧縮されるより多くのエッジをシフトすることにより、視覚的にあまり重要でないDCTデータを含むパーティションを削除することでより多くのメモリを解放でき、可逆符号化エッジ及びより重要なDCTデータをより低いパーティションに格納するために必要なメモリがより少ないため、画質を著しく低下させずに目標必要メモリ制限を達成できる。
極端に制約されたメモリ条件下で、戦略的なメモリ削減処理603は、ステップ1806において完全な非可逆モードで画像を再圧縮することを選択する。この場合、パーティション1はゼロサイズを有し、全ての画像データは、必要メモリを満たすまでステップ1802で漸進的に削除可能なパーティション2〜パーティション11において符号化される。
説明した構成は、コンピュータ産業及びデータ処理産業に適用可能である。
上記の記述は本発明のいくつかの実施形態のみを説明し、本発明の範囲及び趣旨から逸脱せずに、いくつかの実施形態に対して変形及び/又は変更を行なうことができる。実施形態は、限定するものではなく例示するものである。

Claims (25)

  1. 必要メモリを満たすように画像を圧縮する方法であって、
    前記画像において一様な色を有する領域のサイズを判定するステップと、
    領域サイズ閾値の候補値を複数取得するステップと、
    前記判定された前記領域のサイズを前記領域サイズ閾値の前記複数の候補値のうちの少なくとも1つの候補値と比較するステップと、
    前記1つの候補値を満たす前記領域を構成するエッジを可逆圧縮した場合の、可逆圧縮後のデータ量を推定するステップと、
    推定した前記データ量と前記必要メモリとの比較に基づいて前複数の候補値から値を前記領域サイズ閾値として選択するステップと、
    選択された前記領域サイズ閾値の値を満たす前記領域を構成するエッジを可逆圧縮するステップと、
    可逆圧縮される前記領域以外の前記画像の域を非可逆圧縮するステップと、
    を有することを特徴とする方法。
  2. 記領域の前記サイズは、前記領域の長さと前記領域の最大幅との合計に基づいて判定されることを特徴とする請求項1記載の方法。
  3. 前記必要メモリは、所定の品質レベルで非可逆圧縮画像データを格納するメモリ量を所定のメモリ目標サイズから減算することで規定されることを特徴とする請求項1または2に記載の方法。
  4. 前記候補値から選択された値は、前記必要メモリに最も近く且つ前記必要メモリを満たす推定データ量に対応することを特徴とする請求項1乃至3の何れか1項に記載の方法。
  5. サイズが判定される前記領域は、所定のコントラスト閾値を満たさないことを特徴とする請求項1乃至4の何れか1項に記載の方法。
  6. 前記判定するステップよりも前に、前記画像の一部の領域を可逆圧縮し、且つ、前記画像のその他の部分の領域を、複数のパーティションに分割されたデータ構造を持つ圧縮データに非可逆圧縮して、前記複数のパーティションの数が所定の最低品質レベルを上回るかを判定するステップと、
    前記判定するステップよりも前に、前記メモリ目標を満たすために前記複数のパーティションのうち最低品質のパーティションを削除するステップとを更に備えることを特徴とする請求項1乃至5の何れか1項に記載の方法。
  7. 必要メモリを満たすように画像を圧縮する方法であって、
    第1の方法で圧縮される領域であって前記画像において一様な色を有する領域のサイズの候補値を複数取得するステップと、
    前記画像における領域であって前記候補値のうちの1つの候補値を満たす域を前記第1の方法で圧縮することにより取得される圧縮データのデータ量を推定するステップと、
    前記推定されたデータ量及び前記必要メモリに基づいて前記複数の候補値から領域のサイズの値を選択するステップと、
    前記画像における領域であって選択された前記値を満たす域を前記第1の方法で圧縮し、且つ、前記画像における領域であって選択された前記値を満たさない域を第2の方法で圧縮するステップであって、前記第1の方法前記第2の方法よりもデータの損失が少ない圧縮方法であるステップと、
    を有することを特徴とする方法。
  8. 前記推定するステップは、
    一様な色を有する領域であって当該領域のサイズが前記候補値のうちの1つより大きい領域を前記画像において判定することと、
    前記判定された領域が前記第1の方法で圧縮される場合に前記判定された領域の圧縮データのデータ量を推定することとを含むことを特徴とする請求項7記載の方法。
  9. 必要メモリとは所定のデータ量であり、
    前記必要メモリを満たすように画像を圧縮するとは、前記所定のデータ量以下でメモリに格納されるように画像を圧縮することであることを特徴とする請求項1乃至8の何れか1項に記載の方法。
  10. 前記1つの候補値を満たす前記領域とは、領域のサイズを示す当該領域の長さおよび最大幅の合計値が当該1つの候補値以上である領域であることを特徴とする請求項1乃至8の何れか1項に記載の方法。
  11. メモリ容量を満たすように画像を圧縮する装置であって、
    プロセッサと、
    メモリとを備え、前記メモリは、
    前記画像において一様な色を有する領域のサイズを判定するステップと、
    領域サイズ閾値の候補値を複数取得するステップと、
    判定された前記領域のサイズを前記領域サイズ閾値の前記複数の候補値のうちの少なくとも1つの候補値と比較するステップと、
    前記1つの候補値を満たす前記領域を構成するエッジを可逆圧縮した場合の、可逆圧縮後のデータ量を推定するステップと、
    された前記データ量と前記必要メモリとの比較に基づいて前複数の候補値から値を前記領域サイズ閾値として選択するステップと、
    選択された前記領域サイズ閾値の値を満たす前記領域を構成するエッジを可逆圧縮するステップと、
    可逆圧縮される前記領域以外の前記画像の域を非可逆圧縮するステップとを有する方法を実行するように前記プロセッサに指図するように構成されたコンピュータが実行可能なプログラムを格納することを特徴とする装置。
  12. 必要メモリを満たすように画像を圧縮する装置であって、
    プロセッサと、
    メモリとを備え、前記メモリは、
    第1の方法で圧縮される領域であって前記画像において一様な色を有する領域のサイズの候補値を複数取得するステップと、
    前記画像における領域であって前記候補値のうちの1つの候補値を満たす域を前記第1の方法で圧縮することにより取得される圧縮データのデータ量を定するステップと、
    前記推定されたデータ量及び前記必要メモリに基づいて前記複数の候補値から領域のサイズの値を選択するステップと、
    前記画像における領域であって選択された前記値を満たす域を前記第1の方法で圧縮し、且つ、前記画像における領域であって選択された前記値を満たさない域を第2の方法で圧縮するステップであって、前記第1の方法前記第2の方法よりもデータの損失が少ない圧縮方法であるステップとを備える方法を実行するように前記プロセッサに指図するように構成されたコンピュータが実行可能なプログラムを格納することを特徴とする装置。
  13. 前記プログラムは、
    一様な色を有する領域であって当該領域のサイズが前記候補値のうちの1つより大きい領域を前記画像において判定するステップと、
    前記判定された領域が前記第1の方法で圧縮される場合に前記判定された領域の圧縮データのデータ量を推定するステップとを実行するように前記プロセッサに指図するように更に構成されることを特徴とする請求項12記載の装置。
  14. 必要メモリとは所定のデータ量であり、
    前記必要メモリを満たすように画像を圧縮するとは、前記所定のデータ量以下でメモリに格納されるように画像を圧縮することであることを特徴とする請求項11乃至13の何れか1項に記載の装置
  15. 前記1つの候補値を満たす前記領域とは、領域のサイズを示す当該領域の長さおよび最大幅の合計値が当該1つの候補値以上である領域であることを特徴とする請求項11乃至14の何れか1項に記載の装置。
  16. 必要メモリを満たすように画像を圧縮する方法をプロセッサが実行するように構成されたコンピュータが実行可能なプログラムを格納するコンピュータ可読記憶媒体であって、前記方法は、
    前記画像において一様な色を有する領域のサイズを判定するステップと、
    領域サイズ閾値の候補値を複数取得するステップと、
    判定された前記領域のサイズを前記領域サイズ閾値の前記複数の候補値のうちの少なくとも1つの候補値と比較するステップと、
    前記1つの候補値を満たす前記領域を構成するエッジを可逆圧縮した場合の、可逆圧縮後のデータ量を推定するステップと、
    前記推定データ量と前記必要メモリとの比較に基づいて前複数の候補値から値を前記領域サイズ閾値として選択するステップと、
    選択された前記領域サイズ閾値の値を満たす前記領域を構成するエッジを可逆圧縮するステップと、
    可逆圧縮される前記領域以外の前記画像の域を非可逆圧縮するステップと、
    を有することを特徴とするコンピュータ可読記憶媒体。
  17. 記領域の前記サイズは、前記領域の長さと前記領域の最大幅との合計に基づいて判定されることを特徴とする請求項16記載のコンピュータ可読記憶媒体。
  18. 前記必要メモリは、所定の品質レベルで非可逆圧縮画像データを格納するメモリ量を所定のメモリ目標サイズから減算することで規定されることを特徴とする請求項16又は17に記載のコンピュータ可読記憶媒体。
  19. 前記候補値から選択された前記値は、前記必要メモリに最も近く且つ前記必要メモリを満たす推定データ量に対応することを特徴とする請求項16乃至18の何れか1項に記載のコンピュータ可読記憶媒体。
  20. サイズが判定される前記領域は、所定のコントラスト閾値を満たさないことを特徴とする請求項16乃至19の何れか1項に記載のコンピュータ可読記憶媒体。
  21. 前記判定するステップよりも前に、前記画像の一部の領域を可逆圧縮し、且つ、前記画像のその他の部分の領域を、複数のパーティションに分割されたデータ構造を持つ圧縮データに非可逆圧縮して、前記複数のパーティションの数が所定の最低品質レベルを上回るかを判定するステップと、
    前記判定するステップよりも前に、前記メモリ目標を満たすために前記複数のパーティションのうち最低品質のパーティションを削除するステップとを更に有することを特徴とする請求項16乃至20の何れか1項に記載のコンピュータ可読記憶媒体。
  22. 必要メモリを満たすように画像を圧縮する方法をプロセッサが実行するように構成されたコンピュータが実行可能なプログラムを格納するコンピュータ可読記憶媒体であって、前記方法は、
    第1の方法で圧縮される領域であって前記画像において一様な色を有する領域のサイズの候補値を複数取得するステップと、
    前記画像における領域であって前記候補値のうちの1つの候補値を満たす域を前記第1の方法で圧縮することにより取得される圧縮データのデータ量を定するステップと、
    前記推定されたデータ量及び前記必要メモリに基づいて前記複数の候補値から領域のサイズの値を選択するステップと、
    前記画像における領域であって選択された前記値を満たす域を前記第1の方法で圧縮し、且つ、前記画像における領域であって選択された前記値を満たさない域を第2の方法で圧縮するステップであり、前記第1の方法前記第2の方法よりもデータの損失が少ない圧縮方法であるステップと、
    を有することを特徴とするコンピュータ可読記憶媒体。
  23. 前記プログラムは、
    一様な色を有する領域であって当該領域のサイズが前記候補値のうちの1つより大きい領域を前記画像において判定するステップと、
    判定された前記領域が前記第1の方法で圧縮される場合に前記判定された領域の圧縮データのデータ量を推定するステップとを実行するように前記プロセッサに指図するように更に構成されることを特徴とする請求項22記載のコンピュータ可読記憶媒体。
  24. 必要メモリとは所定のデータ量であり、
    前記必要メモリを満たすように画像を圧縮するとは、前記所定のデータ量以下でメモリに格納されるように画像を圧縮することであることを特徴とする請求項16乃至23の何れか1項に記載のコンピュータ可読記憶媒体。
  25. 前記1つの候補値を満たす前記領域とは、領域のサイズを示す当該領域の長さおよび最大幅の合計値が当該1つの候補値以上である領域であることを特徴とする請求項16乃至24の何れか1項に記載のコンピュータ可読記憶媒体。
JP2013057298A 2012-03-21 2013-03-19 方法、装置、コンピュータ可読記憶媒体 Active JP5607779B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2012201684 2012-03-21
AU2012201684A AU2012201684A1 (en) 2012-03-21 2012-03-21 Image compression

Publications (2)

Publication Number Publication Date
JP2013198161A JP2013198161A (ja) 2013-09-30
JP5607779B2 true JP5607779B2 (ja) 2014-10-15

Family

ID=49112391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013057298A Active JP5607779B2 (ja) 2012-03-21 2013-03-19 方法、装置、コンピュータ可読記憶媒体

Country Status (4)

Country Link
US (1) US8983185B2 (ja)
JP (1) JP5607779B2 (ja)
AU (1) AU2012201684A1 (ja)
DE (1) DE102013203884A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378560B2 (en) 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
AU2014201243B2 (en) 2014-03-06 2015-11-26 Canon Kabushiki Kaisha Parallel image compression
GB201414204D0 (en) 2014-08-11 2014-09-24 Advanced Risc Mach Ltd Data processing systems
KR20160030701A (ko) * 2014-09-11 2016-03-21 삼성전자주식회사 인쇄 데이터를 프린터로 전송하는 호스트 디바이스 및 호스트 디바이스가 인쇄 데이터를 렌더링하는 방법
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
US9363422B1 (en) 2015-01-30 2016-06-07 Kyocera Document Solutions Inc. Cell-based compression with edge detection and interleaved encoding
US9363416B1 (en) 2015-01-30 2016-06-07 Kyocera Document Solutions Inc. Digital image attribute plane compression
US9380304B1 (en) 2015-01-30 2016-06-28 Kyocera Document Solutions Inc. Cell-based compression with edge detection
US9531920B2 (en) 2015-01-30 2016-12-27 Kyocera Document Solutions Inc. Digital image color plane compression
US9319565B1 (en) 2015-01-30 2016-04-19 Kyocera Document Solutions Inc. Interleaved encoding of compressed attribute and color planes
WO2017125151A1 (en) * 2016-01-20 2017-07-27 Hewlett-Packard Development Company L.P. Imaging pipeline processing
JP6743449B2 (ja) * 2016-03-28 2020-08-19 コニカミノルタ株式会社 画像形成装置、画像形成方法および制御プログラム
US10652583B2 (en) * 2016-08-19 2020-05-12 Apple Inc. Compression of image assets
US9712830B1 (en) * 2016-09-15 2017-07-18 Dropbox, Inc. Techniques for image recompression
US10719447B2 (en) 2016-09-26 2020-07-21 Intel Corporation Cache and compression interoperability in a graphics processor pipeline
US10484685B2 (en) 2017-04-18 2019-11-19 Qualcomm Incorporated System and method for intelligent data/frame compression in a system on a chip
US10609418B2 (en) * 2017-04-18 2020-03-31 Qualcomm Incorporated System and method for intelligent data/frame compression in a system on a chip
CN109309835A (zh) * 2017-07-26 2019-02-05 苏州智语新视信息科技有限公司 一种图像压缩方法及装置
JP7465073B2 (ja) 2019-10-28 2024-04-10 キヤノン株式会社 画像符号化装置及びその制御方法及びプログラム
US11244198B2 (en) 2019-11-21 2022-02-08 International Business Machines Corporation Input partitioning for deep learning of large image data
US10853709B1 (en) 2019-12-18 2020-12-01 Ricoh Company, Ltd. Image filtering for improved lossless compression
JP2021106305A (ja) * 2019-12-26 2021-07-26 日本電気株式会社 データ圧縮装置、モデル生成装置、データ圧縮方法、モデル生成方法及びコンピュータプログラム
US11854235B1 (en) * 2020-04-16 2023-12-26 Marvell Asia Pte, Ltd. Lossless integer compression scheme
CN111768459A (zh) * 2020-06-28 2020-10-13 百度在线网络技术(北京)有限公司 图像处理方法、装置、电子设备及存储介质
CN113473140B (zh) * 2021-07-15 2024-02-23 中国科学技术大学 脑神经图像的有损压缩方法、系统、设备与存储介质
US11991335B2 (en) 2021-08-23 2024-05-21 Kyocera Document Solutions Inc. High-speed cell-based image compression
US20230177730A1 (en) * 2021-12-07 2023-06-08 International Business Machines Corporation Stochastic compression of raster data
CN114627030B (zh) * 2022-05-13 2022-09-20 深圳深知未来智能有限公司 一种自适应的图像锐化方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982937A (en) 1996-12-24 1999-11-09 Electronics For Imaging, Inc. Apparatus and method for hybrid compression of raster data
US6804401B2 (en) 2000-05-12 2004-10-12 Xerox Corporation Method for compressing digital documents with control of image quality subject to multiple compression rate constraints
US6879717B2 (en) * 2001-02-13 2005-04-12 International Business Machines Corporation Automatic coloring of pixels exposed during manipulation of image regions
JP4693603B2 (ja) * 2004-11-15 2011-06-01 キヤノン株式会社 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP5089713B2 (ja) * 2010-01-18 2012-12-05 シャープ株式会社 画像圧縮装置、圧縮画像出力装置、画像圧縮方法、コンピュータプログラム及び記録媒体
JP2011172101A (ja) * 2010-02-19 2011-09-01 Panasonic Corp 画像符号化方法、画像符号化装置及び撮像システム

Also Published As

Publication number Publication date
US20130251256A1 (en) 2013-09-26
DE102013203884A1 (de) 2013-09-26
US8983185B2 (en) 2015-03-17
JP2013198161A (ja) 2013-09-30
AU2012201684A1 (en) 2013-10-10

Similar Documents

Publication Publication Date Title
JP5607779B2 (ja) 方法、装置、コンピュータ可読記憶媒体
JP5393574B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US7439989B2 (en) Detecting doctored JPEG images
US20080144952A1 (en) Method and Apparatus For Hybrid Image Compression
KR20120065394A (ko) 화상처리장치 및 그 처리 방법
US20070071340A1 (en) Image processing device, method and recording medium for compressing image data
US8275210B2 (en) Lossless compressor for image data values
JP5318256B2 (ja) 高ビット深度画像の圧縮
US10834414B2 (en) Transcode PCL delta-row compressed image to edges
JP2019524007A (ja) 動画圧縮方法及び装置、並びにこれに対するコンピュータプログラム
US8600180B2 (en) Compression method selection for digital images
JP5116650B2 (ja) 画像符号化装置及びその制御方法
US8023756B2 (en) Image encoding apparatus and method of controlling same
US8804185B2 (en) Image processing device and image processing method for reducing image degradation
JP4649237B2 (ja) 画像圧縮装置、画像圧縮方法及び画像圧縮プログラム
US8417041B2 (en) Resolution independent image degradation
JP5879912B2 (ja) 印刷データ生成プログラム、印刷システム及び印刷方法
JP4083670B2 (ja) 画像符号化装置及び画像符号化方法
KR101517019B1 (ko) 블록특성을 이용한 적응 이미지 압축방법 및 그 시스템
JP2008109195A (ja) 画像処理装置
JP4419136B2 (ja) 画像符号化装置、画像符号化方法及びそのプログラム
AU2009251019A1 (en) Classifying pixels of image for compression
JP3867886B2 (ja) 画像符号化方法、画像符号化装置、画像復号化方法及び画像復号化装置
JP2004289602A (ja) 画像符号化装置、画像符号化方法及びプログラム
JP2005039316A (ja) 画像符号化装置、画像処理装置、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140715

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140828

R151 Written notification of patent or utility model registration

Ref document number: 5607779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151