[发明专利]解码方法及装置有效
申请号: | 200810026422.0 | 申请日: | 2008-02-22 |
公开(公告)号: | CN101252685A | 公开(公告)日: | 2008-08-27 |
发明(设计)人: | 刘宝兰 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;H04N7/30 |
代理公司: | 广州三环专利代理有限公司 | 代理人: | 郝传鑫;熊贤卿 |
地址: | 518129广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解码 方法 装置 | ||
技术领域
本发明涉及多媒体技术,尤其涉及一种解码的方法及装置。
背景技术
现有技术的解码过程如下:
解码器接收到码流后,都先将码流存储在一个码流缓存(Buffer)中,在变长解码(VLD,Variable Length Decoding)时从码流Buffer中读取码流,进行解析。在解码过程中需要判断码流是否越界,所谓码流越界,就是指向码流的指针在随着码流解码移动的过程中,指向的位置超过了装载码流的Buffer的边界,造成的指针地址指向Buffer外的不确定的地址。这样,读取的数据不是接收到的码流,而且如果这个不确定的地址是系统不允许访问的地址,而读取了数据,会导致整个操作系统的错误。尤其是在解析语法元素时,因为需要对解析到的语法元素进行正确性的判断,首先需要说明的是,语法元素是指在音视频编解码协议中,协议规定的码流中特定的比特位代表的特定的含义的比特值,解析语法元素就是将这些特定的比特值提取出来,按照编解码协议约定好的意义,用于后续码流的解析。例如:接收到一段以二进制方式传输的码流:0000 00000000 0000 0000 0001 1011 0110……,第四代活动图片专家组(MPEG4,MovingPicture Expert Group)视频编解码协议事先规定,这整个一段码流代表一幅新的图像开始的标识,这段码流就是代表一个语法元素——一幅图像的开始码。
如果某个语法元素解析出来出现了协议规定中之外的值,则认为该语法元素解析错误了。这时候需要判断产生这种错误是因为传输导致的,还是因为码流Buffer越界导致的。需要说明的是,在解析视频的过程中,无论从网络上实时接收码流还是从本地的存储设备上读取码流,码流都是连续的,而解码器接收码流的Buffer是有限的,所以,只能一段一段的接收码流然后解码。而现有解码的Buffer是软件控制,不是硬件ARM上的Buffer(硬件的具有自动回绕功能)。软件控制,只能顺序的一直从顶部读取码流到底部,所以会出现Buffer越界。
而由于协议中语法元素数量很多,就造成了对码流Buffer越界的判断更加频繁。而这种频繁的判断,不仅提高了解码器实现的复杂度,而且极大的影响到解码器的效率。
现有的视频解码方法为:在解析语法元素过程中,完成对若干个码流的语法元素解析后,就进行码流Buffer越界的判断,然后根据判断结果,选择继续解析还是向上层控制上报Buffer越界,解码器需要获得下一段码流。
如果解析的语法元素正确而且码流Buffer没有越界,则继续从码流Buffer中读取码流,进行下几个语法元素的解析或者如果语法元素解析完成后进行后续的解码工作。但是如果解析的语法元素正确,而码流Buffer越界,说明Buffer中的码流全部解析完成了,所以需要接收网络传输过来的码流,或者继续从本地存储介质上读取码流,此时解码器不能继续进行语法解析,解码器上报上一级控制需要获得下一段码流,上一级控制再继续给码流Buffer中灌输新的码流。还有一种情况是,语法元素解析错误,并且码流Buffer没有越界,则通过分析该错误的语法元素对后续解码的影响程度,如果影响程度不大,则可以继续解析,如果影响较大,则需要丢弃这一幅图像的码流数据,进行下一幅图像的解析。最后一种情况是,语法元素解析错误,并且码流Buffer越界,这种错误可能是读取到Buffer之外的数据导致,则不能继续解析,上报上一级控制需要码流,上一级控制再重新给码流Buffer中灌输码流进行解析。
发明人在本发明的创造过程中发现,现有的视频解码方法存在如下缺点:
虽然是一次解析多个语法元素后再进行码流越界判断,但是判断次数的减少并不能有效地解决解析过程中效率问题,因为在多个语法元素的解析语法元素的过程中,容易造成码流越界,码流的指针很容易指向一个非法地址从而导致解码器死机。
发明内容
本发明实施例提供了一种解码的方法和装置,可简化语法元素解析过程的判断流程,提高解码的效率。
本发明实施例提供了一种解码的方法,包括:
接收到码流后,将所述码流存储在码流缓存中,所述码流缓存底部预留有预设的存储空间,以避免对码流进行语法元素解析时码流越界;
从所述码流缓存中读取所述码流;
对所述码流进行语法元素解析;
判断所述码流是否越界,并进行相应处理。
本发明实施例还提供了一种解码的装置,包括:
码流接收模块,用于接收码流;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810026422.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:导航中有关信息导航方法及设备
- 下一篇:多彩干粉理石墙艺漆