CN107231563B - 视频处理方法和装置 - Google Patents

视频处理方法和装置 Download PDF

Info

Publication number
CN107231563B
CN107231563B CN201610176356.XA CN201610176356A CN107231563B CN 107231563 B CN107231563 B CN 107231563B CN 201610176356 A CN201610176356 A CN 201610176356A CN 107231563 B CN107231563 B CN 107231563B
Authority
CN
China
Prior art keywords
frame
video
queue
lost
compensation
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
CN201610176356.XA
Other languages
English (en)
Other versions
CN107231563A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610176356.XA priority Critical patent/CN107231563B/zh
Priority to PCT/CN2017/074696 priority patent/WO2017161998A1/zh
Publication of CN107231563A publication Critical patent/CN107231563A/zh
Priority to US15/975,141 priority patent/US10791379B2/en
Application granted granted Critical
Publication of CN107231563B publication Critical patent/CN107231563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64776Control signals issued by the network directed to the server or the client directed to the server for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

一种视频处理方法,包括:获取各视频帧分别对应进行编号的视频帧队列;将所述视频帧队列进行传输,并检测所述视频帧队列是否存在丢帧;若是,通过插入补偿帧对所述丢帧进行补偿;将补偿后的所述视频帧队列发送到播放端。本申请还提供一种视频处理装置。通过各视频帧分别对应进行编号,在进行传输的数据层便可实现丢帧检测和补偿,不用进行额外的编解码计算,丢帧补偿过程中不会增加服务器的负载;通过检测丢帧后插入补偿帧对丢帧进行补偿,保障了视频帧的总数不变,避免出现视频帧数量减少而在播放端播放时卡顿,保证播放端能够顺利观看。

Description

视频处理方法和装置
技术领域
本发明涉及数据传输技术,特别是涉及一种视频处理方法和装置。
背景技术
在线视频播放对视频流的实时性要求较高,如果在视频数据流传输过程中网络波动,会导致部分视频帧数据丢失,而采用重新等待该丢失部分数据重传的方式,会影响用户对在线视频观看的实时性和观看质量。
目前,针对数据传输过程中数据丢失的处理方式包括针对音频通话VoIP(Voiceover Internet Protocol)的丢帧补偿方案,其是多次获取丢失的音频帧后重新传输通过进行二次编解码计算来进行补偿,然而音频码率较低且编解码对处理器的开销较小,因此对负载增加较少。而视频的码率和编解码计算复杂度很高,通常64核的服务器只能编码2路H265视频、16路H264视频,而在线视频播放频道数往往超过数万,通过二次编解码来进行补偿会导致服务器巨大的处理器开销。因此通常的处理方式是将该部分视频帧数据直接丢掉,直接丢失数据通常会带来以下两方面的问题。
第一,由于部分视频帧的丢失,会直接导致用户观看画面出现花屏;
第二,因为部分视频帧的丢失,用户端视频的播放速度比实际视频的播放进度要快,缓存的数据会提前播放完,因此用户端会卡顿并二次加载,造成二次缓冲甚至出错。
相关技术中,对于上述问题,尚无有效解决方案。
发明内容
基于此,有必要提供一种减少视频帧丢失、提高视频显示效果的视频处理方法和装置。
一种视频处理方法,包括:
获取各视频帧分别对应进行编号的视频帧队列;
将所述视频帧队列进行传输,并检测所述视频帧队列是否存在丢帧;
若是,通过插入补偿帧对所述丢帧进行补偿;
将补偿后的所述视频帧队列发送到播放端。
一种视频处理装置,包括:
视频帧获取模块用于获取各视频帧分别对应进行编号的视频帧队列;
检测模块用于将所述视频帧队列进行传输,并检测所述视频帧队列是否存在丢帧;
补偿模块当所述视频帧队列存在丢帧时,通过插入补偿帧对所述丢帧进行补偿;
发送模块用于将补偿后的所述视频帧队列发送到播放端。
上述视频处理方法和装置,通过对各视频帧分别对应编号后进行传输,在将视频帧队列进行传输的过程中实现丢帧检测和补偿,从而实现在数据层检测丢帧和补偿,因此不用进行额外的编解码计算,丢帧补偿过程中不会增加服务器的负载;通过检测丢帧后插入补偿帧对丢帧进行补偿,保障了视频帧的总数不变,避免出现视频帧数量减少而在播放端播放时卡顿,保证播放端能够顺利观看。
附图说明
图1为一实施例中视频处理方法的系统架构图;
图2为一实施例中直播视频的架构图;
图3为一个实施例中服务器的内部示意图;
图4为一实施例所提供的视频处理方法的流程图;
图5为另一个实施例中所提供的视频处理方法的流程图;
图6为一个实施例中获得补偿帧的流程图;
图7为再一个实施例中所提供的视频处理方法的流程图;
图8为一个实施例中的视频处理装置的结构示意图;
图9为另一个实施例中的视频处理装置的结构示意图;
图10为一个实施例中补偿模块的结构示意图;
图11为再一个实施例中的视频处理装置的结构示意图;
图12和图13为一实施例中视频帧补偿前后在播放端播放的效果对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本发明实施例所提供的视频处理方法可应用于图1所示的系统中,如图1所示,服务器200通过网络与终端100进行通信,终端100上安装并运行各种视频播放应用,终端100通过视频播放应用生成在线播放视频的关联请求并通过网络发送给服务器200。其中,终端100包括但不限于智能手机、平板电脑、个人数字助理(PDA)、膝上型便携计算机以及台式电脑。服务器200响应终端100的播放请求,获取视频采集装置所采集的视频文件进行编码后传输给终端100。
服务器200可以是独立的物理服务器或者物理服务器集群。以直播视频为例,如图2所示,典型的直播视频的架构包括现场拍摄、视频编码、视频传输加速、播放端接入观看四个环节。通过拍摄装置300拍摄视频文件,视频文件经编码形成符合传输协议的视频帧。视频传输加速的内部网络节点包括一级缓存、二级缓存、OC(Optical Carrier)机房,一级缓存是指离编码端最近的IDC(Internet Data Ceter)机房,进行直播视频的第一级代理传输,二级缓存是指各大区域主要城市的DC(Data Center)或者大型的OC机房,OC机房是指离播放端最近的节点,进行达到播放端之前的Last Kilometer(最后一公里加速)。图1所示系统的服务器200包括该视频直播架构中的一级缓存、二级缓存和OC机房所包含服务器的其中之一或者其任意组合。
在一个实施例中,图1中的服务器200的内部结构如图3所示,服务器200包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该服务器200的存储介质存储有操作系统、数据库和一种视频处理装置,数据库用于存储数据,如存储视频帧队列等。该服务器200的处理器用于提供计算和控制能力,支撑整个接入服务器200的运行。该服务器200的内存为存储介质中的视频处理装置的运行提供环境。该服务器200的网络接口用于与终端100通过网络连接通信,比如接收终端100发送的在线视频播放请求。
如图4所示,在一个实施例中,提供一种视频处理方法,该方法可应用于如图2所示的服务器200中,包括如下步骤:
步骤101,获取各视频帧分别对应进行编号的视频帧队列。各视频帧分别对应进行编号的视频帧队列,是指根据终端的在线视频播放请求而对相应采集视频进行编码,通过编码过程中进行协议扩展对各视频帧分别进行编号所得到的视频帧所组成的队列。对视频帧分别对应进行编号是指将编号与视频帧有序的关联对应,形成设定的规律,如根据视频帧产生的先后顺序通过数字序列号对每一视频帧进行编号,使得数字序列号与视频帧队列中的每一视频帧对应;或者如根据视频帧的先后顺序通过字母对每一视频帧进行编号,使得各字母分别与视频帧队列中的每一视频帧对应。
步骤103,将所述视频帧队列进行传输,并检测视频帧队列中是否存在丢帧。
由于视频帧队列中各视频帧是通过分别独立对应编号,可以在将视频帧队列进行传输的过程中,检测各帧的编号是否符合编码后视频帧队列中各视频帧的编号所设定的对应关系而判断视频帧是否存在丢帧。如根据视频帧的先后顺序通过数字序列号对每一视频帧进行编号得到的视频帧队列,可以通过判断数字序列号是否连续来判断是否存在丢帧,如根据视频帧的先后顺序通过字母对每一视频帧进行编号得到的视频帧队列,可以通过判断字母的排布是否仍保持原设定的规律来判断是否存在丢帧。
步骤105,若是,通过插入补偿帧对丢帧进行补偿。
用于替代视频帧队列中的丢帧的视频帧为补偿帧。当判断存在丢帧时,通过将与丢帧数量相同的补偿帧插入到丢帧所在位置进行补偿,经补偿之后的视频帧队列与原视频帧队列将保持相同的长度,且未发生丢帧的其它视频帧在视频帧队列中的顺序不会发生改变。
步骤107,将补偿后的视频帧队列发送到播放端。
通过插入补偿帧在丢帧的位置,可以保障视频帧队列中视频帧的总数量不会改变,且不影响未丢失部分的视频帧的顺序,将经过补偿后的视频帧队列发送到播放端,播放时长不会改变。
本实施例所提供的视频处理方法,通过编码对视频帧单独对应进行编号后进行传输,在数据传输过程中对视频帧检测是否存在丢帧并补偿,从而在数据层即可实现丢帧检测和补偿,不用进行额外的编解码计算,不会增加服务器的负载,其次,通过检测丢帧后插入补偿帧对丢帧进行补偿,保障了视频帧的总数不变,避免出现视频帧数量减少而卡顿,播放端的播放速度超过在线视频产生的速度导致播放失败,保证播放端能够顺利观看和保证播放画面的质量。该视频处理方法适用于大量用户通过终端的各种视频播放应用请求观看在线视频中的丢帧处理,尤其是针对在线观看直播视频的应用,能够减少卡顿和二次加载,且不会增加服务器的负载。
在另一个实施例中,如图5所示,步骤101,获取各视频帧分别对应进行编号的视频帧队列的步骤包括:
步骤1012,获取根据视频帧产生的先后顺序对视频的每帧分别对应进行编号的视频帧所形成的视频帧队列;
步骤103,将所述视频帧队列进行传输,并检测视频帧队列是否存在丢帧的步骤包括:
步骤1031,将所述视频帧队列进行传输的过程中,检测视频帧的编号是否缺失或者错位;
步骤1032,若是,则确定缺失或者错位的编号所对应的视频帧为丢帧。
通过网络观看的在线播放视频通常是将拍摄形成的视频文件以流媒体数据(flv)通过网络进行传输。将视频文件转换成流媒体数据可通过编码器或者安装有编码软件的计算机实现,编码是指用于创建、捕捉和编辑音视频多媒体数据以形成便于网络传输的流媒体格式的视频帧。按照flv传输协议通过对视频文件进行编码,在编码过程中通过协议扩展对每一视频帧增加视频协议头部,编码后每一视频帧包括视频协议头部(head)和标签(tag),标签为视频内容,视频协议头部以预设的规则分别进行编号形成标识,从而形成可以识别到每一个帧的视频帧队列。根据视频帧产生的先后顺序对视频的每帧分别对应进行编号是通过编码将需要传输的视频文件转换成可独立识别到各帧的视频帧队列以进行传输。
通过对视频帧的每一帧增加视频协议头部进行编号标识,可以通过检测每一帧的视频协议头部的编号以识别出每一帧在队列中是否缺失或者错位的情况。以根据视频帧的先后顺序对各视频帧通过数字序列号连续递增进行编号得到的视频帧队列为例,当数字序列号不连续或者某处不符合递增规律,则可以确定相应位置为丢帧部位并确认丢帧部位所对应的编号。如,进行编码后的视频帧队列中各帧头部正常情况的编号为“1、2、3、4、5...29、30...”,在视频帧传输过程中进行检测得到的视频帧队列的编号为“1、2、3、5...29、30...”,第4片帧缺失,因此可以确定存在丢帧,并确定第4片帧为丢帧。又如,进行编码后的视频帧队列中各帧头部正常情况的编号为“1、2、3、4、5...29、30...”,在视频帧传输过程中进行检测得到的视频帧队列的编号为“1、2、3、5...29、4、30...”,第4片帧错位,当播放端播放该视频帧队列时,播放到第29帧时第4帧才到达,第4帧不能继续使用,第4帧所在位置不符合预设的递增规律,可以确定存在丢帧,并确定第4片帧为丢帧。
进一步的,步骤105,通过插入补偿帧对丢帧进行补偿的步骤包括:
步骤1051,获取与丢帧相邻的视频帧作为补偿帧;
步骤1059,将补偿帧插入丢帧所在位置。
将与丢帧相邻的视频帧作为补偿帧,并将补偿帧插入到原丢帧所在位置形成补偿后的视频帧队列,可以保持原视频帧队列的长度。通常来说,相邻视频帧之间的信息差异较小,通过获取相邻视频帧作为补偿帧,将补偿帧插入相应丢帧所在位置,生成补偿后的视频帧队列,并将所述补偿后的视频帧队列发送到播放端后,在播放时,按照视频帧的先后顺序播放到丢帧所在位置时相当于是将同一帧画面的播放时间延续一个视频帧播放的时间,因此观看时画面整体连贯流畅,不需要再等待重传而影响观看体验。
请参阅图6,提供了如何获取补偿帧一优选实施例,步骤1051,获取与丢帧相邻的视频帧作为补偿帧的步骤包括:
步骤1052,判断丢帧是否包括多个连续的视频帧;
步骤1053,当丢帧为一个或者多个分离的视频帧时,复制位于丢帧的前面且与丢帧相邻的视频帧作为补偿帧;
步骤1054,当丢帧包括两个或两个以上连续的视频帧时,分别复制与丢帧相邻且与丢帧数量相同的视频帧作为补偿帧。
当丢帧为一个或者多个分离的视频帧时,复制与丢帧相邻的视频帧作为补偿帧满足在前优先原则,即优先选取位于丢帧的前面且与丢帧相邻的视频帧进行复制作为补偿帧。分离的视频帧是指丢帧之间相互不连续。仍以根据视频帧的先后顺序通过数字序列号连续递增进行编号得到的视频帧队列为例,如,在视频帧传输过程中进行检测得到的视频帧队列的编号为“1、2、3、5...29、30...”,确定第4片帧为丢帧,根据在前优先原则复制与第4片帧相邻的且位于第4片帧前方的第3片帧并插入至第4片帧所在位置进行补偿,得到补偿后的视频帧队列为“1、2、3、3、5...29、30...”;再如,在视频帧传输过程中进行检测得到的视频帧队列的编号为“1、3、5...29、30...”,第2片帧和第4片帧缺失,确定第2片帧和第4片帧为丢帧,根据在前优先原则分别复制第1片帧和第3片帧分别插入第2片帧和第4片帧所在位置进行丢帧补偿,得到补偿后的视频帧队列为“1、1、3、3、5...29、30...”。
当丢帧包括两个或者两个以上连续的视频帧时,分别复制与丢帧相邻且与所述丢帧数量相同的视频帧作为补偿帧,其中选择与丢帧相邻的视频帧满足就近原则和在前优先原则,即优先选取分别位于丢帧前方和后方的相同数量的相邻视频帧进行复制作为补偿帧,如此,可确保复制与丢帧相邻的视频帧插入丢帧所在位置后所形成的补偿后的视频帧队列中,相同的视频帧最多连续出现两次。如,在视频帧传输过程中进行检测得到的视频帧队列中各视频帧的编号依次为“1、2、3、6...29、30...”,确定第4片帧和第5片帧为丢帧,根据在前优先及就近原则分别复制在第4片帧前方的第3片帧,以及在第5片帧后方的第6片帧并分别插入第4片帧和第5片帧所在位置进行补偿,得到补偿后的视频帧队列为“1、2、3、3、6、6...29、30...”。再如,在视频帧传输过程中进行检测得到的视频帧队列中各视频帧的编号为“1、2、3、7、8...29、30...”,确定第4片帧、第5片帧及第6片帧为丢帧,根据在前优先及就近原则分别复制第2片帧、第3片帧、第7片帧作为补偿帧,得到补偿后的视频帧队列为“1、2、2、3、3、7、7、8...29、30...”。
通过判断丢帧的数量以及是否连续的情况,确定复制相邻视频帧作为补偿帧,能够最大程度上保证补偿后的视频帧队列发送到播放端播放时画面保持连续和流畅,视频内容播放时不会产生明显的跳跃性。
在再一个实施例中,请参阅图7,步骤101,获取视频编码后各视频帧分别对应进行编号的视频帧队列之前,还包括:
步骤1011,对视频的每帧分别加入对应的视频协议头部并对所述视频协议头部进行编号,生成视频帧队列。
可通过音视频数据接口获取音视频数据后进行编码,通过对视频进行编码将每帧分别加入对应的视频协议头部。优选的,该音视频数据为直播视频。其中,直播视频可以通过摄像装置在现场采集得到。
步骤107,将补偿后的视频帧队列发送到播放端之前,还包括:
步骤106,去掉视频帧队列中各帧的视频协议头部。
在将视频帧队列发送给播放端之前,通过去除掉视频协议头部便可得到原生的视频格式,播放端无需进行任何修改,用户也无需升级便能保证播放端的正常播放。
该视频处理方法可以结合其它减少丢帧的方法使用,如通过网络协议栈的优化,在丢包时仍然能够保障传输速度;以及智能路由探测技术,选择最优的路由来避开丢包多的路径,通过在自定义协议层面区分视频帧,并在视频帧层面直接进行补偿,从而在通过其它减少丢帧的方法无法杜绝轻量级丢帧的情况下进一步进行丢帧补偿。在数据层进行补偿,不用进行额外的编解码,不会增加服务器的负载;通过复制相邻视频帧对丢帧进行插帧补偿,补偿后的视频帧队列发送到播放端播放时视频画面视觉和听觉相对直接丢帧都更加优化;丢帧补偿保障了视频帧的总数不变,保障了播放端的视频播放速度,对于在线网络视频,尤其是直播视频,由于直接丢帧出现视频帧数量减少会导致播放端的播放速度超过直播信号产生的速度而导致播放直接失败,通过以上视频处理方法可以保障直播视频的正常流畅播放。
如图8所示,在一个实施例中,提供了一种视频处理装置,包括视频帧获取模块20、检测模块22、补偿模块24及发送模块26。视频帧获取模块20用于获取各视频帧分别对应进行编号的视频帧队列。检测模块22用于将视频帧队列进行传输,并检测视频帧队列是否存在丢帧。补偿模块24用于当视频帧队列存在丢帧时,通过插入补偿帧对丢帧进行补偿。发送模块26用于将补偿后的视频帧队列发送到播放端。
在另一个实施例中,如图9所示,该视频帧获取模块20具体用于获取根据视频帧产生的先后顺序对视频的每帧分别对应进行编号的视频帧所形成的视频帧队列。检测模块22具体包括检测单元221和丢帧确定单元223。其中检测单元221用于将视频帧队列进行传输的过程中,检测视频帧的编号是否缺失或者错位;丢帧确定单元223用于当检测视频帧存在缺失或者错位时,确定缺失或者错位的编号所对应的视频帧为丢帧。
进一步的,补偿模块24包括补偿帧生成单元242和插帧单元248。补偿帧生成单元242用于获取与丢帧相邻的视频帧作为补偿帧,插帧单元248用于将补偿帧插入丢帧所在位置。
请参阅图10,在一个实施例中,该补偿帧生成单元242具体包括判断装置243、第一补偿帧生成装置244第二补偿帧生成装置245。判断装置243用于判断丢帧是否包括多个连续的视频帧。第一补偿帧生成装置244用于当丢帧为一个或者多个分离的视频帧时,复制位于丢帧的前面且与丢帧相邻的视频帧作为补偿帧。第二补偿帧生成装置245用于当丢帧包括两个或两个以上连续的视频帧时,分别复制与丢帧相邻且与丢帧数量相同的视频帧作为补偿帧。
再一个实施例中,请参阅图11,该视频处理装置还包括编码模块23和头部去除模块29。编码模块23用于对视频的每帧分别加入对应的视频协议头部并对视频协议头部进行编号,生成视频帧队列。头部去除模块29用于在将补偿后的视频帧队列发送到播放端之前去掉所述视频帧队列中各帧的视频协议头部。
该视频处理装置通过形成视频帧分别对应进行编号的视频帧队列,在自定义协议层面区分视频帧,并在将视频帧传输的数据层直接进行丢帧检测和补偿,从而在其它减少丢帧的方法无法杜绝丢帧的情况下实现完全的丢帧补偿。该视频处理装置运行于视频播放架构的视频传输加速节点中的服务器,在数据层进行补偿,不用进行额外的编解码,不会增加服务器的负载;通过复制相邻视频帧作为补偿帧对丢帧进行间隔插帧补偿,播放端的视觉和听觉相对直接丢帧更加优化,如图12和图13所示,分别为采用直接丢帧在播放端得到是视频播放画面及采用该视频处理方法进行丢帧补偿后在播放端得到的视频播放画面的对比图;丢帧补偿保障了视频帧的总数不变,保障播放端的视频播放速度,对于在线网络视频,尤其是直播视频,由于直接丢帧出现视频帧数量减少会导致播放端的播放速度超过直播信号产生的速度而导致播放直接失败,通过视频处理装置可以保障直播视频的正常流畅播放。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (10)

1.一种视频处理方法,包括:
获取各视频帧分别对应进行编号的视频帧队列;
将所述视频帧队列进行传输,并在将所述视频帧队列进行传输的过程中,检测所述视频帧队列中是否存在丢帧;
若是,通过插入补偿帧对所述丢帧进行补偿,当所述丢帧包括两个或两个以上连续的视频帧时,所述补偿帧为复制的与丢帧相邻、分别位于丢帧前方和后方、且与所述丢帧数量相同的视频帧;当所述丢帧为一个或者多个分离的视频帧时,所述补偿帧为复制的位于所述丢帧的前面且与所述丢帧相邻的视频帧;
将补偿后的所述视频帧队列发送到播放端,补偿后的所述视频帧队列中,相同的视频帧最多连续出现两次。
2.如权利要求1所述的视频处理方法,其特征在于:所述获取各视频帧分别对应进行编号的视频帧队列的步骤包括:
获取根据视频帧产生的先后顺序对所述视频的每帧分别对应进行编号的视频帧所形成的视频帧队列;
所述将所述视频帧队列进行传输,并在将所述视频帧队列进行传输的过程中,检测所述视频帧队列中是否存在丢帧的步骤包括:
在将所述视频帧队列进行传输的过程中,检测所述视频帧的编号是否缺失或者错位;
若是,则确定所述缺失或者错位的编号所对应的视频帧为丢帧。
3.如权利要求1所述的视频处理方法,其特征在于:所述通过插入补偿帧对所述丢帧进行补偿的步骤包括:
获取与所述丢帧相邻的视频帧作为所述补偿帧;
将所述补偿帧插入所述丢帧所在位置。
4.如权利要求3所述的视频处理方法,其特征在于:在所述通过插入补偿帧对所述丢帧进行补偿的步骤之前还包括:
判断丢帧是否包括多个连续的视频帧。
5.如权利要求1所述的视频处理方法,其特征在于:在所述获取各视频帧分别对应进行编号的视频帧队列的步骤之前,还包括:
对所述视频的每帧分别加入对应的视频协议头部并对所述视频协议头部进行编号,生成视频帧队列;
所述将补偿后的所述视频帧队列发送到播放端的步骤之前,还包括:
去掉所述视频帧队列中各帧的视频协议头部。
6.一种视频处理装置,包括:
视频帧获取模块,用于获取各视频帧分别对应进行编号的视频帧队列;
检测模块,用于将所述视频帧队列进行传输,并在将所述视频帧队列进行传输的过程中,检测所述视频帧队列中是否存在丢帧;
补偿模块,当所述视频帧队列存在丢帧时,通过插入补偿帧对所述丢帧进行补偿,当所述丢帧包括两个或两个以上连续的视频帧时,所述补偿帧为复制的与丢帧相邻、分别位于丢帧前方和后方、且与所述丢帧数量相同的视频帧;当所述丢帧为一个或者多个分离的视频帧时,所述补偿帧为复制的位于所述丢帧的前面且与所述丢帧相邻的视频帧,补偿后的视频帧队列中,相同的视频帧最多连续出现两次;
发送模块,用于将补偿后的所述视频帧队列发送到播放端。
7.如权利要求6所述的视频处理装置,其特征在于:所述视频帧获取模块,具体用于获取根据视频帧产生的先后顺序对所述视频的每帧分别对应进行编号的视频帧所形成的视频帧队列;所述检测模块具体包括:
检测单元,用于将所述视频帧队列进行传输的过程中,检测所述视频帧的编号是否缺失或者错位;
丢帧确定单元,当检测所述视频帧存在缺失或者错位时,确定所述缺失或者错位的编号所对应的视频帧为丢帧。
8.如权利要求6所述的视频处理装置,其特征在于:所述补偿模块包括:
补偿帧生成单元,用于获取与所述丢帧相邻的视频帧作为所述补偿帧;
插帧单元,用于将所述补偿帧插入所述丢帧所在位置。
9.如权利要求8所述的视频处理装置,其特征在于:所述补偿模块还包括:
判断装置,用于判断丢帧是否包括多个连续的视频帧。
10.如权利要求6所述的视频处理装置,其特征在于:还包括:
编码模块,用于对所述视频的每帧分别加入对应的视频协议头部并对所述视频协议头部进行编号,形成视频帧队列;
头部去除模块,用于在所述将补偿后的所述视频帧队列发送到播放端之前,去掉所述视频帧队列中各帧的视频协议头部。
CN201610176356.XA 2016-03-24 2016-03-24 视频处理方法和装置 Active CN107231563B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610176356.XA CN107231563B (zh) 2016-03-24 2016-03-24 视频处理方法和装置
PCT/CN2017/074696 WO2017161998A1 (zh) 2016-03-24 2017-02-24 视频处理方法和装置、计算机存储介质
US15/975,141 US10791379B2 (en) 2016-03-24 2018-05-09 Video processing method and apparatus, and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610176356.XA CN107231563B (zh) 2016-03-24 2016-03-24 视频处理方法和装置

Publications (2)

Publication Number Publication Date
CN107231563A CN107231563A (zh) 2017-10-03
CN107231563B true CN107231563B (zh) 2020-06-23

Family

ID=59899303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610176356.XA Active CN107231563B (zh) 2016-03-24 2016-03-24 视频处理方法和装置

Country Status (3)

Country Link
US (1) US10791379B2 (zh)
CN (1) CN107231563B (zh)
WO (1) WO2017161998A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231563B (zh) 2016-03-24 2020-06-23 腾讯科技(深圳)有限公司 视频处理方法和装置
CN110324549B (zh) * 2018-03-28 2022-05-13 沈阳美行科技股份有限公司 一种录像方法、装置和设备
JP6938770B2 (ja) 2018-04-04 2021-09-22 株式会社ソニー・インタラクティブエンタテインメント 通信装置、生成データサイズ制御方法及びプログラム
US11245890B2 (en) * 2018-04-04 2022-02-08 Sony Interactive Entertainment Inc. Communication apparatus, generated data size control method, communication method, and program
CN110401848A (zh) * 2018-04-24 2019-11-01 北京视联动力国际信息技术有限公司 一种视频播放方法和装置
CN109089131B (zh) * 2018-09-21 2021-07-23 广州虎牙信息科技有限公司 一种基于ios系统的录屏直播方法、装置、设备及存储介质
US11005909B2 (en) 2019-08-30 2021-05-11 Rovi Guides, Inc. Systems and methods for providing content during reduced streaming quality
US10986378B2 (en) * 2019-08-30 2021-04-20 Rovi Guides, Inc. Systems and methods for providing content during reduced streaming quality
US11184648B2 (en) 2019-08-30 2021-11-23 Rovi Guides, Inc. Systems and methods for providing content during reduced streaming quality
CN112825562B (zh) * 2019-11-21 2022-11-01 杭州海康威视数字技术股份有限公司 一种视频帧补偿方法、装置、以及视频处理芯片
CN111107104B (zh) * 2019-12-31 2022-02-18 广州酷狗计算机科技有限公司 视频发送方法、视频接收方法、装置、设备及存储介质
CN111556334B (zh) * 2020-03-27 2021-01-19 李惠芳 一种互联网视频平滑方法
CN111683252B (zh) * 2020-06-11 2021-11-09 浪潮(北京)电子信息产业有限公司 一种服务器以及一种视频压缩图像的输出系统和方法
CN113949926B (zh) * 2020-07-17 2024-07-30 武汉Tcl集团工业研究院有限公司 一种视频插帧方法、存储介质及终端设备
CN111883147B (zh) * 2020-07-23 2024-05-07 北京达佳互联信息技术有限公司 音频数据处理方法、装置、计算机设备及存储介质
CN114079795B (zh) * 2020-08-19 2023-09-15 德科仕通信(上海)有限公司 网络直播静帧和静音故障检测方法
CN112272306B (zh) * 2020-09-28 2023-03-28 天下秀广告有限公司 一种多路实时交互视频融合传输方法
CN113225617A (zh) * 2021-04-28 2021-08-06 臻迪科技股份有限公司 播放视频处理方法、装置及电子设备
CN115412763B (zh) * 2021-05-28 2024-09-27 中国移动通信有限公司研究院 视频数据的传输方法、终端及服务器
CN114245177B (zh) * 2021-12-17 2024-01-23 智道网联科技(北京)有限公司 高精地图的平滑显示方法、装置、电子设备及存储介质
CN115086564A (zh) * 2022-07-27 2022-09-20 维沃移动通信有限公司 摄像头图像帧干扰处理方法、装置和电子设备
CN117854455A (zh) * 2022-09-30 2024-04-09 荣耀终端有限公司 显示方法及装置
CN116132728A (zh) * 2022-12-29 2023-05-16 深圳创维-Rgb电子有限公司 异常图像帧的处理方法及相关装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873873A (zh) * 2014-03-24 2014-06-18 上海航天电子通讯设备研究所 一种非可靠信道下的图像编解码方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3428697B2 (ja) * 1993-09-07 2003-07-22 キヤノン株式会社 画像復号化方法
MX2008001155A (es) * 2005-07-25 2008-03-13 Thomson Licensing Metodo y aparato para la ocultacion de cuadros de video faltantes.
US20070058730A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Media stream error correction
US20080141091A1 (en) * 2006-12-06 2008-06-12 General Instrument Corporation Method and Apparatus for Recovering From Errors in Transmission of Encoded Video Over a Local Area Network
US7706384B2 (en) * 2007-04-20 2010-04-27 Sharp Laboratories Of America, Inc. Packet scheduling with quality-aware frame dropping for video streaming
KR100923950B1 (ko) * 2007-11-15 2009-10-29 한국전자통신연구원 H.264/avc 기반의 비디오 프레임 손실 복원 방법 및장치
US9788018B2 (en) * 2008-06-30 2017-10-10 Microsoft Technology Licensing, Llc Error concealment techniques in video decoding
US20100037281A1 (en) * 2008-08-05 2010-02-11 Broadcom Corporation Missing frame generation with time shifting and tonal adjustments
US8929443B2 (en) * 2009-01-09 2015-01-06 Microsoft Corporation Recovering from dropped frames in real-time transmission of video over IP networks
CN101894558A (zh) * 2010-08-04 2010-11-24 华为技术有限公司 丢帧恢复方法、设备以及语音增强方法、设备和系统
US20160105689A1 (en) * 2014-10-13 2016-04-14 Vigor Systems Inc. Replacing a corrupted video frame
US10334086B2 (en) * 2015-10-29 2019-06-25 Oracle International Corporation Header redundancy removal for tunneled media traffic
CN107231563B (zh) 2016-03-24 2020-06-23 腾讯科技(深圳)有限公司 视频处理方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873873A (zh) * 2014-03-24 2014-06-18 上海航天电子通讯设备研究所 一种非可靠信道下的图像编解码方法

Also Published As

Publication number Publication date
US20180262815A1 (en) 2018-09-13
WO2017161998A1 (zh) 2017-09-28
US10791379B2 (en) 2020-09-29
CN107231563A (zh) 2017-10-03

Similar Documents

Publication Publication Date Title
CN107231563B (zh) 视频处理方法和装置
US20240064087A1 (en) Information stream management
KR102039778B1 (ko) 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
CN108322775B (zh) 媒体流传输期间在适配集合间的切换方法和装置
EP3100464B1 (en) Establishing a streaming presentation of an event
US10114689B1 (en) Dynamic playlist generation
CN109168083B (zh) 一种流媒体实时播放方法及装置
CN110324580B (zh) 一种基于视联网的监控视频播放方法及装置
US10277911B2 (en) Video processing workload management
CN113141522B (zh) 资源传输方法、装置、计算机设备及存储介质
US11356739B2 (en) Video playback method, terminal apparatus, and storage medium
KR20120011969A (ko) Rtsp 세션에 기초해 스트리밍 데이터를 송수신하는 방법 및 장치
EP2629476A1 (en) Adaptive display streams
WO2015060638A1 (ko) 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버
US20140215017A1 (en) Prioritized side channel delivery for download and store media
US11910033B2 (en) Streaming server, transmission method, and program
US11968417B2 (en) Systems, methods, and apparatuses for buffer management
WO2013021167A1 (en) Methods and systems for providing file data for video files
CN113409801A (zh) 用于实时音频流播放的噪音处理方法、系统、介质和装置
US20190191195A1 (en) A method for transmitting real time based digital video signals in networks
JP7406229B2 (ja) 配信システム、プログラム、およびコンピュータ読み取り可能な記憶媒体
US20180262790A1 (en) Systems and methods for adaptive streaming using jpeg 2000
CN118590722A (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
GR01 Patent grant
GR01 Patent grant