JP4382090B2 - 符号化装置、符号化方法およびコードブック - Google Patents

符号化装置、符号化方法およびコードブック Download PDF

Info

Publication number
JP4382090B2
JP4382090B2 JP2006516835A JP2006516835A JP4382090B2 JP 4382090 B2 JP4382090 B2 JP 4382090B2 JP 2006516835 A JP2006516835 A JP 2006516835A JP 2006516835 A JP2006516835 A JP 2006516835A JP 4382090 B2 JP4382090 B2 JP 4382090B2
Authority
JP
Japan
Prior art keywords
code
bits
codebook
encoding
code book
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
Application number
JP2006516835A
Other languages
English (en)
Other versions
JP2006527961A (ja
Inventor
峰生 津島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JP2006527961A publication Critical patent/JP2006527961A/ja
Application granted granted Critical
Publication of JP4382090B2 publication Critical patent/JP4382090B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Description

本発明は、オーディオ信号やビデオ信号を高効率に符号化する符号化装置、符号化方法および前記符号化に用いられるコードブックに関する。
従来からオーディオ信号、ビデオ信号の符号化において、ハフマン符号化方式に代表される高効率な可変長符号化方式が採用されている。たとえば、オーディオ信号の符号化においては、国際標準規格であるISO/IEC 13818−7、通称MPEG(MPEG:Moving Picture Coding Experts Group)−2 AAC(Advanced Audio Coding)方式などが有名であり、その符号化方式には、複数のハフマン符号化方式が用いられており、その符号化効率が極めて優れていることが言われている。
AACの場合は、MDCT(Modified Discrete Cosine Transform)係数をスケーリングしたのち、整数に量子化した係数をハフマン符号で表現することで、情報量の圧縮を達成している。ここでAACのハフマン符号化では、量子化された整数の最大値と最小値を決定し、その最大値と最小値の間にある、すべての整数を量子化の代表点としてハフマン符号を割り振っている。このことは、ある最大値と最小値との間をユークリッド距離として等間隔な代表点で表現することを意味しており、その結果、量子化対象の分布によらず、量子化誤差をその間隔以内に確実に抑えることができる。また、量子化精度の異なる複数のハフマンコードブックを持つことで、量子化誤差を大きくする代わりにビット消費を抑えるか、量子化誤差を小さくする代わりにビット消費が大きくなるかを選択できるようにしている。
図1は、従来のAAC方式でオーディオ信号を符号化する符号化装置100の構成を示す図である。符号化装置100は、スケーリング部101、量子化部102、コード生成部103、コードブック記憶部104およびストリーム生成部105を備える。アナログオーディオ信号を所定の周波数でサンプリングすることによって得られた時間軸上のデジタルオーディオ信号は、一定時間間隔で一定サンプル数ずつに切り出され、MDCTなどを経て、周波数軸上のデータであるMDCT係数に変換された後、入力デジタル信号Yとして符号化装置100に入力される。入力デジタル信号Yは、スケーリング部101に入力され、スケーリング部101は、スケールファクターバンドと呼ばれる帯域ごとにある1つのゲインAをもって、前記帯域に含まれるMDCT係数をスケーリングする。スケーリング部101は、スケーリングのゲインAをストリーム生成部105に出力するとともに、スケーリングの結果得られたMDCT係数Xを、量子化部102に出力する。量子化部102は、スケーリングされたMDCT係数Xを決められた変換式で量子化する。AAC方式の場合は、具体的には、浮動小数で表現されているMDCT係数を整数値に丸めを行うことで量子化をおこなっている。コード生成部103は、コードブック記憶部104に格納されているコードブックを参照して、量子化されたMDCT係数を符号化した上、コードCをストリーム生成部105に出力する。ストリーム生成部105は、スケーリング部101から入力されたゲインAと、コード生成部103から入力されたスケールファクターバンド内のコードCとにヘッダ情報などを付加し、ストリームとして出力する。コードブック記憶部104には、量子化精度の異なる複数のコードブックが格納されている。コードブック記憶部104に格納されているコードブックのうち量子化精度の低いコードブックを参照して符号化を行えば、量子化誤差が大きくなる代わりにストリームのビット量を低減することができる。逆に、量子化精度の高いコードブックを参照して符号化を行えば、ストリームのビット量が増加してしまう代わりに量子化誤差を小さくすることができる。このように符号化装置100は、量子化精度の異なるコードブックを選択することにより、符号化の効率を高めている。
図2は、図1に示した従来の符号化装置100のコードブック記憶部104に格納される量子化精度の異なるコードブック201〜204の一例を示す図である。コードブック201では、最大値「1」と、最小値「−1」との間のすべての整数「−1」、「0」、「1」を量子化値として取りえて、それらすべての量子化値に対するコードを"0"、"1"の2値表現で示している。コードブック202では、最大値「2」と、最小値「―2」との間のすべての整数「−2」、「−1」、「0」、「1」、「2」を量子化値として取りえて、それらすべての量子化値に対するコードを"0"、"1"の2値表現で示している。コードブック203では、最大値「3」と、最小値「−3」との間のすべての整数「−3」、「−2」、「−1」、「0」、「1」、「2」、「3」を量子化値として取りえて、それらすべての量子化値に対するコードを"0"、"1"の2値表現で示している。コードブック204では、最大値「4」と、最小値「−4」との間のすべての整数「−4」、「−3」、「−2」、「−1」、「0」、「1」、「2」、「3」、「4」を量子化値として取りえて、それらすべての量子化値に対するコードを"0"、"1"の2値表現で示している。コードは一例であるので、これらに限定されるものではない。
図3は、量子化対象Xに対する図2のコードブック毎の量子化の代表点(量子化値X')の分布、すなわち、代表点となる整数の組み合わせの関係を示す図である。図2および図3に示すように、コードブック201には、それぞれ「1」、「0」、「−1」の3点の代表点にコードが割り当てられることが示されている。この場合、量子化対象X1であるMDCT係数は、最大値が「1」、最小値が「−1」程度(それに限定しない)になるようにスケーリングされる。このように、コードブック201を参照して符号化を行う場合には、それぞれの代表点を表すコードは、3つの値を表すだけでよいので、ビット数が少なくてすむ。また、コードブック202には、量子化値X2'として「2」、「1」、「0」、「−1」、「−2」の5点のそれぞれの代表点にコードが割り当てられることが示されている。この場合、量子化対象X2であるMDCT係数は、最大値が「2」、最小値が「−2」程度(それに限定しない)になるようにスケーリングされる。このように、コードブック202を参照して符号化を行う場合には、コードブック201を参照する場合に比べて、5つの量子化値X2'を表現するために、3つの量子化値X1'を表現する場合に比べてそれぞれの値を表すコードのビット数が多くなる。同様に、コードブック203では「−3」から「+3」までの7つの量子化値X3'にコードが割り当てられ、このとき量子化対象X3であるMDCT係数は、最大値が「3」、最小値が「−3」程度になるようにスケーリングされる。また、コードブック204では「−4」から「+4」までの9つの量子化値X4'にコードが割り当てられ、このとき量子化対象X4であるMDCT係数は、最大値が「4」、最小値が「−4」になるようスケーリングされる。オーディオ符号化方式のAACなどでは、このような方法を用いて量子化ならびに符号化が実施される。
さらに、図2に示すように、コードブック201〜204では、頻繁に現れる量子化値に対して、より短いビット数のコードが割り当てられるように工夫がなされている。
しかしながら、従来の方法では、実際の量子化対象の分布に関わらず、量子化対象を、「0」を中心とする等間隔な代表点に量子化しているだけである。例えば、図3を見れば明らかなように、コードブック201〜204に対応する代表点301〜304は「0」を中心としてプラス方向とマイナス方向とに均一に分布している。量子化対象が「0」を中心として分布することは統計的には一般的なことであるが、場合によっては、量子化対象の分布が「0」を中心としてではなく、プラスかマイナスの一方に偏りを示すこともないとはいえない。
また、上記従来の方法では、量子化精度の異なる複数のハフマンコードブックを用いて量子化を行い、符号化効率の向上を図っているが、コードブックを量子化精度の異なる別のコードブックに切り替える際には、それぞれのコードブックの分解能に適用させるために、量子化対象をスケーリングし直す必要がある。図4は、量子化精度の異なるコードブックを用いて符号化を行う場合の従来の符号化装置100における符号化処理の手順の一例を示すフローチャートである。ここでは、1つの方法として、例えば、最初に量子化精度の最も高いコードブックを参照して符号化を行う場合について説明する。その符号化の結果、スケールファクターバンド内のビット数が基準値を超えた場合には、量子化精度の一段低いコードブックを参照して符号化を行い、スケールファクターバンド内のビット数が基準値以内になるか、それ以上量子化精度の低いコードブックがなくなるまでコードブックの量子化精度を一段ずつ下げて符号化を行うものとする。まず、スケーリング部101は、スケールファクターバンド毎にn個(nは自然数)のMDCT係数(y1、y2、y3、・・・、yn)を入力し(S401)、入力されたMDCT係数の値の範囲が、最も量子化精度の高いコードブックの代表点の値の範囲内となるようMDCT係数をスケーリングする(S402)。例えば、コードブック204を参照して符号化を行う場合には、k=1、2、・・・、nのとき、k番目のMDCT係数ykのすべてが−4<(yk/A)=xk<+4となるようなゲインAでスケーリングを行う。量子化部102では、スケーリングされたMDCT係数xkの丸めを行い、コード生成部103では丸めによって得られた量子化値xk'に割り当てられるコードCkをコードブック204から読み出す。コード生成部103では、スケールファクターバンド内のn個のコード(C1、C2、C3、・・・、Cn)の合計ビット数を算出し(S403)、算出された合計ビット数が目標ビット数以下か否かを判定する(S404)。
ステップS404において、スケールファクターバンド内の合計ビット数が目標ビット数以下であれば、コード生成部103は、そのスケールファクターバンドの符号化に用いたコードブックのID(又は番号など)、及びスケールファクターバンド内のコード(C1、C2、C3、・・・、Cn)をストリーム生成部105に出力する。ストリーム生成部105では、コード生成部103からのコードブックのID及びスケールファクターバンド内のコード(C1、C2、C3、・・・、Cn)と、スケーリング部101からのスケーリングのゲインAとを含むストリームを出力する(S405)。符号化装置100には、次のスケールファクターバンドのMDCT係数が入力され、ステップS401から上記の処理が開始される。
ステップS404において、スケールファクターバンド内のn個のコード(C1、C2、C3、・・・、Cn)の合計ビット数が目標ビット数を超えている場合、コード生成部103は、同じスケールファクターバンド内のMDCT係数(y1、y2、y3、・・・、yn)の値の範囲が、量子化精度が一段低いコードブックの代表点の値の範囲内となるよう、スケーリングのやり直しをスケーリング部101に指示する。これにより、スケーリング部101ではステップS402の処理に戻り、スケーリングのやり直しを行う(S402)。具体的には、スケーリング部101は、コードブック204より量子化精度が一段低いコードブック203を参照して符号化を行うために、k=1、2、・・・、nとなるすべてのkについてk番目のMDCT係数ykがコードブック203の代表点の値の範囲−3<(yk/A)=xk<+3を満たすようなゲインAを求め、スケーリングを行う。量子化部102では、スケーリングされたMDCT係数xkの丸めを行い、コード生成部103では丸めによって得られた量子化値xk'に割り当てられるコードCkをコードブック203から読み出す。コード生成部103では、スケールファクターバンド内のn個のコード(C1、C2、C3、・・・、Cn)の合計ビット数を算出し(S403)、算出された合計ビット数が目標ビット数以下か否かを判定する(S404)。この時点でまだスケールファクターバンド内のn個のコード(C1、C2、C3、・・・、Cn)の合計ビット数が目標ビット数を超えている場合、符号化装置100ではステップS402の処理に戻り、ゲインAの値を変更して、それ以上量子化精度の低いコードブックがなくなるか、スケールファクターバンド内の合計ビット数が目標ビット数以下になるまで、ステップS402〜S404の処理を繰り返す。
このように、スケーリングをし直す場合には、1つのスケールファクターバンド毎に、スケールファクターバンド内に含まれるn個のMDCT係数に対して割り算を実行した上、n個の各実数値と代表点の値の範囲との大小比較を行う必要があり、この計算量は膨大な計算量となるので、符号化における問題となる。
そこで本発明は、スケーリングし直しによる処理負荷を増加することなく、さらに効率よく符号化を行うことができる符号化装置および復号化装置を提供することを目的とする。
この課題を解決するために、本発明の符号化装置は、コードブックを参照して、デジタル信号を符号化する符号化装置であって、少なくとも第1のコードブックと1以上の第2のコードブックとを記憶する記憶手段と、前記記憶手段に記憶されているいずれかのコードブックを参照することにより、デジタル信号をコードに置き換える符号化手段を備え、前記第1のコードブックには、連続するn個の整数(ただし、nは自然数)のそれぞれを一意に表すn個のコードが示され、1以上の前記第2のコードブックには、m個の整数(ただし、mはn未満の自然数)のそれぞれを一意に表すm個のコードが示され、前記符号化手段は、前記記憶手段に記憶されているいずれのコードブックに対しても、前記デジタル信号が示す整数値そのものを用いて参照することを特徴とする。
以上のように、本発明のコードブックは、量子化の代表点を最大値と最小値との間の等間隔な代表点で表現する必要が必ずしもない点に着目し、同一数値範囲を示す最大値と最小値との間の全整数値である代表点およびその個数より少ない個数の代表点で表現した。これにより、最大値と最小値との間の全整数値の数より少ない個数の代表点を持つコードブックでは、最大値と最小値との間の代表点の分布という特徴をコードブックに加味することができる。そして、最大値と最小値との間の全整数値の数より少ない、異なる個数の代表点を持つことにより、複数の量子化分解能をもつコードブックを備えることができ、生成されるストリームのビット数に応じて量子化分解能を切り替えることにより符号化効率を向上することができる。また、量子化分解能の異なるコードブックを切り替えるときにも、最大値と最小値とが同じであるので、スケーリングをやり直す必要がなく、コードブック切り替え時の計算量を低減することができる。この結果、本発明の符号化装置を、LSI実装やソフトウェアで実現した場合に消費電力などのメリットが期待できる。
以下、本発明の実施の形態における符号化装置および復号化装置について、図面を用いて説明する。
(実施の形態1)
図5は、実施の形態1の符号化装置500の構成を示すブロック図である。同図において図1に示した従来の符号化装置100と同じ構成要素については、同一の参照符号を付す。符号化装置500は、同一整数範囲内で量子化の代表点の分布が異なり、かつ、前記整数範囲内で代表点の個数が異なるために量子化精度が異なる複数のコードブックの1つを参照して符号化を行う符号化装置であって、量子化部102、ストリーム生成部105、スケーリング部501、コード生成部503及びコードブック記憶部504を備える。スケーリング部501がスケーリング部101と異なる点は、コード生成部503がコードブックを切り替える際にスケーリングのやり直しを行わない点である。それ以外では、スケーリング部501はスケーリング部101と同様、符号化対象となるデジタル信号、例えば、MDCT係数Yを、(数1)の関係などを用いて、ゲインAと、量子化対象となるXの因子に分離する。
(数1)
Y = A・X
ここでAおよびXは整数でもよいし、浮動小数点の値でもよい。簡単のためにXを浮動小数点の値とする。量子化部102では、入力されたXを、四捨五入などにより整数値X'へと量子化する。コード生成部503では、入力された整数値X'に対応するコードを、コードブック504から探して対応するコードCを出力する。しかし、コード生成部503がコード生成部103と異なる点は、量子化部102から入力された量子化値X'の平均値及び分散を求めて量子化対象の分布の偏りを調べ、分布の偏りに応じたコードブックのグループから1つを選択して量子化値の符号化を行う点である。それぞれの量子化対象の分布の偏りに対応したコードブックのグループは、量子化精度の異なる複数のコードブックから構成されている。コード生成部503は、例えば、まず、選択したグループのうちの量子化精度の最も高いコードブックを用いて符号化を行い、スケールファクターバンド内のコードの合計ビット数をカウントし、カウントされた合計ビット数が目標ビット数以下であるか否かを判定する。目標ビット数以下であれば、コード生成部503は、符号化に用いたコードブックを特定するためのコードブックのID又は番号と、符号化によって得られたコードCとをストリーム生成部105に出力する。スケールファクターバンド内のコードの合計ビット数が目標ビット数を超えている場合には、量子化精度の一段低いコードブックに切り替えて符号化を行う。このとき、コード生成部503では、スケーリング部501に対してスケーリングのやり直しを指示しない点がコード生成部103と異なる点である。このようにして、コード生成部503は、スケールファクターバンド内のコードの合計ビット数が目標ビット数以下になるか、または、それ以上量子化精度の低いコードブックがなくなるまで、符号化と合計ビット数のカウントとを繰り返す。ストリーム生成部105では、スケーリング部501からの出力であるゲインA(もしくはゲインAを表すインデックス)と、コード生成部503からの出力であるコードCと、コードブックを特定するIDとを用いて、ビットストリームを生成する。コードブック記憶部504は、量子化精度の異なる複数のコードブックから構成されており、量子化対象の分布の偏りが異なるコードブックのグループを格納している点が、コードブック記憶部104と異なる。
以上のように構成された符号化装置500で用いられるコードブックについて、本実施の形態においては、コードブックの構成方法などに特長があるので、従来例と対比しながら詳細に説明する。本実施の形態の量子化および符号化方法は、図6、図7、図8及び図9を用いて説明する。従来例として図2及び図3を用いて説明する。また、本実施の形態では、量子化部502に入力される値(量子化対象)Xが1次元の値である場合について説明する。
図6は、スケーリング後の量子化の代表点の分布が「+2」周辺に偏っているコードブックのグループにおける量子化精度と代表点の分布601〜604との関係を示す図である。図7は、スケーリング後の量子化の代表点が「0」周辺に均等に分布するコードブックのグループにおける量子化精度と代表点の分布701〜704との関係を示す図である。図8は、スケーリング後の量子化の代表点の分布が「−2」周辺に偏っているコードブックのグループにおける量子化精度と代表点の分布801〜804との関係を示す図である。図6、図7及び図8においてハッチングで示される各ブロックは、1つ1つの代表点を示している。
図6に示す代表点の分布601〜604は、量子化の代表点が「+2」周辺に偏って分布しているコードブックのグループにおいてコードが割り当てられる代表点の分布を示している。代表点の分布601では、「−4」から「+4」までの9つの整数値に対して代表点「4」、「2」、「0」にコードが割り当てられる。また、代表点の分布602では、「4」、「2」、「1」、「0」、「−4」にコードが割り当てられる。さらに、代表点の分布603では、「4」、「2」、「1」、「0」、「−1」、「−3」、「−4」にコードが割り当てられる。最後に、代表点の分布604では、従来のコードブック204と同様、「−4」から「+4」までの9つの整数値すべてにコードが割り当てられる。
図7に示す代表点の分布701〜704は、量子化の代表点が「0」周辺に均等に分布するコードブックのグループにおいてコードが割り当てられる代表点の分布を示している。代表点の分布701では、代表点「2」、「0」、「−2」に対してコードが割り当てられる。また、代表点の分布702では、代表点「4」、「2」、「0」、「−2」、「−4」に対して、コードが割り当てられる。さらに、代表点の分布703では、代表点「4」、「2」、「1」、「0」、「−1」、「−2」、「−4」に対して、コードが割り当てられる。最後に、代表点の分布704では、従来のコードブック204と同様、「−4」から「+4」までの9つの整数値すべてに対してコードが割り当てられる。
図8に示す代表点の分布801〜804は、量子化の代表点が「−2」周辺に偏っているコードブックのグループにおいてコードが割り当てられる代表点の分布を示している。代表点の分布801では、代表点「0」、「−2」、「−4」に対してコードが割り当てられる。また、代表点の分布802では、代表点「4」、「0」、「−1」、「−2」、「−4」に対して、コードが割り当てられる。さらに、代表点の分布803では、代表点「4」、「3」、「1」、「0」、「−1」、「−2」、「−4」に対して、コードが割り当てられる。最後に、代表点の分布804では、従来のコードブック204と同様、「−4」から「+4」までの9つの整数値すべてに対してコードが割り当てられる。
ここで、図6、図7及び図8の代表点の分布601、分布701及び分布801において、それぞれ代表点としてハッチングされているブロックは3つであり、代表点の数は図3の代表点の分布301のそれと同じ数である。また、代表点の分布602、分布702及び分布802において、それぞれの代表点を示すハッチングされたブロックの数は5つであり、図3の代表点の分布302の代表点と同じ個数である。代表点の分布603、分布703及び分布803において、それぞれハッチングされたブロックの数は7つであり、図3の代表点の分布303における代表点の数と同じ個数である。図6、図7及び図8に示す代表点の分布604、分布704及び分布804と図3の代表点の分布304とにおいて代表点の数及び分布は全く同一である。ここで、ハッチングされたブロックの個数について着目したが、これはそれぞれの量子化精度に応じたコードブックが有するコードの数を意味する。
つまり、図6、図7、図8及び図3において、量子化精度に応じて、(1)代表点の分布601、分布701及び分布801と分布301、(2)分布602、分布702及び分布802と分布302、(3)分布603、分布703及び分布803と分布303、(4)分布604、分布704及び分布804と分布304で示されるコードブックは、それぞれ同じ個数のコードを有するコードブックであることを意味している。つまり、図6、図7、図8及び図3において、同じ量子化精度で量子化を行うコードブックは、それぞれ同じ個数のコードを有するコードブックであることを意味している。
つぎに、図6における代表点の分布のみに着目すると、分布601でハッチングされたブロックは、分布602では必ずハッチングされており、分布602でハッチングされたブロックは、分布603で必ずハッチングされている。また、分布603でハッチングされたブロックは、分布604では必ずハッチングされており、分布604では最大値と最小値の間のすべてのブロックがハッチングされた構成になっている。図7及び図8における分布701及び分布801も同様に、分布701及び分布801でハッチングされたブロックは、分布702及び分布802で必ずハッチングされており、分布702及び分布802でハッチングされたブロックは、分布703及び分布803で必ずハッチングされている。分布703及び分布803でハッチングされたブロックは、分布704及び分布804で必ずハッチングされており、分布704および分布804では最大値と最小値の間のすべてのブロックがハッチングされた構成になっている。ここで、代表点が分布601、分布701及び分布801のように分布するコードブックを用いた量子化を「第1レイヤの量子化」と名づける。同様に、分布602、分布702及び分布802を「第2レイヤの量子化」、分布603、分布703及び分布803を「第3レイヤの量子化」、分布604、分布704及び分布804を「第4レイヤの量子化」と名づける。また、第1レイヤの量子化を行うコードブックを「第1レイヤのコードブック」、第2レイヤの量子化を行うコードブックを「第2レイヤのコードブック」、第3レイヤの量子化を行うコードブックを「第3レイヤのコードブック」、第4レイヤの量子化を行うコードブックを「第4レイヤのコードブック」と名づける。
第1レイヤから第4レイヤのいずれの量子化方法も、スケーリングによって、最大値を「4」、最小値を「−4」程度としたときに適用できるものであるので、量子化方法を第1から第4レイヤのいずれのレイヤに変えても、すなわち、コードブックを第1から第4レイヤのいずれのコードブックに切り替えてもスケーリングをやりなおす必要がない。また、第1レイヤから第4レイヤへとレイヤの番号を増やすにつれて、確実に量子化の分解能を確実にあげることができる。そして、本実施の形態では第4レイヤの量子化方法では、図3の従来の分布304の量子化方法と同一のコードブックを用いて符号化を行うので、例えば、最大の分解能を有する量子化方法で符号化すると予め決定した場合、従来のようにスケーリングをやり直しすることなく、コードブックを切り替えるだけで最大の分解能を有する符号化を行うことができる。また、量子化対象の信号分布が予め与えられている場合、その分布によって、連続した整数値に限定されることはなく、各レイヤの量子化値を従来よりも自由に設定できる。
図9は、図6の量子化方法に代表される本実施の形態のコードブックの一例を示す図である。これに対し、図2は、図3の量子化方法に代表される従来のコードブックを示したものである。
コードブック901では、量子化の代表点として最大値「4」と最小値「−4」との間で3つの整数(例えば、「4」、「2」、「0」)を量子化値として取りえて、それら3つすべての量子化値に対するコードを"0"と"1"との2値表現(例えば、"111"、"100"、"0")で示している。コードブック902では、量子化の代表点として最大値「4」と最小値「−4」との間で5つの整数(例えば、「4」、「2」、「1」、「0」、「−4」)を量子化値として取りえて、それら5つすべての量子化値に対するコードを"0"と"1"との2値表現(例えば、"1010"、"100"、"00"、"01"、"1011")で示している。コードブック903では、量子化値として最大値「4」と最小値「−4」との間でその7つの整数(「4」、「2」、「1」、「0」、「−1」、「−3」、「−4」)を量子化値として取りえて、それら7つすべての量子化値に対するコードを"0"と"1"との2値表現("10101"、"10100"、"100"、"00"、"01"、"10110"、"10111")で示している。コードブック904では、量子化値として最大値「4」と最小値「−4」との間ですべての整数(「4」、「3」、「2」、「1」、「0」、「−1」、「−2」、「−3」、「−4」)を量子化値として取りえて、それらすべての量子化値に対するコードを"0"と"1"との2値表現("1010001"、"10101"、"1010000"、"100"、"00"、"01"、"10110"、"10111"、"1010010")で示している。なお、このコードは一例であるので、これらに限定されるものではない。
また、コードブック904の量子化値は、必ずコードブック903の量子化値を含んでいる。コードブック903の量子化値は、必ずコードブック902の量子化値を含んでいる。コードブック902の量子化値は、必ずコードブック901の量子化値を含んでいる。このことから、コードブック901を用いて量子化するよりも、コードブック902を用いて量子化した方が、同じか、もしくは量子化誤差を小さく量子化することが可能である。同様に、コードブック902を用いて量子化するよりも、コードブック903を用いて量子化した方が、同じか、もしくは量子化誤差を小さく量子化することが可能である。同様に、コードブック903を用いて量子化するよりも、コードブック904を用いて量子化した方が、同じか、もしくは量子化誤差を小さく量子化することが可能である。よって、本実施の形態の場合は、量子化対象を最大値が「4」、最小値が「−4」となる程度にMDCT係数をスケーリングさえすれば、符号化装置500において、コードブックを切り替える場合に再度スケーリングをやりなおす必要がない。またコードブック901からコードブック904へとレイヤの番号が大きくなるにつれ、量子化誤差を小さくできる。
一方、図9に示すように、同じ量子化値を表す場合であっても、量子化精度の低いコードブック901では、コードのビット数が少なく、量子化精度の高いコードブックほどコードのビット数が多くなっていることが分かる。例えば、量子化値「4」は、量子化精度の最も低いコードブック901では"111"と3ビットで表されているが、次に量子化精度の高いコードブック902では"1010"と4ビットで表されている。さらに量子化精度の高いコードブック903では、"10101"と5ビットで表され、最も量子化精度の高いコードブック904では、"1010001"と7ビットで表される。このように、コードブック901からコードブック904へと番号が大きくなるにつれ、代表点の数が増加するので、一般にビット消費が大きくなる。つまり、ビット消費を抑えたければ、量子化の代表点の数の少ないコードブックを用いて量子化し符号化を実施し、ビット消費は大きくなるものの、量子化誤差を抑えたければ、量子化値の数の大きなコードブックを用いて量子化し符号化を実施すればよい。
図10は、本実施の形態の符号化装置500における動作を示すフローチャートである。まず、スケーリング部501は、バンド毎にn個(nは自然数)の信号(y1、y2、y3、・・・、yn)を入力し(S1001)、入力された信号の値の範囲が、あらかじめ定められた範囲内となるよう信号(y1、y2、y3、・・・、yn)をスケーリングする(S1002)。例えば、スケーリングされた信号の値xk=yk/A(ただし、k=1、2、・・・、n)の範囲が、あらかじめ定められた範囲、例えば、最小値が「−4」で最大値が「4」程度の範囲内となるよう信号(y1、y2、y3、・・・、yn)をスケーリングする。量子化部102では、スケーリングされた信号xkの丸めを所定の方法、例えば、四捨五入などによって行う。コード生成部503では、丸めによって得られた量子化値xk'の分布を分析する(S1003)。具体的には、バンド内の量子化値xk'(k=1、2、・・・、n)に対して、平均値と分散を算出する。平均値によって量子化値xk'の偏りの中心がどの辺りにあるかが分かる。また、分散によって、バンド内の量子化値xk'が偏りの中心からどれぐらい分散しているかが分かる。コード生成部503は、分析結果に従って、量子化値xk'の分布に最も適したコードブックのグループに、コードブックのグループを切り替える(S1004)。コード生成部503は、切り替えられたコードブックのグループに属するすべてのレイヤのコードブックをコードブック記憶部504から読み出し、量子化値xk'(k=1、2、・・・、n)に割り当てられる各レイヤのコードCkを各レイヤのコードブックから読み出す。さらに、読み出したコードCkをバンド内のn個の量子化値xk'(k=1、2、・・・、n)に割り当てると、レイヤ毎に、バンド内のコードの合計ビット数を算出する(S1005)。
ここでは、例えば、第1レイヤから第4レイヤの処理をそれぞれ並列処理で行うものとする。具体的には、コード生成部503では、(1)第1レイヤの処理を行う処理部が量子化値xk'(k=1、2、・・・、n)に割り当てられる第1レイヤのコードCk1を読み出す。(2)これと並行して、第2レイヤの処理を行う処理部が量子化値xk'(k=1、2、・・・、n)に割り当てられる第2レイヤのコードCk2を読み出す。(3)これと並行して、第3レイヤの処理を行う処理部が量子化値xk'(k=1、2、・・・、n)に割り当てられる第3レイヤのコードCk3を読み出す。(4)同様に並行して、第4レイヤの処理を行う処理部が量子化値xk'(k=1、2、・・・、n)に割り当てられる第4レイヤのコードCk4を読み出す。次いで、それぞれのレイヤ毎にスケールファクターバンド内のn個のコード(C1、C2、C3、・・・、Cn)の合計ビット数を算出する。具体的には、(1)第1レイヤの処理を行う処理部がバンド内の第1レイヤのコードCk1(k=1、2、・・・、n)の合計ビット数を算出する。(2)これと並行して、第2レイヤの処理を行う処理部がバンド内の第2レイヤのコードCk2(k=1、2、・・・、n)の合計ビット数を算出する。(3)これと並行して、第3レイヤの処理を行う処理部がバンド内の第3レイヤのコードCk3(k=1、2、・・・、n)の合計ビット数を算出する。(4)同様に並行して、第4レイヤの処理を行う処理部がバンド内の第4レイヤのコードCk4(k=1、2、・・・、n)の合計ビット数を算出する。コード生成部503では、レイヤ毎に算出された合計ビット数が目標ビット数以下となるレイヤのコードブックを選択する、または、合計ビット数が目標ビット数以下とならなかった場合、第1レイヤのコードブックを選択する(S1006)。
コード生成部503は、ステップS1006で選択されたコードブックを用いてバンド内の信号を符号化し(S1007)、バンド内の信号の符号化に用いたコードブックのID(又は番号など)、及びバンド内のコード(C1、C2、C3、・・・、Cn)をストリーム生成部105に出力する。ストリーム生成部105では、コード生成部503からのコードブックのID及びスケールファクターバンド内のコード(C1、C2、C3、・・・、Cn)と、スケーリング部501からのスケーリングのゲインAとを含むストリームを出力する(S1008)。この後、符号化装置500には、次のバンドの信号が入力され、ステップS1001から上記の処理と同じ処理が開始される。
以上のように、本実施の形態の符号化装置500によれば、コード生成部503においてコードブックを切り替える毎にスケーリングのやり直しを行う必要がないので、符号化装置500の処理負荷を低減することができる。また、量子化の代表点の分布が異なる複数のコードブックのグループを備えたことにより、あらかじめ量子化値の分布が分かる場合には、その分布に合わせて最適なコードブックを選択することができるので、より精度の高い量子化および符号化を行うことができる。また、それぞれのコードブックのグループには、量子化精度の異なるコードブックを備えているので、より効率のよい符号化を行うことができる。
図11は、実施の形態1の復号化装置1100の構成を示すブロック図である。実施の形態1の復号化装置1100は、実施の形態1の符号化装置500によって符号化されたストリームを復号化する復号化装置であって、復号化装置1100は、ストリーム分離部1101、復号化部1102、逆スケーリング部1103およびコードブック記憶部1104を備える。復号化装置1100には、外部から記録媒体又は伝送路などを介してビットストリームがストリーム分離部1101に入力される。ストリーム分離部1101では、予め決められているストリームのシンタックスにしたがって、ゲインAとコードCとコードブックを特定するための番号又はIDなどをストリームから分離する。分離されたコードCとコードブックを特定するための番号とは、復号化部1102に入力される。分離されたゲインAは、逆スケーリング部1103に入力される。コードブック記憶部1104には、図5に示した符号化装置500のコードブック記憶部504に格納されているコードブックと同じコードブックが格納されている。復号化部1102は、コードブックを特定するための番号に基づいてコードブック記憶部1104に格納されている1つのコードブックを特定する。さらに、特定されたコードブックを参照して、コードブックに記載の量子化値X'とコードCとの対応関係から、コードCを量子化値X'に復号化する。復号化部1102の出力である量子化値X'と、ストリームから分離されたゲインAとは、逆スケーリング部1103に入力される。逆スケーリング部1103は、(数2)などの計算によって、復号化部1102から出力された量子化値X'をゲインAで増幅し、例えば、MDCT係数などの値Y'を得る。
(数2)
Y´ = A・X´
以上のように、本実施の形態によれば、符号化装置500のコードブック記憶部504に格納されるコードブックを、図6〜図8のような代表点の分布をもつコードブックに変更するだけで、符号化装置500の計算量を多大に増加することなく符号化の効率を向上することができ、しかも、符号化装置500で生成された符号列を復号化装置で復号化する際には、ストリームに記述されているゲインAとコードCとコードブックを特定するための番号又はIDとから問題なくデジタル信号を復号化することができる。
(実施の形態2)
実施の形態1では、量子化対象が1次元の信号である場合について説明したが、量子化対象は必ずしも1次元である必要はなく、多次元であってもよい。以下では、簡単のために2次元の場合を例として、図12および図13を用いて説明する。図12は、実施の形態2の符号化装置において符号化に用いられるコードブックの代表点の2次元分布の一例を示す図である。図13は、従来のAACなどの符号化方式で用いられているコードブックの代表点の2次元分布の一例を示す図である。なお、図12および図13は、横軸をx軸、縦軸をy軸とし、成分(x、y)からなる2次元のベクトルを与えた時の量子化の代表点の分布を模式的に示したものである。ここで、2次元のベクトル成分には、例えば、連続する2サンプルの量子化値をあてはめるとしてもよい。
本実施の形態では、例えば図12に示すような量子化方法をとる。つまり、第1レイヤの分布1201、第2レイヤの分布1202、第3レイヤの分布1203のいずれにおいても、x成分およびy成分の最大値と最小値とは同じで、−3≦x≦3、−3≦y≦3であり、かつ、第1レイヤの分布1201から第3レイヤの分布1203へとレイヤの番号が大きくなるにつれ、代表点の数だけが増えていっている。このように構成すれば、一度、量子化対象がスケーリングされて、第3レイヤの分布1203のいずれかの領域に含まれることが判明したならば、スケーリングを再計算することなく、同じスケーリングされた値を用いて、最も符号化効率のよいレイヤのコードブックを選択し、符号化すればよい。例えば、第2レイヤの分布1202または第1レイヤの分布1201では、量子化対象と代表点とが必ずしも一致しないが、その場合には、第2レイヤの分布1202または第1レイヤの分布1201の中で、量子化対象の値がいずれのハッチングされた領域(代表点)に近いかを判定し、もっとも近いハッチングされた領域の代表点をもって符号化される量子化値とすればよい。また1次元の時と同様に、量子化のレイヤの番号が大きくなるにつれ、第1レイヤの分布1201から第3レイヤの分布1203へと代表点の数が増える。このことから、ビット消費は増えるものの量子化誤差を減らしたいという場合は代表点の多いコードブックを用いて量子化すればよいし、量子化誤差は増える可能性があるがビット消費を減らしたい場合は、代表点の数の少ないコードブックを用いて量子化すればよい。また、コードブックにおける量子化の代表点は、量子化対象の分布にもとづいて、等間隔という制限なく任意に作成できるので、符号化効率の向上を期待することができる。
一方、従来のAACなどの符号化方式における量子化の代表点の分布、例えば、第1レイヤの分布1301においては、x軸方向およびy軸方向に、それぞれ最大値と最小値を決め、その最大値と最小値の間を3つの領域にわけ、全体を合計9つの領域に分けている。量子化対象がスケーリングされて、9つのいずれかの領域にプロットされるとき、その領域の代表点(量子化値)をもって量子化される。例えば、第1レイヤの分布1301においては、スケーリング後の最大値を「1」、最小値を「−1」とした場合に、(-1,-1), (-1,0),(-1,1),(0,-1),(0,0),(0,1),(1,-1),(1,0),(1,1)の9点を代表点にするなどである。同様に、第2レイヤの分布1302においては、最大値と最小値との間を5つの領域に区分した場合であり、第3レイヤの分布1303においては、最大値と最小値との間を7つの領域に区分した場合である。いずれにしても、従来のコードブックでは、多次元の場合であっても、1次元の場合と同様に、量子化の代表点の分布が等間隔の代表点で表現されていて、かつ、別のコードブック(例えば、第1レイヤのコードブックから第2レイヤのコードブック)に切り替える場合は、スケーリングをやりなおす必要があり計算量が増加する。
なお、上記実施の形態2では、図12のように代表点の分布の偏りが1種類の場合のみについて説明したが、本発明はこれに限定されず、実施の形態1のように複数種類のコードブックのグループを備えるとしてもよいことはいうまでもない。
また、上記実施の形態では、入力される量子化対象の信号がオーディオ信号である場合について説明したが、本発明はこれに限定されず、本発明の符号化方法を適用可能な信号であれば、どのような信号であってもよい。例えば、動画像信号などであってもよい。量子化対象が動画像信号である場合、入力されるDCT係数に対してスケーリングという処理が行われることはないが、量子化対象の分布に応じたコードブックを符号化装置に複数備えておくことにより、より効率のよい符号化を行うことができる。
本発明に係る符号化装置は、音声信号および映像信号を圧縮符号化する機能を備えたパーソナルコンピュータ、PDA、デジタル放送の放送局および携帯電話機などに備えられる符号化装置として有用である。
本発明に係るコードブックは、音声信号および映像信号などを圧縮符号化する符号化装置に備えられるコードブックとして、前記符号化装置によって符号化された符号列を復号化する復号化装置に備えられるコードブックとして有用である。
従来のAAC方式でオーディオ信号を符号化する符号化装置の構成を示す図である。 図1に示した従来の符号化装置のコードブック記憶部に格納される量子化精度の異なるコードブックの一例を示す図である。 量子化対象Xに対する図2のコードブック毎の量子化の代表点(量子化値X')の分布の関係を示す図である。 量子化精度の異なるコードブックを用いて符号化を行う場合の従来の符号化装置における符号化処理の手順の一例を示すフローチャートである。 実施の形態1の符号化装置の構成を示すブロック図である。 スケーリング後の量子化の代表点の分布が「+2」周辺に偏っているコードブックのグループにおける量子化精度と代表点の分布との関係を示す図である。 スケーリング後の量子化の代表点が「0」周辺に均等に分布するコードブックのグループにおける量子化精度と代表点の分布との関係を示す図である。 スケーリング後の量子化の代表点の分布が「−2」周辺に偏っているコードブックのグループにおける量子化精度と代表点の分布との関係を示す図である。 図6の量子化方法に代表される本実施の形態のコードブックの一例を示す図である。 本実施の形態の符号化装置における動作を示すフローチャートである。 実施の形態1の復号化装置の構成を示すブロック図である。 実施の形態2の符号化装置において符号化に用いられるコードブックの代表点の2次元分布の一例を示す図である。 従来のAACなどの符号化方式で用いられているコードブックの代表点の2次元分布の一例を示す図である。

Claims (14)

  1. コードブックを参照して、デジタル信号を符号化する符号化装置であって、
    少なくとも第1のコードブックと1以上の第2のコードブックとを記憶する記憶手段と、
    入力される信号の値が、連続するn個の整数(ただし、nは自然数)を含む所定の範囲内となるよう、入力される信号をスケーリングするスケーリング手段と、
    スケーリングされた信号値のそれぞれを、前記n個の整数のうちのいずれかの値のデジタル信号に量子化する量子化手段と、
    前記量子化手段によって量子化されたデジタル信号の値に対応して、前記記憶手段に記憶されている前記第1のコードブック及び1以上の前記第2のコードブックのうちいずれかのコードブックを参照することにより、デジタル信号をコードに置き換える符号化手段と、
    前記符号化手段の符号化による発生符号量に応じて、前記符号化手段が新たに参照すべき、量子化分解能の異なる他のコードブックを、前記記憶手段に記憶されている前記第1のコードブック及び1以上の前記第2のコードブックのうちから1つ選択する選択手段とを備え、
    前記第1のコードブックには、前記n個の整数のそれぞれを一意に表すn個のコードが示され、
    前記第2のコードブックは、前記第1のコードブックよりも量子化分解能が低く、1以上の前記第2のコードブックには、前記n個の整数の部分集合であるm個の整数(ただし、mはn未満の自然数)のそれぞれを一意に表すm個のコードが示され、
    前記符号化手段は、参照していたコードブックから、前記選択手段によって選択された前記コードブックに切り替えて参照するときにおいても前記量子化手段によって量子化された前記デジタル信号が示す同じ整数値を用いて参照し、量子化された前記デジタル信号が示す整数値を、前記選択されたコードブックを参照してコードに置き換える
    ことを特徴とする符号化装置。
  2. 前記第2のコードブックが複数ある場合、前記第2のコードブックには、前記m個の整数の一部に同じ整数の組み合わせが含まれ、互いにmの値が異なる個数m個の整数を表すコードが示されている
    ことを特徴とする請求項1記載の符号化装置。
  3. 前記選択手段は、前記第1のコードブック以外のコードブックを選択する場合に、前記デジタル信号の平均値と分散とを算出し、前記デジタル信号の値の組み合わせを調べ、調べた結果に応じて1以上の前記第2のコードブックのいずれかを選択する
    ことを特徴とする請求項2記載の符号化装置。
  4. 前記符号化手段は、
    所定サンプル数のデジタル信号毎に、置き換えられた前記コードのビット数を算出するビット数算出部と、
    算出されたビット数が目標ビット数以下か否かを判定する判定部とを備え、
    前記符号化手段は、前記第1のコードブックを参照して置き換えられたコードのビット数が目標ビット数以下であれば、第1のコードブックを参照し、前記第1のコードブックを参照して置き換えられたコードのビット数が目標ビット数を超える場合には、前記選択手段によって選択された前記第2のコードブックを参照する
    ことを特徴とする請求項2又は請求項3記載の符号化装置。
  5. 前記選択手段は、1以上の前記第2のコードブックのうち、前記コードのビット数が目標ビット数を超えない範囲で個数mが最も大きいコードブックを選択する
    ことを特徴とする請求項3又は請求項4記載の符号化装置。
  6. 前記符号化手段は、
    所定サンプル数のデジタル信号毎に、置き換えられた前記コードのビット数を算出するビット数算出部と、
    算出されたビット数が目標ビット数以下か否かを判定する判定部とを備え、
    前記符号化手段は、前記第1のコードブックを参照して置き換えられたコードのビット数が目標ビット数以下であれば、第1のコードブックを参照し、前記第1のコードブックを参照して置き換えられたコードのビット数が目標ビット数を超える場合には、前記選択手段によって選択された前記第2のコードブックを参照する
    ことを特徴とする請求項2記載の符号化装置。
  7. 前記選択手段は、1以上の前記第2のコードブックうち、前記コードのビット数が目標ビット数を超えない範囲で個数mが最も大きいコードブックを選択する
    ことを特徴とする請求項6記載の符号化装置。
  8. 記憶手段に、少なくとも第1のコードブックと1以上の第2のコードブックとを記憶しておき、前記コードブックを参照して、デジタル信号を符号化する符号化方法であって、
    入力される信号の値が、連続するn個の整数(ただし、nは自然数)を含む所定の範囲内となるよう、入力される信号をスケーリングするスケーリングステップと、
    スケーリングされた信号値のそれぞれを、前記n個の整数のうちのいずれかの値のデジタル信号に量子化する量子化ステップと、
    前記量子化ステップによって量子化されたデジタル信号の値に対応して、前記記憶手段に記憶されている前記第1のコードブック及び1以上の前記第2のコードブックのうちいずれかのコードブックを参照することにより、デジタル信号をコードに置き換える符号化ステップと、
    前記符号化ステップでの符号化による発生符号量に応じて、前記符号化ステップが新たに参照すべき、量子化分解能の異なる他のコードブックを、前記記憶手段に記憶されている前記第1のコードブック及び1以上の前記第2のコードブックのうちから1つ選択する選択ステップとを備え、
    前記第1のコードブックには、前記n個の整数のそれぞれを一意に表すn個のコードが示され、
    前記第2のコードブックは、前記第1のコードブックよりも量子化分解能が低く、1以上の前記第2のコードブックには、前記n個の整数の部分集合であるm個の整数(ただし、mはn未満の自然数)のそれぞれを一意に表すm個のコードが示され、
    前記符号化ステップでは、参照していたコードブックから、前記選択ステップによって選択された前記コードブックに切り替えて参照するときにおいても前記量子化ステップによって量子化された前記デジタル信号が示す同じ整数値を用いて参照し、量子化された前記デジタル信号が示す整数値を、前記選択されたコードブックを参照してコードに置き換える
    ことを特徴とする符号化方法。
  9. 前記第2のコードブックが複数ある場合、前記第2のコードブックには、前記m個の整数の一部に同じ整数の組み合わせが含まれ、互いにmの値が異なる個数m個の整数を表すコードが示されている
    ことを特徴とする請求項8記載の符号化方法。
  10. 前記選択ステップでは、前記第1のコードブック以外のコードブックを選択する場合に、前記デジタル信号の平均値と分散とを算出し、前記デジタル信号の値の組み合わせを調べ、調べた結果に応じて1以上の前記第2のコードブックのいずれかを選択する
    ことを特徴とする請求項9記載の符号化方法。
  11. 前記符号化ステップでは、
    所定サンプル数のデジタル信号毎に、置き換えられた前記コードのビット数を算出するビット数算出ステップと、
    算出されたビット数が目標ビット数以下か否かを判定する判定ステップとを含み、
    前記符号化ステップは、前記第1のコードブックを参照して置き換えられたコードのビット数が目標ビット数以下であれば、第1のコードブックを参照し、前記第1のコードブックを参照して置き換えられたコードのビット数が目標ビット数を超える場合には、前記選択ステップによって選択された前記第2のコードブックを参照する
    ことを特徴とする請求項9又は請求項10記載の符号化方法。
  12. 前記選択ステップでは、1以上の前記第2のコードブックのうち、前記コードのビット数が目標ビット数を超えない範囲で個数mが最も大きいコードブックを選択する
    ことを特徴とする請求項10又は請求項11記載の符号化方法。
  13. 前記符号化ステップでは、
    所定サンプル数のデジタル信号毎に、置き換えられた前記コードのビット数を算出するビット数算出ステップと、
    算出されたビット数が目標ビット数以下か否かを判定する判定ステップとを含み、
    前記符号化ステップでは、前記第1のコードブックを参照して置き換えられたコードのビット数が目標ビット数以下であれば、第1のコードブックを参照し、前記第1のコードブックを参照して置き換えられたコードのビット数が目標ビット数を超える場合には、前記選択ステップによって選択された前記第2のコードブックを参照する
    ことを特徴とする請求項9記載の符号化方法。
  14. 前記選択ステップでは、1以上の前記第2のコードブックうち、前記コードのビット数が目標ビット数を超えない範囲で個数mが最も大きいコードブックを選択する
    ことを特徴とする請求項13記載の符号化方法。
JP2006516835A 2003-06-16 2004-06-07 符号化装置、符号化方法およびコードブック Expired - Fee Related JP4382090B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003170287 2003-06-16
PCT/JP2004/008258 WO2004112400A1 (en) 2003-06-16 2004-06-07 Coding apparatus, coding method, and codebook

Publications (2)

Publication Number Publication Date
JP2006527961A JP2006527961A (ja) 2006-12-07
JP4382090B2 true JP4382090B2 (ja) 2009-12-09

Family

ID=33549419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006516835A Expired - Fee Related JP4382090B2 (ja) 2003-06-16 2004-06-07 符号化装置、符号化方法およびコードブック

Country Status (4)

Country Link
US (1) US7657429B2 (ja)
JP (1) JP4382090B2 (ja)
CN (1) CN100493199C (ja)
WO (1) WO2004112400A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080012740A1 (en) * 2006-07-06 2008-01-17 Board Of Trustees Of Michigan State University Source-aware non-uniform information transmission with minimum distortion
EP1883067A1 (en) * 2006-07-24 2008-01-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream
WO2009038422A2 (en) * 2007-09-20 2009-03-26 Lg Electronics Inc. A method and an apparatus for processing a signal
JP5846220B2 (ja) * 2012-01-17 2016-01-20 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法、プログラム
US9240853B2 (en) 2012-11-16 2016-01-19 Huawei Technologies Co., Ltd. Systems and methods for sparse code multiple access
US9712817B1 (en) * 2013-02-15 2017-07-18 Apple Inc. Lossless video coding systems and methods
CN107316647B (zh) * 2013-07-04 2021-02-09 超清编解码有限公司 频域包络的矢量量化方法和装置
US9419770B2 (en) 2014-03-31 2016-08-16 Huawei Technologies Co., Ltd. Method and apparatus for asynchronous OFDMA/SC-FDMA
US10701685B2 (en) 2014-03-31 2020-06-30 Huawei Technologies Co., Ltd. Method and apparatus for asynchronous OFDMA/SC-FDMA
US10531432B2 (en) 2015-03-25 2020-01-07 Huawei Technologies Co., Ltd. System and method for resource allocation for sparse code multiple access transmissions
WO2017071586A1 (en) 2015-10-30 2017-05-04 Huawei Technologies Co., Ltd. System and method for high-rate sparse code multiple access in downlink
WO2020164153A1 (zh) * 2019-02-15 2020-08-20 Oppo广东移动通信有限公司 确定配置参数的方法、终端设备和网络设备
US20220156982A1 (en) * 2020-11-19 2022-05-19 Nvidia Corporation Calculating data compression parameters
CN113766237B (zh) * 2021-09-30 2024-07-02 咪咕文化科技有限公司 一种编码方法、解码方法、装置、设备及可读存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341457A (en) * 1988-12-30 1994-08-23 At&T Bell Laboratories Perceptual coding of audio signals
JP2874363B2 (ja) 1991-01-30 1999-03-24 日本電気株式会社 適応符号化・復号化方式
US5408234A (en) * 1993-04-30 1995-04-18 Apple Computer, Inc. Multi-codebook coding process
JP2951861B2 (ja) 1994-12-28 1999-09-20 シャープ株式会社 画像符号化装置及び画像復号装置
GB9509831D0 (en) * 1995-05-15 1995-07-05 Gerzon Michael A Lossless coding method for waveform data
DE69629986T2 (de) * 1995-07-27 2004-07-15 Victor Company of Japan, Ltd., Yokohama Verfahren und Gerät zum Kodieren digitaler akustischer Signale
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5818877A (en) * 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values
SG74707A1 (en) 1998-03-06 2000-08-22 Gen Electric Cyclic bis-phosphites and compositions
DE19840835C2 (de) * 1998-09-07 2003-01-09 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Entropiecodieren von Informationswörtern und Vorrichtung und Verfahren zum Decodieren von Entropie-codierten Informationswörtern
JP3352406B2 (ja) * 1998-09-17 2002-12-03 松下電器産業株式会社 オーディオ信号の符号化及び復号方法及び装置
US6157328A (en) * 1998-10-22 2000-12-05 Sony Corporation Method and apparatus for designing a codebook for error resilient data transmission
JP3323175B2 (ja) * 1999-04-20 2002-09-09 松下電器産業株式会社 符号化装置
US6446037B1 (en) * 1999-08-09 2002-09-03 Dolby Laboratories Licensing Corporation Scalable coding method for high quality audio
US6678653B1 (en) * 1999-09-07 2004-01-13 Matsushita Electric Industrial Co., Ltd. Apparatus and method for coding audio data at high speed using precision information
KR100856398B1 (ko) * 2000-05-17 2008-09-04 삼성전자주식회사 복수 매핑 테이블을 이용한 가변장 부호화 및 복호화방법과 그 장치
US6944226B1 (en) 2000-10-03 2005-09-13 Matsushita Electric Corporation Of America System and associated method for transcoding discrete cosine transform coded signals
JP2002223443A (ja) * 2001-01-24 2002-08-09 Yamaha Corp トランスコーディング方法およびトランスコーディング装置
JP3639216B2 (ja) * 2001-02-27 2005-04-20 三菱電機株式会社 音響信号符号化装置
JP2002311997A (ja) 2001-04-16 2002-10-25 Matsushita Electric Ind Co Ltd オーディオ信号符号化装置
JP3636094B2 (ja) * 2001-05-07 2005-04-06 ソニー株式会社 信号符号化装置及び方法、並びに信号復号装置及び方法
JP3778087B2 (ja) * 2002-01-18 2006-05-24 富士ゼロックス株式会社 データ符号化装置及びデータ復号装置
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7426462B2 (en) * 2003-09-29 2008-09-16 Sony Corporation Fast codebook selection method in audio encoding

Also Published As

Publication number Publication date
CN100493199C (zh) 2009-05-27
US20060245489A1 (en) 2006-11-02
US7657429B2 (en) 2010-02-02
CN1806445A (zh) 2006-07-19
JP2006527961A (ja) 2006-12-07
WO2004112400A1 (en) 2004-12-23

Similar Documents

Publication Publication Date Title
US9390720B2 (en) Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes
US7433824B2 (en) Entropy coding by adapting coding between level and run-length/level modes
JP5688861B2 (ja) レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
JP4382090B2 (ja) 符号化装置、符号化方法およびコードブック
JP5409909B2 (ja) ビットストリームを復号する方法
US8558724B2 (en) Coding method, coding appartaus, decoding method, decoding apparatus, program, and recording medium
US8665945B2 (en) Encoding method, decoding method, encoding device, decoding device, program, and recording medium
KR102400514B1 (ko) 디지털 데이터 압축을 위한 방법 및 디바이스
WO2011097963A1 (zh) 编码方法、解码方法、编码器和解码器
JP4848049B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
Mikhael et al. Energy-based split vector quantizer employing signal representation in multiple transform domains
Wernik et al. Lossless Audio Coding using Extended Activity Level Classification Model
KR20230026422A (ko) 정수값의 시퀀스를 인코딩 및 디코딩하는 장치, 정수값의 시퀀스를 인코딩 및 디코딩하는 방법 및 이러한 방법을 구현하기 위한 컴퓨터 프로그램
KR20160105848A (ko) 데이터 심볼들에 대해 산술 코딩을 수행하는 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090730

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: 20090818

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090916

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4382090

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees