CN117615150A - 一种多媒体信息解码方法及相关装置 - Google Patents
一种多媒体信息解码方法及相关装置 Download PDFInfo
- Publication number
- CN117615150A CN117615150A CN202311656765.6A CN202311656765A CN117615150A CN 117615150 A CN117615150 A CN 117615150A CN 202311656765 A CN202311656765 A CN 202311656765A CN 117615150 A CN117615150 A CN 117615150A
- Authority
- CN
- China
- Prior art keywords
- storage space
- sub
- decoding
- main service
- multimedia information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000005540 biological transmission Effects 0.000 claims abstract description 107
- 125000004122 cyclic group Chemical group 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 23
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种多媒体信息解码方法及相关装置,在该方法中,接收待解码的多媒体信息;多媒体信息为基于多媒体对象传输MOT协议的MOT层、传输层和网络层依次编码得到;将多媒体信息存入与多媒体信息对应的存储空间,并在存储空间内基于多媒体信息进行网络层、传输层和MOT层的解码,获得多媒体信息的解码结果。在对多媒体信息进行解码前,将多媒体信息存入与其对应的存储空间,一个存储空间与一个多媒体信息相对应,能够区分出不同的多媒体信息,降低待解码的多媒体信息的复杂度。且在存储空间内对多媒体信息进行解码,避免其受其他多媒体信息的影响,降低多媒体信息的解码难度,提高多媒体信息传输的准确性,进而提高用户的视听体验。
Description
技术领域
本申请涉及多媒体技术领域,特别是涉及一种多媒体信息解码方法及相关装置。
背景技术
随着智能终端的快速普及,给用户带来了许多便捷的服务。以车载智能终端为例,如今大多数的车载智能系统都可以实现如文字显示(路况、气象、新闻等)以及图像显示等多媒体信息的呈现。
相关技术中,为了避免终端设备错过多媒体信息,通常基于具有重复传输机制的多媒体对象传输协议(Multimeida Object Transfer,MOT)在广播信道中传输多媒体信息,基于MOT协议对多媒体信息进行编码和解码,解码后的多媒体信息可以呈现给用户。
然而,MOT协议的复杂度高,导致其编码得到的待解码的多媒体信息的数据复杂度也高,且可能会同时传输多个多媒体信息,MOT协议也会重复传输多媒体信息,这些情况均会增加多媒体信息传输时的数据复杂度,导致在基于MOT协议对其进行解码的过程中容易出现问题,进而造成多媒体信息传输错误、传输不完整等情况,容易降低用户的视听体验。
发明内容
有鉴于此,本申请实施例提供了一种多媒体信息解码方法及相关装置,目的是提供一种多媒体信息解码方案,提高多媒体信息传输的准确性,进而提高用户的视听体验。
第一方面,本申请实施例提供了一种多媒体信息解码方法,所述方法包括:
接收待解码的多媒体信息;所述多媒体信息为基于多媒体对象传输MOT协议的MOT层、传输层和网络层依次编码得到;
将所述多媒体信息存入与所述多媒体信息对应的存储空间,并在所述存储空间内基于所述多媒体信息进行网络层、传输层和MOT层的解码,获得所述多媒体信息的解码结果;
其中,在所述网络层的解码过程中产生的所述多媒体信息的第一相关数据也存入所述存储空间,用于所述传输层的解码;在所述传输层的解码过程中产生的所述多媒体信息的第二相关数据也存入所述存储空间,用于所述MOT层的解码。
可选地,所述多媒体信息包括多个多媒体数据,所述存储空间包括第一子存储空间和第二子存储空间,所述将所述多媒体信息存入与所述多媒体信息对应的存储空间,并在所述存储空间内基于所述多媒体信息进行网络层、传输层和MOT层的解码,获得所述多媒体信息的解码结果,包括:
在所述网络层,将所述多个多媒体数据一一存入对应的第一子存储空间,对每个第一子存储空间内的多媒体数据进行解码得到主业务数据组作为所述第一相关数据;
在所述传输层,对每个第一子存储空间内的主业务数据组进行解码得到主业务数据字段作为所述第二相关数据,并将解码得到的主业务数据字段存入所述第二子存储空间;所述主业务数据字段用于存储对应的主业务数据组的正文信息,所述主业务数据组的正文信息用于所述MOT层的解码;
在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,对所述多个主业务数据字段进行解码得到所述多媒体信息的解码结果。
可选地,每个多媒体数据包括具有相同传输地址的多个数据包,所述在所述网络层,将所述多个多媒体数据一一存入对应的第一子存储空间,对每个第一子存储空间内的多媒体数据进行解码得到主业务数据组,包括:
在所述网络层,针对每个多媒体数据,将接收到的具有相同传输地址的数据包存入同一第一子存储空间;
直至一个多媒体数据的多个数据包均已存入该多媒体数据对应的第一子存储空间,对所述第一子存储空间内的多媒体数据进行解码得到主业务数据组。
可选地,每个多媒体数据包括均具有第一标识的多个子数据,所述第一标识用于表征子数据在对应的多媒体数据中的位置;所述在所述网络层,将所述多个多媒体数据一一存入对应的第一子存储空间,对每个第一子存储空间内的多媒体数据进行解码得到主业务数据组,包括:
在所述网络层,基于接收到的子数据的第一标识,直至确定一个多媒体数据的多个子数据均已接收到后,将一个多媒体数据的多个子数据均存入该多媒体数据对应的第一子存储空间;
对所述第一子存储空间内的多个子数据进行解码得到主业务数据组。
可选地,每个主业务数据组具有第二标识,所述第二标识用于表征主业务数据组对应的主业务数据字段在所述多媒体信息中的位置,所述在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,对所述多个主业务数据字段进行解码得到所述多媒体信息的解码结果,包括:
在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段后,对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果;所述目标标识用于表征对应的主业务数据组中的主业务数据字段为所述多媒体信息对应的最后一个字段。
可选地,每个主业务数据组还具有序号,所述序号用于判定所述多媒体信息对应的多个主业务数据组之间的连续性;所述在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段后,对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果,包括:
在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段,且所述第二子存储空间中的多个主业务数据字段分别对应的主业务数据组的序号为连续的整数,则对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果。
可选地,所述存储空间还包括第三子存储空间和第四子存储空间,所述在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,对所述多个主业务数据字段进行解码得到所述多媒体信息的解码结果,包括:
在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,将所述多个主业务数据字段中具有头部标识的主业务数据字段存入所述第三子存储空间,并将所述多个主业务数据字段中具有正文标识的主业务数据字段存入所述第四子存储空间;
分别对所述第三子存储空间内的主业务数据字段和所述第四子存储空间内的主业务数据字段进行解码,得到所述多媒体信息的解码结果。
可选地,所述多媒体信息包括幻灯片图像,所述分别对所述第三子存储空间内的主业务数据字段和所述第四子存储空间内的主业务数据字段进行解码,得到所述多媒体信息的解码结果,包括:
对所述第三子存储空间内的主业务数据字段进行解码后,得到解码后的头部信息;
从所述解码后的头部信息中,确定所述幻灯片图像的预期显示时间;
对所述第四子存储空间内的主业务数据字段进行解码后,得到解码后的正文信息;
若当前到达所述预期显示时间,则将所述解码后的正文信息转换成目标格式的幻灯片图像;所述目标格式的幻灯片图像用于向用户展示。可选地,所述分别对所述第三子存储空间内的主业务数据字段和所述第四子存储空间内的主业务数据字段进行解码,得到所述多媒体信息的解码结果,包括:
对所述第三子存储空间内的主业务数据字段进行解码,得到解码后的头部信息;
若基于所述解码后的头部信息确定所述多媒体信息为电子节目指南EPG标志,则对所述第四子存储空间内的主业务数据字段进行解码得到所述EPG标志;
将所述EPG标志转换为目标格式的EPG标志;所述目标格式的EPG标志用于向用户展示。可选地,所述直至一个多媒体数据的多个数据包均已存入该多媒体数据对应的第一子存储空间,对所述第一子存储空间内的多媒体数据进行解码得到主业务数据组,包括:
若该多媒体数据对应的第一子存储空间内的多个数据包的索引标识为连续的多个整数,则对所述第一子存储空间内的多媒体数据进行解码得到主业务数据组。
可选地,所述方法还包括:
对接收到的数据包进行数据长度校验和循环冗余校验码校验;
所述将接收到的具有相同传输地址的数据包存入同一第一子存储空间,具体包括:
将数据长度校验和循环冗余校验码校验均通过的具有相同传输地址的数据包存入同一第一子存储空间。
第二方面,本申请实施例提供了一种多媒体信息解码装置,所述装置包括:
信息接收模块,用于接收待解码的多媒体信息;所述多媒体信息为基于多媒体对象传输MOT协议的MOT层、传输层和网络层依次编码得到;
信息解码模块,用于将所述多媒体信息存入与所述多媒体信息对应的存储空间,并在所述存储空间内基于所述多媒体信息进行网络层、传输层和MOT层的解码,获得所述多媒体信息的解码结果;
其中,在所述网络层的解码过程中产生的所述多媒体信息的第一相关数据也存入所述存储空间,用于所述传输层的解码;在所述传输层的解码过程中产生的所述多媒体信息的第二相关数据也存入所述存储空间,用于所述MOT层的解码。
第三方面,本申请实施例提供了一种电子设备,所述设备包括存储器以及解码器:
所述存储器,用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述解码器,用于执行所述计算机程序,以使所述设备执行前述第一方面所述的多媒体信息解码方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被运行时,运行所述计算机程序的设备实现前述第一方面所述的多媒体信息解码方法。
相较于现有技术,本申请实施例具有以下有益效果:
本申请实施例提供了一种多媒体信息解码方法及相关装置。在该方法中,先接收到需要解码的多媒体信息,该多媒体信息是基于MOT协议的MOT层、传输层和网络层依次编码得到的;再将该多媒体信息存入与其对应的存储空间,随后在该存储空间中对多媒体信息进行网络层、传输层和MOT层的解码。其中,在网络层解码的过程中会产生多媒体信息的第一相关数据,将其存入存储空间,用于传输层的解码。在传输层解码的过程中会产生多媒体信息的第二相关数据,将其存入存储空间,用于MOT层的解码。
如此,在对多媒体信息进行解码前,可以将多媒体信息存入与其对应的存储空间,一个存储空间中仅有一个多媒体信息,能够区分出不同的多媒体信息,进而降低待解码的多媒体信息的复杂度。在该存储空间内对待解码的多媒体信息进行解码,避免其受其他多媒体信息的影响,能够降低多媒体信息的解码难度,提高多媒体信息传输的准确性,进而提高用户的视听体验。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种对多媒体信息进行编解码的示意图;
图2为本申请实施例提供的一种多媒体信息解码方法的场景图;
图3为本申请实施例提供的一种多媒体信息解码方法的流程图;
图4为本申请实施例提供的一种主业务数据组被打包成多个数据包的示意图;
图5为本申请实施例提供的一种数据包的结构示意图;
图6为本申请实施例提供的一种通过网络层对多媒体信息进行解码的流程图;
图7为本申请实施例提供的一种音频帧包括的X-PAD区的示意图;
图8为本申请实施例提供的一种主业务数据组被拆分成多个X-PAD数据子字段的示意图;
图9为本申请实施例提供的另一种通过网络层对多媒体信息进行解码的流程图;
图10为本申请实施例提供的一种主业务数据组的结构示意图;
图11为本申请实施例提供的一种MOT对象的结构示意图;
图12为本申请实施例提供的一种SLS图像的显示方法的流程图;
图13为本申请实施例提供的一种MOT目录信息的结构示意图;
图14为本申请实施例提供的一种元素与属性的关系示意图;
图15为本申请实施例提供的一种EPG数据的编码结构示意图;
图16为本申请实施例提供的一种基于编码结构的元素和标签的对应示意图;
图17为本申请实施例提供的一种具体的通过MOT层对MOT body进行第二次解码的流程图;
图18为本申请实施例提供的一种多媒体信息解码装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,考虑到终端设备可能由于多媒体信息接收器被关闭、信号中断、被调谐到另一个多媒体服务或者传输多媒体信息的无线电广播信道的条件恶化等情况,错过多媒体信息,目前通常会采用具有重复传输机制的MOT协议负责多媒体信息的传输,也即基于MOT协议对多媒体信息进行编码,再基于MOT协议对多媒体信息进行解码,将解码后的多媒体信息呈现给用户。
然而,MOT协议的复杂度高,使得基于其得到的编码后的多媒体信息的数据复杂度也变高,同时,MOT协议可能会重复传输多媒体信息的相关数据,且每个多媒体信息被编码后会被拆分成多个相关数据,在解码时可能会有多个多媒体信息分别对应的相关数据穿插着传输。例如多媒体信息1的相关数据a编码后先等待解码,多媒体信息2的相关数据1编码后等待解码,随后多媒体信息1的相关数据b编码后等待解码。这些情况均可能增加多媒体信息传输时的数据复杂度,容易增大多媒体信息的解码难度,进而造成多媒体信息传输错误、传输不完整等情况,降低了用户的视听体验。
基于此,为了解决上述问题,本申请实施例提供了一种多媒体信息解码方法及相关装置,目的是提供一种多媒体信息解码方案,提高多媒体信息传输的准确性,进而提高用户的视听体验。在该方法中,接收待解码的多媒体信息;多媒体信息为基于多媒体对象传输MOT协议的MOT层、传输层和网络层依次编码得到;将多媒体信息存入与多媒体信息对应的存储空间,并在存储空间内基于多媒体信息进行网络层、传输层和MOT层的解码,获得多媒体信息的解码结果;其中,在网络层解码的过程中会产生多媒体信息的第一相关数据,将其存入存储空间,用于传输层的解码。在传输层解码的过程中会产生多媒体信息的第二相关数据,将其存入存储空间,用于MOT层的解码。
在对多媒体信息进行解码前,将多媒体信息存入与其对应的存储空间,由此一个存储空间与一个多媒体信息相对应,能够区分出不同的多媒体信息,降低待解码的多媒体信息的复杂度。且在存储空间内对多媒体信息进行解码,避免其受其他多媒体信息的影响,能够降低多媒体信息的解码难度,提高多媒体信息传输的准确性,进而提高用户的视听体验。
为了便于理解,先结合图1所示的一种对多媒体信息进行编解码的示意图,对基于MOT协议对多媒体信息进行编解码的过程进行介绍。基于MOT协议对多媒体信息进行编码的编码格式分为包模式和流模式两种。结合图1所示,通过内容/服务提供商Content/Serviceprovider得到多媒体信息,再通过MOT层的MOT编码器encoder对多媒体信息进行编码得到MOT对象。若进行包模式的编码,则通过传输层的包模式编码器Packet mode encoder和包多路复用器Packet Multiplexer将其打包成多个主业务数据组,再通过网络层的DAB集成多路复用器ensemble multiplexer,将每个主业务数据组打包成多个相连的具有相同传输地址的多个数据包。解码时,先后通过网络层的DAB集成多路分解器ensembledemultiplexer、包模式解码器Packet mode decoder、MOT解码器decoder对编码后的多媒体信息进行解码得到解码结果,再通过终端Terminal设备呈现给用户。若进行流模式的编码,则在传输层时,需通过节目伴随数据编码器(Programme Associated Data,PAD)encoder和音频编码器Audio encoder对MOT对象进行编码得到多个子数据。其他层的编码过程相同,在此不再赘述。解码时,先后通过网络层的DAB ensembledemultiplexer、PAD decoder、MOT decoder对编码后的多媒体信息进行解码得到解码结果。
举例来说,本申请实施例提供的多媒体信息解码方法可以应用到如图2所示的应用场景中,图2为本申请实施例提供的一种多媒体信息解码方法的场景图。该场景包括具有车载智能终端200的汽车。车载智能终端200接收待解码的多媒体信息,该多媒体信息是基于MOT协议的MOT层、传输层和网络层依次编码得到的,车载智能终端110再将多媒体信息存入与多媒体信息对应的存储空间,并在存储空间内基于多媒体信息进行网络层、传输层和MOT层的解码,获得多媒体信息的解码结果;其中,在网络层的解码过程中产生的多媒体信息的第一相关数据也存入存储空间,用于传输层的解码;在传输层的解码过程中产生的多媒体信息的第二相关数据也存入存储空间,用于MOT层的解码。图2中基于各层对多媒体进行编解码的过程可以参见上文图1的介绍,在此不再赘述。
需要说明的是,在上述应用场景中,虽然将本申请实施例提供的实施方式的动作描述由车载智能终端110执行;但是,本申请实施例在执行主体方面不受限制,只要执行了本申请实施例提供的实施方式所公开的动作即可。且上述场景仅是本申请实施例提供的一个场景示例,本申请实施例并不限于此场景。示例性地,该多媒体信息解码方法及相关装置可以应用于终端设备或服务器等数据处理设备。举例来说,终端设备可以为智能手机、计算机、平板电脑等电子设备。服务器可以为独立服务器、集群服务器或云服务器等。该多媒体信息解码方法及相关装置也可以由终端设备和服务器协同执行。其中,终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接。故本申请实施例中对于执行本申请技术方案的实现主体不做限定,可支持对待解码的多媒体信息进行解码即可。
下面结合附图,通过实施例来详细说明本申请实施例中多媒体信息解码方法及相关装置的具体实现方式。
下文实施例中,以终端设备为执行主体对本申请所提供的多媒体信息解码方法进行介绍。
参见图3,该图为本申请实施例提供的一种多媒体信息解码方法的流程图,结合图3所示,具体可以包括:
S301:接收待解码的多媒体信息。
在本申请实施例中,待解码的多媒体信息是指基于MOT协议的MOT层、传输层和网络层依次编码得到的多媒体信息。多媒体信息是指以文字、图像、影像、声音和动画等为表现形式的媒体信息。而在编码过程中,一个多媒体信息可以称为一个MOT对象,编码后的多媒体信息为编码后的MOT对象。因此,待解码的多媒体信息也可称为待解码的MOT对象。
示例性地,多媒体信息可以是电子节目指南(Electrical Program Guide,EPG),幻灯片图像(SlideShow,SLS),或者歌曲信息、艺术家信息、天气、新闻头条、体育比赛结果等文字。本申请对此不做限定。
S302:将多媒体信息存入与多媒体信息对应的存储空间,并在存储空间内基于所述多媒体信息进行网络层、传输层和MOT层的解码,获得多媒体信息的解码结果。
在本申请实施例中,存储空间是指对多媒体信息进行解码的过程中为多媒体信息申请的空间。作为一种示例,可以预先创建结构体变量,创建好后,终端设备可以为分配存储空间,将多媒体信息作为该结构体变量的成员,对结构体变量进行赋值,即为将多媒体信息存入到存储空间。也可以预先创建包括结构体指针数组,其中包括多个结构体指针,每个结构体指针指向结构体变量对应的存储空间的地址,结构体指针数组所存储的内容较多。可以根据多媒体信息的数据长度动态申请存储空间,将申请成功的存储空间的地址存储在结构体指针数组中,通过结构体指针数组中的结构体指针可以访问并读取到对应的存储空间中存储的多媒体信息。
可以理解的是,待解码的多媒体信息是经过基于MOT协议的MOT层、传输层和网络层逐层编码得到的,因此在对多媒体信息进行解码的过程中,也需经过基于MOT协议的网络层、传输层和MOT层逐层进行解码。而在所述网络层的解码过程中会产生所述多媒体信息的第一相关数据,在所述传输层的解码过程中会产生所述多媒体信息的第二相关数据,第一相关数据和第二相关数据也需存入存储空间,以分别用于传输层和所述MOT层的解码。
作为一种示例,可以基于芯片SAF4000对待解码的多媒体信息进行解码,SAF4000可以覆盖多种广播音频制式,包括调幅广播AM/调频广播FM、数字音频广播(Digital AudioBroadcasting,DAB)、数字无线广播(Digital Radio Mondiale,DRM)、数字广播(High-Definition Radio,HD-Radio)等。也可以采用其他支持对多媒体信息进行解码的芯片,依据芯片手册适配调整,本申请对此不作限定。本申请实施例提供的多媒体信息解码方法可以基于芯片SAF4000对广播音频制式为DAB的多媒体信息进行解码。
为了便于理解,下文实施例中以多媒体信息的广播音频制式为DAB为例进行介绍。
正如上文提及的待解码的多媒体信息需经过基于MOT协议的网络层、传输层和MOT层逐层进行解码。在本申请一种可能的实施方式中,待解码的多媒体信息被编码成包括多个多媒体数据的多媒体信息。上述存储空间可以包括第一子存储空间和第二子存储空间,则上述S302具体可以细分为以下步骤:
步骤3021:在所述网络层,将接收到的多个多媒体数据一一存入对应的第一子存储空间,对每个第一子存储空间内的多媒体数据进行解码得到主业务数据组作为所述第一相关数据。
在本申请实施例中,一个多媒体数据即由上文提及的包模式下多个具有相同传输地址的多个数据包组成,或者由流模式下的多个子数据组成。而在编码过程中是将一个主业务数据组编码成多个具有相同传输地址的多个数据包,或者多个子数据。因此,多媒体数据也可称为待解码的主业务数据组。一个多媒体数据存入与其对应的第一子存储空间中,在一个第一子存储空间中对一个多媒体数据进行解码得到主业务数据组。
其中,上述子数据即是指X-PAD字段存储的数据。在本申请一种可能的实施方式中,可以采用流模式传输DAB的音频数据,在音频数据的音频帧末尾有一个PAD区,可以通过扩展PAD(X-PAD)传输多媒体信息,即在流模式下传输包括多个子数据的多媒体信息。上述主业务数据组即为多媒体信息的第一相关数据,用于传输层的解码。
在本申请一种可能的实施方式中,以不同多媒体数据分别对应的数据包可能是穿插着传输,则可以当一个子存储空间内存入了包括多个数据包的一个多媒体数据后,对其进行解码,无需等待接收其他的多媒体数据,也即先后对不同第一子存储空间内的多媒体数据进行解码。也可以当多个多媒体数据均存入到分别对应的第一子存储空间后,同时对每个第一子存储空间内的多媒体数据进行解码。本申请对多个第一子存储空间内的多媒体数据的解码顺序不做限定。
作为一种示例,可以预先创建包括50个元素的结构体指针数组,一个元素是指一个结构体指针,再根据多媒体数据的长度基于结构体指针数组动态申请第一子存储空间。其中,本申请对于结构体指针数组中的元素个数不做限定。
步骤3022:在所述传输层,对每个第一子存储空间内的主业务数据组进行解码得到主业务数据字段作为所述第二相关数据,并将解码得到的主业务数据字段存入第二子存储空间。
在本申请实施例中,主业务数据组包括主业务数据字段,其用于存储主业务数据组的正文信息,而主业务数据组的正文信息用于MOT层的解码,因此需要对主业务数据组进行解码得到主业务数据字段。
步骤3023:在所述MOT层,直至多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,对多个主业务数据字段进行解码得到多媒体信息的解码结果。
在本申请实施例中,主业务数据字段为多媒体信息的第二相关数据,其用于MOT层的解码。而通过MOT层解码得到的解码结果需为一个完整的数据,因此需要当MOT层接收到多媒体信息对应的所有第二相关数据后,才能进行MOT层的解码。
正如上文介绍,多媒体信息会被打包成多个主业务数据组,每个主业务数据组对应一个主业务数据字段,因此当第二子存储空间内已存入多媒体信息对应的多个主业务数据字段,表明已存入多媒体信息对应的所有第二相关数据后,则可以对多个主业务数据字段进行解码得到所述多媒体信息的解码结果,以将完整的解码结果呈现给用户。
如此,第一子存储空间可以存储多媒体信息的第一相关数据,方便用于传输层的解码;第二子存储空间可以存储多媒体信息的第二相关数据,方便用于传输层的解码。进一步降低了多媒体信息的解码难度。
接下来,为了便于理解,分别对通过网络层、传输层和MOT层的解码过程进行介绍。
在网络层对多媒体信息进行解码时,可以分为对包模式和流模式这两种不同的传输模式的解码。先对包模式下通过网络层对多媒体信息进行解码的过程进行介绍。
作为一种示例,若基于上文提及的SAF4000芯片实现多媒体信息的编解码,则网络层会接收到包括多媒体信息的数据(Data_not)通知作为待解码的数据源。该Data_not包括数据通知传输格式(Data_not.TransportMech),其可以用于区分数据传输模式是包模式还是流模式;还包括数据通知携带数据(Data_not.Data),其携带了待解码的多媒体信息,即多媒体信息包括的多个数据包或者多媒体信息包括的多个子数据。
需要说明的是,Data_not.Data携带的多个数据包括可能包括不同多媒体数据分别对应的多个数据包,也可能包括基于MOT协议的重复传输机制传输的相同的数据包括,子数据同理,本申请对此不做限定。
参见图4,该图为本申请实施例提供的一种主业务数据组被打包成多个数据包的示意图。如图4所示,一个主业务数据组(Main Service Channel data groups,MSC datagroups)被分割成多个具有相同传输地址的数据包。参见图5,该图为本申请实施例提供的一种数据包的结构示意图。数据包包括包头部(Packet header)、包数据字段(Packet datafield)和包循环冗余校验(Cyclic Redundancy Check,CRC)。其中,CRC是一种根据数据产生简短固定位数校验码的一种散列函数,数据包中的CRC包括数据包对应的固定位数校验码(后文简称为校验码)。
参见图6,该图为本申请实施例提供的一种通过网络层对多媒体信息进行解码的流程图,介绍了包模式下通过网络层对多媒体信息进行解码的过程。在本申请实施例中,存储空间可以包括第一子存储空间和第五子存储空间。如图6所示,可以包括以下步骤:
S701:获取Data_not.Data携带的多个包数据的数据长度。
在本申请实施例中,对于包数据的数量不做限定。
S702:基于多个包数据的数据长度动态申请得到第五子存储空间。
作为一种示例,若预先创建了包括多个元素的结构体指针数组,则可以基于结构体指针数组动态申请第五子存储空间。示例性地,第五子存储空间的变量名称可以为Packet_TempData,将存入第五子存储空间的内容赋值到该变量,可以完成数据存储。本申请对于创建的数据结构类型,元素个数以及变量名称均不做限定。
S703:在传输层,将接收到的数据包存入该第五子存储空间,并进行数据长度校验和循环冗余校验码校验。
作为一种示例,数据长度校验是指校验接收到的数据包的实际长度和Data_not.Data携带的数据包的数据长度是否相符,以及数据包的实际长度是否超出预先设定的数据包的最大长度。循环冗余校验码校验是指再次对数据包进行CRC校验,校验得到的校验码与数据包携带的校验码是否相同。
作为一种示例,可以将依次接收到的数据包依次存入该第五子存储空间,当第五子存储空间存入一个数据包后立即对其进行数据长度校验和循环冗余校验码校验,也可以接收到多个数据包后再分别进行数据长度校验和循环冗余校验码校验,本申请对此不做限定。
如此,在对数据包进行解码前,先对数据包进行校验,避免接收到错误的数据包,以确保数据包的可靠性,能够进一步提升多媒体信息解码的准确性。
S704:判断接收到的数据包的数据长度校验和循环冗余校验码校验是否均通过。
S705:若接收到的数据包的数据长度校验和循环冗余校验码校验均通过,则识别接收到的数据包的传输地址,并确定该传输地址是否存在对应的第一子存储空间。
基于上述示例,一个多媒体数据包括具有相同传输地址的多个数据包,也就是说,一个多媒体数据对应一个传输地址。确定该传输地址是否存在对应的第一子存储空间,即确定之前是否为该数据包对应的多媒体数据申请过对应的第一子存储空间。
示例性地,第一子存储空间的变量名称可以为MSCDataGroup_TempData,本申请对此不做限定。
S706:若接收到的数据包的数据长度校验和循环冗余校验码校验没通过或只通过一个,则释放第五子存储空间。
若第五子存储空间内的数据包的数据长度校验和循环冗余校验码校验没通过或只通过一个,则表明其中包括无效的数据包,则此时可以将第五子存储空间释放,将校验未通过的数据包丢弃,避免对无效的数据包进行解码,进一步提高数据可靠性。
S707:若确定该传输地址不存在对应的第一子存储空间,则为该数据包申请新的第一子存储空间,并将其存入。
S708:若确定该传输地址存在对应的第一子存储空间,则将接收到的数据包存入该第一子存储空间。
示例性地,以第一子存储空间为申请的结构体指针数组为例,可以返回可以存入该数据包的结构体指针,再更新第一子存储空间的结构体指针,将数据包作为其变量成员,实现数据包存入对应的第一子存储空间。
S709:直至一个多媒体数据的多个数据包均已存入该多媒体数据对应的第一子存储空间,对所述第一子存储空间内的多媒体数据进行解码得到主业务数据组,并执行S706。
基于上述示例,一个主业务数据组被打包成包括多个数据包的多媒体数据,当第一子存储空间中已存入一个多媒体数据对应的所有数据包时,表明一个主业务数据组对应的数据已完全接收,则可以在该第一子存储空间内的完整多媒体数据进行解码得到主业务数据组。
在网络层解码完成后,可以将第五子存储空间释放,减小终端设备的存储压力。
如此,为一个多媒体数据申请与其对应的第一子存储空间,区分不同的多媒体数据,进一步降低了多媒体信息的数据复杂度,有利于降低多媒体信息解码的难度。且还申请了第五子存储空间,终端设备可以直接对其中的数据包进行校验数据长度校验和循环冗余校验码校验,避免存在未校验的数据包或者重复校验数据包,既提升数据可靠性,又避免浪费计算资源。
当对接收的多个数据包解码均完成后执行S706,释放第五子存储空间,避免浪费空间资源。
如图5所示,数据包的包头部包括索引标识,也可称为连续性索引Continuityindex,一个多媒体数据的多个数据包的连续性索引是连续的整数。因此,在本申请一种可能的实施方式中,为了确保在网络层解析出的主业务数据组是有效的数据,则需在解码前确认接收到的多个数据包是否为一个多媒体数据对应的所有数据包。则可以识别第一子存储空间内的多个数据包的连续性索引,若为连续的整数,则表明数据接收完整,对第一子存储空间内的多个数据包进行解码可以得到有效的主业务数据组。此外,若第一子存储空间的多个数据包的连续性索引为不连续的多个整数,则表明无法解码得到有效的主业务数据组,则可以将这些数据包丢弃。
作为一种示例,若一个主业务数据组被打包成包括4个数据包的多媒体数据,则可以识别该多媒体数据对应的第一子存储空间内的多个数据包的连续性索引是否包括0、1、2和3这4个整数,若是,则可以对其进行解码。以上仅为示例,本申请对于一个主业务数据组被打包成的数据包数量不做限定。
如此,基于连续性索引克服数据包接收缺失和重复传输机制的干扰,从多个数据包中确定出一个多媒体数据对应的所有数据包,解码得到有效的主业务数据组,能够进一步提升多媒体信息解码的准确性。
接下来,对流模式下通过网络层对多媒体信息进行解码的过程进行详细说明。
作为一种实施方式,上文实施例提到的流模式下通过X-PAD传输数据分为两种传输形式,包括短short X-PAD和可变长度Variable size X-PAD。其中,short X-PAD传输形式下,传输的是一个X-PAD字段field,其存储的子数据可以是长度为4字节的数据。在Variable size X-PAD传输形式下,传输的可以是包括最多4个数据子字段data sub-fields的X-PAD field,每个data sub-fields可以用于存储一个子数据。参见图7,该图为本申请实施例提供的一种音频帧包括的X-PAD区的示意图,为Variable size X-PAD传输形式,图中所示的X-PAD field最多可以包括4个data sub-fields。
参见图8,该图为本申请实施例提供的一种主业务数据组被拆分成多个X-PAD数据子字段的示意图。其中一个数据子字段可以用于存储上文提及的一个子数据。
参见图9,该图为本申请实施例提供的另一种通过网络层对多媒体信息进行解码的流程图,介绍了流模式下通过网络层对多媒体信息进行解码的过程。在本申请实施例中,多媒体数据包括的多个子数据均具有第一标识,第一标识用于表征子数据在对应的多媒体数据中的位置。存储空间可以包括第一子存储空间和第六子存储空间。如图9所示,可以包括以下步骤:
S1001:基于接收到的子数据的第一标识,确定该子数据在对应的多媒体数据中的位置。
作为一种示例,接收到的子数据为X-PAD data subfield,则第一标识包括FirstFlag及其对应的数值和LastFlag及其对应的数值,FirstFlag和LastFlag及其分别对应的数值用于表征X-PAD data subfield在对应的X-PAD field中的位置。
在一些实施例中,若FirstFlag对应数值1,则表示X-PAD data subfield为开始部;若FirstFlag对应数值0,则表示X-PAD data subfield不是开始部。若LastFlag对应数值1,则表示X-PAD data subfield为结束部;若LastFlag对应数值0,则表示X-PAD datasubfield不是结束部。因此可以根据X-PAD data subfield上的FirstFlag和LastFlag以及分别对应的数值判断X-PAD data subfield是开始部、中间部或者结束部。
示例性地,若接收到的X-PAD data subfield的FirstFlag和LastFlag分别对应1和0,则表明其为开始部。若接收到的X-PAD data subfield的FirstFlag和LastFlag分别对应0和0,则表明其为中间部。若接收到的X-PAD data subfield的FirstFlag和LastFlag分别对应0和1,则表明其为结束部。
此外,在一些实施例中,若传输形式为short X-PAD,则可以接收到X-PAD datafield,其第一标识也包括FirstFlag和LastFlag以及分别对应的数值,FirstFlag和LastFlag分别对应的数值均为1,表示其既为开始部也为结束部,也即只传输一个X-PADdata field。
S1002:将接收到的子数据存入第六子存储空间。
在本申请实施例中,一个多媒体数据对应一个第六子存储空间。基于上文介绍,若接收到的子数据为X-PAD data subfield,则一个多媒体数据最多包括4个X-PAD datasubfield,因此一个第六子存储空间中可以包含如图8中的一个X-PAD data group lengthindicator和最多4个X-PAD data subfield。
S1003:判断一个多媒体数据是否接收完成。
在一些实施例中,子数据是按照开始部、中间部以及结束部的顺序依次传输的。因此,若接收到的子数据为X-PAD data subfield,则基于X-PAD data subfield的第一标识,可以判断其对应的多媒体数据是否接收完成。基于上述示例,也即当第一子存储空间中包括FirstFlag和LastFlag对应的数值分别为0和1的X-PAD data subfield时,表明接收到了多媒体数据的结束部,该多媒体数据接收完成。
此外,多媒体数据也可能为一个独立的X-PAD data field,则当第六子存储空间存入的数据识别到其FirstFlag和LastFlag分别对应的数值均为1,表明接收到的数据为一个X-PAD data field时,其仅有一个,此时也可表明该多媒体数据接收完成。
S1004:若一个多媒体数据接收完成,为接收完成的多媒体数据申请第一子存储空间,并将该多媒体数据存入第一子存储空间。
示例性地,第一子存储空间的变量名称可以为MSCDataGroup_Temp Data,本申请对此不做限定。
S1005:若一个多媒体数据没有接收完成,则继续接收下一个子数据。
S1006:对第一子存储空间内的多个子数据进行解码得到主业务数据组。
如此,当接收到一个完整的子数据后,再将其存入第一子存储空间,确保第一子存储空间内的数据是一个多媒体数据对应的所有子数据,进而对其进行解码可以得到有效的主业务数据组。
接下来,对通过传输层对主业务数据组进行解码的过程进行介绍。
参见图10,该图为本申请实施例提供的一种主业务数据组的结构示意图。如图10所示,主业务数据组包括数据组头部MSC data group header、会话控制头部SessionHeader、主业务数据组数据字段(即上文提及的主业务数据字段)MSC data group datafield以及MSC data group data CRC。主业务数据组的CRC上包括主业务数据组对应的固定位数校验码。
基于上文实施例可知,通过网络层解码后的数据为主业务数据组,因此传输层接收到的数据为待解码的主业务数据组。在本申请一种可能的实施方式中,存储空间可以包括第一子存储空间、第二子存储空间、第七子存储空间和第八子存储空间,相应地,通过传输层对多媒体信息进行解码可以包括以下步骤:
步骤1201:对第一子存储空间内的主业务数据组进行解码。
在对主业务数据组进行解码的过程中,从主业务数据组中拆分出如图10所示的MSC data group header、Session Header、以及MSC data group data field三部分。正如上文介绍,主业务数据字段用于存储对应的主业务数据组的正文信息,而主业务数据组的正文信息用于所述MOT层的解码,因此需要拆分出MSC data group data field。
此外,在本申请一种可能的实施方式中,在对主业务数据组进行解码前,还可以对其进行数据长度校验和CRC校验,当数据长度校验和CRC校验均通过,再对该主业务数据组进行解码,由此确保主业务数据组的数据可靠性,进而提高多媒体信息解码的准确性。
此外,在本申请一种可能的实施方式中,可以预先申请一个变量名称为MSCDataGroup_Hold的子存储空间,用于存储解码过程中的主业务数据组。
步骤1202:将解码得到的MSC data group data field存入第七子存储空间。
示例性地,第七子存储空间的变量名称可以为MSCDataGroup。
步骤1203:当对主业务数据组的解码完成后,释放存储该主业务数据组的第一子存储空间。
在本申请一种可能的实施方式中,主业务数据组具有第二标识,其用于表征主业务数据组对应的主业务数据字段在所述多媒体信息中的位置。
作为一种实施方式,如图10所示,主业务数据组的Session Header中的“Last”标记位即为第二标识。一个多媒体信息对应多个主业务数据组,一个主业务数据组中包括一个主业务数据字段。因此一个多媒体信息对应多个主业务数据字段,可以将一个主业务数据字段看作多媒体信息的一个片段。
示例性地,若一个多媒体信息对应N个主业务数据字段,N>1,“Last”标记位可以为0或者1,当主业务数据组上的Last”标记位为0时,表明其中的主业务数据字段为多媒体信息对应的前N-1个片段中的一个片段;当主业务数据组上的Last”标记位为1时,表明其中的主业务数据字段为多媒体信息对应的第N个片段(也即最后一个片段)。
因此,上述步骤3023具体可以为:在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段后,对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果。
在本申请实施例中,所述目标标识用于表征对应的主业务数据组中的主业务数据字段为所述多媒体信息对应的最后一个字段。示例性地,基于上述示例,当主业务数据组的“Last”标记位为1时,表明第二子存储空间内存储的数据为一个多媒体信息对应的所有主业务数据字段。
如此,基于主业务数据组具有的第二标识,确保第二子存储空间内接收到多媒体信息对应的主业务数据字段,既避免浪费计算资源,又避免MOT层接收到无效的数据,进一步提升数据解码的准确性。
在本申请一种可能的实施方式中,主业务数据组还具有序号,其可用于判定多媒体信息对应的多个主业务数据组之间的连续性。则上述步骤3023具体可以为:在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段,且所述第二子存储空间中的多个主业务数据字段分别对应的主业务数据组的序号为连续的整数,则对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果。
作为一种实施方式,如图10所示,主业务数据组的Session Header中的Segmentnumber即为序号。Segment number为M时,主业务数据组中的主业务数据字段为MOT对象的第M个片段。因此,当第二子存储空间中的多个主业务数据字段分别对应的序号为连续的整数时,且存在具有“Last”标记位为1的主业务数据字段时,表明第二子存储空间内的内容为连续的多个主业务数据组中的主业务数据字段。也就是说,若第二子存储空间中的多个主业务数据字段分别对应的序号为不连续的整数时,则需继续等待接收下一个主业务数据字段。
需要说明的是,可以是在对第一子存储空间内的主业务数据组进行解码的过程中,将Session Header上的第二标识和序号标记在MSC data group data field,以便后续在第二子存储空间内确定数据连续性和数据完整性,本申请对此不做限定。
如此,基于第二标识和序号进一步确保第二子存储空间内接收到多媒体信息对应的所有主业务数据字段,以便MOT层接收到有效数据,顺利进行MOT层的解码。
接下来,对通过MOT层对MOT对象进行解码的过程进行介绍。
MOT对象层支持两种传输模型。包括头模式Header mode和目录模式Directorymode,利用MSC data group的Data group type数据组类型区分不同的传输模式。
下文实施例以多媒体信息为SLS图像为例,对通过MOT层以头模式传输SLS图像的过程进行介绍。
在编码过程中,MOT对象的头部信息MOT Header和正文信息MOT body会被分别打包成主业务数据组,一个MOT对象包括一个MOT body,一个MOT body可能包括多个正文信息片段MOT body segment,每个MOT body segment会被打包成一个主业务数据组,被存储于主业务数据组的主业务数据字段。因此。当第二子存储空间内存入多媒体信息对应的所有主业务数据字段时,也即通过MOT层接收到完整的MOT对象时,可以通过MOT层对其进行解码得到多媒体信息的解码结果。
在头模式下,可以传输一个MOT对象。则可以基于第二子存储空间内存储的主业务数据字段构建得到一个MOT对象。具有头部标识的主业务数据字段为MOT对象的头部信息MOT Header,具有正文标识的主业务数据字段为MOT对象的正文信息片段MOT bodysegment。示例性地,一个MOT对象可以包括一个MOT Header和多个MOT body segment。
参见图11,该图为本申请实施例提供的一种MOT对象的结构示意图。如图11所示,一个MOT对象包括一个MOT Header和多个MOT body segment(也可称为MOT Bodysegment)。一个主业务数据字段对应一个MOT Header或者一个MOT body segment。因此,基于第二子存储空间中多媒体信息对应的所有主业务数据字段,可以构建得到一个MOT对象。
MOT对象中包括用于指示SLS图像的预期显示时间的TriggerTime、以及用于匹配属于同一个MOT对象的MOT Header和MOT body的内容名称ContentName。具体可以参见如下表1,表1展示了MOT对象各部分所指示的内容。
表1MOT对象各部分指示的内容示意表
基于上文实施例可知,通过传输层解码后的数据为主业务数据字段,当第二子存储空间内存入多媒体信息对应的所有主业务数据字段,则可以构建得到一个MOT对象,因此MOT层需要对MOT对象进行解码。
在本申请一种可能的实施方式中,存储空间可以包括第二子存储空间、第三子存储空间、第四子存储空间、第九子存储空间、第十子存储空间、第十一子存储空间以及第十二子存储空间。
示例性地,上述第二子存储空间的变量名称、空间类型以及空间用途可以参见上文实施例的示例。上述第三子存储空间、第四子存储空间、第九子存储空间、第十子存储空间、第十一子存储空间以及第十二子存储空间的变量名称、空间类型以及空间用途具体可以如下表2所示:
表2MOT层的多个子存储空间
其中,MOT header即为具有头部标识的主业务数据字段,MOT body segment即为具有正文标识的主业务数据字段。上述第十一子存储空间,用于存储MOT对象对应的变量Buffer,也即第三子存储空间、第四子存储空间、第九子存储空间和第十子存储空间分别对应的Buffer。第三子存储空间用于存储SLS图像对应的Buffer,也即存储对MOT对象进行解码后得到的解码结果SLS图像的Buffer。
在本申请一种可能的实施方式中,通过MOT层对MOT对象进行解码时存储信息可以包括以下步骤:
步骤1401:将多个主业务数据字段中具有头部标识的主业务数据字段存入所述第三子存储空间,并将多个主业务数据字段中具有正文标识的主业务数据字段存入所述第四子存储空间。
在本申请实施例中,具有头部标识的主业务数据字段为MOT header,具有正文标识的主业务数据字段为MOT body segment。
步骤1402:对第三子存储空间内的MOT header和第四子存储空间内的MOT body分别进行解码。
步骤1403:将解码后的MOT header存入第九子存储空间,将解码后的MOT body存入第十子存储空间。
步骤1404:将第三子存储空间、第四子存储空间、第九子存储空间和第十子存储空间分别对应的Buffer存入第十一子存储空间。
步骤1405:基于第九子存储空间内的解码后的MOT header和第十子存储空间内的解码后的MOT body得到SLS图像。
其中,SLS图像的具体获取过程可以参见下文实施例。
步骤1406:将SLS图像存入第十二子存储空间。
步骤1407:将第十二子存储空间内的SLS图像展示给用户。
如此,在通过MOT层对MOT对象进行解码的过程中,设计了多个存储空间,将解码前、解码过程中以及解码后的数据均分开存储,进一步降低了多媒体信息的数据复杂度,大大降低了数据解码难度。
可以理解的是,为了及时了解多媒体信息的解码进度,以便将解码结果呈现给用户,可以进行定期检查。因此,在本申请一种可能的实施方式中,可以定期对通过MOT层对MOT对象进行解码的过程进行检查,确定MOT对象是否解码完成。
在本申请一种可能的实施方式中,通过MOT层对MOT对象进行解码可以包括以下步骤:
以400ms为预设周期,定期执行以下步骤。当然,预设周期也可以为其他值,本申请对此不做限定。
步骤1501:检查解码后的MOT header和解码后的MOT body分别对应的传输ID。
需要说明的是,400ms仅为示例,本申请对于该预设周期不做限定。也可以为500ms等。
作为一种示例,可以分别从第九子存储空间和第十子存储空间分别得到解码后的MOT header和解码后的MOT body对应的传输ID。如此,确定解码后的MOT header和解码后的MOT body是否对应同一个MOT对象,进一步提升数据可靠性。
步骤1502:若解码后的MOT header和解码后的MOT body分别对应的传输ID相匹配,则从第九子存储空间获取解码后的MOT header。
表明解码后的MOT header和解码后的MOT body对应同一个MOT对象,则可以继续进行MOT层的解码。
步骤1503:基于解码后的MOT header更新第十一子存储空间内MOT header对应的变量内容。
第十一子存储空间内存储了MOT对象对应的变量,因此基于解码后的MOT header,可以更新其中MOT header对应的变量内容。
作为一种示例,基于解码后的MOT header也可以得到ContentType,基于其所指示的正文信息类型,可以确定MOT body为图像。基于解码后的MOT header也可以得到ContentSubType,基于其所指示的正文信息的格式,可以确定MOT body的图像格式。示例性地,图像格式可以为联合图像专家组格式(Joint Photographic Experts Group,JPEG)、可携式网络图像格式(Portable Network Graphics,PNG)等,本申请对此不做限定。
作为一种示例,基于ContentType和ContentSubType分别指示的MOT transport和HeaderUpdata,可以确定需要更新TriggerTime,因此需要基于解码后的MOT header得到MOT HeaderExtension,以执行步骤1504得到TriggerTime。
步骤1504:对MOT HeaderExtension进行数据解析。
作为一种示例,基于上述表1所示的MOT对象各部分指示的内容,解析MOTHeaderExtension可以得到SLS图像的名称ContentName以及SLS图像的预期显示时间TriggerTime。
步骤1505:若解析MOT HeaderExtension得到SLS图像的TriggerTime,则更新第十一子存储空间内的TriggerTime。
步骤1506:从第十子存储空间获取解码后的MOT body。
步骤1507:基于解码后的MOT body更新第十一子存储空间内MOT body对应的变量内容。
在本申请实施例中,也即将第十一子存储空间内MOT body对应的变量内容更新为SLS图像。
步骤1508:若到达第十一子存储空间内的TriggerTime,则计算SLS图像的BmpID。
在本申请实施例中,BmpID表示SLS图像的图像序列号。当达到TriggerTime,则可以基于所记录的上一个图像的BmpID,来计算当前SLS图像的图像序列号。
示例性地,若上一个图像的BmpID为SLS_Logo01,则当前SLS图像的图像序列号可以为SLS_Logo02。本申请对此不做限定,可用于区分不同图像即可。
步骤1509:基于从MOT body解析出的目标图像格式,将解码后的MOT body转换为目标图像格式的SLS图像。
示例性地,若MOT header的ContentSubType指示目标图像格式为PNG,则将解码后的MOT body转换为PNG格式的SLS图像。
步骤1510:将第十一子存储空间内已使用的内容删除。
也即将第十一子存储空间内使用过的变量内容所占据的存储空间释放。
步骤1511:将目标图像格式的SLS图像以及其相关内容制作为SLS图像文件。
作为一种示例,SLS图像的相关内容包括SLS图像的存储位置、图像大小以及计算得到的BmpID等等,本申请对此不做限定。
步骤1512:将SLS图像文件传输至用户应用层。
在本申请实施例中,用户应用层包括与用户直接交互的界面或应用程序。它提供了用户与终端设备进行交互的方式,例如图形用户界面或命令行界面。将SLS图像文件传输至用户应用层,可以将SLS图像通过终端设备的界面呈现给用户。
如此,在MOT层对MOT对象进行解码,得到可以呈现给用户的SLS图像文件。且定期检查MOT层是否接收到MOT对象的头部信息和正文信息是否接收完成,若接收完成则制作得到SLS图像文件,以及时向用户进行展示,提高多媒体信息显示的及时性。
可以理解的是,为了及时向用户展示SLS图像,也需定期检查其预期显示时间TriggerTime,以确保在准确时间显示SLS图像。下文结合图12所示的SLS图像的显示方法的流程图进行介绍。如图12所示,可以包括以下步骤:
S1601:以400ms为预设周期,定期获取当前时间。
示例性地,可以通过上述提及的Data_not中的FIG0/10通知获得当前时间。本申请对此不做限定。
需要说明的是,400ms为预设周期的示例,本申请对于预设周期不做限定。
S1602:若第十一子存储空间内包含SLS图像的TriggerTime,则比较当前时间和TriggerTime。
S1603:若获取到的当前时间已超出TriggerTime,则删除第十一子存储空间内的内容。
S1604:若当前周期获取到的当前时间未到达TriggerTime,则根据预设周期等待下一周期再次获取当前时间。
S1605:若获取到的当前时间与TriggerTime相同,则计算SLS图像的BmpID。
S1606:基于从MOT body解析出的目标图像格式将解码后的MOT body转换为目标图像格式的SLS图像。
S1607:将第十一子存储空间内已使用的内容删除。
S1608:将目标图像格式的SLS图像以及其相关内容制作为SLS图像文件。
S1609:将SLS图像文件传输至用户应用层。
需要说明的是,S1605-S1609的具体实施方式可以参见上文实施例的步骤1508-步骤1512,在此不再赘述。
如此,定期检查TriggerTime,确保SLS图像在准确的时间显示,,进一步提高多媒体信息显示的及时性。
接下来,下文实施例以多媒体信息为电子节目指南(Electrical ProgramGuide,EPG)数据为例,对通过MOT层以目录模式传输EPG数据的过程进行介绍。
在目录模式下,支持传输一个MOT对象,也支持对多个MOT对象的复合传输及目录管理。
示例性地,若EPG数据包括一个EPG logo,则本次仅传输一个MOT对象。该MOT对象包括多个主业务数据组,一个主业务数据组对应一个MOT目录信息,剩下的多个主业务数据组对应多个MOT body segment,这MOT body segment可组成一个MOT body。MOT目录信息包括该MOT body的头部信息。
示例性地,若EPG数据包括多个EPG logo,则本次可以依次传输多个MOT对象。多个MOT对象包括多个主业务数据组,一个主业务数据组对应一个MOT目录信息,剩下的多个主业务数据组对应多个MOT body segment,这MOT body segment可组成多个MOT对象的多个MOT body。MOT目录信息包括多个MOT body的头部信息。此外,MOT目录信息还包括MOT body的数量,以及各个MOT body的相关参数等。
具体可以参见图13所示的一种MOT目录信息的结构示意图。其中,DirectoryEntry n表示多个EPG logo中第n个EPG logo的头部信息。图中N表示EPG logo的个数,N≥1。其中,头部信息也包括MOT HeaderCore和MOT Header Extension,具体可以参见表1MOTHeader指示的内容。
基于MOT协议传输EPG数据时,可以传输三种类型的数据,包括服务信息(ServiceInformation,SI),节目信息(ProgrammeInformation,PI)以及组信息(GroupInformation,GI),每种类型的数据用途具体可以参见下文表3。
表3不同EPG数据类型的数据用途
上述表3中,EPG数据也可以称为元素element,每个元素具有对应的属性attribute。以多媒体信息对应的多媒体元素multimedia为例,其属性可以包括多媒体类型mimevalue、宽度wide、和长度length等等。
具体可以参见图14所示的元素与属性的关系示意图。如图14所示,元素下可以包括子元素,elementA包括elementB,elementB可以称为elementA的子元素。elementB包括elementC和elementE,elementC包括elementD,elementC对应attributeA和attributeB,elementD对应attributeC,elementE对应attributeD。
最初的元素(也即图14所示的最大元素elementA)可以称为TopLevel元素。示例性地,TopLevel元素可以包括epg和ServiceInformation。epg的标签tag为0x02,0x02指16进制下的02,ServiceInformation的tag为0x03,0x03指16进制下的03。其中,TopLevel元素epg主要对PI和GI进行传输。serviceInformation主要对SI(Service信息)进行传输。
在本申请一种可能的实施方式中,EPG数据通常为可扩展标记语言格式(Extensible Markup Language,xml)。为了以MOT对象传输EPG数据,需要在传输前对EPG数据进行编码。参见图15,该图为本申请实施例提供的一种EPG数据的编码结构示意图。其中tag表示EPG数据的元素标签或者属性,Length表示EPG数据的长度,Value表示EPG数据对应的值。
参见图16,该图为本申请实施例提供的一种基于编码结构的元素和标签的对应示意图。如图16所示,element_tagA表示元素A的元素标签,与element_tagA相邻的element_length表示元素A的数据长度,其后所有的内容表示元素A对应的值,包括其子元素的元素标签、子元素的元素长度和子元素的值等。例如,element_tagB表示元素B的元素标签,元素B为元素A的子元素。
在本申请一种可能的实施方式中,存储空间可以包括第二子存储空间、第三子存储空间、第四子存储空间、第十三子存储空间、第十四子存储空间、第十五子存储空间、第十六子存储空间、第十七子存储空间、第十八子存储空间、第十九子存储空间以及第二十子存储空间。
示例性地,以传输的EPG数据为多个EPG标志logo为例,上述第三子存储空间、第四子存储空间、第十三子存储空间、第十四子存储空间、第十五子存储空间、第十六子存储空间、第十七子存储空间、第十八子存储空间、第十九子存储空间以及第二十子存储空间的变量名称、空间类型以及空间用途具体可以如下表4所示:
表4 MOT目录对应的多个子存储空间
其中,具有头部标识的主业务数据字段即为MOT目录信息,MOT目录信息中包括头部信息。MOT body segment即为具有正文标识的主业务数据字段。
上述第十四子存储空间存储的第一次解码后的MOT body,第一次解码是指根据接收到的MOT body segment组成一个完整的MOT body。基于上文示例,本申请实施例可以以传输的EPG数据为多个EPG logo为例,则会接收到多个MOT body对应的多个MOT bodysegment,则可以基于接收到的多个MOT body segment进行解码,组成得到多个MOT body。
需要说明的是,可以是接收到所有的MOT body segment后,再进行解码得到多个MOT body。也可以是在接收MOT body segment的过程中,进行解码依次得到多个MOT body,本申请对此不做限定。EPG_MOT_body的一个结构体指针为一个MOT body的存储地址。
上述第十五子存储空间所存储的条目列表Entry list,为从第十三子存储空间的解码后的非压缩格式的MOT目录信息获得的多个MOT body分别对应的头部信息。上述第十六子存储空间和第十七子存储空间所存储的内容相同,区别是空间类型不同。第十七子存储空间的空间类型便于后续直接提取对应数据,无需再根据指针所指示的地址去读取对应数据。第十九子存储空间所存储的内容为对一个完整的MOT body进行解码后得到的数据。示例性地,可以为一个EPG logo。
在一些实施例中,通过MOT层对MOT对象进行解码可以分为对MOT目录信息进行解码和对MOT body进行第一次解码的阶段,以及对MOT body进行第二次解码的阶段。
可以理解的是,为了及时了解多媒体信息的解码进度,以便将解码结果呈现给用户,可以进行定期检查。因此,在本申请一种可能的实施方式中,可以定期对通过MOT层对MOT目录信息进行解码的过程进行检查,确定MOT目录信息是否解码完成,相应地,通过MOT层对MOT目录信息进行解码和对MOT body进行第一次解码可以包括以下步骤:
作为一种示例,以600ms为预设周期定期执行以下步骤。当然,预设周期也可以为其他值,本申请对此不做限定。
步骤2101:从第十三子存储空间获取解码后的非压缩格式的MOT目录信息。
作为一种实施方式,在第三子存储空间内对具有头部标识的主业务数据字段进行解码,得到解码后的非压缩格式的MOT目录信息,再将其存入到第十三子存储空间。则可以通过第十三子存储空间获取解码后的非压缩格式的MOT目录信息。
步骤2102:基于MOT目录信息更新第十五子存储空间内存储的Entry list。
作为一种实施方式,基于第十三子存储空间内存储的解码后的非压缩格式的MOT目录信息,可以得到多个MOT header,基于此可以更新第十五子存储空间内存储的Entrylist。
步骤2103:对第十五子存储空间内Entry list的元素进行解码得到MOT header的传输ID,并创建该传输ID对应的第十六子存储空间。
在本申请实施例中,Entry list的一个元素指每个条目对应的MOT header。
作为一种实施方式,第十六子存储空间用于存储与MOT header匹配的MOT body以及MOT body的压缩状态等相关信息。
步骤2104:若确定正文信息为EPG logo,则可以对第四子存储空间内的主业务数据组进行第一次解码得到第一次解码后的MOT body。
在一些实施例中,若在对第十五子存储空间内的Entry list的元素进行解码的过程中,根据MOT Header的ContentType所指示的正文信息类型确定MOT body为EPG logo,则可以对第四子存储空间内的主业务数据组进行第一次解码得到一个完整的MOT body,也即第一次解码后的MOT body,并将其存入第十四子存储空间。
步骤2105:比较第十五子存储空间内Entry list中该元素的传输ID和第十四子存储空间内第一次解码后的MOT body的传输ID。
步骤2106:若Entry list中元素的传输ID和第一次解码后的MOT body的传输ID匹配,则从第十四子存储空间内获取第一次解码后的MOT body,并存入该传输ID对应的第十六子存储空间。
若二者的传输ID相同,表明第十四子存储空间内的第一次解码后的MOT body与Entry list中被解析的元素匹配,也即被解析的元素为第一次解码后的MOT body对应的MOT header,则可以得到完整的MOT对象,后续可以基于此进行解码。
步骤2107:继续对第十五子存储空间内的Entry list中该元素进行解码。
对第十五子存储空间内的Entry list中该元素继续进行解码,也即对上述匹配上的MOT对象的MOT header继续进行解码。
步骤2108:若解码后的Entry list的元素指示第一次解码后的MOT body为EPGlogo,则更新第十六子存储空间内的变量内容。
作为一种实施方式,若基于MOT header的MOT HeaderCore的ContentType所指示的正文信息类型,得到MOT body为图像EPG logo,则可以基于对MOT header进行解析得到的MOT body的压缩状态和MOT body的取得状态(也即是否接收到了对应的MOT body)等相关管理信息,存入第十六子存储空间,也即对其变量内容进行更新。
步骤2109:继续对第十五子存储空间内的Entry list中该元素的MOT HeaderExtension进行解码得到Content Name。
从第十五子存储空间内存储的MOT header中的MOT Header Extension进行解析得到EPG logo的名称Content Name。
步骤2110:基于Content Name,对第十六子存储空间的内容进行更新。
也即将Content Name存入到第十六子存储空间。第十六子存储空间可以包括第一次解码后的MOT body以及MOT body的压缩状态、取得状态以及Content Name等相关管理信息。便于后续根据十六子存储空间对MOT body进行第二次解码。
步骤2111:将第十五子存储空间内Entry list中被解析过的元素删除。
如此,避免根据预设周期定期执行上述步骤的过程中,对Entry list中的元素进行重复解析,且也能够节省存储空间。
需要说明的是,本申请在上述实施例介绍的各个步骤未在图中示意出,各自用于简单区分不同的执行步骤。
可以理解的是,为了及时了解多媒体信息的解码进度,以便将解码结果呈现给用户,可以进行定期检查。因此,在本申请一种可能的实施方式中,可以定期对通过MOT层对MOT body进行第二次解码的过程进行检查,确定MOT body是否解码完成得到EPG logo文件。
参见图17,该图为本申请实施例提供的一种具体的通过MOT层对MOT body进行第二次解码的流程图。如图17所示,主要可以包括以下步骤:
作为一种示例,以3s为预设周期定期执行以下步骤。当然,预设周期也可以为其他值,本申请对此不做限定。
S2201:对第十七子存储空间内存储的第一次解码后的MOT body进行解析,得到其压缩状态。
对第十七子存储空间内存储的第一次解码后的MOT body进行解析,是指基于存储的压缩状态判断第一次解码后的MOT body是非压缩格式还是压缩格式。
作为一种实施方式,第十七子存储空间内存储的第一次解码后的MOT body是从第十六子存储空间获得的。
S2202:确定第一次解码后的MOT body是否为非压缩格式。
示例性地,若压缩状态为未压缩,则确定第一次解码后的MOT body为非压缩格式,若压缩状态为已压缩,则确定第一次解码后的MOT body为压缩格式,
S2203:若第一次解码后的MOT body为非压缩格式,则可以将其存入第十八子存储空间。
S2204:若第一次解码后的MOT body为非压缩格式,则对其进行解压缩,并存入第十八子存储空间。
对非压缩格式的第一次解码后的MOT body解压缩后得到解压缩后的第一次解码后的MOT body。
此外,在一些实施例中,也可以对第十八子存储空间存储的解压缩后的第一次解码后的MOT body进行检查,确定其是否解压成功,成功再执行S2205,不成功则执行S2210。
S2205:根据预设编码结构对第十八子存储空间内存储的非压缩格式或解压缩后的第一次解码后的MOT body进行第二次解码,得到EPG logo。
解压缩后的第一次解码后的MOT body也可称为解压缩后的MOT body。
示例性地,预设编码结构可以为如图15和图16所示的预设编码结构,解码得到MOTbody的属性及子元素。图16中的element_tagA可以指示MOT body,element_tagB可以为其子元素,arrtribute_tagA可以为其属性。
作为一种实施方式,在解码过程中可以得到MOT body的属性及子元素。示例性地,属性及子元素可以包括但不限于服务标识ServiceID,网址URL等。这些属性和子元素组成了EPG logo。
S2206:将EPG logo存入第十九子存储空间。
S2207:将第十九子存储空间内EPG logo存入第二十子存储空间。
S2208:将第二十子存储空间内新存入的EPG logo以及其相关内容制作为EPGlogo文件。
作为一种示例,EPG logo的图像格式可以基于MOT header的ContentSubType所指示的内容得到。示例性地,图像格式可以为JPEG格式或者PNG格式等,本申请对此不做限定。
在本申请实施例中,EPG logo文件包括目标图像格式的EPG logo。示例性地,目标图像格式可以为JPEG格式或者PNG格式等,本申请对此不做限定。
示例性地,EPG logo的相关信息可以包括但不限于EPG logo的大小,以及EPGlogo的存储位置等。
S2209:将EPG logo文件传输至用户应用层。
在一些实施例中,可以设计图像列表管理机制,图像列表中包括EPG logo文件或者上文实施例中的SLS图像文件,并设定最大图像存储上限。
如此,能够避免重复存储图像,当图像列表所存储的图像数量超出最大图像存储上限,则删除使用度低的旧图像。用户应用层可以基于SLS图像文件或者EPG logo文件获得其存储路径,并直接从该路径读取图像向用户片进行展示,使用户得到较好的视听体验。
S2210:删除第十六子存储空间内使用过的内容。
删除第十六子存储空间内使用过的内容,能够进一步节省存储空间。
此外,在一些实施例中,也可以将第十七子存储空间至第十九子存储空间内使用过的内容删除,本申请对此不做限定。
如此,在上述多个实施例中,定期对各个存储空间中使用过的内容进行删除,能够节省存储空间,提高运行速度。
由上可见,在通过MOT层对MOT对象进行解码的过程中,设计了多个存储空间,将解码前、解码过程中以及解码后的不同数据分开存储,终端设备可以直接从对应的存储空间内获取所需数据,将复杂的多媒体数据划分为多个存储空间内的数据,进一步降低了多媒体信息的数据复杂度,大大降低了数据解码难度,进而提高多媒体信息解码的准确性。
以上为本申请实施例提供多媒体信息解码方法的一些具体实现方式,基于此,本申请还提供了对应的多媒体信息解码装置。下面将从功能模块化的角度对本申请实施例提供的多媒体信息解码装置进行介绍。
参见图18,该图为本申请实施例提供的一种多媒体信息解码装置的结构示意图,该多媒体信息解码装置2300可以包括:
信息接收模块2310,用于接收待解码的多媒体信息;所述多媒体信息为基于多媒体对象传输MOT协议的MOT层、传输层和网络层依次编码得到;
信息解码模块2320,用于将所述多媒体信息存入与所述多媒体信息对应的存储空间,并在所述存储空间内基于所述多媒体信息进行网络层、传输层和MOT层的解码,获得所述多媒体信息的解码结果;
其中,在所述网络层的解码过程中产生的所述多媒体信息的第一相关数据也存入所述存储空间,用于所述传输层的解码;在所述传输层的解码过程中产生的所述多媒体信息的第二相关数据也存入所述存储空间,用于所述MOT层的解码。
作为一种实施方式,上述多媒体信息包括多个多媒体数据,所述存储空间包括第一子存储空间和第二子存储空间,信息解码模块,具体可以包括:
第一解码子模块,用于在所述网络层,将所述多个多媒体数据一一存入对应的第一子存储空间作为所述第一相关数据,对每个第一子存储空间内的多媒体数据进行解码得到主业务数据组;
第二解码子模块,用于在所述传输层,对每个第一子存储空间内的主业务数据组进行解码得到主业务数据字段作为所述第二相关数据,并将解码得到的主业务数据字段存入所述第二子存储空间;所述主业务数据字段用于存储对应的主业务数据组的正文信息,所述主业务数据组的正文信息用于所述MOT层的解码;
第三解码子模块,用于在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,对所述多个主业务数据字段进行解码得到所述多媒体信息的解码结果。
作为一种实施方式,每个多媒体数据包括具有相同传输地址的多个数据包,第一解码子模块,具体可以用于在所述网络层,针对每个多媒体数据,将接收到的具有相同传输地址的数据包存入同一第一子存储空间;直至一个多媒体数据的多个数据包均已存入该多媒体数据对应的第一子存储空间,对所述第一子存储空间内的多媒体数据进行解码得到主业务数据组。
作为一种实施方式,每个多媒体数据包括均具有第一标识的多个子数据,所述第一标识用于表征子数据在对应的多媒体数据中的位置;第一解码子模块,具体可以用于在所述网络层,基于接收到的子数据的第一标识,直至确定一个多媒体数据的多个子数据均已接收到后,将一个多媒体数据的多个子数据均存入该多媒体数据对应的第一子存储空间;对所述第一子存储空间内的多个子数据进行解码得到主业务数据组。
作为一种实施方式,每个主业务数据组具有第二标识,所述第二标识用于表征主业务数据组对应的主业务数据字段在所述多媒体信息中的位置,第三解码子模块,具体可以用于在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段后,对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果;所述目标标识用于表征对应的主业务数据组中的主业务数据字段为所述多媒体信息对应的最后一个字段。
作为一种实施方式,每个主业务数据组还具有序号,所述序号用于判定所述多媒体信息对应的多个主业务数据组之间的连续性;第三解码子模块,具体可以用于在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段,且所述第二子存储空间中的多个主业务数据字段分别对应的主业务数据组的序号为连续的整数,则对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果。
作为一种实施方式,所述存储空间还包括第三子存储空间和第四子存储空间,第三解码子模块,具体可以包括:
数据字段存入单元,用于在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,将所述多个主业务数据字段中具有头部标识的主业务数据字段存入所述第三子存储空间,并将所述多个主业务数据字段中具有正文标识的主业务数据字段存入所述第四子存储空间;
数据字段解码单元,用于分别对所述第三子存储空间内的主业务数据字段和所述第四子存储空间内的主业务数据字段进行解码,得到所述多媒体信息的解码结果。
作为一种实施方式,所述多媒体信息包括幻灯片图像,数据字段解码单元,具体可以包括:
第一数据字段解码子单元,用于对所述第三子存储空间内的主业务数据字段进行解码后,得到解码后的头部信息;
时间确定子单元,用于从所述解码后的头部信息中,确定所述幻灯片图像的预期显示时间;
第二数据字段解码子单元,用于对所述第四子存储空间内的主业务数据字段进行解码后,得到解码后的正文信息;
第一格式转换子单元,用于若当前到达所述预期显示时间,则将所述解码后的正文信息转换成目标格式的幻灯片图像;所述目标格式的幻灯片图像用于向用户展示。
作为一种实施方式,数据字段解码单元,具体可以包括:
第三数据字段解码子单元,用于对所述第三子存储空间内的主业务数据字段进行解码,得到解码后的头部信息;
第四数据字段解码子单元,用于若基于所述解码后的头部信息确定所述多媒体信息为电子节目指南EPG标志,则对所述第四子存储空间内的主业务数据字段进行解码得到所述EPG标志;
第二格式转换子单元,用于将所述EPG标志转换为目标格式的EPG标志;所述目标格式的EPG标志用于向用户展示。
作为一种实施方式,第一解码子模块,具体可以用于若该多媒体数据对应的第一子存储空间内的多个数据包的索引标识为连续的多个整数,则对所述第一子存储空间内的多媒体数据进行解码得到主业务数据组。
作为一种实施方式,该多媒体信息解码装置2300,还可以包括:
数据包校验模块,用于对接收到的数据包进行数据长度校验和循环冗余校验码校验;
相应地,第一解码子模块,具体可以用于将数据长度校验和循环冗余校验码校验均通过的具有相同传输地址的数据包存入同一第一子存储空间。
本申请实施例还提供了对应的电子设备以及计算机可读存储介质,用于实现本申请实施例提供的方案。
其中,所述设备包括存储器和解码器,所述存储器用于存储计算机程序,所述解码器用于执行所述计算机程序,以使所述设备执行本申请任一实施例所述的多媒体信息解码方法。
所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被运行时,运行所述计算机程序的设备实现本申请任一实施例所述的多媒体信息解码方法。
本申请实施例中提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在可读存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (13)
1.一种多媒体信息解码方法,其特征在于,所述方法包括:
接收待解码的多媒体信息;所述多媒体信息为基于多媒体对象传输MOT协议的MOT层、传输层和网络层依次编码得到;
将所述多媒体信息存入与所述多媒体信息对应的存储空间,并在所述存储空间内基于所述多媒体信息进行网络层、传输层和MOT层的解码,获得所述多媒体信息的解码结果;
其中,在所述网络层的解码过程中产生的所述多媒体信息的第一相关数据也存入所述存储空间,用于所述传输层的解码;在所述传输层的解码过程中产生的所述多媒体信息的第二相关数据也存入所述存储空间,用于所述MOT层的解码。
2.根据权利要求1所述的方法,其特征在于,所述多媒体信息包括多个多媒体数据,所述存储空间包括第一子存储空间和第二子存储空间,所述将所述多媒体信息存入与所述多媒体信息对应的存储空间,并在所述存储空间内基于所述多媒体信息进行网络层、传输层和MOT层的解码,获得所述多媒体信息的解码结果,包括:
在所述网络层,将所述多个多媒体数据一一存入对应的第一子存储空间,对每个第一子存储空间内的多媒体数据进行解码得到主业务数据组作为所述第一相关数据;
在所述传输层,对每个第一子存储空间内的主业务数据组进行解码得到主业务数据字段作为所述第二相关数据,并将解码得到的主业务数据字段存入所述第二子存储空间;所述主业务数据字段用于存储对应的主业务数据组的正文信息,所述主业务数据组的正文信息用于所述MOT层的解码;
在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,对所述多个主业务数据字段进行解码得到所述多媒体信息的解码结果。
3.根据权利要求2所述的方法,其特征在于,每个多媒体数据包括具有相同传输地址的多个数据包,所述在所述网络层,将所述多个多媒体数据一一存入对应的第一子存储空间,对每个第一子存储空间内的多媒体数据进行解码得到主业务数据组,包括:
在所述网络层,针对每个多媒体数据,将接收到的具有相同传输地址的数据包存入同一第一子存储空间;
直至一个多媒体数据的多个数据包均已存入该多媒体数据对应的第一子存储空间,对所述第一子存储空间内的多媒体数据进行解码得到主业务数据组。
4.根据权利要求2所述的方法,其特征在于,每个多媒体数据包括均具有第一标识的多个子数据,所述第一标识用于表征子数据在对应的多媒体数据中的位置;所述在所述网络层,将所述多个多媒体数据一一存入对应的第一子存储空间,对每个第一子存储空间内的多媒体数据进行解码得到主业务数据组,包括:
在所述网络层,基于接收到的子数据的第一标识,直至确定一个多媒体数据的多个子数据均已接收到后,将一个多媒体数据的多个子数据均存入该多媒体数据对应的第一子存储空间;
对所述第一子存储空间内的多个子数据进行解码得到主业务数据组。
5.根据权利要求2所述的方法,其特征在于,每个主业务数据组具有第二标识,所述第二标识用于表征主业务数据组对应的主业务数据字段在所述多媒体信息中的位置,所述在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,对所述多个主业务数据字段进行解码得到所述多媒体信息的解码结果,包括:
在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段后,对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果;所述目标标识用于表征对应的主业务数据组中的主业务数据字段为所述多媒体信息对应的最后一个字段。
6.根据权利要求5所述的方法,其特征在于,每个主业务数据组还具有序号,所述序号用于判定所述多媒体信息对应的多个主业务数据组之间的连续性;所述在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段后,对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果,包括:
在所述MOT层,直至所述第二子存储空间中存入具有目标标识的主业务数据组对应的主业务数据字段,且所述第二子存储空间中的多个主业务数据字段分别对应的主业务数据组的序号为连续的整数,则对所述第二子存储空间内的多个主业务数据字段进行解码,得到所述多媒体信息的解码结果。
7.根据权利要求2所述的方法,其特征在于,所述存储空间还包括第三子存储空间和第四子存储空间,所述在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,对所述多个主业务数据字段进行解码得到所述多媒体信息的解码结果,包括:
在所述MOT层,直至所述多媒体信息对应的多个主业务数据字段均已存入所述第二子存储空间后,将所述多个主业务数据字段中具有头部标识的主业务数据字段存入所述第三子存储空间,并将所述多个主业务数据字段中具有正文标识的主业务数据字段存入所述第四子存储空间;
分别对所述第三子存储空间内的主业务数据字段和所述第四子存储空间内的主业务数据字段进行解码,得到所述多媒体信息的解码结果。
8.根据权利要求7所述的方法,其特征在于,所述多媒体信息包括幻灯片图像,所述分别对所述第三子存储空间内的主业务数据字段和所述第四子存储空间内的主业务数据字段进行解码,得到所述多媒体信息的解码结果,包括:
对所述第三子存储空间内的主业务数据字段进行解码后,得到解码后的头部信息;
从所述解码后的头部信息中,确定所述幻灯片图像的预期显示时间;
对所述第四子存储空间内的主业务数据字段进行解码后,得到解码后的正文信息;
若当前到达所述预期显示时间,则将所述解码后的正文信息转换成目标格式的幻灯片图像;所述目标格式的幻灯片图像用于向用户展示。
9.根据权利要求7所述的方法,其特征在于,所述分别对所述第三子存储空间内的主业务数据字段和所述第四子存储空间内的主业务数据字段进行解码,得到所述多媒体信息的解码结果,包括:
对所述第三子存储空间内的主业务数据字段进行解码,得到解码后的头部信息;
若基于所述解码后的头部信息确定所述多媒体信息为电子节目指南EPG标志,则对所述第四子存储空间内的主业务数据字段进行解码得到所述EPG标志;
将所述EPG标志转换为目标格式的EPG标志;所述目标格式的EPG标志用于向用户展示。
10.根据权利要求3所述的方法,其特征在于,所述直至一个多媒体数据的多个数据包均已存入该多媒体数据对应的第一子存储空间,对所述第一子存储空间内的多媒体数据进行解码得到主业务数据组,包括:
若该多媒体数据对应的第一子存储空间内的多个数据包的索引标识为连续的多个整数,则对所述第一子存储空间内的多媒体数据进行解码得到主业务数据组。
11.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对接收到的数据包进行数据长度校验和循环冗余校验码校验;
所述将接收到的具有相同传输地址的数据包存入同一第一子存储空间,具体包括:
将数据长度校验和循环冗余校验码校验均通过的具有相同传输地址的数据包存入同一第一子存储空间。
12.一种多媒体信息解码装置,其特征在于,所述装置包括:
信息接收模块,用于接收待解码的多媒体信息;所述多媒体信息为基于多媒体对象传输MOT协议的MOT层、传输层和网络层依次编码得到;
信息解码模块,用于将所述多媒体信息存入与所述多媒体信息对应的存储空间,并在所述存储空间内基于所述多媒体信息进行网络层、传输层和MOT层的解码,获得所述多媒体信息的解码结果;
其中,在所述网络层的解码过程中产生的所述多媒体信息的第一相关数据也存入所述存储空间,用于所述传输层的解码;在所述传输层的解码过程中产生的所述多媒体信息的第二相关数据也存入所述存储空间,用于所述MOT层的解码。
13.一种电子设备,其特征在于,所述设备包括存储器以及解码器:
所述存储器,用于存储计算机程序,并将所述计算机程序传输给所述解码器;
所述解码器,用于执行所述计算机程序,以使所述设备执行如权利要求1-11任一项所述的多媒体信息解码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311656765.6A CN117615150A (zh) | 2023-12-05 | 2023-12-05 | 一种多媒体信息解码方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311656765.6A CN117615150A (zh) | 2023-12-05 | 2023-12-05 | 一种多媒体信息解码方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117615150A true CN117615150A (zh) | 2024-02-27 |
Family
ID=89953366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311656765.6A Pending CN117615150A (zh) | 2023-12-05 | 2023-12-05 | 一种多媒体信息解码方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117615150A (zh) |
-
2023
- 2023-12-05 CN CN202311656765.6A patent/CN117615150A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5542872B2 (ja) | メディアコンテナファイルの管理 | |
KR100608113B1 (ko) | 에러 핸들러를 포함한 디지털 오디오 복호화기 및 디지털오디오 재생기 | |
EP1742397A2 (en) | Providing identification of broadcast transmission pieces | |
US9979781B2 (en) | Receiving device, receiving method, transmission device, transmission method, and program | |
CN106131660B (zh) | 视频定位播放方法及装置 | |
US20050278637A1 (en) | Method, medium, and apparatus for processing slide show data | |
WO2000052600A1 (fr) | Emetteur, recepteur, systeme d'emetteur/recepteur, procede de transmission et procede de reception | |
US20170019431A1 (en) | Receiving device, reception method, transmitting device, and transmission method | |
EP1608093A1 (en) | Method and apparatus for decoding MOT data | |
WO2007126381A2 (en) | Method and apparatus for re-constructing media from a media representation | |
CN112770312A (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
CN112636880A (zh) | 侧信道重传高可靠超高清视频卫星传输系统 | |
AU2009271869B2 (en) | Method and apparatus for providing rich media service | |
CN112243158A (zh) | 媒体文件处理方法、装置及电子设备 | |
EP2077683A2 (en) | Method, system and apparatus for updating phonebook information | |
CN111787420B (zh) | 一种数据处理方法及装置、电子设备、可读存储介质 | |
CN117615150A (zh) | 一种多媒体信息解码方法及相关装置 | |
KR102384709B1 (ko) | 수신 장치, 수신 방법, 송신 장치, 및 송신 방법 | |
US20100017834A1 (en) | Apparatus and Method for Transmitting Multimedia Objects in Digital Multimedia Broadcasting | |
CN112436919B (zh) | 流数据传输方法、装置、设备及计算机可读存储介质 | |
CN1773900A (zh) | 检测数字音频广播的数据业务中的接收差错的方法和设备 | |
CN107911718B (zh) | 数字电视软件升级方法、装置及计算机可读存储介质 | |
JP2011244268A (ja) | 放送装置、放送受信装置、放送方法、放送受信方法 | |
CN111314021A (zh) | 数据传输方法、装置、电子设备及计算机可读存储介质 | |
KR100619032B1 (ko) | 메타 파일 전송 방법, 메타 파일 복호 방법 및 장치 |
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 |