CN106254873B - 一种视频编码方法及视频编码装置 - Google Patents

一种视频编码方法及视频编码装置 Download PDF

Info

Publication number
CN106254873B
CN106254873B CN201610786567.5A CN201610786567A CN106254873B CN 106254873 B CN106254873 B CN 106254873B CN 201610786567 A CN201610786567 A CN 201610786567A CN 106254873 B CN106254873 B CN 106254873B
Authority
CN
China
Prior art keywords
psnr
coding
rate
code rate
preset
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
Application number
CN201610786567.5A
Other languages
English (en)
Other versions
CN106254873A (zh
Inventor
李青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Netstar Information Technology Co Ltd
Original Assignee
Guangzhou Wangxing Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Wangxing Information Technology Co Ltd filed Critical Guangzhou Wangxing Information Technology Co Ltd
Priority to CN201610786567.5A priority Critical patent/CN106254873B/zh
Publication of CN106254873A publication Critical patent/CN106254873A/zh
Application granted granted Critical
Publication of CN106254873B publication Critical patent/CN106254873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例公开了一种视频编码方法,包括:依次接收图像,并在接收到当前帧图像后,对当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;判断累计得到的PSNR值的数量是否达到第一预设阈值;当判断为是时,将累计得到的PSNR值分别与预设PSNR阈值进行比较;根据大于预设PSNR阈值的PSNR值的数量,设置最高编码码率;根据最高编码码率,对接收到的帧图像进行编码。本发明还公开了视频编码装置,采用本发明,实现了可以针对不同场景设置不同的最高编码码率来进行编码码率控制,解决现有技术的编码控制方式缺乏灵动性,编码效率不高的技术问题。

Description

一种视频编码方法及视频编码装置
技术领域
本发明涉及视频编码领域,尤其涉及一种视频编码方法及视频编码装置。
背景技术
随着信息时代的到来,自媒体应运而生。每个用户都可以成为信息的传播者,人们可以通过各种各样的传播形式将信息传递给信息接收者,其中,传播形式包括文字传播、图片传播、音频传播、视频传播等。随着互联网技术快速发展,用户越来越倾向于选择在线视频实时直播的方式,与他人分享一些趣闻或进行现场个人才艺表演,人们可以使用个人电脑或移动终端等进行视频直播(或视频通话)。
视频直播(或视频通话)非常注重实时性,如何在有限的带宽资源下既保证视频传播的实时性,又满足用户一定的视频质量要求,是人们一直研究的问题。视频直播(或视频通话)涉及到对直播视频进行采集、编码和上传的步骤,现有技术中,视频在编码时往往采用固定的最高编码码率来进行编码码率控制,然而视频直播(或视频通话)可以分很多种场景,不同场景编码码率的需求不尽相同,现有技术的编码控制方式缺乏灵动性,编码效率不高。
发明内容
本发明实施例所要解决的技术问题在于,提供一种视频编码方法及视频编码装置,解决现有技术的编码最高码率控制方式缺乏灵动性,编码效率不高的技术问题。
第一方面,本发明实施例提供了一种视频编码方法,包括:
依次接收图像,并在接收到当前帧图像后,对所述当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;
判断累计得到的PSNR值的数量是否达到第一预设阈值;
当判断为是时,将所述累计得到的PSNR值分别与预设PSNR阈值进行比较;
根据大于所述预设PSNR阈值的PSNR值的数量,设置最高编码码率;
根据所述最高编码码率,对接收到的帧图像进行编码。
结合第一方面,在第一种可能的实现方式中,所述根据大于所述预设PSNR阈值的PSNR值的数量,设置最高编码码率,包括:
判断大于所述预设PSNR阈值的PSNR值的数量是否小于第二预设阈值;
当判断为否时,设置最高编码码率为第一码率;当判断为是时,设置最高编码码率为第二码率;
其中,所述第二预设阈值小于所述第一预设阈值;所述第二码率大于所述第一码率。
结合第一方面,在第二种可能的实现方式中,所述根据大于所述预设PSNR阈值的PSNR值的数量,设置最高编码码率,包括:
计算大于所述预设PSNR阈值的PSNR值的数量占所述累计得到的PSNR值的数量的比例;
判断所述比例是否达到第三预设阈值;
当判断为是时,设置最高编码码率为第一码率;当判断为否时,设置最高编码码率为第二码率;其中所述第二码率大于所述第一码率。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第三预设阈值大于等于60%,小于等于80%。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述根据所述最高编码码率,对接收到的帧图像进行编码,包括:
当编码端的当前编码码率小于或等于所述最高编码码率时,采用所述当前编码码率进行编码;
当编码端的当前编码码率大于所述最高编码码率时,采用所述最高编码码率进行编码。
第二方面,本发明实施例提供了一种视频编码装置,包括:
接收模块,用于依次接收帧图像;
PSNR计算模块,用于在接收到当前帧图像后,对所述当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;
阈值判断模块,用于判断累计得到的PSNR值的数量是否达到第一预设阈值;
比较模块,用于当所述第一判断模块判断为是时,将所述累计得到的PSNR值分别与预设PSNR阈值进行比较;
码率设置模块,用于根据大于所述预设PSNR阈值的PSNR值的数量,设置最高编码码率;
编码模块,用于根据所述最高编码码率,对接收到的帧图像进行编码。
结合第二方面,在第一种可能的实现方式中,所述码率设置模块包括:
第一判断单元,用于判断大于所述预设PSNR阈值的PSNR值的数量是否小于第二预设阈值;
第一设置单元,用于当所述第一判断单元判断为否时,设置最高编码码率为第一码率;当所述第一判断单元判断为是时,设置最高编码码率为第二码率;
其中,所述第二预设阈值小于所述第一预设阈值;所述第二码率大于所述第一码率。
结合第二方面,在第二种可能的实现方式中,所述码率设置模块包括:
比例计算单元,用于计算大于所述预设PSNR阈值的PSNR值的数量占所述累计得到的PSNR值的数量的比例;
第二判断单元,用于判断所述比例是否达到第三预设阈值;
第二设置单元,用于当所述第二判断单元判断为是时,设置最高编码码率为第一码率;当所述第二判断单元判断为否时,设置最高编码码率为第二码率;其中所述第二码率大于所述第一码率。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第三预设阈值大于等于60%,小于等于80%。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述编码模块包括:
第一编码单元,用于当编码端的当前编码码率小于或等于所述最高编码码率时,采用所述当前编码码率进行编码;
第二编码单元,用于当编码端的当前编码码率大于所述最高编码码率时,采用所述最高编码码率进行编码。
第三方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括本发明实施例第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式中公开的视频编码方法。
通过实施本发明实施例,通过对当前帧图像与前一帧图像进行PSNR计算,得到PSNR值,并在判断累计得到的PSNR值的数量达到第一预设阈值后,将累计得到的PSNR值分别与预设PSNR阈值进行比较,根据大于预设PSNR阈值的PSNR值的数量,设置最高编码码率,最终根据该最高编码码率,对接收到的帧图像进行编码。可以分析出视频直播(或视频通话)中当前场景是静止场景还是运动场景,实现了可以针对不同场景设置不同的最高编码码率来进行编码码率控制,解决现有技术的编码控制方式缺乏灵动性,编码效率不高的技术问题;另外本发明通过统计PSNR结果的方式,对编码解码的要求也不高,可以在编码过程中大大减少运算量,从而减少压缩时长,在既保证视频传播的实时性,又满足用户一定的视频质量要求的同时,大大提高了编码效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的视频编码的场景示意图;
图2是本发明实施例提供的视频编码方法的流程示意图;
图3是本发明提供的视频编码方法的另一实施例的流程示意图;
图4是本发明提供的视频编码方法的另一实施例的流程示意图;
图5是本发明实施例提供的视频编码装置的结构示意图;
图6是本发明实施例提供的码率设置模块的结构示意图;
图7是本发明提供的码率设置模块的另一实施例的结构示意图;
图8是本发明实施例提供的编码模块的结构示意图;
图9是本发明提供的视频编码装置的另一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
结合图1示出的本发明实施例提供的视频编码的场景示意图,直播用户或直播方可以通过带摄像功能或摄像装置的电脑、移动终端等电子设备,采集录取视频,电子设备对视频进行编码,然后通过网络发送给对应的服务器,服务器将编码的视频数据发送给另一端的电子设备,以便观看该视频的用户通过该另一端的电子设备接收该视频数据,进行解码后进行播放。
需要说明的是,该服务器可以提供一个视频直播或视频通话的平台,用户可以在登陆该平台进行视频直播的发起或观看。
下面结合图2示出的本发明实施例提供的视频编码方法的流程示意图,详细说明本发明如何进行视频编码,包括以下步骤:
步骤S200:依次接收帧图像,并在接收到当前帧图像后,对所述当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;
具体地,视频直播或视频通话的视频数据发送方的电子设备采集到视频的帧图像后,将帧图像依次发送给电子设备的编码模块(编码端),编码模块可以一次接收帧图像,并在接收到一个帧图像后,对当前帧图像与该当前帧图像的前一帧图像进行PSNR计算,得到PSNR值,例如可以通过以下公式来计算:
PSNR=10*log10((2^n-1)^2/MSE)
其中,该MSE为当前帧图像与该当前帧图像的前一帧图像的均方误差。
步骤S202:判断累计得到的PSNR值的数量是否达到第一预设阈值;
具体地,本发明实施例可以预先设定该第一预设阈值,表明要累计计算PSNR的次数,也就是说累计得到PSNR值的数量要达到一定阈值,才能有效判断视频场景,否则判断结果往往不准确。本发明实施例中的第一预设阈值可以设为5、6或10等,技术人员可以根据自身需求或实验数据来进行设定该第一预设阈值,本发明不作限制。
当判断累计得到的PSNR值的数量达到第一预设阈值,则执行步骤S204,否则可继续执行步骤S202。
步骤S204:将所述累计得到的PSNR值分别与预设PSNR阈值进行比较;
具体地,本发明实施例还可以预先设置一PSNR阈值,该PSNR阈值可以为30、40或50等,技术人员可以根据自身需求或实验数据来进行设定该阈值,本发明不作限制。例如,累计得到了10个PSNR值,那么分别将该10个PSNR值与该PSNR阈值进行比较,得到这10个PSNR值中有多少个大于该PSNR阈值的PSNR值。
步骤S206:根据大于所述预设PSNR阈值的PSNR值的数量,设置最高编码码率;
具体地,可以根据大于该预设PSNR阈值的PSNR值的数量以及预先设定的设置最高编码码率的规则,分析出当前大于该预设PSNR阈值的PSNR值的数量符合的或对应的最高编码码率,例如可以直接分析大于该预设PSNR阈值的PSNR值的数量是否达到某个阈值,或者通过分析大于该预设PSNR阈值的PSNR值的数量占累计得到的PSNR值的比例,等等规则,来设置对应的最高编码码率。
步骤S208:根据所述最高编码码率,对接收到的帧图像进行编码。
具体地,通过步骤S200至步骤S206设置的最高编码码率,电子设备的编码模块或编码端在编码的过程中,若当前编码码率小于或等于该最高编码码率时,可以继续采用该当前编码码率进行编码;若当前编码码率大于该最高编码码率时,则可以采用该最高编码码率进行编码。
进一步地,下面分别结合图3和图4再详细举例说明本发明实施例提供的视频编码方法中如何设置最高编码码率:
如图3示出的本发明提供的视频编码方法的另一实施例的流程示意图,包括如下步骤:
步骤S300:依次接收帧图像,并在接收到当前帧图像后,对所述当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;
步骤S302:判断累计得到的PSNR值的数量是否达到第一预设阈值;
具体地,当判断结果为是时,则执行步骤S304,否则可以继续执行步骤S302;
步骤S304:将所述累计得到的PSNR值分别与预设PSNR阈值进行比较;
具体地,步骤S300至步骤S304可以参考上述实施例中步骤S200至和步骤S204,这里不再赘述。
步骤S306:判断大于所述预设PSNR阈值的PSNR值的数量是否小于第二预设阈值;
具体地,本发明实施例可以预先设置第二预设阈值,该第二预设阈值的大小需要参考上述第一预设阈值来设置,例如若该第一预设阈值为5,那么该第二预设阈值可以为3或4;设置的第二预设阈值不大于该第一预设阈值。
当判断出大于该预设PSNR阈值的PSNR值的数量不小于第二预设阈值时,可以执行步骤S308,当判断出大于该预设PSNR阈值的PSNR值的数量小于第二预设阈值时,则可以执行步骤S310。
步骤S308:设置最高编码码率为第一码率;
步骤S310:设置最高编码码率为第二码率;
具体地,当判断出大于该预设PSNR阈值的PSNR值的数量不小于第二预设阈值,可以表明当前视频的场景为静止场景(例如画面中没有运动的人或物);当判断出大于该预设PSNR阈值的PSNR值的数量小于第二预设阈值,可以表明当前视频的场景为运动场景,也就是说,该第二码率大于该第一码率,例如设置的该第一码率可以为500kbps,该第二码率为1000kbps,等等。技术人员可以根据自身需求或实验数据来进行设定该第二码率或该第一码率的大小,本发明不作限制。
步骤S312:根据所述最高编码码率,对接收到的帧图像进行编码。
具体地,可以参考上述实施例中步骤S208,这里不再赘述。
如图4示出的本发明提供的视频编码方法的另一实施例的流程示意图,包括如下步骤:
步骤S400:依次接收帧图像,并在接收到当前帧图像后,对所述当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;
步骤S402:判断累计得到的PSNR值的数量是否达到第一预设阈值;
具体地,当判断结果为是时,则执行步骤S404,否则可以继续执行步骤S402;
步骤S404:将所述累计得到的PSNR值分别与预设PSNR阈值进行比较;
具体地,步骤S400至步骤S404可以参考上述实施例中步骤S200至和步骤S204,这里不再赘述。
步骤S406:计算大于所述预设PSNR阈值的PSNR值的数量占所述累计得到的PSNR值的数量的比例;
具体地,例如累计得到的PSNR值的数量为5,大于该预设PSNR阈值的PSNR值的数量为3,那么计算的得到的比例为60%;又如累计得到的PSNR值的数量为10,大于该预设PSNR阈值的PSNR值的数量为7,那么计算的得到的比例为70%。
步骤S408:判断所述比例是否达到第三预设阈值;
具体地,本发明实施例还可以预先设置第三预设阈值,该第三预设阈值可以为60%、70%或80%等,技术人员可以根据自身需求或实验数据来进行设定该阈值,本发明不作限制。优选地,该第三预设阈值可以大于等于60%,小于等于80%。
当判断出该比例达到第三预设阈值,可以执行步骤S410,当判断出该比例没有达到第三预设阈值时,则可以执行步骤S412。
步骤S410:设置最高编码码率为第一码率;
步骤S412:设置最高编码码率为第二码率;
具体地,当判断出该比例达到第三预设阈值,可以表明当前视频的场景为静止场景(例如画面中没有运动的人或物);当判断出该比例没有达到第三预设阈值,可以表明当前视频的场景为运动场景,也就是说,该第二码率大于该第一码率,例如设置的该第一码率可以为500kbps,该第二码率为1000kbps,等等。技术人员可以根据自身需求或实验数据来进行设定该第二码率或该第一码率的大小,本发明不作限制。
步骤S414:根据所述最高编码码率,对接收到的帧图像进行编码。
具体地,可以参考上述实施例中步骤S208,这里不再赘述。
通过实施本发明实施例,通过对当前帧图像与前一帧图像进行PSNR计算,得到PSNR值,并在判断累计得到的PSNR值的数量达到第一预设阈值后,将累计得到的PSNR值分别与预设PSNR阈值进行比较,根据大于预设PSNR阈值的PSNR值的数量,设置最高编码码率,最终根据该最高编码码率,对接收到的帧图像进行编码。可以分析出视频直播(或视频通话)中当前场景是静止场景还是运动场景,实现了可以针对不同场景设置不同的最高编码码率来进行编码码率控制,解决现有技术的编码控制方式缺乏灵动性,编码效率不高的技术问题;另外本发明通过统计PSNR结果的方式,对编码解码的要求也不高,可以在编码过程中大大减少运算量,从而减少压缩时长,在既保证视频传播的实时性,又满足用户一定的视频质量要求的同时,大大提高了编码效率。
上述详细阐述了本发明实施例的方法,下面为了便于更好地实施本发明实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关装置。
如图5示出的本发明实施例提供的视频编码装置的结构示意图,视频编码装置50可以包括:接收模块500、PSNR计算模块502、阈值判断模块504、比较模块506、码率设置模块508和编码模块5010,其中,
接收模块500用于依次接收帧图像;
PSNR计算模块502用于在接收到当前帧图像后,对所述当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;
阈值判断模块504用于判断累计得到的PSNR值的数量是否达到第一预设阈值;
比较模块506用于当所述第一判断模块判断为是时,将所述累计得到的PSNR值分别与预设PSNR阈值进行比较;
码率设置模块508用于根据大于所述预设PSNR阈值的PSNR值的数量,设置最高编码码率;
编码模块5010用于根据所述最高编码码率,对接收到的帧图像进行编码。
具体地,如图6示出的本发明实施例提供的码率设置模块的结构示意图,码率设置模块508可以包括第一判断单元5080和第一设置单元5082,其中,
第一判断单元5080用于判断大于所述预设PSNR阈值的PSNR值的数量是否小于第二预设阈值;
第一设置单元5082用于当第一判断单元5080判断为否时,设置最高编码码率为第一码率;当第一判断单元5080判断为是时,设置最高编码码率为第二码率;
其中,所述第二预设阈值小于所述第一预设阈值;所述第二码率大于所述第一码率。
进一步地,如图7示出的本发明提供的码率设置模块的另一实施例的结构示意图,码率设置模块508可以包括比例计算单元5084、第二判断单元5086和第二设置单元5088,其中,
比例计算单元5084用于计算大于所述预设PSNR阈值的PSNR值的数量占所述累计得到的PSNR值的数量的比例;
第二判断单元5086用于判断所述比例是否达到第三预设阈值;
第二设置单元5088用于当第二判断单元5086判断为是时,设置最高编码码率为第一码率;当第二判断单元5086判断为否时,设置最高编码码率为第二码率;其中所述第二码率大于所述第一码率。
优选地,该第三预设阈值大于等于60%,小于等于80%。
再进一步地,如图8示出的本发明实施例提供的编码模块的结构示意图,编码模块5010可以包括:第一编码单元50100和第二编码单元50102,其中,
第一编码单元50100用于当编码端的当前编码码率小于或等于所述最高编码码率时,采用所述当前编码码率进行编码;
第二编码单元50102用于当编码端的当前编码码率大于所述最高编码码率时,采用所述最高编码码率进行编码。
可理解的是,本实施例的视频编码装置50的各功能模块的功能可根据上述方法实施例中的方法具体实现,此处不再赘述。
请参阅图9,图9是本发明提供的视频编码装置的另一实施例的结构示意图。其中,如图9所示,视频编码装置90可以包括:至少一个处理器901,例如CPU,至少一个网络接口904,用户接口903,存储器905,至少一个通信总线902,可选地,还可以包括显示屏906。其中,通信总线902用于实现这些组件之间的连接通信。其中,用户接口903可以包括触摸屏、键盘或鼠标等等。网络接口904可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通过网络接口904可以与服务器建立通信连接。存储器905可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,存储器905包括本发明实施例中的flash。存储器905可选的还可以是至少一个位于远离前述处理器901的存储系统。如图9所示,作为一种计算机存储介质的存储器905中可以包括操作系统、网络通信模块、用户接口模块以及视频编码程序。
处理器901可以用于调用存储器905中存储的视频编码程序,并执行以下操作:
依次接收帧图像,并在接收到当前帧图像后,对所述当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;
判断累计得到的PSNR值的数量是否达到第一预设阈值;
当判断为是时,将所述累计得到的PSNR值分别与预设PSNR阈值进行比较;
根据大于所述预设PSNR阈值的PSNR值的数量,设置最高编码码率;
根据所述最高编码码率,对接收到的帧图像进行编码。
具体地,处理器901根据大于所述预设PSNR阈值的PSNR值的数量,设置最高编码码率,可以包括:
判断大于所述预设PSNR阈值的PSNR值的数量是否小于第二预设阈值;
当判断为否时,设置最高编码码率为第一码率;当判断为是时,设置最高编码码率为第二码率;
其中,所述第二预设阈值小于所述第一预设阈值;所述第二码率大于所述第一码率。
具体地,处理器901根据大于所述预设PSNR阈值的PSNR值的数量,设置最高编码码率,可以包括:
计算大于所述预设PSNR阈值的PSNR值的数量占所述累计得到的PSNR值的数量的比例;
判断所述比例是否达到第三预设阈值;
当判断为是时,设置最高编码码率为第一码率;当判断为否时,设置最高编码码率为第二码率;其中所述第二码率大于所述第一码率。
具体地,处理器901根据所述最高编码码率,对接收到的帧图像进行编码,可以包括:
当编码端的当前编码码率小于或等于所述最高编码码率时,采用所述当前编码码率进行编码;
当编码端的当前编码码率大于所述最高编码码率时,采用所述最高编码码率进行编码。
需要说明的是,本发明实施例中的视频编码装置50或视频编码装置90包括但不限于个人计算机、移动电脑、平板电脑、移动电话、个人数字助理(Personal DigitalAssistant,PDA)、智能电视、智能手表、智能眼镜、智能手环等具有摄像或录像功能的电子设备上。
综上所述,通过实施本发明实施例,通过对当前帧图像与前一帧图像进行PSNR计算,得到PSNR值,并在判断累计得到的PSNR值的数量达到第一预设阈值后,将累计得到的PSNR值分别与预设PSNR阈值进行比较,根据大于预设PSNR阈值的PSNR值的数量,设置最高编码码率,最终根据该最高编码码率,对接收到的帧图像进行编码。可以分析出视频直播(或视频通话)中当前场景是静止场景还是运动场景,实现了可以针对不同场景设置不同的最高编码码率来进行编码码率控制,解决现有技术的编码控制方式缺乏灵动性,编码效率不高的技术问题;另外本发明通过统计PSNR结果的方式,对编码解码的要求也不高,可以在编码过程中大大减少运算量,从而减少压缩时长,在既保证视频传播的实时性,又满足用户一定的视频质量要求的同时,大大提高了编码效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (11)

1.一种视频编码方法,其特征在于,包括:
依次接收图像,并在接收到当前帧图像后,对所述当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;
判断累计得到的PSNR值的数量是否达到第一预设阈值;
当判断为是时,将所述累计得到的PSNR值分别与预设PSNR阈值进行比较;
根据大于所述预设PSNR阈值的PSNR值的数量以及预先设定的设置最高编码码率的规则,分析出当前大于该预设PSNR阈值的PSNR值的数量对应的最高编码码率,设置对应的最高编码码率;
根据所述最高编码码率,对接收到的帧图像进行编码。
2.如权利要求1所述的方法,其特征在于,所述根据大于所述预设PSNR阈值的PSNR值的数量以及预先设定的设置最高编码码率的规则,分析出当前大于该预设PSNR阈值的PSNR值的数量对应的最高编码码率,设置对应的最高编码码率,包括:
判断大于所述预设PSNR阈值的PSNR值的数量是否小于第二预设阈值;
当判断为否时,设置最高编码码率为第一码率;当判断为是时,设置最高编码码率为第二码率;
其中,所述第二预设阈值小于所述第一预设阈值;所述第二码率大于所述第一码率。
3.如权利要求1所述的方法,其特征在于,所述根据大于所述预设PSNR阈值的PSNR值的数量以及预先设定的设置最高编码码率的规则,分析出当前大于该预设PSNR阈值的PSNR值的数量对应的最高编码码率,设置对应的最高编码码率,包括:
计算大于所述预设PSNR阈值的PSNR值的数量占所述累计得到的PSNR值的数量的比例;
判断所述比例是否达到第三预设阈值;
当判断为是时,设置最高编码码率为第一码率;当判断为否时,设置最高编码码率为第二码率;其中所述第二码率大于所述第一码率。
4.如权利要求3所述的方法,其特征在于,所述第三预设阈值大于等于60%,小于等于80%。
5.如权利要求1-4任一项所述的方法,其特征在于,所述根据所述最高编码码率,对接收到的帧图像进行编码,包括:
当编码端的当前编码码率小于或等于所述最高编码码率时,采用所述当前编码码率进行编码;
当编码端的当前编码码率大于所述最高编码码率时,采用所述最高编码码率进行编码。
6.一种视频编码装置,其特征在于,包括:
接收模块,用于依次接收帧图像;
PSNR计算模块,用于在接收到当前帧图像后,对所述当前帧图像与前一帧图像进行峰值信噪比PSNR计算,得到PSNR值;
阈值判断模块,用于判断累计得到的PSNR值的数量是否达到第一预设阈值;
比较模块,用于当第一判断模块判断为是时,将所述累计得到的PSNR值分别与预设PSNR阈值进行比较;
码率设置模块,用于根据大于所述预设PSNR阈值的PSNR值的数量以及预先设定的设置最高编码码率的规则,分析出当前大于该预设PSNR阈值的PSNR值的数量对应的最高编码码率,设置对应的最高编码码率;
编码模块,用于根据所述最高编码码率,对接收到的帧图像进行编码。
7.如权利要求6所述的装置,其特征在于,所述码率设置模块包括:
第一判断单元,用于判断大于所述预设PSNR阈值的PSNR值的数量是否小于第二预设阈值;
第一设置单元,用于当所述第一判断单元判断为否时,设置最高编码码率为第一码率;当所述第一判断单元判断为是时,设置最高编码码率为第二码率;
其中,所述第二预设阈值小于所述第一预设阈值;所述第二码率大于所述第一码率。
8.如权利要求6所述的装置,其特征在于,所述码率设置模块包括:
比例计算单元,用于计算大于所述预设PSNR阈值的PSNR值的数量占所述累计得到的PSNR值的数量的比例;
第二判断单元,用于判断所述比例是否达到第三预设阈值;
第二设置单元,用于当所述第二判断单元判断为是时,设置最高编码码率为第一码率;当所述第二判断单元判断为否时,设置最高编码码率为第二码率;其中所述第二码率大于所述第一码率。
9.如权利要求8所述的装置,其特征在于,所述第三预设阈值大于等于60%,小于等于80%。
10.如权利要求6-9任一项所述的装置,其特征在于,所述编码模块包括:
第一编码单元,用于当编码端的当前编码码率小于或等于所述最高编码码率时,采用所述当前编码码率进行编码;
第二编码单元,用于当编码端的当前编码码率大于所述最高编码码率时,采用所述最高编码码率进行编码。
11.一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时执行包括如权利要求1-5任一项所述方法的步骤。
CN201610786567.5A 2016-08-31 2016-08-31 一种视频编码方法及视频编码装置 Active CN106254873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610786567.5A CN106254873B (zh) 2016-08-31 2016-08-31 一种视频编码方法及视频编码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610786567.5A CN106254873B (zh) 2016-08-31 2016-08-31 一种视频编码方法及视频编码装置

Publications (2)

Publication Number Publication Date
CN106254873A CN106254873A (zh) 2016-12-21
CN106254873B true CN106254873B (zh) 2020-04-03

Family

ID=58079639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610786567.5A Active CN106254873B (zh) 2016-08-31 2016-08-31 一种视频编码方法及视频编码装置

Country Status (1)

Country Link
CN (1) CN106254873B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109151469B (zh) * 2017-06-15 2020-06-30 腾讯科技(深圳)有限公司 视频编码方法、装置及设备
CN112672154A (zh) * 2020-12-15 2021-04-16 上海信联信息发展股份有限公司 直播视频播放方法、装置、服务器和计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102502A (zh) * 2007-08-21 2008-01-09 中国科学院计算技术研究所 一种基于图像特征的码率控制方法及装置
CN101478677A (zh) * 2008-12-24 2009-07-08 西安交通大学 基于码率控制的可伸缩多描述视频编码结构设计方法
CN102625106A (zh) * 2012-03-28 2012-08-01 上海交通大学 场景自适应的屏幕编码码率控制方法及其系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100937099B1 (ko) * 2003-02-14 2010-01-15 주식회사 케이티 영상 전송시 소스-채널 결합 부호화의 부호율 결정 방법및 이를 이용한 영상 전송 시스템
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
CN102148975A (zh) * 2010-02-04 2011-08-10 成都市世嘉电子实业有限公司 低比特率视频预测帧码率控制算法
CN102158702B (zh) * 2011-04-25 2013-01-30 南京信息工程大学 自适应h.264码率控制方法
US8924580B2 (en) * 2011-08-12 2014-12-30 Cisco Technology, Inc. Constant-quality rate-adaptive streaming
EP2949123A2 (en) * 2013-02-27 2015-12-02 Apple Inc. Adaptive streaming techniques
US10397574B2 (en) * 2014-05-12 2019-08-27 Intel Corporation Video coding quantization parameter determination suitable for video conferencing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102502A (zh) * 2007-08-21 2008-01-09 中国科学院计算技术研究所 一种基于图像特征的码率控制方法及装置
CN101478677A (zh) * 2008-12-24 2009-07-08 西安交通大学 基于码率控制的可伸缩多描述视频编码结构设计方法
CN102625106A (zh) * 2012-03-28 2012-08-01 上海交通大学 场景自适应的屏幕编码码率控制方法及其系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种对H.264 视频编码码率控制算法的改进;周明朗,李征;《微计算机信息》;20060630;全文 *
一种改进的基于柯西模型的码率控制方法;胡栋 等;《信号处理》;20111031;全文 *

Also Published As

Publication number Publication date
CN106254873A (zh) 2016-12-21

Similar Documents

Publication Publication Date Title
CN110418177B (zh) 视频编码方法、装置、设备和存储介质
CN106303157B (zh) 一种视频降噪处理方法及视频降噪处理装置
CN111277826B (zh) 一种视频数据处理方法、装置及存储介质
CN105163134A (zh) 直播视频的视频编码参数设置方法、装置及视频编码设备
CN112312231B (zh) 一种视频图像编码方法、装置、电子设备及介质
CN108347580B (zh) 一种处理视频帧数据的方法及电子设备
US11138715B2 (en) Method and apparatus for determining experience quality of VR multimedia
US20220191574A1 (en) Method for uploading video and client
WO2021129007A1 (zh) 视频码率的确定方法、装置、计算机设备及存储介质
CN113301342B (zh) 视频编码方法、网络直播方法、装置和终端设备
CN111093094A (zh) 视频转码方法、装置、系统及电子设备及可读存储介质
CN113938682A (zh) 视频编码方法、装置和电子设备
CN112437301B (zh) 一种面向视觉分析的码率控制方法、装置、存储介质及终端
CN107493478B (zh) 编码帧率设置方法及设备
CN111970565A (zh) 视频数据处理方法、装置、电子设备及存储介质
CN114554211A (zh) 内容自适应视频编码方法、装置、设备和存储介质
CN106254873B (zh) 一种视频编码方法及视频编码装置
CN114979755A (zh) 投屏方法、装置、终端设备及计算机可读存储介质
CN111385576B (zh) 视频编码方法、装置、移动终端及存储介质
Bienik et al. Impact of constant rate factor on objective video quality assessment
CN112929704A (zh) 数据传输方法、装置、电子设备以及存储介质
CN113810629B (zh) 一种融合平台多媒体信号的视频帧处理方法及装置
WO2018192518A1 (zh) 数据处理方法、装置及存储介质
CN116962613A (zh) 数据传输方法及装置、计算机设备、存储介质
CN115442615A (zh) 一种视频编码方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20191101

Address after: 510000 X1301-E6803 (Cluster Address) (JM) No. 106 Fengze East Road, Nansha District, Guangzhou, Guangdong Province

Applicant after: Guangzhou Netstar Information Technology Co., Ltd.

Address before: 511442, Guangdong Province, Guangzhou, Panyu District Town, Huambo business district, Wanda Plaza, block B1, 28 floor

Applicant before: All kinds of fruits garden, Guangzhou network technology company limited

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant