(57)【要約】バイト表現を用いて、カラー値を削減し、色情報において冗長性を増やすことによって画像圧縮を強化する様々な態様を実施してよい。一般に、一態様は複数のピクセルを有するデジタル画像の圧縮を強化する方法であってよく、各ピクセルは少なくとも１つの色成分を含む。その方法は少なくとも１つの色成分に対応付けられるカラー値を表す元のビット数を得ることを含む。本方法はまた、第１の減少したビット数を割り当てて複数のケース属性を表すことを含む。本方法は、第２の減少したビット数を割り当てて新しいカラー値を表すことをさらに含み、第１の減少したビット数と第２の減少したビット数の合計が元のビット数に等しい。この態様の他の実施態様は対応する、システム、装置、及びコンピュータプログラム製品を含む。【選択図】図１
2010539805.tif 000002
【特許請求の範囲】
【請求項１】
複数のピクセルを有するデジタル画像の圧縮を強化する、コンピュータ実施による方法であって、各ピクセルは少なくとも１つの色成分を含み、前記方法は、
前記少なくとも１つの色成分に対応付けられるカラー値を表す元のビット数を得ることと、
複数のケース属性を表す第１の減少したビット数を割り当てることと、
新しいカラー値を表す第２の減少したビット数を割り当てることと、
を含み、
前記第１の減少したビット数と前記第２の減少したビット数の合計が前記元のビット数に等しい、方法。
【請求項２】
前記デジタル画像のピクセルに対応付けられる元のカラー値を得ることと、
部分的には前記元のカラー値に基づいて、前記複数のケース属性から１つのケース属性を決定することと、
前記ケース属性と前記元のカラー値に基づいて、新しいカラー値を決定することと、
をさらに含み、
前記新しいカラー値が、前記元のカラー値より十分に小さく、
前記元のカラー値が、前記新しいカラー値と前記ケース属性によって表される、請求項１に記載の方法。
【請求項３】
前記ケース属性と前記新しいカラー値を２進数形式で格納することをさらに含む、請求項２に記載の方法。
【請求項４】
前記元のビット数が、８ビットを含み、
前記第１の減少したビット数が、３ビットを含み、
前記第２の減少したビット数が、５ビットを含む、請求項１に記載の方法。
【請求項５】
前記元のビット数が、８ビットを含み、前記第１の減少したビット数が、２ビットを含み、前記第２の減少したビット数が、６ビットを含む、請求項１に記載の方法。
【請求項６】
前記元のビット数が、11ビットを含み、前記第１の減少したビット数が、３ビットを含み、前記第２の減少したビット数が、８ビットを含む、請求項１に記載の方法。
【請求項７】
複数のピクセルを有するデジタル画像の圧縮を強化する、コンピュータ実施による方法であって、各ピクセルは少なくとも１つの色成分を含み、前記方法は、
前記少なくとも１つの色成分に対応付けられる第１のカラー値の範囲を得ることと、
前記第１のカラー値の範囲を複数のケース属性に割り当てることと、
部分的には、前記複数のケース属性に基づいて、第２のカラー値の範囲を決定することと、を含み、
前記第２の範囲が、前記第１の範囲より十分に小さく、前記第２の範囲と前記複数のケース属性の積が、前記第１の範囲に等しい、方法。
【請求項８】
前記少なくとも１つの色成分が、ＲＧＢ色空間の赤、緑、または青の色成分を含む、請求項７に記載の方法。
【請求項９】
前記第１の範囲が、256個のカラー値を含み、前記複数のケース属性が、８個のケース属性を含み、前記第２の範囲が、32個のカラー値を含む、請求項７に記載の方法。
【請求項１０】
前記第１の範囲が、256個のカラー値を含み、前記複数のケース属性が、16個のケース属性を含み、前記第２の範囲が、16個のカラー値を含む、請求項７に記載の方法。
【請求項１１】
前記第１の範囲が、256個のカラー値を含み、前記複数のケース属性が、４個のケース属性を含み、前記第２の範囲が、64個のカラー値を含む、請求項７に記載の方法。
【請求項１２】
コンピュータ可読な媒体にコード化され、複数のピクセルを有するデジタル画像の圧縮を強化するように作動する、データ処理装置に対して動作を行わせるコンピュータプログラム製品であって、各ピクセルは少なくとも１つの色成分を含み、前記動作が、
前記少なくとも１つの色成分に対応付けられるカラー値を表す元のビット数を得ることと、
複数のケース属性を表す第１の減少したビット数を割り当てることと、
新しいカラー値を表す第２の減少したビット数を割り当てることと、
を含み、
前記第１の減少したビット数と前記第２の減少したビット数の合計が前記元のビット数に等しい、コンピュータプログラム製品。
【請求項１３】
データ処理装置にさらに動作を行なわせる、請求項１２に記載のコンピュータプログラム製品であって、前記動作が、
前記デジタル画像のピクセルに対応付けられる元のカラー値を得ることと、
部分的に前記元のカラー値に基づいて、前記複数のケース属性から１つのケース属性を決定することと、
前記ケース属性と前記元のカラー値に基づいて、新しいカラー値を決定することと、を含み、
前記新しいカラー値が、前記元のカラー値より十分に小さく、
前記元のカラー値が、前記新しいカラー値と前記ケース属性によって表される、コンピュータプログラム製品。
【請求項１４】
データ処理装置にさらに動作を行なわせる、請求項１３に記載のコンピュータプログラム製品であって、前記動作が、前記ケース属性と前記新しいカラー値を２進数形式で格納することを含む、コンピュータプログラム製品。
【請求項１５】
前記元のビット数が、８ビットを含み、前記第１の減少したビット数が、３ビットを含み、前記第２の減少したビット数が、５ビットを含む、請求項１２に記載のコンピュータプログラム製品。
【請求項１６】
前記元のビット数が、８ビットを含み、前記第１の減少したビット数が、２ビットを含み、前記第２の減少したビット数が、６ビットを含む、請求項１２に記載のコンピュータプログラム製品。
【請求項１７】
前記元のビット数が、11ビットを含み、前記第１の減少したビット数が、３ビットを含み、前記第２の減少したビット数が、８ビットを含み、請求項１２に記載のコンピュータプログラム製品。
【請求項１８】
コンピュータ可読な媒体にコード化され、複数のピクセルを有するデジタル画像の圧縮を強化するように作動する、データ処理装置に対して動作を行わせるコンピュータプログラム製品であって、各ピクセルは少なくとも１つの色成分を含み、
前記動作が、
前記少なくとも１つの色成分に対応付けられる第１のカラー値の範囲を得ることと、
前記第１のカラー値の範囲を複数のケース属性に割り当てることと、
部分的には、前記複数のケース属性に基づいて、第２のカラー値の範囲を決定することと、を含み、
前記第２の範囲が、前記第１の範囲より十分に小さく、前記第２の範囲と前記複数のケース属性の積が、前記第１の範囲に等しい、コンピュータプログラム製品。
【請求項１９】
前記少なくとも１つの色成分が、ＲＧＢ色空間の赤、緑、または青の色成分を含む、請求項１８に記載のコンピュータプログラム製品。
【請求項２０】
前記第１の範囲が、256個のカラー値を含み、前記複数のケース属性が、８個のケース属性を含み、前記第２の範囲が、32個のカラー値を含む、請求項１８に記載のコンピュータプログラム製品。
【請求項２１】
前記第１の範囲が、256個のカラー値を含み、
前記複数のケース属性が、16個のケース属性を含み、
前記第２の範囲が、16個のカラー値を含む、請求項１８に記載のコンピュータプログラム製品。
【請求項２２】
前記第１の範囲が、256個のカラー値を含み、
前記複数のケース属性が、４個のケース属性を含み、
前記第２の範囲が、64個のカラー値を含む、請求項１８に記載のコンピュータプログラム製品。
【請求項２３】
ＲＧＢ色空間から新しい色空間への色空間変換を実行するように構成される変換モジュールと、
予測符号化を実行するように構成される符号化モジュールと、
複数のケース属性及び新しいカラー値に基づくバイトの表現を使用して、カラー値における冗長性を増やすための手段と、
前記バイト表現に基づいて画像圧縮を実行するように構成される画像圧縮器と、
を含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願との相互参照
本出願は２００７年９月１１日出願の名称「画像圧縮強化のためのバイト表現」の米国特許仮出願第60/971,485号による優先権の特典を主張し、その全体は、参照により組み込んだものとする。
【０００２】
本開示は、概して、バイト表現を使用して画像圧縮（可逆圧縮及び非可逆圧縮）を強化することに関する。
【背景技術】
【０００３】
従来の画像圧縮技術は通常、データが圧縮プロセスにおいて捨てられるかどうかによって、「可逆」または「非可逆」と呼ばれる。従来の可逆圧縮技術の例には、ハフマン符号化、算術符号化及びファノ-シャノン符号化が含まれる。可逆圧縮では、伸張プロセスは、完全な元の画像を再生する。可逆圧縮は、医学及び宇宙科学のようなアプリケーションで出てくる画像にとって重要になることがある。そのような状況では、圧縮アルゴリズムは、圧縮される画像が伸張されるある後の時点で必要あるいは有用でさえある可能性のあるどんな情報も捨てることを回避するように実装される。
【０００４】
他方、非可逆圧縮は、若干のデータが捨てられるので、速度及び格納に関して、可逆圧縮より大きな効果をもたらす。結果的に、入力データと比較してある程度の不正確さが許容できる場合に、非可逆技術は使用される。たとえば、非可逆圧縮は、ビデオまたは商業画像処理において多用される。一般に普及している２つの非可逆画像圧縮の規格は、MPEG（Motion Picture Experts Group）及びJPEG（Joint Photographic Experts Group）圧縮方法である。
【０００５】
圧縮技術は、画像処理システムのほかに、「ビデオ・オン・デマンド」アプリケーションのためにビデオサーバーに組み込んでよい。圧縮技術は、ストリーミングビデオ、たとえば通信リンク上のビデオ映像のリアルタイム記録と表示に適用してもよい。ストリーミングビデオのアプリケーションには、テレビ電話、遠隔セキュリティシステム、及びその他のタイプのモニタリングシステムを含めてよい。 
【発明の概要】
【０００６】
本明細書は、バイト表現を使用してカラー値(color value)を減らし色情報において冗長性を増やして、可逆圧縮及び非可逆圧縮に対して画像圧縮を強化することに関する様々な態様を記載している。圧縮アルゴリズムは一般に、デジタルフォーマットにおける冗長な情報を除くことによって、データサイズを減らす。したがって、本バイト表現を使って増加した冗長性によって、可逆画像圧縮器は、圧縮をより効果的に行い、データを格納するのに必要な帯域幅の量を減らすことが可能になる。本バイト表現は、画像（例えばビットマップ画像）または他のデジタルオブジェクトのデータファイルに適用してよい。
【０００７】
一般に、一態様は、複数のピクセルを有するデジタル画像の圧縮を強化する方法であってよく、各ピクセルが少なくとも１つの色成分を含み、その方法は前記少なくとも１つの色成分に対応付けられるカラー値を表す元のビット数を得ることを含む。その方法はまた、第１の減少したビット数を割り当てて複数のケース属性を表すことを含む。本方法は、第２の減少したビット数を割り当てて、新しいカラー値を表すことを更に含む。ここで、前記第１の減少したビット数と第２の減少したビット数の合計は、前記の元のビット数に等しい。この態様の他の実施態様は対応する、システム、装置、及びコンピュータプログラム製品を含む。
【０００８】
別の一般的な態様は、複数のピクセルを有するデジタル画像の圧縮を強化する方法であってよく、各ピクセルが少なくとも１つの色成分を含み、その方法は前記少なくとも１つの色成分に対応付けられる第１のカラー値の範囲を得ることを含む。本方法はまた、複数のケース属性に前記第１のカラー値の範囲を割り当てることを含む。本方法は、部分的には前記複数のケース属性に基づき、第２のカラー値の範囲を決定することを更に含む。そして、その第２の範囲は、前記第１の範囲より十分に小さく、第２の範囲と前記複数のケース属性の積は、前記第１の範囲に等しい。この態様の他の実施態様は対応する、システム、装置、及びコンピュータプログラム製品を含む。
【０００９】
さらに別の一般的な態様は、１つのシステムであってよく、そのシステムは、ＲＧＢ色空間から新しい色空間に色空間変換を実行するように構成される変換モジュールを含む。本システムはまた、予測符号化を実行するように構成される符号化モジュールを含む。システムは、複数のケース属性と新しいカラー値とに基づくバイト表現を使用して、カラー値に冗長性を増やす手段を更に含む。システムは、本バイト表現に基づく画像圧縮を実行するように構成される画像圧縮器を含む。
【００１０】
これらと他の一般的な態様は、次の具体的な態様の１つ又は複数を任意に含んでよい。本方法は、デジタル画像のピクセルに対応付けられる元のカラー値を得ることを含んでよい。方法はまた、部分的には元のカラー値に基づいて、複数のケース属性から１つのケース属性を決定することを含んでよい。本方法は、ケース属性及び元のカラー値に基づいて新しいカラー値を決定することを更に含んでよく、新しいカラー値は、元のカラー値より十分に小さい。そして、元のカラー値は、新しいカラー値とケース属性によって表される。本方法は、ケース属性と新しいカラー値を２進数形式に格納することを更に含んでよい。
【００１１】
一実施態様では、元のビット数は、８ビットに基づく。第１の減少したビット数は３ビットに基づき、そして、第２の減少したビット数は５ビットに基づく。別の実施態様では、元のビット数は、８ビットに基づく。第１の減少したビット数は２ビットに基づき、そして、第２の減少したビット数は６ビットに基づく。更なる実施態様では、元のビット数は、11ビットに基づく。第１の減少したビット数は３ビットに基づき、そして、第２の減少したビット数は８ビットに基づく。
【００１２】
いくつかの実施態様では、前記少なくとも１つの色成分は、ＲＧＢ色空間の赤、緑、または青の色成分を含む。一実施態様では、前記第１の範囲は256個のカラー値を含み、前記複数のケース属性は８個のケース属性を含む。そして、前記第２の範囲は32個のカラー値を含む。別の実施態様では、前記第１の範囲は256個のカラー値を含み、前記複数のケース属性は16個のケース属性を含む。そして、前記第２の範囲は16個のカラー値を含む。更なる別の実施態様においては、前記第１の範囲は256個のカラー値を含み、前記複数のケース属性は４個のケース属性を含む。そして、前記第２の範囲は64個のカラー値を含む。
【００１３】
全般的で具体的な態様は、システム、方法、またはコンピュータプログラムを使用して、あるいは、システム、方法、及びコンピュータプログラムの任意の組合せを使用して、実施してよい。１つ又は複数の実施態様の詳細は、添付の図面と以下の説明に述べられる。他の特徴、態様及び利点は、説明、図面、及び請求範囲より明らかになる。
【００１４】
これらと他の態様は、以下の図面を参照して詳細に説明される。
【図面の簡単な説明】
【００１５】
【図１】本バイト表現をどのように実施して、可逆圧縮アルゴリズムを強化できるかについて説明しているフローチャートである。
【図２Ａ】本バイト表現を使って、元のカラー値がどのようにケース属性番号と新しいカラー値とに変換できるかの概念図である。
【図２Ｂ】従来のカラー値から本バイト表現のケース属性番号への変換を示しているテーブルである。
【図２Ｃ】本バイト表現を使用してケース属性番号及び新しいカラー値の冗長性を示しているテーブルである。
【図３Ａ】従来のカラー値をバイト表現に変換するプロセスを説明しているフローチャートである。
【図３Ｂ】本バイト表現から元のカラー値を復元するプロセスを説明しているフローチャートである。
【図４Ａ】JPEG圧縮において使用される残余予測値を示すテーブルである。
【図４Ｂ】各カテゴリーの残余予測値から本バイト表現のケース属性番号への変換を示すテーブルである。
【図５】本バイト表現をどのように実施して、ダークメソッド符号化アルゴリズムを強化できるかについて説明しているフローチャートである。
【図６】本バイト表現を使って画像圧縮を強化することの有利性を例証している。
【図７】本バイト表現を使って強化された画像圧縮を実行する計算装置及び計算機システムのブロック図である。     様々な図面の同じ参照符号は同様な要素を示している。
【発明を実施するための形態】
【００１６】
図１は、本バイト表現をどのように実施して可逆圧縮アルゴリズムを強化してよいかについて説明しているフローチャートである。プロセス100Aは、代表的な可逆圧縮アルゴリズムをデジタル画像に適用することに関わるステップを説明している。たとえば、110で、元のデジタル画像に対して、色空間変換が実行される。一実施態様では、元のデジタル画像がＲＧＢ色空間によって表現されている場合、ステップ110はたとえばＲＧＢ色空間を、例えば、YCrCbまたはYCgCbのような別の色空間に変換することができる。120で、予測符号化アルゴリズムが、変換された色空間に適用される。予測符号化を用いて、連続するピクセル間で冗長性を取り除くことできる。さらに、実際の値と予測値間の残余を符号化してよい。予測符号化アルゴリズムが適用されたら、130で、可逆圧縮アルゴリズムを使用し、デジタル画像のサイズを削減する。たとえば、可逆圧縮アルゴリズムは、ランレングス符号化（RLE）、レンペル-ジフ-ウェルチ（LZW）圧縮、そして、ZIPまたはRARのすべてのトポロジー（例えばbzip、7zip、Pkzip、winace）などでよい。
【００１７】
プロセス100Bは、本バイト表現を画像圧縮アルゴリズム（どんな種類の圧縮アルゴリズムであってもよい）に適用し、デジタル画像の圧縮を強化することに関わるステップを説明している。一実施態様では、予測符号化アルゴリズムが適用されたら、画像圧縮器（どんな種類の非可逆圧縮器または可逆圧縮器でもあってよい）が実施される前に、本バイト表現を使用しデジタル画像により多くの冗長性を作り出すことができる。本バイト表現の詳細は、以下でさらに議論される。
【００１８】
本バイト表現を使用して、情報を失うことなく色情報の表現を変えて、色情報においてより多くの冗長性を作り出すことができる。バイト表現を得るプロセスは、例として24ビットカラー画像を使って説明してよい。利用できる合成色の総計は、各原色成分に使用されるビットの数に依存する。典型的な今日のコンピュータディスプレイでは各ピクセルに対して合計24ビットの情報、即ち24ビットトゥルーカラーと呼ばれるフォーマットが使用される。これは、赤、緑、及び青のそれぞれに対する８ビットに対応し、そして、各原色に対して256個の可能なトーンまたはカラー値の範囲を与える。24ビットトゥルーカラー・スキームでは、たとえ人間の視覚ではおよそ1000万個の別々の色だけしか区別できないとしても、およそ1670万個の別々の色が再現できる。人間の視覚の反応は、目の状態と人の年齢によって１人１人異なる。
【００１９】
上で述べたように、各色は８ビット（または１バイト）で表現できる。その結果、２進表現を使って、256個の可能なカラー値が可能になる。一実施態様において、256個のカラー値は２つの下部構造から成るバイト表現に変換することができる。その下部構造の１つは新しいカラー値を含み、他の下部構造は前記新しいカラー値のケース属性を含む。たとえば、データの所与のバイト表示に対して、１つの下部構造（例えば新しいカラー値）のために、７ビットを選び、他の下部構造（例えばケース属性）のために、１ビットを選ぶことができる。さらに、各下部構造に対するビット数の分解は、６ビット＋２ビット、５ビット＋３ビット、４ビット＋４ビット、などであってよい。
【００２０】
図２Ａは、元のカラー値が、本バイト表現を使って、ケース属性番号と新たなカラー値によって新しいカラー値にどのように変換できるかの概念図である。いくつかの実施態様では、新しいカラー値と属性に対する下部構造の５ビット＋３ビットの表現が好ましい可能性がある。２進法では、最初の５ビットを使用して最大32個の新しいカラー値を表すことができる。また、残りの３ビットで、最大８個のケース属性を得ることができる。このように、元の256個のカラー値は、（最後の３ビットによって示される）８個の可能なケース属性のうちの１つと（最初の５ビットによって示される）32個の可能な新しいカラー値とによって表すことができる。このように、今や、各色を表す可能なカラー値（256に対して32）はより少ないので、カラー値での冗長性の量を増やすことができる。
【００２１】
例として、図２Ｂは、元の256個のカラー値をどのように８個の可能なケース属性のうちの１つに割り当ててよいかについて示している。たとえば、元のカラー値が０から31の範囲にあるならば、カラー値には、「000」という対応する３ビット２進表現を有する０のケース属性番号を割り当てることができる。同様に、元のカラー値が192から223の範囲にあるなら、カラー値には、「110」という対応する３ビット２進表現を有する６のケース属性番号を割り当てることができる。
【００２２】
図２Ｃは、本バイト表現を使用してケース属性番号及びカラー値の冗長性を示すテーブルである。上記のように（例えば，図２Ａ）、元のカラー値（0〜255）の各々は、１つのケース属性番号（0〜7）と１つの新しいカラー値（0〜31）によって表すことができる。たとえば、元のカラー値が240であるならば、図２Ｂの変換テーブルを使用すると，240が224から255の範囲内にあるので、７というケース属性番号を得ることができる。さらに、ケース属性#7の中で、新しいカラー値（０から31の範囲に亘る）は、以下の式を使って決定することができる：新しいカラー値＝元のカラー値 − (ケース属性番号×32)。したがって、240という元のカラー値は16という新しいカラー値に変換することができる。その16は、240−(7×32)＝16である。このように、240という元のカラー値は、16という新しいカラー値と７というケース属性番号とによって表すことができる。
【００２３】
また、元のカラー値が80であるならば、図２Ｂの変換テーブルを使用すると、80が64から95の範囲内にあるので、２というケース属性番号を得ることができる。さらに 上で述べた式を使って 80という元のカラー値に対して、16という新しいカラー値を割り当てることができる。このように、80という元のカラー値は、16という新しいカラー値と２というケース属性番号とによって表すことができる。元のカラー値80と240が両方とも16という同じ新しいカラー値を持つ点に留意することは、重要である。したがって、範囲が0-255から0-31に減らされたので、本バイト表現は、新しいカラー値による冗長の数を増やすことができる。たとえば、元のカラー値12と44は両方とも、本バイト表現を使用すると、12という同じ新しいカラー値を有する。また、元のカラー値99と131は両方とも、本バイト表現を使用すると、３という同じ新しいカラー値を有する。
【００２４】
さらにまた、本バイト表現は、ケース属性番号による冗長の数を増やすこともできる。たとえば、元のカラー値77と80は両方とも、本バイト表現を使用すると、２という同じケース属性番号を有する。また、元のカラー値130と131は両方とも、本バイト表現を使用すると、４という同じケース属性番号を有する。このように、図２Ｃの表２は、色情報に冗長性を作り出すことにおいて本バイト表現の力を示している。たとえば、10個の元の非冗長なカラー値に対して、ケース属性番号では２つの冗長と、新しいカラー値では３つの冗長とがある。したがって、本バイト表現を使用すると、より多くのデータ冗長性の可能性があるので、画像圧縮器の効果を向上させることができる。
【００２５】
図３Ａは、従来のカラー値をバイト表現に変換するプロセス300Aを説明しているフローチャートである。310で、プロセス300Aは、デジタル画像に対応するカラー値を得る。そのデジタル画像は静止画像、ビデオ画像、デジタルオブジェクト、などであってよい。さらに、上述したように、画像圧縮アルゴリズムは通常、ステップ310に先立って色空間変換を実行する。320で、プロセス300Aは、得られたカラー値に対応するケース属性番号を決定する。たとえば、図２Ｂに戻って参照するに、得られたカラー値が64から95の範囲内にあるならば、プロセス300Aは、得られたカラー値に対して２というケース属性番号を割り当てることになる。ケース属性番号が決定されたら、330で、プロセス300Aは、３ビット２進数形式を使って、ケース属性番号を表すことができる。たとえば、属性番号が２である場合には、３ビット２進表現は「010」である。
【００２６】
次に、プロセス300Aは、そのケース属性内で新しいカラー値を決定する。その値は０から31の範囲である。上述したように、新しいカラー値は、以下の式を使って決定することができる：新しいカラー値＝元のカラー値 − (ケース属性番号×32)。たとえば、図２Ｃに戻って参照するに、元のカラー値が130であるならば、プロセス300Aは、130が128から159の範囲内にあるので、ケース属性番号が４でなければならないと決定することができる。さらに、決定したケース属性番号を使って、プロセス300Aは、新しいカラー値を２と計算することができる。このように、130という元のカラー値は、２という新しいカラー値と、４というケース属性番号とによって表わすことができる。350で、プロセス300Aは、５ビット２進数を使って、新しいカラー値を表す。たとえば、２という新しいカラー値に対しては、５ビット２進数は、「00010」である。
【００２７】
元のカラー値が本バイト表現を使って、ケース属性番号と新しいカラー値とに変換されたら、360で、プロセス300Aは、３ビット表現値（ケース属性番号）及び５ビット表現値（新しいカラー値）を記憶装置に格納する。その記憶装置は、例えば、コンピュータメモリまたはフラッシュ記憶ドライブであってよい。さらに、格納された本バイト表現値を画像圧縮器への入力として使用してよく、その圧縮器は、例えば、任意の種類の可逆圧縮器または非可逆圧縮器であってよい。
【００２８】
図３Ｂは、本バイト表現から元のカラー値を復元するプロセス300Bを説明しているフローチャートである。375で、プロセス300Bは、本バイト表現のケース属性番号及び新しいカラー値を得る。たとえば、図２Ｃに戻って参照し、プロセス300Bが２というケース属性番号及び13という新しいカラー値を得たと仮定する。380で、プロセス300Bは、例えば、図２Ｂの表１で示すように、そのケース属性番号に対応する範囲の内で、カラー値の最も小さい数を決定する。たとえば、図２Ｂは、ケース属性番号２は、64という最も小さい数を有することを示している。次に、プロセス300Bは、390で、そのカラー値の最も小さい数及び新しいカラー値に基づいて元のカラー値を決定する。たとえば、最も小さい数が64であり、新しいカラー値が13であるとすると、プロセス300Bは、元のカラー値が77であると決定することができる。その77は64＋13 ＝ 77である。同様に、５というケース属性番号（ケース属性番号５に対応する範囲の内で、160という最も小さい数を有する）と５という新しいカラー値とを使用して、165という元のカラー値を復元することができる。その165は160 ＋５＝165である。
【００２９】
図４Ａは、JPEG圧縮において使用される残余予測値を示すテーブルである。図４Ａは、残余予測値の17のカテゴリー（カテゴリー０からカテゴリー16まで）を示している。たとえば、カテゴリー１は-１または１の残余値を有する。カテゴリー６は、-63から-32と32から63という残余値を有する。また、カテゴリー15は-32767から-16384及び16384から32767という残余値を有する。そして、カテゴリー16は32768という残余値を有する。
【００３０】
上述したように、本バイト表現を使用して、デジタル画像の符号化において冗長性を増やすことができる。たとえば、図４Ａのカテゴリー15は、-32767から-16384及び16384から32767の残余値を有し、それは16,394個の異なる独立した残余値を与える。本バイト表現を使って16,394個の残余値を８個の異なるケース属性に変換すると、2048個のケース残余値からなる範囲を得ることができる。
【００３１】
図４Ｂは、各カテゴリーの残余予測値から本バイト表現のケース属性番号への変換を示すテーブルである。たとえば、ケース属性#0は、2048から2303の範囲内の残余値を表すのに用いることができる。ケース属性#1は、2304から2559の範囲内の残余値を表すのに用いることができるなどである。このように、カテゴリー15の元の16,394個の残余値（図４Ａに示される）は、８個の異なるケース属性（３ビット表現）によって、256個の新しい残余値（８ビット表現）に減らすことができる。
【００３２】
例えば、残余予測の数が23,456であると仮定する。図４Ａを使って、残余予測値がカテゴリー15の範囲に入ると決定することができる。さらに、23,456を８で割ることによって、2,932という値を得ることができる。図４Ｂを使って、新しい残余予測値（2,932）がケース属性#3の範囲（2816から3071）に入ると決定することができる。さらに、新しい値は、以下の式を使って決定することができる：新しい残余値＝ケース残余値 − （（ケース属性番号＋８）×256）。すなわち、2932に対する新しい残余値は，116であり、その116は2932−（（３＋８）×256）＝116である。このように、画像圧縮器に対する入力データは、単に15-3-116（カテゴリー15;ケース属性#3;116という新しい残余値）であってよい。残余値の範囲の（16,384から256に）削減された結果として、デジタル画像の符号化の結果には、より多くの冗長性が存在してよい。
【００３３】
図５は、本バイト表現を使用してダークメソッド符号化アルゴリズムを強化するプロセス500を説明しているフローチャートである。ダークメソッド符号化プロセスの詳細は、「画像の向上及び圧縮」という名称の同時係属出願に見ることができ、その出願は2006年９月１４日出願のPCT出願である。ダークメソッド符号化アルゴリズムは非可逆圧縮アルゴリズムであり、そして、本バイト表現を用いて、画質を失うことなくデジタル画像の圧縮をさらに強化することができる。たとえば、本バイト表現は、ダークメソッド符号化プロセスの順方向離散コサイン変換ステップ550の後に、組み入れてよい。
【００３４】
図６は、本バイト表現を使って画像圧縮を強化することの有利性を例証している。一実施態様では、CPD（コンプレッサ・フォトデファイナー：Compressor Photo Definer）と名付けられたベータソフトウェアパッケージが使用され、本バイト表現によって画像サイズをさらに減らす能力が実証された。CPDソフトウェアパッケージは、様々な元の画像フォーマット、たとえばbmp、tiff、pcx、targa、rasなどから、データを読み込むことができる。先に述べたように、CPDは受け取る画像フォーマットを24ビットトゥルーカラーRGBフォーマットに変換することができる。その後、ソフトウェアパッケージは、ＲＧＢ色空間から、例えば、YCrCb色空間に変換することによって、色空間変換を実行する。さらに、ソフトウェアパッケージは予測符号化アルゴリズムを適用する。最後に、ソフトウェアパッケージは可逆圧縮器を使用し、画像圧縮を実行する。一実施態様では、先に述べた本バイト表現は、ソフトウェアパッケージにおいて、可逆圧縮の前に実施してよい。したがって、本バイト表現を有する圧縮画像は、Rc7またはCPDファイル形式で保存される。
【００３５】
例証として、1.12MBの画像サイズの元の画像は、３つの異なる可逆圧縮アルゴリズムTiff-LZW、PNG、及びCPDを使用して圧縮された。図６で示すように、たとえば、「kodim01」と名付けられた画像ファイルに対して、Tiff-LZW可逆圧縮では、887kbの圧縮した画像サイズが得られる。PNG可逆圧縮では、720kbの圧縮した画像サイズが得られる。そして、Rc7（またはCPD）可逆圧縮（本バイト表現を組み込む）では、534kbの圧縮した画像サイズが得られる。したがって、CPD可逆圧縮フォーマットは、従来の圧縮アルゴリズムより25%以上小さい画像圧縮サイズをもたらすことができる。
【００３６】
WinZipのような市販のソフトウェアパッケージと比較したとき、Rc7またはCPD可逆圧縮はまた、相当な改善を達成することができる。たとえば、193kbのファイルサイズのビットマップ画像に対して、ZIP形式の圧縮フォーマットでは、ファイルサイズは163kbにしか減らず、そして、7zip圧縮フォーマットでは、ファイルサイズは144kbにしか減らない。それにひきかえ、Rc7またはCPD可逆圧縮アルゴリズムを用いると、そのアルゴリズムには本バイト表現が組み込まれデータ冗長性を増やして画像圧縮を強化しており、193kbの元のファイルサイズは97kbに削減された。これは、ビットマップ・ファイルの圧縮においてWinZipの能力に対して約50%の以上の改善である。
【００３７】
図７は、例えば、強化された画像圧縮を実施するのに使用できる計算装置及び計算機システムのブロック図である。計算装置700は、様々な形態のデジタルコンピュータ、例えばラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバー、ブレード・サーバー、メインフレーム、及び他の適切なコンピュータなどを示すことを意図している。ここで示されている構成要素、それらの接続と関係、及びそれらの機能は、例示となることのみを意図し、この明細書で記述され、及び／又は、請求される発明の態様を制限することを意図していない。
【００３８】
計算装置700はプロセッサ702と、記憶704と、記憶装置706と、記憶704及び高速拡張ポート710に接続する高速インタフェース708と、そして低速バス714及び記憶装置706に接続する低速インタフェース712とを含む。構成要素702、704、706、708、710と712のそれぞれは、様々なバスを使って相互接続され、必要に応じ、共通のマザーボードに、または、他の方法で搭載されてよい。プロセッサ702は、記憶704または記憶装置706に格納され、例えば高速インタフェース708に結合されるディスプレイ716のような外部入出力装置上にGUI用グラフィック情報を表示する命令を含め、計算装置700内の実行用命令を処理することができる。
【００３９】
他の実施態様では、複数の記憶及び複数の種類の記憶とともに、複数のプロセッサ及び／又は複数のバスが適宜使用されてよい。また、複数の計算装置700は（例えば、サーバー・バンク、一群のブレード・サーバー、またはマルチプロセッサシステムとして）結合され、それぞれは必要な動作の一部を行ってよい。記憶704は、計算装置700内の情報を格納する。一実施態様では、記憶704はコンピュータ可読な媒体である。一実施態様では、記憶704は揮発性メモリの単一または複数のユニットである。別の実施態様では、記憶704は不揮発性メモリの単一または複数のユニットである。
【００４０】
記憶装置706は、大容量記憶を計算装置700に提供することができる。一実施態様では、記憶装置706はコンピュータ可読の媒体である。様々な異なる実施態様では、記憶装置706はフロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリまたは他の類似の固体記憶装置であってよく、あるいはストレージ・エリア・ネットワークまたは他の構成にある装置を含め、多数並んだ装置であってよい。一実施態様では、コンピュータプログラム製品は、情報担体に実体的に表現される。コンピュータプログラム製品は、実行される場合、上述の方法のような、１つ又は複数の方法を実行する命令を含む。情報担体は、コンピュータ可読または機械可読な媒体、例えば記憶704、記憶装置706、プロセッサ702上のメモリ、または伝達される信号などである。
【００４１】
高速コントローラ708は計算装置700の帯域幅の消費が多い動作を扱い、そして低速コントローラ712は帯域幅の消費がより少ない動作を扱う。任務のこのような配分は、例示としてのみである。一実施態様では、高速コントローラ708は、記憶704、ディスプレイ716（例えば、グラフィックプロセッサまたはアクセラレータを経由して）、そして、高速拡張ポート710に接続される。その拡張ポートは様々な拡張カード（図示せず）に対応できる。本実施態様では、低速コントローラ712は、記憶装置706及び低速拡張ポート714に接続される。低速拡張ポートは様々な通信ポート（例えばUSB、ブルートゥース、イーサネット（登録商標）、無線イーサネット（イーサネットは登録商標））を含んでよいが、これは、１つ又は複数の入力/出力装置、例えばキーボード、ポインティングデバイス、スキャナ、または、スイッチまたはルータのようなネットワーク装置などに、例えばネットワークアダプタによって接続してよい。
【００４２】
図で示すように、計算装置700は、多くの異なる形態で実施してよい。例えば、それは標準的なサーバー720として、またはそのようなサーバーの一群の複数倍として実施してよい。それはまた、ラックサーバーシステム724の一部として実施してもよい。さらに、それはラップトップコンピュータ722のようなパソコンで実施してもよい。あるいは、計算装置700の構成要素は、装置750のように、携帯機器の他の構成要素（図示せず）と結合してもよい。そのような装置の各々は１つ又は複数の計算装置700、750を含んでよく、そして、システム全体は互に通信する複数の計算装置700、750から構成されてよい。
【００４３】
計算装置750は、プロセッサ752、記憶764、ディスプレイ754のような入出力装置、通信インタフェース766、そして、特にトランシーバー768を含む。装置750は、記憶装置、例えばマイクロドライブまたは他の装置なども備えて、さらなる記憶装置を提供してよい。構成要素750、752、764、754、766及び768の各々は、様々なバスを使って相互接続され、そして、構成要素の幾つかは、共通のマザーボード上に、または必要に応じ、他の方法で搭載してよい。
【００４４】
プロセッサ752は、記憶764に格納された命令を含め、計算装置750内の実行用命令を処理することができる。プロセッサはまた、別々のアナログおよびデジタルプロセッサも含んでよい。プロセッサは、装置750の他の構成要素間の調整、例えばユーザインタフェース、装置750で実行されるアプリケーション、及び装置750での無線通信の制御などを行ってよい。
【００４５】
プロセッサ752は、ディスプレイ754に接続された制御インタフェース758と表示インタフェース756とによってユーザーとやり取りしてよい。ディスプレイ754は、例えば、TFT LCD(液晶)ディスプレイ、またはOLED(有機EL)ディスプレイ、または他の適切な表示技術であってよい。表示インタフェース756は、適切な回路を含み、ディスプレイ754を駆動してユーザーにグラフィック情報及び他の情報を提示してよい。制御インタフェース758はユーザーからコマンドを受け取り、それらを変換してプロセッサ752に提示してよい。さらに、プロセッサ752とつながっている外部インタフェース762を設け、装置750による他の装置との近接エリア通信を可能にしてよい。外部インタフェース762は、たとえば、有線通信（例えば、ドッキング手順によって）、または無線通信（例えば、ブルートゥースまたは他のそのようなテクノロジーによって）を行ってよい。
【００４６】
記憶764は、計算装置750内の情報を格納する。一実施態様では、記憶764はコンピュータ可読な媒体である。一実施態様では、記憶764は揮発性メモリの単一または複数のユニットである。別の実施態様では、記憶764は不揮発性メモリの単一または複数のユニットである。拡張記憶774が提供され、拡張インタフェース772によって装置750に接続してよく、その拡張インタフェースは、たとえば、SIMMカードインタフェースを含んでよい。そのような拡張記憶774は追加記憶領域を装置750に提供するか、装置750用のアプリケーションまたは他の情報を格納してよい。具体的には、拡張記憶774は上述のプロセスを実行、または補完する命令を含んでよく、セキュアな情報も含んでよい。このように、たとえば、拡張記憶774を、装置750用のセキュリティモジュールとして設けてよく、装置750のセキュアな使用を許可する命令でプログラムしてよい。さらに、さらなる情報とともに、適法にSIMMカード上に識別情報を格納するなどのセキャアなアプリケーションをSIMMカードによって提供してよい。
【００４７】
以下に議論するように、記憶は、例えばフラッシュメモリ及び／又はMRAMメモリを含んでよい。一実施態様では、コンピュータプログラム製品は、情報担体に実体的に表現される。コンピュータプログラム製品は、実行される場合、上述のような、１つ又は複数の方法を実行する命令を含む。情報担体は、コンピュータ可読または機械可読な媒体、例えば記憶764、拡張記憶774、プロセッサ752上のメモリ、または伝達される信号などである。
【００４８】
装置750は通信インタフェース766によってワイヤレスで通信してよく、そのインタフェースは必要なら、デジタル信号処理回路を含んでよい。通信インタフェース766は、様々なモードまたはプロトコル、とりわけ、例えば、GSM音声通話、SMS、EMSまたはMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000、またはGPRSなどの下で通信を行ってよい。そのような通信は、たとえば、高周波トランシーバー768によって行ってよい。さらに、短距離通信は、例えばブルートゥース、WiFi、または他のそのようなトランシーバー（図示せず）を使用するなどして、行ってよい。さらに、GPSレシーバーモジュール770はさらなる無線データを装置750に提供してよく、そのデータは、装置750上で動作するアプリケーションによって適宜使われてよい。
【００４９】
装置750がまた、音声コーデック760を用いて、音声で通信してよく、そのコーデックはユーザーから口頭の情報を受け取り、それを使用に適したデジタル情報に変換してよい。音声コーデック760は、同様に、例えば、装置750の送受話器のスピーカなどによって、ユーザーのために、聞き取れる音を発生させてよい。そのような音には、音声通話の音と、録音された音（例えば音声メッセージ、音楽ファイル、その他）と、そして装置750上で動作するアプリケーションによって作り出される音も含めてよい。
【００５０】
図で示すように、計算装置750は多くの異なる形態で実施してよい。たとえば、それは携帯電話780として実施してよい。それはまた、スマートフォン782の一部、携帯情報端末の一部、または他の類似のモバイル機器の一部として実施してもよい。
【００５１】
この明細書で説明されるシステムと機能動作は、必要に応じて、デジタル電子回路で実施してよく、または、この明細書で開示される構造上の手段及びその構造的等価物を含め、コンピュータソフトウェア、ファームウェアまたはハードウェアで、またはそれらの組合せで実施してよい。本技術は、１つ又は複数のコンピュータプログラム製品として実施してよく、即ち、例えば機械可読な記憶装置または伝達される信号などの情報担体に実体的に表現され、データ処理装置、例えばプログラム可能なプロセッサ、コンピュータまたはマルチプルコンピュータなどによって実行されるまたはそれらの動作を制御する、１つ又は複数のコンピュータプログラムとして実施してよい。
【００５２】
コンピュータプログラム（またはプログラム、ソフトウェア、ソフトウェアアプリケーション、あるいはコードという）は、コンパイラまたはインタプリター言語を含め、任意の形態のプログラミング言語で書かれてもよく、そして、それは、スタンドアロン・プログラム、あるいは、モジュール、コンポーネント、サブルーチン、またはコンピュータ環境で使用に適した他のユニットなどの任意の形態で展開してもよい。コンピュータプログラムは、必ずしも１つのファイルに対応するわけではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部に、該プログラムに専用の１つのファイルに、または複数の連係ファイル（例えば、１つまたは複数のモジュール、サブプログラム、または一部のコードをそれぞれ保持するファイル）に格納してよい。コンピュータプログラムは、展開して、１台のコンピュータ上で、あるいは１つのサイトのまたは複数のサイトに亘って配置された、通信ネットワークによって相互連結された複数のコンピュータ上で実行してよい。
【００５３】
この明細書で説明されるプロセスとロジックフローは、１つ又は複数のプログラム可能なプロセッサによって実行してよく、それらプロセッサは、１つ又は複数のコンピュータプログラムを実行し、入力データに作用して出力を行うことによって説明される機能を行ってよい。プロセスとロジックフローはまた、専用論理回路、例えばFPGA（フィールドプログラマブル・ゲートアレイ）、またはASIC（特定用途向け集積回路）によって実行してよく、装置は専用論理回路、例えばFPGA、またはASICとして実施してよい。
【００５４】
コンピュータプログラムの実行に適したプロセッサには、例証として、汎用マイクロプロセッサ、専用マイクロプロセッサ、そしてデジタルコンピュータの任意の種類の１つ又は複数のプロセッサも含まれる。通常、プロセッサは読出し専用メモリ、ランダムアクセスメモリ、またはそれら両方から命令とデータを受け取る。コンピュータの必須要素は、命令を実行するプロセッサと、命令とデータを格納する１つ又は複数のメモリ素子である。通常、コンピュータは、データを格納する１つ又は複数の大容量記憶、例えば、磁気ディスク、光磁気ディスク、または光ディスクなどを含み、あるいは動作可能に接続されて、それらよりデータを受け取りまたはそれらに転送する、または両方を行う。コンピュータプログラム命令とデータを表現することに適切な情報担体には、あらゆる形態の非揮発性メモリが含まれ、例証として、半導体メモリ素子、例えばEPROM、EEPROM及びフラッシュメモリ素子;磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;そして、CD ROMとDVD-ROMディスクが含まれる。プロセッサ及び記憶は、専用論理回路によって補完、または中に組み込んでよい。
【００５５】
ユーザーとの対話を行うために、記載された技術の態様は、ユーザーに情報を提示する表示装置、例えばCRT（陰極線管）またはLCD（液晶ディスプレイ）モニタと、キーボードと、ポインティングデバイス、例えばマウスまたはトラックボールとを有するコンピュータ上で実施してよい。キーボードとポインティングデバイスによって、ユーザーは入力をコンピュータに与えることができる。他の種類の装置を使用して、同様にユーザーと対話してもよい。例えば、ユーザーに提示されるフィードバックは、任意の形態の感覚によるフィードバック、例えば視覚によるフィードバック、聴覚によるフィードバック、または触覚によるフィードバックであってよい。そして、ユーザーからの入力は、音響、言葉、または触覚による入力を含み、任意の形態で受け取ってよい。
【００５６】
本技術は、バックエンド構成要素、例えばデータサーバを含む計算機システムにおいて、あるいは、ミドルウェア構成要素、例えばアプリケーションサーバを含む計算機システムにおいて、あるいは、フロントエンドの構成要素、例えば、それによってユーザーが実施態様と対話できるグラフィカルユーザインタフェース又はウェブブラウザを有するクライアントコンピュータを含む計算機システムにおいて、あるいはそのようなバックエンド構成要素、ミドルウェア構成要素またはフロントエンドの構成要素の任意の組合せを含む計算機システムにおいて、実施してよい。システムの構成要素は、デジタルデータ通信の任意の形態またはメディア、例えば通信ネットワークによって、相互接続してよい。通信ネットワークの例には、ローカルエリアネットワーク（LAN）と、ワイドエリアネットワーク（WAN）、例えばインターネットとが含まれる。
【００５７】
計算機システムは、クライアント及びサーバーを含んでよい。クライアント及びサーバーは、通常、互いに離れており、一般的には通信ネットワークによってやり取りを行う。クライアントとサーバーの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバー関係を有するコンピュータプログラムによって発生する。
【００５８】
本明細書は多くの具体的な実施詳細を含むが、これらはいずれかの発明または請求可能な特許の範囲に対する制限として見なしてはならず、むしろ特定の発明の特定の実施形態に固有の特徴の説明と見なされるべきである。この明細書で、個別の実施形態の文脈で記載されている特定の特徴はまた、組み合わせて単一の実施形態で実施してもよい。逆に、単一の実施形態の文脈で記載されている様々な特徴はまた、多数の実施形態に別々にまたは任意の適切な部分的組み合わせで実施してもよい。さらに、特徴は、ある組み合わせで動作するように上記で説明されている、より適切に言えば、冒頭からそのようなもととして主張されているかもしれないが、特許請求されている組み合わせの１つ又は複数の特徴は、ある場合には、組み合わせから削除してもよく、そして特許請求されている組み合わせは、部分的組み合わせ、または部分的組み合わせの変形に絞ってよい。
【００５９】
同様に、動作は、図面に特定の順序で描かれているが、これは、望ましい結果を得るために、そのような動作が示されている特定の順序、または順番に実行されること、またはすべての例示動作が実行されることが必要であると理解されてはならない。特定の状況では、マルチタスキング及び並列処理が有利であってよい。さらに、上述の実施形態の様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要としていると理解してはならない。そして、記載されたプログラム構成要素及びシステムは、通常、単一のソフト製品に一緒に統合してよく、または複数のソフト製品に実装してよいことを理解するべきである。
【００６０】
いくつかの実施形態が説明された。それでもなお、記載された実施形態の精神および範囲から逸脱することなく、様々な変更を行うことができることが理解されよう。したがって、その他の実施形態は、次の請求の範囲内である。
【図１】
2010539805.tif 000003
【図２Ａ】
2010539805.tif 000004
【図２Ｂ】
2010539805.tif 000005
【図２Ｃ】
2010539805.tif 000006
【図３Ａ】
2010539805.tif 000007
【図３Ｂ】
2010539805.tif 000008
【図４Ａ】
2010539805.tif 000009
【図４Ｂ】
2010539805.tif 000010
【図５】
2010539805.tif 000011
【図６】
2010539805.tif 000012
【図７】
2010539805.tif 000013
【国際調査報告】
2010539805.tif 000014
2010539805.tif 000015