CN113747170A - 一种使用ai芯片进行视频编解码运算的方法 - Google Patents
一种使用ai芯片进行视频编解码运算的方法 Download PDFInfo
- Publication number
- CN113747170A CN113747170A CN202111052472.8A CN202111052472A CN113747170A CN 113747170 A CN113747170 A CN 113747170A CN 202111052472 A CN202111052472 A CN 202111052472A CN 113747170 A CN113747170 A CN 113747170A
- Authority
- CN
- China
- Prior art keywords
- chip
- data
- cpu
- transmits
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种使用AI芯片进行视频编解码运算的方法,在编码过程中,CPU读取输入的视频流数据,进行分组、划分宏块后传给AI芯片,进行帧内数据、帧间数据编码,CPU进行变换、量化及熵编码后将视频流数据打包输出;在解码过程中,CPU读取打包后的视频流数据,传递给AI芯片进行熵解码,CPU进行反量化和反变换操作后传给AI芯片,AI芯片并行对帧内数据、帧间数据进行预测,重构出图像数据,CPU对图像数据进行去块滤波操作,然后发送出去。本发明通过使用AI芯片进行视频的编解码操作,获得更加有效的压缩率和提升处理速度,方便的进行编解码算法的更新,方便开发、测试各种新的算法,并为后续将视频编解码与神经网络算法的结合打好基础。
Description
技术领域
本发明涉及视频编解码技术领域,具体涉及一种使用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进行后续处理;
除了熵解码外,其他几个处理阶段如帧内数据编码、帧间数据预测也可以使用类似的方式实现并行化处理。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的保护范围内。
Claims (7)
1.一种使用AI芯片进行视频编解码运算的方法,其特征在于包括如下步骤:
S1,在编码过程中,CPU读取输入的视频流数据,进行分组、划分宏块后传给AI芯片,AI芯片进行帧内数据、帧间数据编码后传回给CPU,CPU进行变换、量化及熵编码后将视频流数据打包输出;
S2,在解码过程中,CPU读取打包后的视频流数据,传递给AI芯片,AI芯片进行熵解码后传回给CPU,CPU进行反量化和反变换操作后传给AI芯片,AI芯片并行对帧内数据、帧间数据进行预测,重构出图像数据,CPU对图像数据进行去块滤波操作,然后发送出去。
2.根据权利要求1所述的使用AI芯片进行视频编解码运算的方法,其特征在于,
步骤S1具体包括如下步骤:
S11,CPU读取输入的视频流数据,对每帧数据进行分组、划分宏块,然后传给AI芯片;
S12,AI芯片并行对帧内数据、帧间数据进行编码,并对帧间数据编码进行运动估计和运动补偿;
S13,AI芯片将编码后的视频流数据传递给CPU,CPU进行变换和量化操作;
S14,CPU对视频流数据进行熵编码操作后打包输出。
3.根据权利要求1所述的使用AI芯片进行视频编解码运算的方法,其特征在于,
步骤S2具体包括如下步骤:
S21,CPU读取打包后的视频流数据,识别其中的视频帧和数据片,然后传递给AI芯片;
S22,AI芯片进行熵解码后传回给CPU;
S23,CPU进行反量化和反变换操作后传回给AI芯片;
S24,AI芯片并行对帧内数据、帧间数据进行预测,重构出图像数据,然后传回给CPU;
S25,CPU将图像数据进行去块滤波操作后发送出去。
4.根据权利要求2所述的使用AI芯片进行视频编解码运算的方法,其特征在于,
步骤S12中,运动估计处理流程具体包括如下步骤:
S121,CPU将要编码帧的图像数据、参考帧数据传递给AI芯片;
S122,AI芯片内部对计算任务进行划分实现并行化处理,各计算部分使用相同的算法,处理不同的图像数据、参考帧数据;
S123,按照要对比的参考帧个数进行任务划分,实现多个参考帧的同时对比;
S124,针对要编码帧的行或列进行任务划分;
S125,所有划分的任务开始并行处理,针对宏块数据进行对比,计算差异值;
S126,根据并行任务的计算结果,取差异值最小的宏块数据进行记录并编码;
S127,将结果传递给CPU做后续处理。
5.根据权利要求3所述的使用AI芯片进行视频编解码运算的方法,其特征在于,
步骤S22中,熵解码处理流程具体包括如下步骤:
S221,CPU对打包后的视频流数据进行分析,解析出对应的视频帧和数据片,并将数据片数据传给AI芯片;
S222,AI芯片收到数据片数据,将任务进行划分,分给各个处理单元进行并行处理;
S223,AI芯片中的处理单元并行执行熵解码操作;
S224,AI芯片将熵解码操作的结果进行汇总,发送给CPU进行后续处理。
6.根据权利要求2所述的使用AI芯片进行视频编解码运算的方法,其特征在于,
在步骤S12中,
帧内数据编码、运动补偿采用AI芯片并行处理的方式进行处理。
7.根据权利要求3所述的使用AI芯片进行视频编解码运算的方法,其特征在于,
在步骤S24中,
帧间数据预测采用AI芯片并行处理的方式进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111052472.8A CN113747170A (zh) | 2021-09-08 | 2021-09-08 | 一种使用ai芯片进行视频编解码运算的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111052472.8A CN113747170A (zh) | 2021-09-08 | 2021-09-08 | 一种使用ai芯片进行视频编解码运算的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113747170A true CN113747170A (zh) | 2021-12-03 |
Family
ID=78737270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111052472.8A Pending CN113747170A (zh) | 2021-09-08 | 2021-09-08 | 一种使用ai芯片进行视频编解码运算的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113747170A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723033A (zh) * | 2022-06-10 | 2022-07-08 | 成都登临科技有限公司 | 数据处理方法、装置、ai芯片、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297777A (zh) * | 2013-05-23 | 2013-09-11 | 广州高清视信数码科技股份有限公司 | 一种用于加速视频编码速度的方法及装置 |
CN105516726A (zh) * | 2015-11-27 | 2016-04-20 | 传线网络科技(上海)有限公司 | 视频编码的运动补偿匹配方法和系统 |
CN110769257A (zh) * | 2018-07-25 | 2020-02-07 | 北京深鉴智能科技有限公司 | 智能视频结构化分析装置、方法和系统 |
CN111277727A (zh) * | 2020-01-13 | 2020-06-12 | 天地伟业技术有限公司 | 一种多cpu异构处理视频数据的方法 |
US20200374534A1 (en) * | 2019-05-26 | 2020-11-26 | Alibaba Group Holding Limited | Ai-assisted programmable hardware video codec |
-
2021
- 2021-09-08 CN CN202111052472.8A patent/CN113747170A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297777A (zh) * | 2013-05-23 | 2013-09-11 | 广州高清视信数码科技股份有限公司 | 一种用于加速视频编码速度的方法及装置 |
CN105516726A (zh) * | 2015-11-27 | 2016-04-20 | 传线网络科技(上海)有限公司 | 视频编码的运动补偿匹配方法和系统 |
CN110769257A (zh) * | 2018-07-25 | 2020-02-07 | 北京深鉴智能科技有限公司 | 智能视频结构化分析装置、方法和系统 |
US20200374534A1 (en) * | 2019-05-26 | 2020-11-26 | Alibaba Group Holding Limited | Ai-assisted programmable hardware video codec |
CN111277727A (zh) * | 2020-01-13 | 2020-06-12 | 天地伟业技术有限公司 | 一种多cpu异构处理视频数据的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723033A (zh) * | 2022-06-10 | 2022-07-08 | 成都登临科技有限公司 | 数据处理方法、装置、ai芯片、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102196256B (zh) | 一种视频编码方法及装置 | |
CN110087087A (zh) | Vvc帧间编码单元预测模式提前决策及块划分提前终止方法 | |
CN106170092A (zh) | 用于无损编码的快速编码方法 | |
Shen et al. | Ultra fast H. 264/AVC to HEVC transcoder | |
CN106961610B (zh) | 一种结合超分辨率重建的超高清视频新型压缩框架 | |
CN102625108B (zh) | 一种基于多核处理器实现的h.264解码方法 | |
CN108449603A (zh) | 基于多核平台多层次任务级与数据级并行的hevc解码方法 | |
CN104038764A (zh) | 一种h.264到h.265的视频转码方法及转码器 | |
CN104079937B (zh) | 一种基于运动矢量分析的由h.264到hevc的快速帧间转码方法及转码装置 | |
CN103327325A (zh) | 基于hevc标准的帧内预测模式快速自适应选择方法 | |
CN103297777A (zh) | 一种用于加速视频编码速度的方法及装置 | |
CN101115207B (zh) | 基于预测点间相关性的帧内预测实现的方法及装置 | |
CN113747170A (zh) | 一种使用ai芯片进行视频编解码运算的方法 | |
CN102196272B (zh) | 一种p帧编码方法及装置 | |
CN109391816A (zh) | 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法 | |
CN102595137B (zh) | 基于图像像素块行/列流水线的快速模式判决装置和方法 | |
CN102625109B (zh) | 一种基于多核处理器实现的mpeg-2至h.264的转码方法 | |
CN104780377A (zh) | 一种基于分布式计算机系统的并行hevc编码系统及方法 | |
CN111757109A (zh) | 一种高实时性的并行视频编解码方法、系统和存储介质 | |
CN102340659B (zh) | 一种基于avs的并行的模式决策装置和方法 | |
CN105227959A (zh) | 用于视频编码的多编码点混编流水方法及其装置 | |
CN111815502B (zh) | 基于WebP压缩算法的多图处理的FPGA加速方法 | |
CN101262607B (zh) | 二重预测视频编解码方法和装置 | |
CN104602026B (zh) | 一种适用于hevc标准下编码器中全复用的重建环路结构 | |
CN101562747B (zh) | 一种视频编码预测残差块的分解及重建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |