JP2009246973A - Decoding accelerating apparatus for variable length code - Google Patents

Decoding accelerating apparatus for variable length code Download PDF

Info

Publication number
JP2009246973A
JP2009246973A JP2009080360A JP2009080360A JP2009246973A JP 2009246973 A JP2009246973 A JP 2009246973A JP 2009080360 A JP2009080360 A JP 2009080360A JP 2009080360 A JP2009080360 A JP 2009080360A JP 2009246973 A JP2009246973 A JP 2009246973A
Authority
JP
Japan
Prior art keywords
codeword
decoding
code
code segment
variable
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.)
Granted
Application number
JP2009080360A
Other languages
Japanese (ja)
Other versions
JP5201052B2 (en
Inventor
Xianghui Bai
向暉 白
Taro Hagitani
太郎 萩谷
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2009246973A publication Critical patent/JP2009246973A/en
Application granted granted Critical
Publication of JP5201052B2 publication Critical patent/JP5201052B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a decoding accelerating apparatus for a variable length code, in which a decoding speed of an entire variable length code decoder can be accelerated while using a decoding method for differentiating decoding of a long codeword and decoding of a short codeword. <P>SOLUTION: A decoding accelerating apparatus includes: a codeword identification unit configured to determine in an input code segment is a short codeword; and a short codeword decoding accelerating unit configured to calculate code segment request information for immediately requesting the next input code segment so as to request the next input code segment by acquiring the code segment request information before perfectly decoding the decoding processing waiting codeword, when it is decided that the decoding processing waiting codeword is the short codeword by the codeword identification unit. The decoding accelerating apparatus for a variable length code is applied to e.g., a variable length code decoder and by accelerating decoding of a short codeword which may occur highly frequently, a decoding speed of the entire variable length code decoder can be accelerated. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は可変長符号の復号化に関し、より具体的には、可変長符号の復号高速化装置、該可変長符号の復号高速化装置を用いた可変長符号復号化装置及び方法に関する。   The present invention relates to variable-length code decoding, and more specifically, to a variable-length code decoding speed-up device, and a variable-length code decoding device and method using the variable-length code decoding speed-up device.

可変長符号復号化器はビデオ復号器において非常に重要な部分である。復号化器は、シンボルがビットストリームにおいて発生する頻度によって、長さが異なる符合語を用いて符号化し、発生頻度の高いシンボルを短い符号語で符号化し、発生頻度の低いシンボルを長い符号語で符号化する。符号語の長さが可変であるから、復号化の全処理において相互依存性が高く、並行処理方法により復号化の速度を高速化するのは困難である。現在最も通用している可変長符号復号化方法は、ルックアップテーブル法(lookup table method 、LUT法)である。このような方法では、ビットストリームから固定のビット数を有するコードセグメントを読み出し、インデックスとして符号表を検索する。また、符号表のサイズを小さくし、符号表の検索速度を向上させるために、多段階によるLUT法のような最適化方法が提案された。これら最適化方法として、例えば、特許文献1に開示された2段階又は2段階以上によるLUT法を用いた可変長符号復号化方法や、特許文献2に開示された、単に高速LUT法を用いてMPEG-2ビデオストリームにおけるメインデータであるDCT係数を決定するMPEGビデオデータの復号化方法がある。これら関連する特許の全部開示は参照により組み込まれる。   Variable length code decoders are a very important part in video decoders. The decoder encodes using code words having different lengths depending on the frequency with which symbols occur in the bitstream, encodes frequently occurring symbols with short code words, and encodes less frequently occurring symbols with long code words. Encode. Since the length of the codeword is variable, the interdependency is high in the entire decoding process, and it is difficult to increase the decoding speed by the parallel processing method. The most widely used variable-length code decoding method at present is the lookup table method (LUT method). In such a method, a code segment having a fixed number of bits is read from a bit stream, and a code table is searched as an index. In order to reduce the size of the code table and improve the search speed of the code table, an optimization method such as a multi-step LUT method has been proposed. As these optimization methods, for example, a variable length code decoding method using the LUT method of two stages or two or more stages disclosed in Patent Document 1, or simply a high-speed LUT method disclosed in Patent Document 2 is used. There is a decoding method of MPEG video data for determining DCT coefficients which are main data in an MPEG-2 video stream. The entire disclosure of these related patents is incorporated by reference.

通常、前記のように、常用のLUT法を利用した可変長符号復号方法には、主に3つの段階が含まれている。即ち、(1)符号語要求段階:復号化器はこの段階において次の入力コードセグメントを要求するためのコードセグメント要求情報を出力する。例えば、復号化器は、MPEG−2/4/VC-1規格に関し、バレル・シフタのシフトビット数をバレル・シフタに出力し、または、AVS規格に関し、指数ゴロム符号の次数を指数ゴロム符号復号化器に出力することで、次の入力コードセグメントを要求する。(2)コードセグメント取得段階:例えばバレル・シフタ/指数ゴロム符号復号化器等、次の入力コードセグメントを発生するユニットは、この段階において、バレル・シフタのシフトビット数/指数ゴロム符号の次数等に基づいて次の入力コードセグメントを発生して復号化器に与える。(3)符号語復号化段階:この段階において、入力コードセグメントはインデックスとされ、符号表から、符号化されたシンボルと次の符号語を復号化する(即ち、次の入力コードセグメントを要求する)ために必要な情報(例えば、バレル・シフタのシフトビット数または指数ゴロム符号の次数)を検索する。以上三つの段階は順に実行される。図5に示したように、符号語要求段階とコードセグメント取得段階が一般的にそれぞれ1クロックサイクルを占めるのに対し、ビデオ規格における符号表はサイズが大きいとともに、一般的にSRAM(Static Random Access Memory)に記憶されているため、符号表検索、即ち符号語復号化の段階は一般的に2クロックサイクルが必要であるので、メモリをアクセスする時間は、符号語要求段階及びコードセグメント取得段階に要する時間に比べて非常に長い。このため、可変長符号復号化の速度は主に符号表を検索する時間により決まる。長い符号語については、十分多いビットが復号化されるため、メモリをアクセスするのに要する時間遅延は認められるが、短い符号語については、遅すぎる復号速度は復号化器全体の性能を低下させる。   Usually, as described above, the variable-length code decoding method using the conventional LUT method mainly includes three stages. (1) Codeword request stage: The decoder outputs code segment request information for requesting the next input code segment in this stage. For example, the decoder outputs the number of barrel shifter shift bits to the barrel shifter for the MPEG-2 / 4 / VC-1 standard, or the exponent Golomb code order for the exponent Golomb code for the AVS standard. The next input code segment is requested by outputting to the generator. (2) Code segment acquisition stage: A unit that generates the next input code segment, such as a barrel shifter / exponential Golomb code decoder, for example, at this stage, the number of shift bits of the barrel shifter / the order of the exponent Golomb code, etc. Based on, the next input code segment is generated and provided to the decoder. (3) Codeword decoding stage: In this stage, the input code segment is indexed, and the encoded symbol and the next codeword are decoded from the code table (ie, the next input code segment is requested). ) (For example, the number of shift bits of the barrel shifter or the order of the exponent Golomb code). The above three steps are executed in order. As shown in Fig. 5, the code word request stage and the code segment acquisition stage occupy one clock cycle each, while the code table in the video standard is large in size and generally has SRAM (Static Random Access). Since the code table search, that is, the codeword decoding stage generally requires two clock cycles, the time for accessing the memory is in the codeword request stage and the code segment acquisition stage. It is very long compared to the time required. For this reason, the speed of variable-length code decoding is mainly determined by the time for searching the code table. For long codewords, enough time is decoded to allow enough time to access the memory, but for short codewords, too slow decoding speeds degrade overall decoder performance. .

米国特許第5,253,053号明細書U.S. Pat.No. 5,253,053 米国特許第6,011,498号明細書U.S. Patent No. 6,011,498

本発明の目的は、以上の短符号語の復号速度が復号化器全体の性能に影響するという問題を解決するために、長い符号語の復号化と短い符号語の復号化とを差別化する復号化方法を用いて、可変長符号復号化器全体の復号速度を向上させることができる可変長符号の復号高速化装置を提供することにある。   An object of the present invention is to differentiate between decoding of long codewords and decoding of short codewords in order to solve the problem that the decoding speed of the above short codewords affects the performance of the entire decoder. An object of the present invention is to provide a variable speed code decoding speed-up device that can improve the decoding speed of the entire variable length code decoder by using a decoding method.

本発明の一つの側面によれば、入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断するように構成された符号語識別ユニットと、符号語識別ユニットにより復号化処理待ち符号語が短符号語であると判断されると、復号化処理待ち符号語の復号化完了までにコードセグメント要求情報を取得して次の入力コードセグメントを要求するように、直ぐに次の入力コードセグメントを要求するためのコードセグメント要求情報を算出するように構成された短符号語復号高速化ユニットとを、備える可変長符号の復号高速化装置を提供する。   According to one aspect of the present invention, a codeword identification unit configured to determine whether a codeword waiting for decoding in an input code segment is a short codeword, and waiting for decoding processing by the codeword identification unit. When it is determined that the code word is a short code word, the next input code is immediately acquired so that the code segment request information is obtained and the next input code segment is requested until the decoding of the code word waiting for decoding is completed. A variable-length code decoding speed-up device comprising a short codeword decoding speed-up unit configured to calculate code segment request information for requesting a segment.

本発明によれば、短符号語は長さがNビット以下の符号語であることが好ましく、ここで、Nは、短符号語を最適化しない場合の符号語の復号化に要する平均時間と所望の復号速度に基づいて予め設定された正整数である。   According to the present invention, the short codeword is preferably a codeword having a length of N bits or less, where N is the average time required to decode the codeword when the short codeword is not optimized. It is a positive integer preset based on a desired decoding speed.

本発明によれば、復号化処理待ち符号語はMPEG-2、MPEG-4、又はVC-1規格に従って符号化された符号語であることが好ましい。この場合、コードセグメント要求情報は、次の入力コードセグメントを取得するためのシフトビット数である。符号語識別ユニットは、可変長符号の符号化方式に基づき、入力コードセグメントにおける上位ビットを検査することにより、入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断する。短符号語復号高速化ユニットは、可変長符号の符号化方式に基づき、短符号語と判断された復号化処理待ち符号語に対応するシフトビット数を出力するように構成されている。   According to the present invention, the decoding-waiting codeword is preferably a codeword encoded according to the MPEG-2, MPEG-4, or VC-1 standard. In this case, the code segment request information is the number of shift bits for acquiring the next input code segment. The codeword identification unit determines whether the codeword waiting for decoding in the input code segment is a short codeword by checking the higher-order bits in the input code segment based on the encoding method of the variable length code. The short codeword decoding acceleration unit is configured to output the number of shift bits corresponding to the decoding process waiting codeword determined to be a short codeword based on the variable length code encoding method.

本発明によれば、復号化処理待ち符号語はAVS規格に従って符号化された符号語であることが好ましい。この場合、コードセグメント要求情報は、次の入力コードセグメントを取得するための指数ゴロム(Exponential-Golomb)符号の次数である。符号語識別ユニットは、入力コードセグメントの値を所定の閾値と比較し、入力コードセグメントの値が所定の閾値以下である場合に、入力コードセグメントにおける復号化処理待ち符号語が短符号語であると判断する。また、短符号語は長さがNビット以下の符号語であり、所定の閾値は、Nビットの指数ゴロム符号が表示可能な最大値であることが好ましい。さらに、短符号語復号高速化ユニットは、復号化処理待ち符号語が短符号語である場合、可変長符号の符号化方式に基づき、入力コードセグメントの値と対応する指数ゴロム符号の次数を取得するように構成されている。   According to the present invention, the decoding process waiting codeword is preferably a codeword encoded in accordance with the AVS standard. In this case, the code segment request information is the order of an exponential Golomb code for obtaining the next input code segment. The codeword identification unit compares the value of the input code segment with a predetermined threshold value, and when the value of the input code segment is equal to or less than the predetermined threshold value, the codeword waiting for decoding in the input code segment is a short codeword Judge. The short codeword is a codeword having a length of N bits or less, and the predetermined threshold is preferably a maximum value that can be displayed by an N-bit exponential Golomb code. Further, the short codeword decoding acceleration unit obtains the order of the exponent Golomb code corresponding to the value of the input code segment based on the variable-length code encoding method when the decoding-waiting codeword is a short codeword. Is configured to do.

従って、本発明による可変長符号の復号高速化装置は、例えば、可変長符号復号化装置に適用され、発生頻度の高い短符号語の復号化を高速化することで、可変長符号復号化装置全体の復号速度を向上させることができる。   Therefore, the variable-length code decoding speed-up device according to the present invention is applied to, for example, a variable-length code decoding device, and by speeding up decoding of frequently occurring short code words, the variable-length code decoding device The overall decoding speed can be improved.

本発明による可変長符号復号化処理を示す図である。It is a figure which shows the variable-length code decoding process by this invention. 本発明の一実施例による、MPEG-2/4/VC-1規格に基づくビットストリームの復号化に利用可能な可変長符号復号化装置を示す図である。1 is a diagram illustrating a variable-length code decoding apparatus that can be used for decoding a bitstream based on the MPEG-2 / 4 / VC-1 standard according to an embodiment of the present invention. FIG. 本発明の別の実施例による、AVS規格のビットストリームの復号化に利用可能な可変長符号復号化装置を示す図である。FIG. 10 is a diagram illustrating a variable-length code decoding apparatus that can be used for decoding an AVS standard bitstream according to another embodiment of the present invention. 本発明のもう一つの実施例による、AVS規格のビットストリームの復号化に利用可能な可変長符号復号化装置を示す図である。FIG. 5 is a diagram illustrating a variable-length code decoding apparatus that can be used for decoding an AVS standard bitstream according to another embodiment of the present invention. 従来の技術における可変長符号復号化処理を示す図である。It is a figure which shows the variable-length code decoding process in a prior art.

以下、本発明をより全面的に理解するために、添付した図面を参照しながら、本発明の好適な実施形態を詳細に説明する。なお、全ての図面において、同一の符号で同一又は類似の部材を示す。   Hereinafter, in order to understand the present invention more fully, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In all the drawings, the same reference numerals denote the same or similar members.

以下、図1乃至図4を参照して本発明による可変長符号復号化装置の具体的な実施例を叙述する。なお、ビデオ圧縮符号化/復号化において常用するMPEG-2/4/VC-1規格及びAVS規格に関して、本発明を叙述するが、このような叙述は単に説明のためであり、本発明に適用する圧縮符号化/復号化規格はこれに限られることではなく、例えば、JPEG規格、CCITT規格、又はその他任意の可変長符号化/復号化規格でもよいことは、当業者にとって明らかであるべきである。   A specific embodiment of the variable-length code decoding apparatus according to the present invention will be described below with reference to FIGS. Note that the present invention is described with respect to the MPEG-2 / 4 / VC-1 standard and the AVS standard that are commonly used in video compression encoding / decoding, but such description is merely for explanation and applied to the present invention. It should be apparent to those skilled in the art that the compression encoding / decoding standard to be performed is not limited to this, and may be, for example, the JPEG standard, the CCITT standard, or any other variable length encoding / decoding standard. is there.

図1は本発明による可変長符号復号化処理を示しており、上部では、入力コードセグメントにおける復号化処理待ち符号語が短符号語である場合の復号化処理を、下部では、入力コードセグメントにおける復号化処理待ち符号語が長符号語である場合の復号化処理をそれぞれ示している。   FIG. 1 shows a variable length code decoding process according to the present invention. In the upper part, the decoding process when a codeword waiting for decoding in an input code segment is a short codeword is shown. The decoding process when the decoding process waiting codeword is a long codeword is shown.

図1の説明に先立って、まず、本発明に記載される入力コードセグメント及び復号化処理待ち符号語の両用語を簡単に説明する。通常の場合、可変長ビットストリームは、一つ一つ固定長のコードセグメントに切り分けることができ、そして、これらコードセグメントは連続的に復号化器に入力され、復号化される。固定長のコードセグメントのそれぞれには、可変長符号化方式で符号化された1個以上の可変長符号化符号語が含まれている。復号化器が1つのコードセグメントを復号化する場合、該入力コードセグメントの最上位からの1つの入力符号化符号語しか復号化されず、該入力コードセグメントにおける残りの未復号のビットは、復号化器がその後の入力コードセグメントを復号化する際に復号化される。このため、本発明では、これら固定長のコードセグメントを入力コードセグメントと称し、実際に復号化され、入力コードセグメントの最上位からの可変長を有する1つの符号化符号語を該入力コードセグメントにおける復号化処理待ち符号語と称する。   Prior to the description of FIG. 1, the terms input code segment and decoding process waiting codeword described in the present invention will be briefly described. In the usual case, the variable-length bit stream can be divided into fixed-length code segments one by one, and these code segments are continuously input to the decoder and decoded. Each fixed-length code segment includes one or more variable-length encoded codewords encoded by the variable-length encoding method. When the decoder decodes one code segment, only one input encoded codeword from the top of the input code segment is decoded, and the remaining undecoded bits in the input code segment are decoded Decoded when the decoder decodes subsequent input code segments. For this reason, in the present invention, these fixed-length code segments are referred to as input code segments, and one encoded codeword that is actually decoded and has a variable length from the top of the input code segment is assigned to the input code segment. This is called a decoding process waiting codeword.

図1に示したように、可変長符号の復号化を高速化するために、次の入力コードセグメントを要求するためのコードセグメント要求情報を算出する際に、復号化処理待ち符号語が短符号語である入力コードセグメントと復号化処理待ち符号語が長符号語である入力コードセグメントについて、異なる算出方式を採用した。復号化処理待ち符号語が短符号語である場合については、現入力コードセグメントを取得した後、入力コードセグメントにおける復号化処理待ち符号語を復号化するとともに、専用回路により次の入力コードセグメントを要求するためのコードセグメント要求情報を算出することができ、符号表メモリから該コードセグメント要求情報を取得する必要がなく、復号化処理待ち符号語が復号化完成されるまでにコードセグメント要求情報を取得して次のコードセグメントを要求することができる。このため、次のコードセグメントを要求する段階は、復号化処理待ち符号語に対する復号化が完了してから開始するのではなく、符号語復号化段階と並行して行われるので、短符号語の復号速度を高速化している。復号化処理待ち符号語が長符号語である場合については、やはり、復号化段階で次の入力コードセグメントを要求するためのコードセグメント要求情報を取得し、復号化が完了した後に、次のコードセグメントの要求を開始する。本発明によれば、発生頻度の高い短符号語の復号速度が大幅に向上するため、可変長符号復号化処理は全体的に高速化される。ここで、図1の図示は、単に、通常時の復号化処理における各操作段階の実行時間の相対的関係を模式的に示したもので、この図示は本発明の各操作段階の実行時間に対する限定と見なすべきではなく、復号化処理が本発明の趣旨に合致すればよい。   As shown in FIG. 1, when calculating code segment request information for requesting the next input code segment in order to speed up the decoding of the variable-length code, the decoding process waiting codeword is a short code. A different calculation method is adopted for an input code segment that is a word and an input code segment whose decoding process waiting codeword is a long codeword. When the decoding process waiting code word is a short code word, after obtaining the current input code segment, the decoding process waiting code word in the input code segment is decoded, and the next input code segment is set by a dedicated circuit. Code segment request information for requesting can be calculated, and it is not necessary to obtain the code segment request information from the code table memory. You can get and request the next code segment. For this reason, the step of requesting the next code segment does not start after the decoding of the codeword waiting for decoding is completed, but is performed in parallel with the codeword decoding step. The decoding speed is increased. In the case where the decoding process waiting code word is a long code word, the code segment request information for requesting the next input code segment is acquired in the decoding stage, and after the decoding is completed, the next code Begin requesting a segment. According to the present invention, since the decoding speed of frequently occurring short codewords is greatly improved, the variable-length code decoding process is accelerated overall. Here, the illustration of FIG. 1 simply shows the relative relationship between the execution times of the respective operation stages in the normal decoding process, and this illustration shows the execution time of each operation stage of the present invention. It should not be regarded as a limitation, and the decoding process only needs to conform to the gist of the present invention.

図2に基づいて、本発明による一実施例のMPEG-2/4/VC-1規格のビットストリームに対する可変長符号復号化装置及びその復号化処理を説明する。図2では、本実施例によるMPEG-2/4/VC-1ビデオストリームの復号化に用いられる可変長符号復号化装置201を示している。該可変長符号復号化装置201はバレル・シフタ212が出力した固定長を有する入力コードセグメント(InCodSeg)202を入力とする。入力コードセグメント202における復号化処理待ち符号語は可変長符号復号化装置201で復号化されて復号化符号語(DecCode)213を生成する。図2に示している可変長符号復号化装置は図1のような復号化処理を採用する。該復号化処理を実現するためには、復号化処理待ち符号語が短符号語である場合について、次の入力コードセグメントを要求するためのコードセグメント要求情報は、復号化ユニット208における符号表メモリをアクセスすることなく、短符号語復号高速化ユニット207が演算することにより取得される。以下、図2の各機能ユニットの復号化処理における具体的な動作を詳細に説明する。   Based on FIG. 2, a variable-length code decoding apparatus and its decoding process for an MPEG-2 / 4 / VC-1 standard bitstream according to an embodiment of the present invention will be described. FIG. 2 shows a variable-length code decoding apparatus 201 used for decoding an MPEG-2 / 4 / VC-1 video stream according to this embodiment. The variable length code decoding apparatus 201 receives an input code segment (InCodSeg) 202 having a fixed length output from the barrel shifter 212 as an input. The decoding process waiting codeword in the input code segment 202 is decoded by the variable-length code decoding apparatus 201 to generate a decoded codeword (DecCode) 213. The variable length code decoding apparatus shown in FIG. 2 employs a decoding process as shown in FIG. In order to realize the decoding process, the code segment request information for requesting the next input code segment is stored in the code table memory in the decoding unit 208 when the decoding process waiting codeword is a short codeword. Without being accessed, the short codeword decoding speed-up unit 207 obtains it by calculation. Hereinafter, a specific operation in the decoding process of each functional unit in FIG. 2 will be described in detail.

可変長符号復号化装置201では、バレル・シフタ212から入力コードセグメント202を取得すると、入力コードセグメント202は復号化ユニット208へ入力され復号化されるとともに、入力コードセグメント202は符号語識別ユニット203にも入力される。符号語識別ユニット203では、入力コードセグメント202における復号化処理待ち符号語が長符号語(符号語長がNよりも長い)であるか、或いは、短符号語(符号語長がN以下)であるかを判断する。符号語識別ユニット203は、入力コードセグメント202における復号化処理待ち符号語が短符号語であると判断された場合、入力コードセグメント202を、短符号語情報(SCode)205を介して入力コードセグメント202短符号語復号高速化ユニット207へ入力する。   In the variable-length code decoding apparatus 201, when the input code segment 202 is obtained from the barrel shifter 212, the input code segment 202 is input to the decoding unit 208 and decoded, and the input code segment 202 is input to the codeword identification unit 203. Is also entered. In the codeword identification unit 203, the codeword waiting for decoding in the input code segment 202 is a long codeword (the codeword length is longer than N) or a short codeword (the codeword length is N or less). Determine if there is. When it is determined that the codeword waiting for decoding in the input code segment 202 is a short codeword, the codeword identification unit 203 converts the input code segment 202 via the short codeword information (SCode) 205 to the input code segment Input to the 202 short codeword decoding acceleration unit 207.

ここで、値Nは、通常の場合(短符号語の復号化を高速化していなかった場合)に1つの符号語の復号化に要する平均時間(クロックサイクル数)と所望の復号速度(ビット/クロックサイクル)に基づいて予め設定することができる。例えば、少なくとも1ビット/クロックサイクルの復号速度が要求されるものの、1つの符号語の復号化に5クロックサイクルを必要とする場合、短符号語の復号化を最適化しないと、長さが5ビット以下の符号語の復号速度は1ビット/クロックサイクルよりも低くなるので、長さが5ビット以下の符号語(即ち、N=4)を短符号語として最適化を行うことが可能である。ここでの値Nに関する設定は他の実施例にも適応する。   Here, the value N is an average time (number of clock cycles) required to decode one codeword in a normal case (when decoding of a short codeword is not accelerated) and a desired decoding speed (bit / bit). Based on the clock cycle). For example, if a decoding speed of at least 1 bit / clock cycle is required but 5 clock cycles are required to decode one codeword, the length is 5 unless the decoding of the short codeword is optimized. Since the decoding speed of codewords less than 1 bit is lower than 1 bit / clock cycle, it is possible to optimize codewords with a length of 5 bits or less (ie, N = 4) as short codewords. . The setting relating to the value N here also applies to other embodiments.

MPEG-2/4/VC-1規格で規定された復号化方式により、符号語識別ユニット203は以下のマッチング・メカニズムを用いて入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断することができる。例えばN=4である場合、入力コードセグメントの最上位から入力コードセグメントを、符号化方式により規定した長さが4ビット以下の符号語と比較して、入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断する。例えば、MPEG-2規格において、短符号語の判断規則はMPEG-2規格での設定に基づいて以下のように設定されることができる。復号化符号表がDCT係数テーブル0である場合、短符号語の判断規則は表1に示したもので、復号化符号表がDCT係数テーブル1である場合、短符号語の判断規則は表2に1に示したものである。本明細書に記載されている表はいずれもマッピング・メカニズムを表わすためのものであり、実際に記憶するマップ表ではない。

Figure 2009246973
Figure 2009246973
ただし、「x」は、当該ビットが「0」又は「1」であることを表す。 According to the decoding method defined in the MPEG-2 / 4 / VC-1 standard, the codeword identification unit 203 uses the following matching mechanism to determine whether the codeword waiting for decoding in the input code segment is a short codeword Can be judged. For example, when N = 4, the input code segment from the top of the input code segment is compared with a codeword whose length specified by the encoding method is 4 bits or less, and the codeword waiting for decoding processing in the input code segment Is a short code word. For example, in the MPEG-2 standard, the short codeword determination rule can be set as follows based on the setting in the MPEG-2 standard. When the decoding code table is DCT coefficient table 0, the short codeword determination rules are those shown in Table 1, and when the decoding code table is DCT coefficient table 1, the short codeword determination rules are Table 2. Is shown in 1. Any of the tables described herein is intended to represent a mapping mechanism, not a map table that is actually stored.
Figure 2009246973
Figure 2009246973
However, “x” represents that the bit is “0” or “1”.

復号化符号表がDCT係数表0の場合、表1に示したように、入力コードセグメントの最上位2ビットが10又は11であると、MPEG-2規格により、復号化処理待ち符号語は10又は11で、その長さは2ビットであるので、当該復号化処理待ち符号語は短符号語であると判断され、入力コードセグメントの最上位3ビットが011であると、復号化処理待ち符号語は011で、その長さは3ビットであるので、当該復号化処理待ち符号語は短符号語であると判断され、入力コードセグメントの最上位4ビットが0100又は0101であると、復号化処理待ち符号語は0100又は0101で、その長さは4ビットであるので、当該復号化処理待ち符号語は短符号語であると判断される。入力コードセグメントが其の他の場合であると、MPEG-2規格により、現時点実際に復号化される符号語の長さが4ビットよりも長いので、これら入力コードセグメントにおける復号化処理待ち符号語は長符号語であると判断される。   When the decoding code table is the DCT coefficient table 0, as shown in Table 1, if the most significant 2 bits of the input code segment is 10 or 11, the code word waiting for decoding processing is 10 according to the MPEG-2 standard. Or 11 because the length is 2 bits, it is determined that the decoding process waiting codeword is a short codeword, and if the most significant 3 bits of the input code segment is 011, the decoding processing waiting codeword Since the word is 011 and its length is 3 bits, it is determined that the decoding-waiting codeword is a short codeword, and if the most significant 4 bits of the input code segment are 0100 or 0101, decoding is performed. The code word waiting for processing is 0100 or 0101 and its length is 4 bits. Therefore, the code word waiting for decoding is determined to be a short code word. If the input code segment is in any other case, the length of the codeword that is actually decoded at this time is longer than 4 bits according to the MPEG-2 standard. Is determined to be a long codeword.

前記のように、符号語識別ユニット203は可変長符号の符号化方式によって入力コードセグメントにおける復号化処理待ち符号語が短符号語であるか、具体的には、現復号化符号表の種類と入力コードセグメント202の最上位からの多くともNビットにより入力コードセグメント202における復号化処理待ち符号語がNビット以下の短符号語であるかを判断することができる。例えば、当業者は符号語識別ユニット203で論理回路を設計することで、入力コードセグメント202の最上位から入力コードセグメントを現復号化符号表で規定したNビット以下の符号語と比較し、現復号化符号表におけるある短符号語とマッチングすることが出現した場合に、該判断処理を直ちに終了することができる。このため、ここで実際に比較される入力コードセグメントにおけるビット数は、最大限で最上位からの4ビットである。   As described above, the codeword identification unit 203 determines whether the decoding process waiting codeword in the input code segment is a short codeword by the variable length code encoding scheme, specifically, the type of the current decoding code table, and It is possible to determine whether the codeword waiting for decoding in the input code segment 202 is a short codeword of N bits or less from at most N bits from the most significant bit of the input code segment 202. For example, a person skilled in the art can design a logic circuit with the codeword identification unit 203 to compare an input code segment from the top of the input code segment 202 with a codeword of N bits or less defined in the current decoding code table. When matching with a certain short code word in the decoding code table appears, the determination process can be immediately terminated. For this reason, the maximum number of bits in the input code segment actually compared here is 4 bits from the most significant.

表1及び表2に示している判断規則は符復号化規格がMPEG-2規格の場合の例示的なものであり、当業者はMPEG-4/VC-1等のような他の規格で規定している符号化方式により、これら規格に適応する類似する短符号語判断規則を容易に設定し得るべきである。   The judgment rules shown in Table 1 and Table 2 are exemplary when the codec standard is the MPEG-2 standard, and those skilled in the art are prescribed by other standards such as MPEG-4 / VC-1 etc. It should be possible to easily set a similar short codeword decision rule that adapts to these standards, depending on the coding scheme being used.

以上の判断規則により、符号語識別ユニット203の出力は、モード信号(Mode)204と短符号語信号(SCode)205、の二つがある。モード信号204は入力コードセグメント202における復号化処理待ち符号語が短符号語(例えば、モード信号=「0」)か、長符号語(例えば、モード信号=「1」)かを表す。モード信号は入力コードセグメント202における復号化処理待ち符号語が短符号語であることを表すと、符号語識別ユニット203は、入力コードセグメント202を、短符号語情報205を介して短符号語復号高速化ユニット207へ入力する。   According to the above determination rule, there are two outputs of the codeword identification unit 203: a mode signal (Mode) 204 and a short codeword signal (SCode) 205. The mode signal 204 indicates whether the decoding process waiting codeword in the input code segment 202 is a short codeword (for example, mode signal = “0”) or a long codeword (for example, mode signal = “1”). When the mode signal indicates that the code word waiting for decoding in the input code segment 202 is a short code word, the code word identification unit 203 decodes the input code segment 202 via the short code word information 205. Input to the acceleration unit 207.

前記のように、復号化処理待ち符号語が長符号語の入力コードセグメントと復号化処理待ち符号語が短符号語の入力コードセグメントとについて、次の入力コードセグメントを要求するためのコードセグメント要求情報の算出は異なるユニットで実現される。本実施例では、該コードセグメント要求情報はバレル・シフタ212のシフトビット数である。具体的には、復号化処理待ち符号語が短符号語であると判断された入力コードセグメント202について、短符号語復号高速化ユニット207が短符号語情報205から短符号語シフトビット数(SCodeSBitNum)209を算出して出力するのに対し、復号化処理待ち符号語が長符号語であると判断された入力コードセグメント202については、復号化ユニット208が入力コードセグメント202に基づいて符号表メモリをアクセスすることにより長符号語シフトビット数(LCodeSBitNum)210を取得して出力する。   As described above, a code segment request for requesting the next input code segment for an input code segment whose decoding process waiting codeword is a long codeword and an input code segment whose decoding process waiting codeword is a short codeword The calculation of information is realized in different units. In this embodiment, the code segment request information is the number of shift bits of the barrel shifter 212. Specifically, for the input code segment 202 in which it is determined that the decoding process waiting codeword is a short codeword, the short codeword decoding acceleration unit 207 calculates the short codeword shift bit number (SCodeSBitNum ) 209 is calculated and output, whereas for the input code segment 202 in which the decoding process waiting codeword is determined to be a long codeword, the decoding unit 208 performs code table memory based on the input code segment 202. To obtain and output the long codeword shift bit number (LCodeSBitNum) 210.

次に、短符号語復号高速化ユニット207がシフトビット数を算出する処理を説明する。シフトビット数とは現入力コードセグメントにおける復号化処理待ち符号語の長さである。本実施例では、マッピング・メカニズムを用いて現入力コードセグメントにおける復号化処理待ち符号語の長さを算出する、即ち、現復号化符号表の種類と入力コードセグメントの最上位からの多くともNビットにより入力コードセグメントにおける復号化処理待ち符号語の長さを算出することができる。例えば、MPEG-2規格では、現復号化符号表がDCT係数表0の場合、短符号語シフトビット数を算出するマッピング・メカニズムは表3のように示されるが、現復号化符号表がDCT係数表1の場合、短符号語シフトビット数を算出するマッピング・メカニズムは表4のように示される。また、他の復号化規格の場合では、これら規格で規定している符号化方式により類似するマッピング・メカニズムを設定することで短符号語シフトビット数209を算出し得ることは、当業者にとって明らかであるべきである。

Figure 2009246973
Figure 2009246973
Next, a process in which the short codeword decoding acceleration unit 207 calculates the number of shift bits will be described. The number of shift bits is the length of a decoding process waiting codeword in the current input code segment. In this embodiment, the length of the decoding process waiting codeword in the current input code segment is calculated by using the mapping mechanism, that is, the type of the current decoding code table and at most N from the top of the input code segment. The length of the codeword waiting for decoding in the input code segment can be calculated from the bits. For example, in the MPEG-2 standard, when the current decoding code table is DCT coefficient table 0, the mapping mechanism for calculating the number of short codeword shift bits is shown in Table 3, but the current decoding code table is DCT coefficient table 0. In the case of the coefficient table 1, the mapping mechanism for calculating the number of short codeword shift bits is shown in Table 4. In addition, in the case of other decoding standards, it is obvious to those skilled in the art that the short codeword shift bit number 209 can be calculated by setting a similar mapping mechanism depending on the encoding method defined in these standards. Should be.
Figure 2009246973
Figure 2009246973

前記のように、符号語識別ユニット203と短符号語復号高速化ユニット207の操作はいずれも現復号化符号表の種類に関連するが、MPEG-2/4規格については、現復号化符号表の種類はビデオ復号器における他のモジュールにより決定されるもので、可変長符号復号化器に関し常に変化するものではなく、固定のパラーメーターに相当するので、実際の実現形態では、符号語識別ユニット203と短符号語復号高速化ユニット207は外部からの現復号化符号表種類情報(図示せず)を受信し、該情報に基づき上記叙述の方式に従って適当なマッピング関係を選択して使用すればよい。   As described above, the operations of the codeword identification unit 203 and the short codeword decoding acceleration unit 207 are all related to the type of the current decoding code table, but for the MPEG-2 / 4 standard, The type of is determined by other modules in the video decoder and does not always change with respect to the variable length code decoder and corresponds to a fixed parameter, so in the actual implementation, the codeword identification unit 203 and the short codeword decoding acceleration unit 207 receive the current decoding code table type information (not shown) from the outside, and select and use an appropriate mapping relationship based on the information according to the above-described method. Good.

以下、本実施例による復号化ユニット208で行う復号化処理を説明する。符号語復号化段階において、復号化ユニット208は入力コードセグメント202をインデックスとして用い、符号表メモリ内の可変長符号表を検査することにより復号化符号語(DecCode)(ランレングス/係数値)213及び次の入力コードセグメントを要求するための長符号語シフトビット数210を取得する。復号化ユニット208は従来の技術における汎用の復号化ユニットを使用することができるので、本発明の可変長符号の復号高速化装置は、従来の可変長符号復号化装置に容易に適用が可能である。   Hereinafter, a decoding process performed by the decoding unit 208 according to the present embodiment will be described. In the codeword decoding stage, the decoding unit 208 uses the input code segment 202 as an index, and checks the variable length code table in the code table memory by decoding a decoded codeword (DecCode) (run length / coefficient value) 213. And a long codeword shift bit number 210 for requesting the next input code segment. Since the decoding unit 208 can use a general-purpose decoding unit in the prior art, the variable-length code decoding speed-up device of the present invention can be easily applied to the conventional variable-length code decoding device. is there.

例えば、MPEG-2に基づき、DCT係数表0に関して、符号表メモリに記憶されている、シフトビット数の復号化・生成用のマッピング表は、表5に示すとおりである。

Figure 2009246973
表中の「x」は当該ビットが「0」または「1」が可能であることを表す。 For example, with respect to DCT coefficient table 0 based on MPEG-2, the mapping table for decoding and generating the number of shift bits stored in the code table memory is as shown in Table 5.
Figure 2009246973
“X” in the table indicates that the bit can be “0” or “1”.

復号化ユニット208が出力した次の入力コードセグメントを要求するための情報は、単に長符号語シフトビット数210と呼ばれているが、本実施例による復号化ユニット208は従来技術における汎用の復号化ユニットで実現しているため、入力コードセグメントにおける復号化処理待ち符号語が長符号語か短符号語かにも関わらず、復号化ユニット208はいつも復号化完了後にシフトビット数を出力する。従って、復号化ユニット208から出力された長符号語シフトビット数210は、実際に短符号語シフトビット数も含む。しかし、セレクター214の存在により、復号化ユニット208が出力した短符号語シフトビット数はバレル・シフタ211へ出力されない、即ち、該短符号語シフトビット数は中間出力情報だけで、実際の操作に作用しないことは、当業者であれば了解し得るはずである。   The information for requesting the next input code segment output by the decoding unit 208 is simply called the long codeword shift bit number 210, but the decoding unit 208 according to this embodiment is a general-purpose decoding in the prior art. Therefore, the decoding unit 208 always outputs the number of shift bits after decoding is completed, regardless of whether the codeword waiting for decoding in the input code segment is a long codeword or a short codeword. Accordingly, the long codeword shift bit number 210 output from the decoding unit 208 actually includes the short codeword shift bit number. However, due to the presence of the selector 214, the number of short codeword shift bits output from the decoding unit 208 is not output to the barrel shifter 211. That is, the number of short codeword shift bits is only intermediate output information, and is not used for actual operation. It should be understood by those skilled in the art that it does not work.

また、符号語識別ユニット203から出力したモード情報204はセレクター214へ入力されて、短符号語シフトビット数209又は長符号語シフトビット数214をバレル・シフタ212へ出力するようにセレクター214を制御する。例えば、モード情報204=「0」であれば、短符号語シフトビット数209がシフトビット数(SbitNum)211としてセレクター214を介して出力され、次の入力コードセグメントを要求する。そうでなければ、モード情報204=「1」であれば、長符号語シフトビット数210がシフトビット数211としてセレクター214を介して出力され、次の入力コードセグメントを要求する。   The mode information 204 output from the codeword identification unit 203 is input to the selector 214, and the selector 214 is controlled so that the short codeword shift bit number 209 or the long codeword shift bit number 214 is output to the barrel shifter 212. To do. For example, if the mode information 204 = “0”, the short codeword shift bit number 209 is output as the shift bit number (SbitNum) 211 via the selector 214 to request the next input code segment. Otherwise, if the mode information 204 = “1”, the long codeword shift bit number 210 is output as the shift bit number 211 via the selector 214 to request the next input code segment.

次に、図3に基づき、本発明の別の実施例によるAVS規格のビットストリームに対する可変長符号復号化装置301及びその復号化処理を説明する。図3はAVS規格のビットストリームを復号化するための可変長符号復号化装置301を示す。該可変長符号復号化装置301の入力は、指数ゴロム符号復号化器311が出力した固定ビット数を有する入力コードセグメント(InCodSeg)302である。入力コードセグメント302における復号化処理待ち符号語は可変長符号復号化装置301で復号化されて復号化符号語(DecCode)312を生成する。可変長符号復号化装置301も図1に示している復号化処理を採用する。該復号化処理を実現するためには、次の入力コードセグメントを要求するためのコードセグメント要求情報(本実施例では、指数ゴロム符号の次数である)は、復号化完了後に取得されるのではなく、短符号語復号高速化ユニット306により算出される。   Next, a variable-length code decoding apparatus 301 for an AVS standard bitstream and its decoding process according to another embodiment of the present invention will be described with reference to FIG. FIG. 3 shows a variable-length code decoding apparatus 301 for decoding an AVS standard bitstream. The input of the variable length code decoding device 301 is an input code segment (InCodSeg) 302 having a fixed number of bits output from the exponent Golomb code decoder 311. The decoding process waiting codeword in the input code segment 302 is decoded by the variable-length code decoding apparatus 301 to generate a decoded codeword (DecCode) 312. The variable length code decoding apparatus 301 also employs the decoding process shown in FIG. In order to realize the decoding process, the code segment request information for requesting the next input code segment (in this embodiment, the order of the exponent Golomb code) is not obtained after the decoding is completed. Rather, it is calculated by the short codeword decoding acceleration unit 306.

可変長符号復号化装置301では、指数ゴロム符号復号化器311から入力コードセグメント302を取得した後、入力コードセグメント302は復号化ユニット307に入力されてその復号化処理待ち符号語を復号化するとともに、符号語識別ユニット303にも入力される。符号語識別ユニット303では、入力コードセグメント302における復号化処理待ち符号語が長符号語(長さがNよりも長いビット)であるか短符号語(長さがN以下のビット)であるかを判断する。そして、符号語識別ユニット303は、入力コードセグメント302における復号化処理待ち符号語が短符号語であると判断した場合、入力コードセグメント302を、短符号語情報(SCode)305を介して短符号語復号高速化ユニット306へ入力する。   In the variable-length code decoding apparatus 301, after acquiring the input code segment 302 from the exponent Golomb code decoder 311, the input code segment 302 is input to the decoding unit 307 to decode the codeword waiting for the decoding process. At the same time, it is also input to the codeword identification unit 303. In the codeword identification unit 303, whether the codeword waiting for decoding in the input code segment 302 is a long codeword (a bit longer than N) or a short codeword (a bit whose length is N or less) Judging. When the codeword identification unit 303 determines that the decoding process waiting codeword in the input code segment 302 is a short codeword, the codeword identification unit 303 converts the input code segment 302 into the short code via the short codeword information (SCode) 305. Input to the word decoding speed-up unit 306.

符号語識別ユニット303は、入力コードセグメントの値と所定の閾値とを比較することにより、入力コードセグメント302における復号化処理待ち符号語が短符号語であるかを判断することができる。ここで、入力コードセグメントは、指数ゴロム符号復号化器が出力した固定長の2進数のビットストリームであり、その値は該ビットストリームが表示する10進数であるから、入力コードセグメントの値は容易に決定されるものである。入力コードセグメントの値が所定の閾値以下であると、入力コードセグメントにおける復号化処理待ち符号語が短符号語であると判定し、逆に、入力コードセグメントの値が所定の閾値よりも大きいと、入力コードセグメントにおける復号化処理待ち符号語が長符号語であると判定する。例えばN=4の場合、4ビットの指数ゴロム符号が表示可能な最大数は7であるため、該閾値を7と設定することができ、従って判断規則は表6で示すとおりとなる。入力コードセグメントの値が7以下であると、入力コードセグメントにおける復号化処理待ち符号語は短符号語と判定され、逆に、入力コードセグメントの値が7よりも大きいと、入力コードセグメントにおける復号化処理待ち符号語は長符号語と判定される。

Figure 2009246973
The codeword identification unit 303 can determine whether the codeword waiting for decoding in the input code segment 302 is a short codeword by comparing the value of the input code segment with a predetermined threshold. Here, the input code segment is a fixed-length binary bit stream output from the exponential Golomb code decoder, and the value is a decimal number displayed by the bit stream. To be determined. When the value of the input code segment is equal to or smaller than the predetermined threshold, it is determined that the decoding process waiting codeword in the input code segment is a short codeword, and conversely, when the value of the input code segment is larger than the predetermined threshold The decoding process waiting codeword in the input code segment is determined to be a long codeword. For example, when N = 4, the maximum number of 4-bit exponential Golomb codes that can be displayed is 7. Therefore, the threshold value can be set to 7. Accordingly, the determination rule is as shown in Table 6. If the value of the input code segment is 7 or less, the codeword waiting for decoding in the input code segment is determined to be a short codeword. Conversely, if the value of the input code segment is greater than 7, decoding in the input code segment is performed. The codeword waiting for conversion processing is determined to be a long codeword.
Figure 2009246973

指数ゴロム符号の符号化方式によれば、実際は、入力コードセグメントの値<=7の場合、入力コードセグメントにおける復号化処理待ち符号語が4ビットより大きい符号語である場合もある。しかし、この場合は少ない。また、4ビットより大きい幾つかの符号語を短符号語と判断し最適化しても、本実施例の効果に影響はない。本発明は、長さが4ビット以下の符号語の復号化の最適化を確保すればよいからである。   According to the coding scheme of the exponent Golomb code, when the value of the input code segment <= 7, the decoding process waiting codeword in the input code segment may actually be a codeword larger than 4 bits. However, there are few cases in this case. Even if some codewords larger than 4 bits are determined to be short codewords and optimized, the effect of this embodiment is not affected. This is because the present invention only needs to ensure the decoding of a codeword having a length of 4 bits or less.

符号語識別ユニット303の出力は、モード信号(Mode)304と短符号語信号(SCode)305、の二つがある。モード信号304は入力コードセグメント302における復号化処理待ち符号語が短符号語(例えば、モード信号=「0」)か、長符号語(例えば、モード信号=「1」)かを表す。モード信号は入力コードセグメント302における復号化処理待ち符号語が短符号語であることを表すと、符号語識別ユニット303は、入力コードセグメント302を、短符号語情報305を介して短符号語復号高速化ユニット306へ入力する。   The codeword identification unit 303 has two outputs, a mode signal (Mode) 304 and a short codeword signal (SCode) 305. The mode signal 304 indicates whether the codeword waiting for decoding in the input code segment 302 is a short codeword (for example, mode signal = “0”) or a long codeword (for example, mode signal = “1”). When the mode signal indicates that the codeword waiting for decoding in the input code segment 302 is a short codeword, the codeword identification unit 303 decodes the input code segment 302 via the shortcodeword information 305. Input to the acceleration unit 306.

短符号語復号高速化ユニット306は、短符号語情報305を介して入力された入力コードセグメント302の値に基づいて短符号語の指数ゴロム符号の次数(SCodeExpOrder)308を算出する。   The short codeword decoding acceleration unit 306 calculates an exponent Golomb code order (SCodeExpOrder) 308 of the short codeword based on the value of the input code segment 302 input via the short codeword information 305.

AVS規格では、指数ゴロム符号の次数は復号化用の符号表により決定される。短符号語復号高速化ユニット306の具体的な動作処理を説明する前に、AVS規格により短符号語の指数ゴロム符号の次数を決定する原理について簡単な説明を行う。   In the AVS standard, the order of the exponent Golomb code is determined by a decoding code table. Before describing specific operation processing of the short codeword decoding acceleration unit 306, the principle of determining the degree of the exponential Golomb code of a short codeword according to the AVS standard will be briefly described.

AVS規格で規定した符号化方式により、表7乃至表9に示す対応関係が得られる。そのうち、コードセグメントの値と現符号表から、以下の符号表が分かる。

Figure 2009246973
Figure 2009246973
Figure 2009246973
Correspondences shown in Tables 7 to 9 are obtained by the encoding method defined in the AVS standard. Among them, the following code table can be found from the value of the code segment and the current code table.
Figure 2009246973
Figure 2009246973
Figure 2009246973

AVS規格の復号化方式により、指数ゴロム符号の次数は使用する符号表と対応する。このため、表10乃至表12に示すマッピング関係が得られる。そのうち、コードセグメントの値と現符号表から、指数ゴロム符号の次数を決定することができる。

Figure 2009246973
Figure 2009246973
Figure 2009246973
The order of the exponent Golomb code corresponds to the code table used by the decoding method of the AVS standard. For this reason, the mapping relationships shown in Table 10 to Table 12 are obtained. Among them, the order of the exponent Golomb code can be determined from the value of the code segment and the current code table.
Figure 2009246973
Figure 2009246973
Figure 2009246973

AVS規格の上記特性を利用して、本実施例の短符号語復号高速化ユニット306は現符号表とコードセグメントの値から、復号化処理待ち符号語の指数ゴロム符号の次数を求めることができる。以下、本実施例により短符号語復号高速化ユニット306で行われる動作を詳細に説明する。   Using the above characteristics of the AVS standard, the short codeword decoding speed-up unit 306 of this embodiment can determine the order of the exponent Golomb code of the codeword waiting for decoding processing from the values of the current code table and the code segment. . Hereinafter, the operation performed in the short codeword decoding acceleration unit 306 according to the present embodiment will be described in detail.

符号語識別ユニット303より入力コードセグメント302における復号化処理待ち符号語が短符号語と判定すると、入力コードセグメント302は短符号語情報305を介して短符号語復号高速化ユニット306に入力される。その後、短符号語復号高速化ユニット306は、表10乃至表12に示すマッピング関係から、次の入力コードセグメントを要求するための情報、即ち短符号語の指数ゴロム符号の次数308を算出する。   When the codeword identification unit 303 determines that the codeword waiting for decoding in the input code segment 302 is a short codeword, the input code segment 302 is input to the short codeword decoding acceleration unit 306 via the short codeword information 305. . Thereafter, the short codeword decoding speed-up unit 306 calculates information for requesting the next input code segment, that is, the degree 308 of the exponential Golomb code of the short codeword from the mapping relationships shown in Tables 10 to 12.

また、短符号語復号高速化ユニット306はさらに表7乃至表9に示すマッピング関係から、次の符号表の種類を決定し、次の復号化処理待ち符号語が短符号語の場合の動作に用いるべく、決定した次の符号表の種類を保存する。即ち、直前の復号化処理待ち符号語が短符号語の場合、短符号語復号高速化ユニット306は、記憶している前回決定した符号表の種類を用いて現復号化処理待ち符号語の指数ゴロム符号の次数及び次の符号表の種類を決定する。一方、直前の復号化処理待ち符号語が長符号語の場合、短符号語復号高速化ユニット306は、符号表の種類識別信号(CodTabIdf)315を介して復号化ユニット307内の符号表選択/指数ゴロム符号次数生成ユニット313から受信した符号表の種類を用いて、現復号化処理待ち符号語の指数ゴロム符号の次数及び次の符号表の種類を決定する。例えば、モード信号304により短符号語復号高速化ユニット306を適当な符号表種類標識子を選択して使用するよう制御し得ることは、当業者にとって容易に理解できることである。   Further, the short codeword decoding acceleration unit 306 further determines the type of the next code table from the mapping relationships shown in Tables 7 to 9, and operates in the case where the next decoding process waiting codeword is a short codeword. The type of the next determined code table is stored for use. That is, if the codeword immediately preceding the decoding process is a short codeword, the short codeword decoding speed-up unit 306 uses the previously determined code table type stored in the codeword index of the current decoding process waiting codeword. The order of the Golomb code and the type of the next code table are determined. On the other hand, when the codeword immediately preceding the decoding process is a long codeword, the short codeword decoding acceleration unit 306 selects the code table selection / decoding unit in the decoding unit 307 via the code table type identification signal (CodTabIdf) 315. Using the type of code table received from exponent Golomb code order generation unit 313, the order of the exponent Golomb code of the current decoding process waiting codeword and the type of the next code table are determined. For example, those skilled in the art can easily understand that the mode signal 304 can control the short codeword decoding acceleration unit 306 to select and use an appropriate code table type indicator.

上記の表7乃至表9及び表10乃至表12に示したマッピング関係は、短符号語復号高速化ユニット306に記憶またはプログラミングしてもよく、他の記憶装置に記憶してもよい。例えば、復号化処理待ち符号語が短符号語の場合、次の符号表の種類を決定するためのモジュールは、短符号語復号高速化ユニット306と個別に提供され、該モジュールにより決定された符号表の種類は短符号語復号高速化ユニット306に入力されて、次の復号化処理待ち符号語が短符号語の場合の操作に用いられるようにしてもよい。また、短符号語復号高速化ユニット306、又は個別に設けられた次の符号表の種類を決定するためのモジュールにより算出された、次の符号表の種類を示す値は、短符号語復号高速化ユニット306に設けられているレジスタ、又は他の記憶装置に記憶することができる。例えば、復号化ユニット307に設けられている記憶装置を使用してもよい。   The mapping relationships shown in Tables 7 to 9 and Tables 10 to 12 may be stored or programmed in the short codeword decoding acceleration unit 306, or may be stored in another storage device. For example, when the codeword waiting for decoding is a short codeword, a module for determining the type of the next code table is provided separately from the short codeword decoding acceleration unit 306, and the code determined by the module is determined. The type of the table may be input to the short codeword decoding speed-up unit 306 and used for the operation when the next decoding process waiting codeword is a short codeword. Further, the value indicating the type of the next code table calculated by the short code word decoding speed-up unit 306 or the module for determining the type of the next code table provided individually is the short code word decoding speed The data can be stored in a register provided in the data conversion unit 306 or another storage device. For example, a storage device provided in the decryption unit 307 may be used.

以下、本実施例による復号化ユニット307における復号化処理を説明する。入力コードセグメントにおける復号化処理待ち符号語を復号化するための可変長符号表は復号化ユニット307の符号表メモリに保持されている。復号化ユニット307は、入力コードセグメント302をインデックスとして用いて符号表メモリを検索し、復号化符号語(ランレングス/係数値)312を取得する。例えば、AVS規格では、符号語を復号化するための可変長符号表vlc0_intraは表13に示すとおりである。

Figure 2009246973
Hereinafter, the decoding process in the decoding unit 307 according to the present embodiment will be described. A variable length code table for decoding the codeword waiting for decoding processing in the input code segment is held in the code table memory of the decoding unit 307. The decoding unit 307 searches the code table memory using the input code segment 302 as an index, and obtains a decoded codeword (run length / coefficient value) 312. For example, in the AVS standard, a variable length code table vlc0_intra for decoding a codeword is as shown in Table 13.
Figure 2009246973

さらに、復号化符号語が取得されると、復号化符号語(ランレングス/係数値)312は符号表選択/指数ゴロム符号次数生成ユニット313に入力されて、長符号語の指数ゴロム符号の次数(LCodeExpOrder)309を算出して出力する。短符号語に対する指数ゴロム符号次数算出方法と似て、符号表選択/指数ゴロム符号次数生成ユニット313は今回復号化された係数値により、次の符号語が使用する符号表を決定し、さらに次の符号語を要求するための指数ゴロム符号次数を決定する。以上の説明から、符号表選択/指数ゴロム符号次数生成ユニット313には上記機能を実現するための論理回路又は論理ユニットを備えることができるのは、当業者であれば了解し得るはずである。   Further, when the decoded codeword is acquired, the decoded codeword (run length / coefficient value) 312 is input to the code table selection / exponential Golomb code order generation unit 313, and the order of the exponent Golomb code of the long codeword (LCodeExpOrder) 309 is calculated and output. Similar to the exponent Golomb code order calculation method for the short codeword, the code table selection / exponential Golomb code order generation unit 313 determines the code table used by the next codeword based on the coefficient value decoded this time, and further To determine the exponent Golomb code order for requesting a codeword. From the above description, it should be understood by those skilled in the art that the code table selection / exponential Golomb code order generation unit 313 can include a logic circuit or a logic unit for realizing the above functions.

本実施例では、復号化ユニット307が出力した次の入力コードセグメントを要求するための情報を、単に長符号語の指数ゴロム符号の次数309と呼んでいるが、本実施例において、入力コードセグメントに含まれている復号化処理待ち符号語が長符号語か短符号語かにも関わらず、符号表選択/指数ゴロム符号次数生成ユニット313はいつも復号化完了後に復号化符号語から指数ゴロム符号次数を算出して出力するため、符号表選択/指数ゴロム符号次数生成ユニット313が出力する長符号語の指数ゴロム符号の次数には実は短符号語の指数ゴロム符号の次数も含む。しかし、セレクター314の存在により、符号表選択/指数ゴロム符号次数生成ユニット313が出力した短符号語の指数ゴロム符号の次数は指数ゴロム符号復号化器311へ出力されない、即ち、該短符号語の指数ゴロム符号の次数は中間出力情報だけで、実際の操作に作用しないことは、当業者であれば了解し得るはずである。   In this embodiment, the information for requesting the next input code segment output from the decoding unit 307 is simply called the degree 309 of the exponent Golomb code of the long codeword. The code table selection / exponential Golomb code order generation unit 313 always performs the decoding from the decoded codeword to the exponential Golomb code regardless of whether the decoding-waiting codeword included in is a long codeword or a short codeword In order to calculate and output the order, the order of the exponent Golomb code of the long codeword output from the code table selection / exponential Golomb code order generation unit 313 actually includes the order of the exponent Golomb code of the short codeword. However, due to the presence of the selector 314, the order of the exponent Golomb code of the short codeword output from the code table selection / exponential Golomb code order generation unit 313 is not output to the exponent Golomb code decoder 311, that is, the short codeword Those skilled in the art will understand that the order of the exponent Golomb code is only the intermediate output information and does not affect the actual operation.

図3では、符号表選択/指数ゴロム符号次数生成ユニット313が復号化ユニット307内に設けられているが、実際は、該符号表選択/指数ゴロム符号次数生成ユニット313は復号化ユニット307外に設けられてもよい。   In FIG. 3, the code table selection / exponential Golomb code order generation unit 313 is provided in the decoding unit 307, but actually, the code table selection / exponential Golomb code order generation unit 313 is provided outside the decoding unit 307. May be.

また、符号語識別ユニット303から出力したモード信号304は、セレクター314へ入力されて、指数ゴロム符号の次数(ExpOrder)310を指数ゴロム符号復号化器311へ出力するようにセレクター314を制御する。例えば、モード情報304=「0」であれば、短符号語の指数ゴロム符号の次数308がセレクター314を介して出力され、指数ゴロム符号の次数310として次の入力コードセグメントを要求する。そうでなければ、モード情報304=「1」であれば、長符号語の指数ゴロム符号の次数309が指数ゴロム符号の次数310としてセレクター314を介して出力され、次の入力コードセグメントを要求する。   The mode signal 304 output from the codeword identification unit 303 is input to the selector 314 to control the selector 314 so that the exponent Golomb code degree (ExpOrder) 310 is output to the exponent Golomb code decoder 311. For example, if the mode information 304 = “0”, the degree 308 of the exponent Golomb code of the short codeword is output via the selector 314, and the next input code segment is requested as the degree 310 of the exponent Golomb code. Otherwise, if mode information 304 = “1”, the degree 309 of the exponent Golomb code of the long codeword is output as the exponent 310 of the exponent Golomb code via the selector 314 to request the next input code segment. .

本実施例による可変長符号復号化装置は、従来技術による可変長符号復号化装置と比べて、可変長符号の復号高速化モジュールが追加されることのみによって、従来の可変長符号復号化装置を基に容易に実現することができる。しかし、符号表選択/指数ゴロム符号次数生成ユニット313では、復号化処理待ち符号語が長符号語か短符号語かにも関わらず、後の入力コードセグメント取得するための指数ゴロム符号次数を算出する。符号表選択/指数ゴロム符号次数生成ユニット313が出力した短符号語の指数ゴロム符号の次数は実際には役に立たない。従って、本発明のもう一つの実施例では、図3に示している可変長符号復号化装置を改良した。   The variable-length code decoding apparatus according to the present embodiment is different from the variable-length code decoding apparatus according to the prior art only in that a variable-length code decoding speed increasing module is added, so that the conventional variable-length code decoding apparatus is changed. It can be easily realized on the basis. However, the code table selection / exponential Golomb code order generation unit 313 calculates the exponent Golomb code order for acquiring the subsequent input code segment, regardless of whether the codeword waiting for decoding is a long codeword or a short codeword. To do. The degree of the exponent Golomb code of the short code word output from the code table selection / exponential Golomb code order generation unit 313 is not actually useful. Therefore, in another embodiment of the present invention, the variable length code decoding apparatus shown in FIG. 3 is improved.

次に、図4に基づき、本発明のもう一つの実施例による、AVS規格のビットストリームに対する可変長符号復号化装置401及びその復号化処理を説明する。図4では、本実施例による、AVS規格のビットストリームを復号化するための可変長符号復号化装置401を示し、同一の符号で、図3の可変長符号復号化装置301における同様のユニット又は信号を示すとともに、以下の説明において、図3と同様のモジュールに関する説明は省略し、図3の可変長符号復号化装置301との相異点のみを説明する。   Next, a variable-length code decoding apparatus 401 for an AVS standard bitstream and its decoding processing according to another embodiment of the present invention will be described with reference to FIG. FIG. 4 shows a variable-length code decoding apparatus 401 for decoding an AVS-standard bitstream according to the present embodiment, and the same unit in the variable-length code decoding apparatus 301 of FIG. In the following description, description of the same modules as those in FIG. 3 will be omitted, and only differences from the variable-length code decoding apparatus 301 in FIG. 3 will be described.

該実施例による可変長符号復号化装置401が図3に示す可変長符号復号化装置301との相異点は、スイッチ415により、復号化符号語が符号表選択/指数ゴロム符号次数生成ユニット313に入力されるか否かを制御する。スイッチ415のオン/オフは符号語識別ユニット303が出力したモード信号により制御される。例えば、モード信号=“0”であれば、スイッチ415はオフにされ、モード信号=“1”であれば、スイッチ415はオンにされる。復号化処理待ち符号語が短符号語の場合、符号語識別ユニット303はモード信号=“0”を出力し、スイッチ415はオフにされ、この場合、符号表選択/指数ゴロム符号次数生成ユニット313は作動しない。一方、復号化処理待ち符号語が長符号語の場合、符号語識別ユニット303はモード信号=“1”を出力し、スイッチ415はオンにされ、この場合、復号化符号語(ランレングス/係数値)312は符号表選択/指数ゴロム符号次数生成ユニット313に入力されるので、符号表選択/指数ゴロム符号次数生成ユニット313は、長符号語の指数ゴロム符号の次数(LCodeExpOrder)309を算出して出力する。図3と同様に、図4では、符号表選択/指数ゴロム符号次数生成ユニット313が復号化ユニット407内に設けられているが、実際は、該符号表選択/指数ゴロム符号次数生成ユニット313は復号化ユニット407外に設けられてもよい。   The variable-length code decoding apparatus 401 according to this embodiment differs from the variable-length code decoding apparatus 301 shown in FIG. 3 in that a switch 415 causes a decoding codeword to be code table selection / exponential Golomb code order generation unit 313. Control whether or not to input. ON / OFF of the switch 415 is controlled by a mode signal output from the code word identification unit 303. For example, when the mode signal = “0”, the switch 415 is turned off, and when the mode signal = “1”, the switch 415 is turned on. When the codeword waiting for decoding is a short codeword, the codeword identification unit 303 outputs mode signal = “0” and the switch 415 is turned off. In this case, the code table selection / exponential Golomb code order generation unit 313 Does not work. On the other hand, when the decoding process waiting codeword is a long codeword, the codeword identification unit 303 outputs mode signal = “1”, and the switch 415 is turned on. In this case, the decoding codeword (run length / engagement) is turned on. (Numerical value) 312 is input to the code table selection / exponential Golomb code order generation unit 313, so the code table selection / exponential Golomb code order generation unit 313 calculates the degree (LCodeExpOrder) 309 of the exponent Golomb code of the long codeword Output. Similar to FIG. 3, in FIG. 4, the code table selection / exponential Golomb code order generation unit 313 is provided in the decoding unit 407. It may be provided outside the conversion unit 407.

本発明は、前記の実施例に限定されるものではなく、本発明の趣旨を逸脱しない限り、一部分の構成を修正することにより実施可能である。例えば、本発明の可変長符号復号化装置及び方法は以上で叙述したMPEG-2/4/VC-1規格及びAVS規格以外の各種の可変長復号化規格に適用されることが可能であり、また、異なる可変長復号化規格について、短符号語を如何に識別し、また入力コードセグメントを要求するためのコードセグメント要求情報を如何に算出するかについては、当業者にとっては明らかであるべきである。   The present invention is not limited to the above-described embodiments, and can be implemented by modifying a part of the configuration without departing from the gist of the present invention. For example, the variable length code decoding apparatus and method of the present invention can be applied to various variable length decoding standards other than the MPEG-2 / 4 / VC-1 standard and AVS standard described above, It should also be clear to those skilled in the art how to identify short codewords and how to calculate code segment request information for requesting an input code segment for different variable length decoding standards. is there.

また、前記の図面及び当該実施例の説明において言及された、例えば符号語識別ユニット、短符号語復号高速化ユニットなどの各モジュールには、該モジュールに本発明の実際例において相応する機能を実現させるために設けられた記憶ユニット、制御ユニット、クロック供給ユニットなどが備えられる可能性もある。これらユニットが実現できる機能は、いずれも当業者には公知であるので、本発明の叙述において詳細に説明されていないが、本発明で叙述した機能から上記機能ユニットを如何に適当に設計し供給するかについては、当業者にとっては明らかであるべきである。   In addition, each module such as a codeword identification unit and a short codeword decoding speed-up unit mentioned in the above-described drawings and the description of the embodiment realizes a function corresponding to the module in the actual example of the present invention. There is a possibility that a storage unit, a control unit, a clock supply unit, and the like provided for the purpose are provided. Since the functions that can be realized by these units are well known to those skilled in the art, they are not described in detail in the description of the present invention. However, how to appropriately design and supply the above functional units from the functions described in the present invention. It should be clear to those skilled in the art what to do.

さらに、本発明で開示した各モジュール及びこれらモジュールにおいて相応する機能を供給する機能ユニットは、ソフトウェア、ハードウェア、又は両者の結合により実現することが可能であり、また、各モジュール間の信号は如何なる形式でも良い。また、本明細書で言及された各表は、あくまでもマッピング関係を表明するためであり、必ずしも実際に使用されるマップ表ではない。また、これら表のそれぞれに示しているマッピング関係は、別個のマップ表で実現してもよく、1つのマップ表として他の表と合わせて実現してもよい。さらに、本発明の実施例で言及された各モジュールは別個に実現してもよく、他のモジュールとの集積化により実現してもよい。   Furthermore, each module disclosed in the present invention and a functional unit that supplies a corresponding function in these modules can be realized by software, hardware, or a combination of both, and any signal between the modules can be used. The format is acceptable. Each table referred to in this specification is only for expressing a mapping relationship, and is not necessarily a map table that is actually used. Further, the mapping relationship shown in each of these tables may be realized by a separate map table, or may be realized together with other tables as one map table. Furthermore, each module mentioned in the embodiment of the present invention may be realized separately, or may be realized by integration with other modules.

以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の範囲に属する。
(付記1)入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断するように構成された符号語識別ユニットと、
前記符号語識別ユニットにより前記復号化処理待ち符号語が短符号語であると判断されると、前記復号化処理待ち符号語の復号化完了までにコードセグメント要求情報を取得して次の入力コードセグメントを要求するように、直ぐに次の入力コードセグメントを要求するためのコードセグメント要求情報を算出するように構成された短符号語復号高速化ユニットと、
を含む、可変長符号の復号高速化装置。
(付記2)前記短符号語は長さがNビット以下の符号語であり、前記Nは符号語の復号化に要する平均時間と所望の復号速度に基づいて予め設定された正整数である、付記1に記載の可変長符号の復号高速化装置。
(付記3)前記復号化処理待ち符号語はMPEG-2、MPEG-4、又はVC-1規格に従って符号化された符号語である、付記1に記載の可変長符号の復号高速化装置。
(付記4)前記コードセグメント要求情報は、前記次の入力コードセグメントを取得するためのシフトビット数である、付記3に記載の可変長符号の復号高速化装置。
(付記5)前記符号語識別ユニットは、可変長符号の符号化方式に基づき、前記入力コードセグメントにおける上位ビットを検査することにより、前記入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断する、付記3に記載の可変長符号の復号高速化装置。
(付記6)前記短符号語復号高速化ユニットは、可変長符号の符号化方式に基づき、短符号語と判断された前記復号化処理待ち符号語に対応するシフトビット数を出力するように構成された、付記4に記載の可変長符号の復号高速化装置。
(付記7)前記復号化処理待ち符号語はAVS規格に従って符号化された符号語である、付記1に記載の可変長符号の復号高速化装置。
(付記8)前記コードセグメント要求情報は、前記次の入力コードセグメントを取得するための指数ゴロム符号の次数である、付記7に記載の可変長符号の復号高速化装置。
(付記9)前記符号語識別ユニットは、前記入力コードセグメントの値を所定の閾値と比較し、前記入力コードセグメントの値が前記所定の閾値以下である場合に、前記入力コードセグメントにおける復号化処理待ち符号語が短符号語であると判断する、付記7に記載の可変長符号の復号高速化装置。
(付記10)前記短符号語は長さがNビット以下の符号語であり、前記所定の閾値はNビットの指数ゴロム符号が表示可能な最大値である、付記9に記載の可変長符号の復号高速化装置。
(付記11)前記短符号語復号高速化ユニットは、前記復号化処理待ち符号語が短符号語である場合、可変長符号の符号化方式に基づき、前記入力コードセグメントの値と対応する指数ゴロム符号の次数を取得するように構成された、付記8に記載の可変長符号の復号高速化装置。
The preferred embodiment of the present invention has been described above, but the present invention is not limited to this embodiment, and all modifications to the present invention are within the scope of the present invention unless departing from the spirit of the present invention.
(Supplementary note 1) a codeword identification unit configured to determine whether a decoding process waiting codeword in an input code segment is a short codeword;
When the codeword identification unit determines that the codeword waiting for decoding processing is a short codeword, code segment request information is obtained until the decoding of the codeword waiting for decoding processing is completed, and the next input code A short codeword decoding acceleration unit configured to calculate code segment request information for requesting a next input code segment immediately to request a segment;
An apparatus for speeding up decoding of variable-length codes, including:
(Supplementary Note 2) The short codeword is a codeword having a length of N bits or less, and the N is a positive integer set in advance based on an average time required for decoding the codeword and a desired decoding speed. The variable-speed code decoding speed-up device according to attachment 1.
(Supplementary note 3) The variable-length code decoding speed-up device according to supplementary note 1, wherein the decoding-waiting codeword is a codeword encoded according to the MPEG-2, MPEG-4, or VC-1 standard.
(Supplementary note 4) The variable-length code decoding speed-up device according to supplementary note 3, wherein the code segment request information is the number of shift bits for acquiring the next input code segment.
(Additional remark 5) The said codeword identification unit checks the high-order bit in the said input code segment based on the encoding system of a variable length code, and the decoding process waiting codeword in the said input code segment is a short codeword. 4. The variable-speed code decoding speed-up device according to appendix 3, which determines whether there is any.
(Supplementary Note 6) The short codeword decoding speed-up unit is configured to output the number of shift bits corresponding to the decoding process waiting codeword determined to be a short codeword based on a variable-length code encoding method. The apparatus for speeding up decoding of a variable length code according to attachment 4, wherein
(Supplementary note 7) The variable-length code decoding speed-up device according to supplementary note 1, wherein the decoding-waiting codeword is a codeword encoded according to the AVS standard.
(Supplementary note 8) The variable-length code decoding speed-up device according to supplementary note 7, wherein the code segment request information is an order of an exponent Golomb code for obtaining the next input code segment.
(Supplementary note 9) The codeword identification unit compares the value of the input code segment with a predetermined threshold, and when the value of the input code segment is equal to or less than the predetermined threshold, the decoding process in the input code segment The variable-speed code decoding speed-up device according to appendix 7, wherein the waiting codeword is determined to be a short codeword.
(Supplementary Note 10) The short codeword is a codeword having a length of N bits or less, and the predetermined threshold is a maximum value that can be displayed by an N-bit exponential Golomb code. Decoding speed-up device.
(Supplementary note 11) When the decoding-waiting codeword is a short codeword, the short codeword decoding acceleration unit is based on a variable-length code encoding scheme and an exponent Golomb corresponding to the value of the input code segment 9. The variable-length code decoding speed-up device according to appendix 8, configured to acquire a code order.

201、301、401 可変長符号復号化装置
202、302 入力コードセグメント
203、303 符号語識別ユニット
207、306 短符号語復号高速化ユニット
208、307、407 復号化ユニット
212 バレル・シフタ
214、314 セレクター
311 指数ゴロム符号復号化器
313 符号表選択/指数ゴロム符号次数生成ユニット
201, 301, 401 Variable length code decoding apparatus 202, 302 Input code segment 203, 303 Code word identification unit 207, 306 Short code word decoding acceleration unit 208, 307, 407 Decoding unit 212 Barrel shifter 214, 314 Selector 311 Exponential Golomb Code Decoder 313 Code Table Selection / Exponential Golomb Code Degree Generation Unit

Claims (10)

入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断するように構成された符号語識別ユニットと、
前記符号語識別ユニットにより前記復号化処理待ち符号語が短符号語であると判断されると、前記復号化処理待ち符号語の復号化完了までにコードセグメント要求情報を取得して次の入力コードセグメントを要求するように、直ぐに次の入力コードセグメントを要求するためのコードセグメント要求情報を算出するように構成された短符号語復号高速化ユニットと、
を含む、可変長符号の復号高速化装置。
A codeword identification unit configured to determine whether the decoding-waiting codeword in the input code segment is a short codeword;
When the codeword identification unit determines that the codeword waiting for decoding processing is a short codeword, code segment request information is obtained until the decoding of the codeword waiting for decoding processing is completed, and the next input code A short codeword decoding acceleration unit configured to calculate code segment request information for requesting a next input code segment immediately to request a segment;
A decoding speed-up device for variable-length codes,
前記短符号語は長さがNビット以下の符号語であり、前記Nは符号語の復号化に要する平均時間と所望の復号速度に基づいて予め設定された正整数である、請求項1に記載の可変長符号の復号高速化装置。   The short codeword is a codeword having a length of N bits or less, and the N is a positive integer set in advance based on an average time required for decoding the codeword and a desired decoding speed. The variable-speed code decoding speed-up device as described. 前記復号化処理待ち符号語はMPEG-2、MPEG-4、又はVC-1規格に従って符号化された符号語である、請求項1に記載の可変長符号の復号高速化装置。   2. The variable-length code decoding speed-up device according to claim 1, wherein the decoding processing waiting codeword is a codeword encoded according to MPEG-2, MPEG-4, or VC-1 standards. 前記コードセグメント要求情報は、前記次の入力コードセグメントを取得するためのシフトビット数である、請求項3に記載の可変長符号の復号高速化装置。   4. The variable-length code decoding speed-up device according to claim 3, wherein the code segment request information is the number of shift bits for acquiring the next input code segment. 前記符号語識別ユニットは、可変長符号の符号化方式に基づき、前記入力コードセグメントにおける上位ビットを検査することにより、前記入力コードセグメントにおける復号化処理待ち符号語が短符号語であるかを判断する、請求項3に記載の可変長符号の復号高速化装置。   The codeword identification unit determines whether a codeword waiting for decoding in the input code segment is a short codeword by inspecting upper bits in the input code segment based on a variable length code encoding scheme. 4. The variable speed code decoding speed-up device according to claim 3, wherein: 前記短符号語復号高速化ユニットは、可変長符号の符号化方式に基づき、短符号語と判断された前記復号化処理待ち符号語に対応するシフトビット数を出力するように構成された、請求項4に記載の可変長符号の復号高速化装置。   The short codeword decoding acceleration unit is configured to output the number of shift bits corresponding to the decoding process waiting codeword determined to be a short codeword based on a variable-length code encoding method. Item 5. The variable speed code decoding speed-up device according to Item 4. 前記復号化処理待ち符号語はAVS規格に従って符号化された符号語である、請求項1に記載の可変長符号の復号高速化装置。   2. The variable speed code decoding speed-up device according to claim 1, wherein the decoding processing waiting codeword is a codeword encoded according to the AVS standard. 前記コードセグメント要求情報は、前記次の入力コードセグメントを取得するための指数ゴロム符号の次数である、請求項7に記載の可変長符号の復号高速化装置。   8. The variable-length code decoding speed-up device according to claim 7, wherein the code segment request information is an order of an exponent Golomb code for obtaining the next input code segment. 前記符号語識別ユニットは、前記入力コードセグメントの値を所定の閾値と比較し、前記入力コードセグメントの値が前記所定の閾値以下である場合に、前記入力コードセグメントにおける復号化処理待ち符号語が短符号語であると判断する、請求項7に記載の可変長符号の復号高速化装置。   The codeword identification unit compares the value of the input code segment with a predetermined threshold value, and when the value of the input code segment is equal to or less than the predetermined threshold value, the codeword waiting for decoding in the input code segment is 8. The variable-length code decoding speed-up device according to claim 7, wherein the variable-length code decoding speed is determined to be a short code word. 前記短符号語は長さがNビット以下の符号語であり、前記所定の閾値はNビットの指数ゴロム符号が表示可能な最大値である、請求項9に記載の可変長符号の復号高速化装置。   10. The variable-length code decoding speedup according to claim 9, wherein the short codeword is a codeword having a length of N bits or less, and the predetermined threshold is a maximum value that can be displayed by an N-bit exponential Golomb code. apparatus.
JP2009080360A 2008-03-28 2009-03-27 Device for speeding up decoding of variable length codes Expired - Fee Related JP5201052B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810089812.2 2008-03-28
CN2008100898122A CN101547353B (en) 2008-03-28 2008-03-28 Decoding accelerator for variable length codes

Publications (2)

Publication Number Publication Date
JP2009246973A true JP2009246973A (en) 2009-10-22
JP5201052B2 JP5201052B2 (en) 2013-06-05

Family

ID=41194182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009080360A Expired - Fee Related JP5201052B2 (en) 2008-03-28 2009-03-27 Device for speeding up decoding of variable length codes

Country Status (2)

Country Link
JP (1) JP5201052B2 (en)
CN (1) CN101547353B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547267B (en) * 2010-12-29 2014-04-16 福州瑞芯微电子有限公司 Video data decoding method and system
US8593309B2 (en) * 2011-11-30 2013-11-26 Intel Mobile Communications GmbH Method for efficient decoding of variable length codes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000216687A (en) * 1998-12-16 2000-08-04 Thomson Consumer Electronics Inc Variable length code word decoder
JP2001007706A (en) * 1999-06-24 2001-01-12 Toshiba Corp Decoding device for variable length code
JP2003209474A (en) * 2002-01-15 2003-07-25 Matsushita Electric Ind Co Ltd Variable length coding decoding device
JP2006060723A (en) * 2004-08-24 2006-03-02 Victor Co Of Japan Ltd Variable length code decoder
JP2007104194A (en) * 2005-10-03 2007-04-19 Akuseru:Kk Decoding system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7205915B2 (en) * 2003-07-15 2007-04-17 Intel Corporation Method of decoding variable length prefix codes
US8705632B2 (en) * 2005-03-30 2014-04-22 Intel Corporation Decoder architecture systems, apparatus and methods
CN100356793C (en) * 2005-06-09 2007-12-19 清华大学 High-speed changeable long code parallel decoder
KR100776195B1 (en) * 2005-08-09 2007-11-16 (주)씨앤에스 테크놀로지 The H.264 decoding method for fast cavlc

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000216687A (en) * 1998-12-16 2000-08-04 Thomson Consumer Electronics Inc Variable length code word decoder
JP2001007706A (en) * 1999-06-24 2001-01-12 Toshiba Corp Decoding device for variable length code
JP2003209474A (en) * 2002-01-15 2003-07-25 Matsushita Electric Ind Co Ltd Variable length coding decoding device
JP2006060723A (en) * 2004-08-24 2006-03-02 Victor Co Of Japan Ltd Variable length code decoder
JP2007104194A (en) * 2005-10-03 2007-04-19 Akuseru:Kk Decoding system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6012027032; Wu Di,Gao Wen,Hu Mingzeng,Ji ZhenZhou: 'An Exp-Golomb Encoder and Decoder Architecture for JVT/AVS' ASIC,2003.proceedings.5th Internatinal Conference on vol.2, 200310, pp.910-913 *
JPN6012027033; Bin Sheng,Wen Gao,Don Xie,Di Wu: 'An Efficient VLSI Architecture of VLD for AVS HDTV Decoder' IEEE Transactions on Consumer Electronics Vol.52,No.2, 200605, pp.696-701 *

Also Published As

Publication number Publication date
CN101547353A (en) 2009-09-30
CN101547353B (en) 2011-09-07
JP5201052B2 (en) 2013-06-05

Similar Documents

Publication Publication Date Title
KR100717055B1 (en) Method of decoding bin values using pipeline architecture, and decoding apparatus therefor
US7304590B2 (en) Arithmetic decoding apparatus and method
KR100717052B1 (en) Method of decoding syntax element in cabac decoder with parallel processing of binary arithmetic decoding and binarization matching, and decoding apparatus therefor
US7079057B2 (en) Context-based adaptive binary arithmetic coding method and apparatus
KR101118089B1 (en) Apparatus and system for Variable Length Decoding
US8094048B2 (en) Method of decoding syntax element in context-based adaptive binary arithmetic coding decoder and decoding device therefor
US8306108B2 (en) Adaptive canonical Huffman decoder and method thereof and video decoder
CA2668222A1 (en) Memory efficient coding of variable length codes
AU2019201596A1 (en) Coding and decoding of spectral peak positions
KR970064266A (en) High-speed data parsing control circuit
US7522076B1 (en) Parallel context adaptive binary arithmetic coding
CN104378634B (en) The method of incoming symbol binaryzation and the method that index value is produced from code word
US7928868B1 (en) Entropy decoding device
CN103974066A (en) Video coding method and device
GB2333000A (en) Finite state machine coding of information
JP5201052B2 (en) Device for speeding up decoding of variable length codes
Lin et al. A branch selection multi-symbol high throughput CABAC decoder architecture for H. 264/AVC
JP2006033335A (en) Arithmetic coding decoding method and apparatus thereof
US8970405B2 (en) Method and apparatus for entropy decoding
JPH11243342A (en) Variable length code decoding device
JP4537089B2 (en) Variable length decoding apparatus and method, computer program, and computer readable storage medium
US8854233B2 (en) Method and system for de-binarization
EP2259432A1 (en) Variable-length code decoding apparatus and method
JP2013009167A (en) Entropy encoding apparatus, entropy decoding apparatus, entropy encoding method and entropy decoding method
JP2003174365A (en) Decoding device and its method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121211

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees