顕微鏡スライド自動読み取りシステム
本発明は、一般に、マルチメディアデータ処理に関し、より詳細には、データ圧縮処理に先立ってまたはデータ圧縮処理と同時に実行される処理操作に関する。マルチメディアデータを処理する方法は、インタレースビデオフレームを受信することと、インタレースビデオフレームのメタデータを取得することと、メタデータの少なくとも一部を使用してインタレースビデオフレームをプログレッシブビデオに変換することと、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータの少なくとも一部とを符号器に提供することとを含む。前記方法は、インタレースビデオフレームの空間情報および双方向動き情報を生成することと、空間情報および双方向動き情報を使用してインタレースビデオフレームに基づいてプログレッシブビデオを生成することも含むことができる。
【発明の詳細な説明】
【優先権の主張】
【0001】
本特許出願は、2006年4月3日に出願された仮出願第60/789,048号、2006年4月4日に出願された仮出願第60/789,266号、および2006年4月4日に出願された仮出願第60/789,377号の優先権を主張し、上記の仮出願のすべては、本発明の譲受人に譲渡されており、参照により本明細書に明示的に組み込まれる。
【技術分野】
【0002】
本発明は、一般に、マルチメディアデータ処理に関し、より詳細には、データ圧縮処理に先立ってまたはデータ圧縮処理と同時に実行される処理操作に関する。
【背景技術】
【0003】
【特許文献1】仮出願第60/789,048号
【特許文献2】仮出願第60/789,266号
【特許文献3】仮出願第60/789,377号
【非特許文献1】P.Haavisto、J.Juhola、Y.Neuvo、「Scan rate up−conversion using adaptive weighted median filtering」、Signal Processing of HDTV II、703〜710ページ、1990年
【非特許文献2】R.Simonetti、S.Carrato、G.Ramponi、A.Polo Filisan、「Deinterlacing of HDTV Images for Multimedia Applications」、Signal Processing of HDTV IV、765〜772ページ、1993年
【非特許文献3】D.L.Donoho、I.M.Johnstone、「Ideal spatial adaptation by wavelet shrinkage」、Biometrika、vol.8、425〜455ページ、1994年
【非特許文献4】S.P.Ghael、A.M.Sayeed、R.G.Baraniuk、「Improvement Wavelet denoising via empirical Wiener filtering」、Proceedings of SPIE、vol 3169、389〜399ページ、San Diego、1997年7月
【非特許文献5】G.D.Haan、E.B.Bellersの「De−interlacing of video data」、IEEE Transactions on Consumer Electronics、Vol.43、No.3、819〜825ページ、1997年
【非特許文献6】Specifications for Safe Action and Safe Title Areas Test Pattern for Television Systems、SMPTE推奨実践RP27.3−1989
【発明の開示】
【発明の概要】
【0004】
本明細書で説明される本発明の装置および方法は各々、いくつかの態様を有し、それらの1つが単独で、その望ましい属性に責任を負うことはない。本発明の範囲を限定することなく、そのより顕著な特徴が、今から簡潔に説明される。この説明を考察した後、特に「詳細な説明」と題するセクションを読んだ後、読者は、本発明の特徴が、どのようにマルチメディアデータ処理装置および方法に改良を提供するかを理解するであろう。
【0005】
一態様では、マルチメディアデータを処理する方法は、インタレースビデオフレームを受信することと、インタレースビデオフレームをプログレッシブビデオに変換することと、プログレッシブビデオに関連するメタデータを生成することと、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータの少なくとも一部とを符号器に提供することとを備える。前記方法は、メタデータを使用してプログレッシブビデオを符号化することをさらに含むことができる。いくつかの態様では、インタレースビデオフレームは、NTSCビデオを備える。ビデオフレームを変換することは、インタレースビデオフレームをデインタレースすることを含むことができる。
【0006】
いくつかの態様では、メタデータは、帯域幅情報、双方向動き情報、比帯域、時間もしくは空間複雑さの値またはその両方などの複雑さの値、ルミナンス情報を含むことができ、空間情報は、ルミナンスおよび/またはクロミナンス情報を含むことができる。前記方法は、インタレースビデオフレームの空間情報および双方向動き情報を生成することと、空間情報および双方向動き情報を使用してインタレースビデオフレームに基づいてプログレッシブビデオを生成することも含むことができる。いくつかの態様では、インタレースビデオフレームを変換することは、3/2プルダウンビデオフレームを逆テレシネすること、および/またはプログレッシブビデオをリサイズすることを備える。前記方法は、グループオブピクチャ情報を決定するためにプログレッシブビデオを区分化することをさらに備えることができ、区分化は、プログレッシブビデオのショット検出を含むことができる。いくつかの態様では、前記方法は、雑音低減フィルタを用いるプログレッシブビデオも含む。
【0007】
別の態様では、マルチメディアデータを処理するための装置は、インタレースビデオフレームを受信するように構成される受信器と、インタレースビデオフレームをプログレッシブビデオに変換するように構成されるデインタレーサと、プログレッシブビデオに関連するメタデータを生成し、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータとを符号器に提供するように構成されるパーティショナとを含むことができる。いくつかの態様では、前記装置は、プログレッシブビデオを通信モジュールから受信し、提供されたメタデータを使用してプログレッシブビデオを符号化するように構成される符号器をさらに含むことができる。デインタレーサは、時空間デインタレースおよび/または逆テレシネを実行するように構成することができる。パーティショナは、ショット検出を実行し、ショット検出に基づいて圧縮情報を生成するように構成することができる。いくつかの態様では、パーティショナは、帯域幅情報を生成するように構成することができる。前記装置は、プログレッシブフレームをリサイズするように構成されるリサンプラも含むことができる。メタデータは、帯域幅情報、双方向動き情報、比帯域、ルミナンス情報、コンテンツに関係する空間複雑さの値、および/またはコンテンツに関係する時間複雑さの値を含むことができる。いくつかの態様では、デインタレーサは、インタレースビデオフレームの空間情報および双方向動き情報を生成し、空間情報および双方向動き情報を使用してインタレースビデオフレームに基づいてプログレッシブビデオを生成するように構成される。
【0008】
別の態様は、インタレースビデオフレームを受信するための手段と、インタレースビデオフレームをプログレッシブビデオに変換するための手段と、プログレッシブビデオに関連するメタデータを生成するための手段と、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータの少なくとも一部とを符号器に提供するための手段とを含む、マルチメディアデータを処理するための装置を備える。いくつかの態様では、変換手段は、逆テレシネ器および/または時空間デインタレーサを備える。いくつかの態様では、生成手段は、ショット検出を実行し、ショット検出に基づいて圧縮情報を生成するように構成される。いくつかの態様では、生成手段は、帯域幅情報を生成するように構成される。いくつかの態様では、生成することは、プログレッシブフレームをリサイズするためにリサンプリングするための手段を含む。
【0009】
別の態様は、マルチメディアデータを処理するための命令を備える機械可読媒体を備え、前記命令は実行された時に、機械にインタレースビデオフレームを受信させ、インタレースビデオフレームをプログレッシブビデオに変換させ、プログレッシブビデオに関連するメタデータを生成させ、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータの少なくとも一部とを符号器に提供させる。
【0010】
別の態様は、インタレースビデオを受信し、インタレースビデオをプログレッシブビデオに変換し、プログレッシブビデオに関連するメタデータを生成し、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータの少なくとも一部とを符号器に提供するための構成を備えるプロセッサを含む。インタレースビデオの変換は、時空間デインタレースを実行することを含むことができる。いくつかの態様では、インタレースビデオの変換は、逆テレシネを実行することを備える。いくつかの態様では、メタデータの生成は、ショット変化の検出に基づいて圧縮情報を生成することを含む。いくつかの態様では、メタデータの生成は、プログレッシブビデオの圧縮情報を決定することを含む。いくつかの態様では、前記構成は、リサイズされたプログレッシブフレームを生成するためにビデオをリサンプルための構成を含む。いくつかの態様では、メタデータは、帯域幅情報、双方向動き情報、コンテンツに基づいた時間もしくは空間複雑さ情報などの複雑さ情報、および/または圧縮情報を含むことができる。
【詳細な説明】
【0011】
以下の説明は、例の完全な理解を提供するための詳細を含む。しかし、一例または一態様におけるプロセスまたはデバイスの詳細の必ずしもすべてが本明細書で説明または図示されていなくても、例が実施され得ることは、当業者であれば理解されよう。例えば、電気的コンポーネントは、不必要な詳細によって例があいまいにならないように、そのコンポーネントの必ずしもすべての電気的接続または電気的エレメントが図示されていないブロック図で示されてよい。他の例では、そのようなコンポーネント、他の構造および技法は、例をさらに説明するために詳細に示されてよい。
【0012】
本発明のある態様、ならびに既存の前処理および符号化システムの性能を改善するプリプロセッサおよびプリプロセッサ動作方法のための態様が、本明細書で説明される。そのようなプリプロセッサは、デインタレース、逆テレシネ、フィルタリング、ショットタイプ識別、メタデータ処理および生成、ならびに帯域幅情報生成を実行することを含む符号化の準備において、メタデータおよびビデオを処理することができる。本明細書における「一態様」、「態様」、「いくつかの態様」、または「ある態様」についての言及は、態様に関係して説明される1つまたは複数の特定の特徴、構造、または特性が、プリプロセッサシステムの少なくとも1つの態様に含まれ得ることを意味する。本明細書の様々な箇所におけるそのような句の出現は、必ずしもすべてが、同じ態様に言及するものではなく、他の態様と相互に排他的な別個または代替態様に言及するものでもない。さらに、いくつかの態様によって提示されることがあり、他の態様によっては提示されないことがある様々な特徴が説明される。同様に、いくつかの態様のステップであることがあり、他の態様のステップではないことがある様々なステップが説明される。
【0013】
本明細書で使用される「マルチメディアデータ」または「マルチメディア」は、(オーディオデータを含み得る)ビデオデータ、オーディオデータ、またはビデオデータとオーディオデータの両方を含む広義の用語である。本明細書で使用される「ビデオデータ」または「ビデオ」は、画像、またはテキスト、画像、および/もしくはオーディオデータを含む1つもしくは複数の画像列もしくは系列を指す広義の用語であり、マルチメディアデータを指すために使用することができ、別途指摘されない限り、「マルチメディアデータ」と「ビデオデータ」は、相互交換可能に使用されてよい。
【0014】
図1は、ストリーミングマルチメディアを送り届けるための通信システム100のブロック図である。そのようなシステムは、図1に示されるような多数の端末へのディジタル圧縮ビデオの伝送において応用を見出す。ディジタルビデオ源は、例えば、ディジタルケーブルもしくは衛星供給、またはディジタル化されるアナログ源とすることができる。ビデオ源は、伝送機構120において処理され、ネットワーク140を介する1つまたは複数の端末160への伝送のために、符号化され、搬送波上に変調される。端末160は、受信したビデオを復号し、典型的にはビデオの少なくとも一部を表示する。ネットワーク140は、符号化データの伝送に適した有線または無線の任意のタイプの通信ネットワークを指す。例えば、ネットワーク140は、セル電話ネットワーク、有線もしくは無線ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)、またはインターネットとすることができる。端末160は、セル電話、PDA、家庭用または商用ビデオ表示機器、コンピュータ(ポータブル、ラップトップ、ハンドヘルド、PC、およびより大規模なサーバベースのコンピュータシステム)、ならびにマルチメディアデータの使用が可能な個人向け娯楽デバイスを含むが、これらに限定されない、データの受信および表示が可能な任意のタイプの通信デバイスとすることができる。
【0015】
図2および図3は、プリプロセッサ202のサンプル態様を示している。図2では、プリプロセッサ202は、ディジタル伝送機構120内に存在する。復号器201は、ディジタルビデオ源からの符号化データを復号し、メタデータ204およびビデオ205をプリプロセッサ202に提供する。プリプロセッサ202は、あるタイプの処理をビデオ205およびメタデータ204に対して実行し、処理されたメタデータ206(例えば、ベースレイヤ参照フレーム、エンハンスメントレイヤ参照フレーム、帯域幅情報、コンテンツ情報)およびビデオ207を符号器203に提供するように構成される。マルチメディアデータのそのような前処理は、データの視覚的鮮明度、アンチエイリアス、および圧縮効率を向上させることができる。一般に、プリプロセッサ202は、復号器201によって提供されたビデオ系列を受け取り、符号器によるさらなる処理(例えば符号化)のために、ビデオ系列をプログレッシブビデオ系列に変換する。いくつかの態様では、プリプロセッサ202は、逆テレシネ、デインタレース、フィルタリング(例えば、アーチファクト除去、デリンギング、デブロッキング、および雑音低減)、リサイズ(例えば、標準定義からクウォータビデオグラフィックスアレイ(QVGA:Quarter Video Graphics Array)への空間解像度ダウンサンプリング)、ならびにGOP構造生成(例えば、複雑さマップ生成、シーン変化検出、およびフェード/フラッシュ検出の計算)を含む数多くの操作のために構成することができる。
【0016】
図3Aは、受け取ったメタデータ204およびビデオ205に対して前処理操作を実行し、その後、さらなる処理のために、処理されたメタデータ206およびプログレッシブビデオ207を(例えば符号器に)提供するための、モジュールまたはコンポーネント(本明細書ではまとめて「モジュール」と呼ばれる)を用いて構成されるプリプロセッサ202を示している。モジュールは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実施することができる。プリプロセッサ202は、皆以下でさらに説明される、逆テレシネ301、デインタレーサ302、雑音低減器303、エイリアス抑制器304、リサンプラ305、デブロッカ/デリンガ306、およびGOPパーティショナ307を含む、1つまたは複数の図示されたモジュールを含む、様々なモジュールを含むことができる。プリプロセッサ202は、メモリ308および通信モジュール309を含む、ビデオおよびメタデータを処理するために使用できる他の適切なモジュールも含むことができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱可能ディスク、CD−ROM、または当技術分野で知られた他の形態の記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み、記憶媒体に情報を書くことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサに組み込まれてもよい。プロセッサおよび記憶媒体は、ASICに存在することができる。ASICは、ユーザ端末に存在することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末内の別個のコンポーネントとして存在することができる。
【0017】
図3Bは、マルチメディアデータの処理のためのプロセス300を示す流れ図である。プロセス300は開始すると、ブロック320に進み、インタレースビデオを受信する。図2および図3に示されるプリプロセッサ202は、このステップを実行することができる。いくつかの態様では、復号器(例えば、図2の復号器201)が、インタレースデータを受信し、それをプリプロセッサ202に提供することができる。いくつかの態様では、プリプロセッサ202の一部である、図3Cに示されるデータ受信モジュール330が、このステップを実行することができる。プロセス300は次に、ブロック322に進み、インタレースビデオがプログレッシブビデオに変換される。図2、図3Aのプリプロセッサ202、および図3Cのモジュール332が、このステップを実行することができる。インタレースビデオがテレシネされている場合、ブロック322処理は、プログレッシブビデオを生成するために逆テレシネを実行することを含むことができる。プロセス300は次に、ブロック324に進み、プログレッシブビデオに関連するメタデータを生成する。図3AのGOPパーティショナ307、および図3Cのモジュール334が、そのような処理を実行することができる。プロセス300は次に、ブロック326に進み、プログレッシブビデオとメタデータの少なくとも一部とが、符号化(例えば圧縮)のために符号器に提供される。図2、図3Aに示されるプリプロセッサ202、および図3Cのモジュール336が、このステップを実行することができる。符号化のためにプログレッシブビデオおよび関連するメタデータを別のコンポーネントに提供した後、プロセス300は終了することができる。
【0018】
図3Cは、マルチメディアデータを処理するための手段を示すブロック図である。ここでは、そのような手段がプリプロセッサ202に組み込まれて示されている。プリプロセッサ202は、モジュール330などの、ビデオを受信するための手段を含む。プリプロセッサ202は、モジュール332などの、インタレースデータをプログレッシブビデオに変換するための手段も含む。そのような手段は、例えば、時空間デインタレーサおよび/または逆テレシネ器を含むことができる。プリプロセッサ202は、モジュール334などの、プログレッシブビデオに関連するメタデータを生成するための手段も含む。そのような手段は、本明細書で説明されるような様々なタイプのメタデータを生成することができるGOPパーティショナ307(図3A)を含むことができる。プリプロセッサ202は、モジュール336によって示されるように、符号化のためにプログレッシブビデオおよびメタデータを符号器に提供するための手段も含む。そのような手段は、いくつかの態様では、図3Aに示される通信モジュール309を含むことができる。当業者であれば理解されるように、そのような手段は、多くの標準的な方法で実施することができる。
【0019】
プリプロセッサ202は、1つまたは複数の前処理操作のために、取得した(例えば、復号器201または別の源から取得した)メタデータを使用することができる。メタデータは、マルチメディアデータの内容に関係する、内容を説明する、または分類する情報(「コンテンツ情報」)を含むことができる。特に、メタデータは、コンテンツ分類を含むことができる。いくつかの態様では、メタデータは、符号化操作にとって望ましいコンテンツ情報を含まない。そのような場合、プリプロセッサ202は、コンテンツ情報を決定し、そのコンテンツ情報を前処理操作のために使用し、および/またはそのコンテンツ情報を他のコンポーネント、例えば復号器203に提供するように構成することができる。いくつかの態様では、プリプロセッサ202は、GOP区分化に影響を及ぼし、適切なタイプのフィルタリングを決定し、および/または符号器に伝えられる符号化パラメータを決定するために、そのようなコンテンツ情報を使用することができる。
【0020】
図4は、プリプロセッサに含まれ得るプロセスブロックの説明的な一例を示しており、プリプロセッサ202によって実行され得る処理を図説している。この例では、プリプロセッサ202は、メタデータおよびビデオ204、205を受け取り、(処理された)メタデータおよびビデオを備える出力データ206、207を符号器228に提供する。一般に、プリプロセッサによって受け取られるビデオには3つのタイプが存在する。第1に、受け取られたビデオは、プログレッシブビデオとすることができ、デインタレースは、実行される必要がない。第2に、ビデオデータは、24fps映画系列から変換されたテレシネ化されたインタレースビデオとすることができ、この場合、ビデオ。第3に、ビデオは、テレシネされていないインタレースビデオとすることができる。プリプロセッサ226は、以下で説明されるように、これらのタイプのビデオを処理することができる。
【0021】
ブロック401において、プリプロセッサ202は、受け取ったビデオ204、205がプログレッシブビデオであるかどうかを判定する。ある場合には、これは、メタデータがそのような情報を含むならばメタデータから判定することができ、またはビデオ自体を処理することによって判定することができる。例えば、以下で説明される逆テレシネプロセスは、受け取ったビデオ205がプログレッシブビデオであるかどうかを判定することができる。プログレッシブビデオである場合、プロセスは、ブロック407に進み、白色ガウス雑音などの雑音を低減するために、フィルタリング操作がビデオに対して実行される。ブロック401において、ビデオがプログレッシブビデオではない場合、プロセスは、フェーズ検出器であるブロック404に進む。
【0022】
フェーズ検出器604は、テレシネに由来するビデオと、始まりが標準放送フォーマットであるビデオとを弁別する。ビデオはテレシネされたものであるという判定が下された場合(フェーズ検出器404から出て行くYES判定経路)、テレシネビデオは、逆テレシネ406において、元のフォーマットに戻される。冗長フィールドが、識別されて除去され、同じビデオフレームに由来するフィールドが、完全な画像に再び組み立てられる。再構成されたフィルム画像の系列は、1秒の1/24という規則的な間隔で撮影されて記録されたものなので、GOPパーティショナ412または復号器において実行される動き推定プロセスは、テレシネデータではなく、規則的な時間ベースを有する逆テレシネ画像を使用したほうがより正確になる。
【0023】
一態様では、フェーズ検出器404は、ビデオフレームを受け取った後、ある判定を下す。これらの判定は、(i)現在のビデオがテレシネ出力からのものであり、3:2プルダウンフェーズが図5に示される5つのフェーズP0、P1、P2、P3、およびP4の1つであるかどうか、(ii)ビデオが従来のNTSCとして生成されたものか、を含む。その判定は、フェーズP5として示される。これらの判定は、図4に示されるフェーズ検出器404の出力として現れる。ラベル「YES」をもつフェーズ検出器404からの経路は、逆テレシネ406を作動させ、これは、正しいプルダウンフェーズが提供され、そのフェーズが、同じ撮影画像から形成されたフィールドを選別し、それらを組み合わせることを表す。ラベル「NO」をもつフェーズ検出器404からの経路は、デインタレーサ405を作動させ、最適な処理のために、明らかなNTSCフレームをフィールドに分割する。逆テレシネは、「INVERSE TELECINE ALGORITHM BASED ON STATE MACHINE」と題する同時係属中の米国特許出願[整理番号QFDM.021A(050943)]にさらに記載されており、同出願は、本発明の譲受人によって所有されており、参照によってその全体が本明細書に組み込まれる。
【0024】
フェーズ検出器404は、いつでも異なるタイプのビデオを受け取ることがあり得るので、ビデオフレームを継続的に分析することができる。例えば、NTSC規格に準拠したビデオが、コマーシャルとしてビデオに挿入されることがあり得る。逆テレシネの後、結果のプログレッシブビデオは、白色ガウス雑音を低減するために使用できる雑音低減器(フィルタ)407に送られる。
【0025】
従来のNTSCビデオが認識された場合(フェーズ検出器401からのNO経路)、そのビデオは、圧縮のために、デインタレーサ405に伝送される。デインタレーサ405は、インタレースフィールドをプログレッシブビデオに変換し、その後、雑音低減操作が、プログレッシブビデオに対して実行されることができる。
【0026】
適切な逆テレシネまたはデインタレース処理の後、ブロック408において、プログレッシブビデオは、エイリアス抑制およびリサンプリング(例えばリサイズ)のための処理が施される。
【0027】
リサンプリングの後、プログレッシブビデオは次に、ブロック410に進み、デブロッカおよびデリンギング操作が実行される。「ブロッキング」および「リンギング」という2つのタイプのアーチファクトが、ビデオ圧縮アプリケーションにおいて一般的に発生する。ブロッキングアーチファクトは、圧縮アルゴリズムが各フレームを数ブロック(例えば8×8ブロック)に分割するために発生する。各ブロックは、いくらかの僅かな誤差を含んで再構成され、ブロックのエッジ部分の誤差は、隣接ブロックのエッジ部分の誤差と際立った相違を示し、ブロック境界を可視化する。対照的に、リンギングアーチファクトは、画像特徴のエッジ周囲のひずみとして現れる。リンギングアーチファクトは、高周波数DCT係数を量子化する際に、符号器が多過ぎる情報を廃棄するために発生する。いくつかの説明的な例では、デブロッキングおよびデリンギングは、これらの可視アーチファクトを目立たなくするために、ローパスFIR(有限インパルス応答)フィルタを使用することができる。
【0028】
デブロッキングおよびデリンギングの後、プログレッシブビデオは、GOPパーティショナ412によって処理される。GOPポジショニングは、ショット変化を検出することと、複雑さマップ(例えば、時間的、空間的帯域幅マップ)を生成することと、適応GOPパーティショニングを含むことができる。ショット検出は、グループオブピクチャ(GOP)内のフレームが、シーン変化の発生を示すデータを提示した時を決定することに関する。シーン変化検出は、ビデオ符号器が適切なGOP長を決定し、固定間隔でIフレームを挿入する代わりに、GOP長に基づいてIフレームを挿入するために使用することができる。プリプロセッサ202は、マルチメディアデータを符号化するために使用できる帯域幅マップを生成するようにも構成することができる。いくつかの態様では、プリプロセッサの外部に配置されるコンテンツ分類モジュールが、代わりに帯域幅マップを生成する。適応GOPパーティショニングは、一緒に符号化されるグループオブピクチャの構成を適応的に変化させることができる。図4に示された操作の説明的な例が、以下で説明される。
【0029】
逆テレシネ
逆テレシネ処理が、以下で説明され、逆テレシネの説明的な例が、図4〜図16を参照して提供される。ビデオ圧縮は、源の特性が知られており、理想的に調和した処理形態を選択するために使用される場合に、最良の結果を与える。例えば、放送されないビデオは、いくつかの方法で作成することができる。ビデオカメラや放送スタジオなどで従来どおりに生成される放送用ビデオは、米国ではNTSC規格に準拠している。この規格によれば、各フレームは、2つのフィールドから構成される。一方のフィールドは奇数ラインから成り、他方は偶数ラインから成る。これは「インタレース」フォーマットと呼ばれることがある。フレームは、約30フレーム/秒で生成されるが、フィールドは、1/60秒間隔のテレビカメラの画像の記録である。一方、フィルムは、24フレーム/秒で撮影され、各フレームは、完全な画像から成る。これは「プログレッシブ」フォーマットと呼ばれることがある。NTSC機器での伝送のため、「プログレッシブ」ビデオは、テレシネプロセスを介して「インタレース」ビデオフォーマットに変換される。以下でさらに説明される一態様では、システムは、ビデオがいつテレシネされたかを有利に決定し、元のプログレッシブフレームを再生成するために適切な変換を実行する。
【0030】
図4は、インタレースビデオに変換されたプログレッシブフレームをテレシネした結果を示している。F1、F2、F3、F4は、テレシネ器への入力となるプログレッシブ画像である。それぞれのフレームの下の番号「1」および「2」は、奇数フィールドであるか、それとも偶数フィールドであるかの表示である。フレームレート間の相違のために、いくつかのフィールドが繰り返されていることに留意されたい。図4は、プルダウンフェーズP0、P1、P2、P3、P4も示している。フェーズP0は、同じ第1フィールドを有する2つのNTSC互換フレームの第1のフレームによってマーク付け(mark)される。後続の4つのフレームは、フェーズP1、P2、P3、P4に対応する。P2およびP3によってマーク付けされるフレームは、同じ第2フィールドを有することに留意されたい。フィルムフレームF1は3回走査されるので、連続して出力される2つの同じNTSC互換の第1フィールドが形成される。フィルムフレームF1に由来するすべてのNTSCフィールドは、同じフィルム画像から得られたものであり、したがって、同じ瞬間に撮影されたものである。フィルムに由来する他のNTSCフレームは、1/24秒離れた隣接フィールドをもつことができる。
【0031】
図4に示されるフェーズ検出器404は、ビデオフレームを受け取った後、ある判定を下す。これらの判定は、(i)現在のビデオがテレシネ出力からのものであり、3:2プルダウンフェーズが図5の定義512に示される5つのフェーズP0、P1、P2、P3、P4の1つであるかどうか、(ii)ビデオが従来のNTSCとして生成されたものか、を含み、その判定は、フェーズP5として示される。
【0032】
これらの判定は、図4に示されるフェーズ検出器401の出力として現れる。ラベル「YES」をもつフェーズ検出器401からの経路は、逆テレシネ406を作動させ、これは、正しいプルダウンフェーズが提供され、そのフェーズが、同じ撮影画像から形成されたフィールドを選別し、それらを組み合わせることを表す。ラベル「NO」をもつフェーズ検出器401からの経路は、デインタレーサブロック405を同様に作動させ、最適な処理のために、明らかなNTSCフレームをフィールドに分割する。
【0033】
図6は、ビデオストリームを逆テレシネするプロセス600を示す流れ図である。一態様では、プロセス600は、図3の逆テレシネ301によって実行される。ステップ651で開始し、逆テレシネ301は、受け取ったビデオに基づいて複数のメトリックを決定する。この態様では、同一フレームまたは隣接フレームから取り出されたフィールドの間の差分の合計である4つのメトリックが形成される。4つのメトリックは、6つの仮定されたフェーズの各々について、受け取ったデータに由来する4つのメトリックとこれらのメトリックの最もありそうな値との間のユークリッド距離(Euclidian measure of distance)にさらにまとめられる。ユークリッド和は、ブランチ情報(branch information)と呼ばれ、受け取った各フレームに対して、そのような量が6つ存在する。仮定された各フェーズは、後続フェーズを有し、後続フェーズは、可能なプルダウンフェーズの場合、受け取った各フレームと一緒に変化する。
【0034】
遷移の可能な経路が、図7に示されており、767によって示されている。そのような経路が6つ存在する。判定プロセスは、仮定されたフェーズの各経路について、ユークリッド距離の和に等しい6つの尺度を維持する。変化させられた状態に手順を応答させるため、和の中の各ユークリッド距離は、それが古くなるほど小さくなる。ユークリッド距離の和が最小となるフェーズ行路(phase track)が、有効なフェーズ行路であると見なされる。この行路の現在のフェーズは、「適用可能フェーズ」と呼ばれる。選択されたフェーズがP5でない限り、そのフェーズに基づいた逆テレシネが、今行われることができる。P5が選択された場合、現在のフレームは、ブロック405(図4)においてデインタレーサを使用してデインタレースされる。要約すると、適用可能フェーズは、現在のプルダウンフェーズとして、または有効なNTSCフォーマットを有すると推定されたフレームのデインタレースを命じる表示として利用される。
【0035】
入力されたビデオから受け取ったすべてのフレームについて、4つのメトリックの各々の新しい値が計算される。これらは、以下のように定義される。
【数1】
【数2】
【数3】
【数4】
【0036】
SADという用語は、「絶対差の和(summed absolute differences)」の略語である。メトリックを形成するために差がとられるフィールドが、図8に図式的に示されている。下付数字は、フィールド番号を示し、文字は、直前(=P)または現在(=C)を表す。図8の範囲記号(bracket)は、対を成すフィールドの間の差を示す。SADFSは、ラベルC1を付された現在フレームのフィールド1とラベルP1を付された直前フレームのフィールド1の間の差を示し、図8で提供される定義では、ラベルFSを付された範囲記号によって間隔が表され、SADSSは、ラベルC2を付された現在フレームのフィールド2とラベルP2を付された直前フレームのフィールド2の間の差を示し、ラベルSSを付された範囲記号によって間隔が表され、SADCOは、ラベルC2を付された現在フレームのフィールド2とラベルC1を付された現在フレームのフィールド1の間の差を示し、ラベルCOを付された範囲記号によって間隔が表され、SADPOは、現在フレームのフィールド1と直前フレームのフィールド2の間の差を示し、ラベルPOを付された範囲記号によって間隔が表される。
【0037】
各SADを評価するための計算負荷が、以下で説明される。従来のNTSCには約480本のアクティブ水平ラインが存在する。水平方向における解像度が同じである場合、4:3のアスペクト比では、480×4/3=640に等しい垂直ラインまたは自由度が存在する。640×480ピクセルのビデオフォーマットは、高度テレビ標準委員会(Advanced Television Standards Committee)によって承認されたフォーマットの1つである。したがって、フレームの持続時間である1/30秒ごとに、640×480=307200個の新しいピクセルが生成される。新しいデータは、9.2×106ピクセル/秒のレートで生成され、これは、このシステムを実行するハードウェアまたはソフトウェアが、約10MB以上のレートでデータを処理することを含意する。これは、システムの高速部分の1つである。それは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組み合わせによって実施することができる。SAD計算器は、スタンドアロンコンポーネントとすることができ、ハードウェア、ファームウェア、ミドルウェアとして別のデバイスのコンポーネントに組み込まれることができ、またはプロセッサ上で実行されるマイクロコードもしくはソフトウェアで実施することができ、あるいはそれらの組み合わせとすることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施される場合、計算を実行するプログラムコードまたはコードセグメントは、記憶媒体などの機械可読媒体に保存することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組み合わせに相当することができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を受け渡し、および/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合されることができる。
【0038】
図9の流れ図900は、図8の関係を明示的にするものであり、式1〜式4の図式的表現である。流れ図900は、SADFS、SADCO、SADSS、およびSADPOの最も新しい値がそれぞれ保持される、記憶ロケーション941、942、943、944を示している。これらは各々、絶対差の和を求める4つの計算器940によって生成され、4つの計算器940は、直前の第1フィールドのデータのルミナンス値931、現在の第1フィールドのデータのルミナンス値932、現在の第2フィールドのデータのルミナンス値933、および直前の第2フィールドのデータのルミナンス値934を処理する。メトリックを定義する加算において、「値(i,j)」という用語は、位置i,jにおけるルミナンスの値であることを意味し、加算はすべてのアクティブピクセルにわたるが、アクティブピクセルの意味のあるサブセット上での加算は除外されない。
【0039】
図10の流れ図100は、テレシネビデオを検出し、元の走査フィルム画像に回復するためにテレシネビデオに逆処理を施すためのプロセスを説明する詳細な流れ図である。ステップ1030において、図9で定義されたメトリックが評価される。ステップ1083に進み、4つのメトリックの下方エンベロープ値(lower envelope value)が見出される。SADメトリックの下方エンベロープは、SADがそれを下回ることのない最高の数値的下限である、動的に決定される量である。ステップ1085に進み、以下の式5〜式10で定義されるブランチ情報の量が決定され、それには、先に決定されたメトリック、下方エンベロープ値、および実験的に決定された定数Aを使用することができる。フェーズの後続値は整合性のないものとなり得るので、ステップ1087において、量Δがこの明らかな不安定性を低減するように決定される。フェーズは、フェーズ判定の系列が、図7に示された問題のモデルと整合している場合、整合的と見なされる。そのステップに続いて、プロセスは、ステップ1089に進み、Δの現在値を使用して判定変数を計算する。判定変数計算器1089は、そこに到るまでの1080番代のブロックにおいて生成されたすべての情報を使用して、判定変数を評価する。ステップ1030、1083、1085、1087、および1089は、図6のメトリック決定651の拡張である。これらの変数から、フェーズ選択器1090によって、適用可能フェーズが見出される。判定ステップ1091は、示されるように、テレシネビデオに逆処理を施すため、またはそれをデインタレースするために、適用可能フェーズを使用する。これは、図4のフェーズ検出器404の動作のより明示的な言明である。一態様では、図10の処理は、図4のフェーズ検出器404によって実行される。検出器404は、ステップ1030で開始して、図8を参照して上で説明されたプロセスによって複数のメトリックを決定し、ステップ1083、1085、1087、1089、1090、および1091を通って進む。
【0040】
流れ図1000は、現在のフェーズを推定するためのプロセスを示している。流れ図は、ステップ1083において、ブランチ情報を計算するために、決定されたメトリックおよび下方エンベロープ値を使用することを述べている。ブランチ情報は、先に説明されたユークリッド距離として認識することができる。ブランチ情報を生成するために使用できる例示的な式は、以下の式5〜式10である。ブランチ情報の量は、図12のブロック1209において計算される。
【0041】
処理されたビデオデータは、例えば、プロセッサに接続されるチップ構成記憶媒体(例えば、ROM、RAM)またはディスクタイプ記憶媒体(例えば、磁気的もしくは光学的)を含み得る、記憶媒体に保存することができる。いくつかの態様では、逆テレシネ406およびデインタレーサ405は各々、記憶媒体の一部または全部を含むことができる。ブランチ情報の量は、以下の式によって定義される。
【数5】
【数6】
【数7】
【数8】
【数9】
【数10】
【0042】
ブランチ計算のさらなる詳細が、図12のブランチ情報計算器1209に示されている。計算器1209に示されるように、ブランチ情報を生成するには、SADFSおよびSADSSの下方エンベロープ値である量LSと、SADPOの下方エンベロープ値である量LPと、SADCOの下方エンベロープ値である量LCを使用する。下方エンベロープは、HS、HP、およびHCを生成するために、ブランチ情報計算における距離オフセットとして単独で、または所定の定数Aと併せて使用される。それらの値は、以下で説明される下方エンベロープトラッカ(lower envelope tracker)において最新に維持される。Hオフセットは、以下のように定義される。
【数11】
【数12】
【数13】
【0043】
LS、LP、およびLCの値を追跡するプロセスが、図13A、図13B、および図13Cに提示されている。例えば、図11Aの1番上に示されたLPのための追跡アルゴリズム1300について考える。メトリックSADPOが、比較器1305において、LPの現在値にしきい値TPを加えた値と比較される。SADPOの方が大きければ、ブロック1315に示されるように、LPの現在値は変更されない。SADPOの方が小さければ、ブロック1313に示されるように、LPの新しい値は、SADPOとLPの線形結合になる。ブロック1315の別の態様では、LPの新しい値は、LP+TPになる。
【0044】
図13Bおよび図13Cの量LSおよびLCも、同様に計算される。同じ機能を有する図13A、図13B、および図13Cの処理ブロックは、同じ番号が振られているが、変数の異なる組に関して動作することを示すため、プライム符号(’または”)が添えられている。例えば、SADPOとLCの線形結合が形成される場合、その演算は、ブロック1313’に示される。LPの場合のように、1315’の別の態様は、LCをLC+TCによって置き換えたものである。
【0045】
しかし、LSの場合、この下方エンベロープは、SADFSおよびSADSSの両変数に適用されるので、代替として、図13Bのアルゴリズムは、各Xに順番にラベルを付けながら、SADFSおよびSADSSを処理する。SADFSおよびSADSSの値の交替は、ブロック1308でのSADFSの現在値が、ブロック1303においてXのロケーションに読み込まれた時と、それに続いて、ブロック1307でのSADSSの現在値が、ブロック1302においてXのロケーションに読み込まれた時とに発生する。LPの場合のように、1315”の別の態様は、LSをLS+TSによって置き換えたものである。現在の下方エンベロープ値をテストする際に使用される量Aおよびしきい値は、実験によって事前に決定される。
【0046】
図11は、図10のステップ1089を実行するための例示的なプロセスを示す流れ図である。図11は、全体として、判定変数を更新するためのプロセスを示している。メトリックから導き出された新しい情報を用いて更新される判定変数が(6つの可能な判定に対応して)6つ存在する。判定変数は、以下のようにして見出される。
【数14】
【数15】
【数16】
【数17】
【数18】
【数19】
【0047】
量αは、1(unity)より小さく、過去の値に対する判定変数の依存性を制限し、αの使用は、各ユークリッド距離の影響をそのデータが古くなるにつれて減少させていくことに等しい。流れ図1162では、更新される判定変数は、ライン1101、1102、1103、1104、1105、および1106上で利用可能であるとして、左側に列挙されている。フェーズ遷移経路の1つにおける判定変数の各々は、次にブロック1100の1つにおいて1より小さいαを乗じられ、その後、古い判定変数の減衰値がブランチ情報の現在値に加えられ、変数は、減衰判定変数がその上に存在するフェーズ遷移経路上の次のフェーズによってインデックス付けされる。これは、ブロック1110において行われる。変数D5は、ブロック1193において、量Δだけずらされ、Δは、ブロック1112において計算される。以下で説明されるように、この量は、このシステムによって決定されるフェーズの系列における不整合性を低減するように選択される。最小の判定変数が、ブロック1120において見出される。
【0048】
要約すると、各判定に固有の新しい情報が、現在の判定変数の値を得るために、αを乗じられた適切な判定変数の直前の値に加えられる。新しい判定は、新しいメトリックが手に入った時に行われることができ、したがって、この技法は、すべてのフレームのフィールド1および2を受け取った時に、新しい判定を行うことが可能である。これらの判定変数は、先に言及されたユークリッド距離の和である。
【0049】
適用可能フェーズは、最小の判定変数の下付文字を有するフェーズとなるように選択される。判定変数に基づいた判定は、図10のブロック1090において明示的に行われる。一定の判定が、判定空間において許容される。ブロック1091で説明されたように、これらの判定は、(i)適用可能フェーズがP5ではない−ビデオの逆テレシネ、(ii)適用可能フェーズがP5である−ビデオのデインタレース、である。
【0050】
メトリックは、本質的に変化しやすいビデオから引き出されるので、首尾一貫した判定の列には、時々誤りが存在することがある。この技法は、図7と整合性をもたないフェーズ系列を検出する。その動作が、図14に略述されている。アルゴリズム1400は、ブロック1405において現在のフェーズ判定の下付文字(=x)を、ブロック1406において直前のフェーズ判定の下付文字(=y)を保存する。ブロック1410において、x=y=5であるかどうかがテストされ、ブロック1411において、以下の値が、すなわち、
【数20】
【0051】
であるかどうかがテストされる。2つのテストのどちらかが肯定的な結果である場合、ブロック1420において、判定は整合的であると宣言される。どちらのテストも肯定的な結果でない場合、図11のブロック1193において示されたオフセットが、図15において計算され、P5に関連する判定変数であるD5に加えられる。
【0052】
D5に対する変更も、プロセス1500の一部として図15に現れており、プロセス1500は、フェーズの系列の不整合に対する補正アクションを提供する。流れ図1500のブロック1510における整合性テストが失敗したと仮定する。ブロック1510から延びる「NO」ブランチに沿って進むと、ブロック1514における次のテストは、すべてのi<5について、D5>Diかどうかであり、または代替として、i<5について、少なくとも1つの変数DiがD5より大きいかである。第1のケースが有効である場合、ブロック1516において、初期値がδ0であるパラメータδが、3δ0に変更される。第2のケースが有効である場合、ブロック1517において、δは4δ0に変更される。ブロック152Bにおいて、Δの値が更新されて、ΔBになり、ここで、
【数21】
【0053】
である。
【0054】
再びブロック15210に戻り、判定の列が整合的であると判断されたと仮定する。パラメータδは、ブロック15215において、
【数22】
【0055】
によって定義されるδ+に変更される。
【0056】
δの新しい値は、ブロック152Aにおいて、Δについての更新関係であるΔAに挿入される。これは
【数23】
【0057】
というものである。その後、Δの更新値が、ブロック1593において、判定変数D5に加えられる。
【0058】
図16は、ひとたびプルダウンフェーズが決定された後、逆テレシネプロセスがどのように進行するかを示している。この情報を用いて、フィールド1605および1605’は、ビデオの同じフィールドを表すものとして識別される。2つのフィールドは、一緒に平均され、フィールド1606と組み合わされて、フレーム1620を再構成する。再構成フレームは1620’である。同様のプロセスが、フレーム1622を再構成する。フレーム1621および1623に由来するフィールドは、重複していない。これらのフレームは、その第1および第2のフィールドを一緒に組み立てることによって再構成される。
【0059】
上で説明された態様では、新しいフレームが受け取られるたびに、メトリックの4つの新しい値が見出され、6つで1組の仮定が、新たに計算された判定変数を使用してテストされる。他の処理構造は、判定変数を計算するために適合させることができる。ビタビ復号器が、一緒に経路を構成するブランチのメトリックを足し合わせて、経路メトリックを形成する。ここで定義される判定変数は、同様の規則によって形成され、その各々は、新しい情報変数の「リーキーな(leaky)」和である。(リーキーな加算では、判定変数の直前の値は、1より小さい数を乗じられた後、それに新しい情報データが加えられる)。ビタビ復号器の構造は、この手順の動作をサポートするために変更することができる。
【0060】
本態様は、新しいフレームが1/30秒ごとに出現する従来のビデオの処理に関して説明されたが、このプロセスは、時間をさかのぼって記録され、処理されるフレームにも適用され得ることに留意されたい。判定空間は同じままであるが、入力フレームの系列の時間反転を反映する小さな変更が存在する。例えば、(ここに示される)時間反転モードでの首尾一貫したテレシネ判定の列
【数24】
【0061】
も、時間的に反転されている。
【0062】
第1の態様のこの変形の使用は、正当な判定を行う際に、判定プロセスを2回−1回は時間的に順方向(forward)で、もう1回は逆方向(backward)で−試みることを可能にする。2回の試みは、独立していないが、各試みがメトリックを異なる順序で処理する点で異なっている。
【0063】
このアイデアは、付加的に必要とされ得る将来のビデオフレームを保存するために維持されるバッファと併せて適用することができる。ビデオセグメントが処理の順方向において許容し得ない不整合な結果を与えることが見出された場合、手順は、バッファから将来のフレームを取り出し、逆方向にフレームを処理することによって、ビデオの難しいひと続きの範囲(stretch)を克服しようと試みる。
【0064】
本特許で説明されるビデオの処理は、PALフォーマットのビデオにも適用することができる。
【0065】
デインタレーサ
本明細書で使用される「デインタレーサ」は、プログレッシブマルチメディアデータを形成するためにインタレースマルチメディアデータを全体的にまたは重要な部分だけ処理する、(例えば、プロセスを実行するように構成されたソフトウェア、ファームウェア、またはハードウェアを含む)デインタレースシステム、デバイス、またはプロセスを示すのに使用できる広義の用語である。
【0066】
ビデオカメラや放送スタジオなどで従来どおりに生成される放送用ビデオは、米国ではNTSC規格に準拠している。ビデオを圧縮するための一般的な方法は、ビデオをインタレース化することである。インタレースデータでは、各フレームは、2つのフィールドの一方から構成される。一方のフィールドはフレームの奇数ラインから成り、他方は偶数ラインから成る。フレームは、約30フレーム/秒で生成されるが、フィールドは、1/60秒間隔のテレビカメラの画像の記録である。インタレースビデオ信号の各フレームは、画像の1つおきの水平ラインを示す。フレームが画面に投影されるとき、ビデオ信号は、偶数ラインと奇数ラインを交替で示す。これが十分に速く、例えば60フレーム毎秒で行われる場合、ビデオ画像は、人間の目には滑らかに見える。
【0067】
インタレースは、NTSC(米国)およびPAL(ヨーロッパ)フォーマットに基づいたアナログテレビ放送において、数10年にわたって使用されてきた。各フレームを用いて画像の半分だけしか送信しないので、インタレースビデオは、画像全体を送信するのに比べて、おおよそ半分の帯域幅しか使用しない。端末16の内部におけるビデオの最終的な表示フォーマットは、必ずしもNTSC互換であるとは限らず、インタレースデータを直ちに表示できるとは限らない。代わりに、最新のピクセルベースディスプレイ(例えば、LCD、DLP、LCOS、プラズマなど)は、プログレッシブ走査型であり、プログレッシブ走査されたビデオ源を表示する(一方、多くのより旧式のビデオデバイスは、より旧式のインタレース走査技法を使用する)。いくつかの一般に使用されるデインタレースアルゴリズムの例が、P.Haavisto、J.Juhola、Y.Neuvoの「Scan rate up−conversion using adaptive weighted median filtering」、Signal Processing of HDTV II、703〜710ページ、1990年と、R.Simonetti、S.Carrato、G.Ramponi、A.Polo Filisanの「Deinterlacing of HDTV Images for Multimedia Applications」、Signal Processing of HDTV IV、765〜772ページ、1993年に記載されている。
【0068】
デインタレースの性能を向上させるために単独でまたは組み合わせて使用でき、デインタレーサ405(図4)において使用できる、システムおよび方法のためのデインタレース態様の例が、以下で説明される。そのような態様は、第1の暫定デインタレースフレームを決定するために時空間フィルタリングを使用して選択フレームをデインタレースすることと、選択フレームから第2の暫定デインタレースフレームを決定するために双方向動き推定および動き補償を使用することと、その後、最終のプログレッシブフレームを形成するために第1および第2の暫定フレームを組み合わせることとを含むことができる。時空間フィルタリングは、水平エッジまたは水平エッジ付近のぼやけを防止する水平エッジ検出器を含むことができる、加重メディアンフィルタ(「Wmed」フィルタ)を使用することができる。「現在」フィールドの先行および後続近隣フィールドの時空間フィルタリングは、選択フレームの部分を、例えば、静止、遅い動き、および速い動きなど、異なる動きレベルに分類する強度動きレベルマップ(intensity motion-level map)を生成する。
【0069】
いくつかの態様では、強度マップは、5つの近隣フィールド(2つの先行フィールド、現在フィールド、および2つの後続フィールド)のピクセルを含むフィルタアパーチャを使用して、Wmedフィルタリングによって生成される。Wmedフィルタリングは、シーン変化ならびに出現および消失する物体を効果的に扱うことができる、前方(forward)、後方(backward)、および双方向静止領域検出を決定することができる。様々な態様では、Wmedフィルタは、フィールド間(inter-field)フィルタリングモードにおいて同じ偶奇性の1つまたは複数のフィールド間で利用することができ、またしきい値基準を微調整することによってフィールド内(intra-field)フィルタリングモードに切り換えられることができる。いくつかの態様では、動き推定および補償は、明るさレベルはほとんど均一であるが、色が異なる、選択フレームのデインタレース領域を改善するために、ルーマ(luma)(ピクセルの輝度または明るさ)およびクロマ(chroma)(ピクセルの色情報)データを使用する。動き推定の精度を高めるために、雑音低減フィルタが使用できる。雑音低減フィルタは、Wmedフィルタリングによって生成されたエイリアスアーチファクトを除去するために、Wmedデインタレース暫定フレームに適用することができる。以下で説明されるデインタレース方法およびシステムは、良好なデインタレース結果を生み出し、高速動作のデインタレース実施を可能にする比較的低い計算の複雑さを有し、セル電話、コンピュータ、およびディスプレイを利用する他のタイプの電子または通信デバイスにデータを提供するために使用されるシステムを含む、様々なデインタレース応用例にとってそのような実施を適したものにする。
【0070】
デインタレーサおよびデインタレース方法の態様が、マルチメディアデータをデインタレースするために使用される様々なコンポーネント、モジュール、および/またはステップを参照しながら本明細書で説明される。
【0071】
図17は、図4のデインタレーサ405として使用できるデインタレーサ1700の一態様を示すブロック図である。デインタレーサ1722は、インタレースデータの少なくとも一部を空間的および時間的(「時空間的」)にフィルタリングし、時空間情報を生成する、空間フィルタ1730を含む。例えば、空間フィルタ1730において、Wmedが使用できる。いくつかの態様では、デインタレーサ1700は、例えば、ワイナーフィルタ(Weiner filter)またはウェーブレット縮小フィルタ(wavelet shrinkage filter)など、雑音低減フィルタ(図示されず)も含む。デインタレーサ1700は、インタレースデータの選択フレームの動き推定および補償を提供し、動き情報を生成する、動き推定器1732も含む。結合器1734は、プログレッシブフレームを形成するために、時空間情報および動き情報を受け取り、それらを組み合わせる。
【0072】
図18は、デインタレーサ1700の別のブロック図である。デインタレーサ1700のプロセッサ1836が、空間フィルタモジュール1838と、動き推定モジュール1840と、結合器モジュール1842とを含む。外部源48からのインタレースマルチメディアデータは、デインタレーサ1700の通信モジュール44に提供されることができる。デインタレーサおよびそのコンポーネントまたはステップは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組み合わせによって実施することができる。例えば、デインタレーサは、スタンドアロンコンポーネントとすることができ、ハードウェア、ファームウェア、ミドルウェアとして別のデバイスのコンポーネントに組み込まれることができ、またはプロセッサ上で実行されるマイクロコードもしくはソフトウェアで実施することができ、あるいはそれらの組み合わせとすることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施される場合、デインタレーサタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などの機械可読媒体に保存することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組み合わせに相当することができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を受け渡し、および/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合されることができる。
【0073】
受け取られたインタレースデータは、例えば、プロセッサ1836に接続されるチップ構成記憶媒体(例えば、ROM、RAM)またはディスクタイプ記憶媒体(例えば、磁気的もしくは光学的)を含み得る、デインタレーサ1700の記憶媒体1846に保存することができる。いくつかの態様では、プロセッサ1836は、記憶媒体の一部または全部を含むことができる。プロセッサ1836は、プログレッシブフレームを形成するためにインタレースマルチメディアデータを処理するように構成され、その後、プログレッシブフレームは、別のデバイスまたはプロセスに提供される。
【0074】
テレビなどの従来のアナログビデオデバイスは、インタレース方式でビデオを描画し、すなわち、そのようなデバイスは、偶数番号の走査ライン(偶数フィールド)および奇数番号の走査ライン(奇数フィールド)を伝送する。信号サンプリングの観点からは、これは、
【数25】
【0075】
によって示されるパターンでの時空間サブサンプリングに等しく、ここで、Θは、元のフレーム画像を表し、Fは、インタレースフィールドを表し、(x,y,n)は、ピクセルの水平、垂直および時間位置をそれぞれ表す。
【0076】
一般性を失うことなく、本開示ではどこでも、n=0は偶数フィールドであると仮定することができ、その結果、式23は、
【数26】
【0077】
のように簡素化される。
【0078】
水平次元ではデシメーションは行われないので、サブサンプリングパターンは、次のn−y座標で表すことができる。図19では、円形および星形の両方が、元の全フレーム画像がサンプルピクセルを有する位置を表す。インタレースプロセスは、円形ピクセルをそのままに残しながら、星形ピクセルをデシメートする。垂直位置には0から始まるインデックス付けを施してあり、したがって、偶数フィールドが最上位フィールドであり、奇数フィールドが最下位フィールドであることに留意されたい。
【0079】
デインタレーサの目標は、インタレースビデオ(フィールドの系列)をインタレース化されていないプログレッシブフレーム(フレームの系列)に変換することである。言い換えると、全フレーム画像を「回復」または生成するために、偶数フィールドと奇数フィールドとで補間しあう。これは、式25によって表すことができ、
【数27】
【0080】
ここで、Fiは、喪失ピクセルについてのデインタレース結果を表す。
【0081】
図20は、インタレースマルチメディアデータからプログレッシブフレームを生成するためにWmedフィルタリングおよび動き推定を使用するデインタレーサの一態様のいくつかの側面を説明するブロック図である。図20の上側部分は、現在フィールドと、2つの先行フィールド(PPフィールドおよびPフィールド)と、2つの後続フィールド(次フィールドおよび次々フィールド)からの情報を使用して生成され得る、動き強度マップ2052を示している。動き強度マップ2052は、現在フレームを2つ以上の異なる動きレベルに分類または区分化し、以下本明細書でさらに詳細に説明される時空間フィルタリングによって生成することができる。いくつかの態様では、動き強度マップ2052は、式4〜8を参照しながら以下で説明されるように、静止領域、遅い動き領域、および速い動き領域を識別するために生成される。空間/時間フィルタ、例えばWmedフィルタ2054は、動き強度マップに基づいた基準を使用してインタレースマルチメディアデータをフィルタリングし、時空間暫定デインタレースフレームを生成する。いくつかの態様では、Wmedフィルタリングプロセスは、水平近傍[−1,1]と、垂直近傍[−3,3]と、Z−1が1フィールド分の遅延を表す図20に示される5つのフィールド(PPフィールド、Pフィールド、現在フィールド、次フィールド、次々フィールド)によって表される5つの隣接フィールドからなる時間近傍を含む。現在フィールドに対して、次フィールドおよびPフィールドは、偶奇性が一致しないフィールドであり、PPフィールドおよび次々フィールドは、偶奇性が一致するフィールドである。時空間フィルタリングに関して使用される「近傍」は、フィルタリング動作中に実際に使用されるフィールドおよびピクセルの空間的および時間位置を指し、例えば図21および図22に示されるように、「アパーチャ」として示すことができる。
【0082】
デインタレーサは、雑音低減器(雑音低減フィルタ)2056も含むことができる。雑音低減器2056は、Wmedフィルタ2056によって生成された時空間暫定デインタレースフレームをフィルタリングするように構成される。時空間暫定デインタレースフレームの雑音低減は、源のインタレースマルチメディアデータ系列が白色雑音によって汚染されている場合は特に、後続の動き探索プロセスをより正確なものにする。雑音低減は、Wmed画像における偶数行と奇数行の間のエイリアスを少なくとも部分的に除去することもできる。雑音低減器2056は、やはり以下本明細書でさらに説明される、ウェーブレット縮小およびウェーブレットワイナーフィルタベースの雑音低減器を含む、様々なフィルタとして実施することができる。
【0083】
図20の下側部分は、インタレースマルチメディアデータの動き情報(例えば、動きベクトル候補、動き推定、動き補償)を決定する一態様を示している。特に、図20は、選択フレームの動き補償を施した暫定プログレッシブフレームを生成し、その後、それをWmed暫定フレームと組み合わせて、デインタレース現在フレーム2064として示された結果の「最終」プログレッシブフレームを形成するために使用される、動き推定および動き補償方式を説明している。いくつかの態様では、インタレースマルチメディアデータの動きベクトル(「MV」)候補(または推定)が、外部の動き推定器からデインタレーサに提供され、双方向動き推定器および補償器(「ME/MC」)2068に開始点を提供するために使用される。いくつかの態様では、MV候補選択器2072は、処理されるブロックのMV候補のために、例えば、デインタレース先行フレーム2070内のブロックといった以前に処理されたブロックのMVなど、近隣ブロックのために以前に決定されたMVを使用する。動き補償は、先行デインタレースフレーム70および次(例えば将来)のWmedフレーム2058に基づいて、双方向で行われることができる。現在Wmedフレーム2060および動き補償(「MC」)現在フレーム2066は、結合器2062によって合併され、または組み合わされる。結果のデインタレース現在フレーム2064は、今ではプログレッシブフレームであり、デインタレース先行フレーム2070として使用されるために、ME/MC2068に戻され、例えば圧縮および表示端末への伝送など、さらなる処理のために、デインタレーサの外部へも伝達される。図20に示された様々な態様が、以下でより詳細に説明される。
【0084】
図25は、インタレースフレームの系列からプログレッシブフレームの系列を生成するようにマルチメディアデータを処理するためのプロセス2500を示している。一態様では、プログレッシブフレームは、図4に示されたデインタレーサ405によって生成される。ブロック2502において、プロセス2500(プロセス「A」)は、選択フレームの時空間情報を生成する。時空間情報は、マルチメディアデータの動きレベルを分類し、動き強度マップを生成するために使用される情報を含むことができ、Wmed暫定デインタレースフレームおよびそのフレームを生成するために使用される情報(例えば、式26〜式33で使用される情報)を含む。このプロセスは、図20の上側部分に示されるようなWmedフィルタ2054と、以下でさらに詳細に説明されるその関連処理とによって実行することができる。図26に示されるプロセスAでは、ブロック2602において、領域が、以下でさらに説明されるように、異なる動きレベルのフィールドに分類される。
【0085】
次にブロック2504(プロセス「B」)において、プロセス2500は、選択フレームの動き補償情報を生成する。一態様では、図20の下側部分に示された双方向動き推定器/動き補償器2068が、このプロセスを実行することができる。プロセス2500は、その後、ブロック2506に進み、選択フレームに関連するプログレッシブフレームを形成するために、時空間情報および動き補償情報に基づいて、選択フレームのフィールドをデインタレースする。これは、図20の下側部分に示された結合器2062によって実行することができる。
【0086】
動き強度マップ
各フレームについて、現在フィールドのピクセルを処理して、異なる「動き」の領域を決定することによって、動き強度マップ2052が決定できる。3つのカテゴリの動き強度マップを決定する例示的な一態様が、図21〜図24を参照しながら以下で説明される。動き強度マップは、同じ偶奇性フィールドと異なる偶奇性フィールドのピクセルの比較に基づいて、各フレームの領域を、静止領域、遅い動き領域、および速い動き領域として指示することができる。
【0087】
静止領域
動きマップの静止領域の決定は、あるピクセルのルミナンス差がある基準を満たすかどうかを決定するために、隣接フィールドの近傍内のピクセルを処理することを備える。いくつかの態様では、動きマップの静止領域の決定は、あるピクセルのルミナンス差があるしきい値を満たすかどうかを決定するために、5つの隣接フィールド(現在フィールド(C)、現在フィールドより時間的に前の2つのフィールド、および現在フィールドより時間的に後の2つのフレーム)の近傍内のピクセルを処理することを備える。これらの5つのフィールドは、Z−1が1フィールド分の遅延を表す図20に示されている。言い換えると、5つの隣接フィールドは一般に、Z−1の遅延時間を有するそのような系列で表示される。
【0088】
図21は、いくつかの態様による、時空間フィルタリングのために使用できる、5つのフィールドの各々のあるピクセルを識別するアパーチャを示している。アパーチャは、左から右に向かって、先々フィールド(PP)、先行フィールド(P)、現在フィールド(C)、次フィールド(N)、および次々フィールド(NN)の3×3ピクセルグループを含む。いくつかの態様では、現在フィールドの領域は、それが、図21に示されるピクセル位置および対応フィールドについて、式26〜式28に示される基準
【数28】
【0089】
かつ
【数29】
【0090】
または
【数30】
【0091】
を満たす場合、動きマップにおいて静止と見なされ、ここで、
T1はしきい値、
LPはPフィールド内に位置するピクセルPのルミナンス、
LNはNフィールド内に位置するピクセルNのルミナンス、
LBは現在フィールド内に位置するピクセルBのルミナンス、
LEは現在フィールド内に位置するピクセルEのルミナンス、
LBPPはPPフィールド内に位置するピクセルBPPのルミナンス、
LEPPはPPフィールド内に位置するピクセルEPPのルミナンス、
LBNNはNNフィールド内に位置するピクセルBNNのルミナンス、および
LENNはNNフィールド内に位置するピクセルENNのルミナンス
である。
【0092】
しきい値T1は、事前決定され、特定の値に設定されることができ、デインタレース以外のプロセスによって決定され、(例えば、デインタレースされるビデオ用のメタデータとして)提供されることができ、またはデインタレースの最中に動的に決定されることができる。
【0093】
上の式26、式27、式28に示された静止領域基準は、少なくとも2つの理由で、従来のデインタレース技法よりも多くのフィールドを使用する。第1に、偶奇性が同じフィールド間の比較は、偶奇性が異なるフィールド間の比較よりも低いエイリアスおよびフェーズミスマッチを有する。しかし、処理されるフィールドと偶奇性が同じ直近の近隣フィールドとの間の最小時間差(したがって相関)は、2フィールド分であり、偶奇性が異なる近隣フィールドとの最小時間差よりも大きい。より信頼性の高い偶奇性が異なるフィールドとよりエイリアスが低い偶奇性が同じフィールドとの組み合わせは、静止領域検出の精度を向上させることができる。
【0094】
加えて、5つのフィールドは、図21に示されるように、現在フィールドCのピクセルXに対して過去および将来に対称的に分散させることができる。静止領域は、前方静止(先行フレームに対して静止)、後方静止(次フレームに対して静止)、または双方向静止(前方および後方基準がともに満たされる場合)の3つのカテゴリに細分することができる。静止領域のこのより精細な分類は、シーン変化時および物体の出現/消失時に特に性能を向上させることができる。
【0095】
遅い動き領域
動きマップの領域は、あるピクセルのルミナンス値が、静止領域を指示する基準を満たさないが、遅い動き領域を指示する基準を満たす場合、動きマップにおける遅い動き領域と見なすことができる。以下の式29は、遅い動き領域を決定するために使用できる基準を定義する。図22を参照すると、式29で識別されるピクセルIa、Ic、Ja、Jc、Ka、Kc、La、Lc、P、Nの位置が、ピクセルXを中心とするアパーチャ内に示されている。アパーチャは、現在フィールド(C)の3×7ピクセル近傍と、次フィールド(N)および先行フィールド(P)の3×5近傍とを含む。ピクセルXは、それが静止領域用の上に列挙された基準を満たさず、アパーチャ内のピクセルが式29に示される以下の基準
【数31】
【0096】
を満たす場合、遅い動き領域の部分であると見なされ、ここで、
T2はしきい値、
LIa、LIc、LJa、LJc、LJa、LJc、LKa、LKc、LLa、LLc、LP、LNは、それぞれピクセルIa、Ic、Ja、Jc、Ka、Kc、La、Lc、P、Nのルミナンス値である。
【0097】
しきい値T2はやはり、事前決定され、特定の値に設定されることができ、デインタレース以外のプロセスによって決定され、(例えば、デインタレースされるビデオ用のメタデータとして)提供されることができ、またはデインタレースの最中に動的に決定されることができる。
【0098】
フィルタは、角度に依存するエッジ検出能力のため、水平な(例えば、垂直線となす角度が45°より大きい)エッジをぼやけさせ得ることに留意されたい。例えば、図22に示されるアパーチャ(フィルタ)のエッジ検出能力は、ピクセル「A」および「F」、または「C」および「D」によって形成される角度によって影響される。そのような角度よりも水平などのようなエッジも、最適に補間されず、したがって、そのようなエッジにおいて、階段状アーチファクトが出現することがある。いくつかの態様では、遅い動きカテゴリは、このエッジ検出結果を考慮するために、「水平エッジ」と「その他」という2つのサブカテゴリに分割することができる。遅い動きピクセルは、以下に示される式30の基準が満たされる場合、水平エッジとして分類され、式30の基準が満たされない場合、いわゆる「その他」カテゴリに分類されることができる。
【数32】
【0099】
ここで、T3はしきい値であり、LA、LB、LC、LD、LE、LFは、ピクセルA、B、C、D、E、Fのルミナンス値である。
【0100】
水平エッジおよびその他カテゴリの各々に対して、異なる補間方法が使用できる。
【0101】
速い動き領域
静止領域用の基準および遅い動き領域用の基準が満たされない場合、ピクセルは、速い動き領域にあると見なすことができる。
【0102】
選択フレームのピクセルを分類した後、プロセスA(図26)は、ブロック2604に進み、動き強度マップに基づいて暫定デインタレースフレームを生成する。この態様では、Wmedフィルタ2054(図20)は、以下のように定義され得る候補全フレーム画像F0を提供するために、選択フィールドおよび必要な隣接フィールドをフィルタリングし、
【数33】
【0103】
ここで、αi(i=0,1,2,3)は、以下のように計算される整数重みである。
【数34】
【数35】
【0104】
Wmedフィルタリングを施された暫定デインタレースフレームは、図20の下側部分に示されるように、動き推定および動き補償処理と協力するさらなる処理に提供される。
【0105】
上で説明され、式31に示されるように、静止補間は、フィールド間補間を備え、遅い動きおよび速い動き補間は、フィールド内補間を備える。偶奇性が同じフィールドの時間的(例えばフィールド間)補間が望ましくないある種の態様では、時間的補間は、しきい値T1(式4〜式6)をゼロ(T1=0)に設定することによって、「使用不可」にすることができる。時間的補間を使用不可とした現在フィールドの処理は、動きレベルマップのどの領域も静止として分類しないという結果をもたらし、Wmedフィルタ2054(図20)は、図22のアパーチャ内に示された3つのフィールドを使用し、現在フィールドと2つの隣接する偶奇性が異なるフィールド上で動作する。
【0106】
雑音低減
ある態様では、候補Wmedフレームが動き補償情報を使用してさらに処理される前に、候補Wmedフレームから雑音を除去するために、雑音低減器が使用できる。雑音低減器は、Wmedフレームに存在する雑音を除去し、信号の周波数内容に関わらず信号を存続させることができる。ウェーブレットフィルタを含む様々なタイプの雑音低減フィルタが使用できる。ウェーブレットは、空間およびスケーリングドメイン(scaling domain)の両方において、与えられた信号を局在化するために使用される関数のクラスである。ウェーブレットの背後の基本的アイデアは、ウェーブレット表現における小さな変化が、元の信号における対応する小さな変化を生み出すように、異なるスケールまたは解像度で信号を分析することである。
【0107】
いくつかの態様では、雑音低減フィルタは、(4,2)双直交3次Bスプラインウェーブレットフィルタ((4, 2) biorthogonal cubic B-spline wavelet filter)の一態様に基づく。1つのそのようなフィルタは、以下の順変換および逆変換
【数36】
【0108】
および
【数37】
【0109】
によって定義することができる。
【0110】
雑音低減フィルタの適用は、雑音の多い環境において動き補償の精度を高めることができる。ビデオ系列内の雑音は、加法性白色ガウスであると仮定される。雑音の推定分散は、σによって表される。それは、0.6745で除算された最高周波数サブバンド係数の中央値絶対偏差として推定することができる。そのようなフィルタの実施は、D.L.Donoho、I.M.Johnstoneの「Ideal spatial adaptation by wavelet shrinkage」、Biometrika、vol.8、425〜455ページ、1994年においてさらに説明されており、同文献は、参照によりその全体が本明細書に組み込まれる。
【0111】
ウェーブレット縮小またはウェーブレットワイナーフィルタも、雑音低減器として適用することができる。ウェーブレット縮小雑音低減は、ウェーブレット変換ドメインを縮小することを含むことができ、一般に、線形ウェーブレット順変換、非線形縮小雑音低減、および線形ウェーブレット逆変換の3つのステップを備える。ワイナーフィルタは、加法性雑音およびぼやけによって劣化した画像を改善するために使用できる、MSE最適線形フィルタである。そのようなフィルタは、当技術分野において一般に知られており、例えば、上で参照した「Ideal spatial adaptation by wavelet shrinkage」、およびS.P.Ghael、A.M.Sayeed、R.G.Baraniukの「Improvement Wavelet denoising via empirical Wiener filtering」、Proceedings of SPIE、vol 3169、389〜399ページ、San Diego、1997年7月で説明されている。
【0112】
動き補償
図27を参照すると、ブロック2702において、プロセスBは、双方向動き推定を実行し、次にブロック104において、動き推定を使用して、図20にさらに図示され、以下本明細書の例示的な態様で説明される、動き補償を実行する。Wmedフィルタと動き補償ベースのデインタレーサの間には1フィールド分の「遅れ」が存在する。現在フィールド「C」の「喪失」データ(本来の行ではない行(non-original rows)のピクセルデータ)についての動き補償情報は、図23に示されるような、先行フレーム「P」および次フレーム「N」の両方の情報から予測される。現在フィールド(図23)では、実線は、本来のピクセルデータが存在する行を表し、破線は、Wmed補間ピクセルデータが存在する行を表す。ある態様では、動き補償は、4行×8列のピクセル近傍において実行される。しかし、このピクセル近傍は、説明を目的とした一例であり、動き補償が、異なる数の行および異なる数の列を備えるピクセル近傍に基づいた他の態様において実行され得ること、それらの選択が、例えば、計算スピード、利用可能な処理能力、またはデインタレースされるマルチメディアデータの特性を含む、多くの要因に基づき得ることは、当業者には明らかであろう。現在フィールドは、行の半分しかもたないので、照合される4行は、実際には8ピクセル×8ピクセルの領域に対応する。
【0113】
図20を参照すると、双方向ME/MC2068は、Wmed現在フレーム2060をWmed次フレーム2058およびデインタレース現在フレーム2070と比較するために、予測ブロックと予測ブロックの間の類似性を測定するために使用できる、2乗誤差の和(SSE)を使用することができる。動き補償を施された現在フレーム2066の生成は、その後、最も類似する照合ブロックからのピクセル情報を使用して、本来のピクセル行の間の喪失データの箇所を埋める。いくつかの態様では、双方向ME/MC2068は、デインタレース先行フレーム2070の情報からのピクセル情報にバイアスをかけ、またはより大きな重みを与えるが、それは、デインタレース先行フレーム2070は、動き補償情報およびWmed情報によって生成されるのに対し、Wmed次フレーム2058は、時空間フィルタリングによってデインタレースされたに過ぎないからである。
【0114】
いくつかの態様では、ルーマは同様だがクロマが異なる領域を有するフィールドの領域における照合性能を改善するため、1つまたは複数のルーマグループオブピクセル(luma group of pixels)(例えば、1つの4行×8列のルーマブロック)および1つまたは複数のクロマグループオブピクセル(chroma group of pixels)(例えば、2つの2行×4列のルーマブロックU、V)のピクセル値の寄与を含むメトリックが使用できる。そのような手法は、色敏感領域におけるミスマッチを効果的に減少させる。
【0115】
動きベクトル(MV)は、垂直次元において1/2ピクセルの粒度を有し、水平次元において1/2または1/4ピクセルの粒度を有する。分数ピクセルサンプルを取得するため、補間フィルタが使用できる。例えば、半ピクセルサンプルを取得するために使用できるいくつかのフィルタは、双1次フィルタ(1,1)、H.263/AVCによって推奨される補間フィルタ(1,−5,20,20,−5,1)、および6タップハミング窓sinc関数フィルタ(3,−21,147,147,−21,3)を含む。1/4ピクセルサンプルは、双1次フィルタを適用することによって、全および半ピクセルサンプルから生成することができる。
【0116】
いくつかの態様では、動き補償は、現在フレームのある位置におけるデータ(例えば、物体の描画)を別のフレーム(例えば、次フレームまたは先行フレーム)の異なる位置における対応データと照合するために、様々なタイプの探索プロセスを使用することができ、それぞれのフレーム内の位置の差は、物体の運きを示している。例えば、探索プロセスは、より大きな探索領域をカバーできるフルモーション探索、またはより少ないピクセルおよび/もしくは例えばひし形などの特定の形を有することができる探索パターンにおいて使用される選択ピクセルを使用できる高速モーション探索を使用する。高速モーション探索の場合、探索領域の中心は、隣接フレームを探索するための開始点として使用できる動き推定または動き候補に置くことができる。いくつかの態様では、MV候補は、外部の動き推定器で生成され、デインタレーサに提供されることができる。先に動き補償を施された隣接フレーム内の対応する近傍に属するマクロブロックの動きベクトルも、動き推定として使用することができる。いくつかの態様では、MV候補は、対応する先行フレームおよび次フレームのマクロブロック近傍(例えば、3マクロブロック×3マクロブロック)を探索することから生成することができる。
【0117】
図24は、図23に示されるような先行フレームおよび次フレームの近傍を探索することによって、動き推定/補償の最中に生成され得る、2つのMVマップであるMVPおよびMVNの例を示している。MVPおよびMVNの両方において、動き情報を決定するために処理されるブロックは、「X」によって表される中央ブロックである。MVPおよびMVNの両方に、処理される現在ブロックXの動き推定の最中に使用できる、9つのMV候補が存在する。この例では、先に実行された動き探索からの4つのMV候補が同じフィールド内に存在し、MVPおよびMVN(図24)において、より薄い色のブロックによって示されている。より濃い色のブロックによって示される他の5つのMV候補は、先に処理されたフレームの動き情報からコピー(またはマップ)されたものである。
【0118】
動き推定/補償が完了した後、Wmedフィルタによって生成された1つの補間結果(図20のWmed現在フレーム2060)と、動き補償器の動き推定処理によって生成されたもう1つの補間結果(MC現在フレーム2066)の、2つの補間結果は、喪失ラインをもたらす。結合器2062は一般に、現在デインタレースフレーム2064を生成するために、Wmed現在フレーム2060およびMC現在フレーム2066の少なくとも一部を使用することによって、Wmed現在フレーム2060とMC現在フレーム2066とを合併する。しかし、ある条件下では、結合器2062は、現在フレーム2060またはMC現在フレーム2066の一方だけを使用して、現在デインタレースフレームを生成することができる。一例では、結合器2062は、デインタレース出力信号を生成するために、式36に示されるように、Wmed現在フレーム2060とMC現在フレーム2066とを合併し、
【数38】
【0119】
ここで、
【数39】
【0120】
は、フィールドniの位置x=(x,y)tにおけるルミナンス値のために使用され、tは転置を表す。
【数40】
【0121】
として定義されるクリップ関数を使用すると、kiは、
【数41】
【0122】
として計算することができ、ここで、C1は、頑健なパラメータであり、Diffは、予測フレームピクセルと(既存フレームから取られた)予測フレーム内の利用可能ピクセルのルーマ差である。C1を適切に選択することによって、平均2乗誤差の相対重要度を調整することが可能である。k2は、式39に示されるように計算することができ、
【数42】
【0123】
ここで、
【数43】
【0124】
は、動きベクトルであり、δは、ゼロによる除算を防止するための小さな定数である。フィルタリングのためにクリップ関数を使用するデインタレースは、G.D.Haan、E.B.Bellersの「De−interlacing of video data」、IEEE Transactions on Consumer Electronics、Vol.43、No.3、819〜825ページ、1997年においてさらに説明されており、同文献は、その全体が本明細書に組み込まれる。
【0125】
いくつかの態様では、結合器2062は、高いPSNRおよび頑健な結果を達成するために、以下の式を試し、維持するように構成することができる。
【数44】
【0126】
フィールド間補間を備えるデインタレース予測方式を、Wmed+MCデインタレース方式を用いるフィールド内補間から切り離すことが可能である。言い換えると、時空間Wmedフィルタリングは、主にフィールド内補間目的で使用することができ、一方、フィールド間補間は、動き補償の最中に実行することができる。これは、Wmed結果のピークSN比を低下させるが、不正確なフィールド間予測モード判定からの不良ピクセルが、Wmedフィルタリングプロセスから除去されるので、動き補償が適用された後の視覚的品質は、より好ましい。
【0127】
クロマ処理は、共存するルーマ処理と整合的であることができる。動きマップ生成に関して、クロマピクセルの動きレベルは、4つの共存するルーマピクセルの動きレベルを観測することによって取得される。操作は、ボーティング(voting)に基づくことができる(クロマ動きレベルは優勢なルーマ動きレベルを借用する)。しかし、発明者らは、以下のような従来の手法を使用することを提案する。4つのルーマピクセルのいずれか1つが速い動きレベルを有する場合、クロマ動きレベルは速い動きであり、それ以外で、4つのルーマピクセルのいずれか1つが遅い動きレベルを有する場合、クロマ動きレベルは遅い動きであり、それ以外では、クロマ動きレベルは静止である。従来の手法は、最高のPSNRを達成しないこともあるが、クロマ動きレベルにあいまい性が存在する場合常にINTER予測を使用するリスクを回避する。
【0128】
マルチメディアデータ系列は、説明されたWmedアルゴリズムを単独で使用して、ならびに本明細書で説明されたWmedおよび動き補償を組み合わせたアルゴリズムを使用してデインタレースされる。同じマルチメディアデータ系列は、ピクセルブレンディング(または平均)アルゴリズムを使用してもデインタレースされ、「デインタレースなし」の場合には、どのような補間またはブレンディングも伴わずにフィールドが単に組み合わされる。結果のフレームが、PSNRを決定するために分析され、以下の表に示されている。
【表1】
【0129】
Wmedに加えてMCを使用してデインタレースを行ったことによるPSNRの改善が不十分なものに過ぎないとしても、上で言及されたように、Wmed結果とMC結果の組み合わせは、偶数フィールドと奇数フィールドの間のエイリアスおよび雑音を抑制するので、WmedおよびMC補間結果を組み合わせることによって生成されるデインタレース画像の視覚的品質はより好ましい。
【0130】
いくつかのリサンプリング態様では、画像サイズのリサイズのために、多相リサンプラが実施される。ダウンサンプリングの一例では、元の画像とリサイズ画像の間の比は、p/qとすることができ、ここで、pおよびqは、互いに素の整数である。相の総数はpである。いくつかの態様では、リサイズ係数が約0.5である場合、多相フィルタのカットオフ周波数は0.6である。カットオフ周波数は、リサイズ系列の高周波数応答を引き上げるために、リサイズ比と正確には一致しない。これは必然的にいくらかのエイリアスを許容する。しかし、人間の目は、エイリアスなしのぼやけた画像よりも、僅かにエイリアスがあっても鮮明な画像のほうを好むことがよく知られている。
【0131】
図42は、リサイズ比が3/4である場合の相を示す、多相リサンプリングの一例を示している。図42に示されるカットオフ周波数も3/4である。元のピクセルは、垂直軸を用いて上述の図42に示されている。フィルタ波形を表すために、軸を中心にしてsinc関数も描かれている。リサンプリング比と正確に同じになるようにカットオフ周波数を選択したため、sinc関数のゼロは、×印を用いて図42に示されるように、リサイズ後のピクセルの位置と重なり合っている。リサイズ後のピクセル値を見出すため、以下の式に示されるように、元のピクセルからの寄与が合計されることができ、
【数45】
【0132】
ここで、fcはカットオフ周波数である。上述のI−D多相フィルタは、水平次元および垂直次元の両方に適用することができる。
【0133】
リサンプリング(リサイズ)の別の態様は、オーバスキャンを考慮する。NTSCテレビ信号では、画像は、486本の走査線を有し、ディジタルビデオでは、各走査線上に720個のピクセルを有することができる。しかし、画像全体の必ずしもすべてが、サイズと画面形式の間のミスマッチのため、テレビ上で可視となるわけではない。可視とならない画像の部分は、オーバスキャンと呼ばれる。
【0134】
放送者ができるだけ多くのテレビによって可視となる領域に有用な情報を置くための助けとなるように、映画テレビ技術者協会(SMPTE:Society of Motion Picture & Television Engineers)は、セーフアクション領域およびセーフタイトル領域と呼ばれるアクションフレームの特定のサイズを定義した。Specifications for Safe Action and Safe Title Areas Test Pattern for Television SystemsのSMPTE推奨実践RP27.3−1989を参照されたい。セーフアクション領域は、「すべての重要なアクションが起こらなければならない」領域としてSMPTEによって定義されている。セーフタイトル領域は、「すべての有用な情報をそこに収めることで大多数の家庭用テレビ受像機における可視性を保証することができる」領域として定義されている。例えば、図43に示されるように、セーフアクション領域4310は、画面の中央90%を占有し、その全周囲に5%の縁領域を残す。セーフタイトル領域4305は、画面の中央80%を占有し、10%の縁領域を残す。図。
【0135】
ここで図44を参照すると、セーフタイトル領域は非常に小さいので、画像により多くの内容を追加するため、いくつかの放送は、白い長方形ウィンドウ4415内部のセーフアクション領域にテキストを含める。通常、オーバスキャンにおいては、黒い縁領域が見えることがある。例えば、図44では、黒い縁領域が、画像の上辺4420および下辺4425に現れている。H.264ビデオは、動き推定において境界拡張を使用するので、これらの黒い縁領域は、オーバスキャンにおいて除去することができる。拡張された黒い縁領域は、残余を大きくすることができる。控えめに、境界を2%だけカットし、その後、リサイズを行うことができる。リサイズ用のフィルタは、しかるべく生成することができる。多相ダウンサンプリングの前にオーバスキャンを除去するために、トランケーションが実行される。
【0136】
デブロッキング/デリンギング
デブロッキング処理の一例では、デブロッキングフィルタは、フレームの境界のエッジと、デブロッキングフィルタが使用不可であるエッジとを除いて、フレームのすべての4×4ブロックエッジに適用することができる。このフィルタリングプロセスは、フレーム構成プロセスの完了後に、マクロブロックに基づいて実行され、フレーム内のすべてのマクロブロックが、マクロブロックアドレスの昇順で処理される。各マクロブロックについて、最初に垂直エッジが、左から右にフィルタリングされ、次に水平エッジが、上から下にフィルタリングされる。図39に示されるように、水平方向および垂直方向に関して、ルーマデブロッキングフィルタプロセスは、4つの16サンプルエッジ上で実行され、各クロマ成分用のデブロッキングフィルタプロセスは、2つの8サンプルエッジ上で実行される。先行マクロブロック上でのデブロッキングプロセス操作によってすでに変更されている場合がある、現在マクロブロックの上方および左方のサンプル値は、現在マクロブロック上でのデブロッキングフィルタプロセスへの入力として使用され、現在マクロブロックのフィルタリングの最中にさらに変更されることがある。垂直エッジのフィルタリングの最中に変更されたサンプル値は、同じマクロブロックの水平エッジのフィルタリングのための入力として使用することができる。デブロッキングプロセスは、ルーマ成分用およびクロマ成分用に別々に起動することができる。
【0137】
デリンギング処理の一例では、エッジ付近の領域を平滑化するために、2−Dフィルタが適応的に適用されることができる。エッジピクセルは、ぼやけを回避するために、フィルタリングを僅かしか施されず、または全く施されない。
【0138】
GOPパーティショナ
帯域幅マップ生成、ショット検出、および適応GOP区分化を含む処理の説明的な例が、以下で説明され、そのような処理は、GOPパーティショナに含まれることができる。
【0139】
帯域幅マップ生成
人間の視覚品質Vは、符号化の複雑さCおよび割り当てられたビットB(帯域幅とも呼ばれる)の両方の関数とすることができる。図29は、この関係を示すグラフである。符号化の複雑さメトリックCが、人間の視覚の観点から時空間周波数を考慮していることに留意されたい。ひずみの場合、人間の目がより敏感に捉えるほど、複雑さの値も対応してより高くなる。VがCについて単調減少し、Bについて単調増加することを一般に仮定することができる。
【0140】
一定した視覚品質を達成するため、すぐ下の2つの式で表現される基準を満たす帯域幅(Bi)が、符号化される第iオブジェクト(フレームまたはMB)に割り当てられる。
【数46】
【数47】
【0141】
すぐ上の2つの式では、Ciは、第iオブジェクトの符号化の複雑さ、Bは、利用可能な総帯域幅、Vは、オブジェクトに関して達成された視覚品質である。
【0142】
人間の視覚品質は、式として定式化するのが難しい。したがって、上記の式の組は、正確に定義されたものではない。しかし、3−Dモデルがすべての変数で連続的であると仮定するならば、比帯域(Bi/B)は、(C,V)対の近傍内では変化がないものとして扱うことができる。比帯域βiは、以下に示される式で定義される。
【数48】
【0143】
ビット割り当ては、以下の式で表現されるように定義することができる。
【数49】
【0144】
ここで、δは、「近傍」を表す。
【0145】
符号化の複雑さは、空間的および時間的に、人間の視覚感度によって影響される。ジロ(Girod)の人間の視覚モデルは、空間複雑さを定義するために使用できるモデルの一例である。このモデルは、局所空間周波数および周囲照明を考慮する。結果のメトリックは、Dcsatと呼ばれる。プロセスの前処理時点において、画像がイントラ符号化されるか、それともインター符号化されるかは分からないので、両方についての比帯域が生成される。ビットは、異なるビデオオブジェクトのβINTRAの間の比に従って割り当てられる。イントラ符号化画像の場合、比帯域は、以下の式で表現される。
【数50】
【0146】
上記の式において、Yは、マクロブロックの平均ルミナンス成分、αINTRAは、ルミナンスの2乗に対する加重係数であり、それにDcsat項が続き、β0INTRAは、
【数51】
【0147】
を保証するための正規化係数である。例えば、αINTRA=4という値は、良好な視覚品質を達成する。コンテンツ情報(例えば、コンテンツ分類)は、ビデオの特定のコンテンツにとって望ましい良好な視覚品質レベルに対応する値にαINTRAを設定するために使用することができる。一例では、ビデオコンテンツが「語り手の顔が現れる」ニュース放送を備える場合、ビデオの情報画像または表示可能部分は音声部分よりも重要性が低いと見なすことができるので、視覚品質レベルはより低く設定することができ、データを符号化するために、より少ないビットを割り当てることができる。別の例では、ビデオコンテンツがスポーツイベントを備える場合、表示画像は視聴者にとってより重要であり得るので、より高い視覚品質レベルに対応する値にαINTRAを設定するために、コンテンツ情報が使用でき、したがって、データを符号化するために、より多くのビットを割り当てることができる。
【0148】
この関係を理解するため、帯域幅が符号化の複雑さの対数に応じて割り当てられることに留意されたい。ルミナンスの2乗項Yは、大きさがより大きい係数ほど符号化するのにより多くのビットを使用するという事実を反映している。対数が負の値を取ることを防止するため、括弧内の項に1が追加される。他の底をもつ対数も使用することができる。
【0149】
時間複雑さは、絶対差の和(SAD)などのフレーム差分メトリックに加えて動きの量(例えば動きベクトル)を考慮した2つの連続するフレームの間の差を測定するフレーム差分メトリックの測定によって決定される。
【0150】
インター符号化画像のビット割り当ては、空間複雑さに加えて時間複雑さも考慮することができる。これは以下のように表現される。
【数52】
【0151】
上記の式において、MVPおよびMVNは、現在のMBの順方向および逆方向動きベクトルである。イントラ符号化の帯域幅公式におけるY2は2乗残差の和(SSD)によって置き換えられていることに留意されたい。上記の式における‖MVP+MVN‖2の役割を理解するため、人間の視覚系の次の特徴、すなわち、平滑で予測可能な動きを経験している領域(小さな‖MVP+MVN‖2)は、注意を引き、目によって追跡することができ、一般に静止領域と同程度のひずみにしか耐えることができないという特徴に留意されたい。しかし、速いまたは予測不可能な動きを経験している領域(大きな‖MVP+MVN‖2)は、追跡することができず、相当な量子化に耐えることができる。実験は、αINTER=1、γ=0.001が良好な視覚品質を達成することを示した。
【0152】
ショット検出
ショット検出の説明的な一例が以下で説明される。そのようなコンポーネントおよびプロセスは、GOPパーティショナ412(図4)内に含まれることができる。
【0153】
動き補償器23は、ビデオ内のフレームについての双方向動き情報を決定するように構成することができる。動き補償器23は、1つまたは複数の差分メトリック、例えば、絶対差の和(SAD)または絶対差の和(SSD)を決定し、1つまたは複数のフレームのルミナンス情報(例えば、マクロブロック(MB)ルミナンス平均または差分)、ルミナンスヒストグラム差分、およびその例が式1〜式3を参照して説明されたフレーム差分メトリックを含む、他の情報を計算するようにも構成することができる。ショット分類器は、動き補償器によって決定された情報を使用して、ビデオ内のフレームを2つ以上の「ショット」カテゴリに分類するように構成することができる。符号器は、ショット分類に基づいて、複数のフレームを適応的に符号化するように構成される。動き補償器、ショット分類器、および符号器は、式1〜式10を参照して以下で説明される。
【0154】
図28は、いくつかの態様によるショット検出および他の前処理操作のために構成されるプロセッサ2831を備える、プリプロセッサ202のブロック図である。ディジタルビデオ源は、図4に示されるようなプリプロセッサ202の外部の源によって提供され、プリプロセッサ202内の通信モジュール2836に伝達されることができる。プリプロセッサ202は、プロセッサ2831と通信する記憶媒体2825を含み、その両方とも、通信モジュール2836と通信する。プロセッサ2831は、動き補償器2032と、ショット分類器2833と、前処理用の他のモジュール2034とを含み、それらは、動き情報を生成し、ビデオデータのフレーム内のショットを分類し、本明細書で説明されるような他の前処理テストを実行するように動作することができる。動き補償器、ショット分類器、および他のモジュールは、図4の対応するモジュールと同様のプロセスを含むことができ、以下で説明される情報を決定するためにビデオを処理することができる。特に、プロセッサ2831は、双方向動き情報およびルミナンス情報を備える、複数のビデオフレームのうちの隣接フレームの間の差分を表すメトリックを取得し、前記メトリックに基づいて複数のビデオフレームにおけるショット変化を決定し、ショット変化に基づいて複数のフレームを適応的に符号化するための構成を有することができ、いくつかの態様では、メトリックは、プロセッサ2831の外部にあるばかりか、プリプロセッサ202の外部にあることもできる、デバイスまたはプロセスによって計算することができ、別のデバイスまたはメモリを介して直接または間接に、プロセッサ2831に伝達することができる。メトリックは、プロセッサ2831によっても、例えば、動き補償器2832によっても計算することができる。
【0155】
プリプロセッサ202は、さらなる処理、符号化、および例えば端末6(図1)など他のデバイスへの伝送のため、ビデオおよびメタデータを提供する。符号化ビデオは、いくつかの態様では、ベースレイヤおよびエンハンスメントレイヤを備え得る、スケーラブルなマルチレイヤ符号化ビデオとすることができる。スケーラブルレイヤ符号化は、本発明の譲受人によって所有される、「SCALABLE VIDEO CODING WITH TWO LAYER ENCODING AND SINGLE LAYER DECODING」と題する同時係属中の米国特許出願[整理番号050078]にさらに説明されており、同出願は、その全体が参照により本明細書に組み込まれる。
【0156】
図28ならびに本明細書で開示される他の例および図に関連して説明される様々な例示的な論理ブロック、コンポーネント、モジュール、および回路は、いくつかの態様では、本明細書で説明される機能を実行するために設計された、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェアコンポーネント、またはそれらの任意の組み合わせを用いて実施または実行することができる。図28に示されるプロセッサなどの汎用プロセッサは、マイクロプロセッサでよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械でもよい。プロセッサは、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアと連携する1つまたは複数のマイクロプロセッサの組み合わせ、またはそのような他の任意の構成など、コンピューティングデバイスの組み合わせとして実施されてもよい。
【0157】
ビデオ符号化は通常、構造化されたグループオブピクチャ(GOP)上で動作する。GOPは通常、イントラ符号化フレーム(Iフレーム)で開始し、それに一連のP(予測)またはB(双方向)フレームが続く。一般に、Iフレームは、フレームを表示するためのすべてのデータを保存することができ、Bフレームは、先行および後続フレーム内のデータに依存し(例えば、先行フレームから変更されたデータまたは次フレーム内のデータと異なるデータだけを含み)、Pフレームは、先行フレームから変更されたデータを含む。
【0158】
一般的な使用においては、Iフレームは、符号化ビデオ内でPフレームおよびBフレームを差し入れられる。サイズ(例えば、フレームを符号化するために使用されるビットの数)に関して、Iフレームは一般に、Pフレームより大きく、Pフレームは、Bフレームよりも大きい。効率的な符号化、伝送、および復号処理のため、GOPの長さは、大きなIフレームから効率的損失を減らすのに十分なだけ長くなければならず、符号器と復号器の間のミスマッチまたはチャネル障害に対処するのに十分なだけ短くなければならない。加えて、Pフレーム内のマクロブロック(MB)は、同様の理由で、イントラ符号化することができる。
【0159】
シーン変化検出は、ビデオ符号器が適切なGOP長を決定し、Iフレームを固定間隔で挿入する代わりに、IフレームをGOP長に基づいて挿入するために使用することができる。実際のストリーミングビデオシステムでは、通信チャネルは通常、ビット誤りまたはパケット喪失によって障害をこうむる。IフレームまたはI MBをどこに置くかは、復号ビデオ品質および視聴経験に大きく影響することがある。1つの符号化方式は、共存する先行の画像または画像部分から著しい変化を有する画像または画像部分のためにイントラ符号化フレームを使用することである。通常、これらの領域は、動き推定を用いて効果的かつ効率的に予測することができず、そのような領域がインターフレーム符号化技法から除外されていれば(例えば、BフレームおよびPフレームを使用する符号化)、符号化はより効率的に行われることができる。チャネル障害の状況では、それらの領域は、誤り伝播の悪影響をこうむる可能性が高いが、誤り伝播は、イントラフレーム符号化によって低減または除去(もしくはほぼ除去)することができる。
【0160】
GOPビデオの部分は、2つ以上のカテゴリに分類することができ、各領域は、特定の実施に依存し得る異なるイントラフレーム符号化基準を有することができる。一例として、ビデオは、突然シーン変化と、クロスフェードおよび他の緩慢シーン変化と、カメラフラッシュライトの、3つのカテゴリに分類することができる。突然シーン変化は、先行フレームから著しく異なるフレームを含み、通常はカメラ操作によって引き起こされる。これらのフレームの内容は、先行フレームの内容と異なるので、突然シーン変化フレームは、Iフレームとして符号化されるべきである。クロスフェードおよび他の緩慢シーン変化は、シーンの緩慢な切り換えを含み、通常はカメラショットのコンピュータ処理によって引き起こされる。2つの異なるシーンの緩やかな混合は、人間の目にとってより好ましく見えることがあるが、ビデオ符号化に難題を提示する。動き補償は、それらのフレームのビットレートを効果的に低減することができず、より多くのイントラMBが、これらのフレームのために更新されることがある。
【0161】
カメラフラッシュライトまたはカメラフラッシュライトイベントは、フレームの内容がカメラフラッシュを含む場合に生じる。そのようなフラッシュは、持続時間が比較的短く(例えば1フレーム)、きわめて明るく、フラッシュを表現するフレーム内のピクセルは、隣接フレーム上の対応する領域と比べて異常に高いルミナンスを示す。カメラフラッシュライトは、画像のルミナンスを突然に素早く変化させる。通常、カメラフラッシュライトの持続時間は、一般に44msであると定義される人間の視覚系(HVS)の時間マスキング持続時間よりも短い。人間の目は、これらの短い明るさのバーストの品質に対して敏感でなく、したがって、それらは粗雑に符号化することができる。フラッシュライトフレームは、動き補償を用いて効果的に扱うことができないので、将来のフレームのための不適切な予測候補であり、これらのフレームの粗雑な符号化は、将来のフレームの符号化効率を低減させない。フラッシュライトとして分類されたシーンは、「人工的」な高いルミナンスのため、他のフレームを予測するために使用されるべきではなく、他のフレームは、同じ理由で、これらのフレームを予測するために効果的に使用することはできない。ひとたび識別されると、これらのフレームは、比較的高い処理量を必要とすることがあるので、取り除くことができる。1つの選択肢は、カメラフラッシュライトフレームを取り除き、それらの場所のDC係数を符号化することであり、そのような解決法は、簡単で、計算が速く、多くのビットを節約する。
【0162】
上記のフレームのいずれかが検出された場合、ショットイベントが宣言される。ショット検出は、符号化品質を高めるために有用であるばかりでなく、探索およびインデックス付けの際にビデオコンテンツを識別する助けになることもできる。シーン検出プロセスの一態様が、以下本明細書で説明される。
【0163】
図30は、GOP上で動作し、いくつかの態様では、ビデオフレーム内でのショット検出に基づいてビデオを符号化するために使用できる、プロセス3000を示しており、プロセス3000の部分(またはサブプロセス)は、図30〜図40を参照しながら説明および図説される。プロセッサ2831は、プロセス3000を組み込むように構成することができる。プロセス3000は、開始した後、ブロック3042に進み、隣接フレーム間の差分を表す情報を含む、ビデオフレームに関するメトリック(情報)が取得される。メトリックは、双方向動き情報と、ショット分類のために使用できる、隣接フレーム間で発生する変化を後で決定するためのルミナンスベースの情報とを含む。そのようなメトリックは、別のデバイスもしくはプロセスから取得することができ、または例えばプロセッサ2831によって計算することができる。メトリック生成の説明的な例が、図31のプロセスAを参照しながら説明される。
【0164】
プロセス3000は次に、ブロック3044に進み、ビデオ内のショット変化が、メトリックに基づいて決定される。ビデオフレームは、例えば、突然シーン変化、緩慢変化シーン、または高ルミナンス値を含むシーン(カメラフラッシュ)など、どのタイプのショットがフレームに含まれるかについて、2つ以上のカテゴリに分類することができる。符号化のある実施は、他のカテゴリを必要とすることがある。ショット分類の説明的な例が、図32のプロセスBを参照しながら説明され、より詳細には、図34〜図36のプロセスD、E、Fをそれぞれ参照しながら説明される。
【0165】
ひとたびフレームが分類されると、プロセス3000は、ブロック3046に進み、フレームは、ショット分類の結果を用いて、符号化され、または符号化のために指定されることができる。そのような結果は、フレームをイントラ符号化フレームを用いて符号化するか、それとも予測フレーム(例えば、PフレームまたはBフレーム)を用いて符号化するかに影響し得る。図33のプロセスCは、ショット結果を使用する符号化方式の一例を示している。
【0166】
図31は、ビデオのメトリックを取得するためのプロセスの一例を示している。図31は、図30のブロック3042で発生するいくつかのステップを示している。依然として図31を参照すると、ブロック3152において、プロセスAは、ビデオの双方向動き推定および補償情報を取得または決定する。図28の動き補償器2832は、フレームに対して双方向動き推定を実行し、後続のショット分類のために使用できる動き補償情報を決定するように構成することができる。プロセスAは次に、ブロック3154に進み、現在フレームまたは選択フレームおよび1つまたは複数の隣接フレームについてのルミナンス差ヒストグラムを含む、ルミナンス情報を生成する。最後に、プロセスAは、ブロック3156に進み、フレーム内に含まれるショットを表すメトリックが計算される。1つのそのようなメトリックは、式4および式10に2つの例が示された、フレーム差分メトリックである。動き情報、ルミナンス情報、およびフレーム差分メトリックを決定する説明的な例が、以下で説明される。
【0167】
動き補償
双方向動き推定/補償を実行するため、ビデオ系列は、現在フレームのすべての8×8ブロックを、1つは過去、1つは将来の、直近の2つの隣接フレームと照合する双方向動き補償器を用いて、前処理することができる。動き補償器は、すべてのブロックについて、動きベクトルおよび差分メトリックを生成する。図37は、現在フレームCのピクセルを過去フレームPおよび将来(または次)フレームNと照合する一例を示して、この概念を説明しており、照合されたピクセルへの動きベクトル(過去動きベクトルMVPおよび将来動きベクトルMVN)を描いてある。双方向動きベクトル生成および関係する符号化の例示的な態様の簡潔な説明が以下に続く。
【0168】
図40は、例えばMPEG−4における、動きベクトル決定プロセスおよび予測フレーム符号化の一例を示している。図40に示されるプロセスは、図31のブロック3152において行われ得るプロセス例のより詳細な説明である。図40では、現在画像4034は、5×5のマクロブロックから構成され、この例におけるマクロブロックの数は、恣意的なものである。マクロブロックは、16×16のピクセルから構成される。ピクセルは、8ビットのルミナンス値(Y)と、2つの8ビットのクロミナンス値(CrおよびCb)とによって定義することができる。
【0169】
MPEGでは、Y、Cr、およびCb成分は、4:2:0フォーマットで保存することができ、CrおよびCb成分は、XおよびY方向で、2だけダウンサンプリングされる。したがって、各マクロブロックは、256のY成分、64のCr成分、および64のCb成分から成る。現在画像4034のマクロブロック4036は、現在画像4034とは異なる時点における参照画像4032から予測される。Y、Cr、およびCb値に関して、符号化される現在マクロブロック4036に最も近い、最も良く一致するマクロブロック4038を見つけるために、参照画像4032において、探索が行われる。参照画像4032における最も良く一致するマクロブロック138の位置が、動きベクトル4040内に符号化される。参照画像4032は、現在画像4034の構成に先立ち復号器が再構成するIフレームまたはPフレームとすることができる。最も良く一致するマクロブロック4038が、現在マクロブロック40から減算され(Y、Cr、およびCb成分の各々について差分が計算され)、残余誤差4042をもたらす。残余誤差4042は、2D離散コサイン変換(DCT)を用いて符号化4044され、その後、量子化4046される。量子化4046は、例えば、より少ないビットを高周波数の係数に割り当てる一方、より多くのビットを低周波数の係数に割り当てることによって、空間圧縮を提供するために実行することができる。残余誤差4042の量子化係数は、情報を識別する動きベクトル4040および参照画像4032と共に、現在マクロブロック4036を表す符号化情報である。符号化情報は、将来使用するためにメモリに保存することができ、例えば誤り訂正もしくは画像向上の目的で操作することができ、またはネットワーク140を介して伝送することができる。
【0170】
残余誤差4042の符号化量子化係数は、符号器において、現在マクロブロック4036を再構成して、それを後続の動き推定および補償用の参照フレームの部分として使用するために、符号化動きベクトル4040と共に使用することができる。このPフレーム再構成のため、符号器は、復号器の手順をエミュレートすることができる。復号器のエミュレーションは、符号器および復号器が共に、同じ参照画像を用いて作業するという結果をもたらす。さらなるインター符号化のために符号器において行われるか、それとも復号器において行われるかに関わらず、ここで再構成プロセスが提示される。Pフレームの再構成は、参照フレーム(または参照される画像もしくはフレームの一部)が再構成された後に開始することができる。符号化量子化係数は、逆量子化4050され、次に2D逆DCTすなわちIDCT4052が実行され、復号または再構成残余誤差4054をもたらす。符号化動きベクトル4040は、復号され、すでに再構成された参照画像4032において、すでに再構成された最も良く一致するマクロブロック4056を見つけるために使用される。次に、再構成マクロブロック4058を形成するために、再構成された残余誤差4054が、再構成された最も良く一致するマクロブロック4056に加算される。再構成マクロブロック4058は、メモリに保存することができ、独立してもしくは画像内に他の再構成マクロブロックと一緒に表示することができ、または画像向上のためにさらに処理することができる。
【0171】
Bフレーム(または双方向予測を用いて符号化された任意の区画)を使用する符号化は、現在画像内の領域と先行画像内の最も良く一致する予測領域および後続画像内の最も良く一致する予測領域との間の時間冗長性を利用することができる。後続の最も良く一致する予測領域と先行する最も良く一致する予測領域とは、組み合わせ双方向予測領域を形成するために組み合わされる。現在画像の領域と最も良く一致する組み合わせ双方向予測領域との間の差分が、残余誤差(または予測誤差)である。後続参照画像内の最も良く一致する予測領域の位置および先行参照画像内の最も良く一致する予測領域の位置は、2つの動きベクトル内に符号化することができる。
【0172】
ルミナンスヒストグラム差分
動き補償器は、すべてのブロックについて差分メトリックを生成することができる。差分メトリックは、2乗残差の和(SSD)または絶対差の和(SAD)とすることができる。一般性を失うことなく、ここではSADが例として使用される。
【0173】
すべてのフレームについて、SAD比が以下のように計算され、
【数53】
【0174】
ここで、SADPおよびSADNは、それぞれ前方および後方差分メトリックの絶対差の和である。「ゼロによる除算エラー」を防止するため、分母が小さな正の数εを含むことに留意されたい。分子も、分母における単位の影響とバランスを取るためにεを含む。例えば、先行フレーム、現在フレーム、および次フレームが同一である場合、動き探索は、SADP=SADN=0をもたらすべきである。この場合、上記の計算は、0または無限大の代わりに、γ=1を生成する。
【0175】
ルミナンスヒストグラムは、すべてのフレームについて計算することができる。一般に、マルチメディア画像は、8ビットのルミナンス深さ(例えば「ビン(bin)」の数)を有する。いくつかの態様に従ってルミナンスヒストグラムを計算するために使用されるルミナンス深さは、ヒストグラムを取得するために、16に設定することができる。他の態様では、ルミナンス深さは、処理されるデータのタイプ、利用可能な計算能力、または他の所定の基準に依存し得る、適切な数に設定することができる。いくつかの態様では、ルミナンス深さは、データの内容など、計算したメトリックまたは受け取ったメトリックに基づいて、動的に設定することができる。
【0176】
式49は、ルミナンスヒストグラム差分(ラムダ)を計算する一例を示しており、
【数54】
【0177】
ここで、NPiは、先行フレームに関する第iのビン内のブロックの数であり、NCiは、現在フレームに関する第iのビン内のブロックの数であり、Nは、フレーム内のブロックの総数である。先行フレームおよび現在フレームのルミナンスヒストグラム差分が完全に異なる(または独立である)場合、λ=2となる。
【0178】
図5のブロック56を参照しながら説明されたフレーム差分メトリックDは、式50に示されるように、計算することができ、
【数55】
【0179】
ここで、Aは、応用例によって選択される定数であり、
【数56】
【0180】
である。
【0181】
図32は、ビデオについて取得または決定されたメトリックを使用して、ショット(またはシーン)変化の3つのカテゴリを決定するプロセスBの一例を示している。図32は、図30のブロック3044の一態様で発生するいくつかのステップを示している。再び図32を参照すると、ブロック3262において、プロセスBは最初に、フレームが突然シーン変化を指示する基準を満たすかどうかを決定する。図34のプロセスDは、この決定の一例を示している。プロセスBは次に、ブロック3264に進み、フレームが緩慢変化シーンの部分であるかどうかを決定する。図35のプロセスCは、緩慢変化シーンを決定する一例を示している。最後にブロック3366において、プロセスBは、フレームがカメラフラッシュを含むかどうか、言い換えると、先行フレームと異なる大きなルミナンス値を含むかどうかを決定する。図36のプロセスFは、カメラフラッシュを含むフレームを決定する一例を示している。これらのプロセスの説明的な例が以下で説明される。
【0182】
突然シーン変化
図34は、突然シーン変化を決定するプロセスを示す流れ図である。図34はさらに、図32のブロック3262のいくつかの態様で発生し得るいくつかのステップを詳述している。ブロック3482において、フレーム差分メトリックDが式51に示される基準を満たすかどうかをチェックし、
【数57】
【0183】
ここで、Aは応用例によって選択される定数であり、T1はしきい値である。基準が満たされる場合、ブロック3484において、プロセスDは、フレームを突然シーン変化として指示し、この例では、さらなるショット分類は必要とされない。
【0184】
一例では、シミュレーションは、A=1、T1=5という設定が、良好な検出性能を達成することを示している。現在フレームが突然シーン変化フレームである場合、γCは大きく、γPは小さくあるべきである。コンテキストの活動レベルに対してメトリックが正規化されるように、γC単独ではなく、比
【数58】
【0185】
が使用できる。
【0186】
上記の基準は、非線形の方法でルミナンスヒストグラム差分ラムダ(λ)を使用することに留意されたい。図39は、λ×(2λ+1)が凸関数であることを示している。λが小さい(例えば、ゼロに近い)場合、それはほとんどプリエンファシス(preemphasis)ではない。λが大きくなるほど、より大きなエンファシスが関数によって行われる。しきい値T1が5に設定された場合、このプリエンファシスを用いて、1.4より大きい任意のλについて、突然シーン変化が検出される。
【0187】
クロスフェードおよび緩慢シーン変化
図35はさらに、図32のブロック3264で発生し得るいくつかの態様のさらなる詳細を示している。図35を参照すると、ブロック3592において、プロセスEは、フレームが緩慢シーン変化を表す一連のフレームの部分であるかどうかを決定する。プロセスEは、一定の数の連続フレームについて、式52に示されるように、フレーム差分メトリックDが第1のしきい値T1未満であり、第2のしきい値T2以上である場合に、現在フレームはクロスフェードまたは他の緩慢シーン変化であると決定し、
【数59】
【0188】
ここで、T1は上で使用されたのと同じしきい値であり、T2は別のしきい値である。一般に、T1およびT2の正確な値は、可能な実装の相違のため、基準となる実験によって決定される。基準が満たされる場合、ブロック94において、プロセスEは、フレームを選択フレームエンドについての緩慢変化シーンショット分類の部分として分類する。
【0189】
カメラフラッシュライトイベント
図36に示されたプロセスFは、現在フレームがカメラフラッシュライトを備えるかどうかを決定できるプロセスの例である。カメラのこの例示的な態様では、現在フレームがカメラフラッシュライトを備えるかどうかを決定するために、ルミナンスヒストグラム統計が使用される。プロセスFは、ブロック3602に示されるように、現在フレームのルミナンスが先行フレームのルミナンスおよび次フレームのルミナンスより大きいかどうかを最初に決定することによって、カメラフラッシュイベントが選択フレーム内に存在することを決定する。大きくない場合、フレームはカメラフラッシュイベントでないが、大きい場合、フレームはカメラフラッシュイベントである可能性がある。ブロック3604において、プロセスFは、逆方向差分メトリックがしきい値T3よりも大きいかどうか、順方向差分メトリックがしきい値T4よりも大きいかどうかを決定し、これらの条件が共に満たされる場合、ブロック3606において、プロセスFは、現在フレームをカメラフラッシュライトを有するものとして分類する。一例では、ブロック3602において、プロセスFは、式53および式54に示されるように、現在フレームの平均ルミナンスから先行フレームの平均ルミナンスを引いた値がしきい値T3以上かどうかを決定し、プロセスFは、平均ルミナンスから次フレームの平均ルミナンスを引いた値がしきい値T3以上かどうかを決定する。
【数60】
【数61】
【0190】
基準が満たされない場合、現在フレームは、カメラフラッシュライトを備えるものとして分類されず、プロセスFは復帰する。基準が満たされる場合、プロセスFは、ブロック3604に進み、以下の式55および式56に示されるように、後方差分メトリックSADPおよび前方差分メトリックSADNが、一定のしきい値T4よりも大きいかどうかを決定し、
【数62】
【数63】
【0191】
ここで、
【数64】
【0192】
は、現在フレームの平均ルミナンスであり、
【数65】
【0193】
は、先行フレームの平均ルミナンスであり、
【数66】
【0194】
は、次フレームの平均ルミナンスであり、SADPおよびSADNは、現在フレームに関連する前方および後方差分メトリックである。基準が満たされない場合、プロセスFは復帰する。
【0195】
説明されたプロセスの実施は、しきい値を含む動作パラメータの相違をもたらし得るので、T3の値は一般に、基準となる実験によって決定される。SAD値はその決定に含まれるが、それは、カメラフラッシュが一般に1フレームしか要せず、ルミナンス差のため、このフレームは順方向および逆方向両方からの動き補償を使用してうまく予測し得ないからである。
【0196】
いくつかの態様では、1つまたは複数のしきい値T1、T2、T3、およびT4は、事前決定され、そのような値は、符号化デバイス内のショット分類器に組み込まれる。一般に、これらのしきい値は、ショット検出の特定の実施のテストを通して選択される。いくつかの態様では、1つまたは複数のしきい値T1、T2、T3、およびT4は、ショット分類器に供給される情報(例えばメタデータ)の使用に基づいて、またはショット分類器自体によって計算される情報に基づいて、処理中に(例えば動的に)設定することができる。
【0197】
ここで図33を参照すると、図33は、選択フレームのショット分類に基づいて、ビデオ用の符号化パラメータを決定するため、またはビデオを符号化するための、プロセスCを示している。ブロック3370において、プロセスCは、選択フレームが突然シーン変化として分類されるかどうかを決定する。分類される場合、ブロック3371において、現在フレームは、突然シーン変化として分類され、フレームはIフレームとして符号化することができ、GOP境界が決定されることができる。分類されない場合、プロセスCは、ブロック3372に進み、現在フレームが緩慢変化シーンの一部として分類される場合、ブロック3373において、現在フレームと緩慢変化シーン内の他のフレームとは、予測フレーム(例えば、PフレームまたはBフレーム)として符号化することができる。プロセスCは次に、ブロック3374に進み、現在フレームがカメラフラッシュを備えるフラッシュライトシーンとして分類されるかどうかをチェックする。分類される場合、ブロック3375において、例えば、先行フレームの除去、複製、またはフレームの特定の係数の符号化など特別な処理のために、フレームが識別されることができる。分類されない場合、現在フレームの分類は行われず、選択フレームは、他の基準に従って符号化すること、Iフレームとして符号化すること、または削除することができる。プロセスCは、符号器内で実施することができる。
【0198】
上述の態様では、圧縮されるフレームとそれに隣接する2つのフレームの間の差分量は、フレーム差分メトリックDによって表される。著しい量の一方向ルミナンス変化が検出された場合、それは、フレーム内のクロスフェード効果を示している。クロスフェードがより顕著であるほど、Bフレームを使用することによって、より多くの利得が達成され得る。いくつかの態様では、式57に示されるように、修正フレーム差分メトリックが使用され、
【数67】
【0199】
ここで、dP=|YC−YP|およびdN=|YC−YN|はそれぞれ、現在フレームと先行フレームの間のルーマ差および現在フレームと次フレームの間のルーマ差であり、Δは、実施に依存し得るため、基準となる実験において決定され得る定数であり、αは、0と1の間の値を有する重み変数である。
【0200】
修正フレーム差分メトリックD1は、ルーマシフトの一貫した傾向が観察され、シフト強度が十分に大きい場合にのみ、元のフレーム差分メトリックDとは異なる。D1は、D以下である。ルーマ変化が一定(dP=dN)である場合、修正フレーム差分メトリックD1は、元のフレーム差分メトリックDよりも低く、最低比は(1−α)である。
【0201】
以下の表1は、突然シーン変化検出を追加したことによる性能改善を示している。シーン無変化(NSC)およびシーン変化(SC)ケースの両方におけるIフレームの総数は、ほぼ同じである。NSCケースでは、Iフレームは、系列全体の中に均一に分散され、一方、SCケースでは、Iフレームは、突然シーン変化フレームにだけ割り当てられる。
【0202】
一般に、PSNRに関して、0.2〜0.3dBの改善が達成され得ることが理解できる。シミュレーション結果は、上述のショットイベントを決定する上でショット検出器が非常に正確であることを示している。通常のクロスフェード効果を有する5クリップのシミュレーションは、Δ=5.5およびα=0.4において、同じビットレートで、0.226031dBのPSNR利得が達成されることを示している。
【表2】
【0203】
適応GOP構造
適応GOP構造操作の説明的な一例が、以下で説明される。そのような操作は、図412のGOPパーティショナ412に含まれることができる。旧式のビデオ圧縮規格であるMPEG2は、GOPが規則的な構造を有することを必要としないが、規則的な構造を課すこともできる。MPEG2系列は常に、Iフレーム、すなわち、先行画像への参照を用いずに符号化されるフレームで開始する。MPEG2のGOPフォーマットは通常、Iフレームに続くPまたは予測画像のGOP内における間隔を固定することによって、符号器において事前構成される。Pフレームは、先行するIまたはP画像から部分的に予測される画像である。開始Iフレームと後続Pフレームの間のフレームは、Bフレームとして符号化される。「B」フレーム(Bは双方向を表す)は、先行するIまたはP画像および次のIまたはP画像を、参照として独立にまたは同時に使用することができる。Iフレームを符号化するために使用されるビットの数は、平均で、Pフレームを符号化するために使用されるビットの数を超え、同様に、Pフレームを符号化するために使用されるビットの数は、平均で、Bフレームのビットの数を超える。スキップフレームは、使用される場合、その表現のためのビットを使用しないことも可能である。
【0204】
PフレームおよびBフレームを使用すること、また最近の圧縮アルゴリズムにおいてフレームのスキップを使用することの1つの利点は、ビデオ伝送サイズを削減することが可能なことである。先に復号されたIまたはP画像は、他のPまたはB画像を復号するための参照として後で使用されるので、時間冗長性が高い場合、例えば、画像と画像の間に僅かな変化しか存在しない場合、P、B、またはスキップ画像の使用は、ビデオストリーミングを効率的に表現する。
【0205】
グループオブピクチャパーティショナは、時間冗長性を最小化するように、フレームを適応的に符号化する。フレーム間の差分は定量化され、画像をI、P、B、またはスキップフレームのどれによって表現するかの決定は、適切なテストが定量化された差分に対して実行された後、自動的に行われる。GOPパーティショナにおける処理は、雑音除去用のフィルタリングを提供するプリプロセッサ202の他の動作によって支援される。
【0206】
適応符号化プロセスは、「固定」符号化プロセスでは利用可能でない利点を有する。固定プロセスは、コンテンツ内で変化が僅かしか起こっていない可能性を無視するが、適応手順は、各IおよびPフレームまたは2つのPフレームの間に、はるかに多くのBフレームが挿入されることを可能にし、それによって、フレームの系列を十分に表現するために使用されるビットの数を削減する。反対に、例えば、固定符号化プロセスでは、ビデオコンテンツ内での変化が著しい場合、予測フレームと参照フレームの間の相違があまりにも大きいため、Pフレームの効率は大きく低下する。これらの状況下では、一致する物体は、動き探索領域から脱落することがあり、または一致する物体の類似性は、カメラアングルの変化によって引き起こされるひずみのために低下する。適応符号化プロセスは、Pフレームが符号化されるべき場合を任意選択的に決定するために便利に使用することができる。
【0207】
本明細書で開示されたシステムでは、上で説明された状況のタイプが、自動的に感知される。本明細書で説明される適応符号化プロセスは、柔軟性があり、コンテンツ内のこれらの変化に適応するように作成される。適応符号化プロセスは、フレーム間の距離の尺度と考えられ得るフレーム差分メトリックを、同じ距離の加法的特性を用いて評価する。概念的には、フレーム間距離d12およびd23を有するフレームF1、F2、およびF3が与えられた場合、F1とF3の間の距離は、少なくともd12+d23であると見なされる。フレーム割り当ては、この距離的なメトリックおよび他のメトリックに基づいて行われる。
【0208】
GOPパーティショナ412は、フレームを受け取ったときに、フレームに画像タイプを割り当てことによって動作する。画像タイプは、各ブロックを符号化するために使用できる予測方法を示す。
【0209】
I画像は、他の画像への参照を用いずに符号化される。I画像は、単独で存在し得るので、復号を開始できるデータストリーム内のアクセスポイントを提供する。I符号化タイプは、先行フレームへの「距離」がシーン変化しきい値を超える場合に、フレームに割り当てられる。
【0210】
P画像は、動き補償された予測のために、先行IまたはP画像を使用することができる。P画像は、予測されるブロックから移され得る先行フィールドまたはフレーム内のブロックを、符号化のための基礎として使用する。参照ブロックが、考察されるブロックから減算された後、残余ブロックが、空間冗長性の排除のために一般に離散コサイン変換を使用して符号化される。P符号化タイプは、あるフレームとPフレームとして割り当てられた最後のフレームの間の「距離」が、一般に第1のしきい値より小さい第2のしきい値を超えた場合に、そのフレームに割り当てられる。
【0211】
Bフレーム画像は、上で説明されたような動き補償のために、先行するPまたはI画像および次のPまたはI画像を使用することができる。B画像内のブロックは、前方、後方、および双方向予測することができ、または他のフレームへの参照なしにイントラ符号化することができる。H.264では、参照ブロックは、32個ものフレームからの32個ものブロックの線形結合とすることができる。フレームは、IまたはPタイプに割り当てられない場合、そのフレームから直前フレームまでの「距離」が、一般に第2のしきい値より小さい第3のしきい値よりも大きいならば、Bタイプに割り当てられる。フレームは、符号化Bフレームになるように割り当てることができない場合、「スキップフレーム」ステータスに割り当てられる。このフレームは、実質的に先行フレームのコピーであるので、スキップすることができる。
【0212】
表示順に隣接フレーム間の差分を定量化するメトリックの評価は、GOPパーティショナ412において行われるこの処理の第1の部分である。このメトリックは、上で言及された距離であり、それを用いて、すべてのフレームは、適切なタイプに評価される。したがって、Iおよび隣接Pフレームの間または2つの連続するPフレームの間の間隔は、可変とすることができる。メトリックの計算は、ブロックベースの動き補償器を用いてビデオフレームを処理することによって開始し、ブロックはビデオ圧縮の基本単位であり、通常は16×16のピクセルから成るが、8×8、4×4、および8×16などの他のブロックサイズも可能である。出力において存在する2つのデインタレースフィールドから成るフレームの場合、動き補償は、フィールドに基づいて行われ、参照ブロックの探索は、フレームではなくフィールド内で行われる。現在フレームの第1フィールド内のブロックの場合、順方向参照ブロックは、あとに続くフレームのフィールド内で見出され、同様に、逆方向参照ブロックは、現在フィールドのすぐ前にあるフレームのフィールド内で見出される。現在ブロックは、補償フィールド内にまとめられる。プロセスは、フレームの第2フィールドについて続けられる。2つの補償フィールドは、順方向および逆方向補償フレームを形成するために組み合わされる。
【0213】
逆テレシネ406において生成されたフレームの場合、再構成フィルムフレームだけが生成されるので、参照ブロックの探索は、フレームだけに基づいたものとすることができる。2つの参照ブロックと、順方向および逆方向の2つの差分が見出され、順方向および逆方向補償フレームももたらす。要約すると、動き補償器は、すべてのブロックについて、動きベクトルおよび差分メトリックを生成する。メトリックの差分は、考察されるフィールドまたはフレーム内のブロックと、順方向差分が評価されるか、それとも逆方向差分が評価されるかに応じて、先行するフィールドもしくはフレーム内または直後のフィールドもしくはフレーム内の最も良く一致するブロックとの間で評価されることに留意されたい。この計算には、ルミナンス値だけが入力される。
【0214】
したがって、動き補償ステップは、差分の2つの組を生成する。これらは、ルミナンスの現在値のブロックと、時間的に現在フレームの直前および直後のフレームから取られた参照ブロック内のルミナンス値との間のものである。各順方向差分および各逆方向差分の絶対値は、ブロック内の各ピクセルについて決定され、各々は別々に、フレーム全体にわたって合計される。フレームを構成するデインタレースNTSCフィールドが処理される場合、2つの合計には、両方のフィールドが含まれる。このようにして、順方向および逆方向差分の絶対値の和である、SADPおよびSADNが見出される。
【0215】
すべてのフレームについて、SAD比は、関係
【数68】
【0216】
を使用して計算され、ここで、SADPおよびSADNはそれぞれ、順方向および逆方向差分の絶対値の和である。小さな正の数が、「ゼロによる除算」エラーを防止するために分子に追加される。同様のε項が、分母に追加され、SADPまたはSADNがゼロに近い場合に、γの感度をさらに低下させる。
【0217】
一代替態様では、差分は、2乗残差の和であるSSDおよび絶対差の和であるSAD、またはSATDとすることができ、SATDでは、ブロックエレメントの差分が取られる前に、ピクセル値のブロックが、それらに2次元離散コサイン変換を適用することによって変換される。アクティブビデオの領域にわたって、和が評価されるが、他の態様では、より小さな領域が使用されてよい。
【0218】
受け取ったまま(動き補償なし)のすべてのフレームのルミナンスヒストグラムも計算される。ヒストグラムは、利用可能であるならば、DC係数上で、すなわち、ルミナンス値のブロックに2次元離散コサイン変換を適用した結果である16×16の係数配列内の(0,0)係数上で動作する。等価的に、16×16ブロック内の256のルミナンス値の平均値が、ヒストグラムにおいて使用されてよい。ルミナンス深さが8ビットである画像の場合、ビンの数は16に設定される。次のメトリックは、ヒストグラム差分を評価する。
【数69】
【0219】
上記の式において、NPiは、第iのビン内の先行フレームからのブロックの数であり、NCiは、第iのビンに属する現在フレームからのブロックの数であり、Nは、フレーム内のブロックの総数である。
【0220】
これらの中間結果は、現在フレームの差分メトリックを形成するために、
【数70】
【0221】
のようにまとめられ、ここで、γCは、現在フレームに基づいたSAD比であり、γPは、先行フレームに基づいたSAD比である。シーンが平滑な動きを有し、そのルーマヒストグラムがほとんど変化しない場合、M≒1である。現在フレームが突然シーン変化を表示する場合、γCは大きくなり、γPは小さくなるべきである。コンテキストの活動レベルに対してメトリックが正規化されるように、γC単独ではなく、比
【数71】
【0222】
が使用される。
【0223】
図40のデータフロー4100は、フレーム差分メトリックを計算するために使用できるいくつかのコンポーネントを示している。プリプロセッサ4125は、NTSC源を有するビデオの場合はインタレースフィールドを、ビデオ源が逆テレシネの結果である場合はフィルム画像のフレームを、双方向動き補償器4133に送り届ける。双方向動き補償器4133は、フィールド(またはビデオ源が映画の場合はフレーム)を16×16ピクセルのブロックに分割し、各ブロックを先行フレームのフィールドの定められた領域内のすべての16×16ブロックと比較することによって、フィールド上で動作する。最も良い一致を提供するブロックが選択され、現在ブロックから減算される。差分の絶対値が取られ、その結果が、現在ブロックを構成する256のピクセルにわたって合計される。これがフィールドのすべての現在ブロックについて、さらに両方のフィールドについて行われると、後方差分メトリックである量SADNが、逆方向差分モジュール4137によって計算される。同様の手順が、前方差分モジュール4136によっても実行されることができる。前方差分モジュール4136は、前方差分メトリックであるSADPを生成するために、時間的に現在フレームの直前のフレームを参照ブロックの源として使用する。回復されたフィルムフレームを使用して行われるものの、同じ推定プロセスが、逆テレシネにおいて入力フレームが形成された場合にも行われる。フレーム差分メトリックの計算を完了するために使用できるヒストグラムは、ヒストグラム差分モジュール4141において形成することができる。各16×16ブロックは、そのルミナンスの平均値に基づいて、ビンに割り当てられる。この情報は、ブロック内の256すべてのピクセルルミナンス値を合計し、それを必要に応じて256によって正規化し、平均値が入れられるビンのカウントをインクリメントすることによって形成される。計算は、各動き補償前フレームに対して1度行われ、現在フレームのヒストグラムは、新しい現在フレームが到来した場合に、先行フレームのヒストグラムになる。式59によって定義されたλを形成するために、2つのヒストグラムは、ヒストグラム差分モジュール4141において、差分が取られ、ブロック数によって正規化される。これらの結果は、フレーム差分結合器4143において組み合わされ、フレーム差分結合器4143は、式60において定義された現在フレーム差分を評価するために、ヒストグラム差分モジュール4139、前方および後方差分モジュール4136、4136において見出された中間結果を使用する。
【0224】
流れ図4100のシステムおよびそのコンポーネントまたはステップは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組み合わせによって実施することができる。プリプロセッサ4135、双方向動き補償器4133、前方および後方差分メトリックモジュール4136、4137、ヒストグラム差分モジュール4141、ならびにフレーム差分メトリック結合器4143を含む、流れ図4100の各機能コンポーネントは、スタンドアロンコンポーネントとして実現することができ、ハードウェア、ファームウェア、ミドルウェアとして別のデバイスのコンポーネントに組み込まれることができ、またはプロセッサ上で実行されるマイクロコードもしくはソフトウェアで実施することができ、あるいはそれらの組み合わせとすることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施される場合、所望のタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などの機械可読媒体に保存することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組み合わせに相当することができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を受け渡し、および/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合されることができる。
【0225】
受け取られ処理されたデータは、例えば、プロセッサに接続されるチップ構成記憶媒体(例えば、ROM、RAM)またはディスクタイプ記憶媒体(例えば、磁気的もしくは光学的)を含み得る、記憶媒体に保存することができ、いくつかの態様では、結合器4143は、記憶媒体の一部または全部を含むことができる。図41の流れ図4200は、圧縮タイプをフレームに割り当てるプロセスを示している。一態様Mでは、式3で定義された現在フレーム差分は、フレーム割り当てに関して行われるすべての決定の基礎である。判定ブロック4253が示すように、考察対象のフレームが系列の最初である場合、YESと記された判定経路がブロック4255まで辿られ、それによって、フレームがIフレームであると宣言する。累積フレーム差分が、ブロック4257において、ゼロに設定され、プロセスは、(ブロック4258において)開始ブロック4253に復帰する。考察対象のフレームが系列の最初のフレームでない場合、判断が行われたブロック4253からNOと記された経路が辿られ、テストブロック4259において、現在フレーム差分が、シーン変化しきい値に対してテストされる。現在フレーム差分がシーン変化しきい値よりも大きい場合、YESと記された判定経路がブロック4255まで辿られ、やはりIフレームの割り当てをもたらす。現在フレーム差分がシーン変化しきい値よりも小さい場合、NO経路がブロック4261まで辿られ、現在フレーム差分が、累積フレーム差分に加算される。
【0226】
流れ図を進み、判定ブロック4263において、累積フレーム差分が、一般にシーン変化しきい値よりも小さいしきい値tと比較される。累積フレーム差分がtよりも大きい場合、制御はブロック4265に移り、フレームは、Pフレームになるように割り当てられ、その後、ステップ4267において、累積フレーム差分はゼロにリセットされる。累積フレーム差分がtより小さい場合、制御はブロック4263からブロック4269に移る。そこで、現在フレーム差分は、tよりも小さいτと比較される。現在フレーム差分がτより小さい場合、フレームは、ブロック4273において、スキップされるように割り当てられ、現在フレーム差分がτより大きい場合、フレームは、βフレームになるように割り当てられる。
【0227】
一代替態様では、別のフレーム符号化複雑さ表示M*が、
【数72】
【0228】
として定義され、ここで、αは、スケーラであり、SADPは、前方動き補償を用いたSADであり、MVPは、前方動き補償からの動きベクトルのピクセルで測定した長さの合計であり、sおよびmは、SADPがsより低くまたはMVPがmより低い場合に、フレーム符号化複雑さ表示をゼロにする、2つのしきい値数である。M*は、図41の流れ図4200において、現在フレーム差分の代わりに使用される。理解されるように、M*は、前方動き補償が低いレベルの動きを示す場合にのみ、Mと異なる。この場合、MはMより小さい。
【0229】
本明細書で説明されたショット検出および符号化態様は、フローチャート、フロー図、構造図、またはブロック図として表されるプロセスとして説明され得ることに留意されたい。図に示された流れ図は順次プロセスとして動作を説明し得るが、多くの動作は、並列または同時に実行することもできる。加えて、動作の順序は、再構成されることもできる。プロセスは一般に、その動作が完了した時に終了する。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。プロセスが関数に対応する場合、その終了は、呼出元関数またはメイン関数への関数の復帰に対応する。
【0230】
本明細書で開示されたデバイスの1つまたは複数のエレメントは、デバイスの動作に影響することなく再構成され得ることも、当業者には明らかであろう。同様に、本明細書で開示されたデバイスの1つまたは複数のエレメントは、デバイスの動作に影響することなく組み合わせることができる。情報およびマルチメディアデータが様々な異なる技術および技法のいずれかを使用して表現できることは、当業者であれば理解されよう。さらに、本明細書で開示された例に関連して説明された様々な例示的な論理ブロック、モジュール、およびアルゴリズムステップが、電子的ハードウェア、ファームウェア、コンピュータソフトウェア、ミドルウェア、マイクロコード、またはそれらの組み合わせとして実施され得ることも、当業者であれば理解されよう。ハードウェアおよびソフトウェアのこの交換可能性を明瞭に示すため、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップは、広くそれらの機能性に関して上では説明された。そのような機能性がハードウェアとして実施されるか、それともソフトウェアとして実施されるかは、具体的なアプリケーションおよびシステム全体に課される設計制約に依存する。当業者は、各具体的なアプリケーションのために様々な方法で説明された機能性を実施することができるが、そのような実施決定は、開示された方法の範囲からの逸脱を引き起こすと解釈されるべきではない。
【0231】
例えば、本明細書で開示されたショット検出および符号化の例および図に関連して説明された方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、または2つの組み合わせで実施することができる。特に、方法およびアルゴリズムは、セル電話、コンピュータ、ラップトップコンピュータ、PDA、すべてのタイプの個人用および商用通信デバイスへのビデオの無線伝送を含む通信技術に適用可能である。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱可能ディスク、CD−ROM、または当技術分野で知られた他の形態の記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み、記憶媒体に情報を書くことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサに組み込まれてもよい。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)に存在することができる。ASICは、無線モデムに存在することができる。代替として、プロセッサおよび記憶媒体は、無線モデム内の別個のコンポーネントとして存在することができる。
【0232】
加えて、本明細書で開示された例に関連して説明された様々な例示的な論理ブロック、コンポーネント、モジュール、および回路は、本明細書で説明される機能を実行するために設計された、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェアコンポーネント、またはそれらの任意の組み合わせを用いて実施または実行することができる。汎用プロセッサは、マイクロプロセッサでよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械でもよい。プロセッサは、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアと連携する1つまたは複数のマイクロプロセッサの組み合わせ、またはそのような他の任意の構成など、コンピューティングデバイスの組み合わせとして実施されてもよい。
【0233】
開示された例についての先の説明は、当業者が開示された方法および装置を作成または使用することを可能とするために提供された。これらの例に対する様々な修正が、当業者には容易に明らかであり、本明細書で定められた原理は、他の例に適用することができ、開示された方法および装置の主旨または範囲から逸脱することなく、付加的なエレメントが追加されることができる。態様についての説明は、例示的であることを意図しており、特許請求の範囲を限定することは意図していない。
【図面の簡単な説明】
【0234】
【図1】ストリーミングマルチメディアデータを送り届けるための通信システムのブロック図。
【図2】プリプロセッサを含むディジタル伝送機構のブロック図。
【図3A】プリプロセッサの例示的な態様のブロック図。
【図3B】マルチメディアデータを処理するためのプロセスを示す流れ図。
【図3C】マルチメディアデータを処理するための手段を示すブロック図。
【図4】例示的なプリプロセッサの動作を示すブロック図。
【図5】逆テレシネプロセスにおけるフェーズ判定の図。
【図6】テレシネビデオに逆処理を施すプロセスを示す流れ図。
【図7】フェーズ遷移を示す格子(trellis)の図。
【図8】複数のメトリックを生成するために使用されるそれぞれのフレームを識別するための手引きの図。
【図9】図8のメトリックがどのように生成されるかを説明する流れ図。
【図10】推定フェーズに達するためのメトリックの処理を示す流れ図。
【図11】判定変数を生成するためのシステムを説明するデータ流れ図。
【図12】ブランチ情報を評価するために使用される変数を示すブロック図。
【図13A】下方エンベロープがどのように計算されるかを示す流れ図。
【図13B】下方エンベロープがどのように計算されるかを示す流れ図。
【図13C】下方エンベロープがどのように計算されるかを示す流れ図。
【図14】整合性検出器の動作を示す流れ図。
【図15】フェーズ判定における不整合性を補償するために使用される判定変数に対するオフセットを計算するプロセスを示す流れ図。
【図16】プルダウンフェーズが推定された後の逆テレシネの動作を提示する図。
【図17】デインタレーサデバイスのブロック図。
【図18】別のデインタレーサデバイスのブロック図。
【図19】インタレース画像のサブサンプリングパターンの図。
【図20】デインタレースフレームを生成するためにWmedフィルタリング動き推定を使用するデインタレーサデバイスのブロック図。
【図21】マルチメディアデータの静止領域を決定するためのアパーチャの一態様を示す図。
【図22】マルチメディアデータの遅い動き領域を決定するためのアパーチャの一態様を示す図。
【図23】動き推定の一態様を示す図。
【図24】動き補償を決定する際に使用される2つの動きベクトルマップを示す図。
【図25】マルチメディアデータをデインタレースする方法を示す流れ図。
【図26】時空間情報を使用してデインタレースフレームを生成する方法を示す流れ図。
【図27】デインタレースのための動き補償を実行する方法を示す流れ図。
【図28】いくつかの態様によるショット検出および他の前処理操作のために構成されるプロセッサを備えるプリプロセッサのブロック図。
【図29】符号化の複雑さCおよび割り当てられたビットBの間の関係を示す図。
【図30】グループオブピクチャ上で動作し、いくつかの態様では、ビデオフレーム内でのショット検出に基づいてビデオを符号化するために使用できるプロセスを示す流れ図。
【図31】ショット検出のためのプロセスを示す流れ図。
【図32】ビデオにおけるショットの異なる分類を決定するためのプロセスを示す流れ図。
【図33】ショット検出結果に基づいてフレーム圧縮方式をビデオフレームに割り当てるためのプロセスを示す流れ図。
【図34】突然シーン変化を決定するためのプロセスを示す流れ図。
【図35】緩慢変化シーンを決定するためのプロセスを示す流れ図。
【図36】カメラフラッシュを含むシーンを決定するためのプロセスを示す流れ図。
【図37】現在フレームと先行フレームの間の動き補償ベクトルMVPおよび現在フレームと次フレームの間の動き補償ベクトルMVNを示す図。
【図38】フレーム差分メトリックを決定する際に使用される変数についての関係を示すグラフ。
【図39】データの符号化および残余の計算を示すブロック図。
【図40】フレーム差分メトリックの決定を示すブロック図。
【図41】圧縮タイプがフレームに割り当てられる手順を示す流れ図。
【図42】1−D多相リサンプリングの一例を示す図。
【図43】データのフレームのセーフアクション領域およびセーフタイトル領域を示す絵図。
【図44】データのフレームのセーフアクション領域を示す絵図。
【優先権の主張】
【0001】
本特許出願は、2006年4月3日に出願された仮出願第60/789,048号、2006年4月4日に出願された仮出願第60/789,266号、および2006年4月4日に出願された仮出願第60/789,377号の優先権を主張し、上記の仮出願のすべては、本発明の譲受人に譲渡されており、参照により本明細書に明示的に組み込まれる。
【技術分野】
【0002】
本発明は、一般に、マルチメディアデータ処理に関し、より詳細には、データ圧縮処理に先立ってまたはデータ圧縮処理と同時に実行される処理操作に関する。
【背景技術】
【0003】
【特許文献1】仮出願第60/789,048号
【特許文献2】仮出願第60/789,266号
【特許文献3】仮出願第60/789,377号
【非特許文献1】P.Haavisto、J.Juhola、Y.Neuvo、「Scan rate up−conversion using adaptive weighted median filtering」、Signal Processing of HDTV II、703〜710ページ、1990年
【非特許文献2】R.Simonetti、S.Carrato、G.Ramponi、A.Polo Filisan、「Deinterlacing of HDTV Images for Multimedia Applications」、Signal Processing of HDTV IV、765〜772ページ、1993年
【非特許文献3】D.L.Donoho、I.M.Johnstone、「Ideal spatial adaptation by wavelet shrinkage」、Biometrika、vol.8、425〜455ページ、1994年
【非特許文献4】S.P.Ghael、A.M.Sayeed、R.G.Baraniuk、「Improvement Wavelet denoising via empirical Wiener filtering」、Proceedings of SPIE、vol 3169、389〜399ページ、San Diego、1997年7月
【非特許文献5】G.D.Haan、E.B.Bellersの「De−interlacing of video data」、IEEE Transactions on Consumer Electronics、Vol.43、No.3、819〜825ページ、1997年
【非特許文献6】Specifications for Safe Action and Safe Title Areas Test Pattern for Television Systems、SMPTE推奨実践RP27.3−1989
【発明の開示】
【発明の概要】
【0004】
本明細書で説明される本発明の装置および方法は各々、いくつかの態様を有し、それらの1つが単独で、その望ましい属性に責任を負うことはない。本発明の範囲を限定することなく、そのより顕著な特徴が、今から簡潔に説明される。この説明を考察した後、特に「詳細な説明」と題するセクションを読んだ後、読者は、本発明の特徴が、どのようにマルチメディアデータ処理装置および方法に改良を提供するかを理解するであろう。
【0005】
一態様では、マルチメディアデータを処理する方法は、インタレースビデオフレームを受信することと、インタレースビデオフレームをプログレッシブビデオに変換することと、プログレッシブビデオに関連するメタデータを生成することと、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータの少なくとも一部とを符号器に提供することとを備える。前記方法は、メタデータを使用してプログレッシブビデオを符号化することをさらに含むことができる。いくつかの態様では、インタレースビデオフレームは、NTSCビデオを備える。ビデオフレームを変換することは、インタレースビデオフレームをデインタレースすることを含むことができる。
【0006】
いくつかの態様では、メタデータは、帯域幅情報、双方向動き情報、比帯域、時間もしくは空間複雑さの値またはその両方などの複雑さの値、ルミナンス情報を含むことができ、空間情報は、ルミナンスおよび/またはクロミナンス情報を含むことができる。前記方法は、インタレースビデオフレームの空間情報および双方向動き情報を生成することと、空間情報および双方向動き情報を使用してインタレースビデオフレームに基づいてプログレッシブビデオを生成することも含むことができる。いくつかの態様では、インタレースビデオフレームを変換することは、3/2プルダウンビデオフレームを逆テレシネすること、および/またはプログレッシブビデオをリサイズすることを備える。前記方法は、グループオブピクチャ情報を決定するためにプログレッシブビデオを区分化することをさらに備えることができ、区分化は、プログレッシブビデオのショット検出を含むことができる。いくつかの態様では、前記方法は、雑音低減フィルタを用いるプログレッシブビデオも含む。
【0007】
別の態様では、マルチメディアデータを処理するための装置は、インタレースビデオフレームを受信するように構成される受信器と、インタレースビデオフレームをプログレッシブビデオに変換するように構成されるデインタレーサと、プログレッシブビデオに関連するメタデータを生成し、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータとを符号器に提供するように構成されるパーティショナとを含むことができる。いくつかの態様では、前記装置は、プログレッシブビデオを通信モジュールから受信し、提供されたメタデータを使用してプログレッシブビデオを符号化するように構成される符号器をさらに含むことができる。デインタレーサは、時空間デインタレースおよび/または逆テレシネを実行するように構成することができる。パーティショナは、ショット検出を実行し、ショット検出に基づいて圧縮情報を生成するように構成することができる。いくつかの態様では、パーティショナは、帯域幅情報を生成するように構成することができる。前記装置は、プログレッシブフレームをリサイズするように構成されるリサンプラも含むことができる。メタデータは、帯域幅情報、双方向動き情報、比帯域、ルミナンス情報、コンテンツに関係する空間複雑さの値、および/またはコンテンツに関係する時間複雑さの値を含むことができる。いくつかの態様では、デインタレーサは、インタレースビデオフレームの空間情報および双方向動き情報を生成し、空間情報および双方向動き情報を使用してインタレースビデオフレームに基づいてプログレッシブビデオを生成するように構成される。
【0008】
別の態様は、インタレースビデオフレームを受信するための手段と、インタレースビデオフレームをプログレッシブビデオに変換するための手段と、プログレッシブビデオに関連するメタデータを生成するための手段と、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータの少なくとも一部とを符号器に提供するための手段とを含む、マルチメディアデータを処理するための装置を備える。いくつかの態様では、変換手段は、逆テレシネ器および/または時空間デインタレーサを備える。いくつかの態様では、生成手段は、ショット検出を実行し、ショット検出に基づいて圧縮情報を生成するように構成される。いくつかの態様では、生成手段は、帯域幅情報を生成するように構成される。いくつかの態様では、生成することは、プログレッシブフレームをリサイズするためにリサンプリングするための手段を含む。
【0009】
別の態様は、マルチメディアデータを処理するための命令を備える機械可読媒体を備え、前記命令は実行された時に、機械にインタレースビデオフレームを受信させ、インタレースビデオフレームをプログレッシブビデオに変換させ、プログレッシブビデオに関連するメタデータを生成させ、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータの少なくとも一部とを符号器に提供させる。
【0010】
別の態様は、インタレースビデオを受信し、インタレースビデオをプログレッシブビデオに変換し、プログレッシブビデオに関連するメタデータを生成し、プログレッシブビデオの符号化の際に使用するためにプログレッシブビデオとメタデータの少なくとも一部とを符号器に提供するための構成を備えるプロセッサを含む。インタレースビデオの変換は、時空間デインタレースを実行することを含むことができる。いくつかの態様では、インタレースビデオの変換は、逆テレシネを実行することを備える。いくつかの態様では、メタデータの生成は、ショット変化の検出に基づいて圧縮情報を生成することを含む。いくつかの態様では、メタデータの生成は、プログレッシブビデオの圧縮情報を決定することを含む。いくつかの態様では、前記構成は、リサイズされたプログレッシブフレームを生成するためにビデオをリサンプルための構成を含む。いくつかの態様では、メタデータは、帯域幅情報、双方向動き情報、コンテンツに基づいた時間もしくは空間複雑さ情報などの複雑さ情報、および/または圧縮情報を含むことができる。
【詳細な説明】
【0011】
以下の説明は、例の完全な理解を提供するための詳細を含む。しかし、一例または一態様におけるプロセスまたはデバイスの詳細の必ずしもすべてが本明細書で説明または図示されていなくても、例が実施され得ることは、当業者であれば理解されよう。例えば、電気的コンポーネントは、不必要な詳細によって例があいまいにならないように、そのコンポーネントの必ずしもすべての電気的接続または電気的エレメントが図示されていないブロック図で示されてよい。他の例では、そのようなコンポーネント、他の構造および技法は、例をさらに説明するために詳細に示されてよい。
【0012】
本発明のある態様、ならびに既存の前処理および符号化システムの性能を改善するプリプロセッサおよびプリプロセッサ動作方法のための態様が、本明細書で説明される。そのようなプリプロセッサは、デインタレース、逆テレシネ、フィルタリング、ショットタイプ識別、メタデータ処理および生成、ならびに帯域幅情報生成を実行することを含む符号化の準備において、メタデータおよびビデオを処理することができる。本明細書における「一態様」、「態様」、「いくつかの態様」、または「ある態様」についての言及は、態様に関係して説明される1つまたは複数の特定の特徴、構造、または特性が、プリプロセッサシステムの少なくとも1つの態様に含まれ得ることを意味する。本明細書の様々な箇所におけるそのような句の出現は、必ずしもすべてが、同じ態様に言及するものではなく、他の態様と相互に排他的な別個または代替態様に言及するものでもない。さらに、いくつかの態様によって提示されることがあり、他の態様によっては提示されないことがある様々な特徴が説明される。同様に、いくつかの態様のステップであることがあり、他の態様のステップではないことがある様々なステップが説明される。
【0013】
本明細書で使用される「マルチメディアデータ」または「マルチメディア」は、(オーディオデータを含み得る)ビデオデータ、オーディオデータ、またはビデオデータとオーディオデータの両方を含む広義の用語である。本明細書で使用される「ビデオデータ」または「ビデオ」は、画像、またはテキスト、画像、および/もしくはオーディオデータを含む1つもしくは複数の画像列もしくは系列を指す広義の用語であり、マルチメディアデータを指すために使用することができ、別途指摘されない限り、「マルチメディアデータ」と「ビデオデータ」は、相互交換可能に使用されてよい。
【0014】
図1は、ストリーミングマルチメディアを送り届けるための通信システム100のブロック図である。そのようなシステムは、図1に示されるような多数の端末へのディジタル圧縮ビデオの伝送において応用を見出す。ディジタルビデオ源は、例えば、ディジタルケーブルもしくは衛星供給、またはディジタル化されるアナログ源とすることができる。ビデオ源は、伝送機構120において処理され、ネットワーク140を介する1つまたは複数の端末160への伝送のために、符号化され、搬送波上に変調される。端末160は、受信したビデオを復号し、典型的にはビデオの少なくとも一部を表示する。ネットワーク140は、符号化データの伝送に適した有線または無線の任意のタイプの通信ネットワークを指す。例えば、ネットワーク140は、セル電話ネットワーク、有線もしくは無線ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)、またはインターネットとすることができる。端末160は、セル電話、PDA、家庭用または商用ビデオ表示機器、コンピュータ(ポータブル、ラップトップ、ハンドヘルド、PC、およびより大規模なサーバベースのコンピュータシステム)、ならびにマルチメディアデータの使用が可能な個人向け娯楽デバイスを含むが、これらに限定されない、データの受信および表示が可能な任意のタイプの通信デバイスとすることができる。
【0015】
図2および図3は、プリプロセッサ202のサンプル態様を示している。図2では、プリプロセッサ202は、ディジタル伝送機構120内に存在する。復号器201は、ディジタルビデオ源からの符号化データを復号し、メタデータ204およびビデオ205をプリプロセッサ202に提供する。プリプロセッサ202は、あるタイプの処理をビデオ205およびメタデータ204に対して実行し、処理されたメタデータ206(例えば、ベースレイヤ参照フレーム、エンハンスメントレイヤ参照フレーム、帯域幅情報、コンテンツ情報)およびビデオ207を符号器203に提供するように構成される。マルチメディアデータのそのような前処理は、データの視覚的鮮明度、アンチエイリアス、および圧縮効率を向上させることができる。一般に、プリプロセッサ202は、復号器201によって提供されたビデオ系列を受け取り、符号器によるさらなる処理(例えば符号化)のために、ビデオ系列をプログレッシブビデオ系列に変換する。いくつかの態様では、プリプロセッサ202は、逆テレシネ、デインタレース、フィルタリング(例えば、アーチファクト除去、デリンギング、デブロッキング、および雑音低減)、リサイズ(例えば、標準定義からクウォータビデオグラフィックスアレイ(QVGA:Quarter Video Graphics Array)への空間解像度ダウンサンプリング)、ならびにGOP構造生成(例えば、複雑さマップ生成、シーン変化検出、およびフェード/フラッシュ検出の計算)を含む数多くの操作のために構成することができる。
【0016】
図3Aは、受け取ったメタデータ204およびビデオ205に対して前処理操作を実行し、その後、さらなる処理のために、処理されたメタデータ206およびプログレッシブビデオ207を(例えば符号器に)提供するための、モジュールまたはコンポーネント(本明細書ではまとめて「モジュール」と呼ばれる)を用いて構成されるプリプロセッサ202を示している。モジュールは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実施することができる。プリプロセッサ202は、皆以下でさらに説明される、逆テレシネ301、デインタレーサ302、雑音低減器303、エイリアス抑制器304、リサンプラ305、デブロッカ/デリンガ306、およびGOPパーティショナ307を含む、1つまたは複数の図示されたモジュールを含む、様々なモジュールを含むことができる。プリプロセッサ202は、メモリ308および通信モジュール309を含む、ビデオおよびメタデータを処理するために使用できる他の適切なモジュールも含むことができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱可能ディスク、CD−ROM、または当技術分野で知られた他の形態の記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み、記憶媒体に情報を書くことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサに組み込まれてもよい。プロセッサおよび記憶媒体は、ASICに存在することができる。ASICは、ユーザ端末に存在することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末内の別個のコンポーネントとして存在することができる。
【0017】
図3Bは、マルチメディアデータの処理のためのプロセス300を示す流れ図である。プロセス300は開始すると、ブロック320に進み、インタレースビデオを受信する。図2および図3に示されるプリプロセッサ202は、このステップを実行することができる。いくつかの態様では、復号器(例えば、図2の復号器201)が、インタレースデータを受信し、それをプリプロセッサ202に提供することができる。いくつかの態様では、プリプロセッサ202の一部である、図3Cに示されるデータ受信モジュール330が、このステップを実行することができる。プロセス300は次に、ブロック322に進み、インタレースビデオがプログレッシブビデオに変換される。図2、図3Aのプリプロセッサ202、および図3Cのモジュール332が、このステップを実行することができる。インタレースビデオがテレシネされている場合、ブロック322処理は、プログレッシブビデオを生成するために逆テレシネを実行することを含むことができる。プロセス300は次に、ブロック324に進み、プログレッシブビデオに関連するメタデータを生成する。図3AのGOPパーティショナ307、および図3Cのモジュール334が、そのような処理を実行することができる。プロセス300は次に、ブロック326に進み、プログレッシブビデオとメタデータの少なくとも一部とが、符号化(例えば圧縮)のために符号器に提供される。図2、図3Aに示されるプリプロセッサ202、および図3Cのモジュール336が、このステップを実行することができる。符号化のためにプログレッシブビデオおよび関連するメタデータを別のコンポーネントに提供した後、プロセス300は終了することができる。
【0018】
図3Cは、マルチメディアデータを処理するための手段を示すブロック図である。ここでは、そのような手段がプリプロセッサ202に組み込まれて示されている。プリプロセッサ202は、モジュール330などの、ビデオを受信するための手段を含む。プリプロセッサ202は、モジュール332などの、インタレースデータをプログレッシブビデオに変換するための手段も含む。そのような手段は、例えば、時空間デインタレーサおよび/または逆テレシネ器を含むことができる。プリプロセッサ202は、モジュール334などの、プログレッシブビデオに関連するメタデータを生成するための手段も含む。そのような手段は、本明細書で説明されるような様々なタイプのメタデータを生成することができるGOPパーティショナ307(図3A)を含むことができる。プリプロセッサ202は、モジュール336によって示されるように、符号化のためにプログレッシブビデオおよびメタデータを符号器に提供するための手段も含む。そのような手段は、いくつかの態様では、図3Aに示される通信モジュール309を含むことができる。当業者であれば理解されるように、そのような手段は、多くの標準的な方法で実施することができる。
【0019】
プリプロセッサ202は、1つまたは複数の前処理操作のために、取得した(例えば、復号器201または別の源から取得した)メタデータを使用することができる。メタデータは、マルチメディアデータの内容に関係する、内容を説明する、または分類する情報(「コンテンツ情報」)を含むことができる。特に、メタデータは、コンテンツ分類を含むことができる。いくつかの態様では、メタデータは、符号化操作にとって望ましいコンテンツ情報を含まない。そのような場合、プリプロセッサ202は、コンテンツ情報を決定し、そのコンテンツ情報を前処理操作のために使用し、および/またはそのコンテンツ情報を他のコンポーネント、例えば復号器203に提供するように構成することができる。いくつかの態様では、プリプロセッサ202は、GOP区分化に影響を及ぼし、適切なタイプのフィルタリングを決定し、および/または符号器に伝えられる符号化パラメータを決定するために、そのようなコンテンツ情報を使用することができる。
【0020】
図4は、プリプロセッサに含まれ得るプロセスブロックの説明的な一例を示しており、プリプロセッサ202によって実行され得る処理を図説している。この例では、プリプロセッサ202は、メタデータおよびビデオ204、205を受け取り、(処理された)メタデータおよびビデオを備える出力データ206、207を符号器228に提供する。一般に、プリプロセッサによって受け取られるビデオには3つのタイプが存在する。第1に、受け取られたビデオは、プログレッシブビデオとすることができ、デインタレースは、実行される必要がない。第2に、ビデオデータは、24fps映画系列から変換されたテレシネ化されたインタレースビデオとすることができ、この場合、ビデオ。第3に、ビデオは、テレシネされていないインタレースビデオとすることができる。プリプロセッサ226は、以下で説明されるように、これらのタイプのビデオを処理することができる。
【0021】
ブロック401において、プリプロセッサ202は、受け取ったビデオ204、205がプログレッシブビデオであるかどうかを判定する。ある場合には、これは、メタデータがそのような情報を含むならばメタデータから判定することができ、またはビデオ自体を処理することによって判定することができる。例えば、以下で説明される逆テレシネプロセスは、受け取ったビデオ205がプログレッシブビデオであるかどうかを判定することができる。プログレッシブビデオである場合、プロセスは、ブロック407に進み、白色ガウス雑音などの雑音を低減するために、フィルタリング操作がビデオに対して実行される。ブロック401において、ビデオがプログレッシブビデオではない場合、プロセスは、フェーズ検出器であるブロック404に進む。
【0022】
フェーズ検出器604は、テレシネに由来するビデオと、始まりが標準放送フォーマットであるビデオとを弁別する。ビデオはテレシネされたものであるという判定が下された場合(フェーズ検出器404から出て行くYES判定経路)、テレシネビデオは、逆テレシネ406において、元のフォーマットに戻される。冗長フィールドが、識別されて除去され、同じビデオフレームに由来するフィールドが、完全な画像に再び組み立てられる。再構成されたフィルム画像の系列は、1秒の1/24という規則的な間隔で撮影されて記録されたものなので、GOPパーティショナ412または復号器において実行される動き推定プロセスは、テレシネデータではなく、規則的な時間ベースを有する逆テレシネ画像を使用したほうがより正確になる。
【0023】
一態様では、フェーズ検出器404は、ビデオフレームを受け取った後、ある判定を下す。これらの判定は、(i)現在のビデオがテレシネ出力からのものであり、3:2プルダウンフェーズが図5に示される5つのフェーズP0、P1、P2、P3、およびP4の1つであるかどうか、(ii)ビデオが従来のNTSCとして生成されたものか、を含む。その判定は、フェーズP5として示される。これらの判定は、図4に示されるフェーズ検出器404の出力として現れる。ラベル「YES」をもつフェーズ検出器404からの経路は、逆テレシネ406を作動させ、これは、正しいプルダウンフェーズが提供され、そのフェーズが、同じ撮影画像から形成されたフィールドを選別し、それらを組み合わせることを表す。ラベル「NO」をもつフェーズ検出器404からの経路は、デインタレーサ405を作動させ、最適な処理のために、明らかなNTSCフレームをフィールドに分割する。逆テレシネは、「INVERSE TELECINE ALGORITHM BASED ON STATE MACHINE」と題する同時係属中の米国特許出願[整理番号QFDM.021A(050943)]にさらに記載されており、同出願は、本発明の譲受人によって所有されており、参照によってその全体が本明細書に組み込まれる。
【0024】
フェーズ検出器404は、いつでも異なるタイプのビデオを受け取ることがあり得るので、ビデオフレームを継続的に分析することができる。例えば、NTSC規格に準拠したビデオが、コマーシャルとしてビデオに挿入されることがあり得る。逆テレシネの後、結果のプログレッシブビデオは、白色ガウス雑音を低減するために使用できる雑音低減器(フィルタ)407に送られる。
【0025】
従来のNTSCビデオが認識された場合(フェーズ検出器401からのNO経路)、そのビデオは、圧縮のために、デインタレーサ405に伝送される。デインタレーサ405は、インタレースフィールドをプログレッシブビデオに変換し、その後、雑音低減操作が、プログレッシブビデオに対して実行されることができる。
【0026】
適切な逆テレシネまたはデインタレース処理の後、ブロック408において、プログレッシブビデオは、エイリアス抑制およびリサンプリング(例えばリサイズ)のための処理が施される。
【0027】
リサンプリングの後、プログレッシブビデオは次に、ブロック410に進み、デブロッカおよびデリンギング操作が実行される。「ブロッキング」および「リンギング」という2つのタイプのアーチファクトが、ビデオ圧縮アプリケーションにおいて一般的に発生する。ブロッキングアーチファクトは、圧縮アルゴリズムが各フレームを数ブロック(例えば8×8ブロック)に分割するために発生する。各ブロックは、いくらかの僅かな誤差を含んで再構成され、ブロックのエッジ部分の誤差は、隣接ブロックのエッジ部分の誤差と際立った相違を示し、ブロック境界を可視化する。対照的に、リンギングアーチファクトは、画像特徴のエッジ周囲のひずみとして現れる。リンギングアーチファクトは、高周波数DCT係数を量子化する際に、符号器が多過ぎる情報を廃棄するために発生する。いくつかの説明的な例では、デブロッキングおよびデリンギングは、これらの可視アーチファクトを目立たなくするために、ローパスFIR(有限インパルス応答)フィルタを使用することができる。
【0028】
デブロッキングおよびデリンギングの後、プログレッシブビデオは、GOPパーティショナ412によって処理される。GOPポジショニングは、ショット変化を検出することと、複雑さマップ(例えば、時間的、空間的帯域幅マップ)を生成することと、適応GOPパーティショニングを含むことができる。ショット検出は、グループオブピクチャ(GOP)内のフレームが、シーン変化の発生を示すデータを提示した時を決定することに関する。シーン変化検出は、ビデオ符号器が適切なGOP長を決定し、固定間隔でIフレームを挿入する代わりに、GOP長に基づいてIフレームを挿入するために使用することができる。プリプロセッサ202は、マルチメディアデータを符号化するために使用できる帯域幅マップを生成するようにも構成することができる。いくつかの態様では、プリプロセッサの外部に配置されるコンテンツ分類モジュールが、代わりに帯域幅マップを生成する。適応GOPパーティショニングは、一緒に符号化されるグループオブピクチャの構成を適応的に変化させることができる。図4に示された操作の説明的な例が、以下で説明される。
【0029】
逆テレシネ
逆テレシネ処理が、以下で説明され、逆テレシネの説明的な例が、図4〜図16を参照して提供される。ビデオ圧縮は、源の特性が知られており、理想的に調和した処理形態を選択するために使用される場合に、最良の結果を与える。例えば、放送されないビデオは、いくつかの方法で作成することができる。ビデオカメラや放送スタジオなどで従来どおりに生成される放送用ビデオは、米国ではNTSC規格に準拠している。この規格によれば、各フレームは、2つのフィールドから構成される。一方のフィールドは奇数ラインから成り、他方は偶数ラインから成る。これは「インタレース」フォーマットと呼ばれることがある。フレームは、約30フレーム/秒で生成されるが、フィールドは、1/60秒間隔のテレビカメラの画像の記録である。一方、フィルムは、24フレーム/秒で撮影され、各フレームは、完全な画像から成る。これは「プログレッシブ」フォーマットと呼ばれることがある。NTSC機器での伝送のため、「プログレッシブ」ビデオは、テレシネプロセスを介して「インタレース」ビデオフォーマットに変換される。以下でさらに説明される一態様では、システムは、ビデオがいつテレシネされたかを有利に決定し、元のプログレッシブフレームを再生成するために適切な変換を実行する。
【0030】
図4は、インタレースビデオに変換されたプログレッシブフレームをテレシネした結果を示している。F1、F2、F3、F4は、テレシネ器への入力となるプログレッシブ画像である。それぞれのフレームの下の番号「1」および「2」は、奇数フィールドであるか、それとも偶数フィールドであるかの表示である。フレームレート間の相違のために、いくつかのフィールドが繰り返されていることに留意されたい。図4は、プルダウンフェーズP0、P1、P2、P3、P4も示している。フェーズP0は、同じ第1フィールドを有する2つのNTSC互換フレームの第1のフレームによってマーク付け(mark)される。後続の4つのフレームは、フェーズP1、P2、P3、P4に対応する。P2およびP3によってマーク付けされるフレームは、同じ第2フィールドを有することに留意されたい。フィルムフレームF1は3回走査されるので、連続して出力される2つの同じNTSC互換の第1フィールドが形成される。フィルムフレームF1に由来するすべてのNTSCフィールドは、同じフィルム画像から得られたものであり、したがって、同じ瞬間に撮影されたものである。フィルムに由来する他のNTSCフレームは、1/24秒離れた隣接フィールドをもつことができる。
【0031】
図4に示されるフェーズ検出器404は、ビデオフレームを受け取った後、ある判定を下す。これらの判定は、(i)現在のビデオがテレシネ出力からのものであり、3:2プルダウンフェーズが図5の定義512に示される5つのフェーズP0、P1、P2、P3、P4の1つであるかどうか、(ii)ビデオが従来のNTSCとして生成されたものか、を含み、その判定は、フェーズP5として示される。
【0032】
これらの判定は、図4に示されるフェーズ検出器401の出力として現れる。ラベル「YES」をもつフェーズ検出器401からの経路は、逆テレシネ406を作動させ、これは、正しいプルダウンフェーズが提供され、そのフェーズが、同じ撮影画像から形成されたフィールドを選別し、それらを組み合わせることを表す。ラベル「NO」をもつフェーズ検出器401からの経路は、デインタレーサブロック405を同様に作動させ、最適な処理のために、明らかなNTSCフレームをフィールドに分割する。
【0033】
図6は、ビデオストリームを逆テレシネするプロセス600を示す流れ図である。一態様では、プロセス600は、図3の逆テレシネ301によって実行される。ステップ651で開始し、逆テレシネ301は、受け取ったビデオに基づいて複数のメトリックを決定する。この態様では、同一フレームまたは隣接フレームから取り出されたフィールドの間の差分の合計である4つのメトリックが形成される。4つのメトリックは、6つの仮定されたフェーズの各々について、受け取ったデータに由来する4つのメトリックとこれらのメトリックの最もありそうな値との間のユークリッド距離(Euclidian measure of distance)にさらにまとめられる。ユークリッド和は、ブランチ情報(branch information)と呼ばれ、受け取った各フレームに対して、そのような量が6つ存在する。仮定された各フェーズは、後続フェーズを有し、後続フェーズは、可能なプルダウンフェーズの場合、受け取った各フレームと一緒に変化する。
【0034】
遷移の可能な経路が、図7に示されており、767によって示されている。そのような経路が6つ存在する。判定プロセスは、仮定されたフェーズの各経路について、ユークリッド距離の和に等しい6つの尺度を維持する。変化させられた状態に手順を応答させるため、和の中の各ユークリッド距離は、それが古くなるほど小さくなる。ユークリッド距離の和が最小となるフェーズ行路(phase track)が、有効なフェーズ行路であると見なされる。この行路の現在のフェーズは、「適用可能フェーズ」と呼ばれる。選択されたフェーズがP5でない限り、そのフェーズに基づいた逆テレシネが、今行われることができる。P5が選択された場合、現在のフレームは、ブロック405(図4)においてデインタレーサを使用してデインタレースされる。要約すると、適用可能フェーズは、現在のプルダウンフェーズとして、または有効なNTSCフォーマットを有すると推定されたフレームのデインタレースを命じる表示として利用される。
【0035】
入力されたビデオから受け取ったすべてのフレームについて、4つのメトリックの各々の新しい値が計算される。これらは、以下のように定義される。
【数1】
【数2】
【数3】
【数4】
【0036】
SADという用語は、「絶対差の和(summed absolute differences)」の略語である。メトリックを形成するために差がとられるフィールドが、図8に図式的に示されている。下付数字は、フィールド番号を示し、文字は、直前(=P)または現在(=C)を表す。図8の範囲記号(bracket)は、対を成すフィールドの間の差を示す。SADFSは、ラベルC1を付された現在フレームのフィールド1とラベルP1を付された直前フレームのフィールド1の間の差を示し、図8で提供される定義では、ラベルFSを付された範囲記号によって間隔が表され、SADSSは、ラベルC2を付された現在フレームのフィールド2とラベルP2を付された直前フレームのフィールド2の間の差を示し、ラベルSSを付された範囲記号によって間隔が表され、SADCOは、ラベルC2を付された現在フレームのフィールド2とラベルC1を付された現在フレームのフィールド1の間の差を示し、ラベルCOを付された範囲記号によって間隔が表され、SADPOは、現在フレームのフィールド1と直前フレームのフィールド2の間の差を示し、ラベルPOを付された範囲記号によって間隔が表される。
【0037】
各SADを評価するための計算負荷が、以下で説明される。従来のNTSCには約480本のアクティブ水平ラインが存在する。水平方向における解像度が同じである場合、4:3のアスペクト比では、480×4/3=640に等しい垂直ラインまたは自由度が存在する。640×480ピクセルのビデオフォーマットは、高度テレビ標準委員会(Advanced Television Standards Committee)によって承認されたフォーマットの1つである。したがって、フレームの持続時間である1/30秒ごとに、640×480=307200個の新しいピクセルが生成される。新しいデータは、9.2×106ピクセル/秒のレートで生成され、これは、このシステムを実行するハードウェアまたはソフトウェアが、約10MB以上のレートでデータを処理することを含意する。これは、システムの高速部分の1つである。それは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組み合わせによって実施することができる。SAD計算器は、スタンドアロンコンポーネントとすることができ、ハードウェア、ファームウェア、ミドルウェアとして別のデバイスのコンポーネントに組み込まれることができ、またはプロセッサ上で実行されるマイクロコードもしくはソフトウェアで実施することができ、あるいはそれらの組み合わせとすることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施される場合、計算を実行するプログラムコードまたはコードセグメントは、記憶媒体などの機械可読媒体に保存することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組み合わせに相当することができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を受け渡し、および/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合されることができる。
【0038】
図9の流れ図900は、図8の関係を明示的にするものであり、式1〜式4の図式的表現である。流れ図900は、SADFS、SADCO、SADSS、およびSADPOの最も新しい値がそれぞれ保持される、記憶ロケーション941、942、943、944を示している。これらは各々、絶対差の和を求める4つの計算器940によって生成され、4つの計算器940は、直前の第1フィールドのデータのルミナンス値931、現在の第1フィールドのデータのルミナンス値932、現在の第2フィールドのデータのルミナンス値933、および直前の第2フィールドのデータのルミナンス値934を処理する。メトリックを定義する加算において、「値(i,j)」という用語は、位置i,jにおけるルミナンスの値であることを意味し、加算はすべてのアクティブピクセルにわたるが、アクティブピクセルの意味のあるサブセット上での加算は除外されない。
【0039】
図10の流れ図100は、テレシネビデオを検出し、元の走査フィルム画像に回復するためにテレシネビデオに逆処理を施すためのプロセスを説明する詳細な流れ図である。ステップ1030において、図9で定義されたメトリックが評価される。ステップ1083に進み、4つのメトリックの下方エンベロープ値(lower envelope value)が見出される。SADメトリックの下方エンベロープは、SADがそれを下回ることのない最高の数値的下限である、動的に決定される量である。ステップ1085に進み、以下の式5〜式10で定義されるブランチ情報の量が決定され、それには、先に決定されたメトリック、下方エンベロープ値、および実験的に決定された定数Aを使用することができる。フェーズの後続値は整合性のないものとなり得るので、ステップ1087において、量Δがこの明らかな不安定性を低減するように決定される。フェーズは、フェーズ判定の系列が、図7に示された問題のモデルと整合している場合、整合的と見なされる。そのステップに続いて、プロセスは、ステップ1089に進み、Δの現在値を使用して判定変数を計算する。判定変数計算器1089は、そこに到るまでの1080番代のブロックにおいて生成されたすべての情報を使用して、判定変数を評価する。ステップ1030、1083、1085、1087、および1089は、図6のメトリック決定651の拡張である。これらの変数から、フェーズ選択器1090によって、適用可能フェーズが見出される。判定ステップ1091は、示されるように、テレシネビデオに逆処理を施すため、またはそれをデインタレースするために、適用可能フェーズを使用する。これは、図4のフェーズ検出器404の動作のより明示的な言明である。一態様では、図10の処理は、図4のフェーズ検出器404によって実行される。検出器404は、ステップ1030で開始して、図8を参照して上で説明されたプロセスによって複数のメトリックを決定し、ステップ1083、1085、1087、1089、1090、および1091を通って進む。
【0040】
流れ図1000は、現在のフェーズを推定するためのプロセスを示している。流れ図は、ステップ1083において、ブランチ情報を計算するために、決定されたメトリックおよび下方エンベロープ値を使用することを述べている。ブランチ情報は、先に説明されたユークリッド距離として認識することができる。ブランチ情報を生成するために使用できる例示的な式は、以下の式5〜式10である。ブランチ情報の量は、図12のブロック1209において計算される。
【0041】
処理されたビデオデータは、例えば、プロセッサに接続されるチップ構成記憶媒体(例えば、ROM、RAM)またはディスクタイプ記憶媒体(例えば、磁気的もしくは光学的)を含み得る、記憶媒体に保存することができる。いくつかの態様では、逆テレシネ406およびデインタレーサ405は各々、記憶媒体の一部または全部を含むことができる。ブランチ情報の量は、以下の式によって定義される。
【数5】
【数6】
【数7】
【数8】
【数9】
【数10】
【0042】
ブランチ計算のさらなる詳細が、図12のブランチ情報計算器1209に示されている。計算器1209に示されるように、ブランチ情報を生成するには、SADFSおよびSADSSの下方エンベロープ値である量LSと、SADPOの下方エンベロープ値である量LPと、SADCOの下方エンベロープ値である量LCを使用する。下方エンベロープは、HS、HP、およびHCを生成するために、ブランチ情報計算における距離オフセットとして単独で、または所定の定数Aと併せて使用される。それらの値は、以下で説明される下方エンベロープトラッカ(lower envelope tracker)において最新に維持される。Hオフセットは、以下のように定義される。
【数11】
【数12】
【数13】
【0043】
LS、LP、およびLCの値を追跡するプロセスが、図13A、図13B、および図13Cに提示されている。例えば、図11Aの1番上に示されたLPのための追跡アルゴリズム1300について考える。メトリックSADPOが、比較器1305において、LPの現在値にしきい値TPを加えた値と比較される。SADPOの方が大きければ、ブロック1315に示されるように、LPの現在値は変更されない。SADPOの方が小さければ、ブロック1313に示されるように、LPの新しい値は、SADPOとLPの線形結合になる。ブロック1315の別の態様では、LPの新しい値は、LP+TPになる。
【0044】
図13Bおよび図13Cの量LSおよびLCも、同様に計算される。同じ機能を有する図13A、図13B、および図13Cの処理ブロックは、同じ番号が振られているが、変数の異なる組に関して動作することを示すため、プライム符号(’または”)が添えられている。例えば、SADPOとLCの線形結合が形成される場合、その演算は、ブロック1313’に示される。LPの場合のように、1315’の別の態様は、LCをLC+TCによって置き換えたものである。
【0045】
しかし、LSの場合、この下方エンベロープは、SADFSおよびSADSSの両変数に適用されるので、代替として、図13Bのアルゴリズムは、各Xに順番にラベルを付けながら、SADFSおよびSADSSを処理する。SADFSおよびSADSSの値の交替は、ブロック1308でのSADFSの現在値が、ブロック1303においてXのロケーションに読み込まれた時と、それに続いて、ブロック1307でのSADSSの現在値が、ブロック1302においてXのロケーションに読み込まれた時とに発生する。LPの場合のように、1315”の別の態様は、LSをLS+TSによって置き換えたものである。現在の下方エンベロープ値をテストする際に使用される量Aおよびしきい値は、実験によって事前に決定される。
【0046】
図11は、図10のステップ1089を実行するための例示的なプロセスを示す流れ図である。図11は、全体として、判定変数を更新するためのプロセスを示している。メトリックから導き出された新しい情報を用いて更新される判定変数が(6つの可能な判定に対応して)6つ存在する。判定変数は、以下のようにして見出される。
【数14】
【数15】
【数16】
【数17】
【数18】
【数19】
【0047】
量αは、1(unity)より小さく、過去の値に対する判定変数の依存性を制限し、αの使用は、各ユークリッド距離の影響をそのデータが古くなるにつれて減少させていくことに等しい。流れ図1162では、更新される判定変数は、ライン1101、1102、1103、1104、1105、および1106上で利用可能であるとして、左側に列挙されている。フェーズ遷移経路の1つにおける判定変数の各々は、次にブロック1100の1つにおいて1より小さいαを乗じられ、その後、古い判定変数の減衰値がブランチ情報の現在値に加えられ、変数は、減衰判定変数がその上に存在するフェーズ遷移経路上の次のフェーズによってインデックス付けされる。これは、ブロック1110において行われる。変数D5は、ブロック1193において、量Δだけずらされ、Δは、ブロック1112において計算される。以下で説明されるように、この量は、このシステムによって決定されるフェーズの系列における不整合性を低減するように選択される。最小の判定変数が、ブロック1120において見出される。
【0048】
要約すると、各判定に固有の新しい情報が、現在の判定変数の値を得るために、αを乗じられた適切な判定変数の直前の値に加えられる。新しい判定は、新しいメトリックが手に入った時に行われることができ、したがって、この技法は、すべてのフレームのフィールド1および2を受け取った時に、新しい判定を行うことが可能である。これらの判定変数は、先に言及されたユークリッド距離の和である。
【0049】
適用可能フェーズは、最小の判定変数の下付文字を有するフェーズとなるように選択される。判定変数に基づいた判定は、図10のブロック1090において明示的に行われる。一定の判定が、判定空間において許容される。ブロック1091で説明されたように、これらの判定は、(i)適用可能フェーズがP5ではない−ビデオの逆テレシネ、(ii)適用可能フェーズがP5である−ビデオのデインタレース、である。
【0050】
メトリックは、本質的に変化しやすいビデオから引き出されるので、首尾一貫した判定の列には、時々誤りが存在することがある。この技法は、図7と整合性をもたないフェーズ系列を検出する。その動作が、図14に略述されている。アルゴリズム1400は、ブロック1405において現在のフェーズ判定の下付文字(=x)を、ブロック1406において直前のフェーズ判定の下付文字(=y)を保存する。ブロック1410において、x=y=5であるかどうかがテストされ、ブロック1411において、以下の値が、すなわち、
【数20】
【0051】
であるかどうかがテストされる。2つのテストのどちらかが肯定的な結果である場合、ブロック1420において、判定は整合的であると宣言される。どちらのテストも肯定的な結果でない場合、図11のブロック1193において示されたオフセットが、図15において計算され、P5に関連する判定変数であるD5に加えられる。
【0052】
D5に対する変更も、プロセス1500の一部として図15に現れており、プロセス1500は、フェーズの系列の不整合に対する補正アクションを提供する。流れ図1500のブロック1510における整合性テストが失敗したと仮定する。ブロック1510から延びる「NO」ブランチに沿って進むと、ブロック1514における次のテストは、すべてのi<5について、D5>Diかどうかであり、または代替として、i<5について、少なくとも1つの変数DiがD5より大きいかである。第1のケースが有効である場合、ブロック1516において、初期値がδ0であるパラメータδが、3δ0に変更される。第2のケースが有効である場合、ブロック1517において、δは4δ0に変更される。ブロック152Bにおいて、Δの値が更新されて、ΔBになり、ここで、
【数21】
【0053】
である。
【0054】
再びブロック15210に戻り、判定の列が整合的であると判断されたと仮定する。パラメータδは、ブロック15215において、
【数22】
【0055】
によって定義されるδ+に変更される。
【0056】
δの新しい値は、ブロック152Aにおいて、Δについての更新関係であるΔAに挿入される。これは
【数23】
【0057】
というものである。その後、Δの更新値が、ブロック1593において、判定変数D5に加えられる。
【0058】
図16は、ひとたびプルダウンフェーズが決定された後、逆テレシネプロセスがどのように進行するかを示している。この情報を用いて、フィールド1605および1605’は、ビデオの同じフィールドを表すものとして識別される。2つのフィールドは、一緒に平均され、フィールド1606と組み合わされて、フレーム1620を再構成する。再構成フレームは1620’である。同様のプロセスが、フレーム1622を再構成する。フレーム1621および1623に由来するフィールドは、重複していない。これらのフレームは、その第1および第2のフィールドを一緒に組み立てることによって再構成される。
【0059】
上で説明された態様では、新しいフレームが受け取られるたびに、メトリックの4つの新しい値が見出され、6つで1組の仮定が、新たに計算された判定変数を使用してテストされる。他の処理構造は、判定変数を計算するために適合させることができる。ビタビ復号器が、一緒に経路を構成するブランチのメトリックを足し合わせて、経路メトリックを形成する。ここで定義される判定変数は、同様の規則によって形成され、その各々は、新しい情報変数の「リーキーな(leaky)」和である。(リーキーな加算では、判定変数の直前の値は、1より小さい数を乗じられた後、それに新しい情報データが加えられる)。ビタビ復号器の構造は、この手順の動作をサポートするために変更することができる。
【0060】
本態様は、新しいフレームが1/30秒ごとに出現する従来のビデオの処理に関して説明されたが、このプロセスは、時間をさかのぼって記録され、処理されるフレームにも適用され得ることに留意されたい。判定空間は同じままであるが、入力フレームの系列の時間反転を反映する小さな変更が存在する。例えば、(ここに示される)時間反転モードでの首尾一貫したテレシネ判定の列
【数24】
【0061】
も、時間的に反転されている。
【0062】
第1の態様のこの変形の使用は、正当な判定を行う際に、判定プロセスを2回−1回は時間的に順方向(forward)で、もう1回は逆方向(backward)で−試みることを可能にする。2回の試みは、独立していないが、各試みがメトリックを異なる順序で処理する点で異なっている。
【0063】
このアイデアは、付加的に必要とされ得る将来のビデオフレームを保存するために維持されるバッファと併せて適用することができる。ビデオセグメントが処理の順方向において許容し得ない不整合な結果を与えることが見出された場合、手順は、バッファから将来のフレームを取り出し、逆方向にフレームを処理することによって、ビデオの難しいひと続きの範囲(stretch)を克服しようと試みる。
【0064】
本特許で説明されるビデオの処理は、PALフォーマットのビデオにも適用することができる。
【0065】
デインタレーサ
本明細書で使用される「デインタレーサ」は、プログレッシブマルチメディアデータを形成するためにインタレースマルチメディアデータを全体的にまたは重要な部分だけ処理する、(例えば、プロセスを実行するように構成されたソフトウェア、ファームウェア、またはハードウェアを含む)デインタレースシステム、デバイス、またはプロセスを示すのに使用できる広義の用語である。
【0066】
ビデオカメラや放送スタジオなどで従来どおりに生成される放送用ビデオは、米国ではNTSC規格に準拠している。ビデオを圧縮するための一般的な方法は、ビデオをインタレース化することである。インタレースデータでは、各フレームは、2つのフィールドの一方から構成される。一方のフィールドはフレームの奇数ラインから成り、他方は偶数ラインから成る。フレームは、約30フレーム/秒で生成されるが、フィールドは、1/60秒間隔のテレビカメラの画像の記録である。インタレースビデオ信号の各フレームは、画像の1つおきの水平ラインを示す。フレームが画面に投影されるとき、ビデオ信号は、偶数ラインと奇数ラインを交替で示す。これが十分に速く、例えば60フレーム毎秒で行われる場合、ビデオ画像は、人間の目には滑らかに見える。
【0067】
インタレースは、NTSC(米国)およびPAL(ヨーロッパ)フォーマットに基づいたアナログテレビ放送において、数10年にわたって使用されてきた。各フレームを用いて画像の半分だけしか送信しないので、インタレースビデオは、画像全体を送信するのに比べて、おおよそ半分の帯域幅しか使用しない。端末16の内部におけるビデオの最終的な表示フォーマットは、必ずしもNTSC互換であるとは限らず、インタレースデータを直ちに表示できるとは限らない。代わりに、最新のピクセルベースディスプレイ(例えば、LCD、DLP、LCOS、プラズマなど)は、プログレッシブ走査型であり、プログレッシブ走査されたビデオ源を表示する(一方、多くのより旧式のビデオデバイスは、より旧式のインタレース走査技法を使用する)。いくつかの一般に使用されるデインタレースアルゴリズムの例が、P.Haavisto、J.Juhola、Y.Neuvoの「Scan rate up−conversion using adaptive weighted median filtering」、Signal Processing of HDTV II、703〜710ページ、1990年と、R.Simonetti、S.Carrato、G.Ramponi、A.Polo Filisanの「Deinterlacing of HDTV Images for Multimedia Applications」、Signal Processing of HDTV IV、765〜772ページ、1993年に記載されている。
【0068】
デインタレースの性能を向上させるために単独でまたは組み合わせて使用でき、デインタレーサ405(図4)において使用できる、システムおよび方法のためのデインタレース態様の例が、以下で説明される。そのような態様は、第1の暫定デインタレースフレームを決定するために時空間フィルタリングを使用して選択フレームをデインタレースすることと、選択フレームから第2の暫定デインタレースフレームを決定するために双方向動き推定および動き補償を使用することと、その後、最終のプログレッシブフレームを形成するために第1および第2の暫定フレームを組み合わせることとを含むことができる。時空間フィルタリングは、水平エッジまたは水平エッジ付近のぼやけを防止する水平エッジ検出器を含むことができる、加重メディアンフィルタ(「Wmed」フィルタ)を使用することができる。「現在」フィールドの先行および後続近隣フィールドの時空間フィルタリングは、選択フレームの部分を、例えば、静止、遅い動き、および速い動きなど、異なる動きレベルに分類する強度動きレベルマップ(intensity motion-level map)を生成する。
【0069】
いくつかの態様では、強度マップは、5つの近隣フィールド(2つの先行フィールド、現在フィールド、および2つの後続フィールド)のピクセルを含むフィルタアパーチャを使用して、Wmedフィルタリングによって生成される。Wmedフィルタリングは、シーン変化ならびに出現および消失する物体を効果的に扱うことができる、前方(forward)、後方(backward)、および双方向静止領域検出を決定することができる。様々な態様では、Wmedフィルタは、フィールド間(inter-field)フィルタリングモードにおいて同じ偶奇性の1つまたは複数のフィールド間で利用することができ、またしきい値基準を微調整することによってフィールド内(intra-field)フィルタリングモードに切り換えられることができる。いくつかの態様では、動き推定および補償は、明るさレベルはほとんど均一であるが、色が異なる、選択フレームのデインタレース領域を改善するために、ルーマ(luma)(ピクセルの輝度または明るさ)およびクロマ(chroma)(ピクセルの色情報)データを使用する。動き推定の精度を高めるために、雑音低減フィルタが使用できる。雑音低減フィルタは、Wmedフィルタリングによって生成されたエイリアスアーチファクトを除去するために、Wmedデインタレース暫定フレームに適用することができる。以下で説明されるデインタレース方法およびシステムは、良好なデインタレース結果を生み出し、高速動作のデインタレース実施を可能にする比較的低い計算の複雑さを有し、セル電話、コンピュータ、およびディスプレイを利用する他のタイプの電子または通信デバイスにデータを提供するために使用されるシステムを含む、様々なデインタレース応用例にとってそのような実施を適したものにする。
【0070】
デインタレーサおよびデインタレース方法の態様が、マルチメディアデータをデインタレースするために使用される様々なコンポーネント、モジュール、および/またはステップを参照しながら本明細書で説明される。
【0071】
図17は、図4のデインタレーサ405として使用できるデインタレーサ1700の一態様を示すブロック図である。デインタレーサ1722は、インタレースデータの少なくとも一部を空間的および時間的(「時空間的」)にフィルタリングし、時空間情報を生成する、空間フィルタ1730を含む。例えば、空間フィルタ1730において、Wmedが使用できる。いくつかの態様では、デインタレーサ1700は、例えば、ワイナーフィルタ(Weiner filter)またはウェーブレット縮小フィルタ(wavelet shrinkage filter)など、雑音低減フィルタ(図示されず)も含む。デインタレーサ1700は、インタレースデータの選択フレームの動き推定および補償を提供し、動き情報を生成する、動き推定器1732も含む。結合器1734は、プログレッシブフレームを形成するために、時空間情報および動き情報を受け取り、それらを組み合わせる。
【0072】
図18は、デインタレーサ1700の別のブロック図である。デインタレーサ1700のプロセッサ1836が、空間フィルタモジュール1838と、動き推定モジュール1840と、結合器モジュール1842とを含む。外部源48からのインタレースマルチメディアデータは、デインタレーサ1700の通信モジュール44に提供されることができる。デインタレーサおよびそのコンポーネントまたはステップは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組み合わせによって実施することができる。例えば、デインタレーサは、スタンドアロンコンポーネントとすることができ、ハードウェア、ファームウェア、ミドルウェアとして別のデバイスのコンポーネントに組み込まれることができ、またはプロセッサ上で実行されるマイクロコードもしくはソフトウェアで実施することができ、あるいはそれらの組み合わせとすることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施される場合、デインタレーサタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などの機械可読媒体に保存することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組み合わせに相当することができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を受け渡し、および/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合されることができる。
【0073】
受け取られたインタレースデータは、例えば、プロセッサ1836に接続されるチップ構成記憶媒体(例えば、ROM、RAM)またはディスクタイプ記憶媒体(例えば、磁気的もしくは光学的)を含み得る、デインタレーサ1700の記憶媒体1846に保存することができる。いくつかの態様では、プロセッサ1836は、記憶媒体の一部または全部を含むことができる。プロセッサ1836は、プログレッシブフレームを形成するためにインタレースマルチメディアデータを処理するように構成され、その後、プログレッシブフレームは、別のデバイスまたはプロセスに提供される。
【0074】
テレビなどの従来のアナログビデオデバイスは、インタレース方式でビデオを描画し、すなわち、そのようなデバイスは、偶数番号の走査ライン(偶数フィールド)および奇数番号の走査ライン(奇数フィールド)を伝送する。信号サンプリングの観点からは、これは、
【数25】
【0075】
によって示されるパターンでの時空間サブサンプリングに等しく、ここで、Θは、元のフレーム画像を表し、Fは、インタレースフィールドを表し、(x,y,n)は、ピクセルの水平、垂直および時間位置をそれぞれ表す。
【0076】
一般性を失うことなく、本開示ではどこでも、n=0は偶数フィールドであると仮定することができ、その結果、式23は、
【数26】
【0077】
のように簡素化される。
【0078】
水平次元ではデシメーションは行われないので、サブサンプリングパターンは、次のn−y座標で表すことができる。図19では、円形および星形の両方が、元の全フレーム画像がサンプルピクセルを有する位置を表す。インタレースプロセスは、円形ピクセルをそのままに残しながら、星形ピクセルをデシメートする。垂直位置には0から始まるインデックス付けを施してあり、したがって、偶数フィールドが最上位フィールドであり、奇数フィールドが最下位フィールドであることに留意されたい。
【0079】
デインタレーサの目標は、インタレースビデオ(フィールドの系列)をインタレース化されていないプログレッシブフレーム(フレームの系列)に変換することである。言い換えると、全フレーム画像を「回復」または生成するために、偶数フィールドと奇数フィールドとで補間しあう。これは、式25によって表すことができ、
【数27】
【0080】
ここで、Fiは、喪失ピクセルについてのデインタレース結果を表す。
【0081】
図20は、インタレースマルチメディアデータからプログレッシブフレームを生成するためにWmedフィルタリングおよび動き推定を使用するデインタレーサの一態様のいくつかの側面を説明するブロック図である。図20の上側部分は、現在フィールドと、2つの先行フィールド(PPフィールドおよびPフィールド)と、2つの後続フィールド(次フィールドおよび次々フィールド)からの情報を使用して生成され得る、動き強度マップ2052を示している。動き強度マップ2052は、現在フレームを2つ以上の異なる動きレベルに分類または区分化し、以下本明細書でさらに詳細に説明される時空間フィルタリングによって生成することができる。いくつかの態様では、動き強度マップ2052は、式4〜8を参照しながら以下で説明されるように、静止領域、遅い動き領域、および速い動き領域を識別するために生成される。空間/時間フィルタ、例えばWmedフィルタ2054は、動き強度マップに基づいた基準を使用してインタレースマルチメディアデータをフィルタリングし、時空間暫定デインタレースフレームを生成する。いくつかの態様では、Wmedフィルタリングプロセスは、水平近傍[−1,1]と、垂直近傍[−3,3]と、Z−1が1フィールド分の遅延を表す図20に示される5つのフィールド(PPフィールド、Pフィールド、現在フィールド、次フィールド、次々フィールド)によって表される5つの隣接フィールドからなる時間近傍を含む。現在フィールドに対して、次フィールドおよびPフィールドは、偶奇性が一致しないフィールドであり、PPフィールドおよび次々フィールドは、偶奇性が一致するフィールドである。時空間フィルタリングに関して使用される「近傍」は、フィルタリング動作中に実際に使用されるフィールドおよびピクセルの空間的および時間位置を指し、例えば図21および図22に示されるように、「アパーチャ」として示すことができる。
【0082】
デインタレーサは、雑音低減器(雑音低減フィルタ)2056も含むことができる。雑音低減器2056は、Wmedフィルタ2056によって生成された時空間暫定デインタレースフレームをフィルタリングするように構成される。時空間暫定デインタレースフレームの雑音低減は、源のインタレースマルチメディアデータ系列が白色雑音によって汚染されている場合は特に、後続の動き探索プロセスをより正確なものにする。雑音低減は、Wmed画像における偶数行と奇数行の間のエイリアスを少なくとも部分的に除去することもできる。雑音低減器2056は、やはり以下本明細書でさらに説明される、ウェーブレット縮小およびウェーブレットワイナーフィルタベースの雑音低減器を含む、様々なフィルタとして実施することができる。
【0083】
図20の下側部分は、インタレースマルチメディアデータの動き情報(例えば、動きベクトル候補、動き推定、動き補償)を決定する一態様を示している。特に、図20は、選択フレームの動き補償を施した暫定プログレッシブフレームを生成し、その後、それをWmed暫定フレームと組み合わせて、デインタレース現在フレーム2064として示された結果の「最終」プログレッシブフレームを形成するために使用される、動き推定および動き補償方式を説明している。いくつかの態様では、インタレースマルチメディアデータの動きベクトル(「MV」)候補(または推定)が、外部の動き推定器からデインタレーサに提供され、双方向動き推定器および補償器(「ME/MC」)2068に開始点を提供するために使用される。いくつかの態様では、MV候補選択器2072は、処理されるブロックのMV候補のために、例えば、デインタレース先行フレーム2070内のブロックといった以前に処理されたブロックのMVなど、近隣ブロックのために以前に決定されたMVを使用する。動き補償は、先行デインタレースフレーム70および次(例えば将来)のWmedフレーム2058に基づいて、双方向で行われることができる。現在Wmedフレーム2060および動き補償(「MC」)現在フレーム2066は、結合器2062によって合併され、または組み合わされる。結果のデインタレース現在フレーム2064は、今ではプログレッシブフレームであり、デインタレース先行フレーム2070として使用されるために、ME/MC2068に戻され、例えば圧縮および表示端末への伝送など、さらなる処理のために、デインタレーサの外部へも伝達される。図20に示された様々な態様が、以下でより詳細に説明される。
【0084】
図25は、インタレースフレームの系列からプログレッシブフレームの系列を生成するようにマルチメディアデータを処理するためのプロセス2500を示している。一態様では、プログレッシブフレームは、図4に示されたデインタレーサ405によって生成される。ブロック2502において、プロセス2500(プロセス「A」)は、選択フレームの時空間情報を生成する。時空間情報は、マルチメディアデータの動きレベルを分類し、動き強度マップを生成するために使用される情報を含むことができ、Wmed暫定デインタレースフレームおよびそのフレームを生成するために使用される情報(例えば、式26〜式33で使用される情報)を含む。このプロセスは、図20の上側部分に示されるようなWmedフィルタ2054と、以下でさらに詳細に説明されるその関連処理とによって実行することができる。図26に示されるプロセスAでは、ブロック2602において、領域が、以下でさらに説明されるように、異なる動きレベルのフィールドに分類される。
【0085】
次にブロック2504(プロセス「B」)において、プロセス2500は、選択フレームの動き補償情報を生成する。一態様では、図20の下側部分に示された双方向動き推定器/動き補償器2068が、このプロセスを実行することができる。プロセス2500は、その後、ブロック2506に進み、選択フレームに関連するプログレッシブフレームを形成するために、時空間情報および動き補償情報に基づいて、選択フレームのフィールドをデインタレースする。これは、図20の下側部分に示された結合器2062によって実行することができる。
【0086】
動き強度マップ
各フレームについて、現在フィールドのピクセルを処理して、異なる「動き」の領域を決定することによって、動き強度マップ2052が決定できる。3つのカテゴリの動き強度マップを決定する例示的な一態様が、図21〜図24を参照しながら以下で説明される。動き強度マップは、同じ偶奇性フィールドと異なる偶奇性フィールドのピクセルの比較に基づいて、各フレームの領域を、静止領域、遅い動き領域、および速い動き領域として指示することができる。
【0087】
静止領域
動きマップの静止領域の決定は、あるピクセルのルミナンス差がある基準を満たすかどうかを決定するために、隣接フィールドの近傍内のピクセルを処理することを備える。いくつかの態様では、動きマップの静止領域の決定は、あるピクセルのルミナンス差があるしきい値を満たすかどうかを決定するために、5つの隣接フィールド(現在フィールド(C)、現在フィールドより時間的に前の2つのフィールド、および現在フィールドより時間的に後の2つのフレーム)の近傍内のピクセルを処理することを備える。これらの5つのフィールドは、Z−1が1フィールド分の遅延を表す図20に示されている。言い換えると、5つの隣接フィールドは一般に、Z−1の遅延時間を有するそのような系列で表示される。
【0088】
図21は、いくつかの態様による、時空間フィルタリングのために使用できる、5つのフィールドの各々のあるピクセルを識別するアパーチャを示している。アパーチャは、左から右に向かって、先々フィールド(PP)、先行フィールド(P)、現在フィールド(C)、次フィールド(N)、および次々フィールド(NN)の3×3ピクセルグループを含む。いくつかの態様では、現在フィールドの領域は、それが、図21に示されるピクセル位置および対応フィールドについて、式26〜式28に示される基準
【数28】
【0089】
かつ
【数29】
【0090】
または
【数30】
【0091】
を満たす場合、動きマップにおいて静止と見なされ、ここで、
T1はしきい値、
LPはPフィールド内に位置するピクセルPのルミナンス、
LNはNフィールド内に位置するピクセルNのルミナンス、
LBは現在フィールド内に位置するピクセルBのルミナンス、
LEは現在フィールド内に位置するピクセルEのルミナンス、
LBPPはPPフィールド内に位置するピクセルBPPのルミナンス、
LEPPはPPフィールド内に位置するピクセルEPPのルミナンス、
LBNNはNNフィールド内に位置するピクセルBNNのルミナンス、および
LENNはNNフィールド内に位置するピクセルENNのルミナンス
である。
【0092】
しきい値T1は、事前決定され、特定の値に設定されることができ、デインタレース以外のプロセスによって決定され、(例えば、デインタレースされるビデオ用のメタデータとして)提供されることができ、またはデインタレースの最中に動的に決定されることができる。
【0093】
上の式26、式27、式28に示された静止領域基準は、少なくとも2つの理由で、従来のデインタレース技法よりも多くのフィールドを使用する。第1に、偶奇性が同じフィールド間の比較は、偶奇性が異なるフィールド間の比較よりも低いエイリアスおよびフェーズミスマッチを有する。しかし、処理されるフィールドと偶奇性が同じ直近の近隣フィールドとの間の最小時間差(したがって相関)は、2フィールド分であり、偶奇性が異なる近隣フィールドとの最小時間差よりも大きい。より信頼性の高い偶奇性が異なるフィールドとよりエイリアスが低い偶奇性が同じフィールドとの組み合わせは、静止領域検出の精度を向上させることができる。
【0094】
加えて、5つのフィールドは、図21に示されるように、現在フィールドCのピクセルXに対して過去および将来に対称的に分散させることができる。静止領域は、前方静止(先行フレームに対して静止)、後方静止(次フレームに対して静止)、または双方向静止(前方および後方基準がともに満たされる場合)の3つのカテゴリに細分することができる。静止領域のこのより精細な分類は、シーン変化時および物体の出現/消失時に特に性能を向上させることができる。
【0095】
遅い動き領域
動きマップの領域は、あるピクセルのルミナンス値が、静止領域を指示する基準を満たさないが、遅い動き領域を指示する基準を満たす場合、動きマップにおける遅い動き領域と見なすことができる。以下の式29は、遅い動き領域を決定するために使用できる基準を定義する。図22を参照すると、式29で識別されるピクセルIa、Ic、Ja、Jc、Ka、Kc、La、Lc、P、Nの位置が、ピクセルXを中心とするアパーチャ内に示されている。アパーチャは、現在フィールド(C)の3×7ピクセル近傍と、次フィールド(N)および先行フィールド(P)の3×5近傍とを含む。ピクセルXは、それが静止領域用の上に列挙された基準を満たさず、アパーチャ内のピクセルが式29に示される以下の基準
【数31】
【0096】
を満たす場合、遅い動き領域の部分であると見なされ、ここで、
T2はしきい値、
LIa、LIc、LJa、LJc、LJa、LJc、LKa、LKc、LLa、LLc、LP、LNは、それぞれピクセルIa、Ic、Ja、Jc、Ka、Kc、La、Lc、P、Nのルミナンス値である。
【0097】
しきい値T2はやはり、事前決定され、特定の値に設定されることができ、デインタレース以外のプロセスによって決定され、(例えば、デインタレースされるビデオ用のメタデータとして)提供されることができ、またはデインタレースの最中に動的に決定されることができる。
【0098】
フィルタは、角度に依存するエッジ検出能力のため、水平な(例えば、垂直線となす角度が45°より大きい)エッジをぼやけさせ得ることに留意されたい。例えば、図22に示されるアパーチャ(フィルタ)のエッジ検出能力は、ピクセル「A」および「F」、または「C」および「D」によって形成される角度によって影響される。そのような角度よりも水平などのようなエッジも、最適に補間されず、したがって、そのようなエッジにおいて、階段状アーチファクトが出現することがある。いくつかの態様では、遅い動きカテゴリは、このエッジ検出結果を考慮するために、「水平エッジ」と「その他」という2つのサブカテゴリに分割することができる。遅い動きピクセルは、以下に示される式30の基準が満たされる場合、水平エッジとして分類され、式30の基準が満たされない場合、いわゆる「その他」カテゴリに分類されることができる。
【数32】
【0099】
ここで、T3はしきい値であり、LA、LB、LC、LD、LE、LFは、ピクセルA、B、C、D、E、Fのルミナンス値である。
【0100】
水平エッジおよびその他カテゴリの各々に対して、異なる補間方法が使用できる。
【0101】
速い動き領域
静止領域用の基準および遅い動き領域用の基準が満たされない場合、ピクセルは、速い動き領域にあると見なすことができる。
【0102】
選択フレームのピクセルを分類した後、プロセスA(図26)は、ブロック2604に進み、動き強度マップに基づいて暫定デインタレースフレームを生成する。この態様では、Wmedフィルタ2054(図20)は、以下のように定義され得る候補全フレーム画像F0を提供するために、選択フィールドおよび必要な隣接フィールドをフィルタリングし、
【数33】
【0103】
ここで、αi(i=0,1,2,3)は、以下のように計算される整数重みである。
【数34】
【数35】
【0104】
Wmedフィルタリングを施された暫定デインタレースフレームは、図20の下側部分に示されるように、動き推定および動き補償処理と協力するさらなる処理に提供される。
【0105】
上で説明され、式31に示されるように、静止補間は、フィールド間補間を備え、遅い動きおよび速い動き補間は、フィールド内補間を備える。偶奇性が同じフィールドの時間的(例えばフィールド間)補間が望ましくないある種の態様では、時間的補間は、しきい値T1(式4〜式6)をゼロ(T1=0)に設定することによって、「使用不可」にすることができる。時間的補間を使用不可とした現在フィールドの処理は、動きレベルマップのどの領域も静止として分類しないという結果をもたらし、Wmedフィルタ2054(図20)は、図22のアパーチャ内に示された3つのフィールドを使用し、現在フィールドと2つの隣接する偶奇性が異なるフィールド上で動作する。
【0106】
雑音低減
ある態様では、候補Wmedフレームが動き補償情報を使用してさらに処理される前に、候補Wmedフレームから雑音を除去するために、雑音低減器が使用できる。雑音低減器は、Wmedフレームに存在する雑音を除去し、信号の周波数内容に関わらず信号を存続させることができる。ウェーブレットフィルタを含む様々なタイプの雑音低減フィルタが使用できる。ウェーブレットは、空間およびスケーリングドメイン(scaling domain)の両方において、与えられた信号を局在化するために使用される関数のクラスである。ウェーブレットの背後の基本的アイデアは、ウェーブレット表現における小さな変化が、元の信号における対応する小さな変化を生み出すように、異なるスケールまたは解像度で信号を分析することである。
【0107】
いくつかの態様では、雑音低減フィルタは、(4,2)双直交3次Bスプラインウェーブレットフィルタ((4, 2) biorthogonal cubic B-spline wavelet filter)の一態様に基づく。1つのそのようなフィルタは、以下の順変換および逆変換
【数36】
【0108】
および
【数37】
【0109】
によって定義することができる。
【0110】
雑音低減フィルタの適用は、雑音の多い環境において動き補償の精度を高めることができる。ビデオ系列内の雑音は、加法性白色ガウスであると仮定される。雑音の推定分散は、σによって表される。それは、0.6745で除算された最高周波数サブバンド係数の中央値絶対偏差として推定することができる。そのようなフィルタの実施は、D.L.Donoho、I.M.Johnstoneの「Ideal spatial adaptation by wavelet shrinkage」、Biometrika、vol.8、425〜455ページ、1994年においてさらに説明されており、同文献は、参照によりその全体が本明細書に組み込まれる。
【0111】
ウェーブレット縮小またはウェーブレットワイナーフィルタも、雑音低減器として適用することができる。ウェーブレット縮小雑音低減は、ウェーブレット変換ドメインを縮小することを含むことができ、一般に、線形ウェーブレット順変換、非線形縮小雑音低減、および線形ウェーブレット逆変換の3つのステップを備える。ワイナーフィルタは、加法性雑音およびぼやけによって劣化した画像を改善するために使用できる、MSE最適線形フィルタである。そのようなフィルタは、当技術分野において一般に知られており、例えば、上で参照した「Ideal spatial adaptation by wavelet shrinkage」、およびS.P.Ghael、A.M.Sayeed、R.G.Baraniukの「Improvement Wavelet denoising via empirical Wiener filtering」、Proceedings of SPIE、vol 3169、389〜399ページ、San Diego、1997年7月で説明されている。
【0112】
動き補償
図27を参照すると、ブロック2702において、プロセスBは、双方向動き推定を実行し、次にブロック104において、動き推定を使用して、図20にさらに図示され、以下本明細書の例示的な態様で説明される、動き補償を実行する。Wmedフィルタと動き補償ベースのデインタレーサの間には1フィールド分の「遅れ」が存在する。現在フィールド「C」の「喪失」データ(本来の行ではない行(non-original rows)のピクセルデータ)についての動き補償情報は、図23に示されるような、先行フレーム「P」および次フレーム「N」の両方の情報から予測される。現在フィールド(図23)では、実線は、本来のピクセルデータが存在する行を表し、破線は、Wmed補間ピクセルデータが存在する行を表す。ある態様では、動き補償は、4行×8列のピクセル近傍において実行される。しかし、このピクセル近傍は、説明を目的とした一例であり、動き補償が、異なる数の行および異なる数の列を備えるピクセル近傍に基づいた他の態様において実行され得ること、それらの選択が、例えば、計算スピード、利用可能な処理能力、またはデインタレースされるマルチメディアデータの特性を含む、多くの要因に基づき得ることは、当業者には明らかであろう。現在フィールドは、行の半分しかもたないので、照合される4行は、実際には8ピクセル×8ピクセルの領域に対応する。
【0113】
図20を参照すると、双方向ME/MC2068は、Wmed現在フレーム2060をWmed次フレーム2058およびデインタレース現在フレーム2070と比較するために、予測ブロックと予測ブロックの間の類似性を測定するために使用できる、2乗誤差の和(SSE)を使用することができる。動き補償を施された現在フレーム2066の生成は、その後、最も類似する照合ブロックからのピクセル情報を使用して、本来のピクセル行の間の喪失データの箇所を埋める。いくつかの態様では、双方向ME/MC2068は、デインタレース先行フレーム2070の情報からのピクセル情報にバイアスをかけ、またはより大きな重みを与えるが、それは、デインタレース先行フレーム2070は、動き補償情報およびWmed情報によって生成されるのに対し、Wmed次フレーム2058は、時空間フィルタリングによってデインタレースされたに過ぎないからである。
【0114】
いくつかの態様では、ルーマは同様だがクロマが異なる領域を有するフィールドの領域における照合性能を改善するため、1つまたは複数のルーマグループオブピクセル(luma group of pixels)(例えば、1つの4行×8列のルーマブロック)および1つまたは複数のクロマグループオブピクセル(chroma group of pixels)(例えば、2つの2行×4列のルーマブロックU、V)のピクセル値の寄与を含むメトリックが使用できる。そのような手法は、色敏感領域におけるミスマッチを効果的に減少させる。
【0115】
動きベクトル(MV)は、垂直次元において1/2ピクセルの粒度を有し、水平次元において1/2または1/4ピクセルの粒度を有する。分数ピクセルサンプルを取得するため、補間フィルタが使用できる。例えば、半ピクセルサンプルを取得するために使用できるいくつかのフィルタは、双1次フィルタ(1,1)、H.263/AVCによって推奨される補間フィルタ(1,−5,20,20,−5,1)、および6タップハミング窓sinc関数フィルタ(3,−21,147,147,−21,3)を含む。1/4ピクセルサンプルは、双1次フィルタを適用することによって、全および半ピクセルサンプルから生成することができる。
【0116】
いくつかの態様では、動き補償は、現在フレームのある位置におけるデータ(例えば、物体の描画)を別のフレーム(例えば、次フレームまたは先行フレーム)の異なる位置における対応データと照合するために、様々なタイプの探索プロセスを使用することができ、それぞれのフレーム内の位置の差は、物体の運きを示している。例えば、探索プロセスは、より大きな探索領域をカバーできるフルモーション探索、またはより少ないピクセルおよび/もしくは例えばひし形などの特定の形を有することができる探索パターンにおいて使用される選択ピクセルを使用できる高速モーション探索を使用する。高速モーション探索の場合、探索領域の中心は、隣接フレームを探索するための開始点として使用できる動き推定または動き候補に置くことができる。いくつかの態様では、MV候補は、外部の動き推定器で生成され、デインタレーサに提供されることができる。先に動き補償を施された隣接フレーム内の対応する近傍に属するマクロブロックの動きベクトルも、動き推定として使用することができる。いくつかの態様では、MV候補は、対応する先行フレームおよび次フレームのマクロブロック近傍(例えば、3マクロブロック×3マクロブロック)を探索することから生成することができる。
【0117】
図24は、図23に示されるような先行フレームおよび次フレームの近傍を探索することによって、動き推定/補償の最中に生成され得る、2つのMVマップであるMVPおよびMVNの例を示している。MVPおよびMVNの両方において、動き情報を決定するために処理されるブロックは、「X」によって表される中央ブロックである。MVPおよびMVNの両方に、処理される現在ブロックXの動き推定の最中に使用できる、9つのMV候補が存在する。この例では、先に実行された動き探索からの4つのMV候補が同じフィールド内に存在し、MVPおよびMVN(図24)において、より薄い色のブロックによって示されている。より濃い色のブロックによって示される他の5つのMV候補は、先に処理されたフレームの動き情報からコピー(またはマップ)されたものである。
【0118】
動き推定/補償が完了した後、Wmedフィルタによって生成された1つの補間結果(図20のWmed現在フレーム2060)と、動き補償器の動き推定処理によって生成されたもう1つの補間結果(MC現在フレーム2066)の、2つの補間結果は、喪失ラインをもたらす。結合器2062は一般に、現在デインタレースフレーム2064を生成するために、Wmed現在フレーム2060およびMC現在フレーム2066の少なくとも一部を使用することによって、Wmed現在フレーム2060とMC現在フレーム2066とを合併する。しかし、ある条件下では、結合器2062は、現在フレーム2060またはMC現在フレーム2066の一方だけを使用して、現在デインタレースフレームを生成することができる。一例では、結合器2062は、デインタレース出力信号を生成するために、式36に示されるように、Wmed現在フレーム2060とMC現在フレーム2066とを合併し、
【数38】
【0119】
ここで、
【数39】
【0120】
は、フィールドniの位置x=(x,y)tにおけるルミナンス値のために使用され、tは転置を表す。
【数40】
【0121】
として定義されるクリップ関数を使用すると、kiは、
【数41】
【0122】
として計算することができ、ここで、C1は、頑健なパラメータであり、Diffは、予測フレームピクセルと(既存フレームから取られた)予測フレーム内の利用可能ピクセルのルーマ差である。C1を適切に選択することによって、平均2乗誤差の相対重要度を調整することが可能である。k2は、式39に示されるように計算することができ、
【数42】
【0123】
ここで、
【数43】
【0124】
は、動きベクトルであり、δは、ゼロによる除算を防止するための小さな定数である。フィルタリングのためにクリップ関数を使用するデインタレースは、G.D.Haan、E.B.Bellersの「De−interlacing of video data」、IEEE Transactions on Consumer Electronics、Vol.43、No.3、819〜825ページ、1997年においてさらに説明されており、同文献は、その全体が本明細書に組み込まれる。
【0125】
いくつかの態様では、結合器2062は、高いPSNRおよび頑健な結果を達成するために、以下の式を試し、維持するように構成することができる。
【数44】
【0126】
フィールド間補間を備えるデインタレース予測方式を、Wmed+MCデインタレース方式を用いるフィールド内補間から切り離すことが可能である。言い換えると、時空間Wmedフィルタリングは、主にフィールド内補間目的で使用することができ、一方、フィールド間補間は、動き補償の最中に実行することができる。これは、Wmed結果のピークSN比を低下させるが、不正確なフィールド間予測モード判定からの不良ピクセルが、Wmedフィルタリングプロセスから除去されるので、動き補償が適用された後の視覚的品質は、より好ましい。
【0127】
クロマ処理は、共存するルーマ処理と整合的であることができる。動きマップ生成に関して、クロマピクセルの動きレベルは、4つの共存するルーマピクセルの動きレベルを観測することによって取得される。操作は、ボーティング(voting)に基づくことができる(クロマ動きレベルは優勢なルーマ動きレベルを借用する)。しかし、発明者らは、以下のような従来の手法を使用することを提案する。4つのルーマピクセルのいずれか1つが速い動きレベルを有する場合、クロマ動きレベルは速い動きであり、それ以外で、4つのルーマピクセルのいずれか1つが遅い動きレベルを有する場合、クロマ動きレベルは遅い動きであり、それ以外では、クロマ動きレベルは静止である。従来の手法は、最高のPSNRを達成しないこともあるが、クロマ動きレベルにあいまい性が存在する場合常にINTER予測を使用するリスクを回避する。
【0128】
マルチメディアデータ系列は、説明されたWmedアルゴリズムを単独で使用して、ならびに本明細書で説明されたWmedおよび動き補償を組み合わせたアルゴリズムを使用してデインタレースされる。同じマルチメディアデータ系列は、ピクセルブレンディング(または平均)アルゴリズムを使用してもデインタレースされ、「デインタレースなし」の場合には、どのような補間またはブレンディングも伴わずにフィールドが単に組み合わされる。結果のフレームが、PSNRを決定するために分析され、以下の表に示されている。
【表1】
【0129】
Wmedに加えてMCを使用してデインタレースを行ったことによるPSNRの改善が不十分なものに過ぎないとしても、上で言及されたように、Wmed結果とMC結果の組み合わせは、偶数フィールドと奇数フィールドの間のエイリアスおよび雑音を抑制するので、WmedおよびMC補間結果を組み合わせることによって生成されるデインタレース画像の視覚的品質はより好ましい。
【0130】
いくつかのリサンプリング態様では、画像サイズのリサイズのために、多相リサンプラが実施される。ダウンサンプリングの一例では、元の画像とリサイズ画像の間の比は、p/qとすることができ、ここで、pおよびqは、互いに素の整数である。相の総数はpである。いくつかの態様では、リサイズ係数が約0.5である場合、多相フィルタのカットオフ周波数は0.6である。カットオフ周波数は、リサイズ系列の高周波数応答を引き上げるために、リサイズ比と正確には一致しない。これは必然的にいくらかのエイリアスを許容する。しかし、人間の目は、エイリアスなしのぼやけた画像よりも、僅かにエイリアスがあっても鮮明な画像のほうを好むことがよく知られている。
【0131】
図42は、リサイズ比が3/4である場合の相を示す、多相リサンプリングの一例を示している。図42に示されるカットオフ周波数も3/4である。元のピクセルは、垂直軸を用いて上述の図42に示されている。フィルタ波形を表すために、軸を中心にしてsinc関数も描かれている。リサンプリング比と正確に同じになるようにカットオフ周波数を選択したため、sinc関数のゼロは、×印を用いて図42に示されるように、リサイズ後のピクセルの位置と重なり合っている。リサイズ後のピクセル値を見出すため、以下の式に示されるように、元のピクセルからの寄与が合計されることができ、
【数45】
【0132】
ここで、fcはカットオフ周波数である。上述のI−D多相フィルタは、水平次元および垂直次元の両方に適用することができる。
【0133】
リサンプリング(リサイズ)の別の態様は、オーバスキャンを考慮する。NTSCテレビ信号では、画像は、486本の走査線を有し、ディジタルビデオでは、各走査線上に720個のピクセルを有することができる。しかし、画像全体の必ずしもすべてが、サイズと画面形式の間のミスマッチのため、テレビ上で可視となるわけではない。可視とならない画像の部分は、オーバスキャンと呼ばれる。
【0134】
放送者ができるだけ多くのテレビによって可視となる領域に有用な情報を置くための助けとなるように、映画テレビ技術者協会(SMPTE:Society of Motion Picture & Television Engineers)は、セーフアクション領域およびセーフタイトル領域と呼ばれるアクションフレームの特定のサイズを定義した。Specifications for Safe Action and Safe Title Areas Test Pattern for Television SystemsのSMPTE推奨実践RP27.3−1989を参照されたい。セーフアクション領域は、「すべての重要なアクションが起こらなければならない」領域としてSMPTEによって定義されている。セーフタイトル領域は、「すべての有用な情報をそこに収めることで大多数の家庭用テレビ受像機における可視性を保証することができる」領域として定義されている。例えば、図43に示されるように、セーフアクション領域4310は、画面の中央90%を占有し、その全周囲に5%の縁領域を残す。セーフタイトル領域4305は、画面の中央80%を占有し、10%の縁領域を残す。図。
【0135】
ここで図44を参照すると、セーフタイトル領域は非常に小さいので、画像により多くの内容を追加するため、いくつかの放送は、白い長方形ウィンドウ4415内部のセーフアクション領域にテキストを含める。通常、オーバスキャンにおいては、黒い縁領域が見えることがある。例えば、図44では、黒い縁領域が、画像の上辺4420および下辺4425に現れている。H.264ビデオは、動き推定において境界拡張を使用するので、これらの黒い縁領域は、オーバスキャンにおいて除去することができる。拡張された黒い縁領域は、残余を大きくすることができる。控えめに、境界を2%だけカットし、その後、リサイズを行うことができる。リサイズ用のフィルタは、しかるべく生成することができる。多相ダウンサンプリングの前にオーバスキャンを除去するために、トランケーションが実行される。
【0136】
デブロッキング/デリンギング
デブロッキング処理の一例では、デブロッキングフィルタは、フレームの境界のエッジと、デブロッキングフィルタが使用不可であるエッジとを除いて、フレームのすべての4×4ブロックエッジに適用することができる。このフィルタリングプロセスは、フレーム構成プロセスの完了後に、マクロブロックに基づいて実行され、フレーム内のすべてのマクロブロックが、マクロブロックアドレスの昇順で処理される。各マクロブロックについて、最初に垂直エッジが、左から右にフィルタリングされ、次に水平エッジが、上から下にフィルタリングされる。図39に示されるように、水平方向および垂直方向に関して、ルーマデブロッキングフィルタプロセスは、4つの16サンプルエッジ上で実行され、各クロマ成分用のデブロッキングフィルタプロセスは、2つの8サンプルエッジ上で実行される。先行マクロブロック上でのデブロッキングプロセス操作によってすでに変更されている場合がある、現在マクロブロックの上方および左方のサンプル値は、現在マクロブロック上でのデブロッキングフィルタプロセスへの入力として使用され、現在マクロブロックのフィルタリングの最中にさらに変更されることがある。垂直エッジのフィルタリングの最中に変更されたサンプル値は、同じマクロブロックの水平エッジのフィルタリングのための入力として使用することができる。デブロッキングプロセスは、ルーマ成分用およびクロマ成分用に別々に起動することができる。
【0137】
デリンギング処理の一例では、エッジ付近の領域を平滑化するために、2−Dフィルタが適応的に適用されることができる。エッジピクセルは、ぼやけを回避するために、フィルタリングを僅かしか施されず、または全く施されない。
【0138】
GOPパーティショナ
帯域幅マップ生成、ショット検出、および適応GOP区分化を含む処理の説明的な例が、以下で説明され、そのような処理は、GOPパーティショナに含まれることができる。
【0139】
帯域幅マップ生成
人間の視覚品質Vは、符号化の複雑さCおよび割り当てられたビットB(帯域幅とも呼ばれる)の両方の関数とすることができる。図29は、この関係を示すグラフである。符号化の複雑さメトリックCが、人間の視覚の観点から時空間周波数を考慮していることに留意されたい。ひずみの場合、人間の目がより敏感に捉えるほど、複雑さの値も対応してより高くなる。VがCについて単調減少し、Bについて単調増加することを一般に仮定することができる。
【0140】
一定した視覚品質を達成するため、すぐ下の2つの式で表現される基準を満たす帯域幅(Bi)が、符号化される第iオブジェクト(フレームまたはMB)に割り当てられる。
【数46】
【数47】
【0141】
すぐ上の2つの式では、Ciは、第iオブジェクトの符号化の複雑さ、Bは、利用可能な総帯域幅、Vは、オブジェクトに関して達成された視覚品質である。
【0142】
人間の視覚品質は、式として定式化するのが難しい。したがって、上記の式の組は、正確に定義されたものではない。しかし、3−Dモデルがすべての変数で連続的であると仮定するならば、比帯域(Bi/B)は、(C,V)対の近傍内では変化がないものとして扱うことができる。比帯域βiは、以下に示される式で定義される。
【数48】
【0143】
ビット割り当ては、以下の式で表現されるように定義することができる。
【数49】
【0144】
ここで、δは、「近傍」を表す。
【0145】
符号化の複雑さは、空間的および時間的に、人間の視覚感度によって影響される。ジロ(Girod)の人間の視覚モデルは、空間複雑さを定義するために使用できるモデルの一例である。このモデルは、局所空間周波数および周囲照明を考慮する。結果のメトリックは、Dcsatと呼ばれる。プロセスの前処理時点において、画像がイントラ符号化されるか、それともインター符号化されるかは分からないので、両方についての比帯域が生成される。ビットは、異なるビデオオブジェクトのβINTRAの間の比に従って割り当てられる。イントラ符号化画像の場合、比帯域は、以下の式で表現される。
【数50】
【0146】
上記の式において、Yは、マクロブロックの平均ルミナンス成分、αINTRAは、ルミナンスの2乗に対する加重係数であり、それにDcsat項が続き、β0INTRAは、
【数51】
【0147】
を保証するための正規化係数である。例えば、αINTRA=4という値は、良好な視覚品質を達成する。コンテンツ情報(例えば、コンテンツ分類)は、ビデオの特定のコンテンツにとって望ましい良好な視覚品質レベルに対応する値にαINTRAを設定するために使用することができる。一例では、ビデオコンテンツが「語り手の顔が現れる」ニュース放送を備える場合、ビデオの情報画像または表示可能部分は音声部分よりも重要性が低いと見なすことができるので、視覚品質レベルはより低く設定することができ、データを符号化するために、より少ないビットを割り当てることができる。別の例では、ビデオコンテンツがスポーツイベントを備える場合、表示画像は視聴者にとってより重要であり得るので、より高い視覚品質レベルに対応する値にαINTRAを設定するために、コンテンツ情報が使用でき、したがって、データを符号化するために、より多くのビットを割り当てることができる。
【0148】
この関係を理解するため、帯域幅が符号化の複雑さの対数に応じて割り当てられることに留意されたい。ルミナンスの2乗項Yは、大きさがより大きい係数ほど符号化するのにより多くのビットを使用するという事実を反映している。対数が負の値を取ることを防止するため、括弧内の項に1が追加される。他の底をもつ対数も使用することができる。
【0149】
時間複雑さは、絶対差の和(SAD)などのフレーム差分メトリックに加えて動きの量(例えば動きベクトル)を考慮した2つの連続するフレームの間の差を測定するフレーム差分メトリックの測定によって決定される。
【0150】
インター符号化画像のビット割り当ては、空間複雑さに加えて時間複雑さも考慮することができる。これは以下のように表現される。
【数52】
【0151】
上記の式において、MVPおよびMVNは、現在のMBの順方向および逆方向動きベクトルである。イントラ符号化の帯域幅公式におけるY2は2乗残差の和(SSD)によって置き換えられていることに留意されたい。上記の式における‖MVP+MVN‖2の役割を理解するため、人間の視覚系の次の特徴、すなわち、平滑で予測可能な動きを経験している領域(小さな‖MVP+MVN‖2)は、注意を引き、目によって追跡することができ、一般に静止領域と同程度のひずみにしか耐えることができないという特徴に留意されたい。しかし、速いまたは予測不可能な動きを経験している領域(大きな‖MVP+MVN‖2)は、追跡することができず、相当な量子化に耐えることができる。実験は、αINTER=1、γ=0.001が良好な視覚品質を達成することを示した。
【0152】
ショット検出
ショット検出の説明的な一例が以下で説明される。そのようなコンポーネントおよびプロセスは、GOPパーティショナ412(図4)内に含まれることができる。
【0153】
動き補償器23は、ビデオ内のフレームについての双方向動き情報を決定するように構成することができる。動き補償器23は、1つまたは複数の差分メトリック、例えば、絶対差の和(SAD)または絶対差の和(SSD)を決定し、1つまたは複数のフレームのルミナンス情報(例えば、マクロブロック(MB)ルミナンス平均または差分)、ルミナンスヒストグラム差分、およびその例が式1〜式3を参照して説明されたフレーム差分メトリックを含む、他の情報を計算するようにも構成することができる。ショット分類器は、動き補償器によって決定された情報を使用して、ビデオ内のフレームを2つ以上の「ショット」カテゴリに分類するように構成することができる。符号器は、ショット分類に基づいて、複数のフレームを適応的に符号化するように構成される。動き補償器、ショット分類器、および符号器は、式1〜式10を参照して以下で説明される。
【0154】
図28は、いくつかの態様によるショット検出および他の前処理操作のために構成されるプロセッサ2831を備える、プリプロセッサ202のブロック図である。ディジタルビデオ源は、図4に示されるようなプリプロセッサ202の外部の源によって提供され、プリプロセッサ202内の通信モジュール2836に伝達されることができる。プリプロセッサ202は、プロセッサ2831と通信する記憶媒体2825を含み、その両方とも、通信モジュール2836と通信する。プロセッサ2831は、動き補償器2032と、ショット分類器2833と、前処理用の他のモジュール2034とを含み、それらは、動き情報を生成し、ビデオデータのフレーム内のショットを分類し、本明細書で説明されるような他の前処理テストを実行するように動作することができる。動き補償器、ショット分類器、および他のモジュールは、図4の対応するモジュールと同様のプロセスを含むことができ、以下で説明される情報を決定するためにビデオを処理することができる。特に、プロセッサ2831は、双方向動き情報およびルミナンス情報を備える、複数のビデオフレームのうちの隣接フレームの間の差分を表すメトリックを取得し、前記メトリックに基づいて複数のビデオフレームにおけるショット変化を決定し、ショット変化に基づいて複数のフレームを適応的に符号化するための構成を有することができ、いくつかの態様では、メトリックは、プロセッサ2831の外部にあるばかりか、プリプロセッサ202の外部にあることもできる、デバイスまたはプロセスによって計算することができ、別のデバイスまたはメモリを介して直接または間接に、プロセッサ2831に伝達することができる。メトリックは、プロセッサ2831によっても、例えば、動き補償器2832によっても計算することができる。
【0155】
プリプロセッサ202は、さらなる処理、符号化、および例えば端末6(図1)など他のデバイスへの伝送のため、ビデオおよびメタデータを提供する。符号化ビデオは、いくつかの態様では、ベースレイヤおよびエンハンスメントレイヤを備え得る、スケーラブルなマルチレイヤ符号化ビデオとすることができる。スケーラブルレイヤ符号化は、本発明の譲受人によって所有される、「SCALABLE VIDEO CODING WITH TWO LAYER ENCODING AND SINGLE LAYER DECODING」と題する同時係属中の米国特許出願[整理番号050078]にさらに説明されており、同出願は、その全体が参照により本明細書に組み込まれる。
【0156】
図28ならびに本明細書で開示される他の例および図に関連して説明される様々な例示的な論理ブロック、コンポーネント、モジュール、および回路は、いくつかの態様では、本明細書で説明される機能を実行するために設計された、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェアコンポーネント、またはそれらの任意の組み合わせを用いて実施または実行することができる。図28に示されるプロセッサなどの汎用プロセッサは、マイクロプロセッサでよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械でもよい。プロセッサは、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアと連携する1つまたは複数のマイクロプロセッサの組み合わせ、またはそのような他の任意の構成など、コンピューティングデバイスの組み合わせとして実施されてもよい。
【0157】
ビデオ符号化は通常、構造化されたグループオブピクチャ(GOP)上で動作する。GOPは通常、イントラ符号化フレーム(Iフレーム)で開始し、それに一連のP(予測)またはB(双方向)フレームが続く。一般に、Iフレームは、フレームを表示するためのすべてのデータを保存することができ、Bフレームは、先行および後続フレーム内のデータに依存し(例えば、先行フレームから変更されたデータまたは次フレーム内のデータと異なるデータだけを含み)、Pフレームは、先行フレームから変更されたデータを含む。
【0158】
一般的な使用においては、Iフレームは、符号化ビデオ内でPフレームおよびBフレームを差し入れられる。サイズ(例えば、フレームを符号化するために使用されるビットの数)に関して、Iフレームは一般に、Pフレームより大きく、Pフレームは、Bフレームよりも大きい。効率的な符号化、伝送、および復号処理のため、GOPの長さは、大きなIフレームから効率的損失を減らすのに十分なだけ長くなければならず、符号器と復号器の間のミスマッチまたはチャネル障害に対処するのに十分なだけ短くなければならない。加えて、Pフレーム内のマクロブロック(MB)は、同様の理由で、イントラ符号化することができる。
【0159】
シーン変化検出は、ビデオ符号器が適切なGOP長を決定し、Iフレームを固定間隔で挿入する代わりに、IフレームをGOP長に基づいて挿入するために使用することができる。実際のストリーミングビデオシステムでは、通信チャネルは通常、ビット誤りまたはパケット喪失によって障害をこうむる。IフレームまたはI MBをどこに置くかは、復号ビデオ品質および視聴経験に大きく影響することがある。1つの符号化方式は、共存する先行の画像または画像部分から著しい変化を有する画像または画像部分のためにイントラ符号化フレームを使用することである。通常、これらの領域は、動き推定を用いて効果的かつ効率的に予測することができず、そのような領域がインターフレーム符号化技法から除外されていれば(例えば、BフレームおよびPフレームを使用する符号化)、符号化はより効率的に行われることができる。チャネル障害の状況では、それらの領域は、誤り伝播の悪影響をこうむる可能性が高いが、誤り伝播は、イントラフレーム符号化によって低減または除去(もしくはほぼ除去)することができる。
【0160】
GOPビデオの部分は、2つ以上のカテゴリに分類することができ、各領域は、特定の実施に依存し得る異なるイントラフレーム符号化基準を有することができる。一例として、ビデオは、突然シーン変化と、クロスフェードおよび他の緩慢シーン変化と、カメラフラッシュライトの、3つのカテゴリに分類することができる。突然シーン変化は、先行フレームから著しく異なるフレームを含み、通常はカメラ操作によって引き起こされる。これらのフレームの内容は、先行フレームの内容と異なるので、突然シーン変化フレームは、Iフレームとして符号化されるべきである。クロスフェードおよび他の緩慢シーン変化は、シーンの緩慢な切り換えを含み、通常はカメラショットのコンピュータ処理によって引き起こされる。2つの異なるシーンの緩やかな混合は、人間の目にとってより好ましく見えることがあるが、ビデオ符号化に難題を提示する。動き補償は、それらのフレームのビットレートを効果的に低減することができず、より多くのイントラMBが、これらのフレームのために更新されることがある。
【0161】
カメラフラッシュライトまたはカメラフラッシュライトイベントは、フレームの内容がカメラフラッシュを含む場合に生じる。そのようなフラッシュは、持続時間が比較的短く(例えば1フレーム)、きわめて明るく、フラッシュを表現するフレーム内のピクセルは、隣接フレーム上の対応する領域と比べて異常に高いルミナンスを示す。カメラフラッシュライトは、画像のルミナンスを突然に素早く変化させる。通常、カメラフラッシュライトの持続時間は、一般に44msであると定義される人間の視覚系(HVS)の時間マスキング持続時間よりも短い。人間の目は、これらの短い明るさのバーストの品質に対して敏感でなく、したがって、それらは粗雑に符号化することができる。フラッシュライトフレームは、動き補償を用いて効果的に扱うことができないので、将来のフレームのための不適切な予測候補であり、これらのフレームの粗雑な符号化は、将来のフレームの符号化効率を低減させない。フラッシュライトとして分類されたシーンは、「人工的」な高いルミナンスのため、他のフレームを予測するために使用されるべきではなく、他のフレームは、同じ理由で、これらのフレームを予測するために効果的に使用することはできない。ひとたび識別されると、これらのフレームは、比較的高い処理量を必要とすることがあるので、取り除くことができる。1つの選択肢は、カメラフラッシュライトフレームを取り除き、それらの場所のDC係数を符号化することであり、そのような解決法は、簡単で、計算が速く、多くのビットを節約する。
【0162】
上記のフレームのいずれかが検出された場合、ショットイベントが宣言される。ショット検出は、符号化品質を高めるために有用であるばかりでなく、探索およびインデックス付けの際にビデオコンテンツを識別する助けになることもできる。シーン検出プロセスの一態様が、以下本明細書で説明される。
【0163】
図30は、GOP上で動作し、いくつかの態様では、ビデオフレーム内でのショット検出に基づいてビデオを符号化するために使用できる、プロセス3000を示しており、プロセス3000の部分(またはサブプロセス)は、図30〜図40を参照しながら説明および図説される。プロセッサ2831は、プロセス3000を組み込むように構成することができる。プロセス3000は、開始した後、ブロック3042に進み、隣接フレーム間の差分を表す情報を含む、ビデオフレームに関するメトリック(情報)が取得される。メトリックは、双方向動き情報と、ショット分類のために使用できる、隣接フレーム間で発生する変化を後で決定するためのルミナンスベースの情報とを含む。そのようなメトリックは、別のデバイスもしくはプロセスから取得することができ、または例えばプロセッサ2831によって計算することができる。メトリック生成の説明的な例が、図31のプロセスAを参照しながら説明される。
【0164】
プロセス3000は次に、ブロック3044に進み、ビデオ内のショット変化が、メトリックに基づいて決定される。ビデオフレームは、例えば、突然シーン変化、緩慢変化シーン、または高ルミナンス値を含むシーン(カメラフラッシュ)など、どのタイプのショットがフレームに含まれるかについて、2つ以上のカテゴリに分類することができる。符号化のある実施は、他のカテゴリを必要とすることがある。ショット分類の説明的な例が、図32のプロセスBを参照しながら説明され、より詳細には、図34〜図36のプロセスD、E、Fをそれぞれ参照しながら説明される。
【0165】
ひとたびフレームが分類されると、プロセス3000は、ブロック3046に進み、フレームは、ショット分類の結果を用いて、符号化され、または符号化のために指定されることができる。そのような結果は、フレームをイントラ符号化フレームを用いて符号化するか、それとも予測フレーム(例えば、PフレームまたはBフレーム)を用いて符号化するかに影響し得る。図33のプロセスCは、ショット結果を使用する符号化方式の一例を示している。
【0166】
図31は、ビデオのメトリックを取得するためのプロセスの一例を示している。図31は、図30のブロック3042で発生するいくつかのステップを示している。依然として図31を参照すると、ブロック3152において、プロセスAは、ビデオの双方向動き推定および補償情報を取得または決定する。図28の動き補償器2832は、フレームに対して双方向動き推定を実行し、後続のショット分類のために使用できる動き補償情報を決定するように構成することができる。プロセスAは次に、ブロック3154に進み、現在フレームまたは選択フレームおよび1つまたは複数の隣接フレームについてのルミナンス差ヒストグラムを含む、ルミナンス情報を生成する。最後に、プロセスAは、ブロック3156に進み、フレーム内に含まれるショットを表すメトリックが計算される。1つのそのようなメトリックは、式4および式10に2つの例が示された、フレーム差分メトリックである。動き情報、ルミナンス情報、およびフレーム差分メトリックを決定する説明的な例が、以下で説明される。
【0167】
動き補償
双方向動き推定/補償を実行するため、ビデオ系列は、現在フレームのすべての8×8ブロックを、1つは過去、1つは将来の、直近の2つの隣接フレームと照合する双方向動き補償器を用いて、前処理することができる。動き補償器は、すべてのブロックについて、動きベクトルおよび差分メトリックを生成する。図37は、現在フレームCのピクセルを過去フレームPおよび将来(または次)フレームNと照合する一例を示して、この概念を説明しており、照合されたピクセルへの動きベクトル(過去動きベクトルMVPおよび将来動きベクトルMVN)を描いてある。双方向動きベクトル生成および関係する符号化の例示的な態様の簡潔な説明が以下に続く。
【0168】
図40は、例えばMPEG−4における、動きベクトル決定プロセスおよび予測フレーム符号化の一例を示している。図40に示されるプロセスは、図31のブロック3152において行われ得るプロセス例のより詳細な説明である。図40では、現在画像4034は、5×5のマクロブロックから構成され、この例におけるマクロブロックの数は、恣意的なものである。マクロブロックは、16×16のピクセルから構成される。ピクセルは、8ビットのルミナンス値(Y)と、2つの8ビットのクロミナンス値(CrおよびCb)とによって定義することができる。
【0169】
MPEGでは、Y、Cr、およびCb成分は、4:2:0フォーマットで保存することができ、CrおよびCb成分は、XおよびY方向で、2だけダウンサンプリングされる。したがって、各マクロブロックは、256のY成分、64のCr成分、および64のCb成分から成る。現在画像4034のマクロブロック4036は、現在画像4034とは異なる時点における参照画像4032から予測される。Y、Cr、およびCb値に関して、符号化される現在マクロブロック4036に最も近い、最も良く一致するマクロブロック4038を見つけるために、参照画像4032において、探索が行われる。参照画像4032における最も良く一致するマクロブロック138の位置が、動きベクトル4040内に符号化される。参照画像4032は、現在画像4034の構成に先立ち復号器が再構成するIフレームまたはPフレームとすることができる。最も良く一致するマクロブロック4038が、現在マクロブロック40から減算され(Y、Cr、およびCb成分の各々について差分が計算され)、残余誤差4042をもたらす。残余誤差4042は、2D離散コサイン変換(DCT)を用いて符号化4044され、その後、量子化4046される。量子化4046は、例えば、より少ないビットを高周波数の係数に割り当てる一方、より多くのビットを低周波数の係数に割り当てることによって、空間圧縮を提供するために実行することができる。残余誤差4042の量子化係数は、情報を識別する動きベクトル4040および参照画像4032と共に、現在マクロブロック4036を表す符号化情報である。符号化情報は、将来使用するためにメモリに保存することができ、例えば誤り訂正もしくは画像向上の目的で操作することができ、またはネットワーク140を介して伝送することができる。
【0170】
残余誤差4042の符号化量子化係数は、符号器において、現在マクロブロック4036を再構成して、それを後続の動き推定および補償用の参照フレームの部分として使用するために、符号化動きベクトル4040と共に使用することができる。このPフレーム再構成のため、符号器は、復号器の手順をエミュレートすることができる。復号器のエミュレーションは、符号器および復号器が共に、同じ参照画像を用いて作業するという結果をもたらす。さらなるインター符号化のために符号器において行われるか、それとも復号器において行われるかに関わらず、ここで再構成プロセスが提示される。Pフレームの再構成は、参照フレーム(または参照される画像もしくはフレームの一部)が再構成された後に開始することができる。符号化量子化係数は、逆量子化4050され、次に2D逆DCTすなわちIDCT4052が実行され、復号または再構成残余誤差4054をもたらす。符号化動きベクトル4040は、復号され、すでに再構成された参照画像4032において、すでに再構成された最も良く一致するマクロブロック4056を見つけるために使用される。次に、再構成マクロブロック4058を形成するために、再構成された残余誤差4054が、再構成された最も良く一致するマクロブロック4056に加算される。再構成マクロブロック4058は、メモリに保存することができ、独立してもしくは画像内に他の再構成マクロブロックと一緒に表示することができ、または画像向上のためにさらに処理することができる。
【0171】
Bフレーム(または双方向予測を用いて符号化された任意の区画)を使用する符号化は、現在画像内の領域と先行画像内の最も良く一致する予測領域および後続画像内の最も良く一致する予測領域との間の時間冗長性を利用することができる。後続の最も良く一致する予測領域と先行する最も良く一致する予測領域とは、組み合わせ双方向予測領域を形成するために組み合わされる。現在画像の領域と最も良く一致する組み合わせ双方向予測領域との間の差分が、残余誤差(または予測誤差)である。後続参照画像内の最も良く一致する予測領域の位置および先行参照画像内の最も良く一致する予測領域の位置は、2つの動きベクトル内に符号化することができる。
【0172】
ルミナンスヒストグラム差分
動き補償器は、すべてのブロックについて差分メトリックを生成することができる。差分メトリックは、2乗残差の和(SSD)または絶対差の和(SAD)とすることができる。一般性を失うことなく、ここではSADが例として使用される。
【0173】
すべてのフレームについて、SAD比が以下のように計算され、
【数53】
【0174】
ここで、SADPおよびSADNは、それぞれ前方および後方差分メトリックの絶対差の和である。「ゼロによる除算エラー」を防止するため、分母が小さな正の数εを含むことに留意されたい。分子も、分母における単位の影響とバランスを取るためにεを含む。例えば、先行フレーム、現在フレーム、および次フレームが同一である場合、動き探索は、SADP=SADN=0をもたらすべきである。この場合、上記の計算は、0または無限大の代わりに、γ=1を生成する。
【0175】
ルミナンスヒストグラムは、すべてのフレームについて計算することができる。一般に、マルチメディア画像は、8ビットのルミナンス深さ(例えば「ビン(bin)」の数)を有する。いくつかの態様に従ってルミナンスヒストグラムを計算するために使用されるルミナンス深さは、ヒストグラムを取得するために、16に設定することができる。他の態様では、ルミナンス深さは、処理されるデータのタイプ、利用可能な計算能力、または他の所定の基準に依存し得る、適切な数に設定することができる。いくつかの態様では、ルミナンス深さは、データの内容など、計算したメトリックまたは受け取ったメトリックに基づいて、動的に設定することができる。
【0176】
式49は、ルミナンスヒストグラム差分(ラムダ)を計算する一例を示しており、
【数54】
【0177】
ここで、NPiは、先行フレームに関する第iのビン内のブロックの数であり、NCiは、現在フレームに関する第iのビン内のブロックの数であり、Nは、フレーム内のブロックの総数である。先行フレームおよび現在フレームのルミナンスヒストグラム差分が完全に異なる(または独立である)場合、λ=2となる。
【0178】
図5のブロック56を参照しながら説明されたフレーム差分メトリックDは、式50に示されるように、計算することができ、
【数55】
【0179】
ここで、Aは、応用例によって選択される定数であり、
【数56】
【0180】
である。
【0181】
図32は、ビデオについて取得または決定されたメトリックを使用して、ショット(またはシーン)変化の3つのカテゴリを決定するプロセスBの一例を示している。図32は、図30のブロック3044の一態様で発生するいくつかのステップを示している。再び図32を参照すると、ブロック3262において、プロセスBは最初に、フレームが突然シーン変化を指示する基準を満たすかどうかを決定する。図34のプロセスDは、この決定の一例を示している。プロセスBは次に、ブロック3264に進み、フレームが緩慢変化シーンの部分であるかどうかを決定する。図35のプロセスCは、緩慢変化シーンを決定する一例を示している。最後にブロック3366において、プロセスBは、フレームがカメラフラッシュを含むかどうか、言い換えると、先行フレームと異なる大きなルミナンス値を含むかどうかを決定する。図36のプロセスFは、カメラフラッシュを含むフレームを決定する一例を示している。これらのプロセスの説明的な例が以下で説明される。
【0182】
突然シーン変化
図34は、突然シーン変化を決定するプロセスを示す流れ図である。図34はさらに、図32のブロック3262のいくつかの態様で発生し得るいくつかのステップを詳述している。ブロック3482において、フレーム差分メトリックDが式51に示される基準を満たすかどうかをチェックし、
【数57】
【0183】
ここで、Aは応用例によって選択される定数であり、T1はしきい値である。基準が満たされる場合、ブロック3484において、プロセスDは、フレームを突然シーン変化として指示し、この例では、さらなるショット分類は必要とされない。
【0184】
一例では、シミュレーションは、A=1、T1=5という設定が、良好な検出性能を達成することを示している。現在フレームが突然シーン変化フレームである場合、γCは大きく、γPは小さくあるべきである。コンテキストの活動レベルに対してメトリックが正規化されるように、γC単独ではなく、比
【数58】
【0185】
が使用できる。
【0186】
上記の基準は、非線形の方法でルミナンスヒストグラム差分ラムダ(λ)を使用することに留意されたい。図39は、λ×(2λ+1)が凸関数であることを示している。λが小さい(例えば、ゼロに近い)場合、それはほとんどプリエンファシス(preemphasis)ではない。λが大きくなるほど、より大きなエンファシスが関数によって行われる。しきい値T1が5に設定された場合、このプリエンファシスを用いて、1.4より大きい任意のλについて、突然シーン変化が検出される。
【0187】
クロスフェードおよび緩慢シーン変化
図35はさらに、図32のブロック3264で発生し得るいくつかの態様のさらなる詳細を示している。図35を参照すると、ブロック3592において、プロセスEは、フレームが緩慢シーン変化を表す一連のフレームの部分であるかどうかを決定する。プロセスEは、一定の数の連続フレームについて、式52に示されるように、フレーム差分メトリックDが第1のしきい値T1未満であり、第2のしきい値T2以上である場合に、現在フレームはクロスフェードまたは他の緩慢シーン変化であると決定し、
【数59】
【0188】
ここで、T1は上で使用されたのと同じしきい値であり、T2は別のしきい値である。一般に、T1およびT2の正確な値は、可能な実装の相違のため、基準となる実験によって決定される。基準が満たされる場合、ブロック94において、プロセスEは、フレームを選択フレームエンドについての緩慢変化シーンショット分類の部分として分類する。
【0189】
カメラフラッシュライトイベント
図36に示されたプロセスFは、現在フレームがカメラフラッシュライトを備えるかどうかを決定できるプロセスの例である。カメラのこの例示的な態様では、現在フレームがカメラフラッシュライトを備えるかどうかを決定するために、ルミナンスヒストグラム統計が使用される。プロセスFは、ブロック3602に示されるように、現在フレームのルミナンスが先行フレームのルミナンスおよび次フレームのルミナンスより大きいかどうかを最初に決定することによって、カメラフラッシュイベントが選択フレーム内に存在することを決定する。大きくない場合、フレームはカメラフラッシュイベントでないが、大きい場合、フレームはカメラフラッシュイベントである可能性がある。ブロック3604において、プロセスFは、逆方向差分メトリックがしきい値T3よりも大きいかどうか、順方向差分メトリックがしきい値T4よりも大きいかどうかを決定し、これらの条件が共に満たされる場合、ブロック3606において、プロセスFは、現在フレームをカメラフラッシュライトを有するものとして分類する。一例では、ブロック3602において、プロセスFは、式53および式54に示されるように、現在フレームの平均ルミナンスから先行フレームの平均ルミナンスを引いた値がしきい値T3以上かどうかを決定し、プロセスFは、平均ルミナンスから次フレームの平均ルミナンスを引いた値がしきい値T3以上かどうかを決定する。
【数60】
【数61】
【0190】
基準が満たされない場合、現在フレームは、カメラフラッシュライトを備えるものとして分類されず、プロセスFは復帰する。基準が満たされる場合、プロセスFは、ブロック3604に進み、以下の式55および式56に示されるように、後方差分メトリックSADPおよび前方差分メトリックSADNが、一定のしきい値T4よりも大きいかどうかを決定し、
【数62】
【数63】
【0191】
ここで、
【数64】
【0192】
は、現在フレームの平均ルミナンスであり、
【数65】
【0193】
は、先行フレームの平均ルミナンスであり、
【数66】
【0194】
は、次フレームの平均ルミナンスであり、SADPおよびSADNは、現在フレームに関連する前方および後方差分メトリックである。基準が満たされない場合、プロセスFは復帰する。
【0195】
説明されたプロセスの実施は、しきい値を含む動作パラメータの相違をもたらし得るので、T3の値は一般に、基準となる実験によって決定される。SAD値はその決定に含まれるが、それは、カメラフラッシュが一般に1フレームしか要せず、ルミナンス差のため、このフレームは順方向および逆方向両方からの動き補償を使用してうまく予測し得ないからである。
【0196】
いくつかの態様では、1つまたは複数のしきい値T1、T2、T3、およびT4は、事前決定され、そのような値は、符号化デバイス内のショット分類器に組み込まれる。一般に、これらのしきい値は、ショット検出の特定の実施のテストを通して選択される。いくつかの態様では、1つまたは複数のしきい値T1、T2、T3、およびT4は、ショット分類器に供給される情報(例えばメタデータ)の使用に基づいて、またはショット分類器自体によって計算される情報に基づいて、処理中に(例えば動的に)設定することができる。
【0197】
ここで図33を参照すると、図33は、選択フレームのショット分類に基づいて、ビデオ用の符号化パラメータを決定するため、またはビデオを符号化するための、プロセスCを示している。ブロック3370において、プロセスCは、選択フレームが突然シーン変化として分類されるかどうかを決定する。分類される場合、ブロック3371において、現在フレームは、突然シーン変化として分類され、フレームはIフレームとして符号化することができ、GOP境界が決定されることができる。分類されない場合、プロセスCは、ブロック3372に進み、現在フレームが緩慢変化シーンの一部として分類される場合、ブロック3373において、現在フレームと緩慢変化シーン内の他のフレームとは、予測フレーム(例えば、PフレームまたはBフレーム)として符号化することができる。プロセスCは次に、ブロック3374に進み、現在フレームがカメラフラッシュを備えるフラッシュライトシーンとして分類されるかどうかをチェックする。分類される場合、ブロック3375において、例えば、先行フレームの除去、複製、またはフレームの特定の係数の符号化など特別な処理のために、フレームが識別されることができる。分類されない場合、現在フレームの分類は行われず、選択フレームは、他の基準に従って符号化すること、Iフレームとして符号化すること、または削除することができる。プロセスCは、符号器内で実施することができる。
【0198】
上述の態様では、圧縮されるフレームとそれに隣接する2つのフレームの間の差分量は、フレーム差分メトリックDによって表される。著しい量の一方向ルミナンス変化が検出された場合、それは、フレーム内のクロスフェード効果を示している。クロスフェードがより顕著であるほど、Bフレームを使用することによって、より多くの利得が達成され得る。いくつかの態様では、式57に示されるように、修正フレーム差分メトリックが使用され、
【数67】
【0199】
ここで、dP=|YC−YP|およびdN=|YC−YN|はそれぞれ、現在フレームと先行フレームの間のルーマ差および現在フレームと次フレームの間のルーマ差であり、Δは、実施に依存し得るため、基準となる実験において決定され得る定数であり、αは、0と1の間の値を有する重み変数である。
【0200】
修正フレーム差分メトリックD1は、ルーマシフトの一貫した傾向が観察され、シフト強度が十分に大きい場合にのみ、元のフレーム差分メトリックDとは異なる。D1は、D以下である。ルーマ変化が一定(dP=dN)である場合、修正フレーム差分メトリックD1は、元のフレーム差分メトリックDよりも低く、最低比は(1−α)である。
【0201】
以下の表1は、突然シーン変化検出を追加したことによる性能改善を示している。シーン無変化(NSC)およびシーン変化(SC)ケースの両方におけるIフレームの総数は、ほぼ同じである。NSCケースでは、Iフレームは、系列全体の中に均一に分散され、一方、SCケースでは、Iフレームは、突然シーン変化フレームにだけ割り当てられる。
【0202】
一般に、PSNRに関して、0.2〜0.3dBの改善が達成され得ることが理解できる。シミュレーション結果は、上述のショットイベントを決定する上でショット検出器が非常に正確であることを示している。通常のクロスフェード効果を有する5クリップのシミュレーションは、Δ=5.5およびα=0.4において、同じビットレートで、0.226031dBのPSNR利得が達成されることを示している。
【表2】
【0203】
適応GOP構造
適応GOP構造操作の説明的な一例が、以下で説明される。そのような操作は、図412のGOPパーティショナ412に含まれることができる。旧式のビデオ圧縮規格であるMPEG2は、GOPが規則的な構造を有することを必要としないが、規則的な構造を課すこともできる。MPEG2系列は常に、Iフレーム、すなわち、先行画像への参照を用いずに符号化されるフレームで開始する。MPEG2のGOPフォーマットは通常、Iフレームに続くPまたは予測画像のGOP内における間隔を固定することによって、符号器において事前構成される。Pフレームは、先行するIまたはP画像から部分的に予測される画像である。開始Iフレームと後続Pフレームの間のフレームは、Bフレームとして符号化される。「B」フレーム(Bは双方向を表す)は、先行するIまたはP画像および次のIまたはP画像を、参照として独立にまたは同時に使用することができる。Iフレームを符号化するために使用されるビットの数は、平均で、Pフレームを符号化するために使用されるビットの数を超え、同様に、Pフレームを符号化するために使用されるビットの数は、平均で、Bフレームのビットの数を超える。スキップフレームは、使用される場合、その表現のためのビットを使用しないことも可能である。
【0204】
PフレームおよびBフレームを使用すること、また最近の圧縮アルゴリズムにおいてフレームのスキップを使用することの1つの利点は、ビデオ伝送サイズを削減することが可能なことである。先に復号されたIまたはP画像は、他のPまたはB画像を復号するための参照として後で使用されるので、時間冗長性が高い場合、例えば、画像と画像の間に僅かな変化しか存在しない場合、P、B、またはスキップ画像の使用は、ビデオストリーミングを効率的に表現する。
【0205】
グループオブピクチャパーティショナは、時間冗長性を最小化するように、フレームを適応的に符号化する。フレーム間の差分は定量化され、画像をI、P、B、またはスキップフレームのどれによって表現するかの決定は、適切なテストが定量化された差分に対して実行された後、自動的に行われる。GOPパーティショナにおける処理は、雑音除去用のフィルタリングを提供するプリプロセッサ202の他の動作によって支援される。
【0206】
適応符号化プロセスは、「固定」符号化プロセスでは利用可能でない利点を有する。固定プロセスは、コンテンツ内で変化が僅かしか起こっていない可能性を無視するが、適応手順は、各IおよびPフレームまたは2つのPフレームの間に、はるかに多くのBフレームが挿入されることを可能にし、それによって、フレームの系列を十分に表現するために使用されるビットの数を削減する。反対に、例えば、固定符号化プロセスでは、ビデオコンテンツ内での変化が著しい場合、予測フレームと参照フレームの間の相違があまりにも大きいため、Pフレームの効率は大きく低下する。これらの状況下では、一致する物体は、動き探索領域から脱落することがあり、または一致する物体の類似性は、カメラアングルの変化によって引き起こされるひずみのために低下する。適応符号化プロセスは、Pフレームが符号化されるべき場合を任意選択的に決定するために便利に使用することができる。
【0207】
本明細書で開示されたシステムでは、上で説明された状況のタイプが、自動的に感知される。本明細書で説明される適応符号化プロセスは、柔軟性があり、コンテンツ内のこれらの変化に適応するように作成される。適応符号化プロセスは、フレーム間の距離の尺度と考えられ得るフレーム差分メトリックを、同じ距離の加法的特性を用いて評価する。概念的には、フレーム間距離d12およびd23を有するフレームF1、F2、およびF3が与えられた場合、F1とF3の間の距離は、少なくともd12+d23であると見なされる。フレーム割り当ては、この距離的なメトリックおよび他のメトリックに基づいて行われる。
【0208】
GOPパーティショナ412は、フレームを受け取ったときに、フレームに画像タイプを割り当てことによって動作する。画像タイプは、各ブロックを符号化するために使用できる予測方法を示す。
【0209】
I画像は、他の画像への参照を用いずに符号化される。I画像は、単独で存在し得るので、復号を開始できるデータストリーム内のアクセスポイントを提供する。I符号化タイプは、先行フレームへの「距離」がシーン変化しきい値を超える場合に、フレームに割り当てられる。
【0210】
P画像は、動き補償された予測のために、先行IまたはP画像を使用することができる。P画像は、予測されるブロックから移され得る先行フィールドまたはフレーム内のブロックを、符号化のための基礎として使用する。参照ブロックが、考察されるブロックから減算された後、残余ブロックが、空間冗長性の排除のために一般に離散コサイン変換を使用して符号化される。P符号化タイプは、あるフレームとPフレームとして割り当てられた最後のフレームの間の「距離」が、一般に第1のしきい値より小さい第2のしきい値を超えた場合に、そのフレームに割り当てられる。
【0211】
Bフレーム画像は、上で説明されたような動き補償のために、先行するPまたはI画像および次のPまたはI画像を使用することができる。B画像内のブロックは、前方、後方、および双方向予測することができ、または他のフレームへの参照なしにイントラ符号化することができる。H.264では、参照ブロックは、32個ものフレームからの32個ものブロックの線形結合とすることができる。フレームは、IまたはPタイプに割り当てられない場合、そのフレームから直前フレームまでの「距離」が、一般に第2のしきい値より小さい第3のしきい値よりも大きいならば、Bタイプに割り当てられる。フレームは、符号化Bフレームになるように割り当てることができない場合、「スキップフレーム」ステータスに割り当てられる。このフレームは、実質的に先行フレームのコピーであるので、スキップすることができる。
【0212】
表示順に隣接フレーム間の差分を定量化するメトリックの評価は、GOPパーティショナ412において行われるこの処理の第1の部分である。このメトリックは、上で言及された距離であり、それを用いて、すべてのフレームは、適切なタイプに評価される。したがって、Iおよび隣接Pフレームの間または2つの連続するPフレームの間の間隔は、可変とすることができる。メトリックの計算は、ブロックベースの動き補償器を用いてビデオフレームを処理することによって開始し、ブロックはビデオ圧縮の基本単位であり、通常は16×16のピクセルから成るが、8×8、4×4、および8×16などの他のブロックサイズも可能である。出力において存在する2つのデインタレースフィールドから成るフレームの場合、動き補償は、フィールドに基づいて行われ、参照ブロックの探索は、フレームではなくフィールド内で行われる。現在フレームの第1フィールド内のブロックの場合、順方向参照ブロックは、あとに続くフレームのフィールド内で見出され、同様に、逆方向参照ブロックは、現在フィールドのすぐ前にあるフレームのフィールド内で見出される。現在ブロックは、補償フィールド内にまとめられる。プロセスは、フレームの第2フィールドについて続けられる。2つの補償フィールドは、順方向および逆方向補償フレームを形成するために組み合わされる。
【0213】
逆テレシネ406において生成されたフレームの場合、再構成フィルムフレームだけが生成されるので、参照ブロックの探索は、フレームだけに基づいたものとすることができる。2つの参照ブロックと、順方向および逆方向の2つの差分が見出され、順方向および逆方向補償フレームももたらす。要約すると、動き補償器は、すべてのブロックについて、動きベクトルおよび差分メトリックを生成する。メトリックの差分は、考察されるフィールドまたはフレーム内のブロックと、順方向差分が評価されるか、それとも逆方向差分が評価されるかに応じて、先行するフィールドもしくはフレーム内または直後のフィールドもしくはフレーム内の最も良く一致するブロックとの間で評価されることに留意されたい。この計算には、ルミナンス値だけが入力される。
【0214】
したがって、動き補償ステップは、差分の2つの組を生成する。これらは、ルミナンスの現在値のブロックと、時間的に現在フレームの直前および直後のフレームから取られた参照ブロック内のルミナンス値との間のものである。各順方向差分および各逆方向差分の絶対値は、ブロック内の各ピクセルについて決定され、各々は別々に、フレーム全体にわたって合計される。フレームを構成するデインタレースNTSCフィールドが処理される場合、2つの合計には、両方のフィールドが含まれる。このようにして、順方向および逆方向差分の絶対値の和である、SADPおよびSADNが見出される。
【0215】
すべてのフレームについて、SAD比は、関係
【数68】
【0216】
を使用して計算され、ここで、SADPおよびSADNはそれぞれ、順方向および逆方向差分の絶対値の和である。小さな正の数が、「ゼロによる除算」エラーを防止するために分子に追加される。同様のε項が、分母に追加され、SADPまたはSADNがゼロに近い場合に、γの感度をさらに低下させる。
【0217】
一代替態様では、差分は、2乗残差の和であるSSDおよび絶対差の和であるSAD、またはSATDとすることができ、SATDでは、ブロックエレメントの差分が取られる前に、ピクセル値のブロックが、それらに2次元離散コサイン変換を適用することによって変換される。アクティブビデオの領域にわたって、和が評価されるが、他の態様では、より小さな領域が使用されてよい。
【0218】
受け取ったまま(動き補償なし)のすべてのフレームのルミナンスヒストグラムも計算される。ヒストグラムは、利用可能であるならば、DC係数上で、すなわち、ルミナンス値のブロックに2次元離散コサイン変換を適用した結果である16×16の係数配列内の(0,0)係数上で動作する。等価的に、16×16ブロック内の256のルミナンス値の平均値が、ヒストグラムにおいて使用されてよい。ルミナンス深さが8ビットである画像の場合、ビンの数は16に設定される。次のメトリックは、ヒストグラム差分を評価する。
【数69】
【0219】
上記の式において、NPiは、第iのビン内の先行フレームからのブロックの数であり、NCiは、第iのビンに属する現在フレームからのブロックの数であり、Nは、フレーム内のブロックの総数である。
【0220】
これらの中間結果は、現在フレームの差分メトリックを形成するために、
【数70】
【0221】
のようにまとめられ、ここで、γCは、現在フレームに基づいたSAD比であり、γPは、先行フレームに基づいたSAD比である。シーンが平滑な動きを有し、そのルーマヒストグラムがほとんど変化しない場合、M≒1である。現在フレームが突然シーン変化を表示する場合、γCは大きくなり、γPは小さくなるべきである。コンテキストの活動レベルに対してメトリックが正規化されるように、γC単独ではなく、比
【数71】
【0222】
が使用される。
【0223】
図40のデータフロー4100は、フレーム差分メトリックを計算するために使用できるいくつかのコンポーネントを示している。プリプロセッサ4125は、NTSC源を有するビデオの場合はインタレースフィールドを、ビデオ源が逆テレシネの結果である場合はフィルム画像のフレームを、双方向動き補償器4133に送り届ける。双方向動き補償器4133は、フィールド(またはビデオ源が映画の場合はフレーム)を16×16ピクセルのブロックに分割し、各ブロックを先行フレームのフィールドの定められた領域内のすべての16×16ブロックと比較することによって、フィールド上で動作する。最も良い一致を提供するブロックが選択され、現在ブロックから減算される。差分の絶対値が取られ、その結果が、現在ブロックを構成する256のピクセルにわたって合計される。これがフィールドのすべての現在ブロックについて、さらに両方のフィールドについて行われると、後方差分メトリックである量SADNが、逆方向差分モジュール4137によって計算される。同様の手順が、前方差分モジュール4136によっても実行されることができる。前方差分モジュール4136は、前方差分メトリックであるSADPを生成するために、時間的に現在フレームの直前のフレームを参照ブロックの源として使用する。回復されたフィルムフレームを使用して行われるものの、同じ推定プロセスが、逆テレシネにおいて入力フレームが形成された場合にも行われる。フレーム差分メトリックの計算を完了するために使用できるヒストグラムは、ヒストグラム差分モジュール4141において形成することができる。各16×16ブロックは、そのルミナンスの平均値に基づいて、ビンに割り当てられる。この情報は、ブロック内の256すべてのピクセルルミナンス値を合計し、それを必要に応じて256によって正規化し、平均値が入れられるビンのカウントをインクリメントすることによって形成される。計算は、各動き補償前フレームに対して1度行われ、現在フレームのヒストグラムは、新しい現在フレームが到来した場合に、先行フレームのヒストグラムになる。式59によって定義されたλを形成するために、2つのヒストグラムは、ヒストグラム差分モジュール4141において、差分が取られ、ブロック数によって正規化される。これらの結果は、フレーム差分結合器4143において組み合わされ、フレーム差分結合器4143は、式60において定義された現在フレーム差分を評価するために、ヒストグラム差分モジュール4139、前方および後方差分モジュール4136、4136において見出された中間結果を使用する。
【0224】
流れ図4100のシステムおよびそのコンポーネントまたはステップは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組み合わせによって実施することができる。プリプロセッサ4135、双方向動き補償器4133、前方および後方差分メトリックモジュール4136、4137、ヒストグラム差分モジュール4141、ならびにフレーム差分メトリック結合器4143を含む、流れ図4100の各機能コンポーネントは、スタンドアロンコンポーネントとして実現することができ、ハードウェア、ファームウェア、ミドルウェアとして別のデバイスのコンポーネントに組み込まれることができ、またはプロセッサ上で実行されるマイクロコードもしくはソフトウェアで実施することができ、あるいはそれらの組み合わせとすることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施される場合、所望のタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などの機械可読媒体に保存することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組み合わせに相当することができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を受け渡し、および/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合されることができる。
【0225】
受け取られ処理されたデータは、例えば、プロセッサに接続されるチップ構成記憶媒体(例えば、ROM、RAM)またはディスクタイプ記憶媒体(例えば、磁気的もしくは光学的)を含み得る、記憶媒体に保存することができ、いくつかの態様では、結合器4143は、記憶媒体の一部または全部を含むことができる。図41の流れ図4200は、圧縮タイプをフレームに割り当てるプロセスを示している。一態様Mでは、式3で定義された現在フレーム差分は、フレーム割り当てに関して行われるすべての決定の基礎である。判定ブロック4253が示すように、考察対象のフレームが系列の最初である場合、YESと記された判定経路がブロック4255まで辿られ、それによって、フレームがIフレームであると宣言する。累積フレーム差分が、ブロック4257において、ゼロに設定され、プロセスは、(ブロック4258において)開始ブロック4253に復帰する。考察対象のフレームが系列の最初のフレームでない場合、判断が行われたブロック4253からNOと記された経路が辿られ、テストブロック4259において、現在フレーム差分が、シーン変化しきい値に対してテストされる。現在フレーム差分がシーン変化しきい値よりも大きい場合、YESと記された判定経路がブロック4255まで辿られ、やはりIフレームの割り当てをもたらす。現在フレーム差分がシーン変化しきい値よりも小さい場合、NO経路がブロック4261まで辿られ、現在フレーム差分が、累積フレーム差分に加算される。
【0226】
流れ図を進み、判定ブロック4263において、累積フレーム差分が、一般にシーン変化しきい値よりも小さいしきい値tと比較される。累積フレーム差分がtよりも大きい場合、制御はブロック4265に移り、フレームは、Pフレームになるように割り当てられ、その後、ステップ4267において、累積フレーム差分はゼロにリセットされる。累積フレーム差分がtより小さい場合、制御はブロック4263からブロック4269に移る。そこで、現在フレーム差分は、tよりも小さいτと比較される。現在フレーム差分がτより小さい場合、フレームは、ブロック4273において、スキップされるように割り当てられ、現在フレーム差分がτより大きい場合、フレームは、βフレームになるように割り当てられる。
【0227】
一代替態様では、別のフレーム符号化複雑さ表示M*が、
【数72】
【0228】
として定義され、ここで、αは、スケーラであり、SADPは、前方動き補償を用いたSADであり、MVPは、前方動き補償からの動きベクトルのピクセルで測定した長さの合計であり、sおよびmは、SADPがsより低くまたはMVPがmより低い場合に、フレーム符号化複雑さ表示をゼロにする、2つのしきい値数である。M*は、図41の流れ図4200において、現在フレーム差分の代わりに使用される。理解されるように、M*は、前方動き補償が低いレベルの動きを示す場合にのみ、Mと異なる。この場合、MはMより小さい。
【0229】
本明細書で説明されたショット検出および符号化態様は、フローチャート、フロー図、構造図、またはブロック図として表されるプロセスとして説明され得ることに留意されたい。図に示された流れ図は順次プロセスとして動作を説明し得るが、多くの動作は、並列または同時に実行することもできる。加えて、動作の順序は、再構成されることもできる。プロセスは一般に、その動作が完了した時に終了する。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。プロセスが関数に対応する場合、その終了は、呼出元関数またはメイン関数への関数の復帰に対応する。
【0230】
本明細書で開示されたデバイスの1つまたは複数のエレメントは、デバイスの動作に影響することなく再構成され得ることも、当業者には明らかであろう。同様に、本明細書で開示されたデバイスの1つまたは複数のエレメントは、デバイスの動作に影響することなく組み合わせることができる。情報およびマルチメディアデータが様々な異なる技術および技法のいずれかを使用して表現できることは、当業者であれば理解されよう。さらに、本明細書で開示された例に関連して説明された様々な例示的な論理ブロック、モジュール、およびアルゴリズムステップが、電子的ハードウェア、ファームウェア、コンピュータソフトウェア、ミドルウェア、マイクロコード、またはそれらの組み合わせとして実施され得ることも、当業者であれば理解されよう。ハードウェアおよびソフトウェアのこの交換可能性を明瞭に示すため、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップは、広くそれらの機能性に関して上では説明された。そのような機能性がハードウェアとして実施されるか、それともソフトウェアとして実施されるかは、具体的なアプリケーションおよびシステム全体に課される設計制約に依存する。当業者は、各具体的なアプリケーションのために様々な方法で説明された機能性を実施することができるが、そのような実施決定は、開示された方法の範囲からの逸脱を引き起こすと解釈されるべきではない。
【0231】
例えば、本明細書で開示されたショット検出および符号化の例および図に関連して説明された方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、または2つの組み合わせで実施することができる。特に、方法およびアルゴリズムは、セル電話、コンピュータ、ラップトップコンピュータ、PDA、すべてのタイプの個人用および商用通信デバイスへのビデオの無線伝送を含む通信技術に適用可能である。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱可能ディスク、CD−ROM、または当技術分野で知られた他の形態の記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み、記憶媒体に情報を書くことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサに組み込まれてもよい。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)に存在することができる。ASICは、無線モデムに存在することができる。代替として、プロセッサおよび記憶媒体は、無線モデム内の別個のコンポーネントとして存在することができる。
【0232】
加えて、本明細書で開示された例に関連して説明された様々な例示的な論理ブロック、コンポーネント、モジュール、および回路は、本明細書で説明される機能を実行するために設計された、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェアコンポーネント、またはそれらの任意の組み合わせを用いて実施または実行することができる。汎用プロセッサは、マイクロプロセッサでよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械でもよい。プロセッサは、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアと連携する1つまたは複数のマイクロプロセッサの組み合わせ、またはそのような他の任意の構成など、コンピューティングデバイスの組み合わせとして実施されてもよい。
【0233】
開示された例についての先の説明は、当業者が開示された方法および装置を作成または使用することを可能とするために提供された。これらの例に対する様々な修正が、当業者には容易に明らかであり、本明細書で定められた原理は、他の例に適用することができ、開示された方法および装置の主旨または範囲から逸脱することなく、付加的なエレメントが追加されることができる。態様についての説明は、例示的であることを意図しており、特許請求の範囲を限定することは意図していない。
【図面の簡単な説明】
【0234】
【図1】ストリーミングマルチメディアデータを送り届けるための通信システムのブロック図。
【図2】プリプロセッサを含むディジタル伝送機構のブロック図。
【図3A】プリプロセッサの例示的な態様のブロック図。
【図3B】マルチメディアデータを処理するためのプロセスを示す流れ図。
【図3C】マルチメディアデータを処理するための手段を示すブロック図。
【図4】例示的なプリプロセッサの動作を示すブロック図。
【図5】逆テレシネプロセスにおけるフェーズ判定の図。
【図6】テレシネビデオに逆処理を施すプロセスを示す流れ図。
【図7】フェーズ遷移を示す格子(trellis)の図。
【図8】複数のメトリックを生成するために使用されるそれぞれのフレームを識別するための手引きの図。
【図9】図8のメトリックがどのように生成されるかを説明する流れ図。
【図10】推定フェーズに達するためのメトリックの処理を示す流れ図。
【図11】判定変数を生成するためのシステムを説明するデータ流れ図。
【図12】ブランチ情報を評価するために使用される変数を示すブロック図。
【図13A】下方エンベロープがどのように計算されるかを示す流れ図。
【図13B】下方エンベロープがどのように計算されるかを示す流れ図。
【図13C】下方エンベロープがどのように計算されるかを示す流れ図。
【図14】整合性検出器の動作を示す流れ図。
【図15】フェーズ判定における不整合性を補償するために使用される判定変数に対するオフセットを計算するプロセスを示す流れ図。
【図16】プルダウンフェーズが推定された後の逆テレシネの動作を提示する図。
【図17】デインタレーサデバイスのブロック図。
【図18】別のデインタレーサデバイスのブロック図。
【図19】インタレース画像のサブサンプリングパターンの図。
【図20】デインタレースフレームを生成するためにWmedフィルタリング動き推定を使用するデインタレーサデバイスのブロック図。
【図21】マルチメディアデータの静止領域を決定するためのアパーチャの一態様を示す図。
【図22】マルチメディアデータの遅い動き領域を決定するためのアパーチャの一態様を示す図。
【図23】動き推定の一態様を示す図。
【図24】動き補償を決定する際に使用される2つの動きベクトルマップを示す図。
【図25】マルチメディアデータをデインタレースする方法を示す流れ図。
【図26】時空間情報を使用してデインタレースフレームを生成する方法を示す流れ図。
【図27】デインタレースのための動き補償を実行する方法を示す流れ図。
【図28】いくつかの態様によるショット検出および他の前処理操作のために構成されるプロセッサを備えるプリプロセッサのブロック図。
【図29】符号化の複雑さCおよび割り当てられたビットBの間の関係を示す図。
【図30】グループオブピクチャ上で動作し、いくつかの態様では、ビデオフレーム内でのショット検出に基づいてビデオを符号化するために使用できるプロセスを示す流れ図。
【図31】ショット検出のためのプロセスを示す流れ図。
【図32】ビデオにおけるショットの異なる分類を決定するためのプロセスを示す流れ図。
【図33】ショット検出結果に基づいてフレーム圧縮方式をビデオフレームに割り当てるためのプロセスを示す流れ図。
【図34】突然シーン変化を決定するためのプロセスを示す流れ図。
【図35】緩慢変化シーンを決定するためのプロセスを示す流れ図。
【図36】カメラフラッシュを含むシーンを決定するためのプロセスを示す流れ図。
【図37】現在フレームと先行フレームの間の動き補償ベクトルMVPおよび現在フレームと次フレームの間の動き補償ベクトルMVNを示す図。
【図38】フレーム差分メトリックを決定する際に使用される変数についての関係を示すグラフ。
【図39】データの符号化および残余の計算を示すブロック図。
【図40】フレーム差分メトリックの決定を示すブロック図。
【図41】圧縮タイプがフレームに割り当てられる手順を示す流れ図。
【図42】1−D多相リサンプリングの一例を示す図。
【図43】データのフレームのセーフアクション領域およびセーフタイトル領域を示す絵図。
【図44】データのフレームのセーフアクション領域を示す絵図。
【特許請求の範囲】
【請求項1】
マルチメディアデータを処理する方法であって、
インタレースビデオフレームを受信することと、
前記インタレースビデオフレームをプログレッシブビデオに変換することと、
前記プログレッシブビデオに関連するメタデータを生成することと、
前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータの少なくとも一部とを符号器に提供することと、を備える方法。
【請求項2】
前記メタデータを使用して前記プログレッシブビデオを符号化することをさらに備える、請求項1に記載の方法。
【請求項3】
前記ビデオフレームを変換することが、前記インタレースビデオフレームをデインタレースすることを備える、請求項1に記載の方法。
【請求項4】
前記メタデータが、帯域幅情報を備える、請求項1に記載の方法。
【請求項5】
前記メタデータが、双方向動き情報を備える、請求項1に記載の方法。
【請求項6】
デインタレースすることが、
前記インタレースビデオフレームの空間情報および双方向動き情報を生成することと、
前記空間情報および双方向動き情報を使用して前記インタレースビデオフレームに基づいて前記プログレッシブビデオを生成することと、を備える、請求項1に記載の方法。
【請求項7】
前記帯域幅情報が、ルミナンス情報を備える、請求項4に記載の方法。
【請求項8】
前記メタデータが、空間複雑さの値を備える、請求項1に記載の方法。
【請求項9】
前記メタデータが、時間複雑さの値を備える、請求項1に記載の方法。
【請求項10】
前記インタレースビデオフレームを変換することが、3/2プルダウンビデオフレームを逆テレシネすることを備える、請求項1に記載の方法。
【請求項11】
前記メタデータが、比帯域情報を備える、請求項10に記載の方法。
【請求項12】
前記プログレッシブビデオをリサイズすることをさらに備える、請求項1に記載の方法。
【請求項13】
グループオブピクチャ情報を決定するために前記プログレッシブビデオを区分化することをさらに備える、請求項12に記載の方法。
【請求項14】
前記区分化が、前記プログレッシブビデオのショット検出を備える、請求項13に記載の方法。
【請求項15】
雑音低減フィルタを用いて前記プログレッシブビデオをフィルタリングすることをさらに備える、請求項14に記載の方法。
【請求項16】
前記メタデータが、ルミナンスおよびクロマ情報を備える、請求項1に記載の方法。
【請求項17】
マルチメディアデータを処理するための装置であって、
インタレースビデオフレームを受信するように構成される受信器と、
前記インタレースビデオフレームをプログレッシブビデオに変換するように構成されるデインタレーサと、
前記プログレッシブビデオに関連するメタデータを生成し、前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータとを符号器に提供するように構成されるパーティショナと、を備える装置。
【請求項18】
前記プログレッシブビデオを通信モジュールから受信し、前記提供されたメタデータを使用して前記プログレッシブビデオを符号化するように構成される符号器をさらに備える、請求項17に記載の装置。
【請求項19】
前記デインタレーサが、時空間デインタレースを実行するように構成される、請求項17に記載の装置。
【請求項20】
プログレッシブビデオの雑音低減を行うための雑音低減フィルタをさらに備える、請求項17に記載の装置。
【請求項21】
前記デインタレーサが、逆テレシネ器を備える、請求項17に記載の装置。
【請求項22】
前記パーティショナが、ショット検出を実行し、前記ショット検出に基づいて圧縮情報を生成するように構成される、請求項17に記載の装置。
【請求項23】
前記メタデータが、グループオブピクチャ情報を備える、請求項17に記載の装置。
【請求項24】
プログレッシブフレームをリサイズするように構成されるリサンプラをさらに備える、請求項17に記載の装置。
【請求項25】
前記メタデータが、帯域幅情報を備える、請求項17に記載の装置。
【請求項26】
前記メタデータが、双方向動き情報を備える、請求項17に記載の装置。
【請求項27】
デインタレーサが、
前記インタレースビデオフレームの空間情報および双方向動き情報を生成し、
前記空間情報および双方向動き情報を使用して前記インタレースビデオフレームに基づいてプログレッシブビデオを生成する、ように構成される、請求項17に記載の装置。
【請求項28】
前記メタデータが、比帯域を備える、請求項23に記載の装置。
【請求項29】
前記メタデータが、ルミナンス情報を備える、請求項23に記載の装置。
【請求項30】
前記メタデータが、空間複雑さの値を備える、請求項17に記載の装置。
【請求項31】
前記メタデータが、時間複雑さの値を備える、請求項17に記載の装置。
【請求項32】
前記メタデータが、ルミナンスおよびクロマ情報を備える、請求項17に記載の装置。
【請求項33】
マルチメディアデータを処理するための装置であって、
インタレースビデオを受信するための手段と、
前記インタレースビデオをプログレッシブビデオに変換するための手段と、
前記プログレッシブビデオに関連するメタデータを生成するための手段と、
前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータの少なくとも一部とを符号器に提供するための手段と、を備える装置。
【請求項34】
前記変換手段が、逆テレシネ器を備える、請求項33に記載の装置。
【請求項35】
前記変換手段が、時空間デインタレーサを備える、請求項33に記載の装置。
【請求項36】
前記生成手段が、ショット検出を実行し、前記ショット検出に基づいて圧縮情報を生成するように構成される、請求項33に記載の装置。
【請求項37】
前記生成手段が、帯域幅情報を生成するように構成される、請求項33に記載の装置。
【請求項38】
プログレッシブフレームをリサイズするためにリサンプリングするための手段をさらに備える、請求項33に記載の装置。
【請求項39】
前記提供されたメタデータを使用して前記プログレッシブビデオを符号化するための手段をさらに備える、請求項33に記載の装置。
【請求項40】
前記プログレッシブビデオの雑音低減を行うための手段をさらに備える、請求項33に記載の装置。
【請求項41】
前記メタデータが、グループオブピクチャ情報を備える、請求項33に記載の装置。
【請求項42】
前記メタデータが、双方向動き情報を備える、請求項33に記載の装置。
【請求項43】
前記変換手段が、
前記インタレースビデオフレームの空間情報および双方向動き情報を生成し、
前記空間情報および双方向動き情報を使用して前記インタレースビデオフレームに基づいてプログレッシブビデオを生成する、ように構成される、請求項33に記載の装置。
【請求項44】
前記メタデータが、比帯域を備える、請求項33に記載の装置。
【請求項45】
前記帯域幅情報が、ルミナンス情報を備える、請求項33に記載の装置。
【請求項46】
前記メタデータが、空間複雑さの値を備える、請求項33に記載の装置。
【請求項47】
前記メタデータが、時間複雑さの値を備える、請求項33に記載の装置。
【請求項48】
前記メタデータが、ルミナンスおよびクロマ情報を備える、請求項33に記載の装置。
【請求項49】
マルチメディアデータを処理するための命令を備える機械可読媒体であって、前記命令が実行された時に、機械に
インタレースビデオフレームを受信させ、
前記インタレースビデオフレームをプログレッシブビデオに変換させ、
前記プログレッシブビデオに関連するメタデータを生成させ、
前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータの少なくとも一部とを符号器に提供させる、機械可読媒体。
【請求項50】
インタレースビデオを受信し、
前記インタレースビデオをプログレッシブビデオに変換し、
前記プログレッシブビデオに関連するメタデータを生成し、
前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータの少なくとも一部とを符号器に提供する、ための構成を備えるプロセッサ。
【請求項1】
マルチメディアデータを処理する方法であって、
インタレースビデオフレームを受信することと、
前記インタレースビデオフレームをプログレッシブビデオに変換することと、
前記プログレッシブビデオに関連するメタデータを生成することと、
前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータの少なくとも一部とを符号器に提供することと、を備える方法。
【請求項2】
前記メタデータを使用して前記プログレッシブビデオを符号化することをさらに備える、請求項1に記載の方法。
【請求項3】
前記ビデオフレームを変換することが、前記インタレースビデオフレームをデインタレースすることを備える、請求項1に記載の方法。
【請求項4】
前記メタデータが、帯域幅情報を備える、請求項1に記載の方法。
【請求項5】
前記メタデータが、双方向動き情報を備える、請求項1に記載の方法。
【請求項6】
デインタレースすることが、
前記インタレースビデオフレームの空間情報および双方向動き情報を生成することと、
前記空間情報および双方向動き情報を使用して前記インタレースビデオフレームに基づいて前記プログレッシブビデオを生成することと、を備える、請求項1に記載の方法。
【請求項7】
前記帯域幅情報が、ルミナンス情報を備える、請求項4に記載の方法。
【請求項8】
前記メタデータが、空間複雑さの値を備える、請求項1に記載の方法。
【請求項9】
前記メタデータが、時間複雑さの値を備える、請求項1に記載の方法。
【請求項10】
前記インタレースビデオフレームを変換することが、3/2プルダウンビデオフレームを逆テレシネすることを備える、請求項1に記載の方法。
【請求項11】
前記メタデータが、比帯域情報を備える、請求項10に記載の方法。
【請求項12】
前記プログレッシブビデオをリサイズすることをさらに備える、請求項1に記載の方法。
【請求項13】
グループオブピクチャ情報を決定するために前記プログレッシブビデオを区分化することをさらに備える、請求項12に記載の方法。
【請求項14】
前記区分化が、前記プログレッシブビデオのショット検出を備える、請求項13に記載の方法。
【請求項15】
雑音低減フィルタを用いて前記プログレッシブビデオをフィルタリングすることをさらに備える、請求項14に記載の方法。
【請求項16】
前記メタデータが、ルミナンスおよびクロマ情報を備える、請求項1に記載の方法。
【請求項17】
マルチメディアデータを処理するための装置であって、
インタレースビデオフレームを受信するように構成される受信器と、
前記インタレースビデオフレームをプログレッシブビデオに変換するように構成されるデインタレーサと、
前記プログレッシブビデオに関連するメタデータを生成し、前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータとを符号器に提供するように構成されるパーティショナと、を備える装置。
【請求項18】
前記プログレッシブビデオを通信モジュールから受信し、前記提供されたメタデータを使用して前記プログレッシブビデオを符号化するように構成される符号器をさらに備える、請求項17に記載の装置。
【請求項19】
前記デインタレーサが、時空間デインタレースを実行するように構成される、請求項17に記載の装置。
【請求項20】
プログレッシブビデオの雑音低減を行うための雑音低減フィルタをさらに備える、請求項17に記載の装置。
【請求項21】
前記デインタレーサが、逆テレシネ器を備える、請求項17に記載の装置。
【請求項22】
前記パーティショナが、ショット検出を実行し、前記ショット検出に基づいて圧縮情報を生成するように構成される、請求項17に記載の装置。
【請求項23】
前記メタデータが、グループオブピクチャ情報を備える、請求項17に記載の装置。
【請求項24】
プログレッシブフレームをリサイズするように構成されるリサンプラをさらに備える、請求項17に記載の装置。
【請求項25】
前記メタデータが、帯域幅情報を備える、請求項17に記載の装置。
【請求項26】
前記メタデータが、双方向動き情報を備える、請求項17に記載の装置。
【請求項27】
デインタレーサが、
前記インタレースビデオフレームの空間情報および双方向動き情報を生成し、
前記空間情報および双方向動き情報を使用して前記インタレースビデオフレームに基づいてプログレッシブビデオを生成する、ように構成される、請求項17に記載の装置。
【請求項28】
前記メタデータが、比帯域を備える、請求項23に記載の装置。
【請求項29】
前記メタデータが、ルミナンス情報を備える、請求項23に記載の装置。
【請求項30】
前記メタデータが、空間複雑さの値を備える、請求項17に記載の装置。
【請求項31】
前記メタデータが、時間複雑さの値を備える、請求項17に記載の装置。
【請求項32】
前記メタデータが、ルミナンスおよびクロマ情報を備える、請求項17に記載の装置。
【請求項33】
マルチメディアデータを処理するための装置であって、
インタレースビデオを受信するための手段と、
前記インタレースビデオをプログレッシブビデオに変換するための手段と、
前記プログレッシブビデオに関連するメタデータを生成するための手段と、
前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータの少なくとも一部とを符号器に提供するための手段と、を備える装置。
【請求項34】
前記変換手段が、逆テレシネ器を備える、請求項33に記載の装置。
【請求項35】
前記変換手段が、時空間デインタレーサを備える、請求項33に記載の装置。
【請求項36】
前記生成手段が、ショット検出を実行し、前記ショット検出に基づいて圧縮情報を生成するように構成される、請求項33に記載の装置。
【請求項37】
前記生成手段が、帯域幅情報を生成するように構成される、請求項33に記載の装置。
【請求項38】
プログレッシブフレームをリサイズするためにリサンプリングするための手段をさらに備える、請求項33に記載の装置。
【請求項39】
前記提供されたメタデータを使用して前記プログレッシブビデオを符号化するための手段をさらに備える、請求項33に記載の装置。
【請求項40】
前記プログレッシブビデオの雑音低減を行うための手段をさらに備える、請求項33に記載の装置。
【請求項41】
前記メタデータが、グループオブピクチャ情報を備える、請求項33に記載の装置。
【請求項42】
前記メタデータが、双方向動き情報を備える、請求項33に記載の装置。
【請求項43】
前記変換手段が、
前記インタレースビデオフレームの空間情報および双方向動き情報を生成し、
前記空間情報および双方向動き情報を使用して前記インタレースビデオフレームに基づいてプログレッシブビデオを生成する、ように構成される、請求項33に記載の装置。
【請求項44】
前記メタデータが、比帯域を備える、請求項33に記載の装置。
【請求項45】
前記帯域幅情報が、ルミナンス情報を備える、請求項33に記載の装置。
【請求項46】
前記メタデータが、空間複雑さの値を備える、請求項33に記載の装置。
【請求項47】
前記メタデータが、時間複雑さの値を備える、請求項33に記載の装置。
【請求項48】
前記メタデータが、ルミナンスおよびクロマ情報を備える、請求項33に記載の装置。
【請求項49】
マルチメディアデータを処理するための命令を備える機械可読媒体であって、前記命令が実行された時に、機械に
インタレースビデオフレームを受信させ、
前記インタレースビデオフレームをプログレッシブビデオに変換させ、
前記プログレッシブビデオに関連するメタデータを生成させ、
前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータの少なくとも一部とを符号器に提供させる、機械可読媒体。
【請求項50】
インタレースビデオを受信し、
前記インタレースビデオをプログレッシブビデオに変換し、
前記プログレッシブビデオに関連するメタデータを生成し、
前記プログレッシブビデオの符号化の際に使用するために前記プログレッシブビデオと前記メタデータの少なくとも一部とを符号器に提供する、ための構成を備えるプロセッサ。
【図1】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図13C】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図13C】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【公表番号】特表2009−532741(P2009−532741A)
【公表日】平成21年9月10日(2009.9.10)
【国際特許分類】
【出願番号】特願2009−504372(P2009−504372)
【出願日】平成19年3月13日(2007.3.13)
【国際出願番号】PCT/US2007/063929
【国際公開番号】WO2007/114995
【国際公開日】平成19年10月11日(2007.10.11)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
【公表日】平成21年9月10日(2009.9.10)
【国際特許分類】
【出願日】平成19年3月13日(2007.3.13)
【国際出願番号】PCT/US2007/063929
【国際公開番号】WO2007/114995
【国際公開日】平成19年10月11日(2007.10.11)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
[ Back to top ]