(57)【要約】【課題】不可逆圧縮と可逆圧縮との組み合わせを用いてビデオデータをより小さいサイズに圧縮し、追加情報を圧縮データに組み込む方法及び装置。【解決手段】本方法は、小さいノイズが重要な意味を有するビデオコーデックの参照フレームを圧縮し、バス帯域幅を削減するよう用いることができる。ビデオコーデックにおける外部バスを介して接続されているエンコーダと外部のフレームメモリとの間のデータ転送を削減する。その削減は、エンコーダからのデータをフレームメモリに外部バスを通じて投入する前に圧縮することによって、フレームメモリからの圧縮データを外部バスを通じて取り出した後に解凍することによって行われる。参照フレームは、考慮すべき歪みを生じさせることなく可変サイズに圧縮され、エンコーダのコアと外部メモリとの間のバス帯域幅を削減する。本方法において、不可逆圧縮及び可逆圧縮は、圧縮効率が最大となるよう統合される。【選択図】図３
2009260977.tif 000002
【特許請求の範囲】
【請求項１】
ビデオコーデックにおいて外部バスを介して接続されているエンコーダと外部のフレームメモリとの間のデータ転送を削減するための方法であって、
前記エンコーダからのデータをフレームメモリに前記外部バスを通じて投入する前に圧縮するステップと、
前記フレームメモリからの圧縮された前記データである圧縮データを前記外部バスを通じて取り出した後に解凍するステップと、
を含むことを特徴する方法。
【請求項２】
請求項１に記載の方法において、前記データは、可逆圧縮によって圧縮されることを特徴とする方法。
【請求項３】
請求項１に記載の方法において、前記データは、不可逆圧縮によって圧縮されることを特徴とする方法。
【請求項４】
請求項１に記載の方法において、前記データは、可逆圧縮と不可逆圧縮との組み合わせによって圧縮されることを特徴とする方法。
【請求項５】
請求項１に記載の方法において、圧縮の実行前に、各フレームをより小さいブロックに分割するステップをさらに含むことを特徴とする方法。
【請求項６】
請求項５に記載の方法において、前記フレームは、輝度フレーム及び色差フレームであることを特徴とする方法。
【請求項７】
請求項５に記載の方法において、最初に元のブロックそれぞれを予測して圧縮し、そして、圧縮中に用いられたビット数が許容範囲内であるか決定することによって、各ブロックが圧縮されることを特徴とする方法。
【請求項８】
請求項５に記載の方法において、
分割された前記ブロックを異なる圧縮レベルであるサブブロックに分割するステップをさらに含み、
一つの圧縮ブロックの内部で不可逆のサブブロックと可逆のサブブロックを一つにまとめることが可能であることを特徴とする方法。
【請求項９】
請求項７に記載の方法において、圧縮中に用いられたビット数が許容範囲にある場合、前記圧縮データをパケットにまとめるステップと、そのパケットを前記フレームメモリに記憶するステップをさらに含むことを特徴とする方法。
【請求項１０】
請求項７に記載の方法において、圧縮中に用いられたビット数が許容範囲にない場合、不可逆圧縮によってデータを圧縮するよう試みるステップをさらに含むことを特徴とする方法。
【請求項１１】
請求項１０に記載の方法において、不可逆圧縮は、元のデータの精度を低下させることによって実行されることを特徴とする方法。
【請求項１２】
請求項１０に記載の方法において、圧縮中に取り込まれるノイズ量を示すノイズ補償ビットを生成するステップをさらに含むことを特徴とする方法。
【請求項１３】
請求項１０に記載の方法において、不可逆圧縮が認められない場合、データは、非圧縮プロセスによって処理されることを特徴とする方法。
【請求項１４】
請求項４に記載の方法において、ブロック内の元の情報を損失することなく、圧縮した各ブロックに追加情報を組み込むステップをさらに含み、
前記追加情報の少なくとも一つは、圧縮ブロックのしるし／非圧縮ブロクのしるしを含み、さらに、不可逆のしるし／可逆のしるしを含むことを特徴とする方法。
【請求項１５】
請求項４に記載の方法において、
各ブロックの残差データを表すのに必要である最大精度を決定するステップと、
ブロックの圧縮のためにこれを利用するステップと、
をさらに含むことを特徴とする方法。
【請求項１６】
請求項４に記載の方法において、
各ブロックをサブブロックに分割するステップと、
各サブブロックのための最大精度を決定するステップと、
そのサブブロックのための前記最大精度を用いて各サブブロックを圧縮するステップと、
をさらに含むことを特徴とする方法。
【請求項１７】
請求項９に記載の方法において、各ブロックが圧縮されているか否かを決定し、そして、圧縮されている場合、ブロックの圧縮で使ったものと同じ精度を用いて各ブロックをデコーディングすることによって、フレームメモリからの前記圧縮データを解凍することを特徴とする方法。
【請求項１８】
請求項１７に記載の方法において、各ブロックが圧縮されているか否かの決定は、組み込まれている圧縮ビット／非圧縮ビットを読み取ることによって行われることを特徴とする方法。
【請求項１９】
請求項１７に記載の方法において、
ブロックが不可逆圧縮によって圧縮されているか否かを決定するステップと、
ブロックが不可逆圧縮によって圧縮されている場合、ノイズを削減するよう解凍済みブロックを補正するステップと、
をさらに含むことを特徴とする方法。
【請求項２０】
請求項１９に記載の方法において、ブロックが不可逆圧縮によって圧縮されているかの決定は、組み込まれている不可逆ビット／可逆ビットを読み取ることによって行われることを特徴とする方法。
【請求項２１】
請求項１９に記載の方法において、前記解凍済みブロックの補正は、ノイズ補償ビットの読み取りを含むことを特徴とする方法。
【請求項２２】
請求項１７に記載の方法において、
ブロックが圧縮されていない場合、データが不可逆圧縮によって圧縮されているかを決定するステップと、
データが不可逆圧縮によって圧縮されている場合、データをデコーディングし、または、データが不可逆圧縮によって圧縮されていない場合、全てのデータを読み取るステップと
をさらに含むことを特徴とする方法。
【請求項２３】
請求項１３に記載の方法において、前記非圧縮プロセスは、第１ピクセルを処理することにより実行され、その第１ピクセルを処理は、最初に、第１ピクセルを読み取り、その第１ピクセルのいくつかのビットを取り出して、取り出したそのビットをＦＩＦＯに送り、ヘッダの追加のビットを読み取り、そのヘッダのビットを前記第１ピクセルの残りのビットに付加し、圧縮バッファに結果を記憶し、処理済みの前記第１ピクセルを解凍し、そして、解凍した前記第１ピクセルを解凍バッファに記憶することによって行われることを特徴とする方法。
【請求項２４】
請求項２３に記載の方法において、前記非圧縮プロセスは、第２ピクセルから開始することによって実行され、その実行は、今までに解凍されているピクセルから現在のピクセル値を予測し、現在の値と予測値との間の残差を算出し、その残差のために必要なビット数を決定し、ストップフラグビット及び従前の対象包含フラグビット、そして、任意のＦＩＦＯデータを利用可能なビットに組み込むことによって行われることを特徴とする方法。
【請求項２５】
請求項３に記載の方法において、
圧縮ノイズは、前記不可逆圧縮において、圧縮におけるノイズを推定し、ノイズ情報を圧縮ブロックに組み込むことによって補正されることを特徴とする方法。
【請求項２６】
請求項３に記載の方法において、圧縮の間、最下位ビットを切り捨て、過半数を切り捨てられたビットをノイズ補正ビットとして設定し、解凍の間、最下位ビットには、その過半数を切り捨てられたビットが設定されることを特徴とする方法。
【請求項２７】
エンコーダのコア、そして、そのエンコーダのコアに外部バスを介して接続されている外部のフレームメモリを有するビデオコーデックにおいて、
前記エンコーダのアウトプットにおける圧縮ユニットであって、前記エンコーダからのデータを前記外部バスを介して前記フレームメモリに投入する前に圧縮する圧縮ユニットと、
前記エンコーダのインプットにおける解凍ユニットであって、前記フレームメモリからの圧縮された前記データを前記外部バスを通じて取り出した後に解凍する解凍ユニットと  を備えることを特徴とするビデオコーデック。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にビデオ信号処理に関する。より詳細には、圧縮ノイズを最小に抑えるよう不可逆圧縮と可逆圧縮とを組み合わせることによるビデオデータの圧縮に関する。さらに、ネットワークを介したビデオデータの送信又はストレージデバイス内にビデオデータを記憶するなどの一般的な利用のために、本発明は、圧縮ノイズを最小限度に抑える必要があるビデオコーデックにおけるフレーム（又は参照）メモリを削減し、ビデオデータ量を減少させることに関する。
【背景技術】
【０００２】
今日、ビデオデータやデジタル化視覚情報は、広く用いられている。それは、情報技術における近年のデジタル革命の重要な側面を形成しており、さらに、視覚情報の生成、配布又は伝達、そして、消費又は使用のために、全てのタイプのシステムで利用されている。しかし、一般的に、ビデオデータは大容量である。これは、ストレージと伝送の両方にとって重大な問題を引き起こす。
【０００３】
一般に、データ圧縮は、ある表現からよりサイズが小さい表現である他の表現へ情報を変換するプロセスとして定義することができる。元のデータ又はそれに非常に近似しているものは、データ解凍の相補的なプロセスによって、よりサイズが小さい表現から復元することができる。圧縮プロセスと解凍プロセスは、しばしば、コーディングとデコーディングと呼ばれる。コーディング及びデコーディングシステムは、一般的には、コーダ及びデコーダの両方を有するシステムであるコーデックと呼ばれる。一般的に、コーデックは、ＭＰＥＧ２やＨ．２６４などのような制定済みの標準規格に従う。
【０００４】
圧縮技術及び解凍技術の使用は、しばしば、大量データのストレージ及び伝送を円滑にさせる。特に、視覚画像の伝送及びストレージは、大量のデータを含み、画像圧縮技術及び画像解凍技術によって、より大きな利益を得られる。
【０００５】
コーデックシステムや圧縮／解凍システムにおいて、画像は、その画像の圧縮を実行するエンコーダへ投入される。エンコーダによって圧縮された画像は、送信又は記憶のどちらかが行われる。圧縮画像は、その圧縮画像の解凍を実行するデコーダへ投入される。解凍された画像は、デコーダから出力され、閲覧するためのアウトプットデバイスに送られることとなる。
【０００６】
ビデオクリップは、個々の一連の画像又は“フレーム”で構成されている。ビデオの圧縮技術及び解凍技術は、ビデオ信号を処理し、圧縮データのためのストレージ及び帯域幅への要求を大幅に削減する。さらに、知覚の対象となる解凍データの画像品質を最大化させる。
【０００７】
静止画像は、画像を小さいピクセルブロックに分割することによって圧縮される。その小さいピクセルブロックは、周波数領域表現に変換され、その変換は、通常、離散コサイン変換（ＤＣＴ）によって行われる。逆ＤＣＴ（ＩＤＣＴ）は、ＤＣＴ係数から元のピクセルを再構築するよう用いられる。ＤＣＴ係数の量子化又はスケーリングは、知覚的な重要度がより高い情報を維持するエンコーディングプロセス、そして、知覚的な重要度がより低い情報を破棄するエンコーディングプロセスに用いられる。逆量子化は、デコーダで実行される量子化を逆にしたプロセスである。
【０００８】
コーディングプロセス及びデコーディングプロセスを実行する具体的な方法は多く存在する。通常、画像特徴は、処理対象のブロック（一般的に８×８ピクセル）より大きいことから、より効果的な圧縮では、画像の近接ブロック間の相関関係を使用することができる。エンコーダは、周囲のブロックの値に基づいて、いくつかの係数値の予測を試みる。また、ＤＣＴ係数の直接的な量子化及びエンコーディングに代えて、実際の係数とそれらの予測値との間の差異について量子化及びエンコードを行う。差異は小さい可能性があることから、必要となるビット数を削減することが可能となる。通常、カラー画像は、いくつかの色平面（color plane）を用いて表される。色平面において、通常、一つの輝度（明るさ）平面と２つの色差（カラー）平面が用いられる。いくつかの小さいブロックから形成されるマクロブロックもまた用いることが可能である。
【０００９】
ビデオにおいては、連続するフレーム間の動きもまた、考慮しなければならない。ビデオのコーデックは、連続したビデオフレーム間の類似点に基づいて動き予測及び動き補償を用いる。動き予測は、今までに記録されたフレーム内の領域であって、現在のフレームの各マクロブロックと密接に適合する領域を見つけるよう試みる。各マクロブロックに関して、動き予測は、“動きベクトル”を生成する。そして、水平線及び垂直線のセットは、現在のフレーム内のマクロブロックの場所から参照フレーム内の選択された適合領域の場所までオフセットする。選択された領域は、現在のマクロブロックのピクセル予測として用いられ、差異（“予測エラー”）が、算出されエンコードされる。デコーダ内の動き補償は、動きベクトルを用いて、各マクロブロックのピクセルを予測する。
【００１０】
参照フレームは、一連のビデオフレームにおける今までに表示したフレームとは必ずしも限らない。ビデオ圧縮は、しばしば、表示する順序とは異なる順序でフレームをエンコードする。エンコーダは、いくつかのフレームを前方方向にスキップしながら、先のビデオフレームをエンコードすることができ、さらに、逆方向にスキップしながら、表示順内の次のフレームをエンコードすることができる。
【００１１】
ビデオ圧縮は、時おり、今までにエンコードしたフレームに依存することなく静止画像コーディング技術のみを用いてビデオフレームのエンコードを行う。これらは、“イントラフレーム”又は“Ｉフレーム”と呼ばれる。今までに表示した参照フレームのみを用いてエンコードが行われるフレームは、“予測フレーム（predictive frames）”又は“Ｐフレーム”と呼ばれる。さらに、今後表示される参照フレーム、そして、今までに表示した参照フレームの両方を用いてエンコードが行われるフレームは、“双方向型フレーム（bidirectional frames）”又は“Ｂフレーム”と呼ばれる。通常の方式において、コーデックは、Ｉフレームをエンコードし、次に、いくつかのフレームを前方方向にスキップさせた後、参照フレームとしてＩフレームを用いてその先のＰフレームをエンコードし、さらに、Ｉフレームの後に続く次のフレームへ逆方向にスキップする。ＩフレームとＰ−フレームとの間のフレームは、Ｂフレームとしてエンコードされる。次いで、エンコーダは、再度、いくつかのフレーム前方方向にスキップし、次に、参照フレームとして第１Ｐフレームを用いて他のＰフレームをエンコードし、さらに、表示順内のギャップをＢフレームで埋めるよう逆方向にスキップする。このプロセスは、１２乃至１５のＰフレーム及びＢフレームごとに新しいIフレームを挿入して続けられる。
【００１２】
多くのビデオコーデックのアーキテクチャにおいて、エンコーダのコアは、プロセッサ上で、個別のハードウエア又はソフトウエア内に実装される。通常、フレームメモリは、エンコーダのコアの外部に位置し、外部バスを通じてエンコーダのコアに接続されている外部のメモリ内にある。エンコーダのコアとフレームメモリとの間のバス上のデータ転送量は、非常に大きくなることがあり、消費電力も大きくなる。
【００１３】
したがって、ビデオコーデックにおけるエンコーダからフレームメモリまでの外部バスを通じて転送されるデータ量を削減するための方法及び装置の提供が望まれている。
【発明の概要】
【課題を解決するための手段】
【００１４】
本発明は、不可逆圧縮及び可逆圧縮を組み合わせることによってビデオデータを圧縮する方法及び装置である。本発明は、ビデオエンコーダ又はビデオデコーダの内部で参照フレームを圧縮するよう適用することができる。本発明の実施例は、フレームメモリの圧縮のために、制限する目的ではなく例示の目的でここに開示する。また一方、本発明は、フレームメモリの圧縮に制限されず、あらゆるビデオデータの圧縮の利用に適用することが可能である。
【００１５】
本発明のある側面は、視覚的な歪み（visual artifacts）を最小化するために不可逆圧縮と可逆圧縮を統合する方法である。フレームメモリが圧縮されている場合、エンコーダ及びデコーダ内で再構築されたピクセルの不整合によって生じるドリフトノイズは、重大な視覚的な歪みを発生させる。したがって、それらの不整合を最小化することは、フレームメモリの圧縮において非常に重要である。
【００１６】
本発明の他の側面は、ビデオコーデックにおいて外部バスを通じて接続されているエンコーダと外部のフレームメモリとの間のデータ転送を削減するための方法である。その方法は、エンコーダのコアからのデータをフレームメモリに外部バスを通じて投入する前に圧縮することによって、さらに、フレームメモリからの圧縮データを外部バスを通じて取り出した後に解凍することによって行われる。
【００１７】
本発明の他の側面は、元データの内容を変更することなく、ビデオデータに追加情報を組み込むための方法である。
【００１８】
本発明の他の側面は、エンコーダのコアと、そのエンコーダのコアに外部バスを介して接続されている外部のフレームメモリとを有するビデオコーデックの改善である。その改善は、エンコーダのアウトプットにおける圧縮ユニットであって、エンコーダからのデータをフレームメモリに外部バスを介して投入する前に圧縮するための圧縮ユニットと、さらに、エンコーダのインプットにおける解凍ユニットであって、フレームメモリからの圧縮データを外部バスを通じて取り出した後に解凍するための解凍ユニットとを含む。
【００１９】
さらに、本発明の他の側面は、以下の詳細な説明で導かれる。その場合、詳細な説明は、本発明の好ましい実施例の完全な開示が目的であり、それについて制限することはない。
【図面の簡単な説明】
【００２０】
本発明は、以下の図面の参照によって、より完全に理解されるであろう。さらに、その図面は例示の目的のためのみのものでる。
【００２１】
【図１】先行技術であるビデオコーデックシステムのエンコーダ／デコーダの単純なブロック図である。
【図２】先行技術である一般的なデコーダの単純はブロック図である。
【図３】本発明によるビデオコーデックシステムのエンコーダ／デコーダの単純なブロック図である。
【図４Ａ】８×４の輝度ブロックを示す。
【図４Ｂ】４×４の色差ブロックを示す。
【図５】本発明による圧縮プロセスのフローチャートである。
【図６】ＣＢＩ及びＬＩを組み込むことによって生成されるデータ構造を示す。
【図７】本発明による解凍プロセスのフローチャートである。
【図８Ａ】本発明による非圧縮プロセスのフローチャートであって、第１ピクセルの処理を示す。
【図８Ｂ】本発明による非圧縮プロセスのフローチャートであって、第１ピクセルの残りのピクセルの処理を示す。
【図９Ａ】現在のピクセルＸ及び近接する解凍済みピクセルＡ、Ｂ、Ｃを表すピクセルマップである。
【図９Ｂ】ブロックに対して外側の境界が全て０であるピクセルマップである。
【図１０Ａ】予測後の８×４の輝度ブロックを示す。
【図１０Ｂ】予測後の４×４の色差ブロックを示す。
【図１０Ｃ】図１０Ａを分割した８×４の輝度ブロックを示す。
【図１０Ｄ】図１０Ｂを分割した４×４の色差ブロックを示す。
【発明を実施するための形態】
【００２２】
より詳細に図を参照すると、本発明は、例示の目的のために図１乃至図１０に示す方法及び装置を具体化している。ここに開示されている基本的な考え方から逸脱することなく、装置については、パーツの構成及び細部について変更することができ、さらに、方法については、その特定の実装について変更することができることは明らかであろう。
【００２３】
図１に示す先行技術である通常のビデオコーデックアーキテクチャにおいて、エンコーダのコアは、プロセッサ上で個別のハードウエア又はソフトウエアに実装され、フレームメモリは、エンコーダのコアの外側に設置される。その基本的なアーキテクチャは、標準的かつ技術的に既知である。一般的に、フレームメモリは、外部メモリ内に実装され、外部バスを通じてエンコーダのコアに接続される。Ｔ及びＱはエンコーダの基本的なパーツであって、それぞれ、“ＤＣＴなどのような変換器”及び“量子化器”である。Ｃは、コーダであり、Ｔ及びＱからの量子化されたＤＣＴ係数をエンコードする。ＩＴ及びＩＱは、組み込まれているデコーダの基本的なパーツであって、それぞれ、“逆変換器”及び“逆量子化器”である。Ｍ及びＦは、それぞれ、“動き補償”及び“フレームメモリ”を示す。動き予測器ＭＥは、動きベクトルＭＶをＭ及びＣに提供し、さらに、フレームメモリからデータを読み取る。インプットにおける減算器は、予測エラーＰＥデータをＱに提供する。通常、コーデックは、ＭＰＥＧ２やＨ．２６４などのような定着した標準規格によって組み立てられる。
【００２４】
エンコーダのコア内部のローカルデコーダでデコードされたビデオデータは、フレームメモリに転送される。また、動き補償及び動き予測の間、フレームメモリに記憶されているデータにアクセスする必要がある。ここで、データ転送量が問題となる。ＨＤサイズのビデオについて言えば、例えば、１秒当たり３０フレームを有する１４４８×１０８８のデータ転送量は、４００Ｍバイトを超える。Ｂ−ピクチャを用いた場合、動き予測の間、必要なバス帯域幅は、１秒あたり８００Ｍバイトを超える可能性がある。したがって、外部バスを介したデータ転送による電力消費は、重要であり、データ転送量の削減が望まれている。本発明は、フレームメモリ圧縮を使用し、元のビデオのデータ量を削減する。
【００２５】
図２は、一般的なデコーダの機能ブロック図を示す。そのデコーダは、図１のエンコーダから出力された圧縮ビデオデータを受けることが可能である。エンコーダとデコーダ間のＩＴ、ＩＱ、及び、Ｍは、正確に適合することから、データの不適合は、フレームメモリＦにおいて存在しない。言い換えれば、表示されるビデオは、エンコーダの要求とまさに同じである。
【００２６】
本発明は、図３に示すようにフレームメモリの内容を圧縮する。図３のエンコーダ１０は、図２に２つの新しい要素を付加したものと同じある。図２に示すいくつかの要素は、図３において示されていないものがある。それらは、特に関連性を有さないからである。しかし、それらを同様に含めてもよい。エンコーダ１０は、外部バス１４を介して外部のフレームメモリ（Ｆ）１２に接続されている。エンコーダ１０は、変換ユニット（Ｔ）１６、量子化ユニット（Ｑ）１８、逆量子化ユニット（ＩＱ）２０、逆変換ユニット（ＩＴ）２２、動き補償ユニット（Ｍ）２４を備える。エンコーダ１０は、減算器２８を介してビデオインプットを受ける。また、その減算器２８は、Ｍ２４のアウトプットに接続されている。ＩＴ２２及びＭ２４のアウトプットは、加算器２６で結合される。このアーキテクチャは、特定の設計に限定しないが、ＭＰＥＧ２や、Ｈ２６４、又は、他の標準規格に従う全てのコーデックに適用される。
【００２７】
エンコーダ１０に加えられた２つの新しい要素は、フレームメモリ１２へのアウトプットにおける圧縮ユニット３０と、フレームメモリ１２からのインプットにおける解凍ユニット３２である。圧縮ユニット３０は、加算器２６からのデコードされたデータを圧縮する。その圧縮は、デコードされたデータが、バス１４を介してフレームメモリ１２に転送される前に行われる。フレームメモリ１２の内容がバス１４を通じてアクセスされたとき、フレームメモリ１２から得られるデータは、解凍ユニット３２によって元のデータに解凍され、動き補償ユニット２４に投入される。
【００２８】
フレームメモリの内容は、不可逆及び可逆と称される２つの異なる方法で圧縮され得る。不可逆圧縮においては、圧縮効率を向上させるために元のデータの精度が失われる可能性がある。また一方で、精度を失うことから、解凍データは、元のものと全く同一とはならない。この場合、デコーダは、エンコーダからの不適合データを有する可能性がある。それは、エンコーダ内の動き補償（Ｍ）で用いられるデータが、デコーダ内のＭで用いられるデータとは異なるからである。したがって、それらは、異なるアウトプットを生成する可能性がある。このエラーは、時間とともに蓄積され、深刻なドリフトエラーを発生させる可能性がある。このドリフトエラーは、連続したＰフレームが多く存在する場合、デコードされたピクチャの品質を激しく劣化させる可能性がある。利用についての性能要件に依存するが、小さなドリフトエラーさえも受け入れることができない可能性もある。
【００２９】
通常、本発明は、ほぼ損失することがない圧縮方法を使用する。また、わずかなドリフトが許容される場合、本発明は、不可逆圧縮に拡張され得る（しかし、非常に軽微なドリフトエラーを伴う）。
【００３０】
圧縮アルゴリズムの概要
本発明によって、フレームメモリは、より小さなブロックに分割される。これは、動き補償及び動き予測においてフレームメモリのピクセルデータへランダムにアクセス可能としなくてはならないために必要だからである。ブロックのサイズは、性能要求によって決定される。本発明は、ブロックサイズを制限しない。本発明は、任意のサイズのブロックに適用可能である。しかしながら、例示の目的のために、輝度ブロック及び色差ブロックのサイズを、それぞれ、８×４及び４×４と仮定する。
【００３１】
輝度ブロック及び色差ブロックにおけるピクセル表記を図４Ａ乃至図４Ｂに示す。
【００３２】
本発明の圧縮アルゴリズムの動作を図５に示す。輝度及び色差は、同じ方法で圧縮される。ここでは、輝度の圧縮の詳細のみを示す。
【００３３】
最初に、ステップ１００で、元の８×４のブロックは、予測されて圧縮される。なお、この点について、８×４のブロックサイズは例としてのみ表されていること、そして、本発明は特定のブロックサイズに制限していないことに留意することが重要である。ステップ１０２において、圧縮後、圧縮の間に用いられたビット数が求められる。ステップ１０４において、ビット数が許容範囲Ｙ（例えば、Ｙは、元のサイズの１／２、１／３、１／４などに設定することができる）内にある場合、ステップ１０６において、圧縮データはまとめられ、ステップ１０８において、外部バスを介してフレームメモリに記憶される。また一方で、ビット数が許容範囲を超えた場合、ステップ１２４において、不可逆圧縮が許容されるかについて決定される。不可逆圧縮が許容される場合、ステップ１１０において、不可逆圧縮が試行される。不可逆圧縮が許容されない場合、ステップ１２６において、元のデータを用いる。その元のデータがまとめられてフレームメモリに記憶される前に更なる処理は一切行われることがない。したがって、理解されるように、本発明は、不可逆圧縮のみが許容される場合、又は、可逆圧縮のみが許容される場合を含んでおり、それらは、具体的な利用法によって決定されるであろう。
【００３４】
不可逆圧縮処理のステップにおいて、最初に、１ビット（最下位ビット（ＬＳＢ））を取り除くことによって元のデータの精度を低下させる。これは、ステップ１１０において、丸めを用いた１ビットの右方向へのシフトによって達成することができる。精度の低下は、ブロック全体でピクセル毎に同時に実行される。性能要求に依存して、右側へのシフト量を調整することができる。１ビットシフトから開始して、１ビットシフトが依然として多くの圧縮ビットを生成する場合、反復回数が許容される限り、右側へのシフトを行い続ける。
【００３５】
ステップ１１０の後、ステップ１１２において、新しいブロックを予測し圧縮する。圧縮の後、ステップ１１４において、圧縮の間に用いられたビット数を求める。ステップ１１６において、次の反復を認めるかを決定する。留意すべきは、許容される反復回数は、利用仕様であることであり、その許容される反復回数は、より多くのノイズが許容される範囲にまで大きくなり得ることである。さらなる反復が許容されない場合、ステップ１２２において、非圧縮プロセスが実行され、データ及びヘッダの情報をまとめ、フレームメモリに記憶する。非圧縮プロセスは、情報を損失させることなく追加のヘッダ情報を組み込むプロセスである。一方で、さらなる反復が許容される場合、ステップ１１８において、ビット数が許容範囲Ｙ内であるかどうかをチェックする。ビット数がＹより大きい場合、プロセスはステップ１１０に戻る。ビット数がＹより大きくない場合、プロセスはステップ１２０に進み、そこでは、ノイズ圧縮ビットが生成される。
【００３６】
したがって、お分かりの通り、（i）圧縮可逆データ、（ii）非圧縮可逆データ、（iii）圧縮不可逆データ（iv）非圧縮不可逆データとなる４つの異なる結果のプロセスが原則的には存在する。したがって、以下のようなブロックの状態を示すよう、ヘッダ情報（フラグ）について最大２ビットを組み込む必要がある。
ＣＢＩ：圧縮ブロックのしるし／非圧縮ブロックのしるし（１ビット）
ＬＩ：非可逆のしるし／可逆のしるし（１ビット）
【００３７】
ブロックの正確な状態を表すという理由からヘッダ情報には２ビットの使用が好ましいものの、必要に応じ、より少ないヘッダ情報の組み込みも可能であることに留意すべきである。例えば、元のブロックが保存され、フレームメモリに書き込まれる場合、現在のブロックが圧縮されていないことを示すヘッダ情報の１ビットを組み込みさえすれば足りる。しかしながら、ヘッダ情報は、元のデータブロックに組み込まれることから、ヘッダによる損失が存在する可能性があり、そして、ブロックは不可逆となる可能性がある１２８。非圧縮プロセス１２２は、データ損失を伴うことなくヘッダ情報を組み込むことができる。したがって、この同じ規則は、現在のブロックが圧縮されておらず、現在のブロックが不可逆１２８又は可逆１３０のどちらかであることを示すよう択一的に用いることができる。同様に、ヘッダ情報の１ビットは、ブロックが圧縮されており、可逆１３２であることを示すよう用いることができる。この同じ規則は、現在のブロックが圧縮されており、現在のブロックが可逆１３２又は不可逆１３４のどちらかであることを示すよう択一的に用いることができる。
【００３８】
ＣＢＩビット及びＬＩビットを組み込むプロセスを図６に示す。プロセスデータは、最初の２ビットとして２つのフラグを含む。プロセスデータは、最大である完全な元のサイズとすることができ、または、図に示すように１／２などのサイズに削減することもできる。
【００３９】
不可逆圧縮が適用されているとき、図５のステップ５０において、圧縮の間に生じるノイズの量を算出し、ノイズ＿補償＿ビット（１ビット）を生成する。この情報は、解凍プロセスに転送され、これにより、ノイズを補正することができる。
【００４０】
全プロセスが完了した後、図５のステップ１０６において、ヘッダ情報及びデータは、パケットにまとめられる。バスの要求に依存して、パケットは、元のサイズの１／２、１／３、１／４など、または、単純に元のサイズと同じとすることができる。パケットの決定は、実装に依存する。ステップ１０８において、まとめられたデータは、フレームメモリに書き込まれる。
【００４１】
フレームメモリ内の圧縮データは、エンコーディング中の動き予測プロセス又は動き補償プロセスの間、読み取られることとなっている。したがって、ブロックが読み取られるとすぐに、元の容量に解凍されるはずである。解凍プロセスを図７に示す。
【００４２】
最初に、ステップ２００及びステップ２０２において、解凍プロセスは、ＣＢＩビットを読み取り、チェックする。ＣＢＩビットが設定されている（０ではない）場合、それは、ブロックが圧縮されていることを示す。この場合、ステップ２０４において、ブロックは、圧縮プロセスで用いた同一の予測を用いてデコードされる。そして、ピクセル値を生成する。また、ステップ２０６及びステップ２０８において、ブロックは、損失を有する可能性が有ることから、ＬＩが読み取られてチェックされる。ブロックが損失を伴って（ＬＩが０ではない）圧縮されている場合、ステップ２１０において、ノイズ＿補償＿ビットがチェックされる。ステップ２１２において、この情報を用いることで、解凍されたブロックは、ノイズを取り除くよう補正される。ブロックが可逆圧縮されている（ＬＩ＝０）場合、このノイズ補償ブロックは省略される。
【００４３】
ブロックが圧縮されていない（ＣＢＩ＝０）場合、ステップ２１４及びステップ２１６において、ＬＩ（不可逆又は可逆）を読み取り、チェックする必要がある。それが不可逆である場合、ブロックに含まれるデータは、ヘッダ（ＣＢＩ及びＬＩ）を含んでいる一つのピクセルを除いて単純に元のピクセルデータである。当然、実装に依存して、これら２つのビットは、２以上のピクセルに拡張することができる（２ビットのノイズを有する一つのピクセルの代わりに）。そして、ステップ２１８において、全てのデータが読み取られる。それが可逆であるとき、ステップ２２０において、ブロックをデコードする必要がある。エンコーディングプロセス（非圧縮プロセス）及びデコーディングプロセスを次のセクションで説明する。
【００４４】
非圧縮プロセス
図８Ａ乃至図８Ｂは、非圧縮プロセスの実施例を表す。非圧縮プロセスは、元のピクセルの値を変更することなく、追加情報をピクセル情報に組み込むプロセスを表す。図８Ａは、第１ピクセルの処理を示す。非圧縮ブロックにヘッダの２ビット（ＣＢＩ及びＬＩ）を組み込むために、ステップ３００において、最初に第１ピクセルを読み取り、ステップ３０２において、それの２ビットを取り除くことによって第１ピクセルを処理する。取り除かれた２ビットは、ＦＩＦＯ（ファーストインファーストアウト）に記憶される。ＦＩＦＯの内容は、後に、他のピクセルが処理されているときに組み込まれる。
【００４５】
圧縮バッファ（ＣＢ）及び解凍バッファ（ＤＢ）という２つのバッファが存在する。ＣＢは、非圧縮の結果を含む。このデータは、非圧縮が完了するとすぐに、フレームメモリに転送される。したがって、このバッファの最大サイズは、元のデータのサイズ（８×４ブロック）に適合させるべきである。ＤＢは、デコードされた結果を含む一時的なバッファである。それは、予測に用いられる。したがって、ＤＢのサイズは、上部のピクセルに対しての１行、さらに、左側のピクセルに対しての１つ（８×１）とすることができる。例えば、図４Ａに示すように、現在のピクセルの位置がＰ２３である場合、上部のピクセルはＰＳ１３であり、左側のピクセルはＰ２２である。この場合、ＤＢは、上方の行（Ｐ１０からＰ１７まで）とＰ２２を含む。
【００４６】
２ビットが取り除かれた後、ステップ３０４において、２つのヘッダビットは、６ビットのデータに付加される。６データビット（ＦＩＦＯのために２ビットを移動させた後の左側）及び２ヘッダビット（ＣＢＩ、ＬＩ）は、一つのパケットを構成する。ステップ３０６において、パケットは、ＣＢ内に記憶される。ステップ３０８において、既に解凍されているピクセルは、予測プロセスで用いられることから、第１のピクセルは、ヘッダビットを取り除くことによって、そして、それを８ビット精度に変換することによって、すなわち、２つのビットが位置している場所に２つの０を埋めることによってデコードされる。ステップ３１０において、結果は、ＤＢに記憶される。
【００４７】
第１ピクセルの非圧縮プロセスが終了するとすぐに、残りのピクセルの非圧縮プロセスが開始する。図８Ｂにプロセスの詳細を示す。
【００４８】
現在のピクセルの値は、第２ピクセル（Ｘ＝１）から開始して、すでに解凍されたピクセルから予測される。そして次に、現在値と予測値との残差を算出する。残差の値が閾値より小さい場合、残差の値は、より少ないビット数で表すことができる。元のピクセルは、８ビットであることから、いくつかのビットは、残差によって元のピクセルを表現する、より小さいビットを用いることで利用可能となる。利用可能なこれら追加のビットは、以下のように割当てることができる。
【００４９】
ストップフラグ（１ビット）
埋め込みが行われているかどうかを示す。ストップフラグ＝１の場合、予測プロセスは終了する。残りのピクセル全ては、まさに元の値であり、最後のピクセルに至るまでＣＢに記憶される。ストップフラグ＝０の場合、いくつかの追加データ（組み込まれる必要があるデータ）は、ＦＩＦＯに残り続けている。したがって、プロセスは、データのための追加スペースが存在し続けるまで続けられる。
【００５０】
従前の対象包含フラグ（ContainedPrevious）（１ビット）
従前の対象包含フラグは、現在のデータが、残差値又は元の値のどちらを含むか表す。予測値の絶対値が閾値より大きい場合、それは、特定のビット数が、残差を表すのに必要であることを単に意味するだけではない。この場合、予測なしで元のピクセル値だけを用いる。しかしながら、２つの（ストップフラグ及び従前の対象包含フラグのための）ビットは、依然として組み込む必要があることから、元のピクセルデータから２つのビットは取り除かれるべきである。取り除かれたデータは、ＦＩＦＯに置かれる。
【００５１】
残差が閾値より小さい場合、フラグのための２ビットを排除することで、いくつかの追加ビットが使用可能となる。これらの使用可能なビットは、ＦＩＦＯにデータを組み込むよう用いられる。いくつかのビットは、ＦＩＦＯから読み取られる。そして、パケットは、残差データ、２ビットのヘッダ、そして、ＦＩＦＯデータを含んで構成される。得られるパケットは、ＣＢに記憶される。
【００５２】
ＦＩＦＯが空になるとすぐに、全てのヘッダ情報は、ブロックに組み込まれ、さらなる処理を必要としない。このとき、ストップフラグ＝１に設定される。
【００５３】
注目すべきは、最悪の場合、ＦＩＦＯは、全てのピクセルの処理が完了したときでさえ、空にならない可能性がある。これが生じると、ヘッダ情報を組み込むことができない。したがって、不可逆プロセスが適用される。不可逆プロセスにおいて、一つのピクセルを選び、２つのビットを取り除く。取り除かれたビットの位置で、ヘッダ情報を完成させる。一つのピクセル内の２ビットを用いる代わりに、２つのピクセルを選択し、それぞれ１ビットを取り除くことも可能である。このようにして、ピクセル内のエラーは、２ビットのエラーより小さくすることができる。
【００５４】
図８Ｂに示すようにプロセスの詳細を進めていくと、ステップ４００において、ストップフラグ＝０を有する第２ピクセル（カウンタ＝１）から始まる。そして、ステップ４０２において、ピクセルの現在の８ビットを読み取る。ステップ４０４において、ストップフラグ＝１であるかチェックする。第２ピクセル（Ｘ＝１）、ストップフラグ＝０なので、返答はＮｏとなる。Ｎｏである場合、ステップ４０６において、事前に解凍されている８ビットピクセルをＤＢから読み取り、ステップ４０８において、予測後に現在のピクセルの残差値を決定し、次いで、ステップ４１０において、残差値の絶対値が閾値より小さいかどうかチェックが行われる。もし、Ｙｅｓ（例えば、４ビットを用いて表すことが可能な−７から７までの残差値の範囲）である場合、すると、ステップ４１２において、ＦＩＦＯからデータを読み取り、記憶する。そして、ステップ４１４において、従前の対象包含フラグ＝１を設定し、ステップ４１６において、予測値データの４ビット及びＦＩＦＯデータの２ビットを有するパケットの部分を生成する。ステップ４１８において、ＦＩＦＯが空であるかチェックする。ＦＩＦＯが空でない場合、ステップ４２０において、２つのフラグのビットを加え（ストップフラグ＝０）、８ビットのパケットを完成させ、ステップ４２２において、ＣＢにパケットを記憶する。ステップ４１８において、ＦＩＦＯが空である場合、ステップ４２４において、ストップフラグ＝１を設定し、ステップ１００において、ヘッダ情報を付加し、ステップ４２２において、ＣＢに結果を記憶する。
【００５５】
残差値が閾値より大きい場合、現在のピクセル値は、予測なしで用いられる。この場合、ステップ４２６において、２ビットが、元のピクセルから削除され、ステップ４２８において、ＦＩＦＯに２ビットを置き、ステップ４３０において、従前の対象包含フラグ＝０に設定する。そして、ステップ１００において、ヘッダ情報を付加し、ステップ４２２において、ＣＢに結果を記憶する。ステップ４２２において、ＣＢに結果を記憶した後、ステップ４３２において、いずれかの経路に基づいて最後のピクセルであるかをチェックする。もし違う場合、ステップ４３４において、カウンタＸ＝Ｘ＋１としてインクリメントし、ステップ４０２に戻り、現在の８ビットのピクセルを読み取る。
【００５６】
ステップ４０４において、ストップフラグ＝１である場合、もはや予測は実行されない。そして、ステップ４３６において、現在のピクセル値をＣＢに記憶する。そして、ステップ４３８において、最後のピクセルであるかチェックする。もし、そうでない場合、ステップ４３４において、カウンタＸ＝Ｘ＋１としてインクリメントし、ステップ４０２に戻る。ステップ４３２又はステップ４３８において、最後のピクセルに到達するまで、プロセスは繰り返される。
【００５７】
予測及び圧縮
ブロック内のピクセルは、今までに解凍されたピクセルから予測される。第１ピクセルは予測されない。その代わり、それは、元の値を保持する。図９Ａに示すように、現在のピクセルＸの周りにある周辺の解凍済みピクセルＡ、Ｂ、及び、Ｃは、予測に用いられる。
Ｘの予測
＝Ｐｘ
＝関数（Ａ、Ｂ、Ｃ）
【００５８】
現在の圧縮アルゴリズムは、外部のブロックを参照することなく、ブロックがそれ上で完全に圧縮されるよう設計されている。したがって、外部ブロックについてのいずれの情報も用いられない。そのような独立して行う圧縮方法が好まれている理由は、ビデオコーデックの動き補償が、ブロックにランダムにアクセスする必要があるからである。もし、ブロックが、今まで処理された任意のブロックに対して依存関係を有している場合、このアルゴリズムの適用はふさわしくない可能性がある。したがって、ブロックの外側の境界は、図９Ｂに示すようにすべて０であるように仮定される。
【００５９】
予測の後、予測ピクセルと現在のピクセルとの間の残差は、以下のように算出される。
Ｒｘ＝現在のピクセルの残差＝（現在のピクセル値）−Ｐｘ
【００６０】
予測の後の８×４ブロック及び４×４ブロックを図１０Ａ乃至図１０Ｂに示す。図１０Ｃ乃至図１０Ｄに示すように、８×４輝度ブロックは、３つに分割され、４×４の色差ブロクは２つに分割される。以下では、例示の目的のために輝度ブロックを圧縮する方法のみ提示するが、色差ブロックも同じ方法で圧縮することができる。
【００６１】
輝度セグメント１
セグメント１は、第１ピクセルのみを含む。したがって、元の値を保持するために８ビットが必要とされる。必要となるビット数は、Ｒ（１）＝８である。
【００６２】
輝度セグメント２
セグメント２は、予測から得られる残差データを含む。最初に、最大値を以下のように求める。
Ｍａｘ＝Ｍａｘｉｍｕｍ（ａｂｓ（Ｒ１０）、ａｂｓ（Ｒ２０）、ａｂｓ（Ｒ３０））
【００６３】
上記データを解凍するために、ヘッダ情報の３ビットが必要である。
処理対象データフラグ（１ビット）
これは、データが処理されるか否かを示す。
ビットコードフラグ（２ビット）
これは、割当てられるビット数を示す。
【００６４】
これら２つのフラグに基づいて、輝度セグメント２内の全てのデータが割当てられる。輝度セグメント２にはピクセルが３つ存在することから、必要となるビットは、
Ｒ（２）＝３＊Ｂｆ
となる。
ここで、Ｂｆは、割当てられる最終的なビット数である。
【００６５】
輝度セグメント３
輝度セグメント３において、７×１の行のピクセル全てが、同じ方法で圧縮される。セグメント２と同様に、最初に、７×１の残差データ内の全てのデータ間の最大値を以下のように求める。
Ｍａｘ＝Ｍａｘｉｍｕｍ（ａｂｓ（Ｒ０１）、ａｂｓ（Ｒ０２）、．．．ａｂｓ（Ｒ００））
【００６６】
解凍に関しても同様な方法で、ヘッダ情報の４ビットは、以下のように定義される。
処理対象データフラグ（１ビット）
これは、データが処理されるか否かを示す。
ビットコードフラグ（３ビット）
これは、割当てられるビット数を示す。
【００６７】
これら２つのフラグに基づいて、輝度セグメント３内の全てのデータが割当てられる。輝度セグメント３内に７×１サブブロックが４つ存在することから、必要となるビットは、
Ｒ（３）＝４＊Ｂｆ
となる。
【００６８】
要するに、圧縮で用いられる合計ビット数は、
Ｒ＝Ｒ（１）＋Ｒ（２）＋Ｒ（３）＋２（ＣＢＩ及びＬＩ）
となる。
【００６９】
ノイズ補償
不可逆圧縮を用いたとき、最下位ビットは、丸めによって切り捨てられる。したがって、このプロセスにおいて、切り捨てによるノイズが含まれる。理論上は、解凍プロセスにおいてこの損失を回復させることはできない。しかしながら、本発明は、ノイズ補償方法を使用し、１ビットの追加情報をデコーダに送ることによってノイズを取り除く。
【００７０】
この考え方の主要部は、切り捨てプロセスの間、切り捨てられる‘１’又は‘０’の数を数えることである。最も切り捨てられた値が‘１’である場合、ノイズ＿補償＿ビットには１を設定する。これにより、デコーダ側において、全てのデータを解凍したあと、ＬＳＢに１を設定する。したがって、それは、統計に基づき全ての値を単に‘０’又は‘１’としておくことによってノイズを削減する。切り捨てられたビットの値の大部分が‘０’であるときも、同じ方法が適用される。
【００７１】
このノイズ補償の方法は、圧縮ブロックより小さいブロックに適用することができる。例えば、８×４圧縮ブロック内の４つの８×１ブロックを用いることが可能である。この場合、４ビットのノイズ＿補償＿ビットが存在し得る。これらビットは、非圧縮プロセスにも同様に組み込まれる。
【００７２】
色差のノイズにも同様な方法で、補正が行われる。
【００７３】
さらなる特徴及び結論
本発明の特徴は、顕著な視覚的な歪みを一切発生させることなくビデオデータをより小さいサイズに圧縮する方法である（全ブロック内に最大で１ビットのエラーを有するほぼ無損失である方法）。わずかな視覚的な歪みを用いて、本方法をフレームメモリの圧縮に適用することができる。これは、ドリフトノイズは無視することができるという理由からである。本方法において、残差データを表すのに必要である最大精度を獲得し、さらにこの精度を圧縮のために利用する。
【００７４】
本発明の他の特徴は、圧縮するためにより少ないビット数を用いるようブロックをより小さいブロックに分割する方法である。本方法において、全ブロックの最大精度を獲得する代わりに、ブロックをより小さいブロックに分割し、各サブブロックにおける最大精度を獲得する。したがって、異なる精度が各サブブロックに割当てられ、圧縮フォーマットのブロックを表す不必要に大きなビット数の使用を回避する。
【００７５】
本発明のさらなる特徴は、圧縮ノイズを許容することによって可逆圧縮の方法を不可逆圧縮の方法に拡張する方法である。さらに圧縮率を向上させる必要がある場合、本方法は、不可逆圧縮に重点を置いて拡張されていてもよい。この場合、全ブロックに不可逆圧縮を行う代わりに、サブブロックを選択的に選び、より小さいブロックの損失を抑制する。
【００７６】
本発明のさらなる他の特徴は、圧縮ブロックの各サブブロックが、異なる範囲のノイズのレベルを有することができることである。したがって、それは、小さいノイズレベルを維持するとはいえ、より圧縮率を向上させる。
【００７７】
本発明の他の特徴は、不可逆圧縮を適用する際、圧縮ノイズを補正する方法である。ノイズは、圧縮プロセスにおいて予測され、１ビットに対して近似される。この近似されたノイズは、圧縮されたブロックに組み込まれる。解凍プロセスにおいて、ノイズは、この情報を用いて補正される。
【００７８】
本発明の他の特徴は、元のデータの損失をともなうことなく追加情報を組み込む方法である。ブロックが圧縮されていない場合、追加のヘッダ情報を備えなければならない。本方法は、元のいずれのピクセルデータを損失することなく追加の情報を付加する。
【００７９】
したがって、本発明は、エンコーダと外部のフレームメモリとの間の外部バスを通じたデータの転送を非常に削減するビデオコーデックシステムを提供する。これは、ビデオデータをストレージに記憶するための特定の利用形態を有する。また、それは、元の内容を失うことなく追加の情報をビデオデータに組み込む必要がある利用に適用することができる。
【００８０】
上記の説明は、多くの詳細を含むとはいえ、これらは、本発明の範囲を制限することと解釈すべきではなく、本発明の現時点でのいくつかの好ましい実施例の例示を単に提供するものと解釈すべきである。したがって、当然のことながら、本発明の範囲には、当業者にとって明らかとなるであろう他の実施例が十分に含まれている。そして、本発明の範囲は、特許請求の範囲のみによって制限される。その場合、単数要素への言及は、“一又は二以上”という記載を除いて、明確な記載がない限り“一つであって一つのみ”であると意味することを意図していない。上記の望ましい実施例の要素に対する構造的かつ機能的な全ての均等物であって、当業者にとって既知である均等物は、参照によってここに明確に組み込まれ、そして、特許請求の範囲によって含まれることを意図する。また、本発明を解決するよう求められる、ありとあらゆる問題に装置が対応する必要は無く、さらに、本出願の特許請求の範囲がそれを含む必要もない。そして、本開示の要素又は構成要素は、その要素又は構成要素が特許請求の範囲に明確に記載されているか否かにかかわらず、一般の人のために提供することを意図していない。本出願の特許請求の範囲は、要素が、“のための手段”という語句を用いて明確に記載されている限り、米国特許法１１２条第６段落の規定のもとで解釈される。
【図１】
2009260977.tif 000003
【図２】
2009260977.tif 000004
【図３】
2009260977.tif 000005
【図４Ａ】
2009260977.tif 000006
【図４Ｂ】
2009260977.tif 000007
【図５】
2009260977.tif 000008
【図６】
2009260977.tif 000009
【図７】
2009260977.tif 000010
【図８Ａ】
2009260977.tif 000011
【図８Ｂ】
2009260977.tif 000012
【図９Ａ】
2009260977.tif 000013
【図９Ｂ】
2009260977.tif 000014
【図１０Ａ】
2009260977.tif 000015
【図１０Ｂ】
2009260977.tif 000016
【図１０Ｃ】
2009260977.tif 000017
【図１０Ｄ】
2009260977.tif 000018
【外国語明細書】
2009260977.tif 000019
2009260977.tif 000020
2009260977.tif 000021
2009260977.tif 000022
2009260977.tif 000023
2009260977.tif 000024
2009260977.tif 000025
2009260977.tif 000026
2009260977.tif 000027
2009260977.tif 000028
2009260977.tif 000029
2009260977.tif 000030
2009260977.tif 000031
2009260977.tif 000032
2009260977.tif 000033
2009260977.tif 000034
2009260977.tif 000035
2009260977.tif 000036
2009260977.tif 000037
2009260977.tif 000038
2009260977.tif 000039
2009260977.tif 000040
2009260977.tif 000041
2009260977.tif 000042
2009260977.tif 000043
2009260977.tif 000044
2009260977.tif 000045
2009260977.tif 000046
2009260977.tif 000047
2009260977.tif 000048
2009260977.tif 000049
2009260977.tif 000050
2009260977.tif 000051
2009260977.tif 000052