JP3967688B2 - 映像データ符号化方法,映像データ復号方法,映像データ符号化装置,映像データ復号装置,映像データ符号化プログラム,映像データ復号プログラム,およびそれらのプログラムを記録した記録媒体 - Google Patents
映像データ符号化方法,映像データ復号方法,映像データ符号化装置,映像データ復号装置,映像データ符号化プログラム,映像データ復号プログラム,およびそれらのプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP3967688B2 JP3967688B2 JP2003066214A JP2003066214A JP3967688B2 JP 3967688 B2 JP3967688 B2 JP 3967688B2 JP 2003066214 A JP2003066214 A JP 2003066214A JP 2003066214 A JP2003066214 A JP 2003066214A JP 3967688 B2 JP3967688 B2 JP 3967688B2
- Authority
- JP
- Japan
- Prior art keywords
- video data
- image area
- decoding
- area unit
- unit
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は,映像データの符号化および復号技術に関し,特に,エラーの影響をより限定するための動画像データの符号化方法および動画像データの復号中にエラーが検出された際のエラーコンシールメント処理方法に関するものである。
【0002】
【従来の技術】
例えば,以下の非特許文献1に記載されているように,MPEG−2映像符号化方式においては,ビットストリームは階層構造になっており,上位層から順にシーケンス(Sequence) 層,GOP(Group Of Picture)層,ピクチャ(Picture) 層,スライス(slice) 層,マクロブロック(Macro Block) 層,およびブロック(Block) 層から構成される。シーケンス層からスライス層までの各階層では,32ビットのユニークなスタートコードが与えられており,これにより各層が区別されるとともに,エラー回復ポイントにもなっている。
【0003】
スライス層は画面内で横長の帯状の領域を示し,画面を複数のスライスで構成することにより,あるスライス層でエラーが発生すると,次のスライス層のスタート(slice start code)からの同期でエラーを回復する。
【0004】
【非特許文献1】
MPEG-2 International Standard ISO/IEC 13818-2 1995
【0005】
【発明が解決しようとする課題】
例えばMPEG−2映像符号化方式においては,あるスライス層を復号している際に復号が不可能になってエラーが検出されると,従来は次のスライス層のスタートからの同期でエラーを回復することになる。スライス層は1つ以上のマクロブロック層から構成されているが,マクロブロック層にはユニークなスタートコードが与えられておらず,かつ可変長符号化されているため,マクロブロック層の境界のデータ位置を特定することが困難である。
【0006】
したがって,この場合,エラーが生じた時点からそのスライス層の最後までの画像領域は全て復号が不可能になってしまう。そこで,エラーが生じた時点からそのスライス層の最後までの画像領域のうち,なるべく多くの領域を復号可能にすることが,本発明が解決しようとする課題である。
【0007】
【課題を解決するための手段】
本発明は,上記間題点を解決するために,可変長符号化を利用し,かつユーザデータの利用が可能なディジタル映像データ符号化方式において,可変長符号化された1つまたは連続した複数のマクロブロックからなる画像領域単位であって,その画像領域単位を構成するマクロブロックの数が可変である画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量を,ユーザデータとして符号化して符号化結果のビットストリームに挿入する。そして,符号化された映像データを復号する過程でエラーが生じた場合に,ビットストリームに挿入された上記ユーザデータに基づいて復号処理を行う。
【0008】
ここで,ユーザデータは,ユーザによる特定のアプリケーションのために定義されるデータであり,例えばMPEG−2においては,ユーザデータスタートコード(16進法で000001B2)から始まるビット列のことである。ユーザデータは,他のスタートコードを受け取るまで継続する。
【0009】
また,付加的情報は,画像領域単位についての全ての情報のうち,画像領域単位の符号量を除いたものである。MPEG−2では,DC係数予測値,量子化スケールコード(quantiser _scale _code),動きベクトルの予測値などの付加的情報がある。
【0010】
本発明は,符号化された映像を伝送する際に,(1) ビットストリーム上でエラーが発生したことを検出する,(2) 映像を復号する際にユーザデータを利用してエラー範囲を限定する,または(3) 画像中の重要な部分を選択的に復号する,という特徴を有し,本発明を用いることにより,映像データの復号中にエラーが発生した場合に,エラーによって復号できない情報を少なくして,エラーの影響をより限定することが可能となる。
【0011】
【発明の実施の形態】
以下,図を用いて本発明の実施の形態を説明する。
【0012】
図1は,本発明に係る映像データ符号化装置の構成の一例を示す図である。図1において,1は映像データ符号化装置,11は符号化対象のビットストリームを入力するストリーム入力部,12は入力されたビットストリームを符号化する符号化部,13は符号化された画像領域単位のピクチャデータが記憶される第1バッファ,14は符号化された画像領域単位の符号量またはその符号量と付加的情報とがユーザデータとして記憶される第2バッファ,15は第1バッファ13に記憶されたピクチャデータと第2バッファ14に記憶されたユーザデータを出力するストリーム出力部,16は映像データ符号化装置1内の上記各部を制御する符号化制御部である。また,図1中,点線は制御の流れを,実線はストリームの流れを示す。
【0013】
図2は,本発明に係る映像データ符号化処理フローの一例を示す図である。まず,n=0として(ステップS1),n番目の画像領域単位を符号化して,そのピクチャデータを第1バッファ13に送り,符号量またはその符号量と付加的情報とを抽出したユーザデータを第2バッファ14に送る(ステップS2)。
【0014】
次に,ピクチャデータとユーザデータを出力してよいかの判断を行う(ステップS3)。今後符号化する画像領域単位とストリームの位置が逆転することがない場合,データを出力してよいと判断する。出力してよい場合には,各バッファ中のピクチャデータとユーザデータを出力してバッファをクリアする(ステップS4)。出力不可の場合には,ステップS5に移行する。
【0015】
ステップS5では,符号化すべき画像の最後かを判断し,符号化すべき画像の最後である場合には処理を終了し,符号化すべき画像が残っている場合には,nを1インクリメントして(ステップS6),ステップS2に戻る。
【0016】
図3は,本発明に係る映像データ復号装置の構成の一例を示す図である。図3において,2は映像データ復号装置,21は符号化されたビットストリームを入力するストリーム入力部,22は入力されたビットストリームを復号する復号部,23は復号された画像領域単位のピクチャデータが記憶される第3バッファ,24は復号された画像領域単位のユーザデータである符号量またはその符号量と付加的情報とが記憶される第4バッファ,25は復号されたビットストリームを出力するストリーム出力部,26はビットストリーム復号中のエラー検出を行うとともに,エラーが検出された場合に,第4バッファ24に記憶されたユーザデータ(符号量,付加的情報)に基づいて,次の画像領域単位の復号を復号部22に行わせる復号制御部である。また,図3中,点線は制御の流れを,実線はストリームの流れを示す。
【0017】
図4は,本発明に係る映像データ復号処理フローの一例を示す図である。まず,n=0として(ステップS11),n番目の画像領域単位を復号し,その復号したピクチャデータを第3バッファ23に送り,ユーザデータを復号した符号量またはその符号量と付加的情報とを第4バッファ24に送る(ステップS12)。
【0018】
ステップS12におけるn番目の画像領域単位を復号中にエラーを生じたかを判断する(ステップS13)。すなわち,解釈不能あるいは矛盾を生じるビットストリームを受信したかを判断する。エラーを生じていない場合には,第3バッファ23の映像を表示した後,第3バッファ23をクリアして第4バッファ24を更新する(ステップS14)。復号中にエラーを生じた場合には,第4バッファ24中の情報からn+1番目の画像領域単位を復号するための情報を抽出して第4バッファ24を更新する(ステップS15)。
【0019】
復号すべき画像の最後かを判断し(ステップS16),復号すべき画像の最後である場合には処理を終了し,復号すべき画像が残っている場合には,nを1インクリメントして(ステップS17),ステップS12に戻る。
【0020】
以上の映像データ符号化装置1および映像データ復号装置2による処理は,ハードウェアによっても実現できるが,コンピュータとソフトウェアプログラムとによっても実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも,ネットワークを通して提供することも可能である。
【0021】
[第1の実施の形態]
以下に,本発明の実施例を説明する前に,本発明に関連する技術である第1の実施の形態について,MPEG−2で符号化された映像を例に,具体的に説明する。この第1の実施の形態では,可変長符号化されている画像領域単位毎の符号量を,ユーザデータとしてビットストリーム中に挿入する。
【0022】
MPEG−2映像符号化では,ユーザデータをビットストリーム中の以下の場所に挿入できる。
(1) sequence _extension() の直後
(2) group_of_pictures_header()の直後
(3) picture_coding_extension() の直後
例えば,図5は,ユーザデータ(user_data)をビットストリーム中の picture_coding_extension() の直後に挿入した場合の例である。
【0023】
マクロブロックにおけるビットの上限数は,chroma format が4:2:0,4:2:2,4:4:4のとき,それぞれ4608,6144,9216である。しかし,マクロブロックの各水平列にあるマクロブロック2つまでは,この数を上回ることができる。
【0024】
chroma format が4:2:2以下の場合には,マクロブロックあたりのビット数は13ビットで表現できる(213=8192)。また,ユーザデータは23個またはそれ以上の連続した“0”のビット列を含んではならない。
【0025】
以上の第1の実施の形態は,MPEG−2映像符号化において,画像領域単位を単一のマクロブロックとした場合の例である。ここで,本実施の形態における画像領域単位の符号量は,0ビット以上33562617(=225+213−7)ビット以下とする。フレームを構成する全ての画像領域単位について,符号化する順番に各画像領域単位(=マクロブロック)の符号量を以下のようにして符号化する。図6に,符号化されたマクロブロックの符号量をユーザデータとした場合の例を示す。
【0026】
(1) マクロブロックの符号量が0ビット以上8186(=213−6)ビット以下の場合には,図6(A)に示すように,「(マクロブロックの符号量+4)の値(13ビット)」を13ビットで符号化する。
【0027】
(2) 画像領域単位の符号量が8187(=213−5)ビット以上33562617ビット(=225+213−7)以下の場合には,図6(B)に示すように,「1FFF(13ビット)」,「(マクロブロックの符号量−213+5)の値を25ビットで表したときの上位22ビット」,「1(1ビット)」,「(マクロブロックの符号量−213+5)の値を25ビットで表したときの下位3ビット」の順に39ビットで符号化する。なお,上記1FFFは,16進数で表したビット値であり,以下の説明でもビット値は16進数で表す。
【0028】
マクロブロックの符号量が0ビット以上8186ビット以下の場合に「マクロブロックの符号量+4の値(13ビット)」を符号化する理由は,この13ビットの上位11ビットのいずれかに“1”を含ませるためである。これにより,この13ビットに先行する13ビットの下位12ビットが全てゼロであっても“0”が23個以上連続することを防ぐことができる。
【0029】
ここで,各フレームは68個のスライスから構成され,各スライスは120個のマクロブロックから構成されており,かつ全てのマクロブロックの符号量が0ビット以上8186ビット以下であると仮定すると,本実施の形態における映像データ符号化方法でフレーム内の全てのマクロブロックの符号量を表すには,13ビット×120×68=106080ビットだけ必要とするため,これを本実施の形態におけるユーザデータとする。
【0030】
そして,当該フレームのpicture _coding_extension() の直後に32ビットのユーザデータスタートコード(000001B2)と上記ユーザデータを挿入する。本実施の形態では,ピクチャ毎にユーザデータスタートコードを含めて106112ビット必要とすることから,フレーム周波数が29.97(=30000/1001)Hzの場合には,約3.18×106 ビット/秒の符号量となる。
【0031】
[第2の実施の形態]
本発明の第2の実施の形態は,ユーザデータとしてビットストリーム中に挿入する付加的情報がマクロブロック数の場合の例であり,可変長符号化されている画像領域単位毎の符号量およびマクロブロック数を,ユーザデータとして挿入する。また,本実施の形態は,MPEG−2映像符号化において,画像領域単位を「1つまたは連続した複数のマクロブロック」とした場合の例である。
【0032】
これにより,第1の実施の形態に比較して,ユーザデータの符号量を削減することができる。すなわち,本実施の形態では,フレーム内の各スライスを1つまたは連続した複数のマクロブロック単位で分割し,分割された各画像領域を画像領域単位とする。
【0033】
ここで,第2の実施の形態における画像領域単位については,以下の(a) 〜(d) について,「(a) かつ(b) かつ((c) または(d) )」を満たすものとする。(a) 画像領域単位を構成するマクロブロックの数は,1個以上1114108(=220+216−4)個以下である。
(b) 画像領域単位の符号量は,0ビット以上1114108(=220+216−4)ビット以下である。
(c) 画像領域単位を構成するマクロブロックのうち,最後のマクロブロックはスキップマクロブロックではない。
(d) 画像領域単位を構成する全てのマクロブロックはスキップマクロブロックである。
【0034】
フレームを構成する全ての画像領域単位について,符号化する順番に各画像領域単位の符号量を以下のようにして符号化する。図7に,符号化された画像領域単位の符号量とマクロブロック数をユーザデータとした場合の例を示す。
【0035】
(1) 画像領域単位を構成するマクロブロックの数が14個以下で,かつ画像領域単位の符号量が65534(=216−2)ビット以下の場合には,図7(A)に示すように,「その画像領域単位を構成するマクロブロック数(4ビット)」,「画像領域単位の符号量の値(16ビット)」の順に20ビットで符号化する。
【0036】
(2) 画像領域単位を構成するマクロブロックの数が14個以下で,かつ画像領域単位の符号量が65535(=216−1)ビット以上1114108(=220+216−4)ビット以下の場合には,図7(B)に示すように,「その画像領域単位を構成するマクロブロック数(4ビット)」,「FFFF(16ビット)」,「(画像領域単位の符号量−216+2)の値(20ビット)」の順に40ビットで符号化する。
【0037】
(3) 画像領域単位を構成するマクロブロックの数が15個以上1114108(=219+13)個以下で,かつ画像領域単位の符号量が65534(=216−2)ビット以下の場合には,図7(C)に示すように,「F(4ビット)」,「(画像領域単位を構成するマクロブロックの数−15)の値(19ビット)」,「1(1ビット)」,「画像領域単位の符号量の値(16ビット)」の順に40ビットで符号化する。
【0038】
(4) 画像領域単位を構成するマクロブロックの数が15個以上1114108(=219+13)個以下で,かつ画像領域単位の符号量が65535(=216−1)ビット以上1114108(=220+216−4)ビット以下の場合には,図7(D)に示すように,「F(4ビット)」,「(画像領域単位を構成するマクロブロックの数−15)の値(19ビット)」,「1FFFF(17ビット)」,「(画像領域単位の符号量−216+2)の値(20ビット)」の順に60ビットで符号化する。
【0039】
例えば,画像領域単位の「マクロブロック数」と「そのマクロブロック数全体の符号量」の組がスライスの先頭から順に(10,5367),(11,45366),(3,65537),(15,0),(12,5867)であった場合,画像領域単位毎の符号量は16進数表示でA14F7 BB136 3FFFF00003F000010000 C16EBのように符号化される。(10,5367,11,45366,12,5867を16進数表示するとそれぞれA,14F7,B,B136,C,16EBとなる。)
ここで,各フレームは68個のスライスから構成され,1スライスあたり平均12個の画像領域単位で構成されており,画像領域単位を構成するマクロブロックの数が14個以下で,かつ全ての画像領域単位の符号量が0ビット以上65535ビット以下であると仮定すると,本発明の第2の実施の形態における映像データ符号化方法でフレーム内の全ての画像領域単位の符号量を表すには,20ビット×12×68=16320ビットだけ必要とするため,これを本実施の形態におけるユーザデータとする。
【0040】
この符号化結果から,当該フレームの picture_coding_extension() の直後に32ビットのユーザデータスタートコード(000001B2)と上記ユーザデータを挿入する。
【0041】
本発明の第2の実施の形態では,フレーム毎にユーザデータスタートコードを含めて16358ビット必要とすることから,フレーム周波数が29.97(=30000/1001)Hzの場合には,約490×103 ビット/秒の符号量となる。
【0042】
[第3の実施の形態]
本発明の第3の実施の形態は,第2の実施の形態と同様に,可変長符号化されている画像領域単位毎の符号量およびマクロブロック数を,ユーザデータとして挿入する。本発明の第3の実施の形態は,MPEG−4映像符号化において,画像領域単位を「1つまたは連続した複数のマクロブロック」とした場合の例である。
【0043】
MPEG−4映像符号化では,ユーザデータをビットストリーム中の以下の場所に挿入できる。
(1) profile_and _level _indecation()の直後
(2) visual _object_type()の直後
(3) Group_of_VideoObjectPlane()の直前
(4) Group_of_VideoObjectPlane()がない場合にはVideoObjectPlane()の直前
(5) Group_of_VideoObjectPlane()中のbroken_linkの直後
ユーザデータは,23個またはそれ以上の連続した“0”のビット列を含んではならない。
【0044】
本実施の形態では,上記(3) の「 Group_of_VideoObjectPlane()の直前」にユーザデータを挿入する。また,本実施の形態では,Group _of_VideoObjectPlane内の各VideoObjectPlaneを1つまたは連続した複数のマクロブロック単位で分割し,分割された各画像領域を画像領域単位とする。
【0045】
ここで,本実施の形態における画像領域単位については,以下の(a) 〜(e) について,「(a) かつ(b) かつ(c) かつ((d) または(e) )」を満たすものとする。
(a) 画像領域単位を構成するマクロブロックの数は,1個以上131085(=217+13)個以下である。
(b) 画像領域単位の符号量が0ビット以上1114108(=220+216−4)ビット以下である。
(c) 画像領域単位を構成するマクロブロックは,同一のVideoObjectPlane内にある。
(d) 画像領域単位を構成するマクロブロックのうち,最後のマクロブロックはスキップマクロブロックではない。
(e) 画像領域単位を構成する全てのマクロブロックは,スキップマクロブロックである。
【0046】
Group _of_VideoObjectPlaneを構成する全ての画像領域単位について,符号化する順番に各画像領域単位の符号量を以下のようにして符号化する。図8に,本実施の形態において符号化された画像領域単位の符号量とマクロブロック数をユーザデータとした場合の例を示す。
【0047】
(1) 画像領域単位を構成するマクロブロックの数が14個以下で,かつ画像領域単位の符号量が16382(=214−2)ビット以下の場合には,図8(A)に示すように,「その画像領域単位を構成するマクロブロック数(4ビット)」,「画像領域単位の符号量の値(14ビット)」の順に18ビットで符号化する。
【0048】
(2) 画像領域単位を構成するマクロブロックの数が14個以下で,かつ画像領域単位の符号量が16383(=214−1)ビット以上278525(=218+214−3)ビット以下の場合には,図8(B)に示すように,「その画像領域単位を構成するマクロブロック数(4ビット)」,「3FFF(14ビット)」,「(画像領域単位の符号量−214+1)の値(18ビット)」の順に36ビットで符号化する。
【0049】
(3) 画像領域単位を構成するマクロブロックの数が15個以上131085(=217+13)個以下で,かつ画像領域単位の符号量が16382(=214−2)ビット以下の場合には,図8(C)に示すように,「F(4ビット)」,「(画像領域単位を構成するマクロブロックの数−15)の値(17ビット)」,「1(1ビット)」,「画像領域単位の符号量の値(14ビット)」の順に36ビットで符号化する。
【0050】
(4) 画像領域単位を構成するマクロブロックの数が15個以上131085(=217+13)個以下で,かつ画像領域単位の符号量が16383(=214−1)ビット以上278525(218+214−3)ビット以下の場合には,図8(D)に示すように,「F(4ビット)」,「(画像領域単位を構成するマクロブロックの数−15)の値(17ビット)」,「7FFF(15ビット)」,「(画像領域単位の符号量−214+1)の値(18ビット)」の順に54ビットで符号化する。
【0051】
ここで,各VideoObjectPlaneは396(=22×18)個のマクロブロックから構成されており,各VideoObjectPlaneは平均36個の画像領域単位で構成されており,画像領域単位を構成するマクロブロックの数が14個以下で,かつ全ての画像領域単位の符号量が0ビット以上16382ビット以下であると仮定すると,第3の実施の形態における映像データ符号化方法でVideoObjectPlane内の全ての画像領域単位の符号量を表すには,18ビット×36=648ビットだけ必要とする。
【0052】
さらに,Group _of_VideoObjectPlaneは15個のVideoObjectPlaneからなるとすると,これを第3の実施の形態におけるユーザデータとする。当該 Group_of_VideoObjectPlaneのGroup _of_VideoObjectPlane()の直前に32ビットのユーザデータスタートコード(000001B2)と9720(=648×15)ビットのユーザデータを挿入する。
【0053】
本発明の第3の実施の形態では,Group _of_VideoObjectPlane毎にユーザデータスタートコードを含めて9752ビット必要とすることから,フレーム周波数が30Hzの場合には,約19.5×103 ビット/秒の符号量となる。
【0054】
[第4の実施の形態]
本発明の第4の実施の形態は,MPEG−2映像符号化において,画像領域単位を「1つまたは連続した複数のマクロブロック」とし,かつ画像領域単位毎の符号量に加えて付加的情報をユーザデータとして符号化する場合の例であり,特に,ユーザデータとしてビットストリーム中に挿入する付加的情報が,マクロブロック数,DC係数予測値,量子化スケールコード,動きベクトルの予測値の場合の例である。
【0055】
本実施の形態では,第2の実施の形態と同様に,フレーム内の各スライスを1つまたは連続した複数のマクロブロック単位で分割し,分割された各画像領域を画像領域単位とする。
【0056】
ここで本実施の形態における画像領域単位については,第2の実施の形態と同様に,以下の(a) 〜(d) について,「(a) かつ(b) かつ((c) または(d) )」を満たすものとする。
(a) 画像領域単位を構成するマクロブロックの数は,1個以上1114108(=220+216−4)個以下である。
(b) 画像領域単位の符号量は,0ビット以上1114108(=220+216−4)ビット以下である。
(c) 画像領域単位を構成するマクロブロックのうち,最後のマクロブロックはスキップマクロブロックではない。
(d) 画像領域単位を構成する全てのマクロブロックは,スキップマクロブロックである。
【0057】
フレームを構成する全ての画像領域単位について,符号化する順番に各画像領域単位の符号量を以下のようにして符号化する。図9に,本実施の形態において符号化された画像領域単位の符号量とマクロブロック数をユーザデータとした場合の例を示す。
【0058】
(1) 画像領域単位を構成するマクロブロックの数が14個以下で,かつ画像領域単位の符号量が65534(=216−2)ビット以下の場合には,図9(A)に示すように,「その画像領域単位を構成するマクロブロック数(4ビット)」,「画像領域単位の符号量の値(16ビット)」,「マクロブロック数以外の付加的情報」の順に符号化する。
【0059】
(2) 画像領域単位を構成するマクロブロックの数が14個以下で,かつ画像領域単位の符号量が65535(=216−1)ビット以上1114108(=220+216−4)ビット以下の場合には,図9(B)に示すように,「その画像領域単位を構成するマクロブロック数(4ビット)」,「FFFF(16ビット)」,「(画像領域単位の符号量−216+2)の値(20ビット)」,マクロブロック数以外の「付加的情報」の順に符号化する。
【0060】
(3) 画像領域単位を構成するマクロブロックの数が15個以上1114108(=219+13)個以下で,かつ画像領域単位の符号量が65534(=216−2)ビット以下の場合には,図9(C)に示すように,「F(4ビット)」,「(画像領域単位を構成するマクロブロックの数−15)の値(19ビット)」,「1(1ビット)」,「画像領域単位の符号量の値(16ビット)」,マクロブロック数以外の「付加的情報」の順に符号化する。
【0061】
(4) 画像領域単位を構成するマクロブロックの数が15個以上1114108(=219+13)個以下で,かつ画像領域単位の符号量が65535(=216−1)ビット以上1114108(220+216−4)ビット以下の場合には,図9(D)に示すように,「F(4ビット)」,「(画像領域単位を構成するマクロブロックの数−15)の値(19ビット)」,「1FFFF(17ビット)」,「(画像領域単位の符号量−216+2)の値(20ビット)」,マクロブロック数以外の「付加的情報」の順に符号化する。
【0062】
ここで上記「マクロブロック数以外の付加的情報」とは,画像領域単位の最後のマクロブロックを符号化した直後における「DC係数予測値((intra_dc_precision+8)ビット)」,「 quantiser_scale _code(5ビット)」,「mv[0][0][0]((f code+4)ビット) 」,「mv[0][0][1]((f code+4)ビット) 」,「mv[0][1][0]((f code+4)ビット) 」,「mv[0][1][1]((f code+4)ビット) 」,「mv[1][0][0]((f code+4)ビット) 」,「mv[1][0][1]((f code+4)ビット) 」,「mv[1][1][0]((f code+4)ビット) 」,「mv[1][1][1]((f code+4)ビット) 」である。
【0063】
なお, quantiser_scale _codeは量子化スケールコード,mvは動きベクトルの予測値であり,mv[r][s][t] におけるインデックスの意味は,r:マクロブロックにおける最初のベクトル(0)か第二のベクトル(1)か,s:前方向(0)か後方向(1)か,t:水平成分(0)か垂直成分(1)かである。
【0064】
[第5の実施の形態]
本発明の第5の実施の形態は,本発明の第4の実施の形態における映像データ符号化方法で符号化された符号化データを復号する過程で,ある画像領域単位を復号中にエラーを検出した場合の例である。図10は,本発明の第5の実施の形態における復号時のエラー処理の例を示す図である。
【0065】
図10に示すように,第一の画像領域単位を復号中にシンタックスその他に起因するエラーが発生して復号できない事象が生じたとする。その場合,第5の実施の形態では,ユーザデータに符号化されている第一の画像領域単位の符号量および付加的情報に基づき,第一の画像領域単位に相当するデータの次のビットから第二の画像領域単位を復号する。
【0066】
第二の画像領域単位がスライス上のどの位置に相当するかは,ユーザデータに符号化されている,同一スライス内にあり,かつ第二の画像領域単位より前に符号化されている画像領域単位を構成するマクロブロック数の和から判断できる。第二の画像領域単位の先頭のマクロブロックのDC係数,動きベクトル,量子化スケールを復号する際の予測値としては,ユーザデータに符号化されている,第一の画像領域単位の付加的情報を用いる。
【0067】
この映像データ復号方法により,第二の画像領域単位以降の復号が可能になり,エラーの影響を少なくすることができる。
【0068】
第5の実施の形態では,第4の実施の形態に係る映像データ符号化方法で符号化された符号化データを復号する過程でエラーを検出した場合の例について述べたが,付加的情報がユーザデータに符号化されていない前記第1,第2,第3の実施の形態の場合であっても,第一の画像領域単位に関するエラーが発生する以前の復号結果を可能な限り保持することにより,あるいはエラーが発生する直前の予測値を用いることにより,第二の画像領域単位を不完全ながら復号し,エラーの影響を少なくすることができる。
【0069】
本発明の第5の実施の形態の応用として,画像領域単位の最後のマクロブロックがイントラ符号化されている場合には,動きベクトル予測値がリセットされているので,ユーザデータに画像領域単位あたり1ビットフラグを追加する代わりにmv[r][s][t] のユーザデータへの符号化を省略することができる。
【0070】
第5の実施の形態において,例えば次のように本発明を実施することもできる。符号化側において,事前にまたは符号化の際に符号化対象の映像データを解析して,人物の顔などの重要な画像部分と背景などのそれほど重要ではない部分を判別し,重要な画像部分については画像領域単位を小さくし,重要でない部分は画像領域単位を大きくしてユーザデータを作成し,ビットストリームに挿入する。こうすれば,重要でない画像部分についてユーザデータのデータ量を少なくし,かつエラーが生じた際の影響を少なくすることができる。
【0071】
また,第5の実施の形態は,ある画像領域単位を復号中にエラーを検出した場合の例であるが,エラーを検出しない場合でも,重要な画像領域単位のみを復号する場合に,この映像データ復号方法を用いて,特定の一つ以上の画像領域単位のみを復号することができる。復号側において,重要な画像領域単位であるか,あまり重要でない画像領域単位であるかを判別する方法として,例えば符号化側で作成したビットストリーム中のユーザデータにおいて,画像領域単位が小さいか大きいかによって判別する方法を用いることができる。
【0072】
[第6の実施の形態]
本発明の第6の実施の形態は,本発明の第4の実施の形態に係る映像データ符号化方法で符号化された符号化データを復号する過程で,第一の画像領域単位を復号中に第一のエラーを検出した場合に,ユーザデータに符号化されている第一の画像領域単位の符号量および付加的情報に基づき,第一の画像領域単位に相当するデータの次のビットから第二の画像領域単位を復号し,かつ第二の画像領域単位を復号する過程で第二のエラーを検出した場合の例である。
【0073】
図11は,本発明の第6の実施の形態における復号時のエラー処理の例を示す図である。図11に示すように,第一の画像領域単位を復号中にシンタックスその他に起因する第一のエラーが発生して復号できない事象が生じたとする。その場合,ユーザデータに符号化されている第一の画像領域単位の符号量および付加的情報に基づき,第一の画像領域単位に相当するデータの次のビットから第二の画像領域単位を復号する。
【0074】
しかし,第二の画像領域単位を復号する過程でシンタックスその他に起因する第二のエラーが発生して復号できない事象が生じたとする。この場合,第一の画像領域単位において,余分なビットが加わったか必要なビットが欠落し,第一の画像領域単位と第二の画像領域単位の境界が正しく認識できなくなったということが想定される。そこで,以下の手順で復号する。
【0075】
(1) 「(第一の画像領域単位に相当するデータ)+1ビット」の次のビットから第二の画像領域単位を復号する。
【0076】
(2) 上記 (1)で第二の画像領域単位が正しく復号できた場合には,以後の復号を継続する。エラー処理は終わる。
【0077】
(3) 上記 (1)で第二の画像領域単位を復号中にシンタックスその他に起因するエラーが生じた場合には,「(第一の画像領域単位に相当するデータ)−1ビット」の次のビットから第二の画像領域単位を復号する。
【0078】
(4) 上記 (3)で第二の画像領域単位が正しく復号できた場合には,以後の復号を継続する。エラー処理は終わる。
【0079】
(5) 上記 (3)で第二の画像領域単位を復号中にシンタックスその他に起因するエラーが生じた場合には,「(第一の画像領域単位に相当するデータ)+(第二の画像領域単位に相当するデータ)」の次のビットから第三の画像領域単位を復号する。
【0080】
この第6の実施の形態では,「(第一の画像領域単位に相当するデータ)+xビット」の次のビットから第二の画像領域単位を復号するとしたときのxを+1と−1としたが,本発明においては,このxとして0を含む任意の範囲の整数値を指定して,その範囲内で絶対値が0に近い順に復号を試みてもよいことはいうまでもない。
【0081】
【発明の効果】
以上述べたように,本発明によれば,ディジタル映像データをネットワークで送受信する際に通信路その他でエラーが生じた場合に,そのエラーによって復号できない情報を少なくして,エラーの影響をより限定することができる。
【図面の簡単な説明】
【図1】映像データ符号化装置の構成の一例を示す図である。
【図2】映像データ符号化処理フローの一例を示す図である。
【図3】映像データ復号装置の構成の一例を示す図である。
【図4】映像データ復号処理フローの一例を示す図である。
【図5】ビットストリームへのユーザデータの挿入の一例を示す図である。
【図6】ユーザデータの例を示す図である。
【図7】ユーザデータの例を示す図である。
【図8】ユーザデータの例を示す図である。
【図9】ユーザデータの例を示す図である。
【図10】復号時のエラー処理の例を示す図である。
【図11】復号時のエラー処理の例を示す図である。
【符号の説明】
1 映像データ符号化装置
11 ストリーム入力部
12 符号化部
13 第1バッファ
14 第2バッファ
15 ストリーム出力部
16 符号化制御部
2 映像データ復号装置
21 ストリーム入力部
22 復号部
23 第3バッファ
24 第4バッファ
25 ストリーム出力部
26 復号制御部
Claims (11)
- 可変長符号化を利用し,かつユーザデータの利用が可能な符号化方式を用いて映像データを符号化する映像データ符号化方法において,
符号化対象の映像データを可変長符号化する過程と,
可変長符号化された1つまたは連続した複数のマクロブロックからなる画像領域単位であって,その画像領域単位を構成するマクロブロックの数が可変である画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量を,ユーザデータとして符号化して符号化結果のビットストリームに挿入する過程とを有する
ことを特徴とする映像データ符号化方法。 - 請求項1記載の映像データ符号化方法を用いて符号化された映像データを復号する映像データ復号方法において,
前記ユーザデータとして符号化されている画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量を復号する過程と,
前記復号された画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量に基づき,復号対象のビットストリームにおける特定の1つ以上の画像領域単位の映像データの符号化ビット位置を算出し,その映像データのみを復号する過程を有する
ことを特徴とする映像データ復号方法。 - 請求項1記載の映像データ符号化方法を用いて符号化された映像データを復号する映像データ復号方法において,
前記ユーザデータとして符号化されている画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量を復号する過程と,
復号対象の映像データを復号する過程と,
前記映像データを復号する過程で,第一の画像領域単位を復号中にエラーを検出した場合に,前記ユーザデータを復号して得られた第一の画像領域単位のマクロブロック数情報および画像領域単位毎の符号量に基づき,第一の画像領域単位に相当する映像データの次のビット位置を算出し,そのビット位置から第二の画像領域単位の映像データを復号する過程を有する
ことを特徴とする映像データ復号方法。 - 請求項1記載の映像データ符号化方法を用いて符号化された映像データを復号する映像データ復号方法において,
前記ユーザデータとして符号化されている画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量を復号する過程と,
復号対象の映像データを復号する過程と,
前記映像データを復号する過程で,第一の画像領域単位を復号中にエラーを検出した場合に,前記ユーザデータを復号して得られた第一の画像領域単位のマクロブロック数情報および画像領域単位毎の符号量に基づき,第一の画像領域単位に相当する映像データの次のビット位置を算出し,そのビット位置から第二の画像領域単位の映像データを復号する過程と,
さらに前記第二の画像領域単位を復号する過程で,第二のエラーを検出した場合に,第一の画像領域単位に相当する映像データから特定のビット数だけ先または後ろのビット位置から第二の画像領域単位の映像データを復号する過程とを有する
ことを特徴とする映像データ復号方法。 - 可変長符号化を利用し,かつユーザデータの利用が可能な符号化方式を用いて映像データを符号化する映像データ符号化装置において,
符号化対象の映像データを可変長符号化する手段と,
可変長符号化された1つまたは連続した複数のマクロブロックからなる画像領域単位であって,その画像領域単位を構成するマクロブロックの数が可変である画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量を,ユーザデータとして符号化して符号化結果のビットストリームに挿入する手段とを備える
ことを特徴とする映像データ符号化装置。 - 請求項5記載の映像データ符号化装置により符号化された映像データを復号する映像データ復号装置であって,
前記ユーザデータとして符号化されている画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量を復号する手段と,
前記復号された画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量に基づき,復号対象のビットストリームにおける特定の1つ以上の画像領域単位の映像データの符号化ビット位置を算出し,その映像データのみを復号する手段とを備える
ことを特徴とする映像データ復号装置。 - 請求項5記載の映像データ符号化装置により符号化された映像データを復号する映像データ復号装置において,
前記ユーザデータとして符号化されている画像領域単位毎のマクロブロック数情報および画像領域単位毎の符号量を復号する手段と,
復号対象の映像データを復号する手段と,
前記映像データの復号中に,ある画像領域単位でエラーを検出した場合に,前記ユーザデータを復号して得られた当該画像領域単位のマクロブロック数情報および画像領域単位毎の符号量に基づき,次に復号を開始するビットストリーム中のビット位置を決定する手段とを備える
ことを特徴とする映像データ復号装置。 - 請求項1記載の映像データ符号化方法をコンピュータに実行させるための映像データ符号化プログラム。
- 請求項2,請求項3または請求項4記載の映像データ復号方法をコンピュータに実行させるための映像データ復号プログラム。
- 請求項1記載の映像データ符号化方法をコンピュータに実行させるための映像データ符号化プログラムを記録した記録媒体。
- 請求項2,請求項3または請求項4記載の映像データ復号方法をコンピュータに実行させるための映像データ復号プログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003066214A JP3967688B2 (ja) | 2003-03-12 | 2003-03-12 | 映像データ符号化方法,映像データ復号方法,映像データ符号化装置,映像データ復号装置,映像データ符号化プログラム,映像データ復号プログラム,およびそれらのプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003066214A JP3967688B2 (ja) | 2003-03-12 | 2003-03-12 | 映像データ符号化方法,映像データ復号方法,映像データ符号化装置,映像データ復号装置,映像データ符号化プログラム,映像データ復号プログラム,およびそれらのプログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004274663A JP2004274663A (ja) | 2004-09-30 |
JP3967688B2 true JP3967688B2 (ja) | 2007-08-29 |
Family
ID=33126997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003066214A Expired - Fee Related JP3967688B2 (ja) | 2003-03-12 | 2003-03-12 | 映像データ符号化方法,映像データ復号方法,映像データ符号化装置,映像データ復号装置,映像データ符号化プログラム,映像データ復号プログラム,およびそれらのプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3967688B2 (ja) |
-
2003
- 2003-03-12 JP JP2003066214A patent/JP3967688B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004274663A (ja) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6081551A (en) | Image coding and decoding apparatus and methods thereof | |
JP5007322B2 (ja) | ビデオ符号化方法 | |
EP1656793B1 (en) | Slice layer in video codec | |
US6577682B1 (en) | Video processing system also compressing coding decision data | |
EP1781040A2 (en) | Moving picture coding and/or decoding systems | |
US20100177820A1 (en) | Video encoding device, video decoding device, video encoding method, video decoding method, video encoding or decoding program | |
JP3419042B2 (ja) | 伝送システムにおける誤りマスキング方法 | |
JPH08111867A (ja) | 動画像符号化方法及び動画像復号方法 | |
WO2003007495A1 (en) | A method and device for suspecting errors and recovering macroblock data in video coding | |
EP1468566A1 (en) | Methods and systems for encoding and decoding video data to enable random access and splicing | |
JPH08317388A (ja) | 画像信号の符号化装置及び復号装置 | |
KR20060088461A (ko) | 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치 | |
KR101044935B1 (ko) | 전송 에러가 발생한 지점을 탐지하여 바르게 디코딩된데이터를 복원하는 디코딩 방법 및 그 디코딩 장치 | |
JP2000102018A (ja) | 動画像復号方法及び装置 | |
US20090052530A1 (en) | Image data compression device, compressing method, image data decompression device, decompressing method, and recording medium | |
EP1056296A2 (en) | Decoding apparatus, decoding method, encoding apparatus, encoding method, image processing system and image processing method | |
KR100987777B1 (ko) | 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치 | |
KR101029492B1 (ko) | 코딩된 비디오 패킷 구조, 비디오 데이터 인코딩 방법, 및 복수의 인코딩된 비디오 패킷을 디코딩하는 장치 | |
JPH10262243A (ja) | 動画像圧縮符号の復号方法及び復号装置 | |
US7733954B2 (en) | Method of coding a video image stream with a view for subsequent recoding using the same type of code | |
KR20090046812A (ko) | 비디오 압축 방법 | |
US20050089102A1 (en) | Video processing | |
JP4295861B2 (ja) | トランスコーダ装置 | |
JP2002027483A (ja) | 画像符号化装置、画像復号化装置および記憶媒体 | |
JP3967688B2 (ja) | 映像データ符号化方法,映像データ復号方法,映像データ符号化装置,映像データ復号装置,映像データ符号化プログラム,映像データ復号プログラム,およびそれらのプログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070502 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070502 |
|
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: 20070529 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070531 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100608 Year of fee payment: 3 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100608 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110608 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120608 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130608 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140608 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |