CN116723317A - Avs3模式决策电路、方法、设备及存储介质 - Google Patents

Avs3模式决策电路、方法、设备及存储介质 Download PDF

Info

Publication number
CN116723317A
CN116723317A CN202310695880.8A CN202310695880A CN116723317A CN 116723317 A CN116723317 A CN 116723317A CN 202310695880 A CN202310695880 A CN 202310695880A CN 116723317 A CN116723317 A CN 116723317A
Authority
CN
China
Prior art keywords
data
avs3
mode decision
module
instruction
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
CN202310695880.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.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
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 Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202310695880.8A priority Critical patent/CN116723317A/zh
Publication of CN116723317A publication Critical patent/CN116723317A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种AVS3模式决策电路、方法、设备及存储介质,所述AVS3模式决策电路包括:指令缓存模块,存储有电路控制指令,用于指示从数据缓存模块中读取数据至运算模块执行算法运算,以及指示将运算模块的运算结果存储至数据缓存模块,通过改变电路控制指令以实现满足不同编码需求;数据缓存模块,用于存储运算模块所产生的编码数据;运算模块,由可编程单元组成,用于根据接收到的电路控制指令,从数据缓存模块中读取相应数据执行算法运算,并将运算结果存储至数据缓存模块。本申请根据指令缓存模块中的电路控制指令,实现灵活的硬件资源调度,进而能够实现在不同应用场景下的差异化配置,以提高AVS3模式决策电路的适应性。

Description

AVS3模式决策电路、方法、设备及存储介质
技术领域
本申请涉及视频处理技术领域,尤其涉及一种AVS3模式决策电路、方法、设备及存储介质。
背景技术
AVS3(Audio Video Coding Standard)是指第三代音视频编解码标准,其中编码标准中的模式决策算法利用帧内预测技术和帧间预测技术分别去除视频信息中的空间冗余和时间冗余,达到压缩视频的目的。帧内预测技术和帧间预测技术的目的是得到每个最大编码单元(LCU)最优块划分方式以及每个子块的最优预测模式。AVS3标准中大量的块划分方式以及候选预测模式导致模式决策算法成为编码算法中复杂度最高的部分。
在现有针对较新标准的编码器硬件电路设计中,均需要通过算法剪枝的方式减小模式决策电路的复杂度,即删除部分对性能影响较小的块划分路径及候选预测模式个数。但是该实现方式的缺点在于硬件实现固化后,算法剪枝的方式不能改变,无法满足不同应用场景中对编码性能、功耗、实时性的不同需求,导致AVS3模式决策电路的适应性差。
发明内容
本申请的主要目的在于提供一种AVS3模式决策电路、方法、设备及存储介质,旨在解决现有技术中AVS3模式决策电路的适应性差的技术问题。
为实现以上目的,本申请提供一种AVS3模式决策电路,所述AVS3模式决策电路包括:
指令缓存模块,所述指令缓存模块存储有电路控制指令,用于指示从数据缓存模块中读取数据至运算模块执行算法运算,以及指示将运算模块的运算结果存储至数据缓存模块,通过改变所述电路控制指令以实现满足不同编码需求;
数据缓存模块,所述数据缓存模块用于存储运算模块所产生的编码数据;
运算模块,所述运算模块由可编程单元组成,用于根据接收到的电路控制指令,从数据缓存模块中读取相应数据执行算法运算,并将运算结果存储至数据缓存模块。
可选地,所述运算模块采用可编程设计,包括可编程数据读取单元LOAD、可编程数据存储单元STORE、运算单元PU以及旁路单元BYPASS。
可选地,所述LOAD、STORE和PU为并行化设计,其中,所述LOAD和STORE并行读取和写入多个PU的数据,PU之间的执行完全并行,所述LOAD、STORE和PU之间按照数据依赖流水运行。
可选地,所述运算模块对于控制指令采用预取机制,其中,所述预取机制为所述运算模块下每个单元设置有独立的指令缓冲器,所述指令缓存器设置为能够在同一时钟周期读取多个控制指令。
可选地,所述数据缓存模块采用分片和分组方式,其中,数据缓存分为相同结构的多个分片,每个分片中以LCU的数据结构为单元分组,每个分组包含编码单元LCU数据结构中不同尺寸所需的数据空间;每一所述PU共享有缓存数据的分片和分组;LOAD或者STORE能够并行访问同一分片和/或同一分组中的各种不同尺寸的数据。
可选地,所述指令缓存模块中所述电路控制指令包括分组索引,所述分组索引是基于指令指向值和分组状态寄存器共同确定的,其中,所述分组状态寄存器包括等待同步状态寄存器和触发同步状态寄存器,用于反映当前各单元的状态信息。
本申请还提供一种AVS3模式决策方法,应用于AVS3模式决策电路,所述AVS3模式决策电路包括指令缓存模块、数据缓存模块和运算模块,所述AVS3模式决策方法包括:
获取所述指令缓存模块中的电路控制指令;
将所述电路控制指令发送至所述运算模块,基于所述运算模块和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果;
将所述模式决策结果存储至所述数据缓存模块。
可选地,所述基于所述运算模块和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果的步骤,包括:
基于所述运算模块,确定所述电路控制指令中的索引地址;
基于所述索引地址,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到编码数据,其中,所述编码数据包括代价值;
将最小的代价值所对应的编码数据,确定为模式决策结果。
本申请还提供一种AVS3模式决策设备,所述AVS3模式决策设备包括:存储器、处理器以及存储在存储器上的用于实现所述AVS3模式决策方法的程序,
所述存储器用于存储实现AVS3模式决策方法的程序;
所述处理器用于执行实现所述AVS3模式决策方法的程序,以实现所述AVS3模式决策方法的步骤。
本申请还提供一种存储介质,所述存储介质上存储有实现AVS3模式决策方法的程序,所述实现AVS3模式决策方法的程序被处理器执行以实现所述AVS3模式决策方法的步骤。
本申请提供的一种AVS3模式决策电路、方法、设备及存储介质,与相关技术针对较新标准的编码器硬件电路设计中,均需要通过算法剪枝的方式减小模式决策电路的复杂度,即删除部分对性能影响较小的块划分路径及候选预测模式个数。但是该实现方式的缺点在于硬件实现固化后,算法剪枝的方式不能改变,无法满足不同应用场景中对编码性能、功耗、实时性的不同需求,导致AVS3模式决策电路的适应性差相比,在本申请中,所述AVS3模式决策电路包括:指令缓存模块,所述指令缓存模块存储有电路控制指令,用于指示从数据缓存模块中读取数据至运算模块执行算法运算,以及指示将运算模块的运算结果存储至数据缓存模块,通过改变所述电路控制指令以实现满足不同编码需求;数据缓存模块,所述数据缓存模块用于存储运算模块所产生的编码数据;运算模块,所述运算模块由可编程单元组成,用于根据接收到的电路控制指令,从数据缓存模块中读取相应数据执行算法运算,并将运算结果存储至数据缓存模块。即在本申请中,根据所述指令缓存模块中的电路控制指令,实现灵活的硬件资源调度,进而能够实现在不同应用场景中对视频编码器硬件电路的差异化配置,以提高AVS3模式决策电路的适应性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本申请AVS3模式决策方法第一实施例的流程示意图;
图3为本申请AVS3模式决策电路的结构示意图;
图4为本申请AVS3模式决策方法第一实施例中编码单元四叉树划分算法调度流程。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,图1是本申请实施例方案涉及的硬件运行环境的终端结构示意图。
本申请实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作装置、网络通信模块、用户接口模块以及AVS3模式决策程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的AVS3模式决策程序。
参照图2,本申请实施例提供一种AVS3模式决策方法,所述AVS3模式决策方法包括:
步骤S100,获取所述指令缓存模块中的电路控制指令;
步骤S200,将所述电路控制指令发送至所述运算模块,基于所述运算模块和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果;
步骤S300,将所述模式决策结果存储至所述数据缓存模块。
在本实施例中,针对的应用场景是:
作为一种示例,AVS3模式决策的场景可以为,基于AVS3利用帧内预测技术和帧间预测技术分别去除视频信息中的空间冗余和时间冗余,实现压缩视频的目的。在现有针对较新标准的编码器硬件电路设计中,均需要通过算法剪枝的方式减小模式决策电路的复杂度,即删除部分对性能影响较小的块划分路径及候选预测模式个数。但是该实现方式的缺点在于硬件实现固化后,算法剪枝的方式不能改变,无法满足不同应用场景中对编码性能、功耗、实时性的不同需求,导致AVS3模式决策电路的适应性差。针对此场景,本实施例的AVS3模式决策方法根据所述指令缓存模块中的电路控制指令,实现灵活的硬件资源调度,进而能够实现在不同应用场景中对视频编码器硬件电路的差异化配置,以提高AVS3模式决策电路的适应性。
本实施例旨在:提高AVS3模式决策电路的适应性。
在本实施例中,AVS3模式决策方法应用于AVS3模式决策电路调度系统。
具体步骤如下:
步骤S100,获取所述指令缓存模块中的电路控制指令;
在本实施例中,AVS3模式决策电路包括指令缓存模块、数据缓存模块和运算模块,其中,所述指令缓存模块存储有电路控制指令,用于指示从数据缓存模块中读取数据至运算模块执行算法运算,调度系统通过改变所述电路控制指令以实现满足不同编码需求,具体的,所述电路控制指令是根据不同应用场景中对编码性能、功耗、实时性的不同需求所对应设计/生成的控制指令,由于相关技术中硬件实现固化后,算法剪枝的方式不能改变,本申请能够根据所述指令缓存模块中的电路控制指令,实现灵活的硬件资源调度,进而能够实现在不同应用场景中对视频编码器硬件电路的差异化配置,以提高AVS3模式决策电路的适应性。
在本实施例中,所述指令缓存模块中所述电路控制指令包括分组索引,所述分组索引是基于指令指向值和分组状态寄存器共同确定的,其中,所述分组状态寄存器包括等待同步状态寄存器和触发同步状态寄存器,用于反映当前各单元的状态信息,具体地,控制指令中有两类特殊的同步标志位,分别标志等待同步状态寄存器和触发同步状态寄存器,以此方式灵活的描述指令集间的串并行调度关系。
在本实施例中,本申请提供指令缓存模块中的电路控制指令集设计,包括数据空间模式、指令集格式、串并行编程模型等,具体地,数据空间模式采用分片的共享空间,寻址分为[分片,分组,组内地址],三部分均为正整数表示;分组的索引由指令直接指定值和分组状态寄存器共同决定,效率提高;指令运算符由取数(LOAD),计算(PU),写回(STORE),旁路(BYPASS)等构成;LOAD和STORE指令可以同时为多个PU传输数据,PU的索引编码在指令中;指令集的执行模型支持两种,分布式执行模型是将对应不同模块的指令分散在各自的模块中执行,集中式执行模型是将对应不同模块的指令在统一的取值译码模块中执行,同一份指令支持两种方式执行。
步骤S200,将所述电路控制指令发送至所述运算模块,基于所述运算模块和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果。
在本实施例中,系统将所述电路控制指令发送至所述运算模块,基于所述运算模块和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果,其中,所述运算模块由可编程单元组成,具体地,所述运算模块采用可编程设计,包括可编程数据读取单元LOAD、可编程数据存储单元STORE、运算单元PU以及旁路单元BYPASS,所述运算模块用于根据接收到的电路控制指令,从数据缓存模块中读取相应数据执行算法运算,所述运算模块通过编程数据读取单元LOAD、可编程数据存储单元STORE和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果。其中,所述PU的作用是利用帧内、帧间预测技术,计算相应尺寸编码单元的最优预测模式,并产生对应的重构像素及编码代价;在确定上层编码单元的最优块划分方式时,由于下层已编码单元的编码数据可以直接从数据缓存中读取,不需要PU重复运算,此时BYPASS将读取到的数据通过STORE写回数据缓存的指定位置;LOAD根据指令缓存中的对应指令从数据缓存中读取数据,发送至PU或BYPASS;STORE根据指令缓存中的对应指令将PU或BYPASS产生的数据写入数据缓存中;其中,LOAD和STORE是实现视频编码模式决策电路可编程调度的关键。为了降低电路实现难度,LOAD和STORE分别融合成一套电路实现,电路中包含了各尺寸的对应功能模块。
在本实施例中,数据缓存用于存储各尺寸运算模块产生的编码数据,数据缓存采用多个数据通道的分片设计,目的是保证不同块划分路径产生的编码数据互不干扰,具体的通道个数与使能的块划分路径相关。每个通道又进一步划分为多个数据分组,每个分组可以存储一个LCU的数据结构。分组设计可以使得没有数据依赖关系的各运算模块可以并行工作。
在本实施例中,指令缓存用于存储上位机写入的可编程模块的控制指令,包括指示数据读取单元(LOAD)从指定编号的数据缓存中读出数据发送至对应尺寸的运算单元(PU)或旁路单元(BYPASS)、指示数据存储单元(STORE)将运算单元(PU)或旁路单元(BYPASS)的输出数据写入指定编号的数据缓存。具体缓存的指令及顺序需要根据使能的块划分路径,由上位机分析得出。LOAD和STORE拥有独立的指令缓冲器,通过对指令缓存的预取机制以及数据缓存的并行化访问,可以实现没有数据依赖的各运算模块并行执行,减少编码时间。指令缓存的预取机制是指提前读取指令缓存中存储的部分指令,将各指令同时发送至指令所指的空闲模块,达到并行执行的目的。而数据缓存的并行化访问是通过数据缓存的分块设计以及数据读出模块的尺寸化设计实现的。
具体地,所述步骤S200,包括以下步骤S210-S230:
步骤S210,基于所述运算模块,确定所述电路控制指令中的索引地址;
步骤S220,基于所述索引地址,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到编码数据,其中,所述编码数据包括代价值;
步骤S230,将最小的代价值所对应的编码数据,确定为模式决策结果。
在本实施例中,所述电路控制指令中包括指示LOAD和/或STORE读取数据的索引地址,系统根据所述电路控制指令,确定所述电路控制指令中的索引地址,即运算模块根据电路控制指令中的索引地址读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到编码数据,其中,所述编码数据包括代价值,将最小的代价值所对应的编码数据,确定为模式决策结果。
在本实施例中,参照图4,以32*32尺寸的LCU模式决策过程为例,说明AVS3模式决策电路结构在完成不划分(NS)、水平二叉树(BTH)、垂直二叉树(BTV)、四叉树(QT)四个块划分路径任务时的一种调度过程。具体地,BTH划分对应图中的第1至4行;BTV划分对应图中的第5至8行;QT划分对应图中的第9至12行;NS对应图中的第13行。调度流程为同一行中的模块由左至右顺序执行,不同行之前的模块并行执行,跨多行的模块需等待其左侧所有模块处理完成后再执行。图4中MxN标记的模块为运算单元,即图3中不同尺寸的预测运算模块。此外,数据存储单元在完成对所属各块划分路径的代价值比较后,将最优代价对应的编码数据写入数据缓存中。模式决策电路可编程性体现在可以通过改变指令开关图中不同行对应的处理流程,达到灵活组合的目的。
对于不同的LCU尺寸(64*64、128*128)及不同的块划分路径(NS、QT、BTH、BTV、EQTH、EQTV),硬件模块的调度过程仍遵循如图2所示的异构模式(LOAD、PU/BYPASS、STORE)。区别在于所需的硬件模块数量不同(即图2中的行数不同)以及对应不同电路的指令不同。
以图4为例说明如何通过改变指令,使得模式决策电路改变。图4显示了32*32尺寸LCU进行NS、BTH、BTV、QT四个划分路径计算时的调度过程,图中13行对应所需的13组电路,即为划分决策的最大电路数目。若在某应用场景中,需要降低编码器芯片的功耗,则可以在指令缓存中删除前四行对应的四组电路的控制指令,使其进入空闲状态,进而关闭了32*32尺寸LCU的BTH计算路径,达到降低功耗的目的。
步骤S300,将所述模式决策结果存储至所述数据缓存模块。
本申请提供的一种AVS3模式决策方法,与相关技术针对较新标准的编码器硬件电路设计中,均需要通过算法剪枝的方式减小模式决策电路的复杂度,即删除部分对性能影响较小的块划分路径及候选预测模式个数。但是该实现方式的缺点在于硬件实现固化后,算法剪枝的方式不能改变,无法满足不同应用场景中对编码性能、功耗、实时性的不同需求,导致AVS3模式决策电路的适应性差相比,在本申请中,所述AVS3模式决策电路包括:指令缓存模块,所述指令缓存模块存储有电路控制指令,用于指示从数据缓存模块中读取数据至运算模块执行算法运算,以及指示将运算模块的运算结果存储至数据缓存模块,通过改变所述电路控制指令以实现满足不同编码需求;数据缓存模块,所述数据缓存模块用于存储运算模块所产生的编码数据;运算模块,所述运算模块由可编程单元组成,用于根据接收到的电路控制指令,从数据缓存模块中读取相应数据执行算法运算,并将运算结果存储至数据缓存模块。即在本申请中,根据所述指令缓存模块中的电路控制指令,实现灵活的硬件资源调度,进而能够实现在不同应用场景中对视频编码器硬件电路的差异化配置,以提高AVS3模式决策电路的适应性。
本申请还提供了一种AVS3模式决策电路,所述AVS3模式决策电路包括:
指令缓存模块,所述指令缓存模块存储有电路控制指令,用于指示从数据缓存模块中读取数据至运算模块执行算法运算,以及指示将运算模块的运算结果存储至数据缓存模块,通过改变所述电路控制指令以实现满足不同编码需求;
数据缓存模块,所述数据缓存模块用于存储运算模块所产生的编码数据;
运算模块,所述运算模块由可编程单元组成,用于根据接收到的电路控制指令,从数据缓存模块中读取相应数据执行算法运算,并将运算结果存储至数据缓存模块。
在本实施例中,参照图3,如图1所示,AVS3模式决策电路包含三个主要部分,分别为指令缓存、数据缓存和运算模块。运算模块又包括可编程数据读取单元(LOAD)、可编程数据存储单元(STORE)、运算单元(PU)以及旁路单元(BYPASS)。
在本实施例中,AVS3模式决策电路包括可编程并行读取,可编程并行存储,并行运算单元和并行旁路单元,流水线和同步控制机制等。其特点在于:第一,不同尺寸电路模块按照各种功能统一成各自一套电路,比如将不同尺寸的数据读取融合实现在一套电路结构中,将不同尺寸的数据写入融合实现在同一套电路中。比如对于图4中前3行尺寸分别为16*16、16*8、8*16的电路模块,它们的目的是分别计算出当前16*16亮度CU进行NS、BTH、BTV三种块划分方式所对应的代价,选择出代价最小的划分方式作为此16*16亮度CU的块划分方式。由于三组电路的输入数据相同,输出数据选择最优的作为最终输出,因此可以将三组数据读取和数据写入分别融合实现,以减少电路个数;第二,读取,写入,运算和旁路模块等采用可编程设计,通过动态或者静态改变指令,可以控制和改变编码模式的选择,执行运算的顺序,和模式计算的复杂度等参数;第三,通过指令的同步域和同步状态寄存器来进行同一执行单元和不同执行单元之间的控制同步。这些特征均为相互独立的保护点,包括某些特征单独出现,或者它们的组合;
在本实施例中,AVS3模式决策电路用于可编程模式决策调度的指令集设计,包括数据空间模式,指令集格式,串并行编程模型等,其特征是:第一,数据空间模式采用分片的共享空间,寻址分为[分片,分组,组内地址],三部分均为正整数表示;第二,分组的索引由指令直接指定值和分组状态寄存器共同决定,效率提高;第三,指令运算符由取数(LOAD),计算(PU),写回(STORE),旁路(BYPASS)等构成;第四,LOAD和STORE指令可以同时为多个PU传输数据,PU的索引编码在指令中;第五,指令集的执行模型支持两种,分布式执行模型是将对应不同模块的指令分散在各自的模块中执行,集中式执行模型是将对应不同模块的指令在统一的取值译码模块中执行,同一份指令支持两种方式执行;第六,指令中有两类特殊的同步标志位,分别标志等待同步状态寄存器和触发同步状态寄存器,以此方式灵活的描述指令集间的串并行调度关系;
在本实施例中,AVS3模式决策电路的运算模块中LOAD、STORE、PU的并行化设计,其中LOAD和STORE能并行读取和写入多个PU的数据,PU之间的执行完全并行,LOAD、STORE和PU之间按照数据依赖流水运行;
在本实施例中,AVS3模式决策电路的数据缓存分片、分组设计。特征在于:第一,数据缓存分为相同结构的多个分片,每个分片中以LCU的数据结构为单元分组,每个分组包含LCU数据结构中不同尺寸所需的数据空间;第二,所有分片和分组均为所有PU共享,共享数据的访问通过LOAD和STORE模块进行;第三,LOAD(或者STORE)可以并行访问同一分片同一分组中的各种不同尺寸的数据,数据访问并行度可以达到(但不限于)64个数据/时钟周期;第四,分片和分组的寻址可以通过指令直接指定和LOAD(或者STORE)模块累加两种方式进行;第五,LOAD和STORE可以同时访问不同分片。这些特征均为相互独立的保护点,包括某些特征单独出现,或者它们的组合。
在本实施例中,AVS3模式决策电路的指令缓存的预取机制。特征在于:第一,每个可编程模块有一个独立的指令缓冲器;第二,指令缓存有旁路模式直接访问外存储器中的指令;第三,指令缓存器可以在同一时钟周期读取多个指令;第四,指令缓存器可以同时触发向多个PU的数据传输。
本申请提供的一种AVS3模式决策电路,与相关技术针对较新标准的编码器硬件电路设计中,均需要通过算法剪枝的方式减小模式决策电路的复杂度,即删除部分对性能影响较小的块划分路径及候选预测模式个数。但是该实现方式的缺点在于硬件实现固化后,算法剪枝的方式不能改变,无法满足不同应用场景中对编码性能、功耗、实时性的不同需求,导致AVS3模式决策电路的适应性差相比,在本申请中,所述AVS3模式决策电路包括:指令缓存模块,所述指令缓存模块存储有电路控制指令,用于指示从数据缓存模块中读取数据至运算模块执行算法运算,通过改变所述电路控制指令以实现满足不同编码需求;数据缓存模块,所述数据缓存模块用于存储运算模块所产生的编码数据;运算模块,所述运算模块由可编程单元组成,用于根据接收到的电路控制指令,从数据缓存模块中读取相应数据执行算法运算。即在本申请中,根据所述指令缓存模块中的电路控制指令,实现灵活的硬件资源调度,进而能够实现在不同应用场景中对视频编码器硬件电路的差异化配置,以提高AVS3模式决策电路的适应性。
参照图1,图1是本申请实施例方案涉及的硬件运行环境的终端结构示意图。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,该AVS3模式决策设备还可以包括矩形用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图1中示出的AVS3模式决策设备结构并不构成对AVS3模式决策设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块以及AVS3模式决策程序。操作系统是管理和控制AVS3模式决策设备硬件和软件资源的程序,支持AVS3模式决策程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与AVS3模式决策系统中其它硬件和软件之间通信。
在图1所示的AVS3模式决策设备中,处理器1001用于执行存储器1005中存储的AVS3模式决策程序,实现上述任一项所述的AVS3模式决策方法的步骤。
本申请AVS3模式决策设备具体实施方式与上述AVS3模式决策方法各实施例基本相同,在此不再赘述。
本申请还提供一种存储介质,所述存储介质上存储有实现AVS3模式决策方法的程序,所述实现AVS3模式决策方法的程序被处理器执行以实现如下所述AVS3模式决策方法:
获取所述指令缓存模块中的电路控制指令;
将所述电路控制指令发送至所述运算模块,基于所述运算模块和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果。
可选地,所述基于所述运算模块和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果的步骤,包括:
基于所述运算模块,确定所述电路控制指令中的索引地址;
基于所述索引地址,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果。
本申请存储介质具体实施方式与上述AVS3模式决策方法各实施例基本相同,在此不再赘述。
本申请还提供一种计算机程序产品、包括计算机程序,该计算机程序被处理器执行时实现上述的AVS3模式决策方法的步骤。
本申请计算机程序产品的具体实施方式与上述AVS3模式决策方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种AVS3模式决策电路,其特征在于,所述AVS3模式决策电路包括:
指令缓存模块,所述指令缓存模块存储有电路控制指令,用于指示从数据缓存模块中读取数据至运算模块执行算法运算,以及指示将运算模块的运算结果存储至数据缓存模块,通过改变所述电路控制指令以实现满足不同编码需求;
数据缓存模块,所述数据缓存模块用于存储运算模块所产生的编码数据;
运算模块,所述运算模块由可编程单元组成,用于根据接收到的电路控制指令,从数据缓存模块中读取相应数据执行算法运算,并将运算结果存储至数据缓存模块。
2.如权利要求1所述的AVS3模式决策电路,其特征在于,所述运算模块采用可编程设计,包括可编程数据读取单元LOAD、可编程数据存储单元STORE、运算单元PU以及旁路单元BYPASS。
3.如权利要求2所述的AVS3模式决策电路,其特征在于,所述LOAD、STORE和PU为并行化设计,其中,所述LOAD和STORE并行读取和写入多个PU的数据,PU之间的执行完全并行,所述LOAD、STORE和PU之间按照数据依赖流水运行。
4.如权利要求1所述的AVS3模式决策电路,其特征在于,所述运算模块对于控制指令采用预取机制,其中,所述预取机制为所述运算模块下每个单元设置有独立的指令缓冲器,所述指令缓存器设置为能够在同一时钟周期读取多个控制指令。
5.如权利要求2所述的AVS3模式决策电路,其特征在于,所述数据缓存模块采用分片和分组方式,其中,数据缓存分为相同结构的多个分片,每个分片中以LCU的数据结构为单元分组,每个分组包含编码单元LCU数据结构中不同尺寸所需的数据空间;每一所述PU共享有缓存数据的分片和分组;LOAD或者STORE能够并行访问同一分片和/或同一分组中的各种不同尺寸的数据。
6.如权利要求1所述的AVS3模式决策电路,其特征在于,所述指令缓存模块中所述电路控制指令包括分组索引,所述分组索引是基于指令指向值和分组状态寄存器共同确定的,其中,所述分组状态寄存器包括等待同步状态寄存器和触发同步状态寄存器,用于反映当前各单元的状态信息。
7.一种AVS3模式决策方法,其特征在于,应用于AVS3模式决策电路,所述AVS3模式决策电路包括指令缓存模块、数据缓存模块和运算模块,所述AVS3模式决策方法包括:
获取所述指令缓存模块中的电路控制指令;
将所述电路控制指令发送至所述运算模块,基于所述运算模块和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果;
将所述模式决策结果存储至所述数据缓存模块。
8.如权利要求7所述的AVS3模式决策方法,其特征在于,所述基于所述运算模块和所述电路控制指令,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到模式决策结果的步骤,包括:
基于所述运算模块,确定所述电路控制指令中的索引地址;
基于所述索引地址,读取所述数据缓存模块中相应的待预测数据,并对所述待预测数据进行预测运算,得到编码数据,其中,所述编码数据包括代价值;
将最小的代价值所对应的编码数据,确定为模式决策结果。
9.一种AVS3模式决策设备,其特征在于,所述AVS3模式决策设备包括:存储器、处理器以及存储在存储器上的用于实现所述AVS3模式决策方法的程序,
所述存储器用于存储实现AVS3模式决策方法的程序;
所述处理器用于执行实现所述AVS3模式决策方法的程序,以实现如权利要求7至8中任一项所述AVS3模式决策方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有实现AVS3模式决策方法的程序,所述实现AVS3模式决策方法的程序被处理器执行以实现如权利要求7至8中任一项所述AVS3模式决策方法的步骤。
CN202310695880.8A 2023-06-12 2023-06-12 Avs3模式决策电路、方法、设备及存储介质 Pending CN116723317A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310695880.8A CN116723317A (zh) 2023-06-12 2023-06-12 Avs3模式决策电路、方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310695880.8A CN116723317A (zh) 2023-06-12 2023-06-12 Avs3模式决策电路、方法、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116723317A true CN116723317A (zh) 2023-09-08

Family

ID=87872898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310695880.8A Pending CN116723317A (zh) 2023-06-12 2023-06-12 Avs3模式决策电路、方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116723317A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117241043A (zh) * 2023-11-10 2023-12-15 深圳中微电科技有限公司 视频硬件解码错误恢复的方法、系统及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117241043A (zh) * 2023-11-10 2023-12-15 深圳中微电科技有限公司 视频硬件解码错误恢复的方法、系统及存储介质
CN117241043B (zh) * 2023-11-10 2024-03-19 深圳中微电科技有限公司 视频硬件解码错误恢复的方法、系统及存储介质

Similar Documents

Publication Publication Date Title
KR102572705B1 (ko) 스케일러블 뉴럴 네트워크 프로세싱 엔진
CN108563808B (zh) 基于fpga的异构可重构图计算加速器系统的设计方法
CN101627367B (zh) 按需多线程多媒体处理器
CN102971689B (zh) 触觉表面压缩
US9304813B2 (en) CPU independent graphics scheduler for performing scheduling operations for graphics hardware
JP3878307B2 (ja) プログラマブルなデータ処理装置
CN102279818B (zh) 支持有限共享的向量数据访存控制方法及向量存储器
WO2022057420A1 (zh) 数据处理方法、装置、电子设备以及存储介质
CN116723317A (zh) Avs3模式决策电路、方法、设备及存储介质
JP2010171994A (ja) データ処理装置
CN110968532B (zh) 数据传输方法及相关产品
CN105518746A (zh) 混合请求式图形转换表阴影化
CN111045732B (zh) 数据处理方法、芯片、设备及存储介质
Nematollahi et al. Neda: Supporting direct inter-core neighbor data exchange in GPUs
CN116842307B (zh) 数据处理方法、装置、设备、芯片及存储介质
Ji et al. Demand layering for real-time DNN inference with minimized memory usage
CN115828044B (zh) 基于神经网络双重稀疏性矩阵乘法运算电路、方法和装置
CN117112165A (zh) 虚拟现实应用任务的处理方法、装置、虚拟现实系统
US11734007B2 (en) Address generation method, related apparatus, and storage medium
CN108021393B (zh) 一种计算方法及相关产品
US11935153B2 (en) Data compression support for accelerated processor
CN104221393A (zh) 内容自适应视频处理
CN110766150A (zh) 一种深度卷积神经网络硬件加速器中的区域并行数据载入装置及方法
CN113590509A (zh) 一种页交换的方法、存储系统和电子设备
CN111429331A (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