(57)【要約】      （修正有）【課題】グラフィック画像またはビデオ画像に画像改善効果を施すための、適応性で、順応性で、且つ高効率の、高度に設定可能な汎用の測定装置を提供する。【解決手段】ビデオ信号を処理するための装置および方法は、ビデオ信号を受信するための手段と、ユーザ提供の命令セットに基づいて、ビデオウィンドウ検出部、ビデオコンテンツ検出部および適応性コントラスト制御部によるビデオ信号を解析するための手段と、解析にしたがってビデオ信号を処理するための手段と、処理されたビデオ信号を出力するための手段とを備える。【選択図】図１
2008070860.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ信号を処理する方法であって、
前記ビデオ信号を受信し、
ユーザ提供の命令セットに基づいて、前記ビデオ信号を解析し、
前記解析にしたがって、前記ビデオ信号を処理し、
前記処理されたビデオ信号を出力する、
ことを備える方法。
【請求項２】
請求項１に記載の方法であって、
前記処理は、前記解析により必要とされる場合に、適応性コントラスト制御を自動的に実施することを含む、方法。
【請求項３】
請求項１に記載の方法であって、
前記処理は、前記解析により必要とされる場合に、ビデオウィンドウの座標を検出することを含む、方法。
【請求項４】
請求項３に記載の方法であって、
前記処理は、ビデオウィンドウが検出された場合には、前記解析により必要とされる場合に、前記ウィンドウ内の前記ビデオのコンテンツの種類を決定することを含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記方法は、集積回路によって実施される方法。
【請求項６】
ビデオ信号を処理するための装置であって、
前記ビデオ信号を受信するための手段と、
ユーザ提供の命令セットに基づいて、前記ビデオ信号を解析するための手段と、
前記解析にしたがって、前記ビデオ信号を処理するための手段と、
前記処理されたビデオ信号を出力するための手段と、
を備える装置。
【請求項７】
請求項１に記載の方法であって、
前記処理は、前記解析により必要とされる場合に、適応性コントラスト制御を自動的に実施するための手段を含む、方法。
【請求項８】
請求項１に記載の装置であって、
前記処理は、前記解析により必要とされる場合に、ビデオウィンドウの座標を検出するための手段を含む、装置。
【請求項９】
請求項３に記載の装置であって、
前記処理は、ビデオウィンドウが検出された場合には、前記解析により必要とされる場合に、前記ウィンドウ内の前記ビデオのコンテンツの種類を決定するための手段を含む、装置。
【請求項１０】
請求項１に記載の装置であって、
前記装置は、集積回路に組み込まれる装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、ビデオおよびグラフィックの質を向上させることに関する。
【背景技術】
【０００２】
ディスプレイ装置は、入力データをカラーまたはグレースケールの二次元画像として描画する。入力データは、グラフィックであっても良い。このような装置の一例が、ＰＣディスプレイモニタである。入力データは、ビデオ信号であっても良い。このような装置の一例が、ＴＶモニタまたはビデオモニタである。入力データは、グラフィックと埋め込みビデオとの組み合わせであっても良い。このような装置の一例が、ビデオをウィンドウに表示する１つまたは複数のアプリケーションを伴う、グラフィックを表示するＰＣディスプレイモニタ、あるいは例えばピクチャー・イン・ピクチャーなど、グラフィック、全画面ビデオ、もしくはグラフィックとビデオとの組み合わせを表示する２つもしくは３つ以上の入力ポートを有する、ＰＣディスプレイ装置またはＴＶディスプレイ装置である。
【０００３】
通常、ディスプレイ装置における色およびコントラストは、視聴者によって手動で調整される。手動調整の問題は、可能性のある全ての入力データにとって最適であるような質の表示を実現できない点にある。例えば、色あせた画像のコントラストを高めるコントラスト制御設定は、通常の画像にとってはコントラストの過剰をもたらす結果となる。彩度を下げる設定は、彩度の高い画像にとっては最適であるが、無彩色の入力に切り替わった場合には最適とはならない。とりわけ、入力がビデオシーケンスである場合は、入力画像の性質に合わせて表示設定を絶えず切り替えることは、視聴者にとって不適切で且つ不都合である。
【０００４】
コントラストおよび色の手動調整に伴うもう１つの問題は、入力データの性質に対する感度が低い点である。手動のコントラスト制御は、入力される輝度成分に倍数因子を作用させる。輝度値のダイナミックレンジは有限であるので、陰の部分の詳細を見えるようにするために暗い画像のコントラストを高めると、明るいハイライト部分の情報が失われる結果になる。この制御の倍数的性質は、また、主に明るい部分からなる画像の場合はコントラストを高めることができない可能性を暗に示している。
【０００５】
グラフィック画像またはビデオ画像に画像改善効果を施すためには、その画像コンテンツの性質を知る必要がある。グラフィック素材またはビデオ素材をフラットパネルディスプレイに正しく表示させるためには、その素材の様々な特質を測定しておく必要がある。これらの各測定のためにデジタルエレクトロニクスを組み込むことは、不経済である。
【０００６】
したがって、より適応性で、順応性で、且つ高効率の、高度に設定可能な汎用の測定装置が必要とされている。
【発明の開示】
【０００７】
本発明は、概して、画像の主要領域で生じる輝度レベルのコントラストを高めることに関する。本発明は、方法、システム、デバイス、装置、またはコンピュータ読み取り可能媒体を含む様々な形態で実現することができる。以下では、本発明のいくつかの実施形態について議論される。
【０００８】
一実施形態において、ビデオ信号を処理する方法は、ビデオ信号を受信し、ユーザ提供の命令セットに基づいて、ビデオ信号を解析し、解析にしたがって、ビデオ信号を処理し、処理されたビデオ信号を出力することを少なくとも含む。
【０００９】
別の一実施形態において、ビデオ信号を処理するための装置は、ビデオ信号を受信するための手段と、ユーザ提供の命令セットに基づいて、ビデオ信号を解析するための手段と、解析にしたがって、ビデオ信号を処理するための手段と、処理されたビデオ信号を出力するための手段と、を含む。
【００１０】
添付の図面に関連して示される以下の詳細な説明から、本発明の他の態様および利点が明らかになる。
【発明を実施するための最良の形態】
【００１１】
添付の図面に一例を示された本発明の具体的な一実施形態の詳細について、以下で言及される。本発明は、具体的な実施形態に関連して説明される。しかしながら、これは、説明される実施形態に本発明を限定することを意図したものではなく、反対に、添付の特許請求の範囲に定められた本発明の趣旨および範囲に含まれるものとしての置換形態、変更形態、および等価形態を網羅することを意図している。
【００１２】
本発明の目的は、より適応性で、順応性で、且つ高効率の、高度に設定可能な汎用の測定デバイスを提供することにある。この測定デバイスの一例が、測定デバイス１００として図１に示される。図に示されるように、測定デバイス１００は、後ほど説明されるビデオウィンドウ検出部１０２と、ビデオコンテンツ検出部１０４と、自動の適応性コントラスト制御部１０６とを含む。これらは、それぞれ画像解析部１０８に結合される。この説明される実施形態では、ユーザ提供の入力命令１１０が、画像解析部１０８に入力される。画像解析部１０８は、すると、受信された入力命令１１０を使用して、入力ビデオストリーム１１２を解析する。解析に基づいて、入力ビデオストリーム１１２は、ビデオウィンドウ検出部１０２、ビデオコンテンツ検出部１０４、および自動ＡＣＣ１０６の任意または各自に、適切な処理のために転送される。適切に処理されたビデオストリームは、出力インターフェース１１４に出力される。画像解析部１０８は、場合によっては、入力ビデオストリーム１１２に追加の画像処理を実施しないことを決定する。この場合、入力ビデオストリームは、追加の処理を経ることなく単純に出力インターフェース１１４に引き渡される。
【００１３】
自動適応性コントラスト制御
例えば、液晶ディスプレイ（ＤＬＰ）、有機発光ダイオード（ＯＬＥＤ）スクリーン、デジタル光プロセッサ（ＤＬＰ）、ブラウン管（ＣＲＴ）、プラズマパネル、または他のタイプのディスプレイなどのディスプレイに表示するための画像を用意するにあたっては、画素の輝度レベルを調整することによって、画像のコントラストを高めることが望まれる。入力輝度レベルと出力輝度レベルとの間のマッピングを記述するためには、伝達曲線を使用することができる。異なる画像は異なる輝度ヒストグラムを有するので、コントラストを最適に高めるためには、現下の特定の画像に合わせて伝達曲線を調整することが望まれる。
【００１４】
各フレームの終了時には、全ての輝度の総和をもとにヒストグラムが作成される。ヒストグラムは、次いで、このような輝度範囲を正規化するようにスケール変更される。例えば、輝度範囲は、１６〜２３５の合計２２０の輝度ビンであることが可能である。ここで、輝度ビンの平均値は２５６である。ヒストグラムが作成されると、そのフレームの統合輝度ヒストグラムを使用して適切な伝達関数が作成される。こうすれば、個々の画素の輝度よりも、画像内の主要物体の平均輝度の方が重く重み付けされるので、その画像内の主要物体の詳細が強調され、より写実的な伝達関数が提供される。
【００１５】
図２に示される具体的な一実現形態において、ビデオフレームＦsは、Ｍ画素×Ｎ画素の合計Ｐ画素（すなわちＰ＝Ｍ×Ｎ）からなる領域Ｒiに分割される。各画素は、式（１）に示されるように、Ｇ（緑）／２＋Ｒ（赤）／４＋Ｂ（青）／８（ＲＧＢ−ＹＵＢ変換のＹ部分への近似である）として計算される特定の輝度値Ｙijを有する。
【００１６】
【数１】
2008070860.tif 000003
【００１７】
領域Ｒi内の各画素の輝度値が計算されたら、次いで、その領域Ｒi内の全画素の全輝度値の平均値が式（２）を使用して計算される。
【００１８】
【数２】
2008070860.tif 000004
【００１９】
次いで、統合輝度値Ｙregを使用して、ビデオフレームＦsに関する統合輝度ヒストグラムＨintが生成される。このＨintからは、後述されるプロセス６００にしたがって、フレームごとに伝達関数Ｔsが提供され、利用される。
【００２０】
図３は、本発明の一実施形態にしたがったプロセス６００を詳細に示したフローチャートである。プロセス６００は、ビデオフレームを画素データの形で受信することによって、６０２から開始する。６０４において、画素データがＹＵＶフォーマットでない場合には、６０６において、画素データはＹＵＶフォーマットに変換される。いずれの場合にも、６０８において、ビデオフレームは複数の領域に分割され、６１０において、各領域の全画素の輝度値の和に基づいて各領域の輝度値が計算される。６１２では、全ての領域を含む輝度ヒストグラムが生成される。次いで、６１４において、特定のヒストグラム値と平坦なヒストグラム値「１」との差を取ることによって、ヒストグラム差異値が生成される。６１６では、ヒストグラム差異値に強度因子ＳFが乗算され、戻って平坦値に追加される。このようにして、ヒストグラムは、強度値が「０」である場合は平坦な線を、強度値が「１」の場合は元のヒストグラムを提供するように調整される。６１８では、調整されたヒストグラム値に限界を設ける（そうして、最終的伝達関数の任意の点における最大傾斜を制限する）ことによって、その限界を超えたあらゆるヒストグラム値が均等な割り当てによってヒストグラムに追加されるようにする。６２０では、平坦な線のヒストグラムから（出力値が入力値に等しい）直線の伝達関数が得られるように、値０から伝達関数を開始させ、続く各位置にヒストグラムからの対応値を追加し、調整済みのヒストグラムを統合することによって、伝達関数を作成する。伝達関数は、次いで、６２２において利用される。
【００２１】
なお、説明されるこの実施形態において、十分なメモリ（フレームバッファなど）を利用可能な場合には、伝達関数をフレームごとに更新することによって、更新後の伝達関数をその伝達関数の生成元であるフレームに適用することができる。一方、十分なメモリを利用可能でない場合には、更新された伝達関数を、その生成元であるフレームに続く適切な数のフレーム（続く１つまたは２つのフレームなど）に適用することができる。
【００２２】
ビデオコンテンツ検出部
画素データを各自関連付けられた複数の画素で形成された画像について、その画像の輝度値の空間分布を評価することによって、その画像の実度を決定する方法が説明される。一般に、もし画像の大部分が合成であるならば、それはテキストであり、大部分が実物（本物）であるならば、それはビデオ（または写真）であり、合成画像と実画像とをそれぞれいくらかづつ表示しているならば、不均等に分布している場合は「混合」であり、大きな長方形内に集中している場合は「ビデオ・イン・ウィンドウ」である。混合信号の一例として、合成背景をバックに小さな実画像を多数表示するインターネットソースが挙げられる。また、混合信号の別の一例として、より実物に見えるように恐らくはランダムな輝度の追加を経て強化された合成写真記録またはビデオ記録が挙げられる。ビデオ・イン・ウィンドウ信号の一例としては、例えば図５に示される、エッジ２０６を伴う実ビデオ画像２０６と、合成背景２０８とを有する画像フレーム２００のように、合成のカラーもしくはテキストを表示する大きいウィンドウまたは背景に囲まれたアプリケーション・ウィンドウ内に写真記録あるいはビデオ記録を表示するインターネットソースが挙げられる。
【００２３】
一実施形態では、図４に示されるように、ステップ１０２において、ディスプレイユニットによって画像フレームが受信される。ディスプレイユニットは、１．３３：１のフォーマット、１．７８：１のワイドスクリーンフォーマット、もしくは２．３９：１のワイドスクリーンフォーマットなど任意の数のフォーマットで構成されたテレビディスプレイまたはコンピュータモニタであってよい。ステップ１０４において、画像フレームは、複数の画像ブロック２０２に分割される。説明されるこの実施形態において、各画像ブロック２０２は、物理的寸法が同じ寸法である。画像ブロックは、Ｎ行×Ｍ列に配列される。例えば、３２列×３０行の画像ブロックの使用（結果として９６０の長方形の画像ブロックになる）が上手く機能することがわかった。なお、各画像ブロック２０２は、正方形である必要も、サイズが等しい必要もないことに留意するべきである。他の実施形態では、例えばディスプレイの中心または実画像を予期される場所の画像ブロックを小さくすることができる。
【００２４】
当該分野で知られているように、赤、緑、青のクロマ部分からなるＲＧＢ信号は、輝度部分Ｙと２つのクロマ部分Ｕ，ＶとからなるＹＵＶ信号に変換することができる。受信されたＲＧＢ色空間信号が、対応するＹＵＶ色空間信号に変換されると、ステップ１０６において、画像ブロック内の各画素の輝度部分Ｙが、輝度ヒストグラムを生成するために使用される。いくつかの実施形態では、輝度値の範囲を各自表す所定数の輝度ビン（１２８など）を有する輝度ヒストグラムを生成するために、画像ブロック内の全画素が使用される。なお、計算時間および計算リソースの一方または両方を保持するためには、コンピュータメモリ内において、輝度ヒストグラムの各ビンをシングルビットで表現することによって、特定の輝度値範囲が表されているか否かを示せる点を、留意すべきである。例えば、論理値１は、特定のビンが画像ブロック内で表されていることを示すことができ、論理値０は、特定のビンが画像ブロック内で表されていないことを示すことができる。
【００２５】
輝度ヒストグラムを生成するには、特定の画像ブロック内の全部またはほぼ全部の画素が使用されると考えられるが、特定の画像ブロック内の選択された画素のみを使用することが好ましい場合もある。いずれの場合も、特定の画像ブロックの輝度ヒストグラムが生成されたら、全部またはほぼ全部の画像ブロックの輝度ヒストグラムが生成される（しかしながら、選択された画像ブロックのみを使用することが望ましい場合もある）。
【００２６】
全ての輝度ヒストグラムが生成されたら、これらの輝度ヒストグラムは、ステップ１０８において、表示画像における輝度の空間分布を決定するために解析される。この解析は、最も高く表現される輝度値を表すビンを見つけること、最も低く表現される輝度値を表すビンを見つけること、およびそれらの間のビンの数を決定することを含むことができる。この部分の解析は、画像ブロック内で表現される輝度値の範囲を推定するために使用することができる。この範囲が広いほど、画像ブロック内に存在するコンテンツが実物である可能性、すなわちコンテンツがアナログ記録またはデジタル記録を通じて作成された可能性が高くなる。様々な実施形態において、画像フレーム内で表現される輝度値の密度を決定することができる。いくつかの実施形態では、密度は、各画像ブロックで表現されるビンの全範囲のうちの表現されるビンの数として推定することができる。表現されるビンの密度が大きいほど、画像が実物である可能性が高くなる。更に他の実施形態では、表現されるビンのパターンに関係した第３の方法を採用することができる。例えば、表現されるビンがもし散開しているならば、すなわち、もし狭い範囲に固まっていないならば、画像ブロックが実物である可能性は高くなる。
【００２７】
ステップ１１０では、画像ブロックの「実度」を推定するために、上記の解析ツールを１つまたは２つ以上組み合わせて使用することができる。例えば、画像ブロックの実度を推定するために、０から１０までのスケールを使用し、０によって完全に合成の画像ブロックを、１０によって完全に実物の画像ブロックを示すようにすることができる。前述のように、合成画像は、多くの場合、非常に狭い輝度範囲を有するか、または広い輝度範囲内に多くの隙間を有するかのいずれかである。実画像は、輝度範囲が広く、その範囲内の大部分の輝度が表現される傾向がある。
【００２８】
図６Ａおよび図６Ｂは、実画像、およびその画像の全画像ブロックについて得られた実度を示す関連の３次元グラフを２次元表現したものを示している。グラフは、３１列×３２行に分割され且つ画像ブロックの実度を表す０から３０までの高さスケールを有する画像フレームを示している。図７Ａおよび図７Ｂは、同様に、合成画像、およびそれに関連する３次元の実度グラフを示している。最後に、図８Ａおよび図８Ｂも、同様に、ビデオ・イン・ウィンドウ画像、およびそれに関連する３次元の実度グラフを示している。ビデオ・イン・ウィンドウの例では、中央部分が画像フレームの実部分を明確に示している。
【００２９】
次いで、ステップ１１２では、画像フレーム全体について計算された実度を解析することができる。例えば、画像フレームの一領域または画像フレームの全域の実度を得るために、実度を単純に加算することができる。ステップ１１４では、画像フレームの画像コンテンツの性質が決定される。画像は、その実度と、１つまたは２つ以上の規定値との比較に基づいて、いくつかのカテゴリのうちの１つに分類することができる。もし、画像について計算された実度が最大規定値を超えるならば、その画像は実物であると見なされてよく、画像の実度が最小規定値未満であるならば、その画像は合成であると見なされてよく、画像の実度が選択された規定値と規定値との間であるならば、その画像は混合であると見なされてよい。比較のために使用される規定値は、固定の所定数、または可変に設定された数であることが可能である。
【００３０】
先に暗に示されたように、混合画像である場合には、実(ウィンドウ内）部分に各種の画像改善効果を実施することができるように、その混合画像がビデオ・イン・ウィンドウ画像であるか否かを更に決定することが望まれる。ビデオ・イン・ウィンドウの検出は、画像フレーム内の画像ブロックの実度の分布を解析することによって実現することができる。固有のビデオフォーマットを表示するように構成されたディスプレイユニットにおいてビデオ・イン・ウィンドウ信号が検出された場合には、より良い画素割り当てを実現することができる。背景技術の項で言及されたように、レターボクシングに次いでピラーボクシングを組み合わせて実施することによって、マッチボクシング効果を得ることができる。これは、例えば、標準フォーマットの広告をワイドスクリーン表示フォーマットに組み込んだ状態で標準フォーマットのディスプレイユニットに表示している場合に観察されると考えられる。このようにすれば、通常は大きさおよび解像度を激減されるであろうビデオ・イン・ウィンドウ信号を、ディスプレイとの整合性が高く且つソースの意図に沿ったフォーマットで表示することができる。このような画像改善を実現するためには、ビデオウィンドウのエッジ、すなわち実ビデオと合成背景との間の境界を定める必要がある。
【００３１】
最後に、いずれの実施形態についても、説明された実度の測定をフレームごとに実施する必要はない点に、留意するべきである。例えば、４フレームごとに実度の測定を実施すれば、メモリのリソースに負担をかけることなく多くの用途にとって十分であることが示された。
【００３２】
ビデオウィンドウ検出部
一般に、大部分が合成の（すなわち実度の指標が低い）画像は、「テキスト」である可能性が高く、大部分が「実物」である画像は、ビデオである可能性が最も高い。したがって、実度の指標の比較的高い部分の画像が長方形の一領域内に集中している場合には、ビデオウィンドウを特定することが可能である。この状況では、大きな実度ウィンドウを見つけるために、得られたデータの数学的検索が行われ、見つかった場合には、大きな長方形の各エッジ周辺の小さなウィンドウにおいて同様の操作が実施され、各画素の解像度にクローズアップしてエッジの位置を特定することが行われる。このプロセスは、ビデオウィンドウのエッジを決定するために必要とされる回数だけ繰り返すことができる。
【００３３】
なお、本発明は、表示されたビデオウィンドウが合成の背景、またはほとんどもしくは全くばらつきがないために合成の背景に似ている結果となった背景をバックに設定された場合に最も効果的である点を、留意されるべきである。言及されたように、ビデオウィンドウの各種エッジの位置をリアルタイムで評価するのにとりわけ良く適した一実施形態において、ビデオのエッジのおおよその位置の周辺に評価ウィンドウを形成し、これらの評価ウィンドウをほぼ同サイズの領域に分割し、各領域の実度（または合成度の程度でも同様に効果的である）を評価し、その評価ウィンドウ内に実質的に合成から実質的に実物への移行があるか否かを決定することによって確立される。もし、このような移行が検出されたならば、ビデオウィンドウのエッジは、その評価ウィンドウ内に位置することがほぼ確実である（ビデオウィンドウのエッジは、やはり、合成から実物への移行およびその逆を表すことを前提とする）。もし、他に形成されるべき評価ウィンドウがあるならば（評価ウィンドウの数は、最初の評価ウィンドウのサイズと、ビデオウィンドウのエッジの位置に望まれる解像度とに基づく）、次の反復ループにおいて、サイズを小さくした評価ウィンドウが形成され、全ての評価ウィンドウが試されるまで手続きが繰り返される。移行の位置は、ビデオウィンドウのエッジの位置を最も妥当に推測したものとして記録され、保存される。
【００３４】
図９は、本発明の一実施形態にしたがって、エッジ１０４を有する画像１０２を表示させる典型的なビデオフレーム１００を示している。なお、画像１０２は、ビデオウィンドウのエッジのあらゆる決定に先立って、ビデオ画像（すなわち「実物」）であると決定されたと考えられる点を、留意されるべきである。画像１０２がビデオ画像であると決定されると、本発明は、ディスプレイの領域１００をＩ画素およびＪ画素の各辺を各自有する複数の領域Ｒに分割することによって、ビデオ画像１０２のおおよそのサイズおよび位置の決定を行う。各領域は、ほぼ同数の画素（Ｉ×Ｊ）を含む。以下の議論では、領域Ｒを正方形の領域（Ｉ＝Ｊ）と仮定する。したがって、ディスプレイ１００は、Ｍ列とＮ行とに分割され（ＭおよびＮは、ディスプレイ１００に固有なアスペクト比に依存する）、Ｍ×Ｎの領域Ｒm,nを定める。
【００３５】
ディスプレイ１００が適切な数の領域Ｒに分割されると、各領域Ｒは、実質的に実物であるか、または実質的に合成であるかを特徴付けられ、それに応じて実度の指標Ｔを割り当てられる。説明されるこの実施形態では、各領域に固有の輝度分布を使用することによって、その特定の領域について実度の指標Ｔを決定することができる。説明されるこの実施形態では、特定の領域Ｒの輝度分布が合成画像に一致する場合にはその領域Ｒには、実度の指標ＴSが割り当てられる。あるいは、その領域Ｒの輝度分布が実画像に一致する場合には、その領域には、実度の指標ＴR（実画像のそれに一致する）が割り当てられる。実施形態によっては、実度に関する重み係数を使用することが望ましく、実物であると分類された領域（または、反対に合成であると分類された領域）に、より沢山の（または、より少ない）重みを提供することができる。
【００３６】
図１０（明瞭にするため、実画像１０２を取り除き、ビデオウィンドウのエッジ１０４のみを残した）に示されるように、全ての領域Ｒに各自の実度に応じた指標が割り当てられると、次いで、最大数の領域Ｒを内包するとともにディスプレイ画像１００に一致するサイズを有する第１の評価長方形Ｓ1が生成される。こうして、全てまたはほぼ全ての実画像１０２が評価長方形Ｓ1に含まれる可能性を最大にした。いずれの場合も、評価長方形Ｓ1が定められたとき、その長方形Ｓ1に含まれる全ての領域Ｒは、合成（ＴS＝１且つＴR＝０）または実物（ＴS＝０且つＴR＝１）であるかが特定されている。これらの指標は、次いで、式（３）を使用して長方形Ｓ1全体の実度を特徴付けるために使用される。
【００３７】
【数３】
2008070860.tif 000005
【００３８】
ここで、ωは、画像の重み係数（すなわち、ωRは実画像の重み係数、ωSは合成画像の重み係数）である。特定の評価長方形Ｓ1の実度の値ＲＶが計算されると、式（４）を使用して実度の比（ＲＲ）が計算される。
【００３９】
【数４】
2008070860.tif 000006
【００４０】
説明されるこの実施形態において、実度の比ＲＲは、評価長方形Ｓ1に内包された領域における、合成領域に対する実領域の相対的割合を示している。例えば、図１１は、評価四角系Ｓ1にディスプレイ１００の領域全体が内包される場合を示しており、こうして、少なくとも第１回目の走査は、実画像１０２を内包するビデオウィンドウが含まれることを保証される。図３の例において、実度の比（ＲＲ）は、非ゼロの実度を有する全ての領域の和（この場合は８８）を、評価長方形全体の実度の和（この場合は２１６＝Ｍ×Ｎ）で割った値に等しく、この場合は、０．４１に等しい値を提供する。理想を言うと、実度の比ＲＲは、評価長方形Ｓが実画像１０２のみを内包する場合に１．０に等しくなる、またはそれに近くなる（なぜならば、評価長方形Ｓには実領域のみが含まれるのが理想だからである）。したがって、実画像１０２のエッジ１０４の位置を決定するためには、実度の相対的な度合いを表す所定の閾値に基づいて実度の比ＲＲを評価し且つ比較する反復プロセスが実施される。もし、実度の比ＲＲが所定の閾値未満であるならば、利用可能な処理リソースによって実行できる限り多くのビデオウィンドウのサイズおよび位置に対処するために、例えば図１２〜１３に示されるような、先の評価長方形Ｓn-1とサイズおよび位置の異なる別の評価長方形Ｓnが生成される。しかしながら、もし実度の比ＲＲが閾値を上回るとともに先の実度の値ＲＲを上回るならば、格納された実度の比ＲＲは、現行の実度の比ＲＲに更新される。
【００４１】
実画像１０２のエッジ１０４の位置を近似する最終的な評価長方形が決定されると、実画像の４つのエッジのおおよその位置に、それぞれ対応するエッジの具体的な位置を求めるために使用される関連の測定長方形Ｍが重ねられる。例えば、図１４は、４つのエッジ１０４の各推定位置を内包する４つの測定長方形７０２〜７０８を示している。各エッジは、図１０に示されるように、例えば、測定長方形７０２に含まれる列ごとに、実度を列方向に加算することによるエッジ検出手続きを実施される。列ごとに、全ての実度の加算が完了すると、合成と実物との間の移行が存在するか否かを決定するために、各列の実度の和が互いに比較される。表示される画像のうち、ビデオウィンドウに含まれない部分は実質的に全て合成であると仮定されるので、ビデオウィンドウ１０４のエッジは、合成と実物との間の移行の位置を記録することによって検出することができる。このような移行が記録された場合には、その移行の位置は、先の測定長方形と比べて小さいサイズの次の測定長方形を形成するために使用される。このように、反復プロセスは、測定長方形のサイズが、エッジの位置を所定の数的指標（１画素など）以内に特定する所定のサイズになるまで実施される。処理リソースを利用できる場合には、水平方向のエッジに対しては行方向の加算を行うことによって、全てのエッジについて同じ手続きを同時に実施することによって、画像１０２のエッジ１０４の位置が特定される。
【００４２】
図１５は、本発明の一実施形態にしたがったプロセス９００を詳述したフローチャートを示している。したがって、プロセス９００は、実画像部分を有する表示画像を受信することによって、９０２から開始する。９０４において、表示画像は、ほぼ同数の画素を各自有する複数の領域に分割される。９０６において、各領域は、合成領域のみであるか、または実領域のみであるかを指定される。９０８において、少なくとも最小サイズと同じ大きさを持ち且つ複数の領域を含む評価長方形が作成され、９１０において、その評価長方形を形成する領域の性質（すなわち合成であるか、または実物であるか）に基づいて、その評価長方形の実度が決定される。９１２において、実度が、先に格納された実度を上回るならば、格納された実度は、９１４において、現行の実度に更新される。そして、いずれの場合も、制御は、９１６に引き渡され、全ての評価長方形が試されたか否かについての決定がなされる。全ての評価長方形が試されていない場合には、９１８において、評価長方形のサイズが変更され、制御は、９１０に戻される。反対に、９１６において、全ての評価長方形が試されたと決定された場合には、９２０において、実度が閾値実度を上回るか否かについての決定がなされる。実度が閾値実度以下の場合には、プロセス９００は終了し、そうでなければ、制御は、９２２に引き渡され、実画像のおおよそのサイズおよび位置が格納される。
【００４３】
次に、図１６について、プロセス９００は、先に格納された実画像のおおよその位置およびサイズを読み出すことによって、９２４へと続く。９２６において、実画像のエッジのおおよその位置の周辺に、測定ウィンドウが定められ、９２８において、測定ウィンドウは、複数の領域に分割される。９３０において、各領域は、実領域であるか、または合成領域であるかを指定され、９３２において、測定ウィンドウを形成する領域の特性に基づいて、測定ウィンドウの実度の行方向または列方向の分布が決定される。９３４では、実度の分布内に移行が存在するか否かについての決定がなされる。移行が存在しない場合、別の試みを行うならば制御は９３２に戻され、そうでないならばプロセス９００は停止する。反対に、９３４で移行が検出されたならば、９３８において、その移行の中間点の位置が新しいエッジ位置として格納され、９４０において、全ての測定ウィンドウが試されたか否かについての決定がなされる。全ての測定ウィンドウが試されていない場合には、９４２において、格納された中間点位置を中心として測定ウィンドウのサイズが小さくされ、制御は、９３２に戻される。それ以外の場合は、９４４において、格納された測定ウィンドウの中間点位置が、エッジの位置として指定される。
【００４４】
図１７は、本発明の一実施形態にしたがったプロセス２００を示している。プロセス２００は、２０２において、ビデオストリームを受信することによって開始し、ビデオストリームは、２０４において、画像解析部によって、ユーザ提供の命令セットに基づいて解析される。解析に基づいて、ビデオストリームは、更なる処理のために、２０６においてビデオウィンドウ検出部に、２０８においてビデオコンテンツ検出部に、および／または２１０において自動の適応性コントラスト制御部２１０に直接転送することができる。しかしながら、ビデオストリームは、解析に基づいて、未処理のまま２１２において出力に引き渡すことができる点に留意されるべきである。いずれの場合であれ、処理された（または場合によっては未処理の）ビデオストリームは、２１２において出力される。ビデオストリームは、場合によっては、例えば、先ず適応性コントラスト制御を経て、次いでビデオウィンドウ検出部などによる他の処理を経ることができるという意味で、条件処理を経ることが可能である。このように、本発明は、ビデオストリームの処理について、例えば単一の集積回路などによって実現可能な統合的アプローチを提供することによって、製造時間、製造コスト、および総合コストを大幅に低減させる。
【００４５】
ここで開示された装置を含む、本発明の実施形態は、デジタル電子回路構成、またはコンピュータのハードウェア、ファームウェア、もしくはソフトウェア、またはそれらの組み合わせによって実現することができる。本発明の装置の実施形態は、プログラマブルなプロセッサによる実行のために機械可読ストレージデバイス内に具現化されたコンピュータプログラム製品によって実現することができ、本発明の方法のステップは、本発明の機能を実施するために入力データに作用して出力を生成することによって命令プログラムを実行するプログラマブルなプロセッサによって実施することができる。本発明の実施形態は、データよび命令の送受信のために接続された少なくとも１つのプログラマブルなプロセッサと、データストレージシステムと、少なくとも１つの入力デバイスと、少なくとも１つの出力デバイスと、を含むプログラマブルなシステム上において実行可能な１つまたは複数のコンピュータプログラムによって有利に実現することができる。各コンピュータプログラムは、高水準のプロシージャ型もしくはオブジェクト指向型のプログラミング言語によって、または、もし望まれるならばアセンブリ言語もしくはマシン言語によって実現することができ、いずれの場合も、言語は、コンパイラ型またはインタープリタ型の言語であることが可能である。
【００４６】
適切なプロセッサは、例えば、汎用および専用の両方のマイクロプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリ、またはその両方からの命令およびデータを受信する。一般に、コンピュータは、データファイルを格納するための１つまたは複数の大容量ストレージデバイスを含む。このようなデバイスは、内蔵されたハードディスクおよび取り外し可能なディスクなどの磁気ディスク、光磁気ディスク、ならびに光ディスクを含む。コンピュータプログラム命令およびデータを具現化するのに適したストレージデバイスは、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵されたハードディスクおよび取り外し可能なディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭディスクを含む、あらゆる形態の不揮発性メモリを含む。上記のいずれも、ＡＳＩＣ（特定用途向け集積回路）によって強化される、またはＡＳＩＣに組み込まれることが可能である。
【００４７】
以上、本発明の複数の実現形態が説明された。しかしながら、本発明の趣旨および範囲から逸脱することなく他にも様々な変更を加えられることが理解される。したがって、他の実施形態も、添付の特許請求の範囲の範囲内である。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態にしたがったシステムの図である。
【図２】本発明の一実現形態をグラフで説明した図である。
【図３】本発明の一実施形態にしたがった、統合輝度ヒストグラムに基づいて伝達関数を生成するためのプロセスを詳述したフローチャートである。
【図４】本発明の一実施形態にしたがった、画像の実度を決定するプロセスを説明したフローチャートである。
【図５】画像ブロックに分割された典型的な画像フレームの図である。
【図６Ａ】代表的な実画像を示した図である。
【図６Ｂ】本発明の一実施形態にしたがった、図６Ａの関連の実画像の実度を示した代表的なグラフである。
【図７Ａ】代表的な合成画像を示した図である。
【図７Ｂ】本発明の一実施形態にしたがった、図７Ａの関連の合成画像の実度を示した代表的なグラフである。
【図８Ａ】代表的なビデオ・イン・ウィンドウ画像を示した図である。
【図８Ｂ】本発明の一実施形態にしたがった、図８Ａの関連のビデオ・イン・ウィンドウ画像の実度を示した代表的なグラフである。
【図９】本発明の一実施形態にしたがった、エッジを有する画像を表示させる典型的なビデオフレームの図である。
【図１０】本発明の一実施形態にしたがった、エッジを有する画像を表示させる典型的なビデオフレームの図である。
【図１１】本発明の一実施形態にしたがった、評価長方形の実度と所定の閾値実度との典型的な比較を示した図である。
【図１２】本発明の一実施形態にしたがった、ビデオウィンドウのエッジの位置の特定を説明した図である。
【図１３】本発明の一実施形態にしたがった、ビデオウィンドウのエッジの位置の特定を説明した図である。
【図１４】本発明の一実施形態にしたがった、ビデオウィンドウのエッジの位置の特定を説明した図である。
【図１５】本発明の一実施形態にしたがった、ビデオウィンドウのエッジの位置を決定するプロセスを詳述したフローチャートである。
【図１６】本発明の一実施形態にしたがった、ビデオウィンドウのエッジの位置を決定するプロセスを詳述したフローチャートである。
【図１７】本発明の一実施形態にしたがったプロセスを詳述したフローチャートである。
【図１】
2008070860.tif 000007
【図２】
2008070860.tif 000008
【図３】
2008070860.tif 000009
【図４】
2008070860.tif 000010
【図５】
2008070860.tif 000011
【図６Ａ】
2008070860.tif 000012
【図６Ｂ】
2008070860.tif 000013
【図７Ａ】
2008070860.tif 000014
【図７Ｂ】
2008070860.tif 000015
【図８Ａ】
2008070860.tif 000016
【図８Ｂ】
2008070860.tif 000017
【図９】
2008070860.tif 000018
【図１０】
2008070860.tif 000019
【図１１】
2008070860.tif 000020
【図１２】
2008070860.tif 000021
【図１３】
2008070860.tif 000022
【図１４】
2008070860.tif 000023
【図１５】
2008070860.tif 000024
【図１６】
2008070860.tif 000025
【図１７】
2008070860.tif 000026
【外国語明細書】
1. TITLE OF THE INVENTION
UNIVERSAL, HIGHLY CONFIGURABLE VIDEO AND GRAPHIC MEASUREMENT DEVICE
2. DETAILED DESCRIPTION OF THE INVENTION
BACKGROUND
Field of the Invention
[0001]    This invention generally relates to improving video and graphics quality.
Description of Related Art
[0002]    A display device renders input data as a two-dimensional image in color or grayscale. The input data may be graphical in nature. An example of such a device is a PC display monitor. The input data may be a video signal. An example of such a device is a TV or video monitor. The input data may be a combination of graphics and embedded video. An example of such a device is a PC display monitor displaying graphics with one or applications displaying video in a window, or a PC/TV display device with two or more input ports displaying graphics or full-screen video or a combination of graphics and video, e.g. Picture-in-Picture.
[0003]    A viewer typically manually controls the color and contrast of a display device. The issue with manual control is that it does not result in optimal display quality for all possible input data. For example, setting the contrast control to increase the contrast of a washed out image will result in over-contrasted images for a normal image. Decreasing the color saturation setting for a highly saturated image would be optimal, but if the input changes to a de-saturated image, this setting would now be sub-optimal. It is not feasible or convenient for a viewer to continuously change display settings to adapt to the nature of the input image, particularly when the input is a video sequence.
[0004]    Another problem with manual control of contrast and color is that it is not sensitive to the nature of the input data. Manual contrast control applies a multiplicative factor to the input luma component. Due to the finite dynamic range of luma values, increasing the contrast of a dark image in order to be able to see the shadow details results in loss of information in the bright highlights. The multiplicative nature of this control also implies that there is no possibility of increasing the contrast of a predominantly bright image.
[0005]    In order to apply image improvement effects to graphics or video images it is necessary to know the nature of the image content. In order to correctly display graphics or video material on a flat panel display, various qualities of the material have to be measured. Implementing digital electronics for each of these measurements can be wasteful.
[0006]    Therefore, what is needed is a universal, highly configurable measurement device that is more adaptive, flexible, and efficient.
Summary of the invention
[0007]    Broadly speaking, the invention relates to increasing the contrast for luminance levels that occur in significant areas of the image.  The invention can be implemented in numerous ways, including as a method, system, device, apparatus, or computer readable medium.  Several embodiments of the invention are discussed below.
[0008]    In one embodiment, a method of processing a video signal includes at least the following operations, receiving the video signal, analyzing the video signal based upon a user supplied set of instructions, processing the video signal in accordance with the analysis; and outputting the processed video signal.
[0009]    In another embodiment, an apparatus for processing a video signal includes means for receiving the video signal, means for analyzing the video signal based upon a user supplied set of instructions, means for processing the video signal in accordance with the analysis, and means for outputting the processed video signal.
[0010]    Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings.
DETAILED DESCRIPTION OF SELECTED EMBODIMENTS
[0011]    Reference will now be made in detail to a particular embodiment of the invention an example of which is illustrated in the accompanying drawings.  While the invention will be described in conjunction with the particular embodiment, it will be understood that it is not intended to limit the invention to the described embodiment.  To the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
[0012]    The purpose of the invention is to provide a universal, highly configurable measurement device that is more adaptive, flexible, and efficient an example of which is illustrated in Fig. 1 as measurement device 100.  As illustrated, measurement device 100 includes, video window detector 102, video content detector 104, and automatic adaptive contrast control 106 each described below and each of which coupled to image analyzer 108.  In the described embodiment, user provided input instructions 110 are input to image analyzer 108 that, in turn, uses the received input instructions 110 to analyze input video stream 112.  Based upon the analysis, input video stream 112 is forwarded to any or each of video window detector 102, video content detector 104, and automatic ACC 106 for appropriate processing.  Once appropriately processed, the processed video stream is output to output interface 114.  In some cases, image analyzer 108 determines that no additional image processing is to be performed on input video stream 112 that is, in this case, simply passed through to output interface 114 without additional processing.
AUTOMATIC ADAPTIVE CONTRAST CONTROL
[0013]    When preparing an image for presentation, for example on a display such as a Liquid Crystal Display (LCD), an Organic Light Emitting Diode (OLED) screen, a Digital Light Processor (DLP), a Cathode Ray Tube (CRT), a plasma panel or other type of display, it is desirable to enhance the contrast of the image by adjusting pixel luminance levels.  A transfer curve can be used for describing a mapping between input luminance levels and output luminance levels.  Since different images have different luminance histograms, it is desirable to tailor the transfer curve to the particular image at hand in order to obtain optimal contrast enhancement.
[0014]    A histogram is then created of all the sums of luminance at the end of each frame.  The histogram is then rescaled such that the luminance range is normalized.  For example, the luminance range can be from 16 to 235 for a total of 220 luminance bins where an average value of the bins is 256.  Once the histogram has been created, an appropriate transfer function is created using the integrated luminance histogram for the frame.  In this way detail within significant objects in the image are enhanced since the average luminance of objects in an image are weighted more than then the luminance of individual pixels providing a more realistic transfer function.
[0015]    In a particular implementation as shown in Fig. 2, a video frame Fs is divided into regions Ri of M pixels by N pixels for a total of P pixels (i.e., P = M x N) each having a particular luminance value Yi,j calculated as G(reen)/2 plus R(ed)/4 plus B(lue)/8 (being an approximation to the Y portion of the RGB to YUV conversion) as shown in Eq. (1):
Yi,j  =  (0.257 * Ri,j) + (0.504 * Gi,j) + (0.098 * Bi,j)   (Eq. 1)
Once the luminance value for each pixel in a region Ri is calculated, an average value of all the luminance values of all the pixels in the region Ri is then calculated using Eq. (2):
2008070860.tif 000027
[0016]    An integrated luminance histogram Hint for the video frame Fs is then generated using the integrated luminance values Yreg from which a transfer function Ts is provided and applied on a frame by frame basis according to the process 600 described below.
[0017]    Fig. 3 shows a flowchart detailing a process 600 in accordance with an embodiment of the invention.  The process 600 begins at 602 by receiving a video frame in the form of pixel data.  If, at 604, the pixel data is not YUV format, that the pixel data is converted to YUV format at 606.  In any case, at 608, the video frame is split into a number of regions while at 610, a luminance value for each region is calculated based upon a summation of all pixel luminance values for each of the regions.  At 612, a luminance histogram is generated that includes all regions. Next, at 614 a histogram difference value is generated by taking a difference between a particular histogram value and a flat histogram value of one ("1"). At 616, the histogram difference value is then multiplied by a strength factor SF which is then added back to the flat value.  In this way, the histogram is conditioned such that a strength value of zero ("0") results in a flat line whereas a strength value of one ("1") results in the original histogram.  At 618, the conditioned histogram values are then limited (thereby limiting the maximum slope at any point in the final transfer function) such that any histogram values above the limit are added back into the histogram by sharing them evenly.  At 620, a transfer function is created by integrating the conditioned histogram by starting the transfer function at a value of 0 and then for each subsequent position, add in the corresponding value from the histogram such that a flat line histogram would give a straight line transfer function (where output values would equal input values).  The transfer function is then applied at 622.
[0018]    It should be noted that in the described embodiment, the transfer function is updated every frame such that if sufficient memory is available (such as a frame buffer) the updated transfer function can be applied to the frame from which the transfer function was generated.  Otherwise, if sufficient memory is not available, then the updated transfer function can be applied an appropriate number of frames subsequent to the frame from which it was generated (such as one or two frames later).
VIDEO CONTENT DETECTOR
[0019]    A method of determining a realness value of an image formed of a plurality of pixels each having associated pixel data by evaluating the spatial distribution of luminance values of the image is described.  In general, if an image is mostly synthetic, it is textual, if it is mostly real, it is video (or photo), if the image displays some of each, it is "mixed" if distributed unevenly, or "video-in-window" if concentrated in a large rectangle.  An example of a mixed signal may be an Internet source displaying many small real images on a synthetic background.  An example of a mixed signal may even be a synthetic photo or video recording that has been enhanced, perhaps through random luminance addition, to look more real.  An example of a video-in-window signal may be an Internet source displaying a photo or video recording in an application window that is surrounded by a larger window or background displaying synthetic colors or text, as shown in Fig. 5 illustrating an image frame 200 having a real video image 206 with edges 204 and a synthetic background 208.
[0020]    In one embodiment, as shown in Fig. 4, an image frame is received at step 102 at a display unit that may be a television display or computer monitor configured in any number of formats such as 1.33:1 format, widescreen 1.78:1 format or widescreen 2.39:1 format.  At step 104, the image frame is subdivided into a plurality of image blocks 202.  In the described embodiment, each of the image blocks 202 is of equal size in physical dimension.  The image blocks are organized into N rows and M columns.  By way of example, the use of 32 columns and 30 rows of image blocks (resulting in 960 rectangular image blocks) has been shown to work well.  It should be noted that each of the image blocks 202 need not be square, nor need they be of equal size.  In other embodiments, the image blocks may be smaller, for example, in the center of the display or where a real image is expected.
[0021]    As is known in the art, an RGB signal comprising the chroma portions red, green, and blue can be transformed into a YUV signal comprising the luminance portion Y, and two chroma portions U and V.  Once an incoming RGB color space signal is converted to a corresponding YUV color space signal, the luminance portion, Y, for each of the pixels in an image block is used to generate a luminance histogram in step 106.  In some embodiments, all of the pixels in the image block are used to generate a luminance histogram having a predefined number of luminance bins (such as 128) each of which represents a range of luminance values.  It should be noted that in order to preserve computing time and/or resources, each bin of the luminance histogram may be represented in a computer memory by a single bit indicating whether or not a particular range of luminance values is represented.  By way of example, a logic 1 may indicate that a bin is represented in the image block while a logic 0 may indicate that the particular bin is not represented.
[0022]    Although it is contemplated that all, or substantially all, of the pixels in a particular image block are used, in some cases it may be preferable to use only selected ones of the pixels in a particular image block to generate the luminance histograms.  In any case, once a luminance histogram is generated for a particular image block, a luminance histogram is generated for all, or substantially all, of the image blocks (however, in some cases it may be desirable to use only selected ones of the image blocks).
[0023]    Once all of the luminance histograms have been generated, the luminance histograms are analyzed at step 108 in order to determine a spatial distribution of luminance across the displayed image.  The analysis may include finding the bin representing the highest represented luminance value, finding the bin representing the lowest represented luminance value and determining the number of bins in between.  This portion of the analysis may be used to estimate the range of represented luminance values in the image block.  The wider the range, the more likely the content present in the image block is real; that is, that the content was produced through an analog or digital recording.  In various embodiments, the density of represented luminance values in the image frame may be determined.  In some embodiments, the density may be estimated as a number of bins represented out of the total range of represented bins for each image block.  The greater the density of bins represented, the more likely that the image is real.  In still other embodiments, a third method of analysis may be employed having to do with the pattern of represented bins.  By way of example, if the represented bins are spread out, i.e. not clumped into a narrow range, then it is more likely that the image block is real.
[0024]    The combination of one or more of the aforementioned analysis tools may then be used to estimate the "realness" of an image block in the image frame at 110.  By way of example, a scale from 0 to 10, where a 0 indicates an entirely synthetic image block and a 10 indicates an entirely real image block, may be used to estimate a realness value for the image block.  As stated earlier, a synthetic image will often have a very narrow range of luminances or a wide range but with many gaps in between.  A real image will tend to have a wider range of luminances with most of the luminances in the range represented.
[0025]    Figs. 6A and 6B illustrate a real image and an associated two-dimensional rendition of a three-dimensional plot showing the realness values obtained for all of the image blocks of the image.  The plot shows an image frame divided into 31 rows and 32 columns and having a height scale ranging from 0 to 30 representing the realness value of the image block.  Figs. 7A and 7B similarly illustrate a synthetic image and associated three-dimensional realness value plot.  Lastly, Figs. 8A and 8B similarly illustrate a video-in-window image and associated three-dimensional realness value plot.  In the video-in-window example, the central region clearly shows the real portion of the image frame.
[0026]    At 112, the realness values computed for the entire image frame may then be analyzed.  By way of example, the realness values may simply be added to obtain a realness value for a region of the image frame, or the image frame in its entirety.  At 114, the nature of the image content of the image frame is determined.  The image may be classified into one of a number of categories based upon a comparison between its realness value and one or more specified values.  If the realness value computed for the image is greater than a largest specified value, the image may be considered real, if the realness value of the image is less than a smallest specified value, the image may be considered synthetic, and if the realness value of the image is in between selected specified values, the image may be considered mixed.  The specified values used for comparison may be fixed predetermined numbers, or numbers that are made variable.
[0027]    As alluded to earlier, in the case of mixed images, it is further desirable to determine if the mixed image is a video-in-window image such that various image improvement effects might be performed on the real (windowed) portion.  Video-in-window detection may be achieved by analyzing the distribution of the realness values of the image blocks in the image frame.  In a display unit configured to display a native video format, if a video-in-window signal is detected, a better allocation of pixels may be achieved.  As mentioned in the background, a matchboxing effect may result from a combination of letterboxing followed by pillarboxing, such as would be observed if a standard format advertisement is incorporated into a widescreen display format being displayed on a standard format display unit.  In this manner, the video-in-window signal that would normally be dramatically reduced in size and resolution, may be displayed in a format more consistent with the display as well as that intended by the source.  In order to make such image improvements, it is necessary to define the edges of the video window, that is, the boundaries between the real video and the synthetic background.
[0028]    Finally, it should be noted that the described realness measurement need not be performed on every frame in all embodiments.  By way of example, it has been shown that performing the realness measurement every four frames is sufficient for many applications while not burdening memory resources.
VIDEO WINDOW DETECTOR
[0029]    In general, an image that is mostly synthetic (i.e., a low realness index) is likely to be "text" whereas a mostly "real" is most likely video.  Therefore, a video window can be identified if a portion of the image having a relatively high realness index is concentrated in a rectangular area.  In this situation, the resulting data is then searched mathematically for a large window of realness, and if found, a similar operation is performed in a smaller window around each of the edges of the large rectangle, in turn, zooming in to a resolution of one pixel, thus identifying the position of the edge.  This process can be repeated as often as necessary in order to maintain a fix on the edges of the video window.
[0030]     It should be noted, that the invention is most effective when the displayed video window is set against a synthetic background, or a background having little or no variation that as a result would mimic a synthetic background.  That having been said, in an embodiment that is particularly well suited for real time evaluation of the locations of the various edges of a video window are established by forming evaluation windows around the approximate locations of the video edges, dividing the evaluation windows into approximately equal size regions, evaluating the realness of each of the regions (or the degree of synthetic-ness is just as effective), and determining if there is a transition from essentially synthetic to essentially real in an evaluation window.  If such a transition is detected, then it is highly probable that a video window edge is located within the evaluation window (again presupposing that an video window edge represents the transition from synthetic to real and vice versa).  If there are additional evaluation windows to be formed (the number of evaluation windows based upon the size of the original evaluation windows and a desired resolution of the location of the video window edge), then in a next iteration, a reduced size evaluation window is formed and the procedure is repeated until all evaluation windows have been tested.  The location of the transition is noted and saved as the best guess of the location of the video window edge.
[0031]    Fig. 9 shows a representative video frame 100 from which an image 102 having edges 104 is displayed in accordance with an embodiment of the invention.  It should be noted that it is contemplated that the image 102 is determined to be a video image (i.e., "real") prior to any determination of the video window edges.  Once it is determined that the image 102 is a video image, the invention provides for determining an approximate size and location of the video image 102 by dividing the display area 100 into a number of regions R each being I, J pixels per side, respectively, where each of the regions includes an approximately equal number of pixels (I x J).  For the remainder of this discussion, the regions R are assumed to be square regions (I = J), therefore, the display 100 is divided in M columns and N rows (where N and M depend upon the native aspect ration of the display 100) that define (MxN) number of regions Rm,n.
[0032]    Once the display 100 has been divided in the appropriate number of regions R, each region R is characterized as being essentially real or synthetic and assigned a realness index T accordingly.  In the described embodiment, the realness index T can be determined for a particular region by using the characteristic luminance distribution for each region.  In the described embodiment, a luminance distribution consistent with a synthetic image for a particular region R would result in that region being assigned a realness index of Ts.  Alternatively, if the luminance distribution of the region R is consistent with a real image, then a realness index TR (consistent with a real image) would be assigned to the region R.  In some embodiments, it may be desirable to provide realness weighting factors ω that can be used to provide more (or less) weight to those regions classified as real (or, conversely, those regions considered synthetic).
[0033]    Referring now to Fig. 10 (for sake of clarity, the real image 102 has been removed leaving only the video window edges 104), once all the regions R have been indexed according to their respective realness values, a first evaluation rectangle S1 is generated that incorporates a maximum number of the regions R consistent with the size of the displayed image 100 thereby maximizing the probability that all or substantially all of the real image 102 will be included in the evaluation rectangle S1.  In any case, once the evaluation rectangle S1 has been defined, all the regions R included in the rectangle S1 have been identified as being either a synthetic (TS = 1 and TR = 0) or real (TS = 0 and TR = 1) that is then used to characterize the realness of the entire rectangle S1 using Eq. (3):
2008070860.tif 000028
where ω is the image weighting factor (i.e., ωR is the real image weighting factor and ωS is the synthetic image weighting factor).  Once the realness value RV for a particular evaluation rectangle S1 is calculated, a determination of the realness ratio (RR) using Eq. (4) is calculated 
2008070860.tif 000029
[0034]     In the described embodiment, the realness ratio RR indicates the relative proportion of real to synthetic regions encompassed by the evaluation rectangle S1.  For example, Fig. 11 shows the case where the evaluation rectangle S1 encompasses the entire display area 100 thereby assuring that at least in the first pass, the video window encompassing the real image 102 is included.  In the example of Fig. 3, the realness ratio (RR) is equal to the summation of all the regions having a non-zero realness value (which in this case is 88) divided by the summation of all the realness values for the entire evaluation rectangle (which in this case is 216 = M x N) giving a realness ratio RR equal to 0.41.  In the ideal case, when the evaluation rectangle S encompasses only the real image 102, the realness ratio RR will be equal to 1.0, or thereabouts (since there will ideally be only real regions included in the evaluation rectangle S).  Therefore, in order to determine the location of the edges 104 of the real image 102, an iterative process is performed where the realness ratio RR is evaluated and compared to a pre-determined threshold value indicative of a relative degree of realness.  If the realness ration RR is not equal to or greater than the pre-determined threshold value, then another evaluation rectangle Sn is generated that differs from the previous evaluation rectangle Sn-1 by size and location, for example, as illustrated in Figs. 12 - 13 in order to account for as many possible sizes and locations of video windows as feasible with the processing resources available.  If, however, the realness ratio RR is greater than the threshold and greater than the previous realness ratio RR, then the a stored realness ratio RR is updated to the current realness ratio RR.
[0035]    Once a final evaluation rectangle is determined that approximates the location of the edges 104 of the real image 102, the approximate locations of the four edges of the real image are then overlaid by associated measurement rectangles M each of which is used to evaluate a particular location of a corresponding one of the edges.  For example, Fig. 14 shows four measurement rectangles 702 - 708 encompassing each of the presumed locations of the four edges 104.  For each edge, an edge detection procedure is carried out as illustrated in Fig. 10 using, in this example, a column-wise summation of the realness values performed for each of the columns included in the measurement rectangle 702.  Once the summation of all of the realness values for each of the columns is complete, the realness summation values for each of the columns are compared to each other in order to determine if there is a transition between synthetic and real.  Since it is presumed that that the portion of the displayed image that is not included in the video window is essentially all synthetic, then the edge of the video window 104 can be detected by noting the location of the transition between synthetic and real.  If such a transition is noted, the location of the transition is used to form a next measurement rectangle that is reduced in size as compared to the previous measurement rectangle.   In this way, the iteration is carried out until the measurement rectangle is a predetermined size that localizes the location of the edge within a predetermined metric (such as one pixel).  An equivalent procedure is also carried out concurrently, if the processing resources are available, for all the edges using row-wise summation for horizontal edges thereby locating the edges 104 of the image 102.
[0036]    Fig. 15 shows a flowchart detailing a process 900 in accordance with an embodiment of the invention.  Accordingly, the process 900 begins at 902 by receiving a displayed image having a real image portion. At 904, the displayed image is divided into a number of regions each having approximately the same number of pixels.  At 906, each of the regions is designated as being either only a synthetic region or a real region.  At 908, an evaluation rectangle at least as large as a minimum size is created that includes a number of regions and at 910, a realness value of the evaluation rectangle is determined based upon the nature (i.e., synthetic or real) of the regions that form the evaluation rectangle.  At 912, if the realness value is greater than a previously stored realness value then the stored realness value is updated with the current realness value at 914 and in either case control is passed to 916 where a determination is made if all evaluation rectangles have been tried.  If all evaluation rectangles have not been tried, then the size of the evaluation rectangle is changed at 918 and control is passed back to 910.  On the other hand, if at 916 it is determined that all evaluation rectangles have been tried, then at 920, a determination is made whether or not the realness value is greater than a threshold realness value.  If the realness value is not greater than the threshold realness value, then the process 900 ends, otherwise, control is passed to 922 where the approximate size and location of the real image is stored.
[0037]    Turning now to Fig. 16, the process 900 continues at 924 by retrieving the approximate location and size of the real image previously stored.  At 926, a measurement window is defined around the approximate location of the real image edges and at 928 the measurement window is divided into regions.  At 930, each of the regions is designated as being either a real region or a synthetic region and at 932 a row-wise or column-wise distribution of realness values of the measurement window is determined based upon the nature of the regions that form the measurement window.  At 934, a determination is made if there is a transition in the distribution of realness values.  If there is no transition, then at 936 if another attempt is to be made then control is passed back to 932, otherwise the process 900 stops.  On the other hand if a transition was detected at 934, then at 938 the location of the midpoint of the transition is stored as a new edge location and at 940 a determination is made if all measurement windows have been tried.  If all measurement windows have not been tried, then at 942 the size of measurement window is reduced with center at stored mid-point location and control is passed back to 932 otherwise at 944 the stored location of the midpoint of the measurement window is designated as the location of an edge.
[0038]    Fig. 17 illustrates a process 200 in accordance with an embodiment of the invention.  The process 200 begins at 200 by receiving a video stream at 202 and based upon a user supplied set of instructions that can be used by an image analyzer to analyze the video stream at 204.  Based upon the analysis, the video stream can be forward for further processing directly to video window detector at 206, video content detector at 208, and/or automatic adaptive contrast control at 210.  It should be noted, however, that based upon the analysis, video stream can remain unprocessed and be passed directly to output at 212.  In any case, once either the video stream is processed (or unprocessed as the case may be), the video stream is output at 212.  In some cases, the video stream can undergo conditional processing in that the video stream can be processed by, for example, the adaptive contrast control first, followed by other processing such as video window detector.  In this way, the invention provides for an integrated approach to processing a video stream that can be implemented as, for example, a single integrated circuit thereby greatly reducing the time to manufacture, cost of manufacture, and overall cost.
[0039]    Embodiments of the invention, including the apparatus disclosed herein, can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus embodiments of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output.  Embodiments of the invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language.
[0040]    Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
[0041]    A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention.  Accordingly, other embodiments are within the scope of the following claims.
3. BRIEF DESCRIPTION OF THE DRAWINGS
[0042]
Fig. 1 shows a system in accordance with an embodiment of the invention.
Fig. 2 graphically illustrates an implementation of the invention.
Fig. 3 shows a flowchart detailing a process for generating a transfer function based upon an integrated luminance histogram in accordance with an embodiment of the invention.
Fig. 4 shows a flowchart illustrating a process of determining a realness value of an image in accordance with an embodiment of the present invention.
Fig. 5 shows a representative image frame subdivided into image blocks.
Fig. 6A shows an exemplary real image.
Fig. 6B shows an exemplary realness value plot of the associated real image of   Fig. 6A in accordance with an embodiment of the present invention.
Fig. 7A shows an exemplary synthetic image.
Fig. 7B shows an exemplary realness value plot of the associated synthetic image of Fig. 7A in accordance with an embodiment of the present invention.
Fig. 8A shows an exemplary video-in-window image.
Fig. 8B shows an exemplary realness value plot of the associated video-in-window image of Fig. 8A in accordance with an embodiment of the present invention.
Figs. 9 and 10 show a representative video frame from which an image having edges is displayed in accordance with an embodiment of the invention.
Fig. 11 shows a representative evaluation rectangle realness value comparison to a predetermined realness value threshold in accordance with an embodiment of the invention.
Figs. 12 - 14 illustrate locating an edge of a video window in accordance with an embodiment of the invention.
Figs. 15 and 16 show a flowchart detailing a process of determining a location of a video window edge in accordance with an embodiment of the invention.
Fig. 17 shows a flowchart detailing a process in accordance with an embodiment of the invention.
1.  A method of processing a video signal, comprising:
receiving the video signal;
analyzing the video signal based upon a user supplied set of instructions; 
processing the video signal in accordance with the analysis; and
outputting the processed video signal.
2.  A method as recited in claim 1, wherein the processing comprises:
automatically performing adaptive contrast control as required, if any, by the analysis.
3.  A method as recited in claim 1, wherein the processing comprises:
detecting co-ordinates of a video window, if any, as required by the analysis.
4.  A method as recited in claim 3, wherein the processing comprises:
if a video window is detected, then determining a content type of the video in the window if required by the analysis.
5.  A method as recited in claim 1, wherein the method is performed by an integrated circuit.
6.  An apparatus for processing a video signal, comprising:
means for receiving the video signal;
means for analyzing the video signal based upon a user supplied set of instructions;
means for processing the video signal in accordance with the analysis; and
means for outputting the processed video signal.
7.  A method as recited in claim 1, wherein the processing comprises:
means for automatically performing adaptive contrast control as required, if any, by the analysis.
8.  An apparatus as recited in claim 1, wherein the processing comprises:
means for detecting co-ordinates of a video window, if any, as required by the analysis.
9.  An apparatus as recited in claim 3, wherein the processing comprises:
means for determining a content type of the video in the window if required by the analysis if a video window is detected.
10.  An apparatus as recited in claim 1, wherein the apparatus is incorporated into an integrated circuit.
1. ABSTRACT
An apparatus and method for processing a video signal includes means for receiving the video signal, means for analyzing the video signal based upon a user supplied set of instructions, means for processing the video signal in accordance with the analysis, and means for outputting the processed video signal.
2. REPRESENTATIVE DRAWING
Fig.1
2008070860.tif 000030
2008070860.tif 000031
2008070860.tif 000032
2008070860.tif 000033
2008070860.tif 000034
2008070860.tif 000035
2008070860.tif 000036
2008070860.tif 000037
2008070860.tif 000038
2008070860.tif 000039
2008070860.tif 000040
2008070860.tif 000041
2008070860.tif 000042
2008070860.tif 000043
2008070860.tif 000044
2008070860.tif 000045
2008070860.tif 000046
2008070860.tif 000047
2008070860.tif 000048
2008070860.tif 000049