(57)【要約】【課題】デブロッキングフィルタ処理のためのフィルタ強度の設定におけるメモリアクセス量を低減させることができるフィルタ強度設定装置及びフィルタ強度設定方法を提供する。【解決手段】Ｂｓ値設定部５０は、カレントブロックの対象エッジが可変ブロック境界に属していない場合に、メモリアクセスイネーブル信号及びコピーイネーブル信号を非アクティブにするアクセス判定部５７を備える。Ｂｓ値演算回路６３は、アクセス判定部５７からの非アクティブのメモリアクセスイネーブル信号及び非アクティブのコピーイネーブル信号に応じて、動きベクトルを読み出すことなくカレントブロックの対象エッジにおけるＢｓ値を強制的に「０」に設定する。【選択図】図２
2009081544.tif 000002
【特許請求の範囲】
【請求項１】
マクロブロック内の各フィルタブロックの垂直エッジ及び水平エッジに対するデブロッキングフィルタ処理時のフィルタ強度を各々設定するフィルタ強度設定装置であって、
現在処理対象のフィルタブロックであるカレントブロックの動きベクトルに関わらず、該動きベクトルを除く符号化情報である判定情報に応じて前記カレントブロックの垂直エッジ又は水平エッジにおけるフィルタ強度が一意的に所定値に設定可能なときに判定信号を生成する判定回路を備え、
前記カレントブロックの垂直エッジにおけるフィルタ強度設定時に、前記判定回路にて前記判定信号が生成されると、前記動きベクトルを読み出すことなく、前記判定情報に応じて前記垂直エッジにおけるフィルタ強度を前記所定値に設定するとともに、
前記カレントブロックの水平エッジにおけるフィルタ強度設定時に、前記判定回路にて前記判定信号が生成されると、前記動きベクトルを読み出すことなく、前記判定情報に応じて前記水平エッジにおけるフィルタ強度を前記所定値に設定することを特徴とするフィルタ強度設定装置。
【請求項２】
前記判定回路は、前記カレントブロックの垂直エッジ及び水平エッジがインター予測符号化時における可変ブロックの境界に属するかを、前記判定情報内の可変ブロックサイズに応じて判定する第１判定手段を含み、
前記第１判定手段にて前記カレントブロックの垂直エッジが前記可変ブロックの境界に属さないと判定されたときに、前記垂直エッジにおけるフィルタ強度を前記所定値として０に設定するとともに、
前記第１判定手段にて前記カレントブロックの水平エッジが前記可変ブロックの境界に属さないと判定されたときに、前記水平エッジにおけるフィルタ強度を前記所定値として０に設定することを特徴とする請求項１に記載のフィルタ強度設定装置。
【請求項３】
前記判定回路は、前記判定情報内に含まれてフィールド符号化であるかフレーム符号化であるかを示すコーディングタイプが、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとにおいて一致するか否かを判定する第２判定手段を含み、
前記第２判定手段にて前記カレントブロックと前記隣接左ブロックとの前記コーディングタイプが異なると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するとともに、
前記第２判定手段にて前記カレントブロックと前記隣接上ブロックとの前記コーディングタイプが異なると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定することを特徴とする請求項１又は２に記載のフィルタ強度設定装置。
【請求項４】
前記判定回路は、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとのインター予測符号化時における参照ピクチャ枚数が一致するか否かを、参照ピクチャ番号に応じて判定する第３判定手段を含み、
前記第３判定手段にて前記カレントブロックと前記隣接左ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するとともに、
前記第３判定手段にて前記カレントブロックと前記隣接上ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定することを特徴とする請求項１〜３のいずれか１つに記載のフィルタ強度設定装置。
【請求項５】
前記判定回路は、前記カレントブロックと、前記隣接左ブロックあるいは前記隣接上ブロックとのインター予測符号化時における参照ピクチャ番号が一致するか否かを判定する第４判定手段を含み、
前記第４判定手段にて前記カレントブロックと前記隣接左ブロックとの前記参照ピクチャ番号が異なると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するとともに、
前記第４判定手段にて前記カレントブロックと前記隣接上ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定することを特徴とする請求項４に記載のフィルタ強度設定装置。
【請求項６】
マクロブロック内の各フィルタブロックの垂直エッジ及び水平エッジに対するデブロッキングフィルタ処理時のフィルタ強度を各々設定するフィルタ強度設定装置によるフィルタ強度設定方法であって、
前記フィルタ強度設定装置は、現在処理対象のフィルタブロックであるカレントブロックの垂直エッジ及び水平エッジがインター予測符号化時における可変ブロックの境界に属するかを、動きベクトルを除く符号化情報である判定情報内の可変ブロックサイズに応じて判定する第１判定手段を含み、
前記第１判定手段にて前記カレントブロックの垂直エッジが前記可変ブロック境界に属さないと判定されたときに、前記フィルタ強度設定装置が、動きベクトルを読み出すことなく、前記垂直エッジにおけるフィルタ強度を０に設定するステップと、
前記第１判定手段にて前記カレントブロックの水平エッジが前記可変ブロック境界に属さないと判定されたときに、前記フィルタ強度設定装置が、動きベクトルを読み出すことなく、前記水平エッジにおけるフィルタ強度を０に設定するステップとを含むことを特徴とするフィルタ強度設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィルタ強度設定装置及びフィルタ強度設定方法に関するものである。
近年、各種符号化ツールの自由度を高くすることによって、ＭＰＥＧ−２やＭＰＥＧ−４などの符号化方式よりも２倍近く高い符号化効率が実現されるＨ．２６４／ＡＶＣが規格化されている。このＨ．２６４／ＡＶＣでは、高い符号化効率が実現できる反面、処理量が多くなる。とくに、ブロック歪を低減するためのデブロッキングフィルタ処理は、１ピクチャにおける総処理時間の１／５以上の多大な処理時間がかかることもある。そのため、このデブロッキングフィルタ処理における処理量の低減が望まれている。
【背景技術】
【０００２】
近年、ＭＰＥＧ−２やＭＰＥＧ−４などの符号化方式に比べて２倍近く高い符号化効率を実現する方式としてＨ．２６４／ＡＶＣ（「ＭＰＥＧ−４  Ｐａｒｔ１０」あるいは「Ｈ．２６４」ともいう）が規格化されている。このＨ．２６４／ＡＶＣは、従来の符号化方式と同様に、動き補償と直交変換とを組み合わせたハイブリッド符号化方式をベースにしている。さらに、Ｈ．２６４．ＡＶＣでは、以下に説明するように、符号化される各要素の符号化ツールの自由度を高くすることによって高い符号化効率を実現している。
【０００３】
例えば、従来のＭＰＥＧ−２等では、ピクチャ毎に符号化モードが決定されているのに対し、Ｈ．２６４／ＡＶＣでは、１６×１６画素のブロック（マクロブロック）毎に符号化モードが決定されている。詳述すると、Ｈ．２６４／ＡＶＣでは、図１８に示すように、Ｉスライス、Ｐスライス、Ｂスライスといった異なる種類のスライス（マクロブロックを横方向に順次繋げた帯状の領域）を１つのピクチャ内に混在させることができる。そして、これら各スライス内に含むことのできるマクロブロックの種類は、以下のように設定されている。すなわち、Ｉスライスは、イントラ予測符号化を行うＩマクロブロックＩＭＢのみを含むことができる。Ｐスライスは、ＩマクロブロックＩＭＢと、１枚の参照ピクチャを用いたインター予測符号化を行うＰマクロブロックＰＭＢとを含むことができる。Ｂスライスは、ＩマクロブロックＩＭＢと、ＰマクロブロックＰＭＢと、２枚の参照ピクチャを用いたインター予測符号化を行うＢマクロブロックＢＭＢとを含むことができる。このように、Ｈ．２６４／ＡＶＣではマクロブロック単位で符号化モードが決定される。
【０００４】
また、従来のＭＰＥＧ−２等では、参照ピクチャ番号や動きベクトルを用いて予測画像を生成して該予測画像と符号化対象ブロックとの差分を符号化するインター予測符号化におけるブロックサイズが１６×１６画素、８×８画素のブロックに固定されていた。これに対し、Ｈ．２６４／ＡＶＣでは、図１９に示すように、ＢマクロブロックＢＭＢ及びＰマクロブロックＰＭＢ内において、１６×１６画素、１６×８画素、８×１６画素、８×８画素、８×４画素、４×８画素、４×４画素の７形状から最適に予測可能な可変ブロックサイズが選択されてインター予測符号化が行われる。
【０００５】
また、従来のＭＰＥＧ−４では、符号化対象ブロックと同一画面上の符号化済みである近傍の画素値を用いて予測画像を生成してその差分を符号化するイントラ予測符号化が採用され、そのイントラ予測符号化におけるブロックサイズが８×８画素のブロックに固定されていた。これに対して、Ｈ．２６４／ＡＶＣでは、ＩマクロブロックＩＭＢ内において、１６×１６画素、４×４画素の２形状から最適に予測可能なブロックサイズが選択されてイントラ予測符号化が行われる。
【０００６】
また、Ｈ．２６４／ＡＶＣでは、直交変換を用いる符号化方式の欠点であったブロック境界の歪み（ブロック歪）を低減するためのデブロッキングフィルタが搭載されている。
例えば、Ｈ．２６４／ＡＶＣの復号化装置では、復号画像が参照ピクチャメモリに格納される前に、デブロッキングフィルタによって適応的にブロック歪の除去が行われる。このデブロッキングフィルタ処理によって、ブロック歪が参照ピクチャに含まれて、このブロック歪が復号画像に伝搬してしまうことを防止することができる。なお、同一のピクチャ内であっても、ブロック歪の生じやすい場所と生じにくい場所があるため、これらに対して一様にデブロッキングフィルタ処理を行うと、ブロック歪の生じにくい場所の解像度を損ねることになる。そのため、ブロック歪の生じやすさに応じてフィルタ強度（Boundary strength：Ｂｓ値）が「０」〜「４」に設定され、適応的にデブロッキングフィルタ処理が実行される。なお、Ｂｓ値が「４」に近づくほど、より強くデブロッキングフィルタ処理が施され、「０」のときには、デブロッキングフィルタ処理が施されない。
【０００７】
Ｈ．２６４／ＡＶＣでは、４×４画素のブロック単位で直交変換及び量子化が行われるため、４×４画素のブロックの境界毎にブロック歪が発生する可能性がある。そのため、４×４画素のブロック（フィルタブロック）の全ての境界に対してデブロッキングフィルタ処理におけるＢｓ値を設定する必要がある。すなわち、図２０に示すように、１つのマクロブロックＭＢ内において、各フィルタブロックＦ０〜Ｆ１５の境界である垂直エッジＶ０〜Ｖ１５及び水平エッジＨ０〜Ｈ１５のＢｓ値をそれぞれ設定する必要がある。
【０００８】
ここでは、上記インター予測にて生成される動きベクトルの比較に基づいて設定される「０」、「１」のＢｓ値の設定方法を図２０〜図２２に従って説明する。
はじめに、マクロブロックＭＢの左境界に属するフィルタブロックＦ０の垂直エッジＶ０（図２０参照）のＢｓ値が設定される。詳しくは、まず、処理対象のフィルタブロックＦ０（カレントブロックＦ０）の動き情報（とくに、ここでは動きベクトル）と、カレントブロックＦ０の左隣に位置する隣接左ブロックＮＬ０（図２０参照）の動きベクトルとがメモリから読み出される（図２２のステップＳ７０）。次に、読み出された両動きベクトルが比較され、両動きベクトルの差分値が１．００未満のときに垂直エッジＶ０のＢｓ値が０に設定されるとともに、両動きベクトルの差分値が１．００以上のときに垂直エッジＶ０のＢｓ値が１に設定される（ステップＳ７１）。
【０００９】
続いて、ステップＳ７２において、上記ステップＳ７０で読み出されたカレントブロックＦ０の動きベクトルが後のステップＳ７４における隣接左ブロックの動きベクトルとして保持される。
【００１０】
次に、Ｂｓ値が設定されたフィルタブロックＦ０の右隣に位置するカレントブロックＦ１の動きベクトルがメモリから読み出される（ステップＳ７３）。続いて、カレントブロックＦ１の動きベクトルと上記ステップＳ７２にて保持された隣接左ブロックの動きベクトルとが比較されてカレントブロックＦ１の垂直エッジＶ１のＢｓ値（０又は１）が設定される（ステップＳ７４）。
【００１１】
以後同様に、ステップＳ７２〜Ｓ７４が繰り返し実行されて、フィルタブロックＦ２，Ｆ３の垂直エッジＶ２，Ｖ３のＢｓ値が順に設定される。そして、フィルタブロックＦ３の垂直エッジＶ３が設定されると、ステップＳ７０に戻って、マクロブロックの左境界に属する次行のフィルタブロックＦ４の垂直エッジＶ４におけるＢｓ値が設定される。このようにステップＳ７０〜Ｓ７４が繰り返し実行され、マクロブロックＭＢ内の各垂直エッジＶ０〜Ｖ１５におけるＢｓ値が図２１（ａ）の実線で示す順序にて設定される。
【００１２】
そして、マクロブロックＭＢ内の全ての垂直エッジにおけるＢｓ値が設定されると、ステップＳ７５〜Ｓ７９に移って、マクロブロックＭＢ内の各水平エッジＨ０〜Ｈ１５におけるＢｓ値が図２１（ｂ）の実線で示す順序にて設定される。なお、ステップＳ７５〜Ｓ７９は、ステップＳ７０〜Ｓ７４と略同様の処理である。
【００１３】
なお、このＨ．２６４規格に準拠した復号化装置や符号化装置としては、例えば特許文献１や特許文献２に開示されたものが知られている。
【特許文献１】特開２００７−２０１８８０号公報
【特許文献２】特開２００６−２０３７２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上述したように、Ｈ．２６４／ＡＶＣでは、多くの自由度の高い符号化ツールの組み合わせにより高い符号化効率を実現でき、さらにデブロッキングフィルタ処理により高画質の復号画像を得ることができる。しかしながら、その一方で処理量が多くなるという問題がある。とくに、デブロッキングフィルタ処理は、前述したように、４×４画素のフィルタブロック毎に、カレントブロック及び隣接ブロックの動きベクトルをメモリから読み出す必要があるため、処理量が膨大になる。すなわち、図２２に示した設定方法では、前に処理したフィルタブロックの動きベクトルを保持する（ステップＳ７２，Ｓ７７）ことによりメモリアクセス量が低減されているものの、動きベクトルを読み出すために最低８０サイクルのメモリアクセスが必要となる。
【００１５】
詳しくは、Ｈ．２６４／ＡＶＣでは、マクロブロックの種類に関わらず、ＢマクロブロックＢＭＢ（図１８参照）における最大参照ピクチャ枚数（２枚）に合わせて、各フィルタブロックＦ０〜Ｆ１５におけるＢｓ値設定において常時２つの動きベクトルを読み出すためのメモリアクセスを行っている。その結果、マクロブロックの左境界に属するフィルタブロックＦ０，Ｆ４，Ｆ８，Ｆ１２の垂直エッジＶ０，Ｖ４，Ｖ８，Ｖ１２のＢｓ値を設定するためには、図２２のステップＳ７０にてカレントブロックの２つの動きベクトルと隣接左ブロックの２つの動きベクトルとを読み出すための合計４サイクルのメモリアクセスがそれぞれ必要となる。また、上記フィルタブロックＦ０，Ｆ４，Ｆ８，Ｆ１２以外のフィルタブロックの垂直エッジにおけるＢｓ値を設定するためには、カレントブロックの２つの動きベクトルを読み出すための２サイクルのメモリアクセスが必要とある。水平エッジのＢｓ値を設定する場合も同様に、マクロブロックの上境界に属するフィルタブロックＦ０，Ｆ１，Ｆ２，Ｆ３では、４サイクルのメモリアクセスが必要であり、それ以外のフィルタブロックでは、２サイクルのメモリアクセスが必要とある。従って、１つのマクロブロックにおける全てのエッジのＢｓ値を設定するためには、動きベクトルを読み出すためのメモリアクセスに要する時間だけでも、最低８０サイクル（＝２×２４＋４×８）が必要となる。
【００１６】
ここで、ハイデフィニション（ＨＤ）サイズ（１９２０×１０８０画素）の画面を想定すると、１ピクチャの全てのエッジにおけるＢｓ値を設定するために６５２８００サイクルが必要となる。このサイクル数は、例えば１００ＭＨｚの環境では約６．５ｍｓの処理時間に相当することになる。このことは、通常１ピクチャが約３０ｍｓで処理されることを考えると、１ピクチャにおける総処理時間の１／５以上をＢｓ値の設定時間が占めることを示している。このようにデブロッキングフィルタ処理におけるＢｓ値を設定するためには、多大な処理時間がかかってしまう。
【００１７】
なお、ここでは復号化装置におけるデブロッキングフィルタ処理について説明したが、符号化装置においてもローカルデコードされた復号画像に対してデブロッキングフィルタ処理が施されるため、同様の問題が発生する。
【００１８】
本発明は上記問題点を解決するためになされたものであって、その目的は、デブロッキングフィルタ処理のためのフィルタ強度の設定におけるメモリアクセス量を低減させることができるフィルタ強度設定装置及びフィルタ強度設定方法を提供することにある。
【課題を解決するための手段】
【００１９】
上記目的を達成するため、請求項１，６に記載の発明は、現在処理対象のフィルタブロックであるカレントブロックの動きベクトルに関わらず、該動きベクトルを除く符号化情報である判定情報に応じて前記カレントブロックの垂直エッジ又は水平エッジにおけるフィルタ強度が一意的に所定値に設定可能なときに判定信号を生成する判定回路を備え、前記カレントブロックの垂直エッジにおけるフィルタ強度設定時に、前記判定回路にて前記判定信号が生成されると、前記動きベクトルを読み出すことなく、前記判定情報に応じて前記垂直エッジにおけるフィルタ強度を前記所定値に設定するとともに、前記カレントブロックの水平エッジにおけるフィルタ強度設定時に、前記判定回路にて前記判定信号が生成されると、前記動きベクトルを読み出すことなく、前記判定情報に応じて前記水平エッジにおけるフィルタ強度を前記所定値に設定する。
【００２０】
従来では、動きベクトル以外の符号化情報（判定情報）のみに応じてフィルタ強度が一意的に所定値に設定が可能な対象エッジであっても、必ず動きベクトルを読み出して該対象エッジのフィルタ強度が設定されていた。これに対して、上記構成によれば、判定情報のみに応じてカレントブロックの対象エッジ（垂直エッジ又は水平エッジ）のフィルタ強度が一意的に所定値に設定可能な場合に、動きベクトルを読み出すことなく、判定情報に応じて対象エッジのフィルタ強度が所定値に設定される。これによって、無駄な動きベクトルを読み出すためのメモリアクセスを低減することができる。ひいては、デブロッキングフィルタ処理のためのフィルタ強度の設定における処理量を低減させることができる。
【００２１】
請求項２に記載の発明は、前記判定回路は、前記カレントブロックの垂直エッジ及び水平エッジがインター予測符号化時における可変ブロックの境界に属するかを、前記判定情報内の可変ブロックサイズに応じて判定する第１判定手段を含み、前記第１判定手段にて前記カレントブロックの垂直エッジが前記可変ブロックの境界に属さないと判定されたときに、前記垂直エッジにおけるフィルタ強度を前記所定値として０に設定するとともに、前記第１判定手段にて前記カレントブロックの水平エッジが前記可変ブロックの境界に属さないと判定されたときに、前記水平エッジにおけるフィルタ強度を前記所定値として０に設定する。
【００２２】
カレントブロックの対象エッジが可変ブロックの境界に属さない場合には、カレントブロックの隣接ブロック（隣接左ブロック又は隣接上ブロック）が常に上記カレントブロックと同一可変ブロック内のフィルタブロックになる。そのため、カレントブロックの動きベクトルと隣接ブロックの動きベクトルとが常に一致する。従って、カレントブロックの対象エッジにおけるフィルタ強度が一意的に０（所定値）になる。そこで、上記構成を採用することにより、第１判定手段にてカレントブロックの対象エッジが可変ブロック境界に属するか否かが可変ブロックサイズに応じて判定される。そして、この第１判定手段にて対象エッジが可変ブロック境界に属さないと判定されたときに、動きベクトルを読み出すことなく対象エッジにおけるフィルタ強度を０に設定することができる。これによって、無駄な動きベクトルを読み出すためのメモリアクセスを低減することができる。
【００２３】
請求項３に記載の発明は、前記判定回路は、前記判定情報内に含まれてフィールド符号化であるかフレーム符号化であるかを示すコーディングタイプが、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとにおいて一致するか否かを判定する第２判定手段を含み、前記第２判定手段にて前記カレントブロックと前記隣接左ブロックとの前記コーディングタイプが異なると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するとともに、前記第２判定手段にて前記カレントブロックと前記隣接上ブロックとの前記コーディングタイプが異なると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定する。
【００２４】
通常、カレントブロックのコーディングタイプと、隣接ブロックのコーディングタイプとが異なる場合には、規格上MixedEdgeとなり、カレントブロックの対象エッジにおけるフィルタ強度が１になる。そこで、上記構成を採用することにより、第２判定手段にてカレントブロックと隣接ブロックとのコーディングタイプが異なるか否かが判定される。そして、この第２判定手段にてコーディングタイプが異なると判定されたときに、動きベクトルを読み出すことなく対象エッジにおけるフィルタ強度を１に設定することができる。これによって、無駄な動きベクトルを読み出すためのメモリアクセスを低減することができる。
【００２５】
請求項４に記載の発明は、前記判定回路は、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとのインター予測符号化時における参照ピクチャ枚数が一致するか否かを、参照ピクチャ番号に応じて判定する第３判定手段を含み、前記第３判定手段にて前記カレントブロックと前記隣接左ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するとともに、前記第３判定手段にて前記カレントブロックと前記隣接上ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定する。
【００２６】
カレントブロックの参照ピクチャ枚数と、隣接ブロックの参照ピクチャ枚数とが異なる場合には、カレントブロックと隣接ブロックとの動きベクトルの差分値が常に１．００以上になるため、カレントブロックの対象エッジにおけるフィルタ強度が常に１になる。そこで、上記構成を採用することにより、第３判定手段にてカレントブロックと隣接ブロックとの参照ピクチャ枚数が異なるか否かが参照ピクチャ番号に応じて判定される。そして、この第３判定手段にて参照ピクチャ枚数が異なると判定されたときに、動きベクトルを読み出すことなく対象エッジにおけるフィルタ強度を１に設定することができる。これによって、無駄な動きベクトルを読み出すためのメモリアクセスを低減することができる。
【００２７】
請求項５に記載の発明は、前記判定回路は、前記カレントブロックと、前記隣接左ブロックあるいは前記隣接上ブロックとのインター予測符号化時における参照ピクチャ番号が一致するか否かを判定する第４判定手段を含み、前記第４判定手段にて前記カレントブロックと前記隣接左ブロックとの前記参照ピクチャ番号が異なると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するとともに、前記第４判定手段にて前記カレントブロックと前記隣接上ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定する。
【００２８】
カレントブロックの参照ピクチャ番号と、隣接ブロックの参照ピクチャ番号とが異なる場合には、カレントブロックと隣接ブロックとの動きベクトルの差分値が常に１．００以上になるため、カレントブロックの対象エッジにおけるフィルタ強度が常に１になる。そこで、上記構成を採用することにより、第４判定手段にてカレントブロックと隣接ブロックとの参照ピクチャ番号が異なるか否かが判定される。そして、この第４判定手段にて参照ピクチャ番号が異なると判定されたときに、動きベクトルを読み出すことなく対象エッジにおけるフィルタ強度を１に設定することができる。これによって、無駄な動きベクトルを読み出すためのメモリアクセスを低減することができる。
【発明の効果】
【００２９】
以上説明したように、本発明によれば、デブロッキングフィルタ処理のためのフィルタ強度の設定におけるメモリアクセス量を低減させることが可能なフィルタ強度設定装置及びフィルタ強度設定方法を提供することができる。
【発明を実施するための最良の形態】
【００３０】
（第１実施形態）
以下、本発明をＨ．２６４／ＡＶＣ規格に準拠した復号化装置１に具体化した一実施形態を図１〜図１６に従って説明する。
【００３１】
図１に示すように、可変長復号部１０には、Ｈ．２６４／ＡＶＣ規格に従って符号化された入力ストリームが１６×１６画素のマクロブロック単位で入力される。この入力ストリームは、符号化された画像信号と、符号化モード（イントラ予測符号化／インター予測符号化）と、イントラ予測符号化で使用された予測情報（予測モード等）と、インター予測符号化で使用された動き情報（動きベクトル、参照ピクチャ番号、可変ブロックサイズ等）と、コーディングタイプ（フレーム／フィールド）とを含んでいる。以下に、入力ストリームを構成する各情報について説明する。
【００３２】
Ｈ．２６４／ＡＶＣでは、マクロブロック単位でインター予測符号化あるいはイントラ予測符号化が決定されるため、符号化モードがマクロブロック毎に符号化される。
イントラ予測符号化は、符号化対象ブロックの周辺の画素から予測画像を生成して、その予測画像と符号化対象ブロックとの差分（残差信号）を符号化する方法である。Ｈ．２６４／ＡＶＣにおけるイントラ予測符号化では、４×４イントラ予測における９通りの予測方向（予測モード）と、１６×１６イントラ予測における４通りの予測モードとの中から、最適に予測できる予測モードが選択されて予測画像の生成に用いられる。そして、所定のブロックサイズ（４×４画素又は１６×１６画素）単位の予測モードを示す予測情報がマクロブロック毎に符号化される。
【００３３】
インター予測符号化は、既に符号化された参照ピクチャから符号化対象ブロックと最も類似するブロックを探索して各部の動き量である動きベクトルを検出し、それら参照ピクチャ及び動きベクトルを用いて予測画像を生成して、その予測画像と符号化対象ブロックとの差分（残差信号）を符号化する方法である。Ｈ．２６４／ＡＶＣにおけるインター予測符号化では、図１９に示すように、１６×１６画素、１６×８画素、８×１６画素、８×８画素、８×４画素、４×８画素、４×４画素の７種類のブロックサイズの中から、最適に予測できるブロックサイズが選択されて予測画像の生成に用いられる。なお、本実施形態では、１６×１６画素のブロックをマクロブロックと言い、１６×８画素、８×１６画素、８×８画素のブロックを分割マクロブロックと言い、８×４画素、４×８画素、４×４画素のブロックを分割サブマクロブロックと言う。また、本実施形態では、インター予測符号化に使用されるブロックのことを可変ブロックと言う。
【００３４】
そして、可変ブロックが１６×１６画素、１６×８画素、８×１６画素の場合には、参照ピクチャ番号と動きベクトルとが可変ブロック毎に符号化される。また、可変ブロックが８×８画素以下のブロックの場合には、符号量を低減するために、動きベクトルが可変ブロック毎に符号化され、参照ピクチャ番号が８×８画素の分割サブマクロブロック毎に符号化される。その結果、可変ブロックが８×４画素、４×８画素、４×４画素の場合には、動きベクトルが異なっても、参照ピクチャ番号は分割サブマクロブロック内で一致する。なお、上記参照ピクチャ番号は、符号化対象ピクチャよりも表示順で前方のピクチャの番号（ＦＷ側参照ピクチャ番号）と、符号化対象ピクチャよりも表示順で後方のピクチャの番号（ＢＷ側参照ピクチャ番号）とを含む。
【００３５】
Ｈ．２６４／ＡＶＣでは、トップフィールドとボトムフィールドとの２つのフィールドから構成されるインターレース信号を符号化する際に、２つのフィールドをまとめて１つのフレームとして扱うフレーム構造と、２つのフィールドを独立した２つのピクチャとして扱うフィールド構造とをピクチャ毎に切り替えて符号化する。さらに、フレーム構造の中で、マクロブロックを縦に２つ合わせたマクロブロックペア毎にフレーム符号化とフィールド符号化を切り替えて符号化することもできる。そして、これらフレーム符号化及びフィールド符号化を示すコーディングタイプがマクロブロック毎に符号化される。
【００３６】
なお、上記符号化された画像信号は、イントラ予測符号化あるいはインター予測符号化にて生成される残差信号に対して直交変換及び量子化が施されて量子化直交変換係数が生成され、さらにその量子化直交変換係数に対して可変長符号化が施されて生成された符号化信号である。
【００３７】
図１に示すように、可変長復号部１０は、上記入力ストリームを可変長復号し、符号化された画像信号から量子化直交変換係数を復元するとともに、符号化モード、予測情報、動き情報、コーディングタイプ及び量子化パラメータを分離する。可変長復号部１０は、復元された量子化直交変換係数を逆量子化・逆直交変換部２０に出力するとともに、符号化モード、予測情報、動き情報及びコーディングタイプ等からなる符号化情報を復号化モード制御部４０に出力する。また、可変長復号部１０は、制御信号として量子化パラメータを逆量子化・逆直交変換部２０に出力する。
【００３８】
逆量子化・逆直交変換部２０は、量子化パラメータに基づいて、復元された量子化直交変換係数に対して逆量子化及び逆直交変換処理を施して、残差信号を復元する。逆量子化・逆直交変換部２０は、復元された残差信号を加算部３０に出力する。
【００３９】
一方、復号化モード制御部４０は、可変長復号部１０から入力される符号化情報内の符号化モードに応じて、イントラ予測復号化及びインター予測復号化のいずれか一方の復号化モードを選択する。すなわち、復号化モード制御部４０は、符号化モードがイントラ予測符号化の場合にはイントラ予測復号化を選択するとともに、符号化モードがインター予測符号化の場合にはインター予測復号化を選択する。
【００４０】
イントラ予測復号化を選択した場合には、復号化モード制御部４０は、イントラ予測部７０に符号化情報内の予測情報を出力する。イントラ予測部７０は、復号化モード制御部４０からの予測情報に基づいて予測画像を生成して、その予測画像を加算部３０に出力する。そして、加算部３０において、上記復元された残差信号とイントラ予測部７０からの予測画像とが加算されて、復号画像が生成される。この復号画像は、参照用及び表示用のピクチャとしてピクチャメモリ８５に格納される前に、デブロッキングフィルタ部８０にてデブロッキングフィルタ処理が施される。なお、イントラ予測部７０では、加算部３０にて生成された同一ピクチャ内の周辺ブロックの復号画像が参照されて予測画像が生成される。
【００４１】
一方、インター予測符号化を選択した場合には、復号化モード制御部４０は、インター予測部７５に符号化情報内の動き情報を出力する。インター予測部７５は、ピクチャメモリ８５に格納されている復号化済みピクチャから、動きベクトル及び可変ブロックサイズにて指定される画像領域を抽出して予測画像を生成して、その予測画像を加算部３０に出力する。そして、加算部３０において、復元された残差信号とインター予測部７５からの予測画像とが加算されて、復号画像が生成される。この復号画像は、イントラ予測復号化の場合と同様に、デブロッキングフィルタ処理が施されて、ピクチャメモリ８５に格納される。なお、ピクチャメモリ８５に格納された復号化済みピクチャは、表示されるタイミングに従ってピクチャメモリ８５から表示用ピクチャとして出力される。
【００４２】
また、復号化モード制御部４０は、可変長復号部１０から入力される符号化情報を符号化情報メモリ９０に格納する。復号化モード制御部４０は、符号化情報に基づいて、デブロッキングフィルタ処理におけるフィルタ強度（Ｂｓ値）を設定するＢｓ値設定部５０を備えている。このＢｓ値設定部５０は、動きベクトルを読み出すためのメモリアクセスを低減しつつ、フィルタブロックＦ０〜Ｆ１５（図２０参照）毎に垂直エッジ及び水平エッジにおけるＢｓ値（「０」又は「１」）を同時に設定する。そして、Ｂｓ値設定部５０は、上記Ｂｓ値をデブロッキングフィルタ部８０に出力する。
【００４３】
次に、Ｂｓ値設定部５０の内部構成について図２〜図１６に従って説明する。
図２に示すように、処理対象のマクロブロックＭＢの動きベクトルを除く符号化情報（判定情報）がＢｓ値設定部５０に入力されて、そのマクロブロックＭＢのＢｓ値設定処理が開始されたことを示す処理開始信号がリード数カウンタ５１及びステートマシン５２に入力される。リード数カウンタ５１は、処理開始信号の入力に応じて起動するカウンタであり、現在処理中のフィルタブロック（カレントブロック）におけるアクセスサイクル数をリミット値に設定する。リード数カウンタ５１は、カウント値がリミット値に達すると、ブロック処理完了信号ＰＣをステートマシン５２、アンド回路５４及びシフト回路５９に出力するとともに、カウント値をリセットする。
【００４４】
ステートマシン５２は、処理開始信号の入力に応じて初期値であるカレントブロック番号「００００」を生成する。ステートマシン５２は、リード数カウンタ５１から入力されるブロック処理完了信号ＰＣに基づいて、カレントブロック番号をインクリメントして新たなカレントブロック番号を生成する。ステートマシン５２は、生成したカレントブロック番号を検出回路５３、選択回路５６、アクセス判定部５７、アドレス生成部５８及びシフト回路５９に出力する。なお、ステートマシン５２におけるカレントブロック番号は、「００００」から「１１１１」までインクリメントされる。本実施形態では、このカレントブロック番号「００００」〜「１１１１」は、フィルタブロックＦ０〜Ｆ１５（図４参照）がカレントブロックであることをそれぞれ示している。従って、このＢｓ値設定部５０では、フィルタブロックＦ０→Ｆ１→Ｆ２→Ｆ３→Ｆ４→・・・・→Ｆ１３→Ｆ１４→Ｆ１５の順に、Ｂｓ値設定処理が実行される。さらに、このＢｓ値設定部５０では、各フィルタブロックＦ０〜Ｆ１５において、垂直エッジＶ０〜Ｖ１５と水平エッジＨ０〜Ｈ１５（図２０参照）とにおけるＢｓ値設定処理が同時に実行される。
【００４５】
アクセス判定部５７には、処理対象のマクロブロックＭＢにおける動き情報内の分割マクロブロックサイズ情報及び分割サブマクロブロックサイズ情報と、ステートマシン５２からのカレントブロック番号とが入力される。
【００４６】
アクセス判定部５７は、１つの処理対象マクロブロックの処理中内で一定の値が入力される分割マクロブロックサイズ情報と分割サブマクロブロックサイズ情報とに基づいて、処理対象マクロブロックのインター予測時における可変ブロックサイズを判定する。すなわち、図３に示すように、アクセス判定部５７は、分割マクロブロックサイズ情報が「００」、「０１」、「１０」の場合には、可変ブロックサイズが１６×１６画素（図１９（ａ）参照）、１６×８画素（図１９（ｂ）参照）、８×１６画素（図１９（ｃ）参照）であるとそれぞれ判定する。アクセス判定部５７は、分割マクロブロックサイズ情報が「１１」で、且つ分割サブマクロブロックサイズ情報が「００」、「０１」、「１０」、「１１」の場合には、可変ブロックサイズが８×８画素（図１９（ｄ）参照）、８×４画素（図１９（ｅ）参照）、４×８画素（図１９（ｆ）参照）、４×４画素（図１９（ｇ）参照）であるとそれぞれ判定する。
【００４７】
アクセス判定部５７は、上記判定された可変ブロックサイズと、カレントブロック番号とに基づいて、図５に示すアクセス判定テーブルを参照して、Ｂｓ値設定の際にメモリアクセスが必要か否かを、カレントブロックの垂直エッジ及び水平エッジについて同時に判定する。このアクセス判定テーブルには、全ての可変ブロックサイズにおける各カレントブロックの垂直エッジ及び水平エッジに対するアクセス判定結果が、カレントブロック番号及び可変ブロックサイズに対応付けられている。従って、アクセス判定部５７に可変ブロックサイズ及び１つのカレントブロック番号が入力されると、そのカレントブロックの垂直エッジと水平エッジとに対するアクセス判定結果（判定信号）がアクセス判定テーブルに基づいて同時に生成される。このアクセス判定結果は、垂直エッジ用メモリアクセスイネーブル信号ＭＥＶ、水平エッジ用メモリアクセスイネーブル信号ＭＥＨ（これらを総称してメモリアクセスイネーブル信号ＭＥという）と、垂直エッジ用コピーイネーブル信号ＣＥＶ、水平エッジ用コピーイネーブル信号ＣＥＨ（これらを総称してコピーイネーブル信号ＣＥという）とを含む。
【００４８】
次に、アクセス判定部５７によるアクセス判定（アクセス判定テーブル）について図４及び図５に従って詳述する。なお、図４は、可変ブロックサイズが８×１６画素（破線参照）の場合のアクセス判定結果を示した。図４では、メモリアクセスが必要と判断されるエッジを実線で示し、メモリアクセスが不要と判断されるエッジを破線で示し、他のエッジのＢｓ値がコピーされるエッジを一点鎖線で示した。また、他のエッジのＢｓ値がコピーされるエッジ内には、コピー元のエッジ番号を示した。なお、図５のアクセス判定テーブルでは、可変ブロックサイズが８×１６画素の場合のアクセス判定結果を太線で囲んで示した。
【００４９】
アクセス判定部５７は、カレントブロックの対象エッジ（垂直エッジ又は水平エッジ）が可変ブロックの境界（左境界又は上境界）に属する場合には、動きベクトルを読み出すためのメモリアクセスが必要となる可能性があると判断し、メモリアクセスイネーブル信号ＭＥをアクティブ（「１」）にする。詳しくは、例えば図４のカレントブロックＦ２の垂直エッジＶ２のように、垂直エッジが可変ブロックの左境界に属する場合には、カレントブロックＦ２に対する隣接左ブロック（フィルタブロックＦ１）が他の可変ブロック内のブロックになる。そのため、カレントブロックＦ２の動きベクトルと隣接左ブロックＦ１の動きベクトルとが異なる可能性がある。そこで、アクセス判定部５７は、カレントブロックの対象エッジが可変ブロック境界に属する場合に、動きベクトルを読み出すためのメモリアクセスが必要となる可能性があると判断する。
【００５０】
但し、アクセス判定部５７は、カレントブロックの対象エッジが可変ブロック境界に属する場合であっても、該カレントブロックの対象エッジのＢｓ値が、既に設定された同一可変ブロック内のフィルタブロックのＢｓ値と一致する場合には、その既に設定されたＢｓ値をコピーするためのコピーイネーブル信号ＣＥをアクティブ（「１」）にする。アクセス判定部５７は、コピーイネーブル信号ＣＥをアクティブにすると同時に、メモリアクセスイネーブル信号ＭＥを非アクティブ（「０」）にする。具体的には、図４に示すカレントブロックＦ６の垂直エッジＶ６に対するアクセス判定において、アクセス判定部５７は垂直エッジ用コピーイネーブル信号ＣＥＶをアクティブにするとともに、垂直エッジ用メモリアクセスイネーブル信号ＭＥＶを非アクティブにする。詳しくは、カレントブロックＦ６の垂直エッジＶ６は、可変ブロックの左境界に属する。但し、カレントブロックＦ６は、既に垂直エッジＶ２のＢｓ値が設定されているフィルタブロックＦ２と同一の可変ブロックに含まれるブロックである。さらに、カレントブロックＦ６の隣接左ブロックＦ５は、フィルタブロックＦ２の隣接左ブロックＦ１と同一の可変ブロックに含まれるブロックである。これらのことから、カレントブロックＦ６の垂直エッジＶ６のＢｓ値は、既に設定された垂直エッジＶ２のＢｓ値と同一になる。そこで、アクセス判定部５７は、垂直エッジＶ２のＢｓ値を垂直エッジＶ６のＢｓ値としてコピーするための垂直エッジ用コピーイネーブル信号ＣＥＶをアクティブにすることで、動きベクトルを読み出すことなく対象エッジのＢｓ値を設定するようにしている。これにより、動きベクトルを読み出すためのメモリアクセス量を低減することができる。
【００５１】
また、アクセス判定部５７は、カレントブロックの対象エッジが可変ブロックの境界に属さない場合には、動きベクトルを読み出すためのメモリアクセスが不要であると判断し、メモリアクセスイネーブル信号ＭＥを非アクティブ（「０」）にする。詳しくは、例えば図４のカレントブロックＦ５の水平エッジＨ５のように、水平エッジが可変ブロックの上境界に属さない場合には、カレントブロックＦ５に対する隣接上ブロック（フィルタブロックＦ１）が常に同一の可変ブロック内のブロックになる。そのため、カレントブロックの動きベクトルと隣接ブロック（隣接上ブロック）の動きベクトルとが常に一致する。このようにカレントブロックの動きベクトルと隣接ブロックの動きベクトルとが一致する場合には、通常、対象エッジ（ここでは、水平エッジＨ５）におけるＢｓ値が規格上「０」となる。そこで、アクセス判定部５７は、カレントブロックの対象エッジが可変ブロックの境界に属さない場合に、メモリアクセスイネーブル信号ＭＥ及びコピーイネーブル信号ＣＥを共に非アクティブ（「０」）とすることで、動きベクトルを読み出すことなく対象エッジのＢｓ値を強制的に「０」とするようにしている。これにより、動きベクトルを読み出すためのメモリアクセス量を低減することができる。
【００５２】
そして、アクセス判定部５７は、図２に示すように、生成したメモリアクセスイネーブル信号ＭＥ及びコピーイネーブル信号ＣＥをシフト回路５９及びアクセスサイクル変換部６０に出力する。なお、ここでは、図４に示した可変ブロックサイズが１６×８画素の場合におけるアクセス判定を例に挙げて説明したが、図５のアクセス判定テーブルに示すように他の可変ブロックサイズの場合についても同様にアクセス判定が行われる。
【００５３】
アドレス生成部５８は、分割マクロブロックサイズ情報及び分割サブマクロブロックサイズ情報（可変ブロックサイズ）と、カレントブロック番号とが入力される。アドレス生成部５８は、実際にメモリアクセスが行われるか否かに関わらず、可変ブロックサイズ及びカレントブロック番号に応じて、カレントブロックについてのメモリアドレスを生成する。このメモリアドレスには、カレントブロックにおけるＦＷ側動きベクトルが格納されるカレントＦＷ側アドレスＣ−Ｆと、カレントブロックにおけるＢＷ側動きベクトルが格納されるカレントＢＷ側アドレスＣ−Ｂとが含まれる。また、上記メモリアドレスには、カレントブロックに対する隣接左ブロックにおけるＦＷ側動きベクトルが格納される隣接左ＦＷ側アドレスＮＬ−Ｆと、上記隣接左ブロックにおけるＢＷ側動きベクトルが格納される隣接左ＢＷ側アドレスＮＬ−Ｂとが含まれる。さらに、上記メモリアドレスには、カレントブロックに対する隣接上ブロックにおけるＦＷ側動きベクトルが格納される隣接上ＦＷ側アドレスＮＵ−Ｆと、上記隣接上ブロックにおけるＢＷ側動きベクトルが格納される隣接上ＢＷ側アドレスＮＵ−Ｂとが含まれる。そして、アドレス生成部５８は、生成したメモリアドレスをリードアドレス生成部６１に出力する。
【００５４】
例えば、図６（ａ）に示すように、可変ブロックサイズが４×４画素のときにカレントブロック番号が「０００１」の場合には、アドレス生成部５８は、以下のメモリアドレスをそれぞれ生成する。すなわち、図６（ｂ）に示すように、アドレス生成部５８は、フィルタブロックＦ１のＦＷ側動きベクトルＦ１−ＦＷが格納されるアドレスＡＤ３をカレントＦＷ側アドレスＣ−Ｆとして生成するとともに、フィルタブロックＦ１のＢＷ側動きベクトルＦ１−ＢＷが格納されるアドレスＡＤ４をカレントＢＷ側アドレスＣ−Ｂとして生成する。また、アドレス生成部５８は、フィルタブロックＦ０のＦＷ側動きベクトルＦ０−ＦＷが格納されるアドレスＡＤ１及びＢＷ側動きベクトルＦ０−ＢＷが格納されるアドレスＡＤ２を、それぞれ隣接左ＦＷ側アドレスＮＬ−Ｆ及び隣接左ＢＷ側アドレスＮＬ−Ｂとして生成する。アドレス生成部５８は、ブロックＮＵ１のＦＷ側動きベクトルＮＵ１−ＦＷが格納されるアドレスＡＤ３５及びＢＷ側動きベクトルＮＵ１−ＢＷが格納されるアドレスＡＤ３６を、それぞれ隣接上ＦＷ側アドレスＮＵ−Ｆ及び隣接上ＢＷ側アドレスＮＵ−Ｂとして生成する。
【００５５】
一方、図２に示すように、アクセスパターン生成部ＡＰ０〜ＡＰ１５には、以下に示す上記判定情報内の１２種類の信号が入力される。なお、各アクセスパターン生成部ＡＰ０〜ＡＰ１５はそれぞれ、マクロブロックＭＢ内のフィルタブロックＦ０〜Ｆ１５用の回路であり、例えばアクセスパターン生成部ＡＰ０には、フィルタブロックＦ０がカレントブロックのときの信号が入力される。
（Ａ）カレントブロックのコーディングタイプ
（Ｂ）カレントブロックの予測方向
（Ｃ）カレントブロックのＦＷ側参照ピクチャ番号
（Ｄ）カレントブロックのＢＷ側参照ピクチャ番号
（Ｅ）隣接左ブロックのコーディングタイプ
（Ｆ）隣接左ブロックの予測方向
（Ｆ）隣接左ブロックのＦＷ側参照ピクチャ番号
（Ｇ）隣接左ブロックのＢＷ側参照ピクチャ番号
（Ｈ）隣接上ブロックのコーディングタイプ
（Ｉ）隣接上ブロックの予測方向
（Ｊ）隣接上ブロックのＦＷ側参照ピクチャ番号
（Ｋ）隣接上ブロックのＢＷ側参照ピクチャ番号
各アクセスパターン生成部ＡＰ０〜ＡＰ１５は、上記１２種類の信号に基づいて、カレントブロックＦ０〜Ｆ１５における垂直エッジ用アクセスパターンＡＶ０〜ＡＶ１５及び水平エッジ用アクセスパターンＡＨ０〜ＡＨ１５（判定信号）をそれぞれ生成する。詳しくは、各アクセスパターン生成部ＡＰ０〜ＡＰ１５は、上記Ａ〜Ｇの信号が入力され、カレントブロックの判定情報と隣接左ブロックの判定情報とを比較して垂直エッジ用アクセスパターンＡＶ０〜ＡＶ１５を生成する回路を含む。また、各アクセスパターンＡＰ０〜ＡＰ１５は、上記Ａ〜Ｄ、Ｈ〜Ｋの信号が入力され、カレントブロックの判定情報と隣接上ブロックの判定情報とを比較して水平エッジ用アクセスパターンＡＨ０〜ＡＨ１５を生成する回路を含む。そして、各アクセスパターン生成部ＡＰ０〜ＡＰ１５は、垂直エッジ用アクセスパターンＡＶと水平エッジ用アクセスパターンＡＨとを各カレントブロック毎に並行して生成する。このアクセスパターンＡＶ，ＡＨは、対象エッジにおけるＢｓ値設定の際に符号化情報メモリからの動きベクトルの読み出しが必要であるか否かに応じて「０００」〜「１１１」のいずれかを示す。
【００５６】
ここでは、アクセスパターン生成部ＡＰ０にて生成される垂直エッジ用アクセスパターンＡＶ０について図７及び図８に従って説明する。なお、水平エッジ用アクセスパターンＡＨ０については、垂直エッジ用アクセスパターンＡＶ０と同様に生成されるため説明を省略する。
【００５７】
はじめに、図７（ａ）〜（ｄ）に従って、対象エッジ（垂直エッジＶ０）におけるＢｓ値設定の際に動きベクトルの読み出しが不要である「１１１」及び「０００」のアクセスパターンＡＶ０について説明する。
【００５８】
図７（ａ）に示すように、カレントブロックＦ０のコーディングタイプ（フィールド符号化）と、隣接左ブロックＮＬ０のコーディングタイプ（フレーム符号化）とが異なる場合には、規格上MixedEdgeとなり、対象エッジＶ０におけるＢｓ値が「１」となる。そこで、アクセスパターン生成部ＡＰ０は、このようにコーディングタイプが異なるときに、動きベクトルを読み出すことなくカレントブロックＦ０の垂直エッジＶ０におけるＢｓ値を強制的に「１」に設定するための「１１１」のアクセスパターンＡＶ０を生成する。
【００５９】
図７（ｂ）に示すように、カレントブロックＦ０と隣接左ブロックＮＬ０との参照ピクチャの枚数が異なるときには、カレントブロックＦ０と隣接左ブロックＮＬ０との動きベクトルの差分値が１．００以上になり、対象エッジＶ０におけるＢｓ値が「１」となる。そこで、アクセスパターン生成部ＡＰ０は、このように参照ピクチャの枚数が異なるときに、「１１１」のアクセスパターンＡＶ０を生成する。なお、図７（ｂ）では、カレントブロックＦ０がＦＷ側参照ピクチャ番号ＰＦ２を有しているのに対し、隣接左ブロックＮＬ０がＦＷ側参照ピクチャ番号ＰＦ２とＢＷ側参照ピクチャ番号ＰＢ３とを有している。すなわち、カレントブロックＦ０が１枚のピクチャを参照しているのに対し、隣接左ブロックＮＬ０が２枚の参照ピクチャを参照している。
【００６０】
図７（ｃ）に示すように、カレントブロックＦ０と隣接左ブロックＮＬ０との参照ピクチャ番号が異なるときには、カレントブロックＦ０と隣接左ブロックＮＬ０との動きベクトルの差分値が１．００以上になり、対象エッジＶ０におけるＢｓ値が「１」となる。そこで、アクセスパターン生成部ＡＰ０は、このように参照ピクチャ番号が異なるときに、「１１１」のアクセスパターンＡＶ０を生成する。なお、図７（ｃ）では、カレントブロックＦ０がＦＷ側参照ピクチャ番号ＰＦ３を有しているのに対して、隣接左ブロックＮＬ０がＦＷ側参照ピクチャ番号ＰＦ２を有している。
【００６１】
図７（ｄ）に示すように、カレントブロックＦ０及び隣接左ブロックＮＬ０の少なくとも一方が参照ピクチャ番号を有さない場合、すなわちイントラ予測である場合には、対象エッジＶ０におけるＢｓ値が「２」〜「４」のいずれかになる。すなわち、カレントブロック及び隣接ブロックの少なくとも一方がイントラ予測の場合には、動きベクトルに関係なくＢｓ値が設定される。そこで、アクセスパターン生成部ＡＰ０は、イントラ予測のときに、カレントブロックＦ０の垂直エッジＶ０のＢｓ値を強制的に所定の設定値（例えば「０」）に設定するための「０００」のアクセスパターンＡＶ０を生成する。このカレントブロックＦ０の垂直エッジＶ０におけるＢｓ値は、設定値がそのまま設定されるのではなく、デブロッキングフィルタ部８０にて「２」〜「４」のいずれの値になるかが改めて設定される。すなわち、上記「０００」のアクセスパターンは、対象エッジのＢｓ値を強制的に疑似値（設定値）に設定することで、動きベクトルを読み出すためのメモリアクセスを省略するためのパターンである。なお、図７（ｄ）では、隣接左ブロックＮＬ０がイントラ予測符号化の施されたブロックである。また、カレントブロックあるいは隣接ブロックがイントラ予測であるか否かは、カレントブロックの予測方向あるいは隣接ブロックの予測方向の論理レベルによって判定することもできる。詳しくは、上記Ｂ，Ｆ，Ｉの予測方向は、対象ブロックが予測方向なし（イントラ予測）の場合に「００」となり、ＦＷ方向のみの場合に「０１」となり、ＢＷ方向のみの場合に「１０」となり、双方向の場合に「１１」となる。そのため、予測方向が「００」であるブロックがイントラ予測符号化の施されたブロックと判定することができる。
【００６２】
次に、図８（ａ）〜（ｇ）に従って、対象エッジ（垂直エッジＶ０）におけるＢｓ値設定の際に動きベクトルの読み出しが必要である「００１」〜「１１０」のアクセスパターンＡＶ０について説明する。すなわち、これら「００１」〜「１１０」のアクセスパターンは、カレントブロックと隣接ブロックとの動きベクトルを比較してその差分を算出しなければ対象エッジのＢｓ値が設定できない場合に生成される。
【００６３】
図８（ａ）に示すように、カレントブロックＦ０と隣接左ブロックＮＬ０において、参照ピクチャ枚数が同一で、且つＦＷ側参照ピクチャ番号が同一の場合に、アクセスパターン生成部ＡＰ０は、「００１」のアクセスパターンＡＶ０を生成する。なお、図８（ａ）では、カレントブロックＦ０及び隣接左ブロックＮＬ０がそれぞれＦＷ側参照ピクチャ番号ＰＦ２を有している。
【００６４】
図８（ｂ）に示すように、カレントブロックＦ０と隣接左ブロックＮＬ０において、参照ピクチャ枚数が同一で、且つカレントブロックＦ０のＦＷ側参照ピクチャ番号と隣接左ブロックのＢＷ参照ピクチャ番号とが同一の場合に、アクセスパターン生成部ＡＰ０は、「０１０」のアクセスパターンＡＶ０を生成する。なお、図８（ｂ）では、カレントブロックＦ０がＦＷ側参照ピクチャ番号ＰＦ２を有し、隣接左ブロックＮＬ０がＢＷ側参照ピクチャ番号ＰＢ２を有している。
【００６５】
図８（ｃ）に示すように、カレントブロックＦ０と隣接左ブロックＮＬ０において、参照ピクチャ枚数が同一で、且つカレントブロックＦ０のＢＷ側参照ピクチャ番号と隣接左ブロックＮＬ０のＦＷ側参照ピクチャ番号とが同一の場合に、アクセスパターン生成部ＡＰ０は、「０１１」のアクセスパターンＡＶ０を生成する。なお、図８（ｃ）では、カレントブロックＦ０がＢＷ側参照ピクチャ番号ＰＢ２を有し、隣接左ブロックＮＬ０がＦＷ側参照ピクチャ番号ＰＦ２を有している。
【００６６】
図８（ｄ）に示すように、カレントブロックＦ０と隣接左ブロックＮＬ０において、参照ピクチャ枚数が同一で、且つカレントブロックＦ０のＢＷ側参照ピクチャ番号と隣接左ブロックＮＬ０のＢＷ参照ピクチャ番号とが同一の場合に、アクセスパターン生成部ＡＰ０は、「１００」のアクセスパターンＡＶ０を生成する。なお、図８（ｄ）では、カレントブロックＦ０及び隣接左ブロックＮＬ０が各々ＢＷ側参照ピクチャ番号ＰＢ２を有している。
【００６７】
図８（ｅ）に示すように、カレントブロックＦ０と隣接左ブロックＮＬ０とにおいて、参照ピクチャ枚数が２枚で同一、ＦＷ側参照ピクチャ番号が同一、ＢＷ側参照ピクチャが同一、且つＦＷ側参照ピクチャ番号とＢＷ側参照ピクチャ番号とが異なる場合に、アクセスパターン生成部ＡＰ０は、「０１１」のアクセスパターンＡＶ０を生成する。なお、図８（ｅ）では、カレントブロックＦ０及び隣接左ブロックＮＬ０がそれぞれＦＷ側参照ピクチャ番号ＰＦ３とＢＷ側参照ピクチャ番号ＰＢ２を有している。
【００６８】
また、図８（ｆ）には、カレントブロックＦ０と隣接左ブロックＮＬ０との参照ピクチャ枚数が２枚で、カレントブロックＦ０のＦＷ側参照ピクチャ番号と隣接左ブロックＮＬ０のＢＷ側参照ピクチャ番号とが同一、カレントブロックＦ０のＢＷ側参照ピクチャ番号と隣接左ブロックＮＬ０のＦＷ側参照ピクチャ番号とが同一、且つカレントブロックＦ０のＦＷ側参照ピクチャ番号とＢＷ側ピクチャ番号とが異なる場合を示した。アクセスパターン生成部ＡＰ０は、このような場合にも上記「０１１」のアクセスパターンＡＶ０を生成する。なお、図８（ｆ）では、カレントブロックＦ０がＦＷ側参照ピクチャ番号ＰＦ２及びＢＷ側参照ピクチャ番号ＰＢ３を有し、隣接左ブロックＮＬ０がＦＷ側参照ピクチャ番号ＰＦ３及びＢＷ側参照ピクチャ番号ＰＢ２を有している。
【００６９】
図８（ｇ）に示すように、カレントブロックＦ０と隣接左ブロックＮＬ０との参照ピクチャ枚数が２枚で、且つカレントブロックＦ０と隣接左ブロックＮＬ０とのＦＷ側参照ピクチャ番号及びＢＷ側参照ピクチャ番号が全て同一である場合に、アクセスパターン生成部ＡＰ０は、「１１０」のアクセスパターンＡＶ０を生成する。なお、図８（ｇ）では、カレントブロックＦ０及び隣接左ブロックＮＬ０がそれぞれＦＷ側参照ピクチャ番号ＰＦ２及びＢＷ側参照ピクチャ番号ＰＢ２を有している。
【００７０】
なお、アクセスパターン生成部ＡＰ１〜ＡＰ１５は、アクセスパターン生成部ＡＰ０と同様に、フィルタブロックＦ１〜Ｆ１５における垂直エッジ用アクセスパターンＡＶ１〜ＡＶ１５及び水平エッジ用アクセスパターンＡＨ１〜ＡＨ１５をそれぞれ生成する。
【００７１】
そして、アクセスパターン生成部ＡＰ０〜ＡＰ１５は、図２に示すように、生成したアクセスパターンＡＶ，ＡＨを選択回路５６に出力する。
選択回路５６は、上記ステートマシン５２からのカレントブロック番号に応じて選択したカレントブロックの垂直エッジ用アクセスパターンＡＶ及び水平エッジ用アクセスパターンＡＨをシフト回路５９及びアクセスサイクル変換部６０に出力する。例えば、カレントブロック番号「００００」が入力された場合には、選択回路５６は、アクセスパターン生成部ＡＰ０からの垂直エッジ用アクセスパターンＡＶ０及び水平エッジ用アクセスパターンＡＨ０を選択する。
【００７２】
アクセスサイクル変換部６０は、アクセス判定部５７からのメモリアクセスイネーブル信号ＭＥと、選択回路５６からのアクセスパターンＡＶ，ＡＨとに応じて、図１０に示す変換テーブルを参照して、動きベクトルを読み出すためのメモリアクセス順序を示すアドレスインデックスＡＩを生成するとともに、アクセスサイクル数を検出する。この変換テーブルには、垂直エッジ用メモリアクセスイネーブル信号ＭＥＶ及び水平エッジ用メモリアクセスイネーブル信号ＭＥＨと、垂直エッジ用アクセスパターンＡＶ及び水平エッジ用アクセスパターンＡＨとの全ての組み合わせに応じたアドレスインデックスＡＩが規定されている。ここで、アドレスインデックスＡＩにおいて、６はカレントＦＷ側アドレスＣ−Ｆ、５はカレントＢＷ側アドレスＣ−Ｂ、４は隣接上ＦＷ側アドレスＮＵ−Ｆ、３は隣接上ＢＷ側アドレスＮＵ−Ｂ、２は隣接左ＦＷ側アドレスＮＬ−Ｆ、１は隣接左ＢＷ側アドレスＮＬ−Ｂをそれぞれアクセスするためのインデックスである。なお、アドレスインデックスの０は、メモリアクセスをしないことを示すインデックスである。
【００７３】
次に、このアクセスサイクル変換部６０におけるアドレスインデックスＡＩの生成（変換テーブル）について図９及び図１０に従って説明する。
図１０に示すように、垂直エッジ用及び水平エッジ用のメモリアクセスイネーブル信号ＭＥＶ，ＭＥＨが共に非アクティブ（「０」）の場合には、垂直エッジ及び水平エッジのＢｓ値設定の際に共にメモリアクセスが不要であることを示しているため、アクセスサイクル変換部６０は、「０」のアドレスインデックスＡＩを生成する。
【００７４】
一方、垂直エッジ用メモリアクセスイネーブル信号ＭＥＶのみがアクティブ（「１」）の場合には、垂直エッジ用アクセスパターンＡＶによって、アドレスインデックスＡＩが生成される。このとき、水平エッジについては常に動きベクトルを読み出すためのメモリアクセスが不要となる。以下に、垂直エッジ用メモリアクセスイネーブル信号ＭＥＶがアクティブ（「１」）、水平エッジ用メモリアクセスイネーブル信号ＭＥＨが非アクティブの場合について説明する。
【００７５】
垂直エッジ用アクセスパターンＡＶが「０００」又は「１１１」のときには、垂直エッジについても動きベクトルを読み出すためのメモリアクセスが不要になるため、アクセスサイクル変換部６０は、「０」のアドレスインデックスＡＩを生成する。
【００７６】
一方、垂直エッジ用アクセスパターンＡＶが「００１」〜「１１０」のときには、垂直エッジにおけるＢｓ値設定の際に動きベクトルを読み出すためのメモリアクセスが必要となる。具体的には、垂直エッジ用アクセスパターンＡＶが「００１」のときには、図８（ａ）に示すように、カレントブロック及び隣接左ブロックがそれぞれＦＷ側参照ピクチャ番号を有している。そのため、垂直エッジにおけるＢｓ値を設定する際に、カレントブロックのＦＷ側動きベクトルと、隣接左ブロックのＦＷ側動きベクトルとの差分を算出する必要がある。そこで、アクセスサイクル変換部６０は、図１０に示すように、カレントＦＷ側アドレスＣ−Ｆと隣接左ＦＷ側アドレスＮＬ−Ｆとをアクセスするための「６４」のアドレスインデックスＡＩを生成する。また、垂直エッジ用アクセスパターンＡＶが「０１０」のときには、カレントブロックがＦＷ側参照ピクチャ番号を有し、隣接左ブロックがＢＷ側参照ピクチャ番号を有している（図８（ｂ）参照）。そこで、アクセスサイクル変換部６０は、カレントＦＷ側アドレスＣ−Ｆと隣接左ＢＷ側アドレスＮＬ−Ｂとをアクセスするための「６３」のアドレスインデックスＡＩを生成する。
【００７７】
同様に、垂直エッジ用アクセスパターンＡＶが「０１１」のときには、アクセスサイクル変換部６０は、カレントＢＷ側アドレスＣ−Ｂと隣接左ＦＷ側アドレスＮＬ−Ｆとをアクセスするための「５４」のアドレスインデックスＡＩを生成する。垂直エッジ用アクセスパターンＡＶが「１００」のときには、アクセスサイクル変換部６０は、カレントＢＷ側アドレスＣ−Ｂと隣接左ＦＷ側アドレスＮＬ−Ｆとをアクセスするための「５３」のアドレスインデックスＡＩを生成する。
【００７８】
また、垂直エッジ用アクセスパターンＡＶが「１０１」、「１１０」のときには、カレントブロックと隣接左ブロックとがＦＷ側参照ピクチャ番号及びＢＷ側参照ピクチャ番号を有している（図８（ｅ）〜（ｇ）参照）。そこで、アクセスサイクル変換部６０は、カレントＦＷ側アドレスＣ−Ｆと、カレントＢＷ側アドレスＣ−Ｂと、隣接左ＦＷ側アドレスＮＬ−Ｆと隣接左ＢＷ側アドレスＮＬ−Ｂと、をアクセスするための「６５３４」のアドレスインデックスＡＩを生成する。
【００７９】
なお、水平エッジ用メモリアクセスイネーブル信号ＭＥＨのみがアクティブの場合と、垂直エッジ用と水平エッジ用のメモリアクセスイネーブル信号ＭＥＶ，ＭＥＨが共にアクティブの場合とについても同様に、アドレスインデックスＡＩが生成される（図１０参照）。
【００８０】
そして、アクセスサイクル変換部６０は、図２に示すように、生成したアドレスインデックスＡＩをリードアドレス生成部６１に出力するとともに、遅延回路６２を介してＢｓ値演算回路６３に出力する。リードアドレス生成部６１は、アクセスサイクル変換部６０からのアドレスインデックスＡＩに応じて、アドレス生成部５８から入力されるメモリアドレスをリードアドレスに代入することでリードアドレスＲＡを生成する。すなわち、リードアドレス生成部６１は、アドレスインデックスが６のときにカレントＦＷ側アドレスＣ−Ｆ、５のときにカレントＢＷ側アドレスＣ−Ｂ、４のときに隣接上ＦＷ側アドレスＮＵ−Ｆ、３のときに隣接上ＢＷ側アドレスＮＵ−Ｂ、２のときに隣接左ＦＷ側アドレスＮＬ−Ｆ、１のときに隣接左ＢＷ側アドレスＮＬ−Ｂをそれぞれリードアドレスに代入する。このリードアドレス生成部６１は、リードアドレスに所定のアドレス（例えば、カレントＦＷ側アドレスＣ−Ｆなど）を代入したときに、リードイネーブル信号ＲＥをアクティブ（「１」）にする。また、リードアドレス生成部６１は、「０」のアドレスインデックスＡＩが入力され、リードアドレスＲＡに所定のアドレスがいずれも代入されないときに、リードイネーブル信号ＲＥを非アクティブ（「０」）にする。
【００８１】
例えば、図９に示すように、アクセスサイクル変換部６０からカレントブロックＦ０に対応するアドレスインデックスＡＩとして「６３」が入力されると、リードアドレス生成部６１はカレントブロックＦ０に対するカレントＦＷ側アドレスＣ−Ｆと隣接左ＢＷ側アドレスＮＬ−ＢとをリードアドレスＲＡに代入する。すなわち、リードアドレス生成部６１は、アドレス生成部５８から入力されるカレントブロックＦ０における各種アドレスＣ−Ｆ，Ｃ−Ｂ，ＮＵ−Ｆ，ＮＵ−Ｂ，ＮＬ−Ｆ，ＮＬ−Ｂのうち、Ｂｓ値設定の際に必要なアドレスＣ−Ｆ，ＮＬ−Ｂのみを「６３」のアドレスインデックスＡＩに応じて選択し、リードアドレスＲＡに代入するようにしている。なお、このとき、リードアドレス生成部６１は、リードイネーブル信号ＲＥをアクティブにする。
【００８２】
リードアドレス生成部６１は、図２に示すように、リードアドレスＲＡに応じたメモリアドレスに格納されている対象ブロックの動きベクトルを読み出すために、生成したリードアドレスＲＡ及びリードイネーブル信号ＲＥを符号化情報メモリ９０に出力する。なお、符号化情報メモリ９０から読み出された動きベクトルは、リードデータＲＤとしてＢｓ値演算回路６３に入力される。
【００８３】
Ｂｓ値演算回路６３には、上記リードデータＲＤと併せて、カレントブロックのコーディングタイプと、上記リードデータＲＤの入力タイミングに合わせて遅延回路６２からアドレスインデックスＡＩと、シフト回路５９からカレントブロックの各種パラメータとが入力される。上記各種パラメータは、リード数カウンタ５１からのブロック処理完了信号ＰＣと、ステートマシン５２からのカレントブロック番号と、アクセス判定部５７からのメモリアクセスイネーブル信号ＭＥ及びコピーイネーブル信号ＣＥと、選択回路５６からのアクセスパターンＡＶ，ＡＨとを含む。なお、シフト回路５９は、リードデータＲＤの入力タイミングに合わせるように、所定サイクル（例えば、１つのカレントブロック処理における最大サイクル数である６サイクル）分だけ出力タイミングをシフトさせて上記各種パラメータをＢｓ値演算回路６３に出力する。
【００８４】
Ｂｓ値演算回路６３は、符号化情報メモリ９０からリードデータＲＤとして入力される各種動きベクトルを保持する各種レジスタＲ１〜Ｒ６を備えている。この各種レジスタＲ１〜Ｒ６は、遅延回路６２からのアドレスインデックスＡＩに応じたリードデータＲＤ（動きベクトル）を保持する。詳しくは、Ｃ−ＦレジスタＲ１は「６」のアドレスインデックスＡＩに応じてカレントＦＷ側動きベクトルを保持し、Ｃ−ＢレジスタＲ２は「５」のアドレスインデックスＡＩに応じてカレントＢＷ側動きベクトルを保持する。ＮＬ−ＦレジスタＲ３は「４」のアドレスインデックスＡＩに応じて隣接左ＦＷ側動きベクトルを保持し、ＮＬ−ＢレジスタＲ４は「３」のアドレスインデックスＡＩに応じて隣接左ＢＷ側動きベクトルを保持する。ＮＵ−ＦレジスタＲ５は「２」のアドレスインデックスＡＩに応じて隣接上ＦＷ側動きベクトルを保持し、ＮＵ−ＢレジスタＲ６は「１」のアドレスインデックスＡＩに応じて隣接上ＢＷ側動きベクトルを保持する。
【００８５】
そして、Ｂｓ値演算回路６３は、レジスタＲ１〜Ｒ４に保持される各動きベクトルに基づいて、カレントブロックの動きベクトルと、隣接左ブロックの動きベクトルとの差分を算出し、その差分値が１．００以上の場合には、当該カレントブロックの垂直エッジにおけるＢｓ値を「１」に設定する。なお、Ｂｓ値演算回路６３は、上記差分値が１．００未満の場合には、当該カレントブロックの垂直エッジにおけるＢｓ値を「０」に設定する。
【００８６】
また、Ｂｓ値演算回路６３は、レジスタＲ１，Ｒ２，Ｒ５，Ｒ６に保持される各動きベクトルに基づいて、カレントブロックの動きベクトルと、隣接上ブロックの動きベクトルとの差分を算出し、その差分値が１．００以上の場合には、当該カレントブロックの水平エッジにおけるＢｓ値を「１」に設定する。なお、Ｂｓ値演算回路６３は、上記差分値が１．００未満の場合には、当該カレントブロックの水平エッジにおけるＢｓ値を「０」に設定する。なお、コーディングタイプによって動きベクトルの差分値の算出方法が異なるため、この算出方法の選択に上記カレントブロックのコーディングタイプが使用される。
【００８７】
また、Ｂｓ値演算回路６３は、動きベクトルの読み出しが不要な「０００」の垂直エッジ用アクセスパターンＡＶ及び水平エッジ用アクセスパターンＡＨに応じて、カレントブロックの垂直エッジ及び水平エッジにおけるＢｓ値をそれぞれ強制的に「０」に設定する。Ｂｓ値演算回路６３は、動きベクトルの読み出しが不要な「１１１」の垂直エッジ用アクセスパターンＡＶ及び水平エッジ用アクセスパターンＡＨに応じて、カレントブロックの垂直エッジ及び水平エッジにおけるＢｓ値をそれぞれ強制的に「１」に設定する。これらにより、「０００」、「１１１」のアクセスパターンＡＶ，ＡＨの場合には、動きベクトルを読み出すためのメモリアクセスを省略することができる。
【００８８】
そして、Ｂｓ値演算回路６３は、リードデータＲＤ及びアクセスパターンＡＶ，ＡＨに基づいて設定されたＢｓ値を、各フィルタブロックＦ０〜Ｆ１５のエッジ（水平エッジ及び垂直エッジ）毎に保持するための３２個のＢｓ値レジスタＢＲを備えている。図１１に示すように、このＢｓ値レジスタＢＲの前段には、アクティブのコピーイネーブル信号ＣＥが入力されたときに他のエッジのＢｓ値をコピーするとともに、非アクティブのメモリアクセスイネーブル信号ＭＥ及びコピーイネーブル信号ＣＥが入力されたときにＢｓ値を強制的に「０」にするための選択回路６５が設けられている。図１１では、図４の例において他の垂直エッジＶ２のＢｓ値がコピーされる垂直エッジＶ６に対応する選択回路６５を示した。
【００８９】
図１１に示すように、第１選択回路６６には、Ｂｓ値「０」と、当該垂直エッジＶ６の上に位置してコピー元となり得る垂直エッジＶ２におけるＢｓ値とが入力される。第１選択回路６６は、非アクティブの垂直エッジ用コピーイネーブル信号ＣＥＶに応じてＢｓ値「０」を選択するとともに、アクティブの垂直エッジ用コピーイネーブル信号ＣＥＶに応じて垂直エッジＶ２におけるＢｓ値を選択する。第１選択回路６６は、選択したＢｓ値を第２選択回路６７に出力する。
【００９０】
第２選択回路６７には、第１選択回路６６からのＢｓ値と、当該垂直エッジＶ６におけるＢｓ値とが入力される。第２選択回路６７は、非アクティブの垂直エッジ用メモリアクセスイネーブル信号ＭＥＶに応じて第１選択回路６６からのＢｓ値を選択するとともに、アクティブの垂直エッジ用メモリアクセスイネーブル信号ＭＥＶに応じて垂直エッジＶ６におけるＢｓ値を選択する。第２選択回路６７は、選択したＢｓ値を第３選択回路６８に出力する。すなわち、コピーイネーブル信号ＣＥＶがアクティブ、且つメモリアクセスイネーブル信号ＭＥＶが非アクティブのときに、コピー元の垂直エッジＶ２のＢｓ値が第３選択回路６８に出力される。また、コピーイネーブル信号ＣＥＶが非アクティブ、且つメモリアクセスイネーブル信号ＭＥＶが非アクティブのときに、Ｂｓ値「０」が第３選択回路６８に出力される。また、メモリアクセスイネーブル信号ＭＥＶがアクティブのときには、リードデータＲＤ及びアクセスパターンＡＶ，ＡＨに基づいて設定された当該垂直エッジＶ６のＢｓ値が第３選択回路６８に出力される。なお、メモリアクセスイネーブル信号ＭＥＶが非アクティブのときには、当該垂直エッジＶ６に対するアクセスパターンＡＶ６及びリードデータＲＤが生成されない。そのため、これらアクセスパターンＡＶ６及びリードデータＲＤに基づく垂直エッジＶ６のＢｓ値が設定されない。従って、このような場合には、垂直エッジＶ６の前に処理される垂直エッジＶ５のＢｓ値が垂直エッジＶ６のＢｓ値として第２選択回路６７に入力される。
【００９１】
第３選択回路６８は、カレントブロック番号「０１１０」が入力されるときに、第２選択回路６７から入力されるＢｓ値を垂直エッジＶ６のＢｓ値としてＢｓ値レジスタＢＲに設定する。第３選択回路６８は、当該フィルタブロックＦ６以外のブロックを示すカレントブロック番号が入力されるときには、Ｂｓ値レジスタＢＲに保持されているＢｓ値を該Ｂｓ値レジスタＢＲに設定する。
【００９２】
そして、このＢｓ値レジスタＢＲに保持されたＢｓ値がデブロッキングフィルタ部８０に出力される。
一方、図２に示すように、アクセスサイクル変換部６０は、上記アドレスインデックスＡＩの生成と同時に検出されるアクセスサイクル数をリード数カウンタ５１に出力する。ここで、このアクセスサイクル数は、図１０の変換テーブルに示すように、アドレスインデックスＡＩの番号の個数に対応している。リード数カウンタ５１は、前述したように、入力されるアクセスサイクル数をリミット値に設定し、カウント値がそのリミット値に達すると、ブロック処理完了信号ＰＣをアンド回路５４に出力する。このアンド回路５４には、検出回路５３がステートマシン５２から出力されるカレントブロック番号「１１１１」を検出したときに生成する検出信号が入力される。そして、アンド回路５４は、カレントブロックＦ１５が処理されていることを示す検出信号と、そのカレントブロックＦ１５の処理終了を示すブロック処理完了信号ＰＣとの双方が入力されると、そのブロック処理完了信号ＰＣを処理対象マクロブロックの処理完了信号として、遅延回路５５を介して出力する。
【００９３】
次に、このように構成されたＢｓ値設定部５０の動作について図１２〜図１４に従って説明する。
図１２に示すように、まず、処理開始信号の入力に応じてステートマシン５２がカレントブロック番号「００００」を生成すると、Ｂｓ値設定部５０は、カレントブロックＦ０のＢｓ値設定処理を開始する（ステップＳ１）。次に、ステップＳ２及びステップＳ３に移って、Ｂｓ値設定部５０は、垂直エッジ用Ｂｓ値設定処理と水平エッジ用Ｂｓ値設定処理とを並行して実行する。ステップＳ２においてカレントブロックの垂直エッジにおけるＢｓ値が設定されるとともに、ステップＳ３においてカレントブロックの水平エッジにおけるＢｓ値が設定されると、カレントブロック番号が「１１１１」であるかが判定される（ステップＳ４）。カレントブロック番号が「１１１１」になるまで、ステップＳ５に移ってカレントブロック番号がインクリメントされて、ステップＳ２，Ｓ３が繰り返し実行される。ステップＳ４においてカレントブロック番号が「１１１１」になると、処理対象のマクロブロックにおけるＢｓ値設定処理を終了する。
【００９４】
次に、上記ステップＳ２における垂直エッジ用Ｂｓ値設定処理について図１３に従って説明する。
図１３に示すように、まず、アクセス判定部５７は、カレントブロック番号と、可変ブロックサイズ（例えば、８×１６画素）が入力されると、カレントブロックの垂直エッジが可変ブロック境界に属さないかを判定する（ステップＳ１０）。アクセス判定部５７は、例えば図４に示したカレントブロックＦ１の垂直エッジＶ１のように該垂直エッジが可変ブロック境界に属さない場合には（ステップＳ１０においてＹＥＳ）、垂直エッジ用のメモリアクセスイネーブル信号ＭＥＶ及びコピーイネーブル信号ＣＥＶを共に非アクティブにする。これらの信号ＭＥＶ，ＣＥＶに伴って、Ｂｓ値演算回路６３は、カレントブロックの垂直エッジＶ１のＢｓ値を強制的に「０」に設定する（ステップＳ１１）。一方、アクセス判定部５７は、例えば図４に示したカレントブロックＦ０の垂直エッジＶ０のように該垂直エッジＶ０が可変ブロック境界に属する場合には（ステップＳ１０においてＮＯ）、ステップＳ１２に移る。
【００９５】
次に、ステップＳ１２において、アクセス判定部５７は、カレントブロックの垂直エッジにおけるＢｓ値と同一になるＢｓ値が既に設定されているかを判定する。アクセス判定部５７は、例えば図４に示したカレントブロックＦ６の垂直エッジＶ６のように、該垂直エッジＶ６のＢｓ値が、既に設定された同一可変ブロック内のフィルタブロックＦ２の垂直エッジＶ２のＢｓ値と一致する場合には（ステップＳ１２においてＹＥＳ）、垂直エッジ用のコピーイネーブル信号ＣＥＶをアクティブにする。このアクティブのコピーイネーブル信号ＣＥＶに伴って、Ｂｓ値演算回路６３は、上記垂直エッジＶ２のＢｓ値をカレントブロックの垂直エッジＶ６のＢｓ値としてコピーする（ステップＳ１３）。一方、アクセス判定部５７は、カレントブロックの垂直エッジにおけるＢｓ値と同一になるＢｓ値が設定されていないと判定すると（ステップＳ１２においてＮＯ）、垂直エッジ用メモリアクセスイネーブル信号ＭＥＶをアクティブにして、ステップＳ１４に移る。
【００９６】
続いて、ステップＳ１４において、アクセスパターン生成部ＡＰは、図７（ｄ）に示すように、カレントブロック及び隣接左ブロックの少なくとも一方がイントラ予測符号化されたブロックであるか否かを判定する。アクセスパターン生成部ＡＰは、カレントブロック又は隣接左ブロックがイントラ予測の場合には（ステップＳ１４においてＹＥＳ）、「０００」の垂直エッジ用アクセスパターンＡＶを生成する。この「０００」のアクセスパターンＡＶに応じて、Ｂｓ値演算回路６３は、カレントブロックの垂直エッジのＢｓ値を強制的に「０」に設定する。一方、カレントブロック及び隣接左ブロックの双方がイントラ予測でない場合には（ステップＳ１４においてＮＯ）、ステップＳ１５に移る。
【００９７】
次に、ステップＳ１５において、図７（ａ）に示すように、カレントブロックと隣接左ブロックとのコーディングタイプが異なるか否かを判定する。アクセスパターン生成部ＡＰは、コーディングタイプが異なるときに（ステップＳ１５においてＹＥＳ）、「１１１」の垂直エッジ用アクセスパターンＡＶを生成する。この「１１１」のアクセスパターンに応じて、Ｂｓ値演算回路６３は、カレントブロックの垂直エッジのＢｓ値を強制的に「１」に設定する（ステップＳ１４）。一方、カレントブロックと隣接左ブロックとのコーディングタイプが一致する場合には（ステップＳ１５においてＮＯ）、ステップＳ１７に移る。
【００９８】
続いて、ステップＳ１７において、アクセスパターン生成部ＡＰは、図７（ｂ）に示すように、カレントブロックの参照ピクチャ枚数と隣接左ブロックの参照ピクチャ枚数とが異なるか否かを判定する。参照ピクチャ枚数が異なるときには（ステップＳ１７においてＹＥＳ）、アクセスパターン生成部ＡＰにて生成される「１１１」のアクセスパターンＡＶに応じて、Ｂｓ値演算回路６３がカレントブロックの垂直エッジのＢｓ値を強制的に「１」に設定する（ステップＳ１６）。一方、参照ピクチャ枚数が一致する場合には（ステップＳ１７においてＮＯ）、ステップ１８に移る。
【００９９】
次に、ステップＳ１８において、アクセスパターン生成部ＡＰは、図７（ｃ）に示すように、カレントブロックの参照ピクチャ番号と隣接左ブロックの参照ピクチャ番号とが異なるか否かを判定する。参照ピクチャ番号が異なるときには（ステップＳ１８においてＹＥＳ）、アクセスパターン生成部ＡＰにて生成される「１１１」のアクセスパターンＡＶに応じて、Ｂｓ値演算回路６３がカレントブロックの垂直エッジのＢｓ値を強制的に「１」に設定する（ステップＳ１６）。一方、参照ピクチャ番号が一致する場合には（ステップＳ１８においてＮＯ）、ステップＳ１９に移る。
【０１００】
続いて、ステップＳ１９において、Ｂｓ値演算回路６３は、符号化情報メモリ９０から読み出されるカレントブロックの動きベクトルと隣接左ブロックの動きベクトルとの差分値を算出する。次に、ステップＳ２０において、Ｂｓ値演算回路６３は、これら動きベクトルの差分値が１．００以上か否かを判定する。動きベクトルの差分値が１．００未満のときには（ステップＳ２０においてＮＯ）、Ｂｓ値演算回路６３は、カレントブロックの垂直エッジのＢｓ値を「０」に設定する（ステップＳ１１）。一方、動きベクトルの差分値が１．００以上のときには（ステップＳ２０においてＹＥＳ）、Ｂｓ値演算回路６３は、カレントブロックの垂直エッジのＢｓ値を「１」に設定する（ステップＳ１６）。
【０１０１】
そして、ステップＳ１１，Ｓ１３，Ｓ１６のいずれかの処理が終了して、カレントブロックの垂直エッジのＢｓ値が設定されると、上記ステップＳ２における垂直エッジ用Ｂｓ値設定処理が終了する。
【０１０２】
なお、図１４に示すように、上記ステップＳ３の水平エッジ用Ｂｓ値設定処理（ステップＳ３０〜ステップＳ４０）は、対象エッジが水平エッジであること及び対象隣接ブロックが隣接上ブロックであることが異なるものの、上述した垂直エッジ用Ｂｓ値設定処理と略同様であるため説明を省略する。
【０１０３】
次に、図１３に示したステップＳ１９と、図１４に示したステップＳ３９との処理について図１５及び図１６に従ってさらに詳述する。
ステップＳ１９の処理が開始されると、ステップＳ５０において、アクセスパターン生成部ＡＰは、図８に示すように、カレントブロック及び隣接左ブロックの参照ピクチャ番号に応じて、「００１」〜「１１０」の垂直エッジ用アクセスパターンＡＶを生成する。また、ステップＳ３９の処理が開始されると、ステップＳ５１において、アクセスパターン生成部ＡＰは、カレントブロック及び隣接上ブロックの参照ピクチャ番号に応じて、「００１」〜「１１０」の水平エッジ用アクセスパターンＡＨを生成する。なお、これらステップＳ５０及びステップＳ５１は同時に実行され、図１６に示すようにアクセスパターンＡＶ，ＡＨが同時に生成される。また、これらステップＳ５０及びステップＳ５１は、ステップＳ１９及びステップＳ３９の処理がそれぞれ実行されないときには、もちろん実行されない。
【０１０４】
次に、アクセスサイクル変換部６０は、これらアクセスパターンＡＶ，ＡＨと、ステップＳ１０，Ｓ１２において生成されたメモリアクセスイネーブル信号ＭＥＶと、ステップＳ３０，Ｓ３２において生成されたメモリアクセスイネーブル信号ＭＥＨとに基づいて、アドレスインデックスＡＩを生成する（ステップＳ５２）。続いて、リードアドレス生成部６１は、アドレス生成部５８から入力されるメモリアドレスのうちアドレスインデックスＡＩに応じたアドレスをリードアドレスＲＡとして生成する（ステップＳ５３）。
【０１０５】
次に、上記ステップＳ５３にて生成されたリードアドレスＲＡに応じてカレントＦＷ側動きベクトル及びカレントＢＷ側動きベクトルの少なくとも１つの動きベクトルが符号化情報メモリ９０からリードデータＲＤとして読み出される（ステップＳ５４）。なお、図１６に示すように、カレントブロックＦ０に対するリードアドレスＣ−Ｆに応じて、フィルタブロックＦ０におけるＦＷ側動きベクトルＦ０−ＦＷが読み出されると、そのＦＷ側動きベクトルＦ０−ＦＷがＢｓ値演算回路６３内のＣ−ＦレジスタＲ１に保持される。
【０１０６】
次に、上記ステップＳ５３にて生成されたリードアドレスＲＡに応じて隣接左ＦＷ側動きベクトル及び隣接左ＢＷ側動きベクトルの少なくとも１つの動きベクトルが符号化情報メモリ９０からリードデータＲＤとして読み出される（ステップＳ５５）。なお、上記ステップＳ５０が実行されない場合には、このステップＳ５５の処理は省略される。図１６に示すように、カレントブロックＦ０に対するリードアドレスＮＬ−Ｂに応じて、隣接左ブロックＮＬ０におけるＢＷ側動きベクトルＮＬ０−ＢＷが読み出されると、そのＢＷ側動きベクトルＮＬ０−ＢＷがＢｓ値演算回路６３内のＮＬ−ＢレジスタＲ４に保持される。
【０１０７】
次に、上記ステップＳ５３にて生成されたリードアドレスＲＡに応じて隣接上ＦＷ側動きベクトル及び隣接上ＢＷ側動きベクトルの少なくとも１つの動きベクトルが符号化情報メモリ９０からリードデータＲＤとして読み出される（ステップＳ５６）。なお、上記ステップＳ５１が実行されない場合には、このステップＳ５６の処理は省略される。図１６に示すように、カレントブロックＦ０に対するリードアドレスＮＵ−Ｆに応じて、隣接上ブロックＮＵ０におけるＦＷ側動きベクトルＮＵ０−ＦＷが読み出されると、そのＦＷ側動きベクトルＮＵ０−ＦＷがＢｓ値演算回路６３内のＮＵ−ＦレジスタＲ５に保持される。
【０１０８】
続いて、Ｂｓ値演算回路６３は、各種レジスタＲ１〜Ｒ４に保持されている各種動きベクトルに基づいて、カレントブロックと隣接左ブロックとの動きベクトルの差分値を算出する（ステップＳ５７）。そして、動きベクトルの差分値が算出されると、図１３のステップＳ２０に移る。また、上記ステップＳ５７と同時に、Ｂｓ値演算回路６３は、各種レジスタＲ１，Ｒ２，Ｒ５，Ｒ６に保持されている各種動きベクトルに基づいて、カレントブロックと隣接上ブロックとの動きベクトルの差分値を算出する（ステップＳ５８）。そして、動きベクトルの差分値が算出されると、図１４のステップＳ４０に移る。なお、ステップＳ５７は、上記ステップＳ５０が実行されない場合に省略されるとともに、ステップＳ５８は、上記ステップＳ５１が実行されない場合に省略されるステップである。
【０１０９】
図１７は、多数のマクロブロックからなるサンプル１〜６について、図１２〜図１５に示したＢｓ値設定方法にてＢｓ値を設定した場合のシミュレーション結果である。なお、サンプル１〜６を構成する多数のマクロブロックは、多種類のイントラ予測の予測モード、インター予測の可変ブロックサイズ及びコーディングタイプがランダムに決定されたブロックである。図１７（ａ）は、サンプル１〜６を構成する各マクロブロック毎のＢｓ値設定に要するアクセスサイクル数の頻度を示し、図１７（ｂ）は、各サンプル１〜６の平均アクセスサイクル数（＝アクセスサイクル数合計／全マクロブロック数）を示した。
【０１１０】
図１７（ａ）を見て明らかなように、全てのサンプル１〜６において、各マクロブロックのＢｓ値設定に要するアクセスサイクル数が２５サイクル以下に多数分布している。また、図１７（ｂ）に示すように、１つのマクロブロックのＢｓ値設定に要するアクセスサイクル数の平均は、全てのサンプル１〜６において２７サイクル以下であった。このように１つのマクロブロックのＢｓ値設定処理を２７サイクル以下にて完了することができるということは、従来の設定方法における８０サイクルに比べて処理時間を約１／３に短縮することができることを示している。従って、本実施形態のＢｓ値設定方法によれば、Ｂｓ値設定における全体の処理量を大幅に低減することができる。
【０１１１】
以上説明した本実施形態によれば、以下の効果を奏することができる。
（１）アクセス判定部５７（第１判定手段）は、カレントブロックの対象エッジが可変ブロック境界に属さない場合に、該対象エッジに対するメモリアクセスイネーブル信号ＭＥ及びコピーイネーブル信号ＣＥを非アクティブにするようにした。また、Ｂｓ値演算回路６３は、上記非アクティブのメモリアクセスイネーブル信号ＭＥ及びコピーイネーブル信号ＣＥに応じて、動きベクトルを読み出すことなく上記対象エッジのＢｓ値を強制的に「０」に設定するようにした。これにより、動きベクトルを読み出すためのメモリアクセスを省略することができる。ひいては、デブロッキングフィルタ処理のためのフィルタ強度の設定における全体の処理量を低減させることができる。
【０１１２】
（２）アクセスパターン生成部ＡＰ０〜ＡＰ１５（第２判定手段）は、カレントブロックと隣接ブロックとのコーディングタイプが異なるときに、「１１１」のアクセスパターンを生成するようにした。また、Ｂｓ値演算回路６３は、上記「１１１」のアクセスパターンに応じて、動きベクトルを読み出すことなくカレントブロックの対象エッジのＢｓ値を強制的に「１」に設定するようにした。これにより、動きベクトルを読み出すためのメモリアクセスを省略することができる。
【０１１３】
（３）アクセスパターン生成部ＡＰ０〜ＡＰ１５（第３判定手段）は、カレントブロックと隣接ブロックとの参照ピクチャ枚数が異なるときに、「１１１」のアクセスパターンを生成するようにした。また、Ｂｓ値演算回路６３は、上記「１１１」のアクセスパターンに応じて、動きベクトルを読み出すことなくカレントブロックの対象エッジのＢｓ値を強制的に「１」に設定するようにした。これにより、動きベクトルを読み出すためのメモリアクセスを省略することができる。
【０１１４】
（４）アクセスパターン生成部ＡＰ０〜ＡＰ１５（第４判定手段）は、カレントブロックと隣接ブロックとの参照ピクチャ番号が異なるときに、「１１１」のアクセスパターンを生成するようにした。また、Ｂｓ値演算回路６３は、上記「１１１」のアクセスパターンに応じて、動きベクトルを読み出すことなくカレントブロックの対象エッジのＢｓ値を強制的に「１」に設定するようにした。これにより、動きベクトルを読み出すためのメモリアクセスを省略することができる。
【０１１５】
（５）アクセス判定部５７（第５判定手段）は、カレントブロックの対象エッジが可変ブロック境界に属する場合であっても、該対象エッジのＢｓ値が、既に設定された同一可変ブロック内のフィルタブロックのＢｓ値と一致する場合には、その既に設定されたＢｓ値をコピーするためのコピーイネーブル信号ＣＥをアクティブにするようにした。また、Ｂｓ値演算回路６３は、上記アクティブのコピーイネーブル信号ＣＥに応じて、上記既に設定されたＢｓ値を対象エッジのＢｓ値としてコピーすることで、動きベクトルを読み出すことなく対象エッジのＢｓ値を設定するようにした。これにより、動きベクトルを読み出すためのメモリアクセスを省略することができる。
【０１１６】
（６）アクセスパターン生成部ＡＰ０〜ＡＰ１５（第６判定手段）は、カレントブロック及び隣接ブロックの少なくとも一方がイントラ予測符号化の施されたブロックのときに、「０００」のアクセスパターンを生成するようにした。また、Ｂｓ値演算回路６３は、上記「０００」のアクセスパターンに応じて、動きベクトルを読み出すことなくカレントブロックの対象エッジのＢｓ値を強制的に「０」に設定するようにした。これにより、動きベクトルを読み出すためのメモリアクセスを省略することができる。
【０１１７】
（７）従来の処理方法では、マクロブロックの種類（参照ピクチャ枚数）に関わらず、ＢマクロブロックＢＭＢ（図１８参照）における最大参照ピクチャ枚数（２枚）に合わせて、各フィルタブロックにおけるＢｓ値設定のために常時２つの動きベクトルを読み出すためのメモリアクセスを行っていた。すなわち、従来では、フィルタブロックが１枚の参照ピクチャ（１つの動きベクトル）しか有していない場合であっても、２つの動きベクトルを読み出すためのメモリアクセスが常に行われていた。これに対して、本実施形態のＢｓ値設定部５０では、カレントブロック及び隣接ブロックの参照ピクチャ番号がＦＷ側参照ピクチャ番号であるかＢＷ側参照ピクチャ番号であるかに応じてアクセスパターンを生成するようにした。また、このアクセスパターンに応じてメモリアクセス順序を示すアドレスインデックスＡＩを生成するようにした。そして、リードアドレス生成部６１は、アドレス生成部５８から入力されるカレントブロックＦ０における各種アドレスＣ−Ｆ，Ｃ−Ｂ，ＮＵ−Ｆ，ＮＵ−Ｂ，ＮＬ−Ｆ，ＮＬ−Ｂのうち、Ｂｓ値設定の際に必要なアドレスのみをアドレスインデックスＡＩに応じて選択し、その選択したメモリアドレスをリードアドレスＲＡとして生成するようにした。これにより、各フィルタブロックが実際に有している動きベクトルを読み出すためのメモリアクセスのみが行われる。従って、上述したようなフィルタブロックが１つの動きベクトルしか有していない場合に、２つの動きベクトルを読み出すためのメモリアクセスが行われることを抑制することができる。
【０１１８】
（８）本実施形態のＢｓ値設定部５０では、垂直エッジ用Ｂｓ値設定処理と水平エッジ用Ｂｓ値設定処理とを並行して実行するようにした。これにより、１回のカレントブロックの動きベクトルの読み出しに対して、垂直エッジ及び水平エッジを略同時に設定することができ、Ｂｓ値設定における処理量を低減させることができる。とくに、可変ブロックサイズが８×８画素以上のブロックサイズであって、多数のメモリアクセスが省略される場合に、Ｂｓ値設定における処理量を効果的に低減させることができる。
【０１１９】
なお、上記実施形態は、これを適宜変更した以下の態様にて実施することもできる。
・図１３におけるステップＳ１４及び図１４におけるステップＳ３４を省略してもよい。換言すると、アクセスパターン生成部ＡＰ０〜ＡＰ１５において、カレントブロック及び隣接ブロックの少なくとも一方がイントラ予測の場合に「０００」のアクセスパターンＡＶ，ＡＨを生成することを省略してもよい。
【０１２０】
・図１３におけるステップＳ１８及び図１４におけるステップＳ３８を省略してもよい。換言すると、アクセスパターン生成部ＡＰ０〜ＡＰ１５において、カレントブロックと隣接ブロックとの参照ピクチャ番号が異なるときに「１１１」のアクセスパターンＡＶ，ＡＨを生成することを省略してもよい。
【０１２１】
・図１３におけるステップＳ１７及び図１４におけるステップＳ３７を省略してもよい。換言すると、アクセスパターン生成部ＡＰ０〜ＡＰ１５において、カレントブロックと隣接ブロックとの参照ピクチャの枚数が異なるときに「１１１」のアクセスパターンＡＶ，ＡＨを生成することを省略してもよい。
【０１２２】
・図１３におけるステップＳ１５及び図１４におけるステップＳ３５を省略してもよい。換言すると、アクセスパターン生成部ＡＰ０〜ＡＰ１５において、カレントブロックと隣接ブロックとのコーディングタイプが異なるときに「１１１」のアクセスパターンＡＶ，ＡＨを生成することを省略してもよい。
【０１２３】
・図１３におけるステップＳ１２及び図１４におけるステップＳ３２を省略してもよい。換言すると、アクセス判定部５７において、コピーイネーブル信号ＣＥを生成することを省略してもよい。
【０１２４】
・図１３におけるステップＳ１０及び図１４におけるステップＳ３０を省略してもよい。換言すると、アクセス判定部５７において、メモリアクセスイネーブル信号ＭＥを生成することを省略してもよい。
【０１２５】
・上記実施形態において、アクセスパターン生成部ＡＰ０〜ＡＰ１５による「００１」〜「１１０」のアクセスパターンＡＶ，ＡＨの生成と、アクセスサイクル変換部６０とを省略してもよい。この場合、リードアドレス生成部６１には、アクセスパターン生成部ＡＰ０〜ＡＰ１５からの「０００」、「１１１」のアクセスパターンＡＶ，ＡＨ又はアクセス判定部５７からのメモリアクセスイネーブル信号ＭＥが入力される。このリードアドレス生成部６１は、アドレス生成部５８から入力される各種メモリアドレスのうち、「０００」、「１１１」のアクセスパターンＡＶ，ＡＨが入力されるエッジ又は非アクティブのメモリアクセスイネーブル信号ＭＥが入力されるエッジに関する全てのメモリアドレスを除いて、リードアドレスＲＡを生成する。すなわち、これら「０００」、「１１１」のアクセスパターンＡＶ，ＡＨ及び非アクティブのメモリアクセスイネーブル信号ＭＥによって、不要な動きベクトルを読み出すためのメモリアドレスがリードアドレスＲＡとして生成されることが防止される。これにより、無駄な動きベクトルを読み出すためのメモリアクセス量を低減することができる。
【０１２６】
・上記実施形態では、垂直エッジ用Ｂｓ値設定処理と水平エッジ用Ｂｓ値設定処理とを並行して実行するようにしたが、従来の設定順序と同様に、垂直エッジ用Ｂｓ値設定処理が終了した後に、水平エッジ用Ｂｓ値設定処理を実行するようにしてもよい。もちろん、水平エッジ用Ｂｓ値設定処理が終了した後に、垂直エッジ用Ｂｓ値設定処理を実行するようにしてもよい。
【０１２７】
・上記実施形態におけるアクセスパターンＡＶ，ＡＨの論理レベルは特に制限はない。また、アクセスパターンＡＶ，ＡＨのビット数についても特に制限はない。
・上記実施形態では、Ｂｓ値設定部５０を備えた復号化装置に具体化したが、このＢｓ値設定部５０を備える符号化装置に具体化してもよい。
【０１２８】
以上の様々な実施の形態をまとめると、以下のようになる。
（付記１）
マクロブロック内の各フィルタブロックの垂直エッジ及び水平エッジに対するデブロッキングフィルタ処理時のフィルタ強度を各々設定するフィルタ強度設定装置であって、
現在処理対象のフィルタブロックであるカレントブロックの動きベクトルに関わらず、該動きベクトルを除く符号化情報である判定情報に応じて前記カレントブロックの垂直エッジ又は水平エッジにおけるフィルタ強度が一意的に所定値に設定可能なときに判定信号を生成する判定回路を備え、
前記カレントブロックの垂直エッジにおけるフィルタ強度設定時に、前記判定回路にて前記判定信号が生成されると、前記動きベクトルを読み出すことなく、前記判定情報に応じて前記垂直エッジにおけるフィルタ強度を前記所定値に設定するとともに、
前記カレントブロックの水平エッジにおけるフィルタ強度設定時に、前記判定回路にて前記判定信号が生成されると、前記動きベクトルを読み出すことなく、前記判定情報に応じて前記水平エッジにおけるフィルタ強度を前記所定値に設定することを特徴とするフィルタ強度設定装置。
（付記２）
前記判定回路は、前記カレントブロックの垂直エッジ及び水平エッジがインター予測符号化時における可変ブロックの境界に属するかを、前記判定情報内の可変ブロックサイズに応じて判定する第１判定手段を含み、
前記第１判定手段にて前記カレントブロックの垂直エッジが前記可変ブロックの境界に属さないと判定されたときに、前記垂直エッジにおけるフィルタ強度を前記所定値として０に設定するとともに、
前記第１判定手段にて前記カレントブロックの水平エッジが前記可変ブロックの境界に属さないと判定されたときに、前記水平エッジにおけるフィルタ強度を前記所定値として０に設定することを特徴とする付記１に記載のフィルタ強度設定装置。
（付記３）
前記判定回路は、前記判定情報内に含まれてフィールド符号化であるかフレーム符号化であるかを示すコーディングタイプが、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとにおいて一致するか否かを判定する第２判定手段を含み、
前記第２判定手段にて前記カレントブロックと前記隣接左ブロックとの前記コーディングタイプが異なると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するとともに、
前記第２判定手段にて前記カレントブロックと前記隣接上ブロックとの前記コーディングタイプが異なると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定することを特徴とする付記１又は２に記載のフィルタ強度設定装置。
（付記４）
前記判定回路は、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとのインター予測符号化時における参照ピクチャ枚数が一致するか否かを、参照ピクチャ番号に応じて判定する第３判定手段を含み、
前記第３判定手段にて前記カレントブロックと前記隣接左ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するとともに、
前記第３判定手段にて前記カレントブロックと前記隣接上ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定することを特徴とする付記１〜３のいずれか１つに記載のフィルタ強度設定装置。
（付記５）
前記判定回路は、前記カレントブロックと、前記隣接左ブロックあるいは前記隣接上ブロックとのインター予測符号化時における参照ピクチャ番号が一致するか否かを判定する第４判定手段を含み、
前記第４判定手段にて前記カレントブロックと前記隣接左ブロックとの前記参照ピクチャ番号が異なると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するとともに、
前記第４判定手段にて前記カレントブロックと前記隣接上ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定することを特徴とする付記４に記載のフィルタ強度設定装置。
（付記６）
前記判定回路は、前記カレントブロックと、前記隣接左ブロックあるいは前記隣接上ブロックとの参照ピクチャ枚数及び参照ピクチャ番号が一致する場合に、前記カレントブロックと、前記隣接左ブロックあるいは前記隣接上ブロックとの前記参照ピクチャ番号がＦＷ側参照ピクチャ番号であるかＢＷ側参照ピクチャ番号であるかに応じたアクセスパターンを生成するアクセスパターン生成部を含み、
前記フィルタ強度設定装置は、
前記アクセスパターン生成部からの前記アクセスパターンに応じて、前記動きベクトルを読み出すためのメモリアクセス順序を示すアドレスインデックスを生成するアクセスサイクル変換部と、
各カレントブロックの垂直エッジ及び水平エッジにおけるフィルタ強度を設定するためにメモリから読み出す可能性のある動きベクトルが格納された全てのメモリアドレスを生成するアドレス生成部と、
前記アドレス生成部にて生成されたメモリアドレスのうち、カレントブロックの垂直エッジ及び水平エッジにおけるフィルタ強度の設定に実際に必要な動きベクトルを読み出すためのメモリアドレスのみを前記アドレスインデックスに応じて選択し、該選択したメモリアドレスをリードアドレスとして生成するリードアドレス生成部と、を備え、
前記リードアドレスに応じた動きベクトルをメモリから読み出すことを特徴とする付記５に記載のフィルタ強度設定装置。
従来では、マクロブロックの種類（参照ピクチャ枚数）に関わらず、Ｂマクロブロックにおける最大参照ピクチャ枚数（２枚）に合わせて、各フィルタブロックにおけるフィルタ強度設定のために常時２つの動きベクトルを読み出すためのメモリアクセスを行っていた。すなわち、従来では、フィルタブロックが１枚の参照ピクチャ（１つの動きベクトル）のみを有する場合であっても、２つの動きベクトルを読み出すためのメモリアクセスが常に行われていた。これに対して、上記構成によれば、カレントブロック及び隣接ブロックの参照ピクチャ番号がＦＷ側参照ピクチャ番号であるかＢＷ側参照ピクチャ番号であるかに応じてアクセスパターンが生成される。このアクセスパターンに応じて生成されるアドレスインデックスによって、カレントブロックにおけるフィルタ強度の設定に実際に必要な動きベクトルを読み出すためのメモリアドレスのみがリードアドレスとして生成される。これにより、上述したようなフィルタブロックが１つの動きベクトルのみを有する場合に、２つの動きベクトルを読み出すためのメモリアクセスが行われることを抑制することができる。
（付記７）
前記判定回路は、前記カレントブロックの垂直エッジあるいは水平エッジがインター予測符号化時における可変ブロックの境界に属し、且つ、既に設定された同一可変ブロック内のフィルタブロックのエッジにおけるフィルタ強度の中に、前記カレントブロックの垂直エッジあるいは水平エッジにおけるフィルタ強度と一致するフィルタ強度があるときにコピーイネーブル信号を生成する第５判定手段を含み、
前記カレントブロックの垂直エッジにおけるフィルタ強度設定時に、前記第５判定手段にて前記コピーイネーブル信号が生成されると、前記垂直エッジにおけるフィルタ強度と一致する既に設定されたフィルタ強度を該垂直エッジにおけるフィルタ強度としてコピーするとともに、
前記カレントブロックの水平エッジにおけるフィルタ強度設定時に、前記第５判定手段にて前記コピーイネーブル信号が生成されると、前記水平エッジにおけるフィルタ強度と一致する既に設定されたフィルタ強度を該水平エッジにおけるフィルタ強度としてコピーすることを特徴とする付記２〜６のいずれか１つに記載のフィルタ強度設定装置。
上記構成によれば、カレントブロックのフィルタ強度と同一のフィルタ強度が既に設定されている場合に、その既に設定されているフィルタ強度がカレントブロックの対象エッジのフィルタ強度としてコピーされる。このように他のエッジのフィルタ強度をコピーすることで、動きベクトルを読み出すためのメモリアクセスを低減することができる。
（付記８）
前記カレントブロックの垂直エッジにおけるフィルタ強度設定処理と、前記カレントブロックの水平エッジにおけるフィルタ強度設定処理とを並行して実行することを特徴とする付記２〜７のいずれかに１つに記載のフィルタ強度設定装置。
上記構成によれば、垂直エッジにおけるフィルタ強度設定処理と、水平エッジにおけるフィルタ強度設定処理とを並行して実行することができる。これにより、１回のカレントブロックの動きベクトルの読み出しに対して、垂直エッジ及び水平エッジを設定することができる。とくに、可変ブロックサイズが大きく（例えば、１６×１６画素、１６×８画素、８×１６画素、８×８画素等）、不要なメモリアクセスを多く省略可能な場合に、フィルタ強度の設定における処理量を効果的に低減させることができる。
（付記９）
前記判定回路は、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとの少なくとも一方がイントラ予測符号化の施されたブロックであるか否かを判定する第６判定手段を含み、
前記第６判定手段にて前記カレントブロック及び前記隣接左ブロックの少なくとも一方がイントラ予測符号化の施されたブロックであると判定されたときに、前記カレントブロックの垂直エッジにおけるフィルタ強度を所定の設定値に設定するとともに、
前記第６判定手段にて前記カレントブロック及び前記隣接上ブロックの少なくとも一方がイントラ予測符号化の施されたブロックであると判定されたときに、前記カレントブロックの水平エッジにおけるフィルタ強度を前記設定値に設定することを特徴とする付記１〜８のいずれか１つに記載のフィルタ強度設定装置。
カレントブロック及び隣接ブロックの少なくとも一方がイントラ予測符号化の施されたブロックの場合には、カレントブロックの対象エッジにおけるフィルタ強度が２〜４のいずれかになる。すなわち、イントラ予測の場合には、カレントブロックの対象エッジにおけるフィルタ強度は、動きベクトルに関係なく設定される。そこで、上記構成を採用することにより、第６判定手段にてカレントブロックと隣接ブロックとの少なくとも一方がイントラ予測符号化の施されたブロックであるかが判定される。そして、この第６判定手段にてカレントブロックあるいは隣接ブロックがイントラ予測であると判定されたときに、カレントブロックの対象エッジにおけるフィルタ強度を強制的に設定値（例えば、０）に設定することで、動きベクトルを読み出すためのメモリアクセスが省略される。例えば、カレントブロックがイントラ予測の場合には、マクロブロック内の全てのフィルタブロックがイントラ予測となるため、全てのフィルタブロックにおける動きベクトルを読み出すためのメモリアクセスを省略することができる。このような場合には、１つのマクロブロックのフィルタ強度設定処理を１６サイクルにて完了することができ、従来の８０サイクルに比べて処理時間を１／５に短縮することができる。
（付記１０）
マクロブロック内の各フィルタブロックの垂直エッジ及び水平エッジに対するデブロッキングフィルタ処理時のフィルタ強度を各々設定するフィルタ強度設定装置によるフィルタ強度設定方法であって、
前記フィルタ強度設定装置は、現在処理対象のフィルタブロックであるカレントブロックの動きベクトルに関わらず、該動きベクトルを除く符号化情報である判定情報に応じて前記カレントブロックの垂直エッジ又は水平エッジにおけるフィルタ強度が一意的に所定値に設定可能なときに判定信号を生成する判定回路を備え、
前記カレントブロックの垂直エッジにおけるフィルタ強度設定時において前記判定回路にて前記判定信号が生成されたときに、前記フィルタ強度設定装置が、前記動きベクトルを読み出すことなく、前記判定情報に応じて前記垂直エッジにおけるフィルタ強度を前記所定値に設定するステップと、
前記カレントブロックの水平エッジにおけるフィルタ強度設定時において前記判定回路にて前記判定信号が生成されたときに、前記フィルタ強度設定装置が、前記動きベクトルを読み出すことなく、前記判定情報に応じて前記水平エッジにおけるフィルタ強度を前記所定値に設定するステップと、を含みことを特徴とするフィルタ強度設定方法。
（付記１１）
前記判定回路は、前記カレントブロックの垂直エッジ及び水平エッジがインター予測符号化時における可変ブロックの境界に属するかを、前記判定情報内の可変ブロックサイズに応じて判定する第１判定手段を含み、
前記第１判定手段にて前記カレントブロックの垂直エッジが前記可変ブロックの境界に属さないと判定されたときに、前記フィルタ強度設定装置が、前記垂直エッジにおけるフィルタ強度を前記所定値として０に設定するステップと、
前記第１判定手段にて前記カレントブロックの水平エッジが前記可変ブロックの境界に属さないと判定されたときに、前記フィルタ強度設定装置が、前記水平エッジにおけるフィルタ強度を前記所定値として０に設定するステップと、を含むことを特徴とする付記１０に記載のフィルタ強度設定方法。
（付記１２）
前記判定回路は、前記判定情報内に含まれてフィールド符号化であるかフレーム符号化であるかを示すコーディングタイプが、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとにおいて一致するか否かを判定する第２判定手段を含み、
前記第２判定手段にて前記カレントブロックと前記隣接左ブロックとの前記コーディングタイプが異なると判定されたときに、前記フィルタ強度設定装置が、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するステップと、
前記第２判定手段にて前記カレントブロックと前記隣接上ブロックとの前記コーディングタイプが異なると判定されたときに、前記フィルタ強度設定装置が、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定するステップと、を含むことを特徴とする付記１０又は１１に記載のフィルタ強度設定方法。
（付記１３）
前記判定回路は、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとのインター予測符号化時における参照ピクチャ枚数が一致するか否かを、参照ピクチャ番号に応じて判定する第３判定手段を含み、
前記第３判定手段にて前記カレントブロックと前記隣接左ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記フィルタ強度設定装置が、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するステップと、
前記第３判定手段にて前記カレントブロックと前記隣接上ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記フィルタ強度設定装置が、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定するステップと、を含むことを特徴とする付記１０〜１２のいずれか１つに記載のフィルタ強度設定方法。
（付記１４）
前記判定回路は、前記カレントブロックと、前記隣接左ブロックあるいは前記隣接上ブロックとのインター予測符号化時における参照ピクチャ番号が一致するか否かを判定する第４判定手段を含み、
前記第４判定手段にて前記カレントブロックと前記隣接左ブロックとの前記参照ピクチャ番号が異なると判定されたときに、前記フィルタ強度設定装置が、前記カレントブロックの垂直エッジにおけるフィルタ強度を前記所定値として１に設定するステップと、
前記第４判定手段にて前記カレントブロックと前記隣接上ブロックとの前記参照ピクチャ枚数が異なると判定されたときに、前記フィルタ強度設定装置が、前記カレントブロックの水平エッジにおけるフィルタ強度を前記所定値として１に設定するステップと、を含むことを特徴とする付記１３に記載のフィルタ強度設定方法。
（付記１５）
前記カレントブロックと、前記隣接左ブロックあるいは前記隣接上ブロックとの参照ピクチャ枚数及び参照ピクチャ番号が一致する場合に、前記カレントブロックと、前記隣接左ブロックあるいは前記隣接上ブロックとの前記参照ピクチャ番号がＦＷ側参照ピクチャ番号であるかＢＷ側参照ピクチャ番号であるかに応じたアクセスパターンを生成するステップと、
前記アクセスパターンに応じて、前記動きベクトルを読み出すためのメモリアクセス順序を示すアドレスインデックスを生成するステップと、
各カレントブロックの垂直エッジ及び水平エッジにおけるフィルタ強度を設定するためにメモリから読み出す可能性のある動きベクトルが格納された全てのメモリアドレスを生成するステップと、
前記生成されたメモリアドレスのうち、カレントブロックの垂直エッジ及び水平エッジにおけるフィルタ強度の設定に実際に必要な動きベクトルを読み出すためのメモリアドレスのみを前記アドレスインデックスに応じて選択し、該選択したメモリアドレスをリードアドレスとして生成するステップと、
前記リードアドレスに応じた動きベクトルをメモリから読み出すステップと、を含むことを特徴とする付記１４に記載のフィルタ強度設定方法。
（付記１６）
前記判定回路は、前記カレントブロックの垂直エッジあるいは水平エッジがインター予測符号化時における可変ブロックの境界に属し、且つ、既に設定された同一可変ブロック内のフィルタブロックのエッジにおけるフィルタ強度の中に、前記カレントブロックの垂直エッジあるいは水平エッジにおけるフィルタ強度と一致するフィルタ強度があるときにコピーイネーブル信号を生成する第５判定手段を含み、
前記カレントブロックの垂直エッジにおけるフィルタ強度設定時において前記第５判定手段にて前記コピーイネーブル信号が生成されたときに、前記フィルタ強度設定装置が、前記垂直エッジにおけるフィルタ強度と一致する既に設定されたフィルタ強度を該垂直エッジにおけるフィルタ強度としてコピーするステップと、
前記カレントブロックの水平エッジにおけるフィルタ強度設定時において前記第５判定手段にて前記コピーイネーブル信号が生成されたときに、前記フィルタ強度設定装置が、前記水平エッジにおけるフィルタ強度と一致する既に設定されたフィルタ強度を該水平エッジにおけるフィルタ強度としてコピーするステップと、を含むことを特徴とする付記１１〜１５のいずれか１つに記載のフィルタ強度設定方法。
（付記１７）
前記カレントブロックの垂直エッジにおけるフィルタ強度設定処理と、前記カレントブロックの水平エッジにおけるフィルタ強度設定処理とが並行して実行されることを特徴とする付記１１〜１６のいずれかに１つに記載のフィルタ強度設定方法。
（付記１８）
前記判定回路は、前記カレントブロックと、該カレントブロックの左隣の隣接左ブロックあるいは前記カレントブロックの上隣の隣接上ブロックとの少なくとも一方がイントラ予測符号化の施されたブロックであるか否かを判定する第６判定手段を含み、
前記第６判定手段にて前記カレントブロック及び前記隣接左ブロックの少なくとも一方がイントラ予測符号化の施されたブロックであると判定されたときに、前記フィルタ強度設定装置が、前記カレントブロックの垂直エッジにおけるフィルタ強度を所定の設定値に設定するステップと、
前記第６判定手段にて前記カレントブロック及び前記隣接上ブロックの少なくとも一方がイントラ予測符号化の施されたブロックであると判定されたときに、前記フィルタ強度設定装置が、前記カレントブロックの水平エッジにおけるフィルタ強度を前記設定値に設定するステップと、を含むことを特徴とする付記１０〜１７のいずれか１つに記載のフィルタ強度設定方法。
（付記１９）
付記１〜９のいずれか１つに記載のフィルタ強度設定装置を備えることを特徴とした復号化装置。
【図面の簡単な説明】
【０１２９】
【図１】本実施形態の復号化装置を示すブロック図。
【図２】Ｂｓ値設定部を示すブロック図。
【図３】可変ブロックサイズ判定を示すテーブル。
【図４】アクセス判定を示すブロック図。
【図５】アクセス判定テーブル。
【図６】（ａ）、（ｂ）はそれぞれメモリアドレスの生成を示す説明図。
【図７】（ａ）〜（ｄ）はそれぞれアクセスパターンを示す説明図。
【図８】（ａ）〜（ｇ）はそれぞれアクセスパターンを示す説明図。
【図９】リードアドレスの生成を示すタイムチャート。
【図１０】アドレスインデックスを生成するための変換テーブル。
【図１１】選択回路を示すブロック図。
【図１２】Ｂｓ値設定処理を示すフローチャート。
【図１３】垂直エッジ用Ｂｓ値設定処理を示すフローチャート。
【図１４】水平エッジ用Ｂｓ値設定処理を示すフローチャート。
【図１５】動きベクトルの差分値算出方法を示すフローチャート。
【図１６】動きベクトルの差分値算出方法を示すタイムチャート。
【図１７】（ａ）、（ｂ）はそれぞれシミュレーション結果を示す説明図。
【図１８】ピクチャの構造を示す説明図。
【図１９】（ａ）〜（ｇ）はそれぞれインター予測符号化時における可変ブロックサイズを示す説明図。
【図２０】マクロブロックの構造を示す説明図。
【図２１】（ａ）、（ｂ）はそれぞれ従来のＢｓ値設定順序を示す説明図。
【図２２】従来のＢｓ値設定方法を示すフローチャート。
【符号の説明】
【０１３０】
５０  Ｂｓ値設定部（フィルタ強度設定装置）
５７  アクセス判定部（判定回路）
５８  アドレス生成部
６０  アクセスサイクル変換部
６１  リードアドレス生成部
６３  Ｂｓ値演算回路
８０  符号化情報メモリ
ＡＰ０〜ＡＰ１５  アクセスパターン生成部（判定回路）
【図１】
2009081544.tif 000003
【図２】
2009081544.tif 000004
【図３】
2009081544.tif 000005
【図４】
2009081544.tif 000006
【図５】
2009081544.tif 000007
【図６】
2009081544.tif 000008
【図７】
2009081544.tif 000009
【図８】
2009081544.tif 000010
【図９】
2009081544.tif 000011
【図１０】
2009081544.tif 000012
【図１１】
2009081544.tif 000013
【図１２】
2009081544.tif 000014
【図１３】
2009081544.tif 000015
【図１４】
2009081544.tif 000016
【図１５】
2009081544.tif 000017
【図１６】
2009081544.tif 000018
【図１７】
2009081544.tif 000019
【図１８】
2009081544.tif 000020
【図１９】
2009081544.tif 000021
【図２０】
2009081544.tif 000022
【図２１】
2009081544.tif 000023
【図２２】
2009081544.tif 000024