(57)【特許請求の範囲】
【請求項１】
画像の独立した互いに素のブロックレベル再圧縮のために使用可能な量子化行列を生成するためのコンピュータ化方法において、前記画像は、少なくとも１つの第１の量子化行列を使用した先の画像の独立した互いに素のブロックレベル圧縮によって生成される、コンピュータ化方法であって、
第２の量子化行列を提供すること、および
プロセッサを使用して、前記第２の量子化行列を使用して前記画像の独立した互いに素のブロックレベル再圧縮を実施したときに、圧縮の程度と圧縮の品質との間に単調な関係を提供するように、前記第２の量子化行列を更新することを含み、これは、前記第１の量子化行列および前記第２の量子化行列における少なくとも１つの（行、列）位置について、
前記第１の量子化行列および前記第２の量子化行列の前記位置に配置された数値間の比を計算すること、
前記比の丸めを計算すること、
前記比と前記丸めとの差である丸め誤差を計算すること、および、
前記丸め誤差が非許容基準を満たす場合、プロセッサを使用して、前記第２の量子化行列の前記位置の値を減少させること、
を実施し、更新された前記第２の量子化行列を生じさせることを含む方法。
【請求項２】
前記提供することは、スケーリングファクタによって第３の量子化行列をスケーリングし、それにより、スケーリング済み行列を提供し、およびその後、前記スケーリング済み行列と前記第１の量子化行列の加重平均を計算することによって前記第２の量子化行列を生成することを含む請求項１に記載の方法。
【請求項３】
前記提供することは、提案される圧縮レベルに従って、前記第２の量子化行列を生成することを含む請求項１に記載の方法。
【請求項４】
前記提供することは、デフォルトＪＰＥＧ量子化行列である前記第２の量子化行列を提供することを含む請求項１に記載の方法。
【請求項５】
画像の独立した互いに素のブロックレベル再圧縮のために使用可能な量子化行列を生成するためのコンピュータ化システムにおいて、前記画像は、少なくとも１つの第１の量子化行列を使用した先の画像の独立した互いに素のブロックレベル圧縮によって生成される、コンピュータ化システムであって、当該コンピュータ化システムが、
第２の量子化行列を提供し、
前記第２の量子化行列を使用して前記画像の独立した互いに素のブロックレベル再圧縮を実施したときに、圧縮の程度と圧縮の品質との間に単調な関係を提供するように、前記第２の量子化行列を更新し、これは、前記第１の量子化行列および前記第２の量子化行列の少なくとも１つの（行、列）位置について、
前記第１の量子化行列および前記第２の量子化行列の前記位置に配置された数値間の比を計算すること、
前記比の丸めを計算すること、
前記比と前記丸めの差である丸め誤差を計算すること、および
前記丸め誤差が非許容基準を満たす場合、前記第２の量子化行列の前記位置の値を減少させること、
を実施し、更新された前記第２の量子化行列を生じさせるよう構成されたプロセッサを含む、コンピュータ化システム。
【請求項６】
前記提案される圧縮レベルは、修正品質ファクタおよび品質ファクタの少なくとも一方を使用してユーザによって選択される請求項３に記載の方法。
【請求項７】
前記非許容基準は、前記丸め誤差が許容丸め閾値より負側であることを含む請求項１に記載の方法。
【請求項８】
前記許容丸め閾値は、−０．１を含む請求項７に記載の方法。
【請求項９】
前記更新することは、前記第１の量子化行列および前記第２の量子化行列の全ての（行、列）位置について実施される請求項１に記載の方法。
【請求項１０】
さらに、前記圧縮の程度と前記圧縮の品質の間の前記単調な関係を維持しながら前記画像を再圧縮するために、更新された前記第２の量子化行列を利用することを含む請求項１に記載の方法。
【請求項１１】
前記再圧縮が、ＪＰＥＧ再圧縮である請求項１０に記載の方法。
【請求項１２】
前記第３の量子化行列がデフォルトＪＰＥＧ量子化行列である請求項２に記載の方法。
【請求項１３】
前記スケーリングファクタが、修正品質ファクタを利用して計算される請求項２に記載の方法。
【請求項１４】
前記提供することは、スケーリングファクタによって第３の量子化行列をスケーリングし、それにより、スケーリング済み行列を提供し、およびその後、前記スケーリング済み行列と前記第１の量子化行列の加重平均を計算することによって前記第２の量子化行列を生成することを含む請求項５に記載のシステム。
【請求項１５】
前記提供することは、提案される圧縮レベルに従って、前記第２の量子化行列を生成することを含む請求項５に記載のシステム。
【請求項１６】
前記提供することは、デフォルトＪＰＥＧ行列である前記第２の量子化行列を提供することを含む請求項５に記載のシステム。
【請求項１７】
前記提案される圧縮レベルは、修正品質ファクタおよび品質ファクタの少なくとも一方を使用してユーザによって選択される請求項１５に記載のシステム。
【請求項１８】
前記非許容基準は、前記丸め誤差が許容丸め閾値より負側であることを含む請求項５に記載のシステム。
【請求項１９】
前記許容丸め閾値は、−０．１を含む請求項１８に記載のシステム。
【請求項２０】
前記更新することは、前記第１の量子化行列および前記第２の量子化行列の全ての（行、列）位置について実施される請求項５に記載のシステム。
【請求項２１】
さらに、前記圧縮の程度と前記圧縮の品質の間の前記単調な関係を維持しながら前記画像を再圧縮するために、更新された前記第２の量子化行列を利用することを含む請求項５に記載のシステム。
【請求項２２】
前記再圧縮が、ＪＰＥＧ再圧縮である請求項２１に記載のシステム。
【請求項２３】
前記第３の量子化行列がデフォルトＪＰＥＧ量子化行列である請求項１４に記載のシステム。
【請求項２４】
プログラムであって、少なくとも１つの第１の量子化行列を使用した先の画像の独立した互いに素のブロックレベル圧縮によって生成される画像の独立した互いに素のブロックレベル再圧縮のために使用可能な量子化行列を生成するために、コンピュータに、
第２の量子化行列を提供すること、
プロセッサを使用して、前記第２の量子化行列を使用して前記画像の独立した互いに素のブロックレベル再圧縮を実施したときに、圧縮の程度と圧縮の品質との間に単調な関係を提供するように、前記第２の量子化行列を更新することを実行させるためのプログラムであって、前記更新することは、前記第１の量子化行列および前記第２の量子化行列における少なくとも１つの（行、列）位置について、
前記第１の量子化行列および前記第２の量子化行列の前記位置に配置された数値間の比を計算すること、
前記比の丸めを計算すること、
前前記比と前記丸めとの差である丸め誤差を計算すること、および、
前記丸め誤差が非許容基準を満たす場合、プロセッサを使用して、前記第２の量子化行列の前記位置の値を減少させること、
を実施し、更新された前記第２の量子化行列を生じさせることを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権は、「Ｒｅｃｏｍｐｒｅｓｓｉｏｎ  Ｏｆ  Ｄｉｇｉｔａｌ  Ｉｍａｇｅｓ  Ｕｓｉｎｇ  Ａ  Ｒｏｂｕｓｔ  Ｍｅａｓｕｒｅ  Ｏｆ  Ｐｅｒｃｅｐｔｕａｌ  Ｑｕａｌｉｔｙ  Ｉｎｃｌｕｄｉｎｇ  Ｉｍｐｒｏｖｅｄ  Ｑｕａｎｔｉｚａｔｉｏｎ  Ｍａｔｒｉｘ  Ｃｏｍｐｕｔａｔｉｏｎ」という名称の２０１０年４月２９日に出願された米国仮出願第６１／３２９，２１７号、「Ｒｅｃｏｍｐｒｅｓｓｉｏｎ  Ｏｆ  Ｄｉｇｉｔａｌ  Ｉｍａｇｅｓ」という名称の２０１０年９月１７日に出願された米国仮出願第６１／３８３，７５０号、「Ａｐｐａｒａｔｕｓ  Ａｎｄ  Ｍｅｔｈｏｄｓ  Ｆｏｒ  Ｒｅ−Ｃｏｍｐｒｅｓｓｉｏｎ  Ｈａｖｉｎｇ  Ａ  Ｍｏｎｏｔｏｎｉｃ  Ｒｅｌａｔｉｏｎｓｈｉｐ  Ｂｅｔｗｅｅｎ  Ｅｘｔｅｎｔ  Ｏｆ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ａｎｄ  Ｑｕａｌｉｔｙ  Ｏｆ  Ｃｏｍｐｒｅｓｓｅｄ  Ｉｍａｇｅ」という名称の２０１０年１０月５日に出願された米国仮出願第６１／３８９，８２８号、および、「Ａｐｐａｒａｔｕｓ  Ａｎｄ  Ｍｅｔｈｏｄｓ  Ｆｏｒ  Ｒｅｃｏｍｐｒｅｓｓｉｏｎ  Ｏｆ  Ｄｉｇｉｔａｌ  Ｉｍａｇｅｓ」という名称の２０１０年１０月５日に出願されたＰＣＴ出願第２０１０／０００８０９号から主張される。
【０００２】
本発明は、一般に、デジタル画像の圧縮に関し、より詳細には、デジタル画像の再圧縮に関する。
【背景技術】
【０００３】
ｊｐｅｇ画像などのデジタル画像の再圧縮がよく知られている。
【０００４】
圧縮の程度と圧縮済み画像の品質との間に単調な関係を有することが望ましい。
【発明の概要】
【０００５】
本発明のある実施形態は、たとえば、量子化誤差の増加をもたらす可能性がある量子化器の値を認識し、それらの値を回避することによって、圧縮の程度を関数として圧縮済み画像品質の単調性を提供する画像の再圧縮を提供することを求める。
【０００６】
本発明のある実施形態は、再圧縮システムを提供することを求め、当再圧縮システムは、選択された圧縮の程度を提供する装置と、選択された圧縮の程度に従って画像を圧縮する装置とを備え、圧縮する装置は、選択された品質ファクタから量子化行列を導出する装置であって、それにより、量子化行列を使用して圧縮された画像の品質スコアが、選択された圧縮の程度に単調に関連する、導出する装置を含む。圧縮の程度は、たとえば一般的なＪＰＥＧ画像エンコーダで一般に使用されるように、所与の量子化行列をスケーリングするためのスケーリングファクタを導出するために使用される品質ファクタ（ＱＦ）尺度によって、または、「Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｒｅｃｏｍｐｒｅｓｓｉｏｎ  ｏｆ  Ｄｉｇｉｔａｌ  Ｉｍａｇｅｓ」という名称の出願人の本出願と同時に提出した出願に示され述べられる方法のうちの任意の方法によって計算されうる修正品質ファクタ（ＭＱＦ）によって表されることができる。ＱＦまたはＭＱＦは、ＧＵＩなどの適したユーザ入力デバイスを使用してユーザ選択される、コンピュータアルゴリズムによって生成される、または、テーブル内で予め規定されることができる。
【０００７】
したがって、本発明の態様によれば、先の画像内の互いに素のブロックの独立したコーディングによって生成される第１の画像の独立した互いに素のブロックレベル再圧縮のためのコンピュータ化方法が提供されており、第１の画像は、第１の画像に関連する少なくとも１つの第１の量子化行列を有し、この方法は、プロセッサを使用して、第１の画像に関して少なくとも１回の独立した互いに素のブロックレベル圧縮オペレーションを実施し、それにより、再圧縮された第２の画像を生成し、これはは新しい量子化行列を生成することを含み、および、独立した互いに素のブロックレベル圧縮のために新しい量子化行列を使用し、これは、新しい量子化行列を利用する量子化プロセスによって生成される丸め誤差を計算することを含む。
【０００８】
本発明の実施形態によれば、方法が提供されており、この方法において、新しい量子化行列は、少なくとも１つのスケーリングファクタによって少なくとも１つの第２の量子化行列をスケーリングすることであって、それにより、少なくとも１つのスケーリング済み行列を提供し、、およびその後、少なくとも１つの第１の量子化行列と前記少なくとも１つのスケーリング済み行列の加重平均として少なくとも１つのさらなる量子化行列を計算することによって生成される。
【０００９】
本発明の実施形態によれば、方法がさらに提供されており、この方法において、新しい量子化行列の少なくとも１つの値は、前記丸め誤差を最小にするように調整される。
【００１０】
本発明の実施形態によれば、方法がなおさらに提供されており、この方法において、新しい量子化行列の少なくとも１つの値は、丸め誤差を最小にするように調整される。
【００１１】
本発明の実施形態によれば、再圧縮された第２の画像をリモート受信機に送信することを含む方法がなおさらに提供されている。
【００１２】
本発明の実施形態によれば、ある方法がなおさらに提供されており、この方法において、調整することは、提案される圧縮レベルに従って、量子化行列を計算すること、量子化行列の各量子化値について、オリジナル画像において、提案される量子化値および量子化行列からの対応する量子化値を使用して丸め誤差を計算すること、その丸め誤差が所与の閾値より小さい任意の量子化値について、丸め誤差が所定の閾値を超えるまで、所与の方向にその値を１だけ繰返し修正すること、および、丸め誤差が閾値を超えると、結果として得られる量子化値を使用することを含む。
【００１３】
本発明の実施形態によれば、ＪＰＥＧ標準行列を含む第１の量子化行列を提供することを含む方法がなおさらに提供されている。
【００１４】
本発明の態様によれば、先の画像内の互いに素のブロックの独立したコーディングによって生成される第１の画像の独立した互いに素のブロックレベル再圧縮のためのコンピュータ化システムが提供されており、第１の画像は、第１の画像に関連する少なくとも１つの第１の量子化行列を有し、このシステムは、互いに素の丸め誤差低減ブロックレベル圧縮器を備え、互いに素の丸め誤差低減ブロックレベル圧縮器は、第１の画像に関して少なくとも１回の独立した互いに素のブロックレベル圧縮オペレーションを実施し、それにより、再圧縮された第２の画像を生成し、これは新しい量子化行列を生成することを含み、ならびに、独立した互いに素のブロックレベル圧縮のために新しい量子化行列を使用し、これは、新しい量子化行列を利用する量子化プロセスによって生成される丸め誤差を減らすために、新しい量子化行列で少なくとも一個の記入の丸め誤差を計算すること及びもし必要な場合、新しい量子化行列の価値を調節することを含む。
【００１５】
本発明の態様によれば、コンピュータ化圧縮方法がさらに提供されており、この方法は、既知の第１の量子化行列を使用して圧縮された第１の画像を提供すること、候補の第２の量子化行列を提供すること、プロセッサを使用して、前記候補の量子化行列を修正することであって、それにより、修正済み量子化行列は、その品質が圧縮の程度に比例する圧縮済み画像を提供する、修正すること、および、１番目の画像を圧縮するために、最後の２番目の量子化行列を使用することを含む。
【００１６】
本発明の実施形態によれば、方法がなおさらに提供されており、この方法において、修正することは、最後の２番目の量子化行列についての候補を使用することであって、それにより、それ自身と既知の１番目の量子化行列との間で丸め誤差を評価し、、１番目の行列の１Ｘの対応する値と１番目の行列の２Ｘの対応する値との間に入る問題となる値を探索すること、および、前記探索において見出されたそれぞれの問題となる値を、１番目の行列の対応する値と置換することであって、それにより、前記最後の２番目の量子化行列を取得する、置換することを含む。
【００１７】
本発明の実施形態によれば、方法がなおさらに提供されており、この方法において、修正することは、候補の第２の量子化行列を提供すること、候補の第２の量子化行列のそれぞれの個々の要素について、第１の行列と候補の第２の行列との間の関係が与えられて予想されうる丸め誤差を推定すること、丸め誤差がゼロから離れ過ぎている間、個々の２番目の行列の要素を１だけ繰返し変化させることであって、それにより、最後の２番目の量子化行列を取得する、変化させることを含む。
【００１８】
本発明の実施形態によれば、方法がなおさらに提供されており、この方法において、独立した互いに素のブロックレベル再圧縮は、ＪＰＥＧ再圧縮を含む。
【００１９】
本発明の実施形態によれば、方法がなおさらに提供されており、この方法において、丸め誤差を計算することは、量子化行列の対応する量子化器エントリの比と比の丸められた値との差を計算することを含む。
【００２０】
本発明の実施形態によれば、方法がなおさらに提供されており、この方法において、丸め誤差は、量子化行列の２つの対応する量子化器の値の比を丸めることから生じる誤差を含む。
【００２１】
本発明の態様によれば、コンピュータ化再圧縮システムがなおさらに提供されており、このシステムは、選択された圧縮の程度を提供する装置と、選択された圧縮の程度に従って画像を圧縮するようにプロセッサを使用する装置とを備え、プロセッサを使用する装置は、選択された品質ファクタから量子化行列を導出する装置を含み、それにより、量子化行列を使用して圧縮された画像の品質スコアが、選択された圧縮の程度に単調に関連する、導出する装置を含む。
【００２２】
本発明の実施形態によれば、圧縮の程度がＱＦ尺度によって表されるシステムがなおさらに提供される。
【００２３】
本発明の実施形態によれば、圧縮の程度がＭＱＦによって表されるシステムがなおさらに提供される。
【００２４】
本発明の態様によれば、コンピュータ化再圧縮システムがなおさらに提供されており、システムは、少なくとも１つの第１の画像を圧縮するために使用される既知の第１の量子化行列を適合するために候補の量子化行列を修正する装置を含み、それにより、圧縮された少なくとも１つの第１の画像から再圧縮される、少なくとも１つの再圧縮画像を提供することになる修正済み量子化行列を生成する、修正する装置を備え、少なくとも１つの再圧縮画像の品質は、圧縮された第１の画像に対する再圧縮画像の圧縮の程度に比例し、少なくとも圧縮された第１の画像を再圧縮するために修正済み量子化行列を使用するプロセッサを使用する装置を備える。
【００２５】
本発明の態様によれば、コンピュータ化再圧縮方法がなおさらに提供されており、この方法は、選択された圧縮の程度を提供すること、および、プロセッサを使用して選択された圧縮の程度に従って画像を圧縮することを含み、これは、選択された品質ファクタから量子化行列を導出することであって、それにより、量子化行列を使用して圧縮された画像の品質スコアが、選択された圧縮の程度に単調に関連し、および、画像を圧縮するために量子化行列を使用することを含む。
【００２６】
本発明の実施形態によれば、方法がなおさらに提供されており、この方法は、新しい量子化行列を利用する量子化プロセスによって生成される丸め誤差を低減するために、新しい量子化行列の少なくとも１つの値を調整するか否かを判定すること、および、調整すると判定される場合、新しい量子化行列を利用する量子化プロセスによって生成される丸め誤差を低減するために、新しい量子化行列の少なくとも１つの値を調整することを含む。
【００２７】
本発明の実施形態によれば、方法がなおさらに提供されており、この方法において、圧縮レベルは、ＭＱＦおよびＱＦの少なくとも一方を使用してユーザによって選択される。
【００２８】
同様に、コンピュータプログラム製品が提供され、コンピュータプログラム製品は、通常、有形で、内部で具現化されるコンピュータ可読プログラムコードを有する、コンピュータ使用可能媒体またはコンピュータ可読記憶媒体を備え、コンピュータ可読プログラムコードは、本明細書で示し述べられる方法の任意のまたは全ての方法を実装するために実行されるようになっている。本明細書で示され述べられる計算ステップの任意のまたは全てのステップはコンピュータ実装式とすることができることが認識される。本明細書の教示によるオペレーションは、コンピュータ可読記憶媒体に記憶されたコンピュータプログラムによって、所望の目的のために特別に構築されたコンピュータによってまたは所望の目的のために特別に構成された汎用コンピュータによって実施されることができる。
【００２９】
任意の適したプロセッサ、ディスプレイ、および入力手段は、本明細書で示され述べられる方法および装置のうちの任意の方法および装置によって使用されるかまたは生成される情報などの情報を、処理し、たとえばコンピュータスクリーンまたは他のコンピュータ出力デバイス上で表示し、記憶し、受取るために使用されることができ、上記プロセッサ、ディスプレイ、および入力手段は、本発明の実施形態の一部または全てによるコンピュータプログラムを含む。本明細書で示され述べられる本発明の任意のまたは全ての機能は、処理するために使用される、汎用のまたは特別に構築された、従来のパーソナルコンピュータプロセッサ、ワークステーション、または他のプログラム可能なデバイスまたはコンピュータ、あるいは電子コンピューティングデバイスによって、表示するためのコンピュータディスプレイスクリーンおよび／またはプリンタおよび／またはスピーカによって、記憶するための、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、または他のディスク、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気か、光か、他のカードなどの機械可読メモリによって、また、受取るためのキーボードまたはマウスによって実施されることができる。先に使用した用語「プロセス(process)」は、たとえばコンピュータのレジスタおよび／またはメモリ内で起こるかまたは存在することができる、物理的現象、たとえば電子的現象として表されるデータの任意のタイプの計算か、操作か、または変換を含むことを意図される。用語、プロセッサは、単一処理ユニットあるいは複数の分散されたまたはリモートのこうしたユニットを含む。
【００３０】
上記デバイスは、任意の従来の有線または無線デジタル通信手段を介して、たとえば、有線のまたは携帯の電話ネットワーク、または、インターネットなどのコンピュータネットワークを介して通信することができる。
【００３１】
本発明の装置は、本発明のある実施形態によれば、機械によって実行されると、本明細書で示され述べられる本発明の装置、方法、機構(feature)、および機能の一部または全てを実装する命令のプログラムを含むかまたはその他の方法で記憶する機械可読メモリを含むことができる。別法としてまたは付加的に、本発明の装置は、本発明のある実施形態によれば、任意の従来のプログラミング言語で書かれることができる上記プログラム、および、任意選択で、限定はしないが、本発明の教示に従って任意選択で構成されるかまたは起動されることができる汎用コンピュータなどの、プログラムを実行する機械を含むことができる。本明細書に組込まれる教示のうちの任意の教示は、物理的オブジェクトまたはサブスタンスを表す信号に関して働くことができる。
【００３２】
先に参照された実施形態および他の実施形態は、次の節で詳細に述べられる。
【００３３】
テキストまたは図面に見出される任意の商標は、その所有者の所有物であり、本発明の実施形態がどのように実装されることができるかの一例を説明するまたは示すためだけに本明細書で見出される。
【００３４】
別途指示されない限り、以下の論議から明らかであるように、仕様の論議全体を通して、「処理すること(processing)」、「計算すること(computing)」、「推定すること(estimating)」、「選択すること(selecting)」、「ランク付けすること(ranking)」、「等級付けすること(grading)」、「計算すること(calculating)」、「決定すること(determining)」、「生成すること(generating)」、「再評価すること(reassessing)」、「分類すること(classifying)」、「生成すること(generating)」、「生産すること(producing)」、「ステレオマッチングすること(stereo-matching)」、「登録すること(registering)」、「検出すること(detecting)」、「関連付けすること(associating)」、「重ね合わせること(superimposing)」、「得ること(obtaining)」などのような用語を利用することは、コンピューティングシステムのレジスタおよび／またはメモリ内の電子的量などの物理的量として表されるデータを、コンピューティングシステムのメモリ、レジスタ、または他のこうした情報記憶、伝送、または表示デバイス内の物理的量として同様に表される他のデータになるように操作および／または変換する、コンピュータまたはコンピューティングシステムあるいはプロセッサまたは同様な電子コンピューティングデバイスのアクションおよび／またはプロセスを指すことが認識される。用語「コンピュータ(computer)」は、非制限的な例として、パーソナルコンピュータ、サーバ、コンピューティングシステム、通信デバイス、プロセッサ（たとえば、デジタル信号プロセッサ（ＤＳＰ）、マイクロコントローラ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）、および他の電子コンピューティングデバイスを含む、データ処理能力を有する任意の種類の電子デバイスをカバーすると幅広く解釈されるべきである。
【００３５】
本発明は、単に明確にするために、特定のプログラミング言語、オペレーティングシステム、ブラウザ、システムバージョン、個々の製品などに特有の用語によって述べられることができる。この用語は、一般的な動作原理を、例として明確にかつ簡潔に伝えることを意図され、任意の特定のプログラミング言語、オペレーティングシステム、ブラウザ、システムバージョン、または個々の製品に本発明の範囲を限定することを意図されないことが認識される。
【００３６】
本明細書で別々に挙げられる要素は、別個のコンポーネントである必要はなく、あるいは、同じ構造とすることができる。本明細書で述べるステップの一部または全ては、とりわけコンピュータプロセッサを使用することができる。
【００３７】
本発明のある実施形態が、以下の図面に示される
【図面の簡単な説明】
【００３８】
【図１】本発明のある実施形態に従って構築され働く再圧縮方法の略フローチャートである。
【図２】図２Ａ−２Ｄは、本明細書に示され述べられる再圧縮方法のある態様を理解するときに有用なグラフおよび表である。
【図３】図３Ａ−３Ｂは、ＭＱＦの関数として、６４個のＱ行列値のそれぞれについて図２Ｃで示すＱ行列に関して得られる丸め誤差および絶対丸め誤差のグラフである。図３Ｃ−３Ｄは、ＭＱＦの関数として、６４個のＱ行列値のそれぞれについて図２Ｃで示すＱ行列に関して得られる丸め誤差および絶対丸め誤差のグラフである。
【図４】本発明のある実施形態による、量子化行列計算機能と連携して有用であるコンピュータコード化ループの図である。
【図５Ａ】本発明の一実施形態に従って構築され働く再圧縮のための方法の略フローチャートである。
【図５Ｂ】本発明の別の実施形態に従って構築され働く再圧縮のための方法の略フローチャートである。
【図５Ｃ】図５Ｂの丸め誤差推定を実施する方法の略フローチャートである。
【図６】図６Ａは、図７の単調増加機能を使用しない例示的な画像についての、得られる品質スコア対ＭＱＦのグラフである。図６Ｂは、図７の単調増加機能を使用する例示的な画像についての、得られる品質スコア対ＭＱＦのグラフである。
【図７】本発明のいくつかの実施形態による、問題となる量子化器の値をディセーブルする方法の略フローチャートである。
【図８】たとえば本明細書で示され述べられるように、単調増加機能を適用した後の最後の量子化行列を表す表である。
【図９】図９ａ−９ｇは、本発明のある実施形態によって部分的にまたは全体的に克服される、精密に量子化しても丸め誤差が増加する問題を理解するときに有用な表である。図９ａは、逆量子化後のオリジナルのＤＣＴ係数を表す表である。図９ｂは、第１の量子化行列を表す表である。図９ｃは、図９ｂの行列に関する量子化および逆量子化後の、結果として得られるＤＣＴ係数を表す表である。図９ｄは、図９ｃの値と図９ａの値との間の絶対誤差を表す表である。図９ｅは、第２の量子化行列を表す表である。図９ｆは、図９ｅの行列に関する量子化および逆量子化後の、結果として得られるＤＣＴ係数を表す表である。図９ｇは、図９ｆの値と図９ａの値との間の絶対誤差を表す表である。
【図１０】図１０Ａ−１０Ｅは、本発明のある実施形態に従って働く量子化行列計算プロセスを理解するときに有用な表である。
【図１１】図１１Ａ−１１Ｂは、一緒にかんがえられると、先の画像内の互いに素のブロックの独立したコーディングによって生成される第１の画像の独立した互いに素のブロックレベル再圧縮のためのコンピュータ化方法の略フローチャートを形成し、第１の画像は、第１の画像に関連する少なくとも１つの第１の量子化行列を有し、方法は、たとえば次の通りに適切に順序付けられた示すステップの一部または全てを含む。
【図１２】本発明のある実施形態による、新しい量子化行列を生成する方法の略フローチャートである。
【発明を実施するための形態】
【００３９】
以下の再圧縮方法は、図１に示すように、ある実施形態に従って提供される。図１の方法は、たとえば示すように適切に順序付けられた以下のステップの一部または全てを含む。
ステップ１０：ＪＰＥＧ画像を入力する
ステップ２０：再圧縮のために使用するために量子化行列を提供する
ステップ３０：ステップ２０で提供された量子化行列について単調増加プロセスを実施し、それにより、単調化された量子化行列は、その品質が圧縮の程度に比例する圧縮画像を提供することになる
ステップ４０：ステップ３０で生成された単調化された量子化行列を用いて、入力されたＪＰＥＧ画像を圧縮する
ステップ５０：圧縮済みＪＰＥＧ画像を出力する
【００４０】
一般に、品質スコア、たとえばＰＳＮＲは、従来のＪＰＥＧコーダにおいて適用される圧縮量に関して単調でない。たとえば、所定の場合に関する主観的評価において、品質は、圧縮量が減少すると低下する。
【００４１】
たとえば、１つの画像は、以下の知覚品質スコア（ｑｕａｌＳ）対ＭＱＦをもたらすことがわかった。ＭＱＦ：７０ｑｕａｌＳ：０．４０６９
ＭＱＦ：８０ｑｕａｌＳ：０．３８００５
ＭＱＦ：８８ｑｕａｌＳ：０．０５８５０４
ＭＱＦ：９２ｑｕａｌＳ：０．８６３２４
ＭＱＦ：９０ｑｕａｌＳ：０．１６３８
ＭＱＦ：９１ｑｕａｌＳ：０．７９９８７
【００４２】
図２Ａのグラフは、量子化器の値（すなわち、量子化行列要素値）を１２から１まで変えるときに値１００（ｘ）および値９０（ｏ）を量子化するときに得られる実際の値を示す。より精密に量子化しても誤差が増加することが多い。たとえば、１００の場合、Ｑ＝１０によって、誤差が全く存在せず、一方、Ｑ＝８の場合、４の誤差が存在する。
【００４３】
本発明の実施形態によれば、量子化行列Ｑ１を使用して圧縮された画像を再圧縮するとき、使用される量子化行列Ｑ２は、行列のエントリの任意のエントリについて以下の状況を回避するようなものであるべきである。
ａｂｓ（Ｑ１／Ｑ２ａ−ｒｏｕｎｄ（Ｑ１／Ｑ２ａ））＝０．５
【００４４】
品質の非単調性、すなわち低下(drop)を引起すものは、図３Ａ〜３Ｄに示すように、絶対量子化誤差だけでなく、その位相でもあると思われる。単調品質の場合、ほとんど全ての量子化要素誤差は常に正であることが認識される。したがって、絶対誤差に境界を付ける調整を実施するのではなく、ある閾値より小さい丸めを引起す誤差を「ディセーブルする(disable)」調整が導入されることができる。
【００４５】
図４に示すループは、本明細書で述べるかまたは慣例であるように、値を計算しクリッピングした後、再圧縮のための提案された量子化行列を計算する機能に付加されることができる。図４のオペレーションは、１反復について、８×８量子化行列内の６４個の量子化器の値のそれぞれについて１回だけ実施されることができる。
【００４６】
図５Ａは、本発明の一実施形態に従って構築され働く再圧縮のための方法の略フローチャートである。図５Ａの方法は、通常、たとえば示すように適切に順序付けられた以下のステップの一部または全てを含む。
ステップ５１０．既知の第１の量子化行列を使用して、圧縮された第１の画像を提供する
ステップ５２０．たとえば、修正品質ファクタの計算を含む反復プロセスであって、量子化行列を生成するためにこのＭＱＦを使用する、反復プロセスを使用して、候補の第２の量子化行列を提供する。たとえば、図１２のように、入力されたＪＰＥＧ画像を圧縮するために使用される第１の量子化行列およびデフォルトＪＰＥＧ行列または圧縮される画像に適合する行列などの第２の行列を含む２つの行列が結合されることができる。ＭＱＦが、スケーリングファクタを計算するために使用され、第２の行列がスケーリングされ、結果として得られるスケーリング済み行列と第１の行列の加重平均が計算される。
ステップ５３０．候補の２番目の行列において、１番目の行列の１Ｘの対応する値と１番目の行列の２Ｘの対応する値との間に入る「問題となる(problematic)」値を探索する。それぞれの問題となる値を、１番目の行列の対応する値と置換し、それにより、最後の２番目の量子化行列が得られる。
ステップ５４０．１番目の画像を圧縮するために最後の２番目の量子化行列を使用する
【００４７】
図５Ｂは、本発明の別の実施形態に従って構築され働く再圧縮のための方法の略フローチャートである。図５Ｂの方法は、通常、たとえば示すように適切に順序付けられた以下のステップの一部または全てを含む。
ステップ５５０．既知の第１の量子化行列を使用して圧縮された第１の画像を提供する
ステップ５６０．たとえば図１２のように、候補の第２の量子化行列を提供する
ステップ５７０．候補の第２の量子化行列内の各要素について
ステップ５８０．たとえば図５Ｃの方法を使用して、第１の行列と候補の第２の行列との間の関係が与えられると予想されうる丸め誤差を推定する
ステップ５９０．丸め誤差がゼロから離れ過ぎている、たとえば負であり過ぎる、たとえば−０．１未満である場合、目下の２番目の行列の要素から１を加算／減算し、ステップ５８０に戻る
ステップ６００．候補の２番目のｑ行列内の全ての要素について満足のいく推定丸め誤差を保証するのに十分に、２番目の行列内の全ての要素に対して、１が加算／減算されると、第１の画像を再圧縮するために、この修正された候補の第２の量子化行列を使用する
【００４８】
図５Ｃは、図５Ｂの丸め誤差推定を実施する方法の略フローチャートである。図５Ｃの方法は、通常、たとえば示すように適切に順序付けられた以下のステップの一部または全てを含む。
ステップ６１０．「丸め誤差(rounding error)」を計算する：Ｑｒ＝Ｑｖ_ｉｎｐｕｔ／Ｑｖ_ｐｒｏｐｏｓｅｄを計算する
ステップ６２０．Ｅｒ＝Ｑｒ−ｒｏｕｎｄ（Ｑｒ）を計算する
ステップ６３０．６４個の要素のそれぞれについて、Ｅｒ＜−０．１である間（Ｅｒは、Ｅｒが生成される方法のために、−０．５より小さくない）、Ｑｖ_ｐｒｏｐｏｓｅｄ＝Ｑｖ_ｐｒｏｐｏｓｅｄ−１（または＋１）を計算し、Ｅｒ＜−０．１であることがもはや真でなくなるまで繰返す
【００４９】
本明細書で提案される方法のいくつかの実施形態を使用して再圧縮された多数の画像を調べた後、品質スコアと知覚される画像品質は共に、ＭＱＦに関して単調でなく、そのことが、反復的な知覚的にロスレス再圧縮システムにおける最適ＭＱＦのための探索プロセスを拡張させうることがわかった。
【００５０】
この効果を立証するために、Ｖ１を、オリジナルＪＰＥＧにおけるデコードされ量子化されるＤＣＴとし、Ｑ１を、オリジナルＪＰＥＧ  Ｑ行列内の対応する量子化器の値にする。次に、逆量子化後の再構成値は、Ｖ１＊Ｑ１である。Ｑ２を、再圧縮プロセスにおいて量子化行列によって使用される対応する量子化器の値とする。次に、Ｖ２、新しい量子化されるＤＣＴは、Ｖ２＝ｒｏｕｎｄ（Ｖ１＊Ｑ１／Ｑ２）で与えられる。この値は、次に、Ｖ２＊Ｑ２としてデコーダにおいて再構成されることになる。
【００５１】
したがって、再量子化プロセスによって導入される誤差は、
Ｑｅ＝（Ｖ１＊Ｑ１）−（Ｖ２＊Ｑ２）＝Ｖ１＊Ｑ１−Ｑ２＊ｒｏｕｎｄ（Ｖ１＊Ｑ１／Ｑ２）
である。
【００５２】
量子化比ＱＲが、ＱＲ＝Ｑ１／Ｑ２であるように規定される場合、これは、
Ｑｅ＝Ｑ２＊（Ｖ１＊ＱＲ−ｒｏｕｎｄ（Ｖ１＊ＱＲ））
をもたらすことになる。
【００５３】
この誤差は、特定のＤＣＴ係数値に依存するが、係数がランダムに分布すると仮定すると、誤差は、ＱＲ−ｒｏｕｎｄ（ＱＲ）に比例する、すなわち、ＱＲが整数値から離れれば離れるほど、予想される誤差は大きくなる。
【００５４】
品質の主要な低下は、この丸め誤差［ＱＲ−ｒｏｕｎｄ（ＱＲ）］が大きく負であるときに起こることを、さらなる評価が示した。したがって、丸め誤差が、それについてある閾値より小さい、新しい量子化器の値をディセーブルする調整が導入されることができる。
【００５５】
図６ａおよび図６ｂは、それぞれ、単調改善プロセスがない場合とある場合の例示的な画像についての、得られる品質スコア対ＭＱＦの例である。図６ａの場合に使用されないが図６ａの場合に使用される単調改善プロセスは、図７で述べられる。図７の方法は、通常、たとえば示すように適切に順序付けられた以下のステップの一部または全てを含む。
ステップ７１０．たとえば図１２のように、提案されたＭＱＦに従ってＱ行列を計算する
ステップ７２０．Ｑ内の６４個のそれぞれについて、提案されたｑ値とオリジナル画像内の量子化行列からの対応するｑ値を使用して丸め誤差を計算する
ステップ７３０．その丸め誤差が所与の閾値より小さい任意のｑ値について、丸め誤差が閾値を超えるまで、その値を１だけ繰返し増加または減少させる
ステップ７４０．丸め誤差が閾値を超えると、結果として得られるｑ値を使用する
【００５６】
図７に示すプロセスは、２つの自由度、すなわち、非許容丸め誤差用の閾値を選択すること、および、提案された量子化値を、その値を増加させるかまたは減少させることによって補正することを有する。図７に示すプロセスを実装する１つの方法は、量子化値減少手法を用いて、たとえば約−０．１の閾値によって閾値処理することであることがわかった。
【００５７】
さらなる実施形態によれば、代替のプロセスは、非単調問題に関して使用されることができ、この代替のプロセスは、オリジナル量子化値の二倍又は２倍以下である、すなわちｑ_ｎｅｗ＜＝２＊ｑ_ｏｒｇである、提案されたｑ値を識別し、量子化値をｑ_ｏｒｇまたは１．１＊ｑ_ｏｒｇになるように補正することを含む。図６ａおよび図６ｂは、それぞれ、図７の単調フィックスがない場合とある場合の例示的な画像についての、得られる品質スコア対ＭＱＦの例をグラフで示す。
【００５８】
図８は、新しい量子化行列を計算した後に、たとえば本明細書で示され述べられるように、単調フィックス（単調増加）を適用する例を示す。フィックスによって影響を及ぼされる値は、太字示される。図９ａ〜９ｇは、精密に量子化しても丸め誤差が増加する例を示し、たとえば、本発明のある実施形態に従って、問題となる量子化器の値をディセーブルすることによって、画像品質対ＭＱＦ関数の単調性を保証するまたは増加させることの重要性を立証する。
【００５９】
特に、図９ａは、逆量子化後の入力画像のオリジナルのＤＣＴ係数を示す。図９ｂは、入力画像を圧縮するために使用される量子化行列の例を示す。図９ｃは、図９ｂの行列による量子化と逆量子化後の、結果として得られるＤＣＴ係数を示す。図９ｄは、図９ｃの値と図９ａの値との間の絶対誤差を示す。
【００６０】
図９ｅは、入力画像を圧縮するために使用される第２の量子化行列の例を示し、第２の量子化行列は、図９ｂの行列より精密であり、したがって、実際にではないが理論的に、品質が高い画像を生成することが予想される。図９ｆは、図９ｅの行列による量子化と逆量子化後の、結果として得られるＤＣＴ係数を示す。図９ｇは、図９ｆの値と図９ａの値との間の絶対誤差を示す。
【００６１】
第１の量子化行列を使用した、再構成された係数とオリジナル係数との間の平均絶対誤差、たとえば図９ｄの値の平均は、１．１である。第１の行列より精密である第２の量子化行列を使用した、再構成された係数とオリジナル係数との間の平均絶対誤差、たとえば図９ｇの値の平均は、１．５である。要約すると、より精密な量子化行列によって圧縮することは、低い品質の画像、したがって、本明細書で示され述べられる単調提供または増加方法の有用性をもたらしうる。
【００６２】
図１０Ａ〜１０Ｅは、本明細書で先に示され述べられた方法と共に有用な量子化行列計算プロセスのステージを示す表である。
【００６３】
図１０Ａは、再圧縮される入力ＪＰＥＧ画像を生成するために使用される例示的な量子化行列である。
【００６４】
図１０Ｂは、予め選択された量子化行列である。
【００６５】
図１０Ｃは、ＭＱＦ＝９０⇒ｓｃ＝０．２を使用する、スケーリングされた量子化行列である。
【００６６】
図１０Ｄは、以下の式に基づくことができる平均＋クリッピングステージの出力である。
Ｍａｘ{ＱＭｉｎｐｕｔ，ｒｏｕｎｄ［０．５＊（ＱＭ１＋ＱＭｉｎｐｕｔ）］}
【００６７】
図１０Ｅは、本明細書で示され述べられる単調増加ステージの出力であり、このステージで修正される行列の要素は太字で示される。
【００６８】
図１１Ａおよび図１１Ｂは、一緒に考えられると、先の画像内の互いに素のブロックの独立したコーディングによって生成される第１の画像の独立した互いに素のブロックレベル再圧縮のためのコンピュータ化方法の略フローチャートを形成し、第１の画像は、第１の画像に関連する少なくとも１つの第１の量子化行列を有し、方法は、たとえば次の通りに適切に順序付けられた示すステップの一部または全てを含む。
図１１Ａにおいて、
ステップ８１０：プロセッサを使用して、第１の画像に関して少なくとも１回の独立した互いに素のブロックレベル圧縮オペレーションを実施することであって、それにより、再圧縮された第２の画像を生成し、実施することとは新しい量子化行列を生成することを含む、実施すること
ステップ８２０：前記独立した互いに素のブロックレベル圧縮のために前記新しい量子化行列を使用することであって、行列内の少なくとも１つのまた通常全ての（行、列）位置について図１１Ｂの方法を実施することを含む、使用すること
図１１Ｂにおいて、
ステップ８３０：新しい量子化行列を利用する量子化プロセスによって生成される丸め誤差を計算すること
ステップ８４０：丸め誤差が非許容基準を満たす、たとえば丸め誤差が、限定はしないが−０．１などの許容丸め閾値より大きく負側にある場合、前記新しい量子化行列を利用する量子化プロセスによって生成される丸め誤差を減少させるために、前記新しい量子化行列の少なくとも１つの値を調整すること
【００６９】
図１２は、本発明のある実施形態による、新しい量子化行列を生成する方法の略フローチャートである。
【００７０】
図１２の方法は、通常、たとえば示すように適切に順序付けられた以下のステップの一部または全てを含む。
ステップ９１０：ＱＯｉｊ（ｉ，ｊ＝１…８）は、オリジナル画像の量子化行列である
ＱＯｉｊ（ｉ，ｊ＝１…８）は、第２の量子化行列、たとえば、ＪＰＥＧ標準で述べられるデフォルト量子化行列、画像について計算される最適ＪＰＥＧ量子化行列、オリジナル画像の量子化行列、または、画像をエンコードするために選択される任意の他の第２の量子化行列である。
ＭＱＦは、再圧縮の目下の反復で使用される修正品質ファクタである。
ステップ９１５：次の通りに、第２のｔ量子化行列ＱＤｉｊをスケーリンヅするために使用されるスケーリングパラメータＳを計算する
ＭＱＦ＜５０の場合、Ｓ＝（５０００／ＭＱＦ）／１００、そうでなければ、Ｓ＝（２００−２＊ＭＱＦ）／１００
ステップ９２０：次の通りに、スケーリングされた量子化行列ＱＳｉｊ（ｉ，ｊ＝１…８）を計算する：ＱＳｉｊ＝Ｓ＊ＱＳｉｊ（ｉ，ｊ＝１…８）
ステップ９３０：次の通りに、再構成された画像の一時的な量子化行列ＱＴｉｊ（ｉ，ｊ＝１…８）を生成する
ＱＴｉｊ＝Ｗｉｊ＊ＱＳｉｊ＋（１−Ｗｉｊ）＊ＱＳｉｊ（ｉ，ｊ＝１…８）、ここで、Ｗｉｊ（ｉ，ｊ＝１…８）は、値が０と１との間である加重行列である
ステップ９４０：次の通りに、再構成された画像の量子化行列ＱＲｉｊ（ｉ，ｊ＝１…８）を生成する
ＱＴｉｊ＞＝ＱＯｉｊである場合、ＱＲｉｊ＝ＱＴｉｊ、そうでない場合、ＱＲｉｊ＝ＱＯｉｊ
【００７１】
ある実施形態によれば、量子化行列は、大きな丸め誤差を引起す可能性がある状況においてだけ修正される。
【００７２】
本明細書で示され述べられる単調改善方法は、特に、画像をデコードし再エンコードすることを含む、１つまたは複数のＪＰＥＧ画像を処理し圧縮する任意のシステムで実装されるのに適することが認識される。通常、こうしたシステムは、ＪＰＥＧ画像を入力し、それをデコードし、任意選択で、デコードされた画像を画像処理し、次に、エンコードして、出力ＪＰＥＧ画像が得られる。こうした画像処理システムの例は、ＰｈｏｔｏＳｈｏｐ、Ｗｉｎｄｏｗｓ  Ｉｍａｇｅ  ａｎｄ  Ｆａｘ  Ｖｉｅｗｅｒ、特に写真回転機能である。本明細書で示され述べられる単調改善方法は、こうしたシステムのＪＰＥＧエンコーダで実装されることができる。それぞれＪＰＥＧデコーダおよびエンコーダにおけるデコードおよびエンコードは、ピクセルレベルまでの完全なデコードではなく、たとえばＤＣＴレベルまでの、単に部分的なデコードおよびエンコードとすることができる。
【００７３】
任意の適した入力デバイスが使用されて、本明細書で示され述べられる再圧縮方法のために入力画像を提供し、生成し、送信し、かつ／または圧縮することができる。任意の適した出力デバイスまたはコンピュータディスプレイが使用されて、本明細書で示され述べられる方法によって生成される画像を表示することができる。コンピュータネットワークが使用されて、入力画像を本明細書で示され述べられる再圧縮システムに送信する、または、再圧縮システムからの出力画像を、一方で、たとえば出力画像の受取人と入力画像の提供者との間のクライアント−サーバタイプの関係を使用して補助コンピュータ化システムに、また、他方、本明細書で示す再圧縮システムに送信することができる。任意の適したコンピュータプロセッサが使用されて、本明細書で示され述べられる計算機能の任意のまたは全ての機能を提供することができる。これらの機能の任意のもの、これらの機能の任意の組合せ、または、これらの機能の任意の適した部分は、こうしたプロセッサにおいてモジュールを構成することができる。任意の適した形態のコンピュータ化データストレージ、たとえばコンピュータメモリが使用されて、本明細書で示され述べられる再圧縮システムに対して入力画像を記憶する、または、それにより生成される画像を出力することができる。
【００７４】
本明細書で示され述べられる方法およびシステムは、ＪＰＥＧと同一でない形式に適用可能であるが、ＪＰＥＧと共通した重要な特徴(feature)を有する。
【００７５】
本明細書で使用される用語「圧縮の程度(degree of compression)」および「圧縮レベル(compression level)」は、一般に同義であり、これは、通常、ｑ行列内の値の大きさによって制御され、ｑ行列内の値の大きさは、通常、ユーザが選択したＭＱＦまたはＱＦの値によって決定される。
【００７６】
本発明のある実施形態は、ＶＬＳＩでの実装、専用ハードウェアでの実装、ＤＳＰまたはＣＰＵを有する埋め込み式システム（コンピュータ化デバイス）での実装、または、汎用コンピュータ上で完全にソフトウェアで実行されることを含む、ハードウェアまたはソフトウェアで実装されうる。本発明のある実施形態は、限定はしないが、ソフトウェアおよびハードウェア画像エンコーダ、ＩｍａｇｅＭａｇｉｃｋおよびｊｐｅｇｔｒａｎｓなどのコマンドラインＰＣアプリケーション、ならびに、ＰｈｏｔｏＳｈｏｐ。Ｐａｉｎｔ、およびＭｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ  Ｐｉｃｔｕｒｅ  Ｍａｎａｇｅｒなどの任意のＰＣ画像化ソフトウェアなどの、従来の画像再圧縮および処理システムなどの画像再圧縮システムと連携してまたはその中のモジュールとして特に有用である。
【００７７】
「強制的な(mandatory)」、「要求される(required)」、「必要である(need)」、および「そうでなければならない(must)」などの用語は、明確にするために、本明細書で述べる特定の実装またはアプリケーションの文脈内で行われる実装の選択を指し、制限的であることを意図されないことが認識される。その理由は、代替の実装では、同じ要素が、強制的でないとして、また、要求されないとして規定される可能性がある、あるいはさらに、共になくされる可能性があるからである。
【００７８】
プログラムおよびデータを含む本発明のソフトウェアコンポーネントは、所望される場合、ＣＤ−ＲＯＭ、ＥＰＲＯＭ、およびＥＥＰＲＯＭを含むＲＯＭ（読取り専用メモリ）で実装されることができる、または、限定はしないが、種々の種類のディスク、種々の種類のカード、およびＲＡＭなどの任意の他の適したコンピュータ可読媒体に記憶されることが認識される。ソフトウェアとして本明細書で述べるコンポーネントは、あるいは、所望される場合、従来の技法を使用して、全体的にまたは部分的にハードウェアにおいて実装されることができる。逆に、ハードウェアとして本明細書で述べるコンポーネントは、あるいは、所望される場合、従来の技法を使用して、全体的にまたは部分的にソフトウェアにおいて実装されることができる。
【００７９】
本発明の範囲には、特に、本明細書で示され述べられる方法の任意の方法のステップの任意のまたは全てのステップを実施するためのコンピュータ可読命令を、任意の適した順序で運ぶ電磁信号と；本明細書で示され述べられる方法の任意の方法のステップの任意のまたは全てのステップを、任意の適した順序で実施するためのコンピュータ可読命令と；本明細書で示され述べられる方法の任意の方法のステップの任意のまたは全てのステップを、任意の適した順序で実施するために、機械によって実行可能な命令のプログラムを有形に具現化する、機械によって可読のプログラム記憶デバイスと；本明細書で示され述べられる方法の任意の方法のステップの任意のまたは全てのステップを、任意の適した順序で実施するために、実行可能コードなどのコンピュータ可読プログラムコードを有する、コンピュータ可読プログラムコードを内部に統合されている、かつ／または、コンピュータ可読プログラムコードを含むコンピュータ使用可能媒体を備えるコンピュータプログラム製品と；任意の適した順序で実施されると、本明細書で示され述べられる方法の任意の方法のステップの任意のまたは全てのステップによってもたらされる任意の技術的効果と；本明細書で示され述べられる方法の任意の方法のステップの任意のまたは全てのステップを、任意の適した順序で単独でまたは組合せて実施するようにプログラムされた、任意の適した装置またはデバイスあるいはその組合せと；それぞれが、プロセッサならびに協働する入力デバイスおよび／または出力デバイスを含み、本明細書で示され述べられる任意のステップをソフトウェアで実施するように働く電子デバイスと；本明細書で示され述べられる方法の任意の方法のステップの任意のまたは全てのステップを、任意の適した順序で実行するように構成されるようにコンピュータまたは他のデバイスにさせる、ディスクまたはハードドライブなどの情報記憶デバイスまたは物理的レコードと；本明細書で示され述べられる方法の任意の方法のステップの任意のまたは全てのステップを、任意の適した順序で具現化する、たとえばメモリ内に予め記憶された、または、ダウンロードされる前または後のインターネットなどの情報ネットワーク上のプログラムおよびプログラムをアップロードまたはダウンロードする方法およびプログラムを使用するための１つまたは複数のサーバおよび／または１つまたは複数のクライアントを含むシステムと；単独でまたはソフトウェアと連携して、本明細書で示され述べられる方法の任意の方法のステップの任意のまたは全てのステップを、任意の適した順序で実施するハードウェアが含まれる。本明細書で述べる任意のコンピュータ可読または機械可読媒体は、一時的でないコンピュータまたは機械可読媒体を含むことを意図される。
【００８０】
本明細書で述べる任意の計算または他の形態の解析は、適したコンピュータ化方法によって実施されることができる。本明細書で述べる任意のステップは、コンピュータ実装式とすることができる。本明細書で示され述べられる発明は、問題の任意の問題に対する、または、（ａ）本明細書で述べる目的の任意の目的のための解決策を識別するためにコンピュータ化方法を使用することであって、解決策は、任意選択で、決定、アクション、製品、サービス、または、本明細書で述べる問題または目的にポジティブに影響を及ぼす本明細書で述べる任意の他の情報を含む、使用すること、および、（ｂ）解決策を出力することを含むことができる。
【００８１】
別個の実施形態の文脈で述べる本発明の特徴はまた、単一の実施形態で組合せて提供されることができる。逆に、簡潔にするために単一の実施形態の文脈でまたはある順序で述べられる方法ステップを含む本発明の特徴は、別々に、任意の適した部分的組合せで、または異なる順序で提供されることができる、すなわち、制限的であることを意図されない特定の例の意味で本明細書において使用される。図面の任意の図面において結合して示されるデバイス、装置、またはシステムは、実際には、ある実施形態では、単一プラットフォームに統合されることができる、または、限定はしないが、光ファイバ、イーサネット、無線ＬＡＮ、ホームＰＮＡ、電力線通信、携帯電話、ＰＤＡ、Ｂｌａｃｋｂｅｒｒｙ  ＧＰＲＳ、ＧＰＳを含む衛星、または他のモバイルデリバリ(mobile delivery)などの任意の適切な有線または無線カップリングを介して結合されることができる。本明細書で示され述べられる説明および図面において、システムおよびシステムのサブユニットとして述べられるまたは示される機能はまた、システム内の方法およびステップとして提供されることができ、また、方法および方法のステップとして述べられるまたは示される機能はまた、システムおよびシステムのサブユニットとして提供されることができることが認識される。図面において種々の要素を示すために使用されるスケールは、提示を明確にするために、単に例示的および／または適切であり、制限的であることを意図されない。
【図１】
0005875084.tif 000002
【図２−１】
0005875084.tif 000003
【図２−２】
0005875084.tif 000004
【図３−１】
0005875084.tif 000005
【図３−２】
0005875084.tif 000006
【図４】
0005875084.tif 000007
【図５Ａ】
0005875084.tif 000008
【図５Ｂ】
0005875084.tif 000009
【図５Ｃ】
0005875084.tif 000010
【図６】
0005875084.tif 000011
【図７】
0005875084.tif 000012
【図８】
0005875084.tif 000013
【図９−１】
0005875084.tif 000014
【図９−２】
0005875084.tif 000015
【図９−３】
0005875084.tif 000016
【図９−４】
0005875084.tif 000017
【図１０−１】
0005875084.tif 000018
【図１０−２】
0005875084.tif 000019
【図１１】
0005875084.tif 000020
【図１２】
0005875084.tif 000021