(57)【要約】      （修正有）【課題】ビデオ及びグラフィックの画質を改善し、計算やメモリリソースを有効利用する。【解決手段】選択部分１００の輝度値の分布に基づく実性に関する画像の選択部分の特徴付けに基づいて、表示されたビデオウィンドウの位置を自動的に特定する。画像において、実物である大きな矩形１０４を数学的に検索し、発見された場合、大きな矩形１０４のそれぞれのエッジの周りにある更に小さな矩形Ｓ１において、同様の動作を実行し、一ピクセルの解像度まで順にズームインして、エッジの位置を特定する。このプロセスは、ビデオウィンドウのエッジに対する固定を維持するために、必要に応じて何度も反復できる。【選択図】図２
2008046608.tif 000002
【特許請求の範囲】
【請求項１】
表示画面に表示されたビデオウィンドウの位置を決定する方法であって、
その集合が実画像に関連付けられている、関連ピクセルデータをそれぞれが有する複数のピクセルにより形成されたビデオフレームを受け取り、
前記ビデオフレームを、それぞれがほぼ同じ数のピクセルを含む多数の領域に分割し、
前記表示を、それぞれがほぼ同じ数の領域を含む複数の評価矩形に更に分割し、
前記評価矩形が前記実画像の少なくとも一部を包含すると判断された場合に、前記評価矩形に対応するピクセル座標を前記ビデオウィンドウのエッジとして指定することを備える方法。
【請求項２】
請求項１に記載の方法において、
前記評価矩形に対応する前記ピクセル座標の前記ビデオウィンドウの前記エッジとしての指定は、
前記領域のそれぞれを、実画像領域又は合成画像領域の何れかとして特徴付け、
前記評価矩形の実値を決定し、
前記評価矩形の前記実値を、所定の実閾値と比較することを備える、方法。
【請求項３】
請求項２に記載の方法は更に、
前記評価矩形の前記実値が前記所定の実閾値より大きく、前記評価矩形が所定の寸法より大きい場合、前記評価矩形を拡大することを備える、方法。
【請求項４】
請求項３に記載の方法において、
前記評価矩形の拡大は、
前記評価矩形の前記寸法を低減し、
前記低減された評価矩形寸法に合わせて、評価矩形に組み込まれるピクセル数を低減することを備える方法。
【請求項５】
請求項２に記載の方法は更に、
前記評価矩形の前記実値が前記所定の実閾値以下であり、前記評価矩形が前回の評価位置に存在しない場合、前記評価矩形を別の位置に移動させることを備える方法。
【請求項６】
請求項１に記載の方法において、
実値ＲＶの決定は、
【数１】
2008046608.tif 000005
を使用して、前記評価矩形の前記実値ＲＶを計算することを備える方法。
【請求項７】
表示画面に表示されたビデオウィンドウの位置を決定するために、プロセッサにより実行可能なコンピュータプログラム製品であって、
その集合が実画像と関連付けられている、関連ピクセルデータをそれぞれが有する複数のピクセルにより形成されたビデオフレームを受け取るコンピュータコードと、
前記ビデオフレームを、それぞれがほぼ同じ数のピクセルを含む多数の領域に分割するコンピュータコードと、
前記表示を、それぞれがほぼ同じ数の領域を含む複数の評価矩形に更に分割するコンピュータコードと、
前記評価矩形が前記実画像の少なくとも一部を包含すると判断された場合に、前記評価矩形に対応するピクセル座標を前記ビデオウィンドウのエッジとして指定するコンピュータコードと、
前記コンピュータコードを格納するコンピュータ読み取り可能な媒体と、を備えるコンピュータプログラム製品。
【請求項８】
請求項７記載のコンピュータプログラム製品において、
前記評価矩形に対応する前記ピクセル座標の前記ビデオウィンドウの前記エッジとしての指定は、
前記領域のそれぞれを、実画像領域又は合成画像領域の何れかとして特徴付けるコンピュータコードと、
前記評価矩形の実値を決定するコンピュータコードと、
前記評価矩形の前記実値を、所定の実閾値と比較するコンピュータコードと、を備えるコンピュータプログラム製品。
【請求項９】
請求項８記載のコンピュータプログラム製品は更に、
前記評価矩形の前記実値が前記所定の実閾値より大きく、前記評価矩形が所定の寸法より大きい場合、前記評価矩形を拡大するコンピュータコードを備える、コンピュータプログラム製品。
【請求項１０】
請求項９記載のコンピュータプログラム製品において、
前記評価矩形の拡大は、
前記評価矩形の前記寸法を低減するコンピュータコードと、
前記低減された評価矩形寸法に合わせて、評価矩形に組み込まれるピクセル数を低減するコンピュータコードと、を備える、コンピュータプログラム製品。
【請求項１１】
請求項８記載のコンピュータプログラム製品は更に、
前記評価矩形の前記実値が前記所定の実閾値以下であり、前記評価矩形が前回の評価位置に存在しない場合、前記評価矩形を別の位置に移動させるコンピュータコードを備える、コンピュータプログラム製品。
【請求項１２】
請求項８記載のコンピュータプログラム製品において、
実値ＲＶの決定は、
【数２】
2008046608.tif 000006
を使用して、前記評価矩形の前記実値ＲＶを計算するコンピュータコードを備える、コンピュータプログラム製品。
【請求項１３】
表示画面に表示されたビデオウィンドウの位置を決定する装置であって、
その集合が実画像に関連付けられている、関連ピクセルデータをそれぞれが有する複数のピクセルにより形成されたビデオフレームを受け取る手段と、
前記ビデオフレームを、それぞれがほぼ同じ数のピクセルを含む多数の領域に分割する手段と、
前記表示を、それぞれがほぼ同じ数の領域を含む複数の評価矩形に更に分割する手段と、
前記評価矩形が前記実画像の少なくとも一部を包含すると判断された場合に、前記評価矩形に対応するピクセル座標を前記ビデオウィンドウのエッジとして指定する手段と、を備える装置。
【請求項１４】
請求項１３に記載の装置において、
前記評価矩形に対応する前記ピクセル座標の前記ビデオウィンドウの前記エッジとしての指定は、
前記領域のそれぞれを、実画像領域又は合成画像領域の何れかとして特徴付ける手段と、
前記評価矩形の実値を決定する手段と、
前記評価矩形の前記実値を、所定の実閾値と比較する手段と、を備える、装置。
【請求項１５】
請求項１４記載の装置は更に、
前記評価矩形の前記実値が前記所定の実閾値より大きく、前記評価矩形が所定の寸法より大きい場合、前記評価矩形を拡大する手段を備える、装置。
【請求項１６】
請求項１５記載の装置において、
前記評価矩形の拡大は、
前記評価矩形の前記寸法を低減する手段と、
前記低減された評価矩形寸法に合わせて、評価矩形に組み込まれるピクセル数を低減する手段と、を備える、装置。
【請求項１７】
請求項１４記載の装置は更に、
前記評価矩形の前記実値が前記所定の実閾値以下であり、前記評価矩形が前回の評価位置に存在しない場合、前記評価矩形を別の位置に移動させる手段を備える、装置。
【請求項１８】
請求項１４記載の装置において、
実値ＲＶを決定する前記手段は、
【数３】
2008046608.tif 000007
を使用して、前記評価矩形の前記実値ＲＶを計算する手段を備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ及びグラフィックの画質の改善に関する。
【背景技術】
【０００２】
テレビ、コンピュータモニタ、その他のディスプレイ機器は、非常に多くのディスプレイサイズ及びアスペクト比で存在する。例えば、従来のテレビディスプレイは、４：３（１．３３：１）のアスペクト比を有し（以降、標準ディスプレイ）、一方、シアタ又はＨＤＴＶディスプレイ等のワイド画面ディスプレイは、１６：９（１．７８：１）のアスペクト比を有する。２．３９：１又は２．３５：１のアスペクト比を有する更に幅広のディスプレイも存在する。更に、特定のディスプレイ部は、既存の非常に多数のビデオ信号形式を表示できるべきである。特定のディスプレイ部でネイティブの形式以外の形式を表示するためには、様々な手法を使用して、非ネイティブ形式のアスペクト比を縮小又は拡大する。こうした手法の多くには、非ネイティブ画像を元の形式でネイティブディスプレイに投射し、画像情報が存在しない「隙間」を単純に黒くすることが含まれる。
【０００３】
レターボックス化は、１６：９等の幅広のビデオ形式を、元のアスペクト比を維持したまま、より正方形に近い形式へ転送する動作である。結果的なビデオ表示では、ブラックバー又は、より正確に、マットと呼ばれる場合が多いマスクオフ領域を、ピクチャ領域の上下に含む必要がある。対照的に、ピラーボックス化又はウィンドウボックス化は、元々ワイド画面向けではないビデオをワイド画面ディスプレイに表示する時に必要になる。元のデータは縮小され、ワイド画面フレームの中央に置かれ、垂直なブラックバーが両側に配置される。最後に、標準比の画像がレターボックスピクチャの中央部分にあり、黒い境界が周囲全体に生じる場合が時折存在する。この効果は、マッチボックス化と呼ばれ、明らかに大量の画面スペースを無駄にすると共に、元の画像の解像度を低減する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、場合によっては、相当量のディスプレイ領域が、実際にはビデオを全く表示せず、例えば、黒色の境界を提供するためのみに使用され得る。そのため、こうした黒領域の存在により、元の画像のサイズ（寸法）及び／又は解像度が低減されるだけでなく、あらゆるビデオの強調その他の処理が黒領域において事実上無駄となり、計算及び／又はメモリリソースの非効率的使用が生じる。
【０００５】
ディスプレイ画面にとってネイティブではない形式を有する表示画像に対応することに加え、他の状況において、ビデオ画像は、ビデオではない背景に囲まれるか、或いは、非ビデオフレームに埋め込まれる（制御ボタン又は情報アイコンを含む場合の多いスキン（Ｗｉｎｄｏｗｓタイプの境界）を有するフレームに第二のビデオが埋め込まれるピクチャインピクチャ等）。
【０００６】
したがって、ビデオウィンドウのエッジの位置を自動的に決定することが望ましい。
【課題を解決するための手段】
【０００７】
大まかに言って、本発明は、表示画像においてビデオウィンドウのエッジの位置を特定することに関する。本発明は、方法、システム、デバイス、装置、又はコンピュータ読み取り可能な媒体を含む多数の形で実現できる。本発明の幾つかの実施形態を、以下説明する。
【０００８】
一実施形態では、その集合が実画像に関連付けられている、関連ピクセルデータをそれぞれが有する複数のピクセルにより形成されたビデオフレームを受け取り、ビデオフレームを、それぞれがほぼ同じ数のピクセルを含む多数の領域に分割し、表示を、それぞれがほぼ同じ数の領域を含む複数の評価矩形に更に分割し、評価矩形が実画像の少なくとも一部を包含すると判断された場合に、評価矩形に対応するピクセル座標をビデオウィンドウのエッジとして指定することにより実行される、表示画面に表示されたビデオウィンドウの位置を決定する方法が記述される。
【０００９】
別の実施形態では、表示画面に表示されたビデオウィンドウの位置を決定するために、プロセッサにより実行可能なコンピュータプログラム製品となる。コンピュータプログラム製品は、その集合が実画像に関連付けられている、関連ピクセルデータをそれぞれが有する複数のピクセルで形成により形成されたビデオフレームを受け取るコンピュータコードと、ビデオフレームを、それぞれがほぼ同じ数のピクセルを含む多数の領域に分割するコンピュータコードと、表示を、それぞれがほぼ同じ数の領域を含む複数の評価矩形に更に分割するコンピュータコードと、評価矩形が実画像の少なくとも一部を包含すると判断された場合に、評価矩形に対応するピクセル座標をビデオウィンドウのエッジとして指定するコンピュータコードと、コンピュータコードを格納するコンピュータ読み取り可能な媒体とを含む。
【００１０】
更に別の実施形態では、その集合が実画像に関連付けられている、関連ピクセルデータをそれぞれが有する複数のピクセルで形成されたビデオフレームを受け取る手段と、ビデオフレームを、それぞれがほぼ同じ数のピクセルを含む多数の領域に分割する手段と、表示を、それぞれがほぼ同じ数の領域を含む複数の評価矩形に更に分割する手段と、評価矩形が実画像の少なくとも一部を包含すると判断された場合に、評価矩形に対応するピクセル座標をビデオウィンドウのエッジとして指定する手段とを含む、表示画面に表示されたビデオウィンドウの位置を決定する装置が記述される。
【００１１】
本発明のその他の態様及び利点は、添付図面と併せて、以下の詳細な説明から明らかとなろう。
【発明を実施するための最良の形態】
【００１２】
次に、添付図面に一例を示した本発明の特定の実施形態を詳細に説明する。以下、本発明を特定の実施形態に関連して説明するが、本発明を説明した実施形態に限定するものではないことは理解されよう。逆に、添付特許請求の範囲に記載した本発明の趣旨及び範囲に入り得る代替物、変形例、及び等価物を含むものである。
【００１３】
一般に、大部分が合成（即ち、低実性指数）である画像は、「テキスト」である可能性が高く、大部分が「実物（本物）」であればビデオである可能性が高い。したがって、相対的に高い実性指数を有する画像の部分が矩形の範囲に集中している場合、ビデオウィンドウを特定できる。この状況では、結果として得られたデータにおいて、大きなウィンドウの実性を数学的に検索し、発見された場合には、大きな矩形のそれぞれのエッジの周りにある更に小さなウィンドウにおいて、同様の動作を実行し、一ピクセルの解像度まで順に拡大（ズームイン）して、エッジの位置を特定する。このプロセスは、ビデオウィンドウのエッジに対する固定を維持するために、必要に応じて何度も反復できる。
【００１４】
本発明は、合成背景に対して、或いは結果的に合成背景を模倣する、変化の少ない又は変化のない背景に対して、表示ビデオウィンドウが設定される時に最も効果的であることに留意されたい。上記の事柄は、ビデオウィンドウの様々なエッジの位置のリアルタイムでの評価に特に最適な実施形態において、ビデオエッジの近似位置の周囲に評価ウィンドウを形成することと、評価ウィンドウをほぼ等しいサイズ（寸法）の領域に分割することと、領域のそれぞれの実性（又は合成性の度合いでも同様に効果的）を評価することと、評価ウィンドウにおいて、本質的な合成性から本質的な実性への遷移が存在するかを判断することとにより構成される。こうした遷移が検出された場合、ビデオウィンドウエッジは、評価ウィンドウ内に位置する確率が高い（ここでも、ビデオウィンドウエッジが合成から実性及びその逆を表すことを前提とする）。形成するべき追加の評価ウィンドウ（元の評価ウィンドウのサイズとビデオウィンドウエッジ位置の所望の解像度とに基づく評価ウィンドウ数）が存在する場合には、次の繰り返しにおいて、サイズを低減した評価ウィンドウが形成され、全ての評価ウィンドウが試されるまで手順が反復される。遷移の位置は注目され、ビデオウィンドウエッジ位置の最良の推測として保存される。
【００１５】
図１は、本発明の一実施形態による、エッジ１０４を有するビデオ画像１０２が表示される代表的なビデオフレーム１００を示す図である。本発明では、それぞれ各辺がＩ及びＪピクセルであり、領域のそれぞれがほぼ等しい数のピクセル（Ｉ×Ｊ）を有する多数の領域Ｒへと、表示範囲１００を分割することで、ビデオ画像１０２の近似サイズ及び位置を決定する。以降の説明では、領域Ｒは正方形の領域（Ｉ＝Ｊ）と仮定し、したがって、表示１００は、（Ｍ×Ｎ）個の領域Ｒm,nを定めるＭ列及びＮ行に分割される（Ｎ及びＭは表示１００のネイティブアスペクト比に応じて決まる）。
【００１６】
表示１００を適切な数の領域Ｒに分割した後、各領域Ｒは、本質的に実物又は合成であるものとして特徴付けされ、それに応じて実性指数Ｔが割り当てられる。説明する実施形態において、実性指数Ｔは、各領域の特徴的な輝度分布を使用して、特定の領域に対して決定できる。説明する実施形態において、特定の領域Ｒの輝度分布が合成画像に一致する場合、その領域には、実性指数ＴSが割り当てられる。また、領域Ｒの輝度分布が実画像に一致する場合、その領域Ｒには、実性指数ＴR（実画像に一致）が割り当てられる。一部の実施形態では、実物と分類された領域（或いは逆に、合成とみなされた領域）の加重を多く（又は少なく）するために使用可能な実性加重係数ωを提供することが望ましい場合がある。
【００１７】
次に図２を参照すると（明確にするため、実画像１０２を除去し、ビデオウィンドウエッジ１０４のみを残した）、それぞれの実値に応じて、全領域Ｒに指数を与えた後、表示画像１００のサイズに一致する領域Ｒの最大数を組み入れた第一の評価矩形Ｓ1を生成し、これにより、実画像１０２の全て又は実質的に全てが評価矩形Ｓ1に含まれる確率を最大にする。何れの場合も、評価矩形Ｓ1が定義された時、矩形Ｓ1に含まれた全ての領域Ｒは、合成（ＴS＝１及びＴR＝０）であるか、或いは実物（ＴS＝０及びＴR＝１）であるかが特定されており、これを使用して、矩形Ｓ1全体の実性を式（１）により特徴付ける。
【００１８】
【数４】
2008046608.tif 000003
【００１９】
ここでωは、画像加重係数である（即ち、ωRは実画像加重係数、ωSは合成画像加重係数）。特定の評価矩形Ｓ1の実値ＲＶを計算後、式（２）を使用して実比（ＲＲ）を計算して決定する。
【００２０】
【数５】
2008046608.tif 000004
【００２１】
説明する実施形態において、実比ＲＲは、評価矩形Ｓ1に包含された合成領域に対する実領域の相対的比率を示す。例えば、図２は、評価矩形Ｓ1が表示範囲１００全体を包含し、これにより、少なくとも最初の回には、実画像１０２を包含するビデオウィンドウが含まれた状態が確保されるケースを示している。図２の例では、実比（ＲＲ）は、ゼロではない実値を有する全領域の合計（この場合、８８）を、評価矩形全体の全実値の合計（この場合、２１６＝Ｍ×Ｎ）で割ったものに等しく、実比ＲＲは０．４１に等しくなる。理想的なケースでは、評価矩形Ｓが実画像１０２のみを包含する時、実比ＲＲは、１．０又はその周辺に等しくなる（評価矩形Ｓに含まれた実領域のみが存在する理想的な状態のため）。したがって、実画像１０２のエッジ１０４の位置を決定するには、実比ＲＲを評価し、実性の相対的度合いを示す所定の閾値と比較する反復プロセスを実行する。実比ＲＲが所定の閾値未満である場合は、例えば、図３〜６に例示したように、利用可能な処理リソースにより実現できる可能な限り多くのビデオウィンドウのサイズ及び位置に相当するように、前回の評価矩形Ｓn-1とはサイズ及び位置が異なる別の評価矩形Ｓnを生成する。しかしながら、実比ＲＲが閾値より大きく、前回の実比ＲＲより大きい場合は、格納された実比ＲＲは、現在の実比ＲＲに更新される。
【００２２】
実画像１０２のエッジ１０４の位置に近似する最終的な評価矩形が決定された後、対応する一本のエッジの特定の位置を評価するのにそれぞれ使用される、関連する測定矩形Ｍを、実画像の四本のエッジの近似位置に重ねる。例えば、図７は、四本のエッジ１０４の推定位置をそれぞれ包含する四個の測定矩形７０２〜７０８を示している。各エッジに対して、図８に例示したように、この例では、測定矩形７０２に含まれる列のそれぞれに対して実行された実値の列方向の合計を用いて、エッジ検出手順を実行する。それぞれの列の全実値の合計が完了した後、合成と実写との間の遷移が存在するかを判断するために、それぞれの列の実合計値を互いに比較する。ビデオウィンドウに含まれない表示画像の部分は本質的に全て合成であると推測されるため、ビデオウィンドウのエッジ１０４は、合成と実物との間の遷移の位置を見つけることで検出できる。こうした遷移が見つかった場合には、遷移の位置を使用して、前回の測定矩形に比べてサイズが低減された、次の測定矩形を形成する。このようにして、測定矩形が、エッジの位置を所定の測定基準（例えば、１ピクセル）内にとどめる所定のサイズになるまで、反復を行う。処理リソースが利用可能である場合は、水平のエッジに行方向の合計を使用して、全てのエッジに対して同等の手順を同時に実行し、これにより画像１０２のエッジ１０４の位置を見つける。
【００２３】
図９は、本発明の一実施形態によるプロセス９００を詳述するフローチャートを示す。プロセス９００は、９０２において、実画像部分を有する表示画像を受け取ることで開始される。９０４において、表示画像は、それぞれがほぼ同じ数のピクセルを有する多数の領域に分割される。９０６において、領域のそれぞれは、合成領域又は実領域の何れかのみとして指定される。９０８において、少なくとも最小サイズと同じ大きさで、多数の領域を含む評価矩形が形成され、９１０では、評価矩形を形成する領域の性質（即ち、合成又は実物）に基づいて、評価矩形の実値が決定される。９１２において、実値が以前に格納した実値より大きい場合、格納された実値を、９１４で現在の実値により更新し、何れの場合も、制御は９１６へ渡され、全ての評価矩形を試したかを判断する。全ての評価矩形を試していない場合、９１８で評価矩形のサイズを変更し、制御は９１０へ戻される。一方、９１６で全ての評価矩形を試したと判断された場合は、９２０において、実値が実閾値より大きいかを判断する。実値が実閾値以下である場合、プロセス９００は終了し、そうでない場合、制御は９２２へ渡され、実画像の近似サイズ及び位置が格納される。
【００２４】
次に図１０を参照すると、プロセス９００は、９２４において、以前に格納した実画像の近似位置及びサイズを検索することで継続される。９２６において、実画像エッジの近似位置の周囲に測定ウィンドウが定められ、９２８において、測定ウィンドウは、領域に分割される。９３０において、それぞれの領域は、実領域又は合成領域の何れかとして指定され、９３２では、測定ウィンドウを形成する領域の性質に基づいて、測定ウィンドウの実値の行方向又は列方向の分布を決定する。９３４において、実値の分布に遷移が存在するかを判断する。遷移が存在しなければ、９３６において、更に試行するべきである場合は、制御は９３２へ戻され、そうでない場合、プロセス９００は停止する。一方、９３４において遷移が検出された場合、９３８で、遷移の中間点の位置が、新しいエッジ位置として格納され、９４０で、全ての測定ウィンドウを試したかを判断する。全ての測定ウィンドウを試していない場合、９４２において、格納された中間点位置に中心を合わせて、評価ウィンドウのサイズを低減し、制御は９３２へ戻され、そうでない場合、９４４において、格納済みの測定ウィンドウの中間点位置を、エッジの位置として指定する。
【００２５】
本発明の実施形態は、本明細書で開示した装置を含め、デジタル電子回路、或いはコンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにおいて実現できる。本発明の装置の実施形態は、プログラム可能なプロセッサで実行するために機械読み取り可能なストレージデバイスで明白に具現化されたコンピュータプログラム製品において実現可能であり、本発明の方法ステップは、命令のプログラムを実行し、入力データを操作して出力を生成することで本発明の機能を実行する、プログラム可能なプロセッサにより実行できる。本発明の実施形態は、データストレージシステムと、少なくとも一つの入力デバイスと、少なくとも一つの出力デバイスとからデータ及び命令を受領し、これらに対してデータ及び命令を送信するように結合された、少なくとも一つのプログラム可能なプロセッサを含む、プログラム可能なシステム上で実行可能な、一つ以上のコンピュータプログラムにおいて実施できるという利点を有する。各コンピュータプログラムは、高レベル手続き型又はオブジェクト指向プログラミング言語において、或いは、望ましい場合には、アセンブリ言語又は機械語において、実現可能であり、何れの場合においても、言語は、コンパイラ型又はインタプリタ型言語にできる。
【００２６】
適切なプロセッサは、一例として、汎用及び特殊用途マイクロプロセッサの両方を含む。一般に、プロセッサは、読み出し専用メモリ及び／又はランダムアクセスメモリから命令及びデータを受領する。一般に、コンピュータは、データファイルを格納する一つ以上の大量記憶デバイスを含み、こうしたデバイスは、内蔵ハードディスク及びリムーバブルディスクのような磁気ディスクと、光磁気ディスクと、光ディスクとを含む。コンピュータプログラムの命令及びデータを明白に具現化するのに適したストレージデバイスは、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスのような半導体メモリデバイスと、内蔵ハードディスク及びリムーバブルディスクのような磁気ディスクと、光磁気ディスクと、ＣＤ−ＲＯＭディスクとを含め、あらゆる形態の不揮発性メモリを含む。上記のものは何れもＡＳＩＣ（特定用途向け集積回路）により補足すること、或いは、これに組み込むことが可能である。
【００２７】
以上、本発明の多数の実施例について説明してきたが、本発明の趣旨及び範囲から逸脱することなく様々な変形を施し得ることは理解されよう。したがって、添付特許請求の範囲には他の実施形態が含まれる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態による、エッジを有する画像が表示される代表的なビデオフレームを示す図である。
【図２】本発明の一実施形態による、エッジを有する画像が表示される代表的なビデオフレームを示す図である。
【図３】本発明の一実施形態による、代表的な評価矩形の実値と、所定の実値閾値との比較を示す図である。
【図４】本発明の一実施形態による、ビデオウィンドウのエッジ位置の特定を例示する図である。
【図５】本発明の一実施形態による、ビデオウィンドウのエッジ位置の特定を例示する図である。
【図６】本発明の一実施形態による、ビデオウィンドウのエッジ位置の特定を例示する図である。
【図７】本発明の一実施形態による、ビデオウィンドウのエッジ位置の特定を例示する図である。
【図８】本発明の一実施形態による、ズームインした評価矩形を示す図である。
【図９】本発明の一実施形態による、ビデオウィンドウエッジの位置を決定するプロセスを詳述するフローチャートである。
【図１０】本発明の一実施形態による、ビデオウィンドウエッジの位置を決定するプロセスを詳述するフローチャートである。
【図１】
2008046608.tif 000008
【図２】
2008046608.tif 000009
【図３】
2008046608.tif 000010
【図４】
2008046608.tif 000011
【図５】
2008046608.tif 000012
【図６】
2008046608.tif 000013
【図７】
2008046608.tif 000014
【図８】
2008046608.tif 000015
【図９】
2008046608.tif 000016
【図１０】
2008046608.tif 000017
【外国語明細書】
1. TITLE OF THE INVENTION
VIDEO WINDOW DETECTOR
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]    Televisions, computer monitors and other display devices exist in a great multitude of display sizes and aspect ratios.  For example, conventional television displays have a 4:3 (1.33:1) aspect ratio (hereafter referred to as a standard display) while widescreen displays, such as theater or HDTV displays, have a 16:9 (1.78:1) aspect ratio.  There are also still wider displays having aspect ratios of 2.39:1 or 2.35:1.  Moreover, a given display unit should be able to display the great multitude of video signal formats that exist.  In order for a given display unit to display a format other than its own native format, various techniques are used to shrink or extend the aspect ratio of the nonnative format.  Many of these techniques involve projecting the nonnative image in its original format onto the native display and simply blackening the "gaps" where no image information exists.
[0003]    Letterboxing is the practice of transferring wider video formats, such as 16:9, to more square formats while preserving the original aspect ratio. The resulting video display must include masked-off areas above and below the picture area, often referred to as black bars, or, more accurately, as mattes.  In contrast, pillar boxing, or window boxing, is necessitated when video that was not originally designed for widescreen is shown on a widescreen display. The original material is shrunk and placed in the middle of the widescreen frame while vertical black bars are placed on either side.  Furthermore there are sometimes instances in which standard ratio images are presented in the central portion of a letterboxed picture, resulting in a black border all around. This effect is referred to as match boxing, and obviously wastes a great deal of screen space as well as reduces the resolution of the original image.
[0004]    Therefore, in some instances a substantial amount of display real estate may actually not be displaying any video at all being used to merely accommodate a black border, for example.  Therefore, the presence of these blank areas not only reduces the size and/or resolution of the original image, any video enhancement or other processing would in effect be rendered useless in the blank areas resulting in inefficient use of computing and/or memory resources.
[0005]    In addition to accommodating a displayed image having a format that is not native to the display screen, other situations where a video image is surrounded by a non-video background or is embedded in a non-video frame (such as a picture in picture where the secondary video is embedded in frame having a skin (such as a Windows - type border) that often includes control buttons, or information icons.
[0006]    Therefore, it would be desirable to automatically determine the location of edges of a video window.
Summary of the invention
[0007]    Broadly speaking, the invention relates to identifying the location of the edges of a video window in a displayed 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 determining a location of a video window displayed on a display screen is described that is carried out by: receiving video frame formed of a plurality of pixels each having associated pixel data a group of which are associated with a real image,  dividing the video frame into a number of regions each of which includes approximately the same number of pixels, further dividing the display into a plurality of evaluation rectangles each of which includes approximately the same number of regions, and designating a pixel coordinate corresponding to the evaluation rectangle as an edge of the video window if the evaluation rectangle is determined to encompass at least a portion of the real image.
[0009]    In another embodiment, computer program product executable by a processor for determining a location of a video window displayed on a display screen.  The computer program product includes computer code for receiving video frame formed of a plurality of pixels each having associated pixel data a group of which are associated with a real image, computer code for dividing the video frame into a number of regions each of which includes approximately the same number of pixels, computer code for further dividing the display into a plurality of evaluation rectangles each of which includes approximately the same number of regions, computer code for designating a pixel coordinate corresponding to the evaluation rectangle as an edge of the video window if the evaluation rectangle is determined to encompass at least a portion of the real image, and  computer readable medium for storing the computer code.
[0010]    In still another embodiment, an apparatus for determining a location of a video window displayed on a display screen is described that includes: means for receiving video frame formed of a plurality of pixels each having associated pixel data a group of which are associated with a real image, means for dividing the video frame into a number of regions each of which includes approximately the same number of pixels, means for further dividing the display into a plurality of evaluation rectangles each of which includes approximately the same number of regions, and means for designating a pixel coordinate corresponding to the evaluation rectangle as an edge of the video window if the evaluation rectangle is determined to encompass at least a portion of the real image.
[0011]    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
[0012]    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.
[0013]    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.
[0014]    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.
[0015]    Fig. 1 shows a representative video frame 100 from which a video image 102 having edges 104 is displayed in accordance with an embodiment of the invention.  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.
[0016]    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).
[0017]    Referring now to Fig. 2 (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. (1):
2008046608.tif 000018
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. (2) is calculated 
2008046608.tif 000019
[0018]     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. 2 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. 2, 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. 3 - 6 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.
[0019]    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. 7 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. 8 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.
[0020]    Fig. 9 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.
[0021]    Turning now to Fig. 10, 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.
[0022]    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.
[0023]    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).
[0024]    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
[0025]
Figs. 1 and 2 show a representative video frame from which an image having edges is displayed in accordance with an embodiment of the invention.
Fig. 3 shows a representative evaluation rectangle realness value comparison to a predetermined realness value threshold in accordance with an embodiment of the invention.
Figs. 4 - 7 illustrate locating an edge of a video window in accordance with an embodiment of the invention.
Fig. 8 shows a zoomed in evaluation rectangle in accordance with an embodiment of the invention.
Figs. 9 and 10 show a flowchart detailing a process of determining a location of a video window edge in accordance with an embodiment of the invention.
1.  A method of determining a location of a video window displayed on a display screen, comprising:
receiving video frame formed of a plurality of pixels each having associated pixel data a group of which are associated with a real image;
dividing the video frame into a number of regions each of which includes approximately the same number of pixels;
further dividing the display into a plurality of evaluation rectangles each of which includes approximately the same number of regions; and
designating a pixel coordinate corresponding to the evaluation rectangle as an edge of the video window if the evaluation rectangle is determined to encompass at least a portion of the real image.
2.  A method as recited in claim 1, wherein the designating the pixel coordinate corresponding to the evaluation rectangles as the edge of the video window, comprises:
characterizing each of the regions as being either a real image region or a synthetic image region;
determining a realness value of the evaluation rectangle; and
comparing the realness value of the evaluation rectangle to a predetermined realness threshold value.
3.  A method as recited in claim 2, further comprising:
if the realness value of the evaluation rectangle is greater than the predetermined realness threshold value and if the evaluation rectangle is greater than a predetermined size and, then zooming in the evaluation rectangle.
4.  A method as recited in claim 3, wherein the zooming in the evaluation rectangle comprises:
reducing the size of the evaluation rectangle; and
reducing the number of pixels incorporated in evaluation rectangle commensurate with the reduced evaluation rectangle size.
5.  A method as recited in claim 2, further comprising:
if the realness value of the evaluation rectangle is not greater than the predetermined realness threshold value and if the evaluation rectangle is not located at a last evaluation position,  then moving the evaluation rectangle to another location.
6.  A method as recited in claim 2, wherein determining a realness value RV comprises:
calculating the realness value RV for the evaluation rectangle using 
2008046608.tif 000020
7.  Computer program product executable by a processor for determining a location of a video window displayed on a display screen, comprising:
computer code for receiving video frame formed of a plurality of pixels each having associated pixel data a group of which are associated with a real image;
computer code for dividing the video frame into a number of regions each of which includes approximately the same number of pixels;
computer code for further dividing the display into a plurality of evaluation rectangles each of which includes approximately the same number of regions; 
computer code for designating a pixel coordinate corresponding to the evaluation rectangle as an edge of the video window if the evaluation rectangle is determined to encompass at least a portion of the real image; and
computer readable medium for storing the computer code.
8.  Computer program product as recited in claim 7, wherein the designating the pixel coordinate corresponding to the evaluation rectangles as the edge of the video window, comprises:
computer code for characterizing each of the regions as being either a real image region or a synthetic image region;
computer code for determining a realness value of the evaluation rectangle; and
computer code for comparing the realness value of the evaluation rectangle to a predetermined realness threshold value.
9.  Computer program product as recited in claim 8, further comprising:
computer code for zooming in the evaluation rectangle if the realness value of the evaluation rectangle is greater than the predetermined realness threshold value and if the evaluation rectangle is greater than a predetermined size.
10.  Computer program product as recited in claim 9, wherein the zooming in the evaluation rectangle comprises:
computer code for reducing the size of the evaluation rectangle; and
computer code for reducing the number of pixels incorporated in evaluation rectangle commensurate with the reduced evaluation rectangle size.
11.  Computer program product as recited in claim 8, further comprising:
computer code for moving the evaluation rectangle to another location if the realness value of the evaluation rectangle is not greater than the predetermined realness threshold value and if the evaluation rectangle is not located at a last evaluation position..
12.  Computer program product as recited in claim 8, wherein determining a realness value RV comprises:
computer code for calculating the realness value RV for the evaluation rectangle using
2008046608.tif 000021
13.  An apparatus for determining a location of a video window displayed on a display screen, comprising:
means for receiving video frame formed of a plurality of pixels each having associated pixel data a group of which are associated with a real image;
means for dividing the video frame into a number of regions each of which includes approximately the same number of pixels;
means for further dividing the display into a plurality of evaluation rectangles each of which includes approximately the same number of regions; and
means for designating a pixel coordinate corresponding to the evaluation rectangle as an edge of the video window if the evaluation rectangle is determined to encompass at least a portion of the real image.
14.  An apparatus as recited in claim 13, wherein the designating the pixel coordinate corresponding to the evaluation rectangles as the edge of the video window, comprises:
means for characterizing each of the regions as being either a real image region or a synthetic image region;
means for determining a realness value of the evaluation rectangle; and
means for comparing the realness value of the evaluation rectangle to a predetermined realness threshold value.
15.  An apparatus as recited in claim 14, further comprising:
means for zooming in the evaluation rectangle if the realness value of the evaluation rectangle is greater than the predetermined realness threshold value and if the evaluation rectangle is greater than a predetermined size.
16.  An apparatus as recited in claim 15, wherein the zooming in the evaluation rectangle comprises:
means for reducing the size of the evaluation rectangle; and
means for reducing the number of pixels incorporated in evaluation rectangle commensurate with the reduced evaluation rectangle size.
17.  An apparatus as recited in claim 14, further comprising:
means for moving the evaluation rectangle to another location if the realness value of the evaluation rectangle is not greater than the predetermined realness threshold value and if the evaluation rectangle is not located at a last evaluation position.
18.  An apparatus as recited in claim 14, wherein the means for determining a realness value RV comprises:
means for calculating the realness value RV for the evaluation rectangle using 
2008046608.tif 000022
1. ABSTRACT
The invention provides for automatically identifying the location of a displayed video window based upon a characterization of selected portions of the image for realness based upon a distribution of luminance values for the selected portions.  The image is then searched mathematically for a large rectangle of realness, and if found, a similar operation is performed in a smaller rectangle 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.
2. REPRESENTATIVE DRAWING
Fig.2
2008046608.tif 000023
2008046608.tif 000024
2008046608.tif 000025
2008046608.tif 000026
2008046608.tif 000027
2008046608.tif 000028
2008046608.tif 000029
2008046608.tif 000030
2008046608.tif 000031
2008046608.tif 000032