JP4607953B2 - カラー画像の符号化のための方法、システム、およびソフトウェア製品 - Google Patents

カラー画像の符号化のための方法、システム、およびソフトウェア製品 Download PDF

Info

Publication number
JP4607953B2
JP4607953B2 JP2007508692A JP2007508692A JP4607953B2 JP 4607953 B2 JP4607953 B2 JP 4607953B2 JP 2007508692 A JP2007508692 A JP 2007508692A JP 2007508692 A JP2007508692 A JP 2007508692A JP 4607953 B2 JP4607953 B2 JP 4607953B2
Authority
JP
Japan
Prior art keywords
new
color
color image
cost
output function
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
JP2007508692A
Other languages
English (en)
Other versions
JP2007534239A (ja
Inventor
アン−ホイ ヤン,
チャンフェン ツゥン,
Original Assignee
スリップストリーム データ インコーポレイテッド
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
Priority claimed from US10/831,656 external-priority patent/US7525552B2/en
Application filed by スリップストリーム データ インコーポレイテッド filed Critical スリップストリーム データ インコーポレイテッド
Publication of JP2007534239A publication Critical patent/JP2007534239A/ja
Application granted granted Critical
Publication of JP4607953B2 publication Critical patent/JP4607953B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/186Methods 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 a colour or a chrominance component
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Color Television Systems (AREA)
  • Color Image Communication Systems (AREA)
  • Chemical And Physical Treatments For Wood And The Like (AREA)
  • Heat Sensitive Colour Forming Recording (AREA)
  • Closed-Circuit Television Systems (AREA)

Description

本発明はカラー画像の符号化のための方法、システムおよびソフトウェア製品に関する。
(本発明の背景)
近年、インターネットにおけるカラー画像データの量は爆発的に増大している。特に、ウェブサイト、デジタルカメラ、オンラインゲームの人気の高まりによって、カラー画像データは、インターネットトラフィックの中で大きな位置を占めるようになってきている。一方で、主に画像表示装置やデータ記憶装置および伝送帯域幅の限界のために、ワイヤレスチャンネルまたは低電力の小型機器を介するカラー画像へのアクセスは、依然として時間がかかると共に不便であり、多くのマルチメディアアプリケーションのボトルネックとなっている。(例えば、非特許文献1(以下「参考資料[1]」)、非特許文献2(以下「参考資料[2]」)、非特許文献3(以下「参考資料[3]」)、非特許文献4(以下「参考資料[4]」)、非特許文献5(以下「参考資料[5]」)および非特許文献6(以下「参考資料[6]」)を参照されたい。)
上記の制限を解決する一つの方法は、カラー画像を圧縮、最適化、または再符号化する効率的なカラー画像符号化スキームを適用することである。典型的なカラー画像符号化スキームは、カラーパレット、ピクセルマッピング、および可逆コード(lossless code)から成る。カラーパレットは、ベクトル量子化コードブックとしての役割を果たし、オリジナルのカラー画像の全ての色を表現するために利用される。次に、ピクセルマッピングは、カラーパレットの色に対応するインデックスに画像の各ピクセルをマッピングする。このピクセルマッピングは、カラーパレットの色へのRGBカラーベクトルの量子化が固定されており、一旦カラーパレットが与えられると画像のRGBカラーベクトルのピクセル位置とは無関係となるハードディシジョンピクセルマッピングか、あるいは、RGBカラーベクトルが異なるピクセル位置でカラーパレットの異なる色に量子化され得るソフトディシジョンピクセルマッピングであり得る。最後に、ピクセルマッピングから生じたインデックスシーケンスが、可逆コードによって符号化される。
従来、カラーパレットデザイン、ピクセルマッピング、および符号化は、別々に考えられていた。カラーパレットおよびピクセルマッピングの設計において、符号化部分は多くの場合無視されており、主な目的は、量子化ゆがみを低減し、量子化された画像のクオリティを向上させ、計算上の複雑性を低減することにあった。例えば、参考資料[1]〜[6]の文献において、いくつかのツリー構造の分岐および統合を行うカラー画像量子化方法は、多かれ少なかれ、この目的を達成するように提案されている。
一方で、符号化を考えるとき、カラーパレットおよびピクセルマッピングは、多くの場合与えられているものと仮定されており、その目的は、圧縮率を低下させるようにインデックスシーケンスの効率的なコードを設計することにある。例えば、色量子化(color−quantize)された画像のLUVカラー空間の不可逆圧縮のアルゴリズムは、非特許文献7(以下「参考資料[7]」)に示されている。2つの発見的ソリューションは、非特許文献8(以下「参考資料[8]」)に、可逆予測的符号化技術によって画像を符号化する前にカラーマップを並び替えるように提案されている。非特許文献9(以下「参考資料[9]」)では、2分木構造およびコンテクストベースのエントロピー符号化に基づいて、色量子化された画像の革新的な符号化を提供するように、圧縮アルゴリズムが提案されている。こうしたアルゴリズムでは、GIF/PNGデコーダなどの標準的なデコーダと互換性のない圧縮されたビットストリームを犠牲にすることにより、圧縮の効率性が達成される。
J.Barrilleaux、R.Hinkle、およびS.Wells、「Efficient vector quantization for color image encoding」、Acoustics,Speech,and Signal Processing、IEEE International Conference on ICASSP’87、vol.12、740〜743ページ、1987年4月 M.T.OrchardおよびC.A.Bouman、「Color quantization of images」、Signal Processing、IEEE Transactions、vol.39、no.12、2677〜2690ページ、1991年12月 I.Ashdown、「Octree color quantization」、C/C++ Users Journal、vol.13、no.3、31〜43ページ、1994年 X.Wu、「Yiq vector quantization in a new color palette architecture」、IEEE Trans.on Image Processing、vol.5、no.2、321〜329ページ、1996年 L.Velho、J.GomesおよびM.V.R.Sobreiro、「Color image quantization by pairwise clustering」、Proc.Tenth Brazilian Symp.Comput.Graph.Image Process、L.H.de FigueiredoおよびM.L.Netto、Eds.Campos do Jordao、Spain、203〜210ページ、1997年 S.Wan、P.PrusinkiewiczおよびS.Wong、「Variance−based color image quantization for frame buffer display」、Res.Appl.、vol.15、52〜58ページ、1990年 A.ZaccarinおよびB.Liu、「A novel approach for coding color quantized image」、Image Processing、IEEE Transactions、vol.2、no.4、442〜453ページ、1993年10月 N.D.MemonおよびA.Venkateswaran、「On ordering color maps for lossless predictive coding」、IEEE Transactions on Image Processing、vol.5、no.11、1522〜1527ページ、1996年 X.Chen、S.KwongおよびJ.fu Feng、「A new compression scheme for color−quantized images」、Circuits and Systems for Video Technology、IEEE Transactions、vol.12、no.10、904〜908ページ、2002年10月
(本発明の要約)
本発明の第1の局面にしたがうと、データ処理システムを用いることにより、N個の異なる色を有するデジタル化されたカラー画像から、デジタル化されたカラー画像における全ピクセルのM個の互いに素なクラスタへのツリー構造パーティションを形成する方法が示されており、MはN以下であり、N個の異なる色における各色は、カラーパレットにおける複数のPビットのバイトによってデジタル的に表現され、各PビットのバイトにおけるPビットは、最上位から最下位へと順序付けられている。この方法は、(a)N個の異なる色の全てを含むルートノードを提供するステップと、(b)該ルートノードにリンクされた兄弟ノードの第1のレベルを提供するステップであって、N個の異なる色における各色は、複数のPビットのバイトにおける各Pビットのバイトの第1のビットの値に基づいて、データ処理システムにより、兄弟(sibling)ノードの第1のレベルにおける関連のあるノードに割り当てられる、ステップと、(c)1色よりも多い色を含むノードのk番目のレベルにおける各ノードに対し、(k+1)番目のレベルの複数の兄弟ノードを提供するステップであって、そのノードにおける各色は、N個の異なる色の各色に対してその色のみを含む異なるリーフノードが存在するように、その色に対する複数のPビットのバイトにおける各Pビットのバイトの(k+1)番目のビットの値に基づいて、データ処理システムにより、(k+1)番目のレベルの複数の兄弟ノードの関連のある兄弟ノードに割り当てられる、ステップと、(d)M個のリーフノードのみが残されるまで、リーフノードを選択および統合するステップとを含む。
本発明の第2の局面にしたがうと、N個の異なる色を有するデジタル化されたカラー画像から、デジタル化されたカラー画像における全ピクセルのM個の互いに素なクラスタへのツリー構造パーティショニングを形成するデータ処理システムが示されており、MはN以下であり、N個の異なる色における各色は、カラーパレットにおける複数のPビットのバイトによってデジタル的に表現され、各PビットのバイトにおけるPビットは、最上位から最下位へと順序付けられている。データ処理システムは、(a)ノード生成手段であって、(i)N個の異なる色の全てを含むルートノードを提供するステップと、(ii)ルートノードにリンクされた兄弟ノードの第1のレベルを提供するステップであって、N個の異なる色における各色は、複数のPビットのバイトにおける各Pビットのバイトの第1のビットの値に基づいて、兄弟ノードの第1のレベルにおける関連付のあるノードへとデータ処理システムによって割り当てられる、ステップと、(iii)1色よりも多い色を含むノードのk番目のレベルにおける各ノードに対し(k+1)番目のレベルの複数の兄弟ノードを提供するステップであって、そのノードにおける各色は、N個の異なる色の各色に対してその色のみを含む異なるリーフノードが存在するように、その色に対する複数のPビットのバイトにおける各Pビットのバイトの(k+1)番目のビットの値に基づいて、(k+1)番目のレベルの複数の兄弟ノードにおける関連のある兄弟ノードに割り当てられる、ステップとのための、ノード生成手段と、(b)M個のリーフノードのみが残されるまで、リーフノードを選択および統合するノード統合手段とを含む。
本発明の第3の局面にしたがうと、N個の異なる色を有するデジタル化されたカラー画像から、デジタル化されたカラー画像における全ピクセルのM個の互いに素なクラスタへのツリー構造のパーティションを形成するように、コンピュータシステム上で用いられるコンピュータプログラム製品が示されており、MはN以下であり、N個の異なる色における各色は、カラーパレットにおける複数のPビットのバイトによってデジタル的に表現され、各PビットのバイトのPビットは、最上位から最下位へと順序付けられている。コンピュータプログラム製品は、記録媒体と、上記媒体に記録された手段であって、(a)N個の異なる色の全てを含むルートノードを提供するステップと、(b)ルートノードにリンクされた兄弟ノードの第1のレベルを提供するステップであって、N個の異なる色の各色は、複数のPビットバイトにおける各Pビットバイトの第1のビットの値に基づいて、兄弟ノードの第1のレベルにおける関連のあるノードに割り当てられる、ステップと、(c)1色よりも多い色を含むノードのk番目のレベルの各ノードに対し、(k+1)番目のレベルの複数の兄弟ノードを提供するステップであって、そのノードにおける各色は、N個の異なる色の各色に対してその色のみを含む異なるリーフノードが存在するように、その色に対する複数のPビットのバイトにおける各Pビットのバイトの(k+1)番目のビットの値に基づいて、(k+1)番目のレベルの複数の兄弟ノードにおける関連のある兄弟ノードに割り当てられる、ステップと、(d)M個のリーフノードのみが残されるまで、リーフノードを選択および統合するステップを実行するようにコンピュータシステムに命令する、手段とを含む。
本発明の第4の局面にしたがうと、共にn個のピクセルで定義される、オリジナルのデジタル化されたカラー画像から導出されたデジタル化された新しいカラー画像に対し、ピクセルマッピングを表す新しいインデックスシーケンスと、カラーパレットを表す新しい出力関数とを導出する方法が提供されており、オリジナルのデジタル化されたカラー画像は、n個のピクセルに割り当てられたN個の異なる色によって提供されており、新しいデジタル化されたカラー画像は、n個のピクセルに割り当てられたM個の異なる色によって提供されており、新しいインデックスシーケンスは、n個のピクセルを表すためのn個のインデックスメンバーを有しており、新しい出力関数は、M個の色にn個のインデックスメンバーをマッピングするためのものである。該方法は、(a)オリジナルのデジタル化されたカラー画像におけるピクセルの位置に関わらず、オリジナルのデジタル化されたカラー画像における各ピクセルの色に基づいて、オリジナルのデジタル化されたカラー画像における全てのピクセルをM個の互いに素なクラスタに分割することにより(MはN以下である)、第1の新しいインデックスシーケンスを提供するステップと、(b)M個の互いに素なクラスタにおけるピクセルへのM個の異なる色の1対1のマッピングを提供するために、第1の新しい出力関数を提供するステップと、(c)第1の新しいインデックスシーケンスの各メンバーに対し、第1の新しい出力関数によってそのメンバーに割り当てられている色の値が、第1の新しい出力関数によって第1の新しいインデックスシーケンスの少なくとも1つのその他のメンバーに割り当てられている色の値にどのように相関付けられているかに基づいて、新しいインデックスシーケンスと新しい出力関数とをそれぞれ提供するために、第1の新しいインデックスシーケンスと第1の新しい出力関数とにソフトディシジョン最適化プロセスを適用するステップとを含む。
本発明の第5の局面にしたがうと、共にn個のピクセルで定義される、オリジナルのデジタル化されたカラー画像から生成された新しいデジタルカラー画像に対し、ピクセルマッピングを表す新しいインデックスシーケンスと、カラーパレットを表す新しい出力関数とを導出するためのデータ処理システムが提供される。オリジナルのデジタル化されたカラー画像はn個のピクセルに割り当てられるN個の個別の色で成っており、新しいデジタル化されたカラー画像は、n個のピクセルに割り当てられたM個の異なる色によって提供されており、新しいインデックスシーケンスは、n個のピクセルを表すためのn個のインデックスメンバーを有しており、新しい出力関数は、M個の色にn個のインデックスメンバーをマッピングするためのものである。該データ処理システムは、(a)ハードディシジョンモジュールであって、(i)オリジナルのデジタル化されたカラー画像におけるピクセルの位置に関わらず、オリジナルのデジタル化されたカラー画像の各ピクセルの色に基づいて、オリジナルのデジタル化されたカラー画像における全てのピクセルをM個の互いに素なクラスタに分割することにより(MはN以下である)、第1の新しいインデックスシーケンスを提供し、(ii)M個の互いに素なクラスタにおけるピクセルへのM個の異なる色の1対1のマッピングを提供するために、第1の新しい出力関数を提供する、ハードディシジョンモジュールと、(b)第1の新しいインデックスシーケンスの各メンバーに対し、第1の新しい出力関数によってそのメンバーに割り当てられている色の値が、第1の新しい出力関数によって第1の新しいインデックスシーケンスの少なくとも1つのその他のメンバーに割り当てられている色の値にどのように相関付けられているかに基づいて、新しいインデックスシーケンスと新しい出力関数とをそれぞれ提供するために、第1の新しいインデックスシーケンスと第1の新しい出力関数とにソフトディシジョン最適化プロセスを適用するソフトディシジョンモジュールとを含む。
本発明の第6の局面にしたがうと、共にn個のピクセルで定義される、オリジナルのデジタル化されたカラー画像から導出された新しいデジタルカラー画像に対し、ピクセルマッピングと、カラーパレットを表す新しい出力関数とを形成するように、コンピュータシステム上で用いられるコンピュータプログラム製品が提供される。オリジナルのデジタル化されたカラー画像は、n個のピクセルに割り当てられたN個の異なる色によって提供されており、新しいデジタル化されたカラー画像は、n個のピクセルに割り当てられたM個の異なる色によって提供されており、新しいインデックスシーケンスは、n個のピクセルを表すためのn個のインデックスメンバーを有しており、新しい出力関数は、M個の色にn個のインデックスメンバーをマッピングするためのものである。該コンピュータプログラム製品は、記録媒体と、記録媒体に記憶された手段であって、(a)オリジナルのデジタル化されたカラー画像におけるピクセルの位置に関わらず、オリジナルのデジタル化されたカラー画像における各ピクセルの色に基づいて、オリジナルのデジタル化されたカラー画像における全てのピクセルをM個の互いに素なクラスタに分割することにより(MはN以下である)、第1の新しいインデックスシーケンスを提供し、(b)M個の互いに素なクラスタにおけるピクセルへのM個の異なる色の1対1のマッピングを提供するために、第1の新しい出力関数を提供し、(c)第1の新しいインデックスシーケンスの各メンバーに対し、第1の新しい出力関数によってそのメンバーに割り当てられている色の値が、第1の新しい出力関数によって第1の新しいインデックスシーケンスの少なくとも1つのその他のメンバーに割り当てられている色の値にどのように相関付けられているかに基づいて、新しいインデックスシーケンスと新しい出力関数とをそれぞれ提供するために、第1の新しいインデックスシーケンスと第1の新しい出力関数とにソフトディシジョン最適化プロセスを適用するステップとを実行するようにコンピュータシステムに命令する、媒体に記録された手段とを含む。
本発明の好適な実施例の詳細な説明を、以下の図面を参照しながら、以下に説明する。
(本発明の好ましい実施形態の詳細な記述)
図1を参照すると、ブロック図によって本発明の一局面にしたがうコンピュータシステムが10が示されている。コンピュータシステムは、カラー画像データを保存するメモリ12と、デジタルカラー画像を表示するモニター14と、画像処理のための、および、計算上の複雑性を低く抑え、GIF/PNGデコーダとの互換性を保つ一方で、量子化、ひずみおよび圧縮重量を同時に最適化するカラーデータの圧縮を提供するためのCPU16と、伝送線20によるコンピュータシステム10からの伝送の前に、カラー画像データを符号化するGIFエンコーダまたはPNGエンコーダのような、エンコーダ20とを含む。
カラー画像符号化の同時最適化の問題は、以下のように定義できる。Ω={(r,g,b)|0≦r,g,b≦255}をRGB色空間とする。0={o,o…,oN−1}は、N個の異なる色を有するオリジナルのカラー画像のカラーパレットと仮定する。オリジナル画像における総ピクセル数がnである場合、カラー画像を上下左右の全体にスキャンすることにより、インデックスシーケンスI=(i,i,…,in―1)が得られる。iは、k番目のピクセルのカラーベクトルがoikであることを示す。制限的に、M個(M<N)の色を有する新しいカラーパレットCを用いることにより、オリジナルのカラー画像を再現する場合、同時最適化エンコーダは、新しいカラーパレットC={c,c,...,cM−1}、新しいインデックスシーケンスU=(u,u,...,un−1)、および可逆コードワード長関数を求めることにより、オリジナルの画像を再現し、コスト関数
Figure 0004607953
を最小化することを目的とする。λはラグランジアン乗数であり、dは、
Figure 0004607953
のように、cukによってoikを表すことにより生じる2乗誤差である。
可逆コードワード長関数と可逆コードとの間には、1対1のマッピングが存在するため、可逆コードワード長関数の選択は、可逆コードの選択と等価である。
明らかに、
Figure 0004607953
は全2乗誤差(TSE;total square error)であり、これは、量子化されたカラー画像のビジュアルクオリティに密接に関連する。TSEまたはその他同様のひずみの測定値の最小化は、参考資料[1]から[6]で考察されている量子化指向の方法の唯一の目的である。同様に、新しいカラーパレットCおよびピクセルマッピング(したがって、インデックスシーケンスU)を考えると、考えられる可逆コードワード長関数lの全てにおけるビットレートn−1l(U)の最小化は、参考資料[7]から[9]で考察されている色量子化された画像に対する符号化方法の唯一の目的である。上記のコスト関数により、圧縮率とひずみとの同時最適化という問題が前面に出される。量子化ひずみは、カラーパレットCおよびピクセルマッピング(すなわち、インデックスシーケンスU)によって決定され、圧縮率は、ピクセルマッピングおよび可逆コードワード長関数lの両方によって決定される。ここで、当然ながら、ピクセルマッピングは、ソフトディシジョンピクセルマッピングである。したがって、可逆コードワード長関数lが決定されている場合でさえも、CおよびUの両方を変更することにより、圧縮率およびひずみの両方を同時に最適化することが可能である。
可逆コードワード長関数は数多くあり、それぞれが例えば次のような異なるエントロピーコードに対応している。例えば、Huffmanコード、D.A.Huffman、「A method for the construction of minimum−redundancy codes」、Proc.IRE、vol.40、no.9、1098〜1101ページ、1952年(以下「参考資料[12]」)、Lempel−zivコード、J.ZivおよびA.Lempel、「A universal algorithm for sequential data compression」、IEEE Trans.On Information Theory、vol.23、337〜343ページ、1977年(以下「参考資料[11]」)、J.ZivおよびA.Lempel、IEEE Trans.Inform.Theory(以下「参考資料[10]」)、算術コード、I.H.Witten、M.Neal、およびJ.G.Cleary、「Arithmetic coding for data compression」、Commun.ACM、vol. 30、520〜540ページ、1987年6月(以下「参考資料[13]」)、文法ベースコード、E.−H.YangおよびJ.C.Kieffer、「Efficient universal lossless data compression algorithms based on a greedy sequential grammar transform− part one:Without context models」、IEEE Trans.On Information Theory、vol.46、no.3、755〜777ページ、2000年5月(以下「参考資料[14]」)、J.C.KiefferおよびE.−H.Yang、「Grammar based codes: A new class of universal lossless source codes」、IEEE Trans.on Information Theory、vol.46、no.3、737〜754ページ、2000年5月(以下「参考資料[15]」)、E.−H.YangおよびD.−K.He IEEE Trans.on Information Theory、vol.49、2874〜2894ページ、2003年(以下「参考資料[16]」)、およびカラー画像符号化のために特別に設計された可逆コード(参考資料[7]〜[9]を参照)。GIF/PNGデコーダとの互換性を維持したいので、GIFデコーダの場合には、LZ78のコードワード長またはその変種、PNGデコーダの場合には、LZ77コードまたはその変種となるように選択する。J.Miano、「Compressed image file formats:Jpeg,png,gif,xbm,bmp」、ACM Press、2000年(以下「参考資料[17]」)。これは、いずれの場合も、lLZ(U)と示される。したがって、この場合に最小化されるコスト関数は、
Figure 0004607953
である。
上記のコスト関数は、エントロピー制約ベクトル量子化(ECVQ;entropy−constrained vector quantization)で定義されるコスト関数、P.A.Chou、T.Lookabaugh、およびR.M.Gray、「Entropy−constrained vector quantization」、Acoustics,Speech,and Signal Processing[IEEE Transactions on Signal Processingも参照]、IEEE Transactions、vol.37、no.1、31〜42ページ、1989年1月(以下「参考資料[18]」)、および、特に、変動比率トレリスソース符号化(VRTSE;variable−rate trellis source encoding)で定義されるコスト関数、E.−H.YangおよびZ.Zhang、「Variable rate trellis source encoding」、IEEE Trans.on Information Theory、vol.45、no.2、586〜608ページ、1999年3月(以下「参考資料[19]」)と類似の形態である。VRTSEは、トレリス構造を利用し、生成される圧縮率、ひずみ、および選択された符号化パスを同時に最適化するという意味において、エントロピー制約スカラー量子化およびベクトル量子化の一般化[18]と考えることができる。特に低圧縮率領域において、その効率的なパフォーマンスにより、VRTSEは、特に、格納スペースと伝送時間とを節約するために高い圧縮率がしばしば所望されるカラー画像の符号化に適用可能となる。
VRTSEに基づき、発明の一局面にしたがって、計算上の複雑性を低く抑え、GIF/PNGデコーダとの互換性を維持する一方で、量子化ひずみと圧縮率との両方を同時に最適化する可変圧縮率トレリスカラー量子化(VRTCQ;variable−rate trellis color quantization)1およびVRTCQ2という2つの方法を開発した。VRTCQ1とVRTCQ2の両方は、ソフトディシジョンピクセルマッピングを利用し、反復性がある。加えて、本発明のさらなる局面により、VRTCQ1およびVRTCQ2に対する初期のカラー画像符号化スキームを提供するために、RGBカラーに対する八分木データ構造を利用し、量子化されたカラー画像のエントロピー制約コストを部分的に最小化するエントロピー制約階層的統合量子化(ECHMQ;entropy−constrained hierarchical merging quantization)が開発された。ECHMQは、それ自身のみで、量子化されたカラー画像の圧縮率およびひずみをトレードオフする効率的な方法を提供する。
(可変圧縮率トレリスソースエンコーティングの概要)
[19]で示される可変圧縮率トレリスソース符号化は、固定された勾配の不可逆符号化をトレリス構造のデコーダーの場合に拡大したものである。固定された勾配の不可逆符号化は、E.hui Yang、Z.Zhang、およびT.Berger、「Fixed−slope universal lossy data compression」、IEEE Trans.on Information Theory、vol.43、no.5、1465〜1476ページ、1997年9月(以下「参考資料[20]」)に示されている。各実数値のソースシーケンスx=(x,x,...,xn−1)∈Rに対し、シーケンスu=(u,u...un−1)∈M set,Mset={0,1,...,M−1}を求めることにより、コスト関数
Figure 0004607953
を最小化することを目的としている。λは、一定のラグランジアン乗数であり、lは可逆コードワード長関数、β(u)=(z,z1…,zn−1)はuに対応する再現シーケンスであり、pは、任意のx=(x,x,…,xn−1)およびz(z,z…,zn−1)に対し、
Figure 0004607953
で定義される2乗誤差である。
再現シーケンスβ(u)は、トレリス構造のデコーダβ=(f,g)を介してuから求められる。ここに、f:SxMset→Sは状態推移関数であり、S={s,s,...,s|S|−1}は状態の集合であり、g:SxMset→Rは出力関数である。関数fおよびgは、それぞれ、トレリス構造と、(カラーパレットと類似した)再現レベルの集合とを決定する。所与の初期状態si0に対し、再現シーケンスβ(u)=(z,z,...zn−1)は、以下のように求められる。
Figure 0004607953
換言すると、uを受け取ると、デコーダβは、状態のシーケンスsio,si1,...,sinにトラバースする一方で、再現シーケンスβ(u)=(z,z,…,zn−1)を出力する。
βを固定する。lを、k次の推移確率関数W(u|u)によるk次の静的算術コードワード長関数(static arithmetic codeward length function)L として選択する。次に、ビタビアルゴリズムを用いることにより、
Figure 0004607953
のように、最適シーケンスuが求められ得る。
fを固定する。g、u、およびL (同じことであるが、W(u|u))の同時最適化は、
Figure 0004607953
のように記述され得る。
同時最適化問題(2.5)を解決するための代替的なアルゴリズムは、[19]に提案されている。この代替的なアルゴリズムの手順は、以下の通りである。
ステップ1:t=0と設定する。
Figure 0004607953
を満たす出力関数g(o)と推移確率関数W(0)とを選択する。
ステップ2:g(t)およびW(t)を固定する。ビタビアルゴリズムを用いることにより、gをg(t)に置換しWをW(t)に置換した等式(2.4)を満たすシーケンス(u(t)=(u (t),u (t),…un−1 (t))を求める。
ステップ3:(u(t)を固定する。インデックスシーケンス(u(t)は、推移確率関数と出力関数とを
Figure 0004607953
および
Figure 0004607953
のように更新する。ここに、uj−k j−l=uj−k…uj−1,sij,j=0,1,…n−1は、(u(t)に応答してトレリスデコーダ(f,g(t))によってトラバースされる状態であり、Σs,uは、sij=sおよびu (t)=uを満たすすべてのjにわたって取られる。
ステップ4:t=0,1,2,...に対し、
Figure 0004607953
となるまで、ステップ2からステップ3を繰り返す。ξは、所定の小さい閾値であり、L W(t)は、k次の推移確率関数W(t)(u|u)に関連するk次の静的算術コードワード長関数である。その後、g(t+l)、(u(t+1)、およびW(t+1)を出力する。
VRTSEの性能は、参考資料[19]の定理3および4に示されているように、圧縮率・ひずみの制限に漸近する。ガウシアン、ラプラシアン、ガウス・マルコフのソース上での実験結果は、VRTSEが特に低圧縮率符号化に適していることを示している。VRTSEをカラー画像符号化に適用するには、以下の問題に対処しなければならない。
問題1:VRTSEで用いられる可逆コードワード長関数は、k次の静的算術コードワード長関数Lである。一方で、カラー画像の符号化の現在の例において、可逆コードワード長関数は、Lempel−zivコードワード長関数lLZである。
問題2:VRTSEにおいて、初期化ステップ、すなわちステップ1は指定されていない。すなわち、初期関数g(0)とW(0)をいかにして選択するかは、VRTSEにおいては決定されていない。このことは、ここでのカラー画像符号化設定においては、初期のカラー画像符号化スキームをいかにして設計するかということに言い換えられる。
問題3:計算上の複雑性を低減するために、VRTSEにおけるインデックス集合Msetは、しばしば2進的となるように、すなわちMset=2となるように選択される。これにより、高次の算術コードワード長が使用され得る。一方で、カラー画像符号化では、濃度Mは通常比較的大きく、おおよそ256くらいであり得る。したがって、計算上の複雑性を低減するための新しい方法が必要とされる。
問題1を回避するために、Lempel−zivコードワード長関数lLZを上から制限する。lLZがLZ78のコードワード長関数である場合、可逆ソース符号化に関する文献(例えば、[14]を参照)から、任意のシーケンスu=(u,u,...,un−1)に対し、
Figure 0004607953
がしたがう。r(u)は、シンボル毎のビットにおけるuのk次の経験的エントロピーであり、qはkのみに依存する定数であり、対数は底2に関する対数を示す。同様な上限は、lLZがLZ77のコードワード長関数である場合にも有効である。ひずみの制約を受ける(1/n)lLZ(u)を最小化する代わりに、VRTCQ1において同じひずみ制約を受けるr(u)が最小化され得る。VRTCQ2では異なる上限が使用される。問題2〜3は以下で扱われる。
(エントロピー制約階層的統合量子化)
本発明の一局面にしたがうと、VRTSEに対する初期カラー画像符号化スキームを提供するエントロピー制約階層的統合量子化(ECHMQ)を介することにより、問題2が扱われる。ECHMQは、VRTCQ1およびVRTCQ2の双方に対して、第1のステージ、すなわちステージ1としての役割を果たす。
ECHMQはハードディシジョン量子化であり、オリジナルのN個の色をM個の重複しないクラスタに分割し、各クラスタに対する再現色を求め、2次元画像におけるオリジナルの色の位置に関わらず、各オリジナルの色の再現色を決定する。これは八分木データ構造[3]を活用したものであり、以下に定義されるエントロピー制約コストを部分的に最小化することにより、圧縮率およびひずみをトレードオフする。
カラーパレットO={o,o,...,oN−1}と新しいカラーパレットの所望のサイズM<Nとを有するnピクセルの所与のカラー画像に対し、ハードディシジョン量子化器qを用いることにより、i≠jおよび0≦i,j<Mに対し、N個の色を
Figure 0004607953
を満たすM個のクラスタC,C,...,CM−1に分割する。
クラスタの重心の整数形式は、カラーパレットC={c,c,...,cM−1}を構成し、オリジナルの色からクラスタへのマッピングは、各ピクセルをインデックスに明示的にマッピングする。u=(u,u,...,un−1)∈M setを、全てのピクセルをインデックスにマッピングすることから得られるインデックスシーケンスとする。次に、量子化された画像のエントロピー制約コストは、次のように定義される。
Figure 0004607953
ここに、λはラグランジアン乗数である。(3.8)において、D(q)は全2乗誤差
Figure 0004607953
である。ここに、F(o),0≦i<Nは、オリジナルのカラー画像における色oの出現回数であり、d(o,c)は、式(1.1)で定義されるように、RGB空間における2色間のユークリッド距離の2乗である。R(q)は、インデックスシーケンスuのコードワード長である。色からインデックスへのマッピングは、カラー画像における色の位置とは独立であるため、コードワード長を計算するためには、1次のエントロピー
Figure 0004607953
が用いられる。
式(3.8)に定義されたコスト関数は、参考資料[18]におけるエントロピー制約ベクトル量子化(ECVQ)で定義されるラグランジアン関数と類似している。主な課題は、優れたレートのひずみのトレードオフと、低い符号化の複雑性とを用いて、ハードディシジョン量子化器qを設計することである。統合を高速化するために八分木構造が用いられ、量子化された画像の圧縮率とひずみとをトレードオフするために、等式(3.8)で定義されたコスト関数が用いられる。
各ピクセルの色を走査しツリー[3]にこれを挿入するオンザフライ(on−the−fly)八分木構築手順とは異なり、まず、オリジナルのカラー画像のヒストグラムを得ることにより、初期の八分木を構築する。図2を参照すると、オリジナルのカラー画像における異なる色の全てとその出現とを含む八分木22がグラフに示されている。ルートノード24、すなわち、レベル0は、カラー画像における異なるの色の全てを含む。RGB色空間の各色は、3つの8ビットバイトで構成され、それらのうちの各々は主成分を示しているため、3つのバイトの最上位ビットは、レベル1の色の位置を決定する。1色よりも多い色がノードを通過する限り、そのノードは中間ノード26であり、下位のRGBビットの組み合わせによってさらに分岐し得る。リーフノード28を通過する色は、そのリーフノード28における色と呼ばれ、事実上、その色自体は、そのリーフノードの重心である。レベルkにおける任意の2つのリーフ兄弟ノードの重心の間の各色成分の方向における距離は、(0,29−k)の範囲内となる。明らかに、kの値が大きいほど、それらの重心色はより類似する。図2に示される八分木22は、2つの理由により非常に不均衡で非対称となっていることに留意されたい。第1に、通常のカラー画像に現れる色の個数は、RGB空間で利用可能な全224色よりも遥かに少ない(参考資料[17]を参照)ことと、第2に、一色しかこれを通過しない場合には、ノードは、分岐を停止するということである。
オリジナルのカラー画像における異なる各色oは、八分木の異なるリーフノードΘに表示される。常時2つのリーフ兄弟ノードを繰り返し統合することにより、リーフノードの数をNからMに減らすことが可能である。生成された各リーフノードの重心の整数形式は、新しいカラーパレットにおける色である。リーフ兄弟ノードを繰り返し統合した後、各リーフノードは、オリジナルのカラー画像のカラーパレットにおける色のサブセットに対応する。
O={o,o,...,oN−1}をオリジナルのカラー画像のカラーパレットであると仮定する。ΘおよびΘを、親ノードΘの下にある2つの兄弟ノードとし、Θ={oi0,oi1,…,oim−1}、Θ={oj0,oj1,…,ojk−1}、およびΘ∩Θ≡φとする。cをΘに対する重心色とし、cをΘに対する重心色とする。ノードΘの出現回数FをノードのΘ各色の出現回数の合計として定義する。
Figure 0004607953
itは、オリジナルの画像の色oitの出現回数である。ノードΘの出現回数Fもまた、同様に計算される。
Figure 0004607953
jtは、オリジナルの画像の色ojtの出現回数を示す。2つのノードΘおよびΘを新しいノードΘijに統合することにより、ΘおよびΘにおける全ての色を新しいノードΘijに移動させる。すなわち、Θij=Θ∪Θ={oi0,oi1,...,oim−1,oj0,oj1,...,ojk−1}とする。したがって、ノードΘijの出現回数は、Fij=F+F.となる。実数の色が許容されていると仮定する。次の補助定理は、ΘおよびΘをΘijに統合することから生じるエントロピー制約コストインクリメントを与える。
補助定理1:ノードΘおよびΘを統合することにより、エントロピー制約コストは、
Figure 0004607953
によって増加する。
ここに、cijは、ノードΘijの重心、つまり
Figure 0004607953
である。
証明:セルの重心を用いてセルの全ての要素を再現するとき、最小全2乗誤差が得られる。これは、重心の条件、S.P.Lloyd、「Least squares quantization in pcm」、IEEE Trans. on Information Theory、no.28、127〜135ページ、1982年3月(以下「参考資料[21]」)であり、量子化の方法で広く用いられている。この明細書では、リーフノードの重心を量子化のレベルとして、すなわち、そのノードにおける全ての色に対する再現色として用いる。このようにして、統合前のエントロピー制約コストと統合後の全エントロピー制約コストの間の差を計算しなくても、考えられる統合の各々に対するエントロピー制約コストが計算可能され得る。
=Σp=0 m−1ipip、F=Σq=0 k−1jqjqであるため、新しいノード
Θijの重心は、
Figure 0004607953
となる。
増加したエントロピー制約コストΔJの等式(3.11)は、増加した2乗誤差ΔDおよび増加したコードワード長ΔRを個別に計算することにより、証明可能である。DΘiをΘに対する量子化レベルとしてcを用いることにより生じた全2乗誤差を示すものとする。すると、DΘi=Σp=0 m−1ip‖oip−cとなる。同様に、DΘj=Σq=0 k−1jq‖ojq−c‖ojq−cおよびDΘij=Σp=0 m−1ip‖oip−cij+Σq=0 k−1jq‖ojq−cijが得られる。cijを等式(3.12)の表示に代え、D(Θij)の表示を単純化することにより、DΘij=DΘi+DΘj+Fd(c,cij)+Fd(c,cij)が得られる。したがって、
Figure 0004607953
となる。
ΘiをノードΘにおける色を有する全てのピクセルを符号化するエントロピーから生じるビットの総数を示すものとする。すると、
Figure 0004607953
となる。同様に、
Figure 0004607953
および
Figure 0004607953
が得られる。すると、
Figure 0004607953
となり、これは、ΔDと共に、(3.11)を示唆する。これにより、補助定理1の証明が完了する。
補助定理1は、2つのリーフ兄弟ノードを統合する規則を提供する。ステージ1の目的は、量子化された画像の圧縮率とひずみとの間の効率的なトレードオフを与え得るハードディシジョン量子化器を生成することである。オリジナルのカラーパレットは有限であるため、全ての考えられる組み合わせを介して探すことにより、大域的に最適なハードディシジョン量子化器を求めることができる。しかしながら、そのような方法は高い計算複雑性を有するものであるため、実時間の圧縮に対しては、実現不可能である。補助定理1は、ツリー構造のハードディシジョン量子化器を設計するための代わりの欲張りな(greedy)方法を提案している。N個のリーフノードを有するオリジナルの八分木に基づいて、M個のリーフノードが残されるまで2つのリーフ兄弟ノードをエントロピー制約コストの最小インクリメントを用いて繰り返し統合することが可能である。エントロピー制約階層的統合量子化(ECHMQ)と呼ばれるこの方法は高速であり、量子化された画像の圧縮率とひずみとの間の良好なトレードオフを与える。ECHMQの詳細な手順は、以下の通りである。
ステップ1:n−ピクセルのオリジナルのカラー画像X=(x,x,...,xn−1)を読み込み、カラーパレットO={o,o,...,oN−1}および各色oの出現回数fを得る。ここに、0≦i<Nである。
ステップ2:異なるリーフノードΘとしてツリーに各色oを挿入することにより、八分木を構築する。各リーフノードΘi,0≦i<Nに対し、その重心c=o、TSE DΘi=0、出現回数F=f,およびコードワード長
Figure 0004607953
を計算する。
ステップ3:k=Nとする。
ステップ4:2つのリーフ兄弟ノードΘおよびΘのそれぞれに対し、式(3.12)によって重心cijを、等式(3.11)によって増加したエントロピー制約コストを計算する。
ステップ5:リーフ兄弟ノードの全てのペアから、以前のステップで計算された増加エントロピー制約コストを最小化する2つのリーフ兄弟ノードΘおよびΘを選択する。ΘおよびΘのみがそれらの親の下の兄弟である場合、ΘとΘとを、ΘとΘとの親ノードに等しい新しいΘpqに統合し、そうでない場合、ΘとΘとの親ノードの下の新しい組み合わせの兄弟ノードに統合する。Θpqの重心cpq
Figure 0004607953
および、
Figure 0004607953
を計算する。
ステップ6:八分木からリーフノードΘおよびΘを除く。
ステップ7:kから1を減算する。
ステップ8:k=Mとなるまでステップ4から7を繰り返す。次に、異なるインデックスi∈Msetを最後の八分木における残りのM個のリーフノードのそれぞれに割り当てる。リーフノードの重心の整数形式は、新しいカラーパレットにおける異なる色であり、そのリーフノードの全ての色は、そのリーフノードに対応するインデックスにマッピングされる。
所望の色数に到達したとき、オリジナルの画像を量子化するための最終的なエントロピー制約コストは、
Figure 0004607953
となる。ここに、JはN個の個別の色を有するオリジナルの画像のコストであり、ΔJは2つの選択されたリーフノードを統合し、八分木のリーフノードの数をiからi−1に減らしたときの増加したコストである。八分木において2つのリーフ兄弟ノードを統合するとき、増加した最小のエントロピー制約コストを常時求めることにより、ECHMQは、エントロピー制約コストを最小化するための部分的に最適な方法を提供する。
ECHMQは、純粋なひずみTSEよりもむしろ、エントロピー制約コストを部分的に最小化することを目的とする。したがって、量子化された画像の圧縮率およびひずみは、ラグランジアン乗数λによって制御およびトレードオフされる。λの値が大きくなると、平均のひずみの値は低くなり、対応する圧縮率が大きくなる。実際、−λは、結果的として生じる圧縮率ひずみ曲線の勾配として解釈され得る。このため、ECHMQにおいて、量子化された画像の圧縮率とひずみとを変動させるために、トレードオフ因子として、λを用いる柔軟性を有している。
ECHMQの別の利点は、その計算の複雑性の低さにある。これを説明するために、まず、レベル7の32個の親ノードの下に、全てがレベル8に配置されている総数256個のリーフノードを有していると仮定する。リーフノードの個数を255に減らすために、
Figure 0004607953
個のペアのリーフ兄弟ノードに対し、増加したエントロピー制約コストを計算しなければならない。八分木構造が使用されない場合、
Figure 0004607953
個のペアに対して、増加したコストを計算しなければならない。これは、[5]において、対ごとのクラスタ化に基本的に用いられる。式(3.11)を次のように書き替える。
Figure 0004607953
リーフ兄弟ノードの各ペアに対する増加したコストの計算は、8つの加算、7つの減算、10の乗算、1つの除算、1つの対数演算が含まれていることを見ることができる。各分岐に対してヤコビ法を採用するTSEベースの階層的分岐方法[2]のような、その他の方法で用いられる高度な計算と比較して、ECHMQの計算複雑性は、非常に低い。さらに、ステップ8において、パレットおよびピクセルマッピングが容易に得られる。これもまた、文献中のその他の方法、例えば、パレット設計およびピクセルマッピングに顕著に大きな計算が含まれる文献[5]および[6]に含まれている方法にひけをとらない。
以下で説明するさらなる最適化を省略する場合、ECHMQの最後に得られる新しいカラーパレットおよびピクセルマッピングは、GIF/PNGエンコーダによって直接的に符号化され得る。具体的には、以下において、PNGエンコーダをエントロピーコーダとして用い得る。PNGエンコーダを利用可能なGIFエンコーダに置換することにより、GIFデコーダと互換性のある出力を容易に得ることができる。
(VRTCQ1)
このセクションでは、ソフトディシジョン量子化を採用することにより、GIF/PNGデコーダとの互換性を維持する一方で、量子化されたカラー画像の圧縮率とひずみとをさらに同時に最適化する。初期のカラー画像符号化スキームとしてECHMQの最後に得られるハードディシジョン量子化器を用いることにより、VRTSEをカラー画像符号化に拡大し、VRTCQ1を得る。
VRTCQ1のVRTSE設定から始める。GIF/PNGデコーダとの互換性を維持したいため、出力関数gは、どんな状態にも依存し得ない。換言すると、状態の集合Sは、sのみから構成される。この場合、状態推移関数fは省略され得、出力関数gは単にMsetからRGB空間へのマッピングであり、カラーパレットのインデックスと色の間の相関関係を定義する。トレリスデコーダは、β=gに退化(degrade)し得る。オリジナルのカラー画像x=(x,x,...,xn−1)が与えられたとき、任意のシーケンスu=(u,u,...,un−1)∈Mset に対し、
Figure 0004607953
と定義する。
(2.6)で与えられた上限を用いることにより、ひずみ制限の影響を受けるr(u)が最小化され得る。具体的には、k=1とする。しかしながら、以下で説明されている手順は、任意のkに容易に拡張可能である。
初期の出力関数g(0)および推移確率関数W(0)は、ECHMQの最後で得られるカラーパレットおよびピクセルマッピングから導出され得る。VRTCQ1の詳細な手順は、以下に記述される通りである。
ステップ1:t=0と設定する。ECHMQから(u(0)、g(0)、W(0)を得る。(u(0)=(u (0),u (0),…,un−1 (0))はハードディシジョン量子化器から生じた量子化された画像のインデックスシーケンスであり、g(0)(j),0≦j<Mは、ECHMQの最後に得られる新しいカラーパレットにおけるインデックスjに対応する色であり、任意のα∈Msetおよびw∈Msetに対し、
Figure 0004607953
となる。さらに、初期コスト
Figure 0004607953
を計算する。
ステップ2:g(t)およびW(t)を固定する。ビタビアルゴリズムを用いることにより、gをg(t)に、WをW(t)に置き換えた式(2.4)を満たすシーケンス(u(t+1)=(u (t+1),u (t+1),…,un−1 (t+1))を求める。
ステップ3:(u(t+1)を固定する。インデックスシーケンス(u(t+1)は、推移確率関数と出力関数とを、任意のα∈Msetおよびw∈Msetに対し、
Figure 0004607953
のように、また、任意のu∈Msetに対し、
Figure 0004607953
のように更新する。ここに、u (t+1)=uであるすべてのiにわたってΣが取られる。xは、オリジナルの画像におけるi番目のピクセルの色を示すことに留意されたい。
ステップ4:更新されたコスト
Figure 0004607953
を計算する。
ステップ5:J(t)−Jt+1≦ξになるまで(ξは所定の閾値)、t=0,1,2,...に対し、ステップ2から4までを繰り返す。
次に、g(t+1)および(u(t+1)を出力する。
ステップ6:[17]で記述されているPNGエンコーダを用いることにより、カラーパレットg(t+1)とインデックスシーケンス(u(t+1)とを符号化する。
ステップ2〜6は、便宜上、VRTCQ1のステージ2と呼ばれる。ここで使用されるビタビアルゴリズムは、図3に示されるグラフに図示される。ステージからステージへの増加したコストは、
−logW(u│ui−1)+d(x,g(u)) (4.13)
のように計算される。ここに、任意の0≦i<nに対し、s=uである。ステージiで状態jに到達する生存経路(survivor path)を求めるために、それぞれ3回の加算、3回の減算、および乗算が必要なM個の累積コストを比較する必要がある。したがって、全計算複雑性は、O(nM)となる。
ステージ2の最適性は、[19]の定理3に示される。全体的に、VRTCQ1は、GIF/PNGデコーダとの互換性を維持する一方で、量子化されたカラー画像の圧縮率とひずみとを同時にある程度最適化する。実験は、収束がある程度高速であること、すなわち、典型的には2回または3回のイタレーションの後、J(t)がその制限に非常に近くなることを示している。
このセクションの最後に、VRTCQ1の全体的な計算複雑性を考察する。ステージ2と比較して、VRTCQ1のステージ1、すなわちECHMQは、はるかに低い計算複雑性を有している。したがって、VRTCQ1の主な計算複雑性は、ステージ2、特にビタビアルゴリズムに存在する。ビタビアルゴリズムの各イタレーションは、計算複雑性O(nM)を有するため、VRTCQ1の全体的な計算複雑性は、Mが大きいときには、実時間圧縮に対しては、非実用的にまで高くなり得る。したがって、Mの値が大きい場合には、計算複雑性を低減することが望ましい。この問題は、VRTCQ2によって処理される。
(VRTCQ2)
Mの値が大きい場合にVRTCQ1の計算複雑性を低減するために、(2.6)とは異なる方法により、Lempel−Zivコードワード長関数の上限を設定する。このために、k次の経験的エントロピーr(u)とは異なる新しい情報量を定義する。Mは、M未満の整数とする。b(・)は、Mset={0,1,...,M−1}からM’set={0,1,...,M’−1}へのマッピングとする。bの言葉では、MsetをM’個のグループ{i∈Mset:b(i)=j}j=0,1,...,M’−1に分割する。任意のu=(u,u,...,un−1)∈Mset に対し、b(u)=(b(u),b(u),...,b(un−1))とする。
Figure 0004607953
と定義する。
r(u|b(u))の大きさは、所与のb(u)に対し、uの条件付き経験的エントロピーと呼ばれる。所望の情報量は、
Figure 0004607953
のように定義される。ここに、r(b(u))は、b(u)のk次の経験的エントロピーである。
Figure 0004607953
を示すことは、難しくない。
このため(2.6)を考慮することにより、Lempel−Zivコードワード長関数lLZは、以下のように上から制限され得る。
Figure 0004607953
ひずみの制限を受けるr(u)を最小化する代わりに、VRTCQ2のひずみ制限を受けるr (u)を最小化する。nr(u)が全てのk次の静的算術コードワード長関数L によって産出(afford)される最小のコードワード長であるのと同様に、nr (u)もまた、コードワード長関数に関連する。W(s|s)をM’ setからM’setへの確率推移関数とし、W(u|s)をM’setからMsetへの確率推移関数とする。任意のu=(u,u,...,un−1)∈Mset に対し、
Figure 0004607953
とする。
まずk次の静的算術コードを推移確率Wと共に用いてb(u)を符号化し、次に条件付きでb(u)が与えられたときにuを符号化することによってどのuが符号化されるのかを介することにより、LWS WUが可逆コードに対応するコードワード長関数であることを見ることは容易である。さらに、
Figure 0004607953
を示すことは、難しくない。
したがって、マッピングbが与えられたとき、VRTCQ2における同時最適化の問題は、
Figure 0004607953
のようになる。
具体的には、k=1とする。しかし、全ての引数および以下の手順は、一般的なkにも同様に適用される。g、W、Wが与えられたとき、(5.16)における内部最小化は、O(nM)ではなくO(nM’)の複雑性を有するビタビアルゴリズムによって解決され得る。これがあてはまる場合には、(5.15)を考慮すると、
−logW(b(u)│b(ut−1))−logW(u│b(u))+λd(x,g(u)) (5.17)
によってtが増大するのにともなって、常時コストが増大することに留意されたい。
(5.17)において、b(ut−1)を介して、第1項のみが過去に依存する。したがって、状態の集合
Figure 0004607953
と、2つの連続するステージの状態の間の完全な関連性とを有するトレリスを構築し、内部最小化問題を解決するためにトレリスにビタビアルゴリズムを実行することが可能である。ビタビアルゴリズムを実行する前に、最小のサブコスト
Figure 0004607953
を計算する。(s,x)の各組み合わせに対し、s∈M’setおよびx∈Oとなる。最小のサブコスト、および、そのペア(s,x)に対して最小のサブコストを達成する対応する色インデックスuは、ルックアップテーブルに保持される。トレリスのステージt−1における状態st−1∈M’setから、トレリスのステージtにおける状態sへの推移にわたるコストは、−logW(s│st−1)+c(s,x)である。x=(x,x,...,xn−1)が与えられたとき、s=(s,s,...,sn−1)∈M’set トレリスの最適経路である場合に、u=(u,u,...,un−1)は(5.16)において内部最小値を実現する最適なインデックスシーケンスである。ここに、u∈{i:0≦i<M,b(i)=s}は、最小コストc(s,x),t=0,1,...,n−1を達成する。
VRTCQ1と同様に、VRTCQ2は、反復的な方法で同時最適化の問題(5.16)を解決する。VRTCQ2のステージ1は、マッピングbを決定し、初期の出力関数g(0)と、推移確率関数W (0)およびW (0)を提供する。その後、最小化の問題を解決するために、VRTCQ2のステージ2は、代替的な手順を用いる。VRTCQ2の詳細な手順は、以下で記述される。
(A.ステージ1の手順)
ステップ1:オリジナルの画像でECHMQを実行して、M個のリーフノードを有する八分木Tと、そのサイズMのカラーパレットと、対応するハードディシジョンピクセルマッピングとを得る。
ステップ2:Tに基づいて、M’個のリーフノードが残されるまで、ECHMQのステップ4から7を繰り返す。
ステップ3:八分木Tから八分木TM’へのマッピングbを決定する。ここに、M’個のリーフノードは、ステップ2で得られ、TM’はTのサブツリーである。特に、Tのi番目のリーフノードがTM’のj番目のリーフノードにルーティングされるTのサブツリーに存在する場合、b(i)=j,i∈Mset,j∈M’setとなる。
(B.ステージ2の手順)
ステップ1:t=0に設定する。VRTCQ2のステージ1から、b、(u(0)、(s(0)、g(0)、W (0)、およびWs(0)を得る。ここに、(u(0)=(u (0),u (0),…,un−1 (0))は、ハードディシジョンピクセルマッピングから得られるインデックスシーケンスであり、0≦u<Mの(s(0)=(s (0),s (0),…,sn−1 (0))=b((u(0),g(0)(u))は、ステージ1のステップ1で得られる新しいカラーパレットにおけるインデックスuに対応する色であり、
Figure 0004607953
および
Figure 0004607953
となる。
さらに、初期コスト
Figure 0004607953
を計算する。
ステップ2:g(t)およびW (t)を固定する。ルックアップテーブルを構築する。(s,x)、但しs∈M’setおよびx∈Oの各ペアに対し、最小サブコスト
Figure 0004607953
を計算する。c(t)(s,x)を達成するカラーインデックスu∈{i:0≦i<M,b(i)=s}を記録する。
ステップ3:g(t)、W (t)、およびW (t)を決定する。ビタビアルゴリズムを用いることにより、トレリス(s(t+1)=(s (t+1),s (t+1),...,sn−1 (t+1))を通る最適パスを求める。上記最適パスは、bおよびルックアップテーブルと共に、gをg(t)に、WをW (t)に置換しWをW (t)に置換した(5.16)における内部最小化を達成する最適なインデックスシーケンス(u(t+1)=(u (t+1),u (t+1),...,un−1 (t+1))を決定する。
ステップ4:(u(t+1)および(s(t+1)を固定する。これら2つのシーケンスは、以下のように推移確率関数と出力関数とを更新する。
Figure 0004607953
および
Figure 0004607953
ここに、u (t+1)=uである全てのiにわたってΣを取る。
ステップ5:更新されたコスト
Figure 0004607953
を計算する。
ステップ6:J(t)−J(t+1)≦ξになるまで、t=0,1,2,...に対し、ステップ2から5を繰り返す。ここに、ξは所定の閾値である。
次に、g(t+1)および(u(t+1)を出力する。
ステップ7:カラーパレットg(t+1)およびインデックスシーケンス(u(t+1)を[17]からPNGエンコーダによって符号化する。
ステップ3で用いられるビタビアルゴリズムは、図4のグラフに図示されている。グラフにおいて、各円はグループを示し、円内の黒い点は、グループ内の全てのカラーインデックスu∈Msetを示す。
VRTCQ1と同様に、VRTCQ2の主な計算複雑性は、ステージ2に存在する。VRTCQ1のステージ2と比較すると、VRTCQ2のステージ2は、特別なステップであるステップ2を有しているが、このステップは、計算上は強いて用いられない。実際、その計算複雑性は、オリジナルの画像のサイズnに依存しないO(NM)であるため、nの値が大きいときのビタビアルゴリズムの複雑性と比較して、ごくわずかである。VRTCQ2のステージ2のステップ3のビタビアルゴリズムは、O(nM’)の計算複雑性を有し、これは、VRTCQ1で用いられるビタビアルゴリズムの計算複雑性O(nM)と比べて悪くない。したがって、M’<<Mであるとき、VRTCQ2は、VRTCQ1よりもずっと高速になる。加えて、一旦M’が決定されると、VRTCQ2の計算複雑性は、Mとは多かれ少なかれ独立になる。このことは、VRTCQ2を色が豊富な画像に対して魅力のあるものにする。Lempel−Zivコードワード長関数を上から制限するには、緩い制限(loose bound)が用いられるため、VRTCQ2で支払われる対価は、圧縮率とひずみとの間のトレードオフの言葉では、圧縮性能のわずかな損失である。
図5を参照すると、図1のコンピュータシステム10のCPU16がブロック図で示されている。図示されているように、CPU16は、ハードディシジョンモジュール40とソフトディシジョンモジュール42とを含んでいる。ハードディシジョンモジュール40は、上記で説明したように、ECHMQを提供する。ソフトディシジョンモジュール42は、上記で説明したように、VRTCQ1とVRTCQ2との両方を提供する。
上記で説明したように、ハードディシジョンモジュール40は、八分木構造を構築するためのノード作成サブモジュールと、リーフノードを選択および統合するためのノード統合サブモジュールと、リーフノードのペアの潜在的な統合に対して、そのような統合の各々に対するエントロピー制約コストインクリメントを計算するためのコスト計算サブモジュールとを含む。ハードディシジョンモジュール40と同様に、ソフトディシジョンモジュール42は、ソフトディシジョンモジュール42によるソフトディシジョン最適化の各イタレーション後に、コストのインクリメントの低下を決定するためのコスト計算サブモジュールを含む。
本発明のその他のバリエーションと改変とが可能である。例えば、上記で説明されたように、その他のソフトディシジョン最適化においてVRTCQを使用せずに、ECHMQのみを使用し、ハードディシジョンピクセルマッピングが提供され得る。代替的に、初期のハードディシジョンピクセルマッピングを実行するために、ECHMQを使用せずに、VRTCQが使用され得る。代わりに、その他いくつかの初期のハードディシジョン手順が提供され得る。さらに、その他のソフトディシジョン最適化方法は、VRTCQの代わりにECHMQと組み合わせて使用され得る。さらに、上記の説明は、計算複雑性を抑え、例えばGIF/PNGデコーダのような標準的なデコーダとの互換性を維持する一方で、量子化ひずみと圧縮率との両方をいかにして同時に処理するかに主に向けられてきたが、当業者は、その他の文脈においても同様に、ECHMQとVRTCQの両方がカラー画像データの圧縮に適用され得ることを理解し得る。このような全ての改変またはバリエーションは、本明細書に添付された請求項によって定義されるような本発明の領域および範囲内に存在すると考えることができる。
図1は、ブロック図によって、本発明の好適な実施例にしたがうコンピュータシステムを示している。 図2は、グラフによって、本発明の好適な実施例にしたがう八分木構造を示す。 図3は、グラフによって、本発明のソフトディシジョン最適化に関する局面の第1の改変にしたがうビタビアルゴリズムを示す。 図4は、グラフによって、本発明のソフトディシジョン最適化に関する局面の第2の改変にしたがうビタビアルゴリズムを示す。 図5は、ブロック図によって、図1のコンピュータシステムのCPUを示す。

Claims (42)

  1. データ処理システムを用いることにより、N個の異なる色を有するデジタル化されたカラー画像から、該デジタル化されたカラー画像における全ピクセルのM個の互いに素なクラスタへのツリー構造のパーティショニングを形成する方法であって、MはN以下であり、N個の異なる色における各色は、カラーパレットにおける複数のPビットのバイトによってデジタル的に表現され、各PビットのバイトにおけるPビットは、最上位から最下位へと順序付けられており、該方法は、
    (a)該N個の異なる色の全てを含むルートノードを提供するステップと、
    (b)該ルートノードにリンクされた兄弟ノードの第1のレベルを提供するステップであって、該N個の異なる色における各色は、該複数のPビットのバイトにおける各Pビットのバイトの第1のビットの値に基づいて、該データ処理システムにより、兄弟ノードの該第1のレベルにおける関連のあるノードに割り当てられる、ステップと、
    (c)1色よりも多い色を含むノードのk番目のレベルにおける各ノードに対し、(k+1)番目のレベルの複数の兄弟ノードを提供するステップであって、そのノードにおける各色は、該N個の異なる色の各色に対してその色のみを含む異なるリーフノードが存在するように、その色に対する該複数のPビットのバイトにおける各Pビットのバイトの(k+1)番目のビットの値に基づいて、該データ処理システムにより、該(k+1)番目のレベルの該複数の兄弟ノードにおける関連のある兄弟ノードに割り当てられる、ステップと、
    (d)M個のリーフノードのみが残されるまで、リーフノードを選択および統合するステップと
    を含む、方法。
  2. ステップ(d)は、M個のリーフノードのみが残されるまで、リーフ兄弟モードのペアを繰り返し選択および統合するステップを含む、請求項1に記載の方法。
  3. ステップ(d)は、M個のリーフノードのみが残されるまで、その統合が最小のエントロピー制約コストインクリメントを有するリーフ兄弟モードのペアを繰り返し選択および統合するステップを含む、請求項1に記載の方法。
  4. ステップ(d)は、統合前エントロピー制約総コストと統合後エントロピー制約総コストとの差を計算せずに、最小のエントロピー制約コストインクリメントを計算するステップを含む、請求項3に記載の方法。
  5. 前記N個の異なる色の各色に対する前記複数のPビットのバイトは、複数の原色の各原色に対するPビットのバイトを含む、請求項1に記載の方法。
  6. 前記複数の原色は、赤、緑、青を含む、請求項3に記載の方法。
  7. M個の異なる色を有するデジタル化された新しいカラー画像を形成するステップをさらに含み、ステップ(d)が完了した後に、該M個の異なる色と前記M個のリーフノードとの間には、1対1の対応関係が存在する、請求項1に記載の方法。
  8. N個の異なる色を有するデジタル化されたカラー画像から、該デジタル化されたカラー画像における全ピクセルのM個の互いに素なクラスタへのツリー構造のパーティショニングを形成するデータ処理システムであって、MはN以下であり、N個の異なる色における各色は、カラーパレットにおける複数のPビットのバイトによってデジタル的に表現され、各PビットのバイトにおけるPビットは、最上位から最下位へと順序付けられており、該データ処理システムは、
    (a)ノード生成手段であって、
    (i)該N個の異なる色の全てを含むルートノードを提供するステップと、
    (ii)該ルートノードにリンクされた兄弟ノードの第1のレベルを提供するステップであって、該N個の異なる色における各色は、該複数のPビットのバイトにおける各Pビットのバイトの第1のビットの値に基づいて、兄弟ノードの該第1のレベルにおける関連のあるノードへ割り当てられる、ステップと、
    (iii)1色よりも多い色を含むノードのk番目のレベルにおける各ノードに対し、(k+1)番目のレベルの複数の兄弟ノードを提供するステップであって、そのノードにおける各色は、該N個の異なる色の各色に対してその色のみを含む異なるリーフノードが存在するように、その色に対する該複数のPビットのバイトにおける各Pビットのバイトの(k+1)番目のビットの値に基づいて、該(k+1)番目のレベルの該複数の兄弟ノードにおける関連のある兄弟ノードに割り当てられる、ステップと
    のための、ノード生成手段と、
    (b)M個のリーフノードのみが残されるまで、リーフノードを選択および統合するノード統合手段と
    を含む、データ処理システム。
  9. 前記ノード統合手段は、M個のリーフノードのみが残されるまで、リーフ兄弟モードのペアを繰り返し選択および統合するように動作することが可能である、請求項8に記載のデータ処理システム。
  10. リーフノードのペアを潜在的に統合するために、そのような統合の各々に対するエントロピー制約コストインクリメントを計算するためのコスト計算手段をさらに含み、
    該コスト計算手段は、前記ノード統合手段にリンクされており、該ノード統合手段は、M個のリーフノードのみが残されるまで、該コスト計算手段で決定されるような最小のエントロピー制約コストインクリメントをその統合が有するリーフ兄弟モードのペアを繰り返し選択および統合するように動作することが可能である、請求項8に記載のデータ処理システム。
  11. 前記コスト計算手段は、統合前総エントロピー制約コストと統合後総エントロピー制約コストとの差を計算せずに、最小のエントロピー制約コストインクリメントを計算するように動作することが可能である、請求項10に記載のデータ処理システム。
  12. 前記N個の異なる色の各色に対する前記複数のPビットのバイトは、複数の原色の各原色に対するPビットのバイトを含む、請求項8に記載のデータ処理システム。
  13. 前記複数の原色は、赤、緑、青を含む、請求項10に記載のデータ処理システム。
  14. M個の異なる色を有するデジタル化された新しいカラー画像を形成するステップをさらに含み、ステップ(d)が完了した後に、該M個の異なる色と前記M個のリーフノードとの間には、1対1の対応関係が存在する、請求項8に記載のデータ処理システム。
  15. N個の異なる色を有するデジタル化されたカラー画像から、該デジタル化されたカラー画像における全ピクセルのM個の互いに素なクラスタへのツリー構造のパーティショニングを形成するように、コンピュータシステム上で用いられる命令が記録されたコンピュータ読み取り可能な記録媒体であって、MはN以下であり、N個の異なる色における各色は、カラーパレットにおける複数のPビットのバイトによってデジタル的に表現され、各PビットのバイトにおけるPビットは、最上位から最下位へと順序付けられており、
    該命令は、該コンピュータシステムに、
    (a)該N個の異なる色の全てを含むルートノードを提供するステップと、
    (b)該ルートノードにリンクされた兄弟ノードの第1のレベルを提供するステップであって、該N個の異なる色における各色は、該複数のPビットのバイトにおける各Pビットのバイトの第1のビットの値に基づいて、兄弟ノードの該第1のレベルにおける関連のあるノードに割り当てられる、ステップと、
    (c)1色よりも多い色を含むノードのk番目のレベルにおける各ノードに対し、(k+1)番目のレベルの複数の兄弟ノードを提供するステップであって、そのノードにおける各色は、該N個の個別の色の各色に対してその色のみを含む異なるリーフノードが存在するように、その色に対する該複数のPビットのバイトにおける各Pビットのバイトの(k+1)番目のビットの値に基づいて、該(k+1)番目のレベルの該複数の兄弟ノードにおける関連のある兄弟ノードに割り当てられる、ステップと、
    (d)M個のリーフノードのみが残されるまで、リーフノードを選択および統合するステップと
    を実行させる、コンピュータ読み取り可能な記録媒体
  16. ステップ(d)は、M個のリーフノードのみが残されるまで、リーフ兄弟モードのペアを繰り返し選択および統合するステップを含む、請求項15に記載のコンピュータ読み取り可能な記録媒体
  17. ステップ(d)は、M個のリーフノードのみが残されるまで、その統合が最小のエントロピー制約コストインクリメントを有するリーフ兄弟モードのペアを繰り返し選択および統合するステップを含む、請求項15に記載のコンピュータ読み取り可能な記録媒体
  18. ステップ(d)は、統合前総エントロピー制約コストと統合後総エントロピー制約コストとの差を計算せずに、最小のエントロピー制約コストインクリメントを計算するステップを含む、請求項15に記載のコンピュータ読み取り可能な記録媒体
  19. 前記N個の異なる色の各色に対する前記複数のPビットのバイトは、複数の原色の各原色に対するPビットのバイトを含む、請求項15に記載のコンピュータ読み取り可能な記録媒体
  20. 前記複数の原色は、赤、緑、青を含む、請求項15に記載のコンピュータ読み取り可能な記録媒体
  21. 前記命令が、前記コンピュータシステムに、M個の異なる色を有するデジタル化された新しいカラー画像を形成するステップを実行させることをさらに含み、ステップ(d)が完了した後に、該M個の異なる色と前記M個のリーフノードの間には、1対1の対応関係が存在する、請求項15に記載のコンピュータ読み取り可能な記録媒体
  22. 共にn個のピクセルで定義される、オリジナルのデジタル化されたカラー画像から導出された新しいデジタル化されたカラー画像に対し、ピクセルマッピングを表す新しいインデックスシーケンスと、カラーパレットを表す新しい出力関数とを導出する方法であって、該オリジナルのデジタル化されたカラー画像は、該n個のピクセルに割り当てられたN個の異なる色によって提供されており、該新しいデジタル化されたカラー画像は、該n個のピクセルに割り当てられたM個の異なる色によって提供されており、該新しいインデックスシーケンスは、該n個のピクセルを表すためのn個のインデックスメンバーを有しており、該新しい出力関数は、該n個のインデックスメンバーを該M個の色にマッピングするためのものであり、該方法は、
    (a)該オリジナルのデジタル化されたカラー画像におけるピクセルの位置に関わらず、該オリジナルのデジタル化されたカラー画像における各ピクセルの色に基づいて、該オリジナルのデジタル化されたカラー画像における全てのピクセルをM個の互いに素なクラスタに分割することにより、第1の新しいインデックスシーケンスを提供するステップであって、MはN以下である、ステップと、
    (b)該M個の互いに素なクラスタにおけるピクセルへの該M個の異なる色の1対1のマッピングを提供するために、第1の新しい出力関数を提供するステップと、
    (c)該第1の新しいインデックスシーケンスの各メンバーに対し、該第1の新しい出力関数によってそのメンバーに割り当てられている色の値が、該第1の新しい出力関数によって該第1の新しいインデックスシーケンスの少なくとも1つの他のメンバーに割り当てられている色の値にどのように相関付けられているかに基づいて、該新しいインデックスシーケンスと該新しい出力関数とをそれぞれ提供するために、該第1の新しいインデックスシーケンスと該第1の新しい出力関数とにソフトディシジョン最適化プロセスを適用するステップと
    を含む、方法。
  23. 前記新しいインデックスシーケンスは、前記新しいデジタル化されたカラー画像における各ピクセルに対し、該新しいインデックスシーケンスと前記新しい出力関数とによって該ピクセルに割り当てられた前記色の値が、該カラー画像の該ピクセルの位置に依存するように、ソフトディシジョンピクセルマッピングを提供する、請求項22に記載の方法。
  24. ステップ(c)は、反復的なソフトディシジョン最適化プロセスを適用し、各反復後に、前記オリジナルのデジタル化されたカラー画像の圧縮およびひずみを表すコスト関数におけるインクリメントの低下を決定するステップ
    を含み、該インクリメントの低下が選択された閾値を下回るときに、ステップ(c)が終了し、前記新しいインデックスシーケンスと前記新しいカラーマッピングとが決定される、請求項22に記載の方法。
  25. ステップ(c)は、
    (i)カウンタkを1に設定するステップと、
    (ii)k番目のインデックスシーケンスに対し、全ての考えられるインデックスシーケンスにわたり、k番目の出力関数とk番目の推移確率関数に対して前記コスト関数を最適化することにより、(k+1)番目のインデックスシーケンスを決定するステップと、
    (iii)該(k+1)番目のインデックスシーケンスから(k+1)番目の出力関数と(k+1)番目の推移確率関数とを決定するステップと、
    (iv)該(k+1)番目のインデックスシーケンスと、該(k+1)番目の出力関数と、該(k+1)番目の推移確率関数とから、(k+1)番目のコストを決定するステップと、
    (v)該(k+1)番目のコストと該k番目のコストとの間の(k+1)番目のコスト差を計算し、該(k+1)番目のコスト差が選択された閾値を下回るときに、新しいインデックスシーケンスと新しい出力関数として、該(k+1)番目のインデックスシーケンスと該(k+1)番目の出力関数とをそれぞれ選択し、そうでない場合は、kを1だけ増加させ、サブステップ(ii)から(v)を繰り返すステップと
    を含む、請求項24に記載の方法。
  26. ステップ(ii)において、前記所定のk番目の出力関数とk番目の推移確率関数とに対し、全ての考えられるインデックスシーケンスにわたり、前記コスト関数を最適化することによって、前記(k+1)番目のインデックスシーケンスを決定するステップは、ビタビアルゴリズムを用いることを含む、請求項25に記載の方法。
  27. ステップ(a)は、前記M個の互いに素なクラスタをM’個の互いに素なグループにグループ分けするステップをさらに含み、M’はM未満であり、
    ステップ(c)は、該M’個の互いに素なグループに関するソフトディシジョン最適化プロセスを適用するステップを含む、請求項26に記載の方法。
  28. 前記コスト関数は、MおよびM’の双方に依存する、請求項27に記載の方法。
  29. 共にn個のピクセルで定義される、オリジナルのデジタル化されたカラー画像から導出された新しいデジタル化されたカラー画像に対し、ピクセルマッピングを表す新しいインデックスシーケンスと、カラーパレットを表す新しい出力関数とを導出するデータ処理システムであって、該オリジナルのデジタル化されたカラー画像は、該n個のピクセルに割り当てられたN個の異なる色によって提供されており、該新しいデジタル化されたカラー画像は、該n個のピクセルに割り当てられたM個の異なる色によって提供されており、該新しいインデックスシーケンスは、該n個のピクセルを表すためのn個のインデックスメンバーを有しており、該新しい出力関数は、該n個のインデックスメンバーを該M個の色にマッピングするためのものであり、該データ処理システムは、
    (a)ハードディシジョンモジュールであって、
    (i)該オリジナルのデジタル化されたカラー画像におけるピクセルの位置に関わらず、該オリジナルのデジタル化されたカラー画像における各ピクセルの色に基づいて、該オリジナルのデジタル化されたカラー画像における全てのピクセルをM個の互いに素なクラスタに分割することにより、第1の新しいインデックスシーケンスを提供し、MはN以下であり、
    (ii)該M個の互いに素なクラスタにおけるピクセルへの該M個の異なる色の1対1のマッピングを提供するために、第1の新しい出力関数を提供する、
    ハードディシジョンモジュールと、
    (b)該第1の新しいインデックスシーケンスの各メンバーに対し、該第1の新しい出力関数によってそのメンバーに割り当てられている色の値が、該第1の新しい出力関数によって該第1の新しいインデックスシーケンスの少なくとも1つの他のメンバーに割り当てられている色の値にどのように相関付けられているかに基づいて、該新しいインデックスシーケンスと該新しい出力関数とをそれぞれ提供するために、該第1の新しいインデックスシーケンスと該第1の新しい出力関数とにソフトディシジョン最適化プロセスを適用するソフトディシジョンモジュールと
    を含む、データ処理システム。
  30. 前記新しいインデックスシーケンスは、前記新しいデジタル化されたカラー画像における各ピクセルに対し、該新しいインデックスシーケンスと前記新しい出力関数とによって該ピクセルに割り当てられた前記色の値が、該カラー画像の該ピクセルの位置に依存するように、ソフトディシジョンピクセルマッピングを提供する、請求項29に記載のデータ処理システム。
  31. 前記ソフトディシジョンモジュールは、(i)反復的なソフトディシジョン最適化プロセスを適用し、(ii)各反復後に、前記オリジナルのデジタル化されたカラー画像の圧縮およびひずみを表すコスト関数のインクリメントの低下を決定し、(iii)該インクリメントの低下が選択した閾値を下回るときに、該反復的なソフトディシジョン最適化プロセスを終了し、前記新しいインデックスシーケンスと前記新しいカラーマッピングとを決定するように動作することが可能である、請求項29に記載のデータ処理システム。
  32. 前記反復的なソフトディシジョン最適化プロセスは、
    (i)カウンタkを1に設定するステップと、
    (ii)k番目のインデックスシーケンスに対し、全ての考えられるインデックスシーケンスにわたり、k番目の出力関数とk番目の推移確率関数に対して前記コスト関数を最適化することにより、(k+1)番目のインデックスシーケンスを決定するステップと、
    (iii)該(k+1)番目のインデックスシーケンスから(k+1)番目の出力関数と(k+1)番目の推移確率関数を決定するステップと、
    (iv)該(k+1)番目のインデックスシーケンスと、該(k+1)番目の出力関数と、前記(k+1)番目の推移確率関数とから、(k+1)番目のコストを決定するステップと、
    (v)該(k+1)番目のコストと該k番目のコストとの間の(k+1)番目のコスト差を計算し、該(k+1)番目のコスト差が選択した閾値を下回るときに、新しいインデックスシーケンスと前記新しい出力関数として、該(k+1)番目のインデックスシーケンスと該(k+1)番目の出力関数とをそれぞれ選択し、そうでない場合は、kを1だけ増加させ、サブステップ(ii)から(v)を繰り返すステップと
    を含む、請求項31に記載のデータ処理システム。
  33. ステップ(ii)において、前記所定のk番目の出力関数とk番目の推移確率関数とに対し、全ての考えられるインデックスシーケンスにわたり、前記コスト関数を最適化することによって、前記(k+1)番目のインデックスシーケンスを決定するステップは、ビタビアルゴリズムを用いることを含む、請求項32に記載のデータ処理システム。
  34. 前記ハードディシジョンモジュールは、前記M個の互いに素なクラスタをM’個の互いに素なグループにグループ分けするように動作することが可能であり、M’はM未満であり、
    前記ハードディシジョンモジュールは、該M’個の互いに素なグループに関するソフトディシジョン最適化プロセスを適用するように動作することが可能である、
    請求項33に記載のデータ処理システム。
  35. 前記コスト関数は、MおよびM’の双方に依存する、請求項34に記載のデータ処理システム。
  36. 共にn個のピクセルで定義される、オリジナルのデジタル化されたカラー画像から導出された新しいデジタル化されたカラー画像に対し、ピクセルマッピングと、カラーパレットを表す新しい出力関数とを形成するように、コンピュータシステム上で用いられる命令が記録されたコンピュータ読み取り可能な記録媒体であって、該オリジナルのデジタル化されたカラー画像は、該n個のピクセルに割り当てられたN個の異なる色によって提供されており、該新しいデジタル化されたカラー画像は、該n個のピクセルに割り当てられたM個異なる色によって提供されており、該新しいインデックスシーケンスは、該n個のピクセルを表すためのn個のインデックスメンバーを有しており、該新しい出力関数は、該M個の色に前記n個のインデックスメンバーをマッピングするためのものであり、
    該命令は、該コンピュータシステムに、
    (a)該オリジナルのデジタル化されたカラー画像におけるピクセルの位置に関わらず、該オリジナルのデジタル化されたカラー画像における各ピクセルの色に基づいて、該オリジナルのデジタル化されたカラー画像における全てのピクセルをM個の互いに素なクラスタに分割することにより、第1の新しいインデックスシーケンスを提供するステップであって、MはN以下である、ステップと、
    (b)該M個の互いに素なクラスタにおけるピクセルへの該M個の異なる色の1対1のマッピングを提供するために、第1の新しい出力関数を提供するステップと、
    (c)該第1の新しいインデックスシーケンスの各メンバーに対し、該第1の新しい出力関数によってそのメンバーに割り当てられている色の値が、該第1の新しい出力関数によって該第1の新しいインデックスシーケンスの少なくとも1つの他のメンバーに割り当てられているカラーの値にどのように相関付けられているかに基づいて、該新しいインデックスシーケンスと該新しい出力関数とをそれぞれ提供するために、該第1の新しいインデックスシーケンスと該第1の新しい出力関数とにソフトディシジョン最適化プロセスを適用するステップと
    を実行させる、コンピュータ読み取り可能な記録媒体
  37. 前記新しいインデックスシーケンスは、前記新しいデジタル化されたカラー画像における各ピクセルに対し、該新しいインデックスシーケンスと前記新しい出力関数とによって該ピクセルに割り当てられた前記色の値が、該カラー画像の該ピクセルの位置に依存するように、ソフトディシジョンピクセルマッピングを提供する、請求項36に記載のコンピュータ読み取り可能な記録媒体
  38. ステップ(c)は、反復的なソフトディシジョン最適化プロセスを適用し、各反復後に、前記オリジナルのデジタル化されたカラー画像の圧縮およびひずみを表すコスト関数におけるインクリメントの低下を決定するステップ
    を含み、該インクリメントの低下が選択された閾値を下回るときに、ステップ(c)が終了し、前記新しいインデックスシーケンスと前記新しいカラーマッピングとが決定される、請求項36に記載のコンピュータ読み取り可能な記録媒体
  39. ステップ(c)は、
    (i)カウンタkを1に設定するステップと、
    (ii)k番目のインデックスシーケンスに対し、全ての考えられるインデックスシーケンスにわたり、k番目の出力関数とk番目の推移確率関数とに対して前記コスト関数を最適化することにより、(k+1)番目のインデックスシーケンスを決定するステップと、
    (iii)該(k+1)番目のインデックスシーケンスから(k+1)番目の出力関数と(k+1)番目の推移確率関数とを決定するステップと、
    (iv)該(k+1)番目のインデックスシーケンスと、該(k+1)番目の出力関数と、該(k+1)番目の推移確率関数とから、(k+1)番目のコストを決定するステップと、
    (v)該(k+1)番目のコストと該k番目のコストとの間の(k+1)番目のコスト差を計算し、該(k+1)番目のコスト差が選択された閾値を下回るときに、新しいインデックスシーケンスと新しい出力関数として、該(k+1)番目のインデックスシーケンスと該(k+1)番目の出力関数とをそれぞれ選択し、そうでない場合は、kを1だけ増加させ、サブステップ(ii)から(v)を繰り返すステップと
    を含む、請求項38に記載のコンピュータ読み取り可能な記録媒体
  40. ステップ(ii)において、前記所定のk番目の出力関数とk番目の推移確率関数とに対し、全ての考えられるインデックスシーケンスにわたり、前記コスト関数を最適化することによって、前記(k+1)番目のインデックスシーケンスを決定するステップは、ビタビアルゴリズムを用いることを含む、請求項39に記載のコンピュータ読み取り可能な記録媒体
  41. ステップ(a)は、前記M個の互いに素なクラスタをM’個の互いに素なグループにグループ分けするステップをさらに含み、M’はM未満であり、
    ステップ(c)は、該M’個の互いに素なグループに関するソフトディシジョン最適化プロセスを適用するステップを含む、請求項40に記載のコンピュータ読み取り可能な記録媒体
  42. 前記コスト関数は、MおよびM’の双方に依存する、請求項41に記載のコンピュータ読み取り可能な記録媒体
JP2007508692A 2004-04-21 2005-04-15 カラー画像の符号化のための方法、システム、およびソフトウェア製品 Active JP4607953B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US56403304P 2004-04-21 2004-04-21
US10/831,656 US7525552B2 (en) 2004-04-21 2004-04-23 Method, system and software product for color image encoding
PCT/CA2005/000573 WO2005104036A1 (en) 2004-04-21 2005-04-15 Method, system and software product for color image encoding

Publications (2)

Publication Number Publication Date
JP2007534239A JP2007534239A (ja) 2007-11-22
JP4607953B2 true JP4607953B2 (ja) 2011-01-05

Family

ID=35136304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007508692A Active JP4607953B2 (ja) 2004-04-21 2005-04-15 カラー画像の符号化のための方法、システム、およびソフトウェア製品

Country Status (10)

Country Link
EP (1) EP1745439B1 (ja)
JP (1) JP4607953B2 (ja)
KR (1) KR100868716B1 (ja)
CN (1) CN101065779B (ja)
AT (2) ATE447748T1 (ja)
AU (2) AU2005236504B2 (ja)
BR (1) BRPI0510076B1 (ja)
CA (1) CA2563122C (ja)
DE (2) DE602005024054D1 (ja)
SG (1) SG136944A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7525552B2 (en) 2004-04-21 2009-04-28 Slipstream Data Inc. Method, system and software product for color image encoding
CN102510434A (zh) * 2011-09-30 2012-06-20 深圳市融创天下科技股份有限公司 一种图像数据发送、恢复方法、装置及终端
HUE054084T2 (hu) * 2011-12-15 2021-08-30 Tagivan Ii Llc Luminancia-krominancia kódolt blokk jelölõk (CBF) jelzése videokódolásban
KR102257783B1 (ko) * 2013-04-08 2021-05-28 돌비 인터네셔널 에이비 Lut를 인코딩하는 방법, lut를 디코딩하는 방법 및 대응하는 장치들
GB201321851D0 (en) 2013-12-10 2014-01-22 Canon Kk Run length parameters coding for palette mode
CN105637861B (zh) * 2014-03-17 2018-11-20 富士通株式会社 基于调色板的编码装置、方法以及图像处理设备
JP6348746B2 (ja) * 2014-03-28 2018-06-27 株式会社メガチップス 画像圧縮回路および画像圧縮方法
CN105335989B (zh) * 2014-06-11 2019-04-05 富士通株式会社 图像编码方法和图像编码装置
KR101953482B1 (ko) * 2014-07-07 2019-02-28 에이치에프아이 이노베이션 인크. 인덱스 맵 부호화의 예측자로서 이스케이프 픽셀을 취급하는 방법
WO2016029420A1 (zh) * 2014-08-29 2016-03-03 富士通株式会社 基于调色板的图像编码方法、装置以及图像处理设备
WO2016048092A1 (ko) 2014-09-26 2016-03-31 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR102470832B1 (ko) 2014-10-20 2022-11-28 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2016114583A1 (ko) 2015-01-15 2016-07-21 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10477244B2 (en) 2015-01-29 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
KR102422484B1 (ko) 2015-01-29 2022-07-20 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN107455007B (zh) 2015-04-02 2021-02-09 株式会社Kt 对视频信号进行编解码的方法
US10448058B2 (en) * 2015-05-21 2019-10-15 Qualcomm Incorporated Grouping palette index at the end and index coding using palette size and run value
CN106296757A (zh) * 2015-06-09 2017-01-04 中兴通讯股份有限公司 一种图像处理方法和装置
CN109416830A (zh) * 2016-07-08 2019-03-01 深圳市大疆创新科技有限公司 用于图像处理的系统和方法
CN110070496B (zh) * 2019-02-28 2020-07-31 北京字节跳动网络技术有限公司 图像特效的生成方法、装置和硬件装置
WO2021136470A1 (en) * 2019-12-31 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. Clustering based palette mode for video coding
CN113068043B (zh) * 2020-01-02 2024-04-30 武汉金山办公软件有限公司 一种png图像压缩方法、装置、电子设备及存储介质
CN115457167B (zh) * 2022-09-21 2023-06-09 山东大学 基于色彩排序的调色板设计系统
CN116469336B (zh) * 2023-06-20 2023-08-18 联士光电(深圳)有限公司 一种彩色微显示芯片的数字驱动方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215910B1 (en) 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
JPH10173538A (ja) * 1996-12-13 1998-06-26 Hajime Matsuoka ベクトル量子化圧縮を高速化する方法
JP3847349B2 (ja) 1997-02-03 2006-11-22 シャープ株式会社 デジタル画像の埋め込み符号器、レート―歪み最適化方法、復号器及び復号方法
EP0905651A3 (en) 1997-09-29 2000-02-23 Canon Kabushiki Kaisha Image processing apparatus and method
US6160918A (en) * 1997-10-02 2000-12-12 At&T Corp. Method and apparatus for fast image compression
US6113068A (en) 1998-10-05 2000-09-05 Rymed Technologies Swabbable needleless injection port system having low reflux
GB0104939D0 (en) * 2001-02-28 2001-04-18 Ccc Network Systems Group Ltd Method and system for improved image processing

Also Published As

Publication number Publication date
KR20070026512A (ko) 2007-03-08
ATE484040T1 (de) 2010-10-15
ATE447748T1 (de) 2009-11-15
CN101065779A (zh) 2007-10-31
BRPI0510076A (pt) 2007-10-16
BRPI0510076B1 (pt) 2019-01-29
DE602005017486D1 (de) 2009-12-17
CA2563122C (en) 2012-02-28
AU2005236504A1 (en) 2005-11-03
KR100868716B1 (ko) 2008-11-13
EP1745439B1 (en) 2009-11-04
SG136944A1 (en) 2007-11-29
DE602005024054D1 (de) 2010-11-18
AU2005236504B2 (en) 2010-02-25
CN101065779B (zh) 2012-10-10
JP2007534239A (ja) 2007-11-22
CA2563122A1 (en) 2005-11-03
EP1745439A1 (en) 2007-01-24
AU2010200101A1 (en) 2010-01-28
EP1745439A4 (en) 2007-12-19
AU2010200101B2 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
JP4607953B2 (ja) カラー画像の符号化のための方法、システム、およびソフトウェア製品
US8379044B2 (en) Method, system and software product for color image encoding
US11252441B2 (en) Hierarchical point cloud compression
US11276203B2 (en) Point cloud compression using fixed-point numbers
CN111095929B (zh) 一种压缩针对点云的属性信息的系统、方法及计算机可读介质
KR100845090B1 (ko) 화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법
US7903893B2 (en) Method, system and computer program product for entropy constrained color splitting for palette images with pixel-wise splitting
Chen et al. Improved adaptive vector quantization algorithm using hybrid codebook data structure
JP6572093B2 (ja) 画像符号化装置及びその制御方法
Andrews Quantization and motion compensation for image and video compression

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100607

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100607

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100607

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4607953

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250