(57)【特許請求の範囲】
【請求項１】
ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化部と、
逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換部と、
可変長復号化処理を受けたデータによる動きベクトルのデコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして形成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、上記動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測部と、
上記動きベクトル予測部による動きベクトルデータを受けて上記逆直交変換部の出力画像データの動き補償を行う動き補償部と、
上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキング処理部と、
現在および比較対象の上記動きベクトルデータが隣接または非隣接の状態で格納され、上記デブロッキング処理部によりアクセス可能なメモリと、を有し、
上記動きベクトルデータは、
参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、
上記動きベクトル予測部は、
動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、
上記デブロッキング処理部は、
上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う
画像処理装置。
【請求項２】
上記動きベクトル予測部は、
比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいか否かを示す情報を上記ハイブリッド予測情報として埋め込み、
上記デブロッキング処理部は、
上記埋め込まれたハイブリッド予測情報が、比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいことを示しているか否かに応じて、デブロッキングの実行の必要性の判定を行う
請求項１記載の画像処理装置。
【請求項３】
上記動きベクトルデータは、
固定小数点形式のデータとして形成される
請求項１または２記載の画像処理装置。
【請求項４】
上記動きベクトルデータは、
符号ビット部、整数部、小数部を含む固定小数点形式であり、最下位ビット側に上記ハイブリッド予測情報が設定される
請求項３記載の画像処理装置。
【請求項５】
ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化ステップと、
逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換ステップと、
符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードするデコードステップと、
デコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして生成する動きベクトル生成ステップと、
デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測ステップと、
現在および比較対象の上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに隣接または非隣接の状態で格納する格納ステップと、
動きベクトルデータを受けて上記逆直交変換ステップの出力画像データの動き補償を行う動き補償ステップと、
上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキングステップと、を有し、
上記動きベクトルデータは、
参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、
上記動きベクトル予測ステップでは、
動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、
上記デブロッキングステップでは、
上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う
画像処理方法。
【請求項６】
上記動きベクトル予測ステップでは、
比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいか否かを示す情報を上記ハイブリッド予測情報として埋め込み、
上記デブロッキングステップでは、
上記埋め込まれたハイブリッド予測情報が、比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいことを示しているか否かに応じて、デブロッキングの実行の必要性の判定を行う
請求項５記載の画像処理方法。
【請求項７】
上記動きベクトルデータは、
固定小数点形式のデータとして形成される
請求項５または６記載の画像処理方法。
【請求項８】
上記動きベクトルデータは、
符号ビット部、整数部、小数部を含む固定小数点形式であり、最下位ビット側に上記ハイブリッド予測情報が設定される
請求項７記載の画像処理方法。
【請求項９】
ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化処理と、
逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換処理と、
符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードするデコード処理と、
デコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして生成する動きベクトル生成処理と、
デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測処理と、
現在および比較対象の上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに隣接または非隣接の状態で格納する格納処理と、
上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに格納する格納処理と、
動きベクトルデータを受けて上記逆直交変換処理の出力画像データの動き補償を行う動き補償処理と、
上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキング処理と、を含み、
上記動きベクトルデータは、
参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、
上記動きベクトル予測処理では、
動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、
上記デブロッキング処理では、
上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う
画像処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像を処理する画像処理装置およびその方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
近年、画像情報をデジタル化して取り扱い、その際、効率の高い情報の伝達および蓄積を目的とし、画像情報特有の冗長性を利用した画像処理装置が普及している。
特に、離散コサイン変換（Discrete Cosine Transform：ＤＣＴ）等の直交変換と動き補償とにより圧縮するＭＥＰＧ（Moving Picture Experts Group）などの方式に準拠した装置が普及している。
【０００３】
この種のビデオコーデックの仕様として、たとえばＶＣ-１が知られている。
ＶＣ-１では、浮動小数点精度の離散コサイン変換（ＤＣＴ）の代わりに整数変換を採用している。
このＶＣ-１では、ピクチャ単位で動きベクトルの画素精度を１／２と１／４のうちのいずれからか選択可能な、いわゆる分数精度画素動き補償を行っている。ちなみに、ＭＰＥＧ‐４パート２では、ストリーム単位でしか画素精度を選択できない。
【０００４】
また、ＭＰＥＧ‐４では、動きベクトルをより小さい符号量で表現できるように、上、右上、左に隣接するマクロブロック（ＭＢ）の動きベクトルの中間値を予測ベクトルとして実際の動きベクトルと予測ベクトルの誤差を符号化する、いわゆるメジアン予測が行われる。
このメジアン予測の場合、局所的に大きさや向きが大幅に異なる動きベクトルが出現した場合、予測によって逆に符号量が増大するときがある。
ＶＣ‐１では、このメジアン予測を用いず、上ないし左のマクロブロックの動きベクトルをそのまま予測値として利用するマクロブロックを指定できる、ハイブリッド動きベクトル予測が行われる。
【０００５】
そして、ＶＣ‐１においては、１スライス（ピクチャ）内での各マクロブロック（ＭＢ）の逆量子化（ＩＱ）、逆直交変換（ＩＤＣＴ）等を終了し、同一スライス内に含まれる全ＭＢデータを復号した後、ノイズ低減のためのデブロッキング処理が行われる。
【０００６】
ＶＣ‐１のデブロッキングはループフィルタ（Ｌｏｏｐ  Ｆｉｌｔｅｒ）で行われる。
この場合、図１に示すように、ループフィルタにおいて、ブロック境界の２画素値の平均化が行われる。
【０００７】
このデブロッキング処理においては、フレームに対応した処理が行われる。
Ｉ／Ｂ／ＢＩフレームの場合、ブロックサイズを８x８の固定で全境界をデブロッキングする。
Ｐフレームの場合、図２に示すように、ブロックサイズ可変(８x８、８x４、４x８、４x４)であり、デブロッキング実行の条件は次の通りである。
１）ブロックのイントラ係数（intra coeff）がゼロでないブロックの境界、
２）隣接するブロックと動きベクトルの差分があるブロック、
にてデブロッキングが実行される。
【０００８】
図３は、Ｐフレームの動きベクトルの差分計算を説明するために模式的に示す図である。
動きベクトルの差分計算は、現在のマクロブロックＭＢＣＵＲに隣接する２つのマクロブロック、具体的には、上に隣接するマクロブロックＭＢＡＢＶと左に隣接するマクロブロックＭＢＬＦとの動きベクトルデータとの差分を計算する。
すなわち、図３に示すように、隣接する２つのマクロブロックの動きベクトルデータ (above_mv, left_mv) と現在のブロックの動きベクトルデータ (cur_mv) の差分を計算する。
この場合、それぞれの動きベクトルデータ取得時にメモリアクセスが発生する。
【０００９】
ＶＣ‐１のデブロッキングフィルタのうち、ビットストリームで制御を行う技術については、特許文献１に提案されている。
【特許文献１】特開２００５-８６８３０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ＶＣ−１のビデオデコーダのＰフレームでは、次の２つの方法によって各ブロック境界でのデブロッキングの実行の必要性を判定する。
（１）ブロック境界で隣接する２つのブロックの動きベクトル同士を比較し、動きベクトルが異なる場合にそのブロック境界でデブロッキングを行う。
（２）あるブロックのデータが、そのブロックが参照する画像のデータのみで構成されず、ビットストリームからデータの追加を行う場合、そのブロックが接するブロック境界でデブロッキングを行う。
【００１１】
上記（１）の判定を行うためには、メモリアクセスを行ってメモリに格納された動きベクトルデータをロードする必要がある。
隣接する２つのブロックの動きベクトルのデータを比較するためには、２つのブロックの動きベクトルデータがそれぞれ縦方向と横方向データを持つため、４回のメモリアクセスが発生する。
【００１２】
図４は、隣接する動きベクトルのメモリ上のデータ配置例を示す図である。
【００１３】
図４に示すように、上下に隣接するブロックの動きベクトルはメモリ上では隣接していない上のブロックは前回のアクセス(上のブロックの動きベクトルの差分計算時)から時間が経っているためキャッシュミスの可能性が高い。
【００１４】
本発明は、デブロッキング処理時におけるメモリの動きベクトルデータへのアクセス回数を削減でき、ひいてはキャッシュミスを低減でき、全体処理の高速化を実現可能な画像処理装置およびその方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の第１の観点の画像処理装置は、ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化部と、逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換部と、可変長復号化処理を受けたデータによる動きベクトルのデコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして形成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、上記動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測部と、上記動きベクトル予測部による動きベクトルデータを受けて上記逆直交変換部の出力画像データの動き補償を行う動き補償部と、上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキング処理部と、現在および比較対象の上記動きベクトルデータが隣接または非隣接の状態で格納され、上記デブロッキング処理部によりアクセス可能なメモリと、を有し、上記動きベクトルデータは、参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、上記動きベクトル予測部は、動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、上記デブロッキング処理部は、上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う。
【００１６】
好適には、上記動きベクトル予測部は、比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいか否かを示す情報を上記ハイブリッド予測情報として埋め込み、上記デブロッキング処理部は、上記埋め込まれたハイブリッド予測情報が、比較対象の動きベクトルと現在の動きベクトルとの差分の絶対値が閾値より大きいことを示しているか否かに応じて、デブロッキングの実行の必要性の判定を行う。
【００２０】
好適には、上記動きベクトルデータは、固定小数点形式のデータとして形成される。
【００２１】
好適には、上記動きベクトルデータは、符号ビット部、整数部、小数部を含む固定小数点形式であり、最下位ビット側に上記ハイブリッド予測情報が設定される。
【００２２】
本発明の第２の観点の画像処理方法は、ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化ステップと、逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換ステップと、符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードするデコードステップと、デコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして生成する動きベクトル生成ステップと、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測ステップと、現在および比較対象の上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに隣接または非隣接の状態で格納する格納ステップと、動きベクトルデータを受けて上記逆直交変換ステップの出力画像データの動き補償を行う動き補償ステップと、上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキングステップと、を有し、上記動きベクトルデータは、参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、上記動きベクトル予測ステップでは、動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、上記デブロッキングステップでは、上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う。
【００２３】
本発明の第３の観点は、ブロック単位で直交変換を施して量子化された画像圧縮情報を逆量子化する逆量子化処理と、逆量子化された係数データに対して逆直交変換処理を施し、復号画像データを出力する逆直交変換処理と、符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードするデコード処理と、デコード結果によりハイブリッド動きベクトル予測を行い、その結果を動きベクトルデータとして生成する動きベクトル生成処理と、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む動きベクトル予測処理と、現在および比較対象の上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに隣接または非隣接の状態で格納する格納処理と、上記動きベクトルデータをデブロッキング処理でアクセス可能にメモリに格納する格納処理と、動きベクトルデータを受けて上記逆直交変換処理の出力画像データの動き補償を行う動き補償処理と、上記動きベクトルデータのハイブリッド予測情報に応じて、上記動き補償された復号画像データのデブロッキング処理を行うデブロッキング処理と、を含み、上記動きベクトルデータは、参照画像上の位置を表す垂直方向と水平方向のそれぞれに対応して形成され、上記動きベクトル予測処理では、動きベクトルデータを表すビット列の中に、動きベクトルデータを使用する演算に必要のないビットに上記ハイブリッド予測情報を埋め込み、上記デブロッキング処理では、上記埋め込まれたハイブリッド予測情報に応じて、デブロッキングの実行の必要性の判定を行う画像処理をコンピュータに実行させるプログラムである。
【００２４】
本発明によれば、動きベクトル予測部において、ハイブリッド動きベクトル予測が行われ、その予測結果を動きベクトルデータとして生成される。そして、デブロッキング実行時にハイブリッド動きベクトル予測の結果が再利用可能となるように、動きベクトルデータにデブロッキングの実行性の必要性を示すハイブリッド予測情報が埋め込まれる。
デブロッキング処理部においては、動きベクトルデータのハイブリッド予測情報に応じて、動き補償された復号画像データのデブロッキング処理が行われる。
【発明の効果】
【００２５】
本発明によれば、デブロッキング処理時におけるメモリの動きベクトルデータへのアクセス回数を削減でき、ひいてはキャッシュミスを低減でき、全体処理の高速化を実現可能である。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態を図面に関連付けて説明する。
【００２７】
図５は、本発明の実施形態に係る画像処理装置の構成を示すブロック図である。
【００２８】
本画像処理装置１００は、図５に示すように、ストリーム分離部（ＢＩＴＳＴＲＥＡＭ
ＰＡＲＳＩＮＧ）１１０、イントラＭＢ（マクロブロック）処理部１２０、インタＭＢ処理部１３０、動きベクトルデコードおよび予測部１４０、動き補償部１５０、加算部１６０、デブロッキング処理部としてのループフィルタ１７０、フレームバッファ１８０、および強度補償部１９０を有する。
また、図５において、符号２００は、デコードされたフレームを示している。
【００２９】
本実施形態の画像処理装置１００は、ノイズ低減のためのデブロッキングフィルタをもつようなビデオコーデックの信号処理においてデブロッキング実行に際して動きベクトルデコードおよび予測部１４０におけるハイブリッド動きベクトル予測結果を再利用する。
本実施形態の画像処理装置１００は、特徴的な構成として、動きベクトル予測部と、動き補償部１５０と、デブロッキング処理部１７０とを有する。
動きベクトル予測部は、可変長復号化処理したデータによる動きベクトルのデコード結果によりハイブリッド動きベクトル予測を行う。動きベクトル予測部は、その結果を動きベクトルデータとして生成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む。動き補償部１５０は、動きベクトルデータを受けて画像データの動き補償を行う。デブロッキング処理部１７０は、動きベクトルデータのハイブリッド予測情報に応じて、動き補償された復号画像データのデブロッキング処理を行う。
本実施形態の画像処理装置１００においては、たとえば図６に示すように、隣接する２つのブロックの動きベクトルデータ (predictor_A, predictor_B) と現在のブロックの動きベクトルデータ (cur_mv) の差分を計算する。
そして、画像処理装置１００は、計算の結果、ｘ差分（水平方向の差分）とｙ差分（垂直方向の差分）の和が所定の値３２より大きい場合、比較対象の動きベクトルで現在の動きベクトルを置換するように構成することが可能である。このことにより、デブロッキング処理時におけるメモリの動きベクトルデータへのアクセス回数を削減し、キャッシュミスを低減し、全体処理の高速化が実現される。
以下に、画像処理装置１００の各部の構成、機能について具体的に説明する。
【００３０】
ストリーム分離部１１０は、入力されたビットストリームをヘッダ情報等に応じてイントラＭＢデータをイントラＭＢ処理部１２０に供給し、インタＭＢデータをインタＭＢ処理部１３０に供給し、動き検出に必要なデータを動きベクトルおよび予測部１４０に供給する。
【００３１】
イントラＭＢ処理部１２０は、可変長復号化部（ＶＬＤ）１２１、ＡＣ／ＤＣ予測部１２２、逆量子化部（ＩＱ）１２３、逆直交変換部１２４、およびオーバラップスムージング部１２５を有する。
【００３２】
可変長復号化部１２１は、符号化されたデータを受けて可変長復号化処理を行い、処理の結果得られた量子化データをＡＣ／ＤＣ予測部１２２に出力する。
【００３３】
ＡＣ／ＤＣ予測部１２２は、可変長復号化部１２１による量子化データに基づいてＡＣ／ＤＣ予測を行い、その結果データを逆量子化部１２３に出力する。
ＤＣ予測とは、隣接した「左マクロブロック（ＭＢ）と左上ＭＢのＤＣ成分の変化量」と「左上ＭＢと上ＭＢのＤＣ成分の変化量」を比較して、より傾きの小さい方向からが現在のＭＢのＤＣ成分を予測する方式である。
ＡＣ予測とは、フレーム間予測を用いずに符号化された画素ブロックについて、単純にＤＣＴ（離散コサイン変換）の係数を量子化して符号化するのではない。
ＡＣ予測とは、ＤＣＴ係数行列のうち最上列または最左行の値について、上または左の隣接ブロックの値の差分を符号化することによって符号量を削減する方式である。
【００３４】
逆量子化部１２３は、ＡＣ／ＤＣ予測部１２２による量子化データをマクロブロック（ＭＢ）ごとに、たとえば１６画素×１６ライン（あるいは８画素×８ライン、４画素×４ライン）のブロック単位で逆量子化する。
逆量子化部１２３は、得られたＤＣＴ（Discrete Cosine Transform：離散コサイン変換）係数データを逆直交変換部１２４に出力する。
【００３５】
逆直交変換部１２４は、逆量子化部１２３により供給されるＤＣＴ係数データに対して逆ＤＣＴ（ＩＤＣＴ）処理を行い、得られた画素データをオーバラップスムージング部１２５に出力する。
【００３６】
オーバラップスムージング部１２５は、逆直交変換部１２４による画像データのブロック境界での歪みを軽減するために、ブロック境界をスムージングする（滑らかにする）フィルタリング処理を行う。
オーバラップスムージング部１２５は、処理後の画像データをデブロッキング処理部としてのループフィルタ１７０に出力する。
【００３７】
インタＭＢ処理部１３０は、可変長復号化部１３１、逆量子化部１３２、および逆直交変換部１３３を有する。
【００３８】
可変長復号化部１３１は、符号化されたデータを受けて可変長復号化処理を行い、処理の結果得られた量子化データを逆量子化部１３２に出力する。
【００３９】
逆量子化部１３２は、可変長復号化部１３１による量子化データをマクロブロック（ＭＢ）ごとに、たとえば１６画素×１６ライン（あるいは８画素×８ライン、４画素×４ライン）のブロック単位で逆量子化する。
逆量子化部１３２は、得られたＤＣＴ（Discrete Cosine Transform：離散コサイン変換）係数データを逆直交変換部１３３に出力する。
【００４０】
逆直交変換部１３３は、逆量子化部１３２により供給されるＤＣＴ係数データに対して逆ＤＣＴ（ＩＤＣＴ）処理を行い、得られた画素データを加算部１６０に出力する。
【００４１】
動きベクトルデコードおよび予測部１４０は、動きベクトル（ＭＶ）デコード部１４１および動きベクトル（ＭＶ）予測部１４２を有する。
【００４２】
動きベクトルデコード部１４１は、符号化されたデータを受けて可変長復号化処理を行い、このデータによる動きベクトルをデコードし、動きベクトル予測部１４２に出力する。
【００４３】
動きベクトル予測部１４２は、デコード結果により動きベクトルの予測、すなわちハイブリッド動きベクトル予測を行う。
動きベクトル予測部１４２は、予測結果を動きベクトルデータとして生成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように、動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む。  動きベクトル予測部１４２は、ハイブリッド予測情報を埋め込みに際して、たとえば最下位ビットに０，１で設定する。
動きベクトル予測部１４２は、ハイブリッド予測情報が埋め込まれた動きベクトルデータを動きベクトル補償部１５０に出力する。
そして、動きベクトルデータはメモリＭＲＹに格納される。メモリＭＲＹは、デブロッキング処理部としてのループフィルタ１７０によりアクセスされる。
【００４４】
ここで、本実施形態に係る動きベクトルデータとハイブリッド動きベクトル予測処理について説明する。
【００４５】
図７は、本実施形態に係る動きベクトルデータの構成例を示す図である。
【００４６】
ＶＣ-１の動きベクトルデータ３００は、図７に示すように、参照画像上の位置を表す縦方向（垂直方向）と横方向（水平方向）がそれぞれ（１）符号ビット部３１０、（２）整数部３２０、（３）小数部３３０をもつ固定小数点形式を有する。
動きベクトルデータ３００の整数部３２０と小数部３３０のビット長は規格で規定されていないため、対象となる動画像をデコードするのに十分なビット長があれば、デコーダの実装者が自由に決定することが可能である。
小数部３３０は動き補償の１／４ピクセル精度を満たすため最低２ビット必要である。整数部３２０は高精細（ＨＤ）の動画像をデコードするための横方向の解像度２０４８ピクセルを表現できる１１ビットで十分である。
そのため、動きベクトルデータを１６ビットのデータとして格納するシステムの場合、動きベクトルデータ中に使用されないビットが発生する。
【００４７】
本実施形態においては、上記のように動きベクトルデータに使用されないビットがある場合に、その使用されないビットを動きベクトルデータの最下位ビットになるよう動きベクトルデータの形式を設定し（図７の網掛け部）、デブロッキングに先行して行われるハイブリッド動きベクトル予測の差分計算の結果をその動きベクトルデータの最下位ビット３４０に格納し、その結果を利用してデブロッキングの実行の必要性の判定を行う。
【００４８】
ハイブリッド動きベクトル予測は、動きベクトル予測の一部を構成する処理である。動きベクトル予測で予測したあるブロックの動きベクトルと周辺のブロックの動きベクトルとの比較を行った結果の差分が閾値を超える場合に、そのブロックの動きベクトルを、比較を行ったブロックの動きベクトルで置き換える処理を行う。
ハイブリッド動きベクトル予測で行う差分計算の結果は、縦方向と横方向の動きベクトルの差分絶対値を加算したものであり、最大１６ビットの正の整数である。
本実施形態においては、比較命令を使用してその差分情報を差分があるときに１、ないときに０の１ビットのデータにする。
こうすることで差分情報は１ビットになる。
【００４９】
本実施形態の処理を要約すると図８（Ａ）〜（Ｅ）に示すようになる。
ハイブリッド動きベクトル予測によって得られた動きベクトルデータ３００は、本実施形態の手法で縦または横のどちらかのデータの最下位ビットにそのベクトルの差分情報が埋め込まれる（図８（Ａ））。
動きベクトルデータを動き補償で使用する際は差分情報をマスクして動きベクトルデータのみを取り出して（図８（Ｂ））入力する（図８（Ｄ））。
また、動きベクトルデータをデブロッキングで使用する際は動きベクトルデータをマスクして差分情報のみを取り出して（図８（Ｃ））入力する（図８（Ｅ））。
【００５０】
動き補償部１５０は、動きベクトルデータ３００を受けてピクチャ単位で動きベクトルの画素精度を１／２と１／４のうちのいずれからか選択可能で、いわゆる分数精度画素動き補償を行う。
【００５１】
動き補償部１５０は、動きベクトルデコードおよび予測部１４０により動作が制御され、加算部１６０でそのとき処理しているものがＩピクチャである場合、この加算部１６０に対して何らデータを供給しない。
動き補償部１５０は、加算部１６０でそのとき処理しているものがＰピクチャである場合、フレームバッファ１８０における過去のフレームに相当する画像データを読み出し、これに所定の演算処理を行って得られた演算データを加算部１６０に供給する。
また、動き補償部１５０は、加算部１６０でそのとき処理しているものがＢピクチャである場合、フレームバッファ１８０における過去および未来のフレームに相当する画像データを読み出し、これに所定の演算処理を行って得られた演算データを加算部１６０に供給する。
【００５２】
なお、強度補償部１９０は、フレームバッファ１８０のデータのスケーリング等を行う。
【００５３】
加算部１６０は、インタＭＢ処理部１３０の出力画像データと動き補償部１５０によるデータとを加算処理してデブロッキング処理部としてのループフィルタ１７０に出力する。
【００５４】
ループフィルタ１７０は、たとえばメモリ等に格納されている動きベクトルデータ３００の最下位ビット３４０の１ビットの差分情報に応じてデブロッキング処理を行う。
ループフィルタ１７０は、差分情報が計算の結果、ｘ差分（水平方向の差分）とｙ差分（垂直方向の差分）の和が所定の値３２より大きい場合を示しているときは次の処理を行う。
すなわち、ループフィルタ１７０は、比較対象の動きベクトルで現在の動きベクトルを置換することにより、デブロッキング処理時におけるメモリの動きベクトルデータへのアクセス回数を削減し、キャッシュミスを低減し、全体処理の高速化を実現している。
【００５５】
次に、上記構成に基づく、本実施形態におけるハイブリッド動きベクトル予測およびデブロッキング時の動作を、ＶＣ‐１のデブロッキング実行判定動作原理を含めて、より具体的に説明する。
ここでは、Ｐフレームの場合について説明する。
【００５６】
＜デブロッキング実行判定＞
ＶＣ-１ビデオデコーダのＰフレームでは、次の２つの方法によって各ブロック境界でのデブロッキングの実行の必要性を判定する。
（１）ブロック境界で隣接する２つのブロックの動きベクトル同士を比較し、動きベクトルが異なる場合にそのブロック境界でデブロッキングを行う。
（２）あるブロックのデータが、そのブロックが参照する画像のデータのみで構成されず、ビットストリームからデータの追加を行う場合、そのブロックが接するブロック境界でデブロッキングを行う。
【００５７】
上記（１）の判定を行うためには、メモリアクセスを行ってメモリに格納された動きベクトルデータをロードする必要がある。隣接する２つのブロックの動きベクトルのデータを比較するためには、２つのブロックの動きベクトルデータがそれぞれ縦方向と横方向データを持つため、４回のメモリアクセスが発生する。
しかしながら、ＶＣ-１ビデオデコーダでは、デブロッキングに先行して行われるハイブリッド動きベクトル予測にて隣接する２つのブロックの動きベクトルの比較を行っているため、その結果を利用することが可能である。
本実施形態においては、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能とすることにより、本来必要のないメモリアクセスをなくし、この動きベクトルデータへの４回のメモリアクセス数を削減している。
【００５８】
＜デブロッキング実行判定時の動きベクトルデータ参照＞
図９は横方向８０ピクセル、縦方向６４ピクセルのフレームを１６x１６のマクロブロック(ＭＢ)単位に分割し、それぞれのＭＢに識別のためのアルファベットを付して示す図である。
図１０は、図９におけるＭＢ‐Ｍのデブロッキング実行判定時の参照ＭＢについて示す図である。
図１１は、動きベクトルを使用したデブロッキング実行判定の基本的な処理を示すフローチャートである。
【００５９】
ＶＣ-１ではデブロッキング実行判定時に、たとえばＭのＭＢ境界でデブロッキングの実行を行うか否かを、図１０に示すように、ＭＢ‐ＨとＭＢ‐Ｌのそれぞれの動きベクトル（ＭＶ_ＨおよびＭＶ_Ｌ）を、ＭＢ‐Ｍの動きベクトル（ＭＶ_Ｍ）と比較し（ＳＴ１，ＳＴ２）、差分があった場合には差分のあるＭＢとの境界のデブロッキングを行う（ＳＴ３，ＳＴ４）、という処理を行う。
【００６０】
これらから、ＭＢ‐Ｍのデブロッキング実行判定を行うためにはＭＢ‐ＨとＭＢ‐Ｌそれぞれの動きベクトル（ＭＶ_Ｈ，ＭＶ_Ｌ)のデータが必要となることがわかる。
【００６１】
図１２は、動きベクトルデータのメモリ上の配置の一例を示す図である。
【００６２】
図１２の例においては、動きベクトルＭＶ_Ｌのデータは動きベクトルＭＶ_Ｍのデータとメモリ上で隣接しているが、動きベクトルＭＶ_Ｈのデータは動きベクトルＭＶ_Ｍのデータとメモリ上で隣接していないことがわかる。
そのため、ＭＢ‐Ｍのデブロッキング実行判定において、動きベクトルＭＶ_Ｈのデータへのアクセス時にキャッシュミスの可能性が高くなる。
【００６３】
＜ハイブリッドＭＶ予測結果の利用によるデブロッキング時のＭＶデータ参照によるメモリアクセスの削減＞
本実施形態においては、前述したように、デブロッキング実行判定の際の隣接するＭＢの動きベクトルＭＶデータの参照によるメモリＭＲＹへのアクセスでのキャッシュミスを避けるため、「ハイブリッドＭＶ予測結果の再利用」を実現している。
【００６４】
ハイブリッド動きベクトル（ＭＶ）予測とは、通常のＭＶ予測に加え、予測されたＭＶと隣接するＭＶとの差分がある閾値を上回った場合に、このＭＶを隣接するＭＶで置き換える処理である。
【００６５】
図１３は、ハイブリッド動きベクトル（ＭＶ）予測をＭＢ‐Ｍに行った場合のデブロッキング判定処理のフローチャートを示す図である。
【００６６】
図１３に示すように、まず、動きベクトル予測部１４２において、縦方向（垂直方向）の動きベクトルＭＶ_Ｈと動きベクトルＭＶ_Ｍの差分の絶対値ＳＵＭを計算する（ＳＴ１１）。
そして、動きベクトル予測部１４２にて、差分の絶対値ＳＵＭが閾値３２より大きいか否かの判別を行う（ＳＴ１２）。
ここで、差分の絶対値ＳＵＭが閾値３２より大きい場合には、動きベクトル予測部１４２は、動きベクトルデータの最下位ビット３４０にハイブリッドフラグＨＹＢＲＩＤＰＲＥＤに「１」を設定する。
差分の絶対値ＳＵＭが閾値３２より大きくない場合には、動きベクトル予測部１４２は、動きベクトルデータの最下位ビット３４０にハイブリッドフラグＨＹＢＲＩＤＰＲＥＤに「０」を設定する。
そして、動き補償部１５０による動き補償を受けたインタＭＢの復号画像データは、加算部１６０を介してデブロッキング処理部としてのループフィルタ１７０に入力される。
なお、ハイブリッドフラグＨＹＢＲＩＤＰＲＥＤは、ＶＣ−１ストリーム中でハイブリッド予測を行う際に「左」または「上」のいずれのブロックのベクトルを使用するかを指定するためのフラグである。
【００６７】
デブロッキング処理部としてのループフィルタ１７０においては、デブロッキング実行判定において、動きベクトルデータ３００の最下位ビット３４０のハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「１」であるか否かの判別を行う（ＳＴ１３）。
ループフィルタ１７０においては、ハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「１」である場合には、比較対象の動きベクトルＭＶ_Ｈで現在の動きベクトルＭＶ_Ｍを置換する（ＳＴ１４）。
ループフィルタ１７０においては、ハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「０」である場合には、比較対象の動きベクトルＭＶ_Ｌで現在の動きベクトルＭＶ_Ｍを置換する（ＳＴ１５）。
【００６８】
以上の処理と並行して、動きベクトル予測部１４２において、横方向（水平方向）の動きベクトルＭＶ_Ｌと動きベクトルＭＶ_Ｍの差分の絶対値ＳＵＭを計算する（ＳＴ１６）。
そして、動きベクトル予測部１４２にて、差分の絶対値ＳＵＭが閾値３２より大きいか否かの判別を行う（ＳＴ１７）。
ここで、差分の絶対値ＳＵＭが閾値３２より大きい場合には、動きベクトル予測部１４２は、動きベクトルデータの最下位ビット３４０にハイブリッドフラグＨＹＢＲＩＤＰＲＥＤに「１」を設定する。
差分の絶対値ＳＵＭが閾値３２より大きくない場合には、動きベクトル予測部１４２は、動きベクトルデータの最下位ビット３４０にハイブリッドフラグＨＹＢＲＩＤＰＲＥＤに「０」を設定する。
そして、動き補償部１５０による動き補償を受けたインタＭＢの復号画像データは、加算部１６０を介してデブロッキング処理部としてのループフィルタ１７０に入力される。
【００６９】
デブロッキング処理部としてのループフィルタ１７０においては、デブロッキング実行判定において、動きベクトルデータ３００の最下位ビット３４０のハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「１」であるか否かの判別を行う（ＳＴ１８）。
ループフィルタ１７０においては、ハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「１」である場合には、比較対象の動きベクトルＭＶ_Ｈで現在の動きベクトルＭＶ_Ｍを置換する（ＳＴ１９）。
ループフィルタ１７０においては、ハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「０」である場合には、比較対象の動きベクトルＭＶ_Ｌで現在の動きベクトルＭＶ_Ｍを置換する（ＳＴ２０）。
【００７０】
このように、デブロッキング実行判定処理で行うＭＶの差分計算は、動きベクトル予測部１４２におけるハイブリッドＭＶ予測処理によって既に行われている。
このため、本実施形態においては新たなデータをロード/ストアを行うことなくその結果を再利用することができように処理されており、デブロッキングの実行判定処理時に周辺の動きベクトル（ＭＶ）データにアクセスする必要がない。
【００７１】
次に、ハイブリッド動きベクトル予測時に動きベクトルの差分情報を動きベクトル（ＭＶ）データに埋め込む処理について説明する。
図１４は、ハイブリッド動きベクトル予測時に動きベクトルの差分情報を動きベクトル（ＭＶ）データに埋め込む処理のフローチャートを示す図である。
【００７２】
図１４に示すように、まず、動きベクトル予測部１４２において、縦方向（垂直方向）の動きベクトルＭＶ_Ｈと動きベクトルＭＶ_Ｍの差分の絶対値ＳＵＭを計算する（ＳＴ２１）。
そして、動きベクトル予測部１４２にて、差分の絶対値ＳＵＭが０であるか否かの判別を行う（ＳＴ２２）。ステップＳＴ２２において、０でないと判別すると、現在の動きベクトルＭＶ_Ｍを０ｘ１とする（ここでの０ｘは１６進（ヘキサ）を示す）（ＳＴ２３）。
次に、動きベクトル予測部１４２にて、差分の絶対値ＳＵＭが閾値３２より大きいか否かの判別を行う（ＳＴ２４）。
ここで、差分の絶対値ＳＵＭが閾値３２より大きい場合には、動きベクトル予測部１４２は、動きベクトルデータの最下位ビット３４０にハイブリッドフラグＨＹＢＲＩＤＰＲＥＤに「１」を設定する。
差分の絶対値ＳＵＭが閾値３２より大きくない場合には、動きベクトル予測部１４２は、動きベクトルデータの最下位ビット３４０にハイブリッドフラグＨＹＢＲＩＤＰＲＥＤに「０」を設定する。
【００７３】
そして、動きベクトル予測部１４２において、ハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「１」である場合には（ＳＴ２５）、比較対象の動きベクトルＭＶ_Ｈの差分情報を現在の動きベクトルＭＶ_Ｍに埋め込む（ＳＴ２６）。この場合、動きベクトルＭＶ_Ｈの情報として、図１４の例では、「０ｘｆｆｆｅｆｆｆｅ」が埋め込まれる。
動きベクトル予測部１４２において、ハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「０」である場合には、比較対象の動きベクトルＭＶ_Ｌの差分情報を現在の動きベクトルＭＶ_Ｍに埋め込む（ＳＴ２７）。この場合、動きベクトルＭＶ_Ｌの情報として、図１４の例では、「０ｘｆｆｆｅｆｆｆｅ」が埋め込まれる。
【００７４】
以上の処理と並行して、動きベクトル予測部１４２において、横方向（水平方向）の動きベクトルＭＶ_Ｌと動きベクトルＭＶ_Ｍの差分の絶対値ＳＵＭを計算する（ＳＴ２８）。
そして、動きベクトル予測部１４２にて、差分の絶対値ＳＵＭが０であるか否かの判別を行う（ＳＴ２９）。ステップＳＴ２９において、０でないと判別すると、現在の動きベクトルＭＶ_Ｍを０ｘ１００００とする（ＳＴ３０）。
次に、動きベクトル予測部１４２にて、差分の絶対値ＳＵＭが閾値３２より大きいか否かの判別を行う（ＳＴ３１）。
ここで、差分の絶対値ＳＵＭが閾値３２より大きい場合には、動きベクトル予測部１４２は、動きベクトルデータの最下位ビット３４０にハイブリッドフラグＨＹＢＲＩＤＰＲＥＤに「１」を設定する。
差分の絶対値ＳＵＭが閾値３２より大きくない場合には、動きベクトル予測部１４２は、動きベクトルデータの最下位ビット３４０にハイブリッドフラグＨＹＢＲＩＤＰＲＥＤに「０」を設定する。
【００７５】
そして、動きベクトル予測部１４２において、ハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「１」である場合には（ＳＴ３２）、比較対象の動きベクトルＭＶ_Ｈの差分情報を現在の動きベクトルＭＶ_Ｍに埋め込む（ＳＴ３３）。この場合、動きベクトルＭＶ_Ｈの情報として、図１４の例では、「０ｘｆｆｆｅｆｆｆｅ」が埋め込まれる。
動きベクトル予測部１４２において、ハイブリッドフラグＨＹＢＲＩＤＰＲＥＤが「０」である場合には、比較対象の動きベクトルＭＶ_Ｌの差分情報を現在の動きベクトルＭＶ_Ｍに埋め込む（ＳＴ２７）。この場合、動きベクトルＭＶ_Ｌの情報として、図１４の例では、「０ｘｆｆｆｅｆｆｆｅ」が埋め込まれる。
【００７６】
このように、本実施形態においては、ハイブリッド動きベクトル（ＭＶ）予測の際に、図１４のように、動きベクトルの差分情報をＭＶに埋め込む。差分情報を埋め込む位置は、図７の通りである。
【００７７】
既に述べたように、差分情報の埋め込み位置は、動きベクトルの成分である１６ビット固定小数点数の小数部最下位ビットであるが、小数部に必要とされる精度は２ビットなので、最下位ビットは使用されない。そのため、差分情報を埋め込んでも動きベクトルのデータそのものは失われることはない。
動きベクトルデータの使用時には差分情報をマスクし、差分情報の使用時には動きベクトルデータをマスクすることで、双方に影響を与えることなく使用が可能である。
【００７８】
以上説明したように、本実施形態によれば、画像処理装置１００は、特徴的な構成として、動きベクトル予測部１４２と、動き補償部１５０と、デブロッキング処理部１７０とを有している。
動きベクトル予測部１４２は、ノイズ低減のためのデブロッキングフィルタをもつようなたとえばビデオコーデックの信号処理において、可変長復号化処理したデータによる動きベクトルのデコード結果によりハイブリッド動きベクトル予測を行う。
動きベクトル予測部１４２は、その結果を動きベクトルデータとして生成し、デブロッキング実行時にハイブリッド動きベクトル予測の結果を再利用可能になるように動きベクトルデータにデブロッキングの実行の必要性を示すハイブリッド予測情報を埋め込む。
動き補償部１５０は、動きベクトルデータを受けて画像データの動き補償を行う。
デブロッキング処理部１７０は、動きベクトルデータのハイブリッド予測情報に応じて、動き補償された復号画像データのデブロッキング処理を行う。
そして、画像処理Ｓプチ１００においては、たとえば、デブロッキング実行に際して、動きベクトルデコードおよび予測部１４０におけるハイブリッド動きベクトル予測結果を再利用する。
ハイブリッド動きベクトル予測の場合に、たとえば図６に示すように、隣接する２つのブロックの動きベクトルデータ (predictor_A, predictor_B) と現在のブロックの動きベクトルデータ (cur_mv) の差分を計算する。
計算の結果、ｘ差分（水平方向の差分）とｙ差分（垂直方向の差分）の和が所定の値３２より大きい場合、比較対象の動きベクトルで現在の動きベクトルを置換する。
したがって、本実施形態によれば、以下の効果を得ることができる。
【００７９】
（１）メモリアクセスの削減：
演算結果を再利用することで、デブロッキングの実行の必要性を判定する際の隣接するブロックの動きベクトルデータへのメモリアクセスを削減することができる。デブロッキングの実行の必要性を判定するためには左と上の２つの隣接するブロックの動きベクトルデータが必要であり、それぞれ縦方向と横方向のデータがあるので、１ブロックあたり合計４回のメモリアクセスを削減することができる。
【００８０】
（２）演算量の削減：
演算結果を再利用することで、デブロッキングの実行の必要性を判定する際の演算を削減することができる。メモリアクセスを行って得た動きベクトルデータ１個につき１回の減算が削減されるので、１ブロックあたり合計４回の減算を削減することができる。
【００８１】
また、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、ＣＰＵ等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
【図面の簡単な説明】
【００８２】
【図１】ＶＣ‐１のデブロッキングを説明するための図である。
【図２】ブロックサイズを可変であることを示す図である。
【図３】動きベクトルの差分計算を模式的に示す図である。
【図４】隣接する動きベクトルのメモリ上のデータ配置例を示す図である。
【図５】本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図６】隣接する２つのブロックの動きベクトルデータと現在のブロックの動きベクトルデータの差分計算を模式的に示す図である。
【図７】本実施形態に係る動きベクトルデータの構成例を示す図である。
【図８】ハイブリッド動きベクトル予測によって得られた動きベクトルデータを用いた関連処理を説明するための図である。
【図９】横方向８０ピクセル、縦方向６４ピクセルのフレームを１６x１６のマクロブロック(ＭＢ)単位に分割し、それぞれのＭＢに識別のためのアルファベットを付して示す図である。
【図１０】図９におけるＭＢ‐Ｍのデブロッキング実行判定時の参照ＭＢについて示す図である。
【図１１】動きベクトルを使用したデブロッキング実行判定の基本的な処理を示すフローチャートである。
【図１２】動きベクトルデータのメモリ上の配置の一例を示す図である。
【図１３】ハイブリッド動きベクトル（ＭＶ）予測をＭＢ‐Ｍに行った場合のデブロッキング判定処理のフローチャートを示す図である。
【図１４】ハイブリッド動きベクトル予測時に動きベクトルの差分情報を動きベクトル（ＭＶ）データに埋め込む処理のフローチャートを示す図である。
【符号の説明】
【００８３】
１００・・・画像処理装置、１１０・・・ストリーム分離部、１２０・・・イントラＭＢ処理部、１３０・・・インタＭＢ処理部、１４０・・・動きベクトルデコードおよび予測部、１４１・・・動きベクトルデコード部、１４２・・・動きベクトル予測部、１５０・・・動き補償部、１６０・・・加算部、１７０・・・デブロッキング処理部としてのループフィルタ、１８０・・・フレームバッファ、１９０・・・強度補償部。
【図１】
0005012647.tif 000002
【図２】
0005012647.tif 000003
【図３】
0005012647.tif 000004
【図４】
0005012647.tif 000005
【図５】
0005012647.tif 000006
【図６】
0005012647.tif 000007
【図７】
0005012647.tif 000008
【図８】
0005012647.tif 000009
【図９】
0005012647.tif 000010
【図１０】
0005012647.tif 000011
【図１１】
0005012647.tif 000012
【図１２】
0005012647.tif 000013
【図１３】
0005012647.tif 000014
【図１４】
0005012647.tif 000015