【手続補正書】
【提出日】平成18年1月30日(2006.1.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
MPEGストリームにおけるピクチャ内でのスライスの順、およびスライス内でのマクロブロックの順は、マクロブロックアドレスの小さい順（画面上において、上から下、左から右）でなければならず、スライスの逆行、およびオーバラップ（二重定義）は、MPEGの規格上許されていない。ただし、スライス間のギャップは許容される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
出願人が提案している放送用および業務用機器の規格であるBetacamSX（商標）では、マクロブロックの逆行、オーバラップ、ギャップとも許されていない。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
スライスのピクチャ内の垂直位置(MB Row)はスライス層のヘッダ（SSC:Slice Start Code）に記述されており（図１２の例では、mb_row=４が記述されており）、スライスの先頭のマクロブロックの水平位置(MB Column)は、スライス層の先頭のマクロブロック層に符号化されている（図１２の例では、mb_column=１，３、または９が符号化されている）。画像（ピクチャ）内におけるマクロブロックの絶対位置（マクロブロックアドレス）は、画像の水平方向のマクロブロック数MB Width（シーケンス層のヘッダの画像サイズ(Vertical size,Horizontal size)のHorizontal sizeから計算される）を用いて、次式のように表すことができる。
マクロブロックアドレス＝((MB Row)-1)×(MB Width)＋(MB Column)
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
スライス層における先頭から２番目以降のマクロブロック層には、直前に符号化されたマクロブロックとのマクロブロックアドレスの差が記述されている（図１２の例では、網かけしたスライス層（mb_row=４の第２番目のスライス層）の３番目のマクロブロック層には差＝＋２（２番目のマクロブロックがスキップされているので、直前のマクロブロックは先頭のマクロブロックとなり、+2(=5-3)となる）が、４番目のマクロブロック層には差＝＋１(=6-5)が、それぞれ記述されている）。あるマクロブロックにマクロブロックアドレスの差として２以上が記述されていた場合、それは、直前のマクロブロックとそのマクロブロックとの間のマクロブロックがスキップされたことを意味している。ただし、スライスの先頭および末尾のマクロブロック（図１２のmb_column=2のマクロブロックとmb_column=６のマクロブロック）はスキップすることが禁止されており、また、Ｉピクチャのマクロブロックはスキップされない。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
マクロブロックを、図１３を参照してさらに詳細に説明すると、マクロブロックの冒頭には、マクロブロックヘッダとして、前述したmb_columnの値、または直前のマクロブロックとのmb_columnの差を表すmacroblock_address_increment、マクロブロックの符号化モードを表すmacroblock_type、フレームまたはフィールドの予測タイプを表すframe/field_motion_type、DCTがフレームモードかフィールドモードかを表すdct_type、マクロブロックの量子化ステップ・サイズを表すquantizer_scale_code、動きベクトルを表すmotion_vector[forward]とmotion_vector[backward]、輝度ブロックと色差ブロックのパターンを表すcoded_block_patternが記述されている。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
図１７（Ａ）に示すように、GOP層のヘッダにエラーが混入していた場合、図１７（Ｂ）に示す例では、そのGOP層のスタートコードを除く全てのデータが置換されている。図１８（Ａ）に示すように、シーケンス層のヘッダにエラーが混入していた場合、図１８（Ｂ）に示す例では、そのシーケンス層のスタートコードを除く全てのデータが置換されている。また、図１８（Ｃ）に示す例では、そのシーケンス層の全てのデータがシーケンスエンドコード(SEC)に置換されている。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
可変長復号部６１は、入力されたデータストリームを復号し、ヘッダとマクロブロックの単位に分割してメモリ６２に出力する。可変長復号部６１には、スタートコードを検出し、ヘッダを解読して、RunとLevelにまで復号できる能力が必要であるが、逆量子化を実行してDCT係数の系列まで復号する能力
は必要ない。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
マクロブロック係数系列発生部６４は、エラーマクロブロックと置換するマクロブロックの係数系列を発生する。例えば、ブラックのマクロブロックに置換する場合、イントラマクロブロックとして、輝度信号ブロックに１６、色差信号ブロックに１２８の係数系列が発生される。また、最も発生符号量が少ないグレーのマクロブロックに置換する場合、イントラマクロブロックとして、輝度信号ブロック、および色差信号ブロックに１２８の係数系列が発生される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
メモリ７２は、ヘッダ毎、およびマクロブロック毎に分割された符号系列を記憶する。マクロブロック符号系列発生部７４は、置換用マクロブロックの符号系列を発生する。例えば、ブラックやグレイのイントラマクロブロック、「MV=0,Not Coded」のＰピクチャ用マクロブロック、または「Fwd,MV=0,Not Coded」，「Interpolated,MV=0,Not Coded」のＢピクチャ用マクロブロックが予め記憶されており、可変長復号部６１から入力されるパラメータに対応して、これらの置換用マクロブロックの符号系列がスイッチ６５に供給される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
マクロブロック(MB)パッキング部７６は、スイッチ６５から入力される符号系列（メモリ７２から供給された符号系列、またはマクロブロック符号系列発生部７４から供給された符号系列）をパッキングして（８ビットごとバイトアラインして）出力する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
図２０に示した実施の形態の図１９に示した実施の形態に対する優位性は、以下の通りである。すなわち、メモリ７２（図２０）は、復号される前の、圧縮された符号系列を記憶するので、係数系列を記憶するメモリ６２よりも、その容量は小さいものでよい。ただし、マクロブロックの符号系列とともに、その符号長を記憶する必要がある。また、マクロブロック単位の符号系列のパッキングを行うだけなので、マクロブロックパッキング部７６（図２０）は、符号化を行う可変長符号化部６６（図１９）よりも、その回路の規模が小さい。マクロブロック符号系列発生部７４は、「MV=0,Not Coded」のＰピクチャ用マクロブロック、または「Fwd,MV=0,Not Coded」，「Interp,MV=0,Not Coded」のＢピクチャ用マクロブロックやスキップされるマクロブロックを供給できるので、実質上、エラーマクロブロック部分をフリーズさせて補正することもできる。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
図２１乃至図２４を参照して、Ｉピクチャ（progressive_sequence=0，chroma_format=4:2:2）内のマクロブロックを置換する具体例を説明する。図２１に示すように、マクロブロックのSlice Headerには、start_codeを示す値"00000000_00000000_00000001"、mb_rowを示す８ビットの値（ここでは、********と記載）、quantizer_scale_codeを示す５ビットの値（ここでは、*****（00000以外）と記載）、およびextra_bit_sliceを示す値"1"が記述されている。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１０２
【補正方法】変更
【補正の内容】
【０１０２】
スライスの先頭のマクロブロックには、マクロブロックヘッダとしての、macroblock_address_increment（mb_column）を示す可変長符号（ここでは、"****"と記載）、macroblock_type(=Intra)を示す値"1"、およびdct_typeを示す１ビットの値（ここでは、"*"と記載）が記述される。マクロブロックヘッダ以降には、４つの輝度ブロックのDC成分の値（DCY0乃至DCY3）と、それぞれのEOB（End Of Block）、および２種類の色差ブロックCb，CrそれぞれのDC成分の値（DCB0，DCB1，DCR0，DCR1）と、それぞれのEOB（End Of Block）が記述される。前述したように、AC成分は記述されない。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
エラーマクロブロックをブラックに置換する場合、図２１のDCY0乃至DCR1には、図２３に示す値が設定される。intra_dc_precision=０（８ビット）の場合、図２３（Ａ）に示すように、DCY0には、dct_dc_size_luminance=7とdct_dc_differential=-112を示す値”１１１１＿１０  ０００１１１１”が設定される。DCY1乃至DCR1は、図２２における場合と同様の値が設定される。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１０５
【補正方法】変更
【補正の内容】
【０１０５】
intra_dc_precision=1（９ビット）の場合、図２３（Ｂ）に示すように、DCY0には、dct_dc_size_luminance=8と、dct_dc_differential=-224を表す値”１１１１＿１１０  ０００１１１１＿１”が設定される。DCY1乃至DCR1は、図２２における場合と同一の値が設定される。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
intra_dc_precision=2（１０ビット）の場合、図２３（Ｃ）に示すように、DCY0は、dct_dc_size_luminance=9と、dct_dc_differential=-448を表す値”１１１１＿１１１０  ０００１１１１＿１１”が設定される。DCY1乃至DCR1は、図２２における場合と同一の値が設定される。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０１０７
【補正方法】変更
【補正の内容】
【０１０７】
さらに、intra_dc_precision=3（１１ビット）の場合、図２３（Ｄ）に示すように、DCY0には、dct_dc_size_luminance=10と、dct_dc_differential=-896を表す値”１１１１＿１１１＿０  ０００１１１１＿１１１”が設定される。DCY1乃至DCR1は、図２２における場合と同一の値が設定される。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
すなわち、intra_dc_precision=0（８ビット）の場合、図２７（Ａ）に示すように、DCY0に、値”１１１１＿１０  ０００１１１”が設定され、DCB0，DCR0には、値”００”が設定される。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】０１１３
【補正方法】変更
【補正の内容】
【０１１３】
intra_dc_precision=1（９ビット）の場合、図２７（Ｂ）に示すように、DCY0に、値”１１１１＿１１０  ０００１１１１＿１”が設定され、DCB0，DCR0には、値”００”が設定される。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】０１１４
【補正方法】変更
【補正の内容】
【０１１４】
intra_dc_precision=2（１０ビット）の場合、図２７（Ｃ）に示すように、DCY0に、値”１１１１＿１１１０  ０００１１１１＿１１”が設定され、DCB0，DCR0には、値”００”が設定される。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】０１１５
【補正方法】変更
【補正の内容】
【０１１５】
intra_dc_precision=3（１１ビット）の場合、図２７（Ｄ）に示すように、DCY0に、値”１１１１＿１１１１＿０  ０００１１１１＿１１”が設定され、DCB0，DCR0には、値”００”が設定される。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】０１１７
【補正方法】変更
【補正の内容】
【０１１７】
Ｐピクチャ内のマクロブロックの値をホールドする場合には、図２９に示すように、macroblock_typeとして「MV,Not Coded」を示す値”００１”が設定される。この他、必要に応じてframe/field_motion_type，motion_vertical_field_select[0][0]，motion_vector(field0,forward)，motion_vertical_field_select[1][0]，motion_vector(field1,forward)の値が、motion_vector=(0,0)となるよう所定の値に適宜設定される。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
上述したように、この所定のマクロブロックとして、ブラックの（輝度信号が１６であり、色差信号が１２８である）マクロブロック、発生する符号量が最も少ないグレイの（輝度信号、および色差信号が１２８である）マクロブロック、または平坦な図柄のマクロブロックを利用することができる。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】０１２３
【補正方法】変更
【補正の内容】
【０１２３】
例えば、Ｉピクチャ内のマクロブロックを置換する場合、図３０に示すように、同一ピクチャ内の周辺のブロックから、そのDC成分を推測してマクロブロックを生成することができる。各ブロックでは、DC成分とEOBのみが符号化され、DC成分以外のDCT係数は必要ない。
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】０１２５
【補正方法】変更
【補正の内容】
【０１２５】
図３０を横方向に具体的に説明すると、図３０（Ａ）は、エラーのない直前のマクロブロックを参照する方法を示しており、この方法の場合、参照データとして、直前のマクロブロックのDC成分を記憶しておく必要がある。
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】０１２６
【補正方法】変更
【補正の内容】
【０１２６】
図３０（Ｂ）は、エラーのない直前のマクロブロックと真上のマクロブロックを参照する方法を示しており、この方法の場合、その参照の比率は、ともに１／２づつ、または直前を３／４，真上を１／４などとすることができる。この場合、参照データとして、真上のマクロブロックから直前のマクロブロックまで１列分のDC成分を記憶しておく必要がある。
【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
図３０（Ｃ）は、エラーのない直前のマクロブロック、真上のマクロブロック、および直下のマクロブロックを参照する方法を示しており、その参照の比率は、図３０（Ｂ）の場合と同様、種々の比率とすることができる。この場合、参照データとして、真上のマクロブロックから直下のマクロブロックまで２列分のDC成分を記憶しておく必要がある。さらにこの場合、真下のマクロブロックを参照するため、置換マクロブロックを生成するのに、MB Width分の遅延が伴う。
【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】０１２９
【補正方法】変更
【補正の内容】
【０１２９】
ＢピクチャとＰピクチャ内のマクロブロックを置換する場合、図３１に示すように、動画像が時間方向に強い相関性を持っていることを利用して、マクロブロックを作成することができる。Ｐピクチャ内のエラーマクロブロックは、「MC（動き補償予測），MV（動きベクトル）＝0，Not Coded」の符号系列で置換する。この方法で置換すると、図３１（Ａ）に示すように、このエラーマクロブロックは、前方直近のＩピクチャの同一位置のマクロブロックと同じ図柄に復号される。ここで、動きベクトルがない(MV=0)にも関わらず、「No MC」ではなく、「MC」を使用する（動き補償を行う）のは、「No MC，Not Coded」がMPEGに定義されていないためである。
【手続補正２９】
【補正対象書類名】明細書
【補正対象項目名】０１３０
【補正方法】変更
【補正の内容】
【０１３０】
また、図３１（Ｂ）に示すように、Ｐピクチャ内のエラーマクロブロックをスキップするようにしても、図３１（Ａ）と同様の効果を得ることができる。Ｐピクチャにおいてスキップされたマクロブロックは、「MV＝0，Not Coded」として、すなわち、実質的に、「No MC，Not Coded」として処理されるからである。
【手続補正３０】
【補正対象書類名】明細書
【補正対象項目名】０１３１
【補正方法】変更
【補正の内容】
【０１３１】
Ｂピクチャ内のエラーマクロブロックは、「Fwd，MV=0，Not Coded」、または「Interpolated，MV=0，Not Coded」の符号系列で置換される。「Fwd，MV=0，Not Coded」の場合、図３１（Ａ）の２枚目の（Ｐピクチャの左側の）Ｂピクチャに示すように、直前のＩピクチャと同じ図柄（前値ホールド、フリーズ）となり、「Interpolated，MV=0，Not Coded」の場合、図３１（Ａ）の１枚目の（Ｉピクチャの右側の）Ｂピクチャに示すように、参照画像（前のＩピクチャと後のＰピクチャ）の平均値の図柄（クロスフェード）となる。
【手続補正３１】
【補正対象書類名】明細書
【補正対象項目名】０１３２
【補正方法】変更
【補正の内容】
【０１３２】
また、Ｂピクチャ内のエラーマクロブロックをスキップすると、図３１（Ｂ）に示すように、Ｂピクチャのスキップされたマクロブロックは、直前のマクロブロックと同じ動き補償（予測方向（Forward、Backward、Interpolated）と動きベクトルが同じ）を行った後、”Not Coded”として処理される。
【手続補正３２】
【補正対象書類名】明細書
【補正対象項目名】０１３６
【補正方法】変更
【補正の内容】
【０１３６】
エラーマクロブロックをスキップすると、総符号長を短く抑えることができる。エラーマクロブロックをスキップして、できる限り少ないデータでエラーマクロブロックを置換し、符号長の不足分をスタッフィングして、もとのデータ長と揃えることが望ましい。ただし、スライスの最終マクロブロックをスキップすることは、MPEG規定により禁じられている。
【手続補正３３】
【補正対象書類名】明細書
【補正対象項目名】０１３８
【補正方法】変更
【補正の内容】
【０１３８】
簡易復号器８１は、図１のMPEG変換部１１からのMPEG STREAM（入力符号系列）を復号し、ヘッダとマクロブロックの単位まで分割する。簡易復号器８１は、抽出したマクロブロック長をメモリ８３に出力するとともに、マクロブロックのDC成分を復号して、メモリ８４に出力する。また、簡易復号器８１は、マクロブロックアドレスとそれぞれのヘッダに含まれる各種のパラメータを抽出し、修正MB選択器８５およびMB符号系列発生器８６に出力する。
【手続補正３４】
【補正対象書類名】明細書
【補正対象項目名】０１４６
【補正方法】変更
【補正の内容】
【０１４６】
修正MB選択器６５は、MPEG STREAM（入力符号系列）中の異常区間を判定し、
その区間に対応する信号を、MB符号系列発生器８６に供給する。MB符号系列発生器８６は、メモリ８４からの過去のDC成分などから最適な置換符号系列とそのマクロブロック長を生成し、スイッチ８７とスイッチ８９にそれぞれ出力する。スイッチ８７，８９は、修正MB選択器８５からの制御信号に基づき、MB符号系列発生器８６からの置換符号系列とそのマクロブロック長を選択し、MBパッキング部８８に出力する。MBパッキング部８８は、入力された符号系列を、マクロブロック長に応じてパッキングし、シリアルデータ出力部１５（図１）に出力する。
【手続補正３５】
【補正対象書類名】図面
【補正対象項目名】図１８
【補正方法】変更
【補正の内容】
【図１８】
2000236522.tif 000001
【手続補正３６】
【補正対象書類名】図面
【補正対象項目名】図２１
【補正方法】変更
【補正の内容】
【図２１】
2000236522.tif 000002
【手続補正３７】
【補正対象書類名】図面
【補正対象項目名】図２３
【補正方法】変更
【補正の内容】
【図２３】
2000236522.tif 000003
【手続補正３８】
【補正対象書類名】図面
【補正対象項目名】図２４
【補正方法】変更
【補正の内容】
【図２４】
2000236522.tif 000004
【手続補正３９】
【補正対象書類名】図面
【補正対象項目名】図２５
【補正方法】変更
【補正の内容】
【図２５】
2000236522.tif 000005
【手続補正４０】
【補正対象書類名】図面
【補正対象項目名】図２６
【補正方法】変更
【補正の内容】
【図２６】
2000236522.tif 000006
【手続補正４１】
【補正対象書類名】図面
【補正対象項目名】図２７
【補正方法】変更
【補正の内容】
【図２７】
2000236522.tif 000007
【手続補正４２】
【補正対象書類名】図面
【補正対象項目名】図２８
【補正方法】変更
【補正の内容】
【図２８】
2000236522.tif 000008