(57)【特許請求の範囲】
【請求項１】
符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記動きベクトル取得手段により取得された動きベクトルを用いて、上記ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、上記コンシールメント範囲内の画像の動きの均一性が低い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
【請求項２】
符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記動きベクトル取得手段により取得された動きベクトルを用いて、上記ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の複雑さを示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックのＱＰ値の平均値を算出し、上記コンシールメント範囲内の画像の複雑さが高い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
【請求項３】
上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合、上記コンシールメント範囲の上下方向には分割を行わず、上記コンシールメント範囲を左右方向に分割し、
上記動きベクトル取得手段は、上記コンシールメント範囲が画面の上端に位置している場合、上記コンシールメント範囲の下側に隣接しているマクロブロックを特定して、上記蓄積手段から上記マクロブロックの動きベクトルを取得し、上記コンシールメント範囲が画面の下端に位置している場合、上記コンシールメント範囲の上側に隣接しているマクロブロックを特定して、上記蓄積手段から上記マクロブロックの動きベクトルを取得する
ことを特徴とする請求項１または請求項２記載のエラーコンシールメント装置。
【請求項４】
符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、復号エラーが発生している復号画像より時間的に前の復号画像の中で、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記動きベクトル取得手段により取得された動きベクトルを用いて、上記ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、上記コンシールメント範囲内の画像の動きの均一性が低い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
【請求項５】
符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、復号エラーが発生している復号画像より時間的に前の復号画像の中で、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記動きベクトル取得手段により取得された動きベクトルを用いて、上記ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の複雑さを示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックのＱＰ値の平均値を算出し、上記コンシールメント範囲内の画像の複雑さが高い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
【請求項６】
符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する第１の動きベクトル取得手段と、復号エラーが発生している復号画像より時間的に前の復号画像の中で、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する第２の動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記ブロック分割手段により分割されたブロックが上記コンシールメント範囲の境界と接しているブロックである場合、上記第１の動きベクトル取得手段により取得された動きベクトルを用いて、当該ブロックの動きベクトルを算出し、上記ブロック分割手段により分割されたブロックが上記コンシールメント範囲の境界と接していないブロックである場合、上記第２の動きベクトル取得手段により取得された動きベクトルを用いて、当該ブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、上記コンシールメント範囲内の画像の動きの均一性が低い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
【請求項７】
符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する第１の動きベクトル取得手段と、復号エラーが発生している復号画像より時間的に前の復号画像の中で、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する第２の動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記ブロック分割手段により分割されたブロックが上記コンシールメント範囲の境界と接しているブロックである場合、上記第１の動きベクトル取得手段により取得された動きベクトルを用いて、当該ブロックの動きベクトルを算出し、上記ブロック分割手段により分割されたブロックが上記コンシールメント範囲の境界と接していないブロックである場合、上記第２の動きベクトル取得手段により取得された動きベクトルを用いて、当該ブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の複雑さを示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックのＱＰ値の平均値を算出し、上記コンシールメント範囲内の画像の複雑さが高い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
【請求項８】
符号化データに対する復号処理を実施して復号画像を生成し、上記復号画像と上記符号化データを復号する際に使用した動きベクトルを出力する復号処理手段と、
請求項１から請求項７のうちのいずれか１項記載のエラーコンシールメント装置とを備えた復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、復号画像内で復号エラーが発生している場合、エラーコンシールメント処理を実施するエラーコンシールメント装置と、そのエラーコンシールメント装置を実装している復号装置とに関するものである。
【背景技術】
【０００２】
従来より、映像や音声などのメディアデータを記録／伝送する際、ＭＰＥＧ−２やＨ．２６４などの方式による符号化を実施してデータ量を圧縮することが一般的に行われている。
符号化が実施された場合、メディアデータを再生する際、そのメディアデータの符号化データを元の形式に復号する必要があるが、記録媒体からの読み出し時や、ネットワークを介する伝送時に、電気的ノイズなどによってメディアデータの符号化データにエラーが混入すると、メディアデータの符号化データを復号する復号装置が、正常にメディアデータを復号することができず、出力映像にノイズが加わったり、復号処理を継続できなくなったりしてしまうことがある。
そのため、復号装置の中には、エラーを含んでいる符号化データを受信すると、そのエラーを隠蔽して、出力映像の画質劣化を低減させるエラーコンシールメント装置を搭載しているものがある。
【０００３】
従来のエラーコンシールメント装置では、復号処理中に復号エラーを検出すると、復号エラーの検出箇所から、次に正常に復号処理を開始できるまでの領域に対して、既に正常に復号できている過去画像（例えば、時間的に最も近いＩ／Ｐピクチャの同位置の画素値）を適用する手法がとられている。
これは、時間的に近い画像は、類似していることが多いという映像の特徴を利用しているものであり、この手法を適用すると、エラーによって復号処理を継続できなくなった箇所を過去の類似画像で埋めた修正画像を得ることができる。
【０００４】
以下の特許文献１には、エラーが検出されたマクロブロック（以下、「エラーマクロブロック」と称する）の近傍のマクロブロックの動きベクトルからエラーマクロブロックの動きベクトルを推定し、その動きベクトルからエラーマクロブロックの画素値を算出するエラーコンシールメント装置が開示されている。
これは、空間的に近い画素は、類似していることが多いという画像の特徴を利用しているものであり、この手法を適用すると、映像内の動きが考慮された修正画像を得ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３４９６３７８号（段落番号［０００６］）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のエラーコンシールメント装置は以上のように構成されているので、既に正常に復号できている過去画像を使用してコンシールメント処理を行う場合、コンシールメント処理が行われた箇所で動きが止まったり、戻ったりするなど、滑らかに映像が再生されなくなることがある課題があった。
また、エラーマクロブロックの近傍のマクロブロックの動きベクトルからエラーマクロブロックの動きベクトルを推定し、その動きベクトルからエラーマクロブロックの画素値を算出する場合、映像内の動きが考慮された修正画像が得られる。しかし、Ｈ．２６４等では、圧縮効果を高めるために可変長符号化を行っているため、エラー検出箇所とエラー発生箇所が異なることが多く、エラー発生箇所以降のデータは本来と異なる解釈が行われてしまうので、エラーマクロブロックの近傍のマクロブロックが正常に復号できているとは限らない。そのため、近傍のマクロブロックの動きベクトルを利用して、エラーマクロブロックのコンシールメント処理を行っても、復号映像を十分な品質で修正することができないことがある課題があった。
【０００７】
この発明は上記のような課題を解決するためになされたもので、符号化データが可変長符号化方式で符号化されている場合でも、符号化データに対する復号処理時にエラーが発生したときに、再生時に違和感が少ないコンシールメント画像を生成し、品質が高い復号画像を滑らかに再生することができるエラーコンシールメント装置及び復号装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るエラーコンシールメント装置は、符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、動きベクトル取得手段により取得された動きベクトルを用いて、ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段とを設け、出力画像選択手段が、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、蓄積手段により蓄積されている復号画像を出力するようにしたものである。
また、ブロック分割手段が、コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、そのコンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、そのコンシールメント範囲内の画像の動きの均一性が低い程、そのコンシールメント範囲を細かく分割するようにしたものである。
【発明の効果】
【０００９】
この発明によれば、符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、動きベクトル取得手段により取得された動きベクトルを用いて、ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段とを設け、出力画像選択手段が、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、蓄積手段により蓄積されている復号画像を出力するように構成したので、符号化データが可変長符号化方式で符号化されている場合でも、符号化データに対する復号処理時にエラーが発生したときに、再生時に違和感が少ないコンシールメント画像を生成し、品質が高い復号画像を滑らかに再生することができる効果がある。
また、ブロック分割手段が、コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、そのコンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、そのコンシールメント範囲内の画像の動きの均一性が低い程、そのコンシールメント範囲を細かく分割するように構成したので、画像内の動きに追従しているコンシールメント画像を生成することができる効果がある。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。
【図２】コンシールメント範囲設定部１４により設定されるコンシールメント範囲を示す説明図である。
【図３】コンシールメントブロック３２１の動きベクトルの算出方法を示す説明図である。
【図４】この発明の実施の形態３によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。
【図５】この発明の実施の形態４によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。
【図６】コンシールメント範囲設定部１４により設定されるコンシールメント範囲を示す説明図である。
【図７】この発明の実施の形態５によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。
【図８】この発明の実施の形態６によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１はこの発明の実施の形態１によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。
図１において、復号処理部１は符号化装置側で可変長符号化されているメディアデータ（以下、「符号化メディアデータ」と称する）を入力すると、その符号化メディアデータに対する復号処理を実施して復号画像を生成し、その復号画像と符号化メディアデータを復号する際に使用した復号パラメータ（例えば、符号化方式がＨ．２６４である場合、画像内のスライス構成やマクロブロック毎の予測モード、動きベクトルなどのパラメータ）をエラーコンシールメント装置２に出力する処理を実施する。
また、復号処理部１は復号エラーに関する復号エラー情報（例えば、復号エラーの検出有無、復号エラーが検出された画面内のエラー検出位置などを示す情報）をエラーコンシールメント装置２に出力する処理を実施する。
なお、復号処理部１は復号処理手段を構成している。
【００１２】
エラーコンシールメント装置２は復号処理部１から出力された復号エラー情報が“復号エラー検出無”を示していれば、復号処理部１から出力された復号画像をそのまま出力するが、その復号エラー情報が“復号エラー検出有”を示していれば、コンシールメント画像を生成して、そのコンシールメント画像を出力する装置である。
【００１３】
エラーコンシールメント装置２の復号画像蓄積部１１は復号処理部１から出力された復号画像を一時的に蓄積するＲＡＭやハードディスクなどの記録媒体である。
復号パラメータ蓄積部１２は復号処理部１から出力された復号パラメータを一時的に蓄積するＲＡＭやハードディスクなどの記録媒体である。
なお、復号画像蓄積部１１及び復号パラメータ蓄積部１２から蓄積手段が構成されている。
【００１４】
コンシールメントＯＮ／ＯＦＦ判定部１３は復号処理部１から出力された復号エラー情報が“復号エラー検出有”を示している場合、コンシールメント画像の生成指示をコンシールメント範囲設定部１４に出力するとともに、コンシールメント画像の選択を指示する画像選択信号を出力画像選択部２０に出力し、その復号エラー情報が“復号エラー検出無”を示している場合、復号画像蓄積部１１に蓄積されている復号画像の選択を指示する画像選択信号を出力画像選択部２０に出力する処理を実施する。なお、コンシールメントＯＮ／ＯＦＦ判定部１３はコンシールメント画像生成指示手段を構成している。
【００１５】
コンシールメント範囲設定部１４はコンシールメントＯＮ／ＯＦＦ判定部１３からコンシールメント画像の生成指示が出力されると、復号処理部１から出力された復号エラー情報に含まれているエラー検出位置情報を参照して、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定する処理を実施する。なお、コンシールメント範囲設定部１４はコンシールメント範囲設定手段を構成している。
【００１６】
隣接マクロブロック動きベクトル取得部１５はコンシールメント範囲設定部１４により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、復号パラメータ蓄積部１２に蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する処理を実施する。なお、隣接マクロブロック動きベクトル取得部１５は動きベクトル取得手段を構成している。
【００１７】
設定値保持部１６はコンシールメント範囲ブロック分割部１７により分割されるブロック（以下、「コンシールメントブロック」と称する）のサイズを示す設定値を保持しているＲＡＭやレジスタなどの記録媒体である。
コンシールメント範囲ブロック分割部１７は設定値保持部１６に保持されている設定値にしたがって、コンシールメント範囲設定部１４により設定されたコンシールメント範囲を複数のコンシールメントブロックに分割する処理を実施する。
なお、設定値保持部１６及びコンシールメント範囲ブロック分割部１７からブロック分割手段が構成されている。
【００１８】
コンシールメントブロック動きベクトル算出部１８は隣接マクロブロック動きベクトル取得部１５により取得されたマクロブロックの動きベクトルを用いて、コンシールメント範囲ブロック分割部１７により分割されたコンシールメントブロックの動きベクトルを算出する処理を実施する。なお、コンシールメントブロック動きベクトル算出部１８は動きベクトル算出手段を構成している。
コンシールメント画像生成部１９はコンシールメントブロック動きベクトル算出部１８により算出された動きベクトルを用いて、コンシールメント画像を生成する処理を実施する。なお、コンシールメント画像生成部１９はコンシールメント画像生成手段を構成している。
【００１９】
出力画像選択部２０はコンシールメントＯＮ／ＯＦＦ判定部１３から出力された画像選択信号がコンシールメント画像の選択を指示している場合、コンシールメント画像生成部１９により生成されたコンシールメント画像を選択して出力する一方、その画像選択信号が復号画像の選択を指示している場合、復号画像蓄積部１１に蓄積されている復号画像を選択して出力する処理を実施する。なお、出力画像選択部２０は出力画像選択手段を構成している。
【００２０】
図１の例では、復号装置の構成要素である復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、隣接マクロブロック動きベクトル取得部１５、コンシールメント範囲ブロック分割部１７、コンシールメントブロック動きベクトル算出部１８、コンシールメント画像生成部１９及び出力画像選択部２０のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、隣接マクロブロック動きベクトル取得部１５、コンシールメント範囲ブロック分割部１７、コンシールメントブロック動きベクトル算出部１８、コンシールメント画像生成部１９及び出力画像選択部２０の処理内容の全て又は一部を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００２１】
次に動作について説明する。
復号処理部１は、符号化装置側で可変長符号化されている符号化メディアデータを入力すると、その符号化メディアデータに対する復号処理を実施して復号画像を生成して、その復号画像をエラーコンシールメント装置２に出力するとともに、その符号化メディアデータを復号する際に使用した復号パラメータ（例えば、符号化方式がＨ．２６４である場合、画像内のスライス構成やマクロブロック毎の予測モード、動きベクトルなどのパラメータ）をエラーコンシールメント装置２に出力する。
また、復号処理部１は、復号エラーに関する復号エラー情報（例えば、復号エラーの検出有無、復号エラーが検出された画面内のエラー検出位置などを示す情報）をエラーコンシールメント装置２に出力する。
【００２２】
復号処理部１から出力された復号画像は、電気的ノイズ等が符号化メディアデータに混入していなければ、復号処理部１の復号処理で復号エラーが発生せずに、正常に復号された画像になるが、電気的ノイズ等が符号化メディアデータに混入していると、復号処理部１の復号処理で復号エラーが発生して、復号画像に乱れが生じる。
復号処理部１から出力された復号画像は、エラーコンシールメント装置２の復号画像蓄積部１１により一時的に蓄積される。
復号処理部１から出力された復号パラメータは、エラーコンシールメント装置２の復号パラメータ蓄積部１２により一時的に蓄積される。
【００２３】
エラーコンシールメント装置２のコンシールメントＯＮ／ＯＦＦ判定部１３は、復号処理部１から復号エラー情報を受けると、その復号エラー情報が“復号エラー検出有”を示している場合、コンシールメント画像の生成指示をコンシールメント範囲設定部１４に出力するとともに、コンシールメント画像の選択を指示する画像選択信号を出力画像選択部２０に出力する。
一方、その復号エラー情報が“復号エラー検出無”を示している場合、復号画像蓄積部１１に蓄積されている復号画像の選択を指示する画像選択信号を出力画像選択部２０に出力する。
【００２４】
ここでは、符号化メディアデータに対する復号処理において、１つでも復号エラーが検出されて、復号エラー情報が“復号エラー検出有”になると、コンシールメント画像の生成指示を出力することを想定しているが、復号エラーの内容や復号エラーの検出数を考慮して、コンシールメント画像の生成指示を出力するか否かを判定するようにしてもよい。
例えば、復号エラーが検出されても、復号画像に与える影響が小さい軽微な復号エラーであれば、コンシールメント画像の生成指示を出力せずに、復号画像に与える影響が大きい重大な復号エラーである場合に限り、コンシールメント画像の生成指示を出力するようにする方法や、復号エラーの検出数が例えば１つのスライス内で所定の閾値を超えている場合に限り、コンシールメント画像の生成指示を出力するようにする方法などが考えられる。
【００２５】
コンシールメント範囲設定部１４は、コンシールメントＯＮ／ＯＦＦ判定部１３からコンシールメント画像の生成指示が出力されると、復号処理部１から出力された復号エラー情報に含まれているエラー検出位置情報を参照して、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定する。
具体的には、復号エラー情報に含まれているエラー検出位置情報からエラー検出箇所を特定し、エラー検出箇所の直前のスライス先頭から、エラー検出箇所の直後のスライス先頭までをコンシールメント範囲に設定する。
ここで、コンシールメント範囲設定部１４が、コンシールメント範囲の開始位置をエラー検出箇所にせずに、エラー検出箇所の直前のスライス先頭まで遡っている理由は、下記の通りである。
【００２６】
例えば、符号化方式がＨ．２６４である場合、効率的な圧縮を行うために出現頻度に応じて符号長を変える可変長符号化が行われる。
この符号列にエラーが混入すると、エラー混入箇所以降の符号列とシンタックスの対応が本来の位置関係からずれてしまって、復号処理部１が誤った解釈を行うことになるが、本来の位置関係からずれた後の符号列にシンタックス上の違反がない場合、復号処理部１がエラーを検出できずに復号処理を継続し、符号列とシンタックスに不整合が発生した時点で初めてエラーを検出することになる。つまり、エラー検出位置より前の段階で既にデータが誤っている可能性がある。
【００２７】
Ｈ．２６４での符号化はスライス単位で行われているため、コンシールメント範囲の開始位置をエラーが検出されたスライスの先頭まで遡り、エラーが発生しているスライスの全体をコンシールメント範囲とすることで、当該復号画像の中で、エラーを含む可能性がある箇所を全て包含することができ、エラー混入箇所からエラー検出箇所までのノイズに対してもコンシールメント処理を行うことができる。
このため、コンシールメント範囲設定部１４は、コンシールメント範囲の開始位置をエラー検出箇所にせずに、エラー検出箇所の直前のスライス先頭まで遡っている。
ただし、コンシールメント範囲をエラーが混入している１つのスライスに限定するものではなく、複数のスライスをコンシールメント範囲としてもよい。
例えば、スライスヘッダ部にエラーが混入してスライスの区切りが判定不能になっているような場合には、連続する複数のスライスをコンシールメント範囲に設定すればよい。
【００２８】
図２はコンシールメント範囲設定部１４により設定されるコンシールメント範囲を示す説明図である。
復号画像３０は復号エラーが発生している画像であり、スライス３１，３２，３３，３４から構成されている。
図２の例では、エラー検出箇所がスライス３２内にあるため、スライス３２がコンシールメント範囲に設定されている。
図２において、３１１はスライス３２に隣接しているスライス３１のマクロブロックであり、３３１はスライス３２に隣接しているスライス３３のマクロブロックである。
また、３２１は後述するコンシールメント範囲ブロック分割部１７により分割されるコンシールメントブロックである。
【００２９】
コンシールメント範囲に設定されたスライス３２は、上述したように、復号エラーが発生している可能性がある箇所を漏れなく包含しているので、コンシールメント範囲外にある隣接のマクロブロック３１１，３３１は正常に復号された画像である。
画像には、空間的に近くにある画素同士は類似している可能性が高いという特徴があるため、コンシールメント範囲に設定されたスライス３２に隣接するマクロブロック３１１，３３１の動きベクトルは、コンシールメント範囲３２内の画素値を算出する動きベクトルを推定するために有用である。
そのため、隣接マクロブロック動きベクトル取得部１５は、コンシールメント範囲設定部１４がスライス３２をコンシールメント範囲に設定すると、そのスライス３２に隣接しているマクロブロック３１１，３３１を特定し、復号パラメータ蓄積部１２に蓄積されている復号パラメータの中から、そのマクロブロック３１１，３３１の動きベクトルを取得する。
【００３０】
コンシールメント範囲ブロック分割部１７は、コンシールメント範囲設定部１４がスライス３２をコンシールメント範囲に設定すると、設定値保持部１６に保持されている設定値（分割ブロックであるコンシールメントブロックのサイズを示す設定値）にしたがって、コンシールメント範囲であるスライス３２を複数のコンシールメントブロック３２１に分割する。
画像の中では、複数のものが様々な方向に動く場合があり、コンシールメント範囲内で、複数の動きに対応したコンシールメント処理を行うには、コンシールメント範囲をブロックに分割して、分割ブロック毎に動きベクトルを算出する必要があるため、コンシールメント範囲であるスライス３２を複数のコンシールメントブロック３２１に分割している。
【００３１】
なお、コンシールメントブロック３２１の分割は、設定値保持部１６に保持されている設定値にしたがって行われるが、コンシールメントブロック３２１の少なくとも１辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにブロック分割される。
図２の例では、コンシールメント範囲の高さ方向（上下方向）については上下に２分割し、幅方向（左右方向）については、３つのマクロブロックの間隔で分割している。分割を行わずに、コンシールメント範囲を一つのコンシールメントブロックとすることも可能である。
【００３２】
コンシールメントブロック動きベクトル算出部１８は、隣接マクロブロック動きベクトル取得部１５がマクロブロック３１１，３３１の動きベクトルを取得すると、マクロブロック３１１，３３１の動きベクトルを用いて、コンシールメント範囲ブロック分割部１７により分割されたコンシールメントブロック３２１の動きベクトルを算出する。
ここで、図３はコンシールメントブロック３２１の動きベクトルの算出方法を示す説明図である。
図３では、コンシールメント範囲内の複数のコンシールメントブロック３２１のうち、マクロブロック３３１と隣接しているコンシールメントブロック３２１の動きベクトルを算出する例を示している。
コンシールメントブロック３２１と隣接しているマクロブロック３３１ａ，３３１ｂ，３３１ｃは、それぞれ動きベクトル３３１ａｖ，３３１ｂｖ，３３１ｃｖを持っており、動きベクトル３３１ａｖ，３３１ｂｖ，３３１ｃｖを用いて、コンシールメントブロック３２１の動きベクトル３２１ｖを算出する。
例えば、動きベクトル３３１ａｖ，３３１ｂｖ，３３１ｃｖのメジアンを動きベクトル３２１ｖとする方法や、動きベクトル３３１ａｖ，３３１ｂｖ，３３１ｃｖの平均値を動きベクトル３２１ｖとする方法などがある。
【００３３】
コンシールメント画像生成部１９は、コンシールメントブロック動きベクトル算出部１８がコンシールメントブロック３２１の動きベクトル３２１ｖを算出すると、その動きベクトル３２１ｖを用いて、コンシールメントブロック３２１のコンシールメント画像を生成する。
なお、コンシールメントブロック３２１のコンシールメント画像を生成する際の参照画像は、復号画像蓄積部１１により蓄積されている復号画像を利用する。
【００３４】
コンシールメント範囲外（図２のスライス３１，３３，３４）は、復号エラーが発生していない箇所であるため、復号画像蓄積部１１からスライス３１，３３，３４の復号画像を取得し、その復号画像とコンシールメント範囲内（図２のスライス３２）の複数のコンシールメントブロック３２１のコンシールメント画像とを合わせた画像を復号画像３０のコンシールメント画像として出力画像選択部２０に出力する。
【００３５】
出力画像選択部２０は、コンシールメントＯＮ／ＯＦＦ判定部１３から出力された画像選択信号がコンシールメント画像の選択を指示している場合（復号エラーが発生している場合）、コンシールメント画像生成部１９により生成されたコンシールメント画像を選択し、そのコンシールメント画像を出力画像として出力する。
一方、その画像選択信号が復号画像の選択を指示している場合（復号エラーが発生していない場合）、復号画像蓄積部１１に蓄積されている復号画像を選択し、その復号画像を出力画像として出力する。
【００３６】
以上で明らかなように、この実施の形態１によれば、符号化メディアデータが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメントＯＮ／ＯＦＦ判定部１３と、コンシールメントＯＮ／ＯＦＦ判定部１３からコンシールメント画像の生成指示が出力されると、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定部１４と、コンシールメント範囲設定部１４により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、復号パラメータ蓄積部１２から上記マクロブロックの動きベクトルを取得する隣接マクロブロック動きベクトル取得部１５と、コンシールメント範囲設定部１４により設定されたコンシールメント範囲を複数のブロックに分割するコンシールメント範囲ブロック分割部１７と、隣接マクロブロック動きベクトル取得部１５により取得された動きベクトルを用いて、コンシールメント範囲ブロック分割部１７により分割されたブロックの動きベクトルを算出するコンシールメントブロック動きベクトル算出部１８と、コンシールメントブロック動きベクトル算出部１８により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成部１９とを設け、出力画像選択部２０が、コンシールメントＯＮ／ＯＦＦ判定部１３から出力された画像選択信号がコンシールメント画像の選択を指示している場合、コンシールメント画像生成部１９により生成されたコンシールメント画像を出力し、その画像選択信号が復号画像の選択を指示している場合、復号画像蓄積部１１により蓄積されている復号画像を出力するように構成したので、符号化メディアデータが可変長符号化方式で符号化されている場合でも、符号化メディアデータに対する復号処理時にエラーが発生したときに、再生時に違和感が少ないコンシールメント画像を生成し、品質が高い復号画像を滑らかに再生することができる効果を奏する。
【００３７】
実施の形態２．
上記実施の形態１では、コンシールメント範囲ブロック分割部１７が、コンシールメントブロック３２１の少なくとも１辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにコンシールメント範囲を分割し、コンシールメントブロック動きベクトル算出部１８が、コンシールメントブロック３２１の上側又は下側に隣接しているマクロブロック３１１，３３１の動きベクトルを用いて、コンシールメントブロック３２１の動きベクトルを算出するものを示したが、コンシールメント範囲設定部１４により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合、コンシールメント範囲の上下方向に分割すると、正常に復号されたマクロブロックと隣接していないコンシールメントブロックが現れてしまう。
例えば、コンシールメント範囲が画面の上端に位置している場合に、コンシールメント範囲を上下方向に２分割すると、上側のコンシールメントブロックは、正常に復号されたマクロブロックと隣接していないブロックとなる。
また、コンシールメント範囲が画面の下端に位置している場合に、コンシールメント範囲を上下方向に２分割すると、下側のコンシールメントブロックは、正常に復号されたマクロブロックと隣接していないブロックとなる。
【００３８】
そこで、この実施の形態２では、コンシールメント範囲設定部１４により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合、コンシールメント範囲ブロック分割部１７は、そのコンシールメント範囲の上下方向には分割を行わず、コンシールメント範囲を左右方向に分割して複数のコンシールメントブロックを得るようにする。
隣接マクロブロック動きベクトル取得部１５は、コンシールメント範囲ブロック分割部１７により画面の上端に位置しているコンシールメント範囲が左右方向に分割された場合、そのコンシールメント範囲の下側に隣接しているマクロブロックを特定して、復号パラメータ蓄積部１２から上記マクロブロックの動きベクトルを取得し、その動きベクトルをコンシールメントブロック動きベクトル算出部１８に出力する。
一方、コンシールメント範囲ブロック分割部１７により画面の下端に位置しているコンシールメント範囲が左右方向に分割された場合、そのコンシールメント範囲の上側に隣接しているマクロブロックを特定して、復号パラメータ蓄積部１２から上記マクロブロックの動きベクトルを取得し、その動きベクトルをコンシールメントブロック動きベクトル算出部１８に出力する。
【００３９】
これにより、コンシールメントブロック動きベクトル算出部１８は、画面の上端に位置しているコンシールメント範囲が左右方向に分割された場合、そのコンシールメント範囲の下側に隣接しているマクロブロックの動きベクトルを用いて、コンシールメントブロックの動きベクトルを算出することができる。
また、画面の下端に位置しているコンシールメント範囲が左右方向に分割された場合、そのコンシールメント範囲の上側に隣接しているマクロブロックの動きベクトルを用いて、コンシールメントブロックの動きベクトルを算出することができる。
【００４０】
以上で明らかなように、この実施の形態２によれば、コンシールメント範囲設定部１４により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合、コンシールメント範囲ブロック分割部１７が、コンシールメント範囲の上下方向には分割を行わず、コンシールメント範囲を左右方向に分割し、
隣接マクロブロック動きベクトル取得部１５が、コンシールメント範囲が画面の上端に位置している場合、コンシールメント範囲の下側に隣接しているマクロブロックを特定して、復号パラメータ蓄積部１２から上記マクロブロックの動きベクトルを取得し、コンシールメント範囲が画面の下端に位置している場合、コンシールメント範囲の上側に隣接しているマクロブロックを特定して、復号パラメータ蓄積部１２から上記マクロブロックの動きベクトルを取得するように構成しているので、コンシールメント範囲設定部１４により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合でも、コンシールメント範囲に隣接しているマクロブロックの動きベクトルを利用して、画像内の動きを考慮したコンシールメント画像を生成することができる効果を奏する。
【００４１】
実施の形態３．
上記実施の形態１では、コンシールメント範囲ブロック分割部１７が、コンシールメントブロック３２１の少なくとも１辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにコンシールメント範囲を分割するものを示したが、このような分割の制約があると、コンシールメント範囲が大きい場合、１つのコンシールメントブロック３２１の大きさが大きくなり、画像内の細かい動きに追従できないことがある。
そこで、この実施の形態３では、上記の制約を受けずに、より細かなコンシールメント範囲の分割を許容する例を説明する。
【００４２】
図４はこの発明の実施の形態３によるエラーコンシールメント装置を搭載している復号装置を示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
コンシールメント範囲ブロック分割部２１は図１のコンシールメント範囲ブロック分割部１７と同様に、設定値保持部１６に保持されている設定値にしたがって、コンシールメント範囲設定部１４により設定されたコンシールメント範囲を複数のコンシールメントブロックに分割する処理を実施する。
ただし、コンシールメント範囲ブロック分割部２１は図１のコンシールメント範囲ブロック分割部１７と異なり、コンシールメントブロック３２１の少なくとも１辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにコンシールメント範囲を分割するという制約を受けずに、より細かくコンシールメント範囲を分割する。
したがって、コンシールメント範囲内の複数のコンシールメントブロック３２１の中には、正常に復号されたマクロブロックと隣接していないブロックが含まれている。
なお、設定値保持部１６及びコンシールメント範囲ブロック分割部２１からブロック分割手段が構成されている。
【００４３】
過去画像動きベクトル取得部２２は復号エラーが発生している復号画像より時間的に前の復号画像（過去画像）の中で、コンシールメント範囲設定部１４により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部１２により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する処理を実施する。なお、過去画像動きベクトル取得部２２は動きベクトル取得手段を構成している。
【００４４】
図４の例では、復号装置の構成要素である復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、コンシールメント範囲ブロック分割部２１、過去画像動きベクトル取得部２２、コンシールメントブロック動きベクトル算出部１８、コンシールメント画像生成部１９及び出力画像選択部２０のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、コンシールメント範囲ブロック分割部２１、過去画像動きベクトル取得部２２、コンシールメントブロック動きベクトル算出部１８、コンシールメント画像生成部１９及び出力画像選択部２０の処理内容を記述しているプログラムの全て又は一部を当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００４５】
次に動作について説明する。
過去画像動きベクトル取得部２２は、上記実施の形態１と同様にして、コンシールメント範囲設定部１４がコンシールメント範囲を設定すると、復号エラーが発生している復号画像より時間的に前の復号画像（過去画像）の中で、そのコンシールメント範囲と同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部１２により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する。
具体的には、復号エラーが発生している復号画像と時間的に最も近い過去のＰピクチャを過去画像として、そのＰピクチャの中で、コンシールメントブロックと同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部１２により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する。
【００４６】
これは、時間的に近い画像は類似している可能性が高いという映像の特徴を利用するものであり、時間的に近い過去画像の動きベクトルは、コンシールメント範囲内の画素値を算出する動きベクトルを推定するために有用である。
ここでは、復号エラーが発生している復号画像と時間的に最も近い過去のＰピクチャを過去画像としているが、これは一例に過ぎず、例えば、過去画像として複数枚の画像を使用するようにしてもよい。
【００４７】
コンシールメントブロック動きベクトル算出部１８は、過去画像動きベクトル取得部２２がマクロブロックの動きベクトルを取得すると、上記実施の形態１と同様に、そのマクロブロックの動きベクトルを用いて、コンシールメント範囲ブロック分割部２１により分割されたコンシールメントブロックの動きベクトルを算出する。
算出方法としては、例えば、過去画像において、コンシールメントブロックと同位置のマクロブロックの動きベクトルのメジアンを用いる方法や、過去画像において、コンシールメントブロックと同位置のマクロブロックの動きベクトルの平均を用いる方法がある。
また、過去画像として、複数の画像を使用する場合は、エラーピクチャと過去画像の表示時間差を考慮して外挿補間を行う方法などがある。
【００４８】
以上で明らかなように、この実施の形態３によれば、過去画像動きベクトル取得部２２が、復号エラーが発生している復号画像より時間的に前の復号画像（過去画像）の中で、コンシールメント範囲設定部１４により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部１２により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得するように構成したので、コンシールメント範囲ブロック分割部２１が、コンシールメント範囲の境界の有無に縛られずに、コンシールメントブロックのサイズを小さくすることができるようになり、画像内の細かい動きに追従したコンシールメント画像を生成することができる効果を奏する。
【００４９】
実施の形態４．
上記実施の形態１では、エラーコンシールメント装置２が、コンシールメントブロックと隣接しているマクロブロックの動きベクトルを取得する隣接マクロブロック動きベクトル取得部１５を実装し、上記実施の形態４では、エラーコンシールメント装置２が、復号エラーが発生している復号画像より時間的に前の復号画像（過去画像）の中で、コンシールメント範囲と同じ位置にあるマクロブロックの動きベクトルを取得する過去画像動きベクトル取得部２２を実装しているものを示したが、隣接マクロブロック動きベクトル取得部１５と過去画像動きベクトル取得部２２の双方を実装するようにしていてもよい。
【００５０】
図５はこの発明の実施の形態４によるエラーコンシールメント装置を搭載している復号装置を示す構成図であり、図において、図１及び図４と同一符号は同一または相当部分を示すので説明を省略する。
コンシールメントブロック動きベクトル算出部２３はコンシールメント範囲ブロック分割部２１により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接しているブロックである場合、隣接マクロブロック動きベクトル取得部１５（第１の動きベクトル取得手段）により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出し、コンシールメント範囲ブロック分割部２１により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接していないブロックである場合、過去画像動きベクトル取得部２２（第２の動きベクトル取得手段）により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出する処理を実施する。なお、コンシールメントブロック動きベクトル算出部２３は動きベクトル算出手段を構成している。
【００５１】
図５の例では、復号装置の構成要素である復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、隣接マクロブロック動きベクトル取得部１５、コンシールメント範囲ブロック分割部２１、過去画像動きベクトル取得部２２、コンシールメントブロック動きベクトル算出部２３、コンシールメント画像生成部１９及び出力画像選択部２０のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、隣接マクロブロック動きベクトル取得部１５、コンシールメント範囲ブロック分割部２１、過去画像動きベクトル取得部２２、コンシールメントブロック動きベクトル算出部２３、コンシールメント画像生成部１９及び出力画像選択部２０の処理内容を記述しているプログラムの全て又は一部を当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００５２】
次に動作について説明する。
コンシールメント範囲ブロック分割部２１は、上記実施の形態３と同様に、設定値保持部１６に保持されている設定値にしたがって、コンシールメント範囲設定部１４により設定されたコンシールメント範囲を複数のコンシールメントブロックに分割する。
ただし、コンシールメント範囲ブロック分割部２１は、図１のコンシールメント範囲ブロック分割部１７と異なり、コンシールメントブロックの少なくとも１辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにコンシールメント範囲を分割するという制約を受けずに、より細かくコンシールメント範囲を分割する。
したがって、コンシールメント範囲内の複数のコンシールメントブロックの中には、正常に復号されたマクロブロックと隣接していないブロックが含まれている。
【００５３】
隣接マクロブロック動きベクトル取得部１５は、コンシールメント範囲設定部１４がコンシールメント範囲を設定すると、上記実施の形態１と同様に、そのコンシールメント範囲に隣接しているマクロブロックを特定し、復号パラメータ蓄積部１２に蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する。
過去画像動きベクトル取得部２２は、コンシールメント範囲設定部１４がコンシールメント範囲を設定すると、上記実施の形態３と同様に、復号エラーが発生している復号画像より時間的に前の復号画像（過去画像）の中で、そのコンシールメント範囲と同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部１２により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する。
【００５４】
ここで、図６はコンシールメント範囲設定部１４により設定されるコンシールメント範囲を示す説明図である。
復号画像３０は復号エラーが発生している画像であり、スライス３１，３２，３３，３４から構成されている。
図６の例では、エラー検出箇所がスライス３２内にあるため、スライス３２がコンシールメント範囲に設定されている。
ただし、図６の例では、図２の例と異なり、コンシールメント範囲の高さ方向（上下方向）については上下に４分割し、幅方向（左右方向）については、３つのマクロブロックの間隔で分割している。
【００５５】
コンシールメントブロック動きベクトル算出部２３は、コンシールメント範囲ブロック分割部２１により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接しているブロックである場合、図１のコンシールメントブロック動きベクトル算出部１８と同様にして、隣接マクロブロック動きベクトル取得部１５により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出する。
一方、コンシールメント範囲ブロック分割部２１により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接していないブロックである場合、図４のコンシールメントブロック動きベクトル算出部１８と同様にして、過去画像動きベクトル取得部２２により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出する。
【００５６】
図６の例では、正常に復号されたマクロブロック３１１と隣接しているコンシールメントブロック３２１の動きベクトルの算出に用いる動きベクトルは、隣接マクロブロック動きベクトル取得部１５により特定されたマクロブロック３１１の動きベクトルである。
一方、正常に復号されたマクロブロック３１１及びマクロブロック３３１のいずれにも隣接していないコンシールメントブロック３２２の動きベクトルの算出に用いる動きベクトルは、過去画像動きベクトル取得部２２により特定されたマクロブロックの動きベクトルである。
【００５７】
以上で明らかなように、この実施の形態４によれば、コンシールメントブロック動きベクトル算出部２３が、コンシールメント範囲ブロック分割部２１により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接しているブロックである場合、隣接マクロブロック動きベクトル取得部１５により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出し、コンシールメント範囲ブロック分割部２１により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接していないブロックである場合、過去画像動きベクトル取得部２２により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出するように構成したので、コンシールメント範囲が大きい場合でも、適切な大きさのコンシールメントブロックに分割することができるとともに、コンシールメント範囲の境界部では、隣接画像との不整合が小さいコンシールメント画像を生成することができる効果を奏する。
【００５８】
なお、この実施の形態４では、正常に復号されたマクロブロック３１１と隣接しているコンシールメントブロック３２１の動きベクトルの算出に用いる動きベクトルは、隣接マクロブロック動きベクトル取得部１５により特定されたマクロブロック３１１の動きベクトルである例を示したが、例えば、過去画像におけるコンシールメント範囲の動きベクトルとコンシールメント範囲外の動きベクトルとの類似度に基づいて、いずれの動きベクトルを用いるかを判定し、いずれかの動きベクトルを用いるようにしてもよい。
【００５９】
実施の形態５．
上記実施の形態１〜４では、コンシールメント範囲ブロック分割部１７，２１が、設定値保持部１６に保持されている設定値にしたがって、コンシールメント範囲を一定のサイズのコンシールメントブロックに分割するものを示したが、画像内に細かな動きが混在する場合、コンシールメントブロックの分割サイズを変更するようにしてもよい。
【００６０】
図７はこの発明の実施の形態５によるエラーコンシールメント装置を搭載している復号装置を示す構成図であり、図において、図５と同一符号は同一または相当部分を示すので説明を省略する。
動き均一性算出部２４はコンシールメント範囲設定部１４により設定されたコンシールメント範囲内の画像の動きの均一性を算出し、画像の動きの均一性に対応する分割サイズをコンシールメント範囲ブロック分割部２５に指示する処理を実施する。
コンシールメント範囲ブロック分割部２５はコンシールメント範囲設定部１４により設定されたコンシールメント範囲を動き均一性算出部２４により指示された分割サイズで分割する処理を実施する。
なお、動き均一性算出部２４及びコンシールメント範囲ブロック分割部２５からブロック分割手段が構成されている。
【００６１】
図７の例では、復号装置の構成要素である復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、隣接マクロブロック動きベクトル取得部１５、過去画像動きベクトル取得部２２、コンシールメントブロック動きベクトル算出部２３、動き均一性算出部２４、コンシールメント範囲ブロック分割部２５、コンシールメント画像生成部１９及び出力画像選択部２０のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、隣接マクロブロック動きベクトル取得部１５、過去画像動きベクトル取得部２２、コンシールメントブロック動きベクトル算出部２３、動き均一性算出部２４、コンシールメント範囲ブロック分割部２５、コンシールメント画像生成部１９及び出力画像選択部２０の処理内容を記述しているプログラムの全て又は一部を当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００６２】
次に動作について説明する。
動き均一性算出部２４は、上記実施の形態１と同様にして、コンシールメント範囲設定部１４がコンシールメント範囲を設定すると、そのコンシールメント範囲内の画像の動きの均一性を算出する。
例えば、設定値保持部１６により保持されている設定値にしたがって、コンシールメント範囲を複数のコンシールメントブロックに分割し、過去画像の中で、複数のコンシールメントブロックと同じ位置にある各マクロブロックの動きベクトルの分散を、動きの均一性を示す指標として算出する。
【００６３】
動き均一性算出部２４は、コンシールメント範囲内の画像の動きの均一性を算出すると、その算出結果を所定の閾値と比較することで、動きの均一性が低い場合、設定値保持部１６により保持されている設定値が示す分割サイズより小さな分割サイズをコンシールメント範囲ブロック分割部２５に指示する。
一方、動きの均一性が高い場合、設定値保持部１６により保持されている設定値が示す分割サイズより大きな分割サイズをコンシールメント範囲ブロック分割部２５に指示する。
動きの均一性が中程度の場合、設定値保持部１６により保持されている設定値が示す分割サイズをコンシールメント範囲ブロック分割部２５に指示する。
【００６４】
コンシールメント範囲ブロック分割部２５は、動き均一性算出部２４から分割サイズの指示を受けると、コンシールメント範囲設定部１４により設定されたコンシールメント範囲を指示された分割サイズで分割する。
【００６５】
ここでは、コンシールメント範囲ブロック分割部２５が、動き均一性算出部２４により指示された分割サイズでコンシールメント範囲を分割するものを示したが、設定値保持部１６により保持されている設定値が示す分割サイズでコンシールメント範囲を複数のコンシールメントブロックに分割した後、動き均一性算出部２４により算出された均一性が低い場合、そのコンシールメントブロックを更に分割するようにしてもよい。
一方、動き均一性算出部２４により算出された均一性が高い場合、幾つかのコンシールメントブロックを結合して分割サイズを大きくするようにする。
【００６６】
また、動き均一性算出部２４がコンシールメント範囲内の画像の動きの均一性に応じて、分割サイズを３段階に設定するものを示したが（均一性低用の分割サイズ、均一性中用の分割サイズ、均一性高用の分割サイズ）、画像の動きの均一性が低い程、コンシールメント範囲を細かく分割すればよく、例えば、分割サイズを４段階以上に設定するようにしてもよい。
【００６７】
以上で明らかなように、この実施の形態５によれば、コンシールメント範囲設定部１４により設定されたコンシールメント範囲内の画像の動きの均一性を算出し、画像の動きの均一性が低い程、そのコンシールメント範囲を細かく分割するように構成したので、画像内の動きに追従しているコンシールメント画像を生成することができる効果を奏する。
【００６８】
実施の形態６．
上記実施の形態１〜４では、コンシールメント範囲ブロック分割部１７，２１が、設定値保持部１６に保持されている設定値にしたがって、コンシールメント範囲を一定のサイズのコンシールメントブロックに分割するものを示したが、画像内の複雑さに応じて、コンシールメントブロックの分割サイズを変更するようにしてもよい。
【００６９】
図８はこの発明の実施の形態６によるエラーコンシールメント装置を搭載している復号装置を示す構成図であり、図において、図５と同一符号は同一または相当部分を示すので説明を省略する。
画像複雑さ算出部２６はコンシールメント範囲設定部１４により設定されたコンシールメント範囲内の画像の複雑さを算出し、画像の複雑さに対応する分割サイズをコンシールメント範囲ブロック分割部２７に指示する処理を実施する。
コンシールメント範囲ブロック分割部２７はコンシールメント範囲設定部１４により設定されたコンシールメント範囲を画像複雑さ算出部２６により指示された分割サイズで分割する処理を実施する。
なお、画像複雑さ算出部２６及びコンシールメント範囲ブロック分割部２７からブロック分割手段が構成されている。
【００７０】
図８の例では、復号装置の構成要素である復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、隣接マクロブロック動きベクトル取得部１５、過去画像動きベクトル取得部２２、コンシールメントブロック動きベクトル算出部２３、画像複雑さ算出部２６、コンシールメント範囲ブロック分割部２７、コンシールメント画像生成部１９及び出力画像選択部２０のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部１、コンシールメントＯＮ／ＯＦＦ判定部１３、コンシールメント範囲設定部１４、隣接マクロブロック動きベクトル取得部１５、過去画像動きベクトル取得部２２、コンシールメントブロック動きベクトル算出部２３、画像複雑さ算出部２６、コンシールメント範囲ブロック分割部２７、コンシールメント画像生成部１９及び出力画像選択部２０の処理内容を記述しているプログラムの全て又は一部を当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００７１】
次に動作について説明する。
画像複雑さ算出部２６は、上記実施の形態１と同様にして、コンシールメント範囲設定部１４がコンシールメント範囲を設定すると、そのコンシールメント範囲内の画像の複雑さを算出する。
例えば、設定値保持部１６により保持されている設定値にしたがって、コンシールメント範囲を複数のコンシールメントブロックに分割し、過去画像の中で、複数のコンシールメントブロックと同じ位置にある各マクロブロックのＱＰ値の平均値を、画像の複雑さを示す指標として算出する。
【００７２】
画像複雑さ算出部２６は、コンシールメント範囲内の画像の複雑さを算出すると、その算出結果を所定の閾値と比較することで、画像の複雑さが高い場合、設定値保持部１６により保持されている設定値が示す分割サイズより小さな分割サイズをコンシールメント範囲ブロック分割部２５に指示する。
一方、画像の複雑さが低い場合、設定値保持部１６により保持されている設定値が示す分割サイズより大きな分割サイズをコンシールメント範囲ブロック分割部２５に指示する。
画像の複雑さが中程度の場合、設定値保持部１６により保持されている設定値が示す分割サイズをコンシールメント範囲ブロック分割部２５に指示する。
【００７３】
コンシールメント範囲ブロック分割部２７は、画像複雑さ算出部２６から分割サイズの指示を受けると、コンシールメント範囲設定部１４により設定されたコンシールメント範囲を指示された分割サイズで分割する。
【００７４】
ここでは、コンシールメント範囲ブロック分割部２７が、画像複雑さ算出部２６により指示された分割サイズでコンシールメント範囲を分割するものを示したが、設定値保持部１６により保持されている設定値が示す分割サイズでコンシールメント範囲を複数のコンシールメントブロックに分割した後、画像複雑さ算出部２６により算出された画像の複雑さが高い場合、そのコンシールメントブロックを更に分割するようにしてもよい。
一方、画像複雑さ算出部２６により算出された画像の複雑さが低い場合、幾つかのコンシールメントブロックを結合して分割サイズを大きくするようにする。
【００７５】
また、画像複雑さ算出部２６がコンシールメント範囲内の画像の複雑さに応じて、分割サイズを３段階に設定するものを示したが（複雑さ低用の分割サイズ、複雑さ中用の分割サイズ、複雑さ高用の分割サイズ）、画像の複雑さが高い程、コンシールメント範囲を細かく分割すればよく、例えば、分割サイズを４段階以上に設定するようにしてもよい。
【００７６】
以上で明らかなように、この実施の形態６によれば、コンシールメント範囲設定部１４により設定されたコンシールメント範囲内の画像の複雑さを算出し、画像の複雑さが高い程、そのコンシールメント範囲を細かく分割するように構成したので、画像内の複雑さを反映しているコンシールメント画像を生成することができる効果を奏する。
【００７７】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００７８】
１  復号処理部（復号処理手段）、２  エラーコンシールメント装置、１１  復号画像蓄積部（蓄積手段）、１２  復号パラメータ蓄積部（蓄積手段）、１３  コンシールメントＯＮ／ＯＦＦ判定部（コンシールメント画像生成指示手段）、１４，２５，２７  コンシールメント範囲設定部（コンシールメント範囲設定手段）、１５  隣接マクロブロック動きベクトル取得部（動きベクトル取得手段）、１６  設定値保持部（ブロック分割手段）、１７，２１  コンシールメント範囲ブロック分割部（ブロック分割手段）、１８，２３  コンシールメントブロック動きベクトル算出部（動きベクトル算出手段）、１９  コンシールメント画像生成部（コンシールメント画像生成手段）、２０  出力画像選択部（出力画像選択手段）、２２  過去画像動きベクトル取得部（動きベクトル取得手段）、２４  動き均一性算出部（ブロック分割手段）、２６  画像複雑さ算出部（ブロック分割手段）、３０  復号画像、３１，３２，３３，３４  スライス、３１１，３３１，３３１ａ，３３１ｂ，３３１ｃ  マクロブロック、３２１，３２２  コンシールメントブロック、３２１ｖ，３３１ａｖ，３３１ｂｖ，３３１ｃｖ  動きベクトル。
【図１】
0005649412.tif 000002
【図２】
0005649412.tif 000003
【図３】
0005649412.tif 000004
【図４】
0005649412.tif 000005
【図５】
0005649412.tif 000006
【図６】
0005649412.tif 000007
【図７】
0005649412.tif 000008
【図８】
0005649412.tif 000009