一种使用ai芯片进行视频编解码运算的方法

文档序号:1925597 发布日期:2021-12-03 浏览:37次 >En<

阅读说明:本技术 一种使用ai芯片进行视频编解码运算的方法 (Method for performing video coding and decoding operation by using AI chip ) 是由 刘凯 刘毅 刘斌 郑海勇 吕亚堂 林涛睿 王剑峰 于 2021-09-08 设计创作,主要内容包括:本发明提供一种使用AI芯片进行视频编解码运算的方法,在编码过程中,CPU读取输入的视频流数据,进行分组、划分宏块后传给AI芯片,进行帧内数据、帧间数据编码,CPU进行变换、量化及熵编码后将视频流数据打包输出;在解码过程中,CPU读取打包后的视频流数据,传递给AI芯片进行熵解码,CPU进行反量化和反变换操作后传给AI芯片,AI芯片并行对帧内数据、帧间数据进行预测,重构出图像数据,CPU对图像数据进行去块滤波操作,然后发送出去。本发明通过使用AI芯片进行视频的编解码操作,获得更加有效的压缩率和提升处理速度,方便的进行编解码算法的更新,方便开发、测试各种新的算法,并为后续将视频编解码与神经网络算法的结合打好基础。(The invention provides a method for using AI chip to carry on the operation of video coding and decoding, in the course of encoding, CPU reads the video stream data of input, carry on grouping, divide behind the macroblock and transmit to AI chip, carry on the intraframe data, interframe data coding, CPU pack the video stream data and export after transforming, quantizing and entropy coding; in the decoding process, the CPU reads the packed video stream data and transmits the video stream data to the AI chip for entropy decoding, the CPU performs inverse quantization and inverse transformation operations and then transmits the video stream data to the AI chip, the AI chip performs prediction on the intra-frame data and the inter-frame data in parallel to reconstruct the image data, and the CPU performs deblocking filtering operation on the image data and then sends the image data out. The invention uses the AI chip to carry out the video coding and decoding operation, obtains more effective compression ratio and improves the processing speed, conveniently updates the coding and decoding algorithm, conveniently develops and tests various new algorithms, and lays a foundation for the subsequent combination of the video coding and decoding and the neural network algorithm.)

一种使用AI芯片进行视频编解码运算的方法

技术领域

本发明涉及视频编解码技术领域,具体涉及一种使用AI芯片进行视频编解码运算的方法。

背景技术

随着智能手机和5G通信技术的不断发展,人们在越来越多的生产和消费大量视频类数据,如监控、直播、视频通信、短视频等,此类App的下载量和日活人数持续增高,据报告预测,视频类数据占互联网总数据量的80%以上。

大量视频类数据的保存和传输是一个巨大的挑战,随着视频数据分辨率、帧率的不断提升,挑战越来越大,计算机领域中的视频编解码方案研究专门解决此类问题。解决视频数据保存和传输的关键技术就是视频压缩,目前市场上主流的编码格式有H264/H265,VP8/VP9,MPEG-4等。

同时,随着视频编码格式的发展,实现视频编解码的方法也在改变。在PC端,最早是由CPU纯软件方案来实现的,这样会占用大量CPU资源,容易出现资源争抢。后来采用了GPU方案,在GPU中集成了专门的编解码硬件模块,将CPU释放出来,效率也得到提升。而在手机端,目前采用的是专用的编解码硬件模块,有的厂家叫VPU,有的厂家集成在GPU中,此类模块是一种专用的DSP芯片,在手机中负责视频编解码。

传统的视频编解码芯片可以满足当前的大部分需求,但还是存在如下几个问题点:

1)专用视频编解码芯片依然存在性能上的瓶颈;

2)视频编解码芯片是专用芯片,不能与其他功能模块共享;

3)算法是提前写入编解码芯片的,此种方式为算法的更新带来不便;

4)不利于新的编解码算法的开发与测试;

因此,现有技术存在不足,需要进一步改进。

发明内容

针对现有技术存在的问题,本发明提供一种使用AI芯片进行视频编解码运算的方法。

为实现上述目的,本发明的具体方案如下:

本发明提供一种使用AI芯片进行视频编解码运算的方法,包括如下步骤:

S1,在编码过程中,CPU读取输入的视频流数据,进行分组、划分宏块后传给AI芯片,AI芯片进行帧内数据、帧间数据编码后传回给CPU,CPU进行变换、量化及熵编码后将视频流数据打包输出;

S2,在解码过程中,CPU读取打包后的视频流数据,传递给AI芯片,AI芯片进行熵解码后传回给CPU,CPU进行反量化和反变换操作后传给AI芯片,AI芯片并行对帧内数据、帧间数据进行预测,重构出图像数据,CPU对图像数据进行去块滤波操作,然后发送出去。

进一步地,步骤S1具体包括如下步骤:

S11,CPU读取输入的视频流数据,对每帧数据进行分组、划分宏块,然后传给AI芯片;

S12,AI芯片并行对帧内数据、帧间数据进行编码,并对帧间数据编码进行运动估计和运动补偿;

S13,AI芯片将编码后的视频流数据传递给CPU,CPU进行变换和量化操作;

S14,CPU对视频流数据进行熵编码操作后打包输出。

进一步地,步骤S2具体包括如下步骤:

S21,CPU读取打包后的视频流数据,识别其中的视频帧和数据片,然后传递给AI芯片;

S22,AI芯片进行熵解码后传回给CPU;

S23,CPU进行反量化和反变换操作后传回给AI芯片;

S24,AI芯片并行对帧内数据、帧间数据进行预测,重构出图像数据,然后传回给CPU;

S25,CPU将图像数据进行去块滤波操作后发送出去。

进一步地,步骤S12中,运动估计处理流程具体包括如下步骤:

S121,CPU将要编码帧的图像数据、参考帧数据传递给AI芯片;

S122,AI芯片内部对计算任务进行划分实现并行化处理,各计算部分使用相同的算法,处理不同的图像数据、参考帧数据;

S123,按照要对比的参考帧个数进行任务划分,实现多个参考帧的同时对比;

S124,针对要编码帧的行或列进行任务划分;

S125,所有划分的任务开始并行处理,针对宏块数据进行对比,计算差异值;

S126,根据并行任务的计算结果,取差异值最小的宏块数据进行记录并编码;

S127,将结果传递给CPU做后续处理。

进一步地,步骤S22中,熵解码处理流程具体包括如下步骤:

S221,CPU对打包后的视频流数据进行分析,解析出对应的视频帧和数据片,并将数据片数据传给AI芯片;

S222,AI芯片收到数据片数据,将任务进行划分,分给各个处理单元进行并行处理;

S223,AI芯片中的处理单元并行执行熵解码操作;

S224,AI芯片将熵解码操作的结果进行汇总,发送给CPU进行后续处理。

进一步地,在步骤S12中,

帧内数据编码、运动补偿采用AI芯片并行处理的方式进行处理。

进一步地,在步骤S24中,

帧间数据预测采用AI芯片并行处理的方式进行处理。

采用本发明的技术方案,具有以下有益效果:

本发明通过使用AI芯片来进行视频的编解码操作,在不增加额外投入的情况下,利用AI芯片越来越强大的算力,不但可以获得更加有效的压缩率和提升处理速度外,还可以更加方便的进行编解码算法的更新,方便开发、测试各种新的算法,并为后续将视频编解码与神经网络算法的结合打好基础,开发出更加智能、更加具备适应性、更加优化的视频编解码方案。

附图说明

图1是本发明

具体实施方式

的CPU与AI芯片配合完成编码过程示意图;

图2是本发明具体实施方式的运动估计编码所进行的计算量示意图;

图3是本发明具体实施方式的运动估计并行处理流程示意图;

图4是本发明具体实施方式的CPU与AI芯片配合完成解码过程示意图;

图5是本发明具体实施方式的编解码整体流程图;

图6是本发明具体实施方式的编码流程步骤图;

图7是本发明具体实施方式的解码流程步骤图。

具体实施方式

以下结合附图和具体实施例,对本发明进一步说明。

结合图1-图7对本发明进行具体说明,

本发明提供一种使用AI芯片进行视频编解码运算的方法,包括编码和解码两个流程。

在传统的软件编解码方案中,由CPU单独完成,在新的方案中,将由CPU和AI芯片(NPU)一起配合完成。

一、编码流程:

新的编解码框架的实现如图1所示。

因为AI芯片的结构,天然适合大量的并行计算,因此,将视频编码中可以并行运算的部分交给AI芯片来处理,只能串行操作的任务交给CPU来完成。

编码整体处理过程如下:

第一步:CPU读取输入的视频流数据,对每帧数据进行分组、划分宏块,将视频流数据传给AI芯片;

第二步:AI芯片并行对帧内数据、帧间数据进行编码,其中,对于帧间数据编码,需要进行运动估计和运动补偿;

第三步:AI芯片将编码后的视频流数据传递给CPU,在CPU上进行变换和量化操作;

第四步:再在CPU上进行熵编码操作,经过打包操作后输出;

其中,在视频编码的所有任务中,帧内数据编码、运动估计和运动补偿都是计算量巨大的任务。我们知道,在如H264这类的编码协议中,会将视频分割成宏块,而宏块的大小有16*16、8*8、4*4等多种模式。在帧内数据编码时,会将要进行编码的当前宏块,与已经完成编码的宏块进行逐一对比,当分辨率越高、划分的宏块越小这种比较运算就会增多,而利用AI芯片并行处理的特性,可加快这种比较的速度,获得更好的编码效果。

运动估计的并行计算方法:

在视频的运动中,每秒钟视频帧数一般都在30帧以上,因此运动物体在各帧之间的差异很小,在这种情况下,使用参考帧的模式,其他帧都与参考帧进行对比,只记录差异,会在很大程度上降低最后编码的数据量。

在做运动估计编码时,首先会将图片划分成宏块,然后用要编码宏块的数据去和参考帧中的宏块进行一一对比,这里可对比的参考帧是可以有多个,数量越多越有可能找到差异小的参考宏块。在进行对比计算差异值时,当参考帧有多个,分辨率又较高的情况下,这样的循环对比计算量将会非常巨大。图2是运动估计编码所进行的计算量示意图。

在引入AI芯片后,这些计算都可以是并行的,会在多个方面提升并行度:

同时可对多帧进行编码计算;

同时可对多个参考帧进行并行对比;

可将编码帧中的宏块按照行或列进行分组,同时进行对比计算;

最后,针对每个要编码的宏块,在对比多个计算结果后,留下差异数据量最小的用作最后的编码。

图3是运动估计并行处理流程示意图。

运动估计并行处理流程,具体如下:

1)CPU将要编码帧的图像数据、参考帧数据传递给AI芯片(NPU);

2)AI芯片内部对计算任务进行划分实现并行化处理,各计算部分使用相同的算法,但处理的数据不同;

3)按照要对比的参考帧个数进行任务划分,实现多个参考帧的同时对比;

4)针对要编码帧的行或列(不限其他划分方式)进行任务划分;

5)所有划分的任务开始并行处理,针对宏块数据进行对比,计算差异值;

6)根据并行任务的计算结果,取差异值最小的宏块数据进行记录并编码,达到最优编码效果;

7)将结果传递给CPU做后续处理;

除了运动估计外,其他几个处理阶段如帧内数据编码、运动补偿也可以使用类似的方式实现并行化处理。

二、解码流程:

除在编码阶段可使用AI芯片并行计算来加速外,在解码阶段也可以实现并行化处理,解码整体处理流程如下:

第一步:CPU读取打包后的视频流数据,识别其中的视频帧和数据片,并传递给AI芯片;

第二步:AI芯片对视频流数据进行熵解码,这里的操作是可以并行的,之后传回给CPU;

第三步:CPU进行反量化和反变换操作,再次传递给AI芯片;

第四步:AI芯片并行对帧内数据、帧间数据进行预测,重构出图像数据,然后传回给CPU;

第五步:CPU对图像数据进行去块滤波等操作,然后发送出去。

其中,对于熵解码的并行处理如下:

1)CPU先对打包后的视频流数据进行分析,解析出对应的视频帧和数据片,因为在熵编码时是以数据片为独立单位的,因此可以在数据片上进行并行解码处理;

2)AI芯片收到CPU发送过来的大量数据片数据,然后将任务进行划分,分给各个处理单元进行并行处理;

3)AI芯片中的处理单元并行执行熵解码操作;

4)AI芯片将熵解码操作的结果进行汇总,最后发送给CPU进行后续处理;

除了熵解码外,其他几个处理阶段如帧内数据编码、帧间数据预测也可以使用类似的方式实现并行化处理。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的保护范围内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种自恢复的视频解码方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类