CN110572721B - 视频传输方法和装置 - Google Patents

视频传输方法和装置 Download PDF

Info

Publication number
CN110572721B
CN110572721B CN201810570709.3A CN201810570709A CN110572721B CN 110572721 B CN110572721 B CN 110572721B CN 201810570709 A CN201810570709 A CN 201810570709A CN 110572721 B CN110572721 B CN 110572721B
Authority
CN
China
Prior art keywords
video data
data packet
target layer
receiving end
block
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
CN201810570709.3A
Other languages
English (en)
Other versions
CN110572721A (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.)
Beijing Xiaomi Pinecone Electronic Co Ltd
Original Assignee
Beijing Xiaomi Pinecone Electronic 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 Beijing Xiaomi Pinecone Electronic Co Ltd filed Critical Beijing Xiaomi Pinecone Electronic Co Ltd
Priority to CN201810570709.3A priority Critical patent/CN110572721B/zh
Publication of CN110572721A publication Critical patent/CN110572721A/zh
Application granted granted Critical
Publication of CN110572721B publication Critical patent/CN110572721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开涉及一种视频传输方法和装置,涉及终端技术领域,该方法应用于接收端,包括:通过接收端的目标层接收由发送端发送的第一视频数据包,第一视频数据包包含视频数据和目标层校验码,通过接收端的目标层利用目标层校验码判断第一视频数据包是否正确,当第一视频数据包错误时,通过接收端的目标层向发送端发送关键帧请求,关键帧请求用于指示发送端将待发送的下一视频数据包以关键帧的形式进行编码,解析接收端的目标层接收到的由发送端发送的以关键帧的形式进行编码的下一视频数据包。能够在视频数据传输出现错误时,快速恢复视频数据,并降低反馈的时延。

Description

视频传输方法和装置
技术领域
本公开涉及终端技术领域,具体地,涉及一种视频传输方法和装置。
背景技术
随着终端技术和图像传输技术的不断发展,人们可以更加方便地利用各种智能终端来观看视频资料,对视频、图像质量的要求日益提高,如果在视频数据传输过程中出现了数据包丢失或出错的问题,会造成视频质量下降,或者出现卡顿、模糊或者马赛克,需要通过重传丢失或出错的数据包才能恢复视频数据,或者直到接收到下一个关键帧才能恢复,会造成较大的时延。
发明内容
为克服相关技术中存在的问题,本公开的目的是提供一种视频传输方法和装置。
根据本公开实施例的第一方面,提供一种视频传输方法,应用于接收端,所述方法包括:
通过所述接收端的目标层接收由发送端发送的第一视频数据包,所述第一视频数据包包含视频数据和目标层校验码;
通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确;
当所述第一视频数据包错误时,通过所述接收端的目标层向所述发送端发送关键帧请求,所述关键帧请求用于指示所述发送端将待发送的下一视频数据包以关键帧的形式进行编码;
解析所述接收端的目标层接收到的由所述发送端发送的以关键帧形式进行编码的所述下一视频数据包。
可选的,所述当所述第一视频数据包错误时,通过所述接收端的目标层向所述发送端发送关键帧请求,包括:
当所述第一视频数据包错误时,通过所述接收端的目标层向所述发送端的目标层发送所述关键帧请求。
可选的,所述通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确,包括:
通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包中的每个区块是否正确;
所述方法还包括:
当第一区块错误时,通过所述接收端的目标层向所述发送端发送关键区块请求,所述第一区块为所述第一视频数据包中的任一区块,所述关键区块请求用于指示所述发送端将下一视频数据包中与所述第一区块位置对应的第二区块以关键帧的形式进行编码;
解析所述接收端的目标层接收到的由所述发送端发送的,包含了以关键帧形式进行编码的所述第二区块的所述下一视频数据包。
可选的,所述目标层为物理层或数据链路层,所述关键帧为包含完整解码数据,且不依赖于相邻帧的独立帧。
根据本公开实施例的第二方面,提供一种视频传输方法,应用于发送端,所述方法包括:
向接收端发送第一视频数据包,所述第一视频数据包包含视频数据和目标层校验码,用于所述接收端通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确;
当所述第一视频数据包错误时,从所述接收端接收通过所述接收端的目标层发送的关键帧请求,所述关键帧请求用于指示所述发送端将待发送的下一视频数据包以关键帧的形式进行编码;
向所述接收端发送以关键帧形式进行编码的所述下一视频数据包。
可选的,所述第一视频数据包用于:
所述接收端通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包中的每个区块是否正确;
所述方法还包括:
当第一区块错误时,从所述接收端接收通过所述接收端的目标层发送的关键区块请求,所述关键区块请求用于指示所述发送端将下一视频数据包中与所述第一区块位置对应的第二区块以关键帧的形式进行编码;
向所述接收端发送包含了以关键帧形式进行编码的所述第二区块的所述下一视频数据包。
根据本公开实施例的第三方面,提供一种视频传输装置,应用于接收端,所述装置包括:
接收模块,用于通过所述接收端的目标层接收由发送端发送的第一视频数据包,所述第一视频数据包包含视频数据和目标层校验码;
判断模块,用于通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确;
发送模块,用于当所述第一视频数据包错误时,通过所述接收端的目标层向所述发送端发送关键帧请求,所述关键帧请求用于指示所述发送端将待发送的下一视频数据包以关键帧的形式进行编码;
解析模块,用于解析所述接收端的目标层接收到的由所述发送端发送的以关键帧形式进行编码的所述下一视频数据包。
可选的,所述发送模块用于:
当所述第一视频数据包错误时,通过所述接收端的目标层向所述发送端的目标层发送所述关键帧请求。
可选的,所述判断模块用于:
通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包中的每个区块是否正确;
所述发送模块,用于当第一区块错误时,通过所述接收端的目标层向所述发送端发送关键区块请求,所述第一区块为所述第一视频数据包中的任一区块,所述关键区块请求用于指示所述发送端将下一视频数据包中与所述第一区块位置对应的第二区块以关键帧的形式进行编码;
所述解析模块,用于解析所述接收端的目标层接收到的由所述发送端发送的,包含了以关键帧形式进行编码的所述第二区块的所述下一视频数据包。
可选的,所述目标层为物理层或数据链路层,所述关键帧为包含完整解码数据,且不依赖于相邻帧的独立帧。
根据本公开实施例的第四方面,提供一种视频传输装置,应用于发送端,所述装置包括:
发送模块,用于向接收端发送第一视频数据包,所述第一视频数据包包含视频数据和目标层校验码,用于所述接收端通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确;
接收模块,用于当所述第一视频数据包错误时,从所述接收端接收通过所述接收端的目标层发送的关键帧请求,所述关键帧请求用于指示所述发送端将待发送的下一视频数据包以关键帧的形式进行编码;
所述发送模块,用于向所述接收端发送以关键帧形式进行编码的所述下一视频数据包。
可选的,所述第一视频数据包还用于:
所述接收端通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包中的每个区块是否正确;
所述接收模块,用于当第一区块错误时,从所述接收端接收通过所述接收端的目标层发送的关键区块请求,所述关键区块请求用于指示所述发送端将下一视频数据包中与所述第一区块位置对应的第二区块以关键帧的形式进行编码;
所述发送模块,用于向所述接收端发送包含了以关键帧形式进行编码的所述第二区块的所述下一视频数据包。
通过上述技术方案,本公开由发送端将包含了视频数据和目标层校验码的第一视频数据包发送给接收端的目标层,由接收端的目标层利用目标层校验码来确定第一视频数据包是否存在丢失或出错的问题,当判断第一视频数据包错误时,接收端的目标层向发送端发送关键帧请求,发送端收到关键帧请求后,对待发送的下一视频数据包以关键帧的形式进行编码,发送端再将以关键帧形式进行编码的下一视频数据包发送给接收端的目标层,再由接收端进行解析。在视频数据传输出现错误时,接收端的目标层不请求重传,而是请求之后的视频数据立即以关键帧的形式传输,使得视频数据能够快速恢复,并能够降低反馈的时延。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种视频传输方法的流程图;
图2是根据一示例性实施例示出的另一种视频传输方法的流程图;
图3是根据一示例性实施例示出的一种视频传输方法的流程图;
图4是根据一示例性实施例示出的另一种视频传输装置的框图;
图5是根据一示例性实施例示出的一种视频传输装置的框图;
图6是根据一示例性实施例示出的一种视频传输装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本公开提供的视频传输方法和装置之前,首先对本公开中各个实施例所涉及的应用场景进行介绍,该应用场景包括视频传输过程中的发送视频数据的发送端和接收视频数据的接收端。其中,发送端可以是互联网中的任一服务器或其他类型的数据终端,接收端可以是任一显示设备,例如可以是智能手机、平板电脑、智能电视、智能手表、PDA(英文:Personal Digital Assistant,中文:个人数字助理)、便携计算机等移动终端,也可以是台式计算机等固定终端。
图1是根据一示例性实施例示出的一种视频传输方法的流程图,如图1所示,应用于接收端,该方法包括:
步骤101,通过接收端的目标层接收由发送端发送的第一视频数据包,第一视频数据包包含视频数据和目标层校验码。
举例来说,在视频传输过程中,发送端向接收端的目标层发送包含了视频数据和目标层校验码的第一视频数据包,第一视频数据包为发送端发送的任一视频数据包,视频数据包中可以是仅包含一帧视频数据和对应的目标层校验码(例如:针对物理层的HARQ(英文:Hybrid Automatic Repeat Request,中文:混合自动重传请求)技术,或针对数据链路层的ARQ(英文:Automatic Repeat-Request,中文:自动重传请求)技术),也可以是包含多帧视频数据和每帧视频数据对应的目标层校验码,可以根据接收端和发送端之间的预设的协议来规定,需要说明的是,一帧视频数据对应的目标层校验码可以包括多个,接收端的目标层在接收到一帧视频数据之后,会将一帧视频数据拆分或者级联成多个小包,每个小包都有对应的目标层校验码,使得如果出现一帧视频数据没有传输完的场景,接收端的目标层也能够根据每个小包对应的目标层校验码来判断已经接收的这部分视频数据是否有错误,而不需要在接收完完整的一帧视频数据再判断。其中,视频数据为经过发送端编码,包含了视频信息的数据,目标层校验码是视频传输过程中,用来校验接收端和发送端两部分传输的信息是否发生错误的数据,例如可以是奇偶校验码、汉明码(英文:Hamming Code)、CRC(英文:Cyclic Redundancy Check,中文:循环冗余校验码)等。需要说明的是,目标层可以是计算机网络结构中网络层以下的结构层,例如:物理层或数据链路层。本实施例中的目标层包括但不限于网络七层协议(英文:Open System Interconnect,中文:开放***互连参考模型)或网络五层协议中的结构,也可以适用于其他网络结构。
步骤102,通过接收端的目标层利用目标层校验码判断第一视频数据包是否正确。
步骤103,当第一视频数据包错误时,通过接收端的目标层向发送端发送关键帧请求,关键帧请求用于指示发送端将待发送的下一视频数据包以关键帧的形式进行编码。
示例的,由接收端的目标层来对第一视频数据包进行校验,根据接收端和发送端两方约定的目标层校验码的类型不同,选择对应的校验方法来对第一视频数据包进行校验。当第一视频数据包正确时,即第一视频数据包中的目标层校验码与第一视频数据包中视频数据匹配,接收端对第一视频数据包进行解析,并将解析后的视频数据显示在接收端的显示界面上,当第一视频数据包错误时,即第一视频数据包中的目标层校验码与第一视频数据包中视频数据不匹配,对应第一视频数据包中出现了丢失或错误的场景(此时,接收端的显示界面上的图像质量下降,或者出现卡顿、模糊或者马赛克),由接收端的目标层向发送端发送关键帧请求。发送端在接收到关键帧请求后,将待发送的下一视频数据包以关键帧的形式进行编码。其中,关键帧为包括了一个视频数据包中全部视频数据的独立帧,不需要参考其他帧图像就可以独立进行解码的数据帧,同时,还可以作为其他帧解码的参考帧,以标准的MPEG-4(英文:Moving Picture Experts Group,中文:动态图像专家组)编码方式举例,包括三种类型的帧:I帧、P帧和B帧,其中,I帧为关键帧,无需其他信息就可以独立进行解码。在接收端的目标层发现第一视频数据包传输错误时,接收端的目标层不请求发送端重传第一视频数据包,而是请求发送端将第一视频数据包之后的视频数据以关键帧的形式传输。需要说明的是,通过接收端的目标层直接来判断第一视频数据包是否正确,能够避免视频数据向上层(网络层或传输层等)传递所造成的反馈时延。
步骤104,解析接收端的目标层接收到的由发送端发送的以关键帧形式进行编码的下一视频数据包。
示例的,在发送端对下一视频数据包以关键帧的形式进行编码后,发送端将以关键帧形式进行编码的下一视频数据包发送到接收端的目标层。接收端的目标层收到以关键帧形式进行编码的下一视频数据包后,由于以关键帧形式进行编码的下一视频数据包是关键帧的形式,因此包含了不需要参考其他帧图像就可以独立进行解码,使得接收端的显示界面上的图像能够立即恢复。
综上所述,本公开由发送端将包含了视频数据和目标层校验码的第一视频数据包发送给接收端的目标层,由接收端的目标层利用目标层校验码来确定第一视频数据包是否存在丢失或出错的问题,当判断第一视频数据包错误时,接收端的目标层向发送端发送关键帧请求,发送端收到关键帧请求后,对待发送的下一视频数据包以关键帧的形式进行编码,发送端再将以关键帧形式进行编码的下一视频数据包发送给接收端的目标层,再由接收端进行解析。在视频数据传输出现错误时,接收端的目标层不请求重传,而是请求之后的视频数据立即以关键帧的形式传输,使得视频数据能够快速恢复,并能够降低反馈的时延。
可选的,步骤103包括:
当第一视频数据包错误时,通过接收端的目标层向发送端的目标层发送关键帧请求。
示例的,当第一视频数据包错误时,通过接收端的目标层向发送端的目标层发送关键帧请求,能够避免关键帧请求对应的数据向上层(网络层或传输层等)传递所造成的反馈时延,从而进一步降低反馈时延。
图2是根据一示例性实施例示出的另一种视频传输方法的流程图,如图2所示,步骤102包括:
通过接收端的目标层利用目标层校验码判断第一视频数据包中的每个区块是否正确。
该方法还包括:
步骤105,当第一区块错误时,通过接收端的目标层向发送端发送关键区块请求,第一区块为第一视频数据包中的任一区块,关键区块请求用于指示发送端将下一视频数据包中与第一区块位置对应的第二区块以关键帧的形式进行编码。
步骤106,解析接收端的目标层接收到的由发送端发送的,包含了以关键帧形式进行编码的第二区块的下一视频数据包。
举例来说,通常情况下,视频传输过程中,视频数据包可以分成多个区块,每个区块的编码方式可以互不相同,每个区块也对应有目标层校验码,可以先判断每个区块是否出现错误,再请求发送端将对应区块以关键帧的形式进行编码。一个区块出现的错误,仅影响到该区块中的视频数据,对其他区块没有影响,因此,除出现错误的区块外,发送端可以仍旧按照原有的编码方式对下一视频数据包中的其他区块进行编码。
因此接收端的目标层可以分别判断第一视频数据包中的每一个区块是否出现错误,再根据出现错误的区块向发送端发送关键区块请求,用于指示发送端将下一视频数据包中与第一区块位置对应的第二区块以关键帧的形式进行编码。在发送端对下一视频数据包中的第二区块以关键帧的形式进行编码后,发送端将包含了以关键帧形式进行编码的第二区块的下一视频数据包发送到接收端的目标层。接收端的目标层收到后对下一视频数据包进行解码。
可选的,目标层为物理层或数据链路层,关键帧为包含完整解码数据,且不依赖于相邻帧的独立帧。
综上所述,本公开由发送端将包含了视频数据和目标层校验码的第一视频数据包发送给接收端的目标层,由接收端的目标层利用目标层校验码来确定第一视频数据包是否存在丢失或出错的问题,当判断第一视频数据包错误时,接收端的目标层向发送端发送关键帧请求,发送端收到关键帧请求后,对待发送的下一视频数据包以关键帧的形式进行编码,发送端再将以关键帧形式进行编码的下一视频数据包发送给接收端的目标层,再由接收端进行解析。在视频数据传输出现错误时,接收端的目标层不请求重传,而是请求之后的视频数据立即以关键帧的形式传输,使得视频数据能够快速恢复,并能够降低反馈的时延。
图3是根据一示例性实施例示出的一种视频传输方法的流程图,如图3所示,应用于发送端,该方法包括:
步骤201,向接收端发送第一视频数据包,第一视频数据包包含视频数据和目标层校验码,用于接收端通过接收端的目标层利用目标层校验码判断第一视频数据包是否正确。
举例来说,发送端向接收端发送包含了视频数据和目标层校验码的第一视频数据包(可以是由接收端的的目标层来接收),其中,视频数据为经过发送端编码,包含了视频信息的数据,目标层校验码是视频传输过程中,用来校验接收端和发送端两部分传输的信息是否发生错误的数据,使得接收端的目标层能够判断第一视频数据包是否正确。其中,目标层可以是计算机网络结构中网络层以下的结构层,例如:物理层或数据链路层。本实施例中的目标层包括但不限于网络七层协议(OSI)或网络五层协议中的结构,也可以适用于其他网络结构。
步骤202,当第一视频数据包错误时,从接收端接收通过接收端的目标层发送的关键帧请求,关键帧请求用于指示发送端将待发送的下一视频数据包以关键帧的形式进行编码。
步骤203,向接收端发送以关键帧形式进行编码的下一视频数据包。
示例的,当接收端的目标层判断第一视频数据包错误时(即第一视频数据包中的目标层校验码与第一视频数据包中视频数据不匹配),接收端的目标层向发送端发送关键帧请求。发送端在接收到关键帧请求后,将待发送的下一视频数据包以关键帧的形式进行编码,并发送给接收端。需要说明的是,步骤202中,可以是由发送端的目标层接收由接收端的目标层发送的关键帧请求,能够避免视频数据向上层(网络层或传输层等)传递所造成的反馈时延。
图4是根据一示例性实施例示出的另一种视频传输方法的流程图,如图4所示,第一视频数据包用于:
接收端通过接收端的目标层利用目标层校验码判断第一视频数据包中的每个区块是否正确。
该方法还包括:
步骤204,当第一区块错误时,从接收端接收通过接收端的目标层发送的关键区块请求,关键区块请求用于指示发送端将下一视频数据包中与第一区块位置对应的第二区块以关键帧的形式进行编码。
步骤205,向接收端发送包含了以关键帧形式进行编码的第二区块的下一视频数据包。
举例来说,当视频数据包分成多个区块时,每个区块的编码方式可以互不相同,每个区块也对应有目标层校验码,接收端的目标层可以先判断每个区块是否出现错误,再请求发送端将对应区块以关键帧的形式进行编码。一个区块出现的错误,仅影响到该区块中的视频数据,对其他区块没有影响,因此,除出现错误的区块外,发送端可以仍旧按照原有的编码方式对下一视频数据包中的其他区块进行编码。
综上所述,本公开由发送端将包含了视频数据和目标层校验码的第一视频数据包发送给接收端的目标层,由接收端的目标层利用目标层校验码来确定第一视频数据包是否存在丢失或出错的问题,当判断第一视频数据包错误时,接收端的目标层向发送端发送关键帧请求,发送端收到关键帧请求后,对待发送的下一视频数据包以关键帧的形式进行编码,发送端再将以关键帧形式进行编码的下一视频数据包发送给接收端的目标层,再由接收端进行解析。在视频数据传输出现错误时,接收端的目标层不请求重传,而是请求之后的视频数据立即以关键帧的形式传输,使得视频数据能够快速恢复,并能够降低反馈的时延。
图5是根据一示例性实施例示出的一种视频传输装置的框图,如图5所示,应用于接收端,该装置300包括:
接收模块301,用于通过接收端的目标层接收由发送端发送的第一视频数据包,第一视频数据包包含视频数据和目标层校验码。
判断模块302,用于通过接收端的目标层利用目标层校验码判断第一视频数据包是否正确。
发送模块303,用于当第一视频数据包错误时,通过接收端的目标层向发送端发送关键帧请求,关键帧请求用于指示发送端将待发送的下一视频数据包以关键帧的形式进行编码。
解析模块304,用于解析接收端的目标层接收到的由发送端发送的以关键帧形式进行编码的下一视频数据包。
可选的,发送模块303用于:
当第一视频数据包错误时,通过接收端的目标层向发送端的目标层发送关键帧请求。
可选的,判断模块302用于:
通过接收端的目标层利用目标层校验码判断第一视频数据包中的每个区块是否正确。
发送模块303,用于当第一区块错误时,通过接收端的目标层向发送端发送关键区块请求,第一区块为第一视频数据包中的任一区块,关键区块请求用于指示发送端将下一视频数据包中与第一区块位置对应的第二区块以关键帧的形式进行编码。
解析模块304,用于解析接收端的目标层接收到的由发送端发送的,包含了以关键帧形式进行编码的第二区块的下一视频数据包。
可选的,目标层为物理层或数据链路层,关键帧为包含完整解码数据,且不依赖于相邻帧的独立帧。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开由发送端将包含了视频数据和目标层校验码的第一视频数据包发送给接收端的目标层,由接收端的目标层利用目标层校验码来确定第一视频数据包是否存在丢失或出错的问题,当判断第一视频数据包错误时,接收端的目标层向发送端发送关键帧请求,发送端收到关键帧请求后,对待发送的下一视频数据包以关键帧的形式进行编码,发送端再将以关键帧形式进行编码的下一视频数据包发送给接收端的目标层,再由接收端进行解析。在视频数据传输出现错误时,接收端的目标层不请求重传,而是请求之后的视频数据立即以关键帧的形式传输,使得视频数据能够快速恢复,并能够降低反馈的时延。
图6是根据一示例性实施例示出的一种视频传输装置的框图,如图6所示,应用于发送端,该装置400包括:
发送模块401,用于向接收端发送第一视频数据包,第一视频数据包包含视频数据和目标层校验码,用于接收端通过接收端的目标层利用目标层校验码判断第一视频数据包是否正确。
接收模块402,用于当第一视频数据包错误时,从接收端接收通过接收端的目标层发送的关键帧请求,关键帧请求用于指示发送端将待发送的下一视频数据包以关键帧的形式进行编码。
发送模块401,用于向接收端发送以关键帧形式进行编码的下一视频数据包。
可选的,第一视频数据包还用于:
接收端通过接收端的目标层利用目标层校验码判断第一视频数据包中的每个区块是否正确。
接收模块402,用于当第一区块错误时,从接收端接收通过接收端的目标层发送的关键区块请求,关键区块请求用于指示发送端将下一视频数据包中与第一区块位置对应的第二区块以关键帧的形式进行编码。
发送模块401,用于向接收端发送包含了以关键帧形式进行编码的第二区块的下一视频数据包。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开由发送端将包含了视频数据和目标层校验码的第一视频数据包发送给接收端的目标层,由接收端的目标层利用目标层校验码来确定第一视频数据包是否存在丢失或出错的问题,当判断第一视频数据包错误时,接收端的目标层向发送端发送关键帧请求,发送端收到关键帧请求后,对待发送的下一视频数据包以关键帧的形式进行编码,发送端再将以关键帧形式进行编码的下一视频数据包发送给接收端的目标层,再由接收端进行解析。在视频数据传输出现错误时,接收端的目标层不请求重传,而是请求之后的视频数据立即以关键帧的形式传输,使得视频数据能够快速恢复,并能够降低反馈的时延。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。

Claims (6)

1.一种视频传输方法,其特征在于,应用于接收端,所述方法包括:
通过所述接收端的目标层接收由发送端发送的第一视频数据包,所述第一视频数据包包含视频数据和目标层校验码,所述目标层为计算机网络机构中网络层以下的任一结构层;
通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确;
当所述第一视频数据包错误时,通过所述接收端的目标层向所述发送端的目标层发送关键帧请求,所述关键帧请求用于指示所述发送端将待发送的下一视频数据包以关键帧的形式进行编码;
解析所述接收端的目标层接收到的由所述发送端发送的以关键帧形式进行编码的所述下一视频数据包;
所述通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确,包括:
通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包中的每个区块是否正确,每个所述区块的编码方式各自独立;
所述方法还包括:
当第一区块错误时,通过所述接收端的目标层向所述发送端发送关键区块请求,所述第一区块为所述第一视频数据包中的任一区块,所述关键区块请求用于指示所述发送端将下一视频数据包中与所述第一区块位置对应的第二区块以关键帧的形式进行编码,所述下一视频数据包中除所述第二区块之外的区块的编码方式保持不变;
解析所述接收端的目标层接收到的由所述发送端发送的,包含了以关键帧形式进行编码的所述第二区块的所述下一视频数据包。
2.根据权利要求1所述的方法,其特征在于,所述目标层为物理层或数据链路层,所述关键帧为包含完整解码数据,且不依赖于相邻帧的独立帧。
3.一种视频传输方法,其特征在于,应用于发送端,所述方法包括:
向接收端发送第一视频数据包,所述第一视频数据包包含视频数据和目标层校验码,用于所述接收端通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确,所述目标层为计算机网络机构中网络层以下的任一结构层;
当所述第一视频数据包错误时,通过所述发送端的目标层从所述接收端接收,通过所述接收端的目标层发送的关键帧请求,所述关键帧请求用于指示所述发送端将待发送的下一视频数据包以关键帧的形式进行编码;
向所述接收端发送以关键帧形式进行编码的所述下一视频数据包;
所述第一视频数据包用于:
所述接收端通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包中的每个区块是否正确,每个所述区块的编码方式各自独立;
所述方法还包括:
当第一区块错误时,从所述接收端接收通过所述接收端的目标层发送的关键区块请求,所述关键区块请求用于指示所述发送端将下一视频数据包中与所述第一区块位置对应的第二区块以关键帧的形式进行编码,所述下一视频数据包中除所述第二区块之外的区块的编码方式保持不变;
向所述接收端发送包含了以关键帧形式进行编码的所述第二区块的所述下一视频数据包。
4.一种视频传输装置,其特征在于,应用于接收端,所述装置包括:
接收模块,用于通过所述接收端的目标层接收由发送端发送的第一视频数据包,所述第一视频数据包包含视频数据和目标层校验码,所述目标层为计算机网络机构中网络层以下的任一结构层;
判断模块,用于通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确;
发送模块,用于当所述第一视频数据包错误时,通过所述接收端的目标层向所述发送端的目标层发送关键帧请求,所述关键帧请求用于指示所述发送端将待发送的下一视频数据包以关键帧的形式进行编码;
解析模块,用于解析所述接收端的目标层接收到的由所述发送端发送的以关键帧形式进行编码的所述下一视频数据包;
所述判断模块用于:
通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包中的每个区块是否正确,每个所述区块的编码方式各自独立;
所述发送模块,用于当第一区块错误时,通过所述接收端的目标层向所述发送端发送关键区块请求,所述第一区块为所述第一视频数据包中的任一区块,所述关键区块请求用于指示所述发送端将下一视频数据包中与所述第一区块位置对应的第二区块以关键帧的形式进行编码,所述下一视频数据包中除所述第二区块之外的区块的编码方式保持不变;
所述解析模块,用于解析所述接收端的目标层接收到的由所述发送端发送的,包含了以关键帧形式进行编码的所述第二区块的所述下一视频数据包。
5.根据权利要求4所述的装置,其特征在于,所述目标层为物理层或数据链路层,所述关键帧为包含完整解码数据,且不依赖于相邻帧的独立帧。
6.一种视频传输装置,其特征在于,应用于发送端,所述装置包括:
发送模块,用于向接收端发送第一视频数据包,所述第一视频数据包包含视频数据和目标层校验码,用于所述接收端通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包是否正确,所述目标层为计算机网络机构中网络层以下的任一结构层;
接收模块,用于当所述第一视频数据包错误时,通过所述发送端的目标层从所述接收端接收,通过所述接收端的目标层发送的关键帧请求,所述关键帧请求用于指示所述发送端将待发送的下一视频数据包以关键帧的形式进行编码;
所述发送模块,用于向所述接收端发送以关键帧形式进行编码的所述下一视频数据包;
所述第一视频数据包还用于:
所述接收端通过所述接收端的目标层利用所述目标层校验码判断所述第一视频数据包中的每个区块是否正确,每个所述区块的编码方式各自独立;
所述接收模块,用于当第一区块错误时,从所述接收端接收通过所述接收端的目标层发送的关键区块请求,所述关键区块请求用于指示所述发送端将下一视频数据包中与所述第一区块位置对应的第二区块以关键帧的形式进行编码,所述下一视频数据包中除所述第二区块之外的区块的编码方式保持不变;
所述发送模块,用于向所述接收端发送包含了以关键帧形式进行编码的所述第二区块的所述下一视频数据包。
CN201810570709.3A 2018-06-05 2018-06-05 视频传输方法和装置 Active CN110572721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810570709.3A CN110572721B (zh) 2018-06-05 2018-06-05 视频传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810570709.3A CN110572721B (zh) 2018-06-05 2018-06-05 视频传输方法和装置

Publications (2)

Publication Number Publication Date
CN110572721A CN110572721A (zh) 2019-12-13
CN110572721B true CN110572721B (zh) 2022-02-22

Family

ID=68771873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810570709.3A Active CN110572721B (zh) 2018-06-05 2018-06-05 视频传输方法和装置

Country Status (1)

Country Link
CN (1) CN110572721B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612962A (zh) * 2021-07-15 2021-11-05 深圳市捷视飞通科技股份有限公司 视频会议处理方法、***和装置
CN114025354A (zh) * 2021-11-17 2022-02-08 圆藏(上海)科技有限公司 一种降低信息传输误码的通信方法、***及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937631A (zh) * 2006-10-24 2007-03-28 杭州华为三康技术有限公司 用户数据报协议报文的处理方法及装置
CN102752670A (zh) * 2012-06-13 2012-10-24 广东威创视讯科技股份有限公司 减少网络视频传输中马赛克现象的方法、装置及***
CN103002283A (zh) * 2012-11-20 2013-03-27 南京邮电大学 多视角分布式视频压缩的边信息生成方法
CN104703053A (zh) * 2015-03-11 2015-06-10 青岛海尔智能家电科技有限公司 一种视频传输过程中丢包处理方法、装置和***
CN106034242A (zh) * 2015-03-09 2016-10-19 杭州施强网络科技有限公司 一种p2p***中音视频直播流媒体数据传输方法
CN106937134A (zh) * 2015-12-31 2017-07-07 深圳市潮流网络技术有限公司 一种数据传输的编码方法、编码发送装置及***
CN107979765A (zh) * 2016-10-25 2018-05-01 中兴通讯股份有限公司 一种视频数据处理方法、装置及***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937631A (zh) * 2006-10-24 2007-03-28 杭州华为三康技术有限公司 用户数据报协议报文的处理方法及装置
CN102752670A (zh) * 2012-06-13 2012-10-24 广东威创视讯科技股份有限公司 减少网络视频传输中马赛克现象的方法、装置及***
CN103002283A (zh) * 2012-11-20 2013-03-27 南京邮电大学 多视角分布式视频压缩的边信息生成方法
CN106034242A (zh) * 2015-03-09 2016-10-19 杭州施强网络科技有限公司 一种p2p***中音视频直播流媒体数据传输方法
CN104703053A (zh) * 2015-03-11 2015-06-10 青岛海尔智能家电科技有限公司 一种视频传输过程中丢包处理方法、装置和***
CN106937134A (zh) * 2015-12-31 2017-07-07 深圳市潮流网络技术有限公司 一种数据传输的编码方法、编码发送装置及***
CN107979765A (zh) * 2016-10-25 2018-05-01 中兴通讯股份有限公司 一种视频数据处理方法、装置及***

Also Published As

Publication number Publication date
CN110572721A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CA2395615C (en) Method for making data transmission more effective and a data transmission protocol
US7747921B2 (en) Systems and methods for transmitting data over lossy networks
CN101155311B (zh) 一种视频通信中的视频码流错误检测和处理方法
CN100407610C (zh) 移动通信***的错误检测方法
CN1287567C (zh) 用于在分组信道上的多媒体通信的方法和设备
US7616661B2 (en) Apparatus for transmitting/receiving a bit stream in a network and method therefor
CN101193312B (zh) 基于反馈的自适应错误恢复装置、视频通信***和方法
CN105681342B (zh) 一种基于h264的多路视频会议***的抗误码方法及***
EP2166687A1 (en) A method and apparatus for transmiting and receiving data packets
KR970019219A (ko) 세그먼트 프레임을 사용하는 비디오 코딩 및 채널 에러를 극복하기 위한 재전송(video coding using segmented frames and retransmission to overcome channel errors)
JP2007043550A (ja) 通信方法および通信システム
CN110572721B (zh) 视频传输方法和装置
CN111082896A (zh) 一种数据传输方法及发送、接收装置
JP2012222809A (ja) データフレームの再送信減少方法及びこのための受信ノード
CN110830818A (zh) 视频传输方法和装置
CN108429921A (zh) 一种视频编解码方法及装置
EP2850765B1 (en) Method and apparatus for error recovery using information related to the transmitter
CN1863311B (zh) 传输视频数据的方法
CN107872675B (zh) 基于h.264的视频数据的修复方法和传输的数据端
JPH1118086A (ja) 画像通信方法および装置
KR101196451B1 (ko) 비트스트림 전송 장치 및 방법
KR100363550B1 (ko) 동영상 인코딩 장치 및 무선 단말기의 동영상 디코딩 장치
CN110839164A (zh) 视频传输方法和装置
KR101429398B1 (ko) 스케일러블 코딩 기반의 데이터 처리 방법
JPH0799662A (ja) 動画像信号伝送方法

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing

Applicant after: Beijing Xiaomi pinecone Electronic Co., Ltd

Address before: 100085 Beijing city Haidian District Qinghe Shun Yip things Park Building 3 unit A

Applicant before: BEIJING PINECONE ELECTRONICS Co.,Ltd.

GR01 Patent grant
GR01 Patent grant