JPH11225333A - Decode processing circuit - Google Patents
Decode processing circuitInfo
- Publication number
- JPH11225333A JPH11225333A JP2610398A JP2610398A JPH11225333A JP H11225333 A JPH11225333 A JP H11225333A JP 2610398 A JP2610398 A JP 2610398A JP 2610398 A JP2610398 A JP 2610398A JP H11225333 A JPH11225333 A JP H11225333A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- task
- decoding
- task switching
- layer
- 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.)
- Pending
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
(57)【要約】
【課題】タスクの切り替え処理にかかる時間を短縮し、
同一のハードウェアでも、より多くの処理が実行できる
ようにし、かつ、DSPに対して高い性能を要求しなく
ても済むデコード処理回路を提供すること
【解決手段】タスクの切り替えのタイミング即ち割り込
みを受け付けるタイミングを制限するものであって、M
PEG処理の特徴を考え、MPEGで規定される各処理
101,103,105,107,109,111の単位ごとに設けたタス
ク切り替え判定処理102,104,106,108,110のタイミ
ングで、タスクの切り替えを行うようにする。これによ
り、一時的に発生する演算の途中結果のデータ量が少な
くなるタイミングに合わせて、タスクの切り替えを行う
ことができるので、待避処理や復帰処理のためのオーバ
ーヘッドタイムを大幅に少なくできる。
(57) [Summary] [Problem] Reduce the time required for task switching processing,
Provided is a decoding processing circuit that enables more processing to be executed even with the same hardware, and that does not require a high performance to a DSP. The timing for accepting is limited, and M
Considering the features of PEG processing, each processing specified in MPEG
Task switching is performed at the timing of task switching determination processing 102, 104, 106, 108, 110 provided for each of the units 101, 103, 105, 107, 109, and 111. Thereby, the task can be switched in accordance with the timing at which the data amount of the intermediate result of the temporarily generated operation becomes small, so that the overhead time for the saving process and the returning process can be greatly reduced.
Description
【0001】[0001]
【産業上の利用分野】本発明は、MPEG方式で符号化
(エンコード)した複数の映像や音声などのストリーム
が多重して伝送するディジタル放送などにおいて、これ
らの多重されたストリームをタスク切り替えを行いなが
ら同時にデコード処理することが可能なデコード処理回
路に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital broadcast system in which a plurality of streams of video and audio coded by the MPEG system are multiplexed and transmitted. The present invention relates to a decoding processing circuit that can perform decoding processing at the same time.
【0002】[0002]
【従来の技術】一般に、テレビジョン放送、テレビ会議
システム、テレビ電話などのように動画像や音声などを
伝送するシステムや、動画、音声などの信号を磁気ディ
スク、光ディスク、磁気テープなどに記録し、記録され
た信号を再生するシステムなどにおいては、伝送路や記
録媒体を有効に利用するため、高能率符号化を行い、伝
送効率を高める方法が用いられている。2. Description of the Related Art In general, a system for transmitting moving images and sounds, such as a television broadcast, a video conference system, and a video telephone, and a method for recording signals such as moving images and sounds on a magnetic disk, an optical disk, and a magnetic tape. In a system for reproducing a recorded signal, a method of performing high-efficiency encoding to increase transmission efficiency is used to effectively use a transmission path and a recording medium.
【0003】この高能率符号化の代表的な方式にMPE
G(Moving Picture Expert Group)2がある。MPE
G2は、ISO(Internation Organization for Stand
ardization)とIEC(International Electrotechica
l Commission)のJTC(Joint Technical Committe
e)でISO/IEC13818として、標準化が進め
られて来た符号化規格である。[0003] A typical method of this high efficiency coding is MPE.
G (Moving Picture Expert Group) 2. MPE
G2 stands for ISO (International Organization for Stand)
ardization) and IEC (International Electrotechica)
l Commission) Joint Technical Committe (JTC)
This is an encoding standard that has been standardized as ISO / IEC 13818 in e).
【0004】MPEG2では符号化規格のみにとどまら
ず、符号化した映像や音声などのデータストリームを幅
広い用途に使用できるようにするため、映像、音声など
のデータストリームを多重する方式についても規格が定
められている。この規格はMPEG2システム(MPEG2
Systems)とよばれており、データストリームの使用用
途によって、放送、通信への適用を想定したトランスポ
ートストリーム(TS:Transport Stream)と、蓄積、
記録への適用を想定したプログラムストリーム(PS:
Program Stream)の2つのデータストリーム規格があ
る。[0004] In MPEG2, not only the coding standard, but also a method for multiplexing a video stream such as video and audio is specified by the standard so that the encoded data stream such as video and audio can be used for a wide range of purposes. Have been. This standard is an MPEG2 system (MPEG2
Systems), depending on the usage of the data stream, a transport stream (TS: Transport Stream) intended for application to broadcasting and communication,
Program stream (PS:
Program Stream).
【0005】トランスポートストリームは複数のプログ
ラムを1つのストリームで伝送することが考慮されてお
り、将来、多くの放送、通信用途に採用されるものとみ
られている。The transport stream has been considered to transmit a plurality of programs in one stream, and is expected to be used in many broadcasting and communication applications in the future.
【0006】一方、DSP(Digital Signal Processo
r)を用いて、MPEG方式を使用して圧縮された映像
信号のデコード処理を行うことも可能になってきてい
る。DSPにおけるハードウェアの処理能力が向上し、
ICの動作速度も向上したため、MPEGストリーム中
に含まれる複数の映像信号や複数の音声信号などをデコ
ードすることも可能になる。On the other hand, DSP (Digital Signal Processo)
By using r), it is also possible to perform decoding of a video signal compressed using the MPEG method. The processing power of the hardware in the DSP has been improved,
Since the operation speed of the IC has also been improved, it is possible to decode a plurality of video signals and a plurality of audio signals included in the MPEG stream.
【0007】DSPは一般には、少なくとも1つの演算
部(CPU)を備え、各種のレジスタ機能により、プロ
グラム解読と、データ検索による実行とが同時に行え、
かつ、並列演算実行が可能である。A DSP generally has at least one arithmetic unit (CPU), and can execute program decoding and data retrieval simultaneously by various register functions.
In addition, parallel operation can be performed.
【0008】ディジタル放送受信装置などに用いられ
る、DSPを用いたMPEGデコード処理回路では、入
力された入力ビットストリームは、入力バッファに一時
的に貯えられる。命令メモリに格納されている命令は順
番に読み出され、命令デコーダに与えられ解読される。
解読された命令は、その内容にしたがってデータメモリ
や演算器やレジスタや入力バッファや出力バッファとの
データのやり取りを行う。演算の終了したデータは出力
バッファに送られ出力端子から信号として出力された
り、データメモリに貯えられる。[0008] In an MPEG decoding processing circuit using a DSP, which is used in a digital broadcast receiving apparatus or the like, an input bit stream inputted is temporarily stored in an input buffer. The instructions stored in the instruction memory are read out in order and given to an instruction decoder for decoding.
The decoded instruction exchanges data with a data memory, a computing unit, a register, an input buffer, and an output buffer according to the contents. The data after the operation is sent to an output buffer and output as a signal from an output terminal or stored in a data memory.
【0009】タイマーからは定期的に信号が前記命令デ
コーダに与えられ、プログラムの実行に割り込みをかけ
る。割り込みがかけれられると命令デコーダは予め定め
られたプログラムの処理を開始する。[0009] A signal is periodically supplied from the timer to the instruction decoder to interrupt the execution of the program. When an interrupt is issued, the instruction decoder starts processing a predetermined program.
【0010】複数の映像や複数の音声をデコードする場
合、DSPで実行されるそれぞれの処理を行うプログラ
ムは、並行して実行される。複数のプログラムを並行し
て実行することを、一般にマルチタスク処理と呼んでい
る。このようなマルチタスク処理を行う場合、DSPで
は、複数のプログラムタスクのうちの1つのプログラム
タスクを時間的に切り替えながらそれぞれの映像や音声
に対する処理を実行する。[0010] When decoding a plurality of videos and a plurality of sounds, programs for executing respective processes executed by the DSP are executed in parallel. Executing a plurality of programs in parallel is generally called multitask processing. When performing such multitask processing, the DSP executes processing for each video and audio while temporally switching one of the plurality of program tasks.
【0011】図11は、このDSPで処理されるプログ
ラムのフローチャートを示している。ここで、1つのタ
スク11は第1の入力ストリームに対するデコード処理
で、もう1つのタスク13は第2の入力ストリームに対
するデコード処理である。これらのデコード処理は、タ
スク切り替え処理12によって時間的に交互に切り替え
ながら実行される。FIG. 11 shows a flowchart of a program processed by the DSP. Here, one task 11 is a decoding process for the first input stream, and another task 13 is a decoding process for the second input stream. These decoding processes are executed while being alternately switched in time by the task switching process 12.
【0012】図12は、図11におけるデコード処理の
内容を示している。MPEG2の映像ストリームの場
合、そのストリームを構成する層にしたがってデコード
処理が実行される。つまり、デコード処理は、MPEG
2ビデオレイヤ(MPEG2 VideoLayer)で規定される処理
の単位で行われる。MPEG2の処理の単位としては、
シーケンス層の処理21,GOP層の処理22、ピクチ
ャ層の処理23,スライス層の処理24,マクロブロッ
ク層の処理25,ブロック層の処理26がある。なお、
MPEG2では、GOP層をもつ構造も可能であるし、
持たないストリームを作ることも可能である。FIG. 12 shows the contents of the decoding process in FIG. In the case of an MPEG2 video stream, a decoding process is performed in accordance with the layers constituting the stream. That is, the decoding process is MPEG
It is performed in units of processing specified by two video layers (MPEG2 VideoLayer). The unit of processing of MPEG2 is
There are a sequence layer process 21, a GOP layer process 22, a picture layer process 23, a slice layer process 24, a macro block layer process 25, and a block layer process 26. In addition,
MPEG2 allows a structure with a GOP layer,
It is possible to create a stream that does not have one.
【0013】MPEG2では、輝度画像の8×8画素が
ブロックとして定義され、これが4つ集まってマクロブ
ロックを形成する。マクロブロックは輝度信号と色信号
を含む。8×8画素のブロックは輝度の情報をDCT(D
iscreate Cosine Transform)変換されたものである。従
って、MPEG2のデコード処理においては逆DCT演
算を行う。逆DCT演算は周波数軸で表現された画像デ
ータを時間軸データに戻す。これには、累積加算演算が
必要である。累積加算演算の演算途中のデータは、デー
タメモリではなく、レジスタに貯えられるようになって
いる。これは、レジスタは、データメモリに対してアク
セスに必要なクロック数が少ないため、高速の演算が可
能になるためである。In MPEG2, 8 × 8 pixels of a luminance image are defined as a block, and four of these collectively form a macroblock. A macro block includes a luminance signal and a chrominance signal. An 8 × 8 pixel block uses DCT (D
iscreate Cosine Transform). Therefore, an inverse DCT operation is performed in MPEG2 decoding processing. The inverse DCT operation returns the image data expressed on the frequency axis to the time axis data. This requires a cumulative addition operation. Data in the middle of the accumulative addition operation is stored not in the data memory but in a register. This is because the register requires a small number of clocks to access the data memory, so that a high-speed operation can be performed.
【0014】一方、マルチタスク処理では、複数の入力
ストリーム、例えば第1,第2の2つの入力ストリーム
のタスクの優先順位が等しい場合は、タイマーからの割
り込み信号によってタスク切り替え処理が行われるよう
になっている。このようなタスク切り替え処理では、M
PEGで規定される各処理21,22,23,24,2
5,26のどの状態からもタスク切り替え処理に移行す
る可能性があり、各処理の途中であっても切り替えが行
われる。On the other hand, in the multitask processing, when the tasks of a plurality of input streams, for example, the first and second input streams have the same priority, the task switching processing is performed by an interrupt signal from a timer. Has become. In such a task switching process, M
Each process 21, 22, 23, 24, 2 specified by PEG
There is a possibility that the process may shift to the task switching process from any of the states 5 and 26, and the switching is performed even during each process.
【0015】このタスク切り替えは、割り込みによって
実行されるプログラムであるサービスルーチン(IS
R)によって行われる。マルチタスク処理における割り
込みの条件はタイマーによる時間割り込みのみであり、
これによってタスクの切り替えが指示される。タスク切
り替え処理は、今まで実行していたタスクから、今まで
実行されていなかったタスクに実行を移すための処理を
行うものである。The task switching is performed by a service routine (IS) which is a program executed by an interrupt.
R). The only interrupt condition in the multitask process is the time interrupt by the timer.
This instructs task switching. The task switching process performs a process for shifting execution from a task that has been executed until now to a task that has not been executed.
【0016】図13は従来のタスク切り替え処理を示す
フローチャートである。図13において、タスク切り替
え処理は、まず切り替え前のタスクの演算途中結果即ち
レジスタの内容をデータメモリに格納する(ステップ3
1)。その後、今まで実行されていなかった次のタスク
に制御を移すことになる。その前に、まず切り替えるタ
スクを求め(ステップ32)、これから移行しようとし
ている次のタスクの演算の途中結果をデータメモリから
レジスタに復帰させる(ステップ33)。そして、実行
されていなかった次のタスクに制御を移す(ステップ3
4)。FIG. 13 is a flowchart showing a conventional task switching process. In FIG. 13, in the task switching process, first, the result of calculation of the task before switching, that is, the contents of the register, is stored in the data memory (step 3
1). Then, control is transferred to the next task that has not been performed. Before that, the task to be switched is first obtained (step 32), and the intermediate result of the operation of the next task to be shifted is restored from the data memory to the register (step 33). Then, control is transferred to the next task that has not been executed (step 3).
4).
【0017】以上のように、従来のタスク切り替え処理
では、タスクからタスクへ移る場合に、前のタスクでの
演算の途中結果をレジスタからデータメモリに待避する
必要があり、また移行しようとする次のタスクの演算結
果をデータメモリからレジスタに復帰する必要があり、
切り替え処理に時間がかかり、結果としてデコード処理
に時間がかかる。所謂オーバーヘッドタイムが大きいと
いう問題があった。As described above, in the conventional task switching process, when shifting from task to task, it is necessary to save the intermediate result of the operation in the previous task from the register to the data memory. It is necessary to return the operation result of the task from the data memory to the register,
The switching process takes time, and as a result, the decoding process takes time. There is a problem that the so-called overhead time is long.
【0018】[0018]
【発明が解決しようとする課題】上記の如く、従来のD
SPを用いたMPEGデコード処理では、多重された複
数のストリームを同時に処理する場合、タスクの切り替
え時に待避処理や復帰処理のためのオーバーヘッドタイ
ムが大きいという問題があった。As described above, the conventional D
In the MPEG decoding process using the SP, when a plurality of multiplexed streams are simultaneously processed, there is a problem that an overhead time for a save process and a return process is long when a task is switched.
【0019】そこで、本発明は上記の問題に鑑み、タス
クの切り替え処理にかかる時間を短縮し、同一のハード
ウェアでも、より多くの処理が実行できるようにし、か
つ、DSPに対して高い性能を要求しなくても済むデコ
ード処理回路を提供することを目的とするものである。In view of the above problems, the present invention reduces the time required for task switching processing, enables more processing to be performed even with the same hardware, and provides a high performance to a DSP. It is an object of the present invention to provide a decoding circuit which does not require a request.
【0020】[0020]
【課題を解決するための手段】本発明は、MPEG方式
でエンコードした複数の映像や音声のストリームをデコ
ードするデコード処理回路であって、前記複数のストリ
ームをデコード処理する複数のプログラムタスクをそれ
ぞれ切り替えながら信号処理を実行し、その際、前記複
数のプログラムタスクの切り替えは、MPEGで規定さ
れる処理の単位ごとのタイミングで行われることを特徴
とするものである。SUMMARY OF THE INVENTION The present invention is a decoding processing circuit for decoding a plurality of video and audio streams encoded by the MPEG system, and switches between a plurality of program tasks for decoding the plurality of streams. The signal processing is performed while the plurality of program tasks are switched at the timing of each processing unit specified by MPEG.
【0021】本発明では、タスクの切り替えのタイミン
グ即ちタイマー割り込みを受け付けるタイミングを規定
するものであって、具体的には、MPEG処理の特徴を
考え、MPEGで規定される各処理の単位ごとのタイミ
ングで、タスクの切り替えを行うようにする。これによ
り、一時的に発生する演算の途中結果のデータ量が少な
くなるタイミングに合わせて、タスクの切り替えを行う
ことができるので、待避処理や復帰処理のためのオーバ
ーヘッドタイムを大幅に少なくすることができる。In the present invention, the timing of task switching, that is, the timing of accepting a timer interrupt is defined. Specifically, considering the characteristics of MPEG processing, the timing for each processing unit specified by MPEG is specified. Then, the task is switched. As a result, the task can be switched in accordance with the timing at which the data amount of the intermediate result of the temporarily generated operation becomes small, so that the overhead time for the save processing and the return processing can be greatly reduced. it can.
【0022】[0022]
【発明の実施の形態】発明の実施の形態について図1〜
図10を参照して説明する。図1は本発明に係るデコー
ド処理回路におけるDSPを用いたMPEGデコード処
理を示すフローチャートである。図2はディジタル放送
受信装置などに用いられる、DSPを用いたMPEGデ
コード処理回路の構成を示すブロック図である。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG.
This will be described with reference to FIG. FIG. 1 is a flowchart showing an MPEG decoding process using a DSP in the decoding processing circuit according to the present invention. FIG. 2 is a block diagram showing a configuration of an MPEG decoding processing circuit using a DSP, which is used for a digital broadcast receiving device or the like.
【0023】まず、図2を参照して、DSPを用いたM
PEGデコード処理回路400 の構成について説明する。
図2では、2つの入力ビットストリームが入力するよう
になっており、各入力ストリームはそれぞれ入力端子40
1 ,402 に与えられる。入力バッファ403 には、入力さ
れたデータが一時的に貯えられる。命令メモリ404 に
は、処理されるべき命令が書き込まれている。格納され
ている命令は順番に読み出され、命令デコーダ405 に与
えられ解読される。解読された命令は、バス407を介し
て、その内容にしたがってデータメモリ408 や演算器40
9 やレジスタ410 や入力バッファ403 や出力バッファ41
1 とのデータのやり取りを行う。演算の終了したデータ
は出力バッファ411 に送られ出力端子412 ,413 から信
号として出力されたり、データメモリ408 に貯えられ
る。First, referring to FIG. 2, M using a DSP
The configuration of the PEG decode processing circuit 400 will be described.
In FIG. 2, two input bit streams are input, and each input stream is connected to an input terminal 40 respectively.
1, 402. The input buffer 403 temporarily stores input data. The instruction to be processed is written in the instruction memory 404. The stored instructions are read out in order and applied to an instruction decoder 405 for decoding. The decoded instruction is sent via the bus 407 to the data memory 408 or the arithmetic unit 40 in accordance with the contents.
9, register 410, input buffer 403, output buffer 41
Exchange data with 1. The data for which the operation has been completed is sent to the output buffer 411 and output as signals from the output terminals 412 and 413, or stored in the data memory 408.
【0024】タイマー406 からは定期的に信号が命令デ
コーダ405 に与えられ、命令デコーダ405 におけるプロ
グラムの実行に割り込みをかける。割り込みがかけられ
ると、命令デコーダ405 は予め定められたプログラムの
処理を開始する。この割り込みによって実行されるプロ
グラムは割り込みサービスルーチン(ISR)と呼ばれ
る。複数の入力ストリームをデコードする場合には、D
SPで実行されるそれぞれのストリームの処理を行うプ
ログラムは、前記タイマーによる割り込みによって時間
的に切り替えられて、並行して実行される。つまり、マ
ルチタスク処理される。A signal is periodically provided from the timer 406 to the instruction decoder 405 to interrupt the execution of the program in the instruction decoder 405. When an interrupt is issued, the instruction decoder 405 starts processing a predetermined program. The program executed by this interrupt is called an interrupt service routine (ISR). When decoding multiple input streams, D
Programs for processing the respective streams executed by the SP are temporally switched by the interruption by the timer, and are executed in parallel. That is, multitask processing is performed.
【0025】図3はこのDSPで処理されるプログラム
のフローチャートを示している。ここで、1つのタスク
100 は第1の入力ストリームに対するデコード処理で、
もう1つのタスク300 は第2の入力ストリームに対する
デコード処理である。これらのデコード処理は、タスク
切り替え処理200 によって時間的に交互に切り替えなが
ら実行される。FIG. 3 shows a flowchart of a program processed by the DSP. Here, one task
100 is a decoding process for the first input stream,
Another task 300 is a decoding process for the second input stream. These decoding processes are executed while being alternately switched in time by the task switching process 200.
【0026】図1は、図2の回路におけるデコード処理
のフロー(即ち、図3におけるMPEGデコード処理の
内容)を示している。前述したように、MPEGデコー
ド処理は、MPEG2ビデオレイヤ(MPEG2 Video Laye
r)で規定される処理(シーケンス層の処理101 ,GO
P層の処理103 ,ピクチャ層の処理105 ,スライス層の
処理107 ,マクロブロック層の処理109 ,ブロック層の
処理111 )の単位で行われる。そして、ブロック層の処
理111 はマクロブロック層の処理109 の中で行われ、マ
クロブロック層の処理109 はスライス層の処理107 の中
で行われ、スライス層の処理107 はピクチャ層の処理10
5 の中で行われ、ピクチャ層の処理105はGOP層の処
理103 の中で行われる。また、GOP層の処理103 はシ
ーケンス層の処理101 の中で行われる。ただし、GOP
層はなくてもよい。図1では、図12のフローチャート
と比較して、MPEGビデオレイヤで規定される各層の
処理101 ,103 ,105 ,107 ,109 ,111 の間に、タス
ク切り替えのための判定処理102 ,104 ,106 ,108 ,
110 が設けられている点に特徴がある。FIG. 1 shows the flow of the decoding process in the circuit of FIG. 2 (that is, the content of the MPEG decoding process in FIG. 3). As described above, the MPEG decoding process is performed in the MPEG2 video layer (MPEG2 Video Layer).
r) (sequence layer processing 101, GO
P layer processing 103, picture layer processing 105, slice layer processing 107, macroblock layer processing 109, and block layer processing 111). The processing 111 of the block layer is performed in the processing 109 of the macroblock layer, the processing 109 of the macroblock layer is performed in the processing 107 of the slice layer, and the processing 107 of the slice layer is performed in the processing 10 of the picture layer.
5, the processing 105 of the picture layer is performed in the processing 103 of the GOP layer. The processing 103 of the GOP layer is performed in the processing 101 of the sequence layer. However, GOP
There may be no layer. In FIG. 1, as compared with the flowchart of FIG. 12, judgment processing 102, 104, 106 for task switching is performed between the processing 101, 103, 105, 107, 109, 111 of each layer defined by the MPEG video layer. , 108,
It is characterized by the point that 110 is provided.
【0027】図4は図1におけるタスク切り替え判定処
理の第1の実施の形態を示す。FIG. 4 shows a first embodiment of the task switching determination process in FIG.
【0028】図4は、ステップ501 で割り込みを許可
し、その後ステップ502 で割り込みを禁止する。この処
理の期間外では割り込みは受け付けられない。タイマー
406 からの割込み信号は、MPEGで規定される処理10
1 ,103 ,105 ,107 ,109 ,111 の処理中には受け付
けられず、タスク切り替え判定処理102 ,104 ,106 ,
108 ,110 の実行期間中のみ受け付けられる。シーケン
ス層の処理101 ,GOP層の処理103 ,ピクチャ層の処
理105 ,スライス層の処理107 ,マクロブロック層の処
理109 ,ブロック層の処理111 の各層の処理の区切りで
タスクの切り替え判定処理102 ,104 ,106 ,108 ,11
0 に入ることができ、タイマー406 からの割り込みがあ
った場合にタスク切り替え処理200 に処理を移行する。FIG. 4 shows that an interrupt is permitted in step 501 and then disabled in step 502. No interrupt is accepted outside this period. timer
The interrupt signal from 406 is processed by the processing 10 defined by MPEG.
1, 103, 105, 107, 109, 111 are not accepted during the processing, and the task switching determination processing 102, 104, 106,
Accepted only during the execution period of 108 and 110. A task switching determination process 102 at the break of each of the sequence layer process 101, the GOP layer process 103, the picture layer process 105, the slice layer process 107, the macroblock layer process 109, and the block layer process 111; 104, 106, 108, 11
0 can be entered, and when there is an interrupt from the timer 406, the processing shifts to the task switching processing 200.
【0029】図5はタスク切り替え判定処理の第2の実
施の形態を示す。この実施の形態では、タイマー406 に
よる割り込みを使用せず、ステップ601 のように直接割
り込みを発生する。こうすることで、強制的にタスク切
り替え処理200 に処理を移行する。FIG. 5 shows a second embodiment of the task switching judgment processing. In this embodiment, an interrupt is directly generated as in step 601 without using the interrupt by the timer 406. By doing so, the process is forcibly shifted to the task switching process 200.
【0030】また、他の実施の形態として、ジャンプ命
令を使うことによって、強制的にタスク切り替え処理20
0 に処理を移行してもよい。In another embodiment, a task switching process is forcibly performed by using a jump instruction.
The process may shift to 0.
【0031】さらにまた、マルチタスクOS(所謂、OS
/2、Machintosh OS、Windows、UNIXなど)を使用してい
る場合には、タスク切り替え判定処理において、メッセ
ージを出力するなどのタスクのスケジュール機能を呼び
出すことでも同様に処理をタスク切り替え処理200 に移
すことができる。Further, a multitask OS (so-called OS)
/ 2, Macintosh OS, Windows, UNIX, etc.), in the task switching judgment process, the process is similarly transferred to the task switching process 200 by calling a task scheduling function such as outputting a message. be able to.
【0032】図6は図1及び図3におけるタスク切り替
え処理200 の内容を示している。タスク切り替え処理20
0 では、ステップ201 で切り替えるタスクを求め、ステ
ップ202 で次のタスクへジャンプする。本発明の実施の
形態では、このタスク切り替え時には、MPEG処理に
特有の各層の単位での処理が終了した状態のため、タス
ク切り替え処理にあたって、待避しなければならない情
報がレジスタ410 にはない。そのため、レジスタ410 の
内容をデータメモリ408 に待避する必要もなく、また、
データメモリ408 からレジスタ410 へデータを復帰する
必要もない。FIG. 6 shows the contents of the task switching processing 200 in FIGS. 1 and 3. Task switching processing 20
In step 0, the task to be switched is determined in step 201, and the process jumps to the next task in step 202. In the embodiment of the present invention, at the time of this task switching, since the processing for each layer specific to the MPEG processing has been completed, there is no information to be saved in the register 410 in the task switching processing. Therefore, there is no need to save the contents of the register 410 in the data memory 408, and
There is no need to restore data from the data memory 408 to the register 410.
【0033】図7は図1のブロック層の処理111 の前段
においてタスク切り替えが起きた時の処理の流れを説明
する図である。FIG. 7 is a view for explaining the flow of processing when task switching occurs in the stage preceding the processing 111 of the block layer in FIG.
【0034】タスク1の処理111-1が開始されると、こ
こでタスクが切り替わる可能性をタスク切り替え判定11
0-1で判定する。この時点では、演算が開始されてい
ず、まだレジスタ410 に演算途中結果は存在していな
い。ここでタスクの切り替えが起これば、ステップ201
で切り替えるタスクを求め、ステップ202 で次のタスク
へジャンプする。ジャンプした先からはブロック層の処
理311-1が開始される。When the processing 111-1 of the task 1 is started, the possibility of the task switching is determined here by the task switching determination 11
Judge by 0-1. At this point, the operation has not been started, and the result of the operation is not yet in the register 410. If task switching occurs here, step 201
The task to be switched is determined by using, and in step 202, the process jumps to the next task. The processing 311-1 of the block layer is started from the jump destination.
【0035】ステップ311-11で、データメモリ408 内に
あるデータの位置を求める。そこから8×8のIDCT
係数を読み出す(ステップ311-12)。その後IDCT演
算311-13を行う。8×8のIDCT演算を行い、8×8
の演算結果をデータメモリ408 に格納する(ステップ31
1-14)。そして、処理をどこまで行ったか即ち次回の処
理開始位置をデータメモリ408 に保存(待避)する。In step 311-11, the position of the data in the data memory 408 is determined. 8x8 IDCT from there
The coefficients are read (step 311-12). Thereafter, an IDCT operation 311-13 is performed. 8 × 8 IDCT operation is performed and 8 × 8
Is stored in the data memory 408 (step 31).
1-14). Then, the extent to which the processing has been performed, that is, the next processing start position is stored (evacuated) in the data memory 408.
【0036】そこで再び、タスクが切り替わる可能性を
タスク切り替え判定310-1で判定する。ここでタスクの
切り替えが起これば、ステップ201 で切り替えるタスク
を求め、ステップ202 で次のタスクへジャンプする。ジ
ャンプした先からはブロック層の処理111-1が開始され
る。以降は前述と同様にして、ステップ111-11〜ステッ
プ111-15が実行されることになる。Therefore, the possibility of the task switching is determined again by the task switching determination 310-1. If the task switching occurs, the task to be switched is determined in step 201, and the process jumps to the next task in step 202. The processing 111-1 of the block layer is started from the jump destination. Thereafter, steps 111-11 to 111-15 are executed in the same manner as described above.
【0037】図1の実施の形態では、MPEG2ビデオ
レイヤで規定されるシーケンス層,GOP層,ピクチャ
層,スライス層,マクロブロック層,ブロック層の各層
の処理101 ,103 ,105 ,107 ,109 ,111 の間に、タ
スク切り替えのための判定処理102 ,104 ,106 ,108
,110 を設けたので、タスクを切り替えるタイミング
を、各層の処理の単位に合わせることができ、タスク切
り替え時には各層の単位での処理が終了しているため、
レジスタ待避の必要性を殆ど無くすことができる。In the embodiment shown in FIG. 1, the processing 101, 103, 105, 107, 109, 109 of each layer of the sequence layer, the GOP layer, the picture layer, the slice layer, the macro block layer, and the block layer specified by the MPEG2 video layer is performed. During 111, judgment processing 102, 104, 106, 108 for task switching
, 110, the task switching timing can be adjusted to the processing unit of each layer. Since the processing in each layer unit is completed at the time of task switching,
The necessity of saving the register can be almost eliminated.
【0038】ところで、MPEG2システムレイヤ(MP
EG2 System Layer)では、複数の映像ストリームをパケ
ット化し、1つのトランスポートストリームに多重する
方法を規定している。ここで、1つのトランスポートス
トリームに多重される各映像ストリームのパケットは、
トランスポートパケット(略してTSパケット)と呼ば
れている。By the way, the MPEG2 system layer (MP
EG2 System Layer) defines a method of packetizing a plurality of video streams and multiplexing them into one transport stream. Here, the packet of each video stream multiplexed into one transport stream is
It is called a transport packet (TS packet for short).
【0039】図8に、MPEG2トランスポートパケッ
トのデータ構造を示す。TSパケットには4byteのヘッ
ダ部分があり、そのなかのPID(パケットID)にて、
そのパケットが何かを示す。MPEGデコード処理回路
におけるシステムレイヤのデコードでは、PIDを取り
出し、値を判定することでそれが何のパケットかを判定
し、デコードするべき映像データのパケットである場合
はそのパケットを抽出し、映像デコーダへ転送する。1
つのトランスポートストリームに多重できる映像ストリ
ームの数は、例えばトランスポートストリームのビット
レートを40Mb/sとし、映像ビットストリームのビット
レートを6Mb/sとすると、6つ伝送することができる。
さらに、多くの映像ストリームを伝送したい場合には、
複数のトランスポートストリームを用いる必要がある。
異なるトランスポートストリーム中にある複数の映像ス
トリームをデコードするには、複数のトランスポートス
トリームが受信できる必要がある。FIG. 8 shows the data structure of an MPEG2 transport packet. The TS packet has a 4-byte header part, in which the PID (packet ID)
Indicates what the packet is. In the decoding of the system layer in the MPEG decoding processing circuit, a PID is taken out, a value is determined to determine what packet it is, and if the packet is video data to be decoded, the packet is extracted. Transfer to 1
As for the number of video streams that can be multiplexed into one transport stream, for example, if the bit rate of the transport stream is 40 Mb / s and the bit rate of the video bit stream is 6 Mb / s, six video streams can be transmitted.
Furthermore, if you want to transmit many video streams,
It is necessary to use multiple transport streams.
In order to decode a plurality of video streams in different transport streams, it is necessary to be able to receive a plurality of transport streams.
【0040】図9はDSPで複数のトランスポートスト
リームを処理する場合のフローチャートを示している。
ここでは、1つのタスク700 は第1のトランスポートス
トリームに対するデコード処理で、もう1つのタスク90
0 は第2のトランスポートストリームに対するデコード
処理である。これらのデコード処理は、タスク切り替え
処理800 によって時間的に交互に切り替えながら実行さ
れる。FIG. 9 shows a flowchart in the case where a plurality of transport streams are processed by the DSP.
Here, one task 700 is a decoding process for the first transport stream, and another task 90 is a decoding process for the first transport stream.
0 is a decoding process for the second transport stream. These decoding processes are executed while being alternately temporally switched by the task switching process 800.
【0041】図10は図9のトランスポートストリーム
のTSパケットの処理の前段においてタスク切り替えが
起きた時の処理の流れを説明する図である。本実施の形
態では、MPEG2で規定される処理単位は、MPEG
2システムレイヤで規定されるTSパケットである。FIG. 10 is a view for explaining the flow of processing when task switching occurs in the preceding stage of the processing of the TS packet of the transport stream in FIG. In the present embodiment, the processing unit defined by MPEG2 is MPEG
This is a TS packet defined by two system layers.
【0042】タスク1の処理711-1ではトランスポート
ストリーム1の処理を行う。タスク2の処理911-1では
トランスポートストリーム2を処理する。まず、タスク
1の処理711-1が開始されると、ここでタスクが切り替
わる可能性をタスク切り替え判定710-1で判定する。こ
の時点では、演算が開始されておらず、まだレジスタに
演算途中結果は存在していない。ここでタスクの切り替
えが起これば、ステップ801 で切り替えるタスクを求
め、ステップ802 で次のタスクへジャンプする。ジャン
プした先からはトランスポートストリーム2のTSパケ
ットの処理911-1が開始される。パケットの処理が開始
されると、バケットのヘッダからPIDが取り出される
(ステップ911-11)。そして、PIDの値を判定し(ス
テップ911-12)、取得すべき映像データが含まれている
と判断された場合にはそのデータを映像デコーダに転送
し(ステップ911-13)、パケットの処理を完了し、ステ
ップ910-1へ戻り、タスク切り替えの判定を行う。In the process 711-1 of the task 1, the process of the transport stream 1 is performed. In the process 111-1 of the task 2, the transport stream 2 is processed. First, when the process 711-1 of the task 1 is started, the possibility of the task being switched is determined by the task switching determination 710-1. At this time, the operation has not been started, and the result of the operation is not yet in the register. If the task switching occurs, the task to be switched is determined in step 801 and the process jumps to the next task in step 802. Processing 91-1 of the TS packet of the transport stream 2 is started from the jump destination. When the processing of the packet is started, the PID is extracted from the header of the bucket (step 911-11). Then, the value of the PID is determined (step 911-12). If it is determined that the video data to be acquired is included, the data is transferred to the video decoder (step 911-13), and the packet processing is performed. Is completed, and the flow returns to step 910-1 to determine whether to switch tasks.
【0043】ここで再びタスクの切り替えが起これば、
ステップ801 で切り替えるタスクを求め、ステップ802
で次のタスクへジャンプする。ジャンプした先からはト
ランスポートストリーム1のTSパケットの処理711-1
が開始される。以降は前述と同様にして、ステップ711-
11〜ステップ711-13が実行されることになる。If task switching occurs again,
In step 801, a task to be switched is requested.
To jump to the next task. Processing of TS packet of transport stream 1 from the jump destination
Is started. Thereafter, in the same manner as described above, step 711-
11 to Step 711-13 are executed.
【0044】もしも、図10の発明の実施の形態のよう
に各TSパケットの処理単位にタスクを切り替えるタイ
ミングを合わることを行わなければ、従来例のようにパ
ケット処理中でタスクが切り替わることがあり、その場
合は取得したPID,PIDの判定結果などがレジスタ
に存在しており、これらはタスクの切り替え時に待避お
よび復帰が必要となり、タスク切り替えに伴うオーバー
ヘッドタイムが大きくなってしまう。If the task switching timing is not matched to the processing unit of each TS packet as in the embodiment of the invention shown in FIG. 10, the task may be switched during packet processing as in the conventional example. In such a case, the acquired PID, the PID determination result, and the like are present in the register, and these need to be saved and restored at the time of task switching, which increases the overhead time associated with task switching.
【0045】以上述べた本発明の実施の形態によれば、
複数のプログラムタスクの切り替えを、MPEGで規定
される処理単位のタイミングで行うので、レジスタに有
効なデータがある間には、タスク切り替えは発生せず、
したがってレジスタデータの待避,復帰に要する時間を
殆ど無くすことができる。タスク切り替えにおける無駄
時間がなくなり、DSPの負担が減少し、より高速のプ
ログラム動作が可能になる。また、DSPに対して高性
能を要求する必要がなくなる利点も生じる。According to the embodiment of the present invention described above,
Switching of a plurality of program tasks is performed at the timing of a processing unit defined by MPEG, so that task switching does not occur while valid data exists in the register.
Therefore, the time required for saving and restoring the register data can be almost eliminated. There is no dead time in task switching, the load on the DSP is reduced, and a faster program operation is possible. Further, there is an advantage that it is not necessary to request high performance from the DSP.
【0046】尚、本発明はディジタル放送受信装置に限
らず、MPEG方式を用いた各種のビデオ機器、放送機
器、通信機器、記録再生機器に応用することが可能であ
る。The present invention is not limited to a digital broadcast receiving apparatus, but can be applied to various video equipment, broadcast equipment, communication equipment, and recording / reproducing equipment using the MPEG system.
【0047】[0047]
【発明の効果】以上述べたように本発明によれば、タス
クの切り替え処理にかかる時間を短縮することが可能と
なる。同一のハードウェアでも、より多くの処理を実行
することができ、かつ、DSPの負担が減少し、DSP
に対して高い性能を要求する必要がなくなる。As described above, according to the present invention, it is possible to reduce the time required for task switching processing. Even with the same hardware, more processing can be executed, and the load on the DSP is reduced.
It is no longer necessary to request high performance.
【図1】本発明の一実施の形態に係るMPEGデコード
処理を示すフローチャート。FIG. 1 is a flowchart showing MPEG decoding processing according to an embodiment of the present invention.
【図2】ディジタル放送受信装置における、DSPを用
いたMPEGデコード処理回路の構成を示すブロック
図。FIG. 2 is a block diagram showing a configuration of an MPEG decoding processing circuit using a DSP in the digital broadcast receiving apparatus.
【図3】図1及び図2におけるDSPで処理されるプロ
グラムのフローチャート。FIG. 3 is a flowchart of a program processed by the DSP in FIGS. 1 and 2;
【図4】図1におけるタスク切り替え判定処理の第1の
実施の形態を示すフローチャート。FIG. 4 is a flowchart showing a first embodiment of a task switching determination process in FIG. 1;
【図5】図1におけタスク切り替え判定処理の第2の実
施の形態を示すフローチャート。FIG. 5 is a flowchart showing a second embodiment of the task switching determination process in FIG. 1;
【図6】図1におけるタスク切り替え処理の内容を示す
フローチャート。FIG. 6 is a flowchart showing the contents of a task switching process in FIG. 1;
【図7】図1のブロック層の処理の前段においてタスク
切り替えが起きた時の処理の流れを説明する図。FIG. 7 is a view for explaining the flow of processing when task switching occurs in a stage prior to the processing of the block layer in FIG. 1;
【図8】MPEG2トランスポートパケットのデータ構
造を示す図。FIG. 8 is a diagram showing a data structure of an MPEG2 transport packet.
【図9】本発明の他の実施の形態に係る、DSPで複数
のトランスポートストリームを処理する場合のフローチ
ャート。FIG. 9 is a flowchart for processing a plurality of transport streams by a DSP according to another embodiment of the present invention.
【図10】図9のトランスポートストリームのTSパケ
ットの処理の前段においてタスク切り替えが起きた時の
処理の流れを説明する図。10 is an exemplary view for explaining the flow of processing when task switching has occurred in the first stage of processing of TS packets of the transport stream in FIG. 9;
【図11】従来のDSPで処理されるプログラムのフロ
ーチャート。FIG. 11 is a flowchart of a program processed by a conventional DSP.
【図12】図11におけるデコード処理の内容を示すフ
ローチャート。FIG. 12 is a flowchart showing the contents of a decoding process in FIG. 11;
【図13】従来のタスク切り替え処理を示すフローチャ
ート。FIG. 13 is a flowchart showing a conventional task switching process.
101…シーケンス層の処理、103…GOP層の処
理、105…ピクチャ層の処理、107…スライス層の
処理、109…マクロブロック層の処理、111…ブロ
ック層の処理、102,104,106,108,11
0…タスク切り替え判定処理、200…タスク切り替え
処理、400…MPEGデコード処理回路。101: processing of sequence layer, 103: processing of GOP layer, 105: processing of picture layer, 107: processing of slice layer, 109: processing of macroblock layer, 111: processing of block layer, 102, 104, 106, 108 , 11
0: task switching determination processing, 200: task switching processing, 400: MPEG decoding processing circuit.
─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───
【手続補正書】[Procedure amendment]
【提出日】平成10年2月12日[Submission date] February 12, 1998
【手続補正1】[Procedure amendment 1]
【補正対象書類名】図面[Document name to be amended] Drawing
【補正対象項目名】全図[Correction target item name] All figures
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【図1】 FIG.
【図2】 FIG. 2
【図3】 FIG. 3
【図4】 FIG. 4
【図5】 FIG. 5
【図6】 FIG. 6
【図7】 FIG. 7
【図8】 FIG. 8
【図9】 FIG. 9
【図11】 FIG. 11
【図13】 FIG. 13
【図10】 FIG. 10
【図12】 FIG.
Claims (2)
像や音声のストリームをデコードするデコード処理回路
であって、前記複数のストリームをデコード処理する複
数のプログラムタスクをそれぞれ切り替えながら信号処
理を実行し、その際、前記複数のプログラムタスクの切
り替えは、MPEGで規定される処理の単位ごとのタイ
ミングで行われることを特徴とするデコード処理回路。1. A decoding processing circuit for decoding a plurality of video and audio streams encoded by the MPEG system, wherein the signal processing is executed while switching a plurality of program tasks for decoding the plurality of streams, respectively. In this case, the switching of the plurality of program tasks is performed at a timing for each processing unit specified by MPEG.
て、前記MPEGで規定される処理単位は、MPEG2
ビデオレイヤで規定されるブロック,マクロブロック,
スライス,ピクチャ,GOP,又はシーケンスか、或い
はMPEG2システムレイヤで規定されるトランスポー
トパケットであることを特徴とするデコード処理回路。2. The decoding circuit according to claim 1, wherein the processing unit defined by the MPEG is MPEG2.
Blocks, macroblocks,
A decoding processing circuit, which is a slice, a picture, a GOP, a sequence, or a transport packet defined by an MPEG2 system layer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2610398A JPH11225333A (en) | 1998-02-06 | 1998-02-06 | Decode processing circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2610398A JPH11225333A (en) | 1998-02-06 | 1998-02-06 | Decode processing circuit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11225333A true JPH11225333A (en) | 1999-08-17 |
Family
ID=12184271
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2610398A Pending JPH11225333A (en) | 1998-02-06 | 1998-02-06 | Decode processing circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11225333A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6765961B2 (en) | 2000-04-17 | 2004-07-20 | Renesas Technology Corp. | Encoding device mounted on one chip for multiplexing video signal and audio signal |
-
1998
- 1998-02-06 JP JP2610398A patent/JPH11225333A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6765961B2 (en) | 2000-04-17 | 2004-07-20 | Renesas Technology Corp. | Encoding device mounted on one chip for multiplexing video signal and audio signal |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6014178A (en) | Receiver having analog and digital video modes and receiving method thereof | |
| US6091458A (en) | Receiver having analog and digital video modes and receiving method thereof | |
| US6310921B1 (en) | Media processing apparatus which operates at high efficiency | |
| US5557332A (en) | Apparatus and method for reproducing a prediction-encoded video signal | |
| US5739862A (en) | Reverse playback of MPEG video | |
| US6871001B1 (en) | Video decoder | |
| US20030133506A1 (en) | Image processor controlling b-picture memory | |
| JPH08214312A (en) | Syntax parser for video decompression processor | |
| US20070291131A1 (en) | Apparatus and Method for Controlling Image Coding Mode | |
| CN1989769B (en) | Method, processor and system for direct memory access | |
| US8228988B2 (en) | Encoding device, encoding method, decoding device, and decoding method | |
| JPH1042295A (en) | Video signal encoding method and video signal encoder | |
| KR20030011345A (en) | Scalable MPEG-2 video decoder with selective motion compensation | |
| JP2001251620A (en) | Image data processor and motion compensation processing method used therefor | |
| WO1995002947A1 (en) | Image signal reproducing method and image signal reproducing apparatus | |
| EP1089567A1 (en) | Video processing device and method, and medium | |
| US6097843A (en) | Compression encoding apparatus, encoding method, decoding apparatus, and decoding method | |
| US5969763A (en) | Decoding system for motion picture data | |
| KR100556357B1 (en) | MPEG video decoding system supports digital video format | |
| JPH11225333A (en) | Decode processing circuit | |
| KR19990028747A (en) | Method for decoding and coding compressed video data streams with reduced memory requirements | |
| US20050080784A1 (en) | Data processing system | |
| JPH11168729A (en) | Image decoding apparatus and image decoding method | |
| JPH0779411A (en) | Video signal reproduction method, picture signal reproduction device and picture signal recording medium | |
| US6298091B1 (en) | Method to play audio and video clips through MPEG decoders |