CN103269257B - 一种检测变长编码码流错误的方法和解码及错误检测装置 - Google Patents

一种检测变长编码码流错误的方法和解码及错误检测装置 Download PDF

Info

Publication number
CN103269257B
CN103269257B CN201310176084.XA CN201310176084A CN103269257B CN 103269257 B CN103269257 B CN 103269257B CN 201310176084 A CN201310176084 A CN 201310176084A CN 103269257 B CN103269257 B CN 103269257B
Authority
CN
China
Prior art keywords
code
frame
length
place
decoded
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
Application number
CN201310176084.XA
Other languages
English (en)
Other versions
CN103269257A (zh
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.)
Hefei Jie FA Technology Co., Ltd.
Original Assignee
Smart Technology (hefei) 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 Smart Technology (hefei) Co Ltd filed Critical Smart Technology (hefei) Co Ltd
Priority to CN201310176084.XA priority Critical patent/CN103269257B/zh
Publication of CN103269257A publication Critical patent/CN103269257A/zh
Priority to US14/265,346 priority patent/US9608671B2/en
Application granted granted Critical
Publication of CN103269257B publication Critical patent/CN103269257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • H03M13/6318Error control coding in combination with data compression using variable length codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • 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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6041Compression optimized for errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种检测变长编码码流的方法和解码及错误检测装置。该方法包括:解码码流中的数据帧;根据数据帧的长度信息和已解码数据位数判断数据帧是否出错。通过上述方式,本发明实现数据帧在解码过程中即可检测出数据帧是否出错。

Description

一种检测变长编码码流错误的方法和解码及错误检测装置
技术领域
本发明涉及音频信号处理领域,特别是涉及一种检测变长编码码流错误的方法和解码及错误检测装置。
背景技术
变长编码(Variable-Length Coding,VLC)是指对数据采用不同长度的码字进行编码。具体来说,对出现概率高的数据采用短码字编码,对出现概率低的数据采用长码字编码,由此提高整体编码的效率。采用VLC编码,由于码字的长度不固定,在解码完成之前无法知道需要解码多少数据量。目前对数据帧的解码需要根据码字查询码表继而还原出码字所对应的初始值。其中,从码表中可以获取得到码字的长度范围、码字与初始值的对应关系等等。如果在传输过程中,码流中的数据出现位反转或者其它传输错误,可能出现为了解出采用VLC编码的码流而读取的数据量发生改变的情况,并导致解出的码流与原码流不一致的问题。
具体来说,VLC编码包括哈夫曼编码(Huffman)、香农-凡诺算法、指数哥伦布编码等。以Huffman编码的码流为例来说,假设原码流需要传送的数据帧内信源符号依次为a1,a5,a7,a1,a3,a4,根据表一Huffman码表中信源符号与码字的对应关系,对信源符号进行编码可得到原码流为10,010,0111,10,000,001,其中,原码流共包括6个码字。
表一Huffman码表
信源符号ai 概率p(ai) 码字Wi 码长Ki
al 0.20 10 2
a2 0.19 11 2
a3 0.18 000 3
a4 0.17 001 3
as 0.15 010 3
a6 0.10 0110 4
a7 0.01 0111 4
在传送的过程中,可能由于传输信道的不稳定或者其它原因出现传输错误,导致解码端接收到的码流发生变化。假设解码端接收到的码流为:10,011,0111,10,000,001。当对接收到的码流进行解码时,解码端首先读取到数据“10”并解码得到对应的信源符号为a1,继续读取数据“011”,因无法在表一中找到对应的码字,则继续读取下一位数据“0”(即读取的数据为“0110”),解码得到对应的信源符号为a6,……依次读取数据并进行解码,当解码出6个码字时,最后得到解出的码流对应的信源符号依次为:a1,a6,a2,a2,a3,a3,且最后一位数据“1”未进行解码。此时出现解码错误,亦即出现解出码流而读取的数据量变少,且解出的码流与原码流不一致的情况。
又假设解码端接收到的码流变化为:10,011,0011,10,000,001,则依次读取数据并进行解码,首先得到前5个码字对应的信源符号依次为:a1,a6,a7,a3,a3。因编码端传送的原码流共包括6个码字,则解码端继续进行第6个码字的解码,又因为在完成前5个码字解码后码流中仅剩余一位数据“1”,而表一中码长范围的最小值为两位数据,因此解码端将读取紧接的下一数据帧内的至少一位数据以完成对6个码字的解码。此时,出现为解出码流而读取的数据量变多,并且解出的码流与原码流不一致的情况。
另一方面,采用VLC编码的码流,如果解码端在对接收到码流进行解码的过程中,码表发生变化,也将导致解出的码流与原码流不一致。
在实际应用中,当VLC编码应用于不同音频格式,例如,高级音频编码(AdvancedAudio Coding,AAC)、动态影像专家压缩标准音频层面3(Moving Picture Experts GroupAudio Layer III,MP3)、无损音频压缩编码(Free Lossless Audio Codec,FLAC)格式等的码流中时,如果传输的过程中因某些原因(例如,传输信道不稳定)而发生码流传输错误或者码表在存储的过程发生错误,将导致码流中的数据帧因解码错误而出现声音不连续或尖锐爆音,严重时甚至出现系统当机的情况。
为解决上述问题,现有技术的一种做法是,对于携带循环冗余校验码(CyclicRedundancy Check,CRC)的码流,在整个数据帧解码完成后,对数据帧做CRC校验以检测数据帧是否出错。该方法在数据帧解码完成后才能通过校验结果判读数据帧是否出错,其在数据帧解码过程中无法检测数据帧是否出错,从而无法防止出现数据帧出错导致系统运行异常的问题。
发明内容
有鉴于此,本发明提供一种检测变长编码码流错误的方法和解码及错误检测装置。
根据本发明一实施例,本发明提供一种检测变长编码码流错误的方法,该方法包括:
解码码流中的数据帧;
根据数据帧的长度信息和已解码数据位数判断数据帧是否出错。
根据本发明另一实施例,本发明提供一种检测变长编码码流错误的方法,该方法包括:
依据码表解码码流中的数据帧;
根据码表和当前取位数判断数据帧是否出错。
根据本发明再一实施例,本发明提供解码及错误检测装置,该装置包括:
解码模块;
第一判断模块,耦接于解码模块;以及
出错处理模块,耦接于第一判断模块,其中在解码模块解码码流中的数据帧后,第一判断模块根据数据帧的长度信息和已解码数据位数判断数据帧是否出错,当第一判断模块判断数据帧出错时,出错处理模块对数据帧进行出错处理。
根据本发明再一实施例,本发明提供一种解码及错误检测装置,该装置包括:
解码模块;
第一判断模块,耦接于解码模块;以及
出错处理模块,耦接于第一判断模块,其中在解码模块依据码表解码码流的数据帧后,第一判断模块根据码表和当前取位数判断数据帧是否出错,当第一判断模块判断数据帧出错时,出错处理模块对数据帧进行出错处理。
本发明的有益效果是:区别于现有技术的情况,本发明的检测变长编码码流错误的方法和解码及错误检测装置通过解码码流中的数据帧;根据数据帧的长度信息和已解码数据位数判断数据帧是否出错,实现了数据帧在解码过程中即可检测出数据帧是否出错,进而防止数据帧出错导致系统运行异常的问题。
附图说明
图1是本发明实施例的嵌入式音频解码器的结构示意图;
图2是图1中的解码及错误检测装置第一范例的结构示意图;
图3是图1中的解码及错误检测装置第二范例的结构示意图;
图4是图1中的解码及错误检测装置第三范例的结构示意图;
图5是图1中的解码及错误检测装置第四范例的结构示意图;
图6是本发明第一实施例的检测变长编码码流错误的方法的流程图;
图7是本发明第二实施例的检测变长编码码流错误的方法的流程图;
图8是本发明第三实施例的检测变长编码码流错误的方法的流程图;
图9是本发明第四实施例的检测变长编码码流错误的方法的流程图;
图10是本发明第五实施例的检测变长编码码流错误的方法的流程图;
图11是本发明第六实施例的检测变长编码码流错误的方法的流程图。
具体实施方式
在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。在通篇说明书及权利要求书当中所提及的「耦接」一词在此包含任何直接及/或间接的电气耦接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气耦接于第二装置,或透过其它装置或耦接手段间接地电气耦接至第二装置。下面结合附图和实施例对本发明进行详细说明。
请参照图1,图1是本发明实施例的嵌入式音频解码器的结构示意图。如图1所示,嵌入式音频解码器包括:异步先进先出存储器1、取位器2、帧大小判别器3、控制器4、解码及错误检测装置5、后处理模块6、音频输出模块7和模数转换器8。
异步先进先出存储器1用于对连续的待解码的码流进行缓存。
取位器2与异步先进先出存储器1耦接,用于从异步先进先出存储器1获取待解码的码流数据。在嵌入式系统中,取位操作可采用硬件取位电路来实现,也可采用软件取位来实现。其中,采用硬件取位电路的取位器2具有很好的实时性。采用软件取位的取位器2可方便地实现缓冲错误保护(Buffer Error Protection)功能,保证取位操作的准确性。本说明书在此不做限制。
帧大小判别器3与异步先进先出存储器1耦接,用于检查异步先进先出存储器1中是否缓存有长度至少为当前解码所需数据长度的数据。以解码AAC帧头为例来说,AAC数据帧中帧头长度固定为7个字节,则帧大小判别器3检查异步先进先出存储器1中是否缓存有至少7个字节的数据。
在本实施例中,取位器2采用硬件取位电路来实现。由于实现缓冲错误保护功能需要加大电路面积以及采用更复杂的设计,大大增加成本,因此硬件取位电路一般不带有缓冲错误保护功能,而帧大小判别器3可有效防止硬件取位电路出错。因此在本实施例中,取位器2在取位前通过帧大小判别器3确认异步先进先出存储器1是否保存有足够量数据,以保证取位器2的正确取位。控制器4分别与帧大小判别器3、解码及错误检测装置5和后处理模块6耦接,用于控制和协调整个音频解码器的工作。当帧大小判别器3检查到异步先进先出存储器1中缓存有至少当前解码所需数据长度的数据时,控制器4控制取位器2执行获取异步先进先出存储器1中的数据的操作,并控制取位器2将获取到的数据传递给解码及错误检测装置5以对待解码的码流进行解码操作以及错误检测。当解码及错误检测装置5完成解码操作以及错误检测后,控制器4进一步控制解码及错误检测装置5将已解码的码流数据传递给后处理模块6进行后续处理以还原出原始的音频数据。
解码及错误检测装置5分别与取位器2和后处理模块6耦接,用于解码码流中的数据帧,并根据数据帧的长度信息和已解码数据位数判断数据帧是否出错。其中,数据帧的长度信息可从数据帧的帧头提供的信息、或数据帧的规格书(Specification)中提供的信息、或通过其它途径传递到解码端的信息获取得到。
以AAC为例来说,解码及错误检测装置5通过取位器2从异步先进先去存储器1获取若干数据位数后,通过查表(例如,二叉树搜索方法)得到解码出来的尺度因子或频谱数据。在解码的过程中,解码及错误检测装置5进一步判断数据帧是否出错,若出错,进行出错处理。
后处理模块6分别与解码及错误检测装置5和音频输出模块7耦接,用于接收解码后的码流数据并对接收到的数据进行后续处理,接着将完成处理的数据输出给音频输出模块7。以AAC为例,后处理模块6对解码后的尺度因子或频谱数据进行反量化、应用尺度因子、预测、声强/耦合、瞬时噪声定形、滤波器组和增益控制等处理后,得到脉冲编码调制(Pulse-code modulation,PCM)音频数据。本领域技术人员了解音频处理中后处理模块6,在此不再赘述。
音频输出模块7分别与后处理模块6和模数转换器8耦接,用于接收处理后的数据,并通过模数转换器8将处理后的数据转换为模拟信号,接着输出给喇叭(未图示)。
请参照图2,图2是图1中的解码及错误检测装置第一范例的结构示意图。如图2所示,解码及错误检测装置5包括:解码模块10、第一判断模块11和出错处理模块12。
解码模块10分别与取位器2和后处理模块6耦接,用于从取位器2获取待解码的码流数据后,解码码流中的数据帧,进一步将解码后的码流数据传送给后处理模块6。第一判断模块11与解码模块10耦接,在解码模块10执行解码码流中的数据帧的操作时,根据数据帧的长度信息和已解码数据位数判断数据帧是否出错。出错处理模块12与第一判断模块11耦接,在第一判断模块11判断数据帧出错时,对数据帧进行出错处理。
请参照图3,图3是图1中的解码及错误检测装置第二范例的结构示意图。如图3所示,解码及错误检测装置5包括:解码模块20、第一判断模块21和出错处理模块22。
解码模块20、出错处理模块22和图2解码及错误检测装置第一范例中的解码模块10、出错处理模块12类似,在此不再赘述。
当解码模块20依据码表解码数据帧时,第一判断模块21根据码表和当前取位数判断数据帧是否出错。具体来说,第一判断模块21包括码长范围获取单元211和第二判断单元212。
码长范围获取单元211与解码模块20耦接,用于获取与码表中当前取位数据对应的码字的码长范围。
第二判断单元212与码长范围获取单元211耦接,从码长范围获取单元211获取码长范围后,判断当前取位数是否在码长范围内。其中,当第二判断单元212判断当前取位数未在码长范围内时,出错处理模块22对数据帧进行出错处理。
请参照图4,图4是图1中的解码及错误检测装置第三范例的结构示意图。如图4所示,解码及错误检测装置5包括:解码模块30、第一判断模块31和出错处理模块32。
解码模块30、出错处理模块32和图2解码及错误检测装置第一范例中的解码模块10、出错处理模块12类似,在此不再赘述。
当解码模块30依据码表解码数据帧时,第一判断模块31根据长度信息判断累计取位数是否在数据帧的长度范围内以判断数据帧是否出错。具体来说,第一判断模块31包括剩余数据位数获取单元311、预定数据位数范围获取单元312和第一判断单元313。
剩余数据位数获取单元311与解码模块30耦接,用于根据累计取位数获取数据帧内未解码的剩余数据位数。具体来说,剩余数据位数获取单元311用于根据长度信息和累计取位数获取数据帧内未解码的剩余数据位数。其中,剩余数据位数对应于数据帧的长度和累计取位数之差。
预定数据位数范围获取单元312与解码模块30耦接,用于根据码表获取数据帧内未解码的码字对应的预定数据位数范围。具体来说,预定数据位数范围获取单元312分别获取数据帧内未解码的码字所使用的码表的码长范围,根据未解码的码字所使用的码表的码长范围获取未解码的码字对应的预定数据位数范围。其中,预定数据位数范围对应于未解码的码字所使用的码表的码长范围的累计求和值。
第一判断单元313分别与剩余数据位数获取单元311和预定数据位数范围获取单元312耦接,用于从剩余数据位数获取单元311获取剩余数据位数,从预定数据位数范围获取单元312获取预定数据位数范围,判断剩余数据位数是否在预定数据位数范围内。其中,当第一判断单元313判断剩余数据位数未在预定数据位数范围内,出错处理模块32对数据帧进行出错处理。
请参照图5,图5是图1中的解码及错误检测装置第四范例的结构示意图。如图5所示,解码及错误检测装置5包括:解码模块40、第一判断模块41、出错处理模块42和第二判断模块43。
解码模块40、出错处理模块42和图2解码及错误检测装置第一范例中的解码模块10、出错处理模块12类似,在此不再赘述。
解码模块40依据码表解码数据帧时,第一判断模块41根据长度信息判断累计取位数是否在数据帧的长度范围内,以及判断当前取位数是否在码长范围内来判断数据帧是否出错。
具体来说,第一判断模块41包括剩余数据位数获取单元411、预定数据位数范围获取单元412、第一判断单元413、码长范围获取单元414和第二判断单元415。
剩余数据位数获取单元411、预定数据位数范围获取单元412、第一判断单元413和图4中剩余数据位数获取单元311、预定数据位数范围获取单元312、第一判断单元313类似,码长范围获取单元414和第二判断单元415和图3中码长范围获取单元211和第二判断单元212类似,为简洁起见,此处不再赘述。
另外,第二判断模块43分别与第一判断单元413和解码模块40耦接,当第一判断单元413判断剩余数据位数在预定数据位数范围内时,第二判断模块43进一步判断是否已完成数据帧内所有码字的解码;若第二判断模块43判断未完成数据帧内所有码字的解码,解码模块40依据码表解码当前数据帧中的码字;若第二判断模块43判断已完成数据帧内所有码字的解码,解码模块40依据码表解码码流中的下一数据帧。
图6是本发明第一实施例的检测变长编码码流错误的方法的流程图。需注意的是,若有实质上相同的结果,本发明的方法并不以图6所示的流程顺序为限。如图6所示,该方法包括如下步骤:
步骤S201:解码码流中的数据帧;
步骤S202:根据数据帧的长度信息和已解码数据位数判断数据帧是否出错。
在步骤S201中,码流可以为AAC、MP3、APE、FLAC、APLC或其他变长编码音频格式的码流,码流以数据帧的格式传输编码后的音频数据,码流中的数据帧被解码后还原出码流中的音频数据。
在步骤S202中,数据帧的长度信息可从数据帧的帧头提供的信息、或数据帧的规格书(Specification)中提供的信息、或通过其它途径传递到解码端的信息获取得,已解码数据位数为数据帧中已解码的帧数据的比特数。根据数据帧的长度信息和已解码数据位数之间的差异,可以判断数据帧在解码的过程中是否发生数据帧解码错误,进而进行相应的出错处理。
通过上述实施方式,本发明第一实施例的检测变长编码码流错误的方法通过数据帧的长度信息和已解码数据位数来判断数据帧是否出错,实现了在CRC校验前即能检测出数据帧出错,从而避免数据帧出错导致的系统异常。具体来说,上述方法避免了因数据帧解码错误而出现声音不连续或尖锐爆音,甚至导致系统当机的问题。
图7是本发明第二实施例的检测变长编码码流错误的方法的流程图。需注意的是,若有实质上相同的结果,本发明的方法并不以图7所示的流程顺序为限。如图7所示,该方法包括如下步骤:
步骤S301:解码码流中的数据帧;
在本实施例中,步骤S301与图6中的步骤S201类似,在此不再赘述。
步骤S302:根据长度信息判断累计取位数是否在数据帧的长度范围内,若是,返回步骤S301,若否,执行步骤S303;在步骤S302中,累计取位数为从数据帧中累计已解码的数据位数。
举例来说,假设数据帧中有5个码字,其分别为A1、A2、A3、A4、A5,其对应的数据位数(以字节(Byte)为单位)分别为2、3、4、3、2。通常,对数据帧的解码是顺序进行的,也即解码出A1后再解码A2,解码出A2后再解码A3,……,依此类推,直至解码出数据帧中所有数据。在正常解码的条件下,假设已解码出A2,则对应的累计取位数为A1、A2的数据位数之和,即5字节;又假设已解码出A3,则对应的累计取位数为A1、A2、A3的数据位数之和,即9字节。
下面将承接上述举例阐述根据数据帧的长度信息判断累计取位数是否在数据帧的长度范围内的具体操作。
数据帧的长度信息可从数据帧的帧头提供的信息、或数据帧的规格书中提供的信息、或通过其它途径传递到解码端的信息获取得到。在本实施例中,获取得到的数据帧的长度为2+3+4+3+2,即14字节。
假设解码出A4时解到的位置是数据帧中的第15个字节,即累计取位数为15字节,此时累计取位数(15字节)大于长度信息(14字节),则可以判断出解码出A4时所对应的累计取位数大于数据帧的长度,也即解码出A4时所对应的累计取位数不在数据帧的长度范围内,数据帧出错。
假设已解码出最后一个编码数据,也即A5,此时解到的位置是数据帧中的第12个字节,也即累计取位数为12字节,此时,累计取位数小于长度信息,也即12字节小于14字节,可以判断出解码出A5所对应的累计取位数小于数据帧的长度,也即解码出A5所对应的累计取位数不在数据帧的长度范围内,数据帧出错。
步骤S303:对数据帧进行出错处理。在步骤S303中,出错处理包括丢弃码流中的出错帧或者将码流中的出错帧输出静音等等。
通过上述实施方式,本发明第二实施例的检测变长编码码流错误的方法根据数据帧的长度信息判断累计取位数是否在数据帧的长度范围内来判断数据帧是否出错,具体来说,当未完成数据帧的解码而出现累计取位数超出数据帧的长度范围,或当完成数据帧的解码而出现累计取位数小于数据帧的长度范围,则可判断出数据帧出错,从而解决了现有技术在数据帧解码完成后才能通过CRC校验检测出数据帧出错,避免数据帧出错导致的系统异常。
图8是本发明第三实施例的检测变长编码码流错误的方法的流程图。需注意的是,若有实质上相同的结果,本发明的方法并不以图8所示的流程顺序为限。如图8所示,该方法具体包括如下步骤:
步骤S401:依据码表解码码流中的数据帧。
步骤S402:根据累计取位数获取数据帧内未解码的剩余数据位数;在步骤S402中,根据数据帧的长度信息和累计取位数获取数据帧内未解码的剩余数据位数,其中,累计取位数为从数据帧中累计已解码的数据位数。
以AAC单声道码流为例,AAC单声道码流结构如下所示:
数据帧的结构如下所示:
数据帧包括帧头(FRAME HEADER),单声道单元(Signal_Channel_Element,简写为SCE)和结束单元(Terminator,简写为TERM)。具体来说,帧头包括12比特的帧头同步字(Syncword)“1111 1111 1111”和13比特的帧长度字(AAC_Frame_Length);SCE包括独立通道流信息(Ics_info)数据和缩放因子带(Scalefactor Band,SFB)数据,SFB数据采用huffman VLC编码,每个SFB数据就是一个码字,SFB数据位于帧尾;TERM固定为0X07,以标识数据帧的结束。
在对数据帧解码的过程中,通过读取AAC_Frame_Length的值可以获取数据帧长度,该长度为数据帧的整个长度,可以理解为其它数据长度和SFB数据长度之和。其中,其它数据长度为帧头长度、Ics_info长度等等的累计和。
假设从AAC_Frame_Length得到数据帧的长度为163个字节,从Ics_info获取得到传输的SFB数据的总数(MAX_SFB)为36个。
数据帧解码的过程中,假设已解码出第1个SFB,此时解到的位置是数据帧中的第120个字节,也即累计取位数为120字节-其它数据长度,此时,数据帧内未解码的剩余数据位数RENAIN_BITS=SFB数据长度-累计取位数,而根据上述文件结构可知,SFB数据长度=163字节-其它数据长度,故数据帧内未解码的剩余数据位数:
REMAIN_BITS=SFB数据长度-累计取位数=163-120=43字节。
步骤S403:根据码表获取数据帧内未解码的码字对应的预定数据位数范围;在步骤S403中,首先分别获取数据帧内未解码的码字对应于其所使用的码表的码长范围,然后根据码长范围获取所有未解码的码字对应的预定数据位数范围。其中,预定数据位数范围对应于未解码的码字所使用的码表的码长范围的累计求和值。
以AAC单声道码流为例来说,SCE中包括区段数据(Section_Data),从Section_Data可获取得到SCE中每个SFB数据使用的码表信息。具体来说,从Section_Data可获取得到未解码的码字对应的码表信息。例如,根据Section_Data得知,第2-36个SFB使用的码表分别为:第2-14个SFB使用码表6,第15-27个SFB使用码表4,第28-36个SFB使用码表2。举例来说,码表6中的码字的码长范围为大于等于4比特小于等于11比特,码表4中的码字的码长范围为大于等于4比特小于等于11比特,码表2中的码字的码长范围为大于等于3比特小于等于9比特。
未解码的码字的预定数据位数范围的最大值MAX_BITS为第2-36个SFB所使用的码表的最大码长的累计求和值,即当第2-14(共13)个SFB的码长取11比特,第15-27(共13)个SFB的码长取11比特,第28-36(共9)个SFB的码长取9比特时,最大码长范围为:
MAX_BITS=11*13+11*13+9*9=367比特。
未解码的码字的预定数据位数范围的最小值MIN_BITS为第2-36个SFB所使用的码表的最小码长的累计求和值,即当第2-14个SFB的码长取4比特,第15-27个SFB的码长取4比特,第28-36个SFB的码长取3比特时,最小码长范围为:
MIN_BITS=4*13+4*13+3*9=131比特。
步骤S404:判断剩余数据位数是否在预定数据位数范围内,若在预定数据位数范围内,执行步骤S405,若不在预定数据位数范围内,执行步骤S407;
以AAC单声道码流为例来说,已解码出第1个SFB后剩余数据位数为43字节,也即344比特,预定数据位数范围为大于等于131比特小于等于367比特,因344比特在131比特与367比特的范围内,说明在解码出第1个SFB后,剩余数据位数在预定数据位数范围内,则继续执行步骤S405。
假设已解码出第1个SFB后,此时解到的位置是数据帧中的第116个字节,则剩余数据位数=163-116=47字节=374比特,其大于预定数据位数范围的最大值367比特,说明在解码出第1个SFB后,剩余数据位数不在预定数据范围内,继续执行步骤S407。
步骤S405:判断是否已完成数据帧内所有码字的解码,若未完成,继续执行步骤S401,若已完成,执行步骤S406;在步骤S405中,可将已解码的最大码字序号与数据帧中码字的总数相比较并判断两者是否相等;若不相等,则表示未完成数据帧内所有码字的解码,继续执行步骤S401;若相等,则表示已完成数据帧内所有码字的解码,继续执行步骤S406。
以AAC单声道码流为例来说,假设已解码出第20个SFB,则已解码的最大码字序号为20,其小于MAX_SFB36,需继续解码数据帧中的第21个SFB。假设已解码出第36个SFB,则已解码的最大码字序号为36,其等于MAX_SFB,则表示数据帧已解码完毕,继续进行码流中下一数据帧的解码。
步骤S406:依据码表解码码流中下一数据帧;
步骤S407:对数据帧进行出错处理。在步骤S407中,对数据帧进行出错处理后,对排列在出错帧后的数据帧,可以通过寻找帧同步头的方式确定数据帧的起始位置,继而通过对数据帧继续进行解码操作以还原出原始数据。
过上述实施方式,本发明第三实施例的检测变长编码码流错误的方法根据未解码的剩余数据位数是否在预定数据位数范围来判断数据帧是否出错,可检测出因码流位反转或者其它传输错误而导致的数据帧出错,避免了数据帧出错导致的系统异常。
图9是本发明第四实施例的检测变长编码码流错误方法的流程图。需注意的是,若有实质上相同的结果,本发明的方法并不以图9所示的流程顺序为限。如图9所示,该方法包括如下步骤:
步骤S501:依据码表解码码流中的数据帧;在本实施例中,步骤S501与图8中的步骤S401类似,在此不再赘述。
步骤S502:根据码表和当前取位数判断数据帧是否出错。在步骤S502中,获取与码表中当前取位数对应的码字的码长范围;判断当前取位数是否在码长范围内;若当前取位数未在码长范围内,则对数据帧进行出错处理。
当前取位数为当前解码的码字所对应的取位数。在嵌入式系统中,码表一般保存在静态随机存储器(SRAM)或动态随机存储器(DRAM)中,其与系统中的其它数据统一编址。本领域技术人员可以了解,不管是SRAM还是DRAM,其存储单元的内容可按需随意取出或存入。如果解码出错或者其它解码异常,在对SRAM或DRAM的存储单元进行存入操作时,有可能导致码表的内容被修改或覆盖,进而导致当前取位数不在码长范围内。
举例来说,假设码表中有6个码字a1,a2,a3,a4,a5,a6分别为10、11、000、001、010、0110,可知当前码表的码长范围为大于等于2比特小于等于4比特。若在解码的过程中码表中的码字a1被修改为11011,a2被修改为10,假设待解码的码流为1101101011,则根据码表解码出第1个码字的原始值为a1,解码出第1个码字对应的当前取位数为5比特,依次为11011,其大于当前码表的最大码长4比特,说明当前取位数不在码表的码长范围内,由此可判断出在数据帧解码的过程中发生错误,进而进行出错处理。
在本实施例中,进行出错处理可以为重新初始化存储在存储器中的码表,以保证后续数据帧的正确解码。
通过上述实施方式,本发明第四实施例的检测变长编码码流错误的方法根据码表和当前取位数来判断数据帧是否出错,可以检测出因存储在随机存储器中码表发生变化而导致的数据帧出错,避免数据帧出错导致的系统异常。
图10是本发明第五实施例的检测变长编码码流错误的方法的流程图。需注意的是,若有实质上相同的结果,本发明的方法并不以图10所示的流程顺序为限。
如图10所示,图10与图8中第三实施例主要区别在于:
在步骤S401后,图10进一步包括步骤S601和S602,具体如下所示:
步骤S601:获取与码表中当前取位数对应的码字的码长范围;
具体而言,在图8实施例的基础上,当步骤S401执行完毕后,获取当前已解码的码字对应的码长范围,也就是说,获取当前已解码的码字所使用的码表的码长范围。
步骤S602:判断当前取位数是否在码长范围内,若在码长范围内,则继续执行步骤S402,若不在码长范围内,则继续执行步骤S407。在步骤S602中,若当前取位数在码长范围内,则表示数据帧的当前码字的解码正常。若当前取位数不在码长范围内,则表示数据帧的解码在当前码字已经发生错误。
图10所示流程图的其他步骤均已揭露于图8中,为简洁起见,此处不再赘述。通过上述实施方式,本发明第五实施例的检测变长编码码流错误的方法,首先通过判断当前取位数是否在码长范围内判断数据帧是否出错,然后通过判断未解码的剩余数据位数是否在预定数据位数范围进一步判断数据帧是否出错,可检测出因为码流位反转或者其它传输错误,以及因存储在随机存储器中码表发生变化而导致的数据帧出错,避免了数据帧出错而导致的系统异常。
图11是本发明第六实施例的检测变长编码码流错误的方法的流程图。需注意的是,若有实质上相同的结果,本发明的方法并不以图11所示的流程顺序为限。
如图11所示,图11与图8中第三实施例主要区别在于:
在步骤S404后,图11进一步包括步骤S701和S702。
图11所示流程图中的步骤S701和步骤S702与图10中的步骤S601和步骤S602类似,图11所示流程图的其他步骤均已揭露于图8中,为简洁起见,此处不再赘述。
通过上述实施方式,本发明第六实施例的检测变长编码码流错误的方法,首先通过判断未解码的剩余数据位数是否在预定数据位数范围判断数据帧是否出错,然后通过判断当前取位数是否在码长范围内进一步判断数据帧是否出错,可检测出因为码流位反转或者其它传输错误,以及因存储在随机存储器中码表发生变化而导致的数据帧出错,避免了数据帧出错而导致的系统异常。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (14)

1.一种检测变长编码码流错误的方法,其特征在于,所述方法包括:
依据码表解码所述码流中的数据帧,其中已解码数据位数包括累计取位数,所述累计取位数为从所述数据帧中累计已解码的数据位数;
根据所述数据帧的长度信息和所述已解码数据位数判断所述数据帧是否出错,该步骤包括:
根据所述累计取位数获取所述数据帧内未解码的剩余数据位数;
根据所述码表获取所述数据帧内未解码的码字对应的预定数据位数范围;
判断所述剩余数据位数是否在所述预定数据位数范围内;以及
若所述剩余数据位数未在所述预定数据位数范围内,则对所述数据帧进行出错处理。
2.根据权利要求1所述的检测变长编码码流错误的方法,其特征在于,
所述根据所述长度信息和已解码数据位数判断数据帧是否出错的步骤包括:
判断所述累计取位数是否在所述数据帧的长度范围内;以及
若所述累计取位数未在所述数据帧的长度范围内,则对所述数据帧进行出错处理。
3.根据权利要求1所述的检测变长编码码流错误的方法,其特征在于,所述根据所述累计取位数获取所述数据帧内未解码的剩余数据位数的步骤包括:
根据所述长度信息和所述累计取位数获取所述数据帧内未解码的剩余数据位数。
4.根据权利要求3所述的检测变长编码码流错误的方法,其特征在于,所述根据所述码表获取所述数据帧内未解码的码字对应的预定数据位数范围的步骤包括:
分别获取所述数据帧内未解码的码字所使用的所述码表的码长范围;
根据所述未解码的码字所使用的所述码表的所述码长范围获取所述未解码的码字对应的预定数据位数范围;
其中,所述预定数据位数范围对应于所述未解码的码字所使用的所述码表的所述码长范围的累计求和值。
5.根据权利要求1所述的检测变长编码码流错误的方法,其特征在于,所述已解码数据位数进一步包括当前取位数,所述方法进一步包括:
获取所述当前取位数所使用的所述码表对应的码长范围;
判断所述当前取位数是否在所述码长范围内;以及
若所述当前取位数未在所述码长范围内,则对所述数据帧进行出错处理。
6.根据权利要求1所述的检测变长编码码流错误的方法,其特征在于,所述方法进一步包括:
若所述剩余数据位数在所述预定数据位数范围内,进一步判断是否已完成所述数据帧内所有码字的解码;以及
若未完成所述数据帧内所有码字的解码,则依据所述码表解码所述数据帧。
7.一种检测变长编码码流错误的方法,其特征在于,所述方法包括:
依据码表解码所述码流中的数据帧;以及
根据所述码表和当前取位数判断所述数据帧是否出错,该步骤包括:
获取与所述当前取位数所使用的所述码表对应的码长范围;
判断所述当前取位数是否在所述码长范围内;以及
若所述当前取位数未在所述码长范围内,则对所述数据帧进行出错处理。
8.一种解码及错误检测装置,其特征在于,所述装置包括:
解码模块,依据码表解码码流中的数据帧,其中已解码数据位数包括累计取位数,所述累计取位数为从所述数据帧中累计已解码的数据位数;
第一判断模块,耦接于所述解码模块,包括剩余数据位数获取单元、预定数据位数范围获取单元及第一判断单元;以及
出错处理模块,耦接于所述第一判断模块,其中在所述解码模块解码所述数据帧后,所述第一判断模块根据所述数据帧的长度信息和已解码数据位数判断所述数据帧是否出错,当所述第一判断模块判断所述数据帧出错时,所述出错处理模块对所述数据帧进行出错处理;
其中,所述剩余数据位数获取单元根据所述累计取位数获取所述数据帧内未解码的剩余数据位数;
所述预定数据位数范围获取单元根据所述码表获取所述数据帧内未解码的码字对应的预定数据位数范围;
所述第一判断单元判断所述剩余数据位数是否在所述预定数据位数范围内;其中,当所述第一判断单元判断所述剩余数据位数未在所述预定数据位数范围内,所述出错处理模块对所述数据帧进行出错处理。
9.根据权利要求8所述的装置,其特征在于,所述第一判断模块用于根据所述长度信息判断所述累计取位数是否在所述数据帧的长度范围内;当所述第一判断模块判断所述累计取位数未在所述长度范围内,所述出错处理模块对所述数据帧进行出错处理。
10.根据权利要求8所述的装置,其特征在于,所述剩余数据位数获取单元根据所述长度信息和所述累计取位数获取所述数据帧内未解码的剩余数据位数。
11.根据权利要求10所述的装置,其特征在于,所述预定数据位数范围获取单元分别获取所述数据帧内未解码的码字所使用的所述码表的码长范围,根据所述未解码的码字所使用的所述码表的所述码长范围获取所述未解码的码字对应的预定数据位数范围,其中,所述预定数据位数范围对应于所述未解码的码字所使用的所述码表的所述码长范围的累计求和值。
12.根据权利要求8所述的装置,其特征在于,所述已解码数据位数进一步包括当前取位数,所述第一判断模块进一步包括:
码长范围获取单元,用于获取所述当前取位数所使用的所述码表对应的码长范围;
第二判断单元,从所述码长范围获取单元获取所述码长范围,判断所述当前取位数是否在所述码长范围内;
其中,当所述第二判断单元判断所述当前取位数未在所述码长范围内,所述出错处理模块对所述数据帧进行出错处理。
13.根据权利要求8所述的装置,其特征在于,所述装置进一步包括:
第二判断模块,当所述第一判断单元判断所述剩余数据位数在所述预定数据位数范围内时,判断是否已完成所述数据帧内所有码字的解码;
若所述第二判断模块判断未完成所述数据帧内所有码字的解码,所述解码模块执行依据所述码表解码所述数据帧的操作。
14.一种解码及错误检测装置,其特征在于,所述装置包括:
解码模块;
第一判断模块,耦接于所述解码模块,包括码长范围获取单元和第二判断单元;以及
出错处理模块,耦接于所述第一判断模块,其中在所述解码模块依据码表解码码流的数据帧后,所述第一判断模块根据所述码表和当前取位数判断所述数据帧是否出错,当所述第一判断模块判断所述数据帧出错时,所述出错处理模块对所述数据帧进行出错处理;
其中,所述码长范围获取单元获取所述当前取位数所使用的所述码表对应的码长范围;
所述第二判断单元从所述码长范围获取单元获取所述码长范围,判断所述当前取位数是否在所述码长范围内;
其中,当所述第二判断单元判断所述当前取位数未在所述码长范围内,所述出错处理模块对所述数据帧进行出错处理。
CN201310176084.XA 2013-05-13 2013-05-13 一种检测变长编码码流错误的方法和解码及错误检测装置 Active CN103269257B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310176084.XA CN103269257B (zh) 2013-05-13 2013-05-13 一种检测变长编码码流错误的方法和解码及错误检测装置
US14/265,346 US9608671B2 (en) 2013-05-13 2014-04-29 Error detection method of variable-length coding code stream and decoding and error detection apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310176084.XA CN103269257B (zh) 2013-05-13 2013-05-13 一种检测变长编码码流错误的方法和解码及错误检测装置

Publications (2)

Publication Number Publication Date
CN103269257A CN103269257A (zh) 2013-08-28
CN103269257B true CN103269257B (zh) 2016-08-24

Family

ID=49012869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310176084.XA Active CN103269257B (zh) 2013-05-13 2013-05-13 一种检测变长编码码流错误的方法和解码及错误检测装置

Country Status (2)

Country Link
US (1) US9608671B2 (zh)
CN (1) CN103269257B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104637543B (zh) * 2014-12-10 2019-02-19 珠海艾派克微电子有限公司 芯片和使用该芯片的墨盒
CN105047200A (zh) * 2015-07-21 2015-11-11 重庆邮电大学 一种基于fpga的flac硬件解码器及解码方法
US20170214413A1 (en) * 2016-01-21 2017-07-27 HGST Netherlands B.V. Joint source-channel coding with dynamic dictionary for object-based storage
WO2019227323A1 (zh) * 2018-05-30 2019-12-05 深圳市大疆创新科技有限公司 变长解码方法与装置
CN109522262B (zh) * 2018-10-10 2022-12-13 上海亚明照明有限公司 适用于不定长数据帧的接收方法、系统、电子终端及存储介质
CN114051164B (zh) * 2021-11-16 2022-10-25 重庆紫光华山智安科技有限公司 解码异常码流生成方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006124850A2 (en) * 2005-05-13 2006-11-23 Qualcomm Incorporated Method and apparatus for improved multimedia decoder
CN101494461A (zh) * 2009-01-15 2009-07-29 中国科学院研究生院 联合信源信道可变长符号级可逆编解码方法
CN102349272A (zh) * 2009-04-27 2012-02-08 松下电器产业株式会社 编码流解码装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US6330665B1 (en) * 1992-06-30 2001-12-11 Discovision Associates Video parser
US6435737B1 (en) * 1992-06-30 2002-08-20 Discovision Associates Data pipeline system and data encoding method
US5809270A (en) * 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US6047112A (en) * 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US6112017A (en) * 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
US6067417A (en) * 1992-06-30 2000-05-23 Discovision Associates Picture start token
US7095783B1 (en) * 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US6079009A (en) * 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
US5603012A (en) * 1992-06-30 1997-02-11 Discovision Associates Start code detector
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
CA2145363C (en) * 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
CN1126270C (zh) * 1997-07-11 2003-10-29 皇家菲利浦电子有限公司 使用可变长度编码器的传输系统
US6404817B1 (en) * 1997-11-20 2002-06-11 Lsi Logic Corporation MPEG video decoder having robust error detection and concealment
US9083994B2 (en) * 2006-09-26 2015-07-14 Qualcomm Incorporated Method and system for error robust audio playback time stamp reporting
EP2259432A1 (en) * 2008-03-31 2010-12-08 Panasonic Corporation Variable-length code decoding apparatus and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006124850A2 (en) * 2005-05-13 2006-11-23 Qualcomm Incorporated Method and apparatus for improved multimedia decoder
CN101494461A (zh) * 2009-01-15 2009-07-29 中国科学院研究生院 联合信源信道可变长符号级可逆编解码方法
CN102349272A (zh) * 2009-04-27 2012-02-08 松下电器产业株式会社 编码流解码装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《A Variable-Length Source Coding Theorem for Correlated Information Sources》;SHYUE-CHING LU;《PROCEEDINGS OF LETTERS -IEEE》;吃那个;19770731(第7期);第1078-1079页 *
《MPEG-4差错复原技术在无线视频通信中的应用研究》;赵建伟;《智能控制技术》;20060731(第7期);第95-99页 *

Also Published As

Publication number Publication date
CN103269257A (zh) 2013-08-28
US20140337692A1 (en) 2014-11-13
US9608671B2 (en) 2017-03-28

Similar Documents

Publication Publication Date Title
CN103269257B (zh) 一种检测变长编码码流错误的方法和解码及错误检测装置
US10587286B1 (en) Methods and devices for handling equiprobable symbols in entropy coding
RU2493651C2 (ru) Способ кодирования символа, способ декодирования символа, способ передачи символа от передатчика к приемнику, кодер, декодер и система для передачи символа от передатчика к приемнику
US9275644B2 (en) Devices for redundant frame coding and decoding
CN1322405A (zh) 信息字的平均信息量编码设备和方法,平均信息量编码信息字的解码设备和方法
US20140122964A1 (en) Error checking and correction method for determining an error correction code length and related error checking and correction circuit
CN113490981A (zh) 音频发送器处理器、音频接收器处理器以及相关方法和计算机程序
KR101279857B1 (ko) 적응적 멀티 레이트 코덱 모드 디코딩 방법 및 장치
CN104081701A (zh) 光网络系统的通信方法、系统及装置
CN103825660A (zh) 一种次超声波通信中编解码方法及系统
JP4531261B2 (ja) 分散音声認識プロセスにおける受信データの処理方法および装置
CN117713840A (zh) 一种星载计算机的纠检错编码方法
CN105047200A (zh) 一种基于fpga的flac硬件解码器及解码方法
US10355823B2 (en) System and method for block-coding transcoding
JP2715398B2 (ja) 誤り訂正符復号化装置
US7825834B2 (en) Scalable audio data arithmetic decoding method, medium, and apparatus, and method, medium, and apparatus truncating audio data bitstream
EP0551646A2 (en) Concatenated block and convolution encoder-decoder
CN113131947B (zh) 译码方法、译码器和译码装置
US6357031B1 (en) Serial data transmission apparatus and method with a data checking feature
US9460725B2 (en) Method, medium, and apparatus encoding and/or decoding extension data for surround
JP2002533013A (ja) フレーム内に構造化された情報の伝送符号化乃至復号化用の方法及び装置
RU2782730C1 (ru) Процессор передатчика звуковых сигналов, процессор приемника звуковых сигналов и связанные с ними способы и носители данных
CN1366659A (zh) 具有音调变化检测的纠错方法
CN101819776A (zh) 嵌入和获取声源定向信息的方法及音频编解码方法和系统
US20030233610A1 (en) Error correcting device and method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: JIEFA TECHNOLOGY (HEFEI) CO., LTD.

Free format text: FORMER OWNER: MEDIATEK SG PTE CO., LTD.

Effective date: 20140305

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; TO: 230000 HEFEI, ANHUI PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20140305

Address after: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park

Applicant after: Smart technology (Hefei) Co., Ltd.

Address before: One of the third floor, Soras building, 1st Avenue, Singapore

Applicant before: Mediatek (Singapore) Pte. Ltd.

TA01 Transfer of patent application right
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park

Patentee after: Hefei Jie FA Technology Co., Ltd.

Address before: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park

Patentee before: Smart technology (Hefei) Co., Ltd.

CP01 Change in the name or title of a patent holder