JP4207981B2 - 情報処理装置および情報処理方法、プログラム、並びに記録媒体 - Google Patents

情報処理装置および情報処理方法、プログラム、並びに記録媒体 Download PDF

Info

Publication number
JP4207981B2
JP4207981B2 JP2006163590A JP2006163590A JP4207981B2 JP 4207981 B2 JP4207981 B2 JP 4207981B2 JP 2006163590 A JP2006163590 A JP 2006163590A JP 2006163590 A JP2006163590 A JP 2006163590A JP 4207981 B2 JP4207981 B2 JP 4207981B2
Authority
JP
Japan
Prior art keywords
gop
picture
encoded stream
transfer
frame
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
JP2006163590A
Other languages
English (en)
Other versions
JP2007336067A (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 JP2006163590A priority Critical patent/JP4207981B2/ja
Priority to EP20070252066 priority patent/EP1868206A1/en
Priority to TW96118414A priority patent/TW200808036A/zh
Priority to US11/811,935 priority patent/US20070286244A1/en
Priority to KR20070057268A priority patent/KR20070118971A/ko
Priority to CN2007101103931A priority patent/CN101090489B/zh
Publication of JP2007336067A publication Critical patent/JP2007336067A/ja
Application granted granted Critical
Publication of JP4207981B2 publication Critical patent/JP4207981B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/326Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is a video-frame or a video-field (P.I.P.)
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Description

本発明は、情報処理装置および情報処理方法、プログラム、並びに記録媒体に関し、特に、符号化ストリームを編集する場合に用いて好適な、情報処理装置および情報処理方法、プログラム、並びに記録媒体に関する。
フレーム間の相関を用いて符号化を行っているMPEGストリームにおいて、異なるストリームを接続して編集する場合、複数のデコーダを用いて、それぞれのストリームの接続部分、すなわち、編集点を含むGOPのみをデコードし、それぞれのデコーダからのデコード後のべースバンド画像データの出力を所望の位置でスイッチングして接続した後、再エンコードすることにより、異なるストリームを接続する編集処理を実行することができるようになされている技術があった(例えば、特許文献1)。
特開平10−98713号公報
すなわち、図1に示されるように、編集画像の素材となる第1のストリームのうちの一部分であるクリップ2と、編集画像の素材となる第2のストリームのうちの一部分であるクリップ4とを接続したい場合、クリップ2のそれぞれのフレームをデコードするために必要なフレームが、表示されないストリーム1の部分に存在するとき、デコーダAには、ストリーム1に含まれる参照に必要なフレーム群1´とクリップ2とが入力されてデコードされ、セレクタに入力されるとともに、クリップ4のそれぞれのフレームをデコードするために必要なフレームが、表示されないストリーム3の部分に存在するとき、デコーダBには、ストリーム3に含まれる参照に必要なフレーム群3´とクリップ4とが入力されてデコードされ、セレクタに入力される。セレクタは、出力を切り替えて、編集画像の素材となる第1のストリームのうちの一部分であるクリップ2の部分のベースバンド画像データと、編集画像の素材となる第2のストリームのうちの一部分であるクリップ4の部分のベースバンド画像データとを接続してエンコーダに供給し、再エンコードして出力することができるようになされている。
しかしながら、上述した従来の技術においては、接続部分を含むGOPを一旦デコードした後、再エンコードするための時間がかかるため、編集などでつなぎ目をなんども変更してつなぎ目の位置を確認する作業には適しているとは言えない。
また、従来の技術では、複数のデコーダを用意して、映像素材となるストリーム1つに1つのデコーダを割り当てて、それらの出力を外部のセレクタ等で切り替える制御が必要であった。すなわち、従来の技術においては、デコーダを複数用意する必要があり、それらのデコーダのそれぞれへのストリームの入力およびデコード後のベースバンド画像データの出力タイミングの制御が必要になるため、複雑な制御が行われていた。特に、スクラブ再生のようなランダムな再生を行う場合、複数のデコーダそれぞれの出力に合わせてセレクタの制御を行わないと、表示すべきない絵を表示してしまう可能性がある。そのため、デコーダそれぞれが表示するべきベースバンド画像データを出力するタイミングにあわせてセレクタを制御するという複雑な処理が必要となり、ユーザが接続位置を指定する操作入力を行ってから、接続ストリームの再生出力までのレスポンスが遅くなってしまう。
本発明はこのような状況に鑑みてなされたものであり、符号化ストリームを所望の編集点で接続した場合の再生画像を複雑な制御なしに再生出力することができるようにするものである。
本発明の一側面の情報処理装置は、第1の符号化ストリームと第2の符号化ストリームとが接続された状態で出力するように制御する情報処理装置であって、前記第1の符号化ストリーム及び前記第2の符号化ストリームのうちの再生される範囲を示す操作入力を取得する操作入力取得手段と、符号化ストリームを格納する格納手段に格納されている前記符号化ストリームをデコードして画像データを生成するデコード手段と、前記操作入力取得手段により取得された操作入力に対応する範囲の、前記第1の符号化ストリーム及び前記第2の符号化ストリーム、並びに、前記操作入力に対応する範囲の前記第1の符号化ストリーム及び前記第2の符号化ストリームをデコードするために必要な符号化ストリームを、前記格納手段へ転送するように制御するとともに、前記第1の符号化ストリームおよび前記第2の符号化ストリームを前記格納手段へ転送する転送単位を決定し、前記デコード手段によりデコードされた画像データを出力するタイミングを指令する指令手段により出力が指令された前記画像データのピクチャが、該ピクチャが含まれる第1のGOPとは異なる第2のGOPに含まれるピクチャを参照してデコードされるBピクチャに含まれる場合に、前記第1のGOPのうちの、前記第2のGOPに含まれるピクチャを参照してデコードされるBピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、前記第2のGOPを、前記格納手段に転送する転送単位として決定する転送制御手段と、前記指令手段により指令される前記画像データの出力タイミングの指令を予測し、前記画像データの出力タイミングの指令よりも先行して、前記第1の符号化ストリームと前記第2の符号化ストリームとを前記格納手段に転送するように、転送タイミングを制御する転送タイミング制御手段と、前記格納手段に格納されている前記第1の符号化ストリーム及び前記第2の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように、前記デコード手段のデコードを制御するデコード制御手段とを備える。
前記転送制御手段は、前記第1の符号化ストリームおよび前記第2の符号化ストリームを、所定の転送単位の転送データとして前記格納手段に転送するように制御し、前記転送タイミング制御手段は、前記格納手段への転送が制御された前記転送データのうち表示されるピクチャの数が所定ピクチャ数以下である場合、次の前記転送データを前記格納手段に転送するように制御することができる。
前記第1の符号化ストリームおよび前記第2の符号化ストリームは、Bピクチャを含むGOP構造を有し、前記転送制御手段は、前記指令手段により出力が指令された前記画像データのピクチャが、前記第1のGOPおよび前記第2のGOPがいずれも前記保持手段へ転送されていない場合に、前記第1のGOPのうちの、前記第2のGOPに含まれるピクチャを参照してデコードされる前記Bピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、前記第2のGOPを、前記格納手段に転送する転送単位として決定することができる。
前記操作入力取得手段により取得された操作入力に応じて、前記第1の符号化ストリーム及び前記第2の符号化ストリームを再生する範囲を示す制御情報を生成する制御情報生成手段を更に備えるようにすることができる。
前記第1の符号化ストリームおよび前記第2の符号化ストリームは、GOP構造を有しており、前記転送制御手段は、前記第1の符号化ストリーム及び前記第2の符号化ストリームを、GOP単位で転送するように制御することができる。
前記第1の符号化ストリームおよび前記第2の符号化ストリームは、MPEG規格で符号化されたストリームであるようにすることができる。
本発明の一側面の情報処理方法およびプログラムは、第1の符号化ストリームと第2の符号化ストリームとが接続された状態で出力するように制御する情報処理装置の情報処理方法であって、前記第1の符号化ストリーム及び前記第2の符号化ストリームのうちの再生される範囲を示す操作入力を取得し、取得された操作入力に対応する範囲の、前記第1の符号化ストリーム及び前記第2の符号化ストリーム、並びに、前記操作入力に対応する範囲の前記第1の符号化ストリーム及び前記第2の符号化ストリームをデコードするために必要な符号化ストリームを、符号化ストリームを格納する格納手段へ転送するように制御するとともに、前記第1の符号化ストリームおよび前記第2の符号化ストリームを前記格納手段へ転送する転送単位を決定し、前記格納手段に格納されている前記符号化ストリームがデコードされた画像データを出力するタイミングが指令された前記画像データのピクチャが、該ピクチャが含まれる第1のGOPとは異なる第2のGOPに含まれるピクチャを参照してデコードされるBピクチャに含まれる場合に、前記第1のGOPのうちの、前記第2のGOPに含まれるピクチャを参照してデコードされるBピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、前記第2のGOPを、前記格納手段に転送する転送単位として決定し、前記格納手段に格納されている前記符号化ストリームがデコードされた画像データを出力するタイミングが指令される前記画像データの出力タイミングの指令を予測し、前記画像データの出力タイミングの指令よりも先行して、前記第1の符号化ストリームと前記第2の符号化ストリームとを前記格納手段に転送するように、転送タイミングを制御し、前記格納手段に格納されている前記第1の符号化ストリーム及び前記第2の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように制御する。
本発明の一側面においては、第1の符号化ストリーム及び第2の符号化ストリームムのうちの再生される範囲を示す操作入力が取得され、取得された操作入力に基づいて、第1の符号化ストリーム及び第2の符号化ストリーム、並びに、前記操作入力に対応する範囲の前記第1の符号化ストリーム及び前記第2の符号化ストリームをデコードするために必要な符号化ストリームが格納手段に格納されるように制御されるとともに、第1の符号化ストリームおよび第2の符号化ストリームを格納手段へ転送する転送単位が決定され、格納手段に格納されている符号化ストリームがデコードされた画像データを出力するタイミングが指令された画像データのピクチャが、該ピクチャが含まれる第1のGOPとは異なる第2のGOPに含まれるピクチャを参照してデコードされるBピクチャに含まれる場合に、第1のGOPのうちの、第2のGOPに含まれるピクチャを参照してデコードされるBピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、第2のGOPが、格納手段に転送する転送単位として決定され、格納されている符号化ストリームがデコードされた画像データを出力するタイミングが指令される。そして、画像データの出力タイミングの指令を予測し、画像データの出力タイミングの指令よりも先行して、第1の符号化ストリームと第2の符号化ストリームとを転送するように、転送タイミングが制御され、格納されている第1の符号化ストリーム及び第2の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャが優先的にデコードされる。
ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、1つの装置を構成している内部ブロックどうしであっても良い。
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
再生装置は、独立した装置であっても良いし、編集装置や記録再生装置の再生処理を行うブロックであっても良い。
以上のように、本発明の一側面によれば、デコードされたデータを出力することができ、特に、ユーザの操作入力に基づいて、第1の符号化ストリームと第2の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータをデコーダに供給するようにしたので、1つのデコーダで、編集処理を行うことができる。
以下、図を参照して、本発明の実施の形態について説明する。
図2は、再生装置1のハードウェア構成を示すブロック図である。
CPU(Central Processing Unit)11は、ノースブリッジ12に接続され、例えば、HDD(Hard disk Drive)16に記憶されているデータの読み出しなどの処理を制御したり、CPU20が実行するデコードのスケジューリング、デコードおよび表示出力の制御などの処理の開始、変更、または終了を指令するためのコマンドを生成し、出力する。ノースブリッジ12は、PCI(Peripheral Component Interconnect/Interface)バス14に接続され、例えば、CPU11の制御に基づいて、サウスブリッジ15を介して、HDD16に記憶されているデータの供給を受けて、PCIバス14、PCIブリッジ17を介して、メモリ18に供給する。また、ノースブリッジ12は、メモリ13とも接続されており、CPU11の処理に必要なデータを授受する。
メモリ13は、CPU11が実行する処理に必要なデータを保存することが可能な、例えば、DDR(Double Data Rate)等の高速アクセス可能な記憶用のメモリである。サウスブリッジ15は、HDD16のデータの書き込みおよび読み出しを制御する。HDD16には、圧縮符号化されたストリームデータが記憶されている。
PCIブリッジ17は、コマンドバッファ31およびリザルトバッファ32を内部に備えるとともに、CPU11の制御に基づいてHDD16から読み出されたストリームデータをバッファリングするメモリ18が接続されている。PCIブリッジ17は、CPU11の制御に基づいてHDD16から読み出されたストリームデータを、メモリ18に供給して保存させることができるとともに、CPU20の制御に基づいて、メモリ18に保存されているストリームデータを読み出して、デコーダ23に接続されているメモリ22に供給する。また、PCIブリッジ17は、PCIバス14またはコントロールバス19を介したコマンドまたはリザルトに対応する制御信号の授受を制御する。
コマンドバッファ31は、CPU11から、ノースブリッジ12およびPCIバス14を介してコマンドの書き込みを受けるとともに、CPU20から、コントロールバス19を介して、書き込まれているコマンドが読み出されるようになされている。また、リザルトバッファ32は、コントロールバス19を介して、CPU20によりコマンドに対するリザルトの書き込みを受けるとともに、CPU11から、ノースブリッジ12およびPCIバス14を介して、書き込まれているリザルトが読み取られるようになされている。
メモリ18は、PCIブリッジ17の制御に基づいて、HDD16により読み出された、圧縮符号化されたストリームデータを記憶するものであり、例えば、SDRAM(Synchronous Dynamic Random Access Memory)等で構成されている。
CPU20は、コントロールバス19を介して、CPU11によりPCIブリッジ17のコマンドバッファ31に書き込まれたコマンドを読み取り、このコマンドにしたがって、PCIブリッジ17、メモリ22、および、デコーダ23が実行する処理を制御する。メモリ21は、CPU20の処理に必要なデータを記憶する。
デコーダ23は、CPU20の制御に基づいて、供給された圧縮符号化されたストリームデータをデコードし、非圧縮の映像信号を出力する。デコーダ23は、1フレームが表示される表示時間よりも充分短い時間(例えば、1フレームが表示される時間の1/4や1/3程度)に1フレームをデコードすることができる。デコーダ23にはメモリ22が接続されている。メモリ22には、PCIブリッジ17から供給された圧縮符号化されたストリームデータ、または、デコーダ23によりデコードされた非圧縮の映像信号を保持することが可能なようになされている。また、デコーダ23は、再生装置1に含まれない独立した装置として設けられていても良い。
なお、図2の再生装置1は、1つの装置として構成されていても良いし、複数の装置によって構成されるようにしても良い。例えば、図2の再生装置1のうち、CPU11、ノースブリッジ12、メモリ13、サウスブリッジ15、および、HDD16の部分が、パーソナルコンピュータの構成のうちの一部であるとし、PCIカード、PCI−Expressカードなどの拡張カード、または、拡張ボードに、PCIバス14、PCIブリッジ17、メモリ18、コントロールバス19、CPU20、メモリ21、メモリ22、および、デコーダ23の機能を備えさせ、パーソナルコンピュータに拡張カードを装着して再生装置1として機能するようにしても良い。また、これらを、さらに複数の装置に分割して、再生装置1を構成するようにしても良い。
次に、再生装置1の動作について説明する。
HDD16には、MPEGのLong GOP方式で圧縮された圧縮映像のデータが記憶されている。
一連の連続した映像の一部分だけを切り抜き、その部分をクリップとする。そのクリップを複数集めて1つの連続した映像のように再生することをクリップ再生と称する。
すなわち、図3に示されるように、編集画像の素材となる第1のストリームのうちの一部分であるクリップ2と、編集画像の素材となる第2のストリームのうちの一部分であるクリップ4とを接続したい場合、クリップ2のそれぞれのフレームをデコードするために必要なフレームが、第1のストリームの表示されない(クリップ2に含まれない)部分1に存在するとき、デコーダ23には、参照に必要なフレーム群1´とクリップ2とが入力されてデコードされるとともに、クリップ4のそれぞれのフレームをデコードするために必要なフレームが、第2のストリームの表示されない(クリップ4に含まれない)部分3に存在するとき、デコーダ23には、参照に必要なフレーム群3´とクリップ4とが入力されてデコードされる。そして、デコーダ23は、第1のストリームのうちの一部分であるクリップ2の部分のベースバンド画像データと、編集画像の素材となる第2のストリームのうちの一部分であるクリップ4の部分のベースバンド画像データとを接続して出力することができるようになされている。
そのとき、クリップの切れ目によっては、表示出力はされないが、デコードする必要のあるフレーム(すなわち、図3におけるフレーム群1´およびフレーム群3´)が存在する。
図4に示されるように、ストリームAのあるGOPのうちのB9ピクチャとB10ピクチャとの間がクリップの切れ目とされて、B9ピクチャまでがクリップAとされたとき、クリップAの最終GOPのB9ピクチャをデコードするためには、クリップAに含まれないP11ピクチャが必要となる。そして、ストリームBのあるGOPと次のGOPとの間がクリップの切れ目とされて、GOP先頭のB0ピクチャ以降がクリップBとされたとき、クリップBの先頭GOPのB0ピクチャおよびB1ピクチャをデコードするためには、クリップBに含まれないその前のGOPのIピクチャおよびPピクチャが全て必要となる。すなわち、表示するフレームの参照画を作成するために表示はしないがデコードしなければいけないフレームの最大フレーム数は6フレームである。
CPU11は、ノースブリッジ12を介して、サウスブリッジ15を制御して、図示しない操作入力部から供給された、クリップ再生で用いられるストリームと、クリップ再生における再生範囲とを示す操作入力を基に、HDD16から、圧縮符号化された複数のストリームデータの所定の部分を読み出させ、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介して、メモリ18に供給させて記憶させるとともに、1GOPのデータのメモリ18への転送を完了したことを示すGOP転送完了コマンド、転送したGOPのうち表示される範囲、すなわち、クリップ再生において表示されるフレーム範囲を示すコマンドである出力範囲指定コマンド、再生スピード(再生方向を示す情報を含む)を示す情報、デコード開始を指令するコマンド、または、表示の開始を指令するコマンドなどを、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に書き込む。
CPU20は、PCIブリッジ17のコマンドバッファ31に書き込まれたCPU11からのコマンドを基に、圧縮符号化されたストリームデータのデコードおよび出力(表示)のスケジュールを決定する。具体的には、CPU20は、圧縮符号化されたストリームデータのメモリ18からメモリ22への転送のタイミング、圧縮符号化されたストリームデータのメモリ22からデコーダ23への入力のタイミング、フレームごとのデコードのタイミング、参照画像のバンク位置の設定、デコード時のバンクメモリの割り当て、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定する。
そして、CPU20は、PCIブリッジ17を制御して、メモリ18に記憶されている圧縮符号化されたストリームデータを、決定されたスケジュールに基づいて、メモリ22に供給し、デコーダ23に供給させる。
CPU20は、デコーダ23を制御して、メモリ22を介して供給された圧縮符号化されたデータをデコードさせる。デコーダ23は、供給された圧縮符号化されたストリームデータをデコードして、非圧縮のベースバンド画像データを生成して、出力させる。
具体的には、CPU20は、デコーダ23に、メモリ22に供給されたGOPのIピクチャおよびPピクチャを優先的にデコードさせ、得られた非圧縮のベースバンド画像データをメモリ22に蓄積させるように制御を行う。デコーダ23は、1フレームが表示される表示時間よりも充分短い時間に1フレームをデコードすることができるので、表示されるフレームのデコードのための処理を行っていない間に、メモリ22に蓄積されているGOPのIピクチャおよびPピクチャを優先的にデコードし、得られた非圧縮のベースバンド画像データをメモリ22に蓄積するので、CPU11から表示コマンドが送信された場合、蓄積されたIピクチャおよびPピクチャに対応するベースバンド画像データを出力するか、これらを参照画像に用いることにより高速にデコード処理を行うことが可能となる。すなわち、CPU11から、あるフレームの表示コマンドの供給を受けた場合、メモリ22に表示するべき非圧縮のベースバンド画像データが存在すれば、それを出力させ、存在しなければ、適宜、メモリ22に蓄積された非圧縮のベースバンド画像データを参照画像として利用して、表示されるフレームをデコードして、非圧縮のベースバンド画像データを生成して、出力させる。なお、GOPに含まれている全てのIピクチャおよびPピクチャを優先的にデコードするようにしてもよいが、GOPに含まれているIピクチャおよびPピクチャのうちの一部のみを優先的にデコードするようにしてもよい。
デコーダ23においては、CPU20の制御に基づいて、IピクチャおよびPピクチャを優先的にデコードするようになされているとともに、クリップを複数集めて1つの連続した映像のように再生するクリップ再生を、デコーダ23の内部のセレクタを制御することで実現するようになされている。デコーダ23の詳細な構成およびその動作について、図6乃至図14を用いて後述する。
次に、図5の機能ブロック図を参照して、CPU11およびCPU20が有する機能について説明する。
CPU11は、操作入力取得部51、転送GOP決定部52、GOP転送タイミング制御部53、出力範囲情報設定部54、レジスタ55、転送完了コマンド送出部56、表示コマンド送出部57、および、リザルト取得部58を含む機能を有している。
操作入力取得部51は、サウスブリッジ15およびノースブリッジ12を介して図示しない操作入力部から供給されるユーザの操作入力を取得し、ユーザの操作入力を示す情報を、必要に応じて、転送GOP決定部52、GOP転送タイミング制御部53、または、出力範囲情報設定部54に供給する。
転送GOP決定部52は、操作入力取得部51から供給されたユーザの操作入力を基に、複数のストリームから構成されるクリップにおいて再生出力されるフレームを求めるとともに、それらのフレームのデコードに必要なフレームを求め、フレーム表示順を予測してスケジューリングし、メモリ18に転送するべきGOPを決定し、GOP転送タイミング制御部53および出力範囲情報設定部54に通知するとともに、HDD16に保存されているストリームからの転送するべきGOPの読み出しと転送を制御する。
上述したように、フレームデータの転送は、基本的にGOP単位で行われるが、複数のストリームを任意の位置で切り出した複数のクリップで構成されるクリップストリームにおいて、それぞれのクリップの先頭および最後尾のGOPは、編集素材のストリームにおける1GOPの全てを含んでいるとは限らない。また、図4を用いて説明したように、それぞれのクリップの先頭および最後尾のGOPに含まれるフレームをデコードするために、表示されないフレームをデコーダ23に供給しなければならない場合がある。例えば、それぞれのクリップの先頭または最後尾のGOPが、編集素材のストリームにおける1GOPの全てを含んでいない場合、編集素材のストリームにおける1GOPの全てを転送しても良いが、必要な部分のみ転送するようにしても良い。また、例えば、クリップの先頭のGOPが、編集素材のストリームにおけるMPEG LongGOPの先頭の2枚のBピクチャを含んでいる場合、これらのBピクチャをデコードするために、クリップに含まれない、一つ前のGOPをデコーダ23に供給する必要がある。転送GOP決定部52は、このような場合、クリップに含まれないGOPであっても、デコーダ23に供給されるように、メモリ18に転送するべきGOPを決定する。
また、上述したように、フレームデータの転送は、基本的にGOP単位で行われるが、スクラブ再生において最初に表示されるフレーム、または、クリップの先頭のフレームがGOPの先頭のB0,B1である場合、図4を用いて説明したように、前のGOPのフレームを参照するため、例外処理が必要となる。
特に、高速再生などにより再生フレームが連続しない場合、完全にGOP単位で転送を実行すると、スクラブ再生において最初に表示されるフレーム、または、クリップの先頭のフレームを含むGOP(n)に対して、一つ前のGOP(n―1)を更に加えた2GOP分の転送を行う必要がある。しかしながら、スクラブ再生においては、再生位置が高速で移動することは頻繁に行われており、次に表示されるフレームがGOP(n)以外のGOPに含まれるフレームである可能性が高く、その場合においては、GOP(n)のデータをすべて転送すると転送データの無駄が多くなってしまう。
そのため、転送GOP決定部52は、例外処理として、表示されるフレームがGOPの先頭のB0,B1である場合、表示するフレームがあるGOPの前のGOPであるGOP(n―1)に、表示するフレームがあるGOPであるGOP(n)のI2,B0,B1を加えた形で転送するように、データ転送を制御する。そして、その後、通常再生が指令されるなどして、GOP(n)に含まれるフレームの表示が指令された場合には、通常通り、GOP(n)を転送しても、データ転送の冗長部分はI2,B0,B1の分だけで、制御も複雑にならない。このことにより、データ転送の無駄が少なくなり、データ転送効率が向上する。
GOP転送タイミング制御部53は、必要に応じて、レジスタ55に設けられている各種の制御キューを用いて、メモリ18に蓄積されているGOPを管理することにより、GOPのメモリ18への転送のタイミングを制御する。
すなわち、上述したように、フレームデータの転送は、基本的にGOP単位で行われるが、あるフレームの表示の指令が行われた時に、そのフレームを含むGOPを転送したのでは、フレームの表示の指令から表示までのレスポンスが非常に悪くなってしまう。そこで、GOP転送タイミング制御部53は、表示されるフレームを予測することにより、表示指令に先立って、GOPデータを転送する。これによって、デコーダ23において、転送されたGOPのIピクチャおよびPピクチャを予めデコードして、メモリ22に蓄積しておくことができるようになされている。
また、それぞれのクリップの先頭および最後尾のGOPは、編集素材のストリームにおける1GOPの全てを含んでいるとは限らないため、転送されるのが、フレーム数の少ない短いGOPである場合、または、転送されたGOPに含まれるフレーム数が多くても表示フレーム数が少ないGOPである場合には、次のGOPの転送を早めなければ、表示が間に合わない恐れがある。したがって、GOP転送タイミング制御部53は、転送されたGOPに含まれる表示フレーム数を考慮して、GOPの転送タイミングを制御する。転送タイミング制御の詳細については、後述する。
出力範囲情報設定部54は、転送GOP決定部52により転送が決定されたGOPのうち、表示出力される範囲を決定し、出力範囲情報を生成して、対応するGOPの転送が完了した後、転送完了コマンドの供給前に、出力範囲指定コマンドの、コマンドバッファ31への供給を制御する。
すなわち、上述したように、フレームデータの転送は、基本的にGOP単位で行われるが、それぞれのクリップの先頭および最後尾のGOPは、編集素材のストリームにおける1GOPの全てを含んでいるとは限らないし、また、クリップに含まれるフレームのデコードのために参照されるフレームを含むGOPが転送される場合は、そのGOPのフレームは全く表示出力されない可能性がある。出力範囲情報設定部54は、転送GOP決定部52により転送が決定されたGOPのうち、表示出力される範囲を決定し、出力範囲情報である出力範囲指定コマンドを生成して、転送完了コマンドとともに、コマンドバッファ31に送信させる。
レジスタ55は、GOP転送タイミング制御部53がGOP転送タイミングを制御するために用いる各種キューを含み、処理に必要な各種パラメータなどを保持するものである。
転送完了コマンド送出部56は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジのコマンドバッファ31に、転送完了コマンドを送出する。転送完了コマンド送出タイミング制御の詳細については、後述する。
表示コマンド送出部57は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジのコマンドバッファ31に、表示コマンドを送出する。表示コマンド送出タイミング制御の詳細については、後述する。
リザルト取得部58は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジのリザルトバッファ32からコマンドに対するリザルトを取得する。
そして、CPU20は、コマンド取得部71、メモリ間転送制御部72、デコードスケジュール処理部73、デコード制御部74、レジスタ75、および、リザルト送出部76を含む機能を有している。
コマンド取得部71は、CPU11の出力範囲情報設定部54、転送完了コマンド送出部56、または、表示コマンド送出部57により送出され、PCIブリッジ17のコマンドバッファ31に保持されているコマンドを、コントロールバス19を介して取得する。
メモリ間転送制御部72は、コマンド取得部71により取得された転送完了コマンドおよび表示コマンドに基づいて、メモリ18に転送されたそれぞれのGOPの、メモリ22への転送を制御する。
デコードスケジュール処理部73は、コマンド取得部71により取得された、出力範囲指定コマンド、転送完了コマンド、および、表示コマンドに基づいて、メモリ間転送制御部72によりメモリ22への転送が制御されたそれぞれのGOPに含まれるフレームのデコードスケジュールを決定する。デコードスケジュール処理部73は、表示のために必要なデコード処理が行われない時間を用いて、メモリ22に保持されているフレームのうちのIピクチャおよびPピクチャが優先的にデコードされるように、デコードのスケジュールを行う。なお、優先的にデコードされるのは、全てのIピクチャおよびPピクチャであっても、そのうちの少なくとも一部であっても良い。また、デコードスケジュール処理部73は、先行してデコードされ、メモリ22に蓄積されているIピクチャおよびPピクチャを用いて、表示が指令されたフレームのベースバンド画像データが迅速に出力されるように、デコードのスケジュールを行う。
デコード制御部74は、デコードスケジュール処理部73によるデコードスケジュールに基づいて、デコーダ23によるデコード処理を制御する。
レジスタ75は、メモリ間転送制御部72が、それぞれのメモリやデコーダに供給されているGOPを管理するための各種制御キューを含み、処理に必要な各種パラメータなどを保持するものである。
リザルト送出部76は、コマンド取得部71により取得された転送完了コマンドおよび表示コマンドに対するリザルトを、コントロールバス19を介して、PCIブリッジ17のリザルトバッファ32に送出する。
再生装置1においては、複数のクリップを複数のデコーダに割り当てるのではなく、複数のクリップに含まれるフレーム、および、それらをデコードするために必要なフレームをデコーダ23に供給し、予めIピクチャおよびPピクチャをデコードしておくようにすることにより、1つのデコーダで、クリップ再生を実現することができ、更に、クリップストリームの変速再生、スクラブ再生、および、短い区間で正方向と逆方向の再生を連続して指令するトランジェント再生を行うことができるようになされている。
このような構成を有することにより、従来のように、複数のデコーダを用いていた場合と比較して、デコーダの入力段および出力段にセレクタを持つ必要もなく、制御も簡単になる。
また、このようにして、再生装置1においては、先行して転送されたGOPデータのIピクチャおよびPピクチャのうちの少なくとも一部を、表示のためのデコード処理の空いている時間にデコードして蓄積しておき、表示の指令を受けたとき、デコード済みのベースバンド画像データが既に存在している場合は、そのデコード済みのベースバンド画像データを出力し、表示されるフレームが蓄積されていない場合は、デコード済みのベースバンド画像データを適宜参照画として用いて表示されるフレームをデコードし、出力することができるようになされている。
図6は、デコーダ23の更に詳細な構成を示すブロック図である。
入力処理部151は、PCIブリッジ17から供給された圧縮符号化されたストリームデータをストリームバッファ22−1に保存させるとともに、供給されたストリームデータから、ピクチャ単位で、先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどを取得して、ストリーム情報バッファ22−2に供給する。
ストリームバッファ22−1は、例えば、SDRAMなどの記憶用のメモリで構成された図2のメモリ22のうちの所定の記憶領域であり、入力処理部151から供給されたストリームデータをバッファリングし、セレクタ152に供給する。ストリームバッファ22−1には、少なくとも、後述するフレームメモリ22−3に保持可能なIピクチャおよびPピクチャ(アンカーフレームとも称する)のGOP数と同数のGOP数のストリームデータが保持可能なようになされている。また、ストリームバッファ22−1が、後述するフレームメモリ22−3に保持可能なアンカーフレームのGOP数以上の数のGOPを保持することができるようになされていると、例えば、再生方向が逆転したり、再生開始位置が変更した場合に、ストリームバッファ22−1に新たなGOPを供給しなくても対応することができる可能性が高くなるため、好適である。
ストリーム情報バッファ22−2は、図2のメモリ22のうちの所定の記憶領域であり、入力処理部151から供給された、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を、それぞれ、ピクチャ別に保持する。
デコードコントローラ153は、CPU20から供給される制御信号に基づいて、ストリームバッファ22−1に保持されている各ピクチャのアドレスやストリーム情報をストリーム情報バッファ22−2から読み込んで、デコーダ23の各部の処理を制御する。
具体的には、デコードコントローラ153は、出力範囲指定コマンドなどに基づいて設定されたデコードスケジュールに基づいてCPU20により制御され、セレクタ152を制御することにより、デコード処理部154に供給されるピクチャそれぞれのピクチャのデコードタイミングを制御する。また、デコードコントローラ153は、セレクタ155を制御して、デコード処理部154によりデコードされて得られたベースバンド画像信号のフレームメモリ22−3における格納位置を制御する。そして、デコードコントローラ153は、セレクタ156を制御することにより、フレームメモリ22−3から参照画像としてデコード処理部154に供給されるベースバンド画像信号、すなわち、デコード処理部154において実行されるPピクチャまたはBピクチャのデコードにおける参照画像の供給を制御する。そして、デコードコントローラ153は、CPU20から出力範囲指定コマンドに基づいて設定されたデコード済みの画像データの出力スケジュールに基づいて制御され、フレームメモリ22−3からセレクタ157が読み出して出力するベースバンド画像信号を制御することにより、表示などのために出力されるデコード済みのベースバンド画像信号の出力、すなわち、再生画像の表示のタイミングを制御する。
セレクタ152は、デコードコントローラ153の制御に基づいて、ストリームバッファ22−1に保存されたストリームデータを、ピクチャ単位でデコード処理部154に供給する。
デコード処理部154は、セレクタ152から供給されたMPEGビデオストリームを、セレクタ156から供給された参照画を必要に応じて参照してデコードし、デコードされたベースバンド(非圧縮)の画像信号を、セレクタ155に供給する。
セレクタ155は、デコードコントローラ153の制御に基づいて、デコード処理部154によりデコードされて供給されたベースバンドの画像信号のフレームメモリ22−3における記録位置、すなわち、ベースバンドの画像信号が保存されるバンク位置を決定し、デコード処理部154から供給されたベースバンドの画像信号を、フレームメモリ22−3の所定のバンク位置に保存させる。換言すれば、デコードコントローラ153は、デコード処理部154によりデコードされて得られるベースバンドの画像信号のフレームメモリ22−3におけるバンク位置を決定し、その位置にベースバンドの画像信号が記録されるように、セレクタ155を制御する。
フレームメモリ22−3は、図2のメモリ22のうちの所定の記憶領域であり、他のピクチャの参照画像として用いられるIピクチャ、および、Pピクチャを格納する参照バンクとBピクチャなどを表示するために用意された表示専用バンクから構成され、参照バンクには、予めデコードされて保有されるアンカーフレームのための参照バンクと、再生出力されるタイミングに応じてデコードされるアンカーフレームのための参照バンクとが、それぞれ別に用意されている。フレームメモリ22−3におけるバンク構成の例については、図11を用いて後述する。
セレクタ156は、デコードコントローラ153の制御に基づいて、フレームメモリ22−3のうち、Pピクチャの前方向(forward)の参照画像バンクとして指定されたバンクに保持されているフレーム画像データや、Bピクチャの前方向および後ろ方向(backward)の参照画像バンクとして指定されたバンクに保持されているフレーム画像データを読み出し、デコード処理部154に供給する。
セレクタ157は、デコードコントローラ153の制御に基づいて、フレームメモリ22−3に保持されているフレーム画像データのうちの出力画像、すなわち、表示させるフレームのバンクを指定して読み出し、出力する。
次に、デコーダ23の動作について説明する。ここでは、その一例として、N15、M3のMPEG LongGOPをデコードする場合について説明する。
入力処理部151に、供給されるそれぞれのGOPは、図7に示されるように、I,P,Bピクチャにより構成されるそれぞれのピクチャのデータ以外に、GOPのヘッダ情報を含んでいる。GOPのヘッダ情報は、HDD16に保持されているストリームデータを構成するそれぞれのGOPに予め付与されているか、または、CPU20の処理によりGOPのヘッダ情報が生成されて、HDD16から読み出されてデコーダ23に供給されるストリームデータを構成するそれぞれのGOPに付与されるようになされている。
GOPのヘッダ情報には、例えば、GOP ID、そのGOPに含まれるフレームの数、およびそのGOPに含まれるアンカーフレームの数などが含まれる。
入力処理部151は、ピクチャデータをストリームバッファ22−1に供給するとともに、GOPのヘッダ情報と、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を、ストリーム情報バッファ22−2に供給する。
ストリーム情報バッファ22−2は、上述したGOPのヘッダ情報と、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を保持する。
デコードコントローラ153は、ストリーム情報バッファ22−2に保存されている、上述したGOPのヘッダ情報とピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報とを基に、デコード対象のGOPのそれぞれのピクチャのデコード関連情報を生成し、そのGOPのヘッダ情報と表示順にリオーダした表示順のデコード関連情報により構成される、図8に示されるストリームバッファGOPキューを管理する。
デコード関連情報は、ピクチャ出力要求時のデコード処理において必要になる情報であり、例えば、該当するピクチャが、保有アンカーフレームであるか、非保有アンカーフレームであるか、GOPの先頭のBピクチャであるか、GOPの先頭以外のBピクチャであるかを示すタイプ情報、デコード済みのベースバンド画像の格納先を示す情報であるデコード画格納先バンク、該当するピクチャをデコードするために必要である参照画像のうちの前方向の参照画を示す前方参照画Index番号、および、該当するピクチャをデコードするために必要である参照画像のうちの後ろ方向の参照画を示す後方参照画Index番号のうちの、必要なもので構成される。
ストリームバッファGOPキューにおいては、1GOP分のデコード関連情報が1つのデータ単位として管理されるようになされており、FIFO(First in First Out)で構成されるか、または、新たなデータがPUSHされた場合に、現在再生中のGOPから最も離れたGOPの情報がPOPされるようになされている。
デコーダ23においては、すべてのアンカーフレームをBピクチャの前に予めデコードしてもよいが、ここでは、数枚おきに選択されたアンカーフレームのみをBピクチャの前に予めデコードするものとして説明する。
具体的には、例えば、デコーダ23においては、図9に示されるように、GOP内のアンカーフレームを、Iピクチャから1つおきに予めデコードしておくようにしてもよい。以下、予めデコードされ、バンクに保持されるアンカーフレームを保有アンカーフレーム、予めデコードされない、すなわち、予めバンクに保持されないアンカーフレームを非保有アンカーフレームと称するものとする。
具体的には、例えば、N:15、M:3、GOP ID 1のGOPが入力され、GOP ID 1のGOP保有アンカー情報でGOPの保有アンカーフレームが使用している先頭バンクが1である場合、図10に示されるように、ストリームバッファGOPキューに情報が蓄積される。
すなわち、該当するGOPのGOPヘッダ情報には、GOP ID1、フレーム数15、および、アンカーフレーム数5が記載される。そして、デコード関連情報には、ピクチャの表示順にリオーダリングされたそれぞれのピクチャのピクチャタイプ、デコード画格納先バンク、前方参照画インデックス番号および後方参照画インデックス番号が記載される。ここでは、ピクチャタイプは、I,B,Pの分類ではなく、保有アンカーフレームであるか、非保有アンカーフレームであるか、GOPの先頭の2枚のBピクチャのうちのいずれかであるか(先頭Bピクチャ)、または、GOPの先頭以外のBピクチャのうちのいずれかであるか(非先頭Bピクチャ)の分類で示される。そして、インデックス2のIピクチャ、インデックス8のPピクチャ、および、インデックス14のPピクチャが保有アンカーフレームとされ、インデックス5のPピクチャ、および、インデックス11のPピクチャが非保有アンカーフレームとされる。
そして、デコード画格納先バンクは、保有アンカーフレームのみ予め確定され、バンクナンバーが記載されるが、非保有アンカーフレームおよびBピクチャにおいては、デコード関連情報が生成される時点においては、まだ確定されていないため、不定値となる。また、インデックス番号が0、1である先頭Bピクチャ(前GOPのIピクチャまたはPピクチャを参照画像とするBピクチャ)の前方参照画インデックス番号は、初期設定時にストリームバッファに前GOPが存在していない可能性があるため、この時点では設定されず、デコード時に前GOPの最後のIピクチャまたはPピクチャを検索して、検索されたときに設定される。そして、それ以外のBピクチャの前方参照画インデックス番号および後方参照画インデックス番号、および、Pピクチャの前方参照画インデックス番号が、それぞれ設定される。
そして、デコードコントローラ153は、ストリームバッファGOPキューによって管理されているデコード関連情報を基に、供給されたストリームデータにおけるそれぞれのフレームのデコードのタイミングを制御する。
すなわち、デコードコントローラ153は、すべてのアンカーフレームではなく、例えば、図9を用いて説明した場合のように、Iピクチャから1枚おきとなるアンカーフレームか、または、数枚おきに選択されたアンカーフレームのみを、保有アンカーフレームとして設定し、Bピクチャがデコードされる前のデコード処理の空き時間に、デコード処理部154によって予めデコードさせるように、セレクタ152を制御する。
上述したように、デコード処理部154は、1フレームの表示時間に対して充分に短い持間(例えば、1フレームの表示時間の1/3乃至1/4程度)で、1フレームをデコードすることが可能である。したがって、デコードコントローラ153は、フレームメモリ22−3に保持可能な数の保有アンカーフレームが、1GOP単位で予めデコードされて、フレームメモリ22−3の所定のバンクに供給されて、保持されるよう、セレクタ152、セレクタ155、および、セレクタ156をそれぞれ制御する。
GOP内の1つおきのアンカーフレームが保有アンカーフレームとされ、フレームメモリ22−3として、Xフレームのベースバンド画像データを一時保持する領域、および、2フレーム分の表示用画像データを一時保持する領域を確保することができた場合、すなわち、X+2バンクのバンクメモリが確保された場合のバンク構成図を、図11に示す。
フレームメモリ131−3のX+2フレーム分のバンクのうち、2バンクは、Bピクチャまたは非保有アンカーフレームの表示専用バンクに用いられる。そして、それ以外のバンク、すなわち、Xフレーム分のバンクは、参照画像用に用いられる。Xフレーム分の参照画像用バンクのうち、1つは、保有アンカーフレームが予めデコードされるときに参照画像として用いる非保有アンカーフレームのベースバンド画像を格納するための非保有アンカーバンクとして用いられる。そして、他の1つは、表示されるBピクチャがデコーされるときに参照画像として用いる非保有アンカーフレームのベースバンド画像を格納するためのBピクチャ表示用非保有アンカーバンクとして用いられる。そして、それ以外のX−2フレーム分のバンクが、デコードされた保有アンカーフレームを格納する保有アンカーバンクとして用いられる。
具体的には、保有アンカーフレームであるIピクチャがデコードされる場合、Iピクチャは単独でデコードされ、保有アンカーバンクに格納される。また、保有アンカーフレームであるPピクチャがデコードされる場合、一つ前のアンカーフレームである非保有アンカーフレームが、更に一つ前のアンカーフレームである、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像を参照してデコードされて、非保有アンカーバンクに格納されるので、これを参照して、保有アンカーフレームであるPピクチャがデコードされて、保有アンカーバンクに格納される。
そして、保有アンカーバンクにアンカーフレームが予め保有されているGOPにおけるいずれかのフレームの表示が指令された場合、表示されるのが保有アンカーフレームであれば、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像が読み出されて表示される。また、表示されるのが非保有アンカーフレームであれば、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像が参照画像に用いられて、表示される非保有アンカーフレームがデコードされて、表示専用バンクに格納されて表示される。そして、表示されるのがBピクチャであれば、非保有アンカーフレームが、その一つ前のアンカーフレームである、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像が参照されてデコードされて、Bピクチャ表示用非保有アンカーバンクに格納され、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像とともに参照されて、表示されるBピクチャがデコードされて、表示専用バンクに格納されて表示される。
すなわち、GOPに含まれる保有アンカーフレームと、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームが、予めデコードされ、フレームメモリ22−3に保持される。非保有アンカーフレームのうち、保有アンカーフレームをデコードするための参照画として必要とならないもの(例えば、GOP内の時間的に最後のアンカーフレームが非保有アンカーフレームである場合)は、表示が指令されるまで、デコード処理を実行しなくてもよい。
図12を参照して、デコードコントローラ153による、フレームメモリ22−3の管理について説明する。
デコードコントローラ153は、図12に示されるように、保有アンカー情報と、GOP保有アンカーキューに保持される複数フレーム分のGOP保有アンカー情報とを用いて、保有アンカーフレームのデコード処理のタイミングを制御する。保有アンカー情報はGOP保有アンカーキューを作成するために必要な情報であり、使用している先頭バンクおよび後尾バンク、並びに、使用しているバンク数に関する情報が含まれている。GOP保有アンカーキューは先頭と後尾の両方にPushできる双方向キューであり、保有アンカー情報に記載されている、使用している先頭バンクから後尾バンクの間に保持されている保有アンカーフレームに関する情報であるGOP保有アンカー情報をGOPごとに保持する。GOP保有アンカー情報は、各GOPの保有アンカーフレームのベースバンド画像のバンク格納先を決定する際に必要となる情報であり、GOP保有アンカー情報には、対応するGOPのGOP ID、そのGOPの保有アンカーフレームが使用している先頭バンク、および、そのGOPの保有アンカーフレームが使用しているバンク数が含まれている。
デコードコントローラ153は、表示される非保有アンカーフレームまたはBピクチャのデコードが行われていないタイミングを利用して、保有アンカーフレームを優先的にデコードさせるようなデコード順のスケジューリングを行い、セレクタ156を制御して、保有アンカーフレームをデコード処理部154に供給させてデコード処理を実行させるとともに、保有アンカー情報と、GOP保有アンカーキューに保持される複数フレーム分のGOP保有アンカー情報とを参照しながら、デコード済みの保有アンカーフレームのベースバンド画像データがフレームメモリ22−3のうちのいずれの参照バンクに格納されるかを決定し、セレクタ155を制御して、フレームメモリ22−3の参照バンクの所定の位置にデコード済みの保有アンカーフレームのベースバンド画像データを格納する。
予めデコードされる保有アンカーフレームがIピクチャである場合、セレクタ152が制御されて、Iピクチャがデコード処理部154に供給されて、デコードされた後、セレクタ155が制御されて、フレームメモリ22−3の参照バンクのうちの保有アンカーバンクのいずれかに格納される。
また、予めデコードされる保有アンカーフレームがPピクチャである場合、先に、その直前の非保有アンカーフレームがデコード処理部154に供給されて、デコードされた後、セレクタ155が制御されて、フレームメモリ22−3の参照バンクの非保有アンカーバンクに格納される。そして、セレクタ152が制御されて、保有アンカーフレームであるPピクチャがデコード処理部154に供給されるとともに、セレクタ156が制御されて、非保有アンカーバンクに格納されたベースバンド画像データが参照されて、Pピクチャのデコード処理が実行され、セレクタ155が制御されて、フレームメモリ22−3の参照バンクのうちの保有アンカーバンクのいずれかに格納される。
デコードコントローラ153は、供給されたGOPに含まれるアンカーフレームのうち、予めデコード処理が実行される、保有アンカーフレーム、および、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームのデコードのスケジュールと、デコード後の参照バンクのバンク位置を、アンカーフレームデコードキューを用いて管理する。すなわち、デコードコントローラ153は、GOPの先頭から、それぞれのピクチャが、保有アンカーフレーム、または、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームであるかを判断し、これらの予めデコードされるピクチャにおいて、それぞれのデコード後のベースバンド画像データが保持されるバンク位置を設定し、アンカーフレームデコードキューにPUSHする。
図13および図14を参照して、保有アンカーバンクの管理の具体的な処理の一例について説明する。ここでは、保有アンカーバンクとして、10バンク利用可能である場合、すなわち、フレームメモリ22−3に、14フレーム分のベースバンド画像データを保持することができる場合について説明する。
まず、図13Aの状態において、予めデコードされたGOP ID 1、2、3の保有アンカーフレームのベースバンド画像が、それぞれ、フレームメモリ22−3の10バンクの保有アンカーバンクのうちのバンク0乃至3、バンク4乃至6、バンク7乃至9に格納されている。このときデコードコントローラ153が管理している保有アンカー情報およびGOP保有アンカーキューは、図13Bの状態となる。すなわち、保有アンカー情報により、使用している先頭バンクは1、使用している後尾バンクは9、使用しているバンク数は9であることが管理され、GOP保有アンカーキューにより、GOP ID1の保有アンカーバンクが、バンク1から3つのバンクを利用しており、GOP ID2の保有アンカーバンクが、バンク4から3つのバンクを利用しており、GOP ID3の保有アンカーバンクが、バンク7から3つのバンクを利用していることが管理されている。
次に、アンカーフレーム数5のGOP ID 4のストリームデータが供給された場合、GOP ID 4のGOPの保有アンカーフレーム数は3となり、現在空いているバンクは、バンク10のみであって、GOP ID 4のGOPの保有アンカーフレームのすべてを格納することができないため、現在格納されているいずれかのGOPの保有アンカーフレームを保有アンカーバンクから削除する必要が生じる。
そこで、デコードコントローラ153は、現在GOP保有アンカーキューに保持されている情報のうち、GOP ID 4に最も遠いGOPに関する情報であるGOP ID 1のGOP保有アンカー情報をGOP保有アンカーキューからPOPし、GOP ID 4のGOP保有アンカー情報をGOP保有アンカーキューの後尾にPUSHする。
そのときのフレームメモリ22−3の10バンクの保有アンカーバンクの状態を図14Aに、保有アンカー情報およびGOP保有アンカーキューの状態を図14Bに示す。すなわち、フレームメモリ22−3の10バンクの保有アンカーバンクのうちのバンク4乃至6にはGOP ID2の保有アンカーフレームが、バンク7乃至9にはGOP ID3の保有アンカーフレームが、図13を用いて説明した場合と同様にしてそれぞれ格納されており、新たに供給されたGOP ID4の保有アンカーフレームが、バンク10、バンク1、およびバンク2に格納される。そして、保有アンカー情報により、使用している先頭バンクは4、使用している後尾バンクは2、使用しているバンク数は9であることが管理され、GOP保有アンカーキューにより、GOP ID2の保有アンカーバンクが、バンク4から3つのバンクを利用しており、GOP ID3の保有アンカーバンクが、バンク7から3つのバンクを利用しており、GOP ID4の保有アンカーバンクが、バンク10から3つのバンクを利用していることが管理されている。
このようにして、デコーダ23によるデコードが制御されるが、クリップの先頭または最後尾のGOPが、編集素材のストリームにおける1GOPの全てを含んでいない場合、上述したように、メモリ22には、編集素材のストリームにおける1GOPの全てを転送しても良いが、必要な部分のみ転送するようにしても良い。また、例えば、クリップの先頭のGOPが、編集素材のストリームにおけるMPEG LongGOPの先頭の2枚のBピクチャを含んでいる場合、これらのBピクチャをデコードするために、クリップに含まれない、一つ前のGOPをデコーダ23に供給する必要がある。
図15乃至図18を参照して、GOPの転送範囲、および、表示出力される範囲の指定方法、並びに、デコード処理の具体的な例について説明する。
図15を用いて、ストリームAの一部であるクリップAと、ストリームBの一部であるクリップBとを接続したクリップストリームについて、±2倍速でトランジェント再生を行う(短い区間で正方向と逆方向の再生を連続して指令する)場合のGOP転送とデコーダ23の動作の第1の例について説明する。
クリップAには、2つのGOPの一部が含まれており、クリップAに含まれるフレームをデコードするためには、クリップAには含まれないフレームであるが、これらの2つのGOPに含まれているフレームが複数枚必要となる。クリップBには、1つのGOPの一部が含まれており、クリップBに含まれるフレームをデコードするためには、クリップBに含まれないフレームであって、クリップBを構成するフレームが含まれているGOPの一つ前のGOPに含まれているフレームが複数枚必要となる。すなわち、クリップAとクリップBとを接続したクリップストリームをデコードするためには、4つのGOPのデータが必要となる。
第1の例においては、クリップストリームの再生に必要なGOPは全て転送されるものとする。そして、転送されたGOPに含まれるIピクチャ、および、Pピクチャのうちの半分は、優先的にデコードされる。
転送GOP決定部52は、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、クリップAからクリップBに正方向再生される場合のGOPの転送順が決まるので、この転送順に基づいて、この4つのGOPのGOP_IDを、GOP_ID1乃至GOP_ID4と設定し、メモリ18に転送するGOPとする。
そして、GOP転送タイミング制御部53の処理によりGOPの転送タイミングが制御される。具体的には、転送されたGOPのIピクチャおよびPピクチャが、予めデコードされ、メモリ22に蓄積されるように、表示指令に先立って、GOP_ID1乃至GOP_ID4のそれぞれのGOPデータが、所定のタイミングで転送される。
GOP_ID1乃至GOP_ID4のそれぞれのGOPにおいて、データの転送が終了された後、所定のタイミングで、転送完了コマンドがPCIブリッジ17のコマンドバッファ31に送信される。
そして、表示コマンド送出部57は、ユーザの操作入力を基に、フレームごとの表示コマンドをPCIブリッジ17のコマンドバッファ31に送信する。
例えば、図15に示されているピクチャ出力要求例のように、クリップAの先頭側からGop_ID 4のB1まで正方向に再生指示が出された後、逆方向に再生指示が出された場合(図中、Gop_ID 4のB1ピクチャの次に、Gop_ID 2のB3ピクチャの再生出力が指令された場合)、この時点において、Gop_ID 2に含まれるフレームの次に表示指令が出されると予測されるGop_ID 1のP14までの表示フレーム数は5フレームのみである。このため、Gop_ID 1のアンカーフレームの情報を保有アンカーバンクから消してしまうと、Gop_ID 1のP14を表示するまでの間に表示に必要なデコードが間に合わず、表示画面のフリーズを起こしてしまう可能性がある。したがって、このクリップストリームのトランジェント再生が実行される場合、Gop_ID 1に対応する保有アンカーフレームのデコード済みベースバンド画像データを保有アンカーバンクから消さないことが望ましい。このような場合を考慮すると、デコーダ23における保有アンカーバンクは12フレーム分設けられるようにすると好適である。
また、図15に示されるクリップストリームにおいては、Gop_ID 2のB4ピクチャ乃至B13ピクチャの情報は、クリップ内のフレームのデコードに全く必要ないため、転送を行わなくてもよい。GOP転送とデコーダ23の動作の第2の例として、Gop_ID 2の必要なフレームのみを転送するようにした場合について、図16を用いて説明する。
すなわち、転送GOP決定部52は、クリップの最後尾のGOPにおいて、クリップに含まれるフレームとそれらのデコードに必要なフレームを含む範囲のみを選択し、その部分のみを転送するものとして設定するとともに、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、この4つのGOPのGOP_IDを、GOP_ID1乃至GOP_ID4で設定し、メモリ18に転送するGOPとする。すなわち、図16における場合においては、Gop_ID 2として転送されるフレーム数が異なる以外は、基本的に、図15を用いて説明した場合と同様にして、GOP転送タイミング制御部53の処理によりGOPの転送が制御される。具体的には、転送されたGOPのIピクチャおよびPピクチャが予めデコードされ、メモリ22に蓄積されるように、表示指令に先立って、GOP_ID1乃至GOP_ID4のそれぞれのGOPデータが、所定のタイミングで転送される。
GOP_ID1乃至GOP_ID4のそれぞれのGOPデータの転送が終了された後、所定のタイミングで、転送完了コマンドがPCIブリッジ17のコマンドバッファ31に送信される。
図16における場合においては、図15を用いて説明したときと同様の再生指令が発生したとしても、図15における場合と比較して、GOP_ID2のP8およびI14が転送されない分、保有アンカーバンクメモリの数が少なくても、表示画面のフリーズを防いで、トランジェント再生を実行することが可能となる。ここでは、デコーダ23における保有アンカーバンクは10フレーム分設けられるようにすると好適である。
また、転送はGOP単位で実行し、出力範囲指定コマンドに基づいて表示に必要なフレームのみがデコードされるようにしてもよい。GOP転送とデコーダ23の動作の第3の例として、転送はGOP単位で実行し、出力範囲指定コマンドを用いることにより、表示に必要なフレームのみをデコードする場合について、図17を用いて説明する。
転送GOP決定部52は、図15において説明した場合と同様に、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、この4つのGOPのGOP_IDを、GOP_ID1乃至GOP_ID4で設定し、これらのGOPに含まれるフレームの全てを、メモリ18に転送するGOPとする。
そして、出力範囲情報設定部54は、転送されるGOP_ID1乃至GOP_ID4のそれぞれの出力範囲を設定する。ここでは、GOP_ID1の表示出力範囲は7−15、GOP_ID2の表示出力範囲は1−4、GOP_ID3の表示出力範囲は0−0、そして、GOP_ID3の表示出力範囲は2−15とされる。
そして、同様にして、GOP転送タイミング制御部53の処理によりGOPの転送タイミングが制御される。具体的には、転送されたGOPのIピクチャおよびPピクチャが予めデコードされ、メモリ22に蓄積されるように、表示指令に先立って、GOP_ID1乃至GOP_ID4のそれぞれのGOPデータが、所定のタイミングで転送される。
そして、GOP_ID1乃至GOP_ID4のそれぞれのGOPデータの転送が終了された後、所定のタイミングで、転送完了コマンドとともに、出力範囲指定コマンドがPCIブリッジ17のコマンドバッファ31に送信される。
CPU20は、出力範囲指定コマンドを基に、デコーダ23を制御するので、デコーダ23においては、GOP_ID2はI2のみデコードされ、保有アンカーバンクに保持される。また、GOP_ID3の表示出力範囲は0−0となっており、GOP_ID4の先頭のB1を表示するためだけに必要なので、最終的には、P14のみ保有アンカーバンクに保持することができればよい。したがって、この場合、デコーダ23の保有アンカーバンクメモリは8フレーム分設けられるようにすると好適である。
また、図16および図17を用いて説明した場合のように、必要な部分のみを転送するとともに、出力範囲指定コマンドに基づいて表示に必要なフレームのみをデコードするようにしてもよい。GOP転送とデコーダ23の動作の第4の例として、必要な部分のみをGOPの転送単位として設定し、出力範囲指定コマンドを用いることにより、表示に必要なフレームのみをデコードする場合について、図18を用いて説明する。
すなわち、転送GOP決定部52は、クリップの最後尾のGOPにおいて、クリップに含まれるフレームのデコードに必要なフレームのみを選択し、その部分のみを転送するものとして設定するとともに、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、この4つのGOPのGOP_IDを、GOP_ID1乃至GOP_ID4で設定し、メモリ18に転送するGOPとする。
そして、出力範囲情報設定部54は、転送されるGOP_ID1乃至GOP_ID4のそれぞれの出力範囲を設定する。ここでも、GOP_ID1の表示出力範囲は7−15、GOP_ID2の表示出力範囲は1−4、GOP_ID3の表示出力範囲は0−0、そして、GOP_ID3の表示出力範囲は2−15とされる。
そして、GOP転送タイミング制御部53の処理によりGOPの転送タイミングが制御される。すなわち、転送されたGOPのIピクチャおよびPピクチャが予めデコードされ、メモリ22に蓄積されるように、表示指令に先立って、GOP_ID1乃至GOP_ID4のそれぞれのGOPデータが、所定のタイミングで転送される。
GOP_ID1乃至GOP_ID4のそれぞれのGOPデータの転送が終了された後、所定のタイミングで、転送完了コマンドとともに、出力範囲指定コマンドがPCIブリッジ17のコマンドバッファ31に送信される。
CPU20は、出力範囲指定コマンドを基に、デコーダ23を制御するので、デコーダ23においては、GOP_ID2はI2のみでコードされ、保有アンカーバンクに保持される。また、GOP_ID3の表示出力範囲は0−0となっており、GOP_ID4の先頭のB1を表示するためだけに必要なので、最終的には、P14のみ保有アンカーバンクに保持することができればよい。したがって、第4の例における場合においても、デコーダ23の保有アンカーバンクメモリはフレーム分設けられるようにすると好適である。
図18を用いて説明した第4の例においては、第1の例および第3の例と比較して、フレームの転送量の削減により表示レスポンスが向上するとともに、第1の例および第2の例と比較して、保持しなければいけないアンカーフレームの削減により、保有アンカーバンクメモリのバンク数が同一であれば、より広い範囲でのスクラブ再生のレスポンスが向上するという効果を得ることができる。
この方法により、スクラブ再生が実行される場合や、例えば、1倍速、1.5倍速等スピードを指定して再生する場合においても、クリップ再生を実現することが可能となる。
次に、図19のフローチャートを参照して、CPU11が実行する処理について説明する。
ステップS1において、CPU11の操作入力取得部51は、サウスブリッジ15およびノースブリッジ12を介して、図示しない操作入力部により、クリップの設定の入力、すなわち、いずれの符号化ストリームのどの部分を切り出してクリップとし、どのように接続して、クリップストリームとするかを示す設定の入力を受けて、転送GOP決定部52、GOP転送タイミング制御部53、および、出力範囲情報設定部54に供給する。
ステップS2において、転送GOP決定部52は、設定されたクリップに含まれるそれぞれのGOPおよびそれらをデコードするために必要なGOPに、クリップストリームの正方向再生時におけるGOPの転送順に基づいて、GOP IDを設定する。
ステップS3において、操作入力取得部51は、サウスブリッジ15およびノースブリッジ12を介して、図示しない操作入力部を用いてユーザにより実行される表示開始の操作入力を受け、転送GOP決定部52、および、GOP転送タイミング制御部53に供給する。
転送GOP決定部52は、ステップS4において、フレーム表示順をスケジューリングし、ステップS5において、表示するフレームを指定して、GOP転送タイミング制御部53、および、出力範囲情報設定部54に通知する。
ステップS6において、図21を用いて後述する表示用転送単位決定処理が実行される。
ステップS7において、GOP転送タイミング制御部53は、現在転送中のGOPがあるか否かを判断する。
ステップS7において、現在転送中のGOPがないと判断された場合、ステップS8において、図22を用いて後述する先送り用転送単位決定処理が実行される。
ステップS7において、現在転送中のGOPがあると判断された場合、または、ステップS8の処理の終了後、ステップS9において、図23乃至図26を用いて後述する転送完了送信決定処理が実行される。
ステップS10において、GOP転送タイミング制御部53は、表示コマンド送出部57に、ステップS5において指定された表示されるフレームの表示コマンドの送出を指令する。表示コマンド送出部57は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジのコマンドバッファ31に、表示コマンドを送信する。
ステップS11において、転送GOP決定部52は、操作入力取得部51から供給されるユーザの操作入力を示す信号を基に、ユーザから、例えば、表示方向または速度の変更や、表示されるストリームの変更などの、フレーム表示順の変更を伴う操作が入力されたか否かを判断する。ステップS11において、フレーム表示順の変更を伴う操作が入力されたと判断された場合、処理は、ステップS4に戻り、それ以降の処理が繰り返される。
ステップS11において、フレーム表示順の変更を伴う操作が入力されていないと判断された場合、ステップS12において、転送GOP決定部52は、操作入力取得部51から供給されるユーザの操作入力を示す信号を基に、表示処理が終了されるか否かを判断する。ステップS12において、表示処理が終了されないと判断された場合、処理は、ステップS5に戻り、それ以降の処理が繰り返される。ステップS12において、表示処理が終了されると判断された場合、処理は終了される。
このようにして、CPU11において、ユーザの操作入力に基づいて、フレーム表示順が決定されて、表示コマンドの送信に先駆けて対応するGOPのIピクチャおよびPピクチャをデコードすることができるようにGOPの転送単位および転送タイミングが決定され、転送が完了された場合に転送完了コマンドおよび出力範囲指定コマンドが送信され(ステップS9の転送完了決定処理、詳細は後述)、その後、表示コマンドが送信されるので、表示コマンドが送信されるときには、既に、対応するGOPのIピクチャおよびPピクチャがデコード済みである可能性が高くなり、表示コマンドに対する表示レスポンスが高くなる。
そして、CPU20は、CPU11から供給されるコマンドに基づいて、デコーダ23によるデコード処理を制御する。具体的には、CPU20は、圧縮符号化されたストリームデータのメモリ22への入力のタイミング、メモリ22とデコーダ23とのデータの授受のタイミング、ピクチャごとのデコードのタイミング、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定し、これらのタイミングを基に、PCIブリッジ17、メモリ22、および、デコーダ23を制御する。
次に、図20のフローチャートを参照して、図19を用いて説明したCPU11の処理と並行して実行されるCPU20の処理について説明する。
ステップS41において、CPU20のコマンド取得部71は、コントロールバス19を介して、PCIブリッジ17のコマンドバッファ31を参照し、GOPの転送完了コマンドを受信したか否かを判断する。ステップS41において、GOPの転送完了コマンドを受信していないと判断された場合、処理は、後述するステップS45に進む。
ステップS41において、GOPの転送完了コマンドを受信したと判断された場合、ステップS42において、コマンド取得部71は、GOPの転送完了コマンドを受信したことを、メモリ間転送制御部72およびリザルト送出部76に通知する。メモリ間転送制御部72は、HDD16からメモリ18へのGOPの転送完了を確認する。そして、リザルト送出部76は、コントロールバス19を介して、PCIブリッジ17のリザルトバッファ32に、GOPの転送完了コマンドに対するリザルトを返す。
ステップS43において、メモリ間転送制御部72は、メモリ18からメモリ22へのGOPの転送を制御する。すなわち、メモリ間転送制御部72により、メモリ18へのGOPの転送が完了されたタイミングではなく、CPU11からGOPの転送完了コマンドを受信したタイミングに基づいて、メモリ18からメモリ22へのGOPの転送が制御される。
ステップS44において、デコードスケジュール処理部73は、メモリ22へ転送されたGOPのアンカーフレームが優先的にデコードされるように、デコードをスケジュールし、スケジュールをデコード制御部74に通知する。デコード制御部74は、デコードスケジュール処理部73によるデコードスケジュールに基づいて、デコーダ23によるデコード処理を制御する。
ステップS41において、GOPの転送完了コマンドを受信していないと判断された場合、または、ステップS44の処理の終了後、ステップS45において、コマンド取得部71は、コントロールバス19を介して、PCIブリッジ17のコマンドバッファ31を参照し、表示コマンドを受信したか否かを判断する。ステップS45において、表示コマンドを受信していないと判断された場合、処理は、後述するステップS48に進む。
ステップS45において、表示コマンドを受信したと判断された場合、ステップS46において、デコード制御部74は、表示されるピクチャを出力するために、デコーダ23およびメモリ22を制御する。
具体的には、例えば、表示が指令されたフレームが保有アンカーフレームであるIピクチャまたはPピクチャであるとき、デコードが終了されたベースバンド画像データがメモリ22に蓄積されているか否かが検出され、ベースバンド画像データがメモリ22に蓄積されている場合は、そのベースバンド画像データが出力される。また、例えば、表示が指令されたフレームがBピクチャであるとき、そのBピクチャをデコードするために必要な参照画像データが、メモリ22に蓄積されているか否かが検出され、参照画像データがメモリ22に蓄積されている場合は、その参照画像データを用いて、出力されるBピクチャがデコードされる。
ステップS47において、デコード制御部74は、該当するフレームの表示が終了したか否かを判断する。ステップS47において、該当するフレームの表示が終了していないと判断された場合、処理は、ステップS46に戻り、それ以降の処理が繰り返される。
ステップS45において、表示コマンドを受信していないと判断された場合、または、ステップS47において、該当するフレームの表示が終了したと判断された場合、ステップS48において、コマンド取得部71は、コントロールバス19を介して、PCIブリッジ17のコマンドバッファ31を参照することにより、表示処理が終了されるか否かを判断する。ステップS48において、表示処理が終了されていないと判断された場合、処理は、ステップS41に戻り、それ以降の処理が繰り返される。ステップS48において、表示処理が終了されたと判断された場合、処理が終了される。
このような処理により、CPU20は、CPU11の制御に基づいて、メモリ18からメモリ22へのGOPの転送と、デコーダ23によるデコード処理を制御する。そのとき、メモリ22へ転送されたGOPのアンカーフレームのうちの少なくとも一部が優先的にデコードされるので、表示コマンド受信から、デコードされたベースバンド画像データの出力までのレスポンスが向上する。
また、CPU20は、あるGOPの転送完了コマンドを取得した後、そのGOPのデータの、メモリ18からメモリ22への転送を制御する。すなわち、CPU11の処理において、実際のGOPの転送のタイミングに対して、転送完了コマンドの発生タイミングが遅いので、例えば、ランダム再生において、表示開始位置が大幅に変更された場合などにおいて、メモリ18からメモリ20に無駄にデータの転送が行われない。したがって、メモリ20のデータ記憶容量がメモリ18と比較して少ない場合であっても、メモリ20がオーバーフローしたり、必要なデータが上書きされてしまうことを防ぐことが可能となる。
次に、図21のフローチャートを参照して、図19のステップS6において実行される、表示用転送単位決定処理について説明する。
ステップS71において、CPU11の転送GOP決定部52は、表示するフレームは、GOPの先頭の2枚のBピクチャのうちのいずれかであるか否かを判断する。ステップS71において、表示するフレームは、GOPの先頭の2枚のBピクチャのうちのいずれでもないと判断された場合、処理は、後述するステップS74に進む。
ステップS71において、表示するフレームは、GOPの先頭の2枚のBピクチャのうちのいずれかであると判断された場合、ステップS72において、転送GOP決定部52は、このBピクチャは、前方向に存在するGOPを参照するか否かを判断する。ステップS72において、例えば、Closed GOPであったり、ストリームの先頭のGOPであるなど、前GOPの参照がないと判断された場合、処理は、後述するステップS74に進む。
ステップS72において、前GOPの参照があると判断された場合、ステップS73において、転送GOP決定部52は、前のGOP、すなわち、このBピクチャに対する前方向の参照画像を含むGOPは転送済みであるか否かを判断する。ステップS73において、前のGOPは転送済みではないと判断された場合、処理は、後述するステップS76に進む。
ステップS71において、表示するフレームは、GOPの先頭の2枚のBピクチャのうちのいずれでもないと判断された場合、ステップS72において、前GOPの参照がないと判断された場合、または、ステップS73において、前のGOPは転送済みであると判断された場合、ステップS74において、転送GOP決定部52は、表示するフレームが含まれるGOPは転送済みであるか否かを判断する。ステップS74において、表示するフレームが含まれるGOPは転送済みであると判断された場合、処理は、図19のステップS6に戻り、ステップS7に進む。
ステップS74において、表示するフレームが含まれるGOPは転送済みではないと判断された場合、ステップS75において、転送GOP決定部52は、サウスブリッジ15、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介した、HDD16からメモリ18への、表示するフレームが含まれるGOPの転送の開始を制御し、処理は、図19のステップS6に戻り、ステップS7に進む。
ステップS73において、前のGOPは転送済みではないと判断された場合、ステップS76において、転送GOP決定部52は、そのBピクチャが含まれるGOP、換言すれば、表示されるフレームが含まれるGOPは転送済みであるか否かを判断する。
ステップS73において、そのBピクチャが含まれるGOPは転送済みであると判断された場合、ステップS77において、転送GOP決定部52は、サウスブリッジ15、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介した、HDD16からメモリ18への、一つ前のGOPの転送の開始を制御し、処理は、図19のステップS6に戻り、ステップS7に進む。
ステップS73において、そのBピクチャが含まれるGOPは転送済みではないと判断された場合、ステップS78において、転送GOP決定部52は、サウスブリッジ15、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介した、HDD16からメモリ18への、一つ前のGOPと表示されるGOPのI2B0B1の転送の開始を制御し、処理は、図19のステップS6に戻り、ステップS7に進む。
このような処理により、表示されるピクチャがGOP先頭の2枚のBピクチャのうちのいずれかであり、そのBピクチャが含まれているGOPと、その前のGOP(すなわち、表示されるBピクチャをデコードするために必要な参照画像フレームが含まれているGOP)とがいずれも転送されていない場合、一つ前のGOPと表示されるGOPのI2B0B1が転送される。したがって、現在実行されている再生処理が高速再生処理で、このBピクチャが含まれているGOPの他のフレームが表示されない場合にも、無駄なデータを転送することがなく、更に、高速再生処理ではなく、このBピクチャが含まれているGOPの他のフレームが表示されるために、このBピクチャが含まれているGOPの転送が必要になった場合であっても、転送データの冗長分が少ない。
次に、図22のフローチャートを参照して、図19のステップS8において実行される、先送り用転送単位決定処理について説明する。
ステップS101において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームであるか否かを判断する。ステップS101において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームであると判断された場合、処理は、図19のステップS8に戻り、ステップS9に進む。
ステップS101において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームではないと判断された場合、すなわち、表示されるフレームにおけるGOPの変わり目であると判断された場合、ステップS102において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ後ろのGOPに含まれているフレームであるか否か、すなわち、正方向の再生におけるGOPの変わり目であるか否かを判断する。ステップS102において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ後ろのGOPに含まれているフレームではないと判断された場合、処理は、後述するステップS106に進む。
ステップS102において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ後ろのGOPに含まれているフレームであると判断された場合、ステップ103において、GOP転送タイミング制御部53は、表示されるフレームを含むGOP(既に転送開始済みである)の1つ後ろのGOPに含まれる表示範囲のフレーム数は、6フレーム以上であるか否かを判断する。
なお、ここでは、6フレームを閾値として判断を実行しているが、このフレーム数は、この装置が求められている再生能力や、メモリ18のメモリ容量によっても異なる値である。例えば、メモリ18のメモリ容量が少ない場合、あまり早く転送を開始してしまっては、メモリ18がオーバーフローしてしまう可能性がある。しかしながら、メモリ18のメモリ容量が充分である場合、この装置が正方向および逆方向に何倍速の再生機能を有しているかに基づいて、閾値が定められている。例えば、正方向および逆方向に2倍速程度の再生機能が求められている場合、6フレームを閾値とすることにより、再生がフリーズしないために充分な数のフレームが先行して転送される。
ステップ103において、1つ後ろのGOPに含まれる表示範囲のフレーム数は、6フレーム以上であると判断された場合、ステップS104において、GOP転送タイミング制御部53は、例えば、表示するフレームが含まれているGOPやコマンドなどよりも優先度を下げて、1つ後ろのGOPの転送を開始し、処理は、図19のステップS8に戻り、ステップS9に進む。
すなわち、表示コマンドなどのコマンドを送信する処理や、現在再生中のフレームを含むGOPの次に再生される可能性の高いGOPを転送する処理と比較して、GOPの変わり目でデータを先行して転送する処理は、次使うであろうデータをあらかじめ転送しておくという処理のため、緊急性がない。よって、優先度をつけることにより、コマンドの送信など、絵を表示するために必要な処理のレスポンスを落とすことなく、データ転送の効率を向上させることが可能となる。
ステップ103において、1つ後ろのGOPに含まれる表示範囲のフレーム数は、6フレーム以下であると判断された場合、ステップS105において、GOP転送タイミング制御部53は、例えば、表示するフレームが含まれているGOPやコマンドなどよりも優先度を下げて、1つ後ろのGOPと、更にもう1つ後ろのGOPの2GOP分の転送を開始し、処理は、図19のステップS8に戻り、ステップS9に進む。
ステップS102において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ後ろのGOPに含まれているフレームではないと判断された場合、ステップS106において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ前のGOPに含まれているフレームであるか否か、すなわち、逆方向の再生におけるGOPの変わり目であるか否かを判断する。ステップS106において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ前のGOPに含まれているフレームではないと判断された場合、1GOP以上表示しないで飛ばすような高速再生であるか、または、スクラブ再生により再生開始位置が変更された場合であるので、処理は、図19のステップS8に戻り、ステップS9に進む。
ステップS106において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ前のGOPに含まれているフレームであると判断された場合、ステップ107において、GOP転送タイミング制御部53は、表示されるフレームを含むGOP(既に転送開始済みである)の1つ前のGOPに含まれる表示範囲のフレーム数は、6フレーム以上であるか否かを判断する。
ステップ107において、1つ前のGOPに含まれる表示範囲のフレーム数は、6フレーム以上であると判断された場合、ステップS108において、GOP転送タイミング制御部53は、例えば、表示するフレームが含まれているGOPやコマンドなどよりも優先度を下げて、1つ前のGOPの転送を開始し、処理は、図19のステップS8に戻り、ステップS9に進む。
ステップ107において、1つ前のGOPに含まれる表示範囲のフレーム数は、6フレーム以下であると判断された場合、ステップS109において、GOP転送タイミング制御部53は、例えば、表示するフレームが含まれているGOPやコマンドなどよりも優先度を下げて、1つ前のGOPと、更にもう1つ前のGOPの2GOP分の転送を開始し、処理は、図19のステップS8に戻り、ステップS9に進む。
このような処理により、GOPの変わり目のフレームが表示されるタイミングに、さらにその次に表示されると予測されるGOPの転送を開始することができるとともに、そのGOPに含まれている表示フレーム数が少ない場合には、更にもう1GOPの転送が開始されるので、フレームデータの転送が間に合わずに、表示レスポンスが悪化してしまうことを防止することができる。
次に、図23乃至図26のフローチャートを参照して、図19のステップS9において実行される、転送完了送信決定処理について説明する。
ステップS131において、GOP転送タイミング制御部53は、転送が完了して転送完了を送信していないGOPはあるか否かを判断する。ステップS131において、転送が完了して転送完了を送信していないGOPはないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS131において、転送が完了して転送完了を送信していないGOPがあると判断された場合、ステップS132において、GOP転送タイミング制御部53は、転送GOP決定部52により決定された転送されるGOPに関する情報、および、出力範囲情報設定部54により設定された出力範囲に基づいて、そのGOPは、表示しているフレームの隣のGOPであり、かつ、表示範囲は6frame未満であるか否かを判断する。
ステップS132において、そのGOPは、表示しているフレームの隣のGOPではないか、表示範囲は6frame未満ではないと判断された場合、処理は、後述するステップS136に進む。
ステップS132において、そのGOPは、表示しているフレームの隣のGOPであり、かつ、表示範囲は6frame未満であると判断された場合、ステップS133において、転送完了コマンド送出部56は、そのGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。ステップS133において、そのGOPに対する転送完了コマンドは、送信済みであると判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS133において、そのGOPに対する転送完了コマンドは、送信済みではないと判断された場合、ステップS134において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。
ステップS135において、出力範囲情報設定部54は、そのGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、そのGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信し、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS132において、そのGOPは、表示しているフレームの隣のGOPではないか、表示範囲は6frame未満ではないと判断された場合、ステップS136において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームであるか否かを判断する。ステップS136において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームではないと判断された場合、処理は、後述するステップS151に進む。
ステップS136において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームであると判断された場合、ステップS137において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置しているフレームであるか否かを判断する。ステップS137において、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置している、すなわち、再生の方向が正方向であると判断された場合、処理は、後述するステップS156に進む。
ステップS137において、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置していない、すなわち、再生の方向が逆方向であると判断された場合、ステップS138において、GOP転送タイミング制御部53は、表示されるフレームは、そのGOPの先頭から5フレーム以内のフレームであるか否かを判断する。ステップS138において、表示されるフレームは、そのGOPの先頭から5フレーム以内のフレームではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS138において、表示されるフレームは、そのGOPの先頭から5フレーム以内のフレームであると判断された場合、ステップS139において、GOP転送タイミング制御部53は、表示されているフレームを含むGOPの一つ前のGOPのデータは転送中であるか否かを考える。
ステップS139において、一つ前のGOPのデータは転送中であると判断された場合、ステップS140において、GOP転送タイミング制御部53は、転送中である1つ前のGOPに含まれるフレームの表示指令が出されるまでの残り時間があまりないので、データ転送の優先度を上げて、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS139において、一つ前のGOPのデータは転送中ではないと判断された場合、ステップS141において、GOP転送タイミング制御部53は、一つ前のGOPのデータは転送済みであるか否かを判断する。
ステップS141において、一つ前のGOPのデータは転送済みではないと判断された場合、ステップS142において、GOP転送タイミング制御部53は、1つ前のGOPを、優先度を高くして転送し、処理は、後述するステップS146に進む。
ステップS141において、一つ前のGOPのデータは転送済みであると判断された場合、ステップS143において、転送完了コマンド送出部56は、1つ前のGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。
ステップS143において、1つ前のGOPに対する転送完了コマンドは送信済みではないと判断された場合、ステップS144において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。
ステップS145において、出力範囲情報設定部54は、1つ前のGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、1つ前のGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信する。
ステップS142の処理の終了後、ステップS143において、1つ前のGOPに対する転送完了コマンドは送信済みであると判断された場合、または、ステップS145の処理の終了後、ステップS146において、GOP転送タイミング制御部53は、出力範囲情報設定部54により設定された出力範囲に基づいて、一つ前のGOPの表示範囲は6frame未満であるか否かを判断する。
ステップS146において、一つ前のGOPの表示範囲は6frame未満ではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS146において、一つ前のGOPの表示範囲は6frame未満であると判断された場合、ステップS147において、GOP転送タイミング制御部53は、二つ前のGOPのデータは転送済みであるか否かを判断する。ステップS147において、2つ前のGOPのデータは転送済みではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS147において、2つ前のGOPのデータは転送済みであると判断された場合、ステップS148において、転送完了コマンド送出部56は、2つ前のGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。ステップS148において、2つ前のGOPに対する転送完了コマンドは送信済みであると判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS148において、2つ前のGOPに対する転送完了コマンドは送信済みではないと判断された場合、ステップS149において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。
ステップS150において、出力範囲情報設定部54は、2つ前のGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、2つ前のGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信し、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS136において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームではないと判断された場合、ステップS151において、転送完了コマンド送出部56は、表示されるフレームがあるGOPの転送完了を送信したか否かを判断する。ステップS151において、表示されるフレームがあるGOPの転送完了を送信したと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS151において、表示されるフレームがあるGOPの転送完了を送信していないと判断された場合、ステップS152において、GOP転送タイミング制御部53は、表示されるフレームがあるGOPは転送済みか否かを判断する。
ステップS152において、表示されるフレームがあるGOPは転送済みではないと判断された場合、ステップS153において、GOP転送タイミング制御部53は、優先度を上げて、表示されるフレームがあるGOPの転送完了を待つ。
ステップS152において、表示されるフレームがあるGOPは転送済みであると判断された場合、または、ステップS153の処理の終了後、すなわち、表示されるフレームの転送は完了したが、転送完了コマンドはまだ送信されていないとき、ステップS154において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。
ステップS155において、転送完了コマンド送出部56は、表示されるフレームがあるGOPの転送完了を、出力範囲指定コマンドとともに送信し、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS137において、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置している、すなわち、再生の方向が正方向であると判断された場合、ステップS156において、GOP転送タイミング制御部53は、表示されるフレームは、そのGOPの最後から5フレーム以内のフレームであるか否かを判断する。ステップS156において、表示されるフレームは、そのGOPの最後から5フレーム以内のフレームではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS156において、表示されるフレームは、そのGOPの最後から5フレーム以内のフレームであると判断され場合、ステップS157において、GOP転送タイミング制御部53は、一つ後のGOPのデータは転送中であるか否かを判断する。
ステップS157において、一つ後のGOPのデータは転送中であると判断された場合、ステップS158において、GOP転送タイミング制御部53は、転送中である1つ後ろのGOPに含まれるフレームの表示指令が出されるまでの残り時間があまりないので、データ転送の優先度を上げて、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS157において、一つ後のGOPのデータは転送中ではないと判断された場合、ステップS159において、GOP転送タイミング制御部53は、一つ後ろのGOPのデータは転送済みであるか否かを判断する。
ステップS159において、一つ後ろのGOPのデータは転送済みではないと判断された場合、ステップS160において、GOP転送タイミング制御部53は、一つ後ろのGOPを、優先度を高くして転送し、処理は、後述するステップS164に進む。
ステップS159において、一つ後ろのGOPのデータは転送済みであると判断された場合、ステップS161において、転送完了コマンド送出部56は、1つ後ろのGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。
ステップS161において、1つ後ろのGOPに対する転送完了コマンドは、送信済みではないと判断された場合、ステップS162において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。
ステップS163において、出力範囲情報設定部54は、1後ろのGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、1つ後ろのGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信する。
ステップS160の処理の終了後、ステップS161において、1つ後ろのGOPに対する転送完了コマンドは送信済みであると判断された場合、または、ステップS163の処理の終了後、ステップS164において、GOP転送タイミング制御部53は、出力範囲情報設定部54により設定された出力範囲に基づいて、一つ後のGOPの表示範囲は6frame未満であるか否かを判断する。
ステップS164において、一つ後ろのGOPの表示範囲は6frame未満ではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS164において、2つ前のGOPの表示範囲は6frame未満であると判断された場合、ステップS165において、GOP転送タイミング制御部53は、2つ後のGOPのデータは転送済みであるか否かを判断する。ステップS165において、2つ後のGOPのデータは転送済みではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS165において、2つ後ろのGOPのデータは転送済みであると判断された場合、ステップS166において、転送完了コマンド送出部56は、2つ後ろのGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。ステップS166において、2つ後ろのGOPに対する転送完了コマンドは、送信済みであると判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
ステップS166において、2つ後ろのGOPに対する転送完了コマンドは、送信済みではないと判断された場合、ステップS167において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。
ステップS168において、出力範囲情報設定部54は、2つ後ろのGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、2つ後ろのGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信し、処理は、図19のステップS9に戻り、ステップS10に進む。
このような処理により、正方向の表示の場合には表示されるフレームがGOPの後ろから5フレーム以内であるとき、逆方向の表示の場合には表示されるフレームがGOPの前ろから5フレーム以内であるとき、表示されるフレームにおけるGOPの変わり目で先に転送が開始された次に表示されると予測されたGOPの転送が完了したか否かが判断され、転送が完了していない場合は、転送の優先度が高くなり、転送が完了した場合は、転送完了コマンドが、出力範囲指定コマンドとともに送信される。
これにより、例えば、ランダム再生において、表示開始位置が大幅に変更された場合などにおいて、メモリ18からメモリ20に無駄にデータの転送が行われない。したがって、メモリ20のデータ記憶容量がメモリ18と比較して少ない場合であっても、メモリ20がオーバーフローしたり、必要なデータが上書きされてしまうことを防ぐことが可能となる。
また、表示されるフレームを含むGOPの転送が終了されていない場合、そのGOPの転送の優先度が高くなる。
図27を参照して、クリップファイルAとして、第1のストリームのあるGOPのP8ピクチャから、次のGOPのP8ピクチャまでが選択されて、クリップファイルBとして、第2のストリームのあるGOPのP14ピクチャから、次のGOPのP14ピクチャまでが選択されて、クリップファイルAとクリップファイルBとが連続して再生されるクリップ再生において、トランジェント再生が実行される場合のコマンド送信等のタイミング制御例について説明する。
例えば、図27Aに示されるように、正方向で表示フレームが移行しており、表示されるフレームがクリップファイルAの1つ目のGOPから2つ目のGOPに移った場合、更にその次のGOPが転送中かまたは転送済みであるか否かが判断されて、まだ、転送中でも転送済みでもない場合には、転送が指令される。
そして、図27Bに示されるように、次のGOP、すなわち、クリップファイルBの一つ目のGOPが転送される。このGOPの表示範囲は、P14ピクチャのみであり、6フレーム未満となるため、その次のGOP、すなわち、クリップファイルBの2つ目のGOPも、このGOPに続いて転送される。
そして、図27Cに示されるように、クリップファイルAの2つ目のGOPに含まれるフレームの表示中に、クリップファイルBの一つ目のGOPの転送が完了したとき、転送完了したGOPは、現在表示されているフレームを含むGOPの隣のGOPであり、かつ、表示範囲が6フレーム未満であることから、すぐに、転送完了コマンドが送信される。そして、図27Cの状態から、表示再生方向が逆転し、逆方向再生となったものとする。
クリップファイルBの2つ目のGOPの転送が終了したときに、図27Dに示されるように逆方向再生中であり、クリップファイルAの2つ目のGOPに含まれるフレームの表示中である場合、転送完了したGOPは、現在表示されているフレームを含むGOPの隣のGOPではないため、まだ、転送完了コマンドは送信されない。そして、図27Dの状態から、表示再生方向が逆転し、再び正方向再生となったものとする。
そして、図27Eに示されるように、正方向再生において、表示されているフレームが、表示されているフレームを含むGOPの最後から5フレーム以内となり、次のGOPの表示範囲が6フレーム以内で、かつ、2つ後のGOPの転送が完了したという条件を満たした場合、クリップファイルBの2つ目のGOPに対する転送完了コマンドが送信される。
次に、図28のフローチャートを参照して、図23のステップS134、図24のステップS144およびステップS149、図25のステップS154、並びに、図26のステップS162およびステップS167において実行される、出力範囲指定コマンド設定処理について説明する。
ステップS181において、出力範囲情報設定部54は、出力範囲指定コマンドを設定するGOPは、クリップに含まれていないが、いずれかのクリップをデコードするための参照画として用いられるフレームを有するGOPであるか否かを判断する。
ステップS181において、クリップに含まれていないが、いずれかのクリップをデコードするための参照画として用いられるフレームを有するGOPであると判断された場合、ステップS182において、出力範囲情報設定部54は、出力範囲指定コマンドを0−0に設定し、処理は、図23乃至図26を用いて説明した転送完了送信決定処理に戻る、すなわち、図23のステップS134に戻ってステップS135に進むか、図24のステップS144に戻ってステップS145に進むか、ステップS149に戻ってステップS150に進むか、図25のステップS154に戻ってステップS155に進むか、図26のステップS162に戻ってステップS163に進むか、ステップS167に戻ってステップS168に進む(図28の出力範囲指定コマンド設定処理の説明においては、以下、同様)。
ステップS181において、クリップに含まれているGOPであると判断された場合、ステップS183において、出力範囲情報設定部54は、出力範囲指定コマンドを設定するGOPは、クリップの先頭のGOPであるか否かを判断する。
ステップS183において、クリップの先頭のGOPであると判断された場合、ステップS184において、出力範囲情報設定部54は、クリップの設定に基づいて、出力範囲指定コマンドを設定(例えば、7−15,9−15など)し、処理は、図23乃至図26を用いて説明した転送完了送信決定処理に戻る。
ステップS183において、クリップの先頭のGOPではないと判断された場合、ステップS185において、出力範囲情報設定部54は、出力範囲指定コマンドを設定するGOPは、クリップの最後尾のGOPであるか否かを判断する。
ステップS185において、クリップの最後尾のGOPであると判断された場合、ステップS186において、出力範囲情報設定部54は、クリップの設定に基づいて、出力範囲指定コマンドを設定(例えば、0−4,0−11など)し、処理は、図23乃至図26を用いて説明した転送完了送信決定処理に戻る。
ステップS185において、クリップの最後尾のGOPではないと判断された場合、ステップS187において、出力範囲情報設定部54は、そのGOPの全範囲において出力可能性があるものとして、出力範囲指定コマンドを設定し、処理は、図23乃至図26を用いて説明した転送完了送信決定処理に戻る。
このような処理により、出力範囲指定コマンドが設定されて送信されるので、例えば、クリップには含まれないが、参照画像として用いるために転送されるGOPのアンカーフレームは、保有アンカーフレームであっても、保有アンカーバンクにおいて、上書き処理を行うことが可能となり、同一の保有アンカーバンク数で処理が可能なGOP数を増やすことが可能となる。
以上説明したような処理を行うことにより、クリップ再生でのスクラブ再生や正、逆コマ送り再生の制御が簡単にかつ高速に行える。
すなわち、GOP転送の転送単位の決定や転送タイミングの制御が複雑でないため、制御が簡単になるとともに、重なってデータが送られてしまうなどのデータ転送の冗長分は少なくてすむようになされている。
なお、ここでは、コーディックの方式としてMPEGを用いた場合を例として説明しているが、フレーム相関を伴うコーディック処理を行う場合においても、本発明は適用可能であることはいうまでもない。例えば、AVC(Advanced Video Coding)/H.264などにおいて、本発明は適用可能である。
なお、AVC/H.264のBピクチャは、必ずしも、前方向および後ろ方向の双方向の参照画像を用いるとは限らず、過去から2枚の参照画像を用いて予測しても、未来から2枚の参照画像を用いて予測してもよいが、このような場合を考慮して、本発明を適用することは可能である。
なお、以上の説明においては、CPU11とCPU20が、PCIブリッジ17のコマンドバッファ31およびリザルトバッファ32を介して、制御情報を授受し、分担して、制御を行うものとして説明したが、例えば、同様の処理を、1つのCPUを用いて実行するようにしても良い。
その場合、CPUが有する機能は、図29の機能ブロック図に示されるように、図5を用いて説明した、操作入力取得部51、転送GOP決定部52、GOP転送タイミング制御部53、出力範囲情報設定部54、レジスタ55、表示コマンド送出部57、メモリ間転送制御部72、デコードスケジュール処理部73、デコード制御部74、および、レジスタ75と、基本的に同様となる。
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、上述した処理は、図30に示されるようなパーソナルコンピュータ201により実行される。
図30において、CPU(Central Processing Unit)211は、ROM(Read Only Memory)212に記憶されているプログラム、または、記憶部218からRAM(Random Access Memory)213にロードされたプログラムに従って各種の処理を実行する。RAM213にはまた、CPU211が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU211、ROM212、およびRAM213は、内部バス214を介して相互に接続されている。この内部バス214にはまた、入出力インターフェース215も接続されている。
入出力インターフェース215には、キーボード、マウスなどよりなる入力部216、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部217、ハードディスクなどより構成される記憶部218、並びに、モデム、ターミナルアダプタなどより構成される通信部219が接続されている。通信部219は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
入出力インターフェース215にはまた、必要に応じてドライブ220が接続され、磁気ディスク231(フレキシブルディスクを含む)、光ディスク232(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク233(MD(Mini-Disk)(商標)を含む)、もまたは、半導体メモリ234などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部218にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、図30に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク231、光ディスク232、光磁気ディスク233、または、半導体メモリ234などよりなるパッケージメディアなどにより構成される。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
さらに、上述の実施の形態においては、圧縮されたストリームデータがHDD16に記憶されている場合について述べたが、本発明はこれに限らず、例えば、光ディスク、光磁気ディスク、半導体メモリ、磁気ディスク等の種々の記録媒体に記録されたストリームデータをデコードする場合にも適用することができる。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
従来の編集処理について説明するための図である。 再生装置の構成を示すブロック図である。 クリップ再生について説明するための図である。 参照画像について説明するための図である。 CPUの機能について説明するための機能ブロック図である。 デコーダの構成を示すブロック図である。 GOPのヘッダ情報について説明するための図である。 ストリームバッファGOPキューについて説明するための図である。 保有アンカーフレームと非保有アンカーフレームについて説明するための図である。 ストリームバッファGOPキューについて説明するための図である。 バンク構成について説明するための図である。 GOP保有アンカーキューについて説明するための図である。 保有アンカーバンクの管理について説明するための図である。 保有アンカーバンクの管理について説明するための図である。 GOPの転送範囲とデコード処理について説明するための図である。 GOPの転送範囲とデコード処理について説明するための図である。 GOPの転送範囲とデコード処理について説明するための図である。 GOPの転送範囲とデコード処理について説明するための図である。 CPU11の処理について説明するためのフローチャートである。 CPU20の処理について説明するためのフローチャートである。 表示用転送単位決定処理について説明するためのフローチャートである。 先送り用転送単位決定処理について説明するためのフローチャートである。 転送完了送信決定処理について説明するためのフローチャートである。 転送完了送信決定処理について説明するためのフローチャートである。 転送完了送信決定処理について説明するためのフローチャートである。 転送完了送信決定処理について説明するためのフローチャートである。 処理の具体例について説明するための図である。 出力範囲指定コマンド設定処理について説明するためのフローチャートである。 CPUの機能について説明するための機能ブロック図である。 パーソナルコンピュータの構成を示すブロック図である。
符号の説明
1 再生装置, 11 CPU, 16 HDD, 18 メモリ, 20 CPU, 22 メモリ, 23 デコーダ, 51 操作入力取得部, 52 転送GOP決定部, 53 GOP転送タイミング制御部53 出力範囲情報設定部, 56 転送完了コマンド送出部, 72 メモリ間転送制御部, 73 デコードスケジュール処理部, 74 デコード制御部, 153 デコードコントローラ

Claims (9)

  1. 第1の符号化ストリームと第2の符号化ストリームとが接続された状態で出力するように制御する情報処理装置において、
    前記第1の符号化ストリーム及び前記第2の符号化ストリームのうちの再生される範囲を示す操作入力を取得する操作入力取得手段と、
    符号化ストリームを格納する格納手段に格納されている前記符号化ストリームをデコードして画像データを生成するデコード手段と、
    前記操作入力取得手段により取得された操作入力に対応する範囲の、前記第1の符号化ストリーム及び前記第2の符号化ストリーム、並びに、前記操作入力に対応する範囲の前記第1の符号化ストリーム及び前記第2の符号化ストリームをデコードするために必要な符号化ストリームを、前記格納手段へ転送するように制御するとともに、前記第1の符号化ストリームおよび前記第2の符号化ストリームを前記格納手段へ転送する転送単位を決定し、前記デコード手段によりデコードされた画像データを出力するタイミングを指令する指令手段により出力が指令された前記画像データのピクチャが、該ピクチャが含まれる第1のGOPとは異なる第2のGOPに含まれるピクチャを参照してデコードされるBピクチャに含まれる場合に、前記第1のGOPのうちの、前記第2のGOPに含まれるピクチャを参照してデコードされるBピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、前記第2のGOPを、前記格納手段に転送する転送単位として決定する転送制御手段と、
    前記指令手段により指令される前記画像データの出力タイミングの指令を予測し、前記画像データの出力タイミングの指令よりも先行して、前記第1の符号化ストリームと前記第2の符号化ストリームとを前記格納手段に転送するように、転送タイミングを制御する転送タイミング制御手段と、
    前記格納手段に格納されている前記第1の符号化ストリーム及び前記第2の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように、前記デコード手段のデコードを制御するデコード制御手段と
    を備える情報処理装置。
  2. 前記転送制御手段は、前記第1の符号化ストリームおよび前記第2の符号化ストリームを、所定の転送単位の転送データとして前記格納手段に転送するように制御し、
    前記転送タイミング制御手段は、前記格納手段への転送が制御された前記転送データのうち表示されるピクチャの数が所定ピクチャ数以下である場合、次の前記転送データを前記格納手段に転送するように制御する
    請求項1に記載の情報処理装置。
  3. 前記第1の符号化ストリームおよび前記第2の符号化ストリームは、Bピクチャを含むGOP構造を有し、
    前記転送制御手段は、前記指令手段により出力が指令された前記画像データのピクチャが、前記第1のGOPおよび前記第2のGOPがいずれも前記保持手段へ転送されていない場合に、前記第1のGOPのうちの、前記第2のGOPに含まれるピクチャを参照してデコードされる前記Bピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、前記第2のGOPを、前記格納手段に転送する転送単位として決定する
    請求項1に記載の情報処理装置。
  4. 前記操作入力取得手段により取得された操作入力に応じて、前記第1の符号化ストリーム及び前記第2の符号化ストリームを再生する範囲を示す制御情報を生成する制御情報生成手段
    を更に備える請求項1に記載の情報処理装置。
  5. 前記第1の符号化ストリームおよび前記第2の符号化ストリームは、GOP構造を有しており、
    前記転送制御手段は、前記第1の符号化ストリーム及び前記第2の符号化ストリームを、GOP単位で転送するように制御する
    請求項4に記載の情報処理装置。
  6. 前記第1の符号化ストリームおよび前記第2の符号化ストリームは、MPEG規格で符号化されたストリームである
    請求項1に記載の情報処理装置。
  7. 第1の符号化ストリームと第2の符号化ストリームとが接続された状態で出力するように制御する情報処理装置の情報処理方法において、
    前記第1の符号化ストリーム及び前記第2の符号化ストリームのうちの再生される範囲を示す操作入力を取得し、
    取得された操作入力に対応する範囲の、前記第1の符号化ストリーム及び前記第2の符号化ストリーム、並びに、前記操作入力に対応する範囲の前記第1の符号化ストリーム及び前記第2の符号化ストリームをデコードするために必要な符号化ストリームを、符号化ストリームを格納する格納手段へ転送するように制御するとともに、前記第1の符号化ストリームおよび前記第2の符号化ストリームを前記格納手段へ転送する転送単位を決定し、前記格納手段に格納されている前記符号化ストリームがデコードされた画像データを出力するタイミングが指令された前記画像データのピクチャが、該ピクチャが含まれる第1のGOPとは異なる第2のGOPに含まれるピクチャを参照してデコードされるBピクチャに含まれる場合に、前記第1のGOPのうちの、前記第2のGOPに含まれるピクチャを参照してデコードされるBピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、前記第2のGOPを、前記格納手段に転送する転送単位として決定し、
    前記格納手段に格納されている前記符号化ストリームがデコードされた画像データを出力するタイミングが指令される前記画像データの出力タイミングの指令を予測し、前記画像データの出力タイミングの指令よりも先行して、前記第1の符号化ストリームと前記第2の符号化ストリームとを前記格納手段に転送するように、転送タイミングを制御し、
    前記格納手段に格納されている前記第1の符号化ストリーム及び前記第2の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように制御する
    ステップを含む情報処理方法。
  8. 第1の符号化ストリームと第2の符号化ストリームとが接続された状態で出力するように制御する処理をコンピュータに実行させるためのプログラムであって、
    前記第1の符号化ストリーム及び前記第2の符号化ストリームのうちの再生される範囲を示す操作入力を取得し、
    取得された操作入力に対応する範囲の、前記第1の符号化ストリーム及び前記第2の符号化ストリーム、並びに、前記操作入力に対応する範囲の前記第1の符号化ストリーム及び前記第2の符号化ストリームをデコードするために必要な符号化ストリームを、符号化ストリームを格納する格納手段へ転送するように制御するとともに、前記第1の符号化ストリームおよび前記第2の符号化ストリームを前記格納手段へ転送する転送単位を決定し、前記格納手段に格納されている前記符号化ストリームがデコードされた画像データを出力するタイミングが指令された前記画像データのピクチャが、該ピクチャが含まれる第1のGOPとは異なる第2のGOPに含まれるピクチャを参照してデコードされるBピクチャに含まれる場合に、前記第1のGOPのうちの、前記第2のGOPに含まれるピクチャを参照してデコードされるBピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、前記第2のGOPを、前記格納手段に転送する転送単位として決定し、
    前記格納手段に格納されている前記符号化ストリームがデコードされた画像データを出力するタイミングが指令される前記画像データの出力タイミングの指令を予測し、前記画像データの出力タイミングの指令よりも先行して、前記第1の符号化ストリームと前記第2の符号化ストリームとを前記格納手段に転送するように、転送タイミングを制御し、
    前記格納手段に格納されている前記第1の符号化ストリーム及び前記第2の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように制御する
    ステップを含む処理をコンピュータに実行させるプログラム。
  9. 請求項8に記載のプログラムが記録されている記録媒体。
JP2006163590A 2006-06-13 2006-06-13 情報処理装置および情報処理方法、プログラム、並びに記録媒体 Expired - Fee Related JP4207981B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006163590A JP4207981B2 (ja) 2006-06-13 2006-06-13 情報処理装置および情報処理方法、プログラム、並びに記録媒体
EP20070252066 EP1868206A1 (en) 2006-06-13 2007-05-18 Information processing apparatus and information processing method
TW96118414A TW200808036A (en) 2006-06-13 2007-05-23 Information processing apparatus and information processing method
US11/811,935 US20070286244A1 (en) 2006-06-13 2007-06-11 Information processing apparatus and information processing method
KR20070057268A KR20070118971A (ko) 2006-06-13 2007-06-12 정보 처리 장치 및 정보 처리 방법
CN2007101103931A CN101090489B (zh) 2006-06-13 2007-06-13 信息处理设备和信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006163590A JP4207981B2 (ja) 2006-06-13 2006-06-13 情報処理装置および情報処理方法、プログラム、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2007336067A JP2007336067A (ja) 2007-12-27
JP4207981B2 true JP4207981B2 (ja) 2009-01-14

Family

ID=38521227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006163590A Expired - Fee Related JP4207981B2 (ja) 2006-06-13 2006-06-13 情報処理装置および情報処理方法、プログラム、並びに記録媒体

Country Status (6)

Country Link
US (1) US20070286244A1 (ja)
EP (1) EP1868206A1 (ja)
JP (1) JP4207981B2 (ja)
KR (1) KR20070118971A (ja)
CN (1) CN101090489B (ja)
TW (1) TW200808036A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5661313B2 (ja) * 2010-03-30 2015-01-28 キヤノン株式会社 記憶装置
CN102714749B (zh) * 2010-11-30 2015-01-14 株式会社东芝 立体影像显示装置以及方法
KR101803970B1 (ko) * 2011-03-16 2017-12-28 삼성전자주식회사 컨텐트를 구성하는 장치 및 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0121301B1 (ko) * 1992-09-30 1997-11-17 사또오 후미오 편집신호 디코딩 장치
DE69422960T2 (de) * 1993-12-01 2000-06-15 Matsushita Electric Ind Co Ltd Verfahren und Vorrichtung zum Editieren oder zur Mischung von komprimierten Bildern
DE19630295A1 (de) 1996-07-26 1998-01-29 Thomson Brandt Gmbh Verfahren zur Codierung und Decodierung von digitalisierten Bildern eines Trickfilms sowie Vorrichtung zur Codierung und Decodierung von digitalisierten Bildern eines Trickfilms
US6628303B1 (en) * 1996-07-29 2003-09-30 Avid Technology, Inc. Graphical user interface for a motion video planning and editing system for a computer
JPH1098713A (ja) * 1996-09-20 1998-04-14 Sony Corp 映像信号切換装置
US6381398B1 (en) * 1996-11-13 2002-04-30 Matsushita Electric Industrial Co., Ltd. Apparatus and method of generating bit stream for information recording disc storage which enables seamless reproduction of a plurality of pieces of image information, and recording medium on which program applied to the generating apparatus is recorded
DE69841897D1 (de) * 1997-07-25 2010-10-28 Sony Corp Bearbeitungsanlage, bearbeitungsverfahren, spleissungsanlage, spleissungsverfahren, kodieranlage und kodierverfahren
US6343153B1 (en) * 1998-04-03 2002-01-29 Matsushita Electric Industrial Co., Ltd. Coding compression method and coding compression apparatus
DE60032315T2 (de) * 1999-10-25 2007-06-28 Matsushita Electric Industrial Co., Ltd., Kadoma Videodekodierungsverfahren, Videodekodierungsvorrichtung, und Programmspeichermedium
US6993081B1 (en) * 1999-11-23 2006-01-31 International Business Machines Corporation Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream
US6658199B1 (en) * 1999-12-16 2003-12-02 Sharp Laboratories Of America, Inc. Method for temporally smooth, minimal memory MPEG-2 trick play transport stream construction
US7149248B2 (en) * 2001-09-12 2006-12-12 Broadcom Corporation Command packet system and method supporting improved trick mode performance in video decoding systems
EP1633129B1 (en) * 2004-09-02 2015-06-24 Thomson Licensing Method and apparatus for decoding encoded groups of pictures of a video sequence and presenting said video sequence and said groups of pictures in temporally backward direction
JP4727342B2 (ja) 2004-09-15 2011-07-20 ソニー株式会社 画像処理装置、画像処理方法、画像処理プログラム及びプログラム格納媒体
JP4375305B2 (ja) * 2004-10-26 2009-12-02 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4244974B2 (ja) 2004-10-26 2009-03-25 ソニー株式会社 データ処理システム、再生装置、データ処理装置、再生方法、データ処理方法、プログラムおよび記録媒体
JP4281720B2 (ja) * 2004-10-26 2009-06-17 ソニー株式会社 データ処理装置、データ処理方法、データ処理システム、プログラムおよび記録媒体
JP4492487B2 (ja) * 2004-10-26 2010-06-30 ソニー株式会社 データ処理装置、データ処理システム、プログラムおよび記録媒体
US7720017B2 (en) * 2005-03-11 2010-05-18 Qualcomm Incorporated Parallel turbo decoders with multiplexed output
US9060101B2 (en) * 2005-07-08 2015-06-16 Activevideo Networks, Inc. Video game system having an infinite playing field

Also Published As

Publication number Publication date
CN101090489B (zh) 2010-12-08
CN101090489A (zh) 2007-12-19
KR20070118971A (ko) 2007-12-18
JP2007336067A (ja) 2007-12-27
TW200808036A (en) 2008-02-01
EP1868206A1 (en) 2007-12-19
US20070286244A1 (en) 2007-12-13

Similar Documents

Publication Publication Date Title
JP4375305B2 (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4221676B2 (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US20080008455A1 (en) Cpi data for steam buffer channels
JP2007300593A (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US20060233533A1 (en) Information recording/reproducing system, information recording/reproducing apparatus and information recording/reproducing method
JP2007336066A (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4207981B2 (ja) 情報処理装置および情報処理方法、プログラム、並びに記録媒体
JP2006324848A (ja) 情報処理装置及び情報処理方法
JP4281720B2 (ja) データ処理装置、データ処理方法、データ処理システム、プログラムおよび記録媒体
US20080075175A1 (en) Information processing apparatus and method
TWI291834B (en) Reproduction apparatus, data processing system, reproduction method, program, and storage medium
US7974523B2 (en) Optimal buffering and scheduling strategy for smooth reverse in a DVD player or the like
US8655139B2 (en) Video recording and reproducing system and reading method of video data
JP4385987B2 (ja) 映像処理装置,映像処理方法,およびコンピュータプログラム
JP4264582B2 (ja) 情報処理装置および情報処理方法、プログラム、並びに記録媒体
JP2014093733A (ja) 映像配信装置、映像再生装置、映像配信プログラム及び映像再生プログラム
CN101855904A (zh) 动态图像再现装置
JP5264526B2 (ja) 画像送信装置、画像送信方法及びプログラム
JP5751406B2 (ja) ビデオサーバ装置、およびビデオサーバにおける素材連続再生方法
JP4730593B2 (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2007336069A (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2006121267A (ja) 連続再生システム
JP2006157871A (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2008066846A (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2010171656A (ja) 画像送信装置、画像送信方法及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080905

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: 20080930

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: 20081013

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees