(57)【要約】【課題】動き補償や基準画像再構築のないビットレート削減の単純化されたアーキテクチャに起因する画像品質の劣化を低下させる。【解決手段】現在のマクロブロックが「スキップされるマクロブロック」モードに従って符号化されたものであり、かつこのマクロブロックの少なくとも一つの補正された係数ブロックが0でないまたは所定の閾値より大きな係数をもつ場合、該マクロブロックの符号化モードが「スキップされるマクロブロック」以外のモードに修正され（５０）、このモードおよび係数の値を指定するためにデータ・ストリームのデータが修正または追加される（５０）ことを特徴とする、方法。【選択図】図５
2008206151.tif 000002
【特許請求の範囲】
【請求項１】
第一の量子化きざみに基づいて係数ブロックを逆量子化（４１）し、次いで第二の量子化きざみに基づいてブロックを再量子化（４３）することによって、第一の符号化されたビデオ・データ・ストリームを第二のストリームにするビットレート削減方法であって、該符号化は、基準画像からの予測されるブロックを計算する予測モードを使うものであり、当該方法は、第一の量子化きざみで逆量子化された係数ブロックを、再構築された再量子化誤差ブロック（４５、４６、４７）から得られる基準画像の予測される再量子化誤差ブロック（４８、４９）を使って補正して、補正された係数ブロックを与える補正ステップを有し、ここで、再量子化されたブロック（４３）が前記補正された係数ブロックであることを特徴としており、当該方法はまた、
・現在のマクロブロックが「スキップされるマクロブロック」モードに従って符号化されたものであり、かつこのマクロブロックの少なくとも一つの補正された係数ブロックが0でないまたは所定の閾値より大きな係数をもつ場合、該マクロブロックの符号化モードが「スキップされるマクロブロック」以外のモードに修正され（５０）、このモードおよび係数の値を指定するためにデータ・ストリームのデータが修正または追加される（５０）ことを特徴とする、方法。
【請求項２】
現在のマクロブロックがスキップされないマクロブロックであり、このマクロブロックの係数ブロック（単数または複数）がヌルであるか所定の閾値より小さい係数を有する場合、かつ前記の「スキップされるマクロブロック」モードの条件が満たされる場合、そのマクロブロックの符号化モードが「スキップされるマクロブロック」モードに変更されることを特徴とする、請求項１記載の方法。
【請求項３】
前記「スキップされるマクロブロック」モードの条件とは、そのスキップされないマクロブロックが基準リストL0の画像0を参照すること（refIdxL0＝0）および動きベクトルが予測動きベクトルに等しいということであることを特徴とする、請求項２記載の方法。
【請求項４】
ストリームの修正または追加されたデータは、残差データのほかに：
・スライス・データのシンタックスのレベルでは、フィールド：
mb_skip_flag
mb_field_decoding_flag
に、
・マクロブロック層のシンタックスのレベルでは、フィールド：
mb  type
に、
・マクロブロック予測シンタックスのレベルでは、フィールド：
ref  idx  l0およびref  idx  l1、
mvd  l0およびmvd  l1−transform_size_8x8
に関係する、請求項１記載の方法。
【請求項５】
初期にスキップされるマクロブロック・モードは、それがスライスPに属すればP_L0_16x16となり、それがスライスBに属すればB_Direct_16x16となる、請求項２記載の方法。
【請求項６】
そのマクロブロックがMBAFF型の画像に属すれば、前記条件が満たされているかどうかを判定するためにフラグ「mb_field_decoding_flag」の値が考慮に入れられる、請求項２記載の方法。
【請求項７】
前記の予測される誤差ブロックが、基準画像の再構築された誤差ブロックによって形成される誤差画像の、現在ブロックに関連付けられた動きベクトルからの動き補償（４８）によって得られる、請求項１記載の方法。
【請求項８】
前記の予測される誤差ブロックが、現在画像の再構築されたブロックから構築される、現在ブロックに関連付けられたイントラ予測モードからのイントラ予測（４８）によって得られる、請求項１記載の方法。
【請求項９】
前記ビデオ・データ・ストリームがMPEG4  part  10規格に従って符号化される、請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基準画像からイントラモードおよびインターモードを使った符号化に従って符号化されたビデオ・データ・ストリームのビットレートを削減する方法に関する。
【０００２】
より詳細には、本発明は、H.264またはAVCまたはMPEG-4型のビデオ・ストリームに適用される。この規格はたとえば文書ITU-T  Rec.  H264／ISO/IEC14496-10  AVC  (MPEG4)に記載されている。
【０００３】
本領域は、「放送」として知られる、電波、衛星またはケーブル・チャンネルによるテレビ番組のブロードキャストの領域、また「ブロードバンド」としても知られる、ADSLでの、固定配線または無線による、インターネット・プロトコルすなわちIPに基づくテレビ番組のブロードキャストの領域である。
【背景技術】
【０００４】
本稿で定義されるところでは、ビットレート削減法すなわち「トランスレート（transrating）」は、ある規格に従って符号化されたデータ・ストリームの伝送ビットレートを、一般には同じ規格に従う別の符号化されたデータ・ストリームに変えることからなる。これは画像をデコードしてからエンコーダで再エンコードすることからなるトランスコード（transcoding）法とは区別する必要がある。その符号化と復号はピクセルのレベルで実行され、そのためこの方法はピクセル領域でのトランスコードとも呼ばれる。ビットレート削減法は時に「変換領域におけるトランスコード」とも呼ばれるが、以下では「トランスコード」の用語はピクセル領域のために留保される。
【０００５】
ビットレート削減は上述したように一般には同じ規格の画像に関してであるとはいえ、トランスコードは画像を新しい規格で提供することもできることを注意しておく。削減は、データの部分的なデコード、たとえばMPEG規格ならDCT係数の逆量子化、次いで要求されるビットレートでの逆部分再符号化、このデータの再量子化からなることができる。
【０００６】
ビデオの作成、記憶または送出の場所からエンドユーザーにおける目的地までのビデオの搬送システムは、多くの貢献者およびいくつかの変換に関わることがある。特に、内容、ビデオを変換して、搬送の制約条件、利用可能な帯域幅に適合させ、広告の挿入など経済的または商業的な事情を考慮に入れることが必要となることがある。これらの変換は時に搬送されるビデオのビットレートの削減を要求し、ビットレート削減またはビデオ・ストリーム・トランスコードの技術が必要となる。該技術は、はいってくるエンコードされたビデオを、オンザフライで、ビットレートがより低い別のエンコードされたビデオ・ストリームに変換することからなる。
【０００７】
ビデオ・トランスコードは、デコーダとビデオ・エンコーダを縦続することを含む。この技術は、柔軟であるという利点を有する。エンコード・パラメータ、フォーマット、規格、符号化モードなどを変えたり、あるいはロゴを挿入したりといったことが簡単にできる。しかしながら、デコーダとエンコーダがあるので、特にビットレート削減ソリューションに関しては、計算量が大きい。当然ながら、エンコーダのレベルでの計算は、最初のエンコード・パスでの動きフィールド、符号化モードなどといった情報を再利用することによって削減できる。実際には、元のビットレートから遠くなるほど、使用された符号化決定が好適であるという仮設が確証されることは少なくなる。
【０００８】
図１は、最初のエンコード・パスの情報を使わない、従来技術に基づくビデオ・ストリーム・トランスコード装置を示している。
【０００９】
符号１で表されるエンコーダは、ソース画像からのビデオ・データを受領する。該エンコーダは、古典的な仕方で、インターモードでの符号化のために使われる動きベクトルの計算のための動き推定器３と、コストなどに基づく符号化モード決定ブロック４とを有している。回路２は、他の要素の中でも離散コサイン変換および量子化を使った符号化コアである。こうして符号化されたデータ・ストリームすなわちトランスコードにとっての元のストリームは、次いでデコーダ５に伝送される。デコーダ５は、該デコーダの逆動作を実行してデコードされた画像を与える。エンコーダ１の型の第二のエンコーダ６が、動き推定回路８および符号化モード決定回路９からの情報を使って、その符号化コア７からの符号化動作を実行して、要求されたビットレートでトランスコードされたフローを与える。
【００１０】
図２は、最初のエンコード・パスの情報を使う、従来技術に基づくビデオ・ストリーム・トランスコード装置を示している。デコーダ５より上流の回路は同一である。デコーダ５は動き情報および符号化モード決定を、デコードされた画像と同時に、新しい単純化された符号化回路１０に送り、要求されたビットレートでトランスコードされたフローが与えられる。ここでは、動き推定回路および符号化モード決定回路は不要で、この情報はデコーダ５からくる。符号化コア１１は、回路８および９の情報についての符号化コア７と同様の仕方でこの情報を処理する。
【００１１】
図３は、図で点線で囲まれているMPEG-2またはAVC型のビデオ・デコーダおよびエンコーダを縦続したものを有するメイン・ブロックを示している。
【００１２】
ソース信号はエンコーダの入力に送られる。該入力は、可変長デコード回路VLD１５の入力でもある。この信号は次いで逆量子化回路IQ1  １６、逆離散コサイン変換IDCT  １７、加算器２８、フィルタ１８を通過する。フィルタの出力がこのデコード回路の出力であり、これが回路１９の入力に接続される。回路１９は、メモリおよび動き補償MCまたはイントラ予測回路によって構成される。補償は、VLD回路によって受領されたストリームからデコードされた動きベクトルVから得られる。イントラ予測は、近隣のブロックから、およびVLD回路によって受領されたストリームからデコードされたイントラ予測から構築される。加算器２８の入力にあるデコードされた残差ブロックに対して、当該画像または１９に保存されている再構築された基準画像のブロックならびに動きベクトルVからの、あるいはイントラ予測モードからの、デコードされるブロックに対応する予測されたブロックが加えられる。
【００１３】
フィルタの出力におけるデコードされた画像は、エンコーダの入力に送られ、逐次、減算器２９、離散コサイン変換回路DCT  ２０、量子化器Q2  ２１、可変長符号化回路VLC  ２２に供給される。該VLC  ２２の出力が新しいビットレートで符号化されたデータ・ストリームである。量子化器Q2の出力における変換され量子化された係数ブロックは、逆量子化器IQ2  ２３、逆離散コサイン変換回路IDCT２４によって再構築される。こうして再構築され、加算器３０の第一の入力に送られた残差ブロックに対して、この加算器３０の第二の入力に送られた予測されたブロックが加えられる。この加算器の出力で得られる再構築されたブロックは、フィルタ２５によってフィルタ処理され、回路２６に記憶される。したがって、回路２６は、符号化されている画像の再構築画像を保存する。該回路２６を構成するのは、メモリ回路ならびに付随する動き補償およびイントラ予測回路のセットである。メモリ回路に付随する動き補償およびイントラ予測回路は、受領した動きベクトル、インター予測かイントラ予測かに基づいて動き補償を実行し、画像中の予測されるブロックを定義する。この予測されるブロックは、減算器２９の第二の入力に対して伝送され、該減算器２９はその出力において、インター符号化モードまたはイントラ予測モードにおける残差ブロックを与える。
【００１４】
あるいは、動きベクトルは動き推定回路２７を有する符号化器によって計算される。あるいは、これらの動きベクトルはデコード回路から得られ、それにより、上記のように品質を犠牲にしてこの動き推定器はなしですむ。
【００１５】
単純化されたアーキテクチャが、G.  J.  Keesmanによって、“Multi-program  Video  Data  Compression”,  Thesis  Technische  Universiteit  Delft,  ISBN  90-74445-20-9,  1995と題する文書において提案されている。これはDCT変換および動き補償の線形性を考慮するものである。
【００１６】
図４は、ビットレート削減のそのような単純化されたアーキテクチャT2を示している。量子化誤差の遡及効果ループが加えられている。
【００１７】
圧縮されたビデオ・データ・ストリームは、可変長デコード回路VLD  ４０の入力に送られ、次いで逆量子化回路IQ1  ４１が符号化の際に使われたたとえば量子化きざみを使って逆量子化動作を実行する。減算器４２の第一の入力に送られた逆量子化された係数ブロックから、減算器の第二の入力に送られた離散コサイン変換回路DCT  ４９からくる再量子化誤差予測が減算される。インターモードでは、つまり逆量子化された係数ブロックがインター残差ブロックであるとき、これは、対応する動きベクトルによって現在のブロックと合致させられるこの誤差画像の再量子化誤差ブロックについて、記憶された基準画像の再量子化誤差画像から計算された誤差予測に関わる。逆量子化された係数ブロックがイントラ残差ブロックであるイントラモードでは、これらは、現在の係数ブロックについて使われたイントラ予測符号化モードのために以前に処理され、利用された、現在画像のブロックまたはマクロブロックから計算された再量子化誤差である。こうして空間領域において計算された予測された再量子化誤差ブロックは、離散コサイン変換４９を受けて、変換領域での誤差ブロックを与える。これが、逆量子化された現在ブロックから引かれるブロックである。こうして得られた補正された係数ブロックは量子化回路Q2  ４３に、次いで可変長符号化回路VLC  ４４に送られてトランスコードされたビデオ・データ・ストリームを与える。該ストリームは、量子化器４３の中間的な量子化きざみQ2の選択によって、要求されたビットレートに変換されている。前記量子化器Q2  ４３の出力において、信号は逆量子化器IQ2  ４５にも送られる。この回路の出力は、量子化きざみQ2での量子化および逆量子化後の再構築された補正された係数ブロックを与え、それから、減算器４６によって、量子化きざみQ1での量子化および逆量子化後の補正された係数ブロックが引かれる。差は、作られた再量子化誤差を表す。減算器４６の出力における、再構築された再量子化誤差ブロックは、これらの補正された係数ブロックの再量子化誤差によって構成され、逆離散コサイン変換回路４７に送られ、空間領域での得られた誤差ブロックが回路４８によって記憶される。インターモード符号化については、係数を再量子化することによって作られる誤差の、空間領域での誤差画像が得られる。基準画像において作られている誤差は、基準画像に基づくたとえば双方向型またはP型の画像のインター符号化の際に使われるべく、保存される。係数ブロックのこれらの再量子化誤差は、動き補償、メモリ・ブロックおよび動き補償ブロックを有するこの回路４８に送られる動きベクトルに関係する情報を使うことができるよう、空間領域において翻訳される。イントラモードでは、これらは、イントラ予測のために使われた近隣ブロックの輝度値に基づいて再量子化誤差を計算できるよう、空間領域において保存されている近隣ブロックである。こうして計算されたイントラ予測ブロックまたはインター予測のために動き補償されたブロックが回路４８から抽出され、離散コサイン変換回路４９によって変換され、その後、減算器４２の第二の入力に送られる。当然ながら、メモリはインター符号化のために使われるいくつかの基準画像を有している。
【００１８】
このように、現在ブロックが再量子化されるとき、符号化の際に現在ブロックのベースとなった基準画像または近隣のブロックについて作られた誤差を除去することが可能である。実際、デコーダはこれらの基準に再量子化誤差を供給するのである。
【００１９】
この単純化は、イントラ予測を使うことなくMPEG2またはMPEG4  part  2の型のトランスコードに、さもなければMPEG4  part  10またはAVC符号化に適用できる。それでも、ループにおけるフィルタの不在がわずかな劣化を導入する。
【００２０】
この単純化されたアーキテクチャT2は、一方では動き補償ブロックおよび逆量子化ブロックをなくすことを可能にし、他方では二つの画像記憶モジュールのうちの一方をなくすことを可能にする。このように、このアーキテクチャは、要求される計算パワーおよびメモリ資源が少なくなる。デコードされた画像は決して再構築されず、記憶モジュールは再量子化に起因する誤差を記憶するために使われる。
【００２１】
このアーキテクチャは、トランスコード図と完全に同一ではない。というのも、量子化および逆量子化動作と、線形結合である離散コサイン変換および逆変換計算とが丸めを生じるからである。同様に、近隣ブロックの輝度値に対する線形結合からの予測されるブロックの線形補間または計算演算を使う、動き補償の空間領域における演算は、計算上の丸めによって、T2アーキテクチャが考慮に入れることができない誤差を生成する。したがって、「ドリフト」と呼ばれる劣化が導入され、ピクチャー・グループ（group  of  pictures）すなわちGOPを通じて蓄積する。蓄積は、一部の画像は後続の画像の符号化のための予測として使われるからである。
【非特許文献１】Lefol  D  et  al.,  “Performance  Evaluation  of  Transcoding  Algorithms  for  H.264”,  IEEE  Transactions  on  Consumer  Electronics,  IEEE  Service  Center,  New  York,  NY,  US,  vol.  52,  no.  1,  February  2006  (2006-02),  pp.  215-222,  XP008078918,  ISSN:  0098-3063（要約；図２；216頁段落II；216-217頁段落II-B）
【非特許文献２】Peng  Zhang  et  al.,  “Key  techniques  of  bit  rate  reduction  for  H.264  streams”,  Advances  in  Multimedia  Information  Processing  -  PCM  2004.  5th  Pacific  Rim  Conference  on  Multimedia.  Proceedings  Part  II  30  Nov.-3  Dec.  2004,  Tokyo,  Japan,  30  December  2004  (2004-12-30),  pp.  985-992,  XP002456387（986-987頁段落2）
【非特許文献３】Keesman,  G.,  et  al.,  “Transcoding  of  MPEG  bitstreams”,  Signal  Processing.  Image  Communication,  Elsevier  Science  Publishers,  Amsterdam,  NL,  vol.  8,  no.  6,  September  1996  (1996-09),  pp.  481-500,  XP004047113,  ISSN  0923-5965（図４、７、８；483-488頁段落2）
【非特許文献４】“Advanced  video  coding  for  generic  audiovisual  services”,  ITU-T  Standard  Pre-published(P),  International  Telecommunication  Union,  Geneva,  Ch.  no.  H264  3/5,  1  March  2005  (2005-03-01),  XP017401453（137-139頁段落8.4.1,  8.4.1.1,  8.4.1.2；159,160頁、段落8.5）
【発明の開示】
【発明が解決しようとする課題】
【００２２】
単純化されたアーキテクチャT2は、予測のために使われるブロックに対してなされる再量子化誤差の補償に基づいている。この誤差は、現在ブロックの残差から引かれ、よって該誤差は、イントラ予測では画像中で、あるいはインター時間的予測では時間とともに伝搬しない。残差が符号化されない場合、したがって、この誤差補償は実行できず、誤差は伝搬できる。
【課題を解決するための手段】
【００２３】
本発明は、上記の欠点を克服することをねらいとする。その目的は、第一の量子化きざみに基づいて係数ブロックを逆量子化し、次いで第二の量子化きざみに基づいてブロックを再量子化することによって、第一の符号化されたビデオ・データ・ストリームを第二のストリームにするビットレート削減の方法である。該符号化は、基準画像から予測されるブロックを計算する予測モードを使うものである。当該方法は、第一の量子化きざみで逆量子化された係数ブロックを、再構築された再量子化誤差ブロックから得られる基準画像の予測される再量子化誤差ブロックを使って補正して、補正された係数ブロックを与える補正ステップを有すること、再量子化されたブロックが補正された係数ブロックであることならびに、
・現在のマクロブロックが「スキップされるマクロブロック」モードに従って符号化されたものであり、かつこのマクロブロックの少なくとも一つの補正された係数ブロックが0でないまたは所定の閾値より大きな係数をもつ場合、該マクロブロックの符号化モードが「スキップされるマクロブロック」以外のモードに修正され、このモードおよび係数の値を指定するためにデータ・ストリームのデータが修正または追加されること、
を特徴とする。
【００２４】
ある個別的な実装によれば、現在のマクロブロックがスキップされないマクロブロックであり、このマクロブロックの係数ブロック（単数または複数）がヌルであるか所定の閾値より小さい係数を有する場合、かつ「スキップされるマクロブロック」モードの条件が満たされる場合、そのマクロブロックの符号化モードは「スキップされるマクロブロック」モードに変更される。「スキップされるマクロブロック」モードの条件とは、そのスキップされないマクロブロックが基準リストL0の画像0を参照すること（refIdxL0＝0）および動きベクトルが予測動きベクトルに等しいということである。
【００２５】
ある個別的な実装によれば、ストリームの修正または追加されたデータは、残差データのほかに、次のものに関係する。
・スライス・データのシンタックスのレベルでは、フィールド：
mb_skip_flag
mb_field_decoding_flag
・マクロブロック層のシンタックスのレベルでは、フィールド：
mb  type
・マクロブロック予測シンタックスのレベルでは、フィールド：
ref  idx  l0およびref  idx  l1、
mvd  l0およびmvd  l1−transform_size_8x8。
【００２６】
ある個別的な実装によれば、初期にスキップされるマクロブロック・モードは、それがスライスPに属すればP_L0_16x16となり、それがスライスBに属すればB_Direct_16x16となる。
【００２７】
ある個別的な実装によれば、そのマクロブロックがMBAFF型の画像に属すれば、条件が満たされているかどうかを判定するためにフラグ「mb_field_decoding_flag」の値が考慮に入れられる。
【００２８】
ある個別的な実装によれば、予測される誤差ブロックは、基準画像の再構築された誤差ブロックによって形成される誤差画像の、現在ブロックに関連付けられた動きベクトルからの動き補償によって得られる。
【００２９】
ある個別的な実装によれば、予測される誤差ブロックは、現在画像の再構築されたブロックから構築される、現在ブロックに関連付けられたイントラ予測モードからのイントラ予測によって得られる。
【００３０】
ある個別的な実装によれば、ビデオ・データ・ストリームはMPEG4  part  10規格に従って符号化される。
【発明の効果】
【００３１】
提案される方法のおかげで、動き補償や基準画像再構築のないビットレート削減の単純化されたアーキテクチャに起因する画像品質の劣化が大幅に低下する。
【００３２】
再量子化誤差が伝搬してマクロブロック誤差が影響されることがある。すべての残差が0であるマクロブロックが非0になることがあり、逆もまたしかり。「スキップされるマクロブロック」モードにおけるマクロブロックは試験され、可能なときには、それらのマクロブロックについてのよりよい品質のデコードを可能にする別のモードでデコードされるようにする。よって、マクロブロックのデコードは、符号化のモードとは異なるモードで実行できる。
【００３３】
よって、この型の符号化とビットレート変換との組み合わせに起因する誤差、すなわちスキップされるマクロブロックがデコーダのレベルで予測として使われることがあり、したがって潜在的なドリフト源になるという事実に起因する誤差が削減される。これらの誤差は、「スキップされるマクロブロック」モードにおけるマクロブロックの符号化に有利な一様なゾーンにおいて特に目に見えるので一層不都合なものである。
【００３４】
他方、ビットレート変換器のレベルで「スキップされるマクロブロック」モードを使う可能性は、圧縮率の改善を可能にする。
【００３５】
本発明のその他の個別的な特徴および利点は、制限的ではない例として与えられ、付属の図面を参照する以下の記述から明らかになるであろう。
【発明を実施するための最良の形態】
【００３６】
以後、単に近似的な用語を使って、精確さのためにAVC規格の用語および略語を括弧内に付記することがある。括弧内の用語は、該規格、特にセクション3において定義されている用語である。
【００３７】
AVC規格は、マクロブロック残差が符号化されず、0であると考えられる「スキップ（skipped）」モードまたは「スキップされるマクロブロック（skipped  macroblock）」モードと呼ばれるいくつかの符号化モード：
・P型のスライス（Pスライス）またはSP型のスライス（SPスライス）に属するマクロブロックについての「P_Skip」モード
・B型のスライス（Bスライス）に属するマクロブロックについての「B_Skip」モード
を提供する。
【００３８】
しかしながら、符号化コストの面でのこれらの経済的なモードは、システムの終端にあるデコーダがそのマクロブロックをさらなる情報なしで正しく再構築できるようにするある種の条件下でのみ可能である。これらの予測／再構築プロセスは、規格では、たとえば2005年1月11日の“Draft  of  version  4  of  H.264/AVC  (ITU-T  Recommendation  H.264およびISO/IEC14496-10  (MPEG-4  part  10  Advanced  Video  Coding)”のセクション8.4“inter  prediction  process”、サブセクション8.4.1.1“Derivation  process  for  luma  motion  vectors  for  skipped  macroblock  in  P  and  SP  slice”および8.4.1.2“Derivation  process  for  luma  motion  vectors  for  B_Skip”において定義されている。
【００３９】
シンタックス構造におけるレベルまたはマクロブロック層は、これらのモードのうちの一つに従って符号化されたマクロブロックに関係するデータは含まない。したがって、マクロブロックはスライスに関係するデータ・フィールド（スライス・データ）中のスライスである上のレベルにおいて定義される。よって、デコーダは、現在の近隣に従って、およびビットストリームから欠けているシンタックス要素を推定する、つまり該情報を演繹することによって、そのマクロブロックを予測または再構築する責任をもつ。規格は、「P_skip」モードあるいは「B_Skip」モードについて、場合に基づいて、すべての推定規則を提供している。
【００４０】
よって、スライスPおよびSPに属するマクロブロックについての表7-13、スライスBに属するマクロブロックについての表7-14でマクロブロックの異なる型（mb_type）に値が割り当てられる一方、「スキップされる」マクロブロックについては、マクロブロック層では、全く符号化されないので情報は送られない。型は、Pスライスに属するかBスライスに属するかによって「P_skip」または「B_skip」と呼ばれるが、符号化特性のデコードを可能にするその型（mb_type）は、参照番号によって決定されるのではない。それ自身が推定される、すなわち演繹されるからである。符号化特性とはそれぞれ、ブロック16x16についてはインターモード、下位区分8x8については直接モードである。
【００４１】
AVC規格のセクション8.4.1.1“Derivation  process  for  luma  motion  vectors  for  skipped  macroblock  in  P  and  SP  slice”は「P_Skip」モードに関係する。このセクションは、基準画像のリストL0において、「スキップされるマクロブロック」モードに基づいて符号化されたマクロブロックに割り当てられるインデックスrefIdxL0および動きベクトルmvL0を定義している。
【００４２】
refIdxL0インデックスの計算は非常に単純で、常に0である。したがって、エンコードの際、ビットレート削減動作によってすべての残差が打ち消されるP型マクロブロックは、その残差がリストL0の最初の画像を参照していれば、スキップされるマクロブロック符号化「P_Skipモード」の候補であると演繹される。
【００４３】
動きベクトルmvL0の計算については、現在マクロブロックの左隣（A）および上隣（B）のマクロブロックに関わるのでより複雑である。左隣（A）と上隣（B）のそれぞれのパラメータはrefIdxL0A、refIdxL0B、mvL0A、mvL0Bである。この隣計算は、MBAFFモード（Macro  Block  Adaptive  Frame  Field［マクロブロック適応フレーム・フィールド］）が有効であるときは一層複雑になる。というのも、この場合には、マクロブロックが双フレーム型（biframe  type）であるか（currMbFrameFlag＝TRUE）フレーム型（frame  type）であるか（currMbFrameFlag＝FALSE）という事実が、該マクロブロックがマクロブロック対の上マクロブロックであるか（mbIsTopMbFlag＝TRUE）それとも下マクロブロックであるか（mbIsTopMbFlag＝FALSE）という事実と組み合わされて、関わってくるからである。
【００４４】
ビットレート削減動作によってすべての残差が打ち消されるP型マクロブロックは、フラグcurrMbFrameFlagがスキップされるマクロブロック符号化モード「P_Skipモード」において推定されるであろうフラグと同じであれば、「P_Skipモード」でスキップされるマクロブロック符号化モードの候補である。いま、「P_Skipモード」では、フラグcurrMbFrameFlagを有効にするシンタックス要素mb_field_decoding_flagがデータ・ストリーム中にない。そこで、推定規則は次のようになる：
・現在のマクロブロック対のすぐ左隣に、同じスライス内において、マクロブロック対があれば、フラグmb_field_decoding_flagの値は、この隣の対のフラグmb_field_decoding_flagの値に等しいと推定されなければならない、
・そうでなければ、現在のマクロブロック対のすぐ上隣に、同じスライス内において、マクロブロック対があれば、フラグmb_field_decoding_flagの値は、この隣の対のフラグmb_field_decoding_flagの値に等しいと推定されなければならない、
・そうでなければ、フラグmb_field_decoding_flagの値は、「FALSE」に等しいと推定されなければならない。
【００４５】
したがって、エンコードの際、MBAFFモードでは、ビットレート削減動作によってすべての残差が打ち消されるP型マクロブロックは、そのフラグmb_field_decoding_flagが、左隣の対が存在すればそのフラグに等しく、そうでなければ上隣の対があればそのフラグに等しく、そうでなければ「FALSE」に等しい場合に、「P_Skip」でスキップされるマクロブロック符号化モードの候補であると演繹される。
【００４６】
輝度動きベクトルmvL0を色度動きベクトルmvCL0に変換するプロセスも忘れるべきではない。現在のマクロブロックがフレーム・モードで符号化され、インデックスrefIDxL0によって定義される基準画像が、上がフレーム源（TOP）、下がフレーム基準（BOTTOM）または逆と、同じ型ではない場合、動きベクトルの成分の±2の再調整がmvCL0とmvL0との間で行われる。
【００４７】
したがって、エンコードの際、MBAFFモードでは、ビットレート削減動作によってすべての残差が打ち消されるP型マクロブロックは、上（TOP）または下（BOTTOM）マクロブロックを定義するフィールドの内容が、使用される基準の内容と同じである場合に、「P_Skip」でスキップされるマクロブロック符号化モードの候補であると演繹される。
【００４８】
セクション“Derivation  process  for  luma  motion  vectors  for  B_Skip”は「B_Skip」型のマクロブロックに関わる。このセクションは、基準画像のリストL0およびL1からのインデックスrefIdxL0およびrefIdxL1、さらに下位区分ベクトル（sub-partition  vectors）の数のカウンタsubMvCntの動きベクトルmvL0およびmvL1ならびに予測リストの使用フラグpredFlagL0およびpredFlagL1を取得することを記載している。
【００４９】
エンコードの際、MBAFFモードでは、ビットレート削減動作によってすべての残差が打ち消されるB型マクロブロックは、そのフラグmb_field_decoding_flagが、左隣の対が存在すればそのフラグに等しく、そうでなければ上隣の対があればそのフラグに等しく、そうでなければ「FALSE」に等しい場合に、「B_Skip」でスキップされるマクロブロック符号化モードの候補である。
【００５０】
根本的なモードP_SkipおよびB_Skipのほかに、現在マクロブロックのうちある所与の8x8区分または4x4下位区分についてのみ残差の符号化の不在を合図することも可能である。これはパラメータCBP（coded  block  pattern）というシンタックス要素であり、これがマクロブロック全体について、0の残差ブロックまたは区分を定義することを可能にする。各区分(i)にマスク値「mask(i)」が関連付けられる。よって、値「CBP&mask(i)」（&は論理的なAND）は、区分iおよびその残差値を定義する。値0は、この区分の諸残差が0であることを示す。マクロブロック・レベルの場合と同様、再量子化誤差が伝搬し、マクロブロックの下位区分の残差が割り当てられることができる：残差がすべて0（CBP&mask(i)＝0）のマクロブロックの下位区分が非0となることがあり、逆もまたしかり。
【００５１】
図５は、本発明に基づくビットレート削減アーキテクチャの例を示す。
【００５２】
この図は、図４からの派生であり、同じ回路の参照符号が使われている。図４に対して追加された部分だけを説明する。
【００５３】
ビットレート変換へのデータ・ストリームは、ビットレート変換器の入力に送られる。これは、可変長デコード回路VLD  ４０の入力でもある。図示しない処理回路が種々の動作を扱う。スライス層に関係するデータが、マクロブロックが「スキップされる」ことを示すとき、このマクロブロックは、0の係数の値を用いて再構成され、動きベクトルが演繹される。計算はたとえば前記処理回路によって実行される。
【００５４】
こうして作成されたマクロブロックは、他の任意のマクロブロックと同様にして、回路４１に送られる。回路４１の量子化動作は透明である。次いで減算器４２に送られる。減算器４２は再量子化誤差補正を実行する。補正されたブロックは量子化回路Q2  ４３によって量子化される。たとえば、量子化きざみとして、以前のマクロブロックの量子化きざみまたは複数の以前のマクロブロック量子化きざみの平均を取ることによって、量子化される。回路４３の出力は、再量子化誤差の計算のために逆量子化回路４５の入力に送られ、計算回路CBP+skipと呼ばれる回路の入力にも送られる。計算されたデータは次に可変長符号化回路VLC４４に送られる。以前の構成との関係では、パラメータCBPおよびフラグmb_skip_flagの計算のために、CBP+skipの再計算回路が、再量子化回路Q2  ４３と回路VLC  ４４の入力との間に挿入されている。従来技術においては、ビットレート削減の際に、あるマクロブロックについて、たとえ再構成誤差から補正されたこのマクロブロックが0とは異なっていても「スキップされるマクロブロック」モードが保存された。これに対し、本発明に基づく方法は、この回路によって、量子化演算後に、「スキップされるマクロブロック」符号化モードが保存されなければならないかどうか、逆にスキップされないマクロブロックが「スキップされるマクロブロック」モードに従って符号化できるかどうかを判定する。よって、本方法は、スキップされるマクロブロックのフラグ（mb_skip_flag）とは別の、量子化された補正された係数ブロックから得られるマクロブロックについてのパラメータCBP（CBP&mask(i)）の系統的な計算を、次の２ステップで実行する。
【００５５】
第一のステップでは、諸区分が処理される。もし、積「CBP&mask(i)」が1であった間に、一方では再量子化誤差および他方では再量子化Q2に起因する補正に続いて、マクロブロックの区分(i)の諸係数残差が0またはある閾値未満であれば、「CBP&mask(i)」ビットは0に設定される。これは、初期に0でない係数をもつものとして符号化されたマクロブロックのこの区分(i)が、今や0の係数または0に近い係数しかもたないことを示している。逆に、積「CBP&mask(i)」が0であった間に、区分(i)の少なくとも一つの残差係数が非0であれば、「CBP&mask(i)」は1に設定される。これは、初期に係数がすべて0として符号化されたこの区分(i)が今や0とは異なる係数をもつことを示している。
【００５６】
第二のステップでは、マクロブロックがその全体において処理される。
【００５７】
積「CBP&mask(i)」が当該マクロブロックのすべての区分(i)について計算される。その積がすべての値(i)について0に等しければ、すなわち、一方では再量子化誤差および他方では再量子化Q2に起因する補正に続いて、マクロブロックのすべての区分のすべての係数残差が0または所定の閾値未満であれば、そのマクロブロックは「スキップされるマクロブロック」モードの候補であると宣言される。逆の場合には、非候補であると宣言される。
【００５８】
そのマクロブロックが「スキップされるマクロブロック」モードの候補であり、「スキップされるマクロブロック」モードの他の条件が統一されており（united）、符号化の際にフラグ「mb_skip_flag」が0であった、すなわち当該マクロブロックがスキップされるマクロブロック・モードになかった場合には、フラグ「mb_skip_flag」が変更され、1に設定される。
【００５９】
逆に、そのマクロブロックが「スキップされるマクロブロック」モードの候補でなく、フラグ「mb_skip_flag」が1であった場合、このフラグ「mb_skip_flag」は修正され、0に設定され、考えられているマクロブロック残差は符号化される。この最後の場合、もしマクロブロックがP_Skipモードにあった場合、このモードはP_L0_16x16モードに切り替わる。もしマクロブロックがB_Skipモードにあった場合には、このモードはB_Direct_16x16モードに切り替わる。
【００６０】
画像がMBAFFモードで符号化される場合、データ・ストリームにおける最初の帰結は、「mb_field_decoding_flag」フラグの明示的な存在である。スライス・データ・シンタックス（セクション7.3.4:  Slice  data  syntax）におけるこのフラグは、符号化がフレーム・モードにあるか双フレーム・モードにあるか（セクション7.4.4:  Slice  data  semantics）を示す。
【００６１】
当該マクロブロックが上マクロブロックである（TOP）（CurrMbAddr%2==0）場合、フラグは「スキップ」モード（P_SkipまたはB_Skip）で推定されたもの、すなわち左または上のマクロブロックの対の一つから演繹されるものに等しくされなければならない。下マクロブロックである（BOTTOM）（CurrMbAddr%2==1&&prevMbSkipped）次のマクロブロックがこのフラグ「mb_field_decoding_flag」を明示的に符号化していた場合には、もはやそうしていてはならない。すると、スキップされるマクロブロック・モードで推定されたものに等しい「TOP」フラグが、下マクロブロック（BOTTOM）について明示的に符号化されたものにも等しいことを検査することが必要となる。
【００６２】
マクロブロックが下マクロブロック（BOTTOM）である（CurrMbAddr%2==1）場合、二つの場合が考えられる：
・直前のマクロブロック自身も「スキップされたマクロブロック」である。すると、mb_field_decoding_flagフラグがデータ・ストリームに導入され、スキップされたマクロブロック・モード（P_SkipまたはB_Skip）において推定されたものに等しくされなければならない。
・直前のマクロブロックについては、スキップされたマクロブロック・モードではない。したがって、mb_field_decoding_flagフラグはデータ・ストリームに現れてはならない。
【００６３】
マクロブロック層レベルでは、種々のフィールドが、「スキップされたマクロブロック」モードで推定された情報で埋められることを保証することも必要である。より一般には、「スキップされたマクロブロック」モードのものであったコンテキストと協働することが。たとえば、DCT4x4の使用では、フラグtransform_size_8x8_flagは値0をもつと推定される。
【００６４】
よって、スキップされないマクロブロックの符号化モードを「スキップされたマクロブロック」に修正するためには、あるいくつかの条件を検査しなければならない。マクロブロックが「スキップされたマクロブロック」モードについての候補となれる条件が、そのスキップされないマクロブロックのエンコードの際の符号化条件と適合しているかどうかが検査される。動きベクトルからの予測されるブロックの計算のために、スキップされるマクロブロックはリストL0の画像0を指すことしかできないので、スキップされないマクロブロックはL0のこの画像0を指さなければならない。換言すれば、0の残差がリストL0の画像番号0を指していることが必要である。同様に、MBAFFモードにあるときは、スキップされないマクロブロックのフレームまたは双フレーム・モードを定義するフラグmb_field_decoding_flagによって定義されるフレームまたは双フレーム・モードは、「スキップされるマクロブロック」モードにおいて演繹されたモードと同じでなければならない。MBAFFモードでは、「TOP」フィールドまたは「BOTTOM」フィールドが使用される基準のフィールドに等しいことも必要である。
【００６５】
「スキップされるマクロブロック」モードのスキップされないモードへの変更は、データ・ストリームのフィールドが埋められることを要求し、当然ながら量子化された係数値が送信されることを要求する。たとえば、規格のセクション7.3.5は、マクロブロック層のうちで、coded_block_patternフィールドがcbp値によって埋められなければならないことを示している。スキップされるマクロブロックがモードを変えなければならないとすると、下位区分のブロックを検査して、ここで関心のある場合について輝度の0残差下位区分を定義する「cbp」を計算することが必要である。cbp値は下位区分に従って計算され、0であるか否かにはよらない。すなわち、0の残差係数を有しているか否かにはよらない。
【００６６】
すべての下位区分が0であれば、スキップされるマクロブロックは、cbp値を0と想定する「スキップされるマクロブロック」モードの候補であり、したがってモード変更なしの候補である。よって、選出を決めるために他の条件が検査される。
【００６７】
記載されている独創的な方法は、すべてのマクロブロックについて例外なく再量子化誤差の伝搬の防止を可能し、よってデータ・ストリームがT2型のビットレート変換プロセスによって変換されたあとでデコードされる画像の品質を改善することが可能になる。
【００６８】
本方法の有効性を例証するため、初期に2.87Mbpsで符号化され、T2アルゴリズムで種々のビットレートにビットレート変換したSDTVビデオ・シーケンスに対して得られた信号対雑音比またはPSNRのdBでの利得の測定をした。
【００６９】
【表１】
2008206151.tif 000003
【図面の簡単な説明】
【００７０】
【図１】従来技術に基づくトランスコード方法を示す図である。
【図２】最初のパスからの情報を使う、従来技術に基づくトランスコード方法を示す図である。
【図３】従来技術に基づく、AVCトランスコード方法を示す図である。
【図４】従来技術に基づくビットレート削減の単純化されたアーキテクチャを示す図である。
【図５】本発明に基づくビットレート削減の単純化されたアーキテクチャを示す図である。
【符号の説明】
【００７１】
１  エンコーダ
２  符号化コア
３  動き推定器
４  符号化モード決定ブロック
５  デコーダ
６  第二のエンコーダ
７  符号化コア
８  動き推定回路
９  符号化モード決定回路
１０  単純化された符号化回路
１１  符号化コア
１５  可変長デコード回路VLD
１６  逆量子化回路IQ1
１７  逆離散コサイン変換IDCT
１８  フィルタ
１９  回路（メモリ、動き補償MC、イントラ予測回路IP）
２０  離散コサイン変換回路DCT
２１  量子化器Q2
２２  可変長符号化回路VLC
２３  逆量子化器IQ2
２４  逆離散コサイン変換回路IDCT
２５  フィルタ
２６  回路（メモリ回路、動き補償回路MC、イントラ予測回路IP）
２７  動き推定回路
２８  加算器
２９  減算器
３０  加算器
４０  可変長デコード回路VLD
４１  逆量子化回路IQ1
４２  減算器
４３  量子化器Q2
４４  可変長符号化回路VLC
４５  逆量子化器IQ2
４６  減算器
４７  逆離散コサイン変換回路IDCT
４８  回路（メモリ・ブロック、動き補償ブロックMC、イントラ予測ブロックIP）
４９  離散コサイン変換回路DCT
５０  cbpおよびスキップされるmbフラグの計算
【図１】
2008206151.tif 000004
【図２】
2008206151.tif 000005
【図３】
2008206151.tif 000006
【図４】
2008206151.tif 000007
【図５】
2008206151.tif 000008