CN109246486A - 一种组帧方法和装置 - Google Patents
一种组帧方法和装置 Download PDFInfo
- Publication number
- CN109246486A CN109246486A CN201811204718.7A CN201811204718A CN109246486A CN 109246486 A CN109246486 A CN 109246486A CN 201811204718 A CN201811204718 A CN 201811204718A CN 109246486 A CN109246486 A CN 109246486A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- data packet
- networked terminals
- video frame
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control 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/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种组帧方法及装置,应用于视联网中。其中方法包括:视联网终端接收所述视联网服务器,基于视联网协议下发的视频数据包,所述视频数据包包括包序号和帧序号;视联网终端依据所述包序号和所述帧序号,利用所述视频数据包进行组帧;视联网终端若判定当前正在进行组帧的视频帧丢包,则确定是否丢弃所述视频帧;视联网终端若确定丢弃,则删除属于所述视频帧的视频数据包。本发明实施例中处理方式更加准确,避免了对于并没有真正丢包的视频帧也进行丢弃处理,降低了丢弃的视频帧的数量,不会导致播放视频数据时出现花屏现象,提升用户体验。
Description
技术领域
本发明涉及视联网技术领域,特别是涉及一种组帧方法和一种组帧装置。
背景技术
随着网络科技的快速发展,视频会议、视频教学、可视电话等双向通信在用户的生活、工作、学习等方面广泛普及。在通信过程中,通信双方的终端之间可以相互传输视频数据。但是,在视频数据的传输过程中,可能会由于各种原因,如终端设备本身的原因、网络连接的原因等等,会导致出现丢包现象。
现有技术中,针对丢包现象,通常是如果发现某一个视频帧丢包,则将属于本视频帧的所有数据包全部丢弃,不对本视频帧进行组帧。但是,这种处理方式不准确,可能视频帧并没有真正丢包而将其按照丢包进行丢弃处理,并且如果大量的丢弃视频帧,会导致播放视频数据时出现花屏等现象,降低用户体验。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种组帧方法和相应的一种组帧装置。
为了解决上述问题,本发明实施例公开了一种组帧方法,所述方法应用于视联网中,所述视联网包括视联网终端和视联网服务器,所述方法包括:
所述视联网终端接收所述视联网服务器,基于视联网协议下发的视频数据包;所述视频数据包包括包序号和帧序号;
所述视联网终端依据所述包序号和所述帧序号,利用所述视频数据包进行组帧;
所述视联网终端若判定当前正在进行组帧的视频帧丢包,则确定是否丢弃所述视频帧;
所述视联网终端若确定丢弃,则删除属于所述视频帧的视频数据包。
优选地,所述确定是否丢弃所述视频帧的步骤,包括:所述视联网终端判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功;所述视联网终端在判断结果为未成功时,确定丢弃所述视频帧。
优选地,在所述视联网终端判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功的步骤之前,还包括:所述视联网终端判断所述视频帧是否为I帧;所述视联网终端在判断结果为不是I帧时,确定丢弃所述视频帧;所述视联网终端在判断结果为是I帧时,执行所述视联网终端判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功的步骤。
优选地,在所述视联网终端若确定丢弃,则删除属于所述视频帧的全部视频数据包的步骤之后,还包括:所述视联网终端若判定所述视频帧是I帧,则删除属于所述视频帧与下一个I帧之间的P帧的视频数据包。
优选地,所述视联网终端接收所述视联网服务器,基于视联网协议下发的视频数据包的步骤,包括:所述视联网终端接收所述视联网服务器基于视联网协议,按照对所述视联网终端配置的下行通信链路下发的视频数据包。
另一方面,本发明实施例还公开了一种组帧装置,所述装置应用于视联网中,所述视联网包括视联网终端和视联网服务器,所述视联网终端包括:
接收模块,用于接收所述视联网服务器,基于视联网协议下发的视频数据包;所述视频数据包包括包序号和帧序号;
组帧模块,用于依据所述包序号和所述帧序号,利用所述视频数据包进行组帧;
确定模块,用于若判定当前正在进行组帧的视频帧丢包,则确定是否丢弃所述视频帧;
第一删除模块,用于若所述确定模块确定丢弃,则删除属于所述视频帧的视频数据包。
优选地,所述确定模块包括:第一判断单元,用于判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功;第一确定单元,用于在所述第一判断单元判断结果为未成功时,确定丢弃所述视频帧。
优选地,在所述视联网终端判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功的步骤之前,所述确定模块还包括:第二判断单元,用于判断所述视频帧是否为I帧;第二确定单元,用于在所述第二判断单元判断结果为不是I帧时,确定丢弃所述视频帧;所述第一判断单元,具体用于在所述第二判断单元判断结果为是I帧时,判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功。
优选地,所述视联网终端还包括:第二删除模块,用于若判定所述视频帧是I帧,则删除属于所述视频帧与下一个I帧之间的P帧的视频数据包。
优选地,所述接收模块,具体用于接收所述视联网服务器基于视联网协议,按照对所述视联网终端配置的下行通信链路下发的视频数据包。
本发明实施例中,视联网终端接收视联网服务器,基于视联网协议下发的视频数据包;视联网终端依据包序号和帧序号,利用视频数据包进行组帧;视联网终端若判定当前正在进行组帧的视频帧丢包,则确定是否丢弃视频帧;视联网终端若确定丢弃,则删除属于视频帧的视频数据包。由此可知,本发明实施例中在出现视频帧丢包时,并非直接丢弃该视频帧,而是进一步确定是否真正需要丢弃该视频帧。因此该种处理方式更加准确,避免了对于并没有真正丢包的视频帧也进行丢弃处理,降低了丢弃的视频帧的数量,不会导致播放视频数据时出现花屏现象,提升用户体验。
附图说明
图1是本发明的一种视联网的组网示意图;
图2是本发明的一种节点服务器的硬件结构示意图;
图3是本发明的一种接入交换机的硬件结构示意图;
图4是本发明的一种以太网协转网关的硬件结构示意图;
图5是本发明实施例一的一种组帧方法的步骤流程图;
图6是本发明实施例二的一种组帧装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个***平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作***,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图1所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
1、视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块204进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块208是由CPU模块204来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关:
如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目的地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目的地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frametype,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA | SA | Reserved | Payload | CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据包的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA | SA | Reserved | 标签 | Payload | CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
实施例一
本发明实施例的组帧方法可以应用于视联网中。在视联网中可以包括视联网终端和视联网服务器(具体可以为上述的节点服务器),一个视联网服务器可以接入多个视联网终端。本发明实施例的组帧方法具体可以应用于视联网终端中。视联网终端是视联网上业务落地设备,视联网业务的实际参与者或服务者,视联网终端可以为各种机顶盒、流媒体网关、存储网关、媒体合成器、编码板,等等。视联网终端需要注册到视联网服务器上方可进行正常业务。
参照图5,示出了本发明实施例一的一种组帧方法的步骤流程图。
本发明实施例的组帧方法可以包括以下步骤:
步骤501,视联网终端接收所述视联网服务器,基于视联网协议下发的视频数据包。
本发明实施例的组帧方法可以应用于基于视联网的通信过程中,如视频会议、视频教学、可视电话、发布直播、收看直播,等等。
比如,以视频会议为例,在视频会议的通信过程中,发送方的视联网终端(比如会议发言方)可以基于视联网协议将采集的视频数据封装为视频数据包,并通过视联网将视频数据包发送到视联网服务器。视频数据包中可以包括发送方的视联网终端的信息及接收方的视联网终端的信息等,视联网服务器可以基于视联网协议,通过视联网将视频数据包下发至接收方的视联网终端(比如会议参会方)。
本发明实施例主要描述接收方的视联网终端,在接收到视联网服务器下发的视频数据包之后的组帧过程。因此,本发明实施例中所涉及的视联网终端为接收方的视联网终端。
在一种优选实施方式中,视联网服务器可以基于视联网协议,按照对视联网终端(即接收方的视联网终端)配置的下行通信链路,向视联网终端下发视频数据包,该视频数据包具体可以为发送方的视联网终端发送至视联网服务器的视频数据包。
在实际应用中,视联网为具有集中控制功能的网络,包括主控服务器和下级网络设备,该下级网络设备包括终端,视联网的核心构思之一在于,通过由主控服务器通知交换设备针对当次服务的下行通信链路配表,然后基于该配置的表进行数据包的传送。
即,视联网中的通信方法包括:
主控服务器配置当次服务的下行通信链路。
将源终端(如发送方的视联网终端)发送的当次服务的数据包,按照所述下行通信链路传送至目标终端(如接收方的视联网终端)。
在本发明实施例中,配置当次服务的下行通信链路包括:通知当次服务的下行通信链路所涉及的交换设备配表。
进一步而言,按照下行通信链路传送包括:查询所配置的表,交换设备对所接收的数据包通过相应端口进行传送。
在具体实现中,服务包括单播通信服务和组播通信服务。即无论是组播通信还是单播通信,都可以采用上述配表—用表的核心构思实现视联网中的通信。
如前所述,视联网包括接入网部分,在接入网中,该主控服务器为节点服务器,下级网络设备包括接入交换机和终端。
对于接入网中的单播通信服务而言,所述主控服务器配置当次服务的下行通信链路的步骤可以包括以下步骤:
子步骤S11,主控服务器依据源终端发起的服务请求协议包,获取当次服务的下行通信链路信息,下行通信链路信息包括,参与当次服务的主控服务器和接入交换机的下行通信端口信息。
子步骤S12,主控服务器依据主控服务器的下行通信端口信息,在其内部的数据包地址表中设置当次服务的数据包所导向的下行端口;并依据接入交换机的下行通信端口信息,向相应的接入交换机发送端口配置命令。
子步骤S13,接入交换机依据端口配置命令在其内部的数据包地址表中,设置当次服务的数据包所导向的下行端口。
对于接入网中的组播通信服务(如视频会议)而言,主控服务器获取当次服务的下行通信链路信息的步骤可以包括以下子步骤:
子步骤S21,主控服务器获得目标终端发起的申请组播通信服务的服务请求协议包,服务请求协议包中包括服务类型信息、服务内容信息和目标终端的接入网地址。
其中,服务内容信息中包括服务号码。
子步骤S22,主控服务器依据所述服务号码在预置的内容-地址映射表中,提取源终端的接入网地址。
子步骤S23,主控服务器获取源终端对应的组播地址,并分配给目标终端;以及,依据服务类型信息、源终端和目标终端的接入网地址,获取当次组播服务的通信链路信息。
步骤502,视联网终端依据所述包序号和所述帧序号,利用所述视频数据包进行组帧。
视联网终端逐个接收视联网服务器下发的视频数据包,每个视频数据包中可以包括包序号和帧序号,一个视频帧可以包括多个视频数据包,比如可以包括10个、20个视频数据包,等等。视联网终端可以依据视频数据包的包序号和帧序号,利用视频数据包进行组帧。在针对某个视频帧的组帧过程中,按照属于该视频帧的视频数据包的包序号的顺序,对视频数据包排列位置。
比如,视联网终端接收到的第1个视频数据包的帧序号为1,包序号为1,则将该视频数据包放置于帧序号为1的视频帧中的第1个数据包的位置;接收到的第2个视频数据包的帧序号为1,包序号为3,则将该视频数据包放置于帧序号为1的视频帧中包序号为1的视频数据包之后的位置;接收到的第3个视频数据包的帧序号为1,包序号为2,则将该视频数据包放置于帧序号为1的视频帧中包序号为1的视频数据包之后,包序号为3的视频数据包之前的位置;接收到的第4个视频数据包的帧序号为1,包序号为5,则将该视频数据包放置于帧序号为1的视频帧中包序号为3的视频数据包之后的位置;接收到的第5个视频数据包的帧序号为1,包序号为6,则将该视频数据包放置于帧序号为1的视频帧中包序号为5的视频数据包之后的位置;接收到的第6个视频数据包的帧序号为1,包序号为7,则将该视频数据包放置于帧序号为1的视频帧中包序号为6的视频数据包之后的位置。以此类推,进行帧序号为1的视频帧的组帧过程。
步骤503,视联网终端若判定当前正在进行组帧的视频帧丢包,则确定是否丢弃所述视频帧。
视联网终端在依据所述包序号和所述帧序号,利用所述视频数据包进行组帧的过程中,还可以判断当前正在进行组帧的视频帧是否丢包。
在一种具体实现方式中,对于视频帧是否丢包的判断可以采用如下方式:视联网终端在检测到当前正在进行组帧的视频帧,出现暂时丢失的视频数据包后,判断在继续接收的视频数据包达到设定数量阈值之前,是否接收到该暂时丢失的视频数据包;若还未接收到,则确定该视频帧丢包;若接收到,则确定该视频帧未丢包,可能是出现了乱序。此处的设定数量阈值可以根据实际情况设置任意适用的数值,比如可以设置为2、3、4,等等,本发明实施例对此不作限制。
比如,可以设置设定数量阈值为2,按照上述的示例中,接收到的第2个视频数据包的帧序号为1,包序号为3;接收到的第2个视频数据包的帧序号为1,包序号为3;此时可以检测到帧序号为1的视频帧出现暂时丢失的视频数据包,即包序号为2的视频数据包,而继续接收到的第3个视频数据包的帧序号为1,包序号为2,因此可以得知帧序号为1,包序号为2的视频数据包只是出现了乱序,而并非丢包。接收到的第2个视频数据包的帧序号为1,包序号为3;接收到的第3个视频数据包的帧序号为1,包序号为2;接收到的第4个视频数据包的帧序号为1,包序号为5;此时可以检测到帧序号为1的视频帧出现暂时丢失的视频数据包,即包序号为4的视频数据包,而继续接收到的第5个视频数据包的帧序号为1,包序号为6;接收到的第6个视频数据包的帧序号为1,包序号为7,还未接收到帧序号为1,包序号为4的视频数据包,因此可以得知帧序号为1,包序号为4的视频数据包丢包,而并非乱序。
视联网终端若判定当前正在进行组帧的视频帧丢包,并非直接丢弃该视频帧,而是可以进一步确定是否真正需要丢弃该视频帧。
在一种优选实施方式中,确定是否丢弃所述视频帧的步骤可以包括:视联网终端判断在继续接收的视频数据包达到设定数量之前,视频帧是否组帧成功;视联网终端在判断结果为未成功时,确定丢弃所述视频帧;在判断结果为成功时,确定保留所述视频帧。此处的设定数量可以根据实际情况设置任意适用的数值,比如可以设置为40、50、60,等等,本发明实施例对此不作限制。
其中,判断视频帧是否组帧成功可以为:判断视频帧包括的全部视频数据包是否均已按顺序放置,组成一个完整的视频帧。比如,如果帧序号为1的视频帧包括20个视频数据包,那么如果帧序号为1,包序号为1,至帧序号为1,包序号为20的20个视频数据包均已按顺序放置,组成了一个完整的视频帧,则帧序号为1的视频帧组帧成功。
该种方式下,视联网终端在判定当前正在进行组帧的视频帧丢包后,可以继续接收视频数据包,如果在继续接收到设定数量的视频数据包时,还不能使视频帧完整,则确定确实可以丢弃该视频帧。
在另一种优选实施方式中,确定是否丢弃所述视频帧的步骤可以包括:视联网终端判断所述视频帧是否为I帧;在判断结果为不是I帧时,确定丢弃所述视频帧;在判断结果为是I帧时,视联网终端可以进一步判断在继续接收的视频数据包达到设定数量之前,视频帧是否组帧成功;在判断结果为未成功时,确定丢弃所述视频帧;在判断结果为成功时,确定保留所述视频帧。
其中,视频数据包中还包括帧类型标识,帧类型标识可以为I帧、P帧、B帧。判断视频帧是否为I帧可以为:依据所述视频帧包括的视频数据包的帧类型标识,判断所述视频帧是否为I帧。
该种方式下,视联网终端先对视频帧的类型进行判断,如果视频帧不是I帧,则可以认为丢弃该视频帧后产生的影响可能不会太大,因此可以确定丢弃该视频帧;如果视频帧是I帧,则可以认为丢弃该视频帧后产生的影响可能会较大,因此可以暂时不丢弃该视频帧,而是进一步执行如上述的判断过程,以便进一步确定是否的确丢弃该视频帧。
步骤504,视联网终端若确定丢弃,则删除属于所述视频帧的视频数据包。
如果确定出丢弃该视频帧,则视联网终端可以删除属于该视频帧的全部视频数据包。
优选地,本发明实施例中,视联网终端在删除属于所述视频帧的视频数据包之后,还可以进一步依据该食品真的类型执行后续的处理过程。比如,视联网终端判断所述视频帧是否为I帧;若判定所述视频帧不是I帧,则不作处理;若判定所述视频帧是I帧,则删除属于所述视频帧与下一个I帧之间的P帧的视频数据包,也即删除所述视频帧所在的GOP(Group of Pictures,画面组),GOP表示两个I帧之间的全部P帧。
如果丢弃的视频帧为I帧,则视联网终端可以在后面继续接收到视频数据包之后,如果判断出该视频数据包所属的视频帧为P帧,则删除这些属于P帧的视频数据包。
对于没有丢弃的,组帧成功的完整视频帧,视联网终端可以对该视频帧进行解码、播放等操作,以实现视联网终端之间的视频数据的传输。
本发明实施例中在出现视频帧丢包时,并非直接丢弃该视频帧,而是进一步确定是否真正需要丢弃该视频帧。因此该种处理方式更加准确,避免了对于并没有真正丢包的视频帧也进行丢弃处理,降低了丢弃的视频帧的数量,不会导致播放视频数据时出现花屏现象,提升用户体验。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例二
参照图6,示出了本发明实施例二的一种组帧装置的结构框图。本发明实施例的组帧装置可以应用于视联网中,所述视联网包括视联网终端和视联网服务器。
本发明实施例的组帧装置具体可以应用于视联网终端中,可以包括以下位于视联网终端中的模块:
所述视联网终端包括:
接收模块601,用于接收所述视联网服务器,基于视联网协议下发的视频数据包;所述视频数据包包括包序号和帧序号;
组帧模块602,用于依据所述包序号和所述帧序号,利用所述视频数据包进行组帧;
确定模块603,用于若判定当前正在进行组帧的视频帧丢包,则确定是否丢弃所述视频帧;
第一删除模块604,用于若所述确定模块确定丢弃,则删除属于所述视频帧的视频数据包。
在一种优选实施方式中,所述确定模块包括:第一判断单元,用于判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功;第一确定单元,用于在所述第一判断单元判断结果为未成功时,确定丢弃所述视频帧。
在一种优选实施方式中,在所述视联网终端判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功的步骤之前,所述确定模块还包括:第二判断单元,用于判断所述视频帧是否为I帧;第二确定单元,用于在所述第二判断单元判断结果为不是I帧时,确定丢弃所述视频帧;所述第一判断单元,具体用于在所述第二判断单元判断结果为是I帧时,判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功。
在一种优选实施方式中,所述视联网终端还包括:第二删除模块,用于若判定所述视频帧是I帧,则删除属于所述视频帧与下一个I帧之间的P帧的视频数据包。
在一种优选实施方式中,所述接收模块,具体用于接收所述视联网服务器基于视联网协议,按照对所述视联网终端配置的下行通信链路下发的视频数据包。
本发明实施例中在出现视频帧丢包时,并非直接丢弃该视频帧,而是进一步确定是否真正需要丢弃该视频帧。因此该种处理方式更加准确,避免了对于并没有真正丢包的视频帧也进行丢弃处理,降低了丢弃的视频帧的数量,不会导致播放视频数据时出现花屏现象,提升用户体验。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种组帧方法和一种组帧装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种组帧方法,其特征在于,所述方法应用于视联网中,所述视联网包括视联网终端和视联网服务器,所述方法包括:
所述视联网终端接收所述视联网服务器,基于视联网协议下发的视频数据包;所述视频数据包包括包序号和帧序号;
所述视联网终端依据所述包序号和所述帧序号,利用所述视频数据包进行组帧;
所述视联网终端若判定当前正在进行组帧的视频帧丢包,则确定是否丢弃所述视频帧;
所述视联网终端若确定丢弃,则删除属于所述视频帧的视频数据包。
2.根据权利要求1所述的方法,其特征在于,所述确定是否丢弃所述视频帧的步骤,包括:
所述视联网终端判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功;
所述视联网终端在判断结果为未成功时,确定丢弃所述视频帧。
3.根据权利要求2所述的方法,其特征在于,在所述视联网终端判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功的步骤之前,还包括:
所述视联网终端判断所述视频帧是否为I帧;
所述视联网终端在判断结果为不是I帧时,确定丢弃所述视频帧;
所述视联网终端在判断结果为是I帧时,执行所述视联网终端判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功的步骤。
4.根据权利要求1所述的方法,其特征在于,在所述视联网终端若确定丢弃,则删除属于所述视频帧的全部视频数据包的步骤之后,还包括:
所述视联网终端若判定所述视频帧是I帧,则删除属于所述视频帧与下一个I帧之间的P帧的视频数据包。
5.根据权利要求1所述的方法,其特征在于,所述视联网终端接收所述视联网服务器,基于视联网协议下发的视频数据包的步骤,包括:
所述视联网终端接收所述视联网服务器基于视联网协议,按照对所述视联网终端配置的下行通信链路下发的视频数据包。
6.一种组帧装置,其特征在于,所述装置应用于视联网中,所述视联网包括视联网终端和视联网服务器,所述视联网终端包括:
接收模块,用于接收所述视联网服务器,基于视联网协议下发的视频数据包;所述视频数据包包括包序号和帧序号;
组帧模块,用于依据所述包序号和所述帧序号,利用所述视频数据包进行组帧;
确定模块,用于若判定当前正在进行组帧的视频帧丢包,则确定是否丢弃所述视频帧;
第一删除模块,用于若所述确定模块确定丢弃,则删除属于所述视频帧的视频数据包。
7.根据权利要求6所述的装置,其特征在于,所述确定模块包括:
第一判断单元,用于判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功;
第一确定单元,用于在所述第一判断单元判断结果为未成功时,确定丢弃所述视频帧。
8.根据权利要求7所述的装置,其特征在于,在所述视联网终端判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功的步骤之前,所述确定模块还包括:
第二判断单元,用于判断所述视频帧是否为I帧;
第二确定单元,用于在所述第二判断单元判断结果为不是I帧时,确定丢弃所述视频帧;
所述第一判断单元,具体用于在所述第二判断单元判断结果为是I帧时,判断在继续接收的视频数据包达到设定数量之前,所述视频帧是否组帧成功。
9.根据权利要求6所述的装置,其特征在于,所述视联网终端还包括:
第二删除模块,用于若判定所述视频帧是I帧,则删除属于所述视频帧与下一个I帧之间的P帧的视频数据包。
10.根据权利要求6所述的装置,其特征在于,
所述接收模块,具体用于接收所述视联网服务器基于视联网协议,按照对所述视联网终端配置的下行通信链路下发的视频数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811204718.7A CN109246486B (zh) | 2018-10-16 | 2018-10-16 | 一种组帧方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811204718.7A CN109246486B (zh) | 2018-10-16 | 2018-10-16 | 一种组帧方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109246486A true CN109246486A (zh) | 2019-01-18 |
CN109246486B CN109246486B (zh) | 2021-01-22 |
Family
ID=65053680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811204718.7A Active CN109246486B (zh) | 2018-10-16 | 2018-10-16 | 一种组帧方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246486B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109996127A (zh) * | 2019-03-20 | 2019-07-09 | 视联动力信息技术股份有限公司 | 基于视联网的数据传输方法和装置 |
CN111343501A (zh) * | 2020-03-06 | 2020-06-26 | 随锐科技集团股份有限公司 | 丢包检测方法及***、计算机可读存储介质 |
CN112399253A (zh) * | 2020-11-30 | 2021-02-23 | 武汉噢易云计算股份有限公司 | 降低usb bulk图像设备重定向流量的方法及*** |
CN113099272A (zh) * | 2021-04-12 | 2021-07-09 | 上海商汤智能科技有限公司 | 视频处理方法及装置、电子设备和存储介质 |
WO2021238940A1 (zh) * | 2020-05-26 | 2021-12-02 | 维沃移动通信有限公司 | 视频数据处理方法、装置和电子设备 |
CN115473875A (zh) * | 2022-08-12 | 2022-12-13 | 海能达通信股份有限公司 | 视频帧的处理方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510999A (zh) * | 2009-02-24 | 2009-08-19 | 山东大学 | 用于实时视频监控的客户端实现方法 |
CN101707786A (zh) * | 2009-11-26 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于公共移动通信的视频包多链路接收和播放方法 |
CN101800671A (zh) * | 2010-02-08 | 2010-08-11 | 同济大学 | 一种h.264视频文件的丢包检测方法 |
CN102740064A (zh) * | 2012-06-15 | 2012-10-17 | 福建星网视易信息***有限公司 | 对讲***中流媒体传输的组包方法 |
CN106303693A (zh) * | 2015-05-25 | 2017-01-04 | 北京视联动力国际信息技术有限公司 | 一种视频数据解码的方法及装置 |
-
2018
- 2018-10-16 CN CN201811204718.7A patent/CN109246486B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510999A (zh) * | 2009-02-24 | 2009-08-19 | 山东大学 | 用于实时视频监控的客户端实现方法 |
CN101707786A (zh) * | 2009-11-26 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于公共移动通信的视频包多链路接收和播放方法 |
CN101800671A (zh) * | 2010-02-08 | 2010-08-11 | 同济大学 | 一种h.264视频文件的丢包检测方法 |
CN102740064A (zh) * | 2012-06-15 | 2012-10-17 | 福建星网视易信息***有限公司 | 对讲***中流媒体传输的组包方法 |
CN106303693A (zh) * | 2015-05-25 | 2017-01-04 | 北京视联动力国际信息技术有限公司 | 一种视频数据解码的方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109996127A (zh) * | 2019-03-20 | 2019-07-09 | 视联动力信息技术股份有限公司 | 基于视联网的数据传输方法和装置 |
CN111343501A (zh) * | 2020-03-06 | 2020-06-26 | 随锐科技集团股份有限公司 | 丢包检测方法及***、计算机可读存储介质 |
WO2021238940A1 (zh) * | 2020-05-26 | 2021-12-02 | 维沃移动通信有限公司 | 视频数据处理方法、装置和电子设备 |
US20230066899A1 (en) * | 2020-05-26 | 2023-03-02 | Vivo Mobile Communication Co., Ltd. | Video data processing method and apparatus, and electronic device |
EP4161013A4 (en) * | 2020-05-26 | 2023-09-06 | Vivo Mobile Communication Co., Ltd. | VIDEO DATA PROCESSING METHOD AND DEVICE AND ELECTRONIC DEVICE |
CN112399253A (zh) * | 2020-11-30 | 2021-02-23 | 武汉噢易云计算股份有限公司 | 降低usb bulk图像设备重定向流量的方法及*** |
CN113099272A (zh) * | 2021-04-12 | 2021-07-09 | 上海商汤智能科技有限公司 | 视频处理方法及装置、电子设备和存储介质 |
CN115473875A (zh) * | 2022-08-12 | 2022-12-13 | 海能达通信股份有限公司 | 视频帧的处理方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109246486B (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108173804B (zh) | 一种通过视联网访问互联网的方法及视联猫客户端 | |
CN109120962A (zh) | 软件终端连接视联网的方法和装置 | |
CN109246486A (zh) | 一种组帧方法和装置 | |
CN108632559B (zh) | 一种视频数据处理方法及装置 | |
CN107888401B (zh) | 一种实时监控视联网终端cpu利用率的方法和*** | |
CN110048954A (zh) | 一种数据传输方法及装置 | |
CN109996127A (zh) | 基于视联网的数据传输方法和装置 | |
CN108243343B (zh) | 一种基于视联网的点位分布统计方法及其服务器 | |
CN109889779A (zh) | 一种报文乱序的处理方法和装置 | |
CN110049346A (zh) | 一种视频直播的方法和*** | |
CN110166727A (zh) | 一种视联网与互联网切换方法、装置及*** | |
CN110062295A (zh) | 一种文件资源获取方法及*** | |
CN108881819A (zh) | 一种音频数据的传输方法和装置 | |
CN108881818A (zh) | 一种视频数据的传输方法和装置 | |
CN110266638A (zh) | 信息处理方法、装置及存储介质 | |
CN110138513A (zh) | 一种数据传输方法和视联网*** | |
CN109729184A (zh) | 一种视联网业务处理的方法和装置 | |
CN109547727A (zh) | 数据缓存方法和装置 | |
CN110022500A (zh) | 一种丢包处理方法和装置 | |
CN109862439A (zh) | 数据处理方法和装置 | |
CN109842630A (zh) | 视频处理方法和装置 | |
CN109167965A (zh) | 一种数据处理的方法和装置 | |
CN109586851A (zh) | 基于视联网的数据传输方法和装置 | |
CN109889380A (zh) | 一种数据包的发送速率处理方法和*** | |
CN110049069A (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 |