(57)【要約】【課題】  外部メモリに対してアクセスする頻度及びデータ量を低減でき、レイテンシを改善することが可能な映像信号処理装置及び方法、並びに映像信号復号装置を提供する。【解決手段】  映像信号がブロック単位で符号化されて得られた符号化データを逆量子化／逆ＤＣＴ処理したデータと、動き補償を施したデータとを加算器２５で加算し、フィルタ処理部３０のオーバーラップスムージングフィルタ３１に送る。デブロッキングフィルタ３２はオーバーラップスムージングフィルタ３１に連続して配置され、これらのフィルタ３１，３２間において作用を及ぼす画像データの重複部分が共有メモリ３３に格納される。【選択図】  図１
2008028553.tif 000002
【特許請求の範囲】
【請求項１】
映像信号がブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理装置において、
復号処理中のデータに対して第１のブロック境界円滑化処理を行う第１のフィルタと、
上記第１のフィルタに連続して配置され上記第１のブロック境界円滑化処理されたデータを含むデータに対して第２のブロック境界円滑化処理を行う第２のフィルタと、
上記第１、第２のフィルタ間において作用を及ぼす画素データの重複部分を記憶する共有メモリと
を有することを特徴とする映像信号処理装置。
【請求項２】
上記第１のブロック境界円滑化処理はオーバーラップスムージング処理、上記第２のブロック境界円滑化処理はデブロッキングフィルタ処理であることを特徴とする請求項１記載の映像信号処理装置。
【請求項３】
上記第１のフィルタには、逆量子化／逆ＤＣＴ処理されたデータと、動き補償されたデータとの加算データが供給されることを特徴とする請求項１記載の映像信号処理装置。
【請求項４】
映像信号がブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理方法において、
復号処理中のデータに対して第１のブロック境界円滑化処理を行う第１のフィルタ処理工程と、
上記第１のフィルタ処理工程に連続して処理を行い上記第１のブロック境界円滑化処理されたデータを含むデータに対して第２のブロック境界円滑化処理を行う第２のフィルタ処理工程とを有し、
上記第１、第２のフィルタ処理工程において作用を及ぼす画素データの重複部分を共有メモリに記憶することを特徴とする映像信号処理方法。
【請求項５】
上記第１のブロック境界円滑化処理はオーバーラップスムージング処理、上記第２のブロック境界円滑化処理はデブロッキングフィルタ処理であることを特徴とする請求項４記載の映像信号処理方法。
【請求項６】
映像信号がブロック単位で符号化されて得られた符号化データを逆量子化／逆ＤＣＴ処理すると共に、動き補償を施して復号処理する映像信号復号装置において、
上記逆量子化／逆ＤＣＴ処理されたデータと、動き補償されたデータとの加算データが供給され、第１のブロック境界円滑化処理を行う第１のフィルタと、
上記第１のフィルタに連続して配置され上記第１のブロック境界円滑化処理されたデータを含むデータに対して第２のブロック境界円滑化処理を行う第２のフィルタと、
上記第１、第２のフィルタ間において作用を及ぼす画素データの重複部分を記憶する共有メモリと
を有することを特徴とする映像信号復号装置。
【請求項７】
上記第１のブロック境界円滑化処理はオーバーラップスムージング処理、上記第２のブロック境界円滑化処理はデブロッキングフィルタ処理であることを特徴とする請求項６記載の映像信号復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像信号処理装置及び方法、並びに映像信号復号装置に関し、特に、映像信号がブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理装置及び方法、並びに映像信号復号装置に関する。
【背景技術】
【０００２】
近年において種々の動画像圧縮符号化技術が提案されているが、その１つとして知られているＶＣ−１動画像圧縮符号化方式は、ＭＰＥＧ（Moving Picture Exparts Group）−４パート２をベースとし、さらに圧縮効率を高めるための種々の工夫が施されたものであり、ＳＭＰＴＥ（米国映画テレビジョン技術者協会）での規格化がなされ、ＳＭＰＴＥ  ４２１Ｍとして発表されている。
【０００３】
一般に、ＶＣ−１符号化方式におけるデコーダは、ＶＣ−１のレファレンスソースコードや規格書ＳＭＴＰＥ  ４２１ＭのDecodeing Process Overviewに構成案が記載されている。この規格書によればＶＣ−１コーデック（Codec）によってエンコードされたビットストリーム（Bit Stream）信号はデコーダシステムに入力され、構造解析（Parsing）されると、そのデータの符号化された手法により大別して、イントラ（Intra）符号化（フレーム内予測符号化）されたものとインター（Inter）符号化（フレーム間予測符号化）されたものにデータが分類される。分類されたイントラ符号化データとインター符号化データとは、復号画像（Decode Picture）を生成する時のデータの再構成処理が異なる。
【０００４】
図１２は、このＶＣ−１デコーダシステムの一例を概略的に示すブロック図であり、ビットストリーム構造解析モジュール１１が入力されたビットストリームを構造解析する。ビットストリーム構造解析モジュール１１からのイントラ符号化データ及びインター符号化データは、ＡＣ／ＤＣ予測（Prediction）モジュール１２を介して、逆量子化／逆ＤＣＴ（ＩＱ／ＩＤＣＴ）モジュール１３に送られ、逆量子化及び逆ＤＣＴが施された後、選択スイッチ１４に送られ、イントラ符号化データがオーバーラップスムージングフィルタ（Overlap Smoothing Filter）１５に送られ、インター符号化データが加算器１６に送られる。
【０００５】
オーバーラップスムージングフィルタ１５は、ブロック境界（エッジ）での歪を軽減するために、ブロック境界をスムージングするフィルタであり、イントラ符号化データのみをオーバーラップスムージング処理して加算器１６に送っている。また、ビットストリーム構造解析モジュール１１から動きベクトル（ＭＶ）が動きベクトル予測モジュール２１を介して動き補償（ＭＣ）モジュール２２に送られ、この動き補償モジュール２２では、制御部２３により外部メモリから読み出された復号データを用いて動き補償が施され、得られたデータ（インター符号化データ）が加算器１６に送られる。加算器１６では、選択スイッチ１４からのインター符号化データ、オーバーラップスムージングフィルタ１５からのイントラ符号化データ、動き補償モジュール２２からのインター符号化データが加算され、デブロッキングフィルタ（Deblocking Filter）１７に送られる。デブロッキングフィルタ１７では、ブロック境界（エッジ）のみを平滑化してブロックノイズの発生を抑制する。このような復号処理が行われることにより、画像（ピクチャ：Picture）が再構成（decode）される。
【０００６】
規格書ＳＭＴＰＥ  ４２１Ｍ  によってＶＣ−１デコーダとして規格化されている上記オーバーラップスムージング（Overlap Smoothing）処理を行う場合について説明する。
【０００７】
このオーバーラップスムージング処理は、図１３に示すように、８×８画素のブロックの境界（エッジ）について、４タップのフィルタ処理を行うものであり、垂直エッジ、水平エッジの順に行われ、Ｙ（輝度）／Ｃ（クロマ）信号のデータに対して同じ演算が行われ、Ｉピクチャ（フレーム内符号化画像）又はＰピクチャ（前方予測符号化画像）のみに対して処理が行われる。
【０００８】
図１４は、前段のモジュールからあるいは外部メモリから送られてくるデータの時系列を示しており、ピクチャ再構成処理の単位をマクロブロック（ＭＢ）としている。この図１４の矢印に示すように送られてくるデータの時系列に対してレイテンシ（処理のための待ち時間）を少なくする場合の方法として、上記オーバーラップスムージング処理を行うために必要とされるマクロブロック（ＭＢ）を図１５に示す。この図１５において、現在処理されるべく前段のモジュールから送られてきた（あるいは外部メモリから読み出された）現在のマクロブロック（Current MB）Ｃ−ＭＢに対して、オーバーラップスムージング処理される範囲（処理が完了する領域）はＸosとなる。この図１５の範囲Ｘosのオーバーラップスムージング処理を行うために、上記現在のマクロブロックＣ−ＭＢと、直前のマクロブロック（Left MB）Ｌ−ＭＢと、現在のマクロブロックＣ−ＭＢに対してピクチャが再構成された時に上部に位置する上部マクロブロック（Above MB）Ａ−ＭＢと、この上部マクロブロックＡ−ＭＢの直前のマクロブロック（Left Above MB）ＬＡ−ＭＢ（ピクチャが再構成された時に上部マクロブロックＡ−ＭＢの左に位置するマクロブロック）の、合計４つのマクロブロックＣ−ＭＢ，Ｌ−ＭＢ，Ａ−ＭＢ，ＬＡ−ＭＢに属するデータを必要とする。
【０００９】
また、上記デブロッキングフィルタ（Deblocking Filter）処理される範囲は、図１５の範囲Ｘdbとなり、上記オーバーラップスムージング処理の場合と同様に４つのマクロブロックＣ−ＭＢ，Ｌ−ＭＢ，Ａ−ＭＢ，ＬＡ−ＭＢに属するデータが必要となる。ここで、上記ＶＣ−１規格におけるデブロッキングフィルタ処理は、Ｉピクチャ、Ｂピクチャ（双方向予測符号化画像）では８×８ブロックの境界のみに適用され、Ｐピクチャでは４×４ブロック境界まで適用されるものであり、８タップフィルタで、境界の２画素だけが変化し、水平エッジ、垂直エッジの順に処理が行われ、Ｙ（輝度）／Ｃ（クロマ）信号のデータに対して同じ演算が行われる。なお、上記図１５の範囲Ｘdbは、フィールド符号化の場合とフレーム符号化の場合を考慮して、上記デブロッキングフィルタ処理が完了する領域を示している。
【００１０】
上述したように４つのマクロブロックＣ−ＭＢ，Ｌ−ＭＢ，Ａ−ＭＢ，ＬＡ−ＭＢに属するデータを用いてフィルタ処理を行う場合、ビットストリーム構造解析モジュール１１の構造解析（Parsing）処理の仕方にもよるが、前段のモジュールから送られてくるデータの他に、処理に必要なデータを制御部２３により外部メモリ等から読み出すことが一般に行われている。外部メモリには例えばＳＤＲＡＭが用いられ、制御部２３は、アービター経由／ＳＤＲＡＭ制御回路を経由してＳＤＲＡＭをアクセスする。
【００１１】
ここで、現在のマクロブロックＣ−ＭＢに対する直前のマクロブロックＬ−ＭＢに関しては、内部キャッシュを利用することで解決することもできるが、上部マクロブロックＡ−ＭＢに関しては、デコードされるべきピクチャの横方向のマクロブロックの数がピクチャが構成される画素数によって任意に変化するため、システム内部にそのデータを保持しようとすれば、任意に可変する画素数に対して、格納領域としては規格の示す最大量で用意しなければならず、リソースの無駄にもなってしまう。このため、上記オーバーラップスムージングフィルタ１５やデブロッキングフィルタ１７の各モジュールにてフィルタ処理した後、制御部２３により外部メモリに格納し、処理に必要な任意のタイミングで外部メモリから再度、読み出すことによって処理に必要なデータを取り揃える構成となるのが一般的である。
【００１２】
図１２の例では、逆量子化／逆ＤＣＴ（ＩＱ／ＩＤＣＴ）モジュール１３がイントラ／インターの両符号化データを扱うため、その前段に当たるＡＣ／ＤＣ予測モジュール１２もインター符号化データを扱う構成になっている。例えば、図１２において逆ＤＣＴ処理が終了した符号化データはオーバーラップスムージングフィルタ１５の手前でイントラ符号化データとインター符号化データかによって経路が選択され、イントラ符号化データはオーバーラップスムージングフィルタ１５に送られる。
【００１３】
オーバーラップスムージングフィルタ１５の処理を行うタイミングにおいて、図１２の経路Ｒ１に示すように、上部マクロブロックＡ−ＭＢとその直前のマクロブロックＬＡ−ＭＢのデータの中で必要とされるデータが外部メモリからオーバーラップスムージングフィルタ１５に取り込まれる。このオーバーラップスムージング処理が完了される画素データは、図１６の（Ａ）中の枠Ｘosで囲まれた範囲のものとなる。また、オーバーラップスムージングフィルタ１５にてフィルタ処理されたデータの全ては、図１６の（Ｂ）中の枠Ｘosに相当する部分となる。このフィルタ処理された全データ、または現在のマクロブロックＣ−ＭＢ以外のマクロブロックに属する画素データは、フィルタ処理されたピクチャデータとして図１２の経路Ｗ２で制御部２３により再び外部メモリに格納される。
【００１４】
ここで図１５に示すように、現在のマクロブロックＣ−ＭＢに対して、復号後の再構成されたピクチャにおいて下部に位置するマクロブロック（Below MB）Ｂ−ＭＢが現在のマクロブロックＣ−ＭＢとなった時に利用するための中間結果としてのデータも、図１２のＷ２の経路で外部メモリに格納される。これは図１６の（Ｂ）中の枠ＫＸの部分の画素データに相当する。
【００１５】
以上の処理の後にオーバーラップスムージングフィルタ１５での処理後の現在のマクロブロックＣ−ＭＢに属するデータや、オーバーラップスムージングフィルタ１５でフィルタ処理された直前のマクロブロックＬ−ＭＢに属していたデータは、動き補償などの他の経路で処理されたインター符号化データと加算され、デブロッキングフィルタ１７に送られる。
【００１６】
以上は、輝度（Ｙ）信号のデータについて説明したものであるが、カラー画像の場合のクロマ信号Ｃｂ，Ｃｒのマクロブロックについても同様にオーバーラップスムージング処理が行われ、このオーバーラップスムージング処理される範囲は、図１７に示すように、枠Ｘｂos、Ｘｒosで囲まれた範囲となる。
【００１７】
なお、本明細書においては、主として輝度（Ｙ）信号のデータのフィルタ処理について説明し、クロマ（Ｃｂ，Ｃｒ）信号のデータについては説明を省略している。
【００１８】
次のデブロッキングフィルタ１７でのデブロッキング処理では、現在のマクロブロックＣ−ＭＢに対してオーバーラップスムージングフィルタ１５と同様に図１２のＲ３に示すような経路で、必要とされる直前のマクロブロックＬ−ＭＢと上部マクロブロックＡ−ＭＢとその直前のマクロブロックＬＡ−ＭＢの４つのマクロブロックに所属するデータがデブロッキングフィルタ１７に取り込まれる。そして最後に図１２のＷ４の経路によって復号画像（Decode Picture）が外部メモリに格納される構成となる。
【００１９】
従来技術として、非特許文献１には、上記ＶＣ−１動画像圧縮符号化方式の規格が開示されている。
【００２０】
【非特許文献１】ＳＭＰＴＥ  ４２１Ｍ  規格書、 SMPTE Draft Standard for Television, ＳＭＰＴＥ（米国映画テレビジョン技術者協会）、２００５年８月２３日
【発明の開示】
【発明が解決しようとする課題】
【００２１】
ところで、上述のような構成を用いて復号を行う場合には、フィルタ処理を行う毎に現在のマクロブロックＣ−ＭＢに対して外部メモリから多くの画素データを読み込む必要性が生じてくる。
【００２２】
また、外部メモリへのアクセスは図１２のＲｄの経路で示すように動き補償モジュール２２などでも発生し、ＨＤ（高精細）画像などの符号化データ量が多い画像の場合、外部メモリへのアクセス時のデータ量およびアクセス頻度も多くなる。高画質の場合には上記ＶＣ−１符号化方式で選択制になっているフィルタ処理が行われる可能性も高くなり、必然的にメモリアクセスためのバンド幅が多く必要となっていた。
【００２３】
本発明は、このような従来の実情に鑑みて提案されたものであり、外部メモリに対してアクセスする頻度及びデータ量を低減でき、レイテンシを改善することが可能な映像信号処理装置及び方法、並びに映像信号復号装置を提供することを目的とする。
【課題を解決するための手段】
【００２４】
上述の課題を解決するために、本発明は、映像信号がブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理装置において、復号処理中のデータに対して第１のブロック境界円滑化処理を行う第１のフィルタと、上記第１のフィルタに連続して配置され上記第１のブロック境界円滑化処理されたデータを含むデータ対して第２のブロック境界円滑化処理を行う第２のフィルタと、上記第１、第２のフィルタ間において作用を及ぼす画素データの重複部分を記憶する共有メモリとを有することを特徴とする。
【００２５】
また、本発明は、映像信号をブロック単位で符号化されて得られた符号化データを復号する際のブロック境界円滑化処理を行う映像信号処理方法において、復号処理中のデータに対して第１のブロック境界円滑化処理を行う第１のフィルタ処理工程と、上記第１のフィルタ処理工程に連続して処理を行い上記第１のブロック境界円滑化処理されたデータを含むデータに対して第２のブロック境界円滑化処理を行う第２のフィルタ処理工程とを有し、上記第１、第２のフィルタ処理工程において作用を及ぼす画素データの重複部分を共有メモリに記憶することを特徴とする。
【００２６】
ここで、上記第１のブロック境界円滑化処理はオーバーラップスムージング処理、上記第２のブロック境界円滑化処理はデブロッキングフィルタ処理であることが挙げられる。また、上記第１のブロック境界円滑化処理は、逆量子化／逆ＤＣＴ処理されたデータと、動き補償されたデータとの加算データに対して行われることが好ましい。
【００２７】
また、本発明は、映像信号をブロック単位で符号化されて得られた符号化データを逆量子化／逆ＤＣＴ処理すると共に、動き補償を施して復号処理する映像信号復号装置において、上記逆量子化／逆ＤＣＴ処理されたデータと、動き補償されたデータとの加算データが供給され、第１のブロック境界円滑化処理を行う第１のフィルタと、上記第１のフィルタに連続して配置され上記第１のブロック境界円滑化処理されたデータを含むデータに対して第２のブロック境界円滑化処理を行う第２のフィルタと、上記第１、第２のフィルタ間において作用を及ぼす画素データの重複部分を記憶する共有メモリとを有することを特徴とする。
【発明の効果】
【００２８】
本発明によれば、第１、第２のフィルタ間のデータの流れにおけるレイテンシが改善され、フィルタ処理に必要な一時データを格納する共有メモリを第１、第２のフィルタ共通で利用でき、メモリの削減が実現でき、外部メモリに対するアクセス量も削減できる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００３０】
図１は、本発明の実施の形態の一例の構成を概略的に示すブロック図である。ＳＭＴＰＥ  ４２１Ｍ（いわゆるＶＣ−１）の規格に基づいてエンコードされたビットストリーム（Bit Stream）信号は、図１に示すようなデコーダシステムに入力され、ビットストリーム構造解析（Parsing）モジュール１１により構造解析され、そのデータの符号化手法により、イントラ（Intra）符号化データとインター（Inter）符号化データとに分類される。イントラ符号化データ及びインター符号化データは、復号画像（Decode Picture）を生成する時のデータの再構成処理が異なる。ビットストリーム構造解析モジュール１１からは動きベクトル（Motion Vector）も出力される。
【００３１】
ビットストリーム構造解析モジュール１１からのイントラ符号化データ及びインター符号化データは、ＡＣ／ＤＣ予測（Prediction）モジュール１２を介して、逆量子化／逆ＤＣＴ（ＩＱ／ＩＤＣＴ）モジュール１３に送られ、逆量子化及び逆ＤＣＴが施される。ビットストリーム構造解析モジュール１１からの動きベクトルは、動きベクトル予測モジュール２１を介して動き補償モジュール２２に送られ、動き補償モジュール２２では、制御部２３により外部メモリから読み出された復号データを用いて動き補償が施される。
【００３２】
ここで、イントラ符号化データは、オーバーラップスムージングフィルタ処理以降ではデータ処理を施されないことから、デブロッキングフィルタ処理の直前までにインター符号化データと加算されれば、デブロッキングフィルタ処理に違いは生じない。この点を考慮し、図１に示すように、オーバーラップスムージングフィルタ３１の直前に加算器２５を設けて、逆量子化／逆ＤＣＴモジュール１３からのイントラ符号化データとインター符号化データの混在したデータに、動き補償モジュール２２からのインター符号化データを加算するようにしている。
【００３３】
加算器２５からの加算データは、オーバーラップスムージングフィルタ３１及びデブロッキングフィルタ３２を一体化したフィルタ処理部３０に送られる。このフィルタ処理部３０内では、イントラ符号化データとインター符号化データとを選別し、それぞれの符号化データに対して必要とされる処理を行う仕組みにすることにより、オーバーラップスムージングフィルタ３１とデブロッキングフィルタ３２とを連続して配置することを可能としている。一体化したことで、２つのフィルタ３１，３２間で処理する時に必要な復号画像（Decode Picture）の重複画素エリア（後述する図２の範囲ＭＸ）を、図１に示すような内部記憶保持領域（例えばＳＲＡＭ等のキャッシュ）のメモリ３３として内部モジュールに格納することで、イントラ符号化データを処理する場合において、外部メモリへのアクセス頻度、データ転送量を削減することが可能なシステムを構成している。
【００３４】
オーバーラップスムージングフィルタ３１及びデブロッキングフィルタ３２を一体化したフィルタ処理部３０は、最初に処理されるべきデータをイントラ符号化データとインター符号化データに選別する手段を有し、オーバーラップスムージングフィルタ処理に必要な一時的なデータを格納する手段および前記図１５の上部マクロブロック（Above MB）Ａ−ＭＢのデータを一時的に格納する手段であるＳＲＡＭ等のメモリ３４と、デブロッキングフィルタ処理に必要な一時的なデータを格納する手段であるＳＲＡＭ等のメモリ３５及び上部マクロブロックＡ−ＭＢのデータを一時的に格納する手段であるＳＲＡＭ等のメモリ３６と、２つのフィルタ処理に共通のデータを格納する手段である上記メモリ３３とを有している。
【００３５】
ここで、オーバーラップスムージングフィルタ処理及びデブロッキングフィルタ処理に必要とされる画素範囲について、図２を参照しながら説明する。この図２において、前記図１５と共に説明したように、上記２つのフィルタ処理を行うために、現在送られてきているマクロブロック（Current MB）Ｃ−ＭＢと、直前のマクロブロック（Left MB）Ｌ−ＭＢと、現在のマクロブロックＣ−ＭＢに対してピクチャが再構成された時に上部に位置する上部マクロブロック（Above MB）Ａ−ＭＢと、この上部マクロブロックＡ−ＭＢの直前のマクロブロック（Left Above MB）ＬＡ−ＭＢ（ピクチャが再構成された時に上部マクロブロックＡ−ＭＢの左に位置するマクロブロック）の、合計４つのマクロブロックＣ−ＭＢ，Ｌ−ＭＢ，Ａ−ＭＢ，ＬＡ−ＭＢに属するデータを必要とする。本発明の実施の形態となる図１のデコーダシステムのフィルタ処理部３０の場合、上記オーバーラップスムージング処理に必要とされる範囲をＭos、上記デブロッキングフィルタ処理に必要とされる範囲をＭdbにて表しており、これらの２つのフィルタ処理で必要とされる各範囲の間では部分ＭＸが重複している。この重複範囲ＭＸが、フィルタ処理部３０内のメモリ３３に格納される。
【００３６】
フィルタ処理部３０に送られたデータは、最初にイントラ符号化データかインター符号化データで処理方法が選別される。イントラ符号化データの場合、オーバーラップスムージングフィルタ３１にデータが送られ、現在送られてきているマクロブロック（Current MB）Ｃ−ＭＢに属するデータ以外の処理に必要なデータが、図１のＲ１の経路で外部記憶装置（ＳＤＲＡＭなどのメモリ：外部メモリ）から読み込まれる。図１のＲ１の経路で外部メモリから読み込まれるデータは、現在のマクロブロックＣ−ＭＢに対して、上部マクロブロックＡ−ＭＢとその直前のマクロブロックＬＡ−ＭＢのデータである。また、直前のマクロブロックＬ−ＭＢに属しているが、現在のマクロブロックＣ−ＭＢがモジュールに送られてくる今回のタイミングで必要とされるデータは、直前のマクロブロックＬ−ＭＢが現在マクロブロックとして処理される１つ前のタイミングで内部のメモリ３４に格納（図１の経路Ｗ５）しておき、現在のタイミングで図１のＲ５の経路に示すように内部より読み出すような工夫を施すことができる。図１のＲ１とＲ５の経路で読み込まれたデータと、現在のデータ（現在のマクロブロックＣ−ＭＢ）とによってオーバーラップスムージングフィルタ処理されたデータの中で、次のオーバーラップ処理されるマクロブロックの処理に必要なデータは、図１のＷ５の経路でメモリ３４に書き込まれる。また、前記図１５に示すような再構成された画像（Picture）において、下部のマクロブロックＢ−ＭＢが現在マクロブロックとなった時点で最終処理されるべき中間データは、図１のＷ２の経路によって外部メモリに書き出される。
【００３７】
さらに、完全に処理が終了したデータは、図１のＷ６の経路に示すようにモジュール内部のデータ格納手段のメモリ３３に書き込まれる。次にオーバーラップスムージング処理されたデータはデブロッキングフィルタ処理を行うが、この時、２つのフィルタ処理で重複する部分のデータは、外部メモリではなく図１のＲ６の経路でメモリ３３から読み出している。
【００３８】
またデブロッキングフィルタ処理に必要な画素データの中で直前のマクロブロックＬ−ＭＢに属する画素のデータは、メモリ３３に格納するデータ量を調整することで、図３に示すデータ格納構成で直前のマクロブロックＬ−ＭＢと現在のマクロブロックＣ−ＭＢのデータなどを連続して格納し、内部キャッシュのようにモジュール内に保持しておくことで、メモリ３３から読み出すことが可能となる。図３では実際のハードウェアシステムの都合上とオーバーラップスムージング処理後のデータを書き込むタイミングとデブロッキングフィルタ処理の時に読み出すタイミング上の制約から、メモリ３３の格納サイズとして、マクロブロックサイズとして３つのマクロブロック分（ＭＢ−０，ＭＢ−１，ＭＢ−２）を用意していることを示している。また、オーバーラップスムージング処理とは重複しない部分の上部マクロブロックＡ−ＭＢやその直前のマクロブロックＬＡ−ＭＢに属する復号画像の画素は、図１のＲ３の経路で外部メモリから読み込むことで用意される。デブロッキングフィルタ処理において処理の中間結果は図１のメモリ３５に一時的に格納される。そしてデブロッキングフィルタ処理が完了したデータは図１のＷ４の外部メモリに向かう経路で、再構成された復号画像として外部メモリに書き出される。
【００３９】
ここで、図３において、範囲Ｘosがオーバーラップスムージング処理が完了する領域を、範囲Ｘdbがデブロッキングフィルタ処理が完了する領域を示し、３つのマクロブロック（ＭＢ−０，ＭＢ−１，ＭＢ−２）及びこれらの３つのマクロブロックの上部のオーバーラップスムージング処理される２ライン分を含む範囲Ｍａのデータがメモリ３３に内部保留され、マクロブロックＭＢ−０，ＭＢ−１の上部のマクロブロック領域から上記内部保留される２ライン分を除いた範囲Ｍｂのデータが、外部メモリから経路Ｒ３を介してメモリ３６に読み込まれる。また、オーバーラップスムージング処理範囲Ｘos内の上部２ラインの範囲Ｍｃが、オーバーラップスムージング処理時に外部メモリから読み出される画素領域を示している。
【００４０】
フィルタ処理部３０の入力側の選別手段によって選別されたインター符号化データは、オーバーラップスムージング処理ブロックではデータの加工は行わずに、イントラ符号化データの時と同様なデータ範囲を図１のメモリ３３に格納する。これによって後段のデブロッキングフィルタブロックではインターかイントラかの違いなく読み出す範囲を処理することが可能となる。以上のような作用から、２つのフィルタ処理ブロック間で共有できるデータ領域を外部メモリに書き出すことと読み込む場合の双方の場合において、外部メモリへのアクセス頻度とデータ量が改善されることが実現できる。同時にレイテンシ（処理のための待ち時間）の大きい外部メモリへのアクセスが削減されることで、このモジュールとしてのレイテンシの改善も実現できる。
【００４１】
次に、本発明の実施の形態のメモリアクセス及びレイテンシについて、従来例の場合と対比しながら説明する。
【００４２】
図４は、前記図１２に示したような従来のデコーダシステムのオーバーラップスムージングフィルタ１５におけるオーバーラップスムージング処理に伴うメモリ操作範囲を示しており、上述したように、現在のマクロブロックＣ−ＭＢに対して、直前のマクロブロックＬ−ＭＢ、上部マクロブロックＡ−ＭＢ、上部マクロブロックＡ−ＭＢの直前のマクロブロックＬＡ−ＭＢの合計４つのマクロブロックを示している。これらの４つのマクロブロックＣ−ＭＢ，Ｌ−ＭＢ，Ａ−ＭＢ，ＬＡ−ＭＢは、以下の図５〜図１０についても同様である。現在のマクロブロックＣ−ＭＢに対してオーバーラップスムージング処理が完了する部分は、図中の破線の枠で囲った範囲Ｘosである。
【００４３】
この図４において、図１２の制御部２３を介して外部メモリからオーバーラップスムージングフィルタ１５のメモリ１５ｍに経路Ｒ１で読み込まれるデータは、オーバーラップスムージング処理範囲Ｘosの内の上部マクロブロックＡ−ＭＢ及びその直前のマクロブロックＬＡ−ＭＢに対応する部分Ｋ１のデータである。次に、オーバーラップスムージング処理後にメモリ１５ｍから図１２の経路Ｗ２で外部メモリに書き出されるデータは、オーバーラップスムージング処理範囲Ｘos及びその下部領域の範囲Ｋ２を含む範囲Ｋ３のデータとなる。このＫ３のデータの書き出し処理には、２マクロブロック（２ＭＢ）サイズのバッファが必要とされる。なお、上記範囲Ｋ２のデータは、上述した図１５の下部のマクロブロックＢ−ＭＢが現在のマクロブロックになったときに利用するための中間結果として外部メモリに格納されるものである。また、現在のマクロブロックＣ−ＭＢ内における範囲Ｘosの右側に隣接する範囲Ｋ４のデータは、メモリ１５ｍ内に内部保留されて、右隣のマクロブロックが現在のマクロブロックになったときに利用される。
【００４４】
次に、図５、図６は、前記図１２に示した従来のデコーダシステムのデブロッキングフィルタ１７におけるフィルタ処理に伴うメモリ操作範囲を示している。図５は、図１２のデブロッキングフィルタ１７内のメモリ１７ｍに内部保留され、また外部メモリから経路Ｒ３で読み込まれるデータを示し、現在のマクロブロックＣ−ＭＢから時間的に連続する直前のマクロブロックＬ−ＭＢ等の３マクロブロック（３ＭＢ）分の範囲Ｋ５のデータがメモリ１７ｍに内部保留され、外部メモリからは、上部マクロブロックＡ−ＭＢ及びその直前のマクロブロックＬＡ−ＭＢの２マクロブロック（２ＭＢ）分の範囲Ｋ６のデータが経路Ｒ３を介してメモリ１７ｍに読み込まれる。
【００４５】
図６は、デブロッキングフィルタ処理後のメモリ操作範囲を示し、図中の破線の枠で囲った範囲Ｘdbは、デブロッキングフィルタ処理が完了した部分を示している。図１２のデブロッキングフィルタ１７内のメモリ１７ｍからは、上記デブロッキングフィルタ処理範囲Ｘdb及びその下部領域を含む範囲Ｋ７（図６中の斜線部）のデータが経路Ｗ４で外部メモリに書き出される。
【００４６】
図７は、このような従来のオーバーラップスムージング処理及びデブロッキングフィルタ処理におけるレイテンシを模式的に示す図であり、図７の（Ａ）は、図１２の逆量子化／逆ＤＣＴ（ＩＱ／ＩＤＣＴ）モジュール１３から送られてきたデータ列を示し、マクロブロックＭＢ１をカレントマクロブロックＣ−ＭＢとしている。図７の（Ｂ）は、図７の（Ａ）のデータ列を内部バッファに書き込んだときのオーバーラップスムージング処理前のデータ列を示し、このときのレイテンシＬ１は６４ピクセル（画素）分となる。この図７の（Ｂ）のデータ列をオーバーラップスムージング処理することによりレイテンシＬ２だけ遅れた図７の（Ｃ）のデータ列となり、書き出しバッファから処理後のデータをオーバーラップスムージングフィルタ１５から外部メモリに出力するときの図７の（Ｄ）のデータ列のレイテンシＬ３は、３マクロブロック（３ＭＢ）＋Ｌ２（オーバーラップスムージング処理のレイテンシ）となる。
【００４７】
次に、デブロッキングフィルタ処理は、図１２のオーバーラップスムージングフィルタ１５から加算器１６を介して得られたデータ列に対してデブロッキングフィルタ１７により行われる。このとき、図７の（Ｅ）に示すように、上述したデブロッキングフィルタ処理範囲のため、２マクロブロック（２ＭＢ）サイズのデータを内部メモリ１７ｍに保持する必要があるため、レイテンシＬ４は２ＭＢ分の６４ピクセル（画素）×２となる。内部メモリ１７ｍに保持されたデータに対してデブロッキングフィルタ処が施されることによりレイテンシＬ５だけ遅れた図７の（Ｆ）のデータ列となり、図７の（Ｇ）に示すタイミングで外部メモリに書き出しされる。
【００４８】
このような従来のオーバーラップスムージング処理及びデブロッキングフィルタ処理に対して、本発明の実施の形態の図１に示すような構成によれば、外部メモリへのアクセス頻度とデータ量が改善され、レイテンシも改善される。
【００４９】
図８は、上記図１のデコーダシステムのフィルタ処理部３０内のオーバーラップスムージングフィルタ３１によるオーバーラップスムージング処理に伴うメモリ操作範囲を示しており、現在のマクロブロックＣ−ＭＢに対してオーバーラップスムージング処理が完了する部分は、図中の破線の枠で囲った範囲Ｘosである。
【００５０】
この図８において、図１の制御部２３を介して外部メモリからオーバーラップスムージングフィルタ３１に経路Ｒ１で読み込まれるデータは、オーバーラップスムージング処理範囲Ｘosの内の上部マクロブロックＡ−ＭＢ及びその直前のマクロブロックＬＡ−ＭＢに対応する部分Ｋ１１のデータである。次に、オーバーラップスムージング処理後にオーバーラップスムージングフィルタ３１から図１の経路Ｗ２で外部メモリに書き出されるデータは、オーバーラップスムージング処理範囲Ｘosの下部領域の範囲Ｋ１２のデータとなる。オーバーラップスムージング処理範囲Ｘos内の書き出し範囲Ｋ１３のデータの書き出し用のバッファは、図１のフィルタ処理部３０内のデブロッキングフィルタ３２の内部メモリに吸収される。従って、上記図４の従来のメモリ操作範囲に比べて、外部メモリアクセスが３２画素分削減され、また、データ書き出し用のバッファの２マクロブロック（２ＭＢ）分が削減される。なお、上記範囲Ｋ１２のデータは、上述した図１５の下部のマクロブロックＢ−ＭＢが現在のマクロブロックになったときに利用するための中間結果として外部メモリに格納されるものである。また、現在のマクロブロックＣ−ＭＢ内における範囲Ｘosの右側に隣接する範囲Ｋ１４のデータは、メモリ３４内に内部保留されて、右隣のマクロブロックが現在のマクロブロックになったときに利用される。
【００５１】
次に、図９、図１０は、図１のデコーダシステムのデブロッキングフィルタ３２によるフィルタ処理に伴うメモリ操作範囲を示している。図９は、図１のフィルタ処理部３０内のメモリ３３に内部保留され、また外部メモリから経路Ｒ３で読み込まれるデータを示しいる。現在のマクロブロックＣ−ＭＢから時間的に連続する直前のマクロブロックＬ−ＭＢ等の３マクロブロック（３ＭＢ）分と、上記オーバーラップスムージング処理された２ライン分とを含む範囲Ｋ１５のデータがメモリ３３に内部保留され、外部メモリからは、上部マクロブロックＡ−ＭＢ及びその直前のマクロブロックＬＡ−ＭＢの２マクロブロック（２ＭＢ）分から上記オーバーラップスムージング処理されて内部保留された部分を除く範囲Ｋ１６のデータが経路Ｒ３を介してメモリ３６に読み込まれる。この図９中の範囲Ｋ１５、Ｋ１６は、上記図３の範囲Ｍａ、Ｍｂにそれぞれ相当し、範囲Ｋ１５が３マクロブロック（３ＭＢ）＋４８画素×２ライン、範囲Ｋ１６が２マクロブロック（２ＭＢ）−３２画素×２ラインとなる。
【００５２】
図１０は、デブロッキングフィルタ処理後のメモリ操作範囲を示し、図中の破線の枠で囲った範囲Ｘdbは、デブロッキングフィルタ処理が完了した部分を示している。図１のデブロッキングフィルタ３２内のメモリ３５からは、上記デブロッキングフィルタ処理範囲Ｘdb及びその下部領域を含む範囲Ｋ１７（図１０中の斜線部）のデータが経路Ｗ４で外部メモリに書き出される。
【００５３】
図１１は、このような本発明の実施の形態のオーバーラップスムージング処理及びデブロッキングフィルタ処理におけるレイテンシを模式的に示す図である。図１１の（Ａ）は、図１の逆量子化／逆ＤＣＴ（ＩＱ／ＩＤＣＴ）モジュール１３から送られてきたデータ列を示し、マクロブロックＭＢ１をカレントマクロブロックＣ−ＭＢとしている。図１１の（Ｂ）は、図１１の（Ａ）のデータ列を内部バッファに書き込んだときのオーバーラップスムージング処理前のデータ列を示し、このときのレイテンシＬ１１は６４ピクセル（画素）分となる。この図７の（Ｂ）のデータ列をオーバーラップスムージング処理し、オーバーラップスムージングフィルタ３１のバッファに直接書き込めるため、図１１の（Ｃ）に示すオーバーラップスムージングフィルタ３１でのレイテンシＬ１２は、６４画素＋１マクロブロック（１ＭＢ）となる。
【００５４】
次に、デブロッキングフィルタ処理は、図１のオーバーラップスムージングフィルタ３１からメモリ３３を介して得られたデータ列に対してデブロッキングフィルタ３２により行われる。このとき、図１１の（Ｄ）に示すように、上述したデブロッキングフィルタ処理範囲のため、２マクロブロック（２ＭＢ）サイズのデータを内部メモリに保持する必要があるため、レイテンシＬ１３は上記オーバーラップスムージング処理後にさらに１マクロブロック（１ＭＢ）だけ必要となる。内部メモリに保持されたデータに対してデブロッキングフィルタ処が施されることによりレイテンシＬ１４だけ遅れた図１１の（Ｅ）のデータ列となり、図１１の（Ｆ）に示すタイミングで外部メモリに書き出しされる。
【００５５】
これらの図４〜図１１から明らかなように、本発明の実施の形態によれば、従来に比べて、システムが外部メモリにアクセスする頻度を削減することが可能となり、システムが外部メモリにアクセスするデータ量を削減することが可能となり、システムが外部メモリにアクセスするデータ量と頻度が削減されることで、システムの他のモジュールの外部メモリへのアクセス機会を増加することができ、全体としてのレイテンシの改善につながる。
【００５６】
次に、他の実施の形態として、モジュールにデータが送られて符号化を選別する手段において、インター符号化データと選別された場合、図１に示す破線のようにオーバーラップスムージングフィルタ３１にデータを送らず、直接デブロッキングフィルタ３２にデータを送ることによって、処理にかかるレイテンシを改善することも考えられる。
【００５７】
また他の実施の形態として、モジュール内部に構成されるデータの一時格納先を１つから複数で構成するパターンが存在する。
【００５８】
以上説明したような本発明の実施の形態によれば、図１に示すようなデコーダシステムにおいて、フィルタ処理部３０内の２つのフィルタ３１，３２間のデータの流れにおけるレイテンシが改善され、フィルタ処理部３０の内部のィルタ処理に必要な一時データを格納するメモリ３３を共通で利用できることになり、内部の格納手段（メモリ）のリソースの削減が実現できる。また、２つのフィルタ３１，３２において必要とされるパラメータデータなどを再利用する仕組みを取り入れることが可能となりモジュールを構成するリソースの削減とパラメーターデータへのアクセス量の削減も実現できる。また、フィルタ処理を行う前にイントラ符号化データとインター符号化データを加算するので、フィルタ処理を必要としないデータが送られてきた場合、後段のモジュールの構成次第によっては、フィルタモジュールをパスして最終的な復号画像を外部メモリに書き出す構成が可能となり、システム全体のレイテンシの改善が実現できる。また、上記の場合において、フィルタモジュールの電源をアダプティブにコントロールする仕組みを組み込むことでフィルタブロックの電源をオフにすることも可能となり、システムとしての消費電力の削減が可能となる。さらに、リアルタイムデコードを考えた場合、デブロッキングフィルタの処理に必要な画素データを用意するための構成において、事前に最適な形で内部キャッシュにデータを用意することが可能となり、デブロッキングフィルタの構成を簡素にすることが可能となる。
【００５９】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態の一例の概略構成を示すブロック図である。
【図２】本発明の実施の形態におけるオーバーラップスムージングフィルタ処理及びデブロッキングフィルタ処理に必要とされる画素範囲を示す図である。
【図３】オーバーラップスムージング処理される領域及びデブロッキングフィルタ処理される領域を示す図である。
【図４】従来のデコーダシステムのオーバーラップスムージングフィルタオーバーラップスムージング処理に伴うメモリ操作範囲を示す図である。
【図５】従来のデコーダシステムのデブロッキングフィルタにおけるフィルタ処理に伴うデータ読み出し時のメモリ操作範囲を示す図である。
【図６】従来のデコーダシステムのデブロッキングフィルタにおけるフィルタ処理に伴うデータ書き込み時のメモリ操作範囲を示す図である。
【図７】従来のオーバーラップスムージング処理及びデブロッキングフィルタ処理におけるレイテンシを模式的に示す図である。
【図８】従来のデコーダシステムのオーバーラップスムージングフィルタオーバーラップスムージング処理に伴うメモリ操作範囲を示す図である。
【図９】本発明の実施の形態のデコーダシステムのデブロッキングフィルタにおけるフィルタ処理に伴うデータ読み出し時のメモリ操作範囲を示す図である。
【図１０】本発明の実施の形態のデコーダシステムのデブロッキングフィルタにおけるフィルタ処理に伴うデータ書き込み時のメモリ操作範囲を示す図である。
【図１１】本発明の実施の形態のオーバーラップスムージング処理及びデブロッキングフィルタ処理におけるレイテンシを模式的に示す図である。
【図１２】従来の画像復号装置の概略構成を示すブロック図である。
【図１３】オーバーラップスムージング処理を説明するための図である。
【図１４】前段のモジュールからあるいは外部メモリから送られてくるデータの時系列を示す図である。
【図１５】デコードされた画像とオーバーラップスムージング処理及びデブロッキングフィルタ処理範囲と各マクロブロックとの関係を説明するための図である。
【図１６】オーバーラップスムージング処理の前後のメモリ操作範囲とマクロブロックとの関係を示す図である。
【図１７】カラー画像の場合のクロマ信号Ｃｂ，Ｃｒのマクロブロックのオーバーラップスムージング処理される範囲を示す図である。
【符号の説明】
【００６１】
１１  ビットストリーム構造解析モジュール、  １３  逆量子化／逆ＤＣＴモジュール、  ２２  動き補償モジュール、  ２３  制御部、  ２５  加算器、  ３０  フィルタ処理部、  ３１  オーバーラップスムージングフィルタ、  ３２  デブロッキングフィルタ、  ３３，３４，３５，３６  メモリ（ＳＲＡＭ）
【図１】
2008028553.tif 000003
【図２】
2008028553.tif 000004
【図３】
2008028553.tif 000005
【図４】
2008028553.tif 000006
【図５】
2008028553.tif 000007
【図６】
2008028553.tif 000008
【図７】
2008028553.tif 000009
【図８】
2008028553.tif 000010
【図９】
2008028553.tif 000011
【図１０】
2008028553.tif 000012
【図１１】
2008028553.tif 000013
【図１２】
2008028553.tif 000014
【図１３】
2008028553.tif 000015
【図１４】
2008028553.tif 000016
【図１５】
2008028553.tif 000017
【図１６】
2008028553.tif 000018
【図１７】
2008028553.tif 000019