Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3757116B2 - デブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法 - Google Patents
[go: Go Back, main page]

JP3757116B2 - デブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法 - Google Patents

デブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法 Download PDF

Info

Publication number
JP3757116B2
JP3757116B2 JP2000588976A JP2000588976A JP3757116B2 JP 3757116 B2 JP3757116 B2 JP 3757116B2 JP 2000588976 A JP2000588976 A JP 2000588976A JP 2000588976 A JP2000588976 A JP 2000588976A JP 3757116 B2 JP3757116 B2 JP 3757116B2
Authority
JP
Japan
Prior art keywords
pixel data
calculation
output
cycle
cnt
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
JP2000588976A
Other languages
English (en)
Other versions
JPWO2000036844A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2000036844A1 publication Critical patent/JPWO2000036844A1/ja
Application granted granted Critical
Publication of JP3757116B2 publication Critical patent/JP3757116B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
技術分野
本発明は、画像信号処理等で用いられる復元画素データのポスト処理の1つであるブロックノイズ除去のためのデブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法に関し、MPEG4で規格化されているデブロッキングフィルタ演算のDCオフセットモードにおける演算を実行するデブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法に関するものである。
【0002】
背景技術
動画像データを帯域圧縮技術を用いて符号化及び復号化する方式として、ISO−IEC/JTCI/SC2/WG11にて議論され標準化されたMPEG(Moving Picture Coding Experts Group)方式がある。これらMPEG方式は、画面内の相関を利用し、画面内を複数画素から構成されるブロックに分割し、このブロック内データを直交変換方式の1つである離散コサイン変換を行い、量子化、ハフマン符号化を行う処理を施し、画像データの圧縮を実現することを基本としている。これらの処理を施した画素は、逆の処理を行っても元の画素を忠実に再現できず、その結果2つの隣り合うブロックの境界部分の画素は異なった値を持つことになる。そして、これによりブロックノイズが発生する。
【0003】
MPEG4ではこの対策としてデブロッキングフィルタが規定されている。このフィルタは、ブロック境界を中心とした1次元のウインドウを例えば図4のようにとる場合に2種類の動作モードから構成される。図4において、g(n)(nは0から9までの整数)はブロック境界を中心として互いに隣接する10個の画素の画素データを示している。そして、このフィルタは、ブロック境界近傍画素のアクティビティーによりそれらの動作モードを適応的スイッチする。動作モードのスイッチには次の評価関数を用いる。
【0004】
Figure 0003757116
なお、Thはしきい値を示す。そして、評価関数を用いて動作モードは次のようにスイッチされる。
【0005】
Figure 0003757116
ここで示されるDCオフセットモードは、ブロック境界の画素データの変化が穏やかな場合の動作モードであり、デフォルトモードは変化が激しい場合の動作モードであり、DCオフセットモードに関しては以下に示すフィルタが定義されている。
【0006】
coef(1)=1;
coef(2)=1;
coef(3)=2;
coef(4)=2;
coef(5)=4;
coef(6)=2;
coef(7)=2;
coef(8)=1;
coef(9)=1;
【0007】
そして、次のようなフィルタリング処理を行い、処理画素g'(m)(m=1,2,3,4,5,6,7,8)を得る。
Figure 0003757116
【0008】
なお、QPはg(5)の画素値が属するマクロブロックの量子化パラメータである。また、min_padding及びmax_paddingは、上記の式で定義されるように、第1の画素データg(1)及び第8の画素データg(8)とこれらの画素データの外側に隣接する画素データg(0)及びg(9)とからそれぞれ求められた値である。このフィルタリングは全ての水平エッジに沿って行い、次に垂直エッジに沿って行う。このフィルタリングにおいて
Figure 0003757116
をプロセッサー内の汎用演算器でソフトウエア的に実行すると図3に示すフローとなる。
【0009】
以下、図3に示すフローについて説明する。スタート命令によりまず演算処理する8つの画素g(m)のうちの一つのmの値のセットを行う(ステップS1)。次に、iの値をセットする(ステップS2)iの初期値としては、i=−4とする。次にiが5であるかどうかを比較し(ステップS3)、5でなければmとiを加算する(ステップS4)。そしてステップS5によりm+iが1よりも小さい場合はmin_paddingデータをメモリにライトし、iに1を加算する(ステップS6)。また、m+iが1以上の場合は、ステップS7によりm+iと8を比較し、8よりも大きい場合はmax_paddingデータをメモリにライトし、iに1を加算する(ステップS8)。また、m+iが8以下の場合は、g(m+i)データをメモリにライトし、iに1を加算する(ステップS9)。1つのmの値に対しては、これらの動作をiが−4〜4に変化するまで計9回繰り返し、iが5の時に今までメモリへライトした9つのデータに対しその積和を行い(ステップS10)、結果をステップS11により4ビットシフトすることで、フィルタリング処理した1つの結果,即ちフィルタリング処理した画素データを出力する。
【0010】
しかしながら、従来の汎用演算器によるフィルタリング処理においては、1つのmの値に対し、iを−4〜4の計9回繰り返し1つの結果を出力する。この1つの結果を出力するには最大で67サイクル必要である。またmの値は1〜8の計8個あるため67サイクル×8の536サイクル必要となり、演算サイクル数が増加して処理が遅くなるという問題があった。
本発明は上記のような問題点を解決するためになされたものであり、演算サイクルの少ないデブロッキングフィルタ演算装置を提供することを目的とする。
【0011】
発明の開示
本発明に係るデブロッキングフィルタ演算装置は、ブロック境界周辺の互いに隣接する第1ないし第8の画素データに対し、ブロックノイズ除去のためのフィルタリング処理演算を行うデブロッキングフィルタ演算装置において、上記第1ないし第8の画素データのうちの各一対を入力とし、該各一対の入力データ、上記第1及び第8の画素データとこれらの画素データの外側に隣接する画素データと量子化パラメータの値とを比較して求めた2つの値、または丸めなしを示す任意の値のうちのいずれか1つを、それぞれ選択する第1、及び第2の選択回路と、累算するための演算結果、または丸めを行うための任意の値を選択する第3の選択回路と、上記第1、及び第2の選択回路の出力を入力とし、それぞれを上記フィルタリング処理演算のサイクルに応じてシフトさせる第1、第2のシフタと、上記第1のシフタの出力、上記第2のシフタの出力、および上記第3の選択回路の出力を加算する加算器と、上記加算器の出力を入力とし、該加算器の出力を上記累算するための演算結果として上記第3の選択回路へ出力するレジスタと、上記レジスタの出力を入力とし、該レジスタの出力を上記フィルタリング処理演算のサイクルに応じてシフトさせ、演算結果として上記第3の選択回路に出力する第3のシフタとを、それぞれ有する、上記第1ないし第8の画素データに対応して並列に設けられた第1ないし第8の演算ブロックと、上記第1ないし第8の演算ブロックからの出力を選択して出力する出力選択回路と、上記演算ブロックのうちの、第1及び第2の演算ブロック、第3及び第4の演算ブロック、第5及び第6の演算ブロック、並びに第7及び第8の演算ブロックでそれぞれ構成される演算ブロックの組の、各組内におけるそれぞれのフィルタリング処理が終了するまでの処理演算のサイクルが同じとなり、かつ各組間において、それぞれの組のフィルタリング処理が順次連続して終了するように、上記処理演算のサイクルに応じて、上記各演算ブロックの処理演算を制御するとともに、上記出力選択回路を制御して上記演算ブロックからの出力を上記演算ブロックの組単位で選択してパイプライン出力させる制御回路とを備えている。これにより、各演算ブロックによる演算の処理サイクルを削減できるとともに、演算ブロックの各組の演算結果をパイプライン出力することができ、演算処理のサイクルの削減を図ることができる。
【0013】
また、本発明に係るデブロッキングフィルタ演算方法は、ブロック境界周辺の連続する第1ないし第8の画素データに対し、ブロックノイズ除去のためのフィルタリング処理演算を行うデブロッキングフィルタ演算方法において、上記第1ないし第8の画素データの各一対を入力とし、該各一対の入力データ、上記第1及び第8の画素データとこれらの画素データの外側に隣接する画素データと量子化パラメータの値とを比較して求めた2つの値、または丸めなしを示す任意の値のうちのいずれか1つを、それぞれ選択し、上フィルタリング記処理演算のサイクルに応じてシフトさせる第1、第2の処理と、累算するための演算結果、または丸めを行うための任意の値を選択する第3の処理と、上記第1、第2、及び第3の処理で得られた値を加算する第4の処理と、上記第4の処理で得られた加算値を上記累算するための演算結果とするとともに、該加算値を、上記フィルタリング処理演算のサイクルに応じてシフトさせる第5の処理とを、含み、上記第1ないし第8の画素データに対応するフィルタリング処理演算を、上記画素データのうちの、第1及び第2の画素データ、第3及び第4の画素データ、第5及び第6の画素データ、並びに第7及び第8の画素データのそれぞれの組の、各組の画素データに対するフィルタリング処理演算が終了するまでの処理演算のサイクルが同じとなり、かつ各組間において、それぞれの組の画素データに対するフィルタリング処理が順次連続して終了するように、並列に実行するステップと、該ステップにより得られたフィルタリング処理済みの画素データを、上記画素データのそれぞれの組毎に順次連続してパイプライン出力させるステップとを備えている。これにより、各演算ブロックによる演算の処理サイクルを削減できるとともに、演算ブロックの各組の演算結果をパイプライン出力することができ、演算処理のサイクルの削減を図ることができる。
【0014】
発明を実施するための最良の形態
図1は、本発明の実施の形態に係るデブロッキングフィルタ演算装置の構造を示すブロック図であり、本実施の形態に係るデブロッキングフィルタ演算装置は、デブロッキングフィルタ演算のうちの一部である、
Figure 0003757116
という演算を行うものである。図において、制御回路1は0から7までの処理サイクルのカウントを行い、そのカウント値を、フィルタリングの対象となる第1ないし第8の画素m(mは1から8までの整数)に対応する第1ないし第8の演算ブロック101〜108、およびこの演算ブロック101〜108の出力を選択する出力選択回路7に出力する。演算ブロック101は、外部において予め作成され、入力されるデータであるmax_padding3,min_padding4,実際の8ビットの画素データであるg(x)5,g(x+1)6のうちの少なくとも2つを入力とする第1及び第2の選択回路111,121と、データ“8"及び後述するレジスタ171の出力を入力とする第3の選択回路131と、第1及び第2の選択回路111,121の選択結果をそれぞれシフトさせる第1、第2のシフタ141,151、これらの第1、第2のシフタ141,151の出力と第3の選択回路131の出力とを加算する加算器161、加算器161の出力が入力されるレジスタ171、レジスタ171の出力を入力としてこれをシフトさせて出力選択回路7に出力する第3のシフタ181とを備えている。g(x)5と,g(x+1)6とは16ビットのバスを介して入力される。max_padding3,min_padding4は、従来の技術において式で示したように、フィルタリング対象となる第1ないし第8の画素データg(m)のうちの第1の画素データg(1)及び第8の画素データg(8)と、これらの画素データの外側に隣接する画素データg(0)及びg(9)と量子化パラメータの値とを比較して求められた値である。演算ブロック102〜108も、演算ブロック101と同様の構成を有しており max_padding 3, min_padding 4,実際の8ビットの画素データである g( ) 5, g( + ) 6、値0のうちの少なくとも2つを入力とし、該入力した2つの値のうちのいずれかを演算処理サイクルに応じて選択する第1の選択回路112〜118、及び第2の選択回路122〜128と、演算処理サイクルに応じて、累算するための演算結果(第3のシフタの出力)または値8を選択する第3の選択回路132〜138と、上記第1の選択回路112〜118の各出力を、演算処理サイクルに応じてシフトさせる第1のシフタ142〜148と、上記第2の選択回路122〜128の各出力を、演算処理サイクルに応じてシフトさせる第2のシフタ152〜158と、上記第1のシフタ142〜148の出力、上記第2のシフタ152〜158の出力、および上記第3の選択回路132〜138の出力をそれぞれ加算する加算器162〜168と、上記加算器162〜168の各出力を、演算サイクルに応じて上記累算するための演算結果として上記第3の選択回路132〜138にそれぞれ出力するレジスタ172〜178と、上記レジスタ172〜178の各出力を演算結果として上記出力選択回路7に出力する第3のシフタ182〜188とを備えている。出力選択回路7は第1ないし第8の演算ブロック101〜108の出力を選択して出力8として出力する。
【0015】
また、図2,図5及び図6は本実施の形態に係るデブロッキングフィルタ演算装置の動作を説明するための図であり、図2は演算ブロック101〜104の演算処理結果と制御回路1のカウント値との関係を示し、図5は演算ブロック105〜108の演算処理結果と制御回路1のカウント値との関係を示し、図6は各演算ブロック101〜108から出力演算回路7への出力と、カウント値との関係を示している。図において、m=1〜8はそれぞれ演算ブロック101〜108に対応し、M〜Uは演算ブロック101〜108の演算結果を示している。また、黒丸は入力データであるg(x)5、g(x+1)6、max_padding3,min_padding4が入力されることを示している。また、AUはg(x)5を示し、ALはg(x+1)6を示し、CRLはmin_padding4を示し、CRUはmax_padding3を示している。また、記号“<<”はビットシフトを示している。
以上のように構成されたデブロッキングフィルタ演算装置の動作について図1,図2,図5及び図6を用いて説明する。
【0016】
図1に示す制御回路1は、スタート信号2によりカウントアップを行い0〜7までカウントした後は2〜7を繰り返し、図2及び図5に示すようにカウンタ値CNTの値が0の場合は画素信号g(1)、g(2)、CNTの値が1の場合は画素信号g(3)、g(4)、CNTの値が2の場合は画素信号g(5)、g(6)、CNTの値が3の場合は画素信号g(7)、g(8)、CNTの値が4の場合は画素信号g(7)、g(8)、CNTの値が5の場合は画素信号g(7)、g(8)、CNTの値が6の場合は画素信号g(9)、g(10)、CNTの値が7の場合は画素信号g(11)、g(12)を随時入力させる。
【0017】
演算ブロック101においては、図2に示すように、CNT=0の場合、g(2)、g(1)が第1,第2の選択回路111,121で選択され、第3の選択回路131では"8"が選択され、第2のシフタ151により入力データが2ビットシフトされ、第1のシフタ141により1ビットシフトされ、第1のシフタ141と第2のシフタ151と第3の選択回路131の出力とが加算器161で加算されて、レジスタ171に格納される。この処理サイクルの演算結果として得られるデータMは図2に示されているように、M=AU<<2+AL<<1+8となる。
【0018】
次にCNT=1となると、g(4)、g(3)が第1,第2の選択回路111,121で選択され、第3の選択回路131ではCNT=0の際の演算結果であるMがレジスタ171から入力されるのでこれを選択し、第2のシフタ151により入力データが1ビットシフトされ、第1のシフタ141ではビットシフトされず、第1のシフタ141と第2のシフタ151と第3の選択回路131の出力とが加算器161で加算されて、レジスタ171に格納され、この処理サイクルの演算結果として得られるデータMは図2に示されているように、M=AU<<1+AL+M(但しMはCNT=0の場合の演算結果)となる。
【0019】
次にCNT=2となると、min_padding、g(5)が第1,第2の選択回路111,121で選択され、第3の選択回路131ではCNT=1の際の演算結果であるMがレジスタ171から入力されるのでこれを選択し、第2のシフタ151により入力データがビットシフトされず、第1のシフタ141では1ビットシフトされ、第1のシフタ141と第2のシフタ151と第3の選択回路131の出力とが加算器161で加算されて、レジスタ171に格納され、この処理サイクルの演算結果として得られるデータMは図2に示されているように、M=AU+CRL<<1+M(但しMはCNT=1の場合の演算結果)となる。
【0020】
次にCNT=3となると、min_padding、min_paddingが第1,第2の選択回路111,121で選択され、第3の選択回路131ではCNT=2の際の演算結果であるMがレジスタ171から入力されるのでこれを選択し、第2のシフタ151により入力データが1ビットシフトされ、第1のシフタ141では1ビットシフトされ、第1のシフタ141と第2のシフタ151と第3の選択回路131の出力とが加算器161で加算されて、レジスタ171に格納され、この処理サイクルの演算結果として得られるデータMは図2に示されているように、M=CRL<<1+CRL<<1+M(但しMはCNT=2の場合の演算結果)となる。
【0021】
このように、図2に示されているような演算をCNT=3となるまで繰り返し行うことにより、演算ブロック101の合計4サイクルからなる演算の最終的な演算結果である、8+min_padding+min_padding+min_padding<<1+min_padding<<1+g(1)<<2+g(2)<<1+g(3)<<1+g(4)+g(5)を第3のシフタ181により4ビット右シフトさせて出力する。
この演算ブロック101はその後、カウンタが2処理サイクルをカウントした時点(CNT=6)から上記と同様の処理を繰り返す。すなわち、図2に示しているように、CNT=6の演算結果は、M=AU<<2+AL<<1+8となり、上記CNT=0の演算結果と同じになり、CNT=7の演算結果は、M=AU<<1+AL+M(MはCNT=6の場合の演算結果)となり、上記CNT=1の演算結果と同じになる。同様に、CNT=8以降の処理演算はそれぞれ、CNTの値が2、3、4、5、0、1の場合の処理演算を繰り返すこととなる。
【0022】
以下、同様にm=2〜8においても同様の構成を有する演算ブロック102〜108により、カウント値に基づいて、図2及び図5に示すような動作を行う。 ここで、上記各演算ブロック101〜108の動作について詳細に説明する。 まず、m=1に対応する演算ブロックである演算ブロック101において、iの値を−4〜4まで変化させた場合の上述した式(1)の値は、i=−4の場合は1×min_padding、i=−3の場合は1×min_padding、i=−2の場合は2×min_padding,i=−1の場合は2×min_padding,i=0の場合は4×g(1)、i=1の場合は2×g(2)、i=2の場合は2×g(3)、i=3の場合は1×g(4)、i=4の場合には1×g(5)となる。
【0023】
この中でi=−4とi=−3の場合はまとめて2×min_paddingで表されi=4のg(5)との加算を行う。これが、図2のCNT=2の結果である、AU+CRL<<1に相当する。i=−2とi=−1の場合はまとめて2×min_padding+2×min_padding、即ち図2のCNT=3、CRL<<1+CRL<<1で表され、i=0とi=1の場合はまとめて4×g(1)+2×g(2)、即ち、図2のCNT=0、AU<<2+AL<<1で表され、i=2とi=3の場合はまとめて2×g(3)+1×g(4)、即ち図2のCNT=1、AU<<1+ALで表される。但し図2のMはレジスタ171の出力であり、またCNT=0の+8は丸めを行うための値であり、丸めなしの場合は0を入力すれば良い。このようにCNTの値によりセレクタ111、121、131およびシフタ141、151を制御し、上記の演算を実行し、最後であるCNT=4の時にシフタ181をシフトすることで演算結果としてm=1の画素にフィルタリング処理を行った結果を出力する。このように、演算ブロック101において図2に示すような演算を行う結果、iを−4から4まで順次変化させてm=1について9サイクルの演算を行う場合よりも、少ないサイクルで本来の演算結果と同じ結果を得ることができる。
【0024】
また、m=2に対応する演算ブロックである演算ブロック102において、iの値を−4〜4まで変化させた場合の式(1)の値は、
Figure 0003757116
【0025】
となる。この中で、i=−1とi=0とをまとめると2×g(1)+4×g(2)となり、図2のCNT=0のサイクルにおけるAU<<1+AL<<2で表わされ、i=1とi=2とをまとめると2×g(3)+2×g(4)となり、図2のCNT=1のサイクルにおけるAU<<1+AL<<1で表わされ、i=3とi=4とをまとめると1×g(5)+1×g(6)となり、図2のCNT=2のサイクルにおけるAU+ALで表わされ、i=−2とi=−3とi=−4とをまとめると2×min_padding+2×min_paddingとなり、図2のCNT=3のサイクルにおけるCRL<<1+CRL<<1で表わされる。
但し図2のNはレジスタ172の直前のサイクルの出力であり、またCNT=0の+8は丸めを行うための値であり、丸めなしの場合は0を入力すれば良い。
【0026】
このようにCNTの値によりセレクタ112、122、132およびシフタ142、152を制御し、演算ブロック102において図2に示すような演算を行う結果、iを−4から4まで順次変化させてm=2について9サイクルの演算を行う場合よりも、少ないサイクルで本来の演算結果と同じ結果を得ることができる。さらに、演算が終了するまでのサイクル数を、m=1の画素データに対応した演算ブロック101による演算処理のサイクル数と同じサイクル数とし、かつ演算処理が終了するサイクルを演算ブロック101と同じとすることができる。
【0027】
また、m=3に対応する演算ブロックである演算ブロック103において、iの値を−4〜4まで変化させた場合の式(1)の値は、
Figure 0003757116
【0028】
となる。この中で、i=−2とi=−1とをまとめると2×g(1)+2×g(2)となり、図2のCNT=0のサイクルにおけるAU<<1+AL<<1で表わされ、i=0とi=1とをまとめると4×g(3)+2×g(4)となり、図2のCNT=1のサイクルにおけるAU<<2+AL<<1で表わされ、i=2とi=3とをまとめると2×g(5)+1×g(6)となり、図2のCNT=2のサイクルにおけるAU<<2+ALで表わされ、i=4とi=−4とをまとめると1×g(7)+1×min_paddingとなり、図2のCNT=3のサイクルにおけるAU+CRLで表わされ、i=−3は1×min_paddingで、図2のCNT=4のサイクルにおけるCRLで表わされる。但し図2のPはレジスタ173の直前のサイクルの出力であり、またCNT=0の+8は丸めを行うための値であり、丸めなしの場合は0を入力すれば良い。
【0029】
このようにCNTの値によりセレクタ113、123、133およびシフタ143、153を制御し、演算ブロック103において図2に示すような演算を行う結果、iを−4から4まで順次変化させてm=3について9サイクルの演算を行う場合よりも、少ないサイクルで本来の演算結果と同じ結果を得ることができる。
【0030】
また、m=4に対応する演算ブロックである演算ブロック104において、iの値を−4〜4まで変化させた場合の式(1)の値は、
Figure 0003757116
【0031】
となる。この中で、i=−3とi=−2とをまとめると1×g(1)+2×g(2)となり、図2のCNT=0のサイクルにおけるAU+AL<<1で表わされ、i=−1とi=0とをまとめると2×g(3)+4×g(4)となり、図2のCNT=1のサイクルにおけるAU<<1+AL<<2で表わされ、i=1とi=2とをまとめると2×g(5)+2×g(6)となり、図2のCNT=2のサイクルにおけるAU<<1+AL<<1で表わされ、i=3とi=4とをまとめると1×g(7)+1×g(8)となり、図2のCNT=3のサイクルにおけるAU+ALで表わされ、i=−4は1×min_paddingで、図2のCNT=4のサイクルにおけるCRLで表わされる。但し図2のQはレジスタ174の直前のサイクルの出力であり、またCNT=0の+8は丸めを行うための値であり、丸めなしの場合は0を入力すれば良い。
【0032】
このようにCNTの値によりセレクタ114、124、134およびシフタ144、154を制御し、演算ブロック104において図2に示すような演算を行う結果、iを−4から4まで順次変化させてm=4について9サイクルの演算を行う場合よりも、少ないサイクルで本来の演算結果と同じ結果を得ることができる。さらに、演算が終了するまでのサイクル数を、m=3の画素データに対応した演算ブロック103による演算処理のサイクル数と同じサイクル数とし、かつ演算処理が終了するサイクルを演算ブロック103と同じとすることができる。
【0033】
また、m=5に対応する演算ブロックである演算ブロック105において、iの値を−4〜4まで変化させた場合の式(1)の値は、
Figure 0003757116
【0034】
となる。この中で、i=−4とi=−3とをまとめると1×g(1)+1×g(2)となり、図5のCNT=0のサイクルにおけるAU+ALで表わされ、i=−2とi=−1とをまとめると2×g(3)+2×g(4)となり、図5のCNT=1のサイクルにおけるAU<<1+AL<<1で表わされ、i=0とi=1とをまとめると4×g(5)+2×g(6)となり、図5のCNT=2のサイクルにおけるAU<<2+AL<<1で表わされ、i=2とi=3とをまとめると2×g(7)+1×g(8)となり、図5のCNT=3のサイクルにおけるAU<<1+ALで表わされ、i=4は1×max_paddingで、図5のCNT=4のサイクルにおけるCRUで表わされる。但し図5のPはレジスタ175の直前のサイクルの出力であり、またCNT=0の+8は丸めを行うための値であり、丸めなしの場合は0を入力すれば良い。このようにCNTの値によりセレクタ115、125、135およびシフタ145、155を制御し、演算ブロック105において図5に示すような演算を行う結果、iを−4から4まで順次変化させてm=5について9サイクルの演算を行う場合よりも、少ないサイクルで本来の演算結果と同じ結果を得ることができる。
【0035】
また、m=6に対応する演算ブロックである演算ブロック106において、iの値を−4〜4まで変化させた場合の式(1)の値は、
Figure 0003757116
【0036】
となる。この中で、i=−4は1×g(2)で、図5のCNT=0のサイクルにおけるALで表わされ、i=−3とi=−2とをまとめると1×g(3)+2×g(4)となり、図5のCNT=1のサイクルにおけるAU+AL<<1で表わされ、i=−1とi=0とをまとめると2×g(5)+4×g(6)となり、図5のCNT=2のサイクルにおけるAU<<1+AL<<2で表わされ、i=1とi=2とをまとめると2×g(7)+2×g(8)となり、図5のCNT=3のサイクルにおけるAU<<1+AL<<1で表わされ、i=3とi=4とをまとめると1×max_padding+1×max_paddingとなり、図5のCNT=4のサイクルにおけるCRU+CRUで表わされる。但し図5のSはレジスタ176の直前のサイクルの出力であり、またCNT=0の+8は丸めを行うための値であり、丸めなしの場合は0を入力すれば良い。
【0037】
このようにCNTの値によりセレクタ161、162、163およびシフタ164、165を制御し、演算ブロック106において図5に示すような演算を行う結果、iを−4から4まで順次変化させてm=6について9サイクルの演算を行う場合よりも、少ないサイクルで本来の演算結果と同じ結果を得ることができる。さらに、演算が終了するまでのサイクル数を、m=5の画素データに対応した演算ブロック105による演算処理のサイクル数と同じサイクル数とし、かつ演算処理が終了するサイクルを演算ブロック105と同じとすることができる。
【0038】
また、m=7に対応する演算ブロックである演算ブロック107において、iの値を−4〜4まで変化させた場合の式(1)の値は、
Figure 0003757116
【0039】
となる。この中で、i=−4とi=−3とをまとめると1×g(3)+1×g(4)となり、図5のCNT=1のサイクルにおけるAU+ALで表わされ、i=−2とi=−1とをまとめると2×g(5)+2×g(6)となり、図5のCNT=2のサイクルにおけるAU<<1+AL<<1で表わされ、i=0とi=1とをまとめると4×g(7)+2×g(8)となり、図5のCNT=3のサイクルにおけるAU<<2+AL<<1で表わされ、i=2とi=3とをまとめると2×max_padding+1×max_paddingとなり、図5のCNT=4のサイクルにおけるCRU<<1+CRUで表わされ、i=4は1×max_paddingとなり、図5のCNT=5のサイクルにおけるCRUで表わされる。但し図5のTはレジスタ177の直前のサイクルの出力であり、またCNT=1の+8は丸めを行うための値であり、丸めなしの場合は0を入力すれば良い。このようにCNTの値によりセレクタ117、127、137およびシフタ147、157を制御し、演算ブロック107において図5に示すような演算を行う結果、iを−4から4まで順次変化させてm=7について9サイクルの演算を行う場合よりも、少ないサイクルで本来の演算結果と同じ結果を得ることができる。
【0040】
また、m=8に対応する演算ブロックである演算ブロック108において、iの値を−4〜4まで変化させた場合の式(1)の値は、
Figure 0003757116
【0041】
となる。この中で、i=−4は1×g(4)となり、図5のCNT=1のサイクルにおけるALで表わされ、i=−3とi=−2とをまとめると1×g(5)+2×g(6)となり、図5のCNT=2のサイクルにおけるAU+AL<<1で表わされ、i=−1とi=0とをまとめると2×g(7)+4×g(8)となり、図5のCNT=3のサイクルにおけるAU<<1+AL<<2で表わされ、i=1とi=2とをまとめると2×max_padding+2×max_paddingとなり、図5のCNT=4のサイクルにおけるCRU<<1+CRU<<1で表わされ、i=3とi=4とをまとめると1×max_padding+1×max_paddingとなり、図5のCNT=5のサイクルにおけるCRU+CRUで表わされる。但し図5のUはレジスタ178の直前のサイクルの出力であり、またCNT=1の+8は丸めを行うための値であり、丸めなしの場合は0を入力すれば良い。
【0042】
このようにCNTの値によりセレクタ118、128、138およびシフタ148、158を制御し、演算ブロック108において図5に示すような演算を行う結果、iを−4から4まで順次変化させてm=8について9サイクルの演算を行う場合よりも、少ないサイクルでm=8についての演算結果と同じ結果を得ることができる。さらに、演算が終了するまでのサイクル数を、m=7の画素データに対応した演算ブロック107による演算処理のサイクル数と同じサイクル数とし、かつ演算処理が終了するサイクルを演算ブロック107と同じとすることができる。
【0043】
そして、図6に示すように、出力選択回路7により、各演算ブロック101〜108の演算結果については、CNT=4の時に演算ブロック101,102から得られるn=1とn=2の値を同時に出力し、CNT=5の時に演算ブロック103,104から得られるn=3とn=4の値を同時に出力し、CNT=6の時に演算ブロック105,106から得られるn=5とn=6の値を同時に出力し、CNT=7の時に演算ブロック107,108から得られるn=7とn=8の値を同時に出力することで、演算ブロック101〜108の演算結果を、2つの演算ブロック毎に、パイプライン方式で出力させている。これによりデブロッキングフィルタリング処理した画素データを得ることができる。
【0044】
以上のようにして、演算ブロック101〜108においては、図2及び図5に示すように演算処理をおこなうことにより、m=1〜8のそれぞれの場合について、従来の技術において同様の演算を行った場合の結果と同じ演算結果を、従来の技術よりも少ないサイクルで得ることができる。
【0045】
さらに、本実施の形態においては、第1ないし第8の演算ブロック101〜108のうちの、第1の演算ブロック101及び第2の演算ブロック102の組、第3の演算ブロック103及び第4の演算ブロック104の組、第5の演算ブロック105及び第6の演算ブロック106の組、並びに第7の演算ブロック107及び第8の演算ブロック108の組の、各組内におけるそれぞれのフィルタリング処理が終了するまでの処理演算のサイクルが同じとなり、かつ各組間において、それぞれの組のフィルタリング処理が順次連続して終了するように、上記処理演算のサイクルに応じて、上記各演算ブロック101〜108の処理演算の内容を制御回路1により制御し、そして、図6に示すように、上記出力選択回路7を制御して演算ブロック101〜108からの出力を上記の演算ブロックの組単位で選択してパイプライン出力させているため、連続して各演算ブロック101〜108からフィルタリング処理結果が出力されることとなり、フィルタリング処理のサイクル数を更に減少させることができる。
【0046】
このように、本実施の形態においては、上述した式(1)に示す各画素mについてのi=-4〜4まで変化させる演算を、各演算ブロック101〜108によって、従来のサイクル数に比べて大幅に少ないサイクルで行うことができるとともに、2つの演算ブロックにより演算を同時に行い、2つの演算ブロックの演算結果をパイプライン方式で出力するようにしたことにより、結果的にサイクル数の大幅な削減が可能となる。
【0047】
なお、本実施の形態においては、1サイクルに2つの画素データg(x),g(x+1)が入力される場合について説明したが、本発明においては、第1の演算ブロック101及び第2の演算ブロック102の組、第3の演算ブロック103及び第4の演算ブロック104の組、第5の演算ブロック105及び第6の演算ブロック106の組、並びに第7の演算ブロック107及び第8の演算ブロック108の組の、各組内におけるそれぞれのフィルタリング処理が終了するまでの処理演算のサイクルが同じとなり、かつ各組間において、それぞれの組のフィルタリング処理が順次連続して終了するように、上記処理演算のサイクルに応じて、上記各演算ブロック101〜108の処理演算の内容を制御可能であれば、複数の画素データが伝送されるバスの幅を16ビットよりも広くして、1サイクルに入力される画素データ数は3つ以上、例えば4つとしてもよく、上記実施の形態と同様の効果を奏する。
【0048】
産業上の利用可能性
以上のように、本発明に係るデブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法は、符号化された映像データを復号して再生するための装置における、復号画素データに対するフィルタ処理部及び処理方法として有用であり、特に符号化された映像データがMPEG4方式で符号化されたものである場合に適している。
【図面の簡単な説明】
【図1】本発明に係るデブロッキングフィルタ演算装置のブロック図
【図2】本発明に係るデブロッキングフィルタ演算装置の、m=1〜4に対応した演算ブロックによる動作を説明するための図
【図3】従来のデブロッキングフィルタ演算装置の動作を示すフロー図
【図4】従来のデブロッキングフィルタ演算装置の動作を説明するための、ブロック境界を中心とした画素データの配列を示す図
【図5】本発明に係るデブロッキングフィルタ演算装置のm=5〜8に対応した演算ブロックによる動作を説明するための図
【図6】本発明に係るデブロッキングフィルタ演算装置の出力動作を説明するための図

Claims (2)

  1. ブロック境界周辺の互いに隣接する第1ないし第8の画素データに対し、ブロックノイズ除去のためのフィルタリング処理演算を行うデブロッキングフィルタ演算装置において、
    上記第1ないし第8の画素データのうちの各一対を入力とし、該各一対の入力データ、上記第1及び第8の画素データとこれらの画素データの外側に隣接する画素データと量子化パラメータの値とを比較して求めた2つの値、または丸めなしを示す任意の値のうちのいずれか1つを、それぞれ選択する第1、及び第2の選択回路と、
    累算するための演算結果、または丸めを行うための任意の値を選択する第3の選択回路と、
    上記第1、及び第2の選択回路の出力を入力とし、それぞれを上記フィルタリング処理演算のサイクルに応じてシフトさせる第1、第2のシフタと、
    上記第1のシフタの出力、上記第2のシフタの出力、および上記第3の選択回路の出力を加算する加算器と、
    上記加算器の出力を入力とし、該加算器の出力を上記累算するための演算結果として上記第3の選択回路へ出力するレジスタと、
    上記レジスタの出力を入力とし、該レジスタの出力を上記フィルタリング処理演算のサイクルに応じてシフトさせ、演算結果として上記第3の選択回路に出力する第3のシフタとを、それぞれ有する、上記第1ないし第8の画素データに対応して並列に設けられた第1ないし第8の演算ブロックと、
    上記第1ないし第8の演算ブロックからの出力を選択して出力する出力選択回路と、
    上記演算ブロックのうちの、第1及び第2の演算ブロック、第3及び第4の演算ブロック、第5及び第6の演算ブロック、並びに第7及び第8の演算ブロックでそれぞれ構成される演算ブロックの組の、各組内におけるそれぞれのフィルタリング処理が終了するまでの処理演算のサイクルが同じとなり、かつ各組間において、それぞれの組のフィルタリング処理が順次連続して終了するように、上記処理演算のサイクルに応じて、上記各演算ブロックの処理演算を制御するとともに、上記出力選択回路を制御して上記演算ブロックからの出力を上記演算ブロックの組単位で選択してパイプライン出力させる制御回路とを備えたことを特徴とするデブロッキングフィルタ演算装置。
  2. ブロック境界周辺の連続する第1ないし第8の画素データに対し、ブロックノイズ除去のためのフィルタリング処理演算を行うデブロッキングフィルタ演算方法において、
    上記第1ないし第8の画素データの各一対を入力とし、該各一対の入力データ、上記第1及び第8の画素データとこれらの画素データの外側に隣接する画素データと量子化パラメータの値とを比較して求めた2つの値、または丸めなしを示す任意の値のうちのいずれか1つを、それぞれ選択し、上記フィルタリング処理演算のサイクルに応じてシフトさせる第1、第2の処理と、
    累算するための演算結果、または丸めを行うための任意の値を選択する第3の処理と、
    上記第1、第2、及び第3の処理で得られた値を加算する第4の処理と、
    上記第4の処理で得られた加算値を上記累算するための演算結果とするとともに、該加算値を、上記フィルタリング処理演算のサイクルに応じてシフトさせる第5の処理とを、含み、
    上記第1ないし第8の画素データに対応するフィルタリング処理演算を、
    記画素データのうちの、第1及び第2の画素データ、第3及び第4の画素データ、第5及び第6の画素データ、並びに第7及び第8の画素データのそれぞれの組の、各組の画素データに対するフィルタリング処理演算が終了するまでの処理演算のサイクルが同じとなり、かつ各組間において、それぞれの組の画素データに対するフィルタリング処理が順次連続して終了するように、並列に実行するステップと、
    該ステップにより得られたフィルタリング処理済みの画素データを、上記画素データのそれぞれの組毎に順次連続してパイプライン出力させるステップとを備えたことを特徴とするデブロッキングフィルタ演算方法。
JP2000588976A 1998-12-11 1999-12-10 デブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法 Expired - Fee Related JP3757116B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-352832 1998-12-11
JP35283298 1998-12-11
PCT/JP1999/006985 WO2000036844A1 (en) 1998-12-11 1999-12-10 Device for deblocking filter operation and method for deblocking filter operation

Publications (2)

Publication Number Publication Date
JPWO2000036844A1 JPWO2000036844A1 (ja) 2002-04-02
JP3757116B2 true JP3757116B2 (ja) 2006-03-22

Family

ID=18426751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000588976A Expired - Fee Related JP3757116B2 (ja) 1998-12-11 1999-12-10 デブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法

Country Status (3)

Country Link
US (1) US6882688B1 (ja)
JP (1) JP3757116B2 (ja)
WO (1) WO2000036844A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2453292A1 (en) * 2004-01-07 2005-07-07 John W. Bogdan Noise filtering edge detectors
KR100614647B1 (ko) 2004-07-02 2006-08-22 삼성전자주식회사 디블록킹 필터에서의 효과적인 에지 필터링 연산을 위한레지스터 어레이 구조
TWI444047B (zh) * 2006-06-16 2014-07-01 Via Tech Inc 用於視訊解碼的去方塊效應濾波器、視訊解碼器與圖形處理單元
CN101854540B (zh) * 2009-04-01 2014-07-02 辉达公司 用于应用h.264视频编码标准的帧内预测方法及装置
CN102055969B (zh) * 2009-10-30 2012-12-19 鸿富锦精密工业(深圳)有限公司 影像解块过滤器及使用其的影像处理装置
TWI394461B (zh) * 2009-11-05 2013-04-21 Hon Hai Prec Ind Co Ltd 影像解塊過濾器及影像處理裝置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529637B1 (en) * 1989-05-22 2003-03-04 Pixel Instruments Corporation Spatial scan replication circuit
JPH0714211B2 (ja) 1989-07-14 1995-02-15 国際電信電話株式会社 動画像符号化のブロック歪除去方法および装置
GB2253318B (en) 1991-02-27 1994-07-20 Stc Plc Image processing
US5703965A (en) * 1992-06-05 1997-12-30 The Regents Of The University Of California Image compression/decompression based on mathematical transform, reduction/expansion, and image sharpening
JPH07107274A (ja) 1993-10-05 1995-04-21 Fuji Xerox Co Ltd 画像処理装置
JP3432904B2 (ja) 1994-08-31 2003-08-04 三洋電機株式会社 ブロック歪み検出装置
JPH08181990A (ja) 1994-12-26 1996-07-12 Kyocera Corp 画像復号化装置
US6377628B1 (en) * 1996-12-18 2002-04-23 Thomson Licensing S.A. System for maintaining datastream continuity in the presence of disrupted source data
KR100244290B1 (ko) 1997-09-09 2000-02-01 구자홍 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법
US6226323B1 (en) * 1998-11-03 2001-05-01 Broadcom Corporation Technique for minimizing decision feedback equalizer wordlength in the presence of a DC component
US6421464B1 (en) * 1998-12-16 2002-07-16 Fastvdo Llc Fast lapped image transforms using lifting steps
US6546480B1 (en) * 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data

Also Published As

Publication number Publication date
US6882688B1 (en) 2005-04-19
WO2000036844A1 (en) 2000-06-22

Similar Documents

Publication Publication Date Title
CN101068364B (zh) 视频编码器与图形处理系统
US8369419B2 (en) Systems and methods of video compression deblocking
US8243815B2 (en) Systems and methods of video compression deblocking
CN1114316C (zh) 基于块的图像处理方法及其装置
JP4699685B2 (ja) 信号処理装置及びそれを用いた電子機器
US20040208392A1 (en) Method and apparatus for improving video quality of low bit-rate video
EP1445956A1 (en) Image encoding method, image decoding method, image encoder, image decoder, program, computer data signal and image transmission system
DE10215350A1 (de) Videobild-Komprimierungs/Dekomprimierungs-Hard ware System
WO2000033255A1 (en) Compressing and decompressing images
JP3757116B2 (ja) デブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法
US7940991B2 (en) Image signal processing apparatus
JPWO2000036844A1 (ja) デブロッキングフィルタ演算装置及びデブロッキングフィルタ演算方法
JP3288811B2 (ja) ビデオコーデックにおける後処理フィルタ制御方式及び後処理フィルタ制御回路
US20080049832A1 (en) Image Encoding Device, Image Decoding Device, and Integrated Circuit Used Therein
CN101253772A (zh) 用于滤波通过基于块的图像解压获得的图像的设备
JP2888292B2 (ja) 2次元逆離散コサイン変換(idct)装置
JP4519807B2 (ja) 乗算器及びフィルタ処理装置
JP4217408B2 (ja) フィルタ処理装置
JP3653799B2 (ja) 画像符号化装置
JP4700838B2 (ja) フィルタ処理装置
CN109891889A (zh) 处理装置及其控制方法
JP3907724B2 (ja) 画像符号化装置
JPH10177565A (ja) 画像復号化装置
JPH09187006A (ja) フィルタ装置及びそれを用いた復号化装置
JPH11164302A (ja) 画像圧縮方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050610

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: 20051220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051226

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100106

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110106

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120106

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130106

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees