The invention discloses an efficient decoding and playing method and system for high-definition video. The method includes: creating a window to display video images and creating device operating objects for the ability to obtain a programmable graphics central processor GPU device and the acceleration level; to request a backstage buffer to GPU to video data From the host memory into the background buffer and decoding, the color space type Y color component U V component of the decoded video image data is stored in the background buffer of the graphics processor GPU in the NV12 data storage format, and the image data after the sampling, interpolation calculation, color space conversion, and conversion are carried out. It is stored in the background buffer, and is moved from the background buffer to the front surface buffer to display video and image data. The invention uses GPU to decode the image frame, reduces the usage rate of the central processor CPU, saves the unnecessary data transfer time and memory overhead, and improves the image display effect.
【技术实现步骤摘要】
一种用于高清视频的高效解码和播放方法及系统
本专利技术涉及视频处理
,尤其涉及一种用于高清视频的高效解码和播放方法及系统。
技术介绍
随着现代高清视频的广泛应用,视频数据量的急剧增加对中央处理器CPU造成了巨大的压力,虽然视频编码标准采用了最新的视频编码技术,获得了很好的效果,但是其压缩效率的提高是以压缩算法复杂度的提高为代价的。相对于较高分辨率的视频来说,海量的视频数据使视频的编码和解码对于硬件和软件都提出了很高的要求,在现代计算机上大多数视频的编解码部分及视频图像数据绘制显示部分(例如windows系统平台下的GDI图形设备接口(GraphicsDeviceInterface)),大部分的运算工作是依赖于中央处理器CPU来实现工作,对于路数相对较少,分辨率相对较低的视频来说,一般的中央处理器CPU可以胜任其工作。但若是对分辨率较高的超高清视频实时编解码或绘制视频图像时,对中央处理器CPU将是一个巨大的负担,多路超高清视频的编解码及绘制视频图像时尤其。根据上述问题得出结论:如果单纯仅靠提高中央处理器CPU的时钟频率来完成多路超高清视频的编解码及超高清视频的图像绘制,效果已经不明显或不可能,直接后果将是中央处理器CPU负荷满载,导致出现不理想的效果,例如画面不流畅花屏,卡顿,甚至影响计算机系统程序处理的阻塞等一系列的问题。
技术实现思路
本专利技术的目的在于提供一种用于高清视频的高效解码和播放方法,。为达成上述技术目的,本专利技术的技术方案如下:一种用于高清视频的高效解码和播放方法,包括以下步骤:步骤一、创建一个窗口,该窗口用于显示视频图像;步骤二、根据 ...
【技术保护点】
1.一种用于高清视频的高效解码和播放方法,其特征在于,包括以下步骤:步骤一、创建一个窗口,该窗口用于显示视频图像;步骤二、根据主机使用的图形处理器GPU创建一个设备操作对象,以操作图形处理器GPU;步骤三、通过设备操作对象获取图形处理器GPU支持解码加速的等级;步骤四、向GPU申请一块后台缓冲区,后台缓冲区在显存中分配了一块线性区域,并且将该缓冲区的数据存放格式设置为NV12,然后将待解码的数据流传入后台缓冲区,进行解码;步骤五、视频数据在GPU中解码后,获得颜色空间类型Y色度分量UV亮度分量数据,此时颜色空间类型YUV以NV12数据存放格式存储在后台缓冲区;步骤六、对解码后的颜色空间类型Y色度分量UV亮度分量数据进行采样、插值计算以及颜色空间转换,转换后的图像数据存储在后台缓冲区之中;步骤七、将存储了图像数据的后台缓冲区与前台表面缓冲区进行切换,从而实现在所述窗口进行图像数据的显示。
【技术特征摘要】
1.一种用于高清视频的高效解码和播放方法,其特征在于,包括以下步骤:步骤一、创建一个窗口,该窗口用于显示视频图像;步骤二、根据主机使用的图形处理器GPU创建一个设备操作对象,以操作图形处理器GPU;步骤三、通过设备操作对象获取图形处理器GPU支持解码加速的等级;步骤四、向GPU申请一块后台缓冲区,后台缓冲区在显存中分配了一块线性区域,并且将该缓冲区的数据存放格式设置为NV12,然后将待解码的数据流传入后台缓冲区,进行解码;步骤五、视频数据在GPU中解码后,获得颜色空间类型Y色度分量UV亮度分量数据,此时颜色空间类型YUV以NV12数据存放格式存储在后台缓冲区;步骤六、对解码后的颜色空间类型Y色度分量UV亮度分量数据进行采样、插值计算以及颜色空间转换,转换后的图像数据存储在后台缓冲区之中;步骤七、将存储了图像数据的后台缓冲区与前台表面缓冲区进行切换,从而实现在所述窗口进行图像数据的显示。2.如权利要求1所述的一种用于高清视频的高效解码和播放方法,其特征在于:所述获取图形处理器GPU支持解码加速的等级是指:GPU中执行视频码流的...
【专利技术属性】
技术研发人员:付强,
申请(专利权)人:厦门普杰信息科技有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。