(57)【特許請求の範囲】
【請求項１】
動画像を構成する時系列なフレームを符号化するにあたって、複数フレーム間のデータの相関関係に基づいて処理対象となっている対象フレームを符号化するフレーム間符号化と、前記対象フレーム内のデータに基づいて当該対象フレームを符号化するフレーム内符号化とを併用する動画像の符号化方法において、
符号化装置が、
前記フレームを所定の複数区画に分割しておき、
時系列な連続する２フレーム上の画像間における変化の度合いを示す所定の画像変化量を、フレーム上の前記区画ごとに検出し、
前記各区画について、前記画像変化量を時系列なフレームごとに順次加算したうえで、その加算結果の値が大きいものほど優先的に選択し、前記対象フレーム上の少なくとも選択した区画については、前記フレーム内符号化を行い、
前記加算結果の値は、前記区画ごとに、その区画について当該フレーム内符号化を行った時点で所定の初期値に戻し、当該初期値から再度、前記加算を行って増大させることを特徴とする動画像の符号化方法。
【請求項２】
請求項１の動画像の符号化方法において、
符号化装置が、
前記加算結果の値が大きい区画ほど優先して所定数の区画について、前記フレーム内符号化を行うことを特徴とする動画像の符号化方法。
【請求項３】
請求項１の動画像の符号化方法において、
符号化装置が、
前記加算結果について予め所定の閾値を設定しておき、前記加算結果の値が当該閾値を超えるすべての区画について、前記フレーム内符号化を行うことを特徴とする動画像の符号化方法。
【請求項４】
請求項１の動画像の符号化方法において、
符号化装置が、
前記画像変化量のうち対象フレームを符号化する時点における最新のものは、対象フレームの直前のフレームと当該対象フレームの２つ前のフレームに基づき検出することを特徴とする動画像の符号化方法。
【請求項５】
請求項１の動画像の符号化方法において、
符号化装置が、
前記画像変化量のうち対象フレームを符号化する時点における最新のものは、対象フレームと当該対象フレームの直前のフレームに基づき検出することを特徴とする動画像の符号化方法。
【請求項６】
動画像を構成する時系列なフレームを符号化するにあたって、複数フレーム間のデータの相関関係に基づいて処理対象となっている対象フレームを符号化するフレーム間符号化と、前記対象フレーム内のデータに基づいて当該対象フレームを符号化するフレーム内符号化とを併用する動画像の符号化装置において、
前記フレームを所定の複数区画に分割するフレーム分割手段と、
時系列な連続する２フレーム上の画像間における変化の度合いを示す所定の画像変化量を、フレーム上の前記区画ごとに検出する画像変化量検出手段と、
前記各区画について、前記画像変化量を時系列なフレームごとに順次加算したうえで、その加算結果の値が大きいものほど優先的に選択し、前記対象フレーム上の少なくとも選択した区画については、前記フレーム内符号化を行わせると共に、前記加算結果の値は、前記区画ごとに、その区画について当該フレーム内符号化を行った時点で所定の初期値に戻し、当該初期値から再度、前記加算を行って増大させる符号化モード選択手段を備えることを特徴とする動画像の符号化装置。
【請求項７】
請求項６の動画像の符号化装置において、
前記加算結果の値が大きい区画ほど優先して所定数の区画について、前記フレーム内符号化を行うことを特徴とする動画像の符号化装置。
【請求項８】
請求項６の動画像の符号化装置において、
前記加算結果について予め所定の閾値を設定しておき、前記加算結果の値が当該閾値を超えるすべての区画について、前記フレーム内符号化を行うことを特徴とする動画像の符号化装置。
【請求項９】
請求項６の動画像の符号化装置において、
前記画像変化量のうち対象フレームを符号化する時点における最新のものは、対象フレームの直前のフレームと当該対象フレームの２つ前のフレームに基づき検出することを特徴とする動画像の符号化装置。
【請求項１０】
請求項６の動画像の符号化装置において、
前記画像変化量のうち対象フレームを符号化する時点における最新のものは、対象フレームと当該対象フレームの直前のフレームに基づき検出することを特徴とする動画像の符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像の符号化方法及び装置に関し、たとえばＭＰＥＧ２などで符号化処理を行うにあたり、フレーム間符号化とフレーム内符号化の双方を用意している場合に適用し得るものである。
【０００２】
【従来の技術】
近年のディジタル通信において、膨大な情報量をもつ動画像データを送信しようとするさいには、そのデータは高度に圧縮される。
【０００３】
一般的で標準的な動画像符号化方式において、空間方向の冗長度を低減するにはひとつのフレーム内で画像に直交変換を施して符号化することによりフレーム内符号化、すなわちＩＮＴＲＡモード符号化が行われ、時間方向の冗長度を低減するには、時間的にまえのフレームとの差分を符号化してフレーム間符号化（フレーム間予測符号化）、すなわちＩＮＴＥＲモード符号化が行われる。
【０００４】
このようにして符号化された動画像圧縮データは高度に圧縮されているため、伝送誤りなどでデータが損なわれると、その影響は時間的、空間的に広範囲に波及する。すなわち、当該１フレーム内では画像が大きく歪み、前記差分操作を介して以後に伝送されてくるフレームに歪みがそのまま伝搬されてゆく。
【０００５】
現在標準化になっているＩＴＵ−Ｔ／Ｈ．２６１やＭＰＥＧ２などの動画像符号化方式では、画像をマクロブロック（１６画素×１６画素）単位に区切り、各マクロブロックを符号化する。
【０００６】
符号化されたこのマクロブロックをいくつかまとめて、たとえば図２（Ａ）に示す１画面（フレーム）Ｐ１内で、ＦＳ１などのスライスをつくる。ＭＰＥＧ２におけるスライスとは、可変長符号の同期をとるための同期符号語（すなわち開始コード）をもつ一連のデータ列のなかの最小単位である。
【０００７】
当該スライスに相当する単位は、前記Ｈ．２６１ではＧＯＢ（Ｇｒｏｕｐ  ｏｆ  Ｂｌｏｃｋ）であるが、以下ではこのＧＯＢも前記スライスもまとめてスライスとよぶ。
【０００８】
データの欠落や誤りがあると、当該データ欠落や誤りの生じたスライスでは正常に復号することができないが、前記同期符号語により次のスライスからは正常に復号されることが期待される。
【０００９】
ところが実際には、圧縮率を高めるために時間的にまえのフレームを参照するフレーム間符号化（ＩＮＴＥＲモード）を用いているので、あるフレームで復号誤りが生じると、以後のフレームにもその影響が波及してしまう。
【００１０】
すなわち正常な復号が行われると図２（Ａ）のＰ１→Ｐ２→Ｐ３と連続するフレームが、復号誤りがあると同図（Ｂ）に示すように、ＰＥ１→ＰＥ２→ＰＥ３に変わる。
【００１１】
図２（Ｂ）では、フレームＰＥ２の第４スライスＦＳ４に誤りが生じたために、フレームＰＥ２の第４スライスＦＳ４については直前のフレームＰＥ１の第４スライスＦＳ４をそのまま表示している。この操作のためにフレームＰＥ２では、本来ひとつである被写体ＯＢ１がＯＢ２とＯＢ１’の２つの被写体に別れたかのような劣化した画像表示になっている。さらに、正しいフレームＰ２とフレームＰ３の差分と動き情報に相当する情報を、すでに劣化しているフレームＰＥ２に加算することによって、劣化したフレームＰＥ３が生成される。すなわちフレームＰＥ２の第４スライスＦＳ４で生じた誤りがそのあとのフレームＰＥ３の第３、第４スライスＦＳ３およびＦＳ４に波及している。
【００１２】
このような誤り伝搬を防止するために行われる操作がリフレッシュである。リフレッシュでは、まえのフレームを参照しないＩＮＴＲＡモード符号化を強制的に一定周期で行う。まえのフレーム、すなわち誤りが波及しているフレームを参照しないので、ＩＮＴＲＡモード符号化の対象となったフレームで当該誤りの波及が阻止できる。
【００１３】
スライス単位でリフレッシュすることをＩＮＴＲＡスライスと呼び、フレーム単位でリフレッシュすることをＩＮＴＲＡフレームと呼ぶ。ＩＮＴＲＡスライスおよびＩＮＴＲＡフレームについては、次の文献１に記載されている。
【００１４】
文献１  「セル廃棄耐性を有するＡＴＭ画像符号化方式」
著者    町田  豊      行武  剛
出典    １９９２年画像符号化シンポジウム（ＰＳＣＪ９２）（ｐｐ．２０５−２０８）
文献１の３．３節  ａ）の定期的なＩＮＴＲＡフレームの挿入と、  ｂ）の巡回的なＩＮＴＲＡスライスがそれに当たる。
【００１５】
文献１の計算機シミュレーションにおいて、ＩＮＴＲＡフレームは１５フレームおきに挿入されており、ＩＮＴＲＡスライスは図３に示すように２スライス連接して挿入される。
【００１６】
図３において、ＰＮ〜ＰＮ＋２は時間的に連続するフレームで、フレームＰＮでは第１および第２スライスが、フレームＰＮ＋１では第３および第４スライスが、フレームＰＮ＋２では第５および第６スライスがそれぞれＩＮＴＲＡスライスを行う２スライスである。
【００１７】
またこのほかの方法としては、マクロブロック単位でリフレッシュする方法も一般に行われている。
【００１８】
このような従来のリフレッシュ方法を実行する動画像符号化器１０を図４に示す。この動画像符号化器１０では動画像データを符号化するにあたって、１フレームを前記スライス（ＧＯＢ）、マクロブロックに分割する。
【００１９】
図４において、符号化するビデオ信号の供給を受けた情報源符号器１１は、このビデオ信号に対し情報源符号化を施す回路である。この情報源符号化では、符号化制御１８からの出力にしたがってマクロブロックごとに動き補償フレーム間予測の予測誤差あるいは原データの直交変換を行い、量子化する。量子化パラメータである量子化ステップサイズは、符号化制御１８の量子化ステップサイズ決定器１７から情報源符号器１１にもたらされる。
【００２０】
一方で情報源符号器１１は、当該ビデオ信号から予測誤差データと原データの分散値を得て、これらをＩＮＴＲＡ／ＩＮＴＥＲモード判定器１６に送出する。
【００２１】
この予測誤差データは、フレーム内の同一位置だけでなく、ある限定された画素範囲内（たとえば±１５画素）でずらしてみて、最も差分が小さくなる位置の最小予測誤差データである。
【００２２】
最小予測誤差データと原データの分散値の供給を受けたＩＮＴＲＡ／ＩＮＴＥＲモード判定器１６は、当該最小予測誤差データと原データの分散値を比較することによって、ＩＮＴＲＡモードまたはＩＮＴＥＲモードの判定を行い、その判定結果を制御信号として出力する。
【００２３】
また情報源符号器１１で量子化されたデータは、ヘッダ情報などとともに出力信号として、情報源符号器１１からビデオ信号多重化符号器１２に供給される。
【００２４】
そしてビデオ信号多重化符号器１２は、当該量子化データに可変長符号化を施し、ヘッダ情報を多重化する。
【００２５】
さらに、ＩＮＴＲＡ／ＩＮＴＥＲモード判定器１６が出力する前記判定結果と、量子化ステップサイズ決定器１７からの量子化ステップサイズも、ビデオ信号多重化符号器１２によって多重化される。
【００２６】
ビデオ信号多重化符号器１２で多重化されたデータは、送信バッファ１３にいったん蓄積されたあとで、伝送路符号器１４で伝送路符号による符号化を施されて伝送路へ送出される。伝送路符号としては、たとえばＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）符号などの誤り訂正符号が用いられる。
【００２７】
送信バッファ１３に蓄積されているデータ量を認識している前記量子化ステップサイズ決定器１７は、情報源符号器１１およびビデオ信号多重化符号器１２に対し、量子化ステップサイズを制御信号として供給することで、送信符号量を制御する。
【００２８】
リフレッシュする機能をもっているのは、情報源符号器１１、ビデオ信号多重化符号器１２であるが、そのタイミングを決めるために巡回的数発生器１９と、一致判定器１５とが必要になる。
【００２９】
巡回的数発生器１９はリフレッシュするフレーム（あるいはスライス、あるいはマクロブロック）を指定する巡回する値（番号）を出力する回路である。
【００３０】
巡回的数発生器１９の出力する巡回値はたとえば、
０，１，２，３，…，Ｎ−１，０，１，２，３，…，Ｎ−１，０，１，…
や
０，３，６，９，…，３Ｎ，０，３，６，９，…，３Ｎ，０，３，…
などである。
【００３１】
また巡回的数発生器１９は、同時に複数の値を出力してもよく。たとえば同時に３つの巡回値を出力する場合には、
（０，１，２），（３，４，５），…，（３Ｎ，３Ｎ＋１，３Ｎ＋２），（０，１，２），…
のような値を発生する。
【００３２】
巡回的数発生器１９からこのような巡回値を受け取った一致判定器１５は、情報源符号器１１などが処理しようとしているフレーム、スライス、マクロブロックが、前記巡回値が指定するタイミングに一致しているかどうかを判定し、その判定結果をＩＮＴＲＡ／ＩＮＴＥＲモード判定器１６に供給する。
【００３３】
当該判定結果が一致判定の場合にはＩＮＴＲＡ／ＩＮＴＥＲモード判定器１６が出力する前記制御信号はＩＮＴＲＡモードを示す。
【００３４】
したがってこの制御信号を受け取った情報源符号器１１およびビデオ信号多重化符号器１２は、該当するタイミングで入力されたフレーム、スライス、マクロブロックに対してリフレッシュを行うことができる。
【００３５】
たとえばこの動画像符号化器１０を用いてマクロブロック単位でリフレッシュする場合の動作の一例を図５に示す。このフローチャートは、ＭＢＫＳ個のマクロブロックを有している１フレームについて３個のマクロブロックＵＰＤ１、ＵＰＤ２、ＵＰＤ３をリフレッシュする例を示している。各マクロブロックには０〜ＭＢＫＳ−１の番号が付されているものとする。
【００３６】
図５において、まず初期状態のステップＡ１では３個のマクロブロックＵＰＤ１〜３に対し、連続する３つのマクロブロック番号０，１，２を設定する。
【００３７】
マクロブロック番号０，１，２は、フレームをマクロブロック単位に分割して示した図６において、第２フレームＦ２の最初の（すなわち左上端の）３つの連続するマクロブロック０，１，２に対応する。図６に示された４つのフレームは、ビデオ信号として動画像符号化器１０に入力される時系列のフレームのうち、任意の連続する４つのフレームを示している。
【００３８】
次いでステップＡ２では、符号化しようとするマクロブロックのマクロブロック番号であるＭＢＫを０に設定する。
【００３９】
そして、当該マクロブロックを含むフレームが最初のフレームであるかどうかを判定し、判定結果に応じて分岐する（Ａ３）。最初のフレームであればマクロブロック番号ＭＢＫの当該マクロブロックをＩＮＴＲＡモードで符号化し（Ａ５）、ステップ７に進む。
【００４０】
ステップＡ３で最初のフレームでないと判定された場合には、当該ＭＢＫがリフレッシュすべきマクロブロック番号であるかどうか、すなわち各ＵＰＤに設定された番号と当該ＭＢＫが一致するかどうかがさらに判定される（Ａ４）。一致する場合には、当該ＭＢＫをマクロブロック番号とするマクロブロックがＩＮＴＲＡモードで符号化される（Ａ５）。
【００４１】
ステップＡ１で連続する３つのマクロブロックに番号が設定されているので、このステップ４では当該３つのマクロブロックについて判定される。３つのマクロブロックのうちひとつでも判定がＹＥＳならステップ４の判定結果はＹＥＳで、ステップＡ５へ進む。
【００４２】
ステップＡ１およびＡ２の設定によって繰り返しの１回目では、ＭＢＫ＝ＵＰＤ１（＝０）なので、ＵＰＤ１だけがステップ５でＩＮＴＲＡモード符号化されることになる。
【００４３】
ステップＡ４で３つのマクロブロックすべてについて判定がＮＯの場合に判定結果がＮＯとなり、ステップＡ６に進む。
【００４４】
ステップＡ６では、マクロブロック内の輝度値の分散によりＩＮＴＲＡ／ＩＮＴＥＲモード判定を行う。
【００４５】
前記ステップＡ５からも当該ステップＡ６からもステップＡ７に進む。このステップＡ７では当該ＭＢＫがそのフレームの最後の（図６の各フレームで右下端の）マクロブロックを指定しているかどうかを判定する。判定がＮＯの場合には当該ＭＢＫをインクリメントして（Ａ８）、前記ステップＡ３にもどる内側のループが繰り返される。
【００４６】
当該ＭＢＫがそのフレームで最後のマクロブロックを指定している場合には、ステップＡ９へ進む。ステップＡ９では前記ビデオ信号の入力画像が終わりかどうかが調べられ、終わりでなければ（ステップＡ９のＮＯ）、外側のループが繰り返されてＵＰＤ１、ＵＰＤ２、ＵＰＤ３の番号がそれぞれ“３”だけ増加される（Ａ１０）。
【００４７】
これにより図６の第２フレームＦ２で（ＵＰＤ１，ＵＰＤ２，ＵＰＤ３）＝（０，１，２）であったものがその直後の第３フレームＦ３では、（ＵＰＤ１，ＵＰＤ２，ＵＰＤ３）＝（３，４，５）に変化する。そして図６に示すように、次回繰り返しの第４フレームＦ４では（ＵＰＤ１，ＵＰＤ２，ＵＰＤ３）＝（６，７，８）に変化する。
【００４８】
すなわちリフレッシュするマクロブロックは、横に連続した３つのマクロブロックであり、これがフレームごとに３マクロブロックずつずれてゆく。したがってステップＡ１０の処理は、
ＵＰＤｉ＝ＵＰＤｉ＋３（ｍｏｄ  ＭＢＫＳ）    （ｉ＝１，２，３）
と書くことができる。
【００４９】
このステップＡ１０からは前記ステップＡ２へと進み、新たな１フレームについての最初のマクロブロックの処理が開始される。
【００５０】
そしてステップＡ９で入力画像が終わりと判定されると、このフローチャートによる処理は終了する。
【００５１】
【発明が解決しようとする課題】
一般に、ＩＮＴＥＲモード符号化に比べてＩＮＴＲＡモードの符号化は、符号化による符号量の増加が著しいため、ＩＮＴＲＡリフレッシュを行い符号化するデータ量を限定し、効率的な処理を実行することが求められる。
【００５２】
一方で、データの欠落や誤りがあっても、画像のなかの動かない部分は、まえのフレーム中の同じ部分をそのまま表示することで歪みなどの影響を感じさせず、リフレッシュを必要としない。
【００５３】
反対に、たとえば図２（Ｂ）の第２フレームＰＥ２の第４スライスＦＳ４のように画像が大きく歪んでしまった場合には、そのあとのできるだけ早期のフレームでリフレッシュする必要がある。
【００５４】
ところが以上のような従来のリフレッシュ方法では、当該画像の内容にかかわりなく一定周期でＩＮＴＲＡモード符号化を行っている。したがって前記の動かない部分までリフレッシュして不必要に符号量を増加する一方で、大きく歪んだ部分が以後に伝送されてくるフレームにそのまま伝搬されてゆのを、一定周期がまわってくるまで表示しつづけなければならなかった。
【００５５】
すなわち従来の符号化方法は、符号化性能に不足な面と過剰な面があって、効率の悪い符号化を行っていた。
【００５６】
【課題を解決するための手段】
かかる課題を解決するために第１の発明では、動画像を構成する時系列なフレームを符号化するにあたって、複数フレーム間のデータの相関関係に基づいて処理対象となっている対象フレームを符号化するフレーム間符号化と、前記対象フレーム内のデータに基づいて当該対象フレームを符号化するフレーム内符号化とを併用する動画像の符号化方法において、符号化装置が、（１）前記フレームを所定の複数区画に分割しておき、（２）時系列な連続する２フレーム上の画像間における変化の度合いを示す所定の画像変化量を、フレーム上の前記区画ごとに検出し、（３）前記各区画について、前記画像変化量を時系列なフレームごとに順次加算したうえで、その加算結果の値が大きいものほど優先的に選択し、前記対象フレーム上の少なくとも選択した区画については、前記フレーム内符号化を行い、（４）前記加算結果の値は、前記区画ごとに、その区画について当該フレーム内符号化を行った時点で所定の初期値に戻し、当該初期値から再度、前記加算を行って増大させることを特徴とする。
【００５７】
また、第２の発明では、動画像を構成する時系列なフレームを符号化するにあたって、複数フレーム間のデータの相関関係に基づいて処理対象となっている対象フレームを符号化するフレーム間符号化と、前記対象フレーム内のデータに基づいて当該対象フレームを符号化するフレーム内符号化とを併用する動画像の符号化装置において、（１）前記フレームを所定の複数区画に分割するフレーム分割手段と、（２）時系列な連続する２フレーム上の画像間における変化の度合いを示す所定の画像変化量を、フレーム上の前記区画ごとに検出する画像変化量検出手段と、（３）前記各区画について、前記画像変化量を時系列なフレームごとに順次加算したうえで、その加算結果の値が大きいものほど優先的に選択し、前記対象フレーム上の少なくとも選択した区画については、前記フレーム内符号化を行わせると共に、前記加算結果の値は、前記区画ごとに、その区画について当該フレーム内符号化を行った時点で所定の初期値に戻し、当該初期値から再度、前記加算を行って増大させる符号化モード選択手段を備えることを特徴とする。
【００５８】
【発明の実施の形態】
（Ａ）実施形態
以下、本発明にかかる動画像の符号化方法及び装置の一実施形態について説明する。
【００５９】
本実施形態の動画像符号化器は、従来の動画像符号化器１０が画像内容にかかわりなく巡回的に決めていたリフレッシュするフレーム（あるいはスライス、あるいはマクロブロック）の番号を、画像内容すなわち画像の変化量の累積に基づいて決定することを特徴とする。
【００６０】
（Ａ−１）実施形態の構成
本実施形態の動画像符号化器２０を図１に示す。動画像符号化器２０の構成部分のうち大部分は図４に示した従来の動画像符号化器１０の各部分に対応しているので、対応する部分については詳しい説明を省略する。
【００６１】
すなわち図１において、情報源符号器２１は前記情報源符号器１１に対応し、ビデオ信号多重化符号器２２は前記ビデオ信号多重化符号器１２に対応し、送信バッファ２３は前記送信バッファ１３に対応し、伝送路符号器２４は前記伝送路符号器１４に対応し、一致判定器２６は前記一致判定器１５に対応し、ＩＮＴＲＡ／ＩＮＴＥＲモード判定器２７は前記ＩＮＴＲＡ／ＩＮＴＥＲモード判定器１６に対応し、量子化ステップサイズ決定器２８は前記量子化ステップサイズ決定器１７に対応し、符号化制御２９は前記符号化制御１８に対応する。
【００６２】
ただし動画像符号化器２０のＩＮＴＲＡ／ＩＮＴＥＲモード判定器２７が情報源符号器２１から受け取るデータには、上述した最小予測誤差データと原データの分散値に加えて、同一位置の予測誤差データの分散値（ＳＡＤ）も含まれる。
【００６３】
このＳＡＤは、値が大きいほどその部分の画像の変化が激しいことを意味する数値で、たとえば輝度値に基づいてマクロブロック、スライスまたはフレーム単位で計算される。予測誤差データは連続する２つのフレーム間の画像変化に基づいて決まるので、その絶対値誤差を足しあわせて得た分散値であるＳＡＤは、連続する２つのフレーム間の画像変化の大きさを示すことになる。各マクロブロック番号ＭＢＫ（またはｉ）のＳＡＤを、ＳＡＤ［ＭＢＫ］（またはＳＡＤ［ｉ］）と書く。
【００６４】
ここで、マクロブロック番号は、フレーム上の空間的な位置を示す番号で、異なるマクロブロック番号はフレーム上の異なるマクロブロックを指定し、連続するマクロブロック番号は基本的にフレーム上の連続するマクロブロックを指定する。マクロブロックに限らずフレーム上の番号の概念は、これに準ずるものとする。
【００６５】
前記巡回的数発生器１９にかわって動画像符号化器２０には、ＳＡＤソーティング３０およびＳＡＤ保持部３１が設けられている。
【００６６】
本実施形態では前記ＳＡＤがマクロブロック単位で計算されるものとし、ＳＡＤ保持部３１は、画像１フレーム内に設定されるマクロブロックの数と同数の整数値を保持できるだけのアドレス空間をもつメモリを備えた装置であり、各アドレスに各マクロブロックのＳＡＤの累積値を保持する。
【００６７】
ＳＡＤの累積値とは、連続する２つのフレーム間の画像変化に応じて決まる各マクロブロックのＳＡＤを、同一マクロブロック番号のマクロブロックについて順次に加算してゆくことによって得られる。したがって時間経過とともに前記メモリの各アドレスでは、各マクロブロックのＳＡＤの累積値が、画像変化に対応した異なる速度で大きくなってゆく。フレーム内で画像変化が激しい領域ほどＳＡＤが大きくなるので、画像変化が激しい領域ほどＳＡＤの累積値が増加するペースがはやい。
【００６８】
なお、前記ＳＡＤがスライス単位で計算される場合には、当該メモリの各アドレスは各スライスのＳＡＤの累積値を保持することになる。
【００６９】
新たなフレームを符号化するたびに前記ＳＡＤ保持部３１は、前記ＩＮＴＲＡ／ＩＮＴＥＲモード判定器２７からＳＡＤを受け取り、保持している各マクロブロックごとのＳＡＤの累積値にこれを加算したものを新たな累積値として保持する。
【００７０】
ＳＡＤソーティング３０はＳＡＤ保持部３１が保持しているＳＡＤの累積値が大きい順にソーティングするソータである。
【００７１】
ソーティングされた累積値データ列を受け取る符号化制御２９内の上位ｎ選択器２５は、累積値データ列のなかで累積値が大きい方からｎ個（上位ｎ個）のデータを選択し、選択した累積値に対応するマクロブロックの番号を一致判定器２５に出力する回路である。
【００７２】
本実施形態では、前記ｎとして、ｎ＝３を用いるものとする。
【００７３】
また上位ｎ選択器２５は当該マクロブロック番号を受け取ったあとで、ＳＡＤ保持部３１が内蔵する前記メモリのアドレス空間のうち、選択された３つの累積値が格納されていたアドレスを指定し、その記憶データをリセットして“０”にする機能を備えている。
【００７４】
これにより前記３つにもれた、４番目以下の累積値のマクロブロックが次フレーム以降の処理でリフレッシュ対象となり、リセットされた累積値は当該マクロブロック部分の画像変化に応じたペースで“０”から累積されてゆく。
【００７５】
前記上位ｎ個のマクロブロック番号を、ＵＰＤｉ（ｉ＝０〜ｎ−１）と書くと、本実施形態では上位３個のマクロブロック番号はＵＰＤ１〜ＵＰＤ３となる。
【００７６】
ＵＰＤ１〜ＵＰＤ３を受け取った一致判定器２６は、あわせて情報源符号器２１の符号化しようとするマクロブロックの番号（ＬＯＣ）を当該情報源符号器２１から受け取って、これら２種類のマクロブロック番号ＵＰＤｉとＬＯＣを比較する。比較の結果ひとつでも一致するものがあれば、一致判定器２６はＩＮＴＲＡ／ＩＮＴＥＲモード判定器２７に対し、「一致」信号を出力する。
【００７７】
上述したように、情報源符号器２１から最小予測誤差データ、原データの分散値およびＳＡＤを受け取るＩＮＴＲＡ／ＩＮＴＥＲモード判定器２７は、符号化モード、すなわちＩＮＴＲＡ／ＩＮＴＥＲモードの判定を行う。そしてこの判定結果を、情報源符号器２１とビデオ信号多重化符号器２２に出力するとともに、ＳＡＤをＳＡＤソーティング３０に供給する。
【００７８】
ここで、ＩＮＴＲＡ／ＩＮＴＥＲのモード判定がＩＮＴＲＡになった場合は、ＳＡＤ保持部３１が保持する該当マクロブロックの累積値をリセットするようにしてもよい。
【００７９】
ただしＩＮＴＲＡ／ＩＮＴＥＲモード判定器２７は、一致判定器２６から「一致」信号を受信した場合には、この判定の結果にかかわらず、優先的かつ強制的にＩＮＴＲＡモードであるとの強制判定結果を出力する。当該強制判定結果は前記判定結果と同様に、前記情報源符号器２１とビデオ信号多重化符号器２２に供給される。
【００８０】
以下、上記のような構成を有する本実施形態の動作について説明する。
【００８１】
（Ａ−２）実施形態の動作
前記動画像符号化器２０のリフレッシュ動作を図７のフローチャートに示す。このフローチャートは、上述の図５と同様に１フレーム当たり３つのマクロブロックをリフレッシュする例である。
【００８２】
図７において、まず最初のステップＢ１では、連続するＵＰＤ１、ＵＰＤ２、ＵＰＤ３をすべて“−１”に設定するとともに、マクロブロック番号ｉのアドレスに格納されているＳＡＤの累積値データ、ＳＡＤＳＵＭ［ｉ］を“０”に設定する。このｉは１フレーム内のマクロブロック番号なので、０≦ｉ≦ＭＢＫＳ−１の範囲をもつ。
【００８３】
そしてＭＢＫをＭＢＫ＝０に設定する（Ｂ２）ことで、前記最初のマクロブロックから処理をはじめる。
【００８４】
いま処理しようとしているフレームが最初のフレームであれば（Ｂ３のＹＥＳ）、マクロブロック番号ＭＢＫのフレームをＩＮＴＲＡモードで符号化するとともに、ＳＡＤＳＵＭ［ＭＢＫ］を０に設定する（Ｂ７）。
【００８５】
はじめはＭＢＫ＝０なので、最初のフレームでは無条件で最初のマクロブロックがＩＮＴＲＡモード符号化（リフレッシュ）されることになる。ひとたびリフレッシュされたマクロブロックについては、次のフレームから新たなＳＡＤを累積するために当該累積値データをリセットして初期値“０”にもどす。
【００８６】
ステップＢ７の次はステップＢ９へ進む。
【００８７】
一方、いま処理しようとしているフレームが最初のフレームでない場合（Ｂ３のＮＯ）には、当該ＭＢＫのマクロブロックについて前記ＳＡＤ［ＭＢＫ］を計算する（Ｂ４）。
【００８８】
ＳＡＤ［ＭＢＫ］すなわちＳＡＤ［ｉ］は、いま符号化しようとしているフレームの直前の（１つまえの）フレームにおけるマクロブロック番号ｉのマクロブロックと、２つまえのフレームにおけるマクロブロック番号ｉのマクロブロックとのあいだで求められたＳＡＤ［ＭＢＫ］をＳＡＤＳＵＭ［ＭＢＫ］に加算する（Ｂ５）。
【００８９】
そしてＵＰＤ１〜３のうちどれか一つでもＭＢＫに一致すれば（Ｂ６のＹＥＳ）、当該ＭＢＫのマクロブロックをＩＮＴＲＡモードで符号化してＳＡＤＳＵＭ［ＭＢＫ］を“０”に設定する（Ｂ７）。
【００９０】
ＵＰＤ１〜３のうちどれ一つとしてＭＢＫに一致しなければ（Ｂ６のＮＯ）、輝度値などの分散によるモード判定を行い当該ＭＢＫのマクロブロックを判定モードで符号化する（Ｂ８）。このあと処理は前記ステップＢ９へ進む。
【００９１】
ステップＢ９では、当該ＭＢＫが前記最後のマクロブロック番号を指定しているかどうかが調べられる。ＭＢＫが最後のマクロブロック番号でなければ（Ｂ９のＮＯ）、当該ＭＢＫをインクリメントして（Ｂ１０）、同一フレーム内の次のマクロブロック番号のマクロブロックを処理するために、前記ステップＢ３にもどる内側のループが繰り返される。
【００９２】
当該ＭＢＫがそのフレーム内で最後のマクロブロックを指定している場合には（Ｂ９のＹＥＳ）、前記ビデオ信号の入力画像が終わりかどうかが調べられる（Ｂ１１）。
【００９３】
終わりでなければ（ステップＢ１１のＮＯ）、次のフレームを処理するために外側のループが繰り返されて、ステップＢ１２、Ｂ１３、Ｂ２が繰り返される。
【００９４】
ステップＢ１２では、ＳＡＤＳＵＭ［ｉ］を大きい順に並べ替え、当該並べ替えられたＳＡＤＳＵＭに対応するマクロブロック番号をＳＡＤＳＵＭ’［ｊ］に代入する。
【００９５】
そしてステップＢ１３では、（ＵＰＤ１，ＵＰＤ２，ＵＰＤ３）＝（ＳＡＤＳＵＭ’［０］，ＳＡＤＳＵＭ’［１］，ＳＡＤＳＵＭ’［２］）に設定する。すなわち次のフレームでリフレッシュされるマクロブロックのマクロブロック番号は、いまの繰り返し処理で符号化を終えたフレームでＳＡＤが大きいものから３つまでである。
【００９６】
なお、ステップＢ１１で入力画像が終わりであると判定されると、図７のフローチャートによる処理は終了する。
【００９７】
このフローチャートによれば、ＦＣ１→ＦＣ２→ＦＣ３→ＦＣ４の順番で時系列に処理されるフレームを示した図８において、リフレッシュされるマクロブロックの位置は、画像内容によって変化するので、図示のように（巡回的ではなく）不規則に変化し、移動する。
【００９８】
かさねて具体例を示した図９では、本実施形態と同様にリフレッシュ対象となるマクロブロックの数が３つに限定されている場合を示している。
【００９９】
図９において、時系列に処理されるフレームの順番はＦＤ１→ＦＤ２→ＦＤ３（ＦＤ３−１またはＦＤ３−２）→ＦＤ４（ＦＤ４−１またはＦＤ４−２）であるとする。ＦＤ２まではゆっくりと右方向に移動していた被写体ＯＢ３がＦＤ３以降は右上方向に高速で移動しはじめると、この高速移動は従来の動画像の符号化方法に対応するＦＤ３、ＦＤ４では、上述した図２（Ｂ）のフレームＰＥ２とフレームＰＥ３で起きた現象と同様な現象が起きて、誤りが波及している。
【０１００】
ところが本実施形態にかかるＦＤ３−２、ＦＤ４−２では、被写体ＯＢ３の高速移動は、被写体ＯＢ３に対応する部分のマクロブロックで、ＳＡＤ保持部３１内のメモリに格納されているＳＡＤを急激に増加させ、ＳＡＤの累積値を急増させる。これによりＩＮＴＲＡ／ＩＮＴＥＲモード判定器２７は当該マクロブロックのリフレッシュを要求するので、当該リフレッシュで前記誤りの波及が抑制され、ＦＤ３−２につづくＦＤ４−２でも正常な画像を生成している。
【０１０１】
そしてＦＤ３−１で前記３つからもれたＳＡＤの比較的大きい４番目以下のマクロブロックは、ＦＤ４−２以降のフレームで順次リフレッシュされるので、当該マクロブロックで誤りが生じている場合にも、有効に誤りの波及を抑制することができる。
【０１０２】
なお、ＦＤ１とＦＤ２は上記の従来の方法と本実施形態および次の例で共通である。
【０１０３】
ＳＡＤを計算するものの、本実施形態のようにＳＡＤ保持部３１をもたずＳＡＤの累積値を蓄積することができない場合は、ＦＤ３−１、ＦＤ４−１のようになる。この例では、ＦＤ１、ＦＤ２まで被写体ＯＢ３が移動していたので、ＦＤ３−１、ＦＤ４−１は本実施形態のＦＤ３−２、ＦＤ４−２とほとんど差がないが、第４フレームＦＤ４−１とＦＤ４−２とではリフレッシュされるマクロブロックのパターンが異なっている。
【０１０４】
累積値データをもたないということは、ＳＡＤが比較的大きいマクロブロック、たとえば４番目に大きくて前記３つの制限にもれたマクロブロックは、以降の処理でもリフレッシュされないままとなってしまう可能性がある。したがって誤りがこの４番目以下のマクロブロックにまでおよんだ場合、前記３つのマクロブロックの位置情報が反映されないので、誤りが残ってしまい、残った誤りが波及する可能性がある。
【０１０５】
上述した従来の符号化器１０にくらべると、ここで述べたＳＡＤ保持部をもたない符号化器は高い符号化性能を備えているといえるが、本実施形態の符号化器２０の符号化性能はこれよりもさらに高い。
【０１０６】
すなわち、ＳＡＤ保持部３１で累積値データを保有する本実施形態の動画像符号化器２０は、過去にＳＡＤが比較的大きい場所でリフレッシュの対象から外れたマクロブロックであっても、そのマクロブロックの位置情報を得ることができる。したがって、あとのフレームを符号化しようとするときに、リフレッシュの対象に含めることができ、さらに取りこぼしなく誤り部分をリフレッシュすることができる。
【０１０７】
（Ａ−３）実施形態の効果
以上のように、本実施形態によれば、画像内容に基づいてリフレッシュするマクロブロックが決められるので、フレーム内で画像のよく動くマクロブロック（すなわちＳＡＤの大きいマクロブロック）ほどリフレッシュする頻度を高くすることができる。画像のよく動くマクロブロックとは、誤りによってデータが欠落した場合などの波及効果が大きいマクロブロックなので、このマクロブロックを重点的にリフレッシュすることで、誤りの波及を抑圧することが可能になる。
【０１０８】
一方で、動く被写体の背景などのように動きの少ない画像に対応したマクロブロックはＳＡＤが小さいため、リフレッシュの頻度が低く、リフレッシュによる符号量の増加はフレーム全体でみると低減され、データ量はそれほど増加しない。動画像の形態などの諸条件によってはむしろ、データ量は従来よりも低減するので、本実施形態をデータ量の低減のために使用することもできる。
【０１０９】
またこのように動きの少ない画像に対応するマクロブロックは、誤りでデータが欠落しても、まえのフレームの同じＭＢＫのマクロブロックを表示すれば歪みのない画像を生成することができる。
【０１１０】
（Ｂ）他の実施形態
以上の説明では、符号化方式として動き補償、直交変換、量子化をベースとするようなＭＰＥＧ２を用いたが、本発明の適用範囲は、画像フレームの分割形態や動きベクトルの範囲を含めてこれに限定するものではない。
【０１１１】
さらに、上記のＳＡＤは、符号化しようとするフレームの直前の（１つまえの）フレームと２つまえのフレームとの予測誤差データすなわち誤差の絶対値としたが、符号化しようとするフレームと直前のフレームとの誤差の絶対値としてもよい。
【０１１２】
また本実施形態では、１フレーム当たりのリフレッシュするマクロブロックの数ｎを３つに固定したが、この数は３つより多くてもよく少なくてもよい。さらにこの数ｎは固定せずに可変とすることもできる。たとえばしきい値を設定しておき、ＳＡＤがこのしきい値を超えたときに当該ＳＡＤに対応するマクロブロックをリフレッシュするという方法を用いることにより、リフレッシュするマクロブロックの数を可変にすることができる。
【０１１３】
さらに本実施形態と従来の方法を組み合わせて用いることもできる。すなわち図１０に示すように、ＦＲ１→ＦＲ２→ＦＲ３→ＦＲ４の順番で時系列に処理されるフレームにおいて、従来の方法で巡回的、周期的にたとえば２つずつリフレッシュされるマクロブロックＭＢ１〜ＭＢ６と、上記実施形態の方法で画像内容の変化量の累積に基づいて３つずつリフレッシュされるマクロブロックＭＢＡ１〜３、ＭＢＢ１〜３、ＭＢＣ１〜３の双方をリフレッシュするのである。
【０１１４】
また上記実施形態では、フレームをマクロブロックまたはスライスに分割する場合について説明したが、フレームを単位としてＳＡＤを計算することもでき、１つのフレーム全体を１単位として処理することも可能である。
【０１１５】
すなわち本発明は、動画像を構成する時系列なフレームを符号化するにあたって、複数フレーム間のデータの相関関係に基づいて処理対象となっている対象フレームを符号化するフレーム間符号化と、前記対象フレーム内のデータに基づいて当該対象フレームを符号化するフレーム内符号化とを併用して動画像を符号化する場合に、広く適用することができる。
【０１１６】
【発明の効果】
以上詳細に説明したように、本発明によれば、画像内容に即応した符号化、すなわち過不足がなく、効率の良い符号化を行うことが可能になる。
【図面の簡単な説明】
【図１】実施形態に係る動画像符号化器の構成を示すブロック図である。
【図２】従来の動画像符号化方法を示す概略図である。
【図３】従来の動画像符号化方法を示す概略図である。
【図４】従来の動画像符号化器の構成を示すブロック図である。
【図５】従来の動画像符号化器の動作を示すフローチャートである。
【図６】従来の動画像符号化方法を示す概略図である。
【図７】実施形態に係る動画像符号化方法を示す概略図である。
【図８】実施形態に係る動画像符号化方法を示す概略図である。
【図９】従来の動画像符号化方法と実施形態の動画像符号化方法を示す概略図である。
【図１０】実施形態に係る動画像符号化方法を示す概略図である。
【符号の説明】
２０…動画像符号化器、２１…情報源符号器、２２…ビデオ信号多重化符号器、２６…一致判定器、２７…上位ｎ選択器、２８…量子化ステップサイズ決定器、２９…符号化制御、３０…ＳＡＤソーティング、３１…ＳＡＤ保持部。
【図１】
0003630565.tif 000002
【図２】
0003630565.tif 000003
【図３】
0003630565.tif 000004
【図４】
0003630565.tif 000005
【図５】
0003630565.tif 000006
【図６】
0003630565.tif 000007
【図７】
0003630565.tif 000008
【図８】
0003630565.tif 000009
【図９】
0003630565.tif 000010
【図１０】
0003630565.tif 000011