(57)【要約】  本発明は、エンコード／トランスコード及びデコードのための方法及び装置を提供し、エンコードのための方法は、ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するステップと、前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するステップと、を有する。本発明によれば、所定のエラー情報がエンコード／トランスコード側で書き込まれることができ、コードレートが効果的に減少させられる。一方で、該所定のエラー情報は、デコード側で容易に検出されることができ、エラーが隠蔽されることができる。このことは、ユーザがモバイル装置によってビデオファイルを再生する場合に帰着する画像の品質を保証する。
2009535881.tif 000002
【特許請求の範囲】
【請求項１】
エンコードのための方法であって、
（ａ）ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するステップと、
（ｂ）前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するステップと、
を有する方法。
【請求項２】
前記ステップ（ａ）は、画像の複雑度の特性を検出して前記画像の位置情報を取得するステップを含み、前記ステップ（ｂ）は、前記画像の位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記画像のエンコードを置換するステップを含む、請求項１に記載の方法。
【請求項３】
前記画像の複雑度の特性は、前記画像の動きベクトル複雑度である、請求項２に記載の方法。
【請求項４】
前記ステップ（ａ）は、マクロブロックの複雑度の特性を検出して前記マクロブロックの位置情報を取得するステップを含み、前記ステップ（ｂ）は、前記マクロブロックの位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記マクロブロックのエンコードを置換するステップを含む、請求項１に記載の方法。
【請求項５】
前記マクロブロックの複雑度の特性は、前記マクロブロックの平滑度情報である、請求項４に記載の方法。
【請求項６】
エンコードのための装置であって、
ビデオ情報の位置を識別するために利用される位置情報を取得するための取得装置と、
前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するための書き込み装置と、
を有する装置。
【請求項７】
前記取得装置は、画像の複雑度の特性を検出して前記画像の位置情報を取得するための画像検出装置を含み、
前記書き込み装置は、前記画像の位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記画像のエンコードを置換するために利用される、
請求項６に記載の装置。
【請求項８】
前記画像の複雑度の特性は、前記画像の動きベクトル複雑度である、請求項７に記載の装置。
【請求項９】
前記取得装置は、マクロブロックの複雑度の特性を検出して前記マクロブロックの位置情報を取得するためのマクロブロック検出装置を含み、
前記書き込み装置は、前記マクロブロックの位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記マクロブロックのエンコードを置換するために利用される、
請求項６に記載の装置。
【請求項１０】
前記マクロブロックの複雑度の特性は、前記マクロブロックの平滑度情報である、請求項９に記載の装置。
【請求項１１】
デコードのための方法であって、
圧縮されたビデオストリームにおける、エンコードのときに書き込まれるエラー情報に基づいて、置換ビデオ情報を決定するステップと、
所定のエラー情報を前記置換ビデオ情報によって置換するステップと、
を有する方法。
【請求項１２】
デコードのための装置であって、
圧縮されたビデオストリームにおける、エンコードのときに書き込まれるエラー情報に基づいて、置換ビデオ情報を決定するための決定装置と、
所定のエラー情報を前記置換ビデオ情報によって置換するための置換装置と、
を有する装置。
【請求項１３】
第１の圧縮率でエンコードされたビデオストリームを、第２の圧縮率でエンコードされたビデオストリームへと変換するための、トランスコードのための方法であって、
前記第１の圧縮率でエンコードされたビデオストリームを部分的にデコードするステップと、
前記部分的にデコードされたビデオストリームに基づいて、ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するステップと、
前記位置情報に基づいて、第２の圧縮率でエンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するステップと、
を有する方法。
【請求項１４】
第１の圧縮率でエンコードされたビデオストリームを、第２の圧縮率でエンコードされたビデオストリームへと変換するための、トランスコードのための装置であって、前記装置は、
前記第１の圧縮率でエンコードされたビデオストリームを部分的にデコードするための部分デコード装置と、
前記部分的にデコードされたビデオストリームを第２の圧縮率でエンコードして、部分的にエンコードされたビデオストリームを得るための部分エンコード装置と、
を有し、前記部分エンコード装置は、
前記部分的にデコードされたビデオストリームに基づいて、ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するための取得装置と、
前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するための書き込み装置と、
を有する装置。
【請求項１５】
エンコードのためのコンピュータプログラムであって、
ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するためのコードと、
前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するためのコードと、
を有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンコード／トランスコード及びデコードのための方法及び装置に関し、特に、低減されたコードレートによるエンコード／トランスコード及びデコードのための方法及び装置に関する。
【背景技術】
【０００２】
ディジタルテレビジョン（ＳＤＴＶ／ＨＤＴＶ）及びマルチメディアアプリケーションの一態様においては、種々の要件を満たすために、ＭＰＥＧ（Motion Picture Experts Group）、Ｈ．２６３及びQuicktime等のような、多くのビデオ圧縮規格が出現している。これらの規格の主な目的は、圧縮されたビデオストリームが、より低いビットレート及びより優れた画質を持つようにすることである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
高詳細度を持つビデオ情報を家庭でBlu-Rayディスクを用いて再生される場合のような幾つかの場合の用途においては、より優れた画質を得ることが重要となる。
【０００４】
しかしながら、例えばビデオ及びオーディオファイルがモバイル装置（モバイル電話のような）において再生される場合のような他の場合の用途においては、優れた画質を得ることよりも、ビットレートを低減させることのほうが重要である。通常、モバイル装置の記憶容量は非常に限られており、ビットレートが高過ぎると、ビデオ圧縮ファイルが大きくなり過ぎることとなり、ユーザのために再生されるために、モバイル装置内に十分なビデオ圧縮ファイルを記憶することが不可能となる。コードレートは画像フレーム複製により低減させられることができるが、コードレートの低減の割合は非常に限られており、画質も影響を受けることとなる。
【０００５】
それ故、より効果的にコードレートを低減させるためのエンコード／トランスコードの方法及び装置、並びにデコードの際に効果的に画像を復元するためのデコードの方法及び装置を提供するニーズがある。
【課題を解決するための手段】
【０００６】
本発明は、より効果的にコードレートを低減させるためのエンコード／トランスコード方法及び装置、並びにデコードの際に効果的に画像を復元するためのデコードの方法及び装置を提供する。
【０００７】
本発明の一実施例によれば、エンコードのための方法であって、ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するステップと、前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するステップと、
を有する方法が提供される。
【０００８】
本発明の一実施例によれば、エンコードのための装置であって、ビデオ情報の位置を識別するために利用される位置情報を取得するための取得装置と、前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するための書き込み装置と、を有する装置が提供される。
【０００９】
本発明の一実施例によれば、デコードのための方法であって、圧縮されたビデオストリームにおける、エンコードのときに書き込まれるエラー情報に基づいて、置換ビデオ情報を決定するステップと、所定のエラー情報を前記置換ビデオ情報によって置換するステップと、を有する方法が提供される。
【００１０】
本発明の一実施例によれば、デコードのための装置であって、圧縮されたビデオストリームにおける、エンコードのときに書き込まれるエラー情報に基づいて、置換ビデオ情報を決定するための決定装置と、所定のエラー情報を前記置換ビデオ情報によって置換するための置換装置と、を有する装置が提供される。
【００１１】
本発明の一実施例によれば、第１の圧縮率でエンコードされたビデオストリームを、第２の圧縮率でエンコードされたビデオストリームへと変換するための、トランスコードのための方法であって、前記第１の圧縮率でエンコードされたビデオストリームを部分的にデコードするステップと、前記部分的にデコードされたビデオストリームに基づいて、ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するステップと、前記位置情報に基づいて、第２の圧縮率でエンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するステップと、を有する方法が提供される。
【００１２】
本発明の一実施例によれば、第１の圧縮率でエンコードされたビデオストリームを、第２の圧縮率でエンコードされたビデオストリームへと変換するための、トランスコードのための装置であって、前記装置は、前記第１の圧縮率でエンコードされたビデオストリームを部分的にデコードするための部分デコード装置と、前記部分的にデコードされたビデオストリームを第２の圧縮率でエンコードして、部分的にエンコードされたビデオストリームを得るための部分エンコード装置と、を有し、前記部分エンコード装置は、ビデオ情報の位置を識別するために利用される位置情報を取得するための取得装置と、前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するための書き込み装置と、を有する装置が提供される。
【００１３】
本発明の一実施例によれば、エンコードのためのコンピュータプログラムであって、ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するためのコードと、前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するためのコードと、を有するコンピュータプログラムが提供される。
【００１４】
要約すると、本発明は、エンコード／トランスコード及びデコードのための方法及び装置を提供し、所定のエラー情報がエンコード／トランスコード側で書き込まれることができ、コードレートが効果的に減少させられる。一方で、該所定のエラー情報は、デコード側で容易に検出されることができ、エラーが隠蔽されることができる。このことは、ユーザがモバイル装置によってビデオファイルを再生する場合に帰着する画像の品質を保証する。
【００１５】
以下において、図面を参照しながら、本発明の説明及び請求の範囲を通して、本発明の他の目的及び効果が明らかとなり、本発明が完全に理解されるであろう。
【００１６】
全ての図面において、同一の参照は同一の、類似する又は対応する特徴又は機能を示す。
【発明を実施するための最良の形態】
【００１７】
以下において、本発明の好適な実施例が、添付図面を参照しながら詳細に説明される。
【００１８】
本発明の一実施例によれば、本発明は、ＭＰＥＧ２規格によるエンコード／トランスコード及びデコードのための方法及び装置に関して詳細に説明される。本発明は、本発明の内容の範囲に基づいて、本発明の内容の範囲を逸脱することなく、Ｈ．２６３又はQuicktime規格のような他のタイプのエンコード／デコード規格に変更され適用され得ることは、当業者により理解されるであろう。
【００１９】
本発明の一実施例によれば、エンコードのための方法であって、ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するステップと、前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するステップと、を有する方法が提供される。
【００２０】
ここで、前記所定のエラー情報は、画像クラスエラー情報、スライスクラスエラー情報及びマクロブロッククラスエラー情報の、３つのタイプを有しても良い。該所定のエラー情報を書き込む前に、書き込みエラーの位置情報を取得することが必要とされ、該位置情報は特定の画像、スライス又はマクロブロックを識別するＩＤ情報であっても良い。
【００２１】
ここで、前記ビデオ情報の複雑度は、画像情報の動きベクトル複雑度、スライス及びマクロブロックの平滑度、並びにマクロブロックの動きベクトル複雑度を有しても良い。詳細な説明は以下のとおりである。
【００２２】
次いで、図１乃至３を参照しながら、３つのエンコード方法、即ち画像クラスエラー情報、スライスクラスエラー情報及びマクロブロッククラスエラー情報を書き込む方法のフロー図が、それぞれ説明される。
【００２３】
図１は、本発明の一実施例による、画像エラーを書き込む方法のフロー図である。
【００２４】
最初に、（ＭＰＥＧ２のような）所定の規格に従って、ビデオデータがエンコードされる。圧縮及びエンコードされる前に、生のビデオデータが処理され、Ｉフレーム、Ｐフレーム及びＢフレームを形成し、更にパラメータ設定に基づいて特定のシーケンスを形成する。次いで、ＤＣＴ変換、量子化、ＶＣＬ及び動き予測、動き補償等のような幾つかの演算がこれらに対して実行され、詳細な説明は省略される。
【００２５】
ここでＩフレームは、画像自体のフレームの情報のみに基づいてエンコードされ、Ｐフレームは、先行する隣接したＩフレーム又はＰフレームに基づいて予測エンコードされる。即ち、基準フレーム（Ｉフレーム又はＰフレームのような）が最初に取得され、次いで該基準フレームに基づいて現在のフレーム（Ｐフレームのような）に対して動き推定が実行され、次いで現在のフレームの基準動きベクトルが算出される。Ｂフレームは、自身に基づいて、又は先行する又は後続するフレームに基づいて、予測エンコードされる。
【００２６】
ステップＳ１２０において、現在の画像がＩフレームであるか否かが決定され、Ｉフレームである場合には、画像クラスエラーは現在の画像には書き込まれず、フローのＡ部（図２において詳細に示される）へと直接進む。
【００２７】
ＩフレームではなくＰフレーム又はＢフレームであると決定した後は、ステップＳ１３０において、現在の画像の動きベクトル複雑度が閾値を超えているか否かが決定される。該画像の動きベクトル複雑度は、平均二乗誤差により算出される。画像の現在のｋ番目のフレームの動きベクトル複雑度は、画像の現在のｋ番目のフレームの前方動きベクトル及び後方動きベクトルの平均二乗誤差σｆｏｒｗａｒｄ（Picture..［ｋ］）、σｂａｃｋｗａｒｄ（Picture..［ｋ］）を算出することにより決定される。
【数１】
2009535881.tif 000003
【００２８】
ここで、Ｍは、画像のｋ番目のフレームの幅方向に含まれるマクロブロックの数を示し、Ｎは、画像のｋ番目のフレームの高さ方向に含まれるマクロブロックの数を示し、画像のｋ番目のフレームの平均前方動きベクトル
【数２】
2009535881.tif 000004
及び平均後方動きベクトル
【数３】
2009535881.tif 000005
は、
【数４】
2009535881.tif 000006
となる。
【００２９】
ここで、ＭＶｆｏｒｗａｒｄ（ｉ，ｊ）及びＭＶｂａｃｋｗａｒｄ（ｉ，ｊ）はそれぞれ、（ｉ，ｊ）番目のマクロブロックの前方動きベクトル及び後方動きベクトルである。
【００３０】
現在の画像の動きベクトルの複雑度は、所定の２つの閾値σｌｏｗ及びσｈｉｇｈにより決定され、σｆｏｒｗａｒｄ（Picture..［ｋ］）＜σｌｏｗ且つσｂａｃｋｗａｒｄ（Picture..［ｋ］）＜σｌｏｗである場合には、現在の画像の動きベクトルの複雑度が低いと決定され得る。σｆｏｒｗａｒｄ（Picture..［ｋ］）＞σｈｉｇｈ且つσｂａｃｋｗａｒｄ（Picture..［ｋ］）＞σｈｉｇｈである場合には、現在の画像が、高い複雑度を持つ動きベクトルとなる。これら２つの場合が共に満たされない場合には、現在の画像は、中間の複雑度を持つ動きベクトルとなる。
【００３１】
本発明の一実施例によれば、低い複雑度の動きベクトルを持つ画像にのみ、画像クラスエラーが書き込まれることが想定される。即ち、現在のフレームの画像ヘッダを書き込むことのみが必要とされ、対応するフレームの特定のビデオデータは確保されず、中間の及び高い複雑度の動きベクトルを持つ画像に画像クラスエラーを書き込むことは想定されず、それにより画像再生の品質に大きく影響を与えることを避ける。
【００３２】
本発明の一実施例によれば、閾値σｌｏｗの設定は、低減されたコードレートの割り当て量に基づいても良い。例えば、閾値σｌｏｗの大きさは、低減されたコードレートの割り当て量に正比例しても良い。
【００３３】
ステップＳ１４０において、動きベクトルの複雑度が低いと決定された画像に、画像クラスエラーが書き込まれる。該書き込まれるフレームエラーは、デコード側でエラー検出メカニズムによって検出され、次いでフレーム復元の方法により復元される。
【００３４】
ステップＳ１５０において、画像の次のフレームが処理されるか否かが決定される。画像の次のフレームが処理される場合にはステップＳ１１０へと進み、否であれば該フローは終了する。
【００３５】
図２は、本発明の一実施例による、スライスエラーを書き込む方法のフロー図である。
【００３６】
最初にステップＳ２２０において、現在のスライスが平滑なスライスであるか否かが決定され、平滑なスライスではない場合には、現在のスライスにはスライスクラスエラーが書き込まれないこととなり、フローのＢ部（図３において詳細に説明される）へと直接進む。
【００３７】
現在のスライスが平滑なスライスであるか否かは、現在のスライスに含まれる平滑なマクロブロックの数を算出することにより決定される。現在のスライスに含まれる平滑なマクロブロックの数が閾値を超える場合には、現在のスライスが平滑なスライスであるとみなされる。そうでなければ、現在のスライスは平滑なスライスとしてみなされない。
【００３８】
本発明の一実施例によれば、マクロブロックが平滑なマクロブロックであるか否かは、勾配を算出することにより決定される。エッジ検出が、画像における有意な局所的変化を検出する最も主要な演算である。１次元の場合には、ステップ状のエッジが、画像の１次導関数の局所的ピークに関連する。勾配は関数の変化の尺度であり、画像は画像強度連続関数のサンプリングスポットのアレイとみなされ得る。それ故、１次元の場合と同様に、画像のグレイスケール値の有意な変化は、離散的な勾配の近似関数によって検出され得る。
【００３９】
勾配は、１次導関数の２次元等価式であり、ベクトル画素スポットｐの勾配ベクトルＧは、横方向勾配ベクトルＧｘ及び縦方向勾配ベクトルＧｙを含む。
【数５】
2009535881.tif 000007
【００４０】
勾配に関連する２つの重要な特性がある。（１）ベクトルＧ（ｘ，ｙ）の方向は、関数ｆ（ｘ，ｙ）が増加した場合に最も変化する方向である。（２）勾配の大きさは、
【数６】
2009535881.tif 000008
によって与えられる。
【００４１】
実際の用途においては、絶対値を用いて勾配の大きさを近似することが通常である。
【数７】
2009535881.tif 000009
【００４２】
ベクトルの解析から、勾配の方向は、
【数８】
2009535881.tif 000010
として定義されることが分かる。
【００４３】
ここで角度θは、ｘ軸に対する角度である。
【００４４】
本発明の一実施例によれば、画素スポットを中心とした円周を均等に分割することにより形成される１６個の方向における勾配が算出され、ここで最大の勾配値Ｃｏｕｎｔｅｒｍａｘ及び最小の勾配値Ｃｏｕｎｔｅｒｍｉｎがとられる。
｜Ｃｏｕｎｔｅｒｍａｘ−Ｃｏｕｎｔｅｒｍｉｎ｜＞Ｔ１である場合、マクロブロックはエッジのマクロブロックであり、
Ｔ２＜｜Ｃｏｕｎｔｅｒｍａｘ−Ｃｏｕｎｔｅｒｍｉｎ｜＜Ｔ１である場合、マクロブロックはテクスチャのマクロブロックであり、
｜Ｃｏｕｎｔｅｒｍａｘ−Ｃｏｕｎｔｅｒｍｉｎ｜＜Ｔ２である場合、マクロブロックは平滑なマクロブロックである。ここで、Ｔ１及びＴ２はそれぞれ、２つの所定の上限及び下限閾値である。
【００４５】
現在のスライスが平滑なスライスであると決定された場合には、ステップＳ２４０に進み、スライスクラスエラーが該現在のスライスに書き込まれる。即ち、スライスヘッダのみが確保され、関連するスライスデータは完全に若しくは部分的に破棄され、又は対応するスライスにおける特定のパラメータが不正な値に設定され、コードレートを低減させる。
【００４６】
スライスヘッダのみを確保する方式に対応して、デコーダは、既存のエラー検出モジュールを利用して、当該タイプのエラーを検出する。不正な値に設定される対応するパラメータに関しては、これらパラメータは特別なエラー処理メカニズムにより検出され得る。表１は、幾つかのパラメータの対応する正当な値を示す。例えば、エンコードの時点において、該表におけるＳｌｉｃｅ＿ｓｔａｒ＿ｃｏｄｅは、０ｘ０００００１０１と０ｘ０００００１ＡＦとの間には設定されておらず、従ってデコード時に誤りが生じる。特定のエラーに従ってスライスデータが失われていることがデコード装置に既知となり、データ復元は必要とされない。
【表１】
2009535881.tif 000011
【００４７】
最後に、ステップＳ２６０において、次のスライスが処理されるか否かが決定される。次のスライスが処理される場合には、ステップＳ２２０にジャンプし、次のスライスが平滑なスライスである否かが決定される。そうでなければ、全体のフローが終了する。
【００４８】
図３は、本発明の一実施例による、マクロブロックエラーを書き込む方法のフロー図である。
【００４９】
ステップＳ３２０において、現在のマクロブロックのタイプが平滑なマクロブロックであるか否かが決定され、平滑なマクロブロックでない場合には、ステップＳ３８０へと直接ジャンプし、次のマクロブロックが処理されるか否かが決定される。現在のマクロブロックのタイプが平滑なマクロブロックである場合には、ステップＳ３４０へと進み、現在のマクロブロックの動きベクトル複雑度が閾値を超えているか否かが決定される。現在のマクロブロックの動きベクトル複雑度を決定する方法は、図１におけるステップＳ１３０におけるものと同様であり、同じ説明は不要である。
【００５０】
現在のマクロブロックの動きベクトル複雑度が閾値を超えていると決定された場合、ステップＳ３８０へと直接ジャンプし、次のマクロブロックが処理されるか否かが決定される。
【００５１】
現在のマクロブロックの動きベクトル複雑度が閾値以下であると決定された場合、フローはステップＳ３６０に進み、マクロブロッククラスエラーが現在のマクロブロックに書き込まれる。例えば、動きベクトル圧縮規格の可変長コードテーブルにおいて定義された、不正な短い可変長コードが、正当な長い可変長コードを置換するために利用され（例えば「０ｂ００００１１１」を「０ｂ１１１」で置換する）、それによりコードレートを低減させる。
【００５２】
本発明の一実施例によれば、書き込まれた画像クラスエラーは、主に２つの種類に分類される。一方は、現在の画像の画像ヘッダのみを保持し、対応する画像データの全て又は一部を破棄するものである。この種類のエラーは、特殊なエラー検出メカニズムなしでデコーダ側で容易に検出され得るものであり、次いで対応するフレーム回復方法を用いてエラー隠蔽が実行される。他方は、ＭＰＥＧ規格における幾つかの関連するパラメータを不正な値に設定することであり、この種類のエラーは、特殊なエラー処理メカニズムを追加した後に検出される。例えば、ｐｉｃｔｕｒｅ＿ｓｔａｒｔ＿ｃｏｄｅは「０ｘ０００００１００」であり、「０ｘ０００００１ＦＦ」に設定され、次いで書き込み画像エラーとみなされる。ｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｔｙｐｅは「０ｂ００１」であり、このことは該画像がＩフレームであることを示し、該値が「０ｂ１０１」に設定される場合には、同様に書き込み画像エラーとみなされる。
【００５３】
実際的な状況を考えると、画像ヘッダ中のパラメータは、デコーダ側のエラー検出メカニズムの能力に依存して、それぞれ不正な値か又は他の値に変換される。例えば、画像におけるパラメータｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｔｙｐｅに関しては、特別なエラー検出メカニズムがない場合には、該パラメータは正確に検出されず、最終的な画像の影響は悪化する。特別なエラー検出メカニズムがある場合には、該パラメータは正確に検出され、最終的な画像の影響は良くなる。
【００５４】
最後に、ステップＳ３８０において、次のマクロブロックが処理されるか否かが決定される。次のマクロブロックが処理される場合には、ステップＳ３２０にジャンプし、次のマクロブロックが平滑なマクロブロックであるか否かが決定される。そうでなければ、全体のフローが終了する。
【００５５】
図４は、本発明の一実施例による、エンコードのための装置の模式的な構造図である。
【００５６】
エンコードのための装置４００は、取得装置４１０及び書き込み装置４２０を含む。取得装置４１０は、位置情報を取得するために利用される。該位置情報は、ビデオ情報の位置を特定するために利用される。書き込み装置４２０は、前記位置情報に基づいて、所定のエラー情報を、エンコードされたストリームに書き込み、前記ビデオ情報のエンコードを置換するために利用される。
【００５７】
本発明の一実施例によれば、取得装置４１０は、コードレートを低減させるため、画像クラスエラー情報が、画像のフレームに書き込まれるのに適切なものであるか否かを検出するための、画像検出装置４１２を有する。
【００５８】
本発明の一実施例によれば、画像検出装置４１２は最初に、画像の現在のフレームがＩフレームであるか否かを検出し、Ｉフレーム画像については、画像クラスエラー情報を書き込むことは想定されず、Ｐフレーム及びＢフレームについてのみ、画像クラスエラー情報を書き込むことが想定される。
【００５９】
Ｐフレーム及びＢフレームについては、画像検出装置４１２は次いで、画像のフレームの動きベクトル複雑度を検出し、該画像のフレームの動きベクトル複雑度が所定の閾値を超えている場合には、画像クラスエラー情報を書き込むことは想定されず、スライスエラー又はマクロブロッククラスエラーを書き込むことのみが想定される。該画像のフレームの動きベクトル複雑度が所定の閾値以下である場合には、画像クラスエラー情報を書き込むことが想定される。
【００６０】
取得装置４１０は更に、コードレートを低減させるために、スライスクラスエラー情報がスライスに書き込まれるのに適切なものであるか否かを検出するための、スライス検出装置４１６を有する。
【００６１】
所定の閾値を超える動きベクトル複雑度を持つＰフレーム及びＢフレームの画像については、スライス検出装置４１６は、スライスクラスエラー情報が該画像の各スライスに書き込まれるか否かを検出する。現在のスライスが平滑なスライスであるか否かが、現在のスライスに含まれる平滑なマクロブロックの数を算出することにより決定される。現在のスライスに含まれる平滑なマクロブロックの数が閾値を超える場合には、現在のスライスは平滑なスライスであるとみなされる。
【００６２】
取得装置４１０は更に、マクロブロッククラスエラーがマクロブロックに書き込まれるのに適切なものであるか否かを検出するための、マクロブロック検出装置４１８を有し、マクロブロックに対応する可変長符号化が、コードレートを低減させるため、より短い不正な符号化により置換される。
【００６３】
マクロブロック検出装置４１８は最初に、現在のマクロブロックのタイプが平滑なマクロブロックであるか否かを決定し、平滑なマクロブロックではない場合には、マクロブロック検出装置４１８は、現在のマクロブロックの動きベクトル複雑度が閾値を超えているか否かを決定する。現在のマクロブロックの動きベクトル複雑度を決定する方法は、図１におけるステップＳ１３０におけるものと同様であり、同じ説明は不要である。
【００６４】
要約すると、画像検出装置４１２／スライス検出装置４１６／マクロブロック検出装置４１８により検出された後、画像／スライス／マクロブロックの対応する位置情報が取得され得、該位置情報に対応する画像／スライス／マクロブロックが、コードレートを低減させるために、所定のエラーに書き込まれるのに適したものとなる。
【００６５】
その後、本発明の一実施例によれば、上述した取得装置４１０により取得された位置情報に基づいて、書き込み装置４２０は所定のエラー情報を書き込み（例えば、より短い可変長コードをビデオストリームにエンコードする）、該位置情報に対応するビデオ情報を置換するか、又は２つのヘッダデータ間のビデオデータを直接に破棄して、それによりデコードのための装置が、当該位置におけるデータが特定のエラーに基づいて失われたこと及びデータ回復が必要であることを知ることができる。ここで、書き込み装置４２０は、前記所定のエラー情報を、圧縮されたビデオストリームに書き込む。書き込み装置４２０が可変長符号化装置４７０に含まれても良いことは、当業者に理解されるであろう。
【００６６】
エンコードのための装置４００はまた、離散コサイン変換装置（本図におけるＤＣＴ）４５０、量子化器（本図におけるＱ）、可変長符号化装置（本図におけるＶＬＣ）４７０、動き推定装置（本図におけるＭＥ）４８０、及び動き補償装置（本図におけるＭＣ）４９０を含む。
【００６７】
ここで、離散コサイン変換装置４５０は、生のビデオ画像シーケンスを受信するために利用され、離散コサイン変換を実行し、その結果のＤＣＴ係数に対して、量子化器４６０が、要求に応じて種々の量子化レベルを設定するために利用され、これによりコードレートを低減させる。量子化の後にのみ、特に人間の目の物理的な特性に従って、低周波成分と高周波成分とで異なる量子化を設定することによって、高周波成分の殆どの係数がゼロとなる。一般に、人間の目は低周波成分に敏感であり、高周波成分にはそれ程敏感ではない。それ故、低周波成分は細かく量子化され、高周波成分は粗く量子化されることとなる。
【００６８】
可変長符号化装置４７０は、量子化器４６０により供給された量子化の大きさに従って、ハフマン（Huffman）符号のような可変長コードへと量子化係数を変換する。
【００６９】
動き推定装置４８０は、フレーム記憶部（図には示されていない）から（Ｉフレーム又はＰフレームのような）基準フレームを取得し、該基準フレームに基づいて（Ｐフレームのような）現在のフレームに対して動き推定を実行し、それによって計算により現在のフレームの基準動きベクトルを取得するために利用される。動き補償装置４９０は、予測モード及び基準動きベクトルに従って、基準フレームを変位させ、それにより現在のフレームを予測するために利用される。予測の動きの当該処理は先行技術におけるものと同様であり、詳細な説明は省かれる。
【００７０】
本発明の一実施例によれば、図４に示されたエンコードための装置４００の機能の全て又は一部は、適切にプログラムされたコンピュータによって実現されることもでき、該コンピュータにはエンコードのためのコンピュータプログラムがロードされる。該コンピュータプログラムは、ビデオ情報の複雑度が所定の閾値よりも小さい前記ビデオ情報の位置を識別するために利用される位置情報を取得するためのコードと、前記位置情報に基づいて、エンコードされたビデオストリームに所定のエラー情報を書き込み、前記ビデオ情報のエンコードを置換するためのコードと、を含む。
【００７１】
上述したコンピュータプログラムは、記憶媒体に保存されても良い。
【００７２】
上述したコンピュータプログラムのコードのこれら部分は、機械を形成するプロセッサへと供給されても良く、これにより該プロセッサに実装されるコードが、上述した機能を実現する装置を形成する。
【００７３】
本発明の一実施例によるエンコードのための装置は、第１の圧縮率でエンコードされたビデオストリームを第２の圧縮率でエンコードされたビデオストリームへと変換するための、トランスコードのための装置において適用されても良いことは、当業者には理解されるであろう。例えば、所定のエラー情報が書き込まれていない圧縮されたビデオストリームが部分的にデコードされ、次いで、所定のエラー情報に書き込むために、本発明の一実施例による部分エンコード装置により再エンコードされても良い。
【００７４】
図５は、本発明の一実施例による、トランスコードのための装置の模式的な構造図である。
【００７５】
トランスコードのための装置５００は、取得装置５１０及び書き込み装置５２０を含む。取得装置５１０は、画像検出装置５１２、スライス検出装置５１６及びマクロブロック検出装置５１８を有する。上述したそれぞれの手段の機能は、図４に示された取得装置４１０、書き込み装置４２０、画像検出装置４１２、スライス検出装置４１６及びマクロブロック検出装置４１８の機能と同様であり、同じ説明は不要である。
【００７６】
トランスコードのための装置５００は更に、可変長デコード装置（本図におけるＶＬＤ）５３０及び逆量子化器（本図におけるＩＱ）５４０を含む。対応するデコードの機能は、図４におけるエンコードのための装置４００の可変長エンコード装置４７０及び量子化器４６０に対応し、同じ説明は不要である。
【００７７】
スライス及びマクロブロックの検出においてはエンコードのための装置４００とは異なり、エンコードのための装置４００は、スライス及びマクロブロックの検出を画像の空間ドメインで実行しているが、トランスコードのための装置５００は、逆量子化された後に、主にＤＣＴドメイン（即ち周波数ドメイン）においてＤＣ係数及びＡＣ係数に対して検出を実行する。画像検出は、可変長デコードされた後に、動きベクトルに対して解析及び検出することである。
【００７８】
ここで、可変長デコード装置５３０及び逆量子化器５４０は合わせて、第１の圧縮率でエンコードされたビデオストリームを部分的にデコードするための、トランスコードのための装置５００における部分デコード装置（本図においては点線のブロックにおいて示される）を形成する。
【００７９】
トランスコードのための装置５００は更に、取得装置５１０及び書き込み装置５２０と共に、量子化器（本図におけるＱ１）５５０及び可変長エンコード装置（本図におけるＶＬＣ）５６０を含み、所定のエラーを含むビデオストリームを得るために、部分的にデコードされたビデオストリームを第２の圧縮率で再エンコードするための、トランスコードのための装置５００における部分エンコード装置（本図において点線のブロックにおいて示される）を形成する。
【００８０】
図６は、本発明の一実施例による、デコードのための装置の模式的な構造図である。
【００８１】
デコードのための装置６００は、フレーム間の相関を利用して時間冗長性を低減させるための、動き補償装置６１０を含む。動き補償は本発明の重要点ではないため、動き補償の技術の関連する詳細は詳細には説明されない。
【００８２】
動き補償装置６１０は、エラー回復装置６２０を含み、エラー回復装置６２０は、エンコードのための装置４００又はトランスコードのための装置５００により書き込まれた所定のエラー情報を置換するための置換ビデオ情報を決定する。エラー回復装置６２０は、所定のエラー情報を取得するための取得装置６２２を含み、該所定のエラー情報は、ビデオストリームがエンコードのための装置４００又はトランスコードのための装置５００によりエンコードされるときに、ビデオストリームに書き込まれる。ここで、取得装置６２２が、エラー検出装置であっても良い。
【００８３】
エラー回復装置６２０は更に、置換ビデオ情報を決定するための決定装置６２４を含んでも良く、決定のための方法が、基準フレームにおける特定の位置におけるビデオ情報を該置換ビデオ情報として利用しても良い。
【００８４】
エラー回復装置６２０は更に、所定のエラー情報の位置を、決定された置換ビデオ情報で充填するための充填装置６２６を含んでも良い。換言すれば、決定装置６２４と充填装置６２６とが、エラー隠蔽として定義される装置へと併合されても良く、該装置が関連するエラーを解析し、エラー隠蔽の方式を決定し、エラー隠蔽の動作を実行する。
【００８５】
デコードのための装置６００は更に、可変長デコード装置（本図におけるＶＬＤ）６６０、逆量子化器（本図におけるＩＱ）６７０及び逆離散コサイン変換装置（本図におけるＩＤＣＴ）６８０を含んでも良い。対応するデコードの機能は、図４におけるエンコードのための装置４００の可変長エンコード装置４７０、量子化器４６０及び離散コサイン変換装置４５０に対応し、同じ説明は不要である。
【００８６】
圧縮ビデオストリームが可変長デコード装置６６０によりデコードされた後、取得装置５２２は所定のエラー情報を取得し、決定装置６２４は、該所定のエラー情報に基づいて、対応する方法によって該所定のエラー情報の復元を決定する。
【００８７】
次いで、充填装置６２６が、失われたマクロブロックの位置を、決定された置換マクロブロックによって充填する。最後に、エラー回復の後のビデオ画像シーケンスが出力され、表示装置（図には示されていない）によりユーザに提示される。
【００８８】
本発明において開示されたエンコード／トランスコード及びデコードのための方法及び装置は、本発明の内容から逸脱することなく変更され得ることは、当業者には理解されるべきである。それ故、本発明の保護範囲は、添付される請求項の内容によって限定されるべきである。
【図面の簡単な説明】
【００８９】
【図１】本発明の実施例による、画像エラーを書き込む方法のフロー図である。
【図２】本発明の実施例による、スライスエラーを書き込む方法のフロー図である。
【図３】本発明の実施例による、マクロブロックエラーを書き込む方法のフロー図である。
【図４】本発明の実施例による、エンコードのための装置の模式的な構造図である。
【図５】本発明の実施例による、トランスコードのための装置の模式的な構造図である。
【図６】本発明の実施例による、デコードのための装置の模式的な構造図である。
【図１】
2009535881.tif 000012
【図２】
2009535881.tif 000013
【図３】
2009535881.tif 000014
【図４】
2009535881.tif 000015
【図５】
2009535881.tif 000016
【図６】
2009535881.tif 000017
【国際調査報告】
2009535881.tif 000018
2009535881.tif 000019
2009535881.tif 000020