JP4631747B2 - 再生装置、再生方法および再生プログラム - Google Patents

再生装置、再生方法および再生プログラム Download PDF

Info

Publication number
JP4631747B2
JP4631747B2 JP2006056167A JP2006056167A JP4631747B2 JP 4631747 B2 JP4631747 B2 JP 4631747B2 JP 2006056167 A JP2006056167 A JP 2006056167A JP 2006056167 A JP2006056167 A JP 2006056167A JP 4631747 B2 JP4631747 B2 JP 4631747B2
Authority
JP
Japan
Prior art keywords
frame
playback
video data
speed
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006056167A
Other languages
English (en)
Other versions
JP2007235690A (ja
Inventor
仁志 内藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006056167A priority Critical patent/JP4631747B2/ja
Publication of JP2007235690A publication Critical patent/JP2007235690A/ja
Application granted granted Critical
Publication of JP4631747B2 publication Critical patent/JP4631747B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化された高解像度のビデオデータと、より低解像度のビデオデータとを用い、再生速度が1倍速以下では高解像度のビデオデータを出力し、1倍速を超える再生速度では低解像度のビデオデータを出力するようにした再生装置、再生方法および再生プログラムに関する。
ディジタルビデオ信号およびディジタルオーディオ信号を記録媒体に記録し、また、記録媒体から再生するようなデータ記録再生装置が知られている。ディジタルビデオ信号およびディジタルオーディオ信号を記録するための記録媒体としては、従来から、磁気テープのようなシリアルアクセスを行う記録媒体が多く用いられてきたが、近年では、光ディスク、ハードディスク、半導体メモリなどといった、ランダムアクセス可能な記録媒体が、ディジタルビデオ信号およびディジタルオーディオ信号の記録再生に多く用いられるようになってきている。
ディジタルビデオ信号は、データ容量が膨大となるため、所定の方式で圧縮符号化されて記録媒体に記録されるのが一般的である。近年では、MPEG2(Moving Picture Experts Group 2)方式が圧縮符号化の標準的な方式として知られている。MPEG2では、DCT(Discrete Cosine Transform)と動き補償とを用いてディジタルビデオ信号の圧縮符号化を行い、さらに可変長符号を用いてデータの圧縮率を高めている。
MPEG2のデータストリーム構造について、概略的に説明する。MPEG2は、動き補償予測符号化と、DCTによる圧縮符号化とを組み合わせたものである。MPEG2のデータ構造は、階層構造をなしており、下位から、ブロック層、マクロブロック層、スライス層、ピクチャ層、GOP層およびシーケンス層となっている。ブロック層は、DCTを行う単位であるDCTブロックからなる。マクロブロック層は、複数のDCTブロックで構成される。スライス層は、ヘッダ部と、1以上のマクロブロックより構成される。ピクチャ層は、ヘッダ部と、1以上のスライスとから構成される。ピクチャは、1画面に対応する。
GOP層は、ヘッダ部と、フレーム内符号化に基づくピクチャであるI(Intra-coded)ピクチャと、予測符号化に基づくピクチャであるP(Predictive-coded)ピクチャB(Bi-directionally predictive coded)ピクチャとから構成される。Iピクチャは、それ自身の情報のみでデコードが可能であり、PおよびBピクチャは、基準画像として前あるいは前後の画像が必要とされ、単独ではデコードされない。例えばPピクチャは、自身より時間的に前のIピクチャまたはPピクチャを基準画像として用いてデコードされる。また、Bピクチャは、自身の前後のIピクチャまたはPピクチャの2枚のピクチャを基準画像として用いてデコードされる。最低1枚のIピクチャを含むそれ自身で完結したグループをGOP(Group Of Picture)と呼び、MPEGのストリームにおいて独立してアクセス可能な最小の単位とされる。
GOPは、1または複数のピクチャから構成される。以下では、便宜上、1枚のIピクチャのみで構成されるGOPをシングルGOPと呼び、Iピクチャと、Pおよび/またはBピクチャとからなる複数のピクチャで構成されるGOPをロングGOPと呼ぶことにする。シングルGOPでは、GOPをIピクチャのみから構成することで、フレーム単位での編集が容易とされると共に、フレーム間の予測符号化を行わないために、より高画質を得ることができる。一方、ロングGOPでは、フレーム間の予測符号化を行うために、圧縮効率がよいという利点がある。
なお、ロングGOPにおいて、GOP内で完全にデコードが可能な、閉じた構造を持つクローズドGOPと、デコードの際に符号化順で1つ前のGOPの情報を用いることができるオープンGOPとの2種類がある。オープンGOPは、クローズドGOPと比較して、より多くの情報を用いてデコードできるため高画質を得られ、一般的に用いられている。以下では、単に「GOP」と記述した場合には、特に記載のない限り、このオープンGOPを指すものとする。
ビデオ信号のフォーマットとして、従来から、ビットレートが25Mbps(メガビットパーセカンド)のSD(Standard Definition)フォーマットが知られている。特に放送局などで使用される映像機器においては、SDフォーマットのビデオ信号を上述したシングルGOPで用い、高画質と高精度の編集環境とを実現していた。
一方、近年では、ディジタルハイビジョン放送などの実施に伴い、SDフォーマットより高解像度とされた、HD(High Definition)フォーマットが用いられるようになってきた。HDフォーマットは、高解像度に伴いビットレートが高くなっており、シングルGOPでは記録媒体に対して長時間の記録ができない。そこで、HDフォーマットのビデオ信号を上述したロングGOPで用いる。
図25を用いて、ロングGOPの場合のデコード処理について説明する。ここでは、1GOPが1枚のIピクチャ、4枚のPピクチャおよび10枚のBピクチャの、計15枚のピクチャから構成されるものとする。GOP内のI、PおよびBピクチャの表示順は、図25Aに一例が示されるように、「B01234567891011121314」のようになる。なお、添え字は表示順を示す。
この例では、最初の2枚のB0ピクチャおよびB1ピクチャは、1つ前のGOPにおける最後尾のP14ピクチャと、このGOP内のI2ピクチャを用いて予測されデコードされたピクチャである。GOP内の最初のP5ピクチャは、I2ピクチャから予測されデコードされたピクチャである。他のP8ピクチャ、P11ピクチャおよびP14は、それぞれ1つ前のPピクチャを用いて予測されデコードされたピクチャである。また、Iピクチャ以降の各Bピクチャは、それぞれ前後のIおよび/またはPピクチャから予測されデコードされたピクチャである。
一方、Bピクチャは、時間的に前後のIまたはPピクチャを用いて予測されデコードされるため、ストリームや記録媒体上におけるI、PおよびBピクチャの並び順は、デコーダにおけるデコードの順序を考慮して決める必要がある。すなわち、BピクチャをデコードするためのIおよび/またはPピクチャは、当該Bピクチャよりも常に先にデコードされていなければならない。
上述の例では、ストリームや記録媒体上の各ピクチャの配列は、図25Bに例示されるように、「I20153486711910141213」のようになり、この順でデコーダに入力される。なお、添え字は、図25Aに対応し、表示順を示す。
デコーダにおけるデコード処理は、図25Cに示されるように、先ずI2ピクチャをデコードし、デコードされたこのI2ピクチャと1つ前のGOPにおける最後尾(表示順)のP14ピクチャとによりB0ピクチャおよびB1ピクチャを予測しデコードする。そして、B0ピクチャおよびB1ピクチャをデコードされた順にデコーダから出力し、次にI2ピクチャを出力する。B1ピクチャが出力されると、次にP5ピクチャがI2ピクチャを用いて予測されデコードされる。そして、I2ピクチャおよびP5ピクチャを用いてB3ピクチャおよびB4ピクチャが予測されデコードされる。そして、デコードされたB3ピクチャおよびB4ピクチャをデコードされた順にデコーダから出力し、次にP5ピクチャを出力する。
以下、同様にして、Bピクチャの予測に用いるPまたはIピクチャをBピクチャより先にデコードし、このデコードされたPまたはIピクチャを用いてBピクチャを予測してデコードし、デコードされたBピクチャを出力してから、当該Bピクチャをデコードするために用いたPまたはIピクチャを出力する処理が繰り返される。記録媒体上やストリームにおける図25Bのようなピクチャ配列は、一般的に用いられるもので、デコードに4フレーム分のフレームメモリが必要となる。非特許文献1には、このようにしてMPEG2のエレメンタリストリームをデコードする方法が記載されている。
藤原 洋、「ポイント図解式・最新MPEG教科書」、初版、株式会社アスキー、1994年8月1日、p.106
このような、ビデオ信号にロングGOPを用いた場合の順方向への1倍速再生は、1フレーム分の時間で1フレームのピクチャのデコード結果が得られるデコーダ(1倍速デコーダと呼ぶ)を用いて可能である。
ところで、上述のHDフォーマットのように高解像度のビデオデータ(以下、本線ビデオデータと呼ぶ)に基づき、より低解像度および低ビットレートのビデオデータ(以下、補助ビデオデータと呼ぶ)を生成し、本線ビデオデータと共に記録媒体に記録するようにした技術が実用化されている。例えばシャトル再生といった、再生速度を1倍速より高速の状態で可変させて再生を行う場合、本線ビデオデータは、記録媒体からの読み出しが間に合わなくなることがある。また、シャトル再生においては、一般的に、高画質は要求されない。そのため、再生速度が1倍速若しくは1倍速以下の場合には、本線ビデオデータを再生し、再生速度が1倍速以上の場合に補助ビデオデータを用いるようにする。
ここで、本線ビデオデータを、上述のロングGOPにより圧縮符号化を行った場合において、補助ビデオデータを用いる例について考える。ロングGOPでは、上述したように、目標とするピクチャのデコードが当該目標ピクチャの前後のピクチャを用いて行われる場合がある。すなわち、目標ピクチャがIピクチャでなければ、復号化には、目標ピクチャの前のピクチャ(Pピクチャの場合)、または、目標ピクチャの前後のピクチャ(Bピクチャの場合)が必要とされる。
そのため、本線ビデオデータを、1フレーム時間に1フレームの出力を行う1倍速デコーダを用いてデコードした場合、例えばシャトル再生により1倍速以上の再生速度で補助ビデオデータが再生された状態から、再生速度が1倍速へと変化して、再生するビデオデータが補助ビデオデータから本線ビデオデータに切り替わる際に、出力が停止してしまうことがあるという問題点があった。
例えば、本線ビデオデータにおいて、1GOPが上述の「B01234567891011121314」(表示順)という、1枚のIピクチャ、4枚のPピクチャおよび10枚のBピクチャからなる場合を考える。この場合において、シャトル再生から再生速度が1倍速に変化した時点で本線ビデオデータにおいて出力すべきフレームがP14ピクチャによるフレームであった場合、I2ピクチャ、P5ピクチャ、P8ピクチャおよびP11ピクチャの4枚のピクチャをデコードする必要があり、その間、出力が停止してしまうことになる。
また、出力を停止させないために、例えばシャトル再生から再生速度が1倍速に変化した時点でIピクチャをデコードして出力することも考えられる。しかしながら、この場合には、当該Iピクチャよりも再生順で後ろのピクチャが目標ピクチャであったときに、再生されるフレームが時間的に逆行することになり、好ましくない。
したがって、この発明の目的は、補助ビデオデータによる再生速度が1倍速以上のシャトル再生から、再生速度が1倍速若しくは1倍速以下に変化して、再生されるビデオデータが補助ビデオデータから本線ビデオデータに切り替わる際に、適切な表示が行われるようにした再生装置、再生方法および再生プログラムに関する。
この発明は、上述した課題を解決するために予測符号化によるフレーム間圧縮を用いて圧縮符号化された第1のビデオデータと、第1のビデオデータに基づくデータであって第1のビデオデータに対してより伝送レートが低くされた第2のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、第1のビデオデータと第2のビデオデータとをそれぞれ読み出す再生部と、再生部で読み出された第1のビデオデータを、1フレーム時間に1フレームを出力するようにデコードし、デコードされた第1のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第1のデコード部と、再生部で読み出された第2のビデオデータをデコードする第2のデコード部と、出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも1倍速を超えた再生速度から1倍速の再生速度まで可変的に指示する再生指示部と、再生指示部の出力するビデオデータのフレームの指示と、ビデオデータの再生速度の指示とに応じて再生部、第1のデコード部および第2のデコード部を制御する制御部とを有し、制御部は、再生指示部によりビデオデータの1倍速を超えた再生速度が指示されているときは第2のデコード部の出力を選択し、再生指示部の指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に再生速度が1倍速とされたときに、記録媒体から第1のビデオデータの読み出しを開始し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第2のデコード部から第1のデコード部に切り換え、さらに、出力が指示される目標再生フレームに対するフレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在の上記フレームバッファの状態と、次に出力されるべき目標再生フレームに対応する目標パターンとを比較し、比較結果に基づき、目標パターンに含まれ、且つ、現在のフレームバッファに含まれていないフレームのうち、目標パターン内で優先順位が最も高く設定されたフレームの第1のビデオデータを記録媒体から読み出すように再生部を制御するようにされ、第1のビデオデータの上記読み出しの開始は、再生指示部の指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に、再生指示部の指示に応じて再生速度が1倍速とされたときに、記録媒体からの目標パターンに基づく優先順位に従いなされるように制御され、優先順位においては、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは隣接フレームをデコードするために用いられるフレームが、次の順位に設定されることを特徴とする再生装置である。
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化された第1のビデオデータと、第1のビデオデータに基づくデータであって第1のビデオデータに対してより伝送レートが低くされた第2のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、第1のビデオデータと第2のビデオデータとをそれぞれ読み出す再生のステップと、再生のステップにより読み出された第1のビデオデータを、1フレーム時間に1フレームを出力するようにデコードし、デコードされた第1のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第1のデコードのステップと、再生のステップで読み出された第2のビデオデータをデコードする第2のデコードのステップと、出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも1倍速を超えた再生速度から1倍速の再生速度まで可変的に指示する再生指示のステップと、再生指示のステップの出力するビデオデータのフレームの指示と、ビデオデータの再生速度の指示とに応じて再生のステップ、第1のデコードのステップおよび第2のデコードのステップを制御する制御のステップとを有し、制御のステップは、再生指示のステップによりビデオデータの1倍速を超えた再生速度が指示されているときは第2のデコードのステップによる出力を選択し、再生指示のステップの指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に上記再生速度が1倍速とされたときに、記録媒体から第1のビデオデータの読み出しを開始し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第2のデコードのステップから第1のデコードのステップに切り換え、さらに、出力が指示される目標再生フレームに対するフレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在のフレームバッファの状態と、次に出力されるべき目標再生フレームに対応する目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で優先順位が最も高く設定されたフレームの第1のビデオデータを記録媒体から読み出すように再生のステップを制御し、第1のビデオデータの読み出しの開始は、再生指示のステップによる指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に、上記再生指示のステップによる指示に応じて再生速度が1倍速とされたときに、記録媒体からの目標パターンに基づく優先順位に従いなされるように制御され、 優先順位においては、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは隣接フレームをデコードするために用いられるフレームが、次の順位に設定されることを特徴とする再生方法である。
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化された第1のビデオデータと、第1のビデオデータに基づくデータであって第1のビデオデータに対してより伝送レートが低くされた第2のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、第1のビデオデータと第2のビデオデータとをそれぞれ読み出す再生のステップと、再生のステップにより読み出された第1のビデオデータを、1フレーム時間に1フレームを出力するようにデコードし、デコードされた第1のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第1のデコードのステップと、再生のステップで読み出された第2のビデオデータをデコードする第2のデコードのステップと、出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも1倍速を超えた再生速度から1倍速の再生速度まで可変的に指示する再生指示のステップと、再生指示のステップの出力するビデオデータのフレームの指示と、ビデオデータの再生速度の指示とに応じて再生のステップ、第1のデコードのステップおよび第2のデコードのステップを制御する制御のステップとを有し、制御のステップは、再生指示のステップによりビデオデータの1倍速を超えた再生速度が指示されているときは第2のデコードのステップによる出力を選択し、再生指示のステップの指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に上記再生速度が1倍速とされたときに、記録媒体から第1のビデオデータの読み出しを開始し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第2のデコードのステップから第1のデコードのステップに切り換え、さらに、出力が指示される目標再生フレームに対するフレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在のフレームバッファの状態と、次に出力されるべき目標再生フレームに対応する目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で優先順位が最も高く設定されたフレームの第1のビデオデータを記録媒体から読み出すように再生のステップを制御し、第1のビデオデータの読み出しの開始は、再生指示のステップによる指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に、上記再生指示のステップによる指示に応じて再生速度が1倍速とされたときに、記録媒体からの目標パターンに基づく優先順位に従いなされるように制御され、 優先順位においては、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは隣接フレームをデコードするために用いられるフレームが、次の順位に設定される再生方法をコンピュータ装置に実行させるようにしたことを特徴とする再生プログラムである。
上述したように、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化された第1のビデオデータと、第1のビデオデータに基づくデータであって第1のビデオデータに対してより伝送レートが低くされた第2のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、第1のビデオデータと第2のビデオデータとをそれぞれ読み出し、ビデオデータの1倍速を超えた再生速度が指示されているときは第2のビデオデータのデコード出力を選択し、ビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に再生速度が1倍速とされたときに、記録媒体から第1のビデオデータの読み出しを開始し、読み出された第1のビデオデータを、1フレーム時間に1フレームを出力するようにデコードして複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第2のビデオデータのデコード出力から第1のビデオデータのデコード出力へと切り換えるようにしているため、ビデオデータの再生速度が1倍速を超える速度とされ第2のビデオデータのデコード出力が選択されている状態から、再生速度が1倍速を超える速度から1倍速へと変化させられ、第1のビデオデータのデコード出力が選択されている状態へ遷移しても、フレームの連続的な出力が可能である。
この発明は、上述したように、予測符号化によるフレーム間圧縮を用いて圧縮符号化された第1のビデオデータと、第1のビデオデータに基づくデータであって第1のビデオデータに対してより伝送レートが低くされた第2のビデオデータが記録された、ランダムアクセスが可能な記録媒体から、第1のビデオデータと第2のビデオデータとをそれぞれ読み出し、ビデオデータの1倍速を超えた再生速度が指示されているときは第2のビデオデータのデコード出力を選択し、ビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に再生速度が1倍速とされたときに、記録媒体から第1のビデオデータの読み出しを開始し、読み出された第1のビデオデータを、1フレーム時間に1フレームを出力するようにデコードして複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第2のビデオデータのデコード出力から第1のビデオデータのデコード出力へと切り換えるようにしているため、ビデオデータの再生速度が1倍速を超える速度とされ第2のビデオデータのデコード出力が選択されている状態から、再生速度が1倍速を超える速度から1倍速へと変化させられ、第1のビデオデータのデコード出力が選択されている状態へ遷移しても、フレームの連続的な出力が可能とされ、表示される画像においても違和感が生じることがないという効果がある。
以下、この発明について、下記の順序に従い説明する。
1.この発明に適用されるシステムについて
1−1.再生制御処理の概念的な説明
1−2.再生装置の一例の構成
1−3.デコーダの一例の構成
1−4.光ディスクのフォーマットについて
1−5.再生制御処理のより詳細な説明
1−5−1.目標フレームバッファパターンの作成
1−5−2.目標フレームバッファの一例の更新パターン
1−5−3.優先順位付き目標フレームバッファ更新パターン
1−5−4.優先順位付き目標フレームバッファパターン作成の流れ
1−5−5.優先順位付き目標フレームバッファ更新パターンの他の例
1−5−6.優先順位付き目標フレームバッファ更新パターンのさらに他の例
1−5−7.優先順位付きフレームバッファの更新パターンに基づく再生制御動作
2.この発明の実施の一形態について
2−1.再生装置の一例の構成
2−2.再生制御処理について
1.この発明に適用されるシステムについて
先ず、この発明の実施形態の説明に先んじて、この発明に適用されるシステムについて説明する。
1−1.再生制御処理の概念的な説明
図1は、この発明に適用されるシステムにおける、順方向または逆方向について再生速度が1倍速以内の場合の再生制御処理を概念的に示す。ステップS1で、次に再生すべき目標再生フレームが指示される。目標再生フレームは、例えば再生速度が順方向または逆方向に1倍速以内の場合、1フレームタイミング前で確定した目標再生フレームに対して表示順で隣接するフレームの範囲となる。目標再生フレームは、例えばより上位のシステムから指定され、フレームタイミング毎に供給される。
目標再生フレームが指示されると、次に、目標再生フレームに対する目標フレームバッファのパターンが作成される(ステップS2)。目標フレームバッファのパターンは、目標再生フレームを再生すると共に、逆方向および順方向への再生を継続するために、フレームバッファ上にデコードされた状態で溜め込まれている必要があるフレームのパターンである。次のステップS3で、作成された目標フレームバッファパターンと現在のフレームバッファの状態とが比較される。この比較により、現在のフレームバッファの状態に対して新規にデコードが必要なピクチャが抽出される(ステップS4)。それと共に、現在のフレームバッファに空き領域が無い場合、不要なピクチャが抽出される(ステップS5)。ステップS4抽出されるピクチャは、常に1ピクチャである。また、ステップS5でピクチャの抽出が行われる場合は、常に1ピクチャが抽出される。
ここまでが、実際にデコードを行うためのターゲットを作成する処理となる。次から、実際にデコーダが制御され、デコード処理が開始される。
ステップS6では、例えば記録媒体がアクセスされ、ステップS4で抽出された結果に基づき所定のピクチャがデコーダに対してストリーム入力される。デコーダでデコードされたピクチャは、フレームバッファ上の、上述のステップS5で抽出された不要ピクチャの領域に上書きされる(ステップS7)。1ピクチャ分のデコードが完了すると、デコード済みの出力フレーム画像として出力される(ステップS8)。
1−2.再生装置の一例の構成
図2は、この発明のシステムに適用可能な再生装置1の一例の構成を概略的に示す。再生装置1は、光ディスク10を記録媒体として用いる。CPU(Central Processing Unit)14は、ROM(Read Only Memory)およびRAM(Random Access Memory)が接続され(図示しない)、ROMに予め記憶されたプログラムに従いこの再生装置1の各部を制御する。RAMは、CPU14のワークメモリとして用いられる。
ディスクドライブ11は、CPU14の制御に基づき、装填された光ディスク10の所定のアドレスからデータを読み出す。読み出されたデータは、キャッシュメモリ12に一時的に溜め込まれる。そして、CPU14の命令に基づき、キャッシュメモリ12からデコーダ13に対してビデオストリームが供給され、要求に応じて入力されたビデオストリームをフレームメモリ13Aを用いてデコードする。デコード出力は、ベースバンドのビデオ信号として出力される。
操作部15は、キーやスイッチなどの様々な操作子が設けられ、操作子に対してなされた操作に応じた制御信号を生成し、CPU14に供給する。CPU14は、供給されたこの制御信号に応じて再生装置1の各部に対して命令を送る。操作部15には、例えばジョグダイヤル16が設けられる。ジョグダイヤル16は、回転角に応じた信号が出力されるようになっており、例えば、ジョグダイヤル16は、ユーザによる操作に応じて、再生方向について順方向および逆方向の指定を行うための制御信号や、再生速度を略リアルタイムで指示する制御信号などを生成し、CPU14に供給する。
ジョグダイヤル16を所定に操作することで、順方向および逆方向に1倍速以上の再生速度で、可変速で再生を行うシャトル再生を指示することができる。例えば、ジョグダイヤル16が正逆の所定の角度以上に回転されると、回転角に応じて順方向または逆方向の1倍速以上の再生速度を指定する制御信号が生成される。ジョグダイヤル16の回転角の変化に応じて、再生速度を指示する制御信号も略リアルタイムに変化される。ジョグダイヤル16の回転角が正逆の所定角度で順方向または逆方向に1倍速の再生速度が指示され、正逆の所定角度以下で順方向または逆方向の1倍速以下の再生速度が指示される。
インターフェイス(I/F)17は、上位の装置との間でコマンドやステータスなどのやりとりを行う。例えば、編集装置がインターフェイス17を介してこの再生装置1に接続される。再生速度や方向といった再生制御コマンドや、IN点およびOUT点といった編集点を示すデータ、編集開始指示といった編集コマンドが編集装置から送信され、インターフェイス17で受信され、CPU14に渡される。
同期信号入力部18は、外部から例えばフレームタイミングを示す所定の同期信号が入力される。再生装置1は、この同期信号入力部18に対して入力された同期信号に基づき動作することができる。
この再生装置1で扱われるビデオストリームは、MPEG2(Moving Pictures Experts Group 2)の規格に準じて圧縮符号化がなされたストリームであって、GOP(Group Of picture)の構成は、ロングGOPおよびオープンGOPであるものとする。
1−3.デコーダの一例の構成
図3は、デコーダ13の一例の構成を概略的に示す。光ディスク10から読み出され、ディスクドライブ11から出力されるストリームデータは、例えばMPEG−ES(MPEG Elementally Stream)である。このMPEG−ESは、ストリームデコーダ20に供給される。ストリームデコーダ20は、入力されたMPEG−ESのパケットとヘッダ情報とを解析し、デコード処理に必要な各種パラメータと、圧縮符号化されパケット中のペイロードに格納されたピクチャのデータとを抽出する。各種パラメータは、例えばCPU14に供給される。抽出されたピクチャデータは、ストリームバッファ21に所定に溜め込まれる。
MPEGデコーダ22は、ストリームデコーダ20に対してストリームバッファ21に溜め込まれたピクチャデータを要求し、要求に応じてストリームバッファ21から読み出されたピクチャデータをデコードしてフレームメモリ13Aに書き込む。また、MPEGデコーダ22は、フレームメモリ13Aに書き込まれたピクチャデータを用いて他のピクチャデータ(例えばPピクチャやBピクチャ)をデコードする処理も行う。
なお、詳細は後述するが、フレームメモリ13Aは、順方向の再生と逆方向の再生とを固定的な遅延で実行可能とするための必要十分な容量を有する。例えば、フレームメモリ13Aは、デコードされたピクチャの9フレーム分を溜め込めるだけの容量を有する。一例として、フレームメモリ13Aは、それぞれ1フレーム分のデータを格納可能な9個のバンクに記憶領域が分割され、バンク毎にアクセスが制御される。
出力データ制御部23は、出力されるビデオデータの管理を行う。例えば、出力データ制御部23は、上位のシステムなどからインターフェイス17を介して供給されたコマンドや、操作部15に対する操作に応じたCPU14の命令に基づき、フレームメモリ13Aから次に表示するためのフレームデータを読み出す。読み出されたフレームデータは、ベースバンドのビデオ信号として出力される。
図4は、デコーダ13の一例の構成をより具体的に示す。なお、図4において、上述する図3と共通する部分には同一の符号を付して詳細な説明を省略する。ディスクドライブ11から出力されたMPEG−ESは、デマルチプレクサ(DMUX)30に供給され、パケットが解析される。パケットから取り出されたMPEG ESおよびヘッダ情報は、ストリームバッファ21に溜め込まれる。パケットのヘッダ情報は、また、ユーザデータデコーダ31に供給され、各種パラメータが抽出される。抽出されたパラメータは、ストリームバッファ21に所定に溜め込まれる。
デコーダ32は、ストリームバッファ21に溜め込まれたヘッダ情報やMPEG ESをデコードする。デコーダ32は、ヘッダ情報のデコードを行いピクチャのデコードに必要なパラメータを取り出す。デコーダ32は、ヘッダ情報から取り出されたパラメータに基づき、MPEG ESに対して、可変長符号のデコード、逆量子化および逆DCT(Discrete Cosine Transform)を行い、ピクチャ毎のデコードを行う。デコーダ32でデコードされたピクチャデータは、予測復元部33を介してフレームメモリ13Aに書き込まれる。
予測復元部33は、フレームメモリ13Aに書き込まれたピクチャデータを用いて、予測符号化を用いてフレーム間圧縮をされたピクチャをデコードする。フレーム間圧縮をデコードされたピクチャは、フレームデータとしてフレームメモリ13Aに再び書き込まれる。
一方、上位のシステムなどから、再生方向や再生速度、再生フレームなどを命令するコマンドが送信され、インターフェイス17を介してCPU14に供給される。また、ユーザの、再生方向および再生速度を指定するためのジョグダイヤル16に対する操作などにより、操作部15で、再生速度や再生方向を示す制御信号が所定に生成され、CPU14に供給される。
CPU14は、ROM35に予め記憶されたプログラムに従い、インターフェイス17を介して供給されたコマンドや、操作部15から供給された制御信号に基づき、ビデオ出力部23に対して命令を出し、出力すべきフレームを指示する。なお、RAM36は、必要に応じてCPU14のワークメモリとして用いられる。ビデオ出力部23は、この命令に応じてフレームメモリ13Aから指示されたフレームを読み出す。
読み出されたフレームは、補助データ重畳部34に供給され、ストリームバッファ21に溜め込まれた情報に基づき所定にビデオインデックス情報や補助データなどが重畳され、さらに同期信号を付加されて、出力ビデオ信号として出力される。
1−4.光ディスクのフォーマットについて
次に、光ディスク10について説明する。先ず、図5を用いて、ディスク状記録媒体における一例のデータ配置について説明する。この図5に一例が示されるデータ配置は、記録可能な光ディスク、ハードディスクといった、ランダムアクセスが可能なディスク状記録媒体における一般的なデータ配置である。論理アドレス空間は、任意のデータを記録再生可能な領域である。
このシステムには、記録媒体として光ディスクが適用されるものとする。なお、このシステムに適用可能な記録媒体は、光ディスクに限られない。すなわち、このシステムは、ハードディスクドライブや半導体メモリといった、他のランダムアクセス可能な記録媒体にも適用できるものである。
論理アドレスの先端および後端には、ファイルシステムFSが配置される。任意のデータは、論理アドレス空間内に一般的にファイルと称される所定の形式で記録される。記録媒体上のデータは、基本的にファイル単位で管理される。ファイルの管理情報は、ファイルシステムFSに記録される。記録再生装置のシステム制御部(後述する)のファイルシステム層は、このファイルシステムFSの情報を参照および操作することで、多種多様なデータを一つの記録媒体上で管理することができる。ファイルシステムFSは、例えばUDF(Universal Disk Format)が用いられ、2kB単位でファイルを管理する。
論理アドレス空間の外に、交替領域が配置される。交替領域は、記録媒体の一部が欠陥(ディフェクト)により物理的に読み書きできなくなった場合に代替的に用いることができる領域である。例えば、記録媒体に対するアクセス(特に記録時のアクセス)の際に欠陥領域が認識された場合、通常は交替処理が行われ、当該欠陥領域のアドレスが交替領域内に移動される。
交替領域の使用状況は、所定領域にディフェクトリストとして記憶され、記録再生装置のドライブ制御部や、システム制御部の下位階層により用いられる。すなわち、後述するドライブ制御部やシステム制御部の下位階層では、記録媒体へのアクセスの際にディフェクトリストを参照することで、交替処理が行われている場合にも、適切な領域へのアクセスを行うことができる。交替領域のこの仕組みにより、上位アプリケーションは、記録媒体上の不良記録領域の有無や位置などを考慮することなく、記録媒体に対するデータの記録再生を行うことができる。
ディスク状記録媒体の場合、交替領域は、ディスクの最内周側または最外周側に配置されることが多い。ディスクの回転制御を、ディスクの半径方向に段階的に回転速度を変更するゾーン制御で行っている場合には、ゾーン毎に交替領域を設ける場合もある。記録媒体が半導体メモリなどディスク状記録媒体ではない場合には、物理アドレスが最も小さい側または最も大きい側に配置されることが多い。
オーディオデータおよびビデオデータ(以下、まとめてAVデータと呼ぶ)を扱うアプリケーションにおいては、連続同期再生、すなわち実時間再生が保障された再生が必要な単位となるデータのまとまりを、クリップと呼ぶ。例えば、ビデオカメラにより撮影が開始されてから終了されるまでのひとまとまりのデータがクリップとされる。クリップの実体は、単一のファイルまたは複数のファイルからなる。このシステムにおいては、クリップは、複数のファイルからなる。クリップの詳細については、後述する。
論理アドレス空間に対して、例えば先頭側にクリップ以外の任意のファイルが記録できるNRT(Non Real Time)領域が配置され、NRT領域の次から、クリップが順に詰め込まれていく。クリップは、光ディスク10上のディフェクト位置を避けて配置され、上述した交替処理が行われないようにされる。各クリップには、ヘッダ(H)およびフッタ(F)が付加される。この例では、ヘッダおよびフッタは、クリップの後端側にまとめて配置されている。
なお、以下の説明において、光ディスク10に最初に記録されるクリップを、クリップ#1とし、以降、クリップ#2、クリップ#3、・・・とクリップ番号が増加していくものとする。
論理アドレス空間内において、データが記録されていない領域や、過去にデータが記録されていたが現在では不要になった領域は、未使用領域としてファイルシステムFSに管理される。記録媒体上に新たに記録されるファイルに対して、未使用領域に基づき記録領域が割り当てられる。当該ファイルの管理情報は、ファイルシステムFSに追加される。
記録媒体として記録可能な光ディスクを用いた場合、このシステムでは、クリップを年輪構造によって記録媒体に記録する。図6および図7を用いて、年輪構造について説明する。図6Aは、一つのクリップ100をタイムライン上に示す例である。この例では、クリップ100は、ビデオデータ101、オーディオデータ102A〜102D、補助AVデータ103およびリアルタイムメタデータ104の7ファイルからなる。
ビデオデータ101は、ベースバンドのビデオデータを、例えばビットレートが50Mbps(メガビットパーセカンド)の高ビットレートで圧縮符号化したビデオデータである。圧縮符号化方式としては、例えばMPEG2(Moving Pictures Experts Group 2)方式が用いられる。オーディオデータ102A、102B、102Cおよび102Dは、ベースバンドのオーディオデータが用いられ、それぞれ2チャンネルのオーディオデータである。これに限らず、オーディオデータ102A、102B、102Cおよび102Dは、ベースバンドのオーディオデータを高ビットレートで圧縮符号化したオーディオデータを用いてもよい。ビデオデータ101およびオーディオデータ102A〜102Dは、実際の放送や編集の対象とされるデータであって、本線系のデータと称される。
補助AVデータ103は、ベースバンドのビデオデータおよびオーディオデータを、本線系のビデオデータおよびオーディオデータに対してより低ビットレートで圧縮符号化して多重化したデータである。圧縮符号化方式としては、例えばMPEG4方式が用いられ、本線系のAVデータを、ビットレートを例えば数Mbpsまで落とすように圧縮符号化して生成する。補助AVデータ103は、高速サーチ再生を行うために本線系のデータの代理として用いられるデータであって、プロキシ(Proxy)データとも称される。補助AVデータは、ビットレートが低いのでディスクからの読み出しを高速に行うことができ、また、復号化処理も高速に行え、例えば再生速度が1倍速以上で可変速再生されるシャトル再生に用いて好適である。
なお、本線系のデータのうちビデオデータを、以下では、本線ビデオデータと呼ぶ。また、補助AVデータのうちビデオデータを、以下では補助ビデオデータと呼ぶ。
メタデータは、あるデータに関する上位データであり、各種データの内容を表すためのインデックスとして機能する。メタデータには、上述の本線系のAVデータの時系列に沿って発生されるリアルタイムメタデータ104と、本線系のAVデータにおけるシーン毎など、所定の区間に対して発生される非時系列メタデータの2種類がある。非時系列メタデータは、例えば図5で説明したNRT領域に記録される。
クリップ100は、図6Bに一例が示されるように、所定の再生時間(例えば2秒)を基準として分割され、年輪構造として光ディスクに記録される。一つの年輪は、図6Cに一例が示されるように、ビデオデータ101、オーディオデータ102A〜102D、補助AVデータ103およびリアルタイムメタデータ(RM)104を、それぞれ再生時間帯が対応するように、トラック1周分以上のデータサイズを有する所定の再生時間単位に分割し、分割された再生時間単位毎に順に配置して記録する。すなわち、クリップ100を構成する各データは、年輪構造により所定時間単位でインターリーブされ、光ディスクに記録される。
年輪を形成するデータを年輪データと称する。年輪データは、ディスクにおける最小の記録単位の整数倍のデータ量とされる。また、年輪は、その境界がディスクの記録単位のブロック境界と一致するように記録される。
図7は、光ディスク10に対して年輪データが形成された一例の様子を示す。例えば、図6Bを用いて説明したように、光ディスク10の内周側から外周側に向けて、1つのクリップが所定の再生時間単位に分割された年輪データ#1、#2、#3、・・・が連続的に記録される。すなわち、光ディスク10の内周側から外周側に向けて、再生の時系列が連続するようにデータが配置される。なお、図示しないが、NRT領域は、図7の例では、先頭の年輪データ#1のさらに内周側に配置される。
HDフォーマットでは、可変長ビットレートでの圧縮符号化が可能とされている。また、ロングGOPを用いた場合、予測符号化を用いたフレーム間圧縮符号化により、Iピクチャ、PピクチャおよびBピクチャにより、データサイズが異なる。そこで、ピクチャポインタファイルを用いて所望の位置へのアクセスを実現する。
ピクチャポインタは、クリップ内の各フレーム位置のオフセット情報である。すなわち、例えばMPEG2においては、フレーム毎にデータの圧縮率を変える可変ビットレートが可能とされている。例えば、平坦な画面のフレームは、より高圧縮率で圧縮符号化し、粗い画面のフレームは、より低圧縮率で圧縮符号化する。このように、フレームの性質に応じて圧縮率を変えることで、より高解像度のビデオデータをより低いビットレートで伝送および記録することができる。また、MPEG2においては、可変長符号による圧縮符号化もなされる。
このような、ビットレートを可変として圧縮符号化されたビデオデータは、フレーム位置や複数フレームで再生が完結されるGOPの位置がフレーム毎やGOP毎に異なり、所望の位置へのジャンプなどが難しい。そこで、可変長ビットレートのアクセスを容易とするために、クリップ内の各フレーム位置のオフセット情報をピクチャポイントとしてテーブル化して非時系列メタデータファイルとし、クリップにそれぞれ対応して配置する。例えばドライブにディスクを挿入した際にこのピクチャポイントを所定に読み込んでおくことで、クリップ内の所望位置へのアクセスを高速に行うことができるようになる。
図8および図9を用いて、より詳細に説明する。図8は、MPEG2のロングGOPにおける一例のデータ構造を示す。例えば、図8Aに示されるように、1つのクリップから1ロングGOPファイルが構成される。ロングGOPファイルは、図8Bに示されるように、ビデオMXF(Material Exchange Format)ファイルOP−Atomと呼ばれる構造を有し、先頭からヘッダパーティションパック(HPP)およびヘッダメタデータが配置されてヘッダ情報が構成され、その後ろに、ビデオデータの本体が格納されるエッセンスコンテナが配置される。ファイルの末尾には、フッタパーティションパック(FPP)が配置される。
エッセンスコンテナは、図8Cに示されるように、GOPが並んでいる構成となっている。各GOPの内容は、図8Dに示されるように、ピクチャの集合であり、1つのピクチャの内容は、図8Eに示されるように、先頭にKL(Key,length)情報が配され、次にI、PまたはBピクチャの本体が配され、さらにKL情報が配される。ピクチャの末尾には、必要に応じてフィラーが配され、バイト単位で末尾が揃えられる。
このような構成において、MPEG2のロングGOPでは、各ピクチャの情報量、すなわち図8Eに示されるI、PおよびBピクチャのサイズの値が不確定となる。したがって、例えばロングGOPビデオファイル中のあるフレームから再生を開始しようとした場合に、ロングGOPビデオファイル中のそのフレームに対応するピクチャの先頭位置を、バイト位置などで指定することができない。
そのため、ロングGOPビデオファイルの先頭位置からバイト単位で示されるファイルアドレス(図8F参照)を基準として、ロングGOPビデオファイルに含まれる各ピクチャそれぞれについて、ファイルアドレス、サイズおよびピクチャタイプ(I、PまたはBピクチャ)と、そのピクチャがGOPの先頭のピクチャであるか否かを示す情報を、ピクチャポインタ情報として用意する。このピクチャポインタ情報は、ロングGOPビデオファイル毎に用意される。
なお、図8Eに示されるピクチャ末尾に配されるフィラーは、各ピクチャの境界がファイルアドレスで見て例えば2048バイトといった所定バイトの倍数になるように調整する。一例として、各ピクチャの境界が光ディスク10のセクタといった最小アクセス単位の境界に一致するように、フィラーを用いて調整すると、各ピクチャ毎のアクセスが容易となり好ましい。
図9は、ピクチャポインタ情報が記述されるピクチャポインタテーブルのより具体的な例を示す。この例では、ピクチャポインタテーブルは、8バイト単位でデータが記述される。先頭の8バイトは、予約領域およびこのピクチャポインタテーブルのバージョン情報が格納される。以下、1フレームすなわち1ピクチャに対して8バイトが割り当てられ、この8バイトの情報がロングGOPビデオファイルに含まれるピクチャの数だけ並べられる。各ピクチャは、表示フレーム順に並べられている。
各ピクチャ毎のデータについて説明する。先頭の1ビットは、そのピクチャがGOPの先頭のピクチャであるか否かを示すフラグである。例えば、1GOP内にIピクチャが複数枚、存在する場合を想定すると、Iピクチャの位置だけではGOPの境界を特定できない。GOPの境界を特定できないと、MPEG2に規定されるシーケンスヘッダ(Sequence Header)の位置が分からず、デコーダに入力されるストリームの先頭にシーケンスヘッダが無いという状態になるおそれがある。このGOP先頭のピクチャであるか否かを示すフラグをピクチャ毎に持たせることで、このような状態を回避できる。再生時には、このフラグにもとづきでコーダにストリームを入力させる。
次の23ビットは、図8Eに示される、ピクチャのサイズ情報が格納される。サイズ情報として23ビットを確保することで、8MB(メガバイト)までのデータサイズに対応でき、MPEGプロファイルの422@HLにも対応可能となる。
次の2ビットでピクチャのタイプが示される。Bピクチャについては、参照方向の情報も示される。ピクチャのタイプは、より具体的には、例えば次のように記述される。
00:Iピクチャ
10:Pピクチャ
01:前方(未来)のフレームが参照されて復元されるBピクチャ。これは、例えばオープンGOPの場合の、ロングGOPビデオファイル先頭のBピクチャ、または、クローズドGOPの場合の各GOPの先頭のBピクチャである。
11:前方および後方のフレームが参照されて復元されるBピクチャ。
次の38ビットは、当該ピクチャのロングGOPビデオファイル内におけるファイルアドレスが示される。ファイルアドレスに38ビットを割り当てることで、サイズが256GB(ギガバイト)までのロングGOPビデオファイルに対応可能である。例えば、1層で27GBの記録容量を有する記録層が8層まで形成された光ディスク10に対応可能である。
このピクチャポインタテーブルは、ピクチャポインタファイルとして、非時系列メタデータと共に例えば記録媒体のNRT領域に記録される。光ディスク10がディスクドライブ11に装填された際に、このNRT領域に記録された非時系列メタデータとピクチャポインタファイルがディスクドライブ11により読み出され、光ディスク10が再生装置1のシステムに対してマウントされる。読み出された非時系列メタデータやピクチャポインタファイルは、例えばCPU14が有するRAMに保持される。CPU14は、RAMに保持されるピクチャポインタテーブルを参照することで、光ディスク10に記録されるクリップ中の任意のピクチャにアクセスすることができる。
1−5.再生制御処理のより詳細な説明
次に、この発明に適用されるシステムにおける再生制御処理について、より詳細に説明する。
1−5−1.目標フレームバッファパターンの作成
先ず、図1のステップS2で説明した、目標フレームバッファパターンについて説明する。最初に、任意の目標再生フレームと、当該目標再生フレームに対して表示順で隣接する前後のフレームとを再生するために必要なフレームバッファサイズを求める。
図10は、カレントフレーム(例えば目標再生フレーム)に対して表示順で1フレーム後または1フレーム前のフレームをデコードする場合の必要バッファ量の例を示す。図10において、出力フレーム(カレントフレーム)を「0」で示し、現在より表示順で順方向すなわち未来(後)になるフレームは「+」を、表示順で逆方向すなわち過去(前)になるフレームは「−」を、それぞれ付して示す。また、図中、「M」は、基準ピクチャから次の基準ピクチャまでのピクチャの移動数、「N」は、1GOP内のピクチャ数を示す。例えば、GOPが「I3、B1、B2、P6、B4、B5、P9、B7、B8、P12、B10、B11、P15、B13、B14」の15枚のピクチャで構成される場合、(M=3、N=15)である。
図10Aは、順方向に1フレームだけ再生を進める場合の例を示す。この場合、M=3のときに、目標再生フレームが隣り合ったBピクチャの表示順で前方のBピクチャの場合に、最もバッファが必要となる。この場合には、次のフレームタイミングで当該目標再生フレームから次のBピクチャに移動することになる。
すなわち、この場合には、B4ピクチャおよびB5ピクチャは、それぞれI3ピクチャおよびP6ピクチャを用いてデコードされる。B5ピクチャのデコードが終了するまで、I3ピクチャはバッファから破棄できず、且つ、P6ピクチャはB5ピクチャの次に表示されるため、バッファ内に保持される。したがって、M+1=4ピクチャ分のバッファが必要となる。
図10Bは、逆方向に1フレームだけ再生を進める(戻す)場合の例を示す。一般的なM=3およびN=15のオープンGOPであれば、目標再生フレームがI3+1ピクチャである場合に、最もバッファが必要となる。この場合には、次のフレームタイミングで当該目標再生フレームから表示順で後方のB2+1ピクチャに移動することになる。なお、(+1)は、そのピクチャがカレントピクチャの次のGOPに属することを示す。
すなわち、この場合には、B2+1ピクチャをデコードするために、I3+1ピクチャと、B2+1ピクチャの表示順で前のP15ピクチャとが必要となり、このP15ピクチャをデコードするために、当該P15ピクチャの属するGOPにおけるI3ピクチャ、P6ピクチャ、P9ピクチャ、P12ピクチャが順次、必要となる。したがって、N/M+2=7ピクチャ分のバッファが必要となる。ここで、N/Mは、GOPに含まれるIピクチャおよびPピクチャの枚数に相当する。
図10Cは、順方向および逆方向の何れかの方向に対する1フレームの移行を考慮した場合の例である。一般的なM=3およびN=15のオープンGOPであれば、目標再生フレームがI3+1ピクチャである場合に最もバッファが必要となる。この場合には、次のフレームタイミングで、当該I3+1ピクチャの表示順で次のB4+1ピクチャまたは表示順で前のB2+1ピクチャに移動することになる。
すなわち、この場合は、上述の図10Aの例と図10Bの例とを組み合わせた状態となり、目標再生フレームであるI3+1ピクチャの表示順で次のB4+1ピクチャをデコードするために、当該I3+1ピクチャと、当該I3+1ピクチャの次に現れる基準ピクチャであるP6+1ピクチャとが必要となる。また、当該I3+1ピクチャの表示順で前のB2+1ピクチャをデコードするために、当該I3+1ピクチャと、当該I3+1ピクチャの属するGOPの前のGOPにおけるI3ピクチャ、P6ピクチャ、P9ピクチャ、P12ピクチャおよびP15ピクチャとが順次、必要となる。したがって、N/M+M+1=9ピクチャ分のバッファが必要となる。
このように、目標再生フレームから表示順で隣接する前後のフレームに移動する場合には、9ピクチャ分のバッファが必要となる。
1−5−2.目標フレームバッファの一例の更新パターン
この発明に適用されるシステムでは、フレームバッファにおいて、目標再生フレームに対して表示順で隣接する前後のピクチャが常に固定遅延で表示可能となるような、バッファの更新パターンを作成する。すなわち、デコードされバッファ上に存在する目標再生フレームに対して表示順で前後に隣接するフレームが常にデコードされバッファ上に存在する状態とする。さらに、逆方向再生を継続するために必要なフレームと、順方向再生を継続するために必要なフレームとを、常に、全てデコードし、バッファ上に溜め込んでおく。このようなバッファ上のパターンを、目標再生フレームを1フレーム毎に移動させた全パターンについて作成する。
この状態において、目標再生フレームが1フレーム分移動し、更新された場合、新たにデコードが必要となるデータは、再生方向が順方向および逆方向によらず常に1フレーム分となる。したがって、再生方向が順方向および逆方向の何れの場合の1倍速以内の再生速度での変速再生が、1倍速デコーダを用いて実現可能となる。
さらに、この状態において、逆方向の1倍速再生から、順方向の1倍速再生のコマンド速度の間では、固定遅延で再生出力結果を得ることができる。
図11は、上述の考えに基づき作成した目標フレームバッファの一例の更新パターンを示す。この図11の例は、(N=15、M=3)であるロングGOPの場合に関する。1GOPが15ピクチャ(フレーム)で構成され、15のパターンからなる。図11中の各行に示されるように、目標再生フレームに対応したフレームがフレームバッファに格納された状態で、目標再生フレームを任意の方向に1フレームずつ移動させた場合に、更新されるフレームがそれぞれ1フレーム分で済み、順方向および逆方向の1倍速以内の可変速再生を、1倍速デコーダを用いて行うことができるようにしている。
すなわち、図11の更新パターンの各行において、その行に対応する目標再生フレームと、当該目標再生フレームに対して再生方向で順方向および逆方向にそれぞれ隣接するフレームが、当該目標再生フレームと共にフレームバッファに格納されるべきフレームとされる。それと共に、当該目標再生フレームに対して順方向および逆方向に隣接するフレームにさらに隣接するフレームをデコードするために必要なフレームが、当該目標再生フレームと共にフレームバッファに格納されるべきフレームとされる。また、目標再生フレームが隣接する行の間において、更新フレームが1フレームのみとなるようにされる。
なお、図11中のI、PおよびBは、それぞれIピクチャ、PピクチャおよびBピクチャに基づくフレームであって、付加される数字は、GOP内の表示順を示す。基準となるGOP(カレントGOP)に属するピクチャによるフレームは、記号を付加しない。カレントGOPの1つ前のGOP(GOP(−)と呼ぶ)に属するピクチャによるフレームに対して、マイナス記号(−)を付加する。カレントGOPの1つ後のGOP(GOP(+)と呼ぶ)に属するピクチャによるフレームに対して、プラス記号(+)を付加する。
また、以下の説明中でも、これに対応し、カレントフレームのn個前のフレームは(-n)を付して示し、カレントフレームのn個後のフレームは(+n)を付して示す。
この図11の更新パターンは、図の上側から下側に向けた方向が順方向の再生を示し、下側から上側に向けた方向が逆方向の再生を示す。すなわち、図11の上側から下側に1行分進むことで、目標再生フレームが1フレーム進み、下側から上側に1行分進むことで、目標再生フレームが1フレーム戻る。また、この図11の更新パターンは、循環的とされ、第1行目から目標再生フレームが1フレーム分戻ったときには、第15行目のフレームバッファの更新パターンに移行される。
図11を参照して、目標再生フレームがフレーム「I3」のとき(第1行目)のパターンは、フレーム「I3」、フレーム「P6」、フレーム「P15-1」、フレーム「P12-1」、フレーム「P9-1」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B4」およびフレーム「B2」とされる。後述する目標再生フレームがフレーム「B2」のパターンに対して、フレーム「B1+1」がフレーム「B4」に更新されている。
目標再生フレームがフレーム「B4」のとき(第2行目)は、フレーム「I3」、フレーム「P6」、フレーム「P15-1」、フレーム「P12-1」、フレーム「P9-1」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B4」およびフレーム「B5」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「I3」のパターンに対して、フレーム「B2」がフレーム「B5」に更新されている。
目標再生フレームがフレーム「B5」のとき(第3行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12-1」、フレーム「P9-1」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B4」およびフレーム「B5」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「B4」のパターンに対して、フレーム「P15-1」がフレーム「P9」に更新されている。
目標再生フレームがフレーム「P6」のとき(第4行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12-1」、フレーム「P9-1」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B7」およびフレーム「B5」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「B5」のパターンに対して、フレーム「B4」がフレーム「B7」に更新されている。
目標再生フレームがフレーム「B7」のとき(第5行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12-1」、フレーム「P9-1」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B7」およびフレーム「B8」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「P6」のパターンに対して、フレーム「B5」がフレーム「B8」に更新されている。
目標再生フレームがフレーム「B8」のとき(第6行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P9-1」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B7」およびフレーム「B8」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「B7」のパターンに対して、フレーム「P12-1」がフレーム「P12」に更新されている。
目標再生フレームがフレーム「P9」のとき(第7行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P9-1」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B10」およびフレーム「B8」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「B8」のパターンに対して、フレーム「B7」がフレーム「B10」に更新されている。
目標再生フレームがフレーム「B10」のとき(第8行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P9-1」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B10」およびフレーム「B11」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「P9」のパターンに対して、フレーム「B8」がフレーム「B11」に更新されている。
目標再生フレームがフレーム「B11」のとき(第9行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P15」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B10」およびフレーム「B11」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「B10」のパターンに対して、フレーム「P9-1」がフレーム「P15」に更新されている。
目標再生フレームがフレーム「P12」のとき(第10行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P15」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B13」およびフレーム「B11」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「B11」のパターンに対して、フレーム「B10」がフレーム「B13」に更新されている。
目標再生フレームがフレーム「B13」のとき(第11行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P15」、フレーム「P6-1」、フレーム「I3-1」、フレーム「B13」およびフレーム「B14」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「P12」のパターンに対して、フレーム「B11」がフレーム「B14」に更新されている。
目標再生フレームがフレーム「B14」のとき(第12行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P15」、フレーム「I3+1」、フレーム「I3-1」、フレーム「B13」およびフレーム「B14」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「B13」のパターンに対して、フレーム「P6-1」がフレーム「I3+1」に更新されている。
目標再生フレームがフレーム「P15」のとき(第13行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P15」、フレーム「I3+1」、フレーム「I3-1」、フレーム「B1+1」およびフレーム「B14」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「B14」のパターンに対して、フレーム「B13」がフレーム「B1+1」に更新されている。
目標再生フレームがフレーム「B1+1」のとき(第14行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P15」、フレーム「I3+1」、フレーム「I3-1」、フレーム「B1+1」およびフレーム「B2+1」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「P15」のパターンに対して、フレーム「B14」がフレーム「B2+1」に更新されている。
目標再生フレームがフレーム「B2+1」のとき(第15行目)は、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P15」、フレーム「I3+1」、フレーム「P6+1」、フレーム「B1+1」およびフレーム「B2+1」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「B1+1」のパターンに対して、フレーム「I3-1」がフレーム「P6+1」に更新されている。
このように、図11に一例を示すフレームバッファの更新パターンでは、各フレーム毎の更新パターン間で、1フレーム分のみが更新されるようになっている。幾つかの例を挙げて、より具体的に説明する。
第1の例として、目標再生フレームがPピクチャによるフレーム「P6」の場合について説明する。この場合、順方向および逆方向について1倍速以内の再生速度範囲においては、当該目標再生フレームの1フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、当該フレーム「P6」と、当該フレーム「P6」に対して表示順で前後に隣接するフレーム「B5」およびフレーム「B7」とである。
目標再生フレームがフレーム「P6」の状態において、上述したような、目標再生フレームに基づき作成された目標フレームバッファパターンに従いデコードされたフレームがフレームバッファに格納された状態では(図11の第4行目のパターン参照)、目標再生フレーム「P6」と、その前後のフレーム「B5」およびフレーム「B7」は、それぞれ既にデコードされた状態でフレームバッファに格納されている。
この状態から目標再生フレームがフレーム「B5」またはフレーム「B7」に移行された場合、移行された目標再生フレームに対する新たな目標フレームバッファパターンに基づいて、新たに必要となるフレームをデコードされた状態でフレームバッファに格納していく。
これらのデータが格納されたフレームバッファの他の領域は、直前のデータが保持される。すなわち、図11の例では、第4行目に示されるように、目標再生フレームがフレーム「P6」のときは、フレームバッファに、当該フレーム「P6」と、当該フレーム「P6」と同じGOPに属するフレーム「I3」、フレーム「P9」、フレーム「B5」およびフレーム「B7」、ならびに、当該フレーム「P6」が属するGOPに対して1つ前のGOPに属するフレーム「I3−」、フレーム「P6−」、フレーム「P9−」およびフレーム「P12−」が格納される。
この目標再生フレームがフレーム「P6」の場合、順方向に1フレーム分、目標再生フレームが移行すると、新たな目標再生フレームがフレーム「B7」となる。また、この新たな目標再生フレームに対して1フレームタイミング後にさらに新たな目標再生フレームとなる可能性があるフレームは、フレーム「B7」と、当該フレーム「B7」に対して表示順で前後に隣接するフレーム「P6」およびフレーム「B8」となる。
なお、再生速度が順方向および逆方向に1倍速以内の場合、同一のフレームが2フレームタイミングで連続して出力される場合がある。この場合、次のフレームタイミングに移っても、目標再生フレームが変化しない。
これらのうち、フレーム「P6」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「B8」をデコードするためには、フレーム「P6」およびフレーム「P9」が必要となる。フレーム「P6」およびフレーム「P9」は、それぞれフレーム「B7」をデコードするために用いられているので、既にフレームバッファ上に存在している。フレーム「B8」がこれらフレーム「P6」および「P9」を用いてデコードされる。
一方、目標再生フレームがフレーム「B7」に移行した場合、目標再生フレームがフレーム「P6」の状態における逆方向側の表示順で隣接フレームであったフレーム「B5」は、不要となるため破棄される。フレームバッファ上の、この破棄されたフレーム「B5」の領域に、新たにデコードされたフレーム「B8」が格納され、フレームバッファが更新される。
逆方向に1フレーム分、再生が戻されると、新たな目標再生フレームがフレーム「B5」となり、この新たな目標再生フレームに対して1フレームタイミング後にさらに新たな目標再生フレームとなる可能性のあるフレームは、フレーム「B5」と、フレーム「B4」およびフレーム「P6」とである。フレーム「P6」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「B4」をデコードするためには、フレーム「I3」およびフレーム「P6」が必要となる。フレーム「I3」を、フレームバッファ上に保持する。フレーム「B4」がこれらフレーム「I3」および「P6」を用いてデコードされる。
一方、目標再生フレームがフレーム「P6」からフレーム「B5」に移行した場合、目標再生フレームが「P6」の状態における順方向側の隣接フレームであったフレーム「B7」は、不要となるため、破棄される。フレームバッファ上の、この破棄されたフレーム「B7」の領域に、新たにデコードされたフレーム「B4」が格納され、フレームバッファが更新される。
このように、目標再生フレームがフレーム「P6」の状態から順方向に1フレーム分進んだ場合、フレームの更新は、フレーム「B5」からフレーム「B8」への1フレーム分のみ、行われる。目標再生フレームがフレーム「P6」の状態から逆方向に1フレーム分戻された場合も、フレームの更新は、フレーム「B7」からフレーム「B4」への1フレーム分のみ、行われる。
第2の例として、目標再生フレームがBピクチャによるフレーム「B7」の場合について説明する。この場合、順方向および逆方向について1倍速以内の再生速度範囲においては、当該目標再生フレームの1フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、当該フレーム「B7」と、当該フレーム「B7」に対して表示順で前後に隣接するフレーム「P6」および「B8」とである。
目標再生フレームがフレーム「B7」の状態において、上述したような、目標再生フレームに基づき作成された目標フレームバッファパターンに従いデコードされたフレームがフレームバッファに格納された状態では(図11の第5行目のパターン参照)、目標再生フレーム「B7」と、その前後のフレーム「P6」およびフレーム「B8」は、それぞれ既にデコードされた状態でフレームバッファに格納されている。
この状態から目標再生フレームがフレーム「P6」またはフレーム「B8」に移行された場合、移行された目標再生フレームに対する新たな目標フレームバッファパターンに基づいて、新たに必要となるフレームをデコードされた状態でフレームバッファに格納していく。
これらのデータが格納されたフレームバッファの他の領域は、直前のデータが保持される。すなわち、図11の例では、第5行目に示されるように、目標再生フレームがフレーム「B7」のときには、フレームバッファに、当該フレーム「B7」と、当該フレーム「B7」と同じGOPに属するフレーム「I3」、フレーム「P9」およびフレーム「B8」、ならびに、当該フレーム「B7」が属するGOPに対して1つ前のGOPに属するフレーム「I3−」、フレーム「P6−」、フレーム「P9−」およびフレーム「P12−」が格納される。
この目標再生フレームがフレーム「B7」の場合、順方向に1フレーム分、目標再生フレームが移行すると、新たな目標再生フレームがフレーム「B8」になる。また、この新たな目標再生フレームに対して1フレームタイミング後にさらに新たな目標再生フレームとなる可能性があるフレームは、当該フレーム「B8」と、当該フレーム「B8」に対して表示順で前後に隣接するフレーム「B7」およびフレーム「P9」とである。
これらのうち、フレーム「B7」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「B8」をデコードするためには、フレーム「P6」およびフレーム「P9」が必要となる。フレーム「P6」およびフレーム「P9」は、それぞれフレーム「B7」をデコードするために必要なフレームであるので、既にフレームバッファ上に存在している。フレーム「B8」がこれらフレーム「P6」および「P9」を用いてデコードされる。また、フレーム「P9」も、既にフレームバッファ上に存在している。
この場合には、目標再生フレームがフレーム「B7」の状態における逆方向側の表示順で隣接フレームであったフレーム「P6」は、フレーム「B8」をデコードするために用いられるため、破棄されない。さらに順方向に1フレーム、再生が進んだ際に用いられるフレーム「P12」が、フレーム「P9」を用いてデコードされる。また、バッファメモリ内に存在する最も前のGOPに属するフレームのうち、バッファメモリ内に存在し最も表示順で新しいフレームであるフレーム「P12−」を破棄し、デコードされたフレーム「P12」を格納する。
逆方向に1フレーム分、再生が戻されると、新たな目標再生フレームがフレーム「P6」となり、この新たな目標再生フレームに対して1フレームタイミング後にさらに新たな目標再生フレームとなる可能性のあるフレームは、フレーム「P6」と、フレーム「B5」およびフレーム「B7」とである。フレーム「B7」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「B5」をデコードするためには、フレーム「I3」およびフレーム「P6」が必要となる。フレーム「I3」をフレームバッファ上に保持する。フレーム「B5」がこれらフレーム「I3」およびフレーム「P6」を用いてデコードされる。
一方、目標再生フレームがフレーム「B7」からフレーム「P6」に移行した場合、目標再生フレームが「B7」の状態における順方向側の隣接フレームであったフレーム「B8」は、不要となるため、破棄される。フレームバッファ上の、この破棄されたフレーム「B8」の領域に、新たにデコードされたフレーム「B5」が格納され、フレームバッファが更新される。
このように、目標再生フレームがフレーム「B7」の状態から順方向に1フレーム進んだ場合、フレームの更新は、フレーム「P12−」からフレーム「P12」への1フレーム分のみ、行われる。目標再生フレームがフレーム「B7」の状態から逆方向に1フレーム分戻された場合も、フレームの更新は、フレーム「B8」からフレーム「B5」への1フレーム分のみ、行われる。
第3の例として、目標再生フレームがIピクチャによるフレーム「I3」の場合について説明する。この場合、順方向および逆方向について1倍速以内の再生速度範囲においては、当該目標再生フレームの1フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、当該フレーム「I3」と、当該フレーム「I3」に対して表示順で前後に隣接するフレーム「B2」およびフレーム「B4」とである。
目標再生フレームがフレーム「I3」の状態において、上述したような、目標再生フレームに基づき作成された目標フレームバッファパターンに従いデコードされたデータがフレームバッファに格納された状態では(図11の第1行目のパターン参照)、目標再生フレーム「I3」と、その前後のフレーム「B2」およびフレーム「B4」は、それぞれ既にデコードされた状態でフレームバッファに格納されている。
この状態から目標再生フレームがフレーム「B2」またはフレーム「B4」に移行された場合、移行された目標再生フレームに対する新たな目標フレームバッファパターンに基づいて、新たに必要となるフレームをデコードされた状態でフレームバッファに格納していく。
これらのデータが格納されたフレームバッファの他の領域は、直前のデータが保持される。すなわち、図11の例では、第1行目に示されるように、目標再生フレームが「I3」のときには、フレームバッファに、当該フレーム「I3」と、当該フレーム「I3」と同じGOPに属する、フレーム「P6」、フレーム「B2」およびフレーム「B4」、ならびに、当該フレーム「I3」が属するGOPに対して1つ前のGOPに属するフレーム「I3−」、フレーム「P6−」、フレーム「P9」、フレーム「P12−」およびフレーム「P15」とが格納される。
目標再生フレームがフレーム「I3」の場合、順方向に1フレーム分、目標再生フレームが移行すると、新たな目標再生フレームがフレーム「B4」になる。また、この新たな目標再生フレームに対して1フレームタイミング後にさらに新たな目標再生フレームとなる可能性があるフレームは、当該フレーム「B4」と、当該フレームに対して表示順で前後に隣接するフレーム「I3」およびフレーム「B5」とである。
これらのうち、フレーム「I3」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「B5」をデコードするためには、フレーム「I3」およびフレーム「P6」が必要となる。フレーム「P6」は、フレーム「B4」をデコードするために用いられているので、既にフレームバッファ上に存在している。フレーム「B5」がこれらフレーム「I3」および「P6」を用いてデコードされる。
この場合には、目標再生フレームが「I3」の状態における逆方向側の目標再生フレームであるフレーム「B2」は、不要となるため、破棄される。フレームバッファ上の、この破棄されるフレーム「B2」の領域にデコードされたフレーム「B5」が格納され、フレームバッファが更新される。
逆方向に1フレーム分、再生が戻されると、新たな目標再生フレームがフレーム「B2」となり、この新たな目標再生フレーム対して1フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、フレーム「B2」と、フレーム「B1」およびフレーム「I3」とである。フレーム「I3」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「B1」をデコードするためには、フレーム「I3」と、フレーム「I3」が属するGOPの1つ前のGOPに属するフレーム「P15−」が必要となる。フレーム「B1」がこれらフレーム「P15−」および「I3」を用いてデコードされる。
一方、目標再生フレームがフレーム「I3」からフレーム「B2」に移行した場合、目標再生フレームがフレーム「I3」の状態における順方向の隣接フレームであったフレーム「B4」は、不要となるため、破棄される。フレームバッファ上の、この破棄されたフレーム「B4」の領域に、新たにデコードされたフレーム「B1」が格納され、フレームバッファが更新される。
このように、目標再生フレームがフレーム「I3」の状態から順方向に1フレーム進んだ場合、フレームの更新は、フレーム「B2」からフレーム「B5」への1フレーム分のみ、行われる。目標再生フレームがフレーム「I3」の状態から逆方向に1フレーム分戻された場合も、フレームの更新は、フレーム「B4」からフレーム「B1」への1フレーム分のみ、行われる。
なお、上述したように、目標再生フレームが他のフレームに移行される際には、バッファメモリに格納された1フレームが破棄され、破棄されたフレーム領域に新たな1フレームがデコードされて格納され、バッファメモリが更新される。このとき、バッファメモリから破棄するフレームを、次のルールに基づき決めることができる。
(1)目標再生フレームおよび表示順で目標再生フレームに隣接するフレーム以外のBピクチャによるフレームは、破棄する。
(2)上述の(1)のルールに従い破棄するBピクチャによるフレームが存在しなかった場合、バッファメモリ上に存在する、下記(2a)または(2b)の条件を満たすIまたはPピクチャによるフレームを破棄する。
(2a)順方向への目標再生フレーム移行の場合、目標再生フレームが存在するGOPから逆方向に最も離れたGOPにおいて、そのGOPに属する最後尾のIまたはPピクチャ。
(2b)逆方向への目標再生フレーム移行の場合、目標再生フレームが存在するGOPから順方向に最も離れたGOPにおいて、そのGOPに属する最後尾のIまたはPピクチャ。
上述のようにして、バッファメモリの更新パターンに従いバッファメモリ上にデータを溜め込んでおけば、現在の目標再生フレームがIピクチャによるフレーム、PピクチャによるフレームおよびBピクチャによるフレームの何れであっても、任意の方向への1フレーム分の移動に対してバッファメモリ上で行進されるデータが1フレーム分のみで済む。したがって、順方向および逆方向の1倍速以内の可変速再生を、1倍速デコーダを用いて固定遅延で実行することができる。
なお、上述では、現在の目標再生フレームとして、GOPを構成するIピクチャ、PピクチャおよびBピクチャのそれぞれについて一例ずつ例を挙げて説明を行ったが、説明を省略した他のフレームが現在の目標再生フレームの場合でも、同様にして、任意の方向への1フレーム分の移動に対して、バッファメモリ上の1フレーム分のデータのみが更新される。
1−5−3.優先順位付き目標フレームバッファ更新パターン
次に、この発明に適用されるシステムでは、目標再生フレームを基点として、そのフレームを再生するために必要なピクチャをデコードする際の優先順位をピクチャ毎に付与する。そして、現状のバッファメモリに存在せず、且つ、最もデコード優先順位の高いピクチャをデコードしてバッファメモリに格納する。この処理を常に繰り返すことで、バッファメモリに基点となるフレームのみが格納された状態から、図11を用いて説明した、目標フレームバッファの更新パターンにより速やかに復帰することができ、順方向の1倍速再生から逆方向の1倍速再生までの可変速再生が可能な状態に迅速に移行することができる。
このようにシステムを構成することによって、例えば補助AVデータを用いて再生速度が1倍速以上のシャトル再生がなされた状態から、再生速度が1倍速とされ、本線ビデオデータを用いた再生がなされる場合でも、本線ビデオデータの再生を速やかに安定的に継続することを可能としている。
図12は、(N=15、M=3)であるロングGOPの場合において、再生方向が順方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの例を示す。すなわち、図12は、上述した図11のバッファメモリの更新パターンに対してフレーム毎に優先順位を付加した例である。
図12Aは、図11に対応する、再生方向が順方向の場合のバッファメモリの優先順位付き更新パターンの一例を示す。図12Aに示される更新パターンと図11に示される更新パターンとにおいて、対応する行には、同一のフレームが含まれる。すなわち、図12Aに示される更新パターンの各行は、図11に示される更新パターンの対応する行に含まれるフレームに対して、バッファに格納される順序の優先順位を反映している。図12Aの例では、各行において、右側から左側に向けて優先順位が高くされており、左端のフレームが最も優先順位が高く、右端のフレームが最も優先順位が低い。
また、図12Bは、この図12Aのパターンに基づき、ある1フレームのみがフレームバッファに格納された状態を基点として、1倍速デコーダでデコードされたフレームがバッファメモリに格納されていく様子を示す。
なお、図12の更新パターンは、図11の例と異なり、図の上側から下側に向けた方向の順方向の再生のみに対応し、逆方向の再生に関しては、異なる更新パターンとなる。逆方向の再生に関しては、後に図17を用いて説明する。
再生方向が順方向の場合、優先順位は、高い方から低い方へ、順方向再生端のGOPから逆方向再生端のGOPに向けて設定する。また、各GOPにおいては、再生順に、先に再生されるフレームに対してより高い優先順位を設定する。また、フレームに関しては、IピクチャおよびPピクチャによるフレームは、順方向再生端のGOPから、逆方向再生端のGOPに向かうように、優先順位を設定する。一方、Bピクチャによるフレームは、目標再生フレームを含むその前後3フレーム内のBピクチャを選び、優先順位の高い方から低い方へ、目標再生フレーム、順方向側フレーム、逆方向側フレームの順番で、バッファメモリのデコード可能なバンクに挿入する。
すなわち、図11に示されるバッファメモリの更新パターンに対し、9個のバッファメモリに格納されるフレームがGOP毎に纏められ、各GOP内で、再生順に、先に再生されるフレームに対してより高い優先順位が設定され、GOPは、再生順に、後に再生されるGOPにより高い優先順位が設定されて、図12Aに示される更新パターンが作成される。目標再生フレームに対して、図12Aに示される更新パターンの対応する行に示される優先順位に従って、優先順位が高いフレームからデコードしてバッファに格納する。
一例として、目標再生フレームがフレーム「P6」である図12Aの第4行目では、カレントGOP、カレントGOPの1つ前のGOPの順に優先順位が設定され、カレントGOPにおいては、フレーム「I3」が最も優先順位が高く、以下、フレーム「P6」、フレーム「P9」、フレーム「B7」、フレーム「B5」の順に優先順位が低くなるようにされる。
すなわち、目標再生フレームがフレーム「P6」であって、バッファメモリに1つもフレームが格納されていない場合には、フレーム「I3」を最優先でデコードし、デコードされた「I3」を用いてフレーム「P6」をデコードする。また、フレーム「I3」およびフレーム「P6」が既にバッファメモリに格納されている場合は、目標再生フレームに対して順方向に隣接するフレーム「B7」をデコードするために、フレーム「P9」を優先的にデコードする。
なお、目標再生フレームがフレーム「P6」以外の他の例においても、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが優先的にデコードされ、目標再生フレームに順方向に隣接するフレームそのものまたは当該隣接フレームをデコードするために用いられるフレームが、次の優先順位で以てデコードされる。
図12Bを用いて、フレーム「I3」のみがデコードされバッファメモリに格納されている状態を基点とした場合の動作について、より具体的に説明する。
図12Aにおける第1行目の、目標再生フレームがフレーム「I3」の場合、バッファメモリに既に格納されているフレーム「I3」(図12Bの第1行目参照)が再生される。
目標再生フレームがフレーム「I3」から次のフレーム「B4」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P6」(図12Aの第2行目参照)のデコードおよびバッファへの格納が開始される(図12Bの第2行目参照)。これにより、バッファには、フレーム「I3」およびフレーム「P6」が格納されることになる。
一方、フレーム「P6」がデコードされた段階では、目標再生フレームであるフレーム「B4」は、未だデコードできない。このような場合、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向(この場合順方向)に最も近く、且つ、目標再生フレームの再生順を超えないフレームが再生フレームとされる。図12Bの例では、フレーム「I3」がこの条件を満たしている。
目標再生フレームがフレーム「B4」から次のフレーム「B5」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P9」(図12Aの第3行目参照)のデコードおよびバッファへの格納が開始される(図12Bの第3行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」およびフレーム「P9」が格納されることになる。
一方、フレーム「P9」がデコードされた段階では、目標再生フレームであるフレーム「B5」は、未だデコードできない。そこで、目標再生フレームに対して再生順が順方向に最も近く、且つ、目標再生フレームの再生順を超えないフレーム「I3」が再生フレームとされる。
目標再生フレームがフレーム「B5」から次のフレーム「P6」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B7」(図12Aの第4行目参照)のデコードおよびバッファへの格納が開始される(図12Bの第4行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「B7」およびフレーム「P9」が格納されることになる。
この目標再生フレームがフレーム「P6」の場合には、当該フレーム「P6」は、既にデコードされバッファに格納されている。そのため、このフレーム「P6」が再生フレームとされる。
目標再生フレームがフレーム「P6」から次のフレーム「B7」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B8」(図12Aの第5行目参照)のデコードおよびバッファへの格納が開始される(図12Bの第5行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「B7」、フレーム「B8」およびフレーム「P9」が格納されることになる。
この目標再生フレームがフレーム「B7」の場合には、当該フレーム「B7」は、既にデコードされバッファに格納されている。そのため、このフレーム「B7」が再生フレームとされる。
目標再生フレームがフレーム「B7」から次のフレーム「B8」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P12」(図12Aの第6行目参照)のデコードおよびバッファへの格納が開始される(図12Bの第6行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「B7」、フレーム「B8」、フレーム「P9」およびフレーム「P12」が格納されることになる。
この目標再生フレームがフレーム「B8」の場合には、当該フレーム「B8」は、既にデコードされバッファに格納されている。そのため、このフレーム「B8」が再生フレームとされる。
目標再生フレームがフレーム「B8」から次のフレーム「P9」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B10」(図12Aの第7行目参照)のデコードおよびバッファへの格納が開始される(図12Bの第7行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「B7」、フレーム「B8」、フレーム「P9」、フレーム「B10」およびフレーム「P12」が格納されることになる。
この目標再生フレームがフレーム「P9」の場合には、当該フレーム「P9」は、既にデコードされバッファに格納されている。そのため、このフレーム「P9」が再生フレームとされる。
目標再生フレームがフレーム「P9」から次のフレーム「B10」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B11」(図12Aの第8行目参照)のデコードおよびバッファへの格納が開始される(図12Bの第8行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「B7」、フレーム「B8」、フレーム「P9」、フレーム「B10」、フレーム「B11」およびフレーム「P12」が格納されることになる。
この目標再生フレームがフレーム「B10」の場合には、当該フレーム「B10」は、既にデコードされバッファに格納されている。そのため、このフレーム「B10」が再生フレームとされる。
目標再生フレームがフレーム「B10」から次のフレーム「B11」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P15」(図12Aの第9行目参照)のデコードおよびバッファへの格納が開始される(図12Bの第9行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「B7」、フレーム「B8」、フレーム「P9」、フレーム「B10」、フレーム「B11」、フレーム「P12」およびフレーム「P15」が格納されることになる。
この目標再生フレームがフレーム「B11」の場合には、当該フレーム「B11」は、既にデコードされバッファに格納されている。そのため、このフレーム「B11」が再生フレームとされる。
目標再生フレームがフレーム「B11」から次のフレーム「P12」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B13」(図12Aの第10行目参照)のデコードおよびバッファへの格納が開始される。このとき、上述した第9行目の処理で、既にバッファメモリがフレームで埋められている。したがって、新たにデコードするフレームをバッファメモリに格納するためには、1フレーム分をバッファメモリから破棄する必要がある。この場合では、既に再生されたBピクチャによるフレーム「B7」が破棄される(図12Bの第10行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「B8」、フレーム「P9」、フレーム「B10」、フレーム「B11」、フレーム「P12」、フレーム「B13」およびフレーム「P15」が格納されることになる。
この目標再生フレームがフレーム「P12」の場合には、当該フレーム「P12」は、既にデコードされバッファに格納されている。そのため、このフレーム「P12」が再生フレームとされる。
目標再生フレームがフレーム「P12」から次のフレーム「B13」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B14」(図12Aの第11行目参照)のデコードおよびバッファへの格納が開始されると共に、既に再生されたBピクチャによるフレーム「B8」が破棄される(図12Bの第11行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「B10」、フレーム「B11」、フレーム「P12」、フレーム「B13」、フレーム「B14」およびフレーム「P15」が格納されることになる。
この目標再生フレームがフレーム「B13」の場合には、当該フレーム「B13」は、既にデコードされバッファに格納されている。そのため、このフレーム「B13」が再生フレームとされる。
目標再生フレームがフレーム「B13」から次のフレーム「B14」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「I3+1」(図12Aの第12行目参照)のデコードおよびバッファへの格納が開始されると共に、既に再生されたBピクチャによるフレーム「B10」が破棄される(図12Bの第12行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「B11」、フレーム「P12」、フレーム「B13」、フレーム「B14」、フレーム「P15」およびフレーム「I3+1」が格納されることになる。
この目標再生フレームがフレーム「B14」の場合には、当該フレーム「B14」は、既にデコードされバッファに格納されている。そのため、このフレーム「B14」が再生フレームとされる。
目標再生フレームがフレーム「B14」から次のフレーム「P15」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B1+1」(図12Aの第13行目参照)のデコードおよびバッファへの格納が開始されると共に、既に再生されたBピクチャによるフレーム「B11」が破棄される(図12Bの第13行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「B13」、フレーム「B14」、フレーム「P15」、フレーム「B1+1」およびフレーム「I3+1」が格納されることになる。
この目標再生フレームがフレーム「P15」の場合には、当該フレーム「P15」は、既にデコードされバッファに格納されている。そのため、このフレーム「P15」が再生フレームとされる。
目標再生フレームがフレーム「P15」から次のフレーム「B1+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B2+1」(図12Aの第14行目参照)のデコードおよびバッファへの格納が開始されると共に、既に再生されたBピクチャによるフレーム「B13」が破棄される(図12Bの第14行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「B14」、フレーム「P15」、フレーム「B1+1」、フレーム「B2+1」およびフレーム「I3+1」が格納されることになる。
この目標再生フレームがフレーム「B1+1」の場合には、当該フレーム「B1+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「B1+1」が再生フレームとされる。
目標再生フレームがフレーム「B1+1」から次のフレーム「B2+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P6+1」(図12Aの第15行目参照)のデコードおよびバッファへの格納が開始されると共に、既に再生されたBピクチャによるフレーム「B14」が破棄される(図12Bの第15行目参照)。これにより、バッファには、フレーム「I3」、フレーム「P6」、フレーム「P9」、フレーム「P12」、フレーム「P15」、フレーム「B1+1」、フレーム「B2+1」、フレーム「I3+1」およびフレーム「P6+1」が格納されることになる。
この目標再生フレームがフレーム「B2+1」の場合には、当該フレーム「B2+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「B2+1」が再生フレームとされる。
この図12Bの第15行目のシーケンスで、バッファメモリに格納されるフレームが、図12Aの第15行目に示される、バッファメモリの更新パターンのフレームの格納状態と一致する。すなわち順方向の再生において、優先順位に従いデコードを行うことで、フレーム「I3」だけがデコードされた状態を基点とした場合、15フレーム目で、順方向および逆方向に1倍速以内の可変速再生が可能な状態に復帰している。
したがって、例えば、1倍速の状態に変化する位置のフレームを予めデコードしバッファメモリに格納しておくことで、再生速度が1倍速以上の状態から1倍速の状態に変化した際に、15フレーム分の期間が経過した段階で順方向および逆方向に1倍速以内の可変速再生が可能となる。これに限らず、実際に再生速度が1倍速になった時点で取得されたフレームを基点としてもよい。
また、この15フレーム期間に再生されるフレームは、「I3、I3、I3、P6、B7、B8、P9、B10、B11、P12、B13、B14、P15、B1+1、B2+1」となり、再生の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示がなされる。
なお、上述では、フレーム「I3」だけがデコードされた状態を基点として説明したが、フレーム「I3」以外が基点とされた場合にも、同様の考えに基づき、目標再生フレームに対応する優先順位付きの目標フレームバッファのパターンにおける優先順位に従ってフレームをデコードしてバッファに格納していくことで、順方向および逆方向に1倍速以内の可変速再生が可能な状態に、速やかに復帰することができる。
1−5−4.優先順位付き目標フレームバッファパターン作成の流れ
次に、上述したような、優先順位付きの目標フレームバッファのパターンの一例の作成方法について、図13のフローチャートを用いて説明する。また、以下では、目標とされるフレーム(カレントフレームと呼ぶ)がBピクチャによるフレームであるものとして説明する。
先ず、ステップS10で、カレントフレームが属するカレントGOPのIピクチャ(I0)を取得する。図14Aに一例が示されるように、カレントフレーム対応するピクチャから記録媒体上の順序で逆方向に向けて、Iピクチャを検索する。なお、この段階では、目標フレームバッファパターンのフレームは、一つも確定していない(図15A参照)。また、記録媒体上の各ピクチャの位置は、上述したピクチャポインタ情報に基づき得ることができる。
カレントGOPの先頭Iピクチャ(I0)が取得されると、ステップS11で、カレントフレームに対応するピクチャから記録媒体上の順序で順方向に向けて、カレントフレームより2フレーム進んだ位置以降のIピクチャまたはPピクチャ(P0)を検索する(図14B参照)。この段階では、目標フレームバッファパターンのフレームは、一つも確定していない(図15B参照)。
ステップS12で、上述したステップS10およびステップS11で取得されたピクチャ(I0)かピクチャ(P0)までIおよび/またはPピクチャを検索する。そして、検索されて得られたIおよび/またはPピクチャの、目標フレームバッファに対する格納順を、デコード順に確定する。
例えば、図14Cに一例が示されるように、ステップS10で検索されたピクチャ(I0)から記録媒体上の順序で順方向に向けて、次のPピクチャ(P)が再生方向で順方向に順次、検索される。そして、検索されたPピクチャ(P)と、ステップS10で検索されたピクチャ(I0)とを、デコードの順番に並べ替える。
この並べ替えられたIおよび/またはPピクチャが目標フレームバッファパターンに用いる、カレントGOPの優先順位付きのフレームとされる。この例では、図15Cに一例が示されるように、GOPで見た場合は、カレントGOPが最も優先順位が高くされ、カレントGOPの次のGOPである(カレント+1)GOPがその次に高い優先順位とされる。GOP内では、例えばカレントGOPの場合、カレントGOPのIピクチャによるフレーム(I)が最も優先順位が高くされ、カレントGOPのPピクチャによるフレーム(P)が次に優先順位が高くされる。Pピクチャによるフレームが複数、検索された場合には、デコード順に優先順位が設定される。このGOP内の優先順位付けは、(カレント+1)GOP内でも同様である。
次のステップS13で、カレントGOPの1つ前のGOP、すなわち、カレントGOPに対して再生方向で逆方向側に隣接する(カレント−1)GOPの先頭Iピクチャ(I-1)が検索される(図14D参照)。この段階では、目標フレームバッファパターンは、上述の図15Cの状態から変化していない。
さらに、次のステップS14で、ステップS13で検索されたピクチャ(I-1)から、(カレント−1)GOP内のIおよび/またはPピクチャが再生方向で順方向に順次、検索される(図14E参照)。そして、検索されたPピクチャと、ステップS13で検索されたIピクチャ(I-1)とを、デコードの順番に並べ替える。この並べ替えられたIおよび/またはPピクチャが目標フレームバッファパターンに用いる(カレント−1)GOPの優先順位付きのフレームとして、上述のステップS12による、カレントGOPの優先順位付きのフレームに対して追加される。
すなわち、図15Eに一例が示されるように、(カレント−1)GOPが(カレント+1)GOPよりも低い優先順位が低い位置に並べられる。(カレント−1)GOP内での優先順位付けは、カレントGOPの場合と同様である。
上述のステップS13およびステップS14の処理は、バッファメモリが埋められるまで繰り返される(ステップS15)。バッファメモリがカレントGOPおよび(カレント−1)GOPの検索されたIおよび/またはPピクチャで埋められたら(図15F参照)、処理は次のステップS16に移行される。図15Fでは、(カレント−1)GOPよりさらに1つ先の、(カレント−2)GOPが(カレント−1)GOPよりも優先順位が低い位置に並べられる。
ステップS16では、カレントフレームに対し、再生方向の逆方向に隣接するフレームから再生方向の順方向に隣接するフレームまでの、Bピクチャによるフレーム(B)が検索される(図14F参照)。検索結果は、上述のバッファメモリに確定されたIおよび/またはPピクチャの情報とは別に、保持される(図16A)。
ステップS16で検索されたフレーム(B)は、次のステップS17で、デコードの優先順に並べ替えられる。ここで、再生方向が順方向の場合、優先順位は、目標再生フレーム>順方向側フレーム>逆方向フレームの順となる。また、再生方向が逆方向の場合、優先順位は、目標再生フレーム>逆方向再生フレーム>順方向再生フレームの順となる。
上述した図14Fの状態から、再生方向が順方向および逆方向についてフレーム(B)を優先順に並べた例を、図16Bにパターン50および51としてそれぞれ示す。なお、上述の図14Fの例では、カレントフレームがBピクチャによるフレームであって、カレントフレームの再生方向で順方向側に隣接するフレームがBピクチャによるフレームではなく、逆方向に隣接するフレームがBピクチャによるフレームとなっている。そのため、再生方向が順方向の場合は、上述の優先順位に従い、パターン50に示されるように、目標再生フレーム(B)、逆方向フレーム(B−)の順に並べられる。また、再生方向が逆方向の場合も、パターン51に示されるように、順方向と同一の並びとされる。
次のステップS18では、上述のステップS15までの処理で既に確定された目標フレームバッファパターンから、ステップS16で検索されたフレーム(B)の枚数分のフレームが削除される(図16C参照)。目標フレームバッファパターンからのフレームの削除は、優先順位の低い側からなされる。
ステップS19で、再生方向に応じて、目標フレームバッファパターン内に並べられたフレームの優先順位の順番を並び替える。フレームの優先順位が並べ替えられた目標フレームバッファパターンの例を図16Dに示す。
再生方向が順方向の場合、最も順方向側のGOPが最も優先順が高くされ、逆方向側に向けて、最も逆方向側のGOPが最も優先順位が低くなるように並び替えられる。すなわち、パターン52に一例が示されるように、(カレント+1)GOPが最も優先順位が高い位置に並べられ、次に優先順位が高い位置にカレントGOPが並べられる。(カレント−1)GOPは、最も優先順位が低い位置に並べられる。
一方、再生方向が逆方向の場合、最も逆方向側のGOPが最も優先順位が高くされ、順方向に向けて、最も順方向側のGOPが最も優先順位が低くなるように並び替えられる。すなわち、パターン53に一例が示されるように、(カレント−1)GOPが最も優先順位が高い位置に並べられ、次に優先順位が高い位置にカレントGOPが並べられる。(カレント+1)GOPは、最も優先順位が低い位置に並べられる。
また、再生方向が順方向および逆方向の何れの場合においても、GOP内でのフレームの順序は、デコード順に従い、最も先にデコードされるフレームが最も優先順位の高い位置に並べられ、以降、デコード順に従い優先順位が順次、低くされる。
なお、キューアップ時などのように、目標再生フレームの出力を少しでも速く行いたい場合は、パターン54に一例が示されるように、並べ替えないという方法も考えられる。
次のステップS20で、上述のステップS17でデコード順に優先順位付けされて並べられたフレーム(B)を、目標フレームバッファパターンに対して挿入して、1行分、すなわち、ある目標再生フレームに対する目標フレームバッファパターンが確定される。
フレーム(B)は、目標フレームバッファパターンにおいて、先頭フレームからデコードしていったときに、所望のフレーム(B)がデコード可能な最初のバッファに挿入する。フレーム(B)の挿入位置の例を、図16Eに示す。
一例として、対象となるフレーム(B)が、上述した図14Fに示されるように、記録媒体上の位置で(カレント+1)GOPの先頭に配置されるフレームである場合、当該フレーム(B)は、カレントGOPの最後のフレーム(P)と、(カレント+1)GOPの先頭のフレーム(I+1)とを用いてデコードされる。
したがって、再生方向が順方向の場合、(カレント+1)GOPの先頭のフレーム(I+1)の方がカレントGOPの最後のフレーム(P)よりも優先順位が高いので、パターン55に一例が示されるように、カレントGOPの最後のフレーム(P)の後ろに、2枚のフレーム(B)が挿入される。
一方、再生方向が順方向の場合、カレントGOPの最後のフレーム(P)の方が(カレント+1)GOPの先頭のフレーム(I+1)よりも優先順位が高いので、パターン56に一例が示されるように、(カレント+1)GOPの先頭のフレーム(I+1)の後ろに、2枚のフレーム(B)が挿入される。
なお、上述したキューアップ時のような、目標再生フレームの出力を少しでも速くしたい場合も、同様である。この場合の例をパターン57に示す。(カレント+1)GOPの先頭のフレーム(I+1)の後ろに、2枚のフレーム(B)が挿入される。
なお、記録媒体上に記録されたピクチャの位置やタイプ(Iピクチャ、PピクチャおよびBピクチャ)は、図9を用いて説明したピクチャポインタファイルを参照することで知ることができる。例えばシステムやより上位のシステムから、あるフレームの再生が指示されると、CPU14は、再生を指示されたフレームを目標再生フレームとし、当該目標再生フレームが属するGOPをカレントGOPとしてピクチャポインタファイルを検索し、カレントGOPのIピクチャの位置を取得する。ピクチャポインタファイルには、上述のように、ピクチャタイプ、そのピクチャがGOPの先頭のピクチャであるか否かを示すフラグ、ピクチャのサイズ情報、先頭アドレスが記述されているので、これらの情報に基づき記録媒体上の所望のピクチャを検索することが可能となっている。
目標再生フレームに基づき目標フレームバッファパターンが確定し、確定された目標フレームバッファパターンに従いフレームバッファがデコードされたフレームで埋められると、図12を用いて説明したような動作により、再生指示に対して所定の固定遅延で、順方向および逆方向の1倍速以内の再生が行われる。
なお、ここでは、目標再生フレームがBピクチャであるものとして説明したが、上述の図13のフローチャートで説明した処理は、カレントフレームがIピクチャおよびPピクチャの場合にも同様にして適用できる。
また、システムやより上位のシステムから再生を指示されたフレームを目標再生フレームとして、上述の図13のフローチャートに従い、当該目標再生フレームに対応した目標フレームバッファパターンを作成する。この処理を、例えば目標再生フレームが指示される毎に行う。最初の目標再生フレームの指示に基づき、GOP内の全てのフレームについて作成してもよい。作成された目標フレームバッファパターンは、例えばRAM36に記憶される。
これに限らず、再生するクリップのGOPの構成が予め分かっていれば、上述の図13のフローチャートに示される処理を、GOPを構成する各ピクチャに対して行って、上述した図12のようなフレームバッファの更新パターンを予め作成しておくことも可能である。また、再生装置1において適用可能なGOPの構成が決められていれば、予め更新パターンを作成し、ROM35に記憶させておくことも可能である。
1−5−5.優先順位付き目標フレームバッファ更新パターンの他の例
上述では、(N=15、M=3)であるロングGOPの場合において、再生方向が順方向の場合の、バッファメモリの優先順位付き更新パターンについて説明したが、このシステムは、この例だけでなく、他の場合にも適用することができる。例えば、再生方向が逆方向の場合や、ロングGOPの構成が(N=15、M=3)以外の場合にも、このシステムを適用することができる。以下、これら他の場合について、具体的な例を挙げて説明する。
他の場合の第1の例として、ロングGOPの構成が上述の図12を用いて説明した例と同様の(N=15、M=3)であって、再生方向が逆方向である場合について、図17を用いて説明する。図17Aは、図11に対応する、再生方向が逆方向の場合のバッファメモリの優先順位付き更新パターンの一例を示す。この図17Aの更新パターンは、上述の図13のフローチャートを用いて説明した方法に従い、作成することができる。
また、図17Bは、この図17Aのパターンに基づき、ある1フレームのみがフレームバッファに格納された状態を基点として、1倍速デコーダでデコードされたフレームがバッファメモリに格納されていく様子を示す。
なお、図17Aおよび図17Bは、図の下側から図の上側に向けた方向、すなわち、第15行目から第1行目に進む方向が逆方向の再生方向を示す。
図12Aを用いて説明した順方向の例と同様に、図17Aに示される更新パターンと図11に示される更新パターンとにおいて、対応する行には、同一のフレームが含まれる。また、各行において、右側から左側に向けて優先順位が高くされているのも、同様である。
再生方向が逆方向の場合、優先順位は、GOPについては、高い方から低い方に、逆方向再生端のGOPから順方向再生端のGOPに向けて設定する。また、各GOPについては、IおよびPピクチャによるフレームは、逆方向再生端のGOPから、順方向再生端のGOPに向かうように、優先順位を設定する。一方、Bピクチャによるフレームは、目標再生フレームを含むその前後3フレーム内のBピクチャを選び、優先順位が高い方から低い方へ、目標再生フレーム、逆方向側フレーム、順方向側フレームの順番で、バッファメモリのデコード可能なバンクに挿入する。
一例として、目標再生フレームがフレーム「P6」である図17Aの第4行目では、カレントGOPの1つ前のGOP、カレントGOPの順に優先順位が設定され、カレントGOPの1つ前のGOPにおいては、フレーム「I3-1」が最も優先順位が高く、以下、フレーム「P6-1」、フレーム「P9-1」、フレーム「P12-1」の順に優先順位が低くなるようにされる。また、カレントGOPにおいては、フレーム「I3」が最も優先順位が高く、以下、フレーム「P6」、フレーム「B5」、フレーム「P9」、フレーム「B7」の順に優先順位が低くなるようにされる。
すなわち、目標再生フレームがフレーム「P6」であって、バッファメモリに1つもフレームが格納されていない場合には、カレントGOPの1つ前のGOPのフレーム「I3-1」を最優先でデコードし、デコードされたフレーム「I3-1」を用いてフレーム「P6-1」をデコードし、以下、カレントGOPの1つ前のGOPのPピクチャによるフレームを順次、デコードする。そして、次に、カレントGOPのフレーム「I3」をデコードし、フレーム「I3」を用いてフレーム「P6」をデコードする。
また、目標再生フレームがフレーム「P」であって、バッファメモリにフレーム「I3-1」〜フレーム「P6」までが既にバッファメモリに格納されている場合には、目標再生フレームのフレーム「P6」に隣接するBピクチャによるフレームのうち、逆方向側のフレーム「B5」が優先的にデコードされる。
図17Bを用いて、フレーム「I3」のみがデコードされバッファメモリに格納されている状態を基点とした場合の動作について、より具体的に説明する。
図17Aにおける第15行目の、目標再生フレームがフレーム「B2+1」の場合、最も優先順位の高いフレーム「I3」は、既にデコードされバッファに格納されている。この場合、再生可能なフレームがフレーム「I3」なので、このフレーム「I3」が再生フレームとされる。
目標再生フレームがフレーム「B2+1」からフレーム「B1+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「I3-1」(図17Aの第14行目参照)のデコードおよびバッファへの格納が開始される(図17Bの第14行目参照)。これにより、バッファには、フレーム「I3」およびフレーム「I3-1」が格納されることになる。
一方、フレーム「I3-1」がデコードされた段階では、目標再生フレームであるフレーム「B1+1」は、未だデコードできない。このようなばあい、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向(この場合逆方向)に最も近く、且つ、目標再生フレームの再生順を超えないフレームが再生フレームとされる。しかしながら、この図17Bの第14行目では、目標再生フレームに対して再生順が逆方向の位置にあるフレームが存在しない。そのため、ここでは、フレーム「I3」が再生フレームとされる。
なお、新たにデコードされるフレームは、デコードされつつバッファに格納されるため、実際には、再生できない。図17Bの例では、矢印が付されたフレームがこれに相当する。例えば、上述の図17Bの第14行目では、フレーム「I3-1」は、実際にはこのタイミングでは再生できないフレームとなる。
目標再生フレームがフレーム「B1+1」からフレーム「P15」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P6」(図17Aの第13行目参照)のデコードおよびバッファへの格納が開始される(図17Bの第13行目)。これにより、バッファには、フレーム「I3」、フレーム「I3-1」およびフレーム「P6」が格納されることになる。
一方、フレーム「P6」がデコードされた段階では、目標再生フレームであるフレーム「P15」は、未だデコードできない。また、このとき、目標再生フレームに対して再生方向が逆方向に位置するフレームがバッファメモリ中に存在しない。そのため、ここでは、フレーム「I3」が再生フレームとされる。
目標再生フレームがフレーム「P15」からフレーム「B14」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P9」(図17Aの第12行目)のデコードおよびバッファへの格納が開始される(図17Bの第12行目参照)。これにより、バッファには、フレーム「I3」、フレーム「I3-1」、フレーム「P6」およびフレーム「P9」が格納されることになる。
一方、フレーム「P9」がデコードされた段階では、目標再生フレームであるフレーム「B14」は、未だデコードできない。また、このとき、目標再生フレームに対して再生方向が逆方向に位置するフレームがバッファメモリ中に存在しない。そのため、ここでは、フレーム「I3」が再生フレームとされる。
目標再生フレームがフレーム「B14」からフレーム「B13」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P6-1」(図17Aの第11行目参照)のデコードおよびバッファへの格納が開始される(図17Bの第11行目参照)。これにより、バッファには、フレーム「I3」、フレーム「I3-1」、フレーム「P6」、フレーム「P9」およびフレーム「P6-1」が格納されることになる。
一方、フレーム「P6-1」がデコードされた段階では、目標再生フレームであるフレーム「B14」は、未だデコードできない。また、このとき、目標再生フレームに対して再生方向が逆方向に位置するフレームがバッファメモリ中に存在しない。そのため、ここでは、フレーム「I3」が再生フレームとされる。
目標再生フレームがフレーム「B13」からフレーム「P12」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P12」(図17Aの第10行目参照)のデコードおよびバッファへの格納が開始される(図17Bの第10行目参照)。これにより、バッファには、フレーム「I3」、フレーム「I3-1」、フレーム「P6」、フレーム「P9」、フレーム「P6-1」およびフレーム「P12」が格納されることになる。
一方、この図17Bの第10行目において、フレーム「P12」は、デコードされつつバッファに格納されるため、実際には、このタイミングでは再生できない。また、このとき、目標再生フレームに対して再生方向が逆方向に位置するフレームがバッファメモリ中に存在しない。そのため、ここでは、フレーム「I3」が再生フレームとされる。
目標再生フレームがフレーム「P12」からフレーム「B11」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B11」(図17Aの第9行目参照)のデコードおよびバッファへの格納が開始される(図17Bの第9行目参照)。これにより、バッファには、フレーム「I3」、フレーム「I3-1」、フレーム「P6」、フレーム「P9」、フレーム「P6-1」、フレーム「P12」およびフレーム「B11」が格納されることになる。
一方、この図17Bの第9行目において、フレーム「B11」は、デコードされつつバッファに格納されるため、実際には、このタイミングでは再生できない。そこで、目標再生フレームに対して再生順が逆方向に最も近く、且つ、目標再生フレームの再生順を超えないフレーム「P12」が再生フレームとされる。
目標再生フレームがフレーム「B11」からフレーム「B10」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P9-1」(図17Aの第8行目参照)のデコードおよびバッファへの格納が開始される(図17Bの第8行目参照)。これにより、バッファには、フレーム「I3」、フレーム「I3-1」、フレーム「P6」、フレーム「P9」、フレーム「P6-1」、フレーム「P12」、フレーム「B11」およびフレーム「P9-1」が格納されることになる。
一方、この図17Bの第8行目において、フレーム「B10」は、デコードされつつバッファに格納されるため、実際には、このタイミングでは再生できない。そこで、目標再生フレームに対して再生順が逆方向に最も近く、且つ、目標再生フレームの再生順を超えないフレーム「B11」が再生フレームとされる。
目標再生フレームがフレーム「B10」からフレーム「P9」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B8」(図17Aの第7行目参照)のデコードおよびバッファへの格納が開始される(図17Bの第7行目参照)。これにより、バッファには、フレーム「I3」、フレーム「I3-1」、フレーム「P6」、フレーム「P9」、フレーム「P6-1」、フレーム「P12」、フレーム「B11」、フレーム「P9-1」およびフレーム「B8」が格納されることになる。
この目標再生フレームがフレーム「P9」の場合には、当該フレーム「P9」は、既にデコードされバッファに格納されている。そのため、このフレーム「P9」が再生フレームとされる。
目標再生フレームがフレーム「P9」からフレーム「B8」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「B7」(図17Aの第6行目参照)のデコードおよびバッファへの格納が開始されると共に、最も優先順位が低いとされたフレーム「P12」が破棄される(図17Bの第6行目参照)。これにより、フレーム「I3」、フレーム「I3-1」、フレーム「P6」、フレーム「P9」、フレーム「P6-1」、フレーム「B7」、フレーム「B11」、フレーム「P9-1」およびフレーム「B8」が格納されることになる。
この目標再生フレームがフレーム「B8」の場合には、フレーム「B8」は、既にデコードされバッファに格納されている。そのため、このフレーム「B8」が再生フレームとされる。
目標再生フレームがフレーム「B8」からフレーム「B7」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P12-1」(図17Aの第5行目参照)のデコードおよびバッファへの格納が開始されると共に、既に再生され、且つ、優先順位も低いBピクチャによるフレーム「B11」が破棄される(図17Bの第5行目参照)。これにより、フレーム「I3」、フレーム「I3-1」、フレーム「P6」、フレーム「P9」、フレーム「P6-1」、フレーム「B7」、フレーム「P12-1」、フレーム「P9-1」およびフレーム「B8」が格納されることになる。
この図17Bの第5行目のシーケンスで、バッファメモリに格納されるフレームが、図17Aの第5行目に示される、バッファメモリの更新パターンのフレームの格納状態と一致する。すなわち、逆方向の再生において、優先順位に従いデコードを行うことで、フレーム「I3」だけがデコードされた状態を基点とした場合、11フレーム目で、順方向および逆方向に1倍速以内の可変速再生が可能な状態に復帰している。
したがって、例えば、再生速度が1倍速以上の状態から1倍速に変化した際に、フレーム「I3」だけがデコードされバッファメモリに格納された状態になっていれば、11フレーム分の期間が経過した段階で順方向および逆方向に1倍速以内の可変速再生が可能となる。
また、この11フレーム期間に再生されるフレームは、「I3、I3、I3、I3、I3、I3、P12、B11、P9、B8、B7」となり、最初、フレーム「I3」が6フレーム期間で連続して現れ静止画として表示された後の表示は、再生方向の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示が可能である。
以降、図17Bの第4行目〜第1行目の処理は、目標再生フレームが移行する度に、バッファメモリに格納された所定のフレームが破棄されると共に、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレームがデコードされ、フレームが破棄された位置にデコードされたフレームが格納される処理が繰り返されることになる。
1−5−6.優先順位付き目標フレームバッファ更新パターンのさらに他の例
次に、他の場合の第2および第3の例として、ロングGOPの構成が(N=5)である場合について説明する。この場合、GOPは、1枚のIピクチャと4枚のPピクチャとから構成され、Bピクチャが用いられない。この例では、GOP内のピクチャの順序は、記録媒体上および出力順で共通の、「I1、P2、P3、P4、P5」とされる。
先ず、他の場合の第2の例として、(N=5)であるロングGOPの場合の目標フレームバッファの一例の更新パターンについて、図18を用いて説明する。この場合、図10Cを用いて説明した式(N/M+M+1)によれば、N=7、M=1としてN/M+M+1=7となり、バッファメモリは、少なくとも7フレーム分の容量が必要となる。以下では、(N=5)であるロングGOPにおいて、上述と同様の9フレーム分が格納可能なバッファメモリを用いるものとして説明する。
この(N=5)の場合も、図11を用いて説明した(N=15、M=3)の場合と同様の考え基づき更新パターンを作成することができる。すなわち、この(N=5)の場合でも、図18中の各行に示されるように、目標再生フレームに対応したフレームがフレームバッファに格納された状態で、目標再生フレームを任意の方向に1フレームずつ移動させた場合に、更新されるフレームをそれぞれ1フレーム分とし、順方向および逆方向の1倍速以内の可変速再生を、1倍速デコーダを用いて行うことができるようにしている。
なお、図18中で用いられる記号等の意味は、上述した図11などで用いられる記号等と同様である。また、この図18の更新パターンは、図の上側から下側に向けた方向が順方向の再生を示し、下側から上側に向けた方向が逆方向の再生を示す。さらに、この図18の更新パターンは、循環的とされる。
上述した図11の例と同様に、図18の更新パターンの各行において、その行に対応する目標再生フレームと、当該目標再生フレームに対して再生方向で順方向および逆方向にそれぞれ隣接するフレームが、当該目標再生フレームと共にフレームバッファに格納されるべきフレームとされる。それと共に、当該目標再生フレームに対して順方向および逆方向に隣接するフレームにさらに隣接するフレームをデコードするために必要なフレームが、当該目標再生フレームと共にフレームバッファに格納されるべきフレームとされる。また、目標再生フレームが隣接する行の間において、更新フレームが1フレームのみとなるようにされる。
図18を参照して、目標再生フレームがフレーム「I1」のとき(第1行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1-1」、フレーム「P2-1」、フレーム「P3-1」、フレーム「P4-1」、フレーム「P5-1」およびフレーム「I1-2」とされる。後述する目標再生フレームがフレームP5+2」のパターンに対して、フレーム「P2-2」がフレーム「P3」に更新されている。
なお、後述する第15行目からこの第1行目のパターンに戻る場合、この図18の例では、フレーム「P5+2」の次の目標再生フレームがフレーム「I1」となる。したがって、この図18に示される15個のパターンを循環的に考える際には、例えば第15行目のGOPを再生順に3GOP分戻したGOPに置き換える。
目標再生フレームがフレーム「P2」のとき(第2行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1-1」、フレーム「P2-1」、フレーム「P3-1」、フレーム「P4-1」、フレーム「P5-1」およびフレーム「P4」とされる。上述の目標再生フレームがフレーム「I1」のパターンに対して、フレーム「I2-2」がフレーム「P4」に更新されている。
目標再生フレームがフレーム「P3」のとき(第3行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1-1」、フレーム「P2-1」、フレーム「P3-1」、フレーム「P4-1」、フレーム「P5」およびフレーム「P4」とされる。上述の目標再生フレームがフレーム「P2」のパターンに対して、フレーム「P5-1」がフレーム「P5」に更新されている。
目標再生フレームがフレーム「P4」のとき(第4行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1-1」、フレーム「P2-1」、フレーム「P3-1」、フレーム「I1+1」、フレーム「P5」およびフレーム「P4」とされる。上述の目標再生フレームがフレーム「P3」のパターンに対して、フレーム「P4-1」がフレーム「I1+1」に更新されている。
目標再生フレームがフレーム「P5」のとき(第5行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1-1」、フレーム「P2-1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5」およびフレーム「P4」とされる。上述の目標再生フレームがフレーム「P4」のパターンに対して、フレーム「P3-1」がフレーム「P2+1」に更新されている。
目標再生フレームがフレーム「I1+1」のとき(第6行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1-1」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5」およびフレーム「P4」とされる。上述の目標再生フレームがフレーム「P5」のパターンに対して、フレーム「P2-1」がフレーム「P3+1」に更新されている。
目標再生フレームがフレーム「P2+1」のとき(第7行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「P4+1」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5」およびフレーム「P4」とされる。上述の目標再生フレームがフレーム「I1+1」のパターンに対して、フレーム「I1-1」がフレーム「P4+1」に更新されている。
目標再生フレームがフレーム「P3+1」のとき(第8行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「P4+1」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5+1」およびフレーム「P4」とされる。上述の目標再生フレームがフレーム「P2+1」のパターンに対して、フレーム「P5」がフレーム「P5+1」に更新されている。
目標再生フレームがフレーム「P4+1」のとき(第9行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「P4+1」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5+1」およびフレーム「I1+2」とされる。上述の目標再生フレームがフレーム「P3+1」のパターンに対して、フレーム「P4」がフレーム「I1+2」に更新されている。
目標再生フレームがフレーム「P5+1」のとき(第10行目)のパターンは、フレーム「I1」、フレーム「P2」、フレーム「P2+2」、フレーム「P4+1」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5+1」およびフレーム「I1+2」とされる。上述の目標再生フレームがフレーム「P4+1」のパターンに対して、フレーム「P3」がフレーム「P2+2」に更新されている。
目標再生フレームがフレーム「I1+2」のとき(第11行目)のパターンは、フレーム「I1」、フレーム「P3+2」、フレーム「P2+2」、フレーム「P4+1」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5+1」およびフレーム「I1+2」とされる。上述の目標再生フレームがフレーム「P5+1」のパターンに対して、フレーム「P2」がフレーム「P3+2」に更新されている。
目標再生フレームがフレーム「P2+2」のとき(第12行目)のパターンは、フレーム「P4+2」、フレーム「P3+2」、フレーム「P2+2」、フレーム「P4+1」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5+1」およびフレーム「I1+2」とされる。上述の目標再生フレームがフレーム「I2+2」のパターンに対して、フレーム「I1」がフレーム「P4+2」に更新されている。
目標再生フレームがフレーム「P3+2」のとき(第13行目)のパターンは、フレーム「P4+2」、フレーム「P3+2」、フレーム「P2+2」、フレーム「P4+1」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5+2」およびフレーム「I1+2」とされる。上述の目標再生フレームがフレーム「P2+2」のパターンに対して、フレーム「P5+1」がフレーム「P5+2」に更新されている。
目標再生フレームがフレーム「P4+2」のとき(第14行目)のパターンは、フレーム「P4+2」、フレーム「P3+2」、フレーム「P2+2」、フレーム「I1+3」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5+2」およびフレーム「I1+2」とされる。上述の目標再生フレームがフレーム「P3+2」のパターンに対して、フレーム「P4+1」がフレーム「I1+3」に更新されている。
目標再生フレームがフレーム「P4+2」のとき(第14行目)のパターンは、フレーム「P4+2」、フレーム「P3+2」、フレーム「P2+2」、フレーム「I1+3」、フレーム「P3+1」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5+2」およびフレーム「I1+2」とされる。上述の目標再生フレームがフレーム「P3+2」のパターンに対して、フレーム「P4+1」がフレーム「I1+3」に更新されている。
目標再生フレームがフレーム「P5+2」のとき(第15行目)のパターンは、フレーム「P4+2」、フレーム「P3+2」、フレーム「P2+2」、フレーム「I1+3」、フレーム「P2+3」、フレーム「P2+1」、フレーム「I1+1」、フレーム「P5+2」およびフレーム「I1+2」とされる。上述の目標再生フレームがフレーム「P4+2」のパターンに対して、フレーム「P3+1」がフレーム「P2+3」に更新されている。
このように、図18に一例を示すフレームバッファの更新パターンでは、上述した図11の例と同様に、各フレーム毎の更新パターン間で、1フレーム分のみが更新されるようになっている。
第6行目の、目標再生フレームがフレーム「I1+1」の場合を例にとって説明する。この場合、先ず、目標再生フレーム「I1+1」と再生順で順方向および逆方向にそれぞれ隣接するフレームであるフレーム「P2+1」およびフレーム「P5」がフレームバッファに格納されるべきフレームとされる。
また、目標再生フレームに対して順方向に1フレーム分、再生が進んだ際に再生が継続できるように、目標再生フレーム「I1+1」の順方向の隣接フレーム「P2+1」に対して、順方向および逆方向にそれぞれ隣接するフレームがフレームバッファに格納されるべきフレームとされる。逆方向に隣接するフレームは、現在の目標再生フレーム「I1+1」であって、順方向に隣接するフレームは、フレーム「P3+1」である。
目標再生フレームの逆方向に隣接するフレームに対しても同様にして、当該フレームの順方向および逆方向に隣接するフレームがフレームバッファに格納されるべきフレームとされる。順方向に隣接するフレームは、現在の目標再生フレーム「I1+1」であって、逆方向に隣接するフレームは、フレーム「P5」となる。ここで、フレーム「P5」をデコードするためには、フレーム「P4」、フレーム「P3」、フレーム「P2」およびフレーム「I1」が必要とされるので、これらのフレームも、フレームバッファに格納されるべきフレームとされる。
このように、目標再生フレームがフレーム「I1+1」の場合には、順方向に対してフレーム「P2」およびフレーム「P3」が、逆方向に対してフレーム「P5」、フレーム「P4」、フレーム「P3」、フレーム「P2」およびフレーム「I1」が、それぞれフレームバッファに格納されるべきフレームとされる。
次に、上述した、(N=5)であって、ピクチャの構成が「I1、P2、P3、P4、P5」であるロングGOPの場合において、バッファメモリの更新パターンに対してデコードする際の優先順位をピクチャ毎に付与した例について説明する。
先ず、図19を用いて、再生方向が順方向の場合について説明する。図19Aは、上述した図18のバッファメモリの更新パターンに対して、再生方向が順方向の場合に対応して、フレーム毎に優先順位を付加して並べ替えたものである。
この図19Aおよび後述する図20Aに示されるバッファメモリの優先順位付き更新パターンは、図13〜図16を用いて既に説明した方法により、作成されるものである。したがって、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが優先的にデコードされ、目標再生フレームに順方向に隣接するフレームそのものまたは当該隣接フレームをデコードするために用いられるフレームが、次の優先順位で以てデコードされるように、各更新パターンにおいて優先順位が付与される。
図19Bは、(N=5)であって、ピクチャの構成が「I1、P2、P3、P4、P5」であるロングGOPの場合において、フレーム「I1」のみがデコードされバッファメモリに格納された状態を基点として、1倍速デコーダでデコードされたフレームがバッファメモリに格納されていく様子を示す。
目標再生フレームがフレーム「I1」の場合(図19Aにおける第1行目参照)、バッファメモリに既に格納されているフレーム「I1」(図19Bの第1行目参照)が再生される。
目標再生フレームがフレーム「I1」からフレーム「P2」に移行すると、バッファに格納されていないフレームの内最も優先順位の高いフレーム「P2」(図19Aの第2行目参照)のデコードおよびバッファメモリへの格納が開始される(図19Bの第2行目参照)。これにより、バッファには、フレーム「I1」およびフレーム「P2」が格納されることになる。
ここで、上述もしたが、新たにデコードされるフレームは、デコードされつつバッファメモリに格納されるため、実際にはそのタイミングでは再生できない。図19Bにおいて矢印が付されたフレームがこれに相当する。例えば、図19Bの第2行目に示されるフレーム「P2」は、実際にはこのタイミングでは再生できないフレームとなる。そこで、この場合には、既にデコードされてバッファメモリに格納され、且つ、目標再生フレームを再生順で越えずに最も時間的に近いフレーム「I1」が再生フレームとされる。
目標再生フレームがフレーム「P2」から次のフレーム「P3」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P3」(図19Aの第3行目参照)のデコードおよびバッファメモリへの格納が開始される(図19Bの第3行目参照)。これにより、バッファには、フレーム「I1」、フレーム「P2」およびフレーム「P3」が格納されることになる。
このとき、上述と同様に、フレーム「P3」は、デコードされつつバッファに格納されるため、このタイミングでは再生できない。そのため、既にデコードされバッファメモリに格納され、且つ、目標再生フレーム「P3」を再生順で越えずに最も時間的に近いフレーム「P2」が再生フレームとされる。
目標再生フレームがフレーム「P3」からフレーム「P4」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「I1+1」(図19Aの第4行目参照)のデコードおよびバッファメモリへの格納が開始される(図19Bの第4行目参照)。これにより、バッファには、フレーム「I1」、フレーム「P2」、フレーム「P3」およびフレーム「I1+1」が格納されることになる。
このとき、目標再生フレームであるフレーム「P4」は、未だデコードされていないので、既にデコードされてバッファメモリに格納され、且つ、目標再生フレームを再生順で越えずに最も時間的に近いフレーム「P3」が再生フレームとされる。
目標再生フレームがフレーム「P4」からフレーム「P5」に移行すると、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレーム「P2+1」(図19Aの第5行目参照)のデコードおよびバッファメモリへの格納が開始される(図19Bの第5行目参照)。これにより、バッファには、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1+1」およびフレーム「P2+1」が格納されることになる。
このとき、目標再生フレームであるフレーム「P5」は、未だデコードされていないので、既にデコードされてバッファメモリに格納され、且つ、目標再生フレームを再生順で越えずに最も時間的に近いフレーム「P3」が再生フレームとされる。
目標再生フレームがフレーム「P5」からフレーム「I1+1」に移行すると、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレーム「P3+1」(図19Aの第6行目参照)のデコードおよびバッファメモリへの格納が開始される(図19Bの第6行目参照)。これにより、バッファには、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1+1」、フレーム「P2+1」およびフレーム「P3+1」が格納されることになる。
この目標再生フレームがフレーム「I1+1」の場合には、当該フレーム「I1+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「I1+1」が再生フレームとされる。
目標再生フレームがフレーム「I1+1」からフレーム「P2+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P4+1」(図19Aの第7行目参照)のデコードおよびバッファメモリへの格納が開始される(図19Bの第7行目参照)。これにより、バッファには、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1+1」、フレーム「P2+1」、フレーム「P3+1」およびフレーム「P4+1」が格納されることになる。
この目標再生フレームがフレーム「P2+1」の場合には、当該フレーム「P2+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「P2+1」が再生フレームとされる。
目標再生フレームがフレーム「P2+1」からフレーム「P3+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P5+1」(図19Aの第8行目参照)のデコードおよびバッファメモリへの格納が開始される(図19Bの第8行目参照)。これにより、バッファには、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1+1」、フレーム「P2+1」、フレーム「P3+1」、フレーム「P4+1」およびフレーム「P5+1」が格納されることになる。
この目標再生フレームがフレーム「P3+1」の場合には、当該フレーム「P3+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「P3+1」が再生フレームとされる。
目標再生フレームがフレーム「P3+1」からフレーム「P4+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「I2+2」(図19Aの第9行目参照)のデコードおよびバッファメモリへの格納が開始される(図19Bの第9行目参照)。これにより、バッファには、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「I1+1」、フレーム「P2+1」、フレーム「P3+1」、フレーム「P4+1」、フレーム「P5+1」およびフレーム「I1+2」が格納されることになる。
この目標再生フレームがフレーム「P4+1」の場合には、当該フレーム「P4+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「P4+1」が再生フレームとされる。
この図19Bの第9行目のシーケンスで、バッファメモリに格納されるフレームが、図19Aの第9行目に示される、バッファメモリの更新パターンのフレームの格納状態と一致する。すなわち、(N=5)であって、ピクチャの構成が「I1、P2、P3、P4、P5」であるロングGOPの場合に、順方向の再生において、優先順位に従いデコードを行うことで、フレーム「I1」だけがデコードされた状態を基点とした場合、9フレーム目で、順方向および逆方向に1倍速以内の可変速再生が可能な状態に復帰している。
したがって、例えば、再生速度が1倍速以上の状態から1倍速に変化した際に、フレーム「I1」だけがデコードされバッファメモリに格納された状態になっていれば、9フレーム分の期間が経過した段階で順方向および逆方向に1倍速以内の可変速再生が可能となる。
また、この9フレーム期間に再生されるフレームは、「I1、I1、P2、P3、P3、I1+1、P2+1、P3+1、P4+1」となり、再生の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示がなされる。
以降、図19Bの第10行目〜第15行目の処理は、目標再生フレームが移行する度に、バッファメモリに格納された所定のフレームが破棄されると共に、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレームがデコードされ、フレームが破棄された位置にデコードされたフレームが格納される処理が繰り返されることになる。
次に、(N=5)であって、ピクチャの構成が「I1、P2、P3、P4、P5」であるロングGOPの場合における、再生方向が逆方向の場合について、図20を用いて説明する。なお、図20は、図の下側から図の上側に向けた方向、すなわち、第15行目から第1行目に進む方向が逆方向の再生方向を示す。
図20Aは、上述した図18のバッファメモリの更新パターンに対して、再生方向が逆方向の場合に対応して、フレーム毎に優先順位を付加して並べ替えたものである。また、図20Bは、この図20Aのパターンに基づき、フレーム「I1+2」のみがデコードされバッファメモリに格納されている状態が基点として、1倍速デコーダでデコードされたフレームがバッファメモリに格納される様子を示す。
図20Aにおける第15行目の、目標再生フレームがフレーム「P5+2」の場合、バッファメモリにはフレーム「I1+2」しか格納されていない。この場合、デコードされバッファに既に格納されているフレーム「I1+2」が再生される。
目標再生フレームがフレーム「P5+2」からフレーム「P4+2」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「I1+1」(図20Aの第14行目参照)のデコードおよびバッファメモリへの格納が開始される(図20Bの第14行目参照)。これにより、バッファには、フレーム「I1+2」およびフレーム「I1+1」が格納されることになる。
一方、フレーム「I1+1」がデコードされた段階では、目標再生フレームであるフレーム「P4+2」は、未だデコードできない。このような場合、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向(この場合逆方向)に最も近く、且つ、目標再生フレームの再生順を超えないフレームが再生フレームとされる。しかしながら、この図20Bの第14行目の状態では、この条件を満たすフレームがバッファメモリ上に存在しない。そのため、ここでは、フレーム「I1+2」が再生フレームとされる。
目標再生フレームがフレーム「P4+2」からフレーム「P3+2」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P2+1」(図20Aの第13行目参照)のデコードおよびバッファメモリへの格納が開始される(図20Bの第13行目参照)。これにより、バッファには、フレーム「I1+2」、フレーム「I1+1」およびフレーム「P2+1」が格納されることになる。
一方、フレーム「P2+1」がデコードされた段階では、目標再生フレームであるフレーム「P3+2」は、未だデコードできない。また、この図20Bの第13行目の状態では、目標再生フレームに対して再生順が再生方向に最も近く、且つ、目標再生フレームの再生順を越えないフレームがバッファメモリ上に存在しない。そのため、ここでは、フレーム「I1+2」が再生フレームとされる。
目標再生フレームがフレーム「P3+2」からフレーム「P2+2」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P3+1」(図20Aの第12行目参照)のデコードおよびバッファメモリへの格納が開始される(図20Bの第12行目参照)。これにより、バッファには、フレーム「I1+2」、フレーム「I1+1」、フレーム「P2+1」およびフレーム「P3+1」が格納されることになる。
一方、フレーム「P3+1」がデコードされた段階では、目標再生フレームであるフレーム「P2+2」は、未だデコードできない。また、この図20Bの第12行目の状態では、目標再生フレームに対して再生順が再生方向に最も近く、且つ、目標再生フレームの再生順を越えないフレームがバッファメモリ上に存在しない。そのため、ここでは、フレーム「I1+2」が再生フレームとされる。
目標フレームがフレーム「P2+2」からフレーム「I1+2」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「I1」(図20Aの第11行目参照)のデコードおよびバッファメモリへの格納が開始される(図20Bの第11行目参照)。これにより、バッファには、フレーム「I1+2」、フレーム「I1+1」、フレーム「P2+1」、フレーム「P3+1」およびフレーム「I1」が格納されることになる。
この図20Aにおける第11行目の、目標再生フレームがフレーム「I1+2」の場合、当該目標再生フレーム「I1+2」は、既にデコードされ、バッファに格納されている。そのため、このフレーム「I1+1」が再生フレームとされる。
目標再生フレームがフレーム「I1+2」からフレーム「P5+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P2」(図20Aの第10行目参照)のデコードおよびバッファメモリへの格納が開始される(図20Bの第10行目参照)。これにより、バッファには、フレーム「I1+2」、フレーム「I1+1」、フレーム「P2+1」、フレーム「P3+1」、フレーム「I1」およびフレーム「P2」が格納されることになる。
一方、フレーム「P2」がデコードされた段階では、目標再生フレームであるフレーム「P5+1」は、未だデコードできない。ここで、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向に最も近く、且つ、目標再生フレームの再生順を越えないフレームは、フレーム「I1+2」となる。したがって、このフレーム「I1+2」が再生フレームとされる。
目標再生フレームがフレーム「P5+1」からフレーム「P4+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P3」(図20Aの第9行目参照)のデコードおよびバッファメモリへの格納が開始される(図20Bの第9行目参照)。これにより、バッファには、フレーム「I1+2」、フレーム「I1+1」、フレーム「P2+1」、フレーム「P3+1」、フレーム「I1」、フレーム「P2」およびフレーム「P3」が格納されることになる。
一方、フレーム「P3」がデコードされた段階では、目標再生フレームであるフレーム「P4+1」は、未だデコードできない。ここで、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向に最も近く、且つ、目標再生フレームの再生順を越えないフレームは、フレーム「I1+2」となる。したがって、このフレーム「I1+2」が再生フレームとされる。
目標再生フレームがフレーム「P4+1」からフレーム「P3+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P4」(図20Aの第8行目参照)のデコードおよびバッファメモリへの格納が開始される(図20Bの第8行目参照)。これにより、バッファには、フレーム「I1+2」、フレーム「I1+1」、フレーム「P2+1」、フレーム「P3+1」、フレーム「I1」、フレーム「P2」、フレーム「P3」およびフレーム「P4」が格納されることになる。
この図20Aにおける第8行目の、目標再生フレームがフレーム「P3+1」の場合、当該目標再生フレーム「P3+1」は、既にデコードされ、バッファに格納されている。そのため、このフレーム「P3+1」が再生フレームとされる。
目標再生フレームがフレーム「P3+1」からフレーム「P2+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「P5」(図20Aの第7行目参照)のデコードおよびバッファメモリへの格納が開始される(図20Bの第7行目参照)。これにより、バッファには、フレーム「I1+2」、フレーム「I1+1」、フレーム「P2+1」、フレーム「P3+1」、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「P4」およびフレーム「P5」が格納されることになる。
この図20Aにおける第7行目の、目標再生フレームがフレーム「P2+1」の場合、当該目標再生フレーム「P2+1」は、既にデコードされ、バッファに格納されている。そのため、このフレーム「P2+1」が再生フレームとされる。
目標再生フレームがフレーム「P2+1」からフレーム「I1+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「I1-1」(図20Aの第6行目参照)がデコードされ、バッファメモリに格納される(図20Bの第6行目参照)。
ここで、上述の第7行目の状態において、既にバッファメモリはフレームメモリで埋まっているので、バッファメモリに格納されているフレームのうち少なくとも何れか1つを破棄する必要がある。例えば、目標再生フレームに対して再生方向と逆方向(この場合は再生方向で順方向)の位置にあり、且つ、目標再生フレームと時間的に最も遠い位置にあるフレームが破棄される。この例では、フレーム「I1+2」が破棄される。
これにより、バッファには、フレーム「I1+1」、フレーム「I1+1」、フレーム「P2+1」、フレーム「P3+1」、フレーム「I1」、フレーム「P2」、フレーム「P3」、フレーム「P4」およびフレーム「P5」が格納されることになる。
この図20Aにおける第7行目の、目標再生フレームがフレーム「P2+1」の場合、当該目標再生フレーム「P2+1」は、既にデコードされ、バッファに格納されている。そのため、このフレーム「P2+1」が再生フレームとされる。
この図20Bの第6行目のシーケンスで、バッファメモリに格納されるフレームが、図20Aの第6行目に示される、バッファメモリの更新パターンと一致する。すなわち、(N=5)であって、ピクチャの構成が「I1、P2、P3、P4、P5」であるロングGOPで、逆方向の再生において、優先順位に従いデコードを行うことで、フレーム「I1+2」だけがデコードされた状態を基点とした場合、10フレーム目で、順方向および逆方向に1倍速以内の可変速再生が可能な状態に復帰している。
したがって、例えば、再生速度が1倍速以上の状態から1倍速に変化した際に、フレーム「I1+2」だけがデコードされバッファメモリに格納された状態になっていれば、10フレーム分の期間が経過した段階で順方向および逆方向に1倍速以内の可変速再生が可能となる。
また、この10フレーム期間に再生されるフレームは、「I1+2、I1+2、I1+2、I1+2、I1+2、I1+2、I1+2、P3+1、P2+1、I1+1」となり、再生の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示がなされる。
以降、図20Bの第5行目〜第1行目の処理は、目標再生フレームが移行する度に、バッファメモリに格納された所定のフレームが破棄されると共に、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレームがデコードされ、フレームが破棄された位置にデコードされたフレームが格納される処理が繰り返されることになる。
1−5−7.優先順位付きフレームバッファの更新パターンに基づく再生制御動作
次に、優先順位付きのフレームバッファの更新パターンに基づく再生制御動作について説明する。再生制御は、フレームタイミングで同期を取られて、フレーム毎に順次、行われる。図21は、このシステムに適用可能な同期制御を概略的に示す。この図21の例では、3フレームを周期として、1フレーム分のビデオデータのデコードが行われると共に、このデコードに同期して、フレームバッファ上の1フレーム分のビデオデータが出力される。
先ず、第1フレーム目では、現在フレームバッファに格納されているフレームの情報であって、CPU14により取得されるフレームバッファ情報と、ディスクドライブ11におけるリード情報と、目標速度情報とから、目標再生フレームが確定される(ステップS30)。リード情報は、光ディスク10から既に読み出され、ディスクドライブ11のキャッシュメモリ12に溜め込まれているピクチャの情報である。また、目標速度情報は、操作部15に対する操作や、より上位のアプリケーションなどからのコマンドにより、CPU14に対して供給される、再生速度および方向を示す情報である。
目標再生フレームが確定されると、デコーダ22に転送するピクチャが確定される(ステップS31)。すなわち、図12A、図17A、図19Aおよび図20Aを用いて説明した、デコード優先順位付きのフレームバッファの更新パターン、再生方向および現在のフレームバッファの状態に基づき、目標再生フレームの確定に伴いデコードすべきピクチャが確定される。
例えば、再生方向が順方向である図12Aの第4行目の例でいうと、現在の目標再生フレーム「P6」に対して、新たな目標再生フレームがフレーム「B7」に確定される。また、現在のフレームバッファに対するフレームの格納状態が取得され、取得された状態と、新たな目標再生フレーム「B7」に対応するデコード優先順位付きのフレームバッファの更新パターンとが比較される。そして、新たな目標再生フレーム「B7」に対応するデコード優先順位付きのフレームバッファの更新パターンに基づき、現在フレームバッファに格納されていないフレームのうち最も優先順位が高いフレームがデコードするフレームとして確定される。
図12Aの例では、現在のバッファメモリは、第4行目に示されるようにフレーム「I3」、フレーム「P6」、フレーム「P9」およびフレーム「B7」が格納された状態となっている。これに対して、現在フレームバッファに格納されていないフレームのうち、新たな目標再生フレーム「B7」に対応するデコード優先順位付きのフレームバッファの更新パターン(図12Aの第5行目参照)において最も優先順位が高いフレーム「B8」がデコードするフレームとして確定される。
また例えば、再生方向が逆方向である図17Aの第12行目の例でいうと、現在の目標再生フレーム「B14」に対して、新たな目標再生フレームがフレーム「B13」に確定される。一方、現在のバッファメモリは、第12行目に示されるようにフレーム「I3」、フレーム「I3-1」、フレーム「P6」およびフレーム「P9」が格納された状態となっている。これに対して、現在フレームバッファに格納されていないフレームのうち、新たな目標再生フレーム「B13」に対応するデコード優先順位付きのフレームバッファの更新パターン(図17Aの第11行目参照)において最も優先順位が高いフレーム「P6-1」がデコードするフレームとして確定される。
ステップS31で転送するピクチャが確定されると、次の第2フレーム目のタイミングで、当該ピクチャがデコーダ22に対して転送される(ステップS32)。例えば、CPU14は、ディスクドライブ11に対して、転送が確定されたピクチャを光ディスク10から読み出すように要求する。この要求に応じて、ディスクドライブ11により、光ディスク10からピクチャが読み出される。読み出されたピクチャがデコーダ22に転送される。
なお、実際には、転送が確定されたピクチャの転送は、上述したように、ディスクドライブ11が有するキャッシュメモリ12に対してアクセスされてなされ、キャッシュメモリ12からデコーダ22に対して、DMA(Direct Memory Access)転送によりCPU14を介さないで行われる。
ディスクドライブ11からデコーダ22へのピクチャの転送は、次の第2フレーム目のタイミングに同期して行われる(ステップS32)。また、ステップS31での転送ピクチャの確定に伴い、当該ピクチャに対するデコード情報が確定される(ステップS33)。例えば、確定された転送ピクチャのヘッダ情報から取り出されたデコードに必要なパラメータや、デコードに必要な他のフレームの情報がデコード情報として確定される。これら確定されたデコード情報は、デコーダ22に渡される。
デコーダ22は、ステップS33で転送されたデコード情報に基づき、ステップS32で転送されたピクチャのデコードを、次の第3フレーム目のタイミングに同期して開始する(ステップS34)。デコードされたピクチャ(フレーム)は、フレームバッファの所定のバンクに書き込まれ、フレームバッファが更新される。
一方、上述したステップS30で目標再生フレームが確定されると、出力するビデオデータの情報が確定される(ステップS35)。この確定された出力ビデオデータの情報が出力データ制御部23に渡される。出力データ制御部23では、渡された情報に基づき、第3フレーム目の開始タイミングまでに、ビデオ出力の設定を行う(ステップS36)。そして、この設定に基づき、第3フレーム目に同期して、フレームが出力される(ステップS37)。
なお、再生方向が順方向および逆方向の何れの場合においても、上述のステップS30〜ステップS37で説明した処理は、フレームタイミング毎に順次、実行される。すなわち、第1フレーム目に同期して上述のステップS30の処理による目標再生フレームが確定される。確定された目標再生フレームを新たな出力フレームとして、この新たな出力フレームに対応する新たな目標再生フレームの確定処理が次の第2フレーム目に同期して開始される。
この新たな目標再生フレームの、ディスクドライブ11からデコーダ22への転送処理は、次の第3フレーム目に同期して行われるため、1つ前の処理と干渉することがない。同様に、デコーダ22によるデコード処理も、図示されない第4フレーム目に同期して行われることになるため、1つ前の処理と干渉することがない。
このように、このシステムによれば、順方向の1倍速再生から逆方向の1倍速再生にわたる可変速再生において、与えられた再生速度および再生方向指示コマンドに対して固定的な遅延で、コマ落ちのない再生出力を、1倍速デコーダを用いて実現することができる。
なお、上述の図21のシーケンスにおいて、ステップS30で目標再生フレームが確定してから、その目標再生フレームが目標再生フレームの確定から固定遅延で以てステップS37でビデオ出力されるまでの間は、ステップS32のデータ転送処理およびステップS34のデコード処理がそれぞれ平均して1ピクチャ/フレーム時間に収まる必要がある。換言すれば、ステップS32のデータ転送処理およびステップS34のデコード処理は、それぞれ平均して1ピクチャ/フレーム時間に収まっていれば、それぞれの処理時間を1フレーム時間に固定的とする必要は、無い。
ピクチャのデコードに1倍速デコーダを用い、順方向および逆方向に1倍速以内の再生を、上述したような目標フレームバッファパターンに基づく制御で以て固定遅延で行う場合、上述のように、目標再生フレームが移行する毎に、1フレームのデコードが行われ、それに伴いバッファメモリ上の1フレームが破棄される。そのため、ステップS32のデータ転送処理およびステップS34のデコード処理は、それぞれ1ピクチャ/フレーム時間の処理に収束するように推移し、全体として、図21に示されるような3フレーム周期に収束する。
このように、このシステムによれば、順方向の1倍速再生から逆方向の1倍速再生にわたる可変速再生を、与えられた再生速度および再生方向指示コマンドに対して固定的な遅延で、コマ落ちのない再生出力を、1倍速デコーダで行うことができるように作成されたフレームバッファの更新パターンに対して、フレーム毎にデコードの優先順位を設定している。したがって、結果的に、フレームバッファにフレームが格納されていない状態から1倍速の再生状態に遷移しても、見かけ上、固定遅延のコマンド応答で再生を継続させることができる。
これにより、デコードの優先順位に従いデコードを行いデコードされたフレームをフレームバッファに格納していくことで、フレームバッファにフレームが格納されていない状態から、表示における違和感を抑えつつ、速やかに、順方向の1倍速から逆方向の1倍速までの可変速再生が可能な状態に移行することができる。
2.この発明の実施の一形態について
次に、この発明の実施の一形態について説明する。図22は、この発明の実施の一形態による再生制御を概略的に示す。なお、図22において、縦軸は再生速度を示し、1倍速を超える再生速度では、シャトル再生となる。また、横軸は時間経過を示す。この発明の実施の一形態では、再生速度が1倍速を超えるシャトル再生時には補助ビデオデータを出力し、シャトル再生から再生速度が1倍速の再生に変化した時点(図22の時点A)で、本線ビデオデータの読み出しを開始する。この時点Aにおいて、本線ビデオデータについて、上述したシステムによる優先順位付き目標フレームバッファ更新パターンを作成する。この時点Aでは、未だ補助ビデオデータが出力されている。
本線ビデオデータをデコードするデコーダは、デコード可能な分のピクチャが読み込めたら、本線ビデオデータのデコードを開始する。例えば、図22の時点Bでデコードが開始されるものとする。本線ビデオデータをデコードするデコーダは、本線ビデオデータを、優先順位付き目標フレームバッファ更新パターンに従いデコードし、デコードされたフレームをフレームバッファに格納していく。本線ビデオデータにおいて目標再生フレームがデコードされるまでは、補助ビデオデータを出力し、本線ビデオデータにおいて目標再生フレームがデコードされ出力可能な状態とされたら(図22の時点C)、出力を補助ビデオデータから本線ビデオデータに切り換え、本線ビデオデータを出力する。
このように構成することで、再生速度が1倍速を超えるシャトル再生から再生速度が1倍速の再生に移行した場合でも、補助ビデオデータから本線ビデオデータへの出力の切り換えの際に、表示における違和感が抑えられた1倍速再生に速やかに移行することができる。
2−1.再生装置の一例の構成
図23は、この発明の実施の一形態に適用可能な再生装置200の一例の構成を概略的に示す。なお、図23において、上述した図2と共通する部分には同一の符号を付し、詳細な説明を省略する。上述した図2の構成では、デコーダは、本線ビデオデータをデコードするデコーダ13しか記されていないが、この発明に適用されるシステムでは、本線ビデオデータと共に補助ビデオデータのデコードおよび出力もなされるので、実際には、図2の構成はこの図23に示されるように、補助ビデオデータをデコードする補助デコーダ202がさらに設けられる構成とされる。本線ビデオデータのデコードを行う本線デコーダ13の出力と、補助デコーダ202の出力とは、CPU14の制御により、スイッチ回路201により選択される。
補助デコーダ202は、フレームメモリ202Aを用いて補助ビデオデータを所定にデコードする。補助ビデオデータは、例えば1GOPが10フレームから構成され、補助デコーダ202は、この10フレームからなるGOPを単位として補助ビデオデータをデコードする。この例においては、補助ビデオデータの遅延は、6フレームに固定的とされている。すなわち、GOPの最初のピクチャが補助デコーダ202に読み込まれてから6フレームタイミング後に、当該GOPのフレームが補助デコーダ202から出力される。
ジョグダイヤル16の操作を含む操作部15に対する操作や、より上位のシステムからの命令に基づき、CPU14において、出力すべきフレームを指示するマスタポジションが生成される。マスタポジションは、例えば、デコードを行うクリップを示す情報と、当該クリップ中で出力すべきフレームを示す情報とを有する。このマスタポジションは、本線デコーダ13および補助デコーダ202にそれぞれ供給される。
マスタポジションは、本線デコーダ13に対しては、既に説明した目標再生フレームを与える。また、補助デコーダ202は、マスタポジションに示されるフレームが含まれるGOPを、当該GOP単位でデコードし、デコードされたフレームをフレームバッファ(フレームメモリ202A)に溜め込み、マスタポジションで示されるフレームをフレームバッファから出力する。
なお、上述のように、この例では、本線デコーダ13における遅延が2フレーム分であるのに対し、補助デコーダ202における遅延が6フレームとされている。そのため、本線デコーダ13に対するマスタポジションは、補助デコーダ202に供給されるマスタポジションに対して、4フレーム分の位相差が与えられる。これにより、本線デコーダ13から出力されるフレームと、補助デコーダ202から出力されるフレームとが同期的とされる。
2−2.再生制御処理について
次に、この発明の実施の一形態による一例の再生制御について、より具体的に説明する。図24は、この発明の実施の一形態による一例の再生制御を示すフローチャートである。説明のため、当初、再生速度が1倍速以上とされ、シャトル再生が行われているものとする。シャトル再生が行われている間は、CPU14の制御によりスイッチ回路201において選択入力端201Bが選択され、補助デコーダ202によりデコードされた補助ビデオデータが出力される。なお、補助ビデオデータのデコードは、ディスク10からクリップが再生されている間、継続的に行われる。
すなわち、CPU14は、ジョグダイヤル16の操作に応じて操作部15から供給される制御信号などに基づき、目標速度情報を生成し、マスタポジションを出力する。補助デコーダ202は、このマスタポジションに応じてフレームメモリ202Aに格納されるフレームを出力する。また、CPU14は、ディスクドライブ11に対して、マスタポジションに示されるフレームが含まれるGOPをディスク10から読み出すように要求する。
ディスクドライブ11は、当該GOPがキャッシュメモリ12に格納されていれば、キャッシュメモリ12から当該GOPを読み出して補助デコーダ202に供給し、当該GOPがキャッシュメモリ12に格納されていなければ、ディスク10から当該GOPを読み出しキャッシュメモリ12に格納すると共に、補助デコーダ202に供給する。
CPU14は、目標速度情報に基づき、シャトル再生による1倍速を超える再生速度から、1倍速以下の再生速度に変化したか否かを判断する(ステップS40)。若し、再生速度が1倍速を超えると判断されれば、処理はステップS41に移行され補助ビデオデータの出力がなされ、処理がステップS40に戻される。
一方、ステップS40で再生速度が1倍速以下になったと判断されれば、処理はステップS42に移行される。ステップS42では、本線ビデオデータのディスク10からの読み出しが開始される。すなわち、CPU14は、マスタポジションで示されるフレームを目標再生フレームとして、本線ビデオデータに対する優先順位付きの目標フレームバッファ更新パターンを作成する。CPU14は、作成された優先順位付きの目標フレームバッファ更新パターに示されるピクチャを、ディスク10から優先順位に従い読み出すように、ディスクドライブ11に対して要求する。
ディスクドライブ11は、CPU14からのこの要求に応じて、キャッシュメモリ12に当該ピクチャが格納されていれば、キャッシュメモリ12から当該ピクチャを読み出して本線デコーダ13に供給し、キャッシュメモリ12に当該ピクチャが格納されていなければ、ディスク10から当該ピクチャを読み出してキャッシュメモリ12に格納すると共に、本線デコーダ13に供給する。本線デコーダ13は、供給されたピクチャをデコードし、デコードされたフレームをフレームバッファに所定に格納する(ステップS43)。この時点では、スイッチ回路201において選択入力端201Bが選択が選択され、補助デコーダ202によりデコードされた補助ビデオデータによるフレームが出力されている。
次のステップS44で、CPU14は、本線デコーダ13においてマスタポジションで示されるフレームがデコードできたか否かを判断する。例えば、CPU14は、本線デコーダ13のフレームメモリ17を監視し、格納されるフレームがマスタポジションで示されるフレームかどうかを判断する。これに限らず、CPU14は、本線デコーダ13と通信を行い、デコードしたフレームの情報を得るようにしてもよい。マスタポジションで示されるフレームが未だデコードされていないと判断されれば、処理はステップS40に戻される。
一方、ステップS44で、本線デコーダ13においてマスタポジションで示されるフレームがデコードされたと判断されれば、処理はステップS45に移行し、本線ビデオデータの出力が開始される。すなわち、ステップS45において、CPU14は、スイッチ回路201を選択入力端201Aが選択されるように制御し、本線デコーダ13に対して、当該マスタポジションで示されるフレームを出力するように命令する。以降、目標再生速度が1倍速を超えなければ、本線デコーダ13によるデコード処理および出力が行われる。
具体的な例を用いて説明する。一例として、順方向の再生方向に向けてなされたシャトル再生が再生速度を落とし、1倍速再生とされた場合について、図22および上述した図12とを参照しながら説明する。
図22の時点Aで再生速度が1倍速になったら、その時点におけるマスタポジションに示されるフレームを目標再生フレームとして、フレーム毎に優先順位が設けられた優先順位付き目標フレームバッファ更新パターンが作成される。ここでは、図12Aの第1行目に示されるように、時点Aでのマスタポジションに示されるフレームがフレーム「I3」であるものとする。フレーム「I3」は、それ自身でデコード可能なので、フレーム「I3」に対応するピクチャが本線デコーダ13に読み込まれた時点が時点Bとされる。
時点Aから1倍速の再生速度で順方向に再生が続けられると、マスタポジションがフレームタイミング毎に更新され、マスタポジションに示されるフレームに応じた目標再生フレームが、1フレームずつ進む。本線デコーダ13は、優先順位付き目標フレームバッファ更新パターンに示される優先順位に基づきデコードを行い、デコードされたフレームを、順次、フレームバッファに格納する。
図12の例では、第4行目の、目標再生フレームがフレーム「P6」になった時点で、図12Bに示されるように、当該目標再生フレーム「P6」のデコードが完了しフレームバッファに格納され、出力可能な状態とされる。また、この時点で、次に出力すべきフレーム「B7」もデコードが完了し、フレームバッファに格納されている。そのため、この第4行目、すなわち、図22の時点Bから4フレームタイミング後が時点Cとされ、出力が補助デコーダ202から本線デコーダ13に切り換えられ、本線ビデオデータが出力される。
なお、出力を補助ビデオデータから本線ビデオデータへと切り換えるタイミングは、この例に限定されない。例えば、図12の例では、マスタポジションで示されるフレーム、すなわち目標再生フレームが、第1行目のフレーム「I3」の時点で、フレーム「I3」自体が出力可能である。したがって、フレーム「I3」が出力可能となった時点で出力を補助ビデオデータから本線ビデオデータへと切り換えるようにしてもよい。この場合、以降のデコードが優先順位付き目標フレームバッファ更新パターンに従いなされるため、出力されるフレームが「I3、I3、I3、P6、B7、B8、P9、B10、B11、P12、B13、B14、P15、B1+1、B2+1」となり、再生の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示がなされる。この場合には、再生速度が1倍速になった時点Aから本線ビデオデータが出力されるまでの遅延が少ない利点がある。
また、別の例として、バッファメモリに格納されるフレームが目標フレームバッファ更新パターンと一致したタイミングで、出力を補助ビデオデータから本線ビデオデータへと切り換えるようにしてもよい。図12の例では、マスタポジションで示されるフレーム、すなわち目標再生フレームが第15行目のフレーム「B2(1)」の時点で、出力を補助ビデオデータから本線ビデオデータへと切り換えるようにしてもよい。この場合には、再生速度が1倍速になった時点Aから本線ビデオデータが出力されるまで、15フレームタイミングの遅延が生ずる一方、本線ビデオデータが出力された時点Cで、順方向および逆方向に1倍速以内の可変速再生が可能となる。
さらに、上述では、優先順位付き目標フレームバッファ更新パターンを作成する際の目標再生フレームを、マスタポジションで示されるフレームとしたが、これはこの例に限定されない。例えば、目標再生フレームを、マスタポジションで示されるフレームの1フレーム先、2フレーム先など、補助ビデオデータから本線ビデオデータへの出力の切り換えがなされた際に表示に違和感が生じない程度、先のフレームとすることも考えられる。
上述では、この発明が記録媒体として光ディスクを用い、年輪構造でクリップが記録されている場合に適用されるように説明したが、これはこの例に限定されない。例えば、記録媒体上の記録フォーマットは、年輪構造に限られず、他のフォーマットであってもよい。また、記録媒体は、光ディスクに限られず、ハードディスクドライブや、半導体メモリであってもよい。さらに、この発明が記録媒体から再生されたデータに対して適用されるように説明したが、これはこの例に限定されず、安定的にストリームが供給可能な状況であれば、外部から供給されたストリームデータをデコードするようなデコーダ装置にもこの発明を適用することができる。
また、上述では、再生装置200が光ディスク10に記録されたビデオデータを再生する専用的なハードウェアであるように説明したが、これはこの例に限らず、例えばパーソナルコンピュータといった汎用的なコンピュータ装置(図示しない)を、再生装置200として用いることもできる。この場合、コンピュータ装置に搭載されるプログラムによって、再生装置200の機能を実現させることができる。またこの場合、ビデオデータのデコード処理は、ソフトウェア処理によりCPUで行ってもよいし、専用的なハードウェアをコンピュータ装置に搭載することもできる。
この発明に適用されるシステムによる再生制御処理を概念的に示す略線図である。 この発明のシステムに適用可能な再生装置の一例の構成を概略的に示すブロック図である。 デコーダの一例の構成を概略的に示すブロック図である。 デコーダの一例の構成をより具体的に示すブロック図である。 ディスク状記録媒体における一例のデータ配置を示す略線図である。 クリップについて説明するための略線図である。 光ディスクに対して年輪データが形成された一例の様子を示す略線図である。 MPEG2のロングGOPにおける一例のデータ構造を示す略線図である。 ピクチャポインタ情報が記述されるピクチャポインタテーブルのより具体的な例を示す略線図である。 カレントフレームに対して表示順で1フレーム後または1フレーム前のフレームをデコードする場合の必要バッファ量の例を示す略線図である。 (N=15、M=3)であるロングGOPの場合における目標フレームバッファの一例の更新パターンを示す略線図である。 (N=15、M=3)であるロングGOPの場合において、再生方向が順方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの一例を示す略線図である。 優先順位付き目標フレームバッファのパターンの一例の作成方法を示すフローチャートである。 優先順位付き目標フレームバッファのパターンの一例の作成方法を示すフローチャートである。 優先順位付き目標フレームバッファのパターンの一例の作成方法を示すフローチャートである。 優先順位付き目標フレームバッファのパターンの一例の作成方法を示すフローチャートである。 (N=15、M=3)であるロングGOPの場合において、再生方向が逆方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの一例を示す略線図である。 (N=5)、「IPPPP」のフレーム構成であるロングGOPの場合における目標フレームバッファの一例の更新パターンを示す略線図である。 (N=5)、「IPPPP」のフレーム構成であるロングGOPの場合において、再生方向が順方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの一例を示す略線図である。 (N=5)、「IPPPP」のフレーム構成であるロングGOPの場合において、再生方向が逆方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの一例を示す略線図である。 この発明のシステムに適用可能な同期制御を概略的に示す略線図である。 この発明の実施の一形態による再生制御を概略的に示す略線図である。 この発明の実施の一形態に適用可能な再生装置の一例の構成を概略的に示す。 この発明の実施の一形態による一例の再生制御を示すフローチャートである。 ロングGOPの場合のデコード処理について説明するための略線図である。
符号の説明
1,200 再生装置
10 光ディスク
11 ディスクドライブ
12 キャッシュメモリ
13 デコーダ
13A フレームメモリ(フレームバッファ)
14 CPU
22 MPEGデコーダ
23 出力データ制御部
33 予測復元部
35 ROM
36 RAM
201 スイッチ回路
202 補助デコーダ

Claims (5)

  1. 予測符号化によるフレーム間圧縮を用いて圧縮符号化された第1のビデオデータと、該第1のビデオデータに基づくデータであって該第1のビデオデータに対してより伝送レートが低くされた第2のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、該第1のビデオデータと該第2のビデオデータとをそれぞれ読み出す再生部と、
    上記再生部で読み出された上記第1のビデオデータを、1フレーム時間に1フレームを出力するようにデコードし、デコードされた該第1のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第1のデコード部と、
    上記再生部で読み出された上記第2のビデオデータをデコードする第2のデコード部と、
    出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも1倍速を超えた再生速度から1倍速の再生速度まで可変的に指示する再生指示部と、
    上記再生指示部の上記出力するビデオデータのフレームの上記指示と、上記ビデオデータの再生速度の指示とに応じて上記再生部、上記第1のデコード部および上記第2のデコード部を制御する制御部と
    を有し、
    上記制御部は、
    上記再生指示部により上記ビデオデータの上記1倍速を超えた再生速度が指示されているときは上記第2のデコード部の出力を選択し、
    上記再生指示部の指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に上記再生速度が上記1倍速とされたときに、上記記録媒体から上記第1のビデオデータの読み出しを開始し、少なくとも上記フレームバッファに出力可能なフレームが格納されたら出力を上記第2のデコード部から上記第1のデコード部に切り換え、
    さらに、出力が指示される目標再生フレームに対する上記フレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在の上記フレームバッファの状態と、次に出力されるべき目標再生フレームに対応する上記目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、上記現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で上記優先順位が最も高く設定されたフレームの第1のビデオデータを上記記録媒体から読み出すように上記再生部を制御するようにされ、
    上記第1のビデオデータの上記読み出しの開始は、
    上記再生指示部の指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に、上記再生指示部の指示に応じて上記再生速度が上記1倍速とされたときに、上記記録媒体からの上記目標パターンに基づく上記優先順位に従いなされるように制御され、
    上記優先順位においては、上記目標再生フレームそのものまたは該目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、上記目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは該隣接フレームをデコードするために用いられるフレームが、次の順位に設定されることを特徴とする再生装置。
  2. 請求項に記載の再生装置において、
    上記目標パターンは、
    少なくとも、上記目標再生フレームと、該目標再生フレームに再生方向に向けて時間的に隣接するフレームと、該目標再生フレームから該隣接するフレームの方向について少なくとも1フレーム分の再生をさらに継続するために必要なフレームからなることを特徴とする再生装置。
  3. 請求項に記載の再生装置において、
    上記フレームバッファに格納されたフレームのうち出力フレームを設定する出力設定部をさらに有し、
    上記出力設定部は、
    上記フレームバッファに上記目標再生フレームとされたフレームが格納されている場合は、該目標再生フレームとされたフレームを上記出力フレームとし、
    上記フレームバッファに上記目標再生フレームとされたフレームが格納されていないときは、上記フレームバッファに格納されているフレームのうち、再生順が最も近く、且つ、該目標再生フレームとされたフレームの再生順を越えないフレームを上記出力フレームとする
    ことを特徴とする再生装置。
  4. 予測符号化によるフレーム間圧縮を用いて圧縮符号化された第1のビデオデータと、該第1のビデオデータに基づくデータであって該第1のビデオデータに対してより伝送レートが低くされた第2のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、該第1のビデオデータと該第2のビデオデータとをそれぞれ読み出す再生のステップと、
    上記再生のステップにより読み出された上記第1のビデオデータを、1フレーム時間に1フレームを出力するようにデコードし、デコードされた該第1のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第1のデコードのステップと、
    上記再生のステップで読み出された上記第2のビデオデータをデコードする第2のデコードのステップと、
    出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも1倍速を超えた再生速度から1倍速の再生速度まで可変的に指示する再生指示のステップと、
    上記再生指示のステップの上記出力するビデオデータのフレームの上記指示と、上記ビデオデータの再生速度の指示とに応じて上記再生のステップ、上記第1のデコードのステップおよび上記第2のデコードのステップを制御する制御のステップと
    を有し、
    上記制御のステップは、
    上記再生指示のステップにより上記ビデオデータの上記1倍速を超えた再生速度が指示されているときは上記第2のデコードのステップによる出力を選択し、
    上記再生指示のステップの指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に上記再生速度が上記1倍速とされたときに、上記記録媒体から上記第1のビデオデータの読み出しを開始し、少なくとも上記フレームバッファに出力可能なフレームが格納されたら出力を上記第2のデコードのステップから上記第1のデコードのステップに切り換え
    さらに、出力が指示される目標再生フレームに対する上記フレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在の上記フレームバッファの状態と、次に出力されるべき目標再生フレームに対応する上記目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、上記現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で上記優先順位が最も高く設定されたフレームの第1のビデオデータを上記記録媒体から読み出すように上記再生のステップを制御し、
    上記第1のビデオデータの上記読み出しの開始は、
    上記再生指示のステップによる指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に、上記再生指示のステップによる指示に応じて上記再生速度が上記1倍速とされたときに、上記記録媒体からの上記目標パターンに基づく上記優先順位に従いなされるように制御され、
    上記優先順位においては、上記目標再生フレームそのものまたは該目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、上記目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは該隣接フレームをデコードするために用いられるフレームが、次の順位に設定されることを特徴とする再生方法。
  5. 予測符号化によるフレーム間圧縮を用いて圧縮符号化された第1のビデオデータと、該第1のビデオデータに基づくデータであって該第1のビデオデータに対してより伝送レートが低くされた第2のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、該第1のビデオデータと該第2 のビデオデータとをそれぞれ読み出す再生のステップと、
    上記再生のステップにより読み出された上記第1のビデオデータを、1フレーム時間に1フレームを出力するようにデコードし、デコードされた該第1のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第1のデコードのステップと、
    上記再生のステップで読み出された上記第2のビデオデータをデコードする第2のデコードのステップと、
    出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも1倍速を超えた再生速度から1倍速の再生速度まで可変的に指示する再生指示のステップと、
    上記再生指示のステップの上記出力するビデオデータのフレームの上記指示と、上記ビデオデータの再生速度の指示とに応じて上記再生のステップ、上記第1のデコードのステップおよび上記第2のデコードのステップを制御する制御のステップと
    を有し、
    上記制御のステップは、
    上記再生指示のステップにより上記ビデオデータの上記1倍速を超えた再生速度が指示されているときは上記第2のデコードのステップによる出力を選択し、
    上記再生指示のステップの指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に上記再生速度が上記1倍速とされたときに、上記記録媒体から上記第1のビデオデータの読み出しを開始し、少なくとも上記フレームバッファに出力可能なフレームが格納されたら出力を上記第2のデコードのステップから上記第1のデコードのステップに切り換え
    さらに、出力が指示される目標再生フレームに対する上記フレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在の上記フレームバッファの状態と、次に出力されるべき目標再生フレームに対応する上記目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、上記現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で上記優先順位が最も高く設定されたフレームの第1のビデオデータを上記記録媒体から読み出すように上記再生のステップを制御し、
    上記第1のビデオデータの上記読み出しの開始は、
    上記再生指示のステップによる指示に応じてビデオデータの再生速度が1倍速を超えた速度から1倍速へと変化させられる際に、上記再生指示のステップによる指示に応じて上記再生速度が上記1倍速とされたときに、上記記録媒体からの上記目標パターンに基づく上記優先順位に従いなされるように制御され、
    上記優先順位においては、上記目標再生フレームそのものまたは該目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、上記目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは該隣接フレームをデコードするために用いられるフレームが、次の順位に設定される再生方法をコンピュータ装置に実行させるようにしたことを特徴とする再生プログラム。
JP2006056167A 2006-03-02 2006-03-02 再生装置、再生方法および再生プログラム Expired - Fee Related JP4631747B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006056167A JP4631747B2 (ja) 2006-03-02 2006-03-02 再生装置、再生方法および再生プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006056167A JP4631747B2 (ja) 2006-03-02 2006-03-02 再生装置、再生方法および再生プログラム

Publications (2)

Publication Number Publication Date
JP2007235690A JP2007235690A (ja) 2007-09-13
JP4631747B2 true JP4631747B2 (ja) 2011-02-16

Family

ID=38555798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006056167A Expired - Fee Related JP4631747B2 (ja) 2006-03-02 2006-03-02 再生装置、再生方法および再生プログラム

Country Status (1)

Country Link
JP (1) JP4631747B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US8997161B2 (en) 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
JP5161589B2 (ja) * 2008-01-07 2013-03-13 パナソニック株式会社 画像再生装置、画像再生方法、プログラム、および集積回路
CN102549557B (zh) 2009-01-07 2015-09-09 索尼克Ip股份有限公司 针对在线内容的媒体指南的特定化、集中式、自动化创建
JP5723888B2 (ja) 2009-12-04 2015-05-27 ソニック アイピー, インコーポレイテッド 基本ビットストリーム暗号材料伝送システムおよび方法
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN112969040A (zh) * 2021-02-03 2021-06-15 合肥宏晶微电子科技股份有限公司 实现视频矩阵的方法和装置、电子设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003284005A (ja) * 2002-01-15 2003-10-03 Sony Corp データ処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10341414A (ja) * 1997-06-09 1998-12-22 Sony Corp 映像信号再生装置及び方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003284005A (ja) * 2002-01-15 2003-10-03 Sony Corp データ処理装置

Also Published As

Publication number Publication date
JP2007235690A (ja) 2007-09-13

Similar Documents

Publication Publication Date Title
JP4631747B2 (ja) 再生装置、再生方法および再生プログラム
JP4682759B2 (ja) 再生装置、再生方法および再生プログラム
US8300702B2 (en) Data processing apparatus, data processing method, data processing program, data structure, recording medium, reproducing apparatus, reproducing method, and reproducing program
US5991502A (en) Optical recording device which calculates distances between I-frames and records I-frame addresses in a sector
JP2013236384A (ja) 記録媒体再生システム
JPH0879687A (ja) データ再生方法およびデータ再生装置
JP2008072336A (ja) 復号装置および復号方法
JP4517592B2 (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
JP2006324848A (ja) 情報処理装置及び情報処理方法
JP4297121B2 (ja) 再生装置および再生方法
JP2001086462A (ja) 動画像記録装置及び動画像再生装置
JP2010538500A (ja) 特殊再生用のビデオデータの生成方法
JP4297122B2 (ja) 再生装置および再生方法
JP2007180670A (ja) 再生装置、再生方法および再生プログラム
US6999090B2 (en) Data processing apparatus, data processing method, information storing medium, and computer program
JP2004350152A (ja) 映像再生装置および映像再生方法
JP3344607B2 (ja) 光ディスク、再生装置および再生方法
JP2001103424A (ja) 符号化ビットストリーム記録及び/又は再生装置、並びに記録媒体
KR100225326B1 (ko) 디지탈영상신호기록재생장치 및 그 기록재생방법
JP4217545B2 (ja) データ処理方法
JP2003046956A (ja) 光ディスク、再生装置および再生方法
JP2003046955A (ja) 記録装置および記録方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101019

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101101

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees