JP2007228530A - Encoding apparatus - Google Patents

Encoding apparatus Download PDF

Info

Publication number
JP2007228530A
JP2007228530A JP2006050395A JP2006050395A JP2007228530A JP 2007228530 A JP2007228530 A JP 2007228530A JP 2006050395 A JP2006050395 A JP 2006050395A JP 2006050395 A JP2006050395 A JP 2006050395A JP 2007228530 A JP2007228530 A JP 2007228530A
Authority
JP
Japan
Prior art keywords
data
encoding
state
unit
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006050395A
Other languages
Japanese (ja)
Inventor
Masami Hagio
正己 萩尾
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.)
Oki Electric Industry Co Ltd
Oki Networks Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Oki Networks 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 Oki Electric Industry Co Ltd, Oki Networks Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2006050395A priority Critical patent/JP2007228530A/en
Publication of JP2007228530A publication Critical patent/JP2007228530A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encoding apparatus capable of obtaining sufficient throughput by suppressing absolute delay and circuit scale in encoding operation. <P>SOLUTION: An entropy encoding apparatus 10 stores a quantized transform coefficient in a data register part 12 as data, reads this transform coefficient from the data register part 12 in the direction of columns, outputs data 24 eight by eight from a state output part 16 to an encoding operation part 20 in response to a state control signal 26 from a state output control part 18, and operates the data 24 in the encoding operation part 20 in the order of reading in a zigzag scan direction. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、符号化装置、とくに、画像圧縮、静止画圧縮のエントロピー符号化部が合理的に実装される符号化装置に関するものである。   The present invention relates to an encoding device, and more particularly to an encoding device in which an entropy encoding unit for image compression and still image compression is reasonably implemented.

従来、静止画は、エントロピー符号化部で圧縮してきた。圧縮に際してエントロピー符号化部には、演算するデータ列がジグザグスキャン則に従った順番で1次元に読み出される。ただし、この順番は演算データレジスタ番号と異なる点に留意する。エントロピー符号化部は、この1次元に読み出した各データを基に演算し、エントロピー符号化する。   Conventionally, still images have been compressed by an entropy encoding unit. At the time of compression, the entropy encoding unit reads the data string to be calculated one-dimensionally in the order according to the zigzag scan rule. However, note that this order is different from the operation data register number. The entropy coding unit performs an entropy coding by calculating based on each data read in one dimension.

たとえば、演算データが64個格納されている演算データレジスタ考える。便宜上、8×8、計64個のマスに対してO〜63の数字を与えて、各データを特定する。後述するように、演算データレジスタには最初から全てのデータ揃っているわけではない。データは、まず0〜7の8個、次に8〜15の8個、・・・、56〜63の8個と8組、すなわち8回または8行のステートに分けて供給される。このように8回目のデータ供給後に、データ64個すべてが揃うことになる。   For example, consider an arithmetic data register storing 64 arithmetic data. For convenience, numbers of O to 63 are given to 8 × 8, a total of 64 cells, and each data is specified. As will be described later, not all data is prepared in the operation data register from the beginning. The data is supplied by dividing into eight states of 0 to 7, then 8 of 8 to 15,..., 56 to 63 and 8 sets, that is, 8 times or 8 rows. In this way, after the eighth data supply, all 64 data are collected.

エントロピー符号化における演算には、この演算データより連続した前のデータ64個を使用して行なう。ここでの連続とは、演算データレジスタ番号の順ではなく、64個のマスの内、左上隅から開始されるジグザグスキャン則に従って付された順番を意味する。この順番で全てが揃わないと、エントロピー符号化の演算がされない。   The calculation in the entropy encoding is performed using 64 pieces of data preceding the calculation data. Consecutive here means not the order of operation data register numbers, but the order given according to the zigzag scan rule starting from the upper left corner of the 64 cells. If all of them are not arranged in this order, the entropy encoding operation is not performed.

したがって、エントロピー符号化において演算する順番のデータが途中抜けて無い場合には、欠落したデータが揃うまでの待ち時間が生じる。この結果、待ち時間の間、演算が停止してしまう。揃った全データを基に実行することから、滞りなく演算させるには、実行開始までに絶対遅延が生じる。また、データが揃って順番に従ってデータそれぞれをエントロピー符号化すると、演算のステップが増えてしまう。これは、演算量、すなわちスループットの小さいことを意味する。   Therefore, when there is no missing data in the order of calculation in entropy coding, there is a waiting time until the missing data is collected. As a result, the computation stops during the waiting time. Since the processing is executed based on all the collected data, an absolute delay occurs until the start of execution in order to perform calculation without delay. Also, if the data is aligned and entropy-coded for each data according to the order, the number of computation steps increases. This means that the calculation amount, that is, the throughput is small.

上述したエントロピー符号化における演算とは逆に、符号化で用いるデータをジグザグ則に変換して、読み出す技術の開示がある。特許文献1は画像符号化システムである。このシステムは、ラスタスキャンとジグザグスキャンをRAM(Random Access Memory)一面で実現させるため、デュアルポートメモリを用い、ジグザグアドレスの先頭アドレス送出時点を、ラスタアドレスの先頭アドレス送出時点から29〜34番目のアドレス内に設定した指定アドレス送出時点まで遅延させる遅延部を設けて遅らせ、デュアルポートの第1ポートから量子化係数を書き込み、第2ポートから書き込んだ量子化係数を読み出す。これによりこのシステムは回路規模を縮小させている。従来、ラスタスキャンが終了したものにジグザグスキャンさせることから、64アドレス分の回路遅延が生じていたが、回路遅延を半分で済ませることができる。
特開平5−207289号公報
Contrary to the operation in the entropy encoding described above, there is a disclosure of a technique for converting data used in encoding into a zigzag rule and reading it out. Patent document 1 is an image coding system. This system uses a dual-port memory to realize raster scan and zigzag scan on one side of RAM (Random Access Memory), and the start address sending time of zigzag address is 29th to 34th from the start address sending of raster address. A delay unit is provided for delaying until the designated address set in the address is sent, and the quantization coefficient is written from the first port of the dual port, and the written quantization coefficient is read from the second port. This reduces the circuit scale of this system. Conventionally, since a zigzag scan is performed on a raster scan that has been completed, a circuit delay of 64 addresses has occurred, but the circuit delay can be reduced to half.
Japanese Patent Laid-Open No. 5-207289

ところで、前述した絶対遅延が大きいことは、遅延データを蓄積するメモリを用いることになり、回路規模を増大させる原因になる。さらに、近年リアルタイム性が各分野で求められ、演算に関しては遅延無く実行されることが望まれている。ところが、一般的に、回路規模を小さくした場合には、演算に掛かる絶対遅延が大きくなり、また演算量は小さくなってしまう。   By the way, if the absolute delay is large as described above, a memory for storing delay data is used, which causes an increase in circuit scale. Furthermore, in recent years, real-time performance is required in each field, and it is desired that calculations be executed without delay. However, generally, when the circuit scale is reduced, the absolute delay required for the calculation increases and the calculation amount decreases.

また、特許文献1は、量子化係数を求める前段でのDCT(Discrete Cosine Transform)演算におけるデータの書込み/読出し処理の回路構成を記載しているに過ぎない。また、特許文献1は、ラスタアドレスの先頭アドレス送出時点から29〜34番目のアドレス内に遅らせて読み出すことで書込みと読出しが衝突または重ならないように動作させることに特徴があり、回路遅延を半分に済ませている。   Further, Patent Document 1 merely describes a circuit configuration of data writing / reading processing in DCT (Discrete Cosine Transform) calculation in the previous stage for obtaining a quantization coefficient. Further, Patent Document 1 is characterized in that operation is performed so that writing and reading do not collide or overlap each other by reading within the 29th to 34th addresses from the time of sending the start address of the raster address, and the circuit delay is reduced by half. Have finished.

しかしながら、エントロピー符号化は前述したように、データ列をジグザグスキャン則に従った順番に読み出して、演算する。このことから、特許文献1をエントロピー符号化の演算に適用しても、結果的に64アドレス分のデータすべてが揃った後、ジグザグスキャン則に従った順番に演算することになる。すなわち、64アドレス分の回路遅延は改善されず、十分なスループットも得ることができないことを意味する。   However, as described above, entropy encoding is performed by reading data sequences in the order according to the zigzag scan rule. For this reason, even if Patent Document 1 is applied to the entropy encoding calculation, after all the data for 64 addresses are obtained, the calculation is performed in the order according to the zigzag scan rule. That is, the circuit delay for 64 addresses is not improved, and sufficient throughput cannot be obtained.

本発明はこのような従来技術の欠点を解消し、符号化の演算における絶対的な遅延と回路規模とを抑えて、十分なスループットを得ることができる符号化装置を提供することを目的とする。   An object of the present invention is to provide an encoding apparatus capable of solving such disadvantages of the prior art and suppressing the absolute delay and the circuit scale in encoding operations and obtaining a sufficient throughput. .

本発明は上述の課題を解決するために、供給される第1のデータを変換して得られた量子化された変換係数を第2のデータとして第1の方向に演算して、符号化する符号化装置において、この装置は、第2のデータを蓄積する記憶手段と、この記憶手段から第1の方向と異なる第2の方向に読み出される第2のデータを複数個まとめた所定の単位で読み出す読出し制御信号を生成する読出し制御手段と、この読出し制御信号に応じて所定の単位で第2のデータを出力させる出力手段と、供給される第2のデータを第1の方向に読み出された順に演算する符号化手段とを含むことを特徴とする。   In order to solve the above-described problem, the present invention calculates and encodes a quantized transform coefficient obtained by transforming supplied first data in the first direction as second data. In the encoding apparatus, the apparatus is a predetermined unit in which a plurality of second data read out in a second direction different from the first direction from the storage means for storing the second data is collected. Read control means for generating a read control signal to be read, output means for outputting second data in a predetermined unit according to the read control signal, and supplied second data are read in the first direction. And encoding means for calculating in order.

本発明に係る符号化装置によれば、第2のデータを記憶手段に格納し、この記憶手段から第2のデータを第2の方向に読み出し、読出し制御手段からの読出し制御信号に応じて出力手段から所定の単位で第2のデータを符号化手段に出力させ、符号化手段で第2のデータを第1の方向に読み出された順に演算することにより絶対的な遅延と符号化手段の回路規模とを抑えても、十分なスループットを得ることができる。   According to the encoding apparatus of the present invention, the second data is stored in the storage means, the second data is read from the storage means in the second direction, and output in accordance with the read control signal from the read control means. By outputting the second data from the means to the encoding means in a predetermined unit, and calculating the second data in the order read in the first direction by the encoding means, the absolute delay and the encoding means Even if the circuit scale is suppressed, sufficient throughput can be obtained.

次に添付図面を参照して本発明による符号化装置の一実施例を詳細に説明する。図1を参照すると、本発明による符号化装置の実施例は、量子化された変換係数をデータとしてデータレジスタ部12に格納し、データレジスタ部12からこの変換係数を列方向に読み出し、ステート出力制御部18からのステート制御信号26に応じてステート出力部16から8個単位でデータ24を符号化演算部20に出力させ、符号化演算部20でデータ24をジグザグスキャン方向に読み出された順に演算することにより絶対的な遅延と符号化手段の回路規模とを抑えても、十分なスループットを得ることができる。   Next, an embodiment of an encoding apparatus according to the present invention will be described in detail with reference to the accompanying drawings. Referring to FIG. 1, an embodiment of an encoding apparatus according to the present invention stores quantized transform coefficients as data in a data register unit 12, reads the transform coefficients from the data register unit 12 in the column direction, and outputs a state output. In response to the state control signal 26 from the control unit 18, the state output unit 16 outputs the data 24 to the encoding operation unit 20 in units of 8, and the encoding operation unit 20 reads the data 24 in the zigzag scan direction. Even if the absolute delay and the circuit scale of the encoding means are suppressed by calculating in order, a sufficient throughput can be obtained.

本実施例は、本発明の符号化装置をエントロピー符号化装置10に適用した場合である。本発明と直接関係のない部分について図示および説明を省略する。以下の説明で、信号はその現れる接続線の参照番号で指示する。   In this embodiment, the encoding apparatus of the present invention is applied to the entropy encoding apparatus 10. The illustration and description of parts not directly related to the present invention are omitted. In the following description, the signal is indicated by the reference number of the connecting line in which it appears.

エントロピー符号化装置10は、図1に示すように、データレジスタ部12、読出し制御部14、ステート出力部16、ステート出力制御部18および符号化演算部20を含む。データレジスタ部12は、ブロックデータを記憶する機能を有する。本実施例においてデータレジスタ部12は、符号化演算部20で演算に使用する直交変換後のデータ(数値または量子化変換係数)を格納する。格納するブロックデータは、8×8=64個存在する。データレジスタ部12は、読出し制御部14からの読出し制御信号22に応じてレジスタそれぞれに格納したデータをステート出力部16に出力する。   As shown in FIG. 1, the entropy encoding apparatus 10 includes a data register unit 12, a read control unit 14, a state output unit 16, a state output control unit 18, and an encoding operation unit 20. The data register unit 12 has a function of storing block data. In the present embodiment, the data register unit 12 stores data (numerical values or quantized transform coefficients) after orthogonal transform used for computation by the encoding computation unit 20. There are 8 × 8 = 64 pieces of block data to be stored. The data register unit 12 outputs the data stored in each register to the state output unit 16 in response to the read control signal 22 from the read control unit 14.

読出し制御部14は、データレジスタ部12のデータレジスタから読み出す機能を有する。読出し制御部14は、上述の機能に基づき読出し制御信号22を生成し、データレジスタ部12にデータを出力する。   The read control unit 14 has a function of reading from the data register of the data register unit 12. The read control unit 14 generates a read control signal 22 based on the above function and outputs data to the data register unit 12.

ステート出力部16は、データレジスタ部12から供給されるステートに含まれる量子化変換係数を、たとえば8個を一まとめに扱い、出力する機能を有する。ステート出力部16は、供給されるステートのデータ24を符号化演算部20に出力する。ステート出力制御部18は、ブロックデータの順序に応じたステート毎にステート制御信号26を生成する機能を有する。ステート出力制御部18は、ステート制御信号26をステート出力部16に出力する。   The state output unit 16 has a function of handling and outputting, for example, eight quantized transform coefficients included in the state supplied from the data register unit 12 as a group. The state output unit 16 outputs the supplied state data 24 to the encoding operation unit 20. The state output control unit 18 has a function of generating a state control signal 26 for each state according to the order of block data. The state output control unit 18 outputs a state control signal 26 to the state output unit 16.

符号化演算部20は、供給されるデータ(量子化された変換係数)24を基に演算によりエントロピー符号化する機能を有する。エントロピー符号化は、演算により出現頻度の高い量子化された変換係数またはシンボルに短い符号、出現頻度の低いシンボルに長い符号を割り当てる。この符号化には、たとえばハフマン符号化や算術符号化等がある。符号化演算部20は、JPEG(Joint Photographic Experts Group)のエントロピー符号化であるハフマン符号部を有する。符号化演算部20は、各マス目に対する演算として、供給される64個のデータ、たとえば“0”、“0,1”、“0,1,2”、“0,1,2,3”、・・・および“0,1,2,3,4,・・・,61,62,63”を基にエントロピー符号化したデータ28を出力する。   The encoding calculation unit 20 has a function of entropy encoding by calculation based on supplied data (quantized transform coefficient) 24. In entropy coding, a short code is assigned to a quantized transform coefficient or symbol having a high appearance frequency by an operation, and a long code is assigned to a symbol having a low appearance frequency. Examples of this encoding include Huffman encoding and arithmetic encoding. The encoding calculation unit 20 includes a Huffman encoding unit that is entropy encoding of JPEG (Joint Photographic Experts Group). The encoding operation unit 20 is supplied with 64 data, for example, “0”, “0,1”, “0,1,2”, “0,1,2,3” ,... And “0, 1, 2, 3, 4,..., 61, 62, 63”, the entropy-encoded data 28 is output.

なお、エントロピー符号化装置10は、読出し制御部14を有するだけでなく、図示しないが書込み制御部も有することは言うまでもない。書込み制御部は、データレジスタ部12に量子化された変換係数の書込みを制御する機能を有する。   Needless to say, the entropy encoding apparatus 10 not only includes the read control unit 14, but also includes a write control unit (not shown). The write control unit has a function of controlling writing of the quantized transform coefficient in the data register unit 12.

次にエントロピー符号化装置10の動作について説明する。エントロピー符号化装置10の前段には、図示しない直交変換部がある。エントロピー符号化装置10は、直交変換部での演算後のデータを扱うことから、エントロピー符号化は、この直交変換における動作の影響を大きく受ける。   Next, the operation of the entropy encoding device 10 will be described. There is an orthogonal transform unit (not shown) in the previous stage of the entropy encoding device 10. Since the entropy encoding device 10 handles data after computation in the orthogonal transform unit, the entropy encoding is greatly affected by the operation in this orthogonal transform.

ここで、直交変換部は、JPEG圧縮で言えば離散コサイン変換(Discrete Cosine Transformation: DCT)を用いる。   Here, the orthogonal transform unit uses discrete cosine transformation (DCT) in JPEG compression.

図2および図3のマス目は、図1に示したデータレジスタ部12のレジスタに対応する。図3(a)のマス目内の数字は、レジスタの位置を示す。図2(a)および図3(a)のマス目には、直交変換後のデータ、すなわち量子化された変換係数が格納される。図2(b)の矢印30は、データがジグザグスキャン則に従って書き込まれることを示す。このようなデータ格納状況にあって、データは、図3(b)の矢印32が示すように列方向に読み出される。しかしながら、エントロピー符号化は、ジグザグスキャン則に従って読み出されたデータを用いて演算する。   2 and 3 correspond to the registers of the data register unit 12 shown in FIG. The numbers in the squares in FIG. 3 (a) indicate the register positions. The squares in FIG. 2 (a) and FIG. 3 (a) store data after orthogonal transformation, that is, quantized transform coefficients. The arrow 30 in FIG. 2 (b) indicates that data is written according to the zigzag scan rule. In such a data storage situation, the data is read in the column direction as indicated by the arrow 32 in FIG. However, entropy encoding is performed using data read according to a zigzag scan rule.

図1を用いて説明すると、このように量子化された変換係数は、合計64個有るが、直交変換後のデータがステート出力部16に読み出される。ステート出力部16は、読み出したデータ24を8個ずつ符号化演算部20に出力する。符号化演算部20は、供給されるデータ24に対して演算して、エントロピー符号化する。このとき、エントロピー符号化は、直交変換のデータ算出に依存して、ジグザグスキャン則に従って演算される。しかしながら、符号化演算部20には、ジグザグスキャン則と異なる読出し順序でデータ24が供給される。したがって、エントロピー符号化装置10には、ステート毎に供給されるデータとジグザグスキャン則に従うデータを基にした演算順序の差異を合理的に吸収し実行することが要求される。   Referring to FIG. 1, there are a total of 64 transform coefficients quantized in this way, but the data after orthogonal transform is read out to the state output unit 16. The state output unit 16 outputs the read data 24 by eight to the encoding operation unit 20. The encoding calculation unit 20 calculates and entropy-encodes the supplied data 24. At this time, entropy coding is calculated according to a zigzag scan rule depending on data calculation of orthogonal transform. However, the data 24 is supplied to the encoding operation unit 20 in a reading order different from the zigzag scanning rule. Therefore, the entropy encoding device 10 is required to rationally absorb and execute the difference in the calculation order based on the data supplied for each state and the data according to the zigzag scan rule.

次にこれら64個の量子化された変換係数を、単にデータという。これらのデータがどのように演算されるかを説明する。従来としては、一般的に、図2(a)のデータ配列に対して、2次元の直交変換演算の合理性から、図4(a)の矢印34の方向、すなわち行方向に一次演算し、次に図4(b)の矢印36方向、すなわち列方向に二次演算する。   Next, these 64 quantized transform coefficients are simply referred to as data. A description will be given of how these data are calculated. Conventionally, in general, for the data array of FIG. 2 (a), from the rationality of the two-dimensional orthogonal transformation operation, a primary operation is performed in the direction of the arrow 34 in FIG. Next, a secondary calculation is performed in the direction of arrow 36 in FIG.

本実施例の場合、図4に示した直交変換後のデータ演算について述べる。実際の動作は、2次元直交変換における2次演算として、図4(b)に示した列方向にデータ演算する。このデータ演算は、符号化演算部20に1列分のデータが供給されることから、符号化演算部20は、1列分のデータが1回のステップにより演算される構造を有する。図2(a)のデータ配列において列方向にある8個のデータ単位が次ステップのエントロピー符号化の演算に用いるため1ステップで一度に送られる。エントロピー符号化装置10は、このような演算系の基本構造に基づき動作、すなわち演算する。   In the case of the present embodiment, the data calculation after the orthogonal transformation shown in FIG. 4 will be described. In actual operation, data calculation is performed in the column direction shown in FIG. 4B as a secondary calculation in the two-dimensional orthogonal transformation. In this data calculation, since one column of data is supplied to the encoding calculation unit 20, the encoding calculation unit 20 has a structure in which one column of data is calculated in one step. In the data array of FIG. 2 (a), eight data units in the column direction are sent at a time in one step for use in the entropy coding operation of the next step. The entropy encoding device 10 operates, that is, calculates based on such a basic structure of the calculation system.

ところで、直交変換後のデータは、列方向に1列ずつ順に8個のデータが用意されるが、前述したように符号化演算部20は図2(b)に示したジグザグスキャン則に従って演算を進める。このため、エントロピー符号化を行なう一点のデータに着目すると、あるステップ内での演算に用いるデータが揃っていない場合がある。   By the way, as the data after the orthogonal transformation, eight data are prepared in order in the column direction, but as described above, the encoding calculation unit 20 performs the calculation according to the zigzag scan rule shown in FIG. Proceed. For this reason, when attention is focused on one point of data for entropy coding, data used for calculation within a certain step may not be complete.

この場合についてクロックを用いた順序回路の概念で表現する。演算に用いるデータは読出し制御部14により1ステート8個で、1クロックあたり1回の任意のデータが入出力される。すなわち1ステートは、8クロックで入出力することができる。ブロックデータは64クロックで読み出される。これは、ステート内のクロック数が任意の演算を、クロックのステップ数に分けて行なうことも意味する。換言すると、1ステートに1列8個のデータが揃い、順次繰り返し全8ステート、64個のデータセットになり、これで1セット終了する。この1セットが終了すると、同様に2セット目が間を空けずに始まり、連続して次のセットをなくなるまで繰り返す。   This case is expressed by the concept of a sequential circuit using a clock. The data used for the calculation is 8 in one state by the read control unit 14, and arbitrary data is input / output once per clock. That is, one state can be input / output in 8 clocks. Block data is read out at 64 clocks. This also means that an operation with an arbitrary number of clocks in a state is performed by dividing the number of clock steps. In other words, 8 data in 1 row are arranged in 1 state, and all 8 states and 64 data sets are sequentially repeated, thus completing one set. When this one set is completed, the second set is similarly started without a gap, and is repeated until the next set disappears continuously.

本実施例では、クロックにより分割することを述べているものでないので、この意味についての説明は省略する。前述したように、符号化演算部20は、JPEGのハフマン符号を用いることから、エントロピー符号化は、図2のジグザグスキャン則の順番により演算するように標準で定められている。   In the present embodiment, the division by the clock is not described, and thus the description of this meaning is omitted. As described above, since the encoding calculation unit 20 uses the JPEG Huffman code, the entropy encoding is defined as a standard so that the calculation is performed in the order of the zigzag scan rule of FIG.

ここで、あるマス目の演算には、スキャンしたあるマス目より若番のマス目すべての値が用いられる。これは、具体的に説明すると、3のマス目の演算には、“1,2”のマス目のデータを用いられ、18のマス目の演算には、“17,16,・・・,2,1”のように、18が示される前のマス目のデータが用いられることを意味する。   Here, for the calculation of a certain square, the values of all the squares that are younger than the scanned square are used. More specifically, data of the cells of “1, 2” is used for the calculation of the third cell, and “17, 16,..., This means that the square data before 18 is used, such as “2,1”.

あるマス目の演算ではこのマス目より前のデータを揃えるが、1ステートで列方向8マス目分のデータを読み出すステートが順次に繰り返される。しかしながら、この読出し動作では、あるマス目の演算に用いるデータが揃っていないことになる。具体的に、読み出すステート、処理量および1ステート遅延した際の処理量の関係を図5に示す。最初のステート(第1ステート)では、図2(a)から明らかなように、マスの番号は、“0,2,3,9,10,20,21,33”である。この場合、“1”がないことから、エントロピー符号化演算できるデータ、マス目のないことがわかる。したがって、処理量は0である。2ステート目では、“1,4,8,11,19,22,34,36”のデータまでが揃う。このとき、マス目は、“1,2,3,4”が連続して揃うことになる。したがって、エントロピー符号化は、1〜4までの4マスそれぞれを演算できる。順次、このように見ていくと、3ステート目では、“5,7,12,18,23,33,37,48”のデータまでが揃う。マス目は、“1,2,3,4,5”が連続して揃い、エントロピー符号化は、第3のステートで1マス目分が演算可能になる。4ステート目では、“1〜13”まで連続して揃う。エントロピー符号化は、8マス目(13-(4+1))分が演算可能になる。   In the calculation of a certain square, data before this square is aligned, but the state of reading data for the eighth square in the column direction in one state is sequentially repeated. However, in this read operation, data used for calculation of a certain square is not prepared. Specifically, FIG. 5 shows the relationship among the read state, the processing amount, and the processing amount when delayed by one state. In the first state (first state), as is clear from FIG. 2A, the cell numbers are “0, 2, 3, 9, 10, 20, 21, 33”. In this case, since there is no “1”, it can be seen that there is no square or data that can be entropy-coded. Therefore, the processing amount is zero. In the second state, the data of “1, 4, 8, 11, 19, 22, 34, 36” is available. At this time, “1, 2, 3, 4” are continuously arranged in the grid. Therefore, entropy coding can calculate each of four squares from 1 to 4. Sequentially, in this way, the data of “5, 7, 12, 18, 23, 33, 37, 48” is prepared in the third state. For the cells, “1,2,3,4,5” are continuously arranged, and the entropy coding can calculate the first cell in the third state. In the 4th state, “1 to 13” are continuously arranged. Entropy encoding can be performed for the eighth square (13- (4 + 1)).

同様に、5ステート目では“14”の1マス目分のエントロピー符号化が可能になる。6ステート目では“15〜26”までの12マス目分のエントロピー符号化が演算可能になる。7ステート目では“27”の1マス目分のエントロピー符号化が可能になる。最後に、8ステート目で直流成分も含め37マス目分のエントロピー符号化が演算可能になる。これによりすべての値についてエントロピー符号化が演算される。   Similarly, in the fifth state, entropy encoding for the first square of “14” becomes possible. In the sixth state, entropy coding for the 12th cell from “15 to 26” can be calculated. In the seventh state, entropy coding for the first square of “27” becomes possible. Finally, entropy coding for the 37th cell including the DC component can be calculated in the 8th state. Thereby, entropy coding is calculated for all values.

ここで、図6の処理量からわかるように、符号化演算部20は、最大1ステート内で37マス目分の同時演算が要求される。上述した演算処理量から、本実施例の符号化演算部20は、n=37個の符号化演算回路または演算ブロックを実装した場合に相当する。   Here, as can be seen from the processing amount of FIG. 6, the encoding operation unit 20 is required to perform simultaneous calculation for the 37th cell in a maximum of one state. From the calculation processing amount described above, the encoding calculation unit 20 of this embodiment corresponds to a case where n = 37 encoding calculation circuits or calculation blocks are mounted.

1ステートで1演算する演算ブロックがある場合、入力と同等のスループットを得るためには8ステート目で37演算ブロックが用いられる。また、演算ブロックを1個に削減するには37クロックが要求される。多くのクロック数を用いることは、1ステートの時間を細かく分けることになる。この結果、1クロックの周期が短くなる。このため、演算ブロックの演算速度を向上させるという問題も生じてくる。   When there is an operation block that performs one operation in one state, 37 operation blocks are used in the eighth state in order to obtain a throughput equivalent to the input. In addition, 37 clocks are required to reduce the number of operation blocks to one. Using a large number of clocks divides the time of one state finely. As a result, the cycle of one clock is shortened. For this reason, the problem of improving the calculation speed of a calculation block also arises.

このような事態に対処するには、エントロピー符号化装置10は、図6に示すように、符号化部38として配設する。符号化部38は、符号化演算部20、40および42と複数有する。図6は符号化部38にステート出力部16から符号化演算部20、40および42の数に対応したデータラインが接続されることを示す。本実施例ではステート出力部16の出力3に対し符号化演算部も3個配設される。読み出しに用いるステート数と同じステート数で演算する場合、まとまったステートデータを符号化部38に渡しても、パイプライン演算が可能である。この結果、スループット問題が生じない。   In order to cope with such a situation, the entropy encoding device 10 is arranged as an encoding unit 38 as shown in FIG. The encoding unit 38 includes a plurality of encoding calculation units 20, 40, and 42. FIG. 6 shows that the data line corresponding to the number of the encoding operation units 20, 40 and 42 is connected from the state output unit 16 to the encoding unit 38. In this embodiment, three encoding operation units are also provided for the output 3 of the state output unit 16. When the calculation is performed with the same number of states as the number of states used for reading, the pipeline calculation can be performed even if the collected state data is passed to the encoding unit 38. As a result, there is no throughput problem.

ここで、スループット問題とは、パイプライン演算できなくなる状態で、データの読出し処理より演算のステート数が多く用いる場合などに生じる。さらに説明すると、基本動作の演算レジスタから順次ジグザグスキャン則の順序でデータを読出し演算する部分に対し、演算量を増やすことを意味する。換言すれば、スループットを向上させる手法としては、演算ブロックを複数設置すること、複数ある演算ブロックに演算レジスタに蓄積されているデータを合理的に送り出す方法と言うことができる。図6の符号化部38は、符号化演算部20、40および42に演算ブロックを分散させるが、前述したように符号化部38での演算ブロック総数をn=37に設定する。   Here, the throughput problem occurs when the number of computation states is larger than the data read processing in a state where pipeline computation cannot be performed. More specifically, this means that the amount of calculation is increased for the portion that reads and calculates data sequentially from the operation register of the basic operation in the order of the zigzag scan rule. In other words, as a technique for improving the throughput, it can be said that a plurality of operation blocks are installed, and data stored in the operation registers is rationally sent to a plurality of operation blocks. The encoding unit 38 in FIG. 6 distributes the operation blocks to the encoding operation units 20, 40, and 42, but sets the total number of operation blocks in the encoding unit 38 to n = 37 as described above.

再び図5に戻って、後者の一手法として遅延データ送出を提案する。本実施例では、演算のステートを1個ずらす機能を有する遅延回路44がステート出力部16に配される。この読出しによると、符号化演算部20は、最初と次のステートのデータとを合わせ、2ステート使って演算することになる。最初のステートでは可能な演算数が0、次のステートで4個の演算が可能である。   Returning to FIG. 5 again, the delayed data transmission is proposed as one of the latter methods. In this embodiment, a delay circuit 44 having a function of shifting the operation state by one is arranged in the state output unit 16. According to this reading, the encoding operation unit 20 combines the data of the first and next states and performs the operation using two states. The number of possible operations is 0 in the first state, and 4 operations are possible in the next state.

ここで、ずれた1ステート目では、4個の演算を均等に分けて、2個演算し、次のステートでも2個演算させる。演算個数の設定は任意に均等化させる。最後のステートまで進んだときは、本実施例では最後の一つ前で19の演算、そして最後のステートでも19の処理となる。この場合、エントロピー符号化装置10は、符号化部38における演算ブロックの数を最大でもn=19個の実装で済む。エントロピー符号化装置10は、これにより回路構成の規模をほぼ半分にできる。この場合の絶対遅延は、1ステート分となるが、回路規模としては半分に縮小される。さらに、遅延回路44がもう1ステート遅らせた、2ステート遅延の場合、エントロピー符号化装置10は、回路規模を1/3まで縮小させることができる。   Here, in the shifted first state, four operations are equally divided to perform two operations, and two operations are performed in the next state. The number of operations is set to be equalized arbitrarily. When the process proceeds to the last state, in this embodiment, 19 operations are performed immediately before the last state, and 19 processes are performed even in the last state. In this case, the entropy encoding device 10 needs only to implement n = 19 arithmetic blocks in the encoding unit 38 at the maximum. As a result, the entropy encoding device 10 can reduce the size of the circuit configuration to almost half. The absolute delay in this case is for one state, but the circuit scale is reduced to half. Further, in the case of a two-state delay in which the delay circuit 44 delays another state, the entropy encoding device 10 can reduce the circuit scale to 1/3.

なお、遅延回路44は、ステート出力部16内に配設させたが、本実施例に限定されるものでなく、ステート出力部16と符号化演算部20との間や符号化演算部20内の受信側に配設させてもよい。   Although the delay circuit 44 is disposed in the state output unit 16, the delay circuit 44 is not limited to this embodiment, and is not limited to the state output unit 16 and the encoding operation unit 20 or in the encoding operation unit 20. It may be arranged on the receiving side.

エントロピー符号化装置は、ブロックデータ、64個を的確に演算させるため従来では符号化演算部20内に演算ブロックを64個用いることになる。しかしながら、本発明を適用したエントロピー符号化装置10は、図1の構成では演算ブロックが37個で済み、図6の構成では演算ブロックが19個で済む。エントロピー符号化装置10は、適用する装置の仕様に合わせて遅延と回路規模を設定し、設計することが望ましい。   The entropy encoding apparatus conventionally uses 64 calculation blocks in the encoding calculation unit 20 in order to accurately calculate 64 pieces of block data. However, the entropy encoding apparatus 10 to which the present invention is applied requires only 37 arithmetic blocks in the configuration of FIG. 1, and only 19 arithmetic blocks in the configuration of FIG. The entropy encoding device 10 is desirably designed by setting a delay and a circuit scale in accordance with the specifications of the device to be applied.

以上のように構成することにより、絶対遅延を少なく、回路規模の増大を抑えた形で所望のスループットを実現させることが可能になる。   By configuring as described above, it is possible to realize a desired throughput with a small absolute delay and an increase in circuit scale.

本発明に係る符号化装置を適用したエントロピー符号化装置における概略的な構成を示すブロック図である。It is a block diagram which shows the schematic structure in the entropy encoding apparatus to which the encoding apparatus which concerns on this invention is applied. 図1の符号化演算部での演算におけるデータの読み出すべき順序と方向を説明する図である。It is a figure explaining the order and direction which should read the data in the calculation in the encoding calculating part of FIG. 図1のデータレジスタ部のレジスタ番号とステート出力部からの出力との関係を説明する図である。It is a figure explaining the relationship between the register number of the data register part of FIG. 1, and the output from a state output part. 1次および2次演算でのデータ読出し方向を説明する図である。It is a figure explaining the data reading direction in a primary and secondary calculation. 図1のエントロピー符号化装置におけるステートの読出しと処理量の関係を示す図である。It is a figure which shows the relationship between the reading of the state in the entropy encoding apparatus of FIG. 1, and a processing amount. 図1に示したエントロピー符号化装置の回路規模を縮小させる概略的な構成を示すブロック図である。It is a block diagram which shows the schematic structure which reduces the circuit scale of the entropy encoding apparatus shown in FIG.

符号の説明Explanation of symbols

10 エントロピー符号化装置
12 データレジスタ
14 読出し制御部
16 ステート出力部
18 ステート出力制御部
20 符号化演算部
10 Entropy encoder
12 Data register
14 Read controller
16-state output section
18-state output controller
20 Encoding operation part

Claims (2)

供給される第1のデータを変換して得られた量子化された変換係数を第2のデータとして第1の方向に演算して、符号化する符号化装置において、該装置は、
第2のデータを蓄積する記憶手段と、
該記憶手段から第1の方向と異なる第2の方向に読み出される第2のデータを複数個まとめた所定の単位で読み出す読出し制御信号を生成する読出し制御手段と、
該読出し制御信号に応じて前記所定の単位で第2のデータを出力させる出力手段と、
供給される第2のデータを第1の方向に読み出された順に演算する符号化手段とを含むことを特徴とする符号化装置。
In an encoding apparatus for calculating and encoding a quantized transform coefficient obtained by transforming supplied first data as second data in a first direction, the apparatus includes:
Storage means for accumulating second data;
A read control means for generating a read control signal for reading a plurality of second data read from the storage means in a second direction different from the first direction in a predetermined unit;
Output means for outputting second data in the predetermined unit in response to the read control signal;
An encoding device comprising: encoding means for calculating the supplied second data in the order read in the first direction.
請求項1に記載の装置において、該装置は、前記出力手段からの第2のデータを所定の時間にわたって遅延させる遅延手段を含み、
該遅延手段は、前記出力手段または前記出力手段と前記符号化手段との間に配設されることを特徴とする符号化装置。
2. The apparatus according to claim 1, wherein said apparatus includes delay means for delaying second data from said output means for a predetermined time,
The encoding device characterized in that the delay means is disposed between the output means or between the output means and the encoding means.
JP2006050395A 2006-02-27 2006-02-27 Encoding apparatus Pending JP2007228530A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006050395A JP2007228530A (en) 2006-02-27 2006-02-27 Encoding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006050395A JP2007228530A (en) 2006-02-27 2006-02-27 Encoding apparatus

Publications (1)

Publication Number Publication Date
JP2007228530A true JP2007228530A (en) 2007-09-06

Family

ID=38549846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006050395A Pending JP2007228530A (en) 2006-02-27 2006-02-27 Encoding apparatus

Country Status (1)

Country Link
JP (1) JP2007228530A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001275116A (en) * 2000-03-24 2001-10-05 Sharp Corp Image processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001275116A (en) * 2000-03-24 2001-10-05 Sharp Corp Image processor

Similar Documents

Publication Publication Date Title
US20160012012A1 (en) Matrix transposing circuit
US7139436B2 (en) Orthogonal transform method and apparatus
US9800874B2 (en) Image decoding apparatus executing successive tile decoding and filtering around tile boundary
JP2006157678A (en) Variable length coding apparatus and variable length coding method
CN104244010B (en) Improve the method and digital signal converting method and device of digital signal conversion performance
JP2009295159A (en) Memory access method
JP6087511B2 (en) Image processing apparatus and image processing method
US8787686B2 (en) Image processing device and image processing method
JP2007228530A (en) Encoding apparatus
KR101395143B1 (en) Integer transform method for image processing and device threof
US8238676B2 (en) Image data compressor and image data decompressor
JP3092526B2 (en) 2D inverse discrete cosine transform circuit
Fakhari et al. A two level architecture for high throughput DCT-processor and implementing on FPGA
TWI382768B (en) Method and apparatus for concurrently performing lapped transform and core transform operations
CN101562744A (en) Two-dimensional inverse transformation device
KR100236972B1 (en) Discrete cosine transform apparatus for decoding and encoding with low-transmission rate
JP5546329B2 (en) Data converter
JP5519951B2 (en) Array processor
KR20130137951A (en) Method of inverse transform for ultra-high resoultion video codec
JPH07234863A (en) Two-dimensional orthogonal transformation device
KR20060007142A (en) Method of inverse transform and apparatus thereof
JP5284771B2 (en) Image compression apparatus and image compression method
JP2002197075A (en) Data processor, its control method, data processing method and computer readable memory
JP4714531B2 (en) Zigzag data generation circuit
Lin et al. High performance architecture for unified forward and inverse transform of HEVC

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080729

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081210

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101130