CN108564957B - 码流的解码方法、装置、存储介质和处理器 - Google Patents
码流的解码方法、装置、存储介质和处理器 Download PDFInfo
- Publication number
- CN108564957B CN108564957B CN201810097514.1A CN201810097514A CN108564957B CN 108564957 B CN108564957 B CN 108564957B CN 201810097514 A CN201810097514 A CN 201810097514A CN 108564957 B CN108564957 B CN 108564957B
- Authority
- CN
- China
- Prior art keywords
- threshold
- code stream
- width
- multimedia
- header
- 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 abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims abstract description 123
- 230000007704 transition Effects 0.000 claims description 46
- 238000005070 sampling Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 101100043434 Oryza sativa subsp. japonica SERR gene Proteins 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/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/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
- 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/173—Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种码流的解码方法、装置、存储介质和处理器。其中,该方法包括:识别多媒体码流的最大转换宽度和最小转换宽度,其中,最大转换宽度为已检测的多媒体码流的信号转换时的最大持续时间,最小转换宽度为已检测的多媒体码流的信号转换时的最小值持续时间;获取多媒体码流的当前转换宽度;根据最大转换宽度和最小转换宽度确定用于对多媒体码流进行编码的第一阈值和第二阈值;根据当前转换宽度、第一阈值和第二阈值对多媒体码流进行编码;对编码后的多媒体码流进行解码。本发明解决了音频数据解码时容错性比较差的技术问题。
Description
技术领域
本发明涉及音频处理领域,具体而言,涉及一种码流的解码方法、装置、存储介质和处理器。
背景技术
索尼/飞利浦数字接口(Sony/Philips Digital Interface Format,简称SPDIF)是一种数字音频传输接口,根据传输载体的不同,又可以分为同轴和光纤两种。由于是纯数字信号的传输,抗干扰性强,输出结果具有高保真度。因此,SPDIF广泛应用于支持数字影院***(Digital Theater System,简称DTS)或杜比数字(Dolby digital)的DVD播放器与CD播放器中。
现有技术在进行音频数据的解码时,音频数据的解码过程为码流=>频域音频数字信号=>频域音频模拟信号=>时域音频数字信号=>时域音频模拟信号,由于解码算法比较复杂,在解码的多个环节中某个环节出现错误,则整体音频数据的解码都会出错,容错性比较差。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种码流的解码方法、装置、存储介质和处理器,以至少解决音频数据解码时容错性比较差的技术问题。
根据本发明实施例的一个方面,提供了一种码流的解码方法,包括:识别多媒体码流的最大转换宽度和最小转换宽度,其中,所述最大转换宽度为已检测的所述多媒体码流的信号转换时的最大持续时间,所述最小转换宽度为已检测的所述多媒体码流的信号转换时的最小值持续时间;获取所述多媒体码流的当前转换宽度;根据所述当前转换宽度、所述最大转换宽度和所述最小转换宽度确定用于对所述多媒体码流进行编码的第一阈值和第二阈值;根据所述第一阈值和所述第二阈值对所述多媒体码流进行编码;对编码后的所述多媒体码流进行解码。
根据本发明实施例的另一方面,还提供了一种码流的解码装置,包括:识别单元,用于获取多媒体码流的最大转换宽度和最小转换宽度,其中,所述最大转换宽度为已检测的所述多媒体码流的信号转换时的最大持续时间,所述最小转换宽度为已检测的所述多媒体码流的信号转换时的最小值持续时间;获取单元,用于检测所述多媒体码流的当前转换宽度;阈值单元,用于根据所述当前转换宽度、所述最大转换宽度和所述最小转换宽度确定用于对所述多媒体码流进行编码的第一阈值和第二阈值;第一编码单元,用于根据所述第一阈值和所述第二阈值对所述多媒体码流进行编码;解码单元,用于对编码后的所述多媒体码流进行解码。
根据本发明实施例的又一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述的码流的解码方法。
根据本发明实施例的又一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的码流的解码方法。
在本发明实施例中,在对多媒体码流进行解码的过程中,根据多媒体码流的最大转换宽度、最小转换宽度和当前转换宽度对多媒体码流进行编码,由于一个编码可以覆盖多个符号信息,对多媒体码流进行解码时容错性能比较高,解决了现有技术中进行码流解码时容错性比较低的技术问题,达到了提高解码的容错性能的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的码流的解码方法的流程图;
图2是根据本发明实施例的一种spdif子帧格式的示意图;
图3是根据本发明实施例的spdif块格式的示意图;
图4是根据本发明实施例的通道编码的示意图;
图5是根据本发明实施例的第一阈值和第二阈值的示意图;
图6是根据本发明优选实施例的码流的解码方法的流程图;
图7是根据本发明优选实施例的码流的解码装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
据本发明实施例,提供了一种码流的解码方法的方法实施例。本实施例涉及SPDIF(Sony/Philips Digital interface)数字音频信号解码技术领域,对输入的音频信号进行快速锁定,并计算信号的采样率。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的码流的解码方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,识别多媒体码流的最大转换宽度和最小转换宽度,其中,最大转换宽度为已检测的多媒体码流的信号转换时的最大持续时间,最小转换宽度为已检测的多媒体码流的中信号转换时的最小值持续时间。
如图2所示,一个spdif帧由两个子帧组成。每个子帧包含32位
位0至位3包含同步头之一
位4至位27位包含以线性2的补码表示的音频采样字。最高有效位MSB为位27。使用20位编码范围时,位8至位27包含音频采样字,其中位8为最低有效位LSB。
位28(有效性位“V”)表示数据是否有效。
位29(用户数据位“U”)包含用户数据信息,如光盘的音轨编号。
位30(通道状态位“C”)包含通道状态信息,如采样率和复制保护。
位31(奇偶检验位“P”)包含奇偶校验位,这样位4至位31将包含偶数个“1”和偶数个“0”(偶校验)。
如图3所示,一个spdif块包含192对32位子帧。
对于线性编码音频应用,第一个子帧(立体声操作中的左声道或“A”通道以及单声道操作中的主通道)通常以报头“M”开始。但是,报头每192帧切换为报头“B”一次,以识别用于组织通道状态和用户信息的块结构的开始。第二个子帧(立体声操作中的右声道或“B”通道以及单声道操作中的辅助通道)始终以报头“W”开始。
为最大程度减小传输线路上的直流分量值,并加快时钟从数据流中恢复的速度,spdif子帧中的位4至位31采用双相位符号编码。
要传输的各个位通过由两个连续二进制状态构成的符号表示。符号的第一个状态始终不同于前一个符号的第二个状态。如果要传输的位为逻辑0,则符号的第二个状态与第一个状态相同。如果该位为逻辑1,则两个状态不同。这些状态称为“UI”(单位间隔)。
转换宽度为码流的两个连续边沿的时间间隔,如图4所示,在通道编码中,从8UI到9UI的下降沿到10UI到11UI的上升沿之间的时间间隔就是转换宽度。最大转换宽度为已检测的多媒体码流中所有转换宽度中最大值,最小转换宽度为已检测的多媒体码流中所有转换宽度中最小值。本实施例使用TCNT计数器来测量时间间隔的持续时间。TCNT由spdif_rx_clk时钟信号驱动。两次转换间的最大持续时间(max_cnt)和最小持续时间(min_cnt)持续时间将被记录。
步骤S104,获取多媒体码流的当前转换宽度。当前转换宽度是当前时间的边沿转换所持续的时间。
步骤S106,根据最大转换宽度和最小转换宽度确定用于对所述多媒体码流进行编码的第一阈值和第二阈值。
步骤S108,根据所述当前转换宽度、所述第一阈值和所述第二阈值对所述多媒体码流进行编码;
步骤S110,对编码后的所述多媒体码流进行解码。
利用当前转换宽度、最大转换宽度和最小转换宽度之间的关系进行编码。首先,利用根据最大转换宽度和最小转换宽度确定用于编码的第一阈值和第二阈值,第一阈值大于第二阈值;比较当前转换宽度与第一阈值和第二阈值的大小;当当前转换宽度小于第二阈值时,将所述多媒体码流中的信号编码为第一编码;当当前转换宽度大于第一阈值时,将所述多媒体码流中的信号编码为第二编码;当当前转换宽度大于第二阈值,且当前转换宽度小于第一阈值时,将所述多媒体码流中的信号编码为第三编码。
第一阈值和第二阈值可以根据最小转换宽度和最大转换宽度计算得到。具体地,将最大转换宽度的一半作为第二阈值;以及将最大转换宽度的一半与最小转换宽度之和作为第一阈值。
如图5所示,最小转换宽度Min_cnt为1UI的时间间隔,最大转换宽度Max_cnt为3UI的时间间隔。第一阈值为阈值的最大值TH_hi,第二阈值为阈值的最小值TH_lo。第二阈值为最大转换宽度3UI的一半,则TH_lo为1.5UI;第一阈值为最大转换宽度的一半1.5UI与最小转换宽度1UI之和,则TH_hi为2.5UI。即:
TH_lo=max_cnt/2
TH_hi=min_cnt+max_cnt/2
根据上述编码规则,如果当前转换宽度小于(TH_lo-1),则接收到的数据的宽度为数据位“1”的一半,(最短脉冲会出现在报头和和数据位“1”中,并且数据位“1”由连续的两个最短脉冲组成,因此,数据位“1”的一半为最短脉冲的宽度),并编码为TS。如果当前转换宽度大于(TH_lo-1)且小于TH_hi,则接收到的数据为数据位“0”,并编码为TM。如果当前转换宽度大于TH_hi,则接收到的数据为报头的长脉冲,并编码为TL。否则将生成错误代码(FERR标志置1)。
可选地,在根据第一阈值和第二阈值对多媒体码流进行编码之后,方法还包括:实时根据多媒体码流中信号的长度来更新第一阈值和第二阈值,其中,更新后的第一阈值根据第一数量的信号的总长度确定,更新后的第二阈值根据第二数量的信号的总长度确定,第一数量大于第二数量;利用更新后的第一阈值和更新后的第二阈值对多媒体码流进行编码。
本实施例中,根据转换宽度得到第一阈值和第二阈值之后,根据接收到多媒体码流对第一阈值和第二阈值进行实时更新,以最大限度的匹配输入的码流。
例如,本实施例将测量24个信号(width24)的长度来定义第二阈值TH_lo,测量40个信号(width40)的长度来定义第一阈值TH_hi。
TH_hi和TH_lo的计算方法如下:
TH_lo=width24/32
TH_hi=width40/32
其中,一个信号由2个UI组成。所选取的24个信号长度则有48个UI构成。即width24等于48个UI的长度。
TH_lo=width24/32=48UI/32=1.5UI
同理
TH_hi=width40/32=80UI/32=2.5UI
需要说明的是,本实施例在计算第一阈值和第二阈值时可以调整32的数值,调整32后第一阈值的范围为1UI~2UI,第二阈值范围为2UI~3UI。
本实施例在对多媒体码流进行解码的过程中,根据多媒体码流的最大转换宽度、最小转换宽度和当前转换宽度对多媒体码流进行编码之后再进行编码,由于一个编码可以覆盖多个符号信息,对多媒体码流进行解码时容错性能比较高,解决了现有技术中进行码流解码时容错性比较低的技术问题,达到了提高解码的容错性能的技术效果。
可选地,对编码后的所述多媒体码流进行解码包括:检测所述编码后的所述多媒体码流中的报头编码,得到第一报头编码;在检测到所述第一报头编码后,判断所述编码后的所述多媒体码流中所述第一报头编码之后的编码是否正确;在所述编码后的所述多媒体码流中所述第一报头编码之后的编码正确的情况下,再次检测所述编码后的所述多媒体码流中的报头编码,得到第二报头编码;在所述第二报头编码的类型与所述第一报头编码的类型符合预设报头类型的情况下,对编码后的所述多媒体码流进行解码。
对多媒体码流进行编码之后,根据报头编码从多媒体码流中检测报头。例如,TLTS TS TL为报头B的编码,TL TL TS TS为报头M的编码,TL TM TS TM为报头W的编码。因此,从编码后的多媒体码流中找出上述报头编码。预设报头类型条件可以是报头B、报头W、报头M、报头W的顺序。即,检测第一报头编码和第二报头编码的类型是否符合上述报头B、报头W、报头M、报头W的顺序,如果符合,则确定对编码后的所述多媒体码流进行解码。
对报头的判断涉及到如下内容:spdif码流的报头包括如下三种不同类型的引导符,如表1所示。
表1:spdif报头格式
按照上述编码规则对表1所示的报头进行编码,对于三种类型的报头进行编码后得到的转换序列如表2所示。
表2:报头的转换序列
表2所示的报头的转换序列为预设报头编码。本实施例检查特定序列的4个连续转换来确定他们是否构成报头的一部分。在对多媒体码流进行编码之后,从编码后的码流中检测报头编码,根据预设报头编码确定编码后的码流中的报头类型。在检测到编码后的码流中的报头编码后,再对符号信息进行正确性判断。如果检测到的编码为TM,则输出检测结果为“0”;如果检测到的编码为两个连续的TS,则输出检测结果为“1”,任何其他转换序列将产生错误信号,即ferr标志置1。
通过这种方式对连续的28个数据位进行判断后,紧接着再次进行报头检测。如果新报头与预期不同,则产生错误信号(ferr标志置1)。当连续的40个数据位都正确时,解码过程完成。
可选地,在对编码后的所述多媒体码流进行解码之后,方法还包括:统计所述多媒体码流中多个符号位的持续时间;根据所述持续时间确定所述多媒体码流的采样频率。
当码流解码后,连续N个符号的持续时间将被记录,并且每帧都会更新。
以WIDTH5为例,表示5个连续符号的时间内包含的spdif_rx_clk时钟周期数。
其精度受spdif_rx_clk频率限制。采样率为spdif码流每帧持续时间的倒数。从spdif码流块格式和子帧格式可知,每帧包含了64个符号位,64个符号位的持续时间的倒数即为采样率。
由此推出公式1/Fs=WIDTH5/Fspdif_rx_clk*64/5
例如,如果spdif_rx_clk为100MHz,WIDTH5的值为176d。spdif数据流的采样率Fs估算值为:
采样率Fs=5*Fspdif_rx_clk/(WIDTH5*64)=44.4Khz。而音频标准采样率一般为32KHz,44.1KHz,48KHz,88.2KHz,96KHz,176.4KHz,192KHz。因此最接近的标准采样率为44.1KHz。
通过上述步骤,可以快速、准确的对码流进行解码,并且对解码后的码流进行准确的采样率计算。
以下结合图6对本实施例的解码方法进行进一步的说明。
601,对输入的spdif码流进行最长脉冲和最短脉冲的查找,即在X个转换内查找最大转换宽度和最小转换宽度。最小转换宽度对应最短脉冲,最大转换宽度对应最长脉冲,其中,X为一个可配置的值,表示在多少个转换内进行查找,一般情况下该值可配置为70~255的一个值。
602,计算锁定阈值1,即计算第一阈值和第二阈值。
603,在X个转换内搜索报头,即在编码后的码流中搜索报头编码。
604,判断是否在X个转换内找到报头。如果是,执行605,如果否,执行608。
605,对X个转换后的N个符号进行解码,测量A1个和A2个符号的持续时间。即对报头后的符号信息进行解码。A1可以取24,A2可以取40。
606,判断符号解码是否成功。如果成功,执行607,否则,执行608。
607,计算锁定阈值2,即计算最大锁定阈值和最小锁定阈值。本发明将测量24个信号(width24)的长度来定义TH_lo,测量40个信号(width40)的长度来定义TH_hi。
TH_hi和TH_lo的计算方法如下:
TH_lo=width24/32
TH_hi=width40/32
608,ATTEMPT++,即重试次数累加器加1。
609,ATTEMPT==NBTR?即,判断重试次数累加器的值是否达到设定的值NBTR,NBTR的值是可配置的,在0-255之间。如果是,执行610,如果否,返回601。
610,错误:同步失败!SERR=1,即同步错误标志置1。
611,TCNT是否上溢;TCNT是内部的一个计数器,由spdif_rx_clk驱动,每个时钟周期其值加1,在码流的变化沿处被清为0,如果输入的码流一直没有变化,则TCNT一直处于自增状态,当TCNT值到达4095时,TCNT上溢。如果是,执行612,如果否,返回611。
612,错误:同步失败!TERR=1,TCNT上溢后错误标志置1。
本发明实施例还提供了一种码流的解码装置。如图7所示,该码流的解码装置包括:识别单元10、获取单元20、阈值单元30、第一编码单元40和解码单元50。
识别单元10用于获取多媒体码流的最大转换宽度和最小转换宽度,其中,所述最大转换宽度为已检测的所述多媒体码流的信号转换时的最大持续时间,所述最小转换宽度为已检测的所述多媒体码流的中\信号转换时的最小值持续时间;
如图2所示,一个spdif帧由两个子帧组成。每个子帧包含32位
位0至位3包含同步头之一
位4至位27位包含以线性2的补码表示的音频采样字。最高有效位MSB为位27。使用20位编码范围时,位8至位27包含音频采样字,其中位8为高低有效位LSB。
位28(有效性位“V”)表示数据是否有效。
位29(用户数据位“U”)包含用户数据信息,如光盘的音轨编号。
位30(通道状态位“C”)包含通道状态信息,如采样率和复制保护。
位31(奇偶检验位“P”)包含奇偶校验位,这样位4至位31将包含偶数个“1”和偶数个“0”(偶校验)。
如图3所示,一个spdif块包含192对32位子帧。
对于线性编码音频应用,第一个子帧(立体声操作中的左声道或“A”通道以及单声道操作中的主通道)通常以报头“M”开始。但是,报头每192帧切换为报头“B”一次,以识别用于组织通道状态和用户信息的块结构的开始。第二个子帧(立体声操作中的右声道或“B”通道以及单声道操作中的辅助通道)始终以报头“W”开始。
为最大程度减小传输线路上的直流分量值,并加快时钟从数据流中恢复的速度,spdif子帧中的位4至位31采用双相位符号编码。
要传输的各个位通过由两个连续二进制状态构成的符号表示。符号的第一个状态始终不同于前一个符号的第二个状态。如果要传输的位为逻辑0,则符号的第二个状态与第一个状态相同。如果该位为逻辑1,则两个状态不同。在IEC-60958规范中,这些状态称为“UI”(单位间隔)。
转换宽度为码流的两个连续边沿的时间间隔,如图4所示,在通道编码中,从8UI到9UI的下降沿到10UI到11UI的上升沿之间的时间间隔就是转换宽度。最大转换宽度为已检测的多媒体码流中所有转换宽度中最大值,最小转换宽度为已检测的多媒体码流中所有转换宽度中最小值。本实施例使用TCNT计数器来测量时间间隔的持续时间。TCNT由spdif_rx_clk时钟信号驱动。两次转换间的最大持续时间(max_cnt)和最小时序时间(min_cnt)持续时间将被记录。
获取单元20用于检测所述多媒体码流的当前转换宽度;
阈值单元30用于根据所述当前转换宽度、所述最大转换宽度和所述最小转换宽度确定用于对所述多媒体码流进行编码的第一阈值和第二阈值;
第一编码单元40用于根据所述第一阈值和所述第二阈值对所述多媒体码流进行编码;
解码单元50用于对编码后的所述多媒体码流进行解码。
利用当前转换宽度、最大转换宽度和最小转换宽度之间的关系进行编码。可选地,所述第一编码单元包括:比较模块,用于比较所述当前转换宽度与所述第一阈值和所述第二阈值的大小,其中,所述第一阈值大于所述第二阈值;第一编码模块,用于当所述当前转换宽度小于所述第二阈值时,将所述多媒体码流中的信号编码为第一编码;当所述当前转换宽度大于所述第一阈值度时,将所述多媒体码流中的信号编码为第二编码;当所述当前转换宽度大于所述第二阈值,且所述当前转换宽度小于所述第一阈值时,将所述多媒体码流中的信号编码为第三编码。
可选地,所述阈值单元包括:第一阈值模块,用于将所述最大转换宽度的一半作为所述第二阈值;以及第二阈值模块,用于将所述最大转换宽度的一半与所述最小转换宽度之和作为所述第一阈值。
如图5所示,最小转换宽度Min_cnt为1UI的时间间隔,最大转换宽度Max_cnt为3UI的时间间隔。第一阈值为阈值的最大值TH_hi,第二阈值为阈值的最小值TH_lo。第二阈值为最大转换宽度3UI的一半,则TH_lo为1.5UI;第一阈值为最大转换宽度的一半1.5UI与最小转换宽度1UI之和,则TH_hi为2.5UI。即:
TH_lo=max_cnt/2
TH_hi=min_cnt+max_cnt/2
根据上述编码规则,如果当前转换宽度小于(TH_lo-1),则接收到的数据的宽度为数据位“1”的一半,(最短脉冲会出现在报头和和数据位”1”中,并且数据位“1”由连续的两个最短脉冲组成,因此,数据位“1”的一半为最短脉冲的宽度),并编码为TS。如果当前转换宽度大于(TH_lo-1)且小于TH_hi,则接收到的数据为数据位“0”,并编码为TM。如果当前转换宽度大于TH_hi,则接收到的数据为报头的长脉冲,并编码为TL。否则将生成错误代码(FERR标志置1)。
可选地,所述装置还包括:更新单元,用于在根据所述第一阈值和所述第二阈值对所述多媒体码流进行编码之后,实时根据所述多媒体码流中信号的长度来更新所述第一阈值和所述第二阈值,其中,更新后的第一阈值根据第一数量的信号的总长度确定,更新后的第二阈值根据第二数量的信号的总长度确定,所述第一数量大于所述第二数量;第二编码单元,用于利用所述更新后的第一阈值和所述更新后的第二阈值对所述多媒体码流进行编码。
本实施例中,根据转换宽度得到第一阈值和第二阈值之后,根据接收到多媒体码流对第一阈值和第二阈值进行实时更新,以最大限度的匹配输入的码流。
可选地,本实施例将测量24个信号(width24)的长度来定义第二阈值TH_lo,测量40个信号(width40)的长度来定义第一阈值TH_hi。
TH_hi和TH_lo的计算方法如下:
TH_lo=width24/32
TH_hi=width40/32
其中,一个信号由2个UI组成。所选取的24个信号长度则有48个UI构成。即width24等于48个UI的长度。
TH_lo=width24/32=48UI/32=1.5UI
同理
TH_hi=width40/32=80UI/32=2.5UI
需要说明的是,本实施例在计算第一阈值和第二阈值时可以调整32的数值,调整后的数值使得第一阈值的范围为1UI~2UI,第二阈值范围为2UI~3UI。
本实施例在对多媒体码流进行解码的过程中,根据多媒体码流的最大转换宽度、最小转换宽度和当前转换宽度对多媒体码流进行编码之后再进行编码,由于一个编码可以覆盖多个符号信息,对多媒体码流进行解码时容错性能比较高,解决了现有技术中进行码流解码时容错性比较低的技术问题,达到了提高解码的容错性能的技术效果。
可选地,所述第一编码单元包括:检测模块,检测所述编码后的所述多媒体码流中的报头编码,得到第一报头编码;判断模块,用于在检测到所述第一报头编码后,判断所述编码后的所述多媒体码流中所述第一报头编码之后的编码是否正确;编码模块,用于在所述编码后的所述多媒体码流中所述第一报头编码之后的编码正确的情况下,再次检测所述编码后的所述多媒体码流中的报头编码,得到第二报头编码;解码模块,用于在所述第二报头编码的类型与所述第一报头编码的类型符合预设报头类型的情况下,对编码后的所述多媒体码流进行解码。
对多媒体码流进行编码之后,根据报头编码从多媒体码流中检测报头。例如,TLTS TS TL为报头B的编码,TL TL TS TS为报头M的编码,TL TM TS TM为报头W的编码。因此,从编码后的多媒体码流中找出上述报头编码。预设报头类型条件可以是报头B、报头W、报头M、报头W的顺序。即,检测第一报头编码和第二报头编码的类型是否符合上述报头B、报头W、报头M、报头W的顺序,如果符合,则确定对编码后的所述多媒体码流进行解码。
当码流解码后,连续N个符号的持续时间将被记录,并且每帧都会更新。
以WIDTH5为例,表示5个连续符号的时间内包含的spdif_rx_clk时钟周期数。
其精度受spdif_rx_clk频率限制。采样率为spdif码流每帧持续时间的倒数。从spdif码流块格式和子帧格式可知,每帧包含了64个符号位,64个符号位的持续时间的倒数即为采样率。
由此推出公式1/Fs=WIDTH5/Fspdif_rx_clk*64/5
例如,如果spdif_rx_clk为100MHz,WIDTH5的值为176d。spdif数据流的采样率Fs估算值为:
采样率Fs=5*Fspdif_rx_clk/(WIDTH5*64)=44.4Khz。而音频标准采样率一般为32KHz,44.1KHz,48KHz,88.2KHz,96KHz,176.4KHz,192KHz。因此最接近的标准采样率为44.1KHz。
通过上述步骤,可以快速、准确的对码流进行解码,并且对解码后的码流进行准确的采样率计算。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种码流的解码方法,其特征在于,包括:
识别多媒体码流的最大转换宽度和最小转换宽度,其中,所述最大转换宽度为已检测的所述多媒体码流的信号转换时的最大持续时间,所述最小转换宽度为已检测的所述多媒体码流的信号转换时的最小值持续时间;
获取所述多媒体码流的当前转换宽度;
根据所述最大转换宽度和所述最小转换宽度确定用于对所述多媒体码流进行编码的第一阈值和第二阈值,其中,所述第一阈值和所述第二阈值根据所述最小转换宽度和所述最大转换宽度计算得到;
根据所述当前转换宽度、所述第一阈值和所述第二阈值对所述多媒体码流进行编码;
对编码后的所述多媒体码流进行解码。
2.根据权利要求1所述的解码方法,其特征在于,根据所述当前转换宽度、所述第一阈值和所述第二阈值对所述多媒体码流进行编码包括:
比较所述当前转换宽度与所述第一阈值和所述第二阈值的大小,其中,所述第一阈值大于所述第二阈值;
当所述当前转换宽度小于所述第二阈值时,将所述多媒体码流中的信号编码为第一编码;
当所述当前转换宽度大于所述第一阈值时,将所述多媒体码流中的信号编码为第二编码;
当所述当前转换宽度大于所述第二阈值,且所述当前转换宽度小于所述第一阈值时,将所述多媒体码流中的信号编码为第三编码。
3.根据权利要求1所述的解码方法,其特征在于,在根据所述第一阈值和所述第二阈值对所述多媒体码流进行编码之后,所述方法还包括:
实时根据所述多媒体码流中信号的长度来更新所述第一阈值和所述第二阈值,其中,更新后的第一阈值根据第一数量的信号的总长度确定,更新后的第二阈值根据第二数量的信号的总长度确定,所述第一数量大于所述第二数量;
利用所述更新后的第一阈值和所述更新后的第二阈值对所述多媒体码流进行编码。
4.根据权利要求1所述的解码方法,其特征在于,根据所述当前转换宽度、所述最大转换宽度和所述最小转换宽度确定用于对所述多媒体码流进行编码的第一阈值和第二阈值包括:
将所述最大转换宽度的一半作为所述第二阈值;以及
将所述最大转换宽度的一半与所述最小转换宽度之和作为所述第一阈值。
5.根据权利要求1所述的解码方法,其特征在于,对编码后的所述多媒体码流进行解码包括:
检测所述编码后的所述多媒体码流中的报头编码,得到第一报头编码;
在检测到所述第一报头编码后,判断所述编码后的所述多媒体码流中所述第一报头编码之后的编码是否正确;
在所述编码后的所述多媒体码流中所述第一报头编码之后的编码正确的情况下,再次检测所述编码后的所述多媒体码流中的报头编码,得到第二报头编码;
在所述第二报头编码的类型与所述第一报头编码的类型符合预设报头类型的情况下,对编码后的所述多媒体码流进行解码。
6.根据权利要求1所述的解码方法,其特征在于,在对编码后的所述多媒体码流进行解码之后,所述方法还包括:
统计所述多媒体码流中多个符号位的持续时间;
根据所述持续时间确定所述多媒体码流的采样频率。
7.根据权利要求6所述的解码方法,其特征在于,采用以下方式确定所述多媒体码流的采样频率包括:
采样频率=符号位个数n*时钟周期/(n个符号位的持续时间*64)。
8.根据权利要求1至7中任一项所述的解码方法,其特征在于,所述根据所述最大转换宽度和所述最小转换宽度确定用于对所述多媒体码流进行编码的第一阈值和第二阈值包括:
所述根据所述最大转换宽度和所述最小转换宽度确定所述第一阈值的范围为1UI~2UI,所述第二阈值的范围为2UI~3UI,所述UI表示单位间隔。
9.一种码流的解码装置,其特征在于,包括:
识别单元,用于获取多媒体码流的最大转换宽度和最小转换宽度,其中,所述最大转换宽度为已检测的所述多媒体码流的信号转换时的最大持续时间,所述最小转换宽度为已检测的所述多媒体码流的信号转换时的最小值持续时间;
获取单元,用于检测所述多媒体码流的当前转换宽度;
阈值单元,用于根据所述当前转换宽度、所述最大转换宽度和所述最小转换宽度确定用于对所述多媒体码流进行编码的第一阈值和第二阈值,其中,所述第一阈值和所述第二阈值根据所述最小转换宽度和所述最大转换宽度计算得到;
第一编码单元,用于根据所述当前转换宽度、所述第一阈值和所述第二阈值对所述多媒体码流进行编码;
解码单元,用于对编码后的所述多媒体码流进行解码。
10.根据权利要求9所述的解码装置,其特征在于,所述第一编码单元包括:
比较模块,用于比较所述当前转换宽度与所述第一阈值和所述第二阈值的大小,其中,所述第一阈值大于所述第二阈值;
第一编码模块,用于当所述当前转换宽度小于所述第二阈值时,将所述多媒体码流中的信号编码为第一编码;当所述当前转换宽度大于所述第一阈值度时,将所述多媒体码流中的信号编码为第二编码;当所述当前转换宽度大于所述第二阈值,且所述当前转换宽度小于所述第一阈值时,将所述多媒体码流中的信号编码为第三编码。
11.根据权利要求9所述的解码装置,其特征在于,所述装置还包括:
更新单元,用于在根据所述第一阈值和所述第二阈值对所述多媒体码流进行编码之后,实时根据所述多媒体码流中信号的长度来更新所述第一阈值和所述第二阈值,其中,更新后的第一阈值根据第一数量的信号的总长度确定,更新后的第二阈值根据第二数量的信号的总长度确定,所述第一数量大于所述第二数量;
第二编码单元,用于利用所述更新后的第一阈值和所述更新后的第二阈值对所述多媒体码流进行编码。
12.根据权利要求9所述的解码装置,其特征在于,所述阈值单元包括:
第一阈值模块,用于将所述最大转换宽度的一半作为所述第二阈值;以及
第二阈值模块,用于将所述最大转换宽度的一半与所述最小转换宽度之和作为所述第一阈值。
13.根据权利要求9所述的解码装置,其特征在于,所述第一编码单元包括:
检测模块,检测所述编码后的所述多媒体码流中的报头编码,得到第一报头编码;
判断模块,用于在检测到所述第一报头编码后,判断所述编码后的所述多媒体码流中所述第一报头编码之后的编码是否正确;
编码模块,用于在所述编码后的所述多媒体码流中所述第一报头编码之后的编码正确的情况下,再次检测所述编码后的所述多媒体码流中的报头编码,得到第二报头编码;
解码模块,用于在所述第二报头编码的类型与所述第一报头编码的类型符合预设报头类型的情况下,对编码后的所述多媒体码流进行解码。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至8中任意一项所述的码流的解码方法。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的码流的解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810097514.1A CN108564957B (zh) | 2018-01-31 | 2018-01-31 | 码流的解码方法、装置、存储介质和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810097514.1A CN108564957B (zh) | 2018-01-31 | 2018-01-31 | 码流的解码方法、装置、存储介质和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108564957A CN108564957A (zh) | 2018-09-21 |
CN108564957B true CN108564957B (zh) | 2020-11-13 |
Family
ID=63530094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810097514.1A Active CN108564957B (zh) | 2018-01-31 | 2018-01-31 | 码流的解码方法、装置、存储介质和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108564957B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1308931A1 (de) * | 2001-10-23 | 2003-05-07 | Deutsche Thomson-Brandt Gmbh | Decodierung eines codierten digitalen Audio-Signals welches in Header enthaltende Rahmen angeordnet ist |
EP2104096B1 (en) * | 2008-03-20 | 2020-05-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for converting an audio signal into a parameterized representation, apparatus and method for modifying a parameterized representation, apparatus and method for synthesizing a parameterized representation of an audio signal |
ATE536614T1 (de) * | 2008-06-10 | 2011-12-15 | Dolby Lab Licensing Corp | Verbergen von audioartefakten |
CN101299633B (zh) * | 2008-06-19 | 2013-06-05 | 中兴通讯股份有限公司 | 一种避免前后编解码级联操作处理方法 |
CN102456343A (zh) * | 2010-10-29 | 2012-05-16 | 安徽科大讯飞信息科技股份有限公司 | 录音结束点检测方法及*** |
US10115410B2 (en) * | 2014-06-10 | 2018-10-30 | Peter Graham Craven | Digital encapsulation of audio signals |
-
2018
- 2018-01-31 CN CN201810097514.1A patent/CN108564957B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108564957A (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8605912B2 (en) | Biphase mark code decoder and method of operation | |
US6888886B2 (en) | Interface apparatus and method for receiving serially-transmitted data | |
CN102047336B (zh) | 用于产生或截除或改变包括至少一个报头部分在内的基于帧的比特流格式文件的方法和设备以及相应数据结构 | |
CN101247187B (zh) | 一种音频数据恢复方法、装置及多媒体数据接收*** | |
US8724745B2 (en) | Method and apparatus for decoding coded data streams | |
TW218942B (zh) | ||
EP0091215A2 (en) | Demodulator for an asynchronous binary signal | |
CN109818713B (zh) | 副载波调制的米勒码解码方法、装置和设备及存储介质 | |
CN110213023B (zh) | 用于不同传输速率的双相标志编码的译码方法及译码电路 | |
TW501098B (en) | Method and apparatus for correcting C1/PI word errors using error locations detected by EFM/EFM+ decoding | |
CN108564957B (zh) | 码流的解码方法、装置、存储介质和处理器 | |
US8000051B2 (en) | Method for recovering a position and clock period from an input digital signal | |
US6933866B1 (en) | Variable data rate receiver | |
US5625505A (en) | Method of and apparatus for regenerating partial-response record signal | |
CN108156557B (zh) | 数字音频接口的时钟及数据回复电路及回复方法 | |
JP2008227875A (ja) | データ再生装置及びデータ再生方法 | |
US10990348B2 (en) | Detection method and detection device for audio signal | |
US8023594B1 (en) | Asynchronous biphase mark signal receivers and methods of operating same | |
JP4314717B2 (ja) | 伝送レート判別方法及び回路 | |
CN210183341U (zh) | 用于不同传输速率的双相标志编码的译码电路 | |
US7386082B2 (en) | Method and related apparatus for searching the syncword of a next frame in an encoded digital signal | |
JP2856939B2 (ja) | データ受信方法 | |
WO2009011483A1 (en) | Audio signal encoding method and apparatus | |
US6107989A (en) | Adaptive cursor for interpreting displays of grouped data words | |
JP4021113B2 (ja) | ディジタルオーディオインターフェース信号復調装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |