(57)【要約】  本発明に係るフィルタ装置(１)は、ブロックサイズが第１の閾値以上である処理対象ブロックの境界画素の画素値と、境界画素に隣接する隣接画素の画素値との差分絶対値を算出する差分値算出部(１１)と、算出した差分絶対値が第２の閾値よりも小さい場合に、処理対象ブロックと隣接ブロックとの境界近傍に位置する処理対象画素のフィルタ処理前の画素値および隣接画素の画素値に基づいて、処理対象画素のフィルタ処理後の画素値を算出する画素値算出部(１２)と、を備えている。これによって、画像を分割するブロックサイズの大きさに起因する演算量の増加を抑制しつつ、復号画像の画質の劣化を防止するフィルタ装置を提供することができる。
2010001911.tif 000002
【特許請求の範囲】
【請求項１】
サイズの異なる複数のブロックに分割して符号化された画像情報を復号する際に、あるブロックと当該あるブロックに隣接する隣接ブロックとの境界近傍に位置し、かつ、上記あるブロックに属する処理対象画素の画素値を補正するフィルタ装置であって、
上記あるブロックのサイズが第１の閾値以上であるか否かを判定する第１の判定手段と、
上記あるブロックのサイズが上記第１の閾値以上である場合、当該あるブロックに属する少なくとも１つの画素の画素値と、上記隣接ブロックに属する少なくとも１つの画素の画素値とに基づいて、上記処理対象画素の補正後の画素値を算出する画素値算出手段と、
を備えていることを特徴とするフィルタ装置。
【請求項２】
上記画素値算出手段は、上記あるブロックのサイズが上記第１の閾値以上の場合、当該あるブロックのサイズが上記第１の閾値より小さい場合において用いるよりも少ない数の画素を用いて上記処理対象画素の補正後の画素値を算出することを特徴とする請求項１に記載のフィルタ装置。
【請求項３】
上記第１の判定手段において、上記あるブロックのサイズが上記第１の閾値以上であると判定された場合、上記処理対象画素を有する行および列の少なくともいずれかに含まれる上記あるブロック内の画素であり、かつ、上記隣接ブロックに隣接する画素である境界画素の画素値と、上記隣接ブロックにおいて当該境界画素に隣接する隣接画素の画素値との差分絶対値を算出する差分値算出手段をさらに備えており、
上記画素値算出手段は、上記差分値算出手段において算出した差分絶対値が第２の閾値よりも小さい場合、上記処理対象画素の画素値と、上記隣接画素の画素値とに基づいて、当該処理対象画素の補正後の画素値を算出することを特徴とする請求項１または２に記載のフィルタ装置。
【請求項４】
上記画素値算出手段は、上記処理対象画素が、行方向および列方向のいずれの方向においても上記あるブロックと上記隣接ブロックとの境界近傍に位置する場合、上記行方向の境界画素に隣接する隣接画素の画素値、および、上記列方向の境界画素に隣接する隣接画素の画素値を、上記隣接画素の画素値として用いることを特徴とする請求項３に記載のフィルタ装置。
【請求項５】
上記処理対象画素として設定される画素の範囲は、上記あるブロックのサイズに応じて定められることを特徴とする請求項１から４のいずれか１項に記載のフィルタ装置。
【請求項６】
上記処理対象画素は、上記あるブロックの各行に含まれる画素の方向に隣接する画素間の画素値の差分絶対値、または、上記あるブロックの各列に含まれる画素の列方向に隣接する画素間の画素値の差分絶対値を用いて設定されることを特徴とする請求項１から４のいずれか１項に記載のフィルタ装置。
【請求項７】
上記あるブロックに隣接する隣接ブロックのサイズを判定する第２の判定手段をさらに備えており、
上記画素値算出手段は、上記第２の判定手段において判定された隣接ブロックのサイズに応じて、フィルタ強度を変更するように構成されていることを特徴とする請求項１から６のいずれか１項に記載のフィルタ装置。
【請求項８】
上記あるブロックの各行に含まれる画素のうち、上記隣接ブロックに隣接する境界画素から、行方向に隣接する画素間の画素値の差分絶対値が最初に第３の閾値以上となる画素まで、または、上記あるブロックの各列に含まれる画素のうち、上記隣接ブロックに隣接する境界画素から、列方向に隣接する画素間の画素値の差分絶対値が最初に第３の閾値以上となる画素までを上記処理対象画素とすることを特徴とする請求項６に記載のフィルタ装置。
【請求項９】
上記第２の判定手段は、上記あるブロックのサイズが上記第１の閾値よりも小さい場合、上記あるブロックに隣接するいずれかの隣接ブロックのサイズが上記第１の閾値以上であるか否かを判定し、
上記画素値算出手段は、上記隣接ブロックのいずれかのサイズが上記第１の閾値以上である場合、上記隣接ブロックのサイズがいずれも上記第１の閾値より小さい場合と比べてフィルタ強度が強くなるように構成されていることを特徴とする請求項７に記載のフィルタ装置。
【請求項１０】
上記画素値算出手段は、下記式（１）を用いて上記処理対象画素の補正後の画素値を算出することを特徴とする請求項３に記載のフィルタ装置。
Ｗ１×ｐ＋Ｗ２×ｑ／（Ｗ１＋Ｗ２）・・・（１）
（上記式（１）中、ｐは上記処理対象画素の画素値、ｑは上記隣接画素の画素値、Ｗ１およびＷ２は所定の重み付け係数を示す）
【請求項１１】
上記画素値算出手段は、下記式（２）を用いて上記処理対象画素の補正後の画素値を算出することを特徴とする請求項４に記載のフィルタ装置。
ＷＰ×ｐ＋ＷＨ×ｑ＋ＷＶ×ｒ／（ＷＰ＋ＷＨ＋ＷＶ）・・・（２）
（上記式（２）中、ｐは上記処理対象画素の画素値、ｑは行方向の境界画素に隣接する隣接画素の画素値、ｒは列方向の境界画素に隣接する隣接画素の画素値、ＷＰ、ＷＨおよびＷＶは所定の重み付け係数を示す）
【請求項１２】
サイズの異なる複数のブロックに分割して符号化された画像情報を復号する際に、あるブロックと当該あるブロックに隣接する隣接ブロックとの境界近傍に位置し、かつ、上記あるブロックに属する処理対象画素の画素値を補正するフィルタ処理方法であって、
上記あるブロックのサイズが第１の閾値以上であるか否かを判定する第１の判定ステップと、
上記あるブロックのサイズが上記第１の閾値以上である場合、上記処理対象画素を有する行および列の少なくともいずれかに含まれる上記あるブロック内の画素であって、かつ、上記隣接ブロックに隣接する画素である境界画素の画素値と、上記隣接ブロックにおいて当該境界画素に隣接する隣接画素の画素値との差分絶対値を算出する差分値算出ステップと、
算出した上記差分絶対値が第２の閾値よりも小さい場合、上記処理対象画素の画素値と、上記隣接画素の画素値とに基づいて、当該処理対象画素の補正後の画素値を算出する画素値算出ステップと、
を含むことを特徴とするフィルタ処理方法。
【請求項１３】
サイズの異なる複数のブロックごとに分割して符号化された画像情報を復号する復号装置であって、請求項１から１１のいずれか１項に記載のフィルタ装置を備えていることを特徴とする復号装置。
【請求項１４】
画像情報をサイズの異なる複数のブロックに分割して符号化する符号化装置であって、請求項１から１１のいずれか１項に記載のフィルタ装置を備えていることを特徴とする符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるサイズのブロックに分割して符号化された画像情報を復号する際に生じるブロックノイズを除去するフィルタ装置に関する。
【背景技術】
【０００２】
画像符号化技術は、テレビジョン受像機から画像処理の可能な携帯電話まで、身近にある多くの映像機器に応用されている。【０００３】
画像符号化技術の分野では、一般的には、画像データ（画像情報）を複数のブロックに分割し、分割したブロック単位で直交変換を行い、得られた変換係数を量子化したうえで、量子化された変換係数の可変長符号化により符号化する。このような符号化方法では、量子化において情報が損失することにより、画像に劣化が生じる。特には、直交変換を実行する単位である各ブロックの境界において生じる大きな歪み（いわゆる、ブロックノイズ）により、画像に大きな劣化が生じやすい。画像符号化処理において各ブロックの境界にブロックノイズが生じると、符号化された画像を復号した際にもブロックノイズが生じるため、画像を視聴するユーザーが不自然さを感じ易くなる。したがって、一般的な画像復号装置（または画像符号化装置）では、ブロックノイズを除去するために、各ブロックの境界に生じるブロックノイズをフィルタ処理するフィルタ装置が利用されている。【０００４】
非特許文献１には、基本的なフィルタ処理技術について開示されている。非特許文献１に記載のフィルタ処理技術について、図１６を参照しつつ以下に説明する。図１６は、ブロック境界における画素および当該画素の画素値を模式的に示した図である。【０００５】
図１６では、画素値ｐ０である画素Ｐ０と、画素値ｑ０である画素Ｑ０との間がブロックの境界であるとし、境界から離れるに従って、画素Ｐ１、Ｐ２、Ｐ３、および、画素Ｑ１、Ｑ２、Ｑ３としている。また、各画素における画素値を、それぞれ、画素値ｐ１、ｐ２、ｐ３、および、画素値ｑ１、ｑ２、ｑ３としている。すなわち、図１６では、ブロック境界において隣接する２つのブロックのうち、一方のブロックの画素値を画素値ｐｋ（ｋは境界からの距離により定められる値）、他方のブロックの画素値を画素値ｑｋ（ｋは境界からの距離により定められる値）として表している。なお、図１６では、境界が水平方向の境界であるのか、または垂直方向の境界であるのかについては区別していない。【０００６】
また、非特許文献１には、複数のフィルタ処理について開示されているが、本明細書等においては、ＢＳ＝４と称されるモードを利用したフィルタ処理を例に挙げて説明する。【０００７】
ＢＳ＝４では、下記の式（１３）および式（１４）
ｄ＝ＡＢＳ（ｐ０−ｑ０）・・・（１３）
ａｐ＝ＡＢＳ（ｐ２−ｑ０）・・・（１４）
を用いて境界の状態を示す値「ｄ」および「ａｐ」を算出する。【０００８】
次に、フィルタ装置は、算出された「ｄ」および「ａｐ」が、所定の閾値α、βに対して、ｄ＜α、かつ、ａｐ＜βである場合にフィルタ処理を施す。なお、上記の条件を満たさない場合には、処理対象画素に対するフィルタ処理は実行しない。【０００９】
上記の条件を満たす場合、すなわちフィルタ処理を施す場合、フィルタ装置は、図１７の（ａ）および図１７の（ｂ）に示したフィルタ係数（重み付け）に基づいて、フィルタ処理の処理対象となる画素に対してフィルタ処理を施す。すなわち、下記式
ｐ０´＝（ｐ２＋２×ｐ１＋２×ｐ０＋２×ｑ０＋ｑ１）／８
ｐ１´＝（ｐ２＋ｐ１＋ｐ０＋ｑ０）／４                  
ｐ２´＝（２×ｐ３＋３×ｐ２＋ｐ１＋ｐ０＋ｑ０）／８    
ｑ０´＝（ｑ２＋２×ｑ１＋２×ｑ０＋２×ｐ０＋ｐ１）／８
ｑ１´＝（ｑ２＋ｑ１＋ｑ０＋ｐ０）／４                  
ｑ２´＝（２×ｑ３＋３×ｑ２＋ｑ１＋ｑ０＋ｐ０）／８    
を用いて、フィルタ処理後の画素値を算出する。なお、下記式中の画素値ｐ０´、ｐ１´、ｐ２´、ｑ０´、ｑ１´およびｑ２´は、フィルタ処理後の各処理対象画素における画素値を示している。また、図１７の（ａ）および図１７の（ｂ）は、フィルタ処理を施す際の各画素値におけるフィルタ係数を示した図である。【００１０】
このように、非特許文献１には、フィルタ処理の対象となる処理対象画素周辺の画素の画素値と、フィルタ処理の対象となる境界周辺の画素の画素値とを参照することにより、フィルタ処理を施すフィルタ処理方法について開示されている。しかし、非特許文献１に開示されているフィルタ処理方法は、演算量が非常に大きくなる処理であるため、実際のフィルタ処理では、非特許文献１に記載の処理技術を簡略化した技術が利用されている（例えば、特許文献１）。【００１１】
特許文献１に記載のフィルタ処理技術であっても、フィルタ装置は、非特許文献１の開示されているフィルタ処理技術と同様に、フィルタ処理を施す前のブロック境界の状態を示す値を算出する。すなわち、フィルタ装置は、ＡＢＳ（ｐ１−ｑ０）、ＡＢＳ（ｐ０−ｑ０）およびＡＢＳ（ｑ０−ｑ１）を算出する。そして、これらのブロック境界の状態を示す値が所定の閾値未満である場合、フィルタ装置は、フィルタ処理の対象となる処理対象画素に対して、フィルタ処理を施す。なお、これらの値が所定の閾値以上である場合には、処理対象画素に対するフィルタ処理は実行しない。【００１２】
算出したブロック境界の状態を示す値が所定の閾値未満である場合、すなわちフィルタ処理を施す場合、特許文献１に記載のフィルタ装置は、ブロック境界画素の周辺の画素Ｐ１および画素Ｑ１の画素値ｐ１および画素値ｑ１を用いて直線補間を行い、ブロック境界に隣接する画素Ｐ０および画素Ｑ０におけるフィルタ処理後の画素値ｐ０´および画素値ｑ０´を算出する。具体的には、下記式（１５）および式（１６）
ｐ０´＝ｐ１＋（ｐ１−ｑ１）／３・・・（１５）
ｑ０´＝ｑ０＋（ｑ１−ｐ１）／３・・・（１６）
を用いてフィルタ処理後の画素Ｐ０´の画素値ｐ０´および画素Ｑ０´の画素値ｑ０´を算出する。【００１３】
図１８は、特許文献１におけるフィルタ処理を模式的に示した図である。【００１４】
なお、特許文献１には、上述したフィルタ処理技術以外にも、より多くの画素を参照することにより、曲線的な補間を実施する方法についても開示されている。【００１５】
近年、符号化対象画像の高精細化と共に、直交変換を行うブロックのサイズの拡大が検討されている（例えば、非特許文献２参照）。非特許文献２に開示されているように、直交変換を行うブロックのサイズを拡大した場合には、画像の低周波成分、すなわち画像におけるゆるやかな変化が表現し易くなる。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】日本国公開特許公報「特開２００５−３９７６６号公報」（公開日：平成１７年２月１０日）
【非特許文献】
【００１７】
【非特許文献１】ＩＴＵ−Ｔ、「ＩＳＯ／ＩＥＣ１４４９６−１０」、２００３年５月、第１４４〜１５３頁
【非特許文献２】境田慎一ら、「ＡＶＣ／Ｈ．２６４の直交変換サイズ拡張による超高精細映像符号化」、電子情報通信学会総合大会Ｄ−１１−４１（２００６）
【発明の概要】
【発明が解決しようとする課題】
【００１８】
直交変換などの変換を施すブロックのサイズを拡大する場合、直交変換などの変換を施すブロックのサイズに応じたフィルタ処理が必要になる。すなわち、従来よりも大きいサイズのブロックに対してもフィルタ処理を施す必要がある。【００１９】
しかし、非特許文献１に記載のフィルタ処理技術では、フィルタ処理の対象となる処理対象画素周辺の画素における画素値と、フィルタ処理の対象となる境界周辺の画素の画素値とを参照しなければならない。そのため、直交変換を施すブロックのサイズが大きい場合には、従来のブロックサイズであっても膨大であった演算量がより一層膨大となる。すなわち、非特許文献１に記載のフィルタ処理技術は、従来よりも大きいサイズのブロックに対するフィルタ処理の現実的な手段とはなり得ない。【００２０】
また、特許文献１に記載のフィルタ処理方法は、フィルタ処理の対象となる処理対象画素における元々の画素値を考慮することなく補間する方法であるため、フィルタ処理を施す範囲が大きくなった場合には適切な補間ができなくなる。そのため、フィルタ処理を施した復号画像において、依然として画質の劣化が生じてしまうという問題を有している。【００２１】
本発明は、上記の問題点に鑑みてなされたものであり、その主たる目的は、ブロックサイズの大きさに起因する演算量の増加を抑制しつつ、復号される画像の画質の劣化を防止するフィルタ装置を提供することである。
【課題を解決するための手段】
【００２２】
本発明に係るフィルタ装置は、上記課題を解決するために、
サイズの異なる複数のブロックに分割して符号化された画像情報を復号する際に、あるブロックと当該あるブロックに隣接する隣接ブロックとの境界近傍に位置し、かつ、上記あるブロックに属する処理対象画素の画素値を補正するフィルタ装置であって、
上記あるブロックのサイズが第１の閾値以上であるか否かを判定する第１の判定手段と、
上記あるブロックのサイズが上記第１の閾値以上である場合、上記処理対象画素を有する行および列の少なくともいずれかに含まれる上記あるブロック内の画素であり、かつ、上記隣接ブロックに隣接する画素である境界画素の画素値と、上記隣接ブロックにおいて当該境界画素に隣接する隣接画素の画素値との差分絶対値を算出する差分値算出手段と、
算出した上記差分絶対値が第２の閾値よりも小さい場合、上記処理対象画素の画素値と、上記隣接画素の画素値とに基づいて、当該処理対象画素の補正後の画素値を算出する画素値算出手段と、を備えていることを特徴としている。【００２３】
本発明に係るフィルタ装置は、あるブロックのサイズが第１の閾値以上であり、かつ、あるブロックにおける境界画素の画素値と、隣接ブロックにおいて当該境界画素に隣接する隣接画素の画素値との差分絶対値が第２の閾値よりも小さい場合、処理対象画素の補正前の画素値、および隣接画素の画素値に基づいて、処理対象画素の補正後の画素値を算出する画素値算出手段を備えている。【００２４】
本発明に係るフィルタ装置における第１の閾値以上のサイズのブロックにおけるフィルタ処理では、必要最小限の画素の画素値を参照して、処理対象画素における補正後の画素値を算出する。すなわち、必要最小限の演算量により、処理対象画素に対してフィルタ処理を施すことができる。【００２５】
これによって、本発明に係るフィルタ装置は、ブロックノイズの除去の対象となるブロックのサイズの大きさに起因する演算量の増加を抑制しつつ、復号した画像における画質の劣化を防止することができる効果を奏する。【００２６】
本発明に係るフィルタ装置では、さらに、上記画素値算出手段は、上記処理対象画素が、行および列方向のいずれの方向においても上記あるブロックと上記隣接ブロックとの境界近傍に位置する場合、上記行方向の境界画素に隣接する隣接画素の画素値、および、上記列方向の境界画素に隣接する隣接画素の画素値を上記隣接画素の画素値として用いることが好ましい。【００２７】
上記の構成によれば、処理対象画素が、行方向および列方向のいずれの方向においてもあるブロックと隣接ブロックとの境界近傍に位置する場合、すなわちブロックの隅のような隣接するブロックの水平方向および垂直方向のいずれの境界部にも近い領域に含まれる場合、水平方向のフィルタ処理と垂直方向のフィルタ処理とを同時に施すことができる。【００２８】
これによって、処理対象画素に対して水平方向のフィルタ処理と垂直方向のフィルタ処理とが２重に施されてしまうことによる画質の劣化を防止することができる。すなわち、復号した画像の画質の劣化をより一層防止することができる効果を奏する。【００２９】
本発明に係るフィルタ装置では、さらに、上記あるブロックの各行に含まれる画素のうち、上記隣接ブロックに隣接する境界画素から、行方向に隣接する画素間の画素値の差分絶対値が最初に第３の閾値以上となる画素まで、または、上記あるブロックの各列に含まれる画素のうち、上記隣接ブロックに隣接する境界画素から、列方向に隣接する画素間の画素値の差分絶対値が最初に第３の閾値以上となる画素までを上記処理対象画素とすることが好ましい。【００３０】
上記の構成によれば、処理対象画素として設定される画素の範囲を、隣接ブロックに隣接する境界画素から、行方向に隣接する画素間の画素値の差分絶対値を算出することにより適宜設定することができる。【００３１】
これによって、本発明に係るフィルタ装置は、行または列において、フィルタ処理を施す対象となる処理対象画素となり得る画素の範囲、すなわちあるブロックと隣接ブロックとの境界の近傍の意味する範囲を、行または列ごとに適宜設定することができる効果を奏する。【００３２】
本発明に係るフィルタ装置では、さらに、上記あるブロックのサイズが上記第１の閾値よりも小さい場合、上記あるブロックに隣接するいずれかの隣接ブロックのサイズが上記第１の閾値以上であるか否かを判定する第２の判定手段をさらに備えており、上記画素値算出手段は、上記隣接ブロックのいずれかのサイズが上記第１の閾値以上である場合、上記隣接ブロックのサイズがいずれも上記第１の閾値より小さい場合と比べてフィルタ強度が強くなるように構成することが好ましい。【００３３】
上記の構成によれば、あるブロックに隣接する隣接ブロックのサイズが第１の閾値未満である場合と比較して、隣接する隣接ブロックのサイズが第１の閾値以上である場合において顕著に生じやすいブロックノイズを除去することができる。【００３４】
これによって、復号する画像における画質の劣化をより一層防止することができる効果を奏する。【００３５】
本発明に係るフィルタ装置では、さらに、上記画素値算出手段は、下記式（１）
Ｗ１×ｐ＋Ｗ２×ｑ／（Ｗ１＋Ｗ２）・・・（１）
（上記式（１）中、ｐは上記処理対象画素の画素値、ｑは上記隣接画素の画素値、Ｗ１およびＷ２は所定の重み付け係数を示す）
を用いて上記処理対象画素の補正後の画素値を算出することが好ましい。【００３６】
また、本発明に係るフィルタ装置では、さらに、上記画素値算出手段は、下記式（２）
ＷＰ×ｐ＋ＷＨ×ｑ＋ＷＶ×ｒ／（ＷＰ＋ＷＨ＋ＷＶ）・・・（２）
（上記式（２）中、ｐは上記処理対象画素の画素値、ｑは行方向の境界画素に隣接する隣接画素の画素値、ｒは列方向の境界画素に隣接する隣接画素の画素値、ＷＰ、ＷＨおよびＷＶは所定の重み付け係数を示す）
を用いて上記処理対象画素の補正後の画素値を算出することが好ましい。【００３７】
本発明に係りフィルタ処理方法は、上記課題を解決するために、
サイズの異なる複数のブロックに分割して符号化された画像情報を復号する際に、あるブロックと当該あるブロックに隣接する隣接ブロックとの境界近傍に位置し、かつ、上記あるブロックに属する処理対象画素の画素値を補正するフィルタ処理方法であって、
上記あるブロックのサイズが第１の閾値以上であるか否かを判定する第１の判定ステップと、
上記あるブロックのサイズが上記第１の閾値以上である場合、上記処理対象画素を有する行および列の少なくともいずれかに含まれる上記あるブロック内の画素であって、かつ、上記隣接ブロックに隣接する画素である境界画素の画素値と、上記隣接ブロックにおいて当該境界画素に隣接する隣接画素の画素値との差分絶対値を算出する差分値算出ステップと、
算出した上記差分絶対値が第２の閾値よりも小さい場合、上記処理対象画素の画素値と、上記隣接画素の画素値とに基づいて、当該処理対象画素の補正後の画素値を算出する画素値算出ステップと、を含むことを特徴としている。【００３８】
上記の構成によれば、本発明に係るフィルタ装置と同様の作用効果を奏する。【００３９】
また、本発明に係るフィルタ装置を備えた復号装置および符号化装置についても本発明の範疇に含まれる。【００４０】
なお、上記処理対象画素の補正後の画素値を算出するために参照する画素が、上記あるブロックに属する少なくとも１つの画素と、上記隣接ブロックに属する少なくとも１つの画素であれば、上記フィルタ装置と同様の効果を奏し得る。【００４１】
すなわち、本発明に係るフィルタ装置は、サイズの異なる複数のブロックに分割して符号化された画像情報を復号する際に、あるブロックと当該あるブロックに隣接する隣接ブロックとの境界近傍に位置し、かつ、上記あるブロックに属する処理対象画素の画素値を補正するフィルタ装置であって、上記あるブロックのサイズが第１の閾値以上であるか否かを判定する第１の判定手段と、上記あるブロックのサイズが上記第１の閾値以上である場合、当該あるブロックに属する少なくとも１つの画素の画素値と、上記隣接ブロックに属する少なくとも１つの画素の画素値とに基づいて、上記処理対象画素の補正後の画素値を算出する画素値算出手段と、を備えている構成としてもよい。また、上記画素値算出手段は、上記あるブロックのサイズが上記第１の閾値以上の場合、当該あるブロックのサイズが上記第１の閾値より小さい場合において用いるよりも少ない数の画素を用いて上記処理対象画素の補正後の画素値を算出する構成としてもよい。
【発明の効果】
【００４２】
本発明に係るフィルタ装置は、以上のように、ブロックノイズを除去する対象となるあるブロックのサイズが第１の閾値以上であり、かつ、あるブロックにおける境界画素の画素値と、隣接ブロックにおいて当該境界画素に隣接する隣接画素の画素値との差分絶対値が第２の閾値よりも小さい場合、あるブロックと境界ブロックとの境界近傍に位置する処理対象画素の補正前の画素値、および隣接画素の画素値に基づいて、処理対象画素の補正後の画素値を算出する画素値算出手段を備えている。【００４３】
これによって、本発明に係るフィルタ装置では、処理対象画素を有する対象ブロックのサイズの大きさに起因する演算量の増加を抑制しつつ、復号される画像の画質の劣化を防止することができる効果を奏する。
【図面の簡単な説明】
【００４４】
【図１】実施形態１に係るフィルタ装置の要部構成を示すブロック図である。
【図２】実施形態１に係るフィルタ装置の動作を示すフローチャートである。
【図３】ある画像データにおけるブロック分割を模式的に示した図である。
【図４】対象ブロックのサイズが閾値Ｔｈ１以上のブロックにおける処理対象画素を有する領域を模式的に示した図である。
【図５】ブロックの境界部分における画素を模式的に示した図である。
【図６】画素Ｐ０〜Ｐ７および画素Ｑ０におけるフィルタ係数の一例を示す図である。
【図７】対象ブロックのサイズが閾値Ｔｈ１未満であり、隣接ブロックのサイズが閾値Ｔｈ１以上のブロックにおける処理対象画素を有する領域を模式的に示した図である。
【図８】ブロックの境界部分における画素を模式的に示した図である。
【図９】閾値Ｔｈ３の設定方法を示すフローチャートである。
【図１０】対象ブロックにおいて、隣接するブロックの水平方向および垂直方向のいずれの境界部にも近い領域を示す図である。
【図１１】図１０において斜線により示した領域における画素を模式的に示す図である。
【図１２】平面的なフィルタ処理を施す領域を模式的に示す図である。
【図１３】平面的なフィルタ処理を施す際のフィルタ係数の一例を示す図であり、（ａ）はＷＶのフィルタ係数を示しており、（ｂ）はＷＨのフィルタ係数を示しており、（ｃ）はＷＰのフィルタ係数を示している。
【図１４】平面的なフィルタ処理を施す際のフィルタ係数の変形例の一例を示す図であり、（ａ）はＷＶ´のフィルタ係数を示しており、（ｂ）はＷＰ´のフィルタ係数を示している。
【図１５】実施形態２に係る復号装置の要部構成を示すブロック図である。
【図１６】ブロック境界における画素および当該画素の画素値を模式的に示した図である。
【図１７】フィルタ係数の一例を示す図であり、（ａ）は画素値ｐ０´、ｐ１´、ｐ２´を算出する際のフィルタ係数を示しており、（ｂ）は画素値ｑ０´、ｑ１´、ｑ２´を算出する際のフィルタ係数を示している。
【図１８】従来技術におけるフィルタ処理を模式的に示した図である。
【発明を実施するための形態】
【００４５】
〔実施形態１〕
本発明に係るフィルタ装置の一実施形態を実施形態１として、図１〜１４を参照しつつ以下に説明する。本発明に係るフィルタ装置は、複数のブロックに分割して符号化された画像データ（画像情報）を復号する際に生じるブロックノイズを除去するためのものである。このようなブロックノイズは、隣接するブロックの境界において特に顕著である。したがって、本発明に係るフィルタ装置は、ブロックの境界近傍に位置する処理対象画素に対してブロックノイズを除去するためのフィルタ処理を施す。
【００４６】
（フィルタ装置１の構成）
本実施形態に係るフィルタ装置１の構成を図１に示す。図１は、フィルタ装置１の要部構成を示すブロック図である。図１に示すように、フィルタ装置１は、フィルタ処理前の画素値（補正前の画素値）を入力とし、フィルタ処理後の画素値（補正後の画素値）を出力とする。画素値の入出力の単位は、１画素単位であってもよいし、フィルタ処理の対象となる処理対象画素を有する対象ブロックにおけるブロック境界周辺の複数の画素値を入出力の単位であってもよい。また、フィルタ装置１は、フィルタ処理後の画素値を算出する際に参照する画素値の決定のために、フィルタ処理を施す処理対象画素を有する対象ブロックのサイズを参照する。
【００４７】
フィルタ装置１は、図１に示すように、ブロックサイズ判定部１０、差分値算出部１１、画素値算出部１２、隣接ブロックサイズ判定部１３、および出力部１４を備えている。各部材について、以下に説明する。
【００４８】
（ブロックサイズ判定部１０）
ブロックサイズ判定部１０は、画像データを分割する複数のブロックにおいて、フィルタ処理を施す処理対象画素を有する対象ブロックのサイズが閾値Ｔｈ１以上であるか否かを判定する。
【００４９】
閾値Ｔｈ１としては、例えば、ブロックの面積（ブロックに含まれる画素の総数）の値を用いることができる。例えば、閾値Ｔｈ１を１０２４として設定した場合、ブロックサイズ判定部１０は、８×８、１６×１６、および３２×３２のサイズのブロックのうち、３２×３２のサイズのブロックを閾値Ｔｈ１以上のサイズであると判定する。もちろん、閾値Ｔｈ１としてブロックの面積以外の値を用いることもできる。ブロックの面積以外としては、例えば、ブロックの縦または横における画素の数を閾値Ｔｈ１とすることができる。
【００５０】
なお、本明細書等において、フィルタ処理の対象となる「ブロック」とは、変換または逆変換処理における変換または逆変換の単位となるブロックと同一のものである。すなわち、本明細書等における「ブロックのサイズ」とは、変換または逆変換における変換サイズと同じサイズとなる。すなわち、フィルタ装置１におけるブロックのサイズは、画像符号化装置（図示しない）において直交変換を施す変換サイズに等しく、また画像復号装置（図示しない）において逆直交変換を施す変換サイズに等しい。例えば、８×８ＤＣＴを用いて直交変換した場合には、フィルタ処理の対象となるブロックのサイズは、８×８のサイズとなる。
【００５１】
また、画像符号化装置では、直交変換の前に縮小・間引き（サブサンプリング）を行い、画像復号装置における逆直交変換の後に拡大・補間を行う場合がある。この場合、フィルタ処理の対象となるブロックのサイズは、前述のように直交変換を行った変換サイズと同じサイズとはならない。この場合のブロックのサイズは、直交変換前の縮小・間引きの前のブロックのサイズ（拡大・補間の後のブロックのサイズ）と同じサイズとなる。なお、ブロックのサイズはスカラー値ではなく、横×縦により表されるベクトル値である。
【００５２】
ここで、ブロックのサイズを表す「Ａ×Ａ」とは、ブロックにおける横方向の画素の数と縦方向の画素の数とを示している。すなわち、本明細書等における「８×８」とは、横方向に８画素、縦方向に８画素の計６４画素からなるブロックであることを意味している。
【００５３】
（差分値算出部１１）
差分値算出部１１は、画素値の差分絶対値を算出する。より具体的には、対象ブロックに隣接する隣接ブロックの画素に隣接する画素である境界画素の画素値と、隣接ブロックにおいて境界画素に隣接する隣接画素の画素値との差分絶対値を算出する。また、場合によっては、対象ブロックにおける画素の画素値の差分絶対値も算出する。差分値算出部１１において算出する差分絶対値は、対象ブロックのサイズに応じて決定される。どのような場合にどのような差分絶対値を算出するのかについては、下記に詳述する。
【００５４】
なお、本明細書等における「隣接」とは、基準となる画素またはブロックに対して縦方向（垂直方向）または横方向（水平方向）において接することを意味している。すなわち、基準となる画素またはブロックに対して斜め方向に接するブロックまたは画素は、本明細書等において隣接する画素またはブロックの範疇には含まれない。
【００５５】
また、本明細書等における「差分絶対値」とは、画素値の差分の絶対値を意味している。
【００５６】
（画素値算出部１２）
画素値算出部１２は、対象ブロックにおける処理対象画素をフィルタ処理することにより、処理対象画素におけるフィルタ処理後の処理後画素値を算出する。処理対象画素のフィルタ処理前の処理前画素値から処理後画素値を算出する算出方法については、対象ブロックのサイズに応じて決定される。どのような場合にどのような算出方法を用いるのかについては、下記に詳述する。
【００５７】
（隣接ブロックサイズ判定部１３）
隣接ブロックサイズ判定部１３は、対象ブロックのサイズが閾値Ｔｈ１より小さいときに、対象ブロックに隣接するいずれかの隣接ブロックのサイズが閾値Ｔｈ１以上であるか否かを判定する。すなわち、対象ブロックに隣接するブロックに閾値Ｔｈ１以上のサイズのブロックがあるか否かを判定する。
【００５８】
（出力部１４）
出力部１４は、処理対象画素の処理前画素値を、画素値算出部１２において算出した処理後画素値に置き換える。すなわち、処理対象画素の画素値を置換する画素値置換手段である。なお、処理後画素値の出力先については、フィルタ装置１の備えられている装置およびフィルタ装置１の用途に応じて適宜変更される。例えば、フィルタ装置１がループフィルタとして画像復号装置に備えられている場合には、出力部１４は復号画像の格納されているフレームメモリに対して出力される。
【００５９】
（フィルタ装置１の動作の概要）
次に、フィルタ装置１の動作の概要について、図２を参照しつつ以下に説明する。図２は、フィルタ装置１の動作の概要を示すフローチャートである。
【００６０】
まず、フィルタ装置１は、フィルタ処理を施す処理対象画素を有する対象ブロックを設定する（ステップＳ１）。続いて、ブロックサイズ判定部１０は、対象ブロックのサイズが閾値Ｔｈ１以上であるか否かを判定する（ステップＳ２）。対象ブロックのサイズが閾値Ｔｈ１以上である場合（ステップＳ２においてＹｅｓ）、差分値算出部１１は、差分絶対値を算出する（ステップＳ３）。なお、ステップＳ３において算出される差分絶対値については、下記に詳述する。
【００６１】
画素値算出部１２は、ステップＳ３において算出した差分絶対値が閾値Ｔｈ２（第２の閾値）より小さい場合、処理対象画素の処理後画素値を算出する（ステップＳ４）。なお、差分絶対値が閾値Ｔｈ２以上である場合には、画素値算出部１２は処理対象画素の処理後画素値を算出しない。すなわち、フィルタ装置１は、処理対象画素におけるフィルタ処理を中止する。最後に、出力部１４は、算出した処理後画素値を出力する（ステップＳ５）。対象ブロックのサイズが閾値Ｔｈ１以上である場合におけるフィルタ装置１の処理を、以下、パターンＡと称する。
【００６２】
一方、対象ブロックのサイズが閾値Ｔｈ１未満である場合（ステップＳ２においてＮｏ）、隣接ブロックサイズ判定部１３は対象ブロックに隣接する隣接ブロックのサイズが、閾値Ｔｈ１以上であるか否かを判定する（ステップＳ６）。隣接ブロックのサイズが閾値Ｔｈ１以上である場合（ステップＳ６においてＹｅｓ）、差分値算出部１１は、差分絶対値を算出する（ステップＳ７）。なお、このとき差分値算出部１１において算出される差分絶対値は、ステップＳ３において算出される差分絶対値とは異なる。ステップＳ７において算出される差分絶対値については、下記に詳述する。
【００６３】
画素値算出部１２は、ステップＳ７において算出した差分絶対値が所定の閾値より小さい場合、処理対象画素の処理後画素値を算出する（ステップＳ８）。なお、ステップＳ８における処理後画素値の算出方法は、ステップＳ４における処理後画素値の算出方法とは異なる。また、差分絶対値が所定の以上である場合には、画素値算出部１２は処理対象画素の処理後画素値を算出しない。すなわち、処理対象画素におけるフィルタ処理を中止する。
【００６４】
最後に、出力部１４は、算出した処理後画素値を出力する（ステップＳ５）。対象ブロックのサイズが閾値Ｔｈ１未満であり、かつ、隣接ブロックのサイズが閾値Ｔｈ１以上の場合におけるフィルタ装置１の処理を、以下、パターンＢと称する。
【００６５】
また、隣接ブロックのサイズが閾値Ｔｈ１未満である場合（ステップＳ６においてＮｏ）、差分値算出部１１は、差分絶対値を算出する（ステップＳ９）。なお、このとき差分値算出部１１において算出される差分絶対値は、ステップＳ３およびステップＳ７において算出される差分絶対値とは異なる。なお、ステップＳ９において算出される差分絶対値については、下記に詳述する。
【００６６】
画素値算出部１２は、ステップＳ９において算出した差分絶対値が所定の閾値より小さい場合、処理対象画素の処理後画素値を算出する（ステップＳ１０）。なお、ステップＳ１０における処理後画素値の算出方法は、ステップＳ４およびステップＳ８における処理後画素値の算出方法とは異なる。また、差分絶対値が所定の以上である場合には、画素値算出部１２は処理対象画素の処理後画素値を算出しない。すなわち、処理対象画素におけるフィルタ処理を中止する。
【００６７】
最後に、出力部１４は、算出した処理後画素値を出力する（ステップＳ５）。対象ブロックのサイズが閾値Ｔｈ１未満であり、かつ、隣接ブロックのサイズも閾値Ｔｈ１未満の場合におけるフィルタ装置１の処理を、以下、パターンＣと称する。
【００６８】
以上説明したように、フィルタ装置１の処理は、対象ブロックのブロックサイズおよび対象ブロックサイズに隣接する隣接ブロックサイズのサイズに応じて、３つの処理パターン（パターンＡ〜Ｃ）に分かれる。これら３つの処理の詳細について、以下に説明する。
【００６９】
（パターンＡ：対象ブロックのサイズが閾値Ｔｈ１以上の場合）
フィルタ処理の処理対象画素を有する対象ブロックのサイズが閾値Ｔｈ１以上である場合における処理対象画素の画素値の算出方法（パターンＡ）の詳細について、図３〜６を参照しつつ以下に説明する。
【００７０】
ここで、本項では、フィルタ処理の対象となる画像が、図３に示すように分割されている場合を例に挙げて説明する。図３は、ある画像におけるブロック分割の一例を模式的に示した図である。図３に示すように、フィルタ処理の対象となる画像は、３２×３２のサイズのブロック、１６×１６のサイズのブロック、および８×８のサイズのブロックの３つのサイズのブロックに分割されている。すなわち、図３に示す画像データは、異なるサイズのブロックにより分割されている。
【００７１】
また、本項では、閾値Ｔｈ１が「１０２４」である場合を例に挙げて説明する。したがって、図３において閾値Ｔｈ１以上であるブロックは３２×３２のサイズのブロックとなる。すなわち、パターンＡの動作によりフィルタ処理を施す画素は、図４において斜線により示した領域の画素となる。図４は、対象ブロックのサイズが閾値Ｔｈ１以上のブロックにおいてフィルタ処理を施す画素を有する領域を模式的に示した図である。
【００７２】
図５は、図４において斜線により示した領域に含まれる画素を模式的に示した図である。すなわち、ブロックの境界部分における画素を模式的に示した図である。図５では、互いに隣接するブロックのうち、一方のブロックの画素を画素Ｐｉとし、もう一方のブロックの画素を画素Ｑｉとしている（ｉは０〜ｎであり、ｎは任意の整数）。なお、画素Ｐｉおよび画素Ｑｉにおけるｉは、ブロック境界に近いほど値が小さくなる。
【００７３】
また、図５では、画素Ｐｉおよび画素Ｑｉに対応する画素値をそれぞれ画素値ｐｉおよび画素値ｑｉとして示しており、処理対象画素Ｐｋにおける処理前の画素値ｐｋに対応する処理後の画素値をｐｋ´として示している。ここで、ｋは閾値Ｔｈ３以下の整数である。本項では、ｋ＝０〜７である場合、すなわち閾値Ｔｈ３＝７である場合を例に挙げて説明する。なお、閾値Ｔｈ３の詳細な設定方法については下記に詳述するため、ここではその説明を省略する。
【００７４】
パターンＡの処理では、差分値算出部１１が境界画素の画素値と、隣接画素の画素値との差分絶対値を算出し、画素値算出部１２が算出した差分絶対値が閾値Ｔｈ２よりも小さい場合、処理対象画素の画素値と、隣接画素の画素値とに基づいて、処理対象画素の補正後の画素値を算出する。
【００７５】
具体例を用いてより詳細に説明すると、差分値算出部１１は、対象ブロックに隣接する隣接ブロックの画素に隣接する、対象ブロックの画素である境界画素Ｐ０の画素値ｐ０と、隣接ブロックにおいて境界画素Ｐ０に隣接する隣接画素Ｑ０の画素値ｑ０との差分絶対値ｄを算出する。すなわち、差分値算出部１１は、図２におけるステップＳ３において、下記式（１）
ｄ＝ＡＢＳ（ｐ０−ｑ０）・・・（１）
を用いて差分絶対値ｄを算出する。
【００７６】
次に、画素値算出部１２は、差分値算出部１１において算出した差分絶対値ｄが閾値Ｔｈ２未満であるか否かを判定する。すなわち、ｄ＜αであるか否かを判定する（α＝閾値Ｔｈ２）。差分絶対値ｄが閾値Ｔｈ２未満である場合、すなわちｄ＜αである場合、画素値算出部１２は、処理対象画素Ｐｋの処理前の画素値ｐｋおよび隣接画素Ｑ０の画素値ｑ０に基づいて、処理対象画素Ｐｋの処理後の画素値ｐｋ´を算出する。
【００７７】
より具体的には、下記式（２）
ｐｋ´＝（Ｗ１×ｐｋ＋Ｗ２×ｑ０）／（Ｗ１＋Ｗ２）・・・（２）
を用いて処理後の画素値ｐｋ´を算出する。
【００７８】
なお、式（２）中、Ｗ１およびＷ２は、境界画素からの画素数に応じて設定されている所定のフィルタ係数（重み付け係数）であり、０≦Ｗ１、Ｗ２≦Ｗ１＋Ｗ２を満たす値である。
【００７９】
各画素におけるフィルタ係数の具体的な例を図６に示す。図６は、画素Ｐ０〜Ｐ７および画素Ｑ０におけるフィルタ係数の一例を示す図である。処理対象画素Ｐ０〜Ｐ７における処理後の画素値ｐ０´〜ｐ７´の算出式を、図６に示したフィルタ係数を用いて示すと
ｐ０´＝（４×ｐ０＋４×ｑ０）／８
ｐ１´＝（４×ｐ１＋４×ｑ０）／８
ｐ２´＝（５×ｐ２＋３×ｑ０）／８
ｐ３´＝（５×ｐ３＋３×ｑ０）／８
ｐ４´＝（６×ｐ４＋２×ｑ０）／８
ｐ５´＝（６×ｐ５＋２×ｑ０）／８
ｐ６´＝（６×ｐ６＋２×ｑ０）／８
ｐ７´＝（７×ｐ７＋１×ｑ０）／８
となる。
【００８０】
最後に、出力部１４は、画素値算出部１２において算出した処理後画素値ｐｋ´を出力する。なお、出力部１４がフィルタ処理後の画素値ｐｋ´を出力する先については、フィルタ装置１の搭載されている装置の種類に応じて適宜変更される。
【００８１】
なお、ここでは処理対象画素が画素Ｐｋである場合を例に挙げて説明したが、もちろん処理対象画素が画素Ｑｋであってもよい。この場合は、上記式（２）における画素値ｐｋおよび画素値ｑ０をそれぞれ画素値ｑｋおよび画素値ｐ０と読みかえればよい。
【００８２】
（パターンＡの処理動作に関する利点）
以上説明したように、フィルタ装置１におけるパターンＡの処理では、処理対象画素Ｐｋの画素値ｐｋおよび隣接画素Ｑ０の画素値ｑ０の２つの画素の画素値のみから、処理対象画素Ｐｋの処理後の画素値ｐｋ´を算出する。これは、ブロックサイズの大きいブロックでは、処理対象画素Ｐｋの周辺の画素の画素値を用いて処理後の画素値ｐｋ´を算出したとしても、算出される画素値ｐｋ´の値がほとんど変化しないためである。
【００８３】
より具体的に説明すると、複数のサイズに分割したブロックを符号化する符号化方式の場合、高周波数成分を含む領域（画素値の変化の大きい領域）は小さなサイズのブロックで符号化され、低周波数成分を含む領域（画素値の変化の小さな領域）は大きなサイズのブロックで符号化される。特に、３２×３２のサイズのブロックのような８×８のサイズを大きく超えるブロックでは、低周波数成分のみからなる領域となることが多い。
【００８４】
そのため、大きなサイズのブロックでは、処理対象画素Ｐｋの画素値ｐｋと、処理対象画素Ｐｋの周辺の画素（例えば、画素Ｐｋ−１の画素値ｐｋ−１および画素Ｐｋ＋１の画素値ｐｋ＋１）との差が小さくなる。したがって、処理後の画素値ｐｋ´を算出する際に、処理対象画素Ｐｋの画素値ｐｋに加えて、処理対象画素Ｐｋの周辺の画素を参照したとしても、算出される画素値はほとんど変化しない。
【００８５】
また、ある画素のフィルタ処理にその周辺の画素値を利用すれば、画素値の変化を抑制することが可能である。しかし、この効果はブロック境界付近の画素に対しては有効であるが、ブロック境界から離れた画素については不要である。サイズの大きいブロックでは、ブロック境界から離れた処理対象画素もサイズの小さいブロックに比べて多くなるため、処理対象画周辺の画素の画素値を参照する必要がない処理対象画素が多くなる。
【００８６】
このように、閾値Ｔｈ１以上のサイズのブロックにおけるフィルタ処理では、フィルタ処理後の画素値を算出するために、処理対象画素および隣接画素の画素値のみを用いれば十分である。すなわち、フィルタ装置１は、処理対象画素Ｐｋの画素値ｐｋおよび隣接画素Ｑ０の画素値ｑ０の２つの画素の画素値のみから、処理対象画素Ｐｋの処理後の画素値ｐｋ´を算出すればよい。これによって、フィルタ装置１は、ブロックのサイズの大きさに起因する演算量の増加を抑制しつつ、復号画像における画質の劣化を防止することができる。
【００８７】
なお、本明細書等における「防止」とは。画質の劣化を完全に防ぐことを意味するものではなく、従来と比較してわずかでも抑制することを意味している。
【００８８】
（パターンＢ：対象ブロックのサイズが閾値Ｔｈ１未満であり、隣接ブロックのサイズが閾値Ｔｈ１以上である場合）
次に、フィルタ処理の処理対象画素を有する対象ブロックのサイズが閾値Ｔｈ１未満であり、隣接ブロックのサイズが閾値Ｔｈ１以上である場合における処理対象画素の画素値の算出方法（パターンＢ）の詳細について以下に説明する。なお、本項でも、上述したパターンＡにおける処理と同様に、フィルタ処理の対象となる画像が図３に示すように分割されており、閾値Ｔｈ１が「１０２４」である場合を例に挙げて説明する。すなわち、閾値Ｔｈ１以上であるブロックは３２×３２のサイズのブロックであり、閾値Ｔｈ１未満であるブロックは８×８のサイズおよび４×４のサイズのブロックとなる。
【００８９】
したがって、パターンＢの動作によりフィルタ処理を施す画素は、図７において斜線により示した領域に含まれる画素となる。図７は、対象ブロックのサイズが閾値Ｔｈ１未満であり、対象ブロックに隣接する隣接ブロックのサイズが閾値Ｔｈ１以上のブロックにおいてフィルタ処理を施す画素を有する領域を模式的に示した図である。
【００９０】
なお、本項では図５に示した画素Ｑｋを処理対象画素とする場合を例に挙げて説明する。すなわち処理前の画素値ｑｋに対応する処理後の画素値を画素値ｑｋ´となる。なお、ｋは閾値Ｔｈ３以下の整数である。本項では、閾値Ｔｈ３＝２である場合、すなわちｋ＝０〜２である場合を例に挙げて説明する。
【００９１】
パターンＢにおける処理では、差分値算出部１１は、対象ブロックに隣接する隣接ブロックの画素に隣接する、対象ブロックの画素である境界画素Ｑ０の画素値ｑ０と、隣接ブロックにおいて境界画素Ｑ０に隣接する隣接画素Ｐ０の画素値ｐ０との差分絶対値ｄを算出すると共に、境界画素Ｑ０の画素値ｑ０と画素Ｑ２の画素値ｑ２との差分絶対値ａｐを算出する。すなわち、差分値算出部１１は、図２におけるステップＳ７において、下記式（３）および（４）
ｄ＝ＡＢＳ（ｐ０−ｑ０）  ・・・（３）
ａｐ＝ＡＢＳ（ｑ２−ｑ０）・・・（４）
を用いて差分絶対値ｄおよび差分絶対値ａｐを算出する。
【００９２】
次に、画素値算出部１２は、差分値算出部１１において算出した差分絶対値ｄおよび差分絶対値ａｐが、それぞれ所定の閾値α１およびβ１未満であるか否かを判定する。すなわち、画素値算出部１２は、ｄ＜α１かつａｐ＜β１であるか否かを判定する。
【００９３】
差分値算出部１１において算出した差分絶対値ｄおよび差分絶対値ａｐがｄ＜α１かつａｐ＜β１を満たす場合、画素値算出部１２は、隣接画素Ｐ０の画素値ｐ０、処理対象画素Ｑｋの処理前の画素値ｑｋおよび処理対象画素Ｑｋ周辺の画素の画素値に基づいて、処理対象画素Ｑｋの処理後の画素値ｑｋ´を算出する。
【００９４】
処理対象画素Ｑ０、Ｑ１およびＱ２における処理後の画素ｑ０´、ｑ１´、ｑ２´の具体的な算出式の一例を以下に示す。
ｑ０´＝（ｑ２＋２×ｑ１＋２×ｑ０＋３×ｐ０）／８        
ｑ１´＝（ｑ２＋ｑ１＋ｑ０＋ｐ０）／４                    
ｑ２´＝（２×ｑ３＋２×ｑ２＋ｑ１＋ｑ０＋２×ｐ０）／８  
もちろん、下記式におけるフィルタ係数の数値は一例であり、その数値は適宜変更することができる。
【００９５】
最後に、出力部１４は、画素値算出部１２において算出した処理後画素値ｑｋ´を出力する。
【００９６】
（パターンＣ：対象ブロックのサイズが閾値Ｔｈ１未満であり、隣接ブロックのサイズも閾値Ｔｈ１未満である場合）
最後に、フィルタ処理の処理対象画素を有する対象ブロックのサイズが閾値Ｔｈ１未満であり、隣接ブロックのサイズが閾値Ｔｈ１未満である場合における処理対象画素の画素値の算出方法（パターンＣ）の詳細について以下に説明する。ここでも、パターンＡおよびパターンＢの場合と同様に画像データが図３に示すように分割されている場合を例に挙げて説明する。この場合、パターンＣにおけるフィルタ処理を施す処理対象画素は、図４および図７において斜線により示されている領域以外の領域に含まれる画素となる。
【００９７】
パターンＣの処理は、従来のフィルタ装置における処理と同様の方法により処理すればよい。パターンＣの処理について以下に具体的に説明する。なお、本項では、図５において示した画素Ｐｋを処理対象画素Ｐｋとする場合を例に挙げて説明する。すなわち、処理前の画素値ｐｋに対応する処理後の画素値をｐｋ´となる。ここで、ｋは閾値Ｔｈ３以下の整数である。本項では、閾値Ｔｈ３＝２である場合、すなわちｋ＝０〜２である場合を例に挙げて説明する。
【００９８】
差分値算出部１１は、対象ブロックに隣接する隣接ブロックの画素に隣接する、対象ブロックの画素である境界画素Ｐ０の画素値ｐ０と、隣接ブロックにおいて境界画素Ｐ０に隣接する隣接画素Ｑ０の画素値ｑ０との差分絶対値ｄを算出すると共に、境界画素Ｐ０の画素値ｐ０と画素Ｐ２の画素値ｐ２との差分絶対値ａｐを算出する。すなわち、差分値算出部１１は、図２におけるステップＳ９において、下記式（５）および（６）
ｄ＝ＡＢＳ（ｐ０−ｑ０）  ・・・（５）
ａｐ＝ＡＢＳ（ｐ２−ｐ０）・・・（６）
を用いて差分絶対値ｄおよび差分絶対値ａｐを算出する。
【００９９】
次に、画素値算出部１２は、差分値算出部１１において算出した差分絶対値ｄおよび差分絶対値ａｐが、それぞれ所定の閾値α２およびβ２未満であるか否かを判定する。すなわち、画素値算出部１２は、ｄ＜α２かつａｐ＜β２であるか否かを判定する。
【０１００】
差分値算出部１１において算出した差分絶対値ｄおよび差分絶対値ａｐがｄ＜α２かつａｐ＜β２を満たす場合、画素値算出部１２は、処理対象画素Ｐｋの処理前の画素値ｐｋおよび処理対象画素Ｐｋ周辺の画素の画素値に基づいて、処理対象画素Ｐｋの処理後の画素値ｐｋ´を算出する。
【０１０１】
処理対象画素Ｐ０、Ｐ１およびＰ２における処理後の画素ｐ０´、ｐ１´、ｐ２´の具体的な算出式の一例を以下に示す。
ｐ０´＝（ｐ２＋２×ｐ１＋２×ｐ０＋２×ｑ０＋ｑ１）／８  
ｐ１´＝（ｐ２＋ｐ１＋ｐ０＋ｑ０）／４                    
ｐ２´＝（２×ｐ３＋３×ｐ２＋ｐ１＋ｐ０＋ｑ０）／８      
もちろん、下記式におけるフィルタ係数の数値は一例であり、その数値は適宜変更することができる。
【０１０２】
最後に、出力部１４は、画素値算出部１２において算出した処理後画素値ｐｋ´を出力する。
【０１０３】
また、処理対象画素を画素Ｑｋとしてもよい。この場合には、上記の式の「ｐ」を「ｑ」に読みかえればよい。すなわち、
ｑ０´＝（ｑ２＋２×ｑ１＋２×ｑ０＋２×ｐ０＋ｐ１）／８  
ｑ１´＝（ｑ２＋ｑ１＋ｑ０＋ｐ０）／４                    
ｑ２´＝（２×ｑ３＋３×ｑ２＋ｑ１＋ｑ０＋ｐ０）／８      
となる。
【０１０４】
ここで、対象ブロックに隣接する隣接ブロックのサイズが閾値Ｔｈ１以上である場合には、隣接ブロックのサイズが閾値Ｔｈ１未満である場合と比較して、ブロックの境界におけるブロックノイズが顕著となることが多い。これは、閾値Ｔｈ１よりも大きいサイズのブロックでは、ブロックにおける画素値の変化が小さい、すなわち画像が平坦であるためである。したがって、パターンＢにおけるフィルタ処理では、パターンＣにおけるフィルタ処理よりもフィルタ強度を強くすることが好ましい。
【０１０５】
すなわち、パターンＢにおける閾値α１およびβ１とパターンＣにおける閾値α２およびβ２とを比較したとき、α１＞α２かつβ１＞β２であることが好ましい。これによって、パターンＢの処理の方がフィルタがかかりやすくなるため、パターンＣの処理に比べて強いフィルタを施すことができる。
【０１０６】
また、パターンＢの処理において各画素値に乗ずるフィルタ係数の値を、パターンＣの処理よりもローパス効果が高くなるように設定するようにしてもよい。このようにした場合もパターンＣの処理に比べて、パターンＢの処理の方が処理対象画素に対してフィルタ強度の強い処理を施すことができる。
【０１０７】
（パターンＡの変形例）
上述したように、パターンＡの処理によるフィルタ方法では、対象ブロックに隣接する隣接ブロックにおいて境界方向に垂直な成分の画素値の変化が大きい場合、すなわち画素値ｑ０周辺の変化が大きい場合にも隣接画素Ｑ０の画素値ｑ０のみを用いる。しかし、対象ブロックに隣接する隣接ブロックにおける隣接画素の画素値において、当該画素値の周辺の変化が大きい場合には、フィルタ処理によって画素値の変化が対象ブロックに及ぼされることがある。この場合、フィルタ処理の対象となる対象ブロックが波打つ（線上のノイズが生じる）ことがある。このような、ノイズは、フィルタ対象範囲が広くなる場合において、特に目立ち、復号した画像が視覚的に不自然に見える可能性が高い。
【０１０８】
そのため、このような場合には、処理対象画素Ｐｋの画素値ｐｋ´の算出に隣接画素Ｑ０の画素値ｑ０をそのまま用いているのではなく、事前にフィルタ処理した隣接画素の画素値を用いることが好ましい。事前に隣接画素をフィルタ処理する場合におけるフィルタ処理（パターンＡの処理の変形例）について、以下に具体的に説明する。
【０１０９】
図８は、図５の拡張した図であり、対象ブロックに隣接する１つの境界だけでなく、対象ブロックに隣接する境界全体を示した図である。図８では、互いに隣接するブロックのうち、一方のブロックの画素を画素Ｐijとし、もう一方のブロックの画素を画素Ｑijとする（ｉは０〜ｎであり、ｎは任意の整数）。なお、画素Ｐijおよび画素Ｑijにおけるｉは、ブロック境界に近いほど値が小さくなる。ｊは、境界に垂直な成分を現すためのインデックスであり、０から〔対象ブロックの垂直方向の画素数−１〕までの値を取る。
【０１１０】
したがって、画素Ｐijの画素値pij´の算出の際には、隣接ブロックの各隣接画素Ｑ0jの画素値q0jを予めフィルタ処理し、そのフィルタ処理後の画素値ｑ0j´を参照する。
【０１１１】
この場合、処理対象画素Ｐ0j〜Ｐ7jにおける処理後の画素値ｐ0j´〜ｐ7j´の算出式の一例を示すと、
ｐ0j´＝（４×ｐ0j＋４×ｑ0j´）／８
ｐ1j´＝（４×ｐ1j＋４×ｑ0j´）／８
ｐ2j´＝（５×ｐ2j＋３×ｑ0j´）／８
ｐ3j´＝（５×ｐ3j＋３×ｑ0j´）／８
ｐ4j´＝（６×ｐ4j＋２×ｑ0j´）／８
ｐ5j´＝（６×ｐ5j＋２×ｑ0j´）／８
ｐ6j´＝（６×ｐ6j＋２×ｑ0j´）／８
ｐ7j´＝（７×ｐ7j＋１×ｑ0j´）／８
となる。
【０１１２】
なお、画素Ｑ0jの画素値ｑ0j´は、境界方向に垂直な画素間において、ローパス効果がかかるように算出すればよい。
【０１１３】
例えば、ｑ0k´＝（５×ｑ0k-1 ＋ ６×ｑ0k ＋ ５×ｑ0k+1）／１６のような算出式により算出すればよい。なお、ここで、ｋはｊの取りえる範囲内における任意の整数である。
【０１１４】
このような処理をすることにより、隣接画素の周辺における画素値の変化が大きい場合であっても、復号した画像におけるブロックノイズの発生を防止することができる。
【０１１５】
また、フィルタ処理の対象範囲が広くなればなるほど、同様の変化が水平方向もしくは垂直方向という特定の方向に長く連続することになる。そのため、ブロック境界に生じるブロックノイズが目立つ可能性が高くなる。すなわち、上述したように画素Ｑ0jの画素値ｑ0j´を算出した場合であっても、対象ブロックと隣接ブロックとの間におけるブロックノイズが目立つこと場合がある。
【０１１６】
その場合、以下に示すように、フィルタ処理対象画素の位置がブロック境界から離れるにつれて、ｑ0k´を変更するようにすることが好ましい。
【０１１７】
より具体的には、画素Ｑ0kの画素値ｑ0k´を用いた算出式である下記式
ｑ0k´´＝（５×ｑ0k-1´ ＋ ６×ｑ0k´ ＋ ５×ｑ0k+1´）／１６
により算出される画素値ｑ0k´´を画素値ｑ0k´の代わりに用いるようにすることが好ましい。
【０１１８】
同様に、画素値ｑ0k´´´の場合には、画素Ｑ0kの画素値ｑ0k´´を用いた算出式である下記式
ｑ0k´´´＝（５×ｑ0k-1´´ ＋ ６×ｑ0k´´ ＋ ５×ｑ0k+1´´）／１６
を用いればよい。
【０１１９】
このようにすることによって、処理対象画素Ｐ0j〜Ｐ7jにおける処理後の画素値ｐ0j´〜ｐ7j´の算出式の一例を示すと、
ｐ0j´＝（４×ｐ0j＋４×ｑ0j´）／８
ｐ1j´＝（４×ｐ1j＋４×ｑ0j´）／８
ｐ2j´＝（５×ｐ2j＋３×ｑ0j´´）／８
ｐ3j´＝（５×ｐ3j＋３×ｑ0j´´）／８
ｐ4j´＝（６×ｐ4j＋２×ｑ0j´´´）／８
ｐ5j´＝（６×ｐ5j＋２×ｑ0j´´´）／８
ｐ6j´＝（６×ｐ6j＋２×ｑ0j´´´）／８
ｐ7j´＝（７×ｐ7j＋１×ｑ0j´´´）／８
となる。
【０１２０】
なお、フィルタ処理の対象となる対象ブロックにおける１つの境界をフィルタ処理する度に、隣接ブロックの隣接画素値ｑ0j´、ｑ0j´´などを随時算出することは、処理量の増加をまねくため好適ではない。すなわち、隣接ブロックの隣接画素値ｑ0j´、ｑ0j´´などは、フィルタ処理する前に予め算出しておくことが好ましい。
【０１２１】
また、上述の変形例では、垂直方向の場合を例に挙げて説明したが、もちろん水平方向の場合であっても同様である。
【０１２２】
（閾値Ｔｈ３の設定方法の詳細）
次に、閾値Ｔｈ３、すなわち対象ブロックにおける処理対象画素の範囲の設定について以下に説明する。閾値Ｔｈ３は、あるブロックにおける行または列に含まれる画素であり、あるブロックに隣接する隣接ブロックに隣接する境界画素から、行または列方向に隣接する画素間の画素値の差分絶対値が最初に閾値Ｔｈ４（第３の閾値）以上となる画素までの画素数である。閾値Ｔｈ３は、予め設定されている値であってもよいし、所定のアルゴリズムにより設定される値であってもよい。言い換えれば、フィルタ装置１は、あるブロックの各行または各列に含まれる画素のうち、隣接ブロックに隣接する境界画素から、行方向または列方向に隣接する画素間の画素値の差分絶対値が最初に閾値Ｔｈ４以上となる画素まで、を処理対象画素とする。
【０１２３】
なお、本明細書等における「画素数」とは、境界画素を基点としていくつ目の画素であるのかを示す値を意味している。具体的に図５を参照して説明すると、画素数２の画素は、画素Ｐ０を基点とした場合、画素Ｐ２となる。なお画素数０の画素は画素Ｐ０となる。
【０１２４】
閾値Ｔｈ３の設定方法について、図９を参照しつつ以下に説明する。図９は、閾値Ｔｈ３の設定方法を示すフローチャートである。なお、本項における画素Ｐｋとは、対象ブロックにおける任意の画素を示しており、画素値ｐｋとは、画素Ｐｋの画素値を示している。また、ｋは任意の整数である。ｋ＝０の画素、すなわち画素Ｐ０が対象ブロックにおける境界画素を示しており、ｋの値が大きくなるにつれて境界画素からの距離が遠くなる。すなわち、ｋの値は、画素Ｐｋにおける画素数の値と一致する。
【０１２５】
まず、フィルタ装置１は、ｋの値を「０」に設定する、すなわち対象とする画素を画素Ｐ０と設定する（ステップＳ２０）。続いて、差分値算出部１１は、画素Ｐ０の画素値ｐ０と、対象ブロックに隣接する隣接ブロックにおいて画素Ｐ０に隣接する隣接画素Ｑ０の画素値ｑ０との差分絶対値を算出する（ステップＳ２１）。そして、差分値算出部１１は、算出した差分絶対値が閾値Ｔｈ２以上であるか否かを判定する（ステップＳ２２）。算出した差分絶対値が閾値Ｔｈ２以上である場合（ステップＳ２２においてＹｅｓ）、フィルタ装置１は、処理対象画素に対するフィルタ処理を中止する。これは、上述のフィルタ装置１の動作（図２）において説明したステップＳ４における処理と同様である。
【０１２６】
算出した差分絶対値が閾値Ｔｈ２未満である場合（ステップＳ２２においてＮｏ）、フィルタ装置１は、ｋの値に「１」を加算する（ステップＳ２３）。続いて、差分値算出部１１は、画素Ｐｋの画素値ｐｋと、画素Ｐ（ｋ−１）の画素値ｐ（ｋ−１）との差分絶対値を算出する（ステップＳ２４）。次に、フィルタ装置１は、ステップＳ２４において算出した差分絶対値が閾値Ｔｈ４以上であるか否かを判定する（ステップＳ２５）。なお、閾値Ｔｈ４は、フィルタ装置１において予め設定されている値である。閾値Ｔｈ４は、フィルタ装置１において固定された値であってもよいし、ユーザーにより適宜設定される値であってもよい。
【０１２７】
ステップＳ２４において算出した差分絶対値が閾値Ｔｈ４以上である場合（ステップＳ２５においてＮｏ）、フィルタ装置１は、その時点におけるｋの値から「１」を減じた値を閾値Ｔｈ３として設定する（ステップＳ２６）。すなわち、ｋ＝３である場合、閾値Ｔｈ３＝２となり、フィルタ装置１は画素Ｐ０〜画素Ｐ２までの画素をフィルタ処理の対象画素とする。
【０１２８】
一方、ステップＳ２４において算出した差分絶対値が閾値Ｔｈ４未満である場合（ステップＳ２５においてＹｅｓ）、フィルタ装置１はその時点におけるｋの値が所定値Ｔｎ未満であるか否かを判定する（ステップＳ２６）。その時点におけるｋの値が所定値Ｔｎ以上である場合（ステップＳ２７においてＮｏ）、フィルタ装置１は、その時点におけるｋの値を閾値Ｔｈ３として設定する（ステップＳ２８）。ｋ＝３である場合、閾値Ｔｈ３＝３となり、フィルタ装置１は画素Ｐ０〜画素Ｐ３までの画素をフィルタ処理の対象画素とする。
【０１２９】
その時点におけるｋの値が所定値Ｔｎ未満である場合（ステップＳ２７においてＹｅｓ）、フィルタ装置１はその時点におけるｋの値に「１」を加算し（ステップＳ２３）、ステップＳ２４からの処理を再度実行する。このようにして、フィルタ装置１は、ステップＳ２４において算出した差分絶対値が閾値Ｔｈ４以上となるか、またはｋの値が所定値Ｔｎ以上となるまで処理を繰り返す。
【０１３０】
なお、所定値Ｔｎは、フィルタ装置１において予め設定された値である。所定値Ｔｎは、対象ブロックにおいて処理対象画素となりえる画素の限界値を設定するものである。上述したように、ブロック境界から離れた場所に位置する画素、すなわち境界画素からの画素数が大きい画素については、フィルタ処理する必要がないため、ステップＳ２４において算出する差分絶対値が閾値Ｔｈ４未満となり、フィルタ処理を施す必要のない画素までフィルタ処理を施すように設定されてしまうことを防ぐために設定されている値である。
【０１３１】
（閾値Ｔｈ３を所定のアルゴリズムにより設定することによる利点）
一般的な符号化技術では、符号化対象画像に近い予測画像を生成し、符号化対象画像と予測画像の差である予測誤差を変換し符号化する。したがって、フィルタ処理の対象となる対象ブロックの画素値は、予測画像と予測誤差(逆変換後の信号)の和により復号されたものになる。変換を実行する際のブロックのサイズが大きい場合、予測誤差のブロック内の画素値の変化は小さいことが期待できるが、予測画像に大きな変化があった場合には、予測画像と予測誤差の和により得られる復号画像における画素値の変化が小さいとは限らない。すなわち、予測画像の影響により、復号画像における画素値の変化が大きい場合には、フィルタ処理を施す範囲を小さくする設定する必要がある。
【０１３２】
しかし、非特許文献１および特許文献１に記載のフィルタ処理技術では、ブロック境界に対して一律にフィルタ処理するか否かを判定することはできるが、ブロック境界の一部にフィルタ処理を行うような処理はできない。
【０１３３】
本実施形態に係るフィルタ装置１の構成によれば、上記の問題点を解決することができる。すなわち、フィルタ装置１は、上記に説明したように、隣接画素間の差分絶対値を算出することにより、対象ブロックの行または列における閾値Ｔｈ３の値を適宜設定することができる。そのため、復号画像における画素値に変化があると考えられる場合には、対象ブロックの行または列において、フィルタ処理を施す画素の範囲を適宜変更することができる。もちろん、復号画像に変化がないと考えられる場合には、所定の画素数の画素までをフィルタ処理するようにしてもよい。
【０１３４】
（付記事項）
非特許文献１および特許文献１に記載されているフィルタ処理技術においても、境界の状態を示す値として、画素間の画素値の変換に相当する値（例えば、ＡＢＳ（ｐ２−ｐ０）、ＡＢＳ（ｐ１−ｐ０））を算出し、この値を用いてフィルタ処理を施すか否かを判定している。しかし、この判定は、あくまで処理対象である境界全体にフィルタ処理を施すか否かを判定するものであり、ブロックの境界からどの程度の画素数離れた画素までフィルタ処理するかを判定するものではない。
【０１３５】
（閾値Ｔｈ３の設定方法の変形例）
次に、閾値Ｔｈ３の設定方法の変形例について説明する。この変形例は、対象ブロックに隣接する隣接ブロックにおいて境界方向に垂直な成分の画素値の変化が大きい場合、すなわち画素Ｑ０周辺の画素値の変化が大きい場合を考慮した方法である。図８における画素Ｐijの画素値ｐijにフィルタ処理する場合の閾値Ｔｈ３および所定値Ｔｎを、それぞれ閾値Ｔｈ3j、所定値Ｔnjとする。
【０１３６】
本変形例の場合、画素値ｑ0j周辺の変化の大きさＭＡＧjを、画素値ｑ0j周辺の値の差分絶対値和などに基づいて算出する。
【０１３７】
より具体的には、下記式
ＭＡＧk＝ＡＢＳ（ｑ0k−ｑ0k-1）＋ＡＢＳ（ｑ0k−ｑ0k+1）
を用いて算出する。なお、ここで、ｋはｊの取りえる範囲内における任意の整数である。
【０１３８】
続いて、算出したＭＡＧjの大きさに基づいて、閾値Ｔｈ3jの値を複数の候補から選択する。例えば、ＭＡＧj＞γ１の場合には、閾値Ｔｈ3j＝２と設定し、ＭＡＧj≦γ１の場合には、閾値Ｔｈ3j＝４と設定し、ＭＡＧj≦γ２の場合には、閾値Ｔｈ3j＝８と設定する。ここで、γ１、γ２は所定の閾値であり、例えば、γ１＝８、γ２＝４である。
【０１３９】
また、所定値Ｔnjも、閾値Ｔｈ3jと同様に、ＭＡＧを用いて設定することができる。例えば、ＭＡＧj＞γ１の場合には、所定値Ｔnj＝２と設定し、ＭＡＧj≦γ１の場合には、所定値Ｔnj＝４と設定し、ＭＡＧj≦γ２の場合には、所定値Ｔnj＝８と設定する。
【０１４０】
これらの方法であれば、上述した画素間の画素値の差分絶対値を用いる方法を併用することが可能である。
【０１４１】
なお、フィルタ範囲の変化を抑制するためには、ＭＡＧjの代わりに、ＭＡＧjにローパスフィルタをかけた値を用いることが好ましい。
【０１４２】
より具体的には、ＭＡＧkを用いた算出式である下記式
ＭＡＧk´＝（ＭＡＧk-1 ＋ ２×ＭＡＧk ＋ ２×ＭＡＧk+1）／４
を用いて算出されるＭＡＧk´をＭＡＧkの代わりに用いるようにすることが好ましい。
【０１４３】
また、フィルタ範囲の変化を抑制するための別の方法として、閾値Ｔｈ3jの代わりに、閾値Ｔｈ3jにローパスフィルタをかけた値を用いてもよい。
【０１４４】
この場合には、閾値Ｔｈ3kを用いた算出式である下記式
閾値Ｔｈ3k´＝（Ｔｈ3k-1 ＋ ２×Ｔｈ3k ＋ ２×Ｔｈ3k+1）／４
を用いて算出された閾値Ｔｈ3k´を用いればよい。
【０１４５】
以上説明したような閾値Ｔｈ３の設定方法の変形例によれば、対象ブロックに隣接する隣接ブロックにおいて境界方向に垂直な成分の画素値の変化が大きい場合においても、フィルタ処理において、フィルタ処理の対象となる対象ブロックが波打つ（線上のノイズが生じる）ことを防止することができる。
【０１４６】
（付記事項）
上述した説明に用いた所定の閾値Ｔｈ２、Ｔｈ４、Ｔｎ、α、β、α１、β１、α２、β２、γ１、およびγ２は、量子化パラメータによって変更されることが好ましい。すなわち、量子化パラメータが大きくなるにつれて、閾値も大きくなるように変更されることが好ましい。
【０１４７】
また、対象ブロックにおいて処理対象画素となる範囲は、ブロックのサイズに応じて変更されることが好ましい。すなわち、閾値Ｔｈ３が境界の状態により設定されないような場合には、ブロックのサイズ毎に閾値Ｔｈ３を定めればよい。この場合、ブロックのサイズが大きくなるにつれて、閾値Ｔｈ３も大きくなるように設定される。この場合には、ブロックのサイズが大きくなるにつれて、所定値Ｔｎも大きくなるように、ブロックのサイズ毎に所定値Ｔｎを定めればよい。
【０１４８】
（平面的なフィルタ処理）
非特許文献１および特許文献１に記載されているフィルタ処理技術は、フィルタ処理の対象となる処理対象画素を有する対象ブロックにおける２つのブロック境界（垂直方向の境界および水平方向の境界）を順に処理するものである。しかし、非特許文献１および特許文献１に記載のフィルタ処理技術のように、垂直方向の境界および水平方向の境界を順にフィルタ処理するフィルタ処理技術では、垂直方向の境界および水平方向の境界を同時にフィルタ処理する場合と比較して、復号画像の画質に劣化が生じる。
【０１４９】
より具体的に説明すると、図１０に示すようなブロックの隅のような隣接するブロックの水平方向および垂直方向のいずれの境界部にも近い領域では、水平方向のフィルタ処理と垂直方向のフィルタ処理とが２重に施されることになる。フィルタ処理が２重に施されると、フィルタ処理による平滑化の効果が強くなりすぎるため、復号画像の画質に劣化が生じる。また、水平方向と垂直方向との重みに違いが生じることからも、復号画像の画質に劣化が生じる。
【０１５０】
そのため、ブロックの隅のような隣接するブロックの水平方向および垂直方向のいずれの境界部にも近い領域は、水平方向に対するフィルタ処理と垂直方向に対するフィルタ処理とを同時に施すようにすることが好ましい。すなわち、水平方向に対するフィルタ処理と垂直方向に対するフィルタ処理とを一度の処理で同時に施すことにより、フィルタ処理が２重に施されることを防止する。なお、本明細書等において、水平方向および垂直方向に対して同時に施すフィルタ処理を、「平面的なフィルタ処理」と称する。
【０１５１】
図１０は、対象ブロックにおいて、隣接するブロックの水平方向および垂直方向のいずれの境界部にも近い領域を示す図である。より具体的に説明すると、ブロックＸ（対象ブロック）において斜線部により示した領域に含まれる画素は、ブロックＸとブロックＹとの境界（水平方向の境界）における境界画素から閾値Ｔｈ３以下であり、かつブロックＸとブロックＺとの境界（垂直方向の境界）における境界画素から閾値Ｔｈ３以下の画素である。
【０１５２】
図１０において斜線により示した領域における画素の一例を図１１に示す。図１１に示す画素Ｐijは、図１０において、ブロックＸの斜線により示した領域に含まれる画素である。また、図１１では、行方向において画素Ｐijの最近傍に位置する隣接画素を画素Ｑ0jとし、列方向において画素Ｐijの最近傍に位置する隣接画素を画素Ｒi0として示している。
【０１５３】
画素Ｑ0jを有する隣接ブロックは、ブロックＸに対して横方向に隣接するブロックＺであり、画素Ｒi0を有する隣接ブロックは、ブロックＸに対して縦方向に隣接するブロックＹである。言い換えれば、ブロックＸにおける画素Ｐijは、画素Ｑ0jから行方向にｉ画素離れており、かつ、画素Ｒi0から列方向にｊ画素離れている画素である。また、ｉおよびｊは、いずれも閾値Ｔｈ３以下の値である。なお、本明細書等において「行」とはブロックにおける縦方向のラインを意味しており、「列」とはブロックにおける横方向のラインを意味している。
【０１５４】
ここで、平面的なフィルタ処理を施す画素は、図１０において示したように垂直方向の境界における境界画素からの画素数が閾値Ｔｈ３以下であり、かつ水平方向の境界における境界画素からの画素数が閾値Ｔｈ３以下である画素であることが好ましい。したがって、図４に示す領域においてフィルタ処理を施す場合、平面的なフィルタ処理は、図１２において斜線により示す領域のみとなる。すなわち、図１２において斜線により示す領域以外の領域であり、かつ、図４において斜線により示されている領域については、水平方向または垂直方向のフィルタ処理を施す。
【０１５５】
（平面的なフィルタ処理の詳細）
続いて、平面的なフィルタ処理における処理後の画素値の詳細な算出方法について説明する。なお、本項では、処理対象画素Ｐijが３２×３２のサイズのブロックに含まれており、画素Ｐijの行方向における隣接画素が画素Ｑ0jであり、画素Ｐijの列方向における隣接画素が画素Ｒi0である場合を例に挙げて説明する。また、本項では、画素Ｐijのフィルタ処理前の画素値を画素値ｐij、画素Ｑ0jの画素値を画素値ｑ0j、画素Ｒi0の画素値をｒi0とし、画素Ｐijのフィルタ処理後の画素値を画素値ｐij´とする。
【０１５６】
平面的なフィルタ処理における処理対象画素の処理後の画素値の算出方法は、基本的には、パターンＡにおける処理後の画素値の算出方法と同様である。しかし、平面的なフィルタ処理の場合、行方向の境界画素に隣接する隣接画素の画素値、および、列方向の境界画素に隣接する隣接画素の画素値を、隣接画素の画素値として用いる。すなわち、隣接画素Ｑ0jの画素値ｑ0jおよび隣接画素Ｒi0の画素値ｒi0の２つの隣接画素の画素値を用いる。
【０１５７】
したがって、画素値算出部１２は、処理対象画素Ｐijの画素値ｐij´を、画素値ｐij´と画素値ｑ0jと、画素値ｒi0とに基づいて算出する。より具体的には、画素値算出部１２は、下記式（７）
ｐij´＝（ＷＰ×ｐij＋ＷＶ×ｑ0j＋ＷＨ×ｒi0）／（ＷＰ＋ＷＶ＋ＷＨ）・・・（７）
を用いて処理後の画素値ｐij´を算出する。
【０１５８】
ここで、ＷＰ、ＷＶ、ＷＨはフィルタ係数であり、ＷＨは行方向の境界画素Ｐ０ｊからの距離（画素数）に応じて設定されるフィルタ係数であり、ＷＶは列方向の境界画素Ｐｉ０からの距離（画素数）に応じて設定されるフィルタ係数であり、ＷＰは、ＷＶの値およびＷＨの値に応じて設定されるフィルタ係数である。すなわち、ＷＶ＝１６−ｉ、ＷＨ＝１６−ｊにより算出される。また、ＷＰ＝３２−（ＷＨまたはＷＶ）により算出される。なお、ＷＰの算出の際に用いるＷＨまたはＷＶの値は、画素数の大きい方の値である。すなわち、処理対象画素が水平方向に画素数３であり、垂直方向に画素数１である場合は、ＷＨの値を用いる。ＷＰ、ＷＶおよびＷＨの一例を図１３の（ａ）〜（ｃ）に示す。
【０１５９】
また、上記式（７）では、（ＷＰ＋ＷＶ＋ＷＨ）の値、すなわち割る数が２のべき乗とはならないため、除算の演算量が多くなるおそれがある。そのため、割る数が２のべき乗（例えば、１０２４）となるようなフィルタ係数ＷＰ´、ＷＶ´、ＷＨ´を用いるようにしてもよい。割る数を２のべき乗とすることによって、除算の代わりにシフト演算を用いることができる。
【０１６０】
このようなフィルタ係数ＷＰ´、ＷＶ´、ＷＨ´は下記式（８）〜（１１）
ＷＶ´＝ｍ×ＷＶ・・・（８）
ＷＨ´＝ｍ×ＷＨ・・・（９）
ＷＰ´＝１０２４−（ＷＶ´＋ＷＨ´）・・・（１０）
ｍ＝１０２４／（ＷＰ＋ＷＶ＋ＷＨ）・・・（１１）
を用いて算出することができる。
【０１６１】
なお、「ｍ」は、（ＷＰ＋ＷＶ＋ＷＨ）の値とｍの値とを関連付けて登録したテーブルを参照して設定するようにしてもよい。
【０１６２】
この場合には、下記式（１２）
ｐij´＝（ＷＰ´×ｐij＋ＷＶ´×ｑ0j＋ＷＨ´×ｒi0）＞＞１０・・・（１２）
となるように画素値ｐij´を算出する。
【０１６３】
図１４の（ａ）および図１４の（ｂ）は、ぞれぞれ、フィルタ係数ＷＶ´、ＷＰ´の一例を示す図である。なお、ここにはＷＨ´の一例を示す図については示していないが、ＷＨ´は、図１４の（ａ）における「水平方向」を「垂直方向」に読みかえればよい。
【０１６４】
（平面的なフィルタ処理による利点）
以上説明したように、フィルタ装置１は、平面的なフィルタ処理を施すことにより、処理対象画素に対して水平方向のフィルタ処理と垂直方向のフィルタ処理とが２重に施されてしまうことを防止することができる。
【０１６５】
そのため、水平方向に対するフィルタ処理と垂直方向に対するフィルタ処理とを順に別々に施した場合よりも、復号した画像の画質の劣化をより一層防止することができる効果を奏する。また、フィルタ処理の処理量を低減することもできる。
【０１６６】
〔実施形態２〕
（画像復号装置１００の構成）
本発明に係るフィルタ装置を備えた画像復号装置について、実施形態２として図１５を参照しつつ以下に説明する。図１５は、実施形態２に係る画像復号装置１００の要部構成を示すブロック図である。なお、なお、実施形態１と同様の部材に関しては、同一の符号を付し、その説明を省略する。
【０１６７】
図１５に示すように、画像復号装置１００は、可変長符号化復号部１０１、逆量子化・逆変換部１０２、予測画像生成部１０３、フレームメモリ１０４、ブロックサイズ管理部１０５およびフィルタ装置１を備えている。画像復号装置１００におけるフィルタ装置１以外の部材は、従来の画像復号装置と同様の部材を用いることができる。
【０１６８】
実施形態１において詳細に説明したフィルタ装置１を除く各部材について説明しつつ、画像復号装置１００の動作について以下に説明する。
【０１６９】
（画像復号装置１００の動作）
可変長符号化復号部１０１は、復号対象ブロックの予測残差データなどの符号化パラメータを表す符号化データを可変長復号処理する。逆量子化・逆変換部１０２は、入力されたパラメータを逆量子化すると共に、逆変換する。すなわち、逆量子化・逆変換部１０２は、復号された予測残差データの量子化係数を逆量子化して出力すると共に、予測残差データの変換係数を逆直交変換して出力する。また、ブロックサイズ管理部１０５は、可変長復号処理により復号された変換サイズを保存する。なお、逆変換における変換方法としては、直交変換が一般的であるが、これに限定されるものではない。例えば、ＱＭＦに代表されるフィルタバンクを用いる方法を用いてもよいし、ガボール関数に代表される非直交基底による変換を用いてもよいし、ウェーブレット変換を用いてもよい。
【０１７０】
逆量子化・逆変換部１０２において逆変換された逆変換後の信号は、予測画像生成部１０３において生成された予測画像に加算され、復号画像として出力される。出力された復号画像は、フレームメモリ１０４に格納される。
【０１７１】
フィルタ装置１は、ブロックサイズ管理部１０５から処理対象画素を有する対象ブロックのブロックサイズおよび対象ブロックに隣接するブロックのブロックサイズを取得する。また、フィルタ装置１は、フレームメモリ１０４に記録されている画素値を参照して、フィルタ処理後の画素値を出力する。すなわち、フィルタ装置１においてフィルタ処理された画素の画素値は、フレームメモリ１０４に記録される。このとき、フレームメモリ１０４では、フィルタ装置１においてフィルタ処理された後の画素値が、処理前の画素値に置き換えられる。
【０１７２】
フレームメモリ１０４において格納されたフィルタ処理された画像は、予測画像生成部１０３において予測画像の生成に用いられる。また、フィルタ装置１においてフィルタ処理された画像は、画像復号装置１００の外部に出力画像として出力される。すなわち、フィルタ装置１は、画像復号装置１００におけるループフィルタ（すなわち、フレームメモリに格納される画像にかかるフィルタ）として用いることもできるし、またポストフィルタ（すなわち、出力画像にかかるフィルタ）として用いることもできる。
【０１７３】
（付記事項）
なお、本実施形態では画像復号装置１００にフィルタ装置１を備えている場合について例示しているが、もちろん画像符号化装置に備えられているループフィルタとしてフィルタ装置１を備えるようにしてもよい。この場合、フィルタ装置１以外の部材については、従来公知の画像符号化装置と同様の部材を用いることができる。
【０１７４】
（プログラムおよび記録媒体）
フィルタ装置１および画像復号装置１００に含まれている各ブロックは、ハードウェアロジックによって構成すればよい。または、次のように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いてソフトウェアによって実現してもよい。
【０１７５】
すなわちフィルタ装置１および画像復号装置１００は、各機能を実現するプログラムの命令を実行するＣＰＵ、このプログラムを格納したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、上記プログラムを実行可能な形式に展開するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、および、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）を備えている。この構成により、本発明の目的は、所定の記録媒体によっても、達成できる。
【０１７６】
この記録媒体は、上述した機能を実現するソフトウェアであるフィルタ装置１および画像復号装置１００のプログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録していればよい。フィルタ装置１および画像復号装置１００に、この記録媒体を供給する。これにより、コンピュータとしてのフィルタ装置１および画像復号装置１００（またはＣＰＵあるいはＭＰＵ）が、供給された記録媒体に記録されているプログラムコードを読み出し、実行すればよい。
【０１７７】
プログラムコードをフィルタ装置１および画像復号装置１００に供給する記録媒体は、特定の構造または種類のものに限定されない。すなわちこの記録媒体は、たとえば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などとすることができる。
【０１７８】
また、フィルタ装置１および画像復号装置１００を通信ネットワークと接続可能に構成しても、本発明の目的を達成できる。この場合、上記のプログラムコードを、通信ネットワークを介してフィルタ装置１および画像復号装置１００に供給する。この通信ネットワークはフィルタ装置１および画像復号装置１００にプログラムコードを供給できるものであればよく、特定の種類または形態に限定されない。たとえばインターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）、電話回線網、移動体通信網、衛星通信網等であればよい。
【０１７９】
この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な任意の媒体であればよく、特定の構成または種類のものに限定されない。たとえばＩＥＥＥ１３９４、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０１８０】
以上、本発明を実施形態に基づいて具体的に説明したが、本発明は、上述した各実施形態に限定されるものではなく、請求項に示した範囲において種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１８１】
本発明に係るフィルタ装置は、画像もしくは動画像符号化装置および画像もしくは動画像復号装置におけるループフィルタまたはポストフィルタとして動作するフィルタ装置として好適に利用することができる。
【符号の説明】
【０１８２】
１            フィルタ装置
１０          ブロックサイズ判定部（第１の判定手段）
１１          差分値算出部
１２          画素値算出部
１３          隣接ブロックサイズ判定部（第２の判定手段）
１４          出力部
１００        画像復号装置
１０１        可変長符号化復号部
１０２        逆量子化・逆変換部
１０３        予測画像生成部
１０４        フレームメモリ
１０５        ブロックサイズ管理部
【図１】
2010001911.tif 000003
【図２】
2010001911.tif 000004
【図３】
2010001911.tif 000005
【図４】
2010001911.tif 000006
【図５】
2010001911.tif 000007
【図６】
2010001911.tif 000008
【図７】
2010001911.tif 000009
【図８】
2010001911.tif 000010
【図９】
2010001911.tif 000011
【図１０】
2010001911.tif 000012
【図１１】
2010001911.tif 000013
【図１２】
2010001911.tif 000014
【図１３】
2010001911.tif 000015
【図１４】
2010001911.tif 000016
【図１５】
2010001911.tif 000017
【図１６】
2010001911.tif 000018
【図１７】
2010001911.tif 000019
【図１８】
2010001911.tif 000020
【手続補正書】
【提出日】平成22年12月20日(2010.12.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
本発明に係るフィルタ装置では、さらに、上記画素値算出手段は、下記式（１）
（Ｗ１×ｐ＋Ｗ２×ｑ）／（Ｗ１＋Ｗ２）・・・（１）
（上記式（１）中、ｐは上記処理対象画素の画素値、ｑは上記隣接画素の画素値、Ｗ１およびＷ２は所定の重み付け係数を示す）
を用いて上記処理対象画素の補正後の画素値を算出することが好ましい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
また、本発明に係るフィルタ装置では、さらに、上記画素値算出手段は、下記式（２）
（ＷＰ×ｐ＋ＷＨ×ｑ＋ＷＶ×ｒ）／（ＷＰ＋ＷＨ＋ＷＶ）・・・（２）
（上記式（２）中、ｐは上記処理対象画素の画素値、ｑは行方向の境界画素に隣接する隣接画素の画素値、ｒは列方向の境界画素に隣接する隣接画素の画素値、ＷＰ、ＷＨおよびＷＶは所定の重み付け係数を示す）
を用いて上記処理対象画素の補正後の画素値を算出することが好ましい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
【図１】実施形態１に係るフィルタ装置の要部構成を示すブロック図である。
【図２】実施形態１に係るフィルタ装置の動作を示すフローチャートである。
【図３】ある画像データにおけるブロック分割を模式的に示した図である。
【図４】対象ブロックのサイズが閾値Ｔｈ１以上のブロックにおける処理対象画素を有する領域を模式的に示した図である。
【図５】ブロックの境界部分における画素を模式的に示した図である。
【図６】画素Ｐ０〜Ｐ７および画素Ｑ０におけるフィルタ係数の一例を示す図である。
【図７】対象ブロックのサイズが閾値Ｔｈ１未満であり、隣接ブロックのサイズが閾値Ｔｈ１以上のブロックにおける処理対象画素を有する領域を模式的に示した図である。
【図８】ブロックの境界部分における画素を模式的に示した図である。
【図９】閾値Ｔｈ３の設定方法を示すフローチャートである。
【図１０】対象ブロックにおいて、隣接するブロックの水平方向および垂直方向のいずれの境界部にも近い領域を示す図である。
【図１１】図１０において斜線により示した領域における画素を模式的に示す図である。
【図１２】平面的なフィルタ処理を施す領域を模式的に示す図である。
【図１３】平面的なフィルタ処理を施す際のフィルタ係数の一例を示す図であり、（ａ）はＷＨのフィルタ係数を示しており、（ｂ）はＷＶのフィルタ係数を示しており、（ｃ）はＷＰのフィルタ係数を示している。
【図１４】平面的なフィルタ処理を施す際のフィルタ係数の変形例の一例を示す図であり、（ａ）はＷＶ´のフィルタ係数を示しており、（ｂ）はＷＰ´のフィルタ係数を示している。
【図１５】実施形態２に係る復号装置の要部構成を示すブロック図である。
【図１６】ブロック境界における画素および当該画素の画素値を模式的に示した図である。
【図１７】フィルタ係数の一例を示す図であり、（ａ）は画素値ｐ０´、ｐ１´、ｐ２´を算出する際のフィルタ係数を示しており、（ｂ）は画素値ｑ０´、ｑ１´、ｑ２´を算出する際のフィルタ係数を示している。
【図１８】従来技術におけるフィルタ処理を模式的に示した図である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
（パターンＢ：対象ブロックのサイズが閾値Ｔｈ１未満であり、隣接ブロックのサイズが閾値Ｔｈ１以上である場合）
次に、フィルタ処理の処理対象画素を有する対象ブロックのサイズが閾値Ｔｈ１未満であり、隣接ブロックのサイズが閾値Ｔｈ１以上である場合における処理対象画素の画素値の算出方法（パターンＢ）の詳細について以下に説明する。なお、本項でも、上述したパターンＡにおける処理と同様に、フィルタ処理の対象となる画像が図３に示すように分割されており、閾値Ｔｈ１が「１０２４」である場合を例に挙げて説明する。すなわち、閾値Ｔｈ１以上であるブロックは３２×３２のサイズのブロックであり、閾値Ｔｈ１未満であるブロックは８×８のサイズおよび１６×１６のサイズのブロックとなる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１０７
【補正方法】変更
【補正の内容】
【０１０７】
（パターンＡの変形例）
上述したように、パターンＡの処理によるフィルタ方法では、対象ブロックに隣接する隣接ブロックにおいて境界方向に平行な成分の画素値の変化が大きい場合、すなわち画素値ｑ０周辺の変化が大きい場合にも隣接画素Ｑ０の画素値ｑ０のみを用いる。しかし、対象ブロックに隣接する隣接ブロックにおける隣接画素の画素値において、当該画素値の周辺の変化が大きい場合には、フィルタ処理によって画素値の変化が対象ブロックに及ぼされることがある。この場合、フィルタ処理の対象となる対象ブロックが波打つ（線状のノイズが生じる）ことがある。このような、ノイズは、フィルタ対象範囲が広くなる場合において、特に目立ち、復号した画像が視覚的に不自然に見える可能性が高い。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
図８は、図５の拡張した図であり、対象ブロックに隣接する１つの境界だけでなく、対象ブロックに隣接する境界全体を示した図である。図８では、互いに隣接するブロックのうち、一方のブロックの画素を画素Ｐijとし、もう一方のブロックの画素を画素Ｑijとする（ｉは０〜ｎであり、ｎは任意の整数）。なお、画素Ｐijおよび画素Ｑijにおけるｉは、ブロック境界に近いほど値が小さくなる。ｊは、境界に平行な成分を現すためのインデックスであり、０から〔対象ブロックの垂直方向の画素数−１〕までの値を取る。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
なお、画素Ｑ0jの画素値ｑ0j´は、境界方向に平行な画素間において、ローパス効果がかかるように算出すればよい。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１３４
【補正方法】変更
【補正の内容】
【０１３４】
非特許文献１および特許文献１に記載されているフィルタ処理技術においても、境界の状態を示す値として、画素間の画素値の変化に相当する値（例えば、ＡＢＳ（ｐ２−ｐ０）、ＡＢＳ（ｐ１−ｐ０））を算出し、この値を用いてフィルタ処理を施すか否かを判定している。しかし、この判定は、あくまで処理対象である境界全体にフィルタ処理を施すか否かを判定するものであり、ブロックの境界からどの程度の画素数離れた画素までフィルタ処理するかを判定するものではない。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１３５
【補正方法】変更
【補正の内容】
【０１３５】
（閾値Ｔｈ３の設定方法の変形例）
次に、閾値Ｔｈ３の設定方法の変形例について説明する。この変形例は、対象ブロックに隣接する隣接ブロックにおいて境界方向に平行な成分の画素値の変化が大きい場合、すなわち画素Ｑ０周辺の画素値の変化が大きい場合を考慮した方法である。図８における画素Ｐijの画素値ｐijにフィルタ処理する場合の閾値Ｔｈ３および所定値Ｔｎを、それぞれ閾値Ｔｈ3j、所定値Ｔnjとする。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１４２
【補正方法】変更
【補正の内容】
【０１４２】
より具体的には、ＭＡＧkを用いた算出式である下記式
ＭＡＧk´＝（ＭＡＧk-1 ＋ ２×ＭＡＧk ＋ ＭＡＧk+1）／４
を用いて算出されるＭＡＧk´をＭＡＧkの代わりに用いるようにすることが好ましい。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１４４
【補正方法】変更
【補正の内容】
【０１４４】
この場合には、閾値Ｔｈ3kを用いた算出式である下記式
閾値Ｔｈ3k´＝（Ｔｈ3k-1 ＋ ２×Ｔｈ3k ＋ Ｔｈ3k+1）／４
を用いて算出された閾値Ｔｈ3k´を用いればよい。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１４５
【補正方法】変更
【補正の内容】
【０１４５】
以上説明したような閾値Ｔｈ３の設定方法の変形例によれば、対象ブロックに隣接する隣接ブロックにおいて境界方向に平行な成分の画素値の変化が大きい場合においても、フィルタ処理において、フィルタ処理の対象となる対象ブロックが波打つ（線状のノイズが生じる）ことを防止することができる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１５３
【補正方法】変更
【補正の内容】
【０１５３】
画素Ｑ0jを有する隣接ブロックは、ブロックＸに対して横方向に隣接するブロックＺであり、画素Ｒi0を有する隣接ブロックは、ブロックＸに対して縦方向に隣接するブロックＹである。言い換えれば、ブロックＸにおける画素Ｐijは、画素Ｑ0jから行方向にｉ画素離れており、かつ、画素Ｒi0から列方向にｊ画素離れている画素である。また、ｉおよびｊは、いずれも閾値Ｔｈ３以下の値である。なお、本明細書等において「行」とはブロックにおける横方向のラインを意味しており、「列」とはブロックにおける縦方向のラインを意味している。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１５７
【補正方法】変更
【補正の内容】
【０１５７】
したがって、画素値算出部１２は、処理対象画素Ｐijの画素値ｐij´を、画素値ｐijと画素値ｑ0jと、画素値ｒi0とに基づいて算出する。より具体的には、画素値算出部１２は、下記式（７）
ｐij´＝（ＷＰ×ｐij＋ＷＶ×ｑ0j＋ＷＨ×ｒi0）／（ＷＰ＋ＷＶ＋ＷＨ）・・・（７）
を用いて処理後の画素値ｐij´を算出する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１５８
【補正方法】変更
【補正の内容】
【０１５８】
ここで、ＷＰ、ＷＶ、ＷＨはフィルタ係数であり、ＷＨは行方向の境界画素Ｐ０ｊからの距離（画素数）に応じて設定されるフィルタ係数であり、ＷＶは列方向の境界画素Ｐｉ０からの距離（画素数）に応じて設定されるフィルタ係数であり、ＷＰは、ＷＶの値およびＷＨの値に応じて設定されるフィルタ係数である。すなわち、ＷＶ＝１６−ｊ、ＷＨ＝１６−ｉにより算出される。また、ＷＰ＝３２−（ＷＨまたはＷＶ）により算出される。なお、ＷＰの算出の際に用いるＷＨまたはＷＶの値は、画素数の大きい方の値である。すなわち、処理対象画素が水平方向に画素数３であり、垂直方向に画素数１である場合は、ＷＨの値を用いる。ＷＰ、ＷＶおよびＷＨの一例を図１３の（ａ）〜（ｃ）に示す。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１６３
【補正方法】変更
【補正の内容】
【０１６３】
図１４の（ａ）および図１４の（ｂ）は、ぞれぞれ、フィルタ係数ＷＨ´、ＷＰ´の一例を示す図である。なお、ここにはＷＶ´の一例を示す図については示していないが、ＷＶ´は、図１４の（ａ）における「水平境界からの距離」と「垂直境界からの距離」とを入れ替えたものを用いればよい。
【手続補正１７】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サイズの異なる複数のブロックに分割して符号化された画像情報を復号する際に、あるブロックと当該あるブロックに隣接する隣接ブロックとの境界近傍に位置し、かつ、上記あるブロックに属する処理対象画素の画素値を補正するフィルタ装置であって、
上記あるブロックのサイズが第１の閾値以上であるか否かを判定する第１の判定手段と、
上記あるブロックのサイズが上記第１の閾値以上である場合、当該あるブロックに属する少なくとも１つの画素の画素値と、上記隣接ブロックに属する少なくとも１つの画素の画素値とに基づいて、上記処理対象画素の補正後の画素値を算出する画素値算出手段と、
を備えていることを特徴とするフィルタ装置。
【請求項２】
上記画素値算出手段は、上記あるブロックのサイズが上記第１の閾値以上の場合、当該あるブロックのサイズが上記第１の閾値より小さい場合において用いるよりも少ない数の画素を用いて上記処理対象画素の補正後の画素値を算出することを特徴とする請求項１に記載のフィルタ装置。
【請求項３】
上記第１の判定手段において、上記あるブロックのサイズが上記第１の閾値以上であると判定された場合、上記処理対象画素を有する行および列の少なくともいずれかに含まれる上記あるブロック内の画素であり、かつ、上記隣接ブロックに隣接する画素である境界画素の画素値と、上記隣接ブロックにおいて当該境界画素に隣接する隣接画素の画素値との差分絶対値を算出する差分値算出手段をさらに備えており、
上記画素値算出手段は、上記差分値算出手段において算出した差分絶対値が第２の閾値よりも小さい場合、上記処理対象画素の画素値と、上記隣接画素の画素値とに基づいて、当該処理対象画素の補正後の画素値を算出することを特徴とする請求項１または２に記載のフィルタ装置。
【請求項４】
上記画素値算出手段は、上記処理対象画素が、行方向および列方向のいずれの方向においても上記あるブロックと上記隣接ブロックとの境界近傍に位置する場合、上記行方向の境界画素に隣接する隣接画素の画素値、および、上記列方向の境界画素に隣接する隣接画素の画素値を、上記隣接画素の画素値として用いることを特徴とする請求項３に記載のフィルタ装置。
【請求項５】
上記処理対象画素として設定される画素の範囲は、上記あるブロックのサイズに応じて定められることを特徴とする請求項１から４のいずれか１項に記載のフィルタ装置。
【請求項６】
上記処理対象画素は、上記あるブロックの各行に含まれる画素の方向に隣接する画素間の画素値の差分絶対値、または、上記あるブロックの各列に含まれる画素の列方向に隣接する画素間の画素値の差分絶対値を用いて設定されることを特徴とする請求項１から４のいずれか１項に記載のフィルタ装置。
【請求項７】
上記あるブロックに隣接する隣接ブロックのサイズを判定する第２の判定手段をさらに備えており、
上記画素値算出手段は、上記第２の判定手段において判定された隣接ブロックのサイズに応じて、フィルタ強度を変更するように構成されていることを特徴とする請求項１から６のいずれか１項に記載のフィルタ装置。
【請求項８】
上記あるブロックの各行に含まれる画素のうち、上記隣接ブロックに隣接する境界画素から、行方向に隣接する画素間の画素値の差分絶対値が最初に第３の閾値以上となる画素まで、または、上記あるブロックの各列に含まれる画素のうち、上記隣接ブロックに隣接する境界画素から、列方向に隣接する画素間の画素値の差分絶対値が最初に第３の閾値以上となる画素までを上記処理対象画素とすることを特徴とする請求項６に記載のフィルタ装置。
【請求項９】
上記第２の判定手段は、上記あるブロックのサイズが上記第１の閾値よりも小さい場合、上記あるブロックに隣接するいずれかの隣接ブロックのサイズが上記第１の閾値以上であるか否かを判定し、
上記画素値算出手段は、上記隣接ブロックのいずれかのサイズが上記第１の閾値以上である場合、上記隣接ブロックのサイズがいずれも上記第１の閾値より小さい場合と比べてフィルタ強度が強くなるように構成されていることを特徴とする請求項７に記載のフィルタ装置。
【請求項１０】
上記画素値算出手段は、下記式（１）を用いて上記処理対象画素の補正後の画素値を算出することを特徴とする請求項３に記載のフィルタ装置。
（Ｗ１×ｐ＋Ｗ２×ｑ）／（Ｗ１＋Ｗ２）・・・（１）
（上記式（１）中、ｐは上記処理対象画素の画素値、ｑは上記隣接画素の画素値、Ｗ１およびＷ２は所定の重み付け係数を示す）
【請求項１１】
上記画素値算出手段は、下記式（２）を用いて上記処理対象画素の補正後の画素値を算出することを特徴とする請求項４に記載のフィルタ装置。
（ＷＰ×ｐ＋ＷＨ×ｑ＋ＷＶ×ｒ）／（ＷＰ＋ＷＨ＋ＷＶ）・・・（２）
（上記式（２）中、ｐは上記処理対象画素の画素値、ｑは行方向の境界画素に隣接する隣接画素の画素値、ｒは列方向の境界画素に隣接する隣接画素の画素値、ＷＰ、ＷＨおよびＷＶは所定の重み付け係数を示す）
【請求項１２】
サイズの異なる複数のブロックに分割して符号化された画像情報を復号する際に、あるブロックと当該あるブロックに隣接する隣接ブロックとの境界近傍に位置し、かつ、上記あるブロックに属する処理対象画素の画素値を補正するフィルタ処理方法であって、
上記あるブロックのサイズが第１の閾値以上であるか否かを判定する第１の判定ステップと、
上記あるブロックのサイズが上記第１の閾値以上である場合、上記処理対象画素を有する行および列の少なくともいずれかに含まれる上記あるブロック内の画素であって、かつ、上記隣接ブロックに隣接する画素である境界画素の画素値と、上記隣接ブロックにおいて当該境界画素に隣接する隣接画素の画素値との差分絶対値を算出する差分値算出ステップと、
算出した上記差分絶対値が第２の閾値よりも小さい場合、上記処理対象画素の画素値と、上記隣接画素の画素値とに基づいて、当該処理対象画素の補正後の画素値を算出する画素値算出ステップと、
を含むことを特徴とするフィルタ処理方法。
【請求項１３】
サイズの異なる複数のブロックごとに分割して符号化された画像情報を復号する復号装置であって、請求項１から１１のいずれか１項に記載のフィルタ装置を備えていることを特徴とする復号装置。
【請求項１４】
画像情報をサイズの異なる複数のブロックに分割して符号化する符号化装置であって、請求項１から１１のいずれか１項に記載のフィルタ装置を備えていることを特徴とする符号化装置。
【国際調査報告】
2010001911.tif 000021
2010001911.tif 000022
2010001911.tif 000023
2010001911.tif 000024