[发明专利]一种原始码流解码方法和系统有效
申请号: | 201610067318.0 | 申请日: | 2016-01-29 |
公开(公告)号: | CN107025125B | 公开(公告)日: | 2019-10-22 |
发明(设计)人: | 李永海 | 申请(专利权)人: | 上海大唐移动通信设备有限公司;大唐移动通信设备有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 200233 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 原始 解码 方法 系统 | ||
本发明涉及一种原始码流解码方法和系统,其中该方法包括:将当前所使用解码库的字段属性信息写入配置文件中;读取配置文件,加载字段属性信息至内存;接收用户端的原始码流;按照字段属性信息依序遍历并解析原始码流字段;根据用户需求格式化输出解析结果。本发明将码流数据结构信息,与程序完全解藕,若要获取字段值,只要配置文件进行简单的修改即可,有利于新手快速参与到项目中来,同时代码行将不随字段多少,而线性增加。而且不要需要强制转换数据结构,利用指针按字节(单位),利用偏移量依次访问原始码流,在频繁解码过程中,可以有效提高解码速率,代码行比较稳定,不会随需求变更,产生大的变迁。
技术领域
本发明涉及通信技术领域,具体涉及一种原始码流解码方法。
背景技术
处理原始码流,是通信领域非常重要的环节。解析原始码流的过程比较繁琐,对于大型程序解码原始码流而言,不仅要求解码精确,而且也要保证实时性,当然,代码行越少越好。现有的一些的解码方法中,主要是先将原始码流强制转换成当前码流数据结构,然后按字段对齐的方式取出相应的字段。例如,要从原始码流unsigned char*msg中提取字段“unsigned short subframeAssignment”,相关解码库数据结如下(实际情况比这个结构体,要复杂),此处简化,只是为了表达思想:
从原始码流unsigned char*msg,提取字段“unsigned shortsubframeAssignment”的方法如下:由于unsigned char*msg是结构嵌结构体,强制转换之后,需要一层一层的解剖数据结构,如果新增一个字段求值,会增加同数量级的代码行,甚至更多。如果格式化输出,还需要进一步的工作。例如输出格式为:“字段名:字段值….”等类似信息,则需要程序做额外的格式化工作。
现有的原始码流解码方案(msg为原始码流),是一层一层的取字段,以获取“PDU消息:BCCH_DL_SCH_Message”中的字段“subframeAssignment”为例,过程如下:(1)、解析结构体:BCCH_DL_SCH_MessageType;(2)、解析结构体:SystemInformationBlockType1;(3)、解析结构体:TDD_Confi:(4)、最终获取字段“subframeAssignment”的值等步骤。虽然上述的解码方法中实现了正确的解码,但是在频繁解码,且对实时性要求高的场合,其性能是不高的。并且随着字段取值信息的增删、更新,皆需要更新源代码,每一个字段值的获取会迁涉到同数量级代码的变迁,如此:代码行会庞大、杂乱,难以维护,并且不利于新手快速加入到项目中来。
发明内容
要解决的技术问题是如何提高原始码流解码的性能。
针对现有技术中的缺陷,本发明提供一种原始码流解码方法和系统,可以有效提高原始码流解码的性能。
第一方面,本法发明提供一种原始码流解码方法,包括:
将当前所使用解码库的字段属性信息写入配置文件中;
读取配置文件,加载字段属性信息至内存;
接收用户端的原始码流;
按照字段属性信息依序遍历并解析原始码流字段;
根据用户需求格式化输出解析结果。
可选地,所述字段属性信息包括:
字段名、字段类型、类型个数、是否解析标识和共用体长度。
可选地,所述字段属性信息是字段属性为单位保存在解码配置文件中的;
可选地,所述字段属性信息是以链表形式加载至内存的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大唐移动通信设备有限公司;大唐移动通信设备有限公司,未经上海大唐移动通信设备有限公司;大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610067318.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:VCD机(3500)
- 下一篇:耳机(CD-851)