JP2007336069A - Information processor and processing method, program, and recording medium - Google Patents

Information processor and processing method, program, and recording medium Download PDF

Info

Publication number
JP2007336069A
JP2007336069A JP2006163592A JP2006163592A JP2007336069A JP 2007336069 A JP2007336069 A JP 2007336069A JP 2006163592 A JP2006163592 A JP 2006163592A JP 2006163592 A JP2006163592 A JP 2006163592A JP 2007336069 A JP2007336069 A JP 2007336069A
Authority
JP
Japan
Prior art keywords
frame
picture
decoding
gop
anchor
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.)
Withdrawn
Application number
JP2006163592A
Other languages
Japanese (ja)
Inventor
Kyohei Koyabu
恭平 小藪
Shojiro Shibata
正二郎 柴田
Shuji Tsunashima
修二 綱島
Keita Shirane
慶太 白根
Kazuyoshi Tanaka
一好 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006163592A priority Critical patent/JP2007336069A/en
Publication of JP2007336069A publication Critical patent/JP2007336069A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To detect a possessed anchor frame which can be deleted. <P>SOLUTION: Possessed anchor banks for 10 frames are provided and when a GOP(N-3) is supplied under such a state as the baseband image data of a possessed anchor frame corresponding to the GOP(N-1), GOP(N) and GOP(N+1), respectively, are stored in bank 1 to bank 9, bank 10 of empty bank is assured at the time of decoding an I2 picture and corresponding baseband image data is stored. The P5 picture and B10 picture of the GOP(N+1) are waiting a display command and since the P8 picture of the GOP(N-1) is not included in the decode schedule already, the baseband image data corresponding to the possessed anchor frame of the GOP(N+1) and GOP(N-1) is not deleted but the baseband image data corresponding to the possessed anchor frame of the GOP(N) is deleted. The invention is applicable to a reproducer. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関し、特に、複雑なフレームメモリの制御を行うことなく、圧縮符号化データを再生することができるようにした、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関する。   The present invention relates to an information processing device, an information processing method, a recording medium, and a program, and in particular, an information processing device capable of reproducing compressed and encoded data without controlling a complicated frame memory. The present invention relates to an information processing method, a recording medium, and a program.

映像圧縮技術として、MPEG(Moving Picture Coding Experts Group/Moving Picture Experts Group)が広く用いられている。   MPEG (Moving Picture Coding Experts Group / Moving Picture Experts Group) is widely used as a video compression technique.

MPEGで圧縮符号化されたストリームデータをデコードして再生する場合に、通常の再生以外に、高速再生を実行したり、逆方向に再生する技術がある。   When decoding and reproducing stream data compressed and encoded by MPEG, there is a technique for executing high-speed reproduction or reproducing in the reverse direction in addition to normal reproduction.

例えば、15ピクチャで1GOPを構成するMPEG LongGOPでは、デコーダへの入力においてBピクチャを間引くことで、−3乃至3倍(速度のマイナスは、逆方向の再生であることを示す、以下同様)で高速再生を行うことが可能である(例えば、特許文献1参照)。また、再生スピードごとに、表示したいピクチャ情報のテーブルを持つことで、用意したテーブル分のスピードの再生を行うことができる。   For example, in MPEG LongGOP which constitutes 1 GOP with 15 pictures, the B picture is thinned out at the input to the decoder, so that it is -3 to 3 times (minus the speed indicates reverse playback, and so on). High-speed reproduction can be performed (see, for example, Patent Document 1). Further, by having a table of picture information to be displayed for each reproduction speed, it is possible to perform reproduction at the speed of the prepared table.

特開平8−98142号公報JP-A-8-98142

また、例えば、5フレーム間隔で、間欠的に10フレーム分ずつ圧縮符号化信号を取得し、取得した圧縮符号化信号をすべて復調した後、2つの復号部に5フレーム分ずつ交互に供給して、それぞれ復号処理を実行させた後、復号後のデータをメモリに書き込んで、1フレームおきに読み出すことにより、2倍速の再生信号を得ることができるようにした技術がある(例えば、特許文献2参照)。   Also, for example, a compression-coded signal is acquired intermittently for 10 frames at intervals of 5 frames, and all the acquired compressed-coded signals are demodulated and then alternately supplied to the two decoding units for 5 frames. There is a technique in which, after each decoding process is executed, the decoded data is written in a memory and read out every other frame so that a double-speed reproduction signal can be obtained (for example, Patent Document 2). reference).

特開平8−56334号公報JP-A-8-56334

また、MPEGのストリームは、正方向に再生するのに都合よくできている。例えば、15ピクチャで1GOPを構成するMPEG LongGOPにおける1GOPのコーディングオーダのピクチャの並びは、I(2)B(0)B(1)、P(5)、B(3)、B(4)、P(8)、B(6)、B(7)、P(11)、B(9)、B(10)、P(14)、B(12)、B(13)(ただし、カッコ内の数字は、コーディングオーダをディスプレイオーダに並べ替えた場合の順番を示す)となっていて、Pピクチャの参照する画像は、一つ前のIピクチャまたはPピクチャであり、Bピクチャの参照する画像は、コーディングオーダで1つ前のIピクチャまたはPピクチャと、2つ前のIピクチャまたはPピクチャである。これにより、参照画像用のメモリを2面(2バンク)分予約することで、Pピクチャ、Bピクチャとも、デコードすることができ、メモリを効率よく使用することができるようになっている。   Also, MPEG streams are convenient for playback in the forward direction. For example, the sequence of pictures in the coding order of 1 GOP in MPEG Long GOP that constitutes 1 GOP with 15 pictures is I (2) B (0) B (1), P (5), B (3), B (4), P (8), B (6), B (7), P (11), B (9), B (10), P (14), B (12), B (13) (however, in parentheses The number indicates the order when the coding order is rearranged into the display order), and the picture referred to by the P picture is the previous I picture or P picture, and the picture referenced by the B picture is The previous I picture or P picture in the coding order and the second previous I picture or P picture. As a result, by reserving two reference picture memories (two banks), both the P picture and the B picture can be decoded, and the memory can be used efficiently.

このように、正方向に再生するのに都合よいMPEGのストリームを逆転再生するために、複数のデコーダを用いて復号処理を実行し、それぞれ、復号対象となるGOPの直前のGOPを付加してデコーダに供給するようにすることにより、逆方向再生であっても、再生されるピクチャの参照画像を正しく用いることができるようにした技術がある(たとえば、特許文献3)。   In this way, in order to reversely play back an MPEG stream that is convenient for playback in the forward direction, a decoding process is executed using a plurality of decoders, and a GOP immediately preceding the GOP to be decoded is added. There is a technique in which a reference image of a picture to be reproduced can be used correctly even in backward reproduction by supplying the data to a decoder (for example, Patent Document 3).

特開平10−150635号公報JP-A-10-150635

例えば、15ピクチャで1GOPを構成するMPEG LongGOPでは、デコーダへの入力においてBピクチャを間引くことで、−3乃至3倍(速度のマイナスは、逆方向の再生であることを示す、以下同様)で高速再生を行うことが可能であるが、ピクチャの表示間隔が不規則となってしまうため、不自然な表示になる。   For example, in MPEG LongGOP which constitutes 1 GOP with 15 pictures, the B picture is thinned out at the input to the decoder, so that it is -3 to 3 times (minus the speed indicates reverse playback, and so on). High-speed playback is possible, but the display interval of pictures becomes irregular, resulting in an unnatural display.

また、複数のデコーダチップを用いてデコードを実行するようになされている場合では、表示対象でないBピクチャを入力段で間引く処理と組み合わせることにより、等間隔の間引きで、更に高速の再生(例えば、2チップで2倍、3チップで4倍、4チップで5倍、5チップで7倍)を実現することができるが、出力処理において、IピクチャまたはPピクチャを間引く処理を行う必要があり、ベースバンドメモリの制御や、デコード済みのデータの中から表示するデータを選択する処理が複雑となってしまう。このため、従来の技術を用いて、動的にスピードを変更させて再生表示させるのは、困難であった。   In addition, when decoding is performed using a plurality of decoder chips, by combining with a process of thinning out B pictures that are not to be displayed at the input stage, even higher-speed playback (for example, 2 times with 2 chips, 4 times with 3 chips, 5 times with 4 chips, 7 times with 5 chips), but in the output processing, it is necessary to thin out I pictures or P pictures, Control of the baseband memory and processing for selecting data to be displayed from decoded data become complicated. For this reason, it has been difficult to reproduce and display by dynamically changing the speed using the conventional technique.

また、上述したように、再生スピードごとに、表示したいピクチャ情報のテーブルを持つことで、用意したテーブル分のスピードの再生を行うことができる。しかしながら、このような処理では、スピードの切り変わり目はテーブルの単位となり、更に、切り替え時の表示を滞りなく行うためには複雑な制御が必要となる。   Further, as described above, by having a table of picture information to be displayed for each reproduction speed, it is possible to reproduce at a speed corresponding to the prepared table. However, in such processing, the change of speed becomes a table unit, and moreover, complicated control is required to perform display at the time of switching without delay.

そして、MPEGのストリームは、上述したように、正方向に再生するのに都合よくできている。しかしながら、逆方向の再生をストリームの入力順に行う場合、1GOP分のデコードが終了した後に逆方向に再生を行うようにすると、少なくとも1GOP分(例えば、15フレーム)のデータを記録することができるフレームメモリを備え、参照画像データ用のバンクを多数予約しなければならないため、多くのメモリ容量が必要となってしまう。   As described above, the MPEG stream can be conveniently reproduced in the forward direction. However, when playback in the reverse direction is performed in the input order of the streams, if playback is performed in the reverse direction after decoding for 1 GOP is completed, a frame that can record data of at least 1 GOP (for example, 15 frames) can be recorded. Since a memory is provided and a large number of banks for reference image data must be reserved, a large memory capacity is required.

本発明はこのような状況に鑑みてなされたものであり、圧縮符号化データの高速再生、逆転再生、高速逆転再生を行うことができるようにするものである。   The present invention has been made in view of such a situation, and makes it possible to perform high-speed reproduction, reverse reproduction, and high-speed reverse reproduction of compression-encoded data.

本発明の第1の側面の情報処理装置は、符号化ストリームをデコードする情報処理装置であって、デコードされて生成されたデータを複数フレーム分保持する保持手段を備え、前記保持手段を利用して、前記符号化ストリームをデコードするデコード手段と、前記デコード手段へ前記符号化ストリームを供給する供給手段と、前記供給手段および前記デコード手段が実行する処理を制御する制御手段とを備え、前記供給手段は、前記デコード手段により所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレームを前記デコード手段へ供給し、前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段に新たなデータの記憶領域がなく、前記保持手段により保持されている前記参照フレームに対応するデータに、デコード手段によりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレーム、もしくは、デコード手段によりデコードされることが決定している第3のフレームまたは前記第3のフレームをデコードするために必要となる第4のフレームのうちのいずれとも異なる第5のフレームに対応するデータが存在する場合、前記第5のフレームに対応するデータを削除する。   An information processing apparatus according to a first aspect of the present invention is an information processing apparatus that decodes an encoded stream, and includes a holding unit that holds data generated by decoding for a plurality of frames, and uses the holding unit. A decoding unit that decodes the encoded stream, a supply unit that supplies the encoded stream to the decoding unit, and a control unit that controls processing performed by the supply unit and the decoding unit. The means supplies a reference frame to be referred to for decoding the predetermined frame of the encoded stream before the timing at which the predetermined frame is decoded by the decoding means to the decoding means, When the decoding unit decodes any reference frame, the decoding unit stores new data in the holding unit. Necessary for decoding the first frame or the first frame that has no storage area and is decoded by the decoding means but not output into the data corresponding to the reference frame held by the holding means Different from either the second frame to be decoded, the third frame determined to be decoded by the decoding means, or the fourth frame necessary for decoding the third frame. If there is data corresponding to the fifth frame, the data corresponding to the fifth frame is deleted.

前記符号化ストリームはGOP構造を有しており、前記保持手段には、1GOP中の前記参照フレームのうち、連続しない所定のフレームに対応するデータを保持させるようにすることができる。   The encoded stream has a GOP structure, and the holding means can hold data corresponding to a predetermined frame that is not continuous among the reference frames in one GOP.

前記保持手段には、前記参照フレームがデコードされて生成されたデータを保持するためのXフレーム分の記憶領域と、前記所定のフレーム以外のPピクチャまたはBピクチャをデコードして出力する場合に用いられる2フレーム分の記憶領域とを含ませるようにすることができる。   The holding means is used when a storage area for X frames for holding data generated by decoding the reference frame and a P picture or B picture other than the predetermined frame are decoded and output. The storage area for two frames can be included.

前記Xフレーム分の記憶領域は、前記所定のフレームをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するための1フレーム分の第1の記憶領域と、前記Bピクチャをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するための1フレーム分の第2の記憶領域と、前記所定のフレームがデコードされて生成されたデータを保持するためのX−2フレーム分の第3の記憶領域とにより構成されているものとすることができる。   The storage area for the X frames is a first frame for one frame for holding data generated by decoding the P picture other than the predetermined frame, which is used for decoding the predetermined frame. A storage area; a second storage area for one frame for holding data generated by decoding the P picture other than the predetermined frame, used to decode the B picture; And a third storage area for X-2 frames for holding data generated by decoding the first frame.

前記デコード手段には、いずれかの参照フレームをデコードするとき、前記保持手段のうち、前記第3の記憶領域に新たなデータの記憶領域がなく、前記第3の記憶領域により保持されているデータに、前記第5のフレームが存在する場合、前記第3の記憶領域から前記第5のフレームを削除させるようにすることができる。   When the decoding means decodes any of the reference frames, there is no new data storage area in the third storage area of the holding means, and the data held in the third storage area In addition, when the fifth frame exists, the fifth frame can be deleted from the third storage area.

前記Xフレーム分の記憶領域は、前記所定のフレームに含まれる前記Iピクチャをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するための1フレーム分の第1の記憶領域と、前記所定のフレーム以外の前記Pピクチャまたは前記Bピクチャをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するための2フレーム分の第2の記憶領域と、前記所定のフレーム、および、前記所定のフレームに含まれるPピクチャをデコードするために用いられる前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するためのX−3フレーム分の第3の記憶領域とにより構成されているものとすることができる。   The storage area for the X frames is used for decoding the I picture included in the predetermined frame, and is for holding data generated by decoding the P picture other than the predetermined frame A first storage area for a frame and data generated by decoding the P picture other than the predetermined frame, which is used to decode the P picture or the B picture other than the predetermined frame A second storage area for two frames, the predetermined frame, and the P picture other than the predetermined frame used for decoding the P picture included in the predetermined frame are decoded. And a third storage area for X-3 frames for holding the generated data It can be as.

前記デコード手段には、いずれかの参照フレームをデコードするとき、前記保持手段のうち、前記第3の記憶領域に新たなデータの記憶領域がなく、前記第3の記憶領域により保持されているデータに、前記第5のフレームが存在する場合、前記第3の記憶領域から前記第5のフレームを削除させるようにすることができる。   When the decoding means decodes any of the reference frames, there is no new data storage area in the third storage area of the holding means, and the data held in the third storage area In addition, when the fifth frame exists, the fifth frame can be deleted from the third storage area.

本発明の第1の側面の情報処理方法またはプログラムは、所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレームをデコーダに供給し、前記参照フレームのデコード処理をスケジュールし、デコードされて生成されたデータを複数フレーム分保持する保持部に、新たなデータの記憶領域があるかを判断し、前記保持部に新たなデータの記憶領域がなく、前記保持部により保持されている前記参照フレームに対応するデータに、デコーダによりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレーム、もしくは、デコーダによりデコードされることが決定している第3のフレームまたは前記第3のフレームをデコードするために必要となる第4のフレームのうちのいずれとも異なる第5のフレームに対応するデータが存在する場合、前記第5のフレームに対応するデータを削除し、前記保持部に新たなデータの記憶領域があるか、または、前記保持部から前記第5のデータが削除された場合、スケジュールに基づいて、前記所定のフレームをデコードするための参照フレームをデコードし、前記所定のフレームに対応するデータの出力が要求された場合、デコードされて生成された前記参照フレームに対応するデータを用いて、前記所定のフレームをデコードするステップを含む。   The information processing method or program according to the first aspect of the present invention provides a reference frame that is referred to in order to decode the predetermined frame of the encoded stream prior to a timing at which the predetermined frame is decoded. To the decoder, schedule the decoding process of the reference frame, determine whether there is a storage area for new data in the holding unit that holds a plurality of frames of decoded and generated data, The first frame that is decoded by the decoder but not output is decoded into the data corresponding to the reference frame held by the holding unit, which has no new data storage area, or the first frame is decoded. The second frame that is needed for the first or second to be decoded by the decoder If there is data corresponding to a fifth frame different from any of the third frame or the fourth frame necessary for decoding the third frame, the data corresponding to the fifth frame is A reference frame for decoding and decoding the predetermined frame based on a schedule when there is a storage area for new data in the holding unit or when the fifth data is deleted from the holding unit When the output of the data corresponding to the predetermined frame is requested, the predetermined frame is decoded using the data corresponding to the reference frame generated by decoding.

本発明の第1の側面においては、所定のフレームがデコードされるタイミングよりも先行して、符号化ストリームのうちの所定のフレームをデコードするために参照される参照フレームがデコーダに供給され、参照フレームのデコード処理がスケジュールされ、デコードされて生成されたデータを複数フレーム分保持する保持部に、新たなデータの記憶領域があるかが判断され、保持部に新たなデータの記憶領域がなく、保持部により保持されている参照フレームに対応するデータに、デコーダによりデコードされているが出力されていない第1のフレームまたは第1のフレームをデコードするために必要となる第2のフレーム、もしくは、デコーダによりデコードされることが決定している第3のフレームまたは第3のフレームをデコードするために必要となる第4のフレームのうちのいずれとも異なる第5のフレームに対応するデータが存在する場合、第5のフレームに対応するデータが削除されて、参照フレームがデコードされ、これを用いて、所定のフレームがデコードされる。   In the first aspect of the present invention, a reference frame referred to for decoding a predetermined frame in the encoded stream is supplied to the decoder prior to a timing at which the predetermined frame is decoded. It is determined whether or not there is a new data storage area in the holding unit that holds a plurality of frames of data that is scheduled to be decoded and is decoded, and there is no new data storage area in the holding unit. A first frame that is decoded by the decoder but not output, or a second frame that is necessary for decoding the first frame, or data corresponding to the reference frame held by the holding unit; or Decode the third frame or the third frame that is determined to be decoded by the decoder If there is data corresponding to a fifth frame that is different from any of the fourth frames required for the purpose, the data corresponding to the fifth frame is deleted, and the reference frame is decoded. Used to decode a predetermined frame.

本発明の第2の側面の情報処理装置は、符号化ストリームをデコードする情報処理装置であって、デコードされて生成されたデータを複数フレーム分保持する保持手段を備え、前記保持手段を利用して、前記符号化ストリームをデコードするデコード手段と、前記デコード手段へ前記符号化ストリームを供給する供給手段と、前記供給手段および前記デコード手段が実行する処理を制御する制御手段とを備え、前記供給手段は、前記デコード手段により所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレームを前記デコード手段へ供給し、前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段に新たな前記参照フレームに対応するデータの記憶領域がなく、前記保持手段により保持されているデータに、デコード手段によりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレームのうちのいずれとも異なる第3のフレームに対応するデータが存在する場合、前記第3のフレームに対応するデータを削除する。   An information processing apparatus according to a second aspect of the present invention is an information processing apparatus that decodes an encoded stream, and includes a holding unit that holds data generated by decoding for a plurality of frames, and uses the holding unit. A decoding unit that decodes the encoded stream, a supply unit that supplies the encoded stream to the decoding unit, and a control unit that controls processing performed by the supply unit and the decoding unit. The means supplies a reference frame to be referred to for decoding the predetermined frame of the encoded stream before the timing at which the predetermined frame is decoded by the decoding means to the decoding means, When the decoding unit decodes any reference frame, the decoding unit adds a new reference to the holding unit. Necessary in order to decode the first frame or the first frame which has no data storage area corresponding to the frame, is decoded by the decoding means but is not output to the data held by the holding means If there is data corresponding to a third frame different from any of the second frames, the data corresponding to the third frame is deleted.

本発明の第2の側面においては、所定のフレームがデコードされるタイミングよりも先行して、符号化ストリームのうちの所定のフレームをデコードするために参照される参照フレームがデコーダに供給され、参照フレームのデコード処理がスケジュールされ、デコードされて生成されたデータを複数フレーム分保持する保持部に、新たなデータの記憶領域があるかが判断され、保持部に新たなデータの記憶領域がなく、保持部により保持されている参照フレームに対応するデータに、デコーダによりデコードされているが出力されていない第1のフレームまたは第1のフレームをデコードするために必要となる第2のフレームのうちのいずれとも異なる第3のフレームに対応するデータが存在する場合、第3のフレームに対応するデータが削除されて、参照フレームがデコードされ、これを用いて、所定のフレームがデコードされる。   In the second aspect of the present invention, a reference frame referred to for decoding a predetermined frame in the encoded stream is supplied to the decoder prior to a timing at which the predetermined frame is decoded. It is determined whether or not there is a new data storage area in the holding unit that holds a plurality of frames of data that is scheduled to be decoded and is decoded, and there is no new data storage area in the holding unit. Of data corresponding to the reference frame held by the holding unit, the first frame decoded by the decoder but not output, or the second frame necessary for decoding the first frame If there is data corresponding to a third frame that is different from any of the data, the data corresponding to the third frame is Is divided, the reference frame is decoded, by using the predetermined frame is decoded.

本発明の第3の側面の情報処理装置は、符号化ストリームをデコードする情報処理装置であって、デコードされて生成されたデータを複数フレーム分保持する保持手段を備え、前記保持手段を利用して、前記符号化ストリームをデコードするデコード手段と、前記デコード手段へ前記符号化ストリームを供給する供給手段と、前記供給手段および前記デコード手段が実行する処理を制御する制御手段とを備え、前記供給手段は、前記デコード手段により所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレームを前記デコード手段へ供給し、前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段に新たな前記参照フレームに対応するデータの記憶領域がなく、前記保持手段により保持されているデータに、デコード手段によりデコードされることが決定している第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレームのうちのいずれとも異なる第3のフレームに対応するデータが存在する場合、前記第3のフレームに対応するデータを削除する。   An information processing apparatus according to a third aspect of the present invention is an information processing apparatus that decodes an encoded stream, and includes a holding unit that holds data generated by decoding for a plurality of frames, and uses the holding unit. A decoding unit that decodes the encoded stream, a supply unit that supplies the encoded stream to the decoding unit, and a control unit that controls processing performed by the supply unit and the decoding unit. The means supplies a reference frame to be referred to for decoding the predetermined frame of the encoded stream before the timing at which the predetermined frame is decoded by the decoding means to the decoding means, When the decoding unit decodes any reference frame, the decoding unit adds a new reference to the holding unit. Necessary for decoding the first frame or the first frame determined to be decoded by the decoding means into the data held by the holding means without the data storage area corresponding to the frame If there is data corresponding to a third frame different from any of the second frames, the data corresponding to the third frame is deleted.

本発明の第3の側面においては、所定のフレームがデコードされるタイミングよりも先行して、符号化ストリームのうちの所定のフレームをデコードするために参照される参照フレームがデコーダに供給され、参照フレームのデコード処理がスケジュールされ、デコードされて生成されたデータを複数フレーム分保持する保持部に、新たなデータの記憶領域があるかが判断され、保持部に新たなデータの記憶領域がなく、保持部により保持されている参照フレームに対応するデータに、デコーダによりデコードされされることが決定している第1のフレームまたは第1のフレームをデコードするために必要となる第2のフレームのうちのいずれとも異なる第3のフレームに対応するデータが存在する場合、第3のフレームに対応するデータが削除されて、参照フレームがデコードされ、これを用いて、所定のフレームがデコードされる。   In the third aspect of the present invention, a reference frame referred to for decoding a predetermined frame in the encoded stream is supplied to the decoder prior to a timing at which the predetermined frame is decoded. It is determined whether or not there is a new data storage area in the holding unit that holds a plurality of frames of data that is scheduled to be decoded and is decoded, and there is no new data storage area in the holding unit. Of the first frame determined to be decoded by the decoder or the second frame necessary for decoding the first frame, into the data corresponding to the reference frame held by the holding unit If there is data corresponding to a third frame different from any of the above, the data corresponding to the third frame is Is divided, the reference frame is decoded, by using the predetermined frame is 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 a block that performs playback processing of the recording / playback device.

以上のように、本発明によれば、符号化ストリームをデコードすることができ、特に、所定のフレームがデコードされるタイミングよりも先行して、参照フレームがデコードされ、更に、フレームメモリにおいて削除可能なデータがある場合にのみ、新たな参照フレームのデコードを実行するようにしたので、フレームメモリの容量を削減しつつ、表示または出力のエラーの発生を抑制することができる。   As described above, according to the present invention, an encoded stream can be decoded. In particular, a reference frame can be decoded prior to the timing at which a predetermined frame is decoded, and can be further deleted in the frame memory. Since a new reference frame is decoded only when there is correct data, display or output errors can be suppressed while reducing the capacity of the frame memory.

以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。   Embodiments of the present invention will be described below. Correspondences between constituent elements of the present invention and the embodiments described in the specification or the drawings are exemplified as follows. This description is intended to confirm that the embodiments supporting the present invention are described in the specification or the drawings. Therefore, even if there is an embodiment which is described in the specification or the drawings but is not described here as an embodiment corresponding to the constituent elements of the present invention, that is not the case. It does not mean that the form does not correspond to the constituent requirements. Conversely, even if an embodiment is described here as corresponding to a configuration requirement, that means that the embodiment does not correspond to a configuration requirement other than the configuration requirement. It's not something to do.

本発明の第1の側面の情報処理装置は、符号化ストリームをデコードする情報処理装置(例えば、図44の再生装置101)であって、デコードされて生成されたデータを複数フレーム分保持する保持手段(例えば、図45のフレームメモリ131−3)を備え、前記保持手段を利用して、前記符号化ストリームをデコードするデコード手段(例えば、図44のデコーダ122)と、前記デコード手段へ前記符号化ストリームを供給する供給手段(例えば、図44のPCIブリッジ17)と、前記供給手段および前記デコード手段が実行する処理を制御する制御手段(例えば、図44のCPU121)とを備え、前記供給手段は、前記デコード手段により所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレーム(例えば、アンカーフレーム)を前記デコード手段へ供給し、前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段に新たなデータの記憶領域がなく、前記保持手段により保持されている前記参照フレームに対応するデータに、デコード手段によりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレーム、もしくは、デコード手段によりデコードされることが決定している第3のフレームまたは前記第3のフレームをデコードするために必要となる第4のフレームのうちのいずれとも異なる第5のフレームに対応するデータが存在する場合、前記第5のフレームに対応するデータを削除する。   The information processing apparatus according to the first aspect of the present invention is an information processing apparatus (for example, the playback apparatus 101 in FIG. 44) that decodes an encoded stream, and holds data generated by decoding for a plurality of frames. Means (for example, the frame memory 131-3 in FIG. 45) and using the holding means, decode means (for example, the decoder 122 in FIG. 44) for decoding the encoded stream, and the code to the decoding means Supply means (for example, PCI bridge 17 in FIG. 44) and control means (for example, CPU 121 in FIG. 44) for controlling processing executed by the supply means and the decoding means. Is preceded by the timing at which a predetermined frame is decoded by the decoding means. A reference frame (for example, an anchor frame) referred to for decoding the predetermined frame is supplied to the decoding means, and the decoding means adds a new frame to the holding means when decoding any reference frame. In order to decode the first frame or the first frame which is not output but has not been output to the data corresponding to the reference frame held by the holding unit without the data storage area Either the second frame required for decoding, the third frame determined to be decoded by the decoding means, or the fourth frame required for decoding the third frame. If data corresponding to a different fifth frame exists, the fifth frame To delete the data.

前記符号化ストリームはGOP構造を有しており、前記保持手段は、1GOP中の前記参照フレーム(例えば、IピクチャまたはPピクチャ)のうち、連続しない所定のフレーム(例えば、保有アンカーフレーム)に対応するデータを保持することができる。   The encoded stream has a GOP structure, and the holding unit corresponds to a predetermined nonconsecutive frame (for example, retained anchor frame) among the reference frames (for example, I picture or P picture) in one GOP. Data can be retained.

前記保持手段は、前記参照フレーム(例えば、アンカーフレーム)がデコードされて生成されたデータを保持するためのXフレーム分の記憶領域(例えば、図51または図76の参照バンク)と、前記所定のフレーム以外のPピクチャ(例えば、非保有アンカーフレーム)またはBピクチャをデコードして出力する場合に用いられる2フレーム分の記憶領域(例えば、図51または図76のB・非保有アンカー表示バンク)とを含むことができる。   The holding unit stores a storage area (for example, a reference bank in FIG. 51 or FIG. 76) for X frames for holding data generated by decoding the reference frame (for example, an anchor frame), the predetermined frame Storage area (for example, B / non-owned anchor display bank of FIG. 51 or FIG. 76) used for decoding and outputting a P picture other than a frame (for example, non-owned anchor frame) or a B picture Can be included.

前記Xフレーム分の記憶領域は、前記所定のフレームをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャ(例えば、非保有アンカーフレーム)がデコードされて生成されたデータを保持するための1フレーム分の第1の記憶領域(例えば、図51の非保有アンカーバンク)と、前記Bピクチャをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャ(例えば、非保有アンカーフレーム)がデコードされて生成されたデータを保持するための1フレーム分の第2の記憶領域(例えば、図51のBピクチャ表示用非保有アンカーバンク)と、前記所定のフレーム(例えば、保有アンカーフレーム)がデコードされて生成されたデータを保持するためのX−2フレーム分の第3の記憶領域(例えば、図51の保有アンカーバンク)とにより構成されているものとすることができる。   The storage area for X frames is used to decode the predetermined frame, and holds data generated by decoding the P picture (for example, non-owned anchor frame) other than the predetermined frame. 1 frame of first storage area (for example, non-owned anchor bank in FIG. 51) and the P picture (for example, non-owned anchor frame) other than the predetermined frame used for decoding the B picture ) Is decoded to generate a second storage area for one frame (for example, a non-owned anchor bank for B picture display in FIG. 51) and the predetermined frame (for example, a retained anchor frame). ) Is stored in the third storage area (for example, X-2 frames) for holding the data generated by decoding It can be assumed to be constituted by 51 stored anchor bank) and the.

前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段のうち、前記第3の記憶領域(例えば、図51の保有アンカーバンク)に新たなデータの記憶領域がなく、前記第3の記憶領域により保持されているデータに、前記第5のフレームが存在する場合、前記第3の記憶領域から前記第5のフレームを削除することができる。   When the decoding means decodes any of the reference frames, the third storage area (for example, the retained anchor bank in FIG. 51) of the holding means has no new data storage area, and the third storage area When the fifth frame exists in the data held in the storage area, the fifth frame can be deleted from the third storage area.

前記Xフレーム分の記憶領域は、前記所定のフレームに含まれる前記Iピクチャをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャ(例えば、非保有アンカーフレーム)がデコードされて生成されたデータを保持するための1フレーム分の第1の記憶領域(例えば、図76の非保有アンカーバンク)と、前記所定のフレーム以外の前記Pピクチャまたは前記Bピクチャをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャ(例えば、非保有アンカーフレーム)がデコードされて生成されたデータを保持するための2フレーム分の第2の記憶領域(例えば、図76の表示用非保有アンカーバンク)と、前記所定のフレーム(例えば、保有アンカーフレーム)、および、前記所定のフレームに含まれるPピクチャをデコードするために用いられる前記所定のフレーム以外の前記Pピクチャ(例えば、非保有アンカーフレーム)がデコードされて生成されたデータを保持するためのX−3フレーム分の第3の記憶領域(例えば、図76の保有・非保有アンカー兼用バンク)とにより構成されているものとすることができる。   The storage area for X frames is generated by decoding the P picture (for example, non-owned anchor frame) other than the predetermined frame, which is used to decode the I picture included in the predetermined frame. Used to decode the first storage area (for example, non-owner anchor bank in FIG. 76) for holding the data and the P picture or the B picture other than the predetermined frame, A second storage area for two frames (for example, the non-held anchor for display in FIG. 76) for holding data generated by decoding the P picture other than the predetermined frame (for example, the non-owned anchor frame) Bank), the predetermined frame (for example, owned anchor frame), and the predetermined frame. Third storage for X-3 frames for holding data generated by decoding the P picture (for example, non-owner anchor frame) other than the predetermined frame used to decode the P picture It can be constituted by a region (for example, a holding / non-owning anchor combined bank in FIG. 76).

前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段のうち、前記第3の記憶領域(例えば、図51の保有アンカーバンク)に新たなデータの記憶領域がなく、前記第3の記憶領域により保持されているデータに、前記第5のフレームが存在する場合、前記第3の記憶領域から前記第5のフレームを削除することができる。   When the decoding means decodes any of the reference frames, the third storage area (for example, the retained anchor bank in FIG. 51) of the holding means has no new data storage area, and the third storage area When the fifth frame exists in the data held in the storage area, the fifth frame can be deleted from the third storage area.

本発明の一側面の情報処理方法またはプログラムは、所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレーム(例えば、アンカーフレーム)をデコーダ(例えば、図44のデコーダ122)に供給し(例えば、図89のステップS901の処理)、前記参照フレームのデコード処理をスケジュールし(例えば、図90のステップS932の処理)、デコードされて生成されたデータを複数フレーム分保持する保持部(例えば、図45のフレームメモリ131−3)に、新たなデータの記憶領域があるかを判断し(例えば、図91のステップS951)、前記保持部に新たなデータの記憶領域がなく、前記保持部により保持されている前記参照フレームに対応するデータに、デコーダによりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレーム、もしくは、デコーダによりデコードされることが決定している第3のフレームまたは前記第3のフレームをデコードするために必要となる第4のフレームのうちのいずれとも異なる第5のフレームに対応するデータが存在する場合、前記第5のフレームに対応するデータを削除し(例えば、図91のステップS959の処理)、前記保持部に新たなデータの記憶領域があるか、または、前記保持部から前記第5のデータが削除された場合、スケジュールに基づいて、前記所定のフレームをデコードするための参照フレームをデコードし(例えば、図91のステップS961の処理)、前記所定のフレームに対応するデータの出力が要求された場合、デコードされて生成された前記参照フレームに対応するデータを用いて、前記所定のフレームをデコードする(例えば、図89のステップS908の処理)ステップを含む。   An information processing method or program according to an aspect of the present invention provides a reference frame (for example, a reference frame referred to for decoding the predetermined frame of the encoded stream prior to a timing at which the predetermined frame is decoded). , Anchor frame) is supplied to a decoder (for example, the decoder 122 in FIG. 44) (for example, the process in step S901 in FIG. 89), and the decoding process for the reference frame is scheduled (for example, in the process in step S932 in FIG. 90). Then, it is determined whether there is a storage area for new data in the holding unit (for example, the frame memory 131-3 in FIG. 45) that holds the data generated by decoding for a plurality of frames (for example, step S951 in FIG. ), There is no storage area for new data in the holding unit, and the holding unit holds the data The data corresponding to the reference frame is decoded by the first frame that is decoded by the decoder but not output, or the second frame that is necessary for decoding the first frame, or by the decoder If there is data corresponding to a fifth frame that is different from any of the third frame determined by or the fourth frame required to decode the third frame, the fifth frame When data corresponding to a frame is deleted (for example, the process of step S959 in FIG. 91), and there is a storage area for new data in the holding unit, or the fifth data is deleted from the holding unit Then, based on the schedule, a reference frame for decoding the predetermined frame is decoded (for example, the frame of FIG. When the output of data corresponding to the predetermined frame is requested, the predetermined frame is decoded using the data corresponding to the reference frame generated by decoding (for example, processing in step S961). Step S908 of FIG. 89).

本発明の第2の側面の情報処理装置は、符号化ストリームをデコードする情報処理装置(例えば、図44の再生装置101)であって、デコードされて生成されたデータを複数フレーム分保持する保持手段(例えば、図45のフレームメモリ131−3)を備え、前記保持手段を利用して、前記符号化ストリームをデコードするデコード手段(例えば、図44のデコーダ122)と、前記デコード手段へ前記符号化ストリームを供給する供給手段(例えば、図44のPCIブリッジ17)と、前記供給手段および前記デコード手段が実行する処理を制御する制御手段(例えば、図44のCPU121)とを備え、前記供給手段は、前記デコード手段により所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレーム(例えば、アンカーフレーム)を前記デコード手段へ供給し、前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段に新たな前記参照フレームに対応するデータの記憶領域がなく、前記保持手段により保持されているデータに、デコード手段によりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレームのうちのいずれとも異なる第3のフレームに対応するデータが存在する場合、前記第3のフレームに対応するデータを削除する。   The information processing apparatus according to the second aspect of the present invention is an information processing apparatus (for example, the playback apparatus 101 in FIG. 44) that decodes an encoded stream, and holds data generated by decoding for a plurality of frames. Means (for example, the frame memory 131-3 in FIG. 45) and using the holding means, decode means (for example, the decoder 122 in FIG. 44) for decoding the encoded stream, and the code to the decoding means Supply means (for example, PCI bridge 17 in FIG. 44) and control means (for example, CPU 121 in FIG. 44) for controlling processing executed by the supply means and the decoding means. Is preceded by a timing at which a predetermined frame is decoded by the decoding means, A reference frame (for example, an anchor frame) referred to for decoding the predetermined frame is supplied to the decoding means, and the decoding means adds a new frame to the holding means when decoding any reference frame. In order to decode the first frame or the first frame which has no data storage area corresponding to the reference frame and is decoded by the decoding unit but not output into the data held by the holding unit If there is data corresponding to a third frame that is different from any of the second frames required for the first frame, the data corresponding to the third frame is deleted.

本発明の第3の側面の情報処理装置は、符号化ストリームをデコードする情報処理装置(例えば、図44の再生装置101)であって、デコードされて生成されたデータを複数フレーム分保持する保持手段(例えば、図45のフレームメモリ131−3)を備え、前記保持手段を利用して、前記符号化ストリームをデコードするデコード手段(例えば、図44のデコーダ122)と、前記デコード手段へ前記符号化ストリームを供給する供給手段(例えば、図44のPCIブリッジ17)と、前記供給手段および前記デコード手段が実行する処理を制御する制御手段(例えば、図44のCPU121)とを備え、前記供給手段は、前記デコード手段により所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレーム(例えば、アンカーフレーム)を前記デコード手段へ供給し、前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段に新たな前記参照フレームに対応するデータの記憶領域がなく、前記保持手段により保持されているデータに、デコード手段によりデコードされることが決定している第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレームのうちのいずれとも異なる第3のフレームに対応するデータが存在する場合、前記第3のフレームに対応するデータを削除する。   The information processing apparatus according to the third aspect of the present invention is an information processing apparatus (for example, the playback apparatus 101 in FIG. 44) that decodes an encoded stream, and holds data generated by decoding for a plurality of frames. Means (for example, the frame memory 131-3 in FIG. 45) and using the holding means, decode means (for example, the decoder 122 in FIG. 44) for decoding the encoded stream, and the code to the decoding means Supply means (for example, PCI bridge 17 in FIG. 44) and control means (for example, CPU 121 in FIG. 44) for controlling processing executed by the supply means and the decoding means. Is preceded by a timing at which a predetermined frame is decoded by the decoding means, A reference frame (for example, an anchor frame) referred to for decoding the predetermined frame is supplied to the decoding means, and the decoding means adds a new frame to the holding means when decoding any reference frame. In order to decode the first frame or the first frame which has no data storage area corresponding to the reference frame and is determined to be decoded by the decoding means into the data held by the holding means If there is data corresponding to a third frame that is different from any of the second frames required for the first frame, the data corresponding to the third frame is deleted.

以下、図を参照して、本発明の実施の形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1乃至図43を用いて、第1の実施の形態について説明する。   The first embodiment will be described with reference to FIGS.

図1は、再生装置1のハードウェア構成を示すブロック図である。   FIG. 1 is a block diagram showing a hardware configuration of the playback apparatus 1.

CPU(Central Processing Unit)11は、ノースブリッジ12に接続され、例えば、HDD(Hard disk Drive)16に記憶されているデータの読み出しなどの処理を制御したり、CPU20が実行するデコードのスケジューリング、デコードおよび表示出力の制御などの処理の開始、変更、または終了を指令するためのコマンドを生成し、出力する。ノースブリッジ12は、PCIバス(Peripheral Component Interconnect/Interface)14に接続され、例えば、CPU11の制御に基づいて、サウスブリッジ15を介して、HDD16に記憶されているデータの供給を受けて、PCIバス14、PCIブリッジ17を介して、メモリ18に供給する。また、ノースブリッジ12は、メモリ13とも接続されており、CPU11の処理に必要なデータを授受する。   A CPU (Central Processing Unit) 11 is connected to the north bridge 12 and controls processing such as reading of data stored in an HDD (Hard disk Drive) 16, scheduling of decoding executed by the CPU 20, decoding In addition, a command for instructing start, change, or end of processing such as display output control is generated and output. The north bridge 12 is connected to a PCI bus (Peripheral Component Interconnect / Interface) 14. For example, under the control of the CPU 11, the north bridge 12 receives supply of data stored in the HDD 16 via the south bridge 15 and receives the PCI bus. 14, and supplied to the memory 18 via the PCI bridge 17. The north bridge 12 is also connected to the memory 13, and exchanges data necessary for the processing of the CPU 11.

メモリ13は、CPU11が実行する処理に必要なデータを保存することが可能な、例えば、DDR(Double Data Rate)等の高速アクセス可能な記憶用のメモリである。サウスブリッジ15は、HDD16のデータの書き込みおよび読み出しを制御する。HDD16には、圧縮符号化されたストリームデータが記憶されている。   The memory 13 is a storage memory that can store data necessary for processing executed by the CPU 11 and that can be accessed at high speed, such as DDR (Double Data Rate). The south bridge 15 controls writing and reading of data in the HDD 16. The HDD 16 stores compressed and encoded stream data.

PCIブリッジ17は、コマンドバッファ31およびリザルトバッファ32を内部に備えるとともに、CPU11の制御に基づいてHDD16から読み出されたストリームデータをバッファリングするメモリ18が接続されている。PCIブリッジ17は、CPU11の制御に基づいてHDD16から読み出されたストリームデータを、メモリ18に供給して保存させることができるとともに、CPU20の制御に基づいて、メモリ18に保存されているストリームデータを読み出して、デコーダ22乃至デコーダ24に供給する。また、PCIブリッジ17は、PCIバス14またはコントロールバス19を介したコマンドまたはリザルトに対応する制御信号の授受を制御する。   The PCI bridge 17 includes a command buffer 31 and a result buffer 32 therein, and is connected to a memory 18 that buffers stream data read from the HDD 16 under the control of the CPU 11. The PCI bridge 17 can supply stream data read from the HDD 16 based on the control of the CPU 11 to the memory 18 and store the stream data, and stream data stored in the memory 18 based on the control of the CPU 20. Is supplied to the decoders 22 to 24. The PCI bridge 17 controls transmission / reception of a control signal corresponding to a command or a result via the PCI bus 14 or the control bus 19.

コマンドバッファ31は、CPU11から、ノースブリッジ12およびPCIバス14を介してコマンドの書き込みを受けるとともに、CPU20から、コントロールバス19を介して、書き込まれているコマンドが読み出されるようになされている。また、リザルトバッファ32は、コントロールバス19を介して、CPU20によりコマンドに対するリザルトの書き込みを受けるとともに、CPU11から、ノースブリッジ12およびPCIバス14を介して、書き込まれているリザルトが読み取られるようになされている。   The command buffer 31 receives commands written from the CPU 11 via the north bridge 12 and the PCI bus 14, and reads written commands from the CPU 20 via the control bus 19. The result buffer 32 receives a result written to the command by the CPU 20 via the control bus 19 and reads the written result from the CPU 11 via the north bridge 12 and the PCI bus 14. ing.

メモリ18は、PCIブリッジ17の制御に基づいて、HDD16により読み出された、圧縮符号化されたストリームデータを記憶するものであり、例えば、SDRAM(Synchronous Dynamic Random Access Memory)等で構成されている。   The memory 18 stores compression-encoded stream data read by the HDD 16 based on the control of the PCI bridge 17 and is configured by, for example, SDRAM (Synchronous Dynamic Random Access Memory). .

CPU20は、コントロールバス19を介して、CPU11によりPCIブリッジ17のコマンドバッファ31に書き込まれたコマンドを読み取り、このコマンドにしたがって、PCIブリッジ17、デコーダ22乃至デコーダ24、および、セレクタ25が実行する処理を制御する。メモリ21は、CPU20の処理に必要なデータを記憶する。   The CPU 20 reads a command written in the command buffer 31 of the PCI bridge 17 by the CPU 11 via the control bus 19, and processes executed by the PCI bridge 17, the decoders 22 to 24, and the selector 25 according to this command. To control. The memory 21 stores data necessary for the processing of the CPU 20.

デコーダ22乃至デコーダ24は、CPU20の制御に基づいて、供給された圧縮符号化されたストリームデータをデコードし、非圧縮の映像信号を出力する。デコーダ22は、その内部にメモリ41を、デコーダ23は、その内部にメモリ42を、デコーダ24は、その内部にメモリ43を有し、必要に応じて、供給された圧縮符号化されたストリームデータ、または、デコードされた非圧縮の映像信号を保持することが可能なようになされている。また、デコーダ22乃至デコーダ24は、再生装置1に含まれない独立した装置として設けられていても良い。   The decoders 22 to 24 decode the supplied compressed and encoded stream data based on the control of the CPU 20 and output an uncompressed video signal. The decoder 22 has a memory 41 therein, the decoder 23 has a memory 42 therein, and the decoder 24 has a memory 43 therein, and the compressed and encoded stream data supplied as necessary. Alternatively, the decoded uncompressed video signal can be held. The decoders 22 to 24 may be provided as independent devices that are not included in the playback device 1.

セレクタ25は、CPU20による設定に基づいて、デコーダ22乃至デコーダ24により出力された非圧縮のSDI(Serial Digital Interface)データの出力をフレーム精度で切り替えることができる。   The selector 25 can switch the output of uncompressed SDI (Serial Digital Interface) data output by the decoder 22 to the decoder 24 with frame accuracy based on the setting by the CPU 20.

なお、図1の再生装置1は、1つの装置として構成されていても良いし、複数の装置によって構成されるようにしても良い。例えば、図1の再生装置のうち、CPU11、ノースブリッジ12、メモリ13、サウスブリッジ15、および、HDD16の部分が、パーソナルコンピュータの構成のうちの一部であるとし、PCIカード、PCI−Expressカードなどの拡張カード、または、拡張ボードに、PCIバス14、PCIブリッジ17、メモリ18、コントロールバス19、CPU20、メモリ21、デコーダ22乃至デコーダ24、および、セレクタ25の機能を備えさせ、パーソナルコンピュータに拡張カードを装着して再生装置1として機能するようにしても良い。また、これらを、さらに複数の装置に分割して、再生装置1を構成するようにしても良い。   Note that the playback device 1 in FIG. 1 may be configured as a single device or may be configured by a plurality of devices. For example, in the playback device of FIG. 1, the CPU 11, the north bridge 12, the memory 13, the south bridge 15, and the HDD 16 are assumed to be a part of the configuration of the personal computer. An expansion card or expansion board such as PCI bus 14, PCI bridge 17, memory 18, control bus 19, CPU 20, memory 21, decoder 22 to decoder 24, and selector 25 are provided with a personal computer. You may make it function as the reproducing | regenerating apparatus 1 by attaching an expansion card. Further, these may be further divided into a plurality of devices to constitute the playback device 1.

次に、再生装置1の動作について説明する。   Next, the operation of the playback device 1 will be described.

HDD16には、MPEGのLong GOP方式で圧縮された圧縮映像のデータが記憶されている。   The HDD 16 stores compressed video data compressed by the MPEG Long GOP method.

CPU11は、ノースブリッジ12を介して、サウスブリッジ15を制御して、図示しない操作入力部から供給されたユーザの操作入力を基に、HDD16から、圧縮符号化されたストリームデータを読み出させ、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介して、メモリ18に供給させて記憶させるとともに、再生スピード(再生方向を示す情報を含む)を示す情報、デコード開始コマンド、または、表示開始コマンドなどを、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に書き込む。   The CPU 11 controls the south bridge 15 via the north bridge 12 to read out the compressed and encoded stream data from the HDD 16 based on a user operation input supplied from an operation input unit (not shown). Via the north bridge 12, the PCI bus 14, and the PCI bridge 17, it is supplied to the memory 18 for storage, and information indicating the playback speed (including information indicating the playback direction), a decode start command, or a display start A command or the like is written into the command buffer 31 of the PCI bridge 17 via the north bridge 12 and the PCI bus 14.

CPU20は、PCIブリッジ17のコマンドバッファ31に書き込まれたCPU11からのコマンドを基に、圧縮符号化されたストリームデータのデコードおよび表示のスケジュールを決定する。具体的には、CPU20は、デコードに利用されるデコーダ22乃至デコーダ24の選択、圧縮符号化されたストリームデータのデコーダ22乃至デコーダ24への入力のタイミング、フレームごとのデコードのタイミング、参照画像のバンク位置の設定、デコード時のバンクメモリの割り当て、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定する。   The CPU 20 determines a schedule for decoding and displaying the compressed and encoded stream data based on the command from the CPU 11 written in the command buffer 31 of the PCI bridge 17. Specifically, the CPU 20 selects the decoders 22 to 24 used for decoding, the input timing of the compression-encoded stream data to the decoders 22 to 24, the decoding timing for each frame, the reference image The setting of the bank position, the allocation of the bank memory at the time of decoding, and the output of the decoded picture, that is, the display timing are determined.

そして、CPU20は、PCIブリッジ17を制御して、メモリ18に記憶されている圧縮符号化されたストリームデータを、決定されたスケジュールに基づいて、デコーダ22乃至デコーダ24のうちのいずれか対応するものに供給させる。   Then, the CPU 20 controls the PCI bridge 17 so that the compressed and encoded stream data stored in the memory 18 corresponds to one of the decoders 22 to 24 based on the determined schedule. To supply.

CPU20は、デコーダ22乃至デコーダ24を制御して、供給された圧縮符号化されたデータをデコードさせる。デコーダ22乃至デコーダ24は、供給された圧縮符号化されたストリームデータをデコードして、非圧縮のSDIデータを生成して、セレクタ25に出力する。   The CPU 20 controls the decoders 22 to 24 to decode the supplied compressed and encoded data. The decoders 22 to 24 decode the supplied compressed and encoded stream data, generate non-compressed SDI data, and output to the selector 25.

そして、CPU20は、セレクタ25を制御して、デコーダ22乃至デコーダ24より出力された非圧縮のSDIデータの出力を切り替えさせる。   Then, the CPU 20 controls the selector 25 to switch the output of uncompressed SDI data output from the decoders 22 to 24.

図2は、デコーダ22乃至デコーダ24の更に詳細な構成を示すブロック図である。   FIG. 2 is a block diagram showing a more detailed configuration of the decoders 22 to 24. As shown in FIG.

入力処理部71は、PCIブリッジ17から供給された圧縮符号化されたストリームデータをメモリコントローラ74に供給して入力バッファ75に保存させるとともに、供給されたストリームデータから、ピクチャ単位で、先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどを取得して、アドレス管理テーブル72に供給する。   The input processing unit 71 supplies the compression-encoded stream data supplied from the PCI bridge 17 to the memory controller 74 and stores it in the input buffer 75. From the supplied stream data, the start address, The data size, picture header information, Q matrix, etc. are acquired and supplied to the address management table 72.

アドレス管理テーブル72は、入力処理部71から供給された、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を、テーブルIDにより区別可能なテーブル情報として、それぞれ、ピクチャ別に保持する。   The address management table 72 stores information such as the head address in units of pictures, data size, picture header information, and Q matrix supplied from the input processing unit 71 as table information that can be distinguished by table ID, for each picture. To do.

エレメンタリストリームアドレス決定部73は、CPU20からコントロールバス19を介して供給される制御信号を基に、入力バッファ75に保存されたストリームデータを、ピクチャ単位でデコード処理部77に供給させることができるように、アドレス管理テーブル72に保持されている所定のテーブルIDで示されるテーブル情報から、対応するピクチャの先頭番地およびピクチャサイズ情報を読み出して、メモリコントローラ74に供給する。   The elementary stream address determination unit 73 can supply the stream data stored in the input buffer 75 to the decode processing unit 77 on a picture basis based on a control signal supplied from the CPU 20 via the control bus 19. As described above, the head address and picture size information of the corresponding picture are read out from the table information indicated by the predetermined table ID held in the address management table 72 and supplied to the memory controller 74.

メモリコントローラ74は、入力バッファ75へのストリームデータの書き込みおよび読み出しを制御する。すなわち、メモリコントローラ74は、入力処理部71から供給されたストリームデータを入力バッファ75に書き込むとともに、エレメンタリストリームアドレス決定部73から供給される、対応するピクチャの先頭番地およびピクチャサイズ情報を基に、所定のピクチャを読み出して、デコード処理部77に供給する。   The memory controller 74 controls writing and reading of stream data to the input buffer 75. In other words, the memory controller 74 writes the stream data supplied from the input processing unit 71 to the input buffer 75, and based on the start address and picture size information of the corresponding picture supplied from the elementary stream address determination unit 73. The predetermined picture is read out and supplied to the decoding processing unit 77.

入力バッファ75は、SDRAMなどの記憶用のメモリで構成された図1のメモリ41乃至メモリ43の記録領域のうちの一部に相当し、メモリコントローラ74の制御に基づいて、ストリームデータを保存する。   The input buffer 75 corresponds to a part of the recording area of the memory 41 to the memory 43 shown in FIG. 1 constituted by a storage memory such as SDRAM, and stores stream data under the control of the memory controller 74. .

コントロールバス76は、データバス19を介してCPU20から供給される制御信号を、エレメンタリストリームアドレス決定部73、デコード処理部77、書き込み画アドレス決定部78、参照画アドレス決定部79、および、出力アドレス決定部80に供給するとともに、デコーダ22乃至デコーダ24の内部において実行される処理に関する情報を、データバス19を介して、CPU20に供給する。   The control bus 76 outputs control signals supplied from the CPU 20 via the data bus 19 to an elementary stream address determining unit 73, a decoding processing unit 77, a write image address determining unit 78, a reference image address determining unit 79, and an output. In addition to being supplied to the address determination unit 80, information related to processing executed in the decoders 22 to 24 is supplied to the CPU 20 via the data bus 19.

デコード処理部77は、メモリコントローラ74により入力バッファ75から読み出されたMPEGビデオストリームを、参照画アドレス決定部79から供給された参照画を必要に応じて参照してデコードし、デコードされたベースバンド(非圧縮)の映像信号を、書き込み画アドレス決定部78に供給する。   The decode processing unit 77 decodes the MPEG video stream read from the input buffer 75 by the memory controller 74 with reference to the reference image supplied from the reference image address determination unit 79 as necessary, and the decoded base. The band (uncompressed) video signal is supplied to the writing image address determination unit 78.

書き込み画アドレス決定部78は、データバス19を介してCPU20から供給される制御信号を、コントロールバス76を介して取得し、この制御信号に基づいて、デコード処理部77によりデコードされて供給されたベースバンドの映像信号のビデオバンクメモリ82における記録位置、すなわち、保存されるバンク位置を決定し、ベースバンドの映像信号を、メモリコントローラ81を介して、ビデオバンクメモリ82の所定のバンク位置に保存させる。   The writing image address determination unit 78 acquires a control signal supplied from the CPU 20 via the data bus 19 via the control bus 76, and is decoded and supplied by the decoding processing unit 77 based on this control signal. The recording position of the baseband video signal in the video bank memory 82, that is, the bank position to be stored is determined, and the baseband video signal is stored in a predetermined bank position of the video bank memory 82 via the memory controller 81. Let

参照画アドレス決定部79は、データバス19を介してCPU20から供給される制御信号を、コントロールバス76を介して取得し、この制御信号に基づいて、ビデオバンクメモリ82のうち、Pピクチャの前方向(forward)の参照画像バンクとして指定されたバンクに保持されているフレーム画像データや、Bピクチャの前方向および後ろ方向(backward)の参照画像バンクとして指定されたバンクに保持されているフレーム画像データを、メモリコントローラ81を制御して読み出させ、デコード処理部77に供給する。   The reference picture address determination unit 79 acquires a control signal supplied from the CPU 20 via the data bus 19 via the control bus 76, and based on this control signal, the reference picture address determination unit 79 precedes the P picture in the video bank memory 82. Frame image data held in the bank designated as the reference image bank in the direction (forward), and frame images held in the bank designated as the reference image bank in the forward direction and backward direction (backward) of the B picture Data is read by controlling the memory controller 81 and supplied to the decoding processing unit 77.

出力アドレス決定部80は、データバス19を介してCPU20から供給される制御信号を、コントロールバス76を介して取得し、この制御信号に基づいて、ビデオバンクメモリ82に保持されているフレーム画像データのうちの出力画像、すなわち、表示させるフレームのバンクを指定して、メモリコントローラ81を制御して読み出させ、出力する。   The output address determination unit 80 acquires a control signal supplied from the CPU 20 via the data bus 19 via the control bus 76, and the frame image data held in the video bank memory 82 based on this control signal. The output image, that is, the bank of the frame to be displayed is designated, the memory controller 81 is controlled to read and output.

メモリコントローラ81は、ビデオバンクメモリ82へのフレーム画像の書き込みおよび読み出しを制御する。ビデオバンクメモリ82は、SDRAMなどの記憶用のメモリで構成された図1のメモリ41乃至メモリ43の記録領域のうちの一部に相当する、8バンク(8面)のフレーム画像用のバンクメモリであり、メモリコントローラ81の制御に基づいて、1フレームのフレーム画像データを設定されたバンクに保持する。   The memory controller 81 controls writing and reading of frame images to and from the video bank memory 82. The video bank memory 82 is an 8-bank (8-side) frame image bank memory corresponding to a part of the recording area of the memory 41 to the memory 43 shown in FIG. Based on the control of the memory controller 81, the frame image data of one frame is held in the set bank.

次に、図3のフローチャートを参照して、CPU11が実行する制御処理について説明する。   Next, control processing executed by the CPU 11 will be described with reference to the flowchart of FIG.

ステップS1において、CPU11は、ノースブリッジ12およびサウスブリッジ15を制御して、ユーザによりデコードして出力するストリームデータとして指定された、圧縮符号化されたストリームデータのうちの複数GOPをHDD16から読み出す。   In step S <b> 1, the CPU 11 controls the north bridge 12 and the south bridge 15 to read out from the HDD 16 a plurality of GOPs of the compression-coded stream data designated as stream data to be decoded and output by the user.

ステップS2において、CPU11は、読み出した複数GOPのストリームデータを、PCIバス14を介してPCIブリッジ17に供給し、メモリ18に転送する。   In step S <b> 2, the CPU 11 supplies the read stream data of the plurality of GOPs to the PCI bridge 17 via the PCI bus 14 and transfers it to the memory 18.

ステップS3において、CPU11は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に、データ転送完了と、メモリ18に転送されたGOPに含まれるピクチャのピクチャ情報を供給することにより、CPU20に対して、データ転送完了と、ピクチャ情報とを通知する。ピクチャ情報には、例えば、ピクチャタイプ、ピクチャ単位のヘッダ情報、ピクチャサイズなどの情報が含まれる。   In step S <b> 3, the CPU 11 supplies the command buffer 31 of the PCI bridge 17 with the data transfer completion and the picture information of the picture included in the GOP transferred to the memory 18 via the north bridge 12 and the PCI bus 14. Thus, the CPU 20 is notified of data transfer completion and picture information. The picture information includes, for example, information such as a picture type, header information for each picture, and picture size.

ステップS4において、CPU11は、CPU20およびメモリ18から、準備完了の通知を受ける。具体的には、CPU11は、CPU20がコントロールバス19を介してPCIブリッジ17のリザルトバッファ32に供給した、データ転送完了とピクチャ情報の通知に対するリザルトを、ノースブリッジ12およびPCIバス14を介して読み込むとともに、メモリ18から、PCIブリッジ17、PCIバス14およびノースブリッジ12を介して、複数GOPのストリームデータの保存終了の通知を受ける。   In step S <b> 4, the CPU 11 receives a notification of completion of preparation from the CPU 20 and the memory 18. Specifically, the CPU 11 reads, via the north bridge 12 and the PCI bus 14, the results for the data transfer completion and picture information notification supplied by the CPU 20 to the result buffer 32 of the PCI bridge 17 via the control bus 19. At the same time, the memory 18 is notified of the end of storage of stream data of a plurality of GOPs via the PCI bridge 17, the PCI bus 14, and the north bridge 12.

ステップS5において、CPU11は、図示しない操作入力部から、ユーザによる再生出力処理の開始の指令を受け、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に、デコード開始コマンドを送信し、デコーダ22乃至デコーダ24により、デコード処理を開始させる。デコード開始コマンドには、表示スピード情報が含まれる。   In step S <b> 5, the CPU 11 receives a command to start reproduction output processing by a user from an operation input unit (not shown), and sends a decode start command to the command buffer 31 of the PCI bridge 17 via the north bridge 12 and the PCI bus 14. Then, the decoder 22 through the decoder 24 start the decoding process. The decode start command includes display speed information.

CPU11は、ステップS6において、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に、表示開始コマンドを送信し、ステップS7において、デコーダによりデコードされて得られたSDI信号、すなわち、ベースバンドの画像信号の、1GOP分の表示を開始させる。   In step S6, the CPU 11 transmits a display start command to the command buffer 31 of the PCI bridge 17 via the north bridge 12 and the PCI bus 14, and in step S7, the SDI signal obtained by decoding by the decoder, that is, Then, display of 1 GOP of the baseband image signal is started.

ステップS8において、CPU11は、CPU20がコントロールバス19を介してPCIブリッジ17のリザルトバッファ32に供給した表示開始コマンドに対するリザルト、すなわち、後述する図18のステップS194において、CPU20がPCIブリッジ17のリザルトバッファ32に書き込んだフレームごとの表示完了の通知を、ノースブリッジ12およびPCIバス14を介して読み込んで、いずれのピクチャの表示が終了したかを常にチェックしておくことにより、1GOPの表示完了を検出する。   In step S8, the CPU 11 determines the result of the display start command supplied by the CPU 20 to the result buffer 32 of the PCI bridge 17 via the control bus 19, that is, in step S194 of FIG. The display completion notification for each frame written in 32 is read via the north bridge 12 and the PCI bus 14, and it is always checked which picture display has been completed, thereby detecting the completion of 1GOP display. To do.

ステップS9において、CPU11は、表示されたGOPは、表示されるストリームデータの最後であるか否かを判断する。ステップS9において、表示されたGOPは、表示されるストリームデータの最後であると判断された場合、処理は終了される。   In step S9, the CPU 11 determines whether or not the displayed GOP is the last stream data to be displayed. In step S9, when it is determined that the displayed GOP is the last of the displayed stream data, the process is terminated.

ステップS9において、表示されたGOPは、表示されるストリームデータの最後ではないと判断された場合、ステップS10において、CPU11は、図示しない操作入力部から供給される信号を基に、例えば、ストリームデータの再生終了、再生されているストリームデータの変更、もしくは、再生速度または方向の変更指令など、入力ストリーム状態の変更を伴う指令がユーザから入力されたか否かを判断する。   When it is determined in step S9 that the displayed GOP is not the last of the displayed stream data, in step S10, the CPU 11 determines, for example, stream data based on a signal supplied from an operation input unit (not shown). It is determined whether or not a command accompanying a change in the input stream state, such as an end of playback, a change in stream data being played back, or a command to change the playback speed or direction, is input.

ステップS10において、入力ストリーム状態の変更を伴う指令がユーザから入力されたと判断された場合、ステップS11において、CPU11は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に、ユーザの操作入力に対応するコマンドを送信する。   If it is determined in step S10 that a command accompanying a change in the input stream state has been input from the user, in step S11, the CPU 11 stores the command buffer 31 of the PCI bridge 17 via the north bridge 12 and the PCI bus 14. A command corresponding to the user's operation input is transmitted.

ステップS10において、入力ストリーム状態の変更を伴う指令がユーザから入力されていないと判断された場合、または、ステップS11の処理の終了後、ステップS12において、CPU11は、HDD16に、表示させるストリームデータが残っているか否かを判断する。ステップS12において、HDD16に、表示させるストリームデータが残っていないと判断された場合、処理は、ステップS7に戻り、メモリ18に転送され、まだ表示されていないストリームデータにおいて、ステップS7以降の処理が繰り返される。   In step S10, when it is determined that the command accompanying the change of the input stream state is not input from the user, or after the process of step S11 is completed, in step S12, the CPU 11 stores the stream data to be displayed on the HDD 16. Determine if it remains. If it is determined in step S12 that there is no stream data to be displayed remaining in the HDD 16, the process returns to step S7 and is transferred to the memory 18, and the process after step S7 is performed on the stream data not yet displayed. Repeated.

ステップS12において、HDD16に、表示させるストリームデータが残っていると判断された場合、ステップS13において、CPU11は、ノースブリッジ12およびサウスブリッジ15を制御して、デコードして出力するストリームデータのうち、メモリ18へ転送済みのGOPに続く1GOPをHDD16から読み出す。   If it is determined in step S12 that stream data to be displayed remains in the HDD 16, in step S13, the CPU 11 controls the north bridge 12 and the south bridge 15 to decode and output the stream data. One GOP following the GOP that has been transferred to the memory 18 is read from the HDD 16.

ステップS14において、CPU11は、読み出した1GOPのストリームデータを、PCIバス14を介してPCIブリッジ17に供給し、メモリ18に転送する。すなわち、メモリ18には、再生されるストリームデータの終了部分付近が保持されている場合を除いて、基本的には、所定数のGOPが保持されているようになされている。   In step S <b> 14, the CPU 11 supplies the read 1 GOP stream data to the PCI bridge 17 via the PCI bus 14 and transfers it to the memory 18. In other words, the memory 18 basically holds a predetermined number of GOPs except when the vicinity of the end portion of the stream data to be reproduced is held.

ステップS15において、CPU11は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に、データ転送完了と、メモリ18に転送されたGOPに含まれるピクチャのピクチャ情報を供給することにより、CPU20に対して、データ転送完了と、ピクチャ情報とを通知する。ピクチャ情報には、例えば、ピクチャタイプ、ピクチャ単位のサイズなどの情報が含まれる。   In step S 15, the CPU 11 supplies the command buffer 31 of the PCI bridge 17 with the data transfer completion and the picture information of the picture included in the GOP transferred to the memory 18 via the north bridge 12 and the PCI bus 14. Thus, the CPU 20 is notified of data transfer completion and picture information. The picture information includes, for example, information such as picture type and picture unit size.

ステップS16において、CPU11は、CPU20およびメモリ18から、準備完了の通知を受ける。具体的には、CPU11は、CPU20がコントロールバス19を介してPCIブリッジのリザルトバッファ32に供給した、データ転送完了とピクチャ情報の通知に対するリザルトを、ノースブリッジ12およびPCIバス14を介して読み込むとともに、メモリ18から、PCIブリッジ17、PCIバス14およびノースブリッジ12を介して、複数GOPのストリームデータの保存終了の通知を受ける。   In step S <b> 16, the CPU 11 receives a notification of completion of preparation from the CPU 20 and the memory 18. Specifically, the CPU 11 reads the result for the data transfer completion and picture information notification supplied from the CPU 20 to the PCI bridge result buffer 32 via the control bus 19 via the north bridge 12 and the PCI bus 14. The memory 18 is notified of the end of storage of stream data of a plurality of GOPs via the PCI bridge 17, the PCI bus 14, and the north bridge 12.

ステップS16の処理の終了後、処理は、ステップS7に進み、それ以降の処理が繰り返される。   After the process of step S16 ends, the process proceeds to step S7, and the subsequent processes are repeated.

このような処理により、CPU11は、CPU20にコマンドを供給し、供給したコマンドに対するリザルトを受けて、ストリームデータのデコードと、デコードされたデータの表示を制御することができる。   By such processing, the CPU 11 can supply a command to the CPU 20, receive a result for the supplied command, and control decoding of stream data and display of the decoded data.

ここでは、デコードされたデータを1GOPずつ表示させる場合について説明したが、デコードされて生成されたSDI信号を外部に出力する場合にも、同様の処理を実行することにより、CPU11は、CPU20にコマンドを供給し、供給したコマンドに対するリザルトを受けて、ストリームデータのデコードと、デコードされたデータの外部への出力を制御することができることは言うまでもない。   Here, the case where the decoded data is displayed one GOP at a time has been described. However, when the decoded SDI signal is output to the outside, the CPU 11 causes the CPU 20 to execute the same process. It is needless to say that decoding of stream data and output of the decoded data to the outside can be controlled by receiving a result for the supplied command.

そして、CPU20は、CPU11から供給されるコマンドに基づいて、複数のデコーダ(図1においては、デコーダ22乃至デコーダ24)によるデコード処理を制御する。具体的には、CPU20は、デコードに利用されるデコーダ22乃至デコーダ24の選択、換言すれば、圧縮符号化されたストリームデータの供給先を、デコーダ22乃至デコーダ24のうちのいずれにするのかを選択する処理を実行する。更に、CPU20は、圧縮符号化されたストリームデータのデコーダ22乃至デコーダ24のうち対応するものへの入力のタイミング、ピクチャごとのデコードのタイミング、参照画像のバンク位置の設定、デコード時のバンクメモリの割り当て、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定し、これらのタイミングを基に、PCIブリッジ17、デコーダ22乃至デコーダ24、および、セレクタ25を制御する。以下、図4乃至図38を参照して、CPU20によるデコードおよび表示出力の制御について説明する。   Then, the CPU 20 controls the decoding process by a plurality of decoders (decoder 22 to decoder 24 in FIG. 1) based on the command supplied from the CPU 11. Specifically, the CPU 20 selects the decoder 22 to decoder 24 used for decoding, in other words, which of the decoder 22 to decoder 24 is the destination of the compressed and encoded stream data. Execute the process to select. Further, the CPU 20 sets the input timing of the compressed encoded stream data to the corresponding one of the decoders 22 to 24, the decoding timing for each picture, the setting of the bank position of the reference image, and the bank memory at the time of decoding. The output of the allocated and decoded pictures, that is, the display timing is determined, and the PCI bridge 17, the decoders 22 to 24, and the selector 25 are controlled based on these timings. Hereinafter, decoding and display output control by the CPU 20 will be described with reference to FIGS.

CPU20は、デコーダ22乃至デコーダ24によるデコード処理と、セレクタ25により出力されるSDI信号のセレクト処理とを制御するために、メモリ21に、各種情報を保持可能な複数のレジスタおよび情報キューを有するようになされている。情報キューは、FIFO(First In First Out)のキュー(queue)構造で、CPU11により供給されたコマンドや、ピクチャタイプ情報が対応付けられたピクチャIDおよびピクチャIDに付随する情報(例えば、時間情報)などを、デコードタイミングのスケジューリングや、デコードおよび表示の制御の用途ごとに、それぞれ所定の深さで蓄積することができるようになされている。   The CPU 20 has a plurality of registers and information queues that can hold various types of information in the memory 21 in order to control the decoding processing by the decoders 22 to 24 and the selection processing of the SDI signal output from the selector 25. Has been made. The information queue has a first-in first-out (FIFO) queue structure, a command supplied by the CPU 11, and a picture ID associated with the picture type information and information accompanying the picture ID (for example, time information). Can be stored at a predetermined depth for each use of scheduling of decoding timing and control of decoding and display.

CPU20は、対応する情報キューに蓄積された情報を用いて、デコードおよび表示のタイミングを制御する。すなわち、メモリ21にピクチャがキューされるのではなく、CPU20の制御に基づいて、ピクチャIDがそれぞれの情報キューに設定されることにより、CPU20は、デコードおよび表示のタイミングを制御するための演算処理を実行することができる。   The CPU 20 controls the decoding and display timing using the information stored in the corresponding information queue. That is, the picture is not queued in the memory 21, but the picture ID is set in each information queue based on the control of the CPU 20, so that the CPU 20 performs arithmetic processing for controlling the timing of decoding and display. Can be executed.

各種情報を蓄積する情報キューとして、例えば、コントロールバス19を介して、PCIブリッジ17のコマンドバッファ31から取得したコマンドを蓄積するコマンドキューをはじめとして、処理待ち行列に対応する入力ピクチャのピクチャIDがコーディングオーダで蓄積される入力ピクチャキュー、入力ピクチャキューに蓄積されたピクチャIDをリオーダしてディスプレイオーダに並べ替えて蓄積する表示順情報キュー、表示順情報キューに蓄積されたピクチャIDから、IピクチャおよびPピクチャを抽出してデコード順に並べ替えて蓄積するI/Pピクチャデコードキュー、I/Pピクチャデコードキューに設定されたピクチャIDに加えて、これらのピクチャIDに対応する時間情報が更に蓄積される時間情報付きI/Pピクチャデコードキュー、表示順にピクチャIDが設定される表示順設定キュー、表示順設定キューに設定されたピクチャIDに加えて、これらのピクチャIDに対応する時間情報が更に蓄積される時間情報付き表示順設定キュー、次に表示されるピクチャのピクチャIDを保持する表示キューなどが、CPU20による各種制御に用いられている。各キューに蓄積される情報、各キューの深さ、その情報を用いて実行される処理の詳細については、それぞれ後述する。   As an information queue for storing various information, for example, a command queue for storing a command acquired from the command buffer 31 of the PCI bridge 17 via the control bus 19, and a picture ID of an input picture corresponding to a processing queue are used. From the input picture queue stored in the coding order, the display ID information stored in the display order after reordering the picture IDs stored in the input picture queue and rearranging them in the display order, and the picture ID stored in the display order information queue In addition to the I / P picture decoding queue for extracting and storing the P pictures and rearranging them in the decoding order, and the picture IDs set in the I / P picture decoding queue, time information corresponding to these picture IDs is further stored. I / P pic with time information Decoding queue, display order setting queue in which picture IDs are set in display order, and display order setting queue with time information in which time information corresponding to these picture IDs is further accumulated in addition to the picture IDs set in the display order setting queue A display queue that holds a picture ID of a picture to be displayed next is used for various controls by the CPU 20. Details of information stored in each queue, depth of each queue, and processing executed using the information will be described later.

次に、図4のフローチャートを参照して、フレームごとに行う処理1について説明する。この処理ルーチンは、表示が指令されたストリームデータが終了するまで、または、表示の終了が指令されるまで、1フレームごとに繰り返して実行される。   Next, the process 1 performed for every frame is demonstrated with reference to the flowchart of FIG. This processing routine is repeatedly executed for each frame until the stream data for which display is instructed is completed or until display is instructed.

ステップS31において、図5を用いて後述する入力ストリーム状態変更処理が実行される。入力ストリーム状態変更処理は、CPU11から新たなコマンドが発行されているか否かを確認する処理である。   In step S31, an input stream state change process which will be described later with reference to FIG. 5 is executed. The input stream state change process is a process for confirming whether or not a new command has been issued from the CPU 11.

ステップS32において、図6を用いて後述するデコードスケジュール処理1が実行される。デコードスケジュール処理1において、デコードタイミングがスケジュールされる。   In step S32, decode schedule processing 1 described later with reference to FIG. 6 is executed. In decode schedule processing 1, decode timing is scheduled.

ステップS33において、CPU20は、1フレーム単位で処理の時間を表すカウンタである時間カウンタを参照することにより、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから6番目のフレームのうちのいずれかのフレームであるか否かを判断する。   In step S33, the CPU 20 refers to a time counter that is a counter representing the processing time in units of one frame, so that the processing target is the first frame of the stream data to be reproduced in the decoding order. It is determined whether the frame is one of the sixth frames from the first frame.

ステップS33において、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから6番目のフレームのうちのいずれかのフレームではないと判断された場合、ステップS34において、図38を用いて後述する1フレームディレイ表示設定処理が実行される。1フレームディレイ表示設定処理によって、1つ前の処理ルーチンにおけるステップS35のフレーム制御処理1においてデコードされて生成されたベースバンドのフレーム画像の表示が設定される。   If it is determined in step S33 that the processing target is not one of the sixth frames to the sixth frame of the stream data to be reproduced in the decoding order, in step S34 A one-frame delay display setting process, which will be described later with reference to FIG. 38, is executed. By the one-frame delay display setting process, the display of the baseband frame image decoded and generated in the frame control process 1 of step S35 in the immediately preceding process routine is set.

ステップS33において、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから6番目のフレームのうちのいずれかのフレームであると判断された場合、または、ステップS34の処理の終了後、ステップS35において、図18を用いて後述するフレーム制御処理1が実行される。フレーム制御処理1において、処理対象となっているフレームがデコードされる。   If it is determined in step S33 that the processing target is any one of the first to sixth frames of the stream data to be reproduced in the decoding order, or After the process of S34 is completed, a frame control process 1 described later with reference to FIG. 18 is executed in step S35. In the frame control process 1, a frame to be processed is decoded.

ステップS36において、CPU20は、すべてのフレームの処理が終了したか否かを判断する。ステップS36において、すべてのフレームの処理が終了していないと判断された場合、ステップS37において、CPU20は、1フレームを単位とする時間カウンタをインクリメントする。   In step S36, the CPU 20 determines whether or not the processing of all frames has been completed. If it is determined in step S36 that all the frames have not been processed, the CPU 20 increments a time counter in units of one frame in step S37.

ステップS37の処理の終了後、処理は、ステップS31に戻り、それ以降の処理が繰り返される。ステップS36において、すべてのフレームの処理が終了したと判断された場合、処理は終了される。   After the process of step S37 is completed, the process returns to step S31, and the subsequent processes are repeated. If it is determined in step S36 that all frames have been processed, the process ends.

このようにして、CPU20は、1フレームの処理ごとに、時間カウンタをカウントアップし、ユーザの指令した再生速度に応じて、デコードをスケジュールして、1フレームごとに、デコードを行わせ、表示を設定することができる。   In this way, the CPU 20 counts up the time counter for each processing of one frame, schedules decoding according to the playback speed instructed by the user, performs decoding for each frame, and displays the display. Can be set.

次に、図5のフローチャートを参照して、図4のステップS31において実行される、入力ストリーム状態変更処理について説明する。   Next, the input stream state change process executed in step S31 of FIG. 4 will be described with reference to the flowchart of FIG.

ステップS51において、CPU20は、PCIブリッジ17のコマンドバッファ31から取得したコマンドを蓄積するコマンドキューをチェックする。   In step S <b> 51, the CPU 20 checks a command queue that accumulates commands acquired from the command buffer 31 of the PCI bridge 17.

ステップS52において、CPU20は、コマンドキューに、例えば、再生速度(再生方向を含む)の変更、または、再生終了の指令など、入力ストリーム状態を変更させる新たなコマンドが保存されているか否かを判断する。   In step S52, the CPU 20 determines whether or not a new command for changing the input stream state is stored in the command queue, such as a change in playback speed (including the playback direction) or a playback end command. To do.

ステップS52において、コマンドキューに新たなコマンドが保存されていると判断された場合、ステップS53において、CPU20は、コマンドキューに最も早い時刻に保存されたコマンドに基づいて、再生速度および再生方向の設定に基づいたストリーム入力状態を変更する。ステップS52において、コマンドキューに新たなコマンドが保存されていないと判断された場合、または、ステップS53の処理の終了後、処理は、図4のステップS31に戻り、ステップS32に進む。   If it is determined in step S52 that a new command is stored in the command queue, in step S53, the CPU 20 sets the playback speed and playback direction based on the command stored at the earliest time in the command queue. Change the stream input state based on. If it is determined in step S52 that no new command is stored in the command queue, or after the process of step S53 is completed, the process returns to step S31 in FIG. 4 and proceeds to step S32.

このような処理により、PCIブリッジ17のコマンドバッファ31から取得したコマンドを蓄積するコマンドキューに最も早い時刻に保存されたコマンドが参照され、そのコマンドに基づいて、ストリームの入力状態が変更される。   By such processing, the command stored at the earliest time in the command queue for accumulating commands acquired from the command buffer 31 of the PCI bridge 17 is referred to, and the stream input state is changed based on the commands.

次に、図6のフローチャートを参照して、図4のステップS32において実行される、デコードスケジュール処理1について説明する。   Next, the decode schedule process 1 executed in step S32 of FIG. 4 will be described with reference to the flowchart of FIG.

ステップS71において、CPU20は、入力ピクチャキューを参照して、入力ピクチャキューが空であるか否かを判断する。入力ピクチャキューは、後述する入力処理(ステップS72)において設定される情報キューであり、デコードのスケジュールが次に決定される入力ピクチャと、そのスケジューリングに必要なピクチャのピクチャIDが設定される。   In step S71, the CPU 20 refers to the input picture queue and determines whether or not the input picture queue is empty. The input picture queue is an information queue set in an input process (step S72) described later, and an input picture for which a decoding schedule is determined next and a picture ID of a picture necessary for the scheduling are set.

再生装置1が取り扱うストリームデータが、図7に示されるように、1GOPが15ピクチャで構成されているMPEGのLONG GOPのストリームデータである場合、1GOP相当の15ピクチャごとにデコード処理を行うデコーダ22乃至デコーダ24のそれぞれには、それぞれのGOPにおいて、表示順で先頭となる2つのBピクチャを除いた13ピクチャと、正方向の再生の場合は、その前のGOPにおいて、表示順で先頭となるIBBの3ピクチャ、逆方向の場合は、その後ろのGOPにおいて、表示順で先頭となるIBBの3ピクチャとの16ピクチャが供給される。   As shown in FIG. 7, when the stream data handled by the playback apparatus 1 is MPEG LONG GOP stream data in which 1 GOP is composed of 15 pictures, a decoder 22 that performs decoding processing for each 15 pictures equivalent to 1 GOP. Each of the decoders 24 has 13 pictures excluding the two B pictures that are headed in the display order in each GOP, and, in the case of playback in the forward direction, is headed in the display order in the preceding GOP. In the case of the IBB 3 pictures in the reverse direction, 16 pictures including the IBB 3 pictures that are the head in the display order are supplied in the GOP behind them.

図8を用いて、デコーダ22乃至デコーダ24のそれぞれが担当するデコードの単位について説明する。図8では、デコーダ22乃至デコーダ24に供給されるピクチャの並びを、ディスプレイオーダで示している。再生装置1においては、1GOP相当(15ピクチャ)ごとに、デコード処理がデコーダ22乃至デコーダ24のうちの1つのデコーダにおいてそれぞれ実行されるが、上述したように、デコーダ22乃至デコーダ24のそれぞれには、1GOPにおいて表示順で先頭となる2つのBピクチャを除いた13ピクチャと、その前またはその後ろのGOPにおいて表示順で先頭から3つのピクチャとの16ピクチャが供給される。したがって、再生方向が正方向の場合は、図8Aに示されるように、デコーダ22乃至デコーダ24のうちの第1のデコーダに、第1GOPの先頭の2つのBピクチャを除いた13ピクチャと第2のGOPの先頭の3ピクチャが供給され、第2のデコーダに、第2GOPの先頭の2つのBピクチャを除いた13ピクチャと第3GOPの先頭の3ピクチャが供給され、同様にして、第3のデコーダに、第3GOPの先頭の2つのBピクチャを除いた13ピクチャと第4GOPの先頭の3ピクチャが供給される。また、再生方向が逆方向の場合は、図8Bに示されるように、デコーダ22乃至デコーダ24のうちの第1のデコーダに、第2GOPの先頭の2つのBピクチャを除いた13ピクチャと第3のGOPの先頭の3ピクチャが供給され、第2のデコーダに、第1GOPの先頭の2つのBピクチャを除いた13ピクチャと第2GOPの先頭の3ピクチャが供給される。   With reference to FIG. 8, a description will be given of the decoding unit that each of the decoders 22 to 24 takes charge of. In FIG. 8, the arrangement of pictures supplied to the decoders 22 to 24 is shown in display order. In the playback apparatus 1, the decoding process is performed in one of the decoders 22 to 24 for each 1 GOP (15 pictures). As described above, each of the decoders 22 to 24 has a decoding process. Sixteen pictures including 13 pictures excluding the two B pictures that are first in the display order in 1 GOP and three pictures from the top in the display order in the preceding or subsequent GOP are supplied. Therefore, when the playback direction is the forward direction, as shown in FIG. 8A, the first decoder among the decoders 22 to 24 receives the 13 pictures excluding the first two B pictures of the first GOP and the second picture. The first three pictures of the first GOP are supplied, and the second decoder is supplied with the 13 pictures excluding the first two B pictures of the second GOP and the first three pictures of the third GOP. 13 pictures excluding the top two B pictures of the third GOP and the top three pictures of the fourth GOP are supplied to the decoder. Also, when the playback direction is the reverse direction, as shown in FIG. 8B, the first decoder among the decoders 22 to 24, the 13 pictures excluding the first two B pictures of the second GOP, and the third picture The first three pictures of the first GOP are supplied, and 13 pictures excluding the first two B pictures of the first GOP and the first three pictures of the second GOP are supplied to the second decoder.

そして、入力ピクチャキューには、デコーダ22乃至デコーダ24に入力されるピクチャのうち、デコードタイミングのスケジュール待ちである入力ピクチャと、そのスケジューリングに必要なピクチャとのピクチャIDが設定される。すなわち、入力ピクチャキューには、LONG GOPのストリームデータのうち、1GOPの15ピクチャと、その前またはその後ろのGOPの先頭のIBBの3ピクチャとの18ピクチャのピクチャIDが保持される。   In the input picture queue, a picture ID of an input picture that is waiting for a decoding timing schedule among pictures input to the decoder 22 to decoder 24 and a picture necessary for the scheduling is set. That is, in the input picture queue, 18 picture IDs of 15 pictures of 1 GOP and 3 pictures of IBB at the head of the GOP before or after the GOP stream data are held in the LONG GOP stream data.

図9Aに、正方向の再生のために、MPEGのLONG GOPのストリームデータのうち、第1のGOPの15ピクチャと、その後ろの第2のGOPの先頭のIBBの3ピクチャのピクチャIDが入力ピクチャキューに設定されている状態を示し、図9Bに、逆方向の再生のために、MPEGのLONG GOPのストリームデータのうち、第2のGOPの15ピクチャと、逆の表示順においてその前に表示される第3のGOPの先頭のIBBの3ピクチャのピクチャIDが入力ピクチャキューに設定されている状態を示す。   In FIG. 9A, the picture IDs of 15 pictures of the first GOP and 3 pictures of the first IBB of the second GOP after the stream data of the MPEG LONG GOP are input for reproduction in the forward direction. FIG. 9B shows a state in which the picture queue is set, and in order to reproduce in the reverse direction, among the LONG GOP stream data of MPEG, the 15 pictures of the second GOP are preceded in the reverse display order. The picture ID of the three pictures of the first IBB of the third GOP to be displayed is set in the input picture queue.

ステップS71において、入力ピクチャキューが空ではないと判断された場合、処理は、図4のステップS32に戻り、ステップS33に進む。すなわち、デコードのスケジュール処理は、LONG GOPの15ピクチャとは2ピクチャ分ずれた位置から設定される13ピクチャと次の3つのピクチャとの16ピクチャ分の処理単位ごとにまとめて実行される。   If it is determined in step S71 that the input picture queue is not empty, the process returns to step S32 in FIG. 4 and proceeds to step S33. In other words, the decoding schedule processing is executed collectively for each processing unit of 16 pictures of 13 pictures set from a position shifted by 2 pictures from the 15 LONG GOP pictures and the next three pictures.

ステップS71において、入力ピクチャキューが空であると判断された場合、ステップS72において、図15のフローチャートを用いて後述する入力処理が実行される。   If it is determined in step S71 that the input picture queue is empty, in step S72, an input process to be described later is executed using the flowchart of FIG.

ステップS73において、CPU20は、次のデータを供給するデコーダを示すレジスタの値を基に、次にデータの供給を受けるデコーダに対応して設定される時間情報付き表示順設定キューが空であるか否かを判断する。時間情報付き表示順設定キューとは、後述するステップS80の時間情報付きスケジュール決定処理において設定されるキューであり、複数のデコーダのそれぞれ(図1を用いて説明した場合においては、デコーダ22乃至デコーダ24の3つのデコーダのそれぞれ)に対応して設定される。時間情報付き表示順設定キューの詳細については、図17のフローチャートを参照して後述する。   In step S73, based on the value of the register indicating the decoder that supplies the next data, the CPU 20 determines whether the display order setting queue with time information set corresponding to the decoder that receives the next data is empty. Judge whether or not. The display order setting queue with time information is a queue that is set in the schedule determination processing with time information in step S80 described later. Each of the plurality of decoders (in the case described with reference to FIG. Each of 24 three decoders). Details of the display order setting queue with time information will be described later with reference to the flowchart of FIG.

ステップS73において、次にデータの供給を受けるデコーダに対応する時間情報付き表示順設定キューが空ではないと判断された場合、すなわち、スケジュール済みの1GOP相当のピクチャに対して、フレームごとにデコード処理または表示処理が実行されている途中である場合、処理は、図4のステップS32に戻り、ステップS33に進む。   In step S73, when it is determined that the display order setting queue with time information corresponding to the decoder to which data is next supplied is not empty, that is, for each scheduled picture corresponding to 1 GOP, decoding processing is performed for each frame. Alternatively, when the display process is being executed, the process returns to step S32 in FIG. 4 and proceeds to step S33.

ステップS73において、次にデータの供給を受けるデコーダに対応する時間情報付き表示順設定キューが空であると判断された場合、ステップS74において、CPU20は、リオーダ処理を実行する。リオーダ処理とは、入力ピクチャキューに設定されているコーディングオーダに並べられている18ピクチャに対応するピクチャIDを、ディスプレイオーダに入れ替えて表示順情報キューに設定する処理である。   In step S73, when it is determined that the display order setting queue with time information corresponding to the decoder to which data is next supplied is empty, in step S74, the CPU 20 executes reorder processing. The reorder process is a process of replacing the picture IDs corresponding to 18 pictures arranged in the coding order set in the input picture queue with the display order and setting them in the display order information queue.

したがって、再生方向が正方向である場合、表示順情報キューには、図10Aに示されるように、図9Aを用いて説明した入力ピクチャキューに設定されているピクチャIDが、ディスプレイオーダに並べ替えられて設定され、再生方向が逆方向である場合、表示順情報キューには、図10Bに示されるように、図9Bを用いて説明した入力ピクチャキューに設定されているピクチャIDが、ディスプレイオーダに並べ替えられて設定される。   Therefore, when the playback direction is the forward direction, as shown in FIG. 10A, the picture ID set in the input picture queue described with reference to FIG. 9A is rearranged in the display order in the display order information queue. When the playback direction is the reverse direction, the picture ID set in the input picture queue described with reference to FIG. 9B is displayed in the display order information queue as shown in FIG. 10B. Sorted to be set.

ステップS74において、リオーダ処理が実行されて、表示順情報キューにピクチャIDがセットされたとき、入力ピクチャキューにキューされているピクチャIDはすべて出力され、入力ピクチャキューは空となる。すなわち、上述したステップS71において、入力ピクチャキューが空であると判断される場合とは、入力ピクチャキューにキューされたピクチャIDに対するリオーダ処理が実行された場合であり、入力ピクチャキューが空ではないと判断される場合とは、この処理以前に実行されたデコードスケジュール処理1のステップS72において入力処理が実行された後、次にデータの供給を受けるデコーダに対応する時間情報付き表示順設定キューが空ではないため、ステップS74においてリオーダ処理が実行されていない場合である。   In step S74, when the reorder process is executed and the picture ID is set in the display order information queue, all the picture IDs queued in the input picture queue are output, and the input picture queue becomes empty. In other words, the case where the input picture queue is determined to be empty in the above-described step S71 is a case where the reorder processing for the picture ID queued in the input picture queue is performed, and the input picture queue is not empty. In the case where it is determined that the display order setting queue with time information corresponding to the decoder that receives the next data supply is executed after the input process is executed in step S72 of the decode schedule process 1 executed before this process. This is a case where the reorder process is not executed in step S74 because it is not empty.

ステップS75において、CPU20は、ステップS74において設定された表示順情報キューを参照し、I/Pピクチャデコードキューに、デコードするGOPのうちのIピクチャおよびPピクチャのピクチャIDを、デコード順に設定する。I/Pピクチャデコードキューとは、Bピクチャに先行してデコードされるIピクチャおよびPピクチャのピクチャIDをデコード順に設定するキューである。   In step S75, the CPU 20 refers to the display order information queue set in step S74, and sets the picture IDs of the I and P pictures in the GOP to be decoded in the I / P picture decoding queue in the decoding order. The I / P picture decoding queue is a queue for setting the picture IDs of the I picture and the P picture that are decoded prior to the B picture in decoding order.

図11に、正方向再生および逆方向再生におけるI/Pピクチャデコードキューを示す。正方向再生の場合のI/Pピクチャデコードキューには、図11Aに示されるように、図10Aを用いて説明した表示順情報キューに設定されているピクチャIDのうち、IピクチャおよびPピクチャに対応する6つのピクチャのピクチャIDが設定され、逆方向再生の場合のI/Pピクチャデコードキューには、図11Bに示されるように、図10Bを用いて説明した表示順情報キューに設定されているピクチャIDのうち、IピクチャおよびPピクチャに対応する6つのピクチャのピクチャIDが設定される。   FIG. 11 shows an I / P picture decoding queue in forward reproduction and backward reproduction. As shown in FIG. 11A, the I / P picture decoding queue in the case of forward reproduction includes the I picture and the P picture among the picture IDs set in the display order information queue described with reference to FIG. 10A. The picture IDs of the corresponding six pictures are set, and the I / P picture decoding queue in the case of reverse playback is set to the display order information queue described with reference to FIG. 10B as shown in FIG. 11B. Among the picture IDs, picture IDs of six pictures corresponding to the I picture and the P picture are set.

ステップS76において、CPU20は、IピクチャおよびPピクチャを格納するバンク位置、および、Pピクチャのデコードにおける参照画像バンクを指定する。IピクチャおよびPピクチャは、図2のビデオバンクメモリ82において、8つのバンクのうち、固定の6つのバンクを使用するようになされている。   In step S76, the CPU 20 designates a bank position for storing the I picture and the P picture and a reference picture bank in the decoding of the P picture. The I picture and the P picture use six fixed banks among the eight banks in the video bank memory 82 of FIG.

IピクチャおよびPピクチャ(アンカーフレームとも称する)を先にデコードし、デコード後に保持されるバンク位置を固定しておくことにより、正方向、逆方向、頭だしなどの、どのピクチャからの再生も、即時に行えるようにすることができる。また、IピクチャおよびPピクチャを先にデコードしておくことにより、先にデコードする6枚のIピクチャおよびPピクチャの処理時間が短いほど、ユーザによる再生開始や、再生速度または再生方向の変更の指示から、指示を反映した表示開始までの時間を、表示開始フレームのGOP内の位置に関わらず短縮することや、スクラブ再生で任意のピクチャを表示する場合の表示時間を短縮することなどが可能となり、高速再生時のパフォーマンスが向上する。   By decoding the I picture and P picture (also called anchor frame) first and fixing the bank position held after decoding, playback from any picture, such as forward direction, backward direction, heading, etc. It can be done immediately. Also, by decoding the I picture and P picture first, the shorter the processing time of the six I pictures and P pictures that are decoded first, the more the user can start playback or change the playback speed or playback direction. The time from the instruction to the display start reflecting the instruction can be shortened regardless of the position in the GOP of the display start frame, or the display time when displaying an arbitrary picture by scrub playback can be shortened. As a result, the performance during high-speed playback is improved.

ステップS77において、CPU20は、ステップS76の処理により指定された、IピクチャおよびPピクチャがそれぞれ格納されるバンク位置を基に、Bピクチャのデコードにおける参照画像バンクの位置を指定する。なお、Bピクチャが格納されるバンク位置は、後述するフレーム制御処理1において指定される。   In step S77, the CPU 20 designates the position of the reference image bank in the decoding of the B picture, based on the bank position where the I picture and the P picture are stored, respectively, designated by the process in step S76. Note that the bank position where the B picture is stored is specified in the frame control process 1 described later.

ステップS78において、CPU20は、表示順設定キューを設定する。   In step S78, the CPU 20 sets a display order setting queue.

図12に、正方向再生および逆方向再生における表示順設定キューを示す。正方向再生の場合の表示順設定キューには、図12Aに示されるように、図10Aを用いて説明した表示順情報キューにキューされている18個のピクチャIDのうち、先頭の2つのBピクチャと、最後のIピクチャを除いた15個のピクチャID、すなわち、図8Aを用いて説明した正方向再生の場合にデコーダ22乃至デコーダ24のうちのいずれかに供給されるピクチャのうち、最後のIピクチャを除いた15ピクチャのピクチャIDが、表示される順番に設定される。   FIG. 12 shows a display order setting queue in forward reproduction and reverse reproduction. As shown in FIG. 12A, the display order setting queue in the case of forward playback is the first two B of the 18 picture IDs queued in the display order information queue described with reference to FIG. 10A. Of the pictures and 15 picture IDs excluding the last I picture, that is, among the pictures supplied to one of the decoders 22 to 24 in the case of forward reproduction described with reference to FIG. 8A The picture IDs of 15 pictures excluding the I picture are set in the display order.

そして、逆方向再生の場合の表示順設定キューには、図12Bに示されるように、図10Bを用いて説明した表示順情報キューにキューされている18個のピクチャIDのうち、先頭の2つのBピクチャと、最後のIピクチャを除いた15個のピクチャID、すなわち、図8Bを用いて説明した逆方向再生の場合にデコーダ22乃至デコーダ24のうちのいずれかに供給されるピクチャのうち、最後のIピクチャを除いた15ピクチャのピクチャIDが、実際に表示される順番に設定される。   As shown in FIG. 12B, the display order setting queue in the case of reverse playback is the first two of the 18 picture IDs queued in the display order information queue described with reference to FIG. 10B. 15 picture IDs excluding one B picture and the last I picture, that is, among pictures supplied to one of the decoders 22 to 24 in the case of backward reproduction described with reference to FIG. 8B The picture IDs of 15 pictures excluding the last I picture are set in the actual display order.

ステップS78において表示順設定キューが設定されるときに、表示順情報キューにキューされているピクチャIDは、すべて出力され、表示順情報キューは空となる。   When the display order setting queue is set in step S78, all the picture IDs queued in the display order information queue are output, and the display order information queue becomes empty.

ステップS79において、図16のフローチャートを用いて後述する表示位相決定処理が実行される。表示位相決定処理は、1GOP相当の15フレーム+1フレームの処理単位におけるデコードの開始と表示の開始のタイミングのずれを決定する処理である。   In step S79, a display phase determination process to be described later is executed using the flowchart of FIG. The display phase determination process is a process for determining a difference in timing between the start of decoding and the start of display in a processing unit of 15 frames + 1 frame equivalent to 1 GOP.

ステップS80において、図17のフローチャートを用いて後述する時間情報付きスケジュール決定処理が実行される。時間情報付きスケジュール決定処理は、フレームごとのデコードのタイミングを制御するために、デコードのスケジューリングを実行して、所定の情報キューに、ピクチャIDに対応付けて時間情報を設定する処理である。   In step S80, a schedule determination process with time information, which will be described later using the flowchart of FIG. 17, is executed. The schedule determination process with time information is a process of executing decoding scheduling and setting time information in association with a picture ID in a predetermined information queue in order to control the decoding timing for each frame.

ステップS79およびステップS80の処理によって、デコードと表示のタイミングがスケジュールされる。具体的には、例えば、再生方向が正方向で通常速度の再生である場合など、表示の先頭がIピクチャまたはPピクチャである場合、図13に示されるように、先にIピクチャおよびPピクチャがデコードされた後、Bピクチャがデコードされ、表示開始のタイミングは、デコード開始から6ピクチャ分ずれることにより、Bピクチャのデコードのタイミングと表示のタイミングが、1フレーム分ずれるように、デコードと表示のタイミングのスケジュールが行われる。また、再生の方向が逆方向の場合、換言すれば、スピード設定が負の値である場合など、表示の先頭がBピクチャである場合、図14に示されるように、先にIピクチャおよびPピクチャがデコードされた後、Bピクチャがデコードされ、表示開始のタイミングは、デコード開始から7ピクチャ分ずれることにより、Bピクチャのデコードのタイミングと表示のタイミングが、1フレーム分ずれるように、デコードと表示のタイミングのスケジュールが行われる。   Decoding and display timings are scheduled by the processing in steps S79 and S80. Specifically, for example, when the display head is an I picture or a P picture, for example, when the playback direction is the normal direction and playback is at normal speed, as shown in FIG. Is decoded, the B picture is decoded, and the display start timing is shifted by 6 pictures from the decoding start, so that the decoding timing and display timing of the B picture are shifted by one frame. The timing schedule is performed. Also, when the playback direction is the reverse direction, in other words, when the display head is a B picture, such as when the speed setting is a negative value, as shown in FIG. After the picture is decoded, the B picture is decoded, and the display start timing is shifted by 7 pictures from the decoding start, so that the B picture decoding timing and the display timing are shifted by one frame. The display timing is scheduled.

ステップS81において、CPU20は、次にデコードされるデータを供給するデコーダの設定を切り替える処理を実行する。具体的には、CPU20は、次のデータを供給するデコーダを示すレジスタの値がデコーダの数(図1を用いて説明した再生装置1においては、デコーダ22乃至デコーダ24の3つ)より1少ない値(図1を用いて説明した再生装置1においては、2)と等しい場合、レジスタの値を0とし、レジスタの値が、デコーダの数より2以上少ない場合、レジスタの値を1インクリメントする。ステップS81の処理の終了後、処理は、図4のステップS32に戻り、ステップS33に進む。   In step S81, the CPU 20 executes a process of switching the setting of a decoder that supplies data to be decoded next. Specifically, the CPU 20 has one less register value indicating the decoder that supplies the next data than the number of decoders (in the reproducing apparatus 1 described with reference to FIG. 1, three decoders 22 to 24). When the value is equal to 2 (2 in the reproducing apparatus 1 described with reference to FIG. 1), the register value is set to 0. When the register value is 2 or less than the number of decoders, the register value is incremented by 1. After the process of step S81 is completed, the process returns to step S32 in FIG. 4 and proceeds to step S33.

このような処理により、デコードと表示のタイミングがスケジュールされる。   By such processing, the decoding and display timing is scheduled.

次に、図15のフローチャートを参照して、図6のステップS72において実行される、入力処理について説明する。   Next, the input process executed in step S72 of FIG. 6 will be described with reference to the flowchart of FIG.

ステップS101において、CPU20は、図3を用いて説明した制御処理のステップS5においてCPU11がコマンドバッファ31に送信したデコード開始コマンドに含まれている表示スピード情報、または、図3を用いて説明した制御処理のステップS11においてCPU11がコマンドバッファ31に送信したユーザの操作入力に対応するコマンドから、スピード設定値を取得し、メモリ21に保持する。スピード設定値が正の値であるとき、再生処理は正方向再生であり、負の値であるとき、再生処理は、逆方向再生であるものとすることができる。   In step S101, the CPU 20 displays the display speed information included in the decode start command transmitted from the CPU 11 to the command buffer 31 in step S5 of the control process described with reference to FIG. 3, or the control described with reference to FIG. The speed setting value is acquired from the command corresponding to the user's operation input transmitted from the CPU 11 to the command buffer 31 in step S11 of the process, and stored in the memory 21. When the speed setting value is a positive value, the playback process may be forward playback, and when the speed setting value is a negative value, the playback process may be backward playback.

例えば、スピード設定値が1であるとき、通常再生であるものとし、スピード設定値が1以上の値であるとき、高速再生であるものとし、スピード設定値が1未満の正の値であるとき、低速再生であるものとし、スピード設定値が−1であるとき、通常速度の逆方向再生であるものとし、スピード設定値が−1以下の値であるとき、高速の逆方向再生であるものとし、スピード設定値が絶対値1未満の負の値であるとき、低速の逆方向再生であるものとすることができる。   For example, when the speed set value is 1, normal playback is assumed. When the speed set value is 1 or more, high speed playback is assumed. When the speed set value is a positive value less than 1. When the speed setting value is −1, it is assumed that the playback speed is normal, and when the speed setting value is −1 or less, the playback speed is high speed. When the speed setting value is a negative value less than the absolute value 1, it can be assumed that low-speed backward reproduction is performed.

ステップS102において、CPU20は、ステップS101において取得したスピード設定値が正の値であるか負の値であるかを基に、実行される処理は正方向の再生処理であるか否かを判断する。   In step S102, the CPU 20 determines whether the process to be executed is a positive direction reproduction process based on whether the speed setting value acquired in step S101 is a positive value or a negative value. .

ステップS102において、正方向の再生処理であると判断された場合、ステップS103において、CPU20は、次にデコードする15フレームのうちの先頭から13フレームを含む1GOPと、その次のGOPのI,B,BピクチャのピクチャIDを、図9Aを用いて説明した入力ピクチャキューに設定する。   If it is determined in step S102 that the playback process is in the forward direction, in step S103, the CPU 20 determines the 1 GOP including 13 frames from the top of the 15 frames to be decoded next, and the I and B of the next GOP. , B picture IDs are set in the input picture queue described with reference to FIG. 9A.

ステップS102において、正方向の再生処理ではない、すなわち、逆方向の再生処理であると判断された場合、ステップS104において、CPU20は、次にデコードする15フレームのうちの後ろから13フレームを含む1GOPと、その前のGOPのI,B,BピクチャのピクチャIDを、図9Bを用いて説明した入力ピクチャキューに設定する。   If it is determined in step S102 that the playback process is not forward, that is, reverse playback, in step S104, the CPU 20 includes 1 GOP including 13 frames from the back of the 15 frames to be decoded next. Then, the picture IDs of the previous GOP I, B, and B pictures are set in the input picture queue described with reference to FIG. 9B.

ステップS103またはステップS104の処理の終了後、ステップS105において、CPU20は、PCIブリッジ17を制御して、入力ピクチャキューの設定、および、次のデータを供給するデコーダを示すレジスタの値(再生されるストリームの最初のGOPにおいては、初期設定によって定められる値であり、2番目以降のGOPにおいては、図6のステップS81の処理により定められる値である)に基づいて、メモリ18に保存されているストリームデータのうち、図8を用いて説明した16フレームの圧縮画像データの、デコーダ22乃至デコーダ24のうちの所定のデコーダへの転送を制御する。   After the processing of step S103 or step S104 is completed, in step S105, the CPU 20 controls the PCI bridge 17 to set the input picture queue and the value of the register indicating the decoder that supplies the next data (reproduced). The first GOP of the stream is a value determined by the initial setting, and the second and subsequent GOPs are values determined by the process of step S81 in FIG. 6). Of the stream data, the transfer of the 16-frame compressed image data described with reference to FIG. 8 to a predetermined decoder among the decoders 22 to 24 is controlled.

デコーダ22乃至デコーダ24の入力処理部71は、供給された16フレームのデータをメモリコントローラ74に供給して、入力バッファ75に保存させるとともに、アドレス管理テーブル72に、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を供給し、それぞれ、ピクチャ別に、テーブルIDにより区別可能なテーブル情報として保持させる。   The input processing unit 71 of the decoders 22 to 24 supplies the supplied 16-frame data to the memory controller 74 and stores it in the input buffer 75, and also stores it in the address management table 72 as the start address and data size in units of pictures. , Information such as picture header information and Q matrix is supplied, and each picture is held as table information distinguishable by table ID.

ステップS106において、CPU20は、コントロールバス19を介して、PCIブリッジ17のリザルトバッファ32に、デコーダ22乃至デコーダ24のうちの所定のデコーダへの1GOP相当のストリームの転送処理の終了を示すリザルトを供給することにより、CPU11に対してストリームの転送処理の終了を通知し、処理は、図6のステップS72に戻り、ステップS73に進む。   In step S <b> 106, the CPU 20 supplies a result indicating the end of the transfer processing of the stream equivalent to 1 GOP to the predetermined decoder among the decoders 22 to 24 to the result buffer 32 of the PCI bridge 17 via the control bus 19. Thus, the CPU 11 is notified of the end of the stream transfer process, and the process returns to step S72 in FIG. 6 and proceeds to step S73.

このような処理により、デコーダ22乃至デコーダ24に、図8を用いて説明したデコード処理単位となる16フレームのデータが供給される。   By such processing, 16 frames of data serving as the decoding processing unit described with reference to FIG. 8 is supplied to the decoders 22 to 24.

次に、図16のフローチャートを参照して、図6のステップS79において実行される、デコード開始タイミングに対して表示開始タイミングをディレイさせる位相を設定するための、表示位相決定処理について説明する。   Next, the display phase determination process for setting the phase for delaying the display start timing with respect to the decode start timing, executed in step S79 of FIG. 6, will be described with reference to the flowchart of FIG.

ステップS131において、CPU20は、図12を用いて説明した表示順設定キューに設定されている、表示するピクチャの数の情報を、表示ピクチャ数レジスタに保持する。図12においては、表示順設定キューに15ピクチャ分のピクチャIDが設定されているので、表示ピクチャ数レジスタには、値15が保存される。   In step S131, the CPU 20 stores information on the number of pictures to be displayed, which is set in the display order setting queue described with reference to FIG. 12, in the display picture number register. In FIG. 12, since the picture IDs for 15 pictures are set in the display order setting queue, the value 15 is stored in the display picture number register.

ステップS132において、CPU20は、図11を用いて説明したI/Pピクチャデコードキューに保持されている、デコードされるIピクチャおよびPピクチャの総数を、I/Pピクチャ数レジスタに保持する。図11においては、I/Pピクチャデコードキューに、6ピクチャ分のピクチャIDが設定されているので、I/Pピクチャ数レジスタには、値6が保存される。   In step S132, the CPU 20 holds the total number of decoded I and P pictures held in the I / P picture decoding queue described with reference to FIG. 11 in the I / P picture number register. In FIG. 11, since picture IDs for six pictures are set in the I / P picture decoding queue, the value 6 is stored in the I / P picture number register.

ステップS133において、CPU20は、表示順設定キューの先頭に設定されているピクチャIDに対応するピクチャのピクチャタイプはBピクチャであるか否かを判断する。これは、通常速度再生または逆方向の通常速度再生における位相のずれ量を算出している場合、再生方向は正方向か逆方向かを判断しているのと同義である。なお、後述する間引き処理1が実行された後では、表示順設定キューの先頭に設定されているピクチャIDに対応するピクチャのピクチャタイプがBピクチャであっても、その再生速度の設定値によっては、再生方向が正方向であることもあり、逆方向であることもある。   In step S133, the CPU 20 determines whether or not the picture type of the picture corresponding to the picture ID set at the head of the display order setting queue is a B picture. This is synonymous with determining whether the reproduction direction is the forward direction or the reverse direction when calculating the phase shift amount in the normal speed reproduction or the normal speed reproduction in the reverse direction. After the thinning process 1 described later is executed, even if the picture type of the picture corresponding to the picture ID set at the head of the display order setting queue is a B picture, depending on the playback speed setting value, The playback direction may be the forward direction or the reverse direction.

ステップS133において、表示順設定キューの先頭に設定されているピクチャIDに対応するピクチャのピクチャタイプはBピクチャであると判断された場合、ステップS134において、CPU20は、デコードされるIピクチャおよびPピクチャの総数に1を加えた数を、I/Pピクチャデコードキューに保持されているピクチャIDに対応するIピクチャおよびPピクチャのデコード開始タイミングに対する、表示順設定キューに保持されるピクチャIDに対応するピクチャの表示開始タイミングの時間的な位相のずれ量disp_phaseとする。   If it is determined in step S133 that the picture type of the picture corresponding to the picture ID set at the head of the display order setting queue is a B picture, in step S134, the CPU 20 decodes the I picture and P picture to be decoded. The number obtained by adding 1 to the total number corresponds to the picture ID held in the display order setting queue with respect to the decoding start timing of the I picture and P picture corresponding to the picture ID held in the I / P picture decoding queue. A temporal phase shift amount disp_phase of the picture display start timing is set.

例えば、上述した図14に示されるように、再生速度が−1倍である場合、表示順設定キューの先頭に設定されているピクチャIDに対応するピクチャのピクチャタイプはBピクチャであるので、先にIピクチャおよびPピクチャがデコードされた後、表示開始のタイミングが、デコード開始から7ピクチャ分ずらされて、Bピクチャのデコードのタイミングと表示のタイミングが1フレーム分ずれるように、Bピクチャがデコードされる。   For example, as shown in FIG. 14 described above, when the playback speed is −1, the picture type of the picture corresponding to the picture ID set at the head of the display order setting queue is B picture. After the I picture and P picture are decoded, the B picture is decoded so that the display start timing is shifted by 7 pictures from the decoding start, and the B picture decoding timing and the display timing are shifted by one frame. Is done.

ステップS133において、表示順設定キューの先頭に設定されているピクチャIDに対応するピクチャのピクチャタイプはBピクチャではないと判断された場合、ステップS135において、CPU20は、デコードされるIピクチャおよびPピクチャの総数を、I/Pピクチャデコードキューに保持されているピクチャIDに対応するIピクチャおよびPピクチャのデコードタイミングに対する、表示順設定キューに保持されるピクチャIDに対応するピクチャの表示開始タイミングの時間的な位相のずれ量disp_phaseとする。   When it is determined in step S133 that the picture type of the picture corresponding to the picture ID set at the head of the display order setting queue is not a B picture, in step S135, the CPU 20 determines the decoded I picture and P picture. Of the display start timing of the picture corresponding to the picture ID held in the display order setting queue with respect to the decode timing of the I picture and P picture corresponding to the picture ID held in the I / P picture decode queue It is assumed that the amount of phase shift is disp_phase.

例えば、上述した図13に示されるように、再生速度が1倍である場合、表示順設定キューの先頭に設定されているピクチャIDに対応するピクチャのピクチャタイプはIピクチャであり、Bピクチャではないので、先にIピクチャおよびPピクチャがデコードされた後、表示開始のタイミングが、デコード開始から6ピクチャ分ずらされて、Bピクチャのデコードのタイミングと表示のタイミングが1フレーム分ずれるように、Bピクチャがデコードされる。   For example, as shown in FIG. 13 described above, when the playback speed is 1 time, the picture type of the picture corresponding to the picture ID set at the head of the display order setting queue is I picture, and in B picture Therefore, after the I picture and P picture are first decoded, the display start timing is shifted by 6 pictures from the start of decoding, so that the B picture decode timing and the display timing are shifted by one frame. B picture is decoded.

ステップS134またはステップS135の処理の終了後、ステップS136において、CPU20は、ステップS134またはステップS135において決定された表示の位相のずれ量disp_phaseを、内部のレジスタに記憶する。   After the processing of step S134 or step S135 is completed, in step S136, the CPU 20 stores the display phase shift amount disp_phase determined in step S134 or step S135 in an internal register.

ステップS137において、CPU20は、処理中のGOPは、表示開始GOP(再生スピードが変更されたときの、対応するスピードでの再生開始部分を含む)であるか否かを判断する。   In step S137, the CPU 20 determines whether or not the GOP being processed is a display start GOP (including a playback start portion at a corresponding speed when the playback speed is changed).

ステップS137において、処理中のGOPは表示開始GOPではないと判断された場合、ステップS138において、CPU20は、ステップS134またはステップS135において決定された表示位相のずれ量disp_phaseから、前回の処理、すなわち、1つ前に表示されるGOPにおける表示位相のずれ量prev_disp_phaseを減算し、その結果をずれ量補正値disp_zeroとして内部のレジスタに記憶するとともに、ステップS134またはステップS135において決定された表示位相のずれ量disp_phaseを1つ前に表示されるGOPにおける表示位相のずれ量prev_disp_phaseに代入して、処理は、図6のステップS79に戻り、ステップS80に進む。   If it is determined in step S137 that the GOP being processed is not the display start GOP, in step S138, the CPU 20 determines the previous processing from the display phase shift amount disp_phase determined in step S134 or step S135, that is, The display phase shift amount prev_disp_phase in the GOP displayed immediately before is subtracted, and the result is stored in the internal register as the shift amount correction value disp_zero, and the display phase shift amount determined in step S134 or step S135. By substituting disp_phase for the display phase shift amount prev_disp_phase in the GOP displayed immediately before, the process returns to step S79 in FIG. 6 and proceeds to step S80.

ステップS137において、処理中のGOPは表示開始GOPであると判断された場合、ステップS139において、CPU20は、ずれ量補正値disp_zeroとして、初期値0を設定して内部のレジスタに記憶し、処理は、図6のステップS79に戻り、ステップS80に進む。   If it is determined in step S137 that the GOP being processed is the display start GOP, in step S139, the CPU 20 sets an initial value 0 as the shift amount correction value disp_zero and stores it in the internal register. Then, the process returns to step S79 in FIG. 6 and proceeds to step S80.

このような処理により、デコード開始タイミングに対して表示開始タイミングをディレイさせる位相が決定される。   By such processing, the phase for delaying the display start timing with respect to the decode start timing is determined.

次に、図17のフローチャートを参照して、図6のステップS80において実行される、時間情報付きスケジュール決定処理について説明する。   Next, the schedule determination process with time information executed in step S80 of FIG. 6 will be described with reference to the flowchart of FIG.

ステップS161において、CPU20は、処理対象は、入力ストリーム状態が変更されてから最初の1GOP相当のデコード処理単位であるか否かを判断する。間引きの前後でピクチャタイプが変更されるのは、少なくとも2番目以降のデコード処理単位の場合であるので、ステップS161において、処理対象が、最初の1GOP相当のデコード処理単位であると判断された場合、処理は、後述するステップS166に進む。   In step S161, the CPU 20 determines whether the processing target is a decoding processing unit corresponding to the first 1 GOP after the input stream state is changed. Since the picture type is changed before and after the thinning out in at least the second and subsequent decoding processing units, in step S161, it is determined that the processing target is the decoding processing unit corresponding to the first 1 GOP. The processing proceeds to step S166 described later.

ステップS161において、処理対象が、最初の1GOP相当のデコード処理単位ではないと判断された場合、ステップS162において、CPU20は、間引きの前後で先頭ピクチャがIピクチャまたはPピクチャからBピクチャに変更されているか否かを判断する。   If it is determined in step S161 that the processing target is not a decoding processing unit corresponding to the first 1 GOP, in step S162, the CPU 20 changes the leading picture from an I picture or a P picture to a B picture before and after thinning. Determine whether or not.

ステップS162において、間引きの前後で先頭ピクチャがIピクチャまたはPピクチャからBピクチャに変更されていると判断された場合、ステップS163において、CPU20は、位相調整値を1とし、処理は、後述するステップS167に進む。   If it is determined in step S162 that the leading picture has been changed from the I picture or the P picture to the B picture before and after the thinning, in step S163, the CPU 20 sets the phase adjustment value to 1, and the process will be described later. The process proceeds to S167.

ステップS162において、間引きの前後で先頭ピクチャがIピクチャまたはPピクチャからBピクチャに変更されていないと判断された場合、ステップS164において、CPU20は、間引きの前後で先頭ピクチャがBピクチャからIまたはPピクチャに変更されているか否かを判断する。   If it is determined in step S162 that the leading picture has not been changed from the I picture or the P picture to the B picture before and after the thinning, in step S164, the CPU 20 determines that the leading picture is the I or P from the B picture before and after the thinning. It is determined whether or not the picture has been changed.

ステップS164において、間引きの前後で先頭ピクチャがBピクチャからIまたはPピクチャに変更されていると判断された場合、ステップS165において、CPU20は、位相調整値を−1とし、処理は、後述するステップS167に進む。   If it is determined in step S164 that the leading picture has been changed from the B picture to the I or P picture before and after the thinning, in step S165, the CPU 20 sets the phase adjustment value to −1, and the process will be described later. The process proceeds to S167.

ステップS161において、処理対象が、最初のデコード処理単位であると判断された場合、または、ステップS164において、間引きの前後で先頭ピクチャがBピクチャからIまたはPピクチャに変更されていないと判断された場合、ステップS166において、CPU20は、位相調整値を0とする。   If it is determined in step S161 that the processing target is the first decoding processing unit, or in step S164, it is determined that the leading picture has not been changed from a B picture to an I or P picture before and after thinning. In this case, in step S166, the CPU 20 sets the phase adjustment value to 0.

ステップS163、ステップS165、または、ステップS166の処理の終了後、ステップS167において、CPU20は、デコーダ22乃至デコーダ24のうちのいずれかのデコーダにおいてデコードされるデコード処理単位の16枚のピクチャにおいて、先頭のフレームがデコードされるタイミングを示すデコード開始時刻情報time_baseの値を、1つ前のデコード処理単位のデコード開始時刻情報であるprev_time_base、表示位相のずれ量補正値を示すdisp_zero、後述する間引き処理1において算出された時間情報調整値added_count、および、ステップS161乃至ステップS166の処理によって求められた位相調整値を用いて算出する(式(1))。   After the process of step S163, step S165, or step S166 is completed, in step S167, the CPU 20 starts with the 16 pictures in the decoding process unit to be decoded by any one of the decoders 22 to 24. The value of the decoding start time information time_base indicating the timing at which the frame is decoded is prev_time_base, which is the decoding start time information of the previous decoding processing unit, disp_zero indicating the display phase shift amount correction value, and thinning processing 1 described later Is calculated using the time information adjustment value added_count calculated in step S1 and the phase adjustment value obtained by the processing in steps S161 to S166 (formula (1)).

デコード開始時刻情報time_base=前GOPのデコード開始時刻情報prev_time_base−表示位相のずれ量補正値disp_zero+時間情報調整値added_count+位相調整値 ・・・(1)   Decoding start time information time_base = previous GOP decoding start time information prev_time_base−display phase shift amount correction value disp_zero + time information adjustment value added_count + phase adjustment value (1)

なお、表示開始GOPに対して、式(1)の演算処理が実行される場合、前GOPのデコード開始時刻情報を示すprev_time_base、および、前GOPの間引き処理1において算出される時間情報調整値added_countは、0として演算される。   Note that, when the calculation process of Expression (1) is executed for the display start GOP, prev_time_base indicating the decoding start time information of the previous GOP and the time information adjustment value added_count calculated in the previous GOP thinning process 1 Is calculated as 0.

ステップS168において、CPU20は、次にデータが供給されるデコーダに対応する時間情報付きI/Pピクチャデコードキューを設定する。   In step S168, the CPU 20 sets an I / P picture decoding queue with time information corresponding to the decoder to which data is next supplied.

時間情報付きI/Pピクチャデコードキューは、図11を用いて説明したI/Pピクチャデコードキューに設定されているピクチャIDに対応付けて、先頭にデコードされるピクチャのデコード開始時刻time_baseの情報、および、1フレームを単位とする時間カウンタのカウント値が設定されるものであり、再生装置1に備えられているデコーダごと(ここでは、デコーダ22乃至デコーダ24のそれぞれ)に対応して設けられている。   The I / P picture decoding queue with time information is associated with the picture ID set in the I / P picture decoding queue described with reference to FIG. 11, and information on the decoding start time time_base of the picture decoded at the head, In addition, the count value of the time counter in units of one frame is set, and is provided corresponding to each decoder (here, each of the decoder 22 to decoder 24) provided in the playback device 1. Yes.

具体的には、CPU20は、次のデータを供給するデコーダを示すレジスタの値を参照し、次にデータが供給されるデコーダに対応する時間情報付きI/Pピクチャデコードキューを設定する。CPU20は、I/PピクチャデコードキューにキューされているピクチャIDのうち、先頭のピクチャIDに対応するフレームがデコードされるタイミングを示す情報として、上述したデコード開始時刻情報time_baseの情報を用いるとともに、各ピクチャIDに対応するそれぞれのフレームがデコードされるタイミングを示す情報としては、1フレームを単位とする時間カウンタのカウント値を用いる。   Specifically, the CPU 20 refers to the value of the register indicating the decoder that supplies the next data, and sets the I / P picture decode queue with time information corresponding to the decoder to which the next data is supplied. The CPU 20 uses the information of the decoding start time information time_base described above as information indicating the timing at which the frame corresponding to the head picture ID among the picture IDs queued in the I / P picture decoding queue is decoded. As information indicating the timing at which each frame corresponding to each picture ID is decoded, the count value of the time counter in units of one frame is used.

ステップS168において、時間情報付きI/Pピクチャデコードキューが設定されたとき、I/PピクチャデコードキューにキューされているピクチャIDはすべて出力されて、I/Pピクチャデコードキューは空となる。   In step S168, when the I / P picture decoding queue with time information is set, all the picture IDs queued in the I / P picture decoding queue are output, and the I / P picture decoding queue becomes empty.

ステップS169において、CPU20は、次にデータが供給されるデコーダに対応する時間情報付き表示順設定キューを設定する。   In step S169, the CPU 20 sets a display order setting queue with time information corresponding to the decoder to which data is next supplied.

時間情報付き表示順設定キューは、図12を用いて説明した表示順設定キューに設定されているピクチャIDに対応付けて、先頭に表示されるピクチャのデコード開始時刻に対する表示タイミングの位相のずれ量から1を減算した値、および、1フレームを単位とする時間カウンタのカウント値が設定されるものであり、再生装置1に備えられているデコーダごと(ここでは、デコーダ22乃至デコーダ24のそれぞれ)に対応して設けられている。   The display order setting queue with time information is associated with the picture ID set in the display order setting queue described with reference to FIG. 12, and the shift amount of the display timing phase with respect to the decoding start time of the picture displayed at the head A value obtained by subtracting 1 from the above and a count value of a time counter in units of one frame are set for each decoder provided in the reproducing apparatus 1 (here, each of the decoders 22 to 24). It is provided corresponding to.

具体的には、CPU20は、次のデータを供給するデコーダを示すレジスタの値を参照し、次にデータが供給されるデコーダに対応する時間情報付き表示順設定キューを設定する。CPU20は、表示順設定キューにキューされているピクチャIDのうち、実際の表示順において先頭となるフレームに対応するフレームの表示タイミングを示す、上述した表示位相決定処理において決定された位相のずれ量disp_phaseから1を減算した値を、Bピクチャのデコードタイミングにあわせた基準時刻情報として用いるとともに、各ピクチャIDに対応するそれぞれのフレームがデコードされるタイミングを示す情報としては、1フレームを単位とする時間カウンタのカウント値を用いる。   Specifically, the CPU 20 refers to the value of the register indicating the decoder that supplies the next data, and sets the display order setting queue with time information corresponding to the decoder to which the next data is supplied. The CPU 20 displays the display timing of the frame corresponding to the first frame in the actual display order among the picture IDs queued in the display order setting queue, and the phase shift amount determined in the display phase determination process described above A value obtained by subtracting 1 from disp_phase is used as reference time information in accordance with the decoding timing of the B picture, and information indicating the timing at which each frame corresponding to each picture ID is decoded is in units of one frame. The count value of the time counter is used.

ステップS169において時間情報付き表示順設定キューが設定されたとき、表示順設定キューにキューされているピクチャIDはすべて出力されて、表示順設定キューは空となる。   When the display order setting queue with time information is set in step S169, all the picture IDs queued in the display order setting queue are output, and the display order setting queue becomes empty.

ステップS170において、CPU20は、デコード開始時刻情報time_baseに、上述した図16のステップS131において表示ピクチャ数レジスタに保持された値を加えた値を、前のGOPのデコード開始時刻情報prev_time_baseとして、レジスタに保存し、処理は、図6のステップS80に戻り、ステップS81に進む。   In step S170, the CPU 20 adds the value obtained by adding the value held in the display picture number register in step S131 of FIG. 16 described above to the decoding start time information time_base as the decoding start time information prev_time_base of the previous GOP. The process is saved, and the process returns to step S80 in FIG. 6 and proceeds to step S81.

このような処理により、デコードの処理単位となる16フレーム分のデコード処理タイミングが設定される。   By such processing, the decoding processing timing for 16 frames as a decoding processing unit is set.

図16および図17を用いて説明した処理により、デコードの位相と表示の位相が、IピクチャおよびPピクチャの枚数、表示する枚数、先頭に表示するピクチャがBピクチャであるか否かなどを基に決定されて、時間情報として設定される。これにより、複数のデコーダを用いて正逆方向の高速再生を行うときに発生する、それぞれのデコーダにおいてデコードされたり出力されて表示されるピクチャの枚数の変化に追従して、動的にスピードを変更して、連続的にデコード済みの画像を表示させることが可能となる。更に、再生スピードの変更が指令されて、任意の位置のピクチャから間引き間隔の変更が行なわれた場合でも、表示する数の増減を反映することで、対応しているスピード範囲において、再生スピードをフレーム単位で変更させて、連続的にスピードを変更させることが可能となる。   16 and 17, the decoding phase and the display phase are based on the number of I pictures and P pictures, the number of pictures to be displayed, and whether or not the picture to be displayed at the top is a B picture. And is set as time information. As a result, the speed is dynamically increased by following the change in the number of pictures that are decoded and output in each decoder, which are generated when high-speed playback in the forward and reverse directions is performed using a plurality of decoders. It is possible to change and display continuously decoded images. In addition, even when a change in playback speed is commanded and the thinning interval is changed from a picture at an arbitrary position, the playback speed can be adjusted within the supported speed range by reflecting the increase or decrease in the number to be displayed. It is possible to change the speed continuously by changing the frame unit.

図6乃至図17を用いて説明した処理により、図4のステップS32においてデコードスケジュール処理1が実行される。   The decode schedule process 1 is executed in step S32 of FIG. 4 by the process described with reference to FIGS.

そして、図4のステップS33において、最初のフレームから6フレーム目までのいずれかのフレームであるか否かが判断され、最初のフレームから6フレーム目までのいずれかのフレームであると判断された場合、ステップS34の1フレームディレイ表示設定処理はスキップされ、ステップS35において、フレーム制御処理1が実行される。   Then, in step S33 of FIG. 4, it is determined whether the frame is any frame from the first frame to the sixth frame, and is determined to be any frame from the first frame to the sixth frame. In this case, the one-frame delay display setting process in step S34 is skipped, and the frame control process 1 is executed in step S35.

次に、図18のフローチャートを参照して、図4のステップS35において実行される、フレーム制御処理1について説明する。   Next, the frame control process 1 executed in step S35 of FIG. 4 will be described with reference to the flowchart of FIG.

ステップS191において、CPU20は、再生装置1内で実行される各処理のタイミングを管理するためのカウンタである時間管理カウンタと、時間情報付きI/Pピクチャデコードキューを参照し、表示時刻が過ぎてしまったストリームデータがあるか否かを判断する。ステップS191において、表示時刻が過ぎてしまったストリームデータがあると判断された場合、処理は、後述するステップS197に進む。   In step S191, the CPU 20 refers to the time management counter, which is a counter for managing the timing of each process executed in the playback device 1, and the I / P picture decode queue with time information, and the display time has passed. It is determined whether there is stream data. If it is determined in step S191 that there is stream data whose display time has passed, the process proceeds to step S197 described later.

ステップS191において、表示時刻が過ぎてしまったストリームデータがないと判断された場合、ステップS192において、図19を用いて後述するIピクチャおよびPピクチャデコード処理が実行される。   If it is determined in step S191 that there is no stream data whose display time has passed, an I picture and P picture decoding process, which will be described later with reference to FIG. 19, is executed in step S192.

ステップS193において、図20を用いて後述するBピクチャデコード処理が実行される。   In step S193, a B picture decoding process to be described later with reference to FIG. 20 is executed.

ステップS194において、CPU20は、CPU11に、表示ピクチャ情報を通知する。具体的には、CPU20は、コントロールバス19を介して、PCIブリッジ17のリザルトバッファ32に、図3のステップS6において、CPU11から送信された表示開始コマンドに対するリザルトとして表示ピクチャ情報を書き込むことにより、CPU11に対して、表示ピクチャ情報を通知する。CPU11は、PCIブリッジ17のリザルトバッファ32に書き込まれる表示ピクチャ情報を参照することにより、表示されるピクチャがいずれのGOPのいずれのピクチャであるかを知ることができる。   In step S194, the CPU 20 notifies the display picture information to the CPU 11. Specifically, the CPU 20 writes display picture information as a result for the display start command transmitted from the CPU 11 in step S6 of FIG. 3 to the result buffer 32 of the PCI bridge 17 via the control bus 19. The display picture information is notified to the CPU 11. The CPU 11 can know which picture of which GOP the picture to be displayed by referring to the display picture information written in the result buffer 32 of the PCI bridge 17.

ステップS195において、CPU20は、時間管理カウンタをインクリメントする。   In step S195, the CPU 20 increments the time management counter.

ステップS196において、図23を用いて後述する間引き処理1が実行されて、処理は、図4のステップS35に戻り、ステップS36に進む。   In step S196, a thinning process 1 described later with reference to FIG. 23 is executed, and the process returns to step S35 in FIG. 4 and proceeds to step S36.

ステップS191において、表示時刻が過ぎてしまったストリームデータがあると判断された場合、ステップS197において、図35を用いて後述するアンダーフロー処理が実行されて、処理は、図4のステップS35に戻り、ステップS36に進む。   If it is determined in step S191 that there is stream data whose display time has passed, underflow processing described later with reference to FIG. 35 is executed in step S197, and the processing returns to step S35 in FIG. The process proceeds to step S36.

このような処理により、表示が遅れていなければ、設定されたデコードスケジュールに基づいて、1フレーム分のデコードが実行されて、表示ピクチャ情報が、CPU11に通知され、間引き処理1が実行される。そして、表示が遅れているとき、後述するアンダーフロー処理が実行される。   If display is not delayed by such processing, decoding for one frame is executed based on the set decoding schedule, display picture information is notified to the CPU 11, and thinning-out processing 1 is executed. When the display is delayed, underflow processing described later is executed.

次に、図19のフローチャートを参照して、図18のステップS192において実行されるIピクチャおよびPピクチャデコード処理について説明する。   Next, the I picture and P picture decoding processing executed in step S192 in FIG. 18 will be described with reference to the flowchart in FIG.

ステップS221において、CPU20は、時間管理カウンタの値と、時間情報付きI/Pピクチャデコードキューに設定された、次にデコードされるピクチャのピクチャIDに対応付けられている時間情報とが一致したか否かを判断する。ステップS221において、時間管理カウンタの値は、時間情報付きI/Pピクチャデコードキューに設定された時間情報と一致していないと判断された場合、処理は、図18のステップS192に戻り、ステップS193に進む。   In step S221, the CPU 20 determines whether the value of the time management counter matches the time information associated with the picture ID of the next decoded picture set in the I / P picture decoding queue with time information. Judge whether or not. If it is determined in step S221 that the value of the time management counter does not match the time information set in the I / P picture decoding queue with time information, the process returns to step S192 in FIG. Proceed to

ステップS221において、時間管理カウンタの値と、時間情報付きI/Pピクチャデコードキューに設定された時間情報とが一致したと判断された場合、ステップS222において、CPU20は、デコードを実行するデコーダとして設定されているデコーダ22乃至デコーダ24のうちのいずれかを、コントロールバス19を介して制御し、Iピクチャ、または、Pピクチャをデコードさせ、時間情報付きI/Pピクチャデコードキューから、デコードコマンドが実行されたピクチャに対応するピクチャIDを削除する。   If it is determined in step S221 that the value of the time management counter matches the time information set in the I / P picture decoding queue with time information, in step S222, the CPU 20 is set as a decoder that performs decoding. Any one of the decoders 22 to 24 is controlled via the control bus 19 to decode the I picture or P picture, and the decode command is executed from the I / P picture decode queue with time information. The picture ID corresponding to the selected picture is deleted.

具体的には、CPU20は、次のデータを供給するデコーダを示すレジスタに保持されている値を参照し、デコーダ22乃至デコーダ24のうちデコードを実行するデコーダとして設定されているもののエレメンタリストリームアドレス決定部73を制御して、時間情報付きI/Pピクチャデコードキューに設定されたピクチャIDに対応するピクチャのデータを、メモリコントローラ74により、入力バッファ75から読み出させて、デコード処理部77に供給させる。   Specifically, the CPU 20 refers to the value held in the register indicating the decoder that supplies the next data, and the elementary stream address of the decoder 22 to the decoder 24 that is set as the decoder that performs decoding. The determining unit 73 is controlled to cause the memory controller 74 to read out the picture data corresponding to the picture ID set in the I / P picture decoding queue with time information from the input buffer 75 and to the decoding processing unit 77. Supply.

デコードされるピクチャがIピクチャである場合、CPU20は、デコード処理部77を制御して、メモリコントローラ74から供給されたIピクチャをデコードさせるとともに、書き込み画アドレス決定部78を制御して、デコードされたフレームデータをメモリコントローラ81に供給させて、ビデオバンクメモリ82のうち、図6のステップS76においてIピクチャの格納用に指定されたバンクに保存させる。また、デコードされるピクチャがPピクチャである場合、CPU20は、参照画アドレス決定部79を制御して、図6のステップS76において設定されたPピクチャの参照バンク位置を基に、メモリコントローラ81により、ビデオバンクメモリ82に格納されている参照画を読み出させて、デコード処理部77に供給させ、デコード処理部77を制御して、メモリコントローラ74から供給されたPピクチャをデコードさせるとともに、書き込み画アドレス決定部78を制御して、デコードされたフレームデータをメモリコントローラ81に供給させて、ビデオバンクメモリ82のうち、図6のステップS76においてPピクチャの格納用に指定されたバンクに保存させる。   When the picture to be decoded is an I picture, the CPU 20 controls the decoding processing unit 77 to decode the I picture supplied from the memory controller 74 and also controls the writing image address determining unit 78 to perform decoding. The frame data is supplied to the memory controller 81 and stored in the bank designated for storing the I picture in step S76 of FIG. 6 in the video bank memory 82. Further, when the picture to be decoded is a P picture, the CPU 20 controls the reference picture address determination unit 79, and based on the reference bank position of the P picture set in step S76 in FIG. The reference picture stored in the video bank memory 82 is read out and supplied to the decoding processing unit 77, and the decoding processing unit 77 is controlled to decode and write the P picture supplied from the memory controller 74. The image address determination unit 78 is controlled to supply the decoded frame data to the memory controller 81 and stored in the bank designated for storing the P picture in the step S76 of FIG. 6 in the video bank memory 82. .

ステップS222の処理の終了後、処理は、図18のステップS192に戻り、ステップS193に進む。   After the process of step S222 ends, the process returns to step S192 of FIG. 18 and proceeds to step S193.

このような処理により、設定されたスケジュールに基づいて、Iピクチャ、または、Pピクチャがデコードされる。   Through such processing, an I picture or a P picture is decoded based on the set schedule.

次に、図20のフローチャートを参照して、図18のステップS193において実行されるBピクチャデコード処理について説明する。   Next, the B picture decoding process executed in step S193 in FIG. 18 will be described with reference to the flowchart in FIG.

ステップS241において、CPU20は、時間管理カウンタの設定と、時間情報付き表示順設定キューに設定された現在の先頭のピクチャIDに対応する時間情報が一致したか否かを判断する。時間情報付き表示順設定キューに設定された時間情報とは、スケジュール時の15フレームのうち、実際の表示順において先頭となるフレームに対応するフレームの表示タイミングを示す、上述した表示位相決定処理において決定された位相のずれ量disp_phaseから1を減算した値(Bピクチャのデコードタイミングにあわせた基準時刻情報)、または、15フレームのうち、実際の表示順において先頭となるフレーム以外の各ピクチャIDに対応する、1フレームを単位とする時間カウンタのカウント値である。ステップS241において、時間管理カウンタの設定は、時間情報付き表示順設定キューに設定された時間情報と一致しないと判断された場合、処理は、図18のステップS193に戻り、ステップS194に進む。   In step S241, the CPU 20 determines whether or not the setting of the time management counter matches the time information corresponding to the current first picture ID set in the display order setting queue with time information. In the display phase determination process described above, the time information set in the display order setting queue with time information indicates the display timing of the frame corresponding to the first frame in the actual display order among the 15 frames at the time of scheduling. A value obtained by subtracting 1 from the determined phase shift amount disp_phase (reference time information in accordance with the decoding timing of the B picture) or each picture ID other than the first frame in the actual display order among 15 frames. The count value of the corresponding time counter in units of one frame. If it is determined in step S241 that the setting of the time management counter does not match the time information set in the display order setting queue with time information, the process returns to step S193 in FIG. 18 and proceeds to step S194.

ステップS241において、時間管理カウンタの設定は、時間情報付き表示順設定キューに設定された時間情報と一致すると判断された場合、ステップS242において、CPU20は、時間情報と一致すると判断されたのは、Bピクチャに対応するピクチャIDであるか否かを判断する。   In step S241, when it is determined that the setting of the time management counter matches the time information set in the display order setting queue with time information, in step S242, the CPU 20 determines that it matches the time information. It is determined whether or not the picture ID corresponds to the B picture.

ステップS242において、時間情報と一致すると判断されたのは、Bピクチャに対応するピクチャIDであると判断された場合、ステップS243において、CPU20は、デコードを実行するデコーダとして設定されているデコーダ22乃至デコーダ24のうちのいずれかを、コントロールバス19を介して制御し、このピクチャIDで示されるBピクチャをデコードさせる。   In step S242, when it is determined that the picture ID corresponding to the B picture is determined to match the time information, in step S243, the CPU 20 sets the decoders 22 to 22 that are set as decoders that perform decoding. Any one of the decoders 24 is controlled via the control bus 19 to decode the B picture indicated by the picture ID.

具体的には、CPU20は、次のデータを供給するデコーダを示すレジスタに保持されている値を参照し、デコーダ22乃至デコーダ24のうちデコードを実行するデコーダとして設定されているもののエレメンタリストリームアドレス決定部73を制御して、時間情報付き表示順設定キューに設定されたピクチャIDに対応するピクチャのデータを、メモリコントローラ74により、入力バッファ75から読み出させて、デコード処理部77に供給させる。そして、CPU20は、参照画アドレス決定部79を制御して、図6のステップS77において設定されたBピクチャの参照バンク位置を基に、メモリコントローラ81により、ビデオバンクメモリ82に格納されている参照画を読み出させて、デコード処理部77に供給させ、デコード処理部77を制御して、メモリコントローラ74から供給されたBピクチャをデコードさせる。   Specifically, the CPU 20 refers to the value held in the register indicating the decoder that supplies the next data, and the elementary stream address of the decoder 22 to the decoder 24 that is set as the decoder that performs decoding. The determination unit 73 is controlled so that the picture data corresponding to the picture ID set in the display order setting queue with time information is read from the input buffer 75 by the memory controller 74 and supplied to the decoding processing unit 77. . Then, the CPU 20 controls the reference picture address determination unit 79, and the reference stored in the video bank memory 82 by the memory controller 81 based on the reference bank position of the B picture set in step S77 in FIG. The image is read out and supplied to the decoding processing unit 77, and the decoding processing unit 77 is controlled to decode the B picture supplied from the memory controller 74.

ステップS244において、CPU20は、Bピクチャを格納するバンク位置を設定する。すなわち、CPU20は、ビデオバンクメモリ82のうち、IピクチャまたはPピクチャの格納用に指定されていない2つのバンクに対してBピクチャが交互に格納されるように、書き込み画アドレス決定部78を制御する。CPU20は、書き込み画アドレス決定部78を制御して、デコード処理部77によりデコードされたフレームデータをメモリコントローラ81に供給させて、ビデオバンクメモリ82の設定されたバンク位置にデコードされたフレームデータを記憶させる。   In step S244, the CPU 20 sets a bank position for storing the B picture. That is, the CPU 20 controls the write image address determination unit 78 so that B pictures are alternately stored in two banks of the video bank memory 82 that are not designated for storing I pictures or P pictures. To do. The CPU 20 controls the writing image address determining unit 78 to supply the frame data decoded by the decoding processing unit 77 to the memory controller 81, and the decoded frame data at the set bank position in the video bank memory 82. Remember me.

ステップS242において、時間情報と一致すると判断されたのは、Bピクチャに対応するピクチャIDではないと判断された場合、または、ステップS244の処理の終了後、ステップS245において、CPU20は、時間情報付き表示順設定キューに設定された現在の先頭のピクチャIDを、表示キューに設定する。表示キューは、1つのピクチャIDのみが保持される深さ1のキューである。   In step S242, when it is determined that the picture ID corresponding to the time information is not the picture ID corresponding to the B picture, or after the process of step S244 is completed, the CPU 20 adds the time information. The current top picture ID set in the display order setting queue is set in the display queue. The display queue is a queue of depth 1 that holds only one picture ID.

具体的には、CPU20は、ステップS242において、時間情報と一致すると判断されたのは、Bピクチャに対応するピクチャIDではないと判断された場合、上述した図19のステップS222において、時間情報付き表示順設定キューに設定された現在の先頭のピクチャIDに対応するIピクチャまたはPピクチャのデコードが制御されているので、CPU20は、そのIピクチャまたはPピクチャに対応するピクチャIDを表示キューに設定する。また、ステップS242において、時間情報と一致すると判断されたのは、Bピクチャに対応するピクチャIDであると判断されて、ステップS243においてBピクチャのデコードが制御された場合、CPU20は、時間情報付き表示順設定キューに設定された現在の先頭のピクチャID、すなわち、デコードされたBピクチャに対応するピクチャIDを、表示キューに設定する。   Specifically, when the CPU 20 determines in step S242 that it is not the picture ID corresponding to the B picture that is determined to match the time information, in step S222 of FIG. 19 described above, the time information is added. Since decoding of the I picture or P picture corresponding to the current first picture ID set in the display order setting queue is controlled, the CPU 20 sets the picture ID corresponding to the I picture or P picture in the display queue. To do. In step S242, if it is determined that the picture ID corresponding to the B picture corresponds to the time information, and decoding of the B picture is controlled in step S243, the CPU 20 adds the time information. The current head picture ID set in the display order setting queue, that is, the picture ID corresponding to the decoded B picture is set in the display queue.

そして、時間情報付き表示順設定キューに設定された現在の先頭のピクチャIDは、時間情報付き表示順設定キューから出力され、表示キューに設定されたピクチャIDに対応するピクチャの次に表示されるピクチャに対応するピクチャIDが、時間情報付き表示順設定キューの先頭となるか、または、時間情報付き表示設定キューが空となる。ステップS245の処理の終了後、処理は、図18のステップS193に戻り、ステップS194に進む。   The current top picture ID set in the display order setting queue with time information is output from the display order setting queue with time information and displayed next to the picture corresponding to the picture ID set in the display queue. The picture ID corresponding to the picture is the head of the display order setting queue with time information, or the display setting queue with time information is empty. After the process of step S245 ends, the process returns to step S193 in FIG. 18 and proceeds to step S194.

このようにして、時間情報付きI/Pピクチャデコードキューおよび時間情報付き表示順設定キューに設定されている時間情報を基に、デコードが実行される。正方向再生の場合は、図21に示されるように、時間情報付きI/Pピクチャデコードキューに設定されている時間情報を基に、IピクチャおよびPピクチャがデコードされ、時間情報付き表示順設定キューに設定されている時間情報を基に、Bピクチャがデコードされる。また、逆方向再生の場合は、図22に示されるように、時間情報付きI/Pピクチャデコードキューに設定されている時間情報を基に、IピクチャおよびPピクチャがデコードされ、時間情報付き表示順設定キューに設定されている時間情報を基に、Bピクチャがデコードされる。   In this way, decoding is executed based on the time information set in the I / P picture decoding queue with time information and the display order setting queue with time information. In the case of forward reproduction, as shown in FIG. 21, the I picture and P picture are decoded based on the time information set in the I / P picture decoding queue with time information, and the display order with time information is set. The B picture is decoded based on the time information set in the queue. In the case of reverse playback, as shown in FIG. 22, the I picture and P picture are decoded based on the time information set in the I / P picture decoding queue with time information, and the display with time information is displayed. Based on the time information set in the order setting queue, the B picture is decoded.

また、Bピクチャのデコードのタイミングは、図21および図22に示されるように、正方向再生、逆方向再生のいずれの場合であっても、後述する1フレームディレイ表示設定処理により、Bピクチャのデコードのタイミングが表示されるタイミングと1フレームずれるようになされている。   In addition, as shown in FIGS. 21 and 22, the decoding timing of the B picture is determined by the 1-frame delay display setting process described later, regardless of whether the playback is in the forward direction or the backward direction. The decoding timing is shifted by one frame from the display timing.

なお、図21および図22においては、1倍速およびー1倍速における場合のデコードタイミングと表示タイミングについてそれぞれ図示されているが、高速再生が実行される場合、後述する間引き処理1により、時間情報付き表示順設定キューの設定が変更されて、次の処理ルーチンにおいて、間引き処理1後の時間情報付き表示順設定キューの設定を基に、デコードが実行されるようになされている。高速再生が実行される場合、Bピクチャはすべてデコードされるのではなく、間引かれてデコードされるが、IピクチャおよびPピクチャのデコードは、高速再生が実行される場合も、同様に全ピクチャにおいて実行される。   21 and 22 show the decode timing and the display timing in the case of 1 × speed and −1 × speed, respectively, but when high-speed playback is executed, time information is obtained by thinning-out processing 1 described later. The setting of the added display order setting queue is changed, and in the next processing routine, decoding is executed based on the setting of the display order setting queue with time information after the thinning-out process 1. When high-speed playback is executed, all B pictures are not decoded but are decoded by being thinned out. However, decoding of I pictures and P pictures also applies to all pictures when high-speed playback is executed. Executed in

次に、図23のフローチャートを参照して、図18のステップS195において実行される、間引き処理1について説明する。   Next, with reference to the flowchart of FIG. 23, the thinning process 1 executed in step S195 of FIG. 18 will be described.

ステップS271において、CPU20は、図5を用いて説明した入力ストリーム状態変更処理において設定されたストリーム入力状態を基に、ユーザの設定に基づいた再生速度は、正方向、または、逆方向の高速再生であるか否かを判断する。ステップS271において、高速再生ではないと判断された場合、処理は、図18のステップS196に戻り、図4のステップS36に進む。   In step S271, the CPU 20 uses the stream input state set in the input stream state change process described with reference to FIG. 5, and the playback speed based on the user setting is a fast playback in the forward direction or the reverse direction. It is determined whether or not. If it is determined in step S271 that the playback is not at high speed, the process returns to step S196 in FIG. 18 and proceeds to step S36 in FIG.

ステップS271において、高速再生であると判断された場合、ステップS272において、CPU20は、処理中のフレームは、スピード設定が変更された後の最初のGOPの最初のフレームであるか否かを判断する。   If it is determined in step S271 that high-speed playback is being performed, in step S272, the CPU 20 determines whether or not the frame being processed is the first frame of the first GOP after the speed setting has been changed. .

ステップS272において、処理中のフレームは、入力ストリーム状態が変更された後の最初のGOPの最初のフレームであると判断された場合、ステップS273において、CPU20は、スピード設定値を基に、間引き周期を決定して、レジスタに保存する。   If it is determined in step S272 that the frame being processed is the first frame of the first GOP after the input stream state has been changed, in step S273, the CPU 20 determines the thinning cycle based on the speed setting value. Is stored in a register.

具体的には、CPU20は、例えば、2倍速または−2倍速で再生が行われる場合、間引き周期を1/2としてレジスタに保存し、3倍速または−3倍速で再生が行われる場合、間引き周期を1/3としてレジスタに保存する。   Specifically, for example, when reproduction is performed at 2 × speed or −2 × speed, the CPU 20 stores the thinning cycle in the register as ½, and when reproduction is performed at 3 × speed or −3 × speed, Is saved in the register as 1/3.

ステップS274において、CPU20は、間引き処理1においてデコード処理単位にかかわらずフレームの数をカウントするフレームカウンタをリセットする。   In step S274, the CPU 20 resets a frame counter that counts the number of frames in the thinning process 1 regardless of the decoding process unit.

ステップS272において、処理中のフレームは、入力ストリーム状態が変更された後の最初のGOPの最初のフレームではないと判断された場合、または、ステップS274の処理の終了後、ステップS275において、CPU20は、時間情報付き表示順設定キューに保持されているピクチャIDに対応付けられて、確認済みフラグが設定されているか否かを基に、時間情報付き表示順設定キューはすべて確認済みであるか否かを判断する。確認済みフラグは、後述するステップS280の処理により、時間情報付き表示順設定キューに設定されるフラグである。ステップS275において、時間情報付き表示順設定キューはすべて確認済みであると判断された場合、処理は、図18のステップS196に戻り、図4のステップS36に進む。   In step S272, if it is determined that the frame being processed is not the first frame of the first GOP after the input stream state is changed, or after the processing of step S274 is completed, the CPU 20 determines in step S275. Whether or not all the display order setting queues with time information have been confirmed based on whether or not the confirmed flag is set in association with the picture ID held in the display order setting queue with time information. Determine whether. The confirmed flag is a flag that is set in the display order setting queue with time information by the processing in step S280 described later. If it is determined in step S275 that all display order setting queues with time information have been confirmed, the process returns to step S196 in FIG. 18 and proceeds to step S36 in FIG.

ステップS275において、時間情報付き表示順設定キューはすべて確認済みではない、換言すれば、時間情報付き表示順設定キューに確認済みフラグが設定されていないピクチャIDが残っていると判断された場合、ステップS276において、CPU20は、フレームカウンタを1インクリメントする。   If it is determined in step S275 that all the display order setting queues with time information have not been confirmed, in other words, it is determined that there is still a picture ID for which the confirmed flag is not set in the display order setting queue with time information. In step S276, the CPU 20 increments the frame counter by one.

ステップS277において、CPU20は、間引き周期の決定の結果、レジスタに保持されている間引き周期と、フレームカウンタの値を参照し、フレームカウンタに示されるフレームは表示されるか否かを判断する。具体的には、CPU20は、間引き周期が1/2である場合、フレーム数をカウントするフレームカウンタの値が2n(nは正の整数)であれば、表示を行い、それ以外の場合は、表示を行わないようにしたり、間引き周期が1/3である場合、フレーム数をカウントするフレームカウンタの値が3n(nは正の整数)であれば、表示を行い、それ以外の場合は、表示を行わないようにする。ステップS277において、表示が行われると判断された場合、すなわち、間引かれないフレームであると判断された場合、処理は、後述するステップS280に進む。   In step S277, as a result of determining the thinning cycle, the CPU 20 refers to the thinning cycle held in the register and the value of the frame counter, and determines whether or not the frame indicated by the frame counter is displayed. Specifically, when the thinning cycle is ½, the CPU 20 performs display if the value of the frame counter that counts the number of frames is 2n (n is a positive integer), otherwise, When the display is not performed or the thinning cycle is 1/3, if the value of the frame counter that counts the number of frames is 3n (n is a positive integer), the display is performed. Otherwise, the display is performed. Do not display. If it is determined in step S277 that display is to be performed, that is, if it is determined that the frame is not thinned, the process proceeds to step S280 described later.

ステップS277において、表示されないと判断された場合、すなわち、間引かれるフレームであると判断された場合、ステップS278において、CPU20は、処理対象のフレームに対応するピクチャIDを、時間情報付き表示順設定キューから削除するか、または、時間情報付き表示順設定キューの対応するピクチャIDに対して、非表示であることを示すフラグを対応付ける。   If it is determined in step S277 that it is not displayed, that is, if it is determined that the frame is to be thinned out, in step S278, the CPU 20 sets the picture ID corresponding to the processing target frame to the display order with time information. Either delete from the queue, or associate a flag indicating non-display with the corresponding picture ID in the display order setting queue with time information.

ステップS279において、図24を用いて説明する、時間情報再設定処理が実行される。   In step S279, the time information resetting process described with reference to FIG. 24 is executed.

ステップS277において、フレームカウンタに示されるフレームの表示が行われると判断された場合、または、ステップS279の処理の終了後、ステップS280において、CPU20は、時間情報付き表示順設定キューのフレームカウンタに示されるフレームに対応するピクチャIDに対応付けて確認済みフラグを設定し、処理は、ステップS275に戻り、それ以降の処理が繰り返される。   When it is determined in step S277 that the frame indicated by the frame counter is displayed, or after the processing of step S279 is completed, in step S280, the CPU 20 indicates in the frame counter of the display order setting queue with time information. The confirmed flag is set in association with the picture ID corresponding to the frame to be processed, the process returns to step S275, and the subsequent processes are repeated.

このような処理により、表示されないフレームのピクチャIDが、時間情報付き表示順設定キューから削除されるか、または、時間情報付き表示順設定キューの対応するピクチャIDに対して、非表示であることを示すフラグが対応付けられる。Bピクチャのデコード処理と、1フレームディレイ表示設定処理(後述)は、時間情報付き表示順設定キューを参照して実行される。高速再生の設定に基づいて、時間情報付き表示順設定キューの設定が更新されるため、この処理ルーチン以降にデコードされるBピクチャは、表示されるもののみとなり(間引かれるBピクチャは、デコード処理部77に供給されない)、間引かれるIピクチャまたはPピクチャは、デコードはされるが、表示されないようになされる。   By such processing, the picture ID of a frame that is not displayed is deleted from the display order setting queue with time information, or is not displayed with respect to the corresponding picture ID in the display order setting queue with time information. Are associated with each other. The B picture decoding process and the one-frame delay display setting process (described later) are executed with reference to the display order setting queue with time information. Since the setting of the display order setting queue with time information is updated based on the setting of high-speed playback, the B picture decoded after this processing routine is only displayed (the B picture to be thinned is decoded) The I picture or P picture to be thinned out is not decoded but is not displayed.

また、フレームカウンタは、スピード設定が変更されるまで、すなわち、入力ストリーム状態が変更されるまで、GOPにかかわらず、リセットされずに連続してインクリメントされるので、例えば、1GOPが15フレームで構成されている場合の2倍速、4倍速、または、−2倍速、−4倍速など、間引き周期の分母が1GOPを構成するフレームの数を割り切ることができない値となってしまうため、GOPによって、表示されないピクチャの位置が変更される場合であっても、入力ストリームにおけるフレームの順番を示すフレームカウンタの値を用いて、間引き周期を基に、表示が行われるか否かを容易に決定することができる。   Further, the frame counter is continuously incremented without being reset regardless of the GOP until the speed setting is changed, that is, until the input stream state is changed. For example, 1 GOP is composed of 15 frames. If the denominator of the decimation period becomes a value that cannot divide the number of frames constituting 1 GOP, such as 2 × speed, 4 × speed, −2 × speed, −4 × speed, etc. Even when the position of a picture that is not changed is changed, it is possible to easily determine whether or not display is performed based on the thinning cycle by using the value of the frame counter indicating the order of frames in the input stream. it can.

このようにして、Bピクチャはデコーダへのストリーム入力で間引き、IピクチャおよびPピクチャはデコード後の表示を止めることで、等間隔で間引きが施され、スピードの動的な変更に追従可能なように高速再生を行うことが可能となる。IピクチャおよびPピクチャは、デコード時に他のピクチャからの参照画像として用いられる場合があるので、この方法は、できるだけバンクメモリの面数を少なくして等間隔で間引きを施して高速再生を実行するために、有効な方法である。   In this way, the B picture is thinned out by the stream input to the decoder, and the I picture and the P picture are thinned out at equal intervals by stopping the display after decoding, so that the dynamic change of the speed can be followed. It is possible to perform high-speed playback. Since the I picture and the P picture may be used as reference images from other pictures at the time of decoding, this method performs high-speed playback by thinning out at equal intervals while reducing the number of faces of the bank memory as much as possible. Therefore, it is an effective method.

これにより、等間隔の間引きを行いつつ、デコーダを2つ用いる場合には、−3倍乃至3倍の範囲で速度設定が可能となり、デコーダを3つ用いる場合には、−6倍乃至6倍の範囲で速度設定が可能となり、更に、2個以上のデコーダにおいて、同様の間引き処理1の制御を適用して、高速再生を実現することができる。   Thus, when two decoders are used while thinning out at equal intervals, the speed can be set in a range of -3 to 3 times, and when three decoders are used, -6 to 6 times. In addition, the speed can be set within the range of the above, and the high-speed reproduction can be realized by applying the same control of the thinning process 1 to two or more decoders.

次に、図24のフローチャートを参照して、図23のステップS279において実行される時間情報再設定処理について説明する。   Next, the time information resetting process executed in step S279 of FIG. 23 will be described with reference to the flowchart of FIG.

ステップS301において、CPU20は、スピード設定値の変更により発生した間引き処理1によるピクチャの変更数(削除数または追加数)を検出する。   In step S <b> 301, the CPU 20 detects the number of picture changes (deletion number or addition number) by the thinning-out process 1 generated by changing the speed setting value.

ステップS302において、CPU20は、ピクチャの変更数(削除数または追加数)を、時間情報調整値added_countとする。   In step S302, the CPU 20 sets the number of picture changes (the number of deletions or the number of additions) as the time information adjustment value added_count.

ステップS303において、CPU20は、時間情報付き表示順設定キューの時間情報を、連続となるように再設定し、処理は、図23のステップS279に戻り、ステップS280に進む。   In step S303, the CPU 20 resets the time information in the display order setting queue with time information so as to be continuous, and the process returns to step S279 in FIG. 23 and proceeds to step S280.

このような処理により、再生速度の設定値に対応して、間引き後の時間情報付き表示順設定キューの設定が変更され、これ以降の処理ルーチンにおいては、変更された時間情報付き表示順設定キューを基に、Bピクチャのデコードタイミングとすべてのフレームの表示設定が制御される。   By such processing, the setting of the display order setting queue with time information after thinning is changed corresponding to the set value of the playback speed, and the display order setting queue with changed time information is changed in subsequent processing routines. Based on this, the decoding timing of the B picture and the display setting of all frames are controlled.

間引き処理1における時間情報付き表示順設定キューの設定について、図25乃至図30を用いて説明する。図25乃至図30においては、上部に、間引き前のスケジューリングの状態が、間引きされるフレームを点線で記載することによって示されており、その下部に、間引き処理1後のスケジューリングの状態が示されている。また、図25乃至図30において、カッコ内の数字の0,1,2は、デコーダ22乃至デコーダ24のうちのいずれかに対応してそれぞれ設定されている情報キューに蓄積される情報、または、デコーダ22乃至デコーダ24のうちのいずれかにおいてそれぞれ実行される処理であることを示すものである。   The setting of the display order setting queue with time information in the thinning process 1 will be described with reference to FIGS. In FIG. 25 to FIG. 30, the state of scheduling before thinning is shown in the upper part by describing the thinned frames with dotted lines, and the state of scheduling after the thinning process 1 is shown in the lower part. ing. In FIG. 25 to FIG. 30, the numbers 0, 1, and 2 in parentheses are information accumulated in information queues respectively set corresponding to any of the decoders 22 to 24, or This indicates that the process is executed in any one of the decoders 22 to 24.

例えば、+2倍速の高速再生における場合、図25に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−7であり、時間情報調整値added_countは、−7となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプがIピクチャから変更されてBピクチャとなるので、位相調整値は−1となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが0であるとき、−8となる。そして、2つ目のGOPの表示開始タイミングは、先頭がBピクチャであることからIピクチャのデコード開始タイミングより7フレーム分遅れる。   For example, in the case of high-speed playback at + 2 × speed, as shown in FIG. 25, the change in the number of displayed pictures in the decoding unit before and after thinning is −7, and the time information adjustment value added_count is −7. Since the picture type of the first picture of the next decoding unit is changed from I picture to B picture, the phase adjustment value is −1. Therefore, the adjustment amount of time_base is the display phase shift amount correction value disp_zero. When is 0, it is -8. The display start timing of the second GOP is delayed by 7 frames from the decoding start timing of the I picture because the head is a B picture.

また、例えば、−2倍速の高速再生における場合、図26に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−7であり、時間情報調整値added_countは、−7となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプは、Bピクチャのまま変更されないので、位相調整値は0となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが0であるとき、−7となる。そして、2つ目のGOPの表示開始タイミングは、先頭がBピクチャであることからIピクチャのデコード開始タイミングより7フレーム分遅れる。   Further, for example, in the case of high-speed playback at −2 × speed, as shown in FIG. 26, the change in the number of displayed pictures in the decoding unit before and after thinning is −7, and the time information adjustment value added_count is −7. . Since the picture type of the first picture of the next decoding unit remains the B picture, the phase adjustment value is 0, and therefore the time_base adjustment amount is 0 for the display phase shift amount correction value disp_zero. When it becomes -7. The display start timing of the second GOP is delayed by 7 frames from the decoding start timing of the I picture because the head is a B picture.

例えば、+4倍速の高速再生における場合、図27に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−11であり、時間情報調整値added_countは、−11となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプがIピクチャから変更されてBピクチャとなるので、位相調整値は−1となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが0であるとき、−12となる。そして、2つ目のGOPの表示開始タイミングは、先頭がBピクチャであることからIピクチャのデコード開始タイミングより7フレーム分遅れる。   For example, in the case of high-speed playback at + 4 × speed, as shown in FIG. 27, the change in the number of displayed pictures in the decoding unit before and after thinning is −11, and the time information adjustment value added_count is −11. Since the picture type of the first picture of the next decoding unit is changed from I picture to B picture, the phase adjustment value is −1, and the adjustment amount of time_base is the display phase shift amount correction value disp_zero. When is 0, it is −12. The display start timing of the second GOP is delayed by 7 frames from the decoding start timing of the I picture because the head is a B picture.

例えば、−4倍速の高速再生における場合、図28に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−11であり、時間情報調整値added_countは、−11となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプは、Bピクチャのまま変更されないので、位相調整値は0となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが0であるとき、−11となる。そして、2つ目のGOPの表示開始タイミングは、先頭がBピクチャであることからIピクチャのデコード開始タイミングより7フレーム分遅れる。   For example, in the case of high-speed playback at -4 times speed, as shown in FIG. 28, the change in the number of displayed pictures in the decoding unit before and after thinning is -11, and the time information adjustment value added_count is -11. Since the picture type of the first picture of the next decoding unit remains the B picture, the phase adjustment value is 0, and therefore the time_base adjustment amount is 0 for the display phase shift amount correction value disp_zero. Then -11. The display start timing of the second GOP is delayed by 7 frames from the decoding start timing of the I picture because the head is a B picture.

例えば、+5倍速の高速再生における場合、図29に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−12であり、時間情報調整値added_countは、−12となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプは、Iピクチャのまま変更されないので、位相調整値は0となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが0であるとき、−12となる。そして、2つ目のGOPの表示開始タイミングは、先頭がIピクチャであることからIピクチャのデコード開始タイミングより6フレーム分遅れる。   For example, in the case of high-speed playback at + 5 × speed, as shown in FIG. 29, the change in the number of displayed pictures in the decoding unit before and after thinning is −12, and the time information adjustment value added_count is −12. Since the picture type of the first picture in the next decoding unit remains unchanged from I picture, the phase adjustment value is 0. Therefore, the display phase shift amount correction value disp_zero is 0 as the time_base adjustment amount. When it becomes -12. The display start timing of the second GOP is delayed by 6 frames from the decoding start timing of the I picture because the head is the I picture.

例えば、−5倍速の高速再生における場合、図30に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−12であり、時間情報調整値added_countは、−12となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプは、Bピクチャのまま変更されないので、位相調整値は0となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが0であるとき、−12となる。そして、2つ目のGOPの表示開始タイミングは、先頭がBピクチャであることからIピクチャのデコード開始タイミングより7フレーム分遅れる。   For example, in the case of -5 × high-speed playback, as shown in FIG. 30, the change in the number of displayed pictures in the decoding unit before and after thinning is −12, and the time information adjustment value added_count is −12. Since the picture type of the first picture of the next decoding unit remains the B picture, the phase adjustment value is 0, and therefore the time_base adjustment amount is 0 for the display phase shift amount correction value disp_zero. When it becomes -12. The display start timing of the second GOP is delayed by 7 frames from the decoding start timing of the I picture because the head is a B picture.

そして、図25乃至図30に示されるように、次に繰り返して実行される、図17を用いて説明した時間情報付きスケジュール決定処理のステップS167において、デコード開始時刻情報time_baseが、上述した式(1)を基に算出される。そして、図25乃至図30に示されるように、算出されたデコード開始時刻情報time_baseを基に、時間情報付きI/Pピクチャデコードキューに設定されたピクチャIDに対応するIピクチャおよびPピクチャのデコード開始タイミングが決定され、算出されたデコード開始時刻情報time_baseと、表示されないフレームが削除された時刻情報付き表示順設定キューを基に、間引き処理1後のBピクチャのデコードおよび表示のスケジュールが決定される。   Then, as shown in FIG. 25 to FIG. 30, in step S167 of the schedule determination process with time information described with reference to FIG. Calculated based on 1). Then, as shown in FIG. 25 to FIG. 30, based on the calculated decoding start time information time_base, decoding of the I picture and P picture corresponding to the picture ID set in the I / P picture decoding queue with time information The start timing is determined, and the decoding and display schedule of the B picture after the thinning-out process 1 is determined based on the calculated decoding start time information time_base and the display order setting queue with time information from which frames that are not displayed are deleted. The

例えば、N=15,M=3のLONG GOPのMPEGストリームを再生装置1でデコードする場合、図2のビデオバンクメモリ82の8つのバンクのうちのバンクNo.0乃至5の6つのバンクに、固定的に、I,P,P,P,P,Iのアンカーフレームが格納され、Bピクチャが、表示の1フレーム前にデコードされるように、残りのバンクNo.6および7に交互に格納されるようにすることで、ビデオバンクメモリ82に備えられているバンクが8面のみであっても、正方向、逆方向で、デコーダの数(本実施例の再生装置1では3つ)に対応して定められるスピード範囲内の表示を実行させることが可能である。   For example, when a playback apparatus 1 decodes a LONG GOP MPEG stream with N = 15 and M = 3, the bank No. of the eight banks of the video bank memory 82 in FIG. The remaining banks are such that the anchor frames of I, P, P, P, P, and I are fixedly stored in the six banks 0 to 5, and the B picture is decoded one frame before the display. No. By storing alternately in 6 and 7, even if the bank provided in the video bank memory 82 has only 8 faces, the number of decoders in the forward direction and the reverse direction (reproduction of this embodiment) In the apparatus 1, it is possible to execute display within a speed range determined corresponding to three).

図31乃至図34を用いて、図2のビデオバンクメモリ82の設定について説明する。   The setting of the video bank memory 82 in FIG. 2 will be described with reference to FIGS.

図31は、1倍速再生時に各ピクチャが図2のビデオバンクメモリ82の8つのバンクに格納される状態を表す図である。   FIG. 31 is a diagram illustrating a state in which each picture is stored in eight banks of the video bank memory 82 of FIG.

バンクNo.0乃至5は、IピクチャおよびPピクチャに占有され、デコード済みのIピクチャおよびPピクチャが、デコード順に格納されるようになされている。そして、最初のI2ピクチャの表示タイミングと同時に、バンクNo.6にB3ピクチャが格納され、B3ピクチャが表示されるタイミングと同時に、バンクNo.7にB4ピクチャが格納され、B3ピクチャが表示されるタイミングには、表示が終了されたB3ピクチャが格納されていたバンクNo.6と、参照画像としての利用が終了したI2ピクチャが格納されていたバンクNo.0とが開放される。その後、バンクNo.6および7には、Bピクチャが、Bピクチャの表示タイミングがデコードタイミングに対して1フレーム遅れるように交互に格納され、表示後に開放される。また、バンクNo.1乃至5は、格納されていたPピクチャの参照画像としての利用が終了した時点で開放される。すなわち、バンクNo.0乃至5は、ピクチャの表示によって開放されるのではなく、格納されていたIピクチャまたはPピクチャの参照画像としての利用とピクチャの表示とがいずれも終了した時点で開放される。   Bank No. 0 to 5 are occupied by I pictures and P pictures, and decoded I pictures and P pictures are stored in the decoding order. At the same time as the display timing of the first I2 picture, the bank No. 6 stores the B3 picture, and at the same time when the B3 picture is displayed, the bank No. 7 is stored, and at the timing when the B3 picture is displayed, the bank No. in which the B3 picture that has been displayed is stored is stored. 6 and the bank No. in which the I2 picture that has been used as a reference image has been stored. 0 is released. After that, bank no. 6 and 7 store B pictures alternately so that the display timing of the B pictures is delayed by one frame with respect to the decode timing, and are released after display. In addition, bank No. 1 to 5 are released when the stored P picture is used as a reference image. That is, bank no. 0 to 5 are not released when the picture is displayed, but are released when the use of the stored I picture or P picture as the reference image and the display of the picture are completed.

図32は、2倍速再生時に各ピクチャが図2のビデオバンクメモリ82の8つのバンクに格納される状態を表す図である。   FIG. 32 is a diagram showing a state in which each picture is stored in eight banks of the video bank memory 82 of FIG.

バンクNo.0乃至5は、IピクチャおよびPピクチャに占有され、デコード済みのIピクチャおよびPピクチャが、デコード順に格納されるようになされている。そして、最初のI2ピクチャの表示タイミングと同時に、バンクNo.6にB4ピクチャが格納され、B4ピクチャが表示されるタイミングと同時に、バンクNo.7にB6ピクチャが格納され、B6ピクチャが表示されるタイミングには、表示が終了されたB4ピクチャが格納されていたバンクNo.6と、参照画像としての利用が終了したI2ピクチャが格納されていたバンクNo.0とが開放される。その後、バンクNo.6および7には、間引かれていないBピクチャが、Bピクチャの表示タイミングがデコードタイミングに対して1フレーム遅れるように交互に格納され、表示後に開放される。また、バンクNo.0乃至5は、ピクチャの表示によって開放されるのではなく、格納されていたIピクチャまたはPピクチャの参照画像としての利用とピクチャの表示とがいずれも終了した時点で開放されるので、バンクNo.1乃至5は、格納されていたPピクチャの参照画像としての利用とピクチャの表示とがいずれも終了した時点で開放される。   Bank No. 0 to 5 are occupied by I pictures and P pictures, and decoded I pictures and P pictures are stored in the decoding order. At the same time as the display timing of the first I2 picture, the bank No. 6 stores the B4 picture, and at the same time the B4 picture is displayed, the bank No. 7 is stored, and at the timing when the B6 picture is displayed, the bank No. in which the B4 picture that has been displayed is stored is stored. 6 and the bank No. in which the I2 picture that has been used as a reference image has been stored. 0 is released. After that, bank no. In 6 and 7, B pictures that are not thinned out are alternately stored so that the display timing of the B pictures is delayed by one frame with respect to the decoding timing, and are released after display. In addition, bank No. 0 to 5 are not released when the picture is displayed, but are released when the use of the stored I picture or P picture as the reference image and the display of the picture are completed. . 1 to 5 are released when the use of the stored P picture as a reference image and the display of the picture are completed.

図33は、−1倍速再生時に各ピクチャが図2のビデオバンクメモリ82の8つのバンクに格納される状態を表す図である。   FIG. 33 is a diagram illustrating a state in which each picture is stored in eight banks of the video bank memory 82 of FIG.

バンクNo.0乃至5は、IピクチャおよびPピクチャに占有され、デコード済みのIピクチャおよびPピクチャが、デコード順に格納されるようになされている。そして、バンクNo.5にI2ピクチャが格納された次のタイミングで、バンクNo.6にB1ピクチャが格納され、B1ピクチャが表示されるタイミングと同時に、バンクNo.7にB0ピクチャが格納され、B1ピクチャが表示されるタイミングには、表示が終了されたB1ピクチャが格納されていたバンクNo.6が開放される。その後、バンクNo.6および7には、Bピクチャが、Bピクチャの表示タイミングがデコードタイミングに対して1フレーム遅れるように、交互に格納され、表示後に開放される。バンクNo.0乃至5は、ピクチャの表示か、格納されていたIピクチャまたはPピクチャの参照画像としての利用が終了した時点のうちのいずれか遅いタイミングで開放される。すなわち、図33における場合は、逆方向再生であるので、最初にバンクNo.0に格納されたI2ピクチャは、最後に表示されるため、このGOPの表示が終了するまで開放されない。   Bank No. 0 to 5 are occupied by I pictures and P pictures, and decoded I pictures and P pictures are stored in the decoding order. And bank no. 5 at the next timing when the I2 picture is stored in the bank No. 6 stores the B1 picture, and at the same time when the B1 picture is displayed, the bank No. 7 stores the B0 picture, and at the timing when the B1 picture is displayed, the bank No. in which the B1 picture that has been displayed is stored is stored. 6 is opened. After that, bank no. In 6 and 7, the B picture is alternately stored so that the display timing of the B picture is delayed by one frame with respect to the decode timing, and is released after display. Bank No. 0 to 5 are released at the later timing of the display of the picture or the point in time when the use of the stored I picture or P picture as the reference image ends. That is, in the case of FIG. Since the I2 picture stored in 0 is displayed last, it is not released until the display of this GOP is completed.

図34は、−2倍速再生時に各ピクチャが図2のビデオバンクメモリ82の8つのバンクに格納される状態を表す図である。   FIG. 34 is a diagram illustrating a state in which each picture is stored in eight banks of the video bank memory 82 of FIG.

バンクNo.0乃至5は、IピクチャおよびPピクチャに占有され、デコード済みのIピクチャおよびPピクチャが、デコード順に格納されるようになされている。そして、バンクNo.5にI2ピクチャが格納された次のタイミングで、バンクNo.6にB1ピクチャが格納され、B1ピクチャが表示されるタイミングの次のタイミングで、バンクNo.7にB12ピクチャが格納され、表示が終了されたB1ピクチャが格納されていたバンクNo.6が開放される。その後、バンクNo.6および7には、間引かれていないBピクチャが、Bピクチャの表示タイミングがデコードタイミングに対して1フレーム遅れるように交互に格納され、表示後に開放される。バンクNo.0乃至5は、ピクチャの表示か、格納されていたIピクチャまたはPピクチャの参照画像としての利用が終了した時点のうちのいずれか遅いタイミングで開放される。すなわち、図34における場合も、逆方向再生であるので、最初にバンクNo.0に格納されたI2ピクチャは、最後に表示されるため、このGOPの表示が終了するまで開放されない。   Bank No. 0 to 5 are occupied by I pictures and P pictures, and decoded I pictures and P pictures are stored in the decoding order. And bank no. 5 at the next timing when the I2 picture is stored in the bank No. 6 stores the B1 picture, and at the timing next to the timing when the B1 picture is displayed, the bank No. 7 stores the B12 picture and the bank No. in which the B1 picture that has been displayed is stored. 6 is opened. After that, bank no. In 6 and 7, B pictures that are not thinned out are alternately stored so that the display timing of the B pictures is delayed by one frame with respect to the decoding timing, and are released after display. Bank No. 0 to 5 are released at the later timing of the display of the picture or the point in time when the use of the stored I picture or P picture as the reference image ends. That is, in the case of FIG. Since the I2 picture stored in 0 is displayed last, it is not released until the display of this GOP is completed.

このように、MPEGなどに代表される画像圧縮方式で一般的な双方向のフレーム間予測を用いて圧縮した映像データを逆転再生、高速再生するような場合において、IピクチャおよびPピクチャを先にデコードし、Bピクチャのデコードを表示の1フレーム前のタイミングとなるようにスケジュールすることにより、IピクチャおよびPピクチャを、フレームを保持しておくバンクの固定位置に格納し、複雑なバンク面制御を行うことなく、バンクの面数をできるだけ少なくして、効率よく逆方向再生、逆方向高速再生を実現することができる。   In this way, when video data compressed using general bidirectional inter-frame prediction in an image compression method typified by MPEG or the like is played back in reverse or at high speed, the I picture and P picture are first used. By decoding and scheduling the decoding of the B picture at the timing one frame before the display, the I picture and the P picture are stored in a fixed position of the bank holding the frame, and complex bank surface control is performed. Without performing the above, it is possible to efficiently realize reverse reproduction and reverse high-speed reproduction by reducing the number of bank faces as much as possible.

具体的には、フレームを保持しておくバンクの数が、デコードの処理単位に含まれるIピクチャおよびPピクチャの数と、Bピクチャ格納分の2面との合計数であれば、アンカーフレームであるIピクチャおよびPピクチャを、バンクの固定位置に格納して、複雑なバンク面制御を行わずに、高速再生、逆方向再生を実現することができる。   Specifically, if the number of banks holding frames is the total number of I pictures and P pictures included in the decoding processing unit and two planes for storing B pictures, the anchor frame is used. A certain I picture and P picture can be stored in a fixed position of the bank, and high-speed playback and reverse playback can be realized without performing complicated bank surface control.

例えば、本実施例のように、N=15,M=3の、MPEG LONG GOPストリームでは、I,P,P,P,Pピクチャの5面+次のIピクチャの1面+Bピクチャの2面の合計で、8面のビデオバンクメモリを用意することにより、IピクチャおよびPピクチャを、バンクの固定位置に格納して、複雑なバンク面制御を行わずに、高速再生、逆方向再生、逆方向高速再生を実現することができる。   For example, as in this embodiment, in an MPEG LONG GOP stream with N = 15 and M = 3, 5 planes of I, P, P, P, and P pictures + 1 plane of the next I picture + 2 planes of B picture In total, by preparing an 8-side video bank memory, I pictures and P pictures are stored at fixed positions in the bank, and high-speed playback, reverse playback, and reverse are performed without complicated bank plane control. Direction high-speed playback can be realized.

また、ユーザからの操作によるスピード変更レスポンスを向上するために、フレーム単位でスピードを変更する目的で、Bピクチャのデコードおよび、表示を止める処理を行おうとしたとき、Bピクチャのデコードと、表示のタイミングの制御を別に管理しているにもかかわらず、バンクを管理するための処理が煩雑となることを防いで、バンク管理をシンプルにすることができ、例えば、入力ストリームの過渡状態で不正な参照処理などが行われたとしても容易に復帰することができ(後述するアンダーフロー処理)、スピード変更をフレーム単位に行うことができる。   In addition, in order to improve the speed change response by the operation from the user, when trying to perform the process of decoding and stopping the display of the B picture for the purpose of changing the speed in units of frames, the decoding and display of the B picture Although the timing control is managed separately, the bank management can be simplified by avoiding complicated processing for managing the bank. For example, it is illegal in the transient state of the input stream. Even if a reference process or the like is performed, it can be easily restored (underflow process described later), and a speed change can be performed on a frame basis.

次に、図35のフローチャートを参照して、図18のステップS197において実行されるアンダーフロー処理について説明する。   Next, the underflow process executed in step S197 in FIG. 18 will be described with reference to the flowchart in FIG.

ステップS361において、CPU20は、時間管理カウンタおよび時間カウンタを参照し、表示処理に対してストリームデータの供給が間に合っていない状態、すなわち、アンダーフローが発生したか否かを判断する。ステップS361において、アンダーフローが発生していないと判断された場合、処理は、図18のステップS197に戻り、図4のステップS36に進む。   In step S361, the CPU 20 refers to the time management counter and the time counter, and determines whether the stream data is not supplied in time for the display process, that is, whether underflow has occurred. If it is determined in step S361 that no underflow has occurred, the process returns to step S197 in FIG. 18 and proceeds to step S36 in FIG.

ステップS361において、アンダーフローが発生していると判断された場合、ステップS362において、CPU20は、時間を示すカウンタである時間カウンタの値を、時間情報付きI/Pピクチャデコードキューの先頭の時刻にあわせて修正し、処理は、図18のステップS197に戻り、図4のステップS36に進む。   If it is determined in step S361 that underflow has occurred, in step S362, the CPU 20 sets the value of the time counter, which is a counter indicating the time, to the start time of the I / P picture decoding queue with time information. At the same time, the process returns to step S197 in FIG. 18 and proceeds to step S36 in FIG.

図36および図37を用いて、アンダーフロー発生時の時間カウンタの値の補正について説明する。なお、図36および図37において、カッコ内の数字の0,1,2は、デコーダ22乃至デコーダ24のうちのいずれかに対応してそれぞれ設定されている情報キューに蓄積される情報、または、デコーダ22乃至デコーダ24のうちのいずれかにおいてそれぞれ実行される処理であることを示すものである。   36 and 37, correction of the value of the time counter when an underflow occurs will be described. In FIGS. 36 and 37, the numbers 0, 1, and 2 in parentheses are information accumulated in information queues respectively set corresponding to any of the decoders 22 to 24, or This indicates that the process is executed in any one of the decoders 22 to 24.

図36には、図29を用いて説明した場合と同様に、−5倍速再生でアンダーフローが発生していない場合の時間カウンタに対して、情報キューに蓄積される情報、および、デコードと表示のタイミングが図示されている。図36においては、あるGOPのIピクチャのデコード開始タイミングの時間カウンタの値が7である場合を例としている。   FIG. 36 shows the information stored in the information queue and the decoding and display for the time counter when no underflow has occurred in -5 × playback as in the case described with reference to FIG. The timing of is shown. FIG. 36 shows an example in which the value of the time counter of the decoding start timing of an I picture of a certain GOP is 7.

そして、例えば、2フレーム分アンダーフローが発生した場合、図37に示されるように、時間カウンタを2フレーム分遅延させ、その時間カウンタを参照して処理を再開させることにより、それ以降のスケジューリングとデコードおよび表示の制御を、滞りなく実行させることが可能となる。   For example, when an underflow has occurred for two frames, as shown in FIG. 37, the time counter is delayed by two frames and the processing is restarted with reference to the time counter. Decoding and display control can be executed without delay.

このような処理により、例えば、高速再生時のHDD16のスループット不足などにより、ストリームの供給が滞った場合であっても、ストリームの供給が滞ったことによるアンダーフロー状態を検出し、時間情報計数をアンダーフローした時間分戻すことにより、破綻無く再生処理を再開することが可能である。   By such processing, for example, even when the supply of the stream is delayed due to insufficient throughput of the HDD 16 during high-speed playback, an underflow state due to the delayed supply of the stream is detected, and the time information is counted. By returning the underflowed time, the reproduction process can be resumed without failure.

そして、図4のステップS36において、すべてのフレームの処理が終了されていないと判断された場合、ステップS37において、時間カウンタがインクリメントされ、処理は、ステップS31に戻り、次のフレームに対して、それ以降の処理が繰り返される。   If it is determined in step S36 of FIG. 4 that the processing of all frames has not been completed, the time counter is incremented in step S37, and the process returns to step S31, and for the next frame, The subsequent processing is repeated.

7フレーム目以降、ステップS33においては、最初のフレームから6番目のフレームまでのいずれかのフレームではないと判断されるので、ステップS34において、1フレームディレイ表示設定処理が実行される。   From the seventh frame onward, in step S33, since it is determined that it is not any frame from the first frame to the sixth frame, one-frame delay display setting processing is executed in step S34.

次に、図38のフローチャートを参照して、7フレーム目以降で、図4のステップS34において実行される、1フレームディレイ表示処理について説明する。   Next, with reference to the flowchart of FIG. 38, the one-frame delay display process executed in step S34 of FIG. 4 after the seventh frame will be described.

ステップS361において、CPU20は、表示キューに保持されている情報を基に、デコーダ22乃至デコーダ24のうちの、設定されているデコーダによるデコード処理から1フレーム遅れで表示が行われるように、表示命令を、デコーダ22デコーダ24のうちの、設定されているデコーダに、コントロールバス19を介して通知し、表示キューの対応するピクチャIDを削除する。このとき、デコーダ22乃至デコーダ24のうちの、設定されているデコーダの出力アドレス決定部80は、コントロールバス76を介して、CPU20からの制御信号を受け、メモリコントローラ80を制御して、ビデオバンクメモリ82から、対応するピクチャを読み出させて、セレクタ25に供給する。   In step S361, the CPU 20 displays a display command so that display is performed with a delay of one frame from the decoding processing by the set decoder among the decoders 22 to 24 based on the information held in the display queue. To the set decoder among the decoders 22 and 24 via the control bus 19 and delete the corresponding picture ID in the display queue. At this time, the output address determination unit 80 of the set decoder among the decoders 22 to 24 receives the control signal from the CPU 20 via the control bus 76 and controls the memory controller 80 to control the video bank. The corresponding picture is read from the memory 82 and supplied to the selector 25.

ステップS362において、CPU20は、図6のステップS81において設定される次のデータを供給するデコーダを示すレジスタに保持されている値を基に、セレクタ25を制御して、デコード済みのフレームの出力を制御し、処理は、図4のステップS34に戻り、ステップS35に進む。   In step S362, the CPU 20 controls the selector 25 based on the value held in the register indicating the decoder that supplies the next data set in step S81 in FIG. 6, and outputs the decoded frame. The process returns to step S34 in FIG. 4 and proceeds to step S35.

例えば、再生速度が1倍である場合、図21を用いて説明したように、時間情報付き表示順設定キューに設定されている時間情報を基に実行されるBピクチャのデコードタイミングに対して、1フレーム分Bピクチャの表示が遅れて実行されるように、時間情報付き表示順設定キューに設定されているピクチャの順に、表示が設定される。   For example, when the playback speed is 1 time, as described with reference to FIG. 21, with respect to the decoding timing of the B picture executed based on the time information set in the display order setting queue with time information, The display is set in the order of the pictures set in the display order setting queue with time information so that the display of the B picture for one frame is delayed.

また、再生速度が−1倍である場合も、図22を用いて説明したように、時間情報付き表示順設定キューに設定されている時間情報を基に実行されるBピクチャのデコードタイミングに対して、1フレーム分Bピクチャの表示が遅れて実行されるように、時間情報付き表示順設定キューに設定されているピクチャの順に、表示が設定される。   Also, when the playback speed is -1 times, as described with reference to FIG. 22, the decoding timing of the B picture executed based on the time information set in the display order setting queue with time information is also described. Thus, the display is set in the order of the pictures set in the display order setting queue with time information so that the display of the B picture for one frame is delayed.

また、+2倍速の高速再生における場合は図25、−2倍速の高速再生における場合は図26、+4倍速の高速再生における場合は図27、−4倍速の高速再生における場合は図28、+5倍速の高速再生における場合は図29、そして、−5倍速の高速再生における場合は図30を用いて説明したように、時間情報付き表示順設定キューに設定されている時間情報を基に実行されるBピクチャのデコードタイミングに対して、1フレーム分Bピクチャの表示が遅れて実行されるように、時間情報付き表示順設定キューに設定されているピクチャの順に、表示が設定される。   25 for high-speed playback at + 2 × speed, FIG. 26 for high-speed playback at −2 × speed, FIG. 27 for high-speed playback at + 4 × speed, and FIG. 28 at + 4 × high-speed playback, + 5 × speed. As shown in FIG. 29 in the case of high-speed playback and in FIG. 30 in the case of high-speed playback at -5 times speed, the processing is executed based on the time information set in the display order setting queue with time information. The display is set in the order of the pictures set in the display order setting queue with time information so that the display of the B picture for one frame is delayed with respect to the decoding timing of the B picture.

このような処理により、フレームを保持しておくバンクの数が、デコードの処理単位に含まれるIピクチャおよびPピクチャの数と、Bピクチャ格納分の2面との合計数であれば、アンカーフレームであるIピクチャおよびPピクチャを、バンクの固定位置に格納して、複雑なバンク面制御を行わずに、高速再生、逆方向再生、および、逆方向高速再生を実現することができる。   As a result of such processing, if the number of banks holding frames is the total number of I pictures and P pictures included in the decoding processing unit and two planes for storing B pictures, anchor frames The I picture and the P picture can be stored at fixed positions in the bank, and high-speed reproduction, reverse reproduction, and reverse high-speed reproduction can be realized without performing complicated bank surface control.

なお、デコードと表示の開始タイミングの位相のずれは、デコード処理単位に含まれるIピクチャおよびPピクチャの数に基づいて求められるものとして説明したが、例えば、デコード処理単位に含まれるフレームのうち、表示されるフレーム数を基にデコードと表示の開始タイミングの位相のずれを求めることができるようにしても良い。   The phase shift between the decoding start timing and the display start timing has been described based on the number of I pictures and P pictures included in the decoding processing unit. For example, among the frames included in the decoding processing unit, Based on the number of frames to be displayed, it may be possible to obtain a phase shift between the decode and display start timings.

なお、正方向または逆方向の高速再生が実行される場合、例えば、2番目以降のデコード処理単位におけるデコードのスケジューリングにおいて、表示されるフレームと表示されないフレームとの判断、すなわち、間引きが行われるのに先立って、例えば、デコード処理単位の先頭で表示されるピクチャのピクチャタイプなどの符号化パラメータを予め検出するようにしても良い。   When high-speed playback in the forward direction or the reverse direction is executed, for example, in the scheduling of decoding in the second and subsequent decoding processing units, determination of a frame to be displayed and a frame not to be displayed, that is, thinning is performed. Prior to this, for example, an encoding parameter such as a picture type of a picture displayed at the head of a decoding processing unit may be detected in advance.

例えば、表示されるフレームと表示されないフレームとの判断が行われる前に、前のデコード処理単位のデコードのスケジュールにおいて計数されたフレームカウンタと、算出された間引き周期とに基づいて、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するようにしても良いし、他の方法で、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出することができるようにしても良い。   For example, before the determination of the frame to be displayed and the frame not to be displayed is made, based on the frame counter counted in the decoding schedule of the previous decoding processing unit and the calculated thinning cycle, the decoding processing unit The picture type of the picture displayed at the head may be detected in advance, or the picture type of the picture displayed at the head of the decoding process unit may be detected in advance by another method. .

このようにすることにより、デコードのスケジュール処理を、更に、正確に高速に実行することが可能となる。   By doing so, it is possible to execute the decoding schedule processing more accurately and at high speed.

デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するための具体的な処理の一例について、以下に説明する。   An example of specific processing for detecting in advance the picture type of the picture displayed at the beginning of the decoding processing unit will be described below.

図39のフローチャートを参照して、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出する処理をスケジューリングに先立って行うことができるようにした、フレームごとに行う処理2について説明する。この処理ルーチンは、表示が指令されたストリームデータが終了するまで、または、表示の終了が指令されるまで、1フレームごとに繰り返して実行される。   With reference to the flowchart of FIG. 39, description will be given of a process 2 performed for each frame, in which a process of detecting a picture type of a picture displayed at the head of a decoding process unit in advance can be performed prior to scheduling. This processing routine is repeatedly executed for each frame until the stream data for which display is instructed is completed or until display is instructed.

ステップS431において、図5を用いて説明した入力ストリーム状態変更処理が実行される。   In step S431, the input stream state change process described with reference to FIG. 5 is executed.

ステップS432において、図40を用いて後述するデコードスケジュール処理2が実行される。デコードスケジュール処理2において、デコードタイミングがスケジュールされる。そして、デコードタイミングのスケジュール処理に先立って、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するための処理が実行されるようになされている。   In step S432, decode schedule processing 2 described later with reference to FIG. 40 is executed. In the decode schedule process 2, the decode timing is scheduled. Prior to the decoding timing schedule processing, processing for detecting in advance the picture type of the picture displayed at the head of the decoding processing unit is executed.

ステップS433において、CPU20は、1フレーム単位で処理の時間を表すカウンタである時間カウンタを参照することにより、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから6番目のフレームのうちのいずれかのフレームであるか否かを判断する。   In step S433, the CPU 20 refers to the time counter that is a counter representing the processing time in units of one frame, so that the processing target is the first frame of the stream data to be reproduced in the decoding order. It is determined whether the frame is one of the sixth frames from the first frame.

ステップS433において、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから6番目のフレームのうちのいずれかのフレームではないと判断された場合、ステップS434において、図38を用いて説明した1フレームディレイ表示設定処理が実行される。   If it is determined in step S433 that the processing target is not one of the sixth frames to the sixth frame of the stream data to be reproduced in the decoding order, in step S434 The one-frame delay display setting process described with reference to FIG. 38 is executed.

ステップS433において、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから6番目のフレームのうちのいずれかのフレームであると判断された場合、または、ステップS434の処理の終了後、ステップS435において、図42を用いて後述するフレーム制御処理2が実行される。フレーム制御処理2において、処理対象となっているフレームがデコードされる。   If it is determined in step S433 that the processing target is any one of the sixth frame to the sixth frame of the stream data to be reproduced in the decoding order, or step After the processing of S434 is completed, in step S435, frame control processing 2 described later with reference to FIG. 42 is executed. In the frame control process 2, the frame to be processed is decoded.

ステップS436において、CPU20は、すべてのフレームの処理が終了したか否かを判断する。ステップS436において、すべてのフレームの処理が終了していないと判断された場合、ステップS437において、CPU20は、1フレームを単位とする時間カウンタをインクリメントする。   In step S436, the CPU 20 determines whether or not processing of all frames has been completed. If it is determined in step S436 that processing of all frames has not been completed, in step S437, the CPU 20 increments a time counter in units of one frame.

ステップS437の処理の終了後、処理は、ステップS431に戻り、それ以降の処理が繰り返される。ステップS436において、すべてのフレームの処理が終了したと判断された場合、処理は終了される。   After the process of step S437 is completed, the process returns to step S431, and the subsequent processes are repeated. If it is determined in step S436 that all the frames have been processed, the process ends.

このようにして、CPU20は、1フレームの処理ごとに、時間カウンタをカウントアップし、ユーザの指令した再生速度に応じて、デコードをスケジュールして、1フレームごとに、デコードを行わせ、表示を設定するが、この処理においては、デコードタイミングのスケジュール処理に先立って、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するための処理を実行するようになされている。   In this way, the CPU 20 counts up the time counter for each processing of one frame, schedules decoding according to the playback speed instructed by the user, performs decoding for each frame, and displays the display. In this process, a process for detecting in advance the picture type of the picture displayed at the head of the decoding process unit is executed prior to the decoding timing schedule process.

次に、図40のフローチャートを参照して、図39のステップS432において実行される、デコードスケジュール処理1について説明する。   Next, the decoding schedule process 1 executed in step S432 in FIG. 39 will be described with reference to the flowchart in FIG.

ステップS471乃至ステップS478において、図6のステップS71乃至ステップS78と基本的に同様の処理が実行される。   In steps S471 through S478, basically the same processing as in steps S71 through S78 of FIG. 6 is executed.

すなわち、入力ピクチャキューを参照して、入力ピクチャキューが空であるか否かが判断され、入力ピクチャキューが空ではないと判断された場合、処理は、図39のステップS432に戻り、ステップS433に進む。入力ピクチャキューが空であると判断された場合、図15のフローチャートを用いて説明した入力処理が実行される。   That is, referring to the input picture queue, it is determined whether or not the input picture queue is empty. If it is determined that the input picture queue is not empty, the process returns to step S432 in FIG. Proceed to When it is determined that the input picture queue is empty, the input process described with reference to the flowchart of FIG. 15 is executed.

そして、次にデータの供給を受けるデコーダに対応して設定される時間情報付き表示順設定キューが空であるか否かが判断され、時間情報付き表示順設定キューが空ではないと判断された場合、すなわち、スケジュール済みの1GOP相当のピクチャに対して、フレームごとにデコード処理または表示処理が実行されている途中である場合、処理は、図39のステップS432に戻り、ステップS433に進む。   Then, it is determined whether or not the display order setting queue with time information set corresponding to the decoder that receives the next data supply is empty, and it is determined that the display order setting queue with time information is not empty. In other words, that is, when the decoding process or the display process is being executed for each frame for the scheduled picture corresponding to 1 GOP, the process returns to step S432 in FIG. 39 and proceeds to step S433.

時間情報付き表示順設定キューが空であると判断された場合、リオーダ処理が実行され、I/Pピクチャデコードキューに、デコードするGOPのうちのIピクチャおよびPピクチャのピクチャIDが、デコード順に設定される。そして、IピクチャおよびPピクチャを格納するバンク位置、および、Pピクチャのデコードにおける参照画像バンクが指定され、IピクチャおよびPピクチャがそれぞれ格納されるバンク位置を基に、Bピクチャのデコードにおける参照画像バンクの位置が指定され、図12を用いて説明した表示順設定キューが設定される。   When it is determined that the display order setting queue with time information is empty, reorder processing is executed, and the picture IDs of the I picture and P picture of the GOP to be decoded are set in the decoding order in the I / P picture decoding queue. Is done. Then, a bank position for storing the I picture and the P picture, and a reference image bank in the decoding of the P picture are designated, and a reference picture in the decoding of the B picture is based on the bank position in which the I picture and the P picture are respectively stored. The bank position is designated, and the display order setting queue described with reference to FIG. 12 is set.

そして、ステップS479において、図41を用いて後述する間引き処理2が実行される。この間引き処理2は、デコードタイミングのスケジュール処理に先立って、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するための処理である。   In step S479, the thinning process 2 described later with reference to FIG. 41 is executed. This thinning-out process 2 is a process for detecting in advance the picture type of the picture displayed at the head of the decoding process unit prior to the decoding timing schedule process.

そして、ステップS480乃至ステップS482において、図6のステップS79乃至ステップS81において実行された処理と基本的に同等の処理が実行される。すなわち、図16のフローチャートを用いて説明した表示位相決定処理が実行され、図17のフローチャートを用いて説明した時間情報付きスケジュール決定処理が実行され、デコードと表示のタイミングがスケジュールされる。   Then, in steps S480 to S482, basically the same processing as the processing executed in steps S79 to S81 in FIG. 6 is executed. That is, the display phase determination process described using the flowchart of FIG. 16 is executed, the schedule determination process with time information described using the flowchart of FIG. 17 is executed, and the timing of decoding and display is scheduled.

具体的には、ステップS479において実行された間引き処理2により、デコードタイミングのスケジュール処理に先立って、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出することができるので、例えば、表示の先頭がIピクチャまたはPピクチャである場合、図13を用いて説明した様に、先にIピクチャおよびPピクチャがデコードされた後、Bピクチャがデコードされ、表示開始のタイミングは、デコード開始から6ピクチャ分ずれることにより、Bピクチャのデコードのタイミングと表示のタイミングが、1フレーム分ずれるように、デコードと表示のタイミングのスケジュールが行われる。また、表示の先頭がBピクチャである場合、図14を用いて説明した様に、先にIピクチャおよびPピクチャがデコードされた後、Bピクチャがデコードされ、表示開始のタイミングは、デコード開始から7ピクチャ分ずれることにより、Bピクチャのデコードのタイミングと表示のタイミングが、1フレーム分ずれるように、デコードと表示のタイミングのスケジュールが行われる。   Specifically, the thinning process 2 executed in step S479 can detect in advance the picture type of the picture displayed at the beginning of the decoding processing unit prior to the decoding timing scheduling process. When the head of the picture is an I picture or a P picture, as described with reference to FIG. 13, after the I picture and the P picture are first decoded, the B picture is decoded, and the display start timing is from the start of decoding. The decoding and display timing is scheduled so that the B picture decoding timing and the display timing are shifted by one frame by shifting by six pictures. If the top of the display is a B picture, as described with reference to FIG. 14, after the I picture and the P picture are first decoded, the B picture is decoded, and the display start timing is from the start of decoding. The decoding and display timing is scheduled so that the B picture decoding timing and the display timing are shifted by one frame by shifting by seven pictures.

そして、次にデコードされるデータを供給するデコーダの設定を切り替える処理が実行されて、処理は、図39のステップS432に戻り、ステップS433に進む。   Then, a process of switching the setting of a decoder that supplies data to be decoded next is executed, and the process returns to step S432 in FIG. 39 and proceeds to step S433.

このような処理により、デコードと表示のタイミングがスケジュールされる。   By such processing, the decoding and display timing is scheduled.

次に、図41のフローチャートを参照して、図40のステップS479において実行される間引き処理2について説明する。   Next, the thinning process 2 executed in step S479 of FIG. 40 will be described with reference to the flowchart of FIG.

ステップS501において、CPU20は、図5を用いて説明した入力ストリーム状態変更処理において設定されたストリーム入力状態を基に、ユーザの設定に基づいた再生速度は、正方向、または、逆方向の高速再生であるか否かを判断する。ステップS501において、高速再生ではないと判断された場合、処理は、後述するステップS510に進む。   In step S501, based on the stream input state set in the input stream state change process described with reference to FIG. 5, the CPU 20 sets the playback speed based on the user setting to high-speed playback in the forward direction or the reverse direction. It is determined whether or not. If it is determined in step S501 that high-speed playback is not performed, the process proceeds to step S510 described later.

ステップS501において、高速再生であると判断された場合、ステップS502において、CPU20は、処理中のフレームは、スピード設定が変更された後の最初のGOPの最初のフレームであるか否かを判断する。   If it is determined in step S501 that high-speed playback is performed, in step S502, the CPU 20 determines whether or not the frame being processed is the first frame of the first GOP after the speed setting is changed. .

ステップS502において、処理中のフレームは、入力ストリーム状態が変更された後の最初のGOPの最初のフレームであると判断された場合、ステップS503において、CPU20は、スピード設定値GOP_Speedを基に、間引き周期を決定して、レジスタに保存する。   If it is determined in step S502 that the frame being processed is the first frame of the first GOP after the input stream state has been changed, in step S503, the CPU 20 decimates based on the speed setting value GOP_Speed. Determine the period and save it in the register.

具体的には、CPU20は、例えば、2倍速または−2倍速で再生が行われる場合、間引き周期を1/2としてレジスタに保存し、3倍速または−3倍速で再生が行われる場合、間引き周期を1/3としてレジスタに保存する。   Specifically, for example, when reproduction is performed at 2 × speed or −2 × speed, the CPU 20 stores the thinning cycle in the register as ½, and when reproduction is performed at 3 × speed or −3 × speed, Is saved in the register as 1/3.

ステップS504において、CPU20は、間引き処理2においてデコード処理単位にかかわらずフレームの数をカウントするフレームカウンタをリセットする。   In step S504, the CPU 20 resets a frame counter that counts the number of frames in the thinning-out process 2 regardless of the decoding process unit.

ステップS502において、処理中のフレームは、入力ストリーム状態が変更された後の最初のGOPの最初のフレームではないと判断された場合、または、ステップS504の処理の終了後、ステップS505において、CPU20は、表示順設定キューに保持されているピクチャIDに対応付けられて、確認済みフラグが設定されているか否かを基に、表示順設定キューはすべて確認済みであるか否かを判断する。確認済みフラグは、後述するステップS509の処理により、表示順設定キューに設定されるフラグである。ステップS505において、表示順設定キューはすべて確認済みであると判断された場合、処理は、後述するステップS510に進む。   In step S502, if it is determined that the frame being processed is not the first frame of the first GOP after the input stream state is changed, or after the processing in step S504 is completed, the CPU 20 determines in step S505. Based on whether or not the confirmed flag is set in association with the picture ID held in the display order setting queue, it is determined whether or not all the display order setting queues have been confirmed. The confirmed flag is a flag that is set in the display order setting queue by processing in step S509 described later. If it is determined in step S505 that all display order setting queues have been confirmed, the process proceeds to step S510 described later.

ステップS505において、表示順設定キューはすべて確認済みではない、換言すれば、表示順設定キューに確認済みフラグが設定されていないピクチャIDが残っていると判断された場合、ステップS506において、CPU20は、フレームカウンタを1インクリメントする。   If it is determined in step S505 that all display order setting queues have not been confirmed, in other words, if there is a picture ID for which no confirmed flag is set in the display order setting queue, the CPU 20 in step S506 The frame counter is incremented by one.

ステップS507において、CPU20は、間引き周期の決定の結果、レジスタに保持されている間引き周期と、フレームカウンタの値を参照し、フレームカウンタに示されるフレームは表示されるか否かを判断する。具体的には、CPU20は、間引き周期が1/2である場合、フレーム数をカウントするフレームカウンタの値が2n(nは正の整数)であれば、表示を行い、それ以外の場合は、表示を行わないようにしたり、間引き周期が1/3である場合、フレーム数をカウントするフレームカウンタの値が3n(nは正の整数)であれば、表示を行い、それ以外の場合は、表示を行わないようにする。ステップS507において、表示が行われると判断された場合、すなわち、間引かれないフレームであると判断された場合、処理は、後述するステップS509に進む。   In step S507, the CPU 20 refers to the thinning cycle held in the register and the value of the frame counter as a result of determining the thinning cycle, and determines whether or not the frame indicated by the frame counter is displayed. Specifically, when the thinning cycle is ½, the CPU 20 performs display if the value of the frame counter that counts the number of frames is 2n (n is a positive integer), otherwise, When the display is not performed or the thinning cycle is 1/3, if the value of the frame counter that counts the number of frames is 3n (n is a positive integer), the display is performed. Otherwise, the display is performed. Do not display. If it is determined in step S507 that display is to be performed, that is, if it is determined that the frame is not thinned out, the process proceeds to step S509 described later.

ステップS507において、表示されないと判断された場合、すなわち、間引かれるフレームであると判断された場合、ステップS508において、CPU20は、表示順設定キューの処理対象のフレームに、非表示であることを示す削除フラグを設定する。   If it is determined in step S507 that the frame is not displayed, that is, if it is determined that the frame is to be thinned out, in step S508, the CPU 20 determines that the frame to be processed in the display order setting queue is not displayed. Set the delete flag to indicate.

ステップS507において、フレームカウンタに示されるフレームの表示が行われると判断された場合、または、ステップS508の処理の終了後、ステップS509において、CPU20は、表示順設定キューのフレームカウンタに示されるフレームに対応するピクチャIDに対応付けて確認済みフラグを設定し、処理は、ステップS505に戻り、それ以降の処理が繰り返される。   If it is determined in step S507 that the frame indicated by the frame counter is to be displayed, or after the processing of step S508 is completed, in step S509, the CPU 20 sets the frame indicated by the frame counter in the display order setting queue. A confirmed flag is set in association with the corresponding picture ID, the process returns to step S505, and the subsequent processes are repeated.

ステップS501において、高速再生ではないと判断された場合、または、ステップS505において、表示順設定キューはすべて確認済みであると判断された場合、ステップS510において、CPU20は、表示順設定キューに、間引き処理2の実行時のスピード設定値であるGOP_Speedを設定し、図40のステップS479に戻り、ステップS480に進む。   If it is determined in step S501 that high-speed playback is not performed, or if it is determined in step S505 that all display order setting queues have been confirmed, in step S510, the CPU 20 thins out the display order setting queue. GOP_Speed, which is a speed setting value at the time of executing process 2, is set, the process returns to step S479 in FIG. 40, and the process proceeds to step S480.

このような処理により、表示順設定キューにおいて、デコードのスケジューリングに先立って、表示されないフレームに非表示であることを示す削除フラグが対応付けられるので、デコードのスケジュール時には、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを検出することができる。そして、この処理ルーチン以降にデコードされるBピクチャは、表示されるもののみとなり(間引かれるBピクチャは、デコード処理部77に供給されない)、間引かれるIピクチャまたはPピクチャは、デコードはされるが、表示されないようになされる。   By such processing, in the display order setting queue, a deletion flag indicating non-display is associated with a non-displayed frame prior to decoding scheduling, so when displaying a decoding schedule, the display is displayed at the head of the decoding processing unit. The picture type of the picture to be played can be detected. The B picture decoded after this processing routine is only displayed (the B picture to be thinned is not supplied to the decoding processing unit 77), and the I picture or P picture to be thinned is decoded. But not displayed.

次に、図42のフローチャートを参照して、図39のステップS435において実行される、フレーム制御処理2について説明する。   Next, the frame control process 2 executed in step S435 in FIG. 39 will be described with reference to the flowchart in FIG.

ステップS541において、CPU20は、再生装置1内で実行される各処理のタイミングを管理するためのカウンタである時間管理カウンタと、時間情報付きI/Pピクチャデコードキューを参照し、表示時刻が過ぎてしまったストリームデータがあるか否かを判断する。ステップS541において、表示時刻が過ぎてしまったストリームデータがあると判断された場合、処理は、後述するステップS547に進み、図35を用いて説明したアンダーフロー処理が実行されて、処理は、図39のステップS435に戻り、ステップS436に進む。   In step S541, the CPU 20 refers to the time management counter, which is a counter for managing the timing of each process executed in the playback device 1, and the I / P picture decode queue with time information, and the display time has passed. It is determined whether there is stream data. If it is determined in step S541 that there is stream data whose display time has passed, the process proceeds to step S547 described later, and the underflow process described with reference to FIG. 35 is executed. Returning to step S435 of step 39, the process proceeds to step S436.

ステップS541において、表示時刻が過ぎてしまったストリームデータがないと判断された場合、ステップS542乃至ステップS545において、図18のステップS192乃至ステップS195と基本的に同様の処理が実行される。   If it is determined in step S541 that there is no stream data whose display time has passed, basically the same processing as that in steps S192 to S195 of FIG. 18 is executed in steps S542 to S545.

すなわち、図19を用いて説明したIピクチャおよびPピクチャデコード処理が実行され、図20を用いて説明したBピクチャデコード処理が実行される。そして、CPU20から、CPU11に、表示ピクチャ情報が通知され、CPU20は、時間管理カウンタをインクリメントする。これらの処理は、図41のステップS508において削除フラグが設定されなかった(間引かれなかった)フレームに対して実行される。   That is, the I picture and P picture decoding process described with reference to FIG. 19 is executed, and the B picture decoding process described with reference to FIG. 20 is executed. Then, the display picture information is notified from the CPU 20 to the CPU 11, and the CPU 20 increments the time management counter. These processes are executed for frames for which the deletion flag is not set (not thinned out) in step S508 of FIG.

そして、ステップS546において、図43を用いて後述する間引き処理3が実行されて、処理は、図39のステップS435に戻り、ステップS436に進む。   In step S546, the thinning process 3 described later with reference to FIG. 43 is executed, and the process returns to step S435 in FIG. 39 and proceeds to step S436.

このような処理により、表示が遅れていなければ、設定されたデコードスケジュールに基づいて、1フレーム分のデコードが実行されて、表示ピクチャ情報が、CPU11に通知され、間引き処理3が実行される。そして、表示が遅れているとき、図35を用いて説明したアンダーフロー処理が実行される。   If display is not delayed by such processing, decoding for one frame is executed based on the set decoding schedule, display picture information is notified to the CPU 11, and thinning-out processing 3 is executed. When the display is delayed, the underflow process described using FIG. 35 is executed.

次に、図43のフローチャートを参照して、図42のステップS546において実行される間引き処理3について説明する。   Next, the thinning process 3 executed in step S546 in FIG. 42 will be described with reference to the flowchart in FIG.

ステップS571において、CPU20は、1つ前に実行された間引き処理(デコードスケジュール処理2において、間引き処理2が実行された場合は、間引き処理2)の実行時と比較して、再生のスピード設定が同方向で高速になったか否かを判断する。具体的には、CPU20は、現在のスピード設定値speedと、表示順設定キューに設定されているGOP_speedとを基に、speed/GOP_speed>1が成立するか否かを判断することにより、1つ前に実行された間引き処理の実行時と比較して、再生のスピード設定が同方向で高速になったか否かを判断する。ステップS571において、1つ前に実行された間引き処理の実行時と比較して、再生のスピード設定が、同方向で高速になっていない、すなわち、前の間引き処理と速度が変更されていないか、遅くなったか、または、逆方向になったと判断された場合、処理は、図42のステップS546に戻り、処理は、図39のステップS436に進む。   In step S <b> 571, the CPU 20 sets the playback speed setting compared to the execution of the thinning process that was executed immediately before (when the thinning process 2 is executed in the decoding schedule process 2). It is determined whether or not the speed is increased in the same direction. Specifically, the CPU 20 determines whether or not speed / GOP_speed> 1 is satisfied based on the current speed setting value speed and the GOP_speed set in the display order setting queue. It is determined whether or not the playback speed setting has become faster in the same direction as compared to the execution of the thinning process executed previously. In step S571, whether or not the playback speed setting is faster in the same direction as compared with the execution of the thinning process executed immediately before, that is, whether the speed of the previous thinning process is changed. If it is determined that the time has been delayed or the direction has been reversed, the process returns to step S546 in FIG. 42, and the process proceeds to step S436 in FIG.

ステップS571において、1つ前に実行された間引き処理の実行時と比較して、再生のスピード設定が、同方向で高速になったと判断された場合、ステップS572において、CPU20は、間引き処理2の実行時と現在のそれぞれのスピード設定値を基に、間引き周期を決定して、レジスタに保存する。   If it is determined in step S571 that the playback speed setting has become faster in the same direction as compared with the execution of the thinning process executed immediately before, the CPU 20 performs the thinning process 2 in step S572. Based on the speed setting values at the time of execution and the current values, a thinning cycle is determined and stored in a register.

具体的には、CPU20は、speed/GOP_speedの絶対値の逆数を基に間引き周期を設定し、例えば、間引き処理2の実行時にスピード設定が2倍速であったが、現在のスピード設定値が4倍速であった場合、間引き周期を1/2として、間引き周期を保持するレジスタに保存する。   Specifically, the CPU 20 sets the thinning cycle based on the reciprocal of the absolute value of speed / GOP_speed. For example, when the thinning process 2 is executed, the speed setting is double speed, but the current speed setting value is 4 In the case of double speed, the thinning cycle is halved and stored in a register that holds the thinning cycle.

ステップS573において、CPU20は、間引き処理3においてデコード処理単位にかかわらずフレームの数をカウントするフレームカウンタをリセットする。   In step S <b> 573, the CPU 20 resets the frame counter that counts the number of frames in the thinning-out process 3 regardless of the decoding process unit.

ステップS574において、CPU20は、時間情報付き表示順設定キューに保持されているピクチャIDに対応付けられて、確認済みフラグが設定されているか否かを基に、時間情報付き表示順設定キューはすべて確認済みであるか否かを判断する。確認済みフラグは、後述するステップS579の処理により、時間情報付き表示順設定キューに設定されるフラグである。ステップS574において、時間情報付き表示順設定キューはすべて確認済みであると判断された場合、処理は、図42のステップS546に戻り、処理は、図39のステップS436に進む。   In step S574, the CPU 20 associates all of the display order with time information display queues with reference to whether or not the confirmed flag is set in association with the picture ID held in the display order setting queue with time information. It is determined whether or not it has been confirmed. The confirmed flag is a flag that is set in the display order setting queue with time information by the process of step S579 described later. If it is determined in step S574 that all display order setting queues with time information have been confirmed, the process returns to step S546 in FIG. 42, and the process proceeds to step S436 in FIG.

ステップS574において、時間情報付き表示順設定キューはすべて確認済みではない、換言すれば、時間情報付き表示順設定キューに確認済みフラグが設定されていないピクチャIDが残っていると判断された場合、ステップS575において、CPU20は、フレームカウンタを1インクリメントする。   If it is determined in step S574 that all display order setting queues with time information have not been confirmed, in other words, it is determined that there is still a picture ID for which the confirmed flag is not set in the display order setting queue with time information. In step S575, the CPU 20 increments the frame counter by 1.

ステップS576において、CPU20は、間引き周期の決定の結果、レジスタに保持されている間引き周期と、フレームカウンタの値を参照し、フレームカウンタに示されるフレームは表示されるか否かを判断する。具体的には、CPU20は、間引き周期が1/2である場合、フレーム数をカウントするフレームカウンタの値が2n(nは正の整数)であれば、表示を行い、それ以外の場合は、表示を行わないようにしたり、間引き周期が1/3である場合、フレーム数をカウントするフレームカウンタの値が3n(nは正の整数)であれば、表示を行い、それ以外の場合は、表示を行わないようにする。ステップS576において、表示が行われると判断された場合、すなわち、間引かれないフレームであると判断された場合、処理は、後述するステップS579に進む。   In step S576, the CPU 20 refers to the thinning cycle held in the register and the value of the frame counter as a result of the determination of the thinning cycle, and determines whether the frame indicated by the frame counter is displayed. Specifically, when the thinning cycle is ½, the CPU 20 performs display if the value of the frame counter that counts the number of frames is 2n (n is a positive integer), otherwise, When the display is not performed or the thinning cycle is 1/3, if the value of the frame counter that counts the number of frames is 3n (n is a positive integer), the display is performed. Otherwise, the display is performed. Do not display. If it is determined in step S576 that display is to be performed, that is, if it is determined that the frame is not thinned out, the process proceeds to step S579 described later.

ステップS576において、表示されないと判断された場合、すなわち、間引かれるフレームであると判断された場合、ステップS577において、CPU20は、処理対象のフレームに対応するピクチャIDを、時間情報付き表示順設定キューから削除するか、または、時間情報付き表示順設定キューの対応するピクチャIDに対して、非表示であることを示すフラグを対応付ける。   If it is determined in step S576 that the frame is not displayed, that is, if it is determined that the frame is to be thinned out, in step S577, the CPU 20 sets the picture ID corresponding to the processing target frame to the display order with time information. Either delete from the queue, or associate a flag indicating non-display with the corresponding picture ID in the display order setting queue with time information.

ステップS578において、図24を用いて説明した、時間情報再設定処理が実行される。このとき、ステップS302において算出される時間情報調整値added_countは、一つ前の間引き処理と比較してスピード設定が変化した場合の、ステップS576およびステップS577の処理による間引きによって変更されたピクチャの数である。   In step S578, the time information resetting process described with reference to FIG. 24 is executed. At this time, the time information adjustment value added_count calculated in step S302 is the number of pictures changed by decimation by the processing of step S576 and step S577 when the speed setting is changed compared to the previous decimation processing. It is.

ステップS576において、フレームカウンタに示されるフレームの表示が行われると判断された場合、または、ステップS578の処理の終了後、ステップS579において、CPU20は、時間情報付き表示順設定キューのフレームカウンタに示されるフレームに対応するピクチャIDに対応付けて確認済みフラグを設定し、処理は、ステップS574に戻り、それ以降の処理が繰り返される。   When it is determined in step S576 that the frame indicated by the frame counter is to be displayed, or after the processing of step S578 is completed, in step S579, the CPU 20 indicates the frame counter in the display order setting queue with time information. The confirmed flag is set in association with the picture ID corresponding to the frame to be processed, the process returns to step S574, and the subsequent processes are repeated.

このような処理により、間引き処理2から速度設定が変更されて、同方向で、かつ、高速になった場合には、表示されないフレームのピクチャIDが、時間情報付き表示順設定キューから削除されるか、または、時間情報付き表示順設定キューの対応するピクチャIDに対して、非表示であることを示すフラグが対応付けられる。Bピクチャのデコード処理と、1フレームディレイ表示設定処理は、再設定された時間情報付き表示順設定キューを参照して実行される。間引き処理2から速度設定が変更されて、同方向で、かつ、高速になった場合には、その速度設定に基づいて、時間情報付き表示順設定キューの設定が更新されるため、この処理ルーチン以降にデコードされるBピクチャは、表示されるもののみとなり(間引かれるBピクチャは、デコード処理部77に供給されない)、間引かれるIピクチャまたはPピクチャは、デコードはされるが、表示されないようになされる。   With such processing, when the speed setting is changed from the thinning-out processing 2 and the speed is increased in the same direction, the picture ID of the frame that is not displayed is deleted from the display order setting queue with time information. Alternatively, a flag indicating non-display is associated with the corresponding picture ID in the display order setting queue with time information. The B picture decoding process and the one-frame delay display setting process are executed with reference to the reset display order setting queue with time information. When the speed setting is changed from the thinning process 2 and the speed is increased in the same direction, the setting of the display order setting queue with time information is updated based on the speed setting. Subsequent B pictures to be decoded are only displayed (thinned B pictures are not supplied to the decoding processing unit 77), and thinned I or P pictures are decoded but not displayed. It is made like.

したがって、デコードのスケジューリングが終了した後でも、1フレームごとに、速度設定の変更があるか否かが検出されて、間引き処理2から速度設定が変更されて、同方向で、かつ、高速になった場合には、時間情報付き表示順設定キューが再設定されるので、速度変更にすばやく追従して、ストリームが再生されるようにデコードをスケジューリングすることが可能となる。   Therefore, even after the scheduling of decoding is completed, whether or not there is a change in the speed setting is detected for each frame, and the speed setting is changed from the thinning-out process 2 to increase the speed in the same direction. In such a case, since the display order setting queue with time information is reset, it is possible to quickly follow the speed change and schedule the decoding so that the stream is reproduced.

ところで、上述した処理では、デコーダ22乃至デコーダ24のそれぞれに8フレームのベースバンド画像データを保持可能なビデオバンクメモリ83を備え、デコーダ22乃至デコーダ24のそれぞれは、MPEG Long GOP圧縮映像を1GOPずつ取得して、Bピクチャをデコードする以前にアンカーフレームをデコードすることにより、正逆の高速再生を実現するようになされていた。   By the way, in the above-described processing, each of the decoders 22 to 24 is provided with a video bank memory 83 capable of holding 8 frames of baseband image data, and each of the decoders 22 to 24 stores MPEG Long GOP compressed video by 1 GOP. By acquiring and decoding an anchor frame before decoding a B picture, high-speed playback in the forward and reverse directions has been realized.

これに対して、例えば、デコーダの性能がデコーダ22乃至デコーダ24と比較して高く、1フレームの表示時間に対して1フレームのデコードにかかる時間が充分に短い場合、デコーダを3つ用意しなくても、1つのデコーダで同様のスケジューリング処理やデコード処理を行うことにより、正逆の高速再生に加えて、例えば、ランダム再生やスクラブ再生を実施することが可能である。しかしながら、1フレームのデコードにかかる時間が充分に短い1つのデコーダに、上述したスケジューリング処理やデコード処理を適用して実行させる場合、数GOP分のアンカーフレームを一時保持し、更に、表示されるBピクチャを一時保持するために、大きな容量のフレームメモリを備える必要があった。   On the other hand, for example, if the performance of the decoder is higher than that of the decoders 22 to 24 and the time required for decoding one frame is sufficiently short relative to the display time of one frame, three decoders are not prepared. However, by performing the same scheduling process and decoding process with one decoder, for example, random reproduction and scrub reproduction can be performed in addition to normal and reverse high-speed reproduction. However, when the above-described scheduling process or decoding process is applied to one decoder with a sufficiently short time required to decode one frame, anchor frames for several GOPs are temporarily stored and further displayed B In order to temporarily hold a picture, it is necessary to provide a large-capacity frame memory.

例えば、スクラブ再生で、任意のピクチャからの表示の開始が指令可能なようになされ、特に、アンカーフレームがデコード済みでないGOPのBピクチャが再生開始位置として指定された場合、そのBピクチャをデコードするための参照画像をすべてデコードした後でなければ、表示開始位置のBピクチャをデコードすることができないため、画像をすばやく出力することができない。すなわち、予めデコードされたアンカーフレームを保持するためのフレームメモリの容量が少ないと、スクラブ再生において再生開始位置のピクチャを高速に再生出力することができる範囲が少なくなってしまう。   For example, in scrub playback, the start of display from an arbitrary picture can be commanded. In particular, when a B picture of a GOP whose anchor frame has not been decoded is designated as a playback start position, the B picture is decoded. Therefore, the B picture at the display start position cannot be decoded unless all the reference images for decoding are decoded, and thus the image cannot be output quickly. That is, if the capacity of the frame memory for holding the previously decoded anchor frame is small, the range in which the picture at the reproduction start position can be reproduced and output at high speed in scrub reproduction is reduced.

具体的には、例えば、3GOP分のアンカーフレームを予めデコードして保持しておくことができれば、その3GOP分のいずれかの位置がスクラブ再生の再生位置として指定された場合、迅速に指定されたフレームを再生出力することができる。しかしながら、それ以外の位置がスクラブ再生の再生開始位置として指定され、指定されたフレームがPピクチャまたはBピクチャであった場合、参照画像となるアンカーフレームのデコードを行う必要があるので、指定されたフレームの再生出力が遅くなってしまう。これに対して、例えば、5GOP分のアンカーフレームを予めデコードして保持しておくことができれば、迅速に指定されたフレームを再生出力することができる範囲は5GOP分となる。換言すれば、スクラブ再生において迅速に指定されたフレームを再生出力することができる範囲を広げるためには、できるだけ多くのGOPのアンカーフレームを予めデコードして、フレームメモリに蓄積しておくと有利である。   Specifically, for example, if an anchor frame for 3 GOP can be decoded and held in advance, if any position for 3 GOP is designated as a playback position for scrub playback, it is quickly designated. Frames can be played back and output. However, if a position other than that is designated as the playback start position for scrub playback and the designated frame is a P picture or B picture, the anchor frame that becomes the reference image must be decoded, so the designated position is designated. Frame playback output is slow. On the other hand, for example, if anchor frames for 5 GOP can be decoded and held in advance, the range in which a designated frame can be reproduced and output is 5 GOPs. In other words, it is advantageous to predecode as many GOP anchor frames as possible and store them in the frame memory in order to expand the range in which the designated frame can be reproduced and output quickly in scrub reproduction. is there.

すなわち、特に、1フレームの表示時間に対して1フレームのデコードにかかる時間が充分に短いデコーダが用いられて、正逆の高速再生に加えて、例えば、ランダム再生やスクラブ再生、または、短い区間で正方向と逆方向の再生を連続して指令するトランジェント再生が行われる場合、フレームメモリを有効に利用して、スクラブ再生やランダム再生において再生開始位置のピクチャを高速に再生出力することができる範囲をできるだけ広い範囲とすると好適である。   That is, in particular, a decoder that uses a sufficiently short time to decode one frame with respect to the display time of one frame is used. For example, in addition to forward and reverse high-speed playback, random playback, scrub playback, or a short interval In the case of performing transient playback in which the playback in the forward direction and the reverse direction is continuously performed, the frame memory can be used effectively and the picture at the playback start position can be played back at high speed in scrub playback or random playback. It is preferable that the range is as wide as possible.

しかしながら、できるだけ多くのGOPのアンカーフレームを予めデコードしておくためには、多くのメモリ容量が必要となってしまう。   However, in order to decode as many GOP anchor frames as possible in advance, a large memory capacity is required.

次に、第2の実施の形態として、広範囲のGOPのI、Pピクチャを予めデコードしてフレームメモリに保存することによって、1つのデコーダによっても、正逆反転再生、ランダム再生、または、スクラブ再生などにおける再生開始フレームをできるだけ広範囲に高速に再生することができるようにするために、アンカーフレーム(IまたはPピクチャ)のベースバンド画像を数枚おきにフレームメモリに保存するようにした場合のフレームメモリ(ビデオバンクメモリ)の管理について説明する。   Next, as a second embodiment, by decoding in advance a wide range of GOP I and P pictures and storing them in the frame memory, forward / reverse inversion playback, random playback, or scrub playback can be performed by one decoder. In order to be able to reproduce the reproduction start frame in a wide range as fast as possible, a frame when every several baseband images of anchor frames (I or P picture) are stored in the frame memory The management of the memory (video bank memory) will be described.

図44は、再生装置101のハードウェア構成を示すブロック図である。   FIG. 44 is a block diagram illustrating a hardware configuration of the playback apparatus 101.

なお、図1における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。   In addition, the same code | symbol is attached | subjected to the part corresponding to the case in FIG. 1, The description is abbreviate | omitted suitably.

すなわち、図44の再生装置101は、CPU20に代わって、CPU121が設けられ、デコーダ22に代わって、メモリ131を有するデコーダ122が設けられ、デコーダ23、デコーダ24、および、セレクタ25が省略されている以外は、図1の再生装置1と基本的に同様の構成を有するものである。   44 is provided with a CPU 121 in place of the CPU 20, a decoder 122 having a memory 131 is provided in place of the decoder 22, and the decoder 23, the decoder 24, and the selector 25 are omitted. Except for this, it has basically the same configuration as the playback device 1 of FIG.

すなわち、PCIブリッジ17は、CPU11の制御に基づいてHDD16から読み出されたストリームデータを、メモリ18に供給して保存させることができるとともに、CPU121の制御に基づいて、メモリ18に保存されているストリームデータを読み出して、デコーダ122に供給する。HDD16から読み出されたストリームデータのそれぞれのGOPには、GOP IDとフレーム数およびアンカーフレーム数の情報を含むGOPのヘッダ情報が付与されていると好適である。また、PCIブリッジ17は、PCIバス14またはコントロールバス19を介したコマンドまたはリザルトに対応する制御信号の授受を制御する。   In other words, the PCI bridge 17 can supply the stream data read from the HDD 16 based on the control of the CPU 11 to be stored in the memory 18 and can be stored in the memory 18 based on the control of the CPU 121. The stream data is read and supplied to the decoder 122. Each GOP of stream data read from the HDD 16 is preferably provided with GOP header information including information on the GOP ID, the number of frames, and the number of anchor frames. The PCI bridge 17 controls transmission / reception of a control signal corresponding to a command or a result via the PCI bus 14 or the control bus 19.

CPU121は、コントロールバス19を介して、CPU11によりPCIブリッジ17のコマンドバッファ31に書き込まれたコマンドを読み取り、このコマンドにしたがって、PCIブリッジ17、および、デコーダ122が実行する処理を制御する。メモリ21は、CPU121の処理に必要なデータを記憶する。   The CPU 121 reads a command written in the command buffer 31 of the PCI bridge 17 by the CPU 11 via the control bus 19 and controls processing executed by the PCI bridge 17 and the decoder 122 according to the command. The memory 21 stores data necessary for the processing of the CPU 121.

また、CPU121は、HDD16から読み出されたストリームデータのそれぞれのGOPが、GOP IDとフレーム数およびアンカーフレーム数を含む情報であるGOPのヘッダ情報を有していない場合、HDD16から読み出されたストリームデータのそれぞれのGOPを区別するとともにその並び順を認識することができるようなGOP IDと、GOPに含まれるフレーム数およびアンカーフレーム数を含む情報であるGOPヘッダ情報を生成し、ストリームデータを構成するそれぞれのGOPに付加する。   In addition, when each GOP of the stream data read from the HDD 16 does not have GOP header information that is information including the GOP ID, the number of frames, and the number of anchor frames, the CPU 121 reads the data from the HDD 16. GOP ID for distinguishing each GOP of stream data and recognizing the arrangement order thereof, and GOP header information which is information including the number of frames and the number of anchor frames included in the GOP are generated. It is added to each GOP that constitutes it.

デコーダ122は、CPU121の制御に基づいて、供給された圧縮符号化されたストリームデータをデコードし、非圧縮の映像信号を出力する。デコーダ122は、1フレームの表示時間に対して充分に短い持間(例えば、1フレームの表示時間の1/3乃至1/4程度)で、1フレームをデコードすることが可能なデコード処理部を有している。また、デコーダ122は、その内部にメモリ131を有し、必要に応じて、PCIブリッジ17から供給された圧縮符号化されたストリームデータ、または、デコーダ122自身によりデコードされた非圧縮の映像信号を保持することが可能なようになされている。また、デコーダ122は、再生装置101に含まれない独立した装置として設けられていても良い。   The decoder 122 decodes the supplied compressed and encoded stream data based on the control of the CPU 121 and outputs an uncompressed video signal. The decoder 122 includes a decoding processing unit capable of decoding one frame with a sufficiently short time (for example, about 1/3 to 1/4 of the display time of one frame) with respect to the display time of one frame. Have. In addition, the decoder 122 has a memory 131 therein, and if necessary, the compressed and encoded stream data supplied from the PCI bridge 17 or the uncompressed video signal decoded by the decoder 122 itself. It is made possible to hold. In addition, the decoder 122 may be provided as an independent device that is not included in the playback device 101.

なお、図44の再生装置101は、1つの装置として構成されていても良いし、複数の装置によって構成されるようにしても良い。例えば、図44の再生装置のうち、CPU11、ノースブリッジ12、メモリ13、サウスブリッジ15、および、HDD16の部分が、パーソナルコンピュータの構成のうちの一部であるとし、PCIカード、PCI−Expressカードなどの拡張カード、または、拡張ボードに、PCIバス14、PCIブリッジ17、メモリ18、コントロールバス19、CPU121、メモリ21、および、デコーダ122の機能を備えさせ、パーソナルコンピュータに拡張カードを装着して再生装置101として機能するようにしても良い。また、これらを、さらに複数の装置に分割して、再生装置101を構成するようにしても良い。   Note that the playback device 101 in FIG. 44 may be configured as a single device or may be configured by a plurality of devices. For example, in the playback device of FIG. 44, the CPU 11, the north bridge 12, the memory 13, the south bridge 15, and the HDD 16 are part of the configuration of the personal computer. An expansion card such as a PCI bus 14, a PCI bridge 17, a memory 18, a control bus 19, a CPU 121, a memory 21, and a decoder 122 are provided on the expansion card. You may make it function as the reproducing | regenerating apparatus 101. FIG. Further, these may be further divided into a plurality of devices to constitute the playback device 101.

次に、再生装置101の動作について説明する。   Next, the operation of the playback apparatus 101 will be described.

HDD16には、MPEGのLong GOP方式で圧縮された圧縮映像のデータが記憶されている。   The HDD 16 stores compressed video data compressed by the MPEG Long GOP method.

CPU11は、ノースブリッジ12を介して、サウスブリッジ15を制御して、図示しない操作入力部から供給されたユーザの操作入力を基に、HDD16から、圧縮符号化されたストリームデータを読み出させ、ノースブリッジ12、PCIバス14、および、PCIブリッジ17を介して、メモリ18に供給させて記憶させるとともに、再生スピード(再生方向を示す情報を含む)を示す情報、デコード開始コマンド、または、表示開始コマンドなどを、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に書き込む。   The CPU 11 controls the south bridge 15 via the north bridge 12 to read out the compressed and encoded stream data from the HDD 16 based on a user operation input supplied from an operation input unit (not shown). Via the north bridge 12, the PCI bus 14, and the PCI bridge 17, it is supplied to the memory 18 for storage, and information indicating the playback speed (including information indicating the playback direction), a decode start command, or a display start A command or the like is written into the command buffer 31 of the PCI bridge 17 via the north bridge 12 and the PCI bus 14.

CPU121は、PCIブリッジ17のコマンドバッファ31に書き込まれたCPU11からのコマンドを基に、圧縮符号化されたストリームデータのデコードおよび表示のスケジュールを決定する。具体的には、CPU121は、圧縮符号化されたストリームデータのデコーダ122への入力のタイミング、フレームごとのデコードのタイミング、参照画像のバンク位置の設定、デコード時のバンクメモリの割り当て、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定する。   The CPU 121 determines a schedule for decoding and displaying the compressed and encoded stream data based on the command from the CPU 11 written in the command buffer 31 of the PCI bridge 17. Specifically, the CPU 121 inputs the compression-encoded stream data to the decoder 122, sets the decoding timing for each frame, sets the bank position of the reference image, assigns bank memory at the time of decoding, and decodes The output of the processed picture, that is, the display timing is determined.

そして、CPU121は、PCIブリッジ17を制御して、メモリ18に記憶されている圧縮符号化されたストリームデータを、決定されたスケジュールに基づいて、デコーダ122に供給させる。   Then, the CPU 121 controls the PCI bridge 17 to supply the decoder 122 with the compressed and encoded stream data stored in the memory 18 based on the determined schedule.

このとき、CPU121は、HDD16から読み出されてメモリ18に記憶されるストリームデータのそれぞれのGOPが、GOP IDとフレーム数およびアンカーフレーム数を含む情報であるGOPのヘッダ情報を有していない場合、HDD16から読み出されたストリームデータのそれぞれのGOPを区別するとともにその並び順を認識することができるようなGOP IDと、GOPに含まれるフレーム数およびアンカーフレーム数を含む情報であるGOPヘッダ情報を生成し、ストリームデータを構成するそれぞれのGOPに付加する。   At this time, the CPU 121, when each GOP of the stream data read from the HDD 16 and stored in the memory 18 does not have GOP header information that is information including the GOP ID, the number of frames, and the number of anchor frames GOP header information that is information including a GOP ID that can distinguish each GOP of the stream data read from the HDD 16 and recognize the arrangement order thereof, and the number of frames and the number of anchor frames included in the GOP Is added to each GOP constituting the stream data.

CPU121は、デコーダ122を制御して、供給された圧縮符号化されたデータをデコードさせる。デコーダ122は、供給された圧縮符号化されたストリームデータをデコードして、例えば、図示しない表示装置や、デコードされたデータを所定の記録媒体に記録するための記録装置などに出力する。   The CPU 121 controls the decoder 122 to decode the supplied compressed and encoded data. The decoder 122 decodes the supplied compressed and encoded stream data and outputs the decoded data to, for example, a display device (not shown) or a recording device for recording the decoded data on a predetermined recording medium.

すなわち、図44に示される再生装置101においても、CPU11が実行する制御処理については、図3のフローチャートを参照して説明した処理と基本的に同一である。   That is, also in the playback apparatus 101 shown in FIG. 44, the control processing executed by the CPU 11 is basically the same as the processing described with reference to the flowchart of FIG.

具体的には、CPU11は、ノースブリッジ12およびサウスブリッジ15を制御して、ユーザによりデコードして出力するストリームデータとして指定された、圧縮符号化されたストリームデータのうちの複数GOPをHDD16から読み出して、読み出した複数GOPのストリームデータを、PCIバス14を介してPCIブリッジ17に供給し、メモリ18に転送する。   Specifically, the CPU 11 controls the north bridge 12 and the south bridge 15 to read from the HDD 16 a plurality of GOPs of the compression-coded stream data designated as stream data to be decoded and output by the user. Then, the read stream data of the plurality of GOPs is supplied to the PCI bridge 17 via the PCI bus 14 and transferred to the memory 18.

そして、CPU11は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に、データ転送完了と、メモリ18に転送されたGOPに含まれるピクチャのピクチャ情報を供給することにより、CPU121に対して、データ転送完了と、ピクチャ情報とを通知した後、CPU121およびメモリ18から、準備完了の通知を受ける。ピクチャ情報には、例えば、ピクチャタイプ、ピクチャ単位のヘッダ情報、ピクチャサイズなどの情報が含まれる。   Then, the CPU 11 supplies the command buffer 31 of the PCI bridge 17 with the data transfer completion and the picture information of the picture included in the GOP transferred to the memory 18 via the north bridge 12 and the PCI bus 14. After notifying the CPU 121 of completion of data transfer and picture information, the CPU 121 and the memory 18 are notified of the completion of preparation. The picture information includes, for example, information such as picture type, header information for each picture, and picture size.

そして、CPU11は、図示しない操作入力部から、ユーザによる再生出力処理の開始の指令を受け、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に、デコード開始コマンドを送信してデコーダ122にデコード処理を開始させ、続いて、表示開始コマンドを送信し、デコーダによりデコードされて得られたSDI信号、すなわち、ベースバンドの画像信号の表示または出力を開始させる。   Then, the CPU 11 receives a command to start reproduction output processing by a user from an operation input unit (not shown), and transmits a decode start command to the command buffer 31 of the PCI bridge 17 via the north bridge 12 and the PCI bus 14. The decoder 122 starts decoding processing, and then transmits a display start command to start display or output of the SDI signal obtained by decoding by the decoder, that is, the baseband image signal.

そして、CPU11は、CPU121がコントロールバス19を介してPCIブリッジ17のリザルトバッファ32に供給した表示開始コマンドに対するリザルト、すなわち、フレームごとの表示完了の通知を、ノースブリッジ12およびPCIバス14を介して読み込んで、いずれのピクチャの表示が終了したかを常にチェックしておくことにより、1GOPの表示完了を検出し、表示されたGOPは、表示されるストリームデータの最後であるか否かを判断する。   Then, the CPU 11 sends a result for the display start command supplied to the result buffer 32 of the PCI bridge 17 by the CPU 121 via the control bus 19, that is, a notification of display completion for each frame via the north bridge 12 and the PCI bus 14. By reading and always checking which picture display has been completed, the display completion of 1 GOP is detected, and it is determined whether the displayed GOP is the end of the displayed stream data. .

表示されたGOPは、表示されるストリームデータの最後ではないと判断された場合、CPU11は、図示しない操作入力部から供給される信号を基に、例えば、ストリームデータの再生終了、再生されているストリームデータの変更、もしくは、再生速度または方向の変更指令など、入力ストリーム状態の変更を伴う指令がユーザから入力されたか否かを判断する。   If it is determined that the displayed GOP is not the last of the displayed stream data, the CPU 11 is reproducing and reproducing the stream data, for example, based on a signal supplied from an operation input unit (not shown). It is determined whether or not a command accompanying a change in the input stream state, such as a change in stream data or a command for changing the playback speed or direction, is input from the user.

入力ストリーム状態の変更を伴う指令がユーザから入力されたと判断された場合、CPU11は、ノースブリッジ12およびPCIバス14を介して、PCIブリッジ17のコマンドバッファ31に、ユーザの操作入力に対応するコマンドを送信する。   When it is determined that a command accompanied by a change in the input stream state is input from the user, the CPU 11 sends a command corresponding to the user's operation input to the command buffer 31 of the PCI bridge 17 via the north bridge 12 and the PCI bus 14. Send.

入力ストリーム状態の変更を伴う指令がユーザから入力されていないと判断された場合、または、ユーザの操作入力に対応するコマンドの送信後、CPU11は、HDD16に、表示させるストリームデータが残っているか否かを判断する。表示させるストリームデータが残っていないと判断された場合、メモリ18に転送されているが、まだ表示されていないストリームデータの再生処理が繰り返される。   When it is determined that a command accompanying a change in the input stream state has not been input from the user, or after transmission of a command corresponding to the user's operation input, the CPU 11 determines whether or not stream data to be displayed remains in the HDD 16. Determine whether. When it is determined that there is no stream data to be displayed, the reproduction process of stream data that has been transferred to the memory 18 but not yet displayed is repeated.

HDD16に、表示させるストリームデータが残っていると判断された場合、CPU11は、ノースブリッジ12およびサウスブリッジ15を制御して、デコードして出力するストリームデータのうち、メモリ18へ転送済みのGOPに続く1GOPをHDD16から読み出し、読み出した1GOPのストリームデータを、PCIバス14を介してPCIブリッジ17に供給し、メモリ18に転送し、PCIブリッジ17のコマンドバッファ31に、データ転送完了と、メモリ18に転送されたGOPに含まれるピクチャのピクチャ情報を供給することにより、CPU121に対して、データ転送完了と、ピクチャ情報とを通知する。   When it is determined that there is still stream data to be displayed in the HDD 16, the CPU 11 controls the north bridge 12 and the south bridge 15 to store the GOP that has been transferred to the memory 18 among the stream data to be decoded and output. The subsequent 1 GOP is read from the HDD 16, the read 1 GOP stream data is supplied to the PCI bridge 17 via the PCI bus 14, transferred to the memory 18, the data transfer is completed to the command buffer 31 of the PCI bridge 17, and the memory 18 By supplying the picture information of the picture included in the GOP transferred to, the CPU 121 is notified of the completion of data transfer and the picture information.

そして、CPU11は、CPU121およびメモリ18から、準備完了の通知を受ける。具体的には、CPU11は、CPU121がコントロールバス19を介してPCIブリッジのリザルトバッファ32に供給した、データ転送完了とピクチャ情報の通知に対するリザルトを、ノースブリッジ12およびPCIバス14を介して読み込むとともに、メモリ18から、PCIブリッジ17、PCIバス14およびノースブリッジ12を介して、複数GOPのストリームデータの保存終了の通知を受ける。   Then, the CPU 11 receives a notification of preparation completion from the CPU 121 and the memory 18. Specifically, the CPU 11 reads the result for the data transfer completion and picture information notification supplied from the CPU 121 to the PCI bridge result buffer 32 via the control bus 19 via the north bridge 12 and the PCI bus 14. The memory 18 is notified of the end of storage of stream data of a plurality of GOPs via the PCI bridge 17, the PCI bus 14, and the north bridge 12.

そして、デコーダ122によりデコードされて得られたSDI信号、すなわち、ベースバンドの画像信号の表示または出力が開始され、1GOPの表示完了が検出されて、表示または出力されたGOPは、表示または出力されるストリームデータの最後であると判断された場合、処理は終了される。   Then, the display or output of the SDI signal obtained by decoding by the decoder 122, that is, the baseband image signal is started, the display completion of 1 GOP is detected, and the displayed or output GOP is displayed or output. If it is determined that the stream data is the last, the process is terminated.

このような処理により、CPU11は、CPU121にコマンドを供給し、供給したコマンドに対するリザルトを受けて、ストリームデータのデコードと、デコードされたデータの表示を制御することができる。   By such processing, the CPU 11 can supply a command to the CPU 121, receive a result for the supplied command, and control decoding of the stream data and display of the decoded data.

更に、CPU11は、デコーダ122により、表示出力のためのデコード処理が実行されない期間を利用して、予めIピクチャおよびPピクチャがデコードされて蓄積されるように、メモリ18に供給されたGOPデータが、デコーダ122のメモリ131に先行して供給されるように、GOPの先送り転送指令コマンドを生成して、CPU121に供給する。先送り転送のタイミングは、再生方向および再生速度、並びに、メモリ131に蓄積可能なGOPの数などによって異なる。先送り転送のタイミングの具体的な例については、図63乃至図72を用いて後述する。   Further, the CPU 11 uses the period during which the decoding process for display output is not performed by the decoder 122, so that the GOP data supplied to the memory 18 is stored so that the I picture and the P picture are decoded and accumulated in advance. The GOP post-transfer command command is generated and supplied to the CPU 121 so as to be supplied in advance to the memory 131 of the decoder 122. The timing of the forward transfer differs depending on the reproduction direction and reproduction speed, the number of GOPs that can be stored in the memory 131, and the like. A specific example of the timing of the forward transfer will be described later with reference to FIGS.

メモリ131は、メモリ18から供給された圧縮符号化ストリームを蓄積するためのストリームバッファと、デコーダ131によりデコードされて生成されたベースバンド画像データを蓄積するフレームメモリと、デコード処理に必要な各種情報を保持するメモリとの各種記憶領域を含むものである。   The memory 131 includes a stream buffer for accumulating the compressed encoded stream supplied from the memory 18, a frame memory for accumulating baseband image data generated by decoding by the decoder 131, and various pieces of information necessary for decoding processing. Various storage areas with a memory for holding

そして、CPU121は、CPU11から供給されるコマンドに基づいて、デコーダ122によるデコード処理を制御する。具体的には、CPU121は、圧縮符号化されたストリームデータのデコーダ122のメモリ131への入力のタイミング、ピクチャごとのデコードのタイミング、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定し、これらのタイミングを基に、PCIブリッジ17、および、デコーダ122を制御する。   Then, the CPU 121 controls the decoding process by the decoder 122 based on the command supplied from the CPU 11. Specifically, the CPU 121 determines the input timing of the compression-encoded stream data to the memory 131 of the decoder 122, the decoding timing for each picture, and the output of the decoded picture, that is, the display timing. Based on these timings, the PCI bridge 17 and the decoder 122 are controlled.

CPU121は、メモリ131のうち、デコード処理前の圧縮符号化ストリームがバッファリングされるストリームバッファに、何GOPのデータを蓄積することが可能かを認識しており、いずれのGOPが保持されているかを、GOP_IDなどを基に管理する。これは、ストリームバッファに、あるGOP_IDのGOPが貯まっているときに、同じGOP_IDのGOPを転送してしまうような、ストリームバッファへのストリームの無駄な転送を避けるためである。   The CPU 121 recognizes how many GOPs of data can be stored in a stream buffer in the memory 131 in which the compression-coded stream before decoding processing is buffered, and which GOP is held. Are managed based on GOP_ID. This is to avoid wasteful transfer of a stream to the stream buffer, such as transferring a GOP with the same GOP_ID when a GOP with a certain GOP_ID is stored in the stream buffer.

CPU121は、CPU11から供給されるGOPの先送り転送指令コマンドに基づいて、ピクチャ出力に間に合うように、メモリ131(のストリームバッファ)にGOPを先送り転送する。先送り転送のタイミングについては、図63乃至図72を用いて後述する。そして、CPU121は、メモリ131(のストリームバッファ)に転送されたGOPに対するアンカーフレームデコード開始コマンドを、デコーダ122に供給して、アンカーフレームを先行してデコードさせる。   Based on the GOP forward transfer command command supplied from the CPU 11, the CPU 121 transfers the GOP forward to the memory 131 (stream buffer) in time for picture output. The timing of the forward transfer will be described later with reference to FIGS. Then, the CPU 121 supplies an anchor frame decoding start command for the GOP transferred to the memory 131 (stream buffer thereof) to the decoder 122 so that the anchor frame is decoded in advance.

図45のフローチャートを参照して、CPU121のGOP転送制御処理について説明する。   The GOP transfer control process of the CPU 121 will be described with reference to the flowchart of FIG.

ステップS591において、CPU121は、CPU11の処理によりPCIブリッジ17のコマンドバッファ31に、GOP ID xのGOPの先送り転送指令コマンドの供給を受ける。   In step S591, the CPU 121 receives supply of the GOP forward transfer command command of GOP ID x to the command buffer 31 of the PCI bridge 17 by the processing of the CPU 11.

ステップS592において、CPU121は、デコーダ122のメモリ131のストリームバッファ(図46を用いて後述するストリームバッファ131-1)に、GOP ID xのデータが存在するか否かを判断する。   In step S592, the CPU 121 determines whether data of GOP ID x exists in the stream buffer of the memory 131 of the decoder 122 (stream buffer 131-1 described later with reference to FIG. 46).

ステップS592において、ストリームバッファにGOP ID xのデータが存在しないと判断された場合、ステップS593において、CPU121は、メモリ18に蓄積されているGOP ID xのメモリ131への先送り転送処理を制御して、処理が終了される。   If it is determined in step S592 that GOP ID x data does not exist in the stream buffer, in step S593, the CPU 121 controls the forward transfer processing to the GOP ID x memory 131 stored in the memory 18. The process is terminated.

ステップS592において、ストリームバッファにGOP ID xのデータが存在すると判断された場合、ステップS594において、CPU121は、デコーダ122に、GOP ID xのアンカーフレームデコード開始コマンドを送信して、処理が終了される。   If it is determined in step S592 that GOP ID x data exists in the stream buffer, in step S594, the CPU 121 transmits an anchor frame decoding start command for GOP ID x to the decoder 122, and the process ends. .

このような処理により、CPU121は、デコーダ122のメモリ131のストリームバッファ(図46を用いて後述するストリームバッファ131-1)に、GOPの先送り転送指令コマンドに対応するGOPのデータが存在しない場合は、コマンドに基づいて、指定されたGOPの先送り転送処理を制御するが、対応するGOPのデータが既に存在した場合、同一のGOPの転送を繰り返すことなく、アンカーフレームのデコード処理を開始させる。   As a result of such processing, the CPU 121 determines that there is no GOP data corresponding to the GOP forward transfer command command in the stream buffer of the memory 131 of the decoder 122 (stream buffer 131-1 described later with reference to FIG. 46). Based on the command, the forward transfer process of the designated GOP is controlled. When the data of the corresponding GOP already exists, the anchor frame decoding process is started without repeating the transfer of the same GOP.

そして、図46は、デコーダ122の更に詳細な構成を示すブロック図である。   FIG. 46 is a block diagram showing a more detailed configuration of the decoder 122.

入力処理部151は、PCIブリッジ17から供給された圧縮符号化されたストリームデータをストリームバッファ131−1に保存させるとともに、供給されたストリームデータから、ピクチャ単位で、先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどを取得して、ストリーム情報バッファ131−2に供給する。   The input processing unit 151 stores the compression-encoded stream data supplied from the PCI bridge 17 in the stream buffer 131-1, and from the supplied stream data, the start address, the data size, and the picture header in units of pictures. Information, Q matrix, etc. are acquired and supplied to the stream information buffer 131-2.

ストリームバッファ131−1は、SDRAMなどの記憶用のメモリで構成された図44のメモリ131のうちの所定の記憶領域であり、入力処理部151から供給されたストリームデータをバッファリングし、セレクタ152に供給する。ストリームバッファ131−1には、少なくとも、後述するフレームメモリ131−3に保持可能なアンカーフレームのGOP数と同数のGOP数のストリームデータが保持可能なようになされている。また、ストリームバッファ131−1が、後述するフレームメモリ131−3に保持可能なアンカーフレームのGOP数以上の数のGOPを保持することができるようになされていると、例えば、再生方向が逆転したり、再生開始位置が変更した場合に、ストリームバッファ131−1に新たなGOPを供給しなくても対応することができる可能性が高くなるため、好適である。   The stream buffer 131-1 is a predetermined storage area in the memory 131 of FIG. 44 configured by a storage memory such as SDRAM, buffers the stream data supplied from the input processing unit 151, and selects the selector 152. To supply. The stream buffer 131-1 can hold at least stream data of the same number of GOPs as the number of GOPs of anchor frames that can be held in a frame memory 131-3 described later. Also, if the stream buffer 131-1 can hold the number of GOPs equal to or greater than the number of anchor frames GOP that can be held in the frame memory 131-3, which will be described later, for example, the playback direction is reversed. If the playback start position is changed, there is a high possibility that it can be handled without supplying a new GOP to the stream buffer 131-1, which is preferable.

ストリーム情報バッファ131−2は、図44のメモリ131のうちの所定の記憶領域であり、入力処理部151から供給された、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を、それぞれ、ピクチャ別に保持する。   The stream information buffer 131-2 is a predetermined storage area in the memory 131 in FIG. 44, and is supplied from the input processing unit 151 and includes information such as the top address in units of pictures, data size, picture header information, and Q matrix. For each picture.

デコードコントローラ153は、CPU121から供給される制御信号に基づいて、ストリームバッファ131−1に保持されている各ピクチャのアドレスやストリーム情報をストリーム情報バッファ131−2から読み込んで、デコーダ122の各部の処理を制御する。具体的には、デコードコントローラ153は、セレクタ152を制御することにより、デコード処理部154に供給されるピクチャそれぞれのピクチャのデコードタイミングを制御する。また、デコードコントローラ153は、セレクタ155を制御して、デコード処理部154によりデコードされて得られたベースバンド画像信号のフレームメモリ131−3における格納位置を制御する。そして、デコードコントローラ153は、セレクタ156を制御することにより、フレームメモリ131−3から参照画像としてデコード処理部154に供給されるベースバンド画像信号、すなわち、デコード処理部154において実行されるPピクチャまたはBピクチャのデコードにおける参照画像の供給を制御する。そして、デコードコントローラ153は、フレームメモリ131−3からセレクタ157が読み出して出力するベースバンド画像信号を制御することにより、表示などのために出力されるデコード済みのベースバンド画像信号の出力、すなわち、再生画像の表示のタイミングを制御する。   Based on the control signal supplied from the CPU 121, the decode controller 153 reads the address and stream information of each picture held in the stream buffer 131-1 from the stream information buffer 131-2, and processes each unit of the decoder 122. To control. Specifically, the decode controller 153 controls the decode timing of each picture supplied to the decode processing unit 154 by controlling the selector 152. The decode controller 153 controls the selector 155 to control the storage position in the frame memory 131-3 of the baseband image signal obtained by decoding by the decode processing unit 154. The decode controller 153 controls the selector 156 to control the baseband image signal supplied from the frame memory 131-3 as the reference image to the decode processing unit 154, that is, the P picture or the picture executed in the decode processing unit 154. Controls supply of a reference picture in decoding of a B picture. The decode controller 153 controls the baseband image signal that the selector 157 reads and outputs from the frame memory 131-3, thereby outputting the decoded baseband image signal output for display or the like, that is, Control the display timing of the playback image.

セレクタ152は、デコードコントローラ153の制御に基づいて、ストリームバッファ131−1に保存されたストリームデータを、ピクチャ単位でデコード処理部154に供給する。   The selector 152 supplies the stream data stored in the stream buffer 131-1 to the decoding processing unit 154 in units of pictures based on the control of the decoding controller 153.

デコード処理部154は、セレクタ152から供給されたMPEGビデオストリームを、セレクタ156から供給された参照画を必要に応じて参照してデコードし、デコードされたベースバンド(非圧縮)の画像信号を、セレクタ155に供給する。   The decode processing unit 154 decodes the MPEG video stream supplied from the selector 152 with reference to the reference image supplied from the selector 156 as necessary, and decodes the decoded baseband (uncompressed) image signal. This is supplied to the selector 155.

セレクタ155は、デコードコントローラ153の制御に基づいて、デコード処理部154によりデコードされて供給されたベースバンドの画像信号のフレームメモリ131−3における記録位置、すなわち、ベースバンドの画像信号が保存されるバンク位置を決定し、デコード処理部154から供給されたベースバンドの画像信号を、フレームメモリ131−3の所定のバンク位置に保存させる。換言すれば、デコードコントローラ153は、デコード処理部154によりデコードされて得られるベースバンドの画像信号のフレームメモリ131−3におけるバンク位置を決定し、その位置にベースバンドの画像信号が記録されるように、セレクタ155を制御する。   The selector 155 stores the recording position of the baseband image signal decoded and supplied by the decoding processing unit 154 in the frame memory 131-3 based on the control of the decode controller 153, that is, the baseband image signal. The bank position is determined, and the baseband image signal supplied from the decoding processing unit 154 is stored in a predetermined bank position of the frame memory 131-3. In other words, the decode controller 153 determines the bank position in the frame memory 131-3 of the baseband image signal obtained by decoding by the decode processing unit 154, and the baseband image signal is recorded at that position. Then, the selector 155 is controlled.

フレームメモリ131−3は、図44のメモリ131のうちの所定の記憶領域であり、他のピクチャの参照画像として用いられるIピクチャ、および、Pピクチャを格納する参照バンクとBピクチャなどを表示するために用意された表示専用バンクから構成され、参照バンクには、予めデコードされて保有されるアンカーフレームのための参照バンクと、再生出力されるタイミングに応じてデコードされるアンカーフレームのための参照バンクとが、それぞれ別に用意されている。フレームメモリ131−3におけるバンク構成の例については、図51または図76を用いて後述する。   The frame memory 131-3 is a predetermined storage area in the memory 131 of FIG. 44, and displays an I picture used as a reference image of other pictures, a reference bank storing a P picture, a B picture, and the like. The reference bank includes a reference bank for an anchor frame that is pre-decoded and held, and a reference for an anchor frame that is decoded according to the timing to be reproduced and output. There are separate banks. An example of the bank configuration in the frame memory 131-3 will be described later with reference to FIG.

セレクタ156は、デコードコントローラ153の制御に基づいて、フレームメモリ131−3のうち、Pピクチャの前方向(forward)の参照画像バンクとして指定されたバンクに保持されているフレーム画像データや、Bピクチャの前方向および後ろ方向(backward)の参照画像バンクとして指定されたバンクに保持されているフレーム画像データを読み出し、デコード処理部154に供給する。   Under the control of the decode controller 153, the selector 156 selects the frame image data held in the bank designated as the forward reference picture bank of the P picture in the frame memory 131-3, or the B picture The frame image data held in the bank designated as the reference image bank in the forward direction and the backward direction (backward) are read out and supplied to the decoding processing unit 154.

セレクタ157は、デコードコントローラ153の制御に基づいて、フレームメモリ131−3に保持されているフレーム画像データのうちの出力画像、すなわち、表示させるフレームのバンクを指定して読み出し、出力する。   Under the control of the decode controller 153, the selector 157 reads out and outputs an output image of the frame image data held in the frame memory 131-3, that is, a bank of frames to be displayed.

次に、デコーダ122の動作について説明する。ここでは、その一例として、N15、M3のMPEG LongGOPをデコードする場合について説明する。   Next, the operation of the decoder 122 will be described. Here, as an example, a case where N15 and M3 MPEG LongGOP are decoded will be described.

入力処理部151に供給されるそれぞれのGOPは、図47に示されるように、I,P,Bピクチャにより構成されるそれぞれのピクチャのデータ以外に、GOPのヘッダ情報を含んでいる。GOPのヘッダ情報は、HDD16に保持されているストリームデータを構成するそれぞれのGOPに予め付与されているか、または、CPU121の処理によりGOPのヘッダ情報が生成されて、HDD16から読み出されてデコーダ122に供給されるストリームデータを構成するそれぞれのGOPに付与されるようになされている。   As shown in FIG. 47, each GOP supplied to the input processing unit 151 includes GOP header information in addition to the data of each picture composed of I, P, and B pictures. The GOP header information is given in advance to each GOP constituting the stream data held in the HDD 16, or GOP header information is generated by the processing of the CPU 121, read from the HDD 16, and read out by the decoder 122. Is provided to each GOP constituting the stream data supplied to.

GOPのヘッダ情報には、例えば、GOP ID、そのGOPに含まれるフレームの数、および、そのフレームに含まれるアンカーフレームの数などが含まれる。   The GOP header information includes, for example, the GOP ID, the number of frames included in the GOP, the number of anchor frames included in the frame, and the like.

入力処理部151は、ピクチャデータをストリームバッファ131−1に供給するとともに、GOPのヘッダ情報と、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を、ストリーム情報バッファ131−2に供給する。   The input processing unit 151 supplies the picture data to the stream buffer 131-1, and also transmits information such as GOP header information, the head address in units of pictures, data size, picture header information, and Q matrix to the stream information buffer 131-. 2 is supplied.

ストリーム情報バッファ131−2は、上述したGOPのヘッダ情報と、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報を保持する。   The stream information buffer 131-2 holds the GOP header information and information such as the top address of each picture, data size, picture header information, and Q matrix.

デコードコントローラ153は、ストリーム情報バッファ131−2に保存されている、上述したGOPのヘッダ情報とピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Qマトリクスなどの情報とを基に、デコード対象のGOPのそれぞれのピクチャのデコード関連情報を生成し、そのGOPのヘッダ情報と表示順にリオーダした表示順のデコード関連情報により構成される、図48に示されるストリームバッファGOPキューを管理する。   The decode controller 153 stores the GOP header information stored in the stream information buffer 131-2 and information such as the top address of each picture, the data size, the picture header information, and the Q matrix. 48. The decoding related information of each GOP picture is generated, and the stream buffer GOP queue shown in FIG. 48 configured by the GOP header information and the decoding related information in the display order reordered in the display order is managed.

デコード関連情報は、ピクチャ出力要求時のデコード処理において必要になる情報であり、例えば、該当するピクチャが、保有アンカーフレームであるか、非保有アンカーフレームであるか、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, 1 GOP worth of decoding related information is managed as one data unit. For example, it is configured by FIFO (First in First Out), or new data is PUSH. In such a case, the information of the GOP that is farthest from the currently playing GOP is POPped.

上述した第1の実施の形態の再生装置1においては、すべてのアンカーフレームをBピクチャの前に予めデコードしておくようになされていたが、これに対して、デコーダ122においては、すべてのアンカーフレームではなく、数枚おきに選択されたアンカーフレームのみをBピクチャの前に予めデコードするようになされる。   In the playback apparatus 1 according to the first embodiment described above, all anchor frames are decoded in advance before the B picture. On the other hand, in the decoder 122, all anchor frames are decoded. Only anchor frames selected every several frames, not frames, are decoded in advance before the B picture.

具体的には、例えば、デコーダ122においては、図49に示されるように、GOP内のアンカーフレームを、Iピクチャから1つおきに予めデコードしておくようにしてもよい。以下、予めデコードされ、バンクに保持されるアンカーフレームを保有アンカーフレーム、予めデコードされない、すなわち、予めバンクに保持されないアンカーフレームを非保有アンカーフレームと称するものとする。   Specifically, for example, in the decoder 122, as shown in FIG. 49, every other anchor frame in the GOP may be decoded in advance from the I picture. Hereinafter, an anchor frame that is decoded in advance and held in the bank is referred to as a retained anchor frame, and an anchor frame that is not decoded in advance, that is, not previously retained in the bank is referred to as a non-owned anchor frame.

具体的には、例えば、N:15、M:3、GOP ID 1のGOPが入力され、GOP ID 1のGOPの保有アンカーフレームが使用している先頭バンクが“1”である場合(図52を用いて後述するGOP保有アンカー情報に記載される)、図50に示されるように、ストリームバッファGOPキューに情報が蓄積される。   Specifically, for example, when a GOP with N: 15, M: 3, and GOP ID 1 is input and the leading bank used by the GOP ID 1 GOP anchor frame is “1” (FIG. 52). As described in FIG. 50, information is accumulated in the stream buffer GOP queue.

すなわち、該当する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, GOP ID 1, number of frames 15 and number of anchor frames 5 are described in the GOP header information of the corresponding GOP. In the decoding related information, the picture type, decoded picture storage destination bank, forward reference picture index number, and backward reference picture index number of each picture reordered in the picture display order are described. Here, the picture type is not a classification of I, B, P, but is a retained anchor frame, a non-retained anchor frame, or one of the two B pictures at the head of the GOP ( The first B picture) or the B picture other than the first GOP of the GOP (non-first B picture). Then, the I picture of index 2, the P picture of index 8, and the P picture of index 14 are held anchor frames, and the P picture of index 5 and the P picture of index 11 are non-owned anchor frames.

そして、デコード画格納先バンクは、保有アンカーフレームのみ予め確定され、バンクナンバーが記載されるが、非保有アンカーフレームおよび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 index numbers 0 and 1 (the B picture with the previous GOP I picture or P picture as the reference picture) has the previous GOP in the stream buffer at the initial setting. Since it may not exist, it is not set at this time, and is set when the last I picture or P picture of the previous GOP is searched for at the time of decoding. Then, the forward reference picture index number and backward reference picture index number of the other B picture, and the forward reference picture index number of the P picture are set.

デコードコントローラ153によるストリームバッファGOPキューを利用したピクチャの管理処理の詳細については、図59のフローチャートを用いて後述する。   Details of the picture management process using the stream buffer GOP queue by the decode controller 153 will be described later with reference to the flowchart of FIG.

そして、デコードコントローラ153は、ストリームバッファGOPキューによって管理されているデコード関連情報を基に、供給されたストリームデータにおけるそれぞれのフレームのデコードのタイミングを制御する。   Then, the decode controller 153 controls the decoding timing of each frame in the supplied stream data based on the decoding related information managed by the stream buffer GOP queue.

すなわち、デコードコントローラ153は、すべてのアンカーフレームではなく、例えば、図49を用いて説明した場合のように、Iピクチャから1枚おきとなるアンカーフレームか、または、数枚おきに選択されたアンカーフレームのみを、保有アンカーフレームとして設定し、Bピクチャがデコードされる前のデコード処理の空き時間に、デコード処理部154によって予めデコードさせるように、セレクタ152を制御する。   That is, the decode controller 153 does not select all the anchor frames, but, for example, every other frame from the I picture, or every other selected anchor frame as described with reference to FIG. Only the frame is set as the possessed anchor frame, and the selector 152 is controlled so that the decoding processing unit 154 decodes in advance during the idle time of the decoding process before the B picture is decoded.

上述したように、デコード処理部154は、1フレームの表示時間に対して充分に短い持間(例えば、1フレームの表示時間の1/3乃至1/4程度)で、1フレームをデコードすることが可能である。したがって、デコードコントローラ153は、フレームメモリ131−3に保持可能な数の保有アンカーフレームが、1GOP単位で予めデコードされて、フレームメモリ131−3の所定のバンクに供給されて、保持されるよう、セレクタ152、セレクタ155、および、セレクタ156をそれぞれ制御する。   As described above, the decoding processing unit 154 decodes one frame with a sufficiently short time (for example, about 1/3 to 1/4 of the display time of one frame) with respect to the display time of one frame. Is possible. Therefore, the decode controller 153 is configured so that the number of retained anchor frames that can be held in the frame memory 131-3 is decoded in advance in units of 1 GOP, supplied to a predetermined bank of the frame memory 131-3, and held. The selector 152, the selector 155, and the selector 156 are controlled.

GOP内の1つおきのアンカーフレームが保有アンカーフレームとされ、フレームメモリ131−3として、Xフレームのベースバンド画像データを一時保持する領域、および、2フレーム分の表示用画像データを一時保持する領域を確保することができた場合、すなわち、X+2バンクのバンクメモリが確保された場合のバンク構成図を、図51に示す。   Every other anchor frame in the GOP is a possessed anchor frame, and the frame memory 131-3 temporarily holds an X frame baseband image data area and display image data for two frames. FIG. 51 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 B picture display non-owned anchor bank for storing a baseband image of a non-owned 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ピクチャ表示用非保有アンカーバンクに格納され、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像とともに参照されて、表示される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 and displayed in the B-non-owner anchor display bank, which is a display-only bank. 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に含まれる保有アンカーフレームと、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームが、予めデコードされ、フレームメモリ131−3に保持される。非保有アンカーフレームのうち、保有アンカーフレームをデコードするための参照画として必要とならないもの(例えば、GOP内の時間的に最後のアンカーフレームが非保有アンカーフレームである場合)は、表示が指令されるまで、デコード処理を実行しなくてもよい。   That is, the retained anchor frame included in the GOP and the non-retained anchor frame required as a reference image for decoding the retained anchor frame are decoded in advance and stored in the frame memory 131-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.

図52を参照して、デコードコントローラ153による、フレームメモリ131−3の管理について説明する。   With reference to FIG. 52, management of the frame memory 131-3 by the decode controller 153 will be described.

デコードコントローラ153は、図52に示されるように、保有アンカー情報と、GOP保有アンカーキューに保持される複数フレーム分のGOP保有アンカー情報とを用いて、保有アンカーフレームのデコード処理のタイミングを制御する。保有アンカー情報はGOP保有アンカーキューを作成するために必要な情報であり、使用している先頭バンクおよび後尾バンク、並びに、使用しているバンク数に関する情報が含まれている。GOP保有アンカーキューは先頭と後尾の両方にPushできる双方向キューであり、保有アンカー情報に記載されている、使用している先頭バンクから後尾バンクの間に保持されている保有アンカーフレームに関する情報であるGOP保有アンカー情報をGOPごとに保持する。GOP保有アンカー情報は、各GOPの保有アンカーフレームのベースバンド画像のバンク格納先を決定する際に必要となる情報であり、GOP保有アンカー情報には、対応するGOPのGOP ID、そのGOPの保有アンカーフレームが使用している先頭バンク、および、そのGOPの保有アンカーフレームが使用しているバンク数が含まれている。   As shown in FIG. 52, the decode controller 153 uses the retained anchor information and the GOP retained anchor information for a plurality of frames retained in the GOP retained anchor queue to control the timing of the retained anchor frame decoding process. . The retained anchor information is information necessary for creating a GOP retained anchor queue, and includes information on the first and last banks used, and the number of banks used. The GOP holding anchor queue is a bidirectional queue that can be pushed to both the head and tail, and is information about the holding anchor frame held between the head bank used and the tail bank described in the holding anchor information. A certain GOP possession anchor information is retained for each GOP. The GOP possession anchor information is information required when determining the bank storage location of the baseband image of the possession anchor frame of each GOP. The GOP possession anchor information includes the GOP ID of the corresponding GOP and the possession of the GOP. The first bank used by the anchor frame and the number of banks used by the anchor frame held by the GOP are included.

デコードコントローラ153は、表示される非保有アンカーフレームまたはBピクチャのデコードが行われていないタイミングを利用して、保有アンカーフレームを優先的にデコードさせるようなデコード順のスケジューリングを行い、セレクタ156を制御して、保有アンカーフレームをデコード処理部154に供給させてデコード処理を実行させるとともに、保有アンカー情報と、GOP保有アンカーキューに保持される複数フレーム分のGOP保有アンカー情報とを参照しながら、デコード済みの保有アンカーフレームのベースバンド画像データがフレームメモリ131−3のうちのいずれの参照バンクに格納されるかを決定し、セレクタ155を制御して、フレームメモリ131−3の参照バンクの所定の位置にデコード済みの保有アンカーフレームのベースバンド画像データを格納する。   The decode controller 153 uses the timing at which the displayed non-owned anchor frame or B picture is not decoded to schedule the decoding order so that the held anchor frame is preferentially decoded, and controls the selector 156. Then, the decoding processing unit 154 is caused to supply the retained anchor frame to execute the decoding process, and the decoding is performed while referring to the retained anchor information and the GOP retained anchor information for a plurality of frames retained in the GOP retained anchor queue. It is determined in which reference bank of the frame memory 131-3 the baseband image data of the already held anchor frame is stored, and the selector 155 is controlled to determine a predetermined bank of the reference bank of the frame memory 131-3. A possessed app that has been decoded to a position Stores the baseband image data of the anchor frame.

予めデコードされる保有アンカーフレームがIピクチャである場合、セレクタ152が制御されて、Iピクチャがデコード処理部154に供給されて、デコードされた後、セレクタ155が制御されて、フレームメモリ131−3の参照バンクのうちの保有アンカーバンクのいずれかに格納される。   When the retained anchor frame to be decoded in advance is an I picture, the selector 152 is controlled, the I picture is supplied to the decoding processing unit 154, and after decoding, the selector 155 is controlled to control the frame memory 131-3. Stored in one of the owned anchor banks.

また、予めデコードされる保有アンカーフレームがPピクチャである場合、先に、その直前の非保有アンカーフレームがデコード処理部154に供給されて、デコードされた後、セレクタ155が制御されて、フレームメモリ131−3の参照バンクの非保有アンカーバンクに格納される。そして、セレクタ152が制御されて、保有アンカーフレームであるPピクチャがデコード処理部154に供給されるとともに、セレクタ156が制御されて、非保有アンカーバンクに格納されたベースバンド画像データが参照されて、Pピクチャのデコード処理が実行され、セレクタ155が制御されて、フレームメモリ131−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 decoding processing unit 154 and decoded, and then the selector 155 is controlled to control the frame memory. It is stored in the non-owned anchor bank of the reference bank 131-3. Then, the selector 152 is controlled to supply the P picture that is the retained anchor frame to the decoding processing unit 154, and the selector 156 is controlled to refer to the baseband image data stored in the non-owned anchor bank. , P picture decoding processing is executed, and the selector 155 is controlled and stored in one of the owned anchor banks of the reference banks of the frame memory 131-3.

デコードコントローラ153は、供給されたGOPに含まれるアンカーフレームのうち、予めデコード処理が実行される、保有アンカーフレーム、および、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームのデコードのスケジュールと、デコード後の参照バンクのバンク位置を、アンカーフレームデコードキューを用いて管理する。すなわち、デコードコントローラ153は、GOPの先頭から、それぞれのピクチャが、保有アンカーフレーム、または、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームであるかを判断し、これらの予めデコードされるピクチャにおいて、それぞれのデコード後のベースバンド画像データが保持されるバンク位置を設定し、アンカーフレームデコードキューにPUSHする。   The decode controller 153 includes, among anchor frames included in the supplied GOP, a retained anchor frame that is previously subjected to decoding processing, and a non-retained anchor frame that is necessary as a reference image for decoding the retained anchor frame. The decoding schedule and the bank position of the reference bank after decoding are managed using an anchor frame decoding queue. That is, the decoding controller 153 determines whether each picture is a retained anchor frame or a non-retained anchor frame required as a reference image for decoding the retained anchor frame from the beginning of the GOP. In a picture to be decoded in advance, a bank position where the baseband image data after each decoding is held is set, and is pushed to the anchor frame decoding queue.

図53および図54を参照して、保有アンカーバンクの管理の具体的な処理の一例について説明する。ここでは、保有アンカーバンクとして、10バンク利用可能である場合、すなわち、フレームメモリ131−3に、14フレーム分のベースバンド画像データを保持することができる場合について説明する。   With reference to FIGS. 53 and 54, an example of a specific process 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 131-3 will be described.

まず、図53Aの状態において、予めデコードされたGOP ID 1、2、3の保有アンカーフレームのベースバンド画像が、それぞれ、フレームメモリ131−3の10バンクの保有アンカーバンクのうちのバンク0乃至3、バンク4乃至6、バンク7乃至9に格納されている。このときデコードコントローラ153が管理している保有アンカー情報およびGOP保有アンカーキューは、図53Bの状態となる。すなわち、保有アンカー情報により、使用している先頭バンクは1、使用している後尾バンクは9、使用しているバンク数は9であることが管理され、GOP保有アンカーキューにより、GOP ID1の保有アンカーバンクが、バンク1から3つのバンクを利用しており、GOP ID2の保有アンカーバンクが、バンク4から3つのバンクを利用しており、GOP ID3の保有アンカーバンクが、バンク7から3つのバンクを利用していることが管理されている。   First, in the state of FIG. 53A, the baseband images of the possessed anchor frames with GOP IDs 1, 2, and 3 decoded in advance are stored in banks 0 to 3 of the ten retained anchor banks of the frame memory 131-3, respectively. , Stored in banks 4 to 6 and banks 7 to 9. At this time, the retained anchor information and the GOP retained anchor queue managed by the decode controller 153 are in the state of FIG. 53B. That is, it is managed that the used first bank is 1, the last used bank is 9, and the number of used banks is 9, according to the retained anchor information, and the GOP ID anchor queue holds GOP ID1. The anchor bank uses three banks from bank 1, the anchor bank owned by GOP ID2 uses three banks from bank 4, and the anchor bank owned by GOP ID3 has three banks from bank 7 The use of is managed.

次に、アンカーフレーム数5のGOP ID 4のストリームデータが供給された場合、GOP ID 4のGOPの保有アンカーフレーム数は3となり、現在空いているバンクは、バンク10のみであって、GOP ID 4のGOPの保有アンカーフレームのすべてを格納することができないため、現在格納されているいずれかのGOPの保有アンカーフレームを保有アンカーバンクから削除する必要が生じる。   Next, when the GOP ID 4 stream data with the anchor frame number 5 is supplied, the number of anchor frames held by the GOP with the GOP ID 4 is 3, and the only vacant bank is the bank 10, and the GOP ID Since all of the GOP possession anchor frames of 4 GOPs cannot be stored, it is necessary to delete any of the currently stored GOP possession anchor frames from the possession anchor bank.

そこで、デコードコントローラ153は、現在GOP保有アンカーキューに保持されている情報のうち、GOP ID 4に最も遠いGOPに関する情報であるGOP ID 1のGOP保有アンカー情報をGOP保有アンカーキューからPOPし、GOP ID 4のGOP保有アンカー情報をGOP保有アンカーキューの後尾にPUSHする。   Therefore, the decode controller 153 POPs the GOP possession anchor information of GOP ID 1 which is the information related to the GOP farthest from GOP ID 4 out of the information currently retained in the GOP possession anchor queue from the GOP possession anchor queue. Push the ID 4 GOP holding anchor information to the tail of the GOP holding anchor queue.

そのときのフレームメモリ131−3の10バンクの保有アンカーバンクの状態を図54Aに、保有アンカー情報およびGOP保有アンカーキューの状態を図54Bに示す。すなわち、フレームメモリ131−3の10バンクの保有アンカーバンクのうちのバンク4乃至6にはGOP ID2の保有アンカーフレームが、バンク7乃至9にはGOP ID3の保有アンカーフレームが、図53を用いて説明した場合と同様にしてそれぞれ格納されており、新たに供給されたGOP ID4の保有アンカーフレームが、バンク10、バンク1、およびバンク2に格納される。そして、保有アンカー情報により、使用している先頭バンクは4、使用している後尾バンクは2、使用しているバンク数は9であることが管理され、GOP保有アンカーキューにより、GOP ID2の保有アンカーバンクが、バンク4から3つのバンクを利用しており、GOP ID3の保有アンカーバンクが、バンク7から3つのバンクを利用しており、GOP ID4の保有アンカーバンクが、バンク10から3つのバンクを利用していることが管理されている。   FIG. 54A shows the state of the ten anchor banks in the frame memory 131-3 at that time, and FIG. 54B shows the state of the anchor information and the GOP anchor anchor queue. That is, among the ten owned anchor banks of the frame memory 131-3, banks 4 to 6 have GOP ID2 owned anchor frames, banks 7 to 9 have GOP ID3 owned anchor frames, and FIG. The stored anchor frames of GOP ID 4 that are newly supplied are stored in bank 10, bank 1, and bank 2 in the same manner as described above. And, it is managed by the possession anchor information that the first bank used is 4, the last bank used is 2, and the number of banks used is 9, and the GOP possession anchor queue holds GOP ID 2 The anchor bank uses three banks from bank 4, the GOP ID3 owned anchor bank uses three banks from bank 7, and the GOP ID4 owned anchor bank uses three banks from bank 10. The use of is managed.

次に、図55のフローチャートを参照して、デコーダ122が実行するストリーム再生処理1について説明する。   Next, the stream reproduction process 1 executed by the decoder 122 will be described with reference to the flowchart in FIG.

ステップS601において、デコーダ122のデコードコントローラ153は、入力処理部151に新たなGOPが供給されたか否かを判断する。ステップS601において、新たなGOPが供給されていないと判断された場合、処理は、ステップS604に進む。   In step S601, the decode controller 153 of the decoder 122 determines whether a new GOP has been supplied to the input processing unit 151. If it is determined in step S601 that a new GOP is not supplied, the process proceeds to step S604.

ステップS602において、図56のフローチャートを用いて後述するストリーム入力時の処理1が実行される。   In step S602, the process 1 at the time of stream input, which will be described later, is executed using the flowchart of FIG.

ステップS603において、デコードコントローラ153は、図48を用いて説明したストリームバッファGOPキューの情報に基づいて、ストリームバッファ131−1へのストリームデータの入力を制御する。   In step S603, the decode controller 153 controls the input of stream data to the stream buffer 131-1, based on the information in the stream buffer GOP queue described with reference to FIG.

ステップS601において、新たなGOPが供給されていないと判断された場合、または、ステップS603の処理の終了後、ステップS604において、デコードコントローラ153は、表示のためのデコード処理のタイミング以外のタイミングであるか否かを基に、アンカーフレームデコード開始コマンドが供給されることにより、デコード開始が指令されたGOPのアンカーフレームのデコード処理が可能であるか否かを判断する。   In step S601, when it is determined that a new GOP is not supplied, or after the processing in step S603 ends, in step S604, the decode controller 153 has a timing other than the timing of the decoding processing for display. On the basis of whether or not the anchor frame decoding start command is supplied, it is determined whether or not the decoding process of the anchor frame of the GOP instructed to start decoding is possible.

ステップS604において、アンカーフレームのデコード処理が可能であると判断された場合、ステップS605において、デコードコントローラ153は、フレームメモリ131−3の保有アンカーバンクに、デコード開始が指令されたGOPのアンカーフレームが保持されているか否かを判断する。   If it is determined in step S604 that the anchor frame can be decoded, in step S605, the decode controller 153 determines that the anchor frame of the GOP instructed to start decoding is stored in the anchor bank of the frame memory 131-3. It is determined whether or not it is held.

ステップS605において、デコード開始が指令されたGOPのアンカーフレームが保持されていないと判断された場合、ステップS606において、デコードコントローラ153は、ステップS602のストリーム入力時の処理1において実行されるアンカーフレームデコードスケジュール処理(図58を用いて後述する)によるスケジューリングに基づいて、セレクタ152、セレクタ155、セレクタ156、および、デコード処理部154を制御して、ストリームバッファ131-1に供給されていてまだデコードされていないアンカーフレームのデコードを制御する。デコード処理部154は、セレクタ156から供給される参照画像を用いて、セレクタ152から供給されたアンカーフレームのデコード処理を実行し、セレクタ155に供給する。セレクタ155は、デコードされて得られたアンカーフレームのベースバンド画像データを、フレームメモリ131-3の所定のバンク位置に格納する。   If it is determined in step S605 that the anchor frame of the GOP that is instructed to start decoding is not held, in step S606, the decode controller 153 executes the anchor frame decoding executed in the process 1 at the time of stream input in step S602. Based on the scheduling by the scheduling process (described later with reference to FIG. 58), the selector 152, the selector 155, the selector 156, and the decoding processing unit 154 are controlled to be supplied to the stream buffer 131-1 and still decoded. Controls decoding of missing anchor frames. The decoding processing unit 154 executes the decoding process of the anchor frame supplied from the selector 152 using the reference image supplied from the selector 156 and supplies the decoded processing to the selector 155. The selector 155 stores the baseband image data of the anchor frame obtained by decoding in a predetermined bank position of the frame memory 131-3.

ステップS604において、アンカーフレームのデコード処理が可能ではないと判断された場合、ステップS605において、デコード開始が指令されたGOPのアンカーフレームが保持されていると判断された場合、または、ステップS606の処理の終了後、ステップS607において、デコードコントローラ153は、CPU121から供給される制御信号に基づいて、いずれかのフレームの出力が要求されたか否かを判断する。   If it is determined in step S604 that the decoding process of the anchor frame is not possible, if it is determined in step S605 that the anchor frame of the GOP instructed to start decoding is held, or the process of step S606 In step S607, the decode controller 153 determines whether output of any frame is requested based on the control signal supplied from the CPU 121.

ステップS607において、いずれかのフレームの出力が要求されたと判断された場合、ステップS608において、図60乃至図62または図68乃至図70を用いて後述する出力処理が実行される。   If it is determined in step S607 that output of any frame has been requested, output processing to be described later is executed in step S608 using FIG. 60 to FIG. 62 or FIG. 68 to FIG.

ステップS607において、いずれかのフレームの出力が要求されなかったと判断された場合、または、ステップS608の処理の終了後、ステップS609において、デコードコントローラ153は、入力処理部151へのストリームの供給が終了されたか否かを判断する。ステップS609において、ストリームの供給が終了されていないと判断された場合、処理は、ステップS601に戻り、それ以降の処理が繰り返される。   If it is determined in step S607 that output of any frame has not been requested, or after the processing in step S608 is completed, the decoding controller 153 finishes supplying the stream to the input processing unit 151 in step S609. It is judged whether it was done. If it is determined in step S609 that the stream supply has not been completed, the process returns to step S601, and the subsequent processes are repeated.

ステップS609において、ストリームの供給が終了されたと判断された場合、ステップS610において、デコードコントローラ153は、供給されたストリームの再生処理が終了されたか否かを判断する。ステップS610において、供給されたストリームの再生処理が終了されていないと判断された場合、処理は、ステップS604に戻り、それ以降の処理が繰り返される。ステップS610において、供給されたストリームの再生処理が終了されたと判断された場合、処理は終了される。   If it is determined in step S609 that the supply of the stream has been completed, in step S610, the decode controller 153 determines whether the reproduction process for the supplied stream has been completed. If it is determined in step S610 that the supplied stream reproduction process has not been completed, the process returns to step S604, and the subsequent processes are repeated. If it is determined in step S610 that the supplied stream reproduction process has been completed, the process ends.

このような処理により、デコーダ122において、転送されたGOPに含まれるアンカーフレームが優先的にデコードされ、そのうちの少なくとも一部である保有アンカーフレームがフレームメモリ131−3の保有アンカーバンクに保持されるので、いずれかのフレームの出力が指令された場合に必要なデコード枚数を減少することができ、レスポンスが向上するとともに、全てのアンカーフレームを予めデコードしてメモリバンクに保持しておく場合と比較して、少ないメモリ容量で、できるだけ広い範囲のランダム再生やスクラブ再生、または、短い区間で正方向と逆方向の再生を連続して指令するトランジェント再生などの表示レスポンスを向上させるようにすることができる。   By such processing, the decoder 122 preferentially decodes the anchor frame included in the transferred GOP, and the retained anchor frame that is at least a part of the anchor frame is retained in the retained anchor bank of the frame memory 131-3. Therefore, it is possible to reduce the number of decoding required when the output of any frame is instructed, improving the response, and comparing with the case where all anchor frames are decoded and held in the memory bank in advance. Thus, display response such as random playback and scrub playback in as wide a range as possible with a small memory capacity, or transient playback in which playback in the forward and reverse directions is continuously commanded in a short section can be improved. it can.

次に、図56のフローチャートを参照して、図55のステップS602において実行される、ストリーム入力時の処理1について説明する。   Next, with reference to the flowchart of FIG. 56, the process 1 at the time of stream input executed in step S602 of FIG. 55 will be described.

ステップS631において、デコーダ122のデコードコントローラ153は、入力処理部151に入力されたピクチャはIピクチャであるか否かを判断する。ステップS631において、入力されたピクチャはIピクチャであると判断された場合、処理は、後述するステップS633に進む。   In step S631, the decode controller 153 of the decoder 122 determines whether the picture input to the input processing unit 151 is an I picture. If it is determined in step S631 that the input picture is an I picture, the process proceeds to step S633 described later.

ステップS631において、入力されたピクチャはIピクチャではないと判断された場合、ステップS632において、デコードコントローラ153は、入力処理部151に入力されたピクチャはPピクチャであるか否かを判断する。   When it is determined in step S631 that the input picture is not an I picture, in step S632, the decode controller 153 determines whether or not the picture input to the input processing unit 151 is a P picture.

ステップS632において、入力されたピクチャはPピクチャであると判断された場合、処理は、後述するステップS635に進む。ステップS632において、入力されたピクチャはPピクチャではないと判断された場合、すなわち、入力されたピクチャはBピクチャであると判断された場合、処理は、後述するステップS636に進む。   If it is determined in step S632 that the input picture is a P picture, the process proceeds to step S635 described later. If it is determined in step S632 that the input picture is not a P picture, that is, if it is determined that the input picture is a B picture, the process proceeds to step S636 described later.

ステップS631において、入力されたピクチャはIピクチャであると判断された場合、ステップS633において、デコードコントローラ153は、図48を用いて説明したGOPのヘッダ情報から、GOP IDと、アンカーフレームの数を取得する。   If it is determined in step S631 that the input picture is an I picture, in step S633, the decode controller 153 determines the GOP ID and the number of anchor frames from the GOP header information described with reference to FIG. get.

ステップS634において、図57を用いて後述する保有アンカーバンク管理処理が実行される。   In step S634, the retained anchor bank management process described later with reference to FIG. 57 is executed.

ステップS632において、入力されたピクチャはPピクチャであると判断された場合、または、ステップ634の処理の終了後、ステップS635において、図58を用いて後述するアンカーフレームデコードスケジュール処理が実行される。   If it is determined in step S632 that the input picture is a P picture, or after the processing in step 634 is completed, anchor frame decoding schedule processing described later with reference to FIG. 58 is executed in step S635.

ステップS632において、入力されたピクチャはPピクチャではない、すなわち、入力されたピクチャはBピクチャであると判断された場合、または、ステップ635の処理の終了後、ステップS636において、図59を用いて後述するストリームバッファGOPキューを利用したピクチャの管理処理が実行される。   If it is determined in step S632 that the input picture is not a P picture, that is, the input picture is a B picture, or after the processing in step 635 is completed, in step S636, FIG. 59 is used. A picture management process using a stream buffer GOP queue described later is executed.

そして、ステップS637において、デコードコントローラ153は、入力処理部151に入力されたピクチャはGOPの最後のピクチャであるか否かを判断する。ステップS637において、入力されたピクチャはGOPの最後のピクチャではないと判断された場合、処理は、ステップS631に戻り、それ以降の処理が繰り返される。ステップS637において、入力されたピクチャはGOPの最後のピクチャであると判断された場合、処理は、図55のステップS602に戻り、ステップS603に進む。   In step S637, the decode controller 153 determines whether the picture input to the input processing unit 151 is the last picture of the GOP. If it is determined in step S637 that the input picture is not the last picture of the GOP, the process returns to step S631 and the subsequent processes are repeated. If it is determined in step S637 that the input picture is the last picture of the GOP, the process returns to step S602 in FIG. 55 and proceeds to step S603.

このような処理により、保有アンカーバンクが管理され、アンカーフレームのデコード順がスケジュールされるとともに、入力されるピクチャが管理される。   By such processing, the owned anchor bank is managed, the decoding order of anchor frames is scheduled, and the input picture is managed.

次に、図57のフローチャートを参照して、図56のステップS634において実行される、保有アンカーバンク管理処理について説明する。   Next, the retained anchor bank management process executed in step S634 in FIG. 56 will be described with reference to the flowchart in FIG.

ステップS661において、デコードコントローラ153は、図48を用いて説明したGOPのヘッダ情報から、入力されたGOPに必要な保有アンカーバンクの数を求める。   In step S661, the decode controller 153 obtains the number of retained anchor banks necessary for the input GOP from the GOP header information described with reference to FIG.

具体的には、保有アンカーバンクを、Iピクチャから1ピクチャおきのアンカーバンクに設定するものとされている場合、入力されたGOPに必要な保有アンカーバンクの数は、そのGOPのアンカーバンク数の1/2以上となる最も小さな整数であり、例えば、そのGOPのアンカーバンク数が5であるとき、3フレーム分の保有アンカーバンクが必要となる。   Specifically, when the retained anchor bank is set as an anchor bank every other picture from the I picture, the number of retained anchor banks necessary for the input GOP is the number of anchor banks of the GOP. For example, when the number of anchor banks of the GOP is 5, the anchor banks for 3 frames are required.

ステップS662において、デコードコントローラ153は、フレームメモリ131−3において現在使用中の保有アンカーバンク数と、入力されたGOPに必要な保有アンカーバンク数の合計は、フレームメモリ131−3に用意された保有アンカーバンク数よりも少ないか否かを判断する。ステップS662において、現在使用中の保有アンカーバンク数と、入力されたGOPに必要なアンカーバンク数の合計は、フレームメモリ131−3に用意された保有アンカーバンク数よりも少ないと判断された場合、すなわち、フレームメモリ131−3において現在使用されていない保有アンカーバンクの数は、入力されたGOPに必要な保有アンカーバンクの数よりも多いので、現在保有アンカーバンクに保持されているいずれかの保有アンカーフレームを削除する必要はないと判断された場合、処理は、後述するステップS667に進む。   In step S662, the decode controller 153 determines the sum of the number of owned anchor banks currently used in the frame memory 131-3 and the number of retained anchor banks necessary for the input GOP as the possessed prepared in the frame memory 131-3. It is determined whether the number is less than the number of anchor banks. If it is determined in step S662 that the total number of anchor banks currently in use and the number of anchor banks necessary for the input GOP is smaller than the number of anchor banks prepared in the frame memory 131-3, That is, the number of retained anchor banks that are not currently used in the frame memory 131-3 is greater than the number of retained anchor banks required for the input GOP, and thus any of the retained anchor banks currently retained in the retained anchor bank. If it is determined that there is no need to delete the anchor frame, the process proceeds to step S667 described later.

ステップS662において、現在使用中の保有アンカーバンク数と、入力されたGOPに必要なアンカーバンク数の合計は、フレームメモリ131−3に用意された保有アンカーバンク数よりも多いと判断された場合、すなわち、フレームメモリ131−3において現在使用されていない保有アンカーバンクの数は、入力されたGOPに必要な保有アンカーバンクの数よりも少ないので、現在保有アンカーバンクに保持されているいずれかの保有アンカーフレームを削除する必要があると判断された場合、ステップS663において、デコードコントローラ153は、入力されたGOPのGOP IDは、図52を用いて説明したGOP保有アンカーキューの先頭にキューされている情報のGOP IDよりも、後尾にキューされている情報のGOP IDに近い値であるか否かを判断する。   If it is determined in step S662 that the total number of anchor banks currently in use and the number of anchor banks necessary for the input GOP is greater than the number of anchor banks prepared in the frame memory 131-3, That is, since the number of possessed anchor banks that are not currently used in the frame memory 131-3 is smaller than the number of retained anchor banks required for the input GOP, any of the retained anchor banks currently retained in the retained anchor bank When it is determined that it is necessary to delete the anchor frame, in step S663, the decode controller 153 queues the GOP ID of the input GOP at the head of the GOP holding anchor queue described with reference to FIG. It is closer to the GOP ID of the information queued at the end than the GOP ID of the information To determine whether or not.

ステップS663において、入力されたGOPのGOP IDは、GOP保有アンカーキューの先頭にキューされている情報のGOP IDよりも、後尾にキューされている情報のGOP IDに近い値であると判断された場合、ステップS664において、デコードコントローラ153は、GOP保有アンカーキューの先頭にキューされている情報をPOPする。   In step S663, it is determined that the GOP ID of the input GOP is closer to the GOP ID of the information queued at the tail than the GOP ID of the information queued at the head of the GOP holding anchor queue. In this case, in step S664, the decode controller 153 POPs the information queued at the head of the GOP holding anchor queue.

ステップS663において、入力されたGOPのGOP IDは、GOP保有アンカーキューの先頭にキューされている情報のGOP IDよりも、後尾にキューされている情報のGOP IDに近い値ではない、すなわち、GOP保有アンカーキューの先頭にキューされている情報のGOP IDに近い値であると判断された場合、ステップS665において、デコードコントローラ153は、GOP保有アンカーキューの後尾にキューされている情報をPOPする。   In step S663, the GOP ID of the input GOP is not closer to the GOP ID of the information queued at the tail than the GOP ID of the information queued at the head of the GOP holding anchor queue, that is, GOP If it is determined that the value is close to the GOP ID of the information queued at the head of the retained anchor queue, in step S665, the decode controller 153 POPs the information queued at the tail of the GOP retained anchor queue.

ステップS664またはステップS665の処理の終了後、ステップS666において、デコードコントローラ153は、図52を用いて説明した保有アンカー情報を更新し、処理は、ステップS662に戻り、それ以降の処理が繰り返される。   After the process of step S664 or step S665 is completed, in step S666, the decode controller 153 updates the retained anchor information described with reference to FIG. 52, the process returns to step S662, and the subsequent processes are repeated.

ステップS662において、現在使用中の保有アンカーバンク数と、入力されたGOPに必要なアンカーバンク数の合計は、フレームメモリ131−3に用意された保有アンカーバンク数よりも少ないと判断された場合、すなわち、フレームメモリ131−3において現在使用されていない保有アンカーバンクの数は、入力されたGOPに必要な保有アンカーバンクの数よりも多いので、現在保有アンカーバンクに保持されているいずれかの保有アンカーフレームを削除する必要はないと判断された場合、ステップS667において、デコードコントローラ153は、入力されたGOPのGOP保有アンカー情報を生成する。   If it is determined in step S662 that the total number of anchor banks currently in use and the number of anchor banks necessary for the input GOP is smaller than the number of anchor banks prepared in the frame memory 131-3, That is, the number of retained anchor banks that are not currently used in the frame memory 131-3 is greater than the number of retained anchor banks required for the input GOP, and thus any of the retained anchor banks currently retained in the retained anchor bank. If it is determined that there is no need to delete the anchor frame, in step S667, the decode controller 153 generates GOP holding anchor information of the input GOP.

ステップS668において、デコードコントローラ153は、現在使用中の保有アンカーバンク数は0であるか否かを判断する。   In step S668, the decode controller 153 determines whether or not the number of owned anchor banks currently in use is zero.

ステップS668において、現在使用中の保有アンカーバンク数は0であると判断された場合、ステップS669において、デコードコントローラ153は、GOP保有アンカーキューに、入力されたGOPのGOP保有アンカー情報をPUSHする。   If it is determined in step S668 that the number of retained anchor banks currently in use is 0, in step S669, the decode controller 153 pushes the GOP retained anchor information of the input GOP into the GOP retained anchor queue.

ステップS668において、現在使用中の保有アンカーバンク数は0ではないと判断された場合、ステップS670において、デコードコントローラ153は、入力されたGOPのGOP IDは、GOP保有アンカーキューの先頭にキューされている情報のGOP IDよりも、後尾にキューされている情報のGOP IDに近い値であるか否かを判断する。   If it is determined in step S668 that the number of retained anchor banks currently in use is not 0, in step S670, the decode controller 153 determines that the GOP ID of the input GOP is queued at the head of the GOP retained anchor queue. It is determined whether or not the value is closer to the GOP ID of the information queued at the end than the GOP ID of the existing information.

ステップS670において、入力されたGOPのGOP IDは、GOP保有アンカーキューの先頭にキューされている情報のGOP IDよりも、後尾にキューされている情報のGOP IDに近い値であると判断された場合、ステップS671において、デコードコントローラ153は、GOP保有アンカーキューの先頭に、入力されたGOPのGOP保有アンカー情報をPUSHする。   In step S670, it is determined that the GOP ID of the input GOP is closer to the GOP ID of the information queued at the tail than the GOP ID of the information queued at the head of the GOP holding anchor queue. In this case, in step S671, the decode controller 153 pushes the GOP possession anchor information of the input GOP at the head of the GOP possession anchor queue.

ステップS670において、入力されたGOPのGOP IDは、GOP保有アンカーキューの先頭にキューされている情報のGOP IDよりも、後尾にキューされている情報のGOP IDに近い値ではないと判断された場合、ステップS672において、デコードコントローラ153は、GOP保有アンカーキューの後尾に、入力されたGOPのGOP保有アンカー情報をPUSHする。   In step S670, it is determined that the GOP ID of the input GOP is not closer to the GOP ID of the information queued at the tail than the GOP ID of the information queued at the head of the GOP holding anchor queue. In this case, in step S672, the decode controller 153 pushes the GOP possession anchor information of the input GOP at the tail of the GOP possession anchor queue.

ステップS669、ステップS671、または、ステップS672の処理の終了後、ステップS673において、デコードコントローラ153は、図52を用いて説明した保有アンカー情報を更新し、処理は、図56のステップS634に戻り、ステップS635に進む。   After the process of step S669, step S671, or step S672 is completed, in step S673, the decode controller 153 updates the retained anchor information described with reference to FIG. 52, and the process returns to step S634 of FIG. The process proceeds to step S635.

このような処理により、できるだけ広い範囲のGOPにおいて、スクラブ再生やトランジェント再生などのレスポンスを向上することができるように、所定数設けられている保有アンカーバンクに格納されるフレームが管理される。   By such processing, frames stored in a predetermined number of owned anchor banks are managed so that responses such as scrub playback and transient playback can be improved in a GOP as wide as possible.

すなわち、この処理においては、シームレスなGOP入力の場合は、これから表示しようとしているGOPのための保有アンカーバンクを確保する際に、最も遠いGOPのための保有アンカーバンクが解放され、新たなGOPの保有アンカーフレームが上書きされる。これにより、簡単な管理方法で、シームレスなGOP入力の場合は、現在表示しているGOPの保有アンカーフレームがなくならないことが保証され、可変速再生で滑らかな再生が可能になる。また、入力されるそれぞれのGOPのアンカーフレーム数が異なっても保有アンカーバンクをできるだけ有効に使用することができる。これにより、より多くのGOPの保有アンカーフレームを保有アンカーバンクに格納することができるので、簡単な管理方法で、できるだけ広い範囲のGOPにおいて、スクラブ再生やトランジェント再生などのレスポンスを向上することができる。   That is, in this process, in the case of seamless GOP input, when the reserved anchor bank for the GOP to be displayed is secured, the retained anchor bank for the farthest GOP is released, and a new GOP The retained anchor frame is overwritten. As a result, in the case of seamless GOP input with a simple management method, it is guaranteed that the anchor frame of the currently displayed GOP will not be lost, and smooth playback with variable speed playback becomes possible. In addition, even if the number of input anchor frames of each GOP is different, the retained anchor bank can be used as effectively as possible. As a result, a larger number of GOP possession anchor frames can be stored in the possession anchor bank, so that a response such as scrub reproduction or transient reproduction can be improved in a wide range of GOPs with a simple management method. .

次に、図58のフローチャートを参照して、図56のステップS635において実行される、アンカーフレームデコードスケジュール処理について説明する。   Next, anchor frame decoding schedule processing executed in step S635 of FIG. 56 will be described with reference to the flowchart of FIG.

ステップS701において、デコードコントローラ153は、入力されたピクチャは、保有アンカーフレームであるか否かを判断する。   In step S701, the decode controller 153 determines whether or not the input picture is a retained anchor frame.

ステップS701において、入力されたピクチャは、保有アンカーフレームではない、すなわち、非保有アンカーフレームであると判断された場合、ステップS702において、デコードコントローラ153は、入力された非保有アンカーフレームの同一GOP内の時間的に後ろに、保有アンカーフレームが存在するか否か、換言すれば、入力された非保有アンカーフレームは、同一GOP内の保有アンカーフレームをデコードするための参照画像として必要であるか否かを判断する。   If it is determined in step S701 that the input picture is not a retained anchor frame, that is, a non-retained anchor frame, in step S702, the decode controller 153 determines that the input picture is in the same GOP of the input non-retained anchor frame. Whether there is a retained anchor frame, in other words, whether the input non-retained anchor frame is necessary as a reference image for decoding the retained anchor frame in the same GOP. Determine whether.

ステップS702において、入力された非保有アンカーフレームの同一GOP内の時間的に後ろに、保有アンカーフレームが存在しない、すなわち、入力された非保有アンカーフレームは、同一GOP内の保有アンカーフレームをデコードするための参照画像として必要ではないと判断された場合、処理は、図56のステップS635に戻り、ステップS636に進む。   In step S702, there is no retained anchor frame after the input non-retained anchor frame in the same GOP, that is, the input non-retained anchor frame decodes the retained anchor frame in the same GOP. If it is determined that it is not necessary as a reference image, the process returns to step S635 in FIG. 56 and proceeds to step S636.

ステップS701において、入力されたピクチャは、保有アンカーフレームであると判断された場合、または、ステップS702において、入力された非保有アンカーフレームの同一GOP内の時間的に後ろに、保有アンカーフレームが存在する、すなわち、入力された非保有アンカーフレームは、同一GOP内の保有アンカーフレームをデコードするための参照画像として必要であると判断された場合、ステップS703において、デコードコントローラ153は、入力されたピクチャの、デコード後のベースバンド画像データの、フレームメモリ131−3における参照バンクのバンク位置を設定する。   When it is determined in step S701 that the input picture is a retained anchor frame, or in step S702, a retained anchor frame exists behind the input non-retained anchor frame in time in the same GOP. In other words, if it is determined that the input non-retained anchor frame is necessary as a reference image for decoding the retained anchor frame in the same GOP, in step S703, the decode controller 153 determines that the input picture The bank position of the reference bank in the frame memory 131-3 of the decoded baseband image data is set.

具体的には、デコードコントローラ153は、保有アンカーフレームについては、図57を用いて説明した保有アンカーバンク管理処理において設定されたGOP保有アンカーキューのGOP保有アンカー情報に基づいて、フレームメモリ131−3のうちの保有アンカーバンクの対応する位置を、デコード後のベースバンド画像データの格納先として設定し、非保有アンカーフレームについては、非保有アンカーバンクを、デコード後のベースバンド画像データの格納先として設定する。   Specifically, for the retained anchor frame, the decode controller 153 uses the frame memory 131-3 based on the GOP retained anchor information of the GOP retained anchor queue set in the retained anchor bank management process described with reference to FIG. Is set as the storage destination of baseband image data after decoding, and for non-owner anchor frames, the non-owner anchor bank is set as the storage destination of baseband image data after decoding. Set.

ステップS704において、デコードコントローラ153は、設定した情報を、アンカーフレームデコードキューにPUSHし、処理は、図56のステップS635に戻り、ステップS636に進む。   In step S704, the decode controller 153 pushes the set information to the anchor frame decode queue, and the process returns to step S635 in FIG. 56 and proceeds to step S636.

このような処理により、アンカーフレームのデコードがスケジューリングされる。   By such processing, decoding of the anchor frame is scheduled.

次に、図59のフローチャートを参照して、図56のステップS636において実行される、ストリームバッファGOPキューを利用したピクチャの管理処理について説明する。   Next, a picture management process using the stream buffer GOP queue executed in step S636 in FIG. 56 will be described with reference to the flowchart in FIG.

ステップS731において、デコードコントローラ153は、ストリームバッファに入力されるピクチャは、Iピクチャであるか否かを判断する。ステップS731において、Iピクチャではないと判断された場合、処理は、後述するステップS736に進む。   In step S731, the decode controller 153 determines whether the picture input to the stream buffer is an I picture. If it is determined in step S731 that the picture is not an I picture, the process proceeds to step S736 described later.

ステップS731において、Iピクチャであると判断された場合、ステップS732において、デコードコントローラ153は、ストリームバッファGOPキューには、空きがあるか否かを判断する。   If it is determined in step S731 that the picture is an I picture, in step S732, the decode controller 153 determines whether or not there is an empty stream buffer GOP queue.

ステップS732において、ストリームバッファGOPキューに空きがないと判断された場合、ステップS733において、デコードコントローラ153は、ストリームバッファGOPキューに保持されているGOP情報のうち、最初に削除されるべき所定のGOP情報をPOPする。具体的には、例えば、ストリームバッファGOPキューが、FIFOで構成されている場合、PUSHされた時刻が最も早かったGOP情報がPOPされるようになされており、ストリームバッファGOPキューが、新たなデータがPUSHされた場合に、現在再生中のGOPから最も離れたGOPの情報がPOPされるようになされている場合、在再生中のGOPのGOP IDから最も離れたGOP IDを有するGOPがPOPされる。   If it is determined in step S732 that there is no free space in the stream buffer GOP queue, in step S733, the decode controller 153 determines whether the GOP information stored in the stream buffer GOP queue is to be deleted first. POP information. Specifically, for example, when the stream buffer GOP queue is composed of FIFO, the GOP information with the earliest PUSH time is POPed, and the stream buffer GOP queue is updated with new data. If the GOP information that is farthest from the currently playing GOP is popped, the GOP that has the GOP ID farthest from the GOP ID of the currently playing GOP is popped. The

ステップS732において、ストリームバッファGOPキューに空きがあると判断された場合、または、ステップS733の処理の終了後、ステップS734において、デコードコントローラ153は、ストリームバッファGOPキューに、ストリームバッファに入力されるGOPのGOP情報をPUSHする。   If it is determined in step S732 that the stream buffer GOP queue is empty, or after the processing in step S733 is completed, in step S734, the decode controller 153 adds the GOP input to the stream buffer to the stream buffer GOP queue. PUSH GOP information of

ステップS735において、デコードコントローラ153は、GOPのヘッダ情報を取得し、ストリームバッファGOPキューにGOP情報として記載する。   In step S735, the decode controller 153 acquires the GOP header information and writes it as GOP information in the stream buffer GOP queue.

ステップS731において、Iピクチャではないと判断された場合、または、ステップS735の処理の終了後、ステップS736において、デコードコントローラ153は、取得されたピクチャに対応する、図50を用いて説明したデコード関連情報を生成して、GOP情報に記載する。   When it is determined in step S731 that the picture is not an I picture, or after the process of step S735 is completed, in step S736, the decode controller 153 corresponds to the decoded picture described with reference to FIG. Information is generated and written in the GOP information.

ステップS737において、デコードコントローラ153は、必要に応じて、デコード関連情報をリオーダする。具体的には、ストリームバッファには、それぞれのピクチャがストリームオーダ、すなわち、IBBPBBP・・・の順番で供給されるが、ストリームバッファGOPキューにおいては、GOP内のピクチャの並びが、BBIBBP・・・の表示順となるように、リオーダ処理が実行される。   In step S737, the decode controller 153 reorders the decoding related information as necessary. Specifically, each picture is supplied to the stream buffer in the order of stream order, that is, IBBPBBP..., But in the stream buffer GOP queue, the arrangement of the pictures in the GOP is BBBBBP. The reorder process is executed so that the display order is as follows.

ステップS737の処理の終了後、処理は、図56のステップS636に戻り、ステップS637に進む。   After the process of step S737 is completed, the process returns to step S636 of FIG. 56 and proceeds to step S637.

このような処理により、ストリームバッファ131−1に供給されるそれぞれのGOPと、それらのGOPに含まれるピクチャデータが管理される。   Through such processing, each GOP supplied to the stream buffer 131-1 and picture data included in those GOPs are managed.

次に、図60乃至図62のフローチャートを参照して、図55のステップS608において実行される、出力処理1について説明する。   Next, the output process 1 executed in step S608 of FIG. 55 will be described with reference to the flowcharts of FIGS.

ステップS761において、デコードコントローラ153は、CPU121から供給される制御信号を基に、出力が要求されたのは、保有アンカーフレームがすでにデコードされているGOPの範囲内のピクチャであるか否かを判断する。   In step S761, based on the control signal supplied from the CPU 121, the decode controller 153 determines whether the requested output is a picture within the GOP range in which the retained anchor frame has already been decoded. To do.

ステップS761において、出力が要求されたのは、保有アンカーフレームがすでにデコードされているGOPの範囲内のピクチャではないと判断された場合、すなわち、保有アンカーフレームがすでにデコードされているGOPの範囲外の再生開始位置が指令された場合、ステップS762において、デコードコントローラ153は、参照画像から順番に、通常のデコード処理を実行し、出力して、処理は、図55のステップS608に戻り、ステップS609に進む。   In step S761, output is requested when it is determined that the retained anchor frame is not a picture within the GOP range in which the retained anchor frame has already been decoded, that is, out of the GOP range in which the retained anchor frame has already been decoded. When the playback start position is instructed, in step S762, the decoding controller 153 executes normal decoding processing in order from the reference image, outputs the processing, and the processing returns to step S608 in FIG. Proceed to

具体的には、出力が要求されたフレームを含むGOPは、入力処理部151を介して、ストリームバッファ131-1に供給されているので、デコードコントローラ153は、出力が要求されたフレームがIピクチャであるか、Pピクチャであるか、または、Bピクチャであるかに基づいて、セレクタ152、デコード処理部154、セレクタ155、および、セレクタ156を制御して、デコード処理を実行するとともに、セレクタ157を制御して、デコードされたベースバンド画像データを出力する。   Specifically, since the GOP including the frame requested to be output is supplied to the stream buffer 131-1 via the input processing unit 151, the decode controller 153 determines that the frame requested to be output is an I picture. , P picture, or B picture, the selector 152, the decoding processing unit 154, the selector 155, and the selector 156 are controlled to execute the decoding process, and the selector 157 To output decoded baseband image data.

すなわち、出力が要求されたフレームがIピクチャである場合、デコードコントローラ153は、セレクタ152を制御して、出力が要求されたIピクチャをストリームバッファ131−1からデコード処理部154に供給してデコードさせ、セレクタ155を介してフレームメモリ131−3に供給するとともに、セレクタ157を制御して、デコードされたベースバンド画像データを出力させる。また、出力が要求されたフレームがPピクチャまたはBピクチャである場合、デコードコントローラ153は、セレクタ152およびセレクタ156を制御して、デコード処理部154により、まず、必要な参照画像データをデコードさせ、セレクタ155を制御して、参照画像データをフレームメモリ131-3の所定のバンクに格納させた後、セレクタ152およびセレクタ156を制御して、デコード処理部154により出力が要求されたフレームを、参照画像を参照してデコードさせて、セレクタ155を介してフレームメモリ131−3に供給するとともに、セレクタ157を制御して、デコードされたベースバンド画像データを出力させる。   That is, when the frame requested to be output is an I picture, the decode controller 153 controls the selector 152 to supply the I picture requested to be output from the stream buffer 131-1 to the decode processing unit 154 for decoding. Then, the data is supplied to the frame memory 131-3 via the selector 155, and the selector 157 is controlled to output the decoded baseband image data. When the frame requested to be output is a P picture or a B picture, the decode controller 153 controls the selector 152 and the selector 156 so that the decode processing unit 154 first decodes necessary reference image data, After controlling the selector 155 to store the reference image data in a predetermined bank of the frame memory 131-3, the selector 152 and the selector 156 are controlled to refer to the frame requested to be output by the decoding processing unit 154. The image is decoded with reference to the image and supplied to the frame memory 131-3 via the selector 155, and the selector 157 is controlled to output the decoded baseband image data.

ステップS761において、出力が要求されたのは、保有アンカーフレームがすでにデコードされているGOPの範囲内のピクチャであると判断された場合、ステップS763において、デコードコントローラ153は、CPU121から供給される制御信号を基に、出力が要求されたのは、保有アンカーフレームであるか否かを判断する。   If it is determined in step S761 that the requested output is a picture within the GOP range in which the retained anchor frame has already been decoded, in step S763, the decode controller 153 controls the control supplied from the CPU 121. Based on the signal, it is determined whether or not the requested output is a retained anchor frame.

ステップS763において、出力が要求されたのは、保有アンカーフレームであると判断された場合、ステップS764において、デコードコントローラ153は、セレクタ155を制御して、フレームメモリ131−3の保有アンカーバンクから、該当する保有アンカーフレームを読み出して、出力し、処理は、図55のステップS608に戻り、ステップS609に進む。   If it is determined in step S763 that the requested output is a retained anchor frame, in step S764, the decode controller 153 controls the selector 155, and from the retained anchor bank of the frame memory 131-3, The corresponding retained anchor frame is read and output, and the process returns to step S608 in FIG. 55 and proceeds to step S609.

ステップS763において、出力が要求されたのは、保有アンカーフレームではないと判断された場合、ステップS765において、デコードコントローラ153は、CPU121から供給される制御信号を基に、出力が要求されたのは、非保有アンカーフレームであるか否かを判断する。ステップS765において、出力が要求されたのは、非保有アンカーフレームではないと判断された場合、処理は、後述するステップS770に進む。   If it is determined in step S763 that the requested output is not the possessed anchor frame, in step S765, the decode controller 153 determines that the output is requested based on the control signal supplied from the CPU 121. It is determined whether the frame is a non-owner anchor frame. If it is determined in step S765 that the output is not requested for the non-owned anchor frame, the process proceeds to step S770 described later.

ステップS765において、出力が要求されたのは、非保有アンカーフレームであると判断された場合、ステップS766において、デコードコントローラ153は、フレームメモリ131−3のB・非保有アンカー表示バンクに、出力が要求された非保有アンカーフレームが格納されているか否かを判断する。   If it is determined in step S765 that the output is requested to be a non-owned anchor frame, in step S766, the decode controller 153 outputs the output to the B / non-owned anchor display bank of the frame memory 131-3. It is determined whether the requested non-owner anchor frame is stored.

ステップS766において、B・非保有アンカー表示バンクに、出力が要求された非保有アンカーフレームが格納されていないと判断された場合、ステップS767において、デコードコントローラ153は、B・非保有アンカー表示バンクを、該当する非保有アンカーフレームのデコード後のベースバンド画像の格納先として設定する。   If it is determined in step S766 that the non-owner anchor frame requested for output is not stored in the B / non-owner anchor display bank, in step S767, the decode controller 153 selects the B / non-owner anchor display bank. , It is set as the storage destination of the baseband image after decoding the corresponding non-owned anchor frame.

ステップS768において、デコードコントローラ153は、ストリームバッファGOPキューの該当する非保有アンカーフレームのデコード関連情報を参照して、前方参照Index番号に示される参照画像を参照して、該当する非保有アンカーフレームをデコードし、フレームメモリ131−3のB・非保有アンカー表示バンクに格納する。   In step S768, the decode controller 153 refers to the decoding related information of the corresponding non-retained anchor frame in the stream buffer GOP queue, refers to the reference image indicated by the forward reference index number, and selects the corresponding non-retained anchor frame. It is decoded and stored in the B / non-owner anchor display bank of the frame memory 131-3.

ステップS766において、B・非保有アンカー表示バンクに、出力が要求された非保有アンカーフレームが格納されていると判断された場合、または、ステップS768の処理の終了後、ステップS769において、デコードコントローラ153は、セレクタ155を制御して、フレームメモリ131−3のB・非保有アンカー表示バンクから、該当する非保有アンカーフレームを読み出して、出力し、処理は、図55のステップS608に戻り、ステップS609に進む。   If it is determined in step S766 that the non-owner anchor frame requested to be output is stored in the B / non-owner anchor display bank, or after the processing of step S768 is completed, the decode controller 153 is determined in step S769. Controls the selector 155 to read out and output the corresponding non-owned anchor frame from the B / non-owned anchor display bank of the frame memory 131-3, and the process returns to step S608 in FIG. Proceed to

ステップS765において、出力が要求されたのは、非保有アンカーフレームではないと判断された場合、ステップS770において、デコードコントローラ153は、出力が要求されたのは、GOPの先頭のBピクチャであるか否かを判断する。ステップS770において、出力が要求されたのは、GOPの先頭のBピクチャではない、すなわち、GOPの先頭以外の、GOP内に参照画像が存在するBピクチャであると判断された場合、処理は、後述するステップS779に進む。   If it is determined in step S765 that the output is not requested for the non-owned anchor frame, in step S770, the decode controller 153 determines whether the output is requested for the first B picture of the GOP. Judge whether or not. If it is determined in step S770 that the output is requested not for the B picture at the beginning of the GOP, that is, a B picture for which a reference image exists in the GOP other than the head of the GOP, The process proceeds to step S779 described below.

ステップS770において、出力が要求されたのは、GOPの先頭のBピクチャであると判断された場合、ステップS771において、デコードコントローラ153は、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されているか否かを判断する。ステップS771において、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されていると判断された場合、処理は、後述するステップS778に進む。   If it is determined in step S770 that the output is requested for the first B picture of the GOP, in step S771, the decode controller 153 determines that the B / non-owner anchor display bank outputs the requested B picture. It is determined whether a picture is stored. If it is determined in step S771 that the B picture requested to be output is stored in the B / non-owner anchor display bank, the process proceeds to step S778 described later.

ステップS771において、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されていないと判断された場合、ステップS772において、デコードコントローラ153は、保有アンカーバンクに、該当するBピクチャの両方の参照画像が格納されているか否かを判断する。ステップS772において、保有アンカーバンクに、該当するBピクチャの両方の参照画像が格納されていると判断された場合、処理は、後述するステップS776に進む。   If it is determined in step S771 that the B picture that is requested to be output is not stored in the B / non-owner anchor display bank, in step S772, the decode controller 153 displays the corresponding B picture in the owner anchor bank. It is determined whether or not both reference images are stored. If it is determined in step S772 that both reference images of the corresponding B picture are stored in the retained anchor bank, the process proceeds to step S776 described later.

ステップS772において、保有アンカーバンクに、該当するBピクチャの両方の参照画像が格納されていないと判断された場合、ステップS773において、デコードコントローラ153は、Bピクチャ表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されているか否かを判断する。ステップS773において、Bピクチャ表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、処理は、後述するステップS776に進む。   If it is determined in step S772 that both reference images of the corresponding B picture are not stored in the retained anchor bank, the decode controller 153 outputs an output to the non-retained anchor bank for B picture display in step S773. It is determined whether one reference image of the requested B picture is stored. If it is determined in step S773 that one reference image of the B picture requested to be output is stored in the B picture display non-owned anchor bank, the process proceeds to step S776 described later.

ステップS773において、Bピクチャ表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていないと判断された場合、ステップS774において、デコードコントローラ153は、Bピクチャ表示用非保有アンカーバンクを、該当するBピクチャの参照画像となる非保有アンカーフレームのデコード後のベースバンド画像の格納先として設定する。   If it is determined in step S773 that one reference image of the B picture requested to be output is not stored in the B picture display non-owned anchor bank, the decode controller 153 displays the B picture display non-owned anchor bank in step S774. The non-owner anchor bank is set as the storage destination of the baseband image after decoding the non-owner anchor frame that is the reference image of the corresponding B picture.

ステップS775において、デコードコントローラ153は、デコード関連情報を参照して、セレクタ152を制御して、参照画像となる非保有アンカーフレームを、デコード処理部154に供給させるとともに、必要に応じて、セレクタ156を制御して、フレームメモリ131−3の保有アンカーバンクに格納されている保有アンカーフレームに対応するベースバンド画像データを、デコード処理部154に供給させる。デコード処理部154は、参照画像となる非保有アンカーフレームをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされた参照画像となる非保有アンカーフレームを、Bピクチャ表示用非保有アンカーバンクに格納する。   In step S775, the decoding controller 153 refers to the decoding related information, controls the selector 152 to supply the non-owned anchor frame serving as the reference image to the decoding processing unit 154, and, if necessary, the selector 156. And the baseband image data corresponding to the retained anchor frame stored in the retained anchor bank of the frame memory 131-3 is supplied to the decode processing unit 154. The decoding processing unit 154 decodes the non-owned anchor frame that becomes the reference image and supplies the decoded non-owned anchor frame to the selector 155. The decode controller 153 controls the selector 155 to store the non-owned anchor frame serving as the decoded reference image in the B picture display non-owned anchor bank.

ステップS772において、保有アンカーバンクに、該当するBピクチャの両方の参照画像が格納されていると判断された場合、ステップS773において、Bピクチャ表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、または、ステップS775の処理の終了後、ステップS776において、デコードコントローラ153は、B・非保有アンカー表示バンクを、該当するBピクチャのデコード後のベースバンド画像の格納先として設定する。   If it is determined in step S772 that both reference images of the corresponding B picture are stored in the retained anchor bank, in step S773, the B picture requested to be output to the non-retained anchor bank for B picture display When it is determined that one of the reference images is stored, or after the processing of step S775 is finished, in step S776, the decode controller 153 decodes the B non-owned anchor display bank into the corresponding B picture. It is set as the storage destination for the subsequent baseband image.

ステップS777において、デコードコントローラ153は、デコード関連情報を参照して、セレクタ152を制御して、該当するBピクチャをデコード処理部154に供給させるとともに、必要に応じて、セレクタ156を制御して、フレームメモリ131−3の保有アンカーバンクに格納されている該当するBピクチャの参照画像となる保有アンカーフレーム、または、フレームメモリ131−3のBピクチャ表示用非保有アンカーバンクに格納されている、ステップS775においてデコードされた非保有アンカーバンクをデコード処理部154に供給させる。デコード処理部154は、該当するBピクチャをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされたBピクチャを、B・非保有アンカー表示バンクに格納する。   In step S777, the decode controller 153 refers to the decode related information, controls the selector 152 to supply the corresponding B picture to the decode processing unit 154, and controls the selector 156 as necessary. A stored anchor frame serving as a reference image of the corresponding B picture stored in the owned anchor bank of the frame memory 131-3 or a non-owned anchor bank for B picture display of the frame memory 131-3; The non-owner anchor bank decoded in S775 is supplied to the decode processing unit 154. The decode processing unit 154 decodes the corresponding B picture and supplies it to the selector 155. The decode controller 153 controls the selector 155 to store the decoded B picture in the B / non-owner anchor display bank.

ステップS771において、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されていると判断された場合、または、ステップS777の処理の終了後、ステップS778において、デコードコントローラ153は、セレクタ157を制御して、フレームメモリ131−3のB・非保有アンカー表示バンクから、該当するBピクチャを読み出させて、出力させ、処理は、図55のステップS608に戻り、ステップS609に進む。   When it is determined in step S771 that the B picture that is requested to be output is stored in the B / non-owner anchor display bank, or after the processing of step S777 is completed, in step S778, the decode controller 153 The selector 157 is controlled to read out and output the corresponding B picture from the B / non-owner anchor display bank of the frame memory 131-3, and the process returns to step S608 in FIG. 55 and proceeds to step S609. .

ステップS770において、出力が要求されたのは、GOPの先頭のBピクチャではない、すなわち、GOPの先頭以外の、GOP内に参照画像が存在するBピクチャであると判断された場合、ステップS779において、デコードコントローラ153は、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されているか否かを判断する。ステップS779において、出力が要求されたBピクチャが格納されていると判断された場合、処理は、後述するステップS785に進む。   If it is determined in step S770 that the output is not requested for the B picture at the head of the GOP, that is, it is a B picture for which a reference image exists in the GOP other than the head of the GOP, in step S779. The decode controller 153 determines whether or not the B picture requested to be output is stored in the B / non-owner anchor display bank. If it is determined in step S779 that the B picture requested to be output is stored, the process proceeds to step S785 described later.

ステップS779において、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されていないと判断された場合、ステップS780において、デコードコントローラ153は、Bピクチャ表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されているか否かを判断する。ステップS780において、Bピクチャ表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、処理は、後述するステップS783に進む。   If it is determined in step S779 that the B picture requested to be output is not stored in the B / non-owner anchor display bank, in step S780, the decode controller 153 stores the B picture non-owner anchor bank. It is determined whether one reference picture of the B picture requested to be output is stored. If it is determined in step S780 that one reference image of the B picture requested to be output is stored in the B picture display non-owner anchor bank, the process proceeds to step S783 described later.

ステップS780において、Bピクチャ表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていないと判断された場合、ステップS781において、デコードコントローラ153は、Bピクチャ表示用非保有アンカーバンクを、該当するBピクチャの参照画像となる非保有アンカーフレームのデコード後のベースバンド画像の格納先として設定する。   If it is determined in step S780 that one reference image of the B picture requested to be output is not stored in the B picture display non-owned anchor bank, in step S781, the decode controller 153 displays the B picture display The non-owner anchor bank is set as the storage destination of the baseband image after decoding the non-owner anchor frame that is the reference image of the corresponding B picture.

ステップS782において、デコードコントローラ153は、デコード関連情報を参照して、セレクタ152を制御して、参照画像となる非保有アンカーフレームを、デコード処理部154に供給させるとともに、必要に応じて、セレクタ156を制御して、フレームメモリ131−3の保有アンカーバンクに格納されている保有アンカーフレームを、デコード処理部154に供給させる。デコード処理部154は、参照画像となる非保有アンカーフレームをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされた参照画像となる非保有アンカーフレームを、Bピクチャ表示用非保有アンカーバンクに格納する。   In step S782, the decode controller 153 refers to the decode related information, controls the selector 152 to supply the non-owned anchor frame serving as the reference image to the decode processing unit 154, and, if necessary, the selector 156. And the retained anchor frame stored in the retained anchor bank of the frame memory 131-3 is supplied to the decode processing unit 154. The decoding processing unit 154 decodes the non-owned anchor frame that becomes the reference image and supplies the decoded non-owned anchor frame to the selector 155. The decode controller 153 controls the selector 155 to store the non-owned anchor frame serving as the decoded reference image in the B picture display non-owned anchor bank.

ステップS780において、Bピクチャ表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、または、ステップS782の処理の終了後、ステップS783において、デコードコントローラ153は、B・非保有アンカー表示バンクを、該当するBピクチャのデコード後のベースバンド画像の格納先として設定する。   In step S780, when it is determined that one reference image of the B picture requested to be output is stored in the B picture display non-owned anchor bank, or after the process of step S782 is completed, in step S783 The decoding controller 153 sets the B / non-owner anchor display bank as a storage destination of the baseband image after decoding the corresponding B picture.

ステップS784において、デコードコントローラ153は、デコード関連情報を参照して、セレクタ152を制御して、該当するBピクチャをデコード処理部154に供給させるとともに、必要に応じて、セレクタ156を制御して、フレームメモリ131−3の保有アンカーバンクに格納されている該当するBピクチャの参照画像となる保有アンカーフレーム、または、フレームメモリ131−3のBピクチャ表示用非保有アンカーバンクに格納されている、ステップS782においてデコードされた非保有アンカーバンクをデコード処理部154に供給させる。デコード処理部154は、該当するBピクチャをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされたBピクチャを、B・非保有アンカー表示バンクに格納する。   In step S784, the decoding controller 153 refers to the decoding related information, controls the selector 152 to supply the corresponding B picture to the decoding processing unit 154, and controls the selector 156 as necessary. A stored anchor frame that is a reference image of the corresponding B picture stored in the retained anchor bank of the frame memory 131-3 or a non-owned anchor bank for B picture display of the frame memory 131-3; The non-owner anchor bank decoded in S782 is supplied to the decode processing unit 154. The decode processing unit 154 decodes the corresponding B picture and supplies it to the selector 155. The decode controller 153 controls the selector 155 to store the decoded B picture in the B / non-owner anchor display bank.

ステップS779において、出力が要求されたBピクチャが格納されていると判断された場合、または、ステップS784の処理の終了後、ステップS785において、デコードコントローラ153は、セレクタ157を制御して、フレームメモリ131−3のB・非保有アンカー表示バンクから、該当するBピクチャを読み出して、出力させ、処理は、図55のステップS608に戻り、ステップS609に進む。   If it is determined in step S779 that the B picture requested to be output is stored, or after the processing in step S784 is completed, the decode controller 153 controls the selector 157 in step S785 to control the frame memory. The corresponding B picture is read out from the B / non-owner anchor display bank 131-3 and output, and the process returns to step S608 in FIG. 55 and proceeds to step S609.

このような処理により、フレームメモリ131−3に予め格納されているベースバンド画像データを利用して、デコード処理が実行されるので、再生出力の指令から、再生出力されるまでのレスポンスを向上することができる。   By such processing, decoding processing is executed using baseband image data stored in advance in the frame memory 131-3, so that the response from playback output command to playback output is improved. be able to.

ところで、上述した先送り転送のタイミングについては、再生方向および再生速度、並びに、メモリ131に蓄積可能なGOPの数などによって異なる。   By the way, the timing of the forward transfer described above differs depending on the reproduction direction and reproduction speed, the number of GOPs that can be stored in the memory 131, and the like.

図63乃至図72を参照して、先送り転送のタイミングの具体例について説明する。   A specific example of the timing of the forward transfer will be described with reference to FIGS.

ここでは、I または P ピクチャの現れる周期M=3、GOP内のピクチャ数N=15のLongGOPにおける場合であり、ストリームバッファへ131−1への1GOPのデータ転送にかかる時間が、2フレーム表示するために必要となる時間に等しく、デコーダ122は、Iピクチャ、Pピクチャ、Bピクチャに関わらず、1フレーム表示するために必要となる時間に3ピクチャをデコードできるものとして説明する。また、ここでは、ストリームデータまたはクリップファイルの連続した再生処理が実行される場合の先送り転送のタイミングについて説明する。   Here, this is a case of a LongGOP in which an I or P picture appearance period M = 3 and the number of pictures in a GOP N = 15, and the time taken to transfer 1 GOP data to the stream buffer 131-1 is displayed in two frames. It is assumed that the decoder 122 can decode three pictures at the time required to display one frame regardless of the I picture, the P picture, and the B picture. Here, the timing of the forward transfer when the continuous reproduction processing of the stream data or the clip file is executed will be described.

デコード処理において、あるGOPの先頭のB0ピクチャまたはB1ピクチャのうちの少なくともいずれかをデコードするためには、正方向再生の並び順で、その一つ前のGOPのアンカーフレームが必要である。したがって、正方向の再生時においては、それぞれのGOPの最初に表示されるフレームの再生タイミングに対して、何フレーム先に転送する必要があるかが、先送り転送のタイミングとして制御されるが、これに対して、逆方向の再生時においては、その前に再生されるGOP(正方向再生の並び順で、1つ後ろのGOP)のB0ピクチャまたはB1ピクチャのうちの先に再生されるピクチャが再生されるタイミングに対して、または、B0ピクチャおよびB1ピクチャが再生されない場合は、それぞれのGOPの最初に表示されるフレームの再生タイミングに対して、何フレーム先に転送する必要があるかが、先送り転送のタイミングとして制御される。   In the decoding process, in order to decode at least one of the first B0 picture or B1 picture of a certain GOP, an anchor frame of the previous GOP is necessary in the order of forward reproduction. Therefore, during playback in the forward direction, how many frames need to be transferred relative to the playback timing of the frame displayed at the beginning of each GOP is controlled as the timing of forward transfer. On the other hand, at the time of playback in the reverse direction, the B0 picture or the B1 picture of the GOP that is played back before that (the GOP that is the next GOP in the order of playback in the forward direction) is played first. How many frames ahead should be transferred with respect to the playback timing, or when the B0 and B1 pictures are not played, with respect to the playback timing of the first displayed frame of each GOP, Controlled as the timing of forward transfer.

図63乃至図68を参照して、ストリームファイルの再生処理における再生方向および再生速度と、先送り転送のタイミングについて説明する。   With reference to FIGS. 63 to 68, the playback direction and playback speed in the playback process of the stream file, and the timing of forward transfer will be described.

まず、図63を参照して、正方向1倍速再生が行われる場合について説明する。   First, with reference to FIG. 63, a case where normal direction 1 × speed reproduction is performed will be described.

例えば、表示3フレーム分の先送り転送が実行された場合、GOP_ID1のB12ピクチャの出力要求のタイミングで、GOP_ID2のデータが先送り転送される。このとき、B0ピクチャのデコードの参照画像として用いられる前のGOPのP14ピクチャは、保有アンカーフレームに格納されており、GOP_ID2の先頭のB0ピクチャの出力要求の前に、GOP_ ID2に含まれる保有アンカーフレームのデコードが終了されるので、シームレスに再生処理を実行することが可能である。   For example, when the forward transfer of 3 frames for display is executed, the data of GOP_ID2 is forward transferred at the timing of the output request for the B12 picture of GOP_ID1. At this time, the P14 picture of the GOP before being used as a reference image for decoding the B0 picture is stored in the retained anchor frame, and the retained anchor included in GOP_ID2 before the output request for the first B0 picture of GOP_ID2 Since the decoding of the frame is completed, the reproduction process can be executed seamlessly.

また、例えば、表示2フレーム分の先送り転送が実行された場合、GOP_ID1のB13ピクチャの出力要求のタイミングで、GOP_ID2のデータが先送り転送される。このとき、B0ピクチャのデコードの参照画像として用いられる前のGOPのP14ピクチャは、保有アンカーフレームに格納されており、GOP_ID2の先頭のB0ピクチャの出力要求の前に、GOP_ID2に含まれる保有アンカーフレームのうち、B0ピクチャのデコードの参照画像として用いられるI2ピクチャのデコードが終了されるので、シームレスに再生処理を実行することが可能である。   Also, for example, when the forward transfer for 2 frames of display is executed, the data of GOP_ID2 is forwarded and transferred at the output request timing of the B13 picture of GOP_ID1. At this time, the P14 picture of the GOP before being used as a reference image for decoding the B0 picture is stored in the retained anchor frame, and the retained anchor frame included in GOP_ID2 before the output request for the B0 picture at the head of GOP_ID2 Among them, since the decoding of the I2 picture used as the reference image for decoding the B0 picture is completed, the reproduction process can be executed seamlessly.

また、例えば、表示1フレーム分の先送り転送が実行された場合、GOP_ID1のP14ピクチャの出力要求のタイミングで、GOP_ID2のデータが先送り転送される。このとき、B0ピクチャのデコードの参照画像として用いられる前のGOPのP14ピクチャは、保有アンカーフレームに格納されており、GOP_ID2の先頭のB0ピクチャの出力要求の前に、GOP_ID2に含まれる保有アンカーフレームのうち、B0ピクチャのデコードの参照画像として用いられるI2ピクチャのデコードが終了されるので、シームレスに再生処理を実行することが可能である。   Further, for example, when the forward transfer for one display frame is executed, the data of GOP_ID2 is forward transferred at the timing of the output request for the P14 picture of GOP_ID1. At this time, the P14 picture of the GOP before being used as a reference image for decoding the B0 picture is stored in the retained anchor frame, and the retained anchor frame included in GOP_ID2 before the output request for the B0 picture at the head of GOP_ID2 Among them, since the decoding of the I2 picture used as the reference image for decoding the B0 picture is completed, the reproduction process can be executed seamlessly.

そして、先送り転送が実行されない場合、GOP_ID2の先頭のB0ピクチャの出力要求から表示1フレームの期間内に、GOP_ID2に含まれる保有アンカーフレームのうち、B0ピクチャのデコードの参照画像として用いられるI2ピクチャおよび表示されるB0ピクチャのデコードが終了されるので、シームレスに再生処理を実行することが可能である。   If the forward transfer is not executed, the I2 picture used as a reference image for decoding the B0 picture among the retained anchor frames included in the GOP_ID2 within the display 1 frame period from the output request of the first B0 picture of the GOP_ID2 and Since the decoding of the displayed B0 picture is completed, it is possible to execute the playback process seamlessly.

したがって、正方向1倍速再生が行われる場合においては、先送り転送は必ずしも必要ではない。また、この場合において、トランジェント再生を考慮すると、必要な保有アンカーバンク数は、最低3つとなる。   Therefore, in the case where the normal direction 1 × speed reproduction is performed, the forward transfer is not necessarily required. In this case, considering the transient reproduction, the required number of anchor banks is at least three.

次に、図64を参照して、逆方向1倍速、すなわち、−1倍速再生が行われる場合について説明する。   Next, with reference to FIG. 64, description will be given of a case where reverse direction 1 × speed, that is, −1 × speed playback is performed.

例えば、表示2フレーム分の先送り転送が実行された(具体的には、例えば、GOP_ID1が、GOP_ID2のB1ピクチャを基準として、2フレーム分の先送り転送が実行された)場合、GOP_ID2のB3ピクチャの出力要求のタイミングで、GOP_ID1のデータが先送り転送される。このとき、GOP_ID1において最初に表示されるP14ピクチャの出力要求の前に、GOP_ID1に含まれる保有アンカーフレームのデコードが終了されるとともに、GOP_ID2のB1ピクチャの出力要求のタイミングよりも早く、GOP_ID2のB1ピクチャの参照画像であるGOP_ID1のP14ピクチャがデコードされるので、シームレスに再生処理を実行することが可能である。   For example, when a forward transfer of 2 frames for display is executed (specifically, for example, a forward transfer of 2 frames is executed based on the B1 picture of GOP_ID2 as GOP_ID1), the B3 picture of GOP_ID2 The data of GOP_ID1 is forwarded and transferred at the timing of the output request. At this time, the decoding of the retained anchor frame included in GOP_ID1 is completed before the output request of the P14 picture displayed first in GOP_ID1, and the B1 of GOP_ID2 is earlier than the output request timing of the B1 picture of GOP_ID2. Since the P14 picture of GOP_ID1, which is the reference image of the picture, is decoded, it is possible to execute the playback process seamlessly.

しかしながら、例えば、表示1フレーム分の先送り転送が実行された場合、GOP_ID2のI2ピクチャの出力要求のタイミングで、GOP_ID1のデータが先送り転送される。このとき、GOP_ID1において最初に表示されるP14ピクチャの出力要求の前に、GOP_ID1に含まれる保有アンカーフレームのデコードは終了されるが、GOP_ID2のB1ピクチャの出力要求のタイミングから表示1フレーム以内に、GOP_ID2のB1ピクチャの参照画像であるGOP_ID1のP14ピクチャがデコードされないので、シームレスに再生処理を実行することができない。   However, for example, when the forward transfer for one display frame is executed, the data of GOP_ID1 is forward transferred at the timing of the output request for the I2 picture of GOP_ID2. At this time, the decoding of the retained anchor frame included in GOP_ID1 is completed before the output request of the P14 picture displayed first in GOP_ID1, but within the display 1 frame from the output request timing of the B1 picture of GOP_ID2, Since the P14 picture of GOP_ID1, which is the reference picture of the B1 picture of GOP_ID2, is not decoded, the playback process cannot be executed seamlessly.

したがって、逆方向1倍速(−1倍速)再生が行われる場合においては、GOPの境目でシームレスに表示を行うために、先送り転送は、1つ前に再生されるGOP(正方向再生の並び順で、1つ後ろのGOP)のB1ピクチャが再生されるタイミングに対して、表示2フレーム分必要となる。また、この場合において、トランジェント再生を考慮すると、必要な保有アンカーバンク数は、最低6つとなる。   Therefore, in the case where reverse 1x (-1x) playback is performed, in order to seamlessly display at the boundary of GOP, forward transfer is performed in the GOP (forward playback sequence) Thus, 2 frames of display are required for the timing when the B1 picture of the next GOP) is reproduced. In this case, considering the transient reproduction, the required number of anchor banks is at least six.

したがって、例えば、−1乃至+1倍速のトランジェント再生がシームレスに実行されるためには、必要な保有アンカーバンク数は、最低6つとなり、正方向再生時には、先送り転送の必要がないが、逆方向再生時には、表示4フレーム分の先送り転送が必要となる。   Therefore, for example, in order to perform transient reproduction of −1 to + 1 × speed seamlessly, the number of anchor banks required is at least six, and there is no need for forward transfer during forward reproduction, but in the reverse direction At the time of reproduction, it is necessary to forward-transfer 4 frames for display.

次に、図65を参照して、正方向2倍速が行われる場合について説明する。   Next, with reference to FIG. 65, a case where the double speed in the positive direction is performed will be described.

正方向2倍速で、表示ピクチャがGOP_ID1においてB1,B3,P5・・・である場合においては、先送り転送が実行されなくても、このとき、B0ピクチャのデコードの参照画像として用いられる前のGOPのP14ピクチャは、保有アンカーフレームに格納されており、GOP_ID2の先頭のB0ピクチャの出力要求から表示1フレームの期間内に、GOP_ID2に含まれる保有アンカーフレームのうち、B0ピクチャのデコードの参照画像として用いられるI2ピクチャおよび表示されるB0ピクチャのデコードが終了されるので、シームレスに再生処理を実行することが可能である。   When the forward picture is double speed and the displayed picture is B1, B3, P5... In GOP_ID1, the GOP before being used as a reference picture for decoding the B0 picture is used even if forward transfer is not executed. The P14 picture is stored in the retained anchor frame, and as a reference image for decoding the B0 picture of the retained anchor frames included in GOP_ID2 within the display 1 frame period from the output request for the first B0 picture of GOP_ID2. Since the decoding of the I2 picture to be used and the B0 picture to be displayed is finished, it is possible to execute the playback process seamlessly.

そして、正方向2倍速で、表示ピクチャがGOP_ID1においてI2,B4,B6・・・である場合においても、先送り転送が実行されなくても、このとき、B1ピクチャのデコードの参照画像として用いられる前のGOPのP14ピクチャは、保有アンカーフレームに格納されており、GOP_ID2の先頭のB1ピクチャの出力要求から表示1フレームの期間内に、GOP_ID2に含まれる保有アンカーフレームのうち、B1ピクチャのデコードの参照画像として用いられるI2ピクチャおよび表示されるB1ピクチャのデコードが終了されるので、シームレスに再生処理を実行することが可能である。   Even in the case where the display picture is I2, B4, B6... In GOP_ID1 at double speed in the forward direction, even if the forward transfer is not executed, before being used as a reference image for decoding the B1 picture. The G14 P14 picture is stored in the retained anchor frame, and the B1 picture decoding reference among the retained anchor frames included in GOP_ID2 within the display 1 frame period from the output request of the first B1 picture of GOP_ID2 Since the decoding of the I2 picture used as the image and the displayed B1 picture is completed, the reproduction process can be executed seamlessly.

したがって、正方向2倍速再生が行われる場合においては、先送り転送は必ずしも必要ではない。また、この場合において、トランジェント再生を考慮すると、必要な保有アンカーバンク数は、最低3つとなる。   Therefore, in the case where the normal direction double speed reproduction is performed, the forward transfer is not necessarily required. In this case, considering the transient reproduction, the required number of anchor banks is at least three.

次に、図66を参照して、逆方向2倍速、すなわち、−2倍速再生が行われる場合について説明する。   Next, with reference to FIG. 66, a description will be given of the case where reverse double speed, that is, -2 speed reproduction is performed.

例えば、−2倍速表示で、表示ピクチャがGOP_ID3においてB13,P11,B9・・・であり、1つ前に再生されるGOPのB0ピクチャまたはB1ピクチャが再生されるタイミングに対して、表示2フレーム分の先送り転送が実行された場合、GOP_ID3のP5ピクチャの出力要求のタイミングで、GOP_ID2のデータが先送り転送される。このとき、GOP_ID2において最初に表示されるP14ピクチャの出力要求の前に、GOP_ID3に含まれる保有アンカーフレームのデコードが終了されるとともに、GOP_ID3のB1ピクチャの出力要求から表示1フレーム以内に、GOP_ID3のB1ピクチャの参照画像であるGOP_ID2のP14ピクチャがデコードされて、GOP_ID3のB1ピクチャがデコードされるので、シームレスに再生処理を実行することが可能である。   For example, in -2 × speed display, the displayed picture is B13, P11, B9... In GOP_ID3, and two frames are displayed at the timing when the B0 picture or B1 picture of the GOP that is played back before is played back. When the forward transfer is executed, the data of GOP_ID2 is forwarded and transferred at the timing of the output request for the P5 picture of GOP_ID3. At this time, the decoding of the retained anchor frame included in GOP_ID3 is completed before the output request for the P14 picture that is first displayed in GOP_ID2, and within one frame from the output request for the B1 picture in GOP_ID3, the GOP_ID3 Since the P14 picture of GOP_ID2, which is the reference image of the B1 picture, is decoded and the B1 picture of GOP_ID3 is decoded, it is possible to execute the playback process seamlessly.

そして、例えば、−2倍速表示で、表示ピクチャがGOP_ID3においてB12,B10,P8・・・であり、1つ前に再生されるGOPのB0ピクチャまたはB1ピクチャが再生されるタイミングに対して、表示2フレーム分の先送り転送が実行された場合、GOP_ID3のP4ピクチャの出力要求のタイミングで、GOP_ID2のデータが先送り転送される。このとき、GOP_ID2において最初に表示されるB13ピクチャの出力要求の前に、GOP_ID3に含まれる保有アンカーフレームのデコードが終了されるとともに、GOP_ID3のB0ピクチャの出力要求のタイミングよりも早く、GOP_ID3のB0ピクチャの参照画像であるGOP_ID2のP14ピクチャがデコードされ、GOP_ID3のB0ピクチャの出力要求から表示1フレーム以内にGOP_ID3のB0ピクチャがデコードされるので、シームレスに再生処理を実行することが可能である。   And, for example, in -2 × speed display, the display picture is B12, B10, P8... In GOP_ID3, and the display is performed at the timing when the B0 picture or B1 picture of the GOP that is played back before is played back. When the forward transfer for two frames is executed, the data of GOP_ID2 is forward transferred at the timing of the output request for the P4 picture of GOP_ID3. At this time, before the output request of the B13 picture displayed first in GOP_ID2, decoding of the retained anchor frame included in GOP_ID3 is completed, and the output request timing of B0 picture of GOP_ID3 is earlier than B0 of GOP_ID3. Since the P14 picture of GOP_ID2, which is the reference image of the picture, is decoded and the B0 picture of GOP_ID3 is decoded within one frame from the output request of the B0 picture of GOP_ID3, it is possible to execute the playback process seamlessly.

しかしながら、いずれの場合においても、表示1フレーム分の先送り転送が実行された場合、GOP_ID3のB0ピクチャまたはB1ピクチャのデコードが間に合わないので、シームレスに再生処理を実行することができない。   However, in any case, when the forward transfer for one display frame is executed, the B0 picture or B1 picture of GOP_ID3 cannot be decoded in time, so that the playback process cannot be executed seamlessly.

したがって、逆方向2倍速(−2倍速)再生が行われる場合においては、GOPの境目でシームレスに表示を行うために、先送り転送は、1つ前に再生されるGOP(正方向再生の並び順で、1つ後ろのGOP)のB0ピクチャまたはB1ピクチャが再生されるタイミングに対して、表示3フレーム分必要となる。また、この場合において、トランジェント再生を考慮すると、必要な保有アンカーバンク数は、最低6つとなる。   Therefore, in the case where reverse double speed (-2 times normal speed) playback is performed, in order to perform seamless display at the GOP boundary, forward transfer is performed by using GOP (order of normal playback) Thus, 3 frames of display are required for the timing when the B0 picture or B1 picture of the next GOP) is reproduced. In this case, considering the transient reproduction, the required number of anchor banks is at least six.

したがって、例えば、−2乃至+2倍速のトランジェント再生がシームレスに実行されるためには、必要な保有アンカーバンク数は、最低6つとなり、正方向再生時には、先送り転送の必要がないが、逆方向再生時には、1つ前に再生されるGOPのB0ピクチャまたはB1ピクチャが再生されるタイミングに対して、表示2フレーム分の先送り転送が必要となる。   Therefore, for example, in order to perform transient reproduction of −2 to + 2 × speed seamlessly, the number of anchor banks required is at least six, and there is no need for forward transfer during forward reproduction, but in the reverse direction At the time of reproduction, it is necessary to perform forward transfer for two frames of display with respect to the timing at which the GOP B0 picture or B1 picture reproduced immediately before is reproduced.

次に、図67を参照して、正方向3倍速が行われる場合について説明する。   Next, with reference to FIG. 67, description will be given of a case where the triple speed in the forward direction is performed.

正方向3倍速で、表示ピクチャがGOP_ID2においてB0,B3,B6・・・である場合においては、先送り転送が実行されなくても、このとき、B0ピクチャのデコードの参照画像として用いられる前のGOPのP14ピクチャは、保有アンカーフレームに格納されており、GOP_ID2の先頭のB0ピクチャの出力要求から表示1フレームの期間内に、GOP_ID2に含まれる保有アンカーフレームのうち、B0ピクチャのデコードの参照画像として用いられるI2ピクチャおよび表示されるB0ピクチャのデコードが終了されるので、シームレスに再生処理を実行することが可能である。   When the display picture is B0, B3, B6... In the forward triple speed and GOP_ID2, the GOP before being used as a reference picture for decoding the B0 picture is used even if forward transfer is not executed. The P14 picture is stored in the retained anchor frame, and as a reference image for decoding the B0 picture of the retained anchor frames included in GOP_ID2 within the display 1 frame period from the output request for the first B0 picture of GOP_ID2. Since the decoding of the I2 picture to be used and the B0 picture to be displayed is finished, it is possible to execute the playback process seamlessly.

そして、正方向3倍速で、表示ピクチャがGOP_ID2においてB1,B4,B7・・・である場合においても、先送り転送が実行されなくても、このとき、B1ピクチャのデコードの参照画像として用いられる前のGOPのP14ピクチャは、保有アンカーフレームに格納されており、GOP_ID2の先頭のB1ピクチャの出力要求から表示1フレームの期間内に、GOP_ID2に含まれる保有アンカーフレームのうち、B1ピクチャのデコードの参照画像として用いられるI2ピクチャおよび表示されるB1ピクチャのデコードが終了されるので、シームレスに再生処理を実行することが可能である。   And even when the forward picture is B1, B4, B7... In the forward direction 3 × speed and the displayed picture is B1, B4, B7..., Before being used as a reference picture for decoding the B1 picture. The G14 P14 picture is stored in the retained anchor frame, and the B1 picture decoding reference among the retained anchor frames included in GOP_ID2 within the display 1 frame period from the output request of the first B1 picture of GOP_ID2 Since the decoding of the I2 picture used as the image and the displayed B1 picture is completed, the reproduction process can be executed seamlessly.

そして、正方向3倍速で、表示ピクチャがGOP_ID2においてI2,P5,P8・・・である場合においても、先送り転送が実行されなくても、GOP_ID2の先頭のI2ピクチャの出力要求から表示1フレームの期間内に、GOP_ID2に含まれる保有アンカーフレームであるI2ピクチャのデコードが終了されるので、シームレスに再生処理を実行することが可能である。   Even when the display picture is I2, P5, P8, etc. in GOP_ID2 at the triple speed in the forward direction, even if no forward transfer is executed, the output request for the first I2 picture in GOP_ID2 Since the decoding of the I2 picture that is the retained anchor frame included in GOP_ID2 is completed within the period, it is possible to seamlessly execute the reproduction process.

したがって、正方向3倍速再生が行われる場合においても、先送り転送は必ずしも必要ではない。また、この場合において、トランジェント再生を考慮すると、必要な保有アンカーバンク数は、最低3つとなる。   Accordingly, the forward transfer is not always necessary even in the case where the forward triple speed reproduction is performed. In this case, considering the transient reproduction, the required number of anchor banks is at least three.

なお、図示されたデコード順において、P11ピクチャのデコードが連続して行われている。このうち、はじめのデコードは、保有アンカーフレームであるP14ピクチャをデコードするためにスケジューリングされたデコード処理であり、表示処理のためにデコード処理が行われないタイミングにおいて、P14ピクチャがデコードされるのに先立って実行され、デコードされて生成されたP11ピクチャに対応するベースバンド画像データは、非保有アンカーバンクに格納される。これに対して、後のデコードは、表示が指令されたBピクチャをデコードするために実行されるものであり、Bピクチャの出力要求に伴って実行され、デコードされて生成されたP11ピクチャに対応するベースバンド画像データは、Bピクチャ表示用非保有アンカーバンクに格納される。   Note that the P11 picture is continuously decoded in the illustrated decoding order. Among these, the first decoding is a decoding process scheduled to decode the P14 picture that is the possessed anchor frame, and the P14 picture is decoded at a timing when the decoding process is not performed for the display process. Baseband image data corresponding to the P11 picture that is executed and decoded and generated in advance is stored in the non-owner anchor bank. On the other hand, the later decoding is executed to decode the B picture for which display is instructed, and is executed in response to the B picture output request, and corresponds to the P11 picture generated by decoding. Baseband image data to be stored is stored in a non-owned anchor bank for B picture display.

次に、図68を参照して、逆方向3倍速、すなわち、−3倍速再生が行われる場合について説明する。   Next, with reference to FIG. 68, a description will be given of a case where reverse 3 × speed, that is, −3 × playback is performed.

例えば、−3倍速表示で、表示ピクチャがGOP_ID3においてB12,B9,B6・・・であり、1つ前に再生されるGOPのB0ピクチャが再生されるタイミングに対して、表示2フレーム分の先送り転送が実行された場合、GOP_ID3のB6ピクチャの出力要求のタイミングで、GOP_ID2のデータが先送り転送される。このとき、GOP_ID2において最初に表示されるB12ピクチャの出力要求の前に、GOP_ID2に含まれる保有アンカーフレームのデコードが終了されるとともに、GOP_ID3のB0ピクチャの出力要求から表示1フレーム以内に、GOP_ID3のB0ピクチャの参照画像であるGOP_ID2のP14ピクチャがデコードされ、GOP_ID3のB0ピクチャがデコードされるので、シームレスに再生処理を実行することが可能である。   For example, the display picture is B12, B9, B6... In GOP_ID3 in -3 × speed display, and the display frame is advanced by two frames with respect to the timing when the GOP B0 picture played back one time is played back. When the transfer is executed, the data of GOP_ID2 is forward-transferred at the output request timing of the B6 picture of GOP_ID3. At this time, before the output request of the B12 picture displayed first in GOP_ID2, the decoding of the retained anchor frame included in GOP_ID2 is completed, and within one frame from the output request of the B0 picture of GOP_ID3, the GOP_ID3 Since the P14 picture of GOP_ID2, which is the reference picture of the B0 picture, is decoded and the B0 picture of GOP_ID3 is decoded, it is possible to execute the playback process seamlessly.

しかしながら、この条件において、表示1フレーム分の先送り転送が実行された場合、GOP_ID3のB0ピクチャのデコードが間に合わないので、シームレスに再生処理を実行することができない。   However, when forward transfer for one frame of display is executed under this condition, since the decoding of the B0 picture of GOP_ID3 is not in time, the playback process cannot be executed seamlessly.

そして、例えば、−3倍速表示で、表示ピクチャがGOP_ID3においてB13,B10,B7・・・であり、1つ前に再生されるGOPのB1ピクチャが再生されるタイミングに対して、表示2フレーム分の先送り転送が実行された場合、GOP_ID3のB7ピクチャの出力要求のタイミングで、GOP_ID2のデータが先送り転送される。このとき、GOP_ID2において最初に表示されるB13ピクチャの出力要求の前に、GOP_ID2に含まれる保有アンカーフレームのデコードが終了されるとともに、GOP_ID3のB1ピクチャの出力要求から表示1フレーム以内に、GOP_ID3のB1ピクチャの参照画像であるGOP_ID2のP14ピクチャがデコードされ、GOP_ID3のB1ピクチャがデコードされるので、シームレスに再生処理を実行することが可能である。   And, for example, in -3 × speed display, the displayed picture is B13, B10, B7... In GOP_ID3, and for the timing when the B1 picture of the GOP that is played back before is played back, two frames are displayed. When the forward transfer is executed, the data of GOP_ID2 is forward transferred at the timing of the output request for the B7 picture of GOP_ID3. At this time, the decoding of the retained anchor frame included in GOP_ID2 is completed before the output request for the B13 picture displayed first in GOP_ID2, and within one frame from the output request for the B1 picture in GOP_ID3, the GOP_ID3 Since the P14 picture of GOP_ID2, which is the reference image of the B1 picture, is decoded and the B1 picture of GOP_ID3 is decoded, it is possible to execute the playback process seamlessly.

しかしながら、このときも、表示1フレーム分の先送り転送が実行された場合、GOP_ID3のB1ピクチャのデコードが間に合わないので、シームレスに再生処理を実行することができない。   However, at this time as well, when the forward transfer for one display frame is executed, the BOP picture of GOP_ID3 cannot be decoded in time, so that the playback process cannot be executed seamlessly.

これらに対して、例えば、−3倍速表示で、表示ピクチャがGOP_ID3においてP14,P11,P8・・・である場合においては、B0ピクチャまたはB1ピクチャはいずれも表示されないので、表示1フレーム分の先送り転送が実行されれば、GOP_ID3のP5ピクチャの出力要求のタイミングで、GOP_ID2のデータが先送り転送される。このとき、GOP_ID2において最初に表示されるP14ピクチャの出力要求の前に、GOP_ID2に含まれる保有アンカーフレームのデコードが終了されるので、GOP_ID3の保有アンカーバンクが削除されない場合、シームレスに再生処理を実行することが可能である。   On the other hand, for example, when the display picture is P14, P11, P8... In GOP_ID3 at -3 × speed display, neither the B0 picture nor the B1 picture is displayed. If the transfer is executed, the data of GOP_ID2 is transferred forward at the timing of the output request of the P5 picture of GOP_ID3. At this time, since the decoding of the retained anchor frame included in GOP_ID2 is completed before the output request of the P14 picture displayed first in GOP_ID2, if the retained anchor bank of GOP_ID3 is not deleted, seamless playback processing is executed. Is possible.

しかしながら、この条件において、先送り転送が実行されない場合には、GOP_ID2のP14ピクチャのデコードが間に合わないので、シームレスに再生処理を実行することができない。   However, if the forward transfer is not executed under these conditions, the P14 picture of GOP_ID2 cannot be decoded in time, and the playback process cannot be executed seamlessly.

したがって、逆方向3倍速(−3倍速)再生が行われる場合においては、GOPの境目でシームレスに表示を行うために、先送り転送は、その1つ前に再生されるGOP(正方向再生の並び順で、1つ後ろのGOP)のB0ピクチャまたはB1ピクチャのうちのいずれか先に再生されるピクチャの再生が指令されるタイミングに対して、表示2フレーム分必要となるか、もしくは、B0ピクチャまたはB1ピクチャがいずれも再生されない場合は、そのGOPで最初に表示されるP14ピクチャの再生が指令されるタイミングに対して、表示1フレーム分必要となる。また、この場合において、トランジェント再生を考慮すると、必要な保有アンカーバンク数は、最低6つとなる。   Therefore, in the case where reverse 3x speed (-3x speed) playback is performed, in order to seamlessly display at the boundary of GOP, forward transfer is performed by GOP (forward playback sequence) that is played back one time before. In order, 2 frames of display are required for the timing at which playback of a picture to be played back, whichever is the first BOP picture or G1 picture of the next GOP), or B0 picture Alternatively, when none of the B1 pictures are reproduced, one display frame is required for the timing at which the reproduction of the P14 picture that is displayed first in the GOP is commanded. In this case, considering the transient reproduction, the required number of anchor banks is at least six.

したがって、例えば、−3乃至+3倍速のトランジェント再生がシームレスに実行されるためには、必要な保有アンカーバンク数は、最低6つとなり、正方向再生時には、先送り転送の必要がないが、逆方向再生時には、その1つ前に再生されるGOP(正方向再生の並び順で、1つ後ろのGOP)のB0ピクチャまたはB1ピクチャのうちのいずれか先に再生されるピクチャの再生が指令されるタイミングに対して、もしくは、B0ピクチャまたはB1ピクチャがいずれも再生されない場合は、そのGOPで最初に表示されるピクチャの再生が指令されるタイミングに対して、表示1フレーム分または2フレーム分の先送り転送が必要となる。   Therefore, for example, in order to perform transient playback at -3 to +3 times speed seamlessly, the number of possessed anchor banks is at least six, and forward transfer is not necessary during forward playback, but in the reverse direction At the time of playback, playback of a picture to be played back first is selected from either the B0 picture or the B1 picture of the GOP that is played back immediately before (the GOP that is the next GOP in the forward playback order). If one of the B0 picture or B1 picture is not played back, the display is advanced by one frame or two frames with respect to the timing when the playback of the first picture displayed in the GOP is commanded. Transfer is required.

次に、図69乃至図72を参照して、クリップファイルの再生処理における再生方向および再生速度と、先送り転送のタイミングについて説明する。   Next, with reference to FIGS. 69 to 72, the playback direction and playback speed in the clip file playback process, and the timing of forward transfer will be described.

クリップファイルの再生においては、クリップファイルの構成により必要な保有アンカーバンク数、および、最低限必要となる先送り転送のタイミングが異なる。   When playing back a clip file, the number of anchor banks required and the minimum required advance transfer timing differ depending on the structure of the clip file.

例えば、図69に示されるように、それぞれのクリップが、GOPの最初から6フレームで構成されているクリップストリームが1倍速再生される場合、2フレーム分の先送り転送が実行されれば、クリップBおよびクリップCにおいて最初に表示が指令されるB0ピクチャの出力要求から表示1フレーム以内に、それぞれのクリップのB0ピクチャの参照画像である一つ前のGOP(GOP_ID3またはGOP_ID5)のP14ピクチャがデコードされ、それらを参照してB0ピクチャがデコードされるので、シームレスに再生処理を実行することが可能である。   For example, as shown in FIG. 69, when a clip stream composed of 6 frames from the beginning of the GOP is played at 1-speed, each clip is clip B if forward transfer of 2 frames is executed. And within 14 frames from the output request of the B0 picture that is first displayed in clip C, the P14 picture of the previous GOP (GOP_ID3 or GOP_ID5) that is the reference image of the B0 picture of each clip is decoded. Since the B0 picture is decoded with reference to them, it is possible to execute the reproduction process seamlessly.

しかしながら、例えば、図70に示されるように、それぞれのクリップが、あるGOPの最後の2フレーム、すなわち、B13およびP14ピクチャと、次のGOPの最初から4フレーム、すなわち、B0,B1,I2,B3ピクチャで構成されているクリップストリームが1倍速再生される場合、2フレーム分の先送り転送が実行されても、シームレスな再生処理を実行することができない。具体的には、2フレーム分の先送り転送が実行された場合、クリップBにおいては、最初に表示が指令されるB13ピクチャの出力要求から表示1フレーム以内に、B13ピクチャの参照画像であるP11ピクチャおよびP14ピクチャがデコードされ、それらを参照してB13ピクチャがデコードされるが、クリップCにおいては、最初に表示が指令されるB13ピクチャの出力要求からB13ピクチャの参照画像であるP11ピクチャおよびP14ピクチャがデコードされるまでに表示1フレーム分の時間がかかってしまうので、B13ピクチャのデコードが間に合わず、シームレスに再生処理を実行することができない。すなわち、この場合においては、3フレーム分の先送り転送が必要となる。   However, for example, as shown in FIG. 70, each clip consists of the last two frames of a GOP, ie, B13 and P14 pictures, and the first four frames of the next GOP, ie, B0, B1, I2, and so on. When a clip stream composed of B3 pictures is played back at 1x speed, seamless playback processing cannot be executed even if forward transfer for two frames is executed. Specifically, when forward transfer for two frames is executed, in clip B, a P11 picture that is a reference image of a B13 picture is displayed within one frame from the output request for the B13 picture that is first instructed to be displayed. The P13 picture is decoded, and the B13 picture is decoded with reference to them. However, in the clip C, the P11 picture and the P14 picture which are the reference pictures of the B13 picture from the output request of the B13 picture to be displayed first are displayed. Since it takes time for one display frame to be decoded, the B13 picture cannot be decoded in time, and the playback process cannot be executed seamlessly. That is, in this case, forward transfer for 3 frames is required.

そして、例えば、図71に示されるように、クリップAが、GOP_ID1に続くGOP_ID2の最初から6フレームで構成され、クリップBが、GOP_ID3の最後のP14ピクチャとGOP_ID4の最初から5フレームで構成され、クリップCが、GOP_ID5に続くGOP_ID6の最初から6フレームで構成されている場合のクリップA、クリップB、クリップCからなるクリップストリームが1倍速再生される場合、3フレーム分の先送り転送が実行されれば、それぞれのクリップにおいて最初に表示が指令されるピクチャの出力要求から表示1フレーム以内に、必要なピクチャがデコードされるので、シームレスに再生処理を実行することが可能である。これに対して、2フレーム分の先送り転送が実行された場合、クリップCにおいて最初に表示が指令されるB0ピクチャの出力要求から表示1フレーム以内に、クリップCのB0ピクチャをデコードすることができないので、シームレスに再生処理を実行することができない。   For example, as shown in FIG. 71, clip A is composed of 6 frames from the beginning of GOP_ID2 following GOP_ID1, and clip B is composed of the last P14 picture of GOP_ID3 and 5 frames from the beginning of GOP_ID4. When clip C is composed of 6 frames from the beginning of GOP_ID6 following GOP_ID5 and clip stream consisting of clip A, clip B, and clip C is played at 1x speed, forward transfer for 3 frames is executed. For example, since a necessary picture is decoded within one frame from the output request of the picture to be displayed first in each clip, it is possible to execute the reproduction process seamlessly. On the other hand, when forward transfer for two frames is executed, the B0 picture of clip C cannot be decoded within one frame from the output request of the B0 picture that is first displayed in clip C. Therefore, the playback process cannot be executed seamlessly.

そして、例えば、図72に示されるように、クリップAが、GOP_ID1の最後の4フレームとGOP_ID2の最初から2フレームで構成され、クリップBが、GOP_ID3に続くGOP_ID4の最初から6フレームで構成され、クリップCが、GOP_ID5に続くGOP_ID6の最初から6フレームで構成されている場合のクリップA、クリップB、クリップCからなるクリップストリームがー1倍速再生される場合、3フレーム分の先送り転送が実行されれば、それぞれのクリップにおいて最初に表示が指令されるピクチャの出力要求から表示1フレーム以内に、必要なピクチャがデコードされるので、シームレスに再生処理を実行することが可能である。これに対して、2フレーム分の先送り転送が実行された場合、それぞれのクリップにおいて最初に表示が指令されるピクチャの出力要求から表示1フレーム以内に、それぞれのクリップクリップにおいて最初に表示が指令されるピクチャをデコードすることができないので、シームレスに再生処理を実行することができない。   For example, as shown in FIG. 72, clip A is composed of the last 4 frames of GOP_ID1 and 2 frames from the beginning of GOP_ID2, and clip B is composed of 6 frames from the beginning of GOP_ID4 following GOP_ID3. When clip C is composed of 6 frames from the beginning of GOP_ID6 following GOP_ID5 and clip stream consisting of clip A, clip B, and clip C is played at 1x speed, forward transfer for 3 frames is executed. Then, since the necessary pictures are decoded within one frame from the output request of the picture to be displayed for the first time in each clip, it is possible to execute the reproduction process seamlessly. On the other hand, when the forward transfer for 2 frames is executed, the display is first commanded in each clip clip within one frame from the output request of the picture that is first displayed in each clip. Since the picture to be reproduced cannot be decoded, the reproduction process cannot be executed seamlessly.

このように、クリップ再生においては、クリップのパターンによって、必要な先送り転送量が異なる。すなわち、先送り転送量が多ければ多いほどデコードを遅滞なく実行することができる確率が増すが、その場合、ストリームバッファ131-1の記憶容量を増加させる必要が生じる。すなわち、メモリ容量とデコードを遅滞なく実行することができる確率とのトレードオフとなる。例えば、最小クリップ長6フレームのクリップにより構成されるクリップファイルの−1乃至+1倍速再生においては、表示3フレーム分程度の先送り転送が実行されると好適である。   As described above, in clip reproduction, the required amount of forward transfer differs depending on the clip pattern. That is, the larger the amount of forward transfer, the higher the probability that decoding can be executed without delay. In this case, the storage capacity of the stream buffer 131-1 needs to be increased. That is, there is a trade-off between the memory capacity and the probability that decoding can be executed without delay. For example, in the case of a −1 to + 1 × speed reproduction of a clip file composed of a clip having a minimum clip length of 6 frames, it is preferable to perform forward transfer for about 3 frames of display.

次に、図73および図74を参照して、デコード、表示、フレームメモリの各バンクの状態について説明する。   Next, with reference to FIGS. 73 and 74, the state of each bank of the decode, display, and frame memory will be described.

図73は、ストリームのー2倍速再生における場合のデコード、表示、フレームメモリの各バンクの状態を示す図である。ストリームのー2倍速再生において、最低限必要な保有アンカーバンクの数は6つである。ここでは、デコーダ122は、1フレーム表の間に、3乃至4フレームのデコード処理を実行することができ、表示3フレーム分の先送り転送が実行されているものとして説明する。   FIG. 73 is a diagram showing the state of each bank of the decoding, display, and frame memory in the case of -2 speed reproduction of a stream. The minimum number of owned anchor banks is six in the -2 speed reproduction of a stream. Here, it is assumed that the decoder 122 can execute the decoding process of 3 to 4 frames during one frame table, and the forward transfer for the display 3 frames is executed.

GOP_ID6のP5ピクチャの出力要求時には、GOP_ID6の保有アンカーフレームであるI2,P8,P14ピクチャをデコードして生成されたベースバンド画像データは、保有アンカーバンク1乃至3に格納されている。そして、GOP_ID6のP5ピクチャの出力要求とともに、GOP_ID5のストリーム入力が開始される。このとき、上述した保有アンカーバンク管理処理により、保有アンカーバンク4乃至6に格納されているデータがないことが確認されるので、GOP_ID6の最後のB1ピクチャの出力要求の前に、GOP_ID5の保有アンカーフレームであるI2,P8,P14ピクチャが全てデコードされて、対応するベースバンド画像データが、保有アンカーバンク4乃至6に格納される。そのとき、非保有アンカーフレームであるP5ピクチャおよびP11ピクチャは、参照画像として用いられるためにデコードされて、対応するベースバンド画像データが、非保有アンカーバンクに格納される。   When an output request for a P5 picture of GOP_ID6 is requested, baseband image data generated by decoding the I2, P8, and P14 pictures that are the anchor frames of GOP_ID6 are stored in the anchor anchor banks 1 to 3. Then, the stream input of GOP_ID5 is started together with the output request of the P5 picture of GOP_ID6. At this time, since it is confirmed that there is no data stored in the retained anchor banks 4 to 6 by the retained anchor bank management process described above, the retained anchor of GOP_ID5 is requested before the output request of the last B1 picture of GOP_ID6. All the I2, P8, and P14 pictures that are frames are decoded, and the corresponding baseband image data is stored in the retained anchor banks 4 to 6. At that time, the P5 picture and P11 picture, which are non-owned anchor frames, are decoded for use as reference images, and the corresponding baseband image data is stored in the non-owned anchor bank.

そして、ピクチャ出力要求により出力が要求されたフレームは、それぞれのピクチャタイプに応じて、デコード処理が実行される。例えば、保有アンカーフレームの表示時には、保有アンカーバンクに格納されているベースバンド画像データがそのまま出力される。非保有アンカーフレームの表示時には、保有アンカーバンクに格納されているベースバンド画像データを参照画像として用いて表示フレームのデコード処理が実行され、Bピクチャの表示時には、必要に応じて、Bピクチャ表示用非保有アンカーバンクに、デコードされた非保有アンカーフレームが格納されて参照画像として用いられて表示フレームのデコード処理が実行され、Bピクチャおよび非保有アンカーバンクの表示用のベースバンド画像データが、B・非保有アンカー表示バンクに格納されて、出力される。このようにして、GOP_ID6の最後のB1ピクチャ、および、GOP_ID5の各ピクチャは、表示に間に合うようにデコードされて、出力される。   Then, the decoding process is performed on the frame requested to be output by the picture output request according to each picture type. For example, when displaying the retained anchor frame, the baseband image data stored in the retained anchor bank is output as it is. When displaying non-retained anchor frames, display frame decoding is performed using the baseband image data stored in the retained anchor bank as a reference image. When displaying B pictures, if necessary, for B picture display The decoded non-owned anchor frame is stored in the non-owned anchor bank and used as a reference image, and the display frame is decoded. The baseband image data for displaying the B picture and the non-owned anchor bank is B -Stored in the non-owner anchor display bank and output. In this way, the last B1 picture of GOP_ID6 and each picture of GOP_ID5 are decoded and output in time for display.

次に、GOP_ID5のB4ピクチャの出力要求とともに、GOP_ID4のストリーム入力が開始される。このとき、保有アンカーバンク管理処理により、保有アンカーバンク1乃至6には、全てデータが格納されており、格納されているのは、GOP_ID6およびGOP_ID5のデータであることが確認され、入力されるGOP_ID4とGOPのIDナンバーが離れているのは、GOP_ID6であることが検出される。したがって、GOP_ID4のストリーム入力により、保有アンカーバンク1乃至3に格納されているGOP_ID6のデータが削除され、GOP_ID4の保有アンカーフレームであるI2,P8,P14ピクチャが全てデコードされて、GOP_ID5の最後のB0ピクチャの出力要求の前に、対応するベースバンド画像データが、保有アンカーバンク1乃至3に格納される。   Next, the stream input of GOP_ID4 is started together with the output request of the B4 picture of GOP_ID5. At this time, all data is stored in the retained anchor banks 1 to 6 by the retained anchor bank management process, and it is confirmed that the stored data is GOP_ID6 and GOP_ID5 data. It is detected that the GOP ID number is GOP_ID6. Therefore, when the GOP_ID4 stream is input, the GOP_ID6 data stored in the possession anchor banks 1 to 3 is deleted, and all the I2, P8, and P14 pictures that are the possession anchor frames of GOP_ID4 are decoded, and the last B0 of GOP_ID5 Prior to the picture output request, the corresponding baseband image data is stored in the retained anchor banks 1 to 3.

そして、上述したGOP_ID6の最後のB1ピクチャ、および、GOP_ID5の各ピクチャにおける場合と同様のデコード処理が実行されるので、GOP_ID5の最後のB0ピクチャ、および、GOP_ID5の各ピクチャは、表示に間に合うようにデコードされて、出力される。   Then, the same decoding process as in the last B1 picture of GOP_ID6 and each picture of GOP_ID5 is executed, so that the last B0 picture of GOP_ID5 and each picture of GOP_ID5 are in time for display. Decoded and output.

このように、ストリームのー2倍速再生においては、フレームメモリ131−3に2GOP分のアンカーフレームのベースバンド画像データを格納することにより、トランジェント再生にも対応することができる。例えば、全てのアンカーフレーム5フレームをフレームメモリ131−3に格納するようにした場合、アンカーフレーム用の参照バンク10フレーム分とBピクチャの表示のためのバンク2フレーム分の計12フレーム分が必要となってしまう。これに対して、1枚おきにアンカーフレームを保有する場合は、保有アンカーバンク6フレーム分、非保有アンカーバンク1フレーム分、Bピクチャ表示用非保有アンカーバンク1フレーム分、B・非保有アンカー表示バンク2フレーム分の計10フレーム分を設けるようにすればよいので、全てのアンカーフレームを格納する場合に比べて、フレームメモリ131−3に設けるバンク数を2フレーム分削減することができる。   As described above, in the -2 speed reproduction of the stream, transient reproduction can be supported by storing the baseband image data of the anchor frame for 2 GOP in the frame memory 131-3. For example, if all five anchor frames are stored in the frame memory 131-3, a total of 12 frames are required, 10 reference banks for anchor frames and 2 frames for displaying B pictures. End up. On the other hand, if every other frame has an anchor frame, it holds 6 frames of owned anchor banks, 1 frame of non-owned anchor banks, 1 frame of non-owned anchor banks for B picture display, B / non-owned anchor display Since it is sufficient to provide a total of 10 frames for 2 banks, the number of banks provided in the frame memory 131-3 can be reduced by 2 frames compared to the case where all anchor frames are stored.

図74は、クリップストリームの±2倍速トランジェント再生における場合のデコード、表示、フレームメモリの各バンクの状態を示す図である。   FIG. 74 is a diagram showing the state of each bank of the decoding, display, and frame memory in the case of ± 2 × speed transient playback of a clip stream.

図47においては、GOP_ID1のP8ピクチャ乃至GOP_ID2のB4ピクチャでクリップファイルAが構成され、GOP_ID3に続くGOP_ID4のB0ピクチャ乃至GOP_ID2のP11ピクチャでクリップファイルBが構成され、クリップファイルAに続いてクリップファイルBが再生されるようなクリップストリームの再生について説明する。ただし、クリップファイルの再生に不必要なGOP_ID2およびGOP_ID4のGOP後半部分は、メモリ131に入力されないものとする。   In FIG. 47, clip file A is composed of P8 picture of GOP_ID1 to B4 picture of GOP_ID2, clip file B is composed of B0 picture of GOP_ID4 following GOP_ID3 to P11 picture of GOP_ID2, and clip file A is followed by clip file A A description will be given of reproduction of a clip stream in which B is reproduced. However, it is assumed that GOP_ID2 and GOP_ID4 latter half of GOP_ID4 which are unnecessary for reproduction of the clip file are not input to the memory 131.

このようなクリップにより構成されたクリップストリームの±2倍速トランジェント再生において、最低限必要な保有アンカーバンクの数は9つである。ここでも、デコーダ122は、1フレーム表の間に、3乃至4フレームのデコード処理を実行することができ、表示3フレーム分の先送り転送が実行されているものとして説明する。   In the ± 2 × speed transient reproduction of a clip stream constituted by such clips, the minimum number of possessed anchor banks is nine. Here, it is assumed that the decoder 122 can execute the decoding process of 3 to 4 frames during one frame table, and that the forward transfer for the display of 3 frames is executed.

クリップファイルAに対応する部分において、+2倍速(正方向)に再生が行われているとき、GOP_ID1のP14ピクチャの出力要求時には、GOP_ID1の保有アンカーフレームであるI2,P8,P14ピクチャおよびGOP_ID2の保有アンカーフレームであるI2ピクチャをデコードして生成されたベースバンド画像データは、保有アンカーバンク1乃至4に格納されている。   When playback is performed at +2 times normal speed (forward direction) in the portion corresponding to clip file A, when an output request for P14 picture of GOP_ID1 is made, possession of I2, P8, P14 pictures and GOP_ID2 that are anchor frames of GOP_ID1 Baseband image data generated by decoding an I2 picture that is an anchor frame is stored in the retained anchor banks 1 to 4.

そして、GOP_ID1のP14ピクチャの出力要求とともに、クリップファイルBのGOP_ID3およびGOP_ID4のストリーム入力が開始される。このとき、上述した保有アンカーバンク管理処理により、保有アンカーバンク5乃至9に格納されているデータがないことが確認されるので、クリップファイルBの最初に表示されるピクチャであるGOP_ID4のB0ピクチャの出力要求の前に、GOP_ID3の保有アンカーフレームであるI2,P8,P14ピクチャおよびGOP_ID4の保有アンカーフレームであるI2,P8ピクチャが全てデコードされて、対応するベースバンド画像データが、保有アンカーバンク5乃至9に格納される。そのとき、非保有アンカーフレームであるそれぞれのP5ピクチャおよびP11ピクチャは、参照画像として用いられるためにデコードされて、対応するベースバンド画像データが、非保有アンカーバンクに格納される。そして、ピクチャ出力要求により出力が要求されたフレームは、上述した場合と同様にして、それぞれのピクチャタイプに応じて、デコードされる。   Then, together with the output request for the P14 picture of GOP_ID1, the stream input of GOP_ID3 and GOP_ID4 of clip file B is started. At this time, it is confirmed that there is no data stored in the retained anchor banks 5 to 9 by the retained anchor bank management process described above, so the B0 picture of GOP_ID4, which is the first picture displayed in the clip file B, is displayed. Prior to the output request, the I2, P8, and P14 pictures that are the retained anchor frames of GOP_ID3 and the I2 and P8 pictures that are the retained anchor frames of GOP_ID4 are all decoded, and the corresponding baseband image data is stored in the retained anchor banks 5 to 5. 9 is stored. At that time, each P5 picture and P11 picture, which are non-owner anchor frames, are decoded for use as reference images, and the corresponding baseband image data is stored in the non-owner anchor bank. Then, the frame requested to be output by the picture output request is decoded according to each picture type in the same manner as described above.

そして、クリップBのB4ピクチャの表示が指令された時点で、再生方向が逆転された場合、次に表示されるGOPは、GOP_ID2となるが、クリップAのGOP_ID1およびGOP_ID2の保有アンカーフレームは、保有アンカーバンク1乃至4に格納されているので、新たなストリームの入力は必要ない。そして、クリップBのI2ピクチャおよびB0ピクチャが表示された後、続いて、クリップAのGOP_ID2のB3ピクチャおよびB1ピクチャが表示され、再び、再生方向が逆転された。このとき、次に表示されるGOPは、GOP_ID4となるが、クリップBのGOP_ID3およびGOP_ID4の保有アンカーフレームは、保有アンカーバンク5乃至9に格納されているので、新たなストリームの入力は必要ない。   When the playback direction is reversed when the display of the B4 picture of clip B is commanded, the GOP displayed next is GOP_ID2, but the possessed anchor frames of GOP_ID1 and GOP_ID2 of clip A are retained. Since it is stored in the anchor banks 1 to 4, it is not necessary to input a new stream. Then, after the I2 picture and B0 picture of clip B are displayed, the B3 picture and B1 picture of GOP_ID2 of clip A are displayed, and the playback direction is reversed again. At this time, the GOP to be displayed next is GOP_ID4. However, since the retained anchor frames of GOP_ID3 and GOP_ID4 of clip B are stored in the retained anchor banks 5 to 9, it is not necessary to input a new stream.

なお、トランジェント再生において、再生方向が逆転されるときに、表示指令されているフレームのベースバンド画像データがB・非保有アンカー表示バンクに存在する場合、再度デコード処理を行わずに、そのベースバンド画像データが出力される。具体的には、図74を用いて説明した1回目の反転の後のGOP_ID4のB0ピクチャ出力要求時には、B0ピクチャに対応するベースバンド画像データがB・非保有アンカー表示バンク1に格納されているので、デコードを行う必要がない。   In transient playback, when the playback direction is reversed and the baseband image data of the frame commanded for display is present in the B / non-owner anchor display bank, the baseband is not re-decoded and Image data is output. Specifically, at the time of the BOP picture output request of GOP_ID4 after the first inversion described with reference to FIG. 74, the baseband image data corresponding to the B0 picture is stored in the B / non-owner anchor display bank 1 So there is no need to decode.

クリップファイルの再生では、クリップストリームの構成により、含まれるアンカーフレーム数が異なるので、トランジェント再生に対応するために必要となる保有アンカーフレームが異なる。基本的には、それぞれのクリップを構成するGOPのアンカーフレーム数が異なっても、いずれの再生位置においても保有アンカーバンクに4GOP分のアンカーフレームを格納することができるだけの保有アンカーバンク数を確保し、保有アンカーバンク管理処理により、各GOPのための保有アンカーバンクを詰めて設定するようにした場合、滑らかなトランジェント再生を実行することが可能となる。   In playback of a clip file, the number of anchor frames included differs depending on the configuration of the clip stream, and therefore the possessed anchor frames required to support transient playback differ. Basically, even if the number of GOP anchor frames constituting each clip is different, the number of possessed anchor banks that can store 4 GOP anchor frames in the retained anchor bank at any playback position is secured. When the retained anchor banks for each GOP are packed and set by the retained anchor bank management process, smooth transient reproduction can be executed.

また、以上においては、保有アンカーフレームをIピクチャから1ピクチャおきに設定した場合について説明したが、保有アンカーフレームは、異なる数のピクチャおきに設定するものとしても良い。   In the above description, the case where the retained anchor frame is set every other picture from the I picture has been described. However, the retained anchor frame may be set every other number of pictures.

図75に、保有アンカーフレームを2ピクチャ、3ピクチャ、または、4ピクチャおきとする場合のGOPの保有・非保有アンカーフレーム構成図を示す。   FIG. 75 shows a GOP holding / non-holding anchor frame configuration diagram when the holding anchor frame is every two pictures, three pictures, or every four pictures.

そして、図76は、保有アンカーフレームを2ピクチャ、3ピクチャ、または、4ピクチャおきとし、フレームメモリ131−3において、Xフレーム分の参照バンクと2フレーム分の表示用バンク、すなわち、X+2フレーム分のフレームバンクにおけるバンク割り当て図である。   FIG. 76 shows that the retained anchor frame is every two pictures, three pictures, or four pictures, and in the frame memory 131-3, the reference bank for X frames and the display bank for two frames, that is, X + 2 frames. It is a bank allocation diagram in the frame bank.

保有・非保有アンカー兼用バンクである参照バンク1乃至X−3は、保有アンカーバンクと非保有アンカーバンクを兼用し、保有アンカーフレームと、非保有アンカーフレームのデコードの参照画として用いられる非保有アンカーフレームとに対応するベースバンド画像データを格納する。保有・非保有アンカー兼用バンクに格納されている保有アンカーフレームに対応するベースバンド画像データは、そのGOPのデータが削除されない限り、削除または上書きされないが、保有・非保有アンカー兼用バンクに格納されている非保有アンカーフレームに対応するベースバンド画像データは、参照画像としての役割が終了した後、他の保有アンカーフレームに対応するベースバンド画像データにより上書きされても良い。そして、非保有アンカーバンクは、図51を用いて説明した場合と同様に、保有アンカーフレームをデコードするための参照画として用いられる非保有アンカーフレームに対応するベースバンド画像データを格納する。そして、表示されるBピクチャまたはPピクチャがデコードされるときに参照画像として用いる非保有アンカーフレームのベースバンド画像を格納するための表示用非保有アンカーバンクは、2フレーム分必要となる。また、表示専用バンクである、B・非保有アンカー表示バンクについては、図51を用いて説明した場合と同様である。   Reference banks 1 to X-3, which are both owned and non-owned anchor banks, use both owned anchor banks and non-owned anchor banks, and are used as reference images for decoding owned anchor frames and non-owned anchor frames. Baseband image data corresponding to a frame is stored. The baseband image data corresponding to the possessed anchor frame stored in the owned / unowned anchor combined bank is not deleted or overwritten unless the GOP data is deleted, but stored in the retained / nonowned anchor combined bank. The baseband image data corresponding to the non-retained anchor frame may be overwritten with the baseband image data corresponding to the other retained anchor frame after the role as the reference image ends. Then, similarly to the case described with reference to FIG. 51, the non-owner anchor bank stores baseband image data corresponding to the non-owner anchor frame used as a reference image for decoding the retained anchor frame. Then, two frames of non-retained anchor banks for display for storing the baseband image of the non-retained anchor frame used as a reference image when the displayed B picture or P picture is decoded are required. The B / non-owner anchor display bank, which is a display-only bank, is the same as that described with reference to FIG.

なお、アンカーフレームを2ピクチャ、3ピクチャ、または、4ピクチャおきに保有する場合においては、図57を用いて説明した保有アンカーバンク管理処理のステップS661において、入力されたGOPに必要な保有アンカーバンク数の数が異なる。   When anchor frames are held every 2 pictures, 3 pictures, or every 4 pictures, the possessed anchor bank necessary for the input GOP is stored in step S661 of the retained anchor bank management process described with reference to FIG. The number of numbers is different.

次に、図77を参照して、アンカーフレームを2ピクチャおきに保有する場合のアンカーフレームのデコード手順について説明する。   Next, with reference to FIG. 77, a description will be given of an anchor frame decoding procedure when anchor frames are held every two pictures.

保有アンカーフレームであるI2ピクチャがデコードされて生成されたベースバンド画像データは、保有・非保有アンカー兼用バンクに格納され、次に、非保有アンカーフレームであるP5ピクチャがデコードされて生成されたベースバンド画像データは、非保有アンカーフレームの参照画像となるものであるので、保有・非保有アンカー兼用バンクに格納される。そして、次に、非保有アンカーフレームであるP8ピクチャがデコードされて生成されたベースバンド画像データは、保有アンカーフレームの参照画像となるものであるので、非保有アンカーバンクに格納される。そして、次に、保有アンカーフレームであるP11ピクチャがデコードされて生成されたベースバンド画像データは、保有・非保有アンカー兼用バンクに格納される。ここで、既に格納されている非保有アンカーフレームであるP8ピクチャの参照画像であるP5ピクチャに対応するベースバンド画像データは、既に参照画像としての役割を終了しているので、P11ピクチャに対応するベースバンド画像データは、保有・非保有アンカー兼用バンクのP5ピクチャに対応するベースバンド画像データに対して上書き保存される。   The baseband image data generated by decoding the I2 picture that is the possessed anchor frame is stored in the bank that also possesses and does not possess the anchor, and then the baseband image that is generated by decoding the P5 picture that is the retained anchor frame. Since the band image data is a reference image of the non-owned anchor frame, the band image data is stored in the bank that holds both the owned and non-owned anchors. Then, since the baseband image data generated by decoding the P8 picture that is a non-owned anchor frame is a reference image of the owned anchor frame, it is stored in the non-owned anchor bank. Next, the baseband image data generated by decoding the P11 picture that is the possessed anchor frame is stored in the retained / non-owned anchor combined bank. Here, since the baseband image data corresponding to the P5 picture that is the reference image of the P8 picture that is the stored non-owned anchor frame has already finished its role as the reference image, it corresponds to the P11 picture. The baseband image data is overwritten and stored on the baseband image data corresponding to the P5 picture of the owned / non-owned anchor combined bank.

このようにすることにより、参照バンク数を無駄にすることなく、できるだけ多くのGOPの保有アンカーフレームに対応するベースバンド画像データを保持することが可能となる。   In this way, it is possible to hold baseband image data corresponding to as many GOP possession anchor frames as possible without wasting the number of reference banks.

次に、図77を用いて説明したように保有アンカーバンクに格納された保有アンカーフレームに対応するベースバンド画像データを用いて実行されるデコード処理手順について、図78を用いて説明する。   Next, the decoding processing procedure executed using the baseband image data corresponding to the retained anchor frame stored in the retained anchor bank as described with reference to FIG. 77 will be described with reference to FIG.

例えば、非保有アンカーフレームを参照画像としてデコードされるB7ピクチャがデコードされる場合、非保有アンカーフレームであるP5ピクチャが、保有・非保有アンカー兼用バンクに格納されているI2ピクチャに対応するベースバンド画像データを参照してデコードされて、表示用非保有アンカーバンクに格納される。そして、次に、非保有アンカーフレームであるP8ピクチャが、表示用非保有アンカーバンクに格納されているP5ピクチャに対応するベースバンド画像データを参照してデコードされて、表示用非保有アンカーバンクに格納される。そして、B7ピクチャが、表示用非保有アンカーバンクに格納されているP5ピクチャおよびP8ピクチャに対応するベースバンド画像データを参照してデコードされて、B・非保有アンカー表示バンクに格納されて、出力される。   For example, when a B7 picture that is decoded using a non-owned anchor frame as a reference image is decoded, a P5 picture that is a non-owned anchor frame is a baseband corresponding to an I2 picture stored in the owned / non-owned anchor combined bank. It is decoded with reference to the image data and stored in the non-owner anchor bank for display. Next, the P8 picture that is the non-owner anchor frame is decoded with reference to the baseband image data corresponding to the P5 picture stored in the display non-owner anchor bank, and is displayed in the display non-owner anchor bank. Stored. The B7 picture is decoded with reference to the baseband image data corresponding to the P5 picture and the P8 picture stored in the non-owner anchor bank for display, stored in the non-owner anchor display bank, and output. Is done.

なお、アンカーフレームを3ピクチャまたは4ピクチャおきに保有する場合においても、図77および図78を用いて説明した場合と基本的に同様にして、デコード処理が実行される。   Even when the anchor frame is held every 3 pictures or every 4 pictures, the decoding process is executed basically in the same manner as described with reference to FIGS. 77 and 78.

次に、図79乃至図81のフローチャートを参照して、アンカーフレームを2ピクチャ、3ピクチャまたは4ピクチャおきに保有する場合に、図55のステップS608において実行される出力処理2について説明する。   Next, the output process 2 executed in step S608 of FIG. 55 when an anchor frame is held every 2 pictures, 3 pictures, or 4 pictures will be described with reference to the flowcharts of FIGS.

ステップS811乃至ステップS813において、図60のステップS761乃至ステップS763と同様の処理が実行される。   In steps S811 to S813, processing similar to that in steps S761 to S763 in FIG. 60 is executed.

すなわち、出力が要求されたのは、保有アンカーフレームがすでにデコードされているGOPの範囲内のピクチャであるか否かが判断され、保有アンカーフレームがすでにデコードされているGOPの範囲内のピクチャでない場合には、参照画像から順番に、通常のデコード処理が実行される。   That is, it is determined whether or not the requested anchor frame is a picture within the GOP range where the retained anchor frame has already been decoded, and is not a picture within the GOP range where the retained anchor frame has already been decoded. In this case, normal decoding processing is executed in order from the reference image.

保有アンカーフレームがすでにデコードされているGOPの範囲内のピクチャである場合、出力が要求されたのは、保有アンカーフレームであるか否かが判断される。   If the retained anchor frame is a picture within the GOP range that has already been decoded, it is determined whether the requested output is the retained anchor frame.

ステップS813において、出力が要求されたのは、保有アンカーフレームであると判断された場合、ステップS814において、デコードコントローラ153は、セレクタ155を制御して、フレームメモリ131−3の保有・非保有アンカー兼用バンクから、該当する保有アンカーフレームを読み出して、出力し、処理は、図55のステップS608に戻り、ステップS609に進む。   If it is determined in step S813 that the requested output is a retained anchor frame, in step S814, the decode controller 153 controls the selector 155 to retain / non-retained anchors in the frame memory 131-3. The corresponding retained anchor frame is read from the dual-purpose bank and output, and the process returns to step S608 in FIG. 55 and proceeds to step S609.

ステップS813において、出力が要求されたのは、保有アンカーフレームではないと判断された場合、ステップS815において、デコードコントローラ153は、CPU121から供給される制御信号を基に、出力が要求されたのは、非保有アンカーフレームであるか否かを判断する。ステップS815において、出力が要求されたのは、非保有アンカーフレームではないと判断された場合、処理は、後述するステップS823に進む。   If it is determined in step S813 that the requested output is not a retained anchor frame, in step S815, the decode controller 153 determines that the output is requested based on the control signal supplied from the CPU 121. It is determined whether the frame is a non-owner anchor frame. If it is determined in step S815 that the output is not requested for the non-owned anchor frame, the process proceeds to step S823 described later.

ステップS815において、出力が要求されたのは、非保有アンカーフレームであると判断された場合、ステップS816において、デコードコントローラ153は、フレームメモリ131−3のB・非保有アンカー表示バンクに、出力が要求された非保有アンカーフレームが格納されているか否かを判断する。   If it is determined in step S815 that the output is requested for a non-owned anchor frame, in step S816, the decode controller 153 outputs the output to the B / non-owned anchor display bank of the frame memory 131-3. It is determined whether the requested non-owner anchor frame is stored.

ステップS816において、B・非保有アンカー表示バンクに、出力が要求された非保有アンカーフレームが格納されていないと判断された場合、ステップS817において、デコードコントローラ153は、出力が要求された非保有アンカーフレームの参照画像は、保有アンカーフレームのみであるか否かを判断する。   If it is determined in step S816 that the non-owned anchor frame requested for output is not stored in the B / non-owned anchor display bank, in step S817, the decode controller 153 determines that the non-owned anchor frame requested for output. It is determined whether the reference image of the frame is only the retained anchor frame.

ステップS817において、出力が要求された非保有アンカーフレームの参照画像は、保有アンカーフレームのみではないと判断された場合、ステップS818において、デコードコントローラ153は、表示用非保有アンカーバンクのうちの1つを、該当する非保有アンカーフレームの参照画像となる非保有アンカーフレームのデコード後のベースバンド画像の格納先として設定する。   If it is determined in step S817 that the reference image of the non-owned anchor frame requested to be output is not only the retained anchor frame, in step S818, the decode controller 153 selects one of the non-held anchor banks for display. Is set as the storage destination of the baseband image after decoding of the non-owned anchor frame that becomes the reference image of the corresponding non-owned anchor frame.

ステップS819において、デコードコントローラ153は、デコード関連情報を参照して、参照画像となる非保有アンカーフレームのデコードを制御するとともに、デコードされて生成されたベースバンド画像データの表示用非保有アンカーバンクへの格納を制御する。すなわち、デコードコントローラ153は、セレクタ152を制御して、参照画像となる非保有アンカーフレームを、デコード処理部154に供給させるとともに、セレクタ156を制御して、フレームメモリ131−3の保有・非保有アンカー兼用バンクに格納されている保有アンカーフレームに対応するベースバンド画像データを、デコード処理部154に供給させる。デコード処理部154は、保有アンカーフレームに対応するベースバンド画像データを用いて、参照画像となる非保有アンカーフレームをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされた参照画像となる非保有アンカーフレームを、フレームメモリ131−3の表示用非保有アンカーバンクに格納する。   In step S819, the decoding controller 153 refers to the decoding related information, controls the decoding of the non-retained anchor frame serving as the reference image, and displays the decoded baseband image data generated as a non-retained anchor bank for display. Control storage of That is, the decode controller 153 controls the selector 152 to supply a non-owned anchor frame serving as a reference image to the decode processing unit 154 and also controls the selector 156 to hold / non-hold the frame memory 131-3. The baseband image data corresponding to the possessed anchor frame stored in the anchor combined bank is supplied to the decode processing unit 154. The decoding processing unit 154 decodes the non-owned anchor frame serving as the reference image using the baseband image data corresponding to the owned anchor frame, and supplies the decoded non-owned anchor frame to the selector 155. The decode controller 153 controls the selector 155 to store the non-owned anchor frame serving as the decoded reference image in the non-held anchor bank for display in the frame memory 131-3.

ステップS817において、出力が要求された非保有アンカーフレームの参照画像は、保有アンカーフレームのみではあると判断された場合、または、ステップS819の処理の終了後、ステップS820において、デコードコントローラ153は、B・非保有アンカー表示バンクを、該当する非保有アンカーフレームのデコード後のベースバンド画像の格納先として設定する。   In step S817, when it is determined that the reference image of the non-retained anchor frame requested to be output is only the retained anchor frame, or after the process of step S819 ends, in step S820, the decode controller 153 The non-owner anchor display bank is set as the storage destination of the baseband image after decoding the corresponding non-owner anchor frame.

ステップS821において、デコードコントローラ153は、ストリームバッファGOPキューの該当する非保有アンカーフレームのデコード関連情報を参照して、前方参照Index番号に示される参照画像を参照して、該当する非保有アンカーフレームをデコードし、フレームメモリ131−3のB・非保有アンカー表示バンクに格納する。   In step S821, the decode controller 153 refers to the decoding related information of the corresponding non-owned anchor frame in the stream buffer GOP queue, refers to the reference image indicated by the forward reference index number, and selects the corresponding non-owned anchor frame. It is decoded and stored in the B / non-owner anchor display bank of the frame memory 131-3.

ステップS816において、B・非保有アンカー表示バンクに、出力が要求された非保有アンカーフレームが格納されていると判断された場合、または、ステップS821の処理の終了後、ステップS822において、デコードコントローラ153は、セレクタ155を制御して、フレームメモリ131−3のB・非保有アンカー表示バンクから、該当する非保有アンカーフレームを読み出して、出力し、処理は、図55のステップS608に戻り、ステップS609に進む。   If it is determined in step S816 that the non-owner anchor frame requested to be output is stored in the B / non-owner anchor display bank, or after the process of step S821 is completed, the decode controller 153 is determined in step S822. Controls the selector 155 to read out and output the corresponding non-owned anchor frame from the B / non-owned anchor display bank of the frame memory 131-3, and the process returns to step S608 in FIG. Proceed to

ステップS815において、出力が要求されたのは、非保有アンカーフレームではないと判断された場合、ステップS823において、デコードコントローラ153は、出力が要求されたのは、GOPの先頭のBピクチャであるか否かを判断する。ステップS823において、出力が要求されたのは、GOPの先頭のBピクチャではない、すなわち、GOPの先頭以外の、GOP内に参照画像が存在するBピクチャであると判断された場合、処理は、後述するステップS832に進む。   If it is determined in step S815 that the output is not requested to be a non-owned anchor frame, in step S823, the decode controller 153 determines whether the output is requested for the first B picture of the GOP. Judge whether or not. If it is determined in step S823 that the output is not requested for the B picture at the head of the GOP, that is, it is a B picture for which a reference image exists in the GOP other than the head of the GOP, The process proceeds to step S832, which will be described later.

ステップS823において、出力が要求されたのは、GOPの先頭のBピクチャであると判断された場合、ステップS824において、デコードコントローラ153は、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されているか否かを判断する。ステップS824において、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されていると判断された場合、処理は、後述するステップS831に進む。   If it is determined in step S823 that the output is requested for the first B picture of the GOP, in step S824, the decode controller 153 determines that the B / non-owner anchor display bank outputs the requested B picture. It is determined whether a picture is stored. If it is determined in step S824 that the B picture requested to be output is stored in the B / non-owner anchor display bank, the process proceeds to step S831 described later.

ステップS824において、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されていないと判断された場合、ステップS825において、デコードコントローラ153は、保有・非保有アンカー兼用バンクに、該当するBピクチャの両方の参照画像が格納されているか否かを判断する。ステップS825において、保有アンカーバンクに、該当するBピクチャの両方の参照画像が格納されていると判断された場合、処理は、後述するステップS829に進む。   If it is determined in step S824 that the B picture that is requested to be output is not stored in the B / non-owner anchor display bank, in step S825, the decode controller 153 determines that the It is determined whether or not both reference images of the B picture to be stored are stored. If it is determined in step S825 that both reference images of the corresponding B picture are stored in the retained anchor bank, the process proceeds to step S829 described later.

ステップS825において、保有・非保有アンカー兼用バンクに、該当するBピクチャの両方の参照画像が格納されていないと判断された場合、ステップS826において、デコードコントローラ153は、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されているか否かを判断する。ステップS826において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、処理は、後述するステップS829に進む。   In step S825, when it is determined that both reference images of the corresponding B picture are not stored in the owned / non-owned anchor combined bank, in step S826, the decode controller 153 displays the display non-owned anchor bank. It is determined whether one reference picture of the B picture requested to be output is stored. If it is determined in step S826 that one reference image of the B picture requested to be output is stored in the display non-owner anchor bank, the process proceeds to step S829 described later.

ステップS826において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていないと判断された場合、ステップS827において、デコードコントローラ153は、表示用非保有アンカーバンクを、該当するBピクチャの参照画像となる非保有アンカーフレームのデコード後のベースバンド画像の格納先として設定する。   If it is determined in step S826 that one reference image of the B picture requested to be output is not stored in the display non-owner anchor bank, in step S827, the decode controller 153 displays the display non-owner anchor bank. Is set as the storage destination of the baseband image after decoding of the non-owned anchor frame that becomes the reference image of the corresponding B picture.

ステップS828において、デコードコントローラ153は、デコード関連情報を参照して、セレクタ152を制御して、参照画像となる非保有アンカーフレームを、デコード処理部154に供給させるとともに、必要に応じて、セレクタ156を制御して、フレームメモリ131−3の保有・非保有アンカー兼用バンクに格納されている保有アンカーフレームまたは非保有アンカーフレームに対応するベースバンド画像データを、デコード処理部154に供給させる。デコード処理部154は、供給された参照画像を用いて参照画像となる非保有アンカーフレームをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされた参照画像となる非保有アンカーフレームを、表示用非保有アンカーバンクに格納する。   In step S828, the decode controller 153 refers to the decode related information, controls the selector 152 to supply the non-owned anchor frame serving as the reference image to the decode processing unit 154, and, if necessary, the selector 156. And the baseband image data corresponding to the owned anchor frame or the non-owned anchor frame stored in the owned / non-owned anchor combined bank of the frame memory 131-3 is supplied to the decode processing unit 154. The decoding processing unit 154 decodes a non-owned anchor frame that becomes a reference image using the supplied reference image, and supplies the decoded non-owned anchor frame to the selector 155. The decode controller 153 controls the selector 155 to store the non-owned anchor frame serving as the decoded reference image in the display non-owned anchor bank.

ステップS825において、保有・非保有アンカー兼用バンクに、該当するBピクチャの両方の参照画像が格納されていると判断された場合、ステップS826において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、または、ステップS828の処理の終了後、ステップS829において、デコードコントローラ153は、B・非保有アンカー表示バンクを、該当するBピクチャのデコード後のベースバンド画像の格納先として設定する。   If it is determined in step S825 that both reference images of the corresponding B picture are stored in the owned / non-owned anchor combined bank, output is requested to the display non-owned anchor bank in step S826. When it is determined that one reference image of the B picture is stored, or after the process of step S828 is finished, in step S829, the decode controller 153 sets the B / non-owned anchor display bank to the corresponding B picture. Is set as the storage destination of the baseband image after decoding.

ステップS830において、デコードコントローラ153は、デコード関連情報を参照して、セレクタ152を制御して、該当するBピクチャをデコード処理部154に供給させるとともに、必要に応じて、セレクタ156を制御して、フレームメモリ131−3の保有・非保有アンカー兼用バンクに格納されている該当するBピクチャの参照画像となる保有アンカーフレーム、または、フレームメモリ131−3の表示用非保有アンカーバンクに格納されている、ステップS828においてデコードされた非保有アンカーバンクをデコード処理部154に供給させる。デコード処理部154は、供給された参照画像を用いて該当するBピクチャをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされたBピクチャを、B・非保有アンカー表示バンクに格納する。   In step S830, the decoding controller 153 refers to the decoding related information, controls the selector 152 to supply the corresponding B picture to the decoding processing unit 154, and controls the selector 156 as necessary. Stored in the owned anchor frame serving as a reference image of the corresponding B picture stored in the owned / non-owned anchor combined bank of the frame memory 131-3, or stored in the non-owned anchor bank for display of the frame memory 131-3 The non-owner anchor bank decoded in step S828 is supplied to the decoding processing unit 154. The decode processing unit 154 decodes the corresponding B picture using the supplied reference image and supplies the decoded B picture to the selector 155. The decode controller 153 controls the selector 155 to store the decoded B picture in the B / non-owner anchor display bank.

ステップS824において、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されていると判断された場合、または、ステップS830の処理の終了後、ステップS831において、デコードコントローラ153は、セレクタ157を制御して、フレームメモリ131−3のB・非保有アンカー表示バンクから、該当するBピクチャを読み出させて、出力させ、処理は、図55のステップS608に戻り、ステップS609に進む。   In step S824, when it is determined that the B picture that is requested to be output is stored in the B / non-owner anchor display bank, or after the process of step S830 ends, in step S831, the decode controller 153 The selector 157 is controlled to read out and output the corresponding B picture from the B / non-owner anchor display bank of the frame memory 131-3, and the process returns to step S608 in FIG. 55 and proceeds to step S609. .

ステップS823において、出力が要求されたのは、GOPの先頭のBピクチャではない、すなわち、GOPの先頭以外の、GOP内に参照画像が存在するBピクチャであると判断された場合、ステップS832において、デコードコントローラ153は、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されているか否かを判断する。ステップS832において、出力が要求されたBピクチャが格納されていると判断された場合、処理は、後述するステップS843に進む。   If it is determined in step S823 that the output is not requested for the B picture at the head of the GOP, that is, it is a B picture for which a reference image exists in the GOP other than the head of the GOP, in step S832. The decode controller 153 determines whether or not the B picture requested to be output is stored in the B / non-owner anchor display bank. If it is determined in step S832 that the B picture requested to be output is stored, the process proceeds to step S843 to be described later.

ステップS832において、B・非保有アンカー表示バンクに、出力が要求されたBピクチャが格納されていないと判断された場合、ステップS833において、デコードコントローラ153は、出力が要求されたBピクチャの一方の参照画は、保有アンカーフレームであるか否かを判断する。ステップS833において、出力が要求されたBピクチャの一方の参照画は、保有アンカーフレームであると判断された場合、処理は、後述するステップS838に進む。   If it is determined in step S832 that the B picture requested to be output is not stored in the B / non-owner anchor display bank, in step S833, the decode controller 153 determines one of the B pictures requested to be output. It is determined whether the reference image is a retained anchor frame. If it is determined in step S833 that one reference picture of the B picture requested to be output is a retained anchor frame, the process proceeds to step S838 described later.

ステップS833において、出力が要求されたBピクチャの参照画は、いずれも保有アンカーフレームではないと判断された場合、ステップS834において、デコードコントローラ153は、表示用非保有アンカーバンクに、出力が要求されたBピクチャの両方の参照画像が格納されているか否かを判断する。ステップS834において、Bピクチャ表示用非保有アンカーバンクに、出力が要求されたBピクチャの両方の参照画像が格納されていると判断された場合、処理は、後述するステップS841に進む。   If it is determined in step S833 that none of the reference pictures of the B picture requested to be output are owned anchor frames, in step S834, the decode controller 153 requests the display non-owned anchor bank to output. It is determined whether or not both reference pictures of the B picture are stored. If it is determined in step S834 that both reference images of the B picture requested to be output are stored in the B picture display non-owned anchor bank, the process proceeds to step S841 described later.

ステップS834において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの両方の参照画像は格納されていないと判断された場合、ステップS835において、デコードコントローラ153は、表示用非保有アンカーバンクに出力が要求されたBピクチャの一方の参照画像が格納されているか否かを判断する。ステップS835において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、処理は、後述するステップS839に進む。   If it is determined in step S834 that both reference images of the B picture requested to be output are not stored in the display non-owner anchor bank, in step S835, the decode controller 153 It is determined whether one reference image of the B picture requested to be output is stored. If it is determined in step S835 that one reference image of the B picture requested to be output is stored in the non-display anchor bank for display, the process proceeds to step S839 described later.

ステップS835において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの参照画像がいずれも格納されていないと判断された場合、ステップS836において、デコードコントローラ153は、2箇所の表示用非保有アンカーバンクを、該当するBピクチャの参照画像となる2枚の非保有アンカーフレームのデコード後のベースバンド画像の格納先として設定する。   In step S835, if it is determined that none of the reference images of the B picture requested to be output are stored in the non-display anchor bank for display, the decode controller 153 determines in step S836 that the two display non-display anchor banks. The possessed anchor bank is set as a storage destination of baseband images after decoding of the two non-retained anchor frames that are reference images of the corresponding B picture.

ステップS837において、デコードコントローラ153は、デコード関連情報を参照して、セレクタ152を制御して、参照画像となる非保有アンカーフレームを、デコード処理部154に供給させるとともに、必要に応じて、セレクタ156を制御して、フレームメモリ131−3の保有アンカーバンクに格納されている保有アンカーフレームなどの参照画像データを、デコード処理部154に供給させる。デコード処理部154は、供給された参照画像データを用いて参照画像となる2枚の非保有アンカーフレームをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされた参照画像となる非保有アンカーフレームを、Bピクチャ表示用非保有アンカーバンクに格納して、処理は、後述するステップS841に進む。   In step S837, the decode controller 153 refers to the decode related information, controls the selector 152 to supply the non-owned anchor frame serving as the reference image to the decode processing unit 154, and, if necessary, the selector 156. And the reference image data such as the retained anchor frame stored in the retained anchor bank of the frame memory 131-3 is supplied to the decode processing unit 154. The decoding processing unit 154 decodes two non-owned anchor frames that become reference images using the supplied reference image data, and supplies the decoded non-owned anchor frames to the selector 155. The decode controller 153 controls the selector 155 to store the non-owned anchor frame serving as the decoded reference image in the B picture display non-owned anchor bank, and the process proceeds to step S841 described later.

ステップS833において、出力が要求されたBピクチャの一方の参照画は、保有アンカーフレームであると判断された場合、ステップS838において、デコードコントローラ153は、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されているか否かを判断する。ステップS835において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、処理は、後述するステップS841に進む。   If it is determined in step S833 that one reference picture of the B picture requested to be output is a retained anchor frame, in step S838, the decode controller 153 requests the display non-retained anchor bank to output. It is determined whether one reference image of the B picture is stored. If it is determined in step S835 that one reference image of the B picture requested to be output is stored in the non-display anchor bank for display, the process proceeds to step S841 described later.

ステップS835において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、または、ステップS838において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていないと判断された場合、ステップS839において、デコードコントローラ153は、表示用非保有アンカーバンクを、該当するBピクチャの参照画像となる1枚の非保有アンカーフレームのデコード後のベースバンド画像の格納先として設定する。   If it is determined in step S835 that one reference image of the B picture requested to be output is stored in the display non-owner anchor bank, or in step S838, the output is output to the display non-owner anchor bank. When it is determined that one reference image of the requested B picture is not stored, in step S839, the decode controller 153 sets the display non-owned anchor bank as one reference image of the corresponding B picture. Is set as the storage destination of the baseband image after decoding of the non-owned anchor frame.

ステップS840において、デコードコントローラ153は、デコード関連情報を参照して、セレクタ152を制御して、参照画像となる非保有アンカーフレームを、デコード処理部154に供給させるとともに、必要に応じて、セレクタ156を制御して、フレームメモリ131−3の保有アンカーバンクに格納されている保有アンカーフレームなどの参照画像データを、デコード処理部154に供給させる。デコード処理部154は、供給された参照画像データを用いて参照画像となる非保有アンカーフレームをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされた参照画像となる非保有アンカーフレームを、Bピクチャ表示用非保有アンカーバンクに格納する。   In step S840, the decode controller 153 refers to the decode related information, controls the selector 152 to supply the non-owned anchor frame serving as the reference image to the decode processing unit 154 and, if necessary, the selector 156. And the reference image data such as the retained anchor frame stored in the retained anchor bank of the frame memory 131-3 is supplied to the decode processing unit 154. The decode processing unit 154 decodes a non-owned anchor frame that becomes a reference image using the supplied reference image data, and supplies the decoded non-owned anchor frame to the selector 155. The decode controller 153 controls the selector 155 to store the non-owned anchor frame serving as the decoded reference image in the B picture display non-owned anchor bank.

ステップS834において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの両方の参照画像が格納されていると判断された場合、ステップS838において、表示用非保有アンカーバンクに、出力が要求されたBピクチャの一方の参照画像が格納されていると判断された場合、もしくは、ステップS837またはステップS840の処理の終了後、ステップS841において、デコードコントローラ153は、B・非保有アンカー表示バンクを、該当するBピクチャのデコード後のベースバンド画像の格納先として設定する。   If it is determined in step S834 that both reference images of the B picture requested to be output are stored in the display non-owner anchor bank, output is requested to the display non-owner anchor bank in step S838. When it is determined that one of the reference images of the B picture stored is stored, or after the process of step S837 or step S840 is completed, in step S841, the decode controller 153 selects the B / non-owner anchor display bank. , It is set as the storage destination of the baseband image after decoding the corresponding B picture.

ステップS842において、デコードコントローラ153は、デコード関連情報を参照して、セレクタ152を制御して、該当するBピクチャをデコード処理部154に供給させるとともに、必要に応じて、セレクタ156を制御して、フレームメモリ131−3の保有アンカーバンクに格納されている該当するBピクチャの参照画像となる保有アンカーフレーム、または、フレームメモリ131−3の表示用非保有アンカーバンクに格納されている非保有アンカーバンクをデコード処理部154に供給させる。デコード処理部154は、供給された参照画像データを用いて、該当するBピクチャをデコードし、セレクタ155に供給する。デコードコントローラ153は、セレクタ155を制御して、デコードされたBピクチャを、B・非保有アンカー表示バンクに格納する。   In step S842, the decode controller 153 refers to the decode related information, controls the selector 152 to supply the corresponding B picture to the decode processing unit 154, and controls the selector 156 as necessary. The possessed anchor frame that is the reference image of the corresponding B picture stored in the retained anchor bank of the frame memory 131-3, or the non-owned anchor bank stored in the display-unowned anchor bank of the frame memory 131-3 Is supplied to the decoding processing unit 154. The decode processing unit 154 decodes the corresponding B picture using the supplied reference image data and supplies the decoded B picture to the selector 155. The decode controller 153 controls the selector 155 to store the decoded B picture in the B / non-owner anchor display bank.

ステップS832において、出力が要求されたBピクチャが格納されていると判断された場合、または、ステップS842の処理の終了後、ステップS843において、デコードコントローラ153は、セレクタ157を制御して、フレームメモリ131−3のB・非保有アンカー表示バンクから、該当するBピクチャを読み出して、出力させ、処理は、図55のステップS608に戻り、ステップS609に進む。   If it is determined in step S832 that the B picture requested to be output is stored, or after the process of step S842 is completed, the decode controller 153 controls the selector 157 in step S843 to control the frame memory. The corresponding B picture is read out from the B / non-owner anchor display bank 131-3 and output, and the process returns to step S608 in FIG. 55 and proceeds to step S609.

このような処理により、アンカーフレームを2ピクチャ、3ピクチャまたは4ピクチャおきに保有する場合であっても、フレームメモリ131−3に予め格納されているベースバンド画像データを利用して、デコード処理が実行されるので、フレームメモリを有効に利用して、できるだけ多くのGOPの保有アンカーフレームを蓄積しておき、通常のストリーム再生やクリップ再生の変速再生やトランジェント再生において、再生出力の指令から再生出力されるまでのレスポンスを向上させるのみならず、スクラブ再生などにおいても、再生出力の指令から、再生出力されるまでのレスポンスが高くなるような再生開始位置の範囲をできるだけ広くすることができる。   By such processing, even when the anchor frame is held every 2 pictures, 3 pictures, or 4 pictures, the decoding process is performed using the baseband image data stored in advance in the frame memory 131-3. Since it is executed, the frame memory is effectively used to store as many GOP possession anchor frames as possible, and playback output from the playback output command in normal stream playback, clip playback variable speed playback and transient playback In addition to improving the response until the playback is performed, it is possible to widen the range of the playback start position where the response from the playback output command to the playback output becomes higher in scrub playback and the like as much as possible.

また、アンカーフレームを2ピクチャ、3ピクチャまたは4ピクチャおきに保有する場合は、アンカーフレームを1ピクチャおきに保有する場合と比較して、1つのフレームを表示するために必要なデコードの回数が多い可能性が高い。このため、デコーダ122は、アンカーフレームを1ピクチャおきに保有する場合よりも、アンカーフレームを2ピクチャ、3ピクチャまたは4ピクチャおきに保有する場合のほうが、性能が高い、すなわち、1フレームを表示している間にデコード可能なフレーム数が多いと、より好適である。   In addition, when the anchor frame is held every 2 pictures, 3 pictures, or every 4 pictures, the number of times of decoding necessary for displaying one frame is larger than when the anchor frame is held every other picture. Probability is high. For this reason, the decoder 122 has a higher performance when the anchor frame is held every two, three or four pictures than when the anchor frame is held every other picture, that is, displays one frame. It is more preferable that the number of frames that can be decoded is large during this period.

このように、全てのアンカーフレームを保持することなく、アンカーフレームのうちの一部を優先的にデコードして保持するものとすることにより、フレームメモリを有効に利用して、できるだけ多くのGOPの保有アンカーフレームを蓄積しておくことができる。また、上述したように、デコードスケジューリングやバンク管理を行うことにより、再生出力の指令から再生出力されるまでのレスポンスを向上させるようにすることができる。   In this way, by preferentially decoding and holding a part of the anchor frames without holding all the anchor frames, it is possible to effectively use the frame memory and to make as many GOPs as possible. The possessed anchor frame can be accumulated. Further, as described above, by performing decode scheduling and bank management, it is possible to improve the response from the reproduction output command to the reproduction output.

一方、全てのアンカーフレームを保持するようにした場合、アンカーフレームのうちの一部を優先的にデコードして保持する場合と比較して、フレームメモリが多く必要になる。例えば、同一の保有アンカーフレーム数であれば、全てのアンカーフレームを保持するようにした場合、アンカーフレームのうちの一部を優先的にデコードして保持する場合と比較して、保有アンカーバンクに少ないGOPの保有アンカーフレームしか保持しておくことができないため、再生出力の指令から、再生出力されるまでのレスポンスが高くなるような再生開始位置の範囲が狭くなってしまう。スクラブ再生時は、保有アンカーバンクに多くのGOPのアンカーフレームを格納できた方が、再生出力されるまでのレスポンスが高くなるような再生開始位置の範囲を広くすることができ、実質的なフレームレートを向上させることができる。   On the other hand, when all the anchor frames are held, more frame memories are required than when a part of the anchor frames is preferentially decoded and held. For example, if all anchor frames are held with the same number of owned anchor frames, the number of anchor frames stored in the owned anchor bank is lower than when a part of the anchor frames is preferentially decoded and held. Since only a small number of GOP possession anchor frames can be held, the range of the reproduction start position where the response from the reproduction output command to the reproduction output becomes high becomes narrow. During scrub playback, if you can store many GOP anchor frames in the owned anchor bank, you can widen the playback start position range so that the response until playback is output is increased, and the actual frame The rate can be improved.

また、全てのアンカーフレームを保持するようにした場合、例えば、クリップ再生においては、クリップストリームの構成によって、トランジェント再生を可能なようにするために必要な保有アンカーフレーム数は異なり、充分な保有アンカーフレーム数が用意できないとき、トランジェント再生において、再生が間に合わず、表示画像がフリーズしてしまう恐れがある。   When all anchor frames are retained, for example, in clip playback, the number of retained anchor frames necessary to enable transient playback differs depending on the clip stream configuration, and sufficient retained anchors are available. When the number of frames cannot be prepared, the reproduction may not be in time for the transient reproduction, and the display image may freeze.

すなわち、クリップストリームのトランジェント再生で表示がフリーズしないようにするためには、できるだけ、保有アンカーバンクを上書きせずに残して置くようにすると好適である。そのため、保有アンカーバンクを全てのアンカーフレームに設定してしまった場合、保有アンカーバンクのバンク数によっては、±2倍速や、±3倍速などのクリップストリームのトランジェント再生において、アンカーフレームの上書きが発生してしまう。   That is, in order to prevent the display from freezing during the transient reproduction of the clip stream, it is preferable to leave the retained anchor bank without being overwritten as much as possible. Therefore, if the owned anchor bank is set to all anchor frames, depending on the number of owned anchor banks, overwriting of the anchor frame may occur during clip stream transient playback such as ± 2x speed or ± 3x speed. Resulting in.

したがって、特に、クリップストリームのトランジェント再生においては、保有アンカーバンクが少なくても、できるだけアンカーフレームの上書きが発生しないように、アンカーフレームの一部のみを保有アンカーフレームとして設定すると好適である。   Therefore, in particular, in the transient reproduction of the clip stream, it is preferable to set only a part of the anchor frame as the retained anchor frame so that the anchor frame is not overwritten as much as possible even if the retained anchor bank is small.

特に、デコード能力が、1フレーム表示の期間に、3乃至4フレーム程度のデコード処理が可能なレベルであるとき、1つおきのアンカーフレームを保有アンカーフレームとして設定すると、デコードのレスポンスと保有アンカーバンク数の抑制とを両立することができ、好適である。   In particular, when the decoding capability is at a level at which decoding processing of about 3 to 4 frames can be performed in the period of one frame display, if every other anchor frame is set as a holding anchor frame, the decoding response and the holding anchor bank It is possible to achieve both suppression of the number and is preferable.

図82を参照して、図74を用いて説明した場合と同様のクリップストリームにおいて全てのアンカーフレームを保有アンカーフレームとし、±2倍速トランジェント再生した場合における、デコード、表示、フレームメモリの各バンクの状態について説明する。   Referring to FIG. 82, in the same clip stream as described with reference to FIG. 74, all anchor frames are held anchor frames, and each of the banks of decoding, display, and frame memory in the case of ± 2 × speed transient playback is used. The state will be described.

すなわち、図82においては、図47における場合と同様に、GOP_ID1のP8ピクチャ乃至GOP_ID2のB4ピクチャでクリップファイルAが構成され、GOP_ID3に続くGOP_ID4のB0ピクチャ乃至GOP_ID2のP11ピクチャでクリップファイルBが構成され、クリップファイルAに続いてクリップファイルBが再生されるようなクリップストリームの再生について説明する。ただし、クリップファイルの再生に不必要なGOP_ID2およびGOP_ID4のGOP後半部分は、メモリ131に入力されないものとする。   That is, in FIG. 82, similar to the case of FIG. 47, the clip file A is composed of the P8 picture of GOP_ID1 to the B4 picture of GOP_ID2, and the clip file B is composed of the B0 picture of GOP_ID4 and the P11 picture of GOP_ID2 following GOP_ID3. A description will be given of the reproduction of a clip stream in which the clip file B is reproduced after the clip file A. However, it is assumed that GOP_ID2 and GOP_ID4 latter half of GOP_ID4 which are unnecessary for reproduction of the clip file are not input to the memory 131.

ここでは、フレームメモリに格納可能なフレーム数は、図47における場合と同様であるとするが、Bピクチャ表示用非保有アンカーバンクは不要となるので、保有アンカーバンクの数は、図47における場合よりも2フレーム多い11フレーム分であるものとする。ここでも、デコーダ122は、1フレーム表の間に、3乃至4フレームのデコード処理を実行することができ、表示3フレーム分の先送り転送が実行されているものとして説明する。   Here, it is assumed that the number of frames that can be stored in the frame memory is the same as in FIG. 47, but the non-owned anchor bank for B picture display is not necessary. It is assumed that there are 11 frames, which is 2 frames more than the above. Here, it is assumed that the decoder 122 can execute the decoding process of 3 to 4 frames during one frame table, and that the forward transfer for the display of 3 frames is executed.

クリップファイルAに対応する部分において、+2倍速(正方向)に再生が行われているとき、GOP_ID1のP14ピクチャの出力要求時には、GOP_ID1の保有アンカーフレームであるI2,P5,P8,P11,P14ピクチャおよびGOP_ID2の保有アンカーフレームであるI2,P5ピクチャをデコードして生成されたベースバンド画像データは、保有アンカーバンク1乃至7に格納されている。   When playback is performed at +2 times normal speed (forward direction) in the portion corresponding to clip file A, when an output request for a P14 picture of GOP_ID1 is made, I2, P5, P8, P11, and P14 pictures that are possessed by GOP_ID1 The baseband image data generated by decoding the I2 and P5 pictures, which are the retained anchor frames of GOP_ID2, are stored in the retained anchor banks 1 to 7.

そして、GOP_ID1のP14ピクチャの出力要求とともに、クリップファイルBのGOP_ID3およびGOP_ID4のストリーム入力が開始される。このとき、上述した保有アンカーバンク管理処理により、保有アンカーバンク8乃至11に格納されているデータがないことが確認されるが、GOP_ID3の保有アンカーフレームであるI2,P5,P8,P11,P14ピクチャに対応するベースバンド画像データを全て格納するためには、バンク数が足らないので、GOP_ID1の保有アンカーフレームに対応するベースバンド画像データが保有アンカーバンク1乃至5から削除され、GOP_ID3の保有アンカーフレームであるI2,P5,P8,P11,P14ピクチャがデコードされて、これらに対応するベースバンド画像データが、保有アンカーバンク8乃至11および保有アンカーバンク1に格納される。   Then, together with the output request for the P14 picture of GOP_ID1, the stream input of GOP_ID3 and GOP_ID4 of clip file B is started. At this time, it is confirmed that there is no data stored in the retained anchor banks 8 to 11 by the retained anchor bank management process described above, but the I2, P5, P8, P11, and P14 pictures that are retained anchor frames of GOP_ID3 Since the number of banks is insufficient to store all the baseband image data corresponding to, the baseband image data corresponding to the retained anchor frames of GOP_ID1 is deleted from the retained anchor banks 1 to 5, and the retained anchor frames of GOP_ID3 I2, P5, P8, P11, and P14 pictures are decoded, and baseband image data corresponding to these pictures are stored in the retained anchor banks 8 to 11 and the retained anchor bank 1.

そして、続いて、GOP_ID4の保有アンカーフレームであるI2,P5,P8,P11ピクチャがデコードされて、これらに対応するベースバンド画像データが、保有アンカーバンク2乃至5に格納される。   Subsequently, the I2, P5, P8, and P11 pictures that are the possessed anchor frames of GOP_ID4 are decoded, and the baseband image data corresponding to these are stored in the retained anchor banks 2 to 5.

そして、クリップBのB4ピクチャの表示が指令された時点で、再生方向が逆転された場合、次に表示されるGOPは、GOP_ID2となるが、GOP_ID2のフレームをデコードするために必要なGOP_ID1の保有アンカーフレームに対応するベースバンド画像データは保有アンカーバンク1乃至5から削除されているので、GOP_ID1の保有アンカーフレームのデコードと保有アンカーバンクへの格納を行わなければならない。保有アンカーバンクを確保する必要があるGOP_ID1とGOPのIDナンバーが離れているのは、GOP_ID4であり、その次にGOP_ID1とGOPのIDナンバーが離れているのは、GOP_ID3であることが検出される。したがって、保有アンカーバンク2乃至5に格納されているGOP_ID4のデータと、保有アンカーバンク8乃至1に格納されているGOP_ID3のデータとが削除され、GOP_ID4の保有アンカーフレームのデコードが開始される。しかしながら、この次に表示されるフレームは、GOP_ID4のI2ピクチャであるので、GOP_ID4のデータが保有アンカーバンクから削除されることにより、GOP_ID4のI2ピクチャが表示できなくなってしまう。   When the playback direction is reversed when the display of the B4 picture of clip B is commanded, the next GOP to be displayed is GOP_ID2, but possessing GOP_ID1 necessary for decoding the frame of GOP_ID2 Since the baseband image data corresponding to the anchor frame has been deleted from the retained anchor banks 1 to 5, it is necessary to decode the retained anchor frame of GOP_ID1 and store it in the retained anchor bank. It is detected that GOP_ID1 and GOP ID numbers that are required to secure possession anchor banks are separated by GOP_ID4, and that GOP_ID1 and GOP ID numbers that are separated next are GOP_ID3. . Therefore, the GOP_ID4 data stored in the retained anchor banks 2 to 5 and the GOP_ID3 data stored in the retained anchor banks 8 to 1 are deleted, and decoding of the retained anchor frame of GOP_ID4 is started. However, since the next frame to be displayed is the I2 picture of GOP_ID4, when the data of GOP_ID4 is deleted from the possessed anchor bank, the I2 picture of GOP_ID4 cannot be displayed.

これに対して、1GOP あたりに必要な保有アンカーフレーム数を節約するために、アンカーフレームの一部のみを保有アンカーバンクとしたフレームメモリバンク管理では、上書きによるアンカーフレームの削除が発生してしまう機会が少ないため、トランジェント再生などにおいても、再生画像がフリーズしてしまうことを防止することが可能となる。   On the other hand, in order to save the number of possessed anchor frames required per 1 GOP, in the frame memory bank management in which only a part of the anchor frames are retained anchor banks, there is an opportunity that the anchor frames are deleted due to overwriting. Therefore, it is possible to prevent the reproduced image from freezing even during transient reproduction.

このように、アンカーフレームの一部のみを保有アンカーフレームとし、広範囲のGOPのアンカーフレームをフレームメモリに保存することによって、同様のデコード能力である場合、フレームメモリを削減することができる。また、アンカーフレームの一部のみを保有アンカーフレームとし、広範囲のGOPのアンカーフレームをフレームメモリに保存することによって、より高倍速な再生を、再生画像のフリーズを起こすことなく行うことができるとともに、より高速な再生での滑らかな正逆反転再生(トランジェント再生)を行うことができ、更に、スクラブ再生では、より広範囲の画像をすばやく出力することができる。   Thus, by storing only a part of the anchor frame as the possessed anchor frame and storing the anchor frame of a wide range of GOPs in the frame memory, the frame memory can be reduced when the decoding capability is the same. In addition, by storing only a part of the anchor frame as the possessed anchor frame and storing the anchor frame of a wide range of GOPs in the frame memory, higher speed reproduction can be performed without causing the freeze of the reproduced image, Smooth forward / reverse inversion reproduction (transient reproduction) at higher speed reproduction can be performed, and scrub reproduction can quickly output a wider range of images.

更に、再生装置101においては、デコーダ122のデコード能力に合わせて、フレームメモリ131−3に保存するアンカーフレームの間隔を可変にするようにしても良いことはいうまでもない。   Furthermore, it goes without saying that in the playback apparatus 101, the interval between anchor frames stored in the frame memory 131-3 may be made variable in accordance with the decoding capability of the decoder 122.

ところで、図44乃至図82を用いて説明した処理では、新たなGOPのデータがストリームバッファ131−1に供給された場合、または、既にストリームバッファ131−1に供給されているが、保有アンカーバンクに対応する保有アンカーフレームが格納されていないGOPのデコード処理が開始される場合に、保有アンカーバンクに空きがあるか否かが検出され、必要数の空きバンクがないとき、入力したGOPのGOP_ID番号から最もGOP_ID番号が遠いGOPの保有アンカーフレームが、必要なフレーム数の空きが確保できるまで削除されて、新たなGOPの保有アンカーフレームがデコードされて、対応するベースバンド画像データが保有アンカーバンクに格納されるようになされていた。   Incidentally, in the processing described with reference to FIGS. 44 to 82, when new GOP data is supplied to the stream buffer 131-1, or already supplied to the stream buffer 131-1, When the GOP decoding process that does not store the retained anchor frame corresponding to is started, it is detected whether or not the retained anchor bank is empty, and if there is not the required number of empty banks, the GOP_ID of the input GOP The GOP possession anchor frame with the most distant GOP_ID number is deleted until the required number of frames are available, the new GOP possession anchor frame is decoded, and the corresponding baseband image data is retained by the possession anchor bank. Was supposed to be stored.

この処理では、ストリームのあるGOPの先頭が入力した時点でのアンカーバンクの状況をもとに消去されるアンカーフレームに対応するGOPとアンカーバンクが決定するため、例えば、図82を用いて説明したように、次に表示するために必要なGOPの保有アンカーフレームに対応するベースバンド画像データを保有アンカーバンクから消去してしまい、その表示が出来なかったり、そのGOPのアンカーフレームの再デコードのため、レスポンスが悪化してしまう可能性があった。   In this process, since the GOP and anchor bank corresponding to the anchor frame to be erased are determined based on the state of the anchor bank at the time when the head of the GOP with the stream is input, for example, as described with reference to FIG. For example, the baseband image data corresponding to the GOP possession anchor frame necessary for the next display is erased from the possession anchor bank, and the display cannot be performed, or the anchor frame of the GOP is re-decoded. The response could get worse.

すなわち、図44乃至図82を用いて説明した処理において、デコードコントローラ153は、ストリームバッファGOPキューにおいて、新たなデータがPUSHされた場合に、現在再生中のGOPのGOP_ID番号から最も離れたGOP_ID番号を有するGOPの情報がPOPされるものとして説明した。この場合、PUSHされたデータの先頭に付加されたデコード関連情報を取得したとき、その情報を元にスケジュールが行なわれるため、GOPデータの先頭が入力された時点でアンカーバンクの管理がGOP単位で実行される。そして、アンカーフレームが入力されたら、確保された保有アンカーバンクが割り当てられ、所定のタイミング(表示のためのデコード処理が実行されていない期間)でデコード処理が実行された後、得られたベースバンド画像データが、割り当てられた保有アンカーバンクに格納される。   That is, in the processing described with reference to FIGS. 44 to 82, when new data is pushed in the stream buffer GOP queue, the decode controller 153 has the GOP_ID number farthest from the GOP_ID number of the GOP currently being reproduced. It has been described that GOP information having POP is POP. In this case, when the decode related information added to the head of the pushed data is acquired, the schedule is performed based on the information. Therefore, when the head of the GOP data is input, the management of the anchor bank is performed in GOP units. Executed. Then, when an anchor frame is input, a reserved anchor bank that is secured is allocated, and after the decoding process is executed at a predetermined timing (a period in which the decoding process for display is not executed), the obtained baseband is obtained. Image data is stored in the assigned anchor bank.

例えば、図83に示されるように、保有アンカーバンクが10フレーム分設けられ、バンク1乃至バンク3には、GOP(N-1)の保有アンカーフレームに対応するベースバンド画像データが格納され、バンク4乃至バンク6には、GOP(N)の保有アンカーフレームに対応するベースバンド画像データが格納され、バンク7乃至バンク9には、GOP(N+1)の保有アンカーフレームに対応するベースバンド画像データが格納されている状態において、新たなGOPのデータが供給された場合について説明する。例えば、GOP(N+3)が供給された場合、GOP(N-1)の保有アンカーフレームに対応するベースバンド画像データが削除されて、バンク1乃至バンク3にGOP(N+3)の保有アンカーフレームに対応するベースバンド画像データが格納される。これに対して、GOP(N−3)が供給された場合、GOP(N+1)の保有アンカーフレームに対応するベースバンド画像データが削除されて、バンク10乃至バンク2にGOP(N−3)の保有アンカーフレームに対応するベースバンド画像データが格納される。   For example, as shown in FIG. 83, ten owned anchor banks are provided, and bank 1 to bank 3 store baseband image data corresponding to GOP (N-1) owned anchor frames. 4 to Bank 6 store baseband image data corresponding to the GOP (N) possessed anchor frame, and Banks 7 to 9 store baseband image data corresponding to the GOP (N + 1) retained anchor frame. A case where new GOP data is supplied in the stored state will be described. For example, when GOP (N + 3) is supplied, the baseband image data corresponding to the GOP (N-1) possession anchor frame is deleted, and the GOP (N + 3) possession anchor frame is supported in banks 1 to 3. Baseband image data to be stored is stored. On the other hand, when GOP (N-3) is supplied, the baseband image data corresponding to the anchor frame of GOP (N + 1) is deleted, and GOP (N-3) is stored in banks 10 to 2. Baseband image data corresponding to the retained anchor frame is stored.

ところで、図84に示されるように、例えば、表示エラーが発生した場合など、デコードコントローラ153の制御により、GOP(N+1)の5フレーム目や10フレーム目が表示待ちのフレームとして存在し、次に、GOP(N-1)の8フレーム目がデコードされて表示待ちとなる予定である状態において、GOP(N-3)が入力されてGOP(N+1) の保有アンカーフレームに対応するベースバンド画像データが保有アンカーバンクから消去されたとき、表示待ちのGOP(N+1)の5フレーム目や10フレーム目が表示できないか、または、GOP(N+1)の保有アンカーフレームの再デコードにかかる時間のため、表示が遅くなってしまう恐れがある。   By the way, as shown in FIG. 84, for example, when a display error occurs, the fifth frame and the tenth frame of GOP (N + 1) exist as frames waiting to be displayed under the control of the decode controller 153. Next, in a state where the 8th frame of GOP (N-1) is to be decoded and waiting to be displayed, GOP (N-3) is input and corresponds to the possessed anchor frame of GOP (N + 1) When baseband image data is deleted from the owned anchor bank, the 5th and 10th frames of the GOP (N + 1) waiting to be displayed cannot be displayed, or the GOP (N + 1) owned anchor frame is Due to the time required for decoding, the display may be slow.

これに対して、新たなデータがPUSHされた場合に、現在再生中のGOPのみならず、アンカーフレームのデコードが終了して表示指令を待っている状態のGOPや、既にデコードスケジュールに含まれているGOPについては、現在再生中のGOPのGOP_ID番号から最も離れたGOP_ID番号を有するGOPであっても、POPされることがないように制御すると、表示するべきフレームが表示できない状況を防ぐようにすることができ、更に好適である。   On the other hand, when new data is pushed, not only the currently playing GOP, but also the GOP that is waiting for the display command after the decoding of the anchor frame is completed, or already included in the decoding schedule For GOPs that have the GOP_ID number that is farthest from the GOP_ID number of the currently playing GOP, control is performed so that the GOP_ID number is not POP. More preferably.

図85乃至図91を参照して、新たなデータがPUSHされた場合に、現在再生中のGOPのみならず、アンカーフレームのデコードが終了して表示指令を待っている状態のGOPや、既にデコードスケジュールに含まれているGOPについては、現在再生中のGOPのGOP_ID番号から最も離れたGOP_ID番号を有するGOPであっても、POPされることがないように制御する場合について説明する。   Referring to FIGS. 85 to 91, when new data is pushed, not only the GOP currently being played back, but also the GOP in a state where the decoding of the anchor frame is finished and waiting for the display command, or already decoded. As for the GOP included in the schedule, a case will be described in which control is performed so that even a GOP having the GOP_ID number farthest from the GOP_ID number of the GOP currently being reproduced is not POPped.

ここでも、デコードコントローラ153は、すべてのアンカーフレームではなく、例えば、図49を用いて説明した場合のように、Iピクチャから1枚おきとなるアンカーフレームか、または、数枚おきに選択されたアンカーフレームのみを、保有アンカーフレームとして設定し、Bピクチャがデコードされる前のデコード処理の空き時間に、デコード処理部154によって予めデコードさせるように、セレクタ152を制御する。   Here again, the decode controller 153 is selected not every anchor frame but every other anchor frame from the I picture or every few frames as described with reference to FIG. 49, for example. Only the anchor frame is set as the possessed anchor frame, and the selector 152 is controlled so that the decoding processing unit 154 decodes in advance during the idle time of the decoding process before the B picture is decoded.

上述したように、デコード処理部154は、1フレームの表示時間に対して充分に短い持間(例えば、1フレームの表示時間の1/3乃至1/4程度)で、1フレームをデコードすることが可能である。したがって、デコードコントローラ153は、フレームメモリ131−3に保持可能な数の保有アンカーフレームが予めデコードされるように、1GOP単位ではなく、1フレーム単位でデコードタイミングをスケジュールする。そして、デコードされたアンカーフレームが、フレームメモリ131−3の所定のバンクに供給されて、保持されるよう、セレクタ152、セレクタ155、および、セレクタ156がそれぞれ制御される。   As described above, the decoding processing unit 154 decodes one frame with a sufficiently short time (for example, about 1/3 to 1/4 of the display time of one frame) with respect to the display time of one frame. Is possible. Accordingly, the decode controller 153 schedules the decode timing not in units of 1 GOP but in units of frames so that the number of retained anchor frames that can be held in the frame memory 131-3 is decoded in advance. Then, the selector 152, the selector 155, and the selector 156 are controlled so that the decoded anchor frame is supplied to and held in a predetermined bank of the frame memory 131-3.

新たなデータがPUSHされた場合に、現在再生中のGOPのみならず、アンカーフレームのデコードが終了して表示指令を待っている状態のGOPや、既にデコードスケジュールに含まれているGOPについては、現在再生中のGOPのGOP_ID番号から最も離れたGOP_ID番号を有するGOPであっても、POPされることがないように制御する場合、図44乃至図82を用いて説明した場合と比較して、保有アンカーバンクからの情報の消去方法、および、情報の消去のタイミング、並びに、アンカーバンク情報の追加のタイミングが異なる。   When new data is pushed, not only the currently playing GOP but also the GOP that is waiting for the display command after the decoding of the anchor frame is finished, or the GOP already included in the decoding schedule, Even when the GOP having the GOP_ID number farthest from the GOP_ID number of the currently playing GOP is controlled so as not to be POP, compared to the case described with reference to FIGS. The information erasing method, information erasing timing, and anchor bank information adding timing differ from the retained anchor bank.

このような制御を実現させるためには、保有アンカーバンクから削除される情報に対応するGOPが表示スケジュールにあるフレームを含むGOPであるか否かと、そのGOPがデコードスケジュールにあるGOPであるか否かを判断する必要がある。   In order to realize such control, whether or not the GOP corresponding to the information to be deleted from the retained anchor bank is a GOP including a frame in the display schedule, and whether or not the GOP is a GOP in the decoding schedule. It is necessary to judge whether.

そこで、保有アンカーフレームが入力された時点でデコードスケジュールは行うが、予め保有アンカーバンクに空きを作るために格納済みのデータの一部を消去しないようにして、その保有アンカーフレームのデコード時に、保有アンカーバンクの空きバンクを確保するものとする。   Therefore, the decoding schedule is performed at the time when the retained anchor frame is input, but in order to make a space in the retained anchor bank in advance, a part of the stored data is not erased, and when the retained anchor frame is decoded, An empty bank of an anchor bank shall be secured.

すなわち、図85に示されるように、保有アンカーバンクが10フレーム分設けられ、バンク1乃至バンク3には、GOP(N-1)の保有アンカーフレームに対応するベースバンド画像データが格納され、バンク4乃至バンク6には、GOP(N)の保有アンカーフレームに対応するベースバンド画像データが格納され、バンク7乃至バンク9には、GOP(N+1)の保有アンカーフレームに対応するベースバンド画像データが格納されている状態において、GOP(N−3)が供給された場合、まず、最初にデコードされる保有アンカーフレームであるI2ピクチャのデコード時に、保有アンカーバンクの空きバンクであるバンク10が確保され、デコードされて得られたI2ピクチャに対応するベースバンド画像データが格納される。   That is, as shown in FIG. 85, ten anchor banks are provided, and bank 1 to bank 3 store baseband image data corresponding to the GOP (N-1) anchor frames. 4 to Bank 6 store baseband image data corresponding to the GOP (N) possessed anchor frame, and Banks 7 to 9 store baseband image data corresponding to the GOP (N + 1) retained anchor frame. When GOP (N-3) is supplied in the stored state, first, when decoding the I2 picture that is the retained anchor frame to be decoded first, the bank 10 that is an empty bank of the retained anchor bank is secured. The baseband image data corresponding to the I2 picture obtained by decoding is stored.

このとき、GOP(N+1)に含まれているフレームであるP5ピクチャおよびB10ピクチャが表示指令を待っている状態であり、GOP(N-1)に含まれているフレームであるP8ピクチャが既にデコードスケジュールに含まれているので、GOP(N+1)および、GOP(N-1)の保有アンカーフレームに対応するベースバンド画像データは削除されない。すなわち、この状態において保有アンカーバンクから削除可能なのは、GOP(N)の保有アンカーフレームに対応するベースバンド画像データである。   At this time, P5 picture and B10 picture, which are frames included in GOP (N + 1), are waiting for a display command, and P8 picture, which is a frame included in GOP (N-1), has already been decoded. Since it is included in the schedule, the baseband image data corresponding to the GOP (N + 1) and GOP (N-1) possessed anchor frames is not deleted. That is, in this state, what can be deleted from the possessed anchor bank is baseband image data corresponding to the retained anchor frame of GOP (N).

そこで、GOP(N−3)においてI2ピクチャの次にデコードされる保有アンカーフレームであるP8ピクチャのデコード時に、保有アンカーバンクの空きバンクが確保されるので、図86に示されるように、GOP(N)の保有アンカーフレームに対応するベースバンド画像データが削除されて、バンク4乃至バンク6が空きバンクとなる。そして、デコードされて得られたP8ピクチャおよびP14ピクチャに対応するベースバンド画像データが、バンク4およびバンク5に格納される。   Therefore, when the P8 picture that is the retained anchor frame decoded next to the I2 picture is decoded in the GOP (N-3), an empty bank of the retained anchor bank is secured, so that as shown in FIG. N) baseband image data corresponding to the possessed anchor frame is deleted, and banks 4 to 6 become empty banks. Then, baseband image data corresponding to the P8 picture and the P14 picture obtained by decoding are stored in the banks 4 and 5.

このように、GOP(N+1) に含まれている保有アンカーフレームに対応するベースバンド画像データを保護して削除されないようにすることにより、GOP(N+1)に含まれる表示待ちのフレームをすぐに表示することが可能になる。   In this way, by protecting the baseband image data corresponding to the retained anchor frame included in GOP (N + 1) so that it is not deleted, the frame waiting for display included in GOP (N + 1) Can be displayed immediately.

また、図87に示されるように、保有アンカーバンクが10フレーム分設けられ、バンク1乃至バンク3には、GOP(N-1)の保有アンカーフレームに対応するベースバンド画像データが格納され、バンク4乃至バンク6には、GOP(N)の保有アンカーフレームに対応するベースバンド画像データが格納され、バンク7乃至バンク9には、GOP(N+1)の保有アンカーフレームに対応するベースバンド画像データが格納されている状態(保有アンカーバンクは上述した図85における場合と同じ状態)において、GOP(N−3)が供給された場合、まず、最初にデコードされる保有アンカーフレームであるI2ピクチャのデコード時に、保有アンカーバンクの空きバンクであるバンク10が確保され、デコードされて得られたI2ピクチャに対応するベースバンド画像データが格納される。   As shown in FIG. 87, ten owned anchor banks are provided, and bank 1 to bank 3 store baseband image data corresponding to the GOP (N-1) owned anchor frames. 4 to Bank 6 store baseband image data corresponding to the GOP (N) possessed anchor frame, and Banks 7 to 9 store baseband image data corresponding to the GOP (N + 1) retained anchor frame. When GOP (N-3) is supplied in the stored state (the retained anchor bank is the same as that in FIG. 85 described above), first, decoding of the I2 picture that is the retained anchor frame that is decoded first. Sometimes, the baseband image data corresponding to the I2 picture obtained by obtaining and decoding the bank 10 which is a vacant bank of the possessed anchor bank is secured. There are stored.

I2ピクチャに対応するベースバンド画像データが格納されるとき、GOP(N+1)に含まれているフレームであるP5ピクチャが表示指令を待ち、GOP(N-1)に含まれているフレームであるP8ピクチャが既にデコードスケジュールに含まれている状態から、GOP(N+1)に含まれているフレームであるP5ピクチャが表示され、GOP(N-1)に含まれているフレームであるP8ピクチャが表示待ち状態となった場合、GOP(N-1)の保有アンカーフレームに対応するベースバンド画像データは削除することはできないが、GOP(N)の保有アンカーフレームに対応するベースバンド画像データのみならず、GOP(N+1)の保有アンカーフレームに対応するベースバンド画像データも削除可能な状態となる。したがって、この状態において保有アンカーバンクから削除されるのは、新たに供給されたGOP(N−3)から離れたGOP_ID番号を有するGOP(N+1)である。   When baseband image data corresponding to an I2 picture is stored, a P5 picture that is a frame included in GOP (N + 1) waits for a display command, and P8 that is a frame included in GOP (N-1). From the state in which the picture is already included in the decoding schedule, the P5 picture that is the frame included in GOP (N + 1) is displayed, and the P8 picture that is the frame included in GOP (N-1) is waiting to be displayed. When it becomes a state, the baseband image data corresponding to the GOP (N-1) retained anchor frame cannot be deleted, but not only the baseband image data corresponding to the GOP (N) retained anchor frame, The baseband image data corresponding to the GOP (N + 1) possessed anchor frame can also be deleted. Therefore, in this state, the GOP (N + 1) having the GOP_ID number far from the newly supplied GOP (N−3) is deleted from the possessed anchor bank.

すなわち、保有アンカーバンクの空きを確保するタイミングが、デコード処理の直前となったため、削除可能な保有アンカーバンクを多く検出することができる可能性が高くなり、必要なフレームの表示ができなくなってしまう可能性を削減するとともに、新たに入力されたGOPの付近のGOPの保有アンカーフレームに対応するベースバンド画像データを、できるだけ保有アンカーバンクに残しておくことができるようになる。   In other words, since the timing for securing the vacant anchor bank is immediately before the decoding process, it is highly possible that many erasable retained anchor banks can be detected, and the necessary frames cannot be displayed. In addition to reducing the possibility, the baseband image data corresponding to the possessed anchor frame of the GOP in the vicinity of the newly input GOP can be left in the retained anchor bank as much as possible.

そこで、GOP(N−3)においてI2ピクチャの次にデコードされる保有アンカーフレームであるP8ピクチャのデコード時に、保有アンカーバンクの空きバンクが確保されるので、図88に示されるように、GOP(N+1)の保有アンカーフレームに対応するベースバンド画像データが削除されて、バンク7乃至バンク9が空きバンクとなるので、デコードされて得られたP8ピクチャおよびP14ピクチャに対応するベースバンド画像データが、バンク7およびバンク8に格納される。   Therefore, when the P8 picture that is the retained anchor frame decoded next to the I2 picture is decoded in the GOP (N-3), an empty bank of the retained anchor bank is secured, so that as shown in FIG. Since the baseband image data corresponding to the possessed anchor frame of (N + 1) is deleted and the banks 7 to 9 become empty banks, the baseband image data corresponding to the P8 picture and the P14 picture obtained by decoding are Stored in bank 7 and bank 8.

このように、削除可能な保有アンカーフレームに対応するGOPが複数存在した場合、図44乃至図82を用いて説明した処理と同様にして、新たに供給されたGOP(N−3)から離れたGOP_ID番号を有するGOPに含まれる保有アンカーフレームのベースバンド画像データが、保有アンカーバンクから優先的に消去されるようになされている。   In this way, when there are a plurality of GOPs corresponding to the retained anchor frames that can be deleted, the processing is separated from the newly supplied GOP (N-3) in the same manner as the processing described with reference to FIGS. The baseband image data of the retained anchor frame included in the GOP having the GOP_ID number is preferentially deleted from the retained anchor bank.

また、図44乃至図82を用いて説明した処理においては、保有アンカーフレームをGOP単位で保有アンカーバンクに書き込むため、デコード関連情報として、そのGOPに含まれるアンカーフレーム数の情報が必要であった。この場合と比較して、図85乃至図88を用いて説明した処理においては、保有アンカーフレームをGOP単位ではなくフレームごとに保有アンカーバンクに書き込むため、デコード関連情報として、そのGOPに含まれるアンカーフレーム数の情報が必要ではない。   Further, in the processing described with reference to FIGS. 44 to 82, since the retained anchor frames are written in the retained anchor bank in GOP units, information on the number of anchor frames included in the GOP is necessary as decoding related information. . Compared to this case, in the processing described with reference to FIGS. 85 to 88, since the retained anchor frame is written to the retained anchor bank for each frame instead of the GOP unit, the anchor included in the GOP is used as decoding related information. No information on the number of frames is required.

すなわち、図85乃至図88を用いて説明した処理においては、アンカーフレーム数の情報がないストリームをデコードする場合であっても、簡単な制御で、保有アンカーバンクの管理を行い、表示レスポンスを向上させるとともに、表示ができない状況が発生する可能性を低くすることが可能となる。   That is, in the processing described with reference to FIGS. 85 to 88, even when a stream without information on the number of anchor frames is decoded, the owned anchor bank is managed with simple control to improve the display response. In addition, it is possible to reduce the possibility of occurrence of a situation where display is impossible.

次に、図89のフローチャートを参照して、保有アンカーフレームが入力された時点ではデコードスケジュールを行うのみとして、予め保有アンカーバンクに空きを作るために格納済みのデータの一部を消去しないようにして、その保有アンカーフレームのデコード時に、保有アンカーバンクの空きバンクを確保するようになされている場合に、デコーダ122が実行するストリーム再生処理2について説明する。   Next, referring to the flowchart of FIG. 89, only the decoding schedule is performed when the retained anchor frame is input, and a part of the stored data is not erased in order to make a space in the retained anchor bank in advance. A stream reproduction process 2 executed by the decoder 122 when a vacant bank of the retained anchor bank is secured at the time of decoding the retained anchor frame will be described.

ステップS901において、デコーダ122のデコードコントローラ153は、入力処理部151に新たなGOPが供給されたか否かを判断する。ステップS901において、新たなGOPが供給されていないと判断された場合、処理は、ステップS904に進む。   In step S901, the decode controller 153 of the decoder 122 determines whether a new GOP has been supplied to the input processing unit 151. If it is determined in step S901 that no new GOP is supplied, the process proceeds to step S904.

ステップS902において、図90のフローチャートを用いて後述するストリーム入力時の処理2が実行される。   In step S902, the process 2 at the time of stream input, which will be described later with reference to the flowchart of FIG. 90, is executed.

ステップS903において、デコードコントローラ153は、図48を用いて説明したストリームバッファGOPキューの情報に基づいて、ストリームバッファ131−1へのストリームデータの入力を制御する。   In step S903, the decode controller 153 controls the input of stream data to the stream buffer 131-1, based on the information in the stream buffer GOP queue described with reference to FIG.

ステップS901において、新たなGOPが供給されていないと判断された場合、または、ステップS903の処理の終了後、ステップS904において、デコードコントローラ153は、表示のためのデコード処理のタイミング以外のタイミングであるか否かを基に、アンカーフレームデコード開始コマンドが供給されることにより、デコード開始が指令されたGOPのアンカーフレームのデコード処理が可能であるか否かを判断する。   If it is determined in step S901 that no new GOP is supplied, or after the processing in step S903 is completed, the decoding controller 153 has a timing other than the timing of the decoding processing for display in step S904. On the basis of whether or not the anchor frame decoding start command is supplied, it is determined whether or not the decoding process of the anchor frame of the GOP instructed to start decoding is possible.

ステップS904において、アンカーフレームのデコード処理が可能であると判断された場合、ステップS905において、デコードコントローラ153は、フレームメモリ131−3の保有アンカーバンクに、デコード開始が指令されたGOPのアンカーフレームが保持されているか否かを判断する。   If it is determined in step S904 that the anchor frame can be decoded, in step S905, the decode controller 153 determines that the anchor frame of the GOP instructed to start decoding is stored in the anchor bank of the frame memory 131-3. It is determined whether or not it is held.

ステップS905において、デコード開始が指令されたGOPのアンカーフレームが保持されていないと判断された場合、ステップS906において、デコードコントローラ153は、図91を用いて後述するアンカーフレームデコード処理を実行する。   If it is determined in step S905 that the anchor frame of the GOP instructed to start decoding is not held, in step S906, the decode controller 153 performs anchor frame decoding processing to be described later with reference to FIG.

ステップS904において、アンカーフレームのデコード処理が可能ではないと判断された場合、ステップS905において、デコード開始が指令されたGOPのアンカーフレームが保持されていると判断された場合、または、ステップS906の処理の終了後、ステップS907において、デコードコントローラ153は、CPU121から供給される制御信号に基づいて、いずれかのフレームの出力が要求されたか否かを判断する。   If it is determined in step S904 that the anchor frame cannot be decoded, if it is determined in step S905 that the anchor frame of the GOP instructed to start decoding is held, or the process in step S906 In step S907, the decode controller 153 determines whether output of any frame is requested based on the control signal supplied from the CPU 121.

ステップS907において、いずれかのフレームの出力が要求されたと判断された場合、ステップS908において、図60乃至図62または図68乃至図70を用いて説明した出力処理が実行される。   If it is determined in step S907 that output of any frame has been requested, the output processing described with reference to FIGS. 60 to 62 or 68 to 70 is executed in step S908.

ステップS907において、いずれかのフレームの出力が要求されなかったと判断された場合、または、ステップS908の処理の終了後、ステップS909において、デコードコントローラ153は、入力処理部151へのストリームの供給が終了されたか否かを判断する。ステップS909において、ストリームの供給が終了されていないと判断された場合、処理は、ステップS901に戻り、それ以降の処理が繰り返される。   If it is determined in step S907 that output of any frame has not been requested, or after the processing in step S908 is completed, the decoding controller 153 finishes supplying the stream to the input processing unit 151 in step S909. It is judged whether it was done. If it is determined in step S909 that the supply of the stream has not been completed, the process returns to step S901, and the subsequent processes are repeated.

ステップS909において、ストリームの供給が終了されたと判断された場合、ステップS910において、デコードコントローラ153は、供給されたストリームの再生処理が終了されたか否かを判断する。ステップS910において、供給されたストリームの再生処理が終了されていないと判断された場合、処理は、ステップS904に戻り、それ以降の処理が繰り返される。ステップS910において、供給されたストリームの再生処理が終了されたと判断された場合、処理は終了される。   If it is determined in step S909 that the supply of the stream has been completed, in step S910, the decode controller 153 determines whether the reproduction process of the supplied stream has been completed. If it is determined in step S910 that the supplied stream reproduction process has not been completed, the process returns to step S904, and the subsequent processes are repeated. If it is determined in step S910 that the reproduction process for the supplied stream has been completed, the process ends.

このような処理により、デコーダ122において、転送されたGOPに含まれるアンカーフレームのうちの少なくとも一部である保有アンカーフレームが優先的にデコードされるので、いずれかのフレームの出力が指令された場合に必要なデコード枚数を減少することができ、レスポンスが向上するとともに、全てのアンカーフレームを予めデコードしてメモリバンクに保持しておく場合と比較して、少ないメモリ容量で、できるだけ広い範囲のランダム再生やスクラブ再生、または、短い区間で正方向と逆方向の再生を連続して指令するトランジェント再生などの表示レスポンスを向上させるようにすることができ、更に、表示ができない状況が発生する可能性を低くすることが可能となる。また、デコード関連情報にアンカーバンク数が含まれていない場合においても、このような制御を実行することが可能となる。   By such processing, the decoder 122 preferentially decodes the retained anchor frame that is at least a part of the anchor frames included in the transferred GOP. As a result, the number of decodes required for the process can be reduced, the response is improved, and a random range of as wide a range as possible with a smaller memory capacity than when all the anchor frames are pre-decoded and held in the memory bank. Display response such as playback, scrub playback, or transient playback that continuously commands forward and reverse playback in a short section can be improved, and there is a possibility that a situation in which display cannot be performed may occur. Can be lowered. Even when the number of anchor banks is not included in the decoding related information, such control can be executed.

次に、図90のフローチャートを参照して、図89のステップS902において実行されるストリーム入力時の処理2について説明する。   Next, referring to the flowchart in FIG. 90, the process 2 at the time of stream input executed in step S902 in FIG. 89 will be described.

ステップS931において、デコーダ122のデコードコントローラ153は、入力処理部151に入力されたピクチャはIピクチャまたはPピクチャであるか否かを判断する。ステップS931において、入力されたピクチャはIピクチャまたはPピクチャではないと判断された場合、処理は、後述するステップS933に進む。   In step S931, the decode controller 153 of the decoder 122 determines whether the picture input to the input processing unit 151 is an I picture or a P picture. If it is determined in step S931 that the input picture is not an I picture or a P picture, the process proceeds to step S933 described below.

ステップS931において、入力されたピクチャはIピクチャまたはPピクチャではあると判断された場合、ステップS932において、図58を用いて説明したアンカーフレームデコードスケジュール処理が実行される。   If it is determined in step S931 that the input picture is an I picture or a P picture, the anchor frame decoding schedule process described with reference to FIG. 58 is executed in step S932.

ステップS931において、入力されたピクチャはIピクチャまたはPピクチャではない、すなわち、入力されたピクチャはBピクチャであると判断された場合、または、ステップ632の処理の終了後、ステップS933において、図59を用いて説明したストリームバッファGOPキューを利用したピクチャの管理処理が実行される。   If it is determined in step S931 that the input picture is not an I picture or a P picture, that is, the input picture is a B picture, or after the process of step 632 ends, in step S933, the process proceeds to FIG. A picture management process using the stream buffer GOP queue described with reference to FIG.

そして、ステップS934において、デコードコントローラ153は、入力処理部151に入力されたピクチャはGOPの最後のピクチャであるか否かを判断する。ステップS935において、入力されたピクチャはGOPの最後のピクチャではないと判断された場合、処理は、ステップS931に戻り、それ以降の処理が繰り返される。ステップS934において、入力されたピクチャはGOPの最後のピクチャであると判断された場合、処理は、図89のステップS902に戻り、ステップS903に進む。   In step S934, the decode controller 153 determines whether the picture input to the input processing unit 151 is the last picture of the GOP. If it is determined in step S935 that the input picture is not the last picture of the GOP, the process returns to step S931, and the subsequent processes are repeated. If it is determined in step S934 that the input picture is the last picture of the GOP, the process returns to step S902 in FIG. 89 and proceeds to step S903.

このようにして、ストリームの入力時においては、アンカーフレームのデコード処理と、ストリームバッファGOPキューによるピクチャの管理処理のみが実行され、保有アンカーバンク管理処理は実行されない。   In this way, at the time of stream input, only the anchor frame decoding process and the picture management process by the stream buffer GOP queue are executed, and the owned anchor bank management process is not executed.

次に、図91のフローチャートを参照して、図89のステップS906において実行される、アンカーフレームデコード処理について説明する。   Next, the anchor frame decoding process executed in step S906 in FIG. 89 will be described with reference to the flowchart in FIG.

ステップS951において、デコードコントローラ153は、保有アンカーバンクに空きがあるか否かを判断する。ステップS951において、保有アンカーバンクに空きがあると判断された場合、処理は、後述するステップS960に進む。   In step S951, the decode controller 153 determines whether or not the possessed anchor bank is empty. If it is determined in step S951 that the retained anchor bank is empty, the process proceeds to step S960 described below.

ステップS951において、保有アンカーバンクに空きがないと判断された場合、ステップS952において、デコードコントローラ153は、保有アンカーバンクに保持されているGOPを全て調べたか否かを判断する。ステップS952において、保有アンカーバンクに保持されているGOPを全て調べたと判断された場合、処理は、後述するステップS958に進む。   If it is determined in step S951 that there is no vacancy in the retained anchor bank, in step S952, the decode controller 153 determines whether or not all GOPs retained in the retained anchor bank have been examined. If it is determined in step S952 that all GOPs held in the retained anchor bank have been examined, the process proceeds to step S958 described later.

ステップS952において、保有アンカーバンクに保持されているGOPを全て調べていないと判断された場合、ステップS953において、デコードコントローラ153は、保有アンカーバンクに保持されているGOPのうち、まだ削除可能か否かを調べていないGOPを1つ抽出する。   If it is determined in step S952 that all the GOPs held in the retained anchor bank have not been examined, in step S953, the decode controller 153 determines whether the GOP retained in the retained anchor bank can still be deleted. Extract one GOP that has not been checked.

ステップS954において、デコードコントローラ153は、そのGOPは、デコードスケジュールに含まれているフレームを含むGOPであるか否かを判断する。ステップS954において、デコードスケジュールに含まれているフレームを含むGOPであると判断された場合、処理は、ステップS952に戻り、それ以降の処理が繰り返される。   In step S954, the decode controller 153 determines whether the GOP is a GOP including a frame included in the decode schedule. If it is determined in step S954 that the GOP includes a frame included in the decoding schedule, the process returns to step S952, and the subsequent processes are repeated.

ステップS954において、デコードスケジュールに含まれているフレームを含むGOPではないと判断された場合、ステップS955において、デコードコントローラ153は、そのGOPは、表示予定のフレームを含むGOPであるか否かを判断する。ステップS955において、表示予定のフレームを含むGOPであると判断された場合、処理は、ステップS952に戻り、それ以降の処理が繰り返される。   If it is determined in step S954 that the GOP does not include a frame included in the decode schedule, the decode controller 153 determines in step S955 whether or not the GOP is a GOP including a frame to be displayed. To do. If it is determined in step S955 that the GOP includes a frame scheduled to be displayed, the process returns to step S952, and the subsequent processes are repeated.

ステップS955において、表示予定のフレームを含むGOPではないと判断された場合、ステップS956において、デコードコントローラ153は、そのGOPは、デコードスケジュールに含まれているフレームを含むGOPおよび表示予定のフレームを含むGOPを除いたうち、次に供給されるGOPと最も遠い位置に配置されているGOPであるか否かを判断する。ステップS956において、次に供給されるGOPと最も遠い位置に配置されているGOPではないと判断された場合、処理は、ステップS952に戻り、それ以降の処理が繰り返される。   If it is determined in step S955 that the GOP does not include the display-scheduled frame, in step S956, the decode controller 153 includes the GOP including the frame included in the decode schedule and the display-scheduled frame. Among the GOPs, it is determined whether the GOP is located farthest from the next GOP to be supplied. If it is determined in step S956 that the GOP is not located farthest from the next supplied GOP, the process returns to step S952, and the subsequent processes are repeated.

ステップS956において、次に供給されるGOPと最も遠い位置に配置されているGOPであると判断された場合、ステップS957において、デコードコントローラ153は、そのGOPを、保有アンカーバンクから削除されるベースバンド画像データに対応するGOPとして決定する。   If it is determined in step S956 that the GOP is located farthest from the next GOP to be supplied, in step S957, the decode controller 153 deletes the GOP from the owned anchor bank. It is determined as a GOP corresponding to image data.

ステップS952において、保有アンカーバンクに保持されているGOPを全て調べたと判断された場合、ステップS958において、デコードコントローラ153は、削除されるGOPが存在したか否かを判断する。ステップS958において、削除されるGOPが存在しなかったと判断された場合、処理は、図89のステップS906に戻り、ステップS907に進む。   If it is determined in step S952 that all GOPs held in the retained anchor bank have been examined, in step S958, the decode controller 153 determines whether there is a GOP to be deleted. If it is determined in step S958 that there is no GOP to be deleted, the process returns to step S906 in FIG. 89 and proceeds to step S907.

すなわち、デコードスケジュールに含まれているフレームを含むGOPおよび表示予定のフレームを含むGOPに含まれる保有アンカーフレームに対応するベースバンド画像データが保有アンカーバンクから削除された場合、すぐに再生出力がフリーズしてしまう可能性が発生するが、保有アンカーフレームのデコード処理は、予め実行されるものであるので、このタイミングではデコード処理を実行することなく、次のタイミングで実行するものとしても、再生出力に影響を及ぼさない可能性がある。そこで、削除可能なアンカーバンクが存在しなかった場合、保有アンカーフレームのデコード処理は実行されないようになされている。   In other words, if the baseband image data corresponding to the retained anchor frame included in the GOP including the frame included in the decoding schedule and the GOP including the frame to be displayed is deleted from the retained anchor bank, the playback output is immediately frozen. However, since the retained anchor frame decoding process is executed in advance, the decoding output is not executed at this timing. May not be affected. Therefore, when there is no anchor bank that can be deleted, the retained anchor frame is not decoded.

ステップS958において、削除されるGOPが存在したと判断された場合、ステップS959において、デコードコントローラ153は、削除されるGOPとして決定されたGOPに含まれる保有アンカーフレームに対応するベースバンド画像データを保有アンカーバンクから削除する。   If it is determined in step S958 that there is a GOP to be deleted, in step S959, the decode controller 153 stores the baseband image data corresponding to the retained anchor frame included in the GOP determined as the GOP to be deleted. Delete from anchor bank.

ステップS951において、保有アンカーバンクに空きがあると判断された場合、または、ステップS959の処理の終了後、ステップS960において、デコードコントローラ153は、保有アンカーバンクの空き領域を1バンク確保する。   If it is determined in step S951 that there is a vacancy in the retained anchor bank, or after the processing in step S959 is completed, in step S960, the decode controller 153 reserves a vacant area in the retained anchor bank.

ステップS961において、デコードコントローラ153は、確保されたアンカーバンクを割り当て、アンカーフレームをデコードし、処理は、図89のステップS906に戻り、ステップS907に進む。   In step S961, the decode controller 153 allocates the secured anchor bank, decodes the anchor frame, and the process returns to step S906 in FIG. 89 and proceeds to step S907.

このようにして、保有アンカーフレームのデコード処理の直前に、1フレームごとに保有アンカーバンクを確保する処理が実行され、デコードスケジュールに含まれているフレームを含むGOPおよび表示予定のフレームを含むGOP以外のGOPが存在した場合、そのGOPに含まれる保有アンカーフレームに対応するベースバンド画像データが削除されるようになされている。   In this way, immediately before the decoding process of the retained anchor frame, a process for securing the retained anchor bank is executed for each frame, and other than the GOP including the frame included in the decoding schedule and the frame scheduled to be displayed. When the GOP exists, the baseband image data corresponding to the retained anchor frame included in the GOP is deleted.

したがって、デコード処理において表示レスポンスが向上するとともに、表示ができない状況が発生する可能性が低くなる。また、デコードされるストリームに付随される情報はGOP_IDのみでよいため、デコードされるストリームに対して付加情報を取得するための解析処理を削減することが可能となる。   Accordingly, the display response is improved in the decoding process, and the possibility that a situation in which display cannot be performed occurs is reduced. Further, since the information attached to the stream to be decoded need only be GOP_ID, it is possible to reduce the analysis processing for acquiring additional information for the stream to be decoded.

以上説明した処理においては、HDD16に記録されている圧縮符号化データに対して、HDD16から読み出すデータとして有効であるか否かを示す読み出し用のフラグ群、デコードのスケジューリングにおいて有効であるか否かを示すデコード用のフラグ群、デコードされたデータを表示するスケジューリングにおいて有効であるか否かを示す表示用のフラグ群等をメタデータとして適宜設け、一連のフラグ群を再生速度・方向に応じて自動的に更新することによりスケジューリングを管理することも可能である。   In the above-described processing, a flag group for reading indicating whether or not the compressed encoded data recorded in the HDD 16 is valid as data to be read from the HDD 16, and whether or not it is effective in decoding scheduling. Decoding flag group indicating display, flag group for display indicating whether or not it is effective in scheduling for displaying decoded data, etc. are appropriately provided as metadata, and a series of flag groups are set according to playback speed and direction. It is also possible to manage scheduling by updating automatically.

このとき、過去の可変速再生処理に用いた一連のスケジューリング、フラグ群の更新情報を、別途スケジューリングのメタデータ(履歴情報)として管理することも可能であり、必要に応じて、圧縮符号化データ中にシンタックスとして記述したり、記録媒体であるHDD16等に別途記録したりしても良い。   At this time, it is also possible to manage a series of scheduling and flag group update information used in the past variable-speed playback processing as separate scheduling metadata (history information). It may be described as syntax inside or separately recorded on the HDD 16 or the like as a recording medium.

また、デコーダ数、バンク数、デコーダID等をメタデータ(構成履歴情報)として管理することも可能である。さらに、再生速度、再生方向等をメタデータ(再生履歴情報)として管理することも可能である。このとき、これらメタデータを、必要に応じて圧縮符号化データ中にシンタックスとして記述したり、記録媒体であるHDD16等に別途記録したりしても良い。   Also, the number of decoders, the number of banks, the decoder ID, and the like can be managed as metadata (configuration history information). Furthermore, it is possible to manage the playback speed, playback direction, and the like as metadata (playback history information). At this time, these metadata may be described as syntax in the compressed and encoded data as needed, or may be separately recorded on the HDD 16 or the like as a recording medium.

このようなメタデータ(履歴情報)を参照することにより、過去に行われたスケジューリング処理を再利用することができ、更に正確に高速にスケジューリング処理を実行することが可能となる。   By referring to such metadata (history information), scheduling processing performed in the past can be reused, and scheduling processing can be executed more accurately and at high speed.

なお、このようなメタデータは、例えば、データベースとして外部装置で管理するような構成にしてもよい。   Note that such metadata may be managed by an external device as a database, for example.

なお、上述の実施の形態においては、デコーダ22乃至デコーダ24、または、デコーダ122が、HDD16に記録されている圧縮符号化データを、完全にデコードしない(中途段階までデコードする)場合においても、本発明は適用可能である。   In the above-described embodiment, even when the decoder 22 to decoder 24 or the decoder 122 does not completely decode the compressed encoded data recorded in the HDD 16 (decodes halfway), The invention is applicable.

具体的には、例えば、デコーダ22乃至デコーダ24、または、デコーダ122が、可変長符号に対する復号および逆量子化のみを行い、逆DCT変換を実行しない場合や、逆量子化を行うが可変長符号に対する復号を行わない場合などにおいても、本発明を適用することができる。このような場合、例えば、デコーダ22乃至デコーダ24、または、デコーダ122は、例えば、符号化処理および復号処理においてどの段階(例えば逆量子化の段階)まで処理が行われたかを示す履歴情報を必要に応じて生成し、不完全に復号されたデータに対応付けて出力することができるようにしても良い。   Specifically, for example, when the decoder 22 to the decoder 24 or the decoder 122 only performs decoding and inverse quantization on the variable length code and does not perform the inverse DCT transform, or performs the inverse quantization but the variable length code. The present invention can be applied even when decoding is not performed for. In such a case, for example, the decoder 22 to the decoder 24 or the decoder 122 needs history information indicating, for example, up to which stage (for example, the inverse quantization stage) in the encoding process and the decoding process. May be generated in accordance with the data and output in association with incompletely decoded data.

さらに、上述の実施の形態においては、HDD16に、不完全に符号化されたデータ(例えば、DCT変換および量子化が行われているが、可変長符号化処理が行われていないデータなど)と、必要に応じて、符号化処理および復号処理の履歴情報が記憶されており、デコーダ22乃至デコーダ24、または、デコーダ122が、CPU20またはCPU121の制御に基づいて、供給された不完全に符号化されたデータをデコードし、ベースバンド信号に変換することができるような場合においても、本発明は適用可能である。   Further, in the above-described embodiment, incompletely encoded data (for example, data that has been subjected to DCT transform and quantization but not subjected to variable length encoding processing) is stored in the HDD 16. The history information of the encoding process and the decoding process is stored as necessary, and the decoder 22 to the decoder 24 or the decoder 122 performs the incomplete encoding supplied based on the control of the CPU 20 or the CPU 121. The present invention can also be applied to a case where decoded data can be decoded and converted into a baseband signal.

具体的には、デコーダ22乃至デコーダ24、または、デコーダ122が、例えば、DCT変換および量子化が行われているが、可変長符号化処理が行われていない不完全に符号化されたデータに対して、逆DCT変換および逆量子化のみを行い、可変長符号に対する復号は実行しない場合などにおいても、本発明を適用することができる。   Specifically, the decoder 22 to the decoder 24 or the decoder 122 performs, for example, incompletely encoded data that has been subjected to DCT conversion and quantization but not subjected to variable length encoding processing. On the other hand, the present invention can be applied even when only inverse DCT transform and inverse quantization are performed and decoding with respect to a variable length code is not performed.

また、このような場合、例えば、CPU20またはCPU121は、不完全に符号化されたデータに対応付けられてHDD16に記憶されている符号化処理および復号処理の履歴情報を取得し、これらの情報に基づいて、デコーダ22乃至デコーダ24、または、デコーダ122によるデコードのスケジューリングを行うことができるようにしても良い。   In such a case, for example, the CPU 20 or the CPU 121 acquires the history information of the encoding process and the decoding process stored in the HDD 16 in association with the incompletely encoded data, and stores these information in the information. Based on this, it may be possible to perform decoding scheduling by the decoders 22 to 24 or the decoder 122.

さらに、上述の実施の形態においては、HDD16に、不完全に符号化されたデータと、必要に応じて、符号化処理および復号処理の履歴情報が記憶されており、デコーダ22乃至デコーダ24、または、デコーダ122が、CPU20またはCPU121の制御に基づいて、供給された不完全に符号化されたデータを完全にデコードしない(中途段階までデコードする)場合においても、本発明は適用可能である。   Further, in the above-described embodiment, the HDD 16 stores incompletely encoded data and, if necessary, history information of the encoding process and the decoding process. The present invention can be applied even when the decoder 122 does not completely decode the supplied incompletely encoded data (decodes halfway) based on the control of the CPU 20 or the CPU 121.

また、このような場合も、例えば、CPU20またはCPU121は、不完全に符号化されたデータに対応付けられてHDD16に記憶されている符号化処理および復号処理の履歴情報を取得し、これらの情報に基づいて、デコーダ22乃至デコーダ24、または、デコーダ122によるデコードのスケジューリングを行うことができるようにしても良い。更に、この場合においても、デコーダ22乃至デコーダ24、または、デコーダ122は、符号化処理および復号処理の履歴情報を必要に応じて生成し、不完全に復号されたデータに対応付けて出力することができるようにしても良い。   Also in such a case, for example, the CPU 20 or the CPU 121 acquires the history information of the encoding process and the decoding process stored in the HDD 16 in association with the incompletely encoded data, and these information Based on the above, decoding scheduling by the decoders 22 to 24 or the decoder 122 may be performed. Further in this case, the decoder 22 to decoder 24 or the decoder 122 generates history information of the encoding process and the decoding process as necessary, and outputs the history information in association with the incompletely decoded data. You may be able to.

換言すれば、デコーダ22乃至デコーダ24、または、デコーダ122が、CPU20またはCPU121の制御に基づいて、部分的な復号を行う(復号処理の工程のうちの一部を実行する)場合においても、本発明は適用可能であり、CPU20またはCPU121は、不完全に符号化されたデータに対応付けてHDD16に記憶されている符号化処理および復号処理の履歴情報を取得し、これらの情報に基づいて、デコーダ22乃至デコーダ24、または、デコーダ122によるデコードのスケジューリングを行うことができ、デコーダ22乃至デコーダ24、または、デコーダ122は、符号化処理および復号処理の履歴情報を必要に応じて生成し、不完全に復号されたデータに対応付けて出力することができるようにしても良い。   In other words, even when the decoder 22 to the decoder 24 or the decoder 122 performs partial decoding (performs a part of the decoding process) based on the control of the CPU 20 or the CPU 121, The invention is applicable, and the CPU 20 or the CPU 121 acquires the history information of the encoding process and the decoding process stored in the HDD 16 in association with the incompletely encoded data, and based on these information, Decoding scheduling can be performed by the decoder 22 to the decoder 24 or the decoder 122. The decoder 22 to the decoder 24 or the decoder 122 generates the history information of the encoding process and the decoding process as necessary, You may enable it to output corresponding to the completely decoded data.

更に、HDD16には、圧縮符号化されたストリームデータに対応付けて、更に、符号化処理および復号処理の履歴情報を記録するようにしても良く、CPU20またはCPU121は、圧縮符号化されたストリームデータのデコードのスケジューリングを、符号化処理および復号処理の履歴情報に基づいて行うようにしても良い。さらに、デコーダ22乃至デコーダ24、または、デコーダ122が、CPU20またはCPU121の制御に基づいて、圧縮符号化されたストリームデータをデコードして、ベースバンド信号に変換することができるような場合においても、符号化処理および復号処理の履歴情報を必要に応じて生成し、ベースバンド信号に対応付けて出力することができるようにしても良い。   Further, the history information of the encoding process and the decoding process may be further recorded in the HDD 16 in association with the compression encoded stream data, and the CPU 20 or the CPU 121 may store the compressed encoded stream data. The decoding scheduling may be performed based on the history information of the encoding process and the decoding process. Furthermore, even when the decoder 22 to the decoder 24 or the decoder 122 can decode the stream data that has been compression-coded based on the control of the CPU 20 or the CPU 121 and convert it into a baseband signal, The history information of the encoding process and the decoding process may be generated as necessary, and may be output in association with the baseband signal.

なお、上述の実施の形態においては、再生装置が、それぞれ、複数または1つのデコーダを有しているものとして説明したが、デコーダが、それぞれ、独立した装置として構成されている場合においても、本発明は適用可能である。   In the above-described embodiment, the description has been given on the assumption that each playback device has a plurality of or one decoder. However, even when the decoders are configured as independent devices, The invention is applicable.

このとき、独立した装置として構成されているデコーダは、圧縮符号化データの供給を受けてこれを復号し、表示または出力するのみならず、上述した場合と同様にして、圧縮符号化データの供給を受け、中途段階まで部分的に復号して、符号化および復号の履歴情報とともに外部に出力したり、部分的に符号化されたデータの供給を受け、復号処理を行い、ベースバンド信号に変換して外部に出力したり、部分的に符号化されたデータの供給を受け、中途段階まで部分的に復号して、符号化および復号の履歴情報とともに外部に出力するようにしても良い。   At this time, the decoder configured as an independent device receives the compressed encoded data, decodes it, displays or outputs it, and supplies the compressed encoded data in the same manner as described above. Received, partially decoded up to the middle stage, output to the outside along with encoding and decoding history information, or supplied with partially encoded data, decoded, and converted to a baseband signal Then, the data may be output to the outside, supplied with partially encoded data, partially decoded up to an intermediate stage, and output to the outside together with encoding and decoding history information.

さらに、上述の実施の形態においては、CPU11およびCPU20またはCPU121がそれぞれ別の形態で構成されているが、CPUの構成は、これに限らず、例えば、CPU11およびCPU20またはCPU121を、再生装置1または再生装置101全体を制御する1つのCPUとして構成する形態も考えられる。また、CPU11およびCPU20またはCPU121がそれぞれ独立して構成されている場合であっても、CPU11およびCPU20またはCPU121を1つのチップとして構成するようにしてもよい。   Furthermore, in the above-described embodiment, the CPU 11 and the CPU 20 or the CPU 121 are configured in different forms, but the configuration of the CPU is not limited to this. For example, the CPU 11 and the CPU 20 or the CPU 121 are connected to the playback device 1 or A configuration in which the CPU is configured as one CPU that controls the entire playback apparatus 101 is also conceivable. Further, even when the CPU 11 and the CPU 20 or the CPU 121 are independently configured, the CPU 11 and the CPU 20 or the CPU 121 may be configured as one chip.

更に、CPU11およびCPU20またはCPU121がそれぞれ独立して構成されている場合、上述の実施の形態においてCPU11が実行した処理の少なくとも一部を、例えば、時分割で、CPU20またはCPU121が実行することができるようにしたり、CPU20またはCPU121が実行した処理の少なくとも一部を、例えば、時分割で、CPU11が実行することができるようにしてもよい。すなわち、CPU11およびCPU20またはCPU121には、分散処理が可能なプロセッサを用いるようにしても良い。   Further, when the CPU 11 and the CPU 20 or the CPU 121 are configured independently, at least a part of the processing executed by the CPU 11 in the above-described embodiment can be executed by the CPU 20 or the CPU 121, for example, in a time division manner. Alternatively, at least a part of the processing executed by the CPU 20 or the CPU 121 may be executed by the CPU 11 in a time division manner, for example. That is, a processor capable of distributed processing may be used for the CPU 11 and the CPU 20 or the CPU 121.

また、例えば、再生装置1をネットワークに接続可能な構成とし、上述の実施の形態において、CPU11またはCPU20またはCPU121が実行した処理の少なくとも一部を、ネットワークを介して接続されている他の装置のCPUにおいて実行させることができるようにしても良い。   Further, for example, the playback device 1 is configured to be connectable to a network, and in the above-described embodiment, at least a part of the processing executed by the CPU 11, CPU 20, or CPU 121 is performed by another device connected via the network. It may be configured to be executed by the CPU.

同様に、上述の実施の形態においては、メモリ13およびメモリ21がそれぞれ別の形態で構成されているが、これに限らず、メモリ13およびメモリ21を、再生装置1において1つのメモリとして構成する形態も考えられる。   Similarly, in the above-described embodiment, the memory 13 and the memory 21 are configured in different forms. However, the present invention is not limited to this, and the memory 13 and the memory 21 are configured as one memory in the playback device 1. Forms are also conceivable.

さらに、上述の実施の形態においては、HDD16、デコーダ22乃至デコーダ24、または、デコーダ122などのモジュールを、それぞれ、ブリッジおよびバスを介して接続し、再生装置として一体化されている場合について述べたが、本発明はこれに限らず、例えば、これらの構成要素のうちの一部が、外部から有線または無線で接続される場合や、これらの構成要素が、この他、種々の接続形態で相互に接続される場合にも適用することができる。   Furthermore, in the above-described embodiment, a case has been described in which modules such as the HDD 16, the decoder 22 to the decoder 24, or the decoder 122 are connected via a bridge and a bus and integrated as a playback device. However, the present invention is not limited to this, for example, when some of these components are connected from the outside by wire or wirelessly, or these components are mutually connected in various connection forms. It can also be applied to the case where it is connected to.

なお、ここでは、コーディックの方式として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 of performing codec processing with frame correlation. 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.

上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した処理は、図92に示されるようなパーソナルコンピュータ201により実行される。   The series of processes described above can be executed by hardware or can be executed by software. In this case, the processing described above is executed by a personal computer 201 as shown in FIG.

図92において、CPU(Central Processing Unit)211は、ROM(Read Only Memory)212に記憶されているプログラム、または、記憶部218からRAM(Random Access Memory)213にロードされたプログラムに従って各種の処理を実行する。RAM213にはまた、CPU211が各種の処理を実行する上において必要なデータなどが適宜記憶される。   In FIG. 92, 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 storage unit 218 to a RAM (Random Access Memory) 213. Execute. The RAM 213 also appropriately stores data necessary for the CPU 211 to execute various processes.

CPU211、ROM212、およびRAM213は、内部バス214を介して相互に接続されている。この内部バス214にはまた、入出力インターフェース215も接続されている。   The CPU 211, ROM 212, and RAM 213 are connected to each other via an internal bus 214. An input / output interface 215 is also connected to the internal bus 214.

入出力インターフェース215には、キーボード、マウスなどよりなる入力部216、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部217、ハードディスクなどより構成される記憶部218、並びに、モデム、ターミナルアダプタなどより構成される通信部219が接続されている。通信部219は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。   The input / output interface 215 includes an input unit 216 including a keyboard and a mouse, a display including a CRT and an LCD, an output unit 217 including a speaker, a storage unit 218 including a hard disk, a modem, a terminal adapter, and the like A communication unit 219 is connected. The communication unit 219 performs communication processing via various networks including a telephone line and CATV.

入出力インターフェース215にはまた、必要に応じてドライブ220が接続され、磁気ディスク231(フレキシブルディスクを含む)、光ディスク232(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク233(MD(Mini-Disk)(商標)を含む)、もまたは、半導体メモリ234などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部218にインストールされる。   A drive 220 is connected to the input / output interface 215 as necessary, and a magnetic disk 231 (including a flexible disk), an optical disk 232 (CD-ROM (Compact Disk-Read Only Memory), DVD (Digital Versatile Disk)) A magneto-optical disk 233 (including MD (Mini-Disk) (trademark)), or a semiconductor memory 234 or the like is appropriately mounted, and a computer program read therefrom is stored in the storage unit 218 as necessary. Installed.

一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。   When a series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.

この記録媒体は、図92に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク231、光ディスク232、光磁気ディスク233、または、半導体メモリ234などよりなるパッケージメディアなどにより構成される。   As shown in FIG. 92, this recording medium is distributed to provide a program to the user separately from the computer. The magnetic disk 231, the optical disk 232, the magneto-optical disk 233, or the semiconductor on which the program is recorded is distributed. It is configured by a package medium including a memory 234 and the like.

また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   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.

なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。   In the present specification, the term “system” represents the entire apparatus constituted by a plurality of apparatuses.

さらに、上述の実施の形態においては、圧縮されたストリームデータがHDD16に記憶されている場合について述べたが、本発明はこれに限らず、例えば、光ディスク、光磁気ディスク、半導体メモリ、磁気ディスク等の種々の記録媒体に記録されたストリームデータをデコードする場合にも適用することができる。   Furthermore, in the above-described embodiment, the case where the compressed stream data is stored in the HDD 16 has been described. However, the present invention is not limited to this, and for example, an optical disk, a magneto-optical disk, a semiconductor memory, a magnetic disk, etc. The present invention can also be applied to the case of decoding stream data recorded on various recording media.

なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。   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.

再生装置の構成を示すブロック図である。It is a block diagram which shows the structure of the reproducing | regenerating apparatus. 図1のデコーダの詳細な構成を示すブロック図である。FIG. 2 is a block diagram illustrating a detailed configuration of a decoder in FIG. 1. 制御処理について説明するためのフローチャートである。It is a flowchart for demonstrating a control process. フレームごとに行う処理1について説明するためのフローチャートである。It is a flowchart for demonstrating the process 1 performed for every flame | frame. 入力ストリーム状態変更処理について説明するためのフローチャートである。It is a flowchart for demonstrating an input stream state change process. デコードスケジュール処理1について説明するためのフローチャートである。10 is a flowchart for explaining decode schedule processing 1; MPEG LONG GOPについて説明するための図である。It is a figure for demonstrating MPEG LONG GOP. 1つのデコーダでデコードが行われる処理単位について説明するための図である。It is a figure for demonstrating the processing unit in which decoding is performed by one decoder. 入力ピクチャキューに蓄積される情報について説明するための図である。It is a figure for demonstrating the information accumulate | stored in an input picture queue. 表示順情報キューに蓄積される情報について説明するための図である。It is a figure for demonstrating the information accumulate | stored in a display order information queue. I/Pピクチャデコードキューに蓄積される情報について説明するための図である。It is a figure for demonstrating the information accumulate | stored in an I / P picture decoding queue. 表示順設定キューに蓄積される情報について説明するための図である。It is a figure for demonstrating the information accumulate | stored in a display order setting queue. デコードと表示のタイミングについて説明するための図である。It is a figure for demonstrating the timing of a decoding and a display. デコードと表示のタイミングについて説明するための図である。It is a figure for demonstrating the timing of a decoding and a display. 入力処理について説明するためのフローチャートである。It is a flowchart for demonstrating an input process. 表示位相決定処理について説明するためのフローチャートである。It is a flowchart for demonstrating a display phase determination process. 時間情報付きスケジュール決定処理について説明するためのフローチャートである。It is a flowchart for demonstrating the schedule determination process with time information. フレーム制御処理1について説明するためのフローチャートである。5 is a flowchart for explaining frame control processing 1; IピクチャおよびPピクチャデコード処理について説明するためのフローチャートである。It is a flowchart for demonstrating an I picture and P picture decoding process. Bピクチャデコード処理について説明するためのフローチャートである。It is a flowchart for demonstrating a B picture decoding process. デコードと表示のスケジュールについて説明するための図である。It is a figure for demonstrating the schedule of a decoding and a display. デコードと表示のスケジュールについて説明するための図である。It is a figure for demonstrating the schedule of a decoding and a display. 間引き処理1について説明するためのフローチャートである。5 is a flowchart for explaining a thinning process 1; 時間情報再設定処理について説明するためのフローチャートである。It is a flowchart for demonstrating a time information reset process. 2倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。It is a figure for demonstrating the schedule of the decoding after thinning | decimation in the case of 2 times speed, and a display. −2倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。FIG. 10 is a diagram for explaining a decoding and display schedule after thinning in the case of −2 times speed. 4倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。It is a figure for demonstrating the schedule of the decoding after thinning | decimation in the case of 4 times speed, and a display. −4倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。FIG. 6 is a diagram for explaining a decoding and display schedule after thinning in the case of -4 × speed. 5倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。It is a figure for demonstrating the schedule of the decoding after a thinning | decimation in the case of 5 times speed, and a display. −5倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。It is a figure for demonstrating the schedule of the decoding after thinning | decimation in the case of -5 times speed, and a display. 通常再生時のバンク管理について説明するための図である。It is a figure for demonstrating the bank management at the time of normal reproduction | regeneration. 2倍速再生時のバンク管理について説明するための図である。It is a figure for demonstrating the bank management at the time of double speed reproduction | regeneration. −1倍速再生時のバンク管理について説明するための図である。It is a figure for demonstrating the bank management at the time of -1 time-speed reproduction | regeneration. −2倍速再生時のバンク管理について説明するための図である。It is a figure for demonstrating the bank management at the time of -2 speed reproduction | regeneration. アンダーフロー処理について説明するためのフローチャートである。It is a flowchart for demonstrating an underflow process. アンダーフローが発生していない場合の時間カウンタについて説明するための図である。It is a figure for demonstrating the time counter when the underflow has not generate | occur | produced. アンダーフローが発生した場合の時間カウンタの修正について説明するための図である。It is a figure for demonstrating correction of the time counter when an underflow generate | occur | produces. 1フレームディレイ処理について説明するためのフローチャートである。It is a flowchart for demonstrating 1 frame delay processing. フレームごとに行う処理2について説明するためのフローチャートである。It is a flowchart for demonstrating the process 2 performed for every flame | frame. デコードスケジュール処理2について説明するためのフローチャートである。10 is a flowchart for explaining decode schedule processing 2; 間引き処理2について説明するためのフローチャートである。10 is a flowchart for explaining a thinning process 2; フレーム制御処理2について説明するためのフローチャートである。10 is a flowchart for explaining frame control processing 2; 間引き処理3について説明するためのフローチャートである。10 is a flowchart for explaining a thinning process 3; 再生装置の異なる構成を示すブロック図である。It is a block diagram which shows the different structure of a reproducing | regenerating apparatus. CPU121のGOP転送制御処理について説明するためのフローチャートである。It is a flowchart for demonstrating the GOP transfer control process of CPU121. 図44のデコーダの構成を示すブロック図である。FIG. 45 is a block diagram showing a configuration of the decoder of FIG. 44. GOPのヘッダ情報について説明するための図である。It is a figure for demonstrating the header information of GOP. ストリームバッファGOPキューについて説明するための図である。It is a figure for demonstrating a stream buffer GOP queue. 保有アンカーフレームと非保有アンカーフレームについて説明するための図である。It is a figure for demonstrating a holding anchor frame and a non-holding anchor frame. ストリームバッファGOPキューについて説明するための図である。It is a figure for demonstrating the stream buffer GOP queue. バンク構成について説明するための図である。It is a figure for demonstrating a bank structure. GOP保有アンカーキューについて説明するための図である。It is a figure for demonstrating a GOP holding | maintenance anchor queue. 保有アンカーバンクの管理について説明するための図である。It is a figure for demonstrating management of a possession anchor bank. 保有アンカーバンクの管理について説明するための図である。It is a figure for demonstrating management of a possession anchor bank. ストリーム再生処理1について説明するためのフローチャートである。10 is a flowchart for explaining stream reproduction processing 1; ストリーム入力時の処理1について説明するためのフローチャートである。It is a flowchart for demonstrating the process 1 at the time of stream input. 保有アンカーバンク管理処理について説明するためのフローチャートである。It is a flowchart for demonstrating possession anchor bank management processing. アンカーフレームデコードスケジュール処理について説明するためのフローチャートである。It is a flowchart for demonstrating an anchor frame decoding schedule process. ストリームバッファGOPキューを利用したピクチャの管理処理について説明するためのフローチャートである。It is a flowchart for demonstrating the management process of the picture using a stream buffer GOP queue. 出力処理1について説明するためのフローチャートである。5 is a flowchart for explaining output processing 1; 出力処理1について説明するためのフローチャートである。5 is a flowchart for explaining output processing 1; 出力処理1について説明するためのフローチャートである。5 is a flowchart for explaining output processing 1; 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. 先送り転送のタイミングの具体例について説明するための図である。It is a figure for demonstrating the specific example of the timing of a forward transfer. デコード、表示、フレームメモリの各バンクの状態について説明するための図である。It is a figure for demonstrating the state of each bank of a decoding, a display, and a frame memory. デコード、表示、フレームメモリの各バンクの状態について説明するための図である。It is a figure for demonstrating the state of each bank of a decoding, a display, and a frame memory. 保有アンカーフレームを2ピクチャ、3ピクチャ、または、4ピクチャおきとする場合のGOPの保有・非保有アンカーフレーム構成図である。FIG. 5 is a configuration diagram of a GOP possession / non-retention anchor frame when the possession anchor frame is every two pictures, three pictures, or every four pictures. 保有アンカーフレームを2ピクチャ、3ピクチャ、または、4ピクチャおきとした場合のバンク割り当てを説明するための図である。It is a figure for demonstrating the bank allocation when the possession anchor frame is every 2 pictures, 3 pictures, or 4 pictures. 保有アンカーフレームを2ピクチャとした場合の保有アンカーフレームのデコードについて説明するための図である。It is a figure for demonstrating decoding of a possession anchor frame when a possession anchor frame is made into 2 pictures. 保有アンカーフレームを2ピクチャとした場合のBピクチャのデコードについて説明するための図である。It is a figure for demonstrating decoding of B picture when a possession anchor frame is set to 2 pictures. 出力処理2について説明するためのフローチャートである。10 is a flowchart for explaining output processing 2; 出力処理2について説明するためのフローチャートである。10 is a flowchart for explaining output processing 2; 出力処理2について説明するためのフローチャートである。10 is a flowchart for explaining output processing 2; 全てのアンカーフレームを保有アンカーフレームとした場合について説明するための図である。It is a figure for demonstrating the case where all the anchor frames are made into a possession anchor frame. 新たなGOPが供給された場合の処理について説明するための図である。It is a figure for demonstrating the process when a new GOP is supplied. 表示待ちのフレームが存在した場合に発生する障害について説明するための図である。It is a figure for demonstrating the failure which generate | occur | produces when the flame | frame of display waiting exists. 表示待ちのフレームおよびデコードスケジュール済みのフレームが存在した場合の処理について説明するための図である。It is a figure for demonstrating the process when the frame of the display waiting frame and the frame of the decoding schedule completed. 表示待ちのフレームおよびデコードスケジュール済みのフレームが存在した場合の処理について説明するための図である。It is a figure for demonstrating the process when the frame of the display waiting frame and the frame of the decoding schedule completed. 表示待ちのフレームおよびデコードスケジュール済みのフレームが存在した場合の処理について説明するための図である。It is a figure for demonstrating the process when the frame of the display waiting frame and the frame of the decoding schedule completed. 表示待ちのフレームおよびデコードスケジュール済みのフレームが存在した場合の処理について説明するための図である。It is a figure for demonstrating the process when the frame of the display waiting frame and the frame of the decoding schedule completed. ストリーム再生処理2について説明するためのフローチャートである。10 is a flowchart for explaining stream reproduction processing 2; ストリーム入力時の処理2について説明するためのフローチャートである。It is a flowchart for demonstrating the process 2 at the time of stream input. アンカーフレームデコード処理について説明するためのフローチャートである。It is a flowchart for demonstrating an anchor frame decoding process. パーソナルコンピュータの構成を示すブロック図である。It is a block diagram which shows the structure of a personal computer.

符号の説明Explanation of symbols

11 CPU, 16 HDD, 101 再生装置, 121 CPU, 122 デコーダ, 131 メモリ, 131−1 ストリームバッファ, 131−3 フレームメモリ, 152 セレクタ, 153 デコードコントローラ, 154 デコード処理部, 155,156,157 セレクタ   11 CPU, 16 HDD, 101 playback device, 121 CPU, 122 decoder, 131 memory, 131-1 stream buffer, 131-3 frame memory, 152 selector, 153 decoding controller, 154 decoding processing unit, 155, 156, 157 selector

Claims (12)

符号化ストリームをデコードする情報処理装置において、
デコードされて生成されたデータを複数フレーム分保持する保持手段を備え、前記保持手段を利用して、前記符号化ストリームをデコードするデコード手段と、
前記デコード手段へ前記符号化ストリームを供給する供給手段と、
前記供給手段および前記デコード手段が実行する処理を制御する制御手段と
を備え、
前記供給手段は、前記デコード手段により所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレームを前記デコード手段へ供給し、
前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段に新たなデータの記憶領域がなく、前記保持手段により保持されている前記参照フレームに対応するデータに、デコード手段によりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレーム、もしくは、デコード手段によりデコードされることが決定している第3のフレームまたは前記第3のフレームをデコードするために必要となる第4のフレームのうちのいずれとも異なる第5のフレームに対応するデータが存在する場合、前記第5のフレームに対応するデータを削除する
情報処理装置。
In an information processing apparatus that decodes an encoded stream,
A holding means for holding data generated by decoding for a plurality of frames; a decoding means for decoding the encoded stream using the holding means;
Supply means for supplying the encoded stream to the decoding means;
Control means for controlling processing executed by the supply means and the decoding means,
The supply means supplies, to the decoding means, a reference frame that is referred to for decoding the predetermined frame in the encoded stream prior to a timing at which the predetermined frame is decoded by the decoding means. And
When the decoding means decodes any reference frame, the holding means does not have a new data storage area, and the decoding means decodes the data corresponding to the reference frame held by the holding means. The first frame that has been output but has not been output, the second frame that is required to decode the first frame, or the third frame that has been determined to be decoded by the decoding means, or the When there is data corresponding to a fifth frame different from any of the fourth frames necessary for decoding the third frame, the data corresponding to the fifth frame is deleted .
前記符号化ストリームはGOP構造を有しており、
前記保持手段は、1GOP中の前記参照フレームのうち、連続しない所定のフレームに対応するデータを保持する
請求項1に記載の情報処理装置。
The encoded stream has a GOP structure;
The information processing apparatus according to claim 1, wherein the holding unit holds data corresponding to a predetermined frame that is not continuous among the reference frames in one GOP.
前記保持手段は、前記参照フレームがデコードされて生成されたデータを保持するためのXフレーム分の記憶領域と、前記所定のフレーム以外のPピクチャまたはBピクチャをデコードして出力する場合に用いられる2フレーム分の記憶領域とを含む
請求項2に記載の情報処理装置。
The holding means is used when a storage area for X frames for holding data generated by decoding the reference frame and a P picture or B picture other than the predetermined frame are decoded and output. The information processing apparatus according to claim 2, further comprising a storage area for two frames.
前記Xフレーム分の記憶領域は、
前記所定のフレームをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するための1フレーム分の第1の記憶領域と、
前記Bピクチャをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するための1フレーム分の第2の記憶領域と、
前記所定のフレームがデコードされて生成されたデータを保持するためのX−2フレーム分の第3の記憶領域と
により構成されている
請求項3に記載の情報処理装置。
The storage area for X frames is:
A first storage area for one frame for holding data generated by decoding the P picture other than the predetermined frame, which is used for decoding the predetermined frame;
A second storage area for one frame for holding data generated by decoding the P picture other than the predetermined frame used for decoding the B picture;
The information processing apparatus according to claim 3, further comprising: a third storage area for X-2 frames for holding data generated by decoding the predetermined frame.
前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段のうち、前記第3の記憶領域に新たなデータの記憶領域がなく、前記第3の記憶領域により保持されているデータに、前記第5のフレームが存在する場合、前記第3の記憶領域から前記第5のフレームを削除する
請求項4に記載の情報処理装置。
When the decoding unit decodes any of the reference frames, there is no storage area for new data in the third storage area, and the data stored in the third storage area is not stored in the holding unit. The information processing apparatus according to claim 4, wherein when the fifth frame is present, the fifth frame is deleted from the third storage area.
前記Xフレーム分の記憶領域は、
前記所定のフレームに含まれる前記Iピクチャをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するための1フレーム分の第1の記憶領域と、
前記所定のフレーム以外の前記Pピクチャまたは前記Bピクチャをデコードするために用いられる、前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するための2フレーム分の第2の記憶領域と、
前記所定のフレーム、および、前記所定のフレームに含まれるPピクチャをデコードするために用いられる前記所定のフレーム以外の前記Pピクチャがデコードされて生成されたデータを保持するためのX−3フレーム分の第3の記憶領域と
により構成されている
請求項3に記載の情報処理装置。
The storage area for X frames is:
A first storage area for one frame for holding data generated by decoding the P picture other than the predetermined frame, which is used for decoding the I picture included in the predetermined frame; ,
A second frame of 2 frames for holding data generated by decoding the P picture other than the predetermined frame, which is used for decoding the P picture or the B picture other than the predetermined frame. Storage area,
X-3 frames for holding the predetermined frame and data generated by decoding the P picture other than the predetermined frame used for decoding the P picture included in the predetermined frame The information processing apparatus according to claim 3, comprising: a third storage area.
前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段のうち、前記第3の記憶領域に新たなデータの記憶領域がなく、前記第3の記憶領域により保持されているデータに、前記第5のフレームが存在する場合、前記第3の記憶領域から前記第5のフレームを削除する
請求項6に記載の情報処理装置。
When the decoding unit decodes any of the reference frames, there is no storage area for new data in the third storage area, and the data stored in the third storage area is not stored in the holding unit. The information processing apparatus according to claim 6, wherein when the fifth frame exists, the fifth frame is deleted from the third storage area.
符号化ストリームをデコードする情報処理装置の情報処理方法において、
所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレームをデコーダに供給し、
前記参照フレームのデコード処理をスケジュールし、
デコードされて生成されたデータを複数フレーム分保持する保持部に、新たなデータの記憶領域があるかを判断し、
前記保持部に新たなデータの記憶領域がなく、前記保持部により保持されている前記参照フレームに対応するデータに、デコーダによりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレーム、もしくは、デコーダによりデコードされることが決定している第3のフレームまたは前記第3のフレームをデコードするために必要となる第4のフレームのうちのいずれとも異なる第5のフレームに対応するデータが存在する場合、前記第5のフレームに対応するデータを削除し、
前記保持部に新たなデータの記憶領域があるか、または、前記保持部から前記第5のデータが削除された場合、スケジュールに基づいて、前記所定のフレームをデコードするための参照フレームをデコードし、
前記所定のフレームに対応するデータの出力が要求された場合、デコードされて生成された前記参照フレームに対応するデータを用いて、前記所定のフレームをデコードする
ステップを含む情報処理方法。
In an information processing method of an information processing apparatus for decoding an encoded stream,
Providing a reference frame to be referred to for decoding the predetermined frame of the encoded stream to a decoder prior to a timing at which the predetermined frame is decoded;
Scheduling the decoding process of the reference frame;
Determine whether there is a storage area for new data in the holding unit that holds data generated by decoding for a plurality of frames,
There is no storage area for new data in the holding unit, and the data corresponding to the reference frame held by the holding unit is decoded by the decoder but is not output, or the first frame or the first frame The second frame required to decode the frame, the third frame determined to be decoded by the decoder, or the fourth frame required to decode the third frame. If there is data corresponding to a fifth frame different from any of them, delete the data corresponding to the fifth frame,
When there is a storage area for new data in the holding unit, or when the fifth data is deleted from the holding unit, a reference frame for decoding the predetermined frame is decoded based on a schedule. ,
An information processing method including a step of decoding the predetermined frame by using data corresponding to the reference frame generated by decoding when output of data corresponding to the predetermined frame is requested.
符号化ストリームをデコードする処理をコンピュータに実行させるためのプログラムであって、
所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレームをデコーダに供給し、
前記参照フレームのデコード処理をスケジュールし、
デコードされて生成されたデータを複数フレーム分保持する保持部に、新たなデータの記憶領域があるかを判断し、
前記保持部に新たなデータの記憶領域がなく、前記保持部により保持されている前記参照フレームに対応するデータに、デコーダによりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレーム、もしくは、デコーダによりデコードされることが決定している第3のフレームまたは前記第3のフレームをデコードするために必要となる第4のフレームのうちのいずれとも異なる第5のフレームに対応するデータが存在する場合、前記第5のフレームに対応するデータを削除し、
前記保持部に新たなデータの記憶領域があるか、または、前記保持部から前記第5のデータが削除された場合、スケジュールに基づいて、前記所定のフレームをデコードするための参照フレームをデコードし、
前記所定のフレームに対応するデータの出力が要求された場合、デコードされて生成された前記参照フレームに対応するデータを用いて、前記所定のフレームをデコードする
ステップを含む処理をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute processing for decoding an encoded stream,
Providing a reference frame to be referred to for decoding the predetermined frame of the encoded stream to a decoder prior to a timing at which the predetermined frame is decoded;
Scheduling the decoding process of the reference frame;
Determine whether there is a storage area for new data in the holding unit that holds data generated by decoding for a plurality of frames,
There is no storage area for new data in the holding unit, and the data corresponding to the reference frame held by the holding unit is decoded by the decoder but is not output, or the first frame or the first frame The second frame required to decode the frame, the third frame determined to be decoded by the decoder, or the fourth frame required to decode the third frame. If there is data corresponding to a fifth frame different from any of them, delete the data corresponding to the fifth frame,
When there is a storage area for new data in the holding unit, or when the fifth data is deleted from the holding unit, a reference frame for decoding the predetermined frame is decoded based on a schedule. ,
When output of data corresponding to the predetermined frame is requested, to cause a computer to execute a process including a step of decoding the predetermined frame using data corresponding to the reference frame generated by decoding Program.
請求項9に記載のプログラムが記録されている記録媒体。   A recording medium on which the program according to claim 9 is recorded. 符号化ストリームをデコードする情報処理装置において、
デコードされて生成されたデータを複数フレーム分保持する保持手段を備え、前記保持手段を利用して、前記符号化ストリームをデコードするデコード手段と、
前記デコード手段へ前記符号化ストリームを供給する供給手段と、
前記供給手段および前記デコード手段が実行する処理を制御する制御手段と
を備え、
前記供給手段は、前記デコード手段により所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレームを前記デコード手段へ供給し、
前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段に新たな前記参照フレームに対応するデータの記憶領域がなく、前記保持手段により保持されているデータに、デコード手段によりデコードされているが出力されていない第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレームのうちのいずれとも異なる第3のフレームに対応するデータが存在する場合、前記第3のフレームに対応するデータを削除する
情報処理装置。
In an information processing apparatus that decodes an encoded stream,
A holding means for holding data generated by decoding for a plurality of frames; a decoding means for decoding the encoded stream using the holding means;
Supply means for supplying the encoded stream to the decoding means;
Control means for controlling processing executed by the supply means and the decoding means,
The supply means supplies, to the decoding means, a reference frame that is referred to for decoding the predetermined frame in the encoded stream prior to a timing at which the predetermined frame is decoded by the decoding means. And
When the decoding means decodes any reference frame, the holding means does not have a data storage area corresponding to the new reference frame, and the decoding means decodes the data held by the holding means. If there is data corresponding to a third frame that is different from any of the first frame that is output but is not output or the second frame that is required to decode the first frame, An information processing apparatus that deletes data corresponding to the third frame.
符号化ストリームをデコードする情報処理装置において、
デコードされて生成されたデータを複数フレーム分保持する保持手段を備え、前記保持手段を利用して、前記符号化ストリームをデコードするデコード手段と、
前記デコード手段へ前記符号化ストリームを供給する供給手段と、
前記供給手段および前記デコード手段が実行する処理を制御する制御手段と
を備え、
前記供給手段は、前記デコード手段により所定のフレームがデコードされるタイミングよりも先行して、前記符号化ストリームのうちの前記所定のフレームをデコードするために参照される参照フレームを前記デコード手段へ供給し、
前記デコード手段は、いずれかの参照フレームをデコードするとき、前記保持手段に新たな前記参照フレームに対応するデータの記憶領域がなく、前記保持手段により保持されているデータに、デコード手段によりデコードされることが決定している第1のフレームまたは前記第1のフレームをデコードするために必要となる第2のフレームのうちのいずれとも異なる第3のフレームに対応するデータが存在する場合、前記第3のフレームに対応するデータを削除する
情報処理装置。
In an information processing apparatus that decodes an encoded stream,
A holding means for holding data generated by decoding for a plurality of frames; a decoding means for decoding the encoded stream using the holding means;
Supply means for supplying the encoded stream to the decoding means;
Control means for controlling processing executed by the supply means and the decoding means,
The supply means supplies, to the decoding means, a reference frame that is referred to for decoding the predetermined frame in the encoded stream prior to a timing at which the predetermined frame is decoded by the decoding means. And
When the decoding means decodes any reference frame, the holding means does not have a data storage area corresponding to the new reference frame, and the decoding means decodes the data held by the holding means. If there is data corresponding to a third frame that is different from either the first frame that is determined to be decoded or the second frame that is required to decode the first frame, the first frame An information processing apparatus that deletes data corresponding to the third frame.
JP2006163592A 2006-06-13 2006-06-13 Information processor and processing method, program, and recording medium Withdrawn JP2007336069A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006163592A JP2007336069A (en) 2006-06-13 2006-06-13 Information processor and processing method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006163592A JP2007336069A (en) 2006-06-13 2006-06-13 Information processor and processing method, program, and recording medium

Publications (1)

Publication Number Publication Date
JP2007336069A true JP2007336069A (en) 2007-12-27

Family

ID=38935140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006163592A Withdrawn JP2007336069A (en) 2006-06-13 2006-06-13 Information processor and processing method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP2007336069A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931808A (en) * 2010-07-26 2010-12-29 华为技术有限公司 Method and device for reversely playing file

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931808A (en) * 2010-07-26 2010-12-29 华为技术有限公司 Method and device for reversely playing file
CN101931808B (en) * 2010-07-26 2013-08-07 华为技术有限公司 Method and device for reversely playing file

Similar Documents

Publication Publication Date Title
JP2007336066A (en) Information processing apparatus, information processing method, recording medium and program
JP4375305B2 (en) Information processing apparatus, information processing method, recording medium, and program
JP5332773B2 (en) Image processing apparatus and method
JP4867235B2 (en) Information processing apparatus, information processing method, recording medium, and program
JP2006324848A (en) Apparatus and method for information processing
CN108833817B (en) Video data storage method and device
US8369456B2 (en) Data processing apparatus and method and encoding device
US20080075175A1 (en) Information processing apparatus and method
JP2007336069A (en) Information processor and processing method, program, and recording medium
US8655139B2 (en) Video recording and reproducing system and reading method of video data
JP2006109419A (en) Data reproduction device, control method thereof, computer program and recording medium
JP4207981B2 (en) Information processing apparatus, information processing method, program, and recording medium
JP2007531435A (en) Method and apparatus for generating menu
JP4730593B2 (en) Information processing apparatus, information processing method, recording medium, and program
JP2006157869A (en) Information processing apparatus and method, recording medium, and program
JP4264582B2 (en) Information processing apparatus, information processing method, program, and recording medium
JP5589654B2 (en) Video / audio playback device and video / audio playback method
JP2006157871A (en) Information processing apparatus and method, recording medium, and program
JP2002232846A (en) Video and audio processor and video and audio processing method
TW201447864A (en) Method and apparatus for writing images into a memory
TWI554114B (en) Method of seamless recording for continuous video string file
JP3714950B2 (en) Video recording device
JP2009200567A (en) Video recording and playback apparatus
JP2005332508A (en) Information processor, information processing method, and computer program
JP2005348160A (en) Stream decoder

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090901