CN107277505A - 基于软硬件分区的avs‑2视频解码器结构 - Google Patents
基于软硬件分区的avs‑2视频解码器结构 Download PDFInfo
- Publication number
- CN107277505A CN107277505A CN201710355806.6A CN201710355806A CN107277505A CN 107277505 A CN107277505 A CN 107277505A CN 201710355806 A CN201710355806 A CN 201710355806A CN 107277505 A CN107277505 A CN 107277505A
- Authority
- CN
- China
- Prior art keywords
- frame
- modules
- code stream
- avs
- video
- 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.)
- Granted
Links
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种基于软硬件分区的AVS‑2视频解码器结构。包括:软件运算单元和硬件运算单元;软件运算单元用于实现AVS‑2视频解码器的系统控制,对进入AVS‑2视频解码器的码流进行语法语义,获取码流的序列头、帧头语法信息,对码流的参考帧进行管理;根据码流的序列头、帧头语法信息、参考帧和硬件单元传输过来的系数参数进行码流的每个帧的重排列,得到作为解码结果的视频序列;硬件运算单元对所述码流的解码处理过程中各个部分进行并行加速处理,解析出码流中的系数参数。本发明通过合理的结构设计,通过软硬件分区的思路,实现一个高效的解码器系统,能够对AVS‑2标准下的超高清视频进行高性能、高能效的解码,可满足超高清视频的实时解码需求。
Description
技术领域
本发明涉及视频解码技术领域,尤其涉及一种基于软硬件分区的AVS-2视频解码器结构。
背景技术
视频编码技术,是从时域冗余、空域冗余、统计冗余等方向,对原始视频数据进行压缩,有效的解决海量视频的存储、传输等问题,广泛地应用于网络视频传输、数字视频点播、安防监控等等各类相关领域。AVS(Audio Video coding Standard,音视频编码标准)-2作为我国具有自主知识产权的新一代视频编码标准,能够针对超高清视频进行非常高效的压缩,满足了人们对分辨率和质量日益提高的要求,因此有着广阔的应用前景。以安防监控为例,AVS-2能够针对视频中的静态背景和动态前景进行优化,一方面针对超高清视频提高了压缩效率,另一方面也对视频中的监控目标与背景区域进行了有效地分离,监控人员可以更加容易地发现监控区域可能突发的潜在事件或威胁,及早发现问题、解决问题。
视频编码通常会采取帧内预测、帧间预测、变换、量化和熵编码等算法工具,在混合编解码框架下对原始视频进行压缩。不过以软件为基础实现的解码器往往具有较高的运算复杂度,而面向通用需求的软件CPU在执行视频编解码算法时,其运行效率只能做到中规中矩,并且在运行时会占据较多的运算资源和存储资源,尤其是在面临移动终端上的在线视频需求时,如何处理其续航、画面质量、声音质量以及发热等问题都成为实现和优化的难点。
近年来,基于硬件实现的解码器越来越受到重视。硬件实现的解码器的优势如下:
指令和操作的专用化。相比于通用CPU,其处理视频编解码过程中的特定运算操作会更快捷效率,如位操作,软件中实现位操作比较难,而硬件要进行位操作则及其快捷效率。在进行同样的计算量时,专业化的硬件系统能够用更少操作、更快的运算时间达到执行结果。
更少的资源调度。在软件解码器中,由于软件本身的运行需要经过系统平台的调度,因而在运算资源上存在大量潜在的竞争,例如在多开程序时,必然会导致编解码器运行效率降低;在数据存取上,所有算法工具、模块以及其他无关程序模块都是通过通用的cache和内存进行,因此也存在大量的竞争,并且其访存效率无法保证。而硬件实现中,对于解码器本身是定制化实现,无论是运行资源还是存储资源,都会进行全局的规划,每一个算法模块都会有自己专用的运算和存储资源,因此资源利用率极高。
高性能,高能效。在软件实现时,所有的运算必须通过CPU执行,因此在物理上往往都是串行执行。而对于硬件,由于可以对各个算法模块进行专用实现,因此存在极高的并行度,从而带来极高编解码效率。此外,由于减少了不必要的系统资源调度,在运行能耗上,也具有极大的优势。
不过,硬件实现的解码器的本身存在一定的局限性,即灵活性不足,对于AVS-2标准中的一些较为灵活的算法和码流解析的处理上存在缺陷。
发明内容
本发明的实施例提供了一种基于软硬件分区的AVS-2视频解码器结构,以实现对AVS-2标准下的超高清视频进行高性能、高能效的解码。
为了实现上述目的,本发明采取了如下技术方案。
一种基于软硬件分区的AVS-2视频解码器结构,包括:软件运算单元和硬件运算单元;
所述的软件运算单元,用于实现AVS-2视频解码器的系统控制,对进入 AVS-2视频解码器的码流进行语法语义,获取码流的序列头、帧头语法信息,对码流的参考帧进行管理;根据所述码流的序列头、帧头语法信息、参考帧和所述硬件单元传输过来的系数参数进行所述码流的每个帧的重排列,得到作为解码结果的视频序列;
所述的硬件运算单元,用于对所述码流的解码处理过程中各个部分进行并行加速处理,解析出所述码流中的系数参数,将所述系数参数传输给软件单元。
进一步地,所述硬件运算单元为七级流水结构,包括流水级的七个模块,各个模块分别实现解码处理过程中对应部分的并行加速处理,所述七个模块包括:Bitstreamer模块、FETCH模块、LCU_CTRL模块、Decode Tools模块、DBK模块、SAO模块和ALF模块。
进一步地,所述Decode Tools模块包括四个子模块:IQ子模块、IT子模块、INTER子模块和INTRA&REC子模块,所述Decode Tools模块的内部为三级流水的两路并行结构。
进一步地,所述INTRA&REC子模块将INTRA运算和REC运算合并为一个独立模块,使得INTRA运算和REC运算处于同一级流水。
进一步地,所述软件运算单元和所述硬件运算单元共用一块存储器,在所述存储器中进行初始码流和重建帧这两部分的数据交互,所述存储器中的 firmware固件通过Axibus总线对硬件运算单元中的各模块进行参数配置、状态信息读取和控制信号传递。
进一步地,所述七级流水结构以LCU为数据处理单元,实现LCU的并行解码操作,所述Decode Tools模块以CU为数据处理单元,实现CU粒度的并行解码操作。
进一步地,所述FETCH模块只执行memory读操作,将Bitstreamer模块的解析结果以LCU为单位读入片上。
进一步地,所述软件运算单元,用于接收外部输入所述AVS-2视频解码器的码流,对所述码流中的每一帧进行语法解析,得到所述码流的序列头、帧头信息和语法参数,根据得到的序列头、帧头信息对所述AVS-2视频解码器进行配置,根据所述语法参数对可选工具的启用进行判断,将处理后的码流传输给所述硬件处理单元:
所述硬件处理单元,用于接收所述软件运算单元输出的码流,首先 Bitstreamer模块中的熵解码模块解析所述码流内的LCU划分情况,以及每一个CU中的量化变化系数、帧内预测模式、帧间预测模式信息,将获取的量化变化系数、帧内预测模式、帧间预测模式信息以LCU为单位向所述七级流水结构的后级结构传递;
所述FETCH模块,用于根据得到的量化变化系数、帧内预测模式、帧间预测模式信息,对参考帧中对应的参考数据进行访问和读取,将量化变化系数、帧内预测模式、帧间预测模式信息和参考数据向所述七级流水结构的后级结构传递;
所述LCU_CTRL模块,用于对下级结构的Decode Tools解码工具进行LCU级的参数配置,将Decode Tools所需的参数传递至所有子模块对应的控制寄存器;对于CU级的控制参数,直接伴随着视频数据一起,通过每个子模块之间的数据buffer逐级向后传递;
所述Decode Tools模块中的IQ子模块、IT子模块、INTER子模块和 INTRA&REC子模块,用于根据所述LCU_CTRL模块配置的参数,对当前变换块进行反量化、反变换操作,对称划分、非对称划分的变换块分别采取对应的方式进行还原,得到残差矩阵;帧内预测模块根据配置的参数,以单帧或多帧参考的还原方式,当前像素值进行预测,获取当前像素的实际值与预测值的残差值;帧内预测模式根据当前块模式,从33种预测模式选出对应的预测算法,计算得到预测值,对所述残差值像素和所述预测值像素进行融合,得到当前块的重构像素矩阵;
所述DBK模块、所述SAO模块和所述ALF模块,用于分别以LCU为单位对所述当前块的重构像素矩阵进行对应的环路滤波操作,进行图像增强的后处理,消除块效应、振铃效应,得到解码后的图像帧,将所述图像帧传输给所述软件运算单元;
所述的软件运算单元,还用于将所述图像帧放入参考帧缓存区,利用所述参考帧为后续解码流程服务,对所述参考帧的解码顺序进行调整,以播放顺序将当前帧输出至播放设备。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例提供的基于软硬件分区面向AVS-2视频解码标准的超高清解码器结构,通过合理的结构设计,通过软硬件分区的思路,将上述的各个编码工具组合在一起,实现一个高效的解码器系统,能够对AVS-2标准下的超高清视频进行高性能、高能效的解码,可满足超高清视频的实时解码需求。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于软硬件分区的AVS-2视频解码器的结构示意图;
图2为本发明实施例提供的一种硬件运算单元的七级流水结构示意图;
图3为本发明实施例提供的一种基于软硬件分区的AVS-2视频解码器结构的数据流示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语 (包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
本发明实施例的目的是通过将软件和硬件的解码特征有机的融合在一起,使彼此之间协同作业,实现一种高效的基于软硬件分区的AVS-2解码器结构。
本发明实施例提供了一种基于软硬件分区的AVS-2视频解码器结构,可满足超高清视频的实时解码需求。
为了便于说明,首先引入如下几个概念:
帧内预测:帧内预测主要通过利用相邻像素的相关性达到压缩目的。通过对周边像素进行建模的方式,对当前像素值进行预测,获取当前像素的实际值与预测值的残差值,然后对残差值进行后续的编码处理,从而减小数据量。预测模型往往与图像本身的内容特性相关,如纹理特征。
帧间预测:帧间预测通过利用时间上相邻的帧的相关性达到压缩目的。通过对相邻帧之间的相似图像内容进行运动预测,同样对预测残差值进行编码处理。在解码端通过恢复运动矢量得到预测值,再与残差值进行融合重构出当前像素值。
变换量化:通过对像素矩阵进行DCT(Discrete Cosine Transform,离散余弦变换)变换,获得能量更集中的变换矩阵,再对变换系数进行量化处理,通过缩小数据表达的范围,达到压缩目的。
环路滤波:属于编解码过程中的后处理流程,用于减小分块编码带来的负面效果,如块效应、振铃效应等等,提高视频的观看质量。
熵编码:基于香农信息论,设计出的二进制编码方式,以趋近于统计的结果,使编码结果尽量贴近信息论的理论极限。
CU:编码单元,有8x8、16x16、32x32、64x64等几种规格,包括一个亮度编码块和对应的色度编码块。
LCU:最大编码单元,通常固定64x64大小。
本发明实施例通过合理的结构设计,通过软硬件分区的思路,将上述的各个编码工具组合在一起,实现一个高效的解码器系统,能够对AVS-2标准下的超高清视频进行高性能、高能效的解码。
本发明实施例提出的基于软硬件分区的AVS-2视频解码器结构的结构示意图如图1所示,包括:软件运算单元和硬件运算单元;
所述的软件运算单元,用于实现AVS-2视频解码器的系统控制,对进入 AVS-2视频解码器的码流进行语法语义,获取码流的序列头、帧头语法信息,对码流的参考帧进行管理;根据所述码流的序列头、帧头语法信息、参考帧和所述硬件单元传输过来的系数参数进行所述码流的每个帧的重排列,得到作为解码结果的视频序列;
所述的硬件运算单元,用于对所述码流的解码处理过程中各个部分进行并行加速处理,解析出所述码流中的系数参数,将所述系数参数传输给软件单元。
所述软件运算单元和所述硬件运算单元共用一块存储器,在所述存储器中进行初始码流和重建帧这两部分的数据交互,所述存储器中的firmware (固件)通过Axibus总线对硬件运算单元中的各模块进行参数配置、状态信息读取和控制信号传递。
本发明实施例的原理是:软件部分负责系统级控制调度以及码流中的高层语法解析;硬件部分负责具体解码算法的运算实现,并对码流中的编解码系数进行解析。首先利用软件分区灵活的特点,实现简洁有效的高层控制和语法语义解析过程。在码流进入解码系统以后,首先进行语法语义的解析,获得序列头、帧头等高层语法信息,获得当前视频流的关键参数,如分辨率、帧率、标准档次、标准级别等等,以便后续解码的顺利进行和系统参数配置。同时软件还会对参考帧进行管理,一方面用作后续编码过程中的参考,另一发面做解码视频的输出。然后利用硬件分区运行高效的特点,对各个关键技术进行并行和加速,如熵解码、反变换量化、帧内预测、帧间预测以及环路滤波循环等等,提高运算效率,使整体系统的性能达到最高。码流进入硬件分区以后,通过熵解码模块,得到对应的系数矩阵,然后对残差值和预测值分别进行还原,然后融合得到重建值,再对重建值进行环路滤波,得到满足视觉需求的重建帧。最后,软件部分再通过每一帧的重排列,得到最终的视频序列,即解码结果。
本发明实施例提供的基于软硬件分区的AVS-2视频解码器结构对应的控制流程如下:
1.整个系统的初始化,进入准备工作状态。
2.确认码流输入状态,并检查序列头信息。
3.确认帧头信息,启动各个硬件模块,开始解码。
4.帧解码完毕后,存储器中的firmware获取状态信息,进行帧图像数据的输出和显示工作,并确认下一帧信息,启动新的解码流程。Firmware(固件)是写入EROM(可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。
5.根据缓存区状态不断的输入原始码流,并准备输出解码后的重建帧数据。
6.根据同步信号,完成视频显示工作。
7.各个硬件模块解码完成后返回状态信息,并等待下一次激活信号。
8.重复3-7步骤,直到软件firmware检测到码流序列尾,解码过程结束。
所述硬件运算单元为如图2所示的七级流水结构,包括流水级的七个模块,各个模块分别实现解码处理过程中对应部分的并行加速处理,所述七个模块包括:Bitstreamer模块、数据访存(FETCH)模块、Decode Tools(解码工具)模块、DBK(de-blocking loopfilter,去块效应滤波)模块、SAO (Sample Adaptive Offset,自适样本偏置)模块、ALF(adaptive loop filter,自适应环路滤波)模块。Bitstreamer模块中包括熵解码(AEC)模块,所述Decode Tools模块包括四个子模块:IQ、IT、INTER和INTRA&REC,所述Decode Tools模块的内部为三级流水的两路并行结构。所述INTRA&REC子模块将INTRA运算和REC运算合并为一个独立模块,使得INTRA运算和REC运算处于同一级流水。
所述七级流水结构以LCU为数据处理单元,实现并行流水作业,实现LCU 的并行解码操作,所述Decode Tools模块中的IQ、IT、INTER和INTRA&REC子模块之间以CU为数据处理单元,实现CU粒度的流水线并行解码操作。对于CU 级的控制参数,直接伴随着视频数据一起,通过每个子模块之间的数据 buffer逐级向后传递;而对于LCU级的控制参数,则由LCU_CTRL经过专用的总线,将Decode Tools所需的参数传递至所有子模块对应的控制寄存器。
所述FETCH模块只执行memory读操作,将Bitstreamer模块的解析结果以 LCU为单位读入片上。在这个七级流水结构设计下,解码器的硬件分区能够均匀的进行数据的并行流水作业,实现高度并行,有效的提升解码效率。
本发明实施例提供的基于软硬件分区的AVS-2视频解码器结构对应的数据流如图3所示,详细的数据处理过程如下:
输入码流统一通过Bitstreamer读入,条带级以上的数据传给存储单元中的Firmware解析,条带级以下的由Bitstreamer内部的AEC部处理。Firmware 在解析完高层语法后,通过AxiBus对硬件分区中各个模块进行参数配置。AEC 解读出系数后,由MVP模块根据对应信息,从MV Buffer中读取对应的预测运动矢量。内部各子模块运算完毕后,Bitstreamer将输出写入存储单元。
FETCH模块从指定区域读取对应系数,从参考帧缓存区获取当前块所需的参考数据。LCU_CTRL根据读取来得参数进行LCU级及以下级模块的控制管理,所有控制信号均通过专用的Local Bus对每一个模块进行配置。
IQ、IT、INTER和INTRA&REC模块根据配置的参数,按照内部流水及一次执行运算,期间产生的数据交互均通过Local Buffer进行。INTRA&REC模块将重建结果写出,传递给DBK。
DBK、SAO、ALF模块以LCU为单位根据流水及执行运算,最后由ALF模块将解码图像写入存储单元的参考帧缓存区中。至此,整个系统的数据流执行结束。
利用本发明提供的技术方案,能够对AVS-2标准下的码流进行高效的解码。
实施例二
假定需要解码一个超高清视频码流(例如一部电影),对超高清视频码流进行帧序列的重建,并输出至显示设备上。
首先,对于输入的码流,软件分区会对码流进行语法解析,得到序列头、帧头信息,如序列帧结构、图像宽高、像素样本比特位数等,根据得到的信息对整个编码器进行配置,如针对序列和帧信息和参考帧缓存区的初始化。同时根据解析的语法参数对可选工具的启用进行判断:是否使用非对称划分、是否使用加权量化等。如果该码流启用了对应的可选工具,则进行对应工具系数的解析,如开启加权量化,则解析对应的量化矩阵。软件会持续的对码流中获取的每一帧帧头信息进行解码,直到遇到码流尾部,此时,发出控制命令,在当前解码数据运算结束后,整个解码器停止工作。
软件分区处理完毕后,码流进入硬件分区。
首先熵解码模块会解析当前图像内的LCU划分情况,以及每一个CU中的量化变化系数、帧内预测模式、帧间预测模式等信息。获取这些关键系数后,以LCU为单位向后传递。
FETCH模块根据得到的系数,对参考帧中对应的参考数据进行访问和读取,例如帧间预测模式下参考帧的区域像素值,然后将对应的关键系数和参考数据向后传递。
LCU_CTRL模块对接下来的解码工具进行LCU级的参数配置,然后以流水线的形式进行并行化执行。
IQ、IT子模块根据软件和LCU_CTRL配置的参数,对当前变换块进行反量化、反变换操作,对称划分、非对称划分的变换块分别采取对应的方式进行还原,得到残差矩阵。帧间预测模式根据配置的参数,以单帧或多帧参考的还原方式,得到对应的参考块的预测值。帧内预测模式根据当前块模式,从 33种预测模式选出对应的预测算法,计算得到预测值,然后对预测像素和残差像素进行融合,得到当前块的重构像素矩阵。
环路滤波循环中的DBK、SAO和ALF三个模块会分别以LCU为单位进行对应的滤波操作,进行图像增强的后处理,消除块效应、振铃效应,提升主观质量效果,得到解码后的图像帧。
软件将图像帧放入参考帧缓存区,进行对应管理工作。一方面作为参考帧为后续解码流程服务;同时,根据参考帧的解码顺序进行调整,以播放顺序将当前帧输出至播放设备。
综上所述,本发明实施例提供的基于软硬件分区面向AVS-2视频解码标准的超高清解码器结构,通过合理的结构设计,通过软硬件分区的思路,将上述的各个编码工具组合在一起,实现一个高效的解码器系统,能够对AVS-2标准下的视频进行高性能、高能效的解码,可满足超高清视频的实时解码需求。
本发明实施例提供的基于软硬件分区面向AVS-2视频解码标准的超高清解码器结构可在DSP、FPGA、ASIC等平台上实现硬件加速,适合多种标准视频解码器的工业实现,可直接应用于IPTV(Internet Protocal Television,交互式网络电视)、DVB-C/S(DiGitalVideo Broadcasting,数字视频广播)、PVR(Personal video recorder,个人视频录像)等多媒体领域。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种基于软硬件分区的AVS-2视频解码器结构,其特征在于,包括:软件运算单元和硬件运算单元;
所述的软件运算单元,用于实现AVS-2视频解码器的系统控制,对进入AVS-2视频解码器的码流进行语法语义,获取码流的序列头、帧头语法信息,对码流的参考帧进行管理;根据所述码流的序列头、帧头语法信息、参考帧和所述硬件单元传输过来的系数参数进行所述码流的每个帧的重排列,得到作为解码结果的视频序列;
所述的硬件运算单元,用于对所述码流的解码处理过程中各个部分进行并行加速处理,解析出所述码流中的系数参数,将所述系数参数传输给软件单元。
2.根据权利要求1所述的基于软硬件分区的AVS-2视频解码器结构,其特征在于,所述硬件运算单元为七级流水结构,包括流水级的七个模块,各个模块分别实现解码处理过程中对应部分的并行加速处理,所述七个模块包括:Bitstreamer模块、FETCH模块、LCU_CTRL模块、Decode Tools模块、DBK模块、SAO模块和ALF模块。
3.根据权利要求2所述的基于软硬件分区的AVS-2视频解码器结构,其特征在于,所述Decode Tools模块包括四个子模块:IQ子模块、IT子模块、INTER子模块和INTRA&REC子模块,所述Decode Tools模块的内部为三级流水的两路并行结构。
4.根据权利要求3所述的基于软硬件分区的AVS-2视频解码器结构,其特征在于,所述INTRA&REC子模块将INTRA运算和REC运算合并为一个独立模块,使得INTRA运算和REC运算处于同一级流水。
5.根据权利要求1所述的基于软硬件分区的AVS-2视频解码器结构,其特征在于,所述软件运算单元和所述硬件运算单元共用一块存储器,在所述存储器中进行初始码流和重建帧这两部分的数据交互,所述存储器中的firmware固件通过Axibus总线对硬件运算单元中的各模块进行参数配置、状态信息读取和控制信号传递。
6.根据权利要求3所述的基于软硬件分区的AVS-2视频解码器结构,其特征在于,所述七级流水结构以LCU为数据处理单元,实现LCU的并行解码操作,所述Decode Tools模块以CU为数据处理单元,实现CU粒度的并行解码操作。
7.根据权利要求6所述的基于软硬件分区的AVS-2视频解码器结构,其特征在于,所述FETCH模块只执行memory读操作,将Bitstreamer模块的解析结果以LCU为单位读入片上。
8.根据权利要求7所述的基于软硬件分区的AVS-2视频解码器结构,其特征在于:
所述软件运算单元,用于接收外部输入所述AVS-2视频解码器的码流,对所述码流中的每一帧进行语法解析,得到所述码流的序列头、帧头信息和语法参数,根据得到的序列头、帧头信息对所述AVS-2视频解码器进行配置,根据所述语法参数对可选工具的启用进行判断,将处理后的码流传输给所述硬件处理单元:
所述硬件处理单元,用于接收所述软件运算单元输出的码流,首先Bitstreamer模块中的熵解码模块解析所述码流内的LCU划分情况,以及每一个CU中的量化变化系数、帧内预测模式、帧间预测模式信息,将获取的量化变化系数、帧内预测模式、帧间预测模式信息以LCU为单位向所述七级流水结构的后级结构传递;
所述FETCH模块,用于根据得到的量化变化系数、帧内预测模式、帧间预测模式信息,对参考帧中对应的参考数据进行访问和读取,将量化变化系数、帧内预测模式、帧间预测模式信息和参考数据向所述七级流水结构的后级结构传递;
所述LCU_CTRL模块,用于对下级结构的Decode Tools解码工具进行LCU级的参数配置,将Decode Tools所需的参数传递至所有子模块对应的控制寄存器;对于CU级的控制参数,直接伴随着视频数据一起,通过每个子模块之间的数据buffer逐级向后传递;
所述Decode Tools模块中的IQ子模块、IT子模块、INTER子模块和INTRA&REC子模块,用于根据所述LCU_CTRL模块配置的参数,对当前变换块进行反量化、反变换操作,对称划分、非对称划分的变换块分别采取对应的方式进行还原,得到残差矩阵;帧内预测模块根据配置的参数,以单帧或多帧参考的还原方式,当前像素值进行预测,获取当前像素的实际值与预测值的残差值;帧内预测模式根据当前块模式,从33种预测模式选出对应的预测算法,计算得到预测值,对所述残差值像素和所述预测值像素进行融合,得到当前块的重构像素矩阵;
所述DBK模块、所述SAO模块和所述ALF模块,用于分别以LCU为单位对所述当前块的重构像素矩阵进行对应的环路滤波操作,进行图像增强的后处理,消除块效应、振铃效应,得到解码后的图像帧,将所述图像帧传输给所述软件运算单元;
所述的软件运算单元,还用于将所述图像帧放入参考帧缓存区,利用所述参考帧为后续解码流程服务,对所述参考帧的解码顺序进行调整,以播放顺序将当前帧输出至播放设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710355806.6A CN107277505B (zh) | 2017-05-19 | 2017-05-19 | 基于软硬件分区的avs-2视频解码器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710355806.6A CN107277505B (zh) | 2017-05-19 | 2017-05-19 | 基于软硬件分区的avs-2视频解码器装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107277505A true CN107277505A (zh) | 2017-10-20 |
CN107277505B CN107277505B (zh) | 2020-06-16 |
Family
ID=60065242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710355806.6A Active CN107277505B (zh) | 2017-05-19 | 2017-05-19 | 基于软硬件分区的avs-2视频解码器装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107277505B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109788293A (zh) * | 2019-01-30 | 2019-05-21 | 郑州云海信息技术有限公司 | 一种视频编解码系统和方法 |
WO2020078253A1 (zh) * | 2018-10-15 | 2020-04-23 | 华为技术有限公司 | 图像块的变换、反变换方法和装置 |
CN111757119A (zh) * | 2020-05-21 | 2020-10-09 | 福州瑞芯微电子股份有限公司 | 一种软硬件协同工作实现vp9 prob更新的方法和存储设备 |
CN112422986A (zh) * | 2020-10-26 | 2021-02-26 | 眸芯科技(上海)有限公司 | 硬件解码器流水线优化方法及应用 |
CN112422983A (zh) * | 2020-10-26 | 2021-02-26 | 眸芯科技(上海)有限公司 | 通用多核并行解码器系统及其应用 |
CN112911291A (zh) * | 2021-01-29 | 2021-06-04 | 北京博雅慧视智能技术研究院有限公司 | 一种针对avs2硬件编码器实时流水架构电路 |
CN116744000A (zh) * | 2023-08-16 | 2023-09-12 | 北京麟卓信息科技有限公司 | 一种基于动态算法重构的视频编解码方式检测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589025A (zh) * | 2004-07-30 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 一种基于软硬件协同控制的视频解码器 |
CN1909664A (zh) * | 2005-08-04 | 2007-02-07 | 华为技术有限公司 | 一种基于内容自适应的算术解码系统及装置 |
CN101072353A (zh) * | 2006-06-08 | 2007-11-14 | 威盛电子股份有限公司 | 译码系统以及图形处理单元 |
CN101466037A (zh) * | 2007-12-21 | 2009-06-24 | 北京中电华大电子设计有限责任公司 | 一种软硬件配合的视频解码器实现方法 |
JP2009268060A (ja) * | 2008-03-31 | 2009-11-12 | Toshiba Corp | 情報処理装置および復号制御方法 |
CN101790093A (zh) * | 2010-03-16 | 2010-07-28 | 山东大学 | 一种利用sopc实现avs视频解码的装置及方法 |
CN101883276A (zh) * | 2009-05-06 | 2010-11-10 | 中国科学院微电子研究所 | 软硬件联合解码的多格式高清视频解码器结构 |
-
2017
- 2017-05-19 CN CN201710355806.6A patent/CN107277505B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589025A (zh) * | 2004-07-30 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 一种基于软硬件协同控制的视频解码器 |
CN1909664A (zh) * | 2005-08-04 | 2007-02-07 | 华为技术有限公司 | 一种基于内容自适应的算术解码系统及装置 |
CN101072353A (zh) * | 2006-06-08 | 2007-11-14 | 威盛电子股份有限公司 | 译码系统以及图形处理单元 |
CN101466037A (zh) * | 2007-12-21 | 2009-06-24 | 北京中电华大电子设计有限责任公司 | 一种软硬件配合的视频解码器实现方法 |
JP2009268060A (ja) * | 2008-03-31 | 2009-11-12 | Toshiba Corp | 情報処理装置および復号制御方法 |
CN101883276A (zh) * | 2009-05-06 | 2010-11-10 | 中国科学院微电子研究所 | 软硬件联合解码的多格式高清视频解码器结构 |
CN101790093A (zh) * | 2010-03-16 | 2010-07-28 | 山东大学 | 一种利用sopc实现avs视频解码的装置及方法 |
Non-Patent Citations (2)
Title |
---|
OSORIO: "Arithmetic coding architecture for H.264/AVC CABAC compression system", 《DIGITAL SYSTEM DESIGN》 * |
贾惠柱: "基于软硬件分区的AVS-2视频解码器结构", 《计算机研究与发展》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020078253A1 (zh) * | 2018-10-15 | 2020-04-23 | 华为技术有限公司 | 图像块的变换、反变换方法和装置 |
CN109788293A (zh) * | 2019-01-30 | 2019-05-21 | 郑州云海信息技术有限公司 | 一种视频编解码系统和方法 |
CN111757119A (zh) * | 2020-05-21 | 2020-10-09 | 福州瑞芯微电子股份有限公司 | 一种软硬件协同工作实现vp9 prob更新的方法和存储设备 |
CN112422986A (zh) * | 2020-10-26 | 2021-02-26 | 眸芯科技(上海)有限公司 | 硬件解码器流水线优化方法及应用 |
CN112422983A (zh) * | 2020-10-26 | 2021-02-26 | 眸芯科技(上海)有限公司 | 通用多核并行解码器系统及其应用 |
CN112422986B (zh) * | 2020-10-26 | 2023-12-22 | 眸芯科技(上海)有限公司 | 硬件解码器流水线优化方法及应用 |
CN112911291A (zh) * | 2021-01-29 | 2021-06-04 | 北京博雅慧视智能技术研究院有限公司 | 一种针对avs2硬件编码器实时流水架构电路 |
CN116744000A (zh) * | 2023-08-16 | 2023-09-12 | 北京麟卓信息科技有限公司 | 一种基于动态算法重构的视频编解码方式检测方法 |
CN116744000B (zh) * | 2023-08-16 | 2023-10-13 | 北京麟卓信息科技有限公司 | 一种基于动态算法重构的视频编解码方式检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107277505B (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107277505A (zh) | 基于软硬件分区的avs‑2视频解码器结构 | |
US11589041B2 (en) | Method and apparatus of neural network based processing in video coding | |
US8537895B2 (en) | Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard | |
CN104854866B (zh) | 下一代视频的内容自适应、特性补偿预测 | |
CN105992008B (zh) | 一种在多核处理器平台上的多层次多任务并行解码方法 | |
CN102150428B (zh) | 用于使用自适应分段的视频编码的系统和方法 | |
CN105245897A (zh) | 用于在多核处理器上转码到高效视频编码的高效软件 | |
CN107241598B (zh) | 一种针对多路h.264视频会议的GPU解码方法 | |
CN100586180C (zh) | 用于进行解块滤波的方法和系统 | |
CN103297777A (zh) | 一种用于加速视频编码速度的方法及装置 | |
CN102150425A (zh) | 用于使用并行处理来进行解码的系统和方法 | |
CN107205149A (zh) | 通过参考帧缓冲器跟踪的运动矢量参考选择 | |
CN102238383B (zh) | 用于视频编解码器的多总线体系结构 | |
US20110110435A1 (en) | Multi-standard video decoding system | |
Gudumasu et al. | Software-based versatile video coding decoder parallelization | |
Iverson et al. | Real-time H. 24-AVC codec on Intel architectures | |
CN111757109A (zh) | 一种高实时性的并行视频编解码方法、系统和存储介质 | |
Jilani et al. | JPEG image compression using FPGA with Artificial Neural Networks | |
KR101138920B1 (ko) | 멀티 스레드 기반의 비디오 디코더 및 디코딩 방법 | |
CN109495745B (zh) | 一种基于逆量化/逆变换的无损压缩解码方法 | |
CN107087172A (zh) | 基于hevc‑scc的快速码率转码方法及其系统 | |
CN105657421A (zh) | 8x8残差系数块编码方法及系统 | |
CN102090064A (zh) | 高性能去块化滤波器 | |
Han et al. | A real-time ultra-high definition video decoder of AVS3 on heterogeneous systems | |
CN116437089B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |