(57)【要約】      （修正有）【課題】マルチフォーマットデータをディスプレイにあった単一フォーマットに変換する。  【解決手段】  １組のディスプレイ属性に関連付けられたディスプレイ部に対して、入力データストリームを受信するようそれぞれ構成された複数のポートと、前記複数のポートの内の少なくとも１つに接続され、対応する入力データストリームを、変換済みデータストリーム属性に関連付けられた対応する変換済みデータストリームに変換するのに適した適応画像変換部と、合成データストリームを形成するよう構成された画像合成部と、前記合成データストリームをエンハンスして、エンハンスデータストリームを形成するよう構成された画像エンハンサ部と、前記エンハンスデータストリームを処理して、前記ディスプレイ部における表示に適したデータを形成するよう構成されたディスプレイ部インターフェースと、を備える、設定可能なリアルタイムデータプロセッサとで構成する。【選択図】図２
2005192199.tif 000002
【特許請求の範囲】
【請求項１】
１組のディスプレイ属性が関連付けられているディスプレイ部に対して、表示データストリームを提供するよう構成された設定可能なリアルタイムデータプロセッサであって、
入力データストリームを受信するようそれぞれ構成された複数のポートと、
前記ポートの１つに接続されたフォーマット変換部であって、必要に応じて、対応する入力データストリームをプログレッシブ形式のデータストリームに変換するよう構成されたフォーマット変換部と、
前記複数のポートの内の関連するポートにそれぞれ接続され、対応する入力データストリームを、変換済みデータストリーム属性が関連付けられている対応する変換済みデータストリームに変換するのに適した複数の適応画像変換部と、
前記変換済みデータストリームを合成して、合成データストリームを形成するよう構成された画像合成部と、
前記合成データストリームをエンハンスして、エンハンスデータストリームを形成するよう構成された画像エンハンサ部と、
前記エンハンス済みのデータストリームを処理して、前記表示データを形成するよう構成されたディスプレイ部インターフェースと、
前記画像変換部の各々および前記画像合成部に双方向で接続され、前記画像変換部からの前記データストリームの内の選択されたデータストリームの選択された部分を格納すると共に、必要に応じて、前記選択された部分を前記画像合成部に供給するメモリ部と、を備える、設定可能なリアルタイムデータプロセッサ。
【請求項２】
請求項１に記載の設定可能なリアルタイムデータプロセッサはさらに、
前記変換済みデータストリームが、プログレッシブ走査形式のデータストリームとなるように、プログレッシブ走査タイミング信号を前記変換部に対して提供するよう構成されたプログレッシブ走査タイミング生成部を備える、設定可能なリアルタイムデータプロセッサ。
【請求項３】
請求項１に記載の設定可能なリアルタイムデータプロセッサはさらに、
前記フォーマット変換部に接続され、必要に応じて、インターレース形式のビデオストリームにおけるインターレースを解除するよう構成されたインターレース解除部を備える、設定可能なリアルタイムデータプロセッサ。
【請求項４】
請求項２に記載の設定可能なリアルタイムデータプロセッサにおいて、前記変換部はさらに、
各変換済みデータストリームを表示フレームレートに同期させるよう構成されたフレームレート変換部を備える、設定可能なリアルタイムデータプロセッサ。
【請求項５】
請求項４に記載の設定可能なリアルタイムデータプロセッサにおいて、前記表示フレームレートは、選択されたフレームレートに固定される、設定可能なリアルタイムデータプロセッサ。
【請求項６】
請求項５に記載の設定可能なリアルタイムデータプロセッサにおいて、前記固定されたフレームレートは、前記入力データストリームの内の１つに対応する、設定可能なリアルタイムデータプロセッサ。
【請求項７】
請求項５に記載の設定可能なリアルタイムデータプロセッサにおいて、前記表示フレームレートは、フリーランニングフレームレートである、設定可能なリアルタイムデータプロセッサ。
【請求項８】
請求項１に記載の設定可能なリアルタイムデータプロセッサにおいて、前記ポートは、
ビデオデータを受信するよう構成されたビデオ受信ポートと、
ユーザ入力コマンドを受信するよう構成されたユーザインターフェースポートと、
ネットワークに対して双方向に接続され、前記ネットワークと、パケットデータをやり取りするよう構成されたネットワークインターフェースとを備える、設定可能なリアルタイムデータプロセッサ。
【請求項９】
請求項１に記載の設定可能なリアルタイムデータプロセッサにおいて、前記データプロセッサは、集積回路である、設定可能なリアルタイムデータプロセッサ。
【請求項１０】
請求項１に記載の設定可能なリアルタイムデータプロセッサにおいて、前記ディスプレイ属性は、拡張ディスプレイ認識データ（ＥＤＩＤ）である、設定可能なリアルタイムデータプロセッサ。
【請求項１１】
請求項６に記載の設定可能なリアルタイムデータプロセッサにおいて、前記ディスプレイ部インターフェースはさらに、
前記ディスプレイ部が、インターレース型のディスプレイ部である場合に、プログレッシブ走査画像をインターレース化するよう構成されたインターレース化部と、
前記ディスプレイ部が、プログレッシブ走査型のディスプレイ部である場合に、前記インターレース化部を迂回するよう構成されたプログレッシブ走査バイパス部と、を備える、設定可能なリアルタイムデータプロセッサ。
【請求項１２】
１組のディスプレイ属性が関連付けられているディスプレイ部に対して、データストリームを適応させて提供する方法であって、
複数の入力データストリームを、複数の対応する入力ポートで受信する工程と、
前記入力データストリームを、変換済みデータストリーム属性が関連付けられている、対応する変換済みデータストリームに変換する工程と、
前記変換済みデータストリームを画像合成部によって合成する工程と、
前記合成されたデータストリームをエンハンスする工程と、
前記エンハンスされたデータストリームを前記ディスプレイ部での表示のために処理する工程と、を備える、方法。
【請求項１３】
請求項１２に記載の方法さらに、
前記変換済みデータストリームが、プログレッシブ走査形式のデータストリームとなるように、プログレッシブ走査タイミング信号を提供する工程を備える、方法。
【請求項１４】
請求項１２に記載の方法はさらに、
前記データストリームの内の選択されたデータストリームの選択された部分をメモリ部に格納する工程と、
必要に応じて、前記選択された部分を前記合成部に供給する工程と、を備える、方法。
【請求項１５】
請求項１３に記載の方法はさらに、
各変換済みデータストリームを表示フレームレートに同期させる工程を備える、方法。
【請求項１６】
請求項１５に記載の方法はさらに、
前記表示フレームレートを、選択されたフレームレートに固定する工程を備える、方法。
【請求項１７】
請求項１６に記載の方法において、前記固定されたフレームレートは、前記入力データストリームの内の１つに対応する、方法。
【請求項１８】
請求項１５に記載の方法において、前記表示フレームレートは、フリーランニングフレームレートである、方法。
【請求項１９】
請求項１２に記載の方法において、前記ポートは、
ビデオデータを受信するよう構成されたビデオ受信ポートと、
ユーザ入力コマンドを受信するよう構成されたユーザインターフェースポートと、
ネットワークに対して双方向に接続され、前記ネットワークと、パケットデータをやり取りするよう構成されたネットワークインターフェースとを備える、方法。
【請求項２０】
請求項１２に記載の方法において、前記データプロセッサは集積回路である、方法。
【請求項２１】
請求項１２に記載の方法において、前記ディスプレイ属性は、拡張ディスプレイ認識データ（ＥＤＩＤ）である、方法。
【請求項２２】
請求項２１に記載の方法はさらに、
前記ディスプレイ部が、インターレース型のディスプレイ部である場合に、プログレッシブ走査ビデオ画像をインターレース化し、
前記ディスプレイ部が、プログレッシブ走査型のディスプレイ部である場合に、前記インターレース化工程を迂回する、方法。
【請求項２３】
１組のディスプレイ属性が関連付けられているディスプレイ部に対して、データストリームを適応させて提供するためのコンピュータプログラム製品であって、
複数の入力データストリームを、複数の対応する入力ポートで受信するためのコンピュータコードと、
前記入力データストリームを、変換済みデータストリーム属性が関連付けられている、対応する変換済みデータストリームに変換するためのコンピュータコードと、
前記変換済みデータストリームを画像合成部によって合成するコンピュータコードと、
前記合成されたデータストリームをエンハンスするためのコンピュータコードと、
前記エンハンスされたデータストリームを前記ディスプレイ部における表示のために処理するコンピュータコードと、
前記コンピュータコードを格納するためのコンピュータ読み取り可能な媒体と、を備える、コンピュータプログラム製品。
【請求項２４】
請求項２３に記載のコンピュータプログラム製品はさらに、
前記変換済みデータストリームが、プログレッシブ走査形式のデータストリームとなるように、プログレッシブ走査タイミング信号を提供するためのコンピュータコードを備える、コンピュータプログラム製品。
【請求項２５】
請求項２３に記載のコンピュータプログラム製品はさらに、
前記データストリームの内の選択されたデータストリームの選択された部分をメモリ部に格納するためのコンピュータコードと、
必要に応じて、前記選択された部分を前記合成部に供給するためのコンピュータコードと、を備える、コンピュータプログラム製品。
【請求項２６】
請求項２４に記載のコンピュータプログラム製品はさらに、
各変換済みデータストリームを表示フレームレートに同期させるためのコンピュータコードを備える、コンピュータプログラム製品。
【請求項２７】
請求項２６に記載のコンピュータプログラム製品はさらに、
前記表示フレームレートを、選択されたフレームレートに固定するためのコンピュータコードを備える、コンピュータプログラム製品。
【請求項２８】
請求項２７に記載のコンピュータプログラム製品において、前記固定されたフレームレートは、前記入力データストリームの内の１つに対応する、コンピュータプログラム製品。
【請求項２９】
請求項２４に記載のコンピュータプログラム製品において、前記表示フレームレートは、フリーランニングフレームレートである、コンピュータプログラム製品。
【請求項３０】
請求項２３に記載のコンピュータプログラム製品において、前記ポートは、
ビデオデータを受信するよう構成されたビデオ受信ポートと、
ユーザ入力コマンドを受信するよう構成されたユーザインターフェースポートと、
ネットワークに対して双方向に接続され、前記ネットワークと、パケットデータをやり取りするよう構成されたネットワークインターフェースとを備える、コンピュータプログラム製品。
【請求項３１】
請求項２３に記載のコンピュータプログラム製品において、前記データプロセッサは集積回路である、コンピュータプログラム製品。
【請求項３２】
請求項２３に記載のコンピュータプログラム製品において、前記ディスプレイ属性は、拡張ディスプレイ認識データ（ＥＤＩＤ）である、コンピュータプログラム製品。
【請求項３３】
請求項３０に記載のコンピュータプログラム製品はさらに、
前記ディスプレイ部が、インターレース型のディスプレイ部である場合に、プログレッシブ走査ビデオ画像をインターレース化するためのコンピュータコードと、
前記ディスプレイ部が、プログレッシブ走査型のディスプレイ部である場合に、前記インターレース化を迂回するためのコンピュータコードと、を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、リアルタイム画像処理システムに関し、特に、双方向、パケット化、非ポイント・ツー・ポイントのデータ通信ネットワークから得られたデータなど、マルチフォーマットのビデオストリームを効率的に処理して、選択されたディスプレイ装置での表示に適した単一フォーマットのビデオストリームにするための方法および装置に関する。
【背景技術】
【０００２】
ディスプレイ装置は、一般に、複数の水平線を含むディスプレイスクリーンを備える。水平および垂直線の数によって、デジタルディスプレイ装置の解像度が定まる。市販の典型的なスクリーンの解像度は、６４０×４８０、１０２４×７６８などである。ディスプレイスクリーン上にソース画像を表示するために、各ソース画像は、複数の水平走査線をそれぞれ含む一連のフレームとして送信される。一般的に、アナログ信号を水平走査線およびフレームに分割するために、１または複数の時間基準信号が提供される。ＶＧＡ／ＳＶＧＡ環境では、例えば、基準信号は、ＶＳＹＮＣ信号とＨＳＹＮＣ信号とを含んでおり、ＶＳＹＮＣ信号は、フレームの開始を示し、ＨＳＹＮＣ信号は、次のソース走査線の開始を示している。したがって、ソース画像を表示するに当たって、ソ―ス画像は、複数の点に分割され、各点は、画素上に表示されることで、画素データ要素として表すことができるようになる。ディスプレイ上の各画素に対する表示信号は、対応する表示データ要素を用いて生成されてよい。
【０００３】
例えば、図１は、従来のＮＴＳＣ規格のＴＶに表示された画像１００を示す図である。画像１００は、画像情報を有する画像１００の領域であるアクティブ画像１０からなる。アクティブ画像１０の外側は、線およびフィールドの消去に適したブランキング領域１１である。アクティブ画像１０は、フレーム１２と、画素１４と、走査線１６とを用いて、実際のＴＶ画像を形成する。フレーム１２は、アナログビデオカメラ、アナログテレビなど、様々なソースのいずれかによって生成された静止画を表す。
【０００４】
フレーム１２内の情報は、任意の数の画素１４によって表される。画素（「画像素子」の略）は、固体カメラ内の個々のフォトセンサの個々の位置だけでなく、画像内の最小の区別可能かつ分解可能な領域でもある。すなわち、各画素は、デジタル化された情報を表しており、８ビットで表現されることが多い。ただし、各画素は、任意の数のビットで表現されてよい。各走査線１６は、任意の数の画素１４を含むことで、フレーム１２内の１水平線の情報を表す。ＮＴＳＣビデオ（インターレース走査を用いるテレビ規格）では、例えば、６０分の１秒毎に１フィールドの情報が現れ、３０分の１秒毎に１フレーム（２つのフィールドを含む）が現れて、複数のフレームの情報が連続的に提示されることで、画像が形成される。プログレッシブ走査を用いるコンピュータモニタでは、１フレームの情報が、スクリーン上で周期的にリフレッシュされることで、ユーザが見る表示が形成される。
【０００５】
１秒あたりのフレーム数（ｆｐｓ）も、動画の知覚における重要な要素である。フィルムは、２４Ｆｐｓで撮影され、通例、映画館では、ちらつきを回避するために正味４８ｆｐｓに対して各フレームを２回繰り返して表示される。ＮＴＳＣテレビは、１秒あたり６０インターレースフィールド（ｆｐｓ）を用い、ＰＡＬは、５０ｆｐｓを用いる。インターレースフィールドは、１垂直線だけずれており、２つの異なる時点に出現する。それらは、奇数フィールドおよび偶数フィールドと呼ばれる。６０ｆｐｓは、３０分の１秒毎に単一の完全なフレームとして知覚できるが、フィルムは、完全なフレームとして順次走査される。現在、ほとんどのインターネットメディアは、１５ｆｐｓを用いており、使用可能な動画は、１０Ｆｐｓのフレームレートを有しうる。
【０００６】
これらの様々なビデオフォーマットを１つのディスプレイで表示するためには、様々なビデオストリームを処理して、画像を表示するモニタやＴＶなどのディスプレイ装置に適合したビデオフォーマットを有する１つのビデオストリームにする必要がある。これは、６０ｆｐｓインターレースまたは３０ｆｐｓプログレッシブのＮＴＳＣのＴＶソース（本質的に連続的である）や、１５ｆｐｓ以下のインターネットメディア（パケットベース）など、異なるソースからの画像を表示しようとする際に、特に重要である。さらに、コスト効率のよい解決法を提供するためには、必要なビデオ処理をディスプレイ自体に組み込むことが有利である。
【０００７】
したがって、複数のマルチフォーマットのデータストリーム（ビデオデータおよびネットワークデータを含む）すべてを処理して、モニタでの表示に適した単一フォーマットのデータストリームにするための効率的な方法および装置が求められている。
【発明の開示】
【０００８】
本発明によると、複数のマルチフォーマットビデオデータストリームを処理して、単一の同期された表示ビデオストリームにするための方法、装置、および、システムが開示されている。
【０００９】
本発明のデータプロセッサは、１組のディスプレイ属性が関連付けられているディスプレイ部に対して、データストリームを提供するよう構成された設定可能なリアルタイムデータプロセッサであって、入力データストリームを受信するようそれぞれ構成された複数のポートと、前記複数のポートの内の対応するポートにそれぞれ接続され、対応する入力データストリームを、変換済みデータストリーム属性に関連付けられた対応する変換済みデータストリームに変換するのに適した複数の適応画像変換部と、前記変換済みデータストリームを合成して、合成データストリームを形成するよう構成された画像合成部と、前記合成データストリームをエンハンスして、エンハンスデータストリームを形成するよう構成された画像エンハンサ部と、前記エンハンスデータストリームを、前記ディスプレイ部での表示に適合するように処理するよう構成されたディスプレイ部インターフェースと、を備える。
【００１０】
本発明の方法は、１組のディスプレイ属性が関連付けられているディスプレイ部に対して、データストリームを適応させて提供する方法であって、複数の入力データストリームを、複数の対応する入力ポートで受信し、前記入力データストリームを、変換済みデータストリーム属性に関連付けられた対応する変換済みデータストリームに変換し、前記変換済みデータストリームを画像合成部によって合成し、前記合成されたデータストリームをエンハンスし、前記エンハンスされたデータストリームを前記ディスプレイ部における表示のために処理することを備える。
【００１１】
本発明のコンピュータプログラム製品は、１組のディスプレイ属性が関連付けられているディスプレイ部に対して、データストリームを適応させて提供するためのコンピュータプログラム製品であって、複数の入力データストリームを、複数の対応する入力ポートで受信するためのコンピュータコードと、前記入力データストリームを、変換済みデータストリーム属性が関連付けられている対応する変換済みデータストリームに変換するためのコンピュータコードと、前記変換済みデータストリームを画像合成部によって合成するコンピュータコードと、前記合成されたデータストリームをエンハンスするためのコンピュータコードと、前記エンハンスされたデータストリームを前記ディスプレイ部で表示するために処理するコンピュータコードと、前記コンピュータコードを格納するためのコンピュータ読み取り可能な媒体と、を備える。
【発明を実施するための最良の形態】
【００１２】
以下では、添付の図面に一例が示された本発明の特定の実施形態について詳しく説明する。特定の実施形態を参照して本発明の説明を行うが、本発明がその実施形態に限定されることを意図するものではない。逆に、本発明は、添付の特許請求の範囲に規定された発明の趣旨および範囲に含まれる代替、変形、および等価物を網羅する。
【００１３】
一実施形態では、あるビデオフォーマットに関連付けられた複数のビデオデータストリームすべてを、選択されたビデオフォーマットで選択されたビデオディスプレイ部に表示するために同時に処理するのに適した統合ビデオプロセッサが説明されている。ビデオプロセッサは、複数の入力ポートをすべて備える。なお、複数の入力ポートは、マルチフォーマットビデオポート、ユーザインターフェース、およびネットワークインターフェースを含むが、これらに限定されない。説明されている実施形態では、マルチフォーマットビデオポートによって受信された複数のマルチフォーマットビデオストリームすべてが、フォーマット変換部によってプログレッシブ走査ビデオフォーマットに変換される。かかるフォーマットは、コンポーネント、コンポジット、シリアルデジタル、パラレルデジタル、ＲＧＢ、または、消費者向けデジタルビデオなどのフォーマットを含む。デジタルビデオ信号は、ＳＭＰＴＥ  ２７４Ｍ−１９９５（１９２０ｘ１０８０の解像度）、ＳＭＰＴＥ  ２９６Ｍ−１９９７（１２８０ｘ７２０の解像度）、標準的な４８０プログレッシブ走査ビデオなど、任意の数および種類の周知のデジタルフォーマットであってよい。ビデオフォーマット変換部、ユーザインターフェース、および、ネットワークインターフェースの出力が、それぞれ、対応する画像変換部に供給されることで、画像合成部に提供される各信号は、ディスプレイに適合した同一のフォーマットになる。インターレース入力データの場合には、フォーマット変換部は、インターレース画像を非インターレース画像（例えば、プログレッシブ走査形式の画像）に変換するインターレース解除機能を提供することに注意されたい。ただし、インターレース画像を表示する場合には、後に説明するインターレース化部を用いて、適切に画像をインターレース化する。
【００１４】
画像合成部は、次に、供給された信号の各々を、ディスプレイ部での表示に適した単一のビデオデータストリームに合成する。説明されている実施形態では、単一のビデオデータストリームは、選択されたエンハンスメントアルゴリズムをビデオデータストリームに施すよう構成されたビデオエンハンサ部に入力される。かかるエンハンスメントには、エッジ補正、コントラストエンハンスメントなどが含まれる。エンハンスされたビデオ信号は、次に、ディスプレイ部インターフェースに供給される。ディスプレイ部インターフェースは、ディスプレイがプログレッシブ走査形式の画像を表示するよう構成されている場合に、自身が備えるインターレース化部を迂回するプログレッシブバイパスを備えている。
【００１５】
本実施形態では、本発明のプロセッサは、別個の装置を必要とせずにディスプレイ内に組み込むことができるよう、集積回路などの素子に組み込まれている。このように、上記の構成を有するビデオ受信部は、衛星、ケーブル、パケット化されたネットワークデータなど、任意の数および種類のビデオソースからのビデオデータを直接受信して、任意の選択されたフォーマットで表示することができる。
【００１６】
ここで、ビデオディスプレイシステムとの一体化に適したリアルタイム入力ビデオデータストリーム処理部に関して、本発明を説明する。しかしながら、説明された実施形態は、例示を目的としたものにすぎず、本発明の範囲や意図を限定するものではないことに注意されたい。
【００１７】
図２は、マルチフォーマットビデオ受信ポート２０２と、ユーザインターフェースポート２０４と、ネットワークインターフェースポート２０６とを備えるビデオ処理回路２００として実施された本発明の代表的な実施形態を示す図である。説明されている実施形態では、ビデオ処理回路２００は、特定のビデオフォーマットで供給された任意の画像を表示するのに適したディスプレイ２１０を有するディスプレイ装置２０８内に直接組み込まれている。例えば、ディスプレイ２１０が、ＣＲＴプログレッシブ走査型のディスプレイである場合には、プログレッシブ走査形式のビデオ信号のみを表示することができ、ディスプレイ２１０が、従来のインターレース型のディスプレイである場合には、インターレース形式のビデオ信号のみが表示に適合する。
【００１８】
したがって、ビデオ処理回路２００が、専用のディスプレイ部を有するディスプレイ装置２０８に直接組み込まれている場合には、ビデオ処理部２００は、専用のディスプレイのみに適したビデオ信号を提供する。しかしながら、ビデオ処理回路が、ディスプレイ装置２０８に直接組み込まれてはいないが、ディスプレイ装置に接続可能である場合には、本発明の回路２００を用いて、対応するフォーマットのビデオ信号を表示するようそれぞれ構成された複数の異なる種類のディスプレイすべてに対応して、ビデオ信号を処理することができる。かかる場合には、ビデオ処理回路２００は、設定可能なビデオ処理回路である。ビデオ処理回路２００が設定可能である場合には、ディスプレイ部２１０は、１組のディスプレイ属性２１２（色空間、プログレッシブ／インターレースの別、解像度、リフレッシュレートなど）をシステム制御部２１４に提供する。ディスプレイ属性の説明は、ベンダ情報、最大画像サイズ、色特性、出荷時の初期設定タイミング、周波数範囲の限界、および、モニタ名やシリアル番号用の文字列など、モニタおよびその能力に関する基本情報を含むＶＥＳＡ規格のデータフォーマットである拡張ディスプレイ認識データ（ＥＤＩＤ）に関して行うことができることに注意されたい。システム制御部は、ディスプレイ２１０での表示に適した種類およびフォーマットのビデオ信号を供給するために、１組のディスプレイ属性２１２を用いて、ビデオ処理回路２００の様々な要素を設定する。例えば、ディスプレイ装置２０８が、デジタルテレビである場合には、ビデオ信号は、ＳＭＰＴＥ  ２７４Ｍ−１９９５（１９２０ｘ１０８０の解像度、プログレッシブまたはインターレース走査）、ＳＭＰＴＥ  ２９６Ｍ−１９９７（１２８０ｘ７２０の解像度、プログレッシブ走査）、標準的な４８０プログレッシブ走査ビデオおよびグラフィックスなど、任意の数および種類の周知のデジタルフォーマットを有するデジタルビデオ信号である。
【００１９】
マルチフォーマットビデオポート２０２に接続された画像ソース２１６は、回路２００による処理のために、任意の数のデジタルまたはアナログ画像入力信号を供給する。画像ソース２１６は、例えば、ＤＶＤプレーヤ、セットトップボックス（衛星ＤＳＳまたはケーブル信号による）などからのビデオだけでなく、静止画（ＪＰＥＧやＴＩＦＦなどのフォーマット）の形態も取りうるデジタル画像ストリームを供給できる。このように、画像ソース２１６は、ＪＰＥＧ、ＢＭＰ、ＴＩＦＦ、ＢＮＣ、コンポジット、シリアルデジタル、アナログデジタル、ＲＧＢ、消費者向けデジタルビデオなど、任意の数および種類の周知のデジタルフォーマットを供給できる。
【００２０】
当技術分野で周知のように、テレビ信号は、一般に、表示データと、それに対応する同期信号とを含む。表示データは、通例、様々な点に対する色の強度を示し、同期信号は、各点が、画像の一点に関連付けられるように、時間基準を提供する。同期信号は、通例、各線を分離する水平同期信号と、各フレームを分離する垂直同期信号とを含む。各フレームは、通例、１つの画像に対応し、当技術分野で周知のＮＴＳＣフォーマットに従った従来のテレビ信号では、複数のフレームが６０Ｈｚでエンコードされる。
【００２１】
多くの場合、デジタルデータは、テレビ信号内にエンコードされる。例えば、デジタルデータは、テレビ信号の垂直帰線消去区間（ＶＢＩ）内にエンコードされることが多い（ＶＢＩは、一般に、フレーム間の継続時間または信号部分を示す）。ＶＢＩ継続時間は、（ＣＲＴを用いた）テレビシステムの走査電子機器が、走査位置をディスプレイスクリーンの下端から上端まで向くように移動させるのに十分な時間を提供する。ＶＢＩ期間に対応するテレビ信号は、通例、表示データ（すなわち、画像データ）を含まないため、ＶＢＩ期間に対応するテレビ信号部分は、デジタルデータのエンコードに利用するのに都合がよい。
【００２２】
テレビシステムにおいてデジタルデータをエンコードする機能を用いると、放送装置（すなわち、一般には、テレビ信号生成器）は、視聴者にとって有用ないくつかの用途に対応するデータを送信できる。例えば、ＶＢＩ内に情報をエンコードすることにより、選択されたテキストをテレビディスプレイ上に表示できるようにすることが多い。テレビ信号のＶＢＩ部分を用いて、テレビガイド（番組のスケジュールを示す）を放送する会社もあるし、株価やニュース速報を提供する会社もある。デジタルデータは、ＶＢＩ以外のテレビ信号部分内にエンコードすることもできる。例えば、テレビ信号のチャンネル全体を、文字放送データのエンコードに用いてもよい。したがって、マルチフォーマットビデオ受信部２０２は、単一または組み合わせて、数多くの機能を実現する多くのサブ回路、例えば、ビデオデコーダ回路、デジタル化回路、ＭＰＥＧデコーダ回路、ＲＦデコーダ回路、および、ＶＢＩデコーダ回路などを備える。
【００２３】
ユーザインターフェースポート２０４は、リモートコントロール装置の形態を取るユーザ入力装置２１８に対して、回路２００へのアクセスを提供する。リモートコントロール装置を用いて、ユーザは、表示された画像の様々な特徴を制御するために用いられる特定のユーザによる命令（ナビゲーションの制御、ボリューム、輝度、コントラストなど）を呼び出すことができる。他の例として、ユーザインターフェースは、文字情報の表示に適した字幕をディスプレイに組み込むことを可能にする。さらに、多くのユーザ入力装置は、ＤＶＤ用のメニュー、チャンネル案内など、様々なオンスクリーンディスプレイ（ＯＳＤ）を操作するために用いられるナビゲーション制御信号を提供する。このように、ユーザ入力装置２１８によって提供されたデータは、通例、本質的に非同期である。
【００２４】
ネットワークインターフェース２０６は、ネットワーク（インターネット、イントラネット、ＬＡＮ、ＷＡＮなど）によって提供されるネットワークアプリケーションおよびデータと、回路２００との間の双方向リンクを実現する。ほとんどの場合、ネットワークによってネットワークインターフェース２０６に提供されたデータは、ＡＴＭデータパケット、イーサネットデータパケット、ＴＣＰ／ＩＰプロトコル形式のデータパケットなどの回線を通して、事実上、パケット化されている。したがって、本質的に不連続なデータパケットをネットワークインターフェース２０６によって受信されるデータとして適合するよう結合させるためには、パケット化されたデータは、ネットワークインターフェース２０６およびメモリ部２３１に備えられた、または、接続されたデパケタイザ２２０によって、解凍および非パケット化される必要がある。
【００２５】
各ポートからのデータストリームの各々は、自身に関連付けられたクロックを有することに注意されたい。例えば、マルチフォーマットビデオ受信ポート２０２の場合には、ビデオクロックΦvidを、ユーザインターフェースの場合には、ユーザインターフェースクロックΦUIを、ネットワークインターフェースの場合には、ネットワーククロックΦnetを有し、入力ビデオはインターレースかつ低解像度（すなわち、７２０×４８０、インターレース）であり、ネットワークデータはプログレッシブかつ高解像度（すなわち、１０２４×７６８、プログレッシブ）である。特に、ビデオクロックΦvidは、任意の入力ビデオ信号のフレームレート（プログレッシブで３０フレーム毎秒（ｆｐｓ）またはインターレースで６０ｆｐｓなど）を表すことが可能であり、ネットワーククロックビデオクロックΦnetは、１５ｆｐｓが可能である。例えば、Φvidは６０Ｈｚ、Φnet（ＰＣからのクロックなど）は７２Ｈｚ、ΦUIは７５Ｈｚであってよい。
【００２６】
マルチフォーマットビデオ受信ポート２０２の出力側に接続された入力フォーマット変換部２２１は、必要に応じて、入力ビデオデータストリームをプログレッシブ走査形式のビデオフォーマットに変換するよう構成されている。入力データストリームが、すでに、プログレッシブ走査形式のフォーマットである場合には、インターレース解除機能は完全に迂回される。入力フォーマット変換部２２１の一部として、インターレース解除サブ回路は、インターレースビデオデータのプログレッシブビデオデータへの変換を実現するが、入力ビデオデータが、すでにプログレッシブビデオーデータである場合には、プログレッシブバイパス回路によって、インターレース解除サブ回路が迂回される。
【００２７】
ディスプレイ２１０のディスプレイレートで稼働するプログレッシブディスプレイクロック２２８によって供給されるプログレッシブクロックΦprogに基づいて、入力プログレッシブ走査データストリームを、プログレッシブ出力画像サイズおよびタイミングに変換するために、複数の画像変換ブロック２２２ないし２２６が設けられている。入力ビデオデータストリームの変換に加えて、画像変換ブロックの各々は、メモリ部２１３（もしくは、備えられている場合にはメモリ制御部）と相互作用する。このように、画像変換部の各々は、入力ビデオデータをメモリ部２３１に直接書き込んだり、処理済みの画像データをメモリ部２３１に提供したりすることができる。説明されている実施形態では、画像変換ブロックは、単一または組み合わせて、水平スケーラ、垂直スケーラ、および、時間スケーラとして機能するサブ回路を備える。時間スケーラは、単一または組み合わせて選択された様々なサブ回路を用いて、フレームレート変換を実現することにより、任意の数および種類の周知の動き補正技術など、選択されたビデオ処理を実行するよう構成されている。例えば、ユーザインターフェース２１８によって提供されたデータが、表示画像の一部となる場合には、関連する画像変換ブロック２２４が、少なくとも時間スケーラを提供して、表示されるユーザ入力情報を表示画像のフレームレートに適合させる。
【００２８】
一部の場合では、ビデオ画像が縮小される場合などに、メモリ部２３１へのデータの格納に先立って、すべてのビデオデータを処理すると有利である。したがって、メモリ部２３１に格納する前にビデオデータを縮小することで、画素数の低減および／または画素ごとのデータを必要とする後処理の低減により、かなりのメモリリソースが節約される。かかる状況としては、比較的大きい画像が小さいＰＩＰウィンドウに縮小されるピクチャインピクチャ（ＰＩＰ）が挙げられる。
【００２９】
メモリ部２３１にビデオデータを格納することに加えて、画像変換部の各々は、メモリ部２３１からビデオデータを読み出し、適宜、そのデータを処理する機能を有する。いずれの場合でも、次に、画像変換ブロックの各々を用いて、メモリ部２３１から読み出されたビデオデータを、必要に応じて画像合成部に送ることができる。フレームレートが異なる場合には、第１のフレームレートでメモリにビデオデータを書き込み、ディスプレイレートで読み出すことで、フレームレートの変換が行われる。画像変換部の各々に対してメモリリソースを準備することにより、出力フレームレートは、各データストリームが、それ自身のレートで入力されるが、入力レートのいずれとも異なる可能性のあるディスプレイレートまたはレートの割り当てに固定されることから、入力ビデオデータストリーム（すなわち、Φvid、Φui、または、Φprog）のいずれかに固定されるか、もしくは、フリーランニングである同一のクロックを有する。
【００３０】
画像合成部２３０は、画像変換ブロック２２２ないし２２６の内の選択されたブロックからのビデオデータを要求する。説明されている実施形態では、画像合成部２３０は、ソースに関係なく、供給されたビデオ信号すべてを合成する。この時点では、すべての入力ビデオ信号は、同じフォーマットと同じクロックとを有しているため、画像合成部２３０は、システム制御部によって提供される制御信号に基づいて、入力ビデオ信号の各々を合成することにより、出力ビデオストリームを形成する。次に、要求されたビデオデータが合成されることで、選択的なエンハンスメントアルゴリズムをビデオデータストリームに提供するよう構成されたビデオエンハンサ部２３４に供給される出力ビデオデータストリーム２３２が形成される。かかるエンハンスメントは、適応的な、または、ユーザ制御による、エッジ補正、コントラストエンハンスメント、シャープネス制御、色の操作および制御、輝度を含み、米国特許５９４０１４１、５８４４６１７、５２３７４１４、５１５１７８３、５０１４１１９、４９３９５７６、および、４８４７６８１に、より詳細に説明されている。なお、これらの米国特許は、本明細書に参考のために組み入れられる。エンハンスされたビデオ信号は、次に、ディスプレイ部インターフェース２３６に供給される。ディスプレイ部インターフェース２３６は、ディスプレイ２１０がプログレッシブ走査形式の画像を表示するよう構成されている場合に、自身が備えるインターレース化部を迂回するプログレッシブバイパスを備えている。
【００３１】
ここで、図３に示すフローチャートによって例示されるプロセス３００を参照して、本発明の説明を行う。図３は、本発明の一実施形態に従って、複数のビデオデータストリームを同時に処理するためのプロセスを詳述するフローチャートである。プロセス３００は、１組のディスプレイ属性が更新されるか否かを決定する工程３０２で始まる。その組のディスプレイ属性が更新されると決定された場合には、工程３０４において、１組のディスプレイ属性が提供され、それらのディスプレイ属性に基づいて、工程３０６において、適切なビデオ処理原理が設定される。いずれの場合でも、工程３０８において、入力ビデオデータが受信され、工程３１０において、入力ビデオデータは、ディスプレイ属性に基づいて変換される。工程３１２において、画像合成部が、変換済みのビデオデータの選択された部分を合成し、工程３１４において、合成されたビデオデータは、工程３１６において選択的にエンハンスされる。工程３１８において、エンハンスされたビデオデータは、ディスプレイ部に表示される。
【００３２】
図４は、本発明を実施するために用いられるコンピュータシステム４００を示す図である。コンピュータシステム４００は、本発明を実施できるグラフィクスシステムの一例にすぎない。コンピュータシステム４００は、中央処理装置（ＣＰＵ）８１０と、ランダムアクセスメモリ（ＲＡＭ）４２０と、読み出し専用メモリ（ＲＯＭ）４２５と、１または複数の周辺機器４３０と、グラフィクスコントローラ４６０と、一次記憶装置４４０および４５０と、デジタルディスプレイ部４７０とを含む。当技術分野で周知のように、ＲＯＭは、ＣＰＵ４１０に対してデータおよび命令を単方向に転送するように機能し、ＲＡＭは、通例、データおよび命令を双方向に転送するために使用される。ＣＰＵ４１０は、一般に、任意の数のプロセッサを備えてよい。一次記憶装置４４０および４５０は、共に、任意の適切なコンピュータ読み取り可能媒体を含んでよい。さらに、二次記憶媒体４８０（通例は、大容量記憶装置）が、ＣＰＵ４１０に対して双方向的に接続され、さらなるデータ記憶容量を提供する。大容量記憶装置４８０は、コンピュータコードやデータなどを含むプログラムを格納するために用いることができるコンピュータ読み取り可能な媒体である。通例、大容量記憶装置４８０は、一次記憶装置４４０、４５０よりも一般に低速であるハードディスクやテープなどの記憶媒体である。大容量記憶装置４８０は、磁気テープもしくは紙テープリーダ、または、その他の周知の装置の形態を取ってもよい。なお、大容量記憶装置４８０の中に保持された情報は、適宜、標準的な方式で仮想メモリとしてのＲＡＭ４２０の一部として組み込まれてよい。
【００３３】
最後に、ＣＰＵ４１０は、図中で４９５として示したネットワーク接続を用いて、コンピュータ、または、インターネットネットワークやイントラネットネットワークなどの通信ネットワークに接続されてもよい。かかるネットワーク接続を用いると、ＣＰＵ４１０は、上述された方法の各工程を実行するにあたって、ネットワークから情報を受信したりネットワークに情報を出力したりできるようになる。かかる情報は、ＣＰＵ４１０を用いて実行される一連の命令として表されることが多く、例えば、搬送波に組み込まれたコンピュータデータ信号の形態で、ネットワークから受信されたりネットワークへ出力されたりしてよい。上述の装置および機材は、コンピュータのハードウェアおよびソフトウェアの分野の当業者には馴染みのものである。
【００３４】
グラフィックスコントローラ４６０は、アナログ画像データおよびそれに対応する基準信号を生成し、デジタル表示部４７０に供給する。アナログ画像データは、例えば、ＣＰＵ４１０または外部のエンコード（図示せず）から受信された画素データに基づいて生成することができる。一実施形態では、アナログ画像データはＲＧＢフォーマットで提供され、基準信号は当技術分野で周知のＶＳＹＮＣおよびＨＳＹＮＣ信号を含む。しかしながら、本発明は、他のフォーマットのアナログ画像データおよび／または基準信号を用いて実施することも可能であることを理解されたい。例えば、アナログ画像データは、対応する時間基準信号を備えたビデオ信号データを含みうる。
【００３５】
以上、いくつかの実施形態のみを説明したが、本発明は、発明の趣旨または範囲を逸脱しない限りにおいて、他の様々な形態で実施することができることを理解されたい。上記の実施例は、例示的であって限定的ではないので、本発明は、本明細書の詳細事項に限定されることはなく、添付された特許請求の範囲と、あらゆる等価物の範囲において、変形可能である。
【００３６】
好ましい実施形態を用いて本発明の説明を行ったが、本発明の範囲内の代替、置換、および等価物が存在する。また、本発明のプロセスおよび装置の両方を実施する多くの別の方法が存在することにも注意されたい。したがって、本発明は、本発明の真の趣旨および範囲に含まれる代替、置換、および等価物のすべてを包含するものとして解釈される。
【図面の簡単な説明】
【００３７】
【図１】従来のＮＴＳＣ規格のＴＶ画像を示す図。
【図２】マルチフォーマットビデオ受信ポートと、ユーザインターフェースポートと、ネットワークインターフェースポートとを備えるビデオ処理回路として実施された本発明の代表的な実施形態を示す図。
【図３】本発明の一実施形態に従って、複数のビデオデータストリームを同時に処理するためのプロセスを詳述するフローチャート。
【図４】本発明を実施するために用いられるコンピュータシステムを示す図。
【図１】
2005192199.tif 000003
【図２】
2005192199.tif 000004
【図３】
2005192199.tif 000005
【図４】
2005192199.tif 000006
【外国語明細書】
TITLE OF THE INVENTION
REAL TIME DATA STREAM PROCESSOR 
DETAILED DESCRIPTION OF THE INVENTION
BACKGROUND OF THE INVENTION
Field of the Invention
The invention relates generally to real-time image processing systems.  More particularly, methods and apparatus for efficiently processing multi-format video streams including those derived from bi-directional, packetized, non-point to point data communications networks into a single format video stream suitable for display on a selected display device. 
Description of the Related Art
Display devices generally include a display screen including a number of horizontal lines.  The number of horizontal and vertical lines defines the resolution of the corresponding digital display device. Resolutions of typical screens available in the market place include 640 x 480, 1024 x 768 etc.  In order to display a source image on a display screen, each source image is transmitted as a sequence of frames each of which includes a number of horizontal scan lines.  Typically, a time reference signal, or signals, is provided in order to divide the analog signal into horizontal scan lines and frames. In the VGA/SVGA environments, for example, the reference signals include a VSYNC signal and an HSYNC signal where the VSYNC signal indicates the beginning of a frame and the HSYNC signal indicates the beginning of a next source scan line.  Therefore, in order to display a source image, the source image is divided into a number of points and each point is displayed on a pixel in such a way that point can be represented as a pixel data element. Display signals for each pixel on the display may be generated using the corresponding display data element. 
For example, Fig. 1 illustrates a conventional NTSC standard TV displayed image 100.  The image 100 is formed of an active picture 10 that is the area of the image 100 that carries image information.  Outside of the active picture 10 is a blanking region 11 suitable for line and field blanking.  The active picture 10 uses frames 12, pixels 14 and scan lines 16 to form the actual TV image.  The frame 12 represents a still image produced from any of a variety of sources such as an analog video camera, an analog television, etc.   
Information in frame 12 is represented by any number of pixels 14.  A pixel ( an acronym for "picture element") is the smallest distinguishable and resolvable area in an image as well as the discrete location of an individual photo-sensor in a solid state camera.  Each pixel in turn represents digitized information and is often represented by 8 bits, although each pixel may be represented by any number of bits.  Each scan line 16 includes any number of pixels 14, thereby representing a horizontal line of information within frame 12.  In NTSC video (a television standard using interlaced scan), for example, a field of information appears every 60th of a second, a frame (including 2 fields) appears every 30th of a second and the continuous presentation of frames of information produce a picture.  On a computer monitor using progressive scan, a frame of information is periodically refreshed on the screen to produce the display seen by a user.
The number of frames-per-second (fps) is also an essential factor in the perception of a moving image.  Films are shot at 24 Fps and usually displayed at movie theaters repeating each frame two times for a net 48 fps to avoid flickering.  NTSC television uses 60 interlaced fields (fps) per second and PAL uses 50 fps.  The interlaced fields are displaced one vertical line and happen at two different instances in time, they are called even field and odd field alternatively.  The 60 fps can be perceived as a single complete frame every 30th of a second whereas film is scanned progressively as a complete frame.  Most internet media today uses 15 fps and useable moving images can have a 10 Fps frame rate.
In order to display these various video formats in a single display, the various video streams must be processed into a single video stream having video format consistent with a display device, such as a monitor or TV, on which the images are to be displayed.  This is particularly important when attempting to display images from such disparate sources as an NTSC TV source (which is continuous in nature) at 60 fps interlaced or 30 fps progressive and internet media (which is packet based) at 15 fps or even lower.  Additionally, it would be advantageous to integrate the requisite video processing into the display itself in order to provide a cost effective solution.
Therefore what is desired is an efficient method and apparatus for processing any of a number of multi-format data streams (including video data and network data) into a single format data stream suitable for display on a monitor
Summary of the Invention
According to the present invention, methods, apparatus, and systems are disclosed for processing a number of multi-format video data streams into a single synchronized display video stream.
A configurable real time data processor arranged to provide a data stream to a display unit having an associated set of display attributes.  A number of ports each of which is configured to receive an input data stream,  a number of adaptive image converter units each of which are coupled to a corresponding one of the ports suitable for converting a corresponding input data stream to a corresponding converted data stream having associated converted data stream attributes, an image compositor unit arranged to combine the converted data streams to form a composited data stream, an image enhancer unit arranged to enhance the composited data stream to form an enhanced data stream, and a display unit interface arranged process the enhanced data stream suitable for display on the display unit.
A method of adaptively providing a data stream to a display unit having an associated set of display attributes.  Receiving a number of input data streams at a number of corresponding input ports,  converting the input data streams to a corresponding converted data stream having associated converted data stream attributes, compositing the converted data streams by an image compositor, enhancing the composited data stream, and processing the enhanced data stream for display on the display unit.
Computer program product for adaptively providing a data stream to a display unit having an associated set of display attributes.  computer code for receiving a number of input data streams at a number of corresponding input ports, computer code for converting the input data streams to a corresponding converted data stream having associated converted data stream attributes, computer code for compositing the converted data streams by an image compositor, computer code for enhancing the composited data stream, computer code for processing the enhanced data stream for display on the display unit, and computer readable medium for storing the computer code.
The invention will be better understood by reference to the following description taken in conjunction with the accompanying drawings.
DETAILED DESCRIPTION OF SELECTED EMBODIMENTS
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.
In one embodiment, an integrated video processor suitable for concurrently processing any of a number of video data streams having an associated video format for display on a selected video display unit at a selected video format is described.  The video processor includes any of a number of input ports, that includes, but is not limited to, a multi-format video port, a user interface port, and a network interface.  In the described embodiment, any of a number of multi-format video streams received by the multi-format video port are converted by way of a format converter unit to a progressive scan video format.   Such formats include component, composite, serial digital, parallel digital, RGB, or consumer digital video.  The digital video signal can be any number and type of well known digital formats such as, SMPTE 274M-1995 (1920 x 1080 resolution), SMPTE 296M-1997 (1280 x 720 resolution), as well as standard 480 progressive scan video.  The outputs of the video format converter unit, the user interface port and the network interface are each supplied to a corresponding image converter unit that assures that each signal provided to an image compositor unit is the same format consistent with the display.  It should be noted that in the case of interlaced input data, the format converter unit provides a de-interlacing function that converts an interlaced image to a non-interlaced image (i.e., progressive scan type image).  In those situations, however, where an interlaced image is to be displayed, an interlacing unit described below is used to appropriately interlace the image.
The image compositor unit, in turn, combines each of the provided signals to a single video data stream suitable for display on the display unit.  In the described embodiment, the single video data stream is input to a video enhancer unit arranged to provide selected enhancement algorithms to the video data stream.  Such enhancements include edge correction, contrast enhancement, etc.  The enhanced video signal is, in turn, provided to a display unit interface that includes a progressive bypass which bypasses an interlacer unit included therein in those cases where the display is configured to display a progressive scan type image.
In the described embodiment, the inventive processor is incorporated in a integrated circuit or other such device in such a way as to enable the processor to be incorporated within the display without requiring a separate unit.  In this way, a video receiver so equipped can directly receive and display in any selected format video data from any number and kind of video source such as satellite, cable, packetized network data, and the like.
The invention will now be described in terms of a real time input video data stream processing unit suitable for integration with a video display system.  It should be noted, however, that the described embodiments are for illustrative purposes only and should not be construed as limiting either the scope or intent of the invention.
Accordingly, Fig. 2 shows a representative embodiment of the invention implemented as a video processing circuit 200 having a multi-format video receiver port 202, a user interface port 204, and a network interface port 206.  In the described embodiment, the video processing circuit 200 is incorporated directly into a display device 208 having a display 210 suitable for displaying any images provided thereto in a particular video format.  For example, in those cases where the display 210 is a CRT progressive scan type display, then only progressive scan type video signals can be displayed whereas in those cases where the display 210 is a conventional interlaced type display, then only interlaced type video signals are suitable to be displayed.
Therefore, in those cases where the video processing circuit 200 is directly incorporated into the display device 208 having a dedicated display unit, then the video processing unit 200 provides a video signals that are appropriate only for the dedicated display and no other.  However, in those cases where the video processing circuit 200 is not directly incorporated into the display device 208 but is nonetheless capable of being coupled to the display device, the inventive circuit 200 can be used to process video signals for any of a number of different type displays each arranged to display video signals of a corresponding format.  In these cases then the video processing circuit 200 is a configurable video processing circuit.  In those cases where the video processing circuit 200 is configurable, the display unit 210 provides a set of display attributes 212 (such as color space, progressive vs interlaced, resolution, refresh rate, etc.) to a system controller unit 214.  It should be noted that the display attributes can be described in terms of Extended Display Identification Data (EDID) that is a VESA standard data format that contains basic information about a monitor and its capabilities, including vendor information, maximum image size, color characteristics, factory pre-set timings, frequency range limits, and character strings for the monitor name and serial number.  The system controller unit 214 uses the set of display attributes 212 to configure the various elements of the video processing circuit 200 in order to provide a video signal of the appropriate kind and format for display by the display 210.  For example, when the display device 208 is a digital television, then the video signal is a digital video signal having any number and type of well known digital formats such as, SMPTE 274M-1995 (1920 x 1080 resolution, progressive or interlaced scan), SMPTE 296M-1997 (1280 x 720 resolution, progressive scan), as well as standard 480 progressive scan video and graphics.
An image source 216 coupled to the multi-format video port 202 provides any number of digital or analog image input signals for processing by the circuit 200.  The image source 216 can provide a digital image stream that can take the form of a still image (having a format such as JPEG or TIFF) as well as video from, for example, a DVD player, set top box (with satellite DSS or cable signal ) and the like.  In this way, the image source 216 can provide any number and type of well-known digital formats, such as, JPEG, BMP, TIFF, BNC composite, serial digital, parallel digital, RGB, or consumer digital video.  
As well known in the art, a television signal generally includes display data and corresponding synchronization signals.  The display data usually represents color intensity for different points and the synchronization signals provide a time reference such that each point is associated with a point of an image. Synchronization signals typically include horizontal synchronization signals separating each line and vertical synchronization signals separating each frame. Each frame usually corresponds to an image and frames are encoded at 60 Hz in conventional television signals according to NTSC format known in the art. 
In many instances digital data is encoded in television signals.  For example, digital data is often encoded in the vertical blanking interval (VBI) of a television signal (VBI generally refers to the time duration or signal portion between frames).  The VBI duration provides sufficient time for the scan electronics of a (CRT based) television system to move a scan position to point from the bottom end of a display screen to the top.  The television signal corresponding to the VBI period typically does not contain any display data (or image data), and thus a television signal portion corresponding to the VBI period has been conveniently used to encode digital data.
Using the ability to encode digital data in a television system, broadcasters (or television signal generators, in general) may send data corresponding to several applications useful for viewers.  For example, information is often encoded in the VBI to enable the display of selected text on television displays. Some companies broadcast television guide (indicating the program schedule) and some other companies provide stock quotes and news flashes using VBI portion of a television signal. Digital data can be encoded in television signal portions other than VBI also.  For example, an entire channel of a television signal can be used to encode teletext data.  Accordingly, the multi-format video receiver 202 includes a number of sub-circuits arranged singly or in combination to perform a number of functions that include, for example, a video decoder circuit, a digitization circuit, an MPEG decoder circuit, an RF decoder circuit and a VBI decoder circuit.
The user interface port 204 provides access to the circuit 200 for a user input device 218 that can take the form of a remote control device.  As a remote control device, a user can invoke specific user supplied instructions (such as navigation control, volume, brightness, contrast, etc.) that are used, in turn, to control various aspects of the displayed image.  In other situations, the user interface can enable closed captioning suitable for display of textual information to be incorporated into the display.  Additionally, many user input devices provide navigation control signals used for navigating various on-screen displays (OSD) such as menus for DVDs, channel guides, and the like.  In this way, the data provided by the user input device 218 is typically asynchronous in nature.
The network interface 206 provides a bi-directional link between network applications and data provided by a network (such as the Internet, intranets, LANs, WANs, etc.) and the inventive circuit 200.  In most cases, the data provided by the network to the network interface 206 is packetized in nature along the lines of ATM data packets, Ethernet data packets, TCP/IP protocol type data packets and the like.  In order, therefore, to integrate what is essentially discrete data packets consistent with that received by the network interface 206, the packetized data must be decompressed and depacketized by a depacketizer 220 included in or coupled to the network interface 206 and a memory unit 231.  
It should be noted that each of the data streams from each of the ports has a clock associated with it.  For example, in the case of the multi-format video receiver port 202, a video clock Φvid, in the case of the user interface, a user interface clock ΦUI, and in the case of the network interface, a network clock Φnet (for example, input video can interlaced and lower resolution (i.e. 720 x 480 I) whereas the network data could be progressive and higher resolution (i.e., 1024 x 768 P).  In particular, in the video clock Φvid  can represent the frame rate of any incoming video signal (such as 30 frames per second (fps) progressive or 60 fps interlaced) whereas the network clock video clock Φnet can be 15 fps.  For example, Φvid could be 60 Hz, Φnet (such as from a PC) could be 72 Hz, whereas ΦUI could be 75 Hz.  
An input format converter unit 221 coupled to the output of the multi-format video receiver port 202 is configured to convert the incoming video data streams to a progressive scan type video format, if necessary.  In those cases where the incoming data stream is already a progressive scan type format, the de-interlacing function is bypassed altogether.  As part of the input format converter unit 221, a de-interlacer sub circuit provides for conversion of interlaced video data to progressive video data whereas in those cases where the input video data is already progressive video data, a progressive bypass circuit bypasses the interlacer.
A number of image converter blocks 222 through 226 are provided to convert input progressive scan data streams to a progressive output image size and timing based upon a progressive clock provided Φprog  by a progressive display clock 228 that runs at the display rate of the display 210.  In addition to converting the input video data streams, each of the image converter blocks interfaces with the memory unit 231 (or a memory controller unit if included therein).  In this way, each of the image converter units can write the input video data directly to the memory unit 231 or provide processed image data into the memory unit 231.  In the described embodiment, the image converter blocks include sub circuits taken singly on in combination that function as a horizontal scaler, a vertical scaler as well as a temporal scaler.  The temporal scaler is arranged to provide frame rate conversion using various sub circuits taken singly or in combination to perform selected video processes such as any number and type of well known motion compensation techniques.  For example, in the case of data provided by the user interface 218 that will be part of the displayed image, the associated image converter block 224 must provide at least a temporal scaler in order to match the displayed user input information to the frame rate of the displayed image.
In some cases, it would be advantageous to process any video data prior to the data being stored in the memory unit 231 such as in those cases when the video images are being downscaled.  Therefore, by downscaling the video data prior to storing in the memory unit 231, substantial memory resources are conserved due to the reduced number of pixels and/or data per pixel required post processing.   Such a situation is picture in picture (PIP) where a larger image is downscaled to a small PIP window.  
In addition to storing video data in the memory unit 231, each of the image converter blocks has the ability to read video data from the memory unit 231 and processes the data accordingly.  In either case, each of the image converter blocks can then be used to pass the video data read from the memory unit 231 to an image compositor unit as needed.  If the frame rates are different, then frame rate conversion is performed by writing video data into the memory at a first frame rate and read out at a display rate.  By providing memory resources to each of the image converter units, the output frame rates have the same clock which could be locked to any of the input video data streams (i.e., Φvid , Φui  , or Φprog   ) or could be free running in that each data stream comes in at its own rate but is locked to a display rate or ration of rates that may be than any of the incoming rates.
An image compositor 230 requests video data from selected ones of the image converter blocks 222- 226.  In the described embodiment, the image compositor 230 integrates all video signals provided thereto regardless of the source.  Since all input video signals are now the same format and the same clock, the image compositor 230 forms an output video stream by combining each of the input video signals based upon a control signal provided by the system controller unit.  The requested video data is then composited in such as way to form an output video data stream 232 that, in turn, is provided to a video enhancer unit 234 arranged to provide selective enhancement algorithms to the video data stream.  Such enhancements include edge correction, contrast enhancement, sharpness control, color manipulation and control, brightness, either adaptively or under user control and described in more detail in issued U.S. patents 5940141, 5844617, 5237414, 5151783, 5014119, 4939576, and 4847681 each of which are incorporated by reference for all purposes.  The enhanced video signal is, in turn, provided to a display unit interface 236 that includes a progressive bypass which bypasses an interlacer unit included therein in those cases where the display 210 is configured to display a progressive scan type image. 
The invention will now be described in terms of a process 300 as illustrated by a flowchart shown in Fig. 3 that shows a flowchart detailing a process for concurrently processing a number of video data streams in accordance with an embodiment of the invention.  Accordingly, the process 300 begins at 302 by a determination of whether or not a set of display attributes is to be updated.  If it is determined that the set of display attributes is to be updated, then a set of display attributes are provided at 304 and, based upon the display attributes, appropriate video processing elements are configured at 306.  In any case, at 308 input video data is received and at 310 the input video data is converted based upon the display attributes.  At 312, an image compositor composites selected portions of the converted video data while at 314, the composited video data is selectively enhanced at 316.  At 318, the enhanced video data is displayed on a display unit.
Fig. 4 illustrates a computer system 400 employed to implement the invention.  Computer system 400 is only an example of a graphics system in which the present invention can be implemented. Computer system 400 includes central processing unit (CPU) 810, random access memory (RAM) 420, read only memory (ROM) 425, one or more peripherals 430, graphics controller 460, primary storage devices 440 and 450, and digital display unit 470.   As is well known in the art, ROM acts to transfer data and instructions uni-directionally to the CPU 410, while RAM is used typically to transfer data and instructions in a bi-directional manner.  CPU 410 may generally include any number of processors.  Both primary storage devices 440 and 450 may include any suitable computer-readable media.  A secondary storage medium 480, which is typically a mass memory device, is also coupled bi-directionally to CPU 410 and provides additional data storage capacity.  The mass memory device 480 is a computer-readable medium that may be used to store programs including computer code, data, and the like.  Typically, mass memory device 480 is a storage medium such as a hard disk or a tape which generally slower than primary storage devices 440, 450.  Mass memory storage device 480 may take the form of a magnetic or paper tape reader or some other well-known device.  It will be appreciated that the information retained within the mass memory device 480, may, in appropriate cases, be incorporated in standard fashion as part of RAM 420 as virtual memory.  
Finally, CPU 410 optionally may be coupled to a computer or telecommunications network, e.g., an Internet network or an intranet network, using a network connection as shown generally at 495.  With such a network connection, it is contemplated that the CPU 410 might receive information from the network, or might output information to the network in the course of performing the above-described method steps.  Such information, which is often represented as a sequence of instructions to be executed using CPU 410, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.  The above-described devices and materials will be familiar to those of skill in the computer hardware and software arts.
Graphics controller 460 generates analog image data and a corresponding reference signal, and provides both to digital display unit 470.  The analog image data can be generated, for example, based on pixel data received from CPU 410 or from an external encode (not shown). In one embodiment, the analog image data is provided in RGB format and the reference signal includes the VSYNC and HSYNC signals well known in the art.  However, it should be understood that the present invention can be implemented with analog image, data and/or reference signals in other formats.  For example, analog image data can include video signal data also with a corresponding time reference signal.
Although only a few embodiments of the present invention have been described, it should be understood that the present invention may be embodied in many other specific forms without departing from the spirit or the scope of the present invention.  The present examples are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
While this invention has been described in terms of a preferred embodiment, there are alterations, permutations, and equivalents that fall within the scope of this invention.  It should also be noted that there are may alternative ways of implementing both the process and apparatus of the present invention.  It is therefore intended that the invention be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 illustrates a conventional NTSC standard TV picture.  
Fig. 2 shows a representative embodiment of the invention implemented as a video processing circuit having a multi-format video receiver port, a user interface port, and a network interface. 
Fig. 3 shows a flowchart detailing a process for concurrently processing a number of video data streams in accordance with an embodiment of the invention.
Fig. 4 illustrates a computer system employed to implement the invention.  
1.  A configurable real time data processor arranged to provide a display data stream to a display unit having an associated set of display attributes, comprising:
a number of ports each of which is configured to receive an input data stream;
a format converter unit coupled to one of the ports arranged to convert a corresponding input data stream to a progressive type data stream, if needed;
a number of adaptive image converter units each coupled an associated one of the ports suitable for converting a corresponding input data stream to a corresponding converted data stream having associated converted data stream attributes;
an image compositor unit arranged to combine the converted data streams to form a composited data stream; 
an image enhancer unit arranged to enhance the composited data stream to form an enhanced data stream; 
a display unit interface arranged process the enhanced data stream to form the display data; and
a memory unit bi-directionally coupled to each of the image converter units and the image compositor arranged to store selected portions of selected ones of the data streams from the image converter units and to provide the selected portions to the image compositor as needed.
2.  A configurable real time data processor as recited in claim 1, further comprising:
a progressive scan timing generator arranged to provide a progressive scan timing signal to the converter units such that the converted data streams are progressive scan type data streams.
3.  A configurable real time data processor as recited in claim 1, further comprising:
a de-interlacing unit coupled to the format converter unit arranged to de-interlace an interlaced type video stream as needed.
4.  A configurable real time data processor as recited in claim 2, wherein the converter unit further comprises:
a frame rate conversion unit arranged to synchronize each converted data stream to a display frame rate.
5.  A configurable real time data processor as recited in claim 4, wherein the display frame rate is locked to a selected frame rate.
6.  A configurable real time data processor as recited in claim 5, wherein the locked frame rate corresponds to one of the incoming data streams.
7.  A configurable real time data processor as recited in claim 5, wherein the display frame rate is a free running frame rate. 
8.  A configurable real time data processor as recited in claim 1, wherein the ports include,
a video receiver port arranged to receive video data;
a user interface port arranged to receive user input commands; and
a network interface arranged bi-directionally connected to a network arranged to transceive packet based data to and from the network.
9.  A configurable real time data processor as recited in claim 1, wherein the data processor is an integrated circuit.
10.  A configurable data processor as recited in claim 1, wherein the display attributes are Extended Display Identification Data (EDID).
11.  A configurable real time video processor as recited in claim 6, wherein the display interface further comprises:
an interlacer unit arranged to interlace a progressive scan image when the display unit is an interlaced type display unit; and
a progressive scan bypass unit arranged to bypass the interlacer when the display unit is a progressive scan type display unit.
12.  A method of adaptively providing a data stream to a display unit having an associated set of display attributes, comprising:
receiving a number of input data streams at a number of corresponding input ports;
converting the input data streams to a corresponding converted data stream having associated converted data stream attributes;
compositing the converted data streams by an image compositor; 
enhancing the composited data stream; and
processing the enhanced data stream for display on the display unit.
13.  A method as recited in claim 12, further comprising:
providing a progressive scan timing signal such that the converted data streams are progressive scan type data streams.
14.  A method as recited in claim 12, further comprising:
storing selected portions of selected ones of the data streams in a memory unit; and 
providing the selected portions to the image compositor as needed.
15.  A method as recited in claim 13, further comprising:
synchronizing each converted data stream to a display frame rate.
16.  A method as recited in claim 15, further comprising:
locking the display frame rate to a selected frame rate.
17.  A method as recited in claim 16, wherein the locked frame rate corresponds to one of the incoming data streams.
18.  A method as recited in claim 15, wherein the display frame rate is a free running frame rate. 
19.  A method as recited in claim 12, wherein the ports include,
a video receiver port arranged to receive video data;
a user interface port arranged to receive user input commands; and
a network interface arranged bi-directionally connected to a network arranged to transceive packet based data to and from the network.
20.  A method as recited in claim 12, wherein the data processor is an integrated circuit.
21.  A method as recited in claim 12, wherein the display attributes are Extended Display Identification Data (EDID).
22.  A method as recited in claim 21, further comprising:
interlacing a progressive scan video image when the display unit is an interlaced type display unit; and
bypassing the interlacing when the display unit is a progressive scan type display unit.
23.  Computer program product for adaptively providing a data stream to a display unit having an associated set of display attributes, comprising:
computer code for receiving a number of input data streams at a number of corresponding input ports;
computer code for converting the input data streams to a corresponding converted data stream having associated converted data stream attributes;
computer code for compositing the converted data streams by an image compositor; 
computer code for enhancing the composited data stream; 
computer code for processing the enhanced data stream for display on the display unit; and
computer readable medium for storing the computer code.
24.  Computer program product as recited in claim 23, further comprising:
computer code for providing a progressive scan timing signal such that the converted data streams are progressive scan type data streams.
25.  Computer program product as recited in claim 23, further comprising:
computer code for storing selected portions of selected ones of the data streams in a memory unit; and 
computer code for providing the selected portions to the image compositor as needed.
26.  Computer program product as recited in claim 24, further comprising:
computer code for synchronizing each converted data stream to a display frame rate.
27.  Computer program product as recited in claim 26, further comprising:
computer code for locking the display frame rate to a selected frame rate.
28.  Computer program product as recited in claim 27, wherein the locked frame rate corresponds to one of the incoming data streams.
29.  Computer program product as recited in claim 24, wherein the display frame rate is a free running frame rate. 
30.  Computer program product as recited in claim 23, wherein the ports include,
a video receiver port arranged to receive video data;
a user interface port arranged to receive user input commands; and
a network interface arranged bi-directionally connected to a network arranged to transceive packet based data to and from the network.
31.  Computer program product as recited in claim 23, wherein the data processor is an integrated circuit.
32.  Computer program product as recited in claim 23, wherein the display attributes are Extended Display Identification Data (EDID).
33.  Computer program product as recited in claim 30, further comprising:
computer code for interlacing a progressive scan video image when the display unit is an interlaced type display unit; and
computer code for bypassing the interlacing when the display unit is a progressive scan type display unit.
ABSTRACT
A configurable real time data processor arranged to provide a data stream to a display unit having an associated set of display attributes.  A number of ports each of which is configured to receive an input data stream, an adaptive image converter unit coupled to at least one of the ports suitable for converting a corresponding input data stream to a corresponding converted data stream having associated converted data stream attributes, an image compositor unit arranged to combine the converted data streams to form a composited data stream, an image enhancer unit arranged to enhance the composited data stream to form an enhanced data stream, and a display unit interface arranged process the enhanced data stream suitable for display on the display unit.
REPRESENTATIVE DRAWING
Fig. 2
2005192199.tif 000007
2005192199.tif 000008
2005192199.tif 000009
2005192199.tif 000010