(57)【特許請求の範囲】
【請求項１】
少なくとも１つのデータ圧縮標準に従ってビデオ出力データを符号化し、ネットワークデバイスからのビデオデータシーケンスを復号するビデオバックエンド（ＶＢＥ）と、
画像センサからビデオ入力データを受信し、前記画像センサから受信されたビデオ入力データを前処理して前記ビデオ出力データを生成し、前記復号されたビデオデータシーケンスを後処理するビデオフロントエンド（ＶＦＥ）であって、前記前処理時に前記ビデオ入力データについておよび前記後処理時に前記復号されたビデオデータシーケンス上で１または複数の画像操作処理を実行する画像処理モジュールを備えたビデオフロントエンド（ＶＦＥ）と、
処理装置間インタフェースを経由して前記ＶＦＥによる前処理および後処理を構成するための命令を与えるように構成された制御器と、
を備え、
前記ＶＦＥは、
前記画像センサからすでに受信された前記ビデオ入力データを、前記命令に基づいてプログラム可能なフォーマットで前処理して前記ＶＢＥによる処理のためのフォーマットで前記ビデオ出力データを生成し、そして、
前記与えられた命令の状態を示す状態情報を前記処理装置間インタフェースを経由して前記制御器に与えるように構成されるシステム。
【請求項２】
前記ＶＦＥはさらに、前記命令に従って前記ビデオ入力データを前処理してディスプレーまたはビューファインダに対するビデオ表示データを生成する請求項１記載のシステム。
【請求項３】
前記ＶＦＥは、前記制御器によってセットされるセット可能なパラメータに基づいて、前記ビデオ入力データを前処理して前記ディスプレーまたはビューファインダに対するビデオ表示データを生成するようにさらに構成される請求項２記載のシステム。
【請求項４】
前記ＶＥＦは、前記制御器によって構成可能な複数の機能モジュールを含み、前記複数の機能モジュールは、
前記ビデオ表示データを与えるためのビューファインダドライバと、
プログラム可能なフレーム率で前記ビデオ出力データおよび前記ビデオ表示データを生成するためのフレーム率制御モジュールと、
プログラム可能な画像サイズで前記ビデオ出力データおよび前記ビデオ表示データを生成するための画像サイズ制御モジュールと、
（i）前記ＶＢＥによる処理のための第１の色空間に従って前記ビデオ出力データを、そして（ii）前記ビューファインダドライバによる表示のための第２の色空間に従って前記ビデオ表示データを生成するための色変換モジュールと、
を含む請求項２記載のシステム。
【請求項５】
前記制御器は、前記ビデオ出力データまたは前記ビデオ表示データのための前記ビデオ入力データおよび出力画像フォーマットのうちの入力画像フォーマットを前記ＶＦＥにおいてプログラム的にセットするようにさらに構成される請求項２記載のシステム。
【請求項６】
前記制御器は、前記画像フォーマットのそれぞれに対するフレーム行幅、行あたりのピクセルの数、フレーム列高さ、またはフレームあたりの行の数を前記ＶＦＥにおいてプログラム的にセットするようにさらに構成される請求項５記載のシステム。
【請求項７】
前記制御器は、第１の処理装置の動作環境で実行し、そして前記ＶＦＥおよびＶＢＥは第２の処理装置の動作システム内で実行する請求項５記載のシステム。
【請求項８】
前記ＶＦＥおよびＶＢＥは、ビデオコーデックに統合される請求項１記載のシステム。
【請求項９】
コンピュータに
ビデオフロントエンド（ＶＦＥ）において、前記ＶＦＥ内に複数のセット可能なパラメータをセットするためにディジタルビデオ装置の制御器から送信されるＣＯＮＦＩＧ命令を受信させる、
画像センサから前記ＶＦＥにおいてビデオ入力データを受信させる、
前記複数のセット可能なパラメータに基づいて複数の画像フォーマットでビデオ出力データを生成するために前記画像センサからすでに受信された前記ビデオ入力データを前処理させる、ここにおいて、前記画像フォーマットのうち少なくとも１つはビデオバックエンド（ＶＢＥ）による処理のためのフォーマットでありかつ前記セット可能なパラメータに基づいて生成され、前記ＶＦＥによる前処理は前記ＶＦＥの画像処理モジュールによる前記ビデオ入力データ上の１つまたはそれ以上の画像操作を実行することを含む、
ネットワークデバイスからの復号されたビデオデータを前記ＶＦＥにおいて後処理させる、ここにおいて、前記ＶＦＥにおける後処理は前記ＶＦＥの前記画像処理モジュールによる前記復号されたビデオデータ上の１または複数の画像操作を実行することを含む、
前記受信された命令の状態を示す状態情報を処理装置間インタフェースを経由して前記ＶＦＥから前記制御器に与えさせる
ための指令を有するコンピュータ可読記憶媒体。
【請求項１０】
前記ビデオ入力データを前処理するための指令は、プログラム可能なフレーム率でまたはプログラム可能な画像サイズで前記ビデオ出力データを生成するための指令を含む請求項９記載のコンピュータ可読記憶媒体。
【請求項１１】
前記ビデオ入力データを前処理するための指令は、前記ＶＢＥによる処理のための色空間に従って前記ビデオ出力データを生成するための命令を含む請求項９記載のコンピュータ可読記憶媒体。
【請求項１２】
前記命令を受信するための指令は、前記制御器および前記ＶＦＥによりアクセス可能なプログラム可能レジスタを経由して前記命令または前記命令に関連した前記複数のセット可能なパラメータを受信するための指令を含む請求項９記載のコンピュータ可読記憶媒体。
【請求項１３】
デバイスのための分散されたビデオシステムであって、
ディジタルビデオ能力を第１のパーティションおよび第２のパーティションにおいてパーティションしかつ統合するための手段と、
複数のセット可能なパラメータと一緒にＣＯＮＦＩＧ命令を受信するための手段と、
前記第１のパーティションにより画像センサからビデオデータを受信するための手段と、
前記複数のセット可能なパラメータに基づいて前記第１のパーティションにより、前記画像センサからすでに受信された前記ビデオデータを前処理しかつフォーマットするための手段と、ここにおいて、前記ビデオデータは、前記セット可能なパラメータに従って前記第２のパーティションにより処理するためのフォーマットでビデオ出力データを生成するために前記複数のセット可能なパラメータに基づいて前処理される、
前記第２のパーティションにおいて、ビデオシーケンスデータ、ネットワークデバイスからのビデオシーケンスデータを復号するための手段と、
前記第１のパーティションにおいて、前記複数のセット可能なパラメータに基づいて前記復号されたビデオシーケンスデータ、前記第２のパーティションからの前記復号されたビデオシーケンスデータを後処理するための手段と、
前記前処理時に前記ビデオデータ上でおよび前記第１のパーティションによる前記後処理時に前記復号されたビデオシーケンスデータ上で１つまたはそれより多い画像操作処理を実行するための手段と、
前記受信された命令の状態を示す状態情報を与えるための手段と、
を備えた分散されたビデオシステム。
【請求項１４】
前記前処理およびフォーマット手段は、前記ビデオデータを処理して少なくとも１つのデバイス周辺装置による表示のための共通フォーマットを有するビデオ表示データ（ＶＤＤ）とすることを含む請求項１３記載のシステム。
【請求項１５】
前記少なくとも１つのデバイス周辺装置はデバイスディスプレーおよび前記画像センサを含む請求項１４記載のシステム。
【請求項１６】
前記デバイスディスプレーはセルラ電話ディスプレーを含む請求項１５記載のシステム。
【請求項１７】
前記第１のパーティションは、
前記複数のセット可能なパラメータに従ってビデオ表示データを駆動しそしてビューファインダに与えるための手段と、
前記複数のセット可能なパラメータに従ってプログラム可能なフレーム率で前記前処理されたビデオデータおよび前記ビデオ表示データから前記ビデオ出力データを生成するためにフレーム率を制御するための手段と、
前記複数のセット可能なパラメータに従ってプログラム可能な画像サイズで前記ビデオ出力データおよび前記ビデオ表示データを生成するために画像サイズを制御するための手段と、
前記第２のパーティションによる処理のための第１の色空間に従って前記ビデオ出力データを、そして前記ビューファインダドライバによる表示のための第２の色空間に従って前記ビデオ表示データを生成するために、前記複数のセット可能なパラメータに基づいて、色を変換するための手段と、
を含む請求項１３記載のシステム。
【請求項１８】
前記ＣＯＮＦＩＧ命令を受信するための手段は、前記画像フォーマットのそれぞれに対してフレーム行幅、行あたりのピクセルの数、フレーム列高さ、フレームあたりの行の数をセットするために制御器パラメータからプログラム的に受信するための手段を含む請求項１７記載のシステム。
【請求項１９】
前記ＣＯＮＦＩＧ命令を受信するための手段は、前記ビデオデータから落とすべきフレームを選択するための指定された第１のビットパターンと前記ビデオ出力データを生成するために前記ビデオデータの各フレームから落とすべきＸおよびＹピクセルを選択するための第２のビットパターンを前記制御器からプログラム的に受信するための手段を含む請求項１７記載のシステム。
【請求項２０】
前記ＣＯＮＦＩＧ命令を受信するための手段は、前記第１のパーティションによる前記ビデオデータの取得をプログラム的に開始するためのＣＡＰＴＵＲＥ命令を前記制御器から受信するための手段と、前記ビデオデータの取得を終了するためのＩＤＬＥ命令を受信するための手段と、前記ビデオデータの取得および前処理のためのパラメータをプログラム的にセットするためのＩＤＬＥ命令を受信するための手段と、を含む請求項１７記載のシステム。
【請求項２１】
分散されたビデオ画像処理のための方法であって、
ディジタルビデオ能力を第１のパーティションおよび第２のパーティションにおいて分配しかつ統合することと、
処理装置間インタフェースを経由して複数のセット可能なパラメータを有するＣＯＮＦＩＧ命令を受信することと、
前記第１のパーティションにより画像センサからのビデオデータを受信することと、
前記セット可能なパラメータに従って前記第２のパーティションによる処理のためのフォーマットでビデオ出力データを生成するために前記複数のセット可能なパラメータに基づいて前記第１のパーティションにより、前記画像センサからすでに受信されたビデオデータを前処理しかつフォーマットすることと、ここにおいて、前記第１のパーティションによる前処理は、前記第１のパーティションの画像処理モジュールにより前記ビデオデータ上で１または複数の画像操作を実行することを含む、
前記第２のパーティションにおいてビデオシーケンスデータ、ネットワークデバイスからのビデオシーケンスデータを復号することと、
前記複数のセット可能なパラメータに基づいて前記第１のパーティションにおいて復号されたビデオシーケンスデータ、前記第２のパーティションからの復号されたビデオシーケンスデータを後処理することと、ここにおいて、前記第１のパーティションにおける後処理は、前記第１のパーティションの前記画像処理モジュールにより前記復号されたビデオシーケンスデータ上で１または複数の画像操作を実行することを含む、
前記処理装置間インタフェースを経由して前記受信された命令の状態を示す状態情報を与えることと、
含む方法。
【請求項２２】
前記前処理しかつフォーマットすることは、前記ビデオデータを処理してデバイスディスプレーによる表示のための共通フォーマットを有するビデオ表示データとすることを含む請求項２１記載の方法。
【請求項２３】
前記デバイスディスプレーはセルラ電話ディスプレーを含む請求項２２記載の方法。
【請求項２４】
前記第１のパーティションにより、
前記複数のセット可能なパラメータに従ってビデオ表示データを駆動しかつビューファインダに与えることと、
前記複数のセット可能なパラメータに従ってプログラム可能なフレーム率で前記前処理されたビデオデータおよび前記ビデオ表示データから前記ビデオ出力データを生成するためにフレーム率を制御することと、
前記複数のセット可能なパラメータに従ってプログラム可能な画像サイズで前記ビデオ出力データおよび前記ビデオ表示データを生成するために画像サイズを制御することと、
前記第２のパーティションによる処理のための第１の色空間に従って前記ビデオ出力データを、そして前記ビューファインダドライバによる表示のための第２の色空間に従って前記ビデオ表示データを生成するために、前記複数のセット可能なパラメータに基づいて、色を変換することと
をさらに含む請求項２１記載の方法。
【請求項２５】
前記画像フォーマットのそれぞれに対してフレーム行幅、行あたりのピクセルの数、フレーム列高さ、フレームあたりの行の数をセットするためのパラメータを制御器から受信することをさらに含む請求項２４記載の方法。
【請求項２６】
前記ビデオデータから落とすべきフレームを選択するための指定された第１のビットパターンと前記ビデオ出力データを生成するために前記ビデオデータの各フレームから落とすべきＸおよびＹピクセルを選択するための第２のビットパターンを前記制御器から受信することをさらに含む請求項２４記載の方法。
【請求項２７】
前記第１のパーテイションによる前記ビデオデータの取得をプログラム的に開始するためのＣＡＰＴＵＲＥ命令を前記制御器から受信すること、前記ビデオデータの取得をプログラム的に終了するためのＩＤＬＥ命令を受信すること、および前記ビデオデータの取得および前処理をプログラム的に制御するためのＣＯＮＦＩＧ命令を受信すること、をさらに含む請求項２４記載の方法。
【請求項２８】
デバイスであって、
前記デバイスによって与えられる動作環境内で実行しかつ主制御器によって構成可能なビデオフロントエンドを（ＶＦＥ）を備え、前記ＶＦＥは処理装置間インタフェースを経由して前記主制御器から複数のセット可能なパラメータを有するＣＯＮＦＩＧ命令を受信するように構成され、ここにおいて、前記セット可能なパラメータは、ビデオバックエンド（ＶＢＥ）によりビデオデータを処理するためのフォーマットを含み、また前記ＶＦＥは、前記セット可能なパラメータに基づいて、（i）ビデオ入力データ（ＶＩＤ）を取得する、（ii）前記ＶＩＤがデバイスの周辺装置に送信されるかあるいは前記ＶＢＥに送信されるかに応じて、前記複数のセット可能なパラメータに基づいて複数の異なるフォーマットのうちの１つに画像センサからすでに受信された前記ＶＩＤを前処理する、そして（iii）前記処理装置間インタフェースを経由して前記受信された命令の状態を示す状態情報を前記主制御器に与えるように構成され、ここにおいて、前記ＶＢＥはネットワークデバイスからのビデオシーケンスを復号し、さらに、前記複数の異なるフォーマットは第１の画像フォーマットおよび第２の画像フォーマットを備え、前記ＶＦＥはさらに、前記ＶＩＤが符号化を必要とする場合に前記第１の画像フォーマットに従ってビデオ出力データ（ＶＯＤ）を生成しかつ前記ＶＩＤが前記デバイスのディスプレー上で表示される場合に前記第２の画像フォーマットに従ってビデオ表示データ（ＶＤＤ）を生成し、さらに前記ＶＦＥは、前記ＶＯＤを生成するために前記ＶＩＤ上で１または複数の画像操作処理を選択的に実行しかつ前記複数のセット可能なパラメータに従って前記ＶＤＤ上で１または複数の画像操作を選択的に実行するための画像処理モジュールを備えるデバイス。
【請求項２９】
前記複数のセット可能なパラメータに従ってプログラム可能なフレーム率で前記ＶＯＤおよび前記ＶＤＤを生成するためのフレーム率制御モジュールと、
前記複数のセット可能なパラメータに従ってプログラム可能な画像サイズで前記ＶＯＤおよび前記ＶＤＤを生成するための画像サイズ制御モジュールと、
前記複数のセット可能なパラメータに基づいて、前記ＶＢＥによる処理のための第１の色空間に従って前記ＶＯＤを生成し、かつビューファインダドライバによる表示のための第２の色空間に従って前記ＶＤＤを生成する色変換モジュールと、をさらに備える請求項２８記載のデバイス。
【請求項３０】
前記ＶＦＥは、前記複数のセット可能なパラメータに従って前記ＶＤＤを与えるためのビューファインダドライバをさらに備え、前記ビューファインダドライバは、前記複数のセット可能なパラメータにしたがって前記ビューファインダに対するフレーム率または画像サイズで前記ＶＤＤを生成するために前記フレーム率制御モジュールおよび前記画像サイズ制御モジュールを起動する請求項２９記載のデバイス。
【請求項３１】
前記ＶＦＥは、前記ＶＩＤ、ＶＯＤ，およびＶＤＤのそれぞれに対するフレーム行幅、行あたりのピクセルの数、フレーム列高さ、フレームあたりの行の数、および入力画像フォーマットを前記主制御器によりプログラム的にセットするように構成される請求項２９記載のデバイス。
【請求項３２】
前記ＶＦＥは前記ＶＯＤおよびＶＤＤに対する色空間を前記主制御器によりプログラム的にセットするように構成される請求項２９記載のデバイス。
【請求項３３】
前記ＶＦＥは、前記ＶＯＤを生成するために、前記ＶＩＤから落とすべきフレームを選択するための指定された第１のビットパターンおよび前記ＶＩＤの各フレームから落とすべきＸおよびＹピクセルを選択するための第２のビットパターンを前記主制御器からプログラム的に受信するように構成される請求項２９記載のデバイス。
【請求項３４】
前記ＶＦＥは、（i）前記ＶＦＥによる前記ＶＩＤの取得をプログラム的に開始するためのＣＡＰＴＵＲＥ命令、（ii）前記ＶＦＥによる前記ＶＩＤの取得をプログラム的に終了するためのＩＤＬＥ命令、および（iii）取得、前処理、後処理および前記ＶＦＥによる前記デバイスの複数の周辺装置とのインタフェースをプログラム的に構成するためのＣＯＮＦＩＧ命令を前記主制御器から受信するように構成される請求項２９記載のデバイス。
【請求項３５】
前記デバイスはビデオコーデック（ＣＯＤＥＣ）を備え、前記コーデックは前記ＶＦＥおよび前記ＶＢＥを含み、前記ＶＦＥは前記ＶＢＥからパーティションされる請求項２８記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ディジタルビデオデータを処理するための技術に関する。
【背景技術】
【０００２】
計算機処理能力および余力の最近の増加に伴い、フルモーションディジタルビデオデバイスがより広く利用可能になって来ている。とくに、ディジタルビデオ能力は、ディジタルテレビジョン、ディジタル直接放送システム(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)を発行する。一つの例となる実施例においては、命令レジスタ３７は、発行されている特定の命令に対する命令ヘッダを記憶するための１個の３２ビットバッファを含む。命令バッファ３６は、２３個の３２ビット語を記憶することが可能なサイズを有するバッファを含む。
【００３８】
ＶＦＥ１２は、たとえば、命令は完了されているか否か、あるいは違法の命令が見出されていないか否か等の、懸案になっている命令に関する状態を示すために、メッセージ（ＭＳＧ）レジスタ３８を利用する。ＶＦＥ１２は、メッセージレジスタ３８内の新しい状態情報の利用可能性を示すために、制御器２４に割り込みを発行する。制御器２４は、次の命令を発行するに先立って前の命令が完全に処理されているかを確認するためにメッセージレジスタ３８にアクセスする。
【００３９】
一つの実施例においては、メッセージレジスタ３８は次のように８個の３２ビット語の中に状態メッセージを記憶する。
【表１】
0005307086.tif 000002
【００４０】
一つの実施例においては、ＣＯＮＦＩＧ命令は、制御器２４がデバイス１０によって必要とされるビデオ能力をサポートするために必要であるとして、ＶＦＥ１４を容易にプログラム的に構成することを可能とする広範なパラメータリストを含む。より特定的には、制御器２４は、次の表に示されるように命令バッファ３６に２３語のパラメータリストを書き込む。
【表２−１】
0005307086.tif 000003
【表２−２】
0005307086.tif 000004
【００４１】
図３は、ＶＦＥ１４の例となる動作をさらに詳細に示す状態線図である。この例においては、ステートマシン６０は３個の状態すなわち、ＩＮＩＴ（初期）状態６２、ＩＤＬＥ（休止）状態６４、およびＣＡＰＴＵＲＥ（取得）状態６６を含む。
【００４２】
最初の電源投入(power-up)あるいはハードウエアリセットの場合は、ＶＦＥ１４はＩＮＩＴ状態６２に入る。この状態を出るためにＶＦＥ１４に対しては、制御器２４は、上に記述されたようにプログラム的にＶＦＥ１４を構成するためにＣＯＮＦＩＧ命令を発行しなければならない。ＣＯＮＦＩＧ命令を受信する場合は、ＶＦＥ１４はＩＤＬＥ状態６４に移行する。
【００４３】
ＩＤＬＥ状態６４の中で、ＶＦＥ１４は、誤りの発生なしに制御器２４からすべての３個の可能な命令、すなわちＣＯＮＦＩＧ命令、ＣＡＰＴＵＲＥ命令、およびＩＤＬＥ命令を受領する。制御器２４は、たとえばＶＦＥ１４を再プログラムするためにＣＯＮＦＩＧ命令を発行することが可能である。ＣＯＮＦＩＧ命令を受信しそして処理する場合は、ＶＦＥ１４はＩＤＬＥ状態６４に復帰する。ＩＤＬＥ命令は、ＶＦＥ１４がすでにＩＤＬＥ状態６４の中で操作しているとして本質的に無視される。
【００４４】
ＣＡＰＴＵＲＥ命令を受信する場合は、ＶＦＥ１４はＣＡＰＴＵＲＥ状態６６に移行し、そして最も最近のＣＯＮＦＩＧ命令によってプログラムされたパラメータを実行する。ＣＡＰＴＵＲＥ状態６６にいる期間中にＶＦＥ１４はカメラインタフェースハードウエア２２を起動し、そしてビデオ入力データ３０の受信および処理を開始する。
【００４５】
最初に、ＶＦＥ１４はスナップショットモードが可能にされているか否かを決定するためにＣＡＰＴＵＲＥ命令と組み合わせられたパラメータを調査する。もしもスナップショットモードが可能にされている場合は、ＶＦＥ１４はビデオ入力データ３０の１個のビデオフレームを取得し、そしてフレームを取得すると直ちにＩＤＬＥ状態６４に復帰する。もしもスナップショットモードが可能にされていない場合は、ＶＦＥ１４は、ＣＡＰＴＵＲＥ状態６４に留まり、そしてビデオフレームを連続的に受信しそして処理する。
【００４６】
より特定的には、ＶＦＥ１４はビデオ入力データ３０を受信し、そしてデータをビデオ出力データ３５を生成するために、制御器２４から受信された命令および構成パラメータ２３に基づいてＶＢＥ１６に対して受け入れ可能なフォーマットに処理する。さらに、ＶＦＥ１４は、ビデオ表示データ３５を、ビデオ入力データ３０をビューファインダ１７による表示に対して適切な形態で生成するためにフォーマットし、そしてビデオ出力データ３５を、ＶＢＥ１６あるいは制御器２４によるアクセスのために、ビデオメモリ１５の中に記憶する。
【００４７】
取得モード６６で動作する期間中、ＶＦＥ１４は制御器２４によって与えられたプログラム可能なパラメータに基づいて機能的モジュール３０Ａ〜３０Ｆを頼りに(invoke)する。たとえば、上に記述されたようにカメラドライバ３０Ａはビデオ取得を開始および停止するためにカメラインタフェースハードウエア２２をプログラム可能であるように構成する。フレーム率制御モジュール３０Ｂは、画像センサ２３によって取得されそしてカメラインタフェース２２によって生成されたビデオ入力データ３０を望ましいフレーム率に処理する。
【００４８】
画像処理モジュール３０Ｃは、ＣＯＮＦＩＧ命令により制御器２４によって与えられたパラメータに基づいてビデオ入力データ３０上で複雑な画像処理操作を実行することが可能である。ビューファインダドライバ３０Ｄは、ビデオメモリ１５からのビデオ入力データ３０をビューファインダ１７による表示に対して適切な形態でビデオ表示データ３５を生成するために処理する。
【００４９】
画像サイズ制御モジュール３０Ｅは、画像サイズを望ましい画像サイズにダウンサンプルするための機能を与える。色変換モジュール３０Ｆはビデオ入力データ３０を異なった色空間たとえば、ＶＢＥ１６あるいはビューファインダ１７により必要とされるかも知れないとして色画像データを与えるための異なったフォーマットに変換するための機能を与える。
【００５０】
ＶＦＥ１４は制御器６６からＩＤＬＥ命令を受信する場合は、画像取得を終了しそしてＩＤＬＥ状態６４に復帰する。
【００５１】
図４は、ディジタルビデオデバイス１０の例となる操作を示すフローチャートである。最初に、制御器２４は、ＶＦＥ１４（７０）の処理装置間インタフェースを経由しての命令２５によりコーデック１２をプログラム的に構成する。このように、制御器２４は主デバイスとして、そしてコーデック１２は従属デバイスとして見られることが可能である。
【００５２】
コーデック１２が符号化器として動作する場合には、ＶＦＥ１４は、第１の画像フォーマット内にビデオ出力データ３５を、そして第２の画像フォーマット（７２）内にビデオ表示データを生成するために命令に従ってビデオ入力データ３０を取得し、そして前処理をする。この処理期間中、ＶＦＥ１４はプログラム可能なフォーマット、たとえばプログラム可能なフレーム率、画像サイズ、および色空間に従ってビデオ出力データおよびビデオ表示データを発生する。ＶＦＥ１４は、ビデオデータの符号化されたシーケンス（７４）の発生のためにＶＢＥ１６にビデオ出力データを通信し、そしてビューファインダ１７上の表示のために制御器２４にビデオ表示データを通信する（７６）。同様な様式で、ＶＦＥ１４はＶＢＥ１６から復号されたビデオシーケンスを受信し、そして制御器２４によって与えられた命令２５に従って復号されたビデオシーケンスを処理し、そして表示することが可能である。
【００５３】
例となるビデオ符号化器／復号器（コーデック）がビデオフロントエンド（ＶＦＥ）およびビデオバックエンド（ＶＢＥ）間に分配された種々の実施例が記述されて来ている。この開示の中に記述されたように、種々のカメラあるいはカムコーダ応用をサポートするためにＶＦＥは機能および前処理操作を集約し、そしてそれによって外部の主デバイスがそれらの操作を容易に制御することが可能な柔軟性を有する中間処理装置(inter-processor)を与える。この分配はＶＢＥを、カメラインタフェースハードウエアと直接にインタフェースし、色変換およびビューファインダを駆動するために必要な他の画像処理機能あるいは他の実装固有の操作を実行する等の、種々の実装固有の機能から分離した分散されたビデオシステムをもたらす。したがって、この中に記述された技術は、ディジタルビデオ能力を新しいデバイスの中に統合することを容易にする、増加された柔軟性を与えることが可能である。たとえば、設計者はビデオデータ能力を新しい製品あるいはデバイスの中に統合するために、ＶＦＥを任意の望ましいバックエンドソフトウエアあるいはファームウエア、あるいはそれらの組み合わせとともに容易に繰り返し使用することが可能である。これらのおよび他の実施例は請求項の範囲内にある。
【図１】
0005307086.tif 000005
【図２】
0005307086.tif 000006
【図３】
0005307086.tif 000007
【図４】
0005307086.tif 000008