CN100495930C - 浮点信号可逆编码方法、解码方法及其设备 - Google Patents
浮点信号可逆编码方法、解码方法及其设备 Download PDFInfo
- Publication number
- CN100495930C CN100495930C CNB2004800151171A CN200480015117A CN100495930C CN 100495930 C CN100495930 C CN 100495930C CN B2004800151171 A CNB2004800151171 A CN B2004800151171A CN 200480015117 A CN200480015117 A CN 200480015117A CN 100495930 C CN100495930 C CN 100495930C
- Authority
- CN
- China
- Prior art keywords
- sequence
- signal
- bit
- floating
- sample
- 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
- 238000000034 method Methods 0.000 title claims description 123
- 238000007667 floating Methods 0.000 title description 27
- 230000002441 reversible effect Effects 0.000 title description 3
- 238000007906 compression Methods 0.000 claims description 135
- 230000006835 compression Effects 0.000 claims description 135
- 230000008569 process Effects 0.000 claims description 42
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 230000009977 dual effect Effects 0.000 claims description 20
- 108010076504 Protein Sorting Signals Proteins 0.000 claims description 4
- 238000007907 direct compression Methods 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 description 24
- 238000004458 analytical method Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 21
- 230000004048 modification Effects 0.000 description 16
- 238000012986 modification Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 6
- 239000003638 chemical reducing agent Substances 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- CVOFKRWYWCSDMA-UHFFFAOYSA-N 2-chloro-n-(2,6-diethylphenyl)-n-(methoxymethyl)acetamide;2,6-dinitro-n,n-dipropyl-4-(trifluoromethyl)aniline Chemical compound CCC1=CC=CC(CC)=C1N(COC)C(=O)CCl.CCCN(CCC)C1=C([N+]([O-])=O)C=C(C(F)(F)F)C=C1[N+]([O-])=O CVOFKRWYWCSDMA-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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/14—Conversion to or from non-weighted codes
- H03M7/24—Conversion to or from floating-point codes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
对于每个帧检查浮点格式的信号样本序列X的平均幅度。当平均幅度超过预定值时,在整数形成单元(12)处通过丢弃序列X的小数来将序列X转换为16比特整数格式的信号样本序列Y。压缩部分(13)将序列Y编码,并输出码串Ca。差产生单元(14)产生等于通过将序列Y转换为浮点格式而获得的序列Y’和信号样本序列X之间的差的差信号Z。差产生单元(14)提取通过序列Y的每个样本的低于最高有效的1的比特的数量n确定的、差信号Z的尾数M的较低的23-n比特,通过压缩单元(17)对其进行熵编码,并输出码串Cb。当平均幅度小于预定值时,通过压缩单元(121)对序列X进行可逆编码。指示选择了哪种编码方法的码Cd被输出。
Description
技术领域
本发明涉及一种用于将承载声音、音乐或图像信息的浮点信号样本(sample)序列压缩为更小信息量的码而没有失真的编码方法、对应的解码方法,其编码装置及其解码装置。
背景技术
作为用于压缩声音或图像信息的方法,已知一种不涉及失真的无损编码方法。
可以通过组合高度压缩的有损编码和在有损编码的再现信号与原始信号之间的差别的无损压缩来实现高度压缩的无损数据压缩。在专利文献1中已经提出了这样的组合压缩方法。下面将简要描述在所述专利文献中详细说明的方法。
在编码器中,帧形成部分连续地将数字输入信号(也称为输入信号样本序列)分为帧,每个帧由例如1024个输入信号样本组成,并且在帧的基础上有损地压缩编码所述数字信号。这种编码可以基于适合于输入数字信号的任何格式,并且可以通过解码而以某个保真度来再现原始数字输入信号。
例如,如果数字输入信号是声音信号,则可以使用按照ITU-建议G.729推荐的语音编码。如果数字输入信号是音乐信号,则可以使用在MPEG-4中使用的变换域加权交织向量量化(Twin VQ)编码。对从有损压缩编码产生的码进行本地解码,并且产生用于表示本地解码后的信号和原始数字信号之间的差的差信号。但是,实际上,没有本地解码的必要,而是相反,其足以获得在原始数字信号和有损压缩编码期间产生的量化信号之间的差。差信号的幅度通常比原始数字信号的幅度小得多。因此,与原始数字信号的无损压缩编码相比,可以通过差信号的无损压缩编码来减少信息量。
为了提高无损压缩编码的效率,对于每个都通过符号和幅度表示法(符号和幅度的二进制数)来表示的帧中的差信号的所有样本的序列,每个位置的比特、即MSB、第二MSB、...和LSB中的每一个的比特沿着样本序列(即时间序列)被链接,以形成相应的比特序列。换句话说,变换比特排列(arrangement)。为方便起见,将由相同比特位置处的相链接的1024个比特组成的比特序列称为“同位(coordinate)比特序列”。另一方面,为方便起见,将表示包括其符号的每个样本的幅度值的一个字的比特序列称为“幅度比特序列”。差信号具有小幅度,因此,最高有效比特、或者最高有效比特和随后的多个比特常常是全“0”。因此,借助于表示通过链接这种比特位置处的比特而形成的同位比特序列,可以提高差信号的无损压缩编码效率。
对同位比特序列进行无损压缩编码。作为无损压缩编码,可以使用熵编码,例如霍夫曼编码和算术编码,其利用其中连续出现相同符号(1或0)的序列的出现或频繁出现。
当解码时,从无损压缩编码产生的码被解码,并且对解码信号执行比特排列的逆变换。也就是说,对于每个帧,将同位比特序列变换为幅度比特序列,并且依序再现所得到的差信号。另外,对从有损压缩编码产生的码进行解码,并且将解码信号和再现的差信号一起求和,并随后依序将每个帧的和数信号(sum signal)链接到一起,从而再现原始数字信号序列。
此外,已知有多种无损编码方法,用于不允许失真的音频或视频信息。例如,在非专利文献1中公开了音乐信息的无损编码方法。任何传统方法都是这样的,其对从信号波形直接得到的PCM信号执行压缩编码。
但是,在音乐录音棚中,有时以浮点格式来记录和存储波形。浮点格式中的任何值都被分离为符号、指数和尾数。例如,在图37中所示的IEEE-754标准浮点格式中,任何值都包括以有效值的降序排列的32个比特,其包括用于符号的1比特、用于指数的8比特和用于尾数的23个比特。以S来表示符号、以小数E来表示由用于指数的8比特表示的值、并且以M来表示尾数的二进制数,则可以以符号和幅度二进制表示法来表示浮点格式的值如下。
按照IEEE-754标准,E0被定义为E0=27-1=127,使得表达式(1)中的“E-E0”可以是落入下面范围内的任何值:
-127≤E-E0≤128。
在此,定义当E-E0=-127时所有的比特被设置为“0”,而当E-E0=128时所有的比特被设置为“1”。术语“E-E0=n”表示通过从由公式(1)表示的值的整数部分的数字的数量(比特数量)减去1而获得的值,即,跟随在最高有效“1”之后的比特的数量。
在通过浮点格式的数字信号序列表示声音、音乐或图像信息的情况下,由“0”和“1”组成的比特序列有可能因为浮点格式的特性而是随机的。因此,即使执行上述比特排列变换,也不能期望熵压缩编码等提供高压缩比。而且,浮点格式的样本序列与原始模拟波形大大不同,因此没有从样本之间的相关性产生的冗余。因此,即使应用在上述非专利文献1中公开的无损预测编码方法,也不能期望更高的压缩比。
专利文献1:日本申请Kokai公开第2001-44847号
非专利文献1:“Lossless Compression of Digital Audio”,Mat Hans,Ronald W.Schafer等,IEEE SIGNAL PROCESSING MAGAZINE,2001年7月,第21-32页
发明内容
本发明的目的是提供一种用于浮点格式的信号样本序列的无损编码方法和无损解码方法及其装置。
解决问题的手段
根据本发明第一方面的用于浮点格式的信号的无损编码方法包括以下步骤:
(a)将浮点格式的第一信号样本序列转换为整数格式的第二信号样本序列;
(b)无损压缩整数格式的第二信号样本序列以产生第一码序列;
(c)产生浮点格式的差信号,其对应于整数格式的第二信号样本序列和浮点格式的第一信号样本序列之间的差;
(d)确定哪种编码处理具有较高的压缩效率:第一编码处理,其对在浮点格式的差信号的样本中能够取非零的范围的比特进行编码,所述比特的范围由整数格式的第二信号样本序列中的对应样本中的最高有效的“1”的比特位置确定,或者第二编码处理,其直接对差信号进行编码;以及
(e)如果确定结果指示第一编码处理,则通过第一编码处理来对差信号进行编码,以产生第二码序列,或者如果确定结果指示第二编码处理,则通过第二编码处理来对差信号进行编码,以产生第二码序列。
根据本发明第二方面的用于浮点格式的信号的无损编码方法包括以下步骤:
(a)确定哪种压缩具有较高的压缩效率:帧基础上的浮点格式的第一信号样本序列的直接压缩,或者整数值样本序列和从第一信号样本序列得到的差信号的双信号分离压缩;
(b)如果确定结果指示双信号分离压缩,则执行双信号分离压缩,步骤(b)包括以下步骤:
(b-1)将第一信号样本序列转换为整数格式的第二信号样本序列;
(b-2)无损压缩整数格式的第二信号样本序列,以产生第一码序列;
(b-3)产生浮点格式的差信号,其对应整数格式的第二信号样本序列和浮点格式的第一信号样本序列之间的差;
(b-4)从浮点格式的差信号产生第二码序列;或者
(c)如果确定结果指示直接压缩,则直接无损压缩第一信号样本序列,以产生第三码序列;以及
(d)产生辅助码,其指示是执行直接无损压缩还是两种类型信号的分离压缩。
本发明的效果
根据本发明的第一方面,如果浮点格式的输入信号样本序列X的平均幅度大于预定值,则直接对信号样本序列X进行无损编码,而如果平均幅度等于或小于所述预定值,则将输入信号样本序列X分离为整数值样本序列和差信号,并且分别对所述整数值样本序列和差信号进行编码。因此,可以提高编码效率。
根据本发明的第二方面,在将浮点格式的输入信号样本序列X分离为被分别编码的整数值样本序列Y和差信号Z的情况下,在压缩效率方面将仅仅对差信号中能够取非0的比特进行编码的情况和直接对差信号进行编码的情况进行比较,并采用具有较高压缩效率的所述码之一。因此,可以进一步提高编码效率。
附图说明
图1是根据本发明第一实施例的编码器的功能图;
图2是用于图解图1所示的整数格式化部分12的操作的图;
图3是示出在图1所示的整数格式化部分12中执行的处理过程的流程图;
图4示出在整数值的绝对值和表示该整数值的尾数的比特序列之间的对应;
图5示出整数值的绝对值、数字差信号的符号、指数和尾数之间的关系;
图6是示出数字差信号序列的要压缩编码的部分的图;
图7是根据本发明第一实施例的解码器的功能图;
图8示出图1所示的编码器的修改实施例;
图9是根据本发明第二实施例的编码器的功能图;
图10是根据本发明第二实施例的解码器的功能图;
图11是根据本发明第二实施例的编码器的修改的功能图;
图12是根据本发明第三实施例的编码器的功能图;
图13是根据本发明第三实施例的解码器的功能图;
图14A是用于图解将已经从浮点信号得到的、浮点格式的输入信号X转换为16比特整数值信号的过程的图;
图14B是用于图解将已经从24比特整数值信号得到的、浮点格式的输入信号X转换为16比特整数值信号的过程的图;
图14C是用于图解将已经从16比特整数值信号得到的、浮点格式的输入信号X转换为16比特整数值信号的过程的图;
图15A是示出在图9A所示的情况中可以是非零的尾数的比特范围的图;
图15B是示出在图9B所示的情况中可以是非零的尾数的比特范围的图;
图16是根据本发明第四实施例的编码器的功能图;
图17是根据本发明第四实施例的解码器的功能图;
图18是用于图解通过在时间轴方向上扫描尾数的比特而对尾数进行编码的过程的图;
图19示出执行图18所示的编码的压缩部分17的配置;
图20示出可以解码图19所示的编码的解码器中的扩展部分23的配置;
图21是用于图解在时间轴方向上扫描比特的另一种方式的图;
图22是用于图解在时间轴方向上扫描比特的另一种方式的图;
图23是用于图解在时间轴方向上扫描比特的另一种方式的图;
图24是用于图解在时间轴方向上扫描比特的方式的图,其中每个由能够取非零的比特构成的比特序列的LSB彼此对齐;
图25示出根据本发明第六实施例的编码器中的压缩部分17的配置;
图26示出根据本发明第六实施例的解码器中的扩展部分23的配置;
图27示出根据本发明第七实施例的编码器中的压缩部分17的配置;
图28示出根据本发明第七实施例的解码器中的扩展部分23的配置;
图29是示出图27所示的压缩部分17的修改的图;
图30示出可以取代图11所示的编码器中的压缩部分17和131而使用的机构;
图31示出将图10所示的解码器中的扩展部分23和231、选择部分233和辅助解码部分234替换以便使解码器适合于并入图30所示的机构的编码器的机构;
图32示出浮点输入和从浮点输入的删截(truncation)产生的整数值之间的关系;
图33示出浮点输入和从浮点输入的舍入(rounding)产生的整数值之间的关系;
图34示出浮点输入和从浮点输入的修改的舍入产生的整数值之间的关系;
图35示出图11所示的编码器的修改;
图36示出了在其上实现本发明的计算机的配置;
图37示出按照IEEE-754的32比特浮点表示的格式。
具体实施方式
虽然本发明也可以应用到图像信号、声音信号等,但是将主要针对本发明被应用到音乐信号的实施例来进行以下描述。另外,虽然可以使用各种浮点格式,但是将在使用按照IEEE-754标准的32比特浮点格式的假设下进行以下描述。
[第一实施例]
图1是根据本发明实施例的编码器的功能配置。根据此实施例的编码器包括分析和选择部分100、单信号编码部分120、双信号编码部分110、辅助编码部分103和输出部分104。分析和选择部分100包括效率估计部分101和选择部分102。双信号编码部分110包括整数格式化部分12、压缩部分13和17以及差产生部分14。
例如,信号源10输出具有32比特浮点格式的输入数字信号样本序列X的形式的音乐信号样本序列。通过对以24比特整数格式记录的原始信号执行诸如变换、幅度调整、效果增加和混合之类的处理,并将具有作为处理结果的小数(fractional)部分的所得到的信号转换为浮点格式,来产生输入信号样本序列X,或者,通过将以24比特整数格式记录的原始信号转换为32比特的浮点格式,并且对所得到的信号执行如上所述的这种处理,来产生输入信号样本序列X。输入信号样本序列X被帧形成部分11划分为帧,每个帧中包含一定数量的样本,例如1024个样本。输入信号样本序列可以被划分为超帧(super-frame),每个超帧包含16至32个帧,或者每个所得到的帧可以被细分为一半或四分之一。仅仅有必要的是,将输入信号样本序列划分为一定数量样本的组,并且这种样本组将被一般地称为帧。
输入信号样本序列X被分析和选择部分100分析,然后被传递给双信号编码部分110和单信号编码部分120中的任何一个,所述双信号编码部分110分别无损地压缩编码整数值和其误差,所述单信号编码部分120直接无损地压缩编码输入信号样本序列X。在分析和选择部分100中,例如,输入信号样本序列X被输入到效率估计部分101,在此,平均部分101a计算相关帧的平均幅度,并且确定部分101b确定平均幅度是否等于或大于预定值,并且基于确定结果来控制选择部分102。如果平均幅度被确定为等于或大于预定值,则将所述帧的输入信号样本序列X提供给双信号编码部分110,或者如果平均幅度被确定为小于预定值,则将所述帧的输入信号样本序列X提供给单信号编码部分120。
例如,如果用16比特二进制数来表示输入信号样本序列X中的每个样本的整数部分,则被用作确定部分101b中的确定标准的预定值是8比特的值。该预定值随着上述整数值而改变,并且基于输入信号样本序列的特性而对其进行选择,以便提高整个压缩效率。
在双信号编码部分110中,浮点格式的信号样本序列X被输入到整数格式化部分12,并在样本的基础上被转换为整数格式的信号样本序列Y。如上所述,在上述示例中,常常通过诸如变换、幅度调整和效果增加之类的处理来从24比特整数格式的原始信号得到数字信号样本X,使得信号幅度通常不会显著变化。因此,整数格式化部分12可以仅仅通过舍入、删截或上舍入小数部分而将信号样本序列X转换为整数格式。
作为示例,将参照图2来说明删截。虽然整数格式的数字的数量可以是16比特、20比特等,但是将在使用24比特整数格式的假设下进行以下描述。
为了以浮点格式表示波形,可以进行归一化,使得将32768(=215)的整数值归一化为1.0,或者将223的整数值归一化为1.0。但是,这些情况与下述情况区别仅在于指数的值,而不具有本质区别。
例如,如果指数值E是147,则在其较高阶一侧临近小数点的比特是从尾数中的MSB起的第20(147-120=20)比特。如图2A所示,在23比特的尾数M中的最高有效的20比特(M1)对应于跟随在符号和幅度二进制表示法中的整数部分的最高有效的“1”之后的部分,并且尾数M中的剩余的3个最低有效比特(M2)对应于在小数点下的小数部分。在下面,部分M1将被称为尾数M的整数部分。因此,如图2B所示,如果尾数M向最低有效比特位置移动3位,使得尾数的整数部分(M1)中的最低有效比特被定位在整个23比特的尾数中的最低有效比特处,则发生小数点下的这三个比特(M2)的溢出,因此截去这三个比特。然后,在已经通过这种移位而使得未被占据的最高有效的三位(在本示例中是“000”)中的最低有效比特(即,从最低有效比特起的第21比特)被设置为1,其对应于表达式(1)中的“1.M”的“1”,由此提供被删截的整数值(见图2C)。或者,可以在移位之前在所述23比特中的最高有效比特之前增加“1”,并且可以将所得到的24比特移动3位。
此外,将所得到的整数值转换为二的补码表示法。即,浮点格式的每个信号样本序列X的符号比特S被按原样用作最高有效比特,而对于其它23比特,如果符号S是“0”(正),则按原样使用图2C所示的23比特,而如果符号S是“1”(负),则将这23比特如图2D所示逻辑反转,即将值“0”和“1”互换,然后,向最低有效比特加“1”。作为最高有效比特,符号比特S被按原样使用。以这种方式,获得以补码表示法表示的24比特整数格式的信号样本序列Y,如图2E所示。
已经在尾数M包含对应于小数部分的0或更多比特、并且将浮点格式的32比特数字信号样本转换为整数格式的24比特数字信号样本的假设下一般地进行了上述描述。但是,例如,在混合24比特整数格式的多个原始信号以进行处理的情况下,一个样本可具有比可由24比特表示的最大值大得多的幅度值。在E≥150的这种情况下,作为例外处理,在上述示例中将指数E的值固定到150(E=127+23=150),将例外(exception)信号y提供给差产生部分14,并将作为在其顶部增加了“1”的尾数M的“1M”的最高有效23比特转换为二的补码表示法,以产生24比特整数格式的信号样本序列Y。
整数格式化部分12执行例如图3所示的处理。首先,检查是否指数E等于或大于150、即整数部分由23或更多比特构成(S1)。如果整数部分由少于23比特构成,则数字计算部分12A确定尾数的整数部分的数字的数量n(n=E-E0)并输出结果(S2)。然后,将尾数M向最低有效位置移动(23-n)位,以使得发生小数部分溢出,并将“1”置于从所得到的由n比特构成的整数部分的最低有效比特来看的第(n+1)比特的位置(S3)。然后,将“0”置于在所述第(n+1)比特之前的剩余比特位置,使得整个尾数由23比特构成,并且基于符号比特S,将所得到的23比特转换为以二的补码表示法表示的24比特整数格式,由此产生整数格式的信号样本Y(S4)。
具体地说,将符号比特S按原样用作最高有效比特,而对于剩余的23比特,如果符号S是“0”(正),则按原样使用从步骤S3中的移位并向从最低有效比特起的第(n+1)比特增加“1”而产生的整数部分的、从最低有效比特到第23比特的比特,而如果符号S是“1”(负),则将从所述移位和增加“1”产生的整数部分的、从最低有效比特到第23比特的比特反转,并向所得到的23比特的最低有效比特加“1”,以提供采用补码表示法的值。如果在步骤S1中指数E等于或大于150,则在步骤S5将指数E设置在150,然后在步骤S4从“1M”的最高有效的23比特产生整数格式的信号样本Y。
在以上描述中,尾数M被移动(23-n)位,以提供采用符号和幅度二进制表示法的24比特绝对值样本。或者,可以提取在图2A中被示出为M1的尾数M的最高有效的n个比特(n=E-E0),在所述n个比特的前部增加“1”,以产生图2C所示的比特数量(n+1),在所述(n+1)比特的前部增加(22-n)个“0”以产生比特数量23,并随后在所述23比特的前部增加符号比特S,以产生比特数量24。
在压缩部分13中,使用波形等的相关性、通过有效的无损压缩方法,将如上所述由整数格式化部分12产生的整数值信号样本序列Y作为整数值压缩编码,然后其作为码序列Ca输出。例如,如上述非专利文献1中公开的那样,通过确定在每个样本的值和预测值(整数值)之间的差,如在“背景技术”部分所述的那样变换这种差的序列的比特排列,并随后对所得到的序列、即同位比特序列执行熵编码,可以实现压缩部分13中的无损压缩。也就是说,整数值信号样本序列Y接近从中得到来自信号源11的输入信号样本序列X的原始模拟信号波形。因此,可以通过经由预测或变换消除由于信号样本之间的相关性而导致的冗余来有效地无损压缩编码输入信号样本序列X。
差产生部分14产生差信号(误差)Z,其指示在整数值信号样本Y和对应的来自信号源11的浮点格式的输入信号样本X之间的差。在这个示例中,浮点格式化部分15将整数值信号样本Y再次转换为浮点格式的信号样本Y’,并且加法部分16从浮点格式的原始输入信号样本X中减去所得到的浮点格式的信号样本Y’,由此产生浮点格式的差数字信号Z。
在整数格式的数字信号样本由24比特构成的情况下,浮点格式化部分15可以将数字信号转换为32比特浮点格式的输入信号,而没有任何模糊或例外。如上所述,浮点格式的原始信号样本序列X的指数E有可能等于或小于149,并且在这种情况下,指示在信号样本序列Y’中的样本和浮点格式的原始输入信号样本序列X中的样本之间的差的差信号样本Z等于原始输入信号样本序列X中的样本的小数部分的值。
以上关于差产生部分14的描述仅仅意欲帮助理解本发明,并且实际上,不必将整数值信号样本序列Y转换为浮点格式。输入样本序列X及其尾数的整数部分的数字数量n被输入到差产生部分14,并且如果没有提供例外信号y,则将在浮点格式的输入样本序列X中的每个样本的尾数M的符号S、指数E和(23-n)个最低有效比特分别用作每个差信号样本Z的尾数的符号S、指数E和(23-n)个最低有效比特,并且将所述尾数的剩余的最高有效的n个比特全部设置为“0”。所述尾数的整数部分的数字数量n(n=E-E0)等于跟随在整数值信号样本序列Y中的对应样本的最高有效的“1”之后的数字数量。由于整数值信号样本的比特长度是固定的,因此当确定在最高有效的“1”之前的数字数量时,尾数的整数部分的数字数量也被确定。也就是说,如果查明了整数值信号样本中的最高有效的“1”的位置,则也可以查明对应的浮点信号样本的尾数的整数部分的数字数量。如果提供了例外信号y,则差信号样本Z的符号由输入样本的符号S构成,差信号样本Z的指数被设置为E-150,并且差信号样本Z的尾数由输入样本序列X的尾数和信号样本序列Y’之间的差构成。
压缩部分17对浮点格式的对于整数值信号样本序列Y和输入样本序列X的每个样本组合的差信号Z、即来自差产生部分14的浮点格式的差信号Z执行无损压缩编码,并输出码序列Cb。例如,压缩部分17使用从整数格式化部分12输出的尾数的整数部分的数字数量n,来仅仅对每个样本可以取除了“0”以外的值的、浮点格式的差信号Z中的数字执行无损压缩编码。浮点格式的输入样本序列X中的每个样本表示如下:
X=1.M×2n=XW.XF
如果XW=1MI(其前部被加上“1”的MI)指示采用二进制表示法的整数部分,并且XF=MF指示小数部分,则对应于尾数M中的整数部分MI的比特和对应于小数部分(小数值)MF的比特彼此相关,如图4所示。在此图中,尾数M被示出为包括在表达式(1)中的M的前部的一个比特的24比特值,并且为方便起见示出了采用符号和幅度二进制表示法的小数点PD的位置。
当整数部分的绝对值XW是0时,表达式(1)可以被分类为两种情况:E-E0=-127的情况;和-126≤E-E0≤-1的情况。前一种情况是E=0的特殊情况,其中,尾数M的所有23个比特“x23...x1”构成小数部分MF,并且输入信号样本序列X中的样本的尾数的23个比特被定义为全“0”。在-126≤E-E0≤-1的情况中,尾数组成小数部分,但其所有比特不全是“0”。在任何情况下,在E-E0取负值的情况中,整数值信号样本序列Y中的样本的所有比特都是“0”,并且差信号Z与输入信号样本序列X中的样本相同,使得浮点格式的信号样本序列X中的样本的所有32个比特将被编码。
当所述整数值的绝对值XW是1时,在比尾数M的第23比特高一比特的位置处的比特“1”(以下称为第24比特)表示整数值XW,并且尾数M的23比特“x23...x1”表示小数部分MF。
当所述整数值的绝对值XW是2至3时,由第24比特“1”和第23比特x23组成的两个比特“1x23”表示整数值XW,其中,比特x23表示尾数M中的整数部分MI,而剩余的22比特“x22...x1”表示小数部分MF。
当绝对值XW是4至7时,由第24比特“1”、第23比特x23和第22比特x22组成的三个比特“1x23x22”表示整数值XW,其中,比特“x23x22”表示尾数M中的整数部分MI,而剩余的21比特“x21...x1”表示小数部分MF。
当绝对值XW是2k-1至2k-1时,由第24比特“1”和比特“x23...x23-(k-2)”组成的k个比特表示整数值XW,其中,比特“x23x22...x23-(k-2)”表示尾数M中的整数部分MI,而剩余的(23-k)比特“x23-(k-1)...x1”表示小数部分MF。
由于通过从32比特浮点格式的输入样本序列X中减去从整数值信号样本序列Y转换的32比特浮点格式的样本序列Y’而产生差信号Z,因此差信号Z如图5所示。在对应于E-E0取负值的上述情况的绝对值XW是0的情况下,差信号Z的符号S、指数E和尾数M全部与输入样本X的那些相同。
在所述整数值的绝对值XW是1的情况下,样本序列Y’中的样本的符号S和指数E与样本序列X中的对应样本的那些相同,并且所述样本的尾数M是0。在这种情况下,也执行指数的相减。因此,差信号Z的符号S和指数E总是与样本序列X中的对应样本的那些、即分别为0和0相同,并且差信号Z的尾数M与样本序列X中的样本的尾数M相同。
在整数值XW是2至3的情况中,样本Y’的符号S和指数E与样本X的那些相同,而对于样本Y’的尾数M,其第23比特x23与样本X的尾数M的相同,并且构成其小数部分“x22...x1”的比特全部是“0”。因此,差信号的符号S和指数E总是0,尾数M中的最高有效比特(第23比特)总是0,并且,构成小数部分“x22...x1”的剩余比特与样本X的各个对应比特相同,并根据样本X而变化。
类似地,在样本X的整数值XW是2k-1到2k-1的情况下,差信号Z的符号S和指数E总是0,而对于其尾数M,对应于样本X的尾数M的整数部分的最高有效(k-1)比特“x23...x23-(k-2)”总是0,并且剩余的23-(k-1)比特“x23-(k-1)...x1”与样本X的尾数M的各个对应比特相同,并根据样本X而变化。以这种方式,根据整数格式的信号样本序列Y的整数值的范围、即整数值的数字数量n+1,确定可以是非0的差信号Z的数字数量h(h=23-n)。
由于这种关系,压缩部分17使用从整数格式化部分12输入的尾数的整数部分的数字数量n,来仅仅对浮点格式的差信号Z中可以是非0的最低有效的h(h=23-n)比特执行无损压缩编码。也就是说,如果尾数的整数部分的数字数量n是0,则对指数E和尾数M的所有比特进行无损压缩编码,而如果数字数量n不是0(n≠0),则仅对尾数M的最低有效的h(h=23-n)比特进行无损压缩编码。由以上描述将理解:可以通过向差产生部分14输入输入信号样本X和尾数的整数部分的数字数量n来产生差信号Z。
如上所述,当输入信号样本序列X中的样本的表达式(1)中的E-E0的值是从-127到0时,差信号Z与输入信号样本X相同。因此,压缩部分17将输入信号样本X的32个比特编码为差信号Z。当E-E0的值是1到22时,在差信号样本序列Z(=z1,z2,z3,...)如图6所示的情况下,例如,除了n≤0的情况之外,仅对由可以是非0的比特构成的部分MD进行编码。可以通过可以是非0的h比特的诸如霍夫曼编码之类的熵编码、或通过全部比特的通用编码,来实现可以是非0的比特的编码。也就是说,仅仅图6的阴影部分可以被适当地分组为样本或帧,并在样本的基础上或在帧的基础上被简单地无损压缩编码,例如被熵编码。由于包含能够取非0的比特的每个样本的部分MD的数字数量(比特数量)h被确定为h=(23-n),因此即使每个帧中的所有部分MD被编码为一系列比特序列,也可以根据在每个样本中能够取非0的比特数量h来再次分离在解码器一侧解码的这一系列的比特序列。
作为整数格式的信号样本序列Y的编码结果,在码Ca中包含符号S,因此,当对差信号Z进行编码时,没有必要编码和发送符号S。另外,由于可以在接收机一侧从跟随在整数值信号样本序列Y中的每个样本的、除符号比特以外的最高有效的“1”之后的比特数量n来确定n(=E-E0),因此不必发送比特数量n。
差信号Z有时具有大量跟随在小数点之后的数字,并且在这种情况下,可能降低编码效率。因此,在图1所示的实施例中,将从差信号Z中能够取非0的比特的编码得到的码序列的信息量与不被编码的、能够取非0的比特的信息量进行比较,并且如果后一信息量更小,则可以将能够取非0的比特输出为码序列Cb而不被编码。或者,在对其所有比特进行编码的情况和不执行编码的情况之间,比较差信号样本Z的信息量,并且可以选择较小信息量的差信号Z。
如上所述,在浮点格式的信号样本序列X的尾数E保持E≥150的例外情况中,整数格式化部分12向差产生部分14提供例外信号y,其指示指数E被固定为150,并且差产生部分14产生浮点格式的差信号Z,其指数由固定指数值150和信号样本序列X中的样本的指数E之间的差(E-150)构成,并且其尾数由尾数M中的差构成。压缩部分17无损地压缩编码差信号Z,并输出所得到的码序列Cb。
如图1所示,在单信号编码部分120中,浮点格式的输入信号样本序列X在压缩部分121中被直接无损压缩编码,并且从其输出为码序列Cc。可以通过例如8比特通用编码来实现无损压缩编码。分析和选择部分100中的辅助编码部分103对关于选择了双信号编码部分110和单信号编码部分120的哪一个的辅助信息进行编码,并将该信息作为辅助码Cd输出。将码序列Ca和Cb以及辅助码Cd、或者码序列Cc和辅助码Cd从输出部分104输出,以将其发送或记录在记录介质中。
图7示出了与图1所示的编码器相关的、根据本发明的解码器的实施例。
在输入端201处输入码序列,并且辅助码提取部分202从码序列的每个帧提取辅助码Cd。根据辅助码Cd来控制分离部分203。如果辅助码Cd指示双信号编码,则分离部分203分离经由输入端201接收的码序列Ca和Cb,并向双信号解码部分210传送所述码序列,或者如果辅助码Cd指示单信号编码,则分离部分203将码序列Cc从经由输入端接收的码序列分离,并向单信号解码部分220传送码序列Cc。
输入双信号解码部分210的输入码序列Ca在扩展部分21中被无损地扩展解码。这一无损扩展解码对应于图1所示的压缩部分13中执行的无损压缩编码,并用于执行无损压缩编码的逆处理。因此,这种无损扩展解码产生24比特整数格式的数字信号样本序列Y。另外,扩展部分21中的数字数量计算部分21A将在每个扩展解码的样本中跟随在最高有效的“1”之后的数字数量n确定为浮点格式的对应数字信号的尾数的整数部分的数字数量n,并输出数字数量n。该数字数量n被输入到扩展部分23。
扩展部分23无损地扩展解码输入码序列Cb。这种无损扩展解码对应于在图1所示的压缩部分17中执行的无损压缩编码。因此,在扩展部分23中,组配(assembly)部分23A根据数字数量n,将扩展解码后的比特的序列组配为对于每个样本的32比特浮点格式的差(误差)数字信号,并将所得到的数字信号作为差信号Z输出。
根据从扩展部分21提供的帧中的第一样本的数字数量n,如果第一样本的比特数量n不保持n=0,则组配部分23A从由扩展部分23扩展解码的比特序列的23比特尾数M提取最低有效的h(h=23-n)比特,并将所提取的h比特组配为32比特浮点格式的差信号z1,其由图6所示的第一样本z1的阴影部分构成。将符号S的1比特和指数E的8比特全部设置为0,并且构成对应于图6示出的整数部分的尾数M的部分M1的所有比特设置为0。对于下一个样本,根据数字数量n(n≠0),从扩展解码后的比特序列提取h(h=23-n)比特,以形成32比特浮点格式的差信号Z。类似地,图6示出的样本序列z2、z3、...被连续组配和输出。如果它保持n=0,则从扩展解码后的比特序列中提取指数E的8比特和尾数M的23比特,并将其组配为浮点格式的数字信号。解码后的差信号Z的符号比特S总是0,除了n=0的情况之外,其指数E的比特总是0,其尾数M的最低有效的h(h=23-n)比特可以是非0的,并且其尾数M的剩余比特总是0。因此,在严格的意义上,所述差信号不是采用浮点表示法。但是,在本说明书中,将所述差信号称为浮点格式的差信号。
浮点格式化部分22将来自扩展部分21的24比特整数格式的信号样本序列Y转换为32比特浮点格式的单样本序列Y’。组合部分24将信号样本序列Y’中的样本与来自扩展部分23的浮点格式的各个差信号Z组合,以再现浮点格式的信号样本序列X。所再现的信号样本序列X中的每个样本的符号与信号样本序列Y’中的对应样本的符号相同、即与解码后的整数格式的信号样本序列Y中的对应样本的符号相同。除了n=0的情况之外,样本序列X中的每个样本的指数E与信号样本序列Y’中的对应样本的指数E相同,样本序列X中的每个样本的尾数M的最高有效的n(n=23-h)比特与信号样本序列Y’中的对应样本的尾数M的最高有效的n比特相同,并且样本序列X中的每个样本的剩余的最低有效的h(h=23-n)比特与差信号Z的最低有效的h比特相同。
通过对应于在图1所示的压缩部分121中执行的压缩处理的无损扩展解码处理,将输入到单信号解码部分220的码序列Cc直接解码为浮点格式的原始信号样本序列X。
帧组合部分205将由双信号解码部分210和单信号解码部分220解码的浮点格式的信号样本序列X依序组合为浮点格式的信号样本序列。
[修改的实施例]
图8示出了图1所示的编码器的修改的实施例。该编码器不使用图1所示的分析和选择部分100。在这种情况下,双信号编码部分110和单信号编码部分120均对输入信号样本序列X进行编码,并分别将码序列Ca和Cb以及码序列Cc输入分析和选择部分100’,在分析和选择部分100’中,通过效率计算部分100c来计算每个帧的压缩效率。例如,对于每组码序列Ca和Cb以及码序列Cc,计算相关帧的总码长度,并且比较和确定部分100d将总码长度相互比较,并将较短总码长度的码序列确定为以较高效率压缩的码序列。确定结果被传送给辅助编码部分103,并且辅助编码部分产生码Cd。另外,根据比较结果来控制输出部分,并且输出部分选择性地输出码集(code set)(Ca,Cb,Cd)或码集(Cc,Cd)。剩余的配置与图1所示的配置相同,因此将省略对其的进一步描述。如图中的虚线所示,可以任选地按原样输出差信号Z,并且可以输出其压缩效率最高的码集(Ca,Cb,Cd)、(Ca,Z,Cd)和(Cc,Cd)之一。作为适合于图8所示的解码器,可以按原样使用图7所示的解码器。
在图1所示的编码器中,如果压缩部分17直接无损地压缩编码浮点格式的差信号Z,则图7所示的解码器中的扩展部分23不使用数字数量n,并直接解码浮点格式的差信号Z。在执行这种直接无损压缩编码和解码的情况下,整数格式化部分12可以不仅通过删截还可以通过舍入和上舍入来执行整数格式化。
[修改的实施例]
有时有这样的情况,其中,为方便起见,原始的24比特或16比特的整数值PCM信号被转换为浮点数,以形成要编码的序列,而不是使用普通浮点数信号来产生要编码的序列。在这种特殊浮点序列的情况下,上面参照第一实施例描述的可以是非0的比特消失。因此,来自差产生部分14的浮点格式的差(误差)信号Z的符号S、指数E和尾数M全部是0,并且不必发送差信号Z。在这种情况下,例如,使用两个比特作为辅助信息,并且仅仅需要通知解码器:如果这两个比特是“00”,则表示原始数字信号是16比特整数值信号样本,如果这两个比特是“01”,则表示原始数字信号是24比特整数值信号样本,而如果这两个比特是“10”,则表示原始数字信号是除了上述信号样本以外的信号样本。为此,在从压缩部分17输出的码序列Ca的前部增加2比特的辅助信息。只有在前两种情况下所述2比特的辅助码作为码序列Cb输出、或者在后一情况下辅助码与码序列Cb一起输出,才可以实现有效压缩。
[第二实施例]
根据本发明的第二实施例,浮点格式的信号样本序列X总是被转换为整数格式的信号样本序列Y。但是,通过被期望提供较高压缩效率的两种无损压缩编码处理之一来对浮点格式的差信号Z进行编码。具体地说,一种是如参照第一实施例描述的那样、根据整数格式的信号样本序列Y中的每个样本的数字数量来仅仅对浮点格式的差信号中能够取非0的比特进行无损编码的处理。另一种是直接对浮点格式的差信号进行无损压缩编码的处理。
图9示出了根据第二实施例的编码器的功能配置。在该图中,用与图1中的附图标号相同的附图标号来表示对应于图1示出的部分的部分,并且将避免对其描述的重复(这同样适用于其它实施例)。在第二实施例中,为了对差信号Z进行编码,提供了:压缩部分17,其使用整数值样本中跟随在最高有效的“1”之后的数字数量n;以及压缩部分131,其直接地无损压缩编码浮点格式的差信号Z。尾数M的整数部分的数字数量n(整数值样本中跟随在最高有效的“1”之后的数字数量)被从整数格式化部分12输入分析部分132。确定部分132a将数字数量n与参考值相比较,并且根据比较结果来控制选择部分133。差信号Z的尾数M的最高有效的n比特是“0”,并且当数字数量n增大时,压缩部分17的压缩效率增大。因此,如果数字数量n等于或大于参考值,则向压缩部分17提供差信号Z,或者如果数字数量n小于参考值,则向压缩部分131提供差信号Z。然后,将对应于由压缩部分17或131无损压缩编码的差信号Z的码序列Cb或Cb’输入到输出部分104。
如果数字数量n大,即如果幅度大,则如上面参照图5所述,每个差信号样本Z中能够取非0的比特数量h(=23-n)小,因此,可以有效地压缩差信号Z。另一方面,如果数字数量n小,即如果幅度小,则差信号Z中能够取非0的比特数量h大,因此,更有利的是使用压缩部分131,其例如通过典型的8比特通用编码来无损压缩编码浮点格式的差信号Z。例如,在每个差信号样本的23比特尾数的前部(或后部)加上一个比特“0”,以形成24比特的比特序列,所述比特序列被划分为3个码元(即编码单位),每个码元包含8比特,并且每个8比特码元被压缩编码。或者,可以在8比特的基础上仅仅分离在每个差信号样本的尾数中能够取非0的比特。如果所述比特的数量不能被8整除,则向比特序列添加所需数量的比特“0”,将所得到的比特序列划分为8比特的码元,并且对每个码元进行压缩编码。例如,如果在样本的尾数中能够取非0的比特数量是11,则向所述比特序列添加5个比特“0”,并将所得到的比特序列划分为两个8比特码元。
例如,如果整数格式的数字信号样本序列Y的幅度长度是16比特,则在确定部分132a中使用的参考值是10。与在第一实施例中的确定部分101b中使用的预定值一样,根据各种条件来确定参考值,以便实现高压缩效率。
可以对每个样本进行在压缩部分17和131之间的选择。或者,可以这样的方式来对于每个帧进行选择:分析部分132中的平均部分132b对于每个帧中的整数格式的信号样本计算跟随在最高有效的“1”之后的平均数字数量n,并且如果该平均数等于或大于参考值,则选择压缩部分17,或者如果该平均数小于参考值,则选择压缩部分131。在对于每个样本执行在压缩部分17和131之间的选择的情况中,例如,压缩部分17耦接输入帧中的每个所选样本中能够取非0的比特,并且执行所耦接的比特的熵编码。由于可以从在解码器一侧解码的整数格式的信号样本来确定数字数量n,因此即使当基于数字数量n来执行在压缩部分17和131之间的选择时,也不必发送指示已经选择了压缩部分17和131中的哪一个的辅助码。
图10示出了与图9所示的编码器相关联的解码器的实施例,其中,用与图7中相同的附图标号来表示对应于图7所示的解码器的那些部分的部分。被分离部分203分离的码序列Ca总是被输入到扩展部分21,并被解码和扩展为整数格式的信号样本序列Y。为了扩展码序列Cb,除了扩展部分23之外,还提供了扩展部分231。
将在来自扩展部分21的整数格式的数字信号样本中跟随在最高有效的“1”之后的数字数量n输入到分析部分232。分析部分232被配置为与图9所示的分析部分132相同。确定部分232a将数字数量n与参考值相比较,并且控制选择部分233,以便:如果数字数量n等于或大于参考值,则向扩展部分23提供码序列Cb,而如果数字数量n小于参考值,则向扩展部分231提供码序列Cb。如上面参照第一实施例所述,扩展部分23从解码和扩展后的比特序列中提取能够取非0的h比特,所述数量h通过数字数量n来确定,并且,组配部分23a将所提取的比特组配为浮点格式的差信号Z。
扩展部分231通过对应于在图9所示的压缩部分131中执行的处理的解码和扩展处理,将码序列Cb直接解码并扩展为浮点格式的差信号Z。在图9所示的分析部分132使用数字数量n的平均数的情况下,分析部分232中的平均部分232b计算与参考值相比较的数字数量n的平均数。根据比较结果,控制选择部分233来向扩展部分23或231提供码序列Cb。如在参照图7所述的情况中那样,扩展部分23将码序列Cb解码为由能够取非0的比特组成的比特序列。从该比特序列,使用数字数量n来再现差信号的尾数,然后,组配浮点格式的差信号Z。
如上所述,在本实施例中,虽然差信号Z是浮点格式的,但是由编码器中的差产生部分14产生的浮点格式的差信号Z的指数和符号的所有比特都是“0”。因此,指数和符号不被发送给解码器,并且该解码器从由扩展部分23解码的能够取非0的比特组配差信号Z的尾数,并随后通过向所述尾数添加由“0”比特构成的指数和符号比特“0”来组配浮点格式的差信号Z。
扩展部分231接收码序列Cb作为码序列Cb’,并执行作为在图9所示的压缩部分131中执行的编码的逆处理的解码处理,从而直接形成差信号Z。加法器24对这些差信号Z的任何一个与对应于整数格式的样本Y的浮点格式的样本Y’求和,从而形成浮点格式的信号样本X。
[修改的实施例]
图11示出了图9所示的实施例的修改,其中,用与图9中相同的附图标号来表示对应于图9的那些部分的部分。在此修改的实施例中,取代使用图9所示的分析部分132和选择部分133的是,在压缩部分17和131中执行压缩编码,确定哪个压缩部分可以实现具有较高压缩效率的编码,并且输出由较高压缩效率的压缩部分产生的码。具体地说,可以通过压缩部分17和131二者来无损地压缩编码差信号Z,可以将所得到的码序列Cb和Cb’输入到分析和选择部分134,效率计算部分134a和确定部分134b可以确定压缩部分17和131的哪一个可以对于相关帧以较高的压缩效率对差信号Z进行编码,并且,可以从输出部分104输出较高压缩效率的码序列,作为码序列Cb。在这种情况下,必须从辅助编码部分103输出辅助码Ce,所述辅助码Ce指示压缩部分17和131的哪一个已经产生了码序列Cb。
适合于图11所示的编码器的解码器是图10所示的解码器,其中去除了分析部分232并提供了由虚线示出的辅助解码部分234。辅助解码部分234将由分离部分203分离的辅助码Ce解码,并且根据解码结果,控制选择部分233向扩展部分23或231提供码序列Cb。剩余的操作与被适配为用于图9示出的编码器的解码器的操作相同。
图11所示的分析和选择部分134以及辅助编码部分103可以被添加到如图9所示配置的编码器中,使得有可能在基于数字数量n的确定和基于压缩效率的确定之间进行选择,并且,除了分析部分232之外,还可以在图10所示的解码器中提供辅助解码部分234,使得可以使用所述确定方法的任何一种。但是,在编码器和解码器中必须使用对应的确定方法。
[第三实施例1
本发明的第三实施例是图1所示的第一实施例和图9所示的第二实施例的组合。图12示出了根据第三实施例的编码器的功能配置。在该图中,对应于图1、8、9和11所示的那些部分的部分用与那些图中相同的附图标号来表示,并且将避免对其描述的重复。按照这个实施例,根据由选择部分102和133进行的选择的组合,选择并输出码序列集(Ca,Cb,Cd)、(Ca,Cb’,Cd)和(Cc,Cd)中的任何一个。
可以通过按照与如图11示出的实施例中的虚线所示相同的方式来另外提供图8示出的压缩部分121、并通过分析和选择部分134选择具有最高压缩效率的码序列集之一,来进行从这三个码序列集中的选择。
图13中示出了根据第三实施例的解码器。在该图中,用相同的附图标号来表示对应于图7和图10中示出的那些部分的部分,并且将省略对其的重复描述。
[第四实施例]
根据上述第一实施例,提供了一种编码器,其通过删截浮点格式的输入信号样本X的小数部分而将其转换为整数格式,并且利用在差信号Z的尾数中的整数部分的所有比特都是“0”的事实来仅仅对差信号Z中能够取非0的比特进行编码,从而提高压缩效率。另外,根据第二实施例,提供了一种编码器,其选择在仅对能够取非0的比特进行编码的情况中的压缩效率和在对所有比特进行编码的情况中的压缩效率中的较高的一个。根据第四实施例,除了删截小数点之后的部分之外,还删截整数部分的预定数量的比特以产生整数值信号样本Y。在下述示例中,将示出这样的情况,其中,在通过删截跟随在小数点之后的比特而进行的向16比特整数值的转换中,还删截8比特。但是,本发明可以被应用到向由17比特到23比特构成的整数值的任何转换。
根据第四实施例,可以通过相同的处理来对浮点格式的输入信号样本X进行编码,而不管从中得到输入信号样本X的原始信号是浮点信号、24比特整数值信号还是16比特整数值信号。但是,为了便于解释操作原理,将按顺序描述从浮点信号得到输入信号样本X的情况、从包含一个符号比特的24比特整数值信号得到输入信号样本X的情况、以及从包含一个符号比特的16比特整数值信号得到输入信号样本X的情况。
参考图14A,将描述从浮点信号得到的输入信号样本X向16比特整数值的转换和差信号Z的产生。在该图中,值“x”可以是“0”或“1”(即,值“x”可以是非零的)。“MX”表示浮点格式的输入信号样本X的尾数的23比特,并且“PD”表示小数点的位置,所述小数点指示在由最高有效的n(n=E-E0)比特组成的整数部分和小数部分之间的边界。通过将样本X的指数E降低到E-8,尾数MX的小数点PD的位置向最高有效比特位置移动8位。因此,在图14A所示的示例中,尾数MX的最高有效的2(n-8=2)比特“xx”构成移位后的尾数的整数部分。然后,在构成整数部分的2比特的前部添加比特“1”,并将所得到的比特序列“1xx”用作16比特整数值信号样本Y的最低有效比特。
将16比特整数值信号样本Y中的每个样本向最高有效比特位置移动8位,也就是说,在16比特整数值信号样本Y的后部添加8个比特“0”,然后,将所得到的信号样本序列转换为浮点格式的信号样本序列Y’。因此,所得到的浮点格式的信号样本序列Y’的指数E已经被加上了8,并且等于输入信号样本序列X的指数E。通过以下方式来形成信号样本序列Y’的尾数MY’:将已经向最高有效比特位置移动8位的整数值信号样本序列Y的、跟随在最高有效的“1”之后的整数部分的比特、即本示例中的2比特“xx”设置为最高有效比特,并且将所有随后的比特设置为“0”。为方便起见,图14A示出了在还要移动8位的样本序列Y中跟随在最高有效的“1”之后的整数部分和从转换产生的浮点格式的信号样本序列Y’的尾数MY’之间的关系。差信号Z的尾数MZ是在尾数MX和尾数MY’之间的差。差信号Z的尾数MZ的最高有效的(n-8)比特或本示例中的最高有效的2比特是“00”,并且随后的比特(小数部分)等于尾数MX的各个对应比特。也就是说,构成尾数MZ的整数部分的、跟随在最高有效比特“xx”之后的所有比特可以是非0。
对于差信号Z,仅必须对可以是非0的尾数M的最低有效的23-(n-8)比特进行编码。总是被设置为0的尾数MZ的最高有效的(n-8)比特的数量与在接收侧解码的整数值信号样本序列Y中的、跟随在最高有效的“1”之后的比特的总数量相同。如图15A所示,当整数部分的比特数量(n-8)增大时,由可以是非0的比特构成的尾数M的部分减小。
图14B示出了从24比特整数值信号得到浮点格式的输入信号样本序列X的情况。因此,样本序列X的尾数MX与图14A所示的尾数MX不同之处在于:跟随在小数点PD之后的所有比特都是“0”,如图14B所示。此外,在图14B中,输入信号样本X的指数E被减小为E-8,从而将小数点PD的位置向最高有效比特位置移动8位,因此,所得到的16比特整数值信号样本序列Y与图14A所示的情况中相同。因此,从整数值信号样本序列Y转换的浮点格式的信号样本序列的尾数MY’也与图14A所示的情况中相同。
但是,差信号的尾数MZ是尾数MX和MY’之间的差,并且如图14B所示,差信号Z的尾数MZ的整数部分是“00”,并且随后的8比特表示可以是非0的比特的范围,并且进一步跟随这8比特的比特全部是“0”。当构成整数部分的比特的数量增大时,可以是非0的比特的范围向最低有效比特位置移动,如图15B所示。
图14C示出了从包含一个符号比特的16比特整数值信号样本得到浮点格式的输入信号样本的情况。因此,在23比特的尾数MX中,跟随在小数点PD之后的8比特全部是“0”,并且跟随在这8比特之后的比特也全部是“0”。当跟随在小数点之后的数字数量h根据h=23-n而随着n值变化时,图14C示出的情况与图14B示出的情况不同之处在于数字数量h不会变为小于8。
在图14C中,输入信号样本序列X的指数E被减小为E-8,从而将小数点PD的位置向最高有效比特位置移动8位,并且按照与图14A和14B所示相同的方式来使用移位后的尾数的整数部分“xx”产生16比特整数值信号样本序列Y。因此,从样本序列Y转换的浮点格式的样本序列的尾数MY’也与在图14A和14B所示的情况中相同。另外,如图14B中所示的情况那样,差信号Z的尾数MZ的整数部分的最高有效的(n-8)比特全部是“0”,随后的8比特表示可以是非0的比特的范围,并且进一步跟随在这8比特之后的比特全部是“0”。此外,在此情况中,如图15B所示,当整数部分的数字数量(n-8)增大时,尽管数字数量不会变得小于8,但是跟随在可以是非0的这8比特之后的数字“0”的数量减少。
如同可以从以上描述明白的那样,无论浮点格式的输入信号样本是从24比特整数值信号、16比特整数值信号还是浮点信号得到的,都可以通过8比特删截、借助于以下方式来产生16比特整数值信号样本Y:通过将输入信号样本X的指数E减小为E-8而将小数点向最高有效比特位置移动8位,在构成尾数MX的整数部分的最高有效的(n-8)比特、或在图中示出的示例中的比特“xx”的前部添加“1”,并且采用所得到的整数值“1xx”作为16比特整数值信号样本Y的最低有效比特。另外,可以通过将输入信号样本X的尾数MX的最高有效的(n-8)比特设置为“0”来产生差信号Z的尾数MZ。
可以按照与图1所示的实施例相同的方式来压缩编码如此获得的16比特整数值信号样本Y。另一方面,对于差信号Z,不对总是为“0”的尾数MZ的最高有效的(n-8)比特进行编码,并且分别压缩编码可以是非0的随后的8比特和进一步跟随在这8比特之后的剩余的(23-n)比特。
在上述示例中,通过将23比特的尾数中的小数点向最高有效比特位置移动8位,并删截跟随在所移位的小数点之后的比特,来产生16比特整数值。通常,可以通过将输入信号样本的指数E减小到E-m,并采用所得到的尾数MX的最高有效的(n-m)比特作为整数部分,来删截m比特(m:落入范围22≥m≥8的任何整数)。另外,如果不对总是为“0”的最高有效的(n-m)比特进行编码,并且分别对可以是非0的随后的m比特和进一步跟随在这m比特之后的剩余(23-n)比特进行编码,则可以高效地对差信号Z的尾数进行编码。
图16示出了编码器,其中,用相同的附图标号来表示对应于图12所示的那些部分的部分。如上面参照图14A、14B和14C所述,数字调整部分31将从选择部分102接收的、浮点格式的输入信号样本序列X的指数E减小为E-8,从而将小数点向最高有效比特位置移动8位。整数格式化部分12删截跟随在已经移动8位的小数点之后的小数部分,并在所得到的整数部分的前部添加“1”,以形成整数格式的16比特(=24-8)信号样本序列Y。压缩部分13无损地压缩信号样本序列Y,并输出码序列Ca。
逆数字调整部分32沿与数字调整部分31进行的移位相反的方向,将16比特整数格式的信号样本序列Y移动8位,即,在16比特信号样本Y的后部插入8比特“0”,以便将整个信号样本Y向最高有效比特位置移动8位,从而形成整数格式的24比特信号样本。浮点格式化部分15将所得到的24比特整数格式的信号样本转换为浮点格式的信号样本序列Y’。减法部分16确定在浮点格式的信号样本序列Y’和输入信号样本序列X之间的差,从而产生浮点格式的差信号Z。实际上,不执行由逆数字调整部分32、浮点格式化部分15和减法部分16进行的这种处理,并且差产生部分14可以简单地使用从整数格式化部分12接收的尾数的整数部分的数字数量n,来在n≠0的情况下提取每个输入信号样本X的尾数MX的最低有效的8+h(h=15-n)比特,或者在n=0的情况下提取指数E和尾数MX。如图12所示的情况中那样,根据分析部分132的输出,将差信号Z传送给压缩部分17或131。
压缩部分17包括分配器(divider)33以及两个压缩器17h和17c。将差信号Z输入到分配器33。分配器还从整数格式化部分12接收移位后的每个样本X的尾数的整数部分的数字数量n。在n≠0的情况下,将每个差信号样本Z划分为数字子集Zh和数字子集Zc,所述数字子集Zh包含通过数字数量n确定的能够取非0的比特,即包含最低有效的h(h=15-n)比特,所述数字子集Zc包含通过数字样本序列Y从24比特整数格式向16比特整数格式的转换确定、或者通过整数格式的信号样本Y的比特数量确定的能够取非0的比特,即包含第(h+1)到第(h+8)最低有效比特。在n=0的情况下,每个差信号样本Z被划分为由指数E的8比特和尾数的最低有效的(23-8)比特构成的数字子集Zh、以及由尾数的最高有效的8比特构成的数字子集Zc。压缩器17h和17c通过熵编码等而无损地压缩编码数字子集Zh和Zc,并且分别输出码序列Cb1和Cb2。
因此,压缩器17h主要接收和无损压缩编码可以是非0的尾数M的最低有效比特。如果原始数字信号是24比特或16比特的整数值信号,则除了如图14B和14C所示的n=0的情况之外,在输入到压缩器17h的数字子集Zh中的最低有效的h个比特全部是“0”,因此,可以实现对其的高效压缩。
如图14A、14B和14C所示,压缩器17c无损地压缩编码可以是非0的8个最低有效比特、即第(h+1)到第(h+8)最低有效比特,而不管输入信号样本X是从一般的浮点信号、24比特整数值信号还是16比特整数值信号得到的。与在差信号Z中可以非0的所有比特被图1所示的压缩部分17集体压缩编码的情况相比,这使得能够提高总压缩效率。如可以从图16看出的那样,压缩器17c和17h的使用不仅可以应用到根据图12示出的实施例的编码器,还可以应用到根据图1、8、9和11中示出的每个实施例的编码器。
图17示出了与图16所示的编码器相关联的解码器的实施例,所述解码器对应于图13所示的解码器的那些部分的部分用相同的附图标号来表示。在分离部分203按照从辅助码提取部分202接收的辅助码Cd而输出码序列Ca、Cb1和Cb2的情况下,扩展部分21无损地将码序列Ca扩展解码,以再现16比特整数格式的信号样本序列Y。扩展部分23包括两个扩展器23h和23c以及组合器41。码序列Cb1和Cb2分别被扩展器23h和23c无损地扩展解码,并且所得到的比特序列Bh和Bc被输入到组合器41。组合器41还接收在由扩展部分21解码的每个样本的整数部分中、跟随在最高有效的“1”之后的比特的数量n。在n≠0的情况下,从自扩展器23h输出的比特序列Bh提取h(=15-n)比特,从自扩展器23c输出的比特序列Bc提取8比特,并组合所述h比特和8比特,以分别构成尾数M的最低有效的h比特和最高有效的8比特。对于以下示例,类似地,根据数字数量n,从比特序列Bh提取h比特,从比特序列Bc提取8比特,并且组合所提取的比特。在n=0的情况下,从比特序列Bh提取作为指数E的8比特和15(=23-8)比特,并从比特序列Bc提取8比特。将从比特序列Bc提取的8比特插入到来自比特序列Bh的15比特的前部,从而形成23比特的尾数。
逆数字调整部分42在解码后的16比特整数格式的信号样本Y的后部插入8个比特“0”,以便将信号样本Y向最高有效比特位置移动8位,从而产生24比特整数格式的信号样本。然后,浮点格式化部分15将该信号样本转换为32比特浮点格式的信号样本序列Y’。组合部分24组合信号样本序列Y’和差信号Z,以便再现浮点格式的信号样本序列X。在分离部分203按照辅助码Cd输出码序列Cc的情况下,扩展部分221将码序列Cc解码,从而直接再现数字样本序列X。
在以上描述中,整数格式的信号样本序列Y是16比特样本或24比特样本。但是,在信号样本Y中包含的比特数量可以是等于或小于24的任何数量m,并且根据m的值,可以确定每个整数格式的信号样本Y中能够取非0的数字的数量。而且,在上述示例中,可以将浮点格式的输入信号样本序列X划分为例如1024个样本的帧或者连续样本的块,并且可以对每个这样的划分单位(divisional unit)执行压缩编码。在划分单位的基础上执行压缩编码的情况下,可以对每个划分单位适当地确定被转换为整数格式的比特的数量,并且可以输出指定该比特数量的辅助码。
作为图16所示的编码器中的压缩部分17,可以使用图1所示的第一实施例中的压缩部分17,并且作为图17所示的解码器中的扩展部分23,可以使用图7所示的扩展部分23。在这种情况下,编码器执行16比特整数格式化。但是,差信号Z不会被划分为包含比特“0”的部分和包含能够取非0的比特的部分,并且如参照图6所述,仅对尾数的最低有效的h(=23-n)比特进行编码。因此,解码器中的扩展部分23将码序列Cb解码,以再现这h比特,并在这h个比特的前部插入n个比特“0”以产生所述尾数。
[第五实施例1
在上面参照图1、8、9、11和12描述的实施例中,例如,压缩部分17可以配置为:对每个帧,沿时间轴方向对从差信号Z提取的比特序列执行无损压缩编码。在下面,将参照图18来描述这种编码方法。
图18示出了一个帧由1024个样本组成的情况。另外,对于每个样本编号i(i=0到1023),示出了在输入信号样本序列X中的样本的尾数M的n比特整数部分的整数值(n=E-E0)、及其h比特小数部分的比特序列。如在第一实施例中参照图6所述的那样,每个差信号样本Z的尾数M的整数部分的最高有效的n比特全部是“0”,并且小数部分的最低有效的h(=23-n)比特是可以为非0的比特。在图18所示的编码方法中,差信号的尾数的最低有效的h比特被排列为它们各自的最高有效比特MSB彼此对齐,在时间轴方向上提取其每一个定位在每个样本中沿幅度方向的比特位置j处的比特,以形成比特序列Ej,并对该比特序列Ej进行编码。
小数部分的比特长度h(=23-n)随着样本而变化。因此,在时间轴方向上扫描沿幅度方向的比特位置j(j=0到hmax-1;hmax表示在相关帧中的样本的小数部分的最大比特长度)处的比特时,如果遇到在比特位置j处没有比特的样本,则跳过该样本。可以按照下面所述来确定是否跳过样本i:在样本i的沿幅度方向的比特位置j处,将该样本的小数部分的比特长度h与值j相比较,并且如果h≥j,则提取该比特位置处的比特,而如果h<j,则跳过该样本,并且进行对于下一样本(i+1)的相同确定。
例如,在时间轴方向上扫描从MSB起的比特位置j=17处的比特时,其小数部分的比特长度h是23-6=17的样本i=0具有在比特位置j处的最低有效比特。但是,其小数部分的比特长度是23-8=15的样本i=1不具有跟随在第15MSB之后(或比特位置j=14)的比特。因此,跳过样本i=1。所提取的第15比特对于所述帧被分组,以形成比特序列E16,并且对比特序列E16进行熵编码。对其它比特位置j的每个执行相同的处理。作为熵编码,因为可以提供分层(layering),所以算术编码或Golomb编码是有益的。
在解码器一侧,可以从每个解码后的整数值信号样本Y中的、跟随在最高有效的“1”之后的比特的数量n来确定整数部分的数字数量n,因此,可以确定在所述帧中每个差信号Z的尾数的小数部分的比特长度h(=23-n)。因此,对于每个解码后的比特序列Ej,依序扫描帧中的样本i的比特,并且将沿幅度方向的比特位置j与每个样本的比特长度h相比较。如果j≤h,则可以通过向比特位置(i,j)分配在比特序列Ej中的比特的值来再现图18所示的尾数的小数部分。然后,在每个样本的小数部分的前部,可以添加与所述样本相关联的n个比特“0”,从而再现差信号的23比特的尾数M。
图19示出了应用了图18所示的编码方法的、图1、8、9、11和12所示的压缩部分17的功能配置。压缩部分17从差产生部分14(例如,参见图1)接收差信号Z的样本z0-z1023的一个帧,并将它们各自的整数部分的数字数量n0-n1023存储在存储部分17B中。根据每个样本i的数字数量ni,控制部分17C将除了最高有效的n比特之外的、输入差信号Zi的尾数的h比特整数部分(h=23-n)置于缓冲器17A中。这样,获得了如图18所示的尾数的整数部分的阵列。然后,控制部分17C在时间轴方向上扫描沿幅度方向的比特位置j(=0到hmax-1)处的样本,提取满足h≥j的关系的比特以形成比特序列Ej,并且向编码部分17D提供比特序列Ej。缓冲器17A、存储部分17B和控制部分17C构成比特序列产生部件。编码部分17D无损地压缩编码比特序列Ej,并输出码Cb。
图20示出了充当与图19所示的压缩部分17相关联的差信号解码部件的、图7、10和13所示的扩展部分23的功能配置。解码部分23D将所接收的码Cb解码以再现比特序列Ej。另一方面,从数字计算部分21A(例如,参见图7)接收的、一个帧的整数部分的数字的数量n0-n1023被存储在存储部分23B中,并且控制部分23C将从比特序列Ej提取的一个比特分配给每个比特位置(i,j),对于所述比特位置(i,j),满足关于每个样本的小数部分的数字数量hi(=23-ni)的关系hi≥j,并且,控制部分23C在缓冲器23A中存储所得到的比特排列,并对所有样本重复相同的处理,从而再现图18所示的小数部分的比特阵列。一旦完成了一个帧的所有比特序列Ej(j=0到hmax-1)的比特排列,控制部分23C就在缓冲器23A中每个样本i的小数部分的前部增加ni个比特“0”,以再现差信号的尾数,并且向组合部分24(图7)提供差信号Z。缓冲器23A、存储部分23B和控制部分23C构成重建部件。
在图18所示的差信号的尾数的编码中,沿时间轴方向将比特位置j处的比特分组为比特序列Ej,并对比特序列Ej进行编码。下面,将描述另一种扫描比特位置的方法。在图21中,在帧的方向上,在沿幅度方向的预定比特长度上,按照比特位置j+1处的比特的第一个跟随在比特位置j处的比特的最后一个之后这样的方式,来连续地扫描和收集比特,从而产生多个比特序列E2’、E18’等。因此,比特序列Ej的数量小于小数部分的最大比特数量hmax。此外,在此比特扫描中,跳过满足关系hi<j的任何比特位置。此外,在这种比特扫描方法的情况中,可以根据hi=23-ni来确定每个样本i的小数部分的数字数量。因此,在解码器一侧,可以通过按照与上面所述相同的方式来分配比特序列Ej中的比特来再现小数部分的比特排列。
图22示出了另一种比特扫描方法。按照图21所示的方法,按照比特位置j+1处的比特的第一个跟随在比特位置j处的比特的最后一个之后这样的方式,来执行在帧方向上的、在沿幅度方向的多个比特长度上的连续比特扫描。然而,根据图22所示的方法,在多个比特长度上的幅度方向上、从其MSB开始扫描样本i的比特,使得样本i+1中的多个比特长度中的第一比特跟随在样本i中的多个比特长度中的最后一个比特之后。重复这样的扫描,直到到达帧中的最后样本为止。同样,在这个示例中,跳过满足条件hi<j的任何比特位置。
图23是用于图解在图18所示的比特扫描中的例外操作的图。在删截使整数部分为0的情况下,即在E-E0的值为负的情况下,必须编码和发送包括指数的所有32比特。因此,如图23所示,在样本i=3的整数部分是0(即n=0)的情况下,图1所示的压缩部分17在尾数的比特扫描中不考虑样本i=3,并且对样本i=3单独进行编码。
在输入信号样本序列X是从整数格式转换的浮点格式的信号样本序列、并且原始整数值的数字数量与删截后的整数值的数字数量不同的情况下,也就是说,在从24比特整数值信号样本序列直接转换的浮点格式的信号样本序列通过如参照图14B和15B所述的删截而被编码为16比特整数值信号样本序列的情况下,差信号的尾数的小数部分的最高有效的8比特可以是非0的,尽管剩余的比特是0。如果通过例如图23所示的方法来将这种输入信号样本序列X编码,则比特序列E0至E7可以是非0的,尽管随后的比特序列E8至E21全是“0”,使得可以实现高效编码。将容易理解,如果使用图21和22所示的方法,则可以类似地实现高效编码。
如根据需要在音频信号处理中执行的那样,例如,如果将24比特的整数值信号样本增加1.5倍(fold)(或二进制表示法中的1.1倍),则所得到的信号样本被转换为浮点格式的信号,并且所得到的信号通过删截而被编码为16比特的整数值信号,将24比特整数值信号样本增加1.5倍使至少第一小数位置是可以为非0的比特。具体地说,在图14B所示的样本X的尾数MX中、跟随在小数点PD之后的第一位置可以是非0的。因此,可以是非0的差信号的尾数MZ的比特向最低有效比特位置增加1比特到9比特。同样,在这种情况下,跟随在这9比特之后的比特全部是“0”,使得可以使用图18、21、22和23所示的方法来实现高效编码。此外,如果所有的比特不都是0,则非0(即“1”)的发生频率可随着数字位置变化,并且在这种情况下,可以对所述变化适当地应用无损编码。
在任何情况下,在从MSB一侧计数的差信号的尾数的小数部分中能够取非0的数字的数量是相等的,因此可以实现高效压缩编码。
已经在将所述方法应用到图1所示的第一实施例的假设下描述了图18至23中示出的尾数编码方法。但是,所述方法可以被应用到如参照图14A至17所述的通过删截来形成16比特整数值的情况。在这种情况下,图16所示的压缩部分17被如图19所示重新配置,并且图17所示的扩展部分23被如图20所示重新配置。
另外,可以根据小数部分的数字数量来重新布置样本以进行扫描。例如,将小数部分由23个数字构成的样本分组在一起,然后将小数部分由22个数字构成的样本分组在一起,并且以相同的方式将具有由更少数量的数字组成的小数部分的样本分组在一起。可以以唯一的方式来实现样本的逆向布置,而不需要任何附加信息,使得可以简单地管理要扫描的样本的数量。
在图18所示的示例中,通过在时间轴方向上扫描在每个帧中的差信号Z的样本z的尾数M中能够取非0的比特,产生比特序列Ej,每个样本包含能够取非0的h比特,并且每个样本的h比特的MSB与其它样本的MSB对齐。但是,如图24所示,可以执行类似的扫描,并且每个样本的能够取非0的h比特的LSB与其它样本的LSB对齐。在这种情况下,可以如图19所示相同地配置压缩部分17,并且仅仅修改控制部分控制扫描的方式。另外,可以如图20所示相同地配置解码器中的扩展解码部分23。
[第六实施例]
图25示出了在上述图1、8、9、11和12中示出的编码器中的压缩部分17的另一实施例。在这个实施例中,通过布置包含能够取非0的比特的小数部分并且其LSB彼此对齐而形成整数值样本序列,并且通过在样本序列方向上消除冗余来执行压缩编码。如图25中所示,压缩部分17包括小数部分提取部分17E、帧内(in-frame)平均部分17F、减法器17G以及编码部分17D1和17D2。小数部分提取部分17E提取由从差产生部分14接收的每个差信号样本Z的尾数M的最低有效的h比特(h=23-n)组成的小数部分,作为一个整数值样本F。帧内平均部分17F计算每个帧的所提取的整数值样本的平均Fave,并且编码部分17D1对平均Fave进行编码,并输出所得到的码序列Cb1。减法器17G将平均Fave和每个整数值样本F之间的差确定为误差样本ΔF,并且,编码部分17D2对误差样本ΔF进行预测编码,对预测误差进行无损压缩编码,并输出所得到的码序列Cb2。预测参数可作为辅助信息而单独发送,或者可被自适应地更新,并在编码器和解码器之间保持一致性。
图26示出了与图25所示的编码器相关联的解码器中的解码和扩展部分23的配置。这一配置可被应用到图7、10或13所示的解码器中的扩展部分23。根据这个实施例,扩展部分23包括扩展器23B和23C、加法器23D以及组配部分23A。扩展器23B扩展解码所接收的码序列Cb1,并输出每个帧的平均Fave。扩展器23C扩展解码所接收的码序列Cb2以确定预测误差,执行预测解码并输出误差样本ΔF。加法器23D对平均Fave和误差样本ΔF求和以再现整数值样本F。组配部分23A使用来自数字计算部分21A的数字数量n而从整数值样本F组配差信号Z。
如果分别用图25所示的压缩部分17和图26所示的扩展部分23来代替图16所示的压缩部分17和图17所示的扩展部分23,则这个实施例可以被应用到图16和图17所示的实施例。
[第七实施例]
图27示出了根据第七实施例的压缩部分的配置,其被应用到图1、8、9、11和12示出的压缩部分17。图18到23示出了对通过利用各种扫描方法扫描能够取非0的比特的阵列而产生的比特序列进行编码的方法。但是,根据第七实施例,选择所述多种扫描方法中最佳的一种来对所输出的比特序列进行编码。
如图19中的情况所示,存储部分17B存储从整数格式化部分12(例如,参见图1)接收的差信号样本的数字数量n(n0、n1、n2、...、n1023)。然后,在控制部分17C的控制下,在差信号Z的尾数M中可以是非0的最低有效的h(=23-n)比特被存储在缓冲器17A1、17A2和17A3中。在每个缓冲器中,存储所述比特,并且每个差信号Z的MSB与其它差信号Z的MSB对齐,例如如图18所示。在控制部分17C的控制下,在时间轴的方向上,对于沿幅度方向的每个比特位置,扫描存储在缓冲器17A1中的比特阵列中的比特,以产生比特序列Ej1,如图18所示。在时间轴方向上,在沿幅度方向的每个预定比特长度内,扫描存储在缓冲器17A2中的比特阵列中的比特,以产生比特序列Ej2,例如如图21所示。在幅度方向上,在沿每个样本的幅度方向的每个预定比特长度内,扫描存储在缓冲器17A3中的比特阵列中的比特,以产生比特序列Ej3。
对于每个帧,控制部分17C根据“1”的计数,确定通过所述扫描方法产生的每个比特序列Ej中的比特的值的偏移,确定每种扫描方法的比特“1”的偏移程度,确定哪种扫描方法提供最高的偏移程度(或最低的熵),然后向选择部分17E提供选择信号SL,所述选择信号SL指明对应于具有最高偏移程度的扫描方法的缓冲器中的比特序列Ej。在编码部分17D中对所选择的比特序列进行编码,并且输出所得到的码序列Cb。
通过下面的公式来表示对应于帧中的比特“1”的偏移的熵:
∑j-mj(kj/mj)log2(kj/mj)+(1-(kj/mj))log2(1-(kj/mj))) (2)
其中,“mj”表示每个比特序列Ej中的比特数量,并且“k”表示比特序列中的“1”的数量。“∑j”是指所有可能的“j”值的和(即比特序列的数量)。当比特“1”的偏移增大时,熵减小。熵取决于如何扫描帧的比特阵列或者如何将比特阵列划分为比特序列。因此,根据第七实施例,针对每个帧选择用于能够取非0的比特的最佳扫描方法。
图28示出了被适配用于图27所示的压缩部分17的、图7、10和13所示的压缩部分23的配置。除了另外提供解码部分23E以外,与图20所示的扩展部分23相同地配置扩展部分23。解码部分23E将辅助码Ce解码以再现选择信号SL,并向控制部分23C提供选择信号SL。根据对应于所提供的控制信号的扫描方法和数字数量,控制部分23C按照再现各个样本的能够取非0的比特序列这样的方式,将从解码部分23D输出的比特序列Ej存储到缓冲器23A中。然后,在每个样本的能够取非0的hj比特的前部增加ni个比特“0”,以形成尾数M,并且输出尾数M,作为差信号Z。
图29示出了图27所示的压缩部分的修改,其中,分别通过编码部分17D1、17D2和17D3对来自缓冲器17A1、17A2和17A3的比特序列Ej1、Ej2和Ej3进行编码。分析部分17G确定哪个输出码具有最小信息量,并且不仅向选择部分17F还向编码部分17E提供指定输出码的选择信号SL,以获得码Ce。选择部分17E将由选择信号指定的最小信息量的码序列作为码序列Cb而与码Ce一起输出。作为与图29所示的压缩部分17相关联的解码器中的扩展部分23,可以按原样使用图28所示的扩展部分23。
取代图11所示的压缩部分17和131,可以使用图30所示的配置。该配置包括可变比特压缩部分17-1、可变比特提取部分17-2、尾数压缩部分131-1和尾数提取部分131-2。可变比特压缩部分17-1根据数字数量n从差信号Z的尾数M中提取和压缩编码能够取非0的h(=23-n)比特(可变比特),并输出码Cb。可变比特提取部分17-2从差信号Z的尾数M中提取包含能够取非0的h比特的比特序列MD,并输出该比特序列而不进行处理。尾数压缩部分131-1压缩编码差信号Z的尾数M,并输出码Cm。尾数提取部分131-2提取差信号Z的尾数M,并输出尾数M而不进行处理。效率估计部分134计算Cb、MD、Cm、M和Z的每一个的信息量,并确定它们中具有最小信息量的一个。指定所确定的那个的选择信号SL被辅助编码部分103编码,并且所得到的码Ce被提供给输出部分104。输出部分104选择由选择信号SL指定的Cb、MD、Cm、M和Z之一,并将其作为码Cb与码Ce一起输出。
图31示出了与图30所示的配置相关联并且可以代替图10所示的解码器中的扩展部分23和231、选择部分233以及辅助解码部分234而使用的配置。在此,分析部分232不是必需的。在图31中,解码部分234将码Ce解码为选择信号SL,并且,根据选择信号SL,控制选择部分233。具体地说,根据选择信号SL,作为输入码Cb,可变比特序列的压缩码Cb被提供给解码部分23,可变比特序列(能够取非0的比特的序列)MD被提供给组配部分23a,尾数M的压缩码Cm被提供给解码部分231,或者按原样输出尾数M。解码部分23将码序列Cb解码以产生由能够取非0的比特组成的比特序列MD,并向组配部分23a提供比特序列MD。根据数字数量n,组配部分23a在比特序列MD的前部增加n个比特“0”,以再现尾数M。
[修改的实施例]
在图5中,通过删截、即按照整数值的绝对值尽可能小这样的方式,将输入的浮点信号样本序列X中的每个样本转换为整数值。但是,如果使得从浮点格式化部分15的转换产生的浮点信号样本序列Y’中的每个样本的指数等于输入的浮点信号样本序列X中的对应样本的指数,则可以使用舍入来代替删截。如图32所示,删截分别将从0到1、从1到2、...、以及从8到9连续变化的输入浮点值改变为整数值0、1、2、...、和9。因此,通过从输入浮点值减去所述整数值而产生的误差信号、即差信号Z的尾数总是负的。另一方面,如图33所示,舍入分别将从0到0.5、从0.5到1.5、从1.5到2.5、...、以及从8.5到9.5连续变化的输入浮点值改变为整数值0、1、2、...、和9。因此,通过从输入浮点值减去再次从整数值转换的浮点值而产生的误差信号、即差信号Z可以是负的。在整数格式化中,如果在2的幂的值中出现上舍入,则从整数值样本序列再次转换的浮点数字信号样本序列Y’中的每个样本的指数与在输入浮点数字信号样本序列X中的对应样本的指数不同,并且每个样本的尾数与输入浮点信号样本序列X中的对应样本的尾数完全不同。这对于压缩是不利的。
因此,如下所述来修改舍入。如图34所示,分别将从0到1、从1到2、从2到2.5、从2.5到4、从4到4.5、从4.5到5.5、从5.5到6.5、从6.5到8、从8到9.5等连续变化的输入浮点值改变为整数值0、1、2、3、4、5、6、7、8、9等。也就是说,如图中的箭头所示,如果尾数M的n比特的整数部分MI取值2的幂之前的2n-1,则执行删截而不是舍入。否则,执行舍入。尽管另外需要1比特来指示用于指明误差信号(差信号)Z是正还是负的符号,但是因为被舍入的样本的误差等于或小于0.5,所以尾数的最大数字数量减少1比特。因此,包括符号比特的尾数的数字数量与删截的情况相同。然而,当整数部分MI取值2n、即2的幂时,误差的尾数的数字数量可以减小1,而当整数部分MI取值2n-1时,只有当误差为正时才发生一直到1的误差。因此,必须专门处理这两种情况。
也就是说,在每个差信号样本Z中能够取非0的比特的前部增加符号比特,并且如果整数部分MI取值2n-1,则将指定能够取非0的比特数量h的码增加到所述比特上,并将所得到的比特序列压缩编码,并且,解码器解码和扩展码序列Cb,并将所得到的比特序列分离为子序列,其每一个包含多个比特,所述比特的数量是从整数部分的比特数量n确定的能够取非0的比特数量h与符号比特的1比特的总和。如果整数部分MI取值2n-1,则符号比特、指定能够取非0的比特数量h的码的比特数量、以及通过所述码指定的比特数量h被分离,以确定差信号Z的一个样本。在仅对能够取非0的比特进行编码的情况下,当幅度增大时,效率提高。当幅度增大时,整数部分取值2n-1的次数、即例外处理发生的次数减少,使得可以整个地提高压缩效率。
使用上述修改的舍入可以使得浮点输入和整数部分之间的误差能量(error energy)低于在使用删截情况下的误差能量,因此可以提高整数部分序列的预测效率。另外,因为只有能够取非0的比特必须被编码,所以可以提高通过压缩部分17进行的差信号Z的压缩的效率。
例如,如图3中的交错的长短虚线所示,在步骤S2之后,确定输入的浮点信号样本序列X的整数部分MI是否是2n-1。例如,确定尾数M的最高有效的n(=E-E0)比特是否全是“1”。如果所有比特都是“1”,则意味着整数部分MI取在2的幂之前的值,处理继续进行到步骤S3,在此执行删截。如果最高有效的E-E0比特不全是“1”,则处理继续进行到步骤S6,在此执行通过修改的舍入进行的整数格式化。
[修改的实施例]
在图9所示的第二实施例中,根据由分析部分132进行的确定,在由压缩部分17进行的压缩编码和由压缩部分131进行的压缩编码之间进行选择。为了实现正确的选择,如图11所示,压缩部分17和131均执行编码,并且采用所得到的具有更高压缩效率的码之一。虽然由压缩部分131进行的压缩编码是准确的,但是差信号Z的直接压缩编码需要较大的处理量和处理时间。因此,可以使用下述方法。
例如,作为在字节(8比特)的基础上估计通用编码效率的方法,存在一种计算每个字节的熵的方法。误差信号、即浮点格式的差信号Z被当作在8比特的基础上范围从0到28-1的整数值y,从一个帧内的整数值y的出现次数L(y)建立直方图,并且将次数L(y)除以所述帧中的字节数量B,以确定密度函数p(y)。
p(y)=L(y)/B (3)
根据此密度函数p(y),确定平均熵H(p(y))。
通用编码会有可能将1字节的数字值压缩为大约平均熵的大小(比特)。因此,如果平均熵值和所述帧中的字节数量B的乘积小于由压缩部分17仅对能够取非0的比特进行压缩编码而产生的一个帧中的比特的总数量,则在字节基础上的通用编码、即由压缩部分131进行的压缩编码更为有利。
图35中示出了允许这种在压缩部分之间的选择的编码器的配置。图35所示的编码器的配置是附加地提供有选择部分133、平均熵计算部分136和确定部分137的图11所示的配置。如该图所示,从差产生部分14向平均熵计算部分136输入差信号Z,如上所述确定平均熵H(p(y)),并确定平均熵H(p(y))和字节数量B的乘积。确定部分137将该乘积与由效率估计部分134a估计的码序列Cb’的一个帧的比特数量进行比较。如果前者较小,则控制选择部分133,使得由压缩部分131来压缩编码差信号Z,或者如果后者较小,则将由压缩部分17通过压缩编码产生的码序列Cb’作为码序列Cb输出。此外,输出指示选择哪个压缩部分的辅助码Ce。这里,如果整数格式化部分12在计算熵时通过删截来执行整数格式化,则在1字节的基础上确定每个差信号样本Z的23比特尾数M的出现次数L(y),或者如果整数格式化部分12通过修改的舍入来执行整数格式化,则确定包括其符号的每个样本的出现次数。
如果如上所述估计通用编码的效率,则与对差信号Z进行通用编码的情况相比,可以降低处理负荷,确定在一个帧内的所得到的码的总比特数量,并且分析和选择部分134选择所述压缩部分之一。这种通用编码的效率估计的使用可被应用到图8所示的实施例。
在以上描述中,整数格式的信号样本序列Y中的样本已经是16比特样本或24比特样本。但是,信号样本序列Y中的样本可以由等于或小于24的任何数量的比特构成,并且根据比特的数量,可以确定取决于每个样本的比特数量的、整数格式的数字信号样本序列Y中的每个样本中能够取非0的比特的数量。以这一方式,如果在划分单位的基础上执行压缩编码,则可以方便地确定要转换为整数格式的比特的数量,并且还可以输出指定该比特数量的辅助码。
[通过计算机的实现]
如图36所示,可以通过包括经由总线68互连的RAM 61、CPU 62、硬盘63、ROM 64、发送器/接收器65、输入/输出部分66和音频/视频输入/输出部分67的计算机600,来实现图1、8、9、11、12、16和35中示出的编码器。
ROM64存储用于启动计算机的程序,并且硬盘63存储用于计算机的操作系统程序。用于执行根据本发明的编码器的功能的程序被预先经由CD/DVD驱动器66而从诸如CD-ROM或DVD的记录介质71读入硬盘63,或者通过通信线路和发送器/接收器65而被预先下载到硬盘63。
要编码的浮点格式的信号样本序列X在例如音频/视频输入/输出部分67处被外部接收,并被临时存储在充当缓冲器的硬盘63中。为了开始编码,将用于执行编码的程序从硬盘63读入RAM 61,并且通过CPU 62来执行该程序。可以将编码结果例如码Ca、Cb(或Z)和Cc从发送器/接收器65经由通信线路发送到外部,或者可以将其存储在CD/DVD驱动器66中的记录介质65例如CD和DVD中。
类似地,为了通过图36所示的计算机实现图7、10、11、13和17中示出的解码器,将用于执行该解码器的功能的程序存储在硬盘63中,并且对于通过通信线路在发送器/接收器65处接收的码Ca、Cb(或Z)和Cc执行解码程序。编码结果被输出到显示单元73和扬声器74以便再现。
本发明可以不仅可以应用于音乐信号,还可以应用于声音信号、图像信号等。
Claims (24)
1.一种用于浮点格式的信号的无损编码方法,包括以下步骤:
(a)将浮点格式的第一信号样本序列转换为整数格式的第二信号样本序列;
(b)无损压缩所述整数格式的第二信号样本序列,以产生第一码序列;
(c)产生浮点格式的差信号,其对应于所述整数格式的第二信号样本序列和所述浮点格式的第一信号样本序列之间的差;
(d)确定哪种编码处理具有较高的压缩效率:第一编码处理,其对所述浮点格式的差信号的每个样本中能够取非零的数字进行编码,所述数字由所述整数格式的第二信号样本序列中的对应样本中的最高有效的“1”的比特位置确定,或者第二编码处理,其直接对所述差信号进行编码;以及
(e)如果所述确定的结果指示所述第一编码处理,则通过所述第一编码处理来对所述差信号进行编码以产生第二码序列,或者如果所述确定的结果指示所述第二编码处理,则通过所述第二编码处理来对所述差信号进行编码以产生第二码序列。
2.根据权利要求1的用于浮点格式的信号的无损编码方法,其中,在所述第一编码处理中,无损地压缩所述能够取非0的数字以产生所述第二码序列,或者将所述能够取非0的数字作为所述第二码序列输出而不进行处理。
3.根据权利要求1的用于浮点格式的信号的无损编码方法,其中,在所述第二编码处理中,无损地压缩所述差信号的尾数以产生所述第二码序列,或者将所述尾数作为所述第二码序列输出而不进行处理。
4.根据权利要求1的用于浮点格式的信号的无损编码方法,其中,所述整数格式的第二信号样本序列中的每个样本的比特长度bI小于所述浮点格式的第一信号样本序列的尾数的比特数量bM,并且在所述第一编码处理中,所述所述差信号中的每个样本的尾数中能够取非0的所述数字的范围被分离为高阶子范围和低阶子范围,所述高阶子范围包含对应于在所述尾数的比特数量bM和所述每个样本的比特数量bI之间的差的比特数量,所述低阶子范围包含剩余的比特,所述子范围被分别无损压缩以产生各个码序列,并且所述码序列被组合和输出为所述第二码序列。
5.根据权利要1的用于浮点格式的信号的无损编码方法,其中,对包含多个样本的每个帧执行所述第一编码处理,并且所述第一编码处理包括以下步骤:布置作为能够取非0的数字、每个帧中的差信号样本的尾数的小数部分,并且其最高有效比特或其最低有效的比特彼此对齐;至少在时间轴方向和/或幅度方向上选择多个比特以产生多个被扫描的比特序列;以及无损压缩所述被扫描的比特序列以产生所述第二码序列。
6.根据权利要求1的用于浮点格式的信号的无损编码方法,其中,对包含多个样本的每个帧执行所述第一编码处理,并且所述第一编码处理包括以下步骤:布置在每个帧中的每个差信号样本中能够取非0的比特的范围,并且以多种不同的预定扫描顺序来扫描所述比特的阵列,以产生各个被扫描的比特序列;对通过以所述各个扫描顺序扫描而产生的所述被扫描的比特序列进行编码,以产生各个扫描顺序的码序列;以及确定哪种扫描顺序提供具有最小信息量的码序列,并将所确定的码序列作为所述第二码序列而与指示对应扫描顺序的辅助码一起输出。
7.根据权利要求1的用于浮点格式的信号的无损编码方法,其中,所述第一编码处理包括以下步骤:对于包含多个样本的每个帧,确定与相关帧中的差信号的小数部分相对应的整数值样本的序列的平均值;在时间轴方向上,执行关于通过从每个整数值样本的值中减去所述平均值而得到的信号的误差预测;无损压缩编码该预测误差;以及对所述平均值进行编码,以形成所述第二码序列。
8.一种用于浮点格式的信号的无损编码方法,包括以下步骤:
(a)确定哪种压缩具有较高的压缩效率:在帧基础上的浮点格式的第一信号样本序列的直接压缩,或者整数值样本序列和从第一信号样本序列得到的差信号的双信号分离压缩;
(b)如果所述确定的结果指示双信号分离压缩,则执行双信号分离压缩,步骤(b)包括以下步骤:
(b-1)将第一信号样本序列转换为整数格式的第二信号样本序列;
(b-2)无损压缩所述整数格式的第二信号样本序列,以产生第一码序列;
(b-3)产生浮点格式的差信号,其对应于所述整数格式的第二信号样本序列和所述浮点格式的第一信号样本序列之间的差;
(b-4)从所述浮点格式的差信号产生第二码序列;
(c)如果所述确定的结果指示直接压缩,则直接无损压缩所述第一信号样本序列,以产生第三码序列;以及
(d)产生辅助码,其指示是执行所述直接无损压缩还是所述两种类型信号的分离压缩。
9.根据权利要求8的用于浮点格式的信号的无损编码方法,其中,在所述步骤(b-1)中,通过小数部分的删截来实现向所述整数格式的第二信号样本序列的转换,并且
所述步骤(b-4)包括以下步骤:
(b-4-1)确定哪个编码处理具有较高的压缩效率:第一编码处理,其对所述浮点格式的差信号的每个样本中能够取非零的数字进行编码,所述数字由所述整数格式的第二信号样本序列中的对应样本中的最高有效的“1”的比特位置确定,或者第二编码处理,其直接对所述差信号进行编码;以及
(b-4-2)如果所述确定的结果指示所述第一编码处理,则通过所述第一编码处理来对所述差信号进行编码以产生第二码序列,或者如果所述确定的结果指示所述第二编码处理,则通过所述第二编码处理来对所述差信号进行编码以产生第二码序列。
10.根据权利要求9的用于浮点格式的信号的无损编码方法,其中,在所述第一编码处理中,无损地压缩所述能够取非0的数字以产生所述第二码序列,或者将所述能够取非0的数字作为所述第二码序列输出而不进行处理。
11.根据权利要求9的用于浮点格式的信号的无损编码方法,其中,在所述第二编码处理中,无损地压缩所述差信号的尾数以产生所述第二码序列,或者将所述尾数作为所述第二码序列输出而不进行处理。
12.根据权利要求9的用于浮点格式的信号的无损编码方法,其中,所述整数格式的第二信号样本序列中的每个样本的比特长度bI小于所述浮点格式的第一信号样本序列的尾数的比特数量bM,并且在所述第一编码处理中,所述所述差信号中的每个样本的尾数中能够取非0的所述数字的范围被分离为高阶子范围和低阶子范围,所述高阶子范围包含对应于在所述尾数的比特数量bM和所述每个样本的比特数量bI之间的差的比特数量,所述低阶子范围包含剩余的比特,所述子范围被分别无损压缩以产生各个码序列,并且所述码序列被组合和输出为所述第二码序列。
13.根据权利要求9的用于浮点格式的信号的无损编码方法,其中,对包含多个样本的每个帧执行所述第一编码处理,并且所述第一编码处理包括以下步骤:布置作为能够取非0的数字、每个帧中的差信号样本的尾数的小数部分,并且其最高有效比特或其最低有效的比特彼此对齐;至少在时间轴方向和/或幅度方向上选择多个比特以产生多个被扫描的比特序列;以及无损压缩所述被扫描的比特序列以产生所述第二码序列。
14.根据权利要求9的用于浮点格式的信号的无损编码方法,其中,对包含多个样本的每个帧执行所述第一编码处理,并且所述第一编码处理包括以下步骤:布置在每个帧中的每个差信号样本中能够取非0的比特的范围,并且以多种不同的预定扫描顺序来扫描所述比特的阵列,以产生各个被扫描的比特序列;对通过以所述各个扫描顺序扫描而产生的所述被扫描的比特序列进行编码,以产生各个扫描顺序的码序列;以及确定哪种扫描顺序提供具有最小信息量的码序列,并将所确定的码序列作为所述第二码序列而与指示对应扫描顺序的辅助码一起输出。
15.根据权利要求9的用于浮点格式的信号的无损编码方法,其中,所述第一编码处理包括以下步骤:对于包含多个样本的每个帧,确定与相关帧中的差信号的小数部分相对应的整数值样本的序列的平均值;在时间轴方向上,执行关于通过从每个整数值样本的值中减去所述平均值而得到的信号的误差预测;无损压缩编码该预测误差;以及对所述平均值进行编码,以形成所述第二码序列。
16.一种用于浮点格式的信号的无损解码方法,包括以下步骤:
(a)根据输入的辅助码,确定输入码是通过单信号编码还是双信号编码产生的码;
(b)如果所述确定的结果指示单信号编码,则将输入码序列解码和扩展为一个码序列,以再现浮点格式的原始信号样本序列;
(c)如果所述确定的结果指示双信号编码,则将输入码序列分离为第一码序列和第二码序列;
(d)解码和扩展所述第一码序列,以产生整数格式的第一信号样本序列;
(e)从所述第二码序列得到浮点格式的差信号;
(f)将所述整数格式的第一信号样本序列转换为浮点格式的第二信号样本序列;以及
(g)组合所述浮点格式的第二信号样本序列和所述浮点格式的差信号,以再现浮点格式的原始信号样本序列。
17.根据权利要求16的用于浮点格式的信号的无损解码方法,其中,所述步骤(e)包括以下步骤:
根据所述整数格式的第一信号样本序列或输入辅助码,确定使用第一扩展方法和第二扩展方法中的哪一种来解码和扩展所述第二码序列;以及
将所述第二码序列解码和扩展为每个都包含能够取非0的多个比特的比特序列,所述比特的数量由所述第一信号样本序列的每个样本中的最高有效的“1”的比特位置唯一地确定,并且如果确定结果指示第一扩展方法,则从通过解码和扩展产生的比特序列组配所述差信号,或者如果确定结果指示第二扩展方法,则通过第二扩展方法将所述第二码序列直接解码和扩展为所述差信号。
18.根据权利要求17的用于浮点格式的信号的无损解码方法,其中,通过所述第一扩展方法产生所述差信号的步骤包括以下步骤:
将所述第二码序列的第一部分解码和扩展为包含能够取非0的数字的比特序列,所述数字由所述整数格式的第一信号样本序列的每个样本中的最高有效的“1”的比特位置唯一地确定;
将所述第二码序列的第二部分解码和扩展为包含能够取非0的多个数字的比特序列,所述数字的数量由所述整数格式的第一信号样本序列中的相应样本的比特数量和浮点格式的原始信号样本序列的尾数的比特数量之间的差来唯一地确定;以及
组合从第二码序列的第一部分的解码和扩展产生的比特序列和从第二码序列的第二部分的解码和扩展产生的比特序列,以产生所述差信号。
19.一种用于浮点格式的信号的无损解码方法,包括以下步骤:
(a)解码和扩展第一码序列,以产生整数格式的第一信号样本序列;
(b)根据所述第一信号样本序列或辅助码,确定使用第一扩展方法和第二扩展方法中的哪一种来解码和扩展第二码序列;
(c)如果确定结果指示第一扩展方法,则将所述第二码序列解码和扩展为每个都包含能够取非0的数字的比特序列,所述数字由所述第一信号样本序列中的相应样本中的最高有效的“1”的比特位置唯一地确定,并且将从解码和扩展产生的比特序列组配为浮点格式的差信号;
(d)如果确定结果指示第二扩展方法,则从所述第二码序列产生浮点格式的数字差信号的全部数字;
(e)将所述整数格式的第一信号样本序列转换为浮点格式的第二信号样本序列;以及
(f)组合所述浮点格式的第二信号样本序列和所述浮点格式的差信号,以再现浮点格式的原始数字信号序列。
20.根据权利要求19的用于浮点格式的信号的无损解码方法,其中,通过所述第一扩展方法产生所述差信号的步骤包括以下步骤:
将所述第二码序列的第一部分解码和扩展为包含能够取非0的数字的比特序列,所述数字由所述整数格式的第一信号样本序列的每个样本中的最高有效的“1”的比特位置唯一地确定;
将所述第二码序列的第二部分解码和扩展为包含能够取非0的多个数字的比特序列,所述数字的数量由所述整数格式的第一信号样本序列中的相应样本的比特数量和浮点格式的原始信号样本序列的尾数的比特数量之间的差来唯一地确定;以及
组合从第二码序列的第一部分的解码和扩展产生的比特序列和从第二码序列的第二部分的解码和扩展产生的比特序列,以产生所述差信号。
21.一种用于浮点格式的信号的无损编码器,包括:
第一编码部件,用于将所输入的浮点格式的第一信号样本序列中的每个样本分离为整数值和误差,并且无损压缩编码该整数值和误差;
第二编码部件,直接无损压缩编码所述浮点格式的第一信号样本序列;以及
分析和选择部件,确定或估计所述第一编码部件和所述第二编码部件的哪一个提供较高的压缩效率,选择所确定或估计的编码部件以提供较高的压缩效率,并且产生承载关于选择结果的信息的辅助码。
22.一种用于浮点格式的信号的无损编码器,包括:
第一编码部分,用于将所输入的浮点格式的第一信号样本序列转换为整数格式的第二信号样本序列,并且无损压缩第二信号样本序列;
差产生部分,产生对应于所述整数格式的第二信号样本序列和所述浮点格式的第一信号样本之间的差的、浮点格式的差信号;
第二编码部分,直接对所述浮点格式的差信号进行编码;
第三编码部分,对所述差信号的每个样本中能够取非0的数字进行编码,所述数字由所述整数格式的信号样本序列中的对应样本中的最高有效的“1”的比特位置来确定;以及
确定或估计所述第二编码部分和所述第三编码部分的哪一个提供较高的压缩效率、并选择和输出来自所确定或估计的编码部分的码以提供较高压缩效率的部件。
23.一种用于浮点格式的信号的解码器,包括:
第一解码部件,将输入码序列直接无损解码和扩展为浮点格式的信号样本序列;
第二解码部件,将输入码序列分离为整数值和误差,并无损解码和扩展该整数值和误差,以产生浮点格式的数字信号序列;以及
选择部件,根据输入的辅助码来选择所述第一解码部件和所述第二解码部件之一。
24.一种用于浮点格式的信号的解码器,包括:
第一扩展部分,解码和扩展所输入的第一码序列,以产生整数格式的第一信号样本序列;
第二扩展部分,将差信号中的所输入的第二码序列解码和扩展为包含能够取非0的数字的比特序列,所述数字由所述整数格式的第一信号样本序列的对应样本中的最高有效的“1”的比特位置来确定,并且第二扩展部分将从解码和扩展产生的比特序列组配为浮点格式的差信号;
第三扩展部分,将所述输入的第二码序列直接解码和扩展为所述浮点格式的差信号;
选择部分,根据所述第一信号样本序列或输入的辅助码来选择所述第二扩展部分和所述第三扩展部分之一;以及
组合部分,组合所述浮点格式的第一信号样本序列和从所选择的所述第二扩展部分和所述第三扩展部分之一接收的所述浮点格式的差信号,以产生浮点格式的第三信号样本序列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003310106 | 2003-09-02 | ||
JP310106/2003 | 2003-09-02 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100050635A Division CN101494460B (zh) | 2003-09-02 | 2004-09-01 | 浮点信号的编码方法、解码方法及其编码器、解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1799200A CN1799200A (zh) | 2006-07-05 |
CN100495930C true CN100495930C (zh) | 2009-06-03 |
Family
ID=34269633
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800151171A Active CN100495930C (zh) | 2003-09-02 | 2004-09-01 | 浮点信号可逆编码方法、解码方法及其设备 |
CN2009100050635A Active CN101494460B (zh) | 2003-09-02 | 2004-09-01 | 浮点信号的编码方法、解码方法及其编码器、解码器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100050635A Active CN101494460B (zh) | 2003-09-02 | 2004-09-01 | 浮点信号的编码方法、解码方法及其编码器、解码器 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7209056B2 (zh) |
EP (1) | EP1662667B1 (zh) |
JP (1) | JP4049793B2 (zh) |
CN (2) | CN100495930C (zh) |
WO (1) | WO2005025072A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107836083A (zh) * | 2015-05-21 | 2018-03-23 | 零点科技公司 | 用于语义值数据压缩和解压缩的方法、设备和系统 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272567B2 (en) * | 2004-03-25 | 2007-09-18 | Zoran Fejzo | Scalable lossless audio codec and authoring tool |
US7436969B2 (en) * | 2004-09-02 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | Method and system for optimizing denoising parameters using compressibility |
EP1801691B1 (en) * | 2004-10-15 | 2019-04-10 | Nippon Telegraph And Telephone Corporation | Information encoding method, decoding method, common multiplier estimation method, device using these methods, program, and recording medium |
GB2420952B (en) * | 2004-12-06 | 2007-03-14 | Autoliv Dev | A data compression method |
US20070021203A1 (en) * | 2005-06-28 | 2007-01-25 | Samsung Electronics Co., Ltd. | Mobile handset video game system and method |
US20070060345A1 (en) * | 2005-06-28 | 2007-03-15 | Samsung Electronics Co., Ltd. | Video gaming system and method |
US7400329B2 (en) * | 2005-06-28 | 2008-07-15 | Samsung Electronics Co., Ltd. | Graphics images system and method |
US20070060346A1 (en) * | 2005-06-28 | 2007-03-15 | Samsung Electronics Co., Ltd. | Tool for video gaming system and method |
US8972359B2 (en) * | 2005-12-19 | 2015-03-03 | Rockstar Consortium Us Lp | Compact floating point delta encoding for complex data |
US7845571B2 (en) * | 2006-06-19 | 2010-12-07 | Monro Donald M | Data compression |
GB2447273A (en) * | 2007-03-06 | 2008-09-10 | Vasko Tomanov | Data compression and handshaking protocol |
KR100889750B1 (ko) * | 2007-05-17 | 2009-03-24 | 한국전자통신연구원 | 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법 |
KR101375662B1 (ko) * | 2007-08-06 | 2014-03-18 | 삼성전자주식회사 | 이미지 데이터 압축 방법 및 장치 |
US8521540B2 (en) * | 2007-08-17 | 2013-08-27 | Qualcomm Incorporated | Encoding and/or decoding digital signals using a permutation value |
US8213598B2 (en) * | 2008-02-26 | 2012-07-03 | Microsoft Corporation | Harmonic distortion residual echo suppression |
CN101615911B (zh) * | 2009-05-12 | 2010-12-08 | 华为技术有限公司 | 一种编解码方法和装置 |
JP2011119868A (ja) * | 2009-12-01 | 2011-06-16 | Sony Corp | 画像処理装置及び画像処理方法 |
CN101795138B (zh) * | 2010-01-19 | 2013-01-16 | 北京四方继保自动化股份有限公司 | 电力系统广域测量系统高密度时间序列数据的压缩处理方法 |
US9160431B2 (en) | 2010-04-27 | 2015-10-13 | Qualcomm Incorporated | Efficient group definition and overloading for multiuser MIMO transmissions |
US9089002B2 (en) | 2010-05-16 | 2015-07-21 | Qualcomm Incorporated | Efficient group ID management for wireless local area networks (WLANs) |
WO2012070370A1 (ja) * | 2010-11-22 | 2012-05-31 | 株式会社エヌ・ティ・ティ・ドコモ | 音声符号化装置、方法およびプログラム、並びに、音声復号装置、方法およびプログラム |
GB2488322B (en) * | 2011-02-22 | 2017-09-20 | Advanced Risc Mach Ltd | Number format pre-conversion instructions |
US9047118B2 (en) | 2011-06-30 | 2015-06-02 | Altera Corporation | Computationally efficient compression of floating-point data |
US9104473B2 (en) | 2012-03-30 | 2015-08-11 | Altera Corporation | Conversion and compression of floating-point and integer data |
CN103458460B (zh) * | 2012-05-31 | 2017-04-12 | 国际商业机器公司 | 对信号数据进行压缩和解压缩的方法和装置 |
US8947274B2 (en) * | 2012-06-21 | 2015-02-03 | Mitsubishi Electric Corporation | Encoding apparatus, decoding apparatus, encoding method, encoding program, decoding method, and decoding program |
ES2911527T3 (es) * | 2014-05-01 | 2022-05-19 | Nippon Telegraph & Telephone | Dispositivo de descodificación de señales de sonido, método de descodificación de señales de sonido, programa y soporte de registro |
CN109195008A (zh) * | 2018-11-13 | 2019-01-11 | 青岛海信电器股份有限公司 | 一种加扰节目的播放方法及装置 |
US11275584B2 (en) * | 2019-08-14 | 2022-03-15 | Jerry D. Harthcock | Universal floating-point instruction set architecture for computing directly with decimal character sequences and binary formats in any combination |
CN113747155B (zh) * | 2021-09-06 | 2022-08-19 | 中国电信股份有限公司 | 特征量化方法和装置、编码器、通信系统 |
CN115268831B (zh) * | 2022-09-22 | 2022-12-20 | 北京中科心研科技有限公司 | 浮点数据压缩方法、装置、可穿戴智能设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG55188A1 (en) * | 1993-05-05 | 2000-03-21 | Koninkl Philips Electronics Nv | Transmission system comprising at least a coder |
US6240431B1 (en) * | 1998-10-31 | 2001-05-29 | Hewlett-Packard Company | Decompression of limited range floating point numbers |
US6396420B1 (en) * | 1999-02-26 | 2002-05-28 | Autodesk, Inc. | Delta compression of floating point coordinate data |
US6633679B1 (en) * | 1999-03-23 | 2003-10-14 | Teletechnologies, Ltd. | Visually lossless still image compression for CMYK, CMY and Postscript formats |
JP3406275B2 (ja) * | 1999-05-21 | 2003-05-12 | 日本電信電話株式会社 | ディジタル信号符号化方法、ディジタル信号復号化方法、これらの装置及びその各プログラム記録媒体 |
JP3811110B2 (ja) | 2001-08-23 | 2006-08-16 | 日本電信電話株式会社 | ディジタル信号符号化方法、復号化方法、これらの装置、プログラム及び記録媒体 |
US7599835B2 (en) * | 2002-03-08 | 2009-10-06 | Nippon Telegraph And Telephone Corporation | Digital signal encoding method, decoding method, encoding device, decoding device, digital signal encoding program, and decoding program |
-
2004
- 2004-09-01 WO PCT/JP2004/012646 patent/WO2005025072A1/ja active Application Filing
- 2004-09-01 EP EP04772602.1A patent/EP1662667B1/en active Active
- 2004-09-01 JP JP2005513652A patent/JP4049793B2/ja active Active
- 2004-09-01 CN CNB2004800151171A patent/CN100495930C/zh active Active
- 2004-09-01 US US10/558,710 patent/US7209056B2/en active Active
- 2004-09-01 CN CN2009100050635A patent/CN101494460B/zh active Active
-
2007
- 2007-02-27 US US11/679,663 patent/US7317407B2/en active Active
Non-Patent Citations (4)
Title |
---|
Adaptive Variable-Length Coding for Efficient Compression ofSpacecraft Television Data. Rice R., Plaunt J.Communications, IEEE Transactions on,Vol.19 No.6. 1971 |
Adaptive Variable-Length Coding for Efficient Compression ofSpacecraft Television Data. Rice R., Plaunt J.Communications, IEEE Transactions on,Vol.19 No.6. 1971 * |
Lossless Compress of High-volume Numerical Data fromSimulations. Engelson.V., et al.Data Compression Conference 2000, Proceedings . DDC 2000. 2000 |
Lossless Compress of High-volume Numerical Data fromSimulations. Engelson.V., et al.Data Compression Conference 2000, Proceedings . DDC 2000. 2000 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107836083A (zh) * | 2015-05-21 | 2018-03-23 | 零点科技公司 | 用于语义值数据压缩和解压缩的方法、设备和系统 |
CN107836083B (zh) * | 2015-05-21 | 2021-09-21 | 零点科技公司 | 用于语义值数据压缩和解压缩的方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2005025072A1 (ja) | 2006-11-16 |
US7317407B2 (en) | 2008-01-08 |
JP4049793B2 (ja) | 2008-02-20 |
US7209056B2 (en) | 2007-04-24 |
EP1662667B1 (en) | 2015-11-11 |
US20070018860A1 (en) | 2007-01-25 |
CN101494460A (zh) | 2009-07-29 |
EP1662667A4 (en) | 2007-05-02 |
CN101494460B (zh) | 2012-07-11 |
US20070139235A1 (en) | 2007-06-21 |
EP1662667A1 (en) | 2006-05-31 |
CN1799200A (zh) | 2006-07-05 |
WO2005025072A1 (ja) | 2005-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100495930C (zh) | 浮点信号可逆编码方法、解码方法及其设备 | |
CN1781253B (zh) | 浮点格式的数字信号的无损编码方法、解码方法及其装置 | |
JP5319286B2 (ja) | データ処理方法及び装置、エンコーディング及びデコーディング方法並びにそのための装置 | |
EP2487798B1 (en) | Information compression-coding device, its decoding device, method thereof, program thereof and recording medium storing the program | |
JP5016129B2 (ja) | 信号処理方法及び装置、エンコーディング及びデコーディング方法並びにそのための装置 | |
JP3987582B2 (ja) | ライスエンコーダ/デコーダを用いるデータ圧縮/拡張 | |
US20020049586A1 (en) | Audio encoder, audio decoder, and broadcasting system | |
Rani et al. | A survey on lossless text data compression techniques | |
JP2004266587A (ja) | 時系列信号の符号化装置および記録媒体 | |
KR100686354B1 (ko) | 가변 트리를 이용한 허프만 복호화 방법 및 장치 | |
JP3648931B2 (ja) | 反復変換音声符号化方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |