JPH0918355A - Crc arithmetic unit for variable length data - Google Patents

Crc arithmetic unit for variable length data

Info

Publication number
JPH0918355A
JPH0918355A JP18361195A JP18361195A JPH0918355A JP H0918355 A JPH0918355 A JP H0918355A JP 18361195 A JP18361195 A JP 18361195A JP 18361195 A JP18361195 A JP 18361195A JP H0918355 A JPH0918355 A JP H0918355A
Authority
JP
Japan
Prior art keywords
data
crc
register
processing means
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP18361195A
Other languages
Japanese (ja)
Other versions
JP3236758B2 (en
Inventor
Akira Okamoto
彰 岡本
Kenichi Harada
憲一 原田
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.)
Kanebo Ltd
Original Assignee
Kanebo 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 Kanebo Ltd filed Critical Kanebo Ltd
Priority to JP18361195A priority Critical patent/JP3236758B2/en
Publication of JPH0918355A publication Critical patent/JPH0918355A/en
Application granted granted Critical
Publication of JP3236758B2 publication Critical patent/JP3236758B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)

Abstract

PURPOSE: To shorten arithmetic time and to improve the processing efficiency of the entire system by parallelly inputting input data and performing an arithmetic processing corresponding to the bit length of the input data. CONSTITUTION: The plural bits of data are simultaneously inputted. An arithmetic processing means 101 changes an internal processing corresponding to a data length inputted at present and performs a CRC(cyclic redundancy check) arithmetic processing by one step in any data lengths. A result selection processing means 102 decides an output value to a register 103 by an arithmetic result from the arithmetic processing means 101, the contents of the register 103 which is the arithmetic result of a previous time and the state of control signals OE 2, 3, 4 and 8 for indicating the valid bit length of the input data and reset signals. The register 103 holds the value of the result selection processing means 102 for each cycle. A comparison processing means 104 performs a logical operation whether or not the value held in the register 103 and a CRC expected value match and outputs the result.

Description

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

【産業上の利用分野】本発明は、MPEG規格の高能率
符号復合化方式を用いた圧縮音声等のデコード時の誤り
検出に用いられるCRC演算装置に関し、更に詳しく
は、CRC演算処理にかかる時間を短縮してデコードシ
ステム全体の処理の大幅な高速化を可能とするものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a CRC arithmetic unit used for error detection at the time of decoding compressed voice or the like using a high-efficiency code decoding system of the MPEG standard, and more specifically, a time required for CRC arithmetic processing. To shorten the processing time and significantly speed up the processing of the entire decoding system.

【従来の技術】[Prior art]

【0001】最近では、大容量メディアへの応用を目的
とした動画像・音声の高能率符号化が試みられている。
国際標準化されつつあるものとして、MPEG(Mov
ing Picture Experts Grou
p)方式があり、「マルチメディア符号化の標準」(安
田 浩編著、丸善株式会社刊)などに詳説されている。
Recently, high-efficiency coding of moving images / voices has been attempted for the purpose of application to large-capacity media.
As an international standard, MPEG (Mov
ing Picture Experts Grou
p) method, which is described in detail in "Multimedia Coding Standards" (edited by Hiroshi Yasuda, published by Maruzen Co., Ltd.).

【0002】かかるMPEG規格の高能率符号復合化方
式を用いた圧縮音声方式(以下、MPEG−Audio
という)について説明する。MPEG−Audioと
は、音声を単純に記録するのではなく、マスキング効果
や、最小可聴限界などといった、さまざまな手法を組み
合わせて、音声データを約1/6程度まで圧縮を行う技
術である。
A compressed audio system using the high-efficiency code decoding system of the MPEG standard (hereinafter referred to as MPEG-Audio).
Will be described. MPEG-Audio is a technique for compressing audio data to about 1/6 by combining various methods such as masking effect and minimum audible limit, instead of simply recording audio.

【0003】マスキング効果とは、周波数帯域において
大きな音に隣接する小さな音はマスクされ聞こえなくな
るといったものである。また、最小可聴限界は、一定の
レベル以上の音でないと認識できないというものであ
り、そのレベルは周波数域によって異なる。これらの聞
こえない部分のデータを削除することによって、高品質
で、高レベルの圧縮が可能になり、かかる規格を定めた
のが国際標準の音声圧縮技術(ISO−11172−
3)である。しかしながら、前記の方法で圧縮するため
には、経時的にだけでなく周波数別にもデータを扱う必
要があり、圧縮伸長時に多大な計算が必要である。その
ため、リアルタイムでのデコード時には特化したハード
ウェアが必要となる。
The masking effect is that a small sound adjacent to a large sound in the frequency band is masked and cannot be heard. Further, the minimum audible limit is that the sound cannot be recognized unless it is a sound above a certain level, and the level varies depending on the frequency range. By deleting the data of these inaudible parts, high quality and high level compression becomes possible, and the international standard audio compression technology (ISO-11172-) defines such a standard.
3). However, in order to compress by the above method, it is necessary to handle the data not only with time but also by frequency, and a great deal of calculation is required at the time of compression / decompression. Therefore, specialized hardware is required for real-time decoding.

【0004】図2は一般的なMPEG−Audioのデ
コーダのブロック図である。デコーダは大きく分けて、
圧縮データの構成情報を読み出すためのビット分離部、
圧縮データから逆量子化を行う逆量子化部、逆量子化デ
ータから帯域合成を行う帯域合成部の3つのブロックで
構成されている。
FIG. 2 is a block diagram of a general MPEG-Audio decoder. The decoder is roughly divided into
A bit separation unit for reading the configuration information of the compressed data,
The block is composed of three blocks: an inverse quantization unit that performs inverse quantization from compressed data, and a band synthesis unit that performs band synthesis from the dequantized data.

【0005】ビット分離部は、ビット分離と呼ばれる処
理を行う。具体的には、圧縮データの先頭に送られてく
るデータからサンプルデータの取り出しをはじめ、逆量
子化、帯域合成時に使用する為の各種情報、例えば音声
のサンプリングに関する情報のHeader情報、サン
プルデータのビット数を知るためのBit Alloc
ation情報、後述するScaleFactor情報
の格納状態を表すSCFSI(Scale Facto
rSelect Infomation)情報、サンプ
ルデータの再生時の音量を表すScale Facto
r情報を認識する動作を行う。その後、CRC(Cyc
lic Redundancy Check)期待値が
送られてくる。CRCの対象となるのは、Header
情報の一部分と、BitAllocation情報、S
CFSI情報といった以降のデータの読み込みに影響す
る情報である。また、CRCチェックに関しては有無の
選択が可能であり、その選択はHeader部にて行わ
れる。
The bit separation section performs a process called bit separation. Specifically, various data to be used at the time of dequantization and band synthesis, such as extraction of sample data from the data sent at the beginning of compressed data, for example, Header information of information related to audio sampling, sample data Bit Alloc to know the number of bits
application information and SCFSI (Scale Factor) indicating the storage state of Scale Factor information described later.
(rSelect Information) information, Scale Facto indicating the volume of the sample data at the time of reproduction
Performs an operation for recognizing r information. After that, CRC (Cyc
lic Redundancy Check) An expected value is sent. The target of CRC is Header
Part of the information, BitAllocation information, S
It is information that affects the reading of subsequent data such as CFSI information. Also, with respect to the CRC check, it is possible to select whether or not there is a CRC check, and the selection is performed by the Header section.

【0006】次に、逆量子化部は、Bit Alloc
ation情報を元にサンプルデータの読み出しを行
い、さらにScale Factorによって音量を計
算し、32の帯域別にそれぞれ計算が行われる。
Next, the inverse quantizer is a Bit Alloc.
The sample data is read out based on the station information, the volume is calculated by the Scale Factor, and the calculation is performed for each of the 32 bands.

【0007】最後に、帯域合成部での処理について説明
を行う。図3は、逆量子化部で、算出された32の値と
以前までの1024サンプルとを用いて最終的な32の
時間軸上のPCMサンプルデータが算出されるまでのI
SO勧告による帯域合成を行う際の演算フローチャート
である。同図に示す如く、32サブバンドデータを入力
した後、前回までの値のシフト処理を行ないVを生成す
る(ステップ1)。ついで、データViに対してROM
係数NikとSとの、行列演算を行いViの算出を行う
(ステップ2)。更にVi自体で演算を行いUを算出し
(ステップ3)、Uに対して係数Dをかけ、Wiの算出
を行う(ステップ4)。最後にWiの行列演算を行い、
最終的に32のPCMデータの算出が行われる(ステッ
プ5)。
Finally, the processing in the band synthesizing section will be described. FIG. 3 is a graph showing the time until the final PCM sample data on the time axis of 32 is calculated by the dequantization unit using the calculated 32 values and the previous 1024 samples.
It is a calculation flowchart at the time of performing band synthesis by SO recommendation. As shown in the figure, after inputting 32 sub-band data, a shift process of the value up to the previous time is performed to generate V (step 1). Then, ROM for data Vi
A matrix operation is performed on the coefficients Nik and S to calculate Vi (step 2). Further, calculation is performed by Vi itself to calculate U (step 3), U is multiplied by a coefficient D, and Wi is calculated (step 4). Finally perform Wi matrix operation,
Finally, 32 pieces of PCM data are calculated (step 5).

【0008】以上の如き、MPEG−Audioのデコ
ーダにおいて、リアルタイムでデコード処理を行うにあ
たっては、システム全体としての処理速度が大きな問題
点となる。すなわち、MPEG−Audioでは、デー
タはフレームという単位で処理されるため、規格に定め
られた44.1kHzでサンプリングされたデータをリ
アルタイムでデコードするためには、1フレーム当たり
での処理時間は約26ms程度と極めて短い時間しか許
容されない。MPEG−Audioのデコード処理にお
いて帯域合成処理は行列演算が多くを占めているため、
演算処理が大変多くなっている。しかしながら、この部
分は必須部分であり、処理の短縮を図ることが大変困難
である。そこで、ここまでの段階、ビット分離部や逆量
子化部分などの前処理に相当する部分で高速化を図るこ
とが現実的である。
As described above, in the MPEG-Audio decoder, when performing the decoding processing in real time, the processing speed of the entire system becomes a serious problem. That is, in MPEG-Audio, data is processed in units of frames. Therefore, in order to decode the data sampled at 44.1 kHz defined in the standard in real time, the processing time per frame is about 26 ms. Only a very short time is allowed. In the decoding process of MPEG-Audio, the matrix calculation occupies most of the band synthesis process,
The amount of arithmetic processing is extremely large. However, this part is an essential part, and it is very difficult to shorten the processing. Therefore, it is realistic to increase the speed in the steps up to this point and in the parts corresponding to the preprocessing such as the bit separation part and the inverse quantization part.

【0009】一般に、これら処理の高速化手法を考えて
みた場合、処理順序の変更、処理の並列化、処理の削減
などが考えられる。しかしながら、MPEGの如く勧告
で処理内容が定められている場合は、処理の並列化によ
って高速化を図る手法が容易であり、また効果が高いと
考えられる。そこで、本発明はビット分離部内のCRC
演算装置を対象としてその高速化を図り、MPEG−A
udioのリアルタイムデコード処理を図ることを課題
とするものである。
[0009] In general, when considering a method for speeding up these processes, it is possible to change the processing order, parallelize the processes, reduce the processes, and the like. However, when the processing content is defined by the recommendation like MPEG, it is considered that the method of increasing the processing speed by parallelizing the processing is easy and the effect is high. Therefore, the present invention uses the CRC in the bit separation unit.
Targeting arithmetic units, the speed is increased, and MPEG-A
It is an object to achieve a real-time decoding process of audio.

【0010】さて、図4は、従来のCRC演算器の一例
を示す図である。該CRC演算器は、いわゆる1ビット
毎にデータを順次入力を行ってゆく方式であり、16の
シフトレジスタと3つの演算器から構成される。入力ビ
ットDが入力されると、R0にデータが蓄積される。ま
た、R0に蓄積されていたデータはR1へシフトされ
る。同様にR1のデータはDと演算を行いR2へシフト
され、以下同様に順次シフト動作を行う。
Now, FIG. 4 is a diagram showing an example of a conventional CRC calculator. The CRC arithmetic unit is a so-called method of sequentially inputting data bit by bit, and is composed of 16 shift registers and three arithmetic units. When the input bit D is input, the data is stored in R0. Further, the data stored in R0 is shifted to R1. Similarly, the data of R1 is operated on with D to be shifted to R2, and thereafter the same shift operation is performed.

【0011】図5から図12は8ビットのデータが順に
入力された各ステップ時の演算状態を表す図であり、前
記図4は演算開始時の状態を表す。図中のB15からB
0までが各々のレジスタに記憶されている値を表すもの
とする。また論理演算1から3はそれぞれXOR(排他
的論理和)を表す。(本明細書中では論理演算を+と表
記する)
FIGS. 5 to 12 are diagrams showing the operation state at each step when 8-bit data is sequentially input, and FIG. 4 shows the state at the start of operation. B15 to B in the figure
It is assumed that up to 0 represents the value stored in each register. Further, each of the logical operations 1 to 3 represents XOR (exclusive OR). (In this specification, a logical operation is expressed as +)

【0012】図5はD7、CRCの対象データの最上位
ビットが入力され、演算が終了した時点の状態を示す図
である。まずデータが入力され論理演算1(B15+D
7の結果をAとする)が計算される。結果はレジスタR
0に格納される。また、レジスタR2はレジスタR1の
保持していた値B1と演算結果Aとの論理演算を行い
(B1+Aとなる)、結果をレジスタR2で保持する。
同様に、レジスタR15はレジスタR14が保持してい
た値B14と演算結果Aとの論理演算を行い(B14+
A)、結果をレジスタR15で保持する。上記以外のレ
ジスタは単純にシフト動作を行い、値の保持を行う。同
様な手順で、演算を行っていくと、順に図6から図12
のようになる。すなわち、初期状態としてすべてのシフ
トレジスタを1で初期化を行った後に順次ビットデータ
が入力されていき、最終のビットデータが入力された時
の全シフトレジスタの値が求めるCRC値を表す。
FIG. 5 is a diagram showing the state at the time when the most significant bit of the target data of D7 and CRC is input and the operation is completed. First, data is input and logical operation 1 (B15 + D
The result of 7 is A) is calculated. The result is register R
0 is stored. The register R2 performs a logical operation on the value B1 held in the register R1 and the operation result A (becomes B1 + A), and holds the result in the register R2.
Similarly, the register R15 performs a logical operation between the value B14 held in the register R14 and the operation result A (B14 +
A), the result is held in the register R15. Registers other than the above perform simple shift operations and hold values. When the calculation is performed in the same procedure, FIG. 6 to FIG.
become that way. That is, as the initial state, all the shift registers are initialized with 1 and then bit data are sequentially input, and the values of all the shift registers when the final bit data are input represent the CRC value obtained.

【0013】[0013]

【発明が解決しようとする課題】しかしながら、上記の
方法では、ビット単位で入力が行われねばならず、処理
上での大きな制約となってくる。つまり、MPEG−A
udioの勧告では、CRC演算を行うに際し1ビット
毎にデータを順次入力していく方式での演算を勧告して
おり、処理には少なくとも入力データのビット長に相当
するステップ数が必要であった。例えば256ビットの
入力データを用いてCRC演算を行う場合には、必然的
に256ステップといった時間を処理に要していた。そ
のため、システム全体でのCRC保護情報に対する処理
の負荷が大きくなり、特にリアルタイムでのデコードを
行う際の障害となっていた。
However, in the above method, the input must be performed in bit units, which is a great limitation in processing. That is, MPEG-A
The audio recommendation recommends the operation of sequentially inputting data bit by bit when performing the CRC operation, and the processing requires at least the number of steps corresponding to the bit length of the input data. . For example, when the CRC calculation is performed using 256-bit input data, the processing inevitably requires 256 steps. For this reason, the processing load on the CRC protection information in the entire system becomes large, which is an obstacle particularly to decoding in real time.

【0014】そこで、本発明では、入力をパラレルにす
るとともに、入力データを可変とした。CRCの演算対
象となるデータはBit Allocation、SC
FSIのデータであり、かかるデータのビット長は、ヘ
ッダー情報部が8bit、BitAllocation
部は4,3,2bitのいずれか、SCFSI部は2b
itである。つまり、パラレルに入力する場合でも、
8,4,3,2bitの入力を判断して処理することが
可能となれば、データの読み出しを行いながらCRC計
算を行うことができる。
Therefore, in the present invention, the input is made parallel and the input data is made variable. The data to be calculated by CRC is Bit Allocation, SC
This is FSI data, and the bit length of such data is 8 bits in the header information part and Bit Allocation
Part is 4, 3 or 2 bit, SCFSI part is 2b
It. In other words, even when inputting in parallel,
If it is possible to judge and process the input of 8, 4, 3, 2 bits, the CRC calculation can be performed while reading the data.

【0015】すなわち、本発明は、CRC演算処理の対
象データが種々のデータ長を有していても、これをパラ
レルに入力して処理を行うことにより、CRC演算時間
を短縮してシステム全体の処理効率を向上せしめ、リア
ルタイムデコード処理とシステムの小型化を達成するこ
とを目的とするものである。
That is, according to the present invention, even if the target data of the CRC calculation processing has various data lengths, the CRC calculation time is shortened by inputting the data in parallel and processing the data. It is intended to improve the processing efficiency and achieve real-time decoding processing and system miniaturization.

【0016】[0016]

【課題を解決するための手段】本発明は、連続的に入力
される可変長データをCRC演算する装置であって、後
記結果選択処理手段の出力を保持するレジスタと、該レ
ジスタに保持された値と今回入力されたデータとを演算
処理して、可変長データの各ビット長におけるCRCの
各ビット値を出力する演算処理手段と、可変長データの
ビット長に応じて演算処理手段から出力された各ビット
値を選択して出力する結果選択処理手段と、前記レジス
タの出力を予め設定されたCRC期待値と比較しその結
果を出力する比較処理手段とからなることを特徴とする
可変長データのCRC演算装置である。
SUMMARY OF THE INVENTION The present invention is a device for performing a CRC operation on continuously input variable length data, and a register for holding an output of a result selection processing means, which will be described later, and a register held in the register. An arithmetic processing unit that arithmetically processes the value and the data input this time and outputs each bit value of the CRC in each bit length of the variable length data, and an arithmetic processing unit that outputs the bit value of the variable length data according to the bit length. Variable length data, which comprises result selection processing means for selecting and outputting each bit value and comparison processing means for comparing the output of the register with a preset CRC expected value and outputting the result. CRC calculation device.

【0017】[0017]

【作用】本発明は、CRC演算器へのデータの入力を1
ビット毎ではなく複数ビット同時に入力を行うと共に、
入力される有効データが一定のデータ長では無いため、
現在入力されているデータ長を識別してそのデータ長に
応じて、内部処理を変更して、何れのデータ長において
も1ステップでCRC演算処理を行う。
According to the present invention, the data input to the CRC calculator is 1
Input multiple bits simultaneously instead of each bit,
Since the valid data that is input is not a fixed data length,
The currently input data length is identified, the internal processing is changed according to the data length, and the CRC calculation processing is performed in one step for any data length.

【0018】[0018]

【実施例】以下、本発明の実施例を図面に基づき説明す
る。図1は、本発明にかかわるCRC演算装置のブロッ
ク図である。同図に示す如く、CRC演算装置は、演算
処理手段101、結果選択処理手段102、レジスタ1
03、比較処理手段104から構成される。また、本実
施例においては、8ビットまでの8、4、3、2の各有
効ビット長のデータが入力されるものとする。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram of a CRC calculation device according to the present invention. As shown in the figure, the CRC arithmetic unit includes arithmetic processing means 101, result selection processing means 102, and register 1.
03, comparison processing means 104. Further, in the present embodiment, it is assumed that data of each valid bit length of 8, 4, 3, 2 up to 8 bits is input.

【0019】演算処理手段101は2、3、4、8の各
有効ビット長を有する入力データおよび、入力データの
有効ビット長を表すOE2、3、4、8の制御信号、リ
セット信号、CRC期待値の入力をもとに、演算を行い
CRCが正しいか否かを出力する装置である。また入力
データは常に最上位ビットから有効データが入力される
ものとする。演算処理手段101は、従来のCRC演算
器である図4に示された3か所の論理演算処理をシフト
動作を行うことなく演算処理して出力するもので、入力
されるデータの全種類のビット長の各ビットに対応する
値を出力するものである。図13は、図5〜図12に示
すCRC演算処理結果を8ステップまで順次抜き出した
ものであり、図14は、その始めの3ステップを抜き出
し式を展開したものである。
The arithmetic processing means 101 has input data having respective effective bit lengths of 2, 3, 4, 8 and control signals of OE 2, 3, 4, 8 representing the effective bit length of the input data, a reset signal, and a CRC expectation. It is a device that performs an operation based on the input of a value and outputs whether or not the CRC is correct. It is assumed that valid data is always input from the most significant bit as input data. The arithmetic processing means 101 performs arithmetic processing of the logical operation processing of three places shown in FIG. 4 which is a conventional CRC arithmetic unit without performing a shift operation, and outputs the arithmetic operation processing. The value corresponding to each bit of the bit length is output. FIG. 13 is a drawing in which the CRC calculation processing results shown in FIGS. 5 to 12 are sequentially extracted up to eight steps, and FIG. 14 is a drawing in which the extraction of the first three steps is expanded.

【0020】更に、図14を論理回路図で表したものを
図15に示す。同図において、Dnは各ビットの入力デ
ータ、Bnは各ビットの開始時のレジスタの内容を、C
aln_Stepnは各ステップにおける論理演算1、
2、3の出力を表す。これらの図に示す如く、論理演算
1、2、3の結果は、すべて開始時点でのレジスタの値
と、入力値で決定される。よって、図15に示す如きゲ
ート回路を用いることにより、各論理演算1、2、3の
ステップ1〜8の演算をおこない、3箇所、8ステップ
分の演算後の組み合わせを作成する。また、この作成に
おいては単純なゲーティングで行えるため、入力後、即
時に演算結果が求められる事となる。
Further, FIG. 15 shows a logic circuit diagram of FIG. In the figure, Dn is the input data of each bit, Bn is the content of the register at the start of each bit, C
aln_Stepn is a logical operation 1 in each step,
Represents a few outputs. As shown in these figures, the results of the logical operations 1, 2, and 3 are all determined by the register value at the start point and the input value. Therefore, by using the gate circuit as shown in FIG. 15, the operations of steps 1 to 8 of the respective logical operations 1, 2, and 3 are performed to create a combination after the operations of three places and eight steps. In addition, since this creation can be performed by simple gating, the calculation result is immediately required after the input.

【0021】結果選択処理手段102は演算処理手段1
01からの演算結果と前回の演算結果であるレジスタの
内容及びOE2、3、4、8、リセット信号の状態によ
り、レジスタへの出力値を決定する。すなわち、上記の
演算処理手段において、いったん8ステップ分まで計算
されたデータである入力されるデータの全種類のビット
長の各ビットに対応する値及び前回の演算結果のうち、
有効なビット値を制御信号により選択し出力するもので
ある。
The result selection processing means 102 is the arithmetic processing means 1.
The output value to the register is determined by the operation result from 01, the previous operation result, the contents of the register, the states of OE2, 3, 4, 8 and the reset signal. That is, in the above arithmetic processing means, among the values corresponding to each bit of the bit lengths of all kinds of input data, which is the data once calculated for eight steps, and the previous arithmetic result,
A valid bit value is selected by a control signal and output.

【0022】図16は、2、3、4、8の各ビット長に
対応する2ステップ処理後の図6、3ステップ処理後の
図7、4ステップ処理後の図8、8ステップ処理後の図
12を基に、選択すべき値を表としたものであり、上か
ら順にOE2,OE3,OE4,OE8,選択なし,R
eset時の各々のレジスタの出力値を表している。ま
た、リセット信号が入力されていた場合は、最優先で、
リセット動作として総ての信号出力を’1’とする。そ
して、いずれの信号も入力されていない場合は、現在の
状態を保持する動作、すなわち現在のレジスタの値の出
力を行う。結果選択処理手段102は、OE2、3、
4、8及びRESET信号に応じて図16に示される値
を出力するため、具体的にはセレクター回路等を用いる
ことができる。
FIG. 16 shows the data after the two-step processing corresponding to the bit lengths of 2, 3, 4, and 8 in FIG. 6, the data after the three-step processing in FIG. 7, and the data after the four-step processing in FIG. The values to be selected are shown in the table based on FIG. 12, and OE2, OE3, OE4, OE8, no selection, and R in order from the top.
The output value of each register at the time of reset is shown. If a reset signal is input, it has the highest priority,
As a reset operation, all signal outputs are set to "1". When neither signal is input, the operation of holding the current state, that is, the output of the current register value is performed. The result selection processing means 102 uses OE2, 3,
Since the values shown in FIG. 16 are output according to 4, 8 and RESET signals, specifically, a selector circuit or the like can be used.

【0023】更に、レジスタはサイクル毎の結果選択処
理手段102の値を保持する動作を行う。また、比較処
理手段104は、前記演算処理の結果求められレジスタ
にて保持されている値と、入力されたCRC期待値とが
一致しているか否かの論理演算を行い、その結果の出力
動作を行うもので、コンパレータ回路等により実現する
ことができる。
Further, the register performs an operation of holding the value of the result selection processing means 102 for each cycle. Further, the comparison processing means 104 performs a logical operation on whether or not the value obtained as a result of the arithmetic processing and held in the register and the input CRC expected value match, and the output operation of the result. It can be realized by a comparator circuit or the like.

【0024】以下、具体的にデータを入力した場合の演
算処理手段101のビット長に対応する出力値について
説明する。ここでは、入力データとして、2進数で上位
ビットから「1010」の4ビットデータが入力され、
レジスタの初期状態として、2進数で上位ビットから、
「0011001101010101」と設定されてい
る場合を想定する。
The output value corresponding to the bit length of the arithmetic processing means 101 when data is specifically input will be described below. Here, as input data, 4-bit data of “1010” from the upper bit in binary number is input,
As the initial state of the register, from the upper bit in binary,
It is assumed that "001100111010101" is set.

【0025】先ず、図17は、従来のシフト演算を行っ
た際の様子を表形式で示したものである。図4と同様の
手順でレジスタの下位ビットから順に計算してみると、
R0は0と1で、演算結果は1となる。R1は該値をシ
フトして1、R2は、シフトされた値1と0で、結果は
1となる。以降、R14までは、単純にシフト動作を行
ってゆき、R15は0と1で、演算結果は1となる。1
ビット目の入力に対して演算結果は、上位ビットから順
に、「1110011010101111」となる。以
下同様の手順で演算を行ってゆくと最終的に求められる
値、すなわCRCの演算結果は、「001101010
1100110」となる。
First, FIG. 17 is a table showing a state when a conventional shift operation is performed. When calculating from the lower bit of the register in the same procedure as in FIG. 4,
R0 is 0 and 1, and the operation result is 1. R1 shifts the value by 1 and R2 is the shifted value 1 and 0, resulting in 1. After that, the shift operation is simply performed until R14, and R15 is 0 and 1, and the operation result is 1. 1
The operation result for the input of the bit is “1110011010101111” in order from the upper bit. When the calculation is performed in the same procedure below, the finally obtained value, that is, the CRC calculation result is "001101010".
1100110 ".

【0026】次に、本発明を用いた場合の演算を行った
場合を以下に述べる。最終的に求められるCRCの値を
R15〜R0、計算開始時のレジスタの値をB15〜B
0、入力データをD7〜D0とする。ただし、入力デー
タは4ビットなので、上位ビットD7から順に入力され
ているものとする。式中のA,B,C,Dは図5〜8に
て示されているものである。
Next, the case where the calculation is performed using the present invention will be described below. The CRC value finally obtained is R15 to R0, and the register value at the start of calculation is B15 to B
0 and input data are D7 to D0. However, since the input data is 4 bits, it is assumed that the upper bits D7 are sequentially input. A, B, C, and D in the equations are shown in FIGS.

【0027】また、今回の入力データは4ビットなので
OE4の制御信号が有効となっており、この表のOE4
の状態に基づき計算を行ってゆく。先ずR15の最上位
ビットの計算は、D+B11であり、この式を展開する
と以下の如くになる。
Since the input data this time is 4 bits, the control signal of OE4 is valid.
Calculate based on the state of. First, the calculation of the most significant bit of R15 is D + B11, and when this formula is expanded, it becomes as follows.

【0028】[0028]

【数1】 [Equation 1]

【0029】前記式より最終的に求められるR15は0
となる。次に、R14〜R6を求めてみる。図16よ
り、この部分は単純にレジスタの保持値を選択するのみ
であるため以下のような式となる。
R15 finally obtained from the above equation is 0.
Becomes Next, try to find R14 to R6. According to FIG. 16, this portion simply selects the holding value of the register, and therefore the following equation is obtained.

【0030】[0030]

【数2】 [Equation 2]

【0031】次に図16からR5を求めてみる。R5は
図よりB1+Aとなっており、この式を展開すると以下
のようになる。
Next, R5 will be obtained from FIG. R5 is B1 + A from the figure, and when this formula is expanded, it becomes as follows.

【0032】[0032]

【数3】 (Equation 3)

【0033】前記式よりR5の最終的な値は1となる。
同様に図16からR4を求める。R4は図16よりB0
+Bとなっており、この式を展開すると以下のようにな
る。
From the above equation, the final value of R5 is 1.
Similarly, R4 is obtained from FIG. R4 is B0 from FIG.
It is + B, and when this formula is expanded, it becomes as follows.

【0034】[0034]

【数4】 (Equation 4)

【0035】前記式よりR4= 0となる。次に、図16
よりR3を求める。R3は図16よりA+Cとなり、同
様に式を展開すると以下のようになる。
From the above equation, R4 = 0. Next, in FIG.
R3 is obtained from R3 becomes A + C from FIG. 16, and when the formula is similarly expanded, it becomes as follows.

【0036】[0036]

【数5】 (Equation 5)

【0037】前記式より最終的に求められる、R3は0
となる。同様に図16よりR2はB+Dとなり、式を展
開すると以下のようになる。
R3 finally obtained from the above equation is 0.
Becomes Similarly, from FIG. 16, R2 is B + D, and the expression is expanded as follows.

【0038】[0038]

【数6】 (Equation 6)

【0039】上記、式より求められる最終的なR2は1
となる。同様にR1は、図16より、Cとなっており、
式を展開し計算を行うと、次のようになる。
The final R2 obtained from the above equation is 1
Becomes Similarly, R1 is C from FIG. 16,
Expanding the formula and performing the calculation gives the following:

【0040】[0040]

【数7】 (Equation 7)

【0041】前記、式よりR1は1となる。最後にR0
を図16から求める。R0は図16よりDとなってお
り、次のようになる。
From the above equation, R1 is 1. Finally R0
Is obtained from FIG. R0 is D according to FIG. 16, and is as follows.

【0042】[0042]

【数8】 (Equation 8)

【0043】前記式より、最終的なR0は0となる。以
上の結果により、最終的にもとめられる、CRCの値
は、「0011010101100110」となり、従
来のシフト演算を行った際に求められるCRC値と同じ
値となる。
From the above equation, the final R0 becomes 0. From the above results, the CRC value finally obtained becomes "0011010101100110", which is the same as the CRC value obtained when the conventional shift operation is performed.

【0044】[0044]

【発明の効果】本発明は入力データを並列で入力し、入
力データのビット長に応じて演算処理を行うことによ
り、従来必要とされた演算ステップ数を飛躍的に短縮す
ることが可能となり、本装置を用いることによって、M
PEG−Audioのデコードシステム全体の処理向上
が図れ、リアルタイム処理を行う際に極めて有用なもの
である。
According to the present invention, by inputting input data in parallel and performing arithmetic processing according to the bit length of the input data, it becomes possible to dramatically reduce the number of arithmetic steps conventionally required, By using this device, M
The processing of the PEG-Audio decoding system as a whole can be improved, which is extremely useful when performing real-time processing.

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

【図1】本発明のCRC演算装置を示すブロック図であ
る。
FIG. 1 is a block diagram showing a CRC calculation device of the present invention.

【図2】一般的なMPEG−Audioのデコーダを示
すブロック図である。
FIG. 2 is a block diagram showing a general MPEG-Audio decoder.

【図3】ISO勧告による帯域合成を行う際の演算を示
すフローチャートである。
FIG. 3 is a flowchart showing an operation when performing band combination according to ISO recommendation.

【図4】従来のCRC演算器を示す説明図である。FIG. 4 is an explanatory diagram showing a conventional CRC calculator.

【図5】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 5 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図6】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 6 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図7】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 7 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図8】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 8 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図9】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 9 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図10】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 10 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図11】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 11 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図12】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 12 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図13】CRC演算処理結果の一部を示す表である。FIG. 13 is a table showing a part of CRC calculation processing results.

【図14】CRC演算処理結果の一部を示す表である。FIG. 14 is a table showing a part of the CRC calculation processing result.

【図15】CRC演算処理を行う論理回路の一部を示す
論理回路図である。
FIG. 15 is a logic circuit diagram showing a part of a logic circuit that performs CRC calculation processing.

【図16】CRC演算処理結果の一部を示す表である。FIG. 16 is a table showing a part of the CRC calculation processing result.

【図17】CRC演算処理結果の一部を示す表である。FIG. 17 is a table showing a part of the CRC calculation processing result.

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

101 演算処理手段 102 結果選択処理手段 103 レジスタ 104 比較処理手段 101 arithmetic processing means 102 result selection processing means 103 register 104 comparison processing means

【手続補正書】[Procedure amendment]

【提出日】平成8年6月6日[Submission date] June 6, 1996

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】図面の簡単な説明[Correction target item name] Brief description of drawings

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

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

【図1】本発明のCRC演算装置を示すブロック図であ
る。
FIG. 1 is a block diagram showing a CRC calculation device of the present invention.

【図2】一般的なMPEG−Audioのデコーダを示
すブロック図である。
FIG. 2 is a block diagram showing a general MPEG-Audio decoder.

【図3】ISO勧告による帯域合成を行う際の演算を示
すフローチャートである。
FIG. 3 is a flowchart showing an operation when performing band combination according to ISO recommendation.

【図4】従来のCRC演算器を示す説明図である。FIG. 4 is an explanatory diagram showing a conventional CRC calculator.

【図5】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 5 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図6】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 6 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図7】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 7 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図8】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 8 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図9】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 9 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図10】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 10 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図11】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 11 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図12】従来のCRC演算器の動作を示す説明図であ
る。
FIG. 12 is an explanatory diagram showing an operation of a conventional CRC calculator.

【図13】CRC演算処理結果の一部を示す表であ
る。
13 is a diagram table showing a part of a CRC calculation result.

【図14】CRC演算処理結果の一部を示す表であ
る。
14 is a diagram table showing a part of a CRC calculation result.

【図15】CRC演算処理を行う論理回路の一部を示す
論理回路図である。
FIG. 15 is a logic circuit diagram showing a part of a logic circuit that performs CRC calculation processing.

【図16】CRC演算処理結果の一部を示す表であ
る。
16 is a diagram table showing a part of a CRC calculation result.

【図17】CRC演算処理結果の一部を示す表であ
る。
17 is a diagram table showing a part of a CRC calculation result.

【符号の説明】 101 演算処理手段 102 結果選択処理手段 103 レジスタ 104 比較処理手段[Description of Reference Signs] 101 arithmetic processing means 102 result selection processing means 103 register 104 comparison processing means

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 連続的に入力される可変長データをCR
C演算する装置であって、後記結果選択処理手段の出力
を保持するレジスタと、該レジスタに保持された値と今
回入力されたデータとを演算処理して、可変長データの
各ビット長におけるCRCの各ビット値を出力する演算
処理手段と、可変長データのビット長に応じて演算処理
手段から出力された各ビット値を選択して出力する結果
選択処理手段と、前記レジスタの出力を予め設定された
CRC期待値と比較しその結果を出力する比較処理手段
とからなることを特徴とする可変長データのCRC演算
装置。
1. A variable length data which is continuously input is CR.
A device for performing a C operation, wherein a register for holding the output of the result selection processing means described later, a value held in the register, and the data input this time are arithmetically operated to perform CRC at each bit length of the variable length data. The arithmetic processing means for outputting each bit value of, the result selection processing means for selecting and outputting each bit value output from the arithmetic processing means according to the bit length of the variable length data, and the output of the register are preset. A CRC calculation device for variable-length data, comprising: a comparison processing unit that compares the calculated CRC expected value and outputs the result.
JP18361195A 1995-06-26 1995-06-26 CRC arithmetic unit for variable length data Expired - Fee Related JP3236758B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18361195A JP3236758B2 (en) 1995-06-26 1995-06-26 CRC arithmetic unit for variable length data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18361195A JP3236758B2 (en) 1995-06-26 1995-06-26 CRC arithmetic unit for variable length data

Publications (2)

Publication Number Publication Date
JPH0918355A true JPH0918355A (en) 1997-01-17
JP3236758B2 JP3236758B2 (en) 2001-12-10

Family

ID=16138828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18361195A Expired - Fee Related JP3236758B2 (en) 1995-06-26 1995-06-26 CRC arithmetic unit for variable length data

Country Status (1)

Country Link
JP (1) JP3236758B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0836284A2 (en) * 1996-10-09 1998-04-15 Nec Corporation Code generator for selectively producing cyclic redundancy check data codes different in data length
KR20020087822A (en) * 2001-05-16 2002-11-23 손승일 Variable length CRC-10 computation and verification block circuits using input parameter.
US6519737B1 (en) 2000-03-07 2003-02-11 International Business Machines Corporation Computing the CRC bits at a time for data whose length in bits is not a multiple of M

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0836284A2 (en) * 1996-10-09 1998-04-15 Nec Corporation Code generator for selectively producing cyclic redundancy check data codes different in data length
EP0836284A3 (en) * 1996-10-09 2001-01-31 Nec Corporation Code generator for selectively producing cyclic redundancy check data codes different in data length
US6519737B1 (en) 2000-03-07 2003-02-11 International Business Machines Corporation Computing the CRC bits at a time for data whose length in bits is not a multiple of M
DE10105626B4 (en) * 2000-03-07 2006-07-06 International Business Machines Corp. Method and system for calculating cyclic block check code and method for detecting a fault
KR20020087822A (en) * 2001-05-16 2002-11-23 손승일 Variable length CRC-10 computation and verification block circuits using input parameter.

Also Published As

Publication number Publication date
JP3236758B2 (en) 2001-12-10

Similar Documents

Publication Publication Date Title
US20060212290A1 (en) Audio coding apparatus and audio decoding apparatus
US7107111B2 (en) Trick play for MP3
EP2260486B1 (en) Audio quantizing by reduced-complexity vector indexing
US5926785A (en) Speech encoding method and apparatus including a codebook storing a plurality of code vectors for encoding a speech signal
US6480550B1 (en) Method of compressing an analogue signal
JP3236758B2 (en) CRC arithmetic unit for variable length data
JP2003526986A (en) Arithmetic decoding of arithmetically encoded information signals
JPH11119800A (en) Method and device for voice encoding and decoding
US20020093438A1 (en) Huffman decoder with reduced memory size
JP3088163B2 (en) LSP coefficient quantization method
JP2796408B2 (en) Audio information compression device
JPH03233500A (en) Voice synthesis system and device used for same
KR100304137B1 (en) Sound compression/decompression method and system
JP3648931B2 (en) Iterative transform speech coding method and apparatus
JPH0573098A (en) Speech processor
JP2001188563A (en) Effective sectioning method for audio coding
JPH08179800A (en) Sound coding device
JP3257386B2 (en) Vector quantization method
JP3350340B2 (en) Voice coding method and voice decoding method
JP2001166796A (en) Device and method for compressing and decompressing voice data
JP3049574B2 (en) Gain shape vector quantization
JP3700310B2 (en) Vector quantization apparatus and vector quantization method
JP3154293B2 (en) Audio signal band synthesis decoding device
JP3210165B2 (en) Voice encoding / decoding method and apparatus
JPS6314523A (en) Voice coding system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees