一种视频解码方法及装置制造方法及图纸

技术编号:29064150 阅读:22 留言:0更新日期:2021-06-30 09:09
本发明专利技术提供视频解码方法及装置,方法包括:步骤1、设置默认的软解码器;步骤2、读取当前待解码的视频流,识别所述视频流的编码格式和分辨率;步骤3、判断硬解码器是否支持所述视频编码格式,是则进入下一步,否则进入步骤5;步骤4、判断所述分辨率是否超过预设分辨率,是则使用硬解码器解码,否则进入下一步;步骤5、使用所述软解码器解码。本发明专利技术实现了系统解码性能的提高。性能的提高。性能的提高。

【技术实现步骤摘要】
一种视频解码方法及装置


[0001]本专利技术涉及图像处理
,尤其涉及一种视频解码方法及装置。

技术介绍

[0002]视频的播放主要分为三个步骤:解封装,视频解码,视频显示。解封装就是将视频里面的视频流与音频流按照编码协议解析出来,视频解码就是将视频流解析为视频分辨率大小的图片,一般为YUV的逐行或隔行的数据,视频显示就是将解析好的图片显示在屏幕。
[0003]视频解码中可分为软解码与硬解码。硬解码能够比较流畅的播放,但很多格式的文件都无法播放,或者拖动播放会有花屏的现象;软解码播放时,大部分的文件都可以正常播放,拖动播放没有花屏的现象,但较大分辨率的文件会有不同程度的卡顿现象。
[0004]因此,现有技术有待进一步改进。

技术实现思路

[0005]本专利技术提供一种视频解码方法及装置,旨在解决现有技术中的缺陷,实现系统解码性能的提高。
[0006]为达到上述目的,本专利技术所采取的技术方案为:
[0007]本专利技术一方面提供一种视频解码方法,包括:
[0008]步骤1、设置默认的软解码器;
[0009]步骤2、读取当前待解码的视频流,识别所述视频流的编码格式和分辨率;
[0010]步骤3、判断硬解码器是否支持所述视频编码格式,是则进入下一步,否则进入步骤5;
[0011]步骤4、判断所述分辨率是否超过预设分辨率,是则使用硬解码器解码,否则进入下一步;
[0012]步骤5、使用所述软解码器解码。
[0013]进一步地,所述使用硬解码器解码包括:
[0014]步骤A1、读取视频文件的当前行视频编码数据;
[0015]步骤A2、检测像素变化点,所述像素变化点为像素值发生改变的地址值;
[0016]步骤A3、根据所述地址值确定解码长度;
[0017]步骤A4、判断当前行的所有的所述像素变化点是否已检测完毕,是则进入下一步,否则返回步骤A2;
[0018]步骤A5、根据所述解码长度和对应的像素值对当前行数据进行解码,生成该行图像数据输出;
[0019]步骤A6、读取下一行视频编码数据,返回步骤A2。
[0020]进一步地,所述步骤5包括:
[0021]步骤B1、所述软解码器以原始分辨率进行解码,当所述软解码器的负荷超过预设负荷后进入下一步;
[0022]步骤B2、所述软解码器以第二分辨率进行解码。
[0023]具体地,所述第二分辨率小于原始分辨率。
[0024]具体地,所述步骤B2包括:
[0025]步骤B201、设置默认解码单元大小;
[0026]步骤B202、读取默认解码单元大小,并以所述默认解码单元大小进行解码;
[0027]步骤B203、判断所述软解码器是否在预定时间内完成当前视频帧的解码;
[0028]步骤B204,若软解码器能在预定时间内完成当前视频帧的解码,则将默认解码单元大小设置当前解码单元大小,否则将所述默认解码单元的一半设置当前解码单元大小;
[0029]步骤B205,使用当前解码单元大小执行解码处理,并返回步骤B203。
[0030]具体地,所述步骤1包括:设置FFMPEG为默认的软解码器。
[0031]本专利技术另一方面提供一种视频解码装置,包括:
[0032]依次连接的读取解析模块、格式判断模块、分辨率判断模块、硬解码器,与所述格式判断模块、分辨率判断模块连接的软解码器;
[0033]所述读取解析模块,用于读取当前待解码的视频流,识别当前视频流的编码格式和分辨率;
[0034]所述格式判断模块,用于判断硬解码器是否支持当前视频编码格式;
[0035]所述分辨率判断模块,用于判断当前分辨率是否超过预设分辨率;
[0036]所述硬解码器,用于对当前视频流进行硬解码;
[0037]所述软解码器,用于对当前视频流进行软解码。
[0038]具体地,所述硬解码器包括:
[0039]依次连接的视频读取单元、像素点检测单元、解码长度单元、硬件解码单元;
[0040]所述视频读取单元,用于读取视频文件的当前行视频编码数据;
[0041]所述像素点检测单元,用于检测像素变化点;
[0042]所述解码长度单元,用于根据像素变化点确定解码长度;
[0043]所述硬件解码单元,用于根据解码长度和对应的像素值对当前行数据进行解码,生成图像数据输出。
[0044]具体地,所述软解码器包括:
[0045]第一软件解码单元、第二软件解码单元、CPU负荷监测单元、解码切换单元;所述CPU负荷监测单元与所述第一软件解码单元、第二软件解码单元、解码切换单元连接,所述解码切换单元还与所述所述第一软件解码单元、第二软件解码单元连接;
[0046]所述第一软件解码单元,用于以原始分辨率进行解码;
[0047]所述第二软件解码单元,用于以第二分辨率进行解码;
[0048]所述CPU负荷监测单元,用于监测软解码器的负荷是否超过预设负荷;
[0049]所述解码切换单元,用于将所述软解码器的解码单元在所述第一软件解码单元和第二软件解码单元之间进行切换。
[0050]具体地,所述第二软件解码单元包括:
[0051]依次连接的默认解码单元设置子单元、解码单元配置子单元、预解码子单元、解码时间获取子单元,以及与所述解码时间获取子单元连接的解码结果判断子单元;
[0052]所述默认解码单元设置子单元,用于设置默认的解码单元大小;
[0053]所述解码单元配置子单元,用于读取默认的解码单元大小配置当前解码单元大小;
[0054]所述预解码子单元,用于以当前解码单元大小进行解码;
[0055]所述解码时间获取子单元,用于获取解码完成时间;
[0056]所述解码结果判断子单元,用于判断软解码器是否在预定时间内完成当前视频帧的解码。
[0057]具体地,所述软解码器为FFMPEG。
[0058]本专利技术的有益效果在于:本专利技术通过设置默认的软解码器,识别及判断视频流的编码格式和分辨率,针对不同的情形,使用硬解码器或软解码器解码,提高了系统的解码性能。
附图说明
[0059]图1是本专利技术的视频解码方法的流程示意图;
[0060]图2是本专利技术的视频解码装置的结构示意图;
[0061]图3是本专利技术的硬解码器的结构示意图;
[0062]图4是本专利技术的软解码器的结构示意图;
[0063]图5是本专利技术的第二软件解码单元的结构示意图。
具体实施方式
[0064]下面结合附图具体阐明本专利技术的实施方式,附图仅供参考和说明使用,不构成对本专利技术专利保护范围的限制。
[0065]实施例1
[0066]如图1所示,本实施例提供一种视频解码方法,包括:
[0067]步骤1、设置默认的软解码器。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种视频解码方法,其特征在于,包括:步骤1、设置默认的软解码器;步骤2、读取当前待解码的视频流,识别所述视频流的编码格式和分辨率;步骤3、判断硬解码器是否支持所述视频编码格式,是则进入下一步,否则进入步骤5;步骤4、判断所述分辨率是否超过预设分辨率,是则使用硬解码器解码,否则进入下一步;步骤5、使用所述软解码器解码。2.根据权利要求1所述的视频解码方法,其特征在于,所述使用硬解码器解码包括:步骤A1、读取视频文件的当前行视频编码数据;步骤A2、检测像素变化点,所述像素变化点为像素值发生改变的地址值;步骤A3、根据所述地址值确定解码长度;步骤A4、判断当前行的所有的所述像素变化点是否已检测完毕,是则进入下一步,否则返回步骤A2;步骤A5、根据所述解码长度和对应的像素值对当前行数据进行解码,生成该行图像数据输出;步骤A6、读取下一行视频编码数据,返回步骤A2。3.根据权利要求1所述的视频解码方法,其特征在于,所述步骤5包括:步骤B1、所述软解码器以原始分辨率进行解码,当所述软解码器的负荷超过预设负荷后进入下一步;步骤B2、所述软解码器以第二分辨率进行解码。4.根据权利要求3所述的视频解码方法,其特征在于,所述第二分辨率小于原始分辨率。5.根据权利要求3所述的视频解码方法,其特征在于,所述步骤B2包括:步骤B201、设置默认解码单元大小;步骤B202、读取默认解码单元大小,并以所述默认解码单元大小进行解码;步骤B203、判断所述软解码器是否在预定时间内完成当前视频帧的解码;步骤B204,若软解码器能在预定时间内完成当前视频帧的解码,则将默认解码单元大小设置当前解码单元大小,否则将所述默认解码单元的一半设置当前解码单元大小;步骤B205,使用当前解码单元大小执行解码处理,并返回步骤B203。6.一种视频解码装置,其特征在于,包括:依次连接的读取解析模块、格式判断模块、分辨率判断模块、硬解码器,与所述格式判断模块、分辨率判断模块连接的软解码器;所述读取解析模块,用于读取当前待解码的视频流,识别当前视频流的编码格式和分辨率;所述格...

【专利技术属性】
技术研发人员:万锐
申请(专利权)人:惠州华阳通用电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1