CN117676170A - 块效应检测的方法、装置、设备和存储介质 - Google Patents
块效应检测的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117676170A CN117676170A CN202211058970.8A CN202211058970A CN117676170A CN 117676170 A CN117676170 A CN 117676170A CN 202211058970 A CN202211058970 A CN 202211058970A CN 117676170 A CN117676170 A CN 117676170A
- Authority
- CN
- China
- Prior art keywords
- video frame
- blocking effect
- determining
- threshold
- macroblocks
- 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
- 230000000903 blocking effect Effects 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013139 quantization Methods 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 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
- 238000009499 grossing Methods 0.000 description 1
- 230000002452 interceptive effect 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
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 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
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种块效应检测的方法、装置、设备和存储介质,属于计算机技术领域。所述方法包括:接收服务器发送的编码视频帧,对编码视频帧进行解码得到解码视频帧;获取解码视频帧中宏块的中部区域的像素点的像素值;基于宏块的中部区域的像素点的像素值,确定解码视频帧中存在块效应的相邻宏块对的数目;确定存在块效应的相邻宏块对的数目与解码视频帧中相邻宏块对的总数目的比值,作为块效应显著度指标;向服务器发送块效应显著度指标,其中,块效应显著度指标用于指示服务器基于块效应显著度指标调整对终端发送的视频流的编码码率。采用本申请,可以提高视频质量。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种块效应检测的方法、装置、设备和存储介质。
背景技术
随着通信技术的发展以及计算机处理能力的提升,云游戏取得了突破性的进展。在云游戏中,视频压缩技术必不可少的。在对视频进行压缩传输的过程中,一般是以宏块为单位进行编解码,这样可能会导致原本像素值连续的相邻宏块在编码再解码之后像素值不连续了,用户能看到一个一个的方块,称为块效应。相关技术中对块效应进行检测,进而采用相应的手段来解决块效应问题。
一般地,检测块效应的方法是:确定两个相邻宏块的边界区域,并获取这两个边界区域的所有像素点的像素值。然后,分别对这两个边界区域的像素值求均值,并对两个均值作差。如果此差值的绝对值大于预设阈值,就判定存在块效应。进而服务器可以对一些编码参数进行调整,以解决图像中存在块效应的问题。
在某些编解码标准中,解码过程会进行环路滤波,环路滤波会对图像中相邻宏块的边界区域进行平滑处理,使相邻宏块的边界区域的像素值差异变小,对于这样的情况,通过上述技术,可能检测不出解码图像中存在的块效应,但是,经过环路滤波处理后的图像往往仍然能够看到一个一个的方块。这就使得块效应问题不能及时被解决,从而,影响视频质量。
发明内容
本申请实施例提供了一种块效应检测的方法、装置、设备和存储介质,能够解决相关技术的问题。技术方案如下:
第一方面,提供了一种块效应检测的方法,所述方法包括:
接收服务器发送的编码视频帧,对所述编码视频帧进行解码得到解码视频帧;
获取所述解码视频帧中宏块的中部区域的像素点的像素值;
基于所述宏块的中部区域的像素点的像素值,确定所述解码视频帧中存在块效应的相邻宏块对的数目;
确定所述存在块效应的相邻宏块对的数目与所述解码视频帧中相邻宏块对的总数目的比值,作为块效应显著度指标;
向所述服务器发送所述块效应显著度指标,其中,所述块效应显著度指标用于指示所述服务器基于所述块效应显著度指标调整对终端发送的视频流的编码码率。
在一种可能的实现方式中,所述基于所述宏块的中部区域的像素点的像素值,确定所述解码视频帧中存在块效应的相邻宏块对的数目,包括:
确定所述宏块的中部区域的像素点的像素值的方差和均值;
对于所述解码视频帧的相邻宏块对中的两个宏块,基于所述两个宏块分别对应的方差和均值,确定所述相邻宏块对是否存在块效应;
确定所述解码视频帧中存在块效应的相邻宏块对的数目。
在一种可能的实现方式中,所述基于所述两个宏块分别对应的方差和均值,确定所述相邻宏块对是否存在块效应,包括:
响应于所述两个宏块对应的方差均小于方差阈值、以及所述两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值,确定所述相邻宏块对存在块效应;
响应于所述两个宏块中至少一个宏块对应的方差大于方差阈值、所述两个宏块对应的均值之差的绝对值大于第一均值阈值、或所述两个宏块对应的均值之差的绝对值小于第二均值阈值,确定所述相邻宏块对不存在块效应。
在一种可能的实现方式中,所述基于所述两个宏块分别对应的方差和均值,确定所述相邻宏块对是否存在块效应,包括:
基于所述两个宏块对应的均值,确定目标取值区间;
确定所述两个宏块相邻的边界区域中像素点的像素值;
响应于所述两个宏块对应的方差均小于方差阈值、所述两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值、以及边界区域中像素点的像素值均在所述目标取值区间中,确定所述相邻宏块对存在块效应;
响应于所述两个宏块中至少一个宏块对应的方差大于方差阈值、所述两个宏块对应的均值之差的绝对值大于第一均值阈值、所述两个宏块对应的均值之差的绝对值小于第二均值阈值、或边界区域中存在至少一个像素点的像素值不在所述目标取值区间中,确定所述相邻宏块对不存在块效应。
在一种可能的实现方式中,所述基于所述两个宏块对应的均值,确定目标取值区间,包括:
将所述两个宏块对应的均值中较大的均值与目标数值之和确定为区间上限,并将所述两个宏块对应的均值中较小的均值与所述目标数值之差确定为区间下限,得到目标取值区间。
在一种可能的实现方式中,所述两个宏块相邻的边界区域是所述两个宏块的边界分别与所述两个宏块的中部区域之间的矩形区域,所述宏块的中部区域是以所述宏块的中心为中心的正方形区域。
在一种可能的实现方式中,所述获取所述解码视频帧中宏块的中部区域的像素点的像素值之前,还包括:
接收所述服务器发送的所述编码视频帧的量化参数;
确定所述量化参数大于量化参数阈值。
第二方面,提供了一种块效应检测的装置,所述装置包括:
解码模块,用于接收服务器发送的编码视频帧,对所述编码视频帧进行解码得到解码视频帧;
获取模块,用于获取所述解码视频帧中宏块的中部区域的像素点的像素值;
第一确定模块,用于基于所述宏块的中部区域的像素点的像素值,确定所述解码视频帧中存在块效应的相邻宏块对的数目;
第二确定模块,用于确定所述存在块效应的相邻宏块对的数目与所述解码视频帧中相邻宏块对的总数目的比值,作为块效应显著度指标;
发送模块,用于向所述服务器发送所述块效应显著度指标,其中,所述块效应显著度指标用于指示所述服务器基于所述块效应显著度指标调整对终端发送的视频流的编码码率。
在一种可能的实现方式中,所述第一确定模块,用于:
确定所述宏块的中部区域的像素点的像素值的方差和均值;
对于所述解码视频帧的相邻宏块对中的两个宏块,基于所述两个宏块分别对应的方差和均值,确定所述相邻宏块对是否存在块效应;
确定所述解码视频帧中存在块效应的相邻宏块对的数目。
在一种可能的实现方式中,所述第一确定模块,用于:
响应于所述两个宏块对应的方差均小于方差阈值、以及所述两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值,确定所述相邻宏块对存在块效应;
响应于所述两个宏块中至少一个宏块对应的方差大于方差阈值、所述两个宏块对应的均值之差的绝对值大于第一均值阈值、或所述两个宏块对应的均值之差的绝对值小于第二均值阈值,确定所述相邻宏块对不存在块效应。
在一种可能的实现方式中,所述第一确定模块,用于:
基于所述两个宏块对应的均值,确定目标取值区间;
确定所述两个宏块相邻的边界区域中像素点的像素值;
响应于所述两个宏块对应的方差均小于方差阈值、所述两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值、以及边界区域中像素点的像素值均在所述目标取值区间中,确定所述相邻宏块对存在块效应;
响应于所述两个宏块中至少一个宏块对应的方差大于方差阈值、所述两个宏块对应的均值之差的绝对值大于第一均值阈值、所述两个宏块对应的均值之差的绝对值小于第二均值阈值、或边界区域中存在至少一个像素点的像素值不在所述目标取值区间中,确定所述相邻宏块对不存在块效应。
在一种可能的实现方式中,所述第一确定模块,用于:
将所述两个宏块对应的均值中较大的均值与目标数值之和确定为区间上限,并将所述两个宏块对应的均值中较小的均值与所述目标数值之差确定为区间下限,得到目标取值区间。
在一种可能的实现方式中,所述两个宏块相邻的边界区域是所述两个宏块的边界分别与所述两个宏块的中部区域之间的矩形区域,所述宏块的中部区域是以所述宏块的中心为中心的正方形区域。
在一种可能的实现方式中,所述获取模块,还用于:
接收所述服务器发送的所述编码视频帧的量化参数;
确定所述量化参数大于量化参数阈值。
第三方面,提供了一种计算机设备,计算机设备包括存储器和处理器,存储器用于存储计算机指令;处理器执行存储器存储的计算机指令,以使计算机设备执行第一方面及其可能的实现方式的方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序代码,响应于计算机程序代码被计算机设备执行,计算机设备执行第一方面及其可能的实现方式的方法。
第五方面,提供了一种计算机程序产品,计算机程序产品包括计算机程序代码,响应于计算机程序代码被计算机设备执行,计算机设备执行第一方面及其可能的实现方式的方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
通过本申请实施例提供的方法,终端在接收服务器发送的编码视频帧后,对该编码视频帧进行解码得到解码视频帧。然后,终端获取解码视频帧中宏块的中部区域的像素点的像素值,基于宏块的中部区域的像素点的像素值,确定解码视频帧中存在块效应的相邻宏块对的数目。最后,终端确定存在块效应的相邻宏块对的数目与解码视频帧中相邻宏块对的总数目的比值,将该比值作为块效应显著度指标并发送到服务器。服务器可以根据块效应显著度指标调整对终端发送的视频流的编码码率等。这样,对于相邻宏块的边界区域经过平滑处理的视频帧,终端可以通过相邻宏块的中部区域的像素点的像素值,判断出相邻宏块是否存在块效应,给出块效应显著度指标,并发送给服务器。服务器根据该指标做相应处理,可以使块效应问题得到及时解决,从而,提高视频质量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种***的结构示意图;
图2是本申请实施例提供的一种终端的结构示意图;
图3是本申请实施例提供的一种服务器的结构示意图;
图4是本申请实施例提供的一种块效应检测方法的流程示意图;
图5是本申请实施例提供的一种宏块的中部区域的示意图;
图6是本申请实施例提供的一种两个宏块相邻的边界区域的示意图;
图7是本申请实施例提供的一种块效应检测方法的流程示意图;
图8是本申请实施例提供的一种块效应检测装置的结构示意图;
图9是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
本申请实施例提供了一种块效应检测的方法,该方法用于检测进行编解码后的图像中是否存在块效应,应用于具有视频播放功能的应用程序,尤其是具有对实时的网络视频流进行播放的功能的应用程序,如云游戏应用程序、直播应用程序等。
该方法可以由终端和服务器组成的***来实现,如图1所示。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端用于对视频流进行解码,还可以用于与其他设备通信,例如,与服务器通信等。终端上安装某种应用程序,该应用程序可以是具有解码播放网络视频流的功能的视频通话类、视频播放器类、屏幕分享类或云游戏类应用程序。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
从硬件组成上来看,终端的结构可以如图2所示,包括处理器210、存储器220、显示部件230、通信部件240。
处理器210可以是CPU(central processing unit,中央处理器)或SoC(system onchip,***级芯片)等,处理器210可以用于执行该方法涉及的各种指令等。
存储器220可以包括各种易失性存储器或非易失性存储器,如SSD(solid statedisk,固态硬盘)、DRAM(dynamic random access memory,动态随机存取存储器)内存等。存储器220可以用于存储视频解码过程中的预存数据、中间数据和结果数据,例如,像素值等。
显示部件230可以是独立的屏幕、或与终端机身一体的屏幕、投影仪等,屏幕可以为触控屏、也可以为非触控屏,显示部件用于显示***界面、应用界面等,例如,游戏界面等。
通信部件240可以是有线网络连接器、WiFi(wireless fidelity,无线保真)模块、蓝牙模块、蜂巢网通信模块等。通信部件可以用于与其他设备进行数据传输,其他设备可以是服务器、也可以是其他终端等。
除了处理器、存储器,终端还可以包括音频采集部件、音频输出部件等。
音频采集部件可以为麦克风,用于采集用户的语音。音频输出部件可以为音箱、耳机等,用于播放音频。
从硬件组成上来看,服务器的结构可以如图3所示,包括处理器310、存储器320和通信部件330。
处理器310可以是CPU(central processing unit,中央处理器)或SoC(system onchip,***级芯片)等,处理器310可以用于执行该方法涉及的各种指令等。
存储器320可以包括各种易失性存储器或非易失性存储器,如SSD(solid statedisk,固态硬盘)、DRAM(dynamic random access memory,动态随机存取存储器)内存等。存储器320可以用于存储服务器发送和接收的各类消息的预存数据、中间数据和结果数据,例如,视频帧、块效应显著度指标等。
通信部件330可以是有线网络连接器、WiFi(wireless fidelity,无线保真)模块、蓝牙模块、蜂巢网通信模块等。通信部件可以用于与其他设备进行数据传输,其他设备可以是服务器、也可以是其他终端等。例如,服务器可以接收终端传输的块效应显著度指标,服务器向终端发送视频帧等。
本申请实施例以手机运行安装有云游戏应用程序为例进行方案的详细说明,其他情况与之类似,本申请实施例不再赘述。
下面,对本申请实施例中涉及的若干个名词进行介绍:
云游戏(cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
宏块:是视频编解码技术中的一个基本概念。在视频编码中,一个编码图像通常划分成若干宏块组成。
块效应:在基于宏块的编解码技术中,随着码率的降低,量化变得粗糙,在块的边界会出现不连续,形成重建图像的明显缺陷,称为块效应。
H.264:又称为MPEG-4Part 10(Moving Picture Experts Group-4 Part 10,动态图像专家组-4第十部分)AVC(advanced video coding,高级视频编码)是一种面向块,基于运动补偿的视频编码标准。到2014年,它已经成为高精度视频录制、压缩和发布的最常用格式之一。
Qstep(quantization step,量化步长):图像编码的重要参数,Qstep决定了量化器的编码压缩率与图像精度。如果Qstep比较大,相应的编码长度较小,图像细节损失较多;如果Qstep比较小,相应的编码长度较大,图像损失细节较少。
QP(quantization parameter,量化参数):反映了空间细节压缩情况。值越小,量化越精细,图像质量越高,产生的码流也越长。如QP小,大部分的细节都会被保留;QP增大,一些细节丢失,码率降低,图像失真加强和质量下降。QP是Qstep的序号。对于亮度编码而言,Qstep共有52种取值,QP取值0~51。
码率:也称作比特率,在电信和计算领域是指单位时间内传输送或处理的数据的比特数。比特率经常在电信领域用作连接速度、传输速度、信息传输速率和数字带宽容量的同义词,常写作bit/sec(比特/秒)。根据每帧图像存储时所占的比特数和传输比特率,可以计算数字图像信息传输的速度。
RC(Rate Control,码率控制技术):是实际视频编码器中一个非常重要的技术模块。根据实际中各种具体应用场景的不同(例如,实时视频编码,离线视频编码,传统的广播电视业务,互联网上的流媒体传输业务等),对视频编码器的输出码率也就有了多种不同的具体要求和限制,例如,码率大小,缓冲器大小,初始延时等。码率控制就是针对各种不同应用业务场景,通过控制每帧、乃至每个编码单元的编码的QP,使得输出的编码后视频码率满足各项具体限制要求,同时编码性能(包括编码效率和主观质量)也尽可能地最优化。
在云游戏场景下,服务器需要将大量的游戏画面内容实时传输到终端。在对游戏画面相关的视频数据进行传输时,需要将视频帧进行编码压缩,目前主流的压缩技术H.264是以宏块为单位对图像进行压缩。在压缩过程中,可能由于码率过低导致QP较大,即Qstep较长,进一步导致终端接收到视频数据后解码的视频数据中相邻宏块的像素值不连续,即出现块效应。终端对解码后的图像进行块效应检测,给出块效应显著度指标,并将该指标发送给服务器。服务器在接收到该指标之后,基于该指标进行相应的处理过程。
本申请实施例针对上述的应用场景,提供了一种块效应检测的方法,该方法的处理流程可以如图4所示,包括如下处理步骤:
401,终端接收服务器发送的编码视频帧。
在实施中,在终端运行云游戏的过程中,服务器会进行渲染得到游戏图像,并将游戏图像进行编码,把编码后的视频帧发送给终端。云游戏技术中服务器渲染游戏图像和其他技术中终端本地渲染显示的游戏图像是一样的,其中包括各种各样的操作控件、窗口等内容。
402,对编码视频帧进行解码得到解码视频帧。
在实施中,终端对接收到的视频帧依据设定的编解码标准进行解码后显示,用户就可以在终端上看到游戏画面。云游戏的编解码标准可以是H.264,H264的码率控制技术包括CBR(constant bit rate,恒定码率)、VBR(variable bit rate,动态码率)、CVBR(constrained variable bit rate,受约束的动态码率)等。在服务器对视频帧进行编码的过程中,通过码率控制技术,控制每一帧视频帧的码率。在这个过程中,可能会出现视频帧编码码率较小的情况,导致终端对接收到的视频帧进行解码后,解码的视频帧中出现块效应等。
终端会对解码后的视频帧检测块效应,终端检测视频帧的频率可以是每一个视频帧都进行检测,也可以是每隔一定数量的视频帧检测一次。终端还可以是根据界面类型判断是否对视频帧进行检测,界面类型相关的信息是由服务器发送的。例如,如果界面类型是游戏画面,可以对游戏画面的每一帧都进行检测;如果界面类型是设置界面,终端可以只对服务器发送的该界面的第一个视频帧进行检测。
403,终端获取解码视频帧中宏块的中部区域的像素点的像素值。
其中,宏块是正方形区域。宏块的中部区域是以宏块的中心为中心的正方形区域。例如,宏块是由16×16个像素点组成的,中部区域是该宏块中心的10×10个像素点所在区域,如图5中的阴影区域。
对于解码视频帧中的每个宏块,终端可以基于宏块所在的区域,确定区域中心位置,然后,基于预设的尺寸(即中部区域的尺寸),以该中心位置为中心确定,确定中部区域。进而可以获取每个宏块中部区域中的所有像素点的像素值。
404,终端基于宏块的中部区域的像素点的像素值,确定解码视频帧中存在块效应的相邻宏块对的数目。
其中,每个相邻宏块对由两个相邻的宏块组成,不同的相邻宏块对可以共用一个宏块。
在实施中,对于解码视频帧中的每个宏块,终端获取到该宏块的中部区域的像素点的像素值,对该宏块的中部区域的像素点的像素值求均值和方差。进而,对于所有相邻宏块对,判断其中两个宏块的方差和均值是否符合一定条件,如果符合,则记录一个存在块效应的相邻宏块对,如果不符合,则不记录,或记录一个不存在块效应的相邻宏块对。
检测块效应的具体步骤如下:
步骤一,确定宏块的中部区域的像素点的像素值的方差和均值。
在实施中,在获取到宏块中部区域的像素点的像素值之后,对宏块中部区域的像素点的像素值求均值和方差。例如,相邻两个宏块包括第一宏块和第二宏块,其中第一宏块对应的均值是μs,方差是σs,第二宏块对应的均值是μt,方差是σt。
步骤二,对于解码视频帧的相邻宏块对中的两个宏块,基于两个宏块分别对应的方差和均值,确定相邻宏块对是否存在块效应。
该步骤中确定相邻宏块对是否存在块效应可以有多种方式:
方式一,响应于两个宏块对应的方差均小于方差阈值、以及两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值,确定相邻宏块对存在块效应。响应于两个宏块中至少一个宏块对应的方差大于方差阈值、两个宏块对应的均值之差的绝对值大于第一均值阈值、或两个宏块对应的均值之差的绝对值小于第二均值阈值,确定相邻宏块对不存在块效应。
其中,方差阈值、第一均值阈值、第二均值阈值是可以由技术人员预先设置并存储,其数值可以是经验值。
在实施中,块效应往往出现在平坦纹理之上,平坦的纹理具有两个特点:一是宏块内部像素值基本相等;二是宏块间的像素值差异小。因此,可以通过判断宏块的方差是否小于方差阈值,去判断宏块是否在平坦纹理区域。当宏块的方差小于方差阈值时,可以认为该宏块处于平坦纹理区域。可以通过相邻两个宏块的均值之差的绝对值是否小于第一均值阈值且大于第二均值阈值,判断相邻宏块是否处于同一纹理区域。当两个宏块的像素值差异过大时,即两个宏块对应的均值之差的绝对值大于第一均值阈值,可以认为该差异不是由于块效应导致的,而是纹理本身的差异。当两个宏块像素值无明显差异时,即两个宏块对应的均值之差的绝对值小于第二均值阈值,可以认为两宏块间不存在块效应。当两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值时,可以认为相邻宏块像素值的差异是块效应导致的。
例如,方差阈值是5,第一阈值是10,第二阈值是2,当第一宏块的方差和第二宏块的方差都小于方差阈值,以及两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值时,即σs<5且σt<5以及2≥|μs-μt|≥10时,可以认为相邻宏块对存在块效应。
方式二,基于两个宏块对应的均值,确定目标取值区间。确定两个宏块相邻的边界区域中像素点的像素值。响应于两个宏块对应的方差均小于方差阈值、两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值、以及边界区域中像素点的像素值均在目标取值区间中,确定相邻宏块对存在块效应。响应于两个宏块中至少一个宏块对应的方差大于方差阈值、两个宏块对应的均值之差的绝对值大于第一均值阈值、两个宏块对应的均值之差的绝对值小于第二均值阈值、或边界区域中存在至少一个像素点的像素值不在目标取值区间中,确定相邻宏块对不存在块效应。
其中,两个宏块相邻的边界区域是两个宏块的边界分别与两个宏块的中部区域之间的矩形区域。该矩形区域的三条边可以分别与宏块的三条边共线,该矩形区域的另一条边可以与中部区域的一条边共线。例如,如图6所示,宏块是由16×16个像素点组成的,中部区域是宏块中心的10×10个像素点所在区域,两个宏块相邻的边界区域是6×16个像素点所在区域。
在实施中,在视频帧编码前的图像中,某两个相邻宏块的边界区域可能刚好与中部区域的纹理不同,例如,有一个线条经过边缘区域而不经过中部区域,这种情况,这两个相邻宏块是不涉及块效应问题的。因此方式二在通过相邻宏块的中部区域的像素点的像素值的均值和方差去判断相邻宏块对是否存在块效应之后,还会通过相邻宏块的边界区域的像素点的像素值是否都在目标取值区间内,进一步判断相邻宏块对是否存在块效应。如果相邻宏块的边界区域的像素点的像素值都在目标取值区间内,说明该边界区域与中部区域是同一纹理,基于方式一,可以认为此相邻宏块像素值的差异是块效应导致的;如果相邻宏块的边界区域中有的像素点的像素值不在目标取值区间内,说明边界区域可能存在与中部区域不同的纹理,可以认为此相邻宏块间不存在块效应。目标取值区间可以是将两个宏块对应的均值中较大的均值与目标数值之和确定为区间上限,并将两个宏块对应的均值中较小的均值与目标数值之差确定为区间下限得到的。其中,目标数值是终端预设的。例如,目标数值为3,目标取值区间为[min(μs,μt)-3,max(μs,μt)+3]。目标取值区间也可以是将两个宏块对应的均值中较大的均值确定为区间上限,并将两个宏块对应的均值中较小的均值为区间下限得到的。例如,目标取值区间为[min(μs,μt),max(μs,μt)]。
步骤三,确定解码视频帧中存在块效应的相邻宏块对的数目。
在实施中,当步骤二的判断结果是相邻宏块对存在块效应时,终端记录一个存在块效应的相邻宏块对。终端对存在块效应的相邻宏块对的数目进行累加,确定出视频帧中存在块效应的相邻宏块对的数目。
405,终端确定存在块效应的相邻宏块对的数目与解码视频帧中相邻宏块对的总数目的比值,作为块效应显著度指标。
例如,解码视频帧中存在块效应的相邻宏块对的数目是900,相邻宏块对的总数目是1000,块效应显著度指标为0.9。
在实施中,可以通过以下公式确定视频帧的相邻宏块对的总数目:(Int(M/A)-1)×Int(N/A)+(Int(N/A)-1)×Int(M/A)。其中,A为宏块的边长,M为水平方向上的像素点数,N为垂直方向上的像素点数;Int()是指取整函数,例如Int(1080/16)=Int(67.5)=67。对于分辨率为1920×1080的视频帧来说,水平方向上的像素点数是1920,相邻宏块对的数目为Int(1920/16),垂直方向上的像素点数是1080,相邻宏块对的数目为Int(1080/16),总的相邻宏块对的数目是(Int(1920/16)-1)×Int(1080/16)+(Int(1080/16)-1)×Int(1920/16)=15893。
存在块效应的相邻宏块对的数目越多,存在块效应的相邻宏块对的数目与解码视频帧中相邻宏块对的总数目的比值越高,说明该视频帧的块效应显著度越高,反之,越低。
406,终端向服务器发送块效应显著度指标。
在实施中,终端可以生成指标上报消息,将块效应显著度指标添加到指标上报消息中,还可以将本地登录的应用程序的账号添加到块效应显著度指标中。然后,终端将块效应显著度指标发送给服务器。
407,服务器基于块效应显著度指标调整对终端发送的视频流的编码码率。
在实施中,技术人员可以预先建立编码码率与块效应显著度指标之间的对应关系,将对应关系存储在服务器中。在该对应关系中,较小的块效应显著度指标对应较低的编码码率,较大的块效应显著度指标对应较高的编码码率。
每当服务器接收到终端发送的指标上报消息时,可以获取其中携带的块效应显著度指标和账号。在对应关系中,查找该块效应显著度指标对应的编码码率。使用该编码码率对该账号的游戏图像进行编码得到编码视频帧,向终端发送。
本申请实施例针对上述的应用场景,还提供了一种块效应检测的方法,该方法结合云端信息进行判断,降低块效应检测对***延时造成的影响,该方法的处理流程可以如图7所示,包括如下处理步骤:
701,终端接收服务器发送的编码视频帧和编码视频帧的量化参数。
在实施中,服务器对视频帧进行编码的过程中,会基于一定的逻辑确定量化参数,基于量化参数进行编码得到编码视频帧。然后将编码视频帧和量化参数一起发送给终端。
702,终端对编码视频帧进行解码得到解码视频帧。
703,终端确定量化参数大于量化参数阈值。
其中,量化参数阈值可以由技术人员预先设置并存储,其数值可以是经过实验得出的。在实验中,从小到大设定量化参数,对视频帧进行编码,当量化参数增大到某一个值时,解码的视频帧中出现了块效应,就将该值为量化参数阈值。
在实施中,量化参数可以反应解码视频帧的质量,该量化参数越小,说明服务器在对视频帧进行编码时,保留的细节更多,解码后的视频帧质量相对较好,不易出现块效应。终端对服务器发送的量化参数进行判断。当量化参数大于量化参数阈值时,说明解码视频帧的质量相对较差,需要对解码的视频帧进行后续步骤的块效应检测过程,计算块效应显著度指标,以便服务器对后续编码码率进行调整;当量化参数小于或等于量化参数阈值时,说明解码视频帧的质量相对较好,终端返回预设的参考值。
704,终端获取解码视频帧中宏块的中部区域的像素点的像素值。
705,终端基于宏块的中部区域的像素点的像素值,确定解码视频帧中存在块效应的相邻宏块对的数目。
706,终端确定存在块效应的相邻宏块对的数目与解码视频帧中相邻宏块对的总数目的比值,作为块效应显著度指标。
707,终端向服务器发送块效应显著度指标。
708,服务器基于块效应显著度指标调整对终端发送的视频流的编码码率。
步骤704-708的具体处理与步骤403-407类似,可以参见步骤403-407的相关说明内容,此处不再赘述。
通过本申请实施例提供的方法,终端在接收服务器发送的编码视频帧后,对该编码视频帧进行解码得到解码视频帧。然后,终端获取解码视频帧中宏块的中部区域的像素点的像素值,基于宏块的中部区域的像素点的像素值,确定解码视频帧中存在块效应的相邻宏块对的数目。最后,终端确定存在块效应的相邻宏块对的数目与解码视频帧中相邻宏块对的总数目的比值,将该比值作为块效应显著度指标并发送到服务器。服务器可以根据块效应显著度指标调整对终端发送的视频流的编码码率等。这样,对于相邻宏块的边界区域经过平滑处理的视频帧,终端可以通过相邻宏块的中部区域的像素点的像素值,判断出相邻宏块是否存在块效应,给出块效应显著度指标,并发送给服务器。服务器根据该指标做相应处理,可以使块效应问题得到及时解决,从而,提高视频质量。
基于相同的技术构思,本申请实施例还提供了一种块效应检测的装置,如图8所示,该装置包括:
解码模块810,用于接收服务器发送的编码视频帧,对所述编码视频帧进行解码得到解码视频帧;
获取模块820,用于获取所述解码视频帧中宏块的中部区域的像素点的像素值;
第一确定模块830,用于基于所述宏块的中部区域的像素点的像素值,确定所述解码视频帧中存在块效应的相邻宏块对的数目;
第二确定模块840,用于确定所述存在块效应的相邻宏块对的数目与所述解码视频帧中相邻宏块对的总数目的比值,作为块效应显著度指标;
发送模块850,用于向所述服务器发送所述块效应显著度指标,其中,所述块效应显著度指标用于指示所述服务器基于所述块效应显著度指标调整对终端发送的视频流的编码码率。
在一种可能的实现方式中,所述第一确定模块830,用于:
确定所述宏块的中部区域的像素点的像素值的方差和均值;
对于所述解码视频帧的相邻宏块对中的两个宏块,基于所述两个宏块分别对应的方差和均值,确定所述相邻宏块对是否存在块效应;
确定所述解码视频帧中存在块效应的相邻宏块对的数目。
在一种可能的实现方式中,所述第一确定模块830,用于:
响应于所述两个宏块对应的方差均小于方差阈值、以及所述两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值,确定所述相邻宏块对存在块效应;
响应于所述两个宏块中至少一个宏块对应的方差大于方差阈值、所述两个宏块对应的均值之差的绝对值大于第一均值阈值、或所述两个宏块对应的均值之差的绝对值小于第二均值阈值,确定所述相邻宏块对不存在块效应。
在一种可能的实现方式中,所述第一确定模块830,用于:
基于所述两个宏块对应的均值,确定目标取值区间;
确定所述两个宏块相邻的边界区域中像素点的像素值;
响应于所述两个宏块对应的方差均小于方差阈值、所述两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值、以及边界区域中像素点的像素值均在所述目标取值区间中,确定所述相邻宏块对存在块效应;
响应于所述两个宏块中至少一个宏块对应的方差大于方差阈值、所述两个宏块对应的均值之差的绝对值大于第一均值阈值、所述两个宏块对应的均值之差的绝对值小于第二均值阈值、或边界区域中存在至少一个像素点的像素值不在所述目标取值区间中,确定所述相邻宏块对不存在块效应。
在一种可能的实现方式中,所述第一确定模块830,用于:
将所述两个宏块对应的均值中较大的均值与目标数值之和确定为区间上限,并将所述两个宏块对应的均值中较小的均值与所述目标数值之差确定为区间下限,得到目标取值区间。
在一种可能的实现方式中,所述两个宏块相邻的边界区域是所述两个宏块的边界分别与所述两个宏块的中部区域之间的矩形区域,所述宏块的中部区域是以所述宏块的中心为中心的正方形区域。
在一种可能的实现方式中,所述获取模块820,还用于:
接收所述服务器发送的所述编码视频帧的量化参数;
确定所述量化参数大于量化参数阈值。
通过本申请实施例提供的装置,终端在接收服务器发送的编码视频帧后,对该编码视频帧进行解码得到解码视频帧。然后,终端获取解码视频帧中宏块的中部区域的像素点的像素值,基于宏块的中部区域的像素点的像素值,确定解码视频帧中存在块效应的相邻宏块对的数目。最后,终端确定存在块效应的相邻宏块对的数目与解码视频帧中相邻宏块对的总数目的比值,将该比值作为块效应显著度指标并发送到服务器。服务器可以根据块效应显著度指标调整对终端发送的视频流的编码码率等。这样,对于相邻宏块的边界区域经过平滑处理的视频帧,终端可以通过相邻宏块的中部区域的像素点的像素值,判断出相邻宏块是否存在块效应,给出块效应显著度指标,并发送给服务器。服务器根据该指标做相应处理,可以使块效应问题得到及时解决,从而,提高视频质量。
需要说明的是:上述申请实施例提供的块效应检测的装置在进行块效应检测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述申请实施例提供的块效应检测的装置与块效应检测的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9示出了本申请实施例提供的电子设备900的结构框图。该电子设备可以是上述实施例中的各终端。该电子设备900可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备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和电源909中的至少一种。
***设备接口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(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位电子设备900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于GPS(Global PositioningSystem,全球定位***)、北斗***的定位组件。
电源909用于为电子设备900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以电子设备900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测电子设备900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对电子设备900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在电子设备900的侧边框和/或显示屏905的下层。当压力传感器913设置在电子设备900的侧边框时,可以检测用户对电子设备900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置在电子设备900的正面、背面或侧面。当电子设备900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在电子设备900的前面板。接近传感器916用于采集用户与电子设备900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与电子设备900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与电子设备900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对电子设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在本申请实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中执行互动操作的方法。该计算机可读存储介质可以是非暂态的。例如,所述计算机可读存储介质可以是ROM(Read-OnlyMemory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、CD-ROM、磁带、软盘和光数据存储设备等。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号(包括但不限于用户终端与其他设备之间传输的信号等),均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的部分可能的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种块效应检测的方法,其特征在于,所述方法包括:
接收服务器发送的编码视频帧,对所述编码视频帧进行解码得到解码视频帧;
获取所述解码视频帧中宏块的中部区域的像素点的像素值;
基于所述宏块的中部区域的像素点的像素值,确定所述解码视频帧中存在块效应的相邻宏块对的数目;
确定所述存在块效应的相邻宏块对的数目与所述解码视频帧中相邻宏块对的总数目的比值,作为块效应显著度指标;
向所述服务器发送所述块效应显著度指标,其中,所述块效应显著度指标用于指示所述服务器基于所述块效应显著度指标调整对终端发送的视频流的编码码率。
2.根据权利要求1所述的方法,其特征在于,所述基于所述宏块的中部区域的像素点的像素值,确定所述解码视频帧中存在块效应的相邻宏块对的数目,包括:
确定所述宏块的中部区域的像素点的像素值的方差和均值;
对于所述解码视频帧的相邻宏块对中的两个宏块,基于所述两个宏块分别对应的方差和均值,确定所述相邻宏块对是否存在块效应;
确定所述解码视频帧中存在块效应的相邻宏块对的数目。
3.根据权利要求2所述的方法,其特征在于,所述基于所述两个宏块分别对应的方差和均值,确定所述相邻宏块对是否存在块效应,包括:
响应于所述两个宏块对应的方差均小于方差阈值、以及所述两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值,确定所述相邻宏块对存在块效应;
响应于所述两个宏块中至少一个宏块对应的方差大于方差阈值、所述两个宏块对应的均值之差的绝对值大于第一均值阈值、或所述两个宏块对应的均值之差的绝对值小于第二均值阈值,确定所述相邻宏块对不存在块效应。
4.根据权利要求2所述的方法,其特征在于,所述基于所述两个宏块分别对应的方差和均值,确定所述相邻宏块对是否存在块效应,包括:
基于所述两个宏块对应的均值,确定目标取值区间;
确定所述两个宏块相邻的边界区域中像素点的像素值;
响应于所述两个宏块对应的方差均小于方差阈值、所述两个宏块对应的均值之差的绝对值小于第一均值阈值且大于第二均值阈值、以及边界区域中像素点的像素值均在所述目标取值区间中,确定所述相邻宏块对存在块效应;
响应于所述两个宏块中至少一个宏块对应的方差大于方差阈值、所述两个宏块对应的均值之差的绝对值大于第一均值阈值、所述两个宏块对应的均值之差的绝对值小于第二均值阈值、或边界区域中存在至少一个像素点的像素值不在所述目标取值区间中,确定所述相邻宏块对不存在块效应。
5.根据权利要求4所述的方法,其特征在于,所述基于所述两个宏块对应的均值,确定目标取值区间,包括:
将所述两个宏块对应的均值中较大的均值与目标数值之和确定为区间上限,并将所述两个宏块对应的均值中较小的均值与所述目标数值之差确定为区间下限,得到目标取值区间。
6.根据权利要求4所述的方法,其特征在于,所述两个宏块相邻的边界区域是所述两个宏块的边界分别与所述两个宏块的中部区域之间的矩形区域,所述宏块的中部区域是以所述宏块的中心为中心的正方形区域。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述获取所述解码视频帧中宏块的中部区域的像素点的像素值之前,还包括:
接收所述服务器发送的所述编码视频帧的量化参数;
确定所述量化参数大于量化参数阈值。
8.一种块效应检测的装置,其特征在于,所述装置包括:
解码模块,用于接收服务器发送的编码视频帧,对所述编码视频帧进行解码得到解码视频帧;
获取模块,用于获取所述解码视频帧中宏块的中部区域的像素点的像素值;
第一确定模块,用于基于所述宏块的中部区域的像素点的像素值,确定所述解码视频帧中存在块效应的相邻宏块对的数目;
第二确定模块,用于确定所述存在块效应的相邻宏块对的数目与所述解码视频帧中相邻宏块对的总数目的比值,作为块效应显著度指标;
发送模块,用于向所述服务器发送所述块效应显著度指标,其中,所述块效应显著度指标用于指示所述服务器基于所述块效应显著度指标调整对终端发送的视频流的编码码率。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器用于存储计算机指令;
所述处理器执行所述存储器存储的计算机指令,以使所述计算机设备执行上述权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序代码,响应于所述计算机程序代码被计算机设备执行,所述计算机设备执行上述权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211058970.8A CN117676170A (zh) | 2022-08-30 | 2022-08-30 | 块效应检测的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211058970.8A CN117676170A (zh) | 2022-08-30 | 2022-08-30 | 块效应检测的方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117676170A true CN117676170A (zh) | 2024-03-08 |
Family
ID=90064938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211058970.8A Pending CN117676170A (zh) | 2022-08-30 | 2022-08-30 | 块效应检测的方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117676170A (zh) |
-
2022
- 2022-08-30 CN CN202211058970.8A patent/CN117676170A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11388403B2 (en) | Video encoding method and apparatus, storage medium, and device | |
EP3962086A1 (en) | Prediction mode decoding method and apparatus and prediction mode encoding method and apparatus | |
WO2019140952A1 (zh) | 视频编码方法、装置、设备及存储介质 | |
CN110881136A (zh) | 视频帧率控制方法、装置、计算机设备及存储介质 | |
CN110856019B (zh) | 码率分配的方法、装置、终端及存储介质 | |
CN111586431B (zh) | 进行直播处理的方法、装置、设备及存储介质 | |
US11985358B2 (en) | Artifact removal method and apparatus based on machine learning, and method and apparatus for training artifact removal model based on machine learning | |
CN109168032B (zh) | 视频数据的处理方法、终端、服务器及存储介质 | |
CN110996117B (zh) | 视频转码方法、装置、电子设备和存储介质 | |
CN111770340A (zh) | 视频编码方法、装置、设备以及存储介质 | |
CN111405312A (zh) | 直播推流方法、装置、终端、服务器及存储介质 | |
CN111586413B (zh) | 视频调整方法、装置、计算机设备及存储介质 | |
CN111010588B (zh) | 直播处理方法、装置、存储介质及设备 | |
CN110049326B (zh) | 视频编码方法及装置、存储介质 | |
CN111586433B (zh) | 码率调整方法、装置、设备及存储介质 | |
CN110177275B (zh) | 视频编码方法及装置、存储介质 | |
CN116074512A (zh) | 视频编码方法、装置、电子设备以及存储介质 | |
CN111698262B (zh) | 带宽确定方法、装置、终端及存储介质 | |
CN116563771A (zh) | 图像识别方法、装置、电子设备及可读存储介质 | |
CN112153404B (zh) | 码率调整方法、检测方法、装置、设备及存储介质 | |
CN110913213B (zh) | 视频质量评测处理的方法、装置及*** | |
CN117676170A (zh) | 块效应检测的方法、装置、设备和存储介质 | |
CN109040753B (zh) | 预测模式选择方法、装置及存储介质 | |
CN113709479A (zh) | 基于自适应帧内刷新机制的解码、编码方法及相关设备 | |
CN111478914A (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 |