(57)【特許請求の範囲】
【請求項１】
入力される第１データをデコードして、該デコードの結果である第２データを出力するデコード部であって、前記第１データのデコードに際してエラーの検出された部分に、前記第１データの他の一部によって参照される部分が含まれる場合、該参照される部分に対応する第２データとして、前記第１データの他の部分のデコード結果を出力するデコード部と、
前記第２データを格納する第１メモリと、
前記第１データのデコードに際してエラーの検出された部分のうち、前記他の一部によって参照される部分を除く残りのエラー部分に関するエラー情報を格納する第２メモリと、
前記第２データを出力する出力部とを備え、
前記出力部は、前記第２データを前記第１メモリから読み出して出力する時、前記第２メモリに格納されている前記エラー情報に基づき、前記第１メモリに格納されている前記第２データのうち前記エラーの検出された部分以外の他の部分に対応するデータを、前記第１データのエラー部分に対応するデータとして読み出して外部に出力することを特徴とする半導体装置。
【請求項２】
前記第２メモリが、前記第１データのデコード結果として予想されるデータのうち、データ品質が悪化すると推定される部分に関するエラー情報として、前記第１データの前記エラー部分の前に入力された、前記第１データの少なくとも一部に関する情報と、前記第１データのうち前記エラー部分の後から予め定められた位置までに入力されたデータに関する情報とをさらに格納し、
前記出力部が、前記第１メモリに格納されている前記第２データのうち前記他の部分に対応するデータを、前記データ品質が悪化すると推定される部分に対応するデータとして読み出して外部に出力することを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記半導体装置が動画像復号装置を構成し、
前記第１データが、連続的に入力される画像のデータであり、前記出力部は、前記第２データのうち前記第１データの前記エラー部分に対応する前記データを、前記エラー部分、および／または前記データ品質が悪化すると推定される部分を含む画像に対するエラー隠蔽用画像データとして出力することを特徴とする請求項２に記載の半導体装置。
【請求項４】
入力される第１データをデコードして、該デコードの結果である第２データを出力し、その際、前記第１データのデコードに際してエラーの検出された部分に、前記第１データの他の一部によって参照される部分が含まれる場合、該参照される部分に対応する第２データとして、前記第１データの他の部分のデコード結果を出力し、
前記第２データを第１メモリに格納すると共に、前記第１データのデコードでのエラー部分のうち、前記他の一部によって参照される部分を除く残りのエラー部分に関するエラー情報を第２メモリに格納し、
前記第２データを前記第１メモリから読み出して外部に出力する際、前記第２メモリに格納されている前記エラー情報に基づき、前記第１メモリに格納されている前記第２データのうち前記エラーの検出された部分以外の他の部分に対応するデータを、前記第１データのエラー部分に対応するデータとして読み出して外部に出力することを特徴とする半導体装置の制御方法。
【請求項５】
前記半導体装置が動画像復号装置を構成し、
前記第１データが、連続的に入力される画像データであり、前記第２データを外部に出力する際、前記第２データのうち前記第１データの前記エラー部分に対応する前記データを、前記エラー部分を含む画像に対するエラー隠蔽用画像データとして出力することを特徴とする請求項４に記載の半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、およびその制御方法に係り、さらに詳しくは、例えば圧縮符号化された動画像ビットストリームを受け取り、可変長復号処理を行う動画像復号装置、およびその動画像復号装置におけるエラーコンシールメント方法に関する。
【背景技術】
【０００２】
ＭＰＥＧ（ムービング・ピクチャー・エキスパーツ・グループ）などの動画像符号化方式がデジタル放送、インターネット通信、携帯電話通信などの様々な分野で広範に用いられている。このような動画像符号化方式における復号装置側では、符号化装置側から送られてきたビットストリームデータを復号して出力することになるが、例えばビットストリームデータが無線通信伝送路によって伝送される場合に、通信状態の悪化などの要因によってビットストリームデータにエラーが生じ、エラーを含むデータが復号装置に入力される可能性がある。
【０００３】
このようなエラーが復号装置側で検出された時、エラー修復のための最も確実な方法は、その部分の符号化データの再送を符号化装置側に要求することであるが、実際には通信速度の維持などの色々の観点から、データ再送要求はあまり現実的な方法ではない。
【０００４】
その結果、復号装置側でエラーが検出された場合に、そのエラーの影響ができるだけ少なくなるような処理を復号装置側で行う必要がある。２００３年にＩＴＵ−Ｔ（国際電気通信連合−電気通信標準化部門）によって制定されたＨ．２６４動画像圧縮符号化方式では、このような伝送エラーに対する対策の１つとして冗長スライスが用いられ、エラーが生じた場合にその内容を用いて、エラーの生じたマクロブロックに対する復号画像の修復を行うことができる。
【０００５】
そのような方法を用いることができない場合には、できるだけエラーの影響を少なくするために、復号装置側でエラーコンシールメント処理を行うことがあり、様々なエラーコンシールメントの手法が提案されている。このようなエラーコンシールメント処理の従来技術について、図１６から図２５を用いて説明する。
【０００６】
図１６、および図１７は、Ｈ．２６４などの動画像可変長符号化方式のビットストリーム内でエラーが検出された場合に、正常な復号が不可能な欠損ブロックと、既に復号済みであっても復号結果が正常でなかった可能性がある画質劣化ブロックの説明図である。図１６において、ビットストリーム内でブロック（マクロブロック）ｎ＋３でエラーが検出されたとすると、可変長符号の特性上、それ以後の復帰位置までのブロックは正常な復号が不可能な欠損ブロックであり、また以前に復号されたブロック、例えばｎからｎ＋２のブロックの復号結果も、例えばブロックｎの内部にビット異常、すなわちブロックｎ＋３で検出されたエラーの原因となったビット異常が存在すれば、画質が劣化している可能性が高い。
【０００７】
図１７においては、エラー検出（マクロ）ブロックｎ＋３から復帰位置までの間のブロックは正常復号が不可能な欠損ブロックであり、また例えばｎからｎ＋２はすでに復号処理済であるが、正常な復号結果でないと推定される画質劣化ブロックである。
【０００８】
図１８は、デブロッキングフィルタ処理、すなわち画像の符号化時にブロックの境界に生じるブロック歪みを減少させるためのフィルタ処理によって、画質劣化ブロックの影響を受けて画質が劣化するブロックの説明図である。エラー検出ブロックｎ＋３におけるエ
ラー検出の時点で、画質劣化ブロックに隣接し、デブロッキングフィルタ処理が済んでいるブロック、ここではブロックｎからｎ＋３の上側のブロックも画質が劣化しているブロックと推定される。復号装置側におけるエラーコンシールメント処理では、このように画質が劣化していると推定されるブロックを判定し、欠損ブロックに対してと同様に、エラーコンシールメント処理を行う必要がある。
【０００９】
図１９は、動画像復号装置の従来例の構成ブロック図である。同図において復号装置は、全体を制御する制御部１００、入力ストリームデータの復号処理を行う復号処理部１０１、復号処理後の画像データを格納するフレームメモリ１０２、復号処理部１０１とフレームメモリ１０２との間での画像データのやり取りを制御するメモリコントローラ１０３、フレームメモリ１０２に格納された復号処理済の画像データをメモリコントローラ１０３を介して読み出し、出力画像として出力する出力部１０４によって構成されている。
【００１０】
復号処理部１０１は、入力ストリームデータに対する可変長復号処理を行う可変長復号処理部１１１、可変長復号処理部１１１の出力に対する逆量子化、および逆変換を行う逆量子化・逆変換部１１２、符号化方式としてフレーム内予測方式が用いられる場合にフレーム内予測の処理を行うフレーム内予測部１１３、フレーム間予測方式が用いられる場合にフレーム間予測の処理を行うフレーム間予測部１１４、復号後の画像データに対して前述のデブロッキングフィルタ処理を行うデブロッキングフィルタ処理部１１５、デブロッキングフィルタ処理部１１５に対して、逆量子化・逆変換部１１２の出力と、スイッチ１１７によって切り替えられるフレーム内予測部１１３、またはフレーム間予測部１１７の出力を加算して与える加算器１１６を備えている。
【００１１】
フレーム内予測部１１３とフレーム間予測部１１４において入力ストリームデータの内部にエラーが検出されると、エラーコンシールメント処理が行われる。このエラーコンシールメント処理の方式としては各種の方式があるが、１つの方法としてすでに復号されてフレームメモリ１０２に格納されている画像データのうちで、エラー検出ブロック、欠損ブロック、または画質劣化ブロックに対応するエラー隠蔽用参照画像を選択して、画質劣化ブロックや欠損ブロックの画像データの代わりに用いるエラーコンシールメント手法が存在する。
【００１２】
図１９において、例えば符号化方式としてフレーム内予測方式が用いられている場合にエラーが検出されると、スイッチ１１７がフレーム間予測部１１４側に切り替えられ、メモリコントローラ１０３を介してフレームメモリ１０２から欠損ブロック、あるいは画質劣化ブロックのデータの代わりとするエラー隠蔽用参照画像が読み込まれ、その画像データが逆量子化・逆変換部１１２の出力と加算器１１６によって加算され、デブロッキングフィルタ処理部１１５に与えられる。その出力は画質劣化ブロック、あるいは欠損ブロックに対応する復号結果画像データとして、メモリコントローラ１０３を介してフレームメモリ１０２に格納される。フレーム間予測方式が用いられている場合にも、同様にフレーム間予測部１１４からエラー隠蔽用参照画像のデータが加算器１１６に供給される。
【００１３】
図２０から図２２は、図１９の制御部１００による制御処理のフローチャートである。図２０は、復号処理部１０１に対する制御処理のフローチャートであり、同図においてはステップＳ１０１でフレームメモリ１０２に空きができるまで復号処理部１０１の処理を待たせ、空きができるとステップＳ１０２で復号処理部１０１に１画面、すなわち１フレームの復号処理を行わせ、ステップＳ１０３で規格、仕様に基づいた参照画像管理、例えばフレーム間予測方式において復号処理後の画像が他の画像の参照画像として用いられる場合の管理などを行い、その後ステップＳ１０１からの処理が繰り返される。
【００１４】
図２１は、出力部１０４に対する制御処理のフローチャートである。同図においてはま
ずステップＳ１０５で出力開始タイミング、すなわちフレームメモリ１０２から出力画像データを読み出すためのタイミングを出力部１０４に待たせ、そのタイミングが来た時点でステップＳ１０６で規格、仕様に基づいてフレームメモリ１０２から出力すべき出力画像が決定され、ステップＳ１０７でフレームメモリ１０２からメモリコントローラ１０３を介して読み出された出力画像データ１画面を出力部１０４に出力させ、ステップＳ１０５からの処理が繰り返される。
【００１５】
図２２は、フレームメモリ１０２の内部の領域解放制御処理のフローチャートである。同図においてはステップＳ１０８で規格、仕様に基づいて解放してよい、すなわちフレームメモリ１０２から消去してよい画像が発生するまで待ち、ステップＳ１０９でその画像が確保していたフレームメモリ１０２上の領域が開放させられて、ステップＳ１０８からの処理が繰り返される。なお、領域を解放してよいかどうかは既にその画像データが出力部１０４を介して出力され、また例えばフレーム間予測方式が用いられている場合に、その画像データが他の画像から参照される可能性が無くなったか否かによって判定される。
【００１６】
図１９の動画像復号装置の問題点について説明するために、図２３を用いて入力ストリームに対する画像データ復号処理の順序と出力順序を示すＧＯＰ（グループ・オブ・ピクチャ）構造の例を説明し、この例を用いた画像データ復号処理と出力処理のタイミングチャートの従来例を、図２４と図２５を用いて説明する。図２３は、ＭＰＥＧ２、またはＨ．２６４などの動画像符号化方式で一般的に用いられているＧＯＰ構造の１つであり、入力ストリーム内画像データに対する復号処理の順序と出力順序、および画像間の参照関係を示す。
【００１７】
すなわち図２３の上部では入力ストリーム内の画像、すなわちピクチャの順序に対応した復号処理の順序が示されている。このＧＯＰ構造において最初に入力されるＩ０ピクチャは、その後入力されるＢピクチャであるＢ１、Ｂ２、Ｂ４、およびＢ５ピクチャと、ＰピクチャとしてのＰ３ピクチャから参照される。またＰ３ピクチャはＢ４、Ｂ５、Ｂ７、およびＢ８ピクチャからと、Ｐ６ピクチャによって参照され、さらにＰ６ピクチャはＢ７ピクチャとＢ８ピクチャによって参照されるという参照関係が存在する。なお、図で矢印の先が参照するピクチャであり、矢印の根本が参照されるピクチャである。
【００１８】
図２３の下側に示すピクチャ出力順序では、まずＢ１、Ｂ２のピクチャに対する復号結果が出力された後に、最初に入力されたＩ０ピクチャの復号結果が出力され、その後Ｂ４、Ｂ５ピクチャの復号結果の出力の後に、Ｐ３ピクチャの復号結果が出力され、さらにＢ７、Ｂ８ピクチャの復号結果の出力の後に、Ｐ６ピクチャの復号結果の出力が行われるというように、復号結果の出力順序は入力ストリーム内のピクチャの順序とは異なるものとなる。
【００１９】
一般的に前述のように入力ビットストリームにエラーが検出され、エラー検出ブロック以前の画質劣化ブロックに対してもエラーコンシールメント処理を行う場合には、既に復号済みの画質劣化ブロックに対する再処理としてのエラーコンシールメント処理を行うことによって出力画像におけるエラーの影響を目立たなくすることができるが、再処理による処理量が増加することになる。例えば１つの画像、すなわち１枚の画像（ピクチャ）の内部に非常に多くエラーが発生した場合には、再処理の処理量の増加によって１枚の画像データの復号に割り当てられた復号処理時間を超過してしまうことが考えられる。
【００２０】
図２４のタイミングチャートは、図２３の入力ストリーム内のピクチャのうちでＰ３ピクチャとＢ４ピクチャの内部にエラーが存在し、これらの画像内にエラーによる欠損ブロックや画質劣化ブロックを含んでいる場合の復号処理と、出力処理のタイミングチャートの例である。この例では、エラーを含む画像としてのＰ３ピクチャの復号においてはエラ
ー隠蔽用にＩ０ピクチャが参照され、またＢ４ピクチャの復号処理においてはエラー隠蔽がなされた結果としてのＰ３ピクチャが参照されて、Ｂ４ピクチャに対するエラーコンシールメント処理が行われている。そしてこれら２つのピクチャの復号処理には、他のピクチャの復号処理よりも長い時間を必要としているが、Ｂ２ピクチャとＢ４ピクチャの間でＩ０ピクチャが出力されるために、出力処理は図２３で説明したように正しく行われ、エラーコンシールメント処理による復号処理時間の延長は画像データ出力に影響を与えない範囲となっている。なお、同図の下部におけるバンク０からバンク３は１つの画像、すなわち１つのピクチャのデータを格納するためのフレームメモリ内の領域であり、各バンクに格納されたデータはその出力が終了し、かつ他のピクチャから参照される可能性がなくなった時点で、図２２で説明したように各バンクから消去される。
【００２１】
図２５は、Ｐ３ピクチャ、およびＢ４ピクチャに対する復号処理の処理時間が図２４におけるよりも延長され、画像データ出力が図２３に示すものと異なるものとなってしまう、処理の破綻例を示すものである。同図においてはＰ３ピクチャに対する復号処理がＢ２ピクチャの出力終了時点までかかり、この時点から開始されるＢ４ピクチャの復号処理の処理時間も延長され、その結果Ｂ４ピクチャの出力が間に合わず、Ｉ０ピクチャの出力が２回行われてしまった例であり、その結果、図２３のＧＯＰ構造全体の画像データ出力のための処理時間も１ピクチャ分増加してしまっている。
【００２２】
以上のように従来においては、エラー検出ブロック以前に復号された画質劣化ブロックに対してもエラーコンシールメント処理を行う場合に、１つのピクチャ内のエラー箇所が非常に多い時には、そのピクチャの復号に要する処理時間があらかじめ定められた処理時間を超過してしまう可能性があるという問題点があった。
【００２３】
このような動画像復号装置におけるエラーコンシールメント処理に関する従来技術としての特許文献１ではデコード画像データにエラーが発生した場合に、現に表示している画像をリピート表示するという簡単なエラーコンシールメント処理を行うことにより、表示画像の乱れを目立たせないようにする技術が開示されている。
【００２４】
また同様の特許文献２では、画像の復号時にエラーが生じた場合に、復号画像から表示画像を生成する際のＲＧＢ変換演算量を低減させる技術が開示されている。
しかしながらこのような従来技術を用いても、エラー検出ブロックの以前に復号された画質劣化ブロックなどに対するエラーコンシールメント処理を、そのブロックに対する再処理として行う場合に１つの画像、すなわちピクチャに対する復号処理時間が長くなり、予め規定された処理時間を越えてしまう可能性があるという問題点を解決することはできなかった。
【特許文献１】特開２００１−１１９６９３号公報  「ＭＰＥＧ画像表示制御方法及び装置」
【特許文献２】特開２００４−３２０２５２号公報  「画像再生装置」
【発明の開示】
【発明が解決しようとする課題】
【００２５】
本発明の課題は、上述の問題点に鑑み、１つの画像のデータの中に多数のエラーが発生した場合にも、１つの画像に対して割り当てられた復号処理時間を超過することなく、画質劣化ブロックや欠損ブロックに対するエラーコンシールメント処理を可能とし、画像復号装置から品質の良い画像の出力を可能とすることである。
【課題を解決するための手段】
【００２６】
本発明の半導体装置は、例えば動画像復号装置であって、デコード部、第１、および第２メモリ、出力部を少なくとも備える。デコード部は、入力される第１データ、例えば入
力ストリームとしての画像データをデコード処理するものである。
【００２７】
第１メモリは、第１データをデコードした第２データを格納するものであり、第２メモリはエラーが検出された第１データのデコードでのエラー部分に関するエラー情報を格納するものであり、出力部は第２データを出力するものである。
【００２８】
そして出力部が第２データを第１メモリから読み出して出力する場合、第２メモリに格納されているエラー情報に基づいて、第１データのエラー部分に対応するデータとして第２メモリに格納されている第１データの他の部分のデコード結果としての第２データ、例えばエラー隠蔽用参照画像のデータを読み出して出力する。
【００２９】
以上のように本発明においては、入力画像データのうちでエラー隠蔽対象の画像に関するエラー情報がメモリに格納され、画像データ出力時にはそのエラー部分に対応してエラー隠蔽用参照画像のデータが用いられて、画像データの出力が行われる。
【発明の効果】
【００３０】
本発明によれば、ある画像内のブロックにエラーが検出された場合、それ以前に既に復号が行われている画質劣化ブロックに対する再処理を行う必要はなくなり、処理量を増加させること無く、画質劣化ブロックに対するエラー隠蔽処理を行うことが可能になり、画質劣化ブロックに対する再処理による処理時間の増大を防止することができる。
【００３１】
さらに、１つの画像データ内に非常に多くのエラーが発生した場合にも、１つの画像に対して割り当てられた復号処理時間を超過することなく、エラーコンシールメント処理が実行された画像データを出力することが可能となり、動画像復号装置の実用性向上に寄与するところが大きい。
【発明を実施するための最良の形態】
【００３２】
図１は、本実施形態における半導体装置としての動画像復号装置の基本構成ブロック図である。同図において半導体装置１は、デコード部２、第１メモリ３、第２メモリ４、および出力部５を備えている。この半導体装置は、例えばＬＳＩチップとして製造され、動画像復号装置として動作するものである。
【００３３】
デコード部２は、後述する復号処理部に相当し、入力される第１データ、すなわち入力ストリームデータをデコードをするものであり、第１メモリ３は後述するフレームメモリに相当し、第１データをデコードした第２データ、すなわち復号結果の画像データを格納するものである。また第２メモリ４は後述するエラー隠蔽対象位置情報保持部に相当し、第１データのデコードでのエラー部分に関するエラー情報を格納するものである。このエラー情報は、エラーが検出されたブロックの位置、エラー検出ブロックから復帰位置までの欠損ブロックの位置、およびエラー検出ブロックに対応して、以前に復号されたブロックのうちでエラーコンシールメント処理が必要と判定されるブロックの位置を示す情報である。
【００３４】
出力部５は、第２データを出力するものであり、この第２データを第１メモリ３から読み出して出力する場合、第２メモリ４に格納されているエラー情報に基づいて、第１データのエラー部分、例えばエラー検出ブロック、欠損ブロック、および画質劣化ブロックに代えて、既に復号され、第１メモリ３に格納されているエラーコンシールメント用のデータを読み出して外部に出力するものである。
【００３５】
図２は、第１の実施例における動画像復号装置の構成ブロック図である。同図を従来例の構成を示す図１９と比較すると、明らかな追加ブロックとして、エラー隠蔽対象位置情
報保持部１５が追加されている点以外は同様であり、同一の名称を持つブロックの動作は図１９におけると同様であるが、図２の動画像復号装置の動作についてさらに詳細に説明する。
【００３６】
図２においてエラー検出情報は、可変長復号処理部２１、または逆量子化・逆変換部２２から、復号処理部１１の内部の制御部２０に対して与えられる。このエラー検出は可変長復号時の異常や、逆量子化・逆変換の結果の残差が規定値の範囲を逸脱していること、動きベクトルのデータが規格の規定値範囲を逸脱していること、あるいは規格上ありえないフレーム内予測モードなどの検出によって行われる。
【００３７】
制御部２０は、このようなエラー検出情報の入力に対して、欠損ブロック、エラー検出ブロック、およびエラー検出ブロック以前に復号された画質劣化が起こっていると推定されるブロックをエラー隠蔽対象として決定し、それらのブロックの位置を示す位置情報をエラー隠蔽対象位置情報保持部１５に格納する。このエラー隠蔽対象位置情報は、出力部１４からの画像データ出力時に、エラー隠蔽対象位置情報保持部１５から出力部１４に与えられる。
【００３８】
図２において、図１９の従来例におけると同様に、可変長復号処理部２１からフレーム間予測部２４に対して、フレーム間予測において必要となる参照画像とその参照位置の両方を指示する信号が与えられる。また制御部２０からフレーム間予測部２４に対して、必要に応じて、エラー隠蔽用の参照画像とその参照位置とを指示する信号が与えられる。第１の実施例においては、例えば図２３で説明したような画像の復号処理において必要とされる参照画像データに対するエラーコンシールメント処理は、従来例の図１９におけると同様に基本的にフレーム間予測部２４によって行われる。エラーコンシールメント処理が行われた被参照画像は、デブロッキングフィルタ処理部２５、メモリコントローラ１３を介してフレームメモリに格納されるものとする。ただし復号処理において参照されない画像のデータ、例えば図２３におけるＢ４ピクチャの画像データ内にエラーがあっても、そのエラーに対応するエラーコンシールメント処理が行われることは無く、出力部１４による画像データ出力にあたって、その画像データの中でエラー隠蔽対象位置情報によって指定される位置の処理ブロック、例えば画質劣化ブロックに対してはフレームメモリ１２の内部に格納されているエラー発生画像に対応するエラー隠蔽（コンシールメント）用参照画像がフレームメモリ１２から読み出されて、エラーコンシールメントの結果が外部に出力されることになる。
【００３９】
図３から図６は、従来例の図２０から図２２に対応する、第１の実施例における図２の制御部１０による制御処理のフローチャートである。図３は、復号処理部に対する制御処理のフローチャートであり、同図を従来例に対する図２０と比較すると、ステップＳ１０１からＳ１０３に対応するステップＳ１からステップＳ３の処理の後に、ステップＳ４において復号後処理が行われ、ステップＳ１からの処理が繰り返される。この復号後処理の詳細については後述する。
【００４０】
なお、本実施形態においてはステップＳ３の参照画像管理において、フレームメモリ１２に格納されている画像が復号処理により参照される可能性の有無を示すフラグ、およびエラー隠蔽のために参照される可能性の有無（エラー隠蔽で使用中か使用済か）を示すフラグが制御部１０の内部に保持されるものとし、これらのフラグの値の設定が制御部１０によって実行される。
【００４１】
図４は、出力部に対する制御処理のフローチャートである。同図を従来例の図２１と比較すると、ステップＳ６、Ｓ７、およびＳ９の処理は図２１におけるステップＳ１０５からＳ１０７における処理と同様であるが、ステップＳ８でエラー隠蔽用参照画像を出力部
に伝達する処理が行われる点が基本的に異なっている。図２において、エラー隠蔽対象位置情報保持部１５から出力部１４に与えられるエラー隠蔽対象位置情報は、例えば画質劣化ブロック、欠損ブロックなどを含むエラー隠蔽対象画像を示すデータであり、フレームメモリ１２に既に復号されて格納されている画像データのいずれをエラー隠蔽用参照画像として用いるべきかが、制御部１０から出力部１４に与えられることになる。
【００４２】
なお、本実施形態においては、フレームメモリ１２に格納されている画像データに対してその画像データが出力待ちであるか否かを示すフラグが制御部１０の内部に保持されるものとし、ステップＳ７の出力画像決定においてはこのフラグの値も用いて出力画像が決定される。
【００４３】
図５は、第１の実施例におけるフレームメモリ１２に対する領域解放制御処理のフローチャートである。同図を従来例の図２２と比較すると、ステップＳ１１で解放してよい画像が、規格／仕様だけでなく、制御部１０に保持されているエラー隠蔽用に使用される可能性の有無を示すフラグが使用済みに設定されていることが領域解放の条件として判定される点を除いては、その処理は従来例におけると同様である。
【００４４】
図６は、図３におけるステップＳ４の復号後処理の詳細フローチャートである。同図において処理が開始されると、まずステップＳ１５で復号された画像がエラー隠蔽で参照されない画像であるか否かが判定され、参照されない場合にはステップＳ１６でその画像に対するフラグがエラー隠蔽で使用済みに設定されて復号後処理を完了する。
【００４５】
これに対してステップＳ１５で復号された画像がエラー隠蔽用に参照される可能性がある画像である場合には、ステップＳ１７で現在のエラー隠蔽用参照画像に対するフラグをエラー隠蔽で使用済みに設定し、ステップＳ１８で、復号された画像をエラー隠蔽用参照画像に設定し、そのフラグをエラー隠蔽で使用中に設定して復号後処理を完了する。
【００４６】
第１の実施例における復号処理部１１による１ピクチャ復号処理のフローチャートについて図７、図８を用いて説明する。図７は、１ピクチャ復号処理の全体処理フローチャートである。同図において１ピクチャの復号処理が開始されると、まずステップＳ２０で１マクロブロック（ＭＢ）の復号処理が行われる。この１マクロブロック復号処理については図８で説明するが、前述のようにこの処理の中で、復号処理によって参照される画像に対しては、従来技術と同様にその内部の画質劣化ブロック、および欠損ブロックに対するエラーコンシールメント処理が行われるものとする。
【００４７】
続いてステップＳ２１でエラーを検出したか否かが判定され、エラーを検出していない場合には直ちに、また検出した場合にはステップＳ２２で、例えば経験的に決定される復号済みの画質劣化ブロックの位置を含み、復帰位置までがエラー隠蔽対象であることがエラー隠蔽対象位置情報保持部１５に格納された後に、ステップＳ２３で１ピクチャ内の全てのマクロブロックの復号処理が行われたか否かが判定され、全てのマクロブロックに対する復号処理が終了していない場合にはステップＳ２０からの処理が繰り返され、全てのマクロブロックに対する復号処理が終了した場合には１ピクチャ復号処理を完了する。なお、ステップＳ２２におけるエラー隠蔽対象の決定は、復号処理部１１の内部の制御部２０によって行われる。
【００４８】
図８は、図７のステップＳ２０における１マクロブロック復号処理のフローチャートである。同図において処理が開始されると、まずステップＳ２５で現在の復号処理の対象が欠損マクロブロックであるか否かが判定され、欠損マクロブロックである時には直ちに、また欠損マクロブロックでない時にはステップＳ２６で通常の復号処理が行われた後に、１マクロブロック復号処理を完了する。なお、第１の実施例では、前述のようにステップ
Ｓ２６における通常の復号処理において、参照される画像に対してエラーが検出された場合には、従来技術と同様にエラーコンシールメント処理が行われる。
【００４９】
図９は、第１の実施例における出力部１４による１ピクチャ出力処理のフローチャートである。同図において処理が開始されると、ステップＳ２８で出力対象の画像がエラー隠蔽対象となっているか否かがエラー隠蔽対象位置情報保持部１５の記憶内容を用いて判定され、エラー隠蔽対象の画像でない場合にはステップＳ２９で本来の出力画像の１つのラインのうちの１６画素のリードが行われ、エラー隠蔽対象の画像である場合にはステップＳ３０でエラー隠蔽用画像の１６画素がリードされ、ステップＳ３１でその１６画素が出力される。ステップＳ３２で１ラインの出力が完了したか否かが判定され、まだ完了していない場合にはステップＳ２８以降の処理が繰り返される。そして１つのラインの出力が全て完了したと判定されると、ステップＳ３３で全てのラインを出力したか否かが判定され、まだ出力していない場合には次のラインに対するステップＳ２８以降の処理が繰り返され、全てのラインを出力したと判定された時点で１ピクチャ出力処理を完了する。
【００５０】
図１０は、第１の実施例における復号処理と画像データ出力処理のタイミングチャートである。同図においては、従来例の図２４、図２５と同様に復号処理において参照されるＰ３ピクチャと参照されないＢ４ピクチャとがエラーを含む画像であるが、第１の実施例では復号処理において参照されない画像に対しては画質劣化ブロックに対する再処理の必要がなく、さらに復帰位置までの欠損ブロックに対しては復号処理そのものを行う必要がなくなるため、その分の処理能力に余裕が生じ、図２４に示すよりもさらにこれらエラーを含む画像に対する復号処理時間が短くなり、結果的にエラーを含む画像に対する復号処理時間が予め定められた時間を超過する可能性は極めて少なくなる。
【００５１】
次に第２の実施例について説明する。図１１は、第２の実施例における動画像復号装置の構成ブロックである。同図を第１の実施例に対する図２と比較すると、基本的な構成は全く同様であるが、エラー隠蔽対象位置情報保持部１５から復号処理部１１の内部のフレーム間予測部２４に対してエラー隠蔽対象位置情報が出力されている点が異なっている。第２の実施例では、前述の第１の実施例と異なって、復号処理において参照される画像に対してもエラーコンシールメント処理は一切行われず、エラーが検出された画像の内部のエラー検出ブロック、欠損ブロック、および画質劣化ブロックに関する情報は、エラー隠蔽対象位置情報として、復号処理部１１の内部の制御部２０からエラー隠蔽対象位置情報保持部１５に出力され、さらにそのデータは出力部１４だけでなく、復号処理部１１の内部のフレーム間予測部２４に対してもフィードバックされる。
【００５２】
これによってフレーム間予測部２４の処理において、例えば図２３においてＢ４ピクチャによって参照されるＰ３ピクチャの内部に画質劣化ブロックや欠損ブロックが存在しても、Ｐ３ピクチャに対するエラーコンシールメント処理は行われないが、フレームメモリ１２の内部の他の画像、すなわちＰ３ピクチャに対するエラー隠蔽用参照画像が用いられて、画像データ出力処理が実行されることになる。
【００５３】
第２の実施例における制御部１０による復号処理部の制御、出力部の制御、およびフレームメモリ１２に対する領域解放制御の処理は、復号処理部の制御における復号後処理の一部を除いては第１の実施例に対する図３から図５と同様であり、その説明を省略する。
【００５４】
図１２は、第１の実施例に対する図６に相当する、第２の実施例における復号後処理のフローチャートである。同図において処理が開始されると、ステップＳ３５で復号された画像に欠損ブロックや画質劣化ブロックがあるか否かが判定され、ある場合にはステップＳ３６で復号された画像がその後の処理でエラー隠蔽に使用されることの無いように、その画像に対するフラグがエラー隠蔽で使用済みに設定された後に直ちに処理を完了する。
欠損ブロックや画質劣化ブロックがない時には、ステップＳ３７で欠損ブロックや画質劣化ブロックのない復号済み画像の中からエラー隠蔽用参照画像が選択され、エラー隠蔽に使用される可能性の有無を示すフラグがエラー隠蔽で使用中に設定され、残りの画像に対するフラグがエラー隠蔽で使用済みに設定されて復号処理を完了する。
【００５５】
これによってその後の復号処理において本来参照される可能性のあった画像についても、その画像内に欠損ブロックや画質劣化ブロックがある場合には、その画像はフレーム間予測部２４による処理において使用されることは無くなる。
【００５６】
第２の実施例における１ピクチャ復号処理の内容も、図７のステップＳ２０の１マクロブロック復号処理の内容を除いては第１の実施例における図７と同様であり、その説明を省略する。
【００５７】
図１３は、第２の実施例における１マクロブロック復号処理のフローチャートである。同図において処理が開始されると、まずステップＳ４０で現在復号対象となっている処理ブロックが欠損マクロブロックであるか否かが図１１の制御部２０によって判定され、欠損マクロブロックである場合には、第１の実施例に対する図８と同様にそのマクロブロックに対する復号処理を行うことなく、１マクロブロック復号処理を完了する。
【００５８】
処理中のマクロブロックが欠損マクロブロックでない場合には、ステップＳ４１で処理中の画像が参照する画像がエラー隠蔽対象となっているか否かがエラー隠蔽対象位置情報保持部１５の記憶内容を参照して判定され、参照する画像がエラー隠蔽対象となっている場合には、ステップＳ４２で参照される画像に対応するエラー隠蔽用画像を参照して復号処理が行われる。参照する画像がエラー隠蔽対象となっていない場合には、ステップＳ４３で通常の復号処理が行われ、１マクロブロック復号処理を完了する。
【００５９】
図１４、および図１５は、第２の実施例における復号処理と画像出力処理のタイミングチャートである。図１４において、第１の実施例に対すると同様にＰ３ピクチャとＢ４ピクチャとがエラーによる欠損ブロックや画質劣化ブロックを含む画像であるものとする。Ｐ３ピクチャの復号後の画像は図１０におけると同様にフレームメモリのバンク３に格納されるが、この画像データは画質劣化ブロックや復号処理が行われていない欠損ブロックを含むために不完全な画像データである。またＰ３ピクチャに対するエラー隠蔽対象位置情報は、エラー隠蔽対象位置情報保持部１５に格納される。
【００６０】
Ｂ４ピクチャについても同様に欠損ブロックや画質劣化ブロックを含むために、不完全な画像データとしてフレームメモリのバンク１に格納されるが、同時にエラー発生位置に対応するエラー隠蔽対象位置がエラー隠蔽対象位置情報保持部１５に格納される。
【００６１】
次にＢ５ピクチャはエラーを含まない画像であるが、図２３で説明したように本来Ｐ３ピクチャを参照するものである。ピクチャＰ３は、エラーによる欠損ブロックや画質劣化ブロックを含むことが、エラー隠蔽対象位置情報保持部１５の格納内容を参照することによって判定され、参照画像がエラーを含まないエラー隠蔽用参照画像としてのＢ２ピクチャに切り替えられて、復号処理が行われる。
【００６２】
ピクチャＢ４の出力時には、エラー隠蔽対象位置情報保持部１５の格納内容を参照することによって、隠蔽用参照画像、すなわちＢ５ピクチャを用いた出力処理が行われる。さらにＰ３ピクチャの出力時には、同様にエラー隠蔽対象位置情報保持部１５の格納内容が参照され、エラー隠蔽用参照画像としてのＢ７ピクチャの画像データが用いられて画像データの出力が行われる。
【００６３】
図１４においてピクチャＢ５の復号開始の時点を考える。例えば図２４の従来例や第１の実施例に対する図１０では、この時点でピクチャＢ５の復号結果はフレームメモリのバンク２に格納されている。しかしながら図１４においては、ピクチャＢ２はエラー隠蔽用参照画像として用いられるために、この時点でバンク２を解放することはできず、ピクチャＢ５の復号結果はバンク４に置かれることになり、一時的にフレームメモリで保持する画像の数は１枚多くなり、バンクの数を１個多くする必要がある。
【００６４】
図１５は、第２の実施例における復号処理と画像データ出力処理の異なる例のタイミングチャートである。図１４においては、エラー隠蔽用参照画像として、エラーによる欠損ブロックや画質劣化ブロックを含まない画像のうちで最新の復号済み画像が用いられている。これに対して図１５では、エラー隠蔽用参照画像を本来復号処理の中で参照画像として用いられるべき画像の中から選択する方法でエラー隠蔽処理が行われている。すなわちＢ４ピクチャの出力時点までは、復号処理の中で最初に用いられる被参照画像としてのＩ０ピクチャがエラー隠蔽用参照画像として用いられ、Ｂ７の復号処理、およびＢ５ピクチャの出力処理の時点からエラー隠蔽用参照画像がＰ６ピクチャに切り替えられて、処理が行われている。なお、図１５においてもＰ６ピクチャの復号処理結果を保持しておくためにバンク４が用いられており、バンクの数を図１４におけると同様に１個増加させる必要がある。
【００６５】
以上のように第２の実施例においては、復号処理において用いられるべき被参照画像に対しても復号時におけるエラー隠蔽処理を行うことなく、復号時に参照されることの無い画像を含めて全ての画像のデータに対する復号時におけるエラーコンシールメント処理は行われない。そして出力部１４によって画像データを出力する時に、エラーによる画質劣化ブロックや欠損ブロックを含む画像に対しては、エラー隠蔽用参照画像が用いられて結果的にエラーコンシールメント処理が行われた画像データが外部に出力されることになるため、従来技術におけるように１つの画像データに対する復号処理時間が予め定められた時間を超過する可能性は全く無くなることになる。また欠損ブロックに対するエラーコンシールメント処理においては、従来技術において必要であった復号処理部へのデータ読込みや、復号処理結果のフレームメモリへの書き込みの処理を削減することが可能となり、さらに１つの画像データに対する復号処理時間の短縮が実現される。
【図面の簡単な説明】
【００６６】
【図１】動画像復号装置としての半導体装置の基本構成ブロック図である。
【図２】第１の実施例における動画像復号装置の構成ブロック図である。
【図３】図２の制御部による復号処理部に対する制御処理のフローチャートである。
【図４】制御部による出力部に対する制御処理のフローチャートである。
【図５】制御部によるフレームメモリに対する領域解放制御処理のフローチャートである。
【図６】図３における復号後処理の詳細フローチャートである。
【図７】第１の実施例における１ピクチャ復号処理のフローチャートである。
【図８】図７における１マクロブロック復号処理のフローチャートである。
【図９】第１の実施例における１ピクチャ出力処理のフローチャートである。
【図１０】第１の実施例における復号処理と画像データ出力処理のタイミングチャートである。
【図１１】第２の実施例における動画像復号装置の構成ブロック図である。
【図１２】第２の実施例における復号後処理のフローチャートである。
【図１３】第２の実施例における１マクロブロック復号処理のフローチャートである。
【図１４】第２の実施例における復号処理と画像データ出力処理の例のタイミングチャートである。
【図１５】第２の実施例における復号処理と画像データ出力処理の異なる例のタイミングチャートである。
【図１６】ビットストリームにおけるエラー検出の説明図である。
【図１７】１つの画像データ内の画質劣化ブロックと欠損ブロックとの説明図である。
【図１８】デブロッキングフィルタ処理による画質劣化ブロックの増加の説明図である。
【図１９】動画像復号装置の従来例の構成ブロック図である。
【図２０】図１９における復号処理部に対する制御処理のフローチャートである。
【図２１】図１９における出力部に対する制御処理のフローチャートである。
【図２２】図１９におけるフレームメモリの領域解放に対する制御処理のフローチャートである。
【図２３】画像間参照関係を示すＧＯＰ（グループ・オブ・ピクチャ）構造の例である。
【図２４】復号処理と画像データ出力処理のタイミングチャートの従来例（その１）である。
【図２５】復号処理と画像データ出力処理のタイミングチャートの従来例（その２）である。
【符号の説明】
【００６７】
１  半導体装置
２  デコード部
３  第１メモリ
４  第２メモリ
５、１４  出力部
１０  制御部
１１  復号処理部
１２  フレームメモリ
１３  メモリコントローラ
１５  エラー隠蔽対象位置情報保持部
２０  制御部（エラー隠蔽対象決定）
２１  可変長復号処理部
２２  逆量子化・逆変換部
２３  フレーム内予測部
２４  フレーム間予測部
２５  デブロッキングフィルタ処理部
２６  加算器
２７  スイッチ
【図１】
0004410277.tif 000002
【図２】
0004410277.tif 000003
【図３】
0004410277.tif 000004
【図４】
0004410277.tif 000005
【図５】
0004410277.tif 000006
【図６】
0004410277.tif 000007
【図７】
0004410277.tif 000008
【図８】
0004410277.tif 000009
【図９】
0004410277.tif 000010
【図１０】
0004410277.tif 000011
【図１１】
0004410277.tif 000012
【図１２】
0004410277.tif 000013
【図１３】
0004410277.tif 000014
【図１４】
0004410277.tif 000015
【図１５】
0004410277.tif 000016
【図１６】
0004410277.tif 000017
【図１７】
0004410277.tif 000018
【図１８】
0004410277.tif 000019
【図１９】
0004410277.tif 000020
【図２０】
0004410277.tif 000021
【図２１】
0004410277.tif 000022
【図２２】
0004410277.tif 000023
【図２３】
0004410277.tif 000024
【図２４】
0004410277.tif 000025
【図２５】
0004410277.tif 000026