JP6170575B2 - ピラミッドベクトル量子化器形状サーチ - Google Patents
ピラミッドベクトル量子化器形状サーチ Download PDFInfo
- Publication number
- JP6170575B2 JP6170575B2 JP2015563093A JP2015563093A JP6170575B2 JP 6170575 B2 JP6170575 B2 JP 6170575B2 JP 2015563093 A JP2015563093 A JP 2015563093A JP 2015563093 A JP2015563093 A JP 2015563093A JP 6170575 B2 JP6170575 B2 JP 6170575B2
- Authority
- JP
- Japan
- Prior art keywords
- loop
- vector
- inner dimension
- enloop
- represent
- 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.)
- Active
Links
- 239000013598 vector Substances 0.000 title claims description 184
- 238000000034 method Methods 0.000 claims description 75
- 238000004364 calculation method Methods 0.000 claims description 41
- 230000001186 cumulative effect Effects 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 39
- 238000013139 quantization Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 235000019800 disodium phosphate Nutrition 0.000 description 32
- 238000004458 analytical method Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 17
- 238000010606 normalization Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- KZSNJWFQEVHDMF-UHFFFAOYSA-N Valine Chemical compound CC(C)C(N)C(O)=O KZSNJWFQEVHDMF-UHFFFAOYSA-N 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100063424 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) dim-5 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
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/02—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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
-
- 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/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- 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
-
- 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/002—Dynamic bit allocation
-
- 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/02—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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
-
- 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
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0013—Codebook search algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
- Analogue/Digital Conversion (AREA)
Description
利得−形状ベクトル量子化のコンセプトは、ターゲットベクトルtを直接量子化する代わりに{x、G}のペアを量子化することである。正規化された形状入力に対して調整された形状量子化器および信号のダイナミクスを取り扱う利得量子化器を使用して、利得(G)成分および形状(x)成分が符号化される。ダイナミクスと形状とへの分割は、ファインストラクチャとも呼ばれ、知覚的聴覚モデルによく合うので、この利得−形状構造は音声符号化においてよく使用される。利得−形状コンセプトは、離散コサイン変換係数やビデオ符号化で使用される他の係数に適用可能である。
L1ノルムストラクチャードPVQ−量子化器はいくつかのサーチ最適化を可能とする。主な最適化は、N次元空間においてターゲットを全て正の「象限(quadrant)」(象限(orthant)やオクタント(octant)とも称されうる)に動かすことであり、2番目の最適化はL1ノルム射影をy(n)の開始時の近似として使用することである。PVQ(N、K)のKのL1ノルムは、ターゲット形状ベクトルx(n)の全ての要素の絶対値和のように、PVQ−ベクトルy(n)の全ての要素の絶対値和がKでなくてはならないことを意味する。
本明細書で提案されるPVQ形状サーチの実施の形態を適用したオーディオ符号化および復号システムの概要は図12に示される。ピラミッド射影を使用し、その次にファイン(形状)サーチフローを行う一般的な形状サーチは例えば図5に示される。形状サーチのファインサーチ部分の他の実施の形態は図6に示される。PVQ形状サーチは、ピラミッド射影と、ファインサーチと、を備えてもよい。ピラミッド射影が適用されない場合、形状サーチはファインサーチのみを備える。したがって、本明細書では、「ファインサーチ」と「形状サーチ」とは可換なものとして使用される場合がある。ファインサーチは形状サーチの一部であり、ピラミッド射影による最初の粗いサーチがない場合には形状サーチを行うことはファインサーチを行うことと同じであるからである。言い換えると、ファインサーチは形状サーチである場合もあれば、形状サーチを構成する場合もあり、ピラミッド射影が適用される場合はファインサーチは形状サーチの一部である。
PVQ(N、K)サーチ手順の目標は、最良にスケールされかつ正規化された出力ベクトルxq(n)を見つけることである。xq(n)は以下のように定義される。
ここで、y=yN、KはN次元ハイパーピラミッドの表面上の点であり、yN、KのL1ノルムはKである。言い換えると、yN、Kは、以下の式にしたがうような、次元Nとも称されるサイズNの選択された整数形状コードベクトルである。
すなわち、ベクトルxqは単位エネルギ正規化された整数サブベクトルy_(N,K)yN、Kである。最良のyベクトルは、ターゲットベクトルx(n)とスケールされ正規化され量子化された出力ベクトルxqとの間の平均二乗形状誤差を最小化するものである。これは、以下のサーチ歪みを最小化することにより得られる。
または、同じことであるが、分子および分母を二乗することにより、指標QPVQを最大化する。
ここで、corrxyはxとyとの相関である。L1ノルムKを伴う最適なPVQベクトル形状y(n)のサーチにおいて、以下にしたがい、N次元空間の全て正の「象限」のなかでQPVQ変数の繰り返し更新が行われる。
ここで、enloopy(k、n)は最も内側の単位パルスサーチループの内部で使用され累積される好適なエネルギ変数である。その繰り返し更新はenergyy(k、n)よりも1回少ない掛け算を必要とするからである。
k番目の単位パルスについての最良の位置nbestは、nを0からN−1まで増やすことにより繰り返し更新される。
QPVQ(k、n)の繰り返し最大化は、ゼロ個の配置単位パルスから、または適応低コストでプレ配置された単位パルスから、スタートしてもよい。これはK番目のピラミッドの表面の下の点への整数射影に基づくものであり、ターゲットのL1ノルムKにおける単位パルスの保証されたアンダーシュートを伴うものである。
全ての可能な符号の組み合わせが許されており全ての符号の組み合わせを符号化可能であるというyN、KPVQ整数ベクトルのストラクチャード的性質のため、結果として得られるベクトルがK単位パルスのL1ノルムに固守される限り、サーチは全て正の第1「象限」において行われる(「象限」にカギ括弧が付いている理由は、真の象限はN=2の場合にのみ存在し、ここではNは2より大きいものであり得るからである)。さらに、本発明者の認識によると、制限された精度での実装においてできる限り高い確度を得るために、入力信号x(n)の最大絶対値xabsmaxがインナループ相関累積手順のセットアップにおいて将来の使用のためにプレ解析されてもよい。
入力ターゲットベクトル(式3のxまたは式0のt)が全てゼロのベクトルである場合、および/またはベクトル利得(例えば、式0のG)が非常に低い場合、PVQ−サーチはバイパスされてもよく、有効なPVQ−ベクトルyは最初の位置
パルス密度比K/Nが変更離散コサイン変換係数などの係数当たり0.5単位パルスより大きい場合、K−1サブピラミッドへの低コスト射影が行われ、yの開始点として使用されてもよい。一方、パルス密度比が係数当たり0.5単位パルスより小さい場合、繰り返しPVQ−サーチは0のプレ配置された単位パルスから開始される。「K−1」への低コスト射影は多くの場合、単位パルスインナループサーチをK−1回繰り返すよりも、DSPサイクルにおいて計算機的に廉価である。しかしながら、低コスト射影の欠点は、N次元床関数アプリケーションのために不正確な結果が生成されることである。床関数を使用した低コスト射影の結果得られるL1ノルムは多くの場合、「K−1」とおよそ「K−5」との間の任意の値であり得る。すなわち、射影後の結果は、Kのターゲットノルムに至るためにファインサーチされる必要がある。
本明細書で開示されるソリューションはPVQファインサーチに関する(これはPVQ形状サーチを構成するかその一部であることは上述した通り)。以前のセクションで説明されたことは主に従来のPVQであるが、前もってxabsmaxを決めることは例外であり、それについては以下で詳述される。次元Nの最終的な整数形状ベクトルy(n)はKパルスのL1ノルムを固守しなければならない。ファインサーチは前提として、ピラミッドにおけるより低い点から、すなわちK番目のピラミッドの下から始まるよう構成され、N次元のK番目のハイパーピラミッドの表面への道を繰り返し見つけるよう構成される。ファインサーチにおけるK値は多くの場合1から512単位パルスの範囲をとる。
最終的なKがtp=127単位パルスのしきい値以下である場合、energyy(K)のダイナミクスは常に14ビット内に留まるであろうし、1ビットアップシフトされたenloopy(K)のダイナミクスは常に15ビット内に留まるであろう。これにより、k=Kに至るまでの全てのファインパルスサーチインナループ繰り返し内の全てのenloopy(k)を表すのに符号付き16ビットワードを使用することが可能となる。言い換えると、K<127の場合、任意のファインパルスサーチインナループ繰り返しにおいてenergyy(K)やenloopy(K)を表すのに16ビットを超えるワードビット長は不要であろう。
式19で計算されるこのアップシフトは「最悪の場合」を表しており、次のインナループにおいてなされうる可能なアップシフトの最大値をカバーする。したがって、最悪の場合のシナリオであっても、インナループ繰り返し中に、相関に関する最も重要な情報は失われもアウトシフトもしないことが確実となる。
16/32ビット制限DSPを前提とする本例示的実施の形態ではtp=127単位パルスであるところのしきい値tpよりもKが大きい場合、パラメータenergyy(K)のダイナミクスは14ビットを超え、1ビットアップシフトenloopy(K)のダイナミクスは15ビットを超える可能性がある。したがって、不必要な高精度を使用しないように、ファインサーチは、Kがtpより大きい場合、組{corrxy(k,n)2、enloopy(k、n)}の16ビット表現と32ビット表現との間で適応的に選択するよう構成される。ベクトルy(n)のKが127より大きい最終値になることが前もって分かっている場合、ファインサーチはそれまでに得られたyにおける最大パルス振幅maxampyを追跡するであろう。これは、maxampyが決定されるとも称されうる。この最大パルス振幅情報は、最適化されたインナ次元ループに入る前のプレ解析ステップで使用される。プレ解析は、今度の単位パルス追加インナループにおいてどの精度が使用されるべきかを決定することを含む。図12においてN、KをPVQ−形状サーチに入力することから示される通り、PVQサーチが始まる前にビット割り当ては知られている/決定されている。ビット割り当ては、PVQ−形状サーチに入力されるべきKを取得、決定および/または計算するための式または保持されるテーブルを使用してもよい。例えば、次元Nおよび所定数のbits(band)を伴う所定のバンドについて、K=function(bits(band)、N)である。
追加すべきさらなる単位パルスが存在する場合、すなわちpulsetot<Kの場合、新たな準最適corrupshift解析、式19、および新たなエネルギ精度解析、式22および式23、と共に新たなインナループが始まる。そして次の単位パルスループを式24、式6および式26と共に始める。
形状サーチの後、各ノンゼロPVQ−ベクトル要素には適切な符号が割り当てられ、ベクトルは単位エネルギに対してL2正規化(ユークリッド正規化としても知られる)される。加えて、バンドが分割された場合、それはさらにサブベクトル利得でスケールされる。
「En16xCorrSq32」方法は「En32xCorrSq32」と似ているが、差分として、インナループの発見された最良の単位パルス更新および比較がこれまでで最良のエネルギbestEn16の16ビット表現を使用することがある。
「En16xCorrSq32」方法の単位パルス当たりのおおよそのコストは5/N+21サイクルである。
「En32xCorrSq16」方法の単位パルス当たりのおおよそのコストは係数当たり6/N+20サイクルである。
以下に、図1−4を参照して、本明細書で開示される解決手段のいくつかの例示的実施の形態を説明する。
上述の方法および技術は、例えば通信デバイスが備える符号器やコーデックに実装可能である。
符号器の例示的実施の形態は一般的な態様で図11aに示される。符号器はメディア符号器であってもよく、例えばオーディオおよび/またはビデオ信号の符号化用に構成される。符号器1100は、図1−5のいずれかを参照して上述された方法の実施の形態のうちの少なくともひとつを行うよう構成される。符号器1100は、前述の方法の実施の形態と同じ技術的特徴、目的および利点を伴う。ある実装では、符号器は、例えば符号器が固定精度DSPで構成される場合のように、メモリおよび/または複雑さに関する拘束をを伴う。不必要な繰り返しを避けるため、符号器は簡潔に説明される。
エンコーダ1100は、いわゆるファインサーチまたはファイン形状サーチを含むピラミッドベクトル量子化用に構成される。ピラミッドベクトル量子化器、PVQはターゲットベクトルxを入力として取得し、インナ次元サーチループに単位パルスを繰り返し加えることでベクトルyを導く。入力ベクトルxは次元NとL1ノルムKとを有する。符号器1100は、処理回路または処理手段1101と、通信インタフェース1102と、を備える。処理回路1101は符号器1100に、単位パルス追加のための次のインナ次元サーチループに入る前に、今度のインナ次元ループにおけるyの累積エネルギに係る変数、enloopyを無損失な態様で表すために現在のビットワード長より多くが必要か否かを、現在のベクトルyの最大パルス振幅、maxampyに基づいて決定させるよう構成される。通信インタフェース1102は例えば入力/出力(I/O)インタフェースとも称され、他のエンティティやモジュールにデータを送信しかつそれらからデータを受信するためのインタフェースを含む。
ここでの開示は、少し異なる態様で表現され、例えば以下の態様および実施の形態に係る。
−例えばある実施の形態においては上記の式11および式12にしたがい例えば図5のステップS1で説明されるように、入力ターゲットベクトル(x(n))の最大絶対値(xabsmax)を決定、計算または取得すること、
−例えばある実施の形態では以下の式19を通じておよび図5のステップS2で説明されるように符号付き32ビットワードで次のループの累積インループ相関値の可能なアップシフトを計算することにより、少なくとも最大絶対値(xabsmax)に基づいて相関値の可能なアップシフトを決定、計算または取得すること、
−最終単位パルスの数(K)が例えば127単位パルスであってもよいしきい値(tp)よりも高くなりそうな場合、例えば上記の式13および式14にしたがい定義されてもよい上記のベクトル(y(n))の式26にしたがって計算される最大パルス振幅(maxampy)値/情報を決定、例えば追跡/保持すること、
・エネルギ情報を失うこと無くまたは実質的に失うこと無くインループエネルギを表すために所定のワード長より多いこと、例えば符号付き16ビットワードより多いことや符号付き32ビットワードより多いこと、が必要かどうかまたはそれが使用されるべきかどうか、を、例えば以下の式22および式23にしたがう計算を通じておよび図6のステップS3により説明されるように、保持される最大パルス振幅に基づいて判定/計算/決定/選択すること、
・所定のワード長より多くが必要とされる場合、最良の二乗相関項/パラメータ/値と最良の累積エネルギ項/パラメータ/値とを所定のワード長より多いもの、例えば32ビットワードや64ビットワードによって表すこと、
・所定のワード長より少ないものが必要とされる場合、第1ループを実行すること、
・所定のワード長より多くが必要とされる場合、所定のワード長より多いワード長のワードで表された「これまでで最良の」(準最適な)累積エネルギ項および最良の二乗相関項で第2の代替的ループを実行すること。
−例えば上記の式11および式12にしたがい入力(ターゲット)ベクトル(x(n))の最大絶対値(xabsmax)を決定、計算または取得する(S1、S23)、
−例えば上記の式19を通じて符号付き32ビットワードで次のループの累積インループ相関値の可能なアップシフトを計算することにより、少なくとも最大絶対値(xabsmax)に基づいて相関値の可能なアップシフトを決定、計算または取得する(S2、S28)、
−最終単位パルスの数(K)が例えば127単位パルスであってもよいしきい値(tp)よりも高くなりそうな場合、例えば上記の式13および式14にしたがい定義されてもよい上記のベクトル(y(n))の式26にしたがって計算される最大パルス振幅(maxampy)値/情報を追跡/保持する(S30)、
・インループエネルギを表すために所定のワード長より多いこと、例えば符号付き16ビットワードより多いことや符号付き32ビットワードより多いこと、が必要かどうかまたはそれが使用されるべきかどうか、を、例えば上記の式22および式23にしたがう計算を通じて、保持される最大パルス振幅に基づいて判定/計算/決定/選択する(S3、S32)、
・所定のワード長より多くが必要とされる場合、最良の二乗相関項/パラメータ/値と最良の累積エネルギ項/パラメータ/値とを所定のワード長より多いもの、例えば32ビットワードや64ビットワードによって表す(S34)、
・所定のワード長より少ないものが決定される場合、第1ループを実行する(S33)、
・所定のワード長より多くが決定される場合、所定のワード長より多いワード長のワードで表された最良の累積エネルギ項および最良の二乗相関項で第2の代替的ループを実行する(S35)。
−例えば上記の式11および式12にしたがい入力(ターゲット)ベクトル(x(n))の最大絶対値(xabsmax)を決定、計算または取得すること(S1)、
−例えば上記の式19を通じて符号付き32ビットワードで次のループの累積インループ相関値の可能なアップシフトを計算することにより、少なくとも最大絶対値(xabsmax)に基づいて相関値の可能なアップシフトを決定、計算または取得すること(S2、S28)、
−最終単位パルスの数(K)が例えば127単位パルスであってもよいしきい値(tp)よりも高くなりそうな場合、例えば上記の式13および式14にしたがい定義されてもよい上記のベクトル(y(n))の式26にしたがって計算される最大パルス振幅(maxampy)値/情報を追跡/保持する、
・インループエネルギを表すために所定のワード長より多いこと、例えば符号付き16ビットワードより多いことや符号付き32ビットワードより多いこと、が必要かどうかまたはそれが使用されるべきかどうか、を、例えば上記の式22および式23にしたがう計算を通じて、保持される最大パルス振幅に基づいて判定/計算/決定/選択すること(S3)、
・所定のワード長より多くが必要とされる場合、最良の二乗相関項/パラメータ/値と最良の累積エネルギ項/パラメータ/値とを所定のワード長より多いもの、例えば32ビットワードや64ビットワードによって表すこと、
・所定のワード長より少ないものが決定される場合、第1ループを実行すること、
・所定のワード長より多くが決定される場合、所定のワード長より多いワード長のワードで表された最良の累積エネルギ項および最良の二乗相関項で第2の代替的ループを実行すること。
−例えば上記の式11および式12にしたがい入力(ターゲット)ベクトル(x(n))の最大絶対値(xabsmax)を決定、計算または取得するための第1決定部U1、
−例えば上記の式19を通じて符号付き32ビットワードで次のループの累積インループ相関値の可能なアップシフトを計算することにより、少なくとも最大絶対値(xabsmax)に基づいて相関値の可能なアップシフトを決定、計算または取得するための第2決定部U2、
−最終単位パルスの数(K)がしきい値(tp)よりも高くなりそうな場合、例えば上記の式13および式14にしたがい定義されてもよい上記のベクトル(y(n))の式26にしたがって計算される最大パルス振幅(maxampy)値/情報を追跡/保持するための格納部U3、
−インループエネルギを表すために所定のワード長より多いこと、例えば符号付き16ビットワードより多いことや符号付き32ビットワードより多いこと、が必要かどうかまたはそれが使用されるべきかどうか、を、例えば上記の式22および式23にしたがう計算を通じて、保持される最大パルス振幅に基づいて判定/計算/決定/選択するための選択部U4、
−選択部によって所定のワード長より多くが選択された場合、最良の二乗相関項/パラメータ/値と最良の累積エネルギ項/パラメータ/値とを所定のワード長より多いワード長、例えば32ビットワードや64ビットワードで生成するための表現部U5、
−インナループ処理部U6であって、
・選択部によって所定のワード長より少ないものが選択された場合、第1ループを実行し、
・所定のワード長より多いものが決定された場合、所定のワード長より多いワード長のワードで表される最良の累積エネルギ項および最良の二乗相関項で第2の代替的ループを実行する、ためのインナループ処理部。
−図7に関連して説明されたオプションのステップS21を行うためのPVQバンド分割部U7、
−以下で図7に関連して説明されるステップS24を行うための比較部U8、
−以下で説明されるステップS25を行うためのPVQベクトル生成部U9、
−以下で説明されるステップS26を行うための開始点生成部U10、
−以下で説明されるステップS27を行うためのパラメータ計算部U11、
−例えば形状サーチにKおよびNを供給するためのビット割り当て部U12、
−本明細書で開示されるPVQ−形状サーチからの出力のレシーバとして見ることが可能な、PVQインデクシング部U13、
−以下で説明されるステップS36を行うための正規化部U14、
−以下で説明されるステップS37を行うための出力部U15。
−例えば上記の式11および式12にしたがい入力(ターゲット)ベクトル(x(n))の最大絶対値(xabsmax)を決定、計算または取得する、
−例えば上記の式19を通じて符号付き32ビットワードで次のループの累積インループ相関値の可能なアップシフトを計算することにより、少なくとも最大絶対値(xabsmax)に基づいて相関値の可能なアップシフトを決定、計算または取得する、
−最終単位パルスの数(K)が例えば127単位パルスであってもよいしきい値(tp)よりも高くなりそうな場合、例えば上記の式13および式14にしたがい定義されてもよい上記のベクトル(y(n))の式26にしたがって計算される最大パルス振幅(maxampy)値/情報を追跡/保持する、
・インループエネルギを表すために所定のワード長より多いこと、例えば符号付き16ビットワードより多いことや符号付き32ビットワードより多いこと、が必要かどうかまたはそれが使用されるべきかどうか、を、例えば上記の式22および式23にしたがう計算を通じて、保持される最大パルス振幅に基づいて判定/計算/決定/選択する、
・所定のワード長より多くが必要とされる場合、最良の二乗相関項/パラメータ/値と最良の累積エネルギ項/パラメータ/値とを所定のワード長より多いもの、例えば32ビットワードや64ビットワードによって表す、
・所定のワード長より少ないものが決定される場合、第1ループを実行する、
・所定のワード長より多くが決定される場合、所定のワード長より多いワード長のワードで表された最良の累積エネルギ項および最良の二乗相関項で第2の代替的ループを実行する。
上記の態様および実施の形態のうちの少なくともいくつかにより可能となる、従来技術に対するいくつかの利点は以下の通りである。
上述の実施の形態は単に例として与えられており、提案される技術はそれらに限定されないことは理解されるべきである。本請求の範囲から離れることなく、実施の形態に対して種々の変更や組み合わせや変化を加えることができることは、当業者に理解されるであろう。特に、技術的に可能であれば、異なる実施の形態の異なる部分的解決手段を他の構成と組み合わせることができる。
N ベクトル次元
Ns サブベクトル次元
x ターゲットベクトル
xq 量子化形状ベクトル
yfinal L1ノルムKに固守された整数ベクトル
K 最終単位パルスの数
k 累積単位パルスインデックスの数
n 係数またはサンプルインデックス
i サブベクトルインデックス
MDCT 変更離散コサイン変換
PVQ ピラミッドベクトル量子化器(量子化)
WC 最悪の場合
WMOPS 重み付け毎秒百万回動作
AccEn 累積エネルギ
ROM リードオンリーメモリ
PROM プログラムROM
SNR 信号対雑音比
EVS エンハンストボイスサービス
3GPP 第3世代パートナーシッププロジェクト
DSP デジタルシグナルプロセッサ
CELT 拘束エネルギラップ変換
IETF インターネットエンジニアリングタスクフォース
MAC 乗算−累算
ACELP 代数的コード励起線形予測
EPS 機械イプシロン
以下は、STL 2009 G.191仮想16/32ビットを使用するANSIーCコードでの例示的実施の形態の実装の例である(DSPのシミュレーション)。
static
Word16 max_val_fx( /* o : 入力ベクトルの最大値 */
const Word16 *vec, /* i : 入力ベクトル */
const Word16 lvec /* i : 入力ベクトルの長さ */
)
{
Word16 j,tmp;
tmp = vec[0]; move16();
FOR ( j=1 ; j<lvec ; j++ )
{
tmp = s_max(vec[j],tmp);
}
return tmp;
}
/* pulse_totから始まる、en_dn_shiftにおける次元ループに要求されるエネルギ精度/ダウンスケーリングについての情報を伴う、ひとつの単一追加単位パルスのためのインナサーチループ、および準最適相関アップスケーリングに使用されるべき現在のmax_xabs絶対値。imaxで最良の位置に配置された単位パルスのインデックスを返す。
*/
static
Word16 one_pulse_search(const Word16 dim, /* ベクトル次元 */
const Word16* x_abs, /* 絶対ベクトル値 */
Word16* y, /* 出力ベクトル */
Word16 *pulse_tot_ptr,
Word32* L_xy_ptr, /* 累積相関 */
Word32* L_yy_ptr, /* 累積エネルギ */
Word16 high_prec_active,
Word16 en_dn_shift,
Word16 max_xabs) /* 現在のパルス累積最大振幅 */
{
Word16 i, corr_up_shift, corr_tmp, imax, corr_sq_tmp, en_max_den, cmax_num, en_tmp;
Word32 L_tmp_en_lc, L_tmp_corr ;
Word32 L_tmp_en, L_en_max_den, L_corr_sq_max, L_tmp_corr_sq;
Word32 L_left_h, L_right_h;
UWord32 UL_left_l, UL_right_l, UL_dummy;
#ifndef NONBE_PVQ_SEARCH_FIX
Word16 corr_margin;
#endif
#ifdef BE_CLEAN_PVQ_SEARCH
Word32 L_tmp;
UWord32 UL_tmp;
UWord16 u_sgn;
#endif
/* ベクトルへの各単位パルス追加の前に、相関精度を最大化 */
corr_up_shift = norm_l(L_mac(*L_xy_ptr, 1, max_xabs));
/* 次元ループにおける最悪の場合のL_xy更新のプレ解析 , 2 ops */
/* クリーンなBEコード、分割された低/高精度ループを伴う */
/* 結果として得られるエネルギがリミット内にあるという条件付きで低い複雑さのen/corrサーチセクションをアクチベート */
/* より高次元の場合に典型的 */
IF( high_prec_active == 0 )
{
en_max_den = 0; /*move16()*/; /* OPT: moveはhigh_prec_activeを使用して以下としてセーブされる
en_max_den */
cmax_num = -1; move16(); /* n==0についての第1更新を強制するよう要求 */
FOR(i = 0; i < dim; i++) /* FOR 3 ops */
{
L_tmp_corr = L_shl(L_mac(*L_xy_ptr,1,x_abs[i]), corr_up_shift ); /* 実際のインループターゲット */
corr_tmp = round_fx(L_tmp_corr);
corr_sq_tmp = mult(corr_tmp, corr_tmp); /* CorrSqは低い複雑さのたすき掛けについて16ビットである */
L_tmp_en_lc = L_mac(*L_yy_ptr, 1,y[i] );
/*Q1 結果、エネルギは~14+1(Q1)+1(sign)=16ビットの範囲に亘りうる, 1 op */
/* シフトの伴わないextract_lが、このセクションについては常に使用可能である。エネルギはより低いワードに留まることが保証されているからである。, 1 op */
en_tmp = extract_l(L_tmp_en_lc);
/* L_shl + round_fxもまた使用可能であるが、(2-3 ops)のアップシフトコストが追加されうる。*/
/* 16/32ビット比較 WC (4 +1+1 + (1+1+1) = 9 */
/* corr_sq_tmp/en_tmp_den > cmax_num/en_max_den */
/* corr_sq_tmp * en_max_den > cmax_num * en_tmp */ /* IF 4 ops */
IF( L_msu(L_mult(corr_sq_tmp, en_max_den),cmax_num , en_tmp) > 0) /* 2 ops */
{
cmax_num = corr_sq_tmp; move16(); /* 1 op */
en_max_den = en_tmp; move16(); /* 1 op */
imax = i; move16(); /* 1 op */
}
} /* dim */
}
ELSE
{ /* ベクトルエネルギが高くなるとき(ピーク性または多くのパルス)、高分解能セクションがアクチベートされる。
*/
/* BASOPオペレータMpy32_32_ssはCorrSq項およびEnergy項の両方について高分解能を可能とするために使用される。 */
/*パフォーマンス: 浮動小数点リファレンスに近い */
L_en_max_den = L_deposit_l(0); /* 1 op */
L_corr_sq_max = L_deposit_l(-1); /* 第1更新を強制するよう要求 */ /* 1 op */
FOR(i = 0; i < dim; i++) /* FOR 3 ops */
{
L_tmp_corr = L_shl(L_mac(*L_xy_ptr,1,x_abs[i]), corr_up_shift );/* 実際のインループWC値 */
Mpy_32_32_ss(L_tmp_corr,L_tmp_corr, &L_tmp_corr_sq, &UL_dummy);
/* CorrSq 32 bits,4 ops */
L_tmp_en = L_mac(*L_yy_ptr, 1, y[i]); /* Q1,エネルギはsign+19 bitsまでに亘る , 1 op */
/* 最高の確度のために、最大アップシフトされた32×32ビットの符号付き値のペアを使用する */
/* (L_tmp_corr_sq / L_tmp_en) > (L_corr_sq_max/L_en_max_den) */
/* (L_tmp_corr_sq * L_en_max_den) > (L_corr_sq_max * L_tmp_en) */
Mpy_32_32_ss( L_en_max_den, L_tmp_corr_sq, &L_left_h, &UL_left_l); /* 4 ops */
Mpy_32_32_ss( L_tmp_en, L_corr_sq_max, &L_right_h, &UL_right_l); /* 4 ops */
/* 32/64ビット比較 WC (1+1+ 2x2+ 4 +(2+2+1) = 15 */
L_tmp = L_sub(L_left_h, L_right_h); /* 高い符号付きワードのチェック 1 op */
UL_tmp = UL_subNs(UL_right_l, UL_left_l, &u_sgn);
/* 低い符号無しワードのチェック、 UL_subNsの">="によるスイッチに注意, 1 op */
IF( ( L_tmp > 0 ) || ( (L_tmp == 0) && (u_sgn != 0 ) ) ) /* IF 4 ops */
{
L_corr_sq_max = L_tmp_corr_sq; move32(); /* 2 ops */
L_en_max_den = L_tmp_en; move32(); /* 2 ops */
imax = i; move16(); /* 1 op */
}
} /* 次元ループ */
}
/* 最後に、次のパルスループのために、過去のL_xy, Lyyに発見された単位パルス寄与を追加 */
*L_xy_ptr = L_mac(*L_xy_ptr, x_abs[imax], 1); /* xy_flt += xabs[imax]; Q12+1 */
*L_yy_ptr = L_mac(*L_yy_ptr, 1, y[imax]); /* yy_flt += y[imax]; */
y[imax] = add(y[imax],1); move16(); /* Q0 追加パルス */
(*pulse_tot_ptr) = add((*pulse_tot_ptr) ,1); /* トータルパルス和のインクリメント */
return imax;
}
/*-----------------------------------------------------------------------*
* Function pvq_encode_fx() *
* *
* 基本的PVQサーチアルゴリズム: *
* より低い~(K-1)ピラミッドへの選択的L1ノルム射影 *
* ACELP様の単位パルス追加ファインサーチが続く *
*-----------------------------------------------------------------------*/
void pvq_encode_fx(
Encoder_State_fx *st_fx,
const Word16 *x, /* i: 量子化対象ベクトル Q15-3=>Q12 */
Word16 *y, /* o: 生パルス (スケールされてない短い) Q0 */
Word16 *xq, /* o: 量子化されたベクトル Q15 */
const short pulses, /* i: 割り当てパルスの数 */
const short dim, /* i: ベクトル長 == N */
const Word16 neg_gain /* i: -サブベクトル利得 我々はQ15 0..1における−負の利得を使用する */
)
{
Word16 i;
Word16 pulse_tot;
Word16 xabs[PVQ_MAX_BAND_SIZE];
Word16 max_xabs;
Word32 L_xsum;
Word32 L_proj_fac;
Word32 L_yy, L_xy;
Word16 max_amp_y, imax;
Word16 k, en_margin, en_dn_shift, high_prec_active ;
Word32 L_num, L_tmp;
Word16 proj_fac, tmp, shift_den,shift_num,shift_delta, num,den;
UWord16 u16_tmp;
Word16 dim_m1;
Word32 L_isqrt;
Word16 neg_gain_norm, shift_tot;
Word16 high_pulse_density_flag;
PvqEntry_fx entry;
/* 絶対ベクトルを生成し、絶対ベクトルの和を計算 */
L_xsum = L_deposit_h(0);
max_xabs = -1; move16();
FOR( i = 0; i < dim; i++)
{
xabs[i] = abs_s(x[i]); move16(); /* Q12 */
max_xabs = s_max(max_xabs, xabs[i] ); /* 効率的なサーチ相関スケーリングのために */
L_xsum = L_mac0(L_xsum, 1, xabs[i] ); /* Q12に留まる */
y[i] = 0; move16(); /* init */
}
test();
IF( L_xsum == 0 || neg_gain == 0 )
{ /* ゼロ入力またはゼロ利得の場合 */
/* 最初と最後に「半分の」パルス和を置くか、全てのパルスを位置0に置く */
pulse_tot = pulses; move16();
dim_m1 = sub(dim,1);
y[dim_m1] = 0; move16();
y[0] = shr(pulses,1); move16();
y[dim_m1] = add(y[dim_m1], sub(pulses, y[0])); move16();
L_yy = L_mult(y[0],y[0]); /* 正規化のためL_yyが必要 */
if(dim_m1 != 0) {
L_yy = L_mac(L_yy, y[dim_m1],y[dim_m1]); /* (single basop) */
}
}
ELSE
{ /* 通常サーチ */
/* proj_fac_flt = (pulses - 1)/xsum_flt; */ /* normalize to L1 norm = absolute k-1 pyramid */
num = sub(pulses,1);
high_pulse_density_flag = 0; move16();
if ( sub(pulses, shr(dim, 1)) > 0 )
{
high_pulse_density_flag = 1; move16();
}
test();
IF( (num > 0) && (high_pulse_density_flag != 0) )
{
shift_den = norm_l(L_xsum); /* x_sum入力 Q12 */
den = extract_h(L_shl(L_xsum, shift_den)); /* now in Q12+shift_den */
L_num = L_deposit_l(num);
shift_num = sub(norm_l(L_num) ,1);
L_num = L_shl(L_num, shift_num) ; /* now in Q0 +shift_num -1 */
proj_fac = div_l(L_num, den ); /* L_numは常にden<<16より小さいものでなければならない */
shift_delta=sub(shift_num,shift_den);
L_proj_fac = L_shl(L_deposit_l(proj_fac), sub(9, shift_delta)); /* 固定Q12へと運ぶ */
}
pulse_tot = 0; move16();
L_yy = L_deposit_l(0);
L_xy = L_deposit_l(0);
/* パルス密度が0.5よりも大きい場合、より低いサブピラミッド上の開始位置を見つける */
IF((num > 0) && (high_pulse_density_flag != 0) )
{
FOR( i = 0; i < dim ; i++) /* max 64 */
{
/* y_flt[i] = (short)floor(xabs_flt[i] * proj_fac_flt); */ /* FLOATピラミッド切頭 */
/* y[i] = shr(xabs[i]*L_proj_fac); */ /* BASOPピラミッド切頭 */
Mpy_32_16_ss(L_proj_fac,xabs[i],&L_tmp,&u16_tmp); /*Q12 *Q12 +1 */
y[i] = extract_l(L_shr( L_tmp, 12+12-16+1 )); move16(); /* ピラミッド「切頭」 */
/* Q12 *Q12 -> Q0 */
pulse_tot = add(pulse_tot, y[i]); /* Q0 */
L_yy = L_mac(L_yy, y[i], y[i]); /* エネルギ、結果はL_macにより2だけスケールアップされる */
L_xy = L_mac(L_xy, xabs[i], y[i]); /* Corr, Q0*Q12 +1 --> Q13 */
}
}
/* PVQファインサーチループの説明 */
/* ACELP様の完全CorrSq/Energyサーチの実行 */
/* 基本サーチロジックは、出力ベクトルyにおける各位置nにひとつの単位パルスを追加することをテストし、相関項およびエネルギ項を繰り返し更新することである
Rxy(k,n) = Rxy(k-1) + 1*abs(x(k,n)) % ターゲットと単位相関との積の追加
Ryy(k,n) = Ryy(k-1) + 2*y(k-1,n) + 1^2 % 単位エネルギ寄与の追加
RxySq(k,n) = Rxy(k,n)*Rxy(k,n)
minimize ( -Rxy(k,n)/Sqrt(Ryy(k,n)) ), over n and k
( or equiv. maximize ( RxySq(k,n)/Ryy(k,n) ), over n and k )
RxySq(k,n) bestRxySq
----------- > --------- ? 最良候補の更新
Ryy(k,n) bestRyy
bestRyy * RxySq(k,n) > bestRxySq * Ryy(k,n) ? 最良候補の更新
Misc:
Ryy(k,n)の1^2は次元ループの前に追加可能。
Ryy(k,n)はオプションで、ひとつの掛け算/シフトを避けるために、2.0だけ予めダウンスケーリングされうる。
Rxy(k,n)は、RxySqを最適化するために、各単位パルスループに対して動的にスケール可能。
CorrSqTerm =(Rxy(k,n))^2,はWord16/Word32変数において最大精度を有する
Energy term:Ryy(k, n)
はゼロになるべきではない。すなわち、大抵の場合切頭にならないような十分な精度を有する
すなわち、127パルスより多くがQ1に累積された場合、32ビット変数の使用が好ましい
k=127=>log2(127^2 ) = 13.9774 bits, Q1符号付きにフィットする。Q1により2つへのプレ分割はうまくいく。
k=255=>log2(255^2 ) = 15.9887 bits, すなわち、1ビットスケーリング。Q1符号無し16ビット値にフィットする。
次元アスペクト:
6以上の次元は常に16ビットエネルギセーフである。最大パルスは96であるからである。
(for 1+31 bits short codewords)
次元5、4、3、2には127パルスより高いもの(またはより低いもの)が割り当てられてもよい
次元1はサーチを必要としない。符号のみが関係する。
現在、我々はKMAX=512を有する。より正確には、DIM 5についてkmaxは238である
DIM 4,3,2,1 kmaxは512である
符号無しDSP演算が使用されてもよい,
しかしながらそうすると「スタートアップ」ケース/今は負のセンチネルを特別な方法で扱わなければならない。
また、さらに、現在UL_mac,UL_mac0,UL_msu,UL_msu0はSTL符号無しbasopsとして利用可能でない。
PVQサーチコードを効率的に働かせるために、我々は以下を行う:
1. これまでの累積相関(k-1パルスのRxy)を解析することにより、相関項の準最適norm_lベースダイナミックアップスケーリングを常に使用し、プレ解析された最大の可能なターゲット値max_xabsを使用する
2. プレ累積エネルギによってエネルギ項の16または32ビット表現を選択的に使用する
さらに、エネルギ項Ryyが16ビットより多くを必要とする場合、我々は32ビットエネルギ表現にスイッチし、相関Rxyについてより高い32ビット表現にスイッチする。また、歪みたすき掛け計算の精度を64ビット程度まで増やす。
*/
/* Rxy_max=(k,*)= max( L_xy + 1*max_x_abs)
準最適L_xy正規化(corr, corrSq)のために必要な解析 */
/* Ryy_max(k,*) = max(L_yy(k-1) + .5 + 1*max_amp_y(k-1))
pulses > 127の場合のエネルギ(L_yy)精度選択のために必要な解析 ,
( (127^2)*2 fits in Signed Word16) */
L_yy=L_shr(L_yy,1); /* サーチループドメインについて2だけスケールダウン */
IF (sub(pulses,127)<=0 )
{ /* LCインナループ、6以上の次元の場合は常に、1…5次元の場合はときどき、ここに入る。 */
/* ( エネルギ高精度が非アクティブの場合、max_amp_yは不要で、max_amp_y(k-1)更新はない ) */
FOR (k=pulse_tot; k<pulses;k++){
L_yy = L_add(L_yy,1); /* pulse_tot+1について、.5がエネルギに追加 */
imax = one_pulse_search(dim, xabs,y,&pulse_tot,&L_xy,&L_yy,0, 0,max_xabs);
}
}
ELSE
{ /* HC or LC+HC インナループ */
max_amp_y = max_val_fx(y, dim); /* このループは最大5の値に亘る */
/* pulses_sumが127を超える場合、射影されたyからのmax_amp_yが必要 */
/* 32ビットエネルギの第1セクションは非アクティブ、しかしながらmax_amp_yは更新され続ける */
FOR( k=pulse_tot; k<128; k++){
L_yy = L_add(L_yy,1); /* .5 追加 */
imax = one_pulse_search(dim, xabs,y,&pulse_tot,&L_xy,&L_yy,0,0,max_xabs);
max_amp_y = s_max(max_amp_y, y[imax]);
}
/* より大きなパルス数を伴う第2セクション、32ビットエネルギ精度は適応的に選択される、max_amp_yは更新され続ける */
FOR( k=pulse_tot; k<pulses; k++){
L_yy = L_add(L_yy,1); /* .5追加 */
en_margin = norm_l(L_mac(L_yy,1, max_amp_y)); /*最大の「追加」を見つける, マージン,~2 ops */
en_dn_shift = sub(16, en_margin); /* より低いワードへのシフトの計算 */
high_prec_active = 1; move16();
if( en_dn_shift <= 0 ){ /* 実際に必要な場合にのみ32ビットエネルギを使用 */
high_prec_active = 0; move16();
}
/* 32ビットエネルギおよび相関は適応的にアクティブ, max_amp_yは更新され続ける */
imax = one_pulse_search(dim,xabs,y,&pulse_tot,&L_xy,&L_yy,high_prec_active,
en_dn_shift, max_xabs);
max_amp_y = s_max(max_amp_y, y[imax]);
}
}
L_yy = L_shl(L_yy,1); /* yy= yy*2.0 */ /* 単位/逆利得計算に対してエネルギを正しくするために、サーチループ解析エネルギダウンシフトを1だけ補償 */
}
/* 単位エネルギ(L2)正規化スケーリングの適用、常に少なくともひとつのパルス、したがってdiv-by-zeroチェックは不要 */
L_isqrt = L_deposit_l(0);
IF( neg_gain != 0 ){
L_isqrt = Isqrt(L_shr(L_yy,1)); /* 注意:fltにあるようなひとつの単一利得ファクタは計算されない */
}
shift_num = norm_s(pulse_tot); /* yの最大の可能なパルス振幅を説明、
max_amp_yが利用不可でも使用可能 */
shift_den = norm_s(neg_gain); /* 利得ダウンスケーリングシフトを説明 */
neg_gain_norm = shl(neg_gain, shift_den); /* このノルムなしで10 dBまでの損失 */
shift_tot = sub(add(shift_num, shift_den), 15);
/* DSP OPT : 平均の複雑さを抑えるために、共通利得==1.0の場合について、特別なループを実行可能 */
/* DSP OPT PROM : 共通復号器正規化ループの再利用 */
L_isqrt = L_negate(L_isqrt);
FOR( i = 0; i < dim; i++)
{
tmp = shl(y[i],shift_num); /* アップシフトされたabs(y[i])がスケーリングに使用される */
if( x[i] < 0 )
{
tmp = negate(tmp); /* 符号付与 */
}
if( y[i] != 0 )
{
y[i] = shr(tmp, shift_num); move16(); /* y[i}の符号の更新,~range -/+ 512),array move */
}
Mpy_32_16_ss( L_isqrt, tmp, &L_tmp, &u16_tmp); /* Q31*Q(0+x) +1 */
Mpy_32_16_ss( L_tmp, neg_gain_norm , &L_tmp, &u16_tmp); /* Q31*Q(0+x) *Q15 +1 */
L_tmp = L_shr(L_tmp, shift_tot); /* Q31+x */
xq[i] = round_fx(L_tmp); move16(); /* Q15, array move */
L_xq[i] = L_tmp; /* Q31 現在不使用 */
}
/* 発見されたPVQベクトルを短いコードワードにインデックスする */
entry = mpvq_encode_vec_fx(y, dim, pulses);
/* 短いコードワードをレンジ復号器に送信 */
rc_enc_bits_fx(st_fx, UL_deposit_l(entry.lead_sign_ind) , 1); /* 0 or 1 */
IF( sub( dim, 1) != 0 )
{
rc_enc_uniform_fx(st_fx, entry.index, entry.size);
}
return;
シミュレーションの背景
本明細書の開示の実施の形態がシミュレーションされた。行われた全てのPVQ−形状サーチシミュレーションについて、使用されたビットレートは64000 bpsであり、コーデックはMDCTモードで動作し、初期MDCT係数サブバンドサイズは[8, 12, 16, 24, 32]係数であった。これらのバンドはより小さいバンドセクションに非常によく分割され、各セクションはPVQバンド分割アルゴリズムによりサブベクトルによって表現される。例えば、サイズ8のバンドは、十分なビットが割り当てられる場合、例えば「4、4」や「3、3、2」などのより小さいサブセクションに分割されうる。典型的には、各最終サブベクトルの形状コーディングのために最大32ビットが使用可能となるように、各バンドは分割される。
Claims (30)
- 符号器により行われるピラミッドベクトル量子化器(PVQ)形状サーチ方法であって、前記PVQはターゲットベクトルxを入力として取得し、インナ次元サーチループの中で単位パルスを繰り返し加えることでベクトルyを導き、前記方法は、
単位パルス追加のための次のインナ次元サーチループに入る前に、前記次のインナ次元サーチループ(103)におけるyの累積エネルギに係る変数、enloopyを無損失な態様で表すために現在のビットワード長より多くが必要か否かを、現在のベクトルyの最大パルス振幅、maxampyに基づいて決定すること(102、204)を含む方法。 - 単位パルス追加のための次のインナ次元サーチループに入る前に、前記ターゲットベクトルxと前記ベクトルyとの間の前記次のループの累積インループ相関値、corrxyのビットワードでの可能なアップシフトを、前記ターゲットベクトルxの最大絶対値、xabsmaxに基づいて、決定すること(203)をさらに含む請求項1に記載の方法。
- enloopyを表すために現在のビットワード長より多くが必要(102、204、304、403)な場合、enloopyを表すためにより長いビットワード長を使用して前記次のインナ次元サーチループにおける計算を行う(103、205、305、404)ことをさらに含む請求項1または2に記載の方法。
- enloopyを表すために現在のビットワード長より多くが必要な場合、前記次のインナ次元サーチループにおける前記ターゲットベクトルxと前記ベクトルyとの間の二乗累積インループ相関値、corrxy 2を表すためにより長いビットワード長を使用して前記次のインナ次元サーチループにおける計算を行う(305)ことをさらに含む請求項1から3のいずれか1項に記載の方法。
- enloopyを表すために現在のビットワード長より多くが必要でない場合、enloopyを表すために第1ビットワード長を使用した第1単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行うこと(405)と、
enloopyを表すために現在のビットワード長より多くが必要な場合、enloopyを表すために、前記第1単位パルス追加ループよりも長いビットワード長を使用した第2単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行うこと(404)と、をさらに含む請求項1から4のいずれか1項に記載の方法。 - enloopyを表すために現在のビットワード長より多くが必要でない場合、所定の精度を有する第1単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行うこと(405)と、
enloopyを表すために現在のビットワード長より多くが必要な場合、前記第1単位パルス追加ループよりも高い精度を有する第2単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行うこと(404)と、をさらに含む請求項1から5のいずれか1項に記載の方法。 - 前記enloopyを表すために現在のビットワード長より多くが必要か否かをmaxampyに基づいて決定することは、前記次のインナ次元サーチループにおいて前記単位パルスがmaxampyに関連付けられた前記ベクトルyにおける位置に加えられる場合の特性を決定することを含む請求項1から6のいずれか1項に記載の方法。
- 単位パルス追加のための前記インナ次元サーチループにおいて、前記ベクトルyにおける各位置nについて、前記現在のnの相関およびエネルギ値と、以前のnの値から保存された二乗相関、BestCorrSqおよびエネルギ値bestEnと、のたすき掛けを評価することで単位パルス追加のための前記ベクトルyにおける位置nbestを
- 前記ターゲットベクトルxに関連するKの最終値がしきい値を超える場合、maxampyを追跡することをさらに含む請求項1から8のいずれか1項に記載の方法。
- ピラミッドベクトル量子化(PVQ)形状サーチのために構成された符号器であって、前記PVQはターゲットベクトルxを入力として取得し、インナ次元サーチループの中で単位パルスを繰り返し加えることでベクトルyを導き、前記符号器は、
単位パルス追加のための次のインナ次元サーチループに入る前に、前記次のインナ次元サーチループにおけるyの累積エネルギに係る変数、enloopyを無損失な態様で表すために現在のビットワード長より多くが必要か否かを、現在のベクトルyの最大パルス振幅、maxampyに基づいて決定するよう構成される符号器。 - さらに、単位パルス追加のための次のインナ次元ループに入る前に、前記ターゲットベクトルxと前記ベクトルyとの間の前記次のループの累積インループ相関値、corrxyのビットワードでの可能なアップシフトを、前記ターゲットベクトルxの最大絶対値、xabsmaxに基づいて、決定するよう構成される請求項10に記載の符号器。
- さらに、enloopyを表すために現在のビットワード長より多くが必要な場合、enloopyを表すためにより長いビットワード長を使用して前記次のインナ次元サーチループにおける計算を行うよう構成される請求項10または11に記載の符号器。
- enloopyを表すために現在のビットワード長より多くが必要でない場合、第1ビットワード長を使用した第1単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行い、
enloopyを表すために現在のビットワード長より多くが必要な場合、前記第1単位パルス追加ループよりも長いビットワード長を使用した第2単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行うよう構成される請求項10から12のいずれか1項に記載の符号器。 - さらに、enloopyを表すために現在のビットワード長より多くが必要でない場合、所定の精度を有する第1単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行い、
enloopyを表すために現在のビットワード長より多くが必要な場合、前記第1単位パルス追加ループよりも高い精度を有する第2単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行うよう構成される請求項10から13のいずれか1項に記載の符号器。 - 前記enloopyを表すために現在のビットワード長より多くが必要か否かをmaxampyに基づいて決定することは、前記次のインナ次元サーチループにおいて前記単位パルスがmaxampyに関連付けられた前記ベクトルyにおける位置に加えられる場合の特性を決定することを含むよう構成される請求項10から14のいずれか1項に記載の符号器。
- さらに、単位パルス追加のための前記インナ次元サーチループにおいて、前記ベクトルyにおける各位置nについて、前記現在のnの相関およびエネルギ値と、以前のnの値から保存された相関、BestCorrSqおよびエネルギ値bestEnと、のたすき掛けを評価することで単位パルス追加のための前記ベクトルyにおける位置nbestを
- さらに、前記ターゲットベクトルxに関連する最終単位パルスの数、Kがしきい値を超える場合、maxampyを追跡するよう構成される請求項10から16のいずれか1項に記載の符号器。
- 請求項10から17のいずれか1項に記載の前記符号器を備える通信デバイス。
- 少なくともひとつのプロセッサにより実行された場合、請求項1から9のいずれか1項に記載の前記方法を前記少なくともひとつのプロセッサに実行させるインストラクションを備えるコンピュータプログラム。
- 前記少なくともひとつのプロセッサのうちの少なくともひとつは固定精度DSPなどのデジタルシグナルプロセッサ、DSPである請求項19に記載のコンピュータプログラム。
- 請求項19または20に記載の前記コンピュータプログラムを含むコンピュータ可読保持媒体。
- ピラミッドベクトル量子化(PVQ)形状サーチのために構成された符号器(1100、2)であって、前記PVQはターゲットベクトルxを入力として取得し、インナ次元サーチループの中で単位パルスを繰り返し加えることでベクトルyを導き、前記符号器は第1決定部(1106、U4)を備え、前記第1決定部は、
単位パルス追加のための次のインナ次元サーチループに入る前に、前記次のインナ次元サーチループにおけるyの累積エネルギに係る変数、enloopyを無損失な態様で表すために現在のビットワード長より多くが必要か否かを、現在のベクトルyの最大パルス振幅、maxampyに基づいて決定するためのものである符号器。 - 単位パルス追加のための次のインナ次元ループに入る前に、前記ターゲットベクトルxと前記ベクトルyとの間の前記次のループの累積インループ相関値、corrxyのビットワードでの可能なアップシフトを、前記ターゲットベクトルxの最大絶対値、xabsmaxに基づいて、決定するための第2決定部(U2)をさらに備える請求項22に記載の符号器。
- enloopyを表すために現在のビットワード長より多くが必要な場合、enloopyを表すためにより長いビットワード長を使用して前記次のインナ次元サーチループにおける計算を行うためのファインサーチ部(1107、U6)をさらに備える請求項22または23に記載の符号器。
- enloopyを表すために現在のビットワード長より多くが必要でない場合、第1ビットワード長を使用した第1単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行い、
enloopyを表すために現在のビットワード長より多くが必要な場合、前記第1単位パルス追加ループよりも長いビットワード長を使用した第2単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行うためのファインサーチ部(1107、U6)を備える請求項22から24のいずれか1項に記載の符号器。 - enloopyを表すために現在のビットワード長より多くが必要でない場合、所定の精度を有する第1単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行い、
enloopyを表すために現在のビットワード長より多くが必要な場合、前記第1単位パルス追加ループよりも高い精度を有する第2単位パルス追加ループを用いることにより前記次のインナ次元サーチループにおける計算を行うためのファインサーチ部(1107、U6)を備える請求項22から25のいずれか1項に記載の符号器。 - 前記次のインナ次元サーチループにおいて前記単位パルスがmaxampyに関連付けられた前記ベクトルyにおける位置に加えられる場合の特性を決定することにより、enloopyを表すために現在のビットワード長より多くが必要か否かをmaxampyに基づいて決定することを実行するよう構成される請求項22から26のいずれか1項に記載の符号器。
- 単位パルス追加のための前記インナ次元サーチループにおいて、前記ベクトルyにおける各位置nについて、前記現在のnの相関およびエネルギ値と、以前のnの値から保存された相関、BestCorrSqおよびエネルギ値bestEnと、のたすき掛けを評価することで単位パルス追加のための前記ベクトルyにおける位置nbestを
- 前記ターゲットベクトルxに関連する最終単位パルスの数、Kがしきい値を超える場合、maxampyを追跡するための格納部(U3)をさらに備える請求項22から28のいずれか1項に記載の符号器。
- 請求項22から29のいずれか1項に記載の前記符号器を備える通信デバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462029586P | 2014-07-28 | 2014-07-28 | |
US62/029,586 | 2014-07-28 | ||
PCT/SE2015/050743 WO2016018185A1 (en) | 2014-07-28 | 2015-06-25 | Pyramid vector quantizer shape search |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017129472A Division JP6347872B2 (ja) | 2014-07-28 | 2017-06-30 | ピラミッドベクトル量子化器形状サーチ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016527527A JP2016527527A (ja) | 2016-09-08 |
JP6170575B2 true JP6170575B2 (ja) | 2017-07-26 |
Family
ID=53502817
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015563093A Active JP6170575B2 (ja) | 2014-07-28 | 2015-06-25 | ピラミッドベクトル量子化器形状サーチ |
JP2017129472A Active JP6347872B2 (ja) | 2014-07-28 | 2017-06-30 | ピラミッドベクトル量子化器形状サーチ |
JP2018102606A Expired - Fee Related JP6574287B2 (ja) | 2014-07-28 | 2018-05-29 | ピラミッドベクトル量子化器形状サーチ |
JP2019149150A Active JP6644939B2 (ja) | 2014-07-28 | 2019-08-15 | ピラミッドベクトル量子化器形状サーチ |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017129472A Active JP6347872B2 (ja) | 2014-07-28 | 2017-06-30 | ピラミッドベクトル量子化器形状サーチ |
JP2018102606A Expired - Fee Related JP6574287B2 (ja) | 2014-07-28 | 2018-05-29 | ピラミッドベクトル量子化器形状サーチ |
JP2019149150A Active JP6644939B2 (ja) | 2014-07-28 | 2019-08-15 | ピラミッドベクトル量子化器形状サーチ |
Country Status (22)
Country | Link |
---|---|
US (3) | US9792922B2 (ja) |
EP (4) | EP3467825B1 (ja) |
JP (4) | JP6170575B2 (ja) |
KR (3) | KR102034419B1 (ja) |
CN (2) | CN109979470B (ja) |
AR (1) | AR101332A1 (ja) |
AU (3) | AU2015297066B2 (ja) |
CA (1) | CA2955765C (ja) |
DK (2) | DK2992529T3 (ja) |
ES (4) | ES2718049T3 (ja) |
HU (2) | HUE028802T2 (ja) |
IL (1) | IL249104A (ja) |
MX (3) | MX2018006677A (ja) |
MY (1) | MY177842A (ja) |
NZ (1) | NZ726879A (ja) |
PL (3) | PL2992529T3 (ja) |
PT (2) | PT2992529T (ja) |
RU (2) | RU2665898C2 (ja) |
SG (3) | SG10201704724TA (ja) |
TR (1) | TR201901612T4 (ja) |
WO (1) | WO2016018185A1 (ja) |
ZA (2) | ZA201802791B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016018185A1 (en) * | 2014-07-28 | 2016-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Pyramid vector quantizer shape search |
US10366698B2 (en) * | 2016-08-30 | 2019-07-30 | Dts, Inc. | Variable length coding of indices and bit scheduling in a pyramid vector quantizer |
EP3579418A4 (en) * | 2017-08-07 | 2020-06-10 | Shenzhen Goodix Technology Co., Ltd. | DIGITAL TO ANALOG CONVERSION CIRCUIT OF VECTOR QUANTIFICATION FOR SUPER-SAMPLING CONVERTER |
US10586546B2 (en) | 2018-04-26 | 2020-03-10 | Qualcomm Incorporated | Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding |
US10573331B2 (en) * | 2018-05-01 | 2020-02-25 | Qualcomm Incorporated | Cooperative pyramid vector quantizers for scalable audio coding |
US10734006B2 (en) | 2018-06-01 | 2020-08-04 | Qualcomm Incorporated | Audio coding based on audio pattern recognition |
WO2023100494A1 (ja) * | 2021-12-01 | 2023-06-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法、及び、復号方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4720861A (en) * | 1985-12-24 | 1988-01-19 | Itt Defense Communications A Division Of Itt Corporation | Digital speech coding circuit |
JP4132109B2 (ja) * | 1995-10-26 | 2008-08-13 | ソニー株式会社 | 音声信号の再生方法及び装置、並びに音声復号化方法及び装置、並びに音声合成方法及び装置 |
US6128415A (en) * | 1996-09-06 | 2000-10-03 | Polaroid Corporation | Device profiles for use in a digital image processing system |
JP3707153B2 (ja) * | 1996-09-24 | 2005-10-19 | ソニー株式会社 | ベクトル量子化方法、音声符号化方法及び装置 |
US6006179A (en) * | 1997-10-28 | 1999-12-21 | America Online, Inc. | Audio codec using adaptive sparse vector quantization with subband vector classification |
US6360204B1 (en) | 1998-04-24 | 2002-03-19 | Sarnoff Corporation | Method and apparatus for implementing rounding in decoding an audio signal |
US6236960B1 (en) * | 1999-08-06 | 2001-05-22 | Motorola, Inc. | Factorial packing method and apparatus for information coding |
AU7486200A (en) * | 1999-09-22 | 2001-04-24 | Conexant Systems, Inc. | Multimode speech encoder |
JP3960932B2 (ja) * | 2002-03-08 | 2007-08-15 | 日本電信電話株式会社 | ディジタル信号符号化方法、復号化方法、符号化装置、復号化装置及びディジタル信号符号化プログラム、復号化プログラム |
JP3731575B2 (ja) | 2002-10-21 | 2006-01-05 | ソニー株式会社 | 符号化装置及び復号装置 |
KR100487719B1 (ko) * | 2003-03-05 | 2005-05-04 | 한국전자통신연구원 | 광대역 음성 부호화를 위한 엘에스에프 계수 벡터 양자화기 |
WO2004090864A2 (en) * | 2003-03-12 | 2004-10-21 | The Indian Institute Of Technology, Bombay | Method and apparatus for the encoding and decoding of speech |
CN1240050C (zh) * | 2003-12-03 | 2006-02-01 | 北京首信股份有限公司 | 一种用于语音编码的固定码本快速搜索方法 |
US7961890B2 (en) * | 2005-04-15 | 2011-06-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Multi-channel hierarchical audio coding with compact side information |
US8255207B2 (en) | 2005-12-28 | 2012-08-28 | Voiceage Corporation | Method and device for efficient frame erasure concealment in speech codecs |
US7461106B2 (en) * | 2006-09-12 | 2008-12-02 | Motorola, Inc. | Apparatus and method for low complexity combinatorial coding of signals |
CN100530979C (zh) * | 2006-09-13 | 2009-08-19 | 华为技术有限公司 | 一种矢量量化方法及矢量量化器 |
CN101345530B (zh) * | 2007-07-11 | 2010-09-15 | 华为技术有限公司 | 一种矢量量化方法及矢量量化器 |
TWI388218B (zh) * | 2007-10-30 | 2013-03-01 | Nippon Telegraph & Telephone | 影像編碼方法與解碼方法、其程式及記錄有程式的記錄媒體 |
KR101170137B1 (ko) * | 2008-02-15 | 2012-07-31 | 노키아 코포레이션 | 복잡성이 축소된 벡터 인덱싱 및 탈-인덱싱 |
EP2304722B1 (en) * | 2008-07-17 | 2018-03-14 | Nokia Technologies Oy | Method and apparatus for fast nearest-neighbor search for vector quantizers |
CN102081926B (zh) | 2009-11-27 | 2013-06-05 | 中兴通讯股份有限公司 | 格型矢量量化音频编解码方法和系统 |
CN102222505B (zh) * | 2010-04-13 | 2012-12-19 | 中兴通讯股份有限公司 | 可分层音频编解码方法系统及瞬态信号可分层编解码方法 |
CN101986630B (zh) * | 2010-10-18 | 2012-11-21 | 武汉大学 | 球面矢量量化编解码方法 |
US8838442B2 (en) * | 2011-03-07 | 2014-09-16 | Xiph.org Foundation | Method and system for two-step spreading for tonal artifact avoidance in audio coding |
US9009036B2 (en) * | 2011-03-07 | 2015-04-14 | Xiph.org Foundation | Methods and systems for bit allocation and partitioning in gain-shape vector quantization for audio coding |
ES2745143T3 (es) * | 2012-03-29 | 2020-02-27 | Ericsson Telefon Ab L M | Cuantificador vectorial |
US8749408B1 (en) * | 2012-12-27 | 2014-06-10 | Mediatek Singapore Pte. Ltd. | Methods for simplified MMI VQ based HARQ buffer reduction for LTE |
US9560386B2 (en) * | 2013-02-21 | 2017-01-31 | Mozilla Corporation | Pyramid vector quantization for video coding |
US9425820B2 (en) * | 2013-06-03 | 2016-08-23 | Mozilla Corporation | Vector quantization with non-uniform distributions |
BR112016010273B1 (pt) | 2013-11-07 | 2022-05-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Método para particionamento de vetores de entrada para codificação de sinais de áudio, unidade de particionamento, codificador e meio não-transitório legível por máquina |
MX365684B (es) | 2013-11-12 | 2019-06-11 | Ericsson Telefon Ab L M | Codificacion de vector de ganancia y forma dividida. |
CN110033779B (zh) | 2014-02-27 | 2023-11-17 | 瑞典爱立信有限公司 | 用于棱椎矢量量化编索引和解索引的方法和装置 |
WO2016018185A1 (en) * | 2014-07-28 | 2016-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Pyramid vector quantizer shape search |
-
2015
- 2015-06-25 WO PCT/SE2015/050743 patent/WO2016018185A1/en active Application Filing
- 2015-06-25 DK DK15733942.5T patent/DK2992529T3/en active
- 2015-06-25 NZ NZ726879A patent/NZ726879A/en unknown
- 2015-06-25 MY MYPI2017700255A patent/MY177842A/en unknown
- 2015-06-25 MX MX2018006677A patent/MX2018006677A/es unknown
- 2015-06-25 HU HUE15733942A patent/HUE028802T2/en unknown
- 2015-06-25 PL PL15733942T patent/PL2992529T3/pl unknown
- 2015-06-25 EP EP18206322.2A patent/EP3467825B1/en active Active
- 2015-06-25 SG SG10201704724TA patent/SG10201704724TA/en unknown
- 2015-06-25 DK DK16165702.8T patent/DK3065135T3/en active
- 2015-06-25 EP EP16165702.8A patent/EP3065135B1/en active Active
- 2015-06-25 US US14/759,864 patent/US9792922B2/en active Active
- 2015-06-25 ES ES16165702T patent/ES2718049T3/es active Active
- 2015-06-25 MX MX2016016095A patent/MX357398B/es active IP Right Grant
- 2015-06-25 ES ES15733942.5T patent/ES2586712T3/es active Active
- 2015-06-25 RU RU2017106160A patent/RU2665898C2/ru active
- 2015-06-25 SG SG10202000575WA patent/SG10202000575WA/en unknown
- 2015-06-25 RU RU2018128976A patent/RU2762329C2/ru active
- 2015-06-25 KR KR1020197006859A patent/KR102034419B1/ko active IP Right Grant
- 2015-06-25 HU HUE16165702A patent/HUE042095T2/hu unknown
- 2015-06-25 EP EP19209199.9A patent/EP3633675B1/en active Active
- 2015-06-25 CN CN201910135157.8A patent/CN109979470B/zh active Active
- 2015-06-25 CN CN201580001475.5A patent/CN105431901B/zh active Active
- 2015-06-25 PL PL19209199T patent/PL3633675T3/pl unknown
- 2015-06-25 JP JP2015563093A patent/JP6170575B2/ja active Active
- 2015-06-25 ES ES18206322T patent/ES2785041T3/es active Active
- 2015-06-25 PL PL18206322T patent/PL3467825T3/pl unknown
- 2015-06-25 TR TR2019/01612T patent/TR201901612T4/tr unknown
- 2015-06-25 PT PT157339425T patent/PT2992529T/pt unknown
- 2015-06-25 KR KR1020177003688A patent/KR101777994B1/ko active IP Right Grant
- 2015-06-25 AU AU2015297066A patent/AU2015297066B2/en active Active
- 2015-06-25 KR KR1020177023847A patent/KR101959156B1/ko active IP Right Grant
- 2015-06-25 EP EP15733942.5A patent/EP2992529B1/en active Active
- 2015-06-25 MX MX2021007880A patent/MX2021007880A/es unknown
- 2015-06-25 CA CA2955765A patent/CA2955765C/en active Active
- 2015-06-25 PT PT192091999T patent/PT3633675T/pt unknown
- 2015-06-25 ES ES19209199T patent/ES2874511T3/es active Active
- 2015-06-25 SG SG11201609926YA patent/SG11201609926YA/en unknown
- 2015-07-27 AR ARP150102382A patent/AR101332A1/es active IP Right Grant
-
2016
- 2016-11-21 IL IL249104A patent/IL249104A/en active IP Right Grant
-
2017
- 2017-06-30 JP JP2017129472A patent/JP6347872B2/ja active Active
- 2017-07-05 US US15/641,632 patent/US20170301359A1/en not_active Abandoned
- 2017-11-23 AU AU2017265085A patent/AU2017265085B2/en active Active
-
2018
- 2018-04-26 ZA ZA2018/02791A patent/ZA201802791B/en unknown
- 2018-05-29 JP JP2018102606A patent/JP6574287B2/ja not_active Expired - Fee Related
-
2019
- 2019-04-12 ZA ZA2019/02319A patent/ZA201902319B/en unknown
- 2019-06-20 AU AU2019204328A patent/AU2019204328B2/en active Active
- 2019-08-15 JP JP2019149150A patent/JP6644939B2/ja active Active
-
2022
- 2022-09-07 US US17/930,141 patent/US11942102B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6574287B2 (ja) | ピラミッドベクトル量子化器形状サーチ | |
OA18156A (en) | Pyramid vector quantizer shape search | |
BR112016030902B1 (pt) | Método para pesquisa de formato por quantizador vetorial em pirâmide, codificador, e, dispositivo de comunicação |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160127 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160127 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170323 |
|
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: 20170609 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170630 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6170575 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |