JPH08307868A - Moving image decoder - Google Patents

Moving image decoder

Info

Publication number
JPH08307868A
JPH08307868A JP10502795A JP10502795A JPH08307868A JP H08307868 A JPH08307868 A JP H08307868A JP 10502795 A JP10502795 A JP 10502795A JP 10502795 A JP10502795 A JP 10502795A JP H08307868 A JPH08307868 A JP H08307868A
Authority
JP
Japan
Prior art keywords
circuit
inverse
buffer memory
memory
cosine transform
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
Application number
JP10502795A
Other languages
Japanese (ja)
Inventor
Ichiro Tamiya
一郎 民谷
Yoichi Katayama
陽一 片山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP10502795A priority Critical patent/JPH08307868A/en
Publication of JPH08307868A publication Critical patent/JPH08307868A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PURPOSE: To realize the moving image decoder for a storage system medium of a video rate at a low cost. CONSTITUTION: The decoder is made up of a variable length code decoding circuit 1, an inverse quantization circuit 2, an inverse discrete cosine transformation circuit 3, and an inter-frame motion compensation prediction generating circuit 4. A buffer memory 5 is arranged between the inverse quantization circuit 2 and the inverse discrete cosine transformation circuit 3 and a buffer memory 5 is used to realize a matrix transposition function required for inverse zigzag conversion processing and 2-dimension inverse DCT transformation.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、MPEG方式に代表さ
れる、フレーム間予測と離散コサイン変換のハイブリッ
ド構成で圧縮されたビットストリームを伸長する再生装
置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a reproducing apparatus for decompressing a bit stream compressed by a hybrid structure of inter-frame prediction and discrete cosine transform represented by MPEG system.

【0002】[0002]

【従来の技術】ビデオ信号をコンパクトディスク(C
D)のような比較的狭帯域のディジタルストレージメデ
ィアに格納することを目的に、高能率符号化処理が施さ
れる。国際標準化組織ISO−IEC JTC1/SC
2/WG11(以下、通称MPEG)で、1.5Mbp
s相当のメディアに対応した符号化方式が検討された。
検討方式の概要については、例えば、画像電子学会誌第
20巻第4号306〜316頁に解説が掲載されてい
る。掲載内容によれば、動き補償フレーム間予測と離散
コサイン変換(DCT)、量子化、可変長符号化を組み
合わせたハイブリッド符号化方式であり、VHSビデオ
相当の画質を実現する。また、現行TV放送の画質を保
って15Mbps以内(実用3〜8Mbps)に圧縮す
るMPEG2方式も標準化されている。これらの方式
は、いずれもビデオ信号の圧縮にフレーム間予測方式と
離散コサイン変換(DCT:Discrete Cos
ine Transform)を用いている。また、主
にTV電話/会議に用いられるITU−TH.261方
式も同様にフレーム間予測方式と離散コサイン変換を用
いている。
2. Description of the Related Art Video signals are transmitted to a compact disc (C
A high-efficiency encoding process is performed for the purpose of storing in a relatively narrow band digital storage medium such as D). International standardization organization ISO-IEC JTC1 / SC
2 / WG11 (hereinafter MPEG), 1.5 Mbp
An encoding method compatible with s-equivalent media has been studied.
For an overview of the study method, for example, the explanation is published in Journal of Image Electronics Engineers, Vol. 20, No. 4, pages 306 to 316. According to the contents of the publication, it is a hybrid coding method that combines motion-compensated interframe prediction, discrete cosine transform (DCT), quantization, and variable length coding, and realizes image quality equivalent to VHS video. In addition, the MPEG2 system for maintaining the image quality of the current TV broadcast and compressing it within 15 Mbps (practical 3 to 8 Mbps) is also standardized. All of these methods are for inter-frame prediction method and discrete cosine transform (DCT: Discrete Cos) for video signal compression.
ine Transform) is used. In addition, ITU-TH. Similarly, the H.261 method also uses the inter-frame prediction method and the discrete cosine transform.

【0003】こうしたMPEG方式に基づいて圧縮され
たビデオ信号をリアルタイム復号するには、可変長復
号、逆ジグザグ変換、逆量子化、逆DCT、動き補償と
いう一連の処理をハードワイアドロジックで高速処理す
ることが多い。このとき、可変長符号は、信号により符
号量が異なるため、可変長復号処理に要する処理時間も
信号により大きく変動する。一方、逆量子化や逆DCT
は信号によらず一定である。このため、可変長復号結果
に対し以降の処理を施す前に一旦メモリに格納し、処理
時間差を吸収させる必要がある。
In order to decode a video signal compressed based on the MPEG system in real time, a series of processes such as variable length decoding, inverse zigzag conversion, inverse quantization, inverse DCT, and motion compensation are processed at high speed by hardwired logic. I often do it. At this time, since the variable-length code has a different code amount depending on the signal, the processing time required for the variable-length decoding process also largely varies depending on the signal. On the other hand, inverse quantization and inverse DCT
Is constant regardless of the signal. Therefore, it is necessary to temporarily store the variable length decoding result in the memory to absorb the processing time difference before performing the subsequent processing.

【0004】復号処理ハードウェアの一例として、19
94年電子情報通信学会春季大会C−658として発表
されたデコーダLSIがある。記載内容によれば、可変
長復号、ランレングス復号した固定長符号を一旦メモリ
回路に格納している。メモリに格納された固定長符号
は、ジグザクスキャン順からブロックスキャン順に戻し
ながら読み出され、逆量子化と逆DCTを施され、別の
メモリに格納される。更に動き補償回路によってフレー
ム間予測信号を再生し、逆DCT結果と加算することで
復号画像を得ている。ブロックによってフレーム間予測
方式が異なることから、動き補償処理も処理時間に違い
が出るのでDCTまでの処理との処理時間差を吸収する
ためにDCT結果を格納するメモリが配置されている。
As an example of the decoding processing hardware, 19
There is a decoder LSI announced as C-658 of the 1994 IEICE Spring Conference. According to the description, the fixed length code subjected to the variable length decoding and the run length decoding is temporarily stored in the memory circuit. The fixed-length code stored in the memory is read while returning from the zigzag scan order to the block scan order, subjected to inverse quantization and inverse DCT, and stored in another memory. Further, the motion compensation circuit reproduces the inter-frame prediction signal and adds it to the inverse DCT result to obtain a decoded image. Since the inter-frame prediction method differs depending on the block, the processing time also differs in the motion compensation processing. Therefore, a memory for storing the DCT result is arranged to absorb the processing time difference from the processing up to DCT.

【0005】この従来方式におけるメモリ回路配置で
は、可変長復号処理の時間調整用メモリは逆量子化前に
配置し、そこで、ジグザグスキャン順からブロックスキ
ャン順への変換も実現している。これは、時間調整機能
とスキャン変換機能を兼ねさせることでメモリの節約を
はかり、更に、逆量子化によってデータのダイナミック
レンジが拡大する前にメモリを配置することで、データ
の格納に必要な記憶容量を少なく出来るからである。例
えば、MPEG1方式では、逆量子化前のビット幅は9
bit、逆量子化後は12bitに増加するため、1デ
ータあたり3bitのメモリ節約となる。
In the memory circuit arrangement according to this conventional system, the time adjustment memory for the variable length decoding process is arranged before the dequantization, and the conversion from the zigzag scan order to the block scan order is also realized there. This is to save memory by combining the time adjustment function and the scan conversion function. Furthermore, by arranging the memory before the dynamic range of data is expanded by dequantization, the memory required for storing data is stored. This is because the capacity can be reduced. For example, in the MPEG1 system, the bit width before dequantization is 9
Since the number of bits is increased to 12 bits after dequantization, the memory is saved by 3 bits per data.

【0006】次に、上記の従来の回路構成の問題点を図
8を用いながら説明する。ここでは、可変長復号から逆
離散コサイン変換までのデコード処理部分のみを抽出し
て記している。逆離散コサイン変換までの処理は、可変
長復号回路91、逆ジグザグ変換回路92、逆量子化回
路93、逆離散コサイン変換回路94、転置用メモリ9
5により実現される。逆ジグザク変換回路92は、可変
長復号回路91と逆量子化回路93の間に配置され、可
変長復号回路91の出力を一旦内部のメモリに蓄えるこ
とで逆ジグザグスキャン変換を行ない逆量子化回路への
データ供給に用いる。この変換の実現には内部メモリへ
の書き込み時もしくは読み出し時に、ジグザクスキャン
順からブロック内ラスタ走査順にメモリのアドレス発生
順を入れかえることによって、逆ジグザグスキャン変換
を実現する。
Next, problems of the above conventional circuit configuration will be described with reference to FIG. Here, only the decoding processing portion from variable length decoding to inverse discrete cosine transform is extracted and described. The process up to the inverse discrete cosine transform is performed by the variable length decoding circuit 91, the inverse zigzag transform circuit 92, the inverse quantizing circuit 93, the inverse discrete cosine transform circuit 94, the transposing memory 9
It is realized by 5. The inverse zigzag conversion circuit 92 is arranged between the variable length decoding circuit 91 and the inverse quantization circuit 93, and temporarily stores the output of the variable length decoding circuit 91 in the internal memory to perform the inverse zigzag scan conversion and the inverse quantization circuit. Used to supply data to To realize this conversion, the reverse zigzag scan conversion is realized by changing the address generation order of the memory from the zigzag scan order to the intra-block raster scan order at the time of writing or reading to the internal memory.

【0007】逆離散コサイン変換回路94では逆量子化
されたデータが8個揃った時点で行方向の逆コサイン変
換を施し、結果を転置用メモリ95に書き込んで行く。
逆量子化回路93から供給されるデータに行方向変換を
施し終えた時点で逆離散コサイン変換回路94は転置用
メモリ95からデータを読み出し、列方向の逆コサイン
変換を施しながら後段に出力する。この様に、逆離散コ
サイン変換回路94を行/列双方に時分割で用いる場合
は、列方向の逆コサイン変換を施している間は逆量子化
回路93の出力は受け付けられないため、逆量子化回路
93は待ち状態となる。言い替えれば、逆離散コサイン
変換回路94が行方向変換を実行する時間にタイミング
を合わせて逆量子化処理を済ませなければならず、その
ために逆量子化回路93の回路を並列化するなどして高
速化している。
The inverse discrete cosine transform circuit 94 performs the inverse cosine transform in the row direction when eight pieces of the inversely quantized data are collected, and writes the result in the transposing memory 95.
The inverse discrete cosine transform circuit 94 reads the data from the transposing memory 95 at the time when the row-direction transform is completed on the data supplied from the inverse quantizer circuit 93, and outputs it to the subsequent stage while performing the inverse cosine transform in the column direction. As described above, when the inverse discrete cosine transform circuit 94 is used for both rows / columns in a time division manner, the output of the inverse quantization circuit 93 is not accepted while performing the inverse cosine transform in the column direction, and thus the inverse quantum The conversion circuit 93 enters a waiting state. In other words, the inverse discrete cosine transform circuit 94 has to complete the inverse quantization processing in time with the time when the row-direction transformation is executed, and therefore, the circuit of the inverse quantization circuit 93 is parallelized to achieve high speed. It has become.

【0008】図8の逆離散コサイン変換回路94を2個
用意し、転置メモリを挟んで行変換と列変換を同時動作
させると、逆量子化回路93が待ち状態となることは回
避できる。しかしながら、逆量子化よりも演算量の多い
逆離散コサイン変換回路94を2組搭載することに伴う
回路規模増大を招いてしまう。
If two inverse discrete cosine transform circuits 94 shown in FIG. 8 are prepared and the row transform and the column transform are simultaneously operated with the transposing memory interposed, it is possible to avoid the inverse quantizing circuit 93 from entering a waiting state. However, the circuit scale increases as a result of mounting two sets of the inverse discrete cosine transform circuits 94, which require a larger amount of calculation than the inverse quantization.

【0009】[0009]

【発明が解決しようとする課題】従来方式のメモリ配置
構成では、逆ジグザグスキャン変換機能を伴う時間調整
用メモリから読み出されたデータに対して、逆量子化と
逆DCTがメモリに蓄えられることなく連続して処理さ
れる。このとき、逆量子化と逆DCT処理時間のバラン
スをとるため並列処理の導入による動作速度の高速化が
必要であった。ところが、逆量子化と逆DCTがいずれ
も乗算を多用する演算量の多い処理のためいずれの場合
も復号装置全体としてコスト高を招くという問題があ
る。本発明が解決しようとする課題は、上記問題点を回
避してビデオ復号装置全体の処理効率を向上し、もっと
低コストの復号装置を提供することにある。
In the conventional memory arrangement configuration, the inverse quantization and the inverse DCT are stored in the memory for the data read from the time adjustment memory having the inverse zigzag scan conversion function. It is processed continuously without. At this time, in order to balance the inverse quantization and inverse DCT processing times, it was necessary to increase the operation speed by introducing parallel processing. However, both of the inverse quantization and the inverse DCT have a problem in that the cost of the entire decoding device increases because of the large amount of computations that frequently use multiplication. The problem to be solved by the present invention is to avoid the above problems, improve the processing efficiency of the entire video decoding apparatus, and provide a decoding apparatus at a lower cost.

【0010】[0010]

【課題を解決するための手段】上記の目的を達成するた
めに、本発明による動画像復号装置は、可変長復号回
路、逆量子化回路、逆離散コサイン変換回路、動き補償
信号生成回路という一連の演算回路配置において、逆量
子化回路と逆離散コサイン変換回路間にバッファメモリ
を配置し、このバッファメモリを用いて、逆ジグザグ変
換と2次元逆離散コサイン変換に必要な行列転置機能を
実現している。また、このような動画像復号装置全体を
効率良く制御する方法を与えている。
In order to achieve the above object, a moving picture decoding apparatus according to the present invention comprises a series of a variable length decoding circuit, an inverse quantization circuit, an inverse discrete cosine transform circuit, and a motion compensation signal generation circuit. In the arithmetic circuit arrangement of, a buffer memory is arranged between the inverse quantization circuit and the inverse discrete cosine transform circuit, and the matrix transposing function required for the inverse zigzag transform and the two-dimensional inverse discrete cosine transform is realized by using this buffer memory. ing. In addition, a method for efficiently controlling the entire moving image decoding apparatus is provided.

【0011】[0011]

【作用】従来方式と本発明方式で必要とされるメモリ容
量を見積もる。逆DCT変換の実現には1次元逆DCT
を行方向と列方向の2回に分けて計算することが多い。
いずれの場合も、行(もしくは列)方向に逆DCTを施
した結果を転置して列(もしくは行)方向順に変換する
ためのメモリ回路が必要となる。この転置回路には逆D
CTの計算に必要な精度を保つために通常16bit程
度のメモリを用いる。また、逆量子化前後のデータ表現
に要するビット数は各々9bit,12bit程度であ
る。更に、バッファメモリへの書き込みまでの処理とバ
ッファメモリから読み出された以降の処理を同時実行さ
せるためにダブルバッファ構成のメモリを用いることが
多い。ここでは上記のような前提の下で比較してみる。
The memory capacity required by the conventional method and the present invention method is estimated. One-dimensional inverse DCT is used to realize the inverse DCT transform.
Is often divided into two calculations, one in the row direction and one in the column direction.
In either case, a memory circuit is required to transpose the result of the inverse DCT in the row (or column) direction and convert the result in the column (or row) direction. This transposition circuit has an inverse D
A memory of about 16 bits is usually used to maintain the accuracy required for CT calculation. Further, the number of bits required to represent the data before and after the inverse quantization is about 9 bits and 12 bits, respectively. Further, a memory having a double buffer structure is often used in order to simultaneously execute the processing up to writing to the buffer memory and the processing thereafter read from the buffer memory. Here, let's compare under the above assumptions.

【0012】従来方式では、逆量子化前のデータをダブ
ルバッファで格納するために、9bit×2×B=18
B[bit]が必要である。ここでBは、1ブロックの
DCT係数を構成するデータ数であり、MPEGやH.
261では64となる。また、これとは別に逆DCTに
用いる転置メモリは16bit×1×B=16B[bi
t]となり、合計34B[bit]の容量が必要であ
る。
In the conventional method, 9 bits × 2 × B = 18 are stored in order to store the data before dequantization in the double buffer.
B [bit] is required. Here, B is the number of pieces of data that make up one block of DCT coefficient, and is the MPEG or H.264 standard.
It becomes 64 in 261. Separately, the transpose memory used for the inverse DCT is 16 bits × 1 × B = 16B [bi
t], and a total capacity of 34 B [bit] is required.

【0013】一方本発明では、可変長復号処理の時間調
整バッファメモリを逆量子化後に配置し、そこで逆スキ
ャン変換を施す。また、逆DCT回路の出力をバッファ
メモリに格納させて転置メモリの機能をも同時に実現し
ている。したがって、必要なメモリ容量は16bit×
2×B=32B[bit]となる。この様に、逆ジグザ
グ変換に必要なメモリ容量自体は9bitから16bi
tに増えても可変長復号処理から逆DCTまでに必要な
メモリ容量全体を考慮すれば、逆に本発明方式によるメ
モリ配置の方が少ないメモリ容量で実現できることが分
かる。また、転置メモリ機能を共有させたことによって
必要なメモリ数を3個から2個に減らすことが出来る。
On the other hand, in the present invention, the time adjustment buffer memory for the variable length decoding process is arranged after the inverse quantization, and the inverse scan conversion is performed there. Further, the output of the inverse DCT circuit is stored in the buffer memory to simultaneously realize the function of the transposition memory. Therefore, the required memory capacity is 16 bits x
2 × B = 32 B [bit]. Thus, the memory capacity required for the inverse zigzag conversion is 9 bits to 16 bits.
Considering the entire memory capacity required from the variable length decoding process to the inverse DCT even if the number is increased to t, conversely, it can be seen that the memory arrangement according to the method of the present invention can be realized with a smaller memory capacity. Also, by sharing the transposed memory function, the required number of memories can be reduced from three to two.

【0014】本発明に従ってバッファメモリを配置した
復号装置では、可変長復号処理と逆量子化までを第1
段、逆DCT演算を第2段、動き補償処理を第3段とし
たパイプライン処理が行われるような制御が可能とな
る。この制御方法の特徴として、逆量子化後に配置した
バッファメモリのバンク切替えと同時に逆DCT演算と
次ブロックの可変長復号処理を起動すること、また、前
記次ブロックの可変長復号処理の起動と同時に前ブロッ
クのフレーム加算処理を開始させることが挙げられる。
In the decoding device in which the buffer memory is arranged according to the present invention, the variable length decoding process and the dequantization are performed first.
It is possible to perform control such that pipeline processing in which the second stage is the inverse DCT calculation and the third stage is the motion compensation process is performed. A feature of this control method is that the inverse DCT operation and the variable length decoding process of the next block are started at the same time when the banks of the buffer memory arranged after the inverse quantization are switched, and the variable length decoding process of the next block is started at the same time. One example is to start the frame addition process of the previous block.

【0015】[0015]

【実施例】図1は本発明による動画像符号化装置の一実
施例を示している。本実施例は、可変長復号回路1、逆
量子化回路2、逆離散コサイン変換回路3、予測信号生
成回路4、バッファメモリ回路5,6,7、フレーム加
算回路8、フレームメモリ9、タイミング制御回路10
より構成される。可変長復号回路1に供給される圧縮ビ
デオストリームは、固定長符号列に変換されて逆量子化
回路2に供給される。逆量子化回路2では、予め与えら
れた量子化ステップサイズと量子化テーブルの値の乗算
による逆量子化処理を施し、バッファメモリ5に書き込
む。逆量子化を施すデータの順番は可変長復号で得られ
るデータ順、すなわち、ジグザグスキャン順であるが、
バッファメモリ5に格納する際にジグザグスキャン順に
対応したアドレスを発生させることによって逆ジグザグ
スキャン変換を施す。バッファメモリ5に書き込まれた
データは、後に逆離散コサイン変換3により読み出され
行方向の1次元逆離散コサイン変換を施される。行方向
に逆離散コサイン変換が施されたデータは、一旦バッフ
ァメモリ5に書き戻された後に再度読み出され列方向の
逆離散コサイン変換が施される。このようにして逆離散
コサイン変換で得られたフレーム間予測誤差信号がバッ
ファメモリ6に格納される。
1 shows an embodiment of a moving picture coding apparatus according to the present invention. In this embodiment, a variable length decoding circuit 1, an inverse quantization circuit 2, an inverse discrete cosine transform circuit 3, a prediction signal generation circuit 4, buffer memory circuits 5, 6, 7, a frame addition circuit 8, a frame memory 9, timing control. Circuit 10
It is composed of The compressed video stream supplied to the variable length decoding circuit 1 is converted into a fixed length code string and supplied to the inverse quantization circuit 2. The inverse quantization circuit 2 performs an inverse quantization process by multiplying a quantization step size given in advance and a value of a quantization table, and writes it in the buffer memory 5. The order of data to be subjected to inverse quantization is the data order obtained by variable length decoding, that is, the zigzag scan order,
The inverse zigzag scan conversion is performed by generating addresses corresponding to the zigzag scan order when storing in the buffer memory 5. The data written in the buffer memory 5 is later read by the inverse discrete cosine transform 3 and subjected to the one-dimensional inverse discrete cosine transform in the row direction. The data subjected to the inverse discrete cosine transform in the row direction is once written back to the buffer memory 5 and then read again to be subjected to the inverse discrete cosine transform in the column direction. The inter-frame prediction error signal thus obtained by the inverse discrete cosine transform is stored in the buffer memory 6.

【0016】フレームメモリ9には、復号された画像信
号が格納されている。予測信号生成回路4は以前に復号
されフレームメモリ9に格納された画像データからフレ
ーム間予測信号を生成し、バッファメモリ7に格納す
る。バッファメモリ6とバッファメモリ7に各々格納さ
れた信号をフレーム加算回路8で加算して復号画像信号
を得、フレームメモリ9に格納する。タイミング制御回
路10は、後に詳述するタイミングで可変長復号回路
1、バッファメモリ回路5、フレーム加算回路8の起動
タイミングを調整することによって全体の制御を行う。
The frame memory 9 stores the decoded image signal. The prediction signal generation circuit 4 generates an interframe prediction signal from the image data previously decoded and stored in the frame memory 9, and stores it in the buffer memory 7. The signals respectively stored in the buffer memory 6 and the buffer memory 7 are added by the frame addition circuit 8 to obtain a decoded image signal, which is stored in the frame memory 9. The timing control circuit 10 adjusts the activation timing of the variable length decoding circuit 1, the buffer memory circuit 5, and the frame addition circuit 8 at a timing which will be described in detail later, thereby performing overall control.

【0017】図2は可変長復号回路1の一例を示してい
る。0から7までのシフトを実現するバレルシフタ2
1、可変長復号テーブル22、判定回路23、シフト量
計算回路25、8bitのレジスタ26,27、ゼロラ
ン長をカウントするカウンタ29、復号されたレベル値
を格納するレジスタ20、セレクタ28より構成され
る。以下では簡単のために、離散コサイン変換係数に対
する可変長符号の復号処理を説明する。判定回路23
は、内部状態を持つシーケンサで、内部状態とバレルシ
フタ21の出力から1個の可変長符号を復号してコサイ
ン変換係数を表すレベル値とこれに先立つゼロラン長を
決定し、各々レジスタ20とカウンタ29に出力する。
判定回路23が一つの可変長符号を検出するまで可変長
復号テーブル22の内容に従って、7bit以下のシフ
トはバレルシフタ21で、8bitの倍数のシフトはレ
ジスタ27,28を使って入力ストリームのシフトを繰
り返す。一般に、バレルシフタの出力として一度に参照
するデータのビット数と可変長符号の最大符号長によっ
て1つの符号をデコードし終えるまでに要するステップ
数が定まる。ここではバレルシフタ出力は6ビットと
し、可変長符号の最大長を24ビットとすれば、この様
な回路では高々4ステップの計算で可変長符号1個数の
デコードが終了する。
FIG. 2 shows an example of the variable length decoding circuit 1. Barrel shifter 2 for shifting from 0 to 7
1. Variable length decoding table 22, determination circuit 23, shift amount calculation circuit 25, 8-bit registers 26, 27, counter 29 for counting zero run length, register 20 for storing the decoded level value, and selector 28. . For the sake of simplicity, a variable length code decoding process for discrete cosine transform coefficients will be described below. Judgment circuit 23
Is a sequencer having an internal state, and decodes one variable length code from the internal state and the output of the barrel shifter 21 to determine a level value representing a cosine transform coefficient and a zero run length preceding this, and respectively register 20 and counter 29. Output to.
According to the contents of the variable length decoding table 22, until the judgment circuit 23 detects one variable length code, the shift of 7 bits or less is repeated by the barrel shifter 21, and the shift of the multiple of 8 bits is repeated by using the registers 27 and 28 to repeat the shift of the input stream. . In general, the number of steps required to finish decoding one code is determined by the number of bits of data referred to at one time as the output of the barrel shifter and the maximum code length of the variable-length code. Here, assuming that the barrel shifter output is 6 bits and the maximum length of the variable length code is 24 bits, in such a circuit, the decoding of one variable length code is completed by calculating at most 4 steps.

【0018】復号した符号が1個以上のゼロランをもつ
場合は、その数がカウンタ29の初期値として格納さ
れ、カウンタ29をカウントダウンすると同時にセレク
タ28の出力を‘0’とする。カウンタ29の値が0と
なったら、レジスタ20の値を出力するとともにカウン
タ29のカウントダウンを終了する。また、エンド・オ
ブ・ブロックコードを検出した場合には直前のレベル値
以降64個になるまで値‘0’出力を繰り返す様にカウ
ンタ29が判定回路23によって設定される。
When the decoded code has one or more zero runs, the number is stored as the initial value of the counter 29, and the counter 29 is counted down and the output of the selector 28 is set to "0". When the value of the counter 29 becomes 0, the value of the register 20 is output and the countdown of the counter 29 is completed. Further, when the end-of-block code is detected, the counter 29 is set by the determination circuit 23 so that the value “0” is repeatedly output until the number becomes 64 after the immediately preceding level value.

【0019】ここで、図示せずも、可変長復号回路1は
逆量子化回路2のレディ信号を観察し、レディでない場
合は次のデータ出力を待ち合わせる。但し、待ち合わせ
が起こった場合も、デコード結果はレジスタ20とカウ
ンタ29に格納されるので、次のDCT係数に対するデ
コード処理を進めることができる。このようにして、8
bitの入力ポートからビットストリームが途切れなく
供給される限り、高々4クロックに1個の割合でデコー
ドされたレベル信号が出力される。
Here, although not shown, the variable length decoding circuit 1 observes the ready signal of the inverse quantization circuit 2 and waits for the next data output if it is not ready. However, even if a wait occurs, the decoding result is stored in the register 20 and the counter 29, so that the decoding process for the next DCT coefficient can be advanced. In this way, 8
As long as the bit stream is continuously supplied from the bit input port, the decoded level signal is output at a rate of one every four clocks.

【0020】図3は逆量子化回路2の一例を示してい
る。逆量子化回路2は、部分積乗算器301、量子化ス
ケールを格納するレジスタ302、量子化テーブル30
3、セレクタ304,310、シフタ305、クリップ
処理回路307、レジスタ308,311、加算器30
9、逆量子化処理をバイパスするセレクタ312より構
成される。レジスタ302と量子化テーブル303に
は、ビットストリームの他の階層で供給される量子化ス
テップ値と量子化マトリクスデータが各々格納される。
ここで説明するDCT係数のデコード時点ではいずれも
設定済みとなっている。逆量子化操作は、可変長復号回
路でデコードされた各DCT係数に量子化テーブル30
3内の対応する値と、レジスタ302の量子化ステップ
値を乗算する処理である。こののちクリップ処理回路3
07により偶数奇数変換やクリップ処理が施される。
FIG. 3 shows an example of the inverse quantization circuit 2. The inverse quantization circuit 2 includes a partial product multiplier 301, a register 302 that stores a quantization scale, and a quantization table 30.
3, selectors 304 and 310, shifter 305, clip processing circuit 307, registers 308 and 311, adder 30
9. The selector 312 bypasses the inverse quantization process. The register 302 and the quantization table 303 respectively store the quantization step value and the quantization matrix data supplied in another layer of the bitstream.
All have been set at the time of decoding the DCT coefficient described here. In the inverse quantization operation, the quantization table 30 is applied to each DCT coefficient decoded by the variable length decoding circuit.
This is a process of multiplying the corresponding value in 3 by the quantization step value of the register 302. After this, clip processing circuit 3
At 07, even-odd conversion and clip processing are performed.

【0021】入力されたDCT係数には、先ず第1のス
テップとして、セレクタ量子化テーブル303から読み
だされた8bitデータと入力データの乗算が行われ
る。このときセレクタ304,310は、いずれもA入
力を選択する。また、レジスタ308は値‘0’に初期
化される。部分積乗算器301にはセレクタ304で選
択される量子化テーブル303の値が供給されるが、シ
フタ305によって下位4bitが選ばれて部分積乗算
器301で部分乗算が施され、レジスタ308に結果が
格納される。次に第2のステップで、シフタ305によ
って量子化テーブル303の出力から上位4bitが供
給され、部分積乗算器301と入力との間で部分積が施
される。レジスタ308に格納された下位4bitとの
部分積と部分積乗算器301で求まった部分積値が加算
器309で加算されることによって入力データと量子化
テーブルの値の積が求まり、レジスタ311に格納され
る。このときレジスタ308は‘0’に初期化される。
First, as a first step, the input DCT coefficient is multiplied by the 8-bit data read from the selector quantization table 303 and the input data. At this time, the selectors 304 and 310 both select the A input. Further, the register 308 is initialized to the value “0”. The value of the quantization table 303 selected by the selector 304 is supplied to the partial product multiplier 301, but the lower 4 bits are selected by the shifter 305, partial multiplication is performed by the partial product multiplier 301, and the result is stored in the register 308. Is stored. Next, in the second step, the upper 4 bits are supplied from the output of the quantization table 303 by the shifter 305, and a partial product is applied between the partial product multiplier 301 and the input. The product of the input data and the value of the quantization table is obtained by adding the partial product of the lower 4 bits stored in the register 308 and the partial product value obtained by the partial product multiplier 301 by the adder 309, and the result is stored in the register 311. Is stored. At this time, the register 308 is initialized to "0".

【0022】次に第3のステップで、セレクタ304,
310は、いずれもB入力を選択し、レジスタ302の
内容とレジスタ311の値が各々出力される。レジスタ
311の値と量子スケール値が部分積乗算器301で先
ずシフタ305が下位4bitを選択して部分積がレジ
スタ308に格納される。次に第4のステップで、シフ
タ305が上位4bitを選択して、部分積乗算器30
1と加算器309による乗累算結果がレジスタ308に
格納される。この乗算処理に要する4ステップの処理が
終了したら、図示せずも、逆量子化回路2は可変長復号
回路1にレディ信号を発信し、次のデータ入力が可能な
ことを示す。レジスタ308の値はクリップ処理回路3
07、セレクタ312を介して出力される。
Next, in the third step, the selector 304,
All 310 select the B input, and the contents of the register 302 and the value of the register 311 are output. In the partial product multiplier 301, the shifter 305 first selects the lower 4 bits of the value of the register 311 and the quantum scale value, and the partial product is stored in the register 308. Next, in the fourth step, the shifter 305 selects the upper 4 bits, and the partial product multiplier 30
The result of multiplication and accumulation by 1 and the adder 309 is stored in the register 308. When the four-step processing required for this multiplication processing is completed, the dequantization circuit 2 sends a ready signal to the variable length decoding circuit 1 to indicate that the next data can be input, although not shown. The value of the register 308 is the clip processing circuit 3
07, and is output via the selector 312.

【0023】尚、DCT係数の直流成分やゼロラン長の
復号結果の様に可変長復号回路1で逆量子化処理を施す
必要のないと分かっているデータについては、セレクタ
312を用いて入力データをそのまま1ステップで出力
する。以上のようにして、1個のDCT係数あたり高々
4ステップで実現され、ゼロラン符号が多い場合には、
より短い時間で逆量子化処理が実現される。
For the data such as the DC component of the DCT coefficient and the decoding result of the zero run length, which is known to be unnecessary to be inversely quantized by the variable length decoding circuit 1, the input data is converted by using the selector 312. Output as it is in one step. As described above, when each DCT coefficient is realized in 4 steps at most and there are many zero-run codes,
The inverse quantization process is realized in a shorter time.

【0024】図4はバッファメモリ5の一例を示してい
る。図において、64ワードメモリ41a,41b、メ
モリの出力データを選択するセレクタ42、離散コサイ
ン変換回路3への読み出しカウンタ43、逆ジグザグス
キャンアドレス発生器44、メモリのアドレスを指定す
るセレクタ45a,45b、書き込みデータを選択する
セレクタ46a,46b、書き込みアドレス発生器4
7、セレクタ48、カウンタ43の出力の上位3bit
と下位3bitを入れ替えを行える行・列入れ換え回路
49より構成される。ここでは、シングルポートRAM
を2面用いたダブルバッファ構成としている。このダブ
ルバッファは、AとBの2つの状態を持ち、各々の状態
でセレクタ42,45a,45b,46a,46bの対
応する入力ポート名のデータが各セレクタの出力として
選択される。ここでは状態Aすなわち各セレクタがAと
書かれた側の信号を出力している状態での動作を説明す
る。
FIG. 4 shows an example of the buffer memory 5. In the figure, 64-word memories 41a and 41b, a selector 42 for selecting output data of the memory, a read counter 43 to the discrete cosine conversion circuit 3, an inverse zigzag scan address generator 44, selectors 45a and 45b for designating addresses of the memory, Selectors 46a and 46b for selecting write data, write address generator 4
7, high-order 3 bits of the output of the selector 48 and the counter 43
And a row / column switching circuit 49 capable of switching the lower 3 bits. Here, single port RAM
Has a double buffer structure using two surfaces. This double buffer has two states of A and B, and in each state, the data of the input port name corresponding to the selector 42, 45a, 45b, 46a, 46b is selected as the output of each selector. Here, the operation in the state A, that is, the state in which each selector outputs the signal on the side written as A will be described.

【0025】逆量子化回路3から出力されたデータはメ
モリ41bに書き込まれる。書き込みアドレスは逆ジグ
ザグスキャンアドレス発生器44から供給され、ジグザ
グスキャン順に入力されたデータがブロックラスタ走査
順となるよう書き込まれる。
The data output from the inverse quantization circuit 3 is written in the memory 41b. The write address is supplied from the inverse zigzag scan address generator 44, and the data input in the zigzag scan order is written in the block raster scan order.

【0026】一方、メモリ41aには、一つ前のブロッ
クに対する逆量子化結果が格納されており、その値が後
述する逆離散コサイン変換回路3からの要求に基づいて
読み出しアドレスカウンタ43、書き込みアドレス発生
器47、セレクタ48、行・列入れ換え回路49を制御
することによって読み出され、2次元の逆離散コサイン
変換が実現される。具体的には、逆離散コサイン変換回
路3が行方向DCT演算を実行するときは、読み出しア
ドレスカウンタ43の出力を行・列入れ換え回路49で
変換することなくそのまま読み出しアドレスとしてメモ
リ41aからデータを読み出すとともに、セレクタ46
aを介して供給される逆離散コサイン変換回路3の出力
データを書き込みアドレス発生器47の発生するアドレ
スに書き込む。また、逆離散コサイン変換回路3が列方
向DCT演算を実行するときは、読み出しアドレスカウ
ンタ43の出力を行・列入れ換え回路49で変換したア
ドレスを読み出しアドレスとし、メモリ41aからセレ
クタ42を介してデータを読み出す。
On the other hand, the memory 41a stores the inverse quantization result for the previous block, and the value thereof is read address counter 43 and write address based on the request from the inverse discrete cosine transform circuit 3 described later. It is read out by controlling the generator 47, the selector 48, and the row / column interchange circuit 49, and the two-dimensional inverse discrete cosine transform is realized. Specifically, when the inverse discrete cosine transform circuit 3 executes a row-direction DCT operation, the output of the read address counter 43 is directly read from the memory 41a as a read address without being converted by the row / column interchange circuit 49. Together with the selector 46
The output data of the inverse discrete cosine transform circuit 3 supplied via a is written in the address generated by the write address generator 47. Further, when the inverse discrete cosine transform circuit 3 executes the column direction DCT operation, the output of the read address counter 43 is converted by the row / column interchange circuit 49 to be the read address, and the data is read from the memory 41 a via the selector 42. Read out.

【0027】状態Bすなわち各セレクタがBと書かれた
側の信号を出力している状態での動作は、メモリ41a
とメモリ41bの機能が入れ替わる。このようにダブル
バッファ回路は、必ず一方のメモリは逆量子化回路2の
出力書き込み専用として逆ジグザグスキャン機能を実現
し、もう一方のメモリが逆離散コサイン変換回路の入出
力専用として行列の転置機能を実現している。このダブ
ルバッファメモリの切替えは、後述するタイミングでタ
イミング制御回路10により制御される。
The operation in the state B, that is, the state in which each selector outputs the signal on the side written B, is performed by the memory 41a.
And the functions of the memory 41b are exchanged. In this way, in the double buffer circuit, one memory always realizes the inverse zigzag scan function by dedicating the output of the dequantization circuit 2, and the other memory performs the matrix transposition function by dedicating the input / output of the inverse discrete cosine transform circuit. Has been realized. The switching of the double buffer memory is controlled by the timing control circuit 10 at a timing described later.

【0028】図5は逆離散コサイン変換回路3の一例を
示している。並列乗算器51a,51b、加算器52
a,52b、レジスタ53a,53b,54a,54
b、加減算器55、逆DCT計算を行うための乗数を格
納した係数ROM56a,56b、4ワードのデータを
格納するレジスタファイル57a,57bより構成され
る。
FIG. 5 shows an example of the inverse discrete cosine transform circuit 3. Parallel multipliers 51a and 51b, adder 52
a, 52b, registers 53a, 53b, 54a, 54
b, an adder / subtractor 55, coefficient ROMs 56a and 56b storing multipliers for performing inverse DCT calculation, and register files 57a and 57b storing 4-word data.

【0029】本実施例による逆DCT計算は、DCT係
数(y0 1 ・・・y7 )からベクトル(x0 1 ・・
・x7 )を求める以下の計算式に従って計算される。
In the inverse DCT calculation according to this embodiment, the DCT coefficient (y 0 y 1 ... y 7 ) is used to calculate the vector (x 0 x 1 ...
· X 7) is calculated according to the following calculation formula for obtaining a.

【0030】[0030]

【数1】 [Equation 1]

【0031】で定義され、係数ROM56aと係数RO
M56bには各々式(1),(2)に対応する値が書き
込まれている。(1)式と(2)式の結果である4次ベ
クトルを加算することで(x0 2 4 6 )が、ま
た、減算することで(x1 3 5 7 )が求まる。
Is defined by the coefficient ROM 56a and the coefficient RO
Values corresponding to equations (1) and (2) are written in M56b, respectively. (X 0 x 2 x 4 x 6 ) is obtained by adding the fourth-order vector that is the result of equations (1) and (2), and (x 1 x 3 x 5 x 7 ) is obtained by subtracting it. I want it.

【0032】バッファメモリ5より1個の8次ベクトル
が読み出され、偶数番目の係数と奇数番目の係数に分か
れてレジスタファイル57a,57bに格納される。こ
のとき、レジスタファイル57a,57bのベクトルデ
ータは、図4の読み出しアドレスカウンタの値を行・列
入れ換え回路49で入れ換えることなくそのままメモリ
に格納することによって順次読み出され格納されてい
る。
One 8th-order vector is read from the buffer memory 5, divided into even-numbered coefficients and odd-numbered coefficients and stored in the register files 57a and 57b. At this time, the vector data of the register files 57a and 57b are sequentially read and stored by directly storing the values of the read address counter of FIG. 4 in the memory without exchanging them by the row / column exchanging circuit 49.

【0033】レジスタファイル57a,57bのベクト
ルデータは、各々乗算器51aと51bによって式
(1),(2)の4×4マトリクスと4次ベクトルが同
時に乗算され加算器52a,52bとレジスタ53a,
53bによって累算される。4ステップの計算で同時に
レジスタ3a,3bに求まった2つのデータは、次のク
ロックでレジスタ54a,54bに退避され加減算器5
5によってバタフライ演算が施された後に得られた2個
のデータxi ,x3-i (i=0・・・3)が順次出力さ
れる。ベクトル行列積の結果をレジスタ54a,54b
に退避することにより、乗算器51a,51bと加算器
52a,52b、レジスタ53a,53bは、次のベク
トル行列積の計算を連続して開始することができる。こ
の結果は、順次出力ポートを介してバッファメモリ5に
蓄えられる。このときバッファメモリ5では逆DCT演
算前のベクトルデータは既にレジスタファイル57a,
57bに読み出された後なので、必要なデータが書き潰
されることは無い。
The vector data in the register files 57a and 57b are simultaneously multiplied by the 4 × 4 matrix of the equations (1) and (2) and the quaternary vector by the multipliers 51a and 51b, respectively, and adders 52a and 52b and the register 53a
It is accumulated by 53b. The two data obtained in the registers 3a and 3b at the same time by the calculation of four steps are saved in the registers 54a and 54b at the next clock and added / subtracted by the adder / subtractor 5
Two pieces of data x i , x 3-i (i = 0 ... 3) obtained after the butterfly operation is performed by 5 are sequentially output. The result of the vector matrix multiplication is registered in the registers 54a and 54b.
By saving to, the multipliers 51a and 51b, the adders 52a and 52b, and the registers 53a and 53b can continuously start calculation of the next vector matrix product. The result is sequentially stored in the buffer memory 5 via the output port. At this time, in the buffer memory 5, the vector data before the inverse DCT operation is already registered in the register file 57a,
Since it has been read by 57b, necessary data is not overwritten.

【0034】以上のようにして4ステップで2個の値が
求まるので、64個のデータに対して128ステップで
行方向の逆DCT演算が施される。バッファメモリ5に
行方向逆DCTが施されて書き込まれたデータは、再び
読み出され列方向のDCTが施される。2次元逆DCT
は行方向128ステップ、列方向128ステップの計2
56ステップで求まる。従って、1DCT係数当りには
4ステップを要することとなる。
Since two values are obtained in four steps as described above, the inverse DCT operation in the row direction is applied to 64 pieces of data in 128 steps. The data written in the buffer memory 5 by performing the inverse DCT in the row direction is read again and subjected to the DCT in the column direction. Two-dimensional inverse DCT
Is 128 steps in the row direction and 128 steps in the column direction, for a total of 2
It can be found in 56 steps. Therefore, four steps are required for each DCT coefficient.

【0035】図6は予測信号生成回路4の一例を示して
いる。1画素遅延を実現するレジスタ61、加算器6
3、セレクタ66で構成される水平方向補間部と、8画
素遅延を実現するレジスタ62、加算器64、セレクタ
67で構成される垂直方向補間部と、加算器65、セレ
クタ68で構成される時間方向補間部より構成される。
水平、垂直、時間方向の各補間部は、可変長復号によっ
て得られた各ブロックの予測信号生成情報によって各補
間部を構成するセレクタ66,67,68の入力として
H,Lどちらを選択するかが決定される。各セレクタ
は、入力Hを選択した場合に補間が行われた値を出力
し、入力Lを選択した場合に補間が行われない様に接続
されている。
FIG. 6 shows an example of the prediction signal generation circuit 4. Register 61 and adder 6 that realize 1-pixel delay
3, a horizontal interpolation unit configured by a selector 66, a vertical interpolation unit configured by a register 62 that realizes 8-pixel delay, an adder 64, and a selector 67, and a time configured by an adder 65 and a selector 68. It is composed of a direction interpolation unit.
Which of the horizontal, vertical, and temporal interpolation units selects H or L as an input to the selectors 66, 67, and 68 that configure each interpolation unit according to the prediction signal generation information of each block obtained by variable-length decoding Is determined. The respective selectors are connected so that when the input H is selected, the interpolated value is output, and when the input L is selected, the interpolation is not performed.

【0036】フレーム間予測情報によって、フレーム間
予測信号の生成に必要なデータがフレームメモリ9から
9画素×9ラインのブロックデータとして読み出され、
水平方向補間部に供給され、出力として8画素×9ライ
ンのブロックデータとして垂直方向補間部に出力され
る。垂直方向補間部では、出力として8画素×8ライン
を出力する。このときセレクタ68はL入力すなわち値
0を選択するのでブロック情報に基づいて水平及び垂直
補間が施されたデータが外部に出力される。両方向予測
ブロックの場合は、先ず、前方向予測ブロックが上述の
方法によって水平/垂直補間がなされた後にバッファメ
モリ7に書き込まれる。次に、セレクタ68は入力Hを
選択し、後ろ方向予測ブロックについて水平/垂直補間
部で補間処理が施されると同時にバッファメモリ7から
読み出された前方向予測ブロックと今求められる補間さ
れた後ろ方向予測ブロックとが加算器65によって時間
方向補間が施され再度バッファメモリ7に書き込まれ
る。
According to the inter-frame prediction information, the data necessary for generating the inter-frame prediction signal is read from the frame memory 9 as block data of 9 pixels × 9 lines,
It is supplied to the horizontal direction interpolation unit and is output to the vertical direction interpolation unit as block data of 8 pixels × 9 lines. The vertical interpolation unit outputs 8 pixels × 8 lines as an output. At this time, since the selector 68 selects the L input, that is, the value 0, the data subjected to the horizontal and vertical interpolation based on the block information is output to the outside. In the case of a bidirectional prediction block, first, the forward prediction block is written in the buffer memory 7 after horizontal / vertical interpolation is performed by the above method. Next, the selector 68 selects the input H, and the backward prediction block is subjected to the interpolation processing by the horizontal / vertical interpolation unit, and at the same time, the forward prediction block read from the buffer memory 7 and the current predicted block are interpolated. The backward prediction block and the backward prediction block are temporally interpolated by the adder 65 and are again written in the buffer memory 7.

【0037】このようにして、前方もしくは後ろ方向の
みの片方向予測ブロックの場合は、9画素×9ラインの
データの補間処理に要する時間はレジスタ61,62に
よる遅延時間も合わせて(9×9)+9であり、1画素
当りに換算すると(81+9/64=1.41と見積も
ることが出来る。両方向予測ブロックには倍の1画素当
り2.9クロックとなる。したがって、フレーム間予測
信号生成回路では、1画素当たり2.9クロックの処理
時間でフレーム間予測信号をバッファメモリ7に格納す
ることが出来る。
In this way, in the case of a unidirectional prediction block only in the forward or backward direction, the time required for the interpolation processing of the data of 9 pixels × 9 lines is calculated by adding the delay time by the registers 61 and 62 (9 × 9). ) +9, which can be estimated as (81 + 9/64 = 1.41) when converted per pixel. The bidirectional prediction block has twice as many 2.9 clocks per pixel. Then, the inter-frame prediction signal can be stored in the buffer memory 7 in a processing time of 2.9 clocks per pixel.

【0038】バッファメモリ7に格納されたフレーム間
予測信号は、バッファメモリ6に格納された逆DCT結
果と同時に読み出され、フレーム加算回路8で加算処理
を施すことによって復号画像を再生し、フレームメモリ
9に書き込まれる。図示せずも、フレーム加算回路での
処理は1画素当り1クロックで出来る。バッファメモリ
7に格納されるフレーム間予測信号の生成に2.9クロ
ック、バッファメモリ7から読み出して復号信号の生成
に1クロックとなるので、合計約4クロックでフレーム
間予測と復号画像の生成を終了することができる。
The inter-frame prediction signal stored in the buffer memory 7 is read at the same time as the inverse DCT result stored in the buffer memory 6, and an addition process is performed in the frame adding circuit 8 to reproduce a decoded image, It is written in the memory 9. Although not shown, the processing in the frame addition circuit can be performed with one clock per pixel. Since it takes 2.9 clocks to generate the inter-frame prediction signal stored in the buffer memory 7 and 1 clock to generate the decoded signal read from the buffer memory 7, the inter-frame prediction and the decoded image generation are performed in about 4 clocks in total. Can be finished.

【0039】本発明による動画像復号装置の動作タイミ
ングを図7を用いて説明する。可変長復号回路1と逆量
子化回路2の動作を上段、逆離散コサイン変換回路3の
動作を中段、予測信号生成回路4とフレーム加算回路8
の動作を下段に示した。今まで説明した様に、実施例に
於ける可変長復号回路1、逆量子化回路2、逆離散コサ
イン変換回路3、及び、予測信号生成回路4とフレーム
加算回路8のそれぞれについて、4クロック毎に1個の
割合で処理が進められる。タイミング制御回路10は、
上記3つの処理が各々終了した段階で、次のブロックの
処理に同時に進む様に制御しており、従って、可変長復
号回路1と、逆離散コサイン変換回路3と、フレーム加
算回路8が同時に起動されている。
The operation timing of the moving picture decoding apparatus according to the present invention will be described with reference to FIG. The operation of the variable length decoding circuit 1 and the inverse quantization circuit 2 is in the upper stage, the operation of the inverse discrete cosine transform circuit 3 is in the middle stage, the prediction signal generation circuit 4 and the frame addition circuit 8
The operation of is shown in the lower row. As described above, the variable length decoding circuit 1, the inverse quantization circuit 2, the inverse discrete cosine transform circuit 3, and the prediction signal generation circuit 4 and the frame addition circuit 8 in the embodiment each have 4 clocks. The processing is performed at a rate of one. The timing control circuit 10
Upon completion of each of the above three processes, control is performed so as to proceed to the process of the next block at the same time. Therefore, the variable length decoding circuit 1, the inverse discrete cosine transform circuit 3, and the frame addition circuit 8 are simultaneously activated. Has been done.

【0040】上段の可変長復号回路、逆量子化回路で
は、入力ビットストリームによって非ゼロのデータ数が
異なるために、ブロックによって処理時間に違いが見ら
れる。特に、期間1では可変長復号するブロックがノッ
トコーデッドであったために、DCT係数が存在しない
ため処理時間が短くなっている。逆離散コサイン変換回
路3では、行方向の変換と列方向の変換処理が順次実行
される。但し、期間2ではノットコーデッドブロックに
対して逆DCT演算は不要なので逆離散コサイン変換回
路3は起動されていない。予測信号生成回路4とフレー
ム加算回路8では、1周期の間に1回のフレーム加算処
理と2回までの予測信号生成処理が実行される。例えば
期間2では、両方向予測ブロックに対する予測信号生成
が行われている。一方、期間3では対応するブロックが
イントラブロックのためフレーム間予測信号は生成して
いない。
In the variable length decoding circuit and the inverse quantization circuit in the upper stage, the number of non-zero data differs depending on the input bit stream, so that the processing time differs depending on the block. Particularly, in the period 1, since the block to be subjected to the variable length decoding is not coded, there is no DCT coefficient, so that the processing time is shortened. The inverse discrete cosine transform circuit 3 sequentially performs a row-direction transformation process and a column-direction transformation process. However, in the period 2, the inverse DCT calculation is not necessary for the knot-coded block, so the inverse discrete cosine transform circuit 3 is not activated. The prediction signal generation circuit 4 and the frame addition circuit 8 execute the frame addition process once and the prediction signal generation process up to twice in one cycle. For example, in the period 2, the prediction signal generation for the bidirectional prediction block is performed. On the other hand, in period 3, the inter-frame prediction signal is not generated because the corresponding block is an intra block.

【0041】同図には、バッファメモリ5のバンク切替
え、予測信号生成回路4におけるセレクタ68の制御信
号、バッファメモリ5における行・列入れ換え変換回路
49の制御信号も同時に示している。バッファメモリ5
のバンク切替えは、逆離散コサイン変換回路3の起動と
同時に行われる。従って、ノットコーデッドブロックに
対する逆DCT演算の起動タイミング、すなわち期間1
から期間2への移行時においてはバンク切替えは起こし
ていない。また、予測信号生成回路4におけるセレクタ
68の制御信号は、両方向予測でかつ2回目の予測信号
生成時にのみ‘H’となって時間方向の補間処理が実現
されることが分かる。また、逆離散コサイン変換回路が
列方向DCTを計算する間は行・列入れ換え変換回路4
9の制御信号がハイレベルとなり行と列を入れ換えたア
ドレスが発生され、行列の転置機能が使われていること
が示される。
In the figure, the bank switching of the buffer memory 5, the control signal of the selector 68 in the prediction signal generation circuit 4, and the control signal of the row / column interchange conversion circuit 49 in the buffer memory 5 are also shown. Buffer memory 5
The bank switching is performed simultaneously with the activation of the inverse discrete cosine transform circuit 3. Therefore, the activation timing of the inverse DCT calculation for the not coded block, that is, the period 1
No bank switching has occurred at the time of transition from 1 to period 2. Further, it can be seen that the control signal of the selector 68 in the prediction signal generation circuit 4 becomes'H 'only in the bidirectional prediction and only when the second prediction signal is generated, and the interpolation processing in the time direction is realized. Further, while the inverse discrete cosine transform circuit calculates the column direction DCT, the row / column interchange transform circuit 4
The control signal of 9 becomes high level, an address in which rows and columns are interchanged is generated, and it is shown that the transposition function of the matrix is used.

【0042】このように、逆量子化後に配置したバッフ
ァメモリ5のバンク切替えと同時に逆DCT処理と次ブ
ロックの可変長復号処理を起動すること、また、次ブロ
ックの可変長復号処理の起動と同時に前ブロックのフレ
ーム加算処理を開始させていることが、本制御方式の特
徴となっている。特に、逆離散コサイン変換回路3は行
方向の変換に128クロック要するのに対し、フレーム
加算処理は64クロックしかかからないため、フレーム
加算回路8の実現上の遅延を含めても逆離散コサイン変
換回路3が列方向の変換処理を開始して2次元逆DCT
結果の出力を開始する前にフレーム加算処理を終了させ
られる。従って、逆DCT結果を格納するバッファメモ
リ6は1ブロック分で充分であり、特別な待ち合わせ制
御も不要となっている。
As described above, the inverse DCT process and the variable length decoding process of the next block are started at the same time as the bank switching of the buffer memory 5 arranged after the inverse quantization, and the variable length decoding process of the next block is started at the same time. The start of the frame addition process of the previous block is a feature of this control method. In particular, the inverse discrete cosine transform circuit 3 requires 128 clocks for the conversion in the row direction, whereas the frame addition process takes only 64 clocks. Therefore, the inverse discrete cosine transform circuit 3 includes the delay for realizing the frame adder circuit 8. Starts the conversion process in the column direction and starts the two-dimensional inverse DCT
The frame addition process can be ended before the output of the result is started. Therefore, the buffer memory 6 for storing the inverse DCT result is sufficient for one block, and no special waiting control is required.

【0043】以上の様に、本発明による実施例では、可
変長復号、逆量子化、逆DCTそれぞれについて4クロ
ック毎に1個の割合で処理が進められる。尚、データ1
個あたりの処理クロック数は、システム全体の処理要求
速度と回路規模とのバランスによって定めるものであ
り、この実施例はその一例として4ステップ毎の実現例
を示したに過ぎない。たとえば、同じ動作周波数でより
高速な処理が必要とされるシステムでは、各演算器の並
列度を上げてデータ1個当りの処理クロック数を減らす
ことが出来る。この場合、可変長復号回路2で一度にデ
コードできるビット数を6bitから12bitにすべ
くシフタレジスタの出力を倍とし、大きな量子化テーブ
ルを採用する。逆量子化回路2では、部分積乗算器を並
列乗算器としてクロックで一回の乗算を行える様にし、
逆離散コサイン変換回路3では並列乗算器、加算器、レ
ジスタ等からなる積和演算器を倍の4並列とすればよ
い。逆に、高速な処理を必要としないシステムでは、こ
の場合可変長復号回路1で一度にデコードできるビット
数を6bitから3bitにすべくシフタレジスタの出
力を半分とし、量子化テーブルを変更する。逆量子化回
路2では、部分積乗算器で一度に計算できる被乗数のビ
ット数を4bitから2bitに減少させ、また、逆離
散コサイン変換回路3では積和演算器を1個とすればよ
い。従って、図7に示したタイミングに従った制御方式
は各演算ユニット内の構成方式に依らない。
As described above, in the embodiment according to the present invention, processing is performed at a rate of one every four clocks for variable length decoding, inverse quantization and inverse DCT. Data 1
The number of processing clocks per piece is determined by the balance between the required processing speed of the entire system and the circuit scale, and this embodiment merely shows an example of implementation every four steps. For example, in a system that requires higher speed processing at the same operating frequency, it is possible to increase the parallel degree of each arithmetic unit and reduce the number of processing clocks per data. In this case, the output of the shifter register is doubled in order to change the number of bits that can be decoded at one time by the variable length decoding circuit 2 from 6 bits to 12 bits, and a large quantization table is adopted. In the inverse quantization circuit 2, the partial product multiplier is used as a parallel multiplier so that multiplication can be performed once with a clock.
In the inverse discrete cosine transform circuit 3, the product-sum calculator including parallel multipliers, adders, registers, etc. may be doubled in four parallels. Conversely, in a system that does not require high-speed processing, in this case, the output of the shifter register is halved and the quantization table is changed in order to reduce the number of bits that can be decoded at one time by the variable length decoding circuit 1 from 6 bits to 3 bits. In the inverse quantization circuit 2, the number of bits of the multiplicand that can be calculated at one time by the partial product multiplier is reduced from 4 bits to 2 bits, and in the inverse discrete cosine transform circuit 3, only one product sum calculator is required. Therefore, the control method according to the timing shown in FIG. 7 does not depend on the configuration method in each arithmetic unit.

【0044】[0044]

【発明の効果】本発明によって、逆量子化処理と逆DC
T処理間に配置されたバッファメモリを用いて、パイプ
ライン処理が可能となり、各演算ユニットの効率良い設
計が可能となる。従って、復号化装置全体としての最適
化が計れるという効果がある。
According to the present invention, the inverse quantization process and the inverse DC are performed.
Pipeline processing can be performed using the buffer memory arranged between the T processings, and efficient design of each arithmetic unit can be performed. Therefore, there is an effect that the entire decoding apparatus can be optimized.

【0045】本発明方式で必要とされるメモリ個数は従
来法より減少でき、メモリ容量も、全体として従来方式
と同等程度以下となる。従って、装置の小型化に有利に
なるという効果がある。
The number of memories required in the method of the present invention can be reduced as compared with the conventional method, and the memory capacity as a whole becomes equal to or less than that of the conventional method. Therefore, there is an effect that it is advantageous for downsizing the device.

【0046】更に本発明によれば、DCT係数の直流成
分やレベル値0の様に逆量子化処理が不要なデータに対
して逆量子化回路をバイパスし、よって処理時間を短く
済ませることができる。このため、装置外部の要因によ
ってビットストリーム供給が遅れた場合も、逆量子化処
理のバイパス機能によって逆DCT以降の処理待ち合わ
せの発生確率を低減することが出来る。
Further, according to the present invention, the inverse quantization circuit can be bypassed for the data such as the DC component of the DCT coefficient or the level value 0 which does not require the inverse quantization, and the processing time can be shortened. . Therefore, even if the bit stream supply is delayed due to a factor external to the apparatus, it is possible to reduce the probability of occurrence of processing wait after the inverse DCT by the bypass function of the inverse quantization processing.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明による動画像復号装置の一実施例のブロ
ック図である。
FIG. 1 is a block diagram of an embodiment of a moving image decoding apparatus according to the present invention.

【図2】可変長復号回路1の一例である。FIG. 2 is an example of a variable length decoding circuit 1.

【図3】逆量子化回路2の一例である。FIG. 3 is an example of an inverse quantization circuit 2.

【図4】バッファメモリ5の一例である。FIG. 4 is an example of a buffer memory 5.

【図5】逆離散コサイン変換回路3の一例である。5 is an example of an inverse discrete cosine transform circuit 3. FIG.

【図6】予測信号生成回路4の一例である。FIG. 6 is an example of a prediction signal generation circuit 4.

【図7】本発明による実施例の動作タイミングを示した
説明図である。
FIG. 7 is an explanatory diagram showing operation timing of the embodiment according to the present invention.

【図8】従来の復号装置のブロック図である。FIG. 8 is a block diagram of a conventional decoding device.

【符号の説明】[Explanation of symbols]

1 可変長復号回路 2 逆量子化回路 3 逆離散コサイン変換回路 4 予測信号生成回路 5 バッファメモリ回路 6 バッファメモリ回路 7 バッファメモリ回路 8 フレーム加算回路 9 フレームメモリ 10 タイミング制御回路 1 Variable Length Decoding Circuit 2 Inverse Quantization Circuit 3 Inverse Discrete Cosine Transform Circuit 4 Prediction Signal Generation Circuit 5 Buffer Memory Circuit 6 Buffer Memory Circuit 7 Buffer Memory Circuit 8 Frame Addition Circuit 9 Frame Memory 10 Timing Control Circuit

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】離散コサイン変換係数を量子化しスキャン
変換後に可変長符号化して圧縮されたビデオデータを復
号する動画像復号装置において、可変長符号を復号する
可変長復号回路と、前記可変長復号回路の出力に接続さ
れる逆量子化回路と、前記逆量子化回路の出力に接続さ
れ逆量子化データを書き込まれる第1のバッファメモリ
と、前記第1のバッファメモリの出力に接続される逆離
散コサイン変換回路とから構成され、更に前記逆離散コ
サイン変換回路の出力は前記第1のバッファメモリの入
力へも接続されることを特徴とする動画像復号装置。
1. A variable-length decoding circuit for decoding a variable-length code in a moving picture decoding apparatus for decoding video data compressed by variable-length coding after scan conversion and discrete-cosine transform coefficients, and the variable-length decoding. An inverse quantization circuit connected to the output of the circuit, a first buffer memory connected to the output of the inverse quantization circuit and written with inverse quantized data, and an inverse connection connected to the output of the first buffer memory And a discrete cosine transform circuit, wherein the output of the inverse discrete cosine transform circuit is also connected to the input of the first buffer memory.
【請求項2】請求項1記載の動画像復号装置において、
前記第1のバッファメモリは2つのメモリで構成され、
前記逆量子化回路から符号化時の逆スキャン順に書き込
まれるメモリと、前記逆離散コサイン変換回路から入出
力されるメモリとを交互に切替える手段を有した動画像
復号装置。
2. The moving picture decoding apparatus according to claim 1,
The first buffer memory is composed of two memories,
A moving image decoding apparatus having means for alternately switching between a memory written from the inverse quantization circuit in the reverse scan order at the time of encoding and a memory input / output from the inverse discrete cosine transform circuit.
【請求項3】請求項1記載の動画像復号装置において、
前記逆量子化回路は、DCT係数毎に逆量子化処理を行
うか行わないかを切替える手段を有し、前記可変長復号
回路が切替えを制御する動画像復号装置。
3. The moving picture decoding apparatus according to claim 1,
The moving picture decoding device, wherein the dequantization circuit has means for switching whether or not to perform dequantization processing for each DCT coefficient, and the variable length decoding circuit controls the switching.
【請求項4】請求項1記載の動画像復号装置に、更に、
前記逆離散コサイン変換回路の出力を格納する第2のバ
ッファメモリと、復号画像を格納するフレームメモリ
と、前記フレームメモリに格納された復号画像からフレ
ーム間予測信号を生成する予測信号生成回路と、前記予
測信号生成回路の出力を格納する第3のバッファメモリ
と、前記第2のバッファメモリと前記第3のバッファメ
モリに格納されたデータを読み出して復号画像信号を生
成し、前記フレームメモリに格納するフレーム加算回路
とから構成されることを特徴とする動画像復号装置。
4. The moving picture decoding device according to claim 1, further comprising:
A second buffer memory that stores the output of the inverse discrete cosine transform circuit; a frame memory that stores a decoded image; a prediction signal generation circuit that generates an interframe prediction signal from the decoded image stored in the frame memory; A third buffer memory that stores the output of the prediction signal generation circuit, reads the data stored in the second buffer memory and the third buffer memory, generates a decoded image signal, and stores the decoded image signal in the frame memory. And a frame adder circuit for performing the moving image decoding.
【請求項5】請求項4記載の動画像復号装置において、
前記可変長復号回路と前記逆量子化回路による可変長符
号の逆量子化処理を第1段とし、前記逆離散コサイン変
換回路による逆離散コサイン変換処理を第2段とし、前
記フレーム加算回路による復号画像信号生成処理と前記
予測信号生成回路による次ブロックのフレーム間予測信
号生成処理を第3段として、第1段から第3段までの全
ての処理が1ブロック分終了した時点で次ブロックの処
理に同時に移行することを特徴とする動画像復号装置。
5. The moving picture decoding apparatus according to claim 4,
The variable-length decoding circuit and the inverse quantization circuit have an inverse quantization process of a variable-length code as a first stage, the inverse discrete cosine transform circuit have an inverse discrete cosine transform process as a second stage, and the frame addition circuit performs decoding. The image signal generation process and the inter-frame prediction signal generation process of the next block by the prediction signal generation circuit are set as the third stage, and the process of the next block is performed when all the processes from the first stage to the third stage are completed for one block. A moving picture decoding device characterized in that the moving pictures are simultaneously transferred to.
JP10502795A 1995-04-28 1995-04-28 Moving image decoder Pending JPH08307868A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10502795A JPH08307868A (en) 1995-04-28 1995-04-28 Moving image decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10502795A JPH08307868A (en) 1995-04-28 1995-04-28 Moving image decoder

Publications (1)

Publication Number Publication Date
JPH08307868A true JPH08307868A (en) 1996-11-22

Family

ID=14396560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10502795A Pending JPH08307868A (en) 1995-04-28 1995-04-28 Moving image decoder

Country Status (1)

Country Link
JP (1) JPH08307868A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1169355A (en) * 1997-08-20 1999-03-09 Sharp Corp Image transmitter
JP2003505786A (en) * 1999-07-26 2003-02-12 インテル・コーポレーション Register for two-dimensional matrix processing
KR100390813B1 (en) * 2001-05-29 2003-07-12 주식회사 하이닉스반도체 Apparatus of video decoder for digital television having half-sized hard ware memory and method of the same
US8670653B2 (en) 2005-04-15 2014-03-11 Sony Corporation Encoding apparatus and method, and decoding apparatus and method
JP2014078891A (en) * 2012-10-11 2014-05-01 Canon Inc Image processing apparatus and image processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02242471A (en) * 1989-03-16 1990-09-26 Casio Comput Co Ltd Discrete cosine arithmetic unit
JPH0556271A (en) * 1991-07-25 1993-03-05 Fujitsu Ltd Reverse quantizing method and image data restoring device
JPH06290262A (en) * 1993-03-31 1994-10-18 Sony Corp Processor for image codec

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02242471A (en) * 1989-03-16 1990-09-26 Casio Comput Co Ltd Discrete cosine arithmetic unit
JPH0556271A (en) * 1991-07-25 1993-03-05 Fujitsu Ltd Reverse quantizing method and image data restoring device
JPH06290262A (en) * 1993-03-31 1994-10-18 Sony Corp Processor for image codec

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1169355A (en) * 1997-08-20 1999-03-09 Sharp Corp Image transmitter
JP2003505786A (en) * 1999-07-26 2003-02-12 インテル・コーポレーション Register for two-dimensional matrix processing
JP4979169B2 (en) * 1999-07-26 2012-07-18 インテル・コーポレーション Register for 2D matrix processing
KR100390813B1 (en) * 2001-05-29 2003-07-12 주식회사 하이닉스반도체 Apparatus of video decoder for digital television having half-sized hard ware memory and method of the same
US8670653B2 (en) 2005-04-15 2014-03-11 Sony Corporation Encoding apparatus and method, and decoding apparatus and method
JP2014078891A (en) * 2012-10-11 2014-05-01 Canon Inc Image processing apparatus and image processing method

Similar Documents

Publication Publication Date Title
US5345408A (en) Inverse discrete cosine transform processor
US6310918B1 (en) System and method for motion vector extraction and computation meeting 2-frame store and letterboxing requirements
JPH0799659A (en) Nonexhaustive movement estimation method
US7730116B2 (en) Method and system for fast implementation of an approximation of a discrete cosine transform
US5844609A (en) Decoder and method for decoding of coded picture-, video- and film information
US20060133512A1 (en) Video decoder and associated methods of operation
JPH11225334A (en) Dispersion value calculation accelerator for mpeg-2 image decoder
US6266091B1 (en) System and method for low delay mode operation video decoding
US7113644B2 (en) Image coding apparatus and image coding method
JPH08289302A (en) Image decoding device
US7076105B2 (en) Circuit and method for performing a two-dimensional transform during the processing of an image
JPS622721A (en) Coding and decoding device for picture signal
JP2002058026A (en) Device and method for encoding picture and device and method for decoding picture
JP2947389B2 (en) Image processing memory integrated circuit
JPH08307868A (en) Moving image decoder
US7330595B2 (en) System and method for video data compression
JPH07143488A (en) Method and device for decoding image data
JP2950367B2 (en) Data output order conversion method and circuit in inverse discrete cosine converter
JPH1196138A (en) Inverse cosine transform method and inverse cosine transformer
JP4266512B2 (en) Data processing device
JPH10234036A (en) Tree search vector quantization method for digital image data compression stored in buffer, mpeg decoder with reduced required memory amount and tsvq processing unit
US6038345A (en) Apparatus for encoding/decoding image data
US6668087B1 (en) Filter arithmetic device
JP3385866B2 (en) Inverse quantization and inverse DCT circuit
JP2007104155A (en) Image decoding apparatus

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980210