WO2005088840A1 - 可変長符号復号装置 - Google Patents

可変長符号復号装置 Download PDF

Info

Publication number
WO2005088840A1
WO2005088840A1 PCT/JP2005/004863 JP2005004863W WO2005088840A1 WO 2005088840 A1 WO2005088840 A1 WO 2005088840A1 JP 2005004863 W JP2005004863 W JP 2005004863W WO 2005088840 A1 WO2005088840 A1 WO 2005088840A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
stream
code
data
variable
Prior art date
Application number
PCT/JP2005/004863
Other languages
English (en)
French (fr)
Inventor
Hiroto Tomita
Takashi Hashimoto
Original Assignee
Matsushita Electric Industrial Co., 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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2006511070A priority Critical patent/JP4516068B2/ja
Priority to US10/582,611 priority patent/US7683807B2/en
Priority to EP20050721050 priority patent/EP1724931A1/en
Publication of WO2005088840A1 publication Critical patent/WO2005088840A1/ja

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Definitions

  • the present invention relates to a method for decoding a bit stream encoded by a plurality of code schemes.
  • the present invention relates to a variable-length code decoding device.
  • MPEG Motion Picture Coding Ex perts Group
  • MPEG includes MPEG-1 for storage media such as CD-ROM
  • MPEG_2 for storage media such as digital TV broadcasts and DVDs
  • low bit rates such as mobile communications.
  • MPEG_4 used as a moving image format
  • MPEG-4 AVC Ad Advanced Video Coding
  • the dedicated video processing LSI mounted on the mobile communication terminal consists of a processor, VLD (Variab 1 e Length Decoder, variable length code decoding circuit), IQ (Inverse Quantization, inverse quantum Circuit), and dedicated hardware such as I DCT (Inverse DCT Transform, Inverse DCT circuit), which distributes the load of moving image processing and also consumes The power is being reduced.
  • VLD Very Low Density Decoder
  • IQ Inverse Quantization, inverse quantum Circuit
  • dedicated hardware such as I DCT (Inverse DCT Transform, Inverse DCT circuit)
  • incorporating multiple dedicated video processing LSIs into an image processing device increases the number of components, which increases the cost of the image processing device, and switches the dedicated video processing LSI to operate for each encoding method.
  • the necessity complicates the system. Therefore, it is conceivable that one LSI dedicated to moving image processing can support a plurality of encoding schemes. This can be achieved by providing all dedicated hardware such as VLDs for each encoding method.
  • the area of the LSI dedicated to moving image processing increases, and the cost of the LSI dedicated to moving image processing increases.
  • Literature 1 Japanese Patent Application Laid-Open No. 2002-1418057 discloses a technique of a variable-length code decoding circuit corresponding to two encoding schemes.
  • FIG. 7 shows a conventional variable-length code decoding circuit 300 described in Document 1.
  • the variable length code decoding circuit 300 can process a barrel shifter 301 and a barrel shifter controller 302, a variable length code decoding table 303a for decoding AC coefficients of DV format and MPEG format, and a run length of level 0. It includes a run-length decoder 304, an escape processing circuit 303b dedicated to MPEG format, a DC processing circuit 303c for each format, and an EOB processing circuit 303d for both formats.
  • an object of the present invention is to provide a variable-length code decoding device that can easily cope with a plurality of coding schemes and can suppress an increase in circuit scale. Disclosure of the invention
  • a variable length decoding device includes: a decoding stage for decoding a variable length code encoded by a plurality of encoding schemes; a stream input unit for inputting the variable length code; a decoding stage and a stream input unit.
  • the stream input unit and the interface are shared for a plurality of encoding systems. In this configuration, since the stream input unit and the interface are shared by a plurality of encoding systems, the circuit scale can be reduced as compared with a case where a stream input unit is provided for each encoding system.
  • the decoding stage includes a logic circuit that can be reconfigured so as to be able to decode the variable length code encoded by each of the plurality of encoding schemes. Be composed.
  • the decoding stage can be, for example, a single reconfigurable logic circuit. Therefore, the circuit scale can be further reduced.
  • the decoding stage includes a plurality of decoders for decoding variable length codes encoded by a plurality of encoding schemes.
  • multiple dedicated decoding can be performed without the overhead required for reconstruction. Can cope with a plurality of encoding schemes.
  • variable length decoding device in addition to the third invention, the interface selects any one of a plurality of decoders according to a system signal indicating an encoding system. And a decoder selector connected to the stream input unit.
  • variable length decoding device in addition to the fourth invention, the power consumption of a decoder not selected by the decoder selector among the plurality of decoders is suppressed.
  • the stream input unit includes a code detector that detects a stream start code.
  • variable-length code can be decoded without any problem even if the start code is not removed in the preceding stage of the variable-length decoder.
  • a code detector for detecting a start code can be shared by a plurality of encoding systems, so that an increase in circuit scale can be further suppressed.
  • the stream input unit includes: a shift register that holds register data forming a part of the stream; and a stream data having a constant bit width from the register data.
  • a data selector for transferring the stream data to the interface, a pointer control unit for controlling a stream pointer for determining the position of the stream data, and a stream data bus for holding the stream data and transferring the stream data to a decoding stage; and interrupting the decoding.
  • a stream valid signal line that holds a stream valid signal indicating whether or not to perform decoding and transfers it to the decoding stage; and a decoding start signal line that holds a decoding start signal indicating whether or not to start decoding and transfers it to the decoding stage.
  • the register data of the shift register is divided into stream data of a fixed bit width and transferred to the decoding stage.
  • the stream data can be sequentially supplied to the decoding stage, and the variable length code can be efficiently decoded.
  • the stream valid signal can instruct the decoding stage whether or not to interrupt decoding, and the decoding start signal can instruct the decoding stage to start decoding.
  • the decoding stage in addition to the seventh invention, notifies the stream input unit of the code length when the decoding is completed, and the pointer control unit based on the notified code length To move the position of the stream data determined by the stream pointer.
  • FIG. 1 is a block diagram of a variable-length code decoding device according to Embodiment 1 of the present invention.
  • FIG. 2 is a block diagram of a stream input unit according to Embodiment 1 of the present invention.
  • FIG. 3 is a timing chart of the variable-length code decoding device according to Embodiment 1 of the present invention.
  • FIG. 4 is a timing chart of the variable-length code decoding device according to Embodiment 1 of the present invention.
  • FIG. 5 is a timing chart of the variable-length code decoding device according to Embodiment 1 of the present invention.
  • FIG. 6 is a block diagram of a variable-length code decoding device according to Embodiment 2 of the present invention.
  • FIG. 7 is a block diagram of a conventional variable length decoder. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a block diagram of a variable-length decoding device according to Embodiment 1 of the present invention.
  • variable length decoding device of the present embodiment includes a decoding stage 100 for decoding variable length codes encoded by a plurality of encoding methods, and a stream input unit 1 for inputting variable length codes.
  • a decoding stage 100 for decoding variable length codes encoded by a plurality of encoding methods
  • a stream input unit 1 for inputting variable length codes.
  • an interface 30 that mediates between the decoding stage 100 and the stream input unit 10
  • the stream input # 5 10 and the interface 30 are shared for a plurality of encoding schemes.
  • variable length decoding device 1 of the present embodiment includes a stream input terminal 2, a system signal input terminal 3, and a decoded data output terminal 4.
  • the stream input terminal 2 inputs a bit stream that has been subjected to variable length coding.
  • the variable-length decoding device 1 can decode a bit stream encoded by a plurality of encoding methods, but the encoding method relating to the bit stream to be currently decoded is specified by the method signal input to the method signal input terminal 3. Is done.
  • the bit stream input from the stream input terminal 2 is transferred to the shift register 11 of the stream input unit 10 by a fixed amount (96 bits in this example).
  • the method signal input from the method signal input terminal 3 is input to one of the input terminals of the first and second decoder selectors 34 and 60 and the first and second mask elements 35 and 36. You.
  • the decoding data output terminal 4 outputs the decoding data, which is the output data of the variable length decoding device 1, to an external device (in this example, a variable length decoding device conforming to the MPEG standard. Zu) Output to).
  • an external device in this example, a variable length decoding device conforming to the MPEG standard. Zu
  • variable-length decoding device 1 The internal elements of the variable-length decoding device 1 include a stream input unit 10, a decoding stage 100 having a first decoder 40 and a second decoder 50, and a stream input unit 10. It can be divided into an interface 30 interposed between the decoding stage 100 and a second decoder selector 60.
  • the stream input unit 10 of the present example has the following elements as shown in FIG.
  • the shift register 11 stores a maximum of 96 bits of the partial data of the bit stream.
  • data stored in the shift register 11 is referred to as register data strm-reg.
  • the control unit 12 controls the decoding process of the variable length decoding device 1.
  • the control unit 12 includes a pointer control unit 13, and the pointer control unit 13 instructs the data selector 14 with a stream pointer strm__ptr.
  • the stream selector strm—a fixed amount (32 bits in this example) of stream data strm from the terminal position pointed by the stream pointer strm—ptr _ data is taken out and transferred to the stream data bus 31.
  • the end position of the stream data strm_datta indicated by the stream pointer strm_ptr can be changed theoretically in the range of 95 bits to 0 bits.
  • the pointer control unit 13 sets the stream position so that this end position does not become smaller than 32 bits, which is the data width of the stream data strm_data output by the data selector 14. Controls mpointer strm_ptr.
  • the stream pointer strm—ptr As the end position pointed to by the stream pointer str m_ptr returns from the maximum value of 95 bits to 0 bits, it is transferred to the stream data bus 31.
  • the stream pointer strm—ptr is assumed to decrease from the maximum value of 95 bits by a constant difference value (8 bits in this example) in the 0-bit direction. I do.
  • the difference value is exactly the value of the code length indicated by the code length signal str m_len described later, and in fact, the code when decoding is completed. It changes with the code length value (variable value) indicated by the long signal str m_len.
  • the present invention can be similarly applied to the case where the difference value changes.
  • the control unit 12 outputs the bit stream enable instruction signal st rm-en to the stream enable signal line 32 of the interface 30 and outputs the decoding start instruction signal dec_s start to the decoding start signal line 33 of the interface 30. Output.
  • the bitstream validity indication signal strm-en indicates whether or not decoding should be interrupted, and the decoding start indication signal dec_statt indicates whether or not decoding can be started.
  • the control unit 12 receives the code length signal strm-1en, the decoding completion notification signal dec-end, and the supply stop signal strm-stop from the first decoding selector 34.
  • the code length signal strm-1en is 3 as described above.
  • the code length signal strm-1 en can be identified. This signal notifies the control unit 12 that the decoder in charge of decoding has entered that state.
  • the supply stop signal strm-stop is a signal that the decoder in charge of decoding notifies the control unit 12 of the completion of the process each time the process on the stream data strm-datta is completed.
  • the supply stop signal strm-stop is a signal that the control unit 12 is notified even if the decoding of the variable-length coded data is not completed, and the decoding completion notification signal dec_end. Is different.
  • the stream input unit 10 of this example includes the following elements. However, these elements can be used when it is not necessary to manipulate the specific code of the bit stream (in this example, the start code of ,, 0x00000001) (for example, before the stream input terminal 2). If the start code has been removed in advance by an element (not shown) provided in, for example), it can be omitted as necessary.
  • the code register 15 holds the start code, and inputs the start code to one input terminal of the code detector 16.
  • the code detector 16 inputs the value of the first 24 bits of the shift register 11 from the other input terminal, and compares this value with the start code input from the code register 15. When the two match, the code detector 16 outputs a detection signal notifying that the start code has been found to the control unit 12.
  • the control unit 12 returns the stream pointer str m_ptr output by the pointer control unit 13 by 24 bits in the 0-bit direction, and as a result, the bit next to the start code of the bit stream Is transferred to the stream data bus 31 as stream data strm-data, and the decoding process starts.
  • the stream point The strm_ptr shall start from the maximum value of 95 bits ( so that the specific code held by the code register 15 can be changed by the control unit 12 from an externally input setting signal. If the specific code is erroneously decoded as a part of the variable-length encoded data, the pointer control unit 13 operates the stream pointer strm—ptr as appropriate to It can be modified so that the correct decryption process is performed.
  • the interface 30 includes the following elements in addition to the stream data bus 31, the stream valid signal line 32, and the decoding start signal line 33.
  • the first decryption selector 3 4 is the first decryption selector
  • the second decoder 50 's supply stop signal strm-st0p, decoding completion notification signal dec-end, code length signal strm-1 en, and supply stop signal strm-stop
  • the first mask element 35 and the second mask element 36 obtain the logical product of the decoding start instruction signal dec_sstart and the scheme signal.
  • the first mask element 35 and the second mask element 36 selectively select one of the first decoder 40 and the second decoder 50 according to the system signal, and are selected.
  • the decoder decodes the stream data str m_data transferred from the stream data bus 31.
  • the first mask element 35 and the second mask element 36 are logically inverted.
  • the first decoder 40 and the second decoder 50 constitute a decoding stage 100 in the first embodiment, and are dedicated decoders corresponding to mutually different code Eich systems.
  • the first decoder 40 includes a first table 41, decodes variable-length encoded data according to the MPEG-4 S imp 1 e Profi 1 e method, and outputs the second decoded data.
  • the decoded data is output to one terminal of the selector 60.
  • the I / O unit 42 inputs and outputs signals to and from the interface 30.
  • the second decoder 50 includes a second table 51, decodes variable-length encoded data according to the MPEG-4 AVC method, and decodes the decoded data to the other terminal of the second decoder selector 60. Output data.
  • the I / O section 52 inputs and outputs signals to and from the interface 30.
  • the second decoder selector 60 outputs the decoded data output from one of the first decoder 40 and the second decoder 50 via the decoded data output terminal 4 according to the system signal. Output to the outside of the decryption device 1.
  • Decoders are limited to two types as shown in Fig. 1. Instead, three or more variable-length coding schemes may be supported.
  • variable-length decoding device 1 Next, the operation of the variable-length decoding device 1 will be described with reference to FIG. It should be noted that the operation of the variable-length decoding device 1 is the same regardless of whether the system signal selects the first decoder 40 or the second decoder 50, except for the selection operation.
  • the pointer control unit 13 sets the stream pointer str m_p tr to 95 bits, which is the maximum value of the shift register 11, and sets the data selector 14 to the end position indicated by the stream pointer st rm—ptr. Transfer the 32 bits of stream data str m_data (data 1) to the stream data bus 31.
  • the control unit 12 sets the bit stream enable instruction signal str m_en to “enable”, As shown in FIG. 3 (e), the control unit 12 sets the decoding start instruction signal de c_s start to "start” from time t1 to time t2.
  • the first decoder 40 since the first decoder 40 does not decode anything, the first decoder 40 outputs the code length signal st rm-1 en as shown in FIG. 3 (g).
  • the code length value shown is “0", and the supply stop signal st rm —stop is “notstop” as shown in Fig. 3 (f).
  • the decoding completion notification signal dec-end is in the state of "n0 tend”.
  • the first decoder 40 outputs stream data st rm data (d It is assumed that the decoding of ata 1) is started, and the first decoder 40 completes the decoding of one unit only with the stream data str m_d ata (datal) at the time t3. Then, the code length of this one unit is found for the first time (this code length changes depending on the stream data str m_data, but as described above, in order to simplify the explanation, the code length is It is always 8 bits.)
  • the first decoder 40 sets the supply stop signal strm-stop to stop, sets the first 5 ⁇ end of loss port “ ⁇ dec-end” to “end”, and sets the code length signal str The value of the code length indicated by m_len is set to “8.” These signals are notified to the control unit 12 via the first decoding selector 34. Further, the first decoder 40 outputs the time t At 4, the supply stop signal strm—stop is returned to “notstop”, the code length value indicated by the code length signal str m — 1 en is set to “0”, and the decoding completion notification signal dec—end is set to “notend”. Put it back.
  • the first decoder 40 outputs the stream data strm - After completing the processing of the data (DATAL), if the decoding of one unit is not completed, the supply stop signal s trm- stop, code length signal strm- 1 en is the same as Figure 3. However, as shown in FIG. 4 (h), the first decoder 40 keeps the decoding completion notification signal dec_end at "notend".
  • the next stream data str m_d ata (data 2) is transferred to the first decoder 4 ⁇ , and the first decoder 40 transmits the stream data str m_d ata (data 2) Is performed subsequently.
  • the first decoder 40 operates at times t15 to t16 in the same manner as at times t4 to t5 in FIG. Is performed.
  • the code length signal strm-1en shows 8 bits at times tl3 to tl4 and tl5 to tl6, but this is not an error.
  • the stream pointer strm—ptr is 0 bits for the code length 1 en 1 (8 bits in this example) tentatively determined from the stream data str m_d ata (datal) at the time [J t 13].
  • the code length 1 en2 (8 bits in this example) determined from the stream data str m_d ata (data 2).
  • the stream pointer str m_ptr becomes smaller than the bit width of the stream data str m_data (32 bits in this example), and the data of the subsequent part of the bit stream is shifted by the shift register.
  • the operation of the variable-length decoding device 1 when it is added to 11 will be described.
  • the stream pointer str m_p tr returns to the 0-bit direction, and finally reaches a bit width smaller than the bit width of the stream data st rm data.
  • the stream pointer strm — ptr points to 35 bits, which is larger than the data width of the stream data str m_data.
  • the control unit 12 outputs the bit stream validity signal strm. Set en to "disenable".
  • the first decoder 40 suspends the decoding process from the time t34.
  • the shift register 11 is supplemented with 32 bits of data from the bit stream.
  • the control unit 12 changes the bit stream valid instruction signal strm-en to "enab Return to 1 e ".
  • the interruption of the decoding process is resolved, and the first decoder 40 completes the decoding process of one unit at time t36. Subsequent operations are the same as those described above.
  • the stream input unit 10 and the interface 30 are shared by a plurality of encoding systems, an increase in area can be suppressed. Further, since the code length is transmitted from the decoding stage 100 to the control unit 12, decoders of different encoding schemes can be easily connected.
  • variable-length code decoding unit of another encoding method is provided by using two types of encoding methods, “MPEG-4 Simple Profile 1 e” and “MPEG-4AVC”. If it is connected to 30, other encoding methods can be supported.
  • the numerical values such as 96 bits, 32 bits, and 8 bits described above are examples. It is needless to say that various changes can be made.
  • the stream pointer strm-ptr controls the stream data strm_data in ascending order, but may control it in descending order.
  • dedicated decoders 40 and 50 are provided for each of a plurality of encoding schemes.
  • a reconfigurable decoder 80 having an I / O unit 81 is provided to configure a decoding stage 200.
  • All of the reconfigurable decoders 80 can be configured with reconfigurable logic circuits. For example, only a table holding decoding parameters can be configured as a reconfigurable logic circuit. In any case, it is sufficient that the reconfigurable decoder 80 can realize decoding processing corresponding to a plurality of encoding schemes.
  • the interface 70 may be provided with a stream data bus 71, a stream enable signal line 72, and a decoding start signal line 73.
  • the decoding selector 34, the first mask element 35, the second mask element 36, and the like can be omitted. Also, there is no need to provide the second decoder selector 60 between the reconfigurable decoder 80 and the decoded data output terminal 4.
  • circuit size can be further reduced in the second embodiment than in the first embodiment.
  • FIG. 1 it is also possible to provide a reconfigurable decoder 80 instead of the first decoder 40 and to eliminate the second decoder 50.
  • variable-length code decoding device of the present invention in a variable-length code decoding device that is required to support a plurality of encoding schemes, the decoding stage shares the stream input unit, so that an increase in area can be suppressed. .
  • the connection of the decoding stage is easy, and it is possible to easily cope with other combinations of the encoding system. .
  • Industrial applicability INDUSTRIAL APPLICABILITY The variable-length code decoding apparatus according to the present invention can be suitably used, for example, in a system LSI that performs video processing and needs to support a plurality of code schemes, or in an application technology field thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

複数の符号化方式で符号化されたビットストリームを復号する可変長符号復号装置である。この装置は、複数の符号化方式により符号化された可変長符号を復号する復号段(100)と、可変長符号を入力するストリーム入力部(10)と、復号段とストリーム入力部とを仲介するインターフェイス(30)とを備え、ストリーム入力部とインターフェイスとは、複数の符号化方式について共用される。対応する符号化方式ごとにストリーム入力部を備える必要が無くなり面積増加を抑えることができる。ストリーム入力部と復号段の間をインタフェースで接続しているので、他の符号化方式の対応や符号化方式の他の組み合わせへの対応を容易に行うことができる。

Description

可変長符号復号装置 技術分野
本発明は、 複数の符号ィヒ方式で符号ィヒされたビッ トストリームを復号する可 明
変長符号復号装置に関するものである。 田
背景技術
ディジタル衛星放送、 ィンターネットゃ携帯情報端末を利用したディジタル 映像コンテンツの送受信の普及により、 MPEG (Mo v i n g P i c t u r e C o d i n g Ex p e r t s G r o u p) 規格に対応する信号処理 装置の重要性が増している。 現在、 MP EGには、 CD— ROMなどの蓄積メ ディアを対象にする MP EG— 1、 ディジタル TV放送や DVDなどの蓄積メ ディアを対象とする MPEG_2、 移動体通信など低ビット . レートでの動画 像フォーマツトとして用いられる MP EG_ 4、 近年提案されている低ビッ ト · レート下での更なる高画質化を狙った MP EG— 4 AVC (Ad V a n c e d V i d e o C o d i n g) といった様々な符号化方式が存在する。 バッテリ駆動が前提の移動体通信端末に、 MP EG方式を採用する場合、 膨 大なデータの高速処理と低消費電力化が課題となる。 この観点から、 移動体通 信端末に搭載する動画像処理専用 L S Iは、 プロセッサと VLD (Va r i a b 1 e L e n g t h De c o d e r、 可変長符号復号回路) 、 I Q ( I n v e r s e Qu a n t i z a t i o n、 逆量子ィ匕回路) 、 I DCT ( I n v e r s e D i s c r e t e C o s i n e T r a n s f o r m、 逆 D C T 回路) などの特定アルゴリズムを処理する専用ハードウェアとを併用すること により、 動画像処理時の負荷を分散し、 合わせて、 消費電力の低減を図ってい る。 動画像処理専用 LS Iが、 複数の符号化方式を扱う画像処理装置に組み込ま れ、動画像処理専用 L S Iが 1つの符号化方式のみにしか対応していない場合、 各々の符号化方式に対応した複数の動画像処理専用 LS Iを画像処理装置に組 み込む必要がある。
しかし、 複数の動画像処理専用 LS Iを画像処理装置に組み込むと、 部品点 数が増加するため画像処理装置のコストが増加し、 符号化方式ごとに動作させ る動画像処理専用 LS Iを切り替える必要があるためシステムが煩雑になる。 そこで、 一つの動画像処理専用 L S Iで複数の符号化方式に対応することが 考えられる。 このためには、 各符号化方式の VLDなどの専用ハードウェアを 全て備えることで実現できる。 しかし、 このようにすると、 動画像処理専用 L S Iの面積が増大し、 動画像処理専用 L S Iのコストが増大する。
また、一つの動画像処理専用 L S Iでの複数の符号化方式へ対応するために、 各専用ハードウヱァを複数の符号化方式に対応させて作りこむことが考えられ る。 そのような技術の一つとして、 文献 1 (日本国特開 2002— 14180 7号公報) は、 2つの符号化方式に対応する可変長符号復号回路の技術を開示 する。
第 7図は、 文献 1に記載された従来の可変長符号復号回路 300を示す。 可 変長符号復号回路 300は、 バレルシフタ 301及びバレルシフタ制御器 30 2と、 DVフォーマツトと MPEGフォーマツトの AC係数の復号のための可 変長符号復号テーブル 303 aと、 レベル 0のランレングスを処理できるラン レングスデコーダと 304、 MP EGフォーマツト専用のエスケープ処理回路 303 bと、 各フォーマツト用の DC処理回路 303 cと、 両フォーマツトの EOB処理回路 303 dを備える。
DVフォーマツ ト、 もしくは MP EGフォーマツトのビッ トストリ一ムが入 力されると、 各々のフォーマッ トの処理回路によりランレングス及びレベルが 求められ、 ランレングスデコーダに与えられたランレングスの数だけ 0を出力 することで、 可変長符号が復号される。 し力 しながら、 文献 1では、 D Vと M P E G— 1もしくは M P E G— 2の 2 つの符号化方式しか対応できない。 また、 他の符号ィヒ方式に対応するには、 対 応する符号化方式に合わせて最初から回路を開発する必要があり、 開発工数が 増大する。 さらには、 可変長復号に必要なテーブルなどを、 D V用と M P E G — 1用もしくは M P E G— 2用と 2種類持つ必要があるため、 1つの符号化方 式のみに対応する場合に比べ、 回路規模が大きくなり、 動画像処理専用 L S I のコストが増加する。
そこで本発明は、 複数の符号ィ匕方式に容易に対応でき、 回路規模の増大を抑 えることができる可変長符号復号装置を提供することを目的とする。 発明の開示
第 1の発明に係る可変長復号装置は、 複数の符号化方式により符号化された 可変長符号を復号する復号段と、 可変長符号を入力するストリーム入力部と、 復号段とストリーム入力部とを仲介するインターフェイスとを備え、 ストリー ム入力部とインターフヱイスとは、 複数の符号ィ匕方式について共用される。 この構成において、 ストリーム入力部とインターフェイスとが、 複数の符号 化方式において共用されるため、 符号化方式毎にストリーム入力部を設ける場 合に比べ、 回路規模を削減できる。
第 2の発明に係る可変長復号装置では、 第 1の発明に加え、 復号段は、 複数 の符号化方式のそれぞれにより符号化された可変長符号を復号できるように再 構成可能な論理回路により構成される。
この構成により、 復号段は、 例えば単一の再構成可能な論理回路とすること もできる。 したがって、 一層、 回路規模を削減できる。
第 3の発明に係る可変長復号装置では、 第 1の発明に加え、 復号段は、 複数 の符号化方式のそれぞれにより符号化された可変長符号を復号する複数の復号 器から構成される。
この構成によれば、 再構成に要するオーバーヘッドなしに、 複数の専用復号 器により複数の符号化方式に対応できる。
第 4の発明に係る可変長復号装置では、 第 3の発明に加え、 インターフェイ スは、 符号化方式を指示する方式信号にしたがって、 複数の復号器のうちのい ずれかの復号器を選択し、 ストリーム入力部に接続する復号器セレクタを備え る。
第 5の発明に係る可変長復号装置では、 第 4の発明に加え、 複数の復号器の うち、 復号器セレクタにより選択されない復号器の消費電力を抑制する。
これらの構成により、 選択されない復号器による消費電力を抑制して、 携帯 端末などに実装しゃすくすることができる。
第 6の発明に係る可変長復号装置では、 第 1の発明に加え、 ストリーム入力 部は、 ストリームの開始コードを検出するコード検出器を備える。
この構成により、 可変長復号装置の前段において、 開始コードが取り除かれ ていなくても、 支障なく可変長符号を復号できる。 また、 開始コードを検出す るコード検出器も複数の符号ィ匕方式において共用できるから、 回路規模の増加 を一層抑制できる。
第 7の発明に係る可変長復号装置では、 第 1の発明に加え、 ストリーム入力 部は、 ストリームの一部を構成するレジスタデータを保持するシフトレジスタ と、 レジスタデータから一定ビット幅のストリームデータをィンターフェイス へ転送するデータセレクタと、 ストリームデータの位置を定めるストリームポ インタを制御するポィンタ制御部とを備え、 インターフェイスは、 ストリーム データを保持し復号段へ転送するストリームデータバスと、 復号を中断すべき か否かを示すストリーム有効信号を保持し復号段へ転送するストリーム有効信 号線と、 復号を開始すべきか否かを示す復号開始信号を保持し復号段へ転送す る復号開始信号線とを備える。
この構成により、 シフトレジスタのレジスタデータが一定ビット幅のストリ ームデータに分けられ、 復号段へ転送される。 ストリームポインタを制御し、 ストリームデータを順次復号段へ供給でき、効率よく可変長符号を復号できる。 また、 ストリーム有効信号により復号段へ復号を中断すべきか否かを指示でき るし、 復号開始信号により復号段へ復号を開始すべきことを指示できる。 第 8の発明に係る可変長復号装置では、 第 7の発明に加え、 復号段は、 復号 が完了すると符号長をストリーム入力部へ通知し、 ボインタ制御部は、 通知さ れた符号長に基づいてストリームポインタが定めるストリームデータの位置を 移動する。
この構成により、 復号を完成するまで不明な符号長を復号段からストリーム 入力部へ通知することにより、 ストリームポインタが定めるストリームデータ の位置を常に適切に制御できる。 即ち、 ストリーム入力部と復号段において、 ハンドシェイクプロトコルを確立することができ、 復号段によるレイテンシの 差を容易に吸収できる。 図面の簡単な説明
第 1図は、 本発明の実施の形態 1における可変長符号復号装置のプロック図で ある。
第 2図は、 本発明の実施の形態 1におけるストリーム入力部のプロック図であ る。
第 3図は、 本発明の実施の形態 1における可変長符号復号装置のタイミングチ ヤートである。
第 4図は、 本発明の実施の形態 1における可変長符号復号装置のタイミングチ ヤートである。
第 5図は、 本発明の実施の形態 1における可変長符号復号装置のタイミングチ ヤートである。
第 6図は、 本発明の実施の形態 2における可変長符号復号装置のプロック図で ある。
第 7図は、 従来の可変長復号器のプロック図である。 発明を実施するための最良の形態
以下、 図面を参照しながら、 本発明の実施の形態を説明する。
(実施の形態 1 )
第 1図は、 本発明の実施の形態 1における可変長復号装置のプロック図であ る。
本形態の可変長復号装置は、 次に述べるように、 複数の符号化方式により符 号化された可変長符号を復号する復号段 1 0 0と、 可変長符号を入力するスト リーム入力部 1 0と、 復号段 1 0 0とストリーム入力部 1 0とを仲介するイン ターフェイス 3 0とを備え、 ストリーム入力 ¾5 1 0とインターフェイス 3 0と は、 複数の符号化方式について共用される。
第 1図に示すように、 本形態の可変長復号装置 1は、 ストリーム入力端子 2 と方式信号入力端子 3と復号データ出力端子 4とを備える。
ストリーム入力端子 2は、可変長符号化されたビッ トストリームを入力する。 可変長復号装置 1は、 複数の符号化方式により符号化されたビットストリーム を復号できるが、 現在復号すべきビットストリームに関する符号化方式は、 方 式信号入力端子 3に入力される方式信号により特定される。
ストリーム入力端子 2から入力されるビットストリームは、 ストリーム入力 部 1 0のシフトレジスタ 1 1に一定量 (本例では、 9 6ビット) ずつ転送され る。
方式信号入力端子 3から入力される方式信号は、 第 1、 第 2の復号器セレク タ 3 4、 6 0及び第 1、 第 2のマスク素子 3 5、 3 6の一方の入力端子に入力 される。
復号デ一タ出力端子 4は、 可変長復号装置 1の出力データである復号デ一タ を外部 (本例は、 M P E G規格の可変長復号装置であるから、 通常、 逆量子化 器 (図示せず) ) へ出力する。
可変長復号装置 1の内部要素は、 ストリーム入力部 1 0と、 第 1の復号器 4 0及び第 2の復号器 5 0とを有する復号段 1 0 0と、 ストリーム入力部 1 0と 復号段 1 0 0との間に介装されるインターフェイス 3 0と、 第 2の復号器セレ クタ 6 0とに分けることができる。
本例のス トリーム入力部 1 0は、 第 2図に示しているように、 次の要素を備 える。
シフトレジスタ 1 1は、 上述したように、 ビットストリームの部分データを 最大 9 6ビット保存する。 本形態では、 シフトレジスタ 1 1に保存されるデー タをレジスタテータ s t r m― r e gとレヽう。
制御部 1 2は、可変長復号装置 1の復号プロセスを制御する。制御部 1 2は、 ポィンタ制御部 1 3を含み、 ポィンタ制御部 1 3は、 データセレクタ 1 4にス トリ一ムポィンタ s t r m__ p t rを指示する。
データセレクタ 1 4は、 ボインタ制御部 1 3からストリームポインタ s t r m_ p t rを入力すると、 ストリ一ムポィンタ s t r m— p t rにより指され た末端位置から一定量 (本例では、 3 2ビッ ト) のストリームデータ s t r m _ d a t aを取り出してストリームデータバス 3 1へ転送する。 ストリームポ ィンタ s t r m_ p t rが旨示するストリームデータ s t r m_ d a t aの末 端位置は、 理論的には、 9 5ビット〜 0ビットの範囲で変更され得る。
しかしながら、 本例では後述するように、 この末端位置がデータセレクタ 1 4が出力するストリームデータ s t r m_ d a t aのデータ幅である、 3 2ビ ット未満にならないようにポィンタ制御部 1 3はストリ一ムポィンタ s t r m _ p t rを制御する。
これは、 末端位置が 3 2ビット未満になると、 ストリームデータバス 3 1へ 転送されるストリームデータ s t r m_ d a t aの少なくとも一部に、 意味の ないデータが含まれ、不測の事態が発生するおそれがあるためである。因みに、 末端位置が 3 2ビット未満になったときには、 ビットス トリームの新たな部分 データをシフトレジスタ 1 1に補充的に転送させることとしている。
ストリームポインタ s t r m_ p t rが指す末端位置が、 最大値である 9 5 ビットから 0ビット方向へ戻るにつれて、 ストリームデータバス 3 1に転送さ れるストリームデータ s t r m— d a t aの内容が変化する。 なお以下説明を 簡単にするために、 ストリームポィンタ s t r m— p t rは最大値 9 5ビット から基本的に一定の差分値 (本例では、 8ビット) ずつ 0ビット方向に向けて 減ってゆくものとする。 し力 しながら、 これは説明の便宜のためであり、 この 差分値は、後述する符号長信号 s t r m_l e nが示す符号長の値に他ならず、 実際には、 復号が完成した際の符号長信号 s t r m_l e nが示す符号長の値 (可変値) と共に変化する。 本発明は、 このように、 差分値が変化する場合に も同様に適用できる。
制御部 1 2は、 ィンターフェイス 30のストリーム有効信号線 32にビット ストリーム有効指示信号 s t rm— e nを出力し、 インターフェイス 3 0の復 号開始信号線 3 3に復号開始指示信号 d e c_s t a r tを出力する。
ビッ トストリーム有効指示信号 s t r m— e nは、 復号を中断すべきか否か を示し、 復号開始指示信号 d e c_s t a r tは、 復号を開始して良いか否か を示す。
制御部 1 2は、 第 1の復号セレクタ 34から符号長信号 s t r m— 1 e n、 復号完了通知信号 d e c— e n d及ぴ供給停止信号 s t r m— s t o pを入力 する。 符号長信号 s t r m— 1 e nについて 3は、 上述の通りである。
復号完了通知信号 d e c— e n dは、 ストリームデータ s t r m— d a t a に関する処理が終了し、 今回の可変長符号化データの復号が完了して、 符号長 信号 s t r m— 1 e nを特定できる状態になったとき、 復号を担当する復号器 がその状態になったことを制御部 1 2に通知する信号である。
供給停止信号 s t r m一 s t o pは、 ストリームデータ s t r m— d a t a に関する処理が完了する都度、 復号を担当する復号器が制御部 1 2に処理の完 了を通知する信号である。
伹し、 供給停止信号 s t r m— s t o pは、 今回の可変長符号化データの復 号が未完了である場合であっても制御部 1 2に通知される点が復号完了通知信 号 d e c_ e n dとは異なる。 さらに本例のス ト リーム入力部 1 0は、 次の要素を備える。 但し、 これらの 要素は、 ビットストリームの特定コード (本例では、 ,, 0 x 0 0 0 0 0 1 " と いう開始コード) を操作する必要がない場合 (例えば、 ス トリーム入力端子 2 の前段に設けられる図示されない要素によって開始コードが予め取り除かれて いる場合等) には、 必要に応じて省略できる。
コードレジスタ 1 5は、 開始コードを保持し、 コード検出器 1 6の一方の入 力端子へ開始コードを入力する。 コード検出器 1 6は、 シフトレジスタ 1 1の 先頭 2 4ビットの値を他方の入力端子から入力し、 この値をコードレジスタ 1 5から入力される開始コードと比較する。 コード検出器 1 6は、 両者が一致す るとき、開始コードを発見した旨を通知する検出信号を制御部 1 2へ出力する。 制御部 1 2は、 この検出信号を入力すると、 ポインタ制御部 1 3が出力する ストリ一ムポィンタ s t r m_ p t rを 2 4ビットだけ 0ビット方向へ戻し、 その結果、 ビットストリームの開始コードの次のビットから 3 2ビット分のデ 一タがストリームデータ s t r m— d a t aとしてストリームデータバス 3 1 へ転送され、 復号プロセスが開始する。 なお以下説明を簡単にするために、 開 始コードが発見されると、 開始コード分 (本例では、 2 4ビット) だけシフト レジスタ 1 1にビットストリームの一部のデータが補充され、 ストリームポィ ンタ s t r m_ p t rは最大値である 9 5ビットからスタートするものとする ( なお、 コードレジスタ 1 5が保持する特定コ一ドを制御部 1 2が外部から入 力する設定信号により変更できるようにしても良いし、 特定コードを可変長符 号化データの実体の一部として誤って復号してしまったような場合、 ポインタ 制御部 1 3がストリ一ムポィンタ s t r m— p t rを適宜操作して、 本来の正 しい復号プロセスが実行されるように修正することもできる。
第 1図に示すように、インターフェイス 3 0は、ストリームデータバス 3 1、 ストリーム有効信号線 3 2、 復号開始信号線 3 3の他に、 次の要素を備える。 第 1の復号セレクタ 3 4は、
第 1の復号器 4 0からの供給停止信号 s t r m s t o , 復号完了通知信号 d e c一 e n d、 符号長信号 s t r m― 1 e nと、
第 2の復号器 5 0カゝらの供給停止信号 s t r m— s t 0 p、 復号完了通知信号 d e c— e n d、 符号長信号 s t r m— 1 e nと、 供給停止信号 s t r m— s t o pと
を、 方式信号にしたがって択一的に選択し、 制御部 1 2へ転送する。 また、 第 1のマスク素子 3 5と第 2のマスク素子 3 6は、 復号開始指示信号 d e c _ s t a r tと方式信号との論理積を求める。 第 1のマスク素子 3 5と第 2のマス ク素子 3 6は、 第 1の復号器 4 0又は第 2の復号器 5 0の一方を、 方式信号に したがって択一的に選択し、 選択された復号器にストリームデータバス 3 1か ら転送されるストリームデータ s t r m_ d a t aを復号させる。 第 1のマス ク素子 3 5と第 2のマスク素子 3 6とは、 論理的に反転している。
第 1の復号器 4 0と第 2の復号器 5 0とは、 実施の形態 1における復号段 1 0 0を構成し、 互いに異なる符号ィヒ方式に対応する専用の復号器である。 本例 では、 第 1の復号器 4 0は、 第 1のテーブル 4 1を備え、 M P E G— 4 S i m p 1 e P r o f i 1 e方式による可変長符号ィ匕データを復号し、 第 2の復 号器セレクタ 6 0の一方の端子へ復号データを出力する。なお Iノ O部 4 2は、 インターフェイス 3 0との間で信号を入出力する。
第 2の復号器 5 0は、 第 2のテーブル 5 1を備え、 M P E G— 4 AV C方 式による可変長符号化データを復号し、 第 2の復号器セレクタ 6 0の他方の端 子へ復号デ一タを出力する。 なお I /O部 5 2は、 インターフェイス 3 0との 間で信号を入出力する。
第 2の復号器セレクタ 6 0は、 方式信号にしたがい、 第 1の復号器 4 0又は 第 2の復号器 5 0の一方から出力される復号データを、 復号データ出力端子 4 を介して可変長復号装置 1の外部へ出力する。
ここで、 方式信号により選択されない復号器については、 クロックを停止さ せる、 あるいは給電しない等、 事実上停止させることが望ましい。 消費電力を 節約できるからである。 また、 復号器は、 第 1図に示すように、 2種類に限ら れず、 3種以上の可変長符号化方式に対応ずるようにしても良い。
次に、 第 3図を参照しながら、 可変長復号装置 1の動作を説明する。 なお、 方式信号が、 第 1の復号器 40と第 2の復号器 50とのいずれの復号器を選択 しても、 選択動作を除き、 可変長復号装置 1の動作は同様である。
「データセレクタ 1 4がストリームデータ s t rm— d a t aを 1回だけス トリームデータバス 3 1に転送すると、 1単位の復号が完了する場合」 ここでは、 第 3図 (a) に示されるレジスタデータ s t r m_r e gがシフ トレジスタ 1 1に転送されるものとする。 第 2図に基づいて上述したように、 コード検出器 1 6がコードレジスタ 1 5との比較を行い、 先頭の開始コード" 0 x 00 0 00 1" を検出し、 シフトレジスタ 1 1に 24ビット分のデータが 補充される。
ポィンタ制御部 1 3は、 ス トリ一ムポィンタ s t r m_p t rをシフトレジ スタ 1 1の最大値である 9 5ビットにセットし、 データセレクタ 1 4が、 スト リームポインタ s t rm— p t rにより指示される末端位置から 3 2ビット分 のス トリームデータ s t r m_d a t a (d a t a 1) をストリームデータバ ス 3 1へ転送する。
第 3図 (d) に示すように、 制御部 1 2は、 現在のストリームポインタ s t r m— p t rが 3 2ビッ ト以上を指しているから、 ビットストリーム有効指示 信号 s t r m_e nを" e n a b l e" とし、 第 3図 (e) に示すように、 制 御部 1 2は、 時刻 t 1〜 t 2において、 復号開始指示信号 d e c_s t a r t を" s t a r t" とする。
なお、 このとき、 第 1の復号器 40は、 何も復号していないから、 第 1の復 号器 40は、 第 3図 (g) に示すように、 符号長信号 s t rm— 1 e nが示す 符号長の値を" 0" とし、 第 3図 (f ) に示すように、 供給停止信号 s t rm —s t o pを" n o t s t o p" とする。 さらに、 第 3図 (h) に示すよう に、 復号完了通知信号 d e c— e n dは、 " n 0 t e n d" の状態にある。 第 1の復号器 40は、時亥 U t 1からス トリームデータ s t rm d a t a (d a t a 1) の復号を開始し、 第 1の復号器 40は、 B寺刻 t 3にてストリームデ ータ s t r m_d a t a (d a t a l) のみにより 1単位の復号を完了するも のとする。 すると、 この一単位の符号長が初めて判明する (この符号長は、 ス トリームデータ s t r m_d a t aにより変化するものであるが、 上述したよ うに説明を簡単にするために、 本例では符号長は常に 8ビットであるものとす る。 ) 。
したがって、 第 1の復号器 40は、 時刻 t 3〜 t 4において、 供給停止信号 s t r m― s t o pを s t o p とし、 号 5¾了通失口 1目"^ d e c― e n dを" e n d"とし、符号長信号 s t r m_l e nが示す符号長の値を" 8"とする。 これらの信号は、 第 1の復号セレクタ 34を介して制御部 1 2へ通知される。 また、 第 1の復号器 40は、 時刻 t 4において、 供給停止信号 s t r m— s t o pを" n o t s t o p" に戻し、 符号長信号 s t r m_ 1 e nが示す符 号長の値を" 0" に、 復号完了通知信号 d e c— e n dを" n o t e n d" に、 それぞれ戻す。
時刻 t 3において、 これらの信号を受信する制御部 1 2は、 ポインタ制御部 1 3を用いて受信した符号長信号 s t r m— 1 e n (本例では、 8ビット) だ けストリ一ムポィンタ s t r m— p t rを 0ビッ ト方向へ戻す。 その結果、 ス トリームポインタ s t r m— p t rは、 (9 5— 8=) 8 7ビットを指すこと になる。 次に、 d a t a 2について、 上述と同様の処理が実施される。
「データセレクタ 1 4がストリームデータ s t r m_d a t aを 1回、 スト リームデータバス 3 1に転送しても、 1単位の復号が完了しない場合」 第 4図を参照しながら、 データセレクタ 1 4がストリームデータ s t r m— d a t aを 1回だけス トリームデータバス 3 1に転送しても、 1単位の復号が 完了せず、 データセレクタ 1 4が複数回 (本例では、 2回) ストリームデータ s t r m_d a t aを転送する場合について説明する。
第 4図において、 時亥 Ij t 1 1、 t 1 2までは、 第 3図と同様である。
但し、 時刻 t 1 3において、 第 1の復号器 40がストリームデータ s t r m — d a t a (d a t a l) の処理を完了しても、 1単位の復号が完了しない場 合、 供給停止信号 s t r m— s t o p、 符号長信号 s t r m— 1 e nは第 3図 と同様である。 し力 し、 第 4図 (h) に示すように、 第 1の復号器 40は、 復 号完了通知信号 d e c_e n dを" n o t e n d" のままとする。
これにより、 時刻 t 1 3以降に、 次のストリームデータ s t r m_d a t a (d a t a 2) が第 1の復号器 4◦に転送され、 第 1の復号器 40は、 ストリ ームデータ s t r m_d a t a (d a t a 2) の処理を引き続いて実行する。 その結果、 1単位の復号が完了し、 符号長を特定できる状態になると、 第 1の 復号器 40は、 時刻 t 1 5〜 t 1 6において、 第 3図の時刻 t 4〜 t 5と同様 の処理を行う。
なお本例では、 時刻 t l 3〜t l 4、 t l 5〜t l 6において、 符号長信号 s t r m— 1 e nが 8ビットを示すが、 これは誤りではない。 理由は次の通り である。即ち、ストリームポインタ s t r m— p t rは、時亥【J t 1 3において、 ス トリームデータ s t r m_d a t a (d a t a l) により暫定的に判明した 符号長 1 e n 1 (本例では、 8ビット) 分だけ 0ビット方向へ移動し、 さらに 日寺刻 t 1 5において、 ストリームデータ s t r m_d a t a (d a t a 2) に より判明した符号長 1 e n 2 (本例では、 8ビット) だけ移動する。 結局、 時 亥 U t 1 5において、 ストリ一ムポィンタ s t r m— p t ,rは、 d a t a lの復 号が開始される時の位置から、 符号長の和 (本例では、 1 e n l + 1 e n 2 = 1 6ビット) だけ移動した位置を正しく指すからである。
次に、 第 5図を参照しながら、 ストリームポインタ s t r m_p t rがスト リームデータ s t r m_d a t aのビット幅 (本例では、 3 2ビット) 未満と なり、 ビットストリームの後続する部分のデータがシフトレジスタ 1 1に補充 される場合における、 可変長復号装置 1の動作を説明する。
既に、 第 3図、 第 4図を参照して説明したように、 復号が進むと、 ストリー ムポィンタ s t r m_p t rは 0ビット方向へ戻り、 ついには、 ストリームデ ータ s t rm d a t aのビット幅未満となる。 第 5図の例では、 時刻 t 31〜 t 33までは、 ストリ一ムポィンタ s t r m — p t rは 35ビットを指しており、 ストリームデータ s t r m_d a t aの データ幅以上である。
時刻 t 33において、 第 1の復号器 40が符号長信号 s t r m— 1 e n (8 ビット) を出力すると、 ストリームポインタ s t r m_p t rは、 (35— 8 = 27) く 32を指すことになる。
このとき、第 5図 (b) に示すように、制御部 12は、時刻 t 34において、 ストリームデータ s t r m_d a t aに不測のデータが含まれる事態を避ける ため、 ビットストリーム有効キ旨示信号 s t r m . e nを d i s e n a b l e" にする。
その結果、 時刻 t 32以降において、 第 1の復号器 40が復号処理を行って いる場合、 第 1の復号器 40は、 時刻 t 34から復号処理を中断する。
第 5図の例では、 時刻 t 34以降、 シフトレジスタ 1 1にビットストリーム から 32ビットのデータが補充され、 時刻 t 35において、 制御部 1 2は、 ビ ットストリーム有効指示信号 s t r m— e nを" e n a b 1 e " に戻す。 その 結果、時刻 t 35において、復号処理の中断が解消され、第 1の復号器 40は、 時亥 U t 36にて、 1単位の復号処理を完了する。 以後は、 上述の動作と同様で ある。
本形態によれば、 ストリーム入力部 10及びインターフェイス 30を複数の 符号ィ匕方式において共用しているから、 面積の増加が抑えられる。 また、 符号 長を復号段 100から制御部 1 2へ送信しているから、 異なる符号化方式の復 号器も容易に接続できる。
本実施の形態において、 符号化方式を 「MPEG— 4 S i mp l e P r o f i 1 e」 力 「MPEG— 4AVC」 の 2種類としている力 他の符号化方式 の可変長符号復号部を設け、 インタフェース 30に接続すれば他の符号化方式 にも対応できる。
なお、 以上述べた、 96ビット、 32ビット、 8ビットなどの数値は、 例示 に過ぎないのであって、 種々変更できることはいうまでもない。 また、 ストリ ームポインタ s t r m— p t rは、 ストリームデータ s t r m_ d a t aを昇 順で制御するが、 降順で制御しても良レ、。
(実施の形態 2 )
以下、 実施の形態 1 との相違点のみを説明する。 実施の形態 1では、 複数の 符号化方式毎に、 専用の復号器 4 0、 5 0を設けている。
実施の形態 2では、 これにかえて、 I /O部 8 1を有する再構成可能復号器 8 0を設けて、 復号段 2 0 0を構成する。
再構成可能復号器 8 0の全てを再構成可能な論理回路で構成することもでき るが、 例えば、 復号パラメータを保持するテーブルのみを再構成可能な論理回 路とすることもできる。 いずれにしても、 再構成可能復号器 8 0により複数の 符号化方式に対応する復号処理を実現できれば十分である。
第 6図を、 第 1図と比べれば明らかなように、 インターフェイス 7 0は、 ス トリームデータバス 7 1、 ストリーム有効信号線 7 2、 復号開始信号線 7 3を 備えればよく、 第 1の復号セレクタ 3 4、 第 1のマスク素子 3 5、 第 2のマス ク素子 3 6等は、 省略できる。 また、 再構成可能復号器 8 0と復号データ出力 端子 4との間に、 第 2の復号器セレクタ 6 0を設ける必要はない。
よって、 実施の形態 2では、 実施の形態 1よりもさらに回路規模を削減でき る。 勿論、 第 1図において、 第 1の復号器 4 0のかわりに再構成可能復号器 8 0を設け、 第 2の復号器 5 0を除いた構成とすることもできる。
本発明の可変長符号復号装置によれば、 複数の符号化方式への対応が求めら れる可変長符号復号装置において、復号段がストリーム入力部を共有するので、 面積の増加を抑えることができる。 また、 復号段とストリーム入力部の間を符 号化方式において共通のインタフェースで接続するので、 復号段の接続が容易 であり、 さらに、 符号ィヒ方式の他の組み合わせへにも容易に対応できる。 産業上の利用可能性 本発明に係る可変長符号復号装置は、 例えば、 動画像処理を行うシステム L S Iであって複数の符号ィヒ方式に対応が必要なもの等あるいはその応用技術分 野に好適に利用できる。

Claims

請 求 の 範 囲
1 . 複数の符号化方式により符号化された可変長符号を復号する復号段と、 前記可変長符号を入力するス トリーム入力部と、
前記復号段と前記ストリーム入力部とを仲介するインターフェイスとを備え、 前記ストリーム入力部と前記インターフェイスとは、 前記複数の符号化方式 について共用される可変長復号装置。
2 . 前記復号段は、 前記複数の符号化方式のそれぞれにより符号化された可 変長符号を復号できるように再構成可能な論理回路により構成される請求の範 囲第 1項記載の可変長復号装置。
3 . 前記復号段は、 前記複数の符号化方式のそれぞれにより符号化された可 変長符号を復号する複数の復号器から構成される請求の範囲第 1項記載の可変 長復号装置。
4 .前記インターフェイスは、符号ィヒ方式を指示する方式信号にしたがって、 前記複数の復号器のうちのいずれか復号器を選択し、 前記ストリーム入力部に 接続する復号器セレクタを備える請求の範囲第 3項記載の可変長復号装置。
5 . 前記複数の復号器のうち、 前記復号器セレクタにより選択されない復号 器の消費電力を抑制する請求の範囲第 4項記載の可変長復号装置。
6 . 前記ストリーム入力部は、 ストリームの開始コードを検出するコード検 出器を備える請求の範囲第 1項記載の可変長復号装置。
7 . 前記ストリーム入力部は、 ストリームの一部を構成するレジスタデータ を保持するシフトレジスタと、
前記レジスタデータから一定ビット幅のストリームデータを前記インターフ ェイスへ転送するデータセレクタと、
前記ストリームデータの位置を定めるストリームポインタを制御するポイン タ制御部とを備え、
前記インターフェイスは、 前記ストリームデータを保持し前記復号段へ転送 するストリームデータバスと、
復号を中断すべきか否かを示すストリーム有効信号を保持し前記復号段へ転 送するストリーム有効信号線と、
復号を開始すべきか否かを示す復号開始信号を保持し前記復号段へ転送する 復号開始信号線とを備える請求の範囲第 1項記載の可変長復号装置。
8 . 前記復号段は、 復号が完了すると符号長を前記ストリーム入力部へ通知 し、
前記ポィンタ制御部は、 通知された符号長に基づいてストリームポィンタが 定める前記ストリームデータの位置を移動する請求の範囲第 7項記載の可変長 復号装置。
PCT/JP2005/004863 2004-03-12 2005-03-11 可変長符号復号装置 WO2005088840A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006511070A JP4516068B2 (ja) 2004-03-12 2005-03-11 可変長符号復号装置
US10/582,611 US7683807B2 (en) 2004-03-12 2005-03-11 Variable-length-code decoding device
EP20050721050 EP1724931A1 (en) 2004-03-12 2005-03-11 Variable-length code decoding device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004070417 2004-03-12
JP2004-070417 2004-03-12

Publications (1)

Publication Number Publication Date
WO2005088840A1 true WO2005088840A1 (ja) 2005-09-22

Family

ID=34975932

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/004863 WO2005088840A1 (ja) 2004-03-12 2005-03-11 可変長符号復号装置

Country Status (4)

Country Link
US (1) US7683807B2 (ja)
EP (1) EP1724931A1 (ja)
JP (1) JP4516068B2 (ja)
WO (1) WO2005088840A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008120434A1 (ja) * 2007-03-28 2008-10-09 Panasonic Corporation 復号化回路、復号化方法、符号化回路及び符号化方法
JP2017157987A (ja) * 2016-03-01 2017-09-07 富士ゼロックス株式会社 データ処理装置およびプログラム
JP2020526095A (ja) * 2017-06-28 2020-08-27 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc Gpu並列ハフマン復号化

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8717289B2 (en) 2010-06-22 2014-05-06 Hsni Llc System and method for integrating an electronic pointing device into digital image data
CN112492386A (zh) * 2020-11-09 2021-03-12 Tcl华星光电技术有限公司 解码方法、解码装置及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233429A (ja) * 1996-02-13 1997-09-05 Samsung Electron Co Ltd ビデオデータデコーダ及びデコーディング方法
JP2000050263A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 画像符号化並びに復号化装置及びこれを用いた撮像装置
JP2000261324A (ja) * 1999-03-10 2000-09-22 Fuji Film Microdevices Co Ltd ハフマン復号化回路
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法
JP2002141807A (ja) * 2000-11-02 2002-05-17 Matsushita Electric Ind Co Ltd 可変長復号化器
JP2002516501A (ja) * 1998-05-18 2002-06-04 ソニー エレクトロニクス インク デジタル符号化されたビデオ信号を復号化する可変長デコーダ
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
JP2003347927A (ja) * 2002-05-27 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> 再構成可能なハードウェアにおけるデータ処理回路およびその方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990812A (en) * 1997-10-27 1999-11-23 Philips Electronics North America Corporation Universally programmable variable length decoder
US7035292B1 (en) * 2000-03-17 2006-04-25 Applied Micro Circuits Corporation Transposable frame synchronization structure

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233429A (ja) * 1996-02-13 1997-09-05 Samsung Electron Co Ltd ビデオデータデコーダ及びデコーディング方法
JP2002516501A (ja) * 1998-05-18 2002-06-04 ソニー エレクトロニクス インク デジタル符号化されたビデオ信号を復号化する可変長デコーダ
JP2000050263A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd 画像符号化並びに復号化装置及びこれを用いた撮像装置
JP2000261324A (ja) * 1999-03-10 2000-09-22 Fuji Film Microdevices Co Ltd ハフマン復号化回路
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法
JP2002141807A (ja) * 2000-11-02 2002-05-17 Matsushita Electric Ind Co Ltd 可変長復号化器
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
JP2003347927A (ja) * 2002-05-27 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> 再構成可能なハードウェアにおけるデータ処理回路およびその方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008120434A1 (ja) * 2007-03-28 2008-10-09 Panasonic Corporation 復号化回路、復号化方法、符号化回路及び符号化方法
US8249182B2 (en) 2007-03-28 2012-08-21 Panasonic Corporation Decoding circuit, decoding method, encoding circuit, and encoding method
JP2017157987A (ja) * 2016-03-01 2017-09-07 富士ゼロックス株式会社 データ処理装置およびプログラム
JP2020526095A (ja) * 2017-06-28 2020-08-27 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc Gpu並列ハフマン復号化
JP7441045B2 (ja) 2017-06-28 2024-02-29 エーティーアイ・テクノロジーズ・ユーエルシー Gpu並列ハフマン復号化

Also Published As

Publication number Publication date
EP1724931A1 (en) 2006-11-22
JP4516068B2 (ja) 2010-08-04
US7683807B2 (en) 2010-03-23
JPWO2005088840A1 (ja) 2008-01-31
US20090051573A1 (en) 2009-02-26

Similar Documents

Publication Publication Date Title
KR100418437B1 (ko) 멀티미디어 신호처리를 위한 영상복원 프로세서
US7595743B1 (en) System and method for reducing storage requirements for content adaptive binary arithmetic coding
JP3884914B2 (ja) 半導体装置
US5675331A (en) Decoding device for decoding a variety of code signals
TW201419869A (zh) 可適應媒體處理架構
WO2005088840A1 (ja) 可変長符号復号装置
JP3558840B2 (ja) 信号処理システム内のビットストリーム信号形式検出装置及び方法
CN101383954A (zh) 一种支持多种音视频标准的媒体处理芯片的实现方法
US6285789B1 (en) Variable length code decoder for MPEG
US20120243619A1 (en) Apparatus processing video stream
Iwata et al. A 256 mW 40 Mbps full-HD H. 264 high-profile codec featuring a dual-macroblock pipeline architecture in 65 nm CMOS
US20050080784A1 (en) Data processing system
US8228214B2 (en) Variable-length code decoding apparatus and method
CN101873499B (zh) 用于改进的多媒体解码器的方法和设备
Iwata et al. A 256mW Full-HD H. 264 high-profile CODEC featuring dual macroblock-pipeline architecture in 65nm CMOS
US7689808B2 (en) Data processor and data process method
JP2000307661A (ja) 符号化装置および復号化装置
WO2010125616A1 (ja) 符号化ストリーム復号装置
JP2007295157A (ja) データ符号化装置、データ符号化方法、データ符号化プログラム及びデータ符号化プログラムを記録した情報記録媒体
Kimura et al. A full HD multistandard video codec for mobile applications
CN102201815B (zh) 高运算频率的二进制运算解码装置
Rudberg et al. Implementation of a fast MPEG-2 compliant Huffman decoder
JP4615317B2 (ja) 符号化装置
US6359315B1 (en) Circuits for controlling a bidirectional terminal and systems using the same
JP2008124600A (ja) 可変長復号装置および再生端末

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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

Ref document number: 2005721050

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006511070

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 2005721050

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10582611

Country of ref document: US