(57)【特許請求の範囲】
【請求項１】
マクロブロックごと、複数の映像データをＢピクチャーおよび他の種類のピクチャーに圧縮し、伸長した前記Ｂピクチャーを、伸長した前記Ｂピクチャーの前後のピクチャーを用いてフィルタリングするフィルタ装置であって、
各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分の絶対値の総和それぞれを算出する絶対値総和算出手段と、
各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分値の総和それぞれを算出する差分値総和算出手段と、
各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分値それぞれを算出する差分値算出手段と、
算出した前記絶対値総和が少なくともフィルタリング後のＳ／Ｎ比の改善量を示す第１のしきい値未満、および、前記差分値の総和の絶対値が少なくともフィルタリング後のＳ／Ｎ比の改善量を示す第２のしきい値未満である場合に、伸長した前記Ｂピクチャーの画素の内、算出した前記差分値の絶対値が量子化値を所定の係数で除算した第３のしきい値未満であるという条件を満たす画素を検出する画素検出手段と、
検出した前記画素に対してのみ、伸長した前記前後のピクチャーの画素を用いたフィルタリングを行うフィルタリング手段と
を有するフィルタ装置。
【請求項２】
マクロブロックごと、複数の映像データをＢピクチャーおよび他の種類のピクチャーに圧縮し、伸長した前記Ｂピクチャーを、伸長した前記Ｂピクチャーの前後のピクチャーを用いてフィルタリングするフィルタリング方法であって、
各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分の絶対値の総和それぞれを算出し、
各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分値の総和それぞれを算出し、
各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分値それぞれを算出し、
算出した前記絶対値総和が少なくともフィルタリング後のＳ／Ｎ比の改善量を示す第１のしきい値未満、および、前記差分値の総和の絶対値が少なくともフィルタリング後のＳ／Ｎ比の改善量を示す第２のしきい値未満である場合に、伸長した前記Ｂピクチャーの画素の内、算出した前記差分値の絶対値が量子化値を所定の係数で除算した第３のしきい値未満であるという条件を満たす画素を検出し、
検出した前記画素に対してのみ、伸長した前記前後のピクチャーの画素を用いたフィルタリングを行う
フィルタリング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＭＰＥＧ等の圧縮符号化方式により、前後のピクチャーと相関を有するように圧縮符号化されたＢピクチャーを伸長復号した後に、伸長復号されたＢピクチャーを、その前後のピクチャーを用いてフィルタリングを行い、映像の品質を高めるフィルタ装置およびフィルタリング方法に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
動画の映像データを圧縮符号化するために、離散コサイン変換（ＤＣＴ）および量子化処理を行うＭＰＥＧ等の方式が用いられる。しかしながら、ＭＰＥＧ等の方式ににより圧縮符号化された映像データを伸長復号した場合、ある程度の映像品質の劣化は避けられない。
【０００３】
伸長復号後の映像品質の劣化防止は、例えば特開平８−２６５７７５号公報に開示されているように、フィルタリングの対象となるピクチャーの伸長復号後の映像データを、他のピクチャーの伸長復号後の映像データを用いて時間的にフィルタリングすることによっても可能である。
【０００４】
しかしながら、動画の映像データは必ずしも経時的に連続して変化するとは限らない。例えば、動画のシーンの境界部分（シーンチェンジ部分）の映像データは、時間的に不連続であり、シーンチェンジ部分で時間的に映像データのフィルタリングを行うと、異なるシーンの映像データが混じり合ってしまい、却って映像の品質が低下してしまう。
【０００５】
本発明は、上述の従来技術の問題点に鑑みてなされたものであり、伸長復号後の映像データを時間的にフィルタリングすることにより映像品質を向上させることができるフィルタ装置およびフィルタリング方法を提供することを目的とする。
また、本発明は、動画のシーンの境界部分の映像データに対して時間的なフィルタリングを行っても、異なるシーンの不連続な映像データが混じり合うことに起因する映像品質の劣化が生じないフィルタ装置およびフィルタリング方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明によれば、マクロブロックごと、複数の映像データをＢピクチャーおよび他の種類のピクチャーに圧縮し、伸長した前記Ｂピクチャーを、伸長した前記Ｂピクチャーの前後のピクチャーを用いてフィルタリングするフィルタ装置であって、各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分の絶対値の総和それぞれを算出する絶対値総和算出手段と、各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分値の総和それぞれを算出する差分値総和算出手段と、各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分値それぞれを算出する差分値算出手段と、算出した前記絶対値総和が少なくともフィルタリング後のＳ／Ｎ比の改善量を示す第１のしきい値（Ｍae) 未満、および、前記差分値の総和の絶対値が少なくともフィルタリング後のＳ／Ｎ比の改善量を示す第２のしきい値（ＤＣth) 未満である場合に、伸長した前記Ｂピクチャーの画素の内、算出した前記差分値の絶対値が量子化値（Ｑ）を所定の係数（α）で除算した第３のしきい値（Ｑ／α）未満であるという第２の条件を満たす画素を検出する画素検出手段と、検出した前記画素に対してのみ、伸長した前記前後のピクチャーの画素を用いたフィルタリングを行うフィルタリング手段とを有するフィルタ装置が提供される。
【０００９】
本発明に係るフィルタ装置は、例えば、編集により複数の場面（シーン）をつなぎ合わせて１つの番組の映像データとし、たとえば、マクロブロックごとに、ＭＰＥＧ方式により圧縮符号化したＩピクチャー、ＰピクチャーおよびＢピクチャーの内、Ｂピクチャーを伸長復号して得られた画素を、この画素と、前後のピクチャーを伸長復号して得られた対応する画素との加重平均を算出し、時間的にフィルタリングする。
【００１０】
本発明に係るフィルタ装置において、絶対値総和算出手段は、例えば、伸長復号したＢピクチャーの画素値Ｃi と、伸長復号したその前後のピクチャーの対応する画素値Ｆi ，Ｂi それぞれとの差分の絶対値の総和（Σ｜Ｆi −Ｃi ｜，Σ｜Ｂi −Ｃi ｜）を、たとえば、マクロブロックごとに算出する。この差分の絶対値の総和の値は、Ｂピクチャーと前後のピクチャーとの間の動き補償が適切に行われているか、あるいは、シーンの境界部分（シーンチェンジ部分）における映像の動きの不連続、映像の変形および回転等に起因して、Ｂピクチャーと前後のピクチャーとの間の動き補償が適切に行われていないかを、例えばマクロブロック単位に指標する。
【００１１】
差分値総和算出手段は、例えば、伸長復号したＢピクチャーの画素値Ｃi と、伸長復号した前後のピクチャーの対応する画素値Ｆi ，Ｂi との差分の総和（｜ΣＦi −Ｃi ｜，｜ΣＢi −Ｃi ｜）を、たとえば、マクロブロックごとに算出する。この差分の総和もまた、Ｂピクチャーと前後のピクチャーとの間の動き補償が適切に行われているか、あるいは、輝度のシフトおよびシーンチェンジに起因して、Ｂピクチャーと前後のピクチャーとの間の動き補償が適切に行われていないかを、例えばマクロブロック単位に指標する。
【００１２】
差分値算出手段は、例えば、伸長復号したＢピクチャーの画素値Ｃi と、伸長復号した前後のピクチャーの対応する画素値Ｆi ，Ｂi との差分値（｜Ｆi −Ｃi ｜，｜Ｂi −Ｃi ｜）を画素ごとに算出する。この差分は、Ｂピクチャーと前後のピクチャーとの間の動き補償が適切に行われているか否かを画素単位に指標する。
【００１３】
画素検出手段は、例えば、絶対値総和算出手段が算出した絶対値総和（Σ｜Ｆi −Ｃi ｜，Σ｜Ｂi −Ｃi ｜）と、第１のしきい（閾）値Ｍａｅthとを比較し、これらの絶対値総和のいずれもが第１の閾値Ｍａｅth未満であり、差分値総和算出手段が算出した差分値総和（｜ΣＦi −Ｃi ｜，｜ΣＢi −Ｃi ｜）と、第２の閾値ＤＣthとを比較し、これらの差分値総和のいずれもが第２のしきい（閾）値ＤＣth未満であるという第１の条件を満たすマクロブロックに含まれ、差分値算出手段が算出した差分値（｜Ｆi −Ｃi ｜，｜Ｂi −Ｃi ｜）のいずれもが、量子化値Ｑを所定の係数αで除算した第３のしきい（閾）値（Ｑ／α）未満であるという第２の条件を満たす画素を検出する。
フィルタリング手段は、例えば、上記第１の条件および第２の条件を満たすと検出された画素値Ｃi と前後の画素値Ｆi ，Ｂi とを加重平均してフィルタリングを行う。
【００１４】
また、本発明によれば、マクロブロックごと、複数の映像データをＢピクチャーおよび他の種類のピクチャーに圧縮し、伸長した前記Ｂピクチャーを、伸長した前記Ｂピクチャーの前後のピクチャーを用いてフィルタリングするフィルタリング方法であって、各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分の絶対値の総和それぞれを算出し、各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分値の総和それぞれを算出し、各マクロブロックごと、伸長した前記Ｂピクチャーの画素と、伸長した前記前後のピクチャーの対応する画素との差分値それぞれを算出し、算出した前記絶対値総和が少なくともフィルタリング後のＳ／Ｎ比の改善量を示す第１のしきい値未満、および、前記差分値の総和の絶対値が少なくともフィルタリング後のＳ／Ｎ比の改善量を示す第２のしきい値未満である場合に、伸長した前記Ｂピクチャーの画素の内、算出した前記差分値の絶対値が量子化値を所定の係数で除算した第３のしきい値未満であるという第２の条件を満たす画素を検出し、検出した前記画素に対してのみ、伸長した前記前後のピクチャーの画素を用いたフィルタリングを行うフィルタリング方法が提供される。
【００１７】
【発明の実施の形態】
第１実施形態
以下、本発明の第１の実施形態を説明する。
図１は、第１の実施形態における本発明に係るフィルタ装置１２が適応される伸長復号装置１の構成を示す図である。
図１に示すように、伸長復号装置１はデコーダ回路１０とフィルタ装置１２とから構成される。
【００１８】
デコーダ回路１０は、これらの構成部分により、例えばＭＰＥＧ方式により圧縮符号化された圧縮映像データを伸長復号した映像データの内、フィルタ装置１２によるフィルタリングの対象となるピクチャーの映像データ（カレントデータ）Ｓ１０ｂ、カレントデータＳ１０ｂの直前のピクチャーの映像データ（フォワードデータ）Ｓ１０ａ、カレントデータＳ１０ｂの直後のピクチャーの映像データ（バックワードデータ）Ｓ１０ｃを、４×８画素のマクロブロックごとにフィルタ装置１２に対して出力する。
【００１９】
また、デコーダ回路１０は、カレントデータＳ１０ｂが、Ｉピクチャー、ＰピクチャーおよびＢピクチャーのいずれであるか、および、フィルタ装置１２に入力されているマクロブロックの量子化値Ｑ等を示すピクチャータイプ信号Ｓ１０ｄをフィルタ装置１２に対して出力する。
【００２０】
図２は、図１に示したフィルタ装置１２の構成を示す図である。
図２に示すように、フィルタ装置１２は、減算回路１２０，１２２、絶対値回路（ＡＢＳ）１２４，１２６、境界値算出回路（ＬＩＭＩＴ）１２８、判定回路（ＢＣＭＰ）１３０，１３２、カウンタ回路１３４，１３６、動き補償判定回路（ＶＢＣＭＰ）１３８，１４０およびフィルタ１４２から構成される。
【００２１】
フィルタ装置１２は、これらの構成部分により、ピクチャータイプ信号Ｓ１０ｄに基づいて、デコーダ回路１０に入力された圧縮映像データの内、Ｂピクチャーに対応する映像データが上記カレントデータＳ１０ｂとして入力された場合に、フォワードデータＳ１０ａおよびバックワードデータＳ１０ｃを用いてカレントデータＳ１０ｂをフィルタリングし、フィルタリングデータＣ’として出力する。
【００２２】
制御回路１４４は、デコーダ回路１０から入力されたピクチャータイプ信号Ｓ１０ｄおよび外部から設定されるデータに基づいて、フィルタ装置１２の各構成部分を制御し、境界値算出回路１２８に量子化値Ｑ、制限値Ｌおよび制御値αを設定し、動き補償判定回路１３８，１４０に対して境界計数ＶＣを設定する。
【００２３】
減算回路１２０は、それぞれデコーダ回路１０から入力されたカレントデータＳ１０ｂの画素の映像データそれぞれから、これに対応するフォワードデータＳ１０ａの画素の映像データを減算し、減算結果Ｓ１２０を絶対値回路１２４に対して出力する。
減算回路１２０は、それぞれデコーダ回路１０から入力されたカレントデータＳ１０ｂの画素の映像データそれぞれから、これに対応するバックワードデータＳ１０ｃの画素の映像データを減算し、減算結果Ｓ１２２を絶対値回路１２６に対して出力する。
【００２４】
絶対値回路１２４は、減算回路１２０から入力された減算結果Ｓ１２０の絶対値を算出し、絶対値Ｓ１２４を判定回路１３０に対して出力する。
絶対値回路１２６は、減算回路１２２から入力された減算結果Ｓ１２２の絶対値を算出し、絶対値Ｓ１２６を判定回路１３２に対して出力する。
境界値算出回路１２８は、制御回路１４４から設定された制限値Ｌ、量子化値Ｑおよび制御値αを用いて式１に示す演算を行って境界値ＢＯを生成する。なお、制御値αおよび制限値Ｌとしては、例えば実験等により予め求めたカレントデータＳ１０ｂの画質を向上させるために適した値を設定する。
【００２５】
【数１】
ＢＯ  ＝  Ｍｉｎ（Ｑ／α，Ｌ）                            …（１）
ただし、Ｍｉｎ（ａ，ｂ）は、ａ，ｂの内、値が小さい方を示す。
【００２６】
判定回路１３０は、境界値算出回路１２８から入力される境界値ＢＯと、絶対値回路１２４から入力された絶対値Ｓ１２４とを比較して、絶対値Ｓ１２４が境界値ＢＯよりも小さい場合（ＢＯ＞Ｓ１２４）に判定結果ＤＦを論理値１（真）とし、これ以外の場合には判定結果ＤＦを論理値０（偽）として、カウンタ回路１３４およびフィルタ１４２に対して出力する。
判定回路１３２は、境界値算出回路１２８から入力される境界値ＢＯと、減算回路１２６から入力された絶対値Ｓ１２６とを比較して、絶対値Ｓ１２６が境界値ＢＯよりも小さい場合（ＢＯ＞Ｓ１２６）に判定結果ＤＢを論理値１とし、これ以外の場合には判定結果ＤＢを論理値０として、カウンタ回路１３６およびフィルタ１４２に対して出力する。
【００２７】
判定回路１３０，１３２それぞれの判定結果ＤＦ，ＤＢは、それぞれカレントデータＳ１０ｂのその画素の映像データと、フォワードデータＳ１０ａおよびバックワードデータＳ１０ｃの対応する画素の画素データとの間の相関を示しており、これらの論理値１は相関が大きいことを意味し、論理値０は相関が小さいことを意味する。
【００２８】
カウンタ回路１３４は、判定回路１３０の判定結果ＤＦが論理値１となるカレントデータＳ１０ｂの画素の数をマクロブロックごとに計数し、計数値Ｓ１３４として動き補償判定回路１３８に対して出力する。
カウンタ回路１３６は、判定回路１３２の判定結果ＤＢが論理値１となるカレントデータＳ１０ｂの画素の数をマクロブロックごとに計数し、計数値Ｓ１３６として動き補償判定回路１３８に対して出力する。
【００２９】
動き補償判定回路１３８は、計数値Ｓ１３４と境界計数ＶＣとをマクロブロックごとに比較し、計数値Ｓ１３４が境界計数ＶＣよりも小さい場合（ＶＣ＞Ｓ１３４）に判定結果ＶＤＦを論理値１とし、これ以外の場合に判定結果ＶＤＦを論理値０としてフィルタ１４２に対して出力する。
動き補償判定回路１４０は、計数値Ｓ１３６と境界計数ＶＣとをマクロブロックごとに比較し、計数値Ｓ１３６が境界計数ＶＣよりも小さい場合（ＶＣ＞Ｓ１３６）に判定結果ＶＤＢを論理値１とし、これ以外の場合に判定結果ＶＤＦを論理値０としてフィルタ１４２に対して出力する。
【００３０】
動き補償判定回路１３８，１４０において用いられる境界計数ＶＣの値も、カレントデータＳ１０ｂがＩピクチャー、ＰピクチャーおよびＢピクチャーのいずれかに応じて、予め実験等により好適なフィルタリング特性を得ることができる値に設定される。但し、第１の実施形態に示すフィルタ装置１２のように、Ｂピクチャーのみに対してフィルタリングを行う場合には、Ｂピクチャーに対応する１つの値のみでよい。
【００３１】
動き補償判定回路１３８，１４０の判定結果ＶＤＦ，ＶＤＢは、それぞれカレントデータＳ１０ｂのマクロブロックと、フォワードデータＳ１０ａおよびバックワードデータＳ１０ｃの対応するマクロブロックとの相関、つまり、これらのマクロブロック間でなされた動き補償が適切なものか否かを示しており、判定結果ＶＤＦ，ＶＤＢの論理値１は動き補償が適切であったことを意味し、論理値０は動き補償が不適切であったことを示す。
【００３２】
フィルタ１４２は、フォワードデータＳ１０ａおよびバックワードデータＳ１０ｃまたはこれらのいずれかを用いて、カレントデータＳ１０ｂをフィルタリングし、フィルタリングデータＣ’として出力する。つまり、フィルタ１４２は、表１に示すようにフォワードデータＳ１０ａ、バックワードデータＳ１０ｃおよびカレントデータＳ１０ｂを重み付けし、式２に示す演算を行って加重平均を算出する。なお、表１のいずれの場合にも該当しない場合には、フィルタ１４２は入力されたカレントデータＳ１０ｂをそのままフィルタリングデータＣ’として出力する。
【００３３】
【数２】
Ｃ’＝[F×D(S10a) ＋ C×D(S10b) ＋ B×D(S10c) 〕／４        …（２）
ただし、D(S10a) ，D(S10b) ，D(S10c) は、それぞれＳ１０ａ〜Ｓ１０ｃの画素ごとの映像データの値である。
【００３４】
このように、ピクチャー間の映像データの加重平均を算出することは、カレントデータＳ１０ｂを時間的にローパスフィルタによりフィルタリングすることと等価でありカレントデータＳ１０ｂをそのまま映像化した場合に比べてノイズ等が少なくなるので画質が向上する。さらに、表１に示すように重み付けを行うことにより、動き補償が適切に行われなかったマクロブロック間の加重平均および相関が小さい画素間の加重平均の算出によるフィルタリングを防止することができるので、フィルタ装置１２によるフィルタリングの結果、フィルタリングデータＣ’の画質が低下してしまうことはない。
【００３５】
【表１】
0003861347.tif 000002
ただし、表１中、×は、don't careを示し、
Ｆ，Ｃ，Ｂは、それぞれＳ１０ａ〜Ｓ１０ｃの重み付け計数を示す。
【００３６】
第２実施形態
以下、本発明の第２の実施形態を説明する。
第１の実施形態に示した伸長復号装置１のフィルタ装置１２（図１，図２）によれば、Ｂピクチャーから再生されたカレントデータＳ１０ｂを、フォワードデータＳ１０ａおよびバックワードデータＳ１０ｃを用いてフィルタリングすることにより映像の品質を向上させることができる。
【００３７】
しかしながら、伸長復号装置１に入力される圧縮映像データが複数の場面（シーン）を編集した１つの番組の映像データを圧縮符号化したものである場合には、シーンの境界部分（シーンチェンジ）の部分で時間方向に不連続が生じる。従って、カレントデータＳ１０ｂを、フォワードデータＳ１０ａおよびバックワードデータＳ１０ｃを用いてフィルタリングすると、相関を有さないピクチャー同士のデータが混じり合ってしまう。
【００３８】
つまり、フィルタリングデータＣ’において、シーンチェンジ直前のカレントデータＳ１０ｂと、シーンチェンジ直後のバックワードデータＳ１０ｃとが、あるいは逆に、シーンチェンジ直後のカレントデータＳ１０ｂと、シーンチェンジ直前のフォワードデータＳ１０ａとが混じることとなり、却ってシーンチェンジ部分の映像データの品質が低下してしまう。
第２の実施形態は、このような不具合を解決するためになされたものであり、伸長復号した映像データに対してフィルタリングを行って品質の向上を図るとともに、シーンチェンジ部分等の部分でフィルタリングを止めて映像品質の劣化を防止するように構成されている。
【００３９】
図３は、第２の実施形態における本発明に係るフィルタ装置２０の構成を示す図である。なお、図３においては、ピクチャータイプ信号Ｓ１０ｄおよび制御回路１１４は、説明および図示の簡略化のために省略されている。
図３に示すように、フィルタ装置２０は、判定部２２およびフィルタ部２６から構成される。
【００４０】
判定部２２は、符号反転回路２００、加算器２０２，２０４、絶対値回路２０６，２０８、比較回路（＜Ｑ／α）２１０，２１２、ＦＩＦＯ２１４，２１６、加算器２１８，２２２、遅延回路（Ｄ）２２０，２２４、比較回路（＜Ｍａｅth）２２６，２２８、加算器２３０，２３２、遅延回路（Ｄ）２３４，２３６、絶対値回路２３８，２４０、比較回路（＜ＤＣth）２４２，２４４および論理積回路２４６から構成される。
フィルタ部２６は、加算器２６０，２６２、加算器２６４、丸め回路２６６、ＦＩＦＯ２６８，２７０およびセレクタ回路２８から構成される。
【００４１】
フィルタ装置２０は、伸長復号装置１（図１）においてフィルタ装置１２（図１，図２）と置換されて用いられ、これらの構成部分により、第１の実施形態に示したフィルタ装置１２と同様に、Ｂピクチャーを伸長復号して得られた画素データ（カレントデータＳ１０ａ）と、このＢピクチャーの前後のピクチャーを伸長復号して得られた対応するピクチャー（フォワードデータＳ１０ａ，バックワードデータＳ１０ｂ）との加重平均値を算出することにより、カレントデータＳ１０ａをフィルタリングする。
【００４２】
フィルタ装置２０の判定部２２において、符号反転回路２００は、デコーダ回路１０から入力されるカレントデータＳ１０ｂ（Ｃi ）の符号を反転し、加算器２０２，２０４に対して出力する。
加算器２０２は、符号反転回路２００から入力される符号が反転されたカレントデータＳ１０ａ（−Ｃi ）とフォワードデータＳ１０ａ（Ｆi ）とを加算し、加算値（Ｆi −Ｃi ；差分値）を絶対値回路２０６および加算器２３０に対して出力する。
加算器２０４は、符号反転回路２００から入力される符号が反転されたカレントデータＳ１０ｂ（−Ｃi ）とバックワードデータＳ１０ｃ（Ｂi ）とを加算し、加算値（Ｂi −Ｃi ；差分値）絶対値回路２０８および加算器２３２に対して出力する。
【００４３】
絶対値回路２０６は、加算器２０２から入力される差分値（Ｆi −Ｃi ）の絶対値（｜Ｆi −Ｃi ｜）を算出し、比較回路２１０および加算器２１８に対して出力する。
絶対値回路２０８は、加算器２０４から入力される差分値（Ｂi −Ｃi ）の絶対値（｜Ｂi −Ｃi ｜）を算出し、比較回路２１２および加算器２２２に対して出力する。
【００４４】
比較回路２１０は、絶対値回路２０６が算出した差分値の絶対値（｜Ｆi −Ｃi ｜）と、カレントデータＣi およびフォワードデータＦi の量子化に用いられた量子化値Ｑを所定の係数αで除算した閾値（Ｑ／α）とを比較し、差分値の絶対値（｜Ｆi −Ｃi ｜）が閾値（Ｑ／α）未満である場合（条件２を満たす場合）に出力信号を論理値１（真）とし、差分値の絶対値（｜Ｆi −Ｃi ｜）が閾値（Ｑ／α）以上である場合に出力信号を論理値０（偽）としてＦＩＦＯ２１４に対して出力する。
【００４５】
比較回路２１２は、絶対値回路２０８が算出した差分値の絶対値（｜Ｂi −Ｃi ｜）と、カレントデータＣi およびバックワードデータＢi の量子化に用いられた量子化値Ｑを所定の係数αで除算した閾値（Ｑ／α）とを比較し、差分値の絶対値（｜Ｂi −Ｃi ｜）が閾値（Ｑ／α）未満である場合（条件２を満たす場合）に出力信号を論理値１（真）とし、差分値の絶対値（｜Ｂi −Ｃi ｜）が閾値（Ｑ／α）以上である場合に出力信号を論理値０（偽）としてＦＩＦＯ２１６に対して出力する。
【００４６】
なお、量子化値Ｑの除算に用いられる数値αは、フィルタ装置２０によりフィルタリング後のＳ／Ｎ比の改善量および視覚的主観評価等により決定され、例えば、伸長復号装置１に入力される圧縮映像データが、Ｓ／Ｎ比３０ｄＢ〜４０ｄＢとなるように圧縮符号化されている場合には、ほぼ、１０≦Ｑ／α≦３０という条件を満たす値となる。
【００４７】
ＦＩＦＯ２１４は、比較回路２１０の出力信号をバッファリングし、遅延を与えて、比較回路２１０の出力信号と、比較回路２２６，２２８，２４２，２４４およびＦＩＦＯ２６８，２７０の出力信号とのタイミングを合わせ、論理積回路２４６に対して出力する。
【００４８】
ＦＩＦＯ２１６は、比較回路２１０の出力信号をバッファリングし、遅延を与えて、比較回路２１０の出力信号と、比較回路２２６，２２８，２４２，２４４およびＦＩＦＯ２６８，２７０の出力信号とのタイミングを合わせ、論理積回路２４６に対して出力する。
【００４９】
加算器２１８および遅延回路２２０は、絶対値回路２０６から入力される差分値の絶対値（｜Ｆi −Ｃi ｜）をマクロブロック単位で累加算し、差分値の絶対値の総和（Σ｜Ｆi −Ｃi ｜）を算出して比較回路２２６に対して出力する。
加算器２２２および遅延回路２２４は、絶対値回路２０８から入力される差分値の絶対値（｜Ｂi −Ｃi ｜）をマクロブロック単位で累加算し、差分値の絶対値の総和（Σ｜Ｂi −Ｃi ｜）を算出して比較回路２２８に対して出力する。
【００５０】
比較回路２２６は、加算器２１８および遅延回路２２０から入力される差分値の絶対値の総和（Σ｜Ｆi −Ｃi ｜）と所定の閾値Ｍａｅthとを比較し、差分値の絶対値の総和（Σ｜Ｆi −Ｃi ｜）が閾値Ｍａｅth未満である（条件１−１を満たす）場合に出力信号を論理値１（真）とし、差分値の絶対値の総和（Σ｜Ｆi −Ｃi ｜）が閾値Ｍａｅth以上である場合に出力信号を論理値０（偽）とし、論理積回路２４６に対して出力する。
【００５１】
比較回路２２８は、加算器２１８および遅延回路２２０から入力される差分値の絶対値の総和（Σ｜Ｆi −Ｃi ｜）と所定の閾値Ｍａｅthとを比較し、差分値の絶対値の総和（Σ｜Ｆi −Ｃi ｜）が閾値Ｍａｅth未満である場合（条件１−１を満たす）に出力信号を論理値１（真）とし、差分値の絶対値の総和（Σ｜Ｆi −Ｃi ｜）が閾値Ｍａｅth以上である場合に出力信号を論理値０（偽）とし、論理積回路２４６に対して出力する。
【００５２】
なお、閾値Ｍａｅthは、量子化値Ｑの除算に用いられる数値αと同様に、フィルタ装置２０によりフィルタリング後のＳ／Ｎ比の改善量および視覚的主観評価等により決定され、例えば、下に示す式３−１，３−２に示す条件を満たすように算出され、上記条件１−１が満たされる場合には、カレントデータＣi 、フォワードデータＦi およびバックワードデータＢi の間で、編集による映像の変形、回転、および、シーンチェンジ等に起因する動き補償の誤りが生じていないことを意味する。
【００５３】
【数３】
Ｍａｅav＝Ｍａｅ／Ｎ                              …（３−１）
Ｍａｅavth＝Ｍａｅth／Ｎ                          …（３−２）
但し、数値Ｍａｅは、マクロブロック単位で算出したカレントデータＣi と、
フォワードデータＦi およびバックワードデータＢi との差分値の絶対値の総和であり、
Ｎはマクロブロックの画素数（例えば、６４≦Ｎ≦２５６）であり、
Ｍａｅavthは境界値画素平均（例えば、３≦Ｍａｅavth≦５）である。
【００５４】
また、式３−１，式３−２において、画素数Ｎの値が大きく、差分値の絶対平均値Ｍａｅavのばらつきが少ない場合には、境界値画素平均Ｍａｅavthの値を小さくする方が、シーンチェンジ部分等において動き補償が正しく行われていないことを正確に検出することができ、画素数Ｎの値が小さく、差分値の絶対平均値Ｍａｅavのばらつきが多い場合には、フィルタ部２６のフィルタリングによる映像品質向上の効果を得るために、境界値画素平均Ｍａｅavthの値を大きくする必要がある。
【００５５】
加算器２３０、遅延回路２３４および絶対値回路２３８は、加算器２０２から入力される差分値（Ｆi −Ｃi ）をマクロブロック単位で累加算し、差分値の総和の絶対値〔｜Σ（Ｆi −Ｃi ）〕を算出して比較回路２４２に対して出力する。
加算器２３２、遅延回路２３６および絶対値回路２４０は、加算器２０４から入力される差分値（Ｂi −Ｃi ）をマクロブロック単位で累加算し、差分値の総和の絶対値〔｜Σ（Ｆi −Ｃi ）〕を算出して比較回路２４４に対して出力する。
【００５６】
比較回路２４２は、加算器２３０、遅延回路２３４および絶対値回路２３８か入力される差分値の総和の絶対値〔｜Σ（Ｆi −Ｃi ）〕と、所定の閾値ＤＣthとを比較し、差分値の総和の絶対値〔｜Σ（Ｆi −Ｃi ）〕が閾値ＤＣth未満である場合（条件１−２を満たす場合）に出力信号を論理値１（真）とし、差分値の総和の絶対値〔｜Σ（Ｆi −Ｃi ）〕が閾値ＤＣth以上である場合に出力信号を論理値０（偽）とし、論理積回路２４６に対して出力する。
【００５７】
比較回路２４４は、加算器２３２、遅延回路２３６および絶対値回路２４０か入力される差分値の総和の絶対値〔｜Σ（Ｂi −Ｃi ）〕と、所定の閾値ＤＣthとを比較し、差分値の総和の絶対値〔｜Σ（Ｂi −Ｃi ）〕が閾値ＤＣth未満である場合（条件１−２を満たす場合）に出力信号を論理値１（真）とし、差分値の総和の絶対値〔｜Σ（Ｂi −Ｃi ）〕が閾値ＤＣth以上である場合に出力信号を論理値０（偽）とし、論理積回路２４８に対して出力する。
【００５８】
なお、閾値ＤＣthは、量子化値Ｑの除算に用いられる数値αおよび閾値Ｍａｅthと同様に、フィルタ装置２０によりフィルタリング後のＳ／Ｎ比の改善量および視覚的主観評価等により決定され、例えば、式４−１，式４−２に示す条件を満たし、上記条件１−２が満たされるということは、カレントデータＣi 、フォワードデータＦi およびバックワードデータＢi の間で、輝度のシフトおよびシーンチェンジ等に起因する動き補償の誤りが生じていないことを意味する。
【００５９】
【数４】
ＤＣth＝ＤＣ／Ｎ                                  …（４−１）
ＤＣavth＝ＤＣth／Ｎ                              …（４−２）
但し、数値ＤＣは、マクロブロック単位で算出したカレントデータＣi のＤＣＴ係数の直流（ＤＣ）の絶対値の総和であり、
Ｎはマクロブロックの画素数（例えば、６４≦Ｎ≦２５６）であり、
ＤＣavthは境界値画素平均（例えば、３≦Ｍａｅavth≦６）である。
【００６０】
論理積回路２４６は、ＦＩＦＯ２１４，２１６、比較回路２２６，２２８および比較回路２４２，２４４から入力される信号の全てが論理値１（真）である場合に、出力信号を論理値１（真）とし、セレクタ回路２８に対して出力する。
【００６１】
フィルタ部２６において、加算器２６０，２６２，２６４および丸め回路２６６は、例えば、式５に示すカレントデータＣi 、フォワードデータＦi およびバックワードデータＢi の加重平均値Ａを算出する演算により、カレントデータＣi に対してフィルタリング処理を行い、ＦＩＦＯ２６８に対して出力する。
【００６２】
【数５】
Ａ＝（２Ｃi ＋Ｆi ＋Ｂi ）／４                              …（５）
【００６３】
なお、式５において、カレントデータＣi 、フォワードデータＦi およびバックワードデータＢi の重み付けを２：１：１とした理由は、主にハードウェアの構成が簡単になるためである。
【００６４】
ＦＩＦＯ２６８は、加算器２６０，２６２，２６４および丸め回路２６６から入力される加重平均値Ａをバッファリングし、遅延を与えてＦＩＦＯ２１４，２１６、比較回路２２６，２２８，２４２，２４４の出力信号とのタイミングを合わせ、セレクタ回路２８の入力端子ａに対して出力する。
ＦＩＦＯ２７０は、デコーダ回路１０から入力されるカレントデータＣi をバッファリングし、遅延を与えてＦＩＦＯ２１４，２１６、比較回路２２６，２２８，２４２，２４４の出力信号とのタイミングを合わせ、セレクタ回路２８の入力端子ａに対して出力する。
【００６５】
セレクタ回路２８は、論理積回路２４６の出力信号が論理値１（真）である場合に、入力端子ａに入力される加重平均値Ａ（式５）を選択し、論理値０（偽）である場合に、入力端子ｂに入力されるカレントデータＣi を選択し、フィルタリングデータとして出力する。
【００６６】
以下、フィルタ装置２０の動作を説明する。
判定部２２において、符号反転回路２００、加算器２０２，２０４、絶対値回路２０６，２０８、比較回路２１０，２１２およびＦＩＦＯ２１４，２１６は、デコーダ回路１０から入力されるカレントデータＣi 、フォワードデータＦi およびバックワードデータＢi が、上記条件２を満たすか否かを判定し、条件２の判定結果と、他の条件（条件１−１，条件１−２）の判定結果とのタイミングを合わせて論理積回路２４６に対して出力する。
【００６７】
符号反転回路２００、加算器２０２，２０４、絶対値回路２０６，２０８、加算器２１８，２２２、遅延回路２２０，２２４および比較回路２２６，２２８は、デコーダ回路１０から入力されるカレントデータＣi 、フォワードデータＦi およびバックワードデータＢi が、上記条件１−１を満たすか否かを判定し、判定結果を論理積回路２４６に対して出力する。
【００６８】
符号反転回路２００、加算器２０２，２０４、加算器２３０，２３２、遅延回路２３４，２３６、絶対値回路２３８，２４０および比較回路２４２，２４４は、デコーダ回路１０から入力されるカレントデータＣi 、フォワードデータＦi およびバックワードデータＢi が、上記条件１−２を満たすか否かを判定し、判定結果を論理積回路２４６に対して出力する。
【００６９】
加算器２６０，２６２，２６４、丸め回路２６６およびＦＩＦＯ２６８は、デコーダ回路１０から入力されるカレントデータＣi 、フォワードデータＦi およびバックワードデータＢi の加重平均値Ａ（式５）を算出することによりカレントデータＣi をフィルタリングし、論理積回路２４６の出力信号（条件１−１、条件１−２および条件２の判定結果）とのタイミングを合わせてセレクタ回路２８の入力端子ａに対して出力する。
ＦＩＦＯ２７０は、デコーダ回路１０から入力されるカレントデータＣi と、論理積回路２４６の出力信号とのタイミングを合わせてセレクタ回路２８の入力端子ｂに対して出力する。
【００７０】
論理積回路２４６は、上記条件１−１、条件１−２および条件２の全てが満たされている場合にのみ出力信号を論理値１としてセレクタ回路２８を制御して、入力端子ａに入力される加重平均値Ａを選択させ、これ以外の場合には入力端子ｂに入力されるカレントデータＣi を選択させ、フィルタリングデータＳ２０として出力させる。
【００７１】
以上説明したように、フィルタ装置２０によれば、マクロブロックごとに上記条件１−１および条件１−２を判定することにより、マクロブロックそれぞれに対してフィルタリングを行うか否かを決定することができ、正しい動き補償がなされ、フィルタリングに適したカレントデータＣi のマクロブロックに対してのみ、適応的にフィルタリングを行うことができるので、動き量が偶然にＤＣＴブロック（マクロブロック）の整数倍となる等の非常に稀な場合を除き、正しく動き補償されたマクロブロックのみをフィルタリングすることができる。
【００７２】
また、フィルタ装置２０によれば、画素ごとに上記条件２を判定することにより、画素それぞれがフィルタリングに適しているか否かを判断して、適応的にきめ細かいフィルタリングを行うことができる。
この結果、ＤＣＴ処理により生じる映像のモスキートノイズを軽減することができ、映像のＳ／Ｎ比が向上し、さらに、シーンチェンジ部分でのフィルタの誤動作を防ぐことができる。
【００７３】
なお、本発明に係るフィルタ装置２０の各閾値および係数の値は例示であり、実験等により得られた他の数値に置換することができる。
また、フィルタ装置２０の各構成部分は、同等の機能および性能を実現可能であるかぎり、ハードウェア的に構成されるかソフトウェア的に構成されるかを問わず、他の手段に置換可能である。
【００７４】
【発明の効果】
以上説明したように、本発明に係るフィルタ装置およびフィルタリング方法によれば、伸長復号後の映像データを時間的にフィルタリングすることにより映像品質を向上させることができる。
また、本発明に係るフィルタ装置およびフィルタリング方法によれば、動画のシーンの境界部分の映像データに対して時間的なフィルタリングを行っても、異なるシーンの不連続な映像データが混じり合うことに起因する映像品質の劣化が生じない。
【図面の簡単な説明】
【図１】第１の実施形態における本発明に係るフィルタ装置が適応される伸長復号装置の構成を示す図である。
【図２】図１に示したフィルタ装置の構成を示す図である。
【図３】第２の実施形態における本発明に係るフィルタ装置の構成を示す図である。
【符号の説明】
１…伸長復号装置、１０…デコーダ回路、１２，２０…フィルタ装置、１２０，１２２…減算回路、１２４，１２６…絶対値回路、１２８…境界値算出回路、１３０，１３２…判定回路、１３４，１３６…カウンタ回路、１３８…動き補償判定回路、１４２…フィルタ、１４４…制御回路、２２…判定部、２００…符号反転回路、２０２，２０４，２１８，２２２，２３０，２３２，２６０，２６２，２６４…加算器、２０６，２０８，２３８，２４０…絶対値回路、２１４，２１６，２６８，２７０…ＦＩＦＯ、２２６，２２８，２４２，２４４…比較回路、２４６…論理積回路２４６、２６６…丸め回路、２８…セレクタ回路。
【図１】
0003861347.tif 000003
【図２】
0003861347.tif 000004
【図３】
0003861347.tif 000005