(57)【特許請求の範囲】
【請求項１】
復号化対象のマクロブロック自体は動きベクトル情報を持たず、既に復号化済みの他のピクチャのマクロブロック情報を参照して、当該復号化対象のマクロブロックの動きベクトル情報を予測生成する動画像復号化装置であって、
入力された動画像符号化ストリームから復号化された、復号化済みのマクロブロックのマクロブロック情報と、復号化済みのピクチャの画像データとを保存するための保存手段と、
前記入力された動画像符号化ストリームにエラーがあるか否かを判定する判定手段と、
前記判定手段によりエラーがあると判定された場合、前記復号化済みのマクロブロックのマクロブロック情報を変更し、前記保存手段に、変更されたマクロブロック情報を保存するマクロブロック情報変更手段と
を備えた動画像復号化装置。
【請求項２】
前記マクロブロック情報変更手段は、前記入力された動画像符号化ストリームのエラーに起因する不具合を解決するように、前記復号化済みのマクロブロックのマクロブロック情報を変更する
請求項１記載の動画像復号化装置。
【請求項３】
復号化対象のマクロブロック自体は動きベクトル情報を持たず、既に復号化済みの他のピクチャのマクロブロック情報を参照して、当該復号化対象のマクロブロックの動きベクトル情報を予測生成する動画像復号化方法であって、
入力された動画像符号化ストリームにエラーがあるか否かを判定する判定ステップと、
前記判定ステップによりエラーがあると判定された場合、前記入力された動画像符号化ストリームから復号化された復号化済みのマクロブロックのマクロブロック情報を変更し、前記復号化済みのマクロブロックのマクロブロック情報と、前記入力された動画像符号化ストリームから復号化された復号化済みのピクチャの画像データとを保存するための保存手段に、変更されたマクロブロック情報を保存するマクロブロック情報変更ステップと
を含む動画像復号化方法。
【請求項４】
前記マクロブロック情報変更ステップでは、前記入力された動画像符号化ストリームのエラーに起因する不具合を解決するように、前記復号化済みのマクロブロックのマクロブロック情報を変更する
請求項３記載の動画像復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既に復号化済みのピクチャの動きベクトルや参照ピクチャなどの情報を参照することによって、入力されたストリームの復号化を行う動画像復号化装置および動画像復号化方法に関するものである。
【背景技術】
【０００２】
動画像符号化においては、一般に動画像の有する空間方向および時間方向の冗長性を削減することによって情報量の圧縮を行う。ここで時間方向の冗長性を削減する方法として、ピクチャ間予測が用いられる。ピクチャ間予測では、あるピクチャを符号化する際に、表示時間順で前方または後方にあるピクチャを参照ピクチャとする。
【０００３】
そして、その参照ピクチャからの動き量を検出し、動き補償によって得られたピクチャと符号化対象のピクチャの差分値に対して、空間方向の冗長度を取り除くことにより情報量の圧縮を行う。
【０００４】
近年、標準化されたＨ．２６４規格では、符号化の単位をスライスとしている。スライスとは、ピクチャより小さく、複数のマクロブロックから構成される単位である。ピクチャは、１つもしくは複数のスライスから構成される。参照ピクチャを持たずに符号化対象ピクチャのみを用いて画面内予測を行うマクロブロックのみを含むスライスをＩスライスと呼ぶ。また、既に復号化済みの１枚のピクチャを参照して画面間予測を行うマクロブロックと画面内予測を行うマクロブロックとを含むスライスをＰスライスと呼ぶ。また、既に復号化済みの２枚以下のピクチャを同時に参照して画面間予測を行うマクロブロックと画面内予測を行うマクロブロックを含むスライスをＢスライスと呼ぶ。
【０００５】
ピクチャは複数の種類のスライスから構成することができ、Ｉスライスのみを含むピクチャをＩピクチャ、ＩスライスとＰスライスのみを含むピクチャをＰピクチャ、ＩスライスとＰスライスとＢスライスを含むピクチャをＢピクチャと呼ぶ。
【０００６】
以降、説明をわかりやすくするため、ピクチャで説明を行うが、スライスであっても同じ議論が成立する。
【０００７】
Ｈ．２６４規格では、ＭＰＥＧ２規格やＭＰＥＧ４規格と比較して、参照ピクチャに対する制約が大幅に緩和されている。Ｐピクチャに属するマクロブロックで参照する参照ピクチャは、復号化済みのピクチャであれば、表示時間的に前方であっても後方であってもどちらでもよい。Ｂピクチャに属するマクロブロックで参照する２枚以下のピクチャは、復号化済みであれば、表示時間的に前方であっても後方であってもどちらでもよい。また、参照ピクチャは、ピクチャ種類に依存せず、Ｉピクチャ、Ｐピクチャ、Ｂピクチャのいずれであってもよい。
【０００８】
図１は、上記従来の動画像符号化方式における各ピクチャの予測関係（参照関係）を示す模式図である。
【０００９】
図中の縦線は１枚のピクチャを示しており、各ピクチャの右下にピクチャタイプ（Ｉ、Ｐ、Ｂ）を示している。また図中の矢印は、矢印の始端にあるピクチャが、矢印の終端にあるピクチャを参照ピクチャとして用いて画面間予測復号化することを示している。
【００１０】
Ｂピクチャではマクロブロックごとに最大２枚までのピクチャを参照でき、一方の参照を前方参照Ｌ０、もう一方の参照を後方参照Ｌ１と呼ぶ。前方参照といっても、表示時間的に前方のピクチャが優先されるだけであって、必ずしも表示時間的に前方のピクチャである必要はない。また、後方参照も、表示時間的に後方のピクチャが優先されるだけであって、必ずしも表示時間的に後方のピクチャである必要はない。
【００１１】
Ｐピクチャではマクロブロックごとに最大１枚までのピクチャを参照でき、前方参照Ｌ０のみが可能である。このときも、Ｂピクチャと同様、参照されるピクチャは必ずしも表示時間的に前方のピクチャである必要はない。例えば、図中の先頭から９枚目のＢピクチャＢ９は、前方参照として表示時間的には後者になる１０枚目のＰピクチャＰ１０、後方参照として表示時間的には前者になる７枚目のＰピクチャＰ７を参照ピクチャとして用いている。また、Ｈ．２６４規格では、ＭＰＥＧ２規格やＭＰＥＧ４規格と比較して、表示順序に対する制約も大幅に緩和されている。復号化済みのピクチャを格納するピクチャメモリがオーバーフローしない限りは、復号化順に依存せずに表示順を決定することができる。
【００１２】
図２は、Ｈ．２６４規格の動画像符号化方式における各ピクチャの復号化順と表示順の関係の一例を示す模式図である。
【００１３】
図中の上方は、各ピクチャを復号化順に並べたものであり、下方は、各ピクチャを表示順に並べたものである。中間の矢印は、各ピクチャの復号化順と表示順の対応を示す。表示順は各ピクチャの属性として符号化されている。例えば、図中のＰピクチャＰ１０は、後から復号化されるＢピクチャＢ１１や、Ｐピクチャ１３の後に表示される。
【００１４】
また、Ｈ．２６４規格では、Ｂピクチャの復号化において、符号化対象マクロブロック自体が動きベクトルを持たないダイレクトモードという符号化モードを選択することができる。ダイレクトモードには、時間的ダイレクトモードと空間的ダイレクトモードの２種類が存在する。時間的ダイレクトモードでは、符号化済みのほかのピクチャの動きベクトルを参照動きベクトルとして、ピクチャ間の表示時間的位置関係に基づいてスケーリング処理を行うことによって、符号化対象マクロブロックで用いる動きベクトルを予測して生成している（特許文献１参照）。
【００１５】
図３は、時間的ダイレクトモードにおける動きベクトルの予測生成方法を示す模式図である。
【００１６】
縦棒はピクチャを示し、ピクチャの右上に付与された記号は、ＰはＰピクチャ、ＢはＢピクチャを示し、ピクチャタイプに付している数字は各ピクチャの復号化順を示している（以降同様の命名基準とする）。また、各ピクチャＰ１、Ｂ３、Ｂ４、Ｂ５、Ｐ２は、それぞれ表示時間情報としてＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５を有している。ここでは、ピクチャＢ５のマクロブロックＢＬ０を時間的ダイレクトモードで復号化する場合について説明する。
【００１７】
ピクチャＢ５の表示時間的に近傍に位置する既に復号化済みピクチャ（アンカーピクチャ）であるピクチャＰ２中の、マクロブロックＢＬ０と同じ位置にあるマクロブロック（アンカーマクロブロック）ＢＬ１の動きベクトルＭＶ１を利用する。この動きベクトルＭＶ１は、マクロブロックＢＬ１が復号化された際に用いられた動きベクトルであり、ピクチャＰ１を参照している。この場合にマクロブロックＢＬ０を復号化する際に用いる動きベクトルは、ピクチャＰ１に対しては動きベクトルＭＶ＿Ｆ、ピクチャＰ２に対しては動きベクトルＭＶ＿Ｂとなる。この際、動きベクトルＭＶ１の大きさをＭＶ、動きベクトルＭＶ＿Ｆの大きさをＭＶｆ、動きベクトルＭＶ＿Ｂの大きさをＭＶｂとすると、ＭＶｆ、ＭＶｂはそれぞれ
ＭＶｆ＝（Ｔ４−Ｔ１）／（Ｔ５−Ｔ１）×ＭＶ
ＭＶｂ＝（Ｔ５−Ｔ４）／（Ｔ５−Ｔ１）×ＭＶ
によって得られる。
【００１８】
このように動きベクトルＭＶ１からスケーリング処理を行うことによって得られた動きベクトルＭＶ＿Ｆ、動きベクトルＭＶ＿Ｂを用いて、参照ピクチャであるピクチャＰ１とピクチャＰ２からマクロブロックＭＢＬ０の動き補償を行う。
【００１９】
また、アンカーマクロブロックＢＬ１が画面内予測マクロブロックである場合、動きベクトルを持たない。このときは、動きベクトルＭＶ１＝０として扱う。その結果、ピクチャＰ２とピクチャＢ４中の、マクロブロックＢＬ０と同じ位置にあるマクロブロックの画素値の平均値が、マクロブロックＢＬ０の画素値となる。
【００２０】
空間的ダイレクトモードでは、時間的ダイレクトモードと同様に符号化対象マクロブロック自体は動きベクトルを持たず、符号化対象マクロブロックの空間的に周辺に位置する符号化済みマクロブロックの持つ動きベクトルを参照し、それを用いて復号化を行っている（特許文献２参照）。
【００２１】
図４は、空間的ダイレクトモードにおける動きベクトルの予測生成方法を示す模式図である。
【００２２】
ここでは、図中のピクチャＢ３のマクロブロックＢＬ０を空間的ダイレクトモードで復号化する場合について説明する。
【００２３】
この場合、復号化対象であるマクロブロックＢＬ０の周辺の３画素Ａ、Ｂ、Ｃを含む復号化済みマクロブロックのそれぞれの動きベクトルＭＶＡ１、ＭＶＢ１、ＭＶＣ１のうち、復号化対象ピクチャから表示時間的に最も近くにある既に復号化されたピクチャを参照した動きベクトルを、符号化対象マクロブロックの動きベクトルの候補として決定する。これにより決定した動きベクトルが３つの場合には、それらの中央値を符号化対象マクロブロックの動きベクトルとして選択する。また、２つである場合には、それらの平均値を求め、符号化対象マクロブロックの動きベクトルとする。図に示す例では、動きベクトルＭＶＡ１、ＭＶＣ１はピクチャＰ２を参照して求められ、動きベクトルＭＶＢ１はピクチャＰ１を参照して求められている。
【００２４】
よって、復号化対象ピクチャから表示時間的に最も近くにある既に復号化されたピクチャであるピクチャＰ２を参照した動きベクトルＭＶＡ１、ＭＶＣ１の平均値を求め、復号化対象マクロブロックの１つめの動きベクトルであるＭＶ＿Ｆとする。２つめの動きベクトルであるＭＶ＿Ｂを求める場合も同様である。
【００２５】
一方、動画像復号化においては、受信した圧縮ストリームにエラーが含まれている場合が存在する。エラーが含まれている場合、エラーを検出して復号化動作を停止してもよいが、停止してしまうと、視聴しているユーザにとっては見ることが出来ないという不都合が生じる。そこで、エラーをできるだけ目立たないようにしつつ、復号化の停止を避けながら、復号化を続行するエラーコンシールメントという処理を行う。従来、エラーコンシールメントは、復号化対象ピクチャにエラーが検出された場合に、当該ピクチャのピクチャデータを、周辺の他のピクチャのピクチャデータから代用する方法が代表的である（特許文献３参照）。
【００２６】
図５は、従来のエラーコンシールメントの方法を示す模式図である。Ｐ１、Ｂ１、Ｂ２、Ｐ２のピクチャから構成されており、Ｐ１は正常に復号化されたが、Ｐ２はエラーを発生し復号化が停止したとする。このとき、特許文献３では、Ｂ１、Ｂ２、Ｐ２のピクチャを、既に復号化済みのＰ１のピクチャで置き換えることで、エラーコンシールメントを行う。この際、代用されるピクチャは、他のピクチャから参照可能なピクチャであり、かつ最も後に復号化されたピクチャである。このようにすることで、Ｂ１、Ｂ２、Ｐ２とは異なるピクチャであるが、エラーが発生したピクチャの代わりに時間的に近いピクチャを表示することにより、視聴しているユーザにエラーの発生を感じさせず、スムーズに復号化しているように見せることができる。
【先行技術文献】
【特許文献】
【００２７】
【特許文献１】特開平１１−７５１９１号公報
【特許文献２】国際公開第２００４／００８７７５号
【特許文献３】特開平１０−２３４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００２８】
すでに述べた通り、動画像符号化方法には、復号化対象マクロブロック自体が動きベクトルを持たない符号化モードが存在する。その１つである時間的ダイレクトモードでは、既に復号化済みの他のピクチャの動きベクトルや参照タイプ、表示時間情報などを用いることで、復号化対象マクロブロックの動きベクトルを予測して生成している。
【００２９】
一方、従来のエラーコンシールメントは、エラーが発生したピクチャの種類に応じて、既に復号化された他のピクチャを選択し、前記選択したピクチャにより代用を行う。ただし、代用するのは表示するピクチャデータについてのみであり、動きベクトルや参照タイプ、表示時間情報などに対しては対処していない。
【００３０】
そのため、あるピクチャにてエラーが検出され、そのピクチャが時間的ダイレクトモードのアンカーピクチャとして指定された場合、復号化対象マクロブロックの動きベクトルを予測するための動きベクトルの情報が欠落しているために、復号化動作を正しく行えず、復号化に使用するデータの不整合が生じ、復号化動作が不安定になり、最悪の場合停止してしまう恐れがある。
【００３１】
そこで、本発明は上記の事情に鑑みてなされたものであり、エラーが発生したピクチャがアンカーピクチャとして指定された場合でも、エラーコンシールメントを行い、エラーの発生を隠蔽すると共に、復号化を安定的に継続することを目的とする。
【課題を解決するための手段】
【００３２】
前記従来の課題を解決するために、本発明の動画像復号化装置は、復号化対象のマクロブロック自体は動きベクトル情報を持たず、既に復号化済みの他のピクチャのマクロブロック情報を参照して、当該復号化対象のマクロブロックの動きベクトル情報を予測生成する動画像復号化装置であって、入力された動画像符号化ストリームから復号化された、復号化済みのマクロブロックのマクロブロック情報と、復号化済みのピクチャの画像データとを保存するための保存手段と、前記入力された動画像符号化ストリームにエラーがあるか否かを判定する判定手段と、前記判定手段によりエラーがあると判定された場合、前記復号化済みのマクロブロックのマクロブロック情報を変更し、前記保存手段に、変更されたマクロブロック情報を保存するマクロブロック情報変更手段とを備える。
また、前記マクロブロック情報変更手段は、前記入力された動画像符号化ストリームのエラーに起因する不具合を解決するように、前記復号化済みのマクロブロックのマクロブロック情報を変更してもよい。
また、本発明の動画像復号化方法は、復号化対象のマクロブロック自体は動きベクトル情報を持たず、既に復号化済みの他のピクチャのマクロブロック情報を参照して、当該復号化対象のマクロブロックの動きベクトル情報を予測生成する動画像復号化方法であって、入力された動画像符号化ストリームにエラーがあるか否かを判定する判定ステップと、前記判定ステップによりエラーがあると判定された場合、前記入力された動画像符号化ストリームから復号化された復号化済みのマクロブロックのマクロブロック情報を変更し、前記復号化済みのマクロブロックのマクロブロック情報と、前記入力された動画像符号化ストリームから復号化された復号化済みのピクチャの画像データとを保存するための保存手段に、変更されたマクロブロック情報を保存するマクロブロック情報変更ステップとを含む。
また、前記マクロブロック情報変更ステップでは、前記入力された動画像符号化ストリームのエラーに起因する不具合を解決するように、前記復号化済みのマクロブロックのマクロブロック情報を変更してもよい。
【００３３】
また、本発明の動画像復号化装置は、過去に復号化した動きベクトル情報を少なくとも有するマクロブロック単位の情報であるマクロブロック情報を参照して、入力された動画像符号化ストリームの復号化を行なう動画像復号化装置であって、前記動画像符号化ストリームにエラーがあるか否かを判定する判定手段と、前記動画像符号化ストリームに含まれる復号化対象ピクチャを復号化することにより、ピクチャデータを生成する復号化手段と、前記動画像符号化ストリームのマクロブロック情報を、復号化されたピクチャデータに対応付けて保存する保存手段とを備え、前記保存手段は、前記判定手段によりエラーがあると判定された場合、エラーが発生したことを示す情報を前記マクロブロック情報に対応付けて保存し、前記復号化手段は、復号化済みのピクチャのマクロブロック情報を参照して復号化を行う復号化モードにより前記動画像符号化ストリームを復号化する場合、前記マクロブロック情報がエラーの発生した前記マクロブロック情報であれば復号化動作を変更する。
【００３４】
また、本発明の動画像復号化装置は、前記ストリームにエラーがあるか否かを判定する判定手段と、前記ストリームの動きベクトル情報を少なくとも有するマクロブロック単位の情報であるマクロブロック情報を、復号化された画像データに対応付けて保存する保存手段と、前記判定手段によりエラーがあると判定されたストリームの画像データを、前記保存手段に保存されている復号化された画像データに置き換える画像データ置換手段と、前記判定手段によりエラーがあると判定されたストリームのマクロブロック情報を、前記保存手段に保存されているマクロブロック情報に置き換えるマクロブロック情報置換手段とを備え、前記保存手段は、前記マクロブロック情報置換手段により置き換えられたマクロブロック情報を、前記画像データ置換手段により置き換えられた画像データに対応付けて保存する。
【発明の効果】
【００３５】
本発明に係る動画像復号化装置によれば、マクロブロック情報置換手段により、エラーがあると判定されたストリームのマクロブロック情報を、既に復号化されたピクチャのマクロブロック情報に置き換えるという構成をとることにより、エラーが発生し、エラーコンシールメントしたピクチャがアンカーピクチャとして指定された場合であっても、時間的ダイレクトモードの復号化を安定的に継続することができる。
【図面の簡単な説明】
【００３６】
【図１】図１は、Ｈ．２６４規格の参照ピクチャの関係の一例を示す図である。
【図２】図２は、Ｈ．２６４規格の復号化順と表示順の関係の一例を示す図である。
【図３】図３は、時間的ダイレクトモードによる復号化の一例を示す図である。
【図４】図４は、空間的ダイレクトモードによる復号化の一例を示す図である。
【図５】図５は、従来のエラーコンシールメントの一例を示す図である。
【図６】図６は、本実施の形態１、２、３における動画像復号化装置の構成を示すブロック図である。
【図７】図７（ａ）（ｂ）（ｃ）は、それぞれに対応付けられてピクチャメモリに格納されるデータの内容の一例を示す図である。
【図８】図８は、本実施の形態１の動画像復号化装置による復号化動作の一例を示すフローチャートである。
【図９】図９は、本実施の形態２の動画像復号化装置による復号化動作の一例を示すフローチャートである。
【図１０】図１０は、本実施の形態３の動画像復号化装置による復号化動作の一例を説明するフローチャートである。
【図１１】図１１は、本実施の形態４における動画像復号化装置の構成を示すブロック図である。
【図１２】図１２は、エラーを検出したと判定したときに、マクロブロック情報がエラーを含むことを示すフラグをマクロブロック情報の一部として格納する場合の動画像復号化装置の動作を示すフローチャートである。
【図１３】図１３は、マクロブロック情報の一部にエラーの有無を示すフラグが格納されている場合に画面間予測処理を行う動画像復号化装置の動作を示すフローチャートである。
【図１４】図１４は、本実施の形態５における動画像復号化装置の復号化動作を説明するフローチャートである。
【図１５】図１５は、本発明の動画像復号化装置のハードウェア構成の一例を示すブロック図である。
【図１６】図１６（ａ）（ｂ）（ｃ）は、上記各実施の形態の画像信号処理方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
【発明を実施するための形態】
【００３７】
以下、本発明の実施の形態における動画像復号化装置について、図面を参照しながら説明する。
【００３８】
（実施の形態１）
実施の形態１における動画像復号化装置の構成を、図を用いて説明する。図６は、本実施の形態１の動画像復号化装置の構成の一例を示すブロック図である。
【００３９】
図６に示すように、実施の形態１の動画像復号化装置は、入力された符号列中のピクチャにエラーがある場合、当該ピクチャの画像データを復号化済みの他のピクチャの画像データで置換するとともに、動きベクトルを含むマクロブロックごとの情報であるマクロブロック情報、およびピクチャごとの情報であるピクチャ管理情報を、復号化済みの他のピクチャのマクロブロック情報およびピクチャ管理情報で置換する。この動画像復号化装置は、符号列解析部１０１、予測残差復号化部１０２、ピクチャメモリ１０３、エラー判定部１０４、復号化画像データ切り替え部１０５、動き補償部１０６、加算演算部１０７、マクロブロックタイプスイッチ部１０８、画像データ置換部１０９、動きベクトル演算部１１０、マクロブロック情報保存部１１１、情報切り替え部１１２、及びマクロブロック情報置換部１１３を備える。
【００４０】
符号列解析部１０１は、入力された符号列よりブロックタイプ情報、エラー情報、参照ピクチャ情報、動きベクトル情報、表示時間情報、予測残差符号化データ等のデータを抽出し、これらの情報をピクチャメモリ１０３に出力する。
【００４１】
また、符号列解析部１０１は、少なくともブロックタイプ情報、動きベクトル情報、参照ピクチャ情報を動きベクトル演算部１１０に出力し、少なくともブロックタイプ情報、動きベクトル情報、参照ピクチャ情報、表示時間情報をマクロブロック情報保存部１１１に出力し、予測残差符号化データを予測残差復号化部１０２に出力する。さらに、符号列解析部１０１は、符号列にエラーがあるか否かを検出する。
【００４２】
予測残差復号化部１０２は、符号列解析部１０１にて抽出された予測残差符号化データの逆直交変換処理や逆量子化処理を行い、予測残差画像データを生成し、加算演算部１０７に出力する。ここで、予測残差復号化部１０２、動き補償部１０６、加算演算部１０７および動きベクトル演算部１１０は、「前記動画像符号化ストリームに含まれる復号化対象ピクチャを復号化する復号化手段」の一例である。
【００４３】
動きベクトル演算部１１０は、符号列解析部１０１から取得したブロックタイプ情報により、符号列に動きベクトル情報を含むタイプと判断した場合、符号列解析部１０１から取得した動きベクトル情報を動き補償部１０６に出力する。
【００４４】
また、ブロックタイプ情報により、符号列に動きベクトル情報を含まないダイレクトモードだと判断した場合は、ピクチャメモリ１０３からアンカーピクチャの同位置のマクロブロックの動きベクトル情報、ブロックタイプ情報およびアンカーピクチャの表示時間情報を読み出して動きベクトルを算出し、算出された動きベクトルを動き補償部１０６、マクロブロック情報保存部１１１に出力する。
【００４５】
マクロブロック情報保存部１１１は、符号列解析部１０１から取得したそれぞれの情報と、動きベクトル演算部１１０から取得した動きベクトル情報とを保存し、情報切り替え部１１２に出力する。
【００４６】
エラー判定部１０４は、符号列解析部１０１にてエラーが検出されたか否かを判定し、復号化画像データ切り替え部１０５、画像データ置換部１０９、情報切り替え部１１２及びマクロブロック情報置換部１１３に判定結果を通知する。ここで、符号列解析部１０１およびエラー判定部１０４は、「前記動画像符号化ストリーム中で復号化対象ピクチャにエラーがあるか否かを判定する判定手段」の一例である。
【００４７】
動き補償部１０６は、動きベクトル演算部１１０から出力された動きベクトル情報および参照ピクチャ情報に基づいて、ピクチャメモリ１０３から復号化済み画像データを読み出し、動き補償画像データを生成し、加算演算部１０７に出力する。
【００４８】
加算演算部１０７は、予測残差復号化部１０２より入力された予測残差画像データと、動き補償部１０６より入力された動き補償画像データとを加算し復号化画像データを生成する。また、加算演算部１０７は、復号化画像データをマクロブロックタイプスイッチ部１０８に出力する。
【００４９】
マクロブロックタイプスイッチ部１０８は、ブロックタイプ情報をもとに動き補償を利用する場合には１０８ｂに、利用しない場合では１０８ａに切り替える。１０８ｂに接続されるときは、加算演算部１０７により生成された画像データを復号化画像データとして取得し、復号化画像データ切り替え部１０５に出力する。また、１０８ａに接続されるときは、予測残差復号化部１０２により生成された画像データをそのまま復号化画像データとして取得し、復号化画像データ切り替え部１０５に出力する。
【００５０】
画像データ置換部１０９は、エラー判定部１０４から判定結果を取得し、エラーを検出したと判定したときは、ピクチャメモリ１０３から既に復号化済みの画像データを読み出し、復号化画像データ切り替え部１０５に出力する。このとき、最も後に復号化された画像データを選択する。
【００５１】
復号化画像データ切り替え部１０５は、スイッチなどであり、エラー判定部１０４により通知された判定結果を取得し、エラーを検出していないと判定したときは、マクロブロックタイプスイッチ部１０８の出力結果をピクチャメモリ１０３に書き込む。エラーを検出したと判定したときは、画像データ置換部１０９の出力結果をピクチャメモリ１０３に書き込む。画像データ置換部１０９および復号化画像データ切り替え部１０５は、「前記判定手段によりエラーがあると判定された場合、前記復号化対象ピクチャの画像データを、前記復号化対象ピクチャより前に前記保存手段に保存された復号化済みの画像データに置き換える画像データ置換手段」の一例である。
【００５２】
ピクチャメモリ１０３は、復号化画像データ切り替え部１０５により取得する画像データ、符号列解析部１０１により抽出されたそれぞれの情報を、ピクチャ管理情報、画像データ、マクロブロック情報に分類して格納する。ここで、ピクチャ管理情報は少なくとも表示時間情報を含み、マクロブロック情報は復号化時の動きベクトルを少なくとも含むこととする。また、ピクチャ管理情報、マクロブロック情報はそれぞれ同じ情報を管理してもよい。例えば、表示順情報はピクチャ管理情報にもマクロブロック情報にも管理される。ここで、ピクチャメモリ１０３は、「少なくとも動きベクトル情報を含み、前記動画像符号化ストリーム内にマクロブロック単位で記述されるマクロブロック情報と、前記マクロブロックを含むピクチャの復号化済みの画像データとを対応付けて保存する保存手段」、「前記マクロブロック情報置換手段により置き換えられたマクロブロック情報と、前記画像データ置換手段により置き換えられた画像データとを対応付けて保存する前記保存手段」の一例である。
【００５３】
情報切り替え部１１２は、スイッチなどであり、エラー判定部１０４から判定結果を取得し、エラーを検出していないと判定したときは、マクロブロック情報保存部１１１が出力するそれぞれの情報をピクチャメモリ１０３に書き込む。エラーを検出したと判定したときは、ピクチャメモリ１０３からマクロブロック情報置換部１１３が読み出したマクロブロック情報とピクチャ管理情報とをピクチャメモリ１０３に書き込む。ここで、ピクチャメモリ１０３、情報切り替え部１１２、マクロブロック情報置換部１１３および後述のマクロブロック情報保存部６０２は、「前記判定手段によりエラーがあると判定された場合、前記復号化対象ピクチャに対応付けられている前記マクロブロック情報を、前記復号化済みのピクチャに対応付けて保存されているマクロブロック情報に置き換える、または、前記復号化対象ピクチャが前記エラーを含むことを示す情報を、前記復号化対象ピクチャのマクロブロック情報に対応付けて保存する前記保存手段」の一例である。
【００５４】
マクロブロック情報置換部１１３は、「前記判定手段によりエラーがあると判定された場合、前記復号化対象ピクチャに対応付けられている前記マクロブロック情報を、前記復号化済みのピクチャに対応付けて保存されているマクロブロック情報に置き換えるマクロブロック情報置換手段」の一例であり、エラー判定部１０４から判定結果を取得し、エラーを検出したと判定したときは、ピクチャメモリ１０３から過去に復号化されたピクチャのピクチャ管理情報とマクロブロック情報とを読み出す。また、ピクチャメモリ１０３から読み出したピクチャ管理情報とマクロブロック情報とを情報切り替え部１１２に出力する。ここで、過去に復号化したピクチャのピクチャ管理情報とマクロブロック情報とは、画像データ置換部１０９が使用したピクチャの画像データと表示時間情報により対応付けられた情報である。つまり、ここでは最も後に復号化された画像データに対応するピクチャ管理情報とマクロブロック情報とである。このように、最も後に復号化された画像データに対応するピクチャ管理情報の表示時間情報をそのまま使う場合には、得られた動きベクトルを正しくスケーリングできない可能性がある。しかし、得られた動きベクトルが遠くのピクチャを参照している場合には、復号化対象ピクチャと最も後に復号化されたピクチャとの表示時間のずれはスケーリングにおいてそれほど問題にならないと考えられる。従って、これにより、時間的ダイレクトモードで、近似的に復号化対象マクロブロックの動きベクトルを算出することができる。
【００５５】
次に、動画像復号化装置のピクチャメモリ１０３に格納されるデータ構造について、図７を用いて説明する。図７は、それぞれに対応付けられてピクチャメモリに格納されるデータの内容の一例を示す図である。
【００５６】
図７（ａ）のピクチャ管理情報は、ピクチャメモリ１０３に複数枚格納されるそれぞれのピクチャのピクチャ単位の管理情報であり、少なくとも表示時間情報を含んでいる。図７（ｂ）の画像データは、復号化された画像データであり、輝度成分と色差成分とから構成され、参照画像データ及び出力画像データになるデータである。図７（ｃ）のマクロブロック情報は、少なくともブロックタイプ情報と動きベクトル情報と参照ピクチャ情報とを含み、ダイレクトモードの復号化に必要となる情報である。図７の（ａ）（ｂ）（ｃ）は通常の復号化においては、それぞれ対応する情報であり、１つの集まりとして管理される。
【００５７】
次に、本実施の形態における動画像復号化装置の動作を図８に示すフローチャートを用いて説明する。図８は、本実施の形態１の動画像復号化装置による復号化動作の一例を示すフローチャートである。
【００５８】
まず、符号列解析部１０１は、入力された符号列よりマクロブロックごとにブロックタイプ情報や動きベクトル情報、参照ピクチャ情報などを得る（Ｓ３０１）。
【００５９】
符号列解析部１０１にてエラーが検出された否かをエラー判定部１０４にて判定する（Ｓ３０２）。
【００６０】
ステップＳ３０２にてエラー判定部１０４がエラーを検出しなかった場合、マクロブロックタイプスイッチ部１０８にて、マクロブロックタイプごとに画像予測方法を切り替える（Ｓ３０３）。
【００６１】
マクロブロックの予測タイプが画面内予測の場合は、予測残差復号化部１０２や図示していない画面内予測部が復号化画像データを生成して、ピクチャメモリ１０３に格納する（Ｓ３０４）。
【００６２】
マクロブロックの予測タイプが画面間予測の場合は、動き補償部１０６が参照ピクチャ情報や動きベクトル情報を用いて動き補償画像データを生成し、加算演算部１０７で、動き補償画像データと予測残差画像データとを加算し、復号化画像データを生成してピクチャメモリ１０３に格納する（Ｓ３０５）。
【００６３】
復号化時のブロックタイプ情報及び動きベクトル情報を少なくとも含むマクロブロック情報を、マクロブロック情報保存部１１１によってピクチャメモリ１０３に格納する（Ｓ３０６）。
【００６４】
以上を、復号化対象ピクチャ内のマクロブロック数だけ繰り返す（Ｓ３０７）。
【００６５】
ステップＳ３０２でエラー判定部１０４がエラーを検出した場合、画像データ置換部１０９によって、復号化中のピクチャ全体の画像データを、既に復号化した他のピクチャの画像データで置き換える（Ｓ３０８）。
【００６６】
マクロブロック情報置換部１１３によって、復号化中のピクチャ管理情報を、最も後に復号化した他のピクチャのピクチャ管理情報で置き換える（Ｓ３０９）。
【００６７】
次に、マクロブロック情報置換部１１３によって、復号化中のピクチャ全体のマクロブロック情報を、最も後に復号化したピクチャのマクロブロック情報で置き換える（Ｓ３１０）。すなわち、本実施の形態の動画像復号化装置は、マクロブロックごとにエラーの有無を検出するが、１つのピクチャ全体でエラーが検出されなければマクロブロックごとに通常の復号化処理を行い、復号化対象ピクチャ内でエラーが検出されると一度に復号化対象ピクチャ全体の画像データ、マクロブロック情報およびピクチャ管理情報の置換を行う。
【００６８】
なお、上記実施の形態では、ピクチャ管理情報やマクロブロック情報を置換すると記載したが、実際には、エラーが含まれる復号化対象ピクチャの画像データ、マクロブロック情報およびピクチャ管理情報として、（１）最も後に復号化したピクチャの画像データ、マクロブロック情報およびピクチャ管理情報をコピーするとしてもよいし、（２）最も後に復号化したピクチャの画像データ、マクロブロック情報およびピクチャ管理情報が格納されているピクチャメモリ１０３内のアドレスでそのデータを表すとしてもよい。すなわち、（１）の場合、最も後に復号化したピクチャの画像データ、マクロブロック情報およびピクチャ管理情報は、エラーがある復号化対象ピクチャの実体データとして、同じデータが複数存在することになるが、（２）の場合は、エラーがある復号化対象ピクチャの画像データ、マクロブロック情報およびピクチャ管理情報として、最も後に復号化されたピクチャの画像データ、マクロブロック情報およびピクチャ管理情報のピクチャメモリ１０３内のアドレスが示されるだけであり、実体データは１つだけですむ。従って、（２）のように置換することによって、ピクチャメモリ１０３内の記憶領域を節約することができるという効果がある。
【００６９】
このように構成することにより、表示される画像データだけでなく、後のピクチャのダイレクトモードの復号化に必要なマクロブロック情報についても、正しく復号されたピクチャのマクロブロック情報を使うことができるようになり、安定して復号動作を継続することができる。
【００７０】
なお、本実施の形態では、画像データ及びマクロブロック情報の置き換えを、最も後に復号化されたピクチャから代用する方法をとったが、表示順が最も遅いピクチャから代用してもよいし、あるいは表示順が復号化対象ピクチャに最も近いピクチャから代用してもよい。また、画像データ及びマクロブロック情報の置き換えを、最も後に復号化されたピクチャ、表示順が最も遅いピクチャまたは表示順が復号化対象ピクチャに最も近いピクチャから代用してもよいとしたが、それに近いピクチャとしてもよい。それに近いピクチャとは、例えば、ピクチャメモリに格納されている中で最後から２番目に復号化されたピクチャ、表示順が２番目に遅いピクチャ、表示順が復号化対象ピクチャに２番目に近いピクチャとしてもよい。また、画像データの代用先であるピクチャとマクロブロック情報の代用先であるピクチャとは、同じであっても異なっていてもよい。また、マクロブロック情報の中で、一部の情報は他のピクチャから代用し、一部の情報は新たに算出してもよい。
【００７１】
また、本実施の形態では、画像データおよびマクロブロック情報のコンシールメントをピクチャ単位で行ったが、それぞれスライス単位、マクロブロック単位で行ってもよい。さらに、同じピクチャのマクロブロックのうち、エラーが発生したマクロブロック以降のマクロブロック、エラーが発生したマクロブロック以前のマクロブロックをコンシールメント単位としてもよい。
【００７２】
例えば、コンシールメントをマクロブロック単位で行うとした場合、エラーがあると判定された復号化対象マクロブロックの画像データを、直前に復号化されたマクロブロックの画像データまたは直後に復号化されるマクロブロックの画像データで置き換える。また、動きベクトル情報を含むマクロブロック情報も復号化対象マクロブロックでエラーがあると判定された場合には、復号化対象マクロブロックの直前に復号化されたマクロブロックのマクロブロック情報または、復号化対象マクロブロックの直後に復号化されるマクロブロックのマクロブロック情報で置き換える。また、この場合、マクロブロック単位でコンシールメントを行うので、ピクチャ管理情報については、復号化対象ピクチャのピクチャ管理情報をそのまま使用するとしてもよい。
【００７３】
さらに、コンシールメントをスライス単位で行うとした場合も、コンシールメントをマクロブロック単位で行う場合と同様に、エラーがあると判定された復号化対象スライスの画像データを、直前に復号化されたスライスの画像データまたは直後に復号化されるスライスの画像データで置き換えればよい。また、動きベクトル情報を含むマクロブロック情報についても、エラーがあると判定された復号化対象スライスに含まれるすべてのマクロブロックのマクロブロック情報を、直前に復号化されたスライスに含まれるすべてのマクロブロックのマクロブロック情報、または、直後に復号化されるスライスに含まれるすべてのマクロブロックのマクロブロック情報で置き換えるとしてもよい。ピクチャ管理情報については、復号化対象ピクチャのピクチャ管理情報をそのまま使用するとしてもよいし、エラーを含むスライスの連続数に応じて、直前に復号化されたピクチャのピクチャ管理情報で置き換える、または、直後に復号化されるピクチャのピクチャ管理情報で置き換えるとしてもよい。
【００７４】
なお、本実施の形態１では、マクロブロック情報に含まれる動きベクトル情報及び表示時刻情報を、直近に復号化されたピクチャのものをそのまま代用するとしたが、本発明はこれに限定されない。例えば、画像データが置き換えられたフレームの表示時刻情報を、フレームレートなどから算出し、代用するマクロブロック情報の中の表示時刻情報を、算出された表示時刻情報に書き替えて使用するとしてもよい。
【００７５】
（実施の形態２）
実施の形態２における動画像復号化装置の構成は、実施の形態１で説明に使用した図６と同じ構成であるので、その説明を省略する。
【００７６】
実施の形態２では、実施の形態１とはマクロブロック情報置換部１１３の動作が異なる。実施の形態２では、マクロブロック情報置換部１１３は、「前記判定手段によりエラーがあると判定された前記動画像符号化ストリームのピクチャ管理情報を、前記保存手段に保存されているピクチャ管理情報に置き換える際、前記表示時刻情報を置き換えずに元の表示時刻情報を用いる前記マクロブロック情報置換手段」の一例であり、エラー判定部１０４から判定結果を取得し、エラーを検出したと判定したときは、ピクチャメモリ１０３から最も後に復号化されたピクチャのピクチャ管理情報を読み出し、そのまま情報切り替え部１１２に出力するのではなく、ピクチャ管理情報のうち表示時間情報を、エラーが発生したピクチャの表示時間情報に書き換えてから情報切り替え部１１２に出力する。また、実施の形態１と同じように、ピクチャ内の全マクロブロックについて、ピクチャメモリ１０３から最も後に復号化されたピクチャの全マクロブロック情報を読み出し、出力する。
【００７７】
ここで、ピクチャメモリ１０３は、「少なくとも表示時刻情報を有するピクチャ単位の情報であるピクチャ管理情報を前記画像データに対応付けて保存し、」、「前記マクロブロック情報置換手段による置き換え後の前記ピクチャ管理情報を保存する前記保存手段」の一例である。
【００７８】
本実施の形態２における動画像復号化装置の動作を図９に示すフローチャートを用いて説明する。図９は、本実施の形態２の動画像復号化装置による復号化動作の一例を示すフローチャートである。図８と同じ処理をするステップには同じ符号を付し、その説明を省略する。
【００７９】
マクロブロック情報置換部１１３によって、復号化中のピクチャ管理情報を、表示時間情報のみを復号化中のピクチャの表示時間情報に変換した後、復号化済みピクチャのピクチャ管理情報と置き換える。つまり、復号化中のピクチャ管理情報は、表示時間情報のみそのままで、その他の情報については復号化済みピクチャのピクチャ管理情報に置き換えられる（Ｓ４０１）。
【００８０】
このように動作することにより、ダイレクトモードを計算する場合の表示時間を正しく扱うことができ、より正確にスケーリングを行うことができるため、より画質が向上する。また、より正しい表示時間情報を使うことができるので、より安定して復号化動作を継続することができるようになる。
【００８１】
なお、ここではピクチャ管理情報のうち、表示時間情報のみを書き換えるとしたが、他のピクチャ管理情報、例えばフレーム番号などを置き換えてもよい。
【００８２】
なお、ここでは復号化中のピクチャの表示時間情報で置き換えるとしたが、例えば、エラーによる欠落などで復号化中のピクチャの表示時間情報が得られていない場合は、過去のピクチャの表示時間情報から本ピクチャの表示時間情報を外部的に挿入して表示時間情報を算出し、置き換えてもよい。
【００８３】
なお、本実施の形態では、画像データ及びマクロブロック情報の置き換えを、最も後に復号化されたピクチャから代用する方法をとったが、表示順が最も遅いピクチャから代用してもよいし、あるいは表示順が復号化対象ピクチャに最も近いピクチャから代用してもよい。
【００８４】
また、画像データの代用先であるピクチャとマクロブロック情報の代用先であるピクチャとは、同じであっても異なっていてもよい。また、マクロブロック情報の中で、一部の情報は他のピクチャから代用し、一部の情報は新たに算出してもよい。
【００８５】
また、本実施の形態では、画像データおよびマクロブロック情報のコンシールメントをピクチャ単位で行ったが、それぞれスライス単位、マクロブロック単位で行ってもよい。さらに、同じピクチャのマクロブロックのうち、エラーが発生したマクロブロック以降のマクロブロック、エラーが発生したマクロブロック以前のマクロブロックをコンシールメント単位としてもよい。
【００８６】
（実施の形態３）
実施の形態３における動画像復号化装置の構成は、実施の形態１で説明に使用した図６と同じ構成であるので、その説明を省略する。
【００８７】
実施の形態３では、実施の形態１、２とはマクロブロック情報置換部１１３の動作が異なる。実施の形態３では、マクロブロック情報置換部１１３は、エラー判定部１０４から判定結果を取得し、エラーを検出したと判定したときは、実施の形態２と同じように、他のピクチャのピクチャ管理情報のうち表示時間情報をエラーが発生したピクチャの表示時間情報に書き換えてから情報切り替え部１１２に出力する。次に、実施の形態１、２とは異なり、エラーが発生したピクチャ内の全マクロブロックについて、全ブロックタイプ情報を画面内予測に変換してから出力する。なお、マクロブロック情報置換部１１３は、エラーが発生したピクチャ、すなわち、復号化対象ピクチャ内の全マクロブロック情報に対し、ピクチャメモリ１０３から最も後に復号されたピクチャの全マクロブロック情報を読み出し、読み出した全マクロブロック情報で置換した上、その全マクロブロック情報に含まれる全ブロックタイプ情報を画面内予測に変換してから当該ピクチャのマクロブロック情報として出力するとしてもよい。ここで、マクロブロック情報置換部１１３は、「前記マクロブロック情報はさらにブロックタイプ情報を有し、前記判定手段によりエラーがあると判定された場合、前記復号化対象ピクチャの前記マクロブロック情報に含まれる前記ブロックタイプ情報を、画面内予測を示す情報に置き換える前記マクロブロック情報置換手段」の一例である。
【００８８】
本実施の形態３における動画像復号化装置の動作を図１０に示すフローチャートを用いて説明する。図８、図９と同じ処理をするステップについては同じ符号を付し、その説明を省略する。図１０は、本実施の形態３の動画像復号化装置による復号化動作の一例を説明するフローチャートである。
【００８９】
マクロブロック情報置換部１１３は、復号化対象マクロブロックのマクロブロック情報について、ブロックタイプ情報を画面内予測に変換した後、情報切り替え部１１２に出力する（Ｓ５０１）。他のマクロブロック情報については、そのままで構わない。
【００９０】
このように動作することにより、このピクチャをアンカーピクチャとするダイレクトモードを計算する場合において、アンカーマクロブロックを、動きベクトルのない画面内予測として扱うことになる。従って、前述したように、動き補償によって得られる画像データは、既に復号化した２枚の参照ピクチャの平均をとった画像データとなり、特に動きの少ない動画像において画質が向上する。
【００９１】
なお、ここでは復号化対象マクロブロックのマクロブロック情報のうち、ブロックタイプ情報のみを書き換えるとしたが、ピクチャメモリから読み出した復号化済みのピクチャのマクロブロック情報を情報切り替え部１１２に出力する場合には、ブロックタイプ情報の他のマクロブロック情報である、例えば表示時間情報も書き換えてよい。
【００９２】
また、ここではマクロブロック情報のうち、ブロックタイプ情報を画面内予測に書き換えるとしたが、ピクチャメモリから読み出した復号化済みのピクチャのマクロブロック情報を情報切り替え部１１２に出力する場合には、動きベクトル情報及びブロックタイプ情報を動きベクトル値が０となる画面間予測に書き換えてもよい。ここで、マクロブロック情報置換部１１３は、「前記判定手段によりエラーがあると判定された場合、前記復号化対象ピクチャの前記マクロブロック情報に含まれる前記動きベクトル情報の動きベクトルを０とする前記マクロブロック情報置換手段」の一例である。
【００９３】
なお、本実施の形態では、画像データ及びマクロブロック情報の置き換えを、最も後に復号化されたピクチャから代用する方法をとったが、表示順が最も遅いピクチャから代用してもよいし、あるいは表示順が復号化対象ピクチャに最も近いピクチャから代用してもよい。
【００９４】
また、画像データの代用先であるピクチャとマクロブロック情報の代用先であるピクチャとは、同じであっても異なっていてもよい。
【００９５】
また、マクロブロック情報の中で、一部の情報は他のピクチャから代用し、一部の情報は新たに算出してもよい。
【００９６】
また、本実施の形態では、画像データおよびマクロブロック情報のコンシールメントをピクチャ単位で行ったが、それぞれスライス単位、マクロブロック単位で行ってもよい。さらに、同じピクチャのマクロブロックのうち、エラーが発生したマクロブロック以降のマクロブロック、エラーが発生したマクロブロック以前のマクロブロックをコンシールメント単位としてもよい。
【００９７】
（実施の形態４）
実施の形態４における動画像復号化装置の構成を、図１１を用いて説明する。図１１は、本実施の形態４の動画像復号化装置の構成を示すブロック図である。
【００９８】
実施の形態４は、従来の実施の形態の構成に対して、エラー判定部６０１のエラー判定結果を、エラー情報としてマクロブロック情報保存部６０２に入力している点で異なる。
【００９９】
実施の形態４におけるマクロブロック情報保存部６０２は、従来の実施の形態と同様に復号化対象ピクチャの全マクロブロックについて、復号化対象ピクチャのマクロブロック情報に含まれている少なくとも動きベクトル情報及びブロックタイプ情報をピクチャメモリ１０３に格納する。実施の形態４においては、これらの情報に加えて、エラー情報を格納する。このエラー情報として、マクロブロック情報保存部６０２は、エラー判定部６０１がエラーを検出していないと判定したときは、格納されているマクロブロック情報が正しいものであることを示すフラグをマクロブロック情報の一部として格納する。エラー判定部６０１がエラーを検出したと判定したときは、このマクロブロック情報がエラーを含むものであることを示すフラグを当該ピクチャに含まれるすべてのマクロブロックについてマクロブロック情報の一部として格納する。もちろん、このフラグは、エラー判定部６０１がエラーを検出したと判定したときのみ、マクロブロック情報の一部として格納するとしてもよい。ここで、マクロブロック情報保存部６０２は、「前記判定手段により復号化対象ピクチャにエラーがあると判定された場合、前記復号化対象ピクチャが前記エラーを含むことを示す情報と、前記エラーを含む前記復号化対象ピクチャの前記マクロブロック情報とを対応付けて保存するマクロブロック情報保存手段」の一例である。
【０１００】
動きベクトル演算部１１０は、ピクチャメモリ１０３から読み出したアンカーピクチャの該当する位置のマクロブロック情報に含まれるエラー情報がこのマクロブロックの復号化時のエラーを示していない場合は、このマクロブロック情報を正しいものとして、ダイレクトモードの動きベクトルの計算を行う。
【０１０１】
一方、動きベクトル演算部１１０は、マクロブロック情報に含まれるエラー情報がこのマクロブロックを含むピクチャの復号化時のエラーを示している場合は、このマクロブロック情報は正しくないとして、ピクチャメモリ１０３から読み出した動きベクトル値及びブロックタイプ情報を使用せず、常にブロックタイプ情報を画面内予測であるとして動作する。または、動きベクトル演算部１１０は、ブロックタイプ情報が画面内予測であるとみなして動作する代わりに、エラー情報がアンカーマクロブロックを含むピクチャのエラーを示している場合は、空間的ダイレクトモードで動きベクトルの算出を行うとしてもよい。ここで、動きベクトル演算部１１０は、「既に復号化されたピクチャのマクロブロック情報を参照して復号化対象ピクチャを復号化する場合、参照したマクロブロック情報が、前記エラーを含むことを示す情報と対応するマクロブロック情報であれば、復号化動作を前記マクロブロック情報で示される復号化動作とは異なる動作に変更する前記復号化手段」および「参照したマクロブロック情報が、前記エラーを含むことを示す情報に対応付けられたマクロブロック情報であれば、参照した前記マクロブロック情報の示すブロックタイプにかかわらず、前記マクロブロック情報が画面内予測を示しているものと判断して復号化対象ピクチャを復号化する前記復号化手段」の一例である。
【０１０２】
次に、本実施の形態４の動作を図１２及び図１３に示すフローチャートを用いて説明する。図１２は、エラーを検出したと判定したときに、マクロブロック情報がエラーを含むことを示すフラグをマクロブロック情報の一部として格納する場合の動画像復号化装置の動作を示すフローチャートである。図１３は、マクロブロック情報の一部にエラーの有無を示すフラグが格納されている場合に画面間予測処理を行う動画像復号化装置の動作を示すフローチャートである。
【０１０３】
まず、符号列解析部１０１は、入力された符号列よりマクロブロック情報を得る（Ｓ７０１）。
【０１０４】
符号列解析部にてエラーが検出されたかをエラー判定部６０１にて判定する（Ｓ７０２）。
【０１０５】
ステップＳ７０２にてエラー判定部６０１が、エラーが検出されなかったと判定した場合は、マクロブロックタイプスイッチ部１０８にて、ブロックタイプ情報ごとに画像予測方法を切り替える（Ｓ７０３）。
【０１０６】
マクロブロックタイプが画面内予測の場合は、予測残差復号化部１０２や図示していない画面内予測部が復号化画像データを生成して、ピクチャメモリ１０３に格納する（Ｓ７０４）。
【０１０７】
マクロブロックタイプが画面間予測の場合は、後で説明するのでここでは省略する（Ｓ７０５）。
【０１０８】
次に、復号化時のブロックタイプ情報及び動きベクトル情報を含むマクロブロック情報を、マクロブロック情報保存部６０２によってピクチャメモリ１０３に格納する（Ｓ７０６）。
【０１０９】
以上を、復号化対象ピクチャ内のマクロブロック数だけ繰り返す（Ｓ７０７）。
【０１１０】
ステップＳ７０２にてエラー判定部６０１が、エラーが検出されたと判定した場合は、画像データ置換部１０９によって、復号化中のピクチャ全体の画像データを、既に復号化した他のピクチャの画像データで置き換える（Ｓ７０８）。
【０１１１】
さらに、エラー判定部６０１は、マクロブロック情報保存部６０２によって、復号化中のピクチャの全マクロブロックに対応するマクロブロック情報として、少なくともエラーが発生したことを示すフラグを出力し、ピクチャメモリ１０３に格納する（Ｓ７０９)。
【０１１２】
本実施の形態４に示す動画像復号化装置はこのようにして復号化対象ピクチャの復号化動作を完了する。次に、ブロックタイプ情報が画面間予測の場合についてのステップＳ７０５で動きベクトル演算部１１０の動作を、図１３に示すフローチャートを用いて詳細に説明する。
【０１１３】
まず、ブロックタイプ情報がダイレクトモードであるかどうかを判定する（Ｓ８０２）。
【０１１４】
ブロックタイプ情報がダイレクトモードではない場合、そのまま通常のダイレクトモードではない画面間予測として動きベクトルを算出する（Ｓ８０７）。
【０１１５】
ブロックタイプ情報がダイレクトモードである場合、ピクチャメモリ１０３からアンカーピクチャのピクチャ管理情報及びアンカーマクロブロックのマクロブロック情報を取得する（Ｓ８０３）。
【０１１６】
アンカーマクロブロックのマクロブロック情報の中のエラー情報がエラーを示しているかどうかを判定する（Ｓ８０４）。
【０１１７】
エラー情報がエラーを示していない場合は、取得したマクロブロック情報が正しいとして、ダイレクトモードの演算を行い動きベクトルを算出する（Ｓ８０５）。
【０１１８】
エラー情報がエラーを示している場合は、取得したマクロブロック情報は正しくないとして、アンカーマクロブロックのブロックタイプ情報が画面内予測であるとして、ダイレクトモードの演算を行い、動きベクトルを算出する（Ｓ８０６）。
【０１１９】
算出された動きベクトルを用いて、ピクチャメモリ１０３から参照ピクチャを取得し、動き補償の処理を行って画面間予測の処理を行う（Ｓ８０７）。
【０１２０】
このようにダイレクトモードの復号化を行うときに、アンカーマクロブロックを含むピクチャがエラーを発生している場合には、エラーを含むマクロブロック情報を用いてダイレクトモードの処理を行うことがないので、エラーを含むストリームを復号化する場合も、安定して復号動作を継続することができる。
【０１２１】
なお、本実施の形態では、エラーを検出した場合、該当ピクチャの全てのマクロブロック情報にエラーを示すフラグを書き込むとしたが、エラーを発生したマクロブロックのみとしても、エラーを発生したマクロブロック以降の全てのマクロブロックとしてもよい。また、該当スライスとしてもよい。
【０１２２】
また、マクロブロック情報にエラー情報を書き込むのではなく、ピクチャ管理情報にエラーを書き込んでもよい。なお、すべてのマクロブロックにエラーを示すフラグを立てるのであれば、エラーフラグは１つの方が合理的であるので、例えば、マクロブロック情報は、必ずしもマクロブロックごとに管理するデータだけでなくそれ以外の単位（ピクチャ、スライスなど）で管理するとしてもよい。エラーフラグもその中で管理するようにしてもよい。ピクチャ単位で管理するエラーフラグがＯＮの場合、動画像復号化装置は、そのピクチャのすべてのマクロブロックのエラーフラグがＯＮであるのと同様に動作すればよい。
【０１２３】
また、本実施の形態では、エラーを発生したアンカーマクロブロックのブロックタイプ情報を画面内予測として扱うとしたが、ブロックタイプ情報が画面間予測で動きベクトルの大きさが０としてもよい。また、本発明はこれに限定されず、マクロブロック情報にエラーフラグがあったときに何らかの手段でエラーコンシールメントすることが重要であるので、エラーフラグがあったときに必ずしも、画面内予測や動きベクトルを０とする画面間予測とする必要はなく、それ以外の方法で復号化を行うとしてもよい。
【０１２４】
（実施の形態５）
実施の形態５における動画像復号化装置の構成は、実施の形態１で説明に使用した図６と同じ構成であるので、その説明を省略する。
【０１２５】
実施の形態５では、エラー判定部１０４の動作が実施の形態１と異なる。エラーが検出された位置がマクロブロック情報である場合は、実施の形態１と同じように、エラーを復号化画像データ切り替え部１０５、画像データ置換部１０９、マクロブロック情報置換部１１３及び情報切り替え部１１２に通知する。しかし、エラーが検出された位置がマクロブロック情報でない場合は、エラー判定部１０４は、エラーを復号化画像データ切り替え部１０５、画像データ置換部１０９にのみ通知する。これにより、画像データのみ他のピクチャから代用し、マクロブロック情報はそのまま使用することになる。
【０１２６】
ここで、符号列解析部１０１およびエラー判定部１０４は、「さらに前記マクロブロック情報に含まれる情報にエラーがあるか否かを判定する前記判定手段」の一例であり、マクロブロック情報置換部１１３は、「前記判定手段が前記マクロブロック情報に含まれる情報にエラーがあると判定した場合にのみ、復号化対象ピクチャの前記マクロブロック情報を前記保存手段に保存されているマクロブロック情報に置き換える前記マクロブロック情報置換手段」の一例である。
【０１２７】
実施の形態５における動画像復号化装置の動作を図１４に示すフローチャートを用いて説明する。図１４は、本実施の形態５における動画像復号化装置の復号動作を説明するフローチャートである。図８と同じ処理をするステップについては同じ符号を付し、その説明を省略する。また、ステップＳ９０１でエラーが検出された場所がマクロブロック情報である場合も実施の形態１と同じであるので説明を省略する。
【０１２８】
マクロブロック情報が正常に復号化された後に、エラー判定部１０４でエラーが検出された場合（Ｓ９０１）、画像データ置換部１０９によって、復号化中のピクチャ全体の画像データを、既に復号化した他のピクチャの画像データで置き換える（Ｓ３０８）が、マクロブロック情報はそのまま使用する。
【０１２９】
このように動作することにより、エラーが検出された位置によって必要最低限の情報で代用することが可能となり、処理能力が向上する。
【０１３０】
なお、上記実施の形態２〜５では、ピクチャメモリから読み出した復号化済みのピクチャのマクロブロック情報を情報切り替え部１１２に出力する場合には、マクロブロック情報の中の表示時刻情報を書き替えることとしたが、本発明はこれに限定されない。例えば、ピクチャメモリから読み出した復号化済みのピクチャの表示時刻情報を、フレームレートなどから近似的に算出した復号化対象ピクチャの表示時刻に書き替える代わりに、ピクチャメモリから読み出した復号化済みのピクチャのマクロブロック情報に含まれる動きベクトル情報を、近似的に算出した復号化対象ピクチャの表示時刻に基づいてスケーリングして得られる動きベクトル情報に書き替えるとしてもよい。
【０１３１】
以上のように、本発明の動画像復号化装置によれば、エラーコンシールメントを行う場合においても、エラーを含むピクチャに対して時間的ダイレクトモードで参照される動きベクトルを補うことが可能となるような情報を付加することができるという効果がある。
【０１３２】
（実施の形態６）
実施の形態６における動画像復号化装置の構成を、図１５を用いて説明する。図１５は、動画像復号化装置のハードウェア構成の一例を示すブロック図である。
【０１３３】
実施の形態６における動画像復号化装置は、実施の形態１のピクチャメモリ１０３を除く部分を集積回路であるＬＳＩで実現し、ピクチャメモリ１０３をＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成し、記憶装置１１４から符号列を入力し、表示装置１１５に表示する構成である。
【０１３４】
本実施の形態の動作は実施の形態１と同じである。
【０１３５】
これらＬＳＩやＤＲＡＭ、記憶装置、表示装置は、一部又は全部を含むように１チップ化されてもよいし、これらを分割して複数のＬＳＩとして実現されてもよい。
【０１３６】
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１３７】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０１３８】
表示装置１１５を接続することにより、動画像を見る視聴者はエラーが含まれていても、画面が乱れることなく、視聴を行うことが出来る。
【０１３９】
なお、表示装置１１５は、ブラウン管を用いたＣＲＴでもよいし、液晶テレビやプラズマディスプレーパネルであってもよい。
【０１４０】
また、記憶装置１１４は、ハードディスク装置であっても、フラッシュメモリであっても、ＤＶＤなどのディスク装置であってもよい。また、ピクチャメモリ１０３は、ＤＲＡＭに限らず、ＳＲＡＭやフラッシュメモリ、ハードディスク装置などであってもよい。
【０１４１】
（実施の形態７）
さらに、上記各実施の形態で示した画像信号処理方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０１４２】
図１６は、上記各実施の形態の画像信号処理方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
【０１４３】
図１６（ｂ）は、フレキシブルディスクを正面からみた外観、断面構造、及びフレキシブルディスクを示し、図１６（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムが記録されている。
【０１４４】
また、図１６（ｃ）は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。画像信号処理方法を実現する上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムを、フレキシブルディスクドライブＦＤＤを介して書き込む。また、フレキシブルディスク内のプログラムにより画像信号処理方法を実現する上記画像信号処理方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブＦＤＤによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０１４５】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【産業上の利用可能性】
【０１４６】
以上のように、本発明に係る動画像復号化装置は、例えば、携帯電話、ＤＶＤ装置、セットトップボックス、デジタルテレビ、自動車、カーナビ、セキュリティシステムなど動画像を構成するピクチャを復号化あるいは表示する機器において有用である。
【符号の説明】
【０１４７】
１０１    符号列解析部
１０２    予測残差復号化部
１０３    ピクチャメモリ
１０４    エラー判定部
１０５    復号化画像データ切り替え部
１０６    動き補償部
１０７    加算演算部
１０８    マクロブロックタイプスイッチ部
１０９    画像データ置換部
１１０    動きベクトル演算部
１１１    マクロブロック情報保存部
１１２    情報切り替え部
１１３    マクロブロック情報置換部
１１４    記憶装置
１１５    表示装置
【図１】
0005265459.tif 000002
【図２】
0005265459.tif 000003
【図３】
0005265459.tif 000004
【図４】
0005265459.tif 000005
【図５】
0005265459.tif 000006
【図６】
0005265459.tif 000007
【図７】
0005265459.tif 000008
【図８】
0005265459.tif 000009
【図９】
0005265459.tif 000010
【図１０】
0005265459.tif 000011
【図１１】
0005265459.tif 000012
【図１２】
0005265459.tif 000013
【図１３】
0005265459.tif 000014
【図１４】
0005265459.tif 000015
【図１５】
0005265459.tif 000016
【図１６】
0005265459.tif 000017