(57)【要約】【課題】複数のエンコーダを用いてベースバンド信号をエンコードして結合する。【解決手段】１セクションの長さがエンコード処理により生成されるGOPの長さの整数倍となるようにベースバンド信号が分割され、並列で同時にエンコードされる複数のセクションによりセクショングループが構成される。＃０エンコーダ乃至＃３エンコーダへ入力されるベースバンド信号は、それぞれのセクションに対応する範囲となる。そして、＃０エンコーダ乃至＃３エンコーダは、制御部の制御に基づいて、先頭ＧＯＰをClosedGOPとしてエンコードするなどの所定の制約の基に、並列にエンコードを実行し、エンコード後の符号化ストリームをＰＣＩブリッジ１７に出力する。そしてメモリにおいて、それぞれのセクションがセクション番号順に結合されるように、それぞれの記憶アドレスが制御されて記憶される。本発明は、編集装置に適用できる。【選択図】図７
2008066851.tif 000002
【特許請求の範囲】
【請求項１】
ベースバンド信号をエンコードする処理を実行する情報処理装置において、
前記ベースバンド信号を取得して、所定のエンコード単位に分割するデータ分割手段と、
前記データ分割手段により分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するものを並行してエンコードして、符号化ストリームを生成するエンコード手段と、
所定の制約をかけながら並行してエンコードするように、前記エンコード手段によるエンコード処理を制御する制御手段と、
前記エンコード手段により生成された符号化ストリームを結合する結合手段と
を備える情報処理装置。
【請求項２】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位の切れ目が、前記エンコード手段によりエンコードされて生成された符号化ストリームのＧＯＰの切れ目となるようにエンコード処理を実行することである
請求項１に記載の情報処理装置。
【請求項３】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のうちの先頭ＧＯＰをClosed GOPとしてエンコード処理を実行することである
請求項２に記載の情報処理装置。
【請求項４】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のエンコードの開始点に、Sequence HeaderまたはQuant Matrix Extensionを付加することである
請求項１に記載の情報処理装置。
【請求項５】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のエンコード終了点のVBV Buffer Occupancyが、次の前記所定のエンコード単位のエンコードの開始点のVBV Buffer Occupancyと等しくなるように、発生符号量の制御を行うことである
請求項１に記載の情報処理装置。
【請求項６】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位の切れ目が、前記エンコード手段によりエンコードされて生成された符号化ストリームのＧＯＰの切れ目から、IピクチャまたはPピクチャの間隔Mだけ時間的に後ろにずれた位置となるように、エンコード処理を実行することである
請求項１に記載の情報処理装置。
【請求項７】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のうち、その前に他の前記所定のエンコード単位に対応するベースバンド信号が存在するものについては、一つ前の前記所定のエンコード単位の最後の１ピクチャを加えたベースバンド信号を取得し、一つ前の前記所定のエンコード単位の最後の１ピクチャのエンコード結果は出力せずに、参照画として用いて、エンコード処理を実行することである
請求項６に記載の情報処理装置。
【請求項８】
前記所定の制約は、参照画として用いられる一つ前の前記所定のエンコード単位の最後の１ピクチャのエンコード条件と、並行して実行される、一つ前の前記所定のエンコード単位のエンコード処理における対応するピクチャのエンコード条件とを一致させることである
請求項７に記載の情報処理装置。
【請求項９】
前記エンコード条件は、ピクチャの割り当てビット、および、最初のマクロブロックのQスケールを含む
請求項８に記載の情報処理装置。
【請求項１０】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のうち、その前に他の前記所定のエンコード単位に対応するベースバンド信号が存在するものについては、一つ前の前記所定のエンコード単位の最後のＭ＋１ピクチャを加えたベースバンド信号を取得し、一つ前の前記所定のエンコード単位の最後の１ピクチャのエンコード結果は出力せずに、参照画として用いて、エンコード処理を実行することである
請求項６に記載の情報処理装置。
【請求項１１】
前記所定の制約は、取得された一つ前の前記所定のエンコード単位の最後のＭ＋１ピクチャのうち、１枚目となる第１のピクチャのエンコード結果を参照画として用いて２枚目となる第２のピクチャおよび３枚目となる第３のピクチャのエンコード処理を実行し、これらのエンコード結果は出力せず、これらのエンコード結果を基に、並行して実行される、一つ前の前記所定のエンコード単位のエンコードにおける前記第２のピクチャおよび前記第３のピクチャに対応する２枚のピクチャの発生符号量を制御することである
請求項１０に記載の情報処理装置。
【請求項１２】
前記所定の制約は、取得された一つ前の前記所定のエンコード単位の最後のＭ＋１ピクチャのうち、１枚目のピクチャを、Ｉピクチャとしてエンコード処理を実行することである
請求項１１に記載の情報処理装置。
【請求項１３】
ベースバンド信号をエンコードする処理を実行する情報処理装置の情報処理方法において、
前記ベースバンド信号を取得して、所定のエンコード単位ごとの前記ベースバンド信号の分割を制御し、
分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するもののエンコーダへの供給を制御し、
前記所定のエンコード単位ごとの前記ベースバンド信号を、所定の制約の基に、並行してエンコードして、符号化ストリームを生成し、
生成された前記符号化ストリームを結合する
ステップを含む情報処理方法。
【請求項１４】
ベースバンド信号をエンコードする処理の制御をコンピュータに実行させるためのプログラムであって、
前記ベースバンド信号の取得を制御するとともに、所定のエンコード単位ごとの前記ベースバンド信号の分割を制御し、
分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するもののエンコーダへの供給を制御し、
前記所定のエンコード単位ごとの前記ベースバンド信号を、所定の制約の基に、並行してエンコードする処理を制御し、
生成された前記符号化ストリームを結合する処理を制御する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項１５】
ベースバンド信号をエンコードする処理の制御をコンピュータに実行させるためのプログラムであって、
前記ベースバンド信号の取得を制御するとともに、所定のエンコード単位ごとの前記ベースバンド信号の分割を制御し、
分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するもののエンコーダへの供給を制御し、
前記所定のエンコード単位ごとの前記ベースバンド信号を、所定の制約の基に、並行してエンコードする処理を制御し、
生成された前記符号化ストリームを結合する処理を制御する
ステップを含む処理をコンピュータに実行させるためのプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関し、特に、エンコード処理を実行する場合に用いて好適な、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関する。
【背景技術】
【０００２】
MPEG（Moving Picture Coding Experts Group／Moving Picture Experts Group）などに代表される画像圧縮方式では、フレーム間予測を用いて映像信号を圧縮符号化することで、高い圧縮効率を実現している。
【０００３】
MPEGにおいて、Ｉピクチャ（Ｉ-Picture）、Ｐピクチャ（Ｐ-Picture）、および、Ｂピクチャ（B-Picture）から構成される、双方向のフレーム間予測を用いた圧縮符号化方式は、Long GOP（Group of Picture)方式の圧縮と呼ばれる。
【０００４】
Ｉピクチャとは、フレーム内（Intra）符号化画像のことであり、他の画面とは独立に符号化されるピクチャであり、この情報のみで画像を復号することができるものである。Ｐピクチャとは、フレーム間(inter)順方向予測符号化画像のことであり、時間的に前（順方向）のフレームからの差分によって表現される前方向予測符号化ピクチャである。Ｂピクチャとは、双方向予測符号化画像のことであり、時間的に前（順方向）、または後（逆方向）、または前後（双方向）のピクチャを利用して動き補償フレーム間予測により符号化されるピクチャである。
【０００５】
映像を編集することを考えた場合、フレーム間予測を用いた圧縮画像は、フレーム間に予測による圧縮信号の関連があるため、圧縮されたままの映像信号で、映像素材をつなぎ合わせることとはできない。そのため、映像素材を編集することが予め考慮されたシステムにおいては、一般的に、フレーム間予測を用いず、フレーム内での圧縮のみを用いて符号化が行われている。
【０００６】
しかしながら、例えば、ＨＤ（High Definition）信号のように、高精細で情報量の多い映像信号が取り扱われる場合、フレーム内圧縮のみで符号化を行うと、低い圧縮効率しか得られないため、多量のデータを伝送したり、蓄積するためには、転送速度が速かったり、記憶容量が大きいなどの不具合が生じる可能性があり、このために、処理速度が速い高価なシステムが必要となってしまう。すなわち、高精細で情報量の多い映像信号を安価なシステムで取り扱うためには、フレーム間予測を用いて圧縮効率を上げることが必要となる。
【０００７】
MPEGストリームを編集するために、従来、編集点（スプライス点）近傍のピクチャを一旦デコードし、非圧縮の画像信号を編集点でつなぎあわせた後、再エンコードする技術が用いられている（例えば、特許文献１）。
【特許文献１】国際公開番号ＷＯ９９／０５８６４号公報
【０００８】
高速に符号化を実行するために、従来、フレームを分割してエンコードを実行する技術があった（例えば、特許文献２）。
【特許文献２】特願平１０−１７８６４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献１に記載の技術など、符号化処理を伴う編集やデータ変換処理の効率を向上させるために、符号化処理の高速化が求められている。現在、一般的なLong GOP構造の圧縮を行うエンコーダの処理速度は、リアルタイムか、それより遅い。よって、長時間の素材を変換する場合、非常に長い時間を必要としている。
【００１０】
そして、上述した特許文献１のように、高速に符号化を実行するために、従来、フレームを分割してエンコードを実行する技術があったが、１フレームを複数に分割することにより処理を高速化するため、フレーム間またはフレーム内の参照を行うための制御や、分割して処理されたフレームを結合して１フレームを生成するための制御が複雑となってしまう。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、１フレームを分割することなく、高速にエンコード処理を実行することができるようにするものである。
【課題を解決するための手段】
【００１２】
本発明の一側面の情報処理装置は、ベースバンド信号をエンコードする処理を実行する情報処理装置であって、前記ベースバンド信号を取得して、所定のエンコード単位に分割するデータ分割手段と、前記データ分割手段により分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するものを並行してエンコードして、符号化ストリームを生成するエンコード手段と、所定の制約を掛けながら並行してエンコードするように、前記エンコード手段によるエンコード処理を制御する制御手段と、前記エンコード手段により生成された符号化ストリームを結合する結合手段とを備える。
【００１３】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位の切れ目が、前記エンコード手段によりエンコードされて生成された符号化ストリームのＧＯＰの切れ目となるようにエンコード処理を実行することであるものとすることができる。
【００１４】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のうちの先頭ＧＯＰをClosed GOPとしてエンコード処理を実行することであるものとすることができる。
【００１５】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のエンコードの開始点に、Sequence HeaderまたはQuant Matrix Extensionを付加することであるものとすることができる。
【００１６】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のエンコード終了点のVBV Buffer Occupancyが、次の前記所定のエンコード単位のエンコードの開始点のVBV Buffer Occupancyと等しくなるように、発生符号量の制御を行うことであるものとすることができる。
【００１７】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位の切れ目が、前記エンコード手段によりエンコードされて生成された符号化ストリームのＧＯＰの切れ目から、IピクチャまたはPピクチャの間隔Mだけ時間的に後ろにずれた位置となるように、エンコード処理を実行することであるものとすることができる。
【００１８】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のうち、その前に他の前記所定のエンコード単位に対応するベースバンド信号が存在するものについては、一つ前の前記所定のエンコード単位の最後の１ピクチャを加えたベースバンド信号を取得し、一つ前の前記所定のエンコード単位の最後の１ピクチャのエンコード結果は出力せずに、参照画として用いて、エンコード処理を実行することであるものとすることができる。
【００１９】
前記所定の制約は、参照画として用いられる一つ前の前記所定のエンコード単位の最後の１ピクチャのエンコード条件と、並行して実行される、一つ前の前記所定のエンコード単位のエンコード処理における対応するピクチャのエンコード条件とを一致させることであるものとすることができる。
【００２０】
前記エンコード条件は、ピクチャの割り当てビット、および、最初のマクロブロックのQスケールを含むものとすることができる。
【００２１】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のうち、その前に他の前記所定のエンコード単位に対応するベースバンド信号が存在するものについては、一つ前の前記所定のエンコード単位の最後のＭ＋１ピクチャを加えたベースバンド信号を取得し、一つ前の前記所定のエンコード単位の最後の１ピクチャのエンコード結果は出力せずに、参照画として用いて、エンコード処理を実行することであるものとすることができる。
【００２２】
前記所定の制約は、取得された一つ前の前記所定のエンコード単位の最後のＭ＋１ピクチャのうち、１枚目となる第１のピクチャのエンコード結果を参照画として用いて２枚目となる第２のピクチャおよび３枚目となる第３のピクチャのエンコード処理を実行し、これらのエンコード結果は出力せず、これらのエンコード結果を基に、並行して実行される、一つ前の前記所定のエンコード単位のエンコードにおける前記第２のピクチャおよび前記第３のピクチャに対応する２枚のピクチャの発生符号量を制御することであるものとすることができる。
【００２３】
前記所定の制約は、取得された一つ前の前記所定のエンコード単位の最後のＭ＋１ピクチャのうち、１枚目のピクチャを、Ｉピクチャとしてエンコード処理を実行することであるものとすることができる。
【００２４】
本発明の一側面の情報処理方法は、ベースバンド信号をエンコードする処理を実行する情報処理装置の情報処理方法であって、前記ベースバンド信号を取得して、所定のエンコード単位ごとの前記ベースバンド信号の分割を制御し、分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するもののエンコーダへの供給を制御し、前記所定のエンコード単位ごとの前記ベースバンド信号を、所定の制約の基に、並行してエンコードして、符号化ストリームを生成し、生成された前記符号化ストリームを結合するステップを含む。
【００２５】
本発明の一側面のプログラムは、ベースバンド信号をエンコードする処理の制御をコンピュータに実行させるためのプログラムであって、前記ベースバンド信号の取得を制御するとともに、所定のエンコード単位ごとの前記ベースバンド信号の分割を制御し、分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するもののエンコーダへの供給を制御し、前記所定のエンコード単位ごとの前記ベースバンド信号を、所定の制約の基に、並行してエンコードする処理を制御し、生成された前記符号化ストリームを結合する処理を制御するステップを含む処理をコンピュータに実行させる。
【００２６】
本発明の一側面においては、ベースバンド信号が取得され、所定のエンコード単位ごとにベースバンド信号が分割され、分割された所定のエンコード単位ごとのベースバンド信号のうち、複数の連続するものがエンコーダへ供給され、所定のエンコード単位ごとのベースバンド信号が、所定の制約の基に、並行してエンコードされ、生成された符号化ストリームが結合される。
【００２７】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、１つの装置を構成している内部ブロックどうしであっても良い。
【００２８】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【００２９】
編集装置は、独立した装置であっても良いし、情報処理装置の編集処理を行うブロックであっても良い。
【発明の効果】
【００３０】
以上のように、本発明の一側面によれば、エンコードを実行することができ、特に、所定の制約の基に、所定のエンコード単位ごとのベースバンド信号を、所定の制約の基に、並行してエンコードしたものを接続して、正しい符号化ストリームを得ることができる。
【発明を実施するための最良の形態】
【００３１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３２】
本発明の一側面の情報処理装置は、ベースバンド信号をエンコードする処理を実行する情報処理装置（例えば、編集処理１）であって、前記ベースバンド信号を取得して、所定のエンコード単位（例えば、セクション）に分割するデータ分割手段（例えば、図１または図３のセレクタ２３）と、前記データ分割手段により分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するものを並行してエンコードして、符号化ストリームを生成するエンコード手段（例えば、図１または図３のエンコーダユニット２４）と、所定の制約を掛けながら並行してエンコードするように、前記エンコード手段によるエンコード処理を制御する制御手段（例えば、図１のＣＰＵ２０、または、図３の制御部１０１）と、前記エンコード手段により生成された符号化ストリームを結合する結合手段（例えば、図１のメモリ１８）とを備える。
【００３３】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位の切れ目が、前記エンコード手段によりエンコードされて生成された符号化ストリームのＧＯＰの切れ目から、IピクチャまたはPピクチャの間隔M（例えば、一般的な１５ピクチャのMPEG LongGOPでは、M＝３）だけ時間的に後ろにずれた位置（例えば、ＧＯＰ先頭のＩＢＢと、次のＰの間）となるように、エンコード処理を実行することであるものとすることができる。
【００３４】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のうち、その前に他の前記所定のエンコード単位に対応するベースバンド信号が存在するものについては、一つ前の前記所定のエンコード単位の最後の１ピクチャ（例えば、参照画として用いられるIピクチャ）を加えたベースバンド信号を取得し、一つ前の前記所定のエンコード単位の最後の１ピクチャのエンコード結果は出力せずに、参照画として用いて、エンコード処理を実行することであるものとすることができる。
【００３５】
前記所定の制約は、前記データ分割手段により分割された前記所定のエンコード単位のうち、その前に他の前記所定のエンコード単位に対応するベースバンド信号が存在するものについては、一つ前の前記所定のエンコード単位の最後のＭ＋１ピクチャ（例えば、参照画として用いられるIピクチャと、その前の３枚のピクチャ）を加えたベースバンド信号を取得し、一つ前の前記所定のエンコード単位の最後の１ピクチャのエンコード結果は出力せずに、参照画として用いて、エンコード処理を実行することであるものとすることができる。
【００３６】
本発明の一側面の情報処理方法は、ベースバンド信号をエンコードする処理を実行する情報処理装置の情報処理方法であって、前記ベースバンド信号を取得して、所定のエンコード単位（例えば、セクション）ごとの前記ベースバンド信号の分割を制御し（例えば、図９のステップＳ４１，図１６のステップＳ８１，または、図２３のステップＳ１８１の処理）、分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するもの（例えば、セクショングループ）のエンコーダへの供給を制御し（例えば、図９のステップＳ４２，図１６のステップＳ８２，または、図２３のステップＳ１８２の処理）、前記所定のエンコード単位ごとの前記ベースバンド信号を、所定の制約の基に、並行してエンコードして、符号化ストリームを生成し（例えば、図９のステップＳ４７，図１６のステップＳ８８，または、図２３のステップＳ１８９の処理）、生成された前記符号化ストリームを結合する（例えば、図９のステップＳ４９，図１６のステップＳ９１，または、図２３のステップＳ１９２の処理）ステップを含む。
【００３７】
本発明の一側面のプログラムは、ベースバンド信号をエンコードする処理の制御をコンピュータに実行させるためのプログラムであって、前記ベースバンド信号の取得を制御するとともに、所定のエンコード単位（例えば、セクション）ごとの前記ベースバンド信号の分割を制御し（例えば、図９のステップＳ４１，図１６のステップＳ８１，または、図２３のステップＳ１８１の処理）、分割された前記所定のエンコード単位ごとの前記ベースバンド信号のうち、複数の連続するもの（例えば、同一のセクショングループに含まれるセクション）のエンコーダへの供給を制御し（例えば、図９のステップＳ４２，図１６のステップＳ８２，または、図２３のステップＳ１８２の処理）、前記所定のエンコード単位ごとの前記ベースバンド信号を、所定の制約の基に、並行してエンコードする処理を制御し（例えば、図９のステップＳ４７，図１６のステップＳ８８，または、図２３のステップＳ１８９の処理）、生成された前記符号化ストリームを結合する処理を制御する（例えば、図９のステップＳ４９，図１６のステップＳ９１，または、図２３のステップＳ１９２の処理）ステップを含む処理をコンピュータに実行させる。
【００３８】
以下、図を参照して、本発明の実施の形態について説明する。
【００３９】
図１は本発明を適用した編集装置１のハードウェア構成を示すブロック図である。
【００４０】
ＣＰＵ（Central Processing Unit）１１は、ノースブリッジ１２に接続され、例えば、ＨＤＤ（Hard disk Drive）１６に記憶されているデータの読み出しなどの処理を制御したり、ＣＰＵ２０が実行する編集処理を制御するための制御信号やコマンドを生成し、出力する。ノースブリッジ１２は、ＰＣＩバス（Peripheral Component Interconnect/Interface）１４に接続され、例えば、ＣＰＵ１１の制御に基づいて、サウスブリッジ１５を介して、ＨＤＤ１６に記憶されているデータの供給を受けて、ＰＣＩバス１４、ＰＣＩブリッジ１７を介して、メモリ１８に供給する。また、ノースブリッジ１２は、メモリ１３とも接続されており、ＣＰＵ１１の処理に必要なデータを授受する。
【００４１】
メモリ１３は、ＣＰＵ１１が実行する処理に必要なデータを保存する。サウスブリッジ１５は、ＨＤＤ１６のデータの書き込みおよび読み出しを制御する。ＨＤＤ１６には、非圧縮のベースバンド信号または符号化データが記憶される。
【００４２】
ＰＣＩブリッジ１７は、メモリ１８のデータの書き込みおよび読み出しを制御したり、デコーダユニット２２への符号化ストリームの供給、または、セレクタ２３への非圧縮データの供給を制御するとともに、ＰＣＩバス１４およびコントロールバス１９のデータの授受を制御する。メモリ１８は、ＰＣＩブリッジ１７の制御に基づいて、ＨＤＤ１６により読み出されたベースバンド信号または符号化データや、エンコーダユニット２４から供給される処理後の符号化データを記憶する。
【００４３】
ＣＰＵ２０は、ノースブリッジ１２、ＰＣＩバス１４、ＰＣＩブリッジ１７、および、コントロールバス１９を介して、ＣＰＵ１１から供給された制御信号やコマンドにしたがって、ＰＣＩブリッジ１７、デコーダユニット２２、セレクタ２３、および、エンコーダユニット２４が実行する処理を制御する。メモリ２１は、ＣＰＵ２０の処理に必要なデータを記憶する。
【００４４】
デコーダユニット２２は、デコーダ３１-１乃至３１−ｍの、ｍ個のデコーダにより構成され、ＣＰＵ２０の制御に基づいて、ＰＣＩブリッジ１７から供給された符号化ストリームをデコードし、セレクタ２３に供給する。デコーダユニット２２に含まれるデコーダ３１-１乃至３１−ｍは、並列して動作することが可能である。
【００４５】
以下、ｍ個のデコーダを、それぞれ、＃０デコーダ３１-１、＃１デコーダ３１−２、＃２デコーダ３１−３、・・・＃ｍ−１デコーダ３１−ｍと称するものとし、＃０デコーダ３１-１乃至＃ｍ−１デコーダ３１−ｍを個々に区別する必要がない場合、単に、デコーダ３１と称する。
【００４６】
セレクタ２３は、ＰＣＩブリッジ１７またはデコーダユニット２２から供給された非圧縮のベースバンド信号を時系列に所定の長さに分割し、エンコーダユニット２４のエンコーダ４１-１乃至４１-ｎのうちのいずれか複数のエンコーダ４１に供給する。
【００４７】
セレクタ２３により分割されるデータの基本単位をセクション（Section）と称し、その長さをSection_Lengthとする。セレクタ２３は、セクションに対応する所定範囲のデータがエンコードされるように、セクションに対応する範囲のデータ、および、セクションに対応する範囲をエンコードするために必要な範囲のデータを、エンコーダユニット２４に供給する。エンコーダユニット２４にそれぞれ供給されるベースバンド信号の範囲は、それぞれのセクションにおいて全く重ならない場合と、一部重なる場合とがある。
【００４８】
エンコーダユニット２４は、エンコーダ４１-１乃至４１-ｎの、ｎ個のエンコーダより構成され、ＣＰＵ２０の制御に基づいて、セレクタ２３から供給された非圧縮のベースバンド信号を、所定の制約を守ってエンコードして、ＰＣＩブリッジ１７に出力する。エンコーダユニット２４に含まれるエンコーダ４１-１乃至４１-ｎは、並列して動作することが可能である。すなわち、エンコーダ４１-１乃至４１-ｎを並列して動作させて得られた符号化ストリームを接続した場合に不具合が生じないように、エンコード処理には所定の制約が課せられる。所定の制約についての詳細は後述する。
【００４９】
また、エンコーダユニット２４またはエンコーダエンコーダ４１-１乃至４１-ｎのそれぞれは、編集装置１に含まれない独立した装置として設けられていても良い。例えば、エンコーダユニット２４が、独立した装置として設けられている場合、エンコーダユニット２４は、非圧縮の映像信号の入力を受け、後述する処理によりエンコードして、出力することができるようになされる。
【００５０】
以下、ｎ個のエンコーダを、それぞれ、＃０エンコーダ４１-１、＃１エンコーダ４１−２、＃２エンコーダ４１−３、・・・＃ｎ−１エンコーダ４１−ｎと称するものとし、＃０エンコーダ４１-１乃至＃ｎ−１エンコーダ４１−ｎを個々に区別する必要がない場合、単に、エンコーダ４１と称する。
【００５１】
次に、編集装置１の動作について説明する。
【００５２】
ＨＤＤ１６には、Long GOPのOpen GOP方式で圧縮された、または、全てフレーム内符号化（Intra圧縮）された符号化ストリームや、非圧縮のベースバンド信号が記憶されている。ＣＰＵ１１は、図示しない操作入力部からユーザの操作入力を受け、ユーザの操作入力に基づいて、エンコード処理を実行するデータを決定するとともに、そのデータのデコードを行うか否かを決定する。
【００５３】
ＣＰＵ１１は、処理される符号化ストリームまたはベースバンド信号を、ノースブリッジ１２、および、ＰＣＩバス１４を介して、ＰＣＩブリッジ１７に供給するとともに、コマンドを生成する。そして、ＣＰＵ１１は、デコードまたはエンコードに必要なパラメータがある場合は、そのパラメータとともに、生成されたコマンドを、ノースブリッジ１２、ＰＣＩバス１４、ＰＣＩブリッジ１７、および、コントロールバス１９を介して、ＣＰＵ２０に供給する。
【００５４】
ＣＰＵ２０は、ＰＣＩブリッジ１７を制御して、供給された符号化ストリームまたはベースバンド信号を、メモリ１８に保存させ、供給されたコマンドに基づいて、供給されたデータがデコードの必要な符号化ストリームである場合、ＰＣＩブリッジ１７を制御して、符号化ストリームをデコーダユニット２２に供給させ、供給されたデータがデコードの不必要なベースバンド信号である場合、ＰＣＩブリッジ１７を制御して、ベースバンド信号をセレクタ２３に供給させる。
【００５５】
デコーダユニット２２に含まれるデコーダ３１-１乃至３１−ｍは、並列して動作することが可能である。したがって、１つのストリームを複数のデコーダ３１を用いてデコードさせる場合、ＣＰＵ２０は、ＰＣＩブリッジ１７を制御して、符号化ストリームを分割させ、Long GOPのOpen GOP方式で圧縮された符号化ストリームである場合は、必要に応じてそれぞれのデコーダ３１におけるデコードに必要な参照画像フレームとともに、対応するデコーダ３１に供給する。
【００５６】
そして、ＣＰＵ２０は、デコーダユニット２２を制御して、デコード処理を実行させ、デコードされて生成された、非圧縮のベースバンド信号をセレクタ２３に供給させる。デコーダユニット２２を構成する＃０デコーダ３１-１乃至＃ｍ−１デコーダ３１−ｍは、ＣＰＵ２０の制御に基づいて、供給されたデータをデコードし、非圧縮のベースバンド信号をセレクタ２３に供給する。
【００５７】
ＣＰＵ２０は、ＣＰＵ１１から供給されたコマンドに基づいて、セレクタ２３を制御し、セレクタ２３に供給されたベースバンド信号をセクションに分割させ、並行して利用するエンコーダ４１の数のセクションでセクショングループを設定して、セクションごとエンコードするために必要なベースバンド信号を、エンコーダユニット２４のうちの所定数のエンコーダ４１に供給させる。セレクタ２３は、ＣＰＵ２０の制御に基づいて、供給されたデータを、所定長のセクションに分割し、並行して利用するエンコーダ４１の数のセクションでセクショングループを設定し、１つのセクショングループに対応するベースバンド信号が、同時にエンコーダ４１のうちのいずれかでエンコードされるように、それぞれのセクションをエンコードするために必要なベースバンド信号をエンコーダ４１に供給する。
【００５８】
ＣＰＵ２０は、ＣＰＵ１１から供給されたコマンドに基づいて、エンコーダユニット２４を制御して、それぞれのセクションのエンコード処理を実行させ、エンコードされて生成された符号化ストリームをＰＣＩブリッジ１７に供給させる。エンコーダユニット２４に含まれるエンコーダ４１-１乃至４１-ｎの全部または一部は、並列して動作することが可能である。すなわち、エンコーダ４１-１乃至４１-ｎを並列して動作させて得られた符号化ストリームを接続した場合に不具合が生じないように、エンコード処理には後述する所定の制約が課せられる。
【００５９】
エンコーダユニット２４を構成するエンコーダ４１-１乃至４１-ｎのうち、ベースバンド信号の供給を受けたエンコーダ４１は、ＣＰＵ２０の制御に基づいて、供給されたデータを、所定の制約の基にエンコードする。所定の制約とエンコード処理の詳細は後述する。そして、それぞれのエンコーダ４１は、エンコードの結果得られる符号化ストリームをＰＣＩブリッジ１７に供給する。
【００６０】
ＣＰＵ２０は、ＣＰＵ１１から供給されたコマンドに基づいて、ＰＣＩブリッジ１７を制御して、供給された符号化ストリームがユーザの操作入力に基づいた順に連続するように、保存されるアドレスを制御して、エンコーダ４１から供給されたそれぞれのセクションに該当する長さの符号化ストリームをメモリ１８に保存させる。
【００６１】
すなわち、複数のエンコーダ４１によりエンコードされて生成されたセクションに該当する長さの符号化ストリームは、セクショングループに該当するように接続され、更に、それぞれのセクショングループが、処理前のデータに対応するように接続されるように、メモリ１８における保存アドレスが制御される。また、例えば、ユーザの操作入力により、複数のストリームまたはベースバンド信号を所定の編集点で接続することが指令されていた場合、ＣＰＵ１１から供給されたコマンドに基づいて、所定の編集点で複数のストリームまたはベースバンド信号が接続されるようにそれぞれのセクションに該当する長さの符号化ストリームのメモリ１８における保存アドレスが制御される。換言すれば、エンコーダユニット２４においてエンコードされたそれぞれのセクションに該当する長さの符号化ストリームは、メモリ１８上で結合される。
【００６２】
ＣＰＵ２０は、コントロールバス１９、ＰＣＩブリッジ１７、ＰＣＩバス１４、および、ノースブリッジ１２を介して、ＣＰＵ１１に、供給されたコマンド処理に基づいたデータの処理が終了したことを通知する。ＣＰＵ１１は、ノースブリッジ１２、ＰＣＩバス１４、および、ＰＣＩブリッジ１７を介して、メモリ１８から結合された符号化ストリームを読み出し、ノースブリッジ１２およびサウスブリッジ１５を介して、ＨＤＤ１６に格納させたり、図示しないインタフェースを介して、外部の機器などに出力させる。
【００６３】
次に、図２は、図１の編集装置１が有する主な機能の構成について説明するための機能ブロック図である。なお、図２において、図１における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００６４】
編集装置１は、制御部１０１、取得部１０２、デコーダユニット２２、セレクタ２３、エンコーダユニット２４、および、記憶・出力部１０３を含んで構成される。
【００６５】
制御部１０１は、ＣＰＵ１１およびＣＰＵ２０に対応し、編集装置１の各部を制御する。取得部１０２は、制御部１０１の制御に基づいて、ＨＤＤ１６またはメモリ１８から処理されるデータを取得して、デコード処理が必要な部分は、デコーダユニット２２に供給し、デコード処理が必要ではない部分は、セレクタ２３に供給する。圧縮符号化ストリーム、または、非圧縮のベースバンド信号が記憶されるＨＤＤ１６またはメモリ１８が取得部１０２に含まれるものとしてもよいし、ＨＤＤ１６またはメモリ１８、もしくは、編集装置１に接続されている他の装置から、圧縮符号化ストリーム、または、非圧縮のベースバンド信号を取得するＰＣＩブリッジ１７が、取得部１０２に含まれるものとしてもよい。
【００６６】
デコーダユニット２２に含まれる複数のデコーダ３１は、取得部１０２から供給された圧縮素材映像データをデコードし、その結果として得られた非圧縮のベースバンド信号を、セレクタ２３に供給する。セレクタ２３は、制御部１０１の制御に基づいて、デコーダユニット２２または取得部１０２から供給された非圧縮のベースバンド信号をセクションに分割して、セクショングループを設定し、同一のセクショングループに含まれているセクションを、同時に、エンコーダユニット２４に供給する。
【００６７】
エンコーダユニット２４に含まれる複数のエンコーダ４１は、制御部１０１の制御に基づいて、セレクタ２３から供給された非圧縮のベースバンド信号を、セクションごとに、並行して、所定の制約の基でエンコードする。エンコードにおける制約の具体的な例については、後述する。
【００６８】
記憶・出力部１０３は、エンコーダユニット２４においてエンコードされて生成された符号化ストリームを記憶または出力するものであり、例えば、ＨＤＤ１６またはメモリ１８が記憶・出力部１０３に含まれるものとしてもよいし、ＨＤＤ１６またはメモリ１８、もしくは、編集装置１に接続されている他の装置へ、圧縮符号化ストリームを出力するＰＣＩブリッジ１７が、取得部１０２に含まれるものとしてもよい。
【００６９】
また、制御部１０１は、より詳細には図３に示すような機能を有している。
【００７０】
すなわち、制御部１０１は、ＣＰＵ１１およびＣＰＵ２０が実行可能な機能を併せ持つものとして定義されるものである。また、ＣＰＵ１１は、操作入力取得部１３１、デコードおよびエンコード区間決定部１３２、ストリーム送出制御部１３３、および、コマンドおよび制御情報送出部１３４の機能を有し、ＣＰＵ２０は、ストリーム取得制御部１５１、コマンドおよび制御情報取得部１５２、復号制御部１５３、符号化制御部１５４、および、ストリーム結合制御部１５５から構成される。
【００７１】
操作入力取得部１３１は、ユーザによる操作入力を受けて、エンコード処理が実行されるデータの形式は、圧縮された符号化ストリームであるか非圧縮のベースバンド信号であるか、換言すれば、エンコード前にデコードされる必要があるか否かや、何ＧＯＰ分のデータがエンコードされるかなど、エンコード処理が実行されるデータに関する情報を、ユーザの操作に応じて取得し、取得した情報をデコードおよびエンコード区間決定部１３２またはストリーム送出制御部１３３に供給する。
【００７２】
デコードおよびエンコード区間決定部１３２は、操作入力取得部１３１から供給される情報に基づいて、エンコーダユニット２４によりエンコードされる区間を決定して、エンコードされるデータがデコードされるか否かを決定するとともに、エンコード処理に必要なパラメータや初期値などを決定する。デコードおよびエンコード区間決定部１３２は、決定された内容をコマンドおよび制御情報送出部１３４並びにストリーム送出制御部１３３に供給する。
【００７３】
ストリーム送出制御部１３３は、操作入力取得部１３１並びにデコードおよびエンコード区間決定部１３２からの情報に基づいて、エンコードされる区間として設定された部分がデコードする必要がある場合、その部分のデータがデコーダユニット２２に送出され、デコードする必要がない場合、その部分のデータがセレクタ２３に供給されるように、取得部１０２を制御する。また、ストリーム送出制御部１３３は、操作入力取得部１３１からの情報に基づいて、ストリームの編集などのユーザの操作に応じた処理を行うための制御信号をストリーム取得制御部１５１に供給する。
【００７４】
コマンドおよび制御情報送出部１３４は、デコードおよびエンコード区間決定部１３２から供給された情報に基づいて、エンコード処理またはデコード処理、および、エンコード結果の接続などの制御に必要な各種のパラメータを、コマンドおよび制御情報取得部１５２に供給する。
【００７５】
ストリーム取得制御部１５１は、ストリーム送出制御部１３３からの制御信号に基づいて、取得部１０２による圧縮符号化ストリーム、または、非圧縮のベースバンド信号の取得を制御するとともに、エンコードされる区間として設定された部分のうちデコードする必要がある部分のデータがデコーダユニット２２に送出され、デコードする必要がない部分のデータがセレクタ２３に供給されるように、取得部１０２を制御する。また、ストリーム取得制御部１５１は、セレクタ２３を制御し、非圧縮のベースバンド信号を時系列に所定の長さのセクションに分割させ、エンコーダユニット２４に供給させる。
【００７６】
コマンドおよび制御情報取得部１５２は、コマンドおよび制御情報送出部１３４からストリームのデコードおよびエンコードに必要な各種のパラメータを取得し、復号制御部１５３および符号化制御部１５４に供給する。
【００７７】
復号制御部１５３は、コマンドおよび制御情報取得部１５２から供給されるパラメータに基づいて、デコードユニット２２によるデコード処理を制御する。
【００７８】
符号化制御部１５４は、コマンドおよび制御情報取得部１５２から供給されるパラメータに基づいて、エンコーダユニット２４による、所定の制約に基づいたエンコード処理を制御する。
【００７９】
ストリーム結合制御部１５５は、記憶・出力部１０３を制御して、エンコーダユニット２４によりエンコードされた符号化ストリームの結合および出力を制御する。
【００８０】
なお、図３においては、ＣＰＵ１１およびＣＰＵ２０が実行可能な機能を分割して説明したが、これらの機能は、制御部１０１として、１つのＣＰＵで実現されるものであっても、３つ以上のＣＰＵで実現されるものであってもよいことは言うまでもない。
【００８１】
次に、図４のフローチャートを参照して、ＣＰＵ１１の処理について説明する。
【００８２】
ステップＳ１において、ＣＰＵ１１（操作入力取得部１３１）は、図示しない操作入力部により、ユーザから、実行される処理の指令を受ける。処理としては、例えば、ＨＤＤ１６に保存されているベースバンド信号をエンコードさせる処理であったり、ＨＤＤ１６に保存されているIntra符号化ストリームをLongGOPの符号化ストリームに変換させる処理であったり、ＨＤＤ１６に保存されている符号化ストリームまたはベースバンド信号を、所定の編集点で接続させる処理などである。
【００８３】
ステップＳ２において、ＣＰＵ１１（デコードおよびエンコード区間決定部１３２）は、ユーザの操作入力を基に、デコードおよびエンコード区間を決定する。そして、ＣＰＵ１１（コマンドおよび制御情報送出部１３４）は、ユーザの操作入力に基づいた処理を実行させるためのコマンドを生成し、生成したコマンドを、ノースブリッジ１２、ＰＣＩバス１４、ＰＣＩブリッジ１７、および、コントロールバス１９を介して、ＣＰＵ２０に送出する。
【００８４】
ステップＳ３において、ＣＰＵ１１（ストリーム送出制御部１３３）は、処理されるデータの送出を制御する。具体的には、ＣＰＵ１１は、処理される符号化ストリームまたはベースバンド信号を、ノースブリッジ１２、および、ＰＣＩバス１４を介して、ＰＣＩブリッジ１７に供給する。
【００８５】
ステップＳ４において、ＣＰＵ１１は、ＣＰＵ２０から、供給されたコマンド処理に基づいたデータの処理が終了したことの通知を受け、ノースブリッジ１２、ＰＣＩバス１４、および、ＰＣＩブリッジ１７を介して、メモリ１８から結合された符号化ストリームを読み出し、ノースブリッジ１２およびサウスブリッジ１５を介して、ＨＤＤ１６への処理後のデータの記憶を制御し、処理が終了される。
【００８６】
このような処理により、ユーザの操作入力に基づいた処理が実行されるように、ＣＰＵ１１において、コマンドが生成されてＣＰＵ２０に送出されるとともに、ＨＤＤ１６に格納されているデータが、ＰＣＩブリッジ１７に供給され、ＣＰＵ２０の制御に基づいて処理されて生成された符号化ストリームが、ＨＤＤ１６に格納される。
【００８７】
次に、図５のフローチャートを参照して、ＣＰＵ２０の処理について説明する。
【００８８】
ステップＳ２１において、ＣＰＵ２０（コマンドおよび制御情報取得部１５２）は、ＣＰＵ１１から、ノースブリッジ１２、ＰＣＩバス１４、ＰＣＩブリッジ１７、および、コントロールバス１９を介して、コマンドの供給を受ける。また、ＣＰＵ２０（ストリーム取得制御部１５１）は、ＰＣＩブリッジ１７を制御して、供給された符号化ストリームまたはベースバンド信号を、メモリ１８に保存させる。
【００８９】
ステップＳ２２において、ＣＰＵ２０（コマンドおよび制御情報取得部１５２）は、供給されたコマンドに基づいて、処理されるデータは、デコーダに供給する必要のあるデータであるか否かを判断する。
【００９０】
ステップＳ２２において、処理されるデータは、デコーダに供給する必要のあるデータであると判断された場合、ステップＳ２３において、ＣＰＵ２０（ストリーム取得制御部１５１）は、ＰＣＩブリッジ１７を制御して、処理するデータ、すなわち、符号化ストリームをデコーダユニット２２に供給させる。そして、ＣＰＵ２０（復号制御部１５３）は、デコーダユニット２２を制御して、デコード処理を実行させ、デコードされて生成された、非圧縮のベースバンド信号をセレクタ２３に供給させ、処理は、後述するステップＳ２５に進む。
【００９１】
ステップＳ２２において、処理されるデータは、デコーダに供給する必要のあるデータではないと判断された場合、ステップＳ２４において、ＣＰＵ２０（ストリーム取得制御部１５１）は、ＰＣＩブリッジ１７を制御して、処理するデータ、すなわち、ベースバンド信号をセレクタ２３に供給させ、処理は、後述するステップＳ２５に進む。
【００９２】
ステップＳ２３、または、ステップＳ２４の処理の終了後、ステップＳ２５において、ＣＰＵ２０（符号化制御部１５４）は、ＣＰＵ１１から供給されたコマンドに基づいて、セレクタ２３を制御し、セレクタ２３に供給されたベースバンド信号をセクションに分割させ、並行して利用するエンコーダ４１の数のセクションでセクショングループを設定して、セクションごとに、それぞれのセクションをエンコードするために必要なベースバンド信号を、エンコーダユニット２４のうちの所定数のエンコーダ４１に供給させる。
【００９３】
ステップＳ２６において、ＣＰＵ２０（符号化制御部１５４）は、ＣＰＵ１１から供給されたコマンドに基づいて、エンコーダユニット２４を制御して、それぞれのセクションのエンコード処理を、所定の制約のもとに実行させ、エンコードされて生成された符号化ストリームをＰＣＩブリッジ１７に供給させる。
【００９４】
ステップＳ２７において、ＣＰＵ２０（ストリーム結合制御部１５５）は、ＣＰＵ１１から供給されたコマンドに基づいて、ＰＣＩブリッジ１７を制御して、供給された符号化ストリームがユーザの操作入力に基づいた順に連続するように、保存されるアドレスを制御して、エンコーダ４１から供給されたそれぞれのセクションに該当する長さの符号化ストリームをメモリ１８に保存させ、エンコード後の符号化ストリームの結合を制御する。
【００９５】
ステップＳ２８において、ＣＰＵ２０は、コントロールバス１９、ＰＣＩブリッジ１７、ＰＣＩバス１４、および、ノースブリッジ１２を介して、ＣＰＵ１１に、供給されたコマンド処理に基づいたデータの処理が終了したことを通知し、処理が終了される。
【００９６】
このような処理により、ＣＰＵ２０は、ＣＰＵ１１から供給されたコマンドに基づいて、ＰＣＩブリッジ１７、デコーダユニット２２、セレクタ２３、および、エンコーダユニット２４を制御して、例えば、ＨＤＤ１６に保存されているベースバンド信号をエンコードさせる処理であったり、ＨＤＤ１６に保存されているIntra符号化ストリームをLongGOPの符号化ストリームに変換させる処理であったり、ＨＤＤ１６に保存されている符号化ストリームまたはベースバンド信号を、所定の編集点で接続させる処理などの実行を制御する。
【００９７】
上述したように、エンコーダユニット２４は、複数のエンコーダ４１により構成されており、それぞれのエンコーダ４１は、セレクタ２３から、非圧縮のベースバンド信号の供給を受け、エンコード処理を実行し、エンコードの結果得られる符号化ストリームをＰＣＩブリッジ１７に供給する。ＰＣＩブリッジ１７に供給されたそれぞれの短い符号化ストリームは、ＣＰＵ２０の制御に基づいて、メモリ１８の所定のアドレス位置に書き込まれて、結合される。
【００９８】
エンコーダユニット２４においては、複数のエンコーダ４１にデータが分割されて並行してエンコードが実行される。そして、エンコードの結果得られたセクションごとの符号化ストリームメモリ１８において所定のアドレス位置に書き込まれることにより、符号化ストリームが結合されるが、結合されたストリームの連続性が、さまざまな条件において矛盾しないためには、所定の制約に基づいてエンコード処理が実行されなければならない。
【００９９】
エンコード処理に所定の制約を課す方法として、分割されて生成されるセクションの先頭ＧＯＰをClosed GOPとする場合の制約を有する方法１、分割されて生成されるセクションの先頭ＧＯＰをClosed GOPとせず、セクションの分割を方法１と異なるものとする制約を有する方法２、および、分割されて生成されるセクションの先頭ＧＯＰをClosed GOPとせず、セクションの分割は方法２と同一とするが、エンコーダ４１に供給されるデータ範囲は方法２とは異なるものとするとともに、部分的にプリエンコードを行う場合の制約を有する方法３などの方法がある。
【０１００】
なお、セレクタ２３からエンコーダユニット２４に供給される非圧縮のベースバンド信号は、デコーダユニット２２によりデコードされて生成された非圧縮のベースバンド信号であっても、ＰＣＩブリッジ１７から直接セレクタ２３に供給された非圧縮のベースバンド信号であってもかまわない。すなわち、上述した方法１、方法２、または、方法３のいずれかでエンコード処理を実現するためには、図６に示される構成要素を少なくとも有している編集装置１であればよい。
【０１０１】
セレクタ２３は、制御部１０１の制御に基づいて、取得部１０２から供給された非圧縮のベースバンド信号を時系列に所定の長さのセクションに分割し、それぞれのセクションをエンコードするために必要なベースバンド信号を、エンコーダユニット２４のエンコーダ４１-１乃至４１-ｎのうちのいずれか複数のエンコーダ４１に供給する。
【０１０２】
エンコーダユニット２４のエンコーダ４１-１乃至４１-ｎのうち、セレクタ２３からベースバンド信号の供給を受けたエンコーダ４１は、制御部１０１の制御に基づいて、供給されたベースバンド信号を、所定の制約に基づいて、図７乃至図２７を用いて後述するように並列にエンコードし、記憶・出力部１０３に出力する。
【０１０３】
次に、図７乃至図９を参照して、方法１におけるエンコードの制約について説明する。
【０１０４】
図７を参照して、データの分割と結合について説明する。図７においては、４セクションを並列してエンコードする場合を例として説明する。
【０１０５】
セレクタ２３は、Section_Lengthが、エンコード処理により生成されるGOPの長さ GOP_Length の整数倍となるようにベースバンド信号を分割する。すなわち、エンコーダ４１により生成される符号化ストリームを構成するＧＯＰ長を一般的に良く使われる１５フレームであるとした場合、Section_Lengthは、１５フレームの整数倍のフレーム数に対応するデータになる。
【０１０６】
エンコーダユニット２４により並列で同時にエンコードされる複数のセクションによりセクショングループ（Section_Group）が構成される。すなわち、図７に示されるように、４セクションを並列してエンコードする場合においては、セクション０乃至セクション３、セクション４乃至セクション７・・・のように、４セクションで１セクショングループが構成される。
【０１０７】
＃０エンコーダ４１−１乃至＃３エンコーダ４１−４へ入力されるベースバンド信号は、それぞれのセクションに対応する範囲のベースバンド信号となる。＃０エンコーダ４１−１乃至＃３エンコーダ４１−４への入力は、セクション毎に切り替えられる。具体的には、並列に動作させるエンコーダの数をNum_Of_Encoderとすると、素材の先頭からNum_Of_Encoder個のセクション、すなわち、１つのセクショングループに含まれる複数のセクションが、同時にエンコーダ４１−１乃至エンコーダ４１−４に入力される。
【０１０８】
例えば、図７に示されるように、＃０エンコーダ４１−１に、セクション番号０，４，８・・・のセクションが、＃１エンコーダ４１-２に、セクション番号１,５,９・・・のセクションが、＃２エンコーダ４１-３に、セクション番号２,６,１０・・・のセクションが、＃３エンコーダ４１−４に、セクション番号３,７,１１・・・のセクションが、それぞれ供給されるものとしてもよいし、同一のセクショングループを構成するセクションが、同時にそれぞれのエンコーダ４１に供給されるのであれば、それ以外の供給方法であってもかまわない。例えば、＃０エンコーダ４１−１に、セクション番号０，７，８・・・のセクションが、＃１エンコーダ４１-２に、セクション番号１,６,９・・・のセクションが、＃２エンコーダ４１-３に、セクション番号２,５,１０・・・のセクションが、＃３エンコーダ４１−４に、セクション番号３,４,１１・・・のセクションが、それぞれ供給されるものとしてもよいし、＃０エンコーダ４１−１に、セクション番号０，５，１１・・・のセクションが、＃１エンコーダ４１-２に、セクション番号２,４,９・・・のセクションが、＃２エンコーダ４１-３に、セクション番号１,７,１０・・・のセクションが、＃３エンコーダ４１−４に、セクション番号３,６,８・・・のセクションが、それぞれ供給されるものとしてもよい。
【０１０９】
そして、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４は、制御部１０１（ＣＰＵ２０）の制御に基づいて、供給されたベースバンド信号を、所定の制約に基づいて、並列にエンコードし、エンコード後の符号化ストリームをＰＣＩブリッジ１７に出力する。
【０１１０】
例えば、＃０エンコーダ４１−１に、セクション番号０，４，８・・・のセクションが、＃１エンコーダ４１-２に、セクション番号１,５,９・・・のセクションが、＃２エンコーダ４１-３に、セクション番号２,６,１０・・・のセクションが、＃３エンコーダ４１−４に、セクション番号３,７,１１・・・のセクションが、それぞれ供給されるようになされていた場合、１つ目のセクショングループの入力データ、すなわち、セクション番号０乃至３のセクションが＃０エンコーダ４１−１乃至＃３エンコーダ４１−４のそれぞれに供給され、エンコードが実行されて、セクション番号０乃至３のセクションに対応するエンコード後の符号化ストリームがＰＣＩブリッジ１７に出力される。そして、２つ目のセクショングループの入力データ、すなわち、セクション番号４乃至７のセクションが＃０エンコーダ４１−１乃至＃３エンコーダ４１−４のそれぞれに供給され、エンコードが実行されて、セクション番号４乃至７のセクションに対応するエンコード後の符号化ストリームがＰＣＩブリッジ１７に出力される。
【０１１１】
PCIブリッジ１７は、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４から供給されたセクションごとの符号化ストリームが、セクション順に並ぶように、メモリ１８の所定のアドレスに記憶させる。
【０１１２】
例えば、＃０エンコーダ４１−１に、セクション番号０，４，８・・・のセクションが、＃１エンコーダ４１-２に、セクション番号１,５,９・・・のセクションが、＃２エンコーダ４１-３に、セクション番号２,６,１０・・・のセクションが、＃３エンコーダ４１−４に、セクション番号３,７,１１・・・のセクションが、それぞれ供給されるようになされていた場合、１つ目のセクショングループのエンコードが実行されて、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４から、セクション番号０乃至３のセクションがＰＣＩブリッジ１７を介してメモリ１８に供給される。メモリ１８においては、セクション番号０乃至３のセクションがセクション番号順に結合されるように、それぞれの記憶アドレスが制御されて記憶される。そして、２つ目のセクショングループのエンコードが実行されて、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４から、セクション番号４乃至７のセクションがＰＣＩブリッジ１７を介してメモリ１８に供給される。メモリ１８においては、セクション番号４乃至７のセクションがセクション番号順に結合されるように、それぞれの記憶アドレスが制御されて記憶される。したがって、図７に示されるように、メモリ１８においては、それぞれのセクショングループ内のセクションが、セクション順に並んで結合されて記憶される。
【０１１３】
そして、方法１におけるエンコードの第１の制約は、セクション単位で個別にエンコードしたストリームをつなげた時に、一つの連続なストリームになる様に、セクションの切れ目がGOPの切れ目となるようにセクションを決定し、少なくともセクションの先頭、すなわち、それぞれのエンコーダ４１におけるエンコードの開始点を含むＧＯＰは、Closed GOPとしてエンコードを実行することである。これによりセクション間に、予測による関係が無くなる。
【０１１４】
そして、第２の制約は、セクションの先頭、すなわち、それぞれのエンコーダ４１におけるエンコードの開始点となるＧＯＰの先頭に、Sequence Headerを付加することである。これにより、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなる。
【０１１５】
そして、第３の制約は、セクションの先頭、すなわち、それぞれのエンコーダ４１における１セクション分のエンコードの開始点のVBV Buffer Occupancyをあらかじめ決めておき、セクションの最後、すなわち、それぞれのエンコーダ４１における１セクション分のエンコード終了点のVBV Buffer Occupancyが、次のSectionの開始点のVBV Buffer Occupancyと等しくなるように、発生符号量の制御を行うことである。
【０１１６】
すなわち、セクション番号ｘの先頭のVBV Buffer Occupancyを、Occupancy_Start_ｘとし、セクション番号ｘの最後のVBV Buffer Occupancyを、Occupancy_End_x としたとき、Occupancy_End_x がOccupancy_Start_x+1に等しくなるように、エンコード処理を制御する。これにより、個別にエンコードしたストリームをつなげた時に、VBV Buffer占有量の連続性を保つことができる。
【０１１７】
具体的には、図８に示されるように、最終的に結合された場合の符号化ストリームの先頭のVBV Buffer Occupancyの値である、図中、ａで示されるOccupancy_Start_Sec0は、予め指定されているものとする。そして、＃０エンコーダ４１-１でセクション０を、＃１エンコーダ４１-２でセクション１を、＃２エンコーダ４１-３でセクション２を、＃３エンコーダ４１-４でセクション３を、それぞれエンコードする前に、図中ｃ，ｅ，ｇで示されるOccupancy_Start_Sec1、Occupancy_Start_Sec2、および、Occupancy_Start_Sec3を決定する。これら、セクション先頭のOccupancyの決定方法は、任意である。例えば、セクション毎の符号化難易度があらかじめ分かっている場合、符号化難易度に応じて値を決定してもよいし、符号化難易度が未知である場合、Occupancy_Start_Sec1、Occupancy_Start_Sec2、および、Occupancy_Start_Sec3を、全て、開始点Occupancy_Start_Sec0と同じ値にしてもよい。
【０１１８】
そして、＃０エンコーダ４１-１において、セクション０に対して、VBV Buffer Occupancyの初期値を図中ａで示されるOccupancy_Start_Sec0とし、図中ｂで示される終了点のVBV Buffer Occupancyの値を、続くセクションの先頭のVBV Buffer Occupancyの初期値であるOccupancy_Start_Sec１と等しい値となるように、エンコード処理が実行される。また、＃１エンコーダ４１-２において、セクション１に対して、VBV Buffer Occupancyの初期値を図中ｃで示されるOccupancy_Start_Sec1とし、図中ｄで示される終了点のVBV Buffer Occupancyの値を、続くセクションの先頭のVBV Buffer Occupancyの初期値であるOccupancy_Start_Sec2と等しい値となるように、エンコード処理が実行される。
【０１１９】
また、同様に、＃２エンコーダ４１-３において、セクション２に対して、VBV Buffer Occupancyの初期値を図中ｅで示されるOccupancy_Start_Sec2とし、図中ｆで示される終了点のVBV Buffer Occupancyの値を、続くセクションの先頭のVBV Buffer Occupancyの初期値であるOccupancy_Start_Sec3と等しい値となるように、エンコード処理が実行される。そして、＃３エンコーダ４１-４においては、セクション３に対して、VBV Buffer Occupancyの初期値を図中ｇで示されるOccupancy_Start_Sec3とし、エンコード処理が実行される。エンコード終了後、図中ｈで示される終了点のVBV Buffer Occupancyの値であるOccupancy_Start_Sec4は、続くセクションの先頭、すなわち、続くセクショングループの先頭のセクションの先頭のVBV Buffer Occupancyの初期値となる。すなわち、次のセクショングループのエンコードにおいて、＃０エンコーダ４１-１は、セクション４に対して、VBV Buffer Occupancyの初期値をOccupancy_Start_Sec4として、エンコードを実行する。
【０１２０】
このようにして、エンコードされて得られた符号化ストリームは、ＣＰＵ２０の制御に基づいて、メモリ１８上において、結合される。
【０１２１】
このように発生符号量を制御することにより、結合されて生成される符号化ストリームは、VBV Bufferの占有量の連続性を保つことが可能となり、MPEGの規格を満たした符号化ストリームとなる。
【０１２２】
次に、図９のフローチャートを参照して、エンコード処理の第１の例であり、方法１に対応する、エンコード処理１について説明する。
【０１２３】
ステップＳ４１において、ストリーム取得制御部１５１は、エンコーダユニット２４に含まれるエンコーダ４１のうち並列してエンコードを実行させるエンコーダ４１の数を決定し、エンコーダ４１への入力データの分割位置、すなわち、図７を用いて説明したセクションとセクショングループを決定する。
【０１２４】
ステップＳ４２において、ストリーム取得制御部１５１は、使用するエンコーダ４１の数のセクションの入力データ、すなわち、１セクショングループのデータを取得する。
【０１２５】
ステップＳ４３において、符号化制御部１５４は、入力データのエンコード時におけるピクチャタイプを、セクションの切れ目がＧＯＰの切れ目となるように、決定する。
【０１２６】
ステップＳ４４において、ストリーム取得制御部１５１は、セクションごとのデータを入力するエンコーダ４１を決定する。
【０１２７】
ステップＳ４５において、符号化制御部１５４は、図８を用いて説明したように、処理を実行するセクショングループが、処理されるデータの先頭である場合は、その先頭セクションの開始点におけるVBV Buffer Occupancyの値は、予め指定されている値とし、処理を実行するセクショングループが、処理されるデータ全体の先頭ではない場合は、その先頭セクションの開始点におけるVBV Buffer Occupancyの値は、前セクショングループの最後のセクションの終了点におけるVBV Buffer Occupancyの値を引き継ぐものとするとともに、それ以外のセクション、すなわち、セクショングループの先頭以外のセクションの開始点におけるVBV Buffer Occupancyの値を決定する。
【０１２８】
これら、セクショングループの先頭以外のセクション先頭のOccupancyの決定方法は、任意である。例えば、セクション毎の符号化難易度があらかじめ分かっている場合、符号化難易度に応じて値を決定してもよいし、符号化難易度が未知である場合、Occupancy_Start_Sec1、Occupancy_Start_Sec2、および、Occupancy_Start_Sec3を、全て、開始点Occupancy_Start_Sec0と同じ値にしてもよい。
【０１２９】
ステップＳ４６において、符号化制御部１５４は、図８を用いて説明したように、処理を実行するセクショングループの最後のセクション以外の終了VBV Buffer Occupancyの値を、次のセクションの開始点におけるVBV Buffer Occupancyの値に決定する。
【０１３０】
ステップＳ４７において、ストリーム取得制御部１５１は、セレクタ２３を制御して、並列に処理されるデータを、エンコーダユニット２４の対応するエンコーダ４１にそれぞれ供給させ、符号化制御部１５４は、エンコーダユニット２４の対応するエンコーダ４１を制御して、それぞれのセクションを、個別に、上述した方法１の３つの制約を守りながらエンコードさせる。
【０１３１】
すなわち、セクション単位で個別にエンコードしたストリームをつなげた時に、一つの連続なストリームになる様に、セクションの切れ目がGOPの切れ目となるようにセクションを決定し、セクションの先頭、すなわち、それぞれのエンコーダ４１におけるエンコードの開始点を含むＧＯＰのみClosed GOPとする第１の制約、セクションの先頭、すなわち、それぞれのエンコーダ４１におけるエンコードの開始点となるＧＯＰの先頭に、Sequence Headerを付加する第２の制約、および、セクションの先頭、すなわち、それぞれのエンコーダ４１における１セクション分のエンコードの開始点のVBV Buffer Occupancyをあらかじめ決めておき、セクションの最後、すなわち、それぞれのエンコーダ４１における１セクション分のエンコード終了点のVBV Buffer Occupancyが、次のセクションの開始点のVBV Buffer Occupancyと等しくなるように、発生符号量の制御を行う第３の制約に基づいて、エンコードが実行される。
【０１３２】
ステップＳ４８において、符号化制御部１５４は、エンコードしたセクショングループの最後のセクションの終了VBV Occupancyの値を、次のエンコードのために一時保存する。
【０１３３】
ステップＳ４９において、ストリーム結合制御部１５５は、エンコーダユニット２４からＰＣＩブリッジ１７に供給された符号化ストリームの、メモリ１８におけるアドレスを制御することにより、並列で使用されたエンコードの数と等しい数のセクションのエンコーダ出力データ、すなわち、セクションに対応する所定長の符号化ストリームの結合を制御する。
【０１３４】
ステップＳ５０において、符号化制御部１５４は、エンコードは終了されるか否かを判断する。ステップＳ５０において、エンコードが終了されないと判断された場合、処理は、ステップＳ４１に戻り、それ以降の処理が繰り返される。ステップＳ５０において、エンコードが終了されると判断された場合、処理が終了される。
【０１３５】
このような処理により、セクション間に、予測による関係が無くなり、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなり、VBV Buffer Occupancyが、セクション間で連続するので、複数のエンコーダ４１において並列して個別にエンコードされた符号化ストリームを、メモリ１８上でそのまま接続して、破綻のない符号化ストリームを得ることができる。
【０１３６】
このようにして、複数のエンコーダ４１を並列にエンコードさせることができるので、高速な処理を実行することが可能なエンコーダを用いることなく、換言すれば、それぞれのエンコーダ４１が有する処理能力以上に、高速なLong GOP構造の符号化処理を行う事が可能となる。
【０１３７】
次に、図１０乃至図１９を参照して、方法２について説明する。
【０１３８】
方法１においては、ユニットの先頭のＧＯＰをClosed GOPとしてエンコードしたが、方法２においては、Closed GOPの制約は行わず、他の制約を基に、エンコードを実行する。
【０１３９】
まず、図１０乃至図１２を参照して、方法２を導き出すために、Closed GOPの制約を行わない場合のセクションとそれぞれのエンコーダ４１に実際に入力されるデータとの関係を、参照画の観点から考えた場合について説明する。なお、図１０乃至図１２を用いて説明する内容は、方法２を導き出すための考え方を説明するためのものであって、結果的には、方法２に適用されていない。
【０１４０】
図１０においては、方法１におけるセクションを、Section_closedと表している。セレクタ２３が、方法１と同様にして、Section_Lengthが、エンコード処理により生成されるGOPの長さ GOP_Length の整数倍となるようにベースバンド信号を分割した場合、Closed GOPの制約を行わないならば、エンコードには、GOP先頭の２枚のBピクチャの参照画となる前のGOPのPピクチャが必要となってしまう。そこで、全体のエンコード処理の先頭、すなわち、前のフレームが存在しないセクション番号０以外は、Section_closedに対して、一つ前のセクションの最後の１ピクチャを加えた部分がエンコーダ４１に供給されるものとする。図１０においては、それぞれのエンコーダに供給されるべき部分を、Section_x_inputで示している。すなわち、図中、Overlap1,2,3,4と示されるように、それぞれのセクションに対応するSection_x_inputは、その前後のセクションに対応するSection_x_inputと、１ピクチャ分ずつ重なって設定されている。
【０１４１】
このように、GOPの切れ目を基準として、セクションを決定し、エンコーダ４１に供給されるデータの開始点が、一つ前のセクションのGOPの最後のピクチャの前、エンコーダ４１に供給されるデータの終了点がGOPの終了点となるようにして、エンコードを実行した場合、それぞれのセクションにおけるピクチャタイプは、Section_x_inputを決定する基準となったSection_closedにおけるGOPのピクチャタイプと同様に定められる。
【０１４２】
したがって、Coding Orderにおいて、先頭のIピクチャに続く２枚のBピクチャをエンコードするための参照画像として必要な一つ前のGOPのPピクチャも、常に、エンコーダ４１に供給される。それぞれのエンコーダ４１においては、Section_x_inputの先頭のPピクチャは、エンコーダの参照画像として用いられるのみであり、エンコード後のSection_x_inputの先頭のPピクチャは出力されない。
【０１４３】
このようなセクション分割を行い、４セクションを並列してエンコードする場合の処理について図１１および図１２を用いて説明する。
【０１４４】
図１１には、２つのセクションブロック、すなわち、セクション０乃至セクション７において、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４のそれぞれに供給されるデータ、すなわち、Section_x_inputが示されている。上述したように、Section_x_inputの先頭のPピクチャは、エンコーダの参照画像として用いられるのみであり、エンコード後のSection_x_inputの先頭のPピクチャは出力されない。図１１においては、出力される部分を、Section_open xと表している。Section_open xは、図１０におけるSection_closedと同一となる。
【０１４５】
ここでは、方法１と同様に、それぞれのセクションが供給されるエンコーダ４１が決定されるものとする。そして、方法１の第２の制約および第３の制約が、同様にして課せられるものとする。
【０１４６】
セクション０以外のセクション１乃至セクション７においては、セクション先頭がOpen GOPであるため、セクション先頭の２枚のB-Pictureは、セクション外のピクチャ、すなわち、セクション直前のPピクチャを参照してエンコードが行われる。セクション０以外のセクション１乃至セクション７において、Section_open xに含まれない先頭のPピクチャは、続くGOPの先頭の２枚のBピクチャのエンコードの参照画としてのみ用いられる。
【０１４７】
まず、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４に、図１０のSection_x_inputで示される部分がDisplay Orderで入力され、次にCoding Orderに並び替えられた後、エンコードが実行される。
【０１４８】
図１２に示されるように、例えば、＃１エンコーダ４１−２においてエンコードされる、図中αで示されるセクション先頭の２枚のBピクチャは、図中βで示されるそのGOPの前のGOP、すなわち、一つ前のセクションの最後のGOPの最後のPピクチャと、図中γで示される同一のGOPの先頭のIピクチャとを参照してエンコードされる。しかしながら、図中αで示されるセクション先頭の２枚のBピクチャがエンコードされる時点では、＃０エンコーダ４１−１において図中βで示されるPピクチャはまだエンコードされていない。そこで、図中βで示されるPピクチャと同じ図中β´で示されるPピクチャを＃１エンコーダ４１−２に供給して、参照画として用いる。
【０１４９】
しかしながら、連続したデータを１つのエンコーダで従来どおりエンコードする場合に、図中βで示されるPピクチャを参照画で使うとき、実際に使われるのは、一度エンコードした後デコードした画である。換言すれば、図中αで示されるセクション先頭の２枚のBピクチャは、セクションで分割されなかった場合、エンコードされたPピクチャをエンコーダ内で再度デコードすることにより得られる、歪んだ画を用いてエンコードされるべきものである。ここで、エンコーダ内で、一度エンコードした後参照のためデコードされて得られた画をローカルデコード画と称する。
【０１５０】
したがって、図中β´で示されるPピクチャにおいても、同様に一度エンコードした後デコードし、得られるローカルでコード画を参照画として用いることが求められる。図中βで示されるPピクチャと図中β´で示されるPピクチャとのローカルデコード画を同じものにするためには、同じエンコード条件でエンコードする必要がある。しかしながら、ピクチャタイプがPであるピクチャを、同じ条件でエンコードするためには、直前のIピクチャと、それ以降のPピクチャを、＃０エンコーダ４１−１における場合と全て同じ条件で＃１エンコーダ４１−２においてエンコードする必要があるが、エンコード条件を合わせるのは、非常に困難であり、このような方法を取ることは、非常に効率が悪い。
【０１５１】
また、これに対して、図中β´で示されるピクチャをIピクチャとしでエンコードする方法も考えられるが、ローカルデコード画は異なったものとなってしまい、デコードの際に画質劣化を引き起こしてしまう可能性が高い。
【０１５２】
このように、参照画としてセクションをまたいでデコーダに供給されるピクチャがPピクチャとなるようなセクションの分割の方法は、効率が悪く、画質劣化を引き起こしてしまう可能性が高いので、不適切であるということができる。そこで、次に、参照画として次のセクションをまたいでエンコーダ４１に供給されるピクチャがIピクチャとなるようなセクションの分割の方法について考える。
【０１５３】
Iピクチャは、他のピクチャを参照することなく、自分自身のみでエンコードが完結する。また、同じエンコーダを使う場合、エンコードアルゴリズムは同一となるものと考えられるので、初期パラメータが同じであれば、同じエンコード結果が得られると推測される。よって、方法２においては、参照画としてセクションをまたいでデコーダに供給されるピクチャをIピクチャとして、そのピクチャのエンコードにおける初期パラメータ同一となるように制御することにより、異なるエンコーダのローカルデコード画を同一のものとする。
【０１５４】
図１３を参照して、方法２におけるセクションの分割位置と、エンコーダ４１へ入力するピクチャとについて説明する。
【０１５５】
図１３においては、方法１におけるセクションを、Section_closedと表している。セレクタ２３は、方法２において、方法１におけるセクションSection_closedを基準として、GOPのIピクチャまたはPピクチャの間隔M（一般的な１５ピクチャのMPEG LongGOPでは、M＝３）だけ分割位置を後ろにずらして、セクションの分割位置を決定する。なお、全体のエンコード処理の先頭、すなわち、前のフレームが存在しないセクション番号０においては、Section_closedにおける場合と同様のピクチャ構成でエンコードが行われ、セクションの終了点のみ、間隔Mだけ後ろにずれる。図１３において、方法２のセクション分割を、Section_open xで示す。
【０１５６】
また、方法２における、セクションとピクチャタイプの関係、すなわち、図中Section_openで示される方法２におけるセクションの境界の位置は、GOPの先頭のBBIと、続く２枚のBピクチャとの間となるように設定される。
【０１５７】
また、セクションの最初の不完全な（先頭のBBIがぬけている）GOPのそれぞれのピクチャをエンコードするためには、前のセクションの最後のIピクチャが参照画として必要である。そこで、全体のエンコード処理の先頭、すなわち、前のフレームが存在しないセクション番号０以外は、Section_open xに対して、一つ前のセクションの最後の１ピクチャ、すなわち、参照画として用いられるIピクチャを加えた部分がエンコーダ４１に供給されるものとする。図１３においては、それぞれのエンコーダに供給されるべき部分を、Section_x_inputで示している。すなわち、図中、Overlap1,2,3,4と示されるように、それぞれのセクションに対応するSection_x_inputは、その前後のセクションに対応するSection_x_inputと、１ピクチャ分ずつ重なって設定されている。
【０１５８】
そして、使用されるエンコーダ４１の数のセクションでセクショングループが設定され、セクショングループごとに、並行してエンコードが実行されるように、それぞれのセクションに対応するSection_x_inputの範囲のベースバンド信号が、所定のエンコーダ４１に供給される。なお、それぞれのセクションに対応するSection_x_inputの範囲のベースバンド信号が、いずれのエンコーダ４１に供給されるかの決定方法は、方法１と同様である。
【０１５９】
このように、方法２においては、GOPの切れ目からMだけ後ろにずれた位置を基準として、セクションが決定され、エンコーダ４１に供給されるデータの開始点が、一つ前のセクションの最後のピクチャの前、エンコーダ４１に供給されるデータの終了点がセクションの終了点となるように決定される。
【０１６０】
したがって、Coding Orderにおいて、セクションの先頭となる２枚のBピクチャをエンコードするための参照画像として必要な一つ前のセクションのIピクチャも、常に、エンコーダ４１に供給される。それぞれのエンコーダ４１においては、Section_x_inputの先頭のIピクチャは、エンコーダの参照画像として用いられるのみであり、エンコード後のSection_x_inputの先頭のIピクチャは出力されない。
【０１６１】
方法２において４セクションを並列してエンコードする場合の処理について、図１４および図１５を用いて説明する。
【０１６２】
図１４には、２つのセクションブロック、すなわち、セクション０乃至セクション７において、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４のそれぞれに供給されるデータ、すなわち、Section_x_inputが示されている。上述したように、セクション１乃至セクション７のection_x_inputの先頭のIピクチャは、エンコーダの参照画像として用いられるのみであり、エンコード後のSection_x_inputの先頭のIピクチャは出力されない。図中Section_open xの部分のみが、エンコードされて出力される。
【０１６３】
セクション０以外のセクション１乃至セクション７においては、セクション先頭の２枚のB-Pictureは、セクション外のピクチャ、すなわち、セクション直前のIピクチャを参照してエンコードが行われる。セクション０以外のセクション１乃至セクション７において、Section_open xに含まれない先頭のIピクチャは、セクションの先頭の２枚のBピクチャのエンコードの参照画としてのみ用いられる。
【０１６４】
まず、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４に、図１３のSection_x_inputで示される部分がDisplay Orderで入力され、次にCoding Orderに並び替えられた後、エンコードが実行される。
【０１６５】
例えば、＃１エンコーダ４１−２においてエンコードされる、セクション先頭の２枚のBピクチャは、一つ前のセクションの最後のGOPの最後のIピクチャと、同一のセクションの先頭のPピクチャとを参照してデコードされる。しかしながら、セクション先頭の２枚のBピクチャがデコードされる時点では、＃０エンコーダ４１−１において最後のIピクチャはまだデコードされていない。そこで、図１５に示されるように、＃０エンコーダ４１−１に供給されるセクションの最後のIピクチャと同じIピクチャを＃１エンコーダ４１−２に供給して、参照画として用いる。
【０１６６】
すなわち、エンコードするピクチャの単位であるセクションの切れ目が、他のセクションのピクチャを参照しているOpen構造であるので、Section_x_inputの先頭ピクチャをIピクチャとしてエンコードし、ローカルデコード画を得て、これを参照画として、対応するセクションのベースバンド信号をエンコードする。この参照画のIピクチャのエンコード条件は、一つ前のセクションでエンコードする同じIピクチャと、完全に一致するようにする。もちろん、セクショングループの先頭セクションの参照画のエンコード条件は、前のセクション、すなわち、前のセクショングループの最後のセクションの同じピクチャのエンコード条件を引き継ぐようになされる。なお、参照画以外のピクチャにおいては、通常通り、エンコード条件が決定される。
【０１６７】
すなわち、＃０エンコーダ４１−１乃至＃ｎ−１エンコーダ４１−ｎが、同一の機能を有するエンコーダである場合、同じアルゴリズムでエンコードが実行されるので、初期パラメータをあらかじめ決めておき、それを両方のＩピクチャのエンコードで使用するようにする。例えば、TM5のstep2を使って画面内のQスケールを決定するレートコントロールをしている場合、ピクチャの割り当てビットと最初のマクロブロックのQスケールを同じにする事で、同じエンコード結果を得ることができる。
【０１６８】
セクション１乃至セクション７における実際のエンコードは、参照画であるＩピクチャのローカルデコード画が生成された後、これを用いて、セクション先頭のPピクチャから開始され、続く２枚のＢピクチャは、これらＩピクチャおよびＰピクチャを参照画としてエンコードされる。
【０１６９】
これにより、セクション間に、予測による相互関係がある場合においても、参照画像を用意するために複雑な処理を実行したり、ローカルデコード画の作成のために画質を劣化させることなく、複数のエンコーダ４１において、並列してセクションごとにエンコード処理を行うことが可能となる。
【０１７０】
すなわち、方法２においては、方法１におけるセクションSection_closedを基準として、GOPのIピクチャまたはPピクチャの間隔M（一般的な１５ピクチャのMPEG LongGOPでは、M＝３）だけ分割位置を後ろにずらして、セクションの分割位置を決定する第４の制約と、全体のエンコード処理の先頭、すなわち、前のフレームが存在しないセクション番号０以外は、Section_open xに対して、一つ前のセクションの最後の１ピクチャ、すなわち、参照画として用いられるIピクチャを加えた部分がエンコーダ４１に供給されるものとする第５の制約と、参照画として用いられるIピクチャのエンコード条件は、一つ前のセクションでエンコードする同じIピクチャと、完全に一致する様にする第６の制約が、新たに課せられる。
【０１７１】
また、方法２においても、方法１と同様に、それぞれのセクションが供給されるエンコーダ４１が決定されるものとする。
【０１７２】
そして、方法２においても、方法１の第２の制約と略同様の制約および第３の制約が、同様にして課せられる。
【０１７３】
すなわち、図８を用いて説明した場合と同様にして、それぞれのエンコーダ４１における１セクション分のエンコードの開始点、すなわち、セクション先頭のＰピクチャのVBV Buffer Occupancyをあらかじめ決めておき、セクションの最後、すなわち、それぞれのエンコーダ４１における１セクション分のエンコード終了点のVBV Buffer Occupancyが、次のSectionの開始点のVBV Buffer Occupancyと等しくなるように、換言すれば、セクション番号ｘの先頭のVBV Buffer Occupancyを、Occupancy_Start_ｘとし、セクション番号ｘの最後のVBV Buffer Occupancyを、Occupancy_End_xとしたとき、Occupancy_End_xがOccupancy_Start_x+1に等しくなるように、エンコード処理が制御される。これにより、個別にエンコードしたストリームをつなげた時に、VBV Buffer占有量の連続性を保つことができる。
【０１７４】
また、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャに、Quant Matrix Extensionが付加される。すなわち、方法１においては、Sequence HeaderがIピクチャに付加されることにより、Q-Matrixが、セクション毎にリセットされたが、方法２においては、先頭がＰピクチャなので、Q-Matrixをセクションごとにリセットするために、Quant Matrix Extensionが付加される。これにより、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなる。
【０１７５】
そして、エンコードされて得られた符号化ストリームは、ＣＰＵ２０の制御に基づいて、メモリ１８上において、結合される。
【０１７６】
次に、図１６のフローチャートを参照して、エンコード処理の第２の例であり、方法２に対応する、エンコード処理２について説明する。
【０１７７】
ステップＳ８１において、ストリーム取得制御部１５１は、エンコーダユニット２４に含まれるエンコーダ４１のうち並列してエンコードを実行させるエンコーダ４１の数を決定し、エンコーダ４１への入力データの分割位置、すなわち、図１３乃至図１５を用いて説明したセクションとセクショングループを決定する。
【０１７８】
ステップＳ８２において、ストリーム取得制御部１５１は、使用するエンコーダ４１の数のセクションの入力データを取得する。
【０１７９】
ステップＳ８３において、符号化制御部１５４は、セクションの切れ目がＧＯＰの切れ目から、ＩピクチャまたはＰピクチャの間隔Ｍピクチャ分だけ後ろとなるように、例えば、一般的な１５ピクチャのLongGOPにおいては、GOPの先頭のBBIと、続く２枚のBピクチャとの間となるように、入力データのエンコード時におけるピクチャタイプを決定する。
【０１８０】
ステップＳ８４において、ストリーム取得制御部１５１は、セクションごとのデータを入力するエンコーダ４１を決定する。
【０１８１】
ステップＳ８５において、符号化制御部１５４は、セクションの先頭に供給される、Iピクチャに対応する参照画のエンコード条件は、前のセクションの同じピクチャのエンコード条件と同一となるように、また、他のピクチャは、通常通り、エンコード条件を決定する。もちろん、セクショングループの先頭セクションの参照画のエンコード条件は、前のセクショングループの最後のセクションの同じピクチャのエンコード条件を引き継ぐようになされる。
【０１８２】
ステップＳ８６において、符号化制御部１５４は、図８を用いて説明したように、処理を実行するセクショングループが、符号化されるデータの先頭である場合は、その先頭セクションの開始点におけるVBV Buffer Occupancyの値は、予め指定されている値とし、処理を実行するセクショングループが、符号化されるデータの先頭ではない場合は、その先頭セクションの開始点におけるVBV Buffer Occupancyの値は、前セクショングループの最後のセクションの終了点におけるVBV Buffer Occupancyの値を引き継ぐものとするとともに、それ以外のセクション、すなわち、セクショングループの先頭以外のセクションの開始点におけるVBV Buffer Occupancyの値を決定する。
【０１８３】
ステップＳ８７において、符号化制御部１５４は、図８を用いて説明したように、処理を実行するセクショングループの最後のセクション以外の終了VBV Buffer Occupancyの値を、次のセクションの開始点におけるVBV Buffer Occupancyの値に決定する。
【０１８４】
ステップＳ８８において、図１７乃至図１９を用いて後述するセクションのエンコード処理１が実行される。
【０１８５】
ステップＳ８９において、符号化制御部１５４は、エンコードしたセクショングループの最後のセクションの終了VBV Occupancyの値を、次のセクショングループのエンコードのために一時保存する。
【０１８６】
ステップＳ９０において、符号化制御部１５４は、エンコードしたセクショングループの最後のセクションのIピクチャのエンコード条件を、次のセクショングループのエンコードのために一時保存する。
【０１８７】
ステップＳ９１において、ストリーム結合制御部１５５は、エンコーダユニット２４からＰＣＩブリッジ１７に供給された符号化ストリームの、メモリ１８におけるアドレスを制御することにより、並列で使用されたエンコードの数と等しい数のセクションのエンコーダ出力データ、すなわち、セクションに対応する所定長の符号化ストリームの結合を制御する。
【０１８８】
ステップＳ９２において、符号化制御部１５４は、エンコードは終了されるか否かを判断する。ステップＳ９２において、エンコードが終了されないと判断された場合、処理は、ステップＳ８１に戻り、それ以降の処理が繰り返される。ステップＳ９２において、エンコードが終了されると判断された場合、処理が終了される。
【０１８９】
このような処理により、セクション間に、予測による関係があっても、画質の劣化を発生することなく参照画をＩピクチャとして用意することができ、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなり、VBV Buffer Occupancyが、セクション間で連続するので、複数のエンコーダ４１において並列して個別にエンコードされた符号化ストリームを、メモリ１８上でそのまま接続して、破綻のない符号化ストリームを得ることができる。
【０１９０】
したがって、複数のエンコーダ４１を並列にエンコードさせる事により、高速なLong GOP構造の符号化処理を行う事が可能となる。
【０１９１】
また、セクションの先頭に対応するＧＯＰをClosedGOPとせず、OpenGOPとすることができるので、方法１と比較して、エンコードによる画質の劣化を抑制することが可能となる。
【０１９２】
次に、図１７乃至図１９のフローチャートを参照して、図１６のステップＳ８８において実行される、セクションのエンコード処理１について説明する。
【０１９３】
セクションのエンコード処理１は、符号化制御部１５４により、それぞれのエンコーダ４１ごとに、個別に制御が実行されるものである。
【０１９４】
ステップＳ１２１において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、先頭のセクションのピクチャであるか否かが判断される。ステップＳ１２１において、先頭のセクションのピクチャであると判断された場合、処理は、後述するステップＳ１４７に進む。
【０１９５】
ステップＳ１２１において、先頭のセクションのピクチャではないと判断された場合、ステップＳ１２２において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクショングループの最後のセクションであるか否かを判断する。ステップＳ１２２において、セクショングループの最後のセクションであると判断された場合、処理は、後述するステップＳ１３７に進む。
【０１９６】
ステップＳ１２２において、セクショングループの最後のセクションではないと判断された場合、ステップＳ１２３において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、供給された最初のピクチャであるか否かを判断する。
【０１９７】
ステップＳ１２３において、供給された最初のピクチャであると判断された場合、すなわち、セクション外の参照用Ｉピクチャであると判断された場合、ステップＳ１２４において、符号化制御部１５４は、供給された最初のピクチャ、すなわち、セクション外の参照用Ｉピクチャを、参照画としてエンコードし、処理は、後述するステップＳ１３６に進む。
【０１９８】
ステップＳ１２３において、供給された最初のピクチャではないと判断された場合、すなわち、セクションに含まれるピクチャであると判断された場合、ステップＳ１２５において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、２番目に供給されたピクチャ、すなわち、セクションの先頭のＰピクチャであるか否かを判断する。ステップＳ１２５において、２番目に供給されたピクチャ、すなわち、セクションの先頭のＰピクチャではないと判断された場合、処理は、後述するステップＳ１２８に進む。
【０１９９】
ステップＳ１２５において、２番目に供給されたピクチャ、すなわち、セクションの先頭のＰピクチャであると判断された場合、ステップＳ１２５において、符号化制御部１５４は、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャに、Quant Matrix Extensionを付加する。これにより、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなる。
【０２００】
ステップＳ１２６において、符号化制御部１５４は、それぞれのエンコーダ４１における１セクション分のエンコードの開始点のVBV Buffer Occupancy、換言すれば、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャのVBV Buffer Occupancyを、指定された所定の値にセットし、処理は、後述するステップＳ１３０に進む。
【０２０１】
これら、セクショングループの先頭以外のセクション先頭のOccupancyの決定方法は、任意である。例えば、セクション毎の符号化難易度があらかじめ分かっている場合、符号化難易度に応じて値を決定してもよいし、符号化難易度が未知である場合、Occupancy_Start_Sec1、Occupancy_Start_Sec2、および、Occupancy_Start_Sec3を、全て、セクション先頭のOccupancy_Start_Sec0と同じ値にしてもよい。
【０２０２】
ステップＳ１２５において、２番目に供給されたピクチャ、すなわち、セクションの先頭のＰピクチャではないと判断された場合、ステップＳ１２８において、符号化制御部１５４は、ＭＰＥＧの規則に従い、必要に応じて、Quant Matrix Extensionを付加する。
【０２０３】
ステップＳ１２９において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャであるか否かを判断する。ステップＳ１２９において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャではないと判断された場合、処理は、後述するステップＳ１３１に進む。
【０２０４】
ステップＳ１２７の処理の終了後、または、ステップＳ１２９において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャであると判断された場合、すなわち、あるエンコーダ４１においてエンコードされるピクチャがセクション先頭のＰＢＢピクチャのいずれかであった場合、ステップＳ１３０において、符号化制御部１５４は、該当するピクチャのエンコードに、参照画として最初に入力されたＩピクチャが使用されるものとして、処理は、後述するステップＳ１３３に進む。
【０２０５】
ステップＳ１２９において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャではないと判断された場合、ステップＳ１３１において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のＰピクチャであるか否かを判断する。ステップＳ１３１において、セクションの最後のＰピクチャであると判断された場合、処理は、後述するステップＳ１３５に進む。
【０２０６】
ステップＳ１３１において、セクションの最後のＰピクチャではないと判断された場合、ステップＳ１３２において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のＩピクチャであるか否かを判断する。ステップＳ１３２において、セクションの最後のＩピクチャであると判断された場合、処理は、後述するステップＳ１３４に進む。
【０２０７】
ステップＳ１３０の処理の終了後、または、ステップＳ１３２において、セクションの最後のＩピクチャではないと判断された場合、ステップＳ１３３において、符号化制御部１５４は、図８を用いて説明したように、セクション終了時点において指定されたVBV Buffer Occupancy終了値にバッファ占有量が近づくようにレート制御を行いながら、エンコード処理を実行し、処理は、後述するステップＳ１３６に進む。
【０２０８】
ステップＳ１３２において、セクションの最後のＩピクチャであると判断された場合、ステップＳ１３４において、符号化制御部１５４は、並行して他のエンコーダ４１において参照画としてエンコードされている対応するＩピクチャと同一の固定の条件で、Ｉピクチャをエンコードし、処理は、後述するステップＳ１３６に進む。
【０２０９】
ステップＳ１３１において、セクションの最後のＰピクチャであると判断された場合、ステップＳ１３５において、符号化制御部１５４は、図８を用いて説明したように、セクション終了時点において指定されたVBV Buffer Occupancy終了値にバッファ占有量が一致するようにレート制御を行いながら、エンコード処理を実行する。
【０２１０】
ステップＳ１２４、ステップＳ１３３、ステップＳ１３４、または、ステップＳ１３５の処理の終了後、ステップＳ１３６において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であるか否かを判断する。ステップＳ１３６において、符号化制御部１５４は、該当するセクションのエンコード処理は終了ではないと判断された場合、処理は、ステップＳ１２３に戻り、それ以降の処理が繰り返される。ステップＳ１３６において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であると判断された場合、処理は、図１６のステップＳ８８に戻り、ステップＳ８９に進む。
【０２１１】
ステップＳ１２２において、セクショングループの最後のセクションであると判断された場合、ステップＳ１３７乃至ステップＳ１４２において、上述したステップＳ１２３乃至ステップＳ１２８と基本的に同様の処理が実行される。
【０２１２】
すなわち、あるエンコーダ４１においてエンコードされるピクチャは、供給された最初のピクチャであると判断された場合、すなわち、セクション外の参照用Ｉピクチャであると判断された場合、符号化制御部１５４は、供給された最初のピクチャ、すなわち、セクション外の参照用Ｉピクチャを、参照画としてエンコードする。これに対して、供給された最初のピクチャではないと判断された場合、すなわち、セクションに含まれるピクチャであると判断された場合、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、２番目に供給されたピクチャ、すなわち、セクションの先頭のＰピクチャであるか否かを判断する。
【０２１３】
２番目に供給されたピクチャ、すなわち、セクションの先頭のＰピクチャであると判断された場合、符号化制御部１５４は、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャに、Quant Matrix Extensionを付加する。これにより、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなる。そして、符号化制御部１５４は、それぞれのエンコーダ４１における１セクション分のエンコードの開始点のVBV Buffer Occupancy、換言すれば、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャのVBV Buffer Occupancyを、指定された所定の値にセットする。
【０２１４】
そして、あるエンコーダ４１においてエンコードされるピクチャは、２番目に供給されたピクチャ、すなわち、セクションの先頭のＰピクチャではないと判断された場合、符号化制御部１５４は、ＭＰＥＧの規則に従い、必要に応じて、Quant Matrix Extensionを付加する。
【０２１５】
そして、ステップＳ１４３において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャであるか否かを判断する。ステップＳ１４３において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャではないと判断された場合、処理は、後述するステップＳ１４５に進む。
【０２１６】
ステップＳ１４１の処理の終了後、または、ステップＳ１４３において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャであると判断された場合、すなわち、あるエンコーダ４１においてエンコードされるピクチャがセクション先頭のＰＢＢピクチャのいずれかであった場合、ステップＳ１４４において、符号化制御部１５４は、該当するピクチャのエンコードに、参照画として最初に入力されたＩピクチャを使用するものとする。
【０２１７】
ステップＳ１４３において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャではないと判断された場合、または、ステップＳ１４４の処理の終了後、ステップＳ１４５において、符号化制御部１５４は、通常のレート制御でエンコード処理を実行する。
【０２１８】
ステップＳ１３８、または、ステップＳ１４５の処理の終了後、ステップＳ１４６において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であるか否かを判断する。ステップＳ１４６において、該当するセクションのエンコード処理は終了ではないと判断された場合、処理は、ステップＳ１３７に戻り、それ以降の処理が繰り返される。ステップＳ１４６において、該当するセクションのエンコード処理は終了であると判断された場合、処理は、図１６のステップＳ８８に戻り、ステップＳ８９に進む。
【０２１９】
ステップＳ１２１において、先頭のセクションのピクチャであると判断された場合、ステップＳ１４７において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、供給された最初のピクチャであるか否かを判断する。ステップＳ１４７において、供給された最初のピクチャではないと判断された場合、処理は、後述するステップＳ１４９に進む。
【０２２０】
ステップＳ１４７において、供給された最初のピクチャであると判断された場合、すなわち、先頭セクションの先頭のピクチャであると判断された場合、ステップＳ１４８において、符号化制御部１５４は、先頭セクションのエンコードの開始点のVBV Buffer Occupancyを、指定された所定の値にセットし、処理は、後述するステップＳ１５３に進む。
【０２２１】
ステップＳ１４７において、供給された最初のピクチャではないと判断された場合、ステップＳ１４９において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のピクチャであるか否かを判断する。
【０２２２】
ステップＳ１４９において、セクションの最後のピクチャであると判断された場合、ステップＳ１５０において、符号化制御部１５４は、図８を用いて説明したように、セクション終了時点において指定されたVBV Buffer Occupancy終了値にバッファ占有量が一致するようにレート制御を行いながら、エンコード処理を実行し、処理は、後述するステップＳ１５４に進む。
【０２２３】
ステップＳ１４９において、セクションの最後のピクチャではないと判断された場合、ステップＳ１５１において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のＩピクチャであるか否かを判断する。ステップＳ１５１において、セクションの最後のＩピクチャではないと判断された場合、処理は、後述するステップＳ１５３に進む。
【０２２４】
ステップＳ１５１において、セクションの最後のＩピクチャであると判断された場合、ステップＳ１５２において、符号化制御部１５４は、並行して他のエンコーダ４１において参照画としてエンコードされている対応するＩピクチャと同一の固定の条件で、Ｉピクチャをエンコードし、処理は、後述するステップＳ１５４に進む。
【０２２５】
ステップＳ１４８の処理の終了後、または、ステップＳ１５１において、セクションの最後のＩピクチャではないと判断された場合、ステップＳ１５３において、符号化制御部１５４は、図８を用いて説明したように、セクション終了時点において指定されたVBV Buffer Occupancy終了値にバッファ占有量が近づくようにレート制御を行いながら、エンコード処理を実行する。
【０２２６】
ステップＳ１５０、ステップＳ１５２、または、ステップＳ１５３の処理の終了後、ステップＳ１５４において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であるか否かを判断する。ステップＳ１５４において、該当するセクションのエンコード処理は終了ではないと判断された場合、処理は、ステップＳ１４７に戻り、それ以降の処理が繰り返される。ステップＳ１５４において、該当するセクションのエンコード処理は終了であると判断された場合、処理は、図１６のステップＳ８８に戻り、ステップＳ８９に進む。
【０２２７】
このような処理により、所定の制約を基に、第２の方法によって、それぞれのセクションがエンコードされる。このようにエンコーダ４１のそれぞれを制御することにより、個別にエンコードしたストリームをメモリ１８上で結合して、一つの連続なストリームとする事が可能になり、また、複数のエンコーダ４１を用いて１つのセクショングループに含まれる複数のセクションを、セクションごとに並列にエンコードさせる事により、高速なLong GOP構造の圧縮符号化を行う事が可能となる。
【０２２８】
具体的には、方法２においては、方法１と略同様の第２の制約および第３の制約とともに、方法１とは異なる第４の制約、第５の制約、および、第６の制約が課せられている。
【０２２９】
方法２における第２の制約は、セクションの先頭、すなわち、それぞれのエンコーダ４１におけるエンコードの開始点に、Quant Matrix Extensionを付加することである。これにより、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなる。
【０２３０】
第３の制約は、セクションの先頭、すなわち、それぞれのエンコーダ４１における１セクション分のエンコードの開始点のVBV Buffer Occupancyをあらかじめ決めておき、セクションの最後、すなわち、それぞれのエンコーダ４１における１セクション分のエンコード終了点のVBV Buffer Occupancyが、次のSectionの開始点のVBV Buffer Occupancyと等しくなるように、発生符号量の制御を行うことである。
【０２３１】
そして、第４の制約は、方法１におけるセクションSection_closedを基準として、GOPのIピクチャまたはPピクチャの間隔M（一般的な１５ピクチャのMPEG LongGOPでは、M＝３）だけ分割位置を後ろにずらして、セクションの分割位置を決定することであり、第５の制約は、全体のエンコード処理の先頭、すなわち、前のフレームが存在しないセクション番号０以外は、Section_open xに対して、一つ前のセクションの最後の１ピクチャ、すなわち、参照画として用いられるIピクチャを加えた部分をエンコーダ４１に供給することであり、第６の制約は、参照画として用いられるIピクチャのエンコード条件は、一つ前のセクションでエンコードする同じIピクチャと、完全に一致させることである。第４の制約、第５の制約、および、第６の制約により、セクション間をClosedGOPではなく、OpenGOPとしてエンコードすることができる。
【０２３２】
次に、図２０乃至図２７を参照して、方法３について説明する。
【０２３３】
方法３とは、方法２よりも更に、終了VBV Buffer Occupancyを目標値に合わせこむ精度を上げるため、部分的にプリエンコード（その部分だけの２パスエンコード）を行うものである。
【０２３４】
図２０を参照して、方法３におけるセクションの分割位置と、エンコーダ４１へ入力するピクチャとについて説明する。
【０２３５】
図２０においては、方法１におけるセクションを、Section_closedと表している。セレクタ２３は、方法３において、方法２における場合と同様に、方法１におけるセクションSection_closedを基準として、GOPのIピクチャまたはPピクチャの間隔M（一般的な１５ピクチャのMPEG LongGOPでは、M＝３）だけ分割位置を後ろにずらして、セクションの分割位置を決定する。なお、全体のエンコード処理の先頭、すなわち、前のフレームが存在しないセクション番号０においては、Section_closedにおける場合と同様のピクチャ構成でエンコードが行われ、セクションの終了点のみ、間隔Mだけ後ろにずれる。図３０において、方法３のセクション分割を、Section_open xで示す。
【０２３６】
また、方法３における、セクションとピクチャタイプの関係も、方法２における場合と同様に、セクションの境界が、GOPの先頭のBBIと、続く２枚のBピクチャとの間となるように設定される。
【０２３７】
また、方法２における場合と同様に、方法３においても、セクションの最初の不完全な（先頭のBBIがぬけている） GOPのそれぞれのピクチャをエンコードするためには、前のセクションの最後のIピクチャが参照画として必要である。
【０２３８】
方法３においては、全体のエンコード処理の先頭、すなわち、前のフレームが存在しないセクション番号０以外は、Section_open xに対して、セクションの最初の不完全な（先頭のBBIがぬけている） GOPの前の、同一のＧＯＰを構成しているＭ枚のピクチャの部分、すなわち、図２０における前のセクションの最後のＢＢＩと、そのＭ枚に含まれるＢピクチャのエンコードにおいて参照画として利用される、もう１枚前のピクチャとの、Ｍ＋１枚のピクチャをを加えた部分がエンコーダ４１に供給されるものとする。図２０においては、それぞれのエンコーダに供給されるべき部分を、Section_x_inputで示している。すなわち、図中、Overlap1,2,3,4と示されるように、それぞれのセクションに対応するSection_x_inputは、その前後のセクションに対応するSection_x_inputと、Ｍ＋１ピクチャ分ずつ重なって設定されている。すなわち、先頭のセクショングループの先頭のセクションは、セクションに対応する部分のベースバンド信号が、そのまま所定のエンコーダに入力するようになされ、先頭以外のセクションは、該当するセクションとその一つ前のセクションの最後の(Ｍ+１)枚のピクチャが入力所定のエンコーダに入力するようになされる。
【０２３９】
そして、使用されるエンコーダ４１の数のセクションでセクショングループが設定され、セクショングループごとに、並行してエンコードが実行されるように、それぞれのセクションに対応するSection_x_inputの範囲のベースバンド信号が、所定のエンコーダ４１に供給される。なお、それぞれのセクションに対応するSection_x_inputの範囲のベースバンド信号が、いずれのエンコーダ４１に供給されるかの決定方法は、方法１と同様である。
【０２４０】
このように、方法３においては、GOPの切れ目からＭだけ後ろにずれた位置を基準として、セクションが決定され、先頭のセクショングループの先頭のセクションは、セクションに対応する部分のベースバンド信号が、そのまま所定のエンコーダに入力するようになされ、先頭以外のセクションは、該当するセクションとその一つ前のセクションの最後の（Ｍ+１）枚のピクチャが入力所定のエンコーダに入力するようになされる。
【０２４１】
方法３において、４セクションを並列してエンコードする場合の処理について図２１および図２２を用いて説明する。
【０２４２】
図２１には、２つのセクションブロック、すなわち、セクション０乃至セクション７において、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４のそれぞれに供給されるデータ、すなわち、Section_x_inputが示されている。セクション１乃至セクション７のSection_x_inputの先頭のＭ＋１枚のピクチャは、エンコードの参照画像およびプリエンコード用のデータとして用いられ、エンコード後のSection_x_inputの先頭のＭ＋１ピクチャは出力されない。図中Section_open xの部分のみが、エンコードされて出力される。
【０２４３】
まず、＃０エンコーダ４１−１乃至＃３エンコーダ４１−４に、Section_x_inputで示される部分がDisplay Orderで入力され、次にCoding Orderに並び替えられた後、エンコードが実行される。
【０２４４】
そして、以下の条件で部分的なプリエンコードを実行することにより、VBV Occupancyのつなぎ目を合わせるための情報を得る。
【０２４５】
セクション０以外のセクション１乃至セクション７においては、それぞれのエンコーダ４１に供給されるベースバンド信号の先頭、すなわち、ひとつ前のセクションにおいては、Ｐピクチャに対応するピクチャは、Iピクチャとしてエンコードされ、ローカルデコード画が得られる。
【０２４６】
また、セクション０以外のセクション１乃至セクション７においては、Coding Orderにおいてその次となるピクチャは、セクション先頭の２枚のBピクチャをエンコードするための参照画となるＩピクチャである。この参照画のIピクチャのエンコード条件は、方法２における場合と同様に、一つ前のセクションでエンコードする同じIピクチャと、完全に一致する様にする。もちろん、セクショングループの先頭セクションの参照画のエンコード条件は、前のセクション、すなわち、前のセクショングループの最後のセクションの同じピクチャのエンコード条件を引き継ぐようになされる。
【０２４７】
そして、Coding Orderにおいて次に続く２枚のBピクチャが、２枚のIピクチャを参照してエンコードされる。このエンコードは、その一つ前のセクションの最後の部分の発生符号量の制御のために用いられるパラメータを取得するためのプリエンコードであり、プリエンコードの結果得られる符号は、出力されない。
【０２４８】
すなわち、図２２に示されるように、#１エンコーダ４１−２乃至＃３エンコーダ４１−４において３ピクチャ目と４ピクチャ目にエンコードされるピクチャは、その一つ前のセクションの最後の２枚のBピクチャに対応するものである。そして、一つ前のセクションの最後の２枚のBピクチャは、遅れてエンコードされるので、そのエンコード時に、プリエンコード時に得られた発生符号量の情報を用いることにより、セクション終了点におけるVBV Buffer Occupancyを、目標値に精度よく合致させるようにすることができる。
【０２４９】
具体的には、図２２に示されるように、それぞれのエンコーダ４１に供給されたベースバンド信号において、２番目のピクチャからの１GOPの先頭および最後における仮のVBV Buffer OccupancyであるOccupancy_Start_Sec_closed、および、Occupancy_End_Sec_closedを基に、レートコントロールが実行されてIピクチャおよび２枚のBピクチャのプリエンコードが行われる。
【０２５０】
このプリエンコードの結果、実際のエンコードにおけるセクションの開始点のVBV Buffer OccupancyであるOccupancy_Start_Sec_open xが求められる。そして、セクションの最後、すなわち、それぞれのエンコーダ４１における１セクション分のエンコード終了点のVBV Buffer Occupancyが、次のSectionの開始点のVBV Buffer Occupancyと等しくなるように設定される。換言すれば、プリエンコードにより求められたセクション番号ｘの先頭のVBV Buffer Occupancyを、Occupancy_Start_Sec_openｘとし、セクション番号ｘの最後のVBV Buffer Occupancyを、Occupancy_End_Sec_open xとしたとき、Occupancy_End_Sec_open xがOccupancy_Start_Sec_open x+1に等しくなるように、それぞれのOccupancy_End_Sec_open xが設定される。これにより、個別にエンコードしたスト
リームをつなげた時に、VBV Buffer占有量の連続性を保つことができる。
【０２５１】
なお、それぞれのセクショングループの先頭のセクションの開始点におけるOccupancy_Start_Sec_openを決める処理は不要である。
【０２５２】
セクション１乃至セクション７における実際のエンコードは、セクション外のIIBBの４ピクチャのエンコードの終了後、参照画であるＩピクチャのローカルデコード画を用いて、セクション先頭のPピクチャから開始される。
【０２５３】
そして、セクション最後のIピクチャは、次のセクションの参照画として用いられたIピクチャと同一のエンコード条件でエンコードが実行される。すなわち、＃０エンコーダ４１−１乃至＃ｎ−１エンコーダ４１−ｎが、同一の機能を有するエンコーダである場合、同じアルゴリズムでエンコード処理が実行されるので、初期パラメータをあらかじめ決めておき、それを両方のＩピクチャのエンコードで使用するようにする。例えば、TM5のstep2を使って画面内のQスケールを決定するレートコントロールをしている場合、ピクチャの割り当てビットと最初のマクロブロックのQスケールを同じにする事で、同じエンコード結果を得ることができる。
【０２５４】
そして、セクションの最後の２枚のBピクチャは、次のセクションのエンコード前に異なるエンコーダ４１において実行されたプリエンコード結果を基に、発生符号量が調整されて、エンコードが実行される。
【０２５５】
具体的には、プリエンコード結果を用いて、Ｉピクチャのエンコード終了時点におけるOccupancyから、プリエンコードの条件で２枚のBピクチャをエンコードしたときの終了点のOccupancyを算出して、目標値となるOccupancy_End_Sec_openとの差分を求め、これを基に、エンコードの条件を変更して符号発生量の調整を行い、終了VBV Buffer OccupancyをOccupancy_End_Sec_openに合致させる。
【０２５６】
これにより、セクション間に、予測による相互関係がある場合においても、参照画像を用意するために複雑な処理を実行したり、ローカルデコード画の作成のために画質を劣化させることなく、複数のエンコーダ４１において、並列してセクションごとにエンコード処理を行うことが可能であるとともに、セクションの終端部分に対応するピクチャを、異なるエンコーダ２１を用いてプリエンコードし、その結果を基にレートコントロールを行うため、セクション間のバッファ占有量の合わせこみの精度が向上する。
【０２５７】
すなわち、方法３においては、方法２と同様に、方法１におけるセクションSection_closedを基準として、GOPのIピクチャまたはPピクチャの間隔M（一般的な１５ピクチャのMPEG LongGOPでは、M＝３）だけ分割位置を後ろにずらして、セクションの分割位置を決定する第４の制約と、参照画として用いられるIピクチャのエンコード条件は、一つ前のセクションでエンコードする同じIピクチャと、完全に一致する様にする第６の制約とが課せられるとともに、方法１および方法２とは異なり、全体のエンコード処理の先頭、すなわち、前のフレームが存在しないセクション番号０以外は、Section_open xに対して、Ｍ＋１枚分のピクチャ、すなわち、参照画として用いられるIピクチャと、それに続く２枚のBピクチャおよびそれらのBピクチャの参照画として用いられるピクチャ（実際のセクション内ではPピクチャであるが、プリエンコードにおいては、Iピクチャとしてエンコードされる）を加えた部分がエンコーダ４１に供給されるものとする第７の制約と、プリエンコードの結果に基づいて、プリエンコードされた部分に対応するピクチャ（ここでは、セクション最後の２枚のBピクチャ）の発生符号量を制御する第８の制約が、新たに課せられる。
【０２５８】
また、方法３においても、方法１および方法２と同様に、それぞれのセクションが供給されるエンコーダ４１が決定されるものとする。
【０２５９】
そして、方法３においても、方法１の第２の制約および第３の制約が、同様にして課せられる。
【０２６０】
すなわち、図８を用いて説明した場合と同様にして、それぞれのエンコーダ４１における１セクション分のエンコードの開始点、すなわち、セクション先頭のＰピクチャのVBV Buffer Occupancyをあらかじめ決めておき、セクションの最後、すなわち、それぞれのエンコーダ４１における１セクション分のエンコード終了点のVBV Buffer Occupancyが、次のSectionの開始点のVBV Buffer Occupancyと等しくなるように、エンコード処理を制御する。これにより、個別にエンコードしたストリームをつなげた時に、VBV Buffer占有量の連続性を保つことができる。なお、方法３においては、それぞれのエンコーダ４１における１セクション分のエンコードの開始点のVBV Buffer Occupancyを、プリエンコードの結果に基づいて決定することができる。
【０２６１】
また、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャに、方法２における場合と同様に、Quant Matrix Extensionが付加される。これにより、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなる。
【０２６２】
そして、エンコードされて得られた符号化ストリームは、ＣＰＵ２０の制御に基づいて、メモリ１８上において、結合される。
【０２６３】
次に、図２３のフローチャートを参照して、エンコード処理の第３の例であり、方法３に対応する、エンコード処理３について説明する。
【０２６４】
ステップＳ１８１乃至ステップＳ１８４において、図１６を用いて説明したステップＳ８１乃至ステップＳ８４と基本的に同様の処理が実行される。
【０２６５】
すなわち、ストリーム取得制御部１５１は、エンコーダユニット２４に含まれるエンコーダ４１のうち並列してエンコードを実行させるエンコーダ４１の数を決定し、エンコーダ４１への入力データの分割位置、すなわち、図２０乃至図２２を用いて説明したセクションとセクショングループを決定し、使用するエンコーダ４１の数のセクションの入力データを取得する。
【０２６６】
そして、符号化制御部１５４は、セクションの切れ目が、ＧＯＰの切れ目からＩピクチャまたはＰピクチャの間隔Ｍピクチャ分だけ後ろとなるように、例えば、一般的な１５ピクチャのLongGOPにおいては、GOPの先頭のBBIと、続く２枚のBピクチャとの間となるように、入力データのエンコード時におけるピクチャタイプを決定する。
【０２６７】
そして、ストリーム取得制御部１５１は、セクションごとのデータを入力するエンコーダ４１を決定する。
【０２６８】
ステップＳ１８５において、符号化制御部１５４は、セクショングループの先頭のセクションをエンコードするエンコーダに供給されるベースバンド信号のエンコードにおける開始VBV Buffer Occupancyの値は、前のセクションの終了値を引き継ぎ、他のセクションの開始点におけるVBV Buffer Occupancyの値として、２番目のピクチャからの１GOPのエンコードを実行する場合を仮定して、図２２を用いて説明した仮のVBV Buffer OccupancyであるOccupancy_Start_Sec_closedを決定する。
【０２６９】
ステップＳ１８６において、符号化制御部１５４は、２番目のピクチャからの１GOPのエンコードを実行する場合を仮定して、図２２を用いて説明した仮の終了VBV Buffer OccupancyであるOccupancy_End_Sec_closedを決定する。
【０２７０】
ステップＳ１８７において、図２４を用いて後述するプリエンコード処理が実行される。
【０２７１】
ステップＳ１８８において、符号化制御部１５４は、セクショングループの中の最後のセクション以外の終了点におけるVBV Buffer Occupancyの値を、プリエンコードで得られた次のセクションの開始点におけるVBV Buffer Occupancyの値に決定する。
【０２７２】
ステップＳ１８９において、図２５乃至図２７を用いて後述するセクションのエンコード処理２が実行される。
【０２７３】
そして、ステップＳ１９０乃至ステップＳ１９３において、図１６を用いて説明したステップＳ８９乃至ステップＳ９２と同様の処理が実行される。
【０２７４】
すなわち、エンコードしたセクショングループの最後のセクションの終了VBV Occupancyの値が、次のセクショングループのエンコードのために一時保存され、エンコードしたセクショングループの最後のセクションのIピクチャのエンコード条件が、次のセクショングループのエンコードのために一時保存される。そして、エンコーダユニット２４からＰＣＩブリッジ１７に供給された符号化ストリームの、メモリ１８におけるアドレスを制御することにより、並列で使用されたエンコードの数と等しい数のセクションのエンコーダ出力データ、すなわち、セクションに対応する所定長の符号化ストリームの結合が制御される。
【０２７５】
そして、エンコードは終了されるか否かが判断され、エンコードが終了されないと判断された場合、処理は、ステップＳ１８１に戻り、それ以降の処理が繰り返され、エンコードが終了されると判断された場合、処理が終了される。
【０２７６】
このような処理により、セクション間に、予測による関係があっても、画質の劣化を発生することなく参照画をＩピクチャとして用意することができ、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなり、VBV Buffer Occupancyが、セクション間で連続するので、複数のエンコーダ４１において並列して個別にエンコードされた符号化ストリームを、メモリ１８上でそのまま接続して、破綻のない符号化ストリームを得ることができる。
【０２７７】
したがって、複数のエンコーダ４１を並列にエンコードさせる事により、高速なLong GOP構造の符号化処理を行う事が可能となる。
【０２７８】
また、セクショングループ先頭セクションに対応するＧＯＰをClosedGOPとせず、OpenGOPとすることができるので、方法１と比較して、エンコードによる画質の劣化を抑制することが可能となる。
【０２７９】
更に、プリエンコードを実行し、その結果を用いて符号発生量を制御するものとしたので、方法１および方法２と比較して、メモリ１８上で接続された符号化ストリームにおいて、セクション間のOccupancyの連続性を精度よく制御することができる。
【０２８０】
次に、図２４のフローチャートを参照して、図２３のステップＳ１８７において実行される、プリエンコード処理について説明する。
【０２８１】
プリエンコード処理は、符号化制御部１５４により、それぞれのエンコーダ４１ごとに、個別に制御が実行されるものである。
【０２８２】
ステップＳ２２１において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、エンコードが実行されるデータの先頭のセクションのピクチャであるか否かが判断される。ステップＳ２２１において、先頭のセクションのピクチャであると判断された場合、処理は、図２３のステップＳ１８７に戻り、ステップＳ１８８に進む。
【０２８３】
ステップＳ２２１において、先頭のセクションのピクチャではないと判断された場合、ステップＳ２２２において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクショングループの先頭のセクションであるか否かを判断する。ステップＳ２２２において、セクショングループの先頭のセクションであると判断された場合、処理は、後述するステップＳ２３０に進む。
【０２８４】
ステップＳ２２２において、セクショングループの先頭のセクションではないと判断された場合、ステップＳ２２３において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、供給された最初のピクチャであるか否かを判断する。
【０２８５】
ステップＳ２２３において、供給された最初のピクチャであると判断された場合、ステップＳ２２４において、符号化制御部１５４は、そのピクチャをＩピクチャとしてエンコードを行い、プリエンコード用の参照画を取得して、処理は、後述するステップＳ２２９に進む。
【０２８６】
ステップＳ２２３において、供給された最初のピクチャではないと判断された場合、ステップＳ２２５において、符号化制御部１５４は、上述したステップＳ１８６において決定された、図２２を用いて説明した仮の終了点VBV Buffer OccupancyであるOccupancy_End_Sec_closedに、終了点のバッファ占有量が近づくように、レート制御を行いながら、エンコードを行う。
【０２８７】
ステップＳ２２６において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、供給された２番目のピクチャであるか否かを判断する。
【０２８８】
ステップＳ２２６において、２番目のピクチャであると判断された場合、ステップＳ２２７において、符号化制御部１５４は、セクション内のピクチャの参照用のＩピクチャを取得する。
【０２８９】
ステップＳ２２６において、２番目のピクチャではないと判断された場合、または、ステップＳ２２７の処理の終了後、ステップＳ２２８において、符号化制御部１５４は、実行されたエンコードのエンコード条件および発生符号量を、上位ＣＰＵ，すなわち、ＣＰＵ２０に供給する。
【０２９０】
ステップＳ２２４、または、ステップＳ２２８の処理の終了後、ステップＳ２２９において、符号化制御部１５４は、エンコードが実行されたのは、（Ｍ＋１）番目のピクチャであるか否かを判断する。ステップＳ２２９において、（Ｍ＋１）番目のピクチャではないと判断された場合、処理は、ステップＳ２２３に戻り、それ以降の処理が繰り返される。ステップＳ２２９において、（Ｍ＋１）番目のピクチャであると判断された場合、処理は、図２３のステップＳ１８７に戻り、ステップＳ１８８に進む。
【０２９１】
ステップＳ２２２において、セクショングループの先頭のセクションであると判断された場合、ステップＳ２３０において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、供給された２番目のピクチャであるか否かを判断する。ステップＳ２３０において、供給された２番目のピクチャではないと判断された場合、処理は、後述するステップＳ２３３に進む。
【０２９２】
ステップＳ２３０において、供給された２番目のピクチャであると判断された場合、ステップＳ２３１において、符号化制御部１５４は、そのピクチャを、前のセクション、すなわち、前のセクショングループの最後のセクションの最後のＩピクチャと同一の固定の条件で、Ｉピクチャとしてエンコードを行う。
【０２９３】
ステップＳ２３２において、符号化制御部１５４は、セクション内のピクチャの参照画を取得する。
【０２９４】
ステップＳ２３０において、供給された２番目のピクチャではないと判断された場合、または、ステップＳ２３２の処理の終了後、ステップＳ２３３において、符号化制御部１５４は、エンコードが実行されたのは、（Ｍ＋１）番目のピクチャであるか否かを判断する。ステップＳ２３３において、（Ｍ＋１）番目のピクチャではないと判断された場合、処理は、ステップＳ２３０に戻り、それ以降の処理が繰り返される。ステップＳ２３３において、（Ｍ＋１）番目のピクチャであると判断された場合、処理は、図２３のステップＳ１８７に戻り、ステップＳ１８８に進む。
【０２９５】
このような処理により、それぞれのエンコーダで、セクション前のＭ＋１枚のピクチャのプリエンコードが実行されて、発生符号量の調整のために用いられるパラメータや、セクション内のピクチャのエンコードに用いられる参照画が取得される。
【０２９６】
次に、図２５乃至図２７を参照して、図２３のステップＳ１８９において実行される、セクションのエンコード処理２について説明する。
【０２９７】
セクションのエンコード処理２は、符号化制御部１５４により、それぞれのエンコーダ４１ごとに、個別に制御が実行されるものである。
【０２９８】
ステップＳ２６１において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、先頭のセクションのピクチャであるか否かが判断される。ステップＳ２６１において、先頭のセクションのピクチャであると判断された場合、処理は、後述するステップＳ２８５に進む。
【０２９９】
ステップＳ２６１において、先頭のセクションのピクチャではないと判断された場合、ステップＳ２６２において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクショングループの最後のセクションであるか否かを判断する。ステップＳ２６２において、セクショングループの最後のセクションであると判断された場合、処理は、後述するステップＳ２７７に進む。
【０３００】
ステップＳ２６２において、セクショングループの最後のセクションではないと判断された場合、ステップＳ２６３において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最初のピクチャであるか否かを判断する。ステップＳ２６３において、セクションの最初のピクチャではないと判断された場合、処理は、後述するステップＳ２６６に進む。
【０３０１】
ステップＳ２６３において、セクションの最初のピクチャであると判断された場合、すなわち、エンコーダ４１に供給されたＭ＋２番目のピクチャであるＰピクチャであると判断された場合、ステップＳ２６４において、符号化制御部１５４は、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャに、Quant Matrix Extensionを付加する。これにより、Q-Matrixが、セクション毎にリセットされ、他のセクションのエンコード結果の影響を受けなくなる。
【０３０２】
ステップＳ２６５において、符号化制御部１５４は、それぞれのエンコーダ４１における１セクション分のエンコードの開始点のVBV Buffer Occupancy、換言すれば、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャのVBV Buffer Occupancyを、指定された所定の値、例えば、プリエンコードの終了時のバッファ占有量にセットし、処理は、後述するステップＳ２６８に進む。
【０３０３】
ステップＳ２６３において、セクションの最初のピクチャではないと判断された場合、ステップＳ２６６において、符号化制御部１５４は、ＭＰＥＧの規則に従い、必要に応じて、Quant Matrix Extensionを付加する。
【０３０４】
ステップＳ２６７において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャであるか否かを判断する。ステップＳ２６７において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャではないと判断された場合、処理は、後述するステップＳ２６９に進む。
【０３０５】
ステップＳ２６５の処理の終了後、または、ステップＳ２６７において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャであると判断された場合、すなわち、あるエンコーダ４１においてエンコードされるピクチャがセクション先頭のＰＢＢピクチャのいずれかであった場合、ステップＳ２６８において、符号化制御部１５４は、該当するピクチャのエンコードに、参照画として最初に入力されたＩピクチャが使用されるものとして、処理は、後述するステップＳ２７２に進む。
【０３０６】
ステップＳ２６７において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャではないと判断された場合、ステップＳ２６９において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のＩピクチャよりも前のピクチャであるか否かを判断する。ステップＳ２６９において、セクションの最後のＩピクチャよりも前のピクチャであると判断された場合、処理は、後述するステップＳ２７２に進む。
【０３０７】
ステップＳ２６９において、セクションの最後のＩピクチャよりも前のピクチャではないと判断された場合、ステップＳ２７０において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のＢピクチャのうちのいずれかであるか否かを判断する。ステップＳ２７０において、セクションの最後のＢピクチャのうちのいずれかであると判断された場合、処理は、後述するステップＳ２７５に進む。
【０３０８】
ステップＳ２７０において、セクションの最後のＢピクチャのうちのいずれかではないと判断された場合、ステップＳ２７１において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のＩピクチャであるか否かを判断する。ステップＳ２７１において、セクションの最後のＩピクチャであると判断された場合、処理は、後述するステップＳ２７３に進み、セクションの最後のＩピクチャではないと判断された場合、処理は、後述するステップＳ２７４に進む。
【０３０９】
ステップＳ２６８の処理の終了後、または、ステップＳ２６９において、セクションの最後のＩピクチャよりも前のピクチャであると判断された場合、ステップＳ２７２において、符号化制御部１５４は、指定された仮のVBV Buffer Occupancy終了値にバッファ占有量が近づくようにレート制御を行いながら、エンコード処理を実行し、処理は、後述するステップＳ２７６に進む。
【０３１０】
ステップＳ２７１において、セクションの最後のＩピクチャであると判断された場合、ステップＳ２７３において、符号化制御部１５４は、並行して他のエンコーダ４１において参照画としてエンコードされている対応するＩピクチャと同一の、固定の条件で、Ｉピクチャをエンコードし、処理は、後述するステップＳ２７６に進む。
【０３１１】
ステップＳ２７１において、セクションの最後のＩピクチャではないと判断された場合、ステップＳ２７４において、符号化制御部１５４は、指定されたVBV Buffer Occupancy終了値にバッファ占有量が近づくように、プリエンコードの情報を用いてレート制御を行いながら、エンコード処理を実行し、処理は、後述するステップＳ２７６に進む。
【０３１２】
ステップＳ２７０において、セクションの最後のＢピクチャのうちのいずれかであると判断された場合、ステップＳ２７５において、符号化制御部１５４は、指定されたVBV Buffer Occupancy終了値にバッファ占有量が一致するように、プリエンコードの情報を用いてレート制御を行いながら、エンコード処理を実行し、処理は、後述するステップＳ２７６に進む。
【０３１３】
ステップＳ２７２、ステップＳ２７３、ステップＳ２７４、または、ステップＳ２７５の処理の終了後、ステップＳ２７６において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であるか否かを判断する。ステップＳ２７６において、符号化制御部１５４は、該当するセクションのエンコード処理は終了ではないと判断された場合、処理は、ステップＳ２６３に戻り、それ以降の処理が繰り返される。ステップＳ２７６において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であると判断された場合、処理は、図２３のステップＳ１８９に戻り、ステップＳ１９０に進む。
【０３１４】
ステップＳ２６２において、セクショングループの最後のセクションであると判断された場合、ステップＳ２７７乃至ステップＳ２８０において、上述したステップＳ２６３乃至ステップＳ２６６と基本的に同様の処理が実行される。
【０３１５】
すなわち、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最初のピクチャである、すなわち、エンコーダ４１に供給されたＭ＋２番目のピクチャであるＰピクチャであると判断された場合、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャに、Quant Matrix Extensionが付加され、それぞれのエンコーダ４１における１セクション分のエンコードの開始点のVBV Buffer Occupancyが、指定された所定の値、例えば、プリエンコードの終了時のバッファ占有量にセットされる。
【０３１６】
そして、セクションの最初のピクチャではないと判断された場合、ＭＰＥＧの規則に従い、必要に応じて、Quant Matrix Extensionが付加される。
【０３１７】
ステップＳ２８０の処理の終了後、ステップＳ２８１において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャであるか否かを判断する。ステップＳ２８１において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャではないと判断された場合、処理は、後述するステップＳ２８３に進む。
【０３１８】
ステップＳ２７９の処理の終了後、または、ステップＳ２８３において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャであると判断された場合、すなわち、あるエンコーダ４１においてエンコードされるピクチャがセクション先頭のＰＢＢピクチャのいずれかであった場合、ステップＳ２８２において、符号化制御部１５４は、該当するピクチャのエンコードに、参照画として最初に入力されたＩピクチャが使用されるものとする。
【０３１９】
ステップＳ２８１において、セクションの２番目のピクチャであるＰピクチャより前のＢピクチャではないと判断された場合、または、ステップＳ２８２の処理の終了後、ステップＳ２８３において、符号化制御部１５４は、通常のレート制御を行いながら、エンコード処理を実行する。
【０３２０】
ステップＳ２８４において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であるか否かを判断する。ステップＳ２８４において、符号化制御部１５４は、該当するセクションのエンコード処理は終了ではないと判断された場合、処理は、ステップＳ２７７に戻り、それ以降の処理が繰り返される。ステップＳ２８４において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であると判断された場合、処理は、図２３のステップＳ１８９に戻り、ステップＳ１９０に進む。
【０３２１】
ステップＳ２６１において、先頭のセクションのピクチャであると判断された場合、ステップＳ２８５において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最初のピクチャであるか否かを判断する。
【０３２２】
ステップＳ３８５において、セクションの最初のピクチャであると判断された場合、すなわち、エンコーダ４１に供給されたＭ＋２番目のピクチャであるＰピクチャであると判断された場合、ステップＳ３８６において、符号化制御部１５４は、それぞれのエンコーダ４１における１セクション分のエンコードの開始点のVBV Buffer Occupancy、換言すれば、セクションの先頭、すなわち、それぞれのエンコーダ４１においてエンコードされて生成される符号化ストリームの先頭となるＰピクチャのVBV Buffer Occupancyを、指定された所定の値、例えば、プリエンコードの終了時のバッファ占有量にセットし、処理は、後述するステップＳ２８８に進む。
【０３２３】
ステップＳ３８５において、セクションの最初のピクチャではないと判断された場合、ステップＳ２８７において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のＩピクチャよりも前のピクチャであるか否かを判断する。
【０３２４】
ステップＳ２８６の処理の終了後、または、ステップＳ２８７において、セクションの最後のＩピクチャよりも前のピクチャであると判断された場合、ステップＳ２８８において、符号化制御部１５４は、指定された仮のVBV Buffer Occupancy終了値にバッファ占有量が近づくようにレート制御を行いながら、エンコード処理を実行し、処理は、後述するステップＳ２９４に進む。
【０３２５】
ステップＳ２８７において、セクションの最後のＩピクチャよりも前のピクチャではないと判断された場合、ステップＳ２８９において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のＢピクチャのうちのいずれかであるか否かを判断する。ステップＳ２８９において、セクションの最後のＢピクチャのうちのいずれかであると判断された場合、処理は、後述するステップＳ２９３に進む。
【０３２６】
ステップＳ２８９において、セクションの最後のＢピクチャのうちのいずれかではないと判断された場合、ステップＳ２９０において、符号化制御部１５４は、あるエンコーダ４１においてエンコードされるピクチャは、セクションの最後のＩピクチャであるか否かを判断する。
【０３２７】
ステップＳ２９０において、セクションの最後のＩピクチャであると判断された場合、ステップＳ２９１において、符号化制御部１５４は、並行して他のエンコーダ４１において参照画としてエンコードされている対応するＩピクチャと同一の、固定の条件で、Ｉピクチャをエンコードし、処理は、後述するステップＳ２９４に進む。
【０３２８】
ステップＳ２９０において、セクションの最後のＩピクチャではないと判断された場合、ステップＳ２９２において、符号化制御部１５４は、指定されたVBV Buffer Occupancy終了値にバッファ占有量が近づくように、プリエンコードの情報を用いてレート制御を行いながら、エンコード処理を実行し、処理は、後述するステップＳ２９４に進む。
【０３２９】
ステップＳ２８９において、セクションの最後のＢピクチャのうちのいずれかであると判断された場合、ステップＳ２９３において、符号化制御部１５４は、指定されたVBV Buffer Occupancy終了値にバッファ占有量が一致するように、プリエンコードの情報を用いてレート制御を行いながら、エンコード処理を実行し、処理は、後述するステップＳ２９４に進む。
【０３３０】
ステップＳ２８８、ステップＳ２９１、ステップＳ２９２、または、ステップＳ２９３の処理の終了後、ステップＳ２９４において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であるか否かを判断する。ステップＳ２９４において、符号化制御部１５４は、該当するセクションのエンコード処理は終了ではないと判断された場合、処理は、ステップＳ２８５に戻り、それ以降の処理が繰り返される。ステップＳ２９４において、符号化制御部１５４は、該当するセクションのエンコード処理は終了であると判断された場合、処理は、図２３のステップＳ１８９に戻り、ステップＳ１９０に進む。
【０３３１】
このような処理により、所定の制約を基に、第３の方法によって、それぞれのセクションがエンコードされる。このようにエンコーダ４１のそれぞれを制御することにより、個別にエンコードしたストリームをメモリ１８上で結合して、一つの連続なストリームとする事が可能になり、また、複数のエンコーダ４１を用いて１つのセクショングループに含まれる複数のセクションを、セクションごとに並列にエンコードさせる事により、高速なLong GOP構造の圧縮符号化を行う事が可能となる。
【０３３２】
具体的には、方法３のエンコード処理においては、方法１および方法２と同様の第２の制約および第３の制約とともに、方法２と同様の第４の制約、および、第６の制約が課せられ、更に、方法１および方法２とは異なる法則である、全体のエンコード処理の先頭、すなわち、前のフレームが存在しないセクション番号０以外は、Section_open xに対して、Ｍ＋１枚分のピクチャ、すなわち、参照画として用いられるIピクチャと、それに続く２枚のBピクチャおよびそれらのBピクチャの参照画として用いられるピクチャ（実際のセクション内ではPピクチャであるが、プリエンコードにおいては、Iピクチャとしてエンコードされる）を加えた部分がエンコーダ４１に供給されるものとする第７の制約と、プリエンコードの結果に基づいて、発生符号量を制御する第８の制約が、新たに課せられている。
【０３３３】
この第７および第８の制約に基づいてエンコーダを制御することにより、セクションごとに個別にエンコードしたストリームのVBV Bufferの接続を精度よく行い、一つの連続なストリームとする事が可能になる。
【０３３４】
このような構成を有することにより、編集装置１は、通常のエンコーダを複数用いる事で、高速なLong GOP構造のエンコード処理を実行することが可能になる。つまり、新たなエンコーダを用意することなく、現状のエンコーダを複数個組み合わせる事で、高速エンコードを実現することができる。これにより、例えば、非圧縮の素材や、Intra Frame構造で圧縮された素材を、Long GOP構造の圧縮に変換する処理や、ストリームを所定の編集点で接続して編集する処理を短時間で行う事が出来る。
【０３３５】
なお、ここでは、コーディックの方式としてＭＰＥＧを用いた場合を例として説明しているが、フレーム相関を伴うコーディック処理を行う場合、バッファモデリングにしたがうコーディック処理を行う場合においても、本発明は適用可能であることはいうまでもない。例えば、ＡＶＣ（Advanced Video Coding）／Ｈ．２６４などにおいて、本発明は適用可能である。
【０３３６】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、例えば、図１を用いて説明した編集装置１は、図２８に示されるようなパーソナルコンピュータ２０１により構成される。
【０３３７】
図２８において、ＣＰＵ（Central Processing Unit）２１１は、ＲＯＭ（Read Only Memory）２１２に記憶されているプログラム、または記憶部２１８からＲＡＭ（Random Access Memory）２１３にロードされたプログラムにしたがって、各種の処理を実行する。ＲＡＭ２１３にはまた、ＣＰＵ２１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３３８】
ＣＰＵ２１１、ＲＯＭ２１２、およびＲＡＭ２１３は、バス２１４を介して相互に接続されている。このバス２１４にはまた、入出力インタフェース２１５も接続されている。
【０３３９】
入出力インタフェース２１５には、キーボード、マウスなどよりなる入力部２１６、ディスプレイやスピーカなどよりなる出力部２１７、ハードディスクなどより構成される記憶部２１８、モデム、ターミナルアダプタなどより構成される通信部２１９が接続されている。通信部２１９は、インターネットを含むネットワークを介しての通信処理を行う。
【０３４０】
入出力インタフェース２１５にはまた、必要に応じてドライブ２２０が接続され、磁気ディスク２３１、光ディスク２３２、光磁気ディスク２３３、もしくは、半導体メモリ２３４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２１８にインストールされる。
【０３４１】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０３４２】
この記録媒体は、図２８に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク２３１（フロッピディスクを含む）、光ディスク２３２（ＣＤ-ＲＯＭ（Compact Disk-Read Only Memory），ＤＶＤ（Digital Versatile Disk）を含む）、光磁気ディスク２３３（ＭＤ（Mini-Disk）（商標）を含む）、もしくは半導体メモリ２３４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているＲＯＭ２１２や、記憶部２１８に含まれるハードディスクなどで構成される。
【０３４３】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３４４】
更に、上述した一連の処理は、複数のサブＣＰＵコアを用いて並列に実行させることによっても実現可能である。この場合、例えば、図１を用いて説明した編集装置１は、図２９に示されるような編集システムにより構成される。
【０３４５】
図２９に示すように、図１の編集装置１に対応する編集システムは、編集装置２８１、編集装置２８１とPCIバス２８２によって接続された、記憶装置２８３および複数台のビデオテープレコーダ（ＶＴＲ）２８４−１乃至２８４−Ｓ、並びに、ユーザがこれらに対する操作入力を行うためのマウス２８５、キーボード２８６、および、操作コントローラ２８７から構成されている。
【０３４６】
この編集システムでは、記憶装置２８３に取り込まれた動画コンテンツを所望状態につなぎ合わせて所望の編集映像音声を得ることができ、その結果得られた編集映像及び編集音声を新たなクリップとして、ＲＡＩＤ（Redundant Arrays of Independent Disks）でなる大容量の記憶装置２８３に蓄積したり、ビデオテープレコーダ２８４−１乃至２８４−Ｓを介してビデオテープに記録し得るようになされている。また、ビデオテープレコーダ２８４−１乃至２８４−Ｓに装着されたビデオテープに記録された静止画コンテンツについても記憶装置２８３に取り込み得るようになされている。
【０３４７】
編集装置２８１は、マイクロプロセッサ３０１、ＧＰＵ（Graphics Processing Unit）３０２、ＸＤＲ（Extreme Data Rate）−ＲＡＭ３０３、サウスブリッジ３０４、ＨＤＤ３０５、ＵＳＢインタフェース３０６およびサウンド入出力コーデック３０７を含んで構成されている。
【０３４８】
編集装置２８１においては、マイクロプロセッサ３０１に対してＧＰＵ３０２、ＸＤＲ−ＲＡＭ３０３およびサウスブリッジ３０４が接続されるとともに、サウスブリッジ３０４にＨＤＤ３０５、ＵＳＢインタフェース３０６、および、サウンド入出力コーデック３０７が接続されている。このサウンド入出力コーデック３０７にはスピーカ３２１が接続されている。また、ＧＰＵ３０２にはディスプレイ３２２が接続されている。
【０３４９】
またサウスブリッジ３０４には、ＰＣＩバス２８２を介して、マウス２８５、キーボード２８６、ビデオテープレコーダ２８４−１乃至２８４−Ｓ、記憶装置２８３、および、操作コントローラ２８７が接続されている。
【０３５０】
マウス２８５およびキーボード２８６は、ユーザの操作入力を受け、ＰＣＩバス２８２およびサウスブリッジ３０４を介して、ユーザの操作入力の内容を示す信号を、マイクロプロセッサ３０１に供給する。記憶装置２８３およびビデオテープレコーダ２８４−１乃至２８４−Ｓは、所定のデータを記録または再生できるようになされている。
【０３５１】
マイクロプロセッサ３０１は、ＯＳ（Operating System）等の基本プログラムを実行する汎用のメインＣＰＵコア３４１と、メインＣＰＵコア３４１に内部バス３４５を介して接続された複数（この場合８個）のＲＩＳＣ（Reduced Instruction Set Computer）タイプの信号処理プロセッサ（以下、これをサブＣＰＵコアと称する）３４２−１乃至３４２−８と、例えば２５６[MByte]の容量を持つＸＤＲ−ＲＡＭ３０３に対するメモリコントロールを行うメモリコントローラ３４３と、サウスブリッジ３０４との間でデータの入出力を管理するＩ／Ｏ（In/Out）コントローラ３４４とが１チップに集積されたマルチコア構成でなり、例えば動作周波数４[GHz]を実現している。
【０３５２】
この編集装置２８１のマイクロプロセッサ３０１は、例えば、ＭＰＥＧ、ＪＰＥＧ(Joint Photographic Experts Group)2000、H.264／AVC(Advanced Video Coding)等のコーデックの役割を担い、エンコードの結果得られた符号化ストリームを、サウスブリッジ３０４を介して、ＨＤＤ３０５に供給して記憶させたり、デコードした結果得られる動画または静止画のコンテンツの再生映像を、ＧＰＵ３０２へデータ転送して、ディスプレイ３２２に表示させることができるとともに、コーデック処理に関する物理演算等を行うようになされている。
【０３５３】
また、マイクロプロセッサ３０１は、処理されるベースバンド信号または符号化ストリームが有する種々のパラメータを抽出する処理も実行可能なようになされている。
【０３５４】
特に、マイクロプロセッサ３０１では、８個のサブＣＰＵコア３４２−１乃至３４２−８が、エンコーダユニットを構成するエンコーダの役割をそれぞれ担い、８個のサブＣＰＵコア３４２−１乃至３４２−８が、ベースバンド信号を同時並列的にエンコードすることが可能である。
【０３５５】
このように、マイクロプロセッサ３０１は、８個のサブＣＰＵコア３４２−１乃至３４２−８によって同時並列的にエンコード処理を実行することができるようになされている。
【０３５６】
また、マイクロプロセッサ３０１の８個のサブＣＰＵコア３４２−１乃至３４２−８は、そのうちの一部がエンコード処理を、他の部分がデコード処理を、同時並列的に実行することも可能である。
【０３５７】
例えば、ＰＣＩバス２８２に、独立したエンコーダまたはデコーダ、もしくは、コーデック処理装置が接続されている場合、更に、マイクロプロセッサ３０１の８個のサブＣＰＵコア３４２−１乃至３４２−８は、サウスブリッジ３０４およびＰＣＩバス２８２を介して、これらの装置が実行する処理を制御することができるようになされている。これらの装置が複数接続されている場合、または、これらの装置が複数のデコーダまたはエンコーダを含んでいる場合、マイクロプロセッサ３０１の８個のサブＣＰＵコア３４２−１乃至３４２−８は、複数のデコーダまたはエンコーダが実行する処理を、分担して制御することが可能である。
【０３５８】
またメインＣＰＵコア３４１は、８個のサブＣＰＵコア３４２−１乃至３４２−８が行う以外の処理や管理を行うようになされており、サウスブリッジ３０４を介してマウス２８５、キーボード２８６、または、操作コントローラ２８７から供給された命令を受け付け、命令に応じた種々の処理を実行する。
【０３５９】
すなわち、マイクロプロセッサ３０１は、起動時、ＨＤＤ３０５に格納された制御プログラムに基づき、ＨＤＤ３０５に格納されている必要なアプリケーションプログラムを読み出してＸＤＲ−ＲＡＭ３０３に展開し、この後このアプリケーションプログラム及びオペレータ操作に基づいて必要な制御処理を実行する。
【０３６０】
ＧＰＵ３０２は、ディスプレイ３２２に表示する動画コンテンツの再生映像を動かすときのテクスチャの張り込みなどに関する最終的なレンダリング処理に加えて、動画コンテンツの再生映像及び静止画コンテンツの静止画像をディスプレイ３２２に一度に複数表示するときの座標変換計算処理や、動画コンテンツの再生映像及び静止画コンテンツの静止画像に対する拡大・縮小処理等を行う機能を司り、マイクロプロセッサ３０１の処理負担を軽減させるようになされている。
【０３６１】
ＧＰＵ３０２は、マイクロプロセッサ３０１の制御のもとに、供給された動画コンテンツの映像データや静止画コンテンツの画像データに対して所定の信号処理を施し、その結果得られた映像データや画像データをディスプレイ３２２へ送出して、画像信号をディスプレイ３２２へ表示させる。
【０３６２】
ところで、マイクロプロセッサ３０１における８個のサブＣＰＵコア３４２−１乃至３４２−８で同時並列的にデコードされた複数の動画コンテンツにおける再生映像は、バス３１１を介してＧＰＵ３０２へデータ転送されるのだが、このときの転送速度は、例えば、最大３０[Gbyte/sec]であり、特殊効果の施された複雑な再生映像であっても高速かつ滑らかに表示し得るようになされている。
【０３６３】
一方、マイクロプロセッサ３０１は、動画コンテンツの映像データ及び音声データのうち音声データに対して音声ミキシング処理を施し、その結果得られた編集音声データを、サウスブリッジ３０４およびサウンド入出力コーデック３０７を介して、スピーカ３２１へ送出することにより、音声信号に基づく音声をスピーカ３２１から出力させることもできる。
【０３６４】
上述した一連のエンコード処理は、このような編集システムのマイクロプロセッサ３０１が有する、複数のサブＣＰＵコアを用いて並列に実行、または、制御させることによっても実現可能である。
【０３６５】
なお、上述の実施の形態においては、編集装置１が、それぞれ、デコーダとエンコーダを有しているものとして説明したが、デコーダおよびエンコーダが、それぞれ、独立した装置として構成されている場合においても、本発明は適用可能である。例えば、図３０に示されるように、ストリームデータを復号してベースバンド信号に変換する復号装置３７１、ベースバンド信号を符号化してストリームデータに変換する符号化装置３７２が、それぞれ独立した装置として構成されていても良い。
【０３６６】
このとき、復号装置３７１は、映像素材である圧縮符号化データを復号し、符号化装置３７２に供給するのみならず、本発明を適用することにより符号化装置３７２により部分的に符号化された後、編集されて生成された圧縮符号化データの供給を受け、復号処理を行い、ベースバンド信号に変換することができる。ベースバンド信号に変換された編集後のストリームは、例えば、所定の表示装置に供給されて表示されたり、他の装置に出力されて、必要な処理が施される。
【０３６７】
さらに、上述の実施の形態においては、デコーダユニット２２が、供給された圧縮符号化データを完全にデコードせず、対応するエンコーダユニット２４が、非完全に復号されたデータの対応する部分を部分的にエンコードする場合においても、本発明は適用可能である。
【０３６８】
例えば、デコーダユニット２２が、ＶＬＣ符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していなかった場合、エンコーダユニット２４は、量子化および可変長符号化処理を行うが、DCT変換処理は行わない。このような部分的な符号化（中途段階からの符号化）を行うエンコーダにおいても、本発明を適用することができるのは言うまでもない。
【０３６９】
さらに、上述の実施の形態においては、デコーダユニット２２が完全に復号したベースバンド信号を、エンコーダユニット２４が中途段階まで符号化する場合（例えば、DCT変換および量子化を行うが可変長符号化処理を行わないなど）や、デコーダユニット２２が完全に復号していない（例えば、ＶＬＣ符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していない）ため、中途段階まで符号化されているデータに対して、エンコーダユニット２４が更に中途段階まで符号化する場合など（例えば、量子化を行うが可変長符号化処理を行わないなど）においても、本発明は適用可能である。
【０３７０】
更に、図３０に示される復号装置３７１が、供給されたストリームデータを完全に復号せず、対応する符号化装置３７２が、非完全に復号されたデータの対応する部分を部分的に符号化する場合においても、本発明は適用可能である。
【０３７１】
例えば、復号装置３７１が、ＶＬＣ符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していなかった場合、符号化装置３７２は、量子化および可変長符号化処理を行うが、DCT変換処理は行わない。このような部分的な復号処理（中途段階までの復号）を行う復号装置３７１のデコード処理、および、符号化（中途段階からの符号化）を行う符号化装置３７２のエンコード処理において、本発明を適用することができるのは言うまでもない。
【０３７２】
更に、復号装置３７１が完全に復号したベースバンド信号を、符号化装置３７２が中途段階まで符号化する場合（例えば、DCT変換および量子化を行うが可変長符号化処理を行わないなど）や、復号装置３７１が完全に復号していない（例えば、ＶＬＣ符号に対する復号および逆量子化のみを行い、逆DCT変換を実行していない）ため、中途段階まで符号化されているデータに対して、符号化装置３７２が更に中途段階まで符号化する場合など（例えば、量子化を行うが可変長符号化処理を行わないなど）においても、本発明は適用可能である。
【０３７３】
更に、このような部分的な復号を行う（復号処理の工程のうちの一部を実行する）符号化装置３１と部分的な符号化を行う（符号化処理の工程のうちの一部を実行する）符号化装置３７２で構成されたトランスコーダ３８１においても、本発明は適用可能である。このようなトランスコーダ３８１は、例えば、スプライシングなどの編集を行う編集装置３８２、すなわち、上述した編集装置１のストリームスプライサ２５やエフェクト／スイッチ２６が実行可能な機能を有する編集装置が利用される場合などに用いられる。
【０３７４】
さらに、上述の実施の形態においては、ＣＰＵ１１およびＣＰＵ２０がそれぞれ別の形態で構成されているが、これに限らず、編集装置１全体を制御する１つのＣＰＵとして構成する形態も考えられる。同様に、上述の実施の形態においては、メモリ１３およびメモリ２１がそれぞれ別の形態で構成されているが、これに限らず、編集装置１において１つのメモリとして構成する形態も考えられる。
【０３７５】
さらに、上述の実施の形態においては、ＣＰＵ１１およびＣＰＵ２０と、ＨＤＤ１６、デコーダユニット２２、セレクタ２３、および、エンコーダユニット２４とを、それぞれ、ブリッジおよびバスを介して接続し、編集装置として一体化されている場合について述べたが、本発明はこれに限らず、例えば、これらの構成要素のうちの一部が、外部から有線または無線で接続されるようにしても良いし、これらの構成要素は、この他、種々の接続形態で相互に接続されるようにしてもよい。
【０３７６】
さらに、上述の実施の形態においては、圧縮符号化された符号化ストリーム、または、非圧縮のベースバンド信号がＨＤＤに記憶されている場合について述べたが、本発明はこれに限らず、例えば、光ディスク、光磁気ディスク、半導体メモリ、磁気ディスク等の種々の記録媒体に記録された符号化ストリーム、または、ベースバンド信号を用いて処理を行う場合にも適用することができる。
【０３７７】
さらに、上述の実施の形態においては、デコーダユニット２２、セレクタ２３、および、エンコーダユニット２４は、同一の拡張カード（例えば、PCIカード、PCI−Expressカード）に搭載する形態に限らず、例えばPCI−Expressなどの技術によりカード間の転送速度が高い場合には、それぞれ別の拡張カードに搭載してもよい。
【０３７８】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０３７９】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０３８０】
【図１】編集装置の構成を示すブロック図である。
【図２】編集装置の機能構成を示す機能ブロック図である。
【図３】制御部の機能構成を示す機能ブロック図である。
【図４】ＣＰＵ１１の処理について説明するためのフローチャートである。
【図５】ＣＰＵ２０の処理について説明するためのフローチャートである。
【図６】編集装置の機能構成を示す機能ブロック図である。
【図７】方法１について説明するための図である。
【図８】方法１について説明するための図である。
【図９】エンコード処理１について説明するためのフローチャートである。
【図１０】方法２について説明するための図である。
【図１１】方法２について説明するための図である。
【図１２】方法２について説明するための図である。
【図１３】方法２について説明するための図である。
【図１４】方法２について説明するための図である。
【図１５】方法２について説明するための図である。
【図１６】エンコード処理２について説明するためのフローチャートである。
【図１７】セクションのエンコード処理１について説明するためのフローチャートである。
【図１８】セクションのエンコード処理１について説明するためのフローチャートである。
【図１９】セクションのエンコード処理１について説明するためのフローチャートである。
【図２０】方法２について説明するための図である。
【図２１】方法２について説明するための図である。
【図２２】方法２について説明するための図である。
【図２３】エンコード処理３について説明するためのフローチャートである。
【図２４】プリエンコード処理について説明するためのフローチャートである。
【図２５】セクションのエンコード処理２について説明するためのフローチャートである。
【図２６】セクションのエンコード処理２について説明するためのフローチャートである。
【図２７】セクションのエンコード処理２について説明するためのフローチャートである。
【図２８】パーソナルコンピュータの構成を示すブロック図である。
【図２９】本発明を適用可能な異なる装置の構成について説明するための図である。
【図３０】本発明を適用可能な異なる装置の構成について説明するための図である。
【符号の説明】
【０３８１】
１  編集装置，  １１  ＣＰＵ，  １６  ＨＤＤ，  ２０  ＣＰＵ，  ２２  デコーダユニット，  ２３  セレクタ，  ２４  エンコーダユニット，  ４１  エンコーダ，  １０１  制御部，  １０２  取得部，  １０３  記憶・出力部，  １５４  符号化制御部
【図１】
2008066851.tif 000003
【図２】
2008066851.tif 000004
【図３】
2008066851.tif 000005
【図４】
2008066851.tif 000006
【図５】
2008066851.tif 000007
【図６】
2008066851.tif 000008
【図７】
2008066851.tif 000009
【図８】
2008066851.tif 000010
【図９】
2008066851.tif 000011
【図１０】
2008066851.tif 000012
【図１１】
2008066851.tif 000013
【図１２】
2008066851.tif 000014
【図１３】
2008066851.tif 000015
【図１４】
2008066851.tif 000016
【図１５】
2008066851.tif 000017
【図１６】
2008066851.tif 000018
【図１７】
2008066851.tif 000019
【図１８】
2008066851.tif 000020
【図１９】
2008066851.tif 000021
【図２０】
2008066851.tif 000022
【図２１】
2008066851.tif 000023
【図２２】
2008066851.tif 000024
【図２３】
2008066851.tif 000025
【図２４】
2008066851.tif 000026
【図２５】
2008066851.tif 000027
【図２６】
2008066851.tif 000028
【図２７】
2008066851.tif 000029
【図２８】
2008066851.tif 000030
【図２９】
2008066851.tif 000031
【図３０】
2008066851.tif 000032