The invention discloses a parallel encoding method and system for COStream based on HEVC, the method is implemented including: the video sequence is divided into several groups of images, by calling C++ function package in COStream parallel encoding image group; in accordance with the HEVC standard image group in each frame image is divided into a plurality of CTU image. Parallel encoding splitjoin structure by using COStream; each CTU contains a number of grammatical elements, each syntax element corresponds to an entropy encoding function, each syntax element using entropy encoding function pipeline calls each syntax element COStream, get the entropy encoding pipeline, using entropy encoding pipeline of syntax elements for parallel compression after entropy encoding; video. The invention solves the environment of Internet multimedia video data fast encoding needs, reduce the compression time of video data, video service providers to quickly respond to customer requests to provide convenience, while reducing the user requests the video service time, improve efficiency.
【技术实现步骤摘要】
一种基于COStream的HEVC并行编码方法和系统
本专利技术属于计算机应用
,更具体地,涉及一种基于COStream的HEVC并行编码方法和系统。
技术介绍
随着互联网的普及和手持设备的广泛应用,互联网上的数据呈现出爆炸性的增长,其中视频和图像等多媒体数据占了很大比例。这些海量的多媒体数据对存储和网络传输都提出了很高的要求,单纯的靠增加存储设备和提高网络带宽来满足日益增长的多媒体数据是不现实的,必须依靠别的方法来解决这个问题。传统的编程语言如C++和Java等都是上个世纪八九十年代提出的以单指令流为特征的编程语言,它们不能很好应用于当前的普遍存在的多核架构。为了利用多核的计算资源,pthread、MPI、OpenMP等并行框架被提出,但是它们的学习成本高、用户接口不友好,对程序员的要求非常高。视频编解码领域最新的编码标准是HEVC,它的编码框架和H.264类似,仍然采用基于像素块的混合编码框架。为了应对当前互联网环境下视频数据量大、视频分辨率高的特点,HEVC提出了一系列新的编码技术。虽然在在HEVC视频编码的优化处理方面国内外学者已经进行了大量的研究,但是在当前互联网多媒体数据爆炸增长的情况下,HEVC视频编码仍然面临下面几个问题:没有解决互联网环境下海量多媒体视频数据快速编码的需求,视频数据的压缩时间较长,用户请求视频服务的时间较长,效率较低。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于COStream的HEVC并行编码方法和系统,由此解决现有技术没有解决互联网环境下海量多媒体视频数据快速编码的需求,视频数据的压缩时 ...
【技术保护点】
一种基于COStream的HEVC并行编码方法,其特征在于,包括:(1)图像组并行编码:将视频序列划分成若干图像组,得到每个图像组的信息,将每个图像组的信息输入对应的图像组编码器,通过在COStream中调用C++封装的函数进行并行编码;(2)图像并行编码:按照HEVC标准将图像组中每一帧图像划分为若干个CTU,收集CTU行的信息,将每行CTU行的信息输入一个波前并行编码器,使用COStream的splitjoin结构进行并行编码;(3)语法元素并行熵编码:每个CTU包含若干个语法元素,每个语法元素对应一个熵编码函数,每个语法元素利用COStream的pipeline调用每个语法元素的熵编码函数,得到熵编码流水线,使用熵编码流水线对语法元素进行并行熵编码;(4)压缩视频序列:对视频序列进行图像组并行编码、图像并行编码和语法元素并行熵编码后,得到压缩后的视频。
【技术特征摘要】
1.一种基于COStream的HEVC并行编码方法,其特征在于,包括:(1)图像组并行编码:将视频序列划分成若干图像组,得到每个图像组的信息,将每个图像组的信息输入对应的图像组编码器,通过在COStream中调用C++封装的函数进行并行编码;(2)图像并行编码:按照HEVC标准将图像组中每一帧图像划分为若干个CTU,收集CTU行的信息,将每行CTU行的信息输入一个波前并行编码器,使用COStream的splitjoin结构进行并行编码;(3)语法元素并行熵编码:每个CTU包含若干个语法元素,每个语法元素对应一个熵编码函数,每个语法元素利用COStream的pipeline调用每个语法元素的熵编码函数,得到熵编码流水线,使用熵编码流水线对语法元素进行并行熵编码;(4)压缩视频序列:对视频序列进行图像组并行编码、图像并行编码和语法元素并行熵编码后,得到压缩后的视频。2.根据权利要求1所述的一种基于COStream的HEVC并行编码方法,其特征在于,所述步骤(1)包括:(1-1)将视频序列划分成若干图像组,得到每个图像组的信息,所述图像组的信息包括图像组的ID、图像组中图像的数量、图像组中每一帧图像的大小、图像组的起始帧和结束帧;(1-2)将每个图像组的信息输入对应的图像组编码器,当图像组为开放式图像组时,对应的图像组编码器在编码的时候周期性的插入IDR帧;(1-3)在图像组编码器中,通过在COStream中调用C++封装的函数进行并行编码。3.根据权利要求1所述的一种基于COStream的HEVC并行编码方法,其特征在于,所述步骤(2)包括:(2-1)按照HEVC标准将图像组中每一帧图像划分为若干个CTU,收集CTU行的信息,所述CTU行的信息包括CTU行的索引、CTU行的行数和CTU行中CTU的个数;(2-2)将每行CTU行的信息输入一个波前并行编码器,使用COStream的splitjoin结构进行并行编码;除了第一行CTU行之外,其余的CTU行均要进行等待,直到收到上一个CTU行的通知,才能继续执行;当前的波前编码器每编码完成一个CTU就向下一个CTU行发送通知。4.根据权利要求1所述的基于COStream的HEVC并行编码方法,其特征在于,所述步骤(3)包括:(3-1)每个CTU包含若干个语法元素,语法元素转换成二进制比特串后进行算术编码,每个语法元素对应一个上下文概率模型,熵编码函数使用算术编码和上下文概率模型;(3-2)每个语法元素利用COStream的pipeline调用每个语法元素的熵编码函数,得到熵编码流水线,使用熵编码流水线对语法元素进行并行熵编码。5.一种基于COStream的HEVC并行编码系统,...
【专利技术属性】
技术研发人员:于俊清,莫斌生,陈珍,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。