JP3661663B2 - 乱数生成装置、乱数生成方法、乱数生成プログラムおよびオーディオ復号装置と復号方法 - Google Patents
乱数生成装置、乱数生成方法、乱数生成プログラムおよびオーディオ復号装置と復号方法 Download PDFInfo
- Publication number
- JP3661663B2 JP3661663B2 JP2002116936A JP2002116936A JP3661663B2 JP 3661663 B2 JP3661663 B2 JP 3661663B2 JP 2002116936 A JP2002116936 A JP 2002116936A JP 2002116936 A JP2002116936 A JP 2002116936A JP 3661663 B2 JP3661663 B2 JP 3661663B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- random
- values
- storage unit
- sets
- 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
- 238000000034 method Methods 0.000 title claims description 35
- 238000010606 normalization Methods 0.000 description 27
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000013019 agitation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007429 general method Methods 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は乱数生成装置、乱数生成方法および乱数生成用プログラムを記録した記録媒体に関し、特に、所望のエネルギを持つ乱数系列を小規模装置により生成できる乱数生成装置、乱数生成方法、乱数生成プログラムおよびオーディオ復号装置と復号方法に関する。
【0002】
【従来の技術】
合計エネルギ(自乗和)がTとなるようなN個の乱数Q(1〜N)、言い換えれば、Q(1)×Q(1)+Q(2)×Q(2)+・・・+Q(N)×Q(N)=TとなるようなN個の乱数Q(1〜N)が必要とされる。
【0003】
このような乱数は、例えばオーディオ復号装置に利用されている。すなわち、国際標準オーディオ符号化規格であるMPEG−4 AAC( Advanced Audio Coding)では、PNS(Perceptual Noise Substitute )と呼ばれる機能を持つ。このPNSを用いた場合、オーディオ符号化装置では所定周波数帯域の詳細情報を符号化せずに、その周波数帯域に含まれる周波数領域信号の総エネルギEのみを符号化する。オーディオ復号装置では、符号化されている総エネルギEと等しいエネルギを持つホワイトノイズ(乱数)をその周波数帯域の周波数領域信号とする。このような信号を生成する場合に、本発明のような特定エネルギを持つ乱数系列を発生させる必要がある。
【0004】
本発明では、後述するように所定の乱数値を予め記憶しておき乱数発生に利用する。乱数発生のために予め乱数を格納しておくこの種の既知技術に関するものとして、例えば特開昭61−114326号公報、特許第2615743号公報、特許第256781号公報がある。
【0005】
このような、合計エネルギ(自乗和)がTとなるようなN個の乱数Q(1〜N)の一般的な生成方法について図7のブロック図を用いて説明する。図7に示す一般的な乱数生成装置は、乱数発生部701と、エネルギ計算部702と、乱数正規化部703とから構成されている。このような構成を持つ一般的な乱数生成装置は次のように動作する。
【0006】
乱数生成装置には、出力する乱数の個数Nと、出力する乱数の有すべきエネルギ値Tが入力される。乱数発生部701ではN個の単なる乱数Q1(1〜N)を発生しエネルギ計算部702と乱数正規化部703へ出力する。
【0007】
エネルギ計算部702は、乱数Q1(1〜N)の合計エネルギP、すなわち、Q1(1)×Q1(1)+Q1(2)×Q1(2)+・・・+Q1(N)×Q1(N)=Pを計算し、この合計エネルギPを乱数正規化部703へ出力する。
【0008】
乱数正規化部703では、まず正規化係数Sを、(T÷P)の0.5乗により求める。そして、乱数Q1(1〜N)に正規化係数Sを乗じて合計エネルギがTとなるようなN個の乱数Q(1〜N)とする。つまり、J=1〜NについてQ(J)=Q1(J)×Sとして乱数Q(1〜N)を求める。このようにして求められた乱数Q(1〜N)が乱数生成装置の最終的出力となる。
【0009】
上述従来技術においては、エネルギ計算および乱数の正規化の処理が複雑なため乱数生成装置の規模が大きくなってしまう問題点がある。すなわち、回路規模が大きくなったり処理が複雑となってしまい、結果、装置の省スペース性を損なったりコスト的に不利であったりする。その理由は、正規化係数Sを求める際に除算および0.5乗の計算が必要となるためである。
【0010】
【発明が解決しようとする課題】
本発明は、上述した従来の乱数生成技術では乱数生成装置の規模が大きくなる問題点を解消した、装置規模が小さな乱数生成装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
課題解決のために、請求項1の本発明では、自乗和が一定値TとなるN個の乱数値を生成するための乱数発生装置を、自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておく乱数記憶部と、前記乱数記憶部から読み込んだ1つ以上の乱数値の組を基に生成したN個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する乱数振幅変更部を含み構成する。
【0012】
請求項2の本発明では、自乗和がTとなるN個の乱数値を生成するための乱数発生装置を、自乗和がRとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておく乱数記憶部と、前記乱数記憶部から乱数値の組を1つ以上読み込み乱数値の順番を変えることでN個の乱数値を生成する乱数順序変更部と、前記N個の乱数値それぞれの正負を無秩序に反転する乱数極性変更部と、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する乱数振幅変更部を含み構成する。
【0013】
請求項3の本発明では、自乗和がTとなるN個の乱数値を生成するための乱数発生装置を、自乗和がRとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておく乱数記憶部と、前記乱数記憶部から乱数値の組を1つ以上読み込み乱数値の順番を変えることでN個の乱数値を生成する乱数順序変更部と、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する乱数振幅変更部とを含み構成する。
【0014】
請求項4の本発明では、自乗和がTとなるN個の乱数値を生成するための乱数発生装置を、自乗和がRとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておく乱数記憶部と、前記乱数記憶部から乱数値の組を1つ以上読み込みN個の乱数値を生成する乱数生成部と、前記N個の乱数値それぞれの正負を無秩序に反転させる乱数極性変更部と、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する乱数振幅変更部とを含み構成する。
【0015】
また、請求項5の本発明は、請求項1〜4のいずれか1項に記載の乱数生成装置において、前記乱数記憶部が記憶している乱数値が負数を含まないようにする。請求項6の本発明は、請求項1〜5のいずれか1項に記載の乱数生成装置において、前記乱数振幅変更部における(T×M÷R÷N)の0.5乗の計算を、TとMとRを定数とし、Nを引数とした表参照によって行うようにする。また、請求項7のオーディオ復号装置は、請求項1〜6のいずれか1項に記載の記載の乱数生成装置を備え構成され、この乱数生成装置用いて所定周波数帯域に所定エネルギの雑音を発生させる。
【0016】
上記各装置においては、合計エネルギRが一定数となるような乱数の組を記憶した乱数記憶部を備え、正規化係数Sを除算および0.5乗演算を使用せずに簡単な演算で求めるようにしているので、装置規模が小さな装置を得ることができる。
【0017】
そして、請求項8の本発明の乱数生成方法では、自乗和が一定値TとなるN個の乱数値を生成することを目的とし、自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておき、前記乱数値の組を1つ以上読み出し、前記読み出した乱数値の組をもとにN個の乱数値を生成し、生成したN個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する。
【0018】
請求項9の本発明方法では、自乗和が一定値TとなるN個の乱数値を生成することを目的とし、自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておき、前記乱数値の組を1つ以上読み出し、前記読み出した乱数値の順番を変えることでN個の乱数値を生成し、生成したN個の乱数値それぞれの正負を無秩序に反転し、(T×M÷R÷N)の0.5乗した値を乗算する。
【0019】
請求項10の方法では、自乗和が一定値TとなるN個の乱数値を生成することを目的とし、自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておき、前記乱数値の組を1つ以上読み出し、前記読み出した乱数値の順番を変えることでN個の乱数値を生成し、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する。
【0020】
請求項11の方法では、自乗和が一定値TとなるN個の乱数値を生成することを目的とし、自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておき、前記乱数値の組を1つ以上読み出し、前記読み出した乱数値の組をもとにN個の乱数値を生成し、前記N個の乱数値それぞれの正負を無秩序に反転し、(T×M÷R÷N)の0.5乗した値を乗算する。
【0021】
また、請求項12の方法では、請求項8〜11のいずれか1項に記載の乱数生成方法において、前記記憶している乱数値が負数を含まないようにする。請求項13の方法では、請求項8〜12のいずれか1項に記載の乱数生成方法において、前記(T×M÷R÷N)の0.5乗した値を、TとMとRを定数とし、Nを引数とした表参照によって得るようにする。
【0022】
請求項14の発明では、請求項8〜13のいずれか1項に記載の乱数生成方法を乱数生成装置に実行させるためのプログラムである。また、請求項15のオーディオ復号方法は、請求項8〜13のいずれか1項に記載の乱数生成方法を用いて所定周波数帯域に所定エネルギの雑音を発生させる過程を含むようにする。
【0023】
【発明の実施の形態】
次に、合計エネルギ(自乗和)がTとなるようなN個の乱数Q(1〜N)、言い換えれば、Q(1)×Q(1)+Q(2)×Q(2)+・・・+Q(N)×Q(N)=TとなるようなN個の乱数Q(1〜N)を生成する、本発明の実施の形態について図面を参照して詳細に説明する。
【0024】
本発明の乱数生成装置は、合計エネルギRが一定数となるような乱数の組を記憶した乱数記憶部を備え、正規化係数Sを除算および0.5乗演算を使用せずに簡単な演算で求めるよう動作する。
【0025】
〔実施の形態:1〕図1を参照すると、本発明の第一の実施の形態に係る乱数生成装置は、乱数記憶部101と、乱数順序変更部102と、乱数極性変更部103と、乱数振幅変更部104とから構成される。図示しない制御部が各機能部を制御する。本実施の形態の乱数生成装置は、出力する乱数の個数Nと、出力する乱数のエネルギTを入力とし、合計エネルギ(自乗和)がTとなるようなN個の乱数Q(1〜N)を出力とする。
【0026】
乱数記憶部101は、事前に計算しておいた自乗和がRとなるようなM個の乱数値の組を、複数組(組数B)記憶しておく例えば半導体メモリ等の記憶部である。この時、乱数記憶部に予め記憶される乱数値は正、負、ゼロのいずれの値であっても良いし、全て正値であっても構わない。これは後述の乱数極性変更部103で乱数値に極性を付加できるからである。
【0027】
乱数順序変更部102は、(N÷M)組の乱数値の組を乱数記憶部101からランダムに読み出し、読み出したN個の乱数値をランダムに配置して乱数Q1(1〜N)とする。ここで分かるようにMはNの約数となるように設定しておくと良い。また、ここでは読み出したN個の乱数値をランダムに配置しているが、ランダムではなく読み出した順番通りに配置しても良い。また、読み出す乱数値の組が重複しても差し支えない。乱数Q1(1〜N)は乱数極性変更部103へ出力される。
【0028】
乱数極性変更部103は、乱数Q1(1〜N)の極性をランダムに設定する。例えば乱数Q1(1〜N)の各々について1/2の確率で極性を正か負にランダムで設定する。こうして極性を変更して得られた乱数Q1(1〜N)を乱数振幅変更部104へ出力する。
【0029】
乱数振幅変更部104は、乱数Q1(1〜N)に正規化係数Sを乗じて乱数Q(1〜N)を求める。ここで正規化係数Sは(T×M÷R÷N)を0.5乗することにより求める。また、乱数Q(1〜N)は、J=1〜NについてQ(J)=Q1(J)×Sなる乗算を行い求める。
【0030】
上で説明した各機能部は、独立して形成しても良いが、一般にはCPUやRAMおよびROM等を使ったデジタル回路として構成され、適宜のプログラムを実行することにより上述各機能が実現される。
【0031】
装置規模を小さくするためには正規化係数Sの演算を工夫する必要がある。本実施の形態では上述の計算式のとおり正規化係数Sは(T×M÷R÷N)を0.5乗として求められる。ここで、一般には合計エネルギT、乱数記憶部101に記憶されている各組の乱数値の数Mとその自乗和Rはいずれも定数になると考えられる。よって、Nの取り得る様々な値に対して予め正規化係数Sを計算して記憶しておけば、正規化係数SをNを引数とする表参照を行うことによって求めることができる。因みに、従来の一般的方法では正規化係数Sを求める際に使用するPの値が非整数である上にその値域が広いため、正規化係数SをPを引数として表参照で求めることは困難である。これに対して本発明においては、引数となるNの値が整数であり値域を限定しやすいため、容易に表参照で求めることができる。
【0032】
続いて、図1及び図2のフローチャートを参照して本発明の第一の実施の形態の動作について説明する。
【0033】
本処理では、始めに出力する乱数の個数Nと、出力する乱数のエネルギTが入力として与えられる。乱数生成装置では、まず、乱数テーブル(図1での乱数記憶部101に相当)から合計N個の乱数値を読み込みその順番を変え(ステップ201:図1での乱数順序変更部102の機能)、次に得られた乱数(群)の個々の要素の正負(極性)をランダムに設定する(乱数的に変える)。換言すると、乱数の個々の要素の正負を無秩序に反転させる(ステップ202:図1の乱数極性変更部103の機能)。さらに、こうして極性をランダムに設定した乱数に、(T×M÷R÷N)の0.5乗を乗じる(ステップ203:図1の乱数振幅変更部104の機能)ことにより、自乗和がTとなるN個の乱数を得て出力する(ステップ204)。
【0034】
本発明の概念を要約すると、エネルギが一定な乱数の組を複数組あらかじめ記憶しておき、その中からランダムに乱数の組を取り出し、取り出した組の数に応じて乱数の振幅を変更することで特定エネルギを持つ乱数系列を出力する。この時、乱数系列の乱数性を高めるために、更に乱数値の配置をランダムに入れ替えたり、乱数値の極性をランダムにするなど、エネルギが変わらない範囲での撹拌処理を行う。なお、必要とされる乱数性の度合いに応じて、必要な撹拌の度合いを変えることができる。すなわち、乱数の配置のみ変更し極性を変更しなくても、乱数の極性のみ変更し配置を変更しなくても、更には乱数の配置および極性のどちらも変更しない構成を乱数性に対応して適宜採用すれば良い。
【0035】
続いて本実施の形態での実際の動作例を具体的数値を用いて説明する。ここでは一例として、合計エネルギが1.0となるような12個の乱数Q(1〜12)を求める。乱数記憶部101に自乗和が1.0となるような4個の乱数値の組が16組記憶されているとする。つまり、既述説明におけるT=1.0、N=12、R=1.0、M=4とする。
【0036】
乱数記憶部101には以下のような4個の乱数値の組が16組記憶されているものとする。
組1:0.449178, 0.530043, -0.343382, -0.631966
組2:0.523504, -0.515483, 0.468504, -0.490637
組3:-0.677804, -0.575877, -0.279915, -0.361380
組4:-0.612246, -0.182140, 0.010700, -0.769328
組5:-0.432675, 0.461407, 0.568505, -0.526021
組6:-0.586134, -0.565348, 0.493822, 0.304908
組7:0.026400, 0.564321, -0.034952, -0.824392
組8:0.775515, 0.228656, 0.587243, 0.037915
組9:0.572206, 0.581480, -0.013562, -0.578167
組10:-0.640152, 0.282552, -0.038365, -0.713371
組11:0.445407, 0.168814, -0.800180, -0.364454
組12:0.171674, 0.343287, 0.198769, 0.901761
組13:0.487925, -0.799682, 0.229361, 0.264257
組14:-0.165260, 0.747040, 0.064510, -0.640671
組15:0.521080, 0.600138, 0.049803, 0.604839
組16:0.308102, -0.285716, 0.279905, 0.863188
【0037】
乱数順序変更部102では、N個の乱数、つまり12個の乱数を生成するために乱数記憶部101からランダムに3つの組の乱数値(合計12乱数値)を読み出す。ここでは組2、組5、組14がランダムに選択され順に読み出されたとする。
組2:0.523504, -0.515483, 0.468504, -0.490637
組5:-0.432675, 0.461407, 0.568505, -0.526021
組14:-0.165260, 0.747040, 0.064510, -0.640671
【0038】
これらの12個の乱数値をランダムに並び変えて、12個の乱数値Q1(1〜12)を生成する。ここではQ1(1〜12)が以下のようになったと仮定する。これが乱数順序変更部102の出力となる。
Q1(1)=0.468504
Q1(2)=-0.515483
Q1(3)=0.523504
Q1(4)=0.064510
Q1(5)=-0.432675
Q1(6)=0.461407
Q1(7)=-0.526021
Q1(8)=-0.165260
Q1(9)=0.747040
Q1(10)=0.568505
Q1(11)=-0.640671
Q1(12)=-0.490637
【0039】
次段の乱数極性変更部103では、乱数Q1(1〜12)の極性のみをランダムに設定する。極性を変更して得られた乱数Q1(1〜12)を乱数振幅変更部104へ出力する。ここでは、Q1(1〜12)が以下のような値(極性のみランダムに変更)になったとする。
Q1(1)=0.468504
Q1(2)=0.515483
Q1(3)=0.523504
Q1(4)=-0.064510
Q1(5)=-0.432675
Q1(6)=-0.461407
Q1(7)=0.526021
Q1(8)=-0.165260
Q1(9)=-0.747040
Q1(10)=-0.568505
Q1(11)= -0.640671
Q1(12)=0.490637
【0040】
乱数振幅変更部104は、乱数Q1(1〜12)に正規化係数Sを乗じて乱数Q(1〜12)を求める。ここで、正規化係数Sは(T×M÷R÷N)を0.5乗して求める。ここでは、T=1.0、R=1.0、M=4は定数であるため、正規化係数Sは(1.0×4÷1.0÷N)の0.5乗、つまり、(4÷N)の0.5乗として求められる。また、Nは正の整数であり、一般的な用途では値域を1〜100程度の小さな範囲に限定できるため、Nの取り得る全ての値に対して予め(4÷N)の0.5乗を計算してメモリに記憶しておけば、Nの値を引数とする表参照で正規化係数Sを得ることができる。ここではN=12であるため、正規化係数Sは(1÷3)の0.5乗=0.577350が、表参照で得られることとなる。
【0041】
こうして求めた正規化係数SをQ1(1〜12)に乗じることにより、合計エネルギが1.0となる、以下のような12個の乱数Q(1〜12)を得ることができる。
Q(1)=0.270491
Q(2)=0.297614
Q(3)=0.302245
Q(4)=-0.037245
Q(5)=-0.249805
Q(6)=-0.266393
Q(7)=0.303698
Q(8)=-0.095413
Q(9)=-0.431304
Q(10)=-0.328227
Q(11)=-0.369892
Q(12)=0.283269
【0042】
以上説明した、実施の形態における効果について説明する。上述実施の形態による乱数生成装置では、合計エネルギRが一定数となるように決定された乱数の組を複数組記憶した乱数記憶部(図1の101)を備え、この乱数記憶部から読み込んだ1つ以上の乱数値の組を基に生成したN個の乱数値に(T×M÷R÷N)を0.5乗した値を乗算し出力する構成としたから、従来技術では必要とした正規化係数Sを求めるための除算および0.5乗演算を使用せずに簡単な乗算処理のみを用いて、合計エネルギが入力された所望値となる乱数を求めることができ、乱数生成装置の回路規模を小さくできる。
【0043】
〔実施の形態:2〕次に、本発明の第二の実施の形態を図3のブロック図を用いて説明する。図3を参照すると、本発明の第二の実施の形態は、乱数記憶部301と、乱数順序変更部302と、乱数振幅変更部304とから構成される。既述した第一の実施の形態との違いは、乱数極性変更部103が無いことだけである。つまり、本発明の第二の実施の形態では、乱数値の極性をランダムに変更する処理は行わない。その他の処理については、第一の実施の形態と同一である。第二の実施の形態においても、必要とする合計エネルギ(自乗和)がTとなるようなN個の乱数Q(1〜N)が得られる。個々の機能部についての説明は重複を避け省略する。
【0044】
図4は本発明の第二の実施の形態の動作を示すフローチャートである。これらの処理過程についても、乱数の正負(極性)を乱数的に変える(無秩序に反転させる)図2のステップ202が図3には無い以外、対応する各ステップ(ステップ401、403、404)での処理内容は第一の実施の形態(図2)と同一である。第二の実施の形態の場合には、第一の実施の形態と比較すると乱数性は低くなるが、処理が少なくなっている分だけ乱数生成装置の回路規模をさらに小さくすることができる。
【0045】
〔実施の形態:3〕更に、本発明の第三の実施の形態について図5のブロック図を用いて説明する。図5を参照すると、本発明の第三の実施の形態は、乱数記憶部501と、乱数生成部502と、乱数極性変更部503と乱数振幅変更部504とから構成される。本発明の第一の実施の形態との違いは乱数順序変更部102の替わりに乱数生成部502を用いていことである。乱数生成部502は乱数順序変更機能のみ持たない。つまり、本発明の第三の実施の形態では、乱数値の順序をランダムに変更せず、乱数記憶部501から読み出してきた乱数をそのままの順序で使用する。第一の実施の形態と比較すると乱数性は低くなるが、処理が少なくなるために装置規模をさらに小さくすることができる。その他の処理については、第一の実施の形態と同一である。
【0046】
図6は本発明の第三の実施の形態の動作を示すフローチャートである。こちらについても、ステップ601が図2のステップ201と比較して乱数の順序を変更する処理を行わない点以外、各ステップ(ステップ602、603、604)での処理内容は第一の実施の形態(図2)と同一である。
【0047】
以上説明した、本発明の第二・第三の実施の形態においても、乱数生成装置が、合計エネルギRが一定数となるように決定された乱数の組を複数組記憶した乱数記憶部(図3の301、図5の501)を備え、この乱数記憶部から読み込んだ1つ以上の乱数値の組を基に生成したN個の乱数値に(T×M÷R÷N)を0.5乗した値を乗算し出力する構成としているので、第一の実施の形態と同様に簡単な乗算処理のみで所望条件のを求めることができ、更には乱数生成装置の回路規模を小さくすることができる。
【0048】
なお、各実施の形態Nの値に対応付けて乗算すべき値を予め求め対応表として保持しておきNを引数として表参照することで
【0049】
なお、本発明は以上説明した各実施の形態に限定されず、発明の趣旨の範囲内で発展させた形で適用できることは言うまでもない。例えば、例示した実施の形態では、Nの値に対応付けて乗算すべき正規化係数Sを予め求め対応表として保持しておきNを引数として表参照することで決定しているが、表参照によらず演算で求めるようにしても良い。
【0050】
以上説明した本発明による乱数生成装置を利用して、前述したようなPNSを用いたオーディオ符号化装置を構成しても良く、このような本発明のオーディオ符号化装置は小さな回路規模でPNS機能を実現でき小形化が可能になる。
【0051】
【発明の効果】
本発明の効果は、小さな装置規模で所定エネルギを持つ乱数値系列を生成できることにある。その理由は、合計エネルギRが一定数となるような乱数の組を記憶した乱数記憶部(図1の101)を備え、正規化係数Sを除算および0.5乗演算を使用せずに簡単な乗算処理で求めているためである。
【図面の簡単な説明】
【図1】本発明の第一の実施の形態を示すブロック図である。
【図2】本発明の第一の実施の形態の動作を示すフローチャートである。
【図3】本発明の第二の実施の形態を示すブロック図である。
【図4】本発明の第二の実施の形態の動作を示すフローチャートである。
【図5】本発明の第三の実施の形態を示すブロック図である。
【図6】本発明の第三の実施の形態の動作を示すフローチャートである。
【図7】従来の一般的な乱数生成装置を示すブロック図である。
【符号の説明】
101、301、501…乱数記憶部
102、302…乱数順序変更部
103、503…乱数極性変更部
104、304、504…乱数振幅変更部
502…乱数生成部
701…乱数発生部
702…乱ネルギ計算部
703…乱数正規化部
Claims (15)
- 自乗和が一定値TとなるN個の乱数値を生成するための乱数発生装置であって、自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておく乱数記憶部と、前記乱数記憶部から読み込んだ1つ以上の乱数値の組を基に生成したN個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する乱数振幅変更部とを含み構成されたことを特徴とする乱数生成装置。
- 自乗和がTとなるN個の乱数値を生成するための乱数発生装置であって、自乗和がRとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておく乱数記憶部と、前記乱数記憶部から乱数値の組を1つ以上読み込み乱数値の順番を変えることでN個の乱数値を生成する乱数順序変更部と、前記N個の乱数値それぞれの正負を無秩序に反転する乱数極性変更部と、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する乱数振幅変更部とを含み構成されたことを特徴とする乱数生成装置。
- 自乗和がTとなるN個の乱数値を生成するための乱数発生装置であって、自乗和がRとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておく乱数記憶部と、前記乱数記憶部から乱数値の組を1つ以上読み込み乱数値の順番を変えることでN個の乱数値を生成する乱数順序変更部と、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する乱数振幅変更部とを含み構成されたことを特徴とする乱数生成装置。
- 自乗和がTとなるN個の乱数値を生成するための乱数発生装置であって、自乗和がRとなるM個(Mは前記Nの約数)の乱数値の組を複数組記憶しておく乱数記憶部と、前記乱数記憶部から乱数値の組を1つ以上読み込みN個の乱数値を生成する乱数生成部と、前記N個の乱数値それぞれの正負を無秩序に反転させる乱数極性変更部と、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する乱数振幅変更部とを含み構成されたことを特徴とする乱数生成装置。
- 前記乱数記憶部が記憶している乱数値が負数を含まないことを特徴とする請求項1〜4のいずれか1項に記載の乱数生成装置。
- 前記乱数振幅変更部において(T×M÷R÷N)の0.5乗の計算を、TとMとRを定数とし、Nを引数とした表参照によって行うことを特徴とする請求項1〜5のいずれか1項に記載の乱数生成装置。
- 請求項1〜6のいずれか1項に記載の記載の乱数生成装置を備え、この乱数生成装置用いて所定周波数帯域に所定エネルギの雑音を発生させる機能を持つオーディオ復号装置。
- 自乗和が一定値TとなるN個の乱数値を生成する乱数生成方法において、
自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組、乱数記憶部に記憶しておき、
乱数振幅変更部は、前記乱数記憶部から前記乱数値の組を1つ以上読み出し、前記読み出した乱数値の組をもとにN個の乱数値を生成し、生成したN個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する、
ことを特徴とする乱数生成方法。 - 自乗和が一定値TとなるN個の乱数値を生成する乱数生成方法において、
自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組、乱数記憶部に記憶しておき、
乱数順序変更部は、前記乱数記憶部から前記乱数値の組を1つ以上読み出し、前記読み出した乱数値の順番を変えることでN個の乱数値を生成し、
乱数極性変更部は、前記乱数順序変更部が生成したN個の乱数値それぞれの正負を無秩序に反転し、
乱数振幅変更部は、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する、
ことを特徴とする乱数生成方法。 - 自乗和が一定値TとなるN個の乱数値を生成する乱数生成方法において、
自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組、乱数記憶部に記憶しておき、
乱数順序変更部は、前記乱数記憶部から前記乱数値の組を1つ以上読み出し、前記読み出した乱数値の順番を変えることでN個の乱数値を生成し、
乱数振幅変更部は、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する、
ことを特徴とする乱数生成方法。 - 自乗和が一定値TとなるN個の乱数値を生成する乱数生成方法において、
自乗和が一定値RとなるM個(Mは前記Nの約数)の乱数値の組を複数組、乱数記憶部に記憶しておき、
乱数生成部は、前記乱数値の組を1つ以上読み出し、前記読み出した乱数値の組をもとにN個の乱数値を生成し、
乱数極性変更部は、前記N個の乱数値それぞれの正負を無秩序に反転し、
乱数振幅変更部は、前記N個の乱数値に(T×M÷R÷N)の0.5乗した値を乗算する、
ことを特徴とする乱数生成方法。 - 前記乱数記憶部に記憶している乱数値が負数を含まないことを特徴とする請求項8〜11のいずれか1項に記載の乱数生成方法。
- 前記乱数振幅変更部は、(T×M÷R÷N)の0.5乗した値を、TとMとRを定数とし、Nを引数とした表参照によって得ることを特徴とする請求項8〜12のいずれか1項に記載の乱数生成方法。
- 請求項8〜13のいずれか1項に記載の乱数生成方法を乱数生成装置に実行させるためのプログラム。
- 請求項8〜13のいずれか1項に記載の乱数生成方法を用いて所定周波数帯域に所定エネルギの雑音を発生させる過程を含むオーディオ復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002116936A JP3661663B2 (ja) | 2002-04-19 | 2002-04-19 | 乱数生成装置、乱数生成方法、乱数生成プログラムおよびオーディオ復号装置と復号方法 |
US10/414,619 US7257607B2 (en) | 2002-04-19 | 2003-04-16 | Random number generating apparatus, random number generating method, program for generating random numbers, audio decoder and audio decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002116936A JP3661663B2 (ja) | 2002-04-19 | 2002-04-19 | 乱数生成装置、乱数生成方法、乱数生成プログラムおよびオーディオ復号装置と復号方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003316568A JP2003316568A (ja) | 2003-11-07 |
JP3661663B2 true JP3661663B2 (ja) | 2005-06-15 |
Family
ID=29207803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002116936A Expired - Fee Related JP3661663B2 (ja) | 2002-04-19 | 2002-04-19 | 乱数生成装置、乱数生成方法、乱数生成プログラムおよびオーディオ復号装置と復号方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7257607B2 (ja) |
JP (1) | JP3661663B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990938A (zh) * | 2017-06-12 | 2017-07-28 | 迈普通信技术股份有限公司 | 随机数获取方法、装置及电子设备 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309148A (ja) * | 2004-04-22 | 2005-11-04 | Hitachi Ltd | データ変換装置およびデータ変換方法 |
CN100454236C (zh) * | 2004-05-13 | 2009-01-21 | 华为技术有限公司 | 随机数发生装置和软件测试的系统及方法 |
US8572142B2 (en) | 2010-11-03 | 2013-10-29 | General Electric Company | Method, device and computer program product for random number generation in a meter |
CN102799413B (zh) * | 2011-05-25 | 2015-08-19 | 清华大学 | 一种随机数生成方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3703727A (en) * | 1971-06-18 | 1972-11-21 | Bell Telephone Labor Inc | Method for generating random numerical quantities |
SE385644B (sv) * | 1974-10-17 | 1976-07-12 | Ericsson Telefon Ab L M | Anordning vid kryptering och dekryptering av meddelanden |
JPS61114326A (ja) | 1984-11-07 | 1986-06-02 | Nec Corp | ランダムタイムアウト出力タイマ回路 |
US4791669A (en) * | 1985-11-30 | 1988-12-13 | Nec Corporation | Encryption/decryption system |
JP2615743B2 (ja) | 1988-01-26 | 1997-06-04 | 松下電工株式会社 | 乱数発生装置 |
JPH0290320A (ja) | 1988-09-28 | 1990-03-29 | Hitachi Ltd | 擬似乱数発生回路 |
JP2567681B2 (ja) | 1988-09-30 | 1996-12-25 | 三洋電機株式会社 | 乱数発生装置 |
JP3461247B2 (ja) | 1996-07-19 | 2003-10-27 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
JPH10240500A (ja) | 1997-02-28 | 1998-09-11 | Toshiba Corp | 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム |
JP3536245B2 (ja) | 1999-10-29 | 2004-06-07 | アンリツ株式会社 | 雑音発生装置およびcnコントローラ |
JP2002032732A (ja) | 2000-07-14 | 2002-01-31 | Dainippon Printing Co Ltd | 可搬情報処理装置における擬似乱数取得方法 |
JP4272897B2 (ja) | 2002-01-30 | 2009-06-03 | パナソニック株式会社 | 符号化装置、復号化装置およびその方法 |
-
2002
- 2002-04-19 JP JP2002116936A patent/JP3661663B2/ja not_active Expired - Fee Related
-
2003
- 2003-04-16 US US10/414,619 patent/US7257607B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990938A (zh) * | 2017-06-12 | 2017-07-28 | 迈普通信技术股份有限公司 | 随机数获取方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US7257607B2 (en) | 2007-08-14 |
JP2003316568A (ja) | 2003-11-07 |
US20030200240A1 (en) | 2003-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yarlagadda et al. | Hadamard matrix analysis and synthesis: with applications to communications and signal/image processing | |
US11907328B2 (en) | Apparatus and method for generating efficient convolution | |
Van Der Hoeven et al. | On the bit-complexity of sparse polynomial and series multiplication | |
CN101399988A (zh) | 减少位深的量子化方法 | |
RU2698764C2 (ru) | Электронное вычислительное устройство для выполнения замаскированных арифметических действий | |
CN112200713A (zh) | 一种联邦学习中的业务数据处理方法、装置以及设备 | |
JP3661663B2 (ja) | 乱数生成装置、乱数生成方法、乱数生成プログラムおよびオーディオ復号装置と復号方法 | |
Beukers et al. | Lamé equations with algebraic solutions | |
JP2000066872A (ja) | ビットおよびディジット逆転方法 | |
Van der Hoeven | Notes on the truncated Fourier transform | |
JP2008217359A (ja) | 高速フーリエ変換装置及び高速フーリエ変換処理方法 | |
JP2012033032A (ja) | 情報処理装置および情報処理方法 | |
CN113962376A (zh) | 基于混层级精度运算的稀疏神经网络处理器、方法 | |
Friedlander et al. | Using a parity-sensitive sieve to count prime values of a polynomial | |
Bernstein | Optimizing linear maps modulo 2 | |
US6424986B1 (en) | Architecture of discrete wavelet transformation | |
US8407270B2 (en) | Methods of calculating negative inverse of modulus | |
Prado | A new fast bit-reversal permutation algorithm based on a symmetry | |
CN118568787B (zh) | 硬件模块及其应用方法 | |
JPH03156497A (ja) | 電子楽器の関数発生装置 | |
US20240187210A1 (en) | Encryption processing apparatus and encryption processing method | |
US6308194B1 (en) | Discrete cosine transform circuit and operation method thereof | |
Shenfeld | On semisimple representations of universal lattices | |
CN103503064B (zh) | 用于信号的低复杂度组合代码化和解码的装置和方法 | |
US9026573B2 (en) | Recursive type-IV discrete cosine transform system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050314 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080401 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120401 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120401 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140401 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |