| 【発明の名称】 |
動画像復号化装置 |
| 【発明者】 |
【氏名】森本 正巳
|
| 【要約】 |
【課題】ブロック境界をはさんで隣接する画素間の歪とブロック境界から遠い画素間の歪とを、それぞれの歪の性質に応じて検出及び補正する動画像復号化装置を提供する。
【構成】ブロック境界をはさんで隣接する画素の画素値の差と、その境界をはさんで隣接するブロックの量子化係数とから、上記画素の画素値の補正が必要であるか否かを判断し(ステップS32c)、必要と判断された場合、それらの画素の画素値を補正する(ステップS32d)。また、ブロック境界と直交する画素列の画素値の最大値と最小値との差と、それらの画素が属するブロックの量子化係数とから、上記ブロック境界と直交する画素列の画素値の補正が必要であるか否かを判断し(ステップS32e)、必要と判断された場合、それらの画素の画素値を補正する(ステップS32f)。 |
【特許請求の範囲】
【請求項1】 複数の画素を含むブロックに分割され、それらの分割されたブロックが周波数成分係数に変換され、その変換された係数が量子化され符号化されたフレームを復号して復号画像を作成する復号手段と、 前記復号手段によって作成された復号画像の前記ブロックの境界をはさんで隣接する第1の画素と、第2の画素との画素値を補正するブロック境界補正手段とを有し、 前記ブロック境界補正手段は、前記第1の画素の画素値と、前記第2の画素の画素値との差を算出し、その算出された差が所定の値を超え、かつ、その差が前記第1の画素が含まれるブロックが符号化された際の量子化係数及び前記第2の画素が含まれるブロックが符号化された際の量子化係数の非減少関数で算出される境界エッジ閾値未満である場合、前記第1の画素の画素値及び/または前記第2の画素の画素値に対し、前記差を減少させる補正を行う ことを特徴とする動画像復号化装置。 【請求項2】 複数の画素を含むブロックに分割され、それらの分割されたブロックが周波数成分係数に変換され、その変換された係数が量子化され符号化されたフレームを復号して復号画像を作成する復号手段と、 前記復号手段によって作成された復号画像の前記ブロックに属する画素であって、前記ブロックの第1の境界と直交する画素列に含まれる画素の画素値を補正するブロック内補正手段とを有し、 前記ブロック内補正手段は、前記画素列に含まれる画素の画素値に基づいて、前記画素列に含まれる画素の画素値を補正する ことを特徴とする動画像復号化装置。 【請求項3】 前記ブロックの第1の境界と直交する画素列は、その第1の境界に接する画素を含み、かつ、前記ブロックの前記第1の境界と異なる第2の境界に接する画素を含まず、 前記ブロック内補正手段は、前記ブロックの第1の境界に接する画素の画素値を補正せず、かつ、前記ブロックの前記第1の境界及び前記第2の境界の略中央に位置する画素の画素値を補正する ことを特徴とする請求項2に記載の動画像復号化装置。 【請求項4】 前記ブロック内補正手段は、前記画素列に含まれる画素の画素値の中の最大値と最小値との差を算出し、その算出された差が所定の値を超え、かつ、その差が前記ブロックが符号化された際の量子化係数の非減少関数で算出されるブロック内エッジ閾値未満である場合、前記画素列に含まれる画素の画素値に対して、前記差を減少させる補正をする ことを特徴とする請求項2に記載の動画像復号化装置。 【請求項5】 前記ブロック内補正手段は、前記画素列に含まれる画素の画素値を前記画素列に含まれる所定の画素の画素値の平均値で置き換えて補正する ことを特徴とする請求項2に記載の動画像復号化装置。
|
【発明の詳細な説明】【技術分野】 【0001】 本発明は、動画像復号化装置に係り、特に、デブロッキングフィルタ処理に関する。 【背景技術】 【0002】 動画像を符号化する場合、その動画像を所定の時間間隔で切り出したフレームと称される静止画を符号化する。フレームの符号化には、そのフレームを所定の大きさのブロックに分割し、それぞれのブロックを、直交変換して周波数成分を示す係数を得る。例えば、離散コサイン変換(DCT)し、離散コサイン変換係数を得る。そして、得られた係数を量子化して符号化する。 【0003】 そのため、符号化されたフレームを復号して得られた復号画像において、隣り合うブロックの画素で、ブロック境界をはさん隣接する2つの画素間に量子化に起因する歪(符号化前のフレームの画素値には存在しなかった画素値の不連続。)が発生することがある。 【0004】 この歪を補正するため、デブロッキングフィルタ処理が行われている。即ち、ブロック境界を挟んだ2つの画素の間に歪が存在するか否かを検出し、歪が検出された場合、ブロック境界をはさんだ比較的少数の画素の画素値に対してDCオフセット補正またはローパスフィルタを適用した補正をする処理が知られている。 【0005】 また、ブロックの符号化に際し、参照画像との差分の符号化、例えば、直前に切り出されたフレーム内の画像であって、ブロックと同じ大きさの画像との差分を符号化する動き予測付きフレーム間符号化が行われている。フレーム間符号化されたフレームを復号して得られた復号画像において、ブロック境界から遠い画素間においても、歪が存在することがある。 【0006】 この歪は、そのブロックの符号化に際して参照した参照画像のブロック境界に存在した歪に起因するものである。そこで、このブロック境界から遠い画素間の歪を補正するため、ブロック全体に及んでローパスフィルタを適用することが知られている(例えば、特許文献1参照。)。 【特許文献1】特表2002−531971号公報(第2−25頁、図4、図5) 【発明の開示】 【発明が解決しようとする課題】 【0007】 しかしながら、上述した特許文献1に開示されている方法では、ブロック全体の歪を補正するためには、ブロック全体に及ぶタップが長いローパスフィルタを適用する必要があり、処理が複雑になり、また補正された復号画像にぼけが発生する問題点があった。 【0008】 本発明は上記問題点を解決するためになされたもので、ブロック境界をはさんで隣接する画素間の歪とブロック境界から遠い画素間の歪とを、それぞれの歪の性質に応じて検出及び補正する動画像復号化装置を提供することを目的とする。 【課題を解決するための手段】 【0009】 上記目的を達成するために、本発明の動画像復号化装置は、複数の画素を含むブロックに分割され、それらの分割されたブロックが周波数成分係数に変換され、その変換された係数が量子化され符号化されたフレームを復号して復号画像を作成する復号手段と、前記復号手段によって作成された復号画像の前記ブロックの境界をはさんで隣接する第1の画素と、第2の画素との画素値を補正するブロック境界補正手段とを有し、前記ブロック境界補正手段は、前記第1の画素の画素値と、前記第2の画素の画素値との差を算出し、その算出された差が所定の値を超え、かつ、その差が前記第1の画素が含まれるブロックが符号化された際の量子化係数及び前記第2の画素が含まれるブロックが符号化された際の量子化係数の非減少関数で算出される境界エッジ閾値未満である場合、前記第1の画素の画素値及び/または前記第2の画素の画素値に対し、前記差を減少させる補正を行うことを特徴とする。 【0010】 また、本発明の動画像復号化装置は、複数の画素を含むブロックに分割され、それらの分割されたブロックが周波数成分係数に変換され、その変換された係数が量子化され符号化されたフレームを復号して復号画像を作成する復号手段と、前記復号手段によって作成された復号画像の前記ブロックに属する画素であって、前記ブロックの第1の境界と直交する画素列に含まれる画素の画素値を補正するブロック内補正手段とを有し、前記ブロック内補正手段は、前記画素列に含まれる画素の画素値に基づいて、前記画素列に含まれる画素の画素値を補正することを特徴とする。 【発明の効果】 【0011】 本発明によれば、ブロック境界をはさんで隣接する画素間の歪とブロック境界から遠い画素間の歪とを、それぞれの歪の性質に応じて検出及び補正する動画像復号化装置を提供することができる。 【発明を実施するための最良の形態】 【0012】 以下に、本発明による動画像復号化装置の実施の形態を、図面を参照して説明する。 【0013】 図1は、本発明の実施形態に係る動画像復号化装置の構成を示すブロック図である。この動画像復号化装置は、符号化データ記憶部11と、動画像復号部21と、表示時間記憶部22と、量子化係数記憶部23と、復号画像バッファ部24と、ポストフィルタ部31と、表示画像バッファ部41と、タイマー部42と、画像表示制御部43と、ディスプレイ表示部44とからなる。 【0014】 図2は、ポストフィルタ部31の構成を示すブロック図である。このポストフィルタ部31は、ポストフィルタ部31の各部を制御するポストフィルタ制御部32と、復号画像バッファ部24と接続され、また、表示画像バッファ部41と接続されるローカルバッファ部33と、量子化係数記憶部23と接続されるブロック境界エッジ判定部34と、ブロック境界補正部35と、量子化係数記憶部23と接続されるブロック内エッジ判定部36と、ブロック内補正部37とからなる。 【0015】 上記のように構成された、本発明の実施形態に係る動画像復号化装置の各部の動作を図1及び図2を参照して説明する。 【0016】 符号化データ記憶部11には、符号化された動画像が記憶される。なお、符号化データ記憶部11には、1つの動画像の全てが記憶されていると限るものではない。受信部(図示せず)によって受信された動画像が記憶される動作と、後述する動画像復号部21による復号動作が並行して行われても良い。 【0017】 動画像復号部21は、符号化データ記憶部11に記憶された符号化された動画像を1フレーム毎に取り込み、復号する。そして、1フレームの復号によって得られた復号画像を表示する時刻を示す情報を表示時間記憶部22に記憶させる。ここで、復号画像を表示する時刻は、例えば、復号する動画像の表示が開始されてからの経過時間によって示されるが、これに限るものではない。 【0018】 また、動画像復号部21は、復号によって得られた復号画像の各ブロックの符号化にあたって用いられた量子化係数を量子化係数記憶部23に記憶させる。更に、動画像復号部21は、復号によって得られた復号画像を復号画像バッファ部24に記憶させる。なお、フレーム間符号化されたフレームを復号する場合、動画像復号部21は、復号画像バッファ部24に記憶された過去に復号された復号画像を参照画像として参照する。 【0019】 ポストフィルタ部31は、復号画像バッファ部24に記憶された復号画像毎に、量子化係数記憶部23に記憶された、その復号画像の各ブロックの符号化にあたって用いられた量子化係数を参照してデブロッキングフィルタ処理を施し、画素間の歪を補正する。そして、歪が補正された復号画像を表示画像バッファ部41に記憶させる。なお、後述するように、ポストフィルタ部31は、ある画素の画素値に複数回の補正を施すことがある。その際、ポストフィルタ部31は、2回目以降の補正に際して表示画像バッファ部41に記憶された、既に歪が少なくとも1回補正された復号画像の画素値を用いる。 【0020】 タイマー部42は、表示画像バッファ部41に記憶された動画像の表示が開始されてからの経過時間を常に示す。画像表示制御部43は、タイマー部42が示す時間と、表示時間記憶部22に記憶された時間とを参照し、表示画像バッファ部41に記憶された復号画像毎に、その復号画像を表示する時刻であるか否かを判断する。 【0021】 そして、表示する時刻であると判断された場合、画像表示制御部43は、その復号画像を識別する情報、例えば、その復号画像が表示画像バッファ部41に記憶されているアドレスをディスプレイ表示部44に送って、その復号画像を切り替え表示させる。また、その復号画像を表示画像バッファ部41から取り込んで、所定のフレームメモリに書き込むことによって表示させても良い。 【0022】 ディスプレイ表示部44は、画像表示制御部43によって送られた復号画像を識別する情報を受けて、その情報で識別される復号画像を表示画像バッファ部41から得て、表示する。または、所定のフレームメモリに書き込まれた画像を表示する。 【0023】 なお、この動画像復号化装置がテレビ電話などの実時間で通信を行う通信装置に適用された場合、動画像復号化装置は、表示時間記憶部22及びタイマー部42を有さず、画像表示制御部43は、ポストフィルタ部31によって歪が補正された復号画像が表示画像バッファ部41に記憶される度に、その復号画像をディスプレイ表示部44に表示させても良い。 【0024】 次に、ポストフィルタ部31の各部の動作を説明する。ローカルバッファ部33には、復号画像バッファ部24に記憶された復号された1つの復号画像の1つのブロック境界をはさんで隣接する2つのブロックの画素であって、そのブロック境界と直交する画素列の画素であり、かつ、そのブロック境界の近傍にある画素の画素値が記憶される。これは、ポストフィルタ部31の各部は、復号画像をブロッキングフィルタ処理する際、1つのブロック境界毎に、その境界と直交する画素列の画素間の歪の補正をするので、上記各部が一時に用いる情報が記憶されるとしているからであるが、これに限るものではない。なお、この境界と直交する画素列については、後に詳述する。 【0025】 ブロック境界エッジ判定部34は、ローカルバッファ部33に記憶されたブロック境界と直交する画素列の画素の中で、ブロック境界をはさんで隣接する画素の画素値に補正が必要か否かを判定する。この判定にあたり、ブロック境界エッジ判定部34は、量子化係数記憶部23に記憶された上記境界をはさんで隣接するブロックの符号化に用いられた量子化係数から算出されたブロック境界エッジ検出閾値と、ローカルバッファ部33に記憶された上記隣接する画素の画素値とを参照する。 【0026】 ブロック境界補正部35は、ブロック境界エッジ判定部34によって上記画素の画素値に補正が必要と判断された場合、上記画素値を補正する。そして、補正された画素値をローカルバッファ部33に更新記憶させる。 【0027】 ブロック内エッジ判定部36は、ローカルバッファ部33に記憶された境界と直交する画素列の画素を上記境界に隣接する2つのブロックのいずれの属するかによって二分し、二分されたそれぞれの画素に対して、上記境界に隣接していない画素の画素値に補正が必要か否かを判定する。 【0028】 この判定にあたり、ブロック内エッジ判定部36は、量子化係数記憶部23に記憶された量子化係数であって、画素が属するブロックの符号化に用いられた量子化係数から算出されたブロック内エッジ検出閾値と、ローカルバッファ部33に記憶された上記境界と直交する画素の画素値とを参照する。 【0029】 ブロック内補正部37は、ブロック内エッジ判定部36によって補正が必要と判断された画素の画素値を補正する。そして、補正された画素値をローカルバッファ部33に更新記憶させる。 【0030】 以下、本実施形態に係る動画像復号化装置のポストフィルタ部31によって行われる歪の検出及び補正の動作を説明する。 【0031】 ポストフィルタ部31によって行われる歪の検出及び補正の動作は、1つの復号画像の1つのブロック境界をはさんで隣接する2つのブロックの画素であって、そのブロック境界と直交する画素列の画素であり、かつ、そのブロック境界の近傍にある画素毎に行われる。ここで、このブロック境界と直交する画素列の画素であり、かつ、そのブロック境界の近傍にある画素とは、ブロック境界をはさんで隣接する2つの画素と、それらの2つの画素からなる画素列を上記2つのブロックの略中央に延長した画素列の画素である。 【0032】 図3を参照して、上記ブロック境界と直交する画素列を具体的に説明する。図3は、左側の第1のブロックB1及び右側の第2のブロックB2がブロック境界Lをはさんで隣接している例を示す。ここで、第1のブロックB1及び第2のブロックB2を含む、全てのブロックは8×8画素からなるとする。そして、第1のブロックB1の上から3番目の画素D11及び第2のブロックB2の上から3番目の画素D21がブロック境界Lに隣接している画素の例である。 【0033】 上記左側の第1のブロックB1の画素D11、その画素D11から左へ順次隣接する画素D12、D13、D14、D15、D16、上記右側の第2のブロックB2の画素D21、及びその画素D21から右へ順次隣接する画素D22、D23、D24、D25、D26が、上記ブロック境界と直交する画素列の具体例である。これらの画素D11〜D16、D21〜D26は、ブロック境界Lに対して直交する位置にある12画素の列である。そして、これらの画素D11〜D16、D21〜D26は、ブロック境界Lの近傍にある。 【0034】 ここで、近傍にあるとは、この画素列は、少なくとも第1のブロックB1のブロック境界Lと異なる他の境界、即ち、第1のブロックB1の左のブロック境界に隣接する画素を含まないことを意味する。また、この画素列は、少なくとも第2のブロックB2のブロック境界Lと異なる他の境界、即ち、第2のブロックB2の右のブロック境界に隣接する画素を含まないことを意味する。 【0035】 ここで、図3では、縦方向のブロック境界Lを例にとって説明したが、ポストフィルタ部31は、縦方向及び横方向の全てのブロック境界を対象とする。そして、それぞれのブロック境界に直交する8通りのブロック境界と直交する画素列の画素、即ち、12画素を対象に歪の検出及び補正の動作を行う。 【0036】 ポストフィルタ制御部32は、以上説明した全ての対象となるブロック境界に関して、そのブロック境界と直交する全ての画素列に対して歪の検出及び補正の動作が行われるように、ポストフィルタ部31の各部を制御する。なお、歪の検出及び補正の動作をいずれのブロック境界に関して先に行い、いずれのブロック境界に関して後に行うかは、任意である。後述するように、ローカルバッファ部33へ画素値を取り込む動作を減らすように制御しても良い。 【0037】 次に、ブロック境界と直交する画素列として、図3に示す画素D11〜D16、D21〜D26を例にとり、歪の検出及び補正の動作の詳細を説明する。 【0038】 図4は、ポストフィルタ制御部32によるブロック境界と直交する画素列に対して行われる歪の検出及び補正の制御動作を示すフローチャートである。 【0039】 ポストフィルタ制御部32は、ブロック境界と直交する1つの画素列に対する歪の検出及び補正の制御動作を開始し(ステップS32a)、復号画像バッファ部24に記憶された復号画像であって、ブロック境界と直交する画素列の画素D11〜D16、D21〜D26の画素値をローカルバッファ部33に取り込む(ステップS32b)。 【0040】 次に、ポストフィルタ制御部32は、ブロック境界エッジ判定部34を制御して、ブロック境界Lに隣接する画素D11、D21の画素値に補正が必要か否かを判定させる(ステップS32c)。 【0041】 ブロック境界エッジ判定部34は、ブロック境界Lに隣接する画素D11、D21の画素値の差と、量子化係数記憶部23に記憶された第1のブロックB1の量子化係数と、第2のブロックB2の量子化係数とを平均した値から算出されるブロック境界エッジ検出閾値との大小を比較する。 【0042】 この比較の結果、上記差が上記閾値未満であれば、符号化前のフレームのブロック境界Lにはエッジが存在しない、即ち、ブロック境界エッジは、検出されないと判断する。一方、上記差が上記閾値以上であれば、ブロック境界Lには、符号化前のフレームに存在したエッジが重なっている、即ち、ブロック境界エッジは、検出されたと判断する。 【0043】 ここで、上記ブロック境界エッジ検出閾値は、上記平均された量子化係数の非減少関数であり、量子化係数がより大きければ、ブロック境界エッジは、検出されないと判断され易い。この結果、後述するように、ブロック境界Lに隣接する画素D11、D21の画素値は補正され易い。これは、量子化係数がより大きければ、歪がより生じ易いので、補正をすることが適切と判断されるからである。 【0044】 ステップS32cで、ブロック境界エッジは検出されないと判断された場合、ブロック境界エッジ判定部34は、ブロック境界補正部35を制御して、ブロック境界Lに隣接する画素D11、D21の画素値を補正させる(ステップS32d)。即ち、ブロック境界補正部35は、画素D11、D21の画素値の差を減少させる補正を行う。例えば、図5に示すように、この2つの画素値の平均値を算出し、画素D11、D21の2つの画素値をその算出された平均値で置き換える補正を行う。ブロック境界補正部35は、補正が施された画素値をローカルバッファ部33に更新記憶させる。 【0045】 また、2つの画素値の平均値の算出に際し、ブロック境界補正部35は、それぞれの画素値に重み付けの上で平均値を算出しても良い。ここで、重みは、符号化に用いられた量子化係数が小さいブロックに属する画素の画素値に重く、符号化に用いられた量子化係数が大きいブロックに属する画素の画素値に軽く付ける。符号化に用いられた量子化係数が小さいブロック程、符号化前の画素値を変化が少なく示していると考えられるからである。 【0046】 なお、画素D11、D21の画素値の差が所定の値以下の場合、ブロック境界補正部35は、補正を行わない(図示せず)。例えば、上記差がない、即ち、差が0の場合である。また、上記差が画素値を示す数の最低の単位である場合である。 【0047】 次に、ポストフィルタ制御部32は、ブロック内エッジ判定部36を制御して、第1のブロックB1の内部にあって、ブロック境界と直交する画素列の画素D11〜D16にエッジがあるか否かを検出させ、更に、第2のブロックB2の内部にあって、ブロック境界と直交する画素列の画素D21〜D26にエッジがあるか否かを検出させる(ステップS32e)。 【0048】 ブロック内エッジ判定部36は、この検出に際し、量子化係数記憶部23に記憶されたブロックの量子化係数から算出されたブロック内エッジ検出閾値と、ローカルバッファ部33に記憶されたブロック境界と直交する画素列の画素値を参照する。 【0049】 即ち、ブロック内エッジ判定部36は、第1のブロックB1内にエッジがあるか否かを検出する際、第1のブロックB1の画素であって、ブロック境界と直交する画素列の画素、即ち、図3に示す例では、画素D11〜D16の画素値の最大値と最小値との差を求め、その差と、量子化係数記憶部23に記憶された第1のブロックB1が符号化された際の量子化係数から算出されるブロック内エッジ検出閾値との大小を比較する。 【0050】 そして、その差がブロック内エッジ検出閾値未満であれば、ブロック内エッジ判定部36は、第1のブロックB1内にはエッジが検出されないと判断する。それらの画素には、高周波成分は含まれていないと判断されるからである。一方、上記差がブロック内エッジ検出閾値以上であれば、第1のブロックB1内にはエッジが検出されたと判断する。それらの画素には、高周波成分が含まれていると判断されるからである。 【0051】 ここで、上記ブロック内エッジ検出閾値は、上記量子化係数の非増加関数であり、量子化係数がより大きければ、ブロック内エッジは、検出されないと判断され易い。この結果、後述するように、ブロック境界と直交する画素列の画素であって、第1のブロックB1内の画素D12〜D15の画素値は補正され易い。また、量子化係数がより小さければ、ブロック内エッジは、検出されたと判断され易く、上記画素値は補正され難い。 【0052】 これは、量子化係数がより大きければ、歪がより生じ易いので、補正をすることが適切と判断されるからである。また、量子化係数がより小さければ、上記画素に含まれている高周波成分を保存するために、補正をしないことが適切と判断されるからである。 【0053】 なお、ブロック内エッジ判定部36は、画素D11〜D16の画素値の最大値と最小値との差を参照してエッジ検出の動作を行うとしたが、これに限るものではない。例えば、画素D11〜D16の中で隣接する画素の画素値の差分を算出し、その差分の1つ、または、複数が大きい場合、エッジが検出されたと判断しても良い。 【0054】 ブロック内エッジ判定部36による第2のブロックB2内にエッジがあるか否かを検出する動作は、上記説明した第1のブロックB1内にエッジがあるか否かを検出する動作と同様であり、詳細な説明を省略する。相違点は、ブロック境界と直交する画素列の画素のうち、第1のブロックB1の画素D11〜D16の画素値に代えて、第2のブロックB2の画素D21〜D26の画素値を用い、第1のブロックB1が符号化された際の量子化係数に代えて第2のブロックB2が符号化された際の量子化係数を用いることである。 【0055】 ステップS32eで第1のブロックB1内にエッジが検出されないと判断された場合、または、第2のブロックB2のブロック境界Lの近傍にエッジが検出されないと判断された場合、ブロック内エッジ判定部36は、ブロック内補正部37を制御して、エッジが検出されないと判断されたブロック内のブロック境界と直交する画素列の画素であって、ブロック境界と接しない画素の画素値を補正させる(ステップS32f)。 【0056】 第1のブロックB1内にエッジが検出されないと判断された場合、ブロック内補正部37は、図5に示すように、ブロック境界Lに隣接する画素D11から画素D14までの4つの画素の画素値の平均を算出して第1の平均値を求め、ブロック境界Lから2番目の画素D12の画素値と、3番目の画素D13の画素値とを求められた第1の平均値で置き換えることにより、補正する。 【0057】 更に、ブロック内補正部37は、ブロック境界Lから3番目の画素D13から6番目の画素D16までの4つの画素の画素値の平均を算出して第2の平均値を求め、ブロック境界Lから4番目の画素D14の画素値と、5番目の画素D15の画素値を求められた第2の平均値で置き換えることにより、補正する。ブロック内補正部37は、補正が施された画素値をローカルバッファ部33に更新記憶させる。 【0058】 なお、ここで4つの値の平均値の算出を2回行うとしたが、これに限るものではない。画素D11の画素値と画素D12の画素値との第3の平均値と、画素D13の画素値と画素D14の画素値との第4の平均値と、画素D15の画素値と画素D16の画素値との第5の平均値とをまず算出するとしても良い。これらの3つの平均値が算出された場合、第1の平均値は、第3の平均値と第4の平均値との平均値として算出され、第2の平均値は、第4の平均値と第5の平均値との平均値として算出される。この方法によれば、2つの値の平均値の算出で足り、演算量の削減が可能である。 【0059】 なお、上記ブロック境界と直交する画素列の画素の画素値の最大値と最小値との差が所定の値以下の場合、ブロック内エッジ判定部36は、補正を行わない(図示せず)。例えば、上記差がない、即ち、差が0の場合である。また、上記差が画素値を示す数の最低の単位である場合である。 【0060】 なお、以上の説明では、ブロック内補正部37は、2つの画素の画素値を同じ値で置き換えて補正するとした。即ち、画素D12と、画素D13との画素値を同じ値で置き換え、画素D14と、画素D15との画素値を同じ値で置き換えるとしたが、これに限るものではない。例えば、画素D11〜D16の画素値の変化がなだらかな場合、3つ以上の画素の画素値を同じ値で置き換えて補正するとしても良い。 【0061】 第2のブロックB2内にエッジが検出されないと判断された場合、ブロック内補正部37は、第2のブロックB2の画素D22〜D25の画素値を補正するが、この補正の動作は、上記第1のブロックB1内にエッジが検出されないと判断された場合の動作と同様であり、詳細な説明を省略する。相違点は、画素D11〜D16の画素値に代えて、画素D21〜D26の画素値を参照することと、画素D12〜D15の画素値に代えて、画素D22〜D25の画素値を補正することである。 【0062】 ステップS32fの動作が終了した場合、ステップS32eで、第1のブロックB1内にエッジが検出され、かつ、第2のブロックB2内にエッジが検出されたと判断された場合、及び、ステップS32cで、ブロック境界エッジは検出されたと判断された場合、ポストフィルタ制御部32は、ローカルバッファ部33に記憶された画素値を表示画像バッファ部41に書き込んで(ステップS32g)、ブロック境界と直交する画素列の画素の画素値の補正の制御動作を終了する(ステップS32h)。ここで、ローカルバッファ部33に記憶された画素値は、補正が施されている場合もあり、補正が施されていない場合もある。 【0063】 なお、フレームの左上隅のブロックの左上の略4分の1の画素、フレームの右上隅のブロックの右上の略4分の1の画素、フレームの左下隅のブロックの左下の略4分の1の画素、及びフレームの右下隅のブロックの右下の略4分の1の画素の画素値は、補正の対象ではない。そこで、ポストフィルタ制御部32は、上記画素値の補正処理とは関係なく、それらの画素の画素値を復号画像バッファ部24から取り込んで、表示画像バッファ部41に書き込む(図示せず)。 【0064】 ここで、ブロック境界と直交する画素列に対して行われる補正によって、そのブロック境界に隣接するブロックの画素であって、そのブロック境界側の略半分の画素が補正される。図3に示す例を参照すると、ブロック境界Lの近傍にある第1のブロックB1の画素D11〜D15の画素値が補正されることによって、第1のブロックB1の略右半分の画素間の歪が補正される。また、ブロック境界Lの近傍にある第2のブロックB2の画素D21〜D25の画素値が補正されることによって、第2のブロックB2の略左半分の画素間の歪が補正される。 【0065】 そして、あるブロックが復号画像の4辺に接してしない場合、そのブロックは、上のブロック境界と直交する画素列に対する補正によって上の略半分の画素が補正の対象となり、下のブロック境界と直交する画素列に対する補正によって下の略半分の画素が補正の対象となる。同様に、左のブロック境界と直交する画素列に対する補正によって左の略半分の画素が補正の対象となり、右のブロック境界と直交する画素列に対する補正によって右の略半分の画素が補正の対象となる。 【0066】 なお、既に補正済みの画素の画素値をローカルバッファ部33に取り込む場合、ポストフィルタ制御部32は、その画素値を表示画像バッファ部41から取り込む。また、取り込むべき画素の画素値が既にローカルバッファ部33に記憶されていれば、取り込む動作は不要であり、処理量の減少が可能であることは言うまでもない。 【0067】 そのため、あるブロックの4方のブロック境界に関して続けて歪の検出及び補正の動作をしても良い。また、あるブロックの4方のブロック境界に関する動作の後、そのブロックに隣接するブロックの3方のブロック境界に関して続けて歪の検出及び補正の動作をしても良い。ここで、隣接するブロックの1つのブロック境界に関する動作は、終了しているから、3方のブロック境界に関する動作となる。 【0068】 このように、本発明の実施形態に係るポストフィルタ部31の補正によれば、少ない演算量によって、あるブロックの上下左右の略半分の画素を対象に4回の補正がされ得ることにより、そのブロックの中心部に発生した歪であっても補正することができる。 【0069】 また、例えば、あるブロックの上のブロック境界と直交する画素列に対する補正によって補正の対象となる画素は、ブロックの上の略半分の画素である。そのため、ブロックの略上半分に発生した歪によってブロックの下の略半分の画素の画素値が補正されることによる過度の補正が行われることがない。また、その補正は、画素値の平均値を算出することによって行われるので、少ない演算量で行われる。 【0070】 図6は、第1のブロックB1の画素D11〜D15及び第2のブロックB2の画素D21の画素値の補正を例に、上記説明した本発明の実施形態に係る補正と、3タップフィルタによる補正との対比を示す。まず、補正前の画素値を細線で示す。即ち、画素D21の画素値が最高で、画素D11の画素値が最高値よりやや低く、画素D12、D13の画素値は、画素D11の画素値と等しい。画素D14の画素値は、画素D13の画素値より大きく低く、画素D15、D16の画素値は、画素D14の画素値と等しい。 【0071】 上記説明した本発明の実施形態に係るポストフィルタ部31の補正が施された画素値を太線で示す。即ち、画素D21、D11の画素値は、補正前の画素D21、D11の画素値の平均値によって補正されている。また、画素D12、D13の画素値は、補正前の画素D11〜D14の画素値の平均値によって補正されることにより、補正前の画素D12、D13の画素値と比較して、やや低い。更に、画素D14、D15の画素値は、補正前の画素D13〜D16の画素値の平均値によって補正されることにより、補正前の画素D14、D15の画素値と比較して、やや高い。画素D16の画素値は、補正の対象ではない。 【0072】 一方、3タップフィルタによる補正が行われると、画素D21の画素値は補正前と変わらず、また、画素D15の画素値も補正前と変わらない。そして、画素D21、D11〜D15の画素値は、略なだらかな変化を示す。ここで、3タップフィルタによる補正にあたっては、3次の係数の算出が必要であり、多くの演算量を必要とする。しかしながら、補正は局所的であって、画素D15の画素値が補正されず、ブロックの中心の画素の画素値が補正されないことにより、歪が残る。 【0073】 図7は、ポストフィルタ制御部32によるブロック境界と直交する画素列に対して行われる歪の検出及び補正の第2の制御動作を示すフローチャートである。 【0074】 この第2の制御動作は、既に説明した制御動作と比較して、各動作ステップで行われる動作は同一であり、同じ動作をするステップには同じ符号を付して説明を省略する。 【0075】 この第2の制御動作と、既に説明した制御動作との相違は、ブロック内の歪の補正を行うか否かの判断にある。言い換えると、ステップS32eのブロック内のエッジ検出の動作と、そのエッジが検出されないと判断された場合、ステップS32fのブロック内の画素の画素値の補正を行う動作とをいずれの場合に行うか否かの判断にある。 【0076】 即ち、既に説明した制御動作では、ポストフィルタ制御部32は、ステップS32dのブロック境界の画素の補正を行った場合、言い替えると、ステップS32cでブロック境界のエッジが検出されないと判断された場合に、ステップS32eのブロック内のエッジ検出の以降の動作を行った。一方、第2の制御動作においては、ポストフィルタ制御部32は、ステップS32cで行われたブロック境界のエッジの検出の判断結果に関わらず、ステップS32eのブロック内のエッジ検出以降の動作を行う。 【0077】 この第2の制御動作による場合、ポストフィルタ制御部32は、ステップS32c及びステップS32dからなるブロック境界の画素値の補正の動作と、ステップS32e及びステップS32fからなるブロック内の画素値の補正の動作とのいずれを先に行っても良い。 【0078】 以上の説明では、ローカルバッファ部33には、ブロック境界と直交する画素列の画素値が記憶されるとしたが、これに限るものではない。例えば、ブロックが8×8個の画素からなる場合、1つのブロック境界に関して、8組のブロック境界と直交する画素列が存在する。そこで、この8組の全画素の画素値が記憶されるとしても良い。 【0079】 また、ローカルバッファ部33には、更に多くの画素の画素値が記憶されるとしても良い。例えば、1つの復号画像が記憶されるとしても良い。その場合、ポストフィルタ制御部32による復号画像バッファ部24からローカルバッファ部33への情報の取り込みの回数、及びローカルバッファ部33から表示画像バッファ部41への情報の書き込みの回数を減らすことができる。 【0080】 以上の説明では、ブロックは、8×8個の画素からなるとしたが、これに限るものではない。本発明の実施形態において、1つの要点は、量子化に起因する歪特有の階段状の画素値の不連続の有無をエッジ検出閾値を参照して判定していることである。また、別の要点は、補正値は、画素値の平均値の算出によって求められるので、演算量は少ないことである。 【0081】 更に、他の要点は、ブロックの中央部に発生した歪を補正するため、ブロックの中央部の画素の画素値が補正の対象となっていることである。また、別の要点は、過度の補正が行われることを防ぐため、1つのブロックの例えば略上半分の画素の画素値に依存して、略下半分の画素の画素値が補正されることがないことである。また、ブロック境界に隣接する画素を除き、ブロック内の画素の画素値が、そのブロック以外のブロックの画素の画素値に依存して補正されることがないことである。 【0082】 本発明の実施形態に係る動画像復号化装置は、プログラムを利用して動作するコンピュータであっても良い。また、本発明は、動画像を復号するあらゆる装置に適用することが当然に可能である。また、上記の実施形態で説明した要素を適宜組み合わせても良い。本発明は以上の構成に限定されるものではなく、種々の変形が可能である。 【図面の簡単な説明】 【0083】 【図1】本発明の実施形態に係る動画像復号化装置の構成を示すブロック図。 【図2】本発明の実施形態に係るポストフィルタ部の構成を示すブロック図。 【図3】本発明の実施形態に係るブロック境界と直交する画素列の一例を示す図。 【図4】本発明の実施形態に係るポストフィルタ制御部の制御動作を示すフローチャート。 【図5】本発明の実施形態に係る補正前の画素値と補正後の画素値の対応を示す図。 【図6】本発明の実施形態に係るポストフィルタ部によって補正された画素値と、3タップフィルタによって補正された画素値との対比を示す図。 【図7】本発明の実施形態に係るポストフィルタ制御部の第2の制御動作を示すフローチャート。 【符号の説明】 【0084】 21 動画像復号部 23 量子化係数記憶部 24 復号画像バッファ部 31 ポストフィルタ部 32 ポストフィルタ制御部 33 ローカルバッファ部 34 ブロック境界エッジ判定部 35 ブロック境界補正部 36 ブロック内エッジ判定部 37 ブロック内補正部 41 表示画像バッファ部
|
| 【出願人】 |
【識別番号】000003078 【氏名又は名称】株式会社東芝
|
| 【出願日】 |
平成18年6月30日(2006.6.30) |
| 【代理人】 |
【識別番号】100109900 【弁理士】 【氏名又は名称】堀口 浩
|
| 【公開番号】 |
特開2008−11435(P2008−11435A) |
| 【公開日】 |
平成20年1月17日(2008.1.17) |
| 【出願番号】 |
特願2006−182345(P2006−182345) |
|