JP3236758B2 - CRC arithmetic unit for variable length data - Google Patents
CRC arithmetic unit for variable length dataInfo
- Publication number
- JP3236758B2 JP3236758B2 JP18361195A JP18361195A JP3236758B2 JP 3236758 B2 JP3236758 B2 JP 3236758B2 JP 18361195 A JP18361195 A JP 18361195A JP 18361195 A JP18361195 A JP 18361195A JP 3236758 B2 JP3236758 B2 JP 3236758B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- crc
- bit
- register
- input
- 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 - Fee Related
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Error Detection And Correction (AREA)
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 when decoding compressed audio or the like using a high-efficiency code decoding system conforming to the MPEG standard. To shorten the processing speed of the entire decoding system.
【0001】最近では、大容量メディアへの応用を目的
とした動画像・音声の高能率符号化が試みられている。
国際標準化されつつあるものとして、MPEG(Mov
ing Picture Experts Grou
p)方式があり、「マルチメディア符号化の標準」(安
田 浩編著、丸善株式会社刊)などに詳説されている。Recently, high-efficiency coding of moving images and voices for the purpose of application to large-capacity media has been attempted.
As an international standard, MPEG (Mov
ing Picture Experts Grou
p) method, which is described in detail in "Standards for Multimedia Coding" (edited by Hiroshi Yasuda, published by Maruzen Co., Ltd.).
【0002】かかるMPEG規格の高能率符号復合化方
式を用いた圧縮音声方式(以下、MPEG−Audio
という)について説明する。MPEG−Audioと
は、音声を単純に記録するのではなく、マスキング効果
や、最小可聴限界などといった、さまざまな手法を組み
合わせて、音声データを約1/6程度まで圧縮を行う技
術である。[0002] A compressed audio system using a 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 a masking effect and a minimum audible limit, instead of simply recording audio.
【0003】マスキング効果とは、周波数帯域において
大きな音に隣接する小さな音はマスクされ聞こえなくな
るといったものである。また、最小可聴限界は、一定の
レベル以上の音でないと認識できないというものであ
り、そのレベルは周波数域によって異なる。これらの聞
こえない部分のデータを削除することによって、高品質
で、高レベルの圧縮が可能になり、かかる規格を定めた
のが国際標準の音声圧縮技術(ISO−11172−
3)である。しかしながら、前記の方法で圧縮するため
には、経時的にだけでなく周波数別にもデータを扱う必
要があり、圧縮伸長時に多大な計算が必要である。その
ため、リアルタイムでのデコード時には特化したハード
ウェアが必要となる。[0003] The masking effect is such that a small sound adjacent to a large sound in a frequency band is masked and cannot be heard. In addition, the minimum audible limit is that the sound cannot be recognized unless the sound is above a certain level, and the level differs depending on the frequency range. By deleting these inaudible portions of data, high-quality, high-level compression is possible, and such standards are defined by international standard audio compression technology (ISO-11172-).
3). However, in order to perform compression by the above method, it is necessary to handle data not only with time but also for each frequency, and a large amount of calculation is required at the time of compression and decompression. Therefore, specialized hardware is required for decoding in real time.
【0004】図2は一般的なMPEG−Audioのデ
コーダのブロック図である。デコーダは大きく分けて、
圧縮データの構成情報を読み出すためのビット分離部、
圧縮データから逆量子化を行う逆量子化部、逆量子化デ
ータから帯域合成を行う帯域合成部の3つのブロックで
構成されている。FIG. 2 is a block diagram of a general MPEG-Audio decoder. Decoders are roughly divided,
A bit separation unit for reading the configuration information of the compressed data,
It is composed of three blocks: an inverse quantization unit that performs inverse quantization from the compressed data, and a band synthesis unit that performs band synthesis from the inversely quantized 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部にて行わ
れる。[0005] The bit separation unit performs a process called bit separation. More specifically, various kinds of information used at the time of dequantization and band synthesis, such as extraction of sample data from the data sent to the head of the compressed data, such as header information of information relating to audio sampling and sample data Bit Alloc to know the number of bits
SCFSI (Scale Factor) indicating the storage state of the application information and the Scale Factor information described later.
rSelect Information), Scale Facto indicating the volume when the sample data is reproduced
An operation for recognizing the r information is performed. Then, the CRC (Cyc
Like Redundancy Check) expected value is sent. The target of CRC is Header
Part of the information, BitAllocation information, S
This is information that affects reading of subsequent data such as CFSI information. In addition, the presence or absence of the CRC check can be selected, and the selection is performed by the Header section.
【0006】次に、逆量子化部は、Bit Alloc
ation情報を元にサンプルデータの読み出しを行
い、さらにScale Factorによって音量を計
算し、32の帯域別にそれぞれ計算が行われる。[0006] Next, the inverse quantization unit performs the Bit Alloc
The sample data is read based on the ation information, and 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 diagram showing an example in which the inverse quantizer uses the calculated value of 32 and the previous 1024 samples to calculate the last 32 PCM sample data on the time axis.
9 is a calculation flowchart when performing band synthesis according to the SO recommendation. As shown in the figure, after inputting 32 sub-band data, V is generated by shifting the values up to the previous time (step 1). Then, ROM for data Vi
A matrix operation of the coefficients Nik and S is performed to calculate Vi (step 2). Further, U itself is operated to calculate U (step 3), and U is multiplied by a coefficient D to calculate Wi (step 4). Finally, perform Wi matrix operation,
Finally, calculation of 32 PCM data is performed (step 5).
【0008】以上の如き、MPEG−Audioのデコ
ーダにおいて、リアルタイムでデコード処理を行うにあ
たっては、システム全体としての処理速度が大きな問題
点となる。すなわち、MPEG−Audioでは、デー
タはフレームという単位で処理されるため、規格に定め
られた44.1kHzでサンプリングされたデータをリ
アルタイムでデコードするためには、1フレーム当たり
での処理時間は約26ms程度と極めて短い時間しか許
容されない。MPEG−Audioのデコード処理にお
いて帯域合成処理は行列演算が多くを占めているため、
演算処理が大変多くなっている。しかしながら、この部
分は必須部分であり、処理の短縮を図ることが大変困難
である。そこで、ここまでの段階、ビット分離部や逆量
子化部分などの前処理に相当する部分で高速化を図るこ
とが現実的である。As described above, when performing decoding processing in real time in the MPEG-Audio decoder, the processing speed of the entire system is a major problem. That is, in MPEG-Audio, data is processed in units of frames, so that in order to decode data sampled at 44.1 kHz specified in the standard in real time, the processing time per frame is about 26 ms. Only a very short time is acceptable. In the decoding process of MPEG-Audio, the band synthesis process is mainly composed of matrix operations.
The number of calculation processes is very 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 corresponding to the pre-processing such as the bit separation unit and the dequantization unit up to this stage.
【0009】一般に、これら処理の高速化手法を考えて
みた場合、処理順序の変更、処理の並列化、処理の削減
などが考えられる。しかしながら、MPEGの如く勧告
で処理内容が定められている場合は、処理の並列化によ
って高速化を図る手法が容易であり、また効果が高いと
考えられる。そこで、本発明はビット分離部内のCRC
演算装置を対象としてその高速化を図り、MPEG−A
udioのリアルタイムデコード処理を図ることを課題
とするものである。In general, when considering these processing speed-up techniques, it is conceivable to change the processing order, parallelize the processing, or reduce the processing. However, when the processing content is determined by a recommendation such as MPEG, it is considered that a method of increasing the speed by parallelizing the processing is easy and effective. Therefore, the present invention provides a CRC in the bit separation unit.
MPEG-A
It is an object of the present invention to achieve real-time decoding of audio.
【0010】さて、図4は、従来のCRC演算器の一例
を示す図である。該CRC演算器は、いわゆる1ビット
毎にデータを順次入力を行ってゆく方式であり、16の
シフトレジスタと3つの演算器から構成される。入力ビ
ットDが入力されると、R0にデータが蓄積される。ま
た、R0に蓄積されていたデータはR1へシフトされ
る。同様にR1のデータはDと演算を行いR2へシフト
され、以下同様に順次シフト動作を行う。FIG. 4 is a diagram showing an example of a conventional CRC calculator. The CRC arithmetic unit is a method of sequentially inputting data in a so-called bit-by-bit manner, and includes 16 shift registers and three arithmetic units. When the input bit D is input, data is stored in R0. The data stored in R0 is shifted to R1. Similarly, the data of R1 is operated on D and shifted to R2, and the shift operation is sequentially performed in the same manner.
【0011】図5から図12は8ビットのデータが順に
入力された各ステップ時の演算状態を表す図であり、前
記図4は演算開始時の状態を表す。図中のB15からB
0までが各々のレジスタに記憶されている値を表すもの
とする。また論理演算1から3はそれぞれXOR(排他
的論理和)を表す。(本明細書中では論理演算を+と表
記する)FIGS. 5 to 12 are diagrams showing the state of operation 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. Each of the logical operations 1 to 3 represents an XOR (exclusive OR). (In this specification, a logical operation is described 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 D7 and CRC target data is input and the operation is completed. First, data is input and logical operation 1 (B15 + D
7 is calculated as A) is calculated. The result is the 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 (to be B1 + A), and holds the result in the register R2.
Similarly, the register R15 performs a logical operation on the operation result A with the value B14 held by the register R14 (B14 +
A), the result is held in the register R15. Registers other than the above simply perform a shift operation and hold a value. When the calculation is performed in the same procedure, FIGS.
become that way. That is, bit data is sequentially input after all the shift registers are initialized with 1 as an initial state, and the values of all the shift registers when the final bit data is input represent a CRC value to be obtained.
【0013】[0013]
【発明が解決しようとする課題】しかしながら、上記の
方法では、ビット単位で入力が行われねばならず、処理
上での大きな制約となってくる。つまり、MPEG−A
udioの勧告では、CRC演算を行うに際し1ビット
毎にデータを順次入力していく方式での演算を勧告して
おり、処理には少なくとも入力データのビット長に相当
するステップ数が必要であった。例えば256ビットの
入力データを用いてCRC演算を行う場合には、必然的
に256ステップといった時間を処理に要していた。そ
のため、システム全体でのCRC保護情報に対する処理
の負荷が大きくなり、特にリアルタイムでのデコードを
行う際の障害となっていた。However, in the above method, the input must be performed on a bit-by-bit basis, which is a great limitation in processing. That is, MPEG-A
In the recommendation of audio, when performing the CRC operation, it is recommended that the operation be performed in such a manner that data is sequentially input for each bit, and the processing requires at least the number of steps corresponding to the bit length of the input data. . For example, when a CRC operation is performed using 256-bit input data, a process such as 256 steps is inevitably required. As a result, the processing load on the CRC protection information in the entire system is increased, and this is an obstacle particularly when decoding is performed 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 subjected to the CRC calculation is Bit Allocation, SC
The bit length of such data is 8 bits in the header information section, and BitAllocation.
The part is either 4, 3, or 2 bits, and the SCFSI part is 2b
It. In other words, even when inputting in parallel,
If it is possible to determine and process the input of 8, 4, 3, or 2 bits, the CRC calculation can be performed while reading out the data.
【0015】すなわち、本発明は、CRC演算処理の対
象データが種々のデータ長を有していても、これをパラ
レルに入力して処理を行うことにより、CRC演算時間
を短縮してシステム全体の処理効率を向上せしめ、リア
ルタイムデコード処理とシステムの小型化を達成するこ
とを目的とするものである。That is, according to the present invention, even if data to be subjected to the CRC operation processing has various data lengths, the data is input in parallel and the processing is performed, thereby shortening the CRC operation time and reducing the entire system. It is an object of the present invention to improve processing efficiency and achieve real-time decoding processing and system miniaturization.
【0016】[0016]
【課題を解決するための手段】本発明は、連続的に入力
される種々のデータ長を有する可変長データをCRC演
算する装置であって、前回の演算結果である後記結果選
択処理手段の出力を保持するレジスタと、該レジスタに
保持された値と今回入力されたデータとを全種類のビッ
ト長に対し演算処理して、可変長データの各ビット長に
おけるCRCの各ビット値を出力する演算処理手段と、
可変長データのビット長に応じて演算処理手段から出力
された各ビット値、あるいは、レジスタに保持された値
よりを選択して出力する結果選択処理手段と、前記レジ
スタの出力を予め設定されたCRC期待値と比較しその
結果を出力する比較処理手段とからなることを特徴とす
る可変長データのCRC演算装置である。Means for Solving the Problems The present invention is an apparatus for CRC calculation variable length data having various data length to be consecutively inputted, the output of the later result selection processing means is a previous calculation result And the value held in the register and the data input this time are stored in all kinds of bits.
And arithmetic processing to preparative length, and arithmetic processing means for outputting the respective bit values of the CRC in the respective bit length of the variable length data,
Each bit value output from the arithmetic processing means according to the bit length of the variable length data , or the value held in the register
And a comparison processing means for comparing the output of the register with a preset CRC expected value and outputting the result. Device.
【0017】[0017]
【作用】本発明は、CRC演算器へのデータの入力を1
ビット毎ではなく複数ビット同時に入力を行うと共に、
入力される有効データが一定のデータ長では無いため、
現在入力されているデータ長を識別してそのデータ長に
応じて、内部処理を変更して、何れのデータ長において
も1ステップでCRC演算処理を行う。According to the present invention, the input of data to the CRC calculator is 1
While inputting multiple bits simultaneously instead of bit by bit,
Since the valid data to be 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 process 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 operation device according to the present invention. As shown in the figure, the CRC operation device includes an operation processing unit 101, a result selection processing unit 102, a register 1
03, comprising the comparison processing means 104. In this embodiment, it is assumed that data of each effective bit length of 8, 4, 3, and 2 up to 8 bits is input.
【0019】図1のCRC演算装置は2、3、4、8の
各有効ビット長を有する入力データおよび、入力データ
の有効ビット長を表すOE2、3、4、8の制御信号、
リセット信号、CRC期待値の入力をもとに、演算を行
いCRCが正しいか否かを出力する装置である。また入
力データは常に最上位ビットから有効データが入力され
るものとする。演算処理手段101は、従来のCRC演
算器である図4に示された3か所の論理演算処理をシフ
ト動作を行うことなく演算処理して出力するもので、入
力されるデータの全種類のビット長の各ビットに対応す
る値を出力するものである。図13は、図5〜図12に
示すCRC演算処理結果を8ステップまで順次抜き出し
たものであり、図14は、その始めの3ステップを抜き
出し式を展開したものである。 The CRC arithmetic unit shown in FIG . 1 has input data having effective bit lengths of 2, 3, 4, and 8, and control signals of OEs 2, 3, 4, and 8 representing the effective bit length of the input data.
This is a device that performs an operation based on the input of the reset signal and the expected CRC 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 an arithmetic operation without performing a shift operation on the three logical arithmetic operations shown in FIG. 4 which is a conventional CRC arithmetic unit, and outputs the result. It outputs a value corresponding to each bit of the bit length. FIG. 13 shows the results of the CRC operation shown in FIGS. 5 to 12 sequentially extracted up to eight steps, and FIG. 14 shows the first three steps extracted and expanded.
【0020】更に、図14を論理回路図で表したものを
図15に示す。同図において、Dnは各ビットの入力デ
ータ、Bnは各ビットの開始時のレジスタの内容を、C
aln_Stepnは各ステップにおける論理演算1、
2、3の出力を表す。これらの図に示す如く、論理演算
1、2、3の結果は、すべて開始時点でのレジスタの値
と、入力値で決定される。よって、図15に示す如きゲ
ート回路を用いることにより、各論理演算1、2、3の
ステップ1〜8の演算をおこない、3箇所、8ステップ
分の演算後の組み合わせを作成する。また、この作成に
おいては単純なゲーティングで行えるため、入力後、即
時に演算結果が求められる事となる。FIG. 15 is a logic circuit diagram of FIG. In the figure, Dn is the input data of each bit, Bn is the contents of the register at the start of each bit, Cn
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 values at the start and the input values. Therefore, by using the gate circuit as shown in FIG. 15, the operations of steps 1 to 8 of each of the logical operations 1, 2, and 3 are performed, and combinations after the operations for three places and eight steps are created. In addition, since this creation can be performed by simple gating, an operation result is obtained immediately after 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 based on the operation result from 01 and the contents of the register as the previous operation result and the states of the OEs 2, 3, 4, 8, and the reset signal. That is, in the above-mentioned arithmetic processing means, the value corresponding to each bit of all kinds of bit lengths of the input data, which is the data once calculated up to eight steps, and the previous arithmetic result,
A valid bit value is selected and output by a control signal.
【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 two-step processing corresponding to the bit lengths of 2, 3, 4, and 8, FIG. 6, three-step processing, FIG. 7, four-step processing, and FIG. The values to be selected are tabulated based on FIG. 12, and OE2, OE3, OE4, OE8, no selection, R
It shows the output value of each register at the time of eset. If a reset signal has been input,
As a reset operation, all signal outputs are set to '1'. If neither signal is input, the current state is maintained, that is, the current register value is output. The result selection processing means 102 includes OE2, 3,
In order to output the values shown in FIG. 16 according to the signals 4, 8, and RESET, a selector circuit or the like can be specifically 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 as to whether or not the value obtained as a result of the arithmetic processing and held in the register matches the input CRC expected value, and outputs the result. And 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 input will be described below. Here, as input data, 4-bit data of “1010” from the upper bit in binary is input,
As the initial state of the register,
It is assumed that “0011001101010101” 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 shows a state in which a conventional shift operation is performed in a table format. When calculating sequentially from the lower bits of the register in the same procedure as in FIG.
R0 is 0 or 1, and the operation result is 1. R1 shifts the value to 1, R2 shifts the value to 1 and 0, and the result is 1. Thereafter, the shift operation is simply performed up to R14, 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. Hereinafter, the value finally obtained by performing the calculation in the same procedure, that is, the calculation result of the CRC is “001101010”.
1100110 ".
【0026】次に、本発明を用いた場合の演算を行った
場合を以下に述べる。最終的に求められるCRCの値を
R15〜R0、計算開始時のレジスタの値をB15〜B
0、入力データをD7〜D0とする。ただし、入力デー
タは4ビットなので、上位ビットD7から順に入力され
ているものとする。式中のA,B,C,Dは図5〜8に
て示されているものである。Next, a description will be given below of a case where an operation using the present invention is performed. The finally obtained CRC values are R15 to R0, and the register values at the start of the calculation are B15 to B15.
0, input data D7 to D0. However, since the input data is 4 bits, it is assumed that the input data is input in order from the upper bit D7. A, B, C and D in the formulas 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.
The calculation is performed based on the state of. First, the calculation of the most significant bit of R15 is D + B11, and this expression is expanded as follows.
【0028】[0028]
【数1】 (Equation 1)
【0029】前記式より最終的に求められるR15は0
となる。次に、R14〜R6を求めてみる。図16よ
り、この部分は単純にレジスタの保持値を選択するのみ
であるため以下のような式となる。R15 finally obtained from the above equation is 0
Becomes Next, R14 to R6 will be obtained. From FIG. 16, this part simply selects the held value of the register, so that 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 as shown in the drawing.
【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.
+ B, and this expression is expanded as follows.
【0034】[0034]
【数4】 (Equation 4)
【0035】前記式よりR4= 0となる。次に、図16
よりR3を求める。R3は図16よりA+Cとなり、同
様に式を展開すると以下のようになる。From the above equation, R4 = 0. Next, FIG.
R3 is determined from the equation. R3 is A + C from FIG. 16, and the expression is similarly expanded 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.
【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.
When the formula is expanded and calculated, it is as follows.
【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 in FIG. 16 and is as follows.
【0042】[0042]
【数8】 (Equation 8)
【0043】前記式より、最終的なR0は0となる。以
上の結果により、最終的にもとめられる、CRCの値
は、「0011010101100110」となり、従
来のシフト演算を行った際に求められるCRC値と同じ
値となる。From the above equation, the final R0 is 0. As a result of the above, the CRC value finally obtained is “0011010101100110”, which is the same value as the CRC value obtained when performing the conventional shift operation.
【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 is possible to dramatically reduce the number of arithmetic steps conventionally required. By using this device, M
The processing of the entire PEG-Audio decoding system can be improved, which is extremely useful when performing real-time processing.
【図1】本発明のCRC演算装置を示すブロック図であ
る。FIG. 1 is a block diagram illustrating a CRC calculation device according to the present invention.
【図2】一般的なMPEG−Audioのデコーダを示
すブロック図である。FIG. 2 is a block diagram illustrating a general MPEG-Audio decoder.
【図3】ISO勧告による帯域合成を行う際の演算を示
すフローチャートである。FIG. 3 is a flowchart showing a calculation when performing band synthesis according to the 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 the 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 the 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 the operation of a conventional CRC calculator.
【図11】従来のCRC演算器の動作を示す説明図であ
る。FIG. 11 is an explanatory diagram showing the operation of a conventional CRC calculator.
【図12】従来のCRC演算器の動作を示す説明図であ
る。FIG. 12 is an explanatory diagram showing the 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 illustrating a part of a logic circuit that performs a CRC operation process.
【図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 比較処理手段 101 arithmetic processing means 102 result selection processing means 103 register 104 comparison processing means
Claims (1)
する可変長データをCRC演算する装置であって、前回
の演算結果である後記結果選択処理手段の出力を保持す
るレジスタと、該レジスタに保持された値と今回入力さ
れたデータとを全種類のビット長に対し演算処理して、
可変長データの各ビット長におけるCRCの各ビット値
を出力する演算処理手段と、可変長データのビット長に
応じて演算処理手段から出力された各ビット値、あるい
は、レジスタに保持された値よりを選択して出力する結
果選択処理手段と、前記レジスタの出力を予め設定され
たCRC期待値と比較しその結果を出力する比較処理手
段とからなることを特徴とする可変長データのCRC演
算装置。1. It has various data lengths inputted continuously.
The variable length data to a device for the CRC calculation, the last
Which is the operation result register for holding an output of the later result selection processing means, and a data input this time and the value held in the register and arithmetic processing for the bit length of all types,
And arithmetic processing means for outputting the respective bit values of the CRC in the respective bit length of the variable-length data, each bit value output from the processing means in accordance with the bit length of the variable-length data, there have
Is characterized by comprising: result selection processing means for selecting and outputting a value held in a register; and comparison processing means for comparing the output of the register with a preset CRC expected value and outputting the result. CRC operation device for variable-length data.
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 JPH0918355A (en) | 1997-01-17 |
JP3236758B2 true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10117147A (en) * | 1996-10-09 | 1998-05-06 | Nec Corp | Data generating circuit for error check |
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 |
KR20020087822A (en) * | 2001-05-16 | 2002-11-23 | 손승일 | Variable length CRC-10 computation and verification block circuits using input parameter. |
-
1995
- 1995-06-26 JP JP18361195A patent/JP3236758B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0918355A (en) | 1997-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5991725A (en) | System and method for enhanced speech quality in voice storage and retrieval systems | |
US20060212290A1 (en) | Audio coding apparatus and audio decoding apparatus | |
US7107111B2 (en) | Trick play for MP3 | |
US20030014241A1 (en) | Method of and apparatus for converting an audio signal between data compression formats | |
US20070143118A1 (en) | Apparatus and method for lossless audio signal compression/decompression through entropy coding | |
US6480550B1 (en) | Method of compressing an analogue signal | |
JP3236758B2 (en) | CRC arithmetic unit for variable length data | |
US6580379B2 (en) | Arithmetic decoding of an arithmetically encoded information signal | |
JP4508599B2 (en) | Data compression method | |
US20080319563A1 (en) | Audio coding apparatus and audio decoding apparatus | |
JP3088163B2 (en) | LSP coefficient quantization method | |
JPH0774650A (en) | Audio encoder and decoder for encoding signal thereof | |
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 | |
JP3210165B2 (en) | Voice encoding / decoding method and apparatus | |
JPH0714205B2 (en) | Sequential reproduction vector quantization encoding / decoding device | |
JP3049574B2 (en) | Gain shape vector quantization | |
JPS6314523A (en) | Voice coding system | |
JP2002135128A (en) | Data-compression method, data compression/expansion method, data-compression device, and data compression/ expansion device | |
KR100847077B1 (en) | Huffman coding method and recording medium having recorded thereon a program for implementing the same | |
JP2000293200A (en) | Audio compression coding method | |
JPH07154267A (en) | Adpcm reproducing device | |
JPH11305798A (en) | Voice compressing and encoding device | |
JPH07234698A (en) | Speech signal encoding and decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |