(57)【特許請求の範囲】
【請求項１】
ビットストリームを受信し、前記ビットストリームからマクロブロック情報および残留パケット・データを復号して分離し、
前記残留パケット・データから非ゼロ係数及びゼロ係数を含む係数データを決定し、
前記非ゼロ係数をデータパケットにリパックし、前記データパケットから前記ゼロ係数を除外し、前記データパケットが(1+2*N 16)  個のビットワードと(24+N)  個の16ビットワードのうちの１つに対応するパケット長さを有するように、前記非ゼロ係数を識別するための情報を前記データパケットに含め、Nは、非ゼロ係数の数であり、
前記データパケット及びマクロブロック情報からピクセルを再構成する、プロセッサを含む集積回路であって、
前記集積回路はさらに、命令を含むメモリ
を含む集積回路。
【請求項２】
前記ビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化規格に準拠する請求項１の集積回路。
【請求項３】
前記プロセッサは、さらに前記データパケットをユニバーサルにパックされたバッファに格納するように動作する請求項１記載の集積回路。
【請求項４】
前記集積回路は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成るグループから選ばれたワイヤレス装置の一部である
請求項１の集積回路。
【請求項５】
ビットストリームを受信し、前記ビットストリームからマクロブロック情報および残留パケット・データを復号して分離し、
前記残留パケット・データから非ゼロ係数及びゼロ係数を含む係数データを決定し、
前記非ゼロ係数をデータパケットにリパックし、前記データパケットから前記ゼロ係数を除外し、前記データパケットが(1+2*N 16)  個のビットワードと(24+N)  個の16ビットワードのうちの１つに対応するパケット長さを有するように、前記非ゼロ係数を識別するための情報を前記データパケットに含め、Nは、非ゼロ係数の数であり、
前記データパケット及びマクロブロック情報からピクセルを再構成するように構成されたプロセッサを含む装置であって、
前記装置はさらに、命令を含むメモリ
を含む装置。
【請求項６】
前記ビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化規格に準拠する請求項５の装置。
【請求項７】
前記プロセッサは、
ユニバーサルにパックされた非ゼロ係数バッファにデータパケットを格納するようにさらに動作する請求項５の装置。
【請求項８】
前記装置は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成るグループから選ばれたワイヤレス装置の一部である
請求項５の装置。
【請求項９】
ビットストリームを受信し、前記ビットストリームからマクロブロック情報および残留パケット・データを復号して分離する第１の手段と、
前記残留パケット・データから非ゼロ係数及びゼロ係数を含む係数データを決定する第２の手段と、
前記非ゼロ係数をデータパケットにリパックし、前記データパケットから前記ゼロ係数を除外し、前記データパケットが(1+2*N 16)  個のビットワードと(24+N)  個の16ビットワードのうちの１つに対応するパケット長さを有するように、前記非ゼロ係数を識別するための情報を前記データパケットに含める第３の手段と、Nは、非ゼロ係数の数であり、
前記データパケット及びマクロブロック情報からピクセルを再構成する第４の手段とを含む装置。
【請求項１０】
前記データパケットを格納するための第５の手段をさらに含む請求項９の装置。
【請求項１１】
ビットストリームのマクロブロックにおいてテクスチャ復号を行なうためのコンピュータ・プログラムであって、コンピュータに、
ビットストリームを受信し、前記ビットストリームからマクロブロック情報および残留パケット・データを復号して分離させ、
前記残留パケット・データから非ゼロ係数及びゼロ係数を含む係数データを決定させ、
前記非ゼロ係数をデータパケットにリパックし、前記データパケットから前記ゼロ係数を除外し、前記データパケットが(1+2*N 16)  個のビットワードと(24+N)  個の16ビットワードのうちの１つに対応するパケット長さを有するように、前記非ゼロ係数を識別するための情報を前記データパケットに含めさせ、Nは、非ゼロ係数の数であり、
前記データパケット及びマクロブロック情報からピクセルを再構成させる命令を含む、コンピュータ・プログラム。
【請求項１２】
前記ビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化規格に準拠する請求項１１のコンピュータ・プログラム。
【請求項１３】
前記命令は、
さらに、前記コンピュータに、ユニバーサルにパックされたバッファに前記データパケットを格納させる
請求項１１のコンピュータ・プログラム。
【請求項１４】
ビットストリームを受信し、前記ビットストリームからマクロブロック情報および残留パケット・データを復号して分離し、
少なくとも１つの回路又はプロセッサで、前記残留パケット・データから非ゼロ係数及びゼロ係数を含む係数データを決定し、
前記少なくとも１つの回路又はプロセッサで、前記非ゼロ係数をデータパケットにリパックし、前記データパケットから前記ゼロ係数を除外し、前記データパケットが(1+2*N 16)  個のビットワードと(24+N)  個の16ビットワードのうちの１つに対応するパケット長さを有するように、前記非ゼロ係数を識別するための情報を前記データパケットに含め、Nは、非ゼロ係数の数であり、
前記データパケット及びマクロブロック情報からピクセルを再構成する、ビットストリームのマクロブロック中においてテクスチャ復号する方法。
【請求項１５】
ユニバーサルにパックされたバッファに前記データパケットを格納することをさらに含む請求項１４の方法。
【請求項１６】
前記データパケットは、実質的に前記非ゼロ係数を識別するための情報と非ゼロ係数を構成する請求項１の集積回路。
【請求項１７】
前記非ゼロ係数を識別するための情報は、
前記非ゼロ係数をマップするビットマップを含み、前記データパケットはマクロブロックの各係数のためのビットと、各非ゼロ係数のためのワードとを含む請求項１の集積回路。
【請求項１８】
前記非ゼロ係数を識別するための情報は、さらに、
ロケーションおよびレベルペアをさらに含み、各１つのロケーションおよびレベルペアはロケーション及びレベルを定義し、前記データパケットはどのくらい多くのロケーションおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのロケーションおよびレベルを特定する２つのワードとを含む、請求項１の集積回路。
【請求項１９】
前記非ゼロ係数を識別するための情報は、さらに、
ランおよびレベルペアをさらに含み、各１つのランおよびレベルペアはラン及びレベルを定義し、前記データパケットはどのくらい多くのランおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのランおよびレベルを特定する２つのワードとを含む、請求項１の集積回路。
【請求項２０】
前記プロセッサは、さらに、前記非ゼロ係数をマップし、前記非ゼロ係数を識別するための情報に基づいて、前記非ゼロ係数間のゼロ係数を提供するように構成される、請求項１の集積回路。
【請求項２１】
前記非ゼロ係数を識別するための情報は、
前記非ゼロ係数をマップするビットマップを含み、前記データパケットはマクロブロックの各係数のためのビットと、各非ゼロ係数のためのワードとを含む請求項５の装置。
【請求項２２】
前記非ゼロ係数を識別するための情報は、さらに、
ロケーションおよびレベルペアをさらに含み、各１つのロケーションおよびレベルペアはロケーション及びレベルを定義し、前記データパケットはどのくらい多くのロケーションおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのロケーションおよびレベルを特定する２つのワードとを含む、請求項５の装置。
【請求項２３】
前記非ゼロ係数を識別するための情報は、さらに、
ランおよびレベルペアをさらに含み、各１つのランおよびレベルペアはラン及びレベルを定義し、前記データパケットはどのくらい多くのランおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのランおよびレベルを特定する２つのワードとを含む、請求項５の装置。
【請求項２４】
前記プロセッサは、さらに、前記非ゼロ係数をマップし、前記非ゼロ係数を識別するための情報に基づいて、前記非ゼロ係数間のゼロ係数を提供するように構成される、請求項５の装置。
【請求項２５】
前記非ゼロ係数を識別するための情報は、
前記非ゼロ係数をマップするビットマップと、前記データパケットはマクロブロックの各係数のためのビットと、各非ゼロ係数のためのワードとを含み、
ロケーションおよびレベルペアと、各１つのロケーションおよびレベルペアはロケーション及びレベルを定義し、前記データパケットはどのくらい多くのロケーションおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのロケーションおよびレベルを特定する２つのワードとを含み、
ランおよびレベルペアと、各１つのランおよびレベルペアはラン及びレベルを定義し、前記データパケットはどのくらい多くのランおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのランおよびレベルを特定する２つのワードとを含み、
とのうちの１つ又は複数を含む請求項９の装置。
【請求項２６】
前記データパケット及びマクロブロック情報からピクセルを再構成する第４の手段は、前記非ゼロ係数をマップし、前記非ゼロ係数を識別するための情報に基づいて、前記非ゼロ係数間のゼロ係数を提供する手段を具備する請求項９の装置。
【請求項２７】
前記非ゼロ係数を識別するための情報は、
前記非ゼロ係数をマップするビットマップと、前記データパケットはマクロブロックの各係数のためのビットと、各非ゼロ係数のためのワードとを含み、
ロケーションおよびレベルペアと、各１つのロケーションおよびレベルペアはロケーション及びレベルを定義し、前記データパケットはどのくらい多くのロケーションおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのロケーションおよびレベルを特定する２つのワードとを含み、
ランおよびレベルペアと、各１つのランおよびレベルペアはラン及びレベルを定義し、前記データパケットはどのくらい多くのランおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのランおよびレベルを特定する２つのワードとを含み、
とのうちの１つ又は複数を含む請求項１１のコンピュータプログラム。
【請求項２８】
前記コンピュータに前記データパケット及びマクロブロック情報からピクセルを再構成させる命令は、前記コンピュータに、前記非ゼロ係数をマップさせ、前記非ゼロ係数を識別するための情報に基づいて、前記非ゼロ係数間のゼロ係数を提供させる請求項１１のコンピュータプログラム。
【請求項２９】
前記非ゼロ係数を識別するための情報は、
前記非ゼロ係数をマップするビットマップと、前記データパケットはマクロブロックの各係数のためのビットと、各非ゼロ係数のためのワードとを含み、
ロケーションおよびレベルペアと、各１つのロケーションおよびレベルペアはロケーション及びレベルを定義し、前記データパケットはどのくらい多くのロケーションおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのロケーションおよびレベルを特定する２つのワードとを含み、
ランおよびレベルペアと、各１つのランおよびレベルペアはラン及びレベルを定義し、前記データパケットはどのくらい多くのランおよびレベルペアが各マクロブロックにあるかを示す１つのデータのワードと、非ゼロ量子化係数の各々のためのランおよびレベルを特定する２つのワードとを含み、
とのうちの１つ又は複数を含む請求項１４の方法。
【請求項３０】
前記データパケット及びマクロブロック情報からピクセルを再構成することは、前記非ゼロ係数をマップし、前記非ゼロ係数を識別するための情報に基づいて、前記非ゼロ係数間のゼロ係数を提供する請求項１４の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、ビデオ処理の分野に関し、より具体的にはビデオデコーダにおけるテクスチャ復号モジュール(texture decoding module)のバストラフィックを減少するための技術に関する。
【背景技術】
【０００２】
ビデオデータに含まれるディジタル情報の量は膨大であり、ビデオカメラの性能の進歩と共に増加する傾向がある。ビデオデータの処理は、ビデオ対応のデバイス、特に、携帯電話、携帯情報端末(PDA)、ラップトップ・コンピュータなどのような電池式のワイヤレス通信装置の、メモリ、計算(computational)、帯域幅、および、バッテリ容量を多く必要とする。
【０００３】
Motion Picture Expert Group(MPEG-4)/VC-1/H.264基準に準拠するビデオ処理システムでは、ビットストリームの各マクロブロックの係数は384 16ビットワード(384 16-bit words)を使用して記述される。ビデオデコーダでは、ビデオビットストリームは、構文要素解析を行なうためにARMまたはDSPのプロセッサへ入力され、また、復号された残留データ(residual data)は、ラスタースキャン(raster-scan)順に、ビットストリームの各マクロブロックについての384量子化係数を定義するために非ジグザグの形にされる。その後、量子化係数は、ビデオプロセッサのピクセル・プロセッサ・アクセラレータにおけるテクスチャ復号ハードウェア(HW)モジュールへ入力される。
【０００４】
テクスチャ復号プロセスは、逆量子化、残留マクロブロックを形成する逆変換、および再構成されたマクロブロックを生成するために動き補償したマクロブロックを追加することのような手続きを含む。３０フレーム/秒のWVGAの表示比率については、テクスチャ復号モジュールへ入力されたマクロブロックあたり384係数は、104MBpsデータトラヒックを生成する。特に、ARMかDSPが外部記憶装置に量子化係数データを書き込む場合、テクスチャ復号HWモジュールは、元のところへ、データをフェッチして(fetches)、また、書き込みキャッシュ・ミスはバストラフィックの２倍の量を引き起こす。ビデオ圧縮は、圧縮したビデオデータの冗長度(redundancy)を著しく減少させるが、そのような処理技術は、ワイヤレス通信装置の全体的性能および消費者に重要な(consumer-critical)特性(例えばバッテリ寿命、通話時間など)を低下させることがある。
【０００５】
したがって、ビデオビットストリームのマクロブロックにおけるテクスチャ復号中にバストラフィックを減少するための改善された技術が必要である。
【発明の概要】
【０００６】
ビデオビットストリームにおけるテクスチャ復号中にバストラフィックを減少するための技術が、ここに記述される。一実施例では、ワイヤレス通信装置(例えば携帯電話など)は、ビットストリームマクロブロック(MB)情報および残留パケット・データに分離するように動作する命令を実行するように構成されたプロセッサを含む。その後、コーデック独立(codec-independent)非ゼロMBパケットは残留パケット・データから生成される。ピクセルは、コーデック独立非ゼロMBパケットおよびMB情報から再構成される。
【０００７】
開示の様々な他の態様および実施例が、さらに詳細に以下に記述される。
【０００８】
概要は、本開示の十分な程度および範囲の典型として意図されていない、または、解釈されるべきでない、そして、これらおよび追加の態様は、特に図面と一緒に参照するとき、詳細な記述からより容易に明白になるだろう。
【図面の簡単な説明】
【０００９】
【図１】図１は、ワイヤレス装置のハイレベル・ブロック図を示す。
【図２】図２は、従来のビデオデコーダモジュールのハイレベル・ブロック図を示す。
【図３】図３は、図１のワイヤレス装置のビデオデコーダモジュールのハイレベル・ブロック図を示す。
【図４Ａ】図４Ａは、MPEG/VC-1規格に準拠しているビットストリームのマクロブロック中の係数のフォーマット化を例証する図を示す。
【図４Ｂ】図４Ｂは、H.264規格に準拠しているビットストリームのマクロブロック中の係数のフォーマット化を例証する図を示す。
【図５】図５は、コーデック独立フォーマットへ残留パケット・データをリパックするためのプロセスのフローチャートを示す。
【図６】図６は、コーデック独立フォーマットへ残留パケット・データをリパックするための第２のプロセスのフローチャートを示す。
【図７】図７は、コーデック独立フォーマットへ残留パケット・データをリパックするための第３のプロセスのフローチャートを示す。
【図８】図８は、ユニバーサル・ロケーション(universal location)およびレベル・データへ非ジグザグスキャン順を合併(merge)するプロセスのフローチャートを示す。
【００１０】
理解を促進するために、そのようなエレメントを区別するために適切な場合に添え字が加えられうる事を除いて、可能であれば、図と共通している同一のエレメントを示す同一の参照数字が使用される。図面中のイメージは、説明の目的のために単純化され、一定の比率へ拡大して必ずしも描かれない。
【００１１】
添付された図面は、開示の典型的な構成を例証しているので、他の等しく有効な構成を認めうる開示の範囲の制限と見なされるべきではない。相応して、それは、いくつかの構成の特徴が、さらなる詳述のない他の構成に有益に組み入れられうることが企図される。
【発明を実施するための形態】
【００１２】
「典型的(exemplary)」という用語は、本開示において「例、インスタンスあるいは実例を提供する」ことを意味するように用いられる。本開示において「典型的」として説明された任意の構成あるいは設計は、必ずしも他の構成あるいは設計に対して有利であるとは解釈されない。今後、用語「コア」、「エンジン」、「マシン」、「プロセッサ」および「演算処理ユニット」、だけでなく用語「フレーム」および「画像」も交換可能に用いられる。
【００１３】
ここに記述された技術は、個人の電子装置、ハンドセットなどの中でワイヤレスおよび有線通信あるいはコンピューティングのために様々なデバイスおよびシステムにおいて使用されうる。無線通信のためのこれらの技術の典型的な使用が下記に述べられる。
【００１４】
図１は、ワイヤレス装置１００の構成のブロック図を示す。それは、本開示のエレメントを組込み、無線通信システム(図示しない)において使用されうる。ワイヤレス装置１００は、例えば、携帯電話(つまりハンドセット)、ビデオゲーム・コンソール、PDA、ラップトップ・コンピュータあるいはビデオかオーディオ/ビデオ対応デバイスでありうる、無線通信システムは、様々な無線通信方式間のうち、とりわけ符号分割多重アクセス方式 (CDMA)システムあるいはグローバル移動体通信システム(Global System for Mobile Communications)(GSMC)でありうる。
【００１５】
ワイヤレス装置１００は、アンテナ１０２、受信機１０４、送信機１０６、ディジタル・セクション１１０、表示装置１３０および主記億装置１４０を一般に含んでいる。無線通信システムのそれぞれの基地局との双方向通信は、受信及び送信パスによって提供される。受信パスでは、基地局によって送信された信号は、アンテナ１０２によって受信されて受信機１０４に提供される。受信機１０４は受信信号を復調し、ディジタル・セクション１１０へのさらなる処理のために復調信号を転送する。送信パスでは、送信機１０６は、送信されるデータをディジタル・セクション１１０から得て、データによって変調された搬送波信号を生成し、基地局へ送信するためにアンテナ１０２へ変調キャリア信号を転送する。
【００１６】
ディジタル・セクション１１０は、モデム・プロセッサ１１２、ビデオプロセッサ１１４、コントローラ/プロセッサ１１６、表示プロセッサ１１８、アドバンスドRISC(縮小命令セットコンピュータ)マシン/ディジタル信号プロセッサ(ARM/DSP)１２２、グラフィック処理装置(GPU)１２４、内部記憶装置１２６、内部バス１２０および外部インタフェース１２８を実例的に含む。オペレーションでは、ディジタル・セクション１１０のエレメントはコントローラ/プロセッサ１１６によって管理される。
【００１７】
モデム・プロセッサ１１２は、受信機１０４によって提供されるあるいは送信機１０６向けのデータの処理(例えば変調/復調)を行なう。ビデオプロセッサ１１４は、カムコーダ(camcorder)、ビデオプレイバック、ビデオ会議などのようなビデオアプリケーションによって作られたビデオビットストリーム(例えば、スチール(still)あるいはモーション画像)のための符号化/復号、またはコーデック、オペレーションのような処理を行なう。相応して、表示プロセッサ１１８は、ワイヤレス装置１００の表示装置１３０上の復号画像のレンダリングを促進する。
【００１８】
GPU１２４は、ARM/DSP１２２と共同して、ワイヤレス装置１００のためのグラフィック処理オペレーションを促進する。GPU１２４は、例えば公に利用可能である2005年7月28日のドキュメント"Open GL Specification, Version 1.0,"に準拠しうる。このドキュメントは、携帯電話および上述の無線通信装置と呼ばれる他のもののようなハンドヘルドおよび携帯型デバイスにふさわしい2Dベクトルグラフィックスのための規格である。さらに、GPU１２４はまた、OpenGL2.0、OpenGL ES2.0あるいはD3D9.0グラフィックス規格に準拠しうる。
【００１９】
ディジタル・セクション１１０の機能的エレメントは、様々なタイプの集積回路のうち、とりわけ特定用途向けIC(ASICs)、RISCs、フィールドプログラマブルゲートアレイ(FPGAs)、マイクロコントローラあるいはマイクロプロセッサを含み、または、これらとして作られうる。
【００２０】
ワイヤレス装置１００によって受信または送信された圧縮したビデオビットストリームは、産業適合(industry-adapted)画像圧縮および通信の規格の１つ以上に準拠しているビデオコーディング技術を使用して一般に圧縮される。一実施例では、圧縮したビデオビットストリームは、少なくとも１つのMPEG/VC-1/H.264規格に準拠する。MPEG/VC-1/H.264準拠ビデオビットストリームの復号は、それぞれのフレームのマクロブロック中でのテクスチャ復号、および、特にマクロブロックの量子化係数データを決定することを含む。
【００２１】
ディジタル・セクション１１０では、ビデオプロセッサ１１４は、ビデオデコーダ(VD)モジュール１１５を含み、それは本開示の実施例に従ってマクロブロックにおいてテクスチャ復号を行なうように構成されるので、ワイヤレス装置１００のメモリ、計算上の帯域幅および電力資源の利用の有効性を増加させる。特に、VDモジュール１１５は、内部記憶装置１２６(あるいは主記億装置１４０)に格納される、およびVDモジュール１１５のピクセル・プロセッサ３６０(図３に示される)へと処理するために結果として転送される、係数データの量を減らす。
【００２２】
図２は、従来のVDモジュール２００のハイレベル・ブロック図を示す。一般に、VDモジュール２００は、可変長符号(variable length code)(VLC)デコーダ２１０、マクロブロック情報のバッファ２２０、残留パケット・データバッファ２３０、残留パケット・データ処理ユニット２４０、384ワード/マクロブロック容量を備えた係数バッファ２５０およびピクセル・プロセッサ２６０を含んでいる。
【００２３】
入力されたビットストリーム(例えばMPEG-4-準拠ビットストリーム)では、VLCデコーダ２１０はビットストリームを復号し、構文要素解析を行ない、マクロブロック情報および残留パケット・データを２つのデータパケットに分離する。第１のデータパケット (パケットヘッダ情報のような)はバッファ２２０へ転送され、モーションベクトル、量子化パラメータ(QPs)、符号化されたまたは符号化されていない係数、バッファアドレスおよびピクセル・プロセッサ２６０の構成のために使用される他のプロパティのようなマクロブロック(MB)情報を含んでいる。第２のデータパケットは、ジグザグスキャン順にピクセル量子化係数データを含んでおり、バッファ２３０へ転送される。各マクロブロックについては、パーサー(parser)・パケット・データはヘッダ情報(モード、モーションベクトルなど)、VLC復号係数データ情報(MPEG-4またはVC-1におけるラン-レベルペア、trailing-1、H264 CAVLCにおける非ゼロ係数および非ゼロ係数の前のゼロの数(number of zeros before nonzero coefficient and nonzero coefficients in H264 CAVLC)、あるいはH264 CABACの有効係数フラグおよび非ゼロ係数の数)を含んでいる。
【００２４】
残留パケット・データ処理ユニット２４０では、量子化係数データの第２のデータパケットは、ラスター(raster)スキャン順に非ジグザグ・モジュール２４２によって非ジグザグの形にされる。MPEG-4ビデオビットストリームについては、逆AC/DC予測(prediction)はまた、逆AC/DC予測モジュール２４４によってMPEG-4イントラ(intra)データのために処理される。残留パケット・データ処理ユニット２４０の出力は、384ワード/MBへと係数データを格納する係数バッファ２５０へ送られる。係数データはゼロおよび非ゼロ係数の両方を含んでいる。
【００２５】
図３は、ワイヤレス装置１００で使用されるVDモジュール１１５のハイレベル・ブロック図を示す。一般に、VDモジュール１１５は、可変長符号(VLC)デコーダ３１０、マクロブロック情報のバッファ３２０、任意の残留パケット・データバッファ３３０、汎用ユニバーサル残留パケット・データ処理ユニット３４０、ユニバーサルにパックされた(universally-packed)非ゼロ係数バッファ３５０、およびピクセル・プロセッサ３６０を含んでいる。ユニバーサルにパックされた非ゼロ係数バッファ３５０が非ゼロ係数を含んでいるので、バッファ３５０中の有効データは384未満でありうる、または、非ゼロ係数の数の関数でありうる。別の構成では、バッファ３５０は384ワード/マクロブロックより大きいことがある。例えば、バッファ３５０のサイズは、後で説明される (ロケーション、レベル)フォーマットに関して、最悪の場合のサイズ(1+2*384)ワード/マクロブロックのために設計されうる。
【００２６】
入力されたビットストリーム(例えばMPEG-4-準拠ビットストリーム)では、VLCデコーダ３１０はビットストリームを復号し、構文要素解析を行ない、マクロブロック情報および残留パケット・データを２つのデータパケットに分離する。第１のデータパケットは、バッファ３２０へ転送され、また、モーションベクトル、量子化パラメータ(QPs)、符号化されたまたは符号化されていない係数、バッファアドレスおよびピクセル・プロセッサ３６０の構成のために使用される他のプロパティのようなマクロブロック(MB)情報を含んでいる。第２のデータパケット(残留パケット・データ)は、ジグザグスキャン順のピクセル量子化係数データを含んでおり、随意的に、ユニバーサル残留パケット・データ処理ユニット３４０によって処理される前に残留パケット・データバッファ３３０へ転送される。
【００２７】
ユニバーサル残留パケット・データ処理ユニット３４０では、量子化係数データの第２のデータパケットは、図４Ａ-４Ｂの中で示されるラスタースキャン順に非ジグザグ・モジュール３４２によって非ジグザグの形にされる。MPEG-4のビデオビットストリームについては、逆AC/DC予測はまた、逆AC/DC予測モジュール３４４によってMPEG-4イントラデータのために処理される。逆AC/DC予測を行なう場合、オプションのバッファ３３０が使用されうる。しかしながら、バッファ３３０はVDモジュール１１５の一部である必要はない。その後、MPEGフォーマットにせよH.246フォーマットにせよ、残留パケット・データ処理ユニット３４０はリパッキングモジュール３４６においてーデック独立フォーマットに非ジグザグの形にされた量子化係数データをリパックする。リパックされた係数データ(出力データ)は、ユニバーサルにパックされた非ゼロ係数バッファ３５０へ送られる。
【００２８】
非ジグザグ・モジュール３４２では、マクロブロックにおけるゼロおよび非ゼロ係数が定義される。リパッキングモジュール３４６は、コーデック独立非ゼロMBパケットにおいて生成し、そこではそのような非ゼロ係数はそれぞれ識別される。非ゼロ係数は、ビットマップ、ラン−レベル(RL)ペアあるいはロケーション−レベル(LL)ペアを使用して識別される。例えば、ロケーション−レベル(LL)ペア用の非ゼロ係数は、数値で表したペア(A、B)フォーマットを使用して識別されることができ、そしてそこで、AとBは、それぞれ、マクロブロックのY、CrあるいはCbコンポーネントの夫々の中での係数のロケーションおよび値(あるいはレベル)の記述子である。
【００２９】
リパッキング中に非ゼロ係数データ(出力データ)は、ビットマップを含むMBパケット中で、リパッキングモジュール３４６によって非ゼロ係数データのRLペアあるいはLLペアに再配置される。バッファ３５０において、非ゼロ係数の非ゼロMBパケットが格納される。ロケーションプロパティとレベルプロパティが使用される場合に、それぞれのLLペアは、マクロブロックの非ゼロ係数(つまりそれぞれのプロパティの非ゼロ値を有する係数)のロケーションおよび数値(あるいはレベル)を定義する。しかしながら、データのロケーションは、増加順または、減少順に配列されている必要はない。ここで、用語「ロケーション」および「レベル」は、入力されたビデオフォーマット内の特定の非ゼロ係数の位置およびその係数の値に対応して関連させる。したがって、非ゼロMBパケットはコーデック独立である。非ゼロMBパケットでは、ゼロ係数(つまりゼロに等しい数値を有する係数)についての情報は省略され、それにより、それぞれのマクロブロックの係数データの圧縮を提供する。
【００３０】
ユニバーサルにパックされた非ゼロ係数バッファ３５０に格納された非ゼロMBパケットは、バッファ３５０からピクセル・プロセッサ３６０に提供され、そしてそれぞれの非ゼロMBパケットは、プロセッサ３６０によって行なわれたフレーム再構成ルーチンの中でマクロブロック情報と一緒に使用される。ピクセル・プロセッサ３６０では、マクロブロックの省略されたゼロ係数は、例えば非ゼロMBパケットのデータマッピングを使用して非ゼロ量子化係数間のギャップにゼロ係数を配置することによって復元される(restored)。
【００３１】
図４Ａ-４Ｂは、MPEG-4(図４Ａ)およびH.264(図４Ｂ)ビットストリームのマクロブロック中で係数のフォーマット化を例証する図を示す。マクロブロックは、各々64の係数(合計384の係数)を有するCr、Cbおよび４つのYコンポーネントを含み、そこでは係数はそれぞれ16ビットワードによって表わされる。リパッキングモジュール３４６においてリパックされた非ゼロMBパケットでは、マクロブロックの非ゼロ係数用データだけが含まれ、であるがゆえにゼロ係数は省略される。
【００３２】
コーデック独立非ゼロMBパケットについて企図された、いくつかのリパッキング方式は、リパッキングモジュール３４６において形成される。オペレーションでは、これらの方式の各々は、実際的な状況中でマクロブロックの係数データを格納するのに必要なメモリの量を減らし、その結果、それぞれのデータ記憶(例えば内部記憶装置１２６)とピクセル・プロセッサ３６０の間のトラフィック、およびそのトラフィックを送信するための帯域幅要件を減らす。
【００３３】
図５は、コーデック独立フォーマットへ残留パケット・データをリパッキングするためのプロセスのフローチャートを示す。プロセス５００は、ブロック５１０で非ジグザグ順序の(ラスタースキャン順)係数データを再スキャンすることから始まる。非ジグザグ・モジュール３４２から非ジグザグ残留パケット・データ(以下時々「シーケンス・データ」と呼ばれる)を再スキャンした後に、シーケンス・データの再スキャンされた係数は、ブロック５２０で非ゼロ位置を示すようにビットマップ順にリストされる。ブロック５３０では、ビットマップ中で非ゼロ係数は、パケット長さを伴う(with a packet length)コーデック独立非ゼロMBパケットへリパッキングされる。各MBのパケット長さは(24+N)16ビットワードと等しく、そこではNは非ゼロ係数の数で１以上３８４以下であり、また、24 16ビットワードが384の係数のマップを保持するために使用される。したがって、量子化係数はすべてのビデオ規格の一定パターンへリパッキングされる。
【００３４】
図６は、コーデック独立フォーマットへ残留パケット・データをリパックするための第２のプロセスのフローチャートを示す。第２のプロセス６００は、ブロック６１０で非ジグザグ順序の (ラスタースキャン順)係数データを再スキャンすることから始まる。非ジグザグ・モジュール３４２から非ジグザグ残留パケット・データ(以下時々「シーケンス・データ」と呼ばれる)を再スキャンした後に、再スキャンされた係数は、(ラン、レベル)(run、level)フォーマットで配列されうる。ブロック６１０での、この非ジグザグ順序の係数データは、 新規の(ラン、レベル)フォーマットである。ブロック６１０からの量子化された残留パケット・データを非ジグザグ化した後、データの1ワードは、ブロック６２０でRLペアがそれぞれのMB中にいくつあるかを示すように使用される。ブロック６３０では、非ゼロ係数は、パケット長さでコーデック独立非ゼロMBパケットへリパッキングされる。各MBのパケット長さは(1+2N)16ビットワードと等しく、そこではブロック６２０で生成された１ワードは、(1+2N)16ビットのワードの「1」16ビットワードに相当する。したがって、量子化係数はすべてのビデオ規格の一定パターンへリパッキングされる。
【００３５】
図７は、コーデック独立フォーマットへ残留パケット・データをリパックするための第３のプロセスのフローチャートを示す。第３のプロセス７００は、ブロック７１０で非ジグザグ順序の (ラスタースキャン順)係数データを再スキャンすることから始まる。非ジグザグ・モジュール３４２から非ジグザグ残留パケット・データ(以下時々「シーケンス・データ」と呼ばれる)を再スキャンした後に、再スキャンされた係数は、(ロケーション、レベル)(location, level)フォーマットで配列されうる。ブロック７１０からの量子化された残留パケット・データを非ジグザグ化した後、データの1ワードは、ブロック７２０でLLペアがそれぞれのMBにいくつあるかを示すように使用される。ブロック７３０では、非ゼロ係数は、パケット長さでコーデック独立非ゼロMBパケットへリパックされる。各MBのパケット長さは(1+2N)16ビットワードと等しく、そこではブロック７２０で生成された1ワードは、(1+2N)16ビットのワードの「1」16ビットワードに相当する。したがって、量子化係数はすべてのビデオ規格の一定パターンへリパックされる。
【００３６】
好ましい第３の実施例中で、第２の実施例でのように、パケット長さはまた、非ゼロ量子化係数がマクロブロックにいくつあるか示すための1ワードを含む(1+2N)16ビットワードと等しく、また、非ゼロ係数の各々はLLペアで記述される。ロケーション情報は非ジグザグ処理の単なる副産物で、非ゼロ係数の増加順または減少順である必要はない。LLペアのフォーマットは、第２のプロセス６００の中で使用される再ソート(re-sorting)手続きの必要性を除去し、ARM又はDSPプロセッサ中でファームウェア開発のサイクル・コストを増やさない。
【００３７】
図８は、ユニバーサル・ロケーションおよびレベル・データへ非ジグザグスキャン順序を合併するプロセス８００のフローチャートを示す。プロセス８００では、LLペアは、非ジグザグデータから直接生成されうる。したがって、プロセス８００は、非ジグザグ残留パケット・データが例えば非ジグザグ・モジュール３４２によって生成されるブロック８１０で始まる。ブロック８２０では、ユニバーサル・ロケーションデータが生成される。ブロック８３０では、ユニバーサル・ロケーションデータは各係数のLLペアを備えたマップ中へ合併される。
【００３８】
典型的な実施例では、プロセスは、１つ以上のコンピュータ実行命令を含むコンピュータ・プログラムプロダクトの形で、ハードウェア、ソフトウェア、ファームウェアあるいはそれらの任意の組合せ中で実行されうる。ソフトウェア中でインプリメントされた時、コンピュータ・プログラムプロダクトは、コンピュータ記憶媒体およびコンピュータ通信媒体を含むコンピュータ可読媒体を使用して格納または送信されうる。
【００３９】
用語「コンピュータ記憶媒体」は、コンピュータにプロセスを実行させる命令の格納に適合された任意の媒体をここでは指す。限定ではなく一例として、コンピュータ記憶媒体は、電子記憶装置(例えばRAM、ROM、EEPROMなど)、光学記憶装置(例えばコンパクトディスク(CD)、ディジタル・バーサタイル・ディスク(DVD)など)あるいは磁気記憶装置(例えばハードドライブ、フラッシュ・ドライブ、テープドライブなど)または、コンピュータ・プログラムプロダクトを格納するように適合された他の記憶装置、あるいはそのような記憶装置の組合せを含むソリッドステート記憶装置を含みうる。
【００４０】
用語「コンピュータ通信媒体」は、例えば、変調キャリア波、光学信号、DCあるいはAC電流、および同様の手段を用いて、ある箇所から別の箇所にコンピュータ・プログラムプロダクトを送信するように適合された任意の物理インタフェースをここでは指す。限定ではなく一例として、コンピュータ通信媒体は、ツイストワイヤペア、プリントケーブルあるいはフラットケーブル、同軸ケーブル、光ファイバケーブル、ディジタル加入者線(DSL)あるいは他の有線、ワイヤレス、あるいは光学のシリアル、あるいはパラレルインターフェイス、あるいはそれらの組合せを含みうる。
【００４１】
開示された構成の上記記載は、当業者が本開示を行うまたは使用することを可能とするために提供される。これら構成への様々な変形例もまた、当業者には容易に明らかであり、本明細書で定義された一般原理は、本開示の精神又は範囲から逸脱することなく他の構成にも適用されうる。従って本開示は、本明細書に示された構成に限定することは意図されておらず、本明細書に開示された原理及び新規特徴と整合が取れた最も広い範囲が与えられるべきである。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データを復号して分離し、(ii)前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、(iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む集積回路。
［Ｃ２］
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化規格に準拠する［Ｃ１］の集積回路。
［Ｃ３］
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックについての量子化係数を定義するように前記残留パケット・データを非ジグザグにする(un-zigzag)命令と、
非ゼロ量子化係数を再スキャンし、ロケーションおよびレベル(LL)ペアとランおよびレベル(RL)ペアとのうちの１つへと再配置する命令であって、前記ＬＬペアおよびＲＬペアの各１つが、それぞれ、それぞれの１つの非ゼロ量子化係数の、ロケーションおよびレベルとランおよびレベルとを定義する、命令と、
前記LLペアあるいは前記RLペアが各MB内にいくつあるかを示すようにデータの１ワードを形成する命令と、
を含む［Ｃ１］に記載の集積回路。
［Ｃ４］
前記プロセッサは、
パケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、前記各MBのための前記パケット長さは、1+2*N 16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ３］の集積回路。
［Ｃ５］
前記プロセッサは、
パケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、各MBのための前記パケット長さは、24+N16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ１］の集積回路。
［Ｃ６］
前記プロセッサは、
ユニバーサルにパックされた(universally-packed)非ゼロ係数バッファに前記コーデック独立非ゼロMBパケットを格納するようにさらに動作する
［Ｃ１］の集積回路。
［Ｃ７］
前記集積回路は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成るグループから選ばれたワイヤレス装置の一部である
［Ｃ１］の集積回路。
［Ｃ８］
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データを復号して分離し、(ii)前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、(iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成するように動作する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む装置。
［Ｃ９］
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化規格に準拠する［Ｃ８］の装置。
［Ｃ１０］
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックについての量子化係数を定義するために前記残留パケット・データを非ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を再スキャンし、ロケーションおよびレベル(LL)ペアとランおよびレベル(RL)ペアとのうちの１つへと再配置する命令であって、前記ＬＬペアおよびＲＬペアの各１つが、それぞれ、それぞれの１つの非ゼロ量子化係数の、ロケーションおよびレベルとランおよびレベルとを定義する、命令と、
前記LLペアあるいは前記RLペアが各MB内にいくつあるかを示すようにデータの１ワードを形成する
［Ｃ８］の装置。
［Ｃ１１］
前記プロセッサは、
パケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、前記各MBのための前記パケット長さは、1+2*N 16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ１０］の装置。
［Ｃ１２］
前記プロセッサは、
パケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、各MBのための前記パケット長さは、24+N 16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ８］の装置。
［Ｃ１３］
前記プロセッサは、
ユニバーサルにパックされた非ゼロ係数バッファに前記コーデック独立非ゼロMBパケットを格納するようにさらに動作する
［Ｃ８］の装置。
［Ｃ１４］
前記装置は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成るグループから選ばれたワイヤレス装置の一部である
［Ｃ８］の装置。
［Ｃ１５］
ビットストリームマクロブロック(MB)情報および残留パケット・データを復号して分離するための第１の手段と、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成するための第２の手段と、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成するための第３の手段と
を含む装置。
［Ｃ１６］
前記第２の手段は、
各マクロブロックについての量子化係数を定義するように前記残留パケット・データを非ジグザグにする(un-zigzag)ための手段と、
非ゼロ量子化係数を、再スキャンし、ロケーションおよびレベル(LL)ペアとランおよびレベル(RL)ペアとのうちの１つへと再配置するための手段であって、前記ＬＬペアおよび前記ＲＬペアの各１つが、それぞれ、それぞれの１つの非ゼロ量子化係数の、ロケーションおよびレベルとランおよびレベルとを定義する、手段と、
前記LLペアあるいは前記RLペアが各MB内にいくつあるかを示すようにデータの１ワードを形成するための手段とをさらに含む
［Ｃ１５］の装置。
［Ｃ１７］
前記第２の手段は、
パケット長さをもつ前記コーデック独立非ゼロMBパケットのそれぞれを形成するための手段をさらに含み、前記各MBのための前記パケット長さは、1+2*N 16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ１６］の装置。
［Ｃ１８］
前記第２の手段は、
パケット長さをもつ前記コーデック独立非ゼロMBパケットのそれぞれを形成するための手段を含み、前記各MBのための前記パケット長さは、24+N 16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ１５］の装置。
［Ｃ１９］
前記コーデック独立非ゼロMBパケットを格納するための第４の手段をさらに含む［Ｃ１５］の装置。
［Ｃ２０］
ビデオビットストリームのマクロブロックにおいてテクスチャ復号を行なうためのコンピュータ・プログラムプロダクトであって、コンピュータに、
ビットストリームマクロブロック(MB)情報および残留パケット・データを復号して分離させ、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成させ、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成させる
命令、
を有するコンピュータ可読媒体を含むコンピュータ・プログラムプロダクト。
［Ｃ２１］
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化規格に準拠する［Ｃ２０］のコンピュータ・プログラムプロダクト。
［Ｃ２２］
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックについての量子化係数を定義するように前記残留パケット・データを非ジグザグにする(un-zigzag)命令と、
非ゼロ量子化係数を再スキャンし、ロケーションおよびレベル(LL)ペアとランおよびレベル(RL)ペアとのうちの１つへと再配置する命令であって、前記ＬＬペアおよびＲＬペアの各１つが、それぞれ、それぞれの１つの非ゼロ量子化係数の、ロケーションおよびレベルとランおよびレベルとを定義する、命令と、
前記LLペアあるいは前記RLペアが各MB内にいくつあるかを示すようにデータの１ワードを形成する命令と、
を含む［Ｃ２１］のコンピュータ・プログラムプロダクト。
［Ｃ２３］
前記再スキャンおよび再配置するための命令は、
パケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するための命令をさらに含み、前記各MBのための前記パケット長さは、1+2*N 16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ２２］のコンピュータ・プログラムプロダクト。
［Ｃ２４］
前記コーデック独立非ゼロMBパケットを生成するための命令は、
パケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するための命令をさらに含み、各MBのための前記パケット長さは、24+N16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ２０］のコンピュータ・プログラムプロダクト。
［Ｃ２５］
前記命令は、
さらに、前記コンピュータに、ユニバーサルにパックされた非ゼロ係数バッファに前記コーデック独立非ゼロMBパケットを格納させる
［Ｃ２０］のコンピュータ・プログラムプロダクト。
［Ｃ２６］
ビットストリームマクロブロック(MB)情報および残留パケット・データを復号して分離することと、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成することと、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成することとを含む、ビデオビットストリームのマクロブロック中においてテクスチャ復号する方法。
［Ｃ２７］
前記生成するステップは、
各マクロブロックについての量子化係数を定義するように前記残留パケット・データを非ジグザグにする(un-zigzag)ことと、
非ゼロ量子化係数を再スキャンし、ロケーションおよびレベル(LL)ペアとランおよびレベル(RL)ペアとのうちの１つへと再配置することと、前記ＬＬペアおよびＲＬペアの各１つが、それぞれ、それぞれの１つの非ゼロ量子化係数の、ロケーションおよびレベルとランおよびレベルとを定義する、  多くの前記LLペアあるいは前記RLペアが各MB内にいくつあるかを示すようにデータの１ワードを形成することとを含む
［Ｃ２６］の方法。
［Ｃ２８］
前記再配置する間に、パケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成し、各MBのための前記パケット長さは、1+2*N 16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ２７］の方法。
［Ｃ２９］
前記コーデック独立非ゼロMBパケットを生成することは、
パケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を生成することを含み、前記各MBのための前記パケット長さは、24+N16ビットワードとして定義され、Nは、コーデック独立なユニバーサル順序にリストされる前記非ゼロ量子化係数の数である
［Ｃ２６］の方法。
［Ｃ３０］
ユニバーサルにパックされた非ゼロ係数バッファに前記コーデック独立非ゼロMBパケットを格納することをさらに含む［Ｃ２６］の方法。
【図１】
0005226875.tif 000002
【図２】
0005226875.tif 000003
【図３】
0005226875.tif 000004
【図４Ａ】
0005226875.tif 000005
【図４Ｂ】
0005226875.tif 000006
【図５】
0005226875.tif 000007
【図６】
0005226875.tif 000008
【図７】
0005226875.tif 000009
【図８】
0005226875.tif 000010