(57)【要約】      （修正有）【課題】シーンカットを検出する方法と装置を提供する。【解決手段】シーン変更検出器は、アンカー画像１４０からの予測マクロブロックを入力画像１２０からの入力マクロブロックと、マクロブロック毎のベースで比較して、各予測マクロブロックと各入カマクロブロック間の差を表す残差マクロブロック１４２を発生させる。各残差マクロブロックの分散１４６と各入力マクロブロックの分散１４８がそれぞれの比較の後で計算される。残差の分散は入力マクロブロックの分散と比較される。残差マクロブロックの分散が入力マクロブロックの分散を超えるときは常にカウンタ１５２が増分される。シーンカット検出器は、予測画像の各マクロブロックが各入力マクロブロックと比較されるまで、このプロセスを繰り返す。入力画像の処理中にカウント値が閾値１５４を超えるようなことがあれば、シーンカット検出器がシーンカット表示フラグをセットする。【選択図】図２
2008005536.tif 000002
【特許請求の範囲】
【請求項１】
入力画像のシーケンスの各入力画像を複数のマクロブロックに分割し、前記マクロブロックの各々に対して少なくとも一つの運動ベクトルを計算すると共に、予測画像のシーケンスを発生させ、前記シーケンスの各予測画像は前記入力画像と前記運動ベクトルから導かれた複数の予測マクロブロックを備えるブロックベースのビデオエンコーダにおいて、前記入力画像のシーケンス内の第１の画像と第２の画像の間のシーンカットを検出する方法であって、
（ａ）前記第１の画像からの予測マクロブロックと前記第２の画像からの入力マクロブロックとの差に基づいて、残差マクロブロックを生成するステップと、
（ｂ）前記入力マクロブロックの分散と前記残差マクロブロックの分散とを算出するステップと、
（ｃ）前記入力マクロブロックの分散と前記残差マクロブロックの分散とを比較して、前記残差マクロブロックの分散が第１の閾値を超え、且つ、前記残差マクロブロックの分散が前記入力マクロブロックの分散とシフト値との和より大きい場合に、カウンタ値を増分するステップと、
（ｄ）前記第２の画像の全マクロブロックについて、前記ステップ（ａ）、（ｂ）、及び（ｃ）を繰り返すステップと、
（ｅ）前記カウント値が第２の閾値を超える場合に、前記シーンカットの発生を示すフラグをセットするステップと、
を有する方法。
【請求項２】
前記第２の閾値を、前記入力画像のマクロブロックの総数の３３％にセットする、請求項１の方法。
【請求項３】
入力画像のシーケンスの各入力画像を複数のマクロブロックに分割し、前記マクロブロックの各々に対して少なくとも一つの運動ベクトルを計算すると共に、予測画像のシーケンスを発生させ、前記シーケンスの各予測画像は前記入力画像と前記運動ベクトルから導かれた複数の予測マクロブロックから成るようにしたブロックベースのビデオエンコーダにおいて、前記入力画像のシーケンス内の第１の画像と第２の画像の間のシーンカットを検出する装置であって、
前記第１の画像からの予測マクロブロックと前記第２の画像からの入力マクロブロックとの差に基づいて、残差マクロブロックを生成するように構成された減算器と、
前記残差マクロブロックの分散を算出するように構成された残差分散発生器と、
前記入力マクロブロックの分散を算出するように構成された入力分散発生器と、
前記残差マクロブロックの分散が第１の閾値を超え、且つ、前記残差マクロブロックの分散が前記入力マクロブロックの分散とシフト値との和より大きい場合に第１の出力を生成し、他の場合に第２の出力を生成するように構成された決定回路と、
第１の出力をカウントするように構成されたカウンタと、
前記カウンタによってカウントされたカウント値が第２の閾値を超える場合に、前記シーンカットの発生を示すフラグをセットするように構成された閾値手段と、
を備える装置。
【請求項４】
前記第２の閾値を、前記入力画像のマクロブロックの総数の３３％にセットする、請求項３の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はブロックベースのビデオコーディング技術に関し、より詳細には、本発明は、ブロックベースのビデオコーディングシステム内のビデオシーケンスにおけるシーンカットを検出する方法と装置に関する。
【背景技術】
【０００２】
ブロックベースのビデオコーディングシステムは通常、画像内（ピクチャー内）と画像のシーケンスの中の画像間（ピクチャー間）の空間的、時間的な両冗長度を利用するコーディング技術を使用する。このブロックベースの画像コーディングシステムは、周知のムービング・ピクチャー・エキスパート・グループ（ＭＰＥＧ）（ビデオコーディングの規格）、すなわちＩＳＯ／ＩＥＣ国際規格１１１７２−２（１９９４）（一般にＭＰＥＧ−１と称する）と、１３８１８−２（１９９５年１月２０日草案）（一般にＭＰＥＧ−２と称する）を利用するものを含む。入力ビデオシーケンスにおける冗長度を利用してビデオシーケンスを伝達可能なビットストリームの形に効率的にコーディングするために、ブロックベースのコーディング技術は、入力ビデオシーケンス内の逐次ピクチャーが実質的に類似した情報を含む、すなわち画像シーンはピクチャーからピクチャーへと殆ど変化のないものと仮定している。ピクチャーシーケンスで起こるシーンカットは、効率的なコーディングのための基本的仮定に違反する。従って、シーン変更（シーンカット）の後、ブロックベースのコーディング技術は、シーン変更に続く最初のピクチャーをコーディングするために大量のビットを使用しなければならない。任意の１画像のコーディングに利用できるビットの数は通常、限られているので、シーンカットはコーディングに実質的なエラーを発生させて、復号されたピクチャーの実質的な歪みをもたらす場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従って、この分野で、コーディングシステムが確実な措置を講じて実質的なコーディングエラーを避け得るように、ピクチャーのコーディングに先立ってシーンカットの発生を検出する方法と装置に対するニーズが存在する。
【課題を解決するための手段】
【０００４】
これまでの従来技術に伴う不都合は、従来のブロックベースのビデオコーディングシステムに組込み可能なシーンカット検出器という、本発明の実施例によって克服される。シーンカット検出器は予測画像からの予測マクロブロックを入力画像からの入カマクロブロックと、マクロブロック毎のベースで比較して各予測マクロブロックと各入力マクロブロック間の差を表す残差マクロブロックを発生させる。各残差マクロブロックの分散と各入力マクロブロックの分散は、それぞれの比較の後で計算される。残差マクロブロックと入力マクロブロックの分散は決定関数(decision function）と比較される。決定関数比較の結果によってカウンタが増分される。シーンカット検出器は、予測画像の各マクロブロックが各入力マクロブロックに比較されるまでこのプロセスを繰り返す。入力画像の処理中にカウント値が閾値を超えるようなことがあれば、シーンカット検出器は、入力画像が新しいシーンの中にあるものと確認して、それに応じてシーンカット表示フラグをセットする。
【０００５】
本発明の実施例の教示は、添付の図面と共に下記の説明を考慮することによって容易に理解できる。
【発明を実施するための最良の形態】
【０００６】
図１は、本発明の実施例を組み込んだブロックベースのコーディングシステム１００（具体的には、ＭＰＥＧエンコーダ）のブロック線図を示す。ポート１０２におけるシステムへの入力信号は、複数のブロックに分割された前処理画像で、ブロックはそこでシステムへの入力として逐次的に提供される。ＭＰＥＧ規格では、これらのピクセルのブロックは、マクロブロック、例えば１６×１６ピクセルブロックとして一般的に知られている。下記の開示ではＭＰＥＧ規格の専門用語を使用するが、その用語であるマクロブロックは、運動補償(motioncompensation）の基準に使用される任意サイズのピクセルのブロックの記述を意図するものであることは言うまでもない。
【０００７】
システムは、システム出力信号から一連の予測マクロブロック（Ｐ）を計算する。各予測マクロブロックは、丁度、伝達された出力信号のレシーバが受信信号を復号するように、出力信号を復号することによって図解的に生成される。減算器(subtractor）１０６は、予測マクロブロックを入力マクロブロックから差し引くことによって、経路１０７上で残差信号（この分野では、これも簡単に残差または残差マクロブロックと呼ぶ）を発生させる。
【０００８】
予測マクロブロックが入力マクロブロックに実質的に類似している場合、残差は比較的小さく、わずかのビットを使って容易にコーディングされる。そのようなシナリオでは、入力マクロブロックは運動補償される、と言われる。しかしながら、予測マクロブロックと入力マクロブロック間の差が大きな場合、残差をコーディングすることは難しい。従って、システムは運動補償された残差マクロブロックをコーディングする代わりに、入力マクロブロックを直接コーディングする方が楽である。この選択はコーディングモードの選択として知られている。入力マクロブロックＩのコーディングはイントラコーディングと呼び、残差のコーディングはインターコーディングと呼ぶ。これらの２モード間の選択はイントラ・インター・ディシジョン（ＩＩＤ）として知られている。
【０００９】
ＩＩＤはＩＩＤ回路１１０によって行なわれ、回路はコーディングモードスイッチ１０８をセットする。ＩＩＤは、まず残差マクロブロックの分散(Var R)と入力マクロブロックの分散(Var I)を計算することによって算出される。コーディング決定はこれらの値に基づく。この決定を行なうために使用できる幾つかの関数が存在する。例えば、VarRがVar Iよりも小さい場合、ＩＩＤはインターモードを選択する。逆に、Var IがVar Rよりも小さい場合、ＩＩＤはイントラモードを選択する。
【００１０】
選択されたブロックは離散的余弦変換(discrete cosinetransform)（ＤＣＴ）ブロック１１２で処理される。ＤＣＴはＤＣＴへの入力信号を表す係数を生成する。量子化器(quantizer)１１４はその係数を量子化してポート１０４で出力ブロックを生成する。速度制御ブロック１１６は係数の量子化のために使用される量子化尺度（ステップサイズ）を制御する。
【００１１】
正しい予測ブロックを生成すると共に効率的なハーフＰＥＬ運動ベクトルの発生を達成するために、エンコーダは復号画像にアクセスする必要がある。このアクセスを達成するために、量子化器１１４の出力が、逆量子化器１１８と逆ＤＣＴ１２０の両者の中を通される。逆ＤＣＴの出力はＤＣＴ１１２への入力と同一であることが理想である。インターモードでは、逆ＤＣＴと予測マクロブロックの出力を合計することによって、復号マクロブロックが生成される。イントラモードの間、復号マクロブロックは単なる逆ＤＣＴの出力である。復号マクロブロックは次に、フレームストア１２４に格納される。フレームストアは、画像情報の全再構成フレームを構成するこれらの複数の「再構成(reconstructed)」マクロブロックを蓄積する。再構成フレームは運動ベクトル予測器(motion vectorpredictor)１２６によって使用され、次に現われる入力画像のための予測マクロブロックの発生に用いられる運動ベクトルを生じる。
【００１２】
運動ベクトルを発生させるために、運動ベクトル予測器１２６は３個のコンポーネントを備える。すなわち、フルＰＥＬ運動推定器(full-pel motion estimator)１２８、ハーフＰＥＬ運動推定器１３０、および運動モードブロック１３２である。フルＰＥＬ運動推定器１２８は、先行画像のマクロブロックと現在の入力マクロブロックとの間の粗い整合を求める「粗(coarse)」運動ベクトル発生器である。先行画像はアンカー画像と呼ばれる。ＭＰＥＧ規格では、アンカー画像はピクチャーのグループ（ＧＯＰ）として知られる画像シーケンス内のＩまたはＰフレームとして知られるものである。運動ベクトルは、２つのマクロブロック間で粗整合が発見された相対位置を表すベクトルである。粗運動ベクトル発生器は、一つのピクチャーエレメント（ＰＥＬ）に対して正確な運動ベクトルを生成する。
【００１３】
フルＰＥＬ運動推定器の精度はハーフＰＥＬ運動推定器で改善される。ハーフＰＥＬ推定器は、フルＰＥＬ運動ベクトルとフレームストア１２４からの再構成マクロブロックを使ってハーフＰＥＬ精度に合致した運動ベクトルを計算する。ハーフＰＥＬ運動ベクトルは次に運動モードブロック１３２に送られる。通常、各マクロブロックに対して多重の運動ベクトルが存在する。モードブロック１３２は、各入力マクロブロック毎の運動を表す最良の運動ベクトルを選択する。
【００１４】
フルＰＥＬ推定器は、ハーフＰＥＬ推定器に比べてコンピュータ的に集中度の高いタスクである。このために、幾つもの実施例では専用ハードウェアで独立に計算される。すべてのフルＰＥＬ運動ベクトルはハーフＰＥＬ処理が始まる前に計算されることが多い。
【００１５】
上記のＭＰＥＧエンコーダシステムは、カルフォルニア州MilpitasのLSILogic，Inc.からモデルＬ６４１２０として集積回路のセットで入手可能な従来システムである。重要なことだが、このＭＰＥＧエンコーダは、ハーフＰＥＬ推定器が動作を始める前に、フルＰＥＬ運動ベクトルの全フレームを格納する。
【００１６】
運動推定と運動補償の考え方は、現行ピクチャーが先に発生したピクチャー（アンカー画像）とあまり差がないという基本的な仮定に基づいている。しかしながら、シーン変更（シーンカットとも呼ぶ）が起こると、アンカーピクチャーは現行ピクチャーとは実質的に異なる。従って、予測マクロブロックは非常に不正確で、残差は大きい。従って、ピクチャーの大部分の入力マクロブロックに対して、ＩＩＤは残差（インターモード）をコーディングする代わりに、コーディング用の入力マクロブロック（イントラモード）を選択する。強調すべきは、このコーディング決定は、シーン変更が存在しない場合でも起こることであり、また正規にコーディングされたピクチャーがイントラとインターコードのマクロブロックのミクスチャを含むかもしれないことである。しかしながら、イントラコードマクロブロックの割合は、シーンカットが起こったときに大きく増加する。本発明の実施例のシーンカット検出器は、ピクチャーのすべてのマクロブロックを分析した後、シーンカットが起こっているか否かを決定する。これは、イントラコードマクロブロックの数を数えて、そのカウントを閾値と比較することによって達成される。具体的には、任意の所定フレーム内のＩコードマクロブロックの割合が、閾値を超える場合、そのフレームはシーンカットに続くものと見做される。
【００１７】
典型的なＭＰＥＧエンコーダでは、実際のＩＩＤ決定は、ハーフＰＥＬ運動ベクトルが生成されて、最良の運動ベクトルが選ばれた後で行なわれる。フルＰＥＬ推定器１２８は、最初のマクロブロックがエンコーダによってコーディングされる前に、全フレーム用の運動ベクトルを発生させるので、これらのフルＰＥＬ結果をモニターする発明性のあるシーンカット検出器装置１３４は、すべてのマクロブロックに対するＩＩＤ推定、すなわち残差を実際に分析するときにＩＩＤが行なうであろう推定を生成できる。シーンカット検出器は、イントラコードマクロブロックカウンタ１３８に直列に接続されたＩＩＤ推定器１３６を備える。カウンタ１３８は、シーンカット検出器がシーンカットは起こった旨を決定したことを示すシーンカット決定（フラグ）を発生させる。
【００１８】
図２は、ＭＰＥＧエンコーダ１００の発明性のあるシーンカット検出器１３４の詳細なブロック線図を示す。フルＰＥＬ運動推定器１２８には、予測マクロブロックが発見される適切なＩまたはＰのアンカー画像と共に、Ｉマクロブロックが提供される。アンカー画像はフレームメモリ１４０に格納される。フルＰＥＬ運動ベクトル発生器１４１は、引用して本明細書に組込む１９９４年９月２７日発行の米国特許第5,351,095号と、引用して本明細書に組込む１９９４年９月２日出願の米国特許出願第08/300,023号に開示されたものを含む、多くの周知の方法の一つを使って、各入力マクロブロック毎の運動ベクトルを発生させる。フルＰＥＬ運動ベクトルとアンカー画像ストア１４０からのアンカー画像を使って、運動補償器１４５は各入力マクロブロック（Ｉ）に対する予測マクロブロック（Ｐ）を発生させる。
【００１９】
入力マクロブロック（経路１２０）と予測画像マクロブロック（Ｐ）は、シーンカット検出器１３４への入力を形成する。ＩＩＤ推定器１３６は、予測マクロブロックを入力マクロブロックから差し引くこと（減算器１４２）によってフルＰＥＬ残差を計算する。ＩＩＤ推定器は次に、分散ブロック１４６、１４８を使って、入力マクロブロックの分散(Var I)とフルＰＥＬ残差の分散(Var R)とを計算する。ＩＩＤ回路１５０は次に、これらの分散に基づいてそのＩＩＤ推定を行なう。カウンタ１５２は、イントラモードの決定の数を数えて、ブロック１５４で、そのカウント数をカウント閾値と比較する。与えられたピクチャーの処理中にカウント数が閾値を超えるようなことがあれば、イントラＭＢカウンタがシーンカット決定フラグを発生させる。
【００２０】
図３は、Var RとVar Iを比較する場合にＩＩＤ推定器によって使用される典型的な決定関数のグラフ３００を示す。最も簡単な決定関数は一次関数３０２である。この関数は、VarIがVar Rより小さいときにＩＩＤ推定がイントラモード（領域３１０）になるように、比較器を用いて実行される。逆に、Var RがVar Iより小さいときは、ＩＩＤ推定はインターモード（領域３１２）になる。
【００２１】
しかしながら、簡単ではあるが一次関数は最良の結果の提供には役立たない。かくして、非一次関数３０４がより典型的な関数を代表する。この関数はVar Rの特定値３０６では垂直で、その後、線形になる。動作時には、比較的小さなVar R値を持つマクロブロックは、インターモードを使ってコーディングされる。値３０６より大きなVarRの値はすべて、関数３０２の直接比較を使って比較される。
【００２２】
ハーフＰＥＬ運動推定器の方がより正確に運動ベクトルを定義するので、Var I値よりもほんのわずかに大きいVarR値を持つマクロブロック、例えば曲線３０２に近いがその真下にある点は、ハーフＰＥＬ推定器を使ってより正確な推定が得られるときはその曲線より上にシフトできる。従って、ＭＰＥＧエンコーダのＩＩＤはインターモードコーディングを使用するであろうが、それにもかかわらずシーンカット検出器のＩＩＤ推定は、イントラモードコーディングが使用されるものと推定する。この異常を補償するために、一般に関数３０８が使用される。関数３０８の形は関数３０４に似ているが、関数３０８は関数３０４の下にわずかにシフトされている。かくして、不正確なＩＩＤ推定が避けられる、すなわち、曲線近くにあるであろう値が今度はインターモード領域にくる。
【００２３】
勿論、図３に示す関数は単なる説明用である。特定の結果を得るために他の一次関数や非一次関数が使用される。発明の実施例はＩＩＤ推定器内の任意の関数を含むものである。
【００２４】
マクロブロックの通常のシーケンスの間（シーンカットなし）、予測マクロブロックは、フルＰＥＬ精度においても、大部分がインターモードの決定をもたらすだろう。従って、シーンカットフラグはセットされないだろう。ハーフＰＥＬリファインメン(half-pel refinement)後に行なわれるイントラモード決定の割合は、運動ベクトルの追加の精度によって低くなることに注目されたい。
【００２５】
シーンカットが起こるときは、システムが、ハーフＰＥＬやフルＰＥＬ精度に合致した運動ベクトルを発生させるか否かは問題でない。運動推定はいずれの場合も不正確になる。かなりの数のイントラモードマクロブロックがフルＰＥＬとハーフＰＥＬの両ステージで選択される。従って、フルＰＥＬ精度のＩＩＤ推定器を使ったイントラモード決定の粗カウントは、シーンカットの検出に対して充分である。
【００２６】
推定決定の３３％（１／３）がイントラモードの決定のときは、一般に、閾値を超えるようにセットされる。勿論、閾値は期待画像シーケンス内容によって要求される任意の割合にセットできる。
【００２７】
シーンカットの検出に加えて、発明の実施例は、あまり良好にコーディングされないようなピクチャーの検出にも役立つ。例えば、物体がシーン内の別の物体の背後から出入りするときに起こるような、画像シーンが予測不能に変化している場合、シーンを表すシーケンスの２つの連続ピクチャーは実質的に異なるだろう。このような画像では、エンコーダはピクチャーシーケンスに対するコーディングビット予算(coding bit budget)を超えることができる、つまり通信チャンネルを介して伝達できるよりも多くのビットを使って画像をコーディングできるだろう。発明性のある検出器を使って、コーディングの開始前に、予測とコーディングが難しくなるようなピクチャーを検出する。従って、エンコーダは、ビット予算の超過を避けるためにコーディング戦略を変更できる。
【００２８】
シーンカット検出器フラグを使用する一つの特殊装置が、１９９６年２月２６日に本明細書と同時に出願された米国特許出願第08/606,622号に記載され、引用によって本明細書に組み込まれている。フラグに応じて、この装置は、エンコーダがピクチャーを粗くコーディングしてビット予算を維持するように、量子化尺度を変更する。
【００２９】
本発明の実施例の教示を組み込んだ単一の実施態様を詳しく図示、説明したが、当業者なら、本教示を組み込んだ他の多くの様々な実施例を容易に考案できるであろう。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施例のシーンカット検出器を組み込んだブロックベースのコーディングシステムのブロック線図を示す。
【図２】本発明の実施例のシーンカット検出器の詳細なブロック線図を示す。
【図３】本発明の実施例のＩＩＤ推定器（IID estimator）によって使用される決定関数のグラフを示す。
【図１】
2008005536.tif 000003
【図２】
2008005536.tif 000004
【図３】
2008005536.tif 000005