(57)【要約】  本発明は、ビデオ画像のスキップマクロブロックの符号化方法を提出し、目前画像のスキップマクロブロックの符号化方式を標識するように、ピクチャヘッダに一つの標識ビットを増加する；スキップマクロブロックの多少に従って、目前画像中のマクロブロックタイプに対する符号化方式を選択し、ランレングス符号化である場合、ピクチャヘッダの標識ビットを、対応する標識値に設定し、且つランレングス符号化方式を採用して、画像のマクロブロックタイプを符号化し；スキップマクロブロック数とマクロブロックタイプの連合性符号化である場合、ピクチャヘッダの標識ビットを、対応する標識値に設定し、且つスキップマクロブロック数とマクロブロックタイプの連合性符号化方式を採用して、画像のマクロブロックのタイプを符号化し；最後に、目前マクロブロックの他のデータを符号化して、コードストリームを入力するステップを含む。本発明は、適応的にビデオ画像のスキップマクロブロックの符号化方式を選択したので、画像の符号化効率を高め、伝送及び記憶の代価を減少することができるので、簡単で、実用性のある技術案である。本発明は、フレーム符号化或いは体符号化（field coding）において有効的に実施することができる。
2007535221.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ画像のスキップマクロブロックの符号化方法であって、
ステップ１、目前画像のスキップマクロブロックの符号化方式を標識するように、ピクチャヘッダに一つの標識ビットを増加する；
ステップ２、スキップマクロブロックの多少に従って、目前画像中のマクロブロックタイプに対する符号化方式を選択し、ランレングス符号化である場合、ステップ３を実行し、スキップマクロブロック数とマクロブロックタイプの連合性符号化である場合、ステップ４を実行する；
ステップ３、ピクチャヘッダの標識ビットを、ランレングス符号化状態値に設定し、且つランレングス符号化方式を採用して、画像のマクロブロックタイプを符号化して；ステップ５を実行する；
ステップ４、ピクチャヘッダの標識ビットを、連合性符号化状態値に設定し、且つスキップマクロブロック数とマクロブロックタイプの連合性符号化方式を採用して、画像のマクロブロックのタイプを符号化して；ステップ５を実行する；
ステップ５、目前画像を符号化して、コードストリームを入力する、
ステップを含むビデオ画像のスキップマクロブロックの符号化方法。
【請求項２】
ステップ１で増加された標識ビットは、全ての符号化される画像のピクチャヘッダに対することを特徴とする、請求項１に記載のビデオ画像のスキップマクロブロックの符号化方法。
【請求項３】
上記ステップ２は、二回の符号化過程により目前画像中のマクロブロックタイプに対する符号化方式を選択するものであり；具体的に、
ステップ２００、目前の符号化画像の全てのマクロブロックに対して、ランレングス符号化方式を採用して、処理を行った後、対応する符号化性能パラメータを得る；
ステップ２０１、目前の符号化画像に対して二回の符号化を行い、その全てのマクロブロックに対して、スキップマクロブロック数とマクロブロックタイプの連合性符号化方式を採用して、処理を行った後、対応する符号化性能パラメータを得る；
ステップ２０２、符号化を二回行って得られた性能パラメータを総合的に比較して、目前の画像が一番優れなスキップマクロブロックの符号化方式を選択する、
ステップを含むことを特徴とする、請求項１に記載のビデオ画像のスキップマクロブロックの符号化方法。
【請求項４】
上記比較する性能パラメータには、Ｓ／Ｎ比と符号化率が含まれることを特徴とする、請求項３に記載のビデオ画像のスキップマクロブロックの符号化方法。
【請求項５】
上記ステップ２は、統計に基づいた自己適応性モードを採用して、目前画像中のマクロブロックタイプに対する符号化方式を選択して、高速符号化を実現するものであり、具体的に、
ステップ２１０、符号化する毎に、目前画像のスキップマクロブロックの数と比例に対して統計し；
ステップ２１１、次のフレームを符号化する前に、前の画像中のスキップマクロブロックの比例が経験しきい値より大きいかを判定し；
ステップ２１２、経験しきい値より大きい場合、ステップ３を実行して、ランレングス符号化方式を採用する；
ステップ２１３、経験しきい値より小さい場合、ステップ４を実行して、スキップマクロブロック数とマクロブロックタイプの連合性符号化方式を採用する、
ステップを含むことを特徴とする、請求項１に記載のビデオ画像のスキップマクロブロックの符号化方法。
【請求項６】
上記経験しきい値は統計方式により得られることを特徴とする、請求項５に記載のビデオ画像のスキップマクロブロックの符号化方法。
【請求項７】
ステップ３に係るランレングス符号化方式は、連続するスキップマクロブロックに対して、可変長符号を採用してスキップしたマクロブロックの数を符号化し；標識するように連続する非スキップマクロブロック間に標識ビットを増加して、スキップマクロブロックの数が０であることを示すことを特徴とする、請求項１に記載のビデオ画像のスキップマクロブロックの符号化方法。
【請求項８】
ステップ４に係るスキップマクロブロック数とマクロブロックタイプの連合性符号化方式は、Ｐフレーム画像とＢフレーム画像に対して統一的に処理し、マクロブロックタイプにスキップタイプを増加して、平均な出現確率に従って、それがマクロブロックのタイプ表中に位置する位置を決定して、それにより全てのマクロブロックのタイプ表を調整する；
スキップしたマクロブロックに対して、そのスキップ記数値により、スキップタイプを使用して一つ一つ符号化して、一つ一つ標識する；非スキップマクロブロックに対して、その対応するマクロブロックタイプを使用して符号化することを特徴とする、請求項１に記載のビデオ画像のスキップマクロブロックの符号化方法。
【請求項９】
上記ステップ４において、スキップマクロブロック数とマクロブロックタイプの連合性符号化方式は、Ｐフレーム画像とＢフレーム画像に対して別々に処理し、Ｐフレーム画像である場合、元のマクロブロックのタイプ表にスキップタイプを増加して、符号化し；
Ｂフレーム画像である場合、元の直接モードの符号化を修訂して、スキップマクロブロック毎の符号化方式は、直接モードの符号化値がＣＢＰが０である符号化値に隣接するものであり、非スキップマクロブロックの符号化方式は、直接モードの符号化値がＣＢＰが０ではない符号化値に隣接するものであることを特徴とする、請求項１に記載のビデオ画像のスキップマクロブロックの符号化方法。
【請求項１０】
上記スキップマクロブロックの符号化方法は、フレーム符号化にも適応し、体符号化にも適応できることを特徴とする、請求項１に記載のビデオ画像のスキップマクロブロックの符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ画像のマクロブロックタイプに対して符号化する方法に関し、特に、符号化する画像にスキップマクロブロックが含まれたとき、ビデオ画像のスキップマクロブロックに対して符号化する方法に関し、ビデオ符号化分野に属する。
【背景技術】
【０００２】
デジタルテレビ、新世代の携帯通信、広帯域通信、家庭消費電子のようなハイテク産業組の共通技術は、ビデオ／オーディオを主な内容とするマルチメディア情報処理技術に集中されており、特に、データ圧縮技術に集中されている。高効率のビデオＣＯＤＥＣ技術は、高い質量、低いコストのマルチメディアデータの記憶と伝送を実現するキーポイントである。
【０００３】
既存のビデオ標準（例えばＭＰＥＧシリーズとＨ．２６ｘシリーズ）において、何れもスキップマクロブロックモード（Skipped Macroblock）が存在する。所謂スキップマクロブロックは、当該タイプのマクロブロックに対して符号化するとき、符号化するための附加情報（例えば動きベクトル或は残存）が必要しないことを意味し、それは、Ｐフレーム画像とＢフレーム画像だけに存在する。即ち、フレーム間符号化のビデオ画像中に存在し、フレーム内符号化のビデオ画像である例えばＩフレーム中には存在しない。スキップマクロブロックの動きベクトルは、前で処理した隣接するマクロブロック（時間領域或は空間領域）の動きベクトルから導出されたものであり、且つ、残存データ（量子化後の残存が０である）が無い。スキップマクロブロックの処理が他のマクロブロックの処理と異なるため、ビデオに対して符号化するとき、それを標識する必要がある。
【０００４】
ＭＰＥＧ２標準においては、「マクロブロックのアドレスインクリメント」（macroblock_address_increment）を採用して処理したものである。「マクロブロックのアドレスインクリメント」が１より大きい場合、中間に若干のスキップマクロブロックが存在していることを示している。
【０００５】
Ｈ．２６３標準において、専門的な一つのビットである「符号化マクロブロックの標識」（coded macroblock indication）により、符号化データがあるかどうかを標識する。１は、データが無くてスキップマクロブロックであることを表示し、０は、後に符号化したマクロブロックデータがあることを示している。
【０００６】
Ｈ．２６４標準において、スキップマクロブロックに対して、「ランレングス符号化」（run length）を採用して処理し、スキップの数に対して符号化する。そんな処理方式は、ＭＰＥＧ２の「マクロブロックのアドレスインクリメント」方法の構造と同じ、何れも、スキップしたマクロブロックの数に対して符号化する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来技術において、単一の方式を採用してスキップマクロブロックタイプを符号化するので、符号化の効率が低い。スムースなシリアルに対して、量子化パラメータが大きい場合、スキップマクロブロックも多い。その場合、「マクロブロックの標識方式」は、スキップマクロブロックであるかを標識するために、マクロブロック毎に一つのビットが必要になり、効率が低い。しかし、「マクロブロックのアドレスインクリメント」方式を採用する場合、可変長符号（variable - length code）だけを用いて、連続するスキップマクロブロックの数を符号化すればよい。同じように、動きが大きいシリアルに対して、量子化パラメータが小さい場合、スキップマクロブロックも少なく、繰り返されるスキップマクロブロックの数も少なく、頻繁に現れる小さい数値は可変長符号で符号化するに不利である。例えば、可変長符号で数値３を符号化する場合、三つのビット（bit）が必要になる可能性があり、このような小さい数値が多く且つ大きい数値（スキップマクロブロックが繰り返される）が無い場合，固定長符号（fixed-length code）が最も良い符号化効果に達することができる。それと共に、非スキップマクロブロックを標識する単一な０値に対して、「マクロブロックのアドレスインクリメント」方式と「符号化マクロブロック標識」方式の実際の符号化ビットは同じである。その場合、マクロブロックのアドレスインクリメント方式は、可変長符号のメリットを十分に発揮することができなく、符号化の効率も大幅に低下する。
【０００８】
画像を符号化するとき、どのような方式を選択して、スキップマクロブロックを符号化すれば、最も良い符号化効率を取得できるのかは、ビデオ符号化分野でその符号化効率を更に高めることにおいての難題である。
【０００９】
本発明は、スキップマクロブロックの多少に従って、異なる符号化方式を選択してスキップマクロブロックを符号化することにより、符号化効率を高めることができるスキップマクロブロックの符号化方法を提出することにその技術課題がある。
【課題を解決するための手段】
【００１０】
ビデオ画像のスキップマクロブロックの符号化方法であって、下記のステップを含む。
ステップ１、目前画像のスキップマクロブロックの符号化方式を標識するように、ピクチャヘッダに一つの標識ビットを増加する；
ステップ２、スキップマクロブロックの多少に従って、目前画像中のマクロブロックタイプに対する符号化方式を選択し、ランレングス符号化である場合、ステップ３を実行し；スキップマクロブロック数とマクロブロックタイプの連合性符号化である場合、ステップ４を実行する；
ステップ３、ランレングス符号化方式を採用して、画像のマクロブロックタイプを符号化して；ステップ５を実行する；
ステップ４、スキップマクロブロック数とマクロブロックタイプの連合性符号化方式を採用して、画像のマクロブロックタイプを符号化して；ステップ５を実行する；
ステップ５、目前画像を符号化して、コードストリームを入力する。
【発明の効果】
【００１１】
本発明は、二回の符号化或いは経験しきい値により、ビデオ画像のスキップマクロブロックの符号化方式を選択して、画像の符号化効率を高め、伝送及び記憶の代価を減少して、従来のビデオ画像のスキップマクロブロックを符号化するとき、効率が下げる問題点を解決することができ、且つ可用性が強くて、フレーム符号化と体符号化（field coding）の場合にも有効的に使用され、簡単で、実用的な技術案である。
【発明を実施するための最良の形態】
【００１２】
ビデオ画像は複数のマクロブロックからなったので、ビデオ画像に対して符号化するとき、先ず、マクロブロックのタイプを符号化してから、マクロブロック自身を符号化する。全てのマクロブロックを符号化すれば、画像の符号化を完成する。
【００１３】
本発明は、フレーム間符号化のビデオ画像マクロブロックのタイプに対する符号化に関し、スキップマクロブロックをある特殊的なマクロブロックのタイプと考え、マクロブロック自身である例えば動きベクトル、残存（残差）等のデータの符号化に対しては、いずれ一種のマクロブロックの符号化方式を採用することができる。
【００１４】
本発明は、ビットレートと画像質量の要求及びビデオシリアルの特徴に従って、スキップマクロブロックの多い符号化画像は、ランレングス符号化を採用することができ、スキップマクロブロックが少ない符号化画像は、スキップマクロブロック個数とマクロブロックタイプの連合性符号化方式を採用することができるので、異なる応用の要求に良く適応することができる。異なる状況に従って、最適なスキップマクロブロックの符号化方式を採用すれば、符号化効率を高めることができる。
【００１５】
図１に示したように、本発明に係る技術案の符号化する過程には、下記のステップを含む。
ステップ１、目前画像のスキップマクロブロックの符号化方式を標識するように、ピクチャヘッダに一つの標識ビットを増加する；
ステップ２、スキップマクロブロックの多少に従って、目前画像中のマクロブロックタイプに対する符号化方式を選択し、ランレングス符号化である場合、ステップ３を実行し；スキップマクロブロック数とマクロブロックタイプの連合性符号化である場合、ステップ４を実行する；
ステップ３、ピクチャヘッダの標識ビットを、ランレングス符号化状態に設定し、且つランレングス符号化方式を採用して、画像のマクロブロックタイプを符号化して；ステップ５を実行する；
ステップ４、ピクチャヘッダの標識ビットを、連合性符号化状態に設定し、且つスキップマクロブロック数とマクロブロックタイプの連合性符号化方式を採用して、画像のマクロブロックのタイプを符号化して；ステップ５を実行する；
ステップ５、目前画像を符号化して、コードストリームを入力する。
【００１６】
本発明は、ビデオ画像のスキップマクロブロックに対して異なる符号化方式を採用したので、先ず標記する方式を変化する必要があり、標記を減少するために、単一なフレームの全てのスキップマクロブロックは同じ方式を採用して符号化を行う。ピクチャヘッダにたくさんの画像の情報を含んで、ピクチャヘッダに一つのビット（０或いは１）を増加することにより、目前画像のスキップマクロブロックの符号化方式を標識することができ、例えば、予めに設定した当該ビットが１であるとき、ランレングス符号化を示し、０であるとき、スキップマクロブロック数とマクロブロックタイプの連合性符号化を示す。
【００１７】
以下は、本発明がプログラミング言語を採用して書いたプログラムの一つの具体的な実施例である。
pb_picture_header() //ピクチャヘッダ
｛
…………………
skip_code_flag      //その値がスキップマクロブロックの符号化方式を表明する
…………………
next_start_code()    //コードストリームの次のピクチャヘッダを探す｝
【００１８】
その中で、pb_picture_header()は、ピクチャヘッダに一つのビットのデータを増加するために用い、目前画像のスキップマクロブロックの符号化方式を標識するために用いる。具体的に、下記のように実現する：skip_code_flagの長さが一つのビットである場合、１であるとき、符号化標識がランレングス符号化であることを示し、０であるとき、符号化方式がスキップマクロブロック数とマクロブロックタイプの連合性符号化であることを示す。
【００１９】
マクロブロックのタイプを符号化した後、マクロブロック自身のデータを符号化することに係り、即ち、動きベクトルと残存等のデータを符号化してから、データをコードストリームに入力して、目前マクロブロックの符号化を完成する；目前画像の全てのマクロブロックに対して順序的に符号化して、目前画像の符号化を完成する；上記方式を採用して全てのフレーム間符号化のビデオ画像に対して符号化する。
【００２０】
図２で示したように、復号化端は、まず、コードストリームのピクチャヘッダ中からスキップマクロブロックの符号化標識を読み込んで、当該標識の値を判定し、１であるときは、ランレングス符号化を示し、０であるときは、連合性符号化を示す；その後は、対応する方式を採用して、マクロブロックに対する復号化を完成する。
【００２１】
以上の説明から分かるように、本発明のステップ２においての目前画像中のマクロブロックのタイプに対する符号化方式の選択が、本発明の重点であり、二種の方法を採用することができ、その一つは、二回の符号化を採用して、符号化性能を比較して、優れたものを選択し；他の一つは、統計方式により符号化しようとする画像のスキップマクロブロックの多少を推算して、これによりどの符号化方式を採用するかを決める。
【００２２】
図３に示しているものは、スキップマクロブロックを含むフレーム間符号化のビデオ画像の一部分であり、本発明の技術案を詳しく説明する例である。
【００２３】
図４に示しているものは、単一なフレーム画像のスキップマクロブロックの符号化方式が、二回の符号化過程を通じて優れの方案を選択した技術案であり、そのステップは下記の通りである。
ステップ２００、目前の符号化画像の全てのマクロブロックに対して、ランレングス符号化方式を採用して、処理を行った後、対応する符号化性能パラメータを得る；
ステップ２０１、目前の符号化画像に対して二回の符号化を行い、その全てのマクロブロックに対して、スキップマクロブロック数とマクロブロックタイプの連合性符号化方式を採用して、処理を行った後、対応する符号化性能パラメータを得る；
ステップ２０２、符号化を二回行って得られた性能パラメータを総合的に比較して、目前の画像が一番優れなスキップマクロブロックの符号化方式を選択する。
【００２４】
比較する性能パラメータには、符号化率とＳ／Ｎ比（信号／雑音比）が含まれる。上記符号化率は符号化効率である圧縮の比例を意味し、上記Ｓ／Ｎ比葉、圧縮後のディストーション状況を意味する。符号化の要求に従って、どのパラメータを判定の根拠にするかを決め、画像の圧縮率に対する要求が高くて、画像のディストーション状況に対する要求があまり高くない場合、Ｓ／Ｎ比が同一で符号化率が高い符号化方式を採用することができ；画像のディストーション状況に対する要求が高くて、圧縮率に対する要求があまり高くない場合、圧縮率が同一でディストーションが小さい符号化方式を採用することができる。スキップマクロブロックの符号化が符号化画像の質量に対する影響が小さいので、即ち、Ｓ／Ｎ比に対する影響が小さいので、そのときの符号化方式は主に符号化のビットレートに影響を及ぼす。
【００２５】
以下は、二種の符号化方式に対して紹介する。
ランレングス符号化方式は、連続するスキップマクロブロックに対して、可変長符号（Variable-length coding、ＶＬＣと略称する）を用いてスキップした数を符号化する；連続する非スキップマクロブロックの間には、一つのビットである「０」値を増加して標識して、スキップマクロブロックがないことを示さなければならない。このように、コードストリーム中の非スキップマクロブロック毎に対して、表１に示した構成に従って符号化を行う。マクロブロックヘッダ毎に対して、先ずスキップマクロブロックの記数値（skipped macroblock counter）を符号化してから、次の非スキップマクロブロックのマクロブロックのタイプであるｍｂ＿ｔｙｐｅ（macroblock type）を符号化する。そんな方式は、マクロブロックタイプの元の符号化に対して影響を及ばない。スキップマクロブロックの個数は可変長符号（例えばExp-Golomb）により符号化する方式を採用する。
【００２６】
表１、スキップマクロブロックのランレングス符号化方式
【表１】
2007535221.tif 000003
【００２７】
例えば、図３に示したものは、符号化しようとする画像のマクロブロックのタイプであり、毎枠は一つのマクロブロックを示し、色が深いものはスキップマクロブロックである。ランレングス符号化処理方式を採用し：（ｍｂｘは、ｘ個目のマクロブロックの符号化データを示す）、結果は下記の通りである：
【００２８】
（０，ｍｂ０）  （１，ｍｂ２）  （０，ｍｂ３）  （４，ｍｂ８）  （０，ｍｂ９）  （０，ｍｂ１０）  （０，ｍｂ１１）  （１，ｍｂ１３）  （０，ｍｂ１４）  （２，ｍｂ１７）
【００２９】
スキップマクロブロック数とマクロブロックタイプの連合性符号化方式は、Ｐフレーム画像に対して下記の方法ように処理する。Ｐフレーム画像であれば、マクロブロックのタイプにスキップモード（skip mode）を増加し、その平均な出現確率に従って、それがマクロブロックタイプの表中に位置する位置を決め、全てのマクロブロックのタイプ表は、それに従って調整する必要がある。スキップマクロブロックのタイプが出現される確率は、画像によって異なる、あるタイプの画像に対して予め統計することにより、出現される確率を判定することができ、それにより、スキップマクロブロックのタイプがマクロブロックタイプの表中に位置する位置を決めることができる。一般的に、Ｂフレーム画像とＰフレーム画像について、スキップマクロブロックのタイプが出現される確率が高いので、そのmb_typeを０に設定することができる。
【００３０】
例えば、表２に示しているものは、元のＰフレーム画像のマクロブロックのタイプ表である。
【００３１】
表２、Ｐフレーム画像中のマクロブロックのタイプ：
【表２】
2007535221.tif 000004
【００３２】
表３に示しているものは、P_Skipモードを増加したＰフレーム画像のマクロブロックのタイプ表である。P_Skipモードを表の第一項に挿入して、元のほかの項目は順番的に後に延ばす。マクロブロックタイプは、Exp_Golomb符号化方式を採用する。
【００３３】
表３、P_Skipモードを加入したＰフレーム画像中のマクロブロックのタイプ
【表３】
2007535221.tif 000005
【００３４】
連続するスキップマクロブロックに対して、そのスキップ記数値に従って、スキップタイプを使用して、一つ一つ符号化して、一つ一つ標識する。非スキップマクロブロックに対して、それに対応するマクロブロックのタイプ符号化を採用して標識することができる。このように、マクロブロックタイプにより、スキップマクロブロックと非スキップマクロブロックを明瞭に区分することができる。
【００３５】
連合性符号化方式を採用して、図３に示した画像に対して符号化を行った結果は下記の通りである：  
（ＴＹＰＥ−ｍｂ０，ｍｂ０）（０）（ＴＹＰＥ−ｍｂ２，ｍｂ２）（ＴＹＰＥ−ｍｂ３，ｍｂ３）（０）（０）（０）（０）（ＴＹＰＥ−ｍｂ８，ｍｂ８）（ＴＹＰＥ−ｍｂ９，ｍｂ９）（ＴＹＰＥ−ｍｂ１０，ｍｂ１０）（ＴＹＰＥ−ｍｂ１１，ｍｂ１１）（０）（ＴＹＰＥ−ｍｂ１３，ｍｂ１３）（ＴＹＰＥ−ｍｂ１４，ｍｂ１４）（０）（０）（ＴＹＰＥ−ｍｂ１７，ｍｂ１７）。
【００３６】
その中で、ｍｂｘは、ｘ個目のマクロブロック符号化のデータユニットを示し、ＴＹＰＥ−ｍｂｘは、ｘ個目のマクロブロックのタイプを示す。
【００３７】
スキップマクロブロック数とマクロブロックタイプの連合性符号化方式が、Ｂフレーム画像に対する処理には二種の方式を採用することができ、その一つは、Ｐフレーム画像と同じ処理方式を採用して、元のマクロブロックのタイプ表に加入するものであって、ここで説明を省略する；その他の一つは、元のＢフレーム画像の直接モード（B_Direct16x16 mode）符号化を調整して同じ効果に達するものである。
【００３８】
Ｂフレーム画像のマクロブロックタイプが多いので、元のマクロブロックのタイプ表を変化することは、非スキップマクロブロックの符号化に対する影響が大きいであることを考える。ここで、直接（Direct）とスキップ（Skipped）である二種のマクロブロックタイプに対して、元のＢフレーム画像の直接モードにより標識し、マクロブロックパターン（Coded Block Pattern、ＣＢＰと略称する）によりそれらを更に区分する。直接モードは、動きベクトル情報に対して符号化する必要がなく、その動きベクトルは導出されたものであり、その点はスキップ（Skip）モードと同じである。しかし，それに残存データを有することができる。スキップモードは、直接モードの特殊な状況と見ることができ、即ち、残存データの全てが０である直接モードである。ＣＢＰは、どの８×８ブロックに残存データが有するかを標識して、目前マクロブロックの残存データの全てが０であれば、そのＣＢＰは０になる。
【００３９】
スキップマクロブロック毎の符号化方式は、直接モードの符号化値が、ＣＢＰが０である符号化値に隣接するものであり（スキップマクロブロックは、残存データがなくて、ＣＢＰが０である）、直接マクロブロックの符号化方式は、直接モードの符号化値が、ＣＢＰが０ではない符号化値に隣接するものであり、他の非スキップマクロブロックは、対応するマクロブロックタイプに従って符号化すればいい。このようにＣＢＰの協力により、直接とスキップとの二種の符号化モードを区分することができるとともに、元のマクロブロックのタイプ表を修訂する必要がないので、他のマクロブロックの符号化モードには影響が無い。具体的な符号化は表４に示している。
【００４０】
表４：  Ｄｉｒｅｃｔ＋ＣＢＰ  方式
【表４】
2007535221.tif 000006
【００４１】
復号化処理を行うとき、読み込んだマクロブロックタイプが、直接モードである場合、その後のＣＢＰ数値を読み込む必要がある。例えば、ＣＢＰが０である場合、目前のマクロブロックがスキップマクロブロックであり、その後のデータは、次のマクロブロックであり；ＣＢＰが０ではない場合、目前のマクロブロックは、本当のＤｉｒｅｃｔマクロブロックであり、その後のデータは、目前ブロックの残存データである。
【００４２】
二回の符号化により、最適なスキップマクロブロックを選択する符号化方式は、その速度が遅いので、自己適応性モードを採用して符号化方式を早く選択することができる。
【００４３】
図５に示したように、符号化する毎に、目前のフレームのスキップマクロブロックの比例であるＲｓｋｉｐを統計する。次のフレームを符号化する前に、前のフレームの統計情報を参考して、ビデオシリアルの内容相関性により、次のフレームのスキップマクロブロックの比例を予測することができる。経験しきい値（Threshold）より大きい場合、次のフレームのスキップマクロブロックの数も多く、その場合、ランレングス符号化方式を採用し；経験しきい値（Threshold）より小さい場合、スキップマクロブロックの数も少なく、スキップマクロブロック数とマクロブロックタイプの連合性符号化方式を採用する。
【００４４】
しきい値の選択は、量子化パラメータ（ＱＰ）と関係があり、異なるＱＰ値は異なるしきい値を採用する。量子化パラメータ（ＱＰ）により、符号化画像の質量を大概に制御することができ、量子化パラメータが大きいほど、画像の質量が悪くなり、ビットレートも低い、圧縮率も高める、その場合、スキップマクロブロックが出現される比例が増大する。
【００４５】
異なる画像に含まれているマクロブロックの数も異なるので（例えば、解像度の高い画像のマクロブロックの数は多い）、しきい値の変化がとても大きく、一般的には３５−５５％間にある；最もよい符号化効率を得るために、統計する方式を採用して、二種の符号化方式の効果を比べることができ、本発明のしきい値は、統計の結果により得られる。大多数の場合は、符号化に用いられる資源が多いので、実際の応用要求に従って、幾つかの代表的なコードストリームを予め選択して、前記した二回の符号化方法により、そんな応用要求においての典型なコードストリームのスキップマクロブロックの分布特徴を統計して、目前の応用に適応する最適な経験しきい値を獲得する。ソフトウェアにより、符号化を始まるとき、先ず二回の符号化方式で複数フレーム間の符号化画像を符号化すると共に、対応するスキップマクロブロックの分布特徴を統計して、目前シリアルの経験しきい値を得り、その後のシリアルの符号化は、全部高速なモード選択方式に従って行う。
【００４６】
例えば、自己適応の高速算法を採用するとき、ＱＰが３７であれば、解像度の高いシリアル（１２８０×７２０）は、画像毎に３６００個のマクロブロックを有し、前のフレーム画像のスキップマクロブロックの総数が１４４０個より大きいと、目前フレームのスキップマクロブロック符号化は、ランレングス符号化方式を採用し；そうではないと、連合性符号化方式を採用する。ＣＩＦシリアル（３５２×２８８）は、画像毎に３９６個のマクロブロックを有し、前のフレームのスキップマクロブロックの数が１９８個より大きい場合、ランレングス符号化方式を採用し、そうではないと、連合性符号化方式を採用する。
【００４７】
統計に基づいた自己適応性符号化方法を採用することは、空間複雑度を増加しなく、時間複雑度の面で増加された計算量も非常に小さい、且つ画像の時間領域相関性のため、大多数の場合、そんな推測は非常に良い符号化効果が得られる。
【００４８】
本発明の技術案を分析することにより、当該方法は伝統的なビデオＣＯＤＥＣの流れに対する変化が小さく、フレーム符号化或いは体符号化（field coding）でも、有効的に採用でき、伝統的なフレーム体符号化（field coding）の流れに組み合わせることができる。
【００４９】
最後に説明すべきことは、以上の実施例は本発明を説明するためであり、限定する意味ではない。好ましい実施例を参照して、本発明に対して詳しく説明しましたが、本発明に対して修正或いは変更を行うことは、当業者対して理解できることであり、本発明の旨と範囲を超えなく、本発明の特許請求の範囲に含まれている。
【図面の簡単な説明】
【００５０】
【図１】本発明のスキップマクロブロックの符号化を組み込んだユニバーサルな符号化のフロー図である。
【図２】本発明のスキップマクロブロックの復号化を組み込んだユニバーサルな復号化のフロー図である。
【図３】スキップマクロブロックを含む画像マクロブロックの実施例を示す図面である。
【図４】本発明の二回の符号化を採用して符号化方式を選択したフロー図である。
【図５】本発明の統計情報に基づいて符号化方式を選択したフレー図である。
【図１】
2007535221.tif 000007
【図２】
2007535221.tif 000008
【図３】
2007535221.tif 000009
【図４】
2007535221.tif 000010
【図５】
2007535221.tif 000011
【国際調査報告】
2007535221.tif 000012
2007535221.tif 000013
2007535221.tif 000014
2007535221.tif 000015