JP4207981B2 - Information processing apparatus, information processing method, program, and recording medium - Google Patents
Information processing apparatus, information processing method, program, and recording medium Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/32—Indexing; 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/326—Indexing; 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.)
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/005—Reproducing at a different information rate from the information rate of recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/32—Indexing; 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/322—Indexing; 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/32—Indexing; 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/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/177—Methods 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation 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/8042—Transformation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation 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/8205—Transformation 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
Description
本発明は、情報処理装置および情報処理方法、プログラム、並びに記録媒体に関し、特に、符号化ストリームを編集する場合に用いて好適な、情報処理装置および情報処理方法、プログラム、並びに記録媒体に関する。 The present invention relates to an information processing device, an information processing method, a program, and a recording medium, and particularly to an information processing device, an information processing method, a program, and a recording medium that are suitable for editing an encoded stream.
フレーム間の相関を用いて符号化を行っているMPEGストリームにおいて、異なるストリームを接続して編集する場合、複数のデコーダを用いて、それぞれのストリームの接続部分、すなわち、編集点を含むGOPのみをデコードし、それぞれのデコーダからのデコード後のべースバンド画像データの出力を所望の位置でスイッチングして接続した後、再エンコードすることにより、異なるストリームを接続する編集処理を実行することができるようになされている技術があった(例えば、特許文献1)。 In an MPEG stream that is encoded using correlation between frames, when editing by connecting different streams, only a connected portion of each stream, that is, only a GOP including an edit point is used by using a plurality of decoders. After decoding, switching and connecting the decoded baseband image data output from each decoder at a desired position, and then re-encoding, the editing process to connect different streams can be executed There has been a technique that has been made (for example, Patent Document 1).
すなわち、図1に示されるように、編集画像の素材となる第1のストリームのうちの一部分であるクリップ2と、編集画像の素材となる第2のストリームのうちの一部分であるクリップ4とを接続したい場合、クリップ2のそれぞれのフレームをデコードするために必要なフレームが、表示されないストリーム1の部分に存在するとき、デコーダAには、ストリーム1に含まれる参照に必要なフレーム群1´とクリップ2とが入力されてデコードされ、セレクタに入力されるとともに、クリップ4のそれぞれのフレームをデコードするために必要なフレームが、表示されないストリーム3の部分に存在するとき、デコーダBには、ストリーム3に含まれる参照に必要なフレーム群3´とクリップ4とが入力されてデコードされ、セレクタに入力される。セレクタは、出力を切り替えて、編集画像の素材となる第1のストリームのうちの一部分であるクリップ2の部分のベースバンド画像データと、編集画像の素材となる第2のストリームのうちの一部分であるクリップ4の部分のベースバンド画像データとを接続してエンコーダに供給し、再エンコードして出力することができるようになされている。
That is, as shown in FIG. 1, a
しかしながら、上述した従来の技術においては、接続部分を含むGOPを一旦デコードした後、再エンコードするための時間がかかるため、編集などでつなぎ目をなんども変更してつなぎ目の位置を確認する作業には適しているとは言えない。 However, in the above-described conventional technique, since it takes time to re-encode after once decoding the GOP including the connection portion, it is necessary to change the joints by editing or the like to check the joint positions. It is not suitable.
また、従来の技術では、複数のデコーダを用意して、映像素材となるストリーム1つに1つのデコーダを割り当てて、それらの出力を外部のセレクタ等で切り替える制御が必要であった。すなわち、従来の技術においては、デコーダを複数用意する必要があり、それらのデコーダのそれぞれへのストリームの入力およびデコード後のベースバンド画像データの出力タイミングの制御が必要になるため、複雑な制御が行われていた。特に、スクラブ再生のようなランダムな再生を行う場合、複数のデコーダそれぞれの出力に合わせてセレクタの制御を行わないと、表示すべきない絵を表示してしまう可能性がある。そのため、デコーダそれぞれが表示するべきベースバンド画像データを出力するタイミングにあわせてセレクタを制御するという複雑な処理が必要となり、ユーザが接続位置を指定する操作入力を行ってから、接続ストリームの再生出力までのレスポンスが遅くなってしまう。 Further, in the conventional technique, it is necessary to prepare a plurality of decoders, assign one decoder to one stream as a video material, and switch the output by an external selector or the like. That is, in the conventional technique, it is necessary to prepare a plurality of decoders, and it is necessary to control the stream input to each of those decoders and the output timing of baseband image data after decoding. It was done. In particular, when performing random playback such as scrub playback, a picture that should not be displayed may be displayed unless the selector is controlled in accordance with the output of each of the plurality of decoders. For this reason, it is necessary to perform a complicated process of controlling the selector in accordance with the output timing of the baseband image data to be displayed by each decoder. After the user inputs an operation for specifying the connection position, the connection stream is reproduced and output. The response until is delayed.
本発明はこのような状況に鑑みてなされたものであり、符号化ストリームを所望の編集点で接続した場合の再生画像を複雑な制御なしに再生出力することができるようにするものである。 The present invention has been made in view of such a situation, and makes it possible to reproduce and output a reproduced image when an encoded stream is connected at a desired editing point without complicated control.
本発明の一側面の情報処理装置は、第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の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように、前記デコード手段のデコードを制御するデコード制御手段とを備える。 An information processing apparatus according to an aspect of the present invention is an information processing apparatus that performs control so that a first encoded stream and a second encoded stream are output in a connected state, the first encoding stream Decoding the encoded stream stored in the operation input acquisition means for acquiring the operation input indicating the playback range of the stream and the second encoded stream; and the storage means for storing the encoded stream Corresponding to the decoding means for generating image data, the first encoded stream and the second encoded stream in the range corresponding to the operation input acquired by the operation input acquisition means, and the operation input range of the first encoded stream and the coded stream necessary for decoding the second encoded stream, transferred to the storage means Controls, the first encoded stream and the second encoded stream to determine a transfer unit for transferring to said storing means, commands the timing for outputting the image data decoded by said decoding means command to When the picture of the image data whose output is commanded by the means is included in a B picture that is decoded with reference to a picture included in a second GOP different from the first GOP in which the picture is included, Of the first GOP, a B picture to be decoded with reference to a picture included in the second GOP, a reference picture necessary for decoding the B picture, and the second GOP a transfer control means for determining a transfer unit for transferring said storage means, out of the image data instructed by said instructing means The transfer timing is predicted so that the timing command is predicted, and the first encoded stream and the second encoded stream are transferred to the storage means prior to the output timing command of the image data. A transfer timing control means for controlling, and a reference picture to be referred to when decoding a picture to be decoded among the first coded stream and the second coded stream stored in the storage means is given priority. Decoding control means for controlling the decoding of the decoding means so as to decode.
前記転送制御手段は、前記第1の符号化ストリームおよび前記第2の符号化ストリームを、所定の転送単位の転送データとして前記格納手段に転送するように制御し、前記転送タイミング制御手段は、前記格納手段への転送が制御された前記転送データのうち表示されるピクチャの数が所定ピクチャ数以下である場合、次の前記転送データを前記格納手段に転送するように制御することができる。 The transfer control means controls the first encoded stream and the second encoded stream to be transferred to the storage means as transfer data in a predetermined transfer unit, and the transfer timing control means When the number of pictures to be displayed is less than or equal to a predetermined number of pictures among the transfer data whose transfer to the storage means is controlled, the next transfer data can be controlled to be transferred to the storage means .
前記第1の符号化ストリームおよび前記第2の符号化ストリームは、Bピクチャを含むGOP構造を有し、前記転送制御手段は、前記指令手段により出力が指令された前記画像データのピクチャが、前記第1のGOPおよび前記第2のGOPがいずれも前記保持手段へ転送されていない場合に、前記第1のGOPのうちの、前記第2のGOPに含まれるピクチャを参照してデコードされる前記Bピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、前記第2のGOPを、前記格納手段に転送する転送単位として決定することができる。 The first encoded stream and the second encoded stream have a GOP structure including a B picture, and the transfer control means includes a picture of the image data whose output is instructed by the instruction means. When neither the first GOP nor the second GOP has been transferred to the holding unit, the first GOP is decoded with reference to a picture included in the second GOP of the first GOP. A B picture, a reference picture necessary for decoding the B picture, and the second GOP can be determined as a transfer unit to be transferred to the storage means .
前記操作入力取得手段により取得された操作入力に応じて、前記第1の符号化ストリーム及び前記第2の符号化ストリームを再生する範囲を示す制御情報を生成する制御情報生成手段を更に備えるようにすることができる。 According to the operation input acquired by the operation input acquisition means, control information generation means for generating control information indicating a range for reproducing the first encoded stream and the second encoded stream is further provided . can do.
前記第1の符号化ストリームおよび前記第2の符号化ストリームは、GOP構造を有しており、前記転送制御手段は、前記第1の符号化ストリーム及び前記第2の符号化ストリームを、GOP単位で転送するように制御することができる。 The first encoded stream and the second encoded stream have a GOP structure, and the transfer control means converts the first encoded stream and the second encoded stream into GOP units. Can be controlled to transfer .
前記第1の符号化ストリームおよび前記第2の符号化ストリームは、MPEG規格で符号化されたストリームであるようにすることができる。 The first encoded stream and the second encoded stream may be streams encoded according to the MPEG standard .
本発明の一側面の情報処理方法およびプログラムは、第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の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように制御する。 An information processing method and a program according to one aspect of the present invention are an information processing method for an information processing apparatus that performs control so that a first encoded stream and a second encoded stream are output in a connected state. An operation input indicating a range to be reproduced of the first encoded stream and the second encoded stream is acquired, and the first encoded stream in the range corresponding to the acquired operation input and the A second encoded stream, and an encoded stream necessary for decoding the first encoded stream and the second encoded stream in a range corresponding to the operation input are stored in the encoded stream. It controls to transfer to the storage unit, the transfer unit for transferring the first encoded stream and the second coded stream to the storage means And a picture of the image data for which the timing to output the image data obtained by decoding the encoded stream stored in the storage means is different from the first GOP including the picture. A B picture decoded with reference to a picture included in the second GOP of the first GOP when included in a B picture decoded with reference to a picture included in the GOP; The reference picture necessary for decoding the B picture and the second GOP are determined as transfer units to be transferred to the storage means, and the encoded stream stored in the storage means is decoded. The output timing of the image data is predicted, and the output timing of the image data is predicted. The transfer timing is controlled so that the first encoded stream and the second encoded stream are transferred to the storage means prior to the storage command, and the storage is stored in the storage means. Control is performed so as to preferentially decode a reference picture to be referred to when decoding a decoding target picture out of the first encoded stream and the second encoded stream.
本発明の一側面においては、第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の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャが優先的にデコードされる。 In one aspect of the present invention, an operation input indicating a range to be reproduced of the first encoded stream and the second encoded stream is acquired, and the first code is based on the acquired operation input. The storage means stores the encoded stream and the second encoded stream, and the encoded stream necessary for decoding the first encoded stream and the second encoded stream in the range corresponding to the operation input. Image data obtained by decoding the encoded stream stored in the storage unit, in which a transfer unit for transferring the first encoded stream and the second encoded stream to the storage unit is determined. A picture included in a second GOP different from the first GOP in which the picture of the image data instructed to output A B picture decoded with reference to a picture, and a B picture decoded with reference to a picture contained in the second GOP of the first GOP, and the B picture The reference picture necessary for this purpose and the second GOP are determined as transfer units to be transferred to the storage means, and the timing for outputting the decoded image data of the encoded stream is instructed. Then, the transfer timing is controlled so that the output timing command of the image data is predicted, and the first encoded stream and the second encoded stream are transferred prior to the output timing command of the image data. In the stored first encoded stream and second encoded stream, the reference picture that is referred to when decoding the decoding target picture is preferentially decoded.
ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、1つの装置を構成している内部ブロックどうしであっても良い。 The network is a mechanism in which at least two devices are connected and information can be transmitted from one device to another device. The devices that communicate via the network may be independent devices, or may be internal blocks that constitute one device.
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。 The communication is not only wireless communication and wired communication, but also communication in which wireless communication and wired communication are mixed, that is, wireless communication is performed in a certain section and wired communication is performed in another section. May be. Further, communication from one device to another device may be performed by wired communication, and communication from another device to one device may be performed by wireless communication.
再生装置は、独立した装置であっても良いし、編集装置や記録再生装置の再生処理を行うブロックであっても良い。 The playback device may be an independent device, or may be a block that performs playback processing of the editing device or the recording / playback device.
以上のように、本発明の一側面によれば、デコードされたデータを出力することができ、特に、ユーザの操作入力に基づいて、第1の符号化ストリームと第2の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータをデコーダに供給するようにしたので、1つのデコーダで、編集処理を行うことができる。 As described above, according to one aspect of the present invention, decoded data can be output. In particular, based on a user operation input, the first encoded stream and the second encoded stream can be output. Since the data including at least the encoded stream of the range to be reproduced and output and the encoded stream necessary for decoding these are supplied to the decoder, the editing process can be performed by one decoder. it can.
以下、図を参照して、本発明の実施の形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図2は、再生装置1のハードウェア構成を示すブロック図である。
FIG. 2 is a block diagram illustrating a hardware configuration of the
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の処理に必要なデータを授受する。
A CPU (Central Processing Unit) 11 is connected to the
メモリ13は、CPU11が実行する処理に必要なデータを保存することが可能な、例えば、DDR(Double Data Rate)等の高速アクセス可能な記憶用のメモリである。サウスブリッジ15は、HDD16のデータの書き込みおよび読み出しを制御する。HDD16には、圧縮符号化されたストリームデータが記憶されている。
The
PCIブリッジ17は、コマンドバッファ31およびリザルトバッファ32を内部に備えるとともに、CPU11の制御に基づいてHDD16から読み出されたストリームデータをバッファリングするメモリ18が接続されている。PCIブリッジ17は、CPU11の制御に基づいてHDD16から読み出されたストリームデータを、メモリ18に供給して保存させることができるとともに、CPU20の制御に基づいて、メモリ18に保存されているストリームデータを読み出して、デコーダ23に接続されているメモリ22に供給する。また、PCIブリッジ17は、PCIバス14またはコントロールバス19を介したコマンドまたはリザルトに対応する制御信号の授受を制御する。
The PCI bridge 17 includes a
コマンドバッファ31は、CPU11から、ノースブリッジ12およびPCIバス14を介してコマンドの書き込みを受けるとともに、CPU20から、コントロールバス19を介して、書き込まれているコマンドが読み出されるようになされている。また、リザルトバッファ32は、コントロールバス19を介して、CPU20によりコマンドに対するリザルトの書き込みを受けるとともに、CPU11から、ノースブリッジ12およびPCIバス14を介して、書き込まれているリザルトが読み取られるようになされている。
The
メモリ18は、PCIブリッジ17の制御に基づいて、HDD16により読み出された、圧縮符号化されたストリームデータを記憶するものであり、例えば、SDRAM(Synchronous Dynamic Random Access Memory)等で構成されている。
The memory 18 stores compression-encoded stream data read by the
CPU20は、コントロールバス19を介して、CPU11によりPCIブリッジ17のコマンドバッファ31に書き込まれたコマンドを読み取り、このコマンドにしたがって、PCIブリッジ17、メモリ22、および、デコーダ23が実行する処理を制御する。メモリ21は、CPU20の処理に必要なデータを記憶する。
The
デコーダ23は、CPU20の制御に基づいて、供給された圧縮符号化されたストリームデータをデコードし、非圧縮の映像信号を出力する。デコーダ23は、1フレームが表示される表示時間よりも充分短い時間(例えば、1フレームが表示される時間の1/4や1/3程度)に1フレームをデコードすることができる。デコーダ23にはメモリ22が接続されている。メモリ22には、PCIブリッジ17から供給された圧縮符号化されたストリームデータ、または、デコーダ23によりデコードされた非圧縮の映像信号を保持することが可能なようになされている。また、デコーダ23は、再生装置1に含まれない独立した装置として設けられていても良い。
The
なお、図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を構成するようにしても良い。
2 may be configured as a single device or may be configured by a plurality of devices. For example, in the
次に、再生装置1の動作について説明する。
Next, the operation of the
HDD16には、MPEGのLong GOP方式で圧縮された圧縮映像のデータが記憶されている。
The
一連の連続した映像の一部分だけを切り抜き、その部分をクリップとする。そのクリップを複数集めて1つの連続した映像のように再生することをクリップ再生と称する。 Only a part of a series of continuous images is cut out, and that part is used as a clip. Collecting a plurality of such clips and reproducing them as one continuous video is called clip reproduction.
すなわち、図3に示されるように、編集画像の素材となる第1のストリームのうちの一部分であるクリップ2と、編集画像の素材となる第2のストリームのうちの一部分であるクリップ4とを接続したい場合、クリップ2のそれぞれのフレームをデコードするために必要なフレームが、第1のストリームの表示されない(クリップ2に含まれない)部分1に存在するとき、デコーダ23には、参照に必要なフレーム群1´とクリップ2とが入力されてデコードされるとともに、クリップ4のそれぞれのフレームをデコードするために必要なフレームが、第2のストリームの表示されない(クリップ4に含まれない)部分3に存在するとき、デコーダ23には、参照に必要なフレーム群3´とクリップ4とが入力されてデコードされる。そして、デコーダ23は、第1のストリームのうちの一部分であるクリップ2の部分のベースバンド画像データと、編集画像の素材となる第2のストリームのうちの一部分であるクリップ4の部分のベースバンド画像データとを接続して出力することができるようになされている。
That is, as shown in FIG. 3, a
そのとき、クリップの切れ目によっては、表示出力はされないが、デコードする必要のあるフレーム(すなわち、図3におけるフレーム群1´およびフレーム群3´)が存在する。
At that time, there is a frame (that is, the
図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フレームである。 As shown in FIG. 4, when a gap between the B9 picture and the B10 picture in a GOP in the stream A is a clip break and a clip up to the B9 picture is a clip A, B9 of the final GOP of the clip A In order to decode a picture, a P11 picture not included in clip A is required. When the gap between the GOP in the stream B and the next GOP is a clip break and the B0 picture after the GOP head is the clip B, the B0 picture and B1 picture of the head GOP of the clip B are decoded. In order to do this, all I pictures and P pictures of the previous GOP that are not included in clip B are required. That is, the maximum number of frames that must be decoded but not displayed in order to create a reference image of the frame to be displayed is six.
CPU11は、ノースブリッジ12を介して、サウスブリッジ15を制御して、図示しない操作入力部から供給された、クリップ再生で用いられるストリームと、クリップ再生における再生範囲とを示す操作入力を基に、HDD16から、圧縮符号化された複数のストリームデータの所定の部分を読み出させ、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介して、メモリ18に供給させて記憶させるとともに、1GOPのデータのメモリ18への転送を完了したことを示すGOP転送完了コマンド、転送したGOPのうち表示される範囲、すなわち、クリップ再生において表示されるフレーム範囲を示すコマンドである出力範囲指定コマンド、再生スピード(再生方向を示す情報を含む)を示す情報、デコード開始を指令するコマンド、または、表示の開始を指令するコマンドなどを、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に書き込む。
The
CPU20は、PCIブリッジ17のコマンドバッファ31に書き込まれたCPU11からのコマンドを基に、圧縮符号化されたストリームデータのデコードおよび出力(表示)のスケジュールを決定する。具体的には、CPU20は、圧縮符号化されたストリームデータのメモリ18からメモリ22への転送のタイミング、圧縮符号化されたストリームデータのメモリ22からデコーダ23への入力のタイミング、フレームごとのデコードのタイミング、参照画像のバンク位置の設定、デコード時のバンクメモリの割り当て、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定する。
The
そして、CPU20は、PCIブリッジ17を制御して、メモリ18に記憶されている圧縮符号化されたストリームデータを、決定されたスケジュールに基づいて、メモリ22に供給し、デコーダ23に供給させる。
Then, the
CPU20は、デコーダ23を制御して、メモリ22を介して供給された圧縮符号化されたデータをデコードさせる。デコーダ23は、供給された圧縮符号化されたストリームデータをデコードして、非圧縮のベースバンド画像データを生成して、出力させる。
The
具体的には、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ピクチャのうちの一部のみを優先的にデコードするようにしてもよい。
Specifically, the
デコーダ23においては、CPU20の制御に基づいて、IピクチャおよびPピクチャを優先的にデコードするようになされているとともに、クリップを複数集めて1つの連続した映像のように再生するクリップ再生を、デコーダ23の内部のセレクタを制御することで実現するようになされている。デコーダ23の詳細な構成およびその動作について、図6乃至図14を用いて後述する。
In the
次に、図5の機能ブロック図を参照して、CPU11およびCPU20が有する機能について説明する。
Next, functions of the
CPU11は、操作入力取得部51、転送GOP決定部52、GOP転送タイミング制御部53、出力範囲情報設定部54、レジスタ55、転送完了コマンド送出部56、表示コマンド送出部57、および、リザルト取得部58を含む機能を有している。
The
操作入力取得部51は、サウスブリッジ15およびノースブリッジ12を介して図示しない操作入力部から供給されるユーザの操作入力を取得し、ユーザの操作入力を示す情報を、必要に応じて、転送GOP決定部52、GOP転送タイミング制御部53、または、出力範囲情報設定部54に供給する。
The operation
転送GOP決定部52は、操作入力取得部51から供給されたユーザの操作入力を基に、複数のストリームから構成されるクリップにおいて再生出力されるフレームを求めるとともに、それらのフレームのデコードに必要なフレームを求め、フレーム表示順を予測してスケジューリングし、メモリ18に転送するべきGOPを決定し、GOP転送タイミング制御部53および出力範囲情報設定部54に通知するとともに、HDD16に保存されているストリームからの転送するべきGOPの読み出しと転送を制御する。
The transfer
上述したように、フレームデータの転送は、基本的にGOP単位で行われるが、複数のストリームを任意の位置で切り出した複数のクリップで構成されるクリップストリームにおいて、それぞれのクリップの先頭および最後尾のGOPは、編集素材のストリームにおける1GOPの全てを含んでいるとは限らない。また、図4を用いて説明したように、それぞれのクリップの先頭および最後尾のGOPに含まれるフレームをデコードするために、表示されないフレームをデコーダ23に供給しなければならない場合がある。例えば、それぞれのクリップの先頭または最後尾のGOPが、編集素材のストリームにおける1GOPの全てを含んでいない場合、編集素材のストリームにおける1GOPの全てを転送しても良いが、必要な部分のみ転送するようにしても良い。また、例えば、クリップの先頭のGOPが、編集素材のストリームにおけるMPEG LongGOPの先頭の2枚のBピクチャを含んでいる場合、これらのBピクチャをデコードするために、クリップに含まれない、一つ前のGOPをデコーダ23に供給する必要がある。転送GOP決定部52は、このような場合、クリップに含まれないGOPであっても、デコーダ23に供給されるように、メモリ18に転送するべきGOPを決定する。
As described above, the transfer of frame data is basically performed in units of GOPs. However, in a clip stream composed of a plurality of clips obtained by cutting out a plurality of streams at arbitrary positions, the beginning and end of each clip are transferred. The GOP does not necessarily include all of one GOP in the editing material stream. In addition, as described with reference to FIG. 4, in order to decode the frames included in the first and last GOPs of the respective clips, a frame that is not displayed may have to be supplied to the
また、上述したように、フレームデータの転送は、基本的にGOP単位で行われるが、スクラブ再生において最初に表示されるフレーム、または、クリップの先頭のフレームがGOPの先頭のB0,B1である場合、図4を用いて説明したように、前のGOPのフレームを参照するため、例外処理が必要となる。 As described above, the frame data is basically transferred in units of GOPs, but the first frame displayed in scrub playback or the first frame of the clip is the first B0 and B1 of the GOP. In this case, as described with reference to FIG. 4, an exception process is required to refer to the previous GOP frame.
特に、高速再生などにより再生フレームが連続しない場合、完全にGOP単位で転送を実行すると、スクラブ再生において最初に表示されるフレーム、または、クリップの先頭のフレームを含むGOP(n)に対して、一つ前のGOP(n―1)を更に加えた2GOP分の転送を行う必要がある。しかしながら、スクラブ再生においては、再生位置が高速で移動することは頻繁に行われており、次に表示されるフレームがGOP(n)以外のGOPに含まれるフレームである可能性が高く、その場合においては、GOP(n)のデータをすべて転送すると転送データの無駄が多くなってしまう。 In particular, when playback frames are not continuous due to high-speed playback, etc., if transfer is performed completely in GOP units, for the GOP (n) including the first frame displayed in scrub playback or the first frame of the clip, It is necessary to perform transfer for 2 GOPs by adding the previous GOP (n-1). However, in scrub playback, the playback position frequently moves at high speed, and the next frame to be displayed is likely to be a frame included in a GOP other than GOP (n). In this case, if all GOP (n) data is transferred, the transfer data is wasted.
そのため、転送GOP決定部52は、例外処理として、表示されるフレームがGOPの先頭のB0,B1である場合、表示するフレームがあるGOPの前のGOPであるGOP(n―1)に、表示するフレームがあるGOPであるGOP(n)のI2,B0,B1を加えた形で転送するように、データ転送を制御する。そして、その後、通常再生が指令されるなどして、GOP(n)に含まれるフレームの表示が指令された場合には、通常通り、GOP(n)を転送しても、データ転送の冗長部分はI2,B0,B1の分だけで、制御も複雑にならない。このことにより、データ転送の無駄が少なくなり、データ転送効率が向上する。
Therefore, the transfer
GOP転送タイミング制御部53は、必要に応じて、レジスタ55に設けられている各種の制御キューを用いて、メモリ18に蓄積されているGOPを管理することにより、GOPのメモリ18への転送のタイミングを制御する。
The GOP transfer
すなわち、上述したように、フレームデータの転送は、基本的にGOP単位で行われるが、あるフレームの表示の指令が行われた時に、そのフレームを含むGOPを転送したのでは、フレームの表示の指令から表示までのレスポンスが非常に悪くなってしまう。そこで、GOP転送タイミング制御部53は、表示されるフレームを予測することにより、表示指令に先立って、GOPデータを転送する。これによって、デコーダ23において、転送されたGOPのIピクチャおよびPピクチャを予めデコードして、メモリ22に蓄積しておくことができるようになされている。
That is, as described above, frame data is basically transferred in units of GOPs. However, when a GOP including a frame is transferred when a display instruction for a frame is issued, the frame display is not performed. Response from command to display becomes very bad. Therefore, the GOP transfer
また、それぞれのクリップの先頭および最後尾のGOPは、編集素材のストリームにおける1GOPの全てを含んでいるとは限らないため、転送されるのが、フレーム数の少ない短いGOPである場合、または、転送されたGOPに含まれるフレーム数が多くても表示フレーム数が少ないGOPである場合には、次のGOPの転送を早めなければ、表示が間に合わない恐れがある。したがって、GOP転送タイミング制御部53は、転送されたGOPに含まれる表示フレーム数を考慮して、GOPの転送タイミングを制御する。転送タイミング制御の詳細については、後述する。
In addition, since the first and last GOPs of each clip do not necessarily include all of the 1 GOP in the editing material stream, if the transfer is a short GOP with a small number of frames, or In the case of a GOP with a small number of display frames even if the number of frames included in the transferred GOP is large, the display may not be in time unless the transfer of the next GOP is accelerated. Therefore, the GOP transfer
出力範囲情報設定部54は、転送GOP決定部52により転送が決定されたGOPのうち、表示出力される範囲を決定し、出力範囲情報を生成して、対応するGOPの転送が完了した後、転送完了コマンドの供給前に、出力範囲指定コマンドの、コマンドバッファ31への供給を制御する。
The output range
すなわち、上述したように、フレームデータの転送は、基本的にGOP単位で行われるが、それぞれのクリップの先頭および最後尾のGOPは、編集素材のストリームにおける1GOPの全てを含んでいるとは限らないし、また、クリップに含まれるフレームのデコードのために参照されるフレームを含むGOPが転送される場合は、そのGOPのフレームは全く表示出力されない可能性がある。出力範囲情報設定部54は、転送GOP決定部52により転送が決定されたGOPのうち、表示出力される範囲を決定し、出力範囲情報である出力範囲指定コマンドを生成して、転送完了コマンドとともに、コマンドバッファ31に送信させる。
That is, as described above, transfer of frame data is basically performed in units of GOPs. However, the first and last GOPs of each clip do not always include all 1 GOPs in the stream of editing material. In addition, when a GOP including a frame referred to for decoding of a frame included in the clip is transferred, there is a possibility that the frame of the GOP is not displayed at all. The output range
レジスタ55は、GOP転送タイミング制御部53がGOP転送タイミングを制御するために用いる各種キューを含み、処理に必要な各種パラメータなどを保持するものである。
The
転送完了コマンド送出部56は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジのコマンドバッファ31に、転送完了コマンドを送出する。転送完了コマンド送出タイミング制御の詳細については、後述する。
The transfer completion
表示コマンド送出部57は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジのコマンドバッファ31に、表示コマンドを送出する。表示コマンド送出タイミング制御の詳細については、後述する。
The display
リザルト取得部58は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジのリザルトバッファ32からコマンドに対するリザルトを取得する。
The
そして、CPU20は、コマンド取得部71、メモリ間転送制御部72、デコードスケジュール処理部73、デコード制御部74、レジスタ75、および、リザルト送出部76を含む機能を有している。
The
コマンド取得部71は、CPU11の出力範囲情報設定部54、転送完了コマンド送出部56、または、表示コマンド送出部57により送出され、PCIブリッジ17のコマンドバッファ31に保持されているコマンドを、コントロールバス19を介して取得する。
The
メモリ間転送制御部72は、コマンド取得部71により取得された転送完了コマンドおよび表示コマンドに基づいて、メモリ18に転送されたそれぞれのGOPの、メモリ22への転送を制御する。
The inter-memory
デコードスケジュール処理部73は、コマンド取得部71により取得された、出力範囲指定コマンド、転送完了コマンド、および、表示コマンドに基づいて、メモリ間転送制御部72によりメモリ22への転送が制御されたそれぞれのGOPに含まれるフレームのデコードスケジュールを決定する。デコードスケジュール処理部73は、表示のために必要なデコード処理が行われない時間を用いて、メモリ22に保持されているフレームのうちのIピクチャおよびPピクチャが優先的にデコードされるように、デコードのスケジュールを行う。なお、優先的にデコードされるのは、全てのIピクチャおよびPピクチャであっても、そのうちの少なくとも一部であっても良い。また、デコードスケジュール処理部73は、先行してデコードされ、メモリ22に蓄積されているIピクチャおよびPピクチャを用いて、表示が指令されたフレームのベースバンド画像データが迅速に出力されるように、デコードのスケジュールを行う。
The decode
デコード制御部74は、デコードスケジュール処理部73によるデコードスケジュールに基づいて、デコーダ23によるデコード処理を制御する。
The
レジスタ75は、メモリ間転送制御部72が、それぞれのメモリやデコーダに供給されているGOPを管理するための各種制御キューを含み、処理に必要な各種パラメータなどを保持するものである。
The register 75 includes various control queues for the inter-memory
リザルト送出部76は、コマンド取得部71により取得された転送完了コマンドおよび表示コマンドに対するリザルトを、コントロールバス19を介して、PCIブリッジ17のリザルトバッファ32に送出する。
The
再生装置1においては、複数のクリップを複数のデコーダに割り当てるのではなく、複数のクリップに含まれるフレーム、および、それらをデコードするために必要なフレームをデコーダ23に供給し、予めIピクチャおよびPピクチャをデコードしておくようにすることにより、1つのデコーダで、クリップ再生を実現することができ、更に、クリップストリームの変速再生、スクラブ再生、および、短い区間で正方向と逆方向の再生を連続して指令するトランジェント再生を行うことができるようになされている。
In the
このような構成を有することにより、従来のように、複数のデコーダを用いていた場合と比較して、デコーダの入力段および出力段にセレクタを持つ必要もなく、制御も簡単になる。 By having such a configuration, it is not necessary to have selectors at the input stage and output stage of the decoder and the control is simplified as compared with the conventional case where a plurality of decoders are used.
また、このようにして、再生装置1においては、先行して転送されたGOPデータのIピクチャおよびPピクチャのうちの少なくとも一部を、表示のためのデコード処理の空いている時間にデコードして蓄積しておき、表示の指令を受けたとき、デコード済みのベースバンド画像データが既に存在している場合は、そのデコード済みのベースバンド画像データを出力し、表示されるフレームが蓄積されていない場合は、デコード済みのベースバンド画像データを適宜参照画として用いて表示されるフレームをデコードし、出力することができるようになされている。
Further, in this way, the
図6は、デコーダ23の更に詳細な構成を示すブロック図である。
FIG. 6 is a block diagram showing a more detailed configuration of the
入力処理部151は、PCIブリッジ17から供給された圧縮符号化されたストリームデータをストリームバッファ22−1に保存させるとともに、供給されたストリームデータから、ピクチャ単位で、先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどを取得して、ストリーム情報バッファ22−2に供給する。
The
ストリームバッファ22−1は、例えば、SDRAMなどの記憶用のメモリで構成された図2のメモリ22のうちの所定の記憶領域であり、入力処理部151から供給されたストリームデータをバッファリングし、セレクタ152に供給する。ストリームバッファ22−1には、少なくとも、後述するフレームメモリ22−3に保持可能なIピクチャおよびPピクチャ(アンカーフレームとも称する)のGOP数と同数のGOP数のストリームデータが保持可能なようになされている。また、ストリームバッファ22−1が、後述するフレームメモリ22−3に保持可能なアンカーフレームのGOP数以上の数のGOPを保持することができるようになされていると、例えば、再生方向が逆転したり、再生開始位置が変更した場合に、ストリームバッファ22−1に新たなGOPを供給しなくても対応することができる可能性が高くなるため、好適である。
The stream buffer 22-1 is, for example, a predetermined storage area in the
ストリーム情報バッファ22−2は、図2のメモリ22のうちの所定の記憶領域であり、入力処理部151から供給された、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を、それぞれ、ピクチャ別に保持する。
The stream information buffer 22-2 is a predetermined storage area in the
デコードコントローラ153は、CPU20から供給される制御信号に基づいて、ストリームバッファ22−1に保持されている各ピクチャのアドレスやストリーム情報をストリーム情報バッファ22−2から読み込んで、デコーダ23の各部の処理を制御する。
Based on the control signal supplied from the
具体的には、デコードコントローラ153は、出力範囲指定コマンドなどに基づいて設定されたデコードスケジュールに基づいてCPU20により制御され、セレクタ152を制御することにより、デコード処理部154に供給されるピクチャそれぞれのピクチャのデコードタイミングを制御する。また、デコードコントローラ153は、セレクタ155を制御して、デコード処理部154によりデコードされて得られたベースバンド画像信号のフレームメモリ22−3における格納位置を制御する。そして、デコードコントローラ153は、セレクタ156を制御することにより、フレームメモリ22−3から参照画像としてデコード処理部154に供給されるベースバンド画像信号、すなわち、デコード処理部154において実行されるPピクチャまたはBピクチャのデコードにおける参照画像の供給を制御する。そして、デコードコントローラ153は、CPU20から出力範囲指定コマンドに基づいて設定されたデコード済みの画像データの出力スケジュールに基づいて制御され、フレームメモリ22−3からセレクタ157が読み出して出力するベースバンド画像信号を制御することにより、表示などのために出力されるデコード済みのベースバンド画像信号の出力、すなわち、再生画像の表示のタイミングを制御する。
Specifically, the
セレクタ152は、デコードコントローラ153の制御に基づいて、ストリームバッファ22−1に保存されたストリームデータを、ピクチャ単位でデコード処理部154に供給する。
Based on the control of the
デコード処理部154は、セレクタ152から供給されたMPEGビデオストリームを、セレクタ156から供給された参照画を必要に応じて参照してデコードし、デコードされたベースバンド(非圧縮)の画像信号を、セレクタ155に供給する。
The
セレクタ155は、デコードコントローラ153の制御に基づいて、デコード処理部154によりデコードされて供給されたベースバンドの画像信号のフレームメモリ22−3における記録位置、すなわち、ベースバンドの画像信号が保存されるバンク位置を決定し、デコード処理部154から供給されたベースバンドの画像信号を、フレームメモリ22−3の所定のバンク位置に保存させる。換言すれば、デコードコントローラ153は、デコード処理部154によりデコードされて得られるベースバンドの画像信号のフレームメモリ22−3におけるバンク位置を決定し、その位置にベースバンドの画像信号が記録されるように、セレクタ155を制御する。
Under the control of the
フレームメモリ22−3は、図2のメモリ22のうちの所定の記憶領域であり、他のピクチャの参照画像として用いられるIピクチャ、および、Pピクチャを格納する参照バンクとBピクチャなどを表示するために用意された表示専用バンクから構成され、参照バンクには、予めデコードされて保有されるアンカーフレームのための参照バンクと、再生出力されるタイミングに応じてデコードされるアンカーフレームのための参照バンクとが、それぞれ別に用意されている。フレームメモリ22−3におけるバンク構成の例については、図11を用いて後述する。
The frame memory 22-3 is a predetermined storage area in the
セレクタ156は、デコードコントローラ153の制御に基づいて、フレームメモリ22−3のうち、Pピクチャの前方向(forward)の参照画像バンクとして指定されたバンクに保持されているフレーム画像データや、Bピクチャの前方向および後ろ方向(backward)の参照画像バンクとして指定されたバンクに保持されているフレーム画像データを読み出し、デコード処理部154に供給する。
Under the control of the
セレクタ157は、デコードコントローラ153の制御に基づいて、フレームメモリ22−3に保持されているフレーム画像データのうちの出力画像、すなわち、表示させるフレームのバンクを指定して読み出し、出力する。
Under the control of the
次に、デコーダ23の動作について説明する。ここでは、その一例として、N15、M3のMPEG LongGOPをデコードする場合について説明する。
Next, the operation of the
入力処理部151に、供給されるそれぞれのGOPは、図7に示されるように、I,P,Bピクチャにより構成されるそれぞれのピクチャのデータ以外に、GOPのヘッダ情報を含んでいる。GOPのヘッダ情報は、HDD16に保持されているストリームデータを構成するそれぞれのGOPに予め付与されているか、または、CPU20の処理によりGOPのヘッダ情報が生成されて、HDD16から読み出されてデコーダ23に供給されるストリームデータを構成するそれぞれのGOPに付与されるようになされている。
As shown in FIG. 7, each GOP supplied to the
GOPのヘッダ情報には、例えば、GOP ID、そのGOPに含まれるフレームの数、およびそのGOPに含まれるアンカーフレームの数などが含まれる。 The GOP header information includes, for example, a GOP ID, the number of frames included in the GOP, and the number of anchor frames included in the GOP.
入力処理部151は、ピクチャデータをストリームバッファ22−1に供給するとともに、GOPのヘッダ情報と、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を、ストリーム情報バッファ22−2に供給する。
The
ストリーム情報バッファ22−2は、上述したGOPのヘッダ情報と、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を保持する。 The stream information buffer 22-2 holds the GOP header information and information such as the head address of each picture, data size, picture header information, and Q matrix.
デコードコントローラ153は、ストリーム情報バッファ22−2に保存されている、上述したGOPのヘッダ情報とピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報とを基に、デコード対象のGOPのそれぞれのピクチャのデコード関連情報を生成し、そのGOPのヘッダ情報と表示順にリオーダした表示順のデコード関連情報により構成される、図8に示されるストリームバッファGOPキューを管理する。
The
デコード関連情報は、ピクチャ出力要求時のデコード処理において必要になる情報であり、例えば、該当するピクチャが、保有アンカーフレームであるか、非保有アンカーフレームであるか、GOPの先頭のBピクチャであるか、GOPの先頭以外のBピクチャであるかを示すタイプ情報、デコード済みのベースバンド画像の格納先を示す情報であるデコード画格納先バンク、該当するピクチャをデコードするために必要である参照画像のうちの前方向の参照画を示す前方参照画Index番号、および、該当するピクチャをデコードするために必要である参照画像のうちの後ろ方向の参照画を示す後方参照画Index番号のうちの、必要なもので構成される。 The decoding related information is information necessary for decoding processing at the time of a picture output request. For example, the corresponding picture is a retained anchor frame, a non-retained anchor frame, or the first B picture of the GOP. Type information indicating whether the picture is a B picture other than the head of the GOP, a decoded image storage destination bank which is information indicating a storage destination of a decoded baseband image, and a reference image necessary for decoding the corresponding picture Of the forward reference picture index number indicating the forward reference picture, and the backward reference picture index number indicating the backward reference picture of the reference pictures necessary for decoding the corresponding picture, Consists of what is needed.
ストリームバッファGOPキューにおいては、1GOP分のデコード関連情報が1つのデータ単位として管理されるようになされており、FIFO(First in First Out)で構成されるか、または、新たなデータがPUSHされた場合に、現在再生中のGOPから最も離れたGOPの情報がPOPされるようになされている。 In the stream buffer GOP queue, decoding related information for 1 GOP is managed as one data unit, and it is composed of FIFO (First in First Out) or new data is pushed. In this case, the information of the GOP that is farthest from the currently playing GOP is POP.
デコーダ23においては、すべてのアンカーフレームをBピクチャの前に予めデコードしてもよいが、ここでは、数枚おきに選択されたアンカーフレームのみをBピクチャの前に予めデコードするものとして説明する。
In the
具体的には、例えば、デコーダ23においては、図9に示されるように、GOP内のアンカーフレームを、Iピクチャから1つおきに予めデコードしておくようにしてもよい。以下、予めデコードされ、バンクに保持されるアンカーフレームを保有アンカーフレーム、予めデコードされない、すなわち、予めバンクに保持されないアンカーフレームを非保有アンカーフレームと称するものとする。
Specifically, for example, in the
具体的には、例えば、N:15、M:3、GOP ID 1のGOPが入力され、GOP ID 1のGOP保有アンカー情報でGOPの保有アンカーフレームが使用している先頭バンクが1である場合、図10に示されるように、ストリームバッファGOPキューに情報が蓄積される。
Specifically, for example, when a GOP with N: 15, M: 3,
すなわち、該当する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ピクチャが非保有アンカーフレームとされる。
That is,
そして、デコード画格納先バンクは、保有アンカーフレームのみ予め確定され、バンクナンバーが記載されるが、非保有アンカーフレームおよびBピクチャにおいては、デコード関連情報が生成される時点においては、まだ確定されていないため、不定値となる。また、インデックス番号が0、1である先頭Bピクチャ(前GOPのIピクチャまたはPピクチャを参照画像とするBピクチャ)の前方参照画インデックス番号は、初期設定時にストリームバッファに前GOPが存在していない可能性があるため、この時点では設定されず、デコード時に前GOPの最後のIピクチャまたはPピクチャを検索して、検索されたときに設定される。そして、それ以外のBピクチャの前方参照画インデックス番号および後方参照画インデックス番号、および、Pピクチャの前方参照画インデックス番号が、それぞれ設定される。
Only the retained anchor frame is determined in advance and the bank number is written in the decoded image storage destination bank. However, in the non-retained anchor frame and the B picture, it is not yet determined at the time when the decoding related information is generated. Since it is not, it becomes an indefinite value. The forward reference picture index number of the first B picture with
そして、デコードコントローラ153は、ストリームバッファGOPキューによって管理されているデコード関連情報を基に、供給されたストリームデータにおけるそれぞれのフレームのデコードのタイミングを制御する。
Then, the
すなわち、デコードコントローラ153は、すべてのアンカーフレームではなく、例えば、図9を用いて説明した場合のように、Iピクチャから1枚おきとなるアンカーフレームか、または、数枚おきに選択されたアンカーフレームのみを、保有アンカーフレームとして設定し、Bピクチャがデコードされる前のデコード処理の空き時間に、デコード処理部154によって予めデコードさせるように、セレクタ152を制御する。
That is, the
上述したように、デコード処理部154は、1フレームの表示時間に対して充分に短い持間(例えば、1フレームの表示時間の1/3乃至1/4程度)で、1フレームをデコードすることが可能である。したがって、デコードコントローラ153は、フレームメモリ22−3に保持可能な数の保有アンカーフレームが、1GOP単位で予めデコードされて、フレームメモリ22−3の所定のバンクに供給されて、保持されるよう、セレクタ152、セレクタ155、および、セレクタ156をそれぞれ制御する。
As described above, the
GOP内の1つおきのアンカーフレームが保有アンカーフレームとされ、フレームメモリ22−3として、Xフレームのベースバンド画像データを一時保持する領域、および、2フレーム分の表示用画像データを一時保持する領域を確保することができた場合、すなわち、X+2バンクのバンクメモリが確保された場合のバンク構成図を、図11に示す。 Every other anchor frame in the GOP is set as an owned anchor frame, and the frame memory 22-3 temporarily stores an area for temporarily storing baseband image data of X frames and display image data for two frames. FIG. 11 shows a bank configuration diagram when an area can be secured, that is, when a bank memory of X + 2 banks is secured.
フレームメモリ131−3のX+2フレーム分のバンクのうち、2バンクは、Bピクチャまたは非保有アンカーフレームの表示専用バンクに用いられる。そして、それ以外のバンク、すなわち、Xフレーム分のバンクは、参照画像用に用いられる。Xフレーム分の参照画像用バンクのうち、1つは、保有アンカーフレームが予めデコードされるときに参照画像として用いる非保有アンカーフレームのベースバンド画像を格納するための非保有アンカーバンクとして用いられる。そして、他の1つは、表示されるBピクチャがデコーされるときに参照画像として用いる非保有アンカーフレームのベースバンド画像を格納するためのBピクチャ表示用非保有アンカーバンクとして用いられる。そして、それ以外のX−2フレーム分のバンクが、デコードされた保有アンカーフレームを格納する保有アンカーバンクとして用いられる。 Of the banks corresponding to X + 2 frames in the frame memory 131-3, two banks are used as display-only banks for B pictures or non-owned anchor frames. Other banks, that is, banks for X frames are used for reference images. Of the reference image banks for X frames, one is used as a non-owned anchor bank for storing a baseband image of a non-owned anchor frame used as a reference image when the retained anchor frame is decoded in advance. The other one is used as a non-retained anchor bank for B picture display for storing a baseband image of a non-retained anchor frame used as a reference image when a displayed B picture is decoded. Then, the other X-2 frame banks are used as retained anchor banks for storing the decoded retained anchor frames.
具体的には、保有アンカーフレームであるIピクチャがデコードされる場合、Iピクチャは単独でデコードされ、保有アンカーバンクに格納される。また、保有アンカーフレームであるPピクチャがデコードされる場合、一つ前のアンカーフレームである非保有アンカーフレームが、更に一つ前のアンカーフレームである、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像を参照してデコードされて、非保有アンカーバンクに格納されるので、これを参照して、保有アンカーフレームであるPピクチャがデコードされて、保有アンカーバンクに格納される。 Specifically, when an I picture that is a retained anchor frame is decoded, the I picture is decoded alone and stored in the retained anchor bank. In addition, when a P picture that is a retained anchor frame is decoded, a non-retained anchor frame that is a previous anchor frame is a retained anchor frame that is stored in a retained anchor bank that is a previous anchor frame. The baseband image is decoded and stored in the non-retained anchor bank. With reference to this, the P picture that is the retained anchor frame is decoded and stored in the retained anchor bank.
そして、保有アンカーバンクにアンカーフレームが予め保有されているGOPにおけるいずれかのフレームの表示が指令された場合、表示されるのが保有アンカーフレームであれば、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像が読み出されて表示される。また、表示されるのが非保有アンカーフレームであれば、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像が参照画像に用いられて、表示される非保有アンカーフレームがデコードされて、表示専用バンクに格納されて表示される。そして、表示されるのがBピクチャであれば、非保有アンカーフレームが、その一つ前のアンカーフレームである、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像が参照されてデコードされて、Bピクチャ表示用非保有アンカーバンクに格納され、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像とともに参照されて、表示されるBピクチャがデコードされて、表示専用バンクに格納されて表示される。 Then, when the display of any frame in the GOP in which the anchor frame is held in advance in the holding anchor bank is instructed, if the holding anchor frame is displayed, the holding anchor stored in the holding anchor bank The baseband image of the frame is read and displayed. If the non-owned anchor frame is displayed, the baseband image of the retained anchor frame stored in the retained anchor bank is used as a reference image, and the displayed non-owned anchor frame is decoded. It is stored in the display-only bank and displayed. If the B picture is displayed, the non-owned anchor frame is decoded with reference to the baseband image of the retained anchor frame stored in the retained anchor bank, which is the previous anchor frame. Stored in the non-owned anchor bank for B picture display, referenced with the baseband image of the retained anchor frame stored in the retained anchor bank, and the displayed B picture is decoded and stored in the display-only bank Displayed.
すなわち、GOPに含まれる保有アンカーフレームと、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームが、予めデコードされ、フレームメモリ22−3に保持される。非保有アンカーフレームのうち、保有アンカーフレームをデコードするための参照画として必要とならないもの(例えば、GOP内の時間的に最後のアンカーフレームが非保有アンカーフレームである場合)は、表示が指令されるまで、デコード処理を実行しなくてもよい。 That is, the retained anchor frame included in the GOP and the non-retained anchor frame necessary as a reference image for decoding the retained anchor frame are decoded in advance and stored in the frame memory 22-3. Non-retained anchor frames that are not required as a reference image for decoding retained anchor frames (for example, when the last anchor frame in GOP is a non-retained anchor frame) are displayed. Until then, the decoding process need not be executed.
図12を参照して、デコードコントローラ153による、フレームメモリ22−3の管理について説明する。
With reference to FIG. 12, the management of the frame memory 22-3 by the
デコードコントローラ153は、図12に示されるように、保有アンカー情報と、GOP保有アンカーキューに保持される複数フレーム分のGOP保有アンカー情報とを用いて、保有アンカーフレームのデコード処理のタイミングを制御する。保有アンカー情報はGOP保有アンカーキューを作成するために必要な情報であり、使用している先頭バンクおよび後尾バンク、並びに、使用しているバンク数に関する情報が含まれている。GOP保有アンカーキューは先頭と後尾の両方にPushできる双方向キューであり、保有アンカー情報に記載されている、使用している先頭バンクから後尾バンクの間に保持されている保有アンカーフレームに関する情報であるGOP保有アンカー情報をGOPごとに保持する。GOP保有アンカー情報は、各GOPの保有アンカーフレームのベースバンド画像のバンク格納先を決定する際に必要となる情報であり、GOP保有アンカー情報には、対応するGOPのGOP ID、そのGOPの保有アンカーフレームが使用している先頭バンク、および、そのGOPの保有アンカーフレームが使用しているバンク数が含まれている。
As illustrated in FIG. 12, the
デコードコントローラ153は、表示される非保有アンカーフレームまたはBピクチャのデコードが行われていないタイミングを利用して、保有アンカーフレームを優先的にデコードさせるようなデコード順のスケジューリングを行い、セレクタ156を制御して、保有アンカーフレームをデコード処理部154に供給させてデコード処理を実行させるとともに、保有アンカー情報と、GOP保有アンカーキューに保持される複数フレーム分のGOP保有アンカー情報とを参照しながら、デコード済みの保有アンカーフレームのベースバンド画像データがフレームメモリ22−3のうちのいずれの参照バンクに格納されるかを決定し、セレクタ155を制御して、フレームメモリ22−3の参照バンクの所定の位置にデコード済みの保有アンカーフレームのベースバンド画像データを格納する。
The
予めデコードされる保有アンカーフレームがIピクチャである場合、セレクタ152が制御されて、Iピクチャがデコード処理部154に供給されて、デコードされた後、セレクタ155が制御されて、フレームメモリ22−3の参照バンクのうちの保有アンカーバンクのいずれかに格納される。
When the retained anchor frame to be decoded in advance is an I picture, the
また、予めデコードされる保有アンカーフレームがPピクチャである場合、先に、その直前の非保有アンカーフレームがデコード処理部154に供給されて、デコードされた後、セレクタ155が制御されて、フレームメモリ22−3の参照バンクの非保有アンカーバンクに格納される。そして、セレクタ152が制御されて、保有アンカーフレームであるPピクチャがデコード処理部154に供給されるとともに、セレクタ156が制御されて、非保有アンカーバンクに格納されたベースバンド画像データが参照されて、Pピクチャのデコード処理が実行され、セレクタ155が制御されて、フレームメモリ22−3の参照バンクのうちの保有アンカーバンクのいずれかに格納される。
If the retained anchor frame to be decoded in advance is a P picture, the immediately preceding non-owned anchor frame is supplied to the
デコードコントローラ153は、供給されたGOPに含まれるアンカーフレームのうち、予めデコード処理が実行される、保有アンカーフレーム、および、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームのデコードのスケジュールと、デコード後の参照バンクのバンク位置を、アンカーフレームデコードキューを用いて管理する。すなわち、デコードコントローラ153は、GOPの先頭から、それぞれのピクチャが、保有アンカーフレーム、または、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームであるかを判断し、これらの予めデコードされるピクチャにおいて、それぞれのデコード後のベースバンド画像データが保持されるバンク位置を設定し、アンカーフレームデコードキューにPUSHする。
The
図13および図14を参照して、保有アンカーバンクの管理の具体的な処理の一例について説明する。ここでは、保有アンカーバンクとして、10バンク利用可能である場合、すなわち、フレームメモリ22−3に、14フレーム分のベースバンド画像データを保持することができる場合について説明する。 With reference to FIG. 13 and FIG. 14, an example of specific processing for managing the owned anchor bank will be described. Here, a case where 10 banks can be used as possession anchor banks, that is, a case where 14 frames of baseband image data can be held in the frame memory 22-3 will be described.
まず、図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つのバンクを利用していることが管理されている。
First, in the state of FIG. 13A, the baseband images of the anchor frames having
次に、アンカーフレーム数5のGOP ID 4のストリームデータが供給された場合、GOP ID 4のGOPの保有アンカーフレーム数は3となり、現在空いているバンクは、バンク10のみであって、GOP ID 4のGOPの保有アンカーフレームのすべてを格納することができないため、現在格納されているいずれかのGOPの保有アンカーフレームを保有アンカーバンクから削除する必要が生じる。
Next, when the
そこで、デコードコントローラ153は、現在GOP保有アンカーキューに保持されている情報のうち、GOP ID 4に最も遠いGOPに関する情報であるGOP ID 1のGOP保有アンカー情報をGOP保有アンカーキューからPOPし、GOP ID 4のGOP保有アンカー情報をGOP保有アンカーキューの後尾にPUSHする。
Therefore, the
そのときのフレームメモリ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つのバンクを利用していることが管理されている。
FIG. 14A shows the state of the ten anchor banks in the frame memory 22-3 at that time, and FIG. 14B shows the state of the possession anchor information and the GOP possession anchor queue. That is, among the ten owned anchor banks of the frame memory 22-3,
このようにして、デコーダ23によるデコードが制御されるが、クリップの先頭または最後尾のGOPが、編集素材のストリームにおける1GOPの全てを含んでいない場合、上述したように、メモリ22には、編集素材のストリームにおける1GOPの全てを転送しても良いが、必要な部分のみ転送するようにしても良い。また、例えば、クリップの先頭のGOPが、編集素材のストリームにおけるMPEG LongGOPの先頭の2枚のBピクチャを含んでいる場合、これらのBピクチャをデコードするために、クリップに含まれない、一つ前のGOPをデコーダ23に供給する必要がある。
In this way, decoding by the
図15乃至図18を参照して、GOPの転送範囲、および、表示出力される範囲の指定方法、並びに、デコード処理の具体的な例について説明する。 A specific example of a GOP transfer range, a method for specifying a display output range, and a decoding process will be described with reference to FIGS. 15 to 18.
図15を用いて、ストリームAの一部であるクリップAと、ストリームBの一部であるクリップBとを接続したクリップストリームについて、±2倍速でトランジェント再生を行う(短い区間で正方向と逆方向の再生を連続して指令する)場合のGOP転送とデコーダ23の動作の第1の例について説明する。
Referring to FIG. 15, transient playback at ± 2 times speed is performed for a clip stream in which clip A, which is a part of stream A, and clip B, which is a part of stream B, are connected (reverse to the forward direction in a short interval). A first example of the GOP transfer and the operation of the
クリップAには、2つのGOPの一部が含まれており、クリップAに含まれるフレームをデコードするためには、クリップAには含まれないフレームであるが、これらの2つのGOPに含まれているフレームが複数枚必要となる。クリップBには、1つのGOPの一部が含まれており、クリップBに含まれるフレームをデコードするためには、クリップBに含まれないフレームであって、クリップBを構成するフレームが含まれているGOPの一つ前のGOPに含まれているフレームが複数枚必要となる。すなわち、クリップAとクリップBとを接続したクリップストリームをデコードするためには、4つのGOPのデータが必要となる。 Clip A includes a part of two GOPs, and in order to decode the frame included in clip A, it is a frame that is not included in clip A, but is included in these two GOPs. Multiple frames are required. Clip B includes a part of one GOP. In order to decode a frame included in clip B, a frame that is not included in clip B and that constitutes clip B is included. Multiple frames included in the previous GOP are required. That is, in order to decode a clip stream in which clip A and clip B are connected, four GOP data are required.
第1の例においては、クリップストリームの再生に必要なGOPは全て転送されるものとする。そして、転送されたGOPに含まれるIピクチャ、および、Pピクチャのうちの半分は、優先的にデコードされる。 In the first example, it is assumed that all GOPs necessary for playback of the clip stream are transferred. Then, half of the I picture and P picture included in the transferred GOP are preferentially decoded.
転送GOP決定部52は、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、クリップAからクリップBに正方向再生される場合のGOPの転送順が決まるので、この転送順に基づいて、この4つのGOPのGOP_IDを、GOP_ID1乃至GOP_ID4と設定し、メモリ18に転送するGOPとする。
The transfer
そして、GOP転送タイミング制御部53の処理によりGOPの転送タイミングが制御される。具体的には、転送されたGOPのIピクチャおよびPピクチャが、予めデコードされ、メモリ22に蓄積されるように、表示指令に先立って、GOP_ID1乃至GOP_ID4のそれぞれのGOPデータが、所定のタイミングで転送される。
The GOP transfer
GOP_ID1乃至GOP_ID4のそれぞれのGOPにおいて、データの転送が終了された後、所定のタイミングで、転送完了コマンドがPCIブリッジ17のコマンドバッファ31に送信される。
In each GOP of GOP_ID1 to GOP_ID4, after the data transfer is completed, a transfer completion command is transmitted to the
そして、表示コマンド送出部57は、ユーザの操作入力を基に、フレームごとの表示コマンドをPCIブリッジ17のコマンドバッファ31に送信する。
Then, the display
例えば、図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フレーム分設けられるようにすると好適である。
For example, as in the example of a picture output request shown in FIG. 15, when a playback instruction is issued in the forward direction from the beginning of clip A to B1 of
また、図15に示されるクリップストリームにおいては、Gop_ID 2のB4ピクチャ乃至B13ピクチャの情報は、クリップ内のフレームのデコードに全く必要ないため、転送を行わなくてもよい。GOP転送とデコーダ23の動作の第2の例として、Gop_ID 2の必要なフレームのみを転送するようにした場合について、図16を用いて説明する。
Further, in the clip stream shown in FIG. 15, the information of the B4 picture to the B13 picture of
すなわち、転送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データが、所定のタイミングで転送される。
That is, the transfer
GOP_ID1乃至GOP_ID4のそれぞれのGOPデータの転送が終了された後、所定のタイミングで、転送完了コマンドがPCIブリッジ17のコマンドバッファ31に送信される。
After the transfer of each GOP data of GOP_ID1 to GOP_ID4 is completed, a transfer completion command is transmitted to the
図16における場合においては、図15を用いて説明したときと同様の再生指令が発生したとしても、図15における場合と比較して、GOP_ID2のP8およびI14が転送されない分、保有アンカーバンクメモリの数が少なくても、表示画面のフリーズを防いで、トランジェント再生を実行することが可能となる。ここでは、デコーダ23における保有アンカーバンクは10フレーム分設けられるようにすると好適である。
In the case of FIG. 16, even if a reproduction command similar to that described with reference to FIG. 15 is generated, compared to the case of FIG. 15, POP and I14 of
また、転送はGOP単位で実行し、出力範囲指定コマンドに基づいて表示に必要なフレームのみがデコードされるようにしてもよい。GOP転送とデコーダ23の動作の第3の例として、転送はGOP単位で実行し、出力範囲指定コマンドを用いることにより、表示に必要なフレームのみをデコードする場合について、図17を用いて説明する。
Further, the transfer may be executed in GOP units, and only the frames necessary for display may be decoded based on the output range designation command. As a third example of the GOP transfer and the operation of the
転送GOP決定部52は、図15において説明した場合と同様に、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、この4つのGOPのGOP_IDを、GOP_ID1乃至GOP_ID4で設定し、これらのGOPに含まれるフレームの全てを、メモリ18に転送するGOPとする。
The transfer
そして、出力範囲情報設定部54は、転送されるGOP_ID1乃至GOP_ID4のそれぞれの出力範囲を設定する。ここでは、GOP_ID1の表示出力範囲は7−15、GOP_ID2の表示出力範囲は1−4、GOP_ID3の表示出力範囲は0−0、そして、GOP_ID3の表示出力範囲は2−15とされる。
Then, the output range
そして、同様にして、GOP転送タイミング制御部53の処理によりGOPの転送タイミングが制御される。具体的には、転送されたGOPのIピクチャおよびPピクチャが予めデコードされ、メモリ22に蓄積されるように、表示指令に先立って、GOP_ID1乃至GOP_ID4のそれぞれのGOPデータが、所定のタイミングで転送される。
Similarly, the GOP transfer
そして、GOP_ID1乃至GOP_ID4のそれぞれのGOPデータの転送が終了された後、所定のタイミングで、転送完了コマンドとともに、出力範囲指定コマンドがPCIブリッジ17のコマンドバッファ31に送信される。
Then, after the transfer of each GOP data of GOP_ID1 to GOP_ID4 is completed, an output range designation command is transmitted to the
CPU20は、出力範囲指定コマンドを基に、デコーダ23を制御するので、デコーダ23においては、GOP_ID2はI2のみデコードされ、保有アンカーバンクに保持される。また、GOP_ID3の表示出力範囲は0−0となっており、GOP_ID4の先頭のB1を表示するためだけに必要なので、最終的には、P14のみ保有アンカーバンクに保持することができればよい。したがって、この場合、デコーダ23の保有アンカーバンクメモリは8フレーム分設けられるようにすると好適である。
Since the
また、図16および図17を用いて説明した場合のように、必要な部分のみを転送するとともに、出力範囲指定コマンドに基づいて表示に必要なフレームのみをデコードするようにしてもよい。GOP転送とデコーダ23の動作の第4の例として、必要な部分のみをGOPの転送単位として設定し、出力範囲指定コマンドを用いることにより、表示に必要なフレームのみをデコードする場合について、図18を用いて説明する。
Further, as described with reference to FIGS. 16 and 17, only the necessary portion may be transferred and only the frame necessary for display may be decoded based on the output range designation command. As a fourth example of the GOP transfer and the operation of the
すなわち、転送GOP決定部52は、クリップの最後尾のGOPにおいて、クリップに含まれるフレームのデコードに必要なフレームのみを選択し、その部分のみを転送するものとして設定するとともに、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、この4つのGOPのGOP_IDを、GOP_ID1乃至GOP_ID4で設定し、メモリ18に転送するGOPとする。
That is, the transfer
そして、出力範囲情報設定部54は、転送されるGOP_ID1乃至GOP_ID4のそれぞれの出力範囲を設定する。ここでも、GOP_ID1の表示出力範囲は7−15、GOP_ID2の表示出力範囲は1−4、GOP_ID3の表示出力範囲は0−0、そして、GOP_ID3の表示出力範囲は2−15とされる。
Then, the output range
そして、GOP転送タイミング制御部53の処理によりGOPの転送タイミングが制御される。すなわち、転送されたGOPのIピクチャおよびPピクチャが予めデコードされ、メモリ22に蓄積されるように、表示指令に先立って、GOP_ID1乃至GOP_ID4のそれぞれのGOPデータが、所定のタイミングで転送される。
The GOP transfer
GOP_ID1乃至GOP_ID4のそれぞれのGOPデータの転送が終了された後、所定のタイミングで、転送完了コマンドとともに、出力範囲指定コマンドがPCIブリッジ17のコマンドバッファ31に送信される。
After the transfer of each GOP data of GOP_ID1 to GOP_ID4 is completed, an output range designation command is transmitted to the
CPU20は、出力範囲指定コマンドを基に、デコーダ23を制御するので、デコーダ23においては、GOP_ID2はI2のみでコードされ、保有アンカーバンクに保持される。また、GOP_ID3の表示出力範囲は0−0となっており、GOP_ID4の先頭のB1を表示するためだけに必要なので、最終的には、P14のみ保有アンカーバンクに保持することができればよい。したがって、第4の例における場合においても、デコーダ23の保有アンカーバンクメモリはフレーム分設けられるようにすると好適である。
Since the
図18を用いて説明した第4の例においては、第1の例および第3の例と比較して、フレームの転送量の削減により表示レスポンスが向上するとともに、第1の例および第2の例と比較して、保持しなければいけないアンカーフレームの削減により、保有アンカーバンクメモリのバンク数が同一であれば、より広い範囲でのスクラブ再生のレスポンスが向上するという効果を得ることができる。 In the fourth example described with reference to FIG. 18, the display response is improved by reducing the amount of frame transfer compared to the first and third examples, and the first and second examples are improved. Compared to the example, by reducing the number of anchor frames that must be held, if the number of owned anchor bank memories is the same, the effect of improving the scrub playback response in a wider range can be obtained.
この方法により、スクラブ再生が実行される場合や、例えば、1倍速、1.5倍速等スピードを指定して再生する場合においても、クリップ再生を実現することが可能となる。 With this method, clip playback can be realized even when scrub playback is executed, or when playback is performed by specifying a speed such as 1 × speed or 1.5 × speed, for example.
次に、図19のフローチャートを参照して、CPU11が実行する処理について説明する。
Next, processing executed by the
ステップS1において、CPU11の操作入力取得部51は、サウスブリッジ15およびノースブリッジ12を介して、図示しない操作入力部により、クリップの設定の入力、すなわち、いずれの符号化ストリームのどの部分を切り出してクリップとし、どのように接続して、クリップストリームとするかを示す設定の入力を受けて、転送GOP決定部52、GOP転送タイミング制御部53、および、出力範囲情報設定部54に供給する。
In step S <b> 1, the operation
ステップS2において、転送GOP決定部52は、設定されたクリップに含まれるそれぞれのGOPおよびそれらをデコードするために必要なGOPに、クリップストリームの正方向再生時におけるGOPの転送順に基づいて、GOP IDを設定する。
In step S2, the transfer
ステップS3において、操作入力取得部51は、サウスブリッジ15およびノースブリッジ12を介して、図示しない操作入力部を用いてユーザにより実行される表示開始の操作入力を受け、転送GOP決定部52、および、GOP転送タイミング制御部53に供給する。
In step S3, the operation
転送GOP決定部52は、ステップS4において、フレーム表示順をスケジューリングし、ステップS5において、表示するフレームを指定して、GOP転送タイミング制御部53、および、出力範囲情報設定部54に通知する。
In step S4, the transfer
ステップS6において、図21を用いて後述する表示用転送単位決定処理が実行される。 In step S6, a display transfer unit determination process described later with reference to FIG. 21 is executed.
ステップS7において、GOP転送タイミング制御部53は、現在転送中のGOPがあるか否かを判断する。
In step S7, the GOP transfer
ステップS7において、現在転送中のGOPがないと判断された場合、ステップS8において、図22を用いて後述する先送り用転送単位決定処理が実行される。 If it is determined in step S7 that there is no GOP currently being transferred, a forward transfer unit determination process described later with reference to FIG. 22 is executed in step S8.
ステップS7において、現在転送中のGOPがあると判断された場合、または、ステップS8の処理の終了後、ステップS9において、図23乃至図26を用いて後述する転送完了送信決定処理が実行される。 If it is determined in step S7 that there is a GOP currently being transferred, or after the process in step S8 is completed, a transfer completion transmission determination process described later with reference to FIGS. 23 to 26 is executed in step S9. .
ステップS10において、GOP転送タイミング制御部53は、表示コマンド送出部57に、ステップS5において指定された表示されるフレームの表示コマンドの送出を指令する。表示コマンド送出部57は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジのコマンドバッファ31に、表示コマンドを送信する。
In step S10, the GOP transfer
ステップS11において、転送GOP決定部52は、操作入力取得部51から供給されるユーザの操作入力を示す信号を基に、ユーザから、例えば、表示方向または速度の変更や、表示されるストリームの変更などの、フレーム表示順の変更を伴う操作が入力されたか否かを判断する。ステップS11において、フレーム表示順の変更を伴う操作が入力されたと判断された場合、処理は、ステップS4に戻り、それ以降の処理が繰り返される。
In step S <b> 11, the transfer
ステップS11において、フレーム表示順の変更を伴う操作が入力されていないと判断された場合、ステップS12において、転送GOP決定部52は、操作入力取得部51から供給されるユーザの操作入力を示す信号を基に、表示処理が終了されるか否かを判断する。ステップS12において、表示処理が終了されないと判断された場合、処理は、ステップS5に戻り、それ以降の処理が繰り返される。ステップS12において、表示処理が終了されると判断された場合、処理は終了される。
If it is determined in step S <b> 11 that an operation involving a change in the frame display order has not been input, the transfer
このようにして、CPU11において、ユーザの操作入力に基づいて、フレーム表示順が決定されて、表示コマンドの送信に先駆けて対応するGOPのIピクチャおよびPピクチャをデコードすることができるようにGOPの転送単位および転送タイミングが決定され、転送が完了された場合に転送完了コマンドおよび出力範囲指定コマンドが送信され(ステップS9の転送完了決定処理、詳細は後述)、その後、表示コマンドが送信されるので、表示コマンドが送信されるときには、既に、対応するGOPのIピクチャおよびPピクチャがデコード済みである可能性が高くなり、表示コマンドに対する表示レスポンスが高くなる。
In this way, the
そして、CPU20は、CPU11から供給されるコマンドに基づいて、デコーダ23によるデコード処理を制御する。具体的には、CPU20は、圧縮符号化されたストリームデータのメモリ22への入力のタイミング、メモリ22とデコーダ23とのデータの授受のタイミング、ピクチャごとのデコードのタイミング、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定し、これらのタイミングを基に、PCIブリッジ17、メモリ22、および、デコーダ23を制御する。
Then, the
次に、図20のフローチャートを参照して、図19を用いて説明したCPU11の処理と並行して実行されるCPU20の処理について説明する。
Next, the process of the
ステップS41において、CPU20のコマンド取得部71は、コントロールバス19を介して、PCIブリッジ17のコマンドバッファ31を参照し、GOPの転送完了コマンドを受信したか否かを判断する。ステップS41において、GOPの転送完了コマンドを受信していないと判断された場合、処理は、後述するステップS45に進む。
In step S41, the
ステップS41において、GOPの転送完了コマンドを受信したと判断された場合、ステップS42において、コマンド取得部71は、GOPの転送完了コマンドを受信したことを、メモリ間転送制御部72およびリザルト送出部76に通知する。メモリ間転送制御部72は、HDD16からメモリ18へのGOPの転送完了を確認する。そして、リザルト送出部76は、コントロールバス19を介して、PCIブリッジ17のリザルトバッファ32に、GOPの転送完了コマンドに対するリザルトを返す。
If it is determined in step S41 that the GOP transfer completion command has been received, in step S42, the
ステップS43において、メモリ間転送制御部72は、メモリ18からメモリ22へのGOPの転送を制御する。すなわち、メモリ間転送制御部72により、メモリ18へのGOPの転送が完了されたタイミングではなく、CPU11からGOPの転送完了コマンドを受信したタイミングに基づいて、メモリ18からメモリ22へのGOPの転送が制御される。
In step S43, the inter-memory
ステップS44において、デコードスケジュール処理部73は、メモリ22へ転送されたGOPのアンカーフレームが優先的にデコードされるように、デコードをスケジュールし、スケジュールをデコード制御部74に通知する。デコード制御部74は、デコードスケジュール処理部73によるデコードスケジュールに基づいて、デコーダ23によるデコード処理を制御する。
In step S44, the decoding
ステップS41において、GOPの転送完了コマンドを受信していないと判断された場合、または、ステップS44の処理の終了後、ステップS45において、コマンド取得部71は、コントロールバス19を介して、PCIブリッジ17のコマンドバッファ31を参照し、表示コマンドを受信したか否かを判断する。ステップS45において、表示コマンドを受信していないと判断された場合、処理は、後述するステップS48に進む。
If it is determined in step S41 that a GOP transfer completion command has not been received, or after the processing in step S44 is completed, the
ステップS45において、表示コマンドを受信したと判断された場合、ステップS46において、デコード制御部74は、表示されるピクチャを出力するために、デコーダ23およびメモリ22を制御する。
If it is determined in step S45 that a display command has been received, in step S46, the
具体的には、例えば、表示が指令されたフレームが保有アンカーフレームであるIピクチャまたはPピクチャであるとき、デコードが終了されたベースバンド画像データがメモリ22に蓄積されているか否かが検出され、ベースバンド画像データがメモリ22に蓄積されている場合は、そのベースバンド画像データが出力される。また、例えば、表示が指令されたフレームがBピクチャであるとき、そのBピクチャをデコードするために必要な参照画像データが、メモリ22に蓄積されているか否かが検出され、参照画像データがメモリ22に蓄積されている場合は、その参照画像データを用いて、出力されるBピクチャがデコードされる。
Specifically, for example, when the frame for which display is instructed is an I picture or P picture that is a possessed anchor frame, it is detected whether or not baseband image data for which decoding has been completed is stored in the
ステップS47において、デコード制御部74は、該当するフレームの表示が終了したか否かを判断する。ステップS47において、該当するフレームの表示が終了していないと判断された場合、処理は、ステップS46に戻り、それ以降の処理が繰り返される。
In step S47, the
ステップS45において、表示コマンドを受信していないと判断された場合、または、ステップS47において、該当するフレームの表示が終了したと判断された場合、ステップS48において、コマンド取得部71は、コントロールバス19を介して、PCIブリッジ17のコマンドバッファ31を参照することにより、表示処理が終了されるか否かを判断する。ステップS48において、表示処理が終了されていないと判断された場合、処理は、ステップS41に戻り、それ以降の処理が繰り返される。ステップS48において、表示処理が終了されたと判断された場合、処理が終了される。
If it is determined in step S45 that the display command has not been received, or if it is determined in step S47 that the display of the corresponding frame has been completed, the
このような処理により、CPU20は、CPU11の制御に基づいて、メモリ18からメモリ22へのGOPの転送と、デコーダ23によるデコード処理を制御する。そのとき、メモリ22へ転送されたGOPのアンカーフレームのうちの少なくとも一部が優先的にデコードされるので、表示コマンド受信から、デコードされたベースバンド画像データの出力までのレスポンスが向上する。
By such processing, the
また、CPU20は、あるGOPの転送完了コマンドを取得した後、そのGOPのデータの、メモリ18からメモリ22への転送を制御する。すなわち、CPU11の処理において、実際のGOPの転送のタイミングに対して、転送完了コマンドの発生タイミングが遅いので、例えば、ランダム再生において、表示開始位置が大幅に変更された場合などにおいて、メモリ18からメモリ20に無駄にデータの転送が行われない。したがって、メモリ20のデータ記憶容量がメモリ18と比較して少ない場合であっても、メモリ20がオーバーフローしたり、必要なデータが上書きされてしまうことを防ぐことが可能となる。
Further, after acquiring a transfer completion command of a certain GOP, the
次に、図21のフローチャートを参照して、図19のステップS6において実行される、表示用転送単位決定処理について説明する。 Next, a display transfer unit determination process executed in step S6 of FIG. 19 will be described with reference to the flowchart of FIG.
ステップS71において、CPU11の転送GOP決定部52は、表示するフレームは、GOPの先頭の2枚のBピクチャのうちのいずれかであるか否かを判断する。ステップS71において、表示するフレームは、GOPの先頭の2枚のBピクチャのうちのいずれでもないと判断された場合、処理は、後述するステップS74に進む。
In step S71, the transfer
ステップS71において、表示するフレームは、GOPの先頭の2枚のBピクチャのうちのいずれかであると判断された場合、ステップS72において、転送GOP決定部52は、このBピクチャは、前方向に存在するGOPを参照するか否かを判断する。ステップS72において、例えば、Closed GOPであったり、ストリームの先頭のGOPであるなど、前GOPの参照がないと判断された場合、処理は、後述するステップS74に進む。
If it is determined in step S71 that the frame to be displayed is one of the first two B pictures of the GOP, in step S72, the transfer
ステップS72において、前GOPの参照があると判断された場合、ステップS73において、転送GOP決定部52は、前のGOP、すなわち、このBピクチャに対する前方向の参照画像を含むGOPは転送済みであるか否かを判断する。ステップS73において、前のGOPは転送済みではないと判断された場合、処理は、後述するステップS76に進む。
If it is determined in step S72 that there is a reference to the previous GOP, in step S73, the transfer
ステップS71において、表示するフレームは、GOPの先頭の2枚のBピクチャのうちのいずれでもないと判断された場合、ステップS72において、前GOPの参照がないと判断された場合、または、ステップS73において、前のGOPは転送済みであると判断された場合、ステップS74において、転送GOP決定部52は、表示するフレームが含まれるGOPは転送済みであるか否かを判断する。ステップS74において、表示するフレームが含まれるGOPは転送済みであると判断された場合、処理は、図19のステップS6に戻り、ステップS7に進む。
If it is determined in step S71 that the frame to be displayed is not one of the first two B pictures of the GOP, if it is determined in step S72 that there is no reference to the previous GOP, or step S73. In step S74, when it is determined that the previous GOP has been transferred, the transfer
ステップS74において、表示するフレームが含まれるGOPは転送済みではないと判断された場合、ステップS75において、転送GOP決定部52は、サウスブリッジ15、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介した、HDD16からメモリ18への、表示するフレームが含まれるGOPの転送の開始を制御し、処理は、図19のステップS6に戻り、ステップS7に進む。
If it is determined in step S74 that the GOP including the frame to be displayed has not been transferred, the transfer
ステップS73において、前のGOPは転送済みではないと判断された場合、ステップS76において、転送GOP決定部52は、そのBピクチャが含まれるGOP、換言すれば、表示されるフレームが含まれるGOPは転送済みであるか否かを判断する。
If it is determined in step S73 that the previous GOP has not been transferred, the transfer
ステップS73において、そのBピクチャが含まれるGOPは転送済みであると判断された場合、ステップS77において、転送GOP決定部52は、サウスブリッジ15、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介した、HDD16からメモリ18への、一つ前のGOPの転送の開始を制御し、処理は、図19のステップS6に戻り、ステップS7に進む。
If it is determined in step S73 that the GOP including the B picture has been transferred, the transfer
ステップS73において、そのBピクチャが含まれるGOPは転送済みではないと判断された場合、ステップS78において、転送GOP決定部52は、サウスブリッジ15、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介した、HDD16からメモリ18への、一つ前のGOPと表示されるGOPのI2B0B1の転送の開始を制御し、処理は、図19のステップS6に戻り、ステップS7に進む。
If it is determined in step S73 that the GOP including the B picture has not been transferred, the transfer
このような処理により、表示されるピクチャがGOP先頭の2枚のBピクチャのうちのいずれかであり、そのBピクチャが含まれているGOPと、その前のGOP(すなわち、表示されるBピクチャをデコードするために必要な参照画像フレームが含まれているGOP)とがいずれも転送されていない場合、一つ前のGOPと表示されるGOPのI2B0B1が転送される。したがって、現在実行されている再生処理が高速再生処理で、このBピクチャが含まれているGOPの他のフレームが表示されない場合にも、無駄なデータを転送することがなく、更に、高速再生処理ではなく、このBピクチャが含まれているGOPの他のフレームが表示されるために、このBピクチャが含まれているGOPの転送が必要になった場合であっても、転送データの冗長分が少ない。 By such processing, the displayed picture is one of the two B pictures at the head of the GOP, and the GOP including the B picture and the previous GOP (that is, the displayed B picture). If no GOP that includes a reference image frame necessary for decoding is transferred, I2B0B1 of the GOP displayed as the previous GOP is transferred. Therefore, even when the currently executed reproduction process is a high-speed reproduction process and no other frame of the GOP including the B picture is displayed, useless data is not transferred, and the high-speed reproduction process is performed. Instead, since the other frame of the GOP including the B picture is displayed, even if it is necessary to transfer the GOP including the B picture, the redundancy of the transfer data Less is.
次に、図22のフローチャートを参照して、図19のステップS8において実行される、先送り用転送単位決定処理について説明する。 Next, with reference to the flowchart of FIG. 22, the forward transfer unit determination process executed in step S8 of FIG. 19 will be described.
ステップS101において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームであるか否かを判断する。ステップS101において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームであると判断された場合、処理は、図19のステップS8に戻り、ステップS9に進む。
In step S101, the GOP transfer
ステップS101において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームではないと判断された場合、すなわち、表示されるフレームにおけるGOPの変わり目であると判断された場合、ステップS102において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ後ろのGOPに含まれているフレームであるか否か、すなわち、正方向の再生におけるGOPの変わり目であるか否かを判断する。ステップS102において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ後ろのGOPに含まれているフレームではないと判断された場合、処理は、後述するステップS106に進む。
When it is determined in step S101 that the frame to be displayed is not a frame included in the same GOP as the previously displayed frame, that is, when it is determined that the frame is a transition of the GOP in the frame to be displayed. In step S102, the GOP transfer
ステップS102において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ後ろのGOPに含まれているフレームであると判断された場合、ステップ103において、GOP転送タイミング制御部53は、表示されるフレームを含むGOP(既に転送開始済みである)の1つ後ろのGOPに含まれる表示範囲のフレーム数は、6フレーム以上であるか否かを判断する。
If it is determined in step S102 that the frame to be displayed is a frame included in the GOP that is one behind the GOP in which the previously displayed frame was included, in
なお、ここでは、6フレームを閾値として判断を実行しているが、このフレーム数は、この装置が求められている再生能力や、メモリ18のメモリ容量によっても異なる値である。例えば、メモリ18のメモリ容量が少ない場合、あまり早く転送を開始してしまっては、メモリ18がオーバーフローしてしまう可能性がある。しかしながら、メモリ18のメモリ容量が充分である場合、この装置が正方向および逆方向に何倍速の再生機能を有しているかに基づいて、閾値が定められている。例えば、正方向および逆方向に2倍速程度の再生機能が求められている場合、6フレームを閾値とすることにより、再生がフリーズしないために充分な数のフレームが先行して転送される。 Here, the determination is performed using 6 frames as a threshold value, but the number of frames varies depending on the reproduction capability required by the apparatus and the memory capacity of the memory 18. For example, when the memory capacity of the memory 18 is small, the memory 18 may overflow if the transfer is started too early. However, when the memory capacity of the memory 18 is sufficient, the threshold value is determined based on how many times the playback function of this device has in the forward and reverse directions. For example, when a playback function of about double speed is required in the forward direction and the reverse direction, a sufficient number of frames are transferred in advance so that playback does not freeze by setting 6 frames as a threshold value.
ステップ103において、1つ後ろのGOPに含まれる表示範囲のフレーム数は、6フレーム以上であると判断された場合、ステップS104において、GOP転送タイミング制御部53は、例えば、表示するフレームが含まれているGOPやコマンドなどよりも優先度を下げて、1つ後ろのGOPの転送を開始し、処理は、図19のステップS8に戻り、ステップS9に進む。
If it is determined in
すなわち、表示コマンドなどのコマンドを送信する処理や、現在再生中のフレームを含むGOPの次に再生される可能性の高いGOPを転送する処理と比較して、GOPの変わり目でデータを先行して転送する処理は、次使うであろうデータをあらかじめ転送しておくという処理のため、緊急性がない。よって、優先度をつけることにより、コマンドの送信など、絵を表示するために必要な処理のレスポンスを落とすことなく、データ転送の効率を向上させることが可能となる。 That is, in comparison with the process of transmitting a command such as a display command or the process of transferring a GOP that is likely to be reproduced next to the GOP including the currently reproduced frame, the data is preceded at the change of the GOP. The transfer process is not urgent because it is a process of transferring data that will be used next. Therefore, by assigning priorities, it is possible to improve the efficiency of data transfer without degrading the response of processing necessary for displaying a picture such as command transmission.
ステップ103において、1つ後ろのGOPに含まれる表示範囲のフレーム数は、6フレーム以下であると判断された場合、ステップS105において、GOP転送タイミング制御部53は、例えば、表示するフレームが含まれているGOPやコマンドなどよりも優先度を下げて、1つ後ろのGOPと、更にもう1つ後ろのGOPの2GOP分の転送を開始し、処理は、図19のステップS8に戻り、ステップS9に進む。
If it is determined in
ステップS102において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ後ろのGOPに含まれているフレームではないと判断された場合、ステップS106において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ前のGOPに含まれているフレームであるか否か、すなわち、逆方向の再生におけるGOPの変わり目であるか否かを判断する。ステップS106において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ前のGOPに含まれているフレームではないと判断された場合、1GOP以上表示しないで飛ばすような高速再生であるか、または、スクラブ再生により再生開始位置が変更された場合であるので、処理は、図19のステップS8に戻り、ステップS9に進む。
If it is determined in step S102 that the displayed frame is not a frame included in the GOP that is one behind the GOP in which the previously displayed frame was included, in step S106, the GOP transfer timing is determined. The
ステップS106において、表示されるフレームは、前に表示されたフレームが含まれていたGOPよりも一つ前のGOPに含まれているフレームであると判断された場合、ステップ107において、GOP転送タイミング制御部53は、表示されるフレームを含むGOP(既に転送開始済みである)の1つ前のGOPに含まれる表示範囲のフレーム数は、6フレーム以上であるか否かを判断する。
If it is determined in step S106 that the displayed frame is a frame included in the GOP immediately preceding the GOP in which the previously displayed frame was included, in step 107, the GOP transfer timing is determined. The
ステップ107において、1つ前のGOPに含まれる表示範囲のフレーム数は、6フレーム以上であると判断された場合、ステップS108において、GOP転送タイミング制御部53は、例えば、表示するフレームが含まれているGOPやコマンドなどよりも優先度を下げて、1つ前のGOPの転送を開始し、処理は、図19のステップS8に戻り、ステップS9に進む。
If it is determined in step 107 that the number of frames in the display range included in the previous GOP is 6 frames or more, in step S108, the GOP transfer
ステップ107において、1つ前のGOPに含まれる表示範囲のフレーム数は、6フレーム以下であると判断された場合、ステップS109において、GOP転送タイミング制御部53は、例えば、表示するフレームが含まれているGOPやコマンドなどよりも優先度を下げて、1つ前のGOPと、更にもう1つ前のGOPの2GOP分の転送を開始し、処理は、図19のステップS8に戻り、ステップS9に進む。
If it is determined in step 107 that the number of frames in the display range included in the previous GOP is 6 frames or less, in step S109, the GOP transfer
このような処理により、GOPの変わり目のフレームが表示されるタイミングに、さらにその次に表示されると予測されるGOPの転送を開始することができるとともに、そのGOPに含まれている表示フレーム数が少ない場合には、更にもう1GOPの転送が開始されるので、フレームデータの転送が間に合わずに、表示レスポンスが悪化してしまうことを防止することができる。 By such processing, the transfer of the GOP that is predicted to be displayed next can be started at the timing when the GOP transition frame is displayed, and the number of display frames included in the GOP When the number of frames is small, another 1 GOP transfer is started, so that it is possible to prevent the display response from deteriorating due to the frame data not being transferred in time.
次に、図23乃至図26のフローチャートを参照して、図19のステップS9において実行される、転送完了送信決定処理について説明する。 Next, the transfer completion transmission determination process executed in step S9 of FIG. 19 will be described with reference to the flowcharts of FIGS.
ステップS131において、GOP転送タイミング制御部53は、転送が完了して転送完了を送信していないGOPはあるか否かを判断する。ステップS131において、転送が完了して転送完了を送信していないGOPはないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
In step S131, the GOP transfer
ステップS131において、転送が完了して転送完了を送信していないGOPがあると判断された場合、ステップS132において、GOP転送タイミング制御部53は、転送GOP決定部52により決定された転送されるGOPに関する情報、および、出力範囲情報設定部54により設定された出力範囲に基づいて、そのGOPは、表示しているフレームの隣のGOPであり、かつ、表示範囲は6frame未満であるか否かを判断する。
If it is determined in step S131 that there is a GOP for which transfer has been completed and transfer completion has not been transmitted, in step S132, the GOP transfer
ステップS132において、そのGOPは、表示しているフレームの隣のGOPではないか、表示範囲は6frame未満ではないと判断された場合、処理は、後述するステップS136に進む。 If it is determined in step S132 that the GOP is not the GOP adjacent to the frame being displayed or the display range is not less than 6 frames, the process proceeds to step S136 described later.
ステップS132において、そのGOPは、表示しているフレームの隣のGOPであり、かつ、表示範囲は6frame未満であると判断された場合、ステップS133において、転送完了コマンド送出部56は、そのGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。ステップS133において、そのGOPに対する転送完了コマンドは、送信済みであると判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
If it is determined in step S132 that the GOP is the GOP next to the frame being displayed and the display range is less than 6 frames, the transfer completion
ステップS133において、そのGOPに対する転送完了コマンドは、送信済みではないと判断された場合、ステップS134において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。 If it is determined in step S133 that the transfer completion command for the GOP has not been transmitted, an output range designation command setting process, which will be described later with reference to FIG. 28, is executed in step S134.
ステップS135において、出力範囲情報設定部54は、そのGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、そのGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信し、処理は、図19のステップS9に戻り、ステップS10に進む。
In step S135, the output range
ステップS132において、そのGOPは、表示しているフレームの隣のGOPではないか、表示範囲は6frame未満ではないと判断された場合、ステップS136において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームであるか否かを判断する。ステップS136において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームではないと判断された場合、処理は、後述するステップS151に進む。
If it is determined in step S132 that the GOP is not the GOP adjacent to the frame being displayed or the display range is not less than 6 frames, the GOP transfer
ステップS136において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームであると判断された場合、ステップS137において、GOP転送タイミング制御部53は、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置しているフレームであるか否かを判断する。ステップS137において、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置している、すなわち、再生の方向が正方向であると判断された場合、処理は、後述するステップS156に進む。
If it is determined in step S136 that the displayed frame is a frame included in the same GOP as the previously displayed frame, in step S137, the GOP transfer
ステップS137において、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置していない、すなわち、再生の方向が逆方向であると判断された場合、ステップS138において、GOP転送タイミング制御部53は、表示されるフレームは、そのGOPの先頭から5フレーム以内のフレームであるか否かを判断する。ステップS138において、表示されるフレームは、そのGOPの先頭から5フレーム以内のフレームではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
If it is determined in step S137 that the frame to be displayed is not located behind the previously displayed frame, that is, the playback direction is the reverse direction, the GOP transfer is performed in step S138. The
ステップS138において、表示されるフレームは、そのGOPの先頭から5フレーム以内のフレームであると判断された場合、ステップS139において、GOP転送タイミング制御部53は、表示されているフレームを含むGOPの一つ前のGOPのデータは転送中であるか否かを考える。
If it is determined in step S138 that the frame to be displayed is a frame within 5 frames from the head of the GOP, in step S139, the GOP transfer
ステップS139において、一つ前のGOPのデータは転送中であると判断された場合、ステップS140において、GOP転送タイミング制御部53は、転送中である1つ前のGOPに含まれるフレームの表示指令が出されるまでの残り時間があまりないので、データ転送の優先度を上げて、処理は、図19のステップS9に戻り、ステップS10に進む。
If it is determined in step S139 that the previous GOP data is being transferred, in step S140, the GOP transfer
ステップS139において、一つ前のGOPのデータは転送中ではないと判断された場合、ステップS141において、GOP転送タイミング制御部53は、一つ前のGOPのデータは転送済みであるか否かを判断する。
If it is determined in step S139 that the previous GOP data is not being transferred, in step S141, the GOP transfer
ステップS141において、一つ前のGOPのデータは転送済みではないと判断された場合、ステップS142において、GOP転送タイミング制御部53は、1つ前のGOPを、優先度を高くして転送し、処理は、後述するステップS146に進む。
If it is determined in step S141 that the data of the previous GOP has not been transferred, the GOP transfer
ステップS141において、一つ前のGOPのデータは転送済みであると判断された場合、ステップS143において、転送完了コマンド送出部56は、1つ前のGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。
If it is determined in step S141 that the data of the previous GOP has been transferred, in step S143, the transfer completion
ステップS143において、1つ前のGOPに対する転送完了コマンドは送信済みではないと判断された場合、ステップS144において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。 If it is determined in step S143 that the transfer completion command for the previous GOP has not been transmitted, an output range designation command setting process, which will be described later with reference to FIG. 28, is executed in step S144.
ステップS145において、出力範囲情報設定部54は、1つ前のGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、1つ前のGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信する。
In step S145, the output range
ステップS142の処理の終了後、ステップS143において、1つ前のGOPに対する転送完了コマンドは送信済みであると判断された場合、または、ステップS145の処理の終了後、ステップS146において、GOP転送タイミング制御部53は、出力範囲情報設定部54により設定された出力範囲に基づいて、一つ前のGOPの表示範囲は6frame未満であるか否かを判断する。
After the process of step S142 is completed, if it is determined in step S143 that the transfer completion command for the previous GOP has been transmitted, or after the process of step S145 is completed, the GOP transfer timing control is performed in step S146. The
ステップS146において、一つ前のGOPの表示範囲は6frame未満ではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。 If it is determined in step S146 that the display range of the previous GOP is not less than 6 frames, the process returns to step S9 in FIG. 19 and proceeds to step S10.
ステップS146において、一つ前のGOPの表示範囲は6frame未満であると判断された場合、ステップS147において、GOP転送タイミング制御部53は、二つ前のGOPのデータは転送済みであるか否かを判断する。ステップS147において、2つ前のGOPのデータは転送済みではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
When it is determined in step S146 that the display range of the previous GOP is less than 6 frames, in step S147, the GOP transfer
ステップS147において、2つ前のGOPのデータは転送済みであると判断された場合、ステップS148において、転送完了コマンド送出部56は、2つ前のGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。ステップS148において、2つ前のGOPに対する転送完了コマンドは送信済みであると判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
If it is determined in step S147 that the data of the second previous GOP has been transferred, in step S148, the transfer completion
ステップS148において、2つ前のGOPに対する転送完了コマンドは送信済みではないと判断された場合、ステップS149において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。 If it is determined in step S148 that the transfer completion command for the previous GOP has not been transmitted, an output range designation command setting process, which will be described later with reference to FIG. 28, is executed in step S149.
ステップS150において、出力範囲情報設定部54は、2つ前のGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、2つ前のGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信し、処理は、図19のステップS9に戻り、ステップS10に進む。
In step S150, the output range
ステップS136において、表示されるフレームは、前に表示されたフレームと同じGOPに含まれているフレームではないと判断された場合、ステップS151において、転送完了コマンド送出部56は、表示されるフレームがあるGOPの転送完了を送信したか否かを判断する。ステップS151において、表示されるフレームがあるGOPの転送完了を送信したと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
If it is determined in step S136 that the frame to be displayed is not included in the same GOP as the previously displayed frame, in step S151, the transfer completion
ステップS151において、表示されるフレームがあるGOPの転送完了を送信していないと判断された場合、ステップS152において、GOP転送タイミング制御部53は、表示されるフレームがあるGOPは転送済みか否かを判断する。
If it is determined in step S151 that the transfer completion of the GOP with the frame to be displayed has not been transmitted, the GOP transfer
ステップS152において、表示されるフレームがあるGOPは転送済みではないと判断された場合、ステップS153において、GOP転送タイミング制御部53は、優先度を上げて、表示されるフレームがあるGOPの転送完了を待つ。
If it is determined in step S152 that the GOP with the frame to be displayed has not been transferred, the GOP transfer
ステップS152において、表示されるフレームがあるGOPは転送済みであると判断された場合、または、ステップS153の処理の終了後、すなわち、表示されるフレームの転送は完了したが、転送完了コマンドはまだ送信されていないとき、ステップS154において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。 If it is determined in step S152 that a GOP with a frame to be displayed has been transferred, or after the processing of step S153, that is, the transfer of the displayed frame is completed, but the transfer completion command is still When not transmitted, in step S154, an output range designation command setting process, which will be described later with reference to FIG. 28, is executed.
ステップS155において、転送完了コマンド送出部56は、表示されるフレームがあるGOPの転送完了を、出力範囲指定コマンドとともに送信し、処理は、図19のステップS9に戻り、ステップS10に進む。
In step S155, the transfer completion
ステップS137において、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置している、すなわち、再生の方向が正方向であると判断された場合、ステップS156において、GOP転送タイミング制御部53は、表示されるフレームは、そのGOPの最後から5フレーム以内のフレームであるか否かを判断する。ステップS156において、表示されるフレームは、そのGOPの最後から5フレーム以内のフレームではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
If it is determined in step S137 that the frame to be displayed is located behind the previously displayed frame, that is, the playback direction is the forward direction, in step S156, the GOP transfer is performed. The
ステップS156において、表示されるフレームは、そのGOPの最後から5フレーム以内のフレームであると判断され場合、ステップS157において、GOP転送タイミング制御部53は、一つ後のGOPのデータは転送中であるか否かを判断する。
If it is determined in step S156 that the displayed frame is within 5 frames from the end of the GOP, in step S157, the GOP transfer
ステップS157において、一つ後のGOPのデータは転送中であると判断された場合、ステップS158において、GOP転送タイミング制御部53は、転送中である1つ後ろのGOPに含まれるフレームの表示指令が出されるまでの残り時間があまりないので、データ転送の優先度を上げて、処理は、図19のステップS9に戻り、ステップS10に進む。
If it is determined in step S157 that the next GOP data is being transferred, in step S158, the GOP transfer
ステップS157において、一つ後のGOPのデータは転送中ではないと判断された場合、ステップS159において、GOP転送タイミング制御部53は、一つ後ろのGOPのデータは転送済みであるか否かを判断する。
If it is determined in step S157 that the next GOP data is not being transferred, in step S159, the GOP transfer
ステップS159において、一つ後ろのGOPのデータは転送済みではないと判断された場合、ステップS160において、GOP転送タイミング制御部53は、一つ後ろのGOPを、優先度を高くして転送し、処理は、後述するステップS164に進む。
If it is determined in step S159 that the data of the next GOP has not been transferred, the GOP transfer
ステップS159において、一つ後ろのGOPのデータは転送済みであると判断された場合、ステップS161において、転送完了コマンド送出部56は、1つ後ろのGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。
If it is determined in step S159 that the data of the next GOP has been transferred, in step S161, the transfer completion
ステップS161において、1つ後ろのGOPに対する転送完了コマンドは、送信済みではないと判断された場合、ステップS162において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。 If it is determined in step S161 that the transfer completion command for the next GOP has not been transmitted, an output range designation command setting process, which will be described later with reference to FIG. 28, is executed in step S162.
ステップS163において、出力範囲情報設定部54は、1後ろのGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、1つ後ろのGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信する。
In step S163, the output range
ステップS160の処理の終了後、ステップS161において、1つ後ろのGOPに対する転送完了コマンドは送信済みであると判断された場合、または、ステップS163の処理の終了後、ステップS164において、GOP転送タイミング制御部53は、出力範囲情報設定部54により設定された出力範囲に基づいて、一つ後のGOPの表示範囲は6frame未満であるか否かを判断する。
After the process of step S160 is completed, if it is determined in step S161 that the transfer completion command for the next GOP has been transmitted, or after the process of step S163 is completed, the GOP transfer timing control is performed in step S164. The
ステップS164において、一つ後ろのGOPの表示範囲は6frame未満ではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。 If it is determined in step S164 that the display range of the next GOP is not less than 6 frames, the process returns to step S9 in FIG. 19 and proceeds to step S10.
ステップS164において、2つ前のGOPの表示範囲は6frame未満であると判断された場合、ステップS165において、GOP転送タイミング制御部53は、2つ後のGOPのデータは転送済みであるか否かを判断する。ステップS165において、2つ後のGOPのデータは転送済みではないと判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
If it is determined in step S164 that the display range of the previous GOP is less than 6 frames, in step S165, the GOP transfer
ステップS165において、2つ後ろのGOPのデータは転送済みであると判断された場合、ステップS166において、転送完了コマンド送出部56は、2つ後ろのGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。ステップS166において、2つ後ろのGOPに対する転送完了コマンドは、送信済みであると判断された場合、処理は、図19のステップS9に戻り、ステップS10に進む。
If it is determined in step S165 that the data of the second succeeding GOP has been transferred, in step S166, the transfer completion
ステップS166において、2つ後ろのGOPに対する転送完了コマンドは、送信済みではないと判断された場合、ステップS167において、図28を用いて後述する、出力範囲指定コマンド設定処理が実行される。 If it is determined in step S166 that the transfer completion command for the second GOP has not been transmitted, an output range designation command setting process, which will be described later with reference to FIG. 28, is executed in step S167.
ステップS168において、出力範囲情報設定部54は、2つ後ろのGOPの出力範囲指定コマンドをPCIブリッジ17のコマンドバッファ31に送信するとともに、転送完了コマンド送出部56は、2つ後ろのGOPの転送完了をPCIブリッジ17のコマンドバッファ31に送信し、処理は、図19のステップS9に戻り、ステップS10に進む。
In step S168, the output range
このような処理により、正方向の表示の場合には表示されるフレームがGOPの後ろから5フレーム以内であるとき、逆方向の表示の場合には表示されるフレームがGOPの前ろから5フレーム以内であるとき、表示されるフレームにおけるGOPの変わり目で先に転送が開始された次に表示されると予測されたGOPの転送が完了したか否かが判断され、転送が完了していない場合は、転送の優先度が高くなり、転送が完了した場合は、転送完了コマンドが、出力範囲指定コマンドとともに送信される。 By such processing, when the display in the forward direction is within 5 frames from the back of the GOP, in the case of the display in the reverse direction, the displayed frame is 5 frames from the front of the GOP. When the transfer is not completed, it is determined whether or not the transfer of the GOP predicted to be displayed next is completed after the transfer is started first at the change of the GOP in the displayed frame. When the transfer priority becomes high and the transfer is completed, the transfer completion command is transmitted together with the output range designation command.
これにより、例えば、ランダム再生において、表示開始位置が大幅に変更された場合などにおいて、メモリ18からメモリ20に無駄にデータの転送が行われない。したがって、メモリ20のデータ記憶容量がメモリ18と比較して少ない場合であっても、メモリ20がオーバーフローしたり、必要なデータが上書きされてしまうことを防ぐことが可能となる。
Thereby, for example, when the display start position is significantly changed in random reproduction, data is not transferred from the memory 18 to the
また、表示されるフレームを含むGOPの転送が終了されていない場合、そのGOPの転送の優先度が高くなる。 Further, when the transfer of the GOP including the displayed frame is not completed, the transfer priority of the GOP becomes high.
図27を参照して、クリップファイルAとして、第1のストリームのあるGOPのP8ピクチャから、次のGOPのP8ピクチャまでが選択されて、クリップファイルBとして、第2のストリームのあるGOPのP14ピクチャから、次のGOPのP14ピクチャまでが選択されて、クリップファイルAとクリップファイルBとが連続して再生されるクリップ再生において、トランジェント再生が実行される場合のコマンド送信等のタイミング制御例について説明する。 Referring to FIG. 27, a clip file A is selected from a P8 picture of the GOP with the first stream to a P8 picture of the next GOP as the clip file A, and P14 of the GOP with the second stream is selected as the clip file B. Timing control example such as command transmission when transient playback is executed in clip playback in which clip file A and clip file B are played back continuously from the picture to the P14 picture of the next GOP explain.
例えば、図27Aに示されるように、正方向で表示フレームが移行しており、表示されるフレームがクリップファイルAの1つ目のGOPから2つ目のGOPに移った場合、更にその次のGOPが転送中かまたは転送済みであるか否かが判断されて、まだ、転送中でも転送済みでもない場合には、転送が指令される。 For example, as shown in FIG. 27A, when the display frame shifts in the forward direction and the displayed frame shifts from the first GOP of the clip file A to the second GOP, the next frame further follows. It is determined whether the GOP is being transferred or has been transferred, and if it is not being transferred or transferred yet, transfer is commanded.
そして、図27Bに示されるように、次のGOP、すなわち、クリップファイルBの一つ目のGOPが転送される。このGOPの表示範囲は、P14ピクチャのみであり、6フレーム未満となるため、その次のGOP、すなわち、クリップファイルBの2つ目のGOPも、このGOPに続いて転送される。 Then, as shown in FIG. 27B, the next GOP, that is, the first GOP of the clip file B is transferred. Since the display range of this GOP is only P14 pictures and is less than 6 frames, the next GOP, that is, the second GOP of the clip file B is also transferred following this GOP.
そして、図27Cに示されるように、クリップファイルAの2つ目のGOPに含まれるフレームの表示中に、クリップファイルBの一つ目のGOPの転送が完了したとき、転送完了したGOPは、現在表示されているフレームを含むGOPの隣のGOPであり、かつ、表示範囲が6フレーム未満であることから、すぐに、転送完了コマンドが送信される。そして、図27Cの状態から、表示再生方向が逆転し、逆方向再生となったものとする。 Then, as shown in FIG. 27C, when the transfer of the first GOP of the clip file B is completed during the display of the frame included in the second GOP of the clip file A, Since it is the GOP next to the GOP including the currently displayed frame and the display range is less than 6 frames, the transfer completion command is immediately transmitted. Then, it is assumed that the display reproduction direction is reversed from the state of FIG. 27C and reverse reproduction is performed.
クリップファイルBの2つ目のGOPの転送が終了したときに、図27Dに示されるように逆方向再生中であり、クリップファイルAの2つ目のGOPに含まれるフレームの表示中である場合、転送完了したGOPは、現在表示されているフレームを含むGOPの隣のGOPではないため、まだ、転送完了コマンドは送信されない。そして、図27Dの状態から、表示再生方向が逆転し、再び正方向再生となったものとする。 When transfer of the second GOP of the clip file B is completed, reverse playback is being performed as shown in FIG. 27D, and a frame included in the second GOP of the clip file A is being displayed. Since the transfer completed GOP is not the GOP next to the GOP including the currently displayed frame, the transfer completion command is not transmitted yet. Then, it is assumed that the display reproduction direction is reversed from the state of FIG. 27D and the normal direction reproduction is performed again.
そして、図27Eに示されるように、正方向再生において、表示されているフレームが、表示されているフレームを含むGOPの最後から5フレーム以内となり、次のGOPの表示範囲が6フレーム以内で、かつ、2つ後のGOPの転送が完了したという条件を満たした場合、クリップファイルBの2つ目のGOPに対する転送完了コマンドが送信される。 Then, as shown in FIG. 27E, in forward reproduction, the displayed frame is within 5 frames from the end of the GOP including the displayed frame, and the display range of the next GOP is within 6 frames. If the condition that the transfer of the second GOP is completed is satisfied, a transfer completion command for the second GOP of the clip file B is transmitted.
次に、図28のフローチャートを参照して、図23のステップS134、図24のステップS144およびステップS149、図25のステップS154、並びに、図26のステップS162およびステップS167において実行される、出力範囲指定コマンド設定処理について説明する。 Next, referring to the flowchart in FIG. 28, the output range executed in step S134 in FIG. 23, step S144 and step S149 in FIG. 24, step S154 in FIG. 25, and step S162 and step S167 in FIG. The specified command setting process will be described.
ステップS181において、出力範囲情報設定部54は、出力範囲指定コマンドを設定するGOPは、クリップに含まれていないが、いずれかのクリップをデコードするための参照画として用いられるフレームを有するGOPであるか否かを判断する。
In step S181, the output range
ステップ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の出力範囲指定コマンド設定処理の説明においては、以下、同様)。
When it is determined in step S181 that the GOP has a frame that is not included in the clip but is used as a reference image for decoding any clip, in step S182, the output range
ステップS181において、クリップに含まれているGOPであると判断された場合、ステップS183において、出力範囲情報設定部54は、出力範囲指定コマンドを設定するGOPは、クリップの先頭のGOPであるか否かを判断する。
If it is determined in step S181 that the GOP is included in the clip, in step S183, the output range
ステップS183において、クリップの先頭のGOPであると判断された場合、ステップS184において、出力範囲情報設定部54は、クリップの設定に基づいて、出力範囲指定コマンドを設定(例えば、7−15,9−15など)し、処理は、図23乃至図26を用いて説明した転送完了送信決定処理に戻る。
If it is determined in step S183 that the GOP is the head GOP of the clip, in step S184, the output range
ステップS183において、クリップの先頭のGOPではないと判断された場合、ステップS185において、出力範囲情報設定部54は、出力範囲指定コマンドを設定するGOPは、クリップの最後尾のGOPであるか否かを判断する。
If it is determined in step S183 that it is not the first GOP of the clip, in step S185, the output range
ステップS185において、クリップの最後尾のGOPであると判断された場合、ステップS186において、出力範囲情報設定部54は、クリップの設定に基づいて、出力範囲指定コマンドを設定(例えば、0−4,0−11など)し、処理は、図23乃至図26を用いて説明した転送完了送信決定処理に戻る。
If it is determined in step S185 that it is the last GOP of the clip, in step S186, the output range
ステップS185において、クリップの最後尾のGOPではないと判断された場合、ステップS187において、出力範囲情報設定部54は、そのGOPの全範囲において出力可能性があるものとして、出力範囲指定コマンドを設定し、処理は、図23乃至図26を用いて説明した転送完了送信決定処理に戻る。
If it is determined in step S185 that the GOP is not the last GOP of the clip, in step S187, the output range
このような処理により、出力範囲指定コマンドが設定されて送信されるので、例えば、クリップには含まれないが、参照画像として用いるために転送されるGOPのアンカーフレームは、保有アンカーフレームであっても、保有アンカーバンクにおいて、上書き処理を行うことが可能となり、同一の保有アンカーバンク数で処理が可能なGOP数を増やすことが可能となる。 As a result of such processing, the output range designation command is set and transmitted. For example, the anchor frame of the GOP that is not included in the clip but is transferred for use as a reference image is a possessed anchor frame. In addition, overwriting can be performed in the owned anchor banks, and the number of GOPs that can be processed with the same number of owned anchor banks can be increased.
以上説明したような処理を行うことにより、クリップ再生でのスクラブ再生や正、逆コマ送り再生の制御が簡単にかつ高速に行える。 By performing the processing as described above, it is possible to easily and quickly control scrub playback and forward / reverse frame-by-frame playback during clip playback.
すなわち、GOP転送の転送単位の決定や転送タイミングの制御が複雑でないため、制御が簡単になるとともに、重なってデータが送られてしまうなどのデータ転送の冗長分は少なくてすむようになされている。 That is, determination of the transfer unit of GOP transfer and control of transfer timing are not complicated, so that control is simplified and data transfer redundancy such as overlapping data is reduced.
なお、ここでは、コーディックの方式としてMPEGを用いた場合を例として説明しているが、フレーム相関を伴うコーディック処理を行う場合においても、本発明は適用可能であることはいうまでもない。例えば、AVC(Advanced Video Coding)/H.264などにおいて、本発明は適用可能である。 Here, the case where MPEG is used as the codec method is described as an example, but it goes without saying that the present invention can also be applied to the case where codec processing involving frame correlation is performed. For example, AVC (Advanced Video Coding) / H. The present invention is applicable to H.264.
なお、AVC/H.264のBピクチャは、必ずしも、前方向および後ろ方向の双方向の参照画像を用いるとは限らず、過去から2枚の参照画像を用いて予測しても、未来から2枚の参照画像を用いて予測してもよいが、このような場合を考慮して、本発明を適用することは可能である。 Note that the AVC / H.264 B picture does not necessarily use the forward and backward bi-directional reference images. Even if prediction is performed using two reference images from the past, Although prediction may be performed using a single reference image, the present invention can be applied in consideration of such a case.
なお、以上の説明においては、CPU11とCPU20が、PCIブリッジ17のコマンドバッファ31およびリザルトバッファ32を介して、制御情報を授受し、分担して、制御を行うものとして説明したが、例えば、同様の処理を、1つのCPUを用いて実行するようにしても良い。
In the above description, the
その場合、CPUが有する機能は、図29の機能ブロック図に示されるように、図5を用いて説明した、操作入力取得部51、転送GOP決定部52、GOP転送タイミング制御部53、出力範囲情報設定部54、レジスタ55、表示コマンド送出部57、メモリ間転送制御部72、デコードスケジュール処理部73、デコード制御部74、および、レジスタ75と、基本的に同様となる。
In that case, as shown in the functional block diagram of FIG. 29, the functions of the CPU are the operation
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、上述した処理は、図30に示されるようなパーソナルコンピュータ201により実行される。
The series of processes described above can also be executed by software. The software is a computer in which the program constituting the software is incorporated in dedicated hardware, or various functions can be executed by installing various programs, for example, a general-purpose personal computer For example, it is installed from a recording medium. In this case, the processing described above is executed by a
図30において、CPU(Central Processing Unit)211は、ROM(Read Only Memory)212に記憶されているプログラム、または、記憶部218からRAM(Random Access Memory)213にロードされたプログラムに従って各種の処理を実行する。RAM213にはまた、CPU211が各種の処理を実行する上において必要なデータなどが適宜記憶される。
In FIG. 30, a CPU (Central Processing Unit) 211 performs various processes according to a program stored in a ROM (Read Only Memory) 212 or a program loaded from a
CPU211、ROM212、およびRAM213は、内部バス214を介して相互に接続されている。この内部バス214にはまた、入出力インターフェース215も接続されている。
The
入出力インターフェース215には、キーボード、マウスなどよりなる入力部216、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部217、ハードディスクなどより構成される記憶部218、並びに、モデム、ターミナルアダプタなどより構成される通信部219が接続されている。通信部219は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
The input /
入出力インターフェース215にはまた、必要に応じてドライブ220が接続され、磁気ディスク231(フレキシブルディスクを含む)、光ディスク232(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク233(MD(Mini-Disk)(商標)を含む)、もまたは、半導体メモリ234などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部218にインストールされる。
A
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。 When a series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.
この記録媒体は、図30に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク231、光ディスク232、光磁気ディスク233、または、半導体メモリ234などよりなるパッケージメディアなどにより構成される。
As shown in FIG. 30, this recording medium is distributed to provide a program to the user separately from the computer, and the
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 Further, in the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
さらに、上述の実施の形態においては、圧縮されたストリームデータがHDD16に記憶されている場合について述べたが、本発明はこれに限らず、例えば、光ディスク、光磁気ディスク、半導体メモリ、磁気ディスク等の種々の記録媒体に記録されたストリームデータをデコードする場合にも適用することができる。
Furthermore, in the above-described embodiment, the case where the compressed stream data is stored in the
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。 In the present specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
1 再生装置, 11 CPU, 16 HDD, 18 メモリ, 20 CPU, 22 メモリ, 23 デコーダ, 51 操作入力取得部, 52 転送GOP決定部, 53 GOP転送タイミング制御部53 出力範囲情報設定部, 56 転送完了コマンド送出部, 72 メモリ間転送制御部, 73 デコードスケジュール処理部, 74 デコード制御部, 153 デコードコントローラ
1 playback device, 11 CPU, 16 HDD, 18 memory, 20 CPU, 22 memory, 23 decoder, 51 operation input acquisition unit, 52 transfer GOP determination unit, 53 GOP transfer
Claims (9)
前記第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の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように、前記デコード手段のデコードを制御するデコード制御手段と
を備える情報処理装置。 In the information processing apparatus that controls to output in a state where the first encoded stream and the second encoded stream are connected,
An operation input acquisition means for acquiring an operation input indicating a range to be reproduced of the first encoded stream and the second encoded stream;
Decoding means for decoding the encoded stream stored in the storage means for storing the encoded stream to generate image data;
The first encoded stream and the second encoded stream in the range corresponding to the operation input acquired by the operation input acquisition means, and the first encoded stream in the range corresponding to the operation input and an encoded stream necessary for decoding the second encoded stream, and controls so as to transfer to said storing means, said storing said first coded stream and the second encoded stream A picture unit of the image data whose output is instructed by command means for determining a transfer unit to be transferred to the means and instructing timing for outputting the image data decoded by the decoding means is a first GOP including the picture. When included in a B picture decoded with reference to a picture included in a second GOP different from A B picture decoded with reference to a picture included in the second GOP of one GOP, a reference picture necessary for decoding the B picture, and the second GOP, Transfer control means for determining a transfer unit to be transferred to the storage means ;
Predicting a command output timing of the image data instructed by said instruction means, ahead of the command output timing of the image data, and said first encoded stream and the second encoded stream Transfer timing control means for controlling transfer timing so as to transfer to the storage means;
Of the first encoded stream and the second encoded stream stored in the storage unit, the decoding unit is configured to preferentially decode a reference picture to be referred to when decoding a decoding target picture. An information processing apparatus comprising: a decoding control means for controlling decoding of.
前記転送タイミング制御手段は、前記格納手段への転送が制御された前記転送データのうち表示されるピクチャの数が所定ピクチャ数以下である場合、次の前記転送データを前記格納手段に転送するように制御する
請求項1に記載の情報処理装置。 The transfer control unit controls the first encoded stream and the second encoded stream to be transferred to the storage unit as transfer data of a predetermined transfer unit;
The transfer timing control means transfers the next transfer data to the storage means when the number of pictures to be displayed is less than or equal to a predetermined number of pictures among the transfer data controlled to be transferred to the storage means. The information processing apparatus according to claim 1.
前記転送制御手段は、前記指令手段により出力が指令された前記画像データのピクチャが、前記第1のGOPおよび前記第2のGOPがいずれも前記保持手段へ転送されていない場合に、前記第1のGOPのうちの、前記第2のGOPに含まれるピクチャを参照してデコードされる前記Bピクチャ、及び、該Bピクチャをデコードするために必要な参照ピクチャ、並びに、前記第2のGOPを、前記格納手段に転送する転送単位として決定する
請求項1に記載の情報処理装置。 The first encoded stream and the second encoded stream have a GOP structure including a B picture,
The transfer control means, when the picture of the image data whose output has been instructed by the instruction means has not been transferred to the holding means in the first GOP and the second GOP, Among the GOPs, the B picture decoded with reference to the picture included in the second GOP, the reference picture necessary for decoding the B picture, and the second GOP, Determine as a transfer unit to be transferred to the storage means
The information processing apparatus according to claim 1 .
を更に備える請求項1に記載の情報処理装置。 The system further comprises control information generating means for generating control information indicating a range for reproducing the first encoded stream and the second encoded stream in accordance with the operation input acquired by the operation input acquiring means. The information processing apparatus according to 1.
前記転送制御手段は、前記第1の符号化ストリーム及び前記第2の符号化ストリームを、GOP単位で転送するように制御する
請求項4に記載の情報処理装置。 The first encoded stream and the second encoded stream have a GOP structure,
The transfer control means controls to transfer the first encoded stream and the second encoded stream in GOP units.
The information processing apparatus according to claim 4 .
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the first encoded stream and the second encoded stream are streams encoded according to an MPEG standard.
前記第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の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように制御する
ステップを含む情報処理方法。 In the information processing method of the information processing apparatus that controls to output the first encoded stream and the second encoded stream in a connected state,
Obtaining an operation input indicating a playback range of the first encoded stream and the second encoded stream;
The first encoded stream and the second encoded stream in a range corresponding to the acquired operation input, and the first encoded stream and the second code in a range corresponding to the operation input the coded stream necessary for decoding the stream, and controls so as to transfer to the storage means for storing the coded stream, the first encoded stream and the second of said storage means the coded stream A picture unit of the image data for which the timing for outputting the image data obtained by decoding the encoded stream stored in the storage means is output is determined. When the first picture is included in a B picture decoded with reference to a picture contained in a second GOP different from the GOP, the first Of the GOP, the B picture decoded with reference to the picture included in the second GOP, the reference picture necessary for decoding the B picture, and the second GOP are stored. Determine the transfer unit to be transferred to the means ,
Predicting the output timing command of the image data to which the timing for outputting the decoded image data of the encoded stream stored in the storage means is predicted, and precedes the output timing command of the image data. A transfer timing is controlled so as to transfer the first encoded stream and the second encoded stream to the storage means;
A step of controlling to preferentially decode a reference picture to be referred to when decoding a picture to be decoded out of the first encoded stream and the second encoded stream stored in the storage means; Information processing method including.
前記第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の符号化ストリームのうち、デコード対象ピクチャをデコードする場合に参照する参照ピクチャを優先的にデコードするように制御する
ステップを含む処理をコンピュータに実行させるプログラム。 A program for causing a computer to execute a process of controlling to output a first encoded stream and a second encoded stream in a connected state,
Obtaining an operation input indicating a playback range of the first encoded stream and the second encoded stream;
The first encoded stream and the second encoded stream in a range corresponding to the acquired operation input, and the first encoded stream and the second code in a range corresponding to the operation input the coded stream necessary for decoding the stream, and controls so as to transfer to the storage means for storing the coded stream, the first encoded stream and the second of said storage means the coded stream A picture unit of the image data for which the timing for outputting the image data obtained by decoding the encoded stream stored in the storage means is output is determined. When the first picture is included in a B picture decoded with reference to a picture contained in a second GOP different from the GOP, the first Of the GOP, the B picture decoded with reference to the picture included in the second GOP, the reference picture necessary for decoding the B picture, and the second GOP are stored. Determine the transfer unit to be transferred to the means ,
Predicting the output timing command of the image data to which the timing for outputting the decoded image data of the encoded stream stored in the storage means is predicted, and precedes the output timing command of the image data. A transfer timing is controlled so as to transfer the first encoded stream and the second encoded stream to the storage means;
A step of controlling to preferentially decode a reference picture to be referred to when decoding a picture to be decoded out of the first encoded stream and the second encoded stream stored in the storage means; A program that causes a computer to execute the processing that includes it.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006163590A JP4207981B2 (en) | 2006-06-13 | 2006-06-13 | Information processing apparatus, information processing method, program, and recording medium |
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 (en) | 2006-06-13 | 2007-06-12 | Information processing apparatus and information processing method |
CN2007101103931A CN101090489B (en) | 2006-06-13 | 2007-06-13 | Information processing apparatus and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006163590A JP4207981B2 (en) | 2006-06-13 | 2006-06-13 | Information processing apparatus, information processing method, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007336067A JP2007336067A (en) | 2007-12-27 |
JP4207981B2 true JP4207981B2 (en) | 2009-01-14 |
Family
ID=38521227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006163590A Expired - Fee Related JP4207981B2 (en) | 2006-06-13 | 2006-06-13 | Information processing apparatus, information processing method, program, and recording medium |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070286244A1 (en) |
EP (1) | EP1868206A1 (en) |
JP (1) | JP4207981B2 (en) |
KR (1) | KR20070118971A (en) |
CN (1) | CN101090489B (en) |
TW (1) | TW200808036A (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5661313B2 (en) * | 2010-03-30 | 2015-01-28 | キヤノン株式会社 | Storage device |
JP5248709B2 (en) * | 2010-11-30 | 2013-07-31 | 株式会社東芝 | 3D image display apparatus and method |
KR101803970B1 (en) * | 2011-03-16 | 2017-12-28 | 삼성전자주식회사 | Method and apparatus for composing content |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0121301B1 (en) * | 1992-09-30 | 1997-11-17 | 사또오 후미오 | Editting signal decoding device |
DE69422960T2 (en) * | 1993-12-01 | 2000-06-15 | Matsushita Electric Ind Co Ltd | Method and device for editing or mixing compressed images |
DE19630295A1 (en) | 1996-07-26 | 1998-01-29 | Thomson Brandt Gmbh | Method for coding and decoding digitized pictures of an animated film and device for coding and decoding digitized pictures of an animated film |
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 (en) * | 1996-09-20 | 1998-04-14 | Sony Corp | Video signal switch device |
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 |
KR100555164B1 (en) * | 1997-07-25 | 2006-03-03 | 소니 가부시끼 가이샤 | Editing device, editing method, re-encoding device, re-encoding method, splicing device, and splicing method |
US6343153B1 (en) * | 1998-04-03 | 2002-01-29 | Matsushita Electric Industrial Co., Ltd. | Coding compression method and coding compression apparatus |
DE60032315T2 (en) * | 1999-10-25 | 2007-06-28 | Matsushita Electric Industrial Co., Ltd., Kadoma | Video decoding method, video decoding device, and program storage medium |
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 (en) | 2004-09-15 | 2011-07-20 | ソニー株式会社 | Image processing apparatus, image processing method, image processing program, and program storage medium |
JP4492487B2 (en) * | 2004-10-26 | 2010-06-30 | ソニー株式会社 | Data processing apparatus, data processing system, program, and recording medium |
JP4244974B2 (en) | 2004-10-26 | 2009-03-25 | ソニー株式会社 | Data processing system, playback device, data processing device, playback method, data processing method, program, and recording medium |
JP4375305B2 (en) | 2004-10-26 | 2009-12-02 | ソニー株式会社 | Information processing apparatus, information processing method, recording medium, and program |
JP4281720B2 (en) * | 2004-10-26 | 2009-06-17 | ソニー株式会社 | Data processing apparatus, data processing method, data processing system, program, and recording medium |
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 |
-
2006
- 2006-06-13 JP JP2006163590A patent/JP4207981B2/en not_active Expired - Fee Related
-
2007
- 2007-05-18 EP EP20070252066 patent/EP1868206A1/en not_active Withdrawn
- 2007-05-23 TW TW96118414A patent/TW200808036A/en unknown
- 2007-06-11 US US11/811,935 patent/US20070286244A1/en not_active Abandoned
- 2007-06-12 KR KR20070057268A patent/KR20070118971A/en not_active Application Discontinuation
- 2007-06-13 CN CN2007101103931A patent/CN101090489B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101090489B (en) | 2010-12-08 |
TW200808036A (en) | 2008-02-01 |
KR20070118971A (en) | 2007-12-18 |
US20070286244A1 (en) | 2007-12-13 |
JP2007336067A (en) | 2007-12-27 |
CN101090489A (en) | 2007-12-19 |
EP1868206A1 (en) | 2007-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4375305B2 (en) | Information processing apparatus, information processing method, recording medium, and program | |
JP4221676B2 (en) | Information processing apparatus, information processing method, recording medium, and program | |
US20080008455A1 (en) | Cpi data for steam buffer channels | |
JP2007300593A (en) | Information processing apparatus and information processing method, recording medium, and program | |
US20060233533A1 (en) | Information recording/reproducing system, information recording/reproducing apparatus and information recording/reproducing method | |
JP2007336066A (en) | Information processing apparatus, information processing method, recording medium and program | |
JP4207981B2 (en) | Information processing apparatus, information processing method, program, and recording medium | |
JP2006324848A (en) | Apparatus and method for information processing | |
JP4281720B2 (en) | Data processing apparatus, data processing method, data processing system, program, and recording medium | |
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 (en) | Video processing apparatus, video processing method, and computer program | |
JP4264582B2 (en) | Information processing apparatus, information processing method, program, and recording medium | |
CN101855904A (en) | Dynamic image reproduction device | |
JP5264526B2 (en) | Image transmitting apparatus, image transmitting method and program | |
JP5751406B2 (en) | Video server apparatus and material continuous reproduction method in video server | |
JP2014093733A (en) | Video distribution device, video reproduction device, video distribution program, and video reproduction program | |
JP4730593B2 (en) | Information processing apparatus, information processing method, recording medium, and program | |
JP2007336069A (en) | Information processor and processing method, program, and recording medium | |
JP2006121267A (en) | Continuous reproduction system | |
JP2006157871A (en) | Information processing apparatus and method, recording medium, and program | |
JP2008066846A (en) | Information processor and information processing method, recording medium, and program | |
JP2010171656A (en) | Image transmitting apparatus, image transmitting method, and program |
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 |