CN114501003B - 视频解码方法及装置 - Google Patents
视频解码方法及装置 Download PDFInfo
- Publication number
- CN114501003B CN114501003B CN202111596628.9A CN202111596628A CN114501003B CN 114501003 B CN114501003 B CN 114501003B CN 202111596628 A CN202111596628 A CN 202111596628A CN 114501003 B CN114501003 B CN 114501003B
- Authority
- CN
- China
- Prior art keywords
- coding block
- pixels
- adjacent
- buffer
- current coding
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 239000000872 buffer Substances 0.000 claims abstract description 144
- 230000003044 adaptive effect Effects 0.000 claims abstract description 71
- 230000015654 memory Effects 0.000 claims abstract description 67
- 238000001914 filtration Methods 0.000 claims abstract description 66
- 238000005070 sampling Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 8
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/182—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 a pixel
-
- 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
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开关于一种视频解码方法及装置。该视频解码方法包括:将当前编码块的原始像素、所述当前编码块的第一相邻像素从图像内存中拷贝至编码块缓存器中;从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中;基于所述编码块缓存器中的所述第一相邻像素和所述第二相邻像素,对所述编码块缓存器中的所述当前编码块的原始像素进行样点自适应补偿滤波。根据本公开的视频解码方法及装置,可降低进行样点自适应补偿滤波时内存的消耗。
Description
技术领域
本公开涉及视频技术领域。更具体地,本公开涉及一种视频解码方法及装置。
背景技术
视频解码时,需要对重建后的图像进行滤波。其中,较为复杂的是样点自适应补偿滤波。由于每个编码块都有样点自适应补偿滤波器的开关,所以样点自适应补偿滤波器一般是以编码块为单位进行滤波的。在相关技术中,样点自适应补偿滤波以编码块为单位进行滤波。样点自适应补偿依赖与编码块相邻的其他编码块的像素。样点自适应补偿滤波的输入像素为没有进行过样点自适应补偿滤波的像素,所以与编码块相邻的其他编码块的像素必须要是没有进行滤波的。如果相邻块也需要做样点自适应补偿滤波,则这时就会出现相互依赖的问题。为了降低滤波延时,需要合理的安排编码块样点自适应补偿滤波器的依赖关系。
为了解决这一问题,在相关技术中可申请两块图像内存,输入图像内存和输出图像内存。从输入图像内存读取数据,将样点自适应补偿滤波后的像素存储到输出图像内存中。然而,由于需要多申请一份图像内存,因此,额外内存过大,资源消耗严重。
发明内容
本公开的示例性实施例在于提供一种视频解码方法及装置,以至少解决相关技术中的视频解码的问题,也可不解决任何上述问题。
根据本公开的示例性实施例,提供一种视频解码方法,包括:将当前编码块的原始像素、所述当前编码块的第一相邻像素从图像内存中拷贝至编码块缓存器中;从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中;基于所述编码块缓存器中的所述第一相邻像素和所述第二相邻像素,对所述编码块缓存器中的所述当前编码块的原始像素进行样点自适应补偿滤波。
可选地,所述第一相邻像素可以是所述当前编码块的第一相邻编码块边缘的像素,所述第二相邻像素可以是所述当前编码块的第二相邻编码块边缘的像素的原始像素,其中,所述第一相邻编码块可以是所述当前编码块的相邻编码块中的未进行滤波的编码块,所述第二相邻编码块可以是所述当前编码块的相邻编码块中的进行了滤波的编码块。
可选地,所述第一相邻编码块边缘的像素可包括第一相邻编码块左边缘的像素和第一相邻编码块上边缘的像素。
可选地,所述第二相邻像素可包括行相邻像素和列相邻像素。
可选地,所述从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中,可包括:从所述行缓存器中获取所述当前编码块的行相邻像素,将所述行相邻像素拷贝至所述编码块缓存器中;从所述列缓存器中获取所述当前编码块的列相邻像素,将所述列相邻像素拷贝至所述编码块缓存器中。
可选地,所述行相邻像素可包括所述当前编码块的第二相邻编码块上边缘的像素的原始像素,所述列相邻像素可包括所述当前编码块的第二相邻编码块左边缘的像素的原始像素。
可选地,在对当前编码块的像素进行样点自适应补偿滤波之前,所述视频解码方法还可包括:将所述当前编码块右边缘的像素拷贝至所述列缓存器中;将所述当前编码块下边缘的像素拷贝至所述行缓存器中。
可选地,所述视频解码方法还可包括:使用样点自适应补偿滤波之后的所述当前编码块的像素替换图像内存中的所述当前编码块的原始像素。
根据本公开的示例性实施例,提供一种视频解码装置,包括:第一拷贝单元,被配置为将当前编码块的原始像素、所述当前编码块的第一相邻像素从图像内存中拷贝至编码块缓存器中;第二拷贝单元,被配置为从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中;滤波单元,被配置为基于所述编码块缓存器中的所述第一相邻像素和所述第二相邻像素,对所述编码块缓存器中的所述当前编码块的原始像素进行样点自适应补偿滤波。
可选地,所述第一相邻像素可以是所述当前编码块的第一相邻编码块边缘的像素,所述第二相邻像素可以是所述当前编码块的第二相邻编码块边缘的像素的原始像素,其中,所述第一相邻编码块可以是所述当前编码块的相邻编码块中的未进行滤波的编码块,所述第二相邻编码块可以是所述当前编码块的相邻编码块中的进行了滤波的编码块。
可选地,所述第一相邻编码块边缘的像素可包括第一相邻编码块左边缘的像素和第一相邻编码块上边缘的像素。
可选地,所述第二相邻像素可包括行相邻像素和列相邻像素。
可选地,第二拷贝单元可被配置为:从所述行缓存器中获取所述当前编码块的行相邻像素,将所述行相邻像素拷贝至所述编码块缓存器中;从所述列缓存器中获取所述当前编码块的列相邻像素,将所述列相邻像素拷贝至所述编码块缓存器中。
可选地,所述行相邻像素可包括所述当前编码块的第二相邻编码块上边缘的像素的原始像素,所述列相邻像素可包括所述当前编码块的第二相邻编码块左边缘的像素的原始像素。
可选地,所述视频解码装置还可包括第三拷贝单元,被配置为:将所述当前编码块右边缘的像素拷贝至所述列缓存器中;将所述当前编码块下边缘的像素拷贝至所述行缓存器中。
可选地,所述视频解码装置还可包括内存替换单元,被配置为:使用样点自适应补偿滤波之后的所述当前编码块的像素替换图像内存中的所述当前编码块的原始像素。
根据本公开的示例性实施例,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现根据本公开的示例性实施例的视频解码方法。
根据本公开的示例性实施例,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被电子设备的处理器执行时,使得电子设备执行根据本公开的示例性实施例的视频解码方法。
根据本公开的示例性实施例,提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,实现根据本公开的示例性实施例的视频解码方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过使用行缓存器、列缓存器和编码块缓存器,在当前编码块的相邻编码块进行样点自适应补偿滤波之前,将当前编码块的相邻编码块的将用于当前编码块进行样点自适应补偿滤波的像素缓存在行缓存器或列缓存器中,当对当前编码块进行解码时,将当前编码块的像素以及与当前编码块相邻的像素的原始像素拷贝到编码块缓存器中,在编码块缓存器中对当前编码块进行解码,使得可能在同一块小内存(即,行缓存器、列缓存器和编码块缓存器所占用的内存)中进行操作,降低了额外内存的消耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出与样点自适应补偿滤波有关的像素的示意图。
图2示出本公开的示例性实施例可以应用于其中的示例性系统架构。
图3示出根据本公开的示例性实施例的视频解码方法的流程图。
图4示出行缓存器、列缓存器、当前图像帧中的编码块在对当前编码块进行样点自适应补偿滤波时选择像素的示意图。
图5示出根据本公开的示例性实施例的视频解码装置的框图。
图6是根据本公开的示例性实施例的电子设备600的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
图1示出与样点自适应补偿滤波有关的像素的示意图。如图1所示,当箭头指向的编码块需要做样点自适应补偿滤波时,需要依赖编码块中的被标记为浅颜色的像素以及编码块周围的被标记为深颜色的像素(即,与编码块相邻的其他编码块的像素)。可见,样点自适应补偿滤波依赖与编码块相邻的其他编码块的像素。样点自适应补偿滤波的输入像素为没有进行过样点自适应补偿滤波的像素,所以与编码块相邻的其他编码块的像素必须要是没有进行滤波的。如果相邻块也需要做样点自适应补偿滤波,则这时就会出现相互依赖的问题。
为了解决进行样点自适应补偿滤波时相邻块相互依赖的问题,在相关技术中由于需要多申请一份图像内存,因此,额外内存过大,资源消耗严重。本公开在于在进行样点自适应补偿滤波时,尽可能节省多余的内存。
下面,将参照图2至图6具体描述根据本公开的示例性实施例的视频解码方法及装置。
图2示出本公开的示例性实施例可以应用于其中的示例性系统架构100。
如图2所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息(例如,视频解码请求)等。终端设备101、102、103上可以安装有各种视频应用。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且能够进行音视频播放、录制、编辑等的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块(例如,用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
终端设备101、102、103可以安装有图像采集装置(例如,摄像头),以采集视频数据。实践中,组成视频的最小视觉单位是帧(Frame)。每一帧是一幅静态的图像。将时间上连续的帧序列合成到一起便形成动态视频。此外,终端设备101、102、103也可以安装有用于将电信号转换为声音的组件(例如,扬声器)以播放声音,并且还可以安装有用于将模拟音频信号转换为数字音频信号的装置(例如,麦克风)以采集声音。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上所安装的多媒体应用提供支持的后台服务器。后台服务器可以对所接收到的视频解码请求等数据进行解析、存储等处理。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如,用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本公开实施例所提供的视频解码方法通常由终端设备执行,但是也可由服务器执行,或者也可以由终端设备和服务器协作执行。相应地,视频解码装置可设置在终端设备中、服务器中或者设置在终端设备和服务器两者中。
应该理解,图2中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本公开对此并无限制。
图3示出根据本公开的示例性实施例的视频解码方法的流程图。
参照图3,在步骤S301,将当前编码块的原始像素、所述当前编码块的第一相邻像素从图像内存中拷贝至编码块缓存器中。由于根据编码顺序,所述当前编码块在解码时,与所述当前编码块的上下左右相邻的相邻编码块中,一部分还未进行样点自适应补偿(SAO)滤波,另一部分已进行了样点自适应补偿滤波。并且,与所述当前编码块的上下左右相邻的像素分别在与所述当前编码块的上下左右相邻的相邻编码块中。因此,与所述当前编码块的上下左右相邻的像素中,一部分还未进行样点自适应补偿滤波,另一部分已进行了样点自适应补偿滤波。这里,当前编码块的原始像素未经过样点自适应补偿滤波,第一相邻像素是与所述当前编码块的上下左右相邻的像素中的还未进行样点自适应补偿滤波的所述一部分的像素。
视频包括由多帧图像,在视频解码时,依次对视频包括的每帧图像进行解码。图像内存是指进行解码的图像所占的内存。当前编码块是当前正在解码的编码块。
在相关技术中,在对视频中的长度为M宽度为N的图像进行解码时,需要申请两块图像内存,即,输入图像内存(M×N)和输出图像内存(M×N),以从输入图像内存读取数据,并且将样点自适应补偿滤波后的像素存储到输出图像内存中。
在本公开中,为了降低视频解码过程中内存的消耗,不需要申请输出图像内存(M×N),而是申请编码块缓存器、行缓存器和列缓存器,从而在编码块缓存器中对当前编码块进行解码。该编码块缓存器的内存可以为编码块宽度×编码块高度。行缓存器的内存可以为图像宽度,列缓存器的内存可以为图像高度。
在本公开的示例性实施例中,可针对当前图像帧或者当前编码块设置行缓存器、列缓存器、编码块缓存器,从而优化了最小并行粒度。
在步骤S302,从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中。这里,是与所述当前编码块的上下左右相邻的像素中的已进行了样点自适应补偿滤波的所述另一部分的像素在进行样点自适应补偿滤波之前的原始像素。
行缓存器是基于编码块的行在对编码块进行样点自适应补偿滤波之前缓存编码块的最下边一行像素的缓存器。列缓存器是基于编码块的列在对编码块进行样点自适应补偿滤波之前缓存编码块的最右边一列像素的缓存器。这里,第二相邻像素所在的编码块已进行了样点自适应补偿滤波。第二相邻像素是其所在的编码块在进行样点自适应补偿滤波之前缓存在行缓存器或列缓存器中的像素。
在步骤S303,基于所述编码块缓存器中的所述第一相邻像素和所述第二相邻像素,对所述编码块缓存器中的所述当前编码块的原始像素进行样点自适应补偿滤波。
这里,所述第一相邻像素和所述第二相邻像素包括了所述当前编码块的所有边缘像素的原始像素。
在本公开的示例性实施例中,可使用任意的样点自适应补偿滤波方法,本公开对此不进行限制。
在本公开的示例性实施例中,所述第一相邻像素可以是所述当前编码块的第一相邻编码块边缘的像素,所述第二相邻像素可以是所述当前编码块的第二相邻编码块边缘的像素的原始像素。这里,所述第一相邻编码块可以是所述当前编码块的相邻编码块中的未进行滤波的编码块,所述第二相邻编码块可以是所述当前编码块的相邻编码块中的已进行了滤波的编码块。。
在本公开的示例性实施例中,当按照从上到下从左到右的编解码顺序时,所述第一相邻编码块边缘的像素可包括第一相邻编码块左边缘的像素和第一相邻编码块上边缘的像素。由于当按照从上到下从左到右的编解码顺序时,所述当前编码块右侧的相邻编码块、所述当前编码块下侧的相邻编码块还未进行样点自适应补偿滤波,因此,这里,第一相邻编码块可以是所述当前编码块右侧的相邻编码块、所述当前编码块下侧的相邻编码块。此外,在所述当前编码块右侧的相邻编码块中只有左边缘的像素与所述当前编码块相邻,在所述当前编码块下侧的相邻编码块中只有上边缘的像素与所述当前编码块相邻,因此,例如,所述第一相邻编码块边缘的像素可以是所述当前编码块右侧的相邻编码块左边缘的像素和所述当前编码块下侧的相邻编码块上边缘的像素。
当按照其他的编解码顺序时,所述第一相邻编码块边缘的像素可以是根据上述相同原理的像素。例如,当按照从下到上从右到左的编解码顺序时,所述第一相邻编码块边缘的像素可包括第一相邻编码块右边缘的像素和第一相邻编码块下边缘的像素。由于当按照从下到上从右到左的编解码顺序时,所述当前编码块左侧的相邻编码块、所述当前编码块上侧的相邻编码块还未进行样点自适应补偿滤波,因此,这里,第一相邻编码块可以是所述当前编码块左侧的相邻编码块、所述当前编码块上侧的相邻编码块。此外,在所述当前编码块左侧的相邻编码块中只有右边缘的像素与所述当前编码块相邻,在所述当前编码块上侧的相邻编码块中只有下边缘的像素与所述当前编码块相邻,因此,例如,所述第一相邻编码块边缘的像素可以是所述当前编码块左侧的相邻编码块右边缘的像素和所述当前编码块上侧的相邻编码块下边缘的像素。
在本公开的示例性实施例中,所述第二相邻像素可包括行相邻像素和列相邻像素。
在本公开的示例性实施例中,当按照从上到下从左到右的编解码顺序时,所述行相邻像素可包括所述当前编码块的第二相邻编码块上边缘的像素的原始像素,所述列相邻像素可包括所述当前编码块的第二相邻编码块左边缘的像素的原始像素。由于当按照从上到下从左到右的编解码顺序时,所述当前编码块左侧的相邻编码块、所述当前编码块上侧的相邻编码块已进行了样点自适应补偿滤波,因此,这里,第二相邻编码块可以是所述当前编码块左侧的相邻编码块、所述当前编码块上侧的相邻编码块。此外,在所述当前编码块左侧的相邻编码块中只有右边缘的像素与所述当前编码块相邻,在所述当前编码块上侧的相邻编码块中只有下边缘的像素与所述当前编码块相邻,因此,例如,所述第二相邻编码块边缘的像素可以是所述当前编码块左侧的相邻编码块右边缘的像素和所述当前编码块上侧的相邻编码块下边缘的像素。
当按照其他的编解码顺序时,所述第二相邻编码块边缘的像素可以是根据上述相同原理的像素。例如,当按照从下到上从右到左的编解码顺序时,所述行相邻像素可包括所述当前编码块的第二相邻编码块下边缘的像素的原始像素,所述列相邻像素可包括所述当前编码块的第二相邻编码块右边缘的像素的原始像素。由于当按照从下到上从右到左的编解码顺序时,所述当前编码块右侧的相邻编码块、所述当前编码块下侧的相邻编码块已进行了样点自适应补偿滤波,因此,这里,第二相邻编码块可以是所述当前编码块右侧的相邻编码块、所述当前编码块下侧的相邻编码块。此外,在所述当前编码块右侧的相邻编码块中只有左边缘的像素与所述当前编码块相邻,在所述当前编码块下侧的相邻编码块中只有上边缘的像素与所述当前编码块相邻,因此,例如,所述第二相邻编码块边缘的像素可以是所述当前编码块右侧的相邻编码块左边缘的像素和所述当前编码块下侧的相邻编码块上边缘的像素。
在本公开的示例性实施例中,在从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中时,可从所述行缓存器中获取所述当前编码块的行相邻像素,将所述行相邻像素拷贝至所述编码块缓存器中,从所述列缓存器中获取所述当前编码块的列相邻像素,将所述列相邻像素拷贝至所述编码块缓存器中,以用于对所述当前编码块进行样点自适应补偿滤波。
在本公开的示例性实施例中,在对当前编码块的像素进行样点自适应补偿滤波之前,还可将所述当前编码块右边缘的像素拷贝至所述列缓存器中,将所述当前编码块下边缘的像素拷贝至所述行缓存器中,以用于后续编码块的样点自适应补偿滤波。
在本公开的示例性实施例中,可使用任意一种样点自适应补偿滤波方法,本公开对此不进行限制。
在本公开的示例性实施例中,还可使用样点自适应补偿滤波之后的所述当前编码块的像素直接替换图像内存中的所述当前编码块的原始像素,从而简化了内存替换规则。
图4示出行缓存器、列缓存器、当前图像帧中的编码块在对当前编码块进行样点自适应补偿滤波时选择像素的示意图。如图4所示,白色编码块是是尚未进行样点自适应补偿滤波的编码块,标记“SAO”的编码块是要进行样点自适应补偿滤波的编码块。对图4中标记“SAO”的编码块进行样点自适应补偿滤波时,需要该编码块的原始像素(即,未进行SAO滤波之前的像素,图4中的标记“SAO”的编码块的白色部分的像素)、该编码块的下侧和右侧的被标记为黑色位置处的像素、以及该编码块的左侧和上侧的被标记较浅颜色的像素。
当对图4中标记“SAO”的编码块进行样点自适应补偿滤波时,首先从图像内存将标记“SAO”的编码块的原始像素以及该标记“SAO”的编码块的右侧和下侧相邻像素拷贝到编码块缓存器中,然后从行缓存器中将与标记“SAO”的编码块对应的列的原始像素(即,该标记“SAO”的编码块的上侧相邻像素的原始像素)拷贝到编码块缓存器中,并且从列缓存器中将与标记“SAO”的编码块对应的行的原始像素(即,该标记“SAO”的编码块的左侧相邻像素的原始像素)拷贝到编码块缓存器中,在对该标记“SAO”的编码块进行样点自适应补偿滤波之前,将该标记“SAO”的编码块的最右边一列拷贝到行缓存器中对应列中,并且将该标记“SAO”的编码块的最下边一行拷贝到列缓存器中对应行中,以用于后续的编码块的样点自适应补偿滤波。之后,基于拷贝到编码块缓存器中的该标记“SAO”的编码块的上侧、左侧、右侧和下侧相邻像素的原始像素对该标记“SAO”的编码块的原始像素进行样点自适应补偿滤波。之后,用该标记“SAO”的编码块的样点自适应补偿滤波之后的像素替换图像内存中的该标记“SAO”的编码块的样点自适应补偿滤波之前的像素。
通过使用根据本公开的示例性实施例的视频解码方法,所需要多占用的内存大小为(图像宽度+图像高度+编码块宽度×编码块高度),(图像宽度+图像高度+编码块宽度×编码块高度)<(图像宽度×图像高度),从而降低了内存的消耗。同时,由于一直在同一块小内存(即,行缓存器、列缓存器和编码块缓存器所占用的内存)中进行操作,因此,可提高缓存命中率。
在本公开的示例性实施例中,当前编码块的样点自适应补偿滤波之后的像素也可被存储在其他任意的内存中。
以上已经结合图2至图4对根据本公开的示例性实施例的视频解码方法进行了描述。在下文中,将参照图5对根据本公开的示例性实施例的视频解码装置及其单元进行描述。
图5示出根据本公开的示例性实施例的视频解码装置的框图。
参照图5,视频解码装置包括第一拷贝单元51、第二拷贝单元52和滤波单元53。
第一拷贝单元51被配置为将当前编码块的原始像素、所述当前编码块的第一相邻像素从图像内存中拷贝至编码块缓存器中。这里,当前编码块的原始像素未经过样点自适应补偿滤波。
第二拷贝单元52被配置为从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中。
滤波单元53被配置为基于所述编码块缓存器中的所述第一相邻像素和所述第二相邻像素,对所述编码块缓存器中的所述当前编码块的原始像素进行样点自适应补偿滤波。
在本公开的示例性实施例中,所述第一相邻像素可以是所述当前编码块的第一相邻编码块边缘的像素。这里,所述第一相邻编码块可以是所述当前编码块的相邻编码块中的未进行滤波的编码块。
在本公开的示例性实施例中,当按照从上到下从左到右的编解码顺序时,所述第一相邻编码块边缘的像素可包括第一相邻编码块左边缘的像素和第一相邻编码块上边缘的像素。这里,第一相邻编码块可以是所述当前编码块右侧的相邻编码块、所述当前编码块下侧的相邻编码块。例如,所述第一相邻编码块边缘的像素可以是所述当前编码块右侧的相邻编码块左边缘的像素和所述当前编码块下侧的相邻编码块上边缘的像素。
在本公开的示例性实施例中,所述第二相邻像素可包括行相邻像素和列相邻像素。
在本公开的示例性实施例中,所述行相邻像素可包括所述当前编码块的第二相邻编码块上边缘的像素的原始像素,所述列相邻像素可包括所述当前编码块的第二相邻编码块左边缘的像素的原始像素。
在本公开的示例性实施例中,可针对当前图像帧或者当前编码块设置行缓存器、列缓存器、编码块缓存器,从而优化了最小并行粒度。
在本公开的示例性实施例中,所述第二相邻像素可以是所述当前编码块的第二相邻编码块边缘的像素的原始像素。
在本公开的示例性实施例中,所述第二相邻编码块可以是所述当前编码块的相邻编码块中的进行了滤波的编码块。
在本公开的示例性实施例中,第二拷贝单元52可被配置为:当按照从上到下从左到右的编解码顺序时,从所述行缓存器中获取所述当前编码块的行相邻像素,将所述行相邻像素拷贝至所述编码块缓存器中;从所述列缓存器中获取所述当前编码块的列相邻像素,将所述列相邻像素拷贝至所述编码块缓存器中。这里,第二相邻编码块可以是所述当前编码块左侧的相邻编码块、所述当前编码块上侧的相邻编码块。例如,所述第二相邻编码块边缘的像素可以是所述当前编码块左侧的相邻编码块右边缘的像素和所述当前编码块上侧的相邻编码块下边缘的像素。
在本公开的示例性实施例中,所述视频解码装置还包括第三拷贝单元,被配置为:将所述当前编码块右边缘的像素拷贝至所述列缓存器中;将所述当前编码块下边缘的像素拷贝至所述行缓存器中。
在本公开的示例性实施例中,所述视频解码装置还可包括内存替换单元,被配置为:使用样点自适应补偿滤波之后的所述当前编码块的像素替换图像内存中的所述当前编码块的原始像素。
在本公开的示例性实施例中,行缓存器、列缓存器、编码块缓存器可以是针对当前图像帧或者当前编码块设置的。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上已经结合图6对根据本公开的示例性实施例的视频解码装置进行了描述。接下来,结合图6对根据本公开的示例性实施例的电子设备进行描述。
图6是根据本公开的示例性实施例的电子设备600的框图。
参照图6,电子设备600包括至少一个存储器601和至少一个处理器602,所述至少一个存储器601中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器602执行时,执行根据本公开的示例性实施例的视频解码的方法。
在本公开的示例性实施例中,电子设备600可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备600并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备600还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备600中,处理器602可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器602可运行存储在存储器601中的指令或代码,其中,存储器601还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器601可与处理器602集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器601可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器601和处理器602可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器602能够读取存储在存储器中的文件。
此外,电子设备600还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备600的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还提供一种包括指令的计算机可读存储介质,例如包括指令的存储器601,上述指令可由装置600的处理器602执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,实现根据本公开的示例性实施例的视频解码的方法。
以上已参照图1至图6描述了根据本公开的示例性实施例的视频解码方法及装置。然而,应该理解的是:图5中所示的视频解码装置及其单元可分别被配置为执行特定功能的软件、硬件、固件或上述项的任意组合,图6中所示的电子设备并不限于包括以上示出的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。
根据本公开的视频解码方法及装置,通过将当前编码块的原始像素、所述当前编码块的第一相邻像素从图像内存中拷贝至编码块缓存器中,从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中,基于所述编码块缓存器中的所述第一相邻像素和所述第二相邻像素,对所述编码块缓存器中的所述当前编码块的原始像素进行样点自适应补偿滤波,从而降低了进行样点自适应补偿滤波时内存消耗。
此外,根据本公开的视频解码方法及装置,可通过针对当前图像帧或者当前编码块设置行缓存器、列缓存器、编码块缓存器,从而优化了最小并行粒度。
此外,根据本公开的视频解码方法及装置,可一直在同一块小内存中进行操作,从而提高了缓存命中率。
此外,通过使用当前编码块的样点自适应补偿滤波之后的像素替换图像内存中的当前编码块的样点自适应补偿滤波之前的像素,从而简化了内存替换规则。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (16)
1.一种视频解码方法,其特征在于,包括:
将当前编码块的原始像素、所述当前编码块的第一相邻像素从图像内存中拷贝至编码块缓存器中;
从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中;
基于所述编码块缓存器中的所述第一相邻像素和所述第二相邻像素,对所述编码块缓存器中的所述当前编码块的原始像素进行样点自适应补偿滤波,
其中,所述第一相邻像素是所述当前编码块的第一相邻编码块边缘的像素,所述第二相邻像素是所述当前编码块的第二相邻编码块边缘的像素的原始像素,所述第一相邻编码块是所述当前编码块的相邻编码块中的未进行滤波的编码块,所述第二相邻编码块是所述当前编码块的相邻编码块中的进行了滤波的编码块。
2.根据权利要求1所述的视频解码方法,其特征在于,所述第一相邻编码块边缘的像素包括第一相邻编码块左边缘的像素和第一相邻编码块上边缘的像素。
3.根据权利要求1所述的视频解码方法,其特征在于,所述第二相邻像素包括行相邻像素和列相邻像素。
4.根据权利要求3所述的视频解码方法,其特征在于,所述从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中,包括:
从所述行缓存器中获取所述当前编码块的行相邻像素,将所述行相邻像素拷贝至所述编码块缓存器中;
从所述列缓存器中获取所述当前编码块的列相邻像素,将所述列相邻像素拷贝至所述编码块缓存器中。
5.根据权利要求3所述的视频解码方法,其特征在于,所述行相邻像素包括所述当前编码块的第二相邻编码块上边缘的像素的原始像素,所述列相邻像素包括所述当前编码块的第二相邻编码块左边缘的像素的原始像素。
6.根据权利要求1所述的视频解码方法,其特征在于,在对当前编码块的像素进行样点自适应补偿滤波之前,所述视频解码方法还包括:
将所述当前编码块右边缘的像素拷贝至所述列缓存器中;
将所述当前编码块下边缘的像素拷贝至所述行缓存器中。
7.根据权利要求1所述的视频解码方法,其特征在于,所述视频解码方法还包括:
使用样点自适应补偿滤波之后的所述当前编码块的像素替换图像内存中的所述当前编码块的原始像素。
8.一种视频解码装置,其特征在于,包括:
第一拷贝单元,被配置为将当前编码块的原始像素、所述当前编码块的第一相邻像素从图像内存中拷贝至编码块缓存器中;
第二拷贝单元,被配置为从行缓存器和列缓存器获取所述当前编码块的第二相邻像素,将所述第二相邻像素拷贝至所述编码块缓存器中;
滤波单元,被配置为基于所述编码块缓存器中的所述第一相邻像素和所述第二相邻像素,对所述编码块缓存器中的所述当前编码块的原始像素进行样点自适应补偿滤波,
其中,所述第一相邻像素是所述当前编码块的第一相邻编码块边缘的像素,所述第二相邻像素是所述当前编码块的第二相邻编码块边缘的像素的原始像素,所述第一相邻编码块是所述当前编码块的相邻编码块中的未进行滤波的编码块,所述第二相邻编码块是所述当前编码块的相邻编码块中的进行了滤波的编码块。
9.根据权利要求8所述的视频解码装置,其特征在于,所述第一相邻编码块边缘的像素包括第一相邻编码块左边缘的像素和第一相邻编码块上边缘的像素。
10.根据权利要求8所述的视频解码装置,其特征在于,所述第二相邻像素包括行相邻像素和列相邻像素。
11.根据权利要求10所述的视频解码装置,其特征在于,第二拷贝单元被配置为:
从所述行缓存器中获取所述当前编码块的行相邻像素,将所述行相邻像素拷贝至所述编码块缓存器中;
从所述列缓存器中获取所述当前编码块的列相邻像素,将所述列相邻像素拷贝至所述编码块缓存器中。
12.根据权利要求10所述的视频解码装置,其特征在于,所述行相邻像素包括所述当前编码块的第二相邻编码块上边缘的像素的原始像素,所述列相邻像素包括所述当前编码块的第二相邻编码块左边缘的像素的原始像素。
13.根据权利要求8所述的视频解码装置,其特征在于,所述视频解码装置还包括第三拷贝单元,被配置为:
将所述当前编码块右边缘的像素拷贝至所述列缓存器中;
将所述当前编码块下边缘的像素拷贝至所述行缓存器中。
14.根据权利要求8所述的视频解码装置,其特征在于,所述视频解码装置还包括内存替换单元,被配置为:
使用样点自适应补偿滤波之后的所述当前编码块的像素替换图像内存中的所述当前编码块的原始像素。
15.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的视频解码方法。
16.一种计算机可读存储介质,存储有计算机程序,其特征在于,当所述计算机程序被电子设备的处理器执行时,使得电子设备执行如权利要求1至7中任一项所述的视频解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111596628.9A CN114501003B (zh) | 2021-12-24 | 2021-12-24 | 视频解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111596628.9A CN114501003B (zh) | 2021-12-24 | 2021-12-24 | 视频解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114501003A CN114501003A (zh) | 2022-05-13 |
CN114501003B true CN114501003B (zh) | 2024-03-12 |
Family
ID=81495955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111596628.9A Active CN114501003B (zh) | 2021-12-24 | 2021-12-24 | 视频解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114501003B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104067245A (zh) * | 2012-08-03 | 2014-09-24 | 联发科技股份有限公司 | 使用共享/可配置的环路滤波器数据缓冲器架构的视频处理系统及其相关视频处理方法 |
JP2015032982A (ja) * | 2013-08-02 | 2015-02-16 | 学校法人早稲田大学 | フィルタ装置 |
CN104584561A (zh) * | 2012-08-06 | 2015-04-29 | 联发科技股份有限公司 | 应用于视频译码器中的取样自适应偏移处理方法及装置 |
CN105530519A (zh) * | 2014-09-29 | 2016-04-27 | 炬芯(珠海)科技有限公司 | 一种环内滤波方法及装置 |
CN111373752A (zh) * | 2017-11-28 | 2020-07-03 | 高通股份有限公司 | 用于在视频译码中自适应的环路滤波的线路缓冲减少 |
CN111936929A (zh) * | 2018-03-22 | 2020-11-13 | 联发科技股份有限公司 | 采用360°虚拟现实投影的投影布局的重构的基于投影的帧的样本适应性偏移滤波方法用于重构的基于投影的帧的样本适应性偏移滤波方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140074369A (ko) * | 2011-11-08 | 2014-06-17 | 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) | 비디오 코딩의 타일 크기 |
KR102164698B1 (ko) * | 2013-03-25 | 2020-10-14 | 광운대학교 산학협력단 | 입력 버퍼를 재사용하는 샘플 적응적 오프셋 처리 장치 및 샘플 적응적 오프셋 처리 장치의 동작 방법 |
-
2021
- 2021-12-24 CN CN202111596628.9A patent/CN114501003B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104067245A (zh) * | 2012-08-03 | 2014-09-24 | 联发科技股份有限公司 | 使用共享/可配置的环路滤波器数据缓冲器架构的视频处理系统及其相关视频处理方法 |
CN104584561A (zh) * | 2012-08-06 | 2015-04-29 | 联发科技股份有限公司 | 应用于视频译码器中的取样自适应偏移处理方法及装置 |
JP2015032982A (ja) * | 2013-08-02 | 2015-02-16 | 学校法人早稲田大学 | フィルタ装置 |
CN105530519A (zh) * | 2014-09-29 | 2016-04-27 | 炬芯(珠海)科技有限公司 | 一种环内滤波方法及装置 |
CN111373752A (zh) * | 2017-11-28 | 2020-07-03 | 高通股份有限公司 | 用于在视频译码中自适应的环路滤波的线路缓冲减少 |
CN111936929A (zh) * | 2018-03-22 | 2020-11-13 | 联发科技股份有限公司 | 采用360°虚拟现实投影的投影布局的重构的基于投影的帧的样本适应性偏移滤波方法用于重构的基于投影的帧的样本适应性偏移滤波方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114501003A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113015021B (zh) | 云游戏的实现方法、装置、介质及电子设备 | |
WO2021068598A1 (zh) | 共享屏幕的编码方法、装置、存储介质及电子设备 | |
JP2020526994A5 (zh) | ||
WO2017202175A1 (zh) | 一种视频压缩方法、装置及电子设备 | |
CN114245209B (zh) | 视频分辨率确定、模型训练、视频编码方法及装置 | |
KR20210090259A (ko) | 비디오 디코딩 제어 방법, 장치, 전자 기기 및 저장 매체 | |
CN116506622B (zh) | 模型训练方法及视频编码参数优化方法和装置 | |
CN111263211B (zh) | 一种缓存视频数据的方法及终端设备 | |
CN105163126A (zh) | 一种基于hevc协议的硬件解码方法和装置 | |
CN111859210A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN114501003B (zh) | 视频解码方法及装置 | |
CN110891195B (zh) | 花屏图像的生成方法、装置、设备和存储介质 | |
CN113409199A (zh) | 图像处理方法、装置、电子设备及计算机可读介质 | |
US20230186608A1 (en) | Method, device, and computer program product for video processing | |
CN114727116A (zh) | 编码方法及装置 | |
CN112437312B (zh) | 视频解码方法、编码方法、装置、设备及存储介质 | |
US11622118B2 (en) | Determination of coding modes for video content using order of potential coding modes and block classification | |
CN113658045B (zh) | 视频处理方法及装置 | |
CN114466109B (zh) | 一种基于高拍仪的图像处理方法、终端设备和介质 | |
CN112995711B (zh) | 一种web前端视频的分帧与图片处理合成方法及系统 | |
CN113938690B (zh) | 视频编码方法、装置、电子设备及存储介质 | |
CN116456087A (zh) | 自适应环路滤波的参数确定方法及相关设备 | |
US20240290060A1 (en) | Image processing method and apparatus | |
CN112911186A (zh) | 图像存储方法及装置、电子设备、存储介质 | |
CN116886984A (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 |