欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种实现视频质量评估的方法、装置和系统独创技术72064字

一种实现视频质量评估的方法、装置和系统

2021-02-23 02:08:51

一种实现视频质量评估的方法、装置和系统

  本申请是名称为“一种实现视频质量评估的方法、装置和系统”,专利申请号为201610709417.4,申请日为2016年8月23日的分案申请。

  技术领域

  本发明涉及视频技术领域,尤其涉及一种实现视频质量评估的方法、装置及系统。

  背景技术

  随着多媒体信息时代的到来,各类视频处理和视频通信技术层出不穷,因而,视频质量评估技术显得日益重要。

  随着通信技术的发展,IPTV(Internet Protocol Television,因特网协议电视)、过顶传球(Over The Top,OTT)等视频业务,已经进入大规模商用阶段。为了保证视频业务的质量,必须对视频质量进行评估,以便及时采取相应的措施进行调整,以保证视频业务的正常运行。因此,如何对视频质量进行准确的评估,便成为一个迫切需要解决的重要问题。

  在对视频质量进行评估时,丢包所产生的影响是一个关键考虑要素。在标准ITU-TP1201.2所提供的IPTV监控方案中,在对视频质量进行评估时采用的方法是,计算丢包所导致的受损数据在该受损数据所在的视频帧中所占比重,并利用该比重确定丢包所造成的影响程度,比重越大,影响程度越大。

  然而,上述方法仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,导致评估结果的准确性不高。

  发明内容

  本发明实施例提供一种实现视频质量评估的方法、装置和系统,用于解决现有技术中存在的视频质量评估结果不准确的问题。

  第一方面,提供了一种实现视频质量评估的方法,所述方法包括:

  确定用于封装第一视频帧的多个数据包中的第一数据包丢失;

  通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一视频帧的质量劣化值,所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据;

  确定所述第一视频帧是否为场景切换帧;

  在确定所述第一视频帧非场景切换帧时,根据所述第一视频帧所在场景对所述第一视频帧的质量劣化值进行修正。

  根据本发明第一方面提供的方法,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还考虑了视频帧所在场景对该视频帧的影响等,因此,质量评估的准确性更高。

  在第一方面的第一种可能的实现方式中,具体可以根据公式xlec=β*xlel对所述第一视频帧的质量劣化值进行修正,其中,xlel为根据场景修正前的质量劣化值,xlec为根据场景修正后的质量劣化值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  根据该实现方式,具体考虑了所述第一视频帧所在场景的场景复杂度对所述质量劣化值的影响,从而进一步提升了质量评估的准确性。

  其中β具体可以根据公式β=g(tcomp)来计算,其中tcomp为所述第一视频帧所在场景的时间复杂度,tcomp越大,通过g函数计算出的β越大,tcomp越小,通过g函数计算出的β越小。

  所述场景的时间复杂度tcomp用于表征所述场景中的相邻视频帧之间的相关性大小,时间复杂度越大,表明相关性越小,时间复杂度越小,表明相关性越大。所述时间复杂度表征了所述场景中的相邻视频帧之间的相关性大小,因此,可以有效地体现出场景复杂度,从而进一步提升了质量评估的准确性。

  由于非I帧(如B帧、P帧)是利用视频帧之间的相关性进行压缩的,相关性越大,即时间复杂度越小,非I帧的压缩率越高,因此可以通过计算所述第一视频帧所在场景中所有非I帧的帧大小的中值或平均值与场景中所有I帧的帧大小的中值或平均值之间的比值获得该场景的时间复杂度,具体可以将该比值直接作为该场景的时间复杂度。由于考虑了视频帧之间的相关性对非I帧压缩率的影响,因此可以准确地计算出时间复杂度,从而进一步提升质量评估的准确性。

  第二方面,提供了一种实现视频质量评估的方法,所述方法包括:

  确定用于封装第一视频帧的多个数据包中的第一数据包丢失;

  通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一视频帧的质量劣化值,所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据;

  根据如下公式计算所述第一视频帧所在GOP的质量劣化值:

  xl=β*xle*△t

  其中,xle为所述第一视频帧的质量劣化值,xl为所述第一视频帧所在GOP的质量劣化值,△t为所述第一视频帧对应的时刻和位于所述第一视频帧之后且离所述第一视频帧最近的所述GOP中的场景切换帧对应的时刻的差值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  根据本发明第二方面提供的方法,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还考虑了该视频帧所在场景对该视频帧后面的视频帧的影响等,因此,质量评估的准确性更高。

  其中β具体可以根据公式β=g(tcomp)来计算,其中tcomp为所述第一视频帧所在场景的时间复杂度,tcomp越大,通过g函数计算出的β越大,tcomp越小,通过g函数计算出的β越小。

  所述场景的时间复杂度tcomp用于表征所述场景中的相邻视频帧之间的相关性大小,时间复杂度越大,表明相关性越小,时间复杂度越小,表明相关性越大。所述时间复杂度表征了所述场景中的相邻视频帧之间的相关性大小,因此,可以有效地体现出场景复杂度,从而进一步提升了质量评估的准确性。

  由于非I帧(如B帧、P帧)是利用视频帧之间的相关性进行压缩的,相关性越大,即时间复杂度越小,非I帧的压缩率越高,因此可以通过计算所述第一视频帧所在场景中所有非I帧的帧大小的中值或平均值与场景中所有I帧的帧大小的中值或平均值之间的比值获得该场景的时间复杂度,具体可以将该比值直接作为该场景的时间复杂度。由于考虑了视频帧之间的相关性对非I帧压缩率的影响,因此可以准确地计算出时间复杂度,从而进一步提升质量评估的准确性。

  第三方面,提供了一种实现视频质量评估的方法,所述方法包括:

  确定用于封装第一视频帧的多个数据包中的第一数据包丢失;

  通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一视频帧的质量劣化值,所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据;

  确定所述受损数据在所述第一视频帧中的位置;

  根据所述受损数据在所述第一视频帧中的位置对所述第一视频帧的质量劣化值进行修正。

  根据本发明第三方面提供的方法,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还考虑了该受损数据在该视频帧中的位置,因此,质量评估的准确性更高。

  在第三方面的第一种可能的实现方式中,具体可以根据公式xlel2=α*xlel1对所述第一视频帧的质量劣化值进行修正,其中,xlel1为根据位置修正前的质量劣化值,xlel2为根据位置修正后的质量劣化值,α为修正因子,用于表示所述受损数据在所述第一视频帧中的位置对所述第一视频帧的质量的影响程度,α的值大于0且小于等于1,α的取值越小表明所述影响程度越小,α的取值越大表明所述影响程度越大。

  在具体实现时,可以根据如下公式计算α:

  α=f(damagePosition)

  其中,α在damagePosition大于b(b的值大于0且小于0.5)时随着damagePosition的变化幅度比damagePosition小于b时随着damagePosition的变化幅度小,根据取值较大的damagePosition计算出的α大于等于根据取值较小的damagePosition计算出的α,且α大于0。

  当damageposition小于b时,即受损区域比较靠近所述第一视频帧的底部时,对视频感观质量的影响较小,当damageposition大于b时,即受损区域覆盖所述第一视频帧的较多靠中间位置的区域时,对视频感观质量的影响较大,且在比较靠近底部时,受损区域大小的不同对视频感官质量的影响明显不同,但在覆盖较多靠中间位置的区域时,受损区域大小的不同对视频感官质量的影响差别不大,因此,根据该公式算出的修正因子α可以准确地反映出受损数据所在的位置对视频感官质量的影响,进而可以进一步提升质量评估的准确性。

  第四方面,提供了一种评估装置,所述评估装置包括确定单元和计算单元;

  所述确定单元,用于确定用于封装第一视频帧的多个数据包中的第一数据包丢失;

  所述计算单元,用于通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一视频帧的质量劣化值,所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据;并用于确定所述第一视频帧是否为场景切换帧并在确定所述第一视频帧非场景切换帧时,根据所述第一视频帧所在场景对所述第一视频帧的质量劣化值进行修正。

  根据本发明第四方面提供的评估装置,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还考虑了视频帧所在场景对该视频帧的影响等,因此,质量评估的准确性更高。

  在第四方面的第一种可能的实现方式中,所述计算单元具体可以用于根据公式xlec=β*xlel对所述第一视频帧的质量劣化值进行修正,其中,xlel为根据场景修正前的质量劣化值,xlec为根据场景修正后的质量劣化值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  根据该实现方式,具体考虑了所述第一视频帧所在场景的场景复杂度对所述质量劣化值的影响,从而进一步提升了质量评估的准确性。

  其中β具体可以根据公式β=g(tcomp)来计算,其中tcomp为所述第一视频帧所在场景的时间复杂度,tcomp越大,通过g函数计算出的β越大,tcomp越小,通过g函数计算出的β越小。

  所述场景的时间复杂度tcomp用于表征所述场景中的相邻视频帧之间的相关性大小,时间复杂度越大,表明相关性越小,时间复杂度越小,表明相关性越大。所述时间复杂度表征了所述场景中的相邻视频帧之间的相关性大小,因此,可以有效地体现出场景复杂度,从而进一步提升了质量评估的准确性。

  由于非I帧(如B帧、P帧)是利用视频帧之间的相关性进行压缩的,相关性越大,即时间复杂度越小,非I帧的压缩率越高,因此可以通过计算所述第一视频帧所在场景中所有非I帧的帧大小的中值或平均值与场景中所有I帧的帧大小的中值或平均值之间的比值获得该场景的时间复杂度,具体可以将该比值直接作为该场景的时间复杂度。由于考虑了视频帧之间的相关性对非I帧压缩率的影响,因此可以准确地计算出时间复杂度,从而进一步提升质量评估的准确性。

  第五方面,提供了一种评估装置,所述评估装置包括确定单元和计算单元;

  所述确定单元,用于确定用于封装第一视频帧的多个数据包中的第一数据包丢失;

  所述计算单元,用于通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一视频帧的质量劣化值,所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据;并用于根据如下公式计算所述第一视频帧所在GOP的质量劣化值:

  xl=β*xle*△t

  其中,xle为所述第一视频帧的质量劣化值,xl为所述第一视频帧所在GOP的质量劣化值,△t为所述第一视频帧对应的时刻和位于所述第一视频帧之后且离所述第一视频帧最近的所述GOP中的场景切换帧对应的时刻的差值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  根据本发明第五方面提供的评估装置,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还考虑了该视频帧所在场景对该视频帧后面的视频帧的影响等,因此,质量评估的准确性更高。

  其中β具体可以根据公式β=g(tcomp)来计算,其中tcomp为所述第一视频帧所在场景的时间复杂度,tcomp越大,通过g函数计算出的β越大,tcomp越小,通过g函数计算出的β越小。

  所述场景的时间复杂度tcomp用于表征所述场景中的相邻视频帧之间的相关性大小,时间复杂度越大,表明相关性越小,时间复杂度越小,表明相关性越大。所述时间复杂度表征了所述场景中的相邻视频帧之间的相关性大小,因此,可以有效地体现出场景复杂度,从而进一步提升了质量评估的准确性。

  由于非I帧(如B帧、P帧)是利用视频帧之间的相关性进行压缩的,相关性越大,即时间复杂度越小,非I帧的压缩率越高,因此可以通过计算所述第一视频帧所在场景中所有非I帧的帧大小的中值或平均值与场景中所有I帧的帧大小的中值或平均值之间的比值获得该场景的时间复杂度,具体可以将该比值直接作为该场景的时间复杂度。由于考虑了视频帧之间的相关性对非I帧压缩率的影响,因此可以准确地计算出时间复杂度,从而进一步提升质量评估的准确性。

  第六方面,提供了一种评估装置,所述装置包括确定单元和计算单元;

  所述确定单元,用于确定用于封装第一视频帧的多个数据包中的第一数据包丢失;

  所述计算单元,用于通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一视频帧的质量劣化值,所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据;还用于确定所述受损数据在所述第一视频帧中的位置,并根据所述受损数据在所述第一视频帧中的位置对所述第一视频帧的质量劣化值进行修正。

  根据本发明第六方面提供的评估装置,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还考虑了该受损数据在该视频帧中的位置,因此,质量评估的准确性更高。

  在第六方面的第一种可能的实现方式中,所述计算单元具体可以用于根据公式xlel2=α*xlel1对所述第一视频帧的质量劣化值进行修正,其中,xlel1为根据位置修正前的质量劣化值,xlel2为根据位置修正后的质量劣化值,α为修正因子,用于表示所述受损数据在所述第一视频帧中的位置对所述第一视频帧的质量的影响程度,α的值大于0且小于等于1,α的取值越小表明所述影响程度越小,α的取值越大表明所述影响程度越大。

  在具体实现时,所述计算单元可以根据如下公式计算α:

  α=f(damagePosition)

  其中,α在damagePosition大于b(b的值大于0且小于0.5)时随着damagePosition的变化幅度比damagePosition小于b时随着damagePosition的变化幅度小,根据取值较大的damagePosition计算出的α大于等于根据取值较小的damagePosition计算出的α,且α大于0。

  当damageposition小于b时,即受损区域比较靠近所述第一视频帧的底部时,对视频感观质量的影响较小,当damageposition大于b时,即受损区域覆盖所述第一视频帧的较多靠中间位置的区域时,对视频感观质量的影响较大,且在比较靠近底部时,受损区域大小的不同对视频感官质量的影响明显不同,但在覆盖较多靠中间位置的区域时,受损区域大小的不同对视频感官质量的影响差别不大,因此,根据该公式算出的修正因子α可以准确地反映出受损数据所在的位置对视频感官质量的影响,进而可以进一步提升质量评估的准确性。

  第七方面,提供了一种评估装置,所述评估装置包括处理器和存储器;

  所述存储器,用于存放计算机操作指令;

  所述处理器,用于执行所述存储器中存放的计算机操作指令使得所述检测装置执行本发明第一方面或第一方面的任一可能的实现方式、第二方面或第二方面的任一可能的实现方式、第三方面或第三方面的任一可能的实现方式所提供的方法。

  根据本发明的第七方面提供的评估装置,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还综合考虑了其它因素,如该受损数据在该视频帧中的位置,该视频帧所在场景对该视频帧或对该视频帧后面的视频帧的影响等,因此,质量评估的准确性更高。

  第八方面,提供了一种传输设备,所述检测设备包括媒体单元和评估装置;

  所述媒体单元,用于接收视频服务器发送的媒体流,将所述媒体流发送给另一传输设备或视频终端,并将所述媒体流传输给所述评估装置;

  所述评估装置,具体可以为本发明第四方面至第七方面的任一方面或任一方面的任一可能的实现方式所提供的评估装置,用于从所述媒体单元获取所述媒体流并执行本发明第四方面至第七方面的任一方面或任一方面的任一可能的实现方式所提供的评估装置所执行的操作,在执行所述操作的过程中具体根据所述媒体流确定用于封装第一视频帧的多个数据包中的第一数据包丢失。

  根据本发明的第八方面提供的传输设备,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还综合考虑了其它因素,如该受损数据在该视频帧中的位置,该视频帧所在场景对该视频帧或对该视频帧后面的视频帧的影响等,因此,质量评估的准确性更高。

  第九方面,提供了一种视频终端,所述视频终端包括媒体单元和评估装置;

  所述媒体单元,用于接收视频服务器发送的媒体流,对所述媒体流解码播放,并将所述媒体流传输给所述评估装置;

  所述评估装置,具体可以为本发明第四方面至第七方面的任一方面或任一方面的任一可能的实现方式所提供的评估装置,用于从所述媒体单元获取所述媒体流并执行本发明第四方面至第七方面的任一方面或任一方面的任一可能的实现方式所提供的评估装置所执行的操作,在执行所述操作的过程中具体根据所述媒体流确定用于封装第一视频帧的多个数据包中的第一数据包丢失。

  根据本发明的第九方面提供的视频终端,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还综合考虑了其它因素,如该受损数据在该视频帧中的位置,该视频帧所在场景对该视频帧或对该视频帧后面的视频帧的影响等,因此,质量评估的准确性更高。

  第十方面,提供了一种实现视频质量评估的系统,所述系统包括视频服务器、传输设备和视频终端,其中,所述视频服务器发送的视频流经由所述传输设备传输到所述视频终端;

  所述传输设备或所述视频终端具体可以包括本发明第四方面至第七方面的任一方面或任一方面的任一可能的实现方式所提供的评估装置;或者,

  所述系统还包括第一评估装置,所述第一评估装置具体可以为本发明第四方面至第七方面的任一方面或任一方面的任一可能的实现方式所提供的评估装置,所述传输设备2020或所述视频终端2030与所述第一评估装置相连,并且所述第一评估装置通过与第一评估装置连接的所述传输设备或所述视频终端获取所述视频流。

  根据本发明的第十方面提供的系统,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还综合考虑了其它因素,如该受损数据在该视频帧中的位置,该视频帧所在场景的场景复杂度对该视频帧以及该视频帧后面的视频帧的影响等,因此,质量评估的准确性更高。

  附图说明

  为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1A、1B和1C是本发明实施例1提供的用于实现视频质量评估的视频系统100的组网结构示意图;

  图2是本发明实施例1提供的方法流程示意图;

  图3A和3B是本发明实施例1提供的视频帧丢包示意图;

  图4A是本发明实施例1提供的GOP示意图;

  图4B和4C是本发明实施例1提供的错误扩散示意图;

  图5是本发明实施例2提供的评估装置200的结构示意图;

  图6是本发明实施例3提供的评估装置1000的结构示意图;

  图7是本发明实施例4提供的传输设备400的结构示意图;

  图8是本发明实施例5提供的视频终端500的结构示意图;

  图9A-9C是本发明实施例6提供的系统2000的结构示意图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  图1A为本发明实施例提供的一种视频系统100的组网结构示意图,视频系统100包括视频服务器110、一个或多个传输设备120和视频终端130,其中,视频服务器110发送的视频流经由所述传输设备120传输到视频终端130。

  视频系统100具体可以是如图1B所示的IPTV系统。在该IPTV系统中,视频服务器110具体为视频头端(video headEnd,video HE),传输设备120具体包括核心路由器(CoreRouter,CR)、宽带网络网关(Broadband Network Gateway,BNG)、光线路终端(OpticalLine Terminal,OLT)等网络设备,视频终端130具体为机顶盒(Set Top Box,STB)。

  在如图1A、1B所示的视频系统中,当视频流从视频服务器传送到视频终端时,由于所经过的网络状态的变化,会导致视频流出现丢包、时延、抖动、乱序等异常现象。这些异常现象会造成视频终端屏幕上所播放的视频画面出现花屏、卡顿等缺陷,导致用户的视频观看体验下降。因此,需要对用户的视频体验进行监控。

  在进行视频体验监控时,可以在视频系统中部署用于实现视频质量评估的评估装置,对视频流的质量进行评估。该评估装置可以部署在视频流所经过的任一设备(如传输设备120、视频终端130)上,也可以旁挂到视频流所经过的任一设备上并通过镜像的方式获取视频流。

  在具体实现时,可以将评估装置分别部署在CR、BNG、OLT等网络设备上,如图1C所示。不同网络设备所处的网络状态不同,流经这些网络设备的视频流会受到不同的影响。同一视频流在CR、BNG、OLT、STB处所受的网络损伤不同,因此在不同点进行视频质量评估,并基于评估结果计算出的视频平均体验得分(Mean Opinion Score of Video,MOSV)也不同。如图1C所示,在一个具体的示例中,在CR、BNG、OLT、STB处计算的MOSV值分别是4.5,4.2,4.0和2.6(值越小代表质量越差),部署在CR、BNG、OLT、STB中的评估装置分别将评估出的MOSV值上报给视频质量监控平台。由于STB上计算出的MOSV值大幅下降,所述视频监控平台可以推断在OLT到STB之间有严重的网络故障,因此,可以据此实现网络故障的定界与定位。

  图2是本发明实施例1提供的方法流程示意图,本发明实施例1的方法应用于图1A、1B所示的视频系统100,由评估装置执行。

  如图2所示,本发明实施例1提供的方法包括:

  步骤101:确定用于封装第一视频帧的多个数据包中的第一数据包丢失。

  步骤101的具体实现方式可以为,获取视频流并确定所述视频流中的所述第一数据包丢失。

  所述评估装置,可以内置于所述视频流所经过的任一设备(如传输设备120、视频终端130)上,也可以旁挂到所述视频流所经过的任一设备上并通过镜像的方式获取所述视频流。

  在编码时,一个视频帧会被编码为单条带或多条带,在编码为多条带时,一个条带中的图像数据的编解码不会依赖于另一个条带中的图像数据。后续以每帧单条带编码方式为例进行描述。

  在传输时,一个视频帧会被封装到多个数据包中。在采用传输流(TransportStream,TS)协议传输时,所述数据包具体为TS包,在直接采用数据报协议(User DatagramProtocol,UDP)传输时,所述数据包具体为UDP包。如图3A所示,该视频帧被封装到30个数据包中,黑色区域对应的数据包为丢失的第一数据包。

  步骤102:通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一视频帧的质量劣化值(后续称为第一质量劣化值)。

  在具体实现时,可以直接将所述比重作为所述第一质量劣化值。

  所述第一质量劣化值可以用于表示所述第一数据包丢失导致所述第一视频帧受损的程度,所述第一质量劣化值越大,表明所述第一视频帧受损越严重,即所述第一视频帧的质量越差,反之,所述第一质量劣化值越小,表明所述第一视频帧受损越轻,即所述第一视频帧的质量好。

  所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据,通常包括所述第一数据包中封装的图像数据和所述第一视频帧中要根据所述第一数据包中封装的图像数据解码的图像数据。如图3A和图3B所示,当黑色区域对应的数据包丢失时,即使该视频帧中灰色区域对应的数据包都正确接收了,由于灰色区域对应的数据包中的图像数据的解码需要直接或间接参考黑色区域对应的数据包中的图像数据,所以也不能正确解码,因此,所述受损数据包括黑色区域和灰色区域的图像数据。

  需要说明的是,用于封装所述第一视频帧的多个数据包中丢失的数据包可能不止一个。对于单条带编码方式,如果丢失的数据包不止一个,由于每个丢失的数据包会影响到后面的所有数据包,所以,可以只考虑丢失的数据包中排在最前面的数据包的影响,将排在最前面的数据包作为所述第一数据包。

  另外,在本发明实施例中所说的封装同一个视频帧的各个数据包之间的前后顺序,指的是各个数据包所封装的图像数据在所述视频帧中的位置上的前后。通常按照从左到右从上到下的顺序排序,即认为:封装所述视频帧中位置靠上的图像数据的数据包在封装位置靠下的图像数据的数据包的前面;对于位于同一高度的图像数据,封装位置靠左的图像数据的数据包在封装位置靠右的图像数据的数据包的前面。如图3A所示,通常认为第二行的任一数据包在第五行的任一数据包的前面,第二行的第二个数据包在第二行的第三个数据包的前面。

  由于视频质量评估是在视频解码前,所以无法获取解码后的图像数据来计算受损数据所占的比重,因此在计算受损数据的比重时,通常是利用封装图像数据的数据包的信息来计算。此外,计算时需要区分每帧单条带和每帧多条带两种编码方式,具体计算方式参见标准ITU-T P1201.2。

  其中,针对每帧单条带的计算方式简单介绍如下。

  xle=nap/np

  其中,nap是封装所述受损数据的数据包的数量,np为封装所述第一视频帧的所有数据包的数量。如图3A所示,所述第一视频帧被封装到30个数据包中,所述第一数据包是第8个数据包,那么nap为30-8+1=23,所述第一质量劣化值xle=23/30=0.7667。又如图3B所示,所述第一视频帧被封装到30个数据包中,所述第一数据包是第23个数据包,那么nap为30-23+1=8,所述第一质量劣化值xle=8/30=0.2667。

  步骤103:确定所述受损数据在所述第一视频帧中的位置,并根据所述受损数据在所述第一视频帧中的位置对所述第一质量劣化值进行修正。

  当人眼面向屏幕画面的时候,通常对画面中间区域受损最为敏感,对其他区域受损则没那么敏感。原因是在接近视网膜的中央的距离眼角膜最远的地方(称为黄点)是感光細胞最密集、视觉敏锐度最高的位置,当我们要看清一个对象时,会转动眼球,直至影像聚焦在黄点上,离开黄点位置越远,感光細胞越少,影像越不清晰。而且,人眼通常对画面中间区域最为感兴趣。如图3A所示,受损数据覆盖了中间区域,对人眼感官质量的影响比较大。如图3B所示,受损数据没有覆盖中间区域,对人眼感官质量的影响就相对较小一些。因此,本发明实施例在评估视频质量时还考虑受损数据在所述第一视频帧中的位置的影响。

  本发明实施例在考虑受损数据的位置的影响时,仅考虑每帧单条带的情况。

  步骤103可以包括步骤103A和103B。

  步骤103A:确定所述受损数据在所述第一视频帧中的位置damagePosition。

  damagePosition用于表示所述受损数据的起始位置相对于所述第一视频帧的结束位置的相对位置,damagePosition的值大于0且小于等于1,且damagePosition的值越小表示所述受损数据的起始位置越靠近所述第一视频帧的底部,damagePosition的值越大表示所述受损数据的起始位置越靠近所述第一视频帧的顶部。

  如图3A所示,在采用每帧单条带的编码方式时,如果一个视频帧(如所述第一视频帧)发生丢包,从丢失数据包(如所述第一数据包)所封装的图像数据的第一个像素开始一直到到该视频帧结束位置的整个区域(后续称为受损区域)都会受到损坏。因此,如图3A所示,如果丢失数据包封装的图像数据在视频帧的上半部分,则该视频帧的中间位置的图像数据也一定受损。

  本发明实施例中采用所述受损数据的起始位置相对于所述第一视频帧的结束位置的相对位置来表征所述受损数据在所述视频帧中的位置。具体可根据如下公式计算damagePosition。

  

  其中,np为封装所述第一视频帧的所有数据包的数量,lossPosition为所述第一数据包在所述所有数据包中的位置(即,在所述所有数据包中排在第几个)。可知,计算出的damagePosition取值范围为[0,1],受损区域越靠近视频帧的底部,damagePosition的值越接近0,表明受损程度越小。

  如图3A和图3B所示,两个视频帧的总数据包数均为30,即每个视频帧都封装在30个数据包中。图3A中第一个丢失的数据包是第8个数据包,那么damagePosition等于(30-8)/30=0.7333;图3B中第一个丢失的数据包是第23个包,那么damagePosition等于(30-23)/30=0.2333。

  步骤103B:根据所述位置对所述第一质量劣化值进行修正。

  具体可以根据如下公式进行修正。

  xlel2=α*xlel1

  其中,xlel1为根据位置修正前的第一质量劣化值,xlel2为根据位置修正后的第一质量劣化值,α为修正因子,用于表示所述受损数据的位置对所述第一视频帧的质量的影响程度,α的值大于0且小于等于1,α的取值越大表明所述影响程度越大,α的取值越小表明所述影响程度越小。α值取决于受损数据在画面中的位置,可根据如下公式计算。

  α=f(damagePosition)

  其中,α在damagePosition大于b(b的值大于0且小于0.5)时随着damagePosition的变化幅度比damagePosition小于b时随着damagePosition的变化幅度小,根据取值较大的damagePosition计算出的α大于等于根据取值较小的damagePosition计算出的α,且α大于0。

  作为一种示例,α可根据如下公式计算。

  

  或者

  

  其中a的值大于0且小于等于1,b的值大于0且小于等于0.5。

  受损区域越靠近受损帧的底部,对视频感观质量的影响越小,例如,b等于0.05(对应靠近视频帧底部的位置),那么小于b的位置都是非常接近画面底部的位置,对视频感观质量的影响就很小。例如当a等于0.01,b等于0.3时,表示当受损数据靠近视频帧的底部时,对视频感观质量的影响就很小,在这种情况下可以用系数a来计算α,从而降低所述第一质量劣化值。

  根据上述公式,当damageposition大于(或大于等于)b时,即受损区域覆盖所述第一视频帧的较多靠中间位置的区域时,α等于1,修正后的第一质量劣化值与修正前的第一质量劣化值相同,表明受损区域覆盖所述第一视频帧的较多靠中间位置的区域时,受损数据在所述第一视频帧中所占的比重已足以反应受损数据对所述第一视频帧的影响程度。

  根据上述公式,当damageposition小于(或小于等于)b时,即受损区域比较靠近所述第一视频帧的底部时,α等于a*damagePosition,由于a的值大于0且小于等于1,damagePosition大于0且小于1,因此α大于0且小于1,所以修正后的第一质量劣化值小于修正前的第一质量劣化值。实际上,在受损数据比较靠近视频帧底部的情况下,受损数据对第一视频帧的质量的影响程度并没有像仅根据受损数据所占的比重算出的第一质量劣化值所反映出的影响程度那么大,所以,在这种情况下,根据上述公式进行修正后的第一质量劣化值更能反映出真实的影响程度。

  在具体实现时,可以通过启发式算法训练得到最优的a、b取值,使得最后评估的视频质量值最接近视频主观测试值,如,选择受损区域不同的多个视频帧,分别基于不同的a、b值进行修正得出第一质量劣化值,并分别进行主观打分,如果当a取值为A(如0.01)、b取值为B(如0.3)时修正得出的各视频帧的第一质量劣化值最接近主观打分时,将A和B分别设置为a和b的取值。

  假设a和b分别设置为0.01和0.3。如图3A所示,受损数据覆盖了中间区域,damagePosition等于0.7333,大于0.3,则α等于1,相应地,修正后的第一质量劣化值与修正前的第一质量劣化值相同。又如图3B所示,受损数据仅覆盖了靠近底部的区域,damagePosition等于0.2333,小于0.3,则α等于0.2333*0.3=0.0700,相应地,假设修正前的第一质量劣化值为0.2667,则修正后的第一质量劣化值为0.2667*0.0700=0.0187,小于修正前的第一质量劣化值。

  作为一种示例,α还可根据如下公式计算。

  

  或者

  

  其中a1和a2的值均大于0且小于等于1,b的值大于0且小于等于0.5。

  在具体实现时,可以通过上述启发式算法训练得到最优的a1、a2和b的取值。

  步骤104:在确定所述第一视频帧非场景切换帧时,根据所述第一视频帧所在场景对所述第一质量劣化值进行修正。

  当发生丢包时,视频终端(如机顶盒)通常会采用错误隐藏减轻影响,错误隐藏的方法通常是利用视频帧之间的时间相关性,在对受损帧(如本发明实施例中的第一视频帧)中的受损数据进行恢复时,将受损帧前一帧中对应于受损区域的视频内容作为受损区域的视频内容以恢复受损帧。因此,受损帧与前一帧的内容差距越小,补偿效果越好。

  如果受损帧为场景切换帧,如,受损帧前面的视频帧为拍摄的足球场中的图像,而受损帧为拍摄的观众席中的图像,那么此时错误隐藏的效果几乎没有。此时无需对所述第一质量劣化值进行修正。

  如果受损帧不是场景切换帧,如受损帧和受损帧前面的视频帧均为拍摄的足球场中的图像,又如,均为拍摄的观众席中的图像,则可以进行错误隐藏。错误隐藏的效果取决于受损帧所在场景的情况,如受损帧所在场景的场景复杂度。

  所述场景的场景复杂度可以取决于所述场景的时间复杂度和/或空间复杂度。

  所述场景的空间复杂度用于表征所述场景中的视频帧的画面细节丰富程度,空间复杂度越大,表明细节越多,相应地,错误隐藏效果越好,空间复杂度越小,表明细节越少,相应地,错误隐藏效果越差。

  所述场景的时间复杂度用于表征所述场景中的相邻视频帧之间的相关性大小,时间复杂度越大,表明相关性越小,时间复杂度越小,表明相关性越大。

  一般情况下,场景的时间复杂度越小,即视频运动越缓慢,如观众席的图像所组成的场景,相邻帧之间的相关性越大,错误隐藏效果越好;场景的时间复杂度越大,即视频运动越剧烈,如足球场的图像所组成的场景,相邻帧之间的相关性越小,错误隐藏效果越差。

  因此,在步骤104中具体可以根据所述第一视频帧所在场景的场景复杂度对所述第一质量劣化值进行修正。

  在受损帧不是场景切换帧时可通过引入修正因子β对所述第一质量劣化值进行修正:

  xlec=β*xlel,其中,xlel为根据场景修正前的第一质量劣化值,xlec为根据场景修正后的第一质量劣化值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  根据该实现方式,具体考虑了所述第一视频帧所在场景的场景复杂度对所述质量劣化值的影响,从而进一步提升了质量评估的准确性。

  β具体可以通过如下方式计算。

  β=g(tcomp),其中tcomp为受损帧所在场景的时间复杂度,tcomp越大,通过g函数计算出的β越大,tcomp越小,通过g函数计算出的β越小。在具体实现时,β可以等于场景的时间复杂度,即β=tcomp。所述时间复杂度表征了所述场景中的相邻视频帧之间的相关性大小,因此,可以有效地体现出场景复杂度,从而进一步提升了质量评估的准确性。

  场景的时间复杂度可以用来表征所述场景中的相邻视频帧之间的相关性大小,而非I帧(如B帧、P帧)是利用视频帧之间的相关性进行压缩的,因此,相关性越大,即时间复杂度越小,非I帧的压缩率越高,所以可以通过计算所述第一视频帧所在场景中所有非I帧的帧大小的中值或平均值与场景中所有I帧的帧大小的中值或平均值之间的比值获得该场景的时间复杂度,具体可以将该比值直接作为该场景的时间复杂度。如,修正前的第一质量劣化值为0.77,当场景复杂度较大,β的取值为0.8时,修正后的劣化值为0.62;当场景复杂度较小,β的取值为0.1时,修正后的第一质量劣化值为0.077。

  由于考虑了视频帧之间的相关性对非I帧压缩率的影响,因此可以准确地计算出时间复杂度,从而进一步提升质量评估的准确性。

  在计算受损帧所在场景的时间复杂度之前具体可以通过如下方式确定所述第一视频帧所在的场景(后续称为目标场景),并进而可以采用上述方式确定所述场景的时间复杂度。

  确定所述第一视频帧之前的离所述第一视频帧最近的场景切换帧(后续称为起始场景切换帧),并确定所述第一视频帧之后的离所述第一视频帧最近的场景切换帧(后续称为结束场景切换帧)。将所述起始场景切换帧及所述起始场景切换帧和所述结束场景切换帧之间的视频帧对应的场景确定为所述目标场景,即所述起始场景切换帧为所述目标场景的第一个视频帧,所述结束场景切换帧的前一帧为所述目标场景的最后一个视频帧。

  在本发明实施例1中具体可以通过如下方式识别所述第一视频帧所在视频中的场景切换帧,并进而可以根据识别结果在步骤104中确定所述第一视频帧是否为场景切换帧、确定所述第一视频帧之前的离所述第一视频帧最近的场景切换帧(即所述起始场景切换帧)、确定所述第一视频帧之后的离所述第一视频帧最近的场景切换帧(即所述结束场景切换帧)等。

  编码后的视频帧序列由多个图像组(Group of Picture,GOP)组成,如图4A所示,每个GOP通常由I帧开始,随后是一些P帧和B帧,到下一个I帧的前一帧结束。

  具体可以通过如下两种方式中的一种识别所述第一视频帧所在视频中的场景切换帧。

  方式1:只识别I帧中的场景切换帧。

  将第一个GOP的I帧确定为场景切换帧,并可通过如下方式依次确定后续的每个I帧(后续称正在确定的I帧为第K个GOP的I帧)是否为场景切换帧。

  1、计算第K个GOP的I帧的大小与第K-1个GOP的I帧的大小的比值rI;

  2、计算第K-1个GOP内的所有P帧的大小的平均值与第K个GOP内的所有P帧的大小的平均帧的比值rP;

  3、计算第K-1个GOP的所有B帧的大小的平均值与第K个GOP内的所有B帧的大小的平均帧的比值rB;

  4、如果比值rI大于第一阈值或小于第二阈值,则进一步判断下列条件(1)和条件(2),否则,确定第K个GOP的I帧不是场景切换帧。

  条件(1)rP小于阈值第三阈值或rP大于第四阈值

  条件(2)rB小于阈值第五阈值或rB大于第六阈值

  如果条件(1)和条件(2)均满足,确定第K个GOP的I帧为场景切换帧,否则,确定第K个GOP的I帧不是场景切换帧。

  方式1的具体判断方法可参见标准ITU-T P1201.2。

  方式2:识别I帧和P帧中的场景切换帧。

  1、识别所述视频中的各视频帧的类型(如,I帧、P帧、B帧),以确定所述视频中包括的各个GOP。

  2、通过方式1识别出所述视频中所有I帧中的场景切换帧。

  从第一个GOP开始针对每个GOP分别执行后续步骤依次识别每个GOP中的场景切换帧(后续称正在确定的GOP为第K个GOP)。

  3、确定第K个GOP的所有P帧中最大的P帧Pmax,其中Pmax的大小为

  4、计算的相对大小其中为Pmax与Pmax之前离Pmax最近的场景切换帧之间的多个I帧的大小的中值或平均值;

  5、如果大于第一阈值,计算的相对大小其中,为所述第K个GOP中的多个P帧的大小的中值或平均值。所述第一阈值大于0且小于1,具体可以为0.53。

  具体可以根据如下公式计算

  其中,P-m,…,P-1表示第K个GOP中Pmax之前的P帧,P1,…,Pn表示第K个GOP中Pmax之后的P帧,F用于求P-m,…,P-1,P1,…,Pn的大小的中值或平均值;

  m=min(num_before_P_frames,max_num)

  n=min(num_after_P_frames,max_num)

  其中,num_before_P_frames为第K个GOP中Pmax之前的P帧数,num_after_P_frames为第K个GOP中Pmax之后的P帧数,max_num表示预设的需要考虑的帧数,可设置为6。

  6、如果大于第二阈值,将Pmax确定为场景切换帧,否则,确定Pmax不是场景切换帧。如果当前GOP为所述视频的最后一个GOP,结束识别过程,否则针对下一个GOP再次执行步骤3-6。

  需要说明的是,可以先执行步骤2再执行步骤3-6,即,先识别出所有I帧中的场景切换帧再识别所有P帧中的场景切换帧;也可以将步骤2贯穿到和步骤3-6中,按照帧的顺序依次识别场景切换帧,即,根据GOP的顺序逐个GOP识别当前GOP中的场景切换帧,并在识别当前GOP中的场景切换帧时先判断当前GOP中的I帧是否为场景切换帧再判断当前GOP中的Pmax是否为场景切换帧。

  通过步骤101-104计算的是受损帧的质量劣化值,实际上,丢包不仅会对丢失的数据包所在的视频帧(即受损帧)的质量造成影响,还有可能对后续的视频帧的质量造成影响。

  编码后的视频帧序列由多个GOP组成,如图4A所示,每个GOP通常由I帧开始,随后是一些P帧和B帧,到下一个I帧的前一帧结束。I帧为帧内编码帧,P帧为前向参考帧,B帧为双向参考帧。当一个GOP中的某一帧发生丢包时时,丢包导致的解码错误会在后面的视频帧中持续扩散,通常认为扩散直至该GOP的最后一帧。如图4B所示,GOP1中第四帧受损时,错误会一直扩散至该GOP的最后一帧。但是当GOP中有场景切换帧时,由于场景切换帧与其前面的帧的内容几乎完全不同,编码时该场景切换帧中的宏块大多采用帧内预测编码,因此,如果该GOP内的且位于该场景切换帧之前的某一帧受损,错误扩散会在场景切换帧截止,如图4C所示,GOP1中第六帧为场景切换帧,当第四帧受损时,错误扩散至第六帧就截止了。

  基于上述分析,后续通过步骤105估计丢包对后续的视频帧的质量造成影响。

  需要说明的是,在本发明实施例中所说的各个帧之间的前后顺序,指的是所指代的帧在视频中的时间上的前后,如,一个时长为T(如10秒)的视频包括一个时刻t1处的视频帧1和一个时刻t2处的视频帧2,如果t1小于t2,如t1为1秒30毫秒,t2为5秒40毫秒,则认为视频帧1在视频帧2的前面。

  步骤105:根据所述第一视频帧的质量劣化值计算所述第一视频帧所在GOP的质量劣化值(后续称为第二质量劣化值)。

  所述第二质量劣化值可以用于表示所述第一数据包丢失导致所述第一视频帧所在GOP受损的程度,所述第二质量劣化值越大,表明所述GOP受损越严重,即所述GOP的质量越差,反之,所述第二质量劣化值越小,表明所述GOP受损越轻,即所述GOP的质量越好。

  步骤105可以通过实施方式A或实施方式B来实现。

  实施方式A:

  当所述第一视频帧所在的GOP中存在位于所述第一视频帧后面的场景切换帧时,可以根据如下公式计算所述第二质量劣化值。

  xl=β*xle*△TSC

  其中,xle为所述第一质量劣化值,xl为所述第二质量劣化值,所述第二质量劣化值用于表示所述第一数据包丢失导致所述第一视频帧所在GOP受损的程度,△t为所述第一视频帧对应的时刻和位于所述第一视频帧之后且离所述第一视频帧最近的所述GOP中的场景切换帧对应的时刻的差值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。β的计算方式可参照步骤104中β的计算方式,不再赘述。

  如图4C所示,GOP1的第四帧为受损帧,GOP1的第六帧为所述第一视频帧之后的离所述第一视频帧最近的场景切换帧,所述视频的帧率为15帧/秒,即相邻两帧的时间差值为1000毫秒/15=67ms,则△TSC为134ms。

  具体可以通过上述方式2确定所述第一视频帧之后的离所述第一视频帧最近的场景切换帧。

  另外,当所述第一视频帧所在的GOP中不存在位于所述第一视频帧后面的场景切换帧,则可以根据如下公式计算所述第二质量劣化值。

  xl=β*xle*△TI

  其中,xle为所述第二质量劣化值,xl为所述第二质量劣化值,△TSC为所述第一视频帧对应的时刻和所述第一视频帧之后的第一个I帧对应的时刻的差值。所述第一视频帧之后的第一个I帧为所述第一视频帧所在GOP后面的GOP的第一帧,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。β的计算方式可参照步骤104中β的计算方式,不再赘述。

  如图4B所示,GOP1的第四帧为受损帧,GOP2的第一帧为所述第一视频帧之后的第一个I帧,所述视频的帧率为15帧/秒,即相邻两帧的时间差值为1000毫秒/15=67ms,则△TI为335ms。

  具体可以通过上述方式2确定所述第一视频帧之后的离所述第一视频帧最近的场景切换帧。

  显然,当所述第一视频帧所在的GOP中不存在位于所述第一视频帧后面的场景切换帧,所述第一视频帧之后的离所述第一视频帧最近的场景切换帧位于所述第一视频帧之后的第一个I帧的后面。

  因此,上述用于计算第二质量劣化值的两个公式综合起来也可以表述为如下公式。

  xl=β*xle*min(△TSC,△TI)

  实施方式B:

  不管所述第一视频帧所在的GOP中是否存在位于所述第一视频帧后面的场景切换帧,均根据如下公式计算所述第二质量劣化值。

  xl=β*xle*△TI

  其中,xle为所述第二质量劣化值,xl为所述第二质量劣化值,△TSC为所述第一视频帧对应的时刻和所述第一视频帧之后的第一个I帧对应的时刻的差值。β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。β的计算方式可参照步骤104中β的计算方式,不再赘述。在确定所述第一视频帧所在的场景时,具体可以通过上述方式1或2确定所述场景的起始场景切换帧和结束场景切换帧。

  在具体实现时,在执行步骤101和102之后,可以执行步骤103-105中的任意一个步骤或多个步骤的任意组合。

  在既执行步骤103又执行步骤104时,步骤103和步骤104之间没有特定的先后顺序,如果先执行步骤103再执行步骤104,则在步骤104中对步骤103中修正后的第一质量劣化值进行进一步修正,如果先执行步骤104再执行步骤103,则在步骤103中对步骤104中修正后的第一质量劣化值进行进一步修正。

  如下是几种具体实施方式示例:

  实施方式1:包括步骤101、102和103,步骤103中修正的第一质量劣化值为步骤102中计算出的第一质量劣化值。还可以进一步包括步骤105,相应地,步骤105中计算所述第二质量劣化值时用到的第一质量劣化值为步骤103中修正后的第一质量劣化值。

  实施方式2:包括步骤101、102和104,步骤104中修正的第一质量劣化值为步骤102中计算出的第一质量劣化值。还可以进一步包括步骤105,相应地,步骤105中计算所述第二质量劣化值时用到的第一质量劣化值为步骤104中修正后的第一质量劣化值。

  实施方式3:步骤101、102、105,相应地,步骤105中计算所述第二质量劣化值时用到的第一质量劣化值为步骤102中计算出的第一质量劣化值。

  根据本发明实施例1提供的方法,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还综合考虑了其它因素,如该受损数据在该视频帧中的位置,该视频帧所在场景的场景复杂度对该视频帧或对该视频帧后面的视频帧的影响等,因此,质量评估的准确性更高。

  另外,当所述第一视频帧所在GOP中多个视频帧发生丢包时,在执行步骤105之后还可以对所述多个视频帧对应的第二质量劣化值进行求和以计算所述GOP的整体质量劣化值。具体计算方式参见标准ITU-T P1201.2。

  在一个测量窗口内可以包含多个GOP,进一步,还可以根据如下公式计算所述测量窗口的丢包程度lossMagnitude。具体计算方式参见标准ITU-T P1201.2。

  

  其中,k是测量时间窗口内每个GOP的序号,xlk是第k个GOP的整体质量劣化值,Tk是第k个GOP所包括的帧数。

  进一步地,还可以基于参数LossMagnitude以及视频编码信息,通过质量估计模型估算由于数据包丢失造成的质量失真QtraV,最后综合片源压缩损伤QcodV和网络传输损伤QtraV计算得到最终的视频平均体验得分(Mean Opinion Score of Video,MOSV)。具体计算方式参见标准ITU-T P1201.2。

  根据本发明实施例1,本发明实施例2提供了一种评估装置200。如图5所示,评估装置200包括确定单元210和计算单元220。

  所述确定单元210,用于确定用于封装第一视频帧的多个数据包中的第一数据包丢失。

  为便于描述,在本发明实施例中,将所述第一视频帧的质量劣化值简称为第一质量劣化值,将所述第一视频帧所在GOP的质量劣化值简称为第二质量劣化值。

  在第一种实施方式中:

  所述计算单元220,用于通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一视频帧的质量劣化值(即所述第一质量劣化值),所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据;并用于确定所述第一视频帧是否为场景切换帧并在确定所述第一视频帧非场景切换帧时,根据所述第一视频帧所在场景对所述第一质量劣化值进行修正。

  具体可以根据公式xlec=β*xlel对第一质量劣化值进行修正,其中,xlel为根据场景修正前的第一质量劣化值,xlec为根据场景修正后的第一质量劣化值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  进一步地,所述计算单元220还可以用于,在获得所述第一质量劣化值之后,以及在根据所述第一视频帧所在场景对所述第一质量劣化值进行修正之前,确定所述受损数据在所述第一视频帧中的位置,并根据所述受损数据在所述第一视频帧中的位置对所述第一质量劣化值进行修正。相应地,所述计算单元220根据所述第一视频帧所在场景的场景复杂度对根据所述位置修正后的第一质量劣化值进行修正。

  所述计算单元220具体可以根据公式xlel2=α*xlel1对所述第一质量劣化值进行修正,其中,xlel1为根据位置修正前的第一质量劣化值,xlel2为根据位置修正后的第一质量劣化值,α为修正因子,用于表示所述受损数据的位置对所述第一视频帧的质量的影响程度,α的值大于0且小于等于1,α的取值越小表明所述影响程度越小,α的取值越大表明所述影响程度越大。

  其中,所述计算单元220可以根据如下公式计算α:

  α=f(damagePosition)

  α的具体计算方式参见本发明实施例1的步骤103,不再赘述。

  另外,所述计算单元220还可以用于在根据所述第一视频帧所在场景的场景复杂度对所述第一质量劣化值进行修正之后,根据如下公式计算所述第一视频帧所在GOP的质量劣化值(即所述第二质量劣化值):

  xl=β*xle*△t

  其中,xle为所述第一质量劣化值,xl为所述第二质量劣化值,△t为所述第一视频帧对应的时刻和位于所述第一视频帧之后且离所述第一视频帧最近的所述GOP中的场景切换帧对应的时刻的差值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  在第二种实施方式中:

  所述计算单元220,用于通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一质量劣化值,所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据;并用于根据如下公式计算所述第二质量劣化值:

  xl=β*xle*△t

  其中,xle为所述第一质量劣化值,xl为所述第二质量劣化值,△t为所述第一视频帧对应的时刻和位于所述第一视频帧之后且离所述第一视频帧最近的所述GOP中的场景切换帧对应的时刻的差值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  进一步地,所述计算单元220还用于,在获得所述第一质量劣化值之后,在计算所述第二质量劣化值之前,确定所述受损数据在所述第一视频帧中的位置,并根据所述受损数据在所述第一视频帧中的位置对所述第一质量劣化值进行修正。相应地,公式xl=β*xle*△t中的xle具体为根据所述位置修正后的第一质量劣化值。

  所述计算单元220具体可以根据公式xlel2=α*xlel1对所述第一质量劣化值进行修正,其中,xlel1为根据位置修正前的第一质量劣化值,xlel2为根据位置修正后的第一质量劣化值,α为修正因子,用于表示所述受损数据的位置对所述第一视频帧的质量的影响程度,α的值大于0且小于等于1,α的取值越小表明所述影响程度越小,α的取值越大表明所述影响程度越大。

  其中,所述计算单元220可以根据如下公式计算α:

  α=f(damagePosition)

  α的具体计算方式参见本发明实施例1的步骤103,不再赘述。

  在第三种实施方式中:

  所述计算单元220,用于通过计算所述第一视频帧中的受损数据在所述第一视频帧中所占的比重获得所述第一质量劣化值,所述受损数据包括所述第一视频帧中受所述第一数据包丢失影响的图像数据;还用于确定所述受损数据在所述第一视频帧中的位置,并根据所述受损数据在所述第一视频帧中的位置对所述第一质量劣化值进行修正。

  具体可以根据公式xlel2=α*xlel1对所述第一质量劣化值进行修正,其中,xlel1为根据位置修正前的第一质量劣化值,xlel2为根据位置修正后的第一质量劣化值,α为修正因子,用于表示所述受损数据的位置对所述第一视频帧的质量的影响程度,α的值大于0且小于等于1,α的取值越小表明所述影响程度越小,α的取值越大表明所述影响程度越大。

  其中,所述计算单元220可以根据如下公式计算α:

  α=f(damagePosition)

  α的具体计算方式参见本发明实施例1的步骤103,不再赘述。

  进一步地,所述计算单元220还可以用于,在获得所述第一质量劣化值之后,在根据所述受损数据在所述第一视频帧中的位置对所述第一质量劣化值进行修正之前,在确定所述第一视频帧非场景切换帧时,根据所述第一视频帧所在场景对所述第一质量劣化值进行修正。具体可以根据公式xlec=β*xlel对所述第一质量劣化值进行修正,其中,xlel为根据场景修正前的第一质量劣化值,xlec为根据场景修正后的第一质量劣化值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  相应地,所述计算单元220根据所述位置对根据所述场景复杂度修正后的第一质量劣化值进行修正。

  另外,所述计算单元220还可以用于在根据所述位置对所述第一质量劣化值进行修正之后,根据如下公式计算所述第二质量劣化值:

  xl=β*xle*△t

  其中,xle为所述第一质量劣化值,xl为所述第二质量劣化值,△t为所述第一视频帧对应的时刻和位于所述第一视频帧之后且离所述第一视频帧最近的所述GOP中的场景切换帧对应的时刻的差值,β用于表示所述第一视频帧所在场景的场景复杂度,β的值大于0且小于1,且β的值越大表示所述场景复杂度越大,β的值越小表示所述场景复杂度越小。

  本发明实施例2中描述的功能模块可以用来实施上述实施例1所述的方法。

  根据本发明实施例2提供的评估装置200,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还综合考虑了其它因素,如该受损数据在该视频帧中的位置,该视频帧所在场景的场景复杂度对该视频帧或对该视频帧后面的视频帧的影响等,因此,质量评估的准确性更高。

  根据本发明实施例1,本发明实施例3提供了一种评估装置1000,如图6所示,评估装置1000包括处理器1010和存储器1020,其中,处理器1010和存储器1020之间通过总线完成相互间的通信。

  存储器1020,用于存放计算机操作指令。存储器1020可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

  处理器1010,用于执行存储器1020中存放的计算机操作指令。处理器1010具体可以是中央处理器(CPU,central processing unit),是计算机核心单元。

  其中,处理器1010执行所述计算机操作指令使得评估装置1000执行上述实施例1所述的方法。

  根据本发明实施例3提供的评估装置1000,在对视频质量进行评估时,不仅考虑了丢包所导致的受损数据在该受损数据所在的视频帧中所占的比重,还综合考虑了其它因素,如该受损数据在该视频帧中的位置,该视频帧所在场景的场景复杂度对该视频帧或对该视频帧后面的视频帧的影响等,因此,质量评估的准确性更高。

  根据本发明实施例1-3,本发明实施例4提供了一种传输设备400。如图7所示,所述传输设备400包括媒体单元4010和评估装置4020。

  所述媒体单元4010,用于接收视频服务器发送的媒体流,将所述媒体流发送给另一传输设备或视频终端,并将所述媒体流传输给所述评估装置4020。

  所述评估装置4020,具体可以为实施例2提供的评估装置200或实施例3提供的评估装置1000,用于从所述媒体单元4010获取所述媒体流并执行实施例2提供的评估装置200或实施例3提供的评估装置1000所执行的操作,在执行所述操作的过程中具体根据所述媒体流确定用于封装第一视频帧的多个数据包中的第一数据包丢失。

  根据本发明实施例1-3,本发明实施例5提供了一种视频终端500。如图8所示,所述传输设备500包括媒体单元5010和评估装置5020。

  所述媒体单元5010,用于接收视频服务器发送的媒体流,对所述媒体流解码播放,并将所述媒体流传输给所述评估装置4020。

  所述评估装置5020,具体可以为实施例2提供的评估装置200或实施例3提供的评估装置1000,用于从所述媒体单元5010获取所述媒体流并执行实施例2提供的评估装置200或实施例3提供的评估装置1000所执行的操作,在执行所述操作的过程中具体根据所述媒体流确定用于封装第一视频帧的多个数据包中的第一数据包丢失。

  根据本发明实施例1-3,本发明实施例6提供了一种实现视频质量评估的系统2000。如图9A所示,系统2000包括视频服务器2010、传输设备2020和视频终端2030,其中,所述视频服务器2010发送的视频流经由所述传输设备2020传输到所述视频终端2030。

  在一种具体实现方式中,所述传输设备2020或所述视频终端2030具体可以包括实施例2提供的评估装置200或实施例3提供的评估装置1000。在具体实现时,所述传输设备2020和所述视频终端2030可以均包括实施例2提供的评估装置200或实施例3提供的评估装置1000。所述传输设备2020具体可以为实施例4提供的传输设备400。所述视频终端2030具体可以为实施例5提供的视频终端500。

  在另一种具体实现方式中,所述系统还包括评估装置2040,如图9B和9C所示,所述评估装置2040具体可以为实施例2提供的评估装置200或实施例3提供的评估装置1000,所述传输设备2020或所述视频终端2030与所述评估装置2040相连,并且所述评估装置2040通过与所述评估装置2040连接的所述传输设备2020或所述视频终端2030获取所述视频流。在具体实现时,所述传输设备2020和所述视频终端2030可以分别与一个评估装置2040相连。

  本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

  所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

  在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

  所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

  另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

  所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

  以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

《一种实现视频质量评估的方法、装置和系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)