(57)【特許請求の範囲】
【請求項１】
ビデオトラック内に格納された編集されたビデオデータを圧縮するプログラム命令を含むコンピュータ読み取り可能な媒体であって、
前記プログラム命令は、
前記ビデオトラックに関連付けられた編集トラックにアクセスするコンピュータ読み取り可能なコードであって、前記編集トラックが、編集中にビデオ編集ソフトウェアを用いてユーザによりビデオデータになされた変更を特定する編集データを含む、コンピュータ読み取り可能なコードと、
前記編集データを用いて前記編集されたビデオデータを圧縮するコンピュータ読み取り可能なコードと、
を備え、
前記編集データは、ビデオ編集がなされた領域と、前記領域内でなされた編集のタイプと、を特定する少なくとも１つのオブジェクトを含む
コンピュータ読み取り可能な媒体。
【請求項２】
請求項１に記載のコンピュータ読み取り可能な媒体であって、前記編集されたビデオデータの圧縮のためのコンピュータ読み取り可能なコードは、前記編集トラック中の前記編集データを用いて、前記編集データによって定義された前記編集されたビデオデータの領域の量子化のビット解像度を決定するコンピュータ読み取り可能なコードを含む、コンピュータ読み取り可能な媒体。
【請求項３】
請求項１または請求項２のいずれかに記載のコンピュータ読み取り可能な媒体であって、前記編集されたビデオデータを圧縮するコンピュータ読み取り可能なコードは、前記編集トラック内における前記編集データ中の動き情報を用いて、動きベクトルを生成するコンピュータ読み取り可能なコードをさらに含む、コンピュータ読み取り可能な媒体。
【請求項４】
請求項１ないし請求項３のいずれかに記載のコンピュータ読み取り可能な媒体であって、前記編集されたビデオデータを圧縮するコンピュータ読み取り可能なコードは、前記編集トラック中の前記編集データを用いて、差分ベクトルを生成するコンピュータ読み取り可能なコードをさらに含む、コンピュータ読み取り可能な媒体。
【請求項５】
請求項１ないし請求項４のいずれかに記載のコンピュータ読み取り可能な媒体であって、前記編集されたビデオデータを圧縮するコンピュータ読み取り可能なコードは、前記編集トラック中の前記編集データを用いて、圧縮に用いられるＩフレームの数を決定するコンピュータ読み取り可能なコードをさらに含む、コンピュータ読み取り可能な媒体。
【請求項６】
請求項１ないし請求項５のいずれかに記載の、ビデオデータを編集するコンピュータ読み取り可能なコードをさらに含むコンピュータ読み取り可能な媒体であって、前記ビデオデータを編集するコンピュータ読み取り可能なコードは、
少なくとも１つのビデオトラック内に格納されたビデオデータを受け取るコンピュータ読み取り可能なコードと、
前記ビデオデータの編集を前記ユーザに許可するコンピュータ読み取り可能なコードと、
前記ユーザの編集に従って、前記編集されたビデオデータを生成するコンピュータ読み取り可能なコードと、
各々の編集に対して、前記編集データを生成するコンピュータ読み取り可能なコードであって、前記編集データが前記編集の領域及び前記編集のタイプを特定する、コンピュータ読み取り可能なコードと、
ビデオトラック内に前記編集されたビデオデータを、編集トラック内に前記編集データを、それぞれ格納するコンピュータ読み取り可能なコードと、
を備える、コンピュータ読み取り可能な媒体。
【請求項７】
請求項１ないし請求項６のいずれかに記載のコンピュータ読み取り可能な媒体であって、前記編集されたビデオデータを圧縮するコンピュータ読み取り可能なコードは、前記編集トラック内における前記編集データ中のテキスト情報を用いて、ピクセルブロックの量子化のビット解像度を上げる、コンピュータ読み取り可能な媒体。
【請求項８】
請求項１ないし請求項７のいずれかに記載のコンピュータ読み取り可能な媒体であって、前記編集されたビデオデータを圧縮するコンピュータ読み取り可能なコードは、前記編集トラック内における前記編集データ中のブレンド情報を用いて、ピクセルブロックの量子化のビット解像度を下げる、コンピュータ読み取り可能な媒体。
【請求項９】
ビデオトラック内に格納された編集されたビデオデータを圧縮する方法であって、
前記方法は、
前記ビデオトラックに関連付けられた編集トラックにアクセスする工程であって、前記編集トラックが、編集中にビデオ編集ソフトウェアを用いてユーザによりビデオデータになされた変更を特定する編集データを含む、工程と、
前記編集トラック中の前記編集データを用いて前記編集されたビデオデータを圧縮する工程と、
を備え、
前記編集データは、ビデオ編集がなされた領域と、前記領域内でなされた編集のタイプと、を特定する少なくとも１つのオブジェクトを含む
方法。
【請求項１０】
請求項９に記載の方法であって、前記編集されたビデオデータの前記圧縮工程は、前記編集トラック中の前記編集データを用いて、前記編集データによって定義された、前記編集されたビデオデータの領域の量子化のビット解像度を決定する工程を備える、方法。
【請求項１１】
請求項９または請求項１０のいずれかに記載の方法であって、前記編集されたビデオデータの前記圧縮工程は、前記編集トラック内における前記編集データ中の動き情報を用いて、動きベクトルを生成する工程をさらに備える、方法。
【請求項１２】
請求項９ないし請求項１１のいずれかに記載の方法であって、前記編集されたビデオデータの前記圧縮工程は、前記編集トラック中の前記編集データを用いて、差分ベクトルを生成する工程をさらに備える、方法。
【請求項１３】
請求項９ないし請求項１２のいずれかに記載の方法であって、前記編集されたビデオデータの前記圧縮工程は、前記編集トラック中の前記編集データを用いて、圧縮に用いられるＩフレームの数を決定する工程をさらに備える、方法。
【請求項１４】
請求項９ないし請求項１３のいずれかに記載の、ビデオデータを編集する工程をさらに含む方法であって、前記ビデオデータを編集する工程は、
少なくとも１つのビデオトラック内に格納されたビデオデータを受け取る工程と、
前記ビデオデータの編集を前記ユーザに許可する工程と、
前記ユーザの編集に従って、前記編集されたビデオデータを生成する工程と、
各々の編集に対して、前記編集データを生成する工程であって、前記編集データが前記編集の領域及び前記編集のタイプを特定する、工程と、
ビデオトラック内に前記編集されたビデオデータを、前記編集トラック内に前記編集データを、それぞれ格納する工程と、
を備える、方法。
【請求項１５】
ビデオトラック内に格納された編集されたビデオデータを圧縮するシステムであって、
前記ビデオトラックに関連付けられた編集トラックは、編集中にビデオ編集ソフトウェアを用いてユーザによりビデオデータになされた変更を特定する編集データを含み、
前記システムは、
前記編集トラック内の前記編集データにアクセスし、前記編集トラック内の前記編集データに基づいて命令を生成するデータ編集トラックリーダと、
前記編集トラックリーダから前記命令を受け取り、前記ビデオトラックから前記編集されたビデオデータを受け取り、前記編集トラックリーダからの前記命令に基づいて前記編集されたビデオデータを圧縮するビデオ圧縮器と、
を備え、
前記編集データは、ビデオ編集がなされた領域と、前記領域内でなされた編集のタイプと、を特定する少なくとも１つのオブジェクトを含む
システム。
【請求項１６】
請求項１５に記載のシステムであって、前記ビデオ圧縮器は、前記ビデオデータをＭＰＥＧフォーマットに圧縮するＭＰＥＧビデオ圧縮器である、システム。
【請求項１７】
請求項１５に記載のシステムであって、前記ビデオ圧縮器は、前記ビデオデータをＭＰＥＧー２フォーマットに圧縮するＭＰＥＧー２ビデオ圧縮器である、システム。
【請求項１８】
請求項１５ないし請求項１７のいずれかに記載のシステムであって、前記ビデオ圧縮器は、ビデオ圧縮を一回のエンコーディングで行える、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータシステムはビデオデータを編集するのに用いられる。コンピュータシステムはまたビデオデータを圧縮するのにも用いられる。ムービング・ピクチャー・エキスパート・グループ（ＭＰＥＧ）はビデオ圧縮標準規格ＭＰＥＧ−１、ＭＰＥＧ−２、およびＭＰＧＥ−４を提供してきている。ＭＰＥＧ−１は、記憶媒体への動画および音声の記憶および読み出しのための標準規格である。ＭＰＥＧ−２は、ディジタルテレビおよびＤＶＤのような製品のためのビデオ圧縮の標準規格である。ＭＰＥＧ−４は、ウェブのマルチメディアのための標準規格である。このような圧縮プロセスは、所望のビデオ圧縮を達成するために、一般にビデオの質をいくらか損なわせる。
【０００２】
ビデオデータをＭＰＥＧ−２で圧縮するのに用いられるプロセスは、ある種のビデオ効果がないビデオデータよりも、ある特殊効果で編集されたビデオデータのビデオ圧縮が圧縮のためにより長い時間がかかるようにし、その結果、質の悪い圧縮ビデオになってしまう。一般にＭＰＥＧ−２でビデオデータを圧縮するのに用いられるプロセスは、ビデオデータを圧縮するのに圧縮アルゴリズムを用いることを必要とする。圧縮されたビデオデータはそれから伸長され、オリジナルのビデオデータと比較される。もし結果として生じるビデオデータおよびオリジナルビデオデータの間の誤差が大きすぎると、アルゴリズムは修正されるか、またはビデオデータを圧縮するのに別のアルゴリズムが用いられる。アルゴリズムが満足な誤差を与えることがわかるまで、誤差はそれから再びチェックされる。許容可能な誤差を得るためにそのような異なるアルゴリズムを試みる反復プロセスは、大きな処理時間量をとり、ビデオの画質を低下させる。カリフォルニア州クパチーノのアップルコンピュータ社（登録商標）による８ギガフロップスの７３３ＭＨｚのＰｏｗｅｒ  ＭＡＣ  Ｇ４（登録商標）は、そのようなプロセスは、実時間の２倍の時間がビデオ圧縮のために必要となるかもしれない。すなわち３０分の動画を圧縮するのに６０分かかるかもしれない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ビデオ圧縮をより速く提供できる、またはより高い画質および改善されたビデオ圧縮を作り出せるコンピュータシステムを提供するのが望ましい。
【課題を解決するための手段】
【０００４】
前述の目的および他の目的を達成するために、本発明によれば、編集トラックでビデオデータを圧縮する方法が提供される。広く言えば、ビデオデータが圧縮される。圧縮は、編集トラックにアクセスすることで圧縮中に編集トラック中のデータを用いることを含む。
【０００５】
代替の実施形態においては、編集トラックでビデオデータを圧縮するコンピュータ読み取り可能な媒体が提供される。広く言えば、ビデオデータを圧縮するためのコンピュータ読み取り可能なコードが提供される。コンピュータ読み取り可能なコードは、編集トラックにアクセスすることで、圧縮中に編集トラック中のデータを用いるコンピュータ読み取り可能なコードを含む。
【０００６】
代替の実施形態においては、ビデオデータを圧縮するシステムも提供される。編集トラックリーダは、編集トラック内のデータにアクセスし、編集トラック内のデータに基づいて命令を生成する。ビデオ圧縮器は、編集トラックからの命令を受け取り、編集されたビデオのトラックおよびオーディオトラックを受け取り、編集されたビデオを編集トラックリーダからの命令に基づいて圧縮する。
【０００７】
本発明のこれらの特徴は、本発明の詳細な説明において、図面を参照してより詳細に以下に説明される。
【発明を実施するための最良の形態】
【０００８】
本発明は添付の図面に示されるそのいくつかの実施形態について詳細に説明される。以下の記載において、本発明の完全な理解のために多くの具体的な詳細が述べられる。しかし本発明がこれら具体的な詳細のいくつかまたは全てなしに実施されえることは明らかだろう。あるいはよく知られたプロセスステップおよび／または構成物は、本発明を不必要にぼかさないために記載されていない。
【０００９】
説明を進めるために、図１Ａおよび１Ｂはカムコーダに接続されたコンピュータ９００を示し、このシステムは本発明の実施形態を実現するのに適している。図１Ａは、カムコーダ９０１に接続されたコンピュータシステム９００の一つの可能な物理的形態を示す。もちろんコンピュータシステムは、集積回路、プリント基板、および小型の携帯機器から大きなスーパーコンピュータまで、実施形態の処理の要件に応じて多くの物理的形態をとりえる。コンピュータシステム９００は、モニタ９０２、ディスプレイ９０４、筐体９０６、ディスクドライブ９０８、キーボード９１０およびマウス９１２を含む。ディスク９１４は、コンピュータシステム８００から、かつコンピュータシステム９００へデータを転送するために用いられるコンピュータで読み取り可能な媒体である。
【００１０】
図１Ｂは、コンピュータシステム９００のブロックダイアグラムの例である。システムバス９２０には様々なサブシステムが設けられている。（単一または複数の）プロセッサ９２２（中央処理装置、ＣＰＵとも呼ばれる）は、メモリ９２４を含む記憶装置に結合される。メモリ９２４は、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリーメモリ（ＲＯＭ）を含む。この技術分野ではよく知られているように、ＲＯＭは、典型的にはデータおよび命令を単一方向にＣＰＵへ転送するために用いられ、ＲＡＭは、典型的にはデータおよび命令を双方向に転送するために用いられる。これらのタイプのメモリはいずれも後述する、コンピュータで読み取り可能な媒体のいかなるものを含んでもよい。固定ディスク９２６も双方向でＣＰＵ９２２と結合され、追加のデータ記憶容量を提供し、やはり後述する、コンピュータで読み取り可能な媒体のいかなるものを含んでもよい。固定ディスク９２６は、プログラム、データなどを記憶するのに用いられ、典型的には主記憶より遅い２次記憶媒体（ハードディスクなど）である。固定ディスク９２６に保持された情報は、適切な場合にはメモリ９２４中の仮想記憶に標準的なかたちで展開されうることがわかるだろう。リムーバブルディスク９１４は、後述する、コンピュータで読み取り可能な媒体のいかなるかたちをとってもよい。
【００１１】
ＣＰＵ９２２は、ディスプレイ９０４、キーボード９１０、マウス９１２、およびスピーカ９３０のような様々な入力／出力装置にも結合されている。一般に、入力／出力装置は、以下のいずれであってもよい：ビデオディスプレイ、トラックボール、マウス、キーボード、マイク、タッチパネルディスプレイ、トランスデューサ・カードリーダー、磁気または紙テープリーダー、タブレット、スタイラス、音声または文字認識装置、生体情報リーダー、または他のコンピュータ。ＣＰＵ９２２は、必須ではないが、ネットワークインタフェース９４０を用いて他のコンピュータや電気通信ネットワークに結合されていてもよい。そのようなネットワークインタフェースがあれば、上述の方法による操作を実行するときにＣＰＵは、ネットワークからの情報を受け取ったり、またはネットワークに情報を出力することができる。さらに本発明の方法の実施形態は、ＣＰＵ９２２だけで実行されてもよいし、またはインターネットのようなネットワーク上において、処理の一部をシェアするリモートＣＰＵと共に実行されてもよい。
【００１２】
さらに本発明の実施形態は、本発明によってコンピュータで実現されうる様々な操作を実行するコンピュータコードをその上に持つ機械読み取り可能な媒体を有するコンピュータ記憶製品に関する。媒体およびコンピュータコードは特別に設計され、本発明の目的のために構成されてもよく、またはそれらはよく知られてコンピュータソフトウェア技術の当業者に利用可能なものであってもよい。コンピュータで読み取り可能な媒体の例としては、これらに限られるものではないが以下のものがある：ハードディスク、フレキシブルディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭおよびホログラフィックデバイスのような光媒体、光磁気媒体、半導体メモリデバイス、および読み出し専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）、およびときには特定アプリケーション向け集積回路（ＡＳＩＣ）、プログラム可能なロジックデバイス（ＰＬＤ）のようなプログラムコードを記憶し実行できるように特別に構成されたハードウェアデバイス、およびＲＯＭおよびＲＡＭデバイスがある。コンピュータコードの例としては、コンパイラによって生成されるような機械語、およびインタープリータを用いて実行されるより高レベルなコードを含むファイルがある。
【００１３】
説明を容易にするために、図２は本発明を利用するプロセスの高レベルフローチャートである。まずビデオデータがコンピュータシステム９００に与えられる（ステップ２０６）。ビデオデータは、カムコーダによって記録された、またはテレビ放送からＶＣＲ（ビデオカセットレコーダ、ビデオデッキ）上に記録されたビデオおよびオーディオトラックでありえる。そのようなビデオデータはカムコーダ９０１またはＶＣＲからコンピュータシステム９００へファイアワイア（登録商標）（ＩＥＥＥ１３９４としても知られる）のような接続９５０によって転送されえ、またはメディアコンバータを通して接続されえる。ビデオデータは、コンピュータシステム９００によってアクセス可能な記憶媒体上に保存されえる。そのようなビデオデータは、ビデオトラックおよびオーディオトラックだけを持ちえて、かつディジタルビデオ（ＤＶ）フォーマットのようなフォーマットで記録されえる。
【００１４】
次にビデオデータが編集され、ビデオトラック、オーディオトラック、および編集トラックが作られる（ステップ２０８）。ともにアップルコンピュータ社（登録商標）から入手されるｉＭｏｖｉｅ（登録商標）またはＦｉｎａｌ  Ｃｕｔ  Ｐｒｏ（登録商標）のようなビデオデータ編集ソフトウェアがビデオデータを編集するために用いられえる。そのようなビデオ編集ソフトウェアにより、これらに限定されないが、ビデオにテキストを加えたり、ブレンドを行ったり、色補正を行ったり、ビデオオーバレイを行ったり、エッジエフェクトをかけたり、トランジションを加えたり、クロマキーを加えたり（ブルースクリーンを使用）、静止画ブレンドを行ったり、静止画オーバレイを行ったりのようなビデオエフェクトをかける編集テクニックをユーザは用いることができる。ビデオデータのそれぞれの編集ステップは、編集トラックに記憶されたデータを作り、これが編集ステップを記録する。従来の編集ソフトウェアは、編集トラックが圧縮ソフトウェアにアクセス可能なように編集トラックにデータを記憶するように変更される必要があるかもしれない。編集ソフトウェアはまた、編集されたビデオデータをビデオトラックおよびオーディオトラックに記憶させる。
【００１５】
次に編集されたビデオデータはコンピュータシステムによって圧縮される（ステップ２１２）。圧縮ソフトウェアは、コンピュータシステム９００上に記憶されえて、ビデオトラック、オーディオトラック、および編集トラックにアクセスすることで、ビデオトラック、オーディオトラック、および編集トラックの情報を利用しビデオデータを圧縮する。好ましい実施形態においては、ビデオデータは圧縮されてＭＰＥＧフォーマットになる。より好ましくはビデオデータは圧縮されてＭＰＥＧー２フォーマットになる。
【００１６】
圧縮されたビデオデータはそれから記憶される（ステップ２１６）。好ましい実施形態においては、圧縮されたビデオデータはＤＶＤディスクに記録され、ＤＶＤプレーヤを用いて再生されえる。しかし他の媒体記録方法および表示方法が用いられる。
【００１７】
図３は、ビデオデータの編集ステップ（ステップ２１２）中に起こりえるビデオ編集プロセスの例のより詳細なフロー図である。これらのステップは時系列に沿って記述されるが、これらのステップは異なる順番で起こりえたり、または同時に起こりえる。編集ソフトウェアによって実行されるビデオのそれぞれの編集について、レコードのようなオブジェクトの形をとる編集ビデオデータは、データトラックに置かれる（ステップ３０８）。それぞれのオブジェクトにおいて、操作されるフレーム領域が特定される（ステップ３１２）。この領域は、編集が行われる任意の形状を定義する境界点を特定するアレイである。境界内で起こる編集のタイプも特定される（ステップ３１６）。編集トラックは、オブジェクトが圧縮ソフトウェアにアクセス可能であるようなフォーマットに保存される（ステップ３１８）。
【００１８】
図４は、編集されるビデオデータおよび結果として生じる圧縮ビデオデータの例の概略図である。ビデオデータ４０４のフレームは、ｘ方向およびｙ方向の複数のピクセルを含む。ビデオオーバレイ４０５についてオブジェクトが作成されえる（ステップ３０８）。図４に示される卵形を作る領域は、オブジェクト内でビデオオーバレイとして特定される（ステップ３１２）。ビデオインサートを置き、卵形を移動させるようなエフェクトは、卵形の境界内で起こることが特定される（ステップ３１６）。このオブジェクトはそれから、圧縮ソフトウェアにアクセス可能であるように編集トラックに保存される。オブジェクトはまた、追加のテキスト４０６について作成されてもよい。「ＴＥＸＴ」という語４０６の輪郭を形成する領域がオブジェクト内で特定される（ステップ３１２）。テキストフォントがアンチエイリアシング付きの黒のタイムズの２４ポイントであることを特定するようなエフェクトもまた定義された領域内で特定される（ステップ３１６）。追加されたテキストオブジェクトはまた、編集ソフトウェアの出力生成物を通して、圧縮ソフトウェアにアクセス可能なフォーマットで編集トラック上に保存される。
【００１９】
図５は、ビデオ圧縮ステップ（ステップ２１２）の例のより詳細なフロー図である。まずフレーム内符号化フレーム（Ｉフレーム）４１２が編集されたビデオデータフレーム４０４から生成される（ステップ５０８）。Ｉフレーム４１２はフレーム内符号化フレームと呼ばれるが、これは原フレームが他のフレームなしでＩフレームから再構築されえることによる。ＭＰＥＧー２は、この変換離散コサイン変換（ＤＣＴ）および他の圧縮プロセスを用いて行う。離散コサイン変換については、フレーム４０４中のピクセルは、ブロック４０８に分割される。それぞれのブロック中のピクセルの強度および位置は、Ｉフレーム４１２に変換され、ここでブロック中のピクセルの強度および位置は、離散コサイン変換を用いてブロック４１６中の周波数および時間のアレイに変換される。ＤＣＴはピクセル強度のブロックを周波数変換係数のブロックに変換する。この変換はそれから、画像の全体が変換されるまで、新しいブロックに適用されていく。データを圧縮するプロセスの一部は、ディザリングにより、単一の周波数値４２０がピクセルのグループを表現できるようにすることによって実現される。Ｉフレームの作成中、圧縮ソフトウェアは編集トラックにアクセスし、量子化に用いられるべきビット数を決定する。この数は、圧縮画像のこの部分を表現するのに割り当てられるビットの数である。
【００２０】
次に前方予測フレーム（Ｐフレーム）４３２が、ビデオデータの後続フレーム４４８およびＩフレーム４１２から生成される（ステップ５１２）。一般にＰフレームは以前のＩフレームまたは以前の予測されたフレームから予測される。これらの予測は２つの形をとりえる。すなわち動きベクトルおよび差分ベクトルである。動きベクトル４３６は、ある点がある場所から他の場所へ動いたことを示す。差分ベクトル４４０は、ある点がどのように変化したかを示す。そのような前方予測フレームは、差分ベクトルおよび動きベクトルをＩフレームに適用し、伸長を行い、ビデオデータのフレームを生成するために逆ＤＣＴを施すことによってデコードされる。予測動きベクトルおよび差分ベクトルを生成するアルゴリズムは、予測ミスによるかなりの誤差を生じえる。編集の性質により、最も大きな誤差は、編集領域内の編集されたフィーチャの結果でありえる。したがって本発明の圧縮ソフトウェアは、予測動きベクトルおよび差分ベクトルを形成するときに編集トラック内の編集情報にアクセスする。編集情報を用いることによって、編集された領域は、最も大きい予測誤差が起こりえる位置から、予測誤差が全くないこともありえる領域に変換されるが、これは場合によっては予測が必要なく、よってフレーム間の動きまたは差分が編集オブジェクトによって特定されえるからである。
【００２１】
編集されたビデオデータ、ＩフレームおよびＰフレームから次にＢフレームが作成されえる（ステップ５１６）。最後／次のＩフレームまたはＰフレームから前方予測および後方予測されるＢフレームもＭＰＥＧ−２で規定される。Ｂフレームはフレーム間符号化され、ビデオデータを再構築するのに２つの他のフレームを必要とする。差分ベクトルおよび動きベクトルも用いられてＰフレームおよびＩフレームからＢフレームを予測する。この理由のため、より少ない誤差でより高速にＢフレームを生成するためには編集トラック内の情報もまた有用である。
【００２２】
ＰフレームおよびＢフレームを作成するために動きベクトルおよび差分ベクトルを用いることによって、圧縮を大きくかけてもデータサイズが劇的に小さくなる。そのような動きおよび差分ベクトルを用いてデータ圧縮するときの問題は、予測の誤りが起きえることである。そのような圧縮を処理するＣＰＵ時間が増加すれば、結果として生じるビデオ圧縮の質も向上する。
【００２３】
図６は、フレームをＭＰＥＧ−２のような圧縮されたフォーマットにエンコーディングするための、ステップ５０８、５１２、および５１６に用いられえる、より詳細なフロー図である。編集されたビデオのフレーム内のブロックについて、編集されたビデオデータのフレームのビデオトラックからの情報がアクセスされる（ステップ６０８）。編集トラック（編集フレーム）中のビデオフレームについての対応するレコードがアクセスされる（ステップ６１２）。現在のピクセルブロックにおいて編集オブジェクトが存在するかを確かめるために編集フレームがチェックされる（ステップ６１６）。もし現在のピクセルブロックにおいて編集オブジェクトが存在しなければ、通常のＭＰＥＧ圧縮が現在のピクセルブロックに用いられ（ステップ６２０）、それからプロセスは次のピクセルブロックへと進む（ステップ６４８）か、またはもし他のピクセルブロックが存在しないなら終了する（ステップ６５２）。もしピクセルブロック内に編集オブジェクトが存在するなら、編集オブジェクトのタイプが特定される（ステップ６２４）。編集オブジェクトのタイプは多くのものがありえる。上述のようにありえる編集オブジェクトのいくつかには、これらに限定されないが、レンダリングされたテキストをビデオに加えること、２つの異なるビデオストリームをブレンドすること、色補正を行うこと、ビデオオーバレイを行うこと、エッジエフェクトをかけること、トランジションを加えること、クロマキーを加えること（ブルースクリーン）、静止画ブレンドを行うこと、および静止画オーバレイを行うことが含まれる。編集オブジェクトタイプが特定されると、編集オブジェクトタイプにしたがって編集プロセスステップが実現される。図６に具体的に示される編集オブジェクトタイプに関する編集プロセスステップの例は、テキスト処理ステップ（ステップ６２８）に進むテキスト追加、ブレンド処理ステップ（ステップ６３２）に進むブレンド、および動画ビデオオーバレイステップ（ステップ６４０）に進む動画ビデオオーバレイである。図６に示される例ではテキスト追加、ブレンド、および動画ビデオオーバレイが具体的に示されているが、図中のドットはさらなる編集オブジェクトタイプが任意の数だけ追加されえることを示す。編集処理ステップが終了した後に、他の編集オブジェクトがピクセルブロック内に存在しないかを確かめるために、ピクセルブロックはサーチされる（ステップ６１６）。もしピクセルブロック中に他の編集オブジェクトが存在するなら、上述のように処理される。もしピクセルブロック中に他の編集オブジェクトが存在しないなら、ピクセルブロックに通常のＭＰＥＧ圧縮を行い（ステップ６４４）、それから処理は次のピクセルブロックへ進む（ステップ６４８）またはもし他のピクセルブロックが存在しないなら終了する（ステップ６５２）。
【００２４】
図７は、テキスト処理ステップ（ステップ６２８）のより詳細なフロー図である。編集オブジェクト周辺の境界領域の決定がなされる（ステップ７０４）。それからピクセルブロックが編集オブジェクト周辺の境界領域内であるかどうかの決定がなされる（ステップ７０８）。このステップは、ピクセルブロックが境界領域の境界の一部しか含まないかどうか、または境界領域内の編集オブジェクトの一部がピクセルブロック内にあるかどうかを決定する。もし境界領域内の編集オブジェクトの一部がピクセルブロック内にあるなら、そのピクセルブロックについての量子化のビット解像度を増す（ステップ７１２）。圧縮画像内のピクセルブロックを表現するのに用いるビットの数を増やすことによって、量子化のビット解像度が上げられる。現在のピクセルブロックについての量子化のビット解像度を上げることによって、テキストがビデオからはっきりと見えるようになりテキストについての解像度が改善される。一方で、現在のピクセルブロックについて量子化ビット解像度が上げられるべきかどうかを決定するために何回かのエンコードおよびデコードサイクルを行うことが必要な現在の試行錯誤法をいくらか避けることができる。この試行錯誤法ではテキストが認識できずに量子化の解像度を上げるのに失敗するかもしれない。大きなテキストについてビット解像度量子化は、テキストのエッジ周辺については上げられえて、テキストの中身では下げられえる。
【００２５】
図８は、ブレンド処理ステップ（ステップ６３２）のより詳細なフロー図である。編集オブジェクト周辺の境界領域の決定がなされる（ステップ８０４）。それからピクセルブロックが編集オブジェクト周辺の境界領域内であるかどうかの決定がなされる（ステップ８０８）。このステップは、ピクセルブロックが境界領域の境界の一部しか含まないかどうか、または境界領域内の編集オブジェクトの一部がピクセルブロック内にあるかどうかを決定する。もし境界領域内の編集オブジェクトの一部がピクセルブロック内にあるなら、そのピクセルブロックについての量子化のビット解像度を下げる（ステップ８１２）。圧縮画像内のピクセルブロックを表現するのに用いるビットの数を減らすことによって、量子化のビット解像度が下げられる。現在のピクセルブロックについての量子化のビット解像度を下げることによって、解像度が下げられ、ブレンドが可能になる。一方で、現在のピクセルブロックについて量子化ビット解像度が下げられるべきかどうかを決定するために何回かのエンコードおよびデコードサイクルを行うことが必要な現在の試行錯誤法をいくらか避けることができる。この試行錯誤法ではテキストが認識できずに量子化の解像度を下げるのに失敗するかもしれない。
【００２６】
図９は、動画オーバレイ処理ステップ（ステップ６４０）のより詳細なフロー図である。編集オブジェクト周辺の境界領域の決定がなされる（ステップ９６４）。それからピクセルブロックが編集オブジェクト周辺の境界領域内であるかどうかの決定がなされる（ステップ９６８）。このステップは、ピクセルブロックが境界領域の境界の一部しか含まないかどうか、または境界領域内の編集オブジェクトの一部がピクセルブロック内にあるかどうかを決定する。もし境界領域内の編集オブジェクトの一部がピクセルブロック内にあるなら、動きベクトルが編集オブジェクト内の動き情報から導かれる（ステップ９７２）。図４のビデオオーバレイ４０５は、動画ビデオオーバレイの一例である。ビデオフレーム４０４および後続のビデオフレーム４４８の間で、ビデオオーバレイ４０５は、図示のように右に移動する。Ｉフレーム４１２はビデオオーバレイ４０５を提供する。Ｐフレーム４３２を生成するために、編集トラックがアクセスされ、動画ビデオオーバレイ４０５がビデオフレーム４０４、４４８に追加されたことがわかる。これから、動きベクトル４５２がＰフレームに追加される（ステップ９１２）。変化しつつあるビデオ画像がビデオオーバレイ４０５にインサートされえる。ビデオオーバレイについて編集オブジェクトは、変化しつつあるビデオ画像がビデオオーバレイにインサートされることを示し、それにより圧縮がビデオオーバレイ４０５内の領域について行われる。編集オブジェクトにアクセスすることによって、圧縮プログラムは、ビデオオーバレイの正確なサイズの正確な動きベクトルを自動生成し、ビデオオーバレイ内の領域におそらくは別々にビデオ圧縮がされなければならないことも知る。これにより、動きおよびビデオオーバレイのエリアを決定し、別々のビデオ画像がビデオオーバレイ内で発生しつつあることを決定する、試行錯誤のプロセスよりも、より正確でより高速な圧縮が可能になる。ビデオオーバレイはサイズおよび形状が変化されえて、これは編集トラックに記録されえる。
【００２７】
他の編集タイプでは、他の補正が提供されえる。ビデオ画像の一部が色補正される色補正については、色補正は色の詳細の一部を除去しえる。後続の圧縮は、結果として生じる画像がフラットに見えるように、色補正された画像のダイナミックレンジを変更しえる。圧縮前の色補正が満足に見えても、圧縮は色補正された画像を不満足なものに変えるかもしれない。本発明は、色補正が起こったエリアの量子化解像度を増すことによって、より正確な周波数定数を画像のより狭いエリアに提供しえる。
【００２８】
エッジエフェクトをかけることについて、エッジはオーバレイまたは他のオブジェクトの周辺に提供されえる。一例として、テキスト上にエッジエフェクトを用いてエンボスされたテキストを作成することができる。エッジエフェクトについて本発明は、エッジエフェクト領域のエッジ周辺だけ解像度を上げえる。
【００２９】
あるビデオクリップが他のものに置き換えられるのに用いられる多くのさまざまなトランジションがある。本発明によって提供される処理タイプは、トランジションの種類に依存する。ページターン型のトランジションについて、本発明はより多くのＩフレームを必要とするかもしれない。そのようなページターン型のトランジションにおいては、ページターントランジションのページピール中に、あるビデオからのピクセルが、他のビデオからの画像によって置き換えられながら消えていく。ピクセルは他の画像によって置き換えられていくので、動きおよび差分予測ベクトルはそのようなトランジションを記述できないかもしれない。圧縮アルゴリズムそのものはこれを知らないので、試行錯誤を通して異なる動きおよび差分アルゴリズムを試してＰフレームを試して予測するだろう。本発明は編集トラックを用いて、予測を試みる代わりに、より多くのＩフレームを編集されたビデオデータから生成するように圧縮エンジンに命令する。
【００３０】
クロマキーは、第１ビデオ画像のある色が第２ビデオ画像と置き換えられるようにする処理である。しばしばブルースクリーンが背景として用いられて、そのブルースクリーンの青色が第２ビデオ画像で塗られるので、ブルースクリーンとも呼ばれる。天気予報では、予報官がブルースクリーンの前に立つのはよくあることである。第１ビデオ中の予報官の後ろのブルースクリーンの青色を埋めるために、さまざまな地図からなる第２ビデオが用いられる。ブルースクリーンからの光が一部、予報官に映ると、予報官の周辺にエッジエフェクトを作ってしまい、予報官の周囲にブレンドされた領域を生む。圧縮プログラムはこのブレンドされた領域をエッジとみなし、このブレンドされた領域の周辺に高くされた解像度を用いようとするかもしれない。このような場合、そのブレンドされた領域が目立たないように、むしろ解像度が下げられるのが望ましいかもしれない。本発明は、画像間のよりよいブレンドを実現するために、エッジ周辺のピクセルブロックを表現するのに用いられるビット数を減らすことで、圧縮中に２つのクロマキー画像間のエッジがより低い解像度になるような命令を提供する。そのようなブレンドを達成するために、編集ソフトウェアは、編集トラック中に画像間の境界を記録する。図１０は、本発明の実施形態のクロマキー処理の概略図である。ビデオトラック１  １００４、ビデオトラック２  １００８、およびオーディオトラック１０１２がクロマキー処理１０１６に与えられる。オーディオトラック１０１２は、ビデオトラック１  １００４、ビデオトラック２  １００８、他のソースまたはそれらの組み合わせのオーディオトラックでありえる。クロマキー処理は、ビデオトラック１  １００４をビデオトラック２  １００８と統合して、ビデオトラック３  １０２０を生成する。入力オーディオトラック１０１２は、オーディオトラック１０２４を作る際に変更されないかもしれない。編集オブジェクトは編集トラック１０２８に置かれる。編集オブジェクトは、ビデオトラック１  １００４およびビデオトラック２  １００８の間の境界、および編集オブジェクトをクロマキー処理と特定するための識別子を定義してもよい。上述の例ではキーカラーとしてブルーが用いられるが、クロマキーはキーカラーとして任意の色を使用できる。
【００３１】
静止画像ブレンドは、ビデオ画像の一部にブレンドされるカラー画像のような静止画像を用い、静止画像およびビデオ画像の一部が同一時刻に同一場所に見えるようにする。静止画像は止まっているので動かない。したがって本発明はビデオ圧縮器に、静止画像には予測すべき動きがないことを告げる。これによりビデオ圧縮器は、試行錯誤のエンコーディングおよびデコーディングなしに画像が静止画像であることを決定できる。
【００３２】
静止画像オーバレイは、ビデオ画像の一部の上に画像を置くことで、静止画像が置かれたビデオ画像の一部分が見えないようにすることである。静止画像はパンされたりズームされたりしてもよいが、他の点では静止画である。静止画像全体は、単一の動きベクトルによって表現されえる。静止画像全体が単一の動きベクトルによって表現されえることを知って、ベクトル圧縮器はより高速でより正確でコンパクトな圧縮を行うことができる。ベクトル圧縮器はまた、より多くのビットを量子化に使うように命令されるが、これはより高い解像度の静止画像を得ることが望ましく、動きベクトルにはより少ないビットしか使わなくてよいからである。
【００３３】
本発明は、処理のためにＣＰＵだけを用いるソフトウェアを通して実現されえるが、あるいは専用のチップまたはそれら組み合わせを用いてもよい。図１１は、本発明の実施形態で用いられる圧縮システム１１００の概略図である。編集トラックリーダ１１０４は、編集情報を編集トラック１１１２から受け取り、ビデオ圧縮器１１０８へ命令を与えるためにその情報を処理する。ビデオ圧縮器は、編集されたビデオトラック１１１６および編集されたオーディオトラック１１２０からデータを受け取り、編集トラックリーダ１１０４からの命令に基づいて編集されたビデオトラック１１１６および編集されたオーディオトラック１１２０からのデータを圧縮する。
【００３４】
本発明の好ましい実施形態においては、ＭＰＥＧ−２圧縮を行うのに試行錯誤が必要ない。ＭＰＥＧ−２エンコーディングをしてから、用いた圧縮アルゴリズムが充分に正確な圧縮を行うか決定するためにデコーディングを行う従来のやり方に代わって、本発明の好ましい実施形態は、編集トラックを用いることによって、圧縮アルゴリズムが充分に正確であるか決めるためにあとでデコーディングが不必要なくらい信頼できる命令をＭＰＥＧ−２圧縮のために提供する。したがって好ましい実施形態は、複数回の試行錯誤のエンコーディングおよびデコーディングなしに、一回のエンコーディングでＭＰＥＧ−２圧縮を提供することができる。
【００３５】
本発明はいくつかの好ましい実施形態について説明されてきたが、改変、変更、組み合わせ、および代替の等価物があり、これらも本発明の範囲に入る。本発明の方法および装置を実現する多くの代替方法が存在する。したがって添付の特許請求の範囲はそのような全ての改変、組み合わせ、および代替等価物を含み、それらが本発明の真の精神および範囲に入ると解釈されるべきであると意図される。
【図面の簡単な説明】
【００３６】
【図１Ａ】本発明の実施形態を実現するのに適した、カムコーダに接続されたコンピュータシステムを示す図である。
【図１Ｂ】本発明の実施形態を実現するのに適した、カムコーダに接続されたコンピュータシステムを示す図である。
【図２】本発明を用いるプロセスの高レベルフロー図である。
【図３】編集ビデオデータシステム中に起こりえるビデオ編集プロセスの一例の詳細なフロー図である。
【図４】編集されたビデオデータおよび結果として生じる圧縮されたビデオデータの一例の概略図である。
【図５】ビデオ圧縮ステップの一例の詳細なフロー図である。
【図６】フレームをＭＰＥＧ−２のような圧縮フォーマットにエンコードする詳細なフロー図である。
【図７】テキスト処理ステップのより詳細なフロー図である。
【図８】ブレンド処理ステップのより詳細なフロー図である。
【図９】動画ビデオオーバレイ処理ステップのより詳細なフロー図である。
【図１０】本発明のクロマキー処理の実施形態の概略図である。
【図１１】本発明の実施形態において用いられる圧縮システムの概略図である。
【図１Ａ】
0004703097.tif 000002
【図１Ｂ】
0004703097.tif 000003
【図２】
0004703097.tif 000004
【図３】
0004703097.tif 000005
【図４】
0004703097.tif 000006
【図５】
0004703097.tif 000007
【図６】
0004703097.tif 000008
【図７】
0004703097.tif 000009
【図８】
0004703097.tif 000010
【図９】
0004703097.tif 000011
【図１０】
0004703097.tif 000012
【図１１】
0004703097.tif 000013