CN113452996B - 一种视频编码、解码方法及装置 - Google Patents
一种视频编码、解码方法及装置 Download PDFInfo
- Publication number
- CN113452996B CN113452996B CN202110637173.4A CN202110637173A CN113452996B CN 113452996 B CN113452996 B CN 113452996B CN 202110637173 A CN202110637173 A CN 202110637173A CN 113452996 B CN113452996 B CN 113452996B
- Authority
- CN
- China
- Prior art keywords
- video frame
- resolution
- coding
- sample
- encoded
- 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 51
- 238000001514 detection method Methods 0.000 claims abstract description 118
- 238000012549 training Methods 0.000 claims abstract description 40
- 238000000605 extraction Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000006870 function Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002123 temporal 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
- H04N19/865—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video
-
- 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及视频处理技术领域,尤其涉及一种视频编码、解码方法及装置,对获取到的待编码视频帧进行特征提取,获得所述待编码视频帧的图像特征;获得所述待编码视频帧的编码码率;基于已训练的分辨率检测模型,以所述图像特征和所述编码码率为输入参数,确定所述待编码视频帧对应的编码分辨率,其中,所述分辨率检测模型为根据各视频帧样本的图像样本特征、所述各视频帧样本的编码码率样本和对应的分辨率标签通过迭代训练获得的;将所述待编码视频帧下采样至确定出的编码分辨率,并对下采样后的所述待编码视频帧进行编码,获得所述视频帧的编码数据。这样,能够提高直播视频的画质。
Description
技术领域
本公开涉及视频处理技术领域,尤其涉及一种视频编码、解码方法及装置。
背景技术
目前,由于在不同场景下,影响视频画质的因素各不相同,因此,在对视频编码时,所使用到的编码参数也是不同的。例如,针对动作片、纪录片、动画片、体育赛事进行编码时,为了保证在不同场景达到画质最优、成本最低的效果,需要确定出不同场景下针对该视频的最优的编码参数。
相关技术中,通常先将待编码视频进分割,获得多段视频,并针对每段视频使用不同的编码参数进行多次编码,再将各段视频整合在一起,进行整体优化,从而获得视频的最优的编码参数。然而,相关技术中的这种编码方式由于需要对整段视频进行优化,因此,仅能对非直播场景下的视频进行优化,而对于直播视频来说却无法实现。因此,如何能够找到直播视频的效果最优的编码分辨率,提高直播视频的画质,成为了一个亟待解决的问题。
发明内容
本公开实施例提供一种视频编码、解码方法及装置,以提高直播视频的画质。
本公开实施例提供的具体技术方案如下:
一种视频编码方法,应用于编码端,包括:
对获取到的待编码视频帧进行特征提取,获得所述待编码视频帧的图像特征;
获得所述待编码视频帧的编码码率;
基于已训练的分辨率检测模型,以所述图像特征和所述编码码率为输入参数,确定所述待编码视频帧对应的编码分辨率,其中,所述分辨率检测模型为根据各视频帧样本的图像样本特征、所述各视频帧样本的编码码率样本和对应的分辨率标签通过迭代训练获得的;
将所述待编码视频帧下采样至确定出的编码分辨率,并对下采样后的所述待编码视频帧进行编码,获得所述视频帧的编码数据。
可选的,确定所述待编码视频帧对应的编码分辨率,具体包括:
根据所述图像特征和所述编码码率,对所述待编码视频帧进行分类,确定所述待编码视频帧所属的分辨率类别,其中,所述分辨率检测模型用于确定至少一种分辨率类别;
根据所述分辨率类别,以及所述分辨率类别对应的编码分辨率,确定所述编码视频帧对应的编码分辨率。
可选的,所述分辨率检测模型的训练方式为:
获取视频帧样本集,其中,所述视频帧样本集中至少包括各视频帧样本;
分别对所述各视频帧样本进行特征提取,获得所述各视频帧样本的图像样本特征;
分别针对所述各视频帧样本,确定任意一张视频帧样本的编码码率样本和分辨率标签;
将分辨率标签相同的视频帧样本分为一类,获得各分辨率类别;
分别根据所述各分辨率类别下的各图像样本特征、对应的编码码率样本和对应的分辨率标签,对初始的分辨率检测模型进行迭代训练,直至所述分辨率检测模型的目标函数收敛,获得训练完成的所述分辨率检测模型,其中,所述目标函数为各图像样本特征、对应的编码码率样本和对应的分辨率标签之间的交叉熵函数最小化。
可选的,确定任意一张视频帧样本的分辨率标签,具体包括:
确定各编码参数组合,其中,每一种编码参数组合中至少包括编码分辨率、最大编码码率、最小编码码率和编码码率;
分别通过所述各编码参数组合中的编码分辨率和编码码率,对任意一张视频帧样本进行下采样处理,获得各下采样后的视频帧样本;
分别根据计算所述各下采样后的视频帧样本的图像质量分值;
从确定出的各图像质量分值中,确定出最高图像质量分值对应的下采样后的视频帧样本,以及对应的编码参数组合;
将确定出的编码参数组合中的编码分辨率作为该视频帧样本的分辨率标签。
可选的,对下采样后的所述待编码视频帧进行编码,具体包括:
根据所述编码分辨率和所述编码码率,对所述下采样后的待编码视频帧进行编码。
可选的,确定所述待编码视频帧的编码码率,进一步包括:
获取所述待编码视频帧的前一帧的待编码视频帧;
对所述前一帧的待编码视频帧进行特征提取,获得所述前一帧的待编码视频帧的图像特征;
基于已训练的场景切换识别模型,以所述待编码视频帧的图像特征和所述前一帧的待编码视频帧的图像特征为输入参数,确定所述待编码视频帧是否发生场景切换;
确定所述待编码视频帧发生场景切换时,执行确定所述待编码视频帧对应的编码分辨率的步骤。
一种视频解码方法,应用于解码端,包括:
获取编码端发送的编码数据,其中,所述编码数据为所述编码端将待编码视频帧下采样至编码分辨率,并对下采样后的所述待编码视频帧进行编码获得的,所述编码分辨率为所述编码端基于已训练的分辨率检测模型,以待编码视频帧的图像特征和编码码率为输入参数确定出的;
对所述编码数据进行解码,获得视频帧;
按照预设的展示方式展示所述视频帧。
可选的,按照预设的展示方式展示所述视频帧,进一步包括:
接收所述编码端发送的预设的基本分辨率;
若确定所述基本分辨率与所述视频帧的实际分辨率不相同,则将所述视频帧上采样至所述基本分辨率。
一种视频编码装置,应用于编码端,包括:
第一特征提取模块,用于对获取到的待编码视频帧进行特征提取,获得所述待编码视频帧的图像特征;
第一获取模块,用于获得所述待编码视频帧的编码码率;
检测模块,用于基于已训练的分辨率检测模型,以所述图像特征和所述编码码率为输入参数,确定所述待编码视频帧对应的编码分辨率,其中,所述分辨率检测模型为根据各视频帧样本的图像样本特征、所述各视频帧样本的编码码率样本和对应的分辨率标签通过迭代训练获得的;
处理模块,用于将所述待编码视频帧下采样至确定出的编码分辨率,并对下采样后的所述待编码视频帧进行编码,获得所述视频帧的编码数据。
可选的,确定所述待编码视频帧对应的编码分辨率时,检测模块具体用于:
根据所述图像特征和所述编码码率,对所述待编码视频帧进行分类,确定所述待编码视频帧所属的分辨率类别,其中,所述分辨率检测模型用于确定至少一种分辨率类别;
根据所述分辨率类别,以及所述分辨率类别对应的编码分辨率,确定所述编码视频帧对应的编码分辨率。
可选的,训练所述分辨率检测模型时,进一步包括:
第二获取模块,用于获取视频帧样本集,其中,所述视频帧样本集中至少包括各视频帧样本;
第二特征提取模块,用于分别对所述各视频帧样本进行特征提取,获得所述各视频帧样本的图像样本特征;
确定模块,用于分别针对所述各视频帧样本,确定任意一张视频帧样本的编码码率样本和分辨率标签;
分类模块,用于将分辨率标签相同的视频帧样本分为一类,获得各分辨率类别;
训练模块,用于分别根据所述各分辨率类别下的各图像样本特征、对应的编码码率样本和对应的分辨率标签,对初始的分辨率检测模型进行迭代训练,直至所述分辨率检测模型的目标函数收敛,获得训练完成的所述分辨率检测模型,其中,所述目标函数为各图像样本特征、对应的编码码率样本和对应的分辨率标签之间的交叉熵函数最小化。
可选的,确定任意一张视频帧样本的分辨率标签时,确定模块具体用于:
确定各编码参数组合,其中,每一种编码参数组合中至少包括编码分辨率、最大编码码率、最小编码码率和编码码率;
分别通过所述各编码参数组合中的编码分辨率和编码码率,对任意一张视频帧样本进行下采样处理,获得各下采样后的视频帧样本;
分别根据计算所述各下采样后的视频帧样本的图像质量分值;
从确定出的各图像质量分值中,确定出最高图像质量分值对应的下采样后的视频帧样本,以及对应的编码参数组合;
将确定出的编码参数组合中的编码分辨率作为该视频帧样本的分辨率标签。
可选的,对下采样后的所述待编码视频帧进行编码时,处理模块具体用于:
根据所述编码分辨率和所述编码码率,对所述下采样后的待编码视频帧进行编码。
可选的,确定所述待编码视频帧的编码码率,确定模块具体用于:
获取所述待编码视频帧的前一帧的待编码视频帧;
对所述前一帧的待编码视频帧进行特征提取,获得所述前一帧的待编码视频帧的图像特征;
基于已训练的场景切换识别模型,以所述待编码视频帧的图像特征和所述前一帧的待编码视频帧的图像特征为输入参数,确定所述待编码视频帧是否发生场景切换;
确定所述待编码视频帧发生场景切换时,执行确定所述待编码视频帧对应的编码分辨率的步骤。
一种视频解码装置,应用于解码端,包括:
获取模块,用于获取编码端发送的编码数据,其中,所述编码数据为所述编码端将待编码视频帧下采样至编码分辨率,并对下采样后的所述待编码视频帧进行编码获得的,所述编码分辨率为所述编码端基于已训练的分辨率检测模型,以待编码视频帧的图像特征和编码码率为输入参数确定出的;
解码模块,用于对所述编码数据进行解码,获得视频帧;
展示模块,用于按照预设的展示方式展示所述视频帧。
可选的,按照预设的展示方式展示所述视频帧,进一步包括:
接收模块,用于接收所述编码端发送的预设的基本分辨率;
上采样模块,用于若确定所述基本分辨率与所述视频帧的实际分辨率不相同,则将所述视频帧上采样至所述基本分辨率。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述视频编码方法或视频解码方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述视频编码方法或视频解码方法的步骤。
本公开实施例中,对获取到的待编码视频帧进行特征提取,获得待编码视频帧的图像特征,获得待编码视频帧的编码码率,基于已训练的分辨率检测模型,以图像特征和编码码率为输入参数,确定待编码视频帧对应的编码分辨率,将待编码视频帧下采样至确定出的编码分辨率,并对下采样后的待编码视频帧进行编码,获得待编码视频帧的编码数据。这样,由于直播视频是由各视频帧组成的,因此,通过对预先训练好的分辨率检测模型,确定出待编码视频帧的最合适的编码分辨率,并将待编码视频帧下采样到确定出的编码分辨率之后进行编码和传输,从而解码端可以解码显示视频帧,通过这种方式,能够找到直播视频的画质效果最好的编码分辨率,从而提高了直播视频的画质。
附图说明
图1为本公开实施例中一种视频编码方法的流程图;
图2为本公开实施例中分辨率检测模型的训练方式的流程图;
图3为本公开实施例中确定分辨率标签的流程图;
图4为本公开实施例中Resnet18网络的结构示意图;
图5为本公开实施例中一种视频编码方法的另一流程图;
图6为本公开实施例中一种视频传输方法的流程图;
图7为本公开实施例中一种视频解码方法的流程图;
图8为本公开实施例中视频编码装置的结构示意图;
图9为本公开实施例中视频解码装置的结构示意图;
图10为本公开实施例中电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,并不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
目前,随着移动终端和网络技术的发展,视频编码技术可以用于多种不同的场景,在不同的场景下,影响画质的因素也是不相同的。而针对不同的应用场景,为了能够达到画质最优且成本最小的效果,需要确定出不同应用场景下视频编码的参数。例如,针对动作片、纪录片、动画片、体育赛事进行编码时,所使用到的编码参数是不同的。
相关技术中,在确定视频的编码参数时,先将视频进行分段,并确定出每一段视频的最优的编码参数,再将各确定出最优的编码参数的视频进行整合,进行整体优化,从而找到视频的最优编码参数。但是,相关技术中的这种方法,由于需要先将视频进行分段,因此,无法对直播视频进行处理。如何能够找到直播视频的效果最优的编码分辨率,提高直播视频的画质,成为了一个亟待解决的问题。
本公开实施例中,对获取到的待编码视频帧进行特征提取,获得待编码视频帧的图像特征,获得待编码视频帧的编码码率,基于已训练的分辨率检测模型,以图像特征和编码码率为输入参数,确定待编码视频帧对应的编码分辨率,将待编码视频帧下采样至确定出的编码分辨率,并对下采样后的待编码视频帧进行编码,获得待编码视频帧的编码数据。这样,通过已训练的分辨率检测模型,对待编码视频帧的编码分辨率检测,从而根据检测获得的该待编码视频帧对应的最优编码分辨率进行编码,能够提高编码后的直播视频的清晰度。
基于上述实施例,参阅图1所示,为本公开实施例中一种视频编码方法的流程图,具体包括:
步骤100:对获取到的待编码视频帧进行特征提取,获得待编码视频帧的图像特征。
本公开实施例中,通过采集设备获取直播视频的待编码视频帧,在采集到待编码视频帧之后,将待编码视频帧发送给编码端,编码端在接收到待编码视频帧之后,通过预设的特征提取方式,对获取到的待编码视频帧进行特征提取,获得待编码视频帧的图像特征。
其中,采集设备例如可以为摄像机、扫描仪、雷达视频图像采集仪、超声波图像采集仪和微波图像采集仪等设备中的一种或多种,采集设备用于采集原始的视频图像。
需要说明的是,由于直播视频是由多个待编码视频帧组成的,因此,本公开实施例中的视频编码方法可以应用于对直播视频进行编码的场景中,还可以应用于实时音视频(Real-Time Communication,RTC)等实时场景中。
另外,需要说明的是,本公开实施例中的方法是针对一张待编码视频帧进行处理的。
进一步地,编码端在初始化时,指定基本分辨率,该基本分辨率会传输给解码端。
步骤110:获得待编码视频帧的编码码率。
本公开实施例中,由于需要采用对应的编码码率对待编码视频帧进行编码,因此,在编码之前,首先需要确定待编码视频帧的编码码率。
其中,编码码率表征待编码视频帧数据传输时单位时间传送的数据位数,每一待编码视频帧对应一个编码码率。
需要说明的是,本公开实施例中的编码码率的确定方式例如可以为根据网络环境来确定,又例如,可以由用户自行设定,再例如,可以根据应用场景确定等,本公开实施例中对编码码率的确定方式并不进行限制。
其中,网络环境例如可以为网络带宽,本公开实施例中对此并不进行限制。
进一步地,确定待编码视频帧的编码码率之后,还可以通过判断待编码视频帧的场景是否已经进行切换,若确定待编码视频帧的场景已经切换,则需要确定待编码视频帧的编码分辨率,因此,执行确定待编码视频帧对应的编码分辨率的步骤。若确定待编码视频帧的场景未进行切换,则无需再次确定待编码视频帧对应的编码分辨率,可以直接将前一帧待编码视频帧对应的编码分辨率,作为该待编码视频对应的编码分辨率。下面对本公开实施例中判断是否进行场景切换的步骤进行详细阐述,具体包括:
S1101:获取待编码视频帧的前一帧的待编码视频帧。
本公开实施例中,可以根据前后两帧待编码视频帧的图像特征,确定当前的待编码视频帧的场景是否发生切换,因此,在对待编码视频帧的场景是否切换进行检测的时候,需要获取待编码视频帧的前一帧的待编码视频帧。
S1102:对前一帧的待编码视频帧进行特征提取,获得前一帧的待编码视频帧的图像特征。
本公开实施例中,在获取到前一帧的待编码视频帧之后,通过预设的图像特征提取方式,对获取到的前一帧的待编码视频帧进行特征提取,从而获得前一帧的待编码视频帧的图像特征。
需要说明的是,在对前一帧的待编码视频帧进行特征提取时,可以通过与当前的待编码视频帧不相同的图像特征提取方式,对前一帧的待编码视频帧进行特征提取,本公开实施例中对此并不进行限制。
较佳地,本公开实施例中的一种实施方式为,前一帧的待编码视频帧所对应的图像特征提取方式与当前帧的待编码视频帧的图像特征提取方式相同。这样,若当前帧的待编码视频帧的图像特征提取方式与前一帧的待编码视频帧的图像特征提取方式相同,且当前帧的待编码视频帧的场景未切换时,则确定出的图像特征与上一帧的待编码视频帧的图像特征是相同的,若当前帧的待编码视频帧的场景切换时,则确定出的图像特征与上一帧的待编码视频帧的图像特征不同。因此,使用相同的图像特征提取方式,能够提高对场景是否切换的检测的准确性。
S1103:基于已训练的场景切换识别模型,以待编码视频帧的图像特征和前一帧的待编码视频帧的图像特征为输入参数,确定待编码视频帧是否发生场景切换。
本公开实施例中,首先,训练场景切换识别模型。然后,通过已训练的场景切换识别模型,以当前帧的待编码视频帧的图像特征,以及前一帧的待编码视频帧的图像特征为输入参数,通过已训练的场景切换识别模型,确定当前帧的待编码视频帧的图像特征与前一帧的待编码视频帧的图像特征是否相同。若确定二者相同,则确定当前帧的待编码视频帧未发生场景切换,若确定二者不相同,则确定当前帧的待编码视频帧发生了场景切换。
S1104:确定待编码视频帧发生场景切换时,执行确定待编码视频帧对应的编码分辨率的步骤。
本公开实施例中,若确定待编码视频帧发生了场景切换,则执行确定待编码视频帧对应的编码分辨率的步骤,也就是说,由于发生了场景切换,则无法使用上一帧的待编码视频帧对应的编码分辨率进行编码,需要重新确定该待编码视频帧对应的编码分辨率,从而根据确定出的编码分辨率进行编码。
进一步地,若确定待编码视频帧未发生场景切换,则待编码视频帧无需重新确定编码分辨率,可以根据上一帧待编码视频帧所对应的编码分辨率,对当前帧的待编码视频帧进行编码即可。
因此,通过本公开实施例中,在确定待编码视频帧对应的编码分辨率之前,首先确定待编码视频帧是否发生场景切换,若未发生场景切换,则无需重新确定编码分辨率,这样,能够减少计算量,提高编码效率。
步骤120:基于已训练的分辨率检测模型,以图像特征和编码码率为输入参数,确定待编码视频帧对应的编码分辨率。
其中,分辨率检测模型为根据各视频帧样本的图像样本特征、各视频帧样本的编码码率样本和对应的分辨率标签通过迭代训练获得的。
本公开实施例中,获取预先训练的分辨率检测模型,将确定出的图像特征和确定出的编码码率输入至已训练的分辨率检测模型中,对待编码视频帧所对应的编码分辨率进行检测,从而确定待编码视频帧对应的编码分辨率。也就是说,分辨率检测模型的输入参数为待编码视频帧的图像特征和编码码率,输出参数为待编码视频帧的编码分辨率。
其中,在将待编码视频帧的图像特征和编码码率输入至分辨率检测模型之后,由分辨率检测模型确定待编码视频帧对应的编码分辨率,下面对本公开实施例中确定待编码视频帧对应的编码分辨率的步骤进行详细阐述,具体包括:
S1201:根据图像特征和编码码率,对待编码视频帧进行分类,确定待编码视频帧所属的分辨率类别。
其中,分辨率检测模型用于确定至少一种分辨率类别。
本公开实施例中,由于分辨率检测模型用于确定至少一种分辨率类别,因此,通过分辨率检测模型,对待编码视频帧的图像特征和对应的编码码率进行分析,计算待编码视频帧的图像特征与分辨率检测模型中的各分辨率类别中的各图像特征之间的特征相似度,从而确定特征相似度最高的图像特征对应的分辨率类别。
例如,待编码视频帧的图像特征为A1,编码码率为6000kb/s,根据图像特征A1和编码码率6000kb/s,确定出待编码视频帧所属的分辨率类别为1920x1080的类别。
S1202:根据分辨率类别,以及分辨率类别对应的编码分辨率,确定编码视频帧对应的编码分辨率。
本公开实施例中,由于每一种分辨率类别对应一个编码分辨率,因此,当确定出待编码视频帧所属的分辨率类别之后,根据确定出的分辨率类别所对应的编码分辨率,确定待编码视频对应的编码分辨率。
例如,假设待编码视频帧所属的分辨率类别为x,分辨率类别x所对应的编码分辨率为1920x1080,则能够确定出待编码视频帧对应的编码分辨率为1920x1080。
步骤130:将待编码视频帧下采样至确定出的编码分辨率,并对下采样后的待编码视频帧进行编码,获得视频帧的编码数据。
本公开实施例中,在确定出编码分辨率之后,将待编码视频帧下采样至确定出的编码分辨率,从而获得下采样后的待编码视频帧,然后,通过预设的编码方式,对下采样后的带编码视频帧进行编码,最终获得视频帧的编码数据。
具体地,在对下采样后的待编码视频帧进行编码时,可以通过编码分辨率和编码码率进行编码,具体包括:
根据编码分辨率和编码码率,对下采样后的待编码视频帧进行编码。
进一步地,在获得视频帧的编码数据之后,将编码数据发送至解码端,以使解码端对编码数据进行解码,获得视频帧,并展示视频帧。
进一步地,在展示视频帧时,还可以将视频帧上采样至基本分辨率,并展示上采样后的视频帧,具体包括:
S1301:获取待编码视频帧的基本分辨率。
S1302:将基本分辨率发送给解码端,以使解码端确定基本分辨率与视频帧的实际分辨率不符时,将视频帧上采样至基本分辨率,并展示上采样后的视频帧。
本公开实施例中,对获取到的待编码视频帧进行特征提取,获得待编码视频帧的图像特征,获得待编码视频帧的编码码率,基于已训练的分辨率检测模型,以图像特征和编码码率为输入参数,确定待编码视频帧的编码分辨率,将待编码视频帧下采样至确定出的编码分辨率,并对下采样后的待编码视频帧进行编码,获得视频帧的编码数据。这样,首先离线训练分辨率检测模型,并以图像特征和编码码率为输入参数,输出编码分辨率,对待编码视频帧使用该编码分辨率进行编码,从而能够找到待编码视频帧的最优的编码参数,提高了直播视频的画质。
基于上述实施例,参阅图2所示,为本公开实施例中分辨率检测模型的训练方式的流程图,具体包括:
步骤200:获取视频帧样本集。
其中,视频帧样本集中至少包括各视频帧样本。
本公开实施例中,在训练分辨率检测模型时,首先获取视频帧样本集,视频帧样本集中至少包括各视频帧样本。
步骤210:分别对各视频帧样本进行特征提取,获得各视频帧样本的图像样本特征。
本公开实施例中,在获取到视频帧样本集中包含的各视频帧样本之后,分别针对各视频帧样本,基于预设的图像特征识别方式,对任意一张视频帧样本进行特征提取,获得该视频帧样本对应的图像样本特征。对于视频帧样本集中包含的各视频帧样本均执行上述操作步骤,从而获得各视频帧样本对应的图像样本特征。
需要说明的是,每一个视频帧样本对应一个图像样本特征。
步骤220:分别针对各视频帧样本,确定任意一张视频帧样本的编码码率样本和分辨率标签。
本公开实施例中,分别针对各视频帧样本,确定任意一张视频帧样本的编码码率样本,以及该视频帧样本对应的分辨率标签。
其中,分辨率标签用于在训练过程中通过分辨率标签以及预测获得的编码分辨率对初始的分辨率检测模型进行训练。
下面对本公开实施例中确定视频帧样本的分辨率标签的步骤进行详细阐述,具体包括:
S2201:确定各编码参数组合。其中,每一种编码参数组合中至少包括编码分辨率、最大编码码率、最小编码码率和编码码率。
本公开实施例中,将最常用的编码分辨率-编码码率定义作为固定阶梯,从而设置好固定阶梯的大小,固定阶梯为各编码参数组合,每一种编码参数组合中至少包括编码分辨率、最大编码码率、最小编码码率和编码码率。
例如,本公开实施例中的编码参数组合为:
编码分辨率:1920×1080,编码码率6000kb/s,最小编码码率2000kb/s,最大编码码率8000kb/s;
编码分辨率:1280×720,编码码率4000kb/s,最小编码码率1300kb/s,最大编码码率5000kb/s;
编码分辨率:960×540,编码码率3100kb/s,最小编码码率700kb/s,最大编码码率4000kb/s;
编码分辨率:640×360,编码码率2100kb/s,最小编码码率300kb/s,最大编码码率2000kb/s;
编码分辨率:480×270,编码码率1000kb/s,最小编码码率300kb/s,最大编码码率2000kb/s;
编码分辨率:480×270,编码码率700kb/s,最小编码码率150kb/s,最大编码码率1000kb/s。
其中,以第一行编码参数组合为例,编码分辨率为1920×1080,编码码率为6000kb/s,最小编码码率为2000kb/s,最大编码码率为8000kb/s,也就是说,当网络带宽为6000kb/s左右时,系统将会根据编码参数组合为所有待编码视频帧选择1920×1080的编码分辨率进行播放。
需要说明的是,所有视频帧样本不区分种类。
S2202:分别通过各编码参数组合中的编码分辨率和编码码率,对任意一张视频帧样本进行下采样处理,获得各下采样后的视频帧样本。
本公开实施例中,由于各编码参数组合中包含有编码分辨率和编码码率,因此,分别针对各编码参数组合,通过任意一组编码参数组合中的编码分辨率和编码码率,对该视频帧样本进行下采样处理,获得该编码参数组合下的下采样后的视频帧样本。
例如,假设各编码参数组合分别为:编码参数组合a:编码分辨率:1920×1080,编码码率6000kb/s,最小编码码率2000kb/s,最大编码码率8000kb/s;编码参数组合b:编码分辨率:1280×720,编码码率4000kb/s,最小编码码率1300kb/s,最大编码码率5000kb/s,则针对其中一张视频帧样本,使用编码分辨率1920×1080和编码码率6000kb/s对该视频帧样本进行下采样处理,获得编码参数组合a的下采样后的编码视频帧,然后,使用编码分辨率1280×720和编码码率4000kb/s对该视频帧样本进行下采样处理,获得编码参数组合b的下采样后的编码视频帧。
S2203:分别根据计算各下采样后的视频帧样本的图像质量分值。
本公开实施例中,分别针对各下采样后的视频帧样本,通过预设的图像质量检测方式,计算任意一下采样后的视频帧样本的图像质量分值。
其中,预设的图像质量检测方式例如可以为峰值信噪比(Peak Signal to NoiseRatio,psnr),又例如可以为结构相似性(Structural Similarity,SSIM),再例如可以为视频多方法评估融合(Video Multimethod Assessment Fusion,VMAF),例如还可以为均方误差(Mean-squared-error,MSE)算法,本公开实施例中对此并不进行限制。
其中,在通过VMAF计算图像质量分值时,通过计算视频帧样本的视觉质量保真度(VIF,visual quality fidelity)、细节缺失测量(detail loss measure,DLM)和相关性信息(TI,temporal information),从而确定图像质量分值。VIF和DLM是视频帧样本特征,TI是多帧视频帧样本之间相关性的特征。
在通过SSIM计算图像质量分值时,通过计算视频帧样本的亮度(luminance)、对比度(contrast)和结构(structure),从而融合获得视频帧样本的图像质量分值。
S2204:从确定出的各图像质量分值中,确定出最高图像质量分值对应的下采样后的视频帧样本,以及对应的编码参数组合。
本公开实施例中,每一下采样后的视频帧样本对应一个图像质量分值,根据各下采样后的视频帧样本对应的图像质量分值,从确定出的各下采样后的视频帧样本中确定出图像质量分值最高的下采样后的视频帧样本,以及在对该视频帧样本进行下采样时所使用到的编码参数组合。
S2205:将确定出的编码参数组合中的编码分辨率作为该视频帧样本的分辨率标签。
本公开实施例中,由于编码参数组合中,预先设置有编码分辨率,因此,将确定出的编码参数组合中的编码分辨率作为该视频帧样本的分辨率标签。
下面采用一个具体的例子对本公开实施例中确定分辨率标签的步骤进行详细阐述,参阅图3所示,为本公开实施例中确定分辨率标签的流程图。首先,若确定视频帧样本的分辨率低于1080p,则将1080p下采样至相应的编码分辨率,再上采样至1080p。将上采样至1080p的视频帧样本与未经过上采样的视频帧样本进行交叉评分,获得视频帧样本对应的psnr值,然后,分别针对每个分辨率执行上述步骤,从而获得每个码率和分辨率下的psnr值,然后,从每个码率和分辨率下的psnr值中选择出分值最高的编码分辨率,并将该编码分辨率作为该视频帧样本对应的分辨率标签。
步骤230:将分辨率标签相同的视频帧样本分为一类,获得各分辨率类别。
本公开实施例中,在确定出各每个视频帧样本的分辨率标签之后,将分辨率标签相同的视频帧样本分为一类,获得各分辨率类别。
其中,每一种分辨率类别中的各视频帧样本对应的分辨率类别是相同的。
例如,假设视频帧样本A在编码分辨率为1280×720,编码码率为4M/s时计算出的psnr值最高,视频帧样本N在编码分辨率为1280×720,编码码率为4M/s时计算出的psnr值最高,则将视频帧样本A和视频帧样本N分为一类,获得分辨率类别,以及分辨率类别对应的编码分辨率为1280×720。
这样,每一种分辨率类别对应的多个图像特征,这样,通过分辨率检测模型进行编码分辨率检测时,将待编码视频帧对应的图像特征与分辨率类别中的多个图像特征进行比对,从而确定待编码视频帧对应的分辨率类别。
步骤240:分别根据各分辨率类别下的各图像样本特征、对应的编码码率样本和对应的分辨率标签,对初始的分辨率检测模型进行迭代训练,直至分辨率检测模型的目标函数收敛,获得训练完成的分辨率检测模型。
其中,目标函数为各图像样本特征、对应的编码码率样本和对应的分辨率标签之间的交叉熵函数最小化。
本公开实施例中,首先,选取分类网络,并将选取的分类网络作为初始的分辨率检测模型。
其中,初始的分辨率检测模型例如可以为Resnet18网络,参阅图4所示,为本公开实施例中Resnet18网络的结构示意图。Resnet18网络包括conv1、conv2_x、conv3_x、conv4_x和conv5_x。conv1的输出大小为112×112,conv2_x的输出大小为56×56,conv3_x的输出大小为28×28,conv4_x的输出大小为14×14,conv5_x的输出大小为7×7,最终输出的大小为1×1。
当然,本公开实施例中还可以选取其它分类网络作为初始的分辨率检测模型,本公开实施例中对此并不进行限制。
然后,在确定出各分辨率类别之后,分别针对各分辨率类别,执行以下操作步骤:
分别针对任意一种分辨率类别下的各视频帧样本,将任意一视频帧样本的图像样本特征、对应的编码分辨率样本输入至初始的分辨率检测模型中,确定出该视频帧样本对应的编码分辨率,然后,根据确定出的编码分辨率,以及该视频帧样本的分辨率标签,对初始的分辨率检测模型的各参数进行调整,直至分辨率检测模型的目标函数收敛后,获得训练完成的分辨率检测模型。
最后,获得训练完成的分辨率检测模型。
本公开实施例中,首先,通过获取到的视频帧样本集进行离线学习,对输入至初始的分辨率检测模型中的视频帧样本进行特征提取,获得图像样本特征,然后,对图像样本特征利用机器学习或深度学习的方法进行训练,获得已训练的分辨率检测模型。这样,通过已训练的分辨率检测模型,找到待编码视频帧的最合适的编码分辨率,再下采样到该编码分辨率进行编码和传输,从而能够提高直播视频的画质。
基于上述实施例,参阅图5所示,为本公开实施例中一种视频编码方法的另一流程图,具体包括:
步骤500:对编码端进行初始化,确定待编码视频帧的基本分辨率,并将基本分辨率发送至解码端。
步骤510:通过摄像机采集获得待编码视频帧,并通过Qos模块确定待编码视频帧的编码码率。
步骤520:基于已训练的场景切换识别模型,以待编码视频帧为输入参数,判断待编码视频帧是否场景切换,若是,则执行步骤530,若否,则执行步骤510。
步骤530:将待编码视频帧的图像特征和编码码率输入至已训练的分辨率检测模型,确定待编码视频帧对应的编码分辨率。
步骤540:将待编码视频帧下采样至编码分辨率。
步骤550:将待编码视频帧下采样至确定出的编码分辨率,并对下采样后的待编码视频帧进行编码,获得视频帧的编码数据。
本公开实施例中,首先离线训练分辨率检测模型,该分辨率检测模型的输入为图像特征和编码码率,输出为分辨率类别和分辨率类别对应的编码分辨率,在实际使用过程中,将待编码视频帧的图像特征和编码码率输入至已训练的分辨率检测模型中,输出编码分辨率,并对该待编码视频帧使用确定出的编码分辨率进行编码。这样,通过已训练的分辨率检测模型能够找到效果最好的编码分辨率,从而提高了直播视频的画质。
基于上述实施例,参阅图6所示,为本公开实施例中一种视频传输方法的流程图,具体包括:
步骤600:离线训练分辨率检测模型。
本公开实施例中,首先通过离线的方式训练分辨率检测模型,当分辨率检测模型训练完成之后,就可以根据已训练的分辨率检测模型确定直播视频中的每一张待编码视频帧对应的待编码分辨率。
其中,本公开实施例中的分辨率检测模型为分类器。也就是说,分辨率检测模型用于确定至少一种分辨率类别,从而根据分辨率类别,以及分辨率类别对应的编码分辨率,确定待编码视频帧对应的编码分辨率。
步骤601:获取待编码视频帧。
本公开实施例中,通过预设的图像采集设备,采集待编码视频帧,并将采集到的待编码视频帧发送给编码端,从而编码端获取到待编码视频帧。
步骤602:对待编码视频帧进行特征提取,获得待编码视频帧的图像特征。
本公开实施例中,在获取到待编码视频帧之后,通过预设的特征提取方式对待编码视频帧进行特征提取,从而获得待编码视频帧的图像特征。
步骤603:将图像特征和编码码率输入至已训练的分辨率检测模型中,确定待编码视频帧的编码分辨率。
本公开实施例中,获得待编码视频帧的编码码率,并以待编码视频帧的图像特征和编码码率作为分辨率检测模型的输入参数,通过已训练的分辨率检测模型对待编码视频帧进行分类,从而确定待编码视频帧所属的分辨率类别,然后,确定分辨率类别对应的编码分辨率,并将该编码分辨率作为待编码视频帧的最优的编码分辨率。这样,通过分辨率检测模型能够确定出待编码视频帧的最优编码分辨率,从而基于最优编码分辨率对待编码视频帧进行编码,能够显著提升视频帧的图像,从而提高直播视频的视频质量。
步骤604:将待编码视频帧下采样至编码分辨率,获得下采样后的待编码视频帧。
本公开实施例中,在确定出待编码视频帧的编码分辨率之后,将待编码视频帧下采样至通过已训练的分辨率检测模型确定出的编码分辨率,从而获得下采样后的待编码视频帧。
步骤605:将编码码率、编码分辨率和下采样后的待编码视频帧输入至编码器进行编码,获得编码数据。
本公开实施例中,将编码码率、编码分辨率和下采样后的待编码视频帧输入至编码器中,对下采样后的待编码视频帧进行编码,获得编码数据。
步骤606:通过网络传输编码数据至解码端。
本公开实施例中,在获得编码数据之后,编码器通过网络将编码数据传输至解码器。
步骤607:对编码数据进行解码,并将解码后获得的视频帧上采样至基本分辨率,并展示上采样后的视频帧。
本公开实施例中,当解码器获得编码数据后,对编码数据进行解码,获得解码后的视频帧,然后,获取预先设定的基本分辨率,以及视频帧的实际分辨率,若确定基本分辨率与视频帧的实际分辨率不相同,则将视频帧上采样至基本分辨率,并按照预设展示方式展示上采样后的视频帧。
本公开实施例中,通过已训练的分辨率检测模型,能够确定出待编码视频帧最优的编码分辨率,从而使用待编码视频帧对应的最优的编码分辨率对待编码视频帧进行编码,能够显著提升RTC,直播点播场景的端到端视频画质。
基于上述实施例,参阅图7所示,为本公开实施例中一种视频解码方法的流程图,应用于解码端,具体包括:
步骤700:获取编码端发送的编码数据。
其中,所述编码数据为所述编码端将待编码视频帧下采样至编码分辨率,并对下采样后的所述待编码视频帧进行编码获得的,所述编码分辨率为所述编码端基于已训练的分辨率检测模型,以待编码视频帧的图像特征和编码码率为输入参数确定出的。
本公开实施例中,首先由编码端将待编码视频帧下采样至确定出的编码分辨率,并对下采样后的待编码视频帧进行编码,获得编码数据,然后,对获取到的编码数据进行解码,从而获得解码后的视频帧。
需要说明的是,本公开实施例中的编码分辨率的获得方式为:编码端确定待编码视频帧的图像特征和编码码率,并将图像特征和编码码率输入至已训练的分辨率检测模型中,确定待编码视频帧所属的分辨率类别,并将分辨率类别对应的编码分辨率作为待编码视频帧的编码分辨率从而确定出的。
因此,通过本公开实施例中的编码方法能够确定出最优的编码分辨率,从而提高直播视频的质量。
步骤710:对编码数据进行解码,获得视频帧。
本公开实施例中,通过预设的解码方式,对接收到的编码数据进行解码,从而获得解码后的视频帧,同时,确定解码后的视频帧对应的实际分辨率。
需要说明的是,实际分辨率表征对编码数据解码后获得视频帧此时的分辨率。
进一步地,在获得视频帧之后,需要判断解码后的视频帧对应的实际分辨率与基本分辨率是否相同,从而确定是否需要对视频帧进行上采样,下面对本公开实施例中判断是否需要进行上采样的步骤进行详细阐述,具体包括:
步骤720:按照预设的展示方式展示视频帧。
本公开实施例中,在获得视频帧之后,按照预设的展示方式展示视频帧。
S7201:接收编码端发送的预设的基本分辨率。
本公开实施例中,编码端在系统初始化协商时得到基本分辨率,并将基本分辨率发送给解码端,从而解码端接收编码端发送的预设的基本分辨率。
S7202:若确定所述基本分辨率与所述视频帧的实际分辨率不相同,则将所述视频帧上采样至所述基本分辨率。
本公开实施例中,获取视频帧的实际分辨率,判断预设的基本分辨率与视频帧的实际分辨率是否相同,具体可以分为以下两种情况。
第一种情况:基本分辨率与视频帧的实际分辨率相同。
本公开实施例中,若确定基本分辨率与视频帧的实际分辨率相同,则无需上采样,可直接按照视频帧的实际分辨率展示解码获得的视频帧。
第二种情况:基本分辨率与视频帧的实际分辨率不同。
本公开实施例中,若确定基本分辨率与视频帧的实际分辨率不相同,则需要将解码后的视频帧上采样至基本分辨率,获得上采样后的视频帧,进而通过预设的展示方式展示上采样后的视频帧。
例如,假设预设的基本分辨率为1920x1080,此时解码后的视频帧的实际分辨率为960x540,此时确定预设的基本分辨率与解码后的视频帧的实际分辨率不相同,因此,需要将解码后的视频帧上采样至基本分辨率,也即,将视频帧上采样至1920x1080,获得分辨率为1920x1080的视频帧,并展示视频帧。这样,通过放大视频帧,从而可以使得视频帧能够显示在更高分辨率的展示设备上。
本公开实施例中,由于编码端在进行编码时,使用的是待编码视频帧对应的最优的编码分辨率进行编码的,因此,对传输的编码数据进行解码后的视频帧的画质是最优的,能够提升直播视频的画质。
基于同一发明构思,本公开实施例中还提供了一种视频编码装置,该视频编码装置可以是硬件结构、软件模块、或硬件结构加软件模块,该视频编码装置实施例可以继承前述方法实施例描述的内容。基于上述实施例,参阅图8所示为本公开实施例中视频编码装置的结构示意图,具体包括:
第一特征提取模块800,用于对获取到的待编码视频帧进行特征提取,获得所述待编码视频帧的图像特征;
第一获取模块810,用于获得所述待编码视频帧的编码码率;
检测模块820,用于基于已训练的分辨率检测模型,以所述图像特征和所述编码码率为输入参数,确定所述待编码视频帧对应的编码分辨率,其中,所述分辨率检测模型为根据各视频帧样本的图像样本特征、所述各视频帧样本的编码码率样本和对应的分辨率标签通过迭代训练获得的;
处理模块830,用于将所述待编码视频帧下采样至确定出的编码分辨率,并对下采样后的所述待编码视频帧进行编码,获得所述视频帧的编码数据。
可选的,确定所述待编码视频帧对应的编码分辨率时,检测模块820具体用于:
根据所述图像特征和所述编码码率,对所述待编码视频帧进行分类,确定所述待编码视频帧所属的分辨率类别,其中,所述分辨率检测模型用于确定至少一种分辨率类别;
根据所述分辨率类别,以及所述分辨率类别对应的编码分辨率,确定所述编码视频帧对应的编码分辨率。
可选的,训练所述分辨率检测模型时,进一步包括:
第二获取模块840,用于获取视频帧样本集,其中,所述视频帧样本集中至少包括各视频帧样本;
第二特征提取模块850,用于分别对所述各视频帧样本进行特征提取,获得所述各视频帧样本的图像样本特征;
确定模块860,用于分别针对所述各视频帧样本,确定任意一张视频帧样本的编码码率样本和分辨率标签;
分类模块870,用于将分辨率标签相同的视频帧样本分为一类,获得各分辨率类别;
训练模块880,用于分别根据所述各分辨率类别下的各图像样本特征、对应的编码码率样本和对应的分辨率标签,对初始的分辨率检测模型进行迭代训练,直至所述分辨率检测模型的目标函数收敛,获得训练完成的所述分辨率检测模型,其中,所述目标函数为各图像样本特征、对应的编码码率样本和对应的分辨率标签之间的交叉熵函数最小化。
可选的,确定任意一张视频帧样本的分辨率标签时,确定模块860具体用于:
确定各编码参数组合,其中,每一种编码参数组合中至少包括编码分辨率、最大编码码率、最小编码码率和编码码率;
分别通过所述各编码参数组合中的编码分辨率和编码码率,对任意一张视频帧样本进行下采样处理,获得各下采样后的视频帧样本;
分别根据计算所述各下采样后的视频帧样本的图像质量分值;
从确定出的各图像质量分值中,确定出最高图像质量分值对应的下采样后的视频帧样本,以及对应的编码参数组合;
将确定出的编码参数组合中的编码分辨率作为该视频帧样本的分辨率标签。
可选的,对下采样后的所述待编码视频帧进行编码时,处理模块830具体用于:
根据所述编码分辨率和所述编码码率,对所述下采样后的待编码视频帧进行编码。
可选的,确定所述待编码视频帧的编码码率,确定模块860具体用于:
获取所述待编码视频帧的前一帧的待编码视频帧;
对所述前一帧的待编码视频帧进行特征提取,获得所述前一帧的待编码视频帧的图像特征;
基于已训练的场景切换识别模型,以所述待编码视频帧的图像特征和所述前一帧的待编码视频帧的图像特征为输入参数,确定所述待编码视频帧是否发生场景切换;
确定所述待编码视频帧发生场景切换时,执行确定所述待编码视频帧对应的编码分辨率的步骤。
基于同一发明构思,本公开实施例中还提供了一种视频解码装置,该视频解码装置可以是硬件结构、软件模块、或硬件结构加软件模块,该视频解码装置实施例可以继承前述方法实施例描述的内容。基于上述实施例,参阅图9所示为本公开实施例中视频解码装置的结构示意图,具体包括:
获取模块900,用于获取编码端发送的编码数据,其中,所述编码数据为所述编码端将待编码视频帧下采样至编码分辨率,并对下采样后的所述待编码视频帧进行编码获得的,所述编码分辨率为所述编码端基于已训练的分辨率检测模型,以待编码视频帧的图像特征和编码码率为输入参数确定出的;
解码模块910,用于对所述编码数据进行解码,获得视频帧;
展示模块920,用于按照预设的展示方式展示所述视频帧。
可选的,按照预设的展示方式展示所述视频帧,进一步包括:
接收模块930,用于接收所述编码端发送的预设的基本分辨率;
上采样模块940,用于若确定所述基本分辨率与所述视频帧的实际分辨率不相同,则将所述视频帧上采样至所述基本分辨率。
基于上述实施例,参阅图10所示为本公开实施例中电子设备的结构示意图。
本公开实施例提供了一种电子设备,该电子设备可以包括处理器1010(CenterProcessing Unit,CPU)、存储器1020、输入设备1030和输出设备1040等,输入设备1030可以包括键盘、鼠标、触摸屏等,输出设备1040可以包括显示设备,如液晶显示器(LiquidCrystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器1020可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器1010提供存储器1020中存储的程序指令和数据。在本公开实施例中,存储器1020可以用于存储本公开实施例中任一种视频编码方法的程序。
处理器1010通过调用存储器1020存储的程序指令,处理器1010用于按照获得的程序指令执行本公开实施例中任一种视频编码方法。
基于上述实施例,本公开实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的视频编码方法。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (14)
1.一种视频编码方法,其特征在于,应用于编码端,包括:
对获取到的待编码视频帧进行特征提取,获得所述待编码视频帧的图像特征;
获得所述待编码视频帧的编码码率;
基于已训练的分辨率检测模型,以所述图像特征和所述编码码率为输入参数,确定所述待编码视频帧对应的编码分辨率,其中,所述分辨率检测模型为根据各视频帧样本的图像样本特征、所述各视频帧样本的编码码率样本和对应的分辨率标签通过迭代训练获得的;所述分辨率检测模型用于确定至少一种分辨率类别;每种分辨率类别对应一个编码分辨率;
将所述待编码视频帧下采样至确定出的编码分辨率,并对下采样后的所述待编码视频帧进行编码,获得所述视频帧的编码数据;
其中,任意一张视频帧样本的分辨率标签,是采用如下方式确定的:确定各编码参数组合,其中,每一种编码参数组合中至少包括编码分辨率、最大编码码率、最小编码码率和编码码率;分别通过所述各编码参数组合中的编码分辨率和编码码率,对任意一张视频帧样本进行下采样处理,获得各下采样后的视频帧样本;分别根据计算所述各下采样后的视频帧样本的图像质量分值;从
确定出的各图像质量分值中,确定出最高图像质量分值对应的下采样后的视频帧样本,以及对应的编码参数组合;将确定出的编码参数组合中的编码分辨率作为该视频帧样本的分辨率标签;
所述分辨率检测模型的训练方式为:
获取视频帧样本集,其中,所述视频帧样本集中至少包括各视频帧样本;分别对所述各视频帧样本进行特征提取,获得所述各视频帧样本的图像样本特征;分别针对所述各视频帧样本,确定任意一张视频帧样本的编码码率样本和分辨率标签;将分辨率标签相同的视频帧样本分为一类,获得各分辨率类别;分别根据所述各分辨率类别下的各图像样本特征、对应的编码码率样本和对应的分辨率标签,对初始的分辨率检测模型进行迭代训练,直至所述分辨率检测模型的目标函数收敛,获得训练完成的所述分辨率检测模型,其中,所述目标函数为各图像样本特征、对应的编码码率样本和对应的分辨率标签之间的交叉熵函数最小化。
2.如权利要求1所述的方法,其特征在于,确定所述待编码视频帧对应的编码分辨率,具体包括:
根据所述图像特征和所述编码码率,对所述待编码视频帧进行分类,确定所述待编码视频帧所属的分辨率类别;
根据所述分辨率类别,以及所述分辨率类别对应的编码分辨率,确定所述编码视频帧对应的编码分辨率。
3.如权利要求1所述的方法,其特征在于,对下采样后的所述待编码视频帧进行编码,具体包括:
根据所述编码分辨率和所述编码码率,对所述下采样后的待编码视频帧进行编码。
4.如权利要求1所述的方法,其特征在于,确定所述待编码视频帧的编码码率,进一步包括:
获取所述待编码视频帧的前一帧的待编码视频帧;
对所述前一帧的待编码视频帧进行特征提取,获得所述前一帧的待编码视频帧的图像特征;
基于已训练的场景切换识别模型,以所述待编码视频帧的图像特征和所述前一帧的待编码视频帧的图像特征为输入参数,确定所述待编码视频帧是否发生场景切换;
确定所述待编码视频帧发生场景切换时,执行确定所述待编码视频帧对应的编码分辨率的步骤。
5.一种视频解码方法,其特征在于,应用于解码端,包括:
获取编码端发送的编码数据,其中,所述编码数据为所述编码端将待编码视频帧下采样至编码分辨率,并对下采样后的所述待编码视频帧进行编码获得的,所述编码分辨率为所述编码端基于已训练的分辨率检测模型,以待编码视频帧的图像特征和编码码率为输入参数确定出的;
对所述编码数据进行解码,获得视频帧;
按照预设的展示方式展示所述视频帧;
其中,所述分辨率检测模型为根据各视频帧样本的图像样本特征、所述各视频帧样本的编码码率样本和对应的分辨率标签通过迭代训练获得的;所述分辨率检测模型用于确定至少一种分辨率类别;每种分辨率类别对应一个编码分辨率;
任意一张视频帧样本的分辨率标签,是采用如下方式确定的:确定各编码参数组合,其中,每一种编码参数组合中至少包括编码分辨率、最大编码码率、最小编码码率和编码码率;分别通过所述各编码参数组合中的编码分辨率和编码码率,对任意一张视频帧样本进行下采样处理,获得各下采样后的视频帧样本;分别根据计算所述各下采样后的视频帧样本的图像质量分值;从确定出的各图像质量分值中,确定出最高图像质量分值对应的下采样后的视频帧样本,以及对应的编码参数组合;将确定出的编码参数组合中的编码分辨率作为该视频帧样本的分辨率标签;
所述分辨率检测模型的训练方式为:
获取视频帧样本集,其中,所述视频帧样本集中至少包括各视频帧样本;分别对所述各视频帧样本进行特征提取,获得所述各视频帧样本的图像样本特征;分别针对所述各视频帧样本,确定任意一张视频帧样本的编码码率样本和分辨率标签;将分辨率标签相同的视频帧样本分为一类,获得各分辨率类别;分别根据所述各分辨率类别下的各图像样本特征、对应的编码码率样本和对应的分辨率标签,对初始的分辨率检测模型进行迭代训练,直至所述分辨率检测模型的目标函数收敛,获得训练完成的所述分辨率检测模型,其中,所述目标函数为各图像样本特征、对应的编码码率样本和对应的分辨率标签之间的交叉熵函数最小化。
6.如权利要求5所述的方法,其特征在于,按照预设的展示方式展示所述视频帧,进一步包括:
接收所述编码端发送的预设的基本分辨率;
若确定所述基本分辨率与所述视频帧的实际分辨率不相同,则将所述视频帧上采样至所述基本分辨率。
7.一种视频编码装置,其特征在于,应用于编码端,包括:
第一特征提取模块,用于对获取到的待编码视频帧进行特征提取,获得所述待编码视频帧的图像特征;
第一获取模块,用于获得所述待编码视频帧的编码码率;
检测模块,用于基于已训练的分辨率检测模型,以所述图像特征和所述编码码率为输入参数,确定所述待编码视频帧对应的编码分辨率,其中,所述分辨率检测模型为根据各视频帧样本的图像样本特征、所述各视频帧样本的编码码率样本和对应的分辨率标签通过迭代训练获得的;所述分辨率检测模型用于确定至少一种分辨率类别;每种分辨率类别对应一个编码分辨率;
处理模块,用于将所述待编码视频帧下采样至确定出的编码分辨率,并对下采样后的所述待编码视频帧进行编码,获得所述视频帧的编码数据;
其中,确定任意一张视频帧样本的分辨率标签时,所述装置中的确定模块具体用于:确定各编码参数组合,其中,每一种编码参数组合中至少包括编码分辨率、最大编码码率、最小编码码率和编码码率;分别通过所述各编码参数组合中的编码分辨率和编码码率,对任意一张视频帧样本进行下采样处理,获得各下采样后的视频帧样本;分别根据计算所述各下采样后的视频帧样本的图像质量分值;从确定出的各图像质量分值中,确定出最高图像质量分值对应的下采样后的视频帧样本,以及对应的编码参数组合;将确定出的编码参数组合中的编码分辨率作为该视频帧样本的分辨率标签;
训练所述分辨率检测模型时,进一步包括:
第二获取模块,用于获取视频帧样本集,其中,所述视频帧样本集中至少包括各视频帧样本;
第二特征提取模块,用于分别对所述各视频帧样本进行特征提取,获得所述各视频帧样本的图像样本特征;
确定模块,用于分别针对所述各视频帧样本,确定任意一张视频帧样本的编码码率样本和分辨率标签;
分类模块,用于将分辨率标签相同的视频帧样本分为一类,获得各分辨率类别;
训练模块,用于分别根据所述各分辨率类别下的各图像样本特征、对应的编码码率样本和对应的分辨率标签,对初始的分辨率检测模型进行迭代训练,直至所述分辨率检测模型的目标函数收敛,获得训练完成的所述分辨率检测模型,其中,所述目标函数为各图像样本特征、对应的编码码率样本和对应的分辨率标签之间的交叉熵函数最小化。
8.如权利要求7所述的装置,其特征在于,确定所述待编码视频帧对应的编码分辨率时,检测模块具体用于:
根据所述图像特征和所述编码码率,对所述待编码视频帧进行分类,确定所述待编码视频帧所属的分辨率类别;
根据所述分辨率类别,以及所述分辨率类别对应的编码分辨率,确定所述编码视频帧对应的编码分辨率。
9.如权利要求7所述的装置,其特征在于,对下采样后的所述待编码视频帧进行编码时,处理模块具体用于:
根据所述编码分辨率和所述编码码率,对所述下采样后的待编码视频帧进行编码。
10.如权利要求7所述的装置,其特征在于,确定所述待编码视频帧的编码码率,确定模块具体用于:
获取所述待编码视频帧的前一帧的待编码视频帧;
对所述前一帧的待编码视频帧进行特征提取,获得所述前一帧的待编码视频帧的图像特征;
基于已训练的场景切换识别模型,以所述待编码视频帧的图像特征和所述前一帧的待编码视频帧的图像特征为输入参数,确定所述待编码视频帧是否发生场景切换;
确定所述待编码视频帧发生场景切换时,执行确定所述待编码视频帧对应的编码分辨率的步骤。
11.一种视频解码装置,其特征在于,应用于解码端,包括:
获取模块,用于获取编码端发送的编码数据,其中,所述编码数据为所述编码端将待编码视频帧下采样至编码分辨率,并对下采样后的所述待编码视频帧进行编码获得的,所述编码分辨率为所述编码端基于已训练的分辨率检测模型,以待编码视频帧的图像特征和编码码率为输入参数确定出的;
解码模块,用于对所述编码数据进行解码,获得视频帧;
展示模块,用于按照预设的展示方式展示所述视频帧;
其中,所述分辨率检测模型为根据各视频帧样本的图像样本特征、所述各视频帧样本的编码码率样本和对应的分辨率标签通过迭代训练获得的;所述分辨率检测模型用于确定至少一种分辨率类别;每种分辨率类别对应一个编码分辨率;
任意一张视频帧样本的分辨率标签,是采用如下方式确定的:确定各编码参数组合,其中,每一种编码参数组合中至少包括编码分辨率、最大编码码率、最小编码码率和编码码率;分别通过所述各编码参数组合中的编码分辨率和编码码率,对任意一张视频帧样本进行下采样处理,获得各下采样后的视频帧样本;分别根据计算所述各下采样后的视频帧样本的图像质量分值;从确定出的各图像质量分值中,确定出最高图像质量分值对应的下采样后的视频帧样本,以及对应的编码参数组合;将确定出的编码参数组合中的编码分辨率作为该视频帧样本的分辨率标签;
所述分辨率检测模型的训练方式为:
获取视频帧样本集,其中,所述视频帧样本集中至少包括各视频帧样本;分别对所述各视频帧样本进行特征提取,获得所述各视频帧样本的图像样本特征;分别针对所述各视频帧样本,确定任意一张视频帧样本的编码码率样本和分辨率标签;将分辨率标签相同的视频帧样本分为一类,获得各分辨率类别;分别根据所述各分辨率类别下的各图像样本特征、对应的编码码率样本和对应的分辨率标签,对初始的分辨率检测模型进行迭代训练,直至所述分辨率检测模型的目标函数收敛,获得训练完成的所述分辨率检测模型,其中,所述目标函数为各图像样本特征、对应的编码码率样本和对应的分辨率标签之间的交叉熵函数最小化。
12.如权利要求11所述的装置,其特征在于,按照预设的展示方式展示所述视频帧,进一步包括:
接收模块,用于接收所述编码端发送的预设的基本分辨率;
上采样模块,用于若确定所述基本分辨率与所述视频帧的实际分辨率不相同,则将所述视频帧上采样至所述基本分辨率。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4或5-6任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-4或5-6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110637173.4A CN113452996B (zh) | 2021-06-08 | 2021-06-08 | 一种视频编码、解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110637173.4A CN113452996B (zh) | 2021-06-08 | 2021-06-08 | 一种视频编码、解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113452996A CN113452996A (zh) | 2021-09-28 |
CN113452996B true CN113452996B (zh) | 2024-04-19 |
Family
ID=77810995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110637173.4A Active CN113452996B (zh) | 2021-06-08 | 2021-06-08 | 一种视频编码、解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113452996B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114245209B (zh) * | 2021-12-22 | 2024-03-19 | 北京达佳互联信息技术有限公司 | 视频分辨率确定、模型训练、视频编码方法及装置 |
GB2611131B (en) * | 2022-03-31 | 2023-11-22 | V Nova Int Ltd | Pre-analysis for video encoding |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683804A (zh) * | 2015-02-14 | 2015-06-03 | 北京航空航天大学 | 基于视频内容特征的参数自适应多维码率控制方法 |
CN107155107A (zh) * | 2017-03-21 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置、视频解码方法和装置 |
WO2019001108A1 (zh) * | 2017-06-30 | 2019-01-03 | 华为技术有限公司 | 视频处理的方法和装置 |
WO2019242491A1 (zh) * | 2018-06-20 | 2019-12-26 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、计算机设备和存储介质 |
CN112312231A (zh) * | 2019-07-31 | 2021-02-02 | 北京金山云网络技术有限公司 | 一种视频图像编码方法、装置、电子设备及介质 |
CN112468816A (zh) * | 2019-09-06 | 2021-03-09 | 上海哔哩哔哩科技有限公司 | 固定码率系数预测模型建立及视频编码的方法 |
WO2021057479A1 (zh) * | 2019-09-27 | 2021-04-01 | 腾讯科技(深圳)有限公司 | 视频编解码方法和相关装置 |
WO2021072694A1 (en) * | 2019-10-17 | 2021-04-22 | Alibaba Group Holding Limited | Adaptive resolution coding based on machine learning model |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210067785A1 (en) * | 2020-11-17 | 2021-03-04 | Intel Corporation | Video encoding rate control for intra and scene change frames using machine learning |
-
2021
- 2021-06-08 CN CN202110637173.4A patent/CN113452996B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683804A (zh) * | 2015-02-14 | 2015-06-03 | 北京航空航天大学 | 基于视频内容特征的参数自适应多维码率控制方法 |
CN107155107A (zh) * | 2017-03-21 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置、视频解码方法和装置 |
WO2018171447A1 (zh) * | 2017-03-21 | 2018-09-27 | 腾讯科技(深圳)有限公司 | 视频编码方法、视频解码方法、计算机设备和存储介质 |
WO2019001108A1 (zh) * | 2017-06-30 | 2019-01-03 | 华为技术有限公司 | 视频处理的方法和装置 |
WO2019242491A1 (zh) * | 2018-06-20 | 2019-12-26 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、计算机设备和存储介质 |
CN112312231A (zh) * | 2019-07-31 | 2021-02-02 | 北京金山云网络技术有限公司 | 一种视频图像编码方法、装置、电子设备及介质 |
CN112468816A (zh) * | 2019-09-06 | 2021-03-09 | 上海哔哩哔哩科技有限公司 | 固定码率系数预测模型建立及视频编码的方法 |
WO2021057479A1 (zh) * | 2019-09-27 | 2021-04-01 | 腾讯科技(深圳)有限公司 | 视频编解码方法和相关装置 |
WO2021072694A1 (en) * | 2019-10-17 | 2021-04-22 | Alibaba Group Holding Limited | Adaptive resolution coding based on machine learning model |
Non-Patent Citations (1)
Title |
---|
EE1-2.3: Neural Network-based Super Resolution;Anand Meher Kotra等;《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 22nd Meeting, by teleconference, 20–28 Apr. 2021, JVET-V0096-v4》;20210428;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113452996A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111107395B (zh) | 一种视频转码的方法、装置、服务器和存储介质 | |
CN110572579B (zh) | 图像处理方法、装置及电子设备 | |
US8804815B2 (en) | Support vector regression based video quality prediction | |
CN109844736B (zh) | 概括视频内容 | |
CN113452996B (zh) | 一种视频编码、解码方法及装置 | |
EP2266320A2 (en) | System and method for enhancing the visibility of an object in a digital picture | |
CN112954398B (zh) | 编码方法、解码方法、装置、存储介质及电子设备 | |
CN112584119B (zh) | 一种基于强化学习的自适应全景视频传输方法及系统 | |
Zhou et al. | Reduced-reference stereoscopic image quality assessment based on view and disparity zero-watermarks | |
US20200380290A1 (en) | Machine learning-based prediction of precise perceptual video quality | |
US11960996B2 (en) | Video quality assessment method and apparatus | |
CN114554211A (zh) | 内容自适应视频编码方法、装置、设备和存储介质 | |
CN113784118A (zh) | 视频质量评估方法及装置、电子设备和存储介质 | |
JP2013168739A (ja) | 画像処理システム、及び、画像処理方法 | |
CN110740316A (zh) | 数据编码方法及装置 | |
CN111767428A (zh) | 视频推荐方法、装置、电子设备及存储介质 | |
CN115379291B (zh) | 一种码表更新方法、装置、设备及存储介质 | |
JP2012257125A (ja) | 画像処理装置、画像処理方法 | |
CN116074528A (zh) | 视频编码方法及装置、编码信息调度方法及装置 | |
CN115379248B (zh) | 一种视频源流替换方法、系统、设备及存储介质 | |
CN109168007B (zh) | 一种标定焦点及其图像传输的方法 | |
US11272185B2 (en) | Hierarchical measurement of spatial activity for text/edge detection | |
WO2024109138A1 (zh) | 视频编码方法、装置及存储介质 | |
CN109783475B (zh) | 一种视频失真效应标记大规模数据库的构建方法 | |
Couto | Inpainting-based Image Coding: A Patch-driven Approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210927 Address after: 310052 Room 408, building 3, No. 399, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Netease Zhiqi Technology Co.,Ltd. Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU LANGHE TECHNOLOGY Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |