(57)【要約】【課題】デコードの難易度に基づいて、フレームを分割してデコードするか否かを決定する。【解決手段】ステップＳ１において、デコードされるストリームの種類やストリームの表示方法に関する情報が取得され、ステップＳ２乃至ステップＳ５において、デコードされるストリームは、Iピクチャだけで構成されたストリームであるか否か、編集画面のスクラブバーまたはタイムラインの表示スケールは、所定の値以上であるか否か、逆方向再生、高速再生、または、スクラブ再生のためのデコード処理が実行されるか否か、例えば、M=３のLongGOPに対して3倍速など、デコード処理の負荷の低い所定の再生処理であるか否かが判断される。そして、これらの判断に基づいて、通常のデコード処理か分割デコード処理のうちのいずれかが実行される。本発明は、編集装置に適用できる。【選択図】図１７
2008085617.tif 000002
【特許請求の範囲】
【請求項１】
１画面を分割してそれぞれで処理させることが可能な複数の第１のコーディック処理手段を含む第２のコーディック処理手段と、
前記第２のコーディック処理手段により実行されるコーディック処理の難易度を基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する制御手段と
を備える画像処理装置。
【請求項２】
前記第２のコーディック処理手段は、デコード処理を実行し、
前記制御手段は、前記デコード処理がIピクチャだけで構成されたストリームに対して実行されるか否かを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項１に記載画像処理装置。
【請求項３】
前記第２のコーディック処理手段は、デコード処理を実行し、
前記制御手段は、前記デコード処理が、デコード処理の負荷の低い所定の再生処理であるか否かを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項１に記載画像処理装置。
【請求項４】
前記第２のコーディック処理手段は、デコード処理を実行し、
前記制御手段は、前記デコード処理がフレームごとに間引いて実行されるか否かを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項１に記載画像処理装置。
【請求項５】
前記第２のコーディック処理手段は、デコード処理を実行し、
前記制御手段は、前記デコード処理が、逆方向再生、高速再生、または、スクラブ再生のためのデコード処理であるか否かを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項１に記載画像処理装置。
【請求項６】
前記第２のコーディック処理手段は、エンコード処理を実行し、
前記制御手段は、前記エンコード処理におけるプロファイルおよびレベルを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
請求項１に記載画像処理装置。
【請求項７】
前記第２のコーディック処理手段の前記第１のコーディック処理手段は、
前記画面の所定の領域のコーディックを実行するコーディック実行手段と、
自分自身の処理の結果得られた参照用の画素データのうち、他の前記第１のコーディック処理手段のコーディック処理に必要な画素データを他の前記第１のコーディック処理手段に供給するとともに、他の前記第１のコーディック処理手段において実行されたコーディック処理により得られた参照用の画素データのうち、自分自身の処理に必要な画素データを、他の前記第１のコーディック処理手段から取得する画素データ授受手段と
を備え、
前記コーディック実行手段は、自分自身の処理の結果得られた画素データ、および、前記画素データ授受手段により他の前記第１のコーディック処理手段から取得した画素データを参照することによりコーディック処理を実行する
請求項１に記載画像処理装置。
【請求項８】
前記コーディック実行手段により実行されるコーディック処理の結果得られた画素データ、または、前記画素データ授受手段により他の前記第１のコーディック処理手段から取得した画素データの記憶部への記憶を制御する記憶制御手段を更に備え、
前記コーディック実行手段は、前記記憶制御手段により前記記憶部への記憶が制御された画素データを参照することによりコーディック処理を実行する
請求項７に記載画像処理装置。
【請求項９】
他の前記第１のコーディック処理手段のコーディック処理に必要な画素データは、前記画面において、他の前記第１のコーディック処理手段によりコーディックされる他の所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データであり、
前記コーディック実行手段のコーディック処理に必要な画素データは、前記画面において、前記コーディック実行手段がコーディックする前記所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データである
請求項７に記載画像処理装置。
【請求項１０】
１画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段を用いて、コーディックを実行する画像処理方法であって、
コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
ステップを含む画像処理方法。
【請求項１１】
１画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段を用いたコーディック処理をコンピュータに実行させるためのプログラムであって、
コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項１２】
請求項１１に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法、記録媒体、並びに、プログラムに関し、特に、ベースバンドのビデオデータに符号化を施したり、符号化されたストリームデータを復号する場合に用いて好適な、画像処理装置および画像処理方法、記録媒体、並びに、プログラムに関する。
【背景技術】
【０００２】
MPEG2（Moving Picture Coding Experts Group / Moving Picture Experts Group2）ビデオは、ISO/IEC（International Standards Organization / International Electrotechnical Commission）13818−2、およびITU−T （International Telecommunication Union−Telecommunication sector）勧告H.262に規定されているビデオ信号の高能率符号化方式である。
【０００３】
MPEGでは、画像の時間的冗長性を利用して、近接した画像間で動き補償した差分を得ることにより、符号化効率を改善している。MPEGビデオデコーダでは、動き補償を用いた画素に対しては、現在デコードしている画素にその動きベクトルが示す参照画像の画素データを加算することにより動き補償を行い、符号化前の画像データに復号する。
【０００４】
MPEG-2のビデオストリームは、シーケンス、ＧＯＰ（group_of_picture）、ピクチャ、スライス、マクロブロック、ブロックの各レイヤごとに、階層的に構成されている。
【０００５】
GOP内には、複数の画像（picture）が含まれる。MPEG-2においては、Ｉピクチャ（フレーム内予測符号化画像）、Ｐピクチャ（前方向予測符号化画像）、および、Ｂピクチャ（双方向予測符号化画像）の３種類のピクチャによって画像を構成している。Ｉピクチャは、全てのマクロブロックをイントラ符号化（フレーム内符号化）する。Ｐピクチャは、イントラ符号化、または、インター符号化（順方向フレーム間予測符号化）が行われるマクロブロックを含む。Ｂピクチャは、イントラ符号化、順方向（Forward）フレーム間予測符号化、逆方向（Backward）フレーム間予測符号化、または、順方向と逆方向の２つの予測を対応画素間でまるめつき平均することにより行われる内挿的（interpolative）フレーム間予測符号化が行われるマクロブロックを含む。他のピクチャなしで復号できるのはＩピクチャのみである。したがって、ランダムアクセスのように前後関係の崩れるような操作は、Ｉピクチャにアクセスすることにより容易に実現することができる。
【０００６】
GOPの範囲は、GOPヘッダから、次のシーケンスヘッダか、GOPヘッダの直前までである。また、GOPヘッダは、ビットストリーム上でＩピクチャの直前にのみ挿入される。一般的には、Ｂピクチャは、双方向予測符号化を用いてデコードされているので、その前後に位置するＩピクチャおよびＰピクチャを参照してデコードされる。参照されるピクチャがＧＯＰをまたいで存在する場合、すなわち、直前、または、直後のＧＯＰに含まれるＩピクチャまたはＰピクチャを参照する必要のあるＢピクチャを含むＧＯＰは、Open GOPと称される。Open GOPを単独でデコードしようとした場合、デコードすることができないＢピクチャが存在してしまう。
【０００７】
しかしながら、Ｂピクチャは、常に双方向予測符号化を使う必要はなく、マクロブロック毎に双方向予測・前方予測のみ・後方予測のみ・予測無しを切り替えることが可能である。したがって、ＧＯＰ内のＢピクチャが、ＧＯＰ内のＩピクチャまたはＰピクチャのみを参照することによってデコードできるようなＧＯＰは、Closed GOPと称される。Closed GOPは、その前後のＧＯＰのデータが無くとも単独でデコードすることが可能である。
【０００８】
また、複数フレームで完結する符号化方式で圧縮符号化されたビデオ信号を、例えば、２倍速、または、３倍速で再生する場合に、自然な動きの再生画像を得ることができるようにした技術がある（例えば、特許文献１）。
【０００９】
【特許文献１】特許第３５６４７４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
例えば、上述した特許文献に記載の技術を適用して、MPEGのOpen GOPを２倍速で再生しようとした場合を、図１および図２を用いて説明する。
【００１１】
図１は、１倍速でデコードできるデコードチップを２個使用して並列処理を行うことによりOpen GOPのストリームをデコードする復号装置１の構成を示すブロック図である。
【００１２】
＃１デコードチップ１１−１および＃２デコードチップ１１−２は、符号化ストリームの入力を受け、１ピクチャ単位で、１倍速でデコード処理を行い、デコード済みの画像データをセレクタ１３に供給する。バッファ１２−１およびバッファ１２−２は、それぞれ、＃１デコードチップ１１−１および＃２デコードチップ１１−２へ供給される符号化ストリームをバッファリングしたり、ＰピクチャまたはＢピクチャをデコードするときの参照画像として用いられるデコード済みのＩピクチャまたはＰピクチャを一時保持するために用いられる。
【００１３】
セレクタ１３は、＃１デコードチップ１１−１または＃２デコードチップ１１−２から供給されたデコード済みの画像データのうち、復号ビデオ信号として出力されるものを選択して出力する。
【００１４】
再生装置１において、＃１デコードチップ１１−１または＃２デコードチップ１１−２は、それぞれ、１ＧＯＰのピクチャを連続してデコードするようになされている。例えば高速再生が行われるような場合、ＧＯＰ０が＃１デコードチップ１１−１でデコードされ、ＧＯＰ１が＃２デコードチップ１１−２でデコードされ、ＧＯＰ２が＃１デコードチップ１１−１でデコードされ、ＧＯＰ３が＃２デコードチップ１１−２でデコードされ、続くＧＯＰも同様にして、交互にいずれかのデコードチップでデコードされる。
【００１５】
図２を用いて、復号装置１が２倍速のデコード処理を行おうとした場合について説明する。
【００１６】
例えば、＃１デコードチップ１１−１がＧＯＰ１をデコードする場合、ＧＯＰ１の先頭の２枚のＢピクチャをデコードするためには、ＧＯＰ０の最後のＰピクチャを参照する必要があり、ＧＯＰ０の最後のＰピクチャをデコードするためには、その直前のＰピクチャを参照する必要があり、結局、ＧＯＰ１の先頭の２枚のＢピクチャをデコードするためには、ＧＯＰ０のＩピクチャおよびＰピクチャを事前に全てデコードする必要がある。
【００１７】
同様に、＃２デコードチップ１１−２がＧＯＰ２をデコードする場合、ＧＯＰ２の先頭の２枚のＢピクチャをデコードするためには、ＧＯＰ１の最後のＰピクチャを参照する必要があり、ＧＯＰ１の最後のＰピクチャをデコードするためには、その直前のＰピクチャを参照する必要があり、結局、ＧＯＰ２の先頭の２枚のＢピクチャをデコードするためには、ＧＯＰ１のＩピクチャおよびＰピクチャを事前に全てデコードする必要がある。
【００１８】
すなわち、＃１デコードチップ１１−１および＃２デコードチップ１１−２は、それぞれ、割り当てられたＧＯＰのデコードに先立って、その１つ前のＧＯＰのＩピクチャおよびＰピクチャをデコードする必要がある。したがって、再生装置１の＃１デコードチップ１１−１および＃２デコードチップ１１−２において、１ＧＯＰずつ交互にデコード処理を行うことにより、２倍速で再生出力をしようとした場合、それぞれのデコードチップに割り当てられたＧＯＰをデコードするための参照画像として１つ前のＧＯＰのＩピクチャおよびＰピクチャをデコードするために必要な時間の分、ＧＯＰ３以降の再生開始時刻に遅延が発生してしまい、２倍速のデコード処理を実現することができない。
【００１９】
すなわち、１倍速のデコード能力を有するデコードチップを複数用いて２倍速再生を実現しようとした場合、図３に示されるように、＃１デコードチップ１１−１および＃２デコードチップ１１−２に加えて、第３のデコードチップを設けて、３チップ並列でデコード処理する必要がある。このような構成にすることにより、それぞれのデコードチップに割り当てられたＧＯＰをデコードするための参照画像として１つ前のＧＯＰのＩピクチャおよびＰピクチャをデコードするために必要な時間を補うことができるので、２倍速のデコード処理が可能となる。
【００２０】
例えば、あるＧＯＰのデコードにかかる時間をＴとし、図４Ａに示されるように、ＧＯＰ２をデコードするための参照画像としてＧＯＰ１のＩピクチャおよびＰピクチャをデコードするために必要な時間Ｔ１がＴ／２より短かった場合、上述したように、３つのデコードチップを用いて２倍速デコード処理が可能となる。しかしながら、例えば、それぞれのピクチャのデコード時間が同一ではない場合など、ＧＯＰ２をデコードするための参照画像としてＧＯＰ１のＩピクチャおよびＰピクチャをデコードするために必要な時間Ｔ２がＴ／２より長かった場合、３つのデコードチップを用いても、２倍速デコード処理を行うことができないため、このようなOpen GOPを２倍速でデコードするには、更に、デコードチップを１つ追加する必要が生じてしまう。
【００２１】
なお、ストリームをClosed GOPに限定した場合には、図５に示されるように、参照画像として１つ前のGOPのＩピクチャおよびＰピクチャをデコードする必要がないため、２チップでも２倍速デコード処理が可能となる。しかしながらストリームがOpen GOPかClosed GOPかは、エンコード時に決まるものであるため、デコード処理を実行する再生装置１側で対応することはできない。なお、Closed GOPは、参照するピクチャがGOP内で閉じている分、画質が劣るため、編集部分などの特別な場合を除き、一般的には用いられない。
【００２２】
また、フレーム周波数の高い符号化ビデオストリームをデコードするためにも、上述したように、１倍速のデコード能力を有するデコードチップを複数用いるか、または、クロック周波数を高くする必要があった。
【００２３】
また、ビデオサーバやノンリニア編集機などの映像処理装置においては、複数の映像チャンネルを一度に取り扱う。このような映像処理装置では、SDTV(標準精細テレビジョン映像)やHDTV(高精細テレビジョン映像)など、複数の映像フォーマットを扱うことがある。このような映像処理装置では、映像を圧縮符号化したり、圧縮符号化されたストリームを復号することがある。
【００２４】
圧縮フォーマットの代表的なものにMPEG2がある。MPEG2の中でも、プロファイルやレベルによって、エンコードやデコードの処理量が異なる。一般的に、プロファイルやレベルのより高いものが、エンコードやデコードの処理量がより大きい。
【００２５】
IPBピクチャで構成されたLongGOP構造を持った圧縮フォーマットは、Iピクチャだけで構成された圧縮フォーマットに比べ、デコードの処理量が大きい。IPBピクチャで構成された圧縮フォーマットのとき、任意のピクチャのデコード処理は、時間軸方向の一倍速のデコード処理に比べ、処理量が大きい。
【００２６】
このように、エンコードやデコードの処理量の大きなものの中には、エンコーダやデコーダの処理能力を超えるものがある。エンコーダやデコーダの処理能力を超える場合においても、複数個のエンコーダや複数個のデコーダを用いたり、または、クロック周波数を高くする必要があった。
【００２７】
例えば、従来の映像装置では、取り扱うフォーマットの中で最も処理量の大きいものに合わせ、ひとつの映像チャンネルあたりのエンコーダの個数やデコーダの個数が決定していた。従来の映像装置では、複数個のエンコーダや複数個のデコーダがひとつの映像チャンネルに固定に割り当てられていたので、処理量の少ないフォーマットであっても、エンコーダやデコーダの処理能力を有効に活用することができず、映像チャンネルを増やすことはできなかった。
【００２８】
本発明はこのような状況に鑑みてなされたものであり、符号化や復号の処理を、高速に、または、高性能に行うことができるようにするものである。
【課題を解決するための手段】
【００２９】
本発明の第一側面の画像処理装置は、１画面を分割してそれぞれで処理させることが可能な複数の第１のコーディック処理手段を含む第２のコーディック処理手段と、前記第２のコーディック処理手段により実行されるコーディック処理の難易度を基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する制御手段とを備える。
【００３０】
前記第２のコーディック処理手段には、デコード処理を実行させるようにすることができ、前記制御手段には、前記デコード処理がIピクチャだけで構成されたストリームに対して実行されるか否かを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。
【００３１】
前記第２のコーディック処理手段には、デコード処理を実行させるようにすることができ、前記制御手段には、前記デコード処理が、デコード処理の負荷の低い所定の再生処理であるか否かを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。
【００３２】
前記第２のコーディック処理手段には、デコード処理を実行させるようにすることができ、前記制御手段には、前記デコード処理がフレームごとに間引いて実行されるか否かを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。
【００３３】
前記第２のコーディック処理手段には、デコード処理を実行させるようにすることができ、前記制御手段には、前記デコード処理が、逆方向再生、高速再生、または、スクラブ再生のためのデコード処理であるか否かを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。
【００３４】
前記第２のコーディック処理手段には、エンコード処理を実行させるようにすることができ、前記制御手段には、前記エンコード処理におけるプロファイルおよびレベルを基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定させるようにすることができる。
【００３５】
前記第２のコーディック処理手段の前記第１のコーディック処理手段には、前記画面の所定の領域のコーディックを実行するコーディック実行手段と、自分自身の処理の結果得られた参照用の画素データのうち、他の前記第１のコーディック処理手段のコーディック処理に必要な画素データを他の前記第１のコーディック処理手段に供給するとともに、他の前記第１のコーディック処理手段において実行されたコーディック処理により得られた参照用の画素データのうち、自分自身の処理に必要な画素データを、他の前記第１のコーディック処理手段から取得する画素データ授受手段とを備えさせるようにすることができ、前記コーディック実行手段には、自分自身の処理の結果得られた画素データ、および、前記画素データ授受手段により他の前記第１のコーディック処理手段から取得した画素データを参照することによりコーディック処理を実行させるようにすることができる。
【００３６】
前記コーディック実行手段により実行されるコーディック処理の結果得られた画素データ、または、前記画素データ授受手段により他の前記第１のコーディック処理手段から取得した画素データの記憶部への記憶を制御する記憶制御手段を更に備えさせるようにすることができ、前記コーディック実行手段には、前記記憶制御手段により前記記憶部への記憶が制御された画素データを参照することによりコーディック処理を実行せるようにすることができる。
【００３７】
他の前記第１のコーディック処理手段のコーディック処理に必要な画素データは、前記画面において、他の前記第１のコーディック処理手段によりコーディックされる他の所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データであるものとすることができ、前記コーディック実行手段のコーディック処理に必要な画素データは、前記画面において、前記コーディック実行手段がコーディックする前記所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データであるものとすることができる。
【００３８】
本発明の一側面の画像処理方法は、１画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段を用いて、コーディックを実行する画像処理方法であって、コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定するステップを含む。
【００３９】
本発明の一側面のプログラムは、１画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段を用いたコーディック処理をコンピュータに実行させるためのプログラムであって、コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定するステップを含む処理をコンピュータに実行させる。
【００４０】
本発明の第一側面においては、コーディック処理の難易度を基に、画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかが決定される。
【００４１】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、１つの装置を構成している内部ブロックどうしであっても良い。
【００４２】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【００４３】
画像処理装置は、独立した装置であっても良いし、他の装置のうちの画像処理を行うブロックであっても良い。
【００４４】
画像処理装置は、復号処理装置として独立した装置であっても良いし、他の装置のうちの復号処理を行うブロックであっても良い。
【００４５】
また、画像処理装置は、符号化処理装置として独立した装置であっても良いし、他の装置のうちの符号化処理を行うブロックであっても良い。
【発明の効果】
【００４６】
以上のように、本発明の第一側面によれば、コーディックを実行することができ、特に、コーディック処理の難易度を基に、画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができるので、符号化や復号の処理を、高速に、または、高性能に行うことができる。
【発明を実施するための最良の形態】
【００４７】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００４８】
本発明の第１の側面の画像処理装置は、１画面を分割してそれぞれで処理させることが可能な複数の第１のコーディック処理手段（例えば、図８の＃１デコードチップ７３および＃２デコードチップ７６、もしくは、図２４の＃１エンコードチップ１７３および＃２エンコードチップ１７６）を含む第２のコーディック処理手段（例えば、図８の復号処理部５１、または、図２４の符号化処理部５２）と、前記第２のコーディック処理手段により実行されるコーディック処理の難易度を基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する制御手段（例えば、図６のＣＰＵ４０または図７の制御部６１）とを備える。
【００４９】
前記第２のコーディック処理手段は、デコード処理を実行することができ、前記制御手段は、前記デコード処理がIピクチャだけで構成されたストリームに対して実行されるか否か（例えば、図１７のステップＳ２の判断）を基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。
【００５０】
前記第２のコーディック処理手段は、デコード処理を実行することができ、前記制御手段は、前記デコード処理が、デコード処理の負荷の低い所定の再生処理（例えば、M=３のLongGOPに対する3倍速再生）であるか否か（例えば、図１７のステップＳ５の判断）を基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。
【００５１】
前記第２のコーディック処理手段は、デコード処理を実行することができ、前記制御手段は、前記デコード処理がフレームごとに間引いて実行されるか否かを基に（例えば、図１７のステップＳ３のタイムラインのスケールが大きいか否かを基に）、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。
【００５２】
前記第２のコーディック処理手段は、デコード処理を実行することができ、前記制御手段は、前記デコード処理が、逆方向再生、高速再生、または、スクラブ再生のためのデコード処理であるか否か（例えば、図１７のステップＳ４の判断）を基に、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。
【００５３】
前記第２のコーディック処理手段は、エンコード処理を実行することができ、前記制御手段は、前記エンコード処理におけるプロファイルおよびレベルを基に（例えば、図２５のステップＳ１０２の判断）、前記第２のコーディック処理手段に含まれる前記複数の第１のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定することができる。
【００５４】
前記第２のコーディック処理手段の前記第１のコーディック処理手段は、前記画面の所定の領域のコーディックを実行するコーディック実行手段（例えば、図８のデコーダ９３またはデコーダ１１３、もしくは、図２４のエンコーダ１９３またはエンコーダ２１３）と、自分自身の処理の結果得られた参照用の画素データのうち、他の前記第１のコーディック処理手段のコーディック処理に必要な画素データを他の前記第１のコーディック処理手段に供給するとともに、他の前記第１のコーディック処理手段において実行されたコーディック処理により得られた参照用の画素データのうち、自分自身の処理に必要な画素データを、他の前記第１のコーディック処理手段から取得する画素データ授受手段（例えば、図８のチップ間インタフェース９６または１１６、もしくは、図２４のチップ間インタフェース１９６または２１６）とを備えることができ、前記コーディック実行手段は、自分自身の処理の結果得られた画素データ、および、前記画素データ授受手段により他の前記第１のコーディック処理手段から取得した画素データを参照することによりコーディック処理を実行することができる。
【００５５】
前記コーディック実行手段により実行されるコーディック処理の結果得られた画素データ、または、前記画素データ授受手段により他の前記第１のコーディック処理手段から取得した画素データの記憶部への記憶を制御する記憶制御手段（例えば、図８の美で０バッファ７５または７８、もしくは、図２４のストリーム/参照画バッファ１７５または１７８）を更に備えることができ、前記コーディック実行手段は、前記記憶制御手段により前記記憶部への記憶が制御された画素データを参照することによりコーディック処理を実行することができる。
【００５６】
他の前記第１のコーディック処理手段のコーディック処理に必要な画素データは、前記画面において、他の前記第１のコーディック処理手段によりコーディックされる他の所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データであるものとすることができ、前記コーディック実行手段のコーディック処理に必要な画素データは、前記画面において、前記コーディック実行手段がコーディックする前記所定の領域に含まれる動き補償の基準領域に対する動きベクトルの探索範囲に含まれる画素データであるものとすることができる。
【００５７】
本発明の一側面の情報処理方法は、１画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段（例えば、図８の＃１デコードチップ７３および＃２デコードチップ７６、もしくは、図２４の＃１エンコードチップ１７３および＃２エンコードチップ１７６）を用いて、コーディックを実行する画像処理方法であって、コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する（例えば、図１７のステップＳ２乃至ステップＳ７の処理、または、図２５のステップＳ１０２乃至ステップＳ１０４の処理）ステップを含む。
【００５８】
本発明の一側面のプログラムは、１画面を分割してそれぞれで処理させることが可能な複数のコーディック処理手段（例えば、図８の＃１デコードチップ７３および＃２デコードチップ７６、もしくは、図２４の＃１エンコードチップ１７３および＃２エンコードチップ１７６）を用いたコーディック処理をコンピュータに実行させるためのプログラムであって、コーディック処理の難易度を基に、前記複数のコーディック処理手段において、それぞれ異なる画面を処理させるか、または、１画面を分割してそれぞれにおいてコーディックを実行させるかを決定する（例えば、図１７のステップＳ２乃至ステップＳ７の処理、または、図２５のステップＳ１０２乃至ステップＳ１０４の処理）ステップを含む処理をコンピュータに実行させる。
【００５９】
以下、図を参照して、本発明の実施の形態について説明する。
【００６０】
図６は本発明を適用した編集装置２１のハードウェア構成を示すブロック図である。
【００６１】
ＣＰＵ（Central Processing Unit）３１は、ノースブリッジ３２に接続され、例えば、ＨＤＤ（Hard disk Drive）３６に記憶されているデータの読み出しなどの処理を制御したり、ＣＰＵ４０が実行する編集処理を制御するための制御信号やコマンドを生成し、出力する。また、ＣＰＵ３１は、ユーザに操作入力を促すためのＧＵＩ（Graphical User Interface）を提供したり、処理結果を表示出力するための画面の表示を制御することも可能であり、図示しない操作入力部から、表示された画像を参照したユーザの操作入力を受け、ユーザの操作入力を基に、エンコードまたはデコード処理を制御するためのコマンドを発生する。
【００６２】
ノースブリッジ３２は、ＰＣＩバス（Peripheral Component Interconnect/Interface）３４に接続され、例えば、ＣＰＵ３１の制御に基づいて、サウスブリッジ３５を介して、ＨＤＤ３６に記憶されているデータの供給を受けて、ＰＣＩバス３４、ＰＣＩブリッジ３７を介して、メモリ３８に供給する。また、ノースブリッジ３２は、メモリ３３とも接続されており、ＣＰＵ３１の処理に必要なデータを授受する。
【００６３】
メモリ３３は、ＣＰＵ３１が実行する処理に必要なデータを保存する。サウスブリッジ３５は、ＨＤＤ３６のデータの書き込みおよび読み出しを制御する。ＨＤＤ３６には、非圧縮のベースバンド信号または符号化データが記憶される。
【００６４】
ＰＣＩブリッジ３７は、メモリ３８のデータの書き込みおよび読み出しを制御したり、デコーダユニット４２への符号化ストリームの供給、または、セレクタ４３への非圧縮データの供給を制御するとともに、ＰＣＩバス３４およびコントロールバス３９のデータの授受を制御する。メモリ３８は、ＰＣＩブリッジ３７の制御に基づいて、ＨＤＤ３６により読み出されたベースバンド信号または符号化データや、エンコーダユニット４４から供給される処理後の符号化データを記憶する。
【００６５】
ＣＰＵ４０は、ノースブリッジ３２、ＰＣＩバス３４、ＰＣＩブリッジ３７、および、コントロールバス３９を介して、ＣＰＵ３１から供給された制御信号やコマンドにしたがって、ＰＣＩブリッジ３７、デコーダユニット４２、セレクタ４３、および、エンコーダユニット４４が実行する処理を制御する。メモリ４１は、ＣＰＵ４０の処理に必要なデータを記憶する。
【００６６】
デコーダユニット４２は、復号処理部５１−１乃至５１−ｍの、ｍ個の復号処理部により構成され、ＣＰＵ４０の制御に基づいて、ＰＣＩブリッジ３７から供給された符号化ストリームをデコードし、セレクタ４３に供給する。デコーダユニット４２に含まれる復号処理部５１−１乃至５１−ｍは、それぞれ、２つのデコーダを有しており、並列して動作させることが可能である。
【００６７】
復号処理部５１−１乃至５１−ｍは、ＣＰＵ４０の制御に基づいて、それぞれ、２つのデコーダで異なるストリームをデコードすることも可能であるし、１つのストリームのそれぞれのフレームを分割して２つのデコーダで協調してデコードすることも可能である。
【００６８】
以下、ｍ個の復号処理部を、それぞれ、＃０復号処理部５１−１、＃１復号処理部５１−２、＃２復号処理部５１−３、・・・＃ｍ−１復号処理部５１−ｍと称するものとし、＃０復号処理部５１−１乃至＃ｍ−１復号処理部５１−ｍを個々に区別する必要がない場合、単に、復号処理部５１と称する。復号処理部５１の詳細な構成については、図８を用いて後述する。
【００６９】
セレクタ４３は、ＰＣＩブリッジ３７またはデコーダユニット４２から供給された非圧縮のベースバンド信号を、エンコーダユニット４４の符号化処理部５２−１乃至５２−ｎのうちのいずれかに供給したり、デコーダユニット４２から供給された非圧縮のベースバンド信号を、ＰＣＩブリッジ３７に供給する。
【００７０】
エンコーダユニット４４は、符号化処理部５２−１乃至５２−ｎの、ｎ個の符号化処理部より構成され、ＣＰＵ４０の制御に基づいて、セレクタ４３から供給された非圧縮のベースバンド信号をエンコードして、ＰＣＩブリッジ３７に出力する。エンコーダユニット４４に含まれる符号化処理部５２−１乃至５２−ｎは、それぞれ２つのエンコーダを有しており、並列して動作することが可能である。
【００７１】
符号化処理部５２−１乃至５２−ｎは、ＣＰＵ４０の制御に基づいて、それぞれ、２つのエンコーダで異なるビデオデータをエンコードすることも可能であるし、１つのビデオデータのそれぞれの画像データを分割して２つのエンコーダで協調してエンコードすることも可能である。
【００７２】
以下、ｎ個のエンコーダを、それぞれ、＃０符号化処理部５２−１、＃１符号化処理部５２−２、＃２符号化処理部５２−３、・・・＃ｎ−１符号化処理部５２−ｎと称するものとし、＃０符号化処理部５２-１乃至＃ｎ−１符号化処理部５２−ｎを個々に区別する必要がない場合、単に、符号化処理部５２と称する。符号化処理部５２の詳細な構成については、図２４を用いて後述する。
【００７３】
次に、編集装置２１の動作について説明する。
【００７４】
ＨＤＤ３６には、Long GOPのOpen GOP方式で圧縮された、または、全てフレーム内符号化（Intra圧縮）された符号化ストリームや、非圧縮のベースバンド信号が記憶されている。ＣＰＵ３１は、図示しない操作入力部からユーザの操作入力を受け、ユーザの操作入力に基づいて、デコード処理を実行するデータを決定したり、エンコード処理を実行するデータを決定したり、デコードした後、再エンコードを実行するデータを決定する。
【００７５】
ＣＰＵ３１は、処理される符号化ストリームまたはベースバンド信号を、ノースブリッジ３２、および、ＰＣＩバス３４を介して、ＰＣＩブリッジ３７に供給するとともに、コマンドを生成する。そして、ＣＰＵ３１は、デコードまたはエンコードに必要なパラメータがある場合は、そのパラメータとともに、生成されたコマンドを、ノースブリッジ３２、ＰＣＩバス３４、ＰＣＩブリッジ３７、および、コントロールバス３９を介して、ＣＰＵ４０に供給する。
【００７６】
ＣＰＵ４０は、ＰＣＩブリッジ３７を制御して、供給された符号化ストリームまたはベースバンド信号を、メモリ３８に保存させ、供給されたコマンドに基づいて、供給されたデータがデコードの必要な符号化ストリームである場合、ＰＣＩブリッジ３７を制御して、符号化ストリームをデコーダユニット４２に供給させ、供給されたデータがデコードの不必要なベースバンド信号である場合、ＰＣＩブリッジ３７を制御して、ベースバンド信号をセレクタ４３に供給させる。
【００７７】
デコーダユニット４２に含まれる復号処理部５１−１乃至５１−ｍの全部または一部は、並列して動作することが可能である。ＣＰＵ４０は、デコーダユニット４２を制御して、デコード処理を実行させ、デコードされて生成された、非圧縮のベースバンド信号をセレクタ４３に供給させる。ＣＰＵ４０は、例えば、デコード処理されるストリームが全てＩピクチャであるか、Ｉ，Ｂ，ＰピクチャからなるLongGOPであるか、または、早送りや巻き戻し、スクラブ再生などの特殊再生が実行されるか否かなどの、デコード処理の難易度に基づいて、復号処理部５１−１乃至５１−ｍのそれぞれにおいて、２つのデコーダで異なるストリームをデコードするか、１つのストリームのそれぞれのフレームを分割して２つのデコーダで協調してデコードするかを制御する制御信号を生成して、デコーダユニット４２に含まれる復号処理部５１−１乃至５１−ｍの対応するものに供給する。
【００７８】
デコーダユニット４２を構成する復号処理部５１−１乃至５１−ｍは、ＣＰＵ４０の制御に基づいて、供給されたデータをデコードし、非圧縮のベースバンド信号をセレクタ４３に供給する。復号処理部５１−１乃至５１−ｍは、ＣＰＵ４０の制御に基づいて、それぞれ、２つのデコーダで異なるストリームをデコードすることも可能であるし、１つのストリームのそれぞれのフレームを分割して２つのデコーダで協調してデコードすることも可能である。
【００７９】
ＣＰＵ４０は、ＣＰＵ３１から供給されたコマンドに基づいて、セレクタ４３を制御し、セレクタ４３に供給されたベースバンド信号を、ＰＣＩブリッジ３７を介して、メモリ３８に供給させるか、または、エンコーダユニット４４の符号化処理部５２に供給させる。セレクタ４３は、ＣＰＵ４０の制御に基づいて、供給されたベースバンド信号を、ＰＣＩブリッジ３７を介して、メモリ３８に供給するか、または、符号化処理部５２に供給する。
【００８０】
ＣＰＵ４０は、ＣＰＵ３１から供給されたコマンドに基づいて、エンコーダユニット４４を制御して、エンコードされて生成された符号化ストリームをＰＣＩブリッジ３７に供給させる。エンコーダユニット４４に含まれる符号化処理部５２−１乃至５２−ｎの全部または一部は、並列して動作することが可能である。ＣＰＵ４０は、例えば、エンコードのプロファイルレベルなど、エンコードの難易度に基づいて、２つのエンコーダで異なるビデオデータをエンコードするか、１つのビデオデータのそれぞれの画像データを分割して２つのエンコーダで協調してエンコードするかを制御する制御信号を生成し、エンコーダユニット４４に含まれる符号化処理部５２−１乃至５２−ｎの対応するものに供給する。
【００８１】
エンコーダユニット４４を構成する符号化処理部５２−１乃至５２−ｎのうち、ベースバンド信号の供給を受けた符号化処理部５２は、ＣＰＵ４０の制御に基づいて、供給されたデータをエンコードする。符号化処理部５２は、ＣＰＵ４０の制御に基づいて、それぞれ、２つのエンコーダで異なるストリームをエンコードすることも可能であるし、１つのストリームのそれぞれのフレームを分割して２つのエンコーダで協調してエンコードすることも可能である。
【００８２】
ＣＰＵ４０は、ＣＰＵ３１から供給されたコマンドに基づいて、ＰＣＩブリッジ３７を制御して、符号化処理部５２から供給された符号化ストリームをメモリ３８に保存させる。
【００８３】
ＣＰＵ４０は、コントロールバス３９、ＰＣＩブリッジ３７、ＰＣＩバス３４、および、ノースブリッジ３２を介して、ＣＰＵ３１に、供給されたコマンド処理に基づいたデータのコーディック処理が終了したことを通知する。ＣＰＵ３１は、ノースブリッジ３２、ＰＣＩバス３４、および、ＰＣＩブリッジ３７を介して、メモリ３８からコーディック後のデータを読み出し、ノースブリッジ３２およびサウスブリッジ３５を介して、ＨＤＤ３６に格納させたり、図示しないインタフェースを介して、外部の機器などに出力させる。
【００８４】
次に、図７は、図６の編集装置２１が有する主な機能の構成について説明するための機能ブロック図である。なお、図７において、図６における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００８５】
編集装置２１は、制御部６１、取得部６２、デコーダユニット４２、セレクタ４３、エンコーダユニット４４、および、記憶・出力部６３を含んで構成される。
【００８６】
制御部６１は、ＣＰＵ３１およびＣＰＵ４０に対応し、編集装置２１の各部を制御する。取得部６２は、制御部６１の制御に基づいて、ＨＤＤ３６またはメモリ３８から処理されるデータを取得して、デコード処理が必要な部分は、デコーダユニット４２に供給し、エンコード処理が必要な部分は、セレクタ４３に供給する。圧縮符号化ストリーム、または、非圧縮のベースバンド信号が記憶されるＨＤＤ３６またはメモリ３８が取得部６２に含まれるものとしてもよいし、ＨＤＤ３６またはメモリ３８、もしくは、編集装置２１に接続されている他の装置から、圧縮符号化ストリーム、または、非圧縮のベースバンド信号を取得するＰＣＩブリッジ３７が、取得部６２に含まれるものとしてもよい。
【００８７】
デコーダユニット４２に含まれる複数の復号処理部５１は、取得部６２から供給された圧縮素材映像データをデコードし、その結果として得られた非圧縮のベースバンド信号を、セレクタ４３に供給する。セレクタ４３は、制御部６１の制御に基づいて、デコーダユニット４２または取得部６２から供給された非圧縮のベースバンド信号を、エンコーダユニット４４または記憶・出力部６３に供給する。
【００８８】
エンコーダユニット４４に含まれる複数の符号化処理部５２は、制御部６１の制御に基づいて、セレクタ４３から供給された非圧縮のベースバンド信号をエンコードする。
【００８９】
記憶・出力部６３は、デコーダユニット４２においてデコードされて生成された比圧縮のベースバンド信号、または、エンコーダユニット４４においてエンコードされて生成された符号化ストリームを記憶または出力するものであり、例えば、ＨＤＤ３６またはメモリ３８が記憶・出力部６３に含まれるものとしてもよいし、ＨＤＤ３６またはメモリ３８、もしくは、編集装置２１に接続されている他の装置へ、圧縮符号化ストリームを出力するＰＣＩブリッジ３７が、取得部６２に含まれるものとしてもよい。
【００９０】
図８は、復号処理部５１の構成を示すブロック図である。ここでは、復号処理部５１は、MPEG2方式で符号化された符号化ストリームの供給を受け、復号して出力することができるようになされているものとして説明する。
【００９１】
復号処理部５１は、コントローラ７１、入力信号選択部７２、＃１デコードチップ７３、ストリームバッファ７４、ビデオバッファ７５、＃２デコードチップ７６、ストリームバッファ７７、ビデオバッファ７８、合成処理部７９、および、出力信号選択部８０で構成されている。復号処理部５１には、３つ以上のデコードチップを備えるようにしても良いが、ここでは、＃１デコードチップ７３および＃２デコードチップ７６の２つのデコードチップが備えられているものとして説明する。
【００９２】
コントローラ７１は、ユーザの操作入力、または、外部の装置から供給される制御信号、を基に、復号処理部５１の動作を制御するものである。
【００９３】
すなわち、コントローラ７１は、ＣＰＵ４０の制御に基づいて、デコード処理の難易度が高い場合においては、＃１デコードチップ７３および＃２デコードチップ７６を用いて、１フレームを２分割してそれぞれデコード処理を行い、生成された分割された画像を合成して出力し、デコード処理の難易度が比較的低い場合においては、＃１デコードチップ７３および＃２デコードチップ７６で、それぞれ異なるストリームをデコードさせるようにすることができる。
【００９４】
デコード処理の難易度は、例えば、デコード処理されるストリームが全てＩピクチャであるか、Ｉ，Ｂ，ＰピクチャからなるLongGOPであるか、または、早送りや巻き戻し、スクラブ再生などの特殊再生が実行されるか否か、または、特殊再生の条件などによって決まる。
【００９５】
また、上述したように、編集装置２１においては、ユーザに操作入力を促すためのＧＵＩ（Graphical User Interface）を提供したり、処理結果を表示出力するための画面の表示を制御することができるようになされており、例えば、図９に示されるような編集画面の表示が制御され、編集画面を参照したユーザからの操作入力を受けることができるようになされている。
【００９６】
図９に示される編集画面１３１は、ＣＰＵ３１の制御に基づいて、図示しない表示装置または表示部に表示されるものであり、例えば、複数のストリームデータをランダムに再生させて所望の編集点を検出し、所望の編集点において、異なるストリームデータを接続させるなどの編集処理を実行するための、各種ＧＵＩを提供するものである。
【００９７】
例えば、ユーザにより選択されたストリームデータは、デコーダユニット４２の復号処理部５１−１乃至５１−ｍのいずれかにおいてデコード（復号）された後、再生ウィンドウ１４１において表示される。
【００９８】
ストリームデータの再生位置は、ユーザの操作入力に基づいて、再生ウィンドウ１４１の下部に設けられているスクラブバー１５１のポインタ１５２の位置が移動されることにより設定される。また、タイムラインウィンドウ１４２にも、例えば、ビデオストリームやオーディオストリーム中の時間軸における再生位置をユーザに通知したり、ユーザが再生位置を指令することができるようになされているタイムライン１５３が設けられており、ユーザの操作入力に基づいて、タイムライン１５３のポインタ１５２の位置が移動されることにより、再生位置を変更する(スクラブ再生を実行させる)ことができるようになされている。
【００９９】
図９を用いて説明した編集画面１３１を参照したユーザから、デコード対象ストリームの選択と、再生開始位置の指定、すなわち、スクラブバー１５１のポインタ１５２、または、タイムライン１５３のポインタ１５２の操作が入力される。このような操作入力により、ユーザが任意の位置の映像を表示させることは、スクラブ再生と称される。ＣＰＵ３１は、ユーザの操作入力に基づいて、再生されるストリームのStream No.と、再生開始位置のFrame No.を求め、再生速度などの指令とともに、ノースブリッジ３２、ＰＣＩバス３４、ＰＣＩブリッジ３７、および、コントロールバス３９を介して、ＣＰＵ２０に供給する。
【０１００】
スクラブ操作では、スライダの移動から映像の表示まで例えば、200ミリ秒以内などの即時応答性が要求される。短時間での映像表示がスクラブ操作の操作快適性を決定しており、スクラブ時にはより高速なデコード処理が要求される。IPBピクチャで構成されたストリームの場合、任意の位置の映像を表示するのに、関連するすべてのピクチャをデコードする必要がある。したがって、スクラブ再生が実施される場合、デコード処理の処理量が大きいため、１チャンネルにデコーダ２個を割り当て、画面を分割してデコードをさせることで、映像表示までの時間を短縮するようになされる。
【０１０１】
また、例えば、スクラブバー１５１またはタイムライン１５３の表示スケールがある一定の値よりも大きい場合、再生のためにデコードされるストリームがLongGOPであっても、スクラブ再生が実行されたとしても、例えば、Ｉピクチャのみ、または、ＩおよびＰピクチャのみなどの間欠表示が実行されるようになされている場合がある。
【０１０２】
このような場合、デコード処理の難易度は低いので、＃１デコードチップ７３および＃２デコードチップ７６で、それぞれ異なるストリームをデコードさせるようにすると好適である。
【０１０３】
また、再生モードには、例えば、所定再生位置からの通常再生、早送り、早巻き戻し、正逆方向のコマ送り、静止画像の表示などがあり、早送りや早巻き戻しなどのスピードや、コマ送りのコマ間隔なども、それぞれ設定可能なようになされている。
【０１０４】
これらの再生モードによっても、デコード処理の難易度は異なるため、復号処理部５１においては、デコード処理の難易度が高い場合においては、＃１デコードチップ７３および＃２デコードチップ７６を用いて、１フレームを２分割してそれぞれデコード処理を行わせて、生成された分割された画像を合成して出力させ、デコード処理の難易度が比較的低い場合においては、＃１デコードチップ７３および＃２デコードチップ７６で、それぞれ異なるストリームをデコードさせるようにすることができる。＃１デコードチップ７３および＃２デコードチップ７６を用いて、１フレームを２分割してそれぞれデコード処理を行うことを、分割デコード処理と称するものとする。
【０１０５】
例えば、ノンリニア編集機は、タイムライン画面に複数のビデオトラックに対応するアイコンなどを表示させ、編集の指令を受けることができるようになされているので、より多くの数のビデオトラックを処理することが要求される。このように、デコード処理の難易度により１つのストリームをデコードするために用いられるチップ数を変更することができるようにすることにより、例えば、安価なデコードチップが用いられた場合においても、スクラブ処理などにおいて処理が間に合わなくなってしまうようなことなく、通常の再生などの場合には、ビデオトラックの数を増加させることが可能となる。
【０１０６】
またスクラブ以外の通常再生の場合でも、タイムラインでのビデオトラック数の要求が、１チャンネルにデコーダ２個を割り当てた場合のチャンネル数を下回っている場合には、１チャンネルにデコーダを２個割り当てたままとすると好適である。これにより、デコーダの切り替えにかかるオーバーヘッド時間を短縮させることが可能となる。
【０１０７】
入力信号選択部７２は、コントローラ７１の制御に基づいて、分割デコード処理が実行されない場合、＃１デコードチップ７３に供給されるストリームとは異なるストリームを＃２デコードチップ７６に供給し、分割デコード処理が実行される場合、＃１デコードチップ７３に供給されるストリームと同一のストリームの供給を受け、＃２デコードチップ７６に供給する。
【０１０８】
＃１デコードチップ７３および＃２デコードチップ７６は、分割デコード処理を実行する場合、それぞれ、供給されたピクチャのうちの自分自身がデコードする部分を認識して、デコード処理を実行する。
【０１０９】
ピクチャの分割の仕方は、例えば、図１０においてＡに示されるように、入力ストリームに含まれるピクチャのそれぞれを、スライスを単位としてデコードチップの個数分（ここでは２つ）に分割したり、図１０においてＢに示されるように、入力ストリームに含まれるピクチャのそれぞれを縦にデコードチップの個数分（ここでは２つ）に分割したり、図１０においてＣに示されるように、入力ストリームに含まれるピクチャのそれぞれを、斜めにデコードチップの個数分（ここでは２つ）に分割する（しかしながら、例えば、デコード方式がMPEG2などである場合には、縦や斜めの分割は、スライス単位の分割と比較して困難であるかもしれない）などの方法がある。
【０１１０】
MPEG2ビデオストリームにおいて、それぞれ、スライスは同一の水平行に位置する一連のマクロブロックであることが規定されており、各スライスに対する垂直位置は、slice_start_code内に示されている。そこで、＃１デコードチップ７３および＃２デコードチップ７６は、例えば、１枚のピクチャを、スライスを単位としてデコードチップの個数分に分割するとき、スライススタートコードを基にして、各フレームを分割し、自分自身がデコードすべき領域を認識することができる。
【０１１１】
ここでは、＃１デコードチップ７３および＃２デコードチップ７６は、それぞれ、供給されたピクチャのうちの自分自身がデコードする部分を認識して、デコード処理を実行するものとして説明したが、例えば、供給されたストリームのそれぞれのフレームが、図１０を用いて説明したように予め分割され、＃１デコードチップ７３および＃２デコードチップ７６に供給されるものとしても良い。
【０１１２】
なお、入力ストリームに含まれるピクチャのそれぞれをデコードチップの個数より多く分割して、その複数の分割されたピクチャを備えられているデコードチップの個数に分けて、供給するようにしても良いが、図１０に示したように、入力ストリームに含まれるピクチャのそれぞれをデコードチップの個数のまとまった（分離されていない）デコード単位に分割するほうが、それぞれのデコードチップにおいてデコードされる領域の中の他のデコードチップのデコードにおいて参照される画像領域の割合が少なくなるので、後述する参照部分の画素のデコードチップ間の授受の処理が複雑にならないので好適である。
【０１１３】
なお、ピクチャの分割の方法は、等分割であっても、不等分な分割であっても良い。コントローラ７１に、例えば、画像の複雑さを検出する機能を備えるようにして、分割デコード処理が実行され、ピクチャの部分によって画像の複雑さが著しく異なっているような場合、画像の複雑さ（符号化難易度）に基づいて、ピクチャの分割幅（図１０における図中のａおよびｂ）を決定することができるようにしても良い。
【０１１４】
＃１デコードチップ７３は、ストリーム入力回路９１、バッファ制御回路９２、デコーダ９３、動き補償回路９４、バッファ制御回路９５、チップ間インタフェース（Ｉ／Ｆ）９６、および、出力回路９７から構成され、コントローラ７１の制御に基づいて、供給されたピクチャの全体、または、所定の部分をデコードする。分割デコード処理が実行されるとき、＃１デコードチップ７３は、＃２デコードチップ７６のデコード処理の参照画像として必要となる可能性のある領域の画素データを＃２デコードチップ７６に供給するとともに、＃２デコードチップ７６から供給されるデコード済みの画素データをビデオバッファ７５に供給して記憶させ、必要に応じて参照することにより、デコード処理を実行する。
【０１１５】
ストリームバッファ７４は、例えば、DRAM（Dynamic Random Access Memory）などにより構成され、＃１デコードチップ７３に供給された符号化ストリームを一時保存する。ビデオバッファ７５は、例えば、DRAMなどにより構成され、＃１デコードチップ７３においてデコードされたビデオ信号（画素データ）や、＃２デコードチップ７６から供給されたデコード済みのビデオ信号（画素データ）の供給を受けて、一時保存する。
【０１１６】
＃２デコードチップ７６は、ストリーム入力回路１１１、バッファ制御回路１１２、デコーダ１１３、動き補償回路１１４、バッファ制御回路１１５、チップ間インタフェース（Ｉ／Ｆ）１１６、および、出力回路１１７から構成され、コントローラ７１の制御に基づいて、供給されたピクチャの全体、または、所定の部分をデコードする。分割デコード処理が実行されるとき、＃２デコードチップ７６は、＃１デコードチップ７３のデコード処理の参照画像として必要となる領域の画素データを＃１デコードチップ７３に供給するとともに、＃１デコードチップ７３から供給されるデコード済みの画素データをビデオバッファ７８に供給して記憶させ、必要に応じて参照することにより、デコード処理を実行する。
【０１１７】
ストリームバッファ７７は、例えば、DRAMなどにより構成され、＃２デコードチップ７６に供給された符号化ストリームを一時保存する。ビデオバッファ７８は、例えば、DRAMなどにより構成され、＃２デコードチップ７６においてデコードされたビデオ信号（画素データ）や、＃１デコードチップ７３から供給されたデコード済みのビデオ信号（画素データ）の供給を受けて、一時保存する。
【０１１８】
合成処理部７９は、分割デコード処理が実行された場合、＃１デコードチップ７３および＃２デコードチップ７６から、デコード済みの画素データの供給を受け、合成し、出力信号選択部８０に供給する。出力信号選択部８０は、分割デコード処理が実行されない場合、＃１デコードチップ７３の出力を選択し、分割デコード処理が実行された場合、合成処理部７９の出力を選択して、復号ビデオデータとして出力する。
【０１１９】
また、分割デコード処理が実行されない場合、＃２デコードチップ７６からの出力は、そのまま出力されるが、分割デコード処理が実行される場合、＃２デコードチップ７６からの出力は合成処理部７９に供給され、出力されない。
【０１２０】
次に、＃１デコードチップ７３の構成および動作について説明する。
【０１２１】
ストリーム入力回路９１は、分割デコード処理が実行されない場合、供給された符号化ストリームをバッファ制御回路９２に供給する。バッファ制御回路９２は、図示しないクロック発生回路から供給される基本クロックに従って、入力された符号化ストリームをストリームバッファ７４に入力する。また、ストリームバッファ７４に保存されている符号化ストリームを読み出し、デコーダ９３に出力する。
【０１２２】
デコーダ９３は、入力されたストリームをMPEGシンタックスに基づいてデコードし、動き補償回路９４に供給する。具体的には、デコーダ９３は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路９４に出力する。
【０１２３】
動き補償回路９４は、デコーダ９３から出力されるマクロブロックが動き補償を使用しているか否かを基に、必要に応じて、バッファ制御回路９５を介して、ビデオバッファ７５からデコード済みの参照画素データを読み込んで動き補償を行い、画素データを、バッファ制御回路９５に供給する。
【０１２４】
具体的には、デコーダ９３から出力されるマクロブロックが動き補償を使用していない場合、動き補償回路９４は、その画素データを、バッファ制御回路９５を介して、ビデオバッファ７５に書き込み、表示出力に備えるとともに、この画素データが、他の画像の参照データとされる場合に備える。
【０１２５】
デコーダ９３から出力されるマクロブロックが動き補償を使用している場合、動き補償回路９４は、デコーダ９３から出力される予測ベクトルに従って、バッファ制御回路９５を介して、ビデオバッファ７５から参照画素データを読み出す。そして、動き補償回路９４は、読み出した参照画素データを、デコーダ９３から供給された画素データに加算し、動き補償を行う。動き補償回路９４は、動き補償を行った画素データを、バッファ制御回路９５を介してビデオバッファ７５に書き込み、表示出力に備えるとともに、この画素データが、参照データとされる場合に備える。
【０１２６】
バッファ制御回路９５は、図示しないクロック発生回路から供給される基本クロックに従って、動き補償回路９４から入力された画素データを、ビデオバッファ７５に入力する。  
【０１２７】
ストリーム入力回路９１は、分割デコード処理が実行される場合、供給された符号化ストリームのうちのデコード処理を行う領域を認識し、バッファ制御回路９２に供給する。バッファ制御回路９２は、図示しないクロック発生回路から供給される基本クロックに従って、入力された符号化ストリームのフレームの一部をストリームバッファ７４に入力する。また、ストリームバッファ７４に保存されている符号化ストリームのフレームの一部を読み出し、デコーダ９３に出力する。なお、バッファ制御回路９２は、ストリームバッファ７４に先に書き込まれたデータから順に、スライスを単位として符号化ストリームを読み出し、デコーダ９３に出力するようにしてもよいし、後述するように、所定の順番で、スライスを単位として符号化ストリームを読み出し、デコーダ９３に出力するようにしてもよい。
【０１２８】
デコーダ９３は、入力されたストリームをMPEGシンタックスに基づいてデコードし、動き補償回路９４に供給する。具体的には、デコーダ９３は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路９４に出力する。
【０１２９】
動き補償回路９４は、デコーダ９３から出力されるマクロブロックが動き補償を使用しているか否かを基に、必要に応じて、バッファ制御回路９５を介して、ビデオバッファ７５からデコード済みの参照画素データを読み込んで、上述した場合と同様にして動き補償を行い、画素データを、バッファ制御回路９５に供給する。
【０１３０】
デコーダ９３から出力されるマクロブロックが動き補償を使用している場合、動き補償回路９４は、デコーダ９３から出力される予測ベクトルに従って、バッファ制御回路９５を介して、ビデオバッファ７５から参照画素データを読み出す。そして、動き補償回路９４は、読み出した参照画素データを、デコーダ９３から供給された画素データに加算し、動き補償を行う。動き補償回路９４は、動き補償を行った画素データを、バッファ制御回路９５を介してビデオバッファ７５に書き込み、表示出力に備えるとともに、この画素データが、参照データとされる場合に備える。バッファ制御回路９５は、図示しないクロック発生回路から供給される基本クロックに従って、動き補償回路９４から入力された画素データを、ビデオバッファ７５に入力する。
【０１３１】
バッファ制御回路９５はまた、チップ間インタフェース９６を介して＃２デコードチップ７６から供給される画素データを、ビデオバッファ７５に入力する。バッファ制御回路９５はまた、動き補償回路９４から指定された参照画素データを、ビデオバッファ７５に保存されている画素データから読み出して、動き補償回路９４に供給する。バッファ制御回路９５はまた、ビデオバッファ７５に保存されている画素データを読み出して、出力回路９７に供給する。また、バッファ制御回路９５は、ビデオバッファ７５に保存されている画素データのうち、＃２デコードチップ７６のデコード処理の参照画素として用いられる領域（動きベクトルの探索範囲）の画素データを読み出し、チップ間インタフェース９６を介して、＃２デコードチップ７６に供給する。
【０１３２】
出力回路９７は、デコードした画素データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路９５を介して、ビデオバッファ７５から画素データを読み出し、復号ビデオデータとして出力する。
【０１３３】
また、＃２デコードチップ７６のストリーム入力回路１１１乃至出力回路１１７の機能は、基本的に、＃１デコードチップ７３のストリーム入力回路９１乃至出力回路９７と同一であり、＃２デコードチップ７６の動作も、基本的に＃１デコードチップ７３と同一であるので、その詳細な説明は省略する。
【０１３４】
そして、＃１デコードチップ７３のチップ間インタフェース９６と＃２デコードチップ７６のチップ間インタフェース１１６とのデータの授受は、チップ間インタフェース９６からチップ間インタフェース１１６へデータを供給する、例えば、データバスなどのインタフェースと、チップ間インタフェース１１６からチップ間インタフェース９６へデータを供給する、例えば、データバスなどのインタフェースとがそれぞれ独立したインタフェース（専用線）として、他のデータの授受に用いられないようになされていると好適である。
【０１３５】
デコードチップ間を接続するインタフェース、すなわち、チップ間インタフェース９６からチップ間インタフェース１１６へデータを供給するインタフェースと、チップ間インタフェース１１６からチップ間インタフェース９６へデータを供給するインタフェースとが、それぞれ独立している（データバスなどのインタフェースを共有していない）場合、バッファ制御回路９５によりビデオバッファ７５から読み出された画素データは、逆方向の（すなわち、チップ間インタフェース１１６からチップ間インタフェース９６への）データの供給にかかわらず、チップ間インタフェース９６からチップ間インタフェース１１６へ送出可能であり、バッファ制御回路１１５によりビデオバッファ７８から読み出された画素データは、逆方向の（すなわち、チップ間インタフェース９６からチップ間インタフェース１１６への）データの供給にかかわらず、チップ間インタフェース１１６からチップ間インタフェース９６へ送出可能である。すなわち、このような構成においては、データの授受に伴う複雑なアドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを必要とせず、データの転送速度も、データバスなどのインタフェースを共有する場合などと比較して、低速化することが可能となる。
【０１３６】
具体的には、データバスなどのインタフェースを共有している場合、インタフェースが他のデータの授受に用いられている場合の待ち時間が必要となるのみならず、他のデコードチップへデータを送出する前に、アドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを行うための制御信号等をデコードチップ間で授受し、授受した制御信号を基に、データの授受の各種設定を行わなければならないため、これらの処理のための時間が必要となってしまう。これに対して、データバスなどのインタフェースを共有していない場合、他のデータの授受のために待ち時間が発生しないのみならず、データの送出前の処理が必要ではないため、同量のデータを同一の時間で他のデコードチップに送出するのに、データバスなどのインタフェースを共有する場合などと比較して、データの転送速度を低速化することが可能となる。
【０１３７】
なお、チップ間インタフェース９６とチップ間インタフェース１１６とを結ぶインタフェースは、例えば、＃１デコードチップ７３と＃２デコードチップ７６が実装されている基板上において、それぞれのチップの入出力端子をパターン接続すればよいため、それぞれのパターンを独立して用意しても、そのために必要となるハードウェアの実装上のコストは非常に安価である。
【０１３８】
次に、図１１乃至図１４を用いて、分割デコード処理が実行される場合の、＃１デコードチップ７３と＃２デコードチップ７６とのデコード済みの画素データの授受について説明する。
【０１３９】
供給された符号化ストリームのそれぞれのフレームは、例えば、スライスを基準として２つに分割し、＃１デコードチップ７３と＃２デコードチップ７６とのそれぞれにおけるデコード処理範囲として認識される。このとき、フレームを細分化することなく、連続した２つの領域にフレームが分割されるようにすると、ＰピクチャまたはＢピクチャのデコード時に参照画素として必要となる画素領域のうち、＃２デコードチップ７６においてデコードされる画素の領域部分が少なくなるため、好適である。
【０１４０】
復号処理部５１に供給される圧縮符号化されたストリームデータ（符号化ストリーム）のうち、Ｉピクチャは、フレーム内符号化（参照画像を有さない）されており、ＰピクチャまたはＢピクチャは、参照画像（Ｐピクチャをエンコードする場合は、直前のＩピクチャまたはＰピクチャであり、Ｂピクチャをエンコードする場合は、前後のＩピクチャまたはＰピクチャである）の対応するマクロブロックの位置を基準とした所定の領域内でマクロブロックとの誤差を最小にする参照ブロックが探索され、元のマクロブロックと参照マクロブロックの位置のずれである動きベクトルが求められ、動きベクトルと差分により、画が表現されている。
【０１４１】
MPEGを適用した符号化処理においては、一般的に、マクロブロックとして、16×16画素単位の矩形ブロックが用いられている。なお、本発明を適用した復号処理部５１はMPEG以外のフレーム間予測を適用した符号化ストリームのデコード処理を行うことができるようにしてもよく、動き補償の基準領域の大きさは、この限りではない。動き補償の基準領域は、例えば、H.264のように、16×16、16×8、8×16、8×8、8×4、4×8、4×4から選択可能なように設定するようにしてもよい。また、動き補償の基準領域をブロック単位ではなく、他の形状とすることも可能である。また、マクロブロックの参照先の画像データ（参照画）の大きさは、半画素レベルの動きベクトルをとることから、例えば、16×16、17×16、16×17、17×17、16×8、16×9、17×9、17×8などの複数の値をとる。
【０１４２】
＃１デコードチップ７３または＃２デコードチップ７６において、ＰピクチャまたはＢピクチャに含まれる所定のマクロブロックがデコードされる場合、予めデコードされている参照画像のマクロブロックの探索範囲の情報が利用される。しかしながら、デコード対象のマクロブロックが＃１デコードチップ７３で復号する画像領域と＃２デコードチップ７６で復号する画像領域との境界部分に近い場合、その参照画像として必要となる動きベクトルの探索範囲のうちの一部は、他方のデコードチップにおいてデコードされる画像領域に含まれてしまう。具体的には、図１１に示されるように、＃２デコードチップ７６においてＰピクチャまたはＢピクチャをデコードする場合、＃２デコードチップ７６で復号される画像領域（図中、垂直方向の画像範囲がｂで示される領域）のうちの＃１デコードチップ７３で復号される画像領域に近い部分のマクロブロックに対応する探索領域の一部は、＃１デコードチップ７３で復号される画像領域（図中、垂直方向の画像範囲がａで示される領域）に含まれてしまう。
【０１４３】
そこで、＃１デコードチップ７３と＃２デコードチップ７６とのそれぞれにおいて必要となる動きベクトルの探索範囲を全て探索可能とするために、＃１デコードチップ７３と＃２デコードチップ７６とにおいてデコードされたＩピクチャおよびＰピクチャのうち、他方のデコード処理において動きベクトルの探索範囲となる可能性のある領域のデータを、予め他方のデコードチップに供給するものとする。
【０１４４】
すなわち、図１２に示されるように、＃１デコードチップ７３においてデコードされたＩピクチャおよびＰピクチャにおいて、図中、垂直方向の画像範囲がａで示される＃１デコードチップ７３で復号される画像領域のうち、垂直方向の画像範囲がαで示される領域（＃２デコードチップ７６で復号される画像領域に近い画像領域）のデータが＃２デコードチップ７６に供給されて、垂直方向の画像範囲がｂで示される＃２デコードチップ７６で復号される画像領域とともに、ビデオバッファ７８において、蓄積ビデオデータとして保存される。
【０１４５】
また、＃２デコードチップ７６においてデコードされたＩピクチャおよびＰピクチャにおいて、図中、垂直方向の画像範囲がｂで示される＃２デコードチップ７６で復号される画像領域のうち、垂直方向の画像範囲がβで示される領域（＃１デコードチップ７３で復号される画像領域に近い画像領域）のデータが＃１デコードチップ７３に供給されて、垂直方向の画像範囲がａで示される＃１デコードチップ７３で復号される画像領域とともに、ビデオバッファ７５において、蓄積ビデオデータとして保存される。
【０１４６】
図１２に示されるαおよびβの範囲は、上述したように、他方のデコード処理において動きベクトルの探索範囲となる可能性のある領域のデータである。動き補償における動きベクトルの探索範囲は、MPEG規定により、水平方向1920pixel垂直1080lineのインタレース方式のフレームデータにおいて、水平方向に±1920pixel（すなわち、最大画枠幅）、垂直方向に128lineであると規定されている。すなわち、復号処理部５１において復号される符号化ストリームがMPEG規定により符号化された水平方向1920pixel垂直1080lineのインタレース方式のフレームデータである場合、図１２においてα、βとして示されている、他方のデコードチップに供給される（コピーされる）画像領域のライン幅は、128lineとなる。これは、MPEG規定ISO/IEC13818-2表８−８により「レベルに対するパラメータ制約」として規定されている。また、それぞれのピクチャ毎に、f_codeとして示されているので、垂直方向のf_codeで規定されるライン分を参考として、α、βを決定しても良い。
【０１４７】
ピクチャごとのデコード処理と、＃１デコードチップ７３と＃２デコードチップ７６とのデコード処理およびデコード済みの画素データの授受の具体例について、図１３乃至図１６を用いて説明する。ここでは、それぞれのピクチャのうち、＃１デコードチップ７３で復号される画像領域を第１の領域、＃２デコードチップ７６で復号される画像領域で復号される画像領域を第２の領域と称するものとする。
【０１４８】
まず、図１３に示されるように第１の領域と第２の領域に分割されたＩピクチャが、＃１デコードチップ７３と＃２デコードチップ７６とにそれぞれ供給される。＃１デコードチップ７３のデコーダ９３は、バッファ制御回路９２を介して供給されたＩピクチャの第１の領域に含まれる各スライスをデコードする。バッファ制御回路９５は、デコードされたＩピクチャの第１の領域の画素データを、ビデオバッファ７５に供給して保存させるとともに、デコードされたＩピクチャの第１の領域の画素データのうち、＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がαで示された領域）の画素データをチップ間インタフェース９６に供給する。チップ間インタフェース９６は、供給された画素データを、＃２デコードチップ７６のチップ間インタフェース１１６に供給する。
【０１４９】
一方、＃２デコードチップ７６のデコーダ１１３は、バッファ制御回路１１２を介して供給されたＩピクチャの第２の領域に含まれる各スライスをデコードする。バッファ制御回路１１５は、デコードされたＩピクチャの第２の領域の画素データを、ビデオバッファ７８に供給して保存させるとともに、デコードされた第２の領域の画素データのうち、＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がβで示された領域）の画素データをチップ間インタフェース１１６に供給する。チップ間インタフェース１１６は、供給された画素データを、＃１デコードチップ７３のチップ間インタフェース９６に供給する。
【０１５０】
＃２デコードチップ７６のチップ間インタフェース１１６は、＃１デコードチップ７３のチップ間インタフェース９６から供給された画素データ、すなわち、Ｉピクチャの第１の領域の画素データのうち、＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がαで示された領域）の画素データを、バッファ制御回路１１５に供給する。バッファ制御回路１１５は、供給された画素データをビデオバッファ７８に供給する。また、＃１デコードチップ７３のチップ間インタフェース９６は、＃２デコードチップ７６のチップ間インタフェース１１６から供給された画素データ、すなわち、Ｉピクチャの第２の領域の画素データのうち、＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がβで示された領域）の画素データを、バッファ制御回路９５に供給する。バッファ制御回路９５は、供給された画素データをビデオバッファ７５に供給する。
【０１５１】
すなわち、ビデオバッファ７５には、Ｉピクチャの第１の領域の画素データと、第２の領域の画素データのうち、＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がβで示された領域）の画素データとが保存され、ビデオバッファ７８には、Ｉピクチャの第２の領域の画素データと、第１の領域の画素データのうち、＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がαで示された領域）の画素データが保存される。
【０１５２】
そして、ビデオバッファ７５に保存された画素データのうち、Ｉピクチャの第１の領域の画素データは、バッファ制御回路９５により読み出されて、出力回路９７を介して合成処理部７９に供給される。また、ビデオバッファ７８に保存された画素データのうち、Ｉピクチャの第２の領域の画素データは、バッファ制御回路１１５により読み出されて、出力回路１１７を介して合成処理部７９に供給される。そして、合成処理部７９に供給された画素データが合成されて出力される。
【０１５３】
そして、Ｐピクチャがデコードされる場合、ビデオバッファ７５に保存されている、Ｉピクチャの第１の領域の画素データと、第２の領域の画素データのうち＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域の画素データとが、バッファ制御回路９５に読み出されて、動き補償回路９４による動き補償処理に用いられる。また、ビデオバッファ７８に保存されている、Ｉピクチャの第２の領域の画素データと、第１の領域の画素データのうち＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域の画素データとが、バッファ制御回路１１５に読み出されて、動き補償回路１１４による動き補償処理に用いられる。すなわち、図１４に示されるように、＃１デコードチップ７３でデコードされるＰピクチャの第１の領域に含まれる各マクロブロックの動き探索範囲は、Ｉピクチャの第１の領域と、第２の領域の画素データのうち＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域に対応し、＃２デコードチップ７６でデコードされるＰピクチャの第２の領域に含まれる各マクロブロックの動き探索範囲は、Ｉピクチャの第２の領域と、第１の領域の画素データのうち＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域に対応する。
【０１５４】
＃１デコードチップ７３のバッファ制御回路９５は、デコードされたＰピクチャの第１の領域の画素データを、ビデオバッファ７５に供給して保存させるとともに、デコードされたＰピクチャの第１の領域の画素データのうち、＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がαで示された領域）の画素データをチップ間インタフェース９６に供給する。チップ間インタフェース９６は、供給された画素データを、＃２デコードチップ７６のチップ間インタフェース１１６に供給する。
【０１５５】
また、＃２デコードチップ７６のバッファ制御回路１１５は、デコードされたＰピクチャの第２の領域の画素データを、ビデオバッファ７８に供給して保存させるとともに、デコードされた第２の領域の画素データのうち、＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がβで示された領域）の画素データをチップ間インタフェース１１６に供給する。チップ間インタフェース１１６は、供給された画素データを、＃１デコードチップ７３のチップ間インタフェース９６に供給する。
【０１５６】
＃２デコードチップ７６のチップ間インタフェース１１６は、＃１デコードチップ７３のチップ間インタフェース９６から供給された画素データ、すなわち、Ｐピクチャの第１の領域の画素データのうち、＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がαで示された領域）の画素データを、バッファ制御回路１１５に供給する。バッファ制御回路１１５は、供給された画素データをビデオバッファ７８に供給する。また、＃１デコードチップ７３のチップ間インタフェース９６は、＃２デコードチップ７６のチップ間インタフェース１１６から供給された画素データ、すなわち、Ｐピクチャの第２の領域の画素データのうち、＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がβで示された領域）の画素データを、バッファ制御回路９５に供給する。バッファ制御回路９５は、供給された画素データをビデオバッファ７５に供給する。
【０１５７】
すなわち、図１５に示されるように、ビデオバッファ７５には、Ｐピクチャの第１の領域の画素データと、第２の領域の画素データのうち、＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がβで示された領域）の画素データとが保存され、ビデオバッファ７８には、Ｐピクチャの第２の領域の画素データと、第１の領域の画素データのうち、＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がαで示された領域）の画素データが保存される。
【０１５８】
そして、Ｂピクチャがデコードされる場合、ビデオバッファ７５に保存されている、デコードされるＢピクチャの前後のＩまたはＰピクチャにおける第１の領域の画素データ、および、第２の領域の画素データのうち＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域の画素データが、バッファ制御回路９５に読み出されて、動き補償回路９４による動き補償処理に用いられる。また、ビデオバッファ７８に保存されている、デコードされるＢピクチャの前後のＩまたはＰピクチャにおける第２の領域の画素データ、および、第１の領域の画素データのうち＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域の画素データが、バッファ制御回路１１５に読み出されて、動き補償回路１１４による動き補償処理に用いられる。すなわち、図１６に示されるように、＃１デコードチップ７３でデコードされるＢピクチャの第１の領域に含まれる各マクロブロックの動き探索範囲は、その前後のＩまたはＰピクチャの第１の領域と、第２の領域の画素データのうち＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域に対応し、＃２デコードチップ７６でデコードされるＢピクチャの第２の領域に含まれる各マクロブロックの動き探索範囲は、その前後のＩまたはＰピクチャの第２の領域と、第１の領域の画素データのうち＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域に対応する。
【０１５９】
＃１デコードチップ７３のバッファ制御回路９５は、デコードされたＢピクチャの第１の領域の画素データを、ビデオバッファ７５に供給して保存させる。Ｂピクチャは他のピクチャの参照画像として用いられないため、＃１デコードチップ７３においてデコードされたＢピクチャはいずれの領域も＃２デコードチップ７６に供給（コピー）されなくてもよい。
【０１６０】
また、＃２デコードチップ７６のバッファ制御回路１１５は、デコードされたＢピクチャの第２の領域の画素データを、ビデオバッファ７８に供給して保存させる。Ｂピクチャは他のピクチャの参照画像として用いられないため、＃２デコードチップ７６においてデコードされたＢピクチャはいずれの領域も＃１デコードチップ７３に供給（コピー）されなくてもよい。
【０１６１】
このようにして、ＩまたはＰピクチャがデコードされた後、他のデコードチップのＰまたはＢピクチャのデコード時に参照画素として用いられる領域の画素データが他のデコードチップに供給されて、ビデオバッファにコピーされるので、１フレームが２つに分割されて異なるデコードチップでそれぞれデコードされるときに、ＰまたはＢピクチャのデコード時に参照画素として用いられる領域の画素データが、予め、ビデオバッファに蓄積されて利用可能となる。
【０１６２】
次に、図１７のフローチャートを参照して、デコーダ切り替え判断処理について説明する。
【０１６３】
ステップＳ１において、ＣＰＵ４０は、ＣＰＵ３１から、ノースブリッジ３２、ＰＣＩバス３４、ＰＣＩブリッジ３７、および、コントロールバス３９を介して供給された、デコードされるストリームの種類やストリームの表示方法に関する情報を取得する。
【０１６４】
ステップＳ２において、ＣＰＵ４０は、デコードされるストリームは、Iピクチャだけで構成されたストリームであるか否かを判断する。ステップＳ２において、Iピクチャだけで構成されたストリームであると判断された場合、処理は、後述するステップＳ６に進む。
【０１６５】
ステップＳ２において、Iピクチャだけで構成されたストリームではないと判断された場合、ステップＳ３において、ＣＰＵ４０は、図９を用いて説明した編集画面１３１のスクラブバー１５１またはタイムライン１５３の表示スケールは、所定の値以上であるか否かを判断する。ステップＳ３において、所定の値以上であると判断された場合、処理は、後述するステップＳ６に進む。
【０１６６】
ステップＳ３において、所定の値以上ではないと判断された場合、ステップＳ４において、ＣＰＵ４０は、逆方向再生、高速再生、または、スクラブ再生のためのデコード処理が実行されるか否かを判断する。ステップＳ４において、逆方向再生、高速再生、または、スクラブ再生のいずれでもないと判断された場合、処理は、後述するステップＳ６に進む。
【０１６７】
ステップＳ４において、逆方向再生、高速再生、または、スクラブ再生のうちのいずれかであると判断された場合、ステップＳ５において、ＣＰＵ４０は、例えば、M=３のLongGOPに対して3倍速など、デコード処理の負荷の低い所定の再生処理であるか否かを判断する。
【０１６８】
ステップＳ２において、Iピクチャだけで構成されたストリームであると判断された場合、ステップＳ３において、所定の値以上であると判断された場合、ステップＳ４において、逆方向再生、高速再生、または、スクラブ再生のいずれでもないと判断された場合、または、ステップＳ５において、例えば、M=３のLongGOPに対して3倍速など、デコード処理の負荷の低い所定の再生処理であると判断された場合、ステップＳ６において、ＣＰＵ４０は、通常のデコード処理を実行するものとして、デコーダユニット４２を制御し、処理が終了される。
【０１６９】
ステップＳ５において、例えば、M=３のLongGOPに対して3倍速など、デコード処理の負荷の低い所定の再生処理ではないと判断された場合、ステップＳ７において、図１８のフローチャートを参照して後述する分割デコード処理が実行されて、処理が終了される。
【０１７０】
このような処理により、デコード処理の各種条件に基づいて、分割デコード処理が実行されるか、通常のデコード処理が実行されるかが決定される。
【０１７１】
なお、ここでは、Ｉピクチャだけで構成されたストリームではなく、タイムラインの表示スケールは所定の値以下であり、逆方向再生、高速再生、または、スクラブ再生のいずれかの特殊再生が実行され、更に、例えば、M=３のLongGOPに対して3倍速など、デコード処理の負荷の低い所定の再生処理ではないと判断された場合のみ、分割デコード処理が実行されるものとして説明したが、分割デコードを実行するか否かの条件は、例えば、デコーダユニット４２を構成する復号処理部５１−１乃至５１−ｍのデコード処理能力、すなわち、＃１デコードチップ７３および＃２デコードチップ７６の処理能力によって異なるものとしても良いことはいうまでもない。
【０１７２】
具体的には、例えば、比較的処理能力の低い＃１デコードチップ７３および＃２デコードチップ７６が用いられた場合、上述した条件のうちの１つまたは２つが適合した場合に、分割デコード処理が実行されるものとしても良い。
【０１７３】
次に、図１８のフローチャートを参照して、図１７のステップＳ７において実行される分割デコード処理について説明する。
【０１７４】
ステップＳ３１において、復号処理部５１−１乃至５１−ｍは、ストリームデータの供給を受ける。
【０１７５】
ステップＳ３２において、供給されたフレームが、＃１デコードチップ７３および＃２デコードチップ７６のそれぞれに供給される。
【０１７６】
ステップＳ３３において、図１９を用いて後述する分割フレームデコード処理が実行される。
【０１７７】
ステップＳ３４において、＃１デコードチップ７３の出力回路９７は、デコードされた画素データにより構成される画像データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路９５を介して、ビデオバッファ７５にバッファリングされている画像データのうち、次に出力される画像データのデコーダ９３においてデコードされた部分（すなわち、図１２中、垂直方向の画像範囲がａで示される画像領域）の画像データを読み出し、復号ビデオデータとして合成処理部７９に出力する。また、＃２デコードチップ７６の出力回路１１７は、デコードされた画素データにより構成される画像データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路１１５を介して、ビデオバッファ７８にバッファリングされている画像データのうち、次に出力される画像データのデコーダ１１３においてデコードされた部分（すなわち、図１２中、垂直方向の画像範囲がｂで示される画像領域）の画像データを読み出し、復号ビデオデータとして合成処理部７９に出力する。
【０１７８】
ステップＳ３７において、合成処理部７９は、＃１デコードチップ７３および＃２デコードチップ７６からデコードされた分割フレームの画像データの供給を受け、分割されている画像データを合成して１フレームとし、出力信号選択部８０を介して出力し、処理が終了される。
【０１７９】
このような処理により、図８を用いて説明した復号処理部５１は、＃１デコードチップ７３および＃２デコードチップ７６を用いて１フレームを分割してデコードすることができる。例えば、＃１デコードチップ７３のデコーダ９３および＃２デコードチップ７６のデコーダ１１３がそれぞれ１倍速に対応するデコード処理速度を有し、＃１デコードチップ７３および＃２デコードチップ７６のそれぞれにおいて、ストリームデータの１フレームをそれぞれの符号化難易度が２等分となるようにデコード領域が認識されている場合、図８を用いて説明した復号処理部５１は、いずれか一方でデコード処理が実行される場合と比較して、２倍速のデコード処理が可能となる。
【０１８０】
また、このような処理により、２倍速でデコード処理が可能となるばかりでなく、同等の高速復号性能においては、回路規模を削減（１つのデコードチップの処理能力を下げる）事が可能となる。また、１つのデコードチップでは対応できないようなフレーム周波数の高い符号化ストリームであっても、複数のデコードチップを用いることによりデコードすることが可能となる。具体的には、例えば、１つのデコードチップの処理能力が1920×1080/30P相当のデコードチップを２個用いることにより、1920×1080/60Pの符号化ストリームのデコードが可能となり、１つのデコードチップの処理能力が 1920×1080/60i相当のデコードチップを２個用いることにより、1920×1080/60Pの符号化ストリームを復号することが可能となり、１つのデコードチップの処理能力が1920×1080/60i相当のデコードチップを２個用いることにより、1920×1080/120iの符号化ストリームを復号することが可能となる。
【０１８１】
更に、高速のデコード処理が可能となり、複数のデコードチップが１フレームを分割してデコードすることにより、所望のピクチャから再生を開始させるような場合、再生開始点のピクチャをデコードするために必要な参照画像が複数枚存在するようなときでも、高速で処理を行うことができるので、高速頭出し再生が実現可能となる。
【０１８２】
次に、図１９のフローチャートを参照して、図１８のステップＳ３３において実行される分割フレームデコード処理について説明する。分割フレームデコード処理は、＃１デコードチップ７３および＃２デコードチップ７６のそれぞれにおいて、並行して実行される。
【０１８３】
ステップＳ６１において、＃１デコードチップ７３のストリーム入力回路９１は、ストリームデータの供給を受け、供給されたフレームのピクチャタイプを検出する。また、＃１デコードチップ７６のストリーム入力回路１１１は、ストリームデータの供給を受け、供給されたフレームのピクチャタイプを検出する。
【０１８４】
ステップＳ６２において、＃１デコードチップ７３のストリーム入力回路９１および＃１デコードチップ７６のストリーム入力回路１１１は、コントローラ７１の制御に基づいて、供給されたフレームのうち、例えば、図１０を用いて説明したフレームの分割における場合と同様にして、デコードする範囲を選択して抽出する。
【０１８５】
ステップＳ６３において、＃１デコードチップ７３のストリーム入力回路９１は、供給されたフレームのうち、デコード範囲として抽出した部分をバッファ制御回路９２に供給する。バッファ制御回路９２は、供給されたデータをストリームバッファ７４にバッファリングする。また、＃１デコードチップ７６のストリーム入力回路１１１は、供給されたフレームのうち、デコード範囲として抽出した部分を、バッファ制御回路１１２に供給する。バッファ制御回路１１２は、供給されたデータをストリームバッファ７７にバッファリングする。
【０１８６】
ステップＳ６４において、バッファ制御回路９２は、ストリームバッファ７４にバッファリングされたデータを読み出してデコーダ９３に供給する。また。バッファ制御回路１１２は、ストリームバッファ７７にバッファリングされたデータを読み出してデコーダ１１３に供給する。このとき、上述したように、他のデコードチップに参照画素として供給する必要のある領域のマクロブロックからデコードが開始されるように、優先的にデコーダに供給すると好適である。
【０１８７】
ステップＳ６５において、デコーダ９３およびデコーダ１１３は、コントローラ７１から供給される制御信号を基に、供給されたのはＩピクチャであるか否かを判断する。ステップＳ６５において、供給されたのはＩピクチャではないと判断された場合、処理は、後述するステップＳ７０に進む。
【０１８８】
ステップＳ６５において、供給されたのはＩピクチャであると判断された場合、ステップＳ６６において、デコーダ９３およびデコーダ１１３は、供給されたそれぞれの符号化データに含まれるマクロブロックをデコードする。
【０１８９】
ステップＳ６７において、バッファ制御回路９５は、デコーダ９３からデコード済みのデータの供給を受け、デコード済みの画素データ（図１３のＩピクチャの第１の領域に対応する部分の画素データ）を、参照画像および出力用の画像としてビデオバッファ７５に供給する。また、バッファ制御回路１１５は、デコーダ１１３からデコード済みのデータの供給を受け、デコード済みの画素データ（図１３のＩピクチャの第２の領域に対応する部分の画素データ）を、参照画像および出力用の画像としてビデオバッファ７８に供給する。
【０１９０】
ステップＳ６８において、バッファ制御回路９５は、デコーダ９３から供給されたデコード済みのデータのうち、＃２デコードチップ７６のデコード処理に用いるために、＃２デコードチップ７６へコピーする部分（すなわち、図１２中、垂直方向の画像範囲がαで示される領域）のデータをチップ間インタフェース９６に供給する。チップ間インタフェース９６は、供給されたコピー部分の画素データを、＃２デコードチップ７６のチップ間インタフェース１１６に供給する。また、バッファ制御回路１１５は、デコーダ１１３から供給されたデコード済みのデータのうち、＃１デコードチップ７３のデコード処理に用いるために、＃１デコードチップ７３へコピーする部分（すなわち、図１２中、垂直方向の画像範囲がβで示される領域）のデータをチップ間インタフェース１１６に供給する。チップ間インタフェース１１６は、供給されたコピー部分の画素データを、＃１デコードチップ７３のチップ間インタフェース９６に供給する。
【０１９１】
このとき、デコードチップ間を接続するインタフェース、すなわち、チップ間インタフェース９６からチップ間インタフェース１１６へデータを供給するインタフェースと、チップ間インタフェース１１６からチップ間インタフェース９６へデータを供給するインタフェースとが、それぞれ独立している（データバスなどのインタフェースを共有していない）と、データの授受に伴う複雑なアドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを必要とせず、データの転送速度も、データバスなどのインタフェースを共有する場合などと比較して、低速化することが可能となる。
【０１９２】
なお、チップ間インタフェース９６とチップ間インタフェース１１６とを結ぶインタフェースは、例えば、＃１デコードチップ７３と＃２デコードチップ７６が実装されている基板上において、それぞれのチップの入出力端子をパターン接続すればよいため、それぞれのインタフェースを独立して用意しても、そのために必要となるハードウェアの実装上のコストは非常に安価である。
【０１９３】
ステップＳ６９において、＃１デコードチップ７３のチップ間インタフェース９６は、＃２デコードチップ７６から供給された画素データをバッファ制御回路９５に供給する。バッファ制御回路９５は、供給された画素データをビデオバッファ７５に供給する。また。＃２デコードチップ７６のチップ間インタフェース１１６は、＃１デコードチップ７３から供給された画素データをバッファ制御回路１１５に供給する。バッファ制御回路１１５は、供給された画素データをビデオバッファ７８に供給する。すなわち、図１３を用いて説明したように、ビデオバッファ７５には、Ｉピクチャの第１の領域の画素データと、第２の領域の画素データのうち、＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がβで示された領域）の画素データとが保存され、ビデオバッファ７８には、Ｉピクチャの第２の領域の画素データと、第１の領域の画素データのうち、＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がαで示された領域）の画素データが保存され、処理は、図１８のステップＳ３３に戻り、ステップＳ３４に進む。
【０１９４】
ステップＳ６５において、供給されたのはＩピクチャではないと判断された場合、ステップＳ７０において、デコーダ９３およびデコーダ１１３は、コントローラ７１から供給される制御信号を基に、供給されたのはＰピクチャであるか否かを判断する。ステップＳ７０において、供給されたのはＰピクチャではないと判断された場合、処理は、後述するステップＳ７５に進む。
【０１９５】
ステップＳ７０において、供給されたのはＰピクチャであると判断された場合、ステップＳ７１において、デコーダ９３およびデコーダ１１３は、参照画素データを用いて、それぞれのマクロブロックをデコードする。具体的には、Ｐピクチャに含まれるマクロブロックは、動き補償を使用しているので、デコーダ９３は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路９４に出力する。動き補償回路９４は、デコーダ９３から出力される予測ベクトルに従って、バッファ制御回路９５を介して、ビデオバッファ７５から参照画素データを読み出し、読み出した参照画素データを、デコーダ９３から供給された画素データに加算し、動き補償を行う。ビデオバッファ７５には、ステップＳ６９または後述するステップＳ７４の処理により、分割されたＰピクチャのデコードに必要な参照画像が、全画素蓄積されている。また、デコーダ１１３は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路１１４に出力する。動き補償回路１１４は、デコーダ１１３から出力される予測ベクトルに従って、バッファ制御回路１１５を介して、ビデオバッファ７８から参照画素データを読み出し、読み出した参照画素データを、デコーダ１１３から供給された画素データに加算し、動き補償を行う。ビデオバッファ７８には、ステップＳ６９または後述するステップＳ７４の処理により、分割されたＰピクチャのデコードに必要な参照画像が、全画素蓄積されている。
【０１９６】
ステップＳ７２において、バッファ制御回路９５は、デコーダ９３からデコード済みのデータの供給を受け、デコード済みの画素データ（図１５のＰピクチャの第１の領域に対応する部分の画素データ）を、参照画像および出力用の画像としてビデオバッファ７５に供給する。また、バッファ制御回路１１５は、デコーダ１１３からデコード済みのデータの供給を受け、デコード済みの画素データ（図１５のＰピクチャの第２の領域に対応する部分の画素データ）を、参照画像および出力用の画像としてビデオバッファ７８に供給する。
【０１９７】
ステップＳ７３において、バッファ制御回路９５は、デコーダ９３から供給されたデコード済みのデータのうち、＃２デコードチップ７６のデコード処理に用いるために、＃２デコードチップ７６へコピーする部分（すなわち、図１２中、垂直方向の画像範囲がαで示される領域）のデータをチップ間インタフェース９６に供給する。チップ間インタフェース９６は、供給されたコピー部分の画素データを、＃２デコードチップ７６のチップ間インタフェース１１６に供給する。また、バッファ制御回路１１５は、デコーダ１１３から供給されたデコード済みのデータのうち、＃１デコードチップ７３のデコード処理に用いるために、＃１デコードチップ７３へコピーする部分（すなわち、図１２中、垂直方向の画像範囲がβで示される領域）のデータをチップ間インタフェース１１６に供給する。チップ間インタフェース１１６は、供給されたコピー部分の画素データを、＃１デコードチップ７３のチップ間インタフェース９６に供給する。
【０１９８】
ステップＳ７４において、＃１デコードチップ７３のチップ間インタフェース９６は、＃２デコードチップ７６から供給された画素データをバッファ制御回路９５に供給する。バッファ制御回路９５は、供給された画素データをビデオバッファ７５に供給する。また。＃２デコードチップ７６のチップ間インタフェース１１６は、＃１デコードチップ７３から供給された画素データをバッファ制御回路１１５に供給する。バッファ制御回路１１５は、供給された画素データをビデオバッファ７８に供給する。すなわち、図１５を用いて説明したように、ビデオバッファ７５には、Ｐピクチャの第１の領域の画素データと、第２の領域の画素データのうち、＃１デコードチップ７３のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がβで示された領域）の画素データとが保存され、ビデオバッファ７８には、Ｐピクチャの第２の領域の画素データと、第１の領域の画素データのうち、＃２デコードチップ７６のデコード処理において動きベクトルの探索範囲に含まれる領域（図１２において垂直方向の画像範囲がαで示された領域）の画素データが保存され、処理は、図１８のステップＳ３３に戻り、ステップＳ３４に進む。
【０１９９】
ステップＳ７０において、供給されたのはＰピクチャではないと判断された場合、ステップＳ７５において、デコーダ９３およびデコーダ１１３は、コントローラ７１から供給される制御信号を基に、供給されたのはＢピクチャであるか否かを判断する。ステップＳ７５において、供給されたのはＢピクチャではないと判断された場合、処理は、ステップＳ６５に戻り、それ以降の処理が繰り返される。
【０２００】
ステップＳ７５において、供給されたのはＢピクチャであると判断された場合、ステップＳ７６において、デコーダ９３およびデコーダ１１３は、参照画素データを用いて、それぞれのマクロブロックをデコードする。具体的には、Ｂピクチャに含まれるマクロブロックは、動き補償を使用しているので、デコーダ９３は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路９４に出力する。動き補償回路９４は、デコーダ９３から出力される予測ベクトルに従って、バッファ制御回路９５を介して、ビデオバッファ７５から参照画素データを読み出し、読み出した参照画素データを、デコーダ９３から供給された画素データに加算し、動き補償を行う。ビデオバッファ７５には、ステップＳ６９またはステップＳ７４の処理により、分割されたＢピクチャのデコードに必要な参照画像が、全画素蓄積されている。また、デコーダ１１３は、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路１１４に出力する。動き補償回路１１４は、デコーダ１１３から出力される予測ベクトルに従って、バッファ制御回路１１５を介して、ビデオバッファ７８から参照画素データを読み出す。そして、読み出した参照画素データを、デコーダ１１３から供給された画素データに加算し、動き補償を行う。ビデオバッファ７８には、ステップＳ６９またはステップＳ７４の処理により、分割されたＢピクチャのデコードに必要な参照画像が、全画素蓄積されている。
【０２０１】
ステップＳ７７において、バッファ制御回路９５は、デコーダ９３からデコード済みのデータの供給を受け、デコード済みの画素データ（図１６のＢピクチャの第１の領域に対応する部分の画素データ）を、出力用の画像としてビデオバッファ７５に供給する。また、バッファ制御回路１１５は、デコーダ１１３からデコード済みのデータの供給を受け、デコード済みの画素データ（図１６のＢピクチャの第２の領域に対応する部分の画素データ）を、出力用の画像としてビデオバッファ７８に供給し、処理は、図１８のステップＳ３３に戻り、ステップＳ３４に進む。
【０２０２】
このような処理により、＃１デコードチップ７３と＃２デコードチップ７６とのそれぞれにおいて、コントローラ７１により検出されたピクチャタイプに基づいたデコード処理が実行される。また、このとき、＃１デコードチップ７３と＃２デコードチップ７６とのそれぞれにおいて、他方のデコードチップにおいて参照画像として用いられる部分の画素データを、他方のデコードチップに供給するとともに、他方のデコードチップから供給される参照画像を自分自身が参照可能なビデオバッファに供給して保存させ、参照画像として利用することができる。
【０２０３】
なお、以上説明した処理においては、Ｉピクチャのデコードの終了後に、ＰまたはＢピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに供給し、Ｐピクチャのデコードの終了後に、ＰまたはＢピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに供給するものとして説明した。これにより、デコード済みの画素データのチップ間のコピー処理を、それぞれのピクチャがデコードされるときに実行されるようにした場合、すなわち、Ｐピクチャのデコード時に、既にデコードされてバッファリングされているＩまたはＰピクチャに対応する画素データから、Ｐピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップから取得し、Ｂピクチャのデコード時に、既にデコードされてバッファリングされているＩまたはＰピクチャに対応する画素データから、Ｂピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップから取得するようにした場合と比較して、それぞれのビデオバッファ（ビデオバッファ７５またはビデオバッファ７８）へのアクセス時間の合計を短くすることが可能となる。
【０２０４】
具体的には、デコード済みの画素データのチップ間のコピー処理をそれぞれのピクチャがデコードされるときに実行されるようにした場合、図２０においてＡに示されるように、Ｉピクチャのデコード時におけるビデオバッファ（ビデオバッファ７５またはビデオバッファ７８）へのアクセス時間は、Ｉピクチャに対応する復号画像の書き込み時間Ｔ１のみとなり、Ｐピクチャのデコード時におけるビデオバッファへのアクセス時間は、Ｐピクチャに対応する復号画像の書き込み時間Ｔ１に加えて、前方向の参照画の読み出し時間Ｔ２と、他方のデコードチップのデコード処理に用いられる範囲の参照画像の読み出し時間Ｔ３が必要となる。なお、参照画の読み出し時間Ｔ２は、復号画像の書き込み時間Ｔ１と略同等か、または、それ以上である。そして、Ｂピクチャのデコード時におけるビデオバッファへのアクセス時間は、Ｂピクチャに対応する復号画像の書き込み時間Ｔ１に加えて、前方向および後ろ方向の参照画の読み出し時間Ｔ２×２と、他方のデコードチップのデコード処理に用いられる範囲の前方向および後ろ方向の参照画像の読み出し時間Ｔ３×２が必要となる。
【０２０５】
そして、Ｉピクチャのデコードの終了後にＰまたはＢピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに供給し、Ｐピクチャのデコードの終了後にＰまたはＢピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに供給するようになされている場合、図２０においてＢに示されるように、Ｉピクチャのデコード時におけるビデオバッファへのアクセス時間は、Ｉピクチャに対応する復号画像の書き込み時間Ｔ１に加えて、他方のデコードチップから供給された、後でＰまたはＢピクチャがデコードされるときに用いられる範囲の参照画像を書き込むための時間Ｔ４が必要となる。また、Ｐピクチャのデコード時におけるビデオバッファへのアクセス時間は、Ｐピクチャに対応する復号画像の書き込み時間Ｔ１と前方向の参照画の読み出し時間Ｔ２に加えて、他方のデコードチップから供給された、後でＰまたはＢピクチャがデコードされるときに用いられる範囲の参照画像を書き込むための時間Ｔ４が必要となる。そして、Ｂピクチャのデコード時におけるビデオバッファへのアクセス時間は、Ｂピクチャに対応する復号画像の書き込み時間Ｔ１と、前方向および後ろ方向の参照画の読み出し時間Ｔ２×２との合計時間となる。
【０２０６】
すなわち、デコード済みの画素データのチップ間のコピー処理をそれぞれのピクチャがデコードされるときに実行されるようにした場合と、Ｉピクチャのデコードの終了後にＰまたはＢピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに予め供給し、Ｐピクチャのデコードの終了後にＰまたはＢピクチャのデコードにおいて参照される部分の画素データを他方のデコードチップに予め供給する場合とでは、いずれの場合においても、ビデオバッファへのアクセス時間の合計は、Ｂピクチャのデコード時に最大となるが、他のデコードチップの参照画像を予め供給しておくようにすることにより、図２０においてＢに示されるように、１ピクチャのデコードにおけるビデオバッファへの最大のアクセス時間を短縮させる（図中Ｔ５で示される時間分だけ短縮させる）ことが可能となるので、復号処理時間を短縮することができ、換言すれば、より高速に復号処理を行うことや、同一のデコード処理速度においてはデコードチップとビデオバッファとのデータ転送速度を低くすることが可能となる。
【０２０７】
このとき、上述したように、デコードチップ間を接続するインタフェース、すなわち、チップ間インタフェース９６からチップ間インタフェース１１６へデータを供給するインタフェースと、チップ間インタフェース１１６からチップ間インタフェース９６へデータを供給するインタフェースとが、それぞれ独立している（データバスなどのインタフェースを共有していない）と、データの授受に伴う複雑なアドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを必要とせず、データの転送速度も、データバスなどのインタフェースを共有する場合などと比較して、低速化することが可能となる。
【０２０８】
また、＃１デコードチップ７３と＃２デコードチップ７６とのそれぞれにおいて実行されるデコード処理をいずれのスライスから行うかによって、更に、復号処理時間を短縮することができ、換言すれば、より高速に復号処理を行うことが可能となる。
【０２０９】
図２１乃至図２３を用いて、デコード処理の順番と復号処理の処理速度について説明する。
【０２１０】
図２１は、＃１デコードチップ７３と＃２デコードチップ７６とのそれぞれにおいて実行されるデコード処理の処理順の複数のパターンを示す図である。
【０２１１】
MPEGストリームが供給される場合、picture_headerなどに引き続き、picture_dataとして画面を構成する複数のスライスが順次供給される。この際、画面の左上部のスライスから、画面の右下部のスライスの順序で供給される。したがって、通常のデコード順では、＃１デコードチップ７３と＃２デコードチップ７６とのそれぞれにおいて、図２１の矢印１６１および矢印１６２に示されるように、各分割画面の上部から下部方向の順で復号処理が実行される。すなわち、＃１デコードチップ７３で復号されて＃２デコードチップ７６への転送が必要な、図中αで示される領域の参照画素は最後に復号される。
【０２１２】
したがって、例えば、Ｐピクチャのデコードに続いて、Ｂピクチャがデコードされる場合、＃２デコードチップ７６においてＰピクチャの＃２デコードチップ７６でデコードする領域のデコードが終了しても、＃１デコードチップ７３で復号された図中αで示される領域の参照画素が＃２デコードチップ７６に供給されてビデオデコーダ７８に蓄積されるまで、次のＢピクチャのデコード処理を開始することができない。
【０２１３】
このように、参照画素の他のデコードチップへのコピー（転送）にかかる時間のために発生するデコード処理の待ち時間を短縮するためには、デコードチップ間の参照画素の転送速度を速めなければならない。
【０２１４】
そこで、本発明を適用した復号処理部５１においては、＃１デコードチップ７３におけるデコード処理順を、矢印１６１に示される場合とは異なるものとすることができる。
【０２１５】
すなわち、図８に示される復号処理部５１において、＃１デコードチップ７３に供給される分割された符号化ストリームは、ストリームバッファ７４に蓄積されるので、バッファ制御回路９２は、図中αで示される領域の参照画素を先に読み出してデコーダ９３に供給する。具体的には、例えば、図２１の矢印１６３−１に示されるように、図中αで示される領域においては、右下のスライス（＃２デコードチップ７６でデコードする領域に近いスライス）から順にデコーダ９３に供給され、続いて、＃１デコードチップ７３でデコードする領域の画像のうちの残る領域においては、矢印１６３−２に示されるように、右下のスライスから順にデコーダ９３に供給されるようにしてもよい。また、図２１の矢印１６３−３に示されるように、図中αで示される領域においては、左上のスライスから順にデコーダ９３に供給され、続いて、＃１デコードチップ７３でデコードする領域の画像のうちの残る領域においても、矢印１６３−４に示されるように、左上のスライスから順にデコーダ９３に供給されるようにしてもよい。また、図２１の矢印１６３−５に示されるように、図中αで示される領域においては、右下のスライスから順にデコーダ９３に供給され、続いて、＃１デコードチップ７３でデコードする領域の画像のうちの残る領域においては、矢印１６３−６に示されるように、左上のスライスから順にデコーダ９３に供給されるようにしてもよい。
【０２１６】
図中αで示される領域の参照画素が先に読み出されてデコーダ９３に供給されるようになされていれば、上述したいずれのパターンにおいても、＃２デコードチップ７６でデコードする領域のデコード処理が全て終了する前に、図中αで示される領域の参照画素はデコードされて＃２デコードチップ７６に供給されるので、他のデコードチップへのコピー（転送）にかかる時間のためにデコード処理の待ち時間が発生するのを防止することができる。
【０２１７】
すなわち、図２１の矢印１６１および矢印１６２に示されるように、各分割画面の上部から下部方向の順で復号処理が実行された場合、図２２に示されるように、＃１デコードチップ７３で、図中αで示される領域のデコード処理が開始され、復号された参照画素の＃２デコードチップ７６への供給が順次実行されても、＃２デコードチップ７６でデコードされる領域のデコード処理が終了するまでに、データの転送（図中の矢印１６４および矢印１６５）は終了されない。すなわち、図中αで示される領域の参照画素が＃２デコードチップ７６へ供給されてビデオデコーダ７８に蓄積されるまで、次のピクチャのデコード処理を開始する（図中の矢印１６６）ことができない。
【０２１８】
これに対して、図２１の矢印１６３−１乃至１６３−６に示されるように、図中αで示される領域の符号化ストリームが先に読み出されてデコーダ９３に供給されるようになされていれば、図２３に示されるように、＃１デコードチップ７３で、図中αで示される領域のデコード処理が先に開始され、復号された参照画素の＃２デコードチップ７６への供給が順次されている間に、それ以外の領域のデコード処理が実行されるので、＃２デコードチップ７６でデコードされる領域のデコード処理が終了するまでに、データの転送（図中の矢印１６７および矢印１６８）は終了される。すなわち、＃２デコードチップ７６でデコードされる領域のデコード処理が終了した後、直ちに、次のピクチャのデコード処理を開始する（図中の矢印１６９）ことができる。
【０２１９】
すなわち、それぞれのデコードチップにおいて他方のデコードチップに供給する領域のデコードを優先的に実行することにより、転送速度を大幅に高速化することなく他の部分のデコード処理の間に、データの転送処理を終了させることができる。
【０２２０】
次に、図２４は、符号化処理部５２の構成を示すブロック図である。ここでは、符号化処理部５２は、MPEG2方式で符号化された符号化ストリームの供給を受け、復号して出力することができるようになされているものとして説明する。
【０２２１】
符号化処理部５２は、コントローラ１７１、入力信号選択部１７２、＃１エンコードチップ１７３、ビデオバッファ１７４、ストリーム/参照画バッファ１７５、＃２エンコードチップ１７６、ビデオバッファ１７７、ストリーム/参照画バッファ１７８、合成処理部１７９、および、出力信号選択部１８０で構成されている。符号化処理部５２には、３つ以上のエンコードチップを備えるようにしても良いが、ここでは、＃１エンコードチップ１７３および＃２エンコードチップ１７６の２つのエンコードチップが備えられているものとして説明する。
【０２２２】
コントローラ１７１は、ユーザの操作入力、または、外部の装置から供給される制御信号を基に、符号化処理部５２の動作を制御するものである。
【０２２３】
すなわち、コントローラ１７１は、ＣＰＵ４０の制御に基づいて、エンコード処理の難易度が高い場合においては、＃１エンコードチップ１７３および＃２エンコードチップ１７６を用いて、１画面を２分割してそれぞれエンコード処理を行い、生成された分割された画像を合成して出力し、エンコード処理の難易度が比較的低い場合においては、＃１エンコードチップ１７３および＃２エンコードチップ１７６で、それぞれ異なるビデオデータをエンコードさせるようにすることができる。
【０２２４】
エンコード処理の難易度は、例えば、エンコードされるビデオデータ(ベースバンド画像データ)のプロファイルとレベルによって異なる。コントローラ１７１は、＃１エンコードチップ１７３および＃２エンコードチップ１７６のそれぞれの処理能力によって、１エンコードチップ１７３および＃２エンコードチップ１７６で、それぞれ異なるビデオデータをエンコードすることが可能な、レベルおよびプロファイルを設定し、それ以上難易度の高いレベルおよびプロファイルのビデオデータをエンコードする場合には、＃１エンコードチップ１７３および＃２エンコードチップ１７６を用いて、１画面を２分割してそれぞれエンコード処理を行うものとする。例えば、コントローラ１７１は、ＳＰ＠ＭＬ，ＭＰ＠ＬＬ、または、ＭＰ＠ＭＬは、＃１エンコードチップ１７３および＃２エンコードチップ１７６で、それぞれ異なるビデオデータをエンコードすることが可能であるとし、それ以外の、例えば、ＭＰ＠ＨＬや、ＨＰ＠ＨＬなどにおいては、＃１エンコードチップ１７３および＃２エンコードチップ１７６を用いて、１つのビデオストリームの１画面を２分割してそれぞれエンコード処理を行うものとすることができる。
【０２２５】
入力信号選択部１７２は、コントローラ１７１の制御に基づいて、分割エンコード処理が実行されない場合、＃１エンコードチップ１７３に供給されるビデオデータとは異なるビデオデータを＃２エンコードチップ１７６に供給し、分割エンコード処理が実行される場合、＃１エンコードチップ１７３に供給されるビデオデータと同一のビデオデータの供給を受け、＃２エンコードチップ１７６に供給する。
【０２２６】
＃１エンコードチップ１７３および＃２エンコードチップ１７６は、分割エンコード処理を実行する場合、それぞれ、供給された画像データのうちの自分自身がエンコードする部分を認識して、エンコード処理を実行する。
【０２２７】
画面の分割の仕方は、例えば、図１０を用いて説明した、デコード処理における場合と、基本的に同様であるものとすることができる。
【０２２８】
ここでは、＃１エンコードチップ１７３および＃２エンコードチップ１７６は、それぞれ、供給された画像データのうちの自分自身がエンコードする部分を認識して、エンコード処理を実行するものとして説明したが、例えば、供給されたビデオデータのそれぞれの画像データが、図１０を用いて説明したように予め分割され、＃１エンコードチップ１７３および＃２エンコードチップ１７６に供給されるものとしても良い。
【０２２９】
なお、入力ビデオデータに含まれる画像のそれぞれをエンコードチップの個数より多く分割して、その複数の分割された画像データを備えられているエンコードチップの個数に分けて、供給するようにしても良いが、図１０を用いて説明したように、入力ビデオデータに含まれる画像データのそれぞれをエンコードチップの個数のまとまった（分離されていない）エンコード単位に分割するほうが、それぞれのエンコードチップにおいてエンコードされる領域の中の他のエンコードチップのエンコードにおいて参照される画像領域の割合が少なくなるので、後述する参照部分の画素のエンコードチップ間の授受の処理が複雑にならないので好適である。
【０２３０】
なお、画像データの分割の方法は、等分割であっても、不等分な分割であっても良い。コントローラ１７１は、例えば、画像の複雑さを検出する機能を備えるようにして、分割エンコード処理が実行され、画像データの部分によって画像の複雑さが著しく異なっているような場合、画像の複雑さ（符号化難易度）に基づいて、ピクチャの分割幅（図１０における図中のａおよびｂ）を決定することができるようにしても良い。
【０２３１】
＃１エンコードチップ１７３は、ビデオデータ入力回路１９１、バッファ制御回路１９２、エンコーダ１９３、動き補償回路１９４、バッファ制御回路１９５、チップ間インタフェース（Ｉ／Ｆ）１９６、および、出力回路１９７から構成され、コントローラ１７１の制御に基づいて、供給された画像データの全体、または、所定の部分をエンコードする。分割エンコード処理が実行されるとき、＃１エンコードチップ１７３は、＃２エンコードチップ１７６のエンコード処理の動き補償における参照画像として必要となる可能性のある領域のローカルデコードにより得られた画素データを参照画素データとして＃２エンコードチップ１７６に供給するとともに、＃２エンコードチップ１７６から供給される参照画素データをストリーム/参照画バッファ１７５に供給して記憶させ、必要に応じて参照することにより、エンコード処理を実行する。
【０２３２】
ビデオバッファ１７４は、例えば、DRAM（Dynamic Random Access Memory）などにより構成され、＃１エンコードチップ１７３に供給されたビデオデータを一時保存する。ストリーム/参照画バッファ１７５は、例えば、DRAMなどにより構成され、＃１エンコードチップ１７３においてエンコードされた符号化フレームで構成されるストリームや、＃２エンコードチップ１７６から供給されたエンコード済みフレームに対応するローカルデコード画の一部（画素データ）の供給を受けて、一時保存する。
【０２３３】
＃２エンコードチップ１７６は、ビデオデータ入力回路２１１、バッファ制御回路２１２、エンコーダ２１３、動き補償回路２１４、バッファ制御回路２１５、チップ間インタフェース（Ｉ／Ｆ）１１６、および、出力回路２１７から構成され、コントローラ１７１の制御に基づいて、供給された画像データの全体、または、所定の部分をエンコードする。分割エンコード処理が実行されるとき、＃２エンコードチップ１７６は、＃１エンコードチップ１７３のエンコード処理の参照画像として必要となる領域のローカルデコードによる参照画素データを＃１エンコードチップ１７３に供給するとともに、＃１エンコードチップ１７３から供給される参照画素データをストリーム/参照画バッファ１７８に供給して記憶させ、必要に応じて参照することにより、エンコード処理を実行する。
【０２３４】
ビデオバッファ１７７は、例えば、DRAMなどにより構成され、＃２エンコードチップ１７６に供給されたビデオデータを一時保存する。ストリーム/参照画バッファ１７８は、例えば、DRAMなどにより構成され、＃２エンコードチップ１７６においてエンコードされた符号化フレームで構成されるストリームや、＃１エンコードチップ１７３から供給されたエンコード済みフレームに対応するローカルデコード画の一部（画素データ）の供給を受けて、一時保存する。
【０２３５】
合成処理部１７９は、分割エンコード処理が実行された場合、＃１エンコードチップ１７３および＃２エンコードチップ１７６から、エンコード済みのフレームデータの一部の供給を受け、合成し、出力信号選択部１８０に供給する。出力信号選択部１８０は、分割エンコード処理が実行されない場合、＃１エンコードチップ１７３の出力を選択し、分割エンコード処理が実行された場合、合成処理部１７９の出力を選択して、復号ビデオデータとして出力する。
【０２３６】
また、分割エンコード処理が実行されない場合、＃２エンコードチップ１７６からの出力は、そのまま出力されるが、分割エンコード処理が実行される場合、＃２エンコードチップ１７６からの出力は合成処理部１７９に供給され、出力されないものとしても良い。
【０２３７】
次に、＃１エンコードチップ１７３の構成および動作について説明する。
【０２３８】
ビデオデータ入力回路１９１は、分割エンコード処理が実行されない場合、供給されたビデオデータをバッファ制御回路１９２に供給する。バッファ制御回路１９２は、図示しないクロック発生回路から供給される基本クロックに従って、入力されたビデオデータをビデオバッファ１７４に入力する。また、ビデオバッファ１７４に保存されているビデオデータを読み出し、エンコーダ１９３に出力する。
【０２３９】
エンコーダ１９３は、入力されたビデオデータをMPEGシンタックスに基づいてエンコードする。具体的には、エンコーダ１９３は、動き補償回路１９４から供給される動き補償情報を基に、動き補償を必要に応じて実行した後、マクロブロック単位で離散コサイン変換（ＤＣＴ）処理を施し、時間領域のデータから周波数領域のデータに変換して、量子化インデックスＱで量子化する。そして、量子化データを可変長符号化して、得られた符号化データを、バッファ制御回路１９５を介してストリーム/参照画バッファ１７５にバッファリングするとともに、量子化データを逆量子化して、逆ＤＣＴ処理を施して、ローカルデコード画を得、バッファ制御回路１９５を介してストリーム/参照画バッファ１７５にバッファリングする。
【０２４０】
動き補償回路１９４は、動き検出部と動き補償部とから構成され、動き検出部において圧縮対象となるピクチャ（入力ピクチャ）の注目マクロブロックと、参照されるピクチャ（参照ピクチャ）との間の差分値の絶対値和あるいは自乗値和が最小となるようなマクロブロックが探索されて、動きベクトルが求められ、動き補償部において、ストリーム/参照画バッファ１７５に蓄積されたローカルデコード画に対して、動き検出部から供給される動きベクトルに基づいて動き補償処理が行われる。
【０２４１】
具体的には、エンコーダ１９３によりIピクチャがエンコードされる場合には、動きベクトル演算は実行されないが、他のピクチャのエンコードに用いるために、ローカルデコード画が生成されて、バッファ制御回路１９５を介してストリーム/参照画バッファ１７５にバッファリングされる。そして、エンコーダ１９３によりＰピクチャがエンコードされる場合には、ストリーム/参照画バッファ１７５にバッファリングされたローカルデコード画を参照して、動きベクトル演算が実行されるとともに、他のピクチャのエンコードに用いるために、ローカルデコード画が生成されて、バッファ制御回路１９５を介してストリーム/参照画バッファ１７５にバッファリングされる。そして、エンコーダ１９３によりＢピクチャがエンコードされる場合には、ストリーム/参照画バッファ１７５にバッファリングされたローカルデコード画を参照して、動きベクトル演算が実行されるが、ローカルデコード画の生成およびバッファリングは実行されない。
【０２４２】
また、ビデオデータ入力回路１９１は、分割エンコード処理が実行される場合、供給されたビデオデータのうちのエンコード処理を行う領域を認識し、バッファ制御回路１９２に供給する。バッファ制御回路１９２は、図示しないクロック発生回路から供給される基本クロックに従って、入力されたビデオデータのうちのエンコード処理を行う領域をビデオバッファ１７４に入力する。また、ビデオバッファ１７４に保存されているビデオデータを読み出し、エンコーダ１９３に出力する。
【０２４３】
エンコーダ１９３は、入力されたビデオデータをMPEGシンタックスに基づいてエンコードする。具体的には、エンコーダ１９３は、動き補償回路１９４から供給される動き補償情報を基に、動き補償を必要に応じて実行した後、マクロブロック単位に離散コサイン変換（ＤＣＴ）処理を施し、時間領域のデータから周波数領域のデータに変換して、量子化インデックスＱで量子化する。そして、量子化データを可変長符号化して、得られた符号化データを、バッファ制御回路１９５を介してストリーム/参照画バッファ１７５にバッファリングするとともに、量子化データを逆量子化して、逆ＤＣＴ処理を施して、ローカルデコード画を得、バッファ制御回路１９５を介してストリーム/参照画バッファ１７５にバッファリングする。
【０２４４】
動き補償回路１９４は、動き検出部と動き補償部とから構成され、動き検出部において圧縮対象となるピクチャ（入力ピクチャ）の注目マクロブロックと、参照されるピクチャ（参照ピクチャ）との間の差分値の絶対値和あるいは自乗値和が最小となるようなマクロブロックが探索されて、動きベクトルが求められ、動き補償部において、ストリーム/参照画バッファ１７５に蓄積されたローカルデコード画に対して、動き検出部から供給される動きベクトルに基づいて動き補償処理が行われる。
【０２４５】
具体的には、エンコーダ１９３によりIピクチャがエンコードされる場合には、動きベクトル演算は実行されないが、他のピクチャのエンコードに用いるために、ローカルデコード画が生成されて、バッファ制御回路１９５を介してストリーム/参照画バッファ１７５にバッファリングされる。そして、エンコーダ１９３によりＰピクチャがエンコードされる場合には、ストリーム/参照画バッファ１７５にバッファリングされたローカルデコード画を参照して、動きベクトル演算が実行されるとともに、他のピクチャのエンコードに用いるために、ローカルデコード画が生成されて、バッファ制御回路１９５を介してストリーム/参照画バッファ１７５にバッファリングされる。そして、エンコーダ１９３によりＢピクチャがエンコードされる場合には、ストリーム/参照画バッファ１７５にバッファリングされたローカルデコード画を参照して、動きベクトル演算が実行されるが、ローカルデコード画の生成およびバッファリングは実行されない。
【０２４６】
バッファ制御回路１９５はまた、チップ間インタフェース１９６を介して＃２エンコードチップ１７６から供給されるローカルデコード画を、ストリーム/参照画バッファ１７５に入力する。バッファ制御回路１９５はまた、動き補償回路１９４から指定された参照画素データとなるローカルデコード画を、ストリーム/参照画バッファ１７５に保存されているローカルデコード画から読み出して、動き補償回路１９４に供給する。バッファ制御回路１９５はまた、ストリーム/参照画バッファ１７５に保存されている符号化されたデータを読み出して、出力回路１９７に供給する。また、バッファ制御回路１９５は、ストリーム/参照画バッファ１７５に保存されているローカルデコード画のうち、＃２エンコードチップ１７６のエンコード処理の参照画素として用いられる領域（動きベクトルの探索範囲）のローカルデコード画を読み出し、チップ間インタフェース１９６を介して、＃２エンコードチップ１７６に供給する。
【０２４７】
出力回路１９７は、エンコードされた符号化データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路１９５を介して、ストリーム/参照画バッファ１７５から符号化データを読み出して出力する。
【０２４８】
また、＃２エンコードチップ１７６のビデオデータ入力回路２１１乃至出力回路２１７の機能は、基本的に、＃１エンコードチップ１７３のビデオデータ入力回路１９１乃至出力回路１９７と同一であり、＃２エンコードチップ１７６の動作も、基本的に＃１エンコードチップ１７３と同一であるので、その詳細な説明は省略する。
【０２４９】
そして、＃１エンコードチップ１７３のチップ間インタフェース１９６と＃２エンコードチップ１７６のチップ間インタフェース２１６とのデータの授受は、チップ間インタフェース１９６からチップ間インタフェース２１６へデータを供給する、例えば、データバスなどのインタフェースと、チップ間インタフェース２１６からチップ間インタフェース１９６へデータを供給する、例えば、データバスなどのインタフェースとがそれぞれ独立したインタフェース（専用線）として、他のデータの授受に用いられないようになされていると好適である。
【０２５０】
エンコードチップ間を接続するインタフェース、すなわち、チップ間インタフェース１９６からチップ間インタフェース２１６へデータを供給するインタフェースと、チップ間インタフェース２１６からチップ間インタフェース１９６へデータを供給するインタフェースとが、それぞれ独立している（データバスなどのインタフェースを共有していない）場合、バッファ制御回路１９５によりストリーム/参照画バッファ１７５から読み出された画素データは、逆方向の（すなわち、チップ間インタフェース２１６からチップ間インタフェース１９６への）データの供給にかかわらず、チップ間インタフェース１９６からチップ間インタフェース２１６へ送出可能であり、バッファ制御回路２１５によりストリーム/参照画バッファ１７８から読み出された画素データは、逆方向の（すなわち、チップ間インタフェース１９６からチップ間インタフェース２１６への）データの供給にかかわらず、チップ間インタフェース２１６からチップ間インタフェース１９６へ送出可能である。すなわち、このような構成においては、データの授受に伴う複雑なアドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを必要とせず、データの転送速度も、データバスなどのインタフェースを共有する場合などと比較して、低速化することが可能となる。
【０２５１】
具体的には、データバスなどのインタフェースを共有している場合、インタフェースが他のデータの授受に用いられている場合の待ち時間が必要となるのみならず、他のエンコードチップへデータを送出する前に、アドレス制御やデータバスを占有するタイミングまたはデータの授受タイミングの制御などを行うための制御信号等をエンコードチップ間で授受し、授受した制御信号を基に、データの授受の各種設定を行わなければならないため、これらの処理のための時間が必要となってしまう。これに対して、データバスなどのインタフェースを共有していない場合、他のデータの授受のために待ち時間が発生しないのみならず、データの送出前の処理が必要ではないため、同量のデータを同一の時間で他のエンコードチップに送出するのに、データバスなどのインタフェースを共有する場合などと比較して、データの転送速度を低速化することが可能となる。
【０２５２】
なお、チップ間インタフェース１９６とチップ間インタフェース２１６とを結ぶインタフェースは、例えば、＃１エンコードチップ１７３と＃２エンコードチップ１７６が実装されている基板上において、それぞれのチップの入出力端子をパターン接続すればよいため、それぞれのパターンを独立して用意しても、そのために必要となるハードウェアの実装上のコストは非常に安価である。
【０２５３】
なお、分割エンコード処理が実行される場合の、動き補償のための参照データの授受については、基本的に、図１１乃至図１４を用いて説明した、分割デコード処理における場合と同様である。
【０２５４】
次に、図２５のフローチャートを参照して、エンコーダ切り替え判断処理について説明する。
【０２５５】
ステップＳ１０１において、ＣＰＵ４０は、ＣＰＵ３１から、ノースブリッジ３２、ＰＣＩバス３４、ＰＣＩブリッジ３７、および、コントロールバス３９を介して供給された、エンコードされるビデオデータの種類やエンコード方式に関する情報を取得する。
【０２５６】
ステップＳ１０２において、ＣＰＵ４０は、１チップでエンコードが可能であるか否かを判断する。
【０２５７】
1チップでエンコードが可能であるか否かは、例えば、プロファイルおよびレベルにより決まる符号化難易度などを基に判断可能である。
【０２５８】
ステップＳ１０２において、１チップでエンコードが可能であると判断された場合、ステップＳ１０３において、ＣＰＵ４０は、通常のエンコード処理を実行するものとして、エンコーダユニット４４を制御し、処理が終了される。
【０２５９】
ステップＳ１０２において、１チップでエンコードが可能でないと判断された場合、ステップＳ１０４において、図２６を用いて後述する分割エンコード処理が実行されて、処理が終了される。
【０２６０】
このような処理により、エンコードの各種条件に基づいて、分割エンコード処理が実行されるか、通常のエンコード処理が実行されるかが決定される。
【０２６１】
次に、図２６のフローチャートを参照して、図２５のステップＳ１０４において実行される分割エンコード処理について説明する。
【０２６２】
ステップＳ１４１において、符号化処理部５２−１乃至５２−ｎは、ビデオデータを構成する画像データの供給を受ける。
【０２６３】
ステップＳ１４２において、供給された画像データが＃１エンコーダチップ１７３および＃２エンコーダチップ１７６にそれぞれ供給される。
【０２６４】
ステップＳ１４３において、図２７を用いて後述する分割画像エンコード処理が実行される。
【０２６５】
ステップＳ１４４において、＃１エンコーダチップ１７３の出力回路１９７および＃２エンコーダチップ１７６の出力回路２１７は、エンコードされて、ストリーム/参照画バッファ１７５、または、ストリーム/参照画バッファ１７８にバッファリングされたフレームデータを読み出して、合成処理部１７９に出力する。
【０２６６】
ステップＳ１４５において、合成処理部１７９は、＃１エンコーダチップ１７３の出力回路１９７および＃２エンコーダチップ１７６の出力回路２１７から、エンコードされた分割画像フレームの供給を受け、出力信号選択部１８０を介して出力し、処理が終了される。
【０２６７】
このような処理により、図２４を用いて説明した符号化処理部５２は、画像データを分割して、２つのデコーダチップを用いてそれぞれデコードすることができる。１画像の符号化難易度が２等分となるようにエンコード領域が任視されている場合、符号化処理部５２は、いずれか一方でエンコード処理が実行される場合と比較して、２倍速でエンコード処理を実行することが可能となる。
【０２６８】
次に、図２７のフローチャートを参照して、図２６のステップＳ１４３において実行される、分割画像エンコード処理について説明する。
【０２６９】
ステップＳ１８１において、＃１エンコードチップ１７３のビデオデータ入力回路１９１および＃２エンコーダチップ１７６のビデオデータ入力回路２１１は、ビデオデータを構成する画像データの供給を受けるとともに、コントローラ１７１から、エンコードのピクチャタイプの指令を受ける。
【０２７０】
ステップＳ１８２において、＃１エンコードチップ１７３のビデオデータ入力回路１９１および＃２エンコーダチップ１７６のビデオデータ入力回路２１１は、例えば、図１０を用いて説明したフレームの分割における場合と同様にして、エンコード範囲を抽出し、抽出した部分を、バッファ制御回路１９２およびバッファ制御回路２１２にそれぞれ供給する。
【０２７１】
ステップＳ１８３において、バッファ制御回路１９２およびバッファ制御回路２１２は、供給されたデータを、ビデオバッファ１７４およびビデオバッファ１７７にそれぞれバッファリングする。
【０２７２】
ステップＳ１８４において、バッファ制御回路１９２およびバッファ制御回路２１２は、バッファリングされたデータを読み出して、エンコーダ１９３およびエンコーダ２１３にそれぞれ供給する。
【０２７３】
ステップＳ１８５において、エンコーダ１９３およびエンコーダ２１３は、供給されたデータは、Iピクチャにエンコードされるか否かを判断する。ステップＳ１８５において、Iピクチャにエンコードされないと判断された場合、処理は、後述するステップＳ１９０に進む。
【０２７４】
ステップＳ１８５において、Iピクチャにエンコードされると判断された場合、ステップＳ１８６において、エンコーダ１９３およびエンコーダ２１３は、供給された範囲をエンコードする。
【０２７５】
ステップＳ１８７において、エンコーダ１９３およびエンコーダ２１３は、エンコード処理において生成されたローカルデコード画像を、参照用に、バッファ制御回路１９５または２１５を介して、ストリーム／参照画バッファ１７５または１７８にそれぞれ供給する。
【０２７６】
ステップＳ１８８において、バッファ制御回路１９５およびバッファ制御回路２１５は、コピーする部分のローカルデコード画を、ストリーム／参照画バッファ１７５または１７８からそれぞれ読み出して、チップ間インタフェース１９６または２１６を介して、他のエンコーダチップにそれぞれ供給する。
【０２７７】
ステップＳ１８９において、チップ間インタフェース１９６およびチップ間インタフェース２１６は、供給されたローカルデコード画を、バッファ制御回路１９５およびバッファ制御回路２１５にそれぞれ供給するので、バッファ制御回路１９５およびバッファ制御回路２１５は、他のエンコーダから供給されたローカルデコード画を、ストリーム／参照画バッファ１７５または１７８にそれぞれ供給して、処理は、図２６のステップＳ１４３に戻り、ステップＳ１４４に進む。
【０２７８】
ステップＳ１８５において、Iピクチャにエンコードされないと判断された場合、ステップＳ１９０において、エンコーダ１９３およびエンコーダ２１３は、供給されたデータは、Pピクチャにエンコードされるか否かを判断する。ステップＳ１９０において、Ｐピクチャにエンコードされないと判断された場合、Ｂピクチャにエンコードされるので、処理は、後述するステップＳ１９５に進む。
【０２７９】
ステップＳ１９０において、Ｐピクチャにエンコードされると判断された場合、ステップＳ１９１において、エンコーダ１９３およびエンコーダ２１３は、ストリーム／参照画バッファ１７５または１７８にそれぞれ蓄積された参照用のローカルデコード画を用いて動き補償を行うことにより、供給された範囲をエンコードする。
【０２８０】
ステップＳ１９２において、エンコーダ１９３およびエンコーダ２１３は、エンコード処理において生成されたローカルデコード画像を、参照用に、バッファ制御回路１９５または２１５を介して、ストリーム／参照画バッファ１７５または１７８にそれぞれ供給する。
【０２８１】
ステップＳ１９３において、バッファ制御回路１９５およびバッファ制御回路２１５は、コピーする部分のローカルデコード画を、ストリーム／参照画バッファ１７５または１７８からそれぞれ読み出して、チップ間インタフェース１９６または２１６を介して、他のエンコーダチップにそれぞれ供給する。
【０２８２】
ステップＳ１９４において、チップ間インタフェース１９６およびチップ間インタフェース２１６は、供給されたローカルデコード画を、バッファ制御回路１９５およびバッファ制御回路２１５にそれぞれ供給するので、バッファ制御回路１９５およびバッファ制御回路２１５は、他のエンコーダから供給されたローカルデコード画を、ストリーム／参照画バッファ１７５または１７８にそれぞれ供給して、処理は、図２６のステップＳ１４３に戻り、ステップＳ１４４に進む。
【０２８３】
ステップＳ１９０において、Ｐピクチャにエンコードされないと判断された場合、Ｂピクチャにエンコードされるので、ステップＳ１９５において、エンコーダ１９３およびエンコーダ２１３は、ストリーム／参照画バッファ１７５または１７８にそれぞれ蓄積された参照用のローカルデコード画を用いて動き補償を行うことにより、供給された範囲をエンコードし、処理は、図２６のステップＳ１４３に戻り、ステップＳ１４４に進む。
【０２８４】
このような処理により、＃１エンコードチップ１７３および＃２エンコーダチップ１７６のそれぞれにおいて、ピクチャタイプに基づいたエンコード処理が実行される。そして、そのとき、他方のエンコードチップにおいて参照画像として用いられるローカルデコードの画素データを、他方のエンコードチップに供給するとともに、他方のエンコードチップから供給されるローカルデコードの参照画像を自分自身が参照可能なビデオバッファに供給して保存させ、参照画像として利用することができる。
【０２８５】
例えば、エンコーダチップによっては、１個のエンコーダでは低解像度のエンコードしかできないものもある。２つのエンコーダチップは、高解像度のプロファイルレベルにおいては、分割エンコード処理を実行して、エンコード処理が間に合わなかったり、画像に影響を及ぼしてしまうことを防ぐことができ、一方、低解像度のプロファイルレベルの場合には、入力可能なチャンネル数を増やすことが可能となる。
【０２８６】
また、ノンリニア編集機の動作には、エンコード処理を伴うデジタイズ動作と、デコード処理を伴うプレイアウト動作がある。デジタイズ動作とプレイアウト動作は、時間的に同時でないことが多い。つまりエンコード処理とデコード処理は、時間的に同時でないことが多い。
【０２８７】
例えば、エンコーダとデコーダがひとつのチップに内蔵されたコーディックチップがある。このようなコーディックチップでは、エンコーダとデコーダとの構成の一部を共有しているため、エンコーダとして利用されるか、デコーダとして利用されるかの、いずれか一方を選択可能なようになされている。このようなコーディックチップをノンリニア編集機で利用する場合、エンコーダが必要とする個数分のコーディックチップと、デコーダが必要とする個数分のコーディックチップの総和を持つのは冗長である。
【０２８８】
そこで、コーディックをエンコーダとデコーダの両方に使えるようにして、たとえば、ＣＰＵ４０がコーディックチップを制御して、エンコーダとして用いるかデコーダとして用いるかを切り替えることができるようにすることで、ノンリニア編集機の動作状況に応じて、エンコードとデコードへのコーディックの割り当てを変えることが可能になる。
【０２８９】
具体的には、例えば、プレイバック時には、エンコーダが必要としないコーディックをデコーダとして動作させることで再生トラックを多くとることができ、デジタイズ時には、デコーダが必要としないコーディックをエンコーダとして動作させることで記録チャンネル数を多く取ることができる。
【０２９０】
以上説明したように、本発明を適用することにより、デコード処理において、処理量が大きい場合に、複数個のデコーダチップをその処理に充てるようにすることが可能である。これにより、例えば、デコード処理の処理量の大きいIPBピクチャで構成されたフォーマットのストリームをデコードしてスクラブ再生する場合には、１つのストリームのデコード処理に複数個のデコーダを割り当てることで、スクラブに必要な性能を確保することができ、処理量の低いフォーマットの場合には１つのデコード処理に１個のデコーダを割り当てることで、余ったデコーダを他のデコード処理に回すことができ、再生トラック数を増やすことが可能となる。
【０２９１】
また、本発明を適用することにより、エンコード処理において、処理量が大きい場合に、複数個のエンコーダをその処理に充てることができる。これにより、エンコーダチップのエンコード処理能力を超えたプロファイルレベルのエンコードが要求された場合にも１つのビデオデータのエンコード処理に複数個のコーディックを割り当てることで対応でき、処理量の小さなフォーマットの場合には１つのビデオデータのエンコード処理に１個のエンコーダを割り当てることで、余ったエンコーダを他のビデオデータのエンコード処理に回すことができ、エンコーダを効率よく活用できる。
【０２９２】
さらに、エンコーダとデコーダがひとつのチップに内蔵されたコーディックチップを用いる場合においても、本発明は適用可能であることはいうまでもない。このようなコーディックチップは、例えば、動作状況に応じてエンコードとデコードへのコーディックの割り当てを変更することができる。これにより、再生時にはすべてのコーディックをデコードに割り当てることで再生トラック数を多くとることができ、記録時にはコーディックをエンコードに割り当てることで記録チャンネル数を多くとることができる。
【０２９３】
このように、本発明を適用して、エンコーダやデコーダに切り替え手段を用いることで、処理量に応じてチャンネル数を変化させることが可能になり、エンコーダやデコーダの能力を有効に活用することが可能になる。したがって、従来より少ない個数のエンコーダやデコーダで、映像装置の性能を向上させることが可能になる。
【０２９４】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、例えば、図１を用いて説明した編集装置２１は、図２８に示されるようなパーソナルコンピュータ２０１により構成される。
【０２９５】
図２８において、ＣＰＵ（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などの技術によりカード間の転送速度が高い場合には、それぞれ別の拡張カードに搭載してもよい。
【０３３６】
なお、デコーダユニット２２、および、エンコーダユニット２４で実行されるコーディックは、例えば、ＭＰＥＧ（HD-LONG GOP、または、MPEG IMXフォーマットなどを含む）、ＪＰＥＧ(Joint Photographic Experts Group)2000、H.264／AVC(Advanced Video Coding)等のコーディックの役割を担い、コーディック処理に関する物理演算等を行うものである。
【０３３７】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０３３８】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０３３９】
【図１】従来の復号装置の構成を示すブロック図である。
【図２】図１の復号装置が２倍速のデコード処理を行おうとした場合について説明する図である。
【図３】デコードチップが３つ設けられている場合の処理について説明する図である。
【図４】デコードチップが３つ設けられていても２倍速のデコードが実現できない場合の処理について説明する図である。
【図５】従来の復号装置でClosed GOPをデコードする場合の処理について説明する図である。
【図６】本発明を適用した編集装置の構成例を示すブロック図である。
【図７】本発明を適用した編集装置の機能構成例を示す機能ブロック図である。
【図８】図６の復号処理部の構成を示すブロック図である。
【図９】スクラブ再生を指令するための表示画面について説明するための図である。
【図１０】フレームの分割について説明するための図である。
【図１１】２つのデコードチップにおける参照画素の授受について説明するための図である。
【図１２】２つのデコードチップにおける参照画素の授受について説明するための図である。
【図１３】２つのデコードチップにおける参照画素の授受について説明するための図である。
【図１４】２つのデコードチップにおける参照画素の授受について説明するための図である。
【図１５】２つのデコードチップにおける参照画素の授受について説明するための図である。
【図１６】２つのデコードチップにおける参照画素の授受について説明するための図である。
【図１７】デコーダ切り替え判断処理について説明するためのフローチャートである。
【図１８】分割デコード処理について説明するためのフローチャートである。
【図１９】分割フレームデコード処理について説明するためのフローチャートである。
【図２０】ビデオバッファへのアクセス時間について説明するための図である。
【図２１】デコード処理の順番と復号処理の処理速度について説明する図である。
【図２２】デコード処理の順番と復号処理の処理速度について説明する図である。
【図２３】デコード処理の順番と復号処理の処理速度について説明する図である。
【図２４】図６の符号化処理部の構成を示すブロック図である。
【図２５】エンコーダ切り替え判断処理について説明するためのフローチャートである。
【図２６】分割エンコード処理について説明するためのフローチャートである。
【図２７】分割フレームエンコード処理について説明するためのフローチャートである。
【図２８】パーソナルコンピュータの構成について説明するための図である。
【図２９】本発明を適用可能な異なる装置の構成について説明するための図である。
【図３０】本発明を適用可能な異なる装置の構成について説明するための図である。
【符号の説明】
【０３４０】
２１  編集装置，  ３１  ＣＰＵ，  ３６  ＨＤＤ，  ４０  ＣＰＵ，  ４２  デコーダユニット，  ４４  エンコーダユニット，  ５１  復号処理部，  ５３  符号化処理部，  ７１  コントローラ，７２  入力信号選択部，  ７３  ＃１デコードチップ，  ７５  ビデオバッファ，  ７６  ＃２デコードチップ，  ７８  ビデオバッファ，  ７９  合成処理部，  ９６  チップ間インタフェース，  １１６  チップ間インタフェース，１７１  コントローラ，１７２  入力信号選択部，  １７３  ＃１エンコードチップ，  １７５  ストリーム/参照画像バッファ，  １７６  ＃２エンコードチップ，  １７８  ストリーム/参照画像バッファ，  １７９  合成処理部，  １９６  チップ間インタフェース，  ２１６  チップ間インタフェース
【図１】
2008085617.tif 000003
【図２】
2008085617.tif 000004
【図３】
2008085617.tif 000005
【図４】
2008085617.tif 000006
【図５】
2008085617.tif 000007
【図６】
2008085617.tif 000008
【図７】
2008085617.tif 000009
【図８】
2008085617.tif 000010
【図９】
2008085617.tif 000011
【図１０】
2008085617.tif 000012
【図１１】
2008085617.tif 000013
【図１２】
2008085617.tif 000014
【図１３】
2008085617.tif 000015
【図１４】
2008085617.tif 000016
【図１５】
2008085617.tif 000017
【図１６】
2008085617.tif 000018
【図１７】
2008085617.tif 000019
【図１８】
2008085617.tif 000020
【図１９】
2008085617.tif 000021
【図２０】
2008085617.tif 000022
【図２１】
2008085617.tif 000023
【図２２】
2008085617.tif 000024
【図２３】
2008085617.tif 000025
【図２４】
2008085617.tif 000026
【図２５】
2008085617.tif 000027
【図２６】
2008085617.tif 000028
【図２７】
2008085617.tif 000029
【図２８】
2008085617.tif 000030
【図２９】
2008085617.tif 000031
【図３０】
2008085617.tif 000032