JP4605052B2 - 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム - Google Patents

動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム Download PDF

Info

Publication number
JP4605052B2
JP4605052B2 JP2006058303A JP2006058303A JP4605052B2 JP 4605052 B2 JP4605052 B2 JP 4605052B2 JP 2006058303 A JP2006058303 A JP 2006058303A JP 2006058303 A JP2006058303 A JP 2006058303A JP 4605052 B2 JP4605052 B2 JP 4605052B2
Authority
JP
Japan
Prior art keywords
filter
filter processing
filtering
result
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006058303A
Other languages
English (en)
Other versions
JP2007235886A (ja
Inventor
達治 森吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006058303A priority Critical patent/JP4605052B2/ja
Publication of JP2007235886A publication Critical patent/JP2007235886A/ja
Application granted granted Critical
Publication of JP4605052B2 publication Critical patent/JP4605052B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、画像に対するフィルタ処理を高速処理可能な動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びコンピュータプログラムに関する。
動画像信号を低ビットレート、高圧縮率かつ高画質で符号化して符号化データを生成したり、符号化された動画像を復号化したりする技術として、ITU(International Telecommunication Union)が標準化したH.261、H.263や、ISO(International Organization for Standardization)のMPEG−1、MPEG−2、MPEG−4などがある。さらに、近年ITUとISOが共同で規格化を行ったH.264がある(非特許文献1)。このH.264では、さらなる圧縮効率向上、画質向上のために、ループ内フィルタが採用されている。
H.264復号化処理の概略について図1を参照して以下に説明する。
外部から供給される圧縮符号化された画像ビットストリームデータ(単に「ビットストリーム」と略記する)は、可変長符号復号部1001に入力される。
可変長符号復号部1001は、入力されたビットストリームに対して、ビットストリームに記録された情報に基づいて、所定の可変長復号処理又は算術符号復号処理を行い、得られた符号化モードや量子化パラメータや量子化された直交変換係数の情報を、逆量子化部1002に供給する。また、可変長符号復号部1001は、参照ピクチャや動きベクトルの情報を動き補償部1004に供給する。また、可変長符号復号部1001は、フレーム内予測モード情報をフレーム内予測部1005に供給する。可変長符号復号部1001は、符号化モード情報を切り替え部1009に供給する。
逆量子化部1002は、供給される量子化された直交変換係数に対して所定の逆量子化処理を行い、得られた直交変換係数の情報を逆直交変換部1003に供給する。
逆直交変換部1003は、直交変換係数に対して所定の逆直交変換処理を行い、得られた差分画像情報を加算部1010に供給する。
一方、動き補償部1004は、供給される参照ピクチャ、動きベクトル情報に基づき、フレームメモリ1008に格納されている参照ピクチャを用いて所定の動き補償処理を行い、得られた予測画像情報を切り替え部1009に供給する。
フレーム内予測部1005は、供給されるフレーム内予測モード情報に基づき、復号画像メモリ1006に格納されている復号画像を用いて所定のフレーム内予測処理を行い、得られた予測画像情報を切り替え部1009に供給する。
切り替え部1009は、可変長符号復号部1001より供給される符号化モード情報に基づき、予測画像を選択して(フレーム内予測、フレーム間予測)、加算部1010に供給する。
加算部1010は、切り替え部1009より供給される予測画像と差分画像を加算し、得られる復号画像情報を復号画像メモリ1006に供給する。
復号画像メモリ1006は、加算部1010より供給される復号画像の全て又は一部を記憶し、フレーム内予測部1005及びループ内フィルタ部1007に供給する。
ループ内フィルタ部1007は、復号画像メモリ1006より供給される復号画像に所定のループ内フィルタ処理(ブロックノイズを低減するデブロックフィルタ処理等)を施し、得られるフィルタ処理後の復号画像をフレームメモリ1008に供給する。
フレームメモリ1008は、ループ内フィルタ部1007より供給されるフィルタ処理後の復号画像を所定の枚数記憶し、動き補償部1004に供給するとともに、所定のタイミングで復号画像を外部に出力する。
次に、H.264符号化処理について図2を参照して以下に説明する。
外部から供給される画像は予測、符号化モード判定部1114と、減算部1110に供給される。
予測、符号化モード判定部1114は、入力された画像信号と、フレームメモリ1109から供給されるフィルタ処理後の復号画像、復号画像メモリ1107から供給される復号画像の情報を用い、符号化モード、参照ピクチャ、動きベクトル、フレーム内予測モード等を決定し、可変長符号符号化部1103、動き補償部1112、フレーム内予測部1113、切り替え部1111に供給する。
動き補償部1112は、供給される参照ピクチャ、動きベクトル情報に基づき、フレームメモリ1109に格納されている参照ピクチャを用いて所定の動き補償処理を行い、得られた予測画像情報を切り替え部1111に供給する。
フレーム内予測部1113は、予測、符号化モード判定部1114より供給されるフレーム内予測モード情報に基づき、復号画像メモリ1107に格納されている復号画像を用いて所定のフレーム内予測処理を行い、得られた予測画像情報を切り替え部1111に供給する。
切り替え部1111は、予測、符号化モード判定部1114より供給される符号化モード情報に基づき、予測画像を選択して減算部1110及び加算部1106に供給する。
減算部1110は、外部から入力される画像から予測画像を減算し、得られた差分画像情報を直交変換部1101に供給する。
直交変換部1101は、差分画像情報に所定の直交変換処理を行い、得られた直交変換係数を量子化部1102に供給する。
量子化部1102は、直交変換係数に所定の量子化処理を行い、量子化された直交変換係数を可変長符号符号化部1103及び逆量子化部1104に供給する。
可変長符号符号化部1103は、入力される情報に所定の可変長符号符号化処理又は算術符号符号化処理を行い、ビットストリームを生成して外部に出力する。
逆量子化部1104は、供給される量子化された直交変換係数に対して所定の逆量子化処理を行い、得られた直交変換係数の情報を逆直交変換部1105に供給する。
逆直交変換部1105は、直交変換係数に対して所定の逆直交変換処理を行い、得られた差分画像情報を加算部1106に供給する。
加算部1106は、供給される予測画像と差分画像を加算し、得られる復号画像情報を復号画像メモリ1107に供給する。
復号画像メモリ1107は、加算部1106より供給される復号画像の全て又は一部を記憶し、フレーム内予測部1113、ループ内フィルタ部1108及び予測、符号化モード判定部1114に供給する。
ループ内フィルタ部1108は、復号画像メモリ1107より供給される復号画像に、所定のループ内フィルタ処理を施し、得られるフィルタ処理後の復号画像をフレームメモリ1109に供給する。
フレームメモリ1109は、ループ内フィルタ部1108より供給されるフィルタ処理後の復号画像を所定の枚数記憶し、動き補償部1112及び予測、符号化モード判定部1114に供給する。
以上で説明したように、H.264復号化処理では、復号化時の動き補償処理でフレームメモリに格納されている画像を参照するが、参照される画像は、復号画像にループ内フィルタ処理を行った結果である。
また、H.264符号化処理では、符号化及び復号化(符号化器で復号化器と同一の内部状態を得るための局所復号化処理)時の動き補償処理でフレームメモリに格納されている画像を参照するが、参照される画像は、符号済みの画像又は復号画像(局所復号画像)にループ内フィルタ処理を行った結果である。
次に、H.264のループ内フィルタ処理について説明する。
MPEG−2/4等の動画像符号化では、特に、低ビットレートで符号化する場合に復号画像にブロック歪が発生する場合がある。以降の画像の符号化の際には、このブロック歪を含んだ復号画像を動き補償で参照するため、以降の画像にもブロック歪の影響による画質劣化が伝播してしまう問題があった。
そこで、H.264では、復号画像を動き補償で参照するために、フレームメモリに格納する前に、符号化によって発生したブロック歪等の歪を低減するフィルタ(「ループ内フィルタ」という)を適用する技術が採用された。
H.264では、4×4画素ブロック単位で直交変換処理を行うため、このブロック境界でブロック歪が発生しやすい。そこで、各4×4ブロックの境界に対してフィルタ処理を行う。
また、符号化による歪の大きさは、1枚の画像内でも場所によって異なるため、ブロックの符号化モードや量子化パラメータなどに応じて、フィルタの強度を適応的に制御する。
フィルタ処理は、画像内の各マクロブロック(MB)毎に、水平走査順に適用される。H.264では、マクロブロックは、16×16画素の矩形領域である。
マクロブロック内での各4×4ブロック境界に対するフィルタの適用順を、図3を参照して以下に説明する。
16×16画素のマクロブロックの4本の垂直方向のブロック境界101、102、103、104に対して、この順番でフィルタを適用し、次に4本の水平方向のブロック境界105、106、107、108に対してこの順番にフィルタを適用する。各ブロック境界に対しては、境界に直交する方向に、1次元のフィルタを適用する。すなわち、垂直方向のブロック境界では、水平方向のフィルタを適用し、水平方向のブロック境界では、垂直方向のフィルタを適用する。なお、図3に示す8本のブロック境界のうち、ブロック境界101及び105はMB境界でもある。
ループ内フィルタの動作は、スライス単位で切り替えることが可能である。ここで、スライスとは、整数個数のMBの集合である。
フィルタ処理の動作を制御するため、H.264ビットストリームには、スライス毎にパラメータdisable_deblocking_filter_idcを記録出来る。
disable_deblocking_filter_idcが記録されていない場合には、disable_deblocking_filter_idcの値は0として扱う。
disable_deblocking_filter_idcが0の場合には、該当スライス内の全てのブロック境界に対してフィルタ処理を適用する。
disable_deblocking_filter_idcが1の場合には、該当スライス内のブロック境界に対してはフィルタ処理を行わない。
また、disable_deblocking_filter_idcが2の場合には該当スライス内の、スライス境界を除く全てのブロック境界に対してフィルタ処理を適用する。
フィルタ処理にあたっては、当該MB内の画素データだけではなく、当該MBの上側及び左側に隣接するMBの画素データも変更する。
フィルタ処理にあたって、まずフィルタ適用の可否やフィルタ強度を制御するパラメータであるbS(Boundary Strength)を算出する。
bS値の算出手順の概略を、図4のフローチャートを参照して説明する。
bS値は、対象とする4×4ブロック境界を挟んで隣接する2つの4×4ブロック(2つのブロックを、ブロックPとブロックQとする)の符号化モードや動きベクトルなどの情報を参照して算出される。
まず、ブロックP又はブロックQのいずれかがイントラ符号化されたブロックであるか否かを判定する(ステップS101)。
ステップS101で条件が成立する場合には、次に対象とするブロック境界がMB境界であるか否かを判定する(ステップS102)。
ステップS102で条件が成立する場合には、bS値は4とする(ステップS105)。一方、ステップS102で条件が成立しない場合には、bS値は3とする(ステップS106)。
一方、ステップS101で条件が成立しない場合には、次にブロックP、ブロックQの少なくとも一方が非零の直交変換係数を持つか否かを判定する(ステップS103)。
ステップS103で条件が成立する場合には、bS値は2とする(ステップS107)。
ステップS103で条件が成立しない場合には、さらに、
・ブロックP及びブロックQの参照ピクチャ数が同一である、
・ブロックP及びブロックQの参照するピクチャが同一である、
・ブロックP及びブロックQの全ての動きベクトルのX方向成分及びY方向成分それぞれの差の絶対値が1画素未満である、
という3つの条件が全て満たされるか否かを判定する(ステップS104)。
ステップS104で条件が成立する場合には、bS値は0とする(ステップS109)。
一方、ステップS104で条件が成立しない場合には、bS値は1とする(ステップS108)。
図5は、ブロック境界のフィルタ処理に用いられる境界周辺の8画素p0〜p3及びq0〜q3を示す図である。図5(A)には、垂直方向の境界周辺の8画素、図5(B)には、水平方向の境界周辺の8画素が示されている。垂直方向の境界に適用するフィルタでは、境界の左右それぞれ4画素が用いられ、水平方向の境界に適用するフィルタでは境界の上下それぞれ4画素が用いられる。bSの値が0の場合には、フィルタ処理は行わない。
bSの値が1、2、3のいずれかの場合のフィルタ処理を説明する。この場合、次式(1)の条件が成立する場合にのみ、フィルタ処理が行われる。

|p0−q0|<α かつ |p1−q0|<β かつ |q1−q0|<β

・・・(1)
ここで、α及びβは、フィルタの強度を制御するパラメータで、ブロックP及びブロックQの量子化パラメータと、H.264ビットストリーム中に記録されているパラメータslice_alpha_c0_offset_div2及びalice_beta_offset_div2とから定まる値である。
図6は、bSの値が1、2、3のいずれかの場合の第1のフィルタ処理を説明する図である。
図6の上側はフィルタ適用前の画素値、下側はフィルタ適用後の画素値を示している。フィルタ適用によって値が変化する可能性のある画素値は、p0’、q0’で示されている。
すなわち、例えば図6において、境界(縦棒)のすぐ左側の画素の画素値は、フィルタ処理前は、p0であるが、フィルタ処理後はp0’に変化する可能性があることを示している。図6において、フィルタ処理前の画素値のうち、フィルタ処理の入力として利用されるもの、及び、フィルタ処理後の画素値のうち、フィルタ処理によって画素値が変化する可能性のあるものは網掛けで示している。
図6において、201は、p1、p0、q0、q1の4画素の画素値(フィルタ適用前)を入力し、p0’の画素値を出力する1次元のフィルタ処理を表している。
フィルタ処理201は、次式(2)で定義される。
p0’=Clip1(p0+Δ)
・・・(2)
ここで、Clip1(a)は、aの値を[0、255]にクリッピングする処理を意味する。また、Δは、次式(3)で定義される。
Δ=Clip3(−tc、tc、(((q0−p0)<<2)+(p1−q1)+4)>>3)
・・・(3)
ここで、Clip3(a、b、c)は、cの値を[a、b]の範囲にクリッピングする処理を表している。
また、「 << 」は算術左シフト演算、「 >> 」は算術右シフト演算を表している。
tcは、画素値の変更幅を制約するパラメータで、|p2−p0|、|q2−q0|、bS、ブロックP及びブロックQの量子化パラメータ、及びβから定まる値である。
同様に、フィルタ処理202は、次式(4)で定義される。
q0’=Clip1(q0−Δ)
・・・(4)
図7は、bSの値が1、2、3のいずれかの場合の第2のフィルタ処理を説明する図である。このフィルタ処理は、輝度成分のみに適用される。
フィルタ処理301は、
|p2−p0|<β
が成立する場合のみ行われるもので、次式(5)で定義される。
p1’=p1+Clip1(−tc0、tc0、(p2+((p0+q0+1)>>1)−(p1<<1))>>1)
・・・(5)
ここで、tc0は、bSとブロックP及びブロックQの量子化パラメータから定まるパラメータである。また、フィルタ処理302は、
|q2−q0|<β
が成立する場合のみ行われるもので、次式(6)で定義される。
q1’=q1+Clip1(−tc0、tc0、(q2+((p0+q0+1)>>1)−(q1<<1))>>1)
・・・(6)
次に、bSの値が4の場合のフィルタ処理を説明する。この場合も、式(1)の条件が成立する場合にのみ、フィルタ処理が行われる。
図8は、bSの値が4の場合の第1のフィルタ処理を説明する図である。
フィルタ処理401、402、403は、輝度成分に対するフィルタ処理を行う場合で、次式(7)の条件が成立する場合のみ行われる。フィルタ処理401、402、403は、それぞれ、下記の式(8)、式(9)、式(10)で定義される。

|p2−p0|<β かつ |p0−q0|<((α>>2)+2)
・・・(7)
p2’=(2×p3+3×p2+p1+p0+q0+4)>>3
・・・(8)
p1‘=(p2+p1+p0+q0+2)>>2
・・・(9)

p0’=(p2+2×p1+2×p0+2×q0+q1+4)>>3
・・・(10)
また、フィルタ処理404、405、406は、輝度成分に対するフィルタ処理を行う場合で、かつ、式(11)の条件が成立する場合にのみ行われる。フィルタ処理404、405、406は、それぞれ、下記の式(12)、式(13)、式(14)で定義される。
|q2−q0|<β かつ |p0−q0|<((α>>2)+2)
・・・(11)
q2’=(2×q3+3×q2+q1+q0+p0+4)>>3
・・・(12)
q1’=(q2+q1+q0+p0+2)>>2
・・・(13)
q0’=(q2+2×q1+2×q0+2×p0+p1+4)>>3
・・・(14)
図9は、bSの値が4の場合の第2のフィルタ処理を説明する図である。フィルタ処理501は色差成分に対する処理を行う場合か、又は式(7)の条件が成立しない場合のみ行われるもので、次式(15)で定義される。
p0’=(2×p1+p0+q1+2)>>2
・・・(15)
フィルタ処理502は、色差成分に対するフィルタ処理を行う場合か、又は、式(11)の条件が成立しない場合のみ行われるもので、次式(16)で定義される。
q0’=(2×q1+q0+p1+2)>>2 ・・・(16)
以上説明したように、H.264のループ内フィルタ処理は、画像内の各4×4ブロックの境界に適用される。
また、該当ブロック及び近傍ブロックの符号化モード、量子化パラメータ、非零の直交変換係数の有無、参照ピクチャ、動きベクトル情報などを参照してフィルタ強度を適応的に制御する複雑なフィルタ処理になっており、その所要演算量は大きい。
また、フィルタ処理は、画像内のMBを水平走査順で走査し、MB毎に、フィルタ処理を行うように規定されている。
あるMBにフィルタ処理を施す際には、当該MB内の画素値だけでなく、当該MBの上側及び左側に隣接するMBのフィルタ処理後の画素値も参照、変更するため、当該MBのフィルタ処理を行う時点で、上側及び左側MBのフィルタ処理結果が確定していなければ正しいフィルタ処理結果を得ることは出来ない。
H.264では、フィルタ処理を適用した結果の画像を、後続の画像の符号化時に動き補償で参照する構造になっている。すなわち、フィルタ処理が符号化ループ内に含まれている。
このため、
・所要演算量を削減する等の目的でフィルタ処理を実行しなかったり、
・フィルタ処理の一部を簡略化したり、あるいは、
・MBのフィルタ処理の順番を変更したりして、
フィルタ処理の内容を変更してしまうと、動き補償で参照される画像に誤差が発生し、その誤差が、後続の画像に、順次伝播、拡大して大きな画質劣化を生じてしまう。
このため、従来はH.264の規定内容通りにMB毎に水平走査順で逐次フィルタ処理を行っていた。
図10及び図11を参照して、従来のループ内フィルタ処理の手順を説明する。
フィルタ前画像メモリ2001は、ループ内フィルタ処理を適用する前の復号画像を記憶し、フィルタ処理手段2003(単に「フィルタ手段」ともいう)に供給する。
フィルタ後画像メモリ2002は、ループ内フィルタ処理を適用した後の復号画像を記憶し、フィルタ処理手段2003に供給する。
図1の構成と対照すると、フィルタ前画像メモリ2001は、図1の復号画像メモリ1006に、フィルタ後画像メモリ2002は、図1のフレームメモリ1008にそれぞれ対応する。
フィルタ処理手段2003は、供給されるフィルタ前画像とフィルタ後画像を用い、1マクロブロックのループ内フィルタ処理を行い、フィルタ処理結果を、フィルタ後画像メモリ2002に供給する。
走査手段2004は、フィルタ処理手段2003でフィルタ処理を行うMB位置を制御し、画像内をMB単位で水平走査順にフィルタ処理させる。
画像1枚の全体をループ内フィルタ処理するには、開始(ステップS1001)すると、まず、画像全体の走査が終了したか否かを判定する(ステップS1002)。
走査が終了していれば、フィルタ処理を終了する(ステップS1005)。
ステップS1002において、走査が終了していない場合には、走査手段2004によって、水平走査順に、次のMB位置にフィルタ処理対象のMB位置を移動し(ステップS1003)、フィルタ処理手段2003によって、1マクロブロックのフィルタ処理を行い(ステップS1004)、ステップS1002に戻る。ここで、水平走査順とは、画面の左上隅位置から走査を開始し、右方向に向かって走査し、画面の右端に達したら1走査単位分だけ画面の下方向に移動すると共に画面左端に移動し、ふたたび右方向に向かって走査する、という手順を画面の右下隅に達するまで繰り返す、ラスタースキャン順の走査を指す。
ITU−T Recommendation H.264「Advanced video coding for generic audiovisual services」、2005年3月 特開2005−70938号公報 米国特許明細書第6,882,688号(US Pat 6,882,688) 米国特許明細書第6,404,361号(US Pat 6,404,361)
上記した従来のループ内フィルタ処理では、画面内の全MBを水平走査順に走査し、MB単位で、逐次フィルタ処理を行うことで、画面全体のループ内フィルタ処理を行っていた。
しかしながら、所要演算量の大きいループフィルタ処理を、画面内の全MBについて逐次処理しながら、所定の時間内で完了させるためには、フィルタ処理手段が高速に動作する必要がある。
例えば、1920×1080画素(フルHDサイズ)、30フレーム/秒のHD映像のループ内フィルタ処理を実時間で実行するには、1マクロブロックのフィルタ処理をおよそ4.12μ秒以内で完了する必要があり、フィルタ処理手段にはこの時間内に処理を完了できるだけの高速動作が求められる。
このため、従来のループ内フィルタ処理では、
・演算処理回路の設計難易度が高い、
・演算処理回路や演算を行うプロセッサを高い動作周波数で動作させる必要があり、消費電力が大きい、
・演算能力の低いプロセッサでは処理できない、
などの問題がある。
ループ内フィルタ処理を高速化する技術として、例えば特許文献1に記載された方法が知られている。これは、1マクロブロックのフィルタ処理の内部をbS算出、フィルタ判定部と複数のフィルタ演算器に分離して、それぞれを専用ハードウェアで実行し、bS算出、フィルタ判定処理と複数のフィルタ演算処理は並列に実行することで、ループ内フィルタ処理を効率化するものである。この技術は、1マクロブロックのフィルタ処理を効率化するのには効果があるが、画像全体のフィルタ処理はやはりMB毎に逐次処理する必要があり、上記の問題を解決するものではない。特許文献2に記載の方法も同様に、1マクロブロックのフィルタ処理を効率化するものである。
また、特許文献1や特許文献3には、データに依存性がない輝度成分と色差成分のフィルタ処理を別々の演算器で並列処理することで、さらに処理サイクル数を削減する方法が開示されている。この方法は、ループ内フィルタ処理を分散処理することで、上記の問題を軽減することはできる。しかしながら、データ量が最も大きく、適用するフィルタ処理が最も複雑な輝度成分のループ内フィルタ処理を、MB毎に逐次処理する必要があることは変わらず、上記の問題が解消されるわけではない。
したがって、本発明の目的は、従来よりも低速動作のフィルタ処理手段でループ内フィルタ処理が可能な動画像符号化方法、動画像復号化方法及びそれらの装置を提供することにある。
本願で開示される発明は、前記課題を解決するため、概略以下の構成とされる。
本発明によれば、画像を複数の部分領域に分割し、部分領域毎に、別々のフィルタ処理手段で、フィルタ処理を行うことにより、ループ内フィルタの負荷を分散し、個々のフィルタ処理手段の負担を軽減するようにしたフィルタ処理方法、動画像符号化方法、動画像復号化方法及びそれらの装置を提供するものである。
本発明によれば、符号化済みの画像にフィルタ処理を施した画像を参照して符号化する動画像符号化方法であって、前記フィルタ処理では画像を複数の部分領域に分けて部分領域毎に独立にフィルタ処理し、当該部分領域のうち隣接する部分領域のフィルタ処理結果の影響を受ける範囲については前記隣接する部分領域のフィルタ処理終了後にフィルタ処理を行うことを特徴とする動画像符号化方法が提供される。
本発明によれば、符号化済みの画像にフィルタ処理を施した画像を参照して符号化する動画像符号化方法であって、前記フィルタ処理では画像を複数の部分領域に分けて部分領域毎に独立にフィルタ処理し、当該部分領域のうち隣接する部分領域のフィルタ処理結果の影響を受ける範囲については前記隣接する部分領域のフィルタ処理終了前にフィルタ処理を行い、前記隣接する部分領域のフィルタ処理終了後に再度フィルタ処理を行ってフィルタ処理結果を更新することを特徴とする動画像符号化方法が提供される。
上記の動画像符号化方法において、隣接する部分領域のフィルタ処理終了後に再度フィルタ処理を行ってフィルタ処理結果を更新する際に、前記隣接する部分領域のフィルタ処理結果の影響が残留しているかを判定し、前記隣接する部分領域のフィルタ処理結果の影響が残留していない場合には以降のフィルタ処理結果更新を行わないようにしてもよい。
また、上記の動画像符号化方法において、2以上の前記部分領域に対するフィルタ処理を並列処理するようにしてもよい。
また、上記の動画像符号化方法において、前記部分領域に対するフィルタ処理において、フィルタ処理によって変更される画素データのうち、隣接する部分領域のフィルタ処理終了後に行うフィルタ処理で変更前の画素データを必要とする画素データをフィルタ処理前にメモリ等に格納しておき、隣接する部分領域のフィルタ処理終了後に行うフィルタ処理ではメモリ等に格納しておいた変更前の画素データを用いてフィルタ処理を行うようにしてもよい。
また、本発明において、上記の動画像符号化方法において、画像を2以上の部分領域に分割する際に、画像毎に分割数又は分割型を決定するようにしてもよい。
本発明によれば、従来は高速動作する単一のフィルタ処理手段で逐次処理していたループ内フィルタ処理を、画像を2以上の部分領域に分割し、部分領域毎に別々のフィルタ処理手段でフィルタ処理を行うことが可能になり、ループ内フィルタの負荷を分散し、個々のフィルタ処理手段の負担を軽減できる効果がある。
本発明によれば、個々のフィルタ処理手段の演算処理回路設計が容易になる効果がある。
また、本発明によれば、ループ内フィルタ処理を行う演算処理回路やプロセッサの動作周波数を従来より低くすることができ、消費電力を削減できる効果がある。また、従来はループ内フィルタを所定時間内で処理することが出来なかった演算能力の低いプロセッサでも、複数個を用いることでループ内フィルタを処理することが可能になる。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
本発明の第1の実施の形態を、図12、図13、図14を用いて説明する。図12は、本発明の第1の実施の形態の構成を示す図であり、図1、図2のループ内フィルタ1007、1108に適用されるフィルタの構成を示している。図13は、本発明の第1の実施の形態の動作手順を示すフローチャートである。図14は、本発明の第1の実施の形態の動作の概要を説明するための図である。
本発明の第1の実施の形態においては、2以上の複数のフィルタ処理手段2103(単に「フィルタ手段」ともいう)と、各フィルタ処理手段2103の処理対象位置や動作順序を制御するフィルタ制御手段2104を含む点が、図10に示した従来技術と相違している。
図12を参照すると、フィルタ前画像メモリ2101、フィルタ後画像メモリ2102は、図10におけるフィルタ前画像メモリ2001、フィルタ後画像メモリ2002と同様である。
フィルタ処理手段2103は、供給されるフィルタ前画像と、フィルタ後画像とを用い、1マクロブロック(MB)のループ内フィルタ処理を行い、フィルタ処理結果を、フィルタ後画像メモリ2102に供給する。
フィルタ制御手段2104は、2以上の複数のフィルタ処理手段2103でフィルタ処理を行うMB位置を制御する。
画像1枚の全体をループ内フィルタ処理する場合の動作を、図13、図14を参照して説明する。
本発明の第1の実施の形態では、2以上の複数のフィルタ処理手段2103のそれぞれが、図13に示したフローチャートの手順に従ってフィルタ処理を行う。ただし、フィルタ処理対象MBの位置は、個々のフィルタ処理手段で異なる。ここでは、簡単のために画像1枚を横方向に2分割して処理する場合の例を示して説明する。この例では、フィルタ処理手段2103を2つ用いる。
フィルタ制御手段2104は、画面を複数の領域(部分領域)に分割し、それぞれの部分領域のフィルタ処理のために異なるフィルタ処理手段を割り当てる。
そして、フィルタ制御手段2104は、それぞれのフィルタ処理手段2103が割り当てられた領域内の各MBを、水平走査順に、走査して、MB毎に、逐次、ループフィルタ処理を行うように制御する。これが、図14(A)に示す処理である。図14(A)に示すように、画面を上側の領域(部分領域)と下側の領域(部分領域)に2分割し、2つのフィルタ処理手段2103がそれぞれの領域内の各MBを水平走査順(図14(A)の右向き矢線は水平走査を示す)に、操作して、MB毎に、逐次、ループフィルタ処理を行う。
図13のフローチャートを参照すると、処理を開始すると(ステップS1101)、まず割り当てられた領域内の全MBの走査が終わったか否かを判定し(ステップS1102)、走査が終了していれば、ステップS1105に移る。
ステップS1102で走査が終了していない場合、フィルタ制御手段2104によって割り当てられた領域内で、次の水平走査順で、次にあたるMB位置に、フィルタ処理対象MB位置を移動し(ステップS1103)、フィルタ処理手段2103によって、1マクロブロックのフィルタ処理を行い(ステップS1104)、ステップS1102に戻る。
ここで、分割境界のすぐ下又はすぐ右に位置するMBのフィルタ処理は、正しく処理するためには、隣接領域の“フィルタ後”の画素値を入力しなければならない。上記のように、分割領域ごとに異なるフィルタ処理手段2103でフィルタ処理を行う場合には、隣接領域の“フィルタ前”の画素値を入力としてフィルタ処理してしまい、正しいフィルタ結果とは異なる結果が出力される場合がある。
これが、図14(A)で“フィルタ後(結果は正しくない)”と示している領域(縦線で示す領域)である。
そこで、この領域については、隣接領域のフィルタ処理が完了した後に、分割境界の下側、右側で隣接領域のフィルタ結果の影響が伝播する範囲のフィルタ処理だけを実行し直すことで、正しいフィルタ結果を得る(図14(B)の処理)。
ここで、隣接領域のフィルタ結果の影響が伝播する範囲に関して説明する。
4×4画素ブロックの境界に適用するフィルタの動作は、図6乃至図9を用いて説明した通りである。
各フィルタの動作から、輝度成分に適用されるフィルタの入力/出力関係を示したものを図15に示す。
このうち、図15(A)のフィルタは、MB境界のみに適用される。MB内の各4×4ブロックの境界には、図15(B)のフィルタが適用される。
例えば、図15(A)は、bS=4の場合に用いられるフィルタの入力/出力関係で、フィルタ処理によって変更される可能性があるのは、p2’、p1’、p0’、q0’、q1’、q2’の6画素である。
図15(A)において、例えばp2’は、フィルタ処理前のp3、p2、p1、p0、q0、q1の6画素の画素値に依存してフィルタ処理結果が算出される、という関係を示している。
ここで、例えば図15(A)を見ると、全体としては、4×4画素ブロックの境界の前後±4画素の範囲の画素値を入力とし、境界前後±3画素の範囲の画素値を変更する処理であるので、これを、4×4画素ブロック境界に順次適応する処理は、IIR(Infinite Impulse Response)フィルタであるように見える。
しかし、実際には、図15に示すように、出力画素位置毎に異なるフィルタを組み合わせた処理である。
このようなループ内フィルタの性質に基づいて、フィルタの伝播範囲を解析した結果を図16に示す。図16では、左端のMB境界より、左側の画素値(灰色の領域)の影響がMB境界からどの程度の範囲まで及ぶかを示している。ここでは、垂直方向の境界へのフィルタ処理のみを示している。
まず、1番目のフィルタ処理(MB境界)によって、灰色領域の画素値の影響がMB境界から3画素の位置(1番目のフィルタ処理のp1)まで伝播する。
次に、右に4画素移動した位置のブロック境界に適用する2番目のフィルタ処理によって、灰色領域の画素値の影響がさらにMB境界から6画素の位置(2番目のフィルタ処理のp2)まで伝播する。
さらに右に4画素移動した位置のブロック境界に適用する3番目のフィルタ処理によって、灰色領域の画素値の影響がさらにMB境界から9画素の位置(3番目のフィルタ処理のp2)まで伝播する。
続いて、さらに右に4画素移動した位置のブロック境界に4番目のフィルタ処理を適用するが、このフィルタ処理で入力として用いられる画素値は全て、灰色領域の画素値の影響を受けていないものであるため、灰色領域の画素値の影響はそれ以上伝播しない。
このように、MB外(灰色の領域)の画素値の影響はブロック境界のフィルタによって順次伝播するが、その影響は、MBエッジから9画素まで(灰色の画素)であることがわかる。
さらに、フィルタの適用順序(縦方向フィルタ→横方向フィルタ)を考慮し、画面を横方向に領域分割した場合の隣接領域画素値の伝播範囲を解析すると、図17のようになる。
隣接領域画素値(灰色)はMB1の縦方向フィルタ(1)によって、縦に9画素伝播し、次に、MB2の横方向フィルタ(2)によって、右隣のMB2の9画素の範囲まで伝播する。さらに、MB2の縦方向フィルタ(3)によって、最終的には、領域分割境界から縦方向に、14画素の範囲まで伝播することがわかる。
以上より、隣接領域のフィルタ処理が完了した後に、分割境界の下側、右側の最大14画素分のフィルタ処理だけをやり直すことで、正しいフィルタ結果を得ることができる。
本発明の第1の実施の形態では、上記のフィルタの影響の伝播範囲解析の結果に基づき、隣接領域のフィルタ処理が完了した後に、分割境界の下側、右側で隣接領域のフィルタ結果の影響が伝播する範囲のフィルタ処理だけを実行し直すことで、正しいフィルタ結果を得る(図14(B)の処理)。
再び図13のフローチャートを参照すると、ステップS1105において、隣接領域のフィルタ結果が当該領域に影響を及ぼすかを判定する。
図14に示す例では、画面を2分割した上側(上半分)の領域については、隣接領域の影響はないが、下側(下半分)の領域に関しては上側領域の影響が分割境界から最大で14画素の範囲まで伝播してくる。
図13のステップS1105において、隣接領域の影響が無いと判定された場合には、該当領域のフィルタ処理を終了する(ステップS1109)。
ステップS1105で隣接領域の影響があると判定された場合には、ステップS1106〜ステップS1108で、隣接領域の影響が伝播する範囲内の各MBを水平走査順に走査して、MB単位でフィルタ処理を行い、隣接領域の影響が伝播する範囲内の全MBの走査が終了すると、フィルタ処理全体を終了する(ステップS1109)。
図14に示す例では、下側の分割領域に対してのみ、上側領域の影響が伝播する分割境界から14画素の範囲までのフィルタ処理を、ステップS1106〜ステップS1108で実行する。
以上で説明したように、本発明の第1の実施の形態によると、画像を2以上の部分領域に分割し、部分領域毎に別々のフィルタ処理手段でフィルタ処理を行いながら正しいフィルタ処理結果を得ることが可能になる。
次に、本発明の第2の実施の形態を、図18を参照して説明する。本発明の第2の実施の形態は、画像の複数領域への分割が、前記第1の実施の形態と相違しており、その他は前記第1の実施の形態と同様である。
図18に示すように、画面を縦方向に3つの領域に分割する例を説明する。画面を縦に分割する場合、隣接領域のフィルタ結果の影響が伝播するのは分割境界の右側である。また、図16に示したように、その伝播範囲は分割境界から最大で9画素の範囲までである。
そこで、3つの領域のうち、左端を除く2つの領域に対して、ステップS1106〜ステップS1108のフィルタ処理を、分割境界から9画素の範囲までに適用することで正しいフィルタ処理結果が得られる。
以上、画面を横方向に2分割する場合の例と、画面を縦に3分割する例について説明したが、画面分割の分割数と分割の形はこれらに限定されるものでないのは当然のことである。
次に、本発明の第3の実施の形態を、図19、図20を参照して説明する。図19は本発明の第3の実施の形態によるループ内フィルタ処理の手順を示すフローチャートである。
ステップS1201〜ステップS1205は、前記第1の実施の形態の説明で参照した図13のフローチャートにおけるステップS1101〜S1105と同一である。前記第1の実施の形態では、隣接領域のフィルタ結果の影響が伝播する範囲のフィルタ処理をMB単位で走査して行っていたが、本発明の第3の実施の形態では、必ずしもMB単位でフィルタ処理するのではない点が、前記第1の実施の形態と相違している。この点を、図20を参照して説明する。図20は、図16と同様に、縦方向の境界にループ内フィルタを適用する際に、MB外の画素値の影響がどのように伝播するかを示している。
図20において、参照符号601〜618は、それぞれ異なる画素位置のフィルタ結果を出力するフィルタ処理を示している。
例えば、605は、MBエッジに適用するループ内フィルタ処理のうち、p1、p0、q0、q1、q2の画素値の情報に基づき、q1の位置のフィルタ後の画素値を出力するフィルタを指している。
図20において、MB外(灰色領域)の画素値の影響が伝播するのは、図16でも説明したとおり、網掛けした画素で示す、MB境界から9画素までの範囲である。
図20からもわかる通り、網掛けした画素のフィルタ結果を得るためには、MB全体のフィルタ処理(601〜618)を全て実行する必要は無く、601〜613のフィルタ処理だけを行えばよい。
そこで、本発明の第3の実施の形態におけるステップS1206(図19)では、このように、隣接領域のフィルタ結果の影響が伝播する範囲のフィルタ結果を得るのに必要な個別のフィルタ処理(図20の例では601〜613のフィルタ処理)のみを実行する。これにより、正しいフィルタ結果が得られるため、ループ内フィルタ処理を終了する(ステップS1207)。
本発明の第3の実施の形態では、正しいフィルタ結果を得るために必要なフィルタ処理のみを実行するため、前記第1の実施の形態よりも演算量を削減できる。
なお、図18に示した例のように、画面を縦方向に領域分割した場合に相当する、水平方向のフィルタ処理の場合について説明したが、本発明は、かかる構成にのみ限定されるものでなく、画面を縦方向に分割した場合やその他の形式で分割した場合においても、同様の処理が可能なのは当然のことである。
本発明の第4の実施の形態を図21を参照して説明する。図21は、本発明の第4の実施の形態によるループ内フィルタ処理の手順を示すフローチャートである。図21において、ステップS1301〜ステップS1305は、前記第3の実施の形態の説明で参照された図19のフローチャートにおけるステップS1201〜S1205と同一である。
前記第3の実施の形態では、隣接領域のフィルタ結果の影響が伝播する可能性のある範囲のフィルタ処理を全て行っていた。
これに対し、本発明の第4の実施の形態では、隣接領域のフィルタ結果の影響が伝播する可能性があっても、実際には伝播していない範囲のフィルタ処理は行わない点が異なる。
本発明の第4の実施の形態では、ステップS1306において、隣接領域の影響が残留するか否かを判断し、影響が残留している場合にのみ、ステップS1307でフィルタ処理を行う。
なお、図20で説明した、隣接領域のフィルタ結果の影響が伝播する可能性がある範囲以外の位置では、ステップS1306の判定結果は、常に、NOとなる。
本発明の第4の実施の形態の動作について、図20を参照して説明する。
図20で網掛けした画素で示されている範囲は、隣接領域のフィルタ結果の影響が伝播する可能性がある領域である。
しかし、実際にフィルタが有効になるかや、適用されるフィルタの強度は、例えば、該当ブロック及び近傍ブロックの符号化モード、量子化パラメータ、非零の直交変換係数の有無、参照ピクチャ、動きベクトル情報などを参照して適応的に制御されるため、図20で網掛けした画素で示した範囲まで、必ず、隣接領域のフィルタ結果の影響が伝播するとは限らない。
例えば、図20で、フィルタ610を適用した結果の画素値が、図21のステップS1304で出力された結果と同一の場合、その時点で、隣接領域のフィルタ結果の影響は消滅していることがわかるので、その場合には、611〜613のフィルタ処理は実行しない。同様に、605、606の二つのフィルタの出力が共に、図21のステップS1304での出力と一致する場合にも、その時点で隣接領域のフィルタ結果の影響は消滅していることがわかり、607〜613のフィルタ処理は実行しない。
本発明の第4の実施の形態では、隣接領域のフィルタ結果の影響が消滅した以降のフィルタ処理を実行しないため、前記第3の実施の形態よりも演算量を削減できる。
なお、本実施形態でも、水平方向のフィルタ処理の場合のみについて説明したが、画面を縦方向に分割した場合やその他の形式で分割した場合でも同様の処理が可能なのは当然のことである。
本発明の第5の実施の形態を図22を参照して説明する。図22は、本発明の第5の実施の形態によるループ内フィルタ処理の手順を示すフローチャートである。図22を参照すると、ステップS1404以外は、前記第3の実施の形態の説明で参照された図19のフローチャートにおける処理と同一である。前記第3の実施の形態では、隣接領域のフィルタ結果の影響が伝播する可能性のある範囲のフィルタ処理についても、図19のステップS1204でフィルタ処理を行っていた。
これに対し、本発明の第5の実施の形態では、隣接領域のフィルタ結果の影響が伝播する可能性のあるフィルタ処理は、ステップS1406で処理するため、ステップS1404では、隣接領域のフィルタ結果の影響が伝播する可能性の無い箇所のフィルタ処理のみを行っている点が、前記第3の実施の形態と相違している。
図20の例で説明すると、図21のステップS1404では、隣接領域のフィルタ結果の影響が伝播する可能性がある、分割境界から9画素までの範囲のフィルタ処理である601〜613は行わず、614〜618のフィルタ処理のみを実行する。
これにより、ステップS1404でのフィルタ処理を削減できる。このため、本実施形態は、前記第3の実施の形態よりも演算量を削減できる。
次に、本発明の第6の実施の形態を図23、図24を参照して説明する。図23は、本発明の第6の実施の形態の構成を示す図、図24はその処理の手順を示すフローチャートである。
図12に示した前記第1の実施の形態では、フィルタ前、フィルタ後の画像をフィルタ前画像メモリ2101、フィルタ後画像メモリ2102にそれぞれ格納していたのに対して、本発明の第6の実施の形態では、それらをすべて画像メモリ2201に格納する点が相違している。
フィルタ処理手段2203は、画像メモリ2201に格納されている画像の一部を作業メモリ2202に格納する。
フィルタ処理手段2203はまた、画像メモリ2201に格納されているフィルタ前画像とフィルタ後画像と作業メモリ2202に格納されている画像を用い、1マクロブロックのループ内フィルタ処理を行い、フィルタ処理結果を画像メモリ2201に供給する。
フィルタ制御手段2204は、2以上の複数のフィルタ処理手段2203でフィルタ処理を行うMB位置を制御する。
図24を参照すると、ステップS1502、S1505、S1507以外は、前記第3の実施の形態の説明で参照された図19のフローチャートにおける処理と同一である。
図24のステップS1502では、ステップS1507で必要となる、フィルタ処理前の画像情報を作業メモリ2202に格納する。
ステップS1505では、フィルタ処理に必要な画像情報を画像メモリ2201から得るとともに、フィルタ結果の画像情報も画像メモリ2201に格納する。
ステップS1507では、フィルタ処理に必要な画像情報を画像メモリ2201から得るとともに、フィルタ処理に必要な別の情報を作業メモリ2202から得てフィルタ処理を行い、フィルタ結果の画像情報を画像メモリ2201に格納する。
図20の例を参照してさらに詳細に説明する。図24のステップS1507では、隣接領域のフィルタ処理結果が伝播する範囲のフィルタ処理を行うため、601〜613のフィルタ処理を行う。
ここで、正しいフィルタ結果を得るためには、601〜613のフィルタ処理の際には、ステップS1505でフィルタ処理を行う前の画像情報が必要である。例えば、604のフィルタ処理では、p1、p0の(隣接領域の)フィルタ後の画像値と、q0、q1、q2のフィルタ前の画素値が必要である。
図23に示した構成のように、フィルタ前の画像情報とフィルタ後の画像情報を同じ画像メモリ2201に格納する場合には、図24のステップS1507において、フィルタ処理前の画像データを画像メモリ2201から得ることは出来ない。
そこで、ステップS1507で必要となるフィルタ処理前の画像を、ステップS1505でのフィルタ処理より前に、ステップS1502で作業メモリ2202に予め格納しておく。そして、ステップS1507において、作業メモリ2202からフィルタ前画像を得ることで、正しいフィルタ結果を得ることが出来る。
図20に示す例では、分割境界から11画素までの範囲のフィルタ前画像情報を、作業メモリ2202に格納しておくことで、正しいフィルタ結果を得ることが出来る。
本発明の第6の実施の形態では、フィルタ前画像とフィルタ後画像を同じ画像メモリ2201に格納するため、作業メモリ2202のために新たに必要になるメモリ容量をあわせても、前記第1乃至第5の実施の形態よりも少ないメモリ量で、ループ内フィルタ処理を実行できる。なお、本実施の形態でも、水平方向のフィルタ処理の場合のみについて説明したが、画面を縦方向に分割した場合やその他の形式で分割した場合でも同様の処理が可能なのは当然のことである。
次に、本発明の第7の実施の形態を図25を参照して説明する。図25は、本発明の第7の実施の形態の手順を示すフローチャートである。ステップS1607を除き、図24に示した前記第6の実施の形態の処理と同一である。
本発明の第7の実施の形態では、2以上の複数のフィルタ処理手段を並列に動作させる。複数のフィルタ処理手段が並列に動作する場合、ステップS1608で隣接領域のフィルタ結果の影響が伝播する範囲のフィルタ処理を行う際には、隣接領域のフィルタ処理が完了しているのを確認する必要がある。
そこで、本発明の第7の実施の形態では、ステップS1607で、当該領域に影響が伝播する隣接領域のフィルタ処理が終了するまで待機した上で、ステップS1608に進む。これにより、ループ内フィルタ処理を複数のフィルタ処理手段で並列処理することが可能になり、フィルタ処理に要する時間を短縮できる。なお、ここでは第6の実施の形態との相違点を例に説明したが、第1乃至第5の実施の形態に関しても、ステップS1607と同様のステップを追加することで、複数のフィルタ処理手段を並列に動作させることが出来るのは当然のことである。
以上、本発明の実施の形態について説明した。上記の実施の形態では、H.264に則った応用について述べたが、本発明はこの応用のみに限定されるものではない。
また、画像分割の形に関しては限られた例についてのみ説明したが、本発明は例示した画像分割に限定されるものではなく、例示した以外の種々の画像分割の形にも適用可能である。
また、画像分割の形は固定的である必要はなく、画像毎に異なる形の画像分割を行うことも可能である。
さらに、画像を2以上に分割した領域にそれぞれ異なるフィルタ処理手段を割り当ててフィルタ処理する例について説明したが、本発明はこの割り当てに限定されるものではない。例えば、画像を2分割するが、フィルタ処理手段は1つのみ利用し、2つの領域を逐次に、あるいは一部ずつ交互にフィルタ処理することも当然可能である。
本発明は、動画像符号化、動画像復号化のどちらにも適用可能である。なお、図13、図19、図21、図22、図24、図25のフローチャートを参照して説明した方法(処理)は、該処理を実現するプログラムを記録媒体からコンピュータに読み込んでコンピュータ上で実行することによっても実現するようにしてもよいことは勿論である。
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
動画像復号化装置の構成を示す図である。 動画像符号化装置の構成を示す図である。 MB内での各4×4ブロック境界に対するフィルタ適用順を示す図である。 bS値の算出手順を示すフローチャートである。 ブロック境界のフィルタ処理に用いられる画素の位置関係を示す図である。 bSの値が1、2、3のいずれかの場合の第1のフィルタ処理内容を説明する図である。 bSの値が1、2、3のいずれかの場合の第2のフィルタ処理内容を説明する図である。 bSの値が4の場合の第1のフィルタ処理内容を説明する図である。 bSの値が4の場合の第2のフィルタ処理内容を説明する図である。 従来のループ内フィルタ処理の構成を示す図である。 従来のループ内フィルタ処理の手順を示すフローチャートである。 本発明の第1の実施の形態のループ内フィルタ処理の構成を示す図である。 本発明の第1の実施の形態のループ内フィルタ処理の手順を示すフローチャートである。 本発明の第1の実施の形態のループ内フィルタ処理の手順を説明する図である。 輝度成分に適用するフィルタ処理内容を説明する図である。 フィルタの影響の伝播範囲を説明する図である。 フィルタの影響の伝播範囲を説明する図である。 本発明の第2の実施の形態のループ内フィルタ処理の手順を説明する図である。 本発明の第3の実施の形態のループ内フィルタ処理の手順を示すフローチャートである。 本発明の第3の実施の形態のループ内フィルタ処理を説明する図である。 本発明の第4の実施の形態のループ内フィルタ処理の手順を示すフローチャートである。 本発明の第5の実施の形態のループ内フィルタ処理の手順を示すフローチャートである。 本発明の第6の実施の形態のループ内フィルタ処理の構成を示す図である。 本発明の第6の実施の形態のループ内フィルタ処理の手順を示すフローチャートである。 本発明の第7の実施の形態のループ内フィルタ処理の手順を示すフローチャートである。
符号の説明
101〜108 ブロック境界
201、202、301、302、401〜406、501、502、601〜618 フィルタ処理
1001 可変長符号復号部
1002 逆量子化部
1003 逆直交変換部
1004 動き補償部
1005 フレーム内予測部
1006 復号画像メモリ
1007 ループ内フィルタ部
1008 フレームメモリ
1009 切り替え部
1010 加算部
1101 直交変換部
1102 量子化部
1103 可変長符号符号化部
1104 逆量子化部
1105 逆直交変換部
1106 加算部
1107 復号画像メモリ
1108 ループ内フィルタ部
1109 フレームメモリ
1110 減算部
1111 切り替え部
1112 動き補償部
1113 フレーム内予測部
1114 予測、符号化モード判定部
2001 フィルタ前画像メモリ
2002 フィルタ後画像メモリ
2003 フィルタ処理手段
2004 走査手段
2101 フィルタ前画像メモリ
2102 フィルタ後画像メモリ
2103 フィルタ処理手段
2104 フィルタ制御手段
2201 画像メモリ
2202 作業メモリ
2203 フィルタ処理手段
2204 フィルタ制御手段

Claims (24)

  1. 画像を複数の部分領域に分け、部分領域毎に、独立にフィルタ処理する第1のフィルタ処理工程、及び、
    前記部分領域のうち、隣接する部分領域のフィルタ処理結果の影響を受ける範囲について、前記隣接する部分領域のフィルタ処理の終了後に、フィルタ処理を行う第2のフィルタ処理工程を含み、さらに、
    前記隣接する部分領域のフィルタ処理が終了したかを判定し、
    前記隣接する部分領域のフィルタ処理が当該領域に影響を及ぼす範囲まで進行したかを判定し、
    前記二つの判定結果に基づき、
    前記隣接する部分領域のフィルタ処理が前記部分領域に影響を及ぼす範囲まで進行する前に、前記部分領域のフィルタ処理を行なうように前記第1のフィルタ処理工程を制御し、
    前記隣接する部分領域のフィルタ処理結果の影響を受ける範囲については、前記隣接する部分領域のフィルタ処理の終了後に、再度、フィルタ処理を行って、前記フィルタ処理結果を更新するように前記第2のフィルタ処理工程を制御するフィルタ制御工程と、
    を含む、ことを特徴とするフィルタ処理方法。
  2. 前記フィルタ制御工程では、前記第1のフィルタ処理工程において、前記隣接する部分領域のフィルタ処理結果の影響を受ける範囲については、前記隣接する部分領域のフィルタ処理終了前には、フィルタ処理を行わないように制御する、ことを特徴とする請求項1記載のフィルタ処理方法。
  3. 前記フィルタ制御工程は、
    前記第1のフィルタ処理工程による前記隣接する部分領域のフィルタ処理の終了後に、前記第2のフィルタ処理工程で再度、フィルタ処理を行ってフィルタ処理結果を更新する際に、前記隣接する部分領域のフィルタ処理結果の影響が残留するか否かを判定する工程と、
    前記隣接する部分領域のフィルタ処理結果の影響が残留しないと判定された範囲のフィルタ処理結果の更新を行わないように制御する工程と、
    を含む、ことを特徴とする請求項1記載のフィルタ処理方法。
  4. 前記第1及び第2のフィルタ処理工程の少なくとも1方において、複数の前記部分領域に対するフィルタ処理を並列処理する、ことを特徴とする請求項1乃至のいずれか1項
    に記載のフィルタ処理方法。
  5. 前記第1のフィルタ処理工程における前記部分領域に対するフィルタ処理において、
    フィルタ処理によって変更される画素データのうち、隣接する部分領域のフィルタ処理の終了後に行う前記第2のフィルタ処理工程によるフィルタ処理で必要とされる変更前の画素データを、前記フィルタ処理前に、メモリに予め格納しておき、
    隣接する部分領域のフィルタ処理の終了後に行う前記第2のフィルタ処理工程でのフィルタ処理では、前記メモリに格納しておいた前記変更前の画素データを用いてフィルタ処理を行う、ことを特徴とする請求項1乃至のいずれか1項に記載のフィルタ処理方法。
  6. 前記第1のフィルタ処理工程において、前記画像を複数の部分領域に分割する際に、画像毎に、分割数または分割型を決定する、ことを特徴とする請求項1乃至のいずれか1項に記載のフィルタ処理方法。
  7. 前記第1及び第2のフィルタ処理工程の少なくとも1方において、前記フィルタ処理は、ブロックノイズを低減するデブロックフィルタである、ことを特徴とする請求項1乃至のいずれか1項に記載のフィルタ処理方法。
  8. 請求項1乃至のいずれか一記載のフィルタ処理方法によりフィルタ処理を施した画像を参照して、画像を符号化する、ことを特徴とする動画像符号化方法。
  9. 請求項1乃至のいずれか一記載のフィルタ処理方法によりフィルタ処理を施した画像を参照して、画像を復号化する、ことを特徴とする動画像復号化方法。
  10. フィルタ処理のために、画像を複数の部分領域に分割する手段と、
    前記部分領域毎に独立にフィルタ処理する第1のフィルタ処理手段と、
    前記部分領域のうち、隣接する部分領域のフィルタ処理結果の影響を受ける範囲について、前記隣接する部分領域のフィルタ処理の終了後に、フィルタ処理を行う第2のフィルタ処理手段と、
    前記隣接する部分領域のフィルタ処理が終了したかを判定し、
    前記隣接する部分領域のフィルタ処理が当該領域に影響を及ぼす範囲まで進行したかを判定し、
    前記二つの判定結果に基づき、
    前記隣接する部分領域のフィルタ処理が前記部分領域に影響を及ぼす範囲まで進行する前に、前記部分領域のフィルタ処理を行なうように前記第1のフィルタ処理手段を制御し、
    前記隣接する部分領域のフィルタ処理結果の影響を受ける範囲については、前記隣接する部分領域のフィルタ処理の終了後に、再度、フィルタ処理を行って、前記フィルタ処理結果を更新するように前記第2のフィルタ処理手段を制御するフィルタ制御手段を備える、ことを特徴とするフィルタ装置。
  11. 前記隣接する部分領域のフィルタ処理が終了したかを判定し、判定結果に基づき、隣接する部分領域のフィルタ処理結果の影響を受ける範囲については、前記隣接する部分領域のフィルタ処理終了前には、フィルタ処理を行わないように、前記第1のフィルタ処理手段を制御するフィルタ制御手段を備える、ことを特徴とする請求項1記載のフィルタ装置。
  12. 前記フィルタ制御手段は、隣接する部分領域のフィルタ処理の終了後に再度フィルタ処理を行ってフィルタ処理結果を更新する際に、前記隣接する部分領域のフィルタ処理結果の影響が残留するか否かを判定し、
    前記隣接する部分領域のフィルタ処理結果の影響が残留しないと判定された範囲のフィルタ処理結果更新を行わないように、前記第2のフィルタ処理手段を制御する、ことを特徴とする請求項1記載のフィルタ装置。
  13. 前記部分領域に対するフィルタ処理において、フィルタ処理によって変更される画素データのうち、隣接する部分領域のフィルタ処理の終了後に前記第2のフィルタ処理手段で行うフィルタ処理で必要とされる変更前の画素データをフィルタ処理前にメモリに格納しておく画像記憶手段を備える、ことを特徴とする請求項1乃至1のいずれか1項に記載のフィルタ装置。
  14. 復号画像をループ内フィルタ処理するフィルタ装置であって、
    複数のフィルタ処理手段と、フィルタ制御手段と、を備え、
    前記フィルタ制御手段は、画面を複数の領域に分割し、それぞれの領域のフィルタ処理のために異なるフィルタ処理手段を割り当て、前記フィルタ処理手段が割り当てられた部分領域内のマクロブロックを、走査して、ループフィルタ処理を行うように制御し、
    割り当てられた領域内の走査が終了した場合、分割領域境界で隣接領域のフィルタ結果の前記領域への影響の有無を判定し、
    前記判定結果が、前記隣接領域のフィルタ結果の影響無し場合には、前記領域のフィルタ処理を終了し、
    前記判定結果が、前記隣接領域のフィルタ結果の影響が有りの場合には、前記隣接領域のフィルタ結果の影響が伝播する可能性のある範囲のフィルタ処理を行うように、対応する前記フィルタ処理手段を制御する、ことを特徴とするフィルタ装置。
  15. 前記フィルタ制御手段は、前記隣接領域のフィルタ結果の影響が有ると判定された場合に、前記隣接領域のフィルタ結果の影響が残留するか否かを判断し、前記隣接領域のフィルタ結果の影響が残留している場合にのみ該影響が残留する範囲のフィルタ処理を行うことで、前記隣接領域のフィルタ結果の影響が伝播する可能性があっても実際には前記影響が伝播しない範囲のフィルタ処理は行わない、ように制御する、ことを特徴とする請求項1記載のフィルタ装置。
  16. 前記フィルタ制御手段は、前記画面を複数の領域に分割し、それぞれの領域のフィルタ処理のために異なるフィルタ処理手段を割り当て、前記フィルタ処理手段が割り当てられた領域内のマクロブロックを、水平走査順に走査し、隣接領域の影響がない範囲のマクロブロックのループフィルタ処理を行うように制御し、
    割り当てられた領域内の走査が終了した場合、分割領域境界で隣接領域のフィルタ結果の前記領域への影響の有無を判定し、
    前記判定結果が、前記隣接領域のフィルタ結果の影響無し場合には、前記領域のフィルタ処理を終了し、
    前記判定結果が、前記隣接領域のフィルタ結果の影響が有りの場合には、前記隣接領域のフィルタ結果の影響が伝播する範囲のフィルタ処理を対応する前記フィルタ処理手段で行うように制御する、ことを特徴とする請求項1記載のフィルタ装置。
  17. 前記隣接領域のフィルタ結果の影響が有ると判定された場合には、前記隣接領域のフィルタ結果の影響が伝播する範囲内の各マクロブロックを水平走査順に走査してマクロブロック単位でフィルタ処理を行い、前記隣接領域のフィルタ結果の影響が伝播する範囲内の全マクロブロックの走査が終了するとフィルタ処理を終了する制御を行う、ことを特徴とする請求項1記載のフィルタ装置。
  18. 請求項1乃至1のいずれか一に記載のフィルタ装置を備え、フィルタ処理を施した画像を参照して符号化する、ことを特徴とする動画像符号化装置。
  19. 請求項1乃至1のいずれか一に記載のフィルタ装置を備え、フィルタ処理を施した画像を参照して復号化する、ことを特徴とする動画像復号化装置。
  20. フィルタ処理用に画像を複数の部分領域に分ける処理と、
    前記部分領域毎に独立にフィルタ処理する第1の処理と、
    当該部分領域のうち隣接する部分領域のフィルタ処理結果の影響を受ける範囲について前記隣接する部分領域のフィルタ処理の終了後にフィルタ処理を行う第2の処理と、
    前記隣接する部分領域のフィルタ処理が終了したかを判定する第1の判定処理と、
    前記隣接する部分領域のフィルタ処理が当該領域に影響を及ぼす範囲まで進行したかを判定する第2の判定処理と、
    前記第1の判定処理及び前記第2の判定処理の判定結果に基づき、隣接する部分領域のフィルタ処理結果の影響を受ける範囲については、前記隣接する部分領域のフィルタ処理が当該領域に影響を及ぼす範囲まで進行する前にフィルタ処理を行い、前記隣接する部分領域の前記第1のフィルタ処理の終了後に再度、フィルタ処理を行って、前記第1のフィルタ処理による前記フィルタ処理結果を更新するように、前記第2の処理におけるフィルタ処理を制御するフィルタ制御処理と、
    を、コンピュータに実行させるプログラム。
  21. 請求項2記載のプログラムにおいて、
    前記隣接する部分領域のフィルタ処理が終了したかを判定する判定処理と、
    前記判定手段の判定結果に基づき、隣接する部分領域のフィルタ処理結果の影響を受ける範囲については、前記隣接する部分領域のフィルタ処理終了前には、前記第1の処理のフィルタ処理を行わないように制御する処理と、
    を前記コンピュータに実行させるプログラム。
  22. 請求項2記載のプログラムにおいて、
    隣接する部分領域のフィルタ処理の終了後に再度、前記第2の処理のフィルタ処理を行ってフィルタ処理結果を更新する際に、前記隣接する部分領域のフィルタ処理結果の影響が残留するか否かを判定する第3の判定処理と、
    前記第3の判定処理によって前記隣接する部分領域のフィルタ処理結果の影響が残留しないと判定された範囲のフィルタ処理結果更新を行わないように、前記第2のフィルタ処理を制御する処理と、
    を前記コンピュータに実行させるプログラム。
  23. 請求項2記載のプログラムにおいて、
    前記部分領域に対するフィルタ処理において、フィルタ処理によって変更される画素データのうち、隣接する部分領域のフィルタ処理の終了後に行う前記第2の処理のフィルタ処理で必要とされる変更前の画素データをフィルタ処理前にメモリに格納しておく画像記憶処理を前記コンピュータに実行させるプログラム。
  24. 請求項2乃至2のいずれか一に記載のプログラムにおいて、
    前記コンピュータは、フィルタ処理した画像を参照して符号化する動画像符号化装置、又は、フィルタ処理した画像を参照して復号化する動画像復号化装置を構成するプログラム。
JP2006058303A 2006-03-03 2006-03-03 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム Expired - Fee Related JP4605052B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006058303A JP4605052B2 (ja) 2006-03-03 2006-03-03 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006058303A JP4605052B2 (ja) 2006-03-03 2006-03-03 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2007235886A JP2007235886A (ja) 2007-09-13
JP4605052B2 true JP4605052B2 (ja) 2011-01-05

Family

ID=38555964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006058303A Expired - Fee Related JP4605052B2 (ja) 2006-03-03 2006-03-03 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4605052B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5344238B2 (ja) * 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
US8606036B2 (en) 2010-04-13 2013-12-10 Panasonic Corporation Coding artifacts removing method, coding method, decoding method, coding artifacts removing apparatus, coding apparatus, and decoding apparatus
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
JP5605188B2 (ja) * 2010-11-24 2014-10-15 富士通株式会社 動画像符号化装置
US8526509B2 (en) * 2011-01-14 2013-09-03 Telefonaktiebolaget L M Ericsson (Publ) Deblocking filtering
DK3313074T3 (da) * 2011-06-28 2021-10-25 Sony Group Corp Anordning til billedbehandling, fremgangsmåde til billedbehandling
KR101877867B1 (ko) 2012-02-21 2018-07-12 삼성전자주식회사 비디오 파라미터를 이용한 복잡도 측정 기반의 병렬 인-루프 화소 보정에 대한 부호화/복호화 장치 및 방법
JP5573997B2 (ja) * 2013-03-14 2014-08-20 ソニー株式会社 画像復号装置および方法、記録媒体、並びにプログラム
JP5573996B2 (ja) * 2013-03-14 2014-08-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5999773B2 (ja) * 2013-09-03 2016-09-28 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
JP2015226263A (ja) * 2014-05-29 2015-12-14 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP6328076B2 (ja) * 2015-06-17 2018-05-23 ヴェロス メディア インターナショナル リミテッドVelos Media International Limited 画像復号装置および方法、記録媒体、並びにプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11187400A (ja) * 1997-12-22 1999-07-09 Matsushita Electric Ind Co Ltd 歪除去方法および歪除去フィルタ
JP2000032297A (ja) * 1998-07-10 2000-01-28 Sharp Corp フィルタ処理装置、画像符号化装置、画像復号化装置、およびフィルタ処理プログラムを記録した記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11187400A (ja) * 1997-12-22 1999-07-09 Matsushita Electric Ind Co Ltd 歪除去方法および歪除去フィルタ
JP2000032297A (ja) * 1998-07-10 2000-01-28 Sharp Corp フィルタ処理装置、画像符号化装置、画像復号化装置、およびフィルタ処理プログラムを記録した記録媒体

Also Published As

Publication number Publication date
JP2007235886A (ja) 2007-09-13

Similar Documents

Publication Publication Date Title
JP4605052B2 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム
US9860530B2 (en) Method and apparatus for loop filtering
US20200107029A1 (en) Method and apparatus for sample adaptive offset parameter estimation for image and video coding
JP5875979B2 (ja) フィルタ装置、画像復号装置、画像符号化装置、および、フィルタパラメータのデータ構造
US20150326886A1 (en) Method and apparatus for loop filtering
US8711950B2 (en) Apparatus and method for adapted deblocking filtering strength
TWI709333B (zh) 一種解塊濾波的方法
US20100135389A1 (en) Method and apparatus for image encoding and image decoding
CN103947208B (zh) 减少解块滤波器的方法及装置
US20060013315A1 (en) Filtering method, apparatus, and medium used in audio-video codec
US20050281339A1 (en) Filtering method of audio-visual codec and filtering apparatus
KR20060060919A (ko) H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법
JP2008529412A (ja) 中間ループフィルタデータを格納するスクラッチパッド
KR20220036977A (ko) 비디오 코딩을 위한 가상 경계를 사용한 교차 성분 적응적 루프 필터링의 방법 및 장치
KR20050121627A (ko) 동영상 코덱의 필터링 방법 및 필터링 장치
JP4395174B2 (ja) 動画像符号化方法,動画像並列符号化用符号化器,動画像並列符号化方法,動画像並列符号化装置,それらのプログラム,およびそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体
US20100014597A1 (en) Efficient apparatus for fast video edge filtering
CN115883852A (zh) 用于视频编码的高效环路滤波
JP7145793B2 (ja) 画像復号装置、画像復号方法及びプログラム
KR100672327B1 (ko) 동영상 디코더 및 인트라 예측 방법
JP7146129B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP4825230B2 (ja) デブロッキングフィルタ
JP7487185B2 (ja) 少なくとも1つの画像を表すデータストリームを符号化および復号するための方法およびデバイス
JP7267191B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP4830691B2 (ja) 映像信号処理方法及び装置、並びに映像信号復号方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100816

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100907

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100920

R150 Certificate of patent or registration of utility model

Ref document number: 4605052

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees