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

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

Info

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
Application number
CN202111052472.8A
Other languages
English (en)
Inventor
刘凯
刘毅
刘斌
郑海勇
吕亚堂
林涛睿
王剑峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Compuchip Information Technology Co ltd
Original Assignee
Shenzhen Compuchip Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Compuchip Information Technology Co ltd filed Critical Shenzhen Compuchip Information Technology Co ltd
Priority to CN202111052472.8A priority Critical patent/CN113747170A/zh
Publication of CN113747170A publication Critical patent/CN113747170A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders 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芯片进行视频编解码运算的方法
技术领域
本发明涉及视频编解码技术领域,具体涉及一种使用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芯片并行处理的方式进行处理。
CN202111052472.8A 2021-09-08 2021-09-08 一种使用ai芯片进行视频编解码运算的方法 Pending CN113747170A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114723033A (zh) * 2022-06-10 2022-07-08 成都登临科技有限公司 数据处理方法、装置、ai芯片、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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