(57)【特許請求の範囲】
【請求項１】
動画像編集システムであって、
ビデオカメラ上に保存されていて、複数の異なる符号化フォーマットに従って符号化されている、複数の異なる動画像クリップを識別する手段と、
前記ビデオカメラ上でフレーム内フォーマットだけで符号化されている、前記ビデオカメラ上の第１の動画像クリップセットと、前記ビデオカメラ上で少なくとも部分的にフレーム間フォーマットで符号化されている、前記ビデオカメラ上に保存されている第２の動画像クリップセットとを受信する手段と、
前記ビデオカメラ上でフレーム内フォーマットだけで符号化されている前記第１の動画像クリップセットを、前記システムの記憶装置に保存する手段と、
（ｉ）前記ビデオカメラ上で少なくとも部分的にフレーム間フォーマットで符号化されている前記第２の動画像クリップセットをトランスコードし、（ｉｉ）前記トランスコードされた第２の動画像クリップセットを前記記憶装置に保存する手段と、
を備えることを特徴とする動画像編集システム。
【請求項２】
前記フレーム内フォーマットは、前記動画像クリップのシーケンスが前記ビデオカメラによって元々符号化された当初のフォーマットである
ことを特徴とする請求項１に記載の動画像編集システム。
【請求項３】
前記フレーム内フォーマットは、ユーザが如何なる復号も行わずに前記動画像クリップを編集可能なフォーマットである
ことを特徴とする請求項１に記載の動画像編集システム。
【請求項４】
前記フレーム内フォーマットは、９６０ｘ５４０及び１２８０ｘ７２０のうちの少なくとも１つを指定する解像度設定と、最大２４メガビット毎秒（Ｍｂｐｓ）を指定するビットレート設定と、によって定義される
ことを特徴とする請求項１に記載の動画像編集システム。
【請求項５】
機械可読媒体であって、少なくとも１つの処理ユニットにより実行されると前記機械可読媒体を含むデバイスに動画像クリップをインポートするプログラムを格納しており、前記プログラムは、
前記デバイスに対するビデオカメラの接続を検知する命令セットと、
前記ビデオカメラに保存されている、少なくとも部分的にフレーム間符号化された第１の動画像クリップを識別する命令セットと、
前記第１の動画像クリップを前記デバイスに転送している間に、前記第１の動画像クリップを第１のフォーマットから第２のフォーマットにトランスコードする命令セットと、
前記ビデオカメラに保存されている、フレーム内だけで符号化された第２の動画像クリップを識別する命令セットと、
前記第２の動画像クリップの符号化を変更せずに前記第２の動画像クリップを前記デバイスに転送する命令セットと、
を含むことを特徴とする機械可読媒体。
【請求項６】
前記第１のフォーマットは、前記動画像クリップの画像シーケンスが元々符号化された当初のフォーマットであり、前記第２のフォーマットは、前記第１のフォーマットと異なる非当初のフォーマットである
ことを特徴とする請求項５に記載の機械可読媒体。
【請求項７】
前記第１の動画像クリップをトランスコードする命令セットは、
前記第１の動画像クリップを復号する命令セットと、
前記復号された第１の動画像クリップを、フレーム内符号化だけを用いて符号化する命令セットと、
を含む
ことを特徴とする請求項５に記載の機械可読媒体。
【請求項８】
少なくとも部分的にフレーム間符号化された前記第１の動画像クリップは、異なるビデオピクチャを参照して符号化されたビデオピクチャを少なくとも１つ含み、フレーム内だけで符号化された前記第２の動画像クリップは、他のビデオピクチャを参照せずに符号化されたビデオピクチャだけを含む
ことを特徴とする請求項５に記載の機械可読媒体。
【請求項９】
前記第２の動画像クリップの転送時間は、前記第２の動画像クリップのサイズ、及び前記ビデオカメラと前記デバイスとの間の接続速度だけに関連する
ことを特徴とする請求項５に記載の機械可読媒体。
【請求項１０】
ビデオカメラであって、
ビデオピクチャのシーケンスを撮影する手段と、
時間的に圧縮される符号化フォーマットと非時間的に圧縮される符号化フォーマットとを含む複数の動画像符号化フォーマットから、ユーザが動画像符号化フォーマットを選択できるようにする手段と、
前記ユーザが選択したフォーマットに従って前記ビデオピクチャを符号化する手段と、
を備えることを特徴とするビデオカメラ。
【請求項１１】
前記非時間的に圧縮される符号化フォーマットは、動画像クリップの各フレームが前記動画像クリップの如何なる他のフレームも参照せずに符号化される符号化スキームであり、前記時間的に圧縮される符号化フォーマットは、前記動画像クリップの少なくとも１つのフレームが前記動画像クリップの少なくとも１つの他のフレームを参照して符号化される符号化スキームである
ことを特徴とする請求項１０に記載のビデオカメラ。
【請求項１２】
前記ユーザが動画像符号化フォーマットを選択できるようにする前記手段は、
前記複数の異なる符号化スキームのリストを表示する手段と、
前記複数の異なる符号化スキームのうちの１つを選択するためにユーザとの対話を受信する手段と、
を含む
ことを特徴とする請求項１０に記載のビデオカメラ。
【請求項１３】
前記ビデオピクチャを符号化する手段は、
前記選択された動画像符号化フォーマットに従って画像データのブロックに対して離散コサイン変換（ＤＣＴ）操作を実行する手段と、
前記ＤＣＴ操作の出力であるＤＣＴ係数に対して、前記選択された動画像符号化フォーマットに従って量子化操作を実行する手段と、
前記選択された動画像符号化フォーマットに従って、入力データをビットストリームにエントロピー符号化する手段と、
を含む
ことを特徴とする請求項１０に記載のビデオカメラ。
【請求項１４】
前記選択された動画像符号化フォーマットを識別し、前記選択された動画像符号化フォーマットに従って符号化設定のセットを取得し、前記取得した設定のセットを、前記ＤＣＴ操作、前記量子化操作、及び前記エントロピー符号化操作を実行するために前記ビデオピクチャを符号化する手段へ送信する手段を更に備える
ことを特徴とする請求項１３に記載のビデオカメラ。
【請求項１５】
前記ビデオピクチャを符号化する手段は、前記ビデオピクチャを符号化する前に前記ビデオピクチャの幅を減少させる手段を更に含む
ことを特徴とする請求項１０に記載のビデオカメラ。
【請求項１６】
動画像録画デバイスのための複数の動画像フォーマットを定義する方法であって、
動画像クリップを少なくとも部分的にフレーム間フォーマットで符号化する第１の動画像フォーマットのための複数のパラメータを指定するステップと、
動画像クリップをフレーム内だけのフォーマットで符号化する第２の動画像フォーマットのための複数のパラメータを指定するステップと、
前記第２の動画像フォーマットを用いて符号化される複数の動画像の各々が複数のスライスとして符号化されることを指定するステップと、
を備え、
特定の動画像の前記複数のスライスは、動画像復号デバイスの複数の処理ユニットにより復号するためのものである
ことを特徴とする方法。
【請求項１７】
前記動画像録画デバイスのためのグラフィカルユーザインタフェースを定義するステップを更に備え、
前記グラフィカルユーザインタフェースは、ユーザが前記第１のフォーマットと前記第２のフォーマットとの間での選択ができるようにするためのものである
ことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記第２の動画像フォーマットを用いて符号化される前記動画像の各々は、複数のスライスとして符号化され、特定のフレームの前記複数のスライスは、前記動画像復号デバイスの前記複数の処理ユニットにより同時に復号するためのものである
ことを特徴とする請求項１６に記載の方法。
【請求項１９】
請求項１６乃至１８のいずれか１項に記載の各ステップを実施する手段を備えることを特徴とするシステム。
【請求項２０】
複数の処理ユニットを有する動画像復号デバイスの機械可読媒体であって、前記機械可読媒体は、前記動画像復号デバイスの少なくとも１つの処理ユニットによって実行されると動画像クリップを復号するプログラムを格納しており、前記プログラムは、
複数の動画像を含む動画像クリップを受信する命令セットであって、当該動画像クリップは、時間的に圧縮される符号化フォーマットと非時間的に圧縮される符号化フォーマットとを含む複数の動画像符号化フォーマットから選択された符号化フォーマットを用いて符号化されたものである、命令セットと、
前記動画像クリップが非時間的に符号化されていることを判定すると共に前記複数の動画像が複数のスライスとして符号化されていることを判定する命令セットと、
特定の動画像の各スライスについて、当該スライスを復号のために前記動画像復号デバイスの特定の処理ユニットに割り当てる命令セットと、
を含むことを特徴とする機械可読媒体。
【請求項２１】
前記プログラムは、
前記特定の動画像が撮影された特定の幅を識別する命令セットと、
前記特定の動画像を復号した後に前記特定の動画像の幅を前記特定の幅に増加させる命令セットと、
を更に含む
ことを特徴とする請求項２０に記載の機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像録画に関する。詳細には、本発明は、デジタルビデオレコーダのための動画像フォーマットに関する。
【背景技術】
【０００２】
デジタルビデオレコーダは、コンピュータに転送するデジタル動画像を録画するのに広く利用されている。コンピュータに取り込まれた後、ユーザはデジタル動画像を編集したり、充実させたり、共有したりしてもよい。しかし、今日のデジタルビデオレコーダは、時間的圧縮を利用する符号化の形を用いてデジタル動画像を圧縮する。すなわち、圧縮された動画像は予測（Ｐ）フレームおよび双方向（Ｂ）フレームを含んでおり、それらは実際の画像ではなく、画像として符号化されている指標（Ｉ）フレームとの差を表す数学的データでしかない。
【０００３】
時間的圧縮は、カメラ上のデジタル動画像を圧縮してそのファイルサイズを小型化することを可能にするが、動画像を取り扱うために自分のコンピュータに動画像を転送したいユーザには多くの問題をもたらす。ＰフレームおよびＢフレームは、他のフレームへの参照によって定義されるだけなので、ユーザがそれらを編集するためには、それらはトランスコードされなければならない。このトランスコーディングは一般に、デジタル動画像をカメラからインポートした時点で行われる。
【０００４】
図１は、ビデオカメラ１０５とコンピュータ１１０とを備えた先行技術のシステムを示す図である。ビデオカメラ１０５は、サイズＸを有する動画像ファイル１１５を撮影して保存する。この動画像は、時間的圧縮を用いて符号化される。カメラ１０５からコンピュータ１１０への転送の時点で、動画像は、（時間的圧縮を除去するために）トランスコードされ、そして保存されなければならない。結果として生じるファイル１２０は、３Ｘ乃至１０Ｘのサイズとなり、従って、カメラ上の最初のファイルよりはるかに大きい。これらの膨張により、ファイルのサイズがほとんどのユーザにとって許容できない程度に大きくなるため、そんなに多くの動画像を取り込めない。
【０００５】
さらに、トランスコーディングは、時間集約的および演算集約的なプロセスである。３０分の動画像を転送するのに、トランスコーディングが原因で９０分もかかる可能性がある。従って、品質を犠牲にしたり過度に大きなファイルサイズを作り出したりすることなく、時間的に圧縮されていない動画像を録画する機能を持つビデオカメラの必要性がある。
【発明の概要】
【０００６】
本発明の一部の実施形態は、時間的に圧縮されていないフォーマットでデジタル動画像を撮影して保存する動画像録画デバイス（例えばビデオカメラ）を提供する。撮影されたデジタル動画像は、所望の動画像品質を維持しながら、所望の特定の解像度および／またはビットレートで保存される。
【０００７】
デジタル動画像が、（例えば編集や共有などのため）録画デバイスからコンピュータへエクスポートされる場合、動画像は、トランスコーディングを必要とせず迅速に転送される。一部の実施形態では、トランスコーディングは、いかなる時間的圧縮であろうとそれを除去するために、インポートした時点で動画像を復号することと、次いで、時間的圧縮をせずに動画像を再符号化することとを含んでいる。従って、動画像がトランスコードされる必要がない場合、デジタル動画像は、その当初のフォーマットでコンピュータ上に保存される。
【０００８】
一部の実施形態では、動画像録画デバイスが、時間的に圧縮された動画像を保存するか、あるいは、時間的に圧縮されていない動画像を保存するかの選択肢をユーザに提供する。時間的に圧縮された動画像は、少なくとも部分的に１つ以上の他の動画像を参照することによって符号化された、フレーム間で符号化された動画像（例えばフレーム）を含んでいる。時間的に圧縮されていない動画像は、いかなる他の動画像をも参照せずに符号化された、フレーム内で符号化された動画像（例えばフレーム）だけを含んでいる。
【０００９】
一部の実施形態は、管理可能なビットレートでの非時間的に圧縮されたエンハンスト解像度および／または高解像度フォーマットを含んでいる。各種の動画像フォーマットが、デジタルビデオレコーダのユーザインタフェースを通して提示される。一部の実施形態では、各種の異なる動画像フォーマットはすべて、同じ符号化標準を用いる。すなわち、時間的に圧縮されたフォーマットと非時間的に圧縮されたフォーマットとは、同じ符号化標準を用いる。
【００１０】
一部の実施形態は、到来する動画像のフォーマットを認識する機能を備えたメディア編集アプリケーションを提供する。（例えば上記のような動画像録画デバイスからの）到来するデジタル動画像が時間的に圧縮されている場合、メディア編集アプリケーションは、デジタル動画像をトランスコードする。デジタル動画像が時間的に圧縮されていない場合、メディア編集アプリケーションは、トランスコーディングや動画像のサイズの拡大をすることなく、動画像を保存する。従って、非時間的に圧縮されたデジタル動画像は、トランスコーディングがないのだから、非常に迅速にインポートされることができる。
【００１１】
本発明の新規の特徴は、添付の請求項に記述されている。しかし、説明の目的で、本発明の複数の実施形態を、以下の図面の中で記述する。
【図面の簡単な説明】
【００１２】
【図１】ビデオカメラとコンピュータとを備えた先行技術のシステムを示す図である。
【図２】デジタルビデオカメラとコンピュータとを含む一部の実施形態のシステムを示す図である。
【図３】時間的圧縮を用いて符号化されたデジタル動画像のシーケンスを示す図である。
【図４】時間的圧縮を用いることなく符号化されたデジタル動画像のシーケンスを示す図である。
【図５】撮影される動画像についての動画像フォーマットの選択肢をユーザが選択できるようにする、一部の実施形態のビデオカメラのユーザインタフェースを示す図である。
【図６】撮影される動画像についてのビットレート設定をユーザが指定できるようにする、一部の実施形態のビデオカメラのユーザインタフェースを示す図である。
【図７】デジタル動画像を撮影し、符号化し、保存するための一部の実施形態のデジタルビデオカメラのソフトウェアアーキテクチャを示す図である。
【図８】時間的に圧縮されたかまたは非時間的に圧縮された動画像を保存する機能を有するデジタルビデオカメラ上で動画像を撮影して保存するための一部の実施形態のプロセスを概念的に示す図である。
【図９Ａ】一部の実施形態の動画像解像度幅の削減の一例を概念的に示す図である。
【図９Ｂ】一部の実施形態の動画像解像度幅の増加の一例を概念的に示す図である。
【図１０】一部の実施形態の動画像の符号化の間に８ｘ８マクロブロック上で変換を行う工程を概念的に示す図である。
【図１１】一部の実施形態のイントラ予測モードについて予測の方向を概念的に示す図である。
【図１２Ａ】一部の実施形態のスライス毎に符号化された動画像を概念的に示す図である。
【図１２Ｂ】一部の実施形態のスライス毎に復号された動画像を概念的に示す図である。
【図１３】動画像を非時間的に符号化するための一部の実施形態のプロセスを示す図である。
【図１４】一部の実施形態の動画像録画デバイスについて異なる動画像フォーマットを定義するためのプロセスを概念的に示す図である。
【図１５】図８の動画像撮影、符号化、および保存プロセスを利用する一部の実施形態のビデオカメラのブロック図である。
【図１６】到来するデジタル動画像の異なるフォーマット間の識別をする能力を有する、デジタル動画像をインポートして編集するための一部の実施形態のメディア編集アプリケーションを示す図である。
【図１７】デジタル動画像ソースからコンピュータへとインポートされる動画像クリップを保存するための一部の実施形態のプロセスを概念的に示す図である。
【図１８】本発明の一部の実施形態が実装されるコンピュータシステムを示す図である。
【発明を実施するための形態】
【００１３】
以下の記述において、説明を目的として多くの詳細について述べる。しかし、当業者であれば理解するであろうが、本発明は、これらの特定の詳細を利用することなく実施されうる。例えば、一部の例は、特定の符号化モジュールを示している。当業者であれば、本発明から逸脱することなく別の符号化モジュールが可能であることを理解するであろう。
【００１４】
本発明の一部の実施形態は、時間的に圧縮されていないフォーマットでデジタル動画像を撮影して保存する動画像録画デバイスを提供する。撮影されたデジタル動画像は、所望の動画像品質を維持しながら、所望の特定の解像度および／またはビットレートで保存される。デジタル動画像がカメラからコンピュータへエクスポートされる時、デジタル動画像は、トランスコーディングされることなく当初のフォーマットでコンピュータ上に保存される。
【００１５】
図２は、デジタルビデオカメラ２０５とコンピュータ２１０とを含むシステムを示す図である。デジタルビデオカメラは、サイズＹを有する動画像ファイル２１５を撮影して保存する。この動画像ファイル２１５は、時間的に圧縮されてはいない。すなわち、動画像ファイル内の各デジタル動画像（すなわちフレームまたはフィールド）は、他のデジタル動画像を参照せずに符号化されている。下記の図３および図４は、異なるフレームタイプを示す。非時間的に圧縮された動画像クリップが、ビデオカメラ２０５からコンピュータ２１０へ（例えばＵＳＢ、ＦｉｒｅＷｉｒｅ、または他の有線または無線接続を介して）転送される。下記のように、コンピュータ２１０は、動画像を編集して充実させるためのメディア編集アプリケーションを含んでいてもよい。コンピュータ２１０は、動画像クリップをその当初のフォーマットで動画像ファイル２２０として保存する。この動画像ファイル２２０は、カメラ上の動画像ファイル２１５と同じサイズＹを有している。
【００１６】
除去されるべき時間的圧縮は存在しないため、インポートした時点でトランスコーディングが行われる必要はない。結果として、ファイルが同じサイズを有するだけではなく、転送時間も、ファイルのサイズおよびカメラ２０５とコンピュータ２１０との間の接続速度によってのみ限定されることになる。トランスコーディングを行う必要がある場合、ランダムアクセスのカメラの記憶装置（すなわちハードディスク、フラッシュメモリ等）がもたらすと想定される転送高速化への期待は、遅いトランスコーディングプロセスのせいで裏切られてしまう。
【００１７】
上記のように、一部の実施形態の動画像録画デバイスは、デジタル動画像を、時間的に圧縮されていないフォーマットで保存する。非時間的に圧縮された動画像は、他のデジタル動画像をまったく参照することなく符号化された、フレーム内で符号化されたデジタル動画像（例えばフレーム）だけを含んでいる。比較すると、図３は、時間的に圧縮されたデジタル動画像のシーケンス３００を示す。時間的に圧縮された動画像は、少なくとも部分的に１つ以上の他の動画像を参照することによって符号化された、フレーム間で符号化されたデジタル動画像（例えばフレーム）を含んでいる。図３は、Ｉ−フレーム（他のフレームを参照することによって符号化されてはいないイントラフレーム）と、Ｐ−フレーム（前のフレームを参照することによって符号化された予測フレーム）と、Ｂ−フレーム（前後のフレームを参照することによって符号化された双方向フレーム）とを示す。
【００１８】
シーケンス３００は、１つのＩ−フレームと、次いで２つのＢ−フレームと、次いで１つのＰ−フレームと、次いでさらに２つのＢ−フレームと等を含んでいる。Ｉ−フレーム３０５から１５番目の全体フレームまでのシーケンスは、一部の実施形態では、画像グループ（ＧＯＰ：Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）として知られる。この場合、ＧＯＰのサイズは１５である。各ＧＯＰはＩフレームで始まる。
【００１９】
一部の実施形態では、時間的圧縮についてＩ−フレーム、Ｐ−フレーム、Ｂ−フレームを用いるのではなく、時間的圧縮についてＩ−スライス、Ｐ−スライス、Ｂ−スライスを用いる。一部の実施形態の各デジタル動画像（例えばフレーム）は、多数のマクロブロックを含んでおり、その各々は、１６ｘ１６画素のアレーである。スライスとは、連続するマクロブロックのグループである。画像毎にマクロブロックをどう符号化するのかを決める代わりに、一部の実施形態では、スライス毎にこれを決める。さらに、スライス毎に符号化されている動画像を復号する場合、各スライスは、相互に依存せずに復号されてもよい。
【００２０】
図４は、動画像のシーケンス４００が時間的に圧縮されていない場合を示す図である。代わりに、シーケンス４００のすべての動画像は、他のフレームを参照せずに定義されたＩ−フレームである。このフォーマットはカメラ上でシーケンス３００のフォーマットのようには圧縮されてはいないが、シーケンス４００は、コンピュータへの転送の時点でトランスコードされる必要がなく、時間的に圧縮されたシーケンスよりはるかに容易に編集することができる。
【００２１】
一部の実施形態では、到来するデジタル動画像のフォーマットを認識する能力を持つメディア編集アプリケーションを提供する。メディア編集アプリケーションは、動画像が時間的に圧縮されている場合に限って、デジタル動画像のトランスコードを行う。デジタル動画像が時間的に圧縮されていない場合、メディア編集アプリケーションは、トランスコーディングや動画像のサイズの拡大を行うことなく、動画像を保存する。
【００２２】
Ｉ．デジタルビデオカメラ
上記のように、一部の実施形態は、時間的に圧縮されていないフォーマットでデジタル動画像を撮影して保存する動画像録画デバイス（例えばデジタルビデオカメラ）を提供する。一部の実施形態は、時間的に圧縮されている動画像を録画するのか、時間的に圧縮されていない動画像を録画するのかの選択肢をユーザに与える。この選択肢は、一部の実施形態では、ビデオカメラのユーザインタフェース上で提示される。
【００２３】
Ａ．ユーザインタフェース
図５は、撮影される動画像についての動画像フォーマット選択肢をユーザが選択できるようにするビデオカメラのユーザインタフェースを示す図である。具体的には、この図は、ビデオカメラのユーザインタフェースを２つの異なる段階で示しており、すなわち、ｉＦｒａｍｅ動画像フォーマット選択肢をユーザが選択する前の第１段階と、それを選択した後の第２段階とである。図示するように、ビデオカメラ５００は、メニュー５１５を含むグラフィカルユーザインタフェース（ＧＵＩ）を表示するための表示画面５１０を備えたユーザインタフェース５０５を含んでいる。グラフィカルユーザインタフェースは、すべてテキストであっても、すべて画像であっても、あるいはそれらの組み合わせてあってもよい。また、ユーザインタフェース５０５は、ユーザ選択可能な複数の操作部（コントロール）５２０および５２５を含んでいる。
【００２４】
メニュー５１５は、動画像フォーマット選択肢のリストを表示している。これらの選択肢には、異なる解像度の複数のｉＦｒａｍｅ（すなわち、非時間的に圧縮された）選択肢（すなわち、ｉＦｒａｍｅ９６０ｘ５４０およびｉＦｒａｍｅ１２８０ｘ７２０）と、複数の時間的に圧縮されたフォーマットの選択肢とが含まれる。メニューの中のフォーマット選択肢の範囲は、高解像度からエンハンスト解像度まで及んでいるが、メニューは、１つ以上の選択肢を除外するか、または、他の選択肢（例えばｉＦｒａｍｅ６４０ｘ４８０）を含んでいてもよい。一部の実施形態では、非時間的に圧縮された選択肢を１つだけ含んでいる（例えば１２８０ｘ７２０）。
【００２５】
上記のように、一部の実施形態は、９６０ｘ５４０のｉＦｒａｍｅ録画フォーマットの選択肢を提供する。この録画フォーマットは、５４０ｐの垂直解像度を有する。この解像度は、複数の理由で有利であり、その１つは、解像度は、カメラのセンサの本来の解像度に対応することが多く、７２０ｐ、１０８０ｉ、１０８０ｐのようなＨＤ標準に（例えば、動画像を編集するのに用いられるコンピュータによって）容易にアップコンバートされうるということである。
【００２６】
ユーザが選択可能なビデオカメラ上のコントロール５２０および５２５によって、ユーザは、メニュー５１５をナビゲートすることができる。具体的には、コントロール５２０は、メニュー５１５を垂直にナビゲートするためのものであり、コントロール５２５は、メニューを水平にナビゲートするためのものである。図５に示す例では、これらのコントロールは、ビデオカメラ上の物理的コントロールとして提供されている。しかし、一部の実施形態では、そのようなナビゲーションコントロールは、表示画面上に表示されるグラフィカルユーザインタフェースの一部として提供されてもよい。あるいは、または、それと共に、ビデオカメラ５００がタッチスクリーンを備えていて、ユーザは、コントロール５２０および５２５のような物理的コントロールを用いる必要がなく、タッチスクリーンを用いて動画像フォーマット選択肢を直接選択できるようになっていてもよい。
【００２７】
以下、図５に示す２つの異なる段階について、ユーザインタフェースの動作を説明しよう。第１段階では、表示画面５１０は、メニュー５１５を表示する。現時点で選択されている録画フォーマットは、時間的に圧縮された選択肢（１０８０ｐ）である。ビデオカメラのユーザは、コントロール５２０および５２５を通してメニュー５１５と対話する。詳細には、ユーザは、選択された選択肢をメニューの１項目分だけ上方に動かすためにコントロール５２０の一番上のコントロールを選択して、動画像フォーマット選択肢を、時間的に圧縮されたフォーマットからｉＦｒａｍｅフォーマットへと変更する。
【００２８】
第２段階で示すように、ユーザがコントロール５２０の一番上のコントロールを選択すると、メニュー５１５は、ｉＦｒａｍｅフォーマット選択肢（すなわち、ｉＦｒａｍｅ９６０ｘ５４０）を強調表示する。この強調表示は、ｉＦｒａｍｅフォーマット選択肢を選択するという視覚的指標をユーザに与える。ユーザは、ｉＦｒａｍｅフォーマット選択肢を選択したのだから、その後で撮影される動画像クリップは、指定された解像度で、時間的圧縮をせずに録画されるであろう。
【００２９】
前の例では、メニュー５１５は、撮影された動画像フレームのシーケンスを多様な符号化スキームと解像度とを用いて符号化するための多様な動画像フォーマット選択肢のリストを表示する。一部の実施形態では、メニュー５１５は、他の符号化フォーマットを指定するための１つ以上の他の選択肢を表示する。図６は、ユーザが解像度と符号化スキームとだけでなくビットレートも指定できるようにするユーザインタフェース５０５を示す図である。一部の実施形態では、動画像のためのビットレートは、再生時間毎の動画像ファイルのサイズである。一般に、解像度が等しいままならば、高速のビットレートの方が、高品質の動画像をもたらすであろう。しかし、高速のビットレートは、ファイルの拡大をも意味し、それは作業するユーザにとって厄介でありうる。
【００３０】
この図は、前の図と同様であるが、メニュー５１５は、同じ解像度だが異なるビットレート設定を持つ複数のｉＦｒａｍｅフォーマット選択肢を表示している。具体的には、メニュー５１５は、２つのｉＦｒａｍｅ解像度（すなわち、ｉＦｒａｍｅ９６０ｘ５４０、ｉＦｒａｍｅ１２８０ｘ７２０）の各々について２つの異なるビットレート設定（すなわち、２４Ｍｂｐｓ、２０Ｍｂｐｓ、１６Ｍｂｐｓのうちの２つ）を表示している。図示するように、ｉＦｒａｍｅ解像度を変更することなく、ユーザはコントロール５２０の一番下のコントロールを選択して、ビットレート設定を２４Ｍｂｐｓから１６Ｍｂｐｓへと変更する。一部の実施形態では、カメラがそこに最終的に動画像を転送するメディア編集アプリケーションは、最大指定ビットレート（例えば２４Ｍｂｐｓ）を有する。一部の実施形態では、ビデオカメラのメニュー５１５によって、ユーザが他の動画像符号化選択肢を選択できてもよい。例えば、メニュー５１５は、選択可能なフレームレート選択肢（例えば毎秒２５または３０フレーム）を表示してもよい。
【００３１】
Ｂ．アーキテクチャ
図７は、デジタル動画像を撮影し、符号化し、保存するためのデジタルビデオカメラ７００のソフトウェアアーキテクチャを示す図である。デジタルビデオカメラ７００は、ユーザインタフェース７０５と、動画像圧縮制御器７１０と、離散コサイン変換（ＤＣＴ）ユニット７１５と、量子化ユニット７２０と、エントロピー符号化器７２５と、逆量子化ユニット７３０と、逆離散コサイン変換（ＩＤＣＴ）ユニット７３５と、動き補償、動き推定、フレーム内予測ユニット７４０と、加算器７４５と、画像撮影ユニット７５０とを含んでいる。
【００３２】
また、カメラは、圧縮設定のための記憶装置７５５と、動画像記憶装置７６０とを含んでいる。一部の実施形態では、２つの記憶装置は、同じ物理的記憶装置である。他の実施形態では、２つの記憶装置は、カメラの中の別個の物理的記憶装置であるか、または、同じ物理的記憶装置の別個のパーティションである。動画像記憶装置７６０は、一部の実施形態ではデジタルテープである。他の実施形態では、動画像記憶装置７６０は、例えば磁気ディスク記憶装置（例えばハードディスク）または固体メモリ（例えばフラッシュメモリ）のような、不揮発性の記憶装置である。一部の実施形態では、動画像記憶装置７６０は、フラッシュメモリに似たランダムアクセス記憶装置である。フラッシュメモリの例として、特に、Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ（ＳＤ）、Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標）（ＣＦ）、Ｍｅｍｏｒｙ  Ｓｔｉｃｋ（ＭＳ）等がある。記憶装置７６０がランダムアクセス記憶装置である場合、ユーザ（例えば、ビデオカメラが接続されているコンピュータのユーザ）は、第２の動画像クリップが第１の動画像クリップの後に録画されていても、第１の動画像クリップの前に第２の動画像クリップにアクセスすることを選択することができる。例えば、ファイルアロケーションテーブル（ＦＡＴ）、階層型ファイルシステム（ＨＦＳ）、拡張ファイルアロケーションテーブル（ｅＸＦＡＴ）のような多様なファイルシステム、およびその他の異なるタイプのファイルシステムを用いて、データ（例えば撮影されたデジタル動画像）を保存するように構成されてもよい。
【００３３】
カメラ７００のユーザインタフェース７０５は、前述の各図の中にあるディスプレイ５１０に示すようなグラフィカルユーザインタフェースだけでなく、同じく前述の各図の中に示す例えばコントロール５２０および５２５のようなユーザ入力コントロールも含んでいる。グラフィカルユーザインタフェースは、テキストだけのインタフェースであってもよいし、画像も同様に含んでいてもよい。
【００３４】
上記のように、ユーザは、ユーザインタフェース７０５を通してフォーマット選択情報を入力する。圧縮タイプ（時間的または非時間的）、解像度、および／またはビットレートを選択することによって、ユーザは、その後で録画される動画像のフォーマットを決める。このフォーマット選択情報７６５は、ユーザインタフェースから動画像圧縮制御器７１０へと転送される。
【００３５】
動画像圧縮制御器７１０は、指定のフォーマットについてどのようにして符号化するかを各種の圧縮および符号化モジュールに命令する。動画像圧縮制御器は、選択されたフォーマットに基づいて記憶装置７５５から圧縮設定を抽出する。次いで、これらの圧縮設定は、動画像を指定のフォーマットで適切に符号化できるように、各種の圧縮および符号化モジュールへと転送される。図７は、動画像圧縮制御器が、ＤＣＴユニット７１５と、量子化ユニット７２０と、エントロピー符号化器７２５と、動き補償、動き推定、フレーム内予測ユニット７４０とに命令することを示す。また、一部の実施形態では、ＤＣＴユニット７１５および量子化ユニット７２０に与えられた情報と同様の情報が、逆量子化ユニット７３０およびＩＤＣＴユニット７３５にも渡される。
【００３６】
画像撮影ユニット７５０は動画像を撮影する。動画像撮影プロセスに関する詳細については、以下の図１５を参照されたい。一部の実施形態では、動画像は毎秒２５または３０フレームのレートで撮影される。これは一部の実施形態ではユーザの選択肢であり、他の実施形態では、変更不可能な設定である。撮影された各フレームは本質的に、ビデオカメラによって撮影された画像である。撮影されたフレームは、フレームを符号化することができるように、イメージャから圧縮および符号化モジュール７１５−７４５へと送られる。
【００３７】
ＤＣＴユニット７１５は、加算器７４５で行われた加算または減算の結果として生じる画像データのブロックについて離散コサイン変換を行う。離散コサイン変換操作は、画像データのブロックの中に存在する一部の空間的冗長性を除去することによって圧縮を実現する。操作は、画像データのブロックをＤＣＴ係数の二次元アレーに変換し、そこでは、ブロックのエネルギーの大半は、典型的には、少数の低域周波数の係数に集中される。
【００３８】
量子化ユニット７２０は、ＤＣＴユニット７１５によって生成されたＤＣＴ係数に量子化を適用する。量子化操作は、さまざまな値を単一の量子値へと圧縮することによってＤＣＴ係数の圧縮を実現する。量子化は品質低下の原因となるため、一部の実施形態では、ＤＣＴ係数の所定の周波数に割り当てる量子化ステップを小さくすることによって画像品質の低下を最小化するために、量子行列を用いる。
【００３９】
エントロピー符号化器７２５は、入力データを可変長コードに変換する。一部の実施形態では、入力データは量子化ユニット７２０から直接入ってくる。その他の実施形態では、量子化ユニット７２０とエントロピー符号化器７２５との間で、例えばジグザグ走査やランレングス符号化のような中間操作が行われる。一部の実施形態のエントロピー符号化器７２５は、より短いコード語を、発生確率が低い値ではなく発生確率が高い値に割り当てることによって（例えば、文脈に基づく適応可変長符号化）、圧縮を実現する。一部の実施形態は、エントロピー符号化がシンボル毎に行われる、例えばＨｕｆｆｍａｎｎまたはＵＶＬＣのような符号化スキームを用いる。その他の実施形態は、例えば、データブロック全体が１つの数として符号化される算術符号化（例えば、文脈に基づく適応型バイナリ算術符号化）のような符号化スキームを用いる。
【００４０】
一部の実施形態は、動画像のさらなる圧縮を実現するために空間的または時間的予測を行う。これを円滑化するため、一部の実施形態は動画像復号パスを含んでおり、従って、符号化器は、復号器が用いるのと同じ復号された参照フレームを、予測を行う目的で使用できる。復号パスは、逆量子化ユニット７３０および逆ＤＣＴユニット７３５を含んでおり、これらのユニットは、上記のように、量子化ユニット７２０およびＤＣＴユニット７１５の逆の操作を行う。
【００４１】
動き推定、動き補償、フレーム内予測ユニット７４０は、動き推定、動き補償、およびフレーム内予測操作を行う。動き補償操作は復号パスの一部であり、動画像を再構築して復号するために、時間的予測情報を用いて逆ＤＣＴユニット７３５の出力を補償する。動き推定操作は符号化パスの一部であり、時間的予測で用いる動きベクトルを作成するため、合致する画素ブロックを求めて、他の復号されたフレームを探索する。フレーム内予測は、符号化コンポーネントと復号コンポーネントとを有する。フレーム内予測操作の復号コンポーネントは、空間的予測情報を用いて、動画像を再構築して復号する。フレーム内予測操作の符号化コンポーネントは、空間的予測で用いるための合致する画素ブロックを求めて、現時点での復号されたフレームを探索する。一部の実施形態では、ユニット７４０は、時間的圧縮を行わないように命令された場合、空間的フレーム内予測だけを行うであろう。
【００４２】
加算器７４５は、画像撮影ユニット７５０からの画像と、動き推定、動き補償、フレーム内予測ユニット７４０の出力との間の差を演算する。次いで、結果として生じる差（または和）が、上記のように符号化されるためにＤＣＴユニット７１５へ送られる。
【００４３】
ＤＣＴユニット、量子化ユニット、エントロピー符号化ユニット７１５−７２５の各々の操作は、多くの異なる変数によって決まる。これらの変数の各々は、指定の動画像フォーマットに依存してさまざまに設定されてもよい。従って、ＤＣＴ操作は、一部の実施形態では、１つの特定の設定によってではなく、多数の異なる選択によって制御される。一部の実施形態では、これらは、特定の解像度およびビットレートにおける動画像品質を最大化するように意図された、カメラメーカによる設計上の選択である。同様に、量子化器およびエントロピー符号化器の操作も、一部の実施形態では、特定の解像度およびビットレートで動画像品質を最大化するように意図された、特定の各フォーマットについての設計上の選択である多数の異なる選択によって制御される。例えば、量子化器によって用いられる量子化行列は、動画像フォーマットに基づいて修正されてもよい。
【００４４】
動画像圧縮制御器７１０が、非時間的に圧縮された動画像についての設定を指定する場合、動き推定、動き補償、フレーム内予測ユニット７４０は、時間的圧縮の一部である動き推定および動き補償操作ではなく、フレーム内予測だけを行うように命令される。他方、動画像圧縮制御器が、時間的に圧縮された動画像についての設定を指定する場合、ユニット７４０は、フレーム内予測に加えて動き推定および動き補償も行う。
【００４５】
さらに、一部の実施形態では、動画像圧縮制御器７１０は、多様なモジュールに符号化変数を指定することに加えて、符号化プロセスの間にレート制御を行う。レート制御を行うため、制御器７１０は、各フレームの符号化の後に、目標ビットレート（すなわち、動画像フォーマット用に指定されたビットレート）に対する符号化された動画像の接近度を算出する。次いで、制御器７１０は、符号化されることになるフレームのサイズを調整するために直ちに圧縮変数（例えば、ＤＣＴユニット７１５および量子化ユニット７２０の変数）を調整する。一部の実施形態では、これらの変更が行われるやり方は、選択された動画像フォーマットによって指定される圧縮設定の一部である。
【００４６】
カメラ７００の多くの特徴について、１つのモジュール（例えば動画像圧縮制御器７１０）によって行われているとしてここまで記述してきたが、当業者であれば、それらの機能が複数のモジュールに分割されていることもあり、１つの機能を行うのに複数のモジュールが必要となることもありうることを理解するであろう。同様に、別個のモジュールによって行われると示される諸機能が、一部の実施形態では１つのモジュールによって行われることもありうるであろう。
【００４７】
図８は、時間的に圧縮された動画像と非時間的に圧縮された動画像とのいずれか一方を保存する能力を有するデジタルビデオカメラ（例えばカメラ７００）上で動画像を撮影して保存するための一部の実施形態のプロセス８００を概念的に示す図である。プロセス８００は（８０５で）、特定の解像度および／またはビットレートを指定する、撮影された動画像について選択された動画像フォーマットを識別することによって始まる。この動画像フォーマットは、一部の実施形態では、図５および図６に示すように、ユーザインタフェースを通してユーザによって選択される。
【００４８】
プロセス８００は（８１０で）、現在撮影されている動画像クリップに対して時間的圧縮を行うかどうかを決める。この決定は、選択された動画像フォーマットに基づいて行なわれる。ユーザがｉＦｒａｍｅ録画モードを選択していた場合、時間的圧縮は行われない。他方、ユーザが別の録画モード（例えば、ＡＶＣ  ＨＤ  １０８０ｐ）を選択していた場合、時間的圧縮が必要である。
【００４９】
時間的圧縮が必要な場合、プロセスは（８１５で）、次の撮影された動画像を受け取る。次いでプロセスは（８２０で）、動画像を空間的にも時間的にも圧縮して、（８２０で）動画像を符号化する。この操作は、一部の実施形態では、各種の符号化モジュール７１５−７４５によって行われる。次いでプロセスは（８２５で）、符号化された動画像をカメラの記憶装置の中に保存する。次に、プロセス８００は（８３０で）、カメラが動画像を依然として撮影しているかどうか（すなわち、圧縮して符号化すべき動画像のフレームがまだあるかどうか）を判定する。カメラがもう動画像を撮影していない場合、プロセスは終了する。そうでない場合、プロセスは８１５に戻って、次の撮影された動画像を受け取る。
【００５０】
現在撮影されている動画像クリップについて時間的圧縮が必要ない場合、プロセスは（８３５で）、次の撮影された動画像を受け取る。次いでプロセスは（８４０で）、動画像を空間的に圧縮する。一部の実施形態では、この操作はユニット７４０によって行われるが、フレーム内予測だけが用いられる。動画像は時間的に圧縮されていないため、動き推定または動き補償が行われる必要はない。
【００５１】
次に、プロセス８００は（８４５で）、選択されたフォーマットに従った変数を用いて動画像に対して離散コサイン変換を行う。すなわち、離散コサイン変換は、一部の実施形態では動画像圧縮制御器７１０によって離散コサイン変換ユニット７１５へ送られた変数を用いて行われる。これらは、動画像の時間的圧縮を行うことなく所望の解像度および／またはビットレートで高品質の動画像を作成するために（一部の実施形態では、カメラメーカによる設計上の選択として）選択された変数である。
【００５２】
次いでプロセスは（８５０で）、選択されたフォーマットに従った変数を用いて動画像（ＤＣＴユニットの出力）を量子化する。すなわち、量子化は、一部の実施形態では、動画像圧縮制御器７１０によって量子化ユニット７２０へと送られた変数を用いて行われる。これらは、動画像の時間的圧縮を行うことなく所望の解像度および／またはビットレートで高品質の動画像を作成するために（一部の実施形態では、カメラメーカによる設計上の選択として）選択された変数である。
【００５３】
次いでプロセスは（８５５で）、選択されたフォーマットに従った変数を用いて動画像（量子化ユニットと、例えばランレングス符号化器のような何らかの中間モジュールとの出力）をエントロピー符号化する。すなわち、エントロピー符号化は、一部の実施形態では動画像圧縮制御器７１０によってエントロピー符号化器７２５へ送られた変数を用いて行われる。これらは、動画像の時間的圧縮を行うことなく所望の解像度および／またはビットレートで高品質の動画像を作成するために（一部の実施形態では、カメラメーカによる設計上の選択として）選択された変数である。
【００５４】
次にプロセス８００は（８６０で）、符号化された動画像をカメラの記憶装置の中に保存する。次にプロセス８００は（８６５で）、カメラが動画像を依然として撮影しているかどうか（すなわち、圧縮して符号化すべき動画像のフレームがまだあるかどうか）を判定する。カメラがもう動画像を撮影していない場合、プロセスは終了する。そうでない場合、プロセスは８３５に戻って、次の撮影された動画像を受け取る。
【００５５】
Ｃ．例示的な動画像処理構成
上記のセクションは、時間的に圧縮されていないフォーマットでデジタル動画像を撮影して保存する一部の実施形態の動画像録画デバイスの態様を多数記述している。以下のセクションは、一部の実施形態の非時間的に圧縮された動画像の処理構成と、そのような構成によって行われる各種のプロセスとの態様を記述している。一部の実施形態では、特定の解像度およびビットレートでの動画像品質を最大化することと、設計上の目的の中でも特に動画像の復号時間を短縮することとが意図されるカメラメーカによる設計上の選択に基づいて、構成が決められる。
【００５６】
非時間的に圧縮された動画像の動画像品質を高める（またはビットレートを小さくする）ため、多様な動画像処理技術が採用されうる。そのような技術の１つは、動画像が符号化される前に、選択された解像度（例えばｉＦｒａｍｅ  １２８０ｘ７２０）から動画像解像度の幅を削減することである。従って、例示的な構成の一部の実施形態は、動画像品質を高めるため、および／または、符号化された動画像のビットレートを削減するために、動画像解像度の幅を削減する。
【００５７】
図９Ａは、一部の実施形態の動画像解像度の幅の削減の一例を概念的に示す図である。この例では、選択された録画の選択肢はｉＦｒａｍｅ  １２８０ｘ７２０であると仮定する。図９Ａは、スケーラ９０５および符号化器９１０によって行われる動画像処理操作の各種の段階における動画像（例えば画像９２５および画像９１０）を示す。一部の実施形態では、符号化器９１０は、以下に記す図１５の動画像符号化器１５２０によって実装されうる。図示するように、１２８０ｘ７２０の解像度（例えば画像９２５）を有している符号化されていない動画像が、スケーラ９０５へと入力される。スケーラ９０５は、動画像の解像度の幅を削減し（すなわち、スケーリングし）、従ってここでは動画像の解像度は（画像９３０について示すように）９６０ｘ７２０となっており、そして、スケーラ９０５は、符号化されることになる動画像を符号化器９１０に出力する。一部の実施形態では、スケーラ９０５が動画像の解像度の幅を削減する時、動画像の縦横比が維持されるように、画素も横に引き伸ばす。これを図９Ａに示しており、画像９２５の画素を正方形に、画像９３０の画素を長方形に描いている。
【００５８】
例示的な構成の一部の実施形態は、復号された後で動画像の解像度の幅を増加させる。例えば、一部のそのような実施形態は、動画像の解像度の幅を、動画像が当初撮影された幅まで戻すかたちで増加させる。図９Ｂは、そのような実施形態の動画像解像度の幅の増加の一例を示す。図９Ｂは、復号器９１５およびスケーラ９２０によって行われる動画像処理操作の各種の段階での動画像（例えば画像９３５および画像９４０）を示す。一部の実施形態では、復号器９１５は、以下に記す図１５の動画像復号器１５４０によって実装されてもよい。
【００５９】
図９Ａに示す例を続けると、図９Ａの符号化された動画像が（例えば、以下に記すメディア編集アプリケーション１６００によって）復号されることになる場合、それらは復号器９１５へと送られる。動画像が復号された後、スケーラ９２０は、動画像が保存および／または表示される前に、動画像の解像度の幅を増加させる（すなわち、スケーリングする）。画像９３５によって示すように、復号された動画像は、スケーラ９２０がそれらを処理する前には９６０ｘ７２０の解像度を有している。動画像は、当初１２８０ｘ７２０の解像度で撮影されていたのだから、スケーラ９２０は、復号された動画像の解像度の幅を、画像９４０によって示すように１２８０ｘ７２０に戻すかたちで増加させる。また、一部の実施形態では、スケーラ９２０が動画像の解像度の幅を増加させる時、動画像の縦横比が維持されるように、画素を横に圧縮する。図９Ｂは、画像９３５の画素を長方形に、画像９４０の画素を正方形に描くことによってこれを示している。
【００６０】
上記の例は、選択された録画解像度全体を使って撮影される（すなわち、動画像録画デバイスの画像センサが、１２８０ｘ７２０の解像度で動画像を捕捉する）動画について述べたものである。一部の実施形態では、動画像録画デバイスは、選択された録画解像度全体を撮影するのではない。そうではなく、これらの実施形態では、選択された録画解像度より低い解像度で動画像を撮影して、動画像が復号された後で動画像解像度幅の増加を行う。例えば、上記の例を参照すると、そのような一部の実施形態は、動画像を９６０ｘ７２０の解像度で撮影する。動画像が復号される時、動画像の解像度が、図９Ｂに示すように１２８０ｘ７２０へと増加される。
【００６１】
図９Ａおよび９Ｂに示す例は、１２８０ｘ７２０の解像度で撮影された動画像を動画像が符号化される前に９６０ｘ７２０へスケーリングし、そして、動画像が復号された後に動画像を９６０ｘ７２０から１２８０ｘ７２０へと戻すかたちでスケーリングすることを示しているが、動画像は、多様な実施形態によって多様なサイズにスケーリングされる。例えば、一部の実施形態では、１９２０ｘ１０８０の解像度で動画像を撮影し、動画像を符号化する前に動画像を９６０ｘ７２０にスケーリングし、そして、動画像が復号された後で動画像を１２８０ｘ７２０にスケーリングしてもよい。他の実施形態では、動画像が復号された後で動画像をスケーリングしなくてもよい。
【００６２】
加えて、一部の実施形態は、動画像の解像度の幅をスケーリングするだけでなく、動画像の解像度の高さをスケーリングしてもよい。動画像を比例的にスケーリングする実施形態もあるし、動画像をアナモルフィックにスケーリングする実施形態もある。一部の実施形態では、（例えば動画像が動画像録画デバイス自体で再生される場合に）符号化の前または復号の後に動画像をスケーリングするかどうかと、符号化される前に動画像がどの解像度までスケーリングされるかと、復号された後に動画像がどの解像度までスケーリングされるかとを決めることは、特定の解像度およびビットレートで動画像品質を最大化することを意図された、カメラメーカによって行われる設計上の選択である。さらに、一部の実施形態は、再生用に動画像をスケーリングする際に動画像再生デバイス（例えば、コンピュータ、スマートフォン等）がこの情報を用いることができるように、その当初のスケーリング以前の解像度を示すメタデータを動画像に挿入する。
【００６３】
非時間的に圧縮された動画像のビットレートを削減する（あるいは、動画像品質を高める）もう１つの方法は、動画像の符号化の間に８ｘ８マクロブロックで変換を行うことである。上記の図７に示し、かつ、関連のセクションで記述したように、画像撮影ユニット７５０によって撮影された画像は、画像毎に（すなわちフレーム毎に）処理される。具体的には、ＤＣＴ７１５は、動画像の画像をフレーム毎に処理する。すなわち、ＤＣＴ７１５は、加算器７４５から１つのフレーム全体についての画像データを受け取って、画像データについて離散コサイン変換を行い、それが量子化器７２０に出力される。
【００６４】
例示的構成の一部の実施形態では、ＤＣＴ７１５は、８ｘ８サイズのマクロブロックに対して離散コサイン変換を行うように構成される。図１０は、動画像の符号化の間に８ｘ８マクロブロックに対して変換を行う様子を概念的に示す図である。図示するように、ＤＣＴ７１５は、８ｘ８マクロブロックについての画像データを８ｘ８行列の形式で加算器７４５から受け取って、画像データに対して離散コサイン変換を行い、そして、変換されたデータを量子化器７２０（図示せず）に出力する。しかし、例示的構成のその他の実施形態では、例えば１６ｘ１６のように別のサイズのマクロブロックに対して離散コサイン変換を行ってもよい。
【００６５】
非時間的に圧縮された動画像のビットレートを削減する（または、動画像品質を高める）別の方法は、動画像を符号化する時にすべてのイントラ予測モードを行うことである。例示的構成の一部の実施形態は、従来のＨ．２６４コーデック標準を用いて動画像をイントラ予測符号化し、他方、例示的構成の別の実施形態は、イントラ予測符号化をまったく行わない。その代わりに、これらの実施形態は、イントラモード符号化のみを用いて動画像を符号化する。一部の実施形態では、イントラモード符号化は、いかなるイントラ予測モードも使用しない符号化である。
【００６６】
上記のように、一部の実施形態では、動画像は、各フレームが複数のマクロブロックから成る動画像フレームのシーケンスから成る。１つのマクロブロックは、典型的には、（上記の８ｘ８マクロブロックのようなその他のサイズのマクロブロックも可能ではあるが）１６ｘ１６画素アレーであり、（例えば４ｘ４画素アレーのパーティションのような）パーティションに分割されている。Ｈ．２６４コーデック標準の下では、フレームのイントラ予測符号化の場合、４ｘ４アレーを符号化するには９通りの異なる方法（すなわち、９つのイントラ４ｘ４予測モードがある。）９つのモードとは以下のとおりである。
【００６７】
０．イントラ＿４ｘ４＿垂直
１．イントラ＿４ｘ４＿水平
２．イントラ＿４ｘ４＿ＤＣ
３．イントラ＿４ｘ４＿斜め＿下＿左
４．イントラ＿４ｘ４＿斜め＿下＿右
５．イントラ＿４ｘ４＿垂直＿右
６．イントラ＿４ｘ４＿水平＿下
７．イントラ＿４ｘ４＿垂直＿左
８．イントラ＿４ｘ４＿水平＿上
【００６８】
各４ｘ４アレーは、１つの予測モードにおいてのみ、符号化される。典型的には、結果として最も低コストになる予測モードが選択されるであろう。コストは、典型的には、ひずみに等しいか（その場合、ひずみは、当初の画素値と符号化された予測値との間の差を反映する）、または、ひずみと予測モードによって生じるビット数との加重平均に等しい（その場合、ひずみおよび／またはビット数の増加がコストを増加させる）。最も低コストである最適な予測モード（選択予測モード）を決めるために、９つの予測モードすべてについて徹底的な調査が行われてもよい。一部の実施形態は、９つの予測モードの徹底的な調査を行う代わりに、イントラ予測モードを選択するために調査の発見的方法を適用する。
【００６９】
図１１は、上記の９つのイントラ予測モードについての予測の方向を概念的に示す図である。現行の処理された４ｘ４アレーについて、Ｈ．２６４標準の下での予測モードは、現行の処理されたアレーについて符号化された予測情報の基礎となることになる別の４ｘ４アレー（本明細書では予測アレーと呼ぶ）の（現行の処理された４ｘ４アレーに対する）位置を示す。例えば、予測モード０（垂直）は、現行の処理されたアレーについての予測アレーが現行の処理されたアレーの上方に位置していることを示し、予測モード１（水平）は、現行の処理されたアレーについての予測アレーが現行の処理されたアレーの左側に位置していることを示す。
【００７０】
さらに、非時間的に圧縮された動画像の復号時間を短縮するには、いろいろな方法がある。上記のように、動画像がスライス毎に符号化されている場合、動画像の各スライスは、他のスライスに依存せずに復号されてもよい。従って、非時間的に圧縮された動画像の復号時間を短縮する１つの方法は、複数のプロセッサを有する演算デバイスが、動画像の各スライスを独立的かつ同時に復号することができるように、動画像をスライス毎に符号化することである。
【００７１】
図１２Ａは、一部の実施形態のスライス毎に符号化された動画像を概念的に示す図である。図示するように、この図は、符号化器１２０５によって処理されていない動画像１２００を示している。一部の実施形態では、符号化器１２０５は、以下に記す図１５の動画像符号化器１５２０によって実装されうる。この例では、符号化器１２０５は、動画像を４つのスライスに分割し、動画像をスライス毎に符号化するように構成されている。画像１２１０は、４つのスライスに分割された動画像を概念的に示す。図示するように、画像１２１０は、４つのセクション１２１５−１２３０に分割されている。しかし、セクション１２１５−１２３０が分割されるやり方は、例示だけを目的としている。符号化器１２０５の他の実施形態では、画像１２１０が、いかなる数のセクションに分割され、また、いかなる数の多様な形状およびサイズに分割されてもよい。
【００７２】
スライス毎に符号化された動画像の各スライスは、独立して復号されうるのだから、複数のプロセッサを持つ演算デバイス（例えば、コンピュータ、スマートフォン等）は、複数のスライスを同時に復号することができる。図１２Ｂは、１つのそのような演算デバイスを概念的に示す図である。この図は、処理システム１２４０と復号制御器１２９０とを含む復号ハードウェア１２３５を示す。一部の実施形態では、復号ハードウェア１２３５は、以下に記す図１５の動画像復号器１５４０によって実装されうる。
【００７３】
処理システム１２４０は、４つの処理ユニット１２４５−１２６０（プロセッサ、コア、処理コア等）を含んでいる。一部の実施形態では、処理ユニット１２４５−１２６０は、単一のダイス上のコアとして実装され、他方、その他の実施形態では、処理ユニット１２４５−１２６０は、単一のパッケージの中のチップとして実装される。別の実施形態では、処理ユニット１２４５−１２６０は、単一のシステムの中の複数のパッケージとして実装される。一部の実施形態の復号制御器１２９０は、動画像のスライスを復号の目的で処理ユニット１２４５−１２６０に割り振るかまたは割り当てることに責任を持つ。従って、復号ハードウェア１２４０が、動画像フレームはスライス毎に符号化されていることを識別し、かつ、動画像フレームの各スライスを識別した場合、復号制御器１２９０は、識別された各スライスを復号の目的で１つ以上の処理ユニット１２４５−１２６０に割り振るかまたは割り当てる。一部の実施形態では、復号制御器１２９０は、１つ以上の処理ユニット１２４５−１２６０によって実装されてもよく、他方、その他の実施形態では、復号制御器１２９０は、別個のハードウェアコンポーネントによって実装されてもよい。
【００７４】
図１２Ａに示す例を続けるが、４つのスライスに分割されてスライス毎に符号化された動画像は、復号の目的で復号ハードウェア１２３５へ送られる。各動画像の各スライスは識別され、復号の目的で処理システム１２４０の処理ユニットに割り当てられる。図示するように、動画像１２６５は、４つのスライス１２７０−１２８５を含んでいる。復号制御器１２９０は、スライス１２７０を処理ユニット１２４５に、スライス１２７５を処理ユニット１２５０に、スライス１２８０を処理ユニット１２５５に、スライス１２８５を処理ユニット１２６０に割り当てる。各スライスは、他に依存せずに復号することができるため、処理システム１２４０の異なる処理ユニットをスライス１２７０−１２８５の各々に割り当てることによって、動画像１２６５のスライス１２７０−１２８５を、独立してかつ同時に復号することができる。従って、一部の実施形態では、この復号技法の結果として、復号時間が減少する。
【００７５】
図１２Ｂでは、動画像内の各スライスは、処理システム１２４０の単一のプロセッサによって同時にかつ独立して復号される。しかし、別の実施形態では、動画像のスライスを復号するために別の数のプロセッサを割り振るかまたは割り当ててもよい。例えば、一部の実施形態は、動画像の各スライスを復号するために処理システム１２４０の２つの処理ユニットを割り当ててもよい。従って、動画像のうちで多くても２つのスライスが、図示した処理システム１２４０によって所与の時刻に同時に復号されうる。その他の実施形態は、処理システム１２４０のすべての処理ユニット１２４５−１２６０を、動画像の各スライスを復号するために割り振ってもよい。そのような実施形態では、一時に１つのスライスだけが復号されうる。動画像が分割されるスライスの数とスライスの形状およびサイズとを決めることは、動画像の復号時間を短縮することを意図してカメラメーカによって行われる設計上の選択である。
【００７６】
図１３は、動画像を非時間的に符号化するための例示的構成の一部の実施形態のプロセス１３００を示す図である。一部の実施形態では、上記の、動き推定、動き補償、フレーム内予測ユニット７４０が、プロセス１３００の少なくとも一部を行う。一部の実施形態では、プロセス１３００は、以下に記す動画像符号化器１５２０によって行われてもよい。
【００７７】
動画像の中の１つの動画像について、プロセスは、（１３０５で）動画像の解像度の幅を削減することによって開始される。操作１３０５は、図９Ａを参照することによって上述したように行われてもよい。次にプロセス１３００は、図１２Ａを参照することによって上記で論じたように、（１３１０で）動画像を複数のスライスに分割する。次いでプロセス１３００は、（１３１５で）スライスの１つの中のマクロブロックを選択する。その後、プロセス１３００は（１３２０で）、選択されたマクロブロックについてイントラ予測モードを選択し、選択された予測モードを（１３２５で）実行する。次いでプロセス１３００は（１３３０で）、上記のように選択されたイントラ予測モードについてのコストを算出する。
【００７８】
次に、プロセスは（１３３５で）、未選択のイントラ予測モードが残っていないかどうかを判定する。未選択のイントラ予測モードが残っている場合、プロセスは操作１３２０に戻って、他の未選択のイントラ予測モードの実行を継続する。未選択のイントラ予測モードが残っていない場合、プロセス１３００は（１３４０で）、算出されたコストが最も低いイントラ予測モードを選択する。
【００７９】
１３４５で、プロセス１３００は、選択されたイントラ予測モードが十分に良好かどうかを判定する。一部の実施形態では、選択されたイントラ予測モードを用いたマクロブロックの符号化のオーバヘッドコストが、イントラモードを用いたマクロブロックの符号化のコストより少ない場合に、選択されたイントラ予測モードは十分に良好である。選択されたイントラ予測モードを用いた符号化のコストには、イントラモードに含まれていないオーバヘッドコストが含まれている。一部の実施形態では、イントラモードを用いたマクロブロックの符号化は、いかなるイントラ予測モードをも使用しないマクロブロックの符号化である。
【００８０】
プロセス１３００が、選択されたイントラ予測モードは十分に良好とはいえないと判定した場合、プロセス３００は（１３５０で）、マクロブロック用の符号化モードとしてイントラモードを選択する。しかし、プロセス１３００が、選択されたイントラ予測は十分に良好であると判定した場合、プロセス１３００は（１３５５で）、選択されたイントラ予測モードをマクロブロック用の符号化モードとして選択する。マクロブロック用の符号化モードを判定した後、プロセス１３００は（１３６０で）、図１０を参照することによって上述したようにマクロブロックに対して８ｘ８変換を行う。
【００８１】
最後に、プロセスは（１３６５で）、スライス内に未選択のマクロブロックが残っているかどうかを判定する。スライス内に未選択のマクロブロックが残っている場合、プロセスは、操作１３１５に戻って、スライス内の別のマクロブロックを処理する。従って、プロセス１３００は、スライス内にマクロブロックが残っていないようになるまで操作１３１５−１３６０を繰り返し、その後、プロセスは終了する。プロセス１３００は、動画像の１つのスライスについてマクロブロックの処理を記述しているが、動作１３１５−１３６５は、動画像の中の各スライスについて行われる。
【００８２】
図１４は、一部の実施形態の動画像録画デバイスについて異なる動画像フォーマットを定義するためのプロセスを概念的に示す図である。動画像録画デバイスは、一部の実施形態では、時間的に圧縮された動画像フォーマットと非時間的に圧縮された動画像フォーマットとを両方提供する。
【００８３】
プロセス１４００は（１４０５で）、撮影された動画像についての特定の解像度および／またはビットレートを指定する動画像フォーマットを識別することによって開始される。次に、プロセス１４００は（１４１０で）、フォーマットが時間的圧縮を指定しているかどうかを判定する。フォーマットが時間的圧縮を指定している場合、プロセス１４００は（１４１５で）、動画像フォーマット用の時間的圧縮パラメータを定義する。一部の実施形態では、パラメータは、特定の解像度および／またはビットレートについての動画像品質を最大化することが意図されている動画像録画デバイスのメーカによって行われる設計上の選択に基づいている。フォーマットが時間的圧縮を指定していない場合、プロセスは、動作１４２０へと進む。
【００８４】
プロセス１４００は、１４２０で、動画像フォーマットについての変換ブロックサイズを８ｘ８であると定義する。次いでプロセス１４００は（１４２５で）、動画像フォーマットについて複数のスライスの符号化を定義する。一部の実施形態では、スライスの数として４つのスライスが定義される。しかし、他の実施形態では、動画像フォーマットを用いて符号化される動画像について、異なる数のスライスが定義されてもよい。次に、プロセス１４００は（１４３０で）、すべてのイントラ予測モードを検討するために動画像フォーマットを定義する。動画像フォーマットのパラメータを定義した後、プロセス１４００は（１４３５で）、定義すべき動画像フォーマットがまだあるかどうか判定する。定義すべき動画像フォーマットがさらにある場合、プロセス１４００は、操作１４０５に戻って、別の動画像フォーマットを定義する。プロセス１４００は、定義すべき動画像フォーマットがなくなるまで動作１４０５−１４３０を繰り返し、その後、プロセスは終了する。
【００８５】
上記のセクションは、特定の順序で行われるプロセス１４００の操作を述べている。しかし、当業者であれば理解するであろうが、プロセス１４００の一部のまたは全部の操作は、いかなる順序で行われてもよいし、同時に行われてもよい。例えば、操作１４２０、１４２５、１４３０は同時に行われてよく、操作１４２５および１４３０は操作１４２０の前に行われてもよいし、あるいは、操作１４２０および１４３０が操作１４２５の前に行われてもよい。
【００８６】
Ｄ．システム
図１５は、上記の動画像撮影、符号化および保存プロセスを利用する一部の実施形態のビデオカメラ１５００のブロック図である。ビデオカメラ１５００は、ビデオカメラ７００と同じであってもよいし、１つ以上の点で異なっていてもよい。図１５に示すように、ビデオカメラ１５００は、光学的取入口１５０５と、画像感知回路部１５１０と、動画像符号化器１５２０と、記憶デバイス１５３０とを含んでいる。一部の実施形態では、ビデオカメラはさらに、データ転送ポート１５３５と、動画像復号器１５４０と、デジタルビューア１５４５と、ユーザ入力コントロール１５５０とを含んでいる。
【００８７】
外界の光学画像が、光学的取入口１５０５を通してビデオカメラ１５００に入る。一部の実施形態では、光学的取入口１５０５は、開口部と、１つ以上の光学レンズとを含んでいる。レンズは、ピント合わせ、光学ズーム、または光学画像に対するその他の光学的処理を行う。
【００８８】
光学的取入口１５０５からの光学画像が、画像感知回路部１５１０上に投影され、画像感知回路部１５１０が、光学画像を電子信号に変換する。一部の実施形態では、画像感知回路部１５１０は、ＣＣＤ（電荷結合素子）である。ＣＣＤは、二次元のキャパシタアレーを含む光能動的な領域を含んでおり、そこではキャパシタが、受光強度に比例する電荷を蓄積する。アレーが光学画像に露出されると、制御回路によって各キャパシタがその容量をその隣接キャパシタまたは電荷増幅器に転送し、それが電荷を電圧に変換する。このプロセスを繰り返すことによって、ＣＣＤは光学画像をサンプリングしてデジタル化する。
【００８９】
動画像符号化器１５２０が、デジタル化された光学画像を符号化する。一部の実施形態は、一組の命令を実行するマイクロプロセッサとして動画像符号化器１５２０を実装する。他の実施形態は、例えばＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレー）またはその他のタイプの回路のような１つ以上の電子デバイスを用いて動画像符号化器１５２０を実装する。
【００９０】
一部の実施形態では、動画像符号化器１５２０は、Ｈ．２６４  ＭＰＥＧ−４符号化器であり、これは、予測と離散コサイン変換とを用いて画像から冗長性を除去する。一部の実施形態は、空間的冗長性と時間的冗長性とをいずれも除去し、他方、他の実施形態では、空間的冗長性だけを除去するかまたは冗長性をまったく除去しない。動画像符号化器の一部の実施形態は、さらに、エントロピー符号化を用いて、符号化された画像から圧縮されたビットストリームを生成する。
【００９１】
記憶デバイス１５３０が、符号化された画像を保存する。一部の実施形態では、記憶デバイス１５３０は、例えば符号化された画像のようなデジタル情報を保存することができる、フラッシュメモリデバイス、ハードディスク、またはその他のタイプの不揮発性メモリデバイスである。記憶デバイスは、一部の実施形態では、取り外し可能（例えば取り外し可能フラッシュドライブ）である。次いで、保存された符号化された画像は、データ転送ポート１５３５を用いてビデオカメラ１５００の外に転送されてもよい。
【００９２】
データ転送ポート１５３５は、ビデオカメラの記憶デバイス１５３０と例えばコンピュータのような外部のデバイスとの間で、画像または他のデータを転送する。一部の実施形態では、データ転送ポート１５３５は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）またはＩＥＥＥ  １３９４インタフェース（Ｆｉｒｅ  Ｗｉｒｅ）のような高スループットのプロトコルを用いてコンピュータと通信する。また、データ転送ポート１５３５は、他の何らかの有線または無線データ通信プロトコルを用いてコンピュータと通信してもよい。
【００９３】
ユーザ入力コントロール１５５０によって、ユーザは、ビデオカメラ１５００の各種のコンポーネントの設定を調整することができる。一部の実施形態では、ユーザ入力コントロール１５５０は、ビデオカメラ上の物理的ボタンとして実装される。あるいは、またはそれに関連して、一部の実施形態はＧＵＩを含んでおり、それによってユーザはビデオカメラの各種の設定を図式的に検索することができる。一部の実施形態では、ユーザ入力コントロール１５５０によって、ユーザは、動画像復号器１５２０の設定を調整することができる。例えば、ユーザは、Ｈ．２６４標準に含まれるいずれかの符号化モードを用いて画像を符号化するように動画像復号器を設定してもよいし、ユーザは、Ｈ．２６４標準のＩフレームだけかまたはＨ．２６４標準の他の部分集合を用いるように動画像符号化器１５２０を設定してもよい。
【００９４】
一部の実施形態は、ユーザが符号化された画像を見られるように、動画像復号器１５４０を含んでいる。動画像復号器１５４０は、動画像符号化器１５２０によって符号化され、記憶デバイス１５３０上に保存された画像を復号することができる。一部の実施形態では、動画像復号器１５４０は、動画像符号化器１５２０の一部であるが、それは、動画像符号化器１５２０の一部の実施形態は、Ｈ．２６４準拠の符号化された動画像シーケンスを生成することを目的として動画像復号器を含んでいるからである。デジタルビューア１５４５は、動画像復号器１５４０によって復号された動画像を表示する。一部の実施形態では、デジタルビューアは、ユーザ入力コントロール１５５０に関連するＧＵＩの一部として実装される。
【００９５】
ＩＩ．メディア編集アプリケーション
一部の実施形態は、到来するデジタル動画像の多様なフォーマットを識別する能力を有する、デジタル動画像をインポートして編集するためのメディア編集アプリケーションを提供する。時間的に圧縮されたデジタル動画像がインポートされた場合、メディア編集アプリケーションはデジタル動画像をトランスコードし、トランスコードされた動画像を記憶装置内に保存する。非時間的に圧縮されたデジタル動画像がインポートされた場合、メディア編集アプリケーションは、このフォーマットを認識し、到来する動画像を直接、トランスコーディングすることなく記憶装置内に保存する。
【００９６】
図１６は、一部の実施形態のそのようなメディア編集アプリケーション１６００を示す図である。そのようなメディア編集アプリケーションの例には、ｉＭｏｖｉｅ（登録商標）やＦｉｎａｌ  Ｃｕｔ  Ｐｒｏ（登録商標）があり、両方共、Ａｐｐｌｅ  Ｉｎｃ．（登録商標）によって販売されている。メディア編集アプリケーション１６００は、コンピュータ１６０５上にある。一部の実施形態では、コンピュータ１６０５は、メディア編集に特化した専用コンピュータであってもよいし、他の多くのプログラム（例えば、ワードプロセッサ、ウェブブラウザ、コンピュータゲームアプリケーション等）を含んでいるコンピュータであってもよい。
【００９７】
また、メディア編集アプリケーション１６００に加えて、コンピュータ１６０５は、インタフェースマネージャ１６１０およびキャプチャモジュール１６１５、ならびに記憶装置１６２０も含んでいる。インタフェースマネージャ１６１０は、デジタル動画像ソースからデジタル動画像ストリームを受け取る。以下に記すカメラ１６２５は、そのようなデジタル動画像ソースの一例である。一部の実施形態では、インタフェースマネージャは、（ＦｉｒｅＷｉｒｅまたはＵＳＢケーブルを通して、直接ＵＳＢポートを介して、無線で、等で）デジタル動画像ソースに接続されているコンピュータのポート（例えばＦｉｒｅＷｉｒｅポート、ＵＳＢポート等）を通して動画像ストリームを受け取る入力ドライバ（例えば、ＦｉｒｅＷｉｒｅ入力ドライバ、ＵＳＢ入力ドライバ等）である。
【００９８】
インタフェースマネージャ１６１０は、受け取った動画像ストリームをキャプチャモジュール１６１５へ伝え、一部の実施形態ではキャプチャモジュール１６１５は、動画像ストリームを低レベルポートマネージャ（インタフェースマネージャ１６１０）からメディア編集アプリケーション１６００へ向かわせる。一部の実施形態では、このキャプチャモジュール１６１５は、Ａｐｐｌｅ  Ｉｎｃ．（登録商標）のＱｕｉｃｋＴｉｍｅ（登録商標）エンジンの一部である。一部の実施形態では、キャプチャモジュール１６１５は、実際にメディア編集アプリケーション１６００の一部である。記憶装置１６２０は、デジタル動画像ソースから受け取った動画像クリップを保存する。記憶装置１６２０も、一部の実施形態ではメディア編集アプリケーション１６００の一部である。例えば、記憶装置１６２０は、メディア編集アプリケーションのライブラリであってもよい。他の実施形態では、図示するように、記憶装置は、コンピュータ１６０５の一部である。記憶装置１６２０は、一部の実施形態では、動画像クリップだけではなくそれ以上のものを保存してもよい。例えば、記憶装置１６２０は、メディア編集アプリケーション１６００またはコンピュータ１６０５上に常駐する他のアプリケーションに関連する実行可能なファイルまたはその他のファイルも保存してもよい。
【００９９】
メディア編集アプリケーション１６００は、フォーマット認識モジュール１６３０と、トランスコーダ１６３５と、サムネイル生成器１６４０とを含んでいる。当業者であれば、一部の実施形態のメディア編集アプリケーションは、この図に示されていない他のモジュール、例えば編集モジュール、レンダリングモジュール等を含むであろうということを理解するであろう。
【０１００】
フォーマット認識モジュール１６３０は、インポートの時点でデジタル動画像クリップをキャプチャモジュール１６１５から受け取り、デジタル動画像のフォーマットを識別する。一部の実施形態では、この識別によって、デジタル動画像が時間的に圧縮されているかどうかが判定される。フォーマット認識モジュール１６３０は、一部の実施形態では、フォーマットを識別することを目的としてデジタル動画像クリップのメタデータを検討する（メタデータのさらなる議論については以下の動画像クリップの構造の記述を参照されたい）。一部の実施形態では、メタデータは、デジタル動画像がｉＦｒａｍｅ（非時間的圧縮）フォーマットであるか、または、時間的圧縮を用いる別のフォーマットであるかを示す。一部の実施形態では、フォーマット認識モジュールは、カメラがコンピュータ１６０５に接続されると同時に各種の動画像クリップのフォーマットを識別することができる。
【０１０１】
到来するデジタル動画像クリップが時間的に圧縮されておらず、従って、トランスコードされる必要がないということをフォーマット認識モジュール１６３０が識別した場合、フォーマット認識モジュール１６３０は、動画像クリップを直接記憶装置１６２０に送る。上記のように、これはメディア編集アプリケーション１６００のライブラリであってもよいし、複数のアプリケーションによって共有されるコンピュータ上の記憶装置であってもよい。そのようなデジタル動画像クリップをインポートする速度は、一部の実施形態では動画像クリップファイルのサイズと、カメラとコンピュータとの間の接続速度とに関係しており、クリップのトランスコーディングまたはクリップの再生速度には関係していない。詳細には、トランスコーディングがないのだから、インポート速度は、復号および／または符号化に必要な処理能力には関係していない。さらに、デジタル動画像クリップがカメラ上のランダムアクセス記憶装置の中に保存される場合、インポート速度は、テープの再生が必要であることにより３０分の動画像をインポートするのに３０分かかるような、テープを利用した記憶装置から読み取ることに起因する動画像クリップの再生速度には関連がない。一部の実施形態は、動画像クリップを記憶装置１６２０に直接送るのではなく、空間的圧縮を除去するために到来する動画像クリップを復号する。
【０１０２】
フォーマット認識モジュール１６３０が、到来するデジタル動画像は時間的に圧縮されていることを識別すると、デジタル動画像はトランスコーダ１６３５へ送られる。トランスコーダ１６３５は、一部の実施形態ではデジタル動画像を復号し、動画像を空間的圧縮だけを使って再符号化する。従って、トランスコーダ１６３５の出力は、非時間的に圧縮された動画像である。このトランスコーディングプロセスは一般に、同等の長さの非時間的に圧縮された動画像クリップの場合よりもかなり時間がかかるであろう。一部の実施形態では、トランスコーダは動画像を復号し、それを再符号化しない。
【０１０３】
トランスコーダの出力（非時間的に圧縮された動画像）は、一部の実施形態ではサムネイル生成器１６４０へ送られる。サムネイル生成器１６４０は、動画像クリップの中の各デジタル動画像のサムネイルを生成する。サムネイルは、動画像クリップと共に記憶装置１６２０の中に保存される。また、一部の実施形態は、記憶の前の中間ステップとして、非時間的に圧縮された到来する動画像クリップをフォーマット認識モジュール１６３０からサムネイル生成器１６４０へ送る。また、一部の実施形態はサムネイル生成器を含んでおらず、従ってサムネイルを動画像クリップと共に保存しない。
【０１０４】
上述のように、一部の実施形態では、デジタル動画像ストリームをカメラ１６２５から受け取る。カメラ１６２５は、一部の実施形態では、デジタルビデオカメラ７００のようなカメラであってもよい。カメラ１６２５は、転送モジュール１６４５と動画像クリップ記憶装置１６５０とを含んでいる。動画像クリップ記憶装置は、多様なフォーマットで保存された多数の動画像クリップを含んでいる。例えば、クリップ１６５１は、非時間的に圧縮されたフォーマットで保存され、クリップ１６５２は、７２０ｐの時間的に圧縮されたフォーマットで保存され、クリップ１６５３は１６８０ｐの時間的に圧縮されたフォーマットで保存されている。上記のセクションＩで示したように、一部の実施形態は、カメラによって撮影される各動画像クリップの録画フォーマットをユーザが選択できる。この図で示し、かつ、以下に記すように、一部の実施形態は、動画像フォーマットをメタデータとして保存する。
【０１０５】
一部の実施形態では、転送モジュール１６４５は、カメラ１６２５の出力ポート（例えばＦｉｒｅＷｉｒｅまたはＵＳＢポート）に関連する出力ドライバである。一部の実施形態では、カメラのユーザインタフェースか（カメラがコンピュータ１６０５に接続されている場合）メディア編集アプリケーション１６００のユーザインタフェースかのいずれか一方を通してビデオカメラと対話しているユーザが、特定の動画像クリップをメディア編集アプリケーション１６００へ転送するようにカメラ１６２５に命令する。次いでクリップが、転送モジュール１６４５を介してコンピュータ１６０５へ転送される。
【０１０６】
また図１６は、カメラ１６２５上に保存されている、一部の実施形態の動画像ファイル１６５５のフォーマットも示している。動画像ファイル１６５５は、非時間的に圧縮された動画像クリップの一例である。動画像ファイル１６５５は、動画像データ１６６０と、Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ（ＡＡＣ）オーディオデータ１６６５と、メタデータ１６７０とを含んでいる。動画像データは、この例では非時間的に圧縮された動画像フレームを含んでおり、クリップ１６５２の場合には、時間的に圧縮された動画像フレームデータを含むであろう。ＡＡＣオーディオデータ１６６５は、一部の実施形態ではメディア編集アプリケーションによって必要とされる特定のフォーマットのオーディオである。他の実施形態では、例えばリニアＰＣＭ（ＬＰＣＭ）オーディオのように、別のかたちで符号化されたオーディオデータが可能である。
【０１０７】
図示するように、メタデータ１６７０は、動画像フォーマットタイプ１６７５と、ジオタグデータ１６８０と、「ｃｏｌｒ」アトム１６８５と、他のメタデータ１６９０とを含んでいる。動画像フォーマットタイプ１６７５は、動画像の符号化フォーマットを示す。すなわち、フォーマットタイプ１６７５は、動画像が（非時間的に圧縮された）ｉＦｒａｍｅフォーマットであるかどうかを示しており、また、動画像の解像度および／またはビットレートを示してもよい。一部の実施形態では、メディア編集アプリケーション１６００は、ｉＦｒａｍｅフォーマットデータについてはビットレートが特定の閾値（例えば２４Ｍｂｐｓ）を下回り、一方で所与の解像度で所定の閾値品質を維持することを必要とする。
【０１０８】
ジオタグデータ１６８０は、一部の実施形態では、動画像クリップがどこで撮影されたかについてのＧＰＳ座標または他の地理的位置情報を示す。この情報は、カメラ内のジオロケータモジュール（例えばＧＰＳ受信器）に基づいている。「ｃｏｌｒ」アトム１６８５は、一部の実施形態では、多様なディスプレイ装置の色空間を適切に変換するのに用いられる。具体的には、「ｃｏｌｒ」アトムは、ソフトウェアガンマ色空間変換が用いられるべきであることを示す。「ｃｏｌｒ」アトムの中の「ｎｃｌｃ」タグは、一部の実施形態では、色空間変換が、ソフトウェアまたはハードウェアパスのいずれかを経て（例えば、動画像クリップの再生時に）行われうることを識別するのに用いられる。
【０１０９】
一部の実施形態は、他のメタデータ１６９０も動画像クリップと同様に保存する。このメタデータは、動画像クリップが撮影された時のライティングについてのライティング情報、動画像クリップについてのケーデンスおよびフレームレート情報（例えば毎秒２５フレーム、毎秒３０フレーム等）、ビット深度情報（例えば８ビット）等を含んでいてもよい。一部の実施形態では、動画像クリップがメディア編集アプリケーション１６００へ転送される場合、メタデータ１６７０は、それと共に転送されて、メディア編集アプリケーションによって使用される。例えば、フォーマット認識モジュール１６３０の一部の実施形態は、メタデータ１６７０から動画像フォーマットタイプを判定する。
【０１１０】
メディア編集アプリケーションの一部の実施形態は、受入可能な非時間的に圧縮された動画像についての必要条件を指定する。例えば、一部の実施形態は、動画像符号化および圧縮がベースライン、メイン、ハイプロファイル符号化のいずれかを用いてＨ．２６４符号化スキームに適合するように指定する。一部の実施形態では、プロファイルが異なれば、機能も異なる。また、一部の実施形態では、カメラ上のエントロピー符号化器（例えば図７のユニット７２５）が、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）またはＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）のいずれか一方を用いるように指定する。一部の実施形態では、その他の要求条件、例えば、フレームレート（例えば、２５または３０ｆｐｓに限定）、ビット深度（例えば８ビット）、ファイルフォーマット（例えば．ｍｐ４または．ｍｏｖ）、カラータグ付け（例えば、「ｎｃｌｃ」色パラメータタイプ付きの「ｃｏｌｒ」アトムが存在しなければならない等）、最大ビットレート（例えば２４Ｍｂｐｓ）等を指定する。
【０１１１】
図１７は、例えばカメラ１６２５のようなデジタル動画像ソースからコンピュータへインポートされた動画像クリップを保存するための一部の実施形態のプロセス１７００を概念的に示す図である。プロセス１７００は、一部の実施形態ではメディア編集アプリケーション（例えばアプリケーション１６００）によって行われる。プロセスは（１７０５で）、デジタル動画像ソースから動画像クリップを受け取ることによって始まる。動画像クリップの受け取りは、コンピュータのユーザがユーザインタフェースにおいてインポートの選択肢を選択することによって、または、動画像クリップのアイコンをカメラフォルダからコンピュータフォルダへドラッグすることによって開始されてもよい。例えば、動画像がカメラ上のランダムアクセス記憶装置（例えば、ハードディスク、フラッシュメモリ等）の中に保存される場合、ユーザは、コンピュータ上でビデオカメラのフォルダを開けて、カメラ上の動画像ファイルの各々のアイコンを表示させてもよい。ユーザは、転送を開始するため、カーソル制御器を用いて所望の動画像クリップのアイコンをコンピュータ上のフォルダへとドラッグすることができる。また、動画像クリップの受け取りは、カメラがコンピュータの入力ポート等に接続されることによって自動的に開始されてもよい。
【０１１２】
次いでプロセスは（１７１０で）、動画像クリップの動画像フォーマットを識別する。上記のように、一部の実施形態では、ビデオカメラは、複数の異なるフォーマットで動画像クリップを符号化して保存する。例えば、ビデオカメラは、空間的圧縮だけを行うことによって動画像クリップを符号化してもよいし、空間的圧縮と時間的圧縮とを両方行うことによって動画像クリップを符号化してもよい。一部の実施形態では、プロセスは、カメラ上に保存され、動画像フォーマットを示す動画像クリップと共に転送されたメタデータに基づいて、動画像フォーマットを識別する。他の実施形態では、動画像データを検討することによって符号化のタイプを認識する。
【０１１３】
次いでプロセス１７００は（１７１５で）、動画像が時間的に圧縮されているかどうかを判定する。これは、動画像フォーマットの識別に基づいて行なわれる。動画像が時間的に圧縮されていない場合、プロセスは（１７２０で）、動画像クリップをその当初のフォーマットで保存する。すなわち、動画像が時間的に圧縮されていない場合にはトランスコーディングは必要とされず、動画像クリップは、何ら処理されることなく、瞬時に保存されてよい。
【０１１４】
動画像が時間的に圧縮されている場合、プロセスは（１７２５で）、時間的圧縮を除去するために動画像をトランスコードする。上述のように、一部の実施形態のトランスコーディングプロセスは、動画像を復号し、次いで、空間的圧縮だけを用いて動画像を再符号化する。このトランスコーディング操作は、演算集約的かつ時間集約的である。次いでプロセスは（１７３０で）、トランスコードされた動画像を保存する。動画像を（当初のフォーマットまたはトランスコードされたフォーマットで）保存した後、プロセスは終了する。
【０１１５】
ＩＩＩ．コンピュータシステム
上記の特徴および応用例の多くは、（コンピュータ可読媒体とも呼ばれる）コンピュータ可読記憶媒体上に記録された一組の命令として指定されたソフトウェアプロセスとして実装されている。これらの命令が１つ以上の計算要素（例えばプロセッサ、またはＡＳＩＣやＦＰＧＡのようなその他の計算要素）によって実行される時、それらによって、計算要素は命令の中に示された動作を行う。コンピュータは、その最も広義の意味が意図されており、プロセッサを備えたいかなる電子デバイスをも含みうる。コンピュータ可読媒体の例としては、ＣＤ−ＲＯＭ、フラッシュドライブ、ＲＡＭチップ、ハードドライブ、ＥＰＲＯＭ等を含むが、それらに限定されない。コンピュータ可読媒体は、搬送波や、無線または有線接続を通過する電子信号を含まない。
【０１１６】
本明細書では、「ソフトウェア」という用語は、リードオンリーメモリまたはプロセッサによって処理するためにメモリ内に読み込まれうる磁気記憶装置内に保存されたアプリケーションに常駐するファームウェアを含むことが意図されている。また、一部の実施形態では、複数のソフトウェア発明が、個別のソフトウェア発明のままでありながらより大きいプログラムの下位区分として実装されてもよい。また、一部の実施形態では、複数のソフトウェア発明が、別個のプログラムとして実装されてもよい。最後に、本書で記述したソフトウェア発明を共に実装する別個のプログラムのいかなる組み合わせも、本発明の範囲内にある。一部の実施形態では、ソフトウェアプログラムは、１つ以上のコンピュータシステム上で動作するようにインストールされた時、ソフトウェアプログラムの動作を実行する１つ以上の特定の機械実装を定義する。
【０１１７】
図１８は、本発明の一部の実施形態が実装されるコンピュータシステムを示す図である。そのようなコンピュータシステムは、さまざまなタイプのコンピュータ可読媒体と、それ以外のさまざまなタイプのコンピュータ可読媒体のためのインタフェースとを含んでいる。また、当業者であれば気付くであろうが、一部の実施形態のデジタルビデオカメラも、さまざまなタイプのコンピュータ可読媒体を含んでいる。コンピュータシステム１８００は、バス１８０５と、プロセッサ１８１０と、グラフィックス処理ユニット（ＧＰＵ）１８２０と、システムメモリ１８２５と、リードオンリーメモリ１８３０と、永久記憶装置１８３５と、入力デバイス１８４０と、出力デバイス１８４５とを含んでいる。
【０１１８】
バス１８０５は、コンピュータシステム１８００の多くの内部デバイスを通信で接続するすべてのシステムバスと、周辺バスと、チップセットバスとを集合的に表している。例えば、バス１８０５は、プロセッサ１８１０を、リードオンリーメモリ１８３０と、ＧＰＵ１８２０と、システムメモリ１８２５と、永久記憶装置１８３５と通信で接続する。
【０１１９】
これらのさまざまなメモリユニットから、プロセッサ１８１０は、本発明のプロセスを実行するために、実行すべき命令と処理すべきデータとを読み出す。一部の実施形態では、プロセッサは、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）とＡＳＩＣ、あるいは命令を実行するためのその他の各種の電子コンポーネントとを含んでいる。一部の命令は、ＧＰＵ１８２０に渡されて実行される。ＧＰＵ１８２０は、各種の演算をオフロードするか、または、プロセッサ１８１０によって提供される画像処理を補完してもよい。一部の実施形態では、そのような機能性は、ＣｏｒｅＩｍａｇｅのカーネルシェーディング言語を用いて提供されうる。
【０１２０】
リードオンリーメモリ（ＲＯＭ）１８３０は、プロセッサ１８１０およびコンピュータシステムのその他のモジュールによって必要とされる静的データおよび命令を保存している。他方、永久記憶装置１８３５は、読み取り書き込みメモリデバイスである。このデバイスは、コンピュータシステム１８００の電源がオフの時であっても命令およびデータを保存している不揮発性メモリユニットである。本発明の一部の実施形態では、永久記憶装置１８３５として、大容量記憶装置（例えば磁気ディスクもしくは光学ディスクおよびそれに対応するディスクドライブ）を使用する。
【０１２１】
他の実施形態では、取り外し可能な記憶装置（例えばフロッピー（登録商標）ディスク、フラッシュドライブ、もしくはＺＩＰ（登録商標）ドライブ、およびその対応するディスクドライブ）を、永久記憶装置として用いる。永久記憶装置１８３５と同様、システムメモリ１８２５は読み取り書き込みメモリデバイスである。しかし、記憶装置１８３５とは異なり、システムメモリは、例えばランダムアクセスメモリのような揮発性の読み取り書き込みメモリである。システムメモリは、プロセッサが実行時に必要とする命令およびデータの一部を保存する。一部の実施形態では、本発明のプロセスが、システムメモリ１８２５と、永久記憶装置１８３５と、および／または、リードオンリーメモリ１８３０との中に保存される。例えば、各種のメモリユニットが、一部の実施形態によるマルチメディアアイテムを処理するための命令を含んでいる。これらの各種のメモリユニットから、プロセッサ１８１０は、一部の実施形態のプロセスを実行するために、実行すべき命令と処理すべきデータとを読み出す。
【０１２２】
また、バス１８０５は、入力デバイス１８４０および出力デバイス１８４５にも接続している。入力デバイスによって、ユーザは、情報を通信してコンピュータシステムへのコマンドを選択することが可能になる。入力デバイス１８４０には、英数字キーボードと（「カーソル制御デバイス」とも呼ばれる）ポインティングデバイスとが含まれる。出力デバイス１８４５は、コンピュータシステムによって生成された画像を表示する。出力デバイスには、プリンタと、例えばブラウン管（ＣＲＴ）または液晶（ＬＣＤ）ディスプレイのような表示デバイスとが含まれる。
【０１２３】
最後に、図１８に示すように、バス１８０５は、ネットワークアダプタ（図示せず）を介してコンピュータ１８００をネットワーク１８６５に接続する。このように、コンピュータは、コンピュータのネットワーク（例えばローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、またはイントラネット、または、例えばインターネットのような複数のネットワークのうちの１つのネットワーク）の一部でありうる。コンピュータシステム１８００のいずれかの、またはすべてのコンポーネントが、本発明に関連して用いられうる。
【０１２４】
一部の実施形態は、例えばマイクロプロセッサと、機械可読媒体(medium)またはコンピュータ可読媒体(medium)（または、コンピュータ可読記憶媒(media)体、機械可読媒体(media)、または機械可読記憶媒体(media)とも呼ばれる）の中にコンピュータプログラム命令を保存する記憶装置およびメモリとのような、電子コンポーネントを含んでいる。そのようなコンピュータ可読媒体の一部の例には、ＲＡＭ、ＲＯＭ，ＣＤ−ＲＯＭ（リードオンリーコンパクトディスク）、ＣＤ−Ｒ（書き込み可能コンパクトディスク）、ＣＤ−ＲＷ（書き換え可能コンパクトディスク）、リードオンリーデジタル多用途ディスク（例えばＤＶＤ−ＲＯＭ、デュアルレイヤＤＶＤ−ＲＯＭ）、各種の書き込み可能／書き換え可能ＤＶＤ（例えばＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等）、フラッシュメモリ（例えばＳＤカード、ミニＳＤカード、マイクロＳＤカード等）、磁気および／または半導体ハードドライブ、リードオンリーおよび録画可能Ｂｌｕ−Ｒａｙ（登録商標）ディスク、ウルトラデンシティオプティカルディスク、その他の光学媒体または磁気媒体、およびフロッピーディスクなどが含まれる。コンピュータ可読媒体は、少なくとも１つのプロセッサによって実行可能であり、かつ、各種の操作を行うための命令の集合を含むコンピュータプログラムを保存していてもよい。命令の集合を保存して実行するように構成されたハードウェアデバイスの例には、ＡＳＩＣ（特定用途向け集積回路）と、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）と、ＰＬＤ（プログラム可能論理回路）と、ＲＯＭデバイスと、ＲＡＭデバイスとが含まれるが、それらに限定されない。コンピュータプログラムまたはコンピュータコードの例には、コンパイラによって生成されるようなマシンコードと、インタープリタを用いてコンピュータ、電子コンポーネント、またはマイクロプロセッサによって実行される高級コードを含むファイルとが含まれる。
【０１２５】
本明細書および本願のいずれかの請求項で用いられる場合、「コンピュータ」、「サーバ」、「プロセッサ」、「メモリ」という用語はすべて、電子デバイスまたはその他の技術的デバイスを指す。これらの用語は、人々または人々のグループのことは含まない。本明細書では、表示または表示するという用語は、電子デバイス上に表示することを意味する。本明細書および本願のいずれかの請求項で用いられる場合、「コンピュータ可読媒体(medium)」および「コンピュータ可読媒体(media)」という用語は、コンピュータ可読形式で情報を保存する有形の物理的物体に完全に限定される。これらの用語は、無線信号、有線のダウンロード信号、およびその他のいずれかの一過性の信号を含まない。
【０１２６】
本発明について、多くの特定の詳細に言及しながら記述してきたが、当業者であれば、本発明は、本発明の精神から逸脱することなく、他の特定の形で実施されうることを認識するであろう。加えて、（図８および図１１を含む）多数の図面は、プロセスを概念的に示すものである。これらのプロセスの特定の操作は、図示され記述された厳密な順序で行われなくてもよい。特定の操作は、１つの連続した一連の操作として行われなくてもよく、多様な実施形態で多様な特定の操作が行われてもよい。さらに、プロセスは、複数の部分プロセスを用いて、あるいは、より大きなマクロプロセスの一部として実装することもできるだろう。
【図１】
0005555775.tif 000002
【図２】
0005555775.tif 000003
【図３】
0005555775.tif 000004
【図４】
0005555775.tif 000005
【図５】
0005555775.tif 000006
【図６】
0005555775.tif 000007
【図７】
0005555775.tif 000008
【図８】
0005555775.tif 000009
【図９Ａ】
0005555775.tif 000010
【図９Ｂ】
0005555775.tif 000011
【図１０】
0005555775.tif 000012
【図１１】
0005555775.tif 000013
【図１２Ａ】
0005555775.tif 000014
【図１２Ｂ】
0005555775.tif 000015
【図１３】
0005555775.tif 000016
【図１４】
0005555775.tif 000017
【図１５】
0005555775.tif 000018
【図１６】
0005555775.tif 000019
【図１７】
0005555775.tif 000020
【図１８】
0005555775.tif 000021