(57)【要約】【課題】スキップマクロブロックと非スキップマクロブロックとが共存する動画像を、画質の劣化を抑えつつ違和感のない自然な動画像に補正する画像補正装置を提供する。【解決手段】入力される動画像の一つの対象とするフレーム画像またはフィールド画像を構成する複数のブロックの各々について、フレーム間またはフィールド間の画像の差分を用いる符号化方式によって該対象とするフレーム画像またはフィールド画像より前のフレーム画像またはフィールド画像の同位置のブロックの画像をコピーして復号するよう符号化されたブロックであるスキップブロックか、スキップブロックではない非スキップブロックか、の判定を行なう判定手段と、前記対象とするフレーム画像またはフィールド画像内で非スキップブロックに隣接するスキップブロックの画像を、該隣接する非スキップブロックの画像を用いて補正する補正手段と、を備える。【選択図】図１
2011044767.tif 000002
【特許請求の範囲】
【請求項１】
入力される動画像の一つの対象とするフレーム画像またはフィールド画像を構成する複数のブロックの各々について、フレーム間またはフィールド間の画像の差分を用いる符号化方式によって該対象とするフレーム画像またはフィールド画像より前のフレーム画像またはフィールド画像の同位置のブロックの画像をコピーして復号するよう符号化されたブロックであるスキップブロックか、スキップブロックではない非スキップブロックか、の判定を行なう判定手段と、
前記対象とするフレーム画像またはフィールド画像内で非スキップブロックに隣接するスキップブロックの画像を、該隣接する非スキップブロックの画像を用いて補正する補正手段と、
を備えることを特徴とする画像補正装置。
【請求項２】
前記補正手段は、前記隣接する非スキップブロックの、前記スキップブロックとの境界から所定範囲内にある画素を用いて、該スキップブロックの画像を補正することを特徴とする請求項１に記載の画像補正装置。
【請求項３】
前記補正手段は、前記スキップブロックと、該スキップブロックに隣接する非スキップブロックと、の境界における画像がエッジである場合、該非スキップブロックの画像を用いた該スキップブロックの画像の補正は行なわないことを特徴とする請求項１または２に記載の画像補正装置。
【請求項４】
入力される動画像の一つの対象とするフレーム画像またはフィールド画像を構成する複数のブロックの各々について、フレーム間またはフィールド間の画像の差分を用いる符号化方式によって該対象とするフレーム画像またはフィールド画像より前のフレーム画像またはフィールド画像の同位置のブロックの画像をコピーして復号するよう符号化されたブロックであるスキップブロックか、スキップブロックではない非スキップブロックか、を判定する判定手段と、
前記対象とするフレーム画像またはフィールド画像内のスキップブロックであって、該対象とするフレーム画像またはフィールド画像の直前または直後の少なくともいずれかのフレーム画像またはフィールド画像において該スキップブロックと同位置にあるブロックが非スキップブロックであるスキップブロックの画像を、該非スキップブロックの画像を用いて補正する補正手段と、
を備えることを特徴とする画像補正装置。
【請求項５】
前記符号化方式による符号化データを入力する入力手段を備え、
前記判定手段は、前記入力手段から入力される符号化データに含まれるスキップブロック識別情報を用いて、前記ブロックがスキップブロックか非スキップブロックかの判定を行なうことを特徴とする請求項１乃至４のいずれか１項に記載の画像補正装置。
【請求項６】
前記判定手段は、入力される動画像の前記対象とするフレーム画像またはフィールド画像を構成する複数のブロックのうちの或るブロックと、該対象とするフレーム画像またはフィールド画像より前のフレーム画像またはフィールド画像において該ブロックと同位置にあるブロックと、の間で、ブロック内で同位置にある画素どうしで画素値を比較し、該ブロックを構成する全ての画素について、該画素値が等しい場合に、該或るブロックはスキップブロックであると判定し、他の場合には、該或るブロックは非スキップブロックであると判定することを特徴とする請求項１乃至４のいずれか１項に記載の画像補正装置。
【請求項７】
動画像を入力する工程と、
前記入力される動画像の１つの対象とするフレーム画像またはフィールド画像を構成す
る複数のブロックの各々について、フレーム間またはフィールド間の画像の差分を用いる符号化方式によって該対象とするフレーム画像またはフィールド画像より前のフレーム画像またはフィールド画像の同位置のブロックの画像をコピーして復号するよう符号化されたブロックであるスキップブロックか、スキップブロックではない非スキップブロックか、の判定を行なう判定工程と、
前記対象とするフレーム画像またはフィールド画像内で非スキップブロックに隣接するスキップブロックの画像を、該隣接する非スキップブロックの画像を用いて補正する補正工程と、
を有することを特徴とする画像補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像の補正を行なう画像補正装置及び画像補正方法に関し、特にフレーム間またはフィールド間の画像の差分を用いる符号化方式で符号化された動画像の補正を行う補正装置及び補正方法に関するものである。
【背景技術】
【０００２】
動画像の圧縮符号化方式としてＭＰＥＧがある。ＭＰＥＧ方式では、動画像の各フレームの画像を複数のブロックに分割し、ブロックを単位にして動き補償やＤＣＴ変換、量子化等の符号化処理を行なう。ＭＰＥＧには、フレーム内で符号化を行なうＩピクチャ、フレーム間予測に基づき符号化を行なうＰピクチャ及びＢピクチャといった異なるピクチャタイプが用いられる。
【０００３】
フレーム間予測に基づく符号化では、複数のフレームにわたって同じ画像が続くマクロブロックが存在する場合、そのマクロブロックをスキップマクロブロックとして符号化することがある。スキップマクロブロックの復号時には、参照フレームのマクロブロックの画像をコピーするので、符号量の大幅な削減が可能である。
【０００４】
しかしながら、スキップマクロブロックが何フレームにもわたって連続すると、スキップマクロブロックの領域は動きが無く静止画のような状態となるので、スキップマクロブロックではない動きの有る領域が同一フレーム内に共存する場合不自然な動画像になる。
【０００５】
これに対し、特許文献１には、復号時に、スキップマクロブロックにフレーム毎に異なるノイズを重畳することで、スキップマクロブロックに動感をもたせ、視聴者が違和感を覚えにくい復号再生を行なう技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３２４９２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された技術では、スキップマクロブロックにノイズを重畳するので画質劣化を招く。特に原動画像のフレーム間差分がもともと小さく、重畳されるノイズのフレーム間差分の方が大きい場合、画質の劣化が顕著になる。
【０００８】
本発明は、スキップマクロブロックと非スキップマクロブロックと共存する動画像を、画質の劣化を抑えつつ違和感の少ない自然な動画像に補正する画像補正装置及び画像補正方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像補正装置は、
入力される動画像の一つの対象とするフレーム画像またはフィールド画像を構成する複数のブロックの各々について、フレーム間またはフィールド間の画像の差分を用いる符号化方式によって該対象とするフレーム画像またはフィールド画像より前のフレーム画像またはフィールド画像の同位置のブロックの画像をコピーして復号するよう符号化されたブロックであるスキップブロックか、スキップブロックではない非スキップブロックか、の判定を行なう判定手段と、
前記対象とするフレーム画像またはフィールド画像内で非スキップブロックに隣接するスキップブロックの画像を、該隣接する非スキップブロックの画像を用いて補正する補正手段と、
を備えることを特徴とする。
【００１０】
本発明の画像補正装置は、
入力される動画像の一つの対象とするフレーム画像またはフィールド画像を構成する複数のブロックの各々について、フレーム間またはフィールド間の画像の差分を用いる符号化方式によって該対象とするフレーム画像またはフィールド画像より前のフレーム画像またはフィールド画像の同位置のブロックの画像をコピーして復号するよう符号化されたブロックであるスキップブロックか、スキップブロックではない非スキップブロックか、を判定する判定手段と、
前記対象とするフレーム画像またはフィールド画像内のスキップブロックであって、該対象とするフレーム画像またはフィールド画像の直前または直後の少なくともいずれかのフレーム画像またはフィールド画像において該スキップブロックと同位置にあるブロックが非スキップブロックであるスキップブロックの画像を、該非スキップブロックの画像を用いて補正する補正手段と、
を備えることを特徴とする。
【００１１】
本発明の画像補正方法は、
動画像を入力する工程と、
前記入力される動画像の１つの対象とするフレーム画像またはフィールド画像を構成する複数のブロックの各々について、フレーム間またはフィールド間の画像の差分を用いる符号化方式によって該対象とするフレーム画像またはフィールド画像より前のフレーム画像またはフィールド画像の同位置のブロックの画像をコピーして復号するよう符号化されたブロックであるスキップブロックか、スキップブロックではない非スキップブロックか、の判定を行なう判定工程と、
前記対象とするフレーム画像またはフィールド画像内で非スキップブロックに隣接するスキップブロックの画像を、該隣接する非スキップブロックの画像を用いて補正する補正工程と、
を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、スキップマクロブロックと非スキップマクロブロックとが共存する動画像を、違和感の少ない自然な動画像に、画質の劣化を抑えつつ補正することができる。
【図面の簡単な説明】
【００１３】
【図１】実施例１に係る画像補正装置の構成を示すブロック図
【図２】実施例１のスキップマクロブロック検出処理を表すフローチャート
【図３】フレーム画像内のスキップマクロブロックの配置例を示す図
【図４】各スキップマクロブロックの補正情報を決定するフローチャート
【図５】スキップマクロブロックと非スキップマクロブロックの境界付近を示す図
【図６】同位置のマクロブロックのピクチャタイプの並びを示す図
【図７】実施例２に係る画像補正装置の構成を示すブロック図
【発明を実施するための形態】
【００１４】
（実施例１）
以下、本発明の実施例を図面を参照して説明する。図１は、本実施例に係る画像補正装置の概略構成を示すブロック図である。この画像補正装置１は、ＭＰＥＧ方式で符号化された動画像の符号化データ（ＭＰＥＧストリーム）の入力を受け、動画像への復号を行な
うとともに、復号した動画像に補正を加えて出力する装置である。この画像補正装置１は、ＤＶＤプレーヤやデジタルテレビ、デジタルビデオカメラ等の、ＭＰＥＧ方式の符号化データから動画像を復号するデバイスにおいて、復号した動画像を補正する用途に用いることができる。ＭＰＥＧ方式は、ＭＰＥＧ−１、ＭＰＥＧ−２またはＭＰＥＧ−４のいずれでも良い。なお符号化方式は、フレーム間差分に基づいて動画像の符号化を行なうものであって、フレーム間で近似する画像が続くマクロブロックをスキップマクロブロックとして符号化し、復号時に参照フレームの画像をコピーする方式のものであればＭＰＥＧに限らない。本実施例において、フレーム画像内のスキップマクロブロックが本発明における「フレーム画像内のスキップブロック」に相当する。本実施例において、マクロブロックは本発明における「ブロック」に相当し、スキップマクロブロックは本発明における「スキップブロック」に相当する。
【００１５】
図１に示すように、本実施例の画像補正装置１は、入力端子１０１、デコーダ回路１０２、メモリ１０３、スキップマクロブロック判定回路１０４、スキップマクロブロック情報メモリ１０５、補正回路１０６、出力端子１０７を有する。
【００１６】
入力端子１０１は、符号化データが入力される端子である。入力端子１０１としては、デジタルテレビに備えられ外部デバイスからの符号化データの入力を受けるデジタル端子を例示できる。デコーダ回路１０２は、入力端子１０１から入力される符号化データを復号して動画像を出力する。メモリ１０３は、デコーダ回路１０２で復号された動画像の画像データを記憶する。
【００１７】
＜スキップマクロブロック判定回路１０４＞
スキップマクロブロック判定回路１０４は、入力端子１０１からの符号化データの入力を受け、対象とするフレーム画像を構成する複数のマクロブロックの各々について、それがスキップマクロブロックであるか否かの判定を行なう。本実施例では、図３に示すように、一つのフレームを構成する画像が、水平方向１４ブロック及び垂直方向８ブロックの全１１２個のマクロブロックに分割されている場合を例に説明する。画像のブロック分割の数はこの例に限られないことは当然である。本実施例において、スキップマクロブロック判定回路１０４は、本発明における「判定手段」に相当する。
【００１８】
図２は、スキップマクロブロック判定回路１０４の処理を表すフローチャートである。この処理は入力端子１０１から新たなフレームの符号化データが入力される毎に開始され、当該フレームの画像を構成する全てのマクロブロックについての判定が完了すると終了する。
【００１９】
まず、処理ステップＳ２０１において、判定対象となるマクロブロックのアドレスを初期化する。なお、本実施例では、フレーム画像の最も左上から数えて水平方向にｘ番目、垂直方向にｙ番目の位置にあるマクロブロックのアドレスを［ｙ−１］［ｘ−１］と定める。フレーム画像の最も左上にあるマクロブロックのアドレスは［０］［０］である。水平方向のブロック分割数をＷｉｄｔｈ，垂直方向のブロック分割数をＨｅｉｇｈｔとすれば、フレーム画像の最も右下にあるマクロブロックのアドレスは［Ｈｅｉｇｈｔ−１］［Ｗｉｄｔｈ−１］となる。図３の例では、水平方向のブロック分割数Ｗｉｄｔｈ＝１４、垂直方向のブロック分割数Ｈｅｉｇｈｔ＝８であるから、最も右下にあるマクロブロックのアドレスは［７］［１３］である。判定対象となるマクロブロックのアドレスを初期化するとは、アドレス［０］［０］のマクロブロックを判定対象とすることを意味する。
【００２０】
次に処理ステップＳ２０２に進み、入力された符号化データから現在の判定対象となっているマクロブロックに関するスキップマクロブロック識別情報を読み込み、当該マクロブロックがスキップマクロブロックか否かの判定を行う。スキップマクロブロック識別情
報は符号化データのストリームに含まれる、当該マクロブロックがスキップマクロブロックとして符号化されたものか否かの情報であり、本発明における「スキップブロック識別情報」に相当する。すなわち、本実施例では、スキップマクロブロック識別情報は入力される符号化データから得られる。現在の判定対象のマクロブロックはスキップマクロブロックである判定した場合（Ｓ２０２：Ｙ）、処理ステップＳ２０３に進み、対象としたフレーム画像のアドレス［ｙ］［ｘ］におけるマクロブロックの判定情報であるＭＡＰ［ｙ］［ｘ］に「１」を格納する。ＭＡＰ［ｙ］［ｘ］の値は、図１のスキップマクロブロック情報メモリ１０５に記憶される。一方、現在の判定対象のマクロブロックはスキップマクロブロックではないと判定した場合（Ｓ２０２：Ｎ）、処理ステップＳ２０４に進み、判定情報ＭＡＰ［ｙ］［ｘ］に「０」を格納する。ＭＡＰ［ｙ］［ｘ］の値は、図１のスキップマクロブロック情報メモリ１０５に記憶される。
【００２１】
次に、処理ステップＳ２０５に進み、ステップＳ２０２で判定を行なったマクロブロックが、対象としたフレーム画像を構成する最後のマクロブロックか否かを判定する。ステップＳ２０２で判定を行なったマクロブロックのアドレス［ｙ］［ｘ］がｘ≧Ｗｉｄｔｈ且つｙ≧Ｈｅｉｇｈｔであれば、該マクロブロックが最後のマクロブロックと判定される。最後のマクロブロックであった場合（Ｓ２０５：Ｙ）は、本フローチャートの処理は終了する。一方、最後のマクロブロックではなかった場合（Ｓ２０５：Ｎ）は、マクロブロックのアドレス［ｙ］［ｘ］のいずれかをインクリメントし、処理ステップＳ２０２に戻る。なお、ここでは詳細を省略したが、実際には、例えば、まず水平方向アドレスｘを固定して垂直方向アドレスｙのみインクリメントしていく。そして、ｙ≧Ｈｅｉｇｈｔを満たした時点でアドレスｘをインクリメントするとともにアドレスｙを初期化し、再びアドレスｙのみインクリメントしていく、という処理を繰り返し、対象としたフレーム画像を構成する全マクロブロックについて判定を行なう。
【００２２】
＜スキップマクロブロック情報メモリ１０５＞
スキップマクロブロック情報メモリ１０５は、上述したように、スキップマクロブロック判定回路１０４による判定結果を判定情報ＭＡＰ［ｙ］［ｘ］に記憶する。スキップマクロブロック判定回路１０４による判定処理が完了すると、スキップマクロブロック情報メモリ１０５に記憶された判定情報ＭＡＰ［ｙ］［ｘ］に基づいて、図３に例示するようなスキップマクロブロック及び非スキップマクロブロックの分布が得られる。図３の例では、スキップマクロブロック情報メモリ１０５には１１２個の判定情報ＭＡＰ［ｙ］［ｘ］（０≦ｙ≦７、０≦ｘ≦１５）が記憶される。図３に例示した判定情報ＭＡＰ［ｙ］［ｘ］からは、対象としたフレーム画像の中央部に１０個のスキップマクロブロックが存在することがわかる。
【００２３】
復号時に、スキップマクロブロックの領域には、参照フレームの画像において該スキップマクロブロックと同位置にあるマクロブロックの画像がコピーされる。そのため、同位置にスキップマクロブロックが存在するフレームが何フレームにもわたって連続する場合、復号された動画像において、スキップマクロブロックの領域には変化が無く、静止画のような状態になる。このため、スキップマクロブロックと非スキップマクロブロックとがフレーム画像内で共存し、且つ非スキップマクロブロックにおいて画素値に変化がある場合、不自然な動画像となり、視聴者が違和感を覚える場合がある。これを解消するためにスキップマクロブロックと非スキップマクロブロックがフレーム画像内で共存する動画像を補正する処理について以下説明する。
【００２４】
＜補正回路１０６＞
補正回路１０６は、スキップマクロブロック情報メモリ１０５に記憶された判定情報ＭＡＰ［ｙ］［ｘ］に基づいて、メモリ１０３に記憶された画像の補正を行う。
【００２５】
＜スキップマクロブロックと非スキップマクロブロックとの隣接状態の検出＞
補正回路１０６における画像補正処理では、少なくとも１つの非スキップマクロブロックが隣接するスキップマクロブロックの画素に対して、該隣接する非スキップマクロブロックの画素を用いた補正を行なう。そのためにまず、各スキップマクロブロックについて、それに隣接する上下左右４個のマクロブロックが非スキップマクロブロックであるか否かの判定を行なう。そして、上下左右のどこに非スキップマクロブロックが隣接しているかの情報を補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］として記憶する。各スキップマクロブロックに対する補正処理は、この補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］に基づいて実行することになる。
【００２６】
まず、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］を取得する処理について、図４のフローチャートに基づいて説明する。
【００２７】
処理ステップＳ４０１において、判定対象となるマクロブロックのアドレス［ｙ］［ｘ］を初期化する。
【００２８】
次に、処理ステップＳ４０２に進み、現在の判定対象のマクロブロック（アドレス［ｙ］［ｘ］）の補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］を初期化する（Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］＝００００ｂを記憶する）。
【００２９】
次に、処理ステップＳ４０３では、現在の判定対象のマクロブロックがスキップマクロブロックか否かを判定する。この判定は、スキップマクロブロック情報メモリ１０５に記憶されている判定情報ＭＡＰ［ｙ］［ｘ］を読み込むことで行なう。判定対象のマクロブロックがスキップマクロブロックではない場合（ＭＡＰ［ｙ］［ｘ］＝０、Ｓ４０３：Ｎ）、処理ステップＳ４１６へ進む。一方、判定対象のマクロブロックがスキップマクロブロックである場合（ＭＡＰ［ｙ］［ｘ］＝１、Ｓ４０３：Ｙ）、処理ステップＳ４０４に進む。すなわち、非スキップマクロブロックの補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］＝００００ｂとなる。
【００３０】
ステップＳ４０４以降の処理によりスキップマクロブロックの補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］を求める。その概要を説明すると、以下のようになる。
【００３１】
（イ）判定対象のスキップマクロブロックの左隣が非スキップマクロブロックの場合、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］と０００１ｂのＯＲをとる。
（ロ）判定対象のスキップマクロブロックの上隣が非スキップマクロブロックの場合、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］と００１０ｂのＯＲをとる。
（ハ）判定対象のスキップマクロブロックの右隣が非スキップマクロブロックの場合、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］と０１００ｂのＯＲをとる。
（ニ）判定対象のスキップマクロブロックの下隣が非スキップマクロブロックの場合、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］と１０００ｂのＯＲをとる。
（ホ）判定対象のスキップマクロブロックの上下左右のいずれにも非スキップマクロブロックが隣接していない場合、すなわち上下左右に隣接するマクロブロックが全てスキップマクロブロックの場合、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］＝００００ｂとする。
【００３２】
上記の処理の具体的な実行手順を以下説明する。
まず、処理ステップＳ４０４では、判定対象のスキップマクロブロックの位置がフレーム画像の左端か否かを判定する。判定対象のスキップマクロブロックが左端である場合（ｘ＝０、Ｓ４０４：Ｎ）、処理ステップＳ４０７に進む。一方、判定対象のスキップマクロブロックが左端でない場合（ｘ＞０、Ｓ４０４：Ｙ）、処理ステップＳ４０５に進む。
【００３３】
処理ステップＳ４０５では、判定対象のスキップマクロブロックの左隣のマクロブロック（アドレス［ｙ］［ｘ−１］）がスキップマクロブロックか否かを判定する。左隣のマクロブロックがスキップマクロブロックの場合（ＭＡＰ［ｙ］［ｘ−１］＝１、Ｓ４０５：Ｎ）、処理ステップＳ４０７へ進む。一方、左隣のマクロブロックがスキップマクロブロックでない場合（ＭＡＰ［ｙ］［ｘ−１］＝０、Ｓ４０５：Ｙ）、処理ステップＳ４０６へ進む。
【００３４】
処理ステップＳ４０６では、判定対象のスキップマクロブロックの補正情報であるＣｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］と０００１ｂでＯＲをとり、処理ステップＳ４０７へ進む。なお、図４のフローチャートにおいて記号「｜＝」はビット和をとることを表す演算子である。
【００３５】
処理ステップＳ４０７では、判定対象のスキップマクロブロックの位置がフレーム画像の上端か否かを判定する。判定対象のスキップマクロブロックが上端である場合（ｙ＝０、Ｓ４０７：Ｎ）、処理ステップＳ４１０に進む。一方、判定対象のスキップマクロブロックが上端でない場合（ｙ＞０、Ｓ４０７：Ｙ）、処理ステップＳ４０８に進む。
【００３６】
処理ステップＳ４０８では、判定対象のスキップマクロブロックの真上のマクロブロック（アドレス［ｙ−１］［ｘ］）がスキップマクロブロックか否かを判定する。真上のマクロブロックがスキップマクロブロックの場合（ＭＡＰ［ｙ−１］［ｘ］＝１、Ｓ４０８：Ｎ）、処理ステップＳ４１０へ進む。一方、真上のマクロブロックがスキップマクロブロックでない場合（ＭＡＰ［ｙ−１］［ｘ］＝０、Ｓ４０８：Ｙ）、処理ステップＳ４０９へ進む。
【００３７】
処理ステップＳ４０９では、判定対象のスキップマクロブロックの補正情報であるＣｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］と００１０ｂでＯＲをとり、処理ステップＳ４１０へ進む。
【００３８】
処理ステップＳ４１０では、判定対象のスキップマクロブロックの位置がフレーム画像の右端か否かを判定する。判定対象のスキップマクロブロックが右端である場合（ｘ＝Ｗｉｄｔｈ−１、Ｓ４１０：Ｎ）、処理ステップＳ４１３に進む。一方、判定対象のスキップマクロブロックが右端でない場合（ｘ＜Ｗｉｄｔｈ−１、Ｓ４１０：Ｙ）、処理ステップＳ４１１に進む。
【００３９】
処理ステップＳ４１１では、判定対象のスキップマクロブロックの右隣のマクロブロック（アドレス［ｙ］［ｘ＋１］）がスキップマクロブロックか否かを判定する。右隣のマクロブロックがスキップマクロブロックの場合（ＭＡＰ［ｙ］［ｘ＋１］＝１、Ｓ４１１：Ｎ）、処理ステップＳ４１３へ進む。一方、右隣のマクロブロックがスキップマクロブロックでない場合（ＭＡＰ［ｙ］［ｘ＋１］＝０、Ｓ４１１：Ｙ）、処理ステップＳ４１２に進む。
【００４０】
処理ステップＳ４１２では、判定対象のスキップマクロブロックの補正情報であるＣｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］と０１００ｂでＯＲをとり、処理ステップＳ４１３へ進む。
【００４１】
処理ステップＳ４１３では、判定対象のスキップマクロブロックの位置がフレーム画像の下端か否かを判定する。判定対象のスキップマクロブロックが下端である場合（ｙ＝Ｈｅｉｇｈｔ−１、Ｓ４１３：Ｎ）、処理ステップＳ４１６に進む。一方、判定対象のスキップマクロブロックが下端でない場合（ｙ＜Ｈｅｉｇｈｔ−１、Ｓ４１３：Ｙ）、処理ステップＳ４１４に進む。
【００４２】
処理ステップＳ４１４では、判定対象のスキップマクロブロックの真下のマクロブロック（アドレス［ｙ＋１］［ｘ］）がスキップマクロブロックか否かを判定する。真下のマクロブロックがスキップマクロブロックの場合（ＭＡＰ［ｙ＋１］［ｘ］＝１、Ｓ４１４：Ｎ）、処理ステップＳ４１６へ進む。一方、真下のマクロブロックがスキップマクロブロックでない場合（ＭＡＰ［ｙ＋１］［ｘ］＝０、Ｓ４１４：Ｙ）、処理ステップＳ４１５に進む。
【００４３】
処理ステップＳ４１５では、判定対象のスキップマクロブロックの補正情報であるＣｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］と１０００ｂでＯＲをとり、処理ステップＳ４１６へ進む。
【００４４】
処理ステップＳ４１６では、水平方向アドレスｘをインクリメントし、処理ステップＳ４１７へ進む。なお、図４のフローチャートにおいて記号「＋＋」はインクリメントすることを表す。
【００４５】
処理ステップＳ４１７では、水平方向アドレスｘが水平方向のブロック数に達していないか否かを判定する。ｘが水平方向のブロック数に達していない場合（ｘ＜Ｗｉｄｔｈ、Ｓ４１６：Ｎ）は、処理ステップＳ４１９へ進む。一方、ｘが水平方向のブロック数に達している場合（ｘ≧Ｗｉｄｔｈ、Ｓ４１６：Ｙ）は、処理ステップＳ４１８へ進む。
【００４６】
処理ステップＳ４１８では、垂直方向アドレスｙをインクリメントし、水平方向アドレスｘを０として、処理ステップＳ４１９へ進む。
【００４７】
処理ステップＳ４１９では、垂直方向アドレスｙが垂直方向のブロック数に達していないか否かを判定する。ｙが垂直方向のブロック数に達していない場合（ｙ＜Ｈｅｉｇｈｔ、Ｓ４１９：Ｙ）は、処理ステップＳ４０２に戻り、処理を続ける。一方、ｙが垂直方向のブロック数に達している場合（ｙ≧Ｈｅｉｇｈｔ、Ｓ４１９：Ｎ）は、処理を終了する。
【００４８】
以上説明した処理により、非スキップマクロブロック及び上下左右のいずれにおいても非スキップマクロブロックに隣接していないスキップマクロブロックの補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］＝００００ｂとなる。それ以外の、上下左右の少なくともいずれかにおいて非スキップマクロブロックと隣接しているスキップマクロブロックの補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］≠００００ｂとなる。本実施例では、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］≠００００ｂであるマクロブロックが補正処理の対象となる。
【００４９】
上述したように、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］の値は、注目するスキップマクロブロックが上下左右のどこで非スキップマクロブロックと隣接しているか、という隣接状態に応じた値となる。よって、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］に基づく画像補正を行なうことにより、スキップマクロブロックと非スキップマクロブロックとの隣接状態を反映させた補正処理を行うことができる。
【００５０】
＜スキップマクロブロックの補正＞
次に、補正処理の方法を説明する。以下の説明では、１つのマクロブロックの画素構成を１６ドット×１６ドットとする。図５はフレーム画像のある一部におけるスキップマクロブロックと非スキップマクロブロックとの境界付近の画素を例示す図である。図５において、太線はスキップマクロブロックＡと隣接する非スキップマクロブロックＨ及び非スキップマクロブロックＶとの境界を示す。このスキップマクロブロックＡは少なくとも上と左で非スキップマクロブロックに隣接しているので、補正処理の対象となる。図５において１つの矩形が１つ画素を表し、画素に付された符号Ｍ［ｊ］［ｉ］は、マクロブロックの名前及び画素のアドレスを表す。マクロブロックの最も左上の画素から数えて水平方
向ｉ番目、垂直方向ｊ番目の画素のアドレスは［ｊ−１］［ｉ−１］となる。マクロブロックにおける最も左上の画素のアドレスは［０］［０］となる。本実施例の場合、水平方向アドレスｉ及び垂直方向アドレスｊの範囲は、０≦ｉ≦１５、０≦ｊ≦１５である。
【００５１】
＜エッジの検出＞
ここで、本実施例の画像補正装置では、補正堀の対象と判定されたスキップマクロブロックであっても、該スキップマクロブロックとそれに隣接する非スキップマクロブロックの境界がエッジ画像である場合は、該スキップマクロブロックの画像補正を行わない。
【００５２】
そのため、まずスキップマクロブロックとそれに隣接する非スキップマクロブロックとの境界におけるエッジ画像の有無の判定を行なう。本実施例におけるエッジ判定では、境界において隣接するスキップマクロブロックの画素と非スキップマクロブロックの画素との画素値どうしの差分絶対値を計算する。差分絶対値が所定の閾値Ｔｈｒ１より大きい隣接画素対が、隣接境界における全ての隣接画素対の半数以上ある場合に、当該境界にエッジ画像が有ると判定する。
【００５３】
図５で隣接するスキップマクロブロックＡと非スキップマクロブロックＨとの境界については、マクロブロックＡの画素Ａ［０］［ｉ］とマクロブロックＨの画素Ｈ［１５］［ｉ］に関して、次の式を満たすｉ（０≦ｉ≦１５）が８個以上あれば、エッジと判定する。
|H[15][i] - A[0][i]|＞Thr1
【００５４】
また、隣接するスキップマクロブロックＡと非スキップマクロブロックＶとの境界については、マクロブロックＡの画素Ａ［ｊ］［０］とマクロブロックＶの画素Ｖ［ｊ］［１５］に関して、次の式を満たすｊ（０≦ｊ≦１５）が８個以上あれば、エッジと判定する。
|V[j][15] - A[j][0]|＞Thr1
【００５５】
図５には図示していないが、スキップマクロブロックＡの右や下に非スキップマクロブロックが隣接する場合にも、同様の方法で境界にエッジ画像の有無を判定する。なお、上記のエッジ検出方法は一例であり、Ｓｏｂｅｌフィルタ等の他のエッジ検出方法を用いることもできる。
【００５６】
＜スキップマクロブロックの画素補正＞
次に、隣接する非スキップマクロブロックとの境界にエッジ画像が検出されなかったスキップマクロブロックに対して行なう補正処理について説明する。図５において、スキップマクロブロックＡとそれに隣接する非スキップマクロブロックＨ及びＶとの境界にはエッジ画像が検出されなかったとする。
【００５７】
補正処理の概要は、スキップマクロブロックの画素に、該スキップマクロブロックに隣接する非スキップマクロブロックの、該スキップマクロブロックとの境界付近の所定範囲内にある画素の画素値を、加算する。本実施例ではまず、境界付近に存在する、非スキップマクロブロックの複数の画素の加重平均を計算し、これを非スキップマクロブロックの境界付近の画素の情報を反映する情報（境界付近画素情報という）として以降の処理で用いる。そして、この隣接する非スキップマクロブロックの境界付近画素情報をスキップマクロブロックの画素に加算することにより、スキップマクロブロックの画素の補正値を得る。
【００５８】
＜境界付近画素情報の算出＞
本実施例では、スキップマクロブロックとの境界付近に存在する、非スキップマクロブ
ロックの４個の画素の加重平均に、該非スキップマクロブロックの境界付近画素情報を算出する。この４個の画素は、図５に示すように、境界に隣接する画素及び境界に直交する方向でそれに続く３個の該非スキップマクロブロックの画素である。また、スキップマクロブロックに上下に隣接する非スキップマクロブロックの境界付近画素情報については、水平方向のアドレス［ｉ］毎に算出し、左右に隣接する非スキップマクロブロックの境界付近画素情報については、垂直方向のアドレス［ｊ］毎に算出する。
【００５９】
例えば、スキップマクロブロックＡの上に隣接する非スキップマクロブロックＨの、水平方向アドレスｉにおける境界付近画素情報Ｈ［ｉ］は、以下の式で算出する。
H[i] = (a*H[15][i] + b*H[14][i] + c*H[13][i] + d*H[12][i]) / (a+b+c+d)
【００６０】
すなわち、境界に隣接する非スキップマクロブロックＨの画素Ｈ［１５］［ｉ］及び境界に直交する方向でそれに続く３個の非スキップマクロブロックＨの画素Ｈ［１４］［ｉ］、Ｈ［１３］［ｉ］及びＨ［１２］［ｉ］の加重平均である。加重平均の係数ａ，ｂ，ｃ，ｄは、境界に近いほど大きい値に定められる（ａ＞ｂ＞ｃ＞ｄ）。例えば、ａ＝４，ｂ＝３，ｃ＝２，ｄ＝１とする。境界付近画素情報Ｈ［ｉ］は、水平方向の各アドレスｉ（０≦ｉ≦１５）について算出する。図５には、境界付近画素情報Ｈ［ｉ］の算出に用いられる非スキップマクロブロックＨの画素を図示している。但し、図面が煩雑になるのを避けるために一部の範囲（水平方向のアドレス０≦ｉ≦７）のみ記載している。
【００６１】
同様に、スキップマクロブロックＡの左に隣接する非スキップマクロブロックＶの、垂直方向アドレスｊにおける境界付近画素情報Ｖ［ｊ］は、以下の式で算出する。
V[j] = (a*V[j][15] + b*H[j][14] + c*H[j][13] + d*H[j][12]) / (a+b+c+d)
【００６２】
すなわち、境界に隣接する非スキップマクロブロックＶの画素Ｖ［ｊ］［１２］及び境界に直交する方向でそれに続く３個の非スキップマクロブロックＶの画素Ｖ［ｊ］［１３］、Ｖ［ｊ］［１４］及びＶ［ｊ］［１５］の加重平均である。加重平均の係数はＨ［ｉ］の場合と同様に定める。境界付近画素情報Ｖ［ｊ］は、垂直方向の各アドレスｊ（０≦ｊ≦１５）について算出する。図５には、境界付近画素情報Ｖ［ｊ］の算出に用いられる非スキップマクロブロックＶの画素を図示している。但し、図面が煩雑になるのを避けるために一部の範囲（垂直方向のアドレス０≦ｊ≦７）のみ記載している。
【００６３】
＜スキップマクロブロックの画素の補正＞
次に、上記算出した隣接する非スキップマクロブロックの境界付近画素情報Ｈ［ｉ］，Ｖ［ｊ］を用いて、スキップマクロブロックＡの各画素Ａ［ｊ］［ｉ］を補正する。本実施例では、画素Ａ［ｊ］［ｉ］と、隣接する全ての非スキップマクロブロックの境界付近画素情報との加重平均により、画素Ａ［ｊ］［ｉ］の補正値Ａ’［ｊ］［ｉ］を算出する。詳細には、画素Ａ［ｊ］［ｉ］の補正値は、上または下に隣接する非スキップマクロブロックの水平方向アドレスｉにおける境界付近画素情報と、左または右に隣接する非スキップマクロブロックの垂直方向アドレスｊにおける境界付近画素情報を用いて算出する。図５の例では、画素Ａ［ｊ］［ｉ］と、上に隣接する非スキップマクロブロックＨの水平方向アドレスｉの境界付近画素情報Ｈ［ｉ］と、左に隣接する非スキップマクロブロックＶの垂直方向アドレスｊの境界付近画素情報Ｖ［ｊ］と、の加重平均を計算する。加重平均の係数は、画素Ａ［ｊ］［ｉ］から境界までの距離ｎに応じて定められる係数ｄ［ｎ］を用いる。距離ｎは、画素Ａ［ｊ］［ｉ］から、隣接する非スキップマクロブロックとの境界までの画素数である。例えば、画素Ａ［ｊ］［ｉ］から、上に隣接する非スキップマクロブロックＨとの境界までの距離ｎ＝ｊ＋１、左に隣接する非スキップマクロブロックＶとの境界までの距離ｎ＝ｉ＋１となる。係数ｄ［ｎ］は、境界に近いほど大きくなるように定める（ｄ［ｎ］＞ｄ［ｎ＋１］）。以上より、図５の例のように上と左に非スキップマクロブロックが隣接するスキップマクロブロックＡの画素Ａ［ｊ］［ｉ］の補正値Ａ
’［ｊ］［ｉ］を算出する式は、以下のようになる。
A'[j][i] = (d[0]*A[j][i] + d[j+1]*H[i] + d[i+1]*V[j]) / (d[0] + d[j+1] + d[i+1])
【００６４】
更に、スキップマクロブロックＡの右や下にも非スキップマクロブロックが隣接している場合も、同様の考え方でスキップマクロブロックＡの画素Ａ［ｊ］［ｉ］の補正値を算出する。例えば、上下左右の全てに非スキップマクロブロックが隣接する場合、下に隣接する非スキップマクロブロックをＨ’、右に隣接する非スキップマクロブロックをＶ’とすれば、境界付近画素情報Ｈ’［ｉ］，Ｖ’［ｊ］は、それぞれ以下のようになる。
H'[i] = (a*H[0][i] + b*H[1][i] + c*H[2][i] + d*H[3][i]) / (a+b+c+d)
V'[j] = (a*V[j][0] + b*H[j][1] + c*H[j][2] + d*H[j][3]) / (a+b+c+d)
【００６５】
画素Ａ［ｊ］［ｉ］から下に隣接する非スキップマクロブロックＨ’との境界までの距離ｎ＝１５−ｊ＋１、右に隣接する非スキップマクロブロックＶ’との境界までの距離ｎ＝１５−ｉ＋１であるから、補正値Ａ’［ｊ］［ｉ］を算出する式は以下のようになる。A'[j][i] = (d[0]*A[j][i] + d[j+1]*H[i] + d[i+1]*V[j] + d[15-j+1]*H'[i] + d[15-i+1]*V'[j]) / (d[0] + d[j+1] + d[i+1] + d[15-j+1] + d[15-i+1])
【００６６】
上下左右のどこに非スキップマクロブロックが隣接しているかは、図４の処理で算出した補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］を参照して判定できる。すなわち、
（イ）Corr_info[y][x] & 0001b が 0 でない場合、左隣のマクロブロックＶは非スキッ
プマクロブロックであり、マクロブロックＶのアドレス範囲12≦i≦15, 0≦j≦15の画素
を用いて境界付近画素情報V[j]を算出する。
（ロ）Corr_info[y][x] & 0010b が 0 でない場合、上隣のマクロブロックＨは非スキッ
プマクロブロックであり、マクロブロックＨのアドレス範囲0≦i≦15, 12≦j≦15の画素
を用いて境界付近画素情報H[i]を算出する。
（ハ）Corr_info[y][x] & 0100b が 0 でない場合、右隣のマクロブロックＶ’は非スキ
ップマクロブロックであり、マクロブロックＶ’のアドレス範囲0≦i≦3, 0≦j≦15の画
素を用いて境界付近画素情報V'[j]を算出する。
（ニ）Corr_info[y][x] & 1000b が 0 でない場合、下隣のマクロブロックＨ’は非スキ
ップマクロブロックであり、マクロブロックＨ’のアドレス範囲0≦i≦15, 0≦j≦3の画
素を用いて境界付近画素情報H'[i]を算出する。
【００６７】
なお、「＆」はビット積を表す。また、非スキップマクロブロックではないと判定される隣接マクロブロックについては、境界付近画素情報を０にするようにすれば、常に上記の式で補正値Ａ’［ｊ］［ｉ］を算出することができる。すなわち、
（イ’）Corr_info[y][x] & 0001b が 0 の場合、左隣は非スキップマクロブロックでは
ないので、V[j] = 0 (j=0,1,…,15)とする。
（ロ’）Corr_info[y][x] & 0010b が 0 の場合、上隣は非スキップマクロブロックでは
ないので、H[i] = 0 (i=0,1,…,15)とする。
（ハ’）Corr_info[y][x] & 0100b が 0 の場合、右隣は非スキップマクロブロックでは
ないので、V'[j] = 0 (j=0,1,…,15)とする。
（ニ’）Corr_info[y][x] & 1000b が 0 の場合、下隣は非スキップマクロブロックでは
ないので、H'[i] = 0 (i=0,1,…,15)とする。
【００６８】
なお、以上の説明では、スキップマクロブロックとの境界から４画素分の非スキップマクロブロックの画素を用いてスキップマクロブロックの画素の補正値を算出する例を説明したが、補正値の算出に用いる隣接非スキップマクロブロック画素数はこれに限らない。隣接する非スキップマクロブロックの画素を、境界からｍ画素分用いてスキップマクロブロックの画素の補正値を算出する場合、補正値の算出に用いられる非スキップマクロブロックのアドレスの範囲は以下のように一般化できる。
（イ）左の隣接非スキップマクロブロックＶの境界付近画素情報Ｖ［ｊ］の算出に用いるアドレス範囲は、15-m+1≦i≦15, 0≦j≦15
（ロ）上の隣接非スキップマクロブロックＨの境界付近画素情報Ｈ［ｉ］の算出に用いるアドレス範囲は、0≦i≦15, 15-m+1≦j≦15
（ハ）右の隣接非スキップマクロブロックＶ’の境界付近画素情報Ｖ’［ｊ］の算出に用いるアドレス範囲は、0≦i≦m-1, 0≦j≦15
（ニ）下の隣接非スキップマクロブロックＨ’の境界付近画素情報Ｈ’［ｉ］の算出に用いるアドレス範囲は、0≦i≦15, 0≦j≦m-1
【００６９】
補正値の算出に用いる隣接非スキップマクロブロックの画素数ｍは、該非スキップマクロブロックと注目するスキップマクロブロックとの境界における輝度値の差分絶対値または色差の差分絶対値に基づく可変値としても良い。
【００７０】
本実施例の補正処理により、スキップマクロブロックの画素は隣接する非スキップマクロブロックの画素を用いて補正されるので、スキップマクロブロックと非スキップマクロブロックとがフレーム内で隣接している場合であっても、両者の差異を低減できる。従って、フレーム間予測に基づいてスキップマクロブロックを用いた符号化がなされた動画像を、視聴者に違和感を与えにくい自然な動画像に補正することができる。さらに、スキップマクロブロックの画素の補正は、動画像と無関係なノイズではなく、隣接する非スキップマクロブロックの画素に基づいて行なわれるので、補正処理に起因する画質の劣化を極力抑制することが可能である。従って、本実施例の画像補正装置によれば、スキップマクロブロックと非スキップマクロブロックとがフレーム内に共存する動画像を、違和感の少ない自然な動画像に、画質の劣化を抑えつつ補正することが可能となる。以上説明した本実施例の補正処理を実行する補正回路１０６が、本発明における「補正手段」に相当する。
【００７１】
（変形例）
以上説明した補正処理は、スキップマクロブロックと非スキップマクロブロックとがフレーム内の距離で隣接している動画像を、当該隣接部分における違和感を低減した動画像に補正する処理であった。本発明は、スキップマクロブロックと非スキップマクロブロックとがフレーム間の距離で隣接している動画像の補正にも好適に適用できる。フレーム間の距離とは、すなわち時間的な距離である。フレーム間の距離で隣接しているとは、すなわちスキップマクロブロックがあるフレームの直前または直後のフレームに非スキップマクロブロックがあることを意味する。スキップマクロブロックを含むフレームが連続した後、該スキップマクロブロックの位置が非スキップマクロブロックとなったフレームが現われると、しばらく静止画のような状態だった領域が突然異なる画像に変化するので、視聴者が違和感を覚える場合がある。そこで、非スキップマクロブロックと時間的に隣接するスキップマクロブロックについて、該スキップマクロブロックの画素を、該隣接する非スキップマクロブロックの画素を用いて補正する。これにより、スキップマクロブロックの画像と非スキップマクロブロックの画像との差異を軽減することができる。従って、スキップマクロブロックを含むフレームから非スキップマクロブロックを含むフレームへの移行時に当該マクロブロックの画像が突然異なる画像に変化するような不自然さを補正できる。
【００７２】
例えば、ＭＰＥＧ符号化においては、フレーム内圧縮をするＩピクチャ、後方フレーム間予測を行なうＰピクチャ、双方向フレーム間予測を行なうＢピクチャを用いて符号化を行なう。図６は、あるマクロブロックのピクチャタイプの時間的な並びを例示した図である。図６において時間の流れは左から右とする。一般にＢピクチャは参照画像として用いないため、Ｐピクチャよりも符号量が少なく、量子化係数は大きい。そのため、マクロブロックは、Ｂピクチャではスキップマクロブロックとして符号化され、次に現われるＰピ
クチャで非スキップマクロブロックとして符号化されることがある。このような符号化データを復号すると、図６のＩピクチャ及び２枚のＢピクチャではマクロブロックの画像は同一画像となり、Ｐピクチャになったときに別の画像となる。そのため、３フレームにわたって同一だった画像が４フレーム目で急に変化することになり、視聴者に違和感を覚えさせる可能性がある。
【００７３】
そこで、ＢピクチャのスキップマクロブロックがＩピクチャの非スキップマクロブロックとＰピクチャの非スキップマクロブロックとに挟まれている場合、これらの非スキップマクロブロックの画素を用いてＢピクチャのスキップマクロブロックを補正する。この場合、補正対象のＢピクチャとＩピクチャやＰピクチャとの時間的な距離に応じた重み付けによってＩピクチャやＰピクチャの非スキップマクロブロックの画素を該Ｂピクチャのスキップマクロブロックの画素に加算する。加算の仕方は、上記実施例で説明したのと同様の加重平均を用いることができる。加重平均の係数は、スキップマクロブロックを含むＢピクチャフレームと、非スキップマクロブロックを含むＩピクチャフレームやＰピクチャフレームと、の時間的な距離が近いほど大きい値となるように定めることができる。
【００７４】
図６の例では、左側のＢピクチャのスキップマクロブロックには、Ｉピクチャの非スキップマクロブロックの画素がＰピクチャの非スキップマクロブロックの画素より多めに加算される。右側のＢピクチャのスキップマクロブロックには、Ｐピクチャの非スキップマクロブロックの画素がＩピクチャの非スキップマクロブロックの画素より多めに加算される。このようにしてＢピクチャの非スキップマクロブロックを補正することにより、ＢピクチャからＰピクチャへのフレームの切り換わり時にマクロブロックの画像が突然変化しないようにすることができる。これにより、スキップマクロブロックと非スキップマクロブロックとが時間的に隣接する動画像を、違和感の少ない自然な動画像に、画質の劣化を抑えつつ補正することが可能となる。
【００７５】
ただし、Ｐピクチャの非スキップマクロブロックに動きがある場合、該非スキップマクロブロックの画像を得るためには動きベクトルの情報が必要となる。図１の構成では、動きベクトルを取得する構成が無いため、Ｐピクチャの非スキップマクロブロックに動きがある場合は、Ｐピクチャの非スキップマクロブロックの画素を用いたＢピクチャのスキップマクロブロックの画素の補正は行なわないものとする。
【００７６】
（実施例２）
本発明の第２の実施例を説明する。図７は、本実施例に係る画像補正装置７の概略構成を示すブロック図である。この画像補正装置７は、映像信号の入力を受け、入力される映像信号を補正して出力する装置である。この画像補正装置７は、デジタルテレビやポータブルプレーヤのような動画像を表示するデバイスにおいて、映像信号を補正する用途や、既存の動画像を新たな動画像に変換する用途等に用いることができる。入力される映像信号はＭＰＥＧによる符号化データを復号したものに限られず、任意の映像信号で良い。
【００７７】
図７に示すように、本実施例の画像補正装置７は、入力端子７０１、メモリ１０３、スキップブロック判定回路７０４、スキップブロック情報メモリ７０５、補正回路１０６、出力端子１０７を有する。メモリ１０３、補正回路１０６及び出力端子１０７は実施例１の画像補正装置１と同じであるから、同一の符号及び名称を用い、詳細な説明を割愛する。
【００７８】
実施例１に係る画像補正装置１との相違点は、入力端子７０１は、実施例１の入力端子１０１のようにＭＰＥＧ符号化データが入力される端子ではなく、映像信号が入力される端子である点である。本実施例では、メモリ１０３は、入力端子７０１から入力される映像信号の画像データを記憶する。
【００７９】
スキップブロック判定回路７０４は、入力端子７０１からの映像信号の入力を受け、入力される映像信号の対象とするフレーム画像の中からスキップブロックを検出する。本実施例でも実施例１と同様に画像処理の単位としてフレームを用いた例で説明する。スキップブロック判定回路７０４は、入力される映像信号の対象とするフレーム画像を所定の画素構成（例えば１６ドット×１６ドット）のブロックにより分割する。そして、対象とするフレーム画像を構成する複数のブロックのうちの或るブロックと、該対象とするフレームより前のフレームの画像において該ブロックと同位置にあるブロックと、の間で、ブロック内で同位置にある画素どうしで画素値を比較する。比較した２つのブロック間で、ブロックを構成する全ての画素について、ブロック内で同位置にある画素どうしで画素値が等しい場合、比較した２つのブロックのうち前記対象とするフレーム画像を構成するブロックをスキップブロックと判定する。その他の場合、すなわち、比較した２つのブロック間で、ブロック内で同位置にある画素どうしで画素値の異なる画素が１つでもある場合、比較した２つのブロックのうち前記対象とするフレーム画像を構成するブロックを非スキップブロックと判定する。このような処理によって、対象とするフレーム画像を構成する全てのブロックについて、そのブロックがスキップブロックか否かの判定を行ない、判定結果をスキップブロック情報メモリ７０５に記憶する。このようにして、入力される映像信号の各フレームについて、フレーム画像を構成するブロックのアドレス［ｙ］［ｘ］と、該アドレスにおけるブロックがスキップブロックか非スキップブロックかの情報が、判定情報ＭＡＰ［ｙ］［ｘ］に記憶される。
【００８０】
以降の処理は実施例１と同様である。すなわち、スキップブロック情報メモリ７０５に保存された判定情報ＭＡＰ［ｙ］［ｘ］に基づいて、非スキップブロックに空間的または時間的に隣接するスキップブロックに対して、隣接する非スキップブロックの画素を用いた補正を行なう。空間的に隣接するとは、１つのフレームの画像内でスキップブロックと非スキップブロックとが隣接していることを意味する。空間的な隣接の仕方には、実施例１で説明したように上下左右の４通りがあり、実施例１の図４と同様の処理によって、各スキップブロックについて非スキップブロックとの隣接状態を判定し、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］として記憶する。そして、補正情報Ｃｏｒｒ＿ｉｎｆｏ［ｙ］［ｘ］に基づいて、隣接する非スキップブロックの画素を補正処理対象のスキップブロックの画素に加算することにより、スキップブロックの画素の補正値を得る。時間的に隣接するとは、スキップブロックと非スキップブロックとが隣り合う２つのフレームの同一位置にあることを意味する。スキップブロックと非スキップブロックとが時間的に隣接する場合の補正方法も実施例１と同様である。
【００８１】
本実施例の画像補正装置７によれば、ＭＰＥＧストリームのような符号化データを参照することができない映像信号に対しても、スキップブロックと非スキップブロックとの隣接部分における不自然さを解消することが可能となる。
【００８２】
実施例１及び２は、フレーム画像を構成する複数のブロックのうち、非スキップブロックに、フレーム画像内で隣接するスキップブロックや、フレーム間で隣接するスキップブロックについて、該非スキップブロックの画素を用いて補正する実施例であった。本発明は、フィールド画像間差分に基づいて動画像の符号化を行なう符号化方式によって、フィールド間で近似する画像が続くブロックがスキップブロックとして符号化された動画像の補正にも適用できる。その場合、フィールド画像を構成する複数のブロックのうち、非スキップブロックに、フィールド画像内で隣接するスキップブロックや、フィールド間で隣接するスキップブロックについて、該非スキップブロックの画素を用いて補正する。これにより、スキップブロックが何フィールドにもわたって連続する場合であっても、当該スキップブロックとそのフィールド内距離的又はフィールド間時間的近傍にある非スキップブロックに対する違和感が軽減され、自然な動画像を得ることができる。
【符号の説明】
【００８３】
１０４・・・スキップマクロブロック判定回路、１０６・・・補正回路
【図１】
2011044767.tif 000003
【図２】
2011044767.tif 000004
【図３】
2011044767.tif 000005
【図４】
2011044767.tif 000006
【図５】
2011044767.tif 000007
【図６】
2011044767.tif 000008
【図７】
2011044767.tif 000009