(57)【要約】【課題】  改善された画像圧縮および質を高められた画像プレゼンテーションを容易にするシステムおよび方法を提供すること。【解決手段】  本発明は、ホワイトボードのキャプチャされたデジタル画像などのマルチレベル画像の適応圧縮を容易にし、色画像コンポーネントおよび白黒画像コンポーネントを含むビットストリームをエンコードする。色画像および白黒画像の一方または両方を、ユーザの望み、受け取る装置の能力などに基づいてユーザに出力することができる。【選択図】  図１
2005323370.tif 000002
【特許請求の範囲】
【請求項１】
カラーマッピングされた画像の圧縮を容易にする方法であって、
カラーマッピングされた画像のピクセルの背景／前景フラグを圧縮するステップと、
前記カラーマッピングされた画像の前景ピクセルのカラーインデックス情報を圧縮するステップと
を備えたことを特徴とする方法。
【請求項２】
バイレベルコーデックコンプレッサを使用して、前記画像の白黒表現を圧縮するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
ＬＺエントロピエンコーダを使用して、前記画像の前景ピクセルに関する前記カラーインデックス情報を圧縮するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項４】
カラーマッピングされた画像のピクセルに関連するカラーインデックス情報および／または背景／前景フラグ情報を選択的にデコードするデコーダを使用して、出力画像を提供するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項５】
前記画像に関連する圧縮されたファイルに対応する、前記画像の背景色を表す値（ｖＢ）を含むヘッダを生成するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項６】
前記ｖＢは、前記画像を表すピクセルのうちの最大個数が取る色値と等しいことを特徴とする請求項５に記載の方法。
【請求項７】
ｖＢと等しいか、または等しくないかの関数として各ピクセルの値を設定することによって、前記画像を対応する白黒画像にマッピングするステップをさらに備えたことを特徴とする請求項５に記載の方法。
【請求項８】
前記白黒画像から判定される前景ピクセルの位置に少なくとも部分的に基づいて、前景ピクセルの色値をエンコードするステップをさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記前景ピクセルの色値のエンコーディングは、スキャンの順序で、前記前景ピクセルの値をストリング（Ｓ）に付加するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
ロスレス圧縮方式は、前記ストリングＳのエンコードに使用されることを特徴とする請求項９に記載の方法。
【請求項１１】
ロッシイ圧縮方式は、前記ストリングＳのエンコードに使用されることを特徴とする請求項９に記載の方法。
【請求項１２】
カラーインデックス情報の圧縮は、オクツリー縮小を実行することを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
カラーインデックス情報の圧縮は、ベクトル量子化を実行することを含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記ベクトル量子化を実行するステップは、リンデ−ブゾ−グレイアルゴリズムを使用するステップを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記カラーインデックス情報の圧縮は、オリジナル色とエンコードされた色の間の平均平方誤差を最小化する技法を含むことを特徴とする請求項１に記載の方法。
【請求項１６】
マルチレベル画像の適応圧縮を容易にするシステムであって、
デジタル画像を受け取り、前記画像のエンコーディングの適当なモードを判定する制御コンポーネントと、
前記デジタル画像内のピクセルに関連する背景／前景フラグを圧縮する圧縮コンポーネントと、
前記画像に関連する前景および背景のピクセル情報を含むストリングをエンコードするバイレベルコーデックと
を備えたことを特徴とするシステム。
【請求項１７】
前記圧縮コンポーネントは、マルチレベル画像内の前景ピクセルに関連するカラーインデックス情報をさらに圧縮することを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記圧縮コンポーネントは、前記カラーインデックス情報を圧縮するＬＺエントロピエンコーダを含むことを特徴とする請求項１７に記載のシステム。
【請求項１９】
システム動作に関連する判定および／または推論を行うＡＩコンポーネントをさらに備えたことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記ＡＩコンポーネントは、システム動作に関連する判定および／または推論を行うために、サポートベクトルマシン、ニューラルネットワーク、エキスパートシステム、ベインジアンネットワーク、ファジイ論理、およびデータフュージョンエンジンのうちの少なくとも１つを使用することを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記背景および前景のピクセル情報のエンコードされたストリングは、画像寸法、背景色、前記画像内の色の数、および前記画像のカラーマップに関連する情報を有するヘッダを含むことを特徴とする請求項１７に記載のシステム。
【請求項２２】
前記ヘッダおよびエンコードされたストリングを読み取り、ならびに第１ビットストリームコンポーネントおよび第２ビットストリームコンポーネントをデコードするデコーダをさらに備えたことを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記第１ビットストリームコンポーネントは、前記オリジナル画像のバイレベルバージョンに関連する情報を含むことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記第２ビットストリームコンポーネントは、前記オリジナル画像のカラーバージョンに関連する情報を含むことを特徴とする請求項２２に記載のシステム。
【請求項２５】
前記デコーダは、前記カラーマップに従って、複数の前景インデックスの各々に色を割り当てることを特徴とする請求項２４に記載のシステム。
【請求項２６】
マルチレベル画像の二重圧縮を容易にするシステムであって、
前記マルチレベル画像に関連する情報を分析する制御コンポーネントと、
前記マルチレベル画像の白黒表現を構成するために背景ピクセルおよび前景ピクセルを圧縮するバイレベルコーデックコンプレッサと、
前記前景ピクセルに関連するカラーインデックス情報を圧縮するエントロピエンコーダと
を備えたことを特徴とするシステム。
【請求項２７】
前記エントロピエンコーダは、ジブ−レンペルエンコーダであることを特徴とする請求項２６に記載のシステム。
【請求項２８】
前記制御コンポーネントは、前記マルチレベル画像の白黒表現またはカラー表現のどちらを成功裡に伝送できるかを判定するために、帯域幅可用性を分析することを特徴とする請求項２６に記載のシステム。
【請求項２９】
前記制御コンポーネントは、エンコードされた情報を、前記マルチレベル画像の白黒バージョンおよびカラーバージョンに区分することを特徴とする請求項２８に記載のシステム。
【請求項３０】
前記制御コンポーネントは、帯域幅可用性が所定の閾値未満であるとき、前記マルチレベル画像の白黒バージョンだけを送信することを特徴とする請求項２９に記載のシステム。
【請求項３１】
マルチレベル画像の二重圧縮解除を容易にするシステムであって、
圧縮されたマルチレベル画像に関連する情報を分析する制御コンポーネントと、
画像寸法、背景色、前記画像内の色の数、および前記画像のカラーマップに関連する情報を含むヘッダを有する、背景および前景のピクセル情報のエンコードされたストリングを読み取るデコーダと
を備えたことを特徴とするシステム。
【請求項３２】
前記デコーダは、前記エンコードされたストリングおよび前記ヘッダから収集された情報に基づいて、第１ビットストリームコンポーネントおよび第２ビットストリームコンポーネントをデコードすることを特徴とする請求項３１に記載のシステム。
【請求項３３】
前記第１ビットストリームコンポーネントは、オリジナル画像のバイレベルバージョンに関連する情報を含むことを特徴とする請求項３２に記載のシステム。
【請求項３４】
前記第１ビットストリームコンポーネントをデコードするバイレベルデコーダをさらに備えたことを特徴とする請求項３３に記載のシステム。
【請求項３５】
前記第２ビットストリームコンポーネントは、オリジナル画像のカラーバージョンに関連する情報を含むことを特徴とする請求項３２に記載のシステム。
【請求項３６】
前記第２ビットストリームコンポーネントをデコードするエントロピデコーダをさらに備えたことを特徴とする請求項３５に記載のシステム。
【請求項３７】
前記デコーダは、前記カラーマップに従って複数の前景インデックスの各々に色を割り当てることを特徴とする請求項３１に記載のシステム。
【請求項３８】
マルチレベル画像の適応圧縮を容易にするシステムであって、
画像を受け取る手段と、
前記画像の前景ピクセルおよび背景ピクセルをエンコードする手段と、
前記前景ピクセルに関連する値を有するストリングをエンコードする手段と
を備えたことを特徴とするシステム。
【請求項３９】
前記画像内のピクセルカラーに関連するカラーマップＭを、前記前景ピクセルの色値に関連するカラーマップＭ’に縮小する手段をさらに備えたことを特徴とする請求項３８に記載のシステム。
【請求項４０】
前記カラーマップＭを縮小する前記手段は、ベクトル量子化技法およびオクツリー技法のうちの少なくとも１つを含むことを特徴とする請求項３９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ環境での通信に関し、具体的には、マルチレベル画像に関連するデータの圧縮に関する。
【背景技術】
【０００２】
高コスト低性能データ処理システムから低コスト高性能の通信システム、問題解決システム、およびエンターテイメントシステムへのコンピュータテクノロジおよびネットワークテクノロジの進歩は、通信、請求の支払い、買物、予算管理、および情報収集などの日常の作業を行う負担を減らす、コスト効率が良く時間を節約する手段を提供した。例えば、有線テクノロジまたは無線テクノロジを介してインターネットにインターフェースされたコンピューティングシステムは、ユーザの指先での世界中に配置されたウェブサイトおよびサーバの集積からの豊富な情報へのほぼ瞬間的なアクセスのチャネルをユーザに提供することができる。
【０００３】
画像のキャプチャおよび散布は、コンピュータ産業のますます重要になる分野である。通常、画像またはビットマップの３つの基本クラスがある。例えば、フルカラー画像に、ピクセルあたり数百万個の可能な色が含まれる。３色座標としての各ピクセルは、｛Ｒ、Ｇ、Ｂ｝を調和させ、このＲＧＢのそれぞれが８ビットから１６ビットを表す。フルカラービットマップは、通常、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）フォーマット、ＪＰＥＧ２０００フォーマット、またはＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）フォーマットで表される。カラーマッピングされた画像に、ピクセルあたり少数の可能な色が含まれる。各ピクセルは、通常、各色の｛Ｒ、Ｇ、Ｂ｝値を含むカラーテーブルへのインデックスである値を有する。カラーマッピングされた画像は、しばしば、ＧＩＦ（Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）またはＰＮＧフォーマットで提示される。バイレベル画像（ファクシミリ）は、通常は黒と白である、ピクセル当たり２色を使用し、通常は文書画像に使用される。したがって、バイレベル画像は、しばしば、ＴＩＦＦ（Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）またはＰＮＧフォーマットで表示される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
当技術分野には、改善された画像圧縮および質を高められた画像プレゼンテーションを容易にするシステムおよび方法に関する課題が存在する。
【課題を解決するための手段】
【０００５】
下では、本発明のいくつかの態様の基本的な理解を提供するために、本発明の単純化された要約を提示する。この要約は、本発明の広範囲の概要ではない。本発明の主要な／決定的に重要な要素を識別すること、または本発明の範囲を区切ることは意図されていない。この要約の唯一の目的は、後で提示される、より詳細な説明の前置きとして、単純化された形で本発明のいくつかの概念を提示することである。
【０００６】
本明細書で開示され、請求される発明は、その一態様で、ホワイトボードシステムおよび／または文書キャプチャシステムによって作られた画像の圧縮を容易にするシステムに関する。通常、画像の３つのクラスがあり、そのそれぞれが、画像のその特定のクラス用のコーデックまたはアルゴリズムによって最もよく圧縮される。本発明は、カラーマッピングされた画像、具体的にはホワイトボードの画像をキャプチャすることによって作られたカラーマッピングされた画像のコーデックを提供する。通常、そのような画像に関して、大多数のピクセルが、背景色（例えば白）を有し、少数のピクセルが、複数の色の１つによって近似できる（例えば、予め定められた色のテーブルから選択できる）色を有する。カラーテーブルは、比較的少数の色調を有することができる。というのは、通常の乾くと消去できるペンが、製造される色、色調などの数において制限されているからである。ホワイトボード画像は、マルチレベル画像と考えられ、各ピクセル値は、色値（例えば「レベル」）の短いテーブルへのインデックスである。
【０００７】
本発明の一態様によれば、マルチレベルコーデック（ＭＬＣ）を介して、マルチレベル画像の効率的な表現に関する圧縮アルゴリズムが提供される。カラーマッピングされた画像は、通常、ピクセルあたり少数の可能な色を有する。各ピクセルは、通常、各色の｛Ｒ、Ｇ、Ｂ｝値を含むカラーテーブルへのインデックスである値を有する。カラーマッピングされた画像の一般的なコーデックに、ＧＩＦおよびＰＮＧが含まれる。ＭＬＣは、一般的なＧＩＦまたはＰＮＧフォーマットよりも優れたカラーマッピングされた画像の圧縮を容易にする。さらに、通常のエンコードされたビットストリームに、画像の白黒バージョンおよびカラーバージョンを表す、別々にデコードできるコンポーネントが含まれる。したがって、帯域幅が制限される時、画像の白黒バージョンを、エンコードされたビットストリームの小さい部分からデコードすることができる。
【０００８】
本発明の関連する態様によれば、入力画像の圧縮を２ステージで行うことができるものなど、二重圧縮機能性を提供することができる。まず、各ピクセルの背景／前景フラグを圧縮して、画像の白黒表現を効果的に圧縮する。これは、例えば、バイレベルコーデックコンプレッサを介して達成することができる。次に、前景ピクセルのカラーインデックス情報を、（例えばジブ−レンペル（ＬＺ）ファミリの）エントロピエンコーダによって圧縮することができる。本発明のこの態様は、例えば、リモート会議コラボレーション、情報交換、ホワイトボード内容共有などの機能強化を容易にする。さらに、ＭＬＣは、高品位画像圧縮を容易にして、潜在的に有害な帯域幅制限を軽減する。帯域幅が非常に制限されている場合に、本発明は、エンコードされた情報を白黒バージョンおよびカラーバージョンに区分することができ、その後、白黒バージョンだけを送信して、帯域幅制約（例えば、ハードワイヤ回線、無線などを介する送信）に従うことができる。
【０００９】
本発明のもう１つの態様によれば、前景／背景画像ｂ（ｍ，ｎ）を、バイレベルコーデック（ＢＬＣ）などのバイレベルエンコーダを用いてエンコードすることができる。カラーマップサイズを、ベクトル量子化または類似するプロシージャを介して選択的に減らすことができる。すべての前景ピクセル値によって形成されるストリング（またはベクトル）を、ＬＺエンコーダなどのエントロピコーダを用いてエンコードすることができる。例えば、ＢＬＣコーダを使用して、白黒画像ｂ（ｍ，ｎ）をエンコードすることができ、ＬＺ７７ベースのｚｌｉｂライブラリを使用して、前景色をエンコードすることができる。他の種類バイレベルコーデック（例えば、ＴＩＦＦ、ＰＮＧ）およびストリングコーデック（例えば、他のＬＺ変種）を、本発明と共に追加して使用することができる。
【００１０】
前述の目的および関連する目的を達成するために、本明細書で、次の説明および添付図面に関して本発明の例示的な態様を説明する。しかし、これらの態様は、本発明の原理を使用できる様々な形のうちのごく少数を示すものであり、本発明は、そのような態様および同等物のすべてを含むことが意図されている。本発明の他の長所および新規の特徴は、図面と共に検討される時の本発明の次の詳細な説明から明白になる。
【発明を実施するための最良の形態】
【００１１】
本発明を、図面を参照してこれから説明するが、図面では、類似する符号が、すべての図面を通じて類似する要素を指すものとして使用される。次の説明では、説明のために、本発明の完全な理解を提供するために、多数の具体的な詳細を示す。しかし、本発明を、これらの具体的な詳細なしで実践できることは明白である。他の場合には、本発明の説明を容易にするために、周知の構造および装置をブロック図形式で示す。
【００１２】
本明細書で使用される用語「コンポーネント」および「システム」は、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアのどれであれ、コンピュータ関連のエンティティを指すことが意図されている。例えば、コンポーネントは、処理装置で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピュータとすることができるが、これに制限されない。例えば、サーバで動作するアプリケーションとサーバとの両方を、コンポーネントとすることができる。１つまたは複数のコンポーネントが、プロセスおよび／または実行のスレッドの中に存在することができ、１つのコンポーネントを、１つのコンピュータにローカライズし、かつ／または複数のコンピュータの間で分散することができる。
【００１３】
本明細書で使用されるときに、用語「推論」は、一般に、イベントおよび／またはデータを介して取り込まれた観察の集合からの、システム、環境、および／またはユーザの状態に関する推理または推論の処理を指す。例えば、推論は、特定の状況または処理を識別するのに用いることができ、あるいは、状態に対する確率分布を生成することができる。推論は、確率的すなわち、データおよびイベントの考慮に基づく、重要な状態に対する確率分布の計算とすることができる。推論は、イベントおよび／またはデータの集合から上位イベントを構成するのに用いられる技法を指すこともできる。そのような推論は、イベントが時間的に非常に近接して相関するか否かにかかわらず、イベントおよびデータが１つまたは複数のイベントソースおよびデータソースのいずれかから来るかにかかわらず、観察されたイベントおよび／または保管されたイベントデータの集合からの新しいイベントまたは処理の構成をもたらす。
【００１４】
本発明は、カラーマッピングされた画像、特にキャプチャによって作られるカラーマッピングされた画像、例えばホワイトボードの色画像（例えば図４を参照されたい）のコーデックを提供する。そのような画像に、背景色（例えば白）を有する大多数のピクセルと、小さいカラーテーブルの複数の色の１つによって近似できる色を有する少数のピクセルが含まれる。カラーテーブルは、比較的少数の色調を有することができる。というのは、通常の乾くと消去できるペンが、製造される色、色調などの数において制限されているからである。ホワイトボード画像は、マルチレベル画像と考えられ、各ピクセル値は、色値（例えば「レベル」）の短いテーブルへのインデックスである。
【００１５】
カラーマッピングされた画像は、通常は、ピクセルあたり少数の可能な色を有する。各ピクセルは、通常は、各色の｛Ｒ、Ｇ、Ｂ｝値を含むカラーテーブルへのインデックスである値を有する。カラーマッピングされた画像の一般的なコーデックに、ＧＩＦおよびＰＮＧが含まれる。マルチレベルコーデック（ＭＬＣ）は、一般的なＧＩＦフォーマットまたはＰＮＧフォーマットよりも優れたカラーマッピングされた画像の圧縮を容易にする。さらに、通常のエンコードされたビットストリームに、画像の白黒バージョンおよびカラーバージョンを表す、別々にデコードできるコンポーネントが含まれる。したがって、帯域幅が制限されるとき、画像の白黒バージョン（例えば図５を参照されたい）を、エンコードされたビットストリームの小さい部分からデコードすることができる。
【００１６】
図１は、本発明の態様による、ホワイトボードのデジタルキャプチャされた画像など、マルチレベル画像の適応圧縮（ａｄａｐｔｉｖｅ  ｃｏｍｐｒｅｓｓｉｏｎ）を容易にするシステム１００を示す図である。制御コンポーネント１０２が、機能的に圧縮コンポーネント１０４に結合され、圧縮コンポーネント１０４は、システム１００に二重圧縮機能性を提供して、デジタルキャプチャされたホワイトボードなどのマルチレベル画像を圧縮する。圧縮コンポーネント１０４に、マルチレベルコーデック（ＭＬＣ）を使用するエンコーダ１０６が含まれ、ＭＬＣは、マルチレベル画像を圧縮するアルゴリズムである。エンコーダコンポーネント１０６は、通常、後述するように、ヘッダ情報（画像寸法、色の数、および他の類似するパラメータに関する情報を含む）、エンコードされた背景、およびエンコードされた前景色ストリングを含む複数の部分からなる、オリジナル画像の圧縮表現（ビットストリームおよび／またはファイル）を生成する。
【００１７】
例えば、画像ｘ（ｍ，ｎ）、０≦ｍ≦ＮＲ−１、０≦ｎ≦ＮＣ−１（ＮＲおよびＮＣは、それぞれ行の個数および列の個数である）を、システム１００に入力することができる。各ピクセルｘ（ｍ，ｎ）は、範囲［０．．．Ｌ−１］内の値ｖを有することができ、Ｌは色の個数である。実際の色値は、カラーマップＭ＝｛［ｒ０  ｇ０  ｂ０］，［ｒ１  ｇ１  ｂ１］，．．．，［ｒＬ−１  ｇＬ−１  ｂＬ−１］｝に保管され、ここで、すべてのカラーインデックス０≦ｖ≦Ｌ−１について、それに対応する色を決定するＲＧＢ値のトリプレットがある。したがって、入力データは、ピクセル値ｘ（ｍ，ｎ）の集合およびカラーマップＭである。圧縮コンポーネント１０４は、制御コンポーネント１０２と共に、入力画像の背景色ｖＢを判定することができる。ほとんどのピクセルが、背景色を有するので、ｖＢは、最大の個数のピクセルが取る色値ｖと等しくなるように設定することができる。通常、ｖＢは、白に近いが、他の背景色が可能である。ＮＲ、ＮＣ、およびｖＢの値を含むヘッダを、圧縮ビットストリーム（またはファイル）について書き込むことができる。このヘッダは、後で定義するカラーマップのスペースを残すように設計することができる。
【００１８】
圧縮コンポーネント１０４および／またはエンコーダ１０６は、次のように、オリジナル入力画像を対応する白黒画像ｂ（ｍ，ｎ）にマッピングすることができる。
【００１９】
ｘ（ｍ，ｎ）＝ＶＢの場合、ｂ（ｍ，ｎ）＝０（例えば、ピクセルが背景に含まれる）
ｘ（ｍ，ｎ）≠ＶＢの場合、ｂ（ｍ，ｎ）＝１（例えば、ピクセルが前景に含まれる）
白黒画像ｂ（ｍ，ｎ）を、バイレベルコーデック（ＢＬＣ）を用いてエンコードすることができ、ＢＬＣによって生成されたビットを、出力ビットストリームおよび／またはファイルに付加することができる。図４の画像に対応する白黒画像ｂ（ｍ，ｎ）の例を、図５に示す。さらに、エンコーダ１０６は、前景ピクセルの色値をエンコードすることができる。前景ピクセルの位置は、白黒画像ｂ（ｍ，ｎ）から既にわかっているので、スキャンの順序でのすべての前景ピクセルの値を、ストリングＳ＝｛ｖ０，ｖ１，．．．，ｖＦ−１｝に付加することができる。ここで、Ｆは、前景ピクセルの個数である（通常、Ｆは、ピクセルの総数ＮＲ×ＮＣよりはるかに少ない）。
【００２０】
ストリングＳをエンコードするために、システムエンコーダ１０６は、次の２つのモードを使用することができる。Ｓの前景値が、ジブ−レンペル（ＬＺ）コーダなどの、反復パターンを含む可能性があるストリングに適するエントロピコーダを使用して直接にエンコードされる「ロスレス」モードと、カラーマップＭがより少数の色を有する新しいカラーマップＭ’に縮小される「ロッシイ」モードである。画像ｘ（ｍ，ｎ）内のオリジナルのインデックスを、エントロピエンコーディングの前に、新しいカラーマップへのインデックスに置換することができる。所望のモードがロスレスである場合、ストリングＳを、ＬＺエンコーダを用いてエンコードすることができ、結果のビットを出力ビットストリームまたはファイルに付加することができる。その後、カラーマップＭを出力ビットストリームまたはファイルのヘッダに書き込んで、エンコーディングを完了することができる。
【００２１】
所望のモードがロッシイである場合、前景ピクセルの色の完全な再構成が望まれないと仮定することができる。その結果、表示されたときにオリジナルの色に十分に似ている限り、色を近似することができる。例えば、ロッシイモードでは、エンコーダ１０６への入力パラメータＫがあり、これは望まれる色の個数であり、Ｋ＜Ｌである。システム１００は、オリジナルマップＭのすべての色［ｒ  ｇ  ｂ］について、縮小されたカラーマップＭ’に色［ｒ’  ｇ’  ｂ’］があり、新しい色［ｒ’  ｇ’  ｂ’］が、オリジナルの色［ｒ  ｇ  ｂ］に十分に近い、新しいカラーマップＭ’＝｛［ｒ’０  ｇ’０  ｂ’０］，［ｒ’１  ｇ’１  ｂ’１］，．．．，［ｒ’Ｋ−１  ｇ’Ｋ−１  ｂ’Ｋ−１］｝を生成することができる。そのようなカラーマップ縮小は、ベクトル量子化問題の一例であり、このベクトル量子化では、より小さい集合の要素がオリジナルの集合の要素のよい近似になるように、ベクトルの集合をより小さい集合に置換する。したがって、新しいマップＭ’を作るために、圧縮コンポーネント１０４および／またはエンコーダ１０６は、ＬＢＧ（リンデ−ブゾ−グレイ、統計の文献でＫ平均法とも称する）またはオクツリー（ｏｃｔｒｅｅ）アルゴリズムなどのベクトルクォンタイザ（ｖｅｃｔｏｒ  ｑｕａｎｔｉｚｅｒ）設計アルゴリズムを使用することができる。
【００２２】
システムエンコーダ１０６が、マップＭ’を生成したならば、標準的なフル検索ベクトル量子化プロシージャを使用して、色をインデックスに再割り当てすることができる。前景ピクセルごとに、オリジナル値ｖを、例えば次のように新しい値ｖ’に置換することができる。
【００２３】
ｂ（ｍ，ｎ）＝＝１であるすべての（ｍ，ｎ）について、
縮小されたカラーマップＭ’内のすべての色について、ｖ’に対応する色［ｒ’  ｇ’  ｂ’］が、オリジナルの［ｒ  ｇ  ｂ］色（ｖに対応する）に最も近い色になるように、ｘ（ｍ，ｎ）＝ｖをｘ（ｍ，ｎ）＝ｖ’に置換する。
【００２４】
次に、エンコードされるストリングＳを、エンコーダ１０６によって形成することができ、ここで、Ｓ＝｛ｖ’０，ｖ’１，．．．，ｖ’Ｆ−１｝であり、Ｆは、前景ピクセルの個数である。Ｓの各要素の値の範囲が縮小されているので、Ｓは、ロスレスモードに対応するオリジナルのＳよりも短いビットストリームに圧縮される。したがって、ロッシイモードでは、再構成忠実度の小さい縮小によって、圧縮ファイルサイズのより大きい縮小が容易になる。この点で、カラーマップＭ’を出力ビットストリームまたはファイルのヘッダに書き込んで、エンコーディングを達成することができる。
【００２５】
図２は、本発明の態様による、マルチレベル画像の適応圧縮解除を容易にするシステム２００を示す図である。応用例に応じて、エンコーダシステム１００またはデコーダシステム２００のいずれかあるいはその両方が存在することができる。例えば、プリンタドライバまたは圧縮文書プロデューサに、エンコーダシステム１００だけを含めることができ；ファイルビューワユーティリティまたはプリンタ制御ソフトウェアに、デコーダシステム２００だけを含めることができ、文書／画像処理／編集アプリケーションへのプラグインに、エンコーダシステム１００とデコーダシステム２００の両方を含めることができる。
【００２６】
デコーダ２０６は、エンコーディングを選択的に元に戻すことができる。デコーダ２０６の主な動作に、例えば、ＭＬＣ生成のビットストリームまたはファイルのヘッダを読み取って、｛ＮＲ，ＮＣ｝（画像寸法）、ｖＢ（背景色）、およびＫ（色数）のパラメータならびにカラーマップＭを判定することを含めることができる。さらに、デコーダ２０６は、エンコードされた白黒ビットマップｂ（ｍ，ｎ）を含む第１ビットストリームコンポーネントを読み取り、デコードし、ｂ（ｍ，ｎ）＝０であるすべてのピクセルｘ（ｍ，ｎ）に背景色ｖＢを割り当てることができる。さらに、デコーダ２０６は、任意選択として、前景値のエンコードされたストリングＳを含む第２ビットストリームコンポーネントを読み取り、デコードすることができ、任意選択として、最初に読み取られたカラーマップに従って各前景インデックスに色を割り当てることができる。第２ビットストリームコンポーネントの読み取りおよび／またはデコードは、画像の白黒再構成でユーザが十分に満足する場合には必須でない。
【００２７】
図３に、本発明の態様による、マルチレベル画像の適応圧縮を容易にするシステム３００を示す。システム３００には、システム３００によって受け取られた情報の分析を容易にする制御コンポーネント３０２が含まれる。制御コンポーネントは、機能的に圧縮コンポーネント３０４と結び付く。圧縮コンポーネント３０４は、エンコーダ３０６を含む。
【００２８】
さらに、制御コンポーネント３０２に、システム３００の動作に関する推論を行うことができるＡＩコンポーネント３０８が含まれる。例えば、ＡＩコンポーネントは、ユーザの望み、受け取るユーザ装置のディスプレイ能力などに関する情報に応じて、エンコーディングの正しいモード（例えばロスレスまたはロッシイ）を推論することができる。もう１つの例によれば、ＡＩコンポーネント３０８は、入力画像内のピクセルカラーの正しいカラーテーブルを推論することができる。さらに、ＡＩコンポーネント３０８は、帯域幅が大きく制限されている場合、前景ピクセルの色に関する情報なしで入力画像の白黒バージョンだけを送信することができるなど、例えば帯域幅可用性に関する、判定および／または推論を行うのに使用することができる。この形で、システム３００は、帯域幅制限を回避しながら、オリジナル画像の意味のあるプレゼンテーションを、受け取るユーザに提供することができる。
【００２９】
関連する態様によれば、ＡＩコンポーネント３０８は、（例えば、部分的に、受け取る装置からの要求に関連する情報に基づいて）圧縮された画像を受け取っている装置の種類を判定し、かつ／または推論することができ、そのような推論を使用して、装置がマルチレベル色画像を受け取り、かつ／または表示できるか否かを判定することができる。受け取る装置が、（例えば、帯域幅制限、装置の機能制限、一時的に受け取る装置のＣＰＵ使用不能などに起因して）マルチレベル画像を受け取り、かつ／または表示することができないと判定される場合、システム３００は、受け取る装置の制限を補償し、なおかつ受け取るユーザに意味のある情報を提供するために、バイレベル画像を自動的に送信することができる。
【００３０】
ＡＩコンポーネント３０８によって提供できる推論の他の例に、例えば、ユーザプリファレンスに関する推論を含めることができる。一例によれば、ＡＩコンポーネント３０８は、ユーザが、オリジナル画像のフルカラーマルチレベルバージョン、縮小されたカラーマルチレベルバージョン、および／または入力画像のバイレベル白黒バージョンを望み、かつ／または受け取ることができるか否かを推論するために、ユーザが入力したプリファレンス、情報などを査定することができる。例えば、リモートエリアでセル電話機を介して圧縮画像を受け取るユーザは、セル電話機に「ローミング」を設定することができる。ＡＩコンポーネント３０８は、ローミングセル電話機の限られた受信能力を認識して、セル電話機に送信される圧縮画像の種類に関して推論を行えるようにすることができる。さらに、より高い、またはより低い品質の画像を受信できるようにするため、受け取り装置の設定を変更するように求めるプロンプトをユーザに出せるように、ＡＩコンポーネント３０８によって推論された装置の受け取り能力に関する情報をユーザに与えることができる。
【００３１】
さらに、システム３００は、異なる品質レベルの圧縮画像に関連するファイルサイズ、送信リソースおよび／または受信リソースに関するユーザ選択可能オプション、送信優先順位、ファイル内容、受信装置機能の関数としてのダウンロード時間、ダウンロード時間を減らし、かつ／または受信能力を高めるための提案などの補足情報を与えるユーザインターフェースをユーザに提示することができる。ユーザの視認（ｖｉｅｗｉｎｇ  ｅｘｐｅｒｉｅｎｃｅ）の質を高めるのに必要なすべての情報を、このユーザインターフェースを介してユーザに提供することができる。前の例は、性質において例証であり、ＡＩコンポーネント３０８が推論を行う形の範囲、またはＡＩコンポーネント３０８によって行える推論の個数を制限することを意図されたものでないことを理解されたい。
【００３２】
本明細書で使用される用語「推論」は、一般に、イベントおよび／またはデータを介して取り込まれた観察の集合からの、システム、環境、および／またはユーザの状態に関する推理または推論の処理を指す。例えば、推論は、特定の状況または処理を識別するのに用いることができ、あるいは、状態に対する確率分布を生成することができる。推論は、確率的すなわち、データおよびイベントの考慮に基づく、重要な状態に対する確率分布の計算とすることができる。推論は、イベントおよび／またはデータの集合から上位イベントを構成するのに使用される技法を指すこともできる。そのような推論結果は、イベントが時間的に非常に近接して相関するか否かにかかわらず、イベントおよびデータが１つまたは複数のイベントソースおよびデータソースのどれから来るかにかかわらず、観察されたイベントおよび／または保管されたイベントデータの集合からの新しいイベントまたは処理の構成をもたらす。様々な分類方式および／または分類システム（例えば、サポートベクトルマシン、ニューラルネットワーク、エキスパートシステム、ベインジアンネットワーク（Ｂａｙｅｓｉａｎ  ｂｅｌｉｅｆ  ｎｅｔｗｏｒｋ）、ファジイ論理、データフュージョンエンジンなど）を、本発明に関連する自動的なおよび／または推論される処理の実行に関して使用することができる。
【００３３】
図４および５は、例示のために提示され、デジタルキャプチャの後の通常のホワイトボード画像（図４）を例示する。図４の色付きの線は、様々な暗度の線によって表される。帯域幅制約によって指定される場合、この色画像（図４）に対応する白黒画像（図５）をユーザに提示して、制限された帯域幅および／または制限された受け取り装置の能力にかかわらずにそのようなユーザとの情報交換を容易にすることができる。例えば、ホワイトボードの画像およびその内容が、キャプチャされ、単純なＬＣＤスクリーンを有するハンドヘルド機、ファクシミリ機など、最小限のグラフィック能力を有する受け取り装置に送信される場合、ハンドヘルド装置によって簡単に解釈され、表示される白黒画像を提供するようにシステムを設定することができる。
【００３４】
説明を単純にするために、例えば流れ図の形で本明細書で示される１つまたは複数の方法を、一連の動作として図示し、説明するが、本発明によれば、一部の動作を、異なる順序でおよび／または図示され本明細書で説明される他の動作と並列に行うことができるので、本発明が、動作の順序によって制限されないことを理解し、認識されたい。例えば、当業者は、方法論を、その代わりに、状態図など、一連の相関する状態またはイベントとして表すことができることを理解し、認識するであろう。さらに、示される動作のすべてが、本発明による方法論を実施するのに必要ではない可能性がある。
図６に、本発明の態様による、ホワイトボードのデジタルキャプチャされた画像などのマルチレベル画像の適応圧縮の方法６００を示す。ステップ６０２で、入力画像ｘ（ｍ，ｎ）および関連するカラーマップを読み取ることができる。入力画像ｘ（ｍ，ｎ）および関連するカラーマップを６０２で読み取った後に、背景処理を開始することができ、これには、ステップ６０４〜６０８に示された様々な処理が含まれる。ステップ６０４で、最も頻繁な色ｖＢ＝背景色に関する判定を行う。ステップ６０６で、白黒画像ｂ（ｍ，ｎ）を判定することができ、これをステップ６０８でバイレベルエンコーダを介してエンコードすることができる。図７に、背景処理をさらに詳細に示す。白黒画像だけが望まれる場合、ステップ６０２〜６０８として示された方法を、下記で説明する前景処理なしで実施することができ、バイレベルエンコーダによってエンコードされた画像ｂ（ｍ，ｎ）に関連するデータに基づいて出力ビットストリームを書けることを認識されたい。
【００３５】
この方法は、次に、ステップ６１０に進むことができ、ここで、前景ピクセル値を、Ｍ’に基づいてストリングＳに連結することができる。ステップ６１２で、前景色値のストリング、ストリングＳを、エントロピエンコーダを介してエンコードすることができる。最後に、ステップ６１４で、ステップ６１２からのエンコードされたストリングＳおよびステップ６０８からのエンコードされた白黒画像情報を用いて、出力ビットストリームを書き込むことができる。したがって、ステップ６１０およびステップ６１２は、前景処理中に行うことができる処理を示し、これを、図８に関してさらに詳細に示す。
【００３６】
図７に、本発明の態様による、マルチレベル画像の適応圧縮およびバイレベル画像への変換の方法７００を示す。ステップ７０２で、画像内で最も頻繁に発生する色ｖＢに関する判定を行い、その最も頻繁に発生する色ｖＢを「背景」色として指定する。例えば、入力画像に、ピクセルの集合ｘ（ｍ，ｎ）、０≦ｍ≦ＮＲ−１、０≦ｎ≦ＮＣ−１を含めることができる（ＮＲおよびＮＣは、それぞれ行の個数および列の個数である）。画像内の各ピクセルは、範囲［０．．．Ｌ−１］内の色値ｖを有することができる。Ｌは、可能な色の数を表す。ピクセルに関連する実際の色値は、カラーマップＭに保管することができ、Ｍ＝｛［ｒ０  ｇ０  ｂ０］，［ｒ１  ｇ１  ｂ１］，．．．，［ｒＬ−１  ｇＬ−１  ｂＬ−１］｝であり、すべてのカラーインデックス０≦ｖ≦Ｌ−１について、それに対応する色を決定するＲＧＢ値のトリプレットがある。例えば、圧縮され、かつ／または変換される画像が、書き込まれたホワイトボードのデジタル写真である場合、その画像に含まれるピクセルの大多数は、白色を示す。その場合、その白色が、ｖＢに割り当てられる。したがって、背景色ｖＢは、例えばヒストグラム計算を介して決定することができる。このヒストグラム計算では、各色の出現の回数をカウントし、最大のカウントを有する色にｖＢを割り当てる。
【００３７】
ステップ７０４で、画像内のすべてのピクセルｘ（ｍ，ｎ）の集合をサイクルするループを開始し、ステップ７０６で、各個々のピクセルがｖＢと等しい値を示すか否かを判定する。特定の位置（ｍ，ｎ）にある所与のピクセルｘ（ｍ，ｎ）が、ｖＢと等しい色値を有すると判定される場合、対応する背景フラグ値ｂ（ｍ，ｎ）に０を設定する。ピクセル色値が、ｖＢと等しくないと判定される場合、その特定のピクセルの対応する背景フラグ値ｂ（ｍ，ｎ）に１を設定する。すなわち、値「１」は、非背景色を表す。言い換えると、ｂ（ｍ，ｎ）＝１は、位置（ｍ，ｎ）が前景ピクセルに対応することを表す。望まれる場合、ＮＲ、ＮＣ、およびｖＢの値を含むヘッダを、圧縮されたビットストリームおよび／またはファイルに対して書き込むことができる。さらに、カラーマップに関する情報のために指定された追加スペースを有するヘッダを構成することができる。
【００３８】
特定のピクセルを評価し、値を割り当てたならば、ステップ７１２で、画像のすべてのピクセル（ｍ，ｎ）を処理したか否かに関する判定を行うことができる。ステップ７１２で、すべてのピクセル（ｍ，ｎ）の集合が評価済みではないと判定される場合、この方法は、ピクセル評価の次の反復すなわち、ピクセルアドレス（ｍ，ｎ）の新しい対を用いる反復のために、ステップ７０４に戻ることができる。しかし、ステップ７１２の判定によって、ピクセル（ｍ，ｎ）の集合全体を評価したことが示される場合、オリジナル画像ｘ（ｍ，ｎ）を、対応する白黒画像ｂ（ｍ，ｎ）にマッピングすることができる。ここで、ｘ（ｍ，ｎ）＝ｖＢならばｂ（ｍ，ｎ）＝０、ｘ（ｍ，ｎ）≠ｖＢならばｂ（ｍ，ｎ）＝１である。次に、この方法は、ステップ７１４に進むことができ、ここで、白黒画像ｂ（ｍ，ｎ）を、例えばバイレベルエンコーダを介してエンコードすることができる。次に、バイレベルエンコーダによってエンコードされたビットを、出力ビットストリームおよび／または出力ファイルに付加することができる。
【００３９】
図８に、本発明の態様による、ホワイトボードのデジタルキャプチャされた画像など、マルチレベル画像の適応圧縮の方法８００を示す。ステップ８０２で、キャプチャされた画像に関連するデータを圧縮するときにロッシイモードが望まれるか否かに関する判定を行うことができる。例えば、通常、ロッシイデータ圧縮コーデックは、ストリーミングメディア、テレフォニなどに関連して使用される。１つの例によれば、ロッシイ変換コーデックを使用することができ、この場合、画像のサンプルを選択し、小さいセグメントに解析し、新しい基本スペースに変換し、最後に量子化し、エントロピコーディングすることができる。もう１つの例によれば、ロッシイ予測コーデックを本発明と共に使用することができ、これを介して、前にデコードされたデータを使用して現在の画像を予測することができる。次に、予測されたデータと実際のデータの間の誤差を、量子化し、エンコードすることができる。もう１つの例によれば、変換ロッシイコーデックおよび予測ロッシイコーデックの両方を使用することができる。
【００４０】
ロッシイモードが選択される場合、この方法は、ステップ８０４に進むことができ、ここで、ベクトル量子化技法、オクツリー縮小、セントロイド分析技法などによって、カラーマップＭを縮小することができる。ロッシイモードは、複雑な画像の圧縮を改善するのに望ましい。例えば、ホワイトボードに、白の背景上の単一の色（例えば青）を使用して書き込むことができる。一般に発生するように、青のマーカーが、他のマーカー（赤、黒など）に上書きするのに使用された場合、ホワイトボードに書き込むのに使用された青のマーカーは、そのような他の色もホワイトボードに置く。２つの最も頻繁なピクセル色値（例えば白の背景と青のマーカー）と異なる色値を有するピクセルを捨てて、ホワイトボード背景上の真の青いマーキングを表すのに必要な最低限のピクセルを提供することができる。前の例で与えられた特定の色を、制限的な意味で解釈してはならないことを認識されたい。というのは、他の色の背景および／またはマーカーが、本発明によって企図され、ホワイトボードのほかに、他の画像サブジェクトも企図されているからである。
【００４１】
さらに、ホワイトボードに複数の色で書き込み、そのうちのいくつかが優勢である場合に、ロッシイモードを使用して、カラーマップＭをＭ’に縮小することができ、このＭ’には、最も優勢な色の集合が含まれる。例えば、青、緑、および赤のマーカーが、ホワイトボードに書き込むのに主に使用されるが、オレンジのマーカーが、単一の直線を描くのに使用される場合、青、緑、赤、およびオレンジを含むカラーマップＭを、青、赤、および緑を含むＭ’に縮小することができる。このシナリオによれば、赤は、縮小されたカラーマップＭ’でオレンジに一番近いピクセルカラーなので、オレンジの線を赤で表すことができる。
【００４２】
ステップ８０６で、前景ピクセルストリングＳを、「空」に初期化することができる。さらに、ステップ８０２の判定によって、ロッシイモードが望まれないことが示される場合、この方法は、ステップ８０６に直接に進んで、カラーマップＭを縮小せずに前景ピクセルストリングＳを初期化することができる。次に、ステップ８０８で、画像内のすべてのピクセル（ｍ，ｎ）に関するループを初期化することができる。ステップ８１０で、方法７００に関して判定されたように、所与のピクセルが前景であるか否か（例えば、ｂ（ｍ，ｎ）＝１）に関する判定を行うことができる。ピクセルが、前景ピクセルでない（例えば、背景ピクセルであり、ｂ（ｍ，ｎ）＝０）と判定される場合、この方法は、８０８に戻って、残りのピクセルについてさらに繰り返すことができる。ステップ８１０で、ピクセルが前景ピクセルであると判定される場合、ステップ８１２で、ロッシイモードが望まれるか否かに関する判定を行う。ロッシイモードが望まれる場合、ステップ８１４で、ピクセル（ｍ，ｎ）の色値ｃを、縮小されたカラーマップＭ’からの最も近い色ｃに置換することができる。ステップ８１６で、ピクセル（ｍ，ｎ）の新しい色値ｃをストリングＳに付加することができる。
【００４３】
ステップ８１２でロッシイモードが望まれないと判定された場合、この方法は、ステップ８１２からステップ８１６に直接に進み、ピクセル（ｍ，ｎ）の色値ｃが、ストリングＳに付加される。その後、ステップ８１８で、すべてのピクセル（ｍ，ｎ）を処理したか否かに関する判定を行うことができる。完全な集合内のすべてのピクセルより少数のピクセルが処理済みである場合、この方法は、ステップ８０８に戻って、ピクセル分析をさらに繰り返すことができる。ステップ８１８で、すべてのピクセルを処理したと判定される場合、この方法は、ステップ８２０に進み、そこで、前景色値のストリングＳをエントロピエンコーダ（例えば、ジブ−レンペル（ＬＺ）ファミリの）を介してエンコードすることができる。
【００４４】
図６、７、および８は、本発明によるマルチレベル画像の適応圧縮の好ましい実施形態である流れ図６００、７００、および８００を提示することに留意されたい。当業者は、流れ図６００、７００、および８００の変形を使用することができ、その結果、例えば動作の順序を変更して、特定のハードウェアプラットフォームによりよく適合することができ、そのような変形形態は、やはり本発明の実施形態である。
【００４５】
流れ図６００、７００、および８００が、エンコーダ１０６の好ましい実施形態を指定することにも留意されたい。この流れ図で指定される動作から、当業者は、デコーダ２０６の対応する流れ図を導出することができる。
【００４６】
図９を参照すると、開示されるアーキテクチャを実行するように動作するコンピュータのブロック図が示されている。本発明の様々な態様に関する追加コンテキストを提供するために、図９および次の説明は、本発明の様々な態様を実施できる適当なコンピューティング環境９００の短い全般的な説明をすることが意図されている。本発明を、上では、１つまたは複数のコンピュータで実行できるコンピュータ実行可能命令の全般的な文脈で説明したが、本発明を、他のプログラムモジュールと組み合わせて、および／またはハードウェアとソフトウェアの組合せとして実施できることを、当業者は理解するであろう。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造などが含まれる。さらに、本発明の方法を、それぞれが１つまたは複数の関連する装置に機能的に結合される、シングルプロセッサコンピュータシステム、マルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータならびにパーソナルコンピュータ、ハンドヘルドコンピューティング装置、マイクロプロセッサベースまたはプログラマブル一般電子機器および類似物を含む他のコンピュータシステム構成を用いて実施できることを、当業者は理解するであろう。本発明の示された態様は、通信ネットワークを介してリンクされたリモート処理装置により、あるタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールを、ローカルとリモートの両方のメモリ記憶装置に配置することができる。
【００４７】
図９をもう一度参照すると、処理装置９０４、システムメモリ９０６、およびシステムバス９０８を含むコンピュータ９０２を含む、本発明の様々な態様を実施する例示的な環境９００が示されている。システムバス９０８は、システムメモリ９０６を含むがこれに限定されないシステムコンポーネントを処理装置９０４に結合する。処理装置９０４は、様々な市販のプロセッサのいずれかとすることができる。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも、処理装置９０４として使用することができる。
【００４８】
システムバス９０８は、様々な市販バスアーキテクチャのいずれかを使用する（メモリコントローラ有りまたは無しの）メモリバス、周辺バス、およびローカルバスにさらに相互接続できる複数のタイプのバス構造のいずれかとすることができる。システムメモリ９０６には、読取専用メモリ（ＲＯＭ）９１０およびランダムアクセスメモリ（ＲＡＭ）９１２が含まれる。起動中などにコンピュータ９０２内の要素の間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム（ＢＩＯＳ）が、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの不揮発性メモリ９１０に保管される。
【００４９】
コンピュータ９０２には、さらに、ハードディスクドライブ９１４、（例えば、取外し可能ディスク９１８から読み取り、これに書き込むための）磁気ディスクドライブ９１６、および（例えば、ＣＤ−ＲＯＭディスク９２２を読み取るか、デジタル多用途ディスク（ＤＶＤ）などの他の大容量光メディアから読み取るかこれに書き込むための）光ディスクドライブ９２０が含まれる。ハードディスクドライブ９１４、磁気ディスクドライブ９１６、および光ディスクドライブ９２０は、それぞれ、ハードディスクドライブインターフェース９２４、磁気ディスクドライブインターフェース９２６、光ドライブインターフェース９２８によってシステムバス９０８に接続することができる。ドライブおよびそれに関連するコンピュータ読み取り可能なメディアは、データ、データ構造、コンピュータ実行可能命令などの不揮発性記憶を提供する。コンピュータ９０２について、ドライブおよびメディアは、適当なデジタルフォーマットでの放送番組の記憶に対処する。上のコンピュータ読み取り可能なメディアの説明では、ハードディスク、取外し可能磁気ディスク、およびＣＤに言及したが、ｚｉｐドライブ、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、カートリッジ、および類似物などのコンピュータによって読み取り可能な他の種類のメディアも、例示的なオペレーティング環境で使用でき、さらに、そのようなすべてのメディアに、本発明の方法を実行するコンピュータ実行可能命令を含めることができることを、当業者は理解するであろう。
【００５０】
オペレーティングシステム９３０、１つまたは複数のアプリケーションプログラム９３２、他のプログラムモジュール９３４、およびプログラムデータ９３６を含む複数のプログラムモジュールを、ドライブおよびＲＡＭ  ９１２に保管することができる。本発明を、様々な市販オペレーティングシステムまたはオペレーティングシステムの組合せを用いて実施できることを理解されたい。
【００５１】
ユーザは、キーボード９３８、およびマウス９４０などのポインティングデバイスを介してコンピュータ９０２にコマンドおよび情報を入力することができる。他の入力装置（図示せず）に、マイクロホン、ＩＲリモートコントロール、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、および類似物を含めることができる。上記および他の入力装置は、多くの場合、システムバス９０８に結合されたシリアルポートインターフェース９４２を介して処理装置９０４に接続されるが、パラレルポート、ゲームポート、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）ポート、ＩＲインターフェースなどの他のインターフェースによって接続することができる。モニタ９４４または他の種類のディスプレイ装置も、ビデオアダプタ９４６などのインターフェースを介してシステムバス９０８に接続される。モニタ９４４の他に、コンピュータに、通常はスピーカ、プリンタなど、他の周辺出力装置（図示せず）が含まれる。
【００５２】
コンピュータ９０２は、リモートコンピュータ９４８など、１つまたは複数のリモートコンピュータへの有線通信および／または無線通信を介する論理接続を使用してネットワーク化された環境で動作することができる。リモートコンピュータ９４８は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースのエンターテイメントアプライアンス、ピア装置、または他の一般的なネットワークノードとすることができる。通常、コンピュータ９０２に関して説明した要素の多数またはすべてが含まれるが、図を簡単にするために、メモリ記憶装置９５０だけを図示した。図示の論理接続には、ローカルエリアネットワーク（ＬＡＮ）９５２および広域ネットワーク（ＷＡＮ）９５４が含まれる。そのようなネットワーキング環境は、オフィス、会社規模のコンピュータネットワーク、イントラネット、およびインターネットなどでありふれたものである。
【００５３】
ＬＡＮネットワーキング環境で使用されるとき、コンピュータ９０２は、有線または無線の通信ネットワークインターフェースまたはアダプタ９５６を介してローカルエリアネットワーク９５２に接続される。アダプタ９５６は、ＬＡＮ  ９５２への有線接続または無線接続を容易にし、ＬＡＮ  ９５２には、無線アダプタ９５６と通信するために配置された無線アクセスポイントも含めることができる。ＷＡＮネットワーキング環境で使用される時に、コンピュータ９０２は、通常はモデム９５８を含み、ＬＡＮ上の通信サーバに接続され、あるいはインターネットなどのＷＡＮ  ９５４を介する通信を確立する他の手段を有する。モデム９５８は、内蔵または外付けの有線装置または無線装置とすることができるが、シリアルポートインターフェース９４２を介してシステムバス９０８に接続される。ネットワーク化された環境では、コンピュータ９０２に関して図示されたプログラムモジュールまたはその一部を、リモートメモリ記憶装置９５０に保管することができる。図示のネットワーク接続が例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用できることを理解されたい。
【００５４】
コンピュータ９０２は、例えば、プリンタ、スキャナ、デスクトップおよび／またはポータブルコンピュータ、携帯情報端末、（例えば、キオスク、ニューススタンド、トイレなど）無線で検出可能なタグに関連する機器または場所の任意の部分、および電話機など、無線通信に機能的に配置された無線装置またはエンティティと通信するように動作する。これには、少なくともＷｉ−Ｆｉ無線テクノロジおよびＢｌｕｅｔｏｏｔｈ（商標）無線テクノロジが含まれる。したがって、通信は、従来のネットワークのように予め定められた構造とするか、単に少なくとも２つの装置の間のアドホック通信とすることができる。
【００５５】
Ｗｉ−ＦｉすなわちＷｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙは、家庭の寝椅子、ホテルのベッド、仕事場の会議室などからワイヤなしでのインターネットへの接続を可能にする。Ｗｉ−Ｆｉは、コンピュータなどの装置が室内および戸外で、基地局からの範囲内の任意の場所でデータを送受信できるようにする、セル電話機に似た無線テクノロジである。Ｗｉ−Ｆｉネットワークは、ＩＥＥＥ  ８０２．１１（ａ、ｂ、ｇなど）と称するラジオテクノロジを使用して、セキュアで信頼性があり高速の無線接続性を提供する。Ｗｉ−Ｆｉネットワークは、他のコンピュータに、インターネットに、および（ＩＥＥＥ  ８０２．３またはイーサネット（登録商標）を使用する）有線ネットワークにコンピュータを接続するために使用することができる。Ｗｉ−Ｆｉネットワークは、例えば、免許不要の２．４ＧＨｚおよび５ＧＨｚラジオ帯域で、１１Ｍｂｐｓ（８０２．１１ａ）または５４Ｍｂｐｓ（８０２．１１ｂ）のデータレートあるいは両方の帯域を含む製品（デュアルバンド）で動作し、したがって、このネットワークは、多数のオフィスで使用される基本的な１０ＢａｓｅＴ有線イーサネット（登録商標）ネットワークに似た実世界の性能を提供することができる。
【００５６】
開示されたコンピュータ９０２は、ＨｉｐｅｒＬＡＮテクノロジと共に使用することもできる。ＨｉｐｅｒＬＡＮは、主にヨーロッパ諸国で使用される無線ローカルエリアネットワーク（ＷＬＡＮ）通信標準規格である。２つの仕様すなわち、ＨｉｐｅｒＬＡＮ／１およびＨｉｐｅｒＬＡＮ／２があり、この両方が、ヨーロッパ電気通信規格研究所によって採用されている。ＨｉｐｅｒＬＡＮ標準規格は、米国および他の採用する諸国で使用されているＩＥＥＥ  ８０２．１１  ＷＬＡＮ標準規格に似た特徴および機能を有する。ＨｉｐｅｒＬＡＮ／１は、無線周波数スペクトルの５ＧＨｚ範囲で２０Ｍｂｐｓまでの通信を提供する。ＨｉｐｅｒＬＡＮ／２は、同一のＲＦ帯域で５４Ｍｂｐｓまで動作し、データ、画像、および音声の通信の送受信に関して３Ｇ（第３世代）ＷＬＡＮシステムとの互換性がある。ＨｉｐｅｒＬＡＮ／２は、５ＧＨｚ  ＲＦ帯域で類似するシステムと連合する全世界での実施の可能性であり、そうなることが意図されている。
【００５７】
図１０を参照すると、本発明による例示的なコンピューティング環境１０００を示す概略ブロック図が示されている。システム１０００に、１つまたは複数のクライアント１００２が含まれる。クライアント１００２は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティング装置）とすることができる。クライアント１００２は、例えば、本発明を使用することによって、クッキーおよび／または関連するコンテキスト情報を収容することができる。システム１０００に、１つまたは複数のサーバ１００４も含まれる。サーバ１００４も、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティング装置）とすることができる。サーバ１００４は、例えば、本発明を使用することによって、変換を実行するスレッドを収容することができる。クライアント１００２とサーバ１００４の間の可能な通信の１つを、複数のコンピュータプロセスの間で伝送されるように適合されたデータパケットの形とすることができる。データパケットには、例えば、クッキーおよび／または関連するコンテキスト情報を含めることができる。システム１０００に、クライアント１００２とサーバ１００４の間の通信を容易にするのに使用することができる通信フレームワーク１００６（例えば、インターネットなどのグローバル通信ネットワーク）が含まれる。
【００５８】
通信を、有線テクノロジ（光ファイバを含む）および／または無線テクノロジを介して容易にすることができる。クライアント１００２は、クライアント１００２にローカルな情報（例えば、クッキーおよび／または関連するコンテキスト情報）を保管するのに使用できる１つまたは複数のクライアントデータストア１００８に機能的に接続される。同様に、サーバ１００４は、サーバ１００４にローカルな情報を保管するのに使用することができる１つまたは複数のサーバデータストア１０１０に機能的に接続される。
【００５９】
上で説明したものに、本発明の例が含まれる。もちろん、本発明を説明するためにコンポーネントまたは方法論の考えられるすべての組合せを記述することは可能ではないが、当業者は、本発明の多数のさらなる組合せおよび置換が可能であることを理解するであろう。したがって、本発明は、請求項の趣旨および範囲に含まれるそのような変更、修正、および変形のすべてを含むことが意図されている。さらに、用語「含む」が詳細な説明または請求項のいずれかで使用される範囲まで、そのような単語は、請求項で前後を接続する単語として使用される時に用語「備える」が解釈されるのと同一の形で包含的であることが意図されている。
【図面の簡単な説明】
【００６０】
【図１】本発明の態様による、ホワイトボードのデジタルキャプチャされた画像など、マルチレベル画像の適応圧縮を容易にするシステム１００を示す図である。
【図２】本発明の態様によるホワイトボードのデジタルキャプチャされた画像など、圧縮されたマルチレベル画像の適応圧縮解除を容易にするシステム２００を示す図である。
【図３】本発明の態様による、推論を行う人工知能（ＡＩ）コンポーネントを含む、ホワイトボードのデジタルキャプチャされた画像など、マルチレベル画像の適応圧縮を容易にするシステム３００を示す図である。
【図４】ホワイトボードキャプチャシステムによって作られる通常のデジタル画像を示す図である。
【図５】図４の色画像に対応して作られる白黒画像を示す図である。
【図６】本発明の態様による、色画像の各ピクセルを評価する反復フィードバックループを介する色画像からの白黒画像の構成を容易にする方法６００を示す図である。
【図７】本発明の態様による、圧縮の前の任意選択のカラーマップ縮小を伴うマルチレベル画像の適応圧縮を容易にする方法７００を示す図である。
【図８】本発明の態様による、ホワイトボードのデジタルキャプチャされた画像など、マルチレベル画像の適応圧縮を容易にする方法８００を示す図である。
【図９】本発明の様々な態様による例示的なコンピューティング環境を示す図である。
【図１０】本発明の様々な態様による例示的なコンピューティング環境を示す図である。
【符号の説明】
【００６１】
１００  マルチレベル画像の適応圧縮を容易にするシステム
２００  マルチレベル画像の適応圧縮解除を容易にするシステム
３００  マルチレベル画像の適応圧縮を容易にするシステム
６００  マルチレベル画像の適応圧縮の方法
７００  マルチレベル画像の適応圧縮およびバイレベル画像への変換の方法
８００  マルチレベル画像の適応圧縮の方法
９００  コンピューティング環境
１０００  例示的なコンピューティング環境
【図１】
2005323370.tif 000003
【図２】
2005323370.tif 000004
【図３】
2005323370.tif 000005
【図４】
2005323370.tif 000006
【図５】
2005323370.tif 000007
【図６】
2005323370.tif 000008
【図７】
2005323370.tif 000009
【図８】
2005323370.tif 000010
【図９】
2005323370.tif 000011
【図１０】
2005323370.tif 000012