JP2002325255A - Decoding apparatus, decoding method and program for causing computer to perform the method - Google Patents
Decoding apparatus, decoding method and program for causing computer to perform the methodInfo
- Publication number
- JP2002325255A JP2002325255A JP2001128398A JP2001128398A JP2002325255A JP 2002325255 A JP2002325255 A JP 2002325255A JP 2001128398 A JP2001128398 A JP 2001128398A JP 2001128398 A JP2001128398 A JP 2001128398A JP 2002325255 A JP2002325255 A JP 2002325255A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- unit
- decoding
- processing unit
- units
- 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
- 238000000034 method Methods 0.000 title claims description 133
- 238000013139 quantization Methods 0.000 claims abstract description 44
- 238000010586 diagram Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 2
- 101100366710 Arabidopsis thaliana SSL12 gene Proteins 0.000 description 1
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 101100366563 Panax ginseng SS13 gene Proteins 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明は、復号装置、復号
方法およびその方法をコンピュータに実行させるプログ
ラムに関し、特に、デコーダの各処理部を効率的に動作
させ、復号処理の高速化を図ることができる復号装置、
復号方法およびプログラムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a decoding apparatus, a decoding method, and a program for causing a computer to execute the method. More particularly, the present invention aims to efficiently operate each processing unit of a decoder to speed up decoding processing. Decoding device,
The present invention relates to a decoding method and a program.
【0002】[0002]
【従来の技術】従来より、MPEG(エムペグ:moving
picture experts group)と呼ばれる圧縮符号化方式に
より動画像を符号化して得られた符号化ストリームを復
号する復号装置がある。このような復号装置としては、
符号化ストリームの先頭から順に配置された可変長の符
号化データを一つずつ逐次的に復号するものが一般的で
あったが、最近では、符号化ストリームを所定単位ごと
に複数の処理系に振り分けることにより、復号処理を並
行しておこなうものも知られている。2. Description of the Related Art Conventionally, MPEG (MPEG: moving)
There is a decoding device that decodes an encoded stream obtained by encoding a moving image by a compression encoding method called a picture experts group. As such a decoding device,
In general, variable-length coded data arranged sequentially from the beginning of the coded stream is sequentially decoded one by one, but recently, the coded stream is transmitted to a plurality of processing systems for each predetermined unit. It is also known to perform the decoding process in parallel by sorting.
【0003】図11は、復号処理を並行しておこなう復
号装置の構成を示す図である。同図に示すように、この
従来技術に係る復号装置は、ストリームバッファ101
と、ストリームバッファ制御部102と、デコーダ制御
部103と、複数のデコーダ110と、画像メモリ12
0とを備え、さらに、各デコーダ110は、可変長復号
化部(VLD)111と、逆量子化部(IQ)112
と、逆スキャン部(IS)113と、逆DCT部(ID
CT)114と、動き補償部(MC)115とを備え
る。FIG. 11 is a diagram showing a configuration of a decoding apparatus that performs decoding processing in parallel. As shown in FIG. 1, the decoding device according to the related art includes a stream buffer 101.
, A stream buffer control unit 102, a decoder control unit 103, a plurality of decoders 110, an image memory 12
0, and each decoder 110 includes a variable length decoding unit (VLD) 111 and an inverse quantization unit (IQ) 112
, An inverse scan unit (IS) 113, and an inverse DCT unit (ID
CT) 114 and a motion compensation unit (MC) 115.
【0004】この復号装置による復号処理の手順を説明
すると、先ず、ストリームバッファ制御部102は、外
部から入力された符号化ストリームをストリームバッフ
ァ101に書き込む。なお、このストリームバッファ1
01への書き込みに際しては、符号化ストリームを構成
する各スライスのスタートコードが書き込まれる位置も
スタートコード情報として書き込まれる。[0004] The decoding process performed by the decoding apparatus will be described. First, the stream buffer control unit 102 writes an externally input coded stream into the stream buffer 101. This stream buffer 1
When writing to 01, the position where the start code of each slice forming the encoded stream is written is also written as start code information.
【0005】続いて、デコーダ制御部103は、ストリ
ームバッファ101に書き込まれたスタートコード情報
を参照して、ストリームバッファ101に書き込まれた
符号化ストリームをスライス単位ごとに各デコーダ11
0に順次入力する。そして、各デコーダ110は、入力
されたスライスを順次復号し、復号した画素データを画
像メモリ120に順次書き込む。[0005] Subsequently, the decoder control unit 103 refers to the start code information written in the stream buffer 101 and converts the encoded stream written in the stream buffer 101 into slice units for each decoder.
0 is sequentially input. Then, each decoder 110 sequentially decodes the input slice, and sequentially writes the decoded pixel data to the image memory 120.
【0006】このデコーダ110による復号処理は、具
体的には、可変長復号化部111が、可変長の符号化デ
ータを復号して量子化DCT係数を復元する処理、逆量
子化部112が、可変長復号化部111により復元され
た量子化DCT係数を逆量子化してDCT係数を復元す
る処理、逆スキャン部113が、逆量子化部112によ
り復元されたDCT係数を逆スキャンする処理、逆DC
T部(逆離散コサイン変換部)114が、逆スキャン部
113により逆スキャンされたDCT係数を逆DCT変
換して画素データを復元する処理、動き補償部115
は、逆DCT部114により復元された画素データに対
して動き補償をおこない、この動き補償をおこなった画
素データを画像メモリ120に書き込む処理、という各
処理段階を経ておこなわれる。More specifically, the decoding process by the decoder 110 is a process in which the variable-length decoding unit 111 decodes the variable-length coded data and restores the quantized DCT coefficients. A process of dequantizing the quantized DCT coefficient restored by the variable-length decoding unit 111 to restore the DCT coefficient; a process of the inverse scanning unit 113 scanning the DCT coefficient restored by the inverse quantization unit 112 in reverse; DC
A T unit (inverse discrete cosine transform unit) 114 for inverse DCT transforming the DCT coefficient inversely scanned by the inverse scan unit 113 to restore pixel data; a motion compensation unit 115
Is performed through each processing step of performing motion compensation on the pixel data restored by the inverse DCT unit 114, and writing the motion-compensated pixel data into the image memory 120.
【0007】このように、図11に示した従来技術に係
る復号装置は、複数のデコーダ110を備え、各デコー
ダ110が符号化ストリームをスライス単位で並行して
復号することにより、1つの処理系しか有しない復号装
置に比較して、復号処理を高速におこなっている。As described above, the decoding apparatus according to the prior art shown in FIG. 11 includes a plurality of decoders 110, and each decoder 110 decodes the coded stream in a slice unit in parallel, thereby providing one processing system. The decoding process is performed at a higher speed than a decoding device having only this.
【0008】[0008]
【発明が解決しようとする課題】しかしながら、上記の
従来技術は、複数のデコーダ110を並列に備えること
により、各デコーダ110が単純に並行して処理をおこ
なうものに過ぎず、復号処理の高速化を図るには自ずと
限界があるという問題点があった。However, in the above-mentioned prior art, a plurality of decoders 110 are provided in parallel, so that each decoder 110 simply performs processing in parallel. There was a problem that there was a limit to achieving this.
【0009】すなわち、デコーダ110の各処理部(可
変長復号化部111、逆量子化部112、逆スキャン部
113、逆DCT部114および動き補償部115)の
処理時間は、常に一定であるわけではなく、処理対象と
なるデータの構成(サイズ)によって変わるものであ
る。That is, the processing time of each processing unit (variable length decoding unit 111, inverse quantization unit 112, inverse scan unit 113, inverse DCT unit 114, and motion compensation unit 115) of the decoder 110 is not always constant. Instead, it depends on the configuration (size) of the data to be processed.
【0010】例えば、処理対象となるデータがマクロブ
ロックスキップやブロックスキップなどのように空のデ
ータである場合には、可変長復号化部111、逆量子化
部112、逆スキャン部113および逆DCT部114
の各処理部の処理時間は短いが、動き補償部115の処
理時間は長くなる。一方、処理対象となるデータがイン
トラマクロブロックのように空がないデータである場合
には、動き補償部115の処理時間は短いが、可変長復
号化部111、逆量子化部112、逆スキャン部113
および逆DCT部114の各処理部の処理時間は長くな
る。For example, if the data to be processed is empty data such as a macroblock skip or a block skip, the variable length decoding unit 111, the inverse quantization unit 112, the inverse scan unit 113, and the inverse DCT Part 114
Although the processing time of each processing unit is short, the processing time of the motion compensation unit 115 is long. On the other hand, when the data to be processed is data that does not have a space like an intra macro block, the processing time of the motion compensation unit 115 is short, but the variable length decoding unit 111, the inverse quantization unit 112, and the inverse scan Part 113
In addition, the processing time of each processing unit of the inverse DCT unit 114 becomes longer.
【0011】このようにデコーダ110の各処理部の処
理時間は、処理対象となるデータの構成によって変わる
ものであるため、上記の従来技術に係る復号装置のよう
に複数のデコーダ110を単純に並列に設けるだけで
は、各デコーダ110の各処理部を効率的に動作させる
ことができない。As described above, the processing time of each processing unit of the decoder 110 varies depending on the configuration of data to be processed. Therefore, a plurality of decoders 110 are simply connected in parallel as in the above-described decoding apparatus according to the prior art. , It is not possible to operate each processing unit of each decoder 110 efficiently.
【0012】これを具体的に説明すると、例えば、一つ
のデコーダ110がブロックスキップを処理し、他の一
つのデコーダ110がイントラブロックを処理するよう
な場合、前者のデコーダ110においては、可変長復号
化部111、逆量子化部112、逆スキャン部113お
よび逆DCT部114の各処理部の処理は早急に終了す
るが、動き補償部115の処理は早急には終了しない。
一方、後者のデコーダ110においては、可変長復号化
部111、逆量子化部112、逆スキャン部113およ
び逆DCT部114の各処理部の処理は早急には終了し
ないが、動き補償部115の処理は早急に終了する。つ
まり、一方のデコーダ110では処理が早急には終了せ
ず処理実行中である処理部が、他方のデコーダ110で
は処理が早急に終了して休止状態になってしまう。More specifically, for example, when one decoder 110 processes a block skip and another decoder 110 processes an intra block, the former decoder 110 performs variable length decoding. The processing of each processing unit of the transforming unit 111, the inverse quantization unit 112, the inverse scanning unit 113, and the inverse DCT unit 114 ends immediately, but the processing of the motion compensation unit 115 does not end immediately.
On the other hand, in the latter decoder 110, the processing of each processing unit of the variable length decoding unit 111, the inverse quantization unit 112, the inverse scan unit 113, and the inverse DCT unit 114 does not end immediately, but the processing of the motion compensation unit 115 The process ends immediately. In other words, the processing unit in which the processing is not being executed immediately in one decoder 110 and the processing is being executed, and the processing in the other decoder 110 is ended immediately and is in a halt state.
【0013】このため、上記の従来技術に係る復号装置
においては、同様の処理を並行して実行することができ
るように、各デコーダ110が同様の処理部を備えてい
るにもかかわらず、各デコーダ110の各処理部を休み
なく効率的に動作させることができず、復号処理の高速
化を図るには自ずと限界があった。For this reason, in the decoding apparatus according to the prior art, each decoder 110 is provided with the same processing unit so that the same processing can be performed in parallel. Each processing unit of the decoder 110 cannot be operated efficiently without a break, and there has been a limit to speeding up the decoding process.
【0014】そこで、この発明は、上述した従来技術に
よる問題点を解消するためになされたものであり、デコ
ーダの各処理部を効率的に動作させ、復号処理の高速化
を図ることができる復号装置、復号方法およびその方法
をコンピュータに実行させるプログラムを提供すること
を目的とする。Therefore, the present invention has been made to solve the above-mentioned problems of the prior art, and it is possible to efficiently operate each processing unit of the decoder and to speed up the decoding process. An object is to provide an apparatus, a decoding method, and a program for causing a computer to execute the method.
【0015】[0015]
【課題を解決するための手段】上述した課題を解決し、
目的を達成するため、請求項1の発明に係る復号装置
は、符号化ストリームを可変長復号化処理する処理段
階、逆量子化処理をする処理段階、逆離散コサイン変換
処理をする処理段階および動き補償処理をする処理段階
を経て前記符号化ストリームを復号する復号装置であっ
て、各処理段階での処理をおこなう一または複数の処理
部を各処理段階ごとに設け、各処理部は、後続する処理
段階の処理をおこなう処理部による処理が可能か否かを
判定する判定手段と、前記判定手段により処理可能と判
定された処理部に対して処理済みのデータを出力する出
力手段と、を備えたことを特徴とする。Means for Solving the Problems The above-mentioned problems are solved,
In order to achieve the object, a decoding apparatus according to the first aspect of the present invention includes a processing step of performing variable length decoding processing on an encoded stream, a processing step of performing inverse quantization processing, a processing step of performing inverse discrete cosine transform processing, and a motion. A decoding device that decodes the encoded stream through a processing step of performing a compensation process, wherein one or a plurality of processing units that perform processing in each processing step are provided for each processing step, and each processing unit is Determining means for determining whether or not processing by a processing unit that performs processing at the processing stage is possible; and output means for outputting processed data to the processing unit determined to be processable by the determining means. It is characterized by having.
【0016】また、請求項2の発明に係る復号装置は、
請求項1に記載の発明において、前記各処理部は、処理
を開始してから該処理を終了するまでの間、処理実行中
である旨を報知する報知手段をさらに備え、前記判定手
段は、前記報知手段により処理実行中である旨が報知さ
れている場合には、該処理部による処理が不可能である
ものと判定することを特徴とする。Further, the decoding device according to the second aspect of the present invention,
The invention according to claim 1, wherein each of the processing units further includes a notifying unit that notifies that the process is being executed from the start of the process to the end of the process, and the determination unit includes: When the notification unit notifies that the processing is being executed, it is determined that the processing by the processing unit is impossible.
【0017】また、請求項3の発明に係る復号装置は、
請求項1または2に記載の発明において、前記各処理部
のうちから選択した所定の処理部を処理不能に制御する
処理不能制御手段をさらに備え、前記出力手段は、前記
処理不能制御手段により処理不能に制御された処理部以
外の処理部に対して処理済みのデータを出力することを
特徴とする。Further, the decoding device according to the third aspect of the present invention
3. The invention according to claim 1, further comprising processing disable control means for controlling a predetermined processing unit selected from among the processing units so that processing is disabled, and wherein the output means performs processing by the processing disable control means. The processed data is output to a processing unit other than the processing unit controlled to be disabled.
【0018】また、請求項4の発明に係る復号装置は、
請求項1、2または3に記載の発明において、前記可変
長復号化処理をおこなう各処理部は、前記処理済みのデ
ータが前記逆量子化処理および逆離散コサイン変換処理
の処理段階を省略することが可能なデータであるか否か
を判定する省略判定手段と、前記省略判定手段により省
略可能と判定された処理済みのデータを前記動き補償処
理をおこなう処理部に対してスキップして出力するスキ
ップ出力手段と、をさらに備えたことを特徴とする。Further, the decoding device according to the invention of claim 4 is:
4. The processing unit according to claim 1, 2 or 3, wherein each of the processing units performing the variable-length decoding process omits a processing step of the inverse quantization process and the inverse discrete cosine transform process on the processed data. Determination skipping means for determining whether or not the data is possible, and a skip for skipping and outputting the processed data determined to be omissible by the omission determination means to the processing unit performing the motion compensation processing And output means.
【0019】また、請求項5の発明に係る復号装置は、
請求項1〜4のいずれか一つに記載の発明において、前
記各処理部は、処理の開始からの時間を計時する計時手
段と、前記計時手段により計時された時間が所定の時間
を超えた場合に、実行中の処理を強制的に終了する強制
終了手段と、をさらに備えたことを特徴とする。Further, a decoding device according to a fifth aspect of the present invention,
In the invention according to any one of claims 1 to 4, each of the processing units includes a timer unit that counts time from the start of processing, and a time period counted by the timer unit exceeds a predetermined time. In this case, a forced ending means for forcibly terminating the process being executed is further provided.
【0020】また、請求項6の発明に係る復号装置は、
請求項1〜5のいずれか一つに記載の発明において、前
記可変長復号化処理をおこなう各処理部に対して、前記
符号化ストリームをスライス単位で分配して出力する分
配出力手段をさらに備えたことを特徴とする。Further, the decoding device according to the invention of claim 6 provides:
The invention according to any one of claims 1 to 5, further comprising a distribution output unit that distributes and outputs the encoded stream in slice units to each processing unit that performs the variable length decoding process. It is characterized by having.
【0021】また、請求項7の発明に係る復号装置は、
請求項1〜5のいずれか一つに記載の発明において、前
記可変長復号化処理をおこなう各処理部に対して、前記
符号化ストリームをロウ単位で分配して出力する分配出
力手段をさらに備えたことを特徴とする。The decoding device according to the invention of claim 7 is
The invention according to any one of claims 1 to 5, further comprising a distribution output unit that distributes and outputs the coded stream in units of rows to each processing unit that performs the variable length decoding process. It is characterized by having.
【0022】また、請求項8の発明に係る復号装置は、
請求項1〜5のいずれか一つに記載の発明において、前
記可変長復号化処理をおこなう各処理部に対して、前記
符号化ストリームをマクロブロック単位で分配して出力
する分配出力手段をさらに備えたことを特徴とする。Further, the decoding device according to the invention of claim 8 provides:
The invention according to any one of claims 1 to 5, further comprising a distribution output unit that distributes and outputs the encoded stream in macroblock units to each processing unit that performs the variable length decoding process. It is characterized by having.
【0023】また、請求項9の発明に係る復号方法は、
符号化ストリームを可変長復号化処理する処理段階、逆
量子化処理をする処理段階、逆離散コサイン変換処理を
する処理段階および動き補償処理をする処理段階の各処
理段階ごとに各処理段階での処理をおこなう一または複
数の処理部を有し、各処理段階を経て前記符号化ストリ
ームを復号する復号装置における復号方法であって、各
処理部が、後続する処理段階の処理をおこなう処理部に
よる処理が可能か否かを判定する判定工程と、前記判定
手段により処理可能と判定された処理部に対して処理済
みのデータを出力する出力工程と、を含んだことを特徴
とする。Further, the decoding method according to the ninth aspect of the present invention,
Each processing step includes a processing step of performing a variable-length decoding process on an encoded stream, a processing stage of performing an inverse quantization process, a processing stage of performing an inverse discrete cosine transform process, and a processing stage of performing a motion compensation process. A decoding method for a decoding device having one or a plurality of processing units for performing processing and decoding the encoded stream through each processing step, wherein each processing unit performs processing in a subsequent processing step. It is characterized by including a determining step of determining whether or not processing is possible and an output step of outputting processed data to a processing unit determined to be capable of processing by the determining unit.
【0024】また、請求項10の発明に係るプログラム
は、符号化ストリームを可変長復号化処理する処理段
階、逆量子化処理をする処理段階、逆離散コサイン変換
処理をする処理段階および動き補償処理をする処理段階
の各処理段階ごとに各処理段階での処理をおこなう一ま
たは複数の処理部を有し、各処理段階を経て前記符号化
ストリームを復号する復号装置における復号方法をコン
ピュータに実行させるプログラムであって、各処理部
が、後続する処理段階の処理をおこなう処理部による処
理が可能か否かを判定する判定工程と、前記判定手段に
より処理可能と判定された処理部に対して処理済みのデ
ータを出力する出力工程と、をコンピュータに実行させ
ることを特徴とする。According to a tenth aspect of the present invention, there is provided a program for performing a variable length decoding process on an encoded stream, a process stage for performing an inverse quantization process, a process stage for performing an inverse discrete cosine transform process, and a motion compensation process. One or a plurality of processing units for performing the processing in each processing step for each processing step of performing the processing, and causing a computer to execute a decoding method in a decoding device that decodes the encoded stream through each processing step A program, wherein each processing unit determines whether or not processing by a processing unit that performs processing in a subsequent processing stage is possible; and processing is performed on the processing unit determined to be processable by the determination unit. And outputting an already-processed data to a computer.
【0025】[0025]
【発明の実施の形態】以下に添付図面を参照して、この
発明に係る復号装置、復号方法、およびその方法をコン
ピュータに実行させるプログラムの好適な実施の形態を
詳細に説明する。なお、本実施の形態では、本発明をM
PEG2方式により符号化されたMPEG2ビットスト
リームという符号化ストリームを復号する復号装置に適
用した場合を説明するが、MPEG1やMPEG4な
ど、あらゆる画像符号化方式により符号化された符号化
された符号化ストリームを復号する場合にも同様に適用
することができる。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of a decoding device, a decoding method, and a program for causing a computer to execute the method according to the present invention will be described below in detail with reference to the accompanying drawings. In the present embodiment, the present invention is referred to as M
A case where the present invention is applied to a decoding device that decodes an encoded stream called an MPEG2 bit stream encoded according to the PEG2 method will be described. However, an encoded stream encoded according to any image encoding method such as MPEG1 or MPEG4 is described. Can be similarly applied to the decoding of
【0026】(MPEG2ビットストリームのデータ構
造)まず、本実施の形態に係る復号装置の復号対象であ
るMPEG2ビットストリームのデータ構造について図
1〜図3を用いて説明する。図1は、MPEG2ビット
ストリームのデータ構造を説明するための図であり、図
2は、MPEG2ビットストリームと画面との対応関係
を説明するための図であり、図3は、MPEG2ビット
ストリームのスタートコードを説明するための図であ
る。(Data Structure of MPEG2 Bit Stream) First, the data structure of an MPEG2 bit stream to be decoded by the decoding apparatus according to the present embodiment will be described with reference to FIGS. FIG. 1 is a diagram for explaining the data structure of the MPEG2 bit stream, FIG. 2 is a diagram for explaining the correspondence between the MPEG2 bit stream and the screen, and FIG. FIG. 4 is a diagram for explaining codes.
【0027】MPEG2ビットストリームのデータは、
復号装置側で正しく受け取ることができるように、その
データ構造が細かく決められており、具体的には、図1
に示すように、シーケンス、GOP(Group of Pictur
e)、ピクチャ、スライス、マクロブロック、ブロック
という階層構造を有する。The data of the MPEG2 bit stream is
The data structure is determined in detail so that the decoding device can correctly receive the data.
As shown in the sequence, GOP (Group of Pictur
e) has a hierarchical structure of pictures, slices, macroblocks, and blocks.
【0028】このうち、シーケンスは、1つ以上のGO
Pから構成され、一般に1つのビデオプログラム全体の
符号化信号に相当する。このシーケンスは、シーケンス
ヘッダで始まり、シーケンスエンドで終了するが、シー
ケンスヘッダには、画像の大きさを表す情報、1秒間に
符号化するフレームの数、通信速度など、シーケンス全
体に関連する情報が含まれる。また、シーケンスヘッダ
に続いて、MPEG2の符号化信号であることを表す機
能拡張情報が挿入され、入力画像信号形式などが指定さ
れる。The sequence includes one or more GOs.
P and generally corresponds to an encoded signal of one entire video program. The sequence starts with a sequence header and ends with a sequence end. The sequence header includes information related to the entire sequence, such as information indicating the size of an image, the number of frames to be encoded in one second, and the communication speed. included. After the sequence header, function extension information indicating that the signal is an MPEG2 coded signal is inserted, and the input image signal format and the like are specified.
【0029】GOPは、フレーム内符号化が可能なIピ
クチャ、過去のフレームのみを用いて前方向の動き補償
をおこなうPピクチャ、および過去と未来の両方のフレ
ームを用いて双方向の動き補償をおこなうBピクチャの
うち、1つ以上のピクチャから構成される。なお、各G
OPの最初のピクチャとしては、必ずIピクチャが挿入
され、GOPヘッダには、画像復元時に音声などとの時
間合わせを可能とするためのタイムスタンプ情報などが
含まれる。A GOP is an I picture that can be intra-coded, a P picture that performs forward motion compensation using only past frames, and a bidirectional motion compensation using both past and future frames. It consists of one or more pictures among the B pictures to be performed. Note that each G
An I picture is always inserted as the first picture of the OP, and the GOP header includes time stamp information and the like for enabling time alignment with audio or the like at the time of image restoration.
【0030】ピクチャは、1つ以上のスライスから構成
され、図2に示すように、動画像信号を構成する1枚の
画面(m画素×nライン)に相当する。このピクチャの
ピクチャヘッダには、I、P、Bピクチャを識別するた
めの情報や、各ピクチャの表示順序を指定する情報など
が含まれる。また、ピクチャヘッダに続く機能拡張情報
には、フレーム構造/フィールド構造の設定など、MP
EG2で導入されている機能を指定する情報が含まれ
る。A picture is composed of one or more slices and, as shown in FIG. 2, corresponds to one screen (m pixels × n lines) constituting a moving image signal. The picture header of this picture includes information for identifying I, P, and B pictures, information for specifying the display order of each picture, and the like. In addition, the function extension information following the picture header includes MP frame information such as frame / field structure settings.
Information that specifies a function introduced in EG2 is included.
【0031】スライスは、左から右への1つ以上のマク
ロブロックから構成され、スライス情報には、量子化特
性を表す情報など、このスライス内で使用される符号化
情報が含まれる。なお、マクロブロックの並びは、通信
回線でのエラーの影響が画面上で縦方向に及ばないよう
に、左から右へ延びるだけで、さらに上から下へ延びる
ことは許されていない。A slice is composed of one or more macroblocks from left to right, and the slice information includes coded information used in this slice, such as information indicating a quantization characteristic. It should be noted that the arrangement of the macroblocks extends only from left to right, and is not allowed to extend further from top to bottom so that the influence of an error in the communication line does not extend in the vertical direction on the screen.
【0032】マクロブロックは、図2に示すように、
4:2:0のフォーマット時には、8×8のY信号ブロ
ック4個と、8×8のCr信号ブロック1個と、8×8
のCb信号ブロック1個とから構成される。なお、マク
ロブロック情報には、マクロブロック単位で符号化制御
をおこなうための情報などが含まれる。As shown in FIG.
In the 4: 2: 0 format, four 8 × 8 Y signal blocks, one 8 × 8 Cr signal block, and 8 × 8
, And one Cb signal block. Note that the macroblock information includes information for performing coding control in macroblock units.
【0033】ブロックは、図2に示すように、4:2:
0のフォーマット時には、8×8のY信号、Cr信号、
Cb信号いずれかのDCT係数データから構成される。
なお、このDCT係数データは、連続する可変長の符号
化データとして構成されるが(図5参照)、各ブロック
は、EOB(End of Block)コードで終了する。As shown in FIG. 2, the blocks are 4: 2:
0 format, 8 × 8 Y signal, Cr signal,
It is composed of DCT coefficient data of one of the Cb signals.
Although this DCT coefficient data is configured as continuous variable-length encoded data (see FIG. 5), each block ends with an EOB (End of Block) code.
【0034】このように、MPEG2ビットストリーム
のデータは、6層からなる階層構造を有するが、シーケ
ンス、GOP、ピクチャ、スライスの各層には、バイト
単位で配置(先頭から8の倍数のビット位置に配置)さ
れた32ビットのスタートコードが挿入されている。す
なわち、図3に示すようなスタートコードが順に挿入さ
れる。As described above, the data of the MPEG2 bit stream has a hierarchical structure consisting of six layers, but is arranged in byte units in each layer of sequence, GOP, picture, and slice (in a bit position which is a multiple of 8 from the head). ) Is inserted. That is, start codes as shown in FIG. 3 are sequentially inserted.
【0035】このスタートコードのビットパターンは、
MPEG2ビットストリーム内では、スタートコード位
置以外の位置では決して発生しないものである。このた
め、MPEG2ビットストリームを受け取った復号装置
は、かかるスタートコードを検出することにより、例え
ば、スライス単位ごとに複数の処理系にて並行して復号
処理をおこなうことができる。The bit pattern of this start code is
In the MPEG2 bit stream, it never occurs at a position other than the start code position. For this reason, the decoding device that has received the MPEG2 bit stream can perform decoding processing in parallel by a plurality of processing systems for each slice, for example, by detecting the start code.
【0036】なお、図2には、4:2:0のフォーマッ
ト時のデータ構成を示したが、本発明はこれに限定され
るものではなく、4:2:2のフォーマット時において
も同様に適用することができる。Although FIG. 2 shows the data structure in the 4: 2: 0 format, the present invention is not limited to this, and the same applies to the 4: 2: 2 format. Can be applied.
【0037】(実施の形態1)本実施の形態1では、符
号化ストリームを復号する各処理段階(可変長復号化処
理、逆量子化処理、逆DCT処理および動き補償処理)
ごとに各処理段階での処理をおこなう一または複数の処
理部を有する復号装置について説明する。(Embodiment 1) In Embodiment 1, each processing step of decoding an encoded stream (variable length decoding processing, inverse quantization processing, inverse DCT processing, and motion compensation processing)
A decoding device having one or a plurality of processing units for performing processing in each processing stage for each case will be described.
【0038】図4は、本実施の形態1に係る復号装置の
構成を示すブロック図である。同図に示すように、本実
施の形態1に係る復号装置は、ストリーム入力部11
と、スタートコード検出部12と、クロック発生部13
と、ストリームバッファ制御部14と、バッファ15
(ストリームバッファ15aおよびスタートコードバッ
ファ15b)と、ピクチャデコーダ16と、デコーダ制
御部17と、デコーダ20と、画像メモリ30とを備え
る。FIG. 4 is a block diagram showing a configuration of the decoding apparatus according to the first embodiment. As shown in the figure, the decoding device according to the first embodiment includes a stream input unit 11
, A start code detection unit 12 and a clock generation unit 13
, A stream buffer control unit 14 and a buffer 15
(Stream buffer 15a and start code buffer 15b), picture decoder 16, decoder control unit 17, decoder 20, and image memory 30.
【0039】また、デコーダ20は、同図に示すよう
に、可変長復号化部(VLD)21と、逆量子化部(I
Q)22と、逆スキャン部(IS)23と、逆DCT部
(IDCT)24と、動き補償部(MC)25とを、そ
れぞれ複数(ここでは2つ)備え、これらの各処理部
は、後続する処理段階の処理をおこなう複数の処理部そ
れぞれと配線接続される。さらに、デコーダ20の各処
理部は、フラグFをそれぞれ備える。As shown in the figure, the decoder 20 includes a variable length decoding unit (VLD) 21 and an inverse quantization unit (I
Q) 22, an inverse scan unit (IS) 23, an inverse DCT unit (IDCT) 24, and a plurality of motion compensation units (MC) 25 (two in this case). The wiring is connected to each of the plurality of processing units that perform the processing of the subsequent processing stage. Further, each processing unit of the decoder 20 includes a flag F.
【0040】概略的に、本実施の形態1に係る復号装置
は、装置外部からストリーム入力部11を介して入力さ
れたMPEG2ビットストリームをストリームバッファ
15aに蓄積し、この蓄積したMPEG2ビットストリ
ームを、デコーダ制御部17の制御によりスライス単位
ごとにデコーダ20の各可変長復号化部21に分配して
出力し、デコーダ20の各処理部の処理を経て復号され
た画像データを画像メモリ30に蓄積する。Generally, the decoding device according to the first embodiment stores an MPEG2 bit stream input from outside the device via the stream input unit 11 in the stream buffer 15a, and stores the stored MPEG2 bit stream in the stream buffer 15a. Under the control of the decoder control unit 17, the data is distributed to each variable length decoding unit 21 of the decoder 20 for each slice and output, and the image data decoded through the processing of each processing unit of the decoder 20 is stored in the image memory 30. .
【0041】ここで、本実施の形態1に係る復号装置
は、デコーダ20の各処理部により連携しておこなわれ
る処理に特徴があり、具体的には、各処理部は、後続す
る処理段階の処理をおこなう処理部による処理が可能か
否かを判定し、この判定により処理可能と判定された処
理部に対して処理済みのデータを出力することにより、
デコーダ20の各処理部を休みなく効率的に動作させ、
復号処理の高速化を図ることができるよう構成してい
る。Here, the decoding apparatus according to the first embodiment is characterized by processing performed in cooperation with each processing unit of the decoder 20. Specifically, each processing unit performs processing in a subsequent processing stage. By determining whether or not processing by the processing unit that performs the processing is possible, and by outputting processed data to the processing unit determined to be processable by this determination,
Operate each processing unit of the decoder 20 efficiently without a break,
The configuration is such that the speed of the decoding process can be increased.
【0042】次に、図4に示した復号装置における各部
の処理を説明する。ストリーム入力部11は、DVDな
どの記録媒体やインターネットなどのネットワークを介
して、装置外部から入力された符号化ストリーム(MP
EG2ビットストリーム)をスタートコード検出部12
に供給する処理部である。Next, the processing of each section in the decoding device shown in FIG. 4 will be described. The stream input unit 11 receives an encoded stream (MP) input from outside the apparatus via a recording medium such as a DVD or a network such as the Internet.
EG2 bit stream) to the start code detector 12
Is a processing unit that supplies the data to
【0043】スタートコード検出部12は、ストリーム
入力部11から入力された符号化ストリームと、所定の
スタートコード情報とをストリームバッファ制御部14
に供給する処理部である。具体的には、図3に示した符
号化ストリームの各スタートコードを検出した後に、検
出したスタートコードの種類と、そのスタートコードが
ストリームバッファ15aに書き込まれる位置を示す書
き込みポインタとを含んだスタートコード情報を生成
し、このスタートコード情報および符号化ストリームを
ストリームバッファ制御部14に供給する。The start code detection unit 12 converts the encoded stream input from the stream input unit 11 and predetermined start code information into a stream buffer control unit 14.
Is a processing unit that supplies the data to Specifically, after detecting each start code of the encoded stream shown in FIG. 3, a start including a type of the detected start code and a write pointer indicating a position where the start code is written to the stream buffer 15a. Code information is generated, and the start code information and the coded stream are supplied to the stream buffer control unit 14.
【0044】クロック発生部13は、所定の基本クロッ
クを発生させ、この基本クロックをストリームバッファ
制御部14に供給する処理部である。ストリームバッフ
ァ制御部14は、クロック発生部13から供給される基
本クロックにしたがって、スタートコード検出部12か
ら入力された符号化ストリームとスタートコード情報と
を、バッファ15のストリームバッファ15aとスター
トコードバッファ15bとにそれぞれ書き込む処理部で
ある。The clock generation unit 13 is a processing unit that generates a predetermined basic clock and supplies this basic clock to the stream buffer control unit 14. The stream buffer control unit 14 converts the encoded stream and the start code information input from the start code detection unit 12 into a stream buffer 15a and a start code buffer 15b of the buffer 15 according to the basic clock supplied from the clock generation unit 13. And a processing unit for writing to each of these.
【0045】ストリームバッファ15aは、ストリーム
バッファ制御部14から入力された符号化ストリームを
蓄積するDRAM(Dynamic Randam Access Memory)な
どのメモリであり、例えば、4:2:2P@HLの符号
化ストリームを復号化する場合には、かかる復号化に要
求されるVBVバッファサイズである47,185,9
20ビットの容量を有する。スタートコードバッファ1
5bは、ストリームバッファ制御部14から入力された
スタートコード情報を蓄積するDRAMなどのメモリで
ある。The stream buffer 15a is a memory such as a DRAM (Dynamic Random Access Memory) for storing the encoded stream input from the stream buffer control unit 14, and stores, for example, an encoded stream of 4: 2: 2P @ HL. When decoding, the VBV buffer size required for such decoding is 47,185,9.
It has a capacity of 20 bits. Start code buffer 1
Reference numeral 5b denotes a memory such as a DRAM for storing start code information input from the stream buffer control unit 14.
【0046】ピクチャデコーダ16は、ストリームバッ
ファ制御部14を介して、スタートコードバッファ15
bからスタートコード情報を読み出して、所定のデコー
ド処理をおこなう処理部である。具体的には、デコード
開始時には、シーケンスの先頭である「Sequence heade
r」からデコードが開始されるので、シーケンスのスタ
ートコードである「Sequence header code」に対応する
書き込みポインタをスタートコードバッファ15bから
読み出した後、この書き込みポインタに基づいて、スト
リームバッファ15aから「Sequence header」を読み
出してデコードを開始する。The picture decoder 16 controls the start code buffer 15 via the stream buffer controller 14.
b is a processing unit that reads out start code information from b and performs a predetermined decoding process. Specifically, at the start of decoding, the “Sequence heade”
Since the decoding starts from “r”, a write pointer corresponding to “Sequence header code” which is the start code of the sequence is read out from the start code buffer 15b, and based on the write pointer, the “Sequence header code” is read from the stream buffer 15a. And starts decoding.
【0047】そして、ピクチャデコーダ16は、この
「Sequence header」の読み出しと同様に、「Sequence
extention」、「GOP header」、「Picture coding exten
sion」などをストリームバッファ15aから読み出して
順にデコードする。このようにしてピクチャデコーダ1
6が、スタートコードバッファ15bから最初の「Slic
e start code」を読み出した時点で、そのピクチャのデ
コードに必要な全てのパラメータが揃ったことになる。
そして、ピクチャデコーダ16は、デコードしたピクチ
ャ層のパラメータをデコーダ制御部17に出力する。Then, as in the reading of the “Sequence header”, the picture decoder 16
extention, GOP header, Picture coding exten
“sion” and the like are read from the stream buffer 15a and sequentially decoded. Thus, the picture decoder 1
6 is the first “Slic” from the start code buffer 15b.
When "e start code" is read, all the parameters necessary for decoding the picture are completed.
Then, the picture decoder 16 outputs the decoded picture layer parameters to the decoder control unit 17.
【0048】デコーダ制御部17は、ストリームバッフ
ァ制御部14を介して、ストリームバッファ15aから
符号化ストリームをスライス単位ごとにデコーダ20に
分配して出力する処理部である。具体的には、ピクチャ
デコーダ16から入力されたピクチャ層のパラメータに
基づいて、スタートコードバッファ15bから対応する
スライスのスタートコード情報を読み出す。そして、デ
コーダ20内の複数の可変長復号化部21のいずれかに
デコードさせるスライスが、符号化ストリームに含まれ
る何番目のスライスであるかを示すレジスタを有し、そ
のレジスタを参照しながら、ピクチャ層のパラメータ
と、スタートコード情報に含まれるスライスの書き込み
ポインタとを、複数の可変長復号化部21のいずれかに
供給する。The decoder control unit 17 is a processing unit that distributes the coded stream from the stream buffer 15a to the decoder 20 for each slice unit via the stream buffer control unit 14, and outputs the coded stream. Specifically, based on the picture layer parameters input from the picture decoder 16, the start code information of the corresponding slice is read from the start code buffer 15b. The slice to be decoded by any one of the plurality of variable length decoding units 21 in the decoder 20 has a register indicating the number of the slice included in the encoded stream, and while referring to the register, The picture layer parameters and the slice write pointer included in the start code information are supplied to one of the plurality of variable length decoding units 21.
【0049】デコーダ20は、概略的に、デコーダ制御
部17から入力されたスライスの書き込みポインタに基
づいて、対応するスライスをストリームバッファ制御部
14を介してストリームバッファ15aから読み出し、
デコーダ制御部17から入力されたピクチャ層のパラメ
ータにしたがって、読み出したスライスを復号して画像
メモリ30に出力する処理部である。この復号処理は、
可変長復号化部21、逆量子化部22、逆スキャン部2
3、逆DCT部24および動き補償部25の各処理部に
よる処理を経ておこなわれる。以下に、デコーダ20の
各処理部の処理を説明する。The decoder 20 reads out the corresponding slice from the stream buffer 15a via the stream buffer control unit 14 based on the slice write pointer input from the decoder control unit 17, and
The processing unit decodes the read slice and outputs the decoded slice to the image memory 30 according to the picture layer parameters input from the decoder control unit 17. This decryption process
Variable length decoding unit 21, inverse quantization unit 22, inverse scan unit 2
3. The processing is performed through processing by each processing unit of the inverse DCT unit 24 and the motion compensation unit 25. The processing of each processing unit of the decoder 20 will be described below.
【0050】可変長復号化部21は、符号化ストリーム
に含まれる可変長符号化データを復号して量子化DCT
係数を復元する処理部である。具体的には、デコーダ制
御部17から入力されたスライスの書き込みポインタに
基づいて、対応するスライスをストリームバッファ制御
部14を介してストリームバッファ15aから読み出
す。そして、読み出したスライスからマクロブロックを
分離し、各マクロブロックの量子化DCT係数を復号
し、復号した量子化DCT係数を逆量子化部22に出力
する。この可変長符号化データの復号に際しては、図5
に示すような復号テーブルが参照される。The variable length decoding unit 21 decodes the variable length coded data included in the coded stream and performs quantization DCT.
This is a processing unit for restoring coefficients. Specifically, based on the slice write pointer input from the decoder control unit 17, the corresponding slice is read from the stream buffer 15a via the stream buffer control unit 14. Then, the macro block is separated from the read slice, the quantized DCT coefficient of each macro block is decoded, and the decoded quantized DCT coefficient is output to the inverse quantization unit 22. When decoding the variable-length encoded data, FIG.
Is referred to.
【0051】なお、可変長復号化部21は、予測モード
や予測ベクトルなどのパラメータの復号もおこない、復
号した予測モードおよび予測ベクトルを動き補償部25
に出力する。The variable length decoding unit 21 also decodes parameters such as a prediction mode and a prediction vector, and converts the decoded prediction mode and prediction vector into a motion compensation unit 25.
Output to
【0052】逆量子化部22は、可変長復号化部21か
ら入力された量子化DCT係数を逆量子化してDCT係
数を復号し、復号したDCT係数を逆スキャン部23に
出力する処理部である。なお、この逆量子化に際して
も、上記の可変長符号化データの復号と同様、所定の逆
量子化テーブルが参照される。The inverse quantization unit 22 is a processing unit that inversely quantizes the quantized DCT coefficient input from the variable length decoding unit 21 to decode the DCT coefficient, and outputs the decoded DCT coefficient to the inverse scan unit 23. is there. At the time of the inverse quantization, a predetermined inverse quantization table is referred to, similarly to the decoding of the variable-length coded data.
【0053】逆スキャン部23は、逆量子化部22から
入力されたDCT係数を逆スキャンし、逆スキャンした
DCT係数を逆DCT部24に出力する処理部である。
なお、図4においては、逆量子化処理をおこなった後に
逆スキャン処理をおこなう場合の構成を示しているが、
必ずしもこの順序にしたがう必要はなく、逆スキャン処
理をおこなった後に逆量子化処理をおこなう構成でもよ
い。The inverse scanning unit 23 is a processing unit that performs inverse scanning of the DCT coefficient input from the inverse quantization unit 22 and outputs the inversely scanned DCT coefficient to the inverse DCT unit 24.
FIG. 4 illustrates a configuration in which the inverse scan process is performed after the inverse quantization process is performed.
It is not always necessary to follow this order, and a configuration in which the inverse quantization process is performed after the inverse scan process is performed may be employed.
【0054】逆DCT部24は、逆スキャン部23から
入力されたDCT係数を逆DCT変換して符号化前の画
素データを復号し、復号した画素データを動き補償部2
5に出力する処理部である。The inverse DCT unit 24 performs an inverse DCT transform on the DCT coefficients input from the inverse scan unit 23 to decode pixel data before encoding, and decodes the decoded pixel data into the motion compensation unit 2.
5 is a processing unit that outputs the data to the processing unit 5.
【0055】動き補償部25は、逆DCT部24から入
力された画素データと、可変長復号化部21から入力さ
れた予測モードおよび予測ベクトルとに基づいて、動き
補償をおこない、動き補償をおこなった画素データを画
像メモリ30に書き込む処理部である。The motion compensation unit 25 performs motion compensation based on the pixel data input from the inverse DCT unit 24 and the prediction mode and the prediction vector input from the variable length decoding unit 21 to perform motion compensation. The processing unit writes the pixel data into the image memory 30.
【0056】この画像メモリ30に書き込まれた画素デ
ータは、表示出力に利用されるとともに、他の画像の参
照データとして利用される。すなわち、逆DCT部24
から入力されるマクロブロックが動き補償を使用してい
る場合には、動き補償部25は、可変長復号化部21か
ら入力される予測ベクトルにしたがって、その画素デー
タが輝度データであれば、画像メモリ30の輝度バッフ
ァから参照画素を読み込み、その画素データが色差デー
タであれば、画像メモリ30の色差バッファから参照画
素データを読み込む。そして、読み込んだ参照画素デー
タを、逆DCT部24から入力された画素データに加算
することにより動き補償をおこない、かかる動き補償を
おこなった画素データを画像メモリ30に書き込む。The pixel data written in the image memory 30 is used for display output and as reference data for another image. That is, the inverse DCT unit 24
In the case where the macroblock input from the image data uses motion compensation, the motion compensator 25 determines whether the pixel data is luminance data according to the prediction vector input from the variable-length decoder 21. The reference pixel is read from the luminance buffer of the memory 30, and if the pixel data is the color difference data, the reference pixel data is read from the color difference buffer of the image memory 30. Then, motion compensation is performed by adding the read reference pixel data to the pixel data input from the inverse DCT unit 24, and the pixel data on which the motion compensation has been performed is written to the image memory 30.
【0057】本実施の形態1に係る復号装置において
は、デコーダ20が、上記した可変長復号化部21、逆
量子化部22、逆スキャン部23、逆DCT部24およ
び動き補償部25の各処理部をそれぞれ複数備える。そ
して、各処理部は、処理を開始してから該処理を終了す
るまでの間、処理実行中である旨を報知するフラグFを
備え、後続する処理段階の処理をおこなう処理部による
処理が可能か否かをフラグFにより判定し、処理可能と
判定された処理部に対して処理済みのデータを出力す
る。In the decoding device according to the first embodiment, the decoder 20 includes the variable length decoding unit 21, the inverse quantization unit 22, the inverse scan unit 23, the inverse DCT unit 24, and the motion compensation unit 25. A plurality of processing units are provided. Each processing unit is provided with a flag F for notifying that the processing is being executed from the start of the processing to the end of the processing, and processing by the processing unit that performs processing in the subsequent processing stage is possible. Whether or not the data is processed is determined by the flag F, and the processed data is output to the processing unit determined to be processable.
【0058】すなわち、各処理部は、処理対象となるデ
ータの単位ごとに、処理を開始してから処理を終了する
までの間、フラグFを立てることにより処理実行中であ
る旨を報知し、他の各処理部は、処理実行中である旨が
報知されている場合には、該処理部による処理が不可能
であるものと判定する。例えば、可変長復号化部21
は、ストリームバッファ15aからスライス単位ごとに
処理対象となるデータを受け取り、マクロブロック単位
で処理済みのデータを逆量子化部22に出力するので、
スライスの先頭のマクロブロックについて可変長復号化
処理を開始してからスライス内の全てのマクロブロック
について可変長復号化処理を終了するまでの間、フラグ
Fを立てる。That is, each processing unit notifies the fact that the processing is being executed by setting a flag F from the start of the processing to the end of the processing for each unit of data to be processed, When each of the other processing units is notified that the processing is being executed, it determines that the processing by the processing unit is impossible. For example, the variable length decoding unit 21
Receives data to be processed in units of slices from the stream buffer 15a and outputs data processed in units of macroblocks to the inverse quantization unit 22.
The flag F is set from the start of the variable length decoding process for the first macroblock of the slice to the end of the variable length decoding process for all macroblocks in the slice.
【0059】このため、可変長復号化部21に対して処
理対象となるスライスを出力する制御をおこなうデコー
ダ制御部17は、処理を終了してフラグFが立てられて
いない可変長復号化部21に対し、処理対象となるスラ
イスを順次出力する。For this reason, the decoder control unit 17, which controls the variable-length decoding unit 21 to output the slice to be processed, terminates the processing, and the variable-length decoding unit 21 in which the flag F is not set is set. , The slices to be processed are sequentially output.
【0060】一方、逆量子化部22、逆スキャン部2
3、逆DCT部24および動き補償部25の各処理部
は、マクロブロック単位ごとに処理対象となるデータを
受け取り、マクロブロック単位で処理済みのデータを後
続の処理部に出力するので、逆量子化部22、逆スキャ
ン部23、逆DCT部24および動き補償部25の各処
理部は、マクロブロックの先頭のブロックについて処理
を開始してからマクロブロック内の全てのブロックにつ
いて処理を終了するまでの間、フラグFを立てる。On the other hand, the inverse quantization unit 22 and the inverse scan unit 2
3. The respective processing units of the inverse DCT unit 24 and the motion compensation unit 25 receive the data to be processed in macroblock units and output the data processed in macroblock units to the subsequent processing units. The processing units of the conversion unit 22, the inverse scanning unit 23, the inverse DCT unit 24, and the motion compensation unit 25 start processing for the first block of the macroblock, and end processing for all blocks in the macroblock. During this time, the flag F is set.
【0061】このため、これらの各処理部に対して処理
対象となるデータを出力する各処理部(可変長復号化部
21、逆量子化部22、逆スキャン部23および逆DC
T部24)は、処理を終了してフラグFが立てられてい
ない後続の処理部に対し、処理対象となるデータをマク
ロブロック単位で出力する。For this reason, each processing unit (variable length decoding unit 21, inverse quantization unit 22, inverse scanning unit 23, and inverse DC unit) that outputs data to be processed to these processing units
The T unit 24) outputs the data to be processed in units of macroblocks to a subsequent processing unit in which the flag F has not been set after the process is completed.
【0062】上述してきたように、本実施の形態1によ
れば、デコーダ20の各処理部が、後続する処理段階の
処理をおこなう処理部による処理が可能か否かをフラグ
Fにより判定し、この判定により処理可能と判定された
処理部に対して処理済みのデータを出力することとした
ので、デコーダ20の各処理部を効率的に動作させ、復
号処理の高速化を図ることができる。As described above, according to the first embodiment, each processing unit of the decoder 20 determines whether or not processing by a processing unit that performs processing in a subsequent processing stage is possible by using the flag F. Since the processed data is output to the processing unit determined to be processable by this determination, each processing unit of the decoder 20 can be operated efficiently, and the decoding process can be speeded up.
【0063】すなわち、図11に示した従来技術に係る
復号装置のデコーダ110の場合には、一方のデコーダ
110では処理が早急には終了せず処理実行中である
が、他方のデコーダ110では処理が早急に終了して休
止状態になっている処理部が発生してしまうが、本実施
の形態1に係る復号装置のデコーダ20においては、処
理が早急に終了している後続の処理部を選択して処理対
象となるデータを出力するので、処理が休止状態になっ
ている処理部が発生することを回避して、デコーダ20
の各処理部を効率的に動作させることができ、もって復
号処理の高速化を図ることができる。That is, in the case of the decoder 110 of the decoding device according to the prior art shown in FIG. 11, while one of the decoders 110 is in the process of executing the processing without terminating immediately, the other decoder 110 is performing the processing. May be terminated quickly and some processing units may be in a halt state. However, in the decoder 20 of the decoding device according to the first embodiment, a subsequent processing unit whose processing is terminated immediately is selected. And outputs the data to be processed, thereby avoiding the occurrence of a processing unit in which the processing is in a halt state, and
Can be efficiently operated, and the speed of the decoding process can be increased.
【0064】また、復号処理の高速化を図ることによ
り、処理性能の向上を図ることができ、さらに、早送り
などの変速再生をより円滑におこなうこともできる。ま
た、処理性能の向上により、より低周波数のクロックで
動作させることができ、もって低消費電力化を図ること
もできる。Further, by increasing the speed of the decoding process, it is possible to improve the processing performance, and it is also possible to smoothly perform variable speed reproduction such as fast forward. Further, by improving the processing performance, it is possible to operate with a clock having a lower frequency, thereby achieving low power consumption.
【0065】なお、本実施の形態1では、デコーダ20
の各処理部のすべてが動作可能である場合を説明した
が、本発明はこれに限定されるものではなく、各処理部
のうちから選択した所定の処理部を処理不能に制御する
場合にも同様に適用できる。In the first embodiment, the decoder 20
Although the case where all of the respective processing units are operable has been described, the present invention is not limited to this, and even when a predetermined processing unit selected from the respective processing units is controlled to be unprocessable. The same applies.
【0066】すなわち、デコーダ20内の各処理部にク
ロックを供給するクロック供給部に各処理部のうちから
選択した所定の処理部を処理不能に制御する制御手段を
設け、この制御手段により、例えば、図6に示すよう
に、1つの動き補償部25に対するクロック供給を停止
して処理不能に制御する。この場合、逆DCT部24
は、この処理不能に制御された動き補償部25以外の動
き補償部25に対して処理対象となるデータを出力す
る。このように、処理能力の余っている処理部に対する
クロック供給を停止することにより、復号処理の高速化
を維持しつつ、低消費電力化を図ることができる。In other words, a clock supply unit for supplying a clock to each processing unit in the decoder 20 is provided with control means for controlling a predetermined processing unit selected from each processing unit to be unprocessable. As shown in FIG. 6, the clock supply to one motion compensating unit 25 is stopped to control the motion compensating unit 25 so that processing cannot be performed. In this case, the inverse DCT unit 24
Outputs the data to be processed to the motion compensating unit 25 other than the motion compensating unit 25 that is controlled to be unprocessable. As described above, by stopping the clock supply to the processing unit having the surplus processing capacity, it is possible to reduce the power consumption while maintaining the high speed of the decoding process.
【0067】また、本実施の形態1では、デコーダ20
内に、復号処理の各処理段階の処理をおこなう処理部を
それぞれ2つずつ設けた場合を説明したが、本発明はこ
れに限定されるものではなく、所定の処理部を増設した
ような場合にも同様に適用することができる。In the first embodiment, the decoder 20
In the above description, the case where two processing units for performing the processing of each processing stage of the decoding processing are provided respectively, but the present invention is not limited to this, and the case where a predetermined processing unit is added The same can be applied to.
【0068】すなわち、例えば、図7に示すように、可
変長復号化部21を増設する。これにより、復号処理に
おける所定の処理段階の処理を高速におこなうことがで
き、もって復号処理をより一層高速におこなうことがで
きる。特に、可変長復号化処理は、連続する可変長の符
号化データを逐次可変長復号化してゆく必要がある処理
であるところ、他の処理段階よりも多くの処理時間を要
するので、この可変長復号化部21を増設することは復
号処理の高速化に極めて有効である。That is, for example, as shown in FIG. 7, a variable length decoding unit 21 is added. This makes it possible to perform the processing at a predetermined processing stage in the decoding processing at a high speed, and thus to perform the decoding processing at a higher speed. In particular, the variable-length decoding process requires continuous variable-length decoding of continuous variable-length coded data, but requires more processing time than other processing stages. Adding the decoding unit 21 is extremely effective for speeding up the decoding process.
【0069】(実施の形態2)本実施の形態2では、可
変長復号化処理、逆量子化処理、逆DCT処理および動
き補償処理という各処理段階からなる復号化処理のうち
から、逆量子化処理および逆DCT処理を省略する復号
装置について説明する。(Embodiment 2) In the present embodiment 2, the inverse quantization is performed among the decoding processes including the variable-length decoding process, the inverse quantization process, the inverse DCT process, and the motion compensation process. A decoding device that omits the processing and the inverse DCT processing will be described.
【0070】図8は、本実施の形態2に係る復号装置の
構成を示すブロック図である。同図に示すように、この
復号装置は、上記した実施の形態1に係る復号装置(図
4参照)に対して、デコーダ40の可変長復号化部21
と動き補償部25とを配線接続したスキップ線26を備
えたことを特徴とする。FIG. 8 is a block diagram showing a configuration of the decoding apparatus according to the second embodiment. As shown in the figure, this decoding apparatus is different from the decoding apparatus according to Embodiment 1 (see FIG. 4) in that
And a skip line 26 in which the motion compensator 25 and the motion compensator 25 are connected by wiring.
【0071】また、図8に示した可変長復号化部21
は、処理済みのデータが逆量子化処理および逆離散コサ
イン変換処理の処理段階を省略することが可能なデータ
であるか否かを判定し、この判定により省略可能と判定
された処理済みのデータについては、スキップ線26を
介して動き補償部25に出力することを特徴とする。The variable length decoding unit 21 shown in FIG.
Determines whether the processed data is data that can omit the processing steps of the inverse quantization process and the inverse discrete cosine transform process, and the processed data determined to be omissible by this determination. Is output to the motion compensation unit 25 via the skip line 26.
【0072】具体的には、本実施の形態2では、可変長
復号化部21は、可変長復号化されるデータがマクロブ
ロックスキップやブロックスキップなどに起因した空の
データである場合には、逆量子化処理および逆離散コサ
イン変換処理が不要であるので、これらの処理をスキッ
プすべく、処理済みのデータを動き補償部25に出力す
る。一方、省略不可能と判定された処理済みのデータに
ついては、上記した実施の形態1と同様、フラグFが立
てられていない逆量子化部22に出力する。More specifically, in the second embodiment, when the data to be subjected to variable length decoding is empty data due to macroblock skipping, block skipping, or the like, Since the inverse quantization process and the inverse discrete cosine transform process are unnecessary, the processed data is output to the motion compensation unit 25 in order to skip these processes. On the other hand, the processed data determined to be not omissible is output to the inverse quantization unit 22 in which the flag F is not set, as in the first embodiment.
【0073】上述してきたように、本実施の形態2によ
れば、可変長復号化部21は、処理済みのデータが逆量
子化処理および逆離散コサイン変換処理の処理段階を省
略することが可能なデータであるか否かを判定し、この
判定により省略可能と判定された処理済みのデータをス
キップ線26を介して動き補償部25に出力することと
したので、所定のデータについては、逆量子化処理およ
び逆離散コサイン変換処理を省略することができ、もっ
て復号処理をより一層高速におこなうことができる。As described above, according to the second embodiment, the variable length decoding unit 21 can omit the processing steps of the inverse quantization process and the inverse discrete cosine transform process on the processed data. It is determined whether the data is appropriate data, and the processed data determined to be omissible by this determination is output to the motion compensator 25 via the skip line 26. The quantization process and the inverse discrete cosine transform process can be omitted, so that the decoding process can be performed at higher speed.
【0074】なお、本実施の形態2では、可変長復号化
部21から動き補償部25に接続されるスキップ線26
を、各可変長復号化部21ごとにそれぞれ1つ設けた場
合を説明したが、本発明はこれに限定されるものではな
く、複数の可変長復号化部21それぞれから複数の動き
補償部25それぞれに対して接続されるように、複数の
スキップ線26を設ける場合にも同様に適用することが
できる。In the second embodiment, the skip line 26 connected from the variable length decoding unit 21 to the motion compensation unit 25
Has been described for each variable-length decoding unit 21, but the present invention is not limited to this, and a plurality of motion compensation units 25 are provided from each of the plurality of variable-length decoding units 21. The same applies to the case where a plurality of skip lines 26 are provided so as to be connected to each other.
【0075】この場合、可変長復号化部21は、省略可
能と判定された処理済みのデータを、フラグFが立てら
れていない動き補償部25に対してスキップ線26を介
して出力する。これにより、上記した実施の形態1と同
様、デコーダ40の動き補償部25を効率的に動作させ
ることができ、もって復号処理をより一層高速におこな
うことができる。In this case, the variable length decoding unit 21 outputs the processed data determined to be omissible to the motion compensation unit 25 in which the flag F is not set via the skip line 26. Thus, similarly to the above-described first embodiment, the motion compensation unit 25 of the decoder 40 can be operated efficiently, and thus the decoding process can be performed at a higher speed.
【0076】(実施の形態3)本実施の形態3では、デ
コーダの各処理部(可変長復号化部、逆量子化部、逆ス
キャン部、逆DCT部および動き補償部)が、所定の条
件下、処理対象となるデータにエラーがあるものとして
実行中の処理を強制終了する復号装置について説明す
る。(Embodiment 3) In Embodiment 3, each processing unit (variable length decoding unit, inverse quantization unit, inverse scan unit, inverse DCT unit, and motion compensation unit) of the decoder is set to a predetermined condition. The following describes a decoding device that forcibly terminates a process being executed on the assumption that data to be processed has an error.
【0077】図9は、実施の形態3に係る復号装置の構
成を示すブロック図である。同図に示すように、この復
号装置は、上記した実施の形態2に係る復号装置(図8
参照)に対して、デコーダ50の各処理部(可変長復号
化部21、逆量子化部22、逆スキャン部23、逆DC
T部24および動き補償部25)が、処理の開始からの
時間を計時するタイマTを備えたことを特徴とする。FIG. 9 is a block diagram showing a configuration of a decoding apparatus according to the third embodiment. As shown in the figure, this decoding device is the decoding device according to the second embodiment (FIG. 8).
), Each processing unit (variable length decoding unit 21, inverse quantization unit 22, inverse scan unit 23, inverse DC
The T unit 24 and the motion compensation unit 25) include a timer T that measures time from the start of processing.
【0078】また、図9に示したデコーダ50の各処理
部は、それぞれの処理段階における処理に要する最大処
理時間をあらかじめ記憶しており、タイマTにより計時
された時間が最大処理時間を超えた場合には、実行中の
処理を強制的に終了することを特徴とする。Each processing unit of the decoder 50 shown in FIG. 9 stores in advance the maximum processing time required for processing in each processing stage, and the time measured by the timer T exceeds the maximum processing time. In this case, the process being executed is forcibly terminated.
【0079】具体的には、本実施の形態3では、デコー
ダ50の各処理部は、スライス単位やマクロブロック単
位など、処理対象となるデータの最大サイズに基づいて
それぞれ算定された最大処理時間を記憶する。そして、
各処理部のタイマTは、処理対象となるデータの先頭の
マクロブロックまたはブロックについて処理が開始され
るのと同時に、計時を開始し、このタイマTにより計時
された時間が最大処理時間を超えた場合には、処理対象
となるデータにエラーがあるものとして実行中の処理を
強制的に終了する。Specifically, in the third embodiment, each processing unit of the decoder 50 determines the maximum processing time calculated based on the maximum size of data to be processed, such as a slice unit or a macro block unit. Remember. And
The timer T of each processing unit starts timing at the same time as the processing is started for the first macroblock or block of the data to be processed, and the time counted by the timer T exceeds the maximum processing time. In this case, the processing being executed is forcibly terminated assuming that there is an error in the data to be processed.
【0080】そして、実行中の処理が強制的に終了され
た場合には、タイマTの計時した時間はリセットされ、
処理開始にともなって立てられたフラグFも降ろされ、
当該処理部には、新たに処理対象となるデータが入力さ
れる。なお、タイマTにより計時された時間が最大処理
時間を超える前に処理を終了した場合には、続いて処理
対象となるデータの先頭のマクロブロックまたはブロッ
クについて処理が開始されるのと同時に、改めて計時を
開始する。When the process being executed is forcibly terminated, the time measured by the timer T is reset.
The flag F set at the start of the process is also lowered,
Data to be newly processed is input to the processing unit. If the processing is terminated before the time counted by the timer T exceeds the maximum processing time, the processing is started again for the first macroblock or block of the data to be processed, and again. Start timing.
【0081】上述してきたように、本実施の形態3によ
れば、デコーダ50の各処理部は、処理の開始からの時
間を計時するタイマTを備えるとともに、それぞれの処
理段階における処理に要する最大処理時間をあらかじめ
記憶し、タイマTにより計時された時間が最大処理時間
を超えた場合には、実行中の処理を強制的に終了するこ
ととしたので、符号化ストリーム内に存在するエラーに
よって各処理部がハングアップされることを防止するこ
とができ、もって復号処理を高速かつ円滑におこなうこ
とができる。As described above, according to the third embodiment, each processing unit of the decoder 50 includes the timer T for measuring the time from the start of the processing, and the maximum time required for the processing in each processing stage. The processing time is stored in advance, and if the time measured by the timer T exceeds the maximum processing time, the processing being executed is forcibly terminated. It is possible to prevent the processing unit from being hung up, so that the decoding process can be performed quickly and smoothly.
【0082】(実施の形態4)上記した実施の形態1〜
3では、デコーダ内の複数の可変長復号化部それぞれに
対して、処理対象となるデータをスライス単位で分配し
て出力する復号装置について説明したが、本発明はこれ
に限定されるものではなく、マクロブロック単位で分配
して出力する復号装置についても同様に適用することが
できる。そこで、本実施の形態4では、デコーダ内の複
数の可変長復号化部それぞれに対して、処理対象となる
データをマクロブロック単位で分配して出力する復号装
置について説明する。(Embodiment 4) The above-described Embodiments 1 to
3 describes a decoding device that distributes and outputs data to be processed in slice units to each of a plurality of variable length decoding units in a decoder, but the present invention is not limited to this. The present invention can be similarly applied to a decoding device that distributes and outputs a macroblock. Therefore, in a fourth embodiment, a description will be given of a decoding apparatus that distributes data to be processed in macroblock units and outputs the data to each of a plurality of variable length decoding units in a decoder.
【0083】図10は、実施の形態4に係る復号装置の
構成を示すブロック図である。同図に示すように、この
復号装置は、上記した実施の形態3に係る復号装置(図
9参照)に比較して、スタートコード検出部12に代え
てプリデコード部18を、また、スタートコードバッフ
ァ15aに代えてマクロブロック境界バッファ19bを
備えたことを特徴とする。FIG. 10 is a block diagram showing a configuration of the decoding apparatus according to the fourth embodiment. As shown in the figure, this decoding apparatus is different from the decoding apparatus according to the third embodiment (see FIG. 9) in that a predecode section 18 is provided instead of the start code detection section 12, and a start code A macroblock boundary buffer 19b is provided in place of the buffer 15a.
【0084】このプリデコード部18は、ストリーム入
力部11から入力された符号化ストリームと、所定のマ
クロブロック境界情報とをストリームバッファ制御部1
4に供給する処理部である。具体的には、可変長復号化
部21が有する復号テーブルと同様の復号テーブルを有
し、この復号テーブルを参照して、符号化ストリームか
ら各マクロブロックのマクロブロック境界、すなわちE
OB(End Of Block)を検出する。The predecoding unit 18 converts the coded stream input from the stream input unit 11 and predetermined macroblock boundary information into a stream buffer control unit 1.
4 is a processing unit to supply. Specifically, it has a decoding table similar to the decoding table of the variable-length decoding unit 21, and refers to this decoding table to determine the macroblock boundary of each macroblock from the encoded stream, that is, E
OB (End Of Block) is detected.
【0085】そして、プリデコード部18は、そのマク
ロブロック境界がストリームバッファ19aに書き込ま
れる位置を示す書き込みポインタとを含んだマクロブロ
ック境界情報を生成し、このマクロブロック境界情報お
よび符号化ストリームをストリームバッファ制御部14
に供給する。なお、ストリームバッファ制御部14は、
クロック発生部13から供給される基本クロックにした
がって、プリデコード部18から入力された符号化スト
リームとスタートコード情報とを、それぞれバッファ1
9のストリームバッファ19aとマクロブロック境界バ
ッファ19bに書き込む。The predecoding unit 18 generates macroblock boundary information including a write pointer indicating the position where the macroblock boundary is written to the stream buffer 19a, and outputs the macroblock boundary information and the coded stream as a stream. Buffer control unit 14
To supply. Note that the stream buffer control unit 14
According to the basic clock supplied from the clock generator 13, the encoded stream and the start code information input from the predecoder 18 are respectively stored in the buffer 1
9 to the stream buffer 19a and the macroblock boundary buffer 19b.
【0086】また、本実施の形態4に係るデコーダ制御
部17は、ストリームバッファ制御部14を介して、ス
トリームバッファ15aから符号化ストリームをマクロ
ブロック単位ごとにデコーダ20の可変長復号化部21
それぞれに分配して出力する。そして、各可変長復号化
部21は、マクロブロック単位で可変長復号化処理を順
次おこなう。Further, the decoder control unit 17 according to the fourth embodiment transmits the coded stream from the stream buffer 15a to the variable length decoding unit 21 of the decoder 20 for each macroblock via the stream buffer control unit 14.
Output to each distribution. Then, each variable length decoding unit 21 sequentially performs the variable length decoding process on a macroblock basis.
【0087】上述してきたように、本実施の形態4で
は、複数の可変長復号化部21がマクロブロック単位で
処理対象となるデータを受け入れて処理をおこなうこと
としたので、可変長復号化処理をマクロブロック単位で
並行しておこなうことができる。これにより、復号処理
の各処理段階のなかでも多くの処理時間を要する可変長
復号化処理を高速におこなうことができ、もって復号処
理全体をより一層高速におこなうことができる。As described above, in the fourth embodiment, since the plurality of variable length decoding sections 21 perform processing by accepting data to be processed in macroblock units, the variable length decoding processing is performed. Can be performed in parallel on a macroblock basis. As a result, the variable length decoding process requiring a long processing time can be performed at a high speed among the respective processing stages of the decoding process, so that the entire decoding process can be performed at a higher speed.
【0088】また、本実施の形態4では、プリデコード
部18によるマクロブロック境界の検出に際して符号テ
ーブルを参照するので、符号化ストリーム内にエラーが
あるか否かを併せて判定することができ、エラーを検出
した場合には、かかるエラー部分のデータに対する復号
処理をあらかじめ中止することにより、復号処理を高速
かつ円滑におこなうこともできる。In the fourth embodiment, the code table is referred to when the macroblock boundary is detected by the pre-decoding unit 18, so that it is possible to simultaneously determine whether or not there is an error in the coded stream. When an error is detected, the decoding process for the data in the error portion is stopped in advance, so that the decoding process can be performed quickly and smoothly.
【0089】なお、本実施の形態4では、1つのプリデ
コード部17によりマクロブロック境界を検出する場合
を説明したが、本発明はこれに限定されるものではな
く、複数のプリデコード部17を設けることにより、マ
クロブロック境界を並行して検出する場合にも同様に適
用することができる。In the fourth embodiment, the case where a macroblock boundary is detected by one predecoding section 17 has been described. However, the present invention is not limited to this. With this arrangement, the present invention can be similarly applied to the case where the macroblock boundaries are detected in parallel.
【0090】また、本実施の形態4では、マクロブロッ
ク境界バッファ19bに書き込まれたマクロブロック境
界情報を参照することにより、可変長符号化ストリーム
をマクロブロック単位で分配して出力する場合を説明し
たが、本発明はこれに限定されるものではなく、符号化
ストリームのマクロブロック境界が検出された位置に境
界情報を埋め込むことにより、マクロブロック境界バッ
ファ19bを設けることなく、符号化ストリームをマク
ロブロック単位で分配して出力する場合にも同様に適用
することができる。In the fourth embodiment, the case where the variable-length coded stream is distributed and output in units of macro blocks by referring to the macro block boundary information written in the macro block boundary buffer 19b has been described. However, the present invention is not limited to this. By embedding the boundary information at the position where the macroblock boundary of the coded stream is detected, the coded stream can be converted to the macroblock without providing the macroblock boundary buffer 19b. The same can be applied to the case where the output is distributed in units.
【0091】また、本実施の形態4では、複数の可変長
復号化部21それぞれに対して、符号化ストリームをマ
クロブロック単位で分配して出力する場合を説明した
が、本発明はこれに限定されるものではなく、符号化ス
トリームをロウ単位ごと、すなわち、同じロウ(行)番
号を有するスライスの集合ごとに分配して出力する場合
にも同様に適用することができる。Further, in the fourth embodiment, the case has been described where the coded stream is distributed to each of the plurality of variable length decoding units 21 in macroblock units and output, but the present invention is not limited to this. However, the present invention can be similarly applied to a case where the coded stream is distributed and output for each row, that is, for each set of slices having the same row (row) number.
【0092】なお、上記した実施の形態1〜4で説明し
た復号方法は、あらかじめ用意されたプログラムをパー
ソナル・コンピュータやワークステーションなどのコン
ピュータで実行することによって実現することができ
る。このプログラムは、インターネットなどのネットワ
ークを介して配布することができる。また、このプログ
ラムは、ハードディスク、フロッピー(登録商標)ディ
スク、CD−ROM、MO、DVDなどのコンピュータ
で読み取り可能な記録媒体に記録され、コンピュータに
よって記録媒体から読み出されることによって実行する
こともできる。The decoding methods described in the first to fourth embodiments can be realized by executing a prepared program on a computer such as a personal computer or a workstation. This program can be distributed via a network such as the Internet. Further, this program is recorded on a computer-readable recording medium such as a hard disk, a floppy (registered trademark) disk, a CD-ROM, an MO, and a DVD, and can be executed by being read from the recording medium by the computer.
【0093】[0093]
【発明の効果】以上説明したように、請求項1の発明に
よれば、各処理段階での処理をおこなう一または複数の
処理部を各処理段階ごとに設け、各処理部は、後続する
処理段階の処理をおこなう処理部による処理が可能か否
かを判定し、この判定により処理可能と判定された処理
部に対して処理済みのデータを出力することとしたの
で、各処理部を効率的に動作させ、復号処理の高速化を
図ることが可能な復号装置が得られるという効果を奏す
る。As described above, according to the first aspect of the present invention, one or a plurality of processing units for performing the processing in each processing stage are provided for each processing stage, and each processing unit performs the following processing. It is determined whether or not the processing by the processing unit that performs the stage processing is possible, and the processed data is output to the processing unit that is determined to be processable by this determination. And a decoding device capable of speeding up the decoding process can be obtained.
【0094】また、請求項2の発明によれば、各処理部
は、処理を開始してから該処理を終了するまでの間、処
理実行中である旨を報知し、他の処理部において処理実
行中である旨が報知されている場合には、該処理部によ
る処理が不可能であるものと判定することとしたので、
後続する処理段階の処理をおこなう処理部による処理が
可能か否かを簡便かつ確実に判定して、復号処理の高速
化を図ることが可能な復号装置が得られるという効果を
奏する。According to the second aspect of the present invention, each processing unit reports that the processing is being executed from the start of the processing to the end of the processing, and the other processing units perform the processing. When it is notified that the processing is being performed, it is determined that the processing by the processing unit is not possible.
It is possible to obtain a decoding device that can easily and surely determine whether or not processing by a processing unit that performs processing in a subsequent processing stage is possible, and that can speed up decoding processing.
【0095】また、請求項3の発明によれば、各処理部
のうちから選択した所定の処理部を処理不能に制御し、
各処理部は、処理不能に制御された処理部以外の処理部
に対して処理済みのデータを出力することとしたので、
処理能力の余っている処理部に対するクロック供給を停
止することにより、復号処理の高速化を維持しつつ、低
消費電力化を図ることが可能な復号装置が得られるとい
う効果を奏する。According to the third aspect of the present invention, a predetermined processing unit selected from the respective processing units is controlled so as not to be processed.
Since each processing unit outputs the processed data to the processing units other than the processing unit controlled to be unprocessable,
By stopping the supply of the clock to the processing unit having a surplus processing capacity, there is an effect that a decoding device capable of reducing the power consumption while maintaining the high speed of the decoding process is obtained.
【0096】また、請求項4の発明によれば、可変長復
号化処理をおこなう各処理部は、処理済みのデータが逆
量子化処理および逆離散コサイン変換処理の処理段階を
省略することが可能なデータであるか否かを判定し、こ
の判定により省略可能と判定された処理済みのデータを
動き補償処理をおこなう処理部に対してスキップして出
力することとしたので、所定のデータについては、逆量
子化処理および逆離散コサイン変換処理を省略すること
ができ、もって復号処理をより一層高速におこなうこと
が可能な復号装置が得られるという効果を奏する。According to the fourth aspect of the present invention, each processing unit that performs the variable length decoding process can omit the processing steps of the inverse quantization process and the inverse discrete cosine transform process on the processed data. It is determined whether or not the data is appropriate data, and the processed data determined to be omissible by this determination is skipped and output to the processing unit that performs the motion compensation processing. In addition, it is possible to omit the inverse quantization process and the inverse discrete cosine transform process, thereby providing a decoding device capable of performing the decoding process at higher speed.
【0097】また、請求項5の発明によれば、各処理部
は、処理の開始からの時間を計時し、計時された時間が
所定の時間を超えた場合に、実行中の処理を強制的に終
了することとしたので、符号化ストリーム内に存在する
エラーによって各処理部がハングアップされることを防
止することができ、もって復号処理を高速かつ円滑にお
こなうことが可能な復号装置が得られるという効果を奏
する。According to the fifth aspect of the invention, each processing unit measures the time from the start of the processing, and forcibly cancels the processing being executed when the measured time exceeds a predetermined time. Therefore, it is possible to prevent each processing unit from being hung up due to an error existing in the encoded stream, and to obtain a decoding device capable of performing decoding processing at high speed and smoothly. The effect is that it can be done.
【0098】また、請求項6の発明によれば、可変長復
号化処理をおこなう各処理部に対して、符号化ストリー
ムをスライス単位で分配して出力することとしたので、
復号処理の各処理段階のなかでも多くの処理時間を要す
る可変長復号化処理をスライス単位で並行しておこなう
ことが可能な復号装置が得られるという効果を奏する。According to the sixth aspect of the present invention, the coded stream is distributed and output in units of slices to the respective processing units that perform the variable length decoding process.
An effect is obtained in that a decoding apparatus capable of performing variable-length decoding processing requiring a long processing time in each of the decoding processing steps in parallel on a slice basis is obtained.
【0099】また、請求項7の発明によれば、可変長復
号化処理をおこなう各処理部に対して、符号化ストリー
ムをロウ単位で分配して出力することとしたので、復号
処理の各処理段階のなかでも多くの処理時間を要する可
変長復号化処理をロウ単位で並行しておこなうことが可
能な復号装置が得られるという効果を奏する。According to the seventh aspect of the present invention, the coded stream is distributed and output in units of rows to the respective processing units that perform the variable length decoding processing. Among the stages, there is an effect that a decoding device capable of performing the variable-length decoding process requiring a long processing time in parallel on a row basis is obtained.
【0100】また、請求項8の発明によれば、可変長復
号化処理をおこなう各処理部に対して、符号化ストリー
ムをマクロブロック単位で分配して出力することとした
ので、復号処理の各処理段階のなかでも多くの処理時間
を要する可変長復号化処理をマクロブロック単位で並行
しておこなうことが可能な復号装置が得られるという効
果を奏する。According to the eighth aspect of the present invention, the coded stream is distributed and output in units of macroblocks to each processing unit that performs the variable length decoding process. An advantage is obtained in that a decoding device capable of performing variable-length decoding requiring a large amount of processing time in parallel in macroblock units in a processing stage is obtained.
【0101】また、請求項9の発明によれば、各処理段
階ごとに設けられた各処理段階での処理をおこなう一ま
たは複数の処理部それぞれが、後続する処理段階の処理
をおこなう処理部による処理が可能か否かを判定し、こ
の判定により処理可能と判定された処理部に対して処理
済みのデータを出力することとしたので、各処理部を効
率的に動作させ、復号処理の高速化を図ることが可能な
復号方法が得られるという効果を奏する。According to the ninth aspect of the present invention, each of the one or more processing units provided for each processing stage and performing the processing in each processing stage performs processing in the subsequent processing stage. It is determined whether or not processing is possible, and the processed data is output to the processing unit determined to be processable by this determination, so that each processing unit operates efficiently and the high-speed decoding process is performed. There is an effect that a decoding method capable of achieving the encryption can be obtained.
【0102】また、請求項10の発明によれば、各処理
段階ごとに設けられた各処理段階での処理をおこなう一
または複数の処理部それぞれが、後続する処理段階の処
理をおこなう処理部による処理が可能か否かを判定し、
この判定により処理可能と判定された処理部に対して処
理済みのデータを出力することとしたので、各処理部を
効率的に動作させ、復号処理の高速化を図ることが可能
なプログラムが得られるという効果を奏する。According to the tenth aspect of the present invention, one or a plurality of processing units provided for each processing stage and performing processing in each processing stage are each provided by a processing unit performing processing in a subsequent processing stage. Determine whether processing is possible,
Since the processed data is output to the processing unit determined to be processable by this determination, a program capable of efficiently operating each processing unit and increasing the speed of the decoding process is obtained. The effect is that it can be done.
【図1】MPEG2ビットストリームのデータ構造を説
明するための図である。FIG. 1 is a diagram for explaining a data structure of an MPEG2 bit stream.
【図2】MPEG2ビットストリームと画面との対応関
係を説明するための図である。FIG. 2 is a diagram for explaining the correspondence between an MPEG2 bit stream and a screen.
【図3】MPEG2ビットストリームのスタートコード
を説明するための図である。FIG. 3 is a diagram for explaining a start code of an MPEG2 bit stream.
【図4】本実施の形態1に係る復号装置の構成を示すブ
ロック図である。FIG. 4 is a block diagram showing a configuration of a decoding device according to the first embodiment.
【図5】可変長復号化に用いられるテーブルの構成例を
示す図である。FIG. 5 is a diagram illustrating a configuration example of a table used for variable-length decoding.
【図6】所定の処理部を処理不能に制御する場合の復号
装置の構成を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration of a decoding device when a predetermined processing unit is controlled to be unprocessable.
【図7】所定の処理部を増設した場合の復号装置の構成
を示すブロック図である。FIG. 7 is a block diagram illustrating a configuration of a decoding device when a predetermined processing unit is added.
【図8】本実施の形態2に係る復号装置の構成を示すブ
ロック図である。FIG. 8 is a block diagram showing a configuration of a decoding device according to the second embodiment.
【図9】本実施の形態3に係る復号装置の構成を示すブ
ロック図である。FIG. 9 is a block diagram illustrating a configuration of a decoding device according to Embodiment 3.
【図10】本実施の形態4に係る復号装置の構成を示す
ブロック図である。FIG. 10 is a block diagram showing a configuration of a decoding device according to Embodiment 4.
【図11】従来技術に係る復号装置の構成を示すブロッ
ク図である。FIG. 11 is a block diagram illustrating a configuration of a decoding device according to the related art.
11 ストリーム入力部 12 スタートコード検出部 13 クロック発生部 14 ストリームバッファ制御部 15、19 バッファ 15a、19a ストリームバッファ 15b スタートコードバッファ 19b マクロブロック境界バッファ 16 ピクチャデコーダ 17 デコーダ制御部 18 プリデコーダ部 20、40、50 デコーダ 21 可変長復号化部(VLD) 22 逆量子化部(IQ) 23 逆スキャン部(IS) 24 逆DCT部(IDCT) 25 動き補償部(MC) 26 スキップ線 30 画像メモリ F フラグ(frag) T タイマ(timer) Reference Signs List 11 stream input unit 12 start code detection unit 13 clock generation unit 14 stream buffer control unit 15, 19 buffer 15a, 19a stream buffer 15b start code buffer 19b macroblock boundary buffer 16 picture decoder 17 decoder control unit 18 predecoder unit 20, 40 , 50 decoder 21 variable length decoding unit (VLD) 22 inverse quantization unit (IQ) 23 inverse scan unit (IS) 24 inverse DCT unit (IDCT) 25 motion compensation unit (MC) 26 skip line 30 image memory F flag ( flag) T timer
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5C059 KK13 KK49 MA00 MA23 MC11 MC38 ME01 PP04 PP16 SS08 SS13 UA05 UA33 5J064 AA02 AA03 BA09 BA16 BC14 BD04 ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5C059 KK13 KK49 MA00 MA23 MC11 MC38 ME01 PP04 PP16 SS08 SS13 UA05 UA33 5J064 AA02 AA03 BA09 BA16 BC14 BD04
Claims (10)
る処理段階、逆量子化処理をする処理段階、逆離散コサ
イン変換処理をする処理段階および動き補償処理をする
処理段階を経て前記符号化ストリームを復号する復号装
置であって、 各処理段階での処理をおこなう一または複数の処理部を
各処理段階ごとに設け、各処理部は、後続する処理段階
の処理をおこなう処理部による処理が可能か否かを判定
する判定手段と、前記判定手段により処理可能と判定さ
れた処理部に対して処理済みのデータを出力する出力手
段と、 を備えたことを特徴とする復号装置。1. A processing step of performing a variable length decoding process on an encoded stream, a processing stage of performing an inverse quantization process, a processing stage of performing an inverse discrete cosine transform process, and a processing stage of performing a motion compensation process. A decoding device that performs one or more processing units for performing processing in each processing stage, and each processing unit is capable of performing processing by a processing unit that performs processing in a subsequent processing stage. A decoding device comprising: a determination unit that determines whether or not the data is processed; and an output unit that outputs processed data to a processing unit determined to be processable by the determination unit.
処理を終了するまでの間、処理実行中である旨を報知す
る報知手段をさらに備え、前記判定手段は、前記報知手
段により処理実行中である旨が報知されている場合に
は、該処理部による処理が不可能であるものと判定する
ことを特徴とする請求項1に記載の復号装置。2. The method according to claim 1, wherein each of the processing units further includes a notifying unit that notifies that the process is being performed from a time when the process is started to a time when the process is completed. 2. The decoding device according to claim 1, wherein when it is notified that the process is being executed, it is determined that the process by the processing unit is impossible.
処理部を処理不能に制御する処理不能制御手段をさらに
備え、前記出力手段は、前記処理不能制御手段により処
理不能に制御された処理部以外の処理部に対して処理済
みのデータを出力することを特徴とする請求項1または
2に記載の復号装置。3. A processing control unit for controlling a predetermined processing unit selected from among the processing units to be incapable of processing, wherein the output unit includes a processing unit that is controlled to be incapable of processing by the processing disable control unit. The decoding device according to claim 1, wherein the processed data is output to a processing unit other than the processing unit.
部は、前記処理済みのデータが前記逆量子化処理および
逆離散コサイン変換処理の処理段階を省略することが可
能なデータであるか否かを判定する省略判定手段と、前
記省略判定手段により省略可能と判定された処理済みの
データを前記動き補償処理をおこなう処理部に対してス
キップして出力するスキップ出力手段と、をさらに備え
たことを特徴とする請求項1、2または3に記載の復号
装置。4. A processing unit for performing the variable-length decoding processing, the processing unit determines whether the processed data is data that can omit processing steps of the inverse quantization processing and the inverse discrete cosine transform processing. And a skip output unit that skips and outputs the processed data determined to be omissible by the omission determination unit to a processing unit that performs the motion compensation process. The decoding device according to claim 1, 2 or 3, wherein:
を計時する計時手段と、前記計時手段により計時された
時間が所定の時間を超えた場合に、実行中の処理を強制
的に終了する強制終了手段と、をさらに備えたことを特
徴とする請求項1〜4のいずれか一つに記載の復号装
置。5. Each of the processing units includes a timer for counting time from the start of the process, and forcibly executes a process being executed when the time counted by the timer exceeds a predetermined time. 5. The decoding apparatus according to claim 1, further comprising: a forced termination unit for terminating the decryption.
部に対して、前記符号化ストリームをスライス単位で分
配して出力する分配出力手段をさらに備えたことを特徴
とする請求項1〜5のいずれか一つに記載の復号装置。6. A distribution output means for distributing and outputting the coded stream in slice units to each processing unit for performing the variable-length decoding process. The decoding device according to any one of the above.
部に対して、前記符号化ストリームをロウ単位で分配し
て出力する分配出力手段をさらに備えたことを特徴とす
る請求項1〜5のいずれか一つに記載の復号装置。7. The apparatus according to claim 1, further comprising distribution output means for distributing and outputting said coded stream on a row-by-row basis to each processing unit for performing said variable-length decoding processing. The decoding device according to any one of the above.
部に対して、前記符号化ストリームをマクロブロック単
位で分配して出力する分配出力手段をさらに備えたこと
を特徴とする請求項1〜5のいずれか一つに記載の復号
装置。8. The apparatus according to claim 1, further comprising a distribution output unit that distributes and outputs the coded stream in macroblock units to each processing unit that performs the variable length decoding process. 5. The decoding device according to any one of 5.
る処理段階、逆量子化処理をする処理段階、逆離散コサ
イン変換処理をする処理段階および動き補償処理をする
処理段階の各処理段階ごとに各処理段階での処理をおこ
なう一または複数の処理部を有し、各処理段階を経て前
記符号化ストリームを復号する復号装置における復号方
法であって、 各処理部が、後続する処理段階の処理をおこなう処理部
による処理が可能か否かを判定する判定工程と、前記判
定手段により処理可能と判定された処理部に対して処理
済みのデータを出力する出力工程と、 を含んだことを特徴とする復号方法。9. A processing step for performing a variable-length decoding process on an encoded stream, a processing stage for performing an inverse quantization process, a processing stage for performing an inverse discrete cosine transform process, and a processing stage for performing a motion compensation process. A decoding method in a decoding device that has one or more processing units that perform processing in each processing stage and decodes the encoded stream through each processing stage, wherein each processing unit performs processing in a subsequent processing stage. And a outputting step of outputting processed data to a processing unit determined to be processable by the determination unit. Decoding method.
する処理段階、逆量子化処理をする処理段階、逆離散コ
サイン変換処理をする処理段階および動き補償処理をす
る処理段階の各処理段階ごとに各処理段階での処理をお
こなう一または複数の処理部を有し、各処理段階を経て
前記符号化ストリームを復号する復号装置における復号
方法をコンピュータに実行させるプログラムであって、 各処理部が、後続する処理段階の処理をおこなう処理部
による処理が可能か否かを判定する判定工程と、前記判
定手段により処理可能と判定された処理部に対して処理
済みのデータを出力する出力工程と、 をコンピュータに実行させることを特徴とするプログラ
ム。10. A processing step for performing a variable length decoding process on an encoded stream, a processing stage for performing an inverse quantization process, a processing stage for performing an inverse discrete cosine transform process, and a processing stage for performing a motion compensation process. A program for causing a computer to execute a decoding method in a decoding device that decodes the encoded stream through each processing step, the program including one or more processing units that perform processing in each processing step, A determining step of determining whether or not processing by a processing unit that performs processing of a subsequent processing stage is possible; and an output step of outputting processed data to the processing unit determined to be processable by the determination unit, Which causes a computer to execute the program.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001128398A JP2002325255A (en) | 2001-04-25 | 2001-04-25 | Decoding apparatus, decoding method and program for causing computer to perform the method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001128398A JP2002325255A (en) | 2001-04-25 | 2001-04-25 | Decoding apparatus, decoding method and program for causing computer to perform the method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002325255A true JP2002325255A (en) | 2002-11-08 |
Family
ID=18977094
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001128398A Pending JP2002325255A (en) | 2001-04-25 | 2001-04-25 | Decoding apparatus, decoding method and program for causing computer to perform the method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2002325255A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008146438A (en) * | 2006-12-12 | 2008-06-26 | Toshiba Corp | Image processing apparatus and image processing method |
-
2001
- 2001-04-25 JP JP2001128398A patent/JP2002325255A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008146438A (en) * | 2006-12-12 | 2008-06-26 | Toshiba Corp | Image processing apparatus and image processing method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100232992B1 (en) | Moving picture decoding circuit | |
| KR100796085B1 (en) | Decoding device, decoding method, and recording medium | |
| US7292772B2 (en) | Method and apparatus for decoding and recording medium for a coded video stream | |
| US5353062A (en) | Method and apparatus for decoding moving images encoded by inter-frame prediction and displaying it | |
| CN100534193C (en) | image decoding device | |
| JP2000278692A (en) | Compressed data processing method, processor and recording and reproducing system | |
| US20030016745A1 (en) | Multi-channel image encoding apparatus and encoding method thereof | |
| JPH09200695A (en) | Method and apparatus for decoding video data for high speed reproduction | |
| JP4342139B2 (en) | Signal processing device | |
| JP2002199392A (en) | Video encoding method and apparatus | |
| JP4010617B2 (en) | Image decoding apparatus and image decoding method | |
| JP2000217109A (en) | Moving image reproducing apparatus and reproducing method | |
| JP2005124091A (en) | Decoding apparatus and decoding method | |
| US6128340A (en) | Decoder system with 2.53 frame display buffer | |
| JP2002325255A (en) | Decoding apparatus, decoding method and program for causing computer to perform the method | |
| JP4906197B2 (en) | Decoding device and method, and recording medium | |
| JP2003032679A (en) | Decoder, decoding method, and program for making computer execute the same decoding method | |
| JPH0898142A (en) | Picture reproduction device | |
| JP2820631B2 (en) | Image decoding method and apparatus | |
| JPH06339111A (en) | Compressed moving picture reproduction device | |
| JP3721972B2 (en) | MPEG image data recording method | |
| JP2824024B2 (en) | Image decoding method and apparatus | |
| KR20040073095A (en) | A Device for Both Encoding and Decoding MPEG or JPEG Data | |
| JP4651344B2 (en) | MPEG-2 stream wipe switching method | |
| JP2002374174A (en) | Variable length code decoder, variable length code decoding method and program for making computer execute the, method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050510 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050711 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061114 |