JP2006157925A - パイプラインデブロッキングフィルタ - Google Patents

パイプラインデブロッキングフィルタ Download PDF

Info

Publication number
JP2006157925A
JP2006157925A JP2005344038A JP2005344038A JP2006157925A JP 2006157925 A JP2006157925 A JP 2006157925A JP 2005344038 A JP2005344038 A JP 2005344038A JP 2005344038 A JP2005344038 A JP 2005344038A JP 2006157925 A JP2006157925 A JP 2006157925A
Authority
JP
Japan
Prior art keywords
filtering
block
edge
vector
pixel
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.)
Pending
Application number
JP2005344038A
Other languages
English (en)
Inventor
Yun-Kyoung Kim
胤京 金
Jung-Sun Kang
▲ジュン▼善 姜
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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
Priority claimed from KR1020040099724A external-priority patent/KR20060060919A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2006157925A publication Critical patent/JP2006157925A/ja
Pending 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

【課題】パイプラインデブロッキングのための装置及び方法を提供する。
【解決手段】フィルタリングエンジン、フィルタリングエンジンと信号を送受信する複数個のレジスタ、前記フィルタリングエンジンと信号を送受信するパイプライン制御部、及びパイプライン制御部と信号を送受信するFSMを備えることを特徴とするブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングするためのパイプラインデブロッキングフィルタである。また、ブロックの第1エッジをフィルタリングするステップ、及び第1エッジをフィルタリングした後、第1エッジに垂直であり、ブロックのエッジから三番目にフィルタリングされるブロックの第3エッジをフィルタリングするステップを含むことを特徴とするブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングする方法である。
【選択図】図7

Description

本発明は、ビデオエンコーダ及びデコーダに係り、特にデブロッキングフィルタを備えるビデオコーデックに関する。ブロッキング効果を除去するためのパイプラインフィルタリング方法及び装置を提供する。
ビデオデータは、ビットストリームの形態に処理されて伝送される。ローデータを圧縮するために、ビデオエンコーダは、一般的に離散コサイン変換(Discrete Cosine Transform:DCT)のようなブロック変換コーディングを適用する。前記ブロックを圧縮解除するために、これに対応するビデオデコーダは、逆離散コサイン変換(Inverse Discrete Cosine Transform:IDCT)などの方法により、前記エンコーディングされたブロック変換をビットストリームデータにデコーディングする。
デジタルビデオ圧縮技術は、画質の際立った劣化なしに加工されていないビデオ映像を圧縮された映像に変換できる。H.261,H.263,MPEG−1,MPEG−2,MPEG−4のような多くのビデオ圧縮標準が発展されてきた。提案されるITU−T Recommendation H.264|ISO/IEC14496−10 AVCビデオ圧縮標準(“H.264/AVC”)は、同じコーディング品質に相当する従来の圧縮標準と比較してかなり改良されたコーディング効率を提供する。例えば、H.264/AVCは、典型的にビデオ携帯電話の用途のような高圧縮率を要求する無線ビデオに適用されうる。
デブロッキングフィルタは、ブロック基盤のデジタルビデオ圧縮システムと結合して使われる。デブロッキングフィルタは、エンコーダ及びデコーダに適用される場合、圧縮ループの内部に適用されうる。他の方案として、デブロッキングフィルタは、デコーダに圧縮ループ後に適用されうる。典型的なデブロッキングフィルタは、ブロック変換コーディング(例えば、DCT)及び量子化が行われるブロックのエッジ変化を経てローパスフィルタを適用させることによって動作する。デブロッキングフィルタは、圧縮されたビデオで“ブロック化”として知られる不快な視覚的影響を低下させる。しかし、デブロッキングフィルタは、一般的にビデオエンコーダ及び/またはデコーダで高い演算複雑度を要求する。
出力映像を元の入力映像と最大限類似させるために、デブロッキングフィルタを通じてブロッキング効果を除去するためのフィルタリング動作が使われる。前記ブロッキング効果は、通常はH.264/AVCに先行する圧縮標準では重要な問題ではない。というのは、前記DCT及び量子化ステップは、残りのコーディングに対して8×8ピクセル単位で動作するためである。したがって、通常、前記先行する圧縮標準では、デブロッキングフィルタの採用は選択的なものであった。H.264/AVC圧縮標準では、DCT及び量子化は4×4ピクセル単位を使用し、さらに多くのブロッキング効果を発生させる。したがって、効率的なデブロッキングフィルタは、H.264/AVC標準のコーデックでさらに重要である。
本発明の目的は、ハードウェアの速度を速め、複雑度を最小化させるフィルタリング順序、内部メモリの大きさを最小化して簡便かつ効率的に管理して更新でき、フィルタエンジン一つであらゆるフィルタリングを処理できるパイプラインデブロッキングのための装置及び方法を提供するところにある。
本発明の一実施形態によるパイプラインデブロッキングのための方法は、ブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングし、前記ブロックの第1エッジをフィルタリングするステップ、及び前記第1エッジをフィルタリングした後、前記第1エッジに垂直であり、前記ブロックのエッジから三番目にフィルタリングされる前記ブロックの第3エッジをフィルタリングするステップを含むことを特徴とする。
前記第1エッジは、前記ブロックの左側エッジであり、前記第3エッジは、前記ブロックの上側エッジであることが望ましい。
前記第1エッジをフィルタリングした後、前記第1エッジに平行であり、前記ブロックのエッジから二番目にフィルタリングされる前記ブロックの第2エッジをフィルタリングするステップをさらに含む。
前記第2エッジは、前記ブロックの右側エッジであることが望ましい。
一方、前記ピクセルデータブロックは、複数のロー、カラムまたはピクセルベクトルを備え、隣接のピクセルデータブロックを第1レジスタアレイにプリフェッチングするステップ、現在のピクセルデータブロックを第2レジスタアレイにプリフェッチングするステップ、及び前記プリフェッチングされた隣接のピクセルデータ及び前記プリフェッチングされた現在のピクセルデータに応答して、前記現在エッジの境界値を算出するステップをさらに含むことが望ましい。
また、第1隣接のピクセルデータベクトルを前記第1レジスタアレイからフィルタリングエンジンにプリフェッチングするステップ、第1現在のピクセルデータベクトルを前記第2レジスタアレイから前記フィルタリングエンジンにプリフェッチングするステップ、前記現在ブロックの境界値に対応して、前記第1隣接のベクトル及び第1現在のベクトルについてのフィルタパラメータを算出するステップ、前記フィルタパラメータによって、前記第1隣接のベクトル及び第1現在のベクトルをフィルタリングするステップ、前記フィルタリングされた第1隣接のベクトルを前記第1レジスタアレイにアップデートするステップ、及び前記フィルタリングされた第1現在のベクトルを前記第2レジスタアレイにアップデートするステップをさらに含むことが望ましい。
また、前記アップデートされた第2レジスタアレイによって、前記第1レジスタアレイをアップデートするステップ、前記アップデートされた第1レジスタアレイをメモリに保存するステップ、及び前記アップデートされた第1レジスタアレイを前記メモリに保存する間に、他のピクセルデータブロックを前記第2レジスタアレイにプリフェッチングするステップをさらに含むことが望ましい。
また、第2ピクセルデータブロックをブロックパイプライン処理するステップをさらに含むことが望ましい。
また、前記ブロックパイプライン処理ステップは、前記第2ピクセルデータブロックを前記第1レジスタアレイにプリフェッチングするステップ、及び前記ブロックの境界値を算出するステップを含むことが望ましい。
また、前記ブロックパイプライン処理ステップは、前記第1ピクセルデータベクトルについてのフィルタパラメータを算出する間に、前記ブロックから第2ピクセルデータベクトルをプリフェッチングするステップ、及び前記第1ピクセルデータベクトルのフィルタリング動作及び前記第1ピクセルデータベクトルの保存動作のうち少なくとも一つの動作の間に、前記第2ピクセルデータベクトルについてのフィルタパラメータを算出するステップをさらに含むことが望ましい。
一方、本発明の一実施形態によるパイプラインデブロッキングフィルタは、ブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングし、フィルタリングエンジン、前記フィルタリングエンジンと信号を送受信する複数個のレジスタ、前記フィルタリングエンジンと信号を送受信するパイプライン制御部、及び前記パイプライン制御部と信号を送受信するFSM(Finite State Machine)を備えることを特徴とする。
前記フィルタは、ピクセルデータを複数のブロック変換係数としてエンコーディングするためのエンコーダと組み合わせられ、前記フィルタは、前記ブロック変換係数に応答して、再構成されたピクセルデータのブロック遷移をフィルタリングするために配置されることが望ましい。
また、前記再構成されたピクセルデータを提供するために、エンコーディングされたブロック変換係数をデコーディングするためのデコーダと組み合わせられ、前記フィルタは、前記再構成されたピクセルデータのブロック遷移をフィルタリングするために配置されることが望ましい。
また、前記パイプラインデブロッキングフィルタのブロックパイプラインステップを制御するために配置されるFSM、前記パイプラインデブロッキングフィルタのピクセルベクトルパイプラインステップを制御するために配置されるエンジン、及び前記ブロックの第1エッジをフィルタリングすることによって、前記ピクセルデータブロックをフィルタリングし、前記第1エッジをフィルタリングした後、前記第1エッジに垂直であり、前記ブロックのエッジから三番目にフィルタリングされる前記ブロックの第3エッジをフィルタリングするために配置されるフィルタを備えることが望ましい。
一方、マシンにより読み取り可能であり、ブロック変換処理されるピクセルデータブロックをフィルタリングするためのプログラムステップを行うために、前記マシンにより実行可能に命令プログラムを具体化するプログラム保存装置において、本発明の一実施形態によるプログラム方法は、ブロックの第1エッジをフィルタリングするステップ、及び前記第1エッジをフィルタリングした後、残りの三つのエッジから前記第1エッジに垂直な前記ブロックの第3エッジをフィルタリングするステップを含むことを特徴とする。
また、前記第1エッジをフィルタリングした後、残りの二つのエッジから前記第1エッジに平行な前記ブロックの第2エッジをフィルタリングするステップをさらに含むことを特徴とする。
また、前記ピクセルデータブロックは、複数のロー、カラムまたはピクセルベクトルを備え、隣接のピクセルデータブロックをプリフェッチングするステップ、現在のピクセルデータブロックをプリフェッチングするステップ、及び前記プリフェッチングされた隣接のピクセル及び前記プリフェッチングされた現在のピクセルデータに応答して、前記現在エッジの境界値を算出するステップをさらに含むことを特徴とする。
本発明によるパイプラインデブロッキングのための装置及び方法は、ジブロックフィルタの順序を適切に配置することによって、ジブロックフィルタリング時間を短縮し、ハードウェアの複雑度を低減できる。また、フィルタエンジンを適切にパイプラインさせて、一つのフィルタエンジンであらゆるフィルタリングを行える。
本発明と、本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載された内容を参照せねばならない。
以下、添付された図面を参照して本発明の望ましい実施形態を説明することにより、本発明を詳細に説明する。各図面に提示された同じ参照符号は同じ部材を示す。
本発明は、ハイスピードモバイル装置を含んで、H.264/AVCを使用するビデオ処理装置に適したデブロッキングフィルタを提供する。本発明の特徴は、ハイスピード及び/またはハードウェアの複雑性を除去したパイプラインデブロッキングフィルタを提供する。
デブロッキング方法は、例えば予測及び量子化過程で発生するブロッキングアーチファクトを低下させるために使われうる。前記デブロッキング過程は、現在の映像からレファレンスを処理して発生する過程の前または後に行われうる。
図1に示すように、インループのデブロッキングフィルタを備える代表的なエンコーダ100は、ビデオ入力端112を備える。前記ビデオ入力端112は、合算部114の正(+)入力端に連結されて信号を伝送する。前記合算部114は、係数を提供するために整数変換を行う機能ブロック116に順次に連結される。前記機能ブロック116は、出力ビットストリームを提供するためのエントロピーコーディングブロック118に連結される。前記機能ブロック116は、インループ部120のスケーリング及び逆変換部122にさらに連結される。前記スケーリング及び逆変換部122は、合算部124に連結され、前記合算部124は、イントラフレーム予測部126に順次に連結される。前記イントラフレーム予測部126は、スイッチ127に連結されてスイッチング可能である。また、前記スイッチ127は、前記合算部124の第2入力端に連結され、前記合算部114の反転入力端(−)に連結される。
前記合算部124の出力端は、デブロッキングフィルタ140に連結される。前記デブロッキングフィルタ140は、フレーム保存部128に連結される。前記フレーム保存部128は、動作補償部130に連結される。前記動作補償部130は、スイッチング可能な前記スイッチ127の第2入力端に連結される。前記ビデオ入力端112は、動作ベクトルを提供する動作測定部119にさらに連結される。前記デブロッキングフィルタ140は、前記動作測定部119の第2入力端に連結される。前記動作測定部119の出力端は、前記動作補償部130及び前記エントロピーコーディングブロック118の第2入力端に連結される。前記ビデオ入力端112は、コード制御部160にさらに連結される。前記コード制御部160は、前記エンコーダ100の動作を制御するための制御信号を提供するために、前記それぞれのブロック116,118,119,122,126,130,140の制御入力端に連結される。
図2は、インループのデブロッキングフィルタを備える代表的なデコーダを概略的に示すブロック図である。前記デコーダ200は、入力ビットストリームを受信するためにエントロピーデコーディングブロック210を備える。前記デコーディングブロック210は、係数を伝達するためにインループ部220のスケーリング及び逆変換部222に連結される。前記スケーリング及び逆変換部222は、合算部224に連結され、前記合算部224は、イントラフレーム予測部226に順次に連結される。前記イントラフレーム予測部226は、スイッチ227にスイッチング可能に連結される。前記スイッチ227は、前記合算部224の第2入力端に連結される。前記合算部224の出力端は、出力映像を提供するためにデブロッキングフィルタ240に連結される。
前記デブロッキングフィルタ240は、フレーム保存部228に連結される。前記フレーム保存部228は、動作補償部230に連結される。前記動作補償部230は、前記スイッチ227のスイッチング可能な第2入力端に連結される。前記エントロピーデコーディングブロック210は、動作ベクトルを提供するために前記動作補償部230の第2入力端に連結される。前記エントロピーデコーディングブロック210は、制御信号CONTROLを提供するためにデコーダ制御部262に連結される。前記デコーダ制御部262は、制御信号を送受信し、前記デコーダ200の動作を制御するために、各ブロック222,226,230,240の制御入力端に連結される。
図3は、後処理のデブロッキングフィルタを備えるデコーダを概略的に示すブロック図である。前記デコーダ300は、入力ビットストリームを受信するためにエントロピーデコーディングブロック310を備える。前記デコーディングブロック310は、係数を提供するためにインループ部320のスケーリング及び逆変換部322に連結される。前記スケーリング及び逆変換部322は、合算部324に連結される。前記合算部324は、イントラフレーム予測部326に順次に連結される。前記イントラフレーム予測部326は、スイッチ327にスイッチング可能に連結される。前記スイッチ327は、前記合算部324の第2入力端に連結される。
前記合算部324の出力端は、出力映像を提供するためにデブロッキングフィルタ340に連結される。前記合算部324は、フレーム保存部328にさらに連結される。前記フレーム保存部328は、動作補償部330に連結され、前記動作補償部330は、前記スイッチ327のスイッチング可能な第2入力端に連結される。前記エントロピーデコーディングブロック310は、動作ベクトルを提供するために前記動作補償部330の第2入力端に連結される。前記エントロピーデコーディングブロック310は、制御信号CONTROLを提供するためにデコーダ制御部362に連結される。前記デコーダ制御部362は、制御信号を送受信し、前記デコーダ300の動作を制御するために、前記各ブロック322,326,330,340の制御入力端に連結される。
図4は、インループのデブロッキングフィルタを備える代表的なエンコーダを概略的に示すブロック図である。前記エンコーダ400は、複数のマクロブロック(Macro Block:MB)を有する入力ビデオ映像を受信するためにビデオ入力端412を備える。前記ビデオ入力端412は、合算部414の正(+)の入力端に連結される。前記合算部414は、残りを受信し、DCT及び前記係数を量子化(Q)するための機能ブロック416に順次に連結される。前記機能ブロック416は、出力ビットストリームを提供するためにエントロピーまたは可変長さコーディング(Variable Length Coding:VLC)を行うエントロピーコーディング部418に連結される。
前記機能ブロック416は、逆量子化(Inverse Quantization:IQ)及び逆離散のコサイン変換(Inverse Discrete Cosine Transform:IDCT)部422にさらに連結される。前記IQ/IDCT部422は、合算部424に連結される。前記合算部424の出力端は、デブロッキングフィルタ440に連結される。前記デブロッキングフィルタ440は、出力ビデオ映像を提供するためのフレーム保存部428に連結される。前記フレーム保存部428は、予測モジュール429の第1入力端に連結され、前記予測モジュール429に参照フレームを提供し、前記予測モジュール429は、動作補償部430及びイントラ予測部426を備える。前記フレーム保存部428は、動作測定部419の第1入力端にさらに連結され、前記動作測定部419に参照フレームを提供する。
前記ビデオ入力端412は、動作ベクトルを提供する前記動作測定部419の第2入力端にさらに連結される。前記動作測定部419の出力端は、前記動作補償部430が連結される前記予測モジュール429の第2入力端に連結される。前記動作測定部419の出力端は、前記エントロピーコーディング部418の第2入力端にさらに連結される。前記イントラ予測部426と連結される前記予測モジュール429の出力端は、前記合算部424の第2入力端に連結され、前記合算部414の反転(−)入力端に連結され、前記合算部に予測値を提供する。
図4のエンコーダ400の動作において、例えば入力映像またはフレームは、それぞれ16×16ピクセルからなる複数個のMBに分割され、各MBは、前記H.264/AVCシステムに順次に入力される。前記予測モジュール429は、以前にフィルタリングされたフレームのうちいずれか一つである参照フレームのあらゆるMBを調べる。そして、入力されたMBと最も類似した一つを予測値として出力する。したがって、前記予測値は、現在のMBと最も類似したピクセル値を有している。残りの値は、現在のMBと前記予測値とのピクセル値の差を示す。係数は、前記残りの値をDCT及び量子化処理した結果である。前記係数は、前記残りの値と比較して非常に小さくなったデータを有する。
前記係数は、エントロピーコーディング部418でエントロピーコーディングを通じて出力ビットストリームにエンコーディングされうる。前記出力ビットストリームは、保存されるか、または他のシステムへ伝送されうる。また、前記係数は、前記IQ及びDCT動作を通じて残りの値に変換されうる。前記残りの値は、前記予測値に加えられ、再構成されたデータRECON_DATAに変換できる。前記再構成されたデータRECON_DATAは、前記MB(16×16ピクセル)またはブロック(4×4ピクセル)の境界から誘発されるブロッキング効果またはブロック化を有している。
図5は、H.264/AVC規格によるフィルタリング順序に関するデータダイヤグラムである。参照番号500のようなフィルタリング順序によれば、垂直エッジ510についての水平フィルタリング及び水平エッジ520についての垂直フィルタリングを含む。H.264/AVCは、映像のあらゆるMBに対してフィルタリングの適用を要求する。前記フィルタリングは、MBのそれぞれのカラム基盤及びロー基盤(4×16ピクセル及び16×4ピクセル)で行われる。前記MBは16×16ピクセルを備え、それぞれのブロックは4×4ピクセルを備える。前記H.264特性によるデブロッキングフィルタの順序は、次の通りである。
輝度に関し、参照符号510に示したように左側エッジから始めて四つの垂直エッジがフィルタリングされ、これは水平フィルタリングと称する。四つの水平エッジのフィルタリングは、参照符号520に示した方式のように上部エッジから始め、これは垂直フィルタリングと称する。同じ順序(order)が彩度に適用されうる。したがって、参照符号510の二つの垂直エッジ及び参照符号520の二つの水平エッジがCb及びCrに対してそれぞれフィルタリングされる。
前記デブロッキングフィルタは、メモリアクセス動作のため、典型的に時間が消耗される過程である。垂直エッジ2をフィルタリングするために、左側(以前)及び右側(現在)のカラムデータがバッファメモリからアクセスされる。したがって、各エッジ当たり4×16ピクセルデータを二回アクセスする。H.264/AVC規格によって、水平フィルタリングが完了した後で垂直フィルタリングが始まる。前記垂直フィルタリングを行うために、水平フィルタリングステップでアクセスされたデータが使われる。16×16ピクセルのMBで、4×4ピクセルのあらゆるブロックが保存される。したがって、フィルタリング論理サイズ及びフィルタリング時間がいずれも増加する。
現在には、高解像度の映像を認めるために、MBでデブロッキングフィルタリング時間が500クロック周期以内でなければならない。これを達成するために、前記時間内にフィルタリングを完了するために、輝度及び彩度のフィルタリングは並列に行われうる。しかし、並列に輝度及び彩度のフィルタリングを行うのに要求されるフィルタリング回路は、前記フィルタリング回路の大きさを増加させる。
図6は、本発明の代表的な実施形態によるH.264/AVC規格に要求されるフィルタリング順序に関するデータダイヤグラムである。参照符号600に示すフィルタリング順序は、輝度またはイエローフィルタリング順序610、青色彩度フィルタリング順序620及び赤色彩度フィルタリング順序630を示す。前記輝度フィルタリング順序610は、A〜Pの輝度ブロックについての1〜32の輝度フィルタリングステップを含む。前記青色彩度フィルタリング順序は、Q〜Tの彩度ブロックについての33〜40の青色彩度フィルタリングステップを含む。一方、前記赤色彩度フィルタリング順序は、U〜Xの赤色彩度ブロックについての41〜48の赤色彩度フィルタリングステップを含む。
このとき、前記デブロッキングフィルタリングは、MBのローまたはカラム基盤(例えば、輝度についての4×16ピクセルまたは彩度についての4×8ピクセル)より、分割されたブロック基盤(例えば、4×4ピクセル)に行われる。各エッジ(例えば、輝度についての4×16ピクセルまたは彩度についての4×8ピクセル)は、本願に開示されたフィルタリング順序によって複数個(例えば、輝度について四つ、または彩度について二つ)に分割される。前記順序は、H.264/AVC規格のように左側から右側に、上側から下側へのフィルタリング順序による。
ロー(4×16)またはカラム(16×4)基盤ではないブロック(4×4ピクセル)基盤下でフィルタリング動作が行われるので、一回当たりのメモリアクセスは減少する。また、前記開示されたフィルタリング順序によって、隣接するブロック間のデータ依存度が有利に利用されるので、アクセス周波数が減少する。
前記参照符号600のフィルタリング順序に関し、ブロック(4×4ピクセル)で左側、右側及び上側のエッジが順次にフィルタリングされる。例えば、ブロックFに対してエッジ10、エッジ12及びエッジ13が順次にフィルタリングされる。また、前記ブロックの下側エッジ(ブロックFのエッジ21)はバッファに保存され、下側ブロックの上側エッジ(例えば、ブロックJの上側エッジであるエッジ21)としてフィルタリングされる。
前記ブロックFのエッジについてのフィルタリング過程は、次の通りである。第1に、ブロックEについてのエッジフィルタリングの間に、ブロックE,Fからのピクセル値を使用して左側エッジ10がフィルタリングされる。ブロックEの上側エッジ11をフィルタリングするために、ブロックEのピクセルについての新たな値が左側レジスタにアップデートされる。ブロックFのピクセルの新たな値が右側レジスタにアップデートされる。
第2に、前記ブロックGのピクセル値が現在バッファからフィルタリングのためのエンジンに送信される。
第3に、前記エンジンを通じて、ブロックF及びブロックGを使用して右側エッジ12についてのフィルタリング動作が行われる。ブロックFについての新たなピクセル値が左側レジスタにアップデートされ、ブロックGについての新たなピクセル値が右側レジスタに保存される。
第4に、ブロックBのピクセル値が上側バッファから上側レジスタにローディングされる。
第5に、前記エンジンを通じて、ブロックB及びブロックFを利用して上側エッジ13についてのフィルタリング動作が行われる。前記ブロックBについてのピクセル値が上側レジスタにアップデートされ、ブロックFについての新たなピクセル値が左側レジスタにアップデートされる。
第6に、下側エッジ21は、前記ブロックJのエッジフィルタリング動作中にフィルタリングされる。
したがって、保存する必要なくまたはメモリから呼び出す必要なく、新たなピクセル値を計算した後でレジスタのアップデートが起きるため、以前に参照されたピクセル値は保存される必要がないか、またはメモリからアクセスされる必要がない。前記フィルタリングロジックは簡単であり、前記メモリアクセス周波数の減少及びブロック基盤単位のさらに小さいフィルタリングの使用によって、前記フィルタリング時間は短縮される。前記フィルタリング順序は、それぞれ輝度、赤色彩度及び青色彩度に定義されうるということが分かる。すなわち、前記輝度フィルタリングは、前記赤色及び青色彩度フィルタリングに先立つか、または続くか、または途中に発生する一方、前記赤色彩度フィルタリングは、前記青色彩度フィルタリング、前記輝度フィルタリングまたは両方に先立つか、または続いて発生する。したがって、前記開示されたブロックフィルタリング順序は、4:1:1 Y/Cb/Cr形式だけでなく多様なその他のブロック形態に適用されうる。
図7は、本発明の代表的な実施形態によるデブロッキングフィルタを示すブロックダイヤグラムである。前記デブロッキングフィルタ700は、前記現在のMBの再構成されたデータを保存するためにバッファまたは現在のメモリ710を備える。前記バッファ710は、フィルタリング部712と連結されて信号を送受信して、前記フィルタリング部712に現在のデータCURR_DATA及びMB開始信号MB_STARTを伝達する。前記フィルタリング部712は、エンジン714、レジスタブロック716及びFSM 718を備える。前記フィルタリング部712の前記FSM718は、現在のデータ制御部720と連結されて信号を送受信して、前記現在のデータ制御部720にFSM状態及びカウントを提供する。前記現在のデータ制御部720は、前記現在のメモリ710と順次に連結されて信号を送受信して、前記現在のメモリ710にメモリ制御信号SRAM_CONTROLを提供する。フィルタリングは、前記再構成されたデータ(予測値+残りの値)が前記現在のメモリ710に保存されるときに行われる。
前記フィルタリング部712は、BS(filtering Boundary Strength)発生部722と連結されて信号を送受信して、前記BS発生部722に前記FSM状態、カウント及びフラッグを提供する。前記BS発生部722は、QP(Quantization Parameter of neighbor block)メモリ724に順次に連結されて信号を送受信する。前記BS発生部722は、前記フィルタリング部712とさらに連結されて信号を送受信して、前記フィルタリング部712にパラメータを提供する。前記フィルタリング部712は、隣接の制御部726とさらに連結されて信号を送受信して、前記FSM 718から前記隣接の制御部726にFSM状態及びカウントを提供する。前記隣接の制御部726は、隣接の4×4ブロックの保存のために、隣接のメモリまたはバッファ728と連結されて信号を送受信する。前記隣接のメモリ728は、前記隣接の制御部726からメモリまたはSRAM制御信号を受信する。前記隣接のメモリ728は、前記フィルタリング部712と連結されて信号を送受信して、前記フィルタリング部712に第1隣接のデータを提供し、前記フィルタリング部712から第2隣接のデータを受信する。
前記BS発生部722は、前記隣接の制御部726、上側制御部730及びDMA(Direct Memory Access)制御部734とさらに連結されて信号を送受信して、前記制御部にパラメータを提供する。前記フィルタリング部712は、前記上側制御部730と連結されて信号を送受信して、前記上側制御部730にFSM状態及びカウントを提供する。また、前記フィルタリング部712は、前記DMA制御部734と連結されて信号を送受信して、前記DMA制御部734にFSM状態、カウント及び彩度フラッグを提供する。前記上側制御部730は、上側メモリ732と連結されて信号を送受信して、前記上側メモリ732にSRAM制御信号を提供する。前記上側メモリ732は、前記フィルタリング部712と連結されて信号を送受信して、前記フィルタリング部712に第1上側データTOP_DATA1を提供し、前記フィルタリング部712から第2上側データTOP_DATA2を受信する。前記第1上側データTOP_DATA1及び第2上側データTOP_DATA2は、垂直フィルタリングのためのものである。前記DMA制御部734は、DMAメモリ736と連結されて信号を送受信して、前記DMAメモリ736にSRAM制御信号を提供する。また、前記フィルタリング部712は、前記DMAメモリ736と連結されて信号を送受信して、前記DMAメモリ736にフィルタリングされたデータFILTERED_DATAを提供する。前記上側メモリ732及び前記DMAメモリ736は、それぞれスイッチング部738と連結されて信号を送受信し、前記スイッチング部738は、DMAバスインターフェース740に順次に連結されて信号を送受信して、前記DMAバスインターフェース740にフィルタリングされたデータを提供する。したがって、前記フィルタリングされたデータは、前記DMAバスインターフェース740を経てDMAへ伝送される。
図8は、本発明の代表的な実施形態によるパイプラインデブロッキングフィルタの構造を示す図面である。前記パイプラインの構造800は、前記フィルタリング時間をさらに短縮するために、前記フィルタリング順序と結合されうる。前記デブロッキングフィルタは、4×4ブロックステップ801及び4×1ピクセルステップ802に階層的にパイプライン構成される。
前記4×4ブロックパイプラインステップ801は、図7のFSM 718に応答する。前記パイプラインの構造800は、第1ブロックのプリフェッチ及びBS算出ステップ810を含み、前記ステップ810により、隣接のデータが図7の隣接のバッファ728からレジスタにプリフェッチされ、現在のデータが前記現在のバッファ710から読み取られ、ピクセル値の発生により前記BSフィルタリングパラメータが算出される。
第1ブロックのフィルタ及び保存ステップ812は、前記第1ブロックのプリフェッチ及びBS算出ステップ810にオーバーラップされる。前記第1ブロックのフィルタ及び保存ステップ812は、フィルタリングを行い、レジスタをアップデートし、これによる結果をバッファメモリに保存する。前記第1ブロックのプリフェッチ及びBS算出ステップ810が完了した後、第2ブロックのプリフェッチ及びBS算出ステップ814が行われ、その他のブロックについてのステップ815が行われる。前記第1ブロックのフィルタ及び保存ステップ812が完了した後、第2ブロックのフィルタ及び保存ステップ816が行われ、その他のブロックについてのステップ818が行われる。前記第2ブロックのプリフェッチ及びBS算出ステップ814は、前記第1ブロックのフィルタ及び保存ステップ812、及び第2ブロックのフィルタ及び保存ステップ816両方にオーバーラップされる。
前記4×1ピクセルエッジパイプラインステップ802は、前記図7のエンジン714に応答する。前記4×1ピクセルエッジパイプラインステップ802は、第1 4×4ブロックの第1 4×1カラムピクセルをプリフェッチングするために、第14×1ピクセルのプリフェッチステップ820を含む。前記第1ブロックの第1カラムについてのアルファ、ベータ及びTC0パラメータを算出するために、前記ステップ820以後に第1 4×1ピクセルの算出ステップ822が行われる。そして、前記第1 4×4ブロックの第1 4×1カラムをフィルタリングして保存するために、前記ステップ822以後に第1 4×1ピクセルのフィルタ及び保存ステップ824が行われる。
前記ピクセルエッジパイプラインステップ802は、前記ステップ822にオーバーラップされる第2 4×1ピクセルのプリフェッチステップ830をさらに含む。また、前記ステップ824にオーバーラップされる第2 4×1ピクセルの算出ステップ832をさらに含み、前記ステップ832に続いて第2 4×1ピクセルのフィルタ及び保存ステップ834をさらに含む。
また、前記ピクセルエッジパイプラインステップ802は、前記ステップ832にオーバーラップされる第3 4×1ピクセルのプリフェッチステップ840をさらに含み、前記ステップ834にオーバーラップされる第3 4×1ピクセルの算出ステップ842をさらに含み、前記ステップ842に続いて第3 4×1ピクセルのフィルタ及び保存ステップ844をさらに含む。
また、前記ピクセルエッジパイプラインステップ802は、前記ステップ842にオーバーラップされる第4 4×1ピクセルのプリフェッチステップ850をさらに含み、前記ステップ844にオーバーラップされる第4 4×1ピクセルの算出ステップ852をさらに含み、前記ステップ852に続いて第4 4×1ピクセルのフィルタ及び保存ステップ854をさらに含む。
前記4×1ピクセルステップ802の前記プリフェッチステップ820、その以後の前記算出ステップ822及び前記プリフェッチステップ830は、いずれも前記4×4ブロックステップ801の第2プリフェッチステップ814の間に行われる。前記フィルタ及び保存ステップ824、算出ステップ832及びプリフェッチステップ840は、前記算出ステップ822及び前記プリフェッチステップ830以後に行われ、前記ステップは、いずれも前記ブロックステップ801の前記第2フィルタリングステップ816の間にパイプライン方式で行われる。
動作面で、前記4×4ブロックステップのフィルタリングステップの間に、パイプライン方式で前記4×1ピクセルステップ802のプリフェッチステップ、パラメータ算出ステップ及びフィルタリング、保存ステップが行われるため、前記フィルタリング時間は非常に短縮される。前記パイプラインデブロッキングフィルタ及び前記新規なフィルタリング順序は、前記フィルタリング時間を非常に短縮させる。例えば、前記輝度フィルタリング以後、前記彩度フィルタリングが行われる。したがって、単に一つのフィルタリング回路のみが要求されるので、ハードウェアサイズを減少させることができる。
フィルタリング以後、新たなピクセル値が対応するレジスタにアップデートされる。前記図6を参照すれば、メインケースがエッジ2、エッジ3、エッジ5などにより例示される。このとき、現在の(上側)レジスタの新たなピクセル値は、前記現在の(上側)レジスタにアップデートされる。そして、隣接のレジスタの新たなピクセル値は、前記隣接のレジスタにアップデートされる。
垂直フィルタリング以後、エッジ4、エッジ6、エッジ12のような水平にフィルタリングされるエッジがそれぞれ別途に計算される。例えば、エッジ4の場合について、現在のレジスタの新たなピクセル値(ブロックB)が隣接のレジスタにアップデートされる。このとき、前記ブロックCのピクセル値が現在のメモリからローディングされる。エッジ3をフィルタリングしてエッジ4をフィルタリングする前に、前記隣接のレジスタは、ブロックAのピクセル値を保存する。したがって、32個のエッジのうち8個のエッジ(エッジ4,6,12,14,20,22,28,30)がこの方法で計算される。
図9は、本発明の代表的な実施形態によるフィルタ回路を示すブロックダイヤグラムである。前記フィルタ回路900は、エンジン912と連結されて信号を送受信するFSM 910を備える。前記FSM 910は、MB開始信号MB_STARTを受信し、彩度フラッグCHROMA_FLAG、FSMカウントIN FSM_CNT、ラインカウントLINE_CNT及びFSM状態FSM_STATE信号を提供する。前記FSM 910は、マルチプレクサ914の制御入力端にさらに連結されて信号を送受信する。
前記マルチプレクサ914は、第1隣接のデータNEIG_DATA1、第1上側データTOP_DATA1または現在のデータCURRENT_DATAを受信し、一回に前記データタイプのうちいずれか一つのデータをレジスタ916に提供する。前記レジスタ916は、出力スイッチ918と順次に連結されて信号を送受信して、前記出力スイッチ918に第2隣接のデータNEIG_DATA2、第2上側データTOP_DATA2またはフィルタリングされたデータFILTERED_DATAを提供する。前記エンジン912は、BSパラメータBS.PARAMETER信号を受信するための入力端と、前記レジスタ916から現在隣り及び現在のピクセルp,qを受信するための入力端とを備え、アップデートされた隣り及びピクセルp´,q´を前記レジスタ916に出力する出力端を備える。
ここで、MB開始信号MB_START及びMB終了信号MB_ENDは、それぞれMBフィルタリング開始及び終了を知らせるフラッグであり、前記FSM 910の出力は、前記終了信号MB_ENDを有する。彩度フラッグCHROMA_FLAGは、輝度または彩度を示すためのフラッグである。前記FSM状態FSM_STATE信号は、前記FSM 910の出力であり、16×16MBで現在4×4ブロックの水平位置を示すための信号である。
前記FSMカウントIN FSM_CNTは、ブロックで4×1ピクセルパイプラインステップが終了されたか否かを示す信号である。前記ラインカウントLINE_CNTは、MBでブロックの垂直位置を示すための信号である。
前記第1隣接のデータNEIG_DATA1は、現在のMBの水平フィルタリングのための4×1ピクセルの隣接のデータである。前記第2隣接のデータNEIG_DATA2は、以後のMBの水平フィルタリングのためにバッファに保存するための4×1ピクセルデータである。
前記第1上側データTOP_DATA1は、現在ブロックの垂直フィルタリングのための4×4上側データである。前記第2上側データTOP_DATA2は、以後のブロックの垂直フィルタリングのためにバッファに保存されるための4×4ピクセルデータである。前記現在データCURRENT_DATAは、現在の4×1ピクセルデータである。前記フィルタリングされたデータFILTERED_DATAは、フィルタリングが完了した4×1ピクセルデータである。p,p´は、それぞれ前後にフィルタリングされる隣接の4×1ピクセルデータである。q,q´は、それぞれ前後にフィルタリングされる現在の4×1ピクセルデータである。レジスタは、レジスタアレイを備える。エンジンは、前記FSMの状態によってフィルタリング動作を行う。
図10は、本発明の代表的な実施形態によるフィルタ及びそれに組み合わせられたブロックを示すブロックダイヤグラムである。前記フィルタ回路1000は、マルチプレクサ1010から現在の隣接のピクセルp及びマルチプレクサ1011から現在のピクセルqを受信するエンジン1012を備える。前記エンジン1012は、マルチプレクサ1013及びマルチプレクサ1014とそれぞれ連結されて信号を送受信する。前記マルチプレクサ1013は、4×4ブロックの第2レジスタアレイ1016と連結されて信号を送受信し、前記4×4ブロックの第2レジスタアレイ1016は、マルチプレクサ1018と連結されて信号を送受信する。
前記マルチプレクサ1018は、第2隣接のデータNEIG_DATA2を隣接のメモリ1020に提供し、前記隣接のメモリ1020は、前記マルチプレクサ1010に他の隣接のデータNEIG_DATA1を提供する。前記4×4ブロックの第2レジスタアレイ1016は、上側メモリ1022とさらに連結されて信号を送受信し、前記上側メモリ1022は、マルチプレクサ1024と連結されて信号を送受信する。前記マルチプレクサ1024は、4×4ブロックの第1レジスタアレイ1026と順次に連結されて信号を送受信する。前記第1レジスタアレイ1026は、マルチプレクサ1028と連結されて信号を送受信し、前記マルチプレクサ1028は、バスインターフェース1030と連結されて信号を送受信し、前記バスインターフェース1030にフィルタリングされたデータを提供する。前記バスインターフェース1030は、DMAメモリと連結されて信号を送受信して、前記DMAメモリにジブロックされた出力DEBLOCK_OUTを提供する。
前記フィルタ回路1000は、再構成されたデータRECON_DATAを受信するために一対の現在のメモリ1032をさらに備える。前記現在のメモリ1032は、それぞれマルチプレクサ1034と連結されて信号を送受信し、前記マルチプレクサ1034は、前記マルチプレクサ1011と順次に連結されて信号を送受信して、前記マルチプレクサ1011に現在のデータCURR_DATAを提供する。
前記現在のメモリ1032は、FSM 1036とさらに連結されて信号を送受信して、前記FSMの4×4ブロックパイプライン構造1036で開始信号MB_STARTを提供する。前記FSM 1036は、制御部1038と連結されて信号を送受信して、前記制御部1038にFSM状態FSM_STATE、ラインカウントLINE_CNT及び彩度フラッグCHROMA_FLAG信号を提供し、前記制御部1038から前記4×1ピクセルパイプラインについてのFSMカウントIN FSM_CNT信号を受信する。前記FSM状態FSM_STATE、ラインカウントLINE_CNT、彩度フラッグCHROMA_FLAG及びFSMカウントIN FSM_CNT信号に応答してマルチプレクサを制御するために、前記制御部1038は、各マルチプレクサ1010,1011,1014,1018,1024,1028,1034の制御入力端に連結されて信号を送受信する。
動作面で、前記開始信号MB_SIGNALは、前記再構成されたデータRECON_DATAが前記現在のメモリ1032に保存されてフィルタリングが始まるときに発生する。前記FSM 1036は、4×1パイプライン制御部1038からFSMカウントIN FSM_CNT信号を受信し、前記4×1ピクセルパイプラインステップが終了されたかをチェックする。前記フィルタリングエンジンが輝度及び彩度に対して共有されるため、前記彩度フラッグCHROMA_FLAG信号が使われる。前記エンジンによりフィルタリングされたデータは、前記バスインターフェースを通じてメモリまたはDMAへ伝送される。
図11は、本発明の代表的な実施形態によるパイプライン構造ブロックについてのタイミング図である。参照番号1100のタイミング図は、HCLK,MB_START,LINE_CNT,FSM,INFSM_CNT,FILTERING_ON,BS,ALPHA/BETA/TC0,p,q,FILTERSAMPLEFLAG,FILTERED_p及びFILTERED_q信号それぞれに対する相対的なタイミングを示す。
前記タイミング図1100は、4×4ブロックパイプラインステップをさらに示す。前記ステップは、第1ブロックについてのプリフェッチ及びBS算出ステップ1110、前記第1ブロックについてのフィルタリングを行ってフィルタリング結果を保存するステップ1112、前記ステップ1110,1112にオーバーラップされ、前記第1ブロックについてのALPHA,BETA及びTC0パラメータを算出するステップ1114、第2ブロックについてのプリフェッチ及びBS算出ステップ1120、前記第2ブロックについてのフィルタリングを行ってフィルタリング結果を保存するステップ1122、前記ステップ1120,1122にオーバーラップされ、前記第2ブロックについてのALPHA,BETA及びTC0パラメータを算出するステップ1124、第3ブロックについてのプリフェッチ及びBS算出ステップ1130、前記第3ブロックについてのフィルタリングを行ってフィルタリング結果を保存するステップ1132、及び前記ステップ1130,1132にオーバーラップされ、前記第3ブロックについてのALPHA,BETA及びTC0パラメータを算出するステップ1134を含む。
また、前記第2ブロックについてのステップ1120は、前記第1ブロックについてのステップ1112,1114にオーバーラップされる。また、前記第2ブロックについてのステップ1124は、前記第1ブロックについてのステップ1112にオーバーラップされ、前記第3ブロックについてのステップ1130は、前記第2ブロックについてのステップ1122にオーバーラップされる。
図12は、本発明の代表的な実施形態によるフィルタリング方法を示すフローチャートである。MBは、輝度部分1202、第1彩度部分1204及び第2彩度部分1206から構成され、垂直エッジは、m=0の左側エッジから始め、水平エッジは、n=0の上側エッジから始める。
前記フィルタリング方法1200は、彩度=NO、m=0及びn=0に初期化する開始ブロック1210を含む。前記開始ブロック1210は、前記MBのm=0の垂直4×4ブロックエッジをフィルタリングする機能ブロック1212を制御する。前記機能ブロック1212は、前記MBのm=1の垂直4×4ブロックエッジをフィルタリングする機能ブロック1214を制御する。前記機能ブロック1214は、機能ブロック1216を制御する。前記機能ブロック1216は、前記MBのm=0の水平4×4ブロックエッジをフィルタリングし、判断地点1217を制御する。
前記判断地点1217は、前記ブロックが彩度ブロックであるか否かを判断し、もし彩度ブロックであれば機能ブロック1218を制御する。前記ブロックが彩度ブロックでない場合には、機能ブロック1220を制御する。前記機能ブロック1220は、前記MBのm=2の垂直4×4ブロックエッジをフィルタリングし、前記機能ブロック1218を制御する。前記機能ブロック1218は、前記MBのm=1の第2水平エッジをフィルタリングし、判断地点1222を制御する。
前記判断地点1222は、前記ブロックが彩度ブロックであるか否かを判断し、もし彩度ブロックであれば判断地点1224を制御する。前記判断地点1224は、このブロックが前記MBの最後のブロックであるか否かを判断し、もし最後のブロックであれば終了ブロック1226を制御し、そうでない場合には、前記判断地点1224は、判断地点1225を制御する。
前記判断地点1225は、n=1であるか否かを判断し、n=1である場合、n=0にリセットする。n=1でない場合、nを1増加させる。前記判断地点1225以後、前記機能ブロック1212が制御される。一方、前記判断地点1222が前記現在のブロックを彩度ブロックでないと判断した場合、機能ブロック1228を制御する。前記機能ブロック1228は、前記MBのm=3の垂直4×4ブロックエッジをフィルタリングし、前記機能ブロック1230を制御する。前記機能ブロック1230は、前記MBのm=2の第3水平エッジをフィルタリングし、機能ブロック1232を制御する。前記機能ブロック1232は、順次に前記MBのm=3の第4水平エッジをフィルタリングし、判断地点1234を制御する。
前記判断地点1234は、n=3であるか否かを判断し、n=3である場合、n=0にリセットし、彩度=yesにセッティングする。n=3でない場合、nを1増加させる。前記判断地点1234後に、前記機能ブロック1212が制御される。
前述した本発明の実施形態及びその利点は、前述した内容に基盤してこれに関連する一般的な技術により確認されうる。例えば、前述した本発明の実施形態を参照として、前記フィルタリング時間をさらに短縮させるために輝度及び彩度フィルタリングが並列に行われる実施形態が可能である。また、輝度フィルタリングは、前記赤色及び青色彩度フィルタリングに先立つか、または続くか、または途中に行われる一方、前記赤色彩度フィルタリングは、前記青色彩度フィルタリング、輝度フィルタリングまたは両方に先立つか、または続いて行われうる。また、本発明によるブロックフィルタリング順序は、代表的な4:1:1 Y/Cb/Cr形式だけでなくその他の多様なブロック形態に適用されうる。また、H.264/AVCによるMBに対する効率的なエッジフィルタリング順序が開示されたが、その他の形態のデータに適用されうる。
前記本発明の実施形態は、ハードウェア、ソフトウェア、ファームウェア、特殊目的のプロセッサまたはそれらの組み合わせなど多様な形態で具現されうる。また、前記ソフトウェアは、望ましくは、プログラム保存装置で具体化された応用プログラムで行われうる。前記応用プログラムは、適した構造を有するマシンにアップロードされるか、または前記マシンにより行われうる。さらに望ましくは、前記マシンは、一つまたはそれ以上のCPU(Central Processing Unit)、RAM(Random Access Memory)、入出力インターフェースなどのハードウェアを備えるコンピュータプラットフォームで具現されうる。前記コンピュータプラットフォームは、また、動作システム及びマイクロ命令コードを備える。
前述した多様な処理及び機能は、CPUにより行われる前記マイクロ命令コードまたは前記応用プログラムまたはそれらの組み合わせの一部でありうる。また、追加のデータ保存部及びディスプレイ部などその他の周辺装置が前記コンピュータプラットフォームに連結されうる。本発明の特徴によってプログラムされる限り、システム要素の間または前記機能ブロックの間の実際連結は変わりうる。
本発明は、図面に示した一実施形態を参考にして説明されたが、これは、例示的なものに過ぎず、当業者であれば、これから多様な変形及び均等な他の実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想により決まらねばならない。
本発明は、ビデオエンコーダ及びデコーダ関連の技術分野に適用可能である。
インループのデブロッキングフィルタを備えるエンコーダを概略的に示すブロック図である。 インループのデブロッキングフィルタを備え、図1のエンコーダと使用可能なデコーダを概略的に示すブロック図である。 後処理のデブロッキングフィルタを備えるデコーダを概略的に示すブロック図である。 H.264/AVC規格のコーデックで、インループのデブロッキングフィルタを備えるコーデックを概略的に示すブロック図である。 H.264/AVC規格によるフィルタリング順序に関するデータダイヤグラムである。 本発明の代表的な実施形態によるH.264/AVC規格に要求されるフィルタリング順序に関するデータダイヤグラムである。 本発明の代表的な実施形態によるデブロッキングフィルタを示すブロックダイヤグラムである。 本発明の代表的な実施形態によるパイプラインデブロッキングフィルタの構造を示す図面である。 本発明の代表的な実施形態によるフィルタ回路を示すブロックダイヤグラムである。 本発明の代表的な実施形態によるフィルタ及びそれに組み合わせられたブロックを示すブロックダイヤグラムである。 本発明の代表的な実施形態によるパイプライン構造ブロックについてのタイミング図である。 本発明の代表的な実施形態によるフィルタリング方法を示すフローチャートである。
符号の説明
700 デブロッキングフィルタ
710 現在のメモリ
712 フィルタリング部
714 エンジン
716 レジスタブロック
718 FSM
720 現在のデータ制御部
722 BS発生部
724 QPメモリ
726 隣接の制御部
728 隣接のメモリ
730 上側制御部
732 上側メモリ
734 DMA制御部
736 DMAメモリ
738 スイッチング部
740 DMAバスインターフェース

Claims (29)

  1. ブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングする方法において、
    前記ブロックの第1エッジをフィルタリングするステップと、
    前記第1エッジをフィルタリングした後、前記第1エッジに垂直であり、前記ブロックのエッジから三番目にフィルタリングされる前記ブロックの第3エッジをフィルタリングするステップと、を含むことを特徴とするフィルタリング方法。
  2. 前記第1エッジは、前記ブロックの左側エッジであり、
    前記第3エッジは、前記ブロックの上側エッジであることを特徴とする請求項1に記載のフィルタリング方法。
  3. 前記第1エッジをフィルタリングした後、前記第1エッジに平行であり、前記ブロックのエッジから二番目にフィルタリングされる前記ブロックの第2エッジをフィルタリングするステップをさらに含むことを特徴とする請求項1に記載のフィルタリング方法。
  4. 前記第2エッジは、前記ブロックの右側エッジであることを特徴とする請求項3に記載のフィルタリング方法。
  5. 前記ブロックは、4×4ピクセルデータからなることを特徴とする請求項1に記載のフィルタリング方法。
  6. 前記ブロックは、マクロブロックを構成する16個のブロックのうちいずれか一つであることを特徴とする請求項1に記載のフィルタリング方法。
  7. 前記マクロブロックのブロックは、左側から右側に順次に、上側ローから下側ロー方向に一回に一つのローずつフィルタリングされることを特徴とする請求項6に記載のフィルタリング方法。
  8. 前記ピクセルデータブロックは、複数のロー、カラムまたはピクセルベクトルを備え、
    隣接のピクセルデータブロックを第1レジスタアレイにプリフェッチングするステップと、
    現在のピクセルデータブロックを第2レジスタアレイにプリフェッチングするステップと、
    前記プリフェッチングされた隣接のピクセルデータ及び前記プリフェッチングされた現在のピクセルデータに応答して、前記現在エッジの境界値を算出するステップと、をさらに含むことを特徴とする請求項1に記載のフィルタリング方法。
  9. 上側のピクセルデータブロックを第3レジスタアレイにプリフェッチングするステップをさらに含むことを特徴とする請求項8に記載のフィルタリング方法。
  10. 第1隣接のピクセルデータベクトルを前記第1レジスタアレイからフィルタリングエンジンにプリフェッチングするステップと、
    第1現在のピクセルデータベクトルを前記第2レジスタアレイから前記フィルタリングエンジンにプリフェッチングするステップと、
    前記現在ブロックの境界値に対応して、前記第1隣接のベクトル及び第1現在のベクトルについてのフィルタパラメータを算出するステップと、
    前記フィルタパラメータによって、前記第1隣接のベクトル及び第1現在のベクトルをフィルタリングするステップと、
    前記フィルタリングされた第1隣接のベクトルを前記第1レジスタアレイにアップデートするステップと、
    前記フィルタリングされた第1現在のベクトルを前記第2レジスタアレイにアップデートするステップと、をさらに含むことを特徴とする請求項8に記載のフィルタリング方法。
  11. 第1隣接のピクセルデータベクトルを前記第1レジスタアレイからフィルタリングエンジンにプリフェッチングするステップと、
    第1現在のピクセルデータベクトルを前記第2レジスタアレイから前記フィルタリングエンジンにプリフェッチングするステップと、
    前記現在ブロックの境界値に対応して、前記第1隣接のベクトル及び第1現在のベクトルについてのフィルタパラメータを算出するステップと、
    前記フィルタパラメータによって、前記第1隣接のベクトル及び第1現在のベクトルをフィルタリングするステップと、
    前記フィルタリングされた第1隣接のベクトルをメモリに保存するステップと、
    前記フィルタリングされた第1現在のベクトルを前記第2レジスタアレイにアップデートするステップと、をさらに含むことを特徴とする請求項8に記載のフィルタリング方法。
  12. 前記アップデートされた第2レジスタアレイによって、前記第1レジスタアレイをアップデートするステップと、
    前記アップデートされた第1レジスタアレイをメモリに保存するステップと、
    前記アップデートされた第1レジスタアレイを前記メモリに保存する間に、他のピクセルデータブロックを前記第2レジスタアレイにプリフェッチングするステップと、をさらに含むことを特徴とする請求項10に記載のフィルタリング方法。
  13. 前記第1隣接のベクトルについてのフィルタパラメータを算出する間に、第2隣接のピクセルデータベクトルを前記第1レジスタアレイからフィルタリングエンジンにプリフェッチングするステップと、
    前記第1現在のベクトルについてのフィルタパラメータを算出する間に、第2現在のピクセルデータベクトルを前記第2レジスタアレイから前記フィルタリングエンジンにプリフェッチングするステップと、
    前記第1隣接のベクトル及び第1現在のベクトルをフィルタリングする間に、前記現在ブロックの境界値に対応して、前記第2隣接のベクトル及び第2現在のベクトルについてのフィルタパラメータを算出するステップと、
    前記フィルタパラメータらによって、前記第2隣接のベクトル及び第2現在のベクトルをフィルタリングするステップと、
    前記フィルタリングされた第2隣接のベクトルを前記第1レジスタアレイにアップデートするステップと、
    前記フィルタリングされた第2現在のベクトルを前記第2レジスタアレイにアップデートするステップと、をさらに含むことを特徴とする請求項10に記載のフィルタリング方法。
  14. 第2ピクセルデータブロックをブロックパイプライン処理するステップをさらに含むことを特徴とする請求項12に記載のフィルタリング方法。
  15. 前記ブロックパイプライン処理ステップは、
    前記第2ピクセルデータブロックを前記第1レジスタアレイにプリフェッチングするステップと、
    前記ブロックの境界値を算出するステップと、を含むことを特徴とする請求項14に記載のフィルタリング方法。
  16. 前記ブロックパイプライン処理ステップは、
    前記第1ピクセルデータベクトルについてのフィルタパラメータを算出する間に、前記ブロックから第2ピクセルデータベクトルをプリフェッチングするステップと、
    前記第1ピクセルデータベクトルのフィルタリング動作及び前記第1ピクセルデータベクトルの保存動作のうち少なくとも一つの動作の間に、前記第2ピクセルデータベクトルについてのフィルタパラメータを算出するステップと、をさらに含むことを特徴とする請求項15に記載のフィルタリング方法。
  17. ベクトルパイプラインフィルタリングステップは、
    以前のピクセルデータベクトルについてのフィルタパラメータを算出する間に、他のピクセルベクトルを前記ブロックからプリフェッチングするステップと、
    前記以前のピクセルベクトルのフィルタリング動作及び前記以前のピクセルベクトルの保存動作のうち少なくとも一つの動作の間に、前記他のピクセルベクトルについてのフィルタパラメータを算出するステップと、をさらに含むことを特徴とする請求項15に記載のフィルタリング方法。
  18. 前記ピクセルデータブロックは、複数個のピクセルを有するロー、カラムまたはベクトルを備え、
    前記複数個のピクセルをピクセルパイプラインフィルタリングするステップをさらに含むことを特徴とする請求項1に記載のフィルタリング方法。
  19. ピクセルパイプラインフィルタリングステップは、
    前記複数個のピクセルから第1ピクセルをプリフェッチングするステップと、
    前記第1ピクセルについてのフィルタパラメータを算出するステップと、
    前記第1ピクセルをフィルタリングするステップと、
    前記第1ピクセルを保存するステップと、
    前記第1ピクセルについてのフィルタパラメータを算出する間に、前記複数個のピクセルから第2ピクセルをプリフェッチングするステップと、
    前記第1ピクセルをフィルタリングする動作及び前記第1ピクセルを保存する動作のうち少なくとも一つの動作の間に、前記第2ピクセルについてのフィルタパラメータを算出するステップと、を含むことを特徴とする請求項18に記載のフィルタリング方法。
  20. ピクセルパイプラインフィルタリングステップは、
    以前のピクセルについてのフィルタパラメータを算出する間に、前記複数個のピクセルから他のピクセルをプリフェッチングするステップと、
    前記以前のピクセルをフィルタリングする動作及び前記以前のピクセルを保存する動作のうち少なくとも一つの動作の間に、前記他のピクセルについてのフィルタパラメータを算出するステップと、をさらに含むことを特徴とする請求項19に記載のフィルタリング方法。
  21. ブロッキング効果を除去するために、ブロック変換処理されるピクセルデータブロックをフィルタリングするためのパイプラインデブロッキングフィルタにおいて、前記フィルタは、
    フィルタリングエンジンと、
    前記フィルタリングエンジンと信号を送受信する複数個のレジスタと、
    前記フィルタリングエンジンと信号を送受信するパイプライン制御部と、
    前記パイプライン制御部と信号を送受信するFSMと、を備えることを特徴とするパイプラインデブロッキングフィルタ。
  22. 前記フィルタは、ピクセルデータを複数のブロック変換係数としてエンコーディングするためのエンコーダと組み合わせられ、
    前記フィルタは、前記ブロック変換係数に応答して、再構成されたピクセルデータのブロック遷移をフィルタリングするために配置されることを特徴とする請求項21に記載のパイプラインデブロッキングフィルタ。
  23. 前記再構成されたピクセルデータを提供するために、エンコーディングされたブロック変換係数をデコーディングするためのデコーダと組み合わせられ、
    前記フィルタは、前記再構成されたピクセルデータのブロック遷移をフィルタリングするために配置されることを特徴とする請求項21に記載のパイプラインデブロッキングフィルタ。
  24. 前記FSMは、
    前記パイプラインデブロッキングフィルタのブロックパイプラインステップを制御するために配置されることを特徴とする請求項21に記載のパイプラインデブロッキングフィルタ。
  25. 前記エンジンは、前記パイプラインデブロッキングフィルタのピクセルベクトルパイプラインステップを制御するために配置されることを特徴とする請求項21に記載のパイプラインデブロッキングフィルタ。
  26. 前記パイプラインデブロッキングフィルタのブロックパイプラインステップを制御するために配置されるFSMと、
    前記パイプラインデブロッキングフィルタのピクセルベクトルパイプラインステップを制御するために配置されるエンジンと、
    前記ブロックの第1エッジをフィルタリングすることによって、前記ピクセルデータブロックをフィルタリングし、前記第1エッジをフィルタリングした後、前記第1エッジに垂直であり、前記ブロックのエッジから三番目にフィルタリングされる前記ブロックの第3エッジをフィルタリングするために配置されるフィルタと、を備えることを特徴とする請求項21に記載のパイプラインデブロッキングフィルタ。
  27. マシンにより読み取り可能であり、ブロック変換処理されるピクセルデータブロックをフィルタリングするためのプログラムステップを行うために、前記マシンにより実行可能に命令プログラムを具体化するプログラム保存装置において、前記プログラム方法は、
    ブロックの第1エッジをフィルタリングするステップと、
    前記第1エッジをフィルタリングした後、残りの三つのエッジから前記第1エッジに垂直な前記ブロックの第3エッジをフィルタリングするステップと、を含むことを特徴とするプログラム方法。
  28. 前記第1エッジをフィルタリングした後、残りの二つのエッジから前記第1エッジに平行な前記ブロックの第2エッジをフィルタリングするステップをさらに含むことを特徴とする請求項27に記載のプログラム方法。
  29. 前記ピクセルデータブロックは、複数のロー、カラムまたはピクセルベクトルを備え、
    隣接のピクセルデータブロックをプリフェッチングするステップと、
    現在のピクセルデータブロックをプリフェッチングするステップと、
    前記プリフェッチングされた隣接のピクセル及び前記プリフェッチングされた現在のピクセルデータに応答して、前記現在エッジの境界値を算出するステップと、をさらに含むことを特徴とする請求項27に記載のプログラム方法。
JP2005344038A 2004-12-01 2005-11-29 パイプラインデブロッキングフィルタ Pending JP2006157925A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040099724A KR20060060919A (ko) 2004-12-01 2004-12-01 H.264/mpeg-4 에서의 블록킹 효과를 제거하기 위한디블록 필터 및 필터링 방법
US11/226,563 US20060115002A1 (en) 2004-12-01 2005-09-14 Pipelined deblocking filter

Publications (1)

Publication Number Publication Date
JP2006157925A true JP2006157925A (ja) 2006-06-15

Family

ID=36441944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005344038A Pending JP2006157925A (ja) 2004-12-01 2005-11-29 パイプラインデブロッキングフィルタ

Country Status (3)

Country Link
JP (1) JP2006157925A (ja)
DE (1) DE102005058508A1 (ja)
TW (1) TWI290438B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009232441A (ja) * 2008-03-24 2009-10-08 Renei Kagi Kofun Yugenkoshi オーバーラップフィルタリングとコア変換を行うための方法及び装置
CN101207817B (zh) * 2006-12-15 2010-06-02 庆熙大学校产学协力团 边界滤波强度的推导过程和使用其的去块滤波方法及装置
US8170363B2 (en) 2006-04-11 2012-05-01 Kabushiki Kaisha Toshiba Image processing apparatus for performing deblocking filtering process
JP2012151690A (ja) * 2011-01-19 2012-08-09 Hitachi Kokusai Electric Inc デブロッキングフィルタ装置、デブロッキングフィルタ処理方法、それを用いた符号化装置および復号化装置
JP2013126083A (ja) * 2011-12-14 2013-06-24 Fujitsu Ltd 画像処理装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2136565A1 (en) * 2008-06-19 2009-12-23 Thomson Licensing Method for determining a filter for interpolating one or more pixels of a frame, method for encoding or reconstructing a frame and method for transmitting a frame
TWI469643B (zh) * 2009-10-29 2015-01-11 Ind Tech Res Inst 視訊壓縮之去區塊效應濾波裝置與方法
JP5183664B2 (ja) 2009-10-29 2013-04-17 財團法人工業技術研究院 ビデオ圧縮のためのデブロッキング装置及び方法
TWI391878B (zh) * 2009-12-01 2013-04-01 Mstar Semiconductor Inc 區塊邊界偵測方法及區塊邊界偵測裝置
US9554128B2 (en) 2011-09-13 2017-01-24 Hfi Innovation Inc. Method and apparatus for reduction of deblocking filter

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030117585A1 (en) * 2001-12-24 2003-06-26 Lee Seung Ho Moving picture decoding processor for multimedia signal processing
US20040181564A1 (en) * 2003-03-10 2004-09-16 Macinnis Alexander G. SIMD supporting filtering in a video decoding system
WO2004093330A2 (en) * 2003-04-10 2004-10-28 Nvidia Corporation Mpeg artifacts post-processed filtering architecture
US20040228415A1 (en) * 2003-05-13 2004-11-18 Ren-Yuh Wang Post-filter for deblocking and deringing of video data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030117585A1 (en) * 2001-12-24 2003-06-26 Lee Seung Ho Moving picture decoding processor for multimedia signal processing
US20040181564A1 (en) * 2003-03-10 2004-09-16 Macinnis Alexander G. SIMD supporting filtering in a video decoding system
WO2004093330A2 (en) * 2003-04-10 2004-10-28 Nvidia Corporation Mpeg artifacts post-processed filtering architecture
US20040228415A1 (en) * 2003-05-13 2004-11-18 Ren-Yuh Wang Post-filter for deblocking and deringing of video data

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8170363B2 (en) 2006-04-11 2012-05-01 Kabushiki Kaisha Toshiba Image processing apparatus for performing deblocking filtering process
CN101207817B (zh) * 2006-12-15 2010-06-02 庆熙大学校产学协力团 边界滤波强度的推导过程和使用其的去块滤波方法及装置
JP2009232441A (ja) * 2008-03-24 2009-10-08 Renei Kagi Kofun Yugenkoshi オーバーラップフィルタリングとコア変換を行うための方法及び装置
US8285774B2 (en) 2008-03-24 2012-10-09 Novatek Microelectronics Corp. Operation method and apparatus for performing overlap filter and core transform
JP2012151690A (ja) * 2011-01-19 2012-08-09 Hitachi Kokusai Electric Inc デブロッキングフィルタ装置、デブロッキングフィルタ処理方法、それを用いた符号化装置および復号化装置
JP2013126083A (ja) * 2011-12-14 2013-06-24 Fujitsu Ltd 画像処理装置

Also Published As

Publication number Publication date
TWI290438B (en) 2007-11-21
TW200629909A (en) 2006-08-16
DE102005058508A1 (de) 2006-06-08

Similar Documents

Publication Publication Date Title
US20060115002A1 (en) Pipelined deblocking filter
TWI382764B (zh) 用於儲存中間迴路過濾資料之暫存記憶體(scratch pad)
CN107277539B (zh) 减少用于上下文自适应熵解码中的行缓存的方法及装置
US8009740B2 (en) Method and system for a parametrized multi-standard deblocking filter for video compression systems
JP2006157925A (ja) パイプラインデブロッキングフィルタ
JP4699685B2 (ja) 信号処理装置及びそれを用いた電子機器
KR101158345B1 (ko) 디블록킹 필터링을 수행하는 방법 및 시스템
US20060133504A1 (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
US20200204795A1 (en) Virtual Memory Access Bandwidth Verification (VMBV) in Video Coding
US20150326886A1 (en) Method and apparatus for loop filtering
KR20040054776A (ko) 고레벨 화소-그리드 모션 보상을 사용하여 복잡성을감소시키기 위한 디코딩
KR100842557B1 (ko) 동영상 처리 장치에서 메모리 액세스 방법
WO2006078454A1 (en) Method and apparatus for intra prediction for rru
US20160050431A1 (en) Method and system for organizing pixel information in memory
EP2880861B1 (en) Method and apparatus for video processing incorporating deblocking and sample adaptive offset
JP4945513B2 (ja) 可変長復号装置およびそれを用いた動画復号装置
Lin et al. An H. 264/AVC decoder with 4/spl times/4-block level pipeline
JP2022538968A (ja) ビデオデータの変換スキップ残差符号化
WO2022178686A1 (zh) 编解码方法、编解码设备、编解码系统以及计算机可读存储介质
JP4880868B2 (ja) 性能向上のための動画像圧縮方法及び装置
KR100636911B1 (ko) 색도 신호의 인터리빙 기반 동영상 복호화 방법 및 그 장치
JP2008289105A (ja) 画像処理装置およびそれを搭載した撮像装置
KR100816461B1 (ko) 실시간 디블록킹 필터 및 이를 이용한 디블록킹 방법
KR101063423B1 (ko) 디블록 필터링 방법 및 장치
JP2009049460A (ja) 画像処理装置およびその方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111018