CN116980627A - 用于解码的视频滤波方法、装置、电子设备及存储介质 - Google Patents
用于解码的视频滤波方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116980627A CN116980627A CN202310845545.1A CN202310845545A CN116980627A CN 116980627 A CN116980627 A CN 116980627A CN 202310845545 A CN202310845545 A CN 202310845545A CN 116980627 A CN116980627 A CN 116980627A
- Authority
- CN
- China
- Prior art keywords
- filtering
- boundary
- boundaries
- video
- blocks
- 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
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 557
- 238000000034 method Methods 0.000 title claims abstract description 132
- 230000008569 process Effects 0.000 claims abstract description 73
- 230000015654 memory Effects 0.000 claims abstract description 28
- 238000013139 quantization Methods 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 31
- 238000011478 gradient descent method Methods 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 17
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 230000001131 transforming effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- 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/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/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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供了一种用于解码的视频滤波方法、装置、电子设备及存储介质,属于多媒体技术领域。方法包括:在对视频中任一视频帧内的任一视频块进行解码的过程中,将所述视频块划分为多个视频子块;对于任一所述视频子块中的任一边界,基于所述视频块的编码信息,确定所述边界的滤波参数;基于所述视频块中多个视频子块的边界的滤波参数,对所述多个视频子块的边界两侧的像素进行滤波,得到滤波后的所述视频块。上述方法使得在得到当前视频块的滤波参数之后,即可对当前视频块进行滤波,无需再从存储了多个视频块的滤波参数的内存中查找对应的滤波参数来对当前视频块进行滤波,减少了对滤波参数的读取过程的耗时,提高了视频的滤波效率。
Description
技术领域
本公开涉及多媒体技术领域,特别涉及一种用于解码的视频滤波方法、装置、电子设备及存储介质。
背景技术
随着多媒体技术的发展,视频能够通过网络进行传输。由于传输的一般都是编码后的视频,因此视频的接收端通常需要先对视频进行解码才能播放。视频编解码通常包括预测、变换、量化、重建以及环内滤波(In-Loop Filtering)等过程。其中,环内滤波是提高视频质量的有效工具,主要包含亮度映射与色度缩放、去方块滤波(De-Blocking Filter,DBF)、样点自适应补偿以及自适应环路滤波等。如何实现视频滤波是本领域研究的重点。
相关技术中,接收端在去方块滤波开启时,对于每一视频帧,都需要首先计算并存储当前视频帧中多个编码树单元(Coding Tree Unit,CTU)的滤波参数;然后,再基于每个编码树单元的滤波参数,对各个编码树单元进行滤波操作,从而基于滤波后的多个编码树单元,继续进行其他解码操作,以得到解码后的视频帧。
但是,上述技术方案中,对于每一视频帧,需要先将滤波参数以帧级为单位进行存储,后续对每一个编码树单元处理时,再在帧级内存中读取该编码树单元对应的滤波参数,由于帧级的内存开销较大,且后续访存效率低,对滤波参数的存储和读取过程耗时较大,因此导致视频的滤波效率低。
发明内容
本公开提供一种用于解码的视频滤波方法、装置、电子设备及存储介质,实现了将视频块中滤波参数的计算和滤波过程封装在一起的目的,使得在得到当前视频块的滤波参数之后,即可对当前视频块进行滤波,无需再从存储了多个视频块的滤波参数的内存中查找对应的滤波参数来对当前视频块进行滤波,减少了对滤波参数的存储和读取过程的耗时,能够提高后续访存效率,从而提高了视频的滤波效率。本公开的技术方案如下:
根据本公开实施例的一方面,提供一种用于解码的视频滤波方法,所述方法包括:
在对视频中任一视频帧内的任一视频块进行解码的过程中,将所述视频块划分为多个视频子块;
对于任一所述视频子块中的任一边界,基于所述视频块的编码信息,确定所述边界的滤波参数;
基于所述视频块中多个视频子块的边界的滤波参数,对所述多个视频子块的边界两侧的像素进行滤波,得到滤波后的所述视频块。
根据本公开实施例的另一方面,提供一种解码的视频滤波装置,所述装置包括:
划分单元,被配置为执行在对视频中任一视频帧内的任一视频块进行解码的过程中,将所述视频块划分为多个视频子块;
第一确定单元,被配置为执行对于任一所述视频子块中的任一边界,基于所述视频块的编码信息,确定所述边界的滤波参数;
滤波单元,被配置为执行基于所述视频块中多个视频子块的边界的滤波参数,对所述多个视频子块的边界两侧的像素进行滤波,得到滤波后的所述视频块。
在一些实施例中,所述滤波单元,包括:
处理子单元,被配置为执行基于所述视频块中所述多个视频子块的边界的边界强度,从所述多个视频子块的边界中过滤掉多个第一边界,得到多个第二边界,所述第一边界用于表示无需对边界两侧的像素进行滤波的边界;
确定子单元,被配置为执行基于所述多个第二边界的滤波参数中的边界强度和量化参数,确定所述多个第二边界的滤波方式;
滤波子单元,被配置为执行基于所述多个第二边界的滤波方式,对所述多个第二边界两侧的像素分别进行滤波,得到滤波后的所述视频块。
在一些实施例中,边界的边界强度包括0,1和2三种情况,0用于表示对应的边界无需进行滤波处理;
所述装置还包括:
存储单元,被配置为执行以2bit的形式存储边界的边界强度,其中,00用于表示边界的边界强度等于0,01用于表示边界的边界强度等于1,11用于表示边界的边界强度等于2。
在一些实施例中,所述处理子单元,被配置为执行采用计数尾随零指令,检测所述多个视频子块的边界的滤波参数中的边界强度,从所述多个视频子块的边界中过滤掉多个第一边界,得到多个第三边界;对所述多个第三边界进行进一步筛选,得到所述多个第二边界。
在一些实施例中,所述处理子单元,被配置为执行每次遍历目标数量的第三边界,所述目标数量用于表示能够并行处理的最大边界数量;对于任一次遍历,检测当前遍历中所述目标数量的第三边界中是否存在边界强度为零的边界;在所述目标数量的第三边界中存在边界强度为零的边界的情况下,采用梯度下降法,从所述目标数量的第三边界中过滤掉边界强度为零的边界,得到所述多个第二边界。
在一些实施例中,所述处理子单元,被配置为执行在所述目标数量的第三边界中存在边界强度为零的边界的情况下,将检测范围缩小为所述目标数量的一半,再次进行检测;在找到边界强度为零的边界的情况下,过滤掉边界强度为零的边界,得到所述多个第二边界。
在一些实施例中,所述确定子单元,包括:
第一确定子子单元,被配置为执行基于单指令流多数据流,确定单次进行滤波决策的边界数量为目标数量,所述滤波决策用于表示确定边界的滤波方式的过程,所述目标数量用于表示能够并行处理的最大边界数量;
第二确定子子单元,被配置为执行在滤波决策过程中,对于所述目标数量的第二边界中的任一第二边界,基于所述第二边界的滤波参数中的边界强度和量化参数,确定所述第二边界的滤波方式。
在一些实施例中,所述第二确定子子单元,被配置为执行对于所述目标数量的第二边界中的任一第二边界,基于所述第二边界的量化参数,确定滤波阈值;在所述第二边界的纹理度小于所述滤波阈值的情况下,确定所述第二边界需要进行滤波,所述纹理度用于表示对应边界的两侧的像素变化率;基于所述第二边界的滤波参数中的边界强度,确定滤波强度阈值;基于所述滤波强度阈值,确定所述第二边界的滤波方式。
在一些实施例中,所述第二确定子子单元,被配置为执行基于所述第二边界的最大滤波长度,确定所述第二边界的滤波范围,所述滤波范围用于表示对所述第二边界两侧的像素进行滤波时所采用的像素的多少;在第二边界的滤波范围指示需要对所述第二边界两侧的像素进行短抽头滤波的情况下,基于所述滤波强度阈值,确定所述第二边界的滤波强度,所述滤波强度用于表示滤波后的像素相比于滤波前的像素的修正范围。
在一些实施例中,所述装置还包括:
第二确定单元,被配置为执行在所述边界位于所述视频块中变换单元的公共边的情况下,基于所述边界的滤波参数,确定位于所述公共边处其他边界的滤波参数,所述变换单元基于所述编码信息确定,所述公共边指的是两个变换单元共有的边。
在一些实施例中,所述滤波单元,被配置为执行基于单指令流多数据流,对位于所述变换单元的公共边的多个边界的滤波决策并行处理,得到所述多个边界的滤波方式,所述滤波决策用于表示确定边界的滤波方式的过程;基于所述单指令流多数据流和所述多个边界的滤波方式,对所述多个边界并行滤波。
根据本公开实施例的另一方面,提供一种电子设备,该电子设备包括:
一个或多个处理器;
用于存储该处理器可执行程序代码的存储器;
其中,该处理器被配置为执行该程序代码,以实现上述用于解码的视频滤波方法。
根据本公开实施例的另一方面,提供一种计算机可读存储介质,当该计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述用于解码的视频滤波方法。
根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述用于解码的视频滤波方法。
本公开实施例提供了一种用于解码的视频滤波方法,在对视频中的任一视频帧进行解码的过程中,能够以视频块为单位进行处理,具体地,在对视频帧中的任一视频块进行解码时,通过将视频块划分为多个视频子块,然后根据视频块的编码信息,计算多个视频子块的边界的滤波参数,之后根据多个视频子块的边界的滤波参数,对多个视频子块的边界两侧的像素进行滤波,以得到滤波后的视频块,实现了将视频块中滤波参数的计算和滤波过程封装在一起的目的,使得在得到当前视频块的滤波参数之后,即可对当前视频块进行滤波,无需再从存储了多个视频块的滤波参数的内存中查找对应的滤波参数来对当前视频块进行滤波,减少了对滤波参数的存储和读取过程的耗时,能够提高后续访存效率,从而提高了视频的滤波效率;并且,由于对视频块进行滤波之后,视频块的滤波参数失去作用,因此再对下一个视频块进行滤波的过程中,能够将下一个视频块的滤波参数直接覆盖掉之前视频块的滤波参数来存储,无需相继存储整个视频帧中多个视频块的滤波参数,实现了将滤波参数以视频帧为单位进行存储,优化为以视频块为单位进行存储的目的,从而能够减少存储滤波参数所占用的内存空间,节约成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种用于解码的视频滤波方法的实施环境示意图。
图2是根据一示例性实施例示出的一种用于解码的视频滤波方法的流程图。
图3是根据一示例性实施例示出的另一种用于解码的视频滤波方法的流程图。
图4是根据一示例性实施例示出的一种色度分量存储方式的示意图。
图5是根据一示例性实施例示出的一种针对亮度分量进行滤波的示意图。
图6是根据一示例性实施例示出的一种针对色度分量进行滤波的示意图。
图7是根据一示例性实施例示出的一种用于解码的视频滤波装置的框图。
图8是根据一示例性实施例示出的另一种用于解码的视频滤波装置的框图。
图9是根据一示例性实施例示出的一种终端的框图。
图10是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本公开中涉及到的视频都是在充分授权的情况下获取的。
图1是根据一示例性实施例示出的一种用于解码的视频滤波方法的实施环境示意图。以电子设备被提供为服务器为例,参见图1,该实施环境具体包括:终端101和服务器102。
终端101为智能手机、智能手表、台式电脑、手提电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4播放器(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)和膝上型便携计算机等设备中的至少一种。终端101上运行有支持视频解码的应用程序。该应用程序可以是多媒体类应用程序、社交类应用程序或者会议类应用程序等,本公开实施例对此不加以限定。用户能够通过终端101登录该应用程序来获取该应用程序提供的服务。终端101能够通过无线网络或有线网络与服务器102相连,进而能够将从服务器102中获取视频。然后,终端101能够对视频进行解码,从而播放解码后的视频。
终端101泛指多个终端中的一个,本实施例以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以为几个,或者上述终端为几十个或几百个,或者更多数量,本公开实施例对终端的数量和设备类型均不加以限定。
服务器102为一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器102能够通过无线网络或有线网络与终端101和其他终端相连,服务器102能够向终端101发送视频,或者接收终端101发送的视频。在一些实施例中,上述服务器的数量可以更多或更少,本公开实施例对此不加以限定。当然,服务器102还包括其他功能服务器,以便提供更全面且多样化的服务。
图2是根据一示例性实施例示出的一种用于解码的视频滤波方法的流程图,参见图2,该用于解码的视频滤波方法应用于终端中,包括以下步骤:
在步骤201中,在对视频中任一视频帧内的任一视频块进行解码的过程中,终端将视频块划分为多个视频子块。
在本公开实施例中,视频块指的是视频中的编码树单元(Coding Tree Unit,CTU)。由于视频中的每个视频帧都是基于对多个视频块进行编码得到,因此,在对视频帧进行解码的过程中,终端能够对视频帧中的多个视频块分别进行解码。在对任一视频块进行解码的过程中,终端能够将该视频块划分为多个视频子块。终端后续能够基于多个视频子块对视频帧进行滤波。视频子块的大小用于反映对视频块进行滤波的粒度。本公开实施例对视频子块的大小不进行限制。
在步骤202中,对于任一视频子块中的任一边界,终端基于视频块的编码信息,确定边界的滤波参数。
在本公开实施例中,视频块的编码信息包括编码参数和视频内容。编码参数包括视频块的编码划分方式和量化参数(Quantization Parameter,QP)。编码划分方式包括视频编码过程中视频块内编码单元(Coding Unit,CU)的划分方式和变换单元(TransformUnit,TU)的划分方式。终端能够根据视频块的视频块的编码信息,确定视频块中多个边界的滤波参数。对于视频块中的任一边界,该边界的滤波参数能够指示对该边界两侧的像素进行滤波的滤波方式。
在步骤203中,终端基于视频块中多个视频子块的边界的滤波参数,对多个视频子块的边界两侧的像素进行滤波,得到滤波后的视频块。
在本公开实施例中,对于视频帧中任一视频频子块中的任一边界,终端能够基于该边界的滤波参数,确定该边界的滤波方式。然后,终端基于边界的滤波方式,对该边界两侧的像素进行滤波。在对多个边界的两侧的像素分别进行滤波后,终端得到滤波后的视频块。然后,终端基于多个滤波后的视频块,得到滤波后的视频帧。
本公开实施例提供的方案,在对视频中的任一视频帧进行解码的过程中,能够以视频块为单位进行处理,具体地,在对视频帧中的任一视频块进行解码时,通过将视频块划分为多个视频子块,然后根据视频块的编码信息,计算多个视频子块的边界的滤波参数,之后根据多个视频子块的边界的滤波参数,对多个视频子块的边界两侧的像素进行滤波,以得到滤波后的视频块,实现了将视频块中滤波参数的计算和滤波过程封装在一起的目的,使得在得到当前视频块的滤波参数之后,即可对当前视频块进行滤波,无需再从存储了多个视频块的滤波参数的内存中查找对应的滤波参数来对当前视频块进行滤波,减少了对滤波参数的存储和读取过程的耗时,能够提高后续访存效率,从而提高了视频的滤波效率;并且,由于对视频块进行滤波之后,视频块的滤波参数失去作用,因此再对下一个视频块进行滤波的过程中,能够将下一个视频块的滤波参数直接覆盖掉之前视频块的滤波参数来存储,无需相继存储整个视频帧中多个视频块的滤波参数,实现了将滤波参数以视频帧为单位进行存储,优化为以视频块为单位进行存储的目的,从而能够减少存储滤波参数所占用的内存空间,节约成本。
在一些实施例中,基于视频块中多个视频子块的边界的滤波参数,对多个视频子块的边界进行滤波,得到滤波后的视频块,包括:
基于视频块中多个视频子块的边界的边界强度,从多个视频子块的边界中过滤掉多个第一边界,得到多个第二边界,第一边界用于表示无需对边界两侧的像素进行滤波的边界;
基于多个第二边界的滤波参数中的边界强度和量化参数,确定多个第二边界的滤波方式;
基于多个第二边界的滤波方式,对多个第二边界两侧的像素分别进行滤波,得到滤波后的视频块。
本公开实施例提供的方案,在对于任一视频块进行滤波的过程中,通过视频块中多个视频子块的边界的边界强度,从多个视频子块的边界中过滤掉无需进行滤波的边界,避免后续对某些边界两侧的像素进行无用的滤波处理,能够在保证视频质量的情况下,减少滤波操作,从而提高滤波效率;并且,对于筛选出的各个第二边界,能够根据滤波参数中的边界强度和量化参数,对各个第二边界进一步分析,以确定各个第二边界的滤波方式,从而进行滤波,使得针对于不同的边界,根据边界的自身的边界强度和量化参数来进行滤波,能够提高滤波质量。
在一些实施例中,边界的边界强度包括0,1和2三种情况,0用于表示对应的边界无需进行滤波处理;
方法还包括:
以2bit的形式存储边界的边界强度,其中,00用于表示边界的边界强度等于0,01用于表示边界的边界强度等于1,11用于表示边界的边界强度等于2。
本公开实施例提供的方案,采用2bit的形式存储边界的边界强度,相比于现有技术中通过字节的形式来存储边界强度方案,数据更加简单,能够节省边界强度的存储空间;并且,在后续基于边界强度来进行滤波的过程中,采用更加简单的数据来处理,能够提高滤波的效率。
在一些实施例中,基于视频块中多个视频子块的边界的边界强度,从多个视频子块的边界中过滤掉多个第一边界,得到多个第二边界,包括:
采用计数尾随零指令,检测多个视频子块的边界的滤波参数中的边界强度,从多个视频子块的边界中过滤掉多个第一边界,得到多个第三边界;
对多个第三边界进行进一步筛选,得到多个第二边界。
本公开实施例提供的方案,由于计数尾随零指令是一种计算二进制拖尾零数量的指令,能够快速检测边界强度为零的边界,通过计数尾随零指令来检测多个视频子块的边界的滤波参数中的边界强度,能够快速过滤掉边界强度为零的边界,也即是,能够快速过滤掉无需进行滤波的边界,能够较快地进入后续的滤波过程,从整体上提高滤波效率;并且,由于计数尾随零指令不一定能够将边界强度为零的边界过滤完全,通过对多个第三边界进行进一步筛选,得到多个第二边界,能够更增加准确地过滤掉所有无需进行滤波的边界,利于在保证视频质量的情况下,减少后续滤波操作,从而提高滤波效率。
在一些实施例中,对多个第三边界进行进一步筛选,得到多个第二边界,包括:
每次遍历目标数量的第三边界,目标数量用于表示能够并行处理的最大边界数量;
对于任一次遍历,检测当前遍历中目标数量的第三边界中是否存在边界强度为零的边界;
在目标数量的第三边界中存在边界强度为零的边界的情况下,采用梯度下降法,从目标数量的第三边界中过滤掉边界强度为零的边界,得到多个第二边界。
本公开实施例提供的方案,在对多个视频子块的边界进行进一步筛选过程中,每次最多能够并行检测目标数量的第三边界中是否存在边界强度为零的边界,能够提高边界的检测效率;并且,在目标数量的第三边界中存在边界强度为零的边界的情况下,通过梯度下降法,逐渐检测边界强度为零的边界的位置,从而能够更加准确地滤掉所有无需进行滤波的边界,利于在保证视频质量的情况下,减少后续滤波操作,从而提高滤波效率。
在一些实施例中,在目标数量的第三边界中存在边界强度为零的边界的情况下,采用梯度下降法,从目标数量的第三边界中过滤掉边界强度为零的边界,得到多个第二边界,包括:
在目标数量的第三边界中存在边界强度为零的边界的情况下,将检测范围缩小为目标数量的一半,再次进行检测;
在找到边界强度为零的边界的情况下,过滤掉边界强度为零的边界,得到多个第二边界。
本公开实施例提供的方案,在检测到目标数量的第三边界中存在边界强度为零的边界的情况下,根据梯度下降法,逐渐减小检测范围再次进行检测,以确定边界强度为零的边界的位置,从而能够更加准确地滤掉所有无需进行滤波的边界,利于在保证视频质量的情况下,减少后续滤波操作,从而提高滤波效率。
在一些实施例中,基于多个第二边界的滤波参数中的边界强度和量化参数,确定多个第二边界的滤波方式,包括:
基于单指令流多数据流,确定单次进行滤波决策的边界数量为目标数量,滤波决策用于表示确定边界的滤波方式的过程,目标数量用于表示能够并行处理的最大边界数量;
在滤波决策过程中,对于目标数量的第二边界中的任一第二边界,基于第二边界的滤波参数中的边界强度和量化参数,确定第二边界的滤波方式。
本公开实施例提供的方案,采用单指令流多数据流,能够对目标数量的边界进行并行处理,也即是同时对目标数量的边界进行滤波决策,以便能够同时得到目标数量的边界滤波方式,能够提高滤波决策的效率,从而能够提高视频的滤波效率。
在一些实施例中,对于目标数量的第二边界中的任一第二边界,基于第二边界的滤波参数中的边界强度和量化参数,确定第二边界的滤波方式,包括:
对于目标数量的第二边界中的任一第二边界,基于第二边界的量化参数,确定滤波阈值;
在第二边界的纹理度小于滤波阈值的情况下,确定第二边界需要进行滤波,纹理度用于表示对应边界的两侧的像素变化率;
基于第二边界的滤波参数中的边界强度,确定滤波强度阈值;
基于滤波强度阈值,确定第二边界的滤波方式。
本公开实施例提供的方案,在决策任一边界的滤波方式的过程中,根据该边界的量化参数,确定边界的滤波阈值,将边界的两侧的像素变化率与边界的滤波阈值进行比对,使得能够更加精准地分析出该边界是否需要滤波,利于在保证视频质量的情况下,减少后续滤波操作,从而提高滤波效率;在边界的两侧的像素变化率小于边界的滤波阈值的情况下,确定边界的滤波强度阈值,以便后续根据滤波强度阈值确定边界的滤波方式,使得滤波方式更加准确,能够提高滤波质量。
在一些实施例中,基于滤波强度阈值,确定第二边界的滤波方式,包括:
基于第二边界的最大滤波长度,确定第二边界的滤波范围,滤波范围用于表示对第二边界两侧的像素进行滤波时所采用的像素的多少;
在第二边界的滤波范围指示需要对第二边界两侧的像素进行短抽头滤波的情况下,基于滤波强度阈值,确定第二边界的滤波强度,滤波强度用于表示滤波后的像素相比于滤波前的像素的修正范围。
本公开实施例提供的方案,根据边界的最大滤波长度,确定对边界两侧的像素进行滤波时所采用的像素的范围,在需要对第二边界两侧的像素进行短抽头滤波的情况下,也即是在需要对边界两侧的像素进行滤波时所采用的像素的范围较小时,能够根据滤波强度阈值,更加精细地确定边界的滤波强度,以便后续能够根据边界的滤波强度对边界两侧的像素进行滤波,能够提高滤波质量。
在一些实施例中,对于任一视频子块中的任一边界,基于视频块的编码信息,确定边界的滤波参数之后,方法还包括:
在边界位于视频块中变换单元的公共边的情况下,基于边界的滤波参数,确定位于公共边处其他边界的滤波参数,变换单元基于编码信息确定,公共边指的是两个变换单元共有的边。
本公开实施例提供的方案,由于位于同一个变换单元的公共边的边界的滤波参数相同,在确定该公共边处任一边界的滤波参数之后,能够直接确定该公共边处其他边界的滤波参数,无需再进行计算,操作简单,能够提高视频滤波效率。
在一些实施例中,方法还包括:
基于单指令流多数据流,对位于变换单元的公共边的多个边界的滤波决策并行处理,得到多个边界的滤波方式,滤波决策用于表示确定边界的滤波方式的过程;
基于单指令流多数据流和多个边界的滤波方式,对多个边界并行滤波。
本公开实施例提供的方案,采用单指令流多数据流,直接位于同一个公共边的目标数量的边界进行并行处理,也即是同时对目标数量的边界进行滤波决策,以便能够同时得到目标数量的边界滤波方式,能够提高滤波决策的效率,从而能够提高视频的滤波效率;并且,在确定位于同一个公共边的边界的滤波参数后,能够直接对位于同一个公共边的多个边界进行并行处理,无需存储边界的滤波参数,避免了对滤波参数的存储和读取,节省内存开销,节省了参数访存时间,从而也能够提高视频滤波效率。
上述图2所示仅为本公开的基本流程,下面基于一种具体实现方式,来对本公开提供的方案进行进一步阐述,图3是根据一示例性实施例示出的另一种用于解码的视频滤波方法的流程图。以电子设备被提供为终端为例,参见图3,该方法包括:
在步骤301中,在对视频中任一视频帧内的任一视频块进行解码的过程中,终端将视频块划分为多个视频子块。
在本公开实施例中,在对任一视频块进行解码的过程中,终端能够将该视频块划分为多个视频子块。终端后续能够基于多个视频子块对视频帧进行滤波,以降低或者消除视频帧中的方块效应。也即是,本公开实施例提供的滤波方法可以看作是一种新颖的去方块滤波(De-Blocking Filter,DBF)的方法。其中,方块效应指的是视频帧由于失真而造成的编码边界不连续而在视觉上产生“一块一块”的效果。也即是,由于现在的编码技术都是基于块的编码,不同块的预测、变换以及量化等过程相互独立,从而引入的量化误差大小及分布也相互独立,进而造成方块效应。视频子块的大小用于反映对视频块进行滤波的粒度。本公开实施例对视频子块的大小不进行限制。例如,视频子块的尺寸为4*4。终端后续基于多个视频子块的边界,对边界两侧的像素进行滤波,以实现对视频帧的滤波。视频子块的边界可以称为滤波边界。
在步骤302中,对于任一视频子块中的任一边界,终端基于视频块的编码信息,确定边界的滤波参数。
在本公开实施例中,在对视频块进行滤波的过程中,终端能够针对视频块的亮度分量和色度分量分别进行滤波。也即是,终端可以基于关于亮度分量的编码信息,确定边界的亮度滤波参数,以便后续基于亮度滤波参数,对边界两侧的像素中的亮度分量进行滤波。终端可以基于关于色度分量的编码信息,确定边界的色度滤波参数,以便后续基于色度滤波参数,对边界两侧的像素中的色度分量进行滤波。在对任一种分量进行滤波的过程中,对于任一视频子块中的任一边界,边界的滤波参数包括边界强度(Boundary Strength,BS)和量化参数。终端能够基于视频块的编码参数和视频内容,确定多个视频子块的边界的滤波参数。对于任一边界,终端能够基于该边界两侧的视频子块的编码参数和视频内容等编码信息,确定该边界的边界强度和量化参数等滤波参数。
其中,对于任一边界,终端可以根据该边界两侧的视频子块的编码方式、变换系数、运动矢量以及参考帧等情况,确定该边界的边界强度。边界强度能够用于指示对应的边界是否需要进行滤波。边界的边界强度包括0,1和2三种情况。0用于表示对应的边界无需进行滤波处理。对于边界强度为1或者2的边界,还需要进一步分析,才可以确定是否需要进行滤波处理以及所需的滤波方式等信息。终端对边界强度的存储方式不加以限定。
在一些实施例中,终端以2bit的形式存储边界的边界强度。该边界指的是视频子块的边界。也即是,以视频子块的边界为基本单位,采用2bit的形式存储边界强度。其中,00用于表示边界的边界强度等于0,01用于表示边界的边界强度等于1,11用于表示边界的边界强度等于2。相应地,对于大小为128*128的视频块,其每一条水平或垂直的边界的边界强度都可以用一个64bit的二进制数据进行存储。本公开实施例提供的方案,采用2bit的形式存储边界的边界强度,相比于现有技术中通过多字节的形式来存储边界强度方案,数据更加简单,能够节省边界强度的存储空间;并且,在后续基于边界强度来进行滤波的过程中,采用更加简单的数据来处理,能够提高滤波的效率。
对于任一边界,终端可以根据该边界两侧的视频子块的量化参数,确定该边界的量化参数。本公开实施例对边界的量化参数的确定方式不进行限制。可选地,终端可以对边界两侧的视频子块的量化参数进行加权求和,来确定该边界的量化参数。本公开实施例对视频子块的权重不加以限定。
在一些实施例中,在计算多个视频子块的边界的过程中,处于同一个公共边的边界的滤波参数相同。公共边可以是变换单元的公共边或者是编码单元的公共边,本公开实施例对此不加以限定。以公共边是变换单元的公共边为例,在边界位于视频块中变换单元的公共边的情况下,基于边界的滤波参数,确定位于公共边处其他边界的滤波参数,变换单元基于编码信息确定。公共边指的是两个变换单元共有的边。例如,对于色度分量,终端可以遍历视频块中的每一条变换单元的公共边。然后,终端计算每一条变换单元的公共边的滤波参数,从而得到位于该变换单元的公共边处的多个边界的滤波参数。“多个边界”中的边界指的是视频子块的边界。本公开实施例提供的方案,由于位于同一个变换单元的公共边的边界的滤波参数相同,在确定该公共边处任一边界的滤波参数之后,能够直接确定该公共边处其他边界的滤波参数,无需再进行计算,操作简单,能够提高视频滤波效率。
在步骤303中,终端基于视频块中多个视频子块的边界的边界强度,从多个视频子块的边界中过滤掉多个第一边界,得到多个第二边界,第一边界用于表示无需对边界两侧的像素进行滤波的边界。
在本公开实施例中,终端基于视频块中多个视频子块的边界的边界强度,从多个视频子块的边界中过滤掉边界强度为零的边界,得到多个第二边界。本公开实施例对边界的过滤方式不加以限定。
在一些实施例中,终端可以采用计数尾随零指令(Count Trailing Zeroes,CTZ),来过滤边界强度为零的边界。相应地,终端采用计数尾随零指令,检测多个视频子块的边界的滤波参数中的边界强度,从多个视频子块的边界中过滤掉多个第一边界,得到多个第三边界。然后,终端对多个第三边界进行进一步筛选,得到多个第二边界。本公开实施例提供的方案,由于计数尾随零指令是一种计算二进制拖尾零数量的指令,能够快速检测边界强度为零的边界,通过计数尾随零指令来检测多个视频子块的边界的滤波参数中的边界强度,能够快速过滤掉边界强度为零的边界,也即是,能够快速过滤掉无需进行滤波的边界,能够较快地进入后续的滤波过程,从整体上提高滤波效率;并且,由于计数尾随零指令不一定能够将边界强度为零的边界过滤完全,通过对多个第三边界进行进一步筛选,得到多个第二边界,能够更增加准确地过滤掉所有无需进行滤波的边界,利于在保证视频质量的情况下,减少后续滤波操作,从而提高滤波效率。
在一些实施例中,为了确保终端能够过滤掉所有的边界强度为零的边界,终端还可以在上述过滤出的多个第三边界的基础上,进行进一步筛选,相应地,终端对多个第三边界进行进一步筛选,得到多个第二边界的过程,包括:终端每次遍历目标数量的第三边界。然后,对于任一次遍历,终端检测当前遍历中目标数量的第三边界中是否存在边界强度为零的边界。在目标数量的第三边界中存在边界强度为零的边界的情况下,终端采用梯度下降法,从目标数量的第三边界中过滤掉边界强度为零的边界,得到多个第二边界。本公开实施例提供的方案,在对多个视频子块的边界进行进一步筛选过程中,采用梯度下降法,每次最多能够并行检测目标数量的第三边界中是否存在边界强度为零的边界,能够提高边界的检测效率;并且,在目标数量的第三边界中存在边界强度为零的边界的情况下,逐渐检测边界强度为零的边界的位置,从而能够更加准确地滤掉所有无需进行滤波的边界,利于在保证视频质量的情况下,减少后续滤波操作,从而提高滤波效率。
其中,目标数量用于表示能够并行处理的最大边界数量。对于亮度分量而言,目标数量等于4。也即是,在对亮度分量的滤波过程中,终端可以每次最多检测4条边界中是否存在边界强度为零的边界。对于色度分量而言,由于每个色度分量包括U分量和V分量这两个分量,因此目标数量等于2。也即是,在对色度分量的滤波过程中,终端可以每次最多检测2条边界中是都存在边界强度为零的边界。
由于U分量和V分量在视频帧存储中采用的是交替存储的方式,且同一位置处的U分量和V分量的滤波参数相同,因此对于同一位置处的色度分量,本公开实施例提供的方案也可以同时并行处理U分量和V分量,以提升并行处理能力。例如,图4是根据一示例性实施例示出的一种色度分量存储方式的示意图。参见图4,U分量和V分量在视频帧存储中采用的是交替存储的方式。终端采用单指令流多数据流每次最多处理2条边界。
其一些实施例中,梯度下降法指的是逐渐减小所要处理的边界数量。相应地,在目标数量的第三边界中存在边界强度为零的边界的情况下,终端采用梯度下降法,从目标数量的第三边界中过滤掉边界强度为零的边界,得到多个第二边界的过程包括:在目标数量的第三边界中存在边界强度为零的边界的情况下,终端将检测范围缩小为目标数量的一半,再次进行检测。然后,在找到边界强度为零的边界的情况下,终端过滤掉边界强度为零的边界,得到多个第二边界。第二边界指的是边界强度不为零的视频子块的边界。本公开实施例提供的方案,在检测到目标数量的第三边界中存在边界强度为零的边界的情况下,根据梯度下降法,逐渐减小检测范围再次进行检测,以确定边界强度为零的边界的位置,从而能够更加准确地滤掉所有无需进行滤波的边界,利于在保证视频质量的情况下,减少后续滤波操作,从而提高滤波效率。
例如,在针对亮度分量的滤波过程中,终端能够先检测4条边界中是否存在边界强度为零的边界。在存在边界强度为零的边界的情况下,终端缩小检测范围。也即是,终端每次检测2条边界中是否存在边界强度为零的边界。在存在边界强度为零的边界的情况下,终端继续缩小检测范围。也即是,终端每次检测1条边界的边界强度是否为零。在4条边界中不存在边界强度为零的边界的情况下,终端可以继续针对这4条边界进行滤波决策和滤波操作。也即是,终端针对这4条边界,执行步骤304和步骤305。与此同时,终端还可以继续检测下一批的4条边界中是否存在边界强度为零的边界。由此可见,在针对亮度分量的滤波过程中,终端按照4、2、1的梯度下降法,遍历最大并行处理的边界强度非零的边界数量。在针对色度分量的滤波过程中,终端按照2条边界、1条边界的梯度下降法,遍历最大并行处理的边界强度非零的边界数量。
在步骤304中,终端基于多个第二边界的两侧像素值以及滤波参数中的边界强度和量化参数,确定多个第二边界的滤波方式。
在本公开实施例中,边界的滤波方式可以是长抽头滤波、短抽头强滤波或者短抽头弱滤波等,本公开实施例对此不加以限定。其中,“抽头”指的是进行滤波时所采用的边界两侧的像素。“长抽头”相比于“短抽头”所采用的边界两侧的像素较多。滤波的强弱指的是滤波后的像素相比于滤波前的像素的修正的大小。“强滤波”相比于“弱滤波”的像素修正范围校大。对于任一第二边界,终端基于该第二边界的两侧像素值以及滤波参数中的边界强度和量化参数,确定该第二边界的滤波方式。其中,在针对亮度分量的滤波过程中,终端基于第二边界的两侧像素值以及亮度滤波参数中的边界强度和量化参数,确定该第二边界的亮度滤波方式。在针对色度分量的滤波过程中,终端基于第二边界的两侧像素值以及色度滤波参数中的边界强度和量化参数,确定该第二边界的色度滤波方式。不同边界的滤波方式可以相同,也可以不同,本公开实施例对此不加以限定。
在一些实施例中,终端可以采用单指令流多数据流(Single InstructionMultiple Data,SIMD)来进行滤波决策。相应地,终端基于多个第二边界的滤波参数中的边界强度和量化参数,确定多个第二边界的滤波方式的过程包括:终端基于单指令流多数据流,确定单次进行滤波决策的边界数量为目标数量。然后,在滤波决策过程中,对于目标数量的第二边界中的任一第二边界,终端基于第二边界的滤波参数中的边界强度和量化参数,确定第二边界的滤波方式。其中,滤波决策用于表示确定边界的滤波方式的过程,目标数量用于表示能够并行处理的最大边界数量。本公开实施例提供的方案,采用单指令流多数据流,能够对目标数量的边界进行并行处理,也即是同时对目标数量的边界进行滤波决策,以便能够同时得到目标数量的边界滤波方式,能够提高滤波决策的效率,从而能够提高视频的滤波效率。
在一些实施例中,终端基于第二边界的滤波参数中的边界强度和量化参数,确定第二边界的滤波方式的过程包括:对于目标数量的第二边界中的任一第二边界,终端基于第二边界的量化参数,确定滤波阈值。在第二边界的纹理度小于滤波阈值的情况下,终端确定第二边界需要进行滤波。然后,终端基于第二边界的滤波参数中的边界强度,确定滤波强度阈值。然后,终端基于滤波强度阈值,确定第二边界的滤波方式。其中,纹理度用于表示对应边界的两侧的像素变化率。本公开实施例提供的方案,在决策任一边界的滤波方式的过程中,根据该边界的量化参数,确定边界的滤波阈值,将边界的两侧的像素变化率与边界的滤波阈值进行比对,使得能够更加精准地分析出该边界是否需要滤波,利于在保证视频质量的情况下,减少后续滤波操作,不仅能够提高滤波效率,而且也能够避免进行错误滤波,也即是某些边界是图像中物体的真实边界,若对物体的真实边界进行滤波,则会造成物体的边界模糊、失真等情况,相应地,本方案在边界的两侧的像素变化率小于边界的滤波阈值的情况下,确定边界的滤波强度阈值,以便后续根据滤波强度阈值确定边界的滤波方式,使得滤波方式更加准确,减少错误滤波,从而能够提高滤波质量。
其中,滤波阈值可以用β表示;滤波强度阈值可以用tc表示;本公开实施例对此不加以限定。滤波阈值和滤波强度阈值可以通过查关系表确定。关系表中包括边界的量化参数与滤波阈值和滤波强度阈值之间的对应关系。具体地,终端能够基于边界两侧的视频子块的量化参数,确定该边界的第一量化参数。然后,终端从关系表中找到与第一量化参数对应的滤波阈值,作为该边界的滤波参数。终端能够基于边界的边界强度,确定该边界的第二量化参数。然后,终端从关系表中找到与第二量化参数对应的滤波强度阈值,作为该边界的滤波强度阈值。
在一些实施例中,终端基于滤波强度阈值,确定第二边界的滤波方式的过程包括:终端基于第二边界的最大滤波长度,确定第二边界的滤波范围。滤波范围用于表示对第二边界两侧的像素进行滤波时所采用的像素的多少。然后,在第二边界的滤波范围指示需要对第二边界两侧的像素进行短抽头滤波的情况下,终端基于滤波强度阈值,确定第二边界的滤波强度,滤波强度用于表示滤波后的像素相比于滤波前的像素的修正范围。本公开实施例提供的方案,根据边界的最大滤波长度,确定对边界两侧的像素进行滤波时所采用的像素的范围,在需要对第二边界两侧的像素进行短抽头滤波的情况下,也即是在需要对边界两侧的像素进行滤波时所采用的像素的范围较小时,能够根据滤波强度阈值,更加精细地确定边界的滤波强度,以便后续能够根据边界的滤波强度对边界两侧的像素进行滤波,能够提高滤波质量。
图5是根据一示例性实施例示出的一种针对亮度分量进行滤波的示意图。参见图5,在对视频中任一视频帧内的任一视频块进行解码的过程中,终端将视频块划分为多个视频子块。然后,对于任一视频子块中的任一边界,终端基于视频块的编码信息,确定边界的滤波参数。然后,终端采用计数尾随零指令,来过滤边界强度为零的边界。然后,针对于边界强度非零的边界,终端基于梯度下降法确定能够并行处理的最大边界数量。然后,对于任一边界强度非零的边界,终端基于边界的量化参数确定滤波阈值β;基于边界的边界强度和量化参数确定滤波强度阈值tc。在边界的纹理度小于滤波阈值β的情况下,终端确定边界需要进行滤波;否则,边界无需进行滤波。在边界需要进行滤波的情况下,终端基于边界的最大滤波长度来进行长滤波决策,以确定对边界进行长滤波(长抽头滤波)还是进行短滤波(短抽头滤波)。具体地,在滤波阈值β和滤波强度阈值tc均满足条件的情况下,终端对对边界进行长滤波。否则,终端对边界进行短滤波。在确定对边界进行短滤波的情况下,终端基于滤波强度阈值,确定边界的滤波强度,以确定对边界进行强滤波还是短滤波。
图6是根据一示例性实施例示出的一种针对色度分量进行滤波的示意图。参见图6,终端可以遍历视频块中的每一条变换单元的公共边。然后,终端计算每一条变换单元的公共边的滤波参数,从而得到位于该变换单元的公共边处的多个边界的滤波参数。然后,针对于边界强度非零的边界,终端基于梯度下降法确定能够并行处理的最大边界数量。然后,对于任一边界强度非零的边界,终端基于边界的量化参数确定滤波阈值β;基于边界的边界强度确定滤波强度阈值tc。在边界的纹理度小于滤波阈值β的情况下,终端确定边界需要进行滤波;否则,边界无需进行滤波。在边界需要进行滤波的情况下,终端基于边界的最大滤波长度来进行长滤波决策,以确定对边界进行长滤波(长抽头滤波)还是进行短滤波(短抽头滤波)。在确定对边界进行短滤波的情况下,终端基于滤波强度阈值,确定边界的滤波强度,以确定对边界进行强滤波还是短滤波。
在步骤305中,终端基于多个第二边界的滤波方式,对多个第二边界两侧的像素分别进行滤波,得到滤波后的视频块。
在本公开实施例中,对于任一第二边界,终端基于该边界的针对于亮度分量的滤波方式,对该第二边界两侧的像素的亮度分量进行滤波。终端基于该边界的针对于色度分量的滤波方式,对该第二边界两侧的像素的色度分量进行滤波。终端可以并行处理针对于亮度分量的滤波过程和针对于色度分量的滤波过程。下面分别介绍一下亮度分量和色度分量的滤波过程。
在一些实施例中,针对于亮度分量,终端基于单指令流多数据流,对边界强度不为零的多个边界的滤波决策进行并行处理,得到多个边界的滤波方式。然后,终端基于单指令流多数据流和多个边界的滤波方式,对多个边界并行滤波。本公开实施例提供的方案,采用单指令流多数据流,直接对边界强度不为零的多个边界进行并行处理,能够提高滤波决策的效率;并且,无需再从存储了多个视频块的滤波参数的内存中查找对应的滤波参数来对当前视频块进行滤波,减少了对滤波参数的读取过程的耗时,从而能够提高视频的滤波效率。
在一些实施例中,针对于色度分量,终端基于单指令流多数据流,对位于变换单元的公共边的多个边界的滤波决策并行处理,得到多个边界的滤波方式。滤波决策用于表示确定边界的滤波方式的过程。然后,终端基于单指令流多数据流和多个边界的滤波方式,对多个边界并行滤波。本公开实施例提供的方案,采用单指令流多数据流,直接位于同一个公共边的目标数量的边界进行并行处理,也即是同时对目标数量的边界进行滤波决策,以便能够同时得到目标数量的边界滤波方式,能够提高滤波决策的效率,从而能够提高视频的滤波效率;并且,在确定位于同一个公共边的边界的滤波参数后,能够直接对位于同一个公共边的多个边界进行并行处理,无需存储边界的滤波参数,避免了对滤波参数的存储和读取,节省内存开销,节省了参数访存时间,从而也能够提高视频滤波效率。
本公开实施例提供的方案,在对视频中的任一视频帧进行解码的过程中,能够以视频块为单位进行处理,具体地,在对视频帧中的任一视频块进行解码时,通过将视频块划分为多个视频子块,然后根据视频块的编码信息,计算多个视频子块的边界的滤波参数,之后根据多个视频子块的边界的滤波参数,对多个视频子块的边界两侧的像素进行滤波,以得到滤波后的视频块,实现了将视频块中滤波参数的计算和滤波过程封装在一起的目的,使得在得到当前视频块的滤波参数之后,即可对当前视频块进行滤波,无需再从存储了多个视频块的滤波参数的内存中查找对应的滤波参数来对当前视频块进行滤波,减少了对滤波参数的存储和读取过程的耗时,能够提高后续访存效率,从而提高了视频的滤波效率;并且,由于对视频块进行滤波之后,视频块的滤波参数失去作用,因此再对下一个视频块进行滤波的过程中,能够将下一个视频块的滤波参数直接覆盖掉之前视频块的滤波参数来存储,无需相继存储整个视频帧中多个视频块的滤波参数,实现了将滤波参数以视频帧为单位进行存储,优化为以视频块为单位进行存储的目的,从而能够减少存储滤波参数所占用的内存空间,节约成本。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图7是根据一示例性实施例示出的一种用于解码的视频滤波装置的框图。参见图7,该用于解码的视频滤波装置包括:划分单元701、第一确定单元702以及滤波单元703。
划分单元701,被配置为执行在对视频中任一视频帧内的任一视频块进行解码的过程中,将视频块划分为多个视频子块;
第一确定单元702,被配置为执行对于任一视频子块中的任一边界,基于视频块的编码信息,确定边界的滤波参数;
滤波单元703,被配置为执行基于视频块中多个视频子块的边界的滤波参数,对多个视频子块的边界两侧的像素进行滤波,得到滤波后的视频块。
在一些实施例中,图8是根据一示例性实施例示出的另一种用于解码的视频滤波装置的框图。参见图8,滤波单元703,包括:
处理子单元7031,被配置为执行基于视频块中多个视频子块的边界的边界强度,从多个视频子块的边界中过滤掉多个第一边界,得到多个第二边界,第一边界用于表示无需对边界两侧的像素进行滤波的边界;
确定子单元7032,被配置为执行基于多个第二边界的滤波参数中的边界强度和量化参数,确定多个第二边界的滤波方式;
滤波子单元7033,被配置为执行基于多个第二边界的滤波方式,对多个第二边界两侧的像素分别进行滤波,得到滤波后的视频块。
在一些实施例中,边界的边界强度包括0,1和2三种情况,0用于表示对应的边界无需进行滤波处理;
继续参见图8,装置还包括:
存储单元704,被配置为执行以2bit的形式存储边界的边界强度,其中,00用于表示边界的边界强度等于0,01用于表示边界的边界强度等于1,11用于表示边界的边界强度等于2。
在一些实施例中,继续参见图8,处理子单元7031,被配置为执行采用计数尾随零指令,检测多个视频子块的边界的滤波参数中的边界强度,从多个视频子块的边界中过滤掉多个第一边界,得到多个第三边界;对多个第三边界进行进一步筛选,得到多个第二边界。
在一些实施例中,继续参见图8,处理子单元7031,被配置为执行每次遍历目标数量的第三边界,目标数量用于表示能够并行处理的最大边界数量;对于任一次遍历,检测当前遍历中目标数量的第三边界中是否存在边界强度为零的边界;在目标数量的第三边界中存在边界强度为零的边界的情况下,采用梯度下降法,从目标数量的第三边界中过滤掉边界强度为零的边界,得到多个第二边界。
在一些实施例中,继续参见图8,处理子单元7031,被配置为执行在目标数量的第三边界中存在边界强度为零的边界的情况下,将检测范围缩小为目标数量的一半,再次进行检测;在找到边界强度为零的边界的情况下,过滤掉边界强度为零的边界,得到多个第二边界。
在一些实施例中,继续参见图8,确定子单元7032,包括:
第一确定子子单元70321,被配置为执行基于单指令流多数据流,确定单次进行滤波决策的边界数量为目标数量,滤波决策用于表示确定边界的滤波方式的过程,目标数量用于表示能够并行处理的最大边界数量;
第二确定子子单元70322,被配置为执行在滤波决策过程中,对于目标数量的第二边界中的任一第二边界,基于第二边界的滤波参数中的边界强度和量化参数,确定第二边界的滤波方式。
在一些实施例中,继续参见图8,第二确定子子单元70322,被配置为执行对于目标数量的第二边界中的任一第二边界,基于第二边界的量化参数,确定滤波阈值;在第二边界的纹理度小于滤波阈值的情况下,确定第二边界需要进行滤波,纹理度用于表示对应边界的两侧的像素变化率;基于第二边界的滤波参数中的边界强度,确定滤波强度阈值;基于滤波强度阈值,确定第二边界的滤波方式。
在一些实施例中,继续参见图8,第二确定子子单元70322,被配置为执行基于第二边界的最大滤波长度,确定第二边界的滤波范围,滤波范围用于表示对第二边界两侧的像素进行滤波时所采用的像素的多少;在第二边界的滤波范围指示需要对第二边界两侧的像素进行短抽头滤波的情况下,基于滤波强度阈值,确定第二边界的滤波强度,滤波强度用于表示滤波后的像素相比于滤波前的像素的修正范围。
在一些实施例中,继续参见图8,装置还包括:
第二确定单元705,被配置为执行在边界位于视频块中变换单元的公共边的情况下,基于边界的滤波参数,确定位于公共边处其他边界的滤波参数,变换单元基于编码信息确定,公共边指的是两个变换单元共有的边。
在一些实施例中,滤波单元703,被配置为执行基于单指令流多数据流,对位于变换单元的公共边的多个边界的滤波决策并行处理,得到多个边界的滤波方式,滤波决策用于表示确定边界的滤波方式的过程;基于单指令流多数据流和多个边界的滤波方式,对多个边界并行滤波。
本公开实施例提供了一种用于解码的视频滤波装置,在对视频中的任一视频帧进行解码的过程中,能够以视频块为单位进行处理,具体地,在对视频帧中的任一视频块进行解码时,通过将视频块划分为多个视频子块,然后根据视频块的编码信息,计算多个视频子块的边界的滤波参数,之后根据多个视频子块的边界的滤波参数,对多个视频子块的边界两侧的像素进行滤波,以得到滤波后的视频块,实现了将视频块中滤波参数的计算和滤波过程封装在一起的目的,使得在得到当前视频块的滤波参数之后,即可对当前视频块进行滤波,无需再从存储了多个视频块的滤波参数的内存中查找对应的滤波参数来对当前视频块进行滤波,减少了对滤波参数的存储和读取过程的耗时,能够提高后续访存效率,从而提高了视频的滤波效率;并且,由于对视频块进行滤波之后,视频块的滤波参数失去作用,因此再对下一个视频块进行滤波的过程中,能够将下一个视频块的滤波参数直接覆盖掉之前视频块的滤波参数来存储,无需相继存储整个视频帧中多个视频块的滤波参数,实现了将滤波参数以视频帧为单位进行存储,优化为以视频块为单位进行存储的目的,从而能够减少存储滤波参数所占用的内存空间,节约成本。
需要说明的是,上述实施例提供的用于解码的视频滤波装置在对视频进行滤波时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将电子设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的用于解码的视频滤波装置与用于解码的视频滤波方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
电子设备可以被提供为终端或者服务器,当电子设备被提供为终端时,可以由该终端实现用于解码的视频滤波方法所执行的操作;当被提供为服务器时,可以由该服务器实现用于解码的视频滤波方法所执行的操作;也可以由该服务器和终端交互来实现用于解码的视频滤波方法所执行的操作,本公开实施例对此不进行限制。
电子设备被提供为终端时,图9是根据一示例性实施例示出的一种终端900的框图。该终端图9示出了本公开一个示例性实施例提供的终端900的结构框图。该终端900可以是:智能手机、平板电脑、MP3播放器、MP4播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器901所执行以实现本公开中方法实施例提供的用于解码的视频滤波方法。
在一些实施例中,终端900还可选包括有:***设备接口903和至少一个***设备。处理器901、存储器902和***设备接口903之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口903相连。具体地,***设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907和电源908中的至少一种。
***设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和***设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和***设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
电源908用于为终端900中的各个组件进行供电。电源908可以是交流电、直流电、一次性电池或可充电电池。当电源908包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器909。该一个或多个传感器909包括但不限于:加速度传感器910、陀螺仪传感器911、压力传感器912、光学传感器913以及接近传感器914。
加速度传感器910可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器910可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器910采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器910还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器911可以检测终端900的机体方向及转动角度,陀螺仪传感器911可以与加速度传感器910协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器911采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器912可以设置在终端900的侧边框和/或显示屏905的下层。当压力传感器912设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器912采集的握持信号进行左右手识别或快捷操作。当压力传感器912设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器913用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器913采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器913采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器914,也称距离传感器,通常设置在终端900的前面板。接近传感器914用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器914检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器914检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
电子设备被提供为服务器时,图10是根据一示例性实施例示出的一种服务器1000的框图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1001和一个或一个以上的存储器1002,其中,该存储器802中存储有至少一条程序代码,该至少一条程序代码由该处理器1001加载并执行以实现上述各个方法实施例提供的用于解码的视频滤波方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1000还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器902或者存储器1002,上述指令可由终端900的处理器901或者服务器1000的处理器001执行以完成上述用于解码的视频滤波方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述用于解码的视频滤波方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种用于解码的视频滤波方法,其特征在于,所述方法包括:
在对视频中任一视频帧内的任一视频块进行解码的过程中,将所述视频块划分为多个视频子块;
对于任一所述视频子块中的任一边界,基于所述视频块的编码信息,确定所述边界的滤波参数;
基于所述视频块中多个视频子块的边界的滤波参数,对所述多个视频子块的边界两侧的像素进行滤波,得到滤波后的所述视频块。
2.根据权利要求1所述的用于解码的视频滤波方法,其特征在于,所述基于所述视频块中多个视频子块的边界的滤波参数,对所述多个视频子块的边界两侧的像素进行滤波,得到滤波后的所述视频块,包括:
基于所述视频块中所述多个视频子块的边界的边界强度,从所述多个视频子块的边界中过滤掉多个第一边界,得到多个第二边界,所述第一边界用于表示无需对边界两侧的像素进行滤波的边界;
基于所述多个第二边界的滤波参数中的边界强度和量化参数,确定所述多个第二边界的滤波方式;
基于所述多个第二边界的滤波方式,对所述多个第二边界两侧的像素分别进行滤波,得到滤波后的所述视频块。
3.根据权利要求2所述的用于解码的视频滤波方法,其特征在于,边界的边界强度包括0,1和2三种情况,0用于表示对应的边界无需进行滤波处理;
所述方法还包括:
以2bit的形式存储边界的边界强度,其中,00用于表示边界的边界强度等于0,01用于表示边界的边界强度等于1,11用于表示边界的边界强度等于2。
4.根据权利要求2所述的用于解码的视频滤波方法,其特征在于,所述基于所述视频块中所述多个视频子块的边界的边界强度,从所述多个视频子块的边界中过滤掉多个第一边界,得到多个第二边界,包括:
采用计数尾随零指令,检测所述多个视频子块的边界的滤波参数中的边界强度,从所述多个视频子块的边界中过滤掉多个第一边界,得到多个第三边界;
对所述多个第三边界进行进一步筛选,得到所述多个第二边界。
5.根据权利要求4所述的用于解码的视频滤波方法,其特征在于,所述对所述多个第三边界进行进一步筛选,得到所述多个第二边界,包括:
每次遍历目标数量的第三边界,所述目标数量用于表示能够并行处理的最大边界数量;
对于任一次遍历,检测当前遍历中所述目标数量的第三边界中是否存在边界强度为零的边界;
在所述目标数量的第三边界中存在边界强度为零的边界的情况下,采用梯度下降法,从所述目标数量的第三边界中过滤掉边界强度为零的边界,得到所述多个第二边界。
6.根据权利要求5所述的用于解码的视频滤波方法,其特征在于,所述在所述目标数量的第三边界中存在边界强度为零的边界的情况下,采用梯度下降法,从所述目标数量的第三边界中过滤掉边界强度为零的边界,得到所述多个第二边界,包括:
在所述目标数量的第三边界中存在边界强度为零的边界的情况下,将检测范围缩小为所述目标数量的一半,再次进行检测;
在找到边界强度为零的边界的情况下,过滤掉边界强度为零的边界,得到所述多个第二边界。
7.根据权利要求2所述的用于解码的视频滤波方法,其特征在于,所述基于所述多个第二边界的滤波参数中的边界强度和量化参数,确定所述多个第二边界的滤波方式,包括:
基于单指令流多数据流,确定单次进行滤波决策的边界数量为目标数量,所述滤波决策用于表示确定边界的滤波方式的过程,所述目标数量用于表示能够并行处理的最大边界数量;
在滤波决策过程中,对于所述目标数量的第二边界中的任一第二边界,基于所述第二边界的滤波参数中的边界强度和量化参数,确定所述第二边界的滤波方式。
8.根据权利要求7所述的用于解码的视频滤波方法,其特征在于,所述对于所述目标数量的第二边界中的任一第二边界,基于所述第二边界的滤波参数中的边界强度和量化参数,确定所述第二边界的滤波方式,包括:
对于所述目标数量的第二边界中的任一第二边界,基于所述第二边界的量化参数,确定滤波阈值;
在所述第二边界的纹理度小于所述滤波阈值的情况下,确定所述第二边界需要进行滤波,所述纹理度用于表示对应边界的两侧的像素变化率;
基于所述第二边界的滤波参数中的边界强度,确定滤波强度阈值;
基于所述滤波强度阈值,确定所述第二边界的滤波方式。
9.根据权利要求8所述的用于解码的视频滤波方法,其特征在于,所述基于所述滤波强度阈值,确定所述第二边界的滤波方式,包括:
基于所述第二边界的最大滤波长度,确定所述第二边界的滤波范围,所述滤波范围用于表示对所述第二边界两侧的像素进行滤波时所采用的像素的多少;
在第二边界的滤波范围指示需要对所述第二边界两侧的像素进行短抽头滤波的情况下,基于所述滤波强度阈值,确定所述第二边界的滤波强度,所述滤波强度用于表示滤波后的像素相比于滤波前的像素的修正范围。
10.根据权利要求1所述的用于解码的视频滤波方法,其特征在于,对于任一所述视频子块中的任一边界,基于所述视频块的编码信息,确定所述边界的滤波参数之后,所述方法还包括:
在所述边界位于所述视频块中变换单元的公共边的情况下,基于所述边界的滤波参数,确定位于所述公共边处其他边界的滤波参数,所述变换单元基于所述编码信息确定,所述公共边指的是两个变换单元共有的边。
11.根据权利要求10所述的用于解码的视频滤波方法,其特征在于,所述方法还包括:
基于单指令流多数据流,对位于所述变换单元的公共边的多个边界的滤波决策并行处理,得到所述多个边界的滤波方式,所述滤波决策用于表示确定边界的滤波方式的过程;
基于所述单指令流多数据流和所述多个边界的滤波方式,对所述多个边界并行滤波。
12.一种用于解码的视频滤波装置,其特征在于,所述装置包括:
划分单元,被配置为执行在对视频中任一视频帧内的任一视频块进行解码的过程中,将所述视频块划分为多个视频子块;
第一确定单元,被配置为执行对于任一所述视频子块中的任一边界,基于所述视频块的编码信息,确定所述边界的滤波参数;
滤波单元,被配置为执行基于所述视频块中多个视频子块的边界的滤波参数,对所述多个视频子块的边界两侧的像素进行滤波,得到滤波后的所述视频块。
13.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
用于存储所述处理器可执行程序代码的存储器;
其中,所述处理器被配置为执行所述程序代码,以实现如权利要求1至11任一项所述的用于解码的视频滤波方法。
14.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至11任一项所述的用于解码的视频滤波方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任一项所述的用于解码的视频滤波方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310845545.1A CN116980627A (zh) | 2023-07-11 | 2023-07-11 | 用于解码的视频滤波方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310845545.1A CN116980627A (zh) | 2023-07-11 | 2023-07-11 | 用于解码的视频滤波方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116980627A true CN116980627A (zh) | 2023-10-31 |
Family
ID=88474205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310845545.1A Pending CN116980627A (zh) | 2023-07-11 | 2023-07-11 | 用于解码的视频滤波方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116980627A (zh) |
-
2023
- 2023-07-11 CN CN202310845545.1A patent/CN116980627A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110234008B (zh) | 编码方法、解码方法及装置 | |
CN110708552B (zh) | 解码方法、编码方法及装置 | |
CN113347433B (zh) | 预测模式的解码、编码方法及装置 | |
CN108391127B (zh) | 视频编码方法、装置、存储介质及设备 | |
CN111770340B (zh) | 视频编码方法、装置、设备以及存储介质 | |
CN110933334B (zh) | 视频降噪方法、装置、终端及存储介质 | |
CN112532975B (zh) | 视频编码方法、装置、计算机设备及存储介质 | |
CN110149517B (zh) | 视频处理的方法、装置、电子设备及计算机存储介质 | |
CN111586413B (zh) | 视频调整方法、装置、计算机设备及存储介质 | |
CN113038165A (zh) | 确定编码参数组的方法、设备及存储介质 | |
CN113891074B (zh) | 视频编码方法和装置、电子装置和计算机可读存储介质 | |
CN111107357A (zh) | 一种图像处理的方法、装置及*** | |
CN111901679A (zh) | 封面图像的确定方法、装置、计算机设备及可读存储介质 | |
CN110163835B (zh) | 检测截图的方法、装置、设备及计算机可读存储介质 | |
CN116074512A (zh) | 视频编码方法、装置、电子设备以及存储介质 | |
CN111698512B (zh) | 视频处理方法、装置、设备及存储介质 | |
CN111770339B (zh) | 视频编码方法、装置、设备及存储介质 | |
CN116980627A (zh) | 用于解码的视频滤波方法、装置、电子设备及存储介质 | |
CN110109813B (zh) | 用于gpu性能的信息确定方法、装置、终端及存储介质 | |
CN110062226B (zh) | 一种视频编码方法、视频解码方法、装置、***及介质 | |
CN109040753B (zh) | 预测模式选择方法、装置及存储介质 | |
CN114422782B (zh) | 视频编码方法、装置、存储介质及电子设备 | |
CN116506616A (zh) | 视频帧编码方法、装置、电子设备及存储介质 | |
CN110062225B (zh) | 一种图片滤波的方法及装置 | |
CN115118979A (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 |