JP4336678B2 - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
JP4336678B2
JP4336678B2 JP2005508785A JP2005508785A JP4336678B2 JP 4336678 B2 JP4336678 B2 JP 4336678B2 JP 2005508785 A JP2005508785 A JP 2005508785A JP 2005508785 A JP2005508785 A JP 2005508785A JP 4336678 B2 JP4336678 B2 JP 4336678B2
Authority
JP
Japan
Prior art keywords
data
buffer
semiconductor device
bit
bit string
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.)
Expired - Lifetime
Application number
JP2005508785A
Other languages
Japanese (ja)
Other versions
JPWO2005024636A1 (en
Inventor
修 毛利
孝行 相崎
伸尋 関
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.)
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi ULSI Systems 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 Hitachi ULSI Systems Co Ltd filed Critical Hitachi ULSI Systems Co Ltd
Publication of JPWO2005024636A1 publication Critical patent/JPWO2005024636A1/en
Application granted granted Critical
Publication of JP4336678B2 publication Critical patent/JP4336678B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Description

本発明は、半導体装置に関し、特に、画像圧縮・伸張に適用して有効な技術に関するものである。  The present invention relates to a semiconductor device, and more particularly to a technique effective when applied to image compression / decompression.

本発明者が検討した技術として、例えば、MPEG(Moving Picture Experts Group)画像圧縮・伸張においては、次の技術が考えられる。
ISO/IEC14496−2(MPEG4)、ISO/IEC13818−2(MPEG2)、ISO/IEC11172−2(MPEG1)などの動画圧縮規格では、デジタル化された画像をブロック分割してブロックごとに動きベクトル検出、離散コサイン変換(DCT;Discrete Cosine Transform)、量子化、AC/DC予測を実施し、ハフマン符号化して画像データを圧縮する。
また、圧縮データの伸張処理は、前記の圧縮と逆の手順、すなわち、ハフマン復号化、AC/DC予測、逆量子化、逆DCTおよび動きベクトル情報から補償画を生成することにより実現する。
As a technique studied by the present inventor, for example, the following technique is conceivable in MPEG (Moving Picture Experts Group) image compression / decompression.
In moving image compression standards such as ISO / IEC14496-2 (MPEG4), ISO / IEC13818-2 (MPEG2), and ISO / IEC11172-2 (MPEG1), motion vectors are detected for each block by dividing the digitized image into blocks. Discrete cosine transform (DCT), quantization, and AC / DC prediction are performed, and Huffman coding is performed to compress the image data.
Further, the decompression process of the compressed data is realized by generating a compensation image from a procedure reverse to the above-described compression, that is, Huffman decoding, AC / DC prediction, inverse quantization, inverse DCT, and motion vector information.

ところで、前記のような画像圧縮・伸張の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
MPEG圧縮ストリームデータの場合、ハフマン符号化された可変長ビット列データを扱わなければならない。画像伸張時には、画像圧縮データが格納されたメモリから可変長ビット列データを表示・取得し、画像圧縮時には、可変長ビット列データを前記メモリに書き込む処理が必要である。これらの処理をソフトウェアで行う場合、メモリの読み出し・書き込み時の固定長ビットデータにおいてビットポインタを管理し、バイト境界までのオフセット値を更新しながらメモリアクセス、可変長ビット列データの表示・取得・書き込みを行う必要がある。また、プロセッサのデータバス上の未取得・未書き込みの上位ビットについてマスク処理が必要となる。
上記の処理を汎用プロセッサで行うと、可変長ビット列データ1ワードの取得・書き込みを行うのに約10〜20サイクル必要となり、ワードごとにこれらの処理を行うため、システムのパフォーマンスが低下する。
そこで、本発明の目的は、画像圧縮・伸張などの可変長ビット列データ処理において、高速に処理することのできる半導体装置を提供するものである。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
すなわち、本発明による半導体装置は、圧縮データ格納メモリとプロセッサの間に、可変長ビット列データ操作のためのバッファおよび制御回路を設け、プロセッサに可変長ビット列データの表示・取得・書き込み命令を設けたものである。
可変長ビット列データ操作のためのバッファは、圧縮データ格納メモリのビット幅の2倍のビット容量を有することが好ましい。
また、プロセッサは、可変長ビット列データの表示・取得・書き込み命令として、可変長ビット列データを操作するための以下の命令を有する。
(1)可変長ビット列データ取得命令(画像伸張用命令)
(a)指定ビット数表示命令(ビットポインタの更新なし)
(b)指定ビット数取得命令(ビットポインタの更新あり)
(c)バイト境界までのビット数取得命令
(d)指定ビット数ビットポインタ更新命令
(e)バイト境界からの指定ビット数表示命令
(2)可変長ビット列データ書き込み命令(画像圧縮用命令)
(a)指定ビット数書き込み命令
(b)バイト境界まで「0」または「1」書き込み命令
(c)バイト境界までのビット数取得命令
以上の命令を実行することにより、可変長ビット列データの操作を1サイクルで行うことが可能となる。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
(1)画像圧縮・伸張で必要な可変長ビット列データの処理を1サイクルで実現できるため、システム性能の向上が図れる。
(2)小規模・低周波数動作のプロセッサ構成で、MPEGに代表される動画圧縮・伸張などの画像処理が実時間で処理可能となるため、例えばデジタルビデオカメラなどの低消費電力駆動の携帯型家電に実装可能な半導体装置で、従来に比べて画素密度の大きい画像処理機能を実現することが可能となる。
By the way, as a result of the study of the image compression / decompression technique as described above, the following has been clarified.
In the case of MPEG compressed stream data, Huffman-encoded variable length bit string data must be handled. At the time of image decompression, it is necessary to display / acquire variable-length bit string data from the memory storing the compressed image data, and at the time of image compression, a process of writing the variable-length bit string data to the memory is necessary. When these processes are performed by software, the bit pointer is managed in fixed-length bit data at the time of memory read / write, memory access while updating the offset value to the byte boundary, display / acquisition / write of variable-length bit string data Need to do. Further, it is necessary to mask the upper bits that have not been acquired / written on the data bus of the processor.
If the above-described processing is performed by a general-purpose processor, about 10 to 20 cycles are required to acquire and write one word of variable-length bit string data, and these processing is performed for each word, so that the system performance is deteriorated.
SUMMARY OF THE INVENTION An object of the present invention is to provide a semiconductor device capable of performing high-speed processing in variable-length bit string data processing such as image compression / decompression.
The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.
That is, in the semiconductor device according to the present invention, a buffer and a control circuit for variable length bit string data operation are provided between the compressed data storage memory and the processor, and a display / acquisition / write command for variable length bit string data is provided to the processor. Is.
The buffer for variable length bit string data manipulation preferably has a bit capacity twice as large as the bit width of the compressed data storage memory.
Further, the processor has the following instructions for manipulating the variable length bit string data as display / acquisition / write instructions of the variable length bit string data.
(1) Variable length bit string data acquisition command (image decompression command)
(A) Designated bit number display instruction (no bit pointer update)
(B) Specified bit number acquisition instruction (with bit pointer update)
(C) Bit number acquisition instruction to byte boundary (d) Designated bit number bit pointer update instruction (e) Designated bit number display instruction from byte boundary (2) Variable length bit string data write instruction (image compression instruction)
(A) Specified number of bits write instruction (b) “0” or “1” write instruction to byte boundary (c) Bit number acquisition instruction to byte boundary By executing the above instructions, variable length bit string data can be manipulated. This can be done in one cycle.
Of the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.
(1) Since variable length bit string data processing necessary for image compression / decompression can be realized in one cycle, system performance can be improved.
(2) A small-scale, low-frequency operation processor configuration enables image processing such as moving picture compression / decompression represented by MPEG to be performed in real time. With a semiconductor device that can be mounted on a home appliance, it is possible to realize an image processing function with a higher pixel density than in the past.

図1は本発明の一実施の形態の半導体装置の構成を示すブロック図である。
図2は本発明の一実施の形態の半導体装置において、可変長ビット列データの取得動作を示す説明図である。
図3は本発明の一実施の形態の半導体装置において、可変長ビット列データの書き込み動作を示す説明図である。
FIG. 1 is a block diagram showing a configuration of a semiconductor device according to an embodiment of the present invention.
FIG. 2 is an explanatory diagram showing the variable length bit string data acquisition operation in the semiconductor device according to the embodiment of the present invention.
FIG. 3 is an explanatory diagram showing a write operation of variable-length bit string data in the semiconductor device according to the embodiment of the present invention.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には同一の符号を付し、その繰り返しの説明は省略する。
まず、図1により、本発明の一実施の形態の半導体装置の構成の一例を説明する。図1は本発明の一実施の形態の半導体装置の構成を示すブロック図である。なお、以下においては、これに限定されるものではないが、32ビットバス構成の場合を例に説明する。
本実施の形態の半導体装置は、例えばMPEG画像圧縮・伸張システムとされ、圧縮データ格納メモリ10と、プロセッサ20と、可変長ビット列データ操作用のバッファ30と、制御回路40と、マスク回路50などから構成されている。また、プロセッサ20は、演算器21と、レジスタファイル22と、制御ユニット23などから構成されている。
圧縮データ格納メモリ10は、画像圧縮データストリームバス60に接続され、32ビットのバスを介してバッファ30と接続されている。バッファ30は、32ビットのバスを介してマスク回路50と接続され、信号線を介して制御回路40と接続されている。制御回路40は、専用命令バス70を介してプロセッサ20内の制御ユニット23と接続されている。マスク回路50は、32ビットの可変長データバス80を介してプロセッサ20内のレジスタファイル22と接続されている。
圧縮データ格納メモリ10は、nビット幅(nは自然数)のメモリであり、MPEG画像圧縮データなどを格納する。
プロセッサ20は、DSP(Digital Signal Processor)などの処理装置であり、MPEG画像圧縮・伸張のハフマン符号化・復号化などの処理を実行する。
プロセッサ20内の演算器21は、加算器、ALUなどの演算器である。また、レジスタファイル22は、例えば、32ビット幅のレジスタ8本からなり、演算器21が演算処理に使用する。制御ユニット23は、マイクロプログラム、プログラムデコーダ、プログラム制御回路などからなり、各種の命令を実行する。また、専用命令バス70を介して制御回路40に対して可変長ビット列データ操作のための命令を発信する。
バッファ30は、可変長ビット列データ操作用のバッファであり、例えば、圧縮データ格納メモリ10のビット幅nの2倍のビット容量のレジスタ1段で構成される。
制御回路40は、プロセッサ20内の制御ユニット23からの命令により、圧縮データ格納メモリ10の書き込み・読み出し、バッファ30内の可変長ビット列データの操作、マスク回路50内のマスク処理などの制御を行う回路である。
マスク回路50は、可変長ビット列データのマスク処理を行う回路であり、例えば、可変長ビット列データに対して指定ビット以外の部分に「0」データを埋め込む処理などを行う。
また、プロセッサ20は、可変長ビット列データの表示・取得・書き込み命令として、可変長ビット列データを操作するための以下の命令を有する。
(1)可変長ビット列データ取得命令(画像伸張用命令)
(a)指定ビット数表示命令(ビットポインタの更新なし)
(b)指定ビット数取得命令(ビットポインタの更新あり)
(c)バイト境界までのビット数取得命令
(d)指定ビット数ビットポインタ更新命令
(e)バイト境界からの指定ビット数表示命令
(2)可変長ビット列データ書き込み命令(画像圧縮用命令)
(a)指定ビット数書き込み命令
(b)バイト境界まで「0」または「1」書き込み命令
(c)バイト境界までのビット数取得命令
次に、図2により、本実施の形態の半導体装置における可変長ビット列データ取得時の動作を説明する。図2は、32ビットバス構成(圧縮データ格納メモリ10のビット幅nが32ビット)の場合の可変長ビット列データの取得動作を示す説明図である。
まず、圧縮データ格納メモリ10内にデータが存在する場合、制御回路40は、圧縮データ格納メモリ10から32ビットのデータを読み出し、バッファ30の上位ビット(ビット63〜ビット32)に書き込む。次に、圧縮データ格納メモリ10から次の32ビットのデータを読み出し、バッファ30の下位ビット(ビット31〜ビット0)に書き込む。
プロセッサ20内の制御ユニット23からの可変長ビット列データ取得命令に従い、制御回路40は、可変長データバス80を介してバッファ30内のデータをプロセッサ20内のレジスタファイル22へ出力する。この際、マスク回路50により可変長ビット列データに対して順次マスク処理を行い32ビットのデータとしてレジスタファイル22へ出力する。
バッファ30内のデータ残量が32ビット以下になったら、制御回路40は、バッファ30の下位ビット(ビット31〜ビット0)のデータを上位ビット(ビット63〜ビット32)に32ビットシフトし、圧縮データ格納メモリ10から次の32ビットのデータを読み出し、バッファ30の下位ビット(ビット31〜ビット0)に書き込む。
例えば、プロセッサ20からの可変長ビット列データ取得命令が8ビット取得命令の場合、図2に示すように、バッファ30内の8ビットのデータAをプロセッサ20内のレジスタファイル22へ出力する。この際、上位24ビットに「0」データを埋め込むなどのマスク処理を行い32ビットデータとしてレジスタファイル22へ出力する。
続いて、次の命令も8ビット取得命令の場合、同様にして、バッファ30内の8ビットのデータBをプロセッサ20内のレジスタファイル22へ出力する。この際、マスク処理を行い32ビットデータとしてレジスタファイル22へ出力する。
続いて、次の命令が32ビット取得命令の場合、バッファ30内の32ビットのデータCをプロセッサ20内のレジスタファイル22へ出力する。この際、バッファ30内のデータ残量が32ビット以下になったので、データDを32ビットシフトし、圧縮データ格納メモリ10から次の32ビットのデータ(データE)を読み出し、バッファ30の下位ビット(ビット31〜ビット0)に書き込む。
以上の動作を繰り返すことにより、1サイクルでの可変長ビット列データの取得が可能となる。
次に、図3により、本実施の形態の半導体装置における可変長ビット列データ書き込み時の動作を説明する。図3は、32ビットバス構成(圧縮データ格納メモリ10のビット幅nが32ビット)の場合の可変長ビット列データの書き込み動作を示す説明図である。
まず、プロセッサ20からの可変長ビット列データ書き込み命令に従い、制御回路40は、レジスタファイル22からの可変長ビット列データを順次、バッファ30の上位ビットに書き込む。
バッファ30内に32ビットのデータが格納されたら、制御回路40は、バッファ30内の上位32ビット(ビット63〜ビット32)のデータを圧縮データ格納メモリ10に書き込む。そして、バッファ30内の下位32ビット(ビット31〜ビット0)のデータを上位ビット側へ32ビットシフトする。
例えば、プロセッサ20からの可変長ビット列データ書き込み命令が8ビット書き込み命令の場合、図3に示すように、プロセッサ20内のレジスタファイル22からの32ビットデータ中の下位8ビットを、バッファ30の最上位ビットから順次データAとして書き込む。
続いて、次の命令も8ビット書き込み命令の場合、レジスタファイル22からの32ビットデータ中の下位8ビットをバッファ30内のデータAの次のビットからデータBとして書き込む。
続いて、次の命令が32ビット書き込み命令の場合、レジスタファイル22からの32ビットデータをバッファ30内のデータBの次のビットからデータCとして書き込む。
次に、バッファ30内に32ビットのデータが格納されたので、バッファ30の上位32ビット(ビット63〜ビット32)のデータ(データA、データB、データCの上位16ビット)を圧縮データ格納メモリ10に書き込む。そして、データCの下位16ビットデータを上位ビット側へ32ビットシフトする。
以上の動作を繰り返すことにより、1サイクルでの可変長ビット列データの書き込みが可能となる。
したがって、前記実施の形態の半導体装置によれば、MPEG動画圧縮・伸張で必要な可変長ビット列データ処理を1サイクルで実現できるため、システム性能の向上が図れる。
また、小規模・低周波数動作のプロセッサ構成で、MPEGに代表される動画圧縮・伸張などの画像処理が実時間で処理可能になるため、従来に比べて画素密度の大きい画像処理機能を、デジタルビデオカメラなどの低消費電力で駆動する携帯型家電に実装可能な半導体装置により実現することが可能となる。
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、前記実施の形態においては、MPEGの動画圧縮・伸張について説明したが、これに限定されるものではなく、JPEG(Joint Photographic Experts Group)など他の画像圧縮・伸張についても適用可能である。
以上の説明では、主として本発明者によってなされた発明をその属する技術分野である画像処理に適用した場合について説明したが、これに限定されるものではなく、例えば、その他の画像処理、音声処理を始めとするハフマン符号化・復号化などの可変長ビット列データを処理する電子機器全般に適用することも可能である。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that in all the drawings for explaining the embodiments, the same members are denoted by the same reference numerals, and the repeated explanation thereof is omitted.
First, an example of the configuration of a semiconductor device according to an embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram showing a configuration of a semiconductor device according to an embodiment of the present invention. In the following, although not limited to this, a case of a 32-bit bus configuration will be described as an example.
The semiconductor device of the present embodiment is, for example, an MPEG image compression / decompression system, and includes a compressed data storage memory 10, a processor 20, a variable length bit string data operation buffer 30, a control circuit 40, a mask circuit 50, and the like. It is composed of The processor 20 includes an arithmetic unit 21, a register file 22, a control unit 23, and the like.
The compressed data storage memory 10 is connected to an image compressed data stream bus 60 and is connected to the buffer 30 via a 32-bit bus. The buffer 30 is connected to the mask circuit 50 via a 32-bit bus, and is connected to the control circuit 40 via a signal line. The control circuit 40 is connected to the control unit 23 in the processor 20 via a dedicated instruction bus 70. The mask circuit 50 is connected to the register file 22 in the processor 20 via a 32-bit variable length data bus 80.
The compressed data storage memory 10 is a memory having an n-bit width (n is a natural number), and stores MPEG image compressed data and the like.
The processor 20 is a processing device such as a DSP (Digital Signal Processor), and executes processing such as MPEG image compression / decompression Huffman encoding / decoding.
The computing unit 21 in the processor 20 is a computing unit such as an adder or ALU. Further, the register file 22 is composed of, for example, eight 32-bit wide registers, and the arithmetic unit 21 uses them for arithmetic processing. The control unit 23 includes a microprogram, a program decoder, a program control circuit, and the like, and executes various instructions. In addition, a command for variable length bit string data operation is transmitted to the control circuit 40 via the dedicated command bus 70.
The buffer 30 is a buffer for manipulating variable-length bit string data, and is composed of, for example, one register having a bit capacity twice as large as the bit width n of the compressed data storage memory 10.
The control circuit 40 performs control of writing / reading of the compressed data storage memory 10, operation of variable length bit string data in the buffer 30, mask processing in the mask circuit 50, etc., according to instructions from the control unit 23 in the processor 20. Circuit.
The mask circuit 50 is a circuit that performs mask processing of variable-length bit string data. For example, the mask circuit 50 performs processing of embedding “0” data in a portion other than the designated bit for variable-length bit string data.
Further, the processor 20 has the following instructions for manipulating the variable-length bit string data as display / acquisition / write instructions for the variable-length bit string data.
(1) Variable length bit string data acquisition command (image decompression command)
(A) Designated bit number display instruction (no bit pointer update)
(B) Specified bit number acquisition instruction (with bit pointer update)
(C) Bit number acquisition instruction to byte boundary (d) Designated bit number bit pointer update instruction (e) Designated bit number display instruction from byte boundary (2) Variable length bit string data write instruction (image compression instruction)
(A) Designated bit number write instruction (b) “0” or “1” write instruction up to byte boundary (c) Bit number acquisition instruction up to byte boundary Next, referring to FIG. 2, the variable in the semiconductor device of the present embodiment The operation when acquiring long bit string data will be described. FIG. 2 is an explanatory diagram showing the variable length bit string data acquisition operation in the case of a 32-bit bus configuration (the bit width n of the compressed data storage memory 10 is 32 bits).
First, when data exists in the compressed data storage memory 10, the control circuit 40 reads 32-bit data from the compressed data storage memory 10 and writes it into the upper bits (bit 63 to bit 32) of the buffer 30. Next, the next 32-bit data is read from the compressed data storage memory 10 and written into the lower bits (bit 31 to bit 0) of the buffer 30.
In accordance with a variable length bit string data acquisition command from the control unit 23 in the processor 20, the control circuit 40 outputs the data in the buffer 30 to the register file 22 in the processor 20 via the variable length data bus 80. At this time, the mask circuit 50 sequentially performs mask processing on the variable-length bit string data and outputs it to the register file 22 as 32-bit data.
When the remaining amount of data in the buffer 30 becomes 32 bits or less, the control circuit 40 shifts the data of the lower bits (bit 31 to bit 0) of the buffer 30 to the upper bits (bit 63 to bit 32) by 32 bits, The next 32-bit data is read from the compressed data storage memory 10 and written to the lower bits (bit 31 to bit 0) of the buffer 30.
For example, when the variable length bit string data acquisition instruction from the processor 20 is an 8-bit acquisition instruction, the 8-bit data A in the buffer 30 is output to the register file 22 in the processor 20 as shown in FIG. At this time, mask processing such as embedding “0” data in the upper 24 bits is performed, and the data is output to the register file 22 as 32-bit data.
Subsequently, when the next instruction is also an 8-bit acquisition instruction, similarly, the 8-bit data B in the buffer 30 is output to the register file 22 in the processor 20. At this time, mask processing is performed and the data is output to the register file 22 as 32-bit data.
Subsequently, when the next instruction is a 32-bit acquisition instruction, the 32-bit data C in the buffer 30 is output to the register file 22 in the processor 20. At this time, since the remaining amount of data in the buffer 30 has become 32 bits or less, the data D is shifted by 32 bits, the next 32-bit data (data E) is read from the compressed data storage memory 10, and the lower order of the buffer 30 Write to bits (bit 31 to bit 0).
By repeating the above operation, variable length bit string data can be acquired in one cycle.
Next, an operation at the time of writing variable-length bit string data in the semiconductor device of the present embodiment will be described with reference to FIG. FIG. 3 is an explanatory diagram showing a write operation of variable-length bit string data in the case of a 32-bit bus configuration (the bit width n of the compressed data storage memory 10 is 32 bits).
First, according to the variable length bit string data write command from the processor 20, the control circuit 40 sequentially writes the variable length bit string data from the register file 22 to the upper bits of the buffer 30.
When 32-bit data is stored in the buffer 30, the control circuit 40 writes the upper 32 bits (bit 63 to bit 32) data in the buffer 30 into the compressed data storage memory 10. Then, the data of the lower 32 bits (bit 31 to bit 0) in the buffer 30 is shifted by 32 bits to the upper bit side.
For example, when the variable length bit string data write command from the processor 20 is an 8-bit write command, the lower 8 bits in the 32-bit data from the register file 22 in the processor 20 are transferred to the buffer 30 as shown in FIG. Write as data A sequentially from the upper bits.
Subsequently, when the next instruction is also an 8-bit write instruction, the lower 8 bits in the 32-bit data from the register file 22 are written as data B from the next bit of data A in the buffer 30.
Subsequently, when the next instruction is a 32-bit write instruction, 32-bit data from the register file 22 is written as data C from the next bit of data B in the buffer 30.
Next, since 32-bit data is stored in the buffer 30, the upper 32 bits (bits 63 to 32) of the buffer 30 (the upper 16 bits of data A, data B, and data C) are stored as compressed data. Write to the memory 10. Then, the lower 16-bit data of data C is shifted 32 bits to the upper bit side.
By repeating the above operation, variable length bit string data can be written in one cycle.
Therefore, according to the semiconductor device of the above-described embodiment, variable length bit string data processing necessary for MPEG video compression / decompression can be realized in one cycle, so that system performance can be improved.
In addition, a small-scale, low-frequency operation processor configuration enables image processing such as moving image compression / decompression represented by MPEG to be performed in real time. It can be realized by a semiconductor device that can be mounted on a portable home appliance driven with low power consumption such as a video camera.
As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.
For example, in the above-described embodiment, MPEG video compression / decompression has been described. However, the present invention is not limited to this, and can be applied to other image compression / decompression such as JPEG (Joint Photographic Experts Group).
In the above description, the case where the invention mainly made by the present inventor is applied to the image processing that is the technical field to which the present invention is applied has been described. However, the present invention is not limited to this. For example, other image processing and audio processing are performed. The present invention can be applied to all electronic devices that process variable-length bit string data such as Huffman encoding / decoding.

以上のように、本発明にかかる半導体装置は、例えば、デジタルビデオカメラ、ビデオデッキ、情報端末などの動画圧縮・伸張を行う電子機器に用いるのに適している。また、その他の画像処理、音声処理を始めとする可変長ビット列データを処理する電子機器全般に応用可能である。  As described above, the semiconductor device according to the present invention is suitable for use in electronic devices that perform compression / decompression of moving images, such as digital video cameras, video decks, and information terminals. Further, the present invention can be applied to all electronic devices that process variable length bit string data including other image processing and audio processing.

Claims (5)

画像圧縮データストリームバスに接続され前記画像圧縮データストリームバスとの間で送受信される圧縮データを格納するメモリと、
ロセッサと、
前記メモリと前記プロセッサとの間に設けられたバッファと、
前記プロセッサからの命令により前記バッファを制御する制御回路と、を有し、
前記プロセッサは、演算器、該演算器が演算処理に使用するデータを格納するレジスタファイル及び各種の命令を実行する制御ユニットを備えてなり、
前記命令には、前記メモリから可変長ビット列データを取得して前記レジスタファイルに書き込む処理を実行する操作命令及び前記レジスタファイルに格納された可変長ビット列データを取得して前記メモリに書き込む処理を実行する操作命令が含まれており、
前記制御回路は、前記プロセッサからの前記操作命令により、前記メモリから可変長ビット列データを前記バッファに取り込み前記バッファから前記レジスタファイルに書き込む処理及び前記レジスタファイルに格納されている可変長ビット列データを前記バッファに取り込み前記バッファから前記メモリに書き込む処理のそれぞれを1サイクルで実行するように前記バッファを制御することを特徴とする半導体装置。
A memory that is connected to an image compression data stream bus and stores compressed data transmitted to and received from the image compression data stream bus ;
And a processor,
A buffer provided between the memory and the processor;
Have a, and a control circuit for controlling the buffer by an instruction from the processor,
The processor includes an arithmetic unit, a register file that stores data used by the arithmetic unit for arithmetic processing, and a control unit that executes various instructions.
For the instruction, an operation instruction for executing processing for acquiring variable-length bit string data from the memory and writing it to the register file, and processing for acquiring variable-length bit string data stored in the register file and writing to the memory are executed. Operation instructions to be included,
In response to the operation instruction from the processor, the control circuit reads the variable-length bit string data from the memory into the buffer and writes the variable-length bit string data from the buffer to the register file, and the variable-length bit string data stored in the register file. A semiconductor device characterized in that the buffer is controlled so that each process of fetching into the buffer and writing from the buffer to the memory is executed in one cycle .
請求項1記載の半導体装置において、
前記プロセッサは、前記可変長ビット列データの表示、取得または書き込みの命令を有することを特徴とする半導体装置。
The semiconductor device according to claim 1,
The semiconductor device, wherein the processor has a command for displaying, acquiring or writing the variable-length bit string data.
請求項1または2に記載の半導体装置において、
前記バッファは、前記メモリのビット幅の2倍のビット容量を有することを特徴とする半導体装置。
The semiconductor device according to claim 1 or 2 ,
The semiconductor device according to claim 1, wherein the buffer has a bit capacity that is twice the bit width of the memory.
請求項1ないし3のいずれか1項に記載の半導体装置において、
前記プロセッサと前記バッファとの間には、さらに、前記可変長ビット列データに対してマスク処理を行うマスク回路が設けられていることを特徴とする半導体装置。
The semiconductor device according to any one of claims 1 to 3 ,
A semiconductor device characterized in that a mask circuit is further provided between the processor and the buffer for performing mask processing on the variable-length bit string data .
請求項1ないし4のいずれか1項に記載の半導体装置において、
前記メモリに格納される圧縮データは画像圧縮データであり、前記可変長ビット列データは、ハフマン符号化データであることを特徴とする半導体装置。
The semiconductor device according to any one of claims 1 to 4 ,
The semiconductor device , wherein the compressed data stored in the memory is compressed image data, and the variable-length bit string data is Huffman encoded data .
JP2005508785A 2003-09-04 2003-09-04 Semiconductor device Expired - Lifetime JP4336678B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/011312 WO2005024636A1 (en) 2003-09-04 2003-09-04 Semiconductor device

Publications (2)

Publication Number Publication Date
JPWO2005024636A1 JPWO2005024636A1 (en) 2006-11-02
JP4336678B2 true JP4336678B2 (en) 2009-09-30

Family

ID=34260128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005508785A Expired - Lifetime JP4336678B2 (en) 2003-09-04 2003-09-04 Semiconductor device

Country Status (2)

Country Link
JP (1) JP4336678B2 (en)
WO (1) WO2005024636A1 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100160322A1 (en) 2008-12-04 2010-06-24 Abbott Laboratories Apoptosis-inducing agents for the treatment of cancer and immune and autoimmune diseases
UA108193C2 (en) 2008-12-04 2015-04-10 APOPTOZINDUCE FOR THE TREATMENT OF CANCER AND IMMUNE AND AUTO-IMMUNE DISEASES
US8563735B2 (en) 2008-12-05 2013-10-22 Abbvie Inc. Bcl-2-selective apoptosis-inducing agents for the treatment of cancer and immune diseases
EP3666758A1 (en) 2008-12-05 2020-06-17 AbbVie Inc. Process for the preparation of a sulfonamide derivative
NZ616828A (en) 2009-01-19 2015-03-27 Abbvie Inc Apoptosis-inducing agents for the treatment of cancer and immune and autoimmune diseases
AU2010204555B2 (en) 2009-01-19 2013-03-07 Abbvie Inc. Apoptosis-inducing agents for the treatment of cancer and immune and autoimmune diseases
DK2435432T6 (en) 2009-05-26 2023-12-18 Abbvie Ireland Unlimited Co Apoptosis-inducing agents for the treatment of cancer and immune and autoimmune diseases
RU2568611C2 (en) 2010-03-25 2015-11-20 Эббви Инк. Apoptosis inducing agents for treating cancer, immune and autoimmune diseases
TWI520960B (en) 2010-05-26 2016-02-11 艾伯維有限公司 Apoptosis-inducing agents for the treatment of cancer and immune and autoimmune diseases
UA113500C2 (en) 2010-10-29 2017-02-10 MEL EXTRUSION SOLID DISPERSIONS CONTAINING AN APOPTOSIS-INDUCING AGENT
CA2811805A1 (en) 2010-10-29 2012-05-03 Abbvie Inc. Solid dispersions containing an apoptosis-inducing agent
DK2642999T3 (en) 2010-11-23 2017-01-09 Abbvie Ireland Unlimited Co METHODS OF TREATMENT FOR USING selectivity-VE BCL-2 INHIBITORS
KR101923364B1 (en) 2010-11-23 2018-11-30 애브비 인코포레이티드 Salts and crystalline forms of an apoptosis-inducing agent
DK3672976T3 (en) 2017-08-23 2024-03-04 Guangzhou Lupeng Pharmaceutical Company Ltd BCL-2 INHIBITORS
BR112020016551A2 (en) 2018-02-16 2020-12-22 Abbvie Inc. SELECTIVE BCL-2 INHIBITORS IN COMBINATION WITH ANTI-PD-1 OR ANTI-PD-L1 ANTIBODY FOR CANCER TREATMENT
WO2020232214A1 (en) 2019-05-14 2020-11-19 Abbvie Inc. Treating acute myeloid leukemia (aml) with mivebresib, a bromodomain inhibitor
AU2020293230A1 (en) 2019-06-12 2022-01-27 Juno Therapeutics, Inc. Combination therapy of a cell-mediated cytotoxic therapy and an inhibitor of a prosurvival BCL2 family protein
AU2020349041A1 (en) 2019-09-18 2022-04-28 Aprea Therapeutics Ab Combination treatment with a p53 reactivator and an inhibitor of an antiapoptotic Bcl-2 family protein
WO2021207581A1 (en) 2020-04-10 2021-10-14 Abbvie Inc. Crystalline forms of an apoptosis-inducing agent
WO2022133030A1 (en) 2020-12-16 2022-06-23 Juno Therapeutics, Inc. Combination therapy of a cell therapy and a bcl2 inhibitor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02244329A (en) * 1989-03-17 1990-09-28 Mitsubishi Electric Corp Digital signal processor
JPH07182230A (en) * 1993-12-22 1995-07-21 Seiko Epson Corp Memory card
JPH08221248A (en) * 1995-02-14 1996-08-30 Hitachi Ltd Micro processor
JP3570188B2 (en) * 1997-12-25 2004-09-29 富士通株式会社 Data processing device having variable length code processing mechanism
US6621428B1 (en) * 2000-05-04 2003-09-16 Hewlett-Packard Development Company, L.P. Entropy codec for fast data compression and decompression
JP4534320B2 (en) * 2000-08-10 2010-09-01 ソニー株式会社 Processor and decoding apparatus using the same

Also Published As

Publication number Publication date
JPWO2005024636A1 (en) 2006-11-02
WO2005024636A1 (en) 2005-03-17

Similar Documents

Publication Publication Date Title
JP4336678B2 (en) Semiconductor device
RU2512130C2 (en) Device and method for high-resolution imaging at built-in device
JPH0662262A (en) Method and apparatus for control of block for digital image codec (compression and expansion) processor
US6744928B1 (en) Variable-length decoding method and apparatus employing code length and a recording medium
JP2007097145A (en) Image coding device and image coding method
US20060133512A1 (en) Video decoder and associated methods of operation
KR100806435B1 (en) An apparatus and method for extracting and loading data to/from a buffer
US20140219361A1 (en) Image data encoding for access by raster and by macroblock
JP2004336451A (en) Image decoding unit, image encoder and encoding method employing it, and image decoder and decoding method
JP3940672B2 (en) Image processing apparatus and image processing method
JP4590335B2 (en) Image processing apparatus and image processing method
TWI455587B (en) Circuit and method for multi-format video codec
JP2682402B2 (en) Data processing device
KR101811774B1 (en) Apparatus and method for processing graphics
KR101037624B1 (en) Apparatus and method of rotating image without using memory
JP4109151B2 (en) Image processing device
US20040218679A1 (en) Method and system for predictive table look-up code length of variable length code
JP4034793B2 (en) Video compression apparatus and method for generating complementary video and using it for deblocking processing
JP2006184793A (en) Display controller
US20070192393A1 (en) Method and system for hardware and software shareable DCT/IDCT control interface
JP4516020B2 (en) Image processing device
JP3653799B2 (en) Image encoding device
JP4498848B2 (en) Image processing device
JP2005101728A (en) Image processing apparatus
JP2005223538A (en) Image processor circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090327

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: 20090602

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090629

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

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4336678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

EXPY Cancellation because of completion of term