(57)【要約】      （修正有）【課題】種々の応用を可能とするビデオ処理アーキテクチャを提供する。【解決手段】命令を受信するためにプログラム可能なインタフェースを有するビデオフロントエンド（ＶＦＥ）と、ＶＦＥは命令に従ってビデオ出力データを生成するために、ビデオ入力データを取得しそしてそのビデオ入力データを前処理し、ＶＦＥのビデオ出力データから、符号化されたビデオデータのシーケンスを発生するためのビデオバックエンド（ＶＢＥ）と、ビデオ入力データの前処理を制御するために、インタフェースを経由してＶＦＥに命令を与えるための制御器とを含む。【選択図】図１
2011010331.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
命令を受信するためにプログラム可能なインタフェースを有するビデオフロントエンド（ＶＦＥ）と、ＶＦＥは命令に従ってビデオ出力データを生成するために、ビデオ入力データを取得しそしてそのビデオ入力データを前処理し、
ＶＦＥのビデオ出力データから、符号化されたビデオデータのシーケンスを発生するためのビデオバックエンド（ＶＢＥ）と、そして
ビデオ入力データの前処理を制御するために、インタフェースを経由してＶＦＥに命令を与えるための制御器と
を含むシステム。
【請求項２】
ＶＦＥは、表示のためのビデオ表示データを生成するために、命令に従ってビデオ入力データを前処理する、請求項１記載のシステム。
【請求項３】
命令に従って、ＶＦＥはＶＢＥによる処理のために第１のフォーマットでビデオ出力データを、そして表示のために第２のフォーマットでビデオ表示データを発生するためにビデオ入力データを前処理する、請求項２記載のシステム。
【請求項４】
ＶＦＥは
命令に従って、ビデオ表示データを与えるためのビューファインダドライバと、
命令に従って、プログラム可能なフレーム率でビデオ出力データおよびビデオ表示データを発生するための、フレーム率制御モジュールと、
命令に従って、プログラム可能な画像サイズでビデオ出力データおよびビデオ表示データを発生するための画像サイズ制御モジュールと
命令に基づいて、ＶＢＥにより処理されるための第１の色空間に従ってビデオ出力データを、そしてビューファインダドライバによる表示のための第２の色空間に従ってビデオ表示データを発生する色変換モジュールと、そして
命令に従って、ビデオ入力データ上に１個あるいはそれ以上の画像操作処理を実行する画像処理モジュールと
を含む、請求項２記載のシステム。
【請求項５】
プログラム可能なインタフェースは、制御器がビデオ入力データの入力画像フォーマットおよびビデオ出力データおよびビデオ表示データに対する、出力画像フォーマットをプログラム的にセットすることを可能とする、請求項２記載のシステム。
【請求項６】
プログラム可能なインタフェースは、制御器がフレーム行幅、行あたりのピクセルの数、フレーム列高さ、画像フォーマットの各々に対するフレームあたりの行の数を、プログラム的にセットすることを可能とする、請求項５記載のシステム。
【請求項７】
プログラム可能なインタフェースは、制御器が、ビデオ入力データから落すべきフレームを選択するための第１のビットパターンおよび、ビデオ出力データを生成するためにビデオ入力データの各フレームから落すべきＸおよびＹピクセルを選択するための第２のビットパターンを、プログラム的に定義することを可能とする、請求項１記載のシステム。
【請求項８】
プログラム可能なインタフェースは、ＶＦＥによるビデオ入力データの取得をプログラム的に開始するための取得命令、ビデオデータの取得をプログラム的に終了するための休止命令、およびビデオデータの取得及び処理をプログラム的に制御する構成命令をサポートする、請求項１記載のシステム。
【請求項９】
ＶＦＥは実行固有の画像処理機能を実行し、そしてＶＢＥは、実行から独立した画像処理機能を実行する、請求項１記載のシステム。
【請求項１０】
制御器は第１の処理装置の動作環境内で実行し、そしてＶＦＥおよびＶＢＥは第２の処理装置の動作システム内で実行し、そしてＶＦＥのプログラム可能なインタフェースは、制御モジュールからの命令を受信するための、プログラム可能な処理装置間インタフェースを含む、請求項１記載のシステム。
【請求項１１】
プログラム可能な処理装置間インタフェースは、
制御器からの命令を受信するためのプログラム可能な命令レジスタと、
命令と組み合わせられたパラメータを記憶するためのプログラム可能な命令バッファと、そして
ＶＦＥから制御器に状態を通信するための状態レジスタと
を含む、請求項１０記載のシステム。
【請求項１２】
さらに、ビデオ出力データを記憶するための第１および第２の処理装置の両者によってアクセス可能なメモリを含む、請求項１０記載のシステム。
【請求項１３】
システムはビデオ符号化器／復号器（コーデック）を含む、請求項１記載のシステム。
【請求項１４】
デバイスであって、
デバイスによって与えられた動作環境の中で実行し、そして外部のデバイスから命令を受信するためのプログラム可能なインタフェースを有するビデオフロントエンド（ＶＦＥ）を含む、
ＶＦＥは、ビデオバックエンドによる符号化のためのビデオ出力データおよび表示デバイスによる表示のためのビデオ表示データを生成するために、命令に従ってビデオ入力データを取得し、そしてビデオ入力データを前処理する、
デバイス。
【請求項１５】
プログラム可能なインタフェースは、第１の画像フォーマットおよび第２の画像フォーマットを定義するためのパラメータをサポートし、そしてＶＦＥは命令に基づいて第１の画像フォーマットに従ってビデオ出力データを、そして第２の画像第２のフォーマットに従ってビデオ表示データを発生する、請求項１４記載のデバイス。
【請求項１６】
ＶＦＥはさらに、
命令に従ってビデオ出力データおよびビデオ表示データを生成するために、ビデオ入力データ上に１個あるいはそれ以上の画像操作動作を選択的に実行する画像処理モジュールと、
命令に従ってプログラム可能なフレーム率においてビデオ出力データおよびビデオ表示データを発生するためのフレーム率制御モジュールと、
命令に従ってプログラム可能な画像サイズにおいてビデオ出力データおよびビデオ表示データを発生するための画像サイズ制御モジュールと、
命令に基づいて、ＶＢＥによる処理のために第１の色空間に従ってビデオ出力データを、そしてビューファインダドライバによる表示のために第２の色空間に従ってビデオ表示データを発生する色変換モジュールと
を含む、請求項１４記載のデバイス。
【請求項１７】
ＶＦＥはさらに、命令に従ってビデオ表示データを与えるためのビューファインダドライバを含む、ビューファインダドライバは、命令に従ってビューファインダに対して、あるフレーム率あるいはある画像サイズでビデオ表示データを生成するためにフレーム率制御モジュールおよび画像サイズ制御モジュールに頼る、請求項１６記載のデバイス。
【請求項１８】
プログラム可能なインタフェースは、外部デバイスが、フレーム行幅、行あたりのピクセルの数、フレーム列高さ、フレームあたりの行の数、およびビデオ入力データ、ビデオ出力データ、ビデオ表示データの各々に対する入力画像フォーマットをプログラム的にセットすることを可能とする、請求項１４記載のデバイス。
【請求項１９】
プログラム可能なインタフェースは、外部デバイスが、ビデオ出力データおよびビデオ表示データに対する色空間をプログラム的にセットすることを可能とする、請求項１４記載のデバイス。
【請求項２０】
プログラム可能なインタフェースは、制御器がビデオ入力データから落とすべきフレームを選択するための第１のビットパターン、およびビデオ出力データを生成するためにビデオ入力データから落とすべきＸおよびＹピクセルを選択するための第２のビットパターンをプログラム的に定義することを可能とする、請求項１４記載のデバイス。
【請求項２１】
プログラム可能なインタフェースは、ＶＦＥによるビデオ入力データの取得をプログラム的に開始するための取得命令、ビデオデータの取得をプログラム的に終了するための休止命令、およびビデオデータの取得および処理をプログラム的に制御するための構成命令をサポートしている、請求項１４記載のデバイス。
【請求項２２】
ＶＦＥを実行するデバイスおよび外部のデバイスは、プログラム可能な処理装置を含み、そしてＶＦＥのプログラム可能なインタフェースは外部のデバイスから命令を受信するためのプログラム可能な処理装置間インタフェースを含む、請求項１４記載のデバイス。
【請求項２３】
プログラム可能な処理装置間インタフェースは、
制御器からの命令を受信するためのプログラム可能な命令レジスタと、
命令と組み合わせられたパラメータを記憶するためのプログラム可能な命令バッファと、そして
ＶＦＥから制御器まで状態を通信する状態レジスタと
を含む、請求項２２記載のデバイス。
【請求項２４】
デバイスはビデオ符号化器／復号器（コーデック）を含む、請求項１４記載のデバイス。
【請求項２５】
デバイスは、ＶＦＥの実行のための動作環境を与えるディジタル信号処理装置（ＤＳＰ）を含む、請求項１４記載のデバイス。
【請求項２６】
デバイスであって、
主デバイスから命令をプログラム的に受信するための手段と、
命令に従ってビデオ出力データおよびビデオ表示データを生成するためにビデオ入力データを取得しそして前処理をするための手段と、そして
ビデオ出力データからビデオデータの符号化されたシーケンスを発生するための手段とを含むデバイス。
【請求項２７】
受信する手段は、第１の画像フォーマットおよび第２の画像フォーマットを定義するためのパラメータをサポートし、そして取得しそして前処理する手段は、命令に基づいて第１の画像フォーマットに従ってビデオ出力データを、そして第２の画像第２のフォーマットに従ってビデオ表示データを発生する、請求項２６記載のデバイス。
【請求項２８】
取得し前処理をする手段はさらに、
命令に従って、プログラム可能なフレーム率においてビデオ出力データおよびビデオ表示データを発生するためのフレーム率減少手段と、
命令に従って、プログラム可能な画像サイズにおいてビデオ出力データおよびビデオ表示データを発生するためのサブサンプリング手段と、
命令に従って、ビデオ表示データを与えるためのビューファインダドライバ手段と、（ここで）ビューファインダドライバ手段は命令に従ってビューファインダに対してあるフレーム率あるいはある画像サイズにおいてビデオ表示データを生成するためにフレーム率制御モジュールおよび画像サイズ制御モジュールに頼っており、そして
命令に基づいて、ＶＢＥによる処理に対しては第１の色空間に従ってビデオ出力データを、そして第２の色空間に従ってビデオ表示データを発生するための色変換手段と
を含む、請求項２６記載のデバイス。
【請求項２９】
プログラム可能なインタフェースは、主デバイスがフレーム行幅、行あたりのピクセルの数、フレーム列の高さ、フレームあたりの行の数、およびビデオ入力データ、ビデオ出力データ、ビデオ表示データの各々に対する入力画像フォーマットをプログラム的にセットすることを可能とする、請求項２６記載のデバイス。
【請求項３０】
プログラム可能なインタフェースは主デバイスがビデオ出力データおよびビデオ表示データに対する色空間をプログラム的にセットすることを可能とする、請求項２６記載のデバイス。
【請求項３１】
受信する手段は、主デバイスがビデオ表示データを表示するためのピクセルカウンタおよびラインカウンタを、ビデオ出力データを生成するためにビデオ入力データから落とすべきフレームを選択するためのビットパターン、およびビデオ出力データを生成するためにビデオ入力データの各フレームから落とすべきＸおよびＹピクセルを選択するためのビットパターンを、プログラム的にセットすることを可能とする、請求項２６記載のデバイス。
【請求項３２】
受信する手段は、
主デバイスからの命令および命令と組み合わせられたパラメータを受信するための手段と、そして
取得しそして前処理を行うための手段から主デバイスへ状態を通信するための手段と
を含む処理装置間通信を含む、請求項２６記載のデバイス。
【請求項３３】
方法であって、
処理装置間インタフェースを経由して主デバイスからの命令をプログラム的に受信し、
第１の画像フォーマット内にビデオ出力データをそして、第２の画像フォーマット内にビデオ表示データを生成するために、命令に従って従属デバイスを経由してビデオ入力データを取得しそして前処理を行い、
ビデオデータの符号化されたシーケンスの発生のためにビデオ出力データを符号化器に通信し、そして
ビデオ表示データを表示のために出力デバイスに通信する
ことを含む方法。
【請求項３４】
ビデオ入力データを取得しそして前処理することは、命令に従って、プログラム可能なフレーム率においてそしてプログラム可能な画像サイズにおいて、ビデオ出力データおよびビデオ表示データを発生することを含む、請求項３３記載の方法。
【請求項３５】
ビデオ入力データを取得しそして前処理することは、命令に基づいてＶＢＥによる処理に対しては第１の色空間に従ってビデオ出力データを、そして第２の色空間に従ってビデオ表示データを発生することを含む、請求項３３記載の方法。
【請求項３６】
命令を受信することは、主デバイスおよび従属デバイスによってアクセス可能なプログラム可能なレジスタを経由して、命令および命令と組み合わせられたパラメータを受信することを含む、請求項３３記載の方法。
【請求項３７】
デバイスであって、
画像処理命令を発行する主デバイスと、そして
命令に従ってビデオシーケンスを符号化しあるいは復号するためにビデオフロントエンド（ＶＦＥ）およびビデオバックエンド（ＶＢＥ）に対する動作環境を与える従属デバイスとを含む、
ＶＦＥは、画像処理命令を受信するためのプログラム可能なインタフェースを含み、そして画像処理命令に従ってＶＢＥによって符号化するためにビデオシーケンスを取得しそして前処理を行い、そしてＶＢＥからの復号されたビデオシーケンスを受信しそして処理するデバイス。
【請求項３８】
プログラム可能なインタフェースは第１の画像フォーマットおよび第２の画像フォーマットを定義するためのパラメータをサポートし、そしてＶＦＥおよびＶＢＥは第１の画像フォーマットに従ってビデオシーケンスを交換し、そしてＶＦＥは第２の画像第２のフォーマットに従ってビデオシーケンスを表示する、請求項３７記載のデバイス。
【請求項３９】
主デバイスはフレーム行幅、行あたりのピクセルの数、フレーム列高さ、画像フォーマットの各々に対するフレームあたりの行の数をプログラム的にセットする、請求項３７記載のデバイス。
【請求項４０】
ＶＦＥは、命令に従って、プログラム可能なフレーム率において交換されたビデオシーケンスおよび表示されたビデオシーケンスを発生するためのフレーム率制御モジュールを含む、請求項３７記載のデバイス。
【請求項４１】
ＶＦＥは、命令に従って、プログラム可能な画像サイズにおいて交換されたビデオシーケンスおよび表示されたビデオシーケンスを発生するための画像サイズ制御モジュールを含む、請求項３７記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ディジタルビデオデータを処理するための技術に関する。
【背景技術】
【０００２】
計算機処理能力および余力の最近の増加に伴い、フルモーションディジタルビデオデバイスがより広く利用可能になって来ている。とくに、ディジタルビデオ能力は、ディジタルテレビジョン、ディジタル直接放送システム(digital direct broadcast systems)、無線通信デバイス、可搬形ディジタルアシスタント（ＰＤＡ：portable digital assistant）、ラップトップ計算機、およびデスクトップ計算機を含む広範囲のデバイスに組み込まれて来ている。これらのデバイスは従来のアナログビデオシステムに勝ってフルモーションビデオシーケンスを作成し、修正し、送信し、記憶し、そして再生するにあたって、意味を持った改善を与えることが可能である。
【０００３】
ディジタルビデオ能力を統合するために、これらのデバイスはしばしば種々のカムコーダ(camcorder)あるいはカメラ応用をサポートする。たとえば、これらのデバイスは典型的には、ディジタルビューファインダあるいは他のディスプレー、ビデオデータ取得(capture)のための画像センサ、および種々のビデオ圧縮標準あるいは処理の一つあるいはそれ以上に従って、ディジタルビデオデータを圧縮しそして圧縮解除(decompression)すると同様に、特化された画像処理操作を実行するための画像処理機能を含む。これらのディジタルビデオ能力を与えることはしばしば、特化されたハードウエア、ソフトウエア、あるいは両者の意味のある量を必要とする。
【発明の概要】
【０００４】
一般的に、本開示は、ディジタルビデオデータを符号化しあるいは復号する等の、ディジタルビデオデータの処理に対する技術を記述する。符号化器、復号器、あるいは符号化器／復号器（ＣＯＤＥＣ；コーデック）等のデバイスは、その中で機能がビデオフロントエンド（ＶＦＥ）およびビデオバックエンド（ＶＢＥ）間に分配される革新的なアーキテクチャを含む。ＶＦＥは、種々の応用をサポートするために機能および画像操作を集約し、そして、それによって外部の主デバイスがこれらの操作を容易に制御することが可能な柔軟性のある処理装置間インタフェース(inter-rocessor interface)を与える。
【０００５】
この分配はＶＢＥを、カメラインタフェースハードウエアと直接にインタフェースし、色変換およびビューファインダを駆動するために必要な他の画像処理機能を実行する等の、種々の実行に固有の機能あるいは操作から隔離する。したがって、この中に記述される技術は、ディジタルビデオの能力を新しいデバイスの中に統合することを容易にする分散されたビデオシステムを与えることを可能とする。ＶＦＥは、ビデオデータ能力を新しい製品あるいはデバイスの中に容易に統合するために、任意の必要とされる画像センサ、ディスプレー、およびバックエンドソフトウエアあるいはファームウエア、あるいはそれらの組み合わせを有する異なった応用に容易に繰り返し使用されることが可能である。
【０００６】
一つの実施例においては、システムは命令を受信するためにプログラム可能なインタフェースを有するビデオフロントエンド（ＶＦＥ）を含み、ここでＶＦＥは命令に従ってビデオ出力データを生成するためにビデオ入力データを取得し、そしてそのビデオ入力データを前処理する。システムはさらにＶＦＥのビデオ出力データからビデオデータに関する符号化されたシーケンスを発生するためのビデオバックエンド、およびビデオ入力データに関する望ましい前処理を制御するためにインタフェースを経由してＶＦＥに命令を与えるための制御器を含む。
【０００７】
他の実施例においては、デバイスはデバイスによって与えられた動作環境の中で実行するビデオフロントエンド（ＶＦＥ）を含み、そして外部デバイスから命令を受信するためのプログラム可能なインタフェースを含む。ＶＦＥは、ビデオバックエンドによる符号化のためのビデオ出力データおよび、表示デバイスによる表示のためのビデオ表示データを生成するために、命令に従ってビデオ入力データを取得しそして、ビデオ入力データを前処理する。
【０００８】
他の実施例においては、デバイスは、主デバイスからプログラム的に命令を受信するための手段、およびその命令に従ってビデオ出力データおよびビデオ表示データを生成するためにビデオ入力データを取得しそして前処理をするための手段を含む。デバイスはさらにビデオ出力データからビデオデータの符号化されたシーケンスを発生するための手段を含む。
【０００９】
他の実施例においては、方法は、主デバイスから処理装置間インタフェースを経由して命令をプログラム的に受信し、そして第１の画像フォーマット内にビデオ出力データを、そして第２の画像フォーマット内にビデオ表示データを生成するために、その命令に従って従属デバイスを経由してビデオ入力データを取得しそして前処理することを含む。方法はさらに、ビデオデータの符号化されたシーケンスを発生するためにビデオ出力データを符号化器に通信し、そして表示のためにビデオ表示データを出力デバイスに通信することを含む。
【００１０】
１個あるいはそれ以上の実施例に関する詳細は、添付されている図面および以下の記述の中に示される。他の特徴、目的および利点は記述および図面から、そして請求項から明白となろう。
【図面の簡単な説明】
【００１１】
【図１】図１は、ビデオフロントエンド（ＶＦＥ）およびビデオバックエンド（ＶＢＥ）間に分配されたビデオ符号化器／復号器（コーデック）と合体している例となるディジタルビデオデバイスを示すブロック線図である。
【図２】図２は、図１のＶＦＥの例となる実施例をさらに詳細に示すブロック線図である。
【図３】図３は、例となるＶＦＥの動作をさらに詳細に示す状態線図である。
【図４】図４は、ディジタルビデオデバイスの例となる動作を示すフローチャートである。
【詳細な説明】
【００１２】
図１は、ビデオフロントエンド（ＶＦＥ）１４およびビデオバックエンド（ＶＢＥ）１６の間に分配されているビデオ符号化器／復号器（コーデック）１２と合体している、例となるディジタルビデオデバイス１０を示すブロック線図である。デバイス１０はビデオデータの符号化されたシーケンスを受信デバイス（図示せず）に対して送信するソースデバイスとして動作することが可能である。同様に、デバイス１０は、ビデオデータを受信しそして復号することが可能な受信デバイスとして動作することが可能である。例となるデバイスは、計算機ネットワーク上に置かれたサーバ、ワークステーションあるいは他のデスクトップ計算デバイス、およびラップトップ計算機、パーソナルディジタルアシスタント（ＰＤＡ）、無線通信デバイス等の移動計算デバイスを含む。他の例は、ディジタルテレビジョン放送衛星、ディジタルテレビジョン、ディジタルビデオカメラあるいは他の記録デバイス、ディジタルビデオ電話、無線ビデオデバイス等を含む。
【００１３】
例示の目的のために、ディジタルビデオデバイス１０はセルラ電話等の無線デバイスとして示される。しかしながらこの中に記述された技術は無線デバイスに限定されず、そして他のディジタルビデオデバイスに容易に適用することが可能である。さらに、コーデックに関連して示されたが、この開示はそのように限定はされず、そして容易に符号化器および復号器に適用することが可能である。
【００１４】
制御器２４は、ＶＦＥ１４を含むコーデック１２のコンポーネント上に基本的な制御を与え、そしてディジタルビデオデバイス１０の他のコンポーネントとの通信を調整する。制御器２４は、コーデック１２にディジタルビデオシーケンスを符号化しそして復号するために必要とされる計算的に強力な作業の多くを実行することを命令する。コーデック１２は、ディジタル信号処理装置（ＤＳＰ）の形態をとることが可能であり、そして命令およびデータを記憶するための専用化されたメモリ４１を有することが可能である。代わりに、あるいはさらにコーデック１２は、専用化されたハードウエア、ソフトウエア、ファームウエア、あるいはそれらの組み合わせを含むことが可能である。同様に、制御器２４は、組み込まれたマイクロ処理装置、専用化されたハードウエア、ソフトウエア、たとえば制御ソフトウエアモジュールあるいはそれらの組み合わせの形態をとることが可能である。さらに、コーデック１２および制御器２４は、デバイス１０の他のコンポーネントと同様に、１個あるいはそれ以上の特定用途向け集積回路（ＡＳＩＣ）の中に、複数の個別コンポーネント、あるいはそれらの組み合わせとして実現されることが可能である。
【００１５】
ディジタルビデオデバイス１０はまた、ディスプレーあるいはビューファインダ１７および画像センサ２３等のいくつかの異なった周辺を含む。制御器２４の指示の下に、コーデック１２は画像センサ２３からビデオ入力データ３０（ＶＩＤ）を取得し、そしてそのビデオ入力データをＶＦＥ１４に通信する。カメラインタフェース２２は、画像センサ２３のインタフェース詳細を要約する任務を有する。たとえば、ＶＦＥ１４からの制御および構成データ２７に応じてカメラインタフェース２２は、画像センサ２３から受信されたデータ内の水平および垂直基準信号を同期させる。カメラインタフェース２２はまた、ピクセルをマスキングすることによる等のビデオデータを処理するための限定された機能を含むことが可能である。
【００１６】
一般的に、コーデック１２のＶＦＥ１４は、種々のカメラあるいはカムコーダ応用をサポートするために、機能および前処理操作を集約し、そしてこれらの操作を制御するための柔軟性を有する処理装置間インタフェースを含む。ＶＦＥ１４の基本的な作業は、到来するビデオ入力データ３０をリアルタイムで処理することである。ＶＦＥ１４は、ビデオ入力データ３０を受信し、そして制御器２４から受信した命令および構成パラメータ２５に基づいてＶＢＥ１６に対して受け入れ可能なフォーマットにビデオ出力データ（ＶＯＤ）３５を生成するためにデータを処理する。さらにＶＦＥ１４は、ビデオ表示データ（ＶＤＤ）３７をＶＤＤを表示するための任意の出力デバイスたとえば、カムコーダあるいは移動電話スクリーンのための液晶ディスプレー（ＬＣＤ）を含むことが可能なビューファインダ１７によって表示するのに対して適切な形態で生成するために、ビデオ入力データ３０をフォーマットする。ＶＦＥ１４は、ビデオメモリ１５の中にＶＢＥ１６および制御器２４それぞれによるアクセスのために、ビデオ出力データ３５およびビデオ表示データ３７を記憶する。ＶＦＥ１４は、懸案になっている(pending)命令の状態を表示するために処理装置間インタフェースを経由して状態情報２６を与える。
【００１７】
ＶＦＥ１４は、ビデオ入力データ３０上で、カラービデオフレームを黒白フォーマット(black-and-white format)に変換し、データのコントラストあるいは輝度特性を変更し、取得されたデータに対する照明条件(lighting condition)をディジタル的に高めあるいは変更し、ディジタルズーム操作、画像センサ処理および補償、たとえば白色バランス、自動利得調整、およびガンマ補正を実行し、そしてハロー(halo)、日没、スター濾波(star filter)、あるいは他の濾波効果をシミュレートするために取得されたビデオデータを変更する等の複雑な画像処理操作を実行することが可能である。さらに、ＶＦＥ１４は、取得されたビデオ入力データ３０のフレーム率あるいは画像サイズを減少することが可能である。
【００１８】
以下にさらに詳細に記述されるように、ＶＦＥ１４は、制御器２４がＶＦＥ１４を容易に制御しそして再構成することを可能とする処理装置間アプリケーションプログラミングインタフェース（ＡＰＩ：application-programming interface）を与える。ＡＰＩは、ＶＦＥ１４が制御器２４に従属して動作することを可能とする処理装置間インタフェースを与える。
【００１９】
ＶＢＥ１６は、ビデオデータを符号化し、あるいは復号する任意のソフトウエア応用、ハードウエアユニット等を含むことが可能である。より特定的には、ＶＢＥ１６は、ビデオシーケンスの符号化されたビットストリームを発生するためにビデオ出力データ３５を利用することが可能である。符号化器として動作する場合にはＶＢＥ１６はビデオ出力データ３５を符号化し、そして符号化されたビットストリームをビデオメモリ１５内にたとえば、送信機／受信機１８およびアンテナ１９を経由しての無線伝送に対してバッファすることが可能である。たとえば、ＶＢＥ１６は、ディジタルカメラに対するＪＰＥＧ静止画像符号化器、ディジタルカムコーダに対するＭＰＥＧビデオ符号化器等を含むことが可能である。ＶＢＥはその結果専用の符号化器、復号器であることが可能であり、あるいは、動画像符号化専門家会合（ＭＰＥＧ）による、ＭＰＥＧ−１、ＭＰＥＧ−２、あるいはＭＰＥＧ−４、Apple  Computer  of  Cupertino  CaliforniaによるQuickTimeTM、  Microsoft Corporation of  Redmond、Washingtonによって開発されたVideo  for  Windows（登録商標）、Intel  Corporationによって開発されたIndeo（登録商標）、Seattle  WashingtonのRealNetworks、IncからのRealVideo（登録商標）、およびSuperMac  Incにより開発されたCinepak（登録商標）、H.263、H.264、ＪＰＥＧ２０００等の種々のデータ圧縮標準の一つあるいはそれ以上に従ってビデオ出力データ３５を処理することが可能である。
【００２０】
代わりに、あるいはさらに、ＶＢＥ１６は復号器として動作することが可能である。より特定的には、ＶＢＥ１６は、受信機／送信機１８からの符号化されたビデオシーケンスのビットストリームを受信し、そしてそのビットストリームをＶＦＥ１４による処理および表示のために復号されたビデオシーケンスを生成するために処理することが可能である。ＶＦＥ１４およびＶＢＥ１６は、ビデオ処理操作を起こすために制御信号２８を交換することが可能である。たとえば、制御器２４あるいはＶＦＥ１４は、ＶＢＥ１６によって符号化操作を起こすことが可能である。復号器として動作する場合には、制御器２４あるいはＶＢＥ１６はＶＦＥ１４によって操作を起こすことが可能である。ＶＦＥ１４およびＶＢＥ１６は、単独型ハードウエア、あるいはたとえばＤＳＰによる実行のためのソフトウエアモジュール等のソフトウエアモジュールあるいはそれらの組み合わせとして与えられることが可能である。
【００２１】
メモリ２１、４１は、それぞれ制御器２４およびコーデック１２による使用のための命令およびデータを記憶する。分離したメモリとして示されたが、メモリ２１、４１は共通のメモリデバイスであることが可能である。メモリ２１、４１は読み出し専用メモリ（ＲＯＭ）、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、非揮発性スタティックランダムアクセスメモリ（ＳＲＡＭ）、フラッシュメモリ、電気的に消去可能なプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）等を含むことが可能である。ビデオメモリ２４は、ビデオダイナミックメモリアクセス（ＶＤＭＡ：Video Dynamic Memory Access）の形態をとることが可能である。示されたように、メモリ１５、２１はコーデック１２の外にあり、そして制御器２４に結合されることが可能である。
【００２２】
記述されたようにコーデック１２の機能をＶＦＥ１４およびＶＢＥ１６に分配することは、ＶＢＥ１６が、カメラインタフェースハードウエア２２と直接にインタフェースし、色変換およびビューファインダ１７を駆動するために必要な他の画像処理機能、あるいは他の実行固有の(implementation-specific)操作を実行する等の、種々の実行固有の機能を実行しなければならないことから隔離する。したがって、ＶＦＥ１４は、実行固有の画像処理機能を実行するとして見られることが可能であり、一方ＶＢＥ１６は実行から独立した（implementation-independent)画像処理機能を実行することが可能である。
【００２３】
さらに、分配することは、新しいデバイス内におけるディジタルビデオ能力の統合を容易にするために増加された柔軟性を与える。たとえば、ＶＦＥ１４、およびＶＢＥ１６間の機能的分配は、分散されたビデオシステムをもたらし、そして設計者が、ビデオデータ能力を新しい製品あるいはデバイスに統合するために、ＶＦＥ１４を任意のバックエンドソフトウエア、あるいはファームウエア、あるいはそれらの組み合わせとともに容易に繰り返し使用することを可能とする。このように新しいビデオ圧縮標準はＶＦＥ１４を新しいＶＢＥ１６と結合することによって容易にサポートされることが可能である。換言すれば、設計者は、ＶＦＥ１４を共通モジュールとして、任意の必要とされる異なったＶＢＥあるいは他のアプリケーションソフトウエア、あるいはファームウエアとともに、たとえ専用のＶＢＥでさえも、新しいデバイスの中にディジタルビデオ能力を統合するために、繰り返し使用することが可能である。さらに、ＶＦＥ１４の柔軟性および構成可能性は、ＶＦＥが異なった画像センサおよび表示デバイスとともに容易に使用されることを可能とする。したがって、ＶＦＥ１４は、複数のデバイスの中に僅かの変化あるいは変化なしに容易に繰り返し使用されそして組み込まれることが可能であり、そしてＪＰＥＧをもとにした静止ディジタルカメラ、あるいはＭＰＥＧを基にしたビデオキャプチャおよび通信とを統合したセルラ電話等の、新しいデバイスの設計および生産を容易にすることが可能である。
【００２４】
図２は、ＶＦＥ１４（図１）のさらに詳細な例となる実施例を示すブロック線図である。示されたように、ＶＦＥ１４は、いくつかの機能モジュール３０Ａ〜３０Ｆ、および、それによって制御器２４がプログラム的にモジュールを構成する共通のアプリケーションプログラミングインタフェース（ＡＰＩ）３２を含むことが可能である。モジュール３０の多く、すなわちモジュール３０Ｂ〜３０Ｆは、ともにＶＢＥ１６による符号化のためにビデオデータを前処理するために、そしてＶＢＥ１６によって生成された復号されたビデオシーケンスを後処理するために使用されることが可能である。このようにして、モジュール３０は、種々のアプリケーション内において使用されることが可能である。モジュール３０は、ソフトウエアモジュールとしてコーデック１２によって、たとえばＤＳＰ上に与えられる動作環境における実行のために実現される。しかしながら、モジュール３０はハードウエア、ファームウエア、ソフトウエア、あるいはそれらの組み合わせの中に実現されることが可能である。
【００２５】
カメラドライバ３０Ａは、カメラインタフェースハードウエア２２と直接にインタフェースし、そして画像センサ３２からの１個あるいはそれ以上のビデオフレームを取得するためにハードウエアをプログラムする。とくに、カメラドライバ３０Ａは、命令２７を発行し、そして対応してビデオ入力データ３０を受信する。
【００２６】
たとえば、カメラドライバ３０Ａは、ビデオ取得を開始しそして停止するためにカメラインタフェースハードウエア２２をプログラム的に構成する。さらに、カメラドライバ３０Ａは、画像フレームディメンションをたとえば、フレームあたりのライン、およびラインあたりのピクセルを、そしてデータ収集のための画像ウインドウ、データフォーマットたとえば小さいあるいは大きいエンディアン(Endian)を定義する。さらに、カメラドライバ３０Ａは、画像サイズおよびフレーム率を減少するために、カメラインタフェースハードウエア２２が空間領域および時間領域に沿った初期サブサンプリングを実行することを指示するための命令２７を発行する。
【００２７】
カメラドライバ３０Ａは、ビデオ入力データ３０を処理し、そして処理されたデータをＶＢＥ１６によるバックエンド処理のために標準形式でビデオメモリ１５（図１）に記憶する。カメラドライバ３０Ａは、たとえば、画像をＹＣｂＣｒ（輝度-色差）４：２：２フォーマットで記憶する。そしてそれは、画像データに対する色差値は水平方向においてのみサブサンプルされることを意味する。たとえば、カメラドライバ３０は、サイズ３５２×２８８ピクセルのカラー画像あるいはフレームを、輝度データは３５２×２８８に留まりしかし色差値は、１７６×２８８ピクセルのサイズにサブサンプルされる、フレームを生成するために処理することが可能である。
【００２８】
フレーム率制御モジュール３０Ｂは、画像センサ２３によって取得されそしてカメラインタフェース２２によって生成されたビデオデータの、すなわちビデオ入力データ３０のシーケンスを望ましいフレーム率にダウンサンプルあるいはアップサンプルするための機能を与える。フレーム率制御モジュール３０Ｂは、ＶＦＥ１４に広範囲の応用における使用に対する柔軟性を与えて、たとえば、ビデオ入力データ３０の到来ビデオフレームを分数あるいは整数の割合だけ、ダウンサンプルあるいはアップサンプルすることが可能である。
【００２９】
画像処理モジュール３０Ｃは、制御器２４が到来ビデオ入力データ３０に対してフレームごとに画像処理を行う機能をプログラム的に選択し、そして適用することを可能とする。たとえば、制御器２４は、カラービデオフレームを黒白フォーマットへの変換、データのコントラストあるいは輝度特性の変更、取得されたデータに対する照明条件をディジタル的に高めあるいは変更すること、ディジタルズーム動作、画像センサ処理および補償たとえば白色バランス、自動利得制御、およびガンマ補正の実行、そして取得されたビデオデータの、ハロー、日没、スター濾波あるいは他の濾波効果をシミュレートするための変更、等の機能を選択するためにＡＰＩ３２を経由して命令を発行することが可能である。画像処理モジュール３０Ｃは、これらの機能をＶＢＥ１６による符号化のために、ビデオ入力データ３０を前処理するために、あるいはＶＢＥ１６により生成された復号されたビデオシーケンスを後処理するために、適用することが可能である。たとえば、画像処理モジュール３０Ｃはこれらの機能を、受信されたビデオビットストリームからＶＢＥ１６によって生成された復号されたビデオシーケンスを高めるために適用することが可能である。
【００３０】
画像サイズ制御モジュール３０Ｅは、画像サイズを望ましい画像サイズにダウンサンプルあるいはアップサンプルする機能を与える。さらに、画像サイズ制御モジュール３０Ｅは、画像サイズをダウンサンプルしそしてアスペクト比を維持し、あるいは異なった望ましいアスペクト比を得ることが可能である。たとえば、６４０×４８０の解像度を有するＶＧＥ画像は、解像度３５２×２８８を有するＣＩＦフォーマットにサブサンプルされることが可能である。画像サイズ制御モジュール３０Ｅは、たとえば、ＶＦＥ１４に広範囲の応用における使用のための柔軟性を与えて、ビデオ入力データ３０の画像サイズを分数のあるいは整数の割合だけダウンサンプルすることが可能である。
【００３１】
ビューファインダドライバ３０Ｄは、ビューファインダ１７をビデオ表示データ３５で駆動するための機能を与える。ビューファインダ１７は、ビデオ表示データ３５をビデオ入力データ３０あるいはビデオ出力データ３５のフォーマットから、意味を持って異なるフォーマットで要求することが可能である。たとえば、ビューファインダ１７は、ビデオ表示データ３５を異なったフレーム率あるいは画像サイズで要求することが可能である。ビューファインダドライバ３０Ｄは、ビデオ入力データ３０を処理し、そしてビューファインダ１７による表示に対して適切な形態でビデオ表示データ３５を生成するために、フレーム率制御モジュール３０Ｃおよび画像サイズ制御モジュール３０Ｅを使用することが可能である。
【００３２】
色変換モジュール３０Ｆはビデオ入力データ３０を異なった色空間(color space)たとえば、色画像データを与えるための異なったフォーマットに変換するための機能を与える。たとえば、色変換モジュール３０Ｆは、ＶＢＥ１６による使用に対するＹＣｂＣｒ（輝度-色差）４：２：２フォーマットのビデオ出力データ３５を生成するためにビデオ入力データ３０を処理することが可能である。さらに色変換モジュールはまた、ビデオ入力データ３０をビューファインダ１７による表示に対するＲＧＢフォーマットで、ビデオ表示データ３５を生成するために処理することが可能である。さらに色変換モジュールは、生成されたフォーマットの色深さ(color depth)をたとえば１６ビット、１８ビット、および２４ビット深さに制御することが可能である。
【００３３】
制御器２４は、ＡＰＩ３２に従って命令を発行することによってＶＦＥ１４のモジュール３０をプログラム的に構成しそして相互に影響しあう。一つの実施例においては、ＡＰＩ３２は、つぎの命令をサポートする。
【００３４】
ＣＯＮＦＩＧ−ＣＯＮＦＩＧ命令はＶＦＥ１４をプログラムするために使用され、そして制御器２４がモジュール３０の機能を制御するための広範囲のパラメータを定義することを可能とする。
【００３５】
ＣＡＰＴＵＲＥ−ＣＡＰＴＵＲＥ命令は、取得およびＶＦＥ１４を経由してビデオ入力データ３０の処理を開始する。
【００３６】
ＩＤＬＥ−ＩＤＬＥ命令は、ＶＦＥ３０にビデオ入力データ３０の取得を停止することを指示する。
【００３７】
上の命令を発行するために、制御器２４は記憶のためにコーデック１２の中に命令を書き込むことが可能である。より特定的には、コーデック１２は、懸案になっている命令を保持するための命令（ＣＭＤ）レジスタ３７、および命令と組み合わせられた任意のパラメータを保持するための命令（ＣＭＤ）バッファ３６を含むことが可能である。命令および組み合わせられたパラメータを命令レジスタ３７および命令バッファ３６に書き込む場合は、丁寧に制御器２４は、命令が懸案になっていることを示すためにＶＦＥ１４に割り込み(interrupt)を発行する。一つの例となる実施例においては、命令レジスタ３７は、発行されている特定の命令に対する命令ヘッダを記憶するための１個の３２ビットバッファを含む。命令バッファ３６は、２３個の３２ビット語を記憶することが可能なサイズを有するバッファを含む。
【００３８】
ＶＦＥ１２は、たとえば、命令は完了されているか否か、あるいは違法の命令が見出されていないか否か等の、懸案になっている命令に関する状態を示すために、メッセージ（ＭＳＧ）レジスタ３８を利用する。ＶＦＥ１２は、メッセージレジスタ３８内の新しい状態情報の利用可能性を示すために、制御器２４に割り込みを発行する。制御器２４は、次の命令を発行するに先立って前の命令が完全に処理されているかを確認するためにメッセージレジスタ３８にアクセスする。
【００３９】
一つの実施例においては、メッセージレジスタ３８は次のように８個の３２ビット語の中に状態メッセージを記憶する。
【表１】
2011010331.tif 000003
【００４０】
一つの実施例においては、ＣＯＮＦＩＧ命令は、制御器２４がデバイス１０によって必要とされるビデオ能力をサポートするために必要であるとして、ＶＦＥ１４を容易にプログラム的に構成することを可能とする広範なパラメータリストを含む。より特定的には、制御器２４は、次の表に示されるように命令バッファ３６に２３語のパラメータリストを書き込む。
【表２−１】
2011010331.tif 000004
【表２−２】
2011010331.tif 000005
【００４１】
図３は、ＶＦＥ１４の例となる動作をさらに詳細に示す状態線図である。この例においては、ステートマシン６０は３個の状態すなわち、ＩＮＩＴ（初期）状態６２、ＩＤＬＥ（休止）状態６４、およびＣＡＰＴＵＲＥ（取得）状態６６を含む。
【００４２】
最初の電源投入(power-up)あるいはハードウエアリセットの場合は、ＶＦＥ１４はＩＮＩＴ状態６２に入る。この状態を出るためにＶＦＥ１４に対しては、制御器２４は、上に記述されたようにプログラム的にＶＦＥ１４を構成するためにＣＯＮＦＩＧ命令を発行しなければならない。ＣＯＮＦＩＧ命令を受信する場合は、ＶＦＥ１４はＩＤＬＥ状態６４に移行する。
【００４３】
ＩＤＬＥ状態６４の中で、ＶＦＥ１４は、誤りの発生なしに制御器２４からすべての３個の可能な命令、すなわちＣＯＮＦＩＧ命令、ＣＡＰＴＵＲＥ命令、およびＩＤＬＥ命令を受領する。制御器２４は、たとえばＶＦＥ１４を再プログラムするためにＣＯＮＦＩＧ命令を発行することが可能である。ＣＯＮＦＩＧ命令を受信しそして処理する場合は、ＶＦＥ１４はＩＤＬＥ状態６４に復帰する。ＩＤＬＥ命令は、ＶＦＥ１４がすでにＩＤＬＥ状態６４の中で操作しているとして本質的に無視される。
【００４４】
ＣＡＰＴＵＲＥ命令を受信する場合は、ＶＦＥ１４はＣＡＰＴＵＲＥ状態６６に移行し、そして最も最近のＣＯＮＦＩＧ命令によってプログラムされたパラメータを実行する。ＣＡＰＴＵＲＥ状態６６にいる期間中にＶＦＥ１４はカメラインタフェースハードウエア２２を起動し、そしてビデオ入力データ３０の受信および処理を開始する。
【００４５】
最初に、ＶＦＥ１４はスナップショットモードが可能にされているか否かを決定するためにＣＡＰＴＵＲＥ命令と組み合わせられたパラメータを調査する。もしもスナップショットモードが可能にされている場合は、ＶＦＥ１４はビデオ入力データ３０の１個のビデオフレームを取得し、そしてフレームを取得すると直ちにＩＤＬＥ状態６４に復帰する。もしもスナップショットモードが可能にされていない場合は、ＶＦＥ１４は、ＣＡＰＴＵＲＥ状態６４に留まり、そしてビデオフレームを連続的に受信しそして処理する。
【００４６】
より特定的には、ＶＦＥ１４はビデオ入力データ３０を受信し、そしてデータをビデオ出力データ３５を生成するために、制御器２４から受信された命令および構成パラメータ２３に基づいてＶＢＥ１６に対して受け入れ可能なフォーマットに処理する。さらに、ＶＦＥ１４は、ビデオ表示データ３５を、ビデオ入力データ３０をビューファインダ１７による表示に対して適切な形態で生成するためにフォーマットし、そしてビデオ出力データ３５を、ＶＢＥ１６あるいは制御器２４によるアクセスのために、ビデオメモリ１５の中に記憶する。
【００４７】
取得モード６６で動作する期間中、ＶＦＥ１４は制御器２４によって与えられたプログラム可能なパラメータに基づいて機能的モジュール３０Ａ〜３０Ｆを頼りに(invoke)する。たとえば、上に記述されたようにカメラドライバ３０Ａはビデオ取得を開始および停止するためにカメラインタフェースハードウエア２２をプログラム可能であるように構成する。フレーム率制御モジュール３０Ｂは、画像センサ２３によって取得されそしてカメラインタフェース２２によって生成されたビデオ入力データ３０を望ましいフレーム率に処理する。
【００４８】
画像処理モジュール３０Ｃは、ＣＯＮＦＩＧ命令により制御器２４によって与えられたパラメータに基づいてビデオ入力データ３０上で複雑な画像処理操作を実行することが可能である。ビューファインダドライバ３０Ｄは、ビデオメモリ１５からのビデオ入力データ３０をビューファインダ１７による表示に対して適切な形態でビデオ表示データ３５を生成するために処理する。
【００４９】
画像サイズ制御モジュール３０Ｅは、画像サイズを望ましい画像サイズにダウンサンプルするための機能を与える。色変換モジュール３０Ｆはビデオ入力データ３０を異なった色空間たとえば、ＶＢＥ１６あるいはビューファインダ１７により必要とされるかも知れないとして色画像データを与えるための異なったフォーマットに変換するための機能を与える。
【００５０】
ＶＦＥ１４は制御器６６からＩＤＬＥ命令を受信する場合は、画像取得を終了しそしてＩＤＬＥ状態６４に復帰する。
【００５１】
図４は、ディジタルビデオデバイス１０の例となる操作を示すフローチャートである。最初に、制御器２４は、ＶＦＥ１４（７０）の処理装置間インタフェースを経由しての命令２５によりコーデック１２をプログラム的に構成する。このように、制御器２４は主デバイスとして、そしてコーデック１２は従属デバイスとして見られることが可能である。
【００５２】
コーデック１２が符号化器として動作する場合には、ＶＦＥ１４は、第１の画像フォーマット内にビデオ出力データ３５を、そして第２の画像フォーマット（７２）内にビデオ表示データを生成するために命令に従ってビデオ入力データ３０を取得し、そして前処理をする。この処理期間中、ＶＦＥ１４はプログラム可能なフォーマット、たとえばプログラム可能なフレーム率、画像サイズ、および色空間に従ってビデオ出力データおよびビデオ表示データを発生する。ＶＦＥ１４は、ビデオデータの符号化されたシーケンス（７４）の発生のためにＶＢＥ１６にビデオ出力データを通信し、そしてビューファインダ１７上の表示のために制御器２４にビデオ表示データを通信する（７６）。同様な様式で、ＶＦＥ１４はＶＢＥ１６から復号されたビデオシーケンスを受信し、そして制御器２４によって与えられた命令２５に従って復号されたビデオシーケンスを処理し、そして表示することが可能である。
【００５３】
例となるビデオ符号化器／復号器（コーデック）がビデオフロントエンド（ＶＦＥ）およびビデオバックエンド（ＶＢＥ）間に分配された種々の実施例が記述されて来ている。この開示の中に記述されたように、種々のカメラあるいはカムコーダ応用をサポートするためにＶＦＥは機能および前処理操作を集約し、そしてそれによって外部の主デバイスがそれらの操作を容易に制御することが可能な柔軟性を有する中間処理装置(inter-processor)を与える。この分配はＶＢＥを、カメラインタフェースハードウエアと直接にインタフェースし、色変換およびビューファインダを駆動するために必要な他の画像処理機能あるいは他の実行固有の操作を実行する等の、種々の実行固有の機能から分離した分散されたビデオシステムをもたらす。したがって、この中に記述された技術は、ディジタルビデオ能力を新しいデバイスの中に統合することを容易にする、増加された柔軟性を与えることが可能である。たとえば、設計者はビデオデータ能力を新しい製品あるいはデバイスの中に統合するために、ＶＦＥを任意の望ましいバックエンドソフトウエアあるいはファームウエア、あるいはそれらの組み合わせとともに容易に繰り返し使用することが可能である。これらのおよび他の実施例は請求項の範囲内にある。
【図１】
2011010331.tif 000006
【図２】
2011010331.tif 000007
【図３】
2011010331.tif 000008
【図４】
2011010331.tif 000009
【手続補正書】
【提出日】平成22年8月30日(2010.8.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムであって、
命令を受信するためにプログラム可能なインタフェースを有するビデオフロントエンド（ＶＦＥ）であって、命令に従ってビデオ出力データを生成するために、ビデオ入力データを取得しそしてそのビデオ入力データを前処理するＶＦＥと、
ＶＦＥのビデオ出力データから、ビデオデータの符号化されたシーケンスを生成するためのビデオバックエンド（ＶＢＥ）と、
ビデオ入力データの前処理を制御するために、インタフェースを経由してＶＦＥに命令を与えるための制御器と、
を含み、
ＶＦＥは、制御器によって与えられた命令に基づいてＶＢＥに対する受け入れ可能なフォーマットでビデオ出力データを生成するためにビデオ入力データを処理するように構成されている、
ＶＦＥは、表示のためのビデオ表示データを生成するために、命令に従ってビデオ入力データを前処理する、
プログラム可能なインタフェースは、制御器がビデオ入力データの入力画像フォーマットおよびビデオ出力データおよびビデオ表示データに対する、出力画像フォーマットをプログラム的にセットすることを可能とする、システム。
【請求項２】
命令に従って、ＶＦＥは、ＶＢＥによる処理のために第１のフォーマットでビデオ出力データを、そして表示のために第２のフォーマットでビデオ表示データを発生するためにビデオ入力データを前処理する、請求項１記載のシステム。
【請求項３】
ＶＦＥは
命令に従って、ビデオ表示データを与えるためのビューファインダドライバと、
命令に従って、プログラム可能なフレーム率でビデオ出力データおよびビデオ表示データを発生するための、フレーム率制御モジュールと、
命令に従って、プログラム可能な画像サイズでビデオ出力データおよびビデオ表示データを発生するための画像サイズ制御モジュールと
命令に基づいて、ＶＢＥにより処理されるための第１の色空間に従ってビデオ出力データを、そしてビューファインダドライバによる表示のための第２の色空間に従ってビデオ表示データを発生する色変換モジュールと、
命令に従って、ビデオ入力データ上に１個あるいはそれ以上の画像操作処理を実行する画像処理モジュールと、
を含む請求項１記載のシステム。
【請求項４】
プログラム可能なインタフェースは、制御器がフレーム行幅、行あたりのピクセルの数、フレーム列高さ、画像フォーマットの各々に対するフレームあたりの行の数を、プログラム的にセットすることを可能とする、請求項１記載のシステム。
【請求項５】
プログラム可能なインタフェースは、制御器が、ビデオ入力データから落すべきフレームを選択するための第１のビットパターンおよび、ビデオ出力データを生成するためにビデオ入力データの各フレームから落すべきＸおよびＹピクセルを選択するための第２のビットパターンを、プログラム的に定義することを可能とする、請求項１記載のシステム。
【請求項６】
プログラム可能なインタフェースは、ＶＦＥによるビデオ入力データの取得をプログラム的に開始するための取得命令、ビデオデータの取得をプログラム的に終了するための休止命令、およびビデオデータの取得及び処理をプログラム的に制御する構成命令をサポートする、請求項１記載のシステム。
【請求項７】
ＶＦＥは実行固有の画像処理機能を実行し、そしてＶＢＥは、実行から独立した画像処理機能を実行する、請求項１記載のシステム。
【請求項８】
システムはビデオ符号化器／復号器（コーデック）を含む、請求項１記載のシステム。
【請求項９】
システムであって、
命令を受信するためにプログラム可能なインタフェースを有するビデオフロントエンド（ＶＦＥ）であって、命令に従ってビデオ出力データを生成するために、ビデオ入力データを取得しそしてそのビデオ入力データを前処理するＶＦＥと、
ＶＦＥのビデオ出力データから、符号化されたビデオデータのシーケンスを発生するためのビデオバックエンド（ＶＢＥ）と、
ビデオ入力データの前処理を制御するために、インタフェースを経由してＶＦＥに命令を与えるための制御器と、
を含み、
ＶＦＥは、制御器によって与えられた命令に基づいてＶＢＥに対する受け入れ可能なフォーマットでビデオ出力データを生成するためにビデオ入力データを処理するように構成されている、
制御器は第１の処理装置の動作環境内で実行し、そしてＶＦＥおよびＶＢＥは第２の処理装置の動作システム内で実行し、そしてＶＦＥのプログラム可能なインタフェースは、制御モジュールからの命令を受信するための、プログラム可能な処理装置間インタフェースを含む、システム。
【請求項１０】
プログラム可能な処理装置間インタフェースは、
制御器からの命令を受信するためのプログラム可能な命令レジスタと、
命令と組み合わせられたパラメータを記憶するためのプログラム可能な命令バッファと、
ＶＦＥから制御器に状態を通信するための状態レジスタと
を含む、請求項９記載のシステム。
【請求項１１】
さらに、ビデオ出力データを記憶するための第１および第２の処理装置の両者によってアクセス可能なメモリを含む、請求項９記載のシステム。
【請求項１２】
システムはビデオ符号化器／復号器（コーデック）を含む、請求項９記載のシステム。
【外国語明細書】
2011010331000001.pdf