(57)【要約】【課題】  ブロック境界をはさんで隣接する画素間の歪とブロック境界から遠い画素間の歪とを、それぞれの歪の性質に応じて検出及び補正する動画像復号化装置を提供する。【解決手段】  ブロック境界をはさんで隣接する画素の画素値の差と、その境界をはさんで隣接するブロックの量子化係数とから、上記画素の画素値の補正が必要であるか否かを判断し（ステップＳ３２ｃ）、必要と判断された場合、それらの画素の画素値を補正する（ステップＳ３２ｄ）。また、ブロック境界と直交する画素列の画素値の最大値と最小値との差と、それらの画素が属するブロックの量子化係数とから、上記ブロック境界と直交する画素列の画素値の補正が必要であるか否かを判断し（ステップＳ３２ｅ）、必要と判断された場合、それらの画素の画素値を補正する（ステップＳ３２ｆ）。【選択図】  図４
2008011435.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素を含むブロックに分割され、それらの分割されたブロックが周波数成分係数に変換され、その変換された係数が量子化され符号化されたフレームを復号して復号画像を作成する復号手段と、
前記復号手段によって作成された復号画像の前記ブロックの境界をはさんで隣接する第１の画素と、第２の画素との画素値を補正するブロック境界補正手段とを有し、
前記ブロック境界補正手段は、前記第１の画素の画素値と、前記第２の画素の画素値との差を算出し、その算出された差が所定の値を超え、かつ、その差が前記第１の画素が含まれるブロックが符号化された際の量子化係数及び前記第２の画素が含まれるブロックが符号化された際の量子化係数の非減少関数で算出される境界エッジ閾値未満である場合、前記第１の画素の画素値及び／または前記第２の画素の画素値に対し、前記差を減少させる補正を行う
ことを特徴とする動画像復号化装置。
【請求項２】
複数の画素を含むブロックに分割され、それらの分割されたブロックが周波数成分係数に変換され、その変換された係数が量子化され符号化されたフレームを復号して復号画像を作成する復号手段と、
前記復号手段によって作成された復号画像の前記ブロックに属する画素であって、前記ブロックの第１の境界と直交する画素列に含まれる画素の画素値を補正するブロック内補正手段とを有し、
前記ブロック内補正手段は、前記画素列に含まれる画素の画素値に基づいて、前記画素列に含まれる画素の画素値を補正する
ことを特徴とする動画像復号化装置。
【請求項３】
前記ブロックの第１の境界と直交する画素列は、その第１の境界に接する画素を含み、かつ、前記ブロックの前記第１の境界と異なる第２の境界に接する画素を含まず、
前記ブロック内補正手段は、前記ブロックの第１の境界に接する画素の画素値を補正せず、かつ、前記ブロックの前記第１の境界及び前記第２の境界の略中央に位置する画素の画素値を補正する
ことを特徴とする請求項２に記載の動画像復号化装置。
【請求項４】
前記ブロック内補正手段は、前記画素列に含まれる画素の画素値の中の最大値と最小値との差を算出し、その算出された差が所定の値を超え、かつ、その差が前記ブロックが符号化された際の量子化係数の非減少関数で算出されるブロック内エッジ閾値未満である場合、前記画素列に含まれる画素の画素値に対して、前記差を減少させる補正をする
ことを特徴とする請求項２に記載の動画像復号化装置。
【請求項５】
前記ブロック内補正手段は、前記画素列に含まれる画素の画素値を前記画素列に含まれる所定の画素の画素値の平均値で置き換えて補正する
ことを特徴とする請求項２に記載の動画像復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像復号化装置に係り、特に、デブロッキングフィルタ処理に関する。
【背景技術】
【０００２】
動画像を符号化する場合、その動画像を所定の時間間隔で切り出したフレームと称される静止画を符号化する。フレームの符号化には、そのフレームを所定の大きさのブロックに分割し、それぞれのブロックを、直交変換して周波数成分を示す係数を得る。例えば、離散コサイン変換（ＤＣＴ）し、離散コサイン変換係数を得る。そして、得られた係数を量子化して符号化する。
【０００３】
そのため、符号化されたフレームを復号して得られた復号画像において、隣り合うブロックの画素で、ブロック境界をはさん隣接する２つの画素間に量子化に起因する歪（符号化前のフレームの画素値には存在しなかった画素値の不連続。）が発生することがある。
【０００４】
この歪を補正するため、デブロッキングフィルタ処理が行われている。即ち、ブロック境界を挟んだ２つの画素の間に歪が存在するか否かを検出し、歪が検出された場合、ブロック境界をはさんだ比較的少数の画素の画素値に対してＤＣオフセット補正またはローパスフィルタを適用した補正をする処理が知られている。
【０００５】
また、ブロックの符号化に際し、参照画像との差分の符号化、例えば、直前に切り出されたフレーム内の画像であって、ブロックと同じ大きさの画像との差分を符号化する動き予測付きフレーム間符号化が行われている。フレーム間符号化されたフレームを復号して得られた復号画像において、ブロック境界から遠い画素間においても、歪が存在することがある。
【０００６】
この歪は、そのブロックの符号化に際して参照した参照画像のブロック境界に存在した歪に起因するものである。そこで、このブロック境界から遠い画素間の歪を補正するため、ブロック全体に及んでローパスフィルタを適用することが知られている（例えば、特許文献１参照。）。
【特許文献１】特表２００２−５３１９７１号公報（第２−２５頁、図４、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１に開示されている方法では、ブロック全体の歪を補正するためには、ブロック全体に及ぶタップが長いローパスフィルタを適用する必要があり、処理が複雑になり、また補正された復号画像にぼけが発生する問題点があった。
【０００８】
本発明は上記問題点を解決するためになされたもので、ブロック境界をはさんで隣接する画素間の歪とブロック境界から遠い画素間の歪とを、それぞれの歪の性質に応じて検出及び補正する動画像復号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の動画像復号化装置は、複数の画素を含むブロックに分割され、それらの分割されたブロックが周波数成分係数に変換され、その変換された係数が量子化され符号化されたフレームを復号して復号画像を作成する復号手段と、前記復号手段によって作成された復号画像の前記ブロックの境界をはさんで隣接する第１の画素と、第２の画素との画素値を補正するブロック境界補正手段とを有し、前記ブロック境界補正手段は、前記第１の画素の画素値と、前記第２の画素の画素値との差を算出し、その算出された差が所定の値を超え、かつ、その差が前記第１の画素が含まれるブロックが符号化された際の量子化係数及び前記第２の画素が含まれるブロックが符号化された際の量子化係数の非減少関数で算出される境界エッジ閾値未満である場合、前記第１の画素の画素値及び／または前記第２の画素の画素値に対し、前記差を減少させる補正を行うことを特徴とする。
【００１０】
また、本発明の動画像復号化装置は、複数の画素を含むブロックに分割され、それらの分割されたブロックが周波数成分係数に変換され、その変換された係数が量子化され符号化されたフレームを復号して復号画像を作成する復号手段と、前記復号手段によって作成された復号画像の前記ブロックに属する画素であって、前記ブロックの第１の境界と直交する画素列に含まれる画素の画素値を補正するブロック内補正手段とを有し、前記ブロック内補正手段は、前記画素列に含まれる画素の画素値に基づいて、前記画素列に含まれる画素の画素値を補正することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ブロック境界をはさんで隣接する画素間の歪とブロック境界から遠い画素間の歪とを、それぞれの歪の性質に応じて検出及び補正する動画像復号化装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明による動画像復号化装置の実施の形態を、図面を参照して説明する。
【００１３】
図１は、本発明の実施形態に係る動画像復号化装置の構成を示すブロック図である。この動画像復号化装置は、符号化データ記憶部１１と、動画像復号部２１と、表示時間記憶部２２と、量子化係数記憶部２３と、復号画像バッファ部２４と、ポストフィルタ部３１と、表示画像バッファ部４１と、タイマー部４２と、画像表示制御部４３と、ディスプレイ表示部４４とからなる。
【００１４】
図２は、ポストフィルタ部３１の構成を示すブロック図である。このポストフィルタ部３１は、ポストフィルタ部３１の各部を制御するポストフィルタ制御部３２と、復号画像バッファ部２４と接続され、また、表示画像バッファ部４１と接続されるローカルバッファ部３３と、量子化係数記憶部２３と接続されるブロック境界エッジ判定部３４と、ブロック境界補正部３５と、量子化係数記憶部２３と接続されるブロック内エッジ判定部３６と、ブロック内補正部３７とからなる。
【００１５】
上記のように構成された、本発明の実施形態に係る動画像復号化装置の各部の動作を図１及び図２を参照して説明する。
【００１６】
符号化データ記憶部１１には、符号化された動画像が記憶される。なお、符号化データ記憶部１１には、１つの動画像の全てが記憶されていると限るものではない。受信部（図示せず）によって受信された動画像が記憶される動作と、後述する動画像復号部２１による復号動作が並行して行われても良い。
【００１７】
動画像復号部２１は、符号化データ記憶部１１に記憶された符号化された動画像を１フレーム毎に取り込み、復号する。そして、１フレームの復号によって得られた復号画像を表示する時刻を示す情報を表示時間記憶部２２に記憶させる。ここで、復号画像を表示する時刻は、例えば、復号する動画像の表示が開始されてからの経過時間によって示されるが、これに限るものではない。
【００１８】
また、動画像復号部２１は、復号によって得られた復号画像の各ブロックの符号化にあたって用いられた量子化係数を量子化係数記憶部２３に記憶させる。更に、動画像復号部２１は、復号によって得られた復号画像を復号画像バッファ部２４に記憶させる。なお、フレーム間符号化されたフレームを復号する場合、動画像復号部２１は、復号画像バッファ部２４に記憶された過去に復号された復号画像を参照画像として参照する。
【００１９】
ポストフィルタ部３１は、復号画像バッファ部２４に記憶された復号画像毎に、量子化係数記憶部２３に記憶された、その復号画像の各ブロックの符号化にあたって用いられた量子化係数を参照してデブロッキングフィルタ処理を施し、画素間の歪を補正する。そして、歪が補正された復号画像を表示画像バッファ部４１に記憶させる。なお、後述するように、ポストフィルタ部３１は、ある画素の画素値に複数回の補正を施すことがある。その際、ポストフィルタ部３１は、２回目以降の補正に際して表示画像バッファ部４１に記憶された、既に歪が少なくとも１回補正された復号画像の画素値を用いる。
【００２０】
タイマー部４２は、表示画像バッファ部４１に記憶された動画像の表示が開始されてからの経過時間を常に示す。画像表示制御部４３は、タイマー部４２が示す時間と、表示時間記憶部２２に記憶された時間とを参照し、表示画像バッファ部４１に記憶された復号画像毎に、その復号画像を表示する時刻であるか否かを判断する。
【００２１】
そして、表示する時刻であると判断された場合、画像表示制御部４３は、その復号画像を識別する情報、例えば、その復号画像が表示画像バッファ部４１に記憶されているアドレスをディスプレイ表示部４４に送って、その復号画像を切り替え表示させる。また、その復号画像を表示画像バッファ部４１から取り込んで、所定のフレームメモリに書き込むことによって表示させても良い。
【００２２】
ディスプレイ表示部４４は、画像表示制御部４３によって送られた復号画像を識別する情報を受けて、その情報で識別される復号画像を表示画像バッファ部４１から得て、表示する。または、所定のフレームメモリに書き込まれた画像を表示する。
【００２３】
なお、この動画像復号化装置がテレビ電話などの実時間で通信を行う通信装置に適用された場合、動画像復号化装置は、表示時間記憶部２２及びタイマー部４２を有さず、画像表示制御部４３は、ポストフィルタ部３１によって歪が補正された復号画像が表示画像バッファ部４１に記憶される度に、その復号画像をディスプレイ表示部４４に表示させても良い。
【００２４】
次に、ポストフィルタ部３１の各部の動作を説明する。ローカルバッファ部３３には、復号画像バッファ部２４に記憶された復号された１つの復号画像の１つのブロック境界をはさんで隣接する２つのブロックの画素であって、そのブロック境界と直交する画素列の画素であり、かつ、そのブロック境界の近傍にある画素の画素値が記憶される。これは、ポストフィルタ部３１の各部は、復号画像をブロッキングフィルタ処理する際、１つのブロック境界毎に、その境界と直交する画素列の画素間の歪の補正をするので、上記各部が一時に用いる情報が記憶されるとしているからであるが、これに限るものではない。なお、この境界と直交する画素列については、後に詳述する。
【００２５】
ブロック境界エッジ判定部３４は、ローカルバッファ部３３に記憶されたブロック境界と直交する画素列の画素の中で、ブロック境界をはさんで隣接する画素の画素値に補正が必要か否かを判定する。この判定にあたり、ブロック境界エッジ判定部３４は、量子化係数記憶部２３に記憶された上記境界をはさんで隣接するブロックの符号化に用いられた量子化係数から算出されたブロック境界エッジ検出閾値と、ローカルバッファ部３３に記憶された上記隣接する画素の画素値とを参照する。
【００２６】
ブロック境界補正部３５は、ブロック境界エッジ判定部３４によって上記画素の画素値に補正が必要と判断された場合、上記画素値を補正する。そして、補正された画素値をローカルバッファ部３３に更新記憶させる。
【００２７】
ブロック内エッジ判定部３６は、ローカルバッファ部３３に記憶された境界と直交する画素列の画素を上記境界に隣接する２つのブロックのいずれの属するかによって二分し、二分されたそれぞれの画素に対して、上記境界に隣接していない画素の画素値に補正が必要か否かを判定する。
【００２８】
この判定にあたり、ブロック内エッジ判定部３６は、量子化係数記憶部２３に記憶された量子化係数であって、画素が属するブロックの符号化に用いられた量子化係数から算出されたブロック内エッジ検出閾値と、ローカルバッファ部３３に記憶された上記境界と直交する画素の画素値とを参照する。
【００２９】
ブロック内補正部３７は、ブロック内エッジ判定部３６によって補正が必要と判断された画素の画素値を補正する。そして、補正された画素値をローカルバッファ部３３に更新記憶させる。
【００３０】
以下、本実施形態に係る動画像復号化装置のポストフィルタ部３１によって行われる歪の検出及び補正の動作を説明する。
【００３１】
ポストフィルタ部３１によって行われる歪の検出及び補正の動作は、１つの復号画像の１つのブロック境界をはさんで隣接する２つのブロックの画素であって、そのブロック境界と直交する画素列の画素であり、かつ、そのブロック境界の近傍にある画素毎に行われる。ここで、このブロック境界と直交する画素列の画素であり、かつ、そのブロック境界の近傍にある画素とは、ブロック境界をはさんで隣接する２つの画素と、それらの２つの画素からなる画素列を上記２つのブロックの略中央に延長した画素列の画素である。
【００３２】
図３を参照して、上記ブロック境界と直交する画素列を具体的に説明する。図３は、左側の第１のブロックＢ１及び右側の第２のブロックＢ２がブロック境界Ｌをはさんで隣接している例を示す。ここで、第１のブロックＢ１及び第２のブロックＢ２を含む、全てのブロックは８×８画素からなるとする。そして、第１のブロックＢ１の上から３番目の画素Ｄ１１及び第２のブロックＢ２の上から３番目の画素Ｄ２１がブロック境界Ｌに隣接している画素の例である。
【００３３】
上記左側の第１のブロックＢ１の画素Ｄ１１、その画素Ｄ１１から左へ順次隣接する画素Ｄ１２、Ｄ１３、Ｄ１４、Ｄ１５、Ｄ１６、上記右側の第２のブロックＢ２の画素Ｄ２１、及びその画素Ｄ２１から右へ順次隣接する画素Ｄ２２、Ｄ２３、Ｄ２４、Ｄ２５、Ｄ２６が、上記ブロック境界と直交する画素列の具体例である。これらの画素Ｄ１１〜Ｄ１６、Ｄ２１〜Ｄ２６は、ブロック境界Ｌに対して直交する位置にある１２画素の列である。そして、これらの画素Ｄ１１〜Ｄ１６、Ｄ２１〜Ｄ２６は、ブロック境界Ｌの近傍にある。
【００３４】
ここで、近傍にあるとは、この画素列は、少なくとも第１のブロックＢ１のブロック境界Ｌと異なる他の境界、即ち、第１のブロックＢ１の左のブロック境界に隣接する画素を含まないことを意味する。また、この画素列は、少なくとも第２のブロックＢ２のブロック境界Ｌと異なる他の境界、即ち、第２のブロックＢ２の右のブロック境界に隣接する画素を含まないことを意味する。
【００３５】
ここで、図３では、縦方向のブロック境界Ｌを例にとって説明したが、ポストフィルタ部３１は、縦方向及び横方向の全てのブロック境界を対象とする。そして、それぞれのブロック境界に直交する８通りのブロック境界と直交する画素列の画素、即ち、１２画素を対象に歪の検出及び補正の動作を行う。
【００３６】
ポストフィルタ制御部３２は、以上説明した全ての対象となるブロック境界に関して、そのブロック境界と直交する全ての画素列に対して歪の検出及び補正の動作が行われるように、ポストフィルタ部３１の各部を制御する。なお、歪の検出及び補正の動作をいずれのブロック境界に関して先に行い、いずれのブロック境界に関して後に行うかは、任意である。後述するように、ローカルバッファ部３３へ画素値を取り込む動作を減らすように制御しても良い。
【００３７】
次に、ブロック境界と直交する画素列として、図３に示す画素Ｄ１１〜Ｄ１６、Ｄ２１〜Ｄ２６を例にとり、歪の検出及び補正の動作の詳細を説明する。
【００３８】
図４は、ポストフィルタ制御部３２によるブロック境界と直交する画素列に対して行われる歪の検出及び補正の制御動作を示すフローチャートである。
【００３９】
ポストフィルタ制御部３２は、ブロック境界と直交する１つの画素列に対する歪の検出及び補正の制御動作を開始し（ステップＳ３２ａ）、復号画像バッファ部２４に記憶された復号画像であって、ブロック境界と直交する画素列の画素Ｄ１１〜Ｄ１６、Ｄ２１〜Ｄ２６の画素値をローカルバッファ部３３に取り込む（ステップＳ３２ｂ）。
【００４０】
次に、ポストフィルタ制御部３２は、ブロック境界エッジ判定部３４を制御して、ブロック境界Ｌに隣接する画素Ｄ１１、Ｄ２１の画素値に補正が必要か否かを判定させる（ステップＳ３２ｃ）。
【００４１】
ブロック境界エッジ判定部３４は、ブロック境界Ｌに隣接する画素Ｄ１１、Ｄ２１の画素値の差と、量子化係数記憶部２３に記憶された第１のブロックＢ１の量子化係数と、第２のブロックＢ２の量子化係数とを平均した値から算出されるブロック境界エッジ検出閾値との大小を比較する。
【００４２】
この比較の結果、上記差が上記閾値未満であれば、符号化前のフレームのブロック境界Ｌにはエッジが存在しない、即ち、ブロック境界エッジは、検出されないと判断する。一方、上記差が上記閾値以上であれば、ブロック境界Ｌには、符号化前のフレームに存在したエッジが重なっている、即ち、ブロック境界エッジは、検出されたと判断する。
【００４３】
ここで、上記ブロック境界エッジ検出閾値は、上記平均された量子化係数の非減少関数であり、量子化係数がより大きければ、ブロック境界エッジは、検出されないと判断され易い。この結果、後述するように、ブロック境界Ｌに隣接する画素Ｄ１１、Ｄ２１の画素値は補正され易い。これは、量子化係数がより大きければ、歪がより生じ易いので、補正をすることが適切と判断されるからである。
【００４４】
ステップＳ３２ｃで、ブロック境界エッジは検出されないと判断された場合、ブロック境界エッジ判定部３４は、ブロック境界補正部３５を制御して、ブロック境界Ｌに隣接する画素Ｄ１１、Ｄ２１の画素値を補正させる（ステップＳ３２ｄ）。即ち、ブロック境界補正部３５は、画素Ｄ１１、Ｄ２１の画素値の差を減少させる補正を行う。例えば、図５に示すように、この２つの画素値の平均値を算出し、画素Ｄ１１、Ｄ２１の２つの画素値をその算出された平均値で置き換える補正を行う。ブロック境界補正部３５は、補正が施された画素値をローカルバッファ部３３に更新記憶させる。
【００４５】
また、２つの画素値の平均値の算出に際し、ブロック境界補正部３５は、それぞれの画素値に重み付けの上で平均値を算出しても良い。ここで、重みは、符号化に用いられた量子化係数が小さいブロックに属する画素の画素値に重く、符号化に用いられた量子化係数が大きいブロックに属する画素の画素値に軽く付ける。符号化に用いられた量子化係数が小さいブロック程、符号化前の画素値を変化が少なく示していると考えられるからである。
【００４６】
なお、画素Ｄ１１、Ｄ２１の画素値の差が所定の値以下の場合、ブロック境界補正部３５は、補正を行わない（図示せず）。例えば、上記差がない、即ち、差が０の場合である。また、上記差が画素値を示す数の最低の単位である場合である。
【００４７】
次に、ポストフィルタ制御部３２は、ブロック内エッジ判定部３６を制御して、第１のブロックＢ１の内部にあって、ブロック境界と直交する画素列の画素Ｄ１１〜Ｄ１６にエッジがあるか否かを検出させ、更に、第２のブロックＢ２の内部にあって、ブロック境界と直交する画素列の画素Ｄ２１〜Ｄ２６にエッジがあるか否かを検出させる（ステップＳ３２ｅ）。
【００４８】
ブロック内エッジ判定部３６は、この検出に際し、量子化係数記憶部２３に記憶されたブロックの量子化係数から算出されたブロック内エッジ検出閾値と、ローカルバッファ部３３に記憶されたブロック境界と直交する画素列の画素値を参照する。
【００４９】
即ち、ブロック内エッジ判定部３６は、第１のブロックＢ１内にエッジがあるか否かを検出する際、第１のブロックＢ１の画素であって、ブロック境界と直交する画素列の画素、即ち、図３に示す例では、画素Ｄ１１〜Ｄ１６の画素値の最大値と最小値との差を求め、その差と、量子化係数記憶部２３に記憶された第１のブロックＢ１が符号化された際の量子化係数から算出されるブロック内エッジ検出閾値との大小を比較する。
【００５０】
そして、その差がブロック内エッジ検出閾値未満であれば、ブロック内エッジ判定部３６は、第１のブロックＢ１内にはエッジが検出されないと判断する。それらの画素には、高周波成分は含まれていないと判断されるからである。一方、上記差がブロック内エッジ検出閾値以上であれば、第１のブロックＢ１内にはエッジが検出されたと判断する。それらの画素には、高周波成分が含まれていると判断されるからである。
【００５１】
ここで、上記ブロック内エッジ検出閾値は、上記量子化係数の非増加関数であり、量子化係数がより大きければ、ブロック内エッジは、検出されないと判断され易い。この結果、後述するように、ブロック境界と直交する画素列の画素であって、第１のブロックＢ１内の画素Ｄ１２〜Ｄ１５の画素値は補正され易い。また、量子化係数がより小さければ、ブロック内エッジは、検出されたと判断され易く、上記画素値は補正され難い。
【００５２】
これは、量子化係数がより大きければ、歪がより生じ易いので、補正をすることが適切と判断されるからである。また、量子化係数がより小さければ、上記画素に含まれている高周波成分を保存するために、補正をしないことが適切と判断されるからである。
【００５３】
なお、ブロック内エッジ判定部３６は、画素Ｄ１１〜Ｄ１６の画素値の最大値と最小値との差を参照してエッジ検出の動作を行うとしたが、これに限るものではない。例えば、画素Ｄ１１〜Ｄ１６の中で隣接する画素の画素値の差分を算出し、その差分の１つ、または、複数が大きい場合、エッジが検出されたと判断しても良い。
【００５４】
ブロック内エッジ判定部３６による第２のブロックＢ２内にエッジがあるか否かを検出する動作は、上記説明した第１のブロックＢ１内にエッジがあるか否かを検出する動作と同様であり、詳細な説明を省略する。相違点は、ブロック境界と直交する画素列の画素のうち、第１のブロックＢ１の画素Ｄ１１〜Ｄ１６の画素値に代えて、第２のブロックＢ２の画素Ｄ２１〜Ｄ２６の画素値を用い、第１のブロックＢ１が符号化された際の量子化係数に代えて第２のブロックＢ２が符号化された際の量子化係数を用いることである。
【００５５】
ステップＳ３２ｅで第１のブロックＢ１内にエッジが検出されないと判断された場合、または、第２のブロックＢ２のブロック境界Ｌの近傍にエッジが検出されないと判断された場合、ブロック内エッジ判定部３６は、ブロック内補正部３７を制御して、エッジが検出されないと判断されたブロック内のブロック境界と直交する画素列の画素であって、ブロック境界と接しない画素の画素値を補正させる（ステップＳ３２ｆ）。
【００５６】
第１のブロックＢ１内にエッジが検出されないと判断された場合、ブロック内補正部３７は、図５に示すように、ブロック境界Ｌに隣接する画素Ｄ１１から画素Ｄ１４までの４つの画素の画素値の平均を算出して第１の平均値を求め、ブロック境界Ｌから２番目の画素Ｄ１２の画素値と、３番目の画素Ｄ１３の画素値とを求められた第１の平均値で置き換えることにより、補正する。
【００５７】
更に、ブロック内補正部３７は、ブロック境界Ｌから３番目の画素Ｄ１３から６番目の画素Ｄ１６までの４つの画素の画素値の平均を算出して第２の平均値を求め、ブロック境界Ｌから４番目の画素Ｄ１４の画素値と、５番目の画素Ｄ１５の画素値を求められた第２の平均値で置き換えることにより、補正する。ブロック内補正部３７は、補正が施された画素値をローカルバッファ部３３に更新記憶させる。
【００５８】
なお、ここで４つの値の平均値の算出を２回行うとしたが、これに限るものではない。画素Ｄ１１の画素値と画素Ｄ１２の画素値との第３の平均値と、画素Ｄ１３の画素値と画素Ｄ１４の画素値との第４の平均値と、画素Ｄ１５の画素値と画素Ｄ１６の画素値との第５の平均値とをまず算出するとしても良い。これらの３つの平均値が算出された場合、第１の平均値は、第３の平均値と第４の平均値との平均値として算出され、第２の平均値は、第４の平均値と第５の平均値との平均値として算出される。この方法によれば、２つの値の平均値の算出で足り、演算量の削減が可能である。
【００５９】
なお、上記ブロック境界と直交する画素列の画素の画素値の最大値と最小値との差が所定の値以下の場合、ブロック内エッジ判定部３６は、補正を行わない（図示せず）。例えば、上記差がない、即ち、差が０の場合である。また、上記差が画素値を示す数の最低の単位である場合である。
【００６０】
なお、以上の説明では、ブロック内補正部３７は、２つの画素の画素値を同じ値で置き換えて補正するとした。即ち、画素Ｄ１２と、画素Ｄ１３との画素値を同じ値で置き換え、画素Ｄ１４と、画素Ｄ１５との画素値を同じ値で置き換えるとしたが、これに限るものではない。例えば、画素Ｄ１１〜Ｄ１６の画素値の変化がなだらかな場合、３つ以上の画素の画素値を同じ値で置き換えて補正するとしても良い。
【００６１】
第２のブロックＢ２内にエッジが検出されないと判断された場合、ブロック内補正部３７は、第２のブロックＢ２の画素Ｄ２２〜Ｄ２５の画素値を補正するが、この補正の動作は、上記第１のブロックＢ１内にエッジが検出されないと判断された場合の動作と同様であり、詳細な説明を省略する。相違点は、画素Ｄ１１〜Ｄ１６の画素値に代えて、画素Ｄ２１〜Ｄ２６の画素値を参照することと、画素Ｄ１２〜Ｄ１５の画素値に代えて、画素Ｄ２２〜Ｄ２５の画素値を補正することである。
【００６２】
ステップＳ３２ｆの動作が終了した場合、ステップＳ３２ｅで、第１のブロックＢ１内にエッジが検出され、かつ、第２のブロックＢ２内にエッジが検出されたと判断された場合、及び、ステップＳ３２ｃで、ブロック境界エッジは検出されたと判断された場合、ポストフィルタ制御部３２は、ローカルバッファ部３３に記憶された画素値を表示画像バッファ部４１に書き込んで（ステップＳ３２ｇ）、ブロック境界と直交する画素列の画素の画素値の補正の制御動作を終了する（ステップＳ３２ｈ）。ここで、ローカルバッファ部３３に記憶された画素値は、補正が施されている場合もあり、補正が施されていない場合もある。
【００６３】
なお、フレームの左上隅のブロックの左上の略４分の１の画素、フレームの右上隅のブロックの右上の略４分の１の画素、フレームの左下隅のブロックの左下の略４分の１の画素、及びフレームの右下隅のブロックの右下の略４分の１の画素の画素値は、補正の対象ではない。そこで、ポストフィルタ制御部３２は、上記画素値の補正処理とは関係なく、それらの画素の画素値を復号画像バッファ部２４から取り込んで、表示画像バッファ部４１に書き込む（図示せず）。
【００６４】
ここで、ブロック境界と直交する画素列に対して行われる補正によって、そのブロック境界に隣接するブロックの画素であって、そのブロック境界側の略半分の画素が補正される。図３に示す例を参照すると、ブロック境界Ｌの近傍にある第１のブロックＢ１の画素Ｄ１１〜Ｄ１５の画素値が補正されることによって、第１のブロックＢ１の略右半分の画素間の歪が補正される。また、ブロック境界Ｌの近傍にある第２のブロックＢ２の画素Ｄ２１〜Ｄ２５の画素値が補正されることによって、第２のブロックＢ２の略左半分の画素間の歪が補正される。
【００６５】
そして、あるブロックが復号画像の４辺に接してしない場合、そのブロックは、上のブロック境界と直交する画素列に対する補正によって上の略半分の画素が補正の対象となり、下のブロック境界と直交する画素列に対する補正によって下の略半分の画素が補正の対象となる。同様に、左のブロック境界と直交する画素列に対する補正によって左の略半分の画素が補正の対象となり、右のブロック境界と直交する画素列に対する補正によって右の略半分の画素が補正の対象となる。
【００６６】
なお、既に補正済みの画素の画素値をローカルバッファ部３３に取り込む場合、ポストフィルタ制御部３２は、その画素値を表示画像バッファ部４１から取り込む。また、取り込むべき画素の画素値が既にローカルバッファ部３３に記憶されていれば、取り込む動作は不要であり、処理量の減少が可能であることは言うまでもない。
【００６７】
そのため、あるブロックの４方のブロック境界に関して続けて歪の検出及び補正の動作をしても良い。また、あるブロックの４方のブロック境界に関する動作の後、そのブロックに隣接するブロックの３方のブロック境界に関して続けて歪の検出及び補正の動作をしても良い。ここで、隣接するブロックの１つのブロック境界に関する動作は、終了しているから、３方のブロック境界に関する動作となる。
【００６８】
このように、本発明の実施形態に係るポストフィルタ部３１の補正によれば、少ない演算量によって、あるブロックの上下左右の略半分の画素を対象に４回の補正がされ得ることにより、そのブロックの中心部に発生した歪であっても補正することができる。
【００６９】
また、例えば、あるブロックの上のブロック境界と直交する画素列に対する補正によって補正の対象となる画素は、ブロックの上の略半分の画素である。そのため、ブロックの略上半分に発生した歪によってブロックの下の略半分の画素の画素値が補正されることによる過度の補正が行われることがない。また、その補正は、画素値の平均値を算出することによって行われるので、少ない演算量で行われる。
【００７０】
図６は、第１のブロックＢ１の画素Ｄ１１〜Ｄ１５及び第２のブロックＢ２の画素Ｄ２１の画素値の補正を例に、上記説明した本発明の実施形態に係る補正と、３タップフィルタによる補正との対比を示す。まず、補正前の画素値を細線で示す。即ち、画素Ｄ２１の画素値が最高で、画素Ｄ１１の画素値が最高値よりやや低く、画素Ｄ１２、Ｄ１３の画素値は、画素Ｄ１１の画素値と等しい。画素Ｄ１４の画素値は、画素Ｄ１３の画素値より大きく低く、画素Ｄ１５、Ｄ１６の画素値は、画素Ｄ１４の画素値と等しい。
【００７１】
上記説明した本発明の実施形態に係るポストフィルタ部３１の補正が施された画素値を太線で示す。即ち、画素Ｄ２１、Ｄ１１の画素値は、補正前の画素Ｄ２１、Ｄ１１の画素値の平均値によって補正されている。また、画素Ｄ１２、Ｄ１３の画素値は、補正前の画素Ｄ１１〜Ｄ１４の画素値の平均値によって補正されることにより、補正前の画素Ｄ１２、Ｄ１３の画素値と比較して、やや低い。更に、画素Ｄ１４、Ｄ１５の画素値は、補正前の画素Ｄ１３〜Ｄ１６の画素値の平均値によって補正されることにより、補正前の画素Ｄ１４、Ｄ１５の画素値と比較して、やや高い。画素Ｄ１６の画素値は、補正の対象ではない。
【００７２】
一方、３タップフィルタによる補正が行われると、画素Ｄ２１の画素値は補正前と変わらず、また、画素Ｄ１５の画素値も補正前と変わらない。そして、画素Ｄ２１、Ｄ１１〜Ｄ１５の画素値は、略なだらかな変化を示す。ここで、３タップフィルタによる補正にあたっては、３次の係数の算出が必要であり、多くの演算量を必要とする。しかしながら、補正は局所的であって、画素Ｄ１５の画素値が補正されず、ブロックの中心の画素の画素値が補正されないことにより、歪が残る。
【００７３】
図７は、ポストフィルタ制御部３２によるブロック境界と直交する画素列に対して行われる歪の検出及び補正の第２の制御動作を示すフローチャートである。
【００７４】
この第２の制御動作は、既に説明した制御動作と比較して、各動作ステップで行われる動作は同一であり、同じ動作をするステップには同じ符号を付して説明を省略する。
【００７５】
この第２の制御動作と、既に説明した制御動作との相違は、ブロック内の歪の補正を行うか否かの判断にある。言い換えると、ステップＳ３２ｅのブロック内のエッジ検出の動作と、そのエッジが検出されないと判断された場合、ステップＳ３２ｆのブロック内の画素の画素値の補正を行う動作とをいずれの場合に行うか否かの判断にある。
【００７６】
即ち、既に説明した制御動作では、ポストフィルタ制御部３２は、ステップＳ３２ｄのブロック境界の画素の補正を行った場合、言い替えると、ステップＳ３２ｃでブロック境界のエッジが検出されないと判断された場合に、ステップＳ３２ｅのブロック内のエッジ検出の以降の動作を行った。一方、第２の制御動作においては、ポストフィルタ制御部３２は、ステップＳ３２ｃで行われたブロック境界のエッジの検出の判断結果に関わらず、ステップＳ３２ｅのブロック内のエッジ検出以降の動作を行う。
【００７７】
この第２の制御動作による場合、ポストフィルタ制御部３２は、ステップＳ３２ｃ及びステップＳ３２ｄからなるブロック境界の画素値の補正の動作と、ステップＳ３２ｅ及びステップＳ３２ｆからなるブロック内の画素値の補正の動作とのいずれを先に行っても良い。
【００７８】
以上の説明では、ローカルバッファ部３３には、ブロック境界と直交する画素列の画素値が記憶されるとしたが、これに限るものではない。例えば、ブロックが８×８個の画素からなる場合、１つのブロック境界に関して、８組のブロック境界と直交する画素列が存在する。そこで、この８組の全画素の画素値が記憶されるとしても良い。
【００７９】
また、ローカルバッファ部３３には、更に多くの画素の画素値が記憶されるとしても良い。例えば、１つの復号画像が記憶されるとしても良い。その場合、ポストフィルタ制御部３２による復号画像バッファ部２４からローカルバッファ部３３への情報の取り込みの回数、及びローカルバッファ部３３から表示画像バッファ部４１への情報の書き込みの回数を減らすことができる。
【００８０】
以上の説明では、ブロックは、８×８個の画素からなるとしたが、これに限るものではない。本発明の実施形態において、１つの要点は、量子化に起因する歪特有の階段状の画素値の不連続の有無をエッジ検出閾値を参照して判定していることである。また、別の要点は、補正値は、画素値の平均値の算出によって求められるので、演算量は少ないことである。
【００８１】
更に、他の要点は、ブロックの中央部に発生した歪を補正するため、ブロックの中央部の画素の画素値が補正の対象となっていることである。また、別の要点は、過度の補正が行われることを防ぐため、１つのブロックの例えば略上半分の画素の画素値に依存して、略下半分の画素の画素値が補正されることがないことである。また、ブロック境界に隣接する画素を除き、ブロック内の画素の画素値が、そのブロック以外のブロックの画素の画素値に依存して補正されることがないことである。
【００８２】
本発明の実施形態に係る動画像復号化装置は、プログラムを利用して動作するコンピュータであっても良い。また、本発明は、動画像を復号するあらゆる装置に適用することが当然に可能である。また、上記の実施形態で説明した要素を適宜組み合わせても良い。本発明は以上の構成に限定されるものではなく、種々の変形が可能である。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施形態に係る動画像復号化装置の構成を示すブロック図。
【図２】本発明の実施形態に係るポストフィルタ部の構成を示すブロック図。
【図３】本発明の実施形態に係るブロック境界と直交する画素列の一例を示す図。
【図４】本発明の実施形態に係るポストフィルタ制御部の制御動作を示すフローチャート。
【図５】本発明の実施形態に係る補正前の画素値と補正後の画素値の対応を示す図。
【図６】本発明の実施形態に係るポストフィルタ部によって補正された画素値と、３タップフィルタによって補正された画素値との対比を示す図。
【図７】本発明の実施形態に係るポストフィルタ制御部の第２の制御動作を示すフローチャート。
【符号の説明】
【００８４】
２１  動画像復号部
２３  量子化係数記憶部
２４  復号画像バッファ部
３１  ポストフィルタ部
３２  ポストフィルタ制御部
３３  ローカルバッファ部
３４  ブロック境界エッジ判定部
３５  ブロック境界補正部
３６  ブロック内エッジ判定部
３７  ブロック内補正部
４１  表示画像バッファ部
【図１】
2008011435.tif 000003
【図２】
2008011435.tif 000004
【図３】
2008011435.tif 000005
【図４】
2008011435.tif 000006
【図５】
2008011435.tif 000007
【図６】
2008011435.tif 000008
【図７】
2008011435.tif 000009