CN107181968B - 一种视频数据的冗余控制方法和装置 - Google Patents

一种视频数据的冗余控制方法和装置 Download PDF

Info

Publication number
CN107181968B
CN107181968B CN201610140656.2A CN201610140656A CN107181968B CN 107181968 B CN107181968 B CN 107181968B CN 201610140656 A CN201610140656 A CN 201610140656A CN 107181968 B CN107181968 B CN 107181968B
Authority
CN
China
Prior art keywords
redundancy
frame
rate
code rate
video data
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
CN201610140656.2A
Other languages
English (en)
Other versions
CN107181968A (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 CN201610140656.2A priority Critical patent/CN107181968B/zh
Priority to JP2018523752A priority patent/JP6699834B2/ja
Priority to KR1020187012368A priority patent/KR102097435B1/ko
Priority to PCT/CN2017/075859 priority patent/WO2017152827A1/zh
Priority to EP17762513.4A priority patent/EP3429213B1/en
Publication of CN107181968A publication Critical patent/CN107181968A/zh
Priority to US15/955,315 priority patent/US10735029B2/en
Application granted granted Critical
Publication of CN107181968B publication Critical patent/CN107181968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/67Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving unequal error protection [UEP], i.e. providing protection according to the importance of the data
    • 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
    • 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/234363Processing 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 altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/440263Processing 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 spatial resolution, e.g. for displaying on a connected PDA
    • 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/637Control signals issued by the client directed to the server or network components
    • 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
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • 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
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/115Selection of the code volume for a coding unit prior to 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/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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/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/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种视频数据的冗余控制方法和装置,以实现对视频数据的各帧进行精细化的冗余保护,提高视频数据的传输性能。在本发明一些可行的实施方式中,方法包括:获取接收端反馈的视频码率和冗余等级,所述视频码率和冗余等级是由所述接收端根据丢包率计算得到的;根据所述冗余等级获取数据冗余率;按照所述视频码率对原始视频数据进行压缩编码,得到压缩视频数据;根据所述视频码率和所述数据冗余率,为所述压缩视频数据的帧分配帧级冗余码率预算;按照所述帧级冗余码率预算,对所述压缩视频数据的帧进行分包,以及对所述压缩视频数据的分包后的帧进行冗余编码。

Description

一种视频数据的冗余控制方法和装置
技术领域
本发明涉及视频数据传输技术领域,具体涉及一种视频数据的冗余控制方法和装置。
背景技术
尽力服务(Best-Effort)是一种标准的因特网服务模式。对于Best-Effort的数据网络服务而言,传输丢包不可避免。
视频通话技术领域中,基于视频数据的特点,目前的主流视频压缩编码标准一般采用DPCM(Differential Pulse Code Modulation,差分脉冲编码调制)编码架构,视频数据的各帧能否成功解码不仅取决于该帧自身数据的完整性,还取决于参考帧是否已解出。在这种编码架构中,I帧(I frame,又称为帧内编码帧)不参考任何帧能够独立解码,P帧(Pframe,又称为帧间编码帧或者前向预测编码帧)需要结合其参考帧才能成功解码,且各帧的参考间隔也可能不相同,因此各帧数据的重要程度不一。
现有技术中用于视频数据的冗余控制方案中,大多数只是经验性地多保护I帧及I帧间隔(Intra-period)内位置靠前的帧,对各帧冗余保护不够精细化,对不同的码流结构扩展性不强。
发明内容
本发明实施例提供一种视频数据的冗余控制方法和装置,以实现对视频数据的各帧进行精细化的冗余保护,提高视频数据的传输性能。
本发明第一方面提供一种视频数据的冗余控制方法,包括:获取接收端反馈的视频码率和冗余等级,所述视频码率和冗余等级是由所述接收端根据丢包率计算得到的;根据所述冗余等级获取数据冗余率;按照所述视频码率对原始视频数据进行压缩编码,得到压缩视频数据;根据所述视频码率和所述数据冗余率,为所述压缩视频数据的帧分配帧级冗余码率预算;按照所述帧级冗余码率预算,对所述压缩视频数据的帧进行分包,以及对所述压缩视频数据的分包后的帧进行冗余编码。
本发明第二方面提供另一种视频数据的冗余控制方法,包括:统计接收到的视频数据的丢包率;根据所述丢包率确定用于抵抗所述丢包率的数据冗余率;在带宽许可范围内进行码率分配,获得安全发送码率;利用所述数据冗余率和所述安全发送码率计算视频码率;获取所述数据冗余率对应的冗余等级;将所述视频码率和所述冗余等级反馈给所述发送端,所述视频码率和所述冗余等级被所述发送端用于对所述视频数据进行冗余控制。
本发明第三方面提供一种视频数据的冗余控制装置,包括:接收模块,用于获取接收端反馈的视频码率和冗余等级,所述视频码率和冗余等级是由所述接收端根据丢包率计算得到的;获取模块,用于根据所述冗余等级获取数据冗余率;视频编码模块,用于按照所述视频码率对原始视频数据进行压缩编码,得到压缩视频数据;冗余分配模块,用于根据所述视频码率和所述数据冗余率,为所述压缩视频数据的帧分配帧级冗余码率预算;冗余编码模块,用于按照所述帧级冗余码率预算,对所述压缩视频数据的帧进行分包,以及对所述压缩视频数据的分包后的帧进行冗余编码。
本发明第四方面提供另一种视频数据的冗余控制装置,包括:统计模块,用于统计接收到的视频数据的丢包率;确定模块,用于根据所述丢包率确定用于抵抗所述丢包率的数据冗余率;获得模块,用于在带宽许可范围内进行码率分配,获得安全发送码率;计算模块,用于利用所述数据冗余率和所述安全发送码率计算视频码率;获取模块,用于获取所述数据冗余率对应的冗余等级;发送模块,用于将所述视频码率和所述冗余等级反馈给所述发送端,所述视频码率和所述冗余等级被所述发送端用于对所述视频数据进行冗余控制。
本发明第五方面提供一种计算机设备,所述计算机设备包括处理器、存储器、总线和通信接口;所述存储器用于存储程序,所述处理器与所述存储器通过所述总线连接,当所述计算机设备运行时,所述处理器执行所述存储器存储的所述程序,以使所述计算机设备执行如本发明第一方面所述的视频数据的冗余控制方法,或者如本发明第二方面所述的视频数据的冗余控制方法。
本发明第六方面提供一种计算机存储介质,该计算机存储介质存储有程序,当该计算机存储介质存储的程序被包括一个或多个处理器的计算机设备执行时,可使该计算机设备执行如本发明第一方面所述的视频数据的冗余控制方法,或者如本发明第二方面所述的视频数据的冗余控制方法。
由上可见,在本发明的一些可行的实施方式中,接收端反馈视频码率和冗余等级,发送端根据视频码率进行压缩编码到压缩视频数据,根据冗余等级获取数据冗余率,根据视频码率和数据冗余率为压缩视频数据的帧分配帧级冗余码率预算,按照间隔级冗余码率预算和帧级冗余码率预算,对压缩视频数据的帧进行分包以及对分包后的帧进行冗余编码,对视频数据的冗余控制精细化到每个帧,可以反映每个帧的重要程度,从而提高了对视频数据的冗余控制精度,有助于降低丢包率,提高视频数据的传输性能,并且有助于提高码流结构的扩展性,以适用于多种编码结构。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是HPP编码结构的示意图;
图2是本发明实施例的冗余控制系统的系统架构图;
图3是本发明一个实施例提供的视频数据的冗余控制方法的流程示意图;
图4是本发明另一实施例提供的视频数据的冗余控制方法的流程示意图;
图5是本发明一个实施例提供的视频数据的冗余控制装置的结构示意图;
图6是本发明另一实施例提供的视频数据的冗余控制装置的结构示意图;
图7是本发明一个实施例提供的计算机设备的结构示意图;
图8是本发明另一实施例提供的计算机设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如背景技术部分所述,对于Best-Effort的数据网络服务而言,传输丢包不可避免。在视频通话应用中,为了提高传输性能,通常采用冗余编码的控制方法,在视频数据中增加冗余纠错包,来恢复可能的丢包。例如,VoIP(Voice over Internet Protocol,网络电话)应用为了降低延时,普遍采用UDP(User Datagram Protocol,用户数据报协议)协议,为了保障QoS(Quality of Service,服务质量),一般都通过加冗余纠错包的方式恢复可能的丢包。
在视频数据中增加冗余纠错包的方法可以是这样的,首先,对视频数据的每个帧进行分包,每个帧的数据被分为p个数据包,然后,利用某种冗余编码算法,例如FEC(ForwardError Correction,前向纠错)编码、RS(Reed solomon)编码、BCH(Bose、Ray-Chaudhuri与Hocquenghem)编码,为该帧增加q个冗余纠错包,最后,将该帧的数据包和冗余纠错包一起向接收端传输;该种方法可以抵抗q个数据包的丢包,当有丢包时,就可以利用冗余纠错包将丢失的数据包恢复出来。其中,q和p均为正整数。需要说明的是,增加的冗余纠错包的个数的多少,决定了抗丢包能力的强弱。对于重要的,需要多保护的帧,可以增加较多的冗余纠错包。
目前的主流视频压缩编码标准一般采用DPCM编码架构,该架构下,视频数据的帧分为两种,一种是I帧,I帧为帧内编码帧,直接进行压缩编码,而不参考其它帧;另一种是P帧,P帧为帧间编码帧,需要结合其参考帧,例如前面的一个I帧,比较该P帧与参考帧的差异,针对差异数据进行压缩编码;因此,I帧可以直接进行编码或解码,P帧的编码或解码则需要结合其参考帧。因此,I帧和P帧的重要性是不同的。另外,不同的P帧的重要性可能也不同,例如,假设帧n为I帧,帧n+1和帧n+2均以帧n为参考帧,帧n+3以帧n+2为参考帧,则,帧n+2如果解码失败,则会导致n+3无法解码,可见,同为P帧的帧n+1和帧n+2的重要性也是不同的。
其它编码结构下,各帧的重要性可能也有所不同。请参考图1所示的HPP(Hierarchical P-frame Prediction,一种分层预测的编码方式)编码结构,HPP采用分层预测的方式,处于不同的时间层(Layer)的帧的重要性明显不同,如图1中Layer0帧(P0、P4、P8)的重要性高于Layer1帧(P2、P6)的重要性,更高于Layer2帧(P1、P3…P7)的重要性。
然而,目前针对视频数据的冗余控制方案中,虽然也采用不对等错误保护(Unequal Error Protection,UEC)策略对一些重要的帧进行重点保护,但只是经验性地多保护I帧及I帧间隔(Intra-period)内位置靠前的帧,不能按照各帧的重要性的不同分别进行冗余保护,不能定量的量化各帧的重要性,或者说,无法实现帧级的精细化冗余保护,也因此导致对不同的码流结构扩展性不强。
另外,就视频分包方法而言,现有技术中都是尽量以MTU(Maximum TransmissionUnit,最大传输单元)大小发包,以减少分包个数节省包头开销。由于现有技术的分包方法尽量发大包,接近MTU,在网络拥塞时有可能会被某些路由的包排队策略优先丢弃,导致抗丢包能力不足,降低了传输性能。
基于上述问题,为了提高视频数据的抗丢包能力,提高视频数据的传输性能,本发明实施例提供一种视频数据的冗余控制方法以及相应的装置。
下面通过具体实施例,分别进行详细的说明。
请参考图2,是本发明实施例的冗余控制系统的系统架构图。冗余控制系统包括发送端和接收端。发送端或接收端可以部署在终端设备例如个人计算机或者移动通信终端例如智能手机、平板电脑等设备上。
如图2所示,本发明实施例的冗余控制系统中,发送端的工作流程可包括:编码参数配置,用于配置编码参数例如视频码率等;视频编码,按照配置的编码参数对视频数据进行压缩编码;冗余分配,用于为视频编码得到的压缩视频数据的帧分配冗余码率;自适应分包决策,用于确定各帧的分包方案,例如一帧数据分为多少个数据包;冗余编码,用于使用纠错编码方法例如FEC等进行冗余编码,为各帧增加冗余纠错包;网络发送,用于视频数据的数据包和增加的冗余纠错包经网络传输发送给接收端。
接收端的工作流程可包括:网络收包,用于接收发送端发送的数据,包括视频数据的数据包和冗余纠错包;丢包统计,用于统计丢包率,估计拥塞情况;同帧组包、冗余解码,用于将同一帧的数据包和冗余纠错包分为一组,进行解码,在有丢包时,利用冗余纠错包恢复出丢失的数据包,得到各帧的压缩视频数据;视频解码,用于对得到的压缩视频数据进行视频解码,得到原始视频数据;冗余控制,用于根据解码情况确定冗余比例,例如根据丢包率确定一个能够抵抗该丢包率的数据冗余率,以指示在发送端如何进行冗余控制;拥塞控制,用于根据带宽情况确定在发送端应使用的视频码率,以及,将数据冗余率和视频码率反馈给发送端;该数据冗余率和视频码率被发送端接收到以后,用于配置编码参数。
请参考图3,本发明实施例提供一种视频数据的冗余控制方法,应用于冗余控制系统的发送端,该方法可包括:
310、获取接收端反馈的视频码率和冗余等级,所述视频码率和冗余等级是由所述接收端根据丢包率计算得到的;根据所述冗余等级获取数据冗余率。
可选的,接收端和发送端可以各自保存有相同的冗余等级表,发送端在接收到冗余等级之后,可以通过查询冗余等级表获取所述冗余等级对应的数据冗余率,所述冗余等级表用于保存所述冗余等级和所述数据冗余率的对应关系。
320、按照所述视频码率对原始视频数据进行压缩编码,得到压缩视频数据。
可选的,发送端可以按照所述视频码率,采用DPCM编码架构等,对原始视频数据进行压缩编码,得到压缩视频数据,压缩视频数据可以包括I帧和P帧等不同类型的帧,其中,两个相邻I帧之间隔的帧数可以称为一个I帧间隔。一个I帧间隔内,可以包括1个I帧和多个P帧。
330、根据所述视频码率和所述数据冗余率,为所述压缩视频数据的帧分配帧级冗余码率预算。
本步骤中,可首先根据视频码率和数据冗余率,为压缩视频数据的每个I帧间隔分配间隔级冗余码率预算,然后,可以根据一个I帧间隔内各帧的重要性为各帧分配不同的权重,结合所分配的权重以及该I帧间隔的间隔级冗余码率预算,为该I帧间隔内的每个帧分别分配帧级冗余码率预算。
在一些实施方式中,某帧重要性可定义为该帧解码失败导致同一Intra-period内后续不能解码的帧数。假设某一Intra-period内的第i帧解码失败时同一Intra-period内后续不能解码的帧数为Ci,则可以按照Ci为该帧分配权重,分配第i帧权重为ηi=Ci/∑Ci,∑Ci为同一Intra-period内所有Ci的和。
在一些实施方式中,记BRv为视频码率,r为数据冗余率,BRr为间隔级冗余码率预算,则可利用公式来计算和分配间隔级冗余码率预算。
在一些实施方式中,记ηi为I帧间隔内的第i帧的权重,Ri为第i帧的帧级冗余码率预算,则可利用公式Ri=ηi*BRr来计算和分配帧级冗余码率预算。
在一些实施方式中,为保证关键帧达到冗余要求且总码率不会超过安全发送码率BRs,以第i帧为例,可以利用所述第i帧的编码大小Si对所述第i帧的帧级冗余码率预算Ri进行修正,将Ri限制在Ri[α*Si,β*Si]区间内,其中,α、β为局部冗余系数,α、β的取值区间为[0,1]。
340、按照所述帧级冗余码率预算,对所述压缩视频数据的帧进行分包,以及对所述压缩视频数据的分包后的帧进行冗余编码。
本发明实施例中,在对压缩视频数据的某个帧进行分包以后,可以利用FEC编码、RS编码或BCH编码等编码方法,对压缩视频数据的该帧进行冗余编码,其中,可以按照所分配的帧级冗余码率预算,分别为不同的帧增加不同个数的冗余纠错包,以实现帧级的精细化冗余保护。
现有技术的分包方法尽量发大包,接近MTU,在网络拥塞时有可能会被某些路由的包排队策略优先丢弃,导致抗丢包能力不足。本发明一些实施例中,根据数据冗余率要求,可以计算所述压缩视频数据的帧的最佳分包参数,按照所述最佳分包参数进行分包,实现自适应调整分包大小,在有限的冗余码率预算内选取抗丢包能力最强的方案。
以第i帧为例,计算最佳分包参数的流程可以包括:
确定所述压缩视频数据的第i帧的分包个数的范围,i为正整数;
遍历所述范围内的任一分包个数Nj,计算该分包个数Nj对应的分包大小Lj和冗余包个数Mj,计算该分包个数Nj下的包级冗余率rp以及超预算偏差Δ;
其中,Δ=(Nj+Mj)*Lj-(Si+Ri),Si为所述第i帧的编码大小,Ri为所述第i帧的帧级冗余码率预算;
将包级冗余率rp最大且超预算偏差Δ最小时的分包个数以及分包大小和冗余包个数,确定为最佳分包参数。
以上,结合图3,本文以发送端为执行主体对本发明实例方法进行介绍,该方法中,接收端反馈视频码率和冗余等级,发送端根据视频码率进行压缩编码到压缩视频数据,根据冗余等级获取数据冗余率,根据视频码率和数据冗余率为压缩视频数据的I帧间隔分配间隔级冗余码率预算,为I帧间隔内的帧分配帧级冗余码率预算,按照间隔级冗余码率预算和帧级冗余码率预算,对压缩视频数据进行分包和冗余编码,于是,实现了I帧间隔和帧这两个级别的冗余控制,对视频数据的冗余控制精细化到每个帧,可以反映每个帧的重要程度,从而提高了对视频数据的冗余控制精度,有助于降低丢包率,提高视频数据的传输性能,并且有助于提高码流结构的扩展性,以适用于多种编码结构。
下面,继续以接收端为执行主体继续介绍本发明实施例方法。
请参考图4,本发明实施例还提供一种视频数据的冗余控制方法,应用于冗余控制系统的接收端,该方法可包括:
410、统计接收到的视频数据的丢包率;
接收端可以子啊接收发送端发送的视频数据的数据包的过程中,统计出丢包率,这里用l表示丢包率。
420、根据所述丢包率确定用于抵抗所述丢包率的数据冗余率;
在一些实施例中,可以采用公式r=k*l确定数据冗余率,其中,l为丢包率,k为不大于3且不小于1的系数,r为数据冗余率,且r小于1。优选的,可以先定r小于1。
430、在带宽许可范围内进行码率分配,获得安全发送码率;
安全发送码率应不大于可用带宽。
440、利用所述数据冗余率和所述安全发送码率计算视频码率;
在一些实施例中,可以采用公式BRv=BRs*(1-r)计算视频码率,其中,BRs为安全发送码率,BRv为视频码率。
450、获取所述数据冗余率对应的冗余等级;
可选的,接收端和发送端可以各自保存有相同的冗余等级表,接收端可以通过查询冗余等级表获取所述数据冗余率r对应的冗余等级RSLevel,所述冗余等级表用于保存所述冗余等级和所述数据冗余率的对应关系。
460、将所述视频码率和所述冗余等级反馈给所述发送端,所述视频码率和所述冗余等级被所述发送端用于对所述视频数据进行冗余控制。
可选的,接收端可以通过RTCP协议将BRv及RSLevel反馈给发送端。
以上,结合图4,本文以接收端为执行主体对本发明实例方法进行介绍,该方法中,接收端通过统计丢包率,确定视频码率和数据冗余率,以及数据冗余率对应的冗余等级,将视频码率和冗余等级反馈给发送端,以便发送端用来对视频数据进行帧级的冗余控制,从而提高了对视频数据的冗余控制精度,有助于降低丢包率,提高视频数据的传输性能,并且有助于提高码流结构的扩展性,以适用于多种编码结构。
为便于更好的理解本发明实施例提供的技术方案,下面通过一个具体场景下的实施方式为例进行介绍。
本发明实施例的另一种视频数据的冗余控制方法,可包括:
S1、发送端进行冗余编码。
本发明实施例中抗丢包冗余编码可使用某种纠错编码方法如FEC编码、RS编码、BCH编码等,具备恢复一定数量丢包的能力。一帧视频数据经过压缩编码后可以分成N(N≥1)个数据包,分别为P1…PN,通过以上某种冗余编码算法加M个冗余数据包,分别为R1…RM,则该码组{P1…PN,R1…RM}可抗任意M个以内的丢包,即不超过的丢包率。
S2、配置冗余等级表。
为了减少反馈数据量,发送端和接收端可存有一个共同约定好的冗余等级表,表中每一冗余等级索引某一数据冗余率r,用以抵抗一定的网络丢包率l。
S3、接收端确定数据冗余率。
接收端收包过程中可统计出丢包率l,冗余控制系统中可以根据某种策略确定一个足以抵抗该丢包率的数据冗余率r,该种策略可以是保守的如r=l,或者比较有保障的如r=k*l(k>1)。考虑到网络带宽容量限制与抗丢包能力之间的权衡,实际使用中可规定1≤k≤3。
S4、接收端RTCP反馈。
得到数据冗余率r后,接收端的流量拥塞控制(Congestion Control)功能将在带宽许可的范围内进行码率分配,假设拥塞控制功能得出的安全发送码率是BRs(BRs<=A,A是估计出的可用带宽),则纯视频码率为BRv=BRs*(1-r)。另外,在冗余等级表里找出根据数据冗余率r对应的冗余等级RSLevel,并通过RTCP协议将BRv及RSLevel反馈给发送端。
S5、发送端视频编码并在Intra-period级视频分配冗余预算
发送端收到RTCP反馈,可以使用其中的BRv及其配套的一组相关参数进行压缩编码,本文中,假设一个Intra-period内第i帧编码后的帧大小是Si。另外,发送端可通过RTCP携带的RSLevel索引期望的数据冗余率r,并采用以下公式计算出该Intra-Period的冗余码率预算
由于参考关系的差异,Intra-Period内各帧的重要性有所不同,需要结合其重要性进行非对等错误保护。如I帧的重要性高于P帧,IPPP参考结构中,GOP(Group ofPictures,画面组)前面的帧重要性高于后面的帧;另外,不同的编码结构中各帧的重要程度也不相同,如HPP参考结构中低layer的帧比高layer的帧重要,最低layer位于Intra-Period前面的帧比后面的帧更重要。为了量化帧的重要性,可定义第i帧的权重为ηi,ηi为归一化值。
其中,权重可以采用经验值,也可以按照某种算法得出,如某帧重要性可定义为该帧解码失败导致同一Intra-period内后续不能解码的帧数。
根据上面定义的权重,可得到分配给第i帧的期望冗余码率为Ri=ηi*BRr
此外,视频场景可能发生变化,使得实际编码码率可能不等于期望码率BRv,因此需要根据实际编码大小对冗余码率修正,以保证关键帧,例如I帧以及HPP的layer0帧,达到冗余要求且总码率不会超过安全发送码率BRs
具体到作为示例的第i帧,可以将Ri限制在[α*Si,β*Si]区间,其中α、β为局部冗余系数,取值区间为[0,1],即Ri=MAX(MIN(Ri,β*Si),α*Si)。
S6、帧级自适应调整分包大小。
一般网络包大小不超过最大传输单元(MTU),考虑到传输效率及可能对音频数据的影响,视频包大小也不宜过小,一般存在经验最小值Lmin。发送端冗余控制功能可据当前帧编码大小及当前冗余码率预算,自适应调整分包大小,总体目标是:
1)冗余可控,按比例准确加冗余;
2)在冗余预算内尽可能提高抗丢包能力。
得到某帧的冗余预算Ri后,结合该帧的实际编码大小Si确定分包方式。
算法流程如下:
a)根据分包大小范围[Lmin,Lmax]确定视频帧最大、最小分包个数[Nmax,Nmin],其中ceil为向上取整,floor为向下取整;
b)遍历所有分包个数Nj∈[Nmin,Nmax],计算相应的分包大小并得到相应的冗余包个数γ为弹性系数,主要考虑到小数部分较大时向下取整降低冗余率的问题,此时如果Intra-period级冗余预算还足够,允许在弹性范围内超本帧的冗余预算;
c)计算每种分包方案的包级冗余率rp及实际超预算偏差Δ
Δ=(Nj+Mj)*Lj-(Si+Ri)
在所有分包方式中找出rp最大的方案(抗丢包能力最高),得到最佳分包参数{N*,L*,M*}。如果最大包级冗余率rp对应多种分包方案,则取Δ最小的那个。
由上可见,本发明实施例方法,可用于视频数据传输例如视频通话,可以在Intra-period级将冗余码率按各帧的重要性分配,可以根据压缩编码后实际视频帧大小、冗余码率预算进行自适应分包参数调整,以达到最大抗丢包能力。
本发明实施例的冗余控制系统中,由接收端根据丢包情况合理决策冗余比例,以具备抵抗一定程度的网络丢包的能力。结合网络带宽估计得到冗余码率预算,冗余控制系统将通过I帧间隔(Intra-period)级整体控制、帧级自适应调整两个层次进行冗余码率预算分配。就视频Intra-period内所有帧整体而言,系统根据各帧的重要性对压缩编码后数据加以相应水平的帧级冗余保护,以提高Intra-period整体的恢复能力。此外,为了在冗余预算内最大程度提高单帧的抗丢包能力,本发明实施例还通过自适应调整,寻找最佳分包参数,以达到最高“包级”冗余率。
为了更好的实施本发明实施例的上述方案,下面还提供用于配合实施上述方案的相关装置。
请参考图5,本发明实施例提供一种视频数据的冗余控制装置500,该装置可用于冗余控制系统的发送端,该装置可包括:
接收模块510,用于获取接收端反馈的视频码率和冗余等级,所述视频码率和冗余等级是由所述接收端根据丢包率计算得到的;
获取模块520,用于根据所述冗余等级获取数据冗余率;
视频编码模块530,用于按照所述视频码率对原始视频数据进行压缩编码,得到压缩视频数据;
冗余分配模块540,用于根据所述视频码率和所述数据冗余率,为所述压缩视频数据的帧分配帧级冗余码率预算;
冗余编码模块550,用于按照所述帧级冗余码率预算,对所述压缩视频数据的帧进行分包,以及对所述压缩视频数据的分包后的帧进行冗余编码。
在本发明一些实施例中,所述获取模块520具体用于:通过查询冗余等级表获取所述冗余等级对应的数据冗余率,所述冗余等级表用于保存所述冗余等级和所述数据冗余率的对应关系。
在本发明一些实施例中,所述冗余分配模块540具体用于:为所述压缩视频数据的I帧间隔分配间隔级冗余码率预算,根据所述间隔级冗余码率预算为所述I帧间隔内的帧分配帧级冗余码率预算。
其中,在本发明一些实施例中,可以所述冗余分配模块540具体用于:利用以下公式为所述压缩视频数据的I帧间隔分配间隔级冗余码率预算:
其中,BRv为所述视频码率,r为所述数据冗余率,BRr为所述间隔级冗余码率预算。
在本发明一些实施例中,所述冗余分配模块540具体用于:
利用以下公式为所述I帧间隔内的帧分配帧级冗余码率预算:
Ri=ηi*BRr
其中,ηi为所述I帧间隔内的第i帧的权重,Ri为所述第i帧的帧级冗余码率预算,i为正整数。
在本发明一些实施例中,所述冗余分配模块540还用于::
利用所述第i帧的编码大小Si对所述第i帧的帧级冗余码率预算Ri进行修正,将Ri限制在Ri[α*Si,β*Si]区间内,其中,α、β为局部冗余系数,α、β的取值区间为[0,1]。
在本发明一些实施例中,所述冗余编码模块550具体用于:根据所述帧级冗余码率预算计算所述压缩视频数据的帧的最佳分包参数;按照所述最佳分包参数进行分包。
在本发明一些实施例中,所述冗余编码模块550具体用于:
确定所述压缩视频数据的第i帧的分包个数的范围,i为正整数;
遍历所述范围内的任一分包个数Nj,根据所述第i帧的编码大小和帧级冗余码率预算计算该分包个数Nj对应的分包大小Lj和冗余包个数Mj,计算该分包个数Nj下的包级冗余率rp以及超预算偏差Δ;
其中,Δ=(Nj+Mj)*Lj-(Si+Ri),Si为所述第i帧的编码大小,Ri为所述第i帧的帧级冗余码率预算;
将包级冗余率rp最大且超预算偏差Δ最小时的分包个数以及分包大小和冗余包个数,确定为最佳分包参数。
可以理解,本发明实施例装置的各个功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
以上,结合图5,本发明实施例提供了一种用于发送端的视频数据的冗余控制装置,该装置可获取接收端反馈的视频码率和冗余等级,根据视频码率进行压缩编码到压缩视频数据,根据冗余等级获取数据冗余率,根据视频码率和数据冗余率为压缩视频数据的I帧间隔分配间隔级冗余码率预算,为I帧间隔内的帧分配帧级冗余码率预算,按照间隔级冗余码率预算和帧级冗余码率预算,对压缩视频数据进行分包和冗余编码,于是,实现了I帧间隔和帧这两个级别的冗余控制,对视频数据的冗余控制精细化到每个帧,可以反映每个帧的重要程度,从而提高了对视频数据的冗余控制精度,有助于降低丢包率,提高视频数据的传输性能,并且有助于提高码流结构的扩展性,以适用于多种编码结构。
请参考图6,本发明实施例提供一种视频数据的冗余控制装置600,该装置可用于冗余控制系统的接收端,该装置可包括:
统计模块610,用于统计接收到的视频数据的丢包率;
确定模块620,用于根据所述丢包率确定用于抵抗所述丢包率的数据冗余率;
获得模块630,用于在带宽许可范围内进行码率分配,获得安全发送码率;
计算模块640,用于利用所述数据冗余率和所述安全发送码率计算视频码率;
获取模块650,用于获取所述数据冗余率对应的冗余等级;
发送模块660,用于将所述视频码率和所述冗余等级反馈给所述发送端,所述视频码率和所述冗余等级被所述发送端用于对所述视频数据进行冗余控制。
在本发明一些实施例中,所述确定模块620具体用于:
采用公式r=k*l确定数据冗余率,其中,l为丢包率,k为不大于3且不小于1的系数,r为数据冗余率,且r小于1。
在本发明一些实施例中,所述计算模块640具体用于:
采用公式BRv=BRs*(1-r)计算视频码率,其中,BRs为安全发送码率,BRv为视频码率。
可以理解,本发明实施例装置的各个功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
以上,结合图6,本发明实施例提供了一种用于接收端的视频数据的冗余控制装置,该装置可通过统计丢包率,确定视频码率和数据冗余率,以及数据冗余率对应的冗余等级,将数据冗余率和冗余等级反馈给发送端,以便发送端用来对视频数据进行帧级的冗余控制,从而提高了对视频数据的冗余控制精度,有助于降低丢包率,提高视频数据的传输性能,并且有助于提高码流结构的扩展性,以适用于多种编码结构。
本发明实施例还提供一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时包括上文如图3所示的方法实施例中记载的视频数据的冗余控制方法的部分或全部步骤,或者,包括如图4所示的方法实施例中记载的视频数据的冗余控制方法的部分或全部步骤。当该计算机存储介质存储的程序被包括一个或多个处理器的计算机设备执行时,可使该计算机设备执行如图3所示的方法实施例中记载的视频数据的冗余控制方法,或者,如图4所示的方法实施例中记载的视频数据的冗余控制方法。
请参考图7,本发明实施例还提供一种计算机设备700。
处理器710,存储器720,通信接口730,总线740;
所述存储器720用于存储程序750,所述处理器710与所述存储器720通过所述总线740连接,当所述计算机设备700运行时,所述处理器710执行所述存储器720存储的所述程序750,以使所述计算机设备700执行如图3所示的方法实施例中记载的视频数据的冗余控制方法。
其中,通信接口730执行如下步骤:获取接收端反馈的视频码率和冗余等级,所述视频码率和冗余等级是由所述接收端根据丢包率计算得到的;
处理器710执行如下步骤:根据所述冗余等级获取数据冗余率;按照所述视频码率对原始视频数据进行压缩编码,得到压缩视频数据;根据所述视频码率和所述数据冗余率,为所述压缩视频数据的帧分配帧级冗余码率预算;按照所述帧级冗余码率预算,对所述压缩视频数据的帧进行分包,以及对所述压缩视频数据的分包后的帧进行冗余编码。
可选的,处理器710还执行如下步骤:通过查询冗余等级表获取所述冗余等级对应的数据冗余率,所述冗余等级表用于保存所述冗余等级和所述数据冗余率的对应关系。
可选的,处理器710还执行如下步骤:为所述压缩视频数据的I帧间隔分配间隔级冗余码率预算,根据所述间隔级冗余码率预算为所述I帧间隔内的帧分配帧级冗余码率预算。
可选的,处理器710还执行如下步骤:
利用以下公式为所述压缩视频数据的I帧间隔分配间隔级冗余码率预算:
其中,BRv为所述视频码率,r为所述数据冗余率,BRr为所述间隔级冗余码率预算。
可选的,处理器710还执行如下步骤:
利用以下公式为所述I帧间隔内的帧分配帧级冗余码率预算:
Ri=ηi*BRr
其中,ηi为所述I帧间隔内的第i帧的权重,Ri为所述第i帧的帧级冗余码率预算,i为正整数。
可选的,处理器710还执行如下步骤:
利用所述第i帧的编码大小Si对所述第i帧的帧级冗余码率预算Ri进行修正,将Ri限制在Ri[α*Si,β*Si]区间内,其中,α、β为局部冗余系数,α、β的取值区间为[0,1]。
可选的,处理器710还执行如下步骤:根据所述帧级冗余码率预算计算所述压缩视频数据的帧的最佳分包参数;按照所述最佳分包参数进行分包。
可选的,处理器710还执行如下步骤:
确定所述压缩视频数据的第i帧的分包个数的范围,i为正整数;
遍历所述范围内的任一分包个数Nj,计算该分包个数Nj对应的分包大小Lj和冗余包个数Mj,计算该分包个数Nj下的包级冗余率rp以及超预算偏差Δ;
其中,Δ=(Nj+Mj)*Lj-(Si+Ri),Si为所述第i帧的编码大小,Ri为所述第i帧的帧级冗余码率预算;
将包级冗余率rp最大且超预算偏差Δ最小时的分包个数以及分包大小和冗余包个数,确定为最佳分包参数。
其中,所述总线740可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线或外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线中的一种或多种。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器720可以包含高速RAM(Ramdom Access Memory)存储器。可选地,所述存储器720还可以还包括非易失性存储器(non-volatile memory)。例如所述存储器720可以包括磁盘存储器。
所述处理器710可以是一个中央处理器(Central Processing Unit,简称为CPU),或者所述处理器710可以是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者所述处理器710可以是被配置成实施本发明实施例的一个或多个集成电路。
可以理解,本发明实施例的计算机设备的各个功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
本发明实施例公开的计算机设备可以执行如上文方法实施例所述的视频数据的冗余控制方法,并取得上文方法实施例所能取得的技术效果。
请参考图8,本发明实施例还提供一种计算机设备800。
处理器810,存储器820,通信接口830,总线840;
所述存储器820用于存储程序850,所述处理器810与所述存储器820通过所述总线840连接,当所述计算机设备800运行时,所述处理器810执行所述存储器820存储的所述程序850,以使所述计算机设备800执行如图4所示的方法实施例中记载的视频数据的冗余控制方法。
其中,
处理器810执行如下步骤:统计接收到的视频数据的丢包率;根据所述丢包率确定用于抵抗所述丢包率的数据冗余率;在带宽许可范围内进行码率分配,获得安全发送码率;利用所述数据冗余率和所述安全发送码率计算视频码率;获取所述数据冗余率对应的冗余等级;
通信接口830执行如下步骤:将所述视频码率和所述冗余等级反馈给所述发送端,所述视频码率和所述冗余等级被所述发送端用于对所述视频数据进行冗余控制。
可选的,处理器810还执行如下步骤:采用公式r=k*l确定数据冗余率,其中,l为丢包率,k为不大于3且不小于1的系数,r为数据冗余率,且r小于1。
可选的,处理器810还执行如下步骤:采用公式BRv=BRs*(1-r)计算视频码率,其中,BRs为安全发送码率,BRv为视频码率。
其中,所述总线840可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线或外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线中的一种或多种。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器820可以包含高速RAM(Ramdom Access Memory)存储器。可选地,所述存储器820还可以还包括非易失性存储器(non-volatile memory)。例如所述存储器820可以包括磁盘存储器。
所述处理器810可以是一个中央处理器(Central Processing Unit,简称为CPU),或者所述处理器810可以是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者所述处理器810可以是被配置成实施本发明实施例的一个或多个集成电路。
可以理解,本发明实施例的计算机设备的各个功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
本发明实施例公开的计算机设备可以执行如上文方法实施例所述的视频数据的冗余控制方法,并取得上文方法实施例所能取得的技术效果。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的视频数据的冗余控制方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (23)

1.一种视频数据的冗余控制方法,其特征在于,包括:
获取接收端反馈的视频码率和冗余等级,所述视频码率和冗余等级是由所述接收端根据丢包率计算得到的;
根据所述冗余等级获取数据冗余率;
按照所述视频码率对原始视频数据进行压缩编码,得到压缩视频数据;
根据所述视频码率和所述数据冗余率,为所述压缩视频数据的帧分配帧级冗余码率预算;
按照所述帧级冗余码率预算,对所述压缩视频数据的帧进行分包,以及对所述压缩视频数据的分包后的帧进行冗余编码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述冗余等级获取数据冗余率包括:
通过查询冗余等级表获取所述冗余等级对应的数据冗余率,所述冗余等级表用于保存所述冗余等级和所述数据冗余率的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述为所述压缩视频数据的帧分配帧级冗余码率预算包括:
为所述压缩视频数据的I帧间隔分配间隔级冗余码率预算,根据所述间隔级冗余码率预算为所述I帧间隔内的帧分配帧级冗余码率预算。
4.根据权利要求3所述的方法,其特征在于,所述为所述压缩视频数据的I帧间隔分配间隔级冗余码率预算包括:
利用以下公式为所述压缩视频数据的I帧间隔分配间隔级冗余码率预算:
其中,BRv为所述视频码率,r为所述数据冗余率,BRr为所述间隔级冗余码率预算。
5.根据权利要求4所述的方法,其特征在于,所述根据所述间隔级冗余码率预算为所述I帧间隔内的帧分配帧级冗余码率预算包括:
利用以下公式为所述I帧间隔内的帧分配帧级冗余码率预算:
Ri=ηi*BRr
其中,ηi为所述I帧间隔内的第i帧的权重,Ri为所述第i帧的帧级冗余码率预算,i为正整数。
6.根据权利要求5所述的方法,所述利用以下公式为所述I帧间隔内的帧分配帧级冗余码率预算之后,还包括:
利用所述第i帧的编码大小Si对所述第i帧的帧级冗余码率预算Ri进行修正,将Ri限制在Ri[α*Si,β*Si]区间内,其中,α、β为局部冗余系数,α、β的取值区间为[0,1]。
7.根据权利要求1至6中任一所述的方法,其特征在于,所述对所述压缩视频数据的帧进行分包包括:
根据所述帧级冗余码率预算计算所述压缩视频数据的帧的最佳分包参数;
按照所述最佳分包参数进行分包。
8.根据权利要求7所述的方法,其特征在于,所述根据所述帧级冗余码率预算计算所述压缩视频数据的帧的最佳分包参数包括:
确定所述压缩视频数据的第i帧的分包个数的范围,i为正整数;
遍历所述范围内的任一分包个数Nj,根据所述第i帧的编码大小和帧级冗余码率预算计算该分包个数Nj对应的分包大小Lj和冗余包个数Mj,计算该分包个数Nj下的包级冗余率rp以及超预算偏差Δ;
其中,Δ=(Nj+Mj)*Lj-(Si+Ri),Si为所述第i帧的编码大小,Ri为所述第i帧的帧级冗余码率预算;
将包级冗余率rp最大且超预算偏差Δ最小时的分包个数以及分包大小和冗余包个数,确定为最佳分包参数。
9.一种视频数据的冗余控制方法,其特征在于,包括:
统计接收到的视频数据的丢包率;
根据所述丢包率确定用于抵抗所述丢包率的数据冗余率;
在带宽许可范围内进行码率分配,获得安全发送码率;
利用所述数据冗余率和所述安全发送码率计算视频码率;
获取所述数据冗余率对应的冗余等级;
将所述视频码率和所述冗余等级反馈给发送端,所述视频码率和所述冗余等级被所述发送端用于对所述视频数据进行冗余控制。
10.根据权利要求9所述的方法,其特征在于,所述根据所述丢包率确定用于抵抗所述丢包率的数据冗余率包括:
采用公式r=k*l确定数据冗余率,其中,l为丢包率,k为不大于3且不小于1的系数,r为数据冗余率,且r小于1。
11.根据权利要求10所述的方法,其特征在于,所述利用所述数据冗余率和所述安全发送码率计算视频码率包括:
采用公式BRv=BRs*(1-r)计算视频码率,其中,BRs为安全发送码率,BRv为视频码率。
12.一种视频数据的冗余控制装置,其特征在于,包括:
接收模块,用于获取接收端反馈的视频码率和冗余等级,所述视频码率和冗余等级是由所述接收端根据丢包率计算得到的;
获取模块,用于根据所述冗余等级获取数据冗余率;
视频编码模块,用于按照所述视频码率对原始视频数据进行压缩编码,得到压缩视频数据;
冗余分配模块,用于根据所述视频码率和所述数据冗余率,为所述压缩视频数据的帧分配帧级冗余码率预算;
冗余编码模块,用于按照所述帧级冗余码率预算,对所述压缩视频数据的帧进行分包,以及对所述压缩视频数据的分包后的帧进行冗余编码。
13.根据权利要求12所述的装置,其特征在于,所述获取模块具体用于:通过查询冗余等级表获取所述冗余等级对应的数据冗余率,所述冗余等级表用于保存所述冗余等级和所述数据冗余率的对应关系。
14.根据权利要求12所述的装置,其特征在于,所述冗余分配模块具体用于:为所述压缩视频数据的I帧间隔分配间隔级冗余码率预算,根据所述间隔级冗余码率预算为所述I帧间隔内的帧分配帧级冗余码率预算。
15.根据权利要求14所述的装置,其特征在于,所述冗余分配模块具体用于:利用以下公式为所述压缩视频数据的I帧间隔分配间隔级冗余码率预算:
其中,BRv为所述视频码率,r为所述数据冗余率,BRr为所述间隔级冗余码率预算。
16.根据权利要求15所述的装置,其特征在于,所述冗余分配模块具体用于:利用以下公式为所述I帧间隔内的帧分配帧级冗余码率预算:
Ri=ηi*BRr
其中,ηi为所述I帧间隔内的第i帧的权重,Ri为所述第i帧的帧级冗余码率预算,i为正整数。
17.根据权利要求16所述的装置,所述冗余分配模块还用于:
利用所述第i帧的编码大小Si对所述第i帧的帧级冗余码率预算Ri进行修正,将Ri限制在Ri[α*Si,β*Si]区间内,其中,α、β为局部冗余系数,α、β的取值区间为[0,1]。
18.根据权利要求12至17中任一所述的装置,其特征在于,所述冗余编码模块具体用于:根据所述帧级冗余码率预算计算所述压缩视频数据的帧的最佳分包参数;按照所述最佳分包参数进行分包。
19.根据权利要求18所述的装置,其特征在于,所述冗余编码模块具体用于:
确定所述压缩视频数据的第i帧的分包个数的范围,i为正整数;
遍历所述范围内的任一分包个数Nj,根据所述第i帧的编码大小和帧级冗余码率预算计算该分包个数Nj对应的分包大小Lj和冗余包个数Mj,计算该分包个数Nj下的包级冗余率rp以及超预算偏差Δ;
其中,Δ=(Nj+Mj)*Lj-(Si+Ri),Si为所述第i帧的编码大小,Ri为所述第i帧的帧级冗余码率预算;
将包级冗余率rp最大且超预算偏差Δ最小时的分包个数以及分包大小和冗余包个数,确定为最佳分包参数。
20.一种视频数据的冗余控制装置,其特征在于,包括:
统计模块,用于统计接收到的视频数据的丢包率;
确定模块,用于根据所述丢包率确定用于抵抗所述丢包率的数据冗余率;
获得模块,用于在带宽许可范围内进行码率分配,获得安全发送码率;
计算模块,用于利用所述数据冗余率和所述安全发送码率计算视频码率;
获取模块,用于获取所述数据冗余率对应的冗余等级;
发送模块,用于将所述视频码率和所述冗余等级反馈给发送端,所述视频码率和所述冗余等级被所述发送端用于对所述视频数据进行冗余控制。
21.根据权利要求20所述的装置,其特征在于,所述确定模块具体用于:
采用公式r=k*l确定数据冗余率,其中,l为丢包率,k为不大于3且不小于1的系数,r为数据冗余率,且r小于1。
22.根据权利要求21所述的装置,其特征在于,所述计算模块具体用于:
采用公式BRv=BRs*(1-r)计算视频码率,其中,BRs为安全发送码率,BRv为视频码率。
23.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、总线和通信接口;
所述存储器用于存储程序,所述处理器与所述存储器通过所述总线连接,当所述计算机设备运行时,所述处理器执行所述存储器存储的所述程序,以使所述计算机设备执行如权利要求1至8中任一项所述的视频数据的冗余控制方法,或者如权利要求9至11中任一项所述的视频数据的冗余控制方法。
CN201610140656.2A 2016-03-11 2016-03-11 一种视频数据的冗余控制方法和装置 Active CN107181968B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201610140656.2A CN107181968B (zh) 2016-03-11 2016-03-11 一种视频数据的冗余控制方法和装置
JP2018523752A JP6699834B2 (ja) 2016-03-11 2017-03-07 ビデオデータ冗長制御方法および装置
KR1020187012368A KR102097435B1 (ko) 2016-03-11 2017-03-07 비디오 데이터 리던던시 제어 방법 및 장치
PCT/CN2017/075859 WO2017152827A1 (zh) 2016-03-11 2017-03-07 一种视频数据的冗余控制方法和装置
EP17762513.4A EP3429213B1 (en) 2016-03-11 2017-03-07 Video data redundancy control method and apparatus
US15/955,315 US10735029B2 (en) 2016-03-11 2018-04-17 Method and apparatus for encoding packets using video data redundancy control information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610140656.2A CN107181968B (zh) 2016-03-11 2016-03-11 一种视频数据的冗余控制方法和装置

Publications (2)

Publication Number Publication Date
CN107181968A CN107181968A (zh) 2017-09-19
CN107181968B true CN107181968B (zh) 2019-11-19

Family

ID=59790057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610140656.2A Active CN107181968B (zh) 2016-03-11 2016-03-11 一种视频数据的冗余控制方法和装置

Country Status (6)

Country Link
US (1) US10735029B2 (zh)
EP (1) EP3429213B1 (zh)
JP (1) JP6699834B2 (zh)
KR (1) KR102097435B1 (zh)
CN (1) CN107181968B (zh)
WO (1) WO2017152827A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071514B (zh) * 2017-04-08 2018-11-06 腾讯科技(深圳)有限公司 一种图片文件处理方法及智能终端
CN109150398B (zh) * 2018-08-06 2020-08-18 华南理工大学 基于udp自适应冗余编码的无线p2p传输方法及系统
CN109698928B (zh) * 2018-11-15 2021-04-13 贵阳朗玛信息技术股份有限公司 一种调节视频会议系统中视频流的方法及装置
CN111263192A (zh) * 2018-11-30 2020-06-09 华为技术有限公司 视频处理方法及相关设备
CN110503935B (zh) * 2019-07-16 2020-11-06 北京达佳互联信息技术有限公司 音频数据处理方法、装置、电子设备及存储介质
CN110740334B (zh) * 2019-10-18 2021-08-31 福州大学 一种帧级别的应用层动态fec编码方法
CN110890945B (zh) * 2019-11-20 2022-02-22 腾讯科技(深圳)有限公司 数据传输方法、装置、终端及存储介质
CN111314335B (zh) * 2020-02-10 2021-10-08 腾讯科技(深圳)有限公司 数据传输方法、装置、终端、存储介质和系统
WO2021163954A1 (zh) * 2020-02-20 2021-08-26 深圳市汇顶科技股份有限公司 数据传输方法、装置、设备、系统及介质
CN111464262B (zh) * 2020-03-18 2022-03-25 腾讯科技(深圳)有限公司 数据处理方法、装置、介质及电子设备
CN111416686A (zh) * 2020-03-26 2020-07-14 深信服科技股份有限公司 一种数据传输方法、装置、设备及存储介质
CN111885027A (zh) * 2020-07-10 2020-11-03 北京百家视联科技有限公司 一种在弱网条件下的语音传输方法
US11963031B2 (en) * 2021-08-19 2024-04-16 Qualcomm Incorporated Techniques for receiver-specific network coding redundancy
US20230139023A1 (en) * 2021-10-28 2023-05-04 Qualcomm Incorporated Adaptive rateless coding for sidelink communications
CN114584257B (zh) * 2022-01-26 2024-02-13 百果园技术(新加坡)有限公司 一种基于前向纠错编码的冗余分配方法及装置
CN117118573B (zh) * 2023-10-23 2024-02-06 腾讯科技(深圳)有限公司 数据网络传输方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006625A (zh) * 2010-11-10 2011-04-06 清华大学 基于前向纠错的车载自组网可靠广播协议的系统及方法
CN102036061A (zh) * 2009-09-30 2011-04-27 华为技术有限公司 视频数据传输处理、发送处理方法、装置和网络系统
CN102065289A (zh) * 2010-09-09 2011-05-18 西安电子科技大学 基于网络编码的可靠性视频传输方法及装置
CN102075312A (zh) * 2011-01-10 2011-05-25 西安电子科技大学 基于视频服务质量的混合选择重传方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3722265B2 (ja) * 1999-06-30 2005-11-30 Kddi株式会社 ビデオ伝送方法および装置
AU2002245609A1 (en) * 2001-03-05 2002-09-19 Intervideo, Inc. Systems and methods of error resilience in a video decoder
US6910175B2 (en) * 2001-09-14 2005-06-21 Koninklijke Philips Electronics N.V. Encoder redundancy selection system and method
JP3757857B2 (ja) * 2001-12-12 2006-03-22 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2004215201A (ja) * 2003-01-09 2004-07-29 Sony Corp 情報処理装置および情報処理方法、データ通信システム、記録媒体、並びにプログラム
US7359004B2 (en) * 2003-05-23 2008-04-15 Microsoft Corporation Bi-level and full-color video combination for video communication
US20150341812A1 (en) * 2003-08-29 2015-11-26 Ineoquest Technologies, Inc. Video quality monitoring
US7016409B2 (en) * 2003-11-12 2006-03-21 Sony Corporation Apparatus and method for use in providing dynamic bit rate encoding
JP4349114B2 (ja) 2003-12-10 2009-10-21 ソニー株式会社 送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
JP5094546B2 (ja) * 2008-05-16 2012-12-12 キヤノン株式会社 通信装置、及び通信方法、プログラム
US8468426B2 (en) 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
JP2010041326A (ja) * 2008-08-04 2010-02-18 Canon Inc データ送信装置、データ受信装置及びデータ送受信システム
US8243117B2 (en) * 2008-09-26 2012-08-14 Microsoft Corporation Processing aspects of a video scene
US8347199B2 (en) * 2009-01-21 2013-01-01 Cisco Technology, Inc. Enhanced error detection in multilink serdes channels
CN102143367B (zh) 2010-01-30 2013-01-30 华为技术有限公司 一种纠错校验方法、设备和系统
JP5588244B2 (ja) * 2010-07-02 2014-09-10 日立コンシューマエレクトロニクス株式会社 映像伝送システム
US8661323B2 (en) * 2011-05-09 2014-02-25 Google Inc. Method and apparatus for generating packet mask
CN102438152B (zh) * 2011-12-29 2013-06-19 中国科学技术大学 可伸缩视频编码容错传输方法、编码器、装置和系统
JP2014003512A (ja) * 2012-06-20 2014-01-09 Mitsubishi Electric Corp Ofdm信号送受信システム
EP2713616A1 (en) * 2012-09-27 2014-04-02 British Telecommunications public limited company Perceptually driven error correction for video transmission
US20140286440A1 (en) * 2013-03-19 2014-09-25 Nvidia Corporation Quality of service management system and method of forward error correction
US9280413B2 (en) * 2013-12-12 2016-03-08 Talkatone, Llc Redundant encoding
US10506257B2 (en) * 2015-09-28 2019-12-10 Cybrook Inc. Method and system of video processing with back channel message management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102036061A (zh) * 2009-09-30 2011-04-27 华为技术有限公司 视频数据传输处理、发送处理方法、装置和网络系统
CN102065289A (zh) * 2010-09-09 2011-05-18 西安电子科技大学 基于网络编码的可靠性视频传输方法及装置
CN102006625A (zh) * 2010-11-10 2011-04-06 清华大学 基于前向纠错的车载自组网可靠广播协议的系统及方法
CN102075312A (zh) * 2011-01-10 2011-05-25 西安电子科技大学 基于视频服务质量的混合选择重传方法

Also Published As

Publication number Publication date
EP3429213B1 (en) 2023-04-26
EP3429213A1 (en) 2019-01-16
CN107181968A (zh) 2017-09-19
JP6699834B2 (ja) 2020-05-27
EP3429213A4 (en) 2019-11-20
US20180234116A1 (en) 2018-08-16
JP2019501566A (ja) 2019-01-17
WO2017152827A1 (zh) 2017-09-14
US10735029B2 (en) 2020-08-04
KR102097435B1 (ko) 2020-04-06
KR20180063223A (ko) 2018-06-11

Similar Documents

Publication Publication Date Title
CN107181968B (zh) 一种视频数据的冗余控制方法和装置
EP2312787B1 (en) Method and device of data transmission
CN111800218B (zh) 一种数据流的传输方法和设备
JP5991598B2 (ja) データ処理装置及びデータ処理方法
US10084715B2 (en) Packet loss mitigation
Kwon et al. MPMTP: Multipath multimedia transport protocol using systematic raptor codes over wireless networks
JP2021153298A (ja) メディアコンテンツに基づくfecメカニズム
US20100220592A1 (en) Layered internet video engineering
CN106921860B (zh) 一种端到端的视频发送方法及装置
CN111385055B (zh) 一种数据传输方法和装置
Pakulova et al. Adaptive low-delay video streaming in heterogeneous wireless networks using MPRTP
CN108243073B (zh) 数据传输方法和装置
JP2005176303A (ja) チャネル上で送信されるマルチメディアを符号化する方法およびシステム
CN116318545A (zh) 视频数据传输方法、装置、设备及存储介质
Khan et al. Hysteresis based rate adaptation for scalable video traffic over an LTE downlink
US10687067B2 (en) Transmitter, transmission method, and communication system
CN111245566A (zh) 不可靠网络的抗丢包方法、装置、存储介质及电子设备
Shin et al. An efficient MAC layer packet fragmentation scheme with priority queuing for real-time video streaming
CN118590675A (zh) 一种视频传输方法、装置、设备及介质
Zhu et al. Video transmission based on diffserv over IP networks
Kwon et al. Multimedia transport protocol using multiple paths over heterogeneous wireless networks
Zhai et al. Internet Video Transmission
Jang et al. VoD streaming service scheduling to minimize the distortion
Kwon et al. Systematic Raptor Codes-Based Multipath Multimedia Transport Protocol over HetNets
Guo et al. A bandwidth allocation algorithm based on historical QoS metric for adaptive video streaming

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