(57)【要約】      （修正有）【課題】画像修復を行う範囲を必要最低限に抑え、的確な画像修復を行う。【解決手段】ブロック単位に符号化された動画像符号化ビットストリームのシンタックスに基づいて、符号化ビット列から符号化データを正常に復元することが不可能な復号破綻状態を検出し、ブロックごとの符号化データの状態から該ブロックにおける画像劣化の有無を検出し、前記復号破綻状態が検出された場合に、前記画像劣化有と検出されたブロックの画面内位置に基いて、画像修復位置を定めるようにした。【選択図】図５
2005295054.tif 000002
【特許請求の範囲】
【請求項１】
ブロック単位に符号化された動画像符号化ビットストリームのシンタックスに基づいて、符号化ビット列から符号化データを正常に復元することが不可能な復号破綻状態を検出するシンタックス解析部と、
前記ブロックごとの符号化データの状態から該ブロックにおける画像劣化の有無を検出する画像劣化検出部と、
前記シンタックス解析部による前記復号破綻状態のが検出結果と、前記画像劣化検出部により画像劣化有と検出されたブロックの画面内位置とに基いて、画像修復を行う画像修復処理部とを備えたことを特徴とする動画像情報復元装置。
【請求項２】
前記画像修復処理部は、
前記シンタックス解析部が前記復号破綻状態を検出したブロック位置から画像劣化検出部が検出した画像劣化ブロック位置までの間のブロック数が所定の閾値より小さい場合は、画像劣化ブロック位置を画像修復範囲の開始位置とし、
前記復号破綻状態を検出したブロック位置から画像劣化ブロック位置までの間のブロック数が所定の閾値以上の場合は、前記復号破綻状態を検出したブロック位置から前記所定の閾値まで遡ったブロック位置を画像修復範囲の開始位置とすることを特徴とする請求項１記載の動画像情報復元装置。
【請求項３】
前記画像劣化検出部によって検出された画像劣化ブロックの画面内位置を記憶する記憶手段を備え、この画像劣化ブロック位置は、マクロブロックを複数集めたマクロブロック群の単位で初期化されることを特徴とする請求項１または２記載の動画像情報復元装置。
【請求項４】
前記動画像符号化ビットストリームはMPEG-4符号化方式に従い、前記マクロブロック群はビデオパケットであることを特徴とする請求項３記載の動画像情報復元装置。
【請求項５】
ブロック単位に符号化された動画像符号化ビットストリームのシンタックスに基づいて、符号化ビット列から符号化データを正常に復元することが不可能な復号破綻状態を検出するシンタックス解析ステップと、
前記ブロックごとの符号化データの状態から該ブロックにおける画像劣化の有無を検出する画像劣化検出ステップと、
前記シンタックス解析ステップによる前記復号破綻状態の検出結果と、前記画像劣化検出ステップにおいて画像劣化有と検出されたブロックの画面内位置とに基いて、画像修復を行う画像修復処理ステップと
を備えたことを特徴とする動画像情報復元方法。
【請求項６】
計算機を、ブロック単位に符号化された動画像符号化ビットストリームのシンタックスに基づいて、符号化ビット列から符号化データを正常に復元することが不可能な復号破綻状態を検出するシンタックス解析部と、
前記ブロックごとの符号化データの状態から該ブロックにおける画像劣化の有無を検出する画像劣化検出部と、
前記シンタックス解析部による前記復号破綻状態の検出結果と、前記画像劣化検出部により画像劣化有と検出されたブロックの画面内位置とに基いて、画像修復を行う画像修復処理部として機能させるための動画像情報復元プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮動画データ伝送および蓄積、再生技術等に用いられるデジタル画像情報の復元処理に関するものである。
【背景技術】
【０００２】
動画像符号化ビットストリームを無線回線やIP網などで伝送し復号する場合、回線誤りないしはパケットロスに伴いビットストリーム中にビット誤りが発生することがあり、システムとして十分な精度の誤り訂正符号を利用できない場合には、実際にビット誤りが発生した箇所以降の動画像符号化ビットストリームは正しく復号される保証がない。
ハフマン符号化を用いる動画像符号化ビットストリームにおいては、受信した圧縮データ中にビット誤りが発生した場合、未定義な符号語となったり、別のハフマン符号語に変化してしまうといった問題が起こりうる。たまたまビット誤り発生箇所にて未定義な符号に変化した場合はそこで復号破綻としてビット誤りを検知できるが、ビット誤りが本来のハフマン符号語を別の符号語に変化させる場合は、変化後の符号語も発生しうる符号として解釈されうるため、実際にビット誤りが生じた箇所以降も本来符号化されている情報とは異なる情報を復号しながら復号処理を継続してしまうことがある。このことにより、しばしば実際のビット誤り箇所を見過ごして復号が継続され、その範囲の映像品質が大きく劣化するという問題がある。
【０００３】
この問題への対処方法として、従来、MPEGやITU-T H.26xなどの国際標準映像符号化方式では、上記のようなビット誤りによる品質劣化を抑制するため、1個ないし複数個のマクロブロックの連なりをスライス、ビデオパケット、GOB (Group of Blocks)などと定義し、これらの単位で正常復号同期が確保されるようにビットストリームシンタックスが定義されており（以下、本文中ではMPEG-4ビジュアル規格(ISO/IEC 14496-2)で用いられている「ビデオパケット」という用語を用いてこれらの単位を総称し、１フレームのビットストリームデータは一般に１つないしは複数のビデオパケットの集合となる）、あるビデオパケットに生じたビット誤りに伴う品質劣化は、当該ビデオパケット内に局在化され、広範囲にわたって復号同期ずれに伴う映像品質劣化が波及しないようにしていた。
しかし、一般に、ビデオパケット中に含まれるマクロブロックデータは可変長符号化されているため、ビデオパケット内での復号同期ずれ、ないしは他の符号語への変化に伴う品質劣化は回避されていない。
【０００４】
【非特許文献１】MPEG-4ビジュアル標準(ISO/IEC 14496-2) Annex  E
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ビデオパケット単位で符号化・復号を行っても、ビデオパケット内に生じる復号同期ずれ、ないしは別の符号語への変化などによる映像の乱れ要因は依然として除外することはできず、それに伴う品質劣化を抑制するには、ビデオパケット全体を画像修復する方法をとるしかない。ビデオパケット中のどのマクロブロックに実際のビット誤りが発生しているかを事前に判断することは困難であるため、ビデオパケット全体を修復する方法では、正常に復号できていた、ないしは視覚的には正常と判断できる範囲の復号画像もあわせて修復することになる。一般に、符号化された情報ではない情報によって修復された部分は、本来復号されるべき画像データの近似に過ぎないため、画質劣化を完全に回避することはできない。
【０００６】
つまり、ビデオパケット全体を修復する方法では必要以上に広範囲に画像修復を行ってしまう危険があり、それに伴う画質劣化の影響も大きくなる。また、実際に復号破綻によって誤りを検出した位置からの修復では、それ以前に映像の乱れとなる復号同期はずれを見逃し、劣化を修復しきれないという問題があり、そのような劣化は、ビットストリームシンタックス解析上起こりうる復号過程で生じるため、復号誤りとして検出・修復しようとしても、他の正常な符号化データまで誤りとして修復してしまう誤検出・誤修復の可能性を伴うという問題があった。
【０００７】
本発明は、画像修復を行う範囲を必要最低限に抑え、的確な画像修復を行うことを目的とする。
【課題を解決するための手段】
【０００８】
本発明では、ブロック単位に符号化された動画像符号化ビットストリームのシンタックスに基づいて、符号化ビット列から符号化データを正常に復元することが不可能な復号破綻状態を検出し、ブロックごとの符号化データの状態から該ブロックにおける画像劣化の有無を検出し、前記復号破綻状態が検出された場合に、前記画像劣化有と検出されたブロックの画面内位置に基いて、画像修復範囲を定めるようにしたものである。
【発明の効果】
【０００９】
本発明によれば、ビデオパケット復号中に復号破綻を生じる致命的な誤りが含まれていたときにのみ画質劣化箇所まで遡って画像情報の修復を行うため、画像修復を行う範囲を必要最低限に抑え、的確な画像情報の修復を行うことができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
まず基本的な画像符号化／復号処理について説明する。
MPEGやITU-T H.26xなどの国際標準映像符号化方式では、映像信号の各フレームを、輝度信号１６ｘ１６画素、対応する色差信号８ｘ８画素分をまとめたブロックデータ(マクロブロックと呼ぶ)を単位として、動き補償技術および直交変換・変換係数量子化技術に基づいて圧縮する方法が採用されている。
動き補償技術とは、ビデオフレーム間に存在する高い相関を利用してマクロブロックごとに時間方向の信号の冗長度を削減する技術であり、過去に符号化済みのフレームを参照画像としてメモリ内に蓄積しておき、参照画像中の所定の探索範囲内で、動き補償予測の対象となっている現マクロブロックと最も差分電力の小さいブロック領域を探索して、現マクロブロックの空間位置と探索結果ブロックの空間位置とのずれを動きベクトルとして符号化する技術である。
直交変換・変換係数の量子化は、空間方向に残存する画像信号の冗長度を削減する技術であり、直交変換には変換係数の電力集中度の最適性からDCT(離散コサイン変換)が広く用いられている。変換係数は量子化されることによって情報量を削減され、符号化される。これらの符号化は、あらかじめ定義されたハフマン符号を用いることによって行なわれる。ハフマン符号化は、発生確率が高いものを短い符号で、発生確率が低いものを長い符号で表現することによって、全体としての圧縮を行なう。
【００１１】
ここで、動画像符号化ビットストリームを無線回線やIP網などで伝送し復号する場合、回線誤りないしはパケットロスに伴いビットストリーム中にビット誤りが発生することがあり、システムとして十分な精度の誤り訂正符号を利用できない場合には、実際にビット誤りが発生した箇所以降の動画像符号化ビットストリームは正しく復号される保証がない。ハフマン符号化を用いる動画像符号化ビットストリームにおいては、受信した圧縮データ中にビット誤りが発生した場合、未定義な符号語となったり、別のハフマン符号語に変化してしまうといった問題が起こりうる。たまたまビット誤り発生箇所にて未定義な符号に変化した場合はそこで復号破綻としてビット誤りを検知できるが、ビット誤りが本来のハフマン符号語を別の符号語に変化させる場合は、変化後の符号語も発生しうる符号として解釈されうるため、実際にビット誤りが生じた箇所以降も本来符号化されている情報とは異なる情報を復号しながら復号処理を継続してしまうことがある。このことにより、しばしば実際のビット誤り箇所を見過ごして復号が継続され、その範囲の映像品質が大きく劣化するという問題がある。
【００１２】
この問題への対処方法として、従来、MPEGやITU-T H.26xなどの国際標準映像符号化方式では、上記のようなビット誤りによる品質劣化を抑制するため、1個ないし複数個のマクロブロックの連なりをスライス、ビデオパケット、GOB (Group of Blocks)などと定義し、これらの単位で正常復号同期が確保されるようにビットストリームシンタックスが定義されている。以下、本文中ではMPEG-4ビジュアル規格(ISO/IEC 14496-2)で用いられている「ビデオパケット」という用語を用いてこれらの単位を総称する。つまり、１フレームのビットストリームデータは一般に１つないしは複数のビデオパケットの集合となる。
図１に、ビデオパケットの典型的なビットストリームシンタックス例を示す。その先頭には再同期マーカとよばれる、ビットストリーム中でユニークな同期コードが付与される。あるポイントでビットストリームにビット誤りが含まれていたとしても、次の再同期マーカを検出することでそれ以降の復号同期を回復することができる。それに続いて、ビデオパケット内のマクロブロックを、それ以前のビデオパケットとはまったく独立に復号するために必要な各種情報を多重化したビデオパケットヘッダ情報が挿入され、さらに続いて個々のマクロブロックデータが多重化される。このような構成のシンタックスをとることによって、再同期マーカから先は他のいかなるビデオパケットの情報も必要とせず、独立にマクロブロックの復号を行うことができる。
【００１３】
つまり、あるビデオパケットに生じたビット誤りに伴う品質劣化は、当該ビデオパケット内に局在化され、広範囲にわたって復号同期ずれに伴う映像品質劣化が波及しないようにすることが可能である。
しかし、一般に、ビデオパケット中に含まれるマクロブロックデータは可変長符号化されているため、ビデオパケット内での復号同期ずれ、ないしは他の符号語への変化に伴う品質劣化は依然として回避されない。図２にその様子を示す。図２における、「本来の符号化データとは異なる異常なデータが復号されたマクロブロック」は、ビットストリームシンタックス的には正常の範囲内のデータであるが、本来の符号化情報がビット誤りにより変化してしまっているために映像の乱れとして現れるケースを示している。同図にて、「実際に復号が破綻して誤りを検出したマクロブロック」以降は、正常復号を継続できないことが明らかなため、次のビデオパケットの直前マクロブロックまでビットストリームデータを読み捨て、その間の画像データを修復している。画像データの修復には一般に動画像のフレーム間相関を利用して動き補償予測に用いる参照画像中から、空間的に同一位置の画像データをそのままコピーする手法などが用いられる。また、修復の範囲は、「実際に復号が破綻して誤りを検出したマクロブロック」を含むビデオパケット全体とする場合もある。
【００１４】
この発明による実施の形態１では、映像の各フレーム画像をビデオパケットの単位に分割し、さらに、ビデオパケットが可変長符号化されたマクロブロックデータから構成される動画像圧縮データを入力として、動画像圧縮データ中に発生する誤りによる画質劣化を修復（動画像情報復元）しながら再生画像を得る動画像復号装置について説明する。
本実施の形態における動画像復号装置の特徴は、ビデオパケット中で画質劣化を生じている可能性の高いマクロブロックを推測してその位置を記憶し、当該ビデオパケット復号中に明らかな復号破綻を検出した場合にのみ、前記画質劣化を生じている可能性の高いマクロブロックの位置から画像データ修復を行う点にある。
【００１５】
本実施の形態１における動画像復号装置の構成を図３に示す。同図における動画像復号装置は、マクロブロック復号処理部２、画像劣化検出部７、画像修復開始位置決定部９、画像修復処理部１１、切替器４、フレームメモリ１４を有している。
また、図４はマクロブロック復号処理部２の内部構成を示しており、この図２における可変長復号部１６は、ブロック単位に符号化された動画像符号化ビットストリームのシンタックスに基づいて、符号化ビット列から符号化データを正常に復元することが不可能な復号破綻状態を検出するシンタックス解析部としての機能を有している。
また、図５は図３の動画像復号装置の処理フローを示している。以下、本実施の形態の動画像復号装置の動作をこれらの図を用いて説明する。
【００１６】
(1)可変長復号処理
図３に示した復号装置は、図１で示したビデオパケット単位の動画像圧縮データ１を受け取り、ビデオパケット中の個々のマクロブロックデータについて、マクロブロック復号処理部２にて復号処理を行う。
マクロブロック復号処理部２は、ビデオパケット単位の動画像圧縮データ１を受け取ると、まず可変長復号部１６において、ビデオパケットヘッダ情報の復号を行う(ステップS1)。ビデオパケットヘッダ情報には、図示はしていないが、当該ビデオパケットの先頭マクロブロックの画面内位置情報や、当該ビデオパケットに含まれるマクロブロックの量子化パラメータ基準値などが含まれる。このとき、復号破綻検出フラグ１２aはゼロリセットし、さらに、後述する画像劣化検出位置情報をいかなる画面内位置にも該当しない初期値にセットする。
次いで、個々のマクロブロックの復号プロセスに移る。個々のマクロブロック復号プロセスでは、まず、可変長復号部１６にてマクロブロック符号化データを動画像圧縮データ１から抽出する(ステップS2)。可変長復号部１６では、入力動画像圧縮データ１の符号化規格に従ってシンタックス解析を行い、可変長符号化された各マクロブロックの符号化データを抽出・復元する。マクロブロック符号化データには、動きベクトル１７、符号化モード情報１８、直交変換係数データ６、各マクロブロックに対する量子化ステップパラメータ１９などがある。
【００１７】
また、可変長復号部１６は、これらシンタックス解析処理過程で発生する復号破綻を検出する。復号破綻とは、再び復号同期が回復するまで、それ以上正常なビットストリーム解析を継続することが不可能な状態のことを指す。検出する復号破綻の例としては、たとえば以下のようなものがある。
【００１８】
・入力データが従う動画像圧縮規格において、ビットストリームシンタックス上発生し得ない未定義の符号語、ないしは未定義の復号値が検出される場合
・入力データが従う動画像圧縮規格において、ビットストリームシンタックス上、復号値が固定的に定まっているデータが他の値をとる場合
・入力データが従う動画像圧縮規格において、ビットストリームシンタックス上、復号値の値域が、そのデータ固有で、ないしは別のデータの復号値の制約の下で定められているデータが、正常な値域を逸脱する場合
・復号されたデータが、それまでの復号過程に照らして明らかに矛盾を生じている場合(たとえば、あるビデオパケットの先頭のマクロブロックの画面内位置を復号した結果、その値が、その前までに復号されたマクロブロックの画面内位置と不連続になっている場合、など)
・入力データが従う動画像圧縮規格において、復号される同種データの個数に限界が定められている場合に、その個数を超過して復号される場合(たとえば、MPEG-2, MPEG-4などの規格で採用される直交変換(DCT)は８x８画素ブロックに対して施されるため、直交変換係数は最大でも1ブロックあたり64個しか発生しないが、復号時にこの個数が64個を超過する場合など)
【００１９】
可変長復号部１６は、シンタックス解析処理過程で上記のような復号破綻を検出したか否かによって、処理フローを切り替える(ステップS3)。当該ビデオパケットの復号処理中、復号破綻を検出しない限りは下記(2)で説明する処理(ステップS4〜S8)を個々のマクロブロックごとに実行し続け、いずれかのマクロブロックで復号破綻を検出した場合には、それ以降下記(3)で説明する処理(ステップS9〜S12)を実行する。
なお、図３の復号装置の構成では、復号破綻検出フラグ１２aに基づき、復号破綻を検出したか否かで下記(2)の処理で生成される復号画像３と下記(3)の処理で生成される修復画像１３とを切り替えて最終的な復号画像５を決定するように図示しているが、これは、復号破綻検出の有無に関わらず復号画像３、修復画像１３の双方を生成することを意味するものではなく、本発明の骨子を明瞭に記載するための便宜上、このように図示したものである。下記(2)の処理を実行する場合は、図３の構成要素のうち、画像修復開始位置決定部９、画像修復処理部１１における処理は実行されず、修復画像１３は生成されない。また、下記(3)の処理に遷移する場合は、それ以降のマクロブロックに対して、図４におけるマクロブロック復号処理部２の内部構成における逆量子化部２０、逆直交変換部２１、動き補償部２３での処理は一切実行されず、復号画像３は生成されない。
【００２０】
(2)復号破綻を検出しない場合のマクロブロック復号処理
まず、復号破綻を検出しないマクロブロックの場合の処理(ステップS4〜S8)について説明する。可変長復号部１６にて、上記のような復号破綻が検出されない場合は、復号破綻検出フラグ１２aはゼロを示したままとする。復号破綻検出フラグ１２aの具体的な値は、復号破綻の有無を識別できるならばどのように定めてもよい。
この場合、図５の処理フローに従い、画像劣化検出部７において当該マクロブロックに画像劣化が認められるか否かを判定する(ステップS4)。いかなる状態を画像劣化と判定するかについては、下記(4)で詳しく説明する。
【００２１】
画像劣化があると判定された場合は(ステップS5)、まず、画像劣化検出部７の内部にて、当該マクロブロックが当該ビデオパケット中で最初の画像劣化検出か否かが判断される。この判断は処理フローには明示的には図示されていないが、画像劣化検出位置情報８が、画像劣化を検出した時点でいかなる画面内位置にも該当しない初期値(例えば−1など)になっているか、またはある所定の画面内位置を示す値(例えば、176画素×144ライン(１１×９マクロブロック)で１フレームの画面を構成するQCIF画像であれば、０〜９８の間のいずれかの値)になっているかで判断できる。当該ビデオパケット内で最初に画像劣化を検出した場合にのみ、画像劣化検出部７は、当該マクロブロックの画面内位置を、画像劣化検出位置情報８にセットして記憶する(ステップS6)。次いで、以下に述べるステップS7に移る。
【００２２】
画像劣化がないと判定された場合は(ステップS5)、マクロブロック符号化データを用いて、当該マクロブロックの復号画像を生成する(ステップS7)。ステップS6の処理には、図４の構成における逆量子化部２０、逆直交変換部２１、動き補償部２３といった機能ブロックが使用される。まず、直交変換係数データ６、量子化ステップパラメータ１９が、逆量子化部２０と逆直交変換部２１に送られ、画像信号に復号される。直交変換係数データ６は、後述する画像劣化検出処理に使用するため、マクロブロック復号処理部２より外部へ出力される。
切替器２２は、符号化モード情報１８がフレーム間動き予測モード(インターモード)を示している場合は、動き補償部２３において、動きベクトル１７と符号化モード情報１８とに基づいてフレームメモリ１４中の参照画像１５から予測画像２４を生成して出力する一方、フレーム内符号化モード(イントラモード)を示している場合は、０を出力する。
【００２３】
インターモードでは、逆直交変換部２１の出力は、上述した動き補償予測の結果の予測誤差画像信号であるので、参照画像から、動きベクトル１７を用いて符号化側で生成したものと同じ予測画像２４を生成し、加算部２５において逆直交変換部２１の出力と加算することで復号画像３を再現する。
【００２４】
イントラモードは参照画像をまったく利用せずにフレーム内符号化された場合であり、この場合は、切替器２２の出力がゼロであるため、逆直交変換部２１の出力がそのまま復号画像３となる。切替器４は、復号破綻検出フラグが破綻無し(＝０)を示している場合は、上記復号画像３を最終復号画像５として出力する(すでに上述のように切替器４は常に復号画像３と修復画像１３とを入力としているわけではない)。最終復号画像５は以降のフレームの予測画像生成に用いられるため、フレームメモリ１４に格納される。
以上で、当該マクロブロックにおいて復号破綻が検出されない場合の復号処理が完了する。ビデオパケット内に含まれる全てのマクロブロックについてこの処理フローを完了したら(ステップS8)、当該ビデオパケットの処理を終了する。
【００２５】
(3)復号破綻を検出した場合のマクロブロック復号処理
可変長復号部１６にて復号破綻が検出された場合は、可変長復号部１６は、復号破綻検出フラグ１２aを１として復号破綻が発生したことを外部通知する。次いで、復号同期を回復して正常な復号を再開するために再同期マーカをサーチする(ステップS9)。上述したように、復号破綻検出後、上記再同期マーカが見つかるまでの間のマクロブロック符号化データは失われるので、所定の範囲の画像データを修復によって補う必要がある。
本発明のポイントのひとつは、当該ビデオパケット中のビット誤りに起因する画像劣化をできる限り抑制するように、上記(2)で説明した画像劣化検出の結果に基づいて画像修復範囲を適応的に定める点にある。
【００２６】
再同期マーカ検出後、次のビデオパケットの先頭マクロブロックの画面内位置を確認することにより、当該ビデオパケットが画面内のどの位置のマクロブロックで終了するかを識別する。これによって、可変長復号部１６は、当該ビデオパケット中で画像修復の必要がある画像領域(画像修復領域)の終端を認識し、この終端位置を画像修復終了位置情報１２bによって外部通知する。この画像修復終了位置情報１２bと、画像修復開始位置決定部９で定められる画像修復開始位置情報１０とに基づいて、画像修復範囲が決定される(ステップS10)。本実施の形態では、画像修復開始位置決定部９は、画像劣化検出部７の出力である画像劣化検出位置情報８に基づいて、以下のように画像修復開始位置情報１０を定める。
MBPOS_B = (MBPOS_A  MBPOS_C < THR) ? MBPOS_C : THR 
上式で、MBPOS_Aは復号破綻を検出したマクロブロックの画面内位置、MBPOS_Bは画像修復開始位置情報１０の値、MBPOS_Cは画像劣化検出位置情報８の値、THRは所定の閾値である。Z = (X < Y) ? A : Bなる演算はC言語記述で定められる3項演算子であり、XがYより小の場合にZはAとなり、さもなくばZはBとなるという意味である。また、一般に、復号破綻を検出するマクロブロックないしはそれ以前にビット誤りにより復号同期が失われるため、MBPOS_A >= MBPOS_Cとなる。ただし、当該ビデオパケット内でMBPOS_Aに至るまでの間一切画像劣化が検出されなかった場合は、MBPOS_Cはいかなる画面内位置をも示しえない初期値のままであるので、その場合にはMBPOS_C==MBPOS_Aとみなす。また、MBPOS_Cは当該ビデオパケットの先頭マクロブロックの位置よりも前になることは原理上ありえない。
【００２７】
つまり、画像修復開始位置情報１０(MBPOS_B)は、復号破綻を検出したマクロブロックの画面内位置MBPOS_Aから画像劣化検出位置MBPOS_Cまで遡った場合の逆戻りするマクロブロック数が所定の範囲(THR)内におさまる場合は画像劣化検出位置MBPOS_Cを画像修復開始位置MBPOS_Bとする。一方、逆戻りするマクロブロック数が所定の範囲(THR)内におさまらない場合は、閾値THRだけ逆戻りした位置を画像修復開始位置MBPOS_Bとする。
このような決定方法をとるのは以下の根拠による。本実施の形態では、画像劣化検出部７にて画像劣化が認められるマクロブロックが検出されている場合、そのような画像劣化部分を含めて画像修復を行う。これは、先に課題として示したように、復号破綻を検出した位置からの画像修復では、図２のような、復号破綻以前に映像の乱れとなる復号同期はずれを見逃し、劣化を修復しきれないという問題を解決するためである。
【００２８】
しかし、復号破綻を発生せずに上記(2)のプロセスに基づいて復号画像を生成済の過去のマクロブロックに対しても過去に遡って修復処理を実行するため、そのようなマクロブロックについては処理が重複し全体としての処理量が増加する。本実施の形態における画像修復開始位置決定部９によれば、閾値THRにより遡って修復処理を行うマクロブロック数に上限が与えられ、上記の重複処理に起因する処理量増分の上限値が確実に決まるため、あらかじめ、設計しようとする復号装置の画像劣化修復能力に対する要求条件と許容される処理量とのバランスに基づいてTHRを適切な値に定めることにより、システム設計条件に合致した復号装置を柔軟に設計できるという効果がある。
THRを決める方法には、例えば以下のような方法がある。一般に、復号破綻を発生した箇所と復号同期はずれによって復号画像が乱れる箇所とはその間に含まれる符号量との相関関係がある。所定のマクロブロック数中の総符号量が少ない場合は、復号同期はずれの影響が復号破綻を検出するよりもかなり前の位置から映像の乱れとなって現れる場合が多いが、総符号量が多い場合は1マクロブロックあたりの符号量が多くなるため、復号同期がはずれてもそれが復号破綻として検出されるまでに復号されるマクロブロックの数は確率的にそれほど多くはならない。したがって、入力される動画像圧縮データ１のビットレートや、当該ビデオパケットのヘッダ情報に含まれる量子化パラメータ基準値などに基づいてTHRを定めるなどの方法が考えられる。
【００２９】
次いで、画像修復終了位置情報１２bと、後述する画像修復開始位置決定部９において決定される画像修復開始位置情報１０とが画像修復処理部１１に入力され、これらの開始・終了位置情報に基づいて定まる画像修復範囲内のすべてのマクロブロックに対し画像修復を行う処理（修復画像生成）が実行される(ステップS11)。画像修復処理は、修復対象のマクロブロックに対し、その時間的あるいは空間的な近傍にある画像情報ないしは符号化データから、類似な画像を修復画像として生成する処理である。例えば以下のようなさまざまな処理方法が考えられる。
【００３０】
［参照画像から修復画像を生成する方法］
・フレームメモリ内の参照画像から、修復対象のマクロブロックと空間的に同一位置にある画像データをそのままコピーする。
・フレームメモリ内の参照画像から、修復対象のマクロブロックと空間的に同一位置から所定の動きベクトル分だけシフトさせた箇所の画像データをコピーする。本来の動きベクトルが復号破綻のために失われていて使用できない場合は、例えば以下のような方法で代替動きベクトルを求める。
→修復対象のマクロブロックの真上のマクロブロックの動きベクトルを保持しておいて使用する。
→修復対象のマクロブロックの周辺のマクロブロックの動きベクトルを保持しておいて、それらを用いて動きベクトルの予測復号処理の際に使用する動きベクトル予測値を計算して使用する。
・当該ビデオパケットが、例えばMPEG-4ビジュアル規格に定めるデータパーティショニングシンタックスを用いている場合に、重要度の高いデータと低いデータの区切りのコードとして挿入されるマーカコードが正しく復号できた場合に、重要度の高いデータとして符号化されている動きベクトルを使用して、フレームメモリ内の参照画像から、修復対象のマクロブロックと空間的に同一位置から上記動きベクトル分だけシフトさせた箇所の画像データをコピーする。
［同一フレーム内のデータを使用して修復画像を生成する方法］
・同一フレーム内の周辺マクロブロックのDC係数、AC係数(の一部または全部)を保持しておき、それを用いて修復画像を生成する。
・当該ビデオパケットがデータパーティショニングシンタックスを用いている場合に、重要度の高いデータと低いデータの区切りのコードとして挿入されるマーカコードが正しく復号できた場合に、重要度の高いデータとして符号化されているDC係数を使用して修復画像を生成する。ないしは、その際に、周辺マクロブロックのAC係数も保持しておき、それらも加味して修復画像を生成する。
【００３１】
切替器４は、復号破綻検出フラグが破綻あり(＝１)を示している場合は、上記修復画像１３を最終復号画像５として出力する(すでに上述のように切替器４は常に復号画像３と修復画像１３とを入力としているわけではない)。最終復号画像５は以降のフレームの予測画像生成に用いられるため、フレームメモリ１４に格納される。
以上の方法で、画像修復範囲内のすべてのマクロブロックの修復画像を生成し終えたら、当該ビデオパケットの処理を終了する(ステップS12)。
【００３２】
(4)画像劣化検出処理
以下、画像劣化検出部７で行われるステップS4の画像劣化判定の処理について詳しく説明する。本実施の形態においては、画像劣化とは、可変長復号部１６で解析・抽出され出力されるマクロブロック符号化データのうち、直交変換係数データ６が、入力動画像圧縮データ１が従う規格上は許されているが、通常の動画像圧縮データでは発生する確率が非常に低い値を示す場合と定義する。
【００３３】
画像劣化検出部７は、入力される直交変換係数データ６に対し、その値があらかじめ記憶された劣化判定用の閾値の範囲にあるかどうかをチェックし、範囲を超えたとき、そのような直交変換係数データ６を画像劣化要因と判定する。具体的には、直交変換係数データ６のうち、イントラDC係数の予測差分値（DC_DIFF）、AC係数（AC_LEVEL）の値が、それぞれあらかじめ画像劣化検出部７の内部に記憶される閾値テーブルTHR_TABLE_DCDIFF, THR_TABLE_AC_LEVELの範囲外となるときを画像劣化とする。つまり、
DC_DIFF > THR_TABLE_DCDIFF[Qp][YC]
または
AC_LEVEL > THR_TABLE_AC_LEVEL[M][Qp][YC][FQ]
が満たされる場合を画像劣化とする。上式において、Qpは量子化ステップパラメータ１９、YCは輝度信号・色差信号種別(YCの値は、マクロブロック中でユニークに定まる8x8画素ブロックの番号で判断できる。8x8画素ブロックの番号が０〜３のときは輝度、4，5のときは色差である)、Mは符号化モード情報１８(イントラモード、インターモードの種別)、FQはAC係数の周波数である。なお、DC_DIFFに対する劣化判定については、例えば直交変換係数データ６に直接的にDC_DIFFの情報が含まれない場合などは、実際に周辺マクロブロックの画像の平均値を求めて保持しておき、劣化検出対象のマクロブロックの平均値との差分をDC_DIFFとして求めてから劣化判定を実行するように構成してもよい。
DC_DIFFの劣化判定は、特に、周辺の画像に対して異常な平均色を有するブロックの発生を検出するのに効果がある。また、AC_LEVELの劣化判定は、異常なAC係数値によってその周波数成分の直交変換基底が強調されることによって生じるマクロブロック中の異常な波形パターンを検出するのに効果がある。
【００３４】
そのほかにも、以下に示すようなさまざまな画像劣化判定方法が考えられる。
・直交変換係数データ６を逆量子化部２０で逆量子化した出力が、規格で定められる値域を逸脱する場合
・加算器２５で生成される復号画像３の画素値が、規格で定められる値域を逸脱する場合
・直交変換係数データ６の有効係数分布(周波数分布)が、所定の値域を逸脱する場合
・直交変換係数データ６の有効係数の個数が、所定の閾値を超える場合
・動きベクトル１７ないしは動きベクトル１７の予測差分値が、所定の値域を逸脱する場合
・直交変換係数データ６のブロック内電力和が、所定の値域を逸脱する場合
【００３５】
上記「値域」はそれぞれ、ある正の定数を用いて「平均値−(定数)×標準偏差」から「平均値＋(定数)×標準偏差」の間、と読み替えても良い。差分値は理論的には、最大値と最小値が0を中心にして対称になると考えられるので、「差分値の値域」を「差分値の絶対値の最大値」と読み替えても良い。
【００３６】
さらに、上記述べたような画像劣化判定に用いる閾値ないしは閾値テーブルについては、入力動画像圧縮データ１を復号していく過程で学習するように構成してもよい。そのような動画像復号装置の別の構成例を図６に示す。同図において、統計量蓄積部２６は、直交変換係数データ６の入力に対し、復号破綻検出フラグ１２aがゼロであって画像修復開始位置情報１０がいかなる画面内位置も示しえない初期値であるマクロブロックについてのみ、直交変換係数データ６から画像劣化判定のための閾値・閾値テーブルで用いている統計量を計算し、画像劣化検出部７内部の閾値・閾値テーブルを動的に変更する機能を持つ。例えば、ビデオパケットの先頭で、その時点の閾値・閾値テーブルの値を暫定的に別メモリに退避し、そのビデオパケットを復号している最中に統計量蓄積部２６が上記閾値・閾値テーブルの学習を行うようにする。復号破綻を検出しなかった場合は、その次のビデオパケットの復号時には学習を行って更新された閾値・閾値テーブルを用いることとし、復号破綻を検出した場合はそのビデオパケットにおける閾値・閾値テーブル更新はビット誤りの影響を受ける恐れがあるため、上記暫定的に別メモリに退避しておいた閾値・閾値テーブルの状態に戻して次のビデオパケットの復号処理を行うといった構成が考えられる。
【００３７】
一般に、画像信号は非定常な信号であるため、このような学習を行うことによって復号中の画像信号の統計的性質に合わせて安定した画像劣化判定を行うことができる効果がある。
【００３８】
また、画像劣化検出部７における画像劣化判定チェックは、当該ビデオパケット内で一度画像劣化が認められるマクロブロックを検出した後は実行しないように構成することもできる。これにより、当該ビデオパケット復号処理中はそれ以降画像劣化判定チェック処理をスキップすることができ、処理量を削減する効果がある。
【００３９】
以上の構成による動画像復号装置によれば、ビデオパケット復号中に復号破綻を生じる致命的な誤りが含まれていたときにのみ、復号同期はずれなどに起因する画質劣化箇所まで遡って画像修復を行うため、画像修復を行う範囲を必要最低限に抑えつつ的確な画像修復を行うことができる。
【００４０】
さらに、ビデオパケット中に復号破綻を生じる致命的な誤りが含まれない場合には、仮に画像劣化要因となるマクロブロックを検出したとしても正常な復号プロセスを実行し一切画像修復を行わないため、正しく復号されたにも関わらず画像劣化として誤判定されたマクロブロックがあっても、画像修復を行うことなく安定した復号処理を行うことができる。
【００４１】
本実施の形態では、画像修復を行う範囲を、ビデオパケット中最初の画像劣化検出箇所から当該ビデオパケットの末尾までとしたが、画像劣化を検出した全てのマクロブロックの位置を保持しておくことを前提とするならば、画像劣化が検出されたマクロブロックだけについて修復処理を行うように構成してもよい。このように構成することで視覚的に正常な範囲の復号画像を修復対象から外せるため、画像修復を行う範囲をさらに局所化できるとともに、画像修復のために重複して修復画像を生成しなければならないマクロブロックの数を削減できる効果がある。
【００４２】
また、画像修復を行う範囲は、前記画像修復開始位置決定部９で定められた画像修復開始位置１０の値からさらに所定のマクロブロック数だけ遡って開始点を定めるようにしてもよい。画像劣化検出部７にて画像劣化と認められたブロックについては、そのポイントがすなわちビット誤り発生位置とは限らないため、画像劣化検出位置よりもさらに少し遡ることによって、ビット誤り発生位置を画像修復できる確率を高める効果がある。
【図面の簡単な説明】
【００４３】
【図１】ビデオパケットデータのシンタックス例を示した説明図である。
【図２】ビデオパケット中のビット誤りが復号処理・復号画像に及ぼす影響を説明する説明図である。
【図３】実施の形態における動画像復号装置の構成を示した構成図である。
【図４】動画像復号装置のマクロブロック復号処理部の構成図である。
【図５】動画像復号装置における処理フローを示したフローチャートである。
【図６】動画像復号装置の別の構成例を示した構成図である。
【符号の説明】
【００４４】
２  マクロブロック復号処理部
７  画像劣化検出部
９  画像修復開始位置決定部
１１  画像修復処理部
１６  可変長復号部
【図１】
2005295054.tif 000003
【図２】
2005295054.tif 000004
【図３】
2005295054.tif 000005
【図４】
2005295054.tif 000006
【図５】
2005295054.tif 000007
【図６】
2005295054.tif 000008