CN112866695A - 一种视频编码器 - Google Patents
一种视频编码器 Download PDFInfo
- Publication number
- CN112866695A CN112866695A CN202110018472.XA CN202110018472A CN112866695A CN 112866695 A CN112866695 A CN 112866695A CN 202110018472 A CN202110018472 A CN 202110018472A CN 112866695 A CN112866695 A CN 112866695A
- Authority
- CN
- China
- Prior art keywords
- data
- residual data
- sine
- quantized residual
- inverse
- 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
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/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/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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种视频编码器,包括:正弦余弦变换装置用于对不同编码模式下的原始残差数据进行离散正弦或余弦变换,量化装置用于对变化残差数据进行量化,残差数据管理装置用于对量化残差数据进行数据管理,码率估计装置用于对量化残差数据进行码率估计得到对应的编码码率,模式判决装置用于对编码码率进行模式判决得到最优模式,反量化装置用于对最优模式下的量化残差数据进行反量化,正弦余弦反变换装置用于对反量化残差数据进行离散正弦或余弦反变换,熵编码数据缓存装置用于缓存最优模式下的量化残差数据,熵编码装置用于对最优模式下的量化残差数据进行编码得到视频码流。能提供有限的硬件开销,有效解决编码器中关于残差数据管理的问题。
Description
技术领域
本申请涉及视频编码技术领域,特别是涉及一种视频编码器。
背景技术
伴随着日常应用中视频清晰度的提高,分辨率从标准化图像格式CIF(CommonIntermediate Format,704*576)、提高到高清(1280*720)、到超清(1920*1080)再到4K(3840*2160),视频数据的存储及传输发生了***式的增长。为应对不同时代对视频编码压缩的要求,例如H.264、H.265及H.266等视频编码标准发布。每一代全新的视频编码标准的指定,都旨在对相同的视频数据源,在保证视频质量不变的前提下视频压缩率提升1倍,即压缩后的码流数据量减少一半。
目前,视频编码最常用的两大类场景为:1、电视录播、电影录制等对视频编码时间不敏感的场景。在确定的视频编码标准框架下,可以遍历所有的编码模式,不断迭代直至满意的压缩率位置,这类视频编码器通常用软件实现。2、电视直播、视频会议、安防监控等对视频编码有很高的实时性要求的场景。帧率通常设置为24帧/秒、30帧/秒等,这类视频编码器受限于编码压缩算法的计算复杂度及后台处理器的运算能力等约束,难以达到要求,通常通过硬件加速器来做到实时编码。其中,用于存储和传输的视频码流大小,是考核视频编码压缩率的核心指标,而在熵编码的编码对象里,残差数据占用的码率是最高的。此外,在视频编码器端,每一种编码模式都有自己的亮度和色度残差数据,譬如对于帧内预测模式,在H.264、H.265及H.266视频编码标准中不同尺寸的亮度块的编码模式个数最多可以达到9、35和67种。此外,还有帧间预测模式,帧间预测还可以区分对称划分、不对称划分等。可想而知,视频编码器需管理很多残差数据,因此提出一种有效的视频编码残差数据管理装置是非常重要的。
发明内容
为克服上述现有技术存在的不足,本申请之目的在于提供一种视频编码器及残差数据管理装置,仅需有限的硬件开销,即可有效解决视频编码器中关于量化后的残差数据管理的问题。
为达上述及其它目的,本申请提出一种视频编码器,包括:正弦余弦变换装置、量化装置、残差数据管理装置、码率估计装置、模式判决装置、反量化装置、正弦余弦反变换装置、熵编码数据缓存装置及熵编码装置,其中:
所述正弦余弦变换装置,用于对接收的不同编码模式下的原始残差数据在对应视频编码标准下进行离散正弦或离散余弦变换,对应得到不同编码模式下的变换残差数据;
所述量化装置,用于对不同编码模式下的所述变换残差数据进行量化处理,对应得到不同编码模式下的量化残差数据;
所述残差数据管理装置,用于对不同编码模式下的所述量化残差数据进行数据管理;
所述码率估计装置,用于对不同编码模式下的所述量化残差数据进行码率估计,得到所述量化残差数据的编码码率;
所述模式判决装置,用于对所述量化残差数据的编码码率进行模式判决,得到视频编码的最优模式,所述最优模式为所述不同编码模式中的一个;
所述反量化装置,用于对所述最优模式下的量化残差数据进行反量化处理,得到反量化残差数据;
所述正弦余弦反变换装置,用于对所述反量化残差数据进行对应的离散正弦或离散余弦反变换,得到反变换残差数据;
所述熵编码数据缓存装置,用于接收所述残差数据管理装置下发的所述最优模式下的量化残差数据;
所述熵编码装置,用于对所述最优模式下的量化残差数据进行编码,得到对应的视频码流。
可选的,
所述码率估计装置,具体用于将所述量化残差数据按照预设尺寸进行子块分割,对分割的子块按照设定扫描顺序读取,并对每个所述分割的子块进行码率估计与求和,以得到所述量化残差数据的编码码率。
可选的,所述残差数据管理装置包括写操作装置、非零子块统计装置、数据缓存装置及读操作装置,其中:
所述写操作装置,用于接收所述量化装置发送的不同编码模式下的所述量化残差数据,并将所述量化残差数据按照对应视频编码标准下的存储数据格式存储至所述数据缓存装置的各分区中;
所述写操作装置,还用于将所述量化残差数据按照预设尺寸进行子块分割,并确定每个所述分割的子块的非零信息,输出给所述非零子块统计装置;
所述非零子块统计装置,用于接收所述量化残差数据的非零信息,并对所量化残差数据进行信息维护,以维护所述量化残差数据的非零信息、分量信息、子块信息及模式信息;
所述读操作装置,用于生成对应的数据操作读取请求,并根据所述数据操作读取请求从所述数据缓存装置的各分区中读取相应地分量数据,并对读取的分量数据进行重新排序,得到所述量化残差数据。
可选的,
所述非零子块统计装置,还用于接收来自所述模式判决装置的最优模式,将所述最优模式及所述量化残差数据的非零信息、分量信息、子块信息及模式信息发送给所述读操作装置;
所述读操作装置,还用于接收来自所述非零子块统计装置的所述最优模式、所述量化残差数据的非零信息、分量信息、子块信息及模式信息,生成对应的数据操作读取请求;
其中,所述数据操作读取请求包括以下中的任一项:反变换数据读取请求、码率估计数据读取请求及熵编码数据读取请求。
可选的,所述原始残差数据为4*4的数据块,在H.264视频编码标准下所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,所述正弦余弦变换装置及所述量化装置所支持的数据格式相同,所述残差数据管理装置按照列的顺序依次将所述量化残差数据存储至所述残差数据管理装置的各分区中。
可选的,所述原始残差数据为4*4的数据块,在H.265视频编码标准下所述正弦余弦正变换装置、所述量化装置及所述正弦余弦反变换装置所支持的数据格式相同,所述码率估计装置和所述熵编码装置所支持的数据格式相同,所述残差数据管理装置按照列的顺序依次将所述量化残差数据存储至所述残差数据管理装置的各分区中。
可选的,所述原始残差数据为8*8的数据块,在H.264视频编码标准下所述正弦余弦变换装置、所述量化装置、所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,所述残差数据管理装置按照行的顺序将同一吞吐率周期内的所述量化残差数据依次存储至所述残差数据管理装置的各分区中。
可选的,所述原始残差数据为8*8的数据块,在H.265视频编码标准下所述正弦余弦变换装置、所述量化装置、所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,所述残差数据管理装置按照列的顺序将同一吞吐率周期内的所述量化残差数据依次存储至所述残差数据管理装置的各分区中。
可选的,所述原始残差数据为16*16的数据块,所述正弦余弦变换装置、所述量化装置、所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,所述残差数据管理装置按照列的顺序将同一吞吐率周期内的所述量化残差数据依次存储至所述残差数据管理装置的各分区中。
可选的,所述原始残差数据为32*32的数据块,所述正弦余弦变换装置、所述量化装置、所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,均为将同一吞吐率周期内的所述量化残差数据顺序编号排列至所述数据块的两端区域,将下一吞吐率周期内的所述量化残差数据顺序编号至所述数据块的中间区域;所述残差数据管理装置按照列的顺序将同一吞吐率周期内的所述量化残差数据依次存储至所述残差数据管理装置的各分区中。
由上可见本申请提供了一种视频编码器及残差数据管理装置,能达到以下有益效果:仅需非常有限的硬件开销,即可有效解决视频编码器中关于量化后的残差数据的管理问题。
附图说明
图1是本申请实施例提供的一种视频编码的流程示意图。
图2是本申请实施例提供的一种视频编码器的结构示意图。
图3是本申请实施例提供的一种残差数据管理装置的结构示意图。
图4是本申请实施例提供的一种H.264和H.265视频编码标准下4*4数据块的正弦余弦正变换、和H.264视频编码标准下4*4数据块的正弦余弦反变换的示意图。
图5是本申请实施例提供的一种H.264和H.265视频编码标准下8*8数据块的正弦余弦正变换、和H.264视频编码标准下8*8数据块的正弦余弦反变换的示意图。
图6是本申请实施例提供的一种H.265视频编码标准下16*16数据块的正弦余弦正变换的示意图。
图7是本申请实施例提供的一种H.265视频编码标准下32*32数据块的正弦余弦正变换的示意图。
图8是本申请实施例提供的一种H.265视频编码标准下4*4数据块的正弦余弦反变换的示意图。
图9是本申请实施例提供的一种H.265视频编码标准下8*8数据块的正弦余弦反变换的示意图。
图10是本申请实施例提供的一种H.265视频编码标准下16*16数据块的正弦余弦反变换的示意图。
图11是本申请实施例提供的一种H.265视频编码标准下32*32数据块的正弦余弦反变换的示意图。
图12是本申请实施例提供的一种8*8数据块中针对熵编码4*子块的扫描顺序的示意图。
图13是本申请实施例提供的一种16*16数据块中针对熵编码4*子块的扫描顺序的示意图。
图14是本申请实施例提供的一种32*32数据块中针对熵编码4*子块的扫描顺序的示意图。
图15是本申请实施例提供的一种4*4数据块的存储、反变换、码率估计及熵编码中所支持的数据格式的示意图。
图16是本申请实施例提供的一种H.264视频编码标准下8*8数据块的存储、反变换、码率估计及熵编码中所支持的数据格式的示意图。
图17是本申请实施例提供的一种H.265视频编码标准下8*8数据块的存储、反变换、码率估计及熵编码中所支持的数据格式的示意图。
图18是本申请实施例提供的一种16*16数据块的存储、反变换、码率估计及熵编码中所支持的数据格式的示意图。
图19是本申请实施例提供的一种32*32数据块的存储、反变换、码率估计及熵编码中所支持的数据格式的示意图。
具体实施方式
以下通过特定的具体实例并结合附图说明本申请的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本申请的其它优点与功效。本申请亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本申请的精神下进行各种修饰与变更。
申请人在提出本申请的过程中还发现:虽然视频编码标准在不断改进和进化,但其基本处理框架如图1所示,并没发生革命性地变换。其基本思路是通过帧内预测和帧间预测等不同预测方法获得一个预测数据,然后利用原始视频数据减去预测数据得到一个原始残差数据,再对这个原始残差数据做变换和量化得到一个有失真的量化残差数据输出给熵编码模块。熵编码模块将这些残差数据结合模式信息、运动信息以及量化步长等内容进行编码生成视频码流。解码器从视频码流中通过熵解码重新获取这些残差数据和模式信息、运动信息以及量化步长等内容,然后对残差数据做反量化和反变换,再加上解码器还原的预测数据得到重建数据,再做一套环路滤波就得到最终的重建数据,即得到经过视频编码压缩、较原始视频数据有失真的视频数据。
在视频编码器端,每一种编码模式都有自己的亮度残差数据和色度残差数据,在不同视频编码标准中不同尺寸的亮度块的编码模式有很多,因此视频编码器需管理很多的残差数据,因此一个有效的视频编码残差数据管理装置显得非常重要。针对这个问题,常见的解决方案有两类,分别是:
第一类,残差数据只做它需要参加的运算相关的存储,譬如码率估计,做完运算后即可丢弃。在确定最优模式之后,重新通过原始视频数据减去最优模式下的预测数据,经过正变换和量化后得到最优模式下用于熵编码的量化残差数据,再进行反量化、反变换最后加上预测数据得到重建数据。同时将量化数据输出到熵编码模块进行编码。
然而这类方案虽然带来的存储开销很小,仅需为码率估计存储少量的残差数据,但在判定最优模式之后,需要重新完成预测数据的计算、残差数据的计算、正变换和量化处理之后才能得到后续所需的残差数据,这些步骤在视频编码器中耗时很长,会严重拉低视频编码器的编码性能。
第二类,将所有通过原始视频数据减去预测数据、正变换和量化后获得的这些残差数据均缓存下来,在确定最优模式之后,从缓存中获取最优模式下的残差数据进行反量化、反变换最后得到重建数据,同时将最优模式下的残差数据输出到熵编码模块进行编码。
然而在实践中发现,这类方案虽然无需重新计算残差数据、能有效压缩编码流水时间,能够把视频编码器的编码性能做得更高,但需存储所有的残差数据,硬件开销太大,对视频编码器的硬件要求较高。
为解决上述问题,本申请提出另一种视频编码器及视频编码器中的残差数据管理装置。如图2是本申请实施例提供的一种视频编码器的结构示意图,该视频编码器能适配不同视频编码标准下针对不同数据处理环节对残差数据存储的数据格式要求,本申请下文主要以H.264和H.265这两种视频编码标准为例进行相关内容的阐述,但并不构成限定。
如图2所示的视频编码器中包括正弦余弦变换装置0、量化装置1、残差数据管理装置2、码率估计装置3、模式判决装置4、反量化装置5、正弦余弦反变换装置6、熵编码数据缓存装置7及熵编码装置8。其中:
正弦余弦变换装置0,用于对接收的不同编码模式下的原始残差数据在对应视频编码标准下进行对应的离散正弦变换或离散余弦变换,以对应得到不同编码模式下的变换残差数据。例如图4和图5所示,H.264视频编码标准中支持针对4*4数据块和8*8数据块的离散余弦变换。如图4-图7所示,H.265视频编码标准中需支持4*4~32*32大小的数据块的离散余弦变换和离散正弦变换(即蝶型运算)。如图2,视频编码器内的正弦余弦变换装置0支持的数据格式与量化装置1支持的数据格式相关联,正弦余弦变换装置0输出的数据经过量化转置1执行量化计算后传输给残差数据管理装置2进行存储。
在实现正弦余弦变换装置0时,蝶型运算只需要有限的加法器和定系数乘法器就能实现相应的离散余弦和离散正弦变换。因此无论是软件视频编码器还是硬件视频编码器中,蝶型运算是最常见的设计方案。如图4-图7均为吞吐率为16像素每周期的4*4~32*32大小数据块的蝶型运算的数据输出顺序和存储的数据格式。
举例来说,以图5所示的原始残差数据为8*8大小的数据块为例,以吞吐率为16像素每周期的处理速率,8*8数据块需分为4次处理,其处理顺序分别标记为如图所示的0~3,每个数值表示数据输出顺序或数据处理顺序。如图5,在正弦余弦变换装置0中可对8*8的数据块依次执行水平、转置和垂直变换,以通过蝶型运算实现针对原始残差数据的离散余弦变换。
量化装置1,用于对正弦余弦变换装置输出的变换残差数据进行量化处理,以对应得到每种编码模式下的量化残差数据。
残差管理装置2,用于对量化装置1输出的不同编码模式下的量化残差数据进行管理,具体在本申请下文进行详细阐述。
码率估计装置3,用于对不同编码模式下的量化残差数据进行码率估计,以对应得到该量化残差数据的编码码率。
模式判决装置4,用于根据不同编码模式下的量化残差数据的编码码率,对不同编码模式进行模式判决,以从不同编码模式中选取出用于视频编码的最优模式。在不同的视频编码器中,残差码率估计的实现方案会有差异,本申请以H.264的官方模型JM和H.265的官方模型HM采纳的码率估计方案为例,这两代视频编码标准官方模型的残差码率估计方案都是将量化残差数据(4*4~32*32大小不等的数据块)分割成预设尺寸大小的子块,例如分割成4*4子块,按照熵编码阶段进行残差数据编码的数据格式执行码率估计。其中,码率估计的数据格式与残差数据打包(即残差数据编码)的数据格式完全一致。此外一些简化的残差数据码率估计方案中,第一步都是将量化残差数据切割为4*4子块,然后计算每个4*4子块的码率后求和获得整个量化残差数据的编码码率。最后将每个量化残差数据的编码码率输出到模式判决装置4完成模式判决,以确定出用于视频编码的最优模式。
举例来说,如图12~图14分别示出8*8~32*32大小数据块(即量化残差数据)关于4*4子块的分割,及码率估计过程中4*4子块的扫描按照图示编号从小到大执行。即是,码率估计装置3可按照预设尺寸对量化残差数据进行子块分割,得到多个分割的子块。然后按照设定扫描顺序读取各子块,进而对每个分割的子块进行码率估计和求和,得到整个量化残差数据的编码码率。其中,该设定扫描顺序为***自定义设置的,例如图示按照从右下角到左上角的扫描顺序读取,也可以是按照从左下角到右上角的扫描顺序读取等等,本申请并不做限定。
反量化装置5,用于对最优模式下的量化残差数据进行反量化处理,以得到对应的反量化残差数据。视频编码器内的反量化装置5支持的数据格式与正弦余弦反变换装置6支持的数据格式相关联,残差数据管理装置2将最优模式下的量化残差数据输出到正弦余弦反变换装置5执行反量化计算后传输给正弦余弦反变换装置6。
正弦余弦反变换装置6,用于对来自反量化装置5的反量化残差数据进行对应的离散正弦或离散余弦反变换,以得到对应的反变换残差数据。例如图4-图5所示,H.264视频编码标准中需支持4*4和8*8数据块的离散余弦反变换。如图8~图11所示,H.265视频编码标准中需支持4*4~32*32大小数据块的离散余弦反变换或离散正弦反变换(即蝶型运算)。在实现正弦余弦反变换装置6时,蝶型运算只需要有限的加法器和定系数乘法器就能够实现离散余弦和离散正弦变换。因此无论在软件视频编码器还是硬件视频编码器中,蝶型运算是最常见的设计方案,如图8~图11分别示出吞吐率为16像素每周期的4*4~32*32大小数据块的蝶型运算的数据输入顺序及数据格式。
举例来说,以图11所示的反量化残差数据为32*32大小的数据块为例,该32*32数据块的数据格式具体如图11所示。以吞吐率为16像素每周期的处理速率为例,32*32数据块需分为64次处理,其处理顺序分别如图标记为0~63,每个数值表示数据输出顺序或数据处理顺序。如图所示数据块中,可将当前吞吐率周期内的反量化残差数据存储至数据块的两端区域,将下一吞吐率周期内的反量化残差数据存储至数据块的中间区域,例如图11中标号为0和标号为1所示的分量数据分别为存储至数据块的两端区域和中间区域。
熵编码数据缓存装置7,用于接收来自残差数据管理装置2下发的最优模式下的量化残差数据。
熵编码装置8,用于对最优模式下的量化残差数据进行编码,以得到对应的视频码流。最优模式下的量化残差数据需输出到熵编码装置8中完成视频码流的生成,不同熵编码方案对量化残差数据的数据格式要求不同,考虑到设计的独立性,熵编码装置8通常不直接从残差管理装置2中获取最优模式下的量化残差数据,而是残差数据管理装置2主动将最优模式下的量化残差数据输出到对接熵编码装置8的熵编码数据缓存装置7中。不同熵编码设计方案可以根据自身需求设计熵编码数据缓存装置7的数据存储格式,换句话说熵编码数据缓存装置7支持存储的数据格式可根据实际需求设置,本申请不做限定。优选地,本发明描述一种可能的实现方案,熵编码数据缓存装置7支持的数据格式和码率估计装置3支持的数据格式完全一致,有利于降低装置的复杂度。
下面介绍本申请涉及的残差数据管理装置2。为平衡现有技术中关于残差数据处理的两类方案中的优缺点,本申请设计出一种有效的视频编码残差数据管理装置2。残差数据管理装置2接收量化装置1按照图4~图11所示不同尺寸的数据格式和输入顺序的量化残差数据,并将其写入在片上存储,同时接收俩字模式判决装置4的模式判决信息(即最优模式),识别出模式判决执行过程汇总已丢弃的编码模式。此时,残差数据管理装置2可将这些编码模式(即除最优模式之外的其他编码模式)下的量化残差数据清空,以将这些编码模式的存储空间加以回收,用于存储其他新模式的量化残差数据。在视频编码器中,码率估计装置3的吞吐率会跟正弦余弦正变换装置0和量化装置1的吞吐率进行匹配以避免任一装置称为硬件流水瓶颈,而模式判决装置4依赖于码率估计装置3进行码率估计的编码码率完成失真计算,为此模式判决和量化之间会有固定的延时,该延时仅仅取决于视频编码器设计过程中码率估计的运算和量化残差数据存储的数据格式。因此本申请的数据缓存装置支持相同的读写吞吐率,并且能够同时读写数据。
残差数据管理装置2增加存储回收机制之后,其存储容量的设置不需要匹配视频编码器支持的最大编码模式的个数,只与接收到量化残差数据与模式判决之间的延时有关,从而在保留较小的存储开销的优点下,还能保证在做反变换和残差数据编码时,不需再获取最优模式下的量化残差数据,节省编码时间。
请一并参见图3是本申请实施例提供的一种残差数据管理装置2的结构示意图。如图3所示的残差数据管理装置2中包括写操作装置200、非零子块统计装置201、数据缓存装置202及读操作装置203。其中:
写操装置200,用于接收来自量化装置1发送的不同编码模式下的量化残差数据,并按照如图15~图19不同尺寸的数据块分类,将量化残差数据按照相应视频编码标准下支持存储的数据格式存储至数据缓存装置202的各分区中。此外,它还可按照预设尺寸对这些量化残差数据进行分割统计,以确定每个分割的子块是否为非零子块,以得到相应地非零信息。进而将该非零信息输出到非零子块统计装置201。该预设尺寸为***自定义的尺寸大小,例如4*4等。例如,写操装置200可以4*4数据块为单元,对量化残差数据进行分割统计,确定该量化残差数据中每个4*4子块是否为全零子块,并将该量化残差数据的非零信息(例如全零子块的位置等)输出到非零子块统计装置201。
非零子块统计装置201,用于接收来自写操作装置200输出的非零信息,并对该量化残差数据进行信息维护,以维护该量化残差数据的非零信息、分量信息、子块信息及模式信息。具体地,可为每一个量化残差数据,例如4*4、8*8、16*16、32*32大小数据块对应分别维护一个1bit、4bit、16bit和64bit信息用于标志该量化残差数据内的4*4子块是否为全零子块;为每个量化残差数据标记其对应的编码模式及其分量信息(具体可包括亮度和色度分量)。可选的,它还可接收来自模式判决装置4的模式判决信息(即最优模式),将最优模式及量化残差数据的子块信息、分量信息等信息发送给读操作装置203。
数据缓存装置202,用于接收来自写操作装置200的不同编码模式下的量化残差数据,按照如图15~图19不同尺寸的数据块分类,将量化残差数据写入至数据缓存装置202的四个分区,即4个片上存储分区。可选的,它还可接收来源于读操作装置203发送的数据操作读取请求,从片上存储分区中读取相应地分量数据,发送给读操作装置203。
读操作装置203,用于接收来自非零子块统计装置201发送的最优模式、量化残差数据的非零信息、子块信息、模式信息或其他信息等,按照如图15~图19不同尺寸的数据块分类,分别生成对应的反变换数据读取请求、码率估计数据读取请求和熵编码数据读取请求,并发送给数据缓存装置202。相应地按照如图15~图19不同尺寸的数据块分类,将数据缓存装置202返回的分量数据进行重新排序,以得到相应地量化残差数据,进而再分别发送至反量化装置5、码率估计装置3和熵编码数据缓存装置7。
在一具体实施例中,如图15~图19示例性给出不同视频编码标准下不同尺寸数据块的存储、反变换、码率估计及熵编码所支持的数据格式。如图15中,图示分别给出4*4残差数据块正变换、存储、反变换、码率估计及熵编码所支持的数据格式,如图正弦余弦变换装置(即正变换)和量化装置支持的数据格式相同,本申请可将量化残差数据按照列的顺序依次存储至数据缓存装置的四个分区中。在H.264视频编码标准中,正弦余弦反变换装置、码率估计装置和熵编码装置各自所支持的数据格式相同。正弦余弦正变换装置和正弦余弦反变换装置所支持的数据格式相同。
如图16中,H.264视频编码标准中可将量化残差数据按照行的顺序依次将同一吞吐率周期内的数据依次存储至残差数据管理装置的4个分区中。如图15~图19中i_j中i表示数据处理顺序,j表示像素编号,i和j均为正整数。具体的,如图16中将同一吞吐率周期内的量化残差数据0_j按照行的顺序依次存储至四个分区中,如图所示0_0~0_15。为保证同一处理批次的量化残差数据的顺利读取,具体可按照如图16所示存储数据格式进行存储。
如图17中,H.265视频编码标准中可将量化残差数据按照列的顺序依次存储至残差数据管理装置的四个分区。如图所示,正弦余弦正变换装置、正弦余弦反变换装置、码率估计装置及熵编码装置各自所支持的数据格式相同,图示仅示例性地示出反变换、码率估计和熵编码中数据块的部分分量数据的编号,但不构成限定。
同理,参见图18-图19示出16*16和32*32不同大小数据块的正变换、存储、反变换、码率估计及熵编码各自所支持的数据格式,这里不做一一介绍。
本申请能够有效地解决视频编码器内残差数据的存储问题,并能够适配量化、反量化、码率估计和熵编码等相关模块对残差数据的格式需求。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何本领域技术人员均可在不违背本申请的精神及范畴下,对上述实施例进行修饰与改变。因此,本申请的权利保护范围,应如权利要求书所列。
Claims (10)
1.一种视频编码器,其特征在于,包括:正弦余弦变换装置、量化装置、残差数据管理装置、码率估计装置、模式判决装置、反量化装置、正弦余弦反变换装置、熵编码数据缓存装置及熵编码装置,其中:
所述正弦余弦变换装置,用于对接收的不同编码模式下的原始残差数据在对应视频编码标准下进行离散正弦或离散余弦变换,对应得到不同编码模式下的变换残差数据;
所述量化装置,用于对不同编码模式下的所述变换残差数据进行量化处理,对应得到不同编码模式下的量化残差数据;
所述残差数据管理装置,用于对不同编码模式下的所述量化残差数据进行数据管理;
所述码率估计装置,用于对不同编码模式下的所述量化残差数据进行码率估计,得到所述量化残差数据的编码码率;
所述模式判决装置,用于对所述量化残差数据的编码码率进行模式判决,得到视频编码的最优模式,所述最优模式为所述不同编码模式中的一个;
所述反量化装置,用于对所述最优模式下的量化残差数据进行反量化处理,得到反量化残差数据;
所述正弦余弦反变换装置,用于对所述反量化残差数据进行对应的离散正弦或离散余弦反变换,得到反变换残差数据;
所述熵编码数据缓存装置,用于接收并缓存所述残差数据管理装置下发的所述最优模式下的量化残差数据;
所述熵编码装置,用于对所述最优模式下的量化残差数据进行编码,得到对应的视频码流。
2.根据权利要求1所述的视频编码器,其特征在于,
所述码率估计装置,具体用于将所述量化残差数据按照预设尺寸进行子块分割,对分割的子块按照设定扫描顺序读取,并对每个所述分割的子块进行码率估计与求和,以得到所述量化残差数据的编码码率。
3.根据权利要求1所述的视频编码器,其特征在于,所述残差数据管理装置包括写操作装置、非零子块统计装置、数据缓存装置及读操作装置,其中:
所述写操作装置,用于接收所述量化装置发送的不同编码模式下的所述量化残差数据,并将所述量化残差数据按照对应视频编码标准下的存储数据格式存储至所述数据缓存装置的各分区中;
所述写操作装置,还用于将所述量化残差数据按照预设尺寸进行子块分割,并确定每个所述分割的子块的非零信息,输出给所述非零子块统计装置;
所述非零子块统计装置,用于接收所述量化残差数据的非零信息,并对所量化残差数据进行信息维护,以维护所述量化残差数据的非零信息、分量信息、子块信息及模式信息;
所述读操作装置,用于生成对应的数据操作读取请求,并根据所述数据操作读取请求从所述数据缓存装置的各分区中读取相应地分量数据,并对读取的分量数据进行重新排序,得到所述量化残差数据。
4.根据权利要求3所述的视频编码器,其特征在于,
所述非零子块统计装置,还用于接收来自所述模式判决装置的最优模式,将所述最优模式及所述量化残差数据的非零信息、分量信息、子块信息及模式信息发送给所述读操作装置;
所述读操作装置,还用于接收来自所述非零子块统计装置的所述最优模式、所述量化残差数据的非零信息、分量信息、子块信息及模式信息,以生成对应的数据操作读取请求;
其中,所述数据操作读取请求包括以下中的任一项:反变换数据读取请求、码率估计数据读取请求及熵编码数据读取请求。
5.根据权利要求1-4中任一项所述的视频编码器,其特征在于,所述原始残差数据为4*4的数据块,在H.264视频编码标准下所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,所述正弦余弦变换装置及所述量化装置所支持的数据格式相同,所述残差数据管理装置按照列的顺序依次将所述量化残差数据存储至所述残差数据管理装置的各分区中。
6.根据权利要求1-4中任一项所述的视频编码器,其特征在于,所述原始残差数据为4*4的数据块,在H.265视频编码标准下所述正弦余弦正变换装置、所述量化装置及所述正弦余弦反变换装置所支持的数据格式相同,所述码率估计装置和所述熵编码装置所支持的数据格式相同,所述残差数据管理装置按照列的顺序依次将所述量化残差数据存储至所述残差数据管理装置的各分区中。
7.根据权利要求1-4中任一项所述的视频编码器,其特征在于,所述原始残差数据为8*8的数据块,在H.264视频编码标准下所述正弦余弦变换装置、所述量化装置、所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,所述残差数据管理装置按照行的顺序将同一吞吐率周期内的所述量化残差数据依次存储至所述残差数据管理装置的各分区中。
8.根据权利要求1-4中任一项所述的视频编码器,其特征在于,所述原始残差数据为8*8的数据块,在H.265视频编码标准下所述正弦余弦变换装置、所述量化装置、所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,所述残差数据管理装置按照列的顺序将同一吞吐率周期内的所述量化残差数据依次存储至所述残差数据管理装置的各分区中。
9.根据权利要求1-4中任一项所述的视频编码器,其特征在于,所述原始残差数据为16*16的数据块,所述正弦余弦变换装置、所述量化装置、所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,所述残差数据管理装置按照列的顺序将同一吞吐率周期内的所述量化残差数据依次存储至所述残差数据管理装置的各分区中。
10.根据权利要求1-4中任一项所述的视频编码器,其特征在于,所述原始残差数据为32*32的数据块,所述正弦余弦变换装置、所述量化装置、所述正弦余弦反变换装置、所述码率估计装置及所述熵编码装置所支持的数据格式相同,均为将同一吞吐率周期内的所述量化残差数据顺序编号排列至所述数据块的两端区域,将下一吞吐率周期内的所述量化残差数据顺序编号至所述数据块的中间区域;所述残差数据管理装置按照列的顺序将同一吞吐率周期内的所述量化残差数据依次存储至所述残差数据管理装置的各分区中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110018472.XA CN112866695B (zh) | 2021-01-07 | 2021-01-07 | 一种视频编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110018472.XA CN112866695B (zh) | 2021-01-07 | 2021-01-07 | 一种视频编码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866695A true CN112866695A (zh) | 2021-05-28 |
CN112866695B CN112866695B (zh) | 2023-03-24 |
Family
ID=76004826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110018472.XA Active CN112866695B (zh) | 2021-01-07 | 2021-01-07 | 一种视频编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866695B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114125451A (zh) * | 2021-12-01 | 2022-03-01 | 锐宸微(上海)科技有限公司 | 视频编码方法、视频编码装置及影像处理装置 |
US20230062352A1 (en) * | 2021-08-16 | 2023-03-02 | Nvidia Corporation | Efficient transforms and transposes for rate-distortion optimization and reconstruction in video encoders |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070074487A (ko) * | 2006-01-07 | 2007-07-12 | 한국전자통신연구원 | 동영상 데이터 인코딩/디코딩 방법 및 그 장치 |
CN101466040A (zh) * | 2009-01-09 | 2009-06-24 | 北京大学 | 一种用于视频编码模式决策的码率估计方法 |
CN101841713A (zh) * | 2010-04-30 | 2010-09-22 | 西安电子科技大学 | 降低编码码率的视频编码方法及*** |
WO2012094921A1 (zh) * | 2011-01-14 | 2012-07-19 | 华为技术有限公司 | 多图像块划分的编解码方法和装置 |
CN104053009A (zh) * | 2013-03-15 | 2014-09-17 | 中兴通讯股份有限公司 | 一种监控视频的编码方法及装置 |
WO2018014301A1 (zh) * | 2016-07-21 | 2018-01-25 | 华为技术有限公司 | 视频编码方法及装置 |
WO2020185039A1 (ko) * | 2019-03-14 | 2020-09-17 | 엘지전자 주식회사 | 레지듀얼 코딩 방법 및 장치 |
-
2021
- 2021-01-07 CN CN202110018472.XA patent/CN112866695B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070074487A (ko) * | 2006-01-07 | 2007-07-12 | 한국전자통신연구원 | 동영상 데이터 인코딩/디코딩 방법 및 그 장치 |
CN101466040A (zh) * | 2009-01-09 | 2009-06-24 | 北京大学 | 一种用于视频编码模式决策的码率估计方法 |
CN101841713A (zh) * | 2010-04-30 | 2010-09-22 | 西安电子科技大学 | 降低编码码率的视频编码方法及*** |
WO2012094921A1 (zh) * | 2011-01-14 | 2012-07-19 | 华为技术有限公司 | 多图像块划分的编解码方法和装置 |
CN104053009A (zh) * | 2013-03-15 | 2014-09-17 | 中兴通讯股份有限公司 | 一种监控视频的编码方法及装置 |
WO2018014301A1 (zh) * | 2016-07-21 | 2018-01-25 | 华为技术有限公司 | 视频编码方法及装置 |
WO2020185039A1 (ko) * | 2019-03-14 | 2020-09-17 | 엘지전자 주식회사 | 레지듀얼 코딩 방법 및 장치 |
Non-Patent Citations (2)
Title |
---|
KIM, SEONGHYUN 等: "Reduction in encoding redundancy for overlapped FOVs over wireless visual sensor networks", 《DIGITAL SIGNAL PROCESSING 》 * |
张阳等: "H.264视频编码中的快速失真与速率估计算法", 《清华大学学报(自然科学版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230062352A1 (en) * | 2021-08-16 | 2023-03-02 | Nvidia Corporation | Efficient transforms and transposes for rate-distortion optimization and reconstruction in video encoders |
US11647227B2 (en) * | 2021-08-16 | 2023-05-09 | Nvidia Corporation | Efficient transforms and transposes for rate-distortion optimization and reconstruction in video encoders |
CN114125451A (zh) * | 2021-12-01 | 2022-03-01 | 锐宸微(上海)科技有限公司 | 视频编码方法、视频编码装置及影像处理装置 |
CN114125451B (zh) * | 2021-12-01 | 2022-12-06 | 锐宸微(上海)科技有限公司 | 视频编码方法、视频编码装置及影像处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112866695B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070153907A1 (en) | Programmable element and hardware accelerator combination for video processing | |
US9270988B2 (en) | Method of determining binary codewords for transform coefficients | |
KR100772379B1 (ko) | 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치 | |
US20070047655A1 (en) | Transpose buffering for video processing | |
US20230024834A1 (en) | Video decoding method, video encoding method, and related apparatuses | |
CN112866695B (zh) | 一种视频编码器 | |
CN101252694A (zh) | 基于块的视频解码的帧存储压缩和地址映射*** | |
CN112543337B (zh) | 视频解码方法、装置、计算机可读介质及电子设备 | |
US8503534B2 (en) | Multi-bus architecture for a video codec | |
CN111669588B (zh) | 一种超低时延的超高清视频压缩编解码方法 | |
US11818397B2 (en) | Sparse matrix representation using a boundary of non-zero coefficients | |
CN101783958B (zh) | Avs视频标准中时域直接模式运动矢量的计算方法和装置 | |
US20190356911A1 (en) | Region-based processing of predicted pixels | |
WO2020181504A1 (zh) | 视频编码的方法与装置,以及视频解码的方法与装置 | |
WO2023193701A1 (zh) | 图像编码方法及装置 | |
US20110110435A1 (en) | Multi-standard video decoding system | |
US20230053118A1 (en) | Video decoding method, video coding method, and related apparatus | |
WO2022022299A1 (zh) | 视频编解码中的运动信息列表构建方法、装置及设备 | |
WO2022227082A1 (zh) | 块划分方法、编码器、解码器以及计算机存储介质 | |
CN109495745B (zh) | 一种基于逆量化/逆变换的无损压缩解码方法 | |
CN116982262A (zh) | 视频编码中依赖性量化的状态转换 | |
CN100576917C (zh) | 逆扫描频率系数的方法和*** | |
JP7483029B2 (ja) | ビデオ復号方法、ビデオ符号化方法、装置、媒体、及び電子機器 | |
CN101516030B (zh) | 具有多格式影像编解码功能的数据处理电路及处理方法 | |
WO2022037458A1 (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 |