WO2000054509A1 - Dispositif et procede de traitement de signaux numeriques et support associe - Google Patents

Dispositif et procede de traitement de signaux numeriques et support associe Download PDF

Info

Publication number
WO2000054509A1
WO2000054509A1 PCT/JP2000/001384 JP0001384W WO0054509A1 WO 2000054509 A1 WO2000054509 A1 WO 2000054509A1 JP 0001384 W JP0001384 W JP 0001384W WO 0054509 A1 WO0054509 A1 WO 0054509A1
Authority
WO
WIPO (PCT)
Prior art keywords
video data
input
encoding
digital signal
processing
Prior art date
Application number
PCT/JP2000/001384
Other languages
English (en)
French (fr)
Inventor
Ikuo Tsukagoshi
Tsutomu Inui
Masahito Yamane
Original Assignee
Sony Corporation
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 Corporation filed Critical Sony Corporation
Priority to JP2000604614A priority Critical patent/JP4770023B2/ja
Priority to US09/674,887 priority patent/US7103100B1/en
Priority to EP20000907932 priority patent/EP1079632A1/en
Publication of WO2000054509A1 publication Critical patent/WO2000054509A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Definitions

  • the present invention relates to a digital signal processing device and method, and a providing medium, and more particularly to a digital signal processing device and method for encoding or decoding video data or audio data by software processing, and a providing medium. .
  • the digital video data and the digital audio data are encoded and transmitted by, for example, the MPEG (Moving Picture Experts Group) method.
  • MPEG Motion Picture Experts Group
  • encoding is performed in synchronization with the input cycle of video data.
  • the input period is specified by various standards, and for example, is set to 3.3.6 msec in the NTSC (National Television System Committee).
  • the maximum processing time (encoding time) assigned to one image is bound by the video data input cycle specified by this standard. In other words, the encoding of the input video data must be completed within the input period.
  • the video data encoded in this manner is recorded on a predetermined recording medium or the like, or transmitted via a satellite.
  • a receiving device that receives digital data transmitted via a satellite decodes the received data in an MPEG format.
  • Digital video When decoding (decoding) an overnight by software processing, it is necessary to sequentially execute multiple processes required for decoding. In addition, in order to perform output in real time, all processing required for decoding must be completed within the time required for the cycle required for output. For example, in the case of the NTSC system, since the frame rate is 30 frames / sec, one cycle of the frame rate is 33.36 msec. Therefore, it is necessary to decode the digital video data for one frame within 33.36 ms ec.
  • the time required to execute such processing varies depending on the status of the input stream and the status of the video image to be decoded.
  • the time required for decoding a variable length code changes depending on the bit rate of the bit stream, and a picture coding type such as an I picture, a B picture, or a P picture is used.
  • the processing time for motion compensation also varies depending on the type of motion compensation and the difference in motion compensation accuracy, such as half-pel or full-pel.
  • the time consumed by the OS that manages the entire process varies.
  • encoding is performed in synchronization with the input cycle of video data, so that encoding of each image is completed with the maximum accuracy within that cycle.
  • the accuracy in encoding depends on how similar the image before encoding is to the image obtained by decoding the encoded image. The quality of this depends on the encoding processing time and the encoding method.
  • the encoding process When the encoding process is replaced on the time axis (for example, MPEG (Moving Picture Exps rts Group) 2) or when each image must be encoded with the same precision as possible (the encoding accuracy on the time axis) If the encoding is different, the decoded image will not be difficult to see as scattered images), and the design of the encoding device requires extra time for the encoding process in order to increase the encoding accuracy. It must be designed so that there is
  • an encoding apparatus using software processing must control input and output of video data in addition to the encoding processing, and the processing is simultaneously performed by a built-in processor. Had to do. For this reason, there was a problem that it was difficult to calculate the maximum processing time allocated to the encoding process due to the relationship with processes other than the encoding process. For this reason, there is a problem that a wasteful time occurs in which the processor does not perform any processing. In addition, when a plurality of processes are performed by one processor, the processor must have high processing capability, and there is a problem that the cost increases.
  • the present invention has been made in view of such circumstances, and by performing encoding processing of one image while giving priority to other processing, high-precision encoding can be performed even in a processor with low processing capability.
  • the purpose is to be able to do.
  • a dedicated receiver for receiving satellite broadcasts even when decoding a received signal by software processing, some data processing is skipped and output is skipped in order to maintain real-time performance. Decimation means that the device is originally transmitting data via satellite. Considering that it is a dedicated device for decoding video signals, it is not acceptable.
  • the present invention has been made in view of such a situation, and it is an object of the present invention to enable low-cost decoding processing by software processing using a processor having ordinary processing capability.
  • the digital signal processing device includes: input means for inputting an encoded digital signal; decoding means comprising software for decoding the digital signal input by the input means; and decoding by the decoding means.
  • First storage means for storing the obtained digital signals for a plurality of access units, and management means for managing the output order of the digital signals of the access units stored in the first storage means in a FIFO format. It is characterized by including.
  • the digital signal processing method wherein an input step of inputting the encoded digital signal, a decoding step of decoding the input digital signal by software in the input step processing, and a decoding step A first storage step of storing the digital signal decoded by the step processing for a plurality of access units, and an output order of the digital signal of the access unit stored in the processing of the first storage step by a FIFO. And a management step of managing in a format.
  • the providing medium described in claim 4 is an input step of inputting an encoded digital signal, and an input step of inputting the digital signal.
  • a decoding step in which the digital signal decoded by software is decoded, a first storage step in which the digital signal decoded by the decoding step is stored for a plurality of access units, and a first storage step.
  • a computer readable program for causing a digital signal processing device to execute a process including a management step of managing in a FIFO format the order of outputting a digital signal in an access unit stored in the process is provided. .
  • a digital signal processing device wherein input means for inputting video data, first storage means for storing the video data input by the input means, and storage means for the first storage means Prediction means for predicting a data amount when the video data is encoded, encoding means for encoding the video data stored in the first storage means, and video data encoded by the encoding means Encoding is performed when it is determined that the amount of data predicted by the prediction means can be stored in the second storage means. It is characterized in that it is interrupted while video data is input and processed.
  • the digital signal processing method wherein the input step of inputting the video data, the first storage step of storing the video data input in the input step, and the storage step of the first storage step A prediction step of predicting the amount of data when the encoded video data is encoded, an encoding step of encoding the video data stored in the first storage step, and an encoding step.
  • a second storage step of storing the encoded video data wherein the encoding in the encoding step is performed in the processing of the second storage step, and the amount of data predicted in the prediction step can be stored. It is performed when it is judged, and the video data is input in the input step. It is characterized by being interrupted while it is being processed.
  • the program of the medium according to claim 7, wherein the input step for inputting the video data, the first storage step for storing the video data input in the input step, and the storage method for the first storage step Predicted video data—a prediction step of predicting the amount of data when encoding the evening, an encoding step of encoding the video data stored in the first storage step, and video data encoded in the encoding step
  • the encoding in the encoding step is performed when it is determined in the processing of the second storage step that the amount of data predicted in the prediction step can be stored. It is characterized in that it is interrupted while video data is input and processed in the input step.
  • the digital signal processing method according to claim 3 and the providing medium according to claim 4 the output of the stored digital signal in an access unit Are managed in a FIFO format.
  • the data amount when the input video data is encoded is Is predicted, video data is encoded, the encoded video data is stored, and the encoding is performed when it is determined that the predicted data amount can be stored, and the image data is input. And suspended during processing.
  • FIG. 1 is a block diagram showing a configuration example of a digital signal processing device (decoder) to which the present invention is applied.
  • FIG. 2 is a diagram showing the configuration of the video frame buffer 3 of FIG. You.
  • FIG. 3 is a diagram showing the configuration of the output FIF04 of FIG.
  • FIG. 4 is a timing chart for explaining the operation of the apparatus shown in FIG.
  • FIG. 5 is a flowchart illustrating the operation of the process 1 in FIG. 4.
  • FIG. 6 is a flowchart illustrating the operation of the process 3 in FIG. 4.
  • FIG. 1 is a block diagram illustrating a configuration example of a digital signal processing device (encoder) to which is applied.
  • FIG. 8 is a diagram for explaining the video frame buffer 13.
  • FIG. 9 is a flowchart for explaining a process of writing video data to the video frame buffer 13.
  • FIG. 10 is a flowchart illustrating encoding.
  • FIG. 11 is a diagram for explaining processing from input to output of video data.
  • FIG. 12 is a diagram showing a continuation of FIG. 11;
  • FIG. 13 is a diagram illustrating a medium.
  • FIG. 1 shows a configuration example of a digital signal processing device to which the present invention is applied.
  • the program memory 2 stores a decoding program for performing decoding (decoding) of an input stream, a processing program for controlling each unit, and the like.
  • the CPU 1 reads out the program stored in the program memory 2 via the bus 7 as appropriate and executes it.
  • Video frame buffer 3 holds the decoded image A storage device that temporarily stores image data, and has a capacity to hold image data for a plurality of frames.
  • the output FIFO (First In First Out) 4 stores the management IDs of the buffers 1 to N in which the images of the frames to be output are stored in the order of output.
  • the stream input interface (I / F) 5 executes an interface process for inputting, for example, a transport stream that is transmitted via a satellite or the like and is encoded by the MPEG system.
  • the display controller 6 outputs the decoded image data to a display (not shown) and performs processing for displaying the image data.
  • the video frame buffer 3 has buffers 1 to N as areas for storing N frames of image data. These buffers do not need to be defined in contiguous address areas. Each buffer is used in the order of allocation for decoding output, holding of decoding results, and data output, and the buffer whose output has been completed is reused again for decoding output. Furthermore, each buffer is used equivalently and no particular buffer is used for limited use.
  • output FIF04 may be formed in the video frame buffer 3.
  • Fig. 3 shows the basic configuration of the output FIF04.
  • the output FIFO 4 manages the order of the buffers that output the decoding results and the delay until output.
  • the management IDs or pointers of the buffers 1 to N of the video frame buffer 3 shown in FIG. 2 are input and stored in the output order.
  • times t 1 to t 4 correspond to the times t 1 to t 4.
  • the CPU 1 executes the processing 1 at the timing of the time t1 according to the program read from the program memory 2, and when the processing of the processing 1 is completed, executes the processing 2 next. Then, when the processing of the processing 2 is completed, the processing 3 is executed.
  • the priority of the processing is the highest in the processing 1, followed by the processing 2, and the processing 3 has the lowest priority.
  • step S11 the CPU 1 acquires the ID of the buffer to be output next from the output FIF04. Then, in step S12, the CPU 1 reads out the video data corresponding to the ID obtained in step S11 from the video frame buffer 3, and outputs the video data to the display controller 6 via the bus 7.
  • the display controller 6 outputs the input data to a display (not shown) and displays it.
  • step S11 the CPU 1 reads A as the management ID from the output FIF04, and reads the video data of the buffer corresponding to the management ID of A among the buffers 1 to N of the video frame buffer 3. , Output.
  • the process 2 is, for example, a process of decoding the audio data.
  • the processed audio data is output to a speaker (not shown) in synchronization with a predetermined timing signal output from the display controller 6.
  • step S21 the CPU 1 executes a process of allocating the next decode output buffer. That is, among the buffers 1 to N of the video frame buffer 3 shown in FIG. 2, a vacant (already read) buffer is allocated as a buffer for storing the decoded video data.
  • step S22 the CPU 1 decodes the video data for one frame input from the stream input interface 5 by using the decoding program read from the program memory 2 in the MPEG format. The decoded data is stored in the buffer allocated in step S21. Further, in step S23, the CPU 1 registers the ID of the buffer to be output (read) next to the output FIFO4.
  • the image of the frame whose management ID is B, which was output at the immediately preceding time t2, is output again.
  • the output F IF0 4 Outputs the image of the frame whose management ID is C stored in.
  • the process which has been interrupted is resumed as the process 3.
  • the video data of the next frame is processed.
  • the video data of the two frames with the management IDs E and F can be processed from the time t3 to the time t4 in this way, and the management IDs of those frames can be processed. E and F are stored in the output FIFO 4.
  • the execution time of the processing 3 may temporarily exceed the output cycle, or the execution of each processing may be performed. Even if the execution timings of processing 1 and processing 3 become asynchronous due to expansion and contraction of time, in processing 1, it is possible to always secure a buffer that outputs data at a constant cycle.
  • FIG. 7 is a block diagram showing an internal configuration of a digital signal processing device to which the present invention is applied.
  • a CPU (Central Processing Unit) 11 performs a predetermined process according to a program stored in a memory 12 composed of a ROM (Read Only Memory) and a RAM (Random Access Memory).
  • the video frame buffer 13 temporarily stores the video data input via the input / output interface 14.
  • Encoder 15 is stored in video frame buffer 13
  • the received video data is encoded and output to the code buffer 16.
  • the code buffer 16 temporarily stores the encoded video data.
  • the video data stored in the code buffer 16 is output to another device, for example, a recording device (not shown) via the input / output interface 14.
  • These components are interconnected by a bus 17.
  • the video frame buffer 13 has a capacity capable of storing video data of a plurality of frames, and a plurality of buffers are defined as shown in FIG. That is, in the video frame buffer 13, N buffers 13-1 to 13-N are defined, and the video data 1 is stored in the buffer 13-1 and the video data 2 is stored in the buffer 1. In 3-2, video data N is stored in buffer 13-N, respectively. Buffers 13-1 to 13-N are managed by IDs or pointers that uniquely define them. Here, the following explanation is given assuming that the information is managed by ID. Note that each of the buffers 1 to N does not necessarily need to be defined in a continuous address area.
  • step S31 when video data is input to the encoding device 10 via the input / output interface 14, in step S32, the CPU 11 sends an empty buffer in the video frame buffer 13 to To investigate the.
  • Each buffer in the video frame buffer 13 is managed by an ID that can be uniquely specified, and the CPU 11 checks a free buffer by referring to the ID.
  • the ID of the buffer in which the video data is stored is sequentially written, and then written to the FIFO.
  • the reading process described later is output in the order of writing. Since the same ID is never written to the FIFO, the output ID (and therefore, the ID not written to the FIFO) is an ID indicating an empty buffer.
  • step S33 the video data input in step S31 is written to the buffer determined to be an empty buffer in step S32.
  • the video data written in this way is read when the encoder 15 performs encoding.
  • the reading process will be described with reference to the flowchart of FIG.
  • step S41 one frame stored in the video frame buffer 13 The amount of encoding when an image of minutes is encoded is predicted.
  • the video data to be encoded is the video data stored in the buffer corresponding to the ID written first in the above-mentioned FIFO at that time.
  • step S42 When the encoding amount is predicted in step S41, it is determined in step S42 whether or not the code buffer 16 has enough free space to store the encoding amount. If it is determined that there is no free space in the code buffer 16 to store the predicted encoding amount, the encoded video data cannot be stored, and the processing of this flowchart ends.
  • step S42 determines whether the code buffer 16 has a capacity for storing the predicted encoding amount. If it is determined in step S42 that the code buffer 16 has a capacity for storing the predicted encoding amount, Proceeding to 43, the video data whose encoding amount has been predicted in step S41 is read from the video frame buffer 13 and encoded by the encoder 15. Video data encoded by the encoder 15 is stored in the code buffer 16. When the video data is stored in the code buffer 16, in step S44, the video data encoded in step S43 is deleted from the video frame buffer 13. At the same time, the ID of the buffer in the video frame buffer 13 in which the encoded video data is stored is discarded (output) from the FIFO.
  • the encoding by the encoder 15 is performed when the CPU 11 is not performing other processing, when the video data is stored in the video frame buffer 13, and when the encoding is performed in the code buffer 16. This is performed when there is enough free space for storing the video data.
  • a series of processes of the encoding device 10 will be further described with reference to FIGS. 11 and 12.
  • the processing described with reference to the flowchart of FIG. 9 is performed, and the input video data a is converted into the video frame buffer 1 Stored in the allocated buffer within 3.
  • the input video data is stored in the assigned buffer in the video frame buffer 13 by the same processing as when the video data a is input. b is stored.
  • the video data stored in the video frame buffer 13 is processed in step S41 of the flowchart of FIG. 4, that is, when the video data a is encoded. The amount of energy required is estimated.
  • the time interval between time t and time t + 1 is, for example, 33.36 ms ec in the case of the NTSC system. The other time intervals are the same. If it is determined that the encoding amount at the time of encoding the video data a can be stored in the code buffer 16 by the processing in step S42, the encoding by the encoder 15 is started. In this case, since nothing is stored in the code buffer 16, it is determined that there is free space for storing the encoded video data a.
  • the CPU 1 causes the encoder 5 to encode the video data a.
  • step S 43 video data a is read from the video frame buffer 13, encoded by the encoder 15, and stored in the code buffer 16. The video data a (the ID corresponding to the buffer in which the video data a was stored) stored in the frame buffer 13 is deleted.
  • the code buffer 16 stores the already encoded video data a, video data b, and video data c.
  • the video data stored in the video frame buffer 13 is encoded, a predetermined processing time is required even when the encoding amount differs for each video data and the encoding time also differs. Since it is not necessary to end the processing within the input cycle in which the video data is input, the accuracy of the encoding can be improved.
  • video data e is input and stored in video frame buffer 13.
  • the video data d is already stored in the video frame buffer 13 and the CPU 1 can perform the encoding process because no other processing has been performed, but the CPU 1 can perform the encoding process.
  • the video data f is input, and the code buffer 1 is transmitted to another device, for example, a recording device.
  • the video data stored in 6 is continuously output in a fixed amount.
  • This output processing is provided with a DMAC (Direct Memory Access Controller) or the like, and by performing DMA transfer, the CPU 11 need only instruct the start of read processing. Therefore, it is possible to output the video overnight without putting a burden on the CPU 1 itself.
  • DMAC Direct Memory Access Controller
  • the program is installed in a hard disk 22 or a semiconductor memory 23 (corresponding to the memory 2) as a recording medium built in the personal computer 21 in advance. To the user.
  • the program can be stored on a floppy disk, CD-ROM 32, MO disk 33, DVD 34, magnetic disk 35, semiconductor memory 36, etc., as shown in Figure 13B.
  • the program can be stored temporarily or permanently on a medium and provided as packaged software.
  • the program can be downloaded from a 2 to the personal computer 43, or to the personal computer 43 via a wired or wireless network 51 via the local area network, the network such as the Internet, and the personal computer. 4
  • the medium in this specification which can be downloaded to a hard disk or the like means a broad concept including all these media.
  • the access unit is a frame, but may be a field.
  • the case of decoding a digital signal encoded by the MPEG method has been described as an example, but it goes without saying that the encoding (compression) and the decoding (decompression) processing may be performed by another method.
  • the digital of the stored access unit is Since the order of signal output is managed in the FIFO format, it is possible to perform decod processing with inexpensive equipment and real-time processing by software.
  • the digital signal processing method described in claim 6, and the medium described in claim 7 when the input video data is encoded, Predicting the amount of data, encoding the video data, storing the encoded video data, and performing the encoding when it is determined that the predicted data amount can be stored. Is input and is interrupted while it is being processed, so that high-precision encoding can be performed even when using a processor with low processing power.

Description

明 細 書
デジタル信号処理装置および方法、 並びに提供媒体 技術分野
本発明は、 デジタル信号処理装置および方法、 並びに提供媒体に関 し、 特に、 ソフトウェア処理により、 ビデオデ一夕やオーディオデー 夕を符号化または復号化するデジタル信号処理装置および方法、 並び に提供媒体に関する。
背景技術
最近、 衛星を介して、 TV番組のデジタルビデオデータやデジタル オーディォデ一夕を伝送するシステムが普及しつつある。 このような システムにおいては、 デ一夕量を圧縮するために、 デジタルビデオデ 一夕やデジタルオーディオデ一夕は、 例えば、 MPEG (MovingPicture Experts Group ) 方式により符号化 (エンコード) されて伝送される ソフトウエア処理による符号化装置では、 ビデオデータの入力周期 に同期して符号化が行われる。 入力周期は、 さまざまな規格により定 められており、 例えば、 NTSC (NationalTelevision System Commi t te e ) 方式では、 3 3. 3 6msecと定められている。 1画像に対して割 り当てられている最大の処理時間 (符号化時間) は、 この規格により 定められているビデオデータの入力周期に束縛される。 換言すれば、 入力周期内に、 入力されたビデオデータを符号化し終わらなくてはな らない。 このようにして符号化されたビデオデータは、 所定の記録媒 体などに記録されたり、 衛星を介して伝送される。
また衛星を介して伝送されてくるデジタルデ一夕を受信する受信装 置は、 受信したデータを MPEG方式でデコードする。 デジタルビデオデ 一夕をソフトウェア処理によってデコード (復号) する場合、 デコー ドに必要な複数の処理を逐次実行していく必要がある。 また、 出力を リアルタイムで行うには、 デコードに必要な全ての処理を、 出力で要 求される周期に間に合う時間内に完了する必要がある。 例えば、 NTSC 方式の場合、 フレームレートは 3 0フレーム/秒であるため、 その 1 周期は、 3 3 . 3 6 mse cとなる。 従って、 1フレーム分のデジタルビ デォデータは、 3 3 . 3 6 ms ec内にデコード処理する必要がある。
ところで、 入力されるストリームの状況や、 デコードするビデオ画 像の状況によって、 それらの処理を実行するために必要な時間が変動 する。 例えば、 MPEG方式のビデオ画像の場合、 ビッ トストリームのビ ッ 卜レー卜によって、 可変長符号の復号処理に必要な時間が変化し、 I ピクチャ、 Bピクチャ、 または Pピクチャといったピクチャコ一デ イングタイプの種類や、 ハーフペル、 またはフルペルといった動き補 償精度の違いによっても、 動き補償の処理時間が変化する。 さらに、 ビデオ画像だけではなく、 デジタルオーディオデータの復号、 あるい はデマルチプレクスといった処理にも時間がかかる。 その他、 それら の処理全体を管理する OSが消費する時間も変動する。
そこで、 パーソナルコンピュータを用いて、 ソフトウェア処理によ りデコードを行う場合、 デコードが出力周期に間に合わない場合、 一 部のデ一夕の処理をスキップして、 出力を間引くようにして、 リアル タイム性を維持するようにしている。
上述したように、 従来の符号化装置は、 ビデオデータの入力周期と 同期して符号化が行われるため、 各画像に対して、 その周期内で最大 限の精度で符号化が完了するようにしなくてはならない。 ここで、 符 号化における精度とは、 符号化前の画像と、 その符号化された画像を 復号した画像とが、 どれだけ似ているかによるものであり、 その精度 の善し悪しは、 符号化の処理時間や符号化の手法などにかかわつてく る。
時間軸で、 符号化処理が代わる場合 (例えば MPEG (Mov i ng P i c t u r e Expe r t s Group) 2 ) や、 それぞれの画像をできるだけ等しい精度で 符号化しなくてはならない場合 (時間軸で符号化の精度が異なると、 復号された画像は、 ちらちらとして見づらくなってしまうのを防ぐた め) 、 符号化装置の設計は、 符号化の精度を高くするために、 その符 号化処理にかける時間に余裕があるように設定して設計しなくてはな らない。
また、 ソフトウェア処理による符号化装置は、 符号化処理の他に、 ビデオデータの入力の制御や出力の制御などをしなくてはならず、 そ れらの処理を、 内蔵されているプロセッサで同時に行う必要があった 。 その為、 符号化処理以外の処理との関係により、 符号化処理に割り 当てられる最大の処理時間を算出する事が困難であるという課題があ つた。 そのため、 プロセッサが処理を行わない無駄な時間が発生する という課題もあった。 また、 このように、 複数の処理を 1つのプロセ ッサにより行わせる場合、 そのプロセッサは、 高い処理能力を持つ必 要があり、 コスト高になるという課題があった。
本発明はこのような状況に鑑みてなされたものであり、 1画像の符 号化処理を他の処理を優先しながら行うようにすることにより、 処理 能力の低いプロセッサにおいても高精度の符号化が行えるようにする ことを目的とする。
また、 例えば、 衛星放送を受信する専用の受信装置において、 ソフ トウエア処理により受信信号をデコードする場合においても、 リアル タイム性を維持するために、 一部のデータの処理をスキップして、 出 力を間引くことは、 その装置が、 本来衛星を介して送信されてくるデ ジ夕ルビデオ信号をデコードする専用の装置であることを考慮すれば 、 許容されることではない。
そこで、 ソフトウェア処理によりデコードを短時間で完了できるよ うにするには、 非常に高い処理能力を有するプロセッサが必要となり 、 コスト高となる課題があった。
本発明はこのような状況に鑑みてなされたものであり、 通常の処理 能力を有するプロセッサを用いて、 ソフトウエア処理により低コスト でデコ一ド処理ができるようにするものである。
発明の開示
請求の範囲 1に記載のデジタル信号処理装置は、 エンコードされて いるデジタル信号を入力する入力手段と、 入力手段により入力された デジタル信号をデコ一ドするソフトウェアよりなるデコード手段と、 デコード手段によりデコードされたデジタル信号を、 複数のアクセス 単位分だけ記憶する第 1の記憶手段と、 第 1の記憶手段に記憶されて いるアクセス単位のデジタル信号の出力の順番を F I FO形式で管理する 管理手段とを含むことを特徴とする。
請求の範囲 3に記載のデジタル信号処理方法は、 ェンコ一ドされて いるデジタル信号を入力する入力ステップと、 入カステツプの処理に より入力されたデジタル信号をソフトウエアでデコードするデコード ステップと、 デコードステップの処理によりデコードされたデジタル 信号を、 複数のアクセス単位分だけ記憶する第 1の記憶ステップと、 第 1の記憶ステップの処理で記憶されているアクセス単位のデジタル 信号の出力の順番を F IFO形式で管理する管理ステップとを含むことを 特徴とする。
請求の範囲 4に記載の提供媒体は、 エンコードされているデジタル 信号を入力する入力ステップと、 入カステツプの処理により入力され たデジタル信号をソフトウエアでデコ一ドするデコ一ドステツプと、 デコードステップの処理によりデコードされたデジタル信号を、 複数 のアクセス単位分だけ記憶する第 1の記憶ステップと、 第 1の記憶ス テツプの処理で記憶されているアクセス単位のデジタル信号の出力の 順番を F IFO形式で管理する管理ステツプとを含む処理をデジタル信号 処理装置に実行させるコンピュータが読み取り可能なプログラムを提 供することを特徴とする。
請求の範囲 5に記載のデジタル信号処理装置は、 ビデオデータを入 力する入力手段と、 入力手段により入力されたビデオデータを記憶す る第 1の記憶手段と、 第 1の記憶手段に記憶されているビデオデータ を符号化したときのデータ量を予測する予測手段と、 第 1の記憶手段 により記憶されたビデオデータを符号化する符号化手段と、 符号化手 段により符号化されたビデオデータを記憶する第 2の記憶手段とを含 み、 符号化手段による符号化は、 第 2の記憶手段に、 予測手段により 予測されたデータ量が記憶できると判断された場合に行われ、 入力手 段によるビデオデータが入力され、 処理されている間は中断されるこ とを特徴とする。
請求の範囲 6に記載のデジタル信号処理方法は、 ビデオデータを入 力する入力ステップと、 入力ステップで入力されたビデオデ一夕を記 憶する第 1の記憶ステップと、 第 1の記憶ステップで記憶されたビデ ォデ一夕を符号化したときのデ一夕量を予測する予測ステップと、 第 1の記憶ステツプで記憶されたビデオデータを符号化する符号化ステ ップと、 符号化ステップで符号化されたビデオデータを記憶する第 2 の記憶ステップとを含み、 符号化ステップでの符号化は、 第 2の記憶 ステップの処理で、 予測ステップで予測されたデ一夕量が記憶できる と判断された場合に行われ、 入力ステップでビデオデ一夕が入力され 、 処理されている間は中断されることを特徴とする。
請求の範囲 7に記載の媒体のプログラムは、 ビデオデ一夕を入力す る入カステツプと、 入カステツプで入力されたビデオデ一夕を記憶す る第 1の記憶ステツプと、 第 1の記憶ステツプで記憶されたビデオデ —夕を符号化したときのデータ量を予測する予測ステップと、 第 1の 記憶ステップで記憶されたビデオデータを符号化する符号化ステップ と、 符号化ステップで符号化されたビデオデータを記憶する第 2の記 憶ステップとからなり、 符号化ステップでの符号化は、 第 2の記憶ス テップの処理で、 予測ステップで予測されたデータ量が記憶できると 判断された場合に行われ、 入力ステップでビデオデータが入力され、 処理されている間は中断されることを特徴とする。
請求の範囲 1に記載のデジタル信号処理装置、 請求の範囲 3に記載 のデジタル信号処理方法、 および請求の範囲 4に記載の提供媒体にお いては、 記憶されているアクセス単位のデジタル信号の出力の順番が F IFO形式で管理される。
請求の範囲 5に記載のデジタル信号処理装置、 請求の範囲 6に記載 のデジタル信号処理方法、 および請求の範囲 7に記載の媒体において は、 入力されたビデオデ一夕を符号化したときのデータ量が予測され 、 ビデオデータが符号化され、 その符号化されたビデオデータが記憶 され、 その符号化は、 予測されたデータ量が記憶できると判断された 場合に行われ、 画像デ一夕が入力され、 処理されている間は中断され る。
図面の簡単な説明
第 1図は、 本発明を適用したデジタル信号処理装置 (デコーダ) の 構成例を示すブロック図である。
第 2図は、 第 1図のビデオフレームバッファ 3の構成を示す図であ る。
第 3図は、 第 1図の出力 F IF0 4の構成を示す図である。
第 4図は、 第 1図の装置の動作を説明するタイミングチャートであ る。
第 5図は、 第 4図の処理 1の動作を説明するフ口一チャートである 第 6図は、 第 4図の処理 3の動作を説明するフローチヤ一トである 第 7図は、 本発明を適用したデジタル信号処理装置 (エンコーダ) の構成例を示すブロック図である。
第 8図は、 ビデオフレームバッファ 1 3を説明する図である。
第 9図は、 ビデオフレームバッファ 1 3へのビデオデータの書き込 み処理について説明するフローチヤ一トである。
第 1 0図は、 エンコードについて説明するフローチャートである。 第 1 1図は、 ビデオデータの入力から出力されるまでの処理を説明 する図である。
第 1 2図は、 第 1 1図の続きを示す図である。
第 1 3図は、 媒体を説明する図である。
発明を実施するための最良の形態
まずソフトウェア処理によるデコードを行うデジタル信号処理装置 について説明する。 第 1図は、 本発明を適用した、 デジタル信号処理 装置の構成例を表している。 プログラムメモリ 2には、 入力されたス 卜リームのデコード (復号) 処理を行うデコードプログラム、 並びに 各部を制御する処理プログラムなどが記憶されている。 CPU 1は、 プ ログラムメモリ 2に記憶されているプログラムをバス 7を介して適宜 読み出し実行する。 ビデオフレームバッファ 3は、 デコードされた画 像データを一時的に記憶する記憶装置であり、 複数フレーム分の画像 データを保持する容量を有している。
出力 FIFO (First In First Out) 4は、 出力するフレームの画像が 記憶されているバッファ 1乃至バッファ Nの管理 IDを、 出力する順番 に記憶する。 ストリーム入力インタフェース (I/F ) 5は、 衛星等を 介して伝送されてくる、 例えば、 MPEG方式でエンコードされているト ランスポートストリームを入力するためのィン夕フエ一ス処理を実行 する。 ディスプレイコントローラ 6は、 デコードされた画像データを 、 図示せぬディスプレイに出力し、 表示させるための処理を行う。
ビデオフレームバッファ 3は、 第 2図に示すように、 Nフレーム分 の画像データを記憶するための領域として、 バッファ 1乃至バッファ Nを有している。 これらのバッファは、 必ずしも連続したアドレス領 域に定義する必要はない。 また、 各バッファは、 それぞれデコード出 力用としての割当、 デコード結果の保持、 およびデータの出力の順序 で使用され、 出力が終了したバッファは、 再び、 デコード出力用とし て再利用される。 さらに、 各バッファは、 全て等価的に使用され、 特 定のバッファが限定された用途に使用されることはない。
なお、 出力 FIF04は、 ビデオフレームバッファ 3内に形成してもよ い。
第 3図は、 出力 FIF04の原理的な構成を表している。 この出力 FIFO 4は、 デコード結果を出力するバッファの順番と、 出力するまでの遅 延を管理するものである。 出力 FIF04には、 第 2図に示したビデオフ レームバッファ 3のバッファ 1乃至バッファ Nの管理 IDまたはポィン 夕が、 出力する順番に入力、 記憶される。
次に、 第 4図のタイミングチャートを参照して、 第 1図に示す装置 の動作について説明する。 第 4図において、 時刻 t 1 乃至 t 4 は、 そ れぞれデコ一ドした画像デ一夕を出力するタイミングを表している。 すなわち、 各時刻 t 1 乃至 t 4 の間隔は、 1フレーム分の周期 ( 3 3 • 3 6 msec) とされる。 CPU 1は、 プログラムメモリ 2より読み出し たプログラムに従って、 時刻 t 1 のタイミングで処理 1を実行し、 そ の処理 1の処理が終了したとき、 次に、 処理 2を実行する。 そして、 処理 2の処理が完了したとき、 処理 3を実行する。 このように、 処理 の優先順位は、 処理 1が最も高く、 次に処理 2が続き、 処理 3は最も 優先順位が低い。
次に、 第 5図のフローチャートを参照して、 処理 1について説明す る。 ステップ S 1 1において、 CPU 1は、 次に出力するバッファの ID を出力 F I F0 4より取得する。 そして、 ステップ S 1 2において、 CPU 1は、 ステップ S I 1で取得した IDに対応するビデオデ一夕をビデオ フレームバッファ 3から読み出し、 バス 7を介して、 ディスプレイコ ントロ一ラ 6に出力する。 ディスプレイコントローラ 6は、 入力され たデ一夕を図示せぬディスプレイに出力し、 表示させる。
例えば、 第 4図に示す時刻 t l において、 出力 F IF0 4には、 その先 頭に管理 IDとして Aが保持されている。 そこで、 CPU 1は、 ステップ S 1 1において、 出力 F IF0 4から管理 I Dとして Aを読み出し、 ビデオ フレームバッファ 3のバッファ 1乃至バッファ Nのうち、 Aの管理 ID に対応するバッファのビデオデータを読み出し、 出力する。
次に、 CPU 1は、 処理 2を実行する。 この処理 2は、 例えば、 ォ一 ディォデータのデコード処理である。 処理されたオーディォデ一夕は 、 ディスプレイコントローラ 6から出力される所定のタイミング信号 に同期して、 図示せぬスピーカに出力される。
処理 2が終了したとき、 次に、 CPU 1は、 処理 3を実行する。 次に 、 第 6図のフローチャートを参照して、 この処理 3の詳細について説 明する。
最初に、 ステップ S 2 1において、 CPU 1は、 次のデコード出力用 バッファの割当処理を実行する。 すなわち、 第 2図に示すビデオフレ —ムバッファ 3のバッファ 1乃至バッファ Nのうち、 空いている (既 に読み出した) バッファを、 デコードしたビデオデータを記憶させる バッファとして割り当てる。 次に、 ステップ S 2 2において、 CPU 1 は、 ストリーム入力インタフェース 5より入力されてきた 1フレーム 分のビデオデータを、 プログラムメモリ 2より読み出したデコードプ ログラムにより、 MPEG方式でデコードする。 デコードされたデ一夕は 、 ステップ S 2 1で割り当てられたバッファに記憶される。 さらに、 ステップ S 2 3において、 CPU 1は、 次に出力する (読み出す) べき バッファの IDを出力 F IFO 4に登録する。
第 4図の時刻 t l から時刻 t 2 の間のタイミングにおいては、 この ような処理 3により、 管理 I Dが Dであるフレームのデコード処理が行 われたので、 CPU 1は、 出力 F IF0 4に管理 IDとして、 Dを登録する。 第 4図の例では、 時刻 t 1 から時刻 t 2 までの時間に、 処理 3は完了 することが可能であった。
これに対して、 時刻 t 2 から時刻 t 3 までの時間においては、 処理 1として管理 IDが Bであるフレームのビデオデ一夕が出力された後、 処理 2として、 オーディオデ一夕などの処理が行われ、 その後、 処理 3が開始されているのであるが、 処理 3は、 時亥 U t 4 までの間に、 完 了することができていない。
このような場合、 従来においては、 時刻 t 3 において、 直前の時刻 t 2 において出力した、 管理 I Dが Bであるフレームの画像を、 再度出 力するようにしている。 しかしながら、 本発明においては、 B寺亥 ij t 3 において、 処理 3の処理を一旦中断した後、 処理 1 として出力 F IF0 4 に記憶されている管理 IDが Cであるフレームの画像を出力する。 その 後、 さらに、 処理 2を実行した後、 それが終了したとき、 処理 3とし て、 一旦中断した処理を再開する。 そして、 その後、 続いて、 次のフ レームのビデオデータの処理を実行する。 第 4図の例では、 このよう にして、 時刻 t 3 から時刻 t 4 までの間に、 管理 IDが Eと Fの 2つの フレームのビデオデータを処理することができ、 それらのフレームの 管理 IDである Eと Fが、 出力 FIFO 4に記憶されている。
このように、 出力 FIF04により、 ノ ッファ 1乃至バッファ Nの管理 を行うようにすることで、 処理 3の実行時間が、 出力周期を一時的に 越えてしまったような場合や、 各処理の実行時間の伸縮によって、 処 理 1 と処理 3の実行タイミングが非同期になってしまったような場合 にも、 処理 1においては、 一定周期で出力するバッファを常に確保す ることが可能となる。
このようにして、 CPU 1に要求されるソフトウェアの処理能力を、 1フレームのデコ一ドに要する処理時間が最長となる場合に対応させ る必要はなく、 数フレームのデコードに要する平均的処理時間に対応 すれば良いため、 CPU 1として、 より安価なプロセッサを用いること が可能となる。
次にソフトウエア処理によるエンコードを行うデジタル信号処理装 置について説明する。 第 7図は、 本発明を適用したデジタル信号処理 装置の内部構成を示すブロック図である。 CPU (Central Processing Unit ) 1 1は、 ROM (Read Only Memory) や RAM (Random Access Memory ) などから構成されるメモリ 1 2に記憶されているプロダラ ムに従って、 所定の処理を行う。 ビデオフレームバッファ 1 3は、 入 出力インターフェース 1 4を介して入力されたビデオデ一夕を一旦記 憶する。 エンコーダ 1 5は、 ビデオフレームバッファ 1 3に記憶され ているビデオデ一夕をェンコ一ドし、 コードバッファ 1 6に出力する 。 コードバッファ 1 6は、 エンコードされたビデオデータを一旦記憶 する。 コードバッファ 1 6に記憶されているビデオデータは、 入出力 イン夕一フエ一ス 1 4を介して他の装置、 例えば、 図示されていない 記録装置に出力される。 これらの各部は、 バス 1 7により、 相互に接 続されている。
ビデオフレームバッファ 1 3は、 複数のフレームのビデオデ一夕を 記憶できる容量をもち、 第 8図に示すように、 複数のバッファが定義 されている。 すなわち、 ビデオフレームバッファ 1 3内には、 N個の ノ ッファ 1 3— 1乃至 1 3— Nが定義されており、 ビデオデ一夕 1は バッファ 1 3— 1に、 ビデオデ一夕 2はバッファ 1 3— 2に、 ビデオ デ一夕 Nはバッファ 1 3—Nに、 それぞれ記憶されるようにされてい る。 バッファ 1 3— 1乃至 1 3— Nは、 それらを一意に規定する IDま たはポインタで管理されている。 ここでは、 IDで管理されているとし て以下の説明をする。 なお、 各バッファ 1乃至 Nは、 必ずしも連続し たァドレス領域に定義される必要はない。
CPU 1 1により行われる、 ビデオフレームバッファ 1 3へのビデオ デ一夕の書き込み処理について、 第 9図のフローチャートを参照して 説明する。 ステップ S 3 1において、 入出力インターフェース 1 4を 介して、 ビデオデータが符号化装置 1 0に入力されると、 ステップ S 3 2において、 CPU 1 1は、 ビデオフレームバッファ 1 3内の空きバ ッファを調査する。 ビデオフレームバッファ 1 3内の各バッファは、 一意に規定できる IDにより管理されており、 CPU 1 1は、 その IDを参 照することにより、 空きバッファを調査する。
すなわち、 例えば、 FIFO (First In First Out) を用い、 ビデオデ —夕が記憶されたバッファの IDを順次書き込み、 その FIFOに書き込ま れていない I Dを調査することにより、 空きバッファを調査できるよう にする。 このように、 F IFOを用いて、 ビデオフレームバッファ 1 3内 の各バッファが管理されている場合、 後述する読み出し処理は、 書き 込まれた順に出力されることになる。 F I FOには、 同一 I Dは書き込まれ ることはないので、 出力された ID (従って、 F IFOには書き込まれてい ない I D) は、 空きバッファを示す IDとなる。
ステップ S 3 3において、 ステップ S 3 2により空きバッファであ ると調査されたバッファに、 ステップ S 3 1において入力されたビデ ォデータが書き込まれる。 このようにして書き込まれたビデオデータ は、 エンコーダ 1 5によるエンコードが行われる際に読み出される。 その読み出し処理について、 第 1 0図のフローチャートを参照して説 明する。 ビデオフレームバッファ 1 3にビデオデータが記憶されてお り、 かつ、 CPU 1 1が、 他の処理を行っていないとき、 ステップ S 4 1において、 ビデオフレームバッファ 1 3に記憶されている 1フレー ム分の画像をエンコードした場合のエンコード量が予測される。 ェン コードの対象となるビデオデ一夕は、 その時点で、 上述した F IFOに一 番初めに書き込まれた IDに対応するバッファに記憶されているビデオ データである。
ステップ S 4 1において、 エンコード量が予測されると、 ステップ S 4 2において、 そのエンコード量を記憶するだけの空き容量が、 コ ードバッファ 1 6にあるか否かが判断される。 コードバッファ 1 6に 、 予測されたエンコード量を記憶する空き容量がないと判断された場 合、 エンコードしたビデオデータを記憶する事できないので、 このフ ローチャートの処理は終了される。
一方、 ステップ S 4 2において、 コードバッファ 1 6に、 予測され たェンコ一ド量を記憶する容量があると判断された場合、 ステップ S 4 3に進み、 ステップ S 4 1においてェンコ一ド量が予測されたビデ ォデータが、 ビデオフレームバッファ 1 3から読み出され、 ェンコ一 ダ 1 5によりエンコードされる。 エンコーダ 1 5によりエンコードさ れたビデオデータは、 コードバッファ 1 6に記憶される。 コードバッ ファ 1 6にビデオデータが記憶されると、 ステップ S 4 4において、 ステツプ S 4 3においてェンコ一ドされたビデオデ一夕がビデオフレ —ムバッファ 1 3から削除される。 同時にェンコ一ドされたビデオデ —夕が記憶されていたビデオフレームバッファ 1 3内のバッファの ID が、 F IFOから破棄 (出力) される。
このように、 エンコーダ 1 5によるエンコードは、 CPU 1 1が他の 処理を行っていないとき、 ビデオフレームバッファ 1 3にビデオデ一 夕が記憶されているとき、 かつ、 コードバッファ 1 6にエンコードさ れたビデオデータを記憶するだけの空き容量があるときに行われる。
このような符号化装置 1 0の一連の処理を、 第 1 1図と第 1 2図を 参照してさらに説明する。 時刻 tにおいて、 ビデオデ一夕 aが符号化 装置 1 0に入力されると、 第 9図のフローチャートを参照して説明し た処理が行われ、 入力されたビデオデータ aは、 ビデオフレームバッ ファ 1 3内の割り当てられたバッファに記憶される。 時刻 t + 1にお いて、 ビデオデータ bが入力されると、 ビデオデータ aが入力された 場合と同様の処理により、 ビデオフレームバッファ 1 3内の割り当て られたバッファに、 入力されたビデオデ一夕 bが記憶される。 また、 時刻 t + 1においては、 ビデオフレームバッファ 1 3に記憶されてい るビデオデ一夕 aに対して、 第 4図のフローチャートのステップ S 4 1の処理、 すなわち、 ビデオデ一夕 aをエンコードしたときのェンコ 一ド量が予測される。 時刻 t と時刻 t + 1の時間間隔は、 例えば、 NT SC方式の場合、 3 3 . 3 6 ms ecである。 他の時間間隔も同じである。 ステップ S 4 2における処理により、 コードバッファ 1 6に、 ビデ ォデ一夕 aをェンコ一ドしたときのェンコ一ド量が記憶できると判断 された場合、 エンコーダ 1 5によるエンコードが開始される。 いまの 場合、 コードバッファ 1 6には何も記憶されていないので、 ェンコ一 ドしたビデオデータ aが記憶するだけの空き容量があると判断される 。 時刻 t + 2において、 ビデオデ一夕 cが入力され、 ビデオフレーム ノ ツファ 1 3に記憶されると、 CPU 1は、 エンコーダ 5にビデオデ一 夕 aをエンコードさせる。 スデップ S 4 3の処理として、 ビデオデー 夕 aがビデオフレームバッファ 1 3から読み出され、 エンコーダ 1 5 によりエンコードされ、 コードバッファ 1 6に記憶されると、 ステツ プ S 4 4の処理として、 ビデオフレームバッファ 1 3に記憶されてい たビデオデータ a (ビデオデ一夕 aが記憶されていたバッファに対応 する ID) が削除される。
また、 時刻 t + 2においては、 ビデオデ一夕 cの記憶とビデオデ一 夕 aのエンコードが終了された時点で、 まだ、 次の時刻 t + 3まで時 間があり、 ェンコ一ドしたビデオデ一夕 bを記憶するだけの空き容量 がコ一ドバッファ 1 6にあるので、 画像データ aのェンコ一ドだけで なく、 ビデオデータ bのエンコードも開始される。 しかしながら、 ビ デォデータ bのエンコードの途中で、 ビデオデータ dの入力時刻 t + 3になり、 ビデオデータ dの入力が行われると、 そのビデオデータ d が入力 (記憶) されている間は、 ビデオデ一夕 bのエンコードは中断 される。 そして、 ビデオデ一夕 dの入力が終了されると、 再び、 ビデ ォデ一夕 bのエンコードが再開される。 時刻 t + 4までに、 ビデオデ —夕 bのェンコ一ドが終了されるとともに、 ビデオデータ cのェンコ ードも完了される。 そのため、 時刻 t + 4の直前では、 ビデオフレー ムバッファ 1 3には新たに入力されたビデオデータ dのみが記憶され ている状態となり、 コードバッファ 1 6には、 既にエンコードされた ビデオデータ a、 ビデオデータ b、 およびビデオデ一タ cが記憶され ている状態となる。
このように、 ビデオフレームバッファ 1 3に記憶されているビデオ データをエンコードした際、 そのエンコード量が、 ビデオデータ毎に 異り、 そのため、 エンコードにかかる時間も異なるような場合でも、 所定の処理時間内 (ビデオデ一夕が入力される入力周期内) に処理を 終わらせる必要がないため、 ェンコ一ドの精度を上げることが可能と なる。
時刻 t + 4において、 ビデオデータ eが入力され、 ビデオフレーム ノ ツファ 1 3に記憶される。 この時点では、 既に、 ビデオフレームバ ッファ 1 3にビデオデータ dが記憶されており、 CPU 1は、 他の処理 を起こっていないので、 エンコード処理を行うことができるが、 コ一 ドバッファ 1 6の空き容量が充分でないため、 ェンコ一ドは行われな レ 時刻 t + 5 (第 1 2図) において、 ビデオデータ f が入力される とともに、 他の装置、 例えば、 記録装置などに、 コードバッファ 1 6 に記憶されているビデオデータが一定量で、 継続的に出力される。 こ の出力処理は、 DMAC (D i rec t Memo ry Ac c es s Con t r o l l e r ) などを備 え、 DMA 転送させるようにすることにより、 CPU 1 1は、 読み出しの 処理の開始だけ指示すれば良いので、 CPU 1自体に負担をかけずにビ デォデ一夕の出力を行うことができる。
コードバッファ 1 6に記憶されているビデオデ一夕が出力されるこ とにより、 コードバッファ 1 6自体に空き容量ができる。 そこで、 時 刻 t + 6において、 再び、 エンコードが開始される。 以後、 同様に、 第 9図と第 1 0図のフローチャートを参照して説明したように、 ビデ オフレームバッファ 1 3への記憶処理とェンコ一ド処理が行われる。 このように、 1つのビデオデ一夕に対するェンコ一ド処理を、 コ一 ドバッファ 6の空き容量や CPU 1 1の空き時間を考慮して行うように することにより、 画像デ一夕の入力周期内に処理を終了させなくては ならないという条件に拘束されることなく、 ェンコ一ド処理を行うこ とが可能となる。 その結果、 符号化装置 1 0に処理能力の低いプロセ ッサ (CPU 1 1 ) を用いたとしても、 精度の高いエンコードを行うこ とが可能となるとともに、 ビデオデータの入力とともにェンコ一ドを 行うことが可能となる。
次に、 第 1 3図を参照して、 上述した一連のエンコードまたはデコ ード処理を実行するプログラムをコンピュータにインストールし、 コ ンピュー夕によって実行可能な状態とするために用いられる媒体につ いて説明する。
プログラムは、 第 1 3図 Aに示すように、 パーソナルコンピュータ 2 1に内蔵されている記録媒体としてのハ一ドディスク 2 2や半導体 メモリ 2 3 (メモリ 2に相当する) に予めインストールした状態でュ —ザに提供することができる。
あるいはまた、 プログラムは、 第 1 3図 Bに示すように、 フロッピ —ディスク 3 1、 CD-ROM 3 2、 M Oディスク 3 3、 DVD 3 4、 磁気デ イスク 3 5、 半導体メモリ 3 6などの記録媒体に、 一時的あるいは永 続的に格納し、 パッケージソフトウェアとして提供することができる さらに、 プログラムは、 第 1 3図 Cに示すように、 ダウン口一ドサ イ ト 4 1から、 無線で衛星 4 2を介して、 パーソナルコンピュータ 4 3に転送したり、 ローカルエリアネッ トワーク、 イン夕一ネットとい つたネッ トワーク 5 1を介して、 有線または無線でパーソナルコンビ ュ一タ 4 3に転送し、 パーソナルコンピュータ 4 3において、 内蔵す るハードディスクなどにダウンロードさせるようにすることができる 本明細書における媒体とは、 これら全ての媒体を含む広義の概念を 意味するものである。
以上においては、 アクセス単位をフレームとしたが、 フィールドで もよい。 また、 MPEG方式でエンコードされているデジタル信号をデコ —ドする場合を例としたが、 符号化 (圧縮) とその復号 (伸長) 処理 は、 他の方式でもよいことは勿論である。
以上の如く、 請求の範囲 1に記載のデジタル信号処理装置、 請求の 範囲 3に記載のデジタル信号処理方法、 および請求の範囲 4に記載の 提供媒体によれば、 記憶されているアクセス単位のデジタル信号の出 力の順番を F I FO形式で管理するようにしたので、 安価な装置で、 ソフ トウエアによりリアルタイム性を確保しつつ、 デコ一ド処理すること が可能となる。
また、 請求の範囲 5に記載のデジタル信号処理装置、 請求の範囲 6 に記載のデジタル信号処理方法、 および請求の範囲 7に記載の媒体に よれば、 入力されたビデオデ一夕を符号化したときのデータ量を予測 し、 ビデオデータを符号化し、 その符号化されたビデオデ一夕を記憶 し、 その符号化は、 予測されたデータ量が記憶できると判断された場 合に行われ、 ビデオデータが入力され、 処理されている間は中断され るようにしたので、 処理能力の低いプロセッサを用いた塲合において も高精度の符号化を行うことが可能となる。
この発明は、 上述した実施例等に限定されるものでは無く、 この発 明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。

Claims

請求の範囲
1 . エンコードされているデジタル信号を入力する入力手段と、 前記入力手段により入力されたデジタル信号をデコードするソフ卜 ウェアよりなるデコード手段と、
前記デコード手段によりデコードされたデジタル信号を、 複数のァ クセス単位分だけ記憶する第 1の記憶手段と、
前記第 1の記憶手段に記憶されているアクセス単位の前記デジタル 信号の出力の順番を F I FO形式で管理する管理手段と
を含むことを特徴とするデジタル信号処理装置。
2 . 前記デコード手段は、 前記デジタル信号を MPEG方式でデコードす る
ことを特徴とする請求の範囲 1 に記載のデジタル信号処理装置。
3 . エンコードされているデジタル信号を入力する入カステツプと、 前記入力ステップの処理により入力されたデジタル信号をソフトウ エアでデコードするデコードステップと、
前記デコ一ドステップの処理によりデコ一ドされたデジタル信号を 、 複数のアクセス単位分だけ記憶する第 1の記憶ステップと、 前記第 1の記憶ステツプの処理で記憶されているアクセス単位の前 記デジタル信号の出力の順番を F I FO形式で管理する管理ステツプと を含むことを特徴とするデジタル信号処理方法。
4 . ェンコ一ドされているデジタル信号を入力する入カステツプと、 前記入力ステップの処理により入力されたデジタル信号をソフトウ エアでデコ一ドするデコ一ドステツプと、
前記デコードステツプの処理によりデコードされたデジタル信号を 、 複数のアクセス単位分だけ記憶する第 1の記憶ステップと、 前記第 1の記憶ステップの処理で記憶されているアクセス単位の前 記デジタル信号の出力の順番を F IFO形式で管理する管理ステツプと を含む処理をデジタル信号処理装置に実行させるコンピュータが読 み取り可能なプログラムを提供することを特徴とする提供媒体。
5 . ビデオデ一夕を入力する入力手段と、
前記入力手段により入力された前記ビデオデ一夕を記憶する第 1の 記憶手段と、
前記第 1の記憶手段に記憶されている前記ビデオデータを符号化し たときのデータ量を予測する予測手段と、
前記第 1の記憶手段により記憶された前記ビデオデ一夕を符号化す る符号化手段と、
前記符号化手段により符号化されたビデオデ一夕を記憶する第 2の 記憶手段と
を含み、
前記符号化手段による符号化は、 前記第 2の記憶手段に、 前記予測 手段により予測された前記デ一夕量が記憶できると判断された場合に 行われ、 前記入力手段による前記ビデオデ一夕が入力され、 処理され ている間は中断される
ことを特徴とするデジタル信号処理装置。
6 . ビデオデータを入力する入力ステップと、
前記入力ステップで入力された前記ビデオデ一夕を記憶する第 1の 記憶ステツプと、
前記第 1の記憶ステップで記憶された前記ビデオデータを符号化し たときのデータ量を予測する予測ステップと、
前記第 1の記憶ステップで記憶された前記ビデオデータを符号化す る符号化ステップと、
前記符号化ステップで符号化されたビデオデータを記憶する第 2の 記憶ステップとを含み、
前記符号化ステップでの符号化は、 前記第 2の記憶ステップの処理 で、 前記予測ステップで予測された前記データ量が記憶できると判断 された場合に行われ、 前記入カステツプで前記ビデオデータが入力さ れ、 処理されている間は中断される
ことを特徴とするデジタル信号処理方法。
7 . ビデオデータを入力する入力ステップと、
前記入力ステップで入力された前記ビデオデータを記憶する第 1の 記憶ステツプと、
前記第 1の記憶ステップで記憶された前記ビデオデータを符号化し たときのデ一夕量を予測する予測ステップと、
前記第 1の記憶ステップで記憶された前記ビデオデータを符号化す る符号化ステップと、
前記符号化ステツプで符号化されたビデオデータを記憶する第 2の 記憶ステップとからなり、
前記符号化ステップでの符号化は、 前記第 2の記憶ステップの処理 で、 前記予測ステップで予測された前記データ量が記憶できると判断 された場合に行われ、 前記入カステツプで前記ビデオデータが入力さ れ、 処理されている間は中断される
ことを特徴とするプログラムをコンピュータに実行させる媒体。
PCT/JP2000/001384 1999-03-08 2000-03-08 Dispositif et procede de traitement de signaux numeriques et support associe WO2000054509A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000604614A JP4770023B2 (ja) 1999-03-08 2000-03-08 デジタル信号処理装置および方法、並びにデジタル信号処理プログラム
US09/674,887 US7103100B1 (en) 1999-03-08 2000-03-08 Digital signal processing apparatus and method and providing medium
EP20000907932 EP1079632A1 (en) 1999-03-08 2000-03-08 Digital signal processing device and method, and providing medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP6031699 1999-03-08
JP11/60316 1999-03-08
JP11/172013 1999-06-18
JP17201399 1999-06-18

Publications (1)

Publication Number Publication Date
WO2000054509A1 true WO2000054509A1 (fr) 2000-09-14

Family

ID=26401385

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/001384 WO2000054509A1 (fr) 1999-03-08 2000-03-08 Dispositif et procede de traitement de signaux numeriques et support associe

Country Status (5)

Country Link
US (1) US7103100B1 (ja)
EP (1) EP1079632A1 (ja)
JP (1) JP4770023B2 (ja)
KR (1) KR100726695B1 (ja)
WO (1) WO2000054509A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9307262B2 (en) * 2011-01-13 2016-04-05 Texas Instruments Incorporated Methods and systems for facilitating multimedia data encoding utilizing configured buffer information
US10390010B1 (en) 2013-06-12 2019-08-20 Ovics Video coding reorder buffer systems and methods
US9472168B2 (en) * 2014-03-07 2016-10-18 Apple Inc. Display pipe statistics calculation for video encoder
US10062405B2 (en) * 2015-05-06 2018-08-28 Samsung Electronics Co., Ltd. Electronic device and method for operating the same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154490A (ja) * 1989-11-13 1991-07-02 Olympus Optical Co Ltd 画像再生装置
JPH04326281A (ja) * 1991-04-25 1992-11-16 Hitachi Ltd フレーム間予測符号化復号化装置
JPH0654320A (ja) * 1992-07-31 1994-02-25 Oki Electric Ind Co Ltd 画像圧縮符号化装置
JPH089383A (ja) * 1994-06-20 1996-01-12 Oki Electric Ind Co Ltd 画像符号化装置
JPH09205651A (ja) * 1996-01-26 1997-08-05 Rohm Co Ltd 画像データ復号方法およびこの方法を用いた画像データ復号装置
JPH10210484A (ja) * 1997-01-24 1998-08-07 Nec Corp フレーム・バッファ管理方式

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201536B1 (en) * 1992-12-09 2001-03-13 Discovery Communications, Inc. Network manager for cable television system headends
JPH0818953A (ja) * 1994-07-01 1996-01-19 Hitachi Ltd 動画像復号表示装置
DE69525424T2 (de) * 1994-11-25 2002-10-02 Koninkl Philips Electronics Nv Verfahren und Vorrichtung zur Dekodierung von kodierten Videosignalen
JP3824678B2 (ja) * 1995-05-09 2006-09-20 株式会社ルネサステクノロジ 画像復号表示装置
US5936670A (en) * 1995-09-20 1999-08-10 U.S. Philips Corporation Method and device for decoding coded digital video signals
FR2780184B1 (fr) * 1998-06-23 2000-08-11 St Microelectronics Sa Procede et dispositif de decodage d'images, permettant un nombre reduit d'ouvertures de pages-memoire dans le traitement de prediction
FR2780186B1 (fr) * 1998-06-23 2000-08-11 St Microelectronics Sa Procede et dispositif de decodage d'une image, comprimee notamment selon les normes mpeg, en particulier une image bidirectionnelle
JP3110390B2 (ja) * 1998-08-28 2000-11-20 日本電気アイシーマイコンシステム株式会社 画像再生装置
US6229852B1 (en) * 1998-10-26 2001-05-08 Sony Corporation Reduced-memory video decoder for compressed high-definition video data
JP2001016593A (ja) * 1999-06-25 2001-01-19 Mitsubishi Electric Corp 画像復号表示装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154490A (ja) * 1989-11-13 1991-07-02 Olympus Optical Co Ltd 画像再生装置
JPH04326281A (ja) * 1991-04-25 1992-11-16 Hitachi Ltd フレーム間予測符号化復号化装置
JPH0654320A (ja) * 1992-07-31 1994-02-25 Oki Electric Ind Co Ltd 画像圧縮符号化装置
JPH089383A (ja) * 1994-06-20 1996-01-12 Oki Electric Ind Co Ltd 画像符号化装置
JPH09205651A (ja) * 1996-01-26 1997-08-05 Rohm Co Ltd 画像データ復号方法およびこの方法を用いた画像データ復号装置
JPH10210484A (ja) * 1997-01-24 1998-08-07 Nec Corp フレーム・バッファ管理方式

Also Published As

Publication number Publication date
KR100726695B1 (ko) 2007-06-13
EP1079632A1 (en) 2001-02-28
JP4770023B2 (ja) 2011-09-07
KR20010043292A (ko) 2001-05-25
US7103100B1 (en) 2006-09-05

Similar Documents

Publication Publication Date Title
US8401072B2 (en) Information processing apparatus and method, recording medium, and program
EP2186340B1 (en) A video data reproduction system
JP2005510981A (ja) 複数チャネル・ビデオトランスコーディング・システムおよび方法
JPWO2007032123A1 (ja) マルチストリーム復号装置
JP3802521B2 (ja) 符号化装置、符号化制御方法及び符号化制御プログラム
US7609768B2 (en) Video buffer control apparatus for dual video decoding and digital broadcasting receiver thereof
JP3438223B2 (ja) 多重化装置および多重化方法、並びに伝送装置および伝送方法
US9509940B2 (en) Image output device, image output method, and recording medium
US7751687B2 (en) Data processing apparatus, data processing method, data processing system, program, and storage medium
US5986714A (en) Method, apparatus and computer program product for selectively reducing bandwidth of real-time video data
WO2000054509A1 (fr) Dispositif et procede de traitement de signaux numeriques et support associe
US10349073B2 (en) Decoding device, image transmission system, and decoding method
US5760847A (en) Processing moving image data based on an arbitrarily designated frame
JP3410669B2 (ja) 映像音声処理装置
JP4217934B2 (ja) トランスポートストリーム記録装置および方法、並びに記録媒体
US6298091B1 (en) Method to play audio and video clips through MPEG decoders
JP2002208983A (ja) 符号化復号化装置
JP5589654B2 (ja) 映像音声再生装置、および映像音声再生方法
JP4373283B2 (ja) 映像音声復号方法、映像音声復号装置、映像音声復号プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2009100206A (ja) 画像符号化データ復号化装置
JP2006352784A (ja) 伝送方法、受信装置及びコンピュータプログラム
JP3083788B2 (ja) データ復号装置
JP2000138929A (ja) 高速画像入力変換装置
JP2001324998A (ja) 映像音声処理装置
JP2011015358A (ja) 映像復号化装置及び映像復号化方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1020007012252

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2000907932

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09674887

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2000907932

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020007012252

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 2000907932

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1020007012252

Country of ref document: KR