JP5649412B2 - エラーコンシールメント装置及び復号装置 - Google Patents

エラーコンシールメント装置及び復号装置 Download PDF

Info

Publication number
JP5649412B2
JP5649412B2 JP2010253722A JP2010253722A JP5649412B2 JP 5649412 B2 JP5649412 B2 JP 5649412B2 JP 2010253722 A JP2010253722 A JP 2010253722A JP 2010253722 A JP2010253722 A JP 2010253722A JP 5649412 B2 JP5649412 B2 JP 5649412B2
Authority
JP
Japan
Prior art keywords
concealment
image
motion vector
unit
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010253722A
Other languages
English (en)
Other versions
JP2012105178A (ja
Inventor
浩志 中田
浩志 中田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010253722A priority Critical patent/JP5649412B2/ja
Publication of JP2012105178A publication Critical patent/JP2012105178A/ja
Application granted granted Critical
Publication of JP5649412B2 publication Critical patent/JP5649412B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

この発明は、復号画像内で復号エラーが発生している場合、エラーコンシールメント処理を実施するエラーコンシールメント装置と、そのエラーコンシールメント装置を実装している復号装置とに関するものである。
従来より、映像や音声などのメディアデータを記録/伝送する際、MPEG−2やH.264などの方式による符号化を実施してデータ量を圧縮することが一般的に行われている。
符号化が実施された場合、メディアデータを再生する際、そのメディアデータの符号化データを元の形式に復号する必要があるが、記録媒体からの読み出し時や、ネットワークを介する伝送時に、電気的ノイズなどによってメディアデータの符号化データにエラーが混入すると、メディアデータの符号化データを復号する復号装置が、正常にメディアデータを復号することができず、出力映像にノイズが加わったり、復号処理を継続できなくなったりしてしまうことがある。
そのため、復号装置の中には、エラーを含んでいる符号化データを受信すると、そのエラーを隠蔽して、出力映像の画質劣化を低減させるエラーコンシールメント装置を搭載しているものがある。
従来のエラーコンシールメント装置では、復号処理中に復号エラーを検出すると、復号エラーの検出箇所から、次に正常に復号処理を開始できるまでの領域に対して、既に正常に復号できている過去画像(例えば、時間的に最も近いI/Pピクチャの同位置の画素値)を適用する手法がとられている。
これは、時間的に近い画像は、類似していることが多いという映像の特徴を利用しているものであり、この手法を適用すると、エラーによって復号処理を継続できなくなった箇所を過去の類似画像で埋めた修正画像を得ることができる。
以下の特許文献1には、エラーが検出されたマクロブロック(以下、「エラーマクロブロック」と称する)の近傍のマクロブロックの動きベクトルからエラーマクロブロックの動きベクトルを推定し、その動きベクトルからエラーマクロブロックの画素値を算出するエラーコンシールメント装置が開示されている。
これは、空間的に近い画素は、類似していることが多いという画像の特徴を利用しているものであり、この手法を適用すると、映像内の動きが考慮された修正画像を得ることができる。
特許第3496378号(段落番号[0006])
従来のエラーコンシールメント装置は以上のように構成されているので、既に正常に復号できている過去画像を使用してコンシールメント処理を行う場合、コンシールメント処理が行われた箇所で動きが止まったり、戻ったりするなど、滑らかに映像が再生されなくなることがある課題があった。
また、エラーマクロブロックの近傍のマクロブロックの動きベクトルからエラーマクロブロックの動きベクトルを推定し、その動きベクトルからエラーマクロブロックの画素値を算出する場合、映像内の動きが考慮された修正画像が得られる。しかし、H.264等では、圧縮効果を高めるために可変長符号化を行っているため、エラー検出箇所とエラー発生箇所が異なることが多く、エラー発生箇所以降のデータは本来と異なる解釈が行われてしまうので、エラーマクロブロックの近傍のマクロブロックが正常に復号できているとは限らない。そのため、近傍のマクロブロックの動きベクトルを利用して、エラーマクロブロックのコンシールメント処理を行っても、復号映像を十分な品質で修正することができないことがある課題があった。
この発明は上記のような課題を解決するためになされたもので、符号化データが可変長符号化方式で符号化されている場合でも、符号化データに対する復号処理時にエラーが発生したときに、再生時に違和感が少ないコンシールメント画像を生成し、品質が高い復号画像を滑らかに再生することができるエラーコンシールメント装置及び復号装置を得ることを目的とする。
この発明に係るエラーコンシールメント装置は、符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、動きベクトル取得手段により取得された動きベクトルを用いて、ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段とを設け、出力画像選択手段が、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、蓄積手段により蓄積されている復号画像を出力するようにしたものである。
また、ブロック分割手段が、コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、そのコンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、そのコンシールメント範囲内の画像の動きの均一性が低い程、そのコンシールメント範囲を細かく分割するようにしたものである。
この発明によれば、符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、動きベクトル取得手段により取得された動きベクトルを用いて、ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段とを設け、出力画像選択手段が、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、蓄積手段により蓄積されている復号画像を出力するように構成したので、符号化データが可変長符号化方式で符号化されている場合でも、符号化データに対する復号処理時にエラーが発生したときに、再生時に違和感が少ないコンシールメント画像を生成し、品質が高い復号画像を滑らかに再生することができる効果がある。
また、ブロック分割手段が、コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、そのコンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、そのコンシールメント範囲内の画像の動きの均一性が低い程、そのコンシールメント範囲を細かく分割するように構成したので、画像内の動きに追従しているコンシールメント画像を生成することができる効果がある。
この発明の実施の形態1によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。 コンシールメント範囲設定部14により設定されるコンシールメント範囲を示す説明図である。 コンシールメントブロック321の動きベクトルの算出方法を示す説明図である。 この発明の実施の形態3によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。 この発明の実施の形態4によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。 コンシールメント範囲設定部14により設定されるコンシールメント範囲を示す説明図である。 この発明の実施の形態5によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。 この発明の実施の形態6によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。
実施の形態1.
図1はこの発明の実施の形態1によるエラーコンシールメント装置を搭載している復号装置を示す構成図である。
図1において、復号処理部1は符号化装置側で可変長符号化されているメディアデータ(以下、「符号化メディアデータ」と称する)を入力すると、その符号化メディアデータに対する復号処理を実施して復号画像を生成し、その復号画像と符号化メディアデータを復号する際に使用した復号パラメータ(例えば、符号化方式がH.264である場合、画像内のスライス構成やマクロブロック毎の予測モード、動きベクトルなどのパラメータ)をエラーコンシールメント装置2に出力する処理を実施する。
また、復号処理部1は復号エラーに関する復号エラー情報(例えば、復号エラーの検出有無、復号エラーが検出された画面内のエラー検出位置などを示す情報)をエラーコンシールメント装置2に出力する処理を実施する。
なお、復号処理部1は復号処理手段を構成している。
エラーコンシールメント装置2は復号処理部1から出力された復号エラー情報が“復号エラー検出無”を示していれば、復号処理部1から出力された復号画像をそのまま出力するが、その復号エラー情報が“復号エラー検出有”を示していれば、コンシールメント画像を生成して、そのコンシールメント画像を出力する装置である。
エラーコンシールメント装置2の復号画像蓄積部11は復号処理部1から出力された復号画像を一時的に蓄積するRAMやハードディスクなどの記録媒体である。
復号パラメータ蓄積部12は復号処理部1から出力された復号パラメータを一時的に蓄積するRAMやハードディスクなどの記録媒体である。
なお、復号画像蓄積部11及び復号パラメータ蓄積部12から蓄積手段が構成されている。
コンシールメントON/OFF判定部13は復号処理部1から出力された復号エラー情報が“復号エラー検出有”を示している場合、コンシールメント画像の生成指示をコンシールメント範囲設定部14に出力するとともに、コンシールメント画像の選択を指示する画像選択信号を出力画像選択部20に出力し、その復号エラー情報が“復号エラー検出無”を示している場合、復号画像蓄積部11に蓄積されている復号画像の選択を指示する画像選択信号を出力画像選択部20に出力する処理を実施する。なお、コンシールメントON/OFF判定部13はコンシールメント画像生成指示手段を構成している。
コンシールメント範囲設定部14はコンシールメントON/OFF判定部13からコンシールメント画像の生成指示が出力されると、復号処理部1から出力された復号エラー情報に含まれているエラー検出位置情報を参照して、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定する処理を実施する。なお、コンシールメント範囲設定部14はコンシールメント範囲設定手段を構成している。
隣接マクロブロック動きベクトル取得部15はコンシールメント範囲設定部14により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、復号パラメータ蓄積部12に蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する処理を実施する。なお、隣接マクロブロック動きベクトル取得部15は動きベクトル取得手段を構成している。
設定値保持部16はコンシールメント範囲ブロック分割部17により分割されるブロック(以下、「コンシールメントブロック」と称する)のサイズを示す設定値を保持しているRAMやレジスタなどの記録媒体である。
コンシールメント範囲ブロック分割部17は設定値保持部16に保持されている設定値にしたがって、コンシールメント範囲設定部14により設定されたコンシールメント範囲を複数のコンシールメントブロックに分割する処理を実施する。
なお、設定値保持部16及びコンシールメント範囲ブロック分割部17からブロック分割手段が構成されている。
コンシールメントブロック動きベクトル算出部18は隣接マクロブロック動きベクトル取得部15により取得されたマクロブロックの動きベクトルを用いて、コンシールメント範囲ブロック分割部17により分割されたコンシールメントブロックの動きベクトルを算出する処理を実施する。なお、コンシールメントブロック動きベクトル算出部18は動きベクトル算出手段を構成している。
コンシールメント画像生成部19はコンシールメントブロック動きベクトル算出部18により算出された動きベクトルを用いて、コンシールメント画像を生成する処理を実施する。なお、コンシールメント画像生成部19はコンシールメント画像生成手段を構成している。
出力画像選択部20はコンシールメントON/OFF判定部13から出力された画像選択信号がコンシールメント画像の選択を指示している場合、コンシールメント画像生成部19により生成されたコンシールメント画像を選択して出力する一方、その画像選択信号が復号画像の選択を指示している場合、復号画像蓄積部11に蓄積されている復号画像を選択して出力する処理を実施する。なお、出力画像選択部20は出力画像選択手段を構成している。
図1の例では、復号装置の構成要素である復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、隣接マクロブロック動きベクトル取得部15、コンシールメント範囲ブロック分割部17、コンシールメントブロック動きベクトル算出部18、コンシールメント画像生成部19及び出力画像選択部20のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、隣接マクロブロック動きベクトル取得部15、コンシールメント範囲ブロック分割部17、コンシールメントブロック動きベクトル算出部18、コンシールメント画像生成部19及び出力画像選択部20の処理内容の全て又は一部を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
次に動作について説明する。
復号処理部1は、符号化装置側で可変長符号化されている符号化メディアデータを入力すると、その符号化メディアデータに対する復号処理を実施して復号画像を生成して、その復号画像をエラーコンシールメント装置2に出力するとともに、その符号化メディアデータを復号する際に使用した復号パラメータ(例えば、符号化方式がH.264である場合、画像内のスライス構成やマクロブロック毎の予測モード、動きベクトルなどのパラメータ)をエラーコンシールメント装置2に出力する。
また、復号処理部1は、復号エラーに関する復号エラー情報(例えば、復号エラーの検出有無、復号エラーが検出された画面内のエラー検出位置などを示す情報)をエラーコンシールメント装置2に出力する。
復号処理部1から出力された復号画像は、電気的ノイズ等が符号化メディアデータに混入していなければ、復号処理部1の復号処理で復号エラーが発生せずに、正常に復号された画像になるが、電気的ノイズ等が符号化メディアデータに混入していると、復号処理部1の復号処理で復号エラーが発生して、復号画像に乱れが生じる。
復号処理部1から出力された復号画像は、エラーコンシールメント装置2の復号画像蓄積部11により一時的に蓄積される。
復号処理部1から出力された復号パラメータは、エラーコンシールメント装置2の復号パラメータ蓄積部12により一時的に蓄積される。
エラーコンシールメント装置2のコンシールメントON/OFF判定部13は、復号処理部1から復号エラー情報を受けると、その復号エラー情報が“復号エラー検出有”を示している場合、コンシールメント画像の生成指示をコンシールメント範囲設定部14に出力するとともに、コンシールメント画像の選択を指示する画像選択信号を出力画像選択部20に出力する。
一方、その復号エラー情報が“復号エラー検出無”を示している場合、復号画像蓄積部11に蓄積されている復号画像の選択を指示する画像選択信号を出力画像選択部20に出力する。
ここでは、符号化メディアデータに対する復号処理において、1つでも復号エラーが検出されて、復号エラー情報が“復号エラー検出有”になると、コンシールメント画像の生成指示を出力することを想定しているが、復号エラーの内容や復号エラーの検出数を考慮して、コンシールメント画像の生成指示を出力するか否かを判定するようにしてもよい。
例えば、復号エラーが検出されても、復号画像に与える影響が小さい軽微な復号エラーであれば、コンシールメント画像の生成指示を出力せずに、復号画像に与える影響が大きい重大な復号エラーである場合に限り、コンシールメント画像の生成指示を出力するようにする方法や、復号エラーの検出数が例えば1つのスライス内で所定の閾値を超えている場合に限り、コンシールメント画像の生成指示を出力するようにする方法などが考えられる。
コンシールメント範囲設定部14は、コンシールメントON/OFF判定部13からコンシールメント画像の生成指示が出力されると、復号処理部1から出力された復号エラー情報に含まれているエラー検出位置情報を参照して、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定する。
具体的には、復号エラー情報に含まれているエラー検出位置情報からエラー検出箇所を特定し、エラー検出箇所の直前のスライス先頭から、エラー検出箇所の直後のスライス先頭までをコンシールメント範囲に設定する。
ここで、コンシールメント範囲設定部14が、コンシールメント範囲の開始位置をエラー検出箇所にせずに、エラー検出箇所の直前のスライス先頭まで遡っている理由は、下記の通りである。
例えば、符号化方式がH.264である場合、効率的な圧縮を行うために出現頻度に応じて符号長を変える可変長符号化が行われる。
この符号列にエラーが混入すると、エラー混入箇所以降の符号列とシンタックスの対応が本来の位置関係からずれてしまって、復号処理部1が誤った解釈を行うことになるが、本来の位置関係からずれた後の符号列にシンタックス上の違反がない場合、復号処理部1がエラーを検出できずに復号処理を継続し、符号列とシンタックスに不整合が発生した時点で初めてエラーを検出することになる。つまり、エラー検出位置より前の段階で既にデータが誤っている可能性がある。
H.264での符号化はスライス単位で行われているため、コンシールメント範囲の開始位置をエラーが検出されたスライスの先頭まで遡り、エラーが発生しているスライスの全体をコンシールメント範囲とすることで、当該復号画像の中で、エラーを含む可能性がある箇所を全て包含することができ、エラー混入箇所からエラー検出箇所までのノイズに対してもコンシールメント処理を行うことができる。
このため、コンシールメント範囲設定部14は、コンシールメント範囲の開始位置をエラー検出箇所にせずに、エラー検出箇所の直前のスライス先頭まで遡っている。
ただし、コンシールメント範囲をエラーが混入している1つのスライスに限定するものではなく、複数のスライスをコンシールメント範囲としてもよい。
例えば、スライスヘッダ部にエラーが混入してスライスの区切りが判定不能になっているような場合には、連続する複数のスライスをコンシールメント範囲に設定すればよい。
図2はコンシールメント範囲設定部14により設定されるコンシールメント範囲を示す説明図である。
復号画像30は復号エラーが発生している画像であり、スライス31,32,33,34から構成されている。
図2の例では、エラー検出箇所がスライス32内にあるため、スライス32がコンシールメント範囲に設定されている。
図2において、311はスライス32に隣接しているスライス31のマクロブロックであり、331はスライス32に隣接しているスライス33のマクロブロックである。
また、321は後述するコンシールメント範囲ブロック分割部17により分割されるコンシールメントブロックである。
コンシールメント範囲に設定されたスライス32は、上述したように、復号エラーが発生している可能性がある箇所を漏れなく包含しているので、コンシールメント範囲外にある隣接のマクロブロック311,331は正常に復号された画像である。
画像には、空間的に近くにある画素同士は類似している可能性が高いという特徴があるため、コンシールメント範囲に設定されたスライス32に隣接するマクロブロック311,331の動きベクトルは、コンシールメント範囲32内の画素値を算出する動きベクトルを推定するために有用である。
そのため、隣接マクロブロック動きベクトル取得部15は、コンシールメント範囲設定部14がスライス32をコンシールメント範囲に設定すると、そのスライス32に隣接しているマクロブロック311,331を特定し、復号パラメータ蓄積部12に蓄積されている復号パラメータの中から、そのマクロブロック311,331の動きベクトルを取得する。
コンシールメント範囲ブロック分割部17は、コンシールメント範囲設定部14がスライス32をコンシールメント範囲に設定すると、設定値保持部16に保持されている設定値(分割ブロックであるコンシールメントブロックのサイズを示す設定値)にしたがって、コンシールメント範囲であるスライス32を複数のコンシールメントブロック321に分割する。
画像の中では、複数のものが様々な方向に動く場合があり、コンシールメント範囲内で、複数の動きに対応したコンシールメント処理を行うには、コンシールメント範囲をブロックに分割して、分割ブロック毎に動きベクトルを算出する必要があるため、コンシールメント範囲であるスライス32を複数のコンシールメントブロック321に分割している。
なお、コンシールメントブロック321の分割は、設定値保持部16に保持されている設定値にしたがって行われるが、コンシールメントブロック321の少なくとも1辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにブロック分割される。
図2の例では、コンシールメント範囲の高さ方向(上下方向)については上下に2分割し、幅方向(左右方向)については、3つのマクロブロックの間隔で分割している。分割を行わずに、コンシールメント範囲を一つのコンシールメントブロックとすることも可能である。
コンシールメントブロック動きベクトル算出部18は、隣接マクロブロック動きベクトル取得部15がマクロブロック311,331の動きベクトルを取得すると、マクロブロック311,331の動きベクトルを用いて、コンシールメント範囲ブロック分割部17により分割されたコンシールメントブロック321の動きベクトルを算出する。
ここで、図3はコンシールメントブロック321の動きベクトルの算出方法を示す説明図である。
図3では、コンシールメント範囲内の複数のコンシールメントブロック321のうち、マクロブロック331と隣接しているコンシールメントブロック321の動きベクトルを算出する例を示している。
コンシールメントブロック321と隣接しているマクロブロック331a,331b,331cは、それぞれ動きベクトル331av,331bv,331cvを持っており、動きベクトル331av,331bv,331cvを用いて、コンシールメントブロック321の動きベクトル321vを算出する。
例えば、動きベクトル331av,331bv,331cvのメジアンを動きベクトル321vとする方法や、動きベクトル331av,331bv,331cvの平均値を動きベクトル321vとする方法などがある。
コンシールメント画像生成部19は、コンシールメントブロック動きベクトル算出部18がコンシールメントブロック321の動きベクトル321vを算出すると、その動きベクトル321vを用いて、コンシールメントブロック321のコンシールメント画像を生成する。
なお、コンシールメントブロック321のコンシールメント画像を生成する際の参照画像は、復号画像蓄積部11により蓄積されている復号画像を利用する。
コンシールメント範囲外(図2のスライス31,33,34)は、復号エラーが発生していない箇所であるため、復号画像蓄積部11からスライス31,33,34の復号画像を取得し、その復号画像とコンシールメント範囲内(図2のスライス32)の複数のコンシールメントブロック321のコンシールメント画像とを合わせた画像を復号画像30のコンシールメント画像として出力画像選択部20に出力する。
出力画像選択部20は、コンシールメントON/OFF判定部13から出力された画像選択信号がコンシールメント画像の選択を指示している場合(復号エラーが発生している場合)、コンシールメント画像生成部19により生成されたコンシールメント画像を選択し、そのコンシールメント画像を出力画像として出力する。
一方、その画像選択信号が復号画像の選択を指示している場合(復号エラーが発生していない場合)、復号画像蓄積部11に蓄積されている復号画像を選択し、その復号画像を出力画像として出力する。
以上で明らかなように、この実施の形態1によれば、符号化メディアデータが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメントON/OFF判定部13と、コンシールメントON/OFF判定部13からコンシールメント画像の生成指示が出力されると、復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定部14と、コンシールメント範囲設定部14により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、復号パラメータ蓄積部12から上記マクロブロックの動きベクトルを取得する隣接マクロブロック動きベクトル取得部15と、コンシールメント範囲設定部14により設定されたコンシールメント範囲を複数のブロックに分割するコンシールメント範囲ブロック分割部17と、隣接マクロブロック動きベクトル取得部15により取得された動きベクトルを用いて、コンシールメント範囲ブロック分割部17により分割されたブロックの動きベクトルを算出するコンシールメントブロック動きベクトル算出部18と、コンシールメントブロック動きベクトル算出部18により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成部19とを設け、出力画像選択部20が、コンシールメントON/OFF判定部13から出力された画像選択信号がコンシールメント画像の選択を指示している場合、コンシールメント画像生成部19により生成されたコンシールメント画像を出力し、その画像選択信号が復号画像の選択を指示している場合、復号画像蓄積部11により蓄積されている復号画像を出力するように構成したので、符号化メディアデータが可変長符号化方式で符号化されている場合でも、符号化メディアデータに対する復号処理時にエラーが発生したときに、再生時に違和感が少ないコンシールメント画像を生成し、品質が高い復号画像を滑らかに再生することができる効果を奏する。
実施の形態2.
上記実施の形態1では、コンシールメント範囲ブロック分割部17が、コンシールメントブロック321の少なくとも1辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにコンシールメント範囲を分割し、コンシールメントブロック動きベクトル算出部18が、コンシールメントブロック321の上側又は下側に隣接しているマクロブロック311,331の動きベクトルを用いて、コンシールメントブロック321の動きベクトルを算出するものを示したが、コンシールメント範囲設定部14により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合、コンシールメント範囲の上下方向に分割すると、正常に復号されたマクロブロックと隣接していないコンシールメントブロックが現れてしまう。
例えば、コンシールメント範囲が画面の上端に位置している場合に、コンシールメント範囲を上下方向に2分割すると、上側のコンシールメントブロックは、正常に復号されたマクロブロックと隣接していないブロックとなる。
また、コンシールメント範囲が画面の下端に位置している場合に、コンシールメント範囲を上下方向に2分割すると、下側のコンシールメントブロックは、正常に復号されたマクロブロックと隣接していないブロックとなる。
そこで、この実施の形態2では、コンシールメント範囲設定部14により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合、コンシールメント範囲ブロック分割部17は、そのコンシールメント範囲の上下方向には分割を行わず、コンシールメント範囲を左右方向に分割して複数のコンシールメントブロックを得るようにする。
隣接マクロブロック動きベクトル取得部15は、コンシールメント範囲ブロック分割部17により画面の上端に位置しているコンシールメント範囲が左右方向に分割された場合、そのコンシールメント範囲の下側に隣接しているマクロブロックを特定して、復号パラメータ蓄積部12から上記マクロブロックの動きベクトルを取得し、その動きベクトルをコンシールメントブロック動きベクトル算出部18に出力する。
一方、コンシールメント範囲ブロック分割部17により画面の下端に位置しているコンシールメント範囲が左右方向に分割された場合、そのコンシールメント範囲の上側に隣接しているマクロブロックを特定して、復号パラメータ蓄積部12から上記マクロブロックの動きベクトルを取得し、その動きベクトルをコンシールメントブロック動きベクトル算出部18に出力する。
これにより、コンシールメントブロック動きベクトル算出部18は、画面の上端に位置しているコンシールメント範囲が左右方向に分割された場合、そのコンシールメント範囲の下側に隣接しているマクロブロックの動きベクトルを用いて、コンシールメントブロックの動きベクトルを算出することができる。
また、画面の下端に位置しているコンシールメント範囲が左右方向に分割された場合、そのコンシールメント範囲の上側に隣接しているマクロブロックの動きベクトルを用いて、コンシールメントブロックの動きベクトルを算出することができる。
以上で明らかなように、この実施の形態2によれば、コンシールメント範囲設定部14により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合、コンシールメント範囲ブロック分割部17が、コンシールメント範囲の上下方向には分割を行わず、コンシールメント範囲を左右方向に分割し、
隣接マクロブロック動きベクトル取得部15が、コンシールメント範囲が画面の上端に位置している場合、コンシールメント範囲の下側に隣接しているマクロブロックを特定して、復号パラメータ蓄積部12から上記マクロブロックの動きベクトルを取得し、コンシールメント範囲が画面の下端に位置している場合、コンシールメント範囲の上側に隣接しているマクロブロックを特定して、復号パラメータ蓄積部12から上記マクロブロックの動きベクトルを取得するように構成しているので、コンシールメント範囲設定部14により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合でも、コンシールメント範囲に隣接しているマクロブロックの動きベクトルを利用して、画像内の動きを考慮したコンシールメント画像を生成することができる効果を奏する。
実施の形態3.
上記実施の形態1では、コンシールメント範囲ブロック分割部17が、コンシールメントブロック321の少なくとも1辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにコンシールメント範囲を分割するものを示したが、このような分割の制約があると、コンシールメント範囲が大きい場合、1つのコンシールメントブロック321の大きさが大きくなり、画像内の細かい動きに追従できないことがある。
そこで、この実施の形態3では、上記の制約を受けずに、より細かなコンシールメント範囲の分割を許容する例を説明する。
図4はこの発明の実施の形態3によるエラーコンシールメント装置を搭載している復号装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
コンシールメント範囲ブロック分割部21は図1のコンシールメント範囲ブロック分割部17と同様に、設定値保持部16に保持されている設定値にしたがって、コンシールメント範囲設定部14により設定されたコンシールメント範囲を複数のコンシールメントブロックに分割する処理を実施する。
ただし、コンシールメント範囲ブロック分割部21は図1のコンシールメント範囲ブロック分割部17と異なり、コンシールメントブロック321の少なくとも1辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにコンシールメント範囲を分割するという制約を受けずに、より細かくコンシールメント範囲を分割する。
したがって、コンシールメント範囲内の複数のコンシールメントブロック321の中には、正常に復号されたマクロブロックと隣接していないブロックが含まれている。
なお、設定値保持部16及びコンシールメント範囲ブロック分割部21からブロック分割手段が構成されている。
過去画像動きベクトル取得部22は復号エラーが発生している復号画像より時間的に前の復号画像(過去画像)の中で、コンシールメント範囲設定部14により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部12により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する処理を実施する。なお、過去画像動きベクトル取得部22は動きベクトル取得手段を構成している。
図4の例では、復号装置の構成要素である復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、コンシールメント範囲ブロック分割部21、過去画像動きベクトル取得部22、コンシールメントブロック動きベクトル算出部18、コンシールメント画像生成部19及び出力画像選択部20のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、コンシールメント範囲ブロック分割部21、過去画像動きベクトル取得部22、コンシールメントブロック動きベクトル算出部18、コンシールメント画像生成部19及び出力画像選択部20の処理内容を記述しているプログラムの全て又は一部を当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
次に動作について説明する。
過去画像動きベクトル取得部22は、上記実施の形態1と同様にして、コンシールメント範囲設定部14がコンシールメント範囲を設定すると、復号エラーが発生している復号画像より時間的に前の復号画像(過去画像)の中で、そのコンシールメント範囲と同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部12により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する。
具体的には、復号エラーが発生している復号画像と時間的に最も近い過去のPピクチャを過去画像として、そのPピクチャの中で、コンシールメントブロックと同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部12により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する。
これは、時間的に近い画像は類似している可能性が高いという映像の特徴を利用するものであり、時間的に近い過去画像の動きベクトルは、コンシールメント範囲内の画素値を算出する動きベクトルを推定するために有用である。
ここでは、復号エラーが発生している復号画像と時間的に最も近い過去のPピクチャを過去画像としているが、これは一例に過ぎず、例えば、過去画像として複数枚の画像を使用するようにしてもよい。
コンシールメントブロック動きベクトル算出部18は、過去画像動きベクトル取得部22がマクロブロックの動きベクトルを取得すると、上記実施の形態1と同様に、そのマクロブロックの動きベクトルを用いて、コンシールメント範囲ブロック分割部21により分割されたコンシールメントブロックの動きベクトルを算出する。
算出方法としては、例えば、過去画像において、コンシールメントブロックと同位置のマクロブロックの動きベクトルのメジアンを用いる方法や、過去画像において、コンシールメントブロックと同位置のマクロブロックの動きベクトルの平均を用いる方法がある。
また、過去画像として、複数の画像を使用する場合は、エラーピクチャと過去画像の表示時間差を考慮して外挿補間を行う方法などがある。
以上で明らかなように、この実施の形態3によれば、過去画像動きベクトル取得部22が、復号エラーが発生している復号画像より時間的に前の復号画像(過去画像)の中で、コンシールメント範囲設定部14により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部12により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得するように構成したので、コンシールメント範囲ブロック分割部21が、コンシールメント範囲の境界の有無に縛られずに、コンシールメントブロックのサイズを小さくすることができるようになり、画像内の細かい動きに追従したコンシールメント画像を生成することができる効果を奏する。
実施の形態4.
上記実施の形態1では、エラーコンシールメント装置2が、コンシールメントブロックと隣接しているマクロブロックの動きベクトルを取得する隣接マクロブロック動きベクトル取得部15を実装し、上記実施の形態4では、エラーコンシールメント装置2が、復号エラーが発生している復号画像より時間的に前の復号画像(過去画像)の中で、コンシールメント範囲と同じ位置にあるマクロブロックの動きベクトルを取得する過去画像動きベクトル取得部22を実装しているものを示したが、隣接マクロブロック動きベクトル取得部15と過去画像動きベクトル取得部22の双方を実装するようにしていてもよい。
図5はこの発明の実施の形態4によるエラーコンシールメント装置を搭載している復号装置を示す構成図であり、図において、図1及び図4と同一符号は同一または相当部分を示すので説明を省略する。
コンシールメントブロック動きベクトル算出部23はコンシールメント範囲ブロック分割部21により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接しているブロックである場合、隣接マクロブロック動きベクトル取得部15(第1の動きベクトル取得手段)により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出し、コンシールメント範囲ブロック分割部21により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接していないブロックである場合、過去画像動きベクトル取得部22(第2の動きベクトル取得手段)により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出する処理を実施する。なお、コンシールメントブロック動きベクトル算出部23は動きベクトル算出手段を構成している。
図5の例では、復号装置の構成要素である復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、隣接マクロブロック動きベクトル取得部15、コンシールメント範囲ブロック分割部21、過去画像動きベクトル取得部22、コンシールメントブロック動きベクトル算出部23、コンシールメント画像生成部19及び出力画像選択部20のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、隣接マクロブロック動きベクトル取得部15、コンシールメント範囲ブロック分割部21、過去画像動きベクトル取得部22、コンシールメントブロック動きベクトル算出部23、コンシールメント画像生成部19及び出力画像選択部20の処理内容を記述しているプログラムの全て又は一部を当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
次に動作について説明する。
コンシールメント範囲ブロック分割部21は、上記実施の形態3と同様に、設定値保持部16に保持されている設定値にしたがって、コンシールメント範囲設定部14により設定されたコンシールメント範囲を複数のコンシールメントブロックに分割する。
ただし、コンシールメント範囲ブロック分割部21は、図1のコンシールメント範囲ブロック分割部17と異なり、コンシールメントブロックの少なくとも1辺が、必ず、コンシールメント範囲と正常に復号された画像との境界を含むようにコンシールメント範囲を分割するという制約を受けずに、より細かくコンシールメント範囲を分割する。
したがって、コンシールメント範囲内の複数のコンシールメントブロックの中には、正常に復号されたマクロブロックと隣接していないブロックが含まれている。
隣接マクロブロック動きベクトル取得部15は、コンシールメント範囲設定部14がコンシールメント範囲を設定すると、上記実施の形態1と同様に、そのコンシールメント範囲に隣接しているマクロブロックを特定し、復号パラメータ蓄積部12に蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する。
過去画像動きベクトル取得部22は、コンシールメント範囲設定部14がコンシールメント範囲を設定すると、上記実施の形態3と同様に、復号エラーが発生している復号画像より時間的に前の復号画像(過去画像)の中で、そのコンシールメント範囲と同じ位置にあるマクロブロックを特定し、復号パラメータ蓄積部12により蓄積されている復号パラメータの中から、そのマクロブロックの動きベクトルを取得する。
ここで、図6はコンシールメント範囲設定部14により設定されるコンシールメント範囲を示す説明図である。
復号画像30は復号エラーが発生している画像であり、スライス31,32,33,34から構成されている。
図6の例では、エラー検出箇所がスライス32内にあるため、スライス32がコンシールメント範囲に設定されている。
ただし、図6の例では、図2の例と異なり、コンシールメント範囲の高さ方向(上下方向)については上下に4分割し、幅方向(左右方向)については、3つのマクロブロックの間隔で分割している。
コンシールメントブロック動きベクトル算出部23は、コンシールメント範囲ブロック分割部21により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接しているブロックである場合、図1のコンシールメントブロック動きベクトル算出部18と同様にして、隣接マクロブロック動きベクトル取得部15により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出する。
一方、コンシールメント範囲ブロック分割部21により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接していないブロックである場合、図4のコンシールメントブロック動きベクトル算出部18と同様にして、過去画像動きベクトル取得部22により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出する。
図6の例では、正常に復号されたマクロブロック311と隣接しているコンシールメントブロック321の動きベクトルの算出に用いる動きベクトルは、隣接マクロブロック動きベクトル取得部15により特定されたマクロブロック311の動きベクトルである。
一方、正常に復号されたマクロブロック311及びマクロブロック331のいずれにも隣接していないコンシールメントブロック322の動きベクトルの算出に用いる動きベクトルは、過去画像動きベクトル取得部22により特定されたマクロブロックの動きベクトルである。
以上で明らかなように、この実施の形態4によれば、コンシールメントブロック動きベクトル算出部23が、コンシールメント範囲ブロック分割部21により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接しているブロックである場合、隣接マクロブロック動きベクトル取得部15により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出し、コンシールメント範囲ブロック分割部21により分割されたコンシールメントブロックが、コンシールメント範囲の境界と接していないブロックである場合、過去画像動きベクトル取得部22により取得された動きベクトルを用いて、当該コンシールメントブロックの動きベクトルを算出するように構成したので、コンシールメント範囲が大きい場合でも、適切な大きさのコンシールメントブロックに分割することができるとともに、コンシールメント範囲の境界部では、隣接画像との不整合が小さいコンシールメント画像を生成することができる効果を奏する。
なお、この実施の形態4では、正常に復号されたマクロブロック311と隣接しているコンシールメントブロック321の動きベクトルの算出に用いる動きベクトルは、隣接マクロブロック動きベクトル取得部15により特定されたマクロブロック311の動きベクトルである例を示したが、例えば、過去画像におけるコンシールメント範囲の動きベクトルとコンシールメント範囲外の動きベクトルとの類似度に基づいて、いずれの動きベクトルを用いるかを判定し、いずれかの動きベクトルを用いるようにしてもよい。
実施の形態5.
上記実施の形態1〜4では、コンシールメント範囲ブロック分割部17,21が、設定値保持部16に保持されている設定値にしたがって、コンシールメント範囲を一定のサイズのコンシールメントブロックに分割するものを示したが、画像内に細かな動きが混在する場合、コンシールメントブロックの分割サイズを変更するようにしてもよい。
図7はこの発明の実施の形態5によるエラーコンシールメント装置を搭載している復号装置を示す構成図であり、図において、図5と同一符号は同一または相当部分を示すので説明を省略する。
動き均一性算出部24はコンシールメント範囲設定部14により設定されたコンシールメント範囲内の画像の動きの均一性を算出し、画像の動きの均一性に対応する分割サイズをコンシールメント範囲ブロック分割部25に指示する処理を実施する。
コンシールメント範囲ブロック分割部25はコンシールメント範囲設定部14により設定されたコンシールメント範囲を動き均一性算出部24により指示された分割サイズで分割する処理を実施する。
なお、動き均一性算出部24及びコンシールメント範囲ブロック分割部25からブロック分割手段が構成されている。
図7の例では、復号装置の構成要素である復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、隣接マクロブロック動きベクトル取得部15、過去画像動きベクトル取得部22、コンシールメントブロック動きベクトル算出部23、動き均一性算出部24、コンシールメント範囲ブロック分割部25、コンシールメント画像生成部19及び出力画像選択部20のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、隣接マクロブロック動きベクトル取得部15、過去画像動きベクトル取得部22、コンシールメントブロック動きベクトル算出部23、動き均一性算出部24、コンシールメント範囲ブロック分割部25、コンシールメント画像生成部19及び出力画像選択部20の処理内容を記述しているプログラムの全て又は一部を当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
次に動作について説明する。
動き均一性算出部24は、上記実施の形態1と同様にして、コンシールメント範囲設定部14がコンシールメント範囲を設定すると、そのコンシールメント範囲内の画像の動きの均一性を算出する。
例えば、設定値保持部16により保持されている設定値にしたがって、コンシールメント範囲を複数のコンシールメントブロックに分割し、過去画像の中で、複数のコンシールメントブロックと同じ位置にある各マクロブロックの動きベクトルの分散を、動きの均一性を示す指標として算出する。
動き均一性算出部24は、コンシールメント範囲内の画像の動きの均一性を算出すると、その算出結果を所定の閾値と比較することで、動きの均一性が低い場合、設定値保持部16により保持されている設定値が示す分割サイズより小さな分割サイズをコンシールメント範囲ブロック分割部25に指示する。
一方、動きの均一性が高い場合、設定値保持部16により保持されている設定値が示す分割サイズより大きな分割サイズをコンシールメント範囲ブロック分割部25に指示する。
動きの均一性が中程度の場合、設定値保持部16により保持されている設定値が示す分割サイズをコンシールメント範囲ブロック分割部25に指示する。
コンシールメント範囲ブロック分割部25は、動き均一性算出部24から分割サイズの指示を受けると、コンシールメント範囲設定部14により設定されたコンシールメント範囲を指示された分割サイズで分割する。
ここでは、コンシールメント範囲ブロック分割部25が、動き均一性算出部24により指示された分割サイズでコンシールメント範囲を分割するものを示したが、設定値保持部16により保持されている設定値が示す分割サイズでコンシールメント範囲を複数のコンシールメントブロックに分割した後、動き均一性算出部24により算出された均一性が低い場合、そのコンシールメントブロックを更に分割するようにしてもよい。
一方、動き均一性算出部24により算出された均一性が高い場合、幾つかのコンシールメントブロックを結合して分割サイズを大きくするようにする。
また、動き均一性算出部24がコンシールメント範囲内の画像の動きの均一性に応じて、分割サイズを3段階に設定するものを示したが(均一性低用の分割サイズ、均一性中用の分割サイズ、均一性高用の分割サイズ)、画像の動きの均一性が低い程、コンシールメント範囲を細かく分割すればよく、例えば、分割サイズを4段階以上に設定するようにしてもよい。
以上で明らかなように、この実施の形態5によれば、コンシールメント範囲設定部14により設定されたコンシールメント範囲内の画像の動きの均一性を算出し、画像の動きの均一性が低い程、そのコンシールメント範囲を細かく分割するように構成したので、画像内の動きに追従しているコンシールメント画像を生成することができる効果を奏する。
実施の形態6.
上記実施の形態1〜4では、コンシールメント範囲ブロック分割部17,21が、設定値保持部16に保持されている設定値にしたがって、コンシールメント範囲を一定のサイズのコンシールメントブロックに分割するものを示したが、画像内の複雑さに応じて、コンシールメントブロックの分割サイズを変更するようにしてもよい。
図8はこの発明の実施の形態6によるエラーコンシールメント装置を搭載している復号装置を示す構成図であり、図において、図5と同一符号は同一または相当部分を示すので説明を省略する。
画像複雑さ算出部26はコンシールメント範囲設定部14により設定されたコンシールメント範囲内の画像の複雑さを算出し、画像の複雑さに対応する分割サイズをコンシールメント範囲ブロック分割部27に指示する処理を実施する。
コンシールメント範囲ブロック分割部27はコンシールメント範囲設定部14により設定されたコンシールメント範囲を画像複雑さ算出部26により指示された分割サイズで分割する処理を実施する。
なお、画像複雑さ算出部26及びコンシールメント範囲ブロック分割部27からブロック分割手段が構成されている。
図8の例では、復号装置の構成要素である復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、隣接マクロブロック動きベクトル取得部15、過去画像動きベクトル取得部22、コンシールメントブロック動きベクトル算出部23、画像複雑さ算出部26、コンシールメント範囲ブロック分割部27、コンシールメント画像生成部19及び出力画像選択部20のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されていることを想定しているが、復号装置がコンピュータなどで構成されている場合には、復号処理部1、コンシールメントON/OFF判定部13、コンシールメント範囲設定部14、隣接マクロブロック動きベクトル取得部15、過去画像動きベクトル取得部22、コンシールメントブロック動きベクトル算出部23、画像複雑さ算出部26、コンシールメント範囲ブロック分割部27、コンシールメント画像生成部19及び出力画像選択部20の処理内容を記述しているプログラムの全て又は一部を当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
次に動作について説明する。
画像複雑さ算出部26は、上記実施の形態1と同様にして、コンシールメント範囲設定部14がコンシールメント範囲を設定すると、そのコンシールメント範囲内の画像の複雑さを算出する。
例えば、設定値保持部16により保持されている設定値にしたがって、コンシールメント範囲を複数のコンシールメントブロックに分割し、過去画像の中で、複数のコンシールメントブロックと同じ位置にある各マクロブロックのQP値の平均値を、画像の複雑さを示す指標として算出する。
画像複雑さ算出部26は、コンシールメント範囲内の画像の複雑さを算出すると、その算出結果を所定の閾値と比較することで、画像の複雑さが高い場合、設定値保持部16により保持されている設定値が示す分割サイズより小さな分割サイズをコンシールメント範囲ブロック分割部25に指示する。
一方、画像の複雑さが低い場合、設定値保持部16により保持されている設定値が示す分割サイズより大きな分割サイズをコンシールメント範囲ブロック分割部25に指示する。
画像の複雑さが中程度の場合、設定値保持部16により保持されている設定値が示す分割サイズをコンシールメント範囲ブロック分割部25に指示する。
コンシールメント範囲ブロック分割部27は、画像複雑さ算出部26から分割サイズの指示を受けると、コンシールメント範囲設定部14により設定されたコンシールメント範囲を指示された分割サイズで分割する。
ここでは、コンシールメント範囲ブロック分割部27が、画像複雑さ算出部26により指示された分割サイズでコンシールメント範囲を分割するものを示したが、設定値保持部16により保持されている設定値が示す分割サイズでコンシールメント範囲を複数のコンシールメントブロックに分割した後、画像複雑さ算出部26により算出された画像の複雑さが高い場合、そのコンシールメントブロックを更に分割するようにしてもよい。
一方、画像複雑さ算出部26により算出された画像の複雑さが低い場合、幾つかのコンシールメントブロックを結合して分割サイズを大きくするようにする。
また、画像複雑さ算出部26がコンシールメント範囲内の画像の複雑さに応じて、分割サイズを3段階に設定するものを示したが(複雑さ低用の分割サイズ、複雑さ中用の分割サイズ、複雑さ高用の分割サイズ)、画像の複雑さが高い程、コンシールメント範囲を細かく分割すればよく、例えば、分割サイズを4段階以上に設定するようにしてもよい。
以上で明らかなように、この実施の形態6によれば、コンシールメント範囲設定部14により設定されたコンシールメント範囲内の画像の複雑さを算出し、画像の複雑さが高い程、そのコンシールメント範囲を細かく分割するように構成したので、画像内の複雑さを反映しているコンシールメント画像を生成することができる効果を奏する。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
1 復号処理部(復号処理手段)、2 エラーコンシールメント装置、11 復号画像蓄積部(蓄積手段)、12 復号パラメータ蓄積部(蓄積手段)、13 コンシールメントON/OFF判定部(コンシールメント画像生成指示手段)、14,25,27 コンシールメント範囲設定部(コンシールメント範囲設定手段)、15 隣接マクロブロック動きベクトル取得部(動きベクトル取得手段)、16 設定値保持部(ブロック分割手段)、17,21 コンシールメント範囲ブロック分割部(ブロック分割手段)、18,23 コンシールメントブロック動きベクトル算出部(動きベクトル算出手段)、19 コンシールメント画像生成部(コンシールメント画像生成手段)、20 出力画像選択部(出力画像選択手段)、22 過去画像動きベクトル取得部(動きベクトル取得手段)、24 動き均一性算出部(ブロック分割手段)、26 画像複雑さ算出部(ブロック分割手段)、30 復号画像、31,32,33,34 スライス、311,331,331a,331b,331c マクロブロック、321,322 コンシールメントブロック、321v,331av,331bv,331cv 動きベクトル。

Claims (8)

  1. 符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記動きベクトル取得手段により取得された動きベクトルを用いて、上記ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
    上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、上記コンシールメント範囲内の画像の動きの均一性が低い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
  2. 符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記動きベクトル取得手段により取得された動きベクトルを用いて、上記ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
    上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の複雑さを示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックのQP値の平均値を算出し、上記コンシールメント範囲内の画像の複雑さが高い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
  3. 上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲が画面の上端又は下端に位置している場合、上記コンシールメント範囲の上下方向には分割を行わず、上記コンシールメント範囲を左右方向に分割し、
    上記動きベクトル取得手段は、上記コンシールメント範囲が画面の上端に位置している場合、上記コンシールメント範囲の下側に隣接しているマクロブロックを特定して、上記蓄積手段から上記マクロブロックの動きベクトルを取得し、上記コンシールメント範囲が画面の下端に位置している場合、上記コンシールメント範囲の上側に隣接しているマクロブロックを特定して、上記蓄積手段から上記マクロブロックの動きベクトルを取得する
    ことを特徴とする請求項1または請求項2記載のエラーコンシールメント装置。
  4. 符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、復号エラーが発生している復号画像より時間的に前の復号画像の中で、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記動きベクトル取得手段により取得された動きベクトルを用いて、上記ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
    上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、上記コンシールメント範囲内の画像の動きの均一性が低い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
  5. 符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、復号エラーが発生している復号画像より時間的に前の復号画像の中で、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記動きベクトル取得手段により取得された動きベクトルを用いて、上記ブロック分割手段により分割されたブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
    上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の複雑さを示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックのQP値の平均値を算出し、上記コンシールメント範囲内の画像の複雑さが高い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
  6. 符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する第1の動きベクトル取得手段と、復号エラーが発生している復号画像より時間的に前の復号画像の中で、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する第2の動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記ブロック分割手段により分割されたブロックが上記コンシールメント範囲の境界と接しているブロックである場合、上記第1の動きベクトル取得手段により取得された動きベクトルを用いて、当該ブロックの動きベクトルを算出し、上記ブロック分割手段により分割されたブロックが上記コンシールメント範囲の境界と接していないブロックである場合、上記第2の動きベクトル取得手段により取得された動きベクトルを用いて、当該ブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
    上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の動きの均一性を示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックの動きベクトルの分散を算出し、上記コンシールメント範囲内の画像の動きの均一性が低い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
  7. 符号化データが復号されることで得られた復号画像及び上記符号化データが復号される際に使用された動きベクトルを蓄積する蓄積手段と、上記符号化データが復号される際に復号エラーが検出された場合、コンシールメント画像の生成指示を出力するコンシールメント画像生成指示手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されると、上記復号画像内で復号エラーが発生している可能性がある箇所を漏れなく包含している範囲をコンシールメント範囲に設定するコンシールメント範囲設定手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲に隣接しているマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する第1の動きベクトル取得手段と、復号エラーが発生している復号画像より時間的に前の復号画像の中で、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲と同じ位置にあるマクロブロックを特定し、上記蓄積手段から上記マクロブロックの動きベクトルを取得する第2の動きベクトル取得手段と、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲を複数のブロックに分割するブロック分割手段と、上記ブロック分割手段により分割されたブロックが上記コンシールメント範囲の境界と接しているブロックである場合、上記第1の動きベクトル取得手段により取得された動きベクトルを用いて、当該ブロックの動きベクトルを算出し、上記ブロック分割手段により分割されたブロックが上記コンシールメント範囲の境界と接していないブロックである場合、上記第2の動きベクトル取得手段により取得された動きベクトルを用いて、当該ブロックの動きベクトルを算出する動きベクトル算出手段と、上記動きベクトル算出手段により算出された動きベクトルを用いて、コンシールメント画像を生成するコンシールメント画像生成手段と、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力された場合、上記コンシールメント画像生成手段により生成されたコンシールメント画像を出力し、上記コンシールメント画像生成指示手段からコンシールメント画像の生成指示が出力されていない場合、上記蓄積手段により蓄積されている復号画像を出力する出力画像選択手段とを備え、
    上記ブロック分割手段は、上記コンシールメント範囲設定手段により設定されたコンシールメント範囲内の画像の複雑さを示す指標として、上記コンシールメント範囲内の複数のコンシールメントブロックと同じ位置にある過去画像内の複数のマクロブロックのQP値の平均値を算出し、上記コンシールメント範囲内の画像の複雑さが高い程、上記コンシールメント範囲を細かく分割することを特徴とするエラーコンシールメント装置。
  8. 符号化データに対する復号処理を実施して復号画像を生成し、上記復号画像と上記符号化データを復号する際に使用した動きベクトルを出力する復号処理手段と、
    請求項1から請求項のうちのいずれか1項記載のエラーコンシールメント装置とを備えた復号装置。
JP2010253722A 2010-11-12 2010-11-12 エラーコンシールメント装置及び復号装置 Expired - Fee Related JP5649412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010253722A JP5649412B2 (ja) 2010-11-12 2010-11-12 エラーコンシールメント装置及び復号装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010253722A JP5649412B2 (ja) 2010-11-12 2010-11-12 エラーコンシールメント装置及び復号装置

Publications (2)

Publication Number Publication Date
JP2012105178A JP2012105178A (ja) 2012-05-31
JP5649412B2 true JP5649412B2 (ja) 2015-01-07

Family

ID=46395046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010253722A Expired - Fee Related JP5649412B2 (ja) 2010-11-12 2010-11-12 エラーコンシールメント装置及び復号装置

Country Status (1)

Country Link
JP (1) JP5649412B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5811061B2 (ja) * 2012-07-24 2015-11-11 三菱電機株式会社 復号装置、エラーコンシールメント処理装置および復号方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621467A (en) * 1995-02-16 1997-04-15 Thomson Multimedia S.A. Temporal-spatial error concealment apparatus and method for video signal processors
JPH09154142A (ja) * 1995-11-29 1997-06-10 Sanyo Electric Co Ltd エラー処理装置
JPH1023424A (ja) * 1996-06-28 1998-01-23 Sanyo Electric Co Ltd 動画像圧縮データ復号装置
US6078616A (en) * 1997-03-13 2000-06-20 Sony Corporation Methods and apparatus for error concealment utilizing temporal domain motion vector estimation
EP1671427A4 (en) * 2003-10-09 2010-04-07 Thomson Licensing DIRECT MODE BYPASS METHOD FOR HAMPERING ERRORS
JP2010212882A (ja) * 2009-03-09 2010-09-24 Mitsubishi Electric Corp 動画像エラー処理装置

Also Published As

Publication number Publication date
JP2012105178A (ja) 2012-05-31

Similar Documents

Publication Publication Date Title
US20180192063A1 (en) Method and System for Virtual Reality (VR) Video Transcode By Extracting Residual From Different Resolutions
US7196731B2 (en) Method and apparatus of adaptive de-interlacing of dynamic image
JP4114885B2 (ja) 画像符号化装置、方法、及びプログラム
US20070263722A1 (en) Image encoding apparatus and encoding method, image decoding apparatus and decoding method
JP6352173B2 (ja) プリプロセッサ方法および装置
JP4875007B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像復号化装置
JP2006157481A (ja) 画像符号化装置及びその方法
JP2010512039A (ja) 画像データ及び深度データの組合せを処理する画像処理システム
US8411751B2 (en) Reducing and correcting motion estimation artifacts during video frame rate conversion
JP2009532741A6 (ja) プリプロセッサ方法および装置
JP2007142649A (ja) 画像処理装置及びプログラム
JP2001218210A (ja) ノイズ検出方法、ノイズ検出装置、画像データ処理装置、記録媒体
JP2007122232A (ja) 画像処理装置及びプログラム
US20090052536A1 (en) Video Decoding Device, Decoded Image Recording Device, Their Method and Program
JP2009284331A (ja) 復号装置及び復号方法、プログラム
US20110274163A1 (en) Video coding apparatus and video coding method
JP5649412B2 (ja) エラーコンシールメント装置及び復号装置
US20120002864A1 (en) Image processing unit, image processing method, and computer program
JP2016158282A (ja) 動画像予測復号方法及び動画像予測復号装置
JP5972687B2 (ja) 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
US20100027621A1 (en) Apparatus, method and computer program product for moving image generation
JP5701018B2 (ja) 画像復号装置
JP2009218965A (ja) 画像処理装置、それを搭載した撮像装置、および画像再生装置
US9788025B2 (en) Reproduction device, encoding device, and reproduction method
JP2007158770A (ja) 映像復号装置および映像復号プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141014

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141111

R150 Certificate of patent or registration of utility model

Ref document number: 5649412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees