図5は、本発明を適用したディスクシステム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない)の一実施の形態の構成例を示している。
光ディスク1には、例えば、動画像をMPEGエンコードして得られるMPEGストリームが記録されている。さらに、光ディスク1には、そこに記録されているMPEGストリームを素材として編集が行われることにより作成された編集点リストも記録されている。
ディスクドライブ2は、光ディスク1の着脱が可能なように構成されており、そこに装着された光ディスク1からMPEGストリームや編集点リストを読み出し、バス3上に出力する。
デコード部4は、複数としての、例えば、2つのデコーダ41と42から構成されている。デコーダ41と42は、バス3を介して、ディスクドライブ2に、MPEGストリームを要求し、その要求に応じて、ディスクドライブ2からバス3上に出力されるMPEGストリームを受信する。さらに、デコーダ41と42は、受信したMPEGストリームを、コントローラ7からの制御にしたがってMPEGデコードし、そのデコード画像(ピクチャ)を、スイッチャ5に出力する。
なお、デコード部4を構成するデコーダ41および42は、ここでは、例えば、1倍速のデコード処理速度を有するものであるとする。但し、デコード部4を構成するデコーダは、1倍速以外のデコーダであってもよい。また、ディスクドライブ2は、光ディスク1からMPEGストリームを読み出し、そのMPEGストリームを、デコーダ41と42に対して供給するが、その供給のための十分な読み出し速度(伝送帯域)を有しているものとする。
スイッチャ5は、コントローラ7の制御にしたがい、デコーダ41または42でデコードされたピクチャのうちのいずれかを選択して出力する。ディスプレイ6は、スイッチャ5が出力するピクチャを表示する。従って、ディスプレイ6では、デコーダ41または42がデコードしたピクチャのうちの、スイッチャ5で選択される方が表示される。なお、ディスプレイ6は、図5のディスクシステム外に接続されるものであっても良い。
コントローラ7は、操作部8からの操作信号などに対応して、ディスクドライブ2や、デコード部4、スイッチャ5を制御する。即ち、コントローラ7は、操作部8から、編集点リストによるMPEGストリームの編集結果の再生を要求する操作信号を受信すると、ディスクドライブ2に、編集点リストを要求する。さらに、コントローラ7は、その要求に応じて、ディスクドライブ2が光ディスク1から編集点リストを読み出し、バス3上に出力すると、その編集点リストを受信し、その編集点リストに記述されている編集点を検出する。また、コントローラ7は、編集点リストから検出した編集点について、その編集点後に表示されるピクチャを復号するために先に復号する必要がある必要最小限の、表示されないピクチャを検出し、その表示されないピクチャの復号を開始するタイミングを表すスタートポイントを算出する。さらに、コントローラ7は、そのスタートポイントに基づいて、デコーダ41と42によるMPEGストリームの復号を、ピクチャ単位で制御する。また、コントローラ7は、編集点リストから検出した編集点に基づいて、スイッチャ5を制御することにより、スイッチャ5に、デコーダ41または42でデコードされたピクチャのうちのいずれかを選択して出力させる。
操作部8は、ユーザによって操作され、その操作に対応する操作信号を、コントローラ7に供給する。
以上のように構成されるディスクシステムでは、光ディスク1に記録された編集点リストにしたがい、同じく光ディスク1に記録されたMPEGストリームを再生する再生処理が行われる。
即ち、図6は、図5のディスクシステムが行う再生処理を説明するフローチャートである。
ユーザが、操作部8を、編集点リストによるMPEGストリームの編集結果の再生を開始するように操作すると、操作部8からコントローラ7に対して、再生処理の開始を指示する操作信号(以下、適宜、再生開始操作信号という)が供給される。
コントローラ7は、操作部8から再生開始操作信号を受信すると、ステップS1において、ディスクドライブ2に、編集点リストを要求し、これにより、ディスクドライブ2は、光ディスク1から編集点リストを読み出して、バス3上に出力する。コントローラ7は、バス3上の編集点リストを受信して、ステップS2に進み、その編集点リストにしたがい、デコーダ41と42にデコードさせるピクチャシーケンスのスケジューリングと、スイッチャ5にデコーダ41または42の出力を選択させる選択パターンのスケジューリングを行う。
そして、ステップS3に進み、コントローラ7は、ステップS2で行われたスケジューリングによって得られたスケジュールにしたがって、デコーダ41および42と、スイッチャ5を制御する。
これにより、デコーダ41と42では、バス3を介して、ディスクドライブ2に、MPEGストリームを要求し、その要求に応じて、ディスクドライブ2からバス3上に出力されるMPEGストリームをMPEGデコードし、そのデコード画像(ピクチャ)を、スイッチャ5に出力する。そして、スイッチャ5では、デコーダ41または42でデコードされたピクチャのうちのいずれかが選択され、ディスプレイ6に供給されて表示される。
その後、ステップS4に進み、コントローラ7は、ユーザによって、操作部8が再生を停止するように操作されたか否かを判定する。ステップS4において、操作部8が再生を停止するように操作されたと判定された場合、即ち、コントローラ7が、操作部8から、再生の停止を指示する操作信号(以下、適宜、再生停止操作信号という)を受信した場合、再生処理を終了する。
また、ステップS4において、操作部8が再生を停止するように操作されていないと判定された場合、ステップS5に進み、コントローラ7は、ステップS1で読み出された編集点リストにしたがったMPEGストリームの再生が終了したかどうかを判定する。ステップS5において、編集点リストにしたがったMPEGストリームの再生が、まだ終了していないと判定された場合、ステップS3に戻り、以下、同様の処理が繰り返される。また、ステップS5において、編集点リストにしたがったMPEGストリームの再生が終了したと判定された場合、再生処理を終了する。
次に、図6のステップS2においてコントローラ7が行う、デコーダ41と42にデコードさせるピクチャシーケンスのスケジューリングについて説明する。なお、本実施の形態では、例えば、前述したように、1GOPが、ピクチャB1,B2,I3,B4,B5,P6,B7,B8,P9,B10,11,P12,B13,B14,P15で構成され、I3,B1,B2,P6,B4,B5,P9,B7,B8,P12,B10,B11,P15,B13,B14の順で符号化/復号されるものとする。但し、GOPの構造は、これに限定されるものではない。
コントローラ7は、デコーダ41および42によるMPEGストリームの復号を、ピクチャ単位で指定し、編集点の後に表示されるピクチャを復号するために先に復号する必要がある表示されないピクチャを、必要最小限しか復号しないようにすることで、最短カット長の制限を緩和する。
即ち、編集点後のGOP(n)のピクチャの復号には、前述したように、その前のGOP(n-1)を復号する必要があることがある。
具体的には、GOP(n)のピクチャB1,B2を復号するには、そのGOP(n)の前のGOP(n-1)のピクチャP15を参照する必要があり、GOP(n-1)のピクチャP15を復号するには、そのGOP(n-1)のP12を参照する必要がある。さらに、GOP(n-1)のピクチャP12を復号するには、そのGOP(n-1)のP9を参照する必要があり、GOP(n-1)のピクチャについては、以下、同様に、ピクチャP9を復号するには、ピクチャP6を参照する必要があり、ピクチャP6を復号するには、ピクチャI3を参照する必要がある。
そして、従来においては、ピクチャの復号がGOP単位で制御されるため、GOP(n)のピクチャB1,B2を復号するには、その1つ前のGOP(n-1)のすべてのピクチャを復号しなければならない。
従って、GOP(n)のピクチャB1やB2に編集点が設定されている場合には、ピクチャB1やB2から表示を開始するために、表示されないGOP(n-1)のすべてのピクチャを復号しなければならない。
また、GOP(n)のピクチャB1,B2以外のピクチャを復号するには、そのGOP(n)の前のGOP(n-1)のピクチャを参照する必要はないが、それでも、GOP(n)のピクチャを参照しなければならないことがある。即ち、例えば、GOP(n)のピクチャB4を復号するには、GOP(n)のピクチャI3とP6を参照する必要がある。このため、GOP(n)のピクチャB4を復号するのに、GOP(n)において、ピクチャB4よりも復号順で前のピクチャI3,B1,B2,P6をすべて復号してから、ピクチャB4を復号しなければならない。
従って、GOP(n)のピクチャB4に編集点が設定されている場合には、ピクチャB4から表示を開始するために、表示されないGOP(n)のピクチャI3,B1,B2,P6を復号しなければならない。
そこで、コントローラ7は、復号対象を、GOP単位ではなく、ピクチャ単位で指定することにより、表示されるピクチャを復号するのに参照だけされ、表示はされないピクチャを、必要最小限しか復号しないように、デコーダ41および42を制御する。
即ち、例えば、GOP(n)のピクチャB1やB2に編集点が設定されている場合、GOP単位で復号対象を指定する場合には、上述したように、GOP(n-1)のすべてのピクチャが復号される。しかしながら、GOP(n)のピクチャB1やB2を復号するのに参照されるのは、GOP(n-1)のピクチャP15であり、GOP(n-1)のピクチャP15を復号するに参照されるのはGOP(n-1)のピクチャP12である。以下、同様に、GOP(n-1)については、ピクチャP12を復号するのに参照されるのはピクチャP9であり、ピクチャP9を復号するのに参照されるのはピクチャP6であり、ピクチャP6を復号するのに参照されるのはピクチャI3である。
従って、GOP(n)のピクチャB1やB2の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n-1)のピクチャI3,P6,P9,P12,P15の5つのピクチャであり、GOP(n)のピクチャB1やB2を復号するのあたって参照されないGOP(n-1)のピクチャB1,B2,B4,B5,B7,B8,B10,B11,B13,B14は復号する必要がない。なお、表示されないピクチャは、図5のディスプレイ6に供給されないピクチャと言うこともできる。
同様に、例えば、GOP(n)のピクチャB4に編集点が設定されている場合においても、ピクチャB4の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3だけであり、GOP(n)のピクチャB4を復号するのあたって参照されないGOP(n)のピクチャB1,B2は復号する必要がない。
ここで、MPEGでは、他のピクチャの復号に参照されるのは、IピクチャとPピクチャで、Bピクチャは、他のピクチャの復号に参照されないので、他のピクチャの復号のために復号しなければならない必要最小限の、表示されないピクチャとなり得るのは、IピクチャとPピクチャだけである。
コントローラ7は、上述したように、図6のステップS2において、編集点リストにしたがい、デコーダ41と42にデコードさせるピクチャシーケンスのスケジューリングを行うが、このスケジューリングは、例えば、図7に示すように行われる。
即ち、コントローラ7は、編集点リストから編集点を検出し、その編集点(IN点)が設定されているピクチャに応じて、デコーダ41または42にデコードさせるピクチャシーケンスを決定する。
具体的には、図7に示すように、編集点が設定されているピクチャが、GOP(n)のピクチャB1である場合には、上述したように、GOP(n)のピクチャB1の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n-1)のピクチャI3,P6,P9,P12,P15の5つのピクチャであるから、コントローラ7は、GOP(n-1)のピクチャI3,P6,P9,P12,P15を復号するようにスケジューリングする。さらに、その後は、GOP(n)以降のピクチャを順次復号すればよいから、GOP(n-1)のピクチャI3,P6,P9,P12,P15の後は、GOP(n)以降のピクチャを通常の復号順(I3,B1,B2,P6,B4,・・・)で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャB2である場合には、上述したように、GOP(n)のピクチャB2の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n-1)のピクチャI3,P6,P9,P12,P15の5つのピクチャであるから、コントローラ7は、GOP(n-1)のピクチャI3,P6,P9,P12,P15を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャI3,B1,B2,P6,・・・を復号するが、編集点が設定されているピクチャB2より表示順で前のピクチャB1は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n-1)のピクチャI3,P6,P9,P12,P15の後は、GOP(n)のピクチャI3を復号した後、ピクチャB2 を復号し、続いてピクチャP6を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャI3である場合には、そのピクチャI3を復号するのに、他のピクチャを参照する必要はないから、GOP(n)のピクチャI3から復号するが、編集点が設定されているピクチャI3より表示順で前のピクチャB1,B2は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャI3を復号した後、ピクチャB1とB2は復号せずに、ピクチャP6を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャB4である場合には、GOP(n)のピクチャB4の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3であり、コントローラ7は、GOP(n)のピクチャI3を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャI3よりも復号順(符号化順)で後のピクチャB1,B2,P6,B4,B5・・・を復号するが、編集点が設定されているピクチャB4より表示順で前のピクチャB1,B2は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャI3を復号した後、ピクチャB1とB2は復号せずに、ピクチャP6を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャB5である場合には、GOP(n)のピクチャB5の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3であり、コントローラ7は、GOP(n)のピクチャI3を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャI3よりも復号順で後のピクチャB1,B2,P6,B4,B5・・・を復号するが、編集点が設定されているピクチャB5より表示順で前のピクチャB1,B2,B4は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャI3を復号した後、ピクチャB1,B2は復号せずに、ピクチャP6を復号するようにスケジューリングする。さらに、コントローラ7は、その後、ピクチャB4を復号せずに、ピクチャB5を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャP6である場合には、GOP(n)のピクチャP6の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3であり、コントローラ7は、GOP(n)のピクチャI3を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャI3よりも復号順で後のピクチャB1,B2,P6,B4,B5・・・を復号するが、編集点が設定されているピクチャP6より表示順で前のピクチャB1,B2,B4,B5は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャI3を復号した後、ピクチャB1,B2は復号せずに、ピクチャP6を復号するようにスケジューリングする。さらに、コントローラ7は、その後、ピクチャB4,B5を復号せずに、ピクチャP9を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャB7である場合には、GOP(n)のピクチャB7の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3,P6であり、コントローラ7は、GOP(n)のピクチャI3,P6を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャP6よりも復号順で後のピクチャB4,B5,P9,B7,B8,・・・を復号するが、編集点が設定されているピクチャB7より表示順で前のピクチャB4,B5は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャP6を復号した後、ピクチャB4,B5は復号せずに、ピクチャP9を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャB8である場合には、GOP(n)のピクチャB8の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3,P6であり、コントローラ7は、GOP(n)のピクチャI3,P6を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャP6よりも復号順で後のピクチャB4,B5,P9,B7,B8,・・・を復号するが、編集点が設定されているピクチャB8より表示順で前のピクチャB4,B5,B7は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャP6を復号した後、ピクチャB4,B5は復号せずに、ピクチャP9を復号するようにスケジューリングする。さらに、コントローラ7は、その後、ピクチャB7を復号せずに、ピクチャB8を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャP9である場合には、GOP(n)のピクチャP9の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3,P6であり、コントローラ7は、GOP(n)のピクチャI3,P6を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャP6よりも復号順で後のピクチャB4,B5,P9,B7,B8,P12,B10,B11,・・・を復号するが、編集点が設定されているピクチャP9より表示順で前のピクチャB4,B5,B7,B8は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャP6を復号した後、ピクチャB4,B5は復号せずに、ピクチャP9を復号するようにスケジューリングする。さらに、コントローラ7は、その後、ピクチャB7,B8を復号せずに、ピクチャP12を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャB10である場合には、GOP(n)のピクチャB10の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3,P6,P9であり、コントローラ7は、GOP(n)のピクチャI3,P6,P9を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャP9よりも復号順で後のピクチャB7,B8,P12,B10,B11,・・・を復号するが、編集点が設定されているピクチャB10より表示順で前のピクチャB7,B8は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャP9を復号した後、ピクチャB7,B8は復号せずに、ピクチャP12を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャB11である場合には、GOP(n)のピクチャB11の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3,P6,P9であり、コントローラ7は、GOP(n)のピクチャI3,P6,P9を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャP9よりも復号順で後のピクチャB7,B8,P12,B10,B11,・・・を復号するが、編集点が設定されているピクチャB11より表示順で前のピクチャB7,B8,B10は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャP9を復号した後、ピクチャB7,B8は復号せずに、ピクチャP12を復号するようにスケジューリングする。さらに、コントローラ7は、その後、ピクチャB10を復号せずに、ピクチャB11を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャP12である場合には、GOP(n)のピクチャP12の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3,P6,P9であり、コントローラ7は、GOP(n)のピクチャI3,P6,P9を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャP9よりも復号順で後のピクチャB7,B8,P12,B10,B11,P15,B13,B14,次のGOPのピクチャを復号するが、編集点が設定されているピクチャP12より表示順で前のピクチャB7,B8,B10,B11は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャP9を復号した後、ピクチャB7,B8は復号せずに、ピクチャP12を復号するようにスケジューリングする。さらに、コントローラ7は、その後、ピクチャB10,B11を復号せずに、ピクチャP15を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャB13である場合には、GOP(n)のピクチャB13の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3,P6,P9,P12であり、コントローラ7は、GOP(n)のピクチャI3,P6,P9,P12を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャP12よりも復号順で後のピクチャB10,B11,P15,B13,B14,次のGOPのピクチャを復号するが、編集点が設定されているピクチャB13より表示順で前のピクチャB10,B11は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャP12を復号した後、ピクチャB10,B11は復号せずに、ピクチャP15を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャB14である場合には、GOP(n)のピクチャB14の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3,P6,P9,P12であり、コントローラ7は、GOP(n)のピクチャI3,P6,P9,P12を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャP12よりも復号順で後のピクチャB10,B11,P15,B13,B14,次のGOPのピクチャを復号するが、編集点が設定されているピクチャB14より表示順で前のピクチャB10,B11,B13は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャP12を復号した後、ピクチャB10,B11は復号せずに、ピクチャP15を復号するようにスケジューリングする。さらに、コントローラ7は、その後、ピクチャB13を復号せずに、ピクチャB14を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
編集点が設定されているピクチャが、GOP(n)のピクチャP15である場合には、GOP(n)のピクチャP15の復号のために復号しなければならない必要最小限の、表示されないピクチャは、GOP(n)のピクチャI3,P6,P9,P12であり、コントローラ7は、GOP(n)のピクチャI3,P6,P9,P12を復号するようにスケジューリングする。さらに、その後は、GOP(n)のピクチャP12よりも復号順で後のピクチャB10,B11,P15,B13,B14,次のGOPのピクチャを復号するが、編集点が設定されているピクチャP15より表示順で前のピクチャB10,B11,B13,B14は表示も参照もされないから復号する必要がない。そこで、コントローラ7は、GOP(n)のピクチャP12を復号した後、ピクチャB10,B11は復号せずに、ピクチャP15を復号するようにスケジューリングする。さらに、コントローラ7は、その後、ピクチャB13,B14を復号せずに、次のGOP(のピクチャI3)を復号するようにスケジューリングし、以下、通常の復号順で復号するようにスケジューリングする。
以上のようなスケジューリングを行うことで、図5のディスクシステムでは、図8に示すように、最短カット長を6フレーム(ピクチャ)とすることができる。
即ち、前述の図3に示した場合には、図8の表示順ピクチャ231に示すように、GOP(m)のピクチャP15にOUT点である編集点T1が、GOP(n)のピクチャB1にIN点である編集点T3が、GOP(n)のピクチャP15にOUT点である編集点T4が、GOP(m+2)のピクチャB1にIN点である編集点T2が、それぞれ設定されていたが、図8では、表示順ピクチャ232に示すように、編集点T1が、GOP(m)のピクチャP15ではなく、ピクチャP6に設定されるとともに、編集点T4が、GOP(n)のピクチャP15ではなく、ピクチャP6に設定されている。
従って、GOP(n)のピクチャB1に設定された編集点(IN点)T3から、次の編集点(OUT点)である、GOP(n)のピクチャP6に設定された編集点T4までの長さは、6フレームで、最短カット長となっている。
この場合、編集結果の再生時には、図8の表示順ピクチャ232に示すように、OUT点である編集点T1が設定されたGOP(m)のピクチャP6までを表示し、その後、IN点である編集点T3からOUT点である編集点T4までのGOP(n)のピクチャB1乃至P6を表示し、さらに、その後、IN点である編集点T2が設定されたGOP(m+2)の先頭のピクチャB1からの表示を行う必要がある。
そこで、コントローラ7は、2台のデコーダ41と42のうちの一方である、例えば、デコーダ41に、図8のデコード順ピクチャ233に示すように、GOP(m)において表示されるピクチャI3,B1,B2,P6,B4,B5をデコードさせる。なお、GOP(m)のピクチャI3,B1,B2,P6,B4,B5のデコードについては、そのGOP(m)のピクチャの中で最後にデコードされるピクチャB5のデコードが、そのピクチャB5が表示される時刻tn-2までに終了している必要があり、これにより、GOP(m)のデコードを開始しなければならない時刻は、時刻tn-2から、GOP(m)のピクチャB1乃至P6の6ピクチャに対応する表示時間だけ前の時刻tn-8に定まる。
ここで、図8では、時刻tnは、GOP(n)の最初のピクチャB1の表示が開始される時刻(GOP(m)のピクチャP6の表示が終了する時刻)を表す。また、時刻tn-iは、時刻tnから、iフレームの表示時間だけ前の時刻を表す。
デコーダ41においてGOP(m)のピクチャB1乃至P6がデコードされて表示された後は、図8の表示順ピクチャ232に示すように、編集点T1に到達するから、次は、編集点T3から始まり、編集点T4で終了するGOP(n)のピクチャB1乃至P6を復号して表示しなければならない。
いま、編集点T3が設定されているのは、GOP(n)のピクチャB1であるから、コントローラ7は、図8のデコード順ピクチャ235に示すように、2台のデコーダ41と42のうちの他方のデコーダ42に、図7で説明したように、GOP(n)の1GOP前のGOP(n-1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n)のピクチャI3,B1,B2,P6,B4,B5を復号させる。なお、GOP(n)のピクチャI3,B1,B2,P6,B4,B5の復号については、編集点T3が設定されているピクチャB1の復号が、その表示時刻tnまでに終了している必要がある。従って、GOP(n)のピクチャB1よりも7ピクチャ前のGOP(n-1)のピクチャI3は、時刻tnから7ピクチャに対応する表示時間だけ前の時刻tn-7までに復号を開始しなければならない。
一方、デコーダ41は、GOP(m)のピクチャI3,B1,B2,P6,B4,B5の復号の終了後、復号処理を終了するが、デコーダ42においてGOP(n)のピクチャB5が復号され、先に復号されているピクチャP6が表示された後は、図8の表示順ピクチャ232に示すように、編集点T4に到達するから、次は、編集点T2から始まるGOP(m+2)以降を復号して表示しなければならない。
編集点T2が設定されているのは、GOP(m+2)のピクチャB1であるから、コントローラ7は、図8のデコード順ピクチャ234に示すように、デコーダ41に、図7で説明したように、GOP(m+2)の1GOP前のGOP(m+1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(m+2)のピクチャI3,B1,B2,P6,B4,B5,・・・を復号させる。
GOP(m+2)の復号については、編集点T2が設定されているピクチャB1の復号が、その表示時刻tn’までに終了している必要がある。従って、GOP(m+2)のピクチャB1よりも7ピクチャ前のGOP(m+1)のピクチャI3は、時刻tn'から7ピクチャに対応する表示時間だけ前の時刻tn-7'までに復号を開始しなければならない。
ここで、図8では、時刻tn'は、GOP(m+2)の最初のピクチャB1の表示が開始される時刻(GOP(n)のピクチャP6の表示が終了する時刻)を表す。また、時刻tn-i'は、時刻tn'から、iフレームの表示時間だけ前の時刻を表す。
図8において、デコーダ41がGOP(m)のピクチャB5の復号を終了する時刻は、時刻tn-2であり、GOP(m+1)の復号を開始する時刻は、時刻tn-7'である。従って、tn-7'−tn-2が0以上であれば、デコーダ41における復号処理は破綻しない。
そこで、いま、1フレーム(ピクチャ)の表示時間を1と表すと、時刻tn-2は、tn−2と表すことができ、時刻tn-7'は、tn'−7と表すことができる。従って、tn-7'−tn-2は、(tn'−7)−(tn−2)=tn'−tn−5と表すことができる。
一方、図8において、時刻tnは、IN点である編集点T3が設定されているGOP(n)のピクチャB1の表示開始時刻であり、時刻tn'は、その次のOUT点である編集点T4が設定されているGOP(n)のピクチャP6の表示終了時刻であるから、tn'−tnは、最短カット長である6である。
従って、tn-7'−tn-2は1であり、デコーダ41における復号処理は破綻しない。
以上のように、図5のディスクシステムでは、最短カット長を6フレームとすることができるので、編集の自由度を向上させることができる。
なお、IN点である編集点T3から、その次のOUT点である編集点T4までの長さを、最短カット長未満とすると、デコーダ41における復号処理は破綻する。
即ち、例えば、いま、図9の表示順ピクチャ242に示すように、編集点T1が、GOP(n)のピクチャP6ではなく、その1つ前に表示されるピクチャB5に設定され、編集点T4が、GOP(n)のピクチャP6ではなく、その1つ前に表示されるピクチャB5に設定された編集結果を、上述したようにして再生する場合を考える。この場合、GOP(n)のピクチャB1に設定された編集点T3から、次の編集点である、GOP(n)のピクチャB5に設定された編集点T4までの長さは、最短カット長である6フレームより小さい5フレームとなっている。
この場合、編集結果の再生時には、図9の表示順ピクチャ242に示すように、OUT点である編集点T1が設定されたGOP(m)のピクチャB5までを表示し、その後、IN点である編集点T3からOUT点である編集点T4までのGOP(n)のピクチャB1乃至B5を表示し、さらに、その後、IN点である編集点T2が設定されたGOP(m+2)の先頭のピクチャB1からの表示を行う必要がある。
そこで、コントローラ7は、2台のデコーダ41と42のうちの一方である、例えば、デコーダ41に、図9のデコード順ピクチャ243に示すように、GOP(m)のピクチャI3,B1,B2,P6,B4,B5を復号させる。ここで、図9では、GOP(m)のピクチャP6は、表示はされないが、表示されるGOP(m)のピクチャB4,B5を復号するのに参照されるので復号しなければならない。
この場合、GOP(m)のピクチャI3,B1,B2,P6,B4,B5の復号については、そのGOP(m)のピクチャの中で最後に復号されるピクチャB5の復号が、そのピクチャB5が表示される時刻tn-1までに終了している必要があり、これにより、GOP(m)のデコードを開始しなければならない時刻は、時刻tn-1から、GOP(m)のピクチャB1乃至P6の6ピクチャに対応する表示時間だけ前の時刻tn-7に定まる。
ここで、図9では、時刻tnは、GOP(n)の最初のピクチャB1の表示が開始される時刻(GOP(m)のピクチャB5の表示が終了する時刻)を表す。
デコーダ41においてGOP(m)のピクチャB1乃至P6がデコードされ、そのうちのピクチャB1乃至B5が表示された後は、図9の表示順ピクチャ242に示すように、編集点T1に到達するから、次は、編集点T3から始まり、編集点T4で終了するGOP(n)のピクチャB1乃至P6を復号し、そのうちのピクチャB1乃至B5を表示しなければならない。即ち、図9では、GOP(n)のピクチャP6は、表示はされないが、表示されるGOP(n)のピクチャB4,B5を復号するのに参照されるので復号しなければならない。
いま、編集点T3が設定されているのは、GOP(n)のピクチャB1であるから、コントローラ7は、図9のデコード順ピクチャ245に示すように、2台のデコーダ41と42のうちの他方のデコーダ42に、図7で説明したように、GOP(n)の1GOP前のGOP(n-1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n)のピクチャI3,B1,B2,P6,B4,B5を復号させる。なお、GOP(n)のピクチャI3,B1,B2,P6,B4,B5の復号については、編集点T3が設定されているピクチャB1の復号が、その表示時刻tnまでに終了している必要がある。従って、GOP(n)のピクチャB1よりも7ピクチャ前のGOP(n-1)のピクチャI3は、時刻tnから7ピクチャに対応する表示時間だけ前の時刻tn-7までに復号を開始しなければならない。
一方、デコーダ41は、GOP(m)のピクチャI3,B1,B2,P6,B4,B5の復号の終了後、復号処理を終了するが、デコーダ42においてGOP(n)のピクチャB5が復号されて表示された後は、図9の表示順ピクチャ242に示すように、編集点T4に到達するから、次は、編集点T2から始まるGOP(m+2)以降を復号して表示しなければならない。
編集点T2が設定されているのは、GOP(m+2)のピクチャB1であるから、コントローラ7は、図9のデコード順ピクチャ244に示すように、デコーダ41に、図7で説明したように、GOP(m+2)の1GOP前のGOP(m+1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(m+2)のピクチャI3,B1,B2,P6,B4,B5,・・・を復号させる。
GOP (m+2) の復号については、編集点T2が設定されているピクチャB1の復号が、その表示時刻tn’までに終了している必要がある。従って、GOP(m+2)のピクチャB1よりも7ピクチャ前のGOP(m+1)のピクチャI3は、時刻tn'から7ピクチャに対応する表示時間だけ前の時刻tn-7'までに復号を開始しなければならない。
ここで、図9では、時刻tn'は、GOP(m+2)の最初のピクチャB1の表示が開始される時刻(GOP(n)のピクチャB5の表示が終了する時刻)を表す。
図9のデコード順ピクチャ243および244において、デコーダ41がGOP(m)のピクチャB5の復号を終了する時刻は、時刻tn-1であり、GOP(m+1)の復号を開始する時刻は、時刻tn-7'である。従って、tn-7'−tn-1が0より大であれば、デコーダ41における復号処理は、理論的には破綻しない。
そこで、上述したように、1フレーム(ピクチャ)の表示時間を1と表すと、時刻tn-1は、tn−1と表すことができ、時刻tn-7'は、tn'−7と表すことができる。従って、tn-7'−tn-1は、(tn'−7)−(tn−1)=tn'−tn−6と表すことができる。
一方、図9において、時刻tnは、IN点である編集点T3が設定されているGOP(n)のピクチャB1の表示開始時刻であり、時刻tn'は、その次のOUT点である編集点T4が設定されているGOP(n)のピクチャB5の表示終了時刻であるから、tn'−tnは、最短カット長である6より小さい5である。
従って、tn-7'−tn-1は−1であり、デコーダ41における復号処理は破綻する。
即ち、デコーダ41の復号処理については、図9のデコード順ピクチャ243と244に示すように、GOP(m)のピクチャB5と、GOP(m+1)のピクチャI3とを復号しなければならないタイミングが重なってしまうため、シームレスな再生を行うことはできない。
次に、図10上側に示すように、あるGOP(m)のあるピクチャにOUT点としての編集点が設定されるとともに、他のGOP(n)のあるピクチャにIN点としての編集点が設定された場合には、図10の表示フレーム251に示すように、GOP(m)の編集点が設定されたピクチャ(図10においては、フレームA7)までを表示した後、GOP(n)の編集点が設定されたピクチャ(図10においては、フレームC4)からの表示を開始しなければならない。
いま、図5のディスクシステムにおいて、図10の出力フレーム252に示すように、デコーダ41に、編集点までのピクチャを出力させ、出力フレーム253に示すように、デコーダ42に、編集点からのピクチャを出力させることとすると、スイッチャ5には、編集点までは、デコーダ41の出力を選択させ、編集点後は、デコーダ42の出力を選択させればよい。
しかしながら、編集点後のピクチャを出力するデコーダ42では、編集点が設定されたピクチャ(フレーム)C4からの復号を行うために、上述したように、表示されるピクチャを復号するのに参照される、表示されない必要最小限のピクチャを、編集点が設定されたピクチャC4の復号が開始される前に復号しておかなければならない。
いま、この、表示されない必要最小限のピクチャを、予備デコードピクチャと呼ぶとともに、その予備デコードピクチャを復号するのに要する時間を、予備デコード時間と呼ぶこととすると、コントローラ7は、図6のステップS2のスケジューリングにあたって、予備デコードピクチャおよび予備デコード時間を算出する予備デコードピクチャ算出処理を行い、その予備デコードピクチャおよび予備デコード時間に基づいて、デコーダ41と42に復号させるピクチャシーケンスのスケジューリングを行う。
そこで、図11のフローチャートを参照して、コントローラ7が行う予備デコードピクチャ算出処理について説明する。
予備デコードピクチャ算出処理では、コントローラ7は、編集点リストに記述されたIN点としての編集点のうちの、まだ注目編集点STPとしていないものの1つを、注目編集点STPとし、ステップS11において、その注目編集点STPが設定されているピクチャが、ピクチャB1またはB2であるかどうかを判定する。
ステップS11において、注目編集点STPが設定されているピクチャが、ピクチャB1か、またはピクチャB2であると判定された場合、ステップS12に進み、コントローラ7は、注目編集点STPが設定されているピクチャのGOP(n)の1つ前のGOP(n-1)のピクチャI3,P6,P9,P12,P15を、注目編集点STPについての予備デコードピクチャとして認識し、ステップS13に進む。
ここで、コントローラ7は、次のようにして、注目編集点STPについての予備デコードピクチャを認識する。
即ち、コントローラ7は、注目編集点STPが設定されているピクチャから、表示順で遡っていき、最初に現れるIピクチャを認識する。そして、表示順で、その最初に現れるIピクチャから、注目編集点STPが設定されているピクチャまでの間にあるIピクチャとPピクチャを、予備デコードピクチャとして認識する。
ステップS13では、コントローラ7は、ステップS12で認識した予備デコードピクチャI3,P6,P9,P12,P15のピクチャ数を認識し、そのピクチャ数の復号に要する時間である5フレーム分の時間を、注目編集点STPについての予備デコード時間として求める。そして、コントローラ7は、編集点リストに記述されたIN点としての編集点のうち、まだ、注目編集点STPとしていないものの1つを、新たな注目編集点STPとして、ステップS11に戻り、以下、同様の処理を繰り返す。
また、ステップS11において、注目編集点STPが設定されているピクチャが、ピクチャB1でもないし、ピクチャB2でもないと判定された場合、ステップS14に進み、コントローラ7は、その注目編集点STPが設定されているピクチャが、ピクチャI3であるかどうかを判定する。
ステップS14において、注目編集点STPが設定されているピクチャが、ピクチャI3であると判定された場合、ステップS15に進み、コントローラ7は、注目編集点STPについて、予備デコードピクチャがないことを認識し、ステップS16に進む。ステップS16では、コントローラ7は、ステップS15で認識した予備デコードピクチャのピクチャ数、即ち、0を認識し、そのピクチャ数の復号に要する時間、即ち、0を、注目編集点STPについての予備デコード時間として求める。そして、コントローラ7は、編集点リストに記述されたIN点としての編集点のうち、まだ、注目編集点STPとしていないものの1つを、新たな注目編集点STPとして、ステップS11に戻り、以下、同様の処理を繰り返す。
また、ステップS14において、注目編集点STPが設定されているピクチャが、ピクチャI3でないと判定された場合、ステップS17に進み、コントローラ7は、注目編集点STPが設定されているピクチャが、ピクチャB4,B5、またはP6のうちのいずれかであるかどうかを判定する。
ステップS17において、注目編集点STPが設定されているピクチャが、ピクチャB4,B5、またはP6のうちのいずれかであると判定された場合、ステップS18に進み、コントローラ7は、注目編集点STPが設定されているピクチャのGOP(n)のピクチャI3を、注目編集点STPについての予備デコードピクチャとして認識し、ステップS19に進む。ステップS19では、コントローラ7は、ステップS18で認識した予備デコードピクチャI3のピクチャ数を認識し、そのピクチャ数の復号に要する時間である1フレーム分の時間を、注目編集点STPについての予備デコード時間として求める。そして、コントローラ7は、編集点リストに記述されたIN点としての編集点のうち、まだ、注目編集点STPとしていないものの1つを、新たな注目編集点STPとして、ステップS11に戻り、以下、同様の処理を繰り返す。
また、ステップS17において、注目編集点STPが設定されているピクチャが、ピクチャB4,B5、およびP6のうちのいずれでもないと判定された場合、ステップS20に進み、コントローラ7は、注目編集点STPが設定されているピクチャが、ピクチャB7,B8、またはP9のうちのいずれかであるかどうかを判定する。
ステップS20において、注目編集点STPが設定されているピクチャが、ピクチャB7,B8、またはP9のうちのいずれかであると判定された場合、ステップS21に進み、コントローラ7は、注目編集点STPが設定されているピクチャのGOP(n)のピクチャI3,P6を、注目編集点STPについての予備デコードピクチャとして認識し、ステップS22に進む。ステップS22では、コントローラ7は、ステップS21で認識した予備デコードピクチャI3,P6のピクチャ数を認識し、そのピクチャ数の復号に要する時間である2フレーム分の時間を、注目編集点STPについての予備デコード時間として求める。そして、コントローラ7は、編集点リストに記述されたIN点としての編集点のうち、まだ、注目編集点STPとしていないものの1つを、新たな注目編集点STPとして、ステップS11に戻り、以下、同様の処理を繰り返す。
また、ステップS20において、注目編集点STPが設定されているピクチャが、ピクチャB7,B8、およびP9のうちのいずれでもないと判定された場合、ステップS23に進み、コントローラ7は、注目編集点STPが設定されているピクチャが、ピクチャB10,B11、またはP12のうちのいずれかであるかどうかを判定する。
ステップS23において、注目編集点STPが設定されているピクチャが、ピクチャB10,B11、またはP12のうちのいずれかであると判定された場合、ステップS24に進み、コントローラ7は、注目編集点STPが設定されているピクチャのGOP(n)のピクチャI3,P6,P9を、注目編集点STPについての予備デコードピクチャとして認識し、ステップS25に進む。ステップS25では、コントローラ7は、ステップS24で認識した予備デコードピクチャI3,P6,P9のピクチャ数を認識し、そのピクチャ数の復号に要する時間である3フレーム分の時間を、注目編集点STPについての予備デコード時間として求める。そして、コントローラ7は、編集点リストに記述されたIN点としての編集点のうち、まだ、注目編集点STPとしていないものの1つを、新たな注目編集点STPとして、ステップS11に戻り、以下、同様の処理を繰り返す。
また、ステップS23において、注目編集点STPが設定されているピクチャが、ピクチャB10,B11、およびP12のうちのいずれでもないと判定された場合、即ち、注目編集点STPが設定されているピクチャが、ピクチャB13,B14、またはP15のうちのいずれかである場合、ステップS26に進み、コントローラ7は、注目編集点STPが設定されているピクチャのGOP(n)のピクチャI3,P6,P9,P12を、注目編集点STPについての予備デコードピクチャとして認識し、ステップS27に進む。ステップS27では、コントローラ7は、ステップS26で認識した予備デコードピクチャI3,P6,P9,P12のピクチャ数を認識し、そのピクチャ数の復号に要する時間である4フレーム分の時間を、注目編集点STPについての予備デコード時間として求める。そして、コントローラ7は、編集点リストに記述されたIN点としての編集点のうち、まだ、注目編集点STPとしていないものの1つを、新たな注目編集点STPとして、ステップS11に戻り、以下、同様の処理を繰り返す。
なお、図11の予備デコードピクチャ算出処理は、編集点リストに記述されたIN点としての編集点に、注目編集点STPとされていないものがなくなったときに終了する。
次に、図12は、本発明を適用したディスクシステムの他の一実施の形態の構成例を示している。なお、図中、図5における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図12のディスクシステムは、デコード部4が、2台のデコーダ41および42に限らないK個のデコーダ41,42,・・・,4Kで構成されている他は、図5における場合と同様に構成されている。なお、図12におけるデコーダ4k(k=1,2,・・・,K)は、例えば、図5のデコーダ41や42と同様に、1倍速のデコード処理速度を有するものである。
図5のディスクシステムは、図12におけるKが2の場合のディスクシステムに一致する。そして、この場合の最短カット長は、上述したように、6フレームであるが、図12において、デコード部4を構成するデコーダ41乃至4Kを、より多くすることによって、即ち、Kを2より大の数にすることによって、最短カット長を、6フレームよりさらに短くすることが可能となる。
具体的には、例えば、Kを3として、デコード部4を、3台のデコーダ41,42,43で構成した場合には、最短カット長を3フレームとすることができる。
即ち、いま、図13の表示順ピクチャ261に示すように、時刻taから、GOP(n)のピクチャB1,B2,I3を表示し、その後の時刻tbから、GOP(n+1)のピクチャB1,B2,I3を表示し、その後の時刻tcから、GOP(n+2)のピクチャB1,B2,I3を表示し、その後の時刻tdから、GOP(n+3)以降のピクチャを順次表示する編集が行われたとする。この場合、IN点である編集点は、時刻taに表示されるGOP(n)のピクチャB1、時刻tbに表示されるGOP(n+1)のピクチャB1、時刻tcに表示されるGOP(n+2)のピクチャB1、時刻tdに表示されるGOP(n+3)のピクチャB1に、それぞれ設定されている。
なお、この場合、時刻tbは、時刻taから3フレーム分の表示時間だけ後の時刻であり、時刻tcは、時刻tbから3フレーム分の表示時間だけ後の時刻であり、時刻tdは、時刻tcから3フレーム分の表示時間だけ後の時刻である。従って、図13の表示順ピクチャ261では、最短カット長は、時刻taからtbまでに表示される3フレーム(あるいは、時刻tbからtcまでに表示される3フレーム、または時刻tcからtdまでに表示される3フレーム)となっている。
この場合、まず最初に、時刻taから表示されるGOP(n)のピクチャB1,B2,I3を復号して表示しなければならないが、GOP(n)のピクチャB1には、IN点である編集点が設定されている。そこで、コントローラ7は、図13のデコード順ピクチャ262に示すように、3台のデコーダ41乃至43のうちの復号処理を行っていない、例えば、デコーダ41に、図7で説明したように、GOP(n)の1GOP前のGOP(n-1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n)のピクチャI3,B1,B2を復号させる。
なお、GOP(n)のピクチャI3,B1,B2の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻taまでに終了している必要がある。従って、GOP(n)のピクチャB1よりも7ピクチャ前のGOP(n-1)のピクチャI3は、時刻taから7ピクチャに対応する表示時間だけ前の時刻ta-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n-1)のピクチャI3の復号が、時刻ta-7から開始されるものとすると、GOP(n)のピクチャI3,B1,B2の中で最後に復号されるピクチャB2の復号は、時刻taから1ピクチャ分の表示時間だけ後の時刻ta+1に終了する。
デコーダ41においてGOP(n)のピクチャB1乃至I3が復号されて表示された後は、図13の表示順ピクチャ261に示すように、時刻tbとなるから、時刻tbから表示されるGOP(n+1)のピクチャB1,B2,I3を復号して表示しなければならないが、GOP(n+1)のピクチャB1には、IN点である編集点が設定されている。
このため、コントローラ7は、図13のデコード順ピクチャ264に示すように、3台のデコーダ41乃至43のうちの復号処理を行っていない、例えば、デコーダ42に、図7で説明したように、GOP(n+1)の1GOP前のGOP(n)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n)のピクチャI3,B1,B2を復号させる。
なお、GOP(n+1)のピクチャI3,B1,B2の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tbまでに終了している必要がある。従って、GOP(n+1)のピクチャB1よりも7ピクチャ前のGOP(n)のピクチャI3は、時刻tbから7ピクチャ分の表示時間だけ前の時刻tb-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n)のピクチャI3の復号が、時刻tb-7から開始されるものとすると、GOP(n+1)のピクチャI3,B1,B2の中で最後に復号されるピクチャB2の復号は、時刻tbから1ピクチャ分の表示時間だけ後の時刻tb+1に終了する。
デコーダ42においてGOP(n+1)のピクチャB1乃至I3が復号されて表示された後は、図13の表示順ピクチャ261に示すように、時刻tcとなるから、時刻tcから表示されるGOP(n+2)のピクチャB1,B2,I3を復号して表示しなければならないが、GOP(n+2)のピクチャB1には、IN点である編集点が設定されている。
このため、コントローラ7は、図13のデコード順ピクチャ265に示すように、3台のデコーダ41乃至43のうちの復号処理を行っていない残りのデコーダ43に、図7で説明したように、GOP(n+2)の1GOP前のGOP(n+1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+2)のピクチャI3,B1,B2を復号させる。
なお、GOP(n+2)のピクチャI3,B1,B2の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tcまでに終了している必要がある。従って、GOP(n+2)のピクチャB1よりも7ピクチャ前のGOP(n+1)のピクチャI3は、時刻tcから7ピクチャ分の表示時間だけ前の時刻tc-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n+1)のピクチャI3の復号が、時刻tc-7から開始されるものとすると、GOP(n+2)のピクチャI3,B1,B2の中で最後に復号されるピクチャB2の復号は、時刻tcから1ピクチャ分の表示時間だけ後の時刻tc+1に終了する。
デコーダ43においてGOP(n+2)のピクチャB1乃至I3が復号されて表示された後は、図13の表示順ピクチャ261に示すように、時刻tdとなるから、時刻tdから表示されるGOP(n+3)のピクチャB1,B2,I3、さらには、その後に続くピクチャを復号して表示しなければならないが、GOP(n+3)のピクチャB1には、IN点である編集点が設定されている。従って、この場合、図7で説明したように、GOP(n+3)のピクチャB1を復号するには、その1GOP前のGOP(n+2)のピクチャI3,P6,P9,P12,P15を復号しなければならない。
さらに、GOP(n+3)の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tdまでに終了している必要がある。従って、GOP(n+3)のピクチャB1よりも7ピクチャ前のGOP(n+2)のピクチャI3は、図13のデコード順ピクチャ263に示すように、時刻tdから7ピクチャ分の表示時間だけ前の時刻td-7までに復号を開始しなければならない。
ところで、時刻td-7のタイミングでは、デコーダ42と43は、デコード順ピクチャ264とデコード順ピクチャ265にそれぞれ示すように、復号処理を行っているが、デコーダ41は、デコード順ピクチャ262に示すように、時刻td-7よりも1ピクチャ分の表示時間だけ前の時刻である時刻ta+1において、復号処理を終了している。
従って、デコーダ41は、時刻td-7において、復号処理を行うことが可能であり、コントローラ7は、図13のデコード順ピクチャ263に示すように、デコーダ41に、GOP(n+2)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+3)のピクチャI3,B1,B2、さらにはその後に続くピクチャを復号させる。
以上から、最短カット長が3フレームであれば、デコーダ41,42,43それぞれにおいて、同一時刻に、複数のピクチャを復号しなければならないケースはなく、従って、デコード部4を、3台のデコーダ41,42,43で構成した場合には、最短カット長を3フレームとすることができる。即ち、この場合、図5の、デコード部4が2台のデコーダ41および42で構成される場合に比較して、最短カット長をさらに短くすることができ、編集の自由度を、より向上させることができる。
次に、図12のディスクシステムにおいて、例えば、Kを4として、デコード部4を、4台のデコーダ41,42,43,44で構成した場合には、最短カット長を2フレームとすることができる。
即ち、いま、図14の表示順ピクチャ271に示すように、時刻taから、GOP(n)のピクチャB1,B2を表示し、その後の時刻tbから、GOP(n+1)のピクチャB1,B2を表示し、その後の時刻tcから、GOP(n+2)のピクチャB1,B2を表示し、その後の時刻tdから、GOP(n+3)のピクチャB1,B2を表示し、その後の表示時刻teから、GOP(n+4)以降のピクチャを順次表示する編集が行われたとする。この場合、IN点である編集点は、時刻taに表示されるGOP(n)のピクチャB1、時刻tbに表示されるGOP(n+1)のピクチャB1、時刻tcに表示されるGOP(n+2)のピクチャB1、時刻tdに表示されるGOP(n+3)のピクチャB1、時刻teに表示されるGOP(n+4)のピクチャB1に、それぞれ設定されている。
なお、この場合、時刻tbは、時刻taから2フレーム分の表示時間だけ後の時刻であり、時刻tcは、時刻tbから2フレーム分の表示時間だけ後の時刻であり、時刻tdは、時刻tcから2フレーム分の表示時間だけ後の時刻であり、時刻teは、時刻tdから2フレーム分の表示時間だけ後の時刻である。従って、図14の表示順ピクチャ271では、最短カット長は、時刻taからtbまでに表示される2フレーム(あるいは、時刻tbからtcまでに表示される2フレーム、時刻tcからtdまでに表示される2フレーム、または時刻tdからteまでに表示される2フレーム)となっている。
この場合、まず最初に、時刻taから表示されるGOP(n)のピクチャB1,B2,I3を復号し、そのうちのピクチャB1,B2を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1,B2を復号するのに参照されるため、復号しなければならない。そして、GOP(n)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図14のデコード順ピクチャ272に示すように、4台のデコーダ41乃至44のうちの復号処理を行っていない、例えば、デコーダ41に、図7で説明したように、GOP(n)の1GOP前のGOP(n-1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n)のピクチャI3,B1,B2を復号させる。
なお、GOP(n)のピクチャI3,B1,B2の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻taまでに終了している必要がある。従って、GOP(n)のピクチャB1よりも7ピクチャ前のGOP(n-1)のピクチャI3は、時刻taから7ピクチャに対応する表示時間だけ前の時刻ta-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n-1)のピクチャI3の復号が、時刻ta-7から開始されるものとすると、GOP(n)のピクチャI3,B1,B2の中で最後に復号されるピクチャB2の復号は、時刻taから1ピクチャ分の表示時間だけ後の時刻ta+1に終了する。
デコーダ41においてGOP(n)のピクチャB1乃至I3が復号され、そのうちのピクチャB1,B2が表示された後は、図14の表示順ピクチャ271に示すように、時刻tbとなるから、時刻tbから表示されるGOP(n+1)のピクチャB1,B2,I3を復号し、そのうちのB1,B2を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1,B2を復号するのに参照されるため、復号しなければならない。そして、GOP(n+1)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図14のデコード順ピクチャ273に示すように、4台のデコーダ41乃至44のうちの復号処理を行っていない、例えば、デコーダ42に、図7で説明したように、GOP(n+1)の1GOP前のGOP(n)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n)のピクチャI3,B1,B2を復号させる。
なお、GOP(n+1)のピクチャI3,B1,B2の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tbまでに終了している必要がある。従って、GOP(n+1)のピクチャB1よりも7ピクチャ前のGOP(n)のピクチャI3は、時刻tbから7ピクチャ分の表示時間だけ前の時刻tb-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n)のピクチャI3の復号が、時刻tb-7から開始されるものとすると、GOP(n+1)のピクチャI3,B1,B2の中で最後に復号されるピクチャB2の復号は、時刻tbから1ピクチャ分の表示時間だけ後の時刻tb+1に終了する。
デコーダ42においてGOP(n+1)のピクチャB1乃至I3が復号され、そのうちのピクチャB1,B2が表示された後は、図14の表示順ピクチャ271に示すように、時刻tcとなるから、時刻tcから表示されるGOP(n+2)のピクチャB1,B2,I3を復号し、そのうちのピクチャB1,B2を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1,B2を復号するのに参照されるため、復号しなければならない。そして、GOP(n+2)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図14のデコード順ピクチャ274に示すように、4台のデコーダ41乃至44のうちの復号処理を行っていない、例えば、デコーダ43に、図7で説明したように、GOP(n+2)の1GOP前のGOP(n+1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+2)のピクチャI3,B1,B2を復号させる。
なお、GOP(n+2)のピクチャI3,B1,B2の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tcまでに終了している必要がある。従って、GOP(n+2)のピクチャB1よりも7ピクチャ前のGOP(n+1)のピクチャI3は、時刻tcから7ピクチャ分の表示時間だけ前の時刻tc-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n+1)のピクチャI3の復号が、時刻tc-7から開始されるものとすると、GOP(n+2)のピクチャI3,B1,B2の中で最後に復号されるピクチャB2の復号は、時刻tcから1ピクチャ分の表示時間だけ後の時刻tc+1に終了する。
デコーダ43においてGOP(n+2)のピクチャB1乃至I3が復号され、そのうちのピクチャB1,B2が表示された後は、図14の表示順ピクチャ271に示すように、時刻tdとなるから、時刻tdから表示されるGOP(n+3)のピクチャB1,B2,I3を復号し、そのうちのピクチャB1,B2を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1,B2を復号するのに参照されるため、復号しなければならない。そして、GOP(n+3)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図14のデコード順ピクチャ275に示すように、4台のデコーダ41乃至44のうちの復号処理を行っていない残りのデコーダ44に、図7で説明したように、GOP(n+3)の1GOP前のGOP(n+2)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+3)のピクチャI3,B1,B2を復号させる。
なお、GOP(n+3)のピクチャI3,B1,B2の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tdまでに終了している必要がある。従って、GOP(n+3)のピクチャB1よりも7ピクチャ前のGOP(n+2)のピクチャI3は、時刻tdから7ピクチャ分の表示時間だけ前の時刻td-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n+2)のピクチャI3の復号が、時刻td-7から開始されるものとすると、GOP(n+3)のピクチャI3,B1,B2の中で最後に復号されるピクチャB2の復号は、時刻tdから1ピクチャ分の表示時間だけ後の時刻td+1に終了する。
デコーダ44においてGOP(n+3)のピクチャB1乃至I3が復号され、そのうちのピクチャB1,B2が表示された後は、図14の表示順ピクチャ271に示すように、時刻teとなるから、時刻teから表示されるGOP(n+4)のピクチャB1,B2,I3、さらには、その後に続くピクチャを復号して表示しなければならないが、GOP(n+4)のピクチャB1には、IN点である編集点が設定されている。従って、この場合、図7で説明したように、GOP(n+4)のピクチャB1の復号するには、その1GOP前のGOP(n+3)のピクチャI3,P6,P9,P12,P15を復号しなければならない。
さらに、GOP(n+4)の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻teまでに終了している必要がある。従って、GOP(n+4)のピクチャB1よりも7ピクチャ前のGOP(n+3)のピクチャI3は、図14のデコード順ピクチャ272に示すように、時刻teから7ピクチャ分の表示時間だけ前の時刻te-7までに復号を開始しなければならない。
ところで、時刻te-7のタイミングでは、デコーダ42,43、および44は、デコード順ピクチャ273乃至のデコード順ピクチャ275にそれぞれ示すように、いずれも復号処理を行っているが、デコーダ41は、図14のデコード順ピクチャ272に示すように、時刻te-7に等しい時刻ta+1において、復号処理を終了している。
従って、デコーダ41は、時刻te-7において、復号処理を行うことが可能であり、コントローラ7は、図14のデコード順ピクチャ272に示すように、デコーダ41に、GOP(n+3)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+4)のピクチャI3,B1,B2、さらにはその後に続くピクチャを復号させる。
以上から、最短カット長が2フレームであれば、デコーダ41,42,43,44それぞれにおいて、同一時刻に、複数のピクチャを復号しなければならないケースはなく、従って、デコード部4を、4台のデコーダ41,42,43,44で構成した場合には、最短カット長を2フレームとすることができる。即ち、この場合、上述のデコード部4が3台のデコーダ41乃至43で構成される場合に比較して、最短カット長をさらに短くすることができ、編集の自由度を、より向上させることができる。
次に、図12のディスクシステムにおいて、例えば、Kを7として、デコード部4を、7台のデコーダ41,42,43,44,45,46,47で構成した場合には、最短カット長を1フレームとすることができる。
即ち、いま、図15の表示順ピクチャ281に示すように、時刻taから、GOP(n)のピクチャB1を表示し、その後の時刻tbから、GOP(n+1)のピクチャB1を表示し、その後の時刻tcから、GOP(n+2)のピクチャB1を表示し、その後の時刻tdから、GOP(n+3)のピクチャB1を表示し、その後の表示時刻teから、GOP(n+4)のピクチャB1を表示し、その後の表示時刻tfから、GOP(n+5)のピクチャB1を表示し、その後の表示時刻tgから、GOP(n+6)のピクチャB1を表示し、その後の表示時刻thから、GOP(n+7) 以降のピクチャを順次表示する編集が行われたとする。この場合、IN点である編集点は、時刻taに表示されるGOP(n)のピクチャB1、時刻tbに表示されるGOP(n+1)のピクチャB1、時刻tcに表示されるGOP(n+2)のピクチャB1、時刻tdに表示されるGOP(n+3)のピクチャB1、時刻teに表示されるGOP(n+4)のピクチャB1、時刻tfに表示されるGOP(n+5)のピクチャB1、時刻tgに表示されるGOP(n+6)のピクチャB1、時刻thに表示されるGOP(n+7)のピクチャB1に、それぞれ設定されている。
なお、この場合、時刻tbは、時刻taから1フレーム分の表示時間だけ後の時刻であり、時刻tcは、時刻tbから1フレーム分の表示時間だけ後の時刻であり、時刻tdは、時刻tcから1フレーム分の表示時間だけ後の時刻であり、時刻teは、時刻tdから1フレーム分の表示時間だけ後の時刻であり、時刻tfは、時刻teから1フレーム分の表示時間だけ後の時刻であり、時刻tgは、時刻tfから1フレーム分の表示時間だけ後の時刻であり、時刻thは、時刻tgから1フレーム分の表示時間だけ後の時刻である。従って、図15の表示順ピクチャ281では、最短カット長は、時刻taからtbまでに表示される1フレーム(あるいは、時刻tbからtcまでに表示される1フレーム、時刻tcからtdまでに表示される1フレーム、時刻tdからteまでに表示される1フレーム、時刻teからtfまでに表示される1フレーム、時刻tfからtgまでに表示される1フレーム、または時刻tgからthまでに表示される1フレーム)となっている。
この場合、まず最初に、時刻taから表示されるGOP(n)のピクチャB1,I3を復号し、そのうちのピクチャB1を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1を復号するのに参照されるため、復号しなければならない。そして、GOP(n)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図15のデコード順ピクチャ282に示すように、7台のデコーダ41乃至47のうちの復号処理を行っていない、例えば、デコーダ41に、図7で説明したように、GOP(n)の1GOP前のGOP(n-1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n)のピクチャI3,B1を復号させる。
なお、GOP(n)のピクチャI3,B1の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻taまでに終了している必要がある。従って、GOP(n)のピクチャB1よりも7ピクチャ前のGOP(n-1)のピクチャI3は、時刻taから7ピクチャに対応する表示時間だけ前の時刻ta-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n-1)のピクチャI3の復号が、時刻ta-7から開始されるものとすると、GOP(n)のピクチャI3,B1の中で最後に復号されるピクチャB1の復号は、時刻taに終了する。
デコーダ41においてGOP(n)のピクチャB1とI3が復号され、そのうちのピクチャB1が表示された後は、図15の表示順ピクチャ281に示すように、時刻tbとなるから、時刻tbから表示されるGOP(n+1)のピクチャB1,I3を復号し、そのうちのB1を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1を復号するのに参照されるため、復号しなければならない。そして、GOP(n+1)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図15のデコード順ピクチャ283に示すように、7台のデコーダ41乃至47のうちの復号処理を行っていない、例えば、デコーダ42に、図7で説明したように、GOP(n+1)の1GOP前のGOP(n)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n)のピクチャI3,B1を復号させる。
なお、GOP(n+1)のピクチャI3,B1の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tbまでに終了している必要がある。従って、GOP(n+1)のピクチャB1よりも7ピクチャ前のGOP(n)のピクチャI3は、時刻tbから7ピクチャ分の表示時間だけ前の時刻tb-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n)のピクチャI3の復号が、時刻tb-7から開始されるものとすると、GOP(n+1)のピクチャI3,B1の中で最後に復号されるピクチャB1の復号は、時刻tbに終了する。
デコーダ42においてGOP(n+1)のピクチャB1,I3が復号され、そのうちのピクチャB1が表示された後は、図15の表示順ピクチャ281に示すように、時刻tcとなるから、時刻tcから表示されるGOP(n+2)のピクチャB1,I3を復号し、そのうちのピクチャB1を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1を復号するのに参照されるため、復号しなければならない。そして、GOP(n+2)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図15のデコード順ピクチャ284に示すように、7台のデコーダ41乃至47のうちの復号処理を行っていない、例えば、デコーダ43に、図7で説明したように、GOP(n+2)の1GOP前のGOP(n+1)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+2)のピクチャI3,B1を復号させる。
なお、GOP(n+2)のピクチャI3,B1の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tcまでに終了している必要がある。従って、GOP(n+2)のピクチャB1よりも7ピクチャ前のGOP(n+1)のピクチャI3は、時刻tcから7ピクチャ分の表示時間だけ前の時刻tc-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n+1)のピクチャI3の復号が、時刻tc-7から開始されるものとすると、GOP(n+2)のピクチャI3,B1の中で最後に復号されるピクチャB1の復号は、時刻tcに終了する。
デコーダ43においてGOP(n+2)のピクチャB1,I3が復号され、そのうちのピクチャB1が表示された後は、図15の表示順ピクチャ281に示すように、時刻tdとなるから、時刻tdから表示されるGOP(n+3)のピクチャB1,I3を復号し、そのうちのピクチャB1を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1を復号するのに参照されるため、復号しなければならない。そして、GOP(n+3)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図15のデコード順ピクチャ285に示すように、7台のデコーダ41乃至47のうちの復号処理を行っていない、例えば、デコーダ44に、図7で説明したように、GOP(n+3)の1GOP前のGOP(n+2)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+3)のピクチャI3,B1を復号させる。
なお、GOP(n+3)のピクチャI3,B1の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tdまでに終了している必要がある。従って、GOP(n+3)のピクチャB1よりも7ピクチャ前のGOP(n+2)のピクチャI3は、時刻tdから7ピクチャ分の表示時間だけ前の時刻td-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n+2)のピクチャI3の復号が、時刻td-7から開始されるものとすると、GOP(n+3)のピクチャI3,B1の中で最後に復号されるピクチャB1の復号は、時刻tdに終了する。
デコーダ44においてGOP(n+3)のピクチャB1,I3が復号され、そのうちのピクチャB1が表示された後は、図15の表示順ピクチャ281に示すように、時刻teとなるから、時刻teから表示されるGOP(n+4)のピクチャB1,I3を復号し、そのうちのピクチャB1を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1を復号するのに参照されるため、復号しなければならない。そして、GOP(n+4)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図15のデコード順ピクチャ286に示すように、7台のデコーダ41乃至47のうちの復号処理を行っていない、例えば、デコーダ45に、図7で説明したように、GOP(n+4)の1GOP前のGOP(n+3)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+4)のピクチャI3,B1を復号させる。
なお、GOP(n+4)のピクチャI3,B1の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻teまでに終了している必要がある。従って、GOP(n+4)のピクチャB1よりも7ピクチャ前のGOP(n+3)のピクチャI3は、時刻teから7ピクチャ分の表示時間だけ前の時刻te-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n+3)のピクチャI3の復号が、時刻te-7から開始されるものとすると、GOP(n+4)のピクチャI3,B1の中で最後に復号されるピクチャB1の復号は、時刻teに終了する。
デコーダ45においてGOP(n+4)のピクチャB1,I3が復号され、そのうちのピクチャB1が表示された後は、図15の表示順ピクチャ281に示すように、時刻tfとなるから、時刻tfから表示されるGOP(n+5)のピクチャB1,I3を復号し、そのうちのピクチャB1を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1を復号するのに参照されるため、復号しなければならない。そして、GOP(n+5)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図15のデコード順ピクチャ287に示すように、7台のデコーダ41乃至47のうちの復号処理を行っていない、例えば、デコーダ46に、図7で説明したように、GOP(n+5)の1GOP前のGOP(n+4)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+5)のピクチャI3,B1を復号させる。
なお、GOP(n+5)のピクチャI3,B1の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tfまでに終了している必要がある。従って、GOP(n+5)のピクチャB1よりも7ピクチャ前のGOP(n+4)のピクチャI3は、時刻tfから7ピクチャ分の表示時間だけ前の時刻tf-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n+4)のピクチャI3の復号が、時刻tf-7から開始されるものとすると、GOP(n+5)のピクチャI3,B1の中で最後に復号されるピクチャB1の復号は、時刻tfに終了する。
デコーダ46においてGOP(n+5)のピクチャB1,I3が復号され、そのうちのピクチャB1が表示された後は、図15の表示順ピクチャ281に示すように、時刻tgとなるから、時刻tgから表示されるGOP(n+6)のピクチャB1,I3を復号し、そのうちのピクチャB1を表示しなければならない。即ち、いまの場合、ピクチャI3は、表示されないが、ピクチャB1を復号するのに参照されるため、復号しなければならない。そして、GOP(n+6)のピクチャB1には、IN点である編集点が設定されているので、コントローラ7は、図15のデコード順ピクチャ288に示すように、7台のデコーダ41乃至47のうちの復号処理を行っていない残りのデコーダ47に、図7で説明したように、GOP(n+6)の1GOP前のGOP(n+5)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+6)のピクチャI3,B1を復号させる。
なお、GOP(n+6)のピクチャI3,B1の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻tgまでに終了している必要がある。従って、GOP(n+6)のピクチャB1よりも7ピクチャ前のGOP(n+5)のピクチャI3は、時刻tgから7ピクチャ分の表示時間だけ前の時刻tg-7までに復号を開始しなければならない。そして、例えば、いま、GOP(n+5)のピクチャI3の復号が、時刻tg-7から開始されるものとすると、GOP(n+6)のピクチャI3,B1の中で最後に復号されるピクチャB1の復号は、時刻tgに終了する。
デコーダ47においてGOP(n+6)のピクチャB1,I3が復号され、そのうちのピクチャB1が表示された後は、図15の表示順ピクチャ281に示すように、時刻thとなるから、時刻thから表示されるGOP(n+7)のピクチャB1,B2,I3、さらには、その後に続くピクチャを復号して表示しなければならないが、GOP(n+7)のピクチャB1には、IN点である編集点が設定されている。従って、この場合、図7で説明したように、GOP(n+7)のピクチャB1の復号するには、その1GOP前のGOP(n+6)のピクチャI3,P6,P9,P12,P15を復号しなければならない。
さらに、GOP(n+7)の復号については、編集点が設定されているピクチャB1の復号が、その表示時刻thまでに終了している必要がある。従って、GOP(n+7)のピクチャB1よりも7ピクチャ前のGOP(n+6)のピクチャI3は、図15のデコード順ピクチャ282に示すように、時刻thから7ピクチャ分の表示時間だけ前の時刻th-7までに復号を開始しなければならない。
ところで、時刻th-7のタイミングでは、デコーダ42乃至47は、デコード順ピクチャ283乃至デコード順ピクチャ288にそれぞれ示すように、いずれも復号処理を行っているが、デコーダ41は、デコード順ピクチャ282に示すように、時刻th-7に等しい時刻taにおいて、復号処理を終了している。
従って、デコーダ41は、時刻th-7において、復号処理を行うことが可能であり、コントローラ7は、図15のデコード順ピクチャ282に示すように、デコーダ41に、GOP(n+6)のピクチャI3,P6,P9,P12,P15を復号させ、さらに、その後、GOP(n+7)のピクチャI3,B1、さらにはその後に続くピクチャを復号させる。
以上から、デコード部4を、7台のデコーダ41乃至47で構成した場合には、ある編集点から次の編集点までが1フレームであっても、デコーダ41乃至47それぞれにおいて、同一時刻に、複数のピクチャを復号しなければならないケースはなく、従って、最短カット長を1フレームとすることができる。即ち、この場合、最短カット長による制限なしに、編集を行うことができる。
ここで、図16に、デコード部4を構成するデコーダ41乃至4Kの数Kと、最短カット長との関係を示す。図16に示すように、デコーダ41乃至4Kの数Kが2の場合には、最短カット長は6フレームに、デコーダ41乃至4Kの数Kが3の場合には、最短カット長は3フレームに、デコーダ41乃至4Kの数Kが4,5、または6の場合には、最短カット長は2フレームに、デコーダ41乃至4Kの数Kが7(以上)の場合には、最短カット長は1フレームに、それぞれすることができる。
なお、図16は、デコード部4を構成するデコーダ4kが1倍速のデコード処理速度を有するものである場合の、デコード部4を構成するデコーダ41乃至4Kの数Kと、最短カット長との関係を表している。従って、いま、デコード部4を、L倍速のデコード処理速度を有するデコーダ4kで構成することとする(Lは正数)と、デコード部4を、7/L以上の個数のデコーダ41,42,・・・で構成することにより、最短カット長を、常に1フレームとすることができ、最短カット長による制限なしに、編集を行うことができる。
次に、図17のフローチャートを参照して、図12のディスクシステムが行う再生処理について、さらに説明する。
ユーザが、操作部8を、編集点リストによるMPEGストリームの編集結果の再生を開始するように操作すると、操作部8からコントローラ7に対して、再生処理の開始を指示する操作信号(再生開始操作信号)が供給される。
コントローラ7は、操作部8から再生開始操作信号を受信すると、ステップS31において、ディスクドライブ2に、編集点リストを要求し、これにより、ディスクドライブ2は、光ディスク1から編集点リストを読み出して、バス3上に出力する。コントローラ7は、バス3上の編集点リストを受信して、ステップS32に進み、その編集点リストに記述されているすべてのIN点とOUT点である編集点を検出し、その編集点の一覧表(以下、適宜、編集点一覧表という)を作成する。
なお、編集点一覧表においては、編集点が、例えば、表示時刻順に記述されるものとする。
そして、ステップS33に進み、コントローラ7は、編集点一覧表に記述されている編集点としての各IN点について、図11のフローチャートを参照して説明した予備デコードピクチャ算出処理を行う。さらに、ステップS33では、コントローラ7は、予備デコードピクチャ算出処理によって、各IN点について求められた予備デコードピクチャと予備デコード時間を、編集点一覧表に反映し、ステップS34に進む。ステップS34では、コントローラ34は、編集点一覧表に記述されている編集点としての各IN点について、予備デコードピクチャの復号を開始しなければならない時刻としてのデコードスタートポイントを、予備デコード時間から求め、編集点一覧表に反映させる。
なお、デコードスタートポイントは、基本的に、編集点(IN点)から、予備デコード時間だけ前の時刻(または予備デコード時間以上前の時刻)に設定される。但し、編集点が設定されているピクチャがB1またはB2である場合には、その編集点についてのデコードスタートポイントは、編集点から、予備デコード時間に1フレームのデコード時間だけ加算した時間だけ前の時刻(または予備デコード時間に1フレームのデコード時間だけ加算した時間以上前の時刻)に設定される。
即ち、あるGOP(n)のピクチャB1またはB2を復号するにあたっては、表示順で先の1GOP前のGOP(n-1)のピクチャP15と、表示順で後のGOP(n)のピクチャI3とを参照する必要がある。これらのGOP(n-1)のピクチャP15と、GOP(n)のピクチャI3とのうち、表示順で先のGOP(n-1)のピクチャP15は、GOP(n)のピクチャB1またはB2の表示後に表示されないから、予備デコードピクチャとなるが、表示順で後のGOP(n)のピクチャI3は、GOP(n)のピクチャB1またはB2の表示後に表示されるので、予備デコードピクチャとはならない。
しかしながら、GOP(n)のピクチャI3は、GOP(n)のピクチャB1とB2の復号に参照されるため、ピクチャB1とB2よりも先に復号する必要がある。
従って、GOP(n)のピクチャB1またはB2を復号するにあたっては、その復号に先立って、予備デコードピクチャの他、GOP(n)のピクチャI3を復号しておく必要があり、このため、編集点が設定されているピクチャがB1またはB2である場合には、その編集点についてのデコードスタートポイントは、編集点から、予備デコードピクチャの復号に要する予備デコード時間にピクチャI3のデコード時間だけ加算した時間だけ前の時刻(または予備デコード時間にピクチャI3のデコード時間だけ加算した時間以上前の時刻)に設定される。
以上により、例えば、図18に示すような、編集点リストに記述されている各編集点に、予備デコードピクチャ、予備デコード時間、およびデコードスタートポイントを対応付けた編集点一覧表が作成される。
ここで、以上のステップS32乃至S34の処理が、図6のステップS2におけるスケジューリングに対応する。
その後、ステップS35に進み、コントローラ7は、デコーダ41乃至4Kが復号処理を行う準備が整っているかどうかを判定し、整っていないと判定した場合、ステップS35に戻る。また、ステップS35において、デコーダ41乃至4Kが復号処理を行う準備が整っていると判定された場合、ステップS36に進み、コントローラ7は、復号処理を開始させるデコーダ4nを特定する変数nに、初期値としての、例えば1をセットするとともに、スイッチャ5に選択させるデコーダ4mを特定する変数mに、初期値としての、例えば1とセットして、ステップS37に進む。
ステップS37では、コントローラ7は、編集点一覧表に記述された最初のIN点が設定されているピクチャからの復号を、デコーダ4nに開始させるとともに、デコーダ4mの復号出力を、スイッチャ5に選択させて出力させる。これにより、ディスプレイ6には、デコーダ4mが出力するデコード画像が表示される。
そして、ステップS38に進み、コントローラ7は、現在のタイミングが、編集点一覧表に記述されたいずれかのデコードスタートポイントのタイミングであるかどうかを判定する。
ステップS38において、現在のタイミングが、編集点一覧表に記述されたいずれのデコードスタートポイントのタイミングでもないと判定された場合、ステップS39乃至S42をスキップして、ステップS43に進む。
また、ステップS38において、現在のタイミングが、編集点一覧表に記述されたいずれかのデコードスタートポイントのタイミングであると判定された場合、ステップS39に進み、コントローラ7は、変数nを、例えば1だけインクリメントして、ステップS40に進む。
ここで、ステップS38で現在のタイミングと一致すると判定されたデコードスタートポイントを、以下、適宜、注目デコードスタートポイントという。
ステップS40では、コントローラ7は、変数nが、デコーダ41乃至4Kの個数Kより大の値となっているかどうかを判定する。ステップS40において、変数nが、Kより大の値になっていると判定された場合、ステップS41に進み、コントローラ7は、変数nを、1に初期化して、ステップS42に進む。
また、ステップS40において、変数nが、Kより大の値ではないと判定された場合、ステップS42に進み、コントローラ7は、編集点一覧表において、注目デコードスタートポイントに対応付けられている予備デコードピクチャからの復号を、デコーダ4nに開始させ、ステップS43に進む。
ステップS43では、コントローラ7は、デコーダ41乃至4Kのうちの復号処理を行っているもの(以下、適宜、復号中デコーダという)が復号しようとしている復号対象のピクチャが、IN点である編集点が設定されているピクチャであるかどうかを判定する。
ステップS43において、復号中デコーダにおける復号対象のピクチャが編集点が設定されているピクチャでないと判定された場合、ステップS44乃至S48をスキップして、ステップS49に進む。
また、ステップS43において、復号中デコーダにおける復号対象のピクチャが編集点が設定されているピクチャであると判定された場合、ステップS44に進み、コントローラ7は、現在復号処理を行っており、スイッチャ5がその復号出力を選択しているデコーダ4mを表す変数mを、変数m'にセットするとともに、変数mを、例えば1だけインクリメントして、ステップS45に進む。
ステップS45では、コントローラ7は、変数mが、デコーダ41乃至4Kの個数Kより大の値となっているかどうかを判定する。ステップS45において、変数mが、Kより大の値になっていると判定された場合、ステップS46に進み、コントローラ7は、変数mを、1に初期化して、ステップS47に進む。
また、ステップS45において、変数mが、Kより大の値ではないと判定された場合、ステップS47に進み、コントローラ7は、スイッチャ5を制御することにより、ステップS44で1だけインクリメントされた変数m、またはステップS46で1に初期化された変数mによって表されるデコーダ4mの復号出力を選択させて出力させる。
これにより、ディスプレイ6の表示画像は、ステップS44で1だけインクリメントされる前の変数m、またはステップS46で1に初期化される前の変数mがセットされている変数m'によって特定されるデコーダ4m'のデコード画像から、ステップS44で1だけインクリメントされた変数m、またはステップS46で1に初期化された変数mによって表されるデコーダ4mのデコード画像に切り替わる。
そして、ステップS48に進み、コントローラ7は、ステップS44で1だけインクリメントされる前の変数m、またはステップS46で1に初期化される前の変数mがセットされている変数m'によって特定されるデコーダ4m'の復号処理を停止させ、ステップS49に進む。
ここで、以上のステップS35乃至S48の処理が、図6のステップS3におけるデコード部4とスイッチャ5の制御に対応する。
ステップS49では、図6のステップS4における場合と同様に、コントローラ7は、ユーザによって、操作部8が再生を停止するように操作されたか否かを判定する。ステップS49において、操作部8が再生を停止するように操作されたと判定された場合、即ち、コントローラ7が、操作部8から、再生の停止を指示する操作信号(再生停止操作信号)を受信した場合、再生処理を終了する。
また、ステップS49において、操作部8が再生を停止するように操作されていないと判定された場合、ステップS50に進み、図6のステップS5における場合と同様に、コントローラ7は、ステップS31で読み出された編集点リストにしたがったMPEGストリームの再生が終了したかどうかを判定する。ステップS50において、編集点リストにしたがったMPEGストリームの再生が、まだ終了していないと判定された場合、ステップS38に戻り、以下、同様の処理が繰り返される。また、ステップS50において、編集点リストにしたがったMPEGストリームの再生が終了したと判定された場合、再生処理を終了する。
なお、図17のフローチャートにしたがった処理によれば、デコーダ41乃至4Kでは、デコーダ41,42,・・・,4K,41,42,・・・の順で復号処理が行われるとともに、スイッチャ5において、そのデコード画像が選択されるが、復号処理を行うデコーダの順番、およびスイッチャ5に選択させるデコーダの順番は、これに限られるものではない。
図17のフローチャートを参照して説明したように、図12のディスクシステムでは、コントローラ7は、光ディスク1から編集点リストを読み出し、その編集点リストから編集点一覧表を作成する。コントローラ7は、編集点一覧表に基づいて、複数のデコーダ41乃至4KによるMPEGストリームの復号を制御するから、編集点一覧表の情報は、その復号を制御する復号制御情報ということができる。
図12のディスクシステムは、復号制御情報を所定の書式に従って記述した復号制御リストを作成することができる。さらに、図12のディスクシステムは、復号制御リストが既に存在する場合には、その復号制御リストに基づいて、複数のデコーダ41乃至4KによるMPEGストリームの復号を制御することができる。
従って、図12のディスクシステムは、編集点リストにしたがって光ディスク1を再生する再生装置としての機能を有するとともに、編集点リストから復号制御リストを作成する復号制御リストの作成装置と、復号制御リストに従って光ディスク1を再生する再生装置としての機能を有する。なお、作成した復号制御リストに従って、光ディスク1を再生する場合には、図12のディスクシステムは、作成した復号制御リストを、例えば、コントローラ7内に保持し、その保持された復号制御リストに従って、光ディスク1を再生することもできるし、作成した復号制御リストを一度、光ディスク1に書き込み(記録し)、光ディスク1に記録された復号制御リストを読み込んで、光ディスク1を再生することもできる。
そこで、復号制御リストの作成装置(復号制御リストを作成する情報処理装置)と、復号制御リストにしたがって光ディスク1を再生する再生装置として機能する場合の図12のディスクシステムについて説明する。尚、図12の各ブロックにおいて、上述した処理と同様の処理を行う場合は、その説明を適宜省略する。
まず、復号制御リストの作成装置として機能する図12のディスクシステムについて説明する。なお、図12の光ディスク1には、例えば、動画像をMPEGエンコードして得られるMPEGストリームが記録されているものとする。また、光ディスク1には、そこに記録されているMPEGストリームを素材として編集が行われることにより作成された編集点リストも記録されているものとする。
コントローラ7は、例えば、操作部8からの操作信号などに対応して、復号制御リストを作成する。即ち、コントローラ7は、例えば、操作部8から、編集点リストから復号制御リストの作成を要求する操作信号を受信すると、ディスクドライブ2に、編集点リストを要求する。その要求に応じて、ディスクドライブ2が光ディスク1から編集点リストを読み出し、バス3上に出力すると、コントローラ7は、その編集点リストを受信し、その編集点リストに記述されている編集点を検出する。また、コントローラ7は、編集点リストから検出した編集点について、その編集点後に表示されるピクチャを復号するために先に復号する必要がある必要最小限の、表示されないピクチャを検出し、その表示されないピクチャの復号を開始するタイミングを表すスタートポイント(デコードスタートポイント)を算出する。
さらに、コントローラ7は、編集点リストから検出した編集点、編集点後に表示されるピクチャを復号するために先に復号する必要がある表示されないピクチャの数、その表示されないピクチャの復号を開始するタイミングを表すスタートポイント等の復号制御情報を記述した復号制御リストを作成し、バス3を介してディスクドライブ2に供給して記録させる。なお、復号制御リストの詳細については、図22で詳述する。
次に、図19のフローチャートを参照して、図12のディスクシステムが行う、編集点リストから復号制御リストを作成する復号制御リスト作成処理について説明する。
ユーザが、操作部8を、編集点リストから復号制御リストを作成するように操作すると、操作部8からコントローラ7に対して、復号制御リストの作成を指示する操作信号(復号制御リスト作成操作信号)が供給される。
コントローラ7は、操作部8から復号制御リスト作成操作信号を受信すると、ステップS61において、ディスクドライブ2に、編集点リストを要求し、これにより、ディスクドライブ2は、光ディスク1から編集点リストを読み出して、バス3上に出力する。コントローラ7は、バス3上の編集点リストを受信して、ステップS62に進み、その編集点リストに記述されているすべてのIN点とOUT点である編集点を検出する。また、コントローラ7は、検出した編集点後に表示されるピクチャを復号するために先に復号する必要がある必要最小限の、表示されないピクチャを検出し、その表示されないピクチャの復号を開始するタイミングを表すスタートポイントを算出する。さらに、コントローラ7は、検出した編集点、検出した表示されないピクチャの数、算出したスタートポイント等に基づいて、復号制御リストを作成する。即ち、コントローラ7は、検出した編集点、検出した表示されないピクチャの数、算出したスタートポイント等の復号制御情報を記述した復号制御リストを作成する。
そして、ステップS62からS63に進み、コントローラ7は、ステップS62で作成した復号制御リストをバス3上に出力する。ディスクドライブ2は、バス3上の復号制御リストを受信して、光ディスク1に書き込み、処理を終了する。
以上のように、図19の復号制御リスト作成処理によれば、図12のディスクシステムは、光ディスク1に記録されている編集点リストに基づいて、復号制御リストを作成し、光ディスク1に書き込む(記録する)ことができる。復号制御リストが記録された光ディスク1は、図23で後述する再生処理により、図12のディスクシステムにおいて再生することも可能であるし、複数のデコーダを有する、その他の装置で再生することも可能である。
次に、図20乃至図22を参照して、図19の復号制御リスト作成処理により作成される復号制御リストについて説明する。
いま、例えば、図20に示すような編集が行われたものとする。
ここで、素材としてのMPEGストリームに設定されたあるIN点から、そのIN点に対応するOUT点までのMPEGストリームを、クリップと呼ぶこととする。カット編集が行われた場合、そのカット編集結果は、複数のクリップのシーケンスとなる。
図20上側は、2つのMPEGストリーム301と302を素材データとして行われたカット編集の結果を示している。
ここで、図20において、MPEGストリーム301と302のファイル名は、それぞれ、../0001/video01.mpgと../0002/video02.mpgとなっている。なお、厳密には、../0001/video01.mpgのうちの”../0001/”は、ディレクトリ(フォルダ)名を表し、”video01.mpg”は、ファイル名を表す。また、ディレクトリ”../”は、カレントディレクトリの1つ上位のディレクトリを表す。”../0002/video02.mpg”についても同様である。
図20では、MPEGストリーム301に1セットのIN点とOUT点が設定されており、そのIN点とOUT点の間がクリップ#1とされている。また、MPEGストリーム302に1セットのIN点とOUT点が設定されており、そのIN点とOUT点の間がクリップ#2とされている。従って、クリップ#1は、ファイル../0001/video01.mpgの一部であり、クリップ#2は、ファイル../0002/video02.mpgの一部である。
MPEGストリーム301と302それぞれを構成する各フレームには、その表示タイミングを表す、いわゆるタイムコードTC(Time Code)が「(時):(分):(秒):(フレーム数)」の形で付されており、編集点(IN点とOUT点)は、そのタイムコードにより表される。
ここで、図20においては、クリップ#1のIN点が「TC=00:00:00:00」に、クリップ#1のOUT点が、「TC=00:05:00:12」に、それぞれ設定されている。また、クリップ#2のIN点は、「TC=00:10:00:03」に、クリップ#2のOUT点は、「TC=00:15:00:00」に、それぞれ設定されている。
いま、クリップ#1の再生後に、クリップ#2の再生が行われるように、カット編集が行われたものとする。また、図20の表示フレーム303に示すように、クリップ#1(MPEGストリーム301)のGOP(m)のピクチャA7にOUT点としての編集点が設定されるとともに、クリップ#2(MPEGストリーム302)のGOP(n)のピクチャC4にIN点としての編集点が設定されているものとする。この場合、編集後のMPEGストリームの再生時には、例えば、図20の出力フレーム304に示すように、デコーダ41に、クリップ#1のOUT点としての編集点が設定されたピクチャA7までを復号させて出力させ、出力フレーム305に示すように、デコーダ42に、クリップ#2のIN点としての編集点が設定されたピクチャC4からを復号させて出力させればよい。
但し、デコーダ42では、IN点としての編集点が設定されたピクチャ(フレーム)C4からの復号を行うために、表示されるピクチャを復号するのに参照される、表示されないピクチャを、編集点が設定されたピクチャC4の復号が開始される前に復号しておかなければならない。図20では、出力フレーム305に示すように、4つのピクチャC0,C1,C2,C3が、ピクチャC4の復号が開始される前に復号しなければならない予備デコードピクチャとなっている。従って、クリップ#2のIN点は、「TC=00:10:00:03」であるので、「TC=00:10:00:03」よりも4ピクチャ(予備デコード時間)前の「TC=00:09:59:29」がクリップ#2のデコードスタートポイントとなる。
図21は、図20で説明した編集が行われた場合に作成される編集点リストの例を示している。図21の編集点リストは、例えば、XML(eXtensible Markup Language)で定義される所定の言語によって記述することができる。
図21は、編集点リストのうちの、第1行目の開始タグである<body>タグから、第11行目の終了タグである</body>タグにより指定される範囲のコードの例を示している。なお、図21において、各行頭の数字と、コロン記号(:)は、説明の便宜上付加したものであり、コードの一部ではない。後述する図22と図24においても同様である。
図21の編集点リストは、クリップを特定する、素材データに設定された編集点を表すタイムコードと、編集後のデータとしてクリップを再生するタイミングを表すタイムコード等のリストであり、それらの情報が、第2行目の<par>タグから、第10行目の</par>タグまでの間に記述される。
第3行目の「<!--Clip1-->」は、その下の第4行目および第5行目に、クリップ#1に関するコードが記述されることを表している。なお、「<!--」から「-->」までの間には、コメントを記述することができる。
第4行目および第5行目の「<ref src="../0001/video01.mpg" begin = "smpte = 00:00:00:00" clipBegin = "smpte = 00:00:00:00" clipEnd = "00:05:00:12" />」のうち、「ref src="../0001/video01.mpg"」は、「../0001/video01.mpg」が、クリップ#1のMPEGストリームのファイル名であることを表し、「begin = "smpte=00:00:00:00"」は、クリップ#1の再生が、編集後のデータのタイムコード「TC = 00:00:00:00」から開始されることを表している。この「begin = "smpte=00:00:00:00"」は、省略することが可能である。また、「clipBegin = "smpte = 00:00:00:00"」は、クリップ#1のIN点が、ファイル../0001/video01.mpgのタイムコード「TC = 00:00:00:00」に設定されていることを表し、「clipEnd = "smpte=00:05:00:12"」は、クリップ#1のOUT点が、ファイル../0001/video01.mpgのタイムコード「TC = 00:05:00:12」に設定されていることを表している。なお、「smpte=」は、その後に続く情報がSMPTE(Society of Motion Picture and Television Engineers)の規格に準拠したタイムコードであることを表す。尚、ここでは、タイムコードを用いているがタイムコードを用いることは一例に過ぎず、各ピクチャの表示順(時間情報)が特定できる情報であれば良い。
第7行目の「<!--Clip2-->」は、その下の第8行目および第9行目に、クリップ#2に関するコードが記述されることを表している。
第8行目および第9行目の「<ref src="../0002/video02.mpg" begin = "smpte = 00:05:00:13" clipBegin = "smpte = 00:10:00:03" clipEnd = " 00:15:00:00" />」のうち、「ref src="../0002/video02.mpg "」は、「../0002/video02.mpg」が、クリップ#2のMPEGストリームのファイル名であることを表し、「begin = "smpte=00:05:00:13"」は、クリップ#2の再生が、編集後のデータのタイムコード「TC = 00:05:00:13」から開始されることを表している。なぜなら、図20で説明したように、クリップ#2のMPEGストリームは、クリップ#1のMPEGストリームの後に再生されるが、クリップ#1のMPEGストリームの再生時間は、第5行目に記述された、ファイル../0001/video01.mpgのタイムコード「TC = 00:00:00:00」からファイル../0001/video01.mpgのタイムコード「TC = 00:05:00:12」までの「00:05:00:12」だからである。また、「clipBegin = "smpte = 00:10:00:03"」は、クリップ#2のIN点がファイル../0002/video02.mpgのタイムコード「TC = 00:10:00:03」に設定されていることを表し、「clipEnd = "smpte=00:15:00:00"」は、クリップ#2のOUT点が、ファイル../0002/video02.mpgのタイムコード「TC = 00:15:00:00」に設定されていることを表している。
図22は、図20で説明した編集が行われることにより作成された図21の編集点リストから、図19の復号制御リスト作成処理により作成される復号制御リストの例を示す図である。なお、図22の復号制御リストは、例えば、図21の編集点リストと同様に、XMLで定義される所定の言語によって記述することができる。
図22の復号制御リストは、図21に示される編集点リストに、表示されないピクチャの復号を開始する復号開始時刻(デコードスタートポイント)を表す属性情報である、preDecBegin、および、IN点としての編集点が設定されているピクチャの復号の前に復号しておく必要のあるI,Pピクチャの数を表す属性情報であるpreDecDur が付加されている。
すなわち、第10行目の「preDecBegin="smpte=00:09:59:29"」は、第8行目および第9行目のコードにより指定されるクリップ#2の復号を、ファイル../0002/video02.mpgのタイムコード「TC=00:09:59:29」から開始することを指示する情報である。また、「preDecDur="4"」は、「TC=00:10:00:03」で表示すべきピクチャ(図20のピクチャC4)を復号するために、予め復号しておく必要があるI,Pピクチャの数が「4」(図20のピクチャC0乃至C3の4ピクチャ)であることを表している。
preDecBeginで指定されるタイムコード「TC=00:09:59:29」から、preDecBeginで指定される4つのピクチャC0乃至C3の復号を開始することで、図12のディスクシステムは、「TC=00:10:00:03」になったときに表示すべきクリップ#2の最初のピクチャC4を、シームレスに再生することができる。
なお、preDecBegin で指定される「TC=00:09:59:29」からの復号は、それまでに、第4行目および第5行目のコードで指定されるクリップ#1の復号を行っていたデコーダと異なるデコーダにより行われる。
また、図20では、preDecBeginを、クリップ#2のファイル../0002/video02.mpgのタイムコードで指定するようにしたが、preDecBeginは、その他、例えば、編集後のデータのタイムコードで指定することも可能である。この場合、preDecBeginは、「TC = 00:05:00:09」(「TC = 00:05:00:13」-4フレーム)となる。
以上のようにして、図12のディスクシステムにより復号制御リストが作成され、例えば、図12の光ディスク1に書き込まれる。
次に、復号制御リストにしたがって光ディスク1を再生する再生装置として機能する図12のディスクシステムついて説明する。
なお、図12の光ディスク1には、例えば、動画像をMPEGエンコードして得られるMPEGストリームと、編集点リストを基に作成された復号制御リストが記録されているものとする。
コントローラ7は、例えば、操作部8からの操作信号などに対応して、ディスクドライブ2や、デコード部4、スイッチャ5を制御する。即ち、コントローラ7は、例えば、操作部8から、復号制御リストによるMPEGストリームの再生を要求する操作信号を受信すると、ディスクドライブ2に、復号制御リストを要求する。その要求に応じて、ディスクドライブ2が光ディスク1から復号制御リストを読み出し、バス3上に出力すると、コントローラ7は、その復号制御リストを受信する。
そして、コントローラ7は、復号制御リストに基づいて、符号化データを復号するデコーダ41乃至4Kによる符号化データの復号を、ピクチャ単位で制御する。即ち、コントローラ7は、復号制御リストに復号制御情報として記述されている編集点、その編集点後に表示されるピクチャを復号するために先に復号する必要がある必要最小限の、表示されないピクチャの数、その表示されないピクチャの復号を開始するタイミングを表すスタートポイント等に基づいて、デコーダ41乃至4KによるMPEGストリームの復号を、ピクチャ単位で制御する。さらに、コントローラ7は、復号制御リストにに基づいて、スイッチャ5を制御することにより、スイッチャ5に、デコーダ41乃至4Kで復号されたピクチャのうちのいずれかを選択して出力させる。
次に、図23のフローチャートを参照して、図12のディスクシステムが、例えば、図22に示したような復号制御リストに基づいて行う再生処理について説明する。
ユーザが、操作部8を、復号制御リストによるMPEGストリームの再生を開始するように操作すると、操作部8からコントローラ7に対して、再生処理の開始を指示する操作信号(再生開始操作信号)が供給される。
コントローラ7は、操作部8から再生開始操作信号を受信すると、ステップS71において、ディスクドライブ2に、復号制御リストを要求し、これにより、ディスクドライブ2は、光ディスク1から復号制御リストを読み出して、バス3上に出力する。コントローラ7は、復号制御リストをバス3から受信して、ステップS72に進む。
ステップS72において、コントローラ7は、デコーダ41乃至4Kが復号処理を行う準備が整っているかどうかを判定し、整っていないと判定した場合、ステップS72に戻る。また、ステップS72において、デコーダ41乃至4Kが復号処理を行う準備が整っていると判定された場合、ステップS73に進み、コントローラ7は、復号処理を開始させるデコーダ4nを特定する変数nに、初期値としての、例えば1をセットするとともに、スイッチャ5に選択させるデコーダ4mを特定する変数mに、初期値としての、例えば1とセットして、ステップS74に進む。
ステップS74では、コントローラ7は、復号制御リストに記述された最初に再生すべきクリップのIN点が設定されているピクチャからの復号を、デコーダ4nに開始させるとともに、デコーダ4mの復号出力を、スイッチャ5に選択させて出力させる。これにより、ディスプレイ6には、デコーダ4mが出力するデコード画像が表示される。
そして、ステップS75に進み、コントローラ7は、現在のタイミングが、復号制御リストに記述されたいずれかのデコードスタートポイント、即ち、preDecBeginで指定されたタイムコードのタイミングであるかどうかを判定する。
ステップS75において、現在のタイミングが、復号制御リストに記述されたいずれのpreDecBeginで指定されたタイムコードのタイミングでもないと判定された場合、ステップS76乃至S79をスキップして、ステップS80に進む。
また、ステップS75において、現在のタイミングが、復号制御リストに記述されたいずれかのpreDecBeginで指定されたタイムコードのタイミングであると判定された場合、ステップS76に進み、コントローラ7は、変数nを、例えば1だけインクリメントして、ステップS77に進む。
ここで、ステップS75で現在のタイミングと一致すると判定されたタイムコードが指定されているpreDecBeginを、以下、適宜、注目preDecBeginという。
ステップS77では、コントローラ7は、変数nが、デコーダ41乃至4Kの個数Kより大の値となっているかどうかを判定する。ステップS77において、変数nが、Kより大の値になっていると判定された場合、ステップS78に進み、コントローラ7は、変数nを、1に初期化して、ステップS79に進む。
また、ステップS77において、変数nが、Kより大の値ではないと判定された場合、ステップS79に進み、コントローラ7は、復号制御リストにおいて、注目preDecBeginとともに記述されているpreDecDurで指定されるピクチャ数の予備デコードピクチャの復号を、デコーダ4nに開始させ、ステップS80に進む。
ステップS80では、コントローラ7は、デコーダ41乃至4Kのうちの復号処理を行っているもの(以下、適宜、復号中デコーダという)が復号しようとしている復号対象のピクチャが、IN点である編集点が設定されているピクチャ、即ち、復号制御リストに記述されたいずれかのclipBeginで指定されるタイムコードのピクチャであるかどうかを判定する。
ステップS80において、復号中デコーダにおける復号対象のピクチャがclipBeginで指定されるタイムコードのピクチャでないと判定された場合、ステップS81乃至S85をスキップして、ステップS86に進む。
また、ステップS80において、復号中デコーダにおける復号対象のピクチャがclipBeginで指定されるタイムコードのピクチャであると判定された場合、ステップS81に進み、コントローラ7は、現在復号処理を行っており、スイッチャ5がその復号出力を選択しているデコーダ4mを表す変数mを、変数m'にセットするとともに、変数mを、例えば1だけインクリメントして、ステップS82に進む。
ステップS82では、コントローラ7は、変数mが、デコーダ41乃至4Kの個数Kより大の値となっているかどうかを判定する。ステップS82において、変数mが、Kより大の値になっていると判定された場合、ステップS83に進み、コントローラ7は、変数mを、1に初期化して、ステップS84に進む。
また、ステップS82において、変数mが、Kより大の値ではないと判定された場合、ステップS84に進み、コントローラ7は、スイッチャ5を制御することにより、ステップS81で1だけインクリメントされた変数m、またはステップS83で1に初期化された変数mによって表されるデコーダ4mの復号出力を選択させて出力させる。
これにより、ディスプレイ6の表示画像は、ステップS81で1だけインクリメントされる前の変数m、またはステップS83で1に初期化される前の変数mがセットされている変数m'によって特定されるデコーダ4m'のデコード画像から、ステップS81で1だけインクリメントされた変数m、またはステップS83で1に初期化された変数mによって表されるデコーダ4mのデコード画像に切り替わる。
そして、ステップS85に進み、コントローラ7は、ステップS81で1だけインクリメントされる前の変数m、またはステップS83で1に初期化される前の変数mがセットされている変数m'によって特定されるデコーダ4m'の復号処理を停止させ、ステップS86に進む。
ステップS86では、コントローラ7は、ユーザによって、操作部8が再生を停止するように操作されたか否かを判定する。ステップS86において、操作部8が再生を停止するように操作されたと判定された場合、即ち、コントローラ7が、操作部8から、再生の停止を指示する操作信号(再生停止操作信号)を受信した場合、再生処理を終了する。
また、ステップS86において、操作部8が再生を停止するように操作されていないと判定された場合、ステップS87に進み、コントローラ7は、ステップS71で読み出された復号制御リストにしたがったMPEGストリームの再生が終了したかどうかを判定する。ステップS87において、復号制御リストにしたがったMPEGストリームの再生が、まだ終了していないと判定された場合、ステップS75に戻り、以下、同様の処理が繰り返される。また、ステップS87において、復号制御リストにしたがったMPEGストリームの再生が終了したと判定された場合、再生処理を終了する。
以上のように、図23の再生処理によれば、図12のディスクシステムは、光ディスク1に記録されている復号制御リストを読み出し、その復号制御リストに基づいて、光ディスク1に記録されたMPEGストリームを再生することができる。
従って、図19の復号制御リスト作成処理により復号制御リストが記録された光ディスク1を、図23の再生処理により、図12のディスクシステムにおいて再生することが可能である。また、他の装置で、復号制御リストが作成され、記録された光ディスク1を、図12のディスクシステムにおいて、図23の再生処理により再生することもできる。
また、図23の再生処理によれば、編集点リストが光ディスク1に記録されていなくても、復号制御リストが光ディスク1に記録されていれば、光ディスク1に記録されたMPEGストリームを、復号制御リストに基づいて再生することができる。
図24は、復号制御リストの他の例を示す図である。
図24に示される復号制御リストは、第6行目と第11行目に、デコーダを指定する記述が付加されている点を除いて、図22に示した復号制御リストと同様である。
なお、図24においては、デコーダを指定する記述である「decoder="0"」は、その記述が付加されるクリップ#1のデコードを、図12のディスクシステムのK個のデコーダ41乃至4Kのうちの、ある1つのデコーダ4Pにより行うことを表し、「decoder="1"」は、他の1つのデコーダ4Qにより行うことを表す。但し、P≠Qであり、PとQは、1乃至Kの範囲の整数値である。
即ち、図24の第6行目の「decoder="0"」は、第4行目および第5行目のコードにより指定されるクリップ#1のファイル../0001/video01.mpgの「TC=00:00:00:00」から「TC=00:05:00:12」までを、デコーダ4Pにより復号することを指定する。
第11行目の「decoder="1"」は、第9行目および第10行目のコードにより指定されるクリップ#2のファイル../0002/video02.mpgの、「TC=00:10:00:03」で表示すべきピクチャを復号するために予め復号しておく必要があるI,Pピクチャの復号時間を含めた「TC=00:09:59:29」から「TC=00:15:00:00」までを、デコーダ4Qにより復号することを指定する。
このように、復号制御リストとしては、デコーダを指定する情報(記述)を含めたものを作成することができる。この場合、図12のディスクシステムのコントローラ7は、復号制御リストのdecoderによって指定されたデコーダを選択し、MPEGストリームを復号させる。
即ち、デコーダを指定する情報が記述されていないときに行われる図23の再生処理では、K個のデコーダ41乃至4Kのうちの、デコーダ4nを特定する変数nとスイッチャ5に選択させるデコーダ4mを特定する変数mは、初めに1がセットされ、順にインクリメントされる。一方、図24に示すような、復号するデコーダが指定された復号制御リストにより復号する(再生処理を行う)場合には、図12のディスクシステムでは、復号制御リストのdecoderによって指定されたデコーダを認識し、preDecBeginで指定されたタイムコードのタイミングにおいて、その認識されたデコーダが復号を開始する。そして、clipBeginで指定されるタイムコードのピクチャが復号対象となったときに、その認識されたデコーダの復号出力が選択される。
次に、図25のフローチャートを参照して、図12のディスクシステムが行う、編集点リストが記録された光ディスク1から、例えば、図22に示したような復号制御リストを作成し、その復号制御リストに基づいてMPEGストリームを再生する再生処理について説明する。
ステップS121乃至S123では、図19のステップS61乃至S63とそれぞれ同様の処理が行われる。即ち、ステップS121乃至S123では、図12のディスクシステムは、光ディスク1に記録されている編集点リストに基づいて、復号制御リストを作成し、光ディスク1に書き込む。
ステップS124乃至S140では、図23のステップS71乃至S87とそれぞれ同様の処理が行われる。即ち、ステップS124乃至S140では、図12のディスクシステムは、光ディスク1に記録されている復号制御リストを読み出し、その復号制御リストに基づいて、光ディスク1に記録されたMPEGストリームを再生する。
なお、コントローラ7は、ステップS122で作成した復号制御リストを、例えば、コントローラ7内に保持することにより、ステップS123とS124の処理を省略することができる。
上述したコントローラ7による一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図26は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部108で受信し、内蔵するハードディスク105にインストールすることができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されており、CPU102は、入出力インタフェース110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部107が操作等されることにより指令が入力されると、それにしたがって、ROM (Read Only Memory) 103に格納されているプログラムを実行する。あるいは、また、CPU102は、ハードディスク105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部108で受信されてハードディスク105にインストールされたプログラム、またはドライブ109に装着されたリムーバブル記録媒体111から読み出されてハードディスク105にインストールされたプログラムを、RAM(Random Access Memory)104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本実施の形態では、編集されたMPEGストリームを再生することとしたが、本発明は、MPEGストリーム以外の、他のピクチャを参照して予測符号化を行うことにより得られる符号化データを再生する場合に適用可能である。
また、本実施の形態では、光ディスク1に編集点リストを記録しておき、コントローラ7において、その光ディスク1に記録された編集点リストを取得するようにしたが、編集点リストは、その他、例えば、光ディスク1以外の記録媒体や、インターネットその他の伝送媒体から取得するようにすることが可能である。復号制御リストについても、同様である。
また、本実施の形態では、GOPが、ピクチャB1,B2,I3,B4,B5,P6,B7,B8,P9,B10,B11,P12,B13,B14,P15で構成されるものとしたが、本発明は、BピクチャとPピクチャの一方を含まないものなど、これ以外のGOP構造のGOPにも適用可能である。さらに、本発明は、いわゆるクローズドGOPおよびオープンGOPのいずれにも適用可能である。
なお、GOP構造が、上述した場合と異なる場合には、予備デコードピクチャは、図11で説明したものと異なるものとなることがある。
また、本実施の形態では、光ディスク1に記録されたMPEGストリームを再生対象としたが、本発明は、光ディスク1以外の、例えば、磁気ディスクや、磁気テープ、半導体メモリ、その他の記録媒体に記録されたMPEGストリームや、インターネットや、衛星回線、その他の伝送媒体から伝送されてくるMPEGストリームを再生する場合にも適用可能である。
なお、図8、および図13乃至図15では、IN点である編集点が、ピクチャB1に限定されている場合において説明したが、図11で説明したように、ピクチャB1またはB2に編集点が設定されているケースが、予備デコードピクチャ数が最も多いケースである。従って、ピクチャB1またはB2に編集点が設定されている場合に、シームレスな再生が可能であれば、他のピクチャに編集点が設定されている場合は、当然にシームレスな再生が可能である。
また、本実施の形態では、コントローラ7において、編集点リストから、MPEGストリームに設定された編集点を検出するようにしたが、MPEGストリームに設定された編集点は、その他、例えば、ユーザが操作部8を操作することにより、コントローラ7に入力しても良いし、また、あらかじめ外部で検出しておいて、コントローラ7に入力しても良い。即ち、コントローラ7に対して、MPEGストリームにおける編集点を与える方法は、特に限定されるものではない。
また、本実施の形態では、編集点リストから復号制御リストを作成する装置と、復号制御リストを基に復号制御をする装置が同じ装置として説明したが、本発明はこれに限られず、編集点リストから復号制御リストを作成する装置と、復号制御リストを基に復号制御をする装置は、異なる装置であっても良い。