CN112235606A - 一种多层视频处理方法、系统和可读存储介质 - Google Patents
一种多层视频处理方法、系统和可读存储介质 Download PDFInfo
- Publication number
- CN112235606A CN112235606A CN202011436263.9A CN202011436263A CN112235606A CN 112235606 A CN112235606 A CN 112235606A CN 202011436263 A CN202011436263 A CN 202011436263A CN 112235606 A CN112235606 A CN 112235606A
- Authority
- CN
- China
- Prior art keywords
- video
- layer
- resolution
- data
- code stream
- 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.)
- Pending
Links
Images
Classifications
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440227—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 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
Abstract
本发明公开的一种多层视频处理方法、系统和可读存储介质,在视频会议中根据不同入会终端和带宽匹配适合分辨率大小的视频,以提供用户更好的视频体验;能快速兼容不同设备的编码标准,提供标准码流,减少兼容性导致的设备性能消耗。视频各个分辨率层独立编码,因此码流数据各层之间没有依赖性,可独立抽层解码,各个分辨率层均遵循H264编码标准,所以码流数据与现有广泛使用的编码标准兼容,在各个编码终端上使用时不需要进行转码。本发明利用较少的字节信息包含了包中视频数据的关键信息,故在传输的过程中,可以根据需求随时快速的获取单层分辨率的码流数据,提供给相应终端,既节省了带宽同时减少了设备的资源消耗。
Description
技术领域
本发明涉及视频数据处理领域,更具体的,涉及一种多层视频处理方法、系统和可读存储介质。
背景技术
随着现行网络的带宽范围的扩大,以及在视频会议中不同终端用户对视频的需求不同,传统的固定空间分辨率的视频传输和存储系统出现了种种问题,例如:高分辨率的视频在低端设备上处理不过来,第分辨率的视频在高端设备上的显示效果很差;网络状况不好的情况下高分辨的视频传输出现视频卡顿等。
随着计算机网络、通讯、信息家电、消费电子等相关领域内技术日新月异的发展以及市场迅猛扩大,多媒体信息技术应用日趋广泛,如视频电话会议、网上可视电子商务、网上购物、远程教育、远程医疗、可视咨询、IPTV(网络电视)、手机电视、数字电视(DTV)和家庭影院等业务。但是,以上所有的应用都必须压缩。由于传输的数据量之大,单纯用扩大存储器容量、增加通信线路传输速率的办法是不现实的,数据压缩技术是个行之有效的解决办法。通过数据压缩,可以降低信息数据量,以压缩形式存储、传输,既节约了存储空间,又提高了信道的传输效率,同时也可使计算机得以实时处理音频、视频信息,以保证播放出高质量的音视频节目。这就促使了许多视频编码标准的产生,ITU-T与ISO/IEC是制定视频编码标准的两大组织,ITU-T的标准包括H.261、H.263、H.264,主要应用于实时视频通信领域,如会议电视;MPEG系列标准是由ISO/IEC制定的,主要应用于视频存储(DVD)、广播电视、因特网或无线网上的流媒体等。
最近几年,在提倡打造便捷高效,环保节约的新时代政务,商务应用的大背景下,视频会议系统在办公领域的应用日益广泛,随着高清摄制和显示设备成本的大幅下 降,及互联网的日益发达,视频会议将会逐步取代现场会议,成为日常办公会议解决方案的主流.在高速网络环境的支持下,视频会议以高清晰度的画质,便利的操作终端走进了人们的视野.同时,高 带宽的无线网络也在发展壮大,使得视频会议系统逐渐摆脱有线网络的束缚,无须进行任何妥协地步入无线通讯的领域。
现有技术存在如下缺点:多层分辨率的编码需要依赖最小分辨率层的码流数据,若最小分辨率层数据丢失,则无法解码出其上各个分辨率层;传输中的头信息复杂,无法简单提取出各层的数据包,需要专门的抽层软件来完成抽层工作,得到单层编码数据;得到的单层数据与现有广泛使用的编解码标准不兼容,需要转码软件进行转码。
发明内容
为了解决上述至少一个技术问题,本发明提出了一种多层视频处理方法、系统和可读存储介质。
本发明第一方面公开了一种多层视频处理方法,包括:
接收视频数据信息;
确定视频分层数量;
根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流;
将所述多个视频码流进行打包,得到多层视频数据包,并进行存储。
本方案中,还包括:
获取需求信息;
根据所述需求信息确定多层视频数据包中的单层码流所在位置;
根据单层码流所在位置提取单层码流数据,发送至终端设备。
本方案中,所述多层视频数据包包括:
当前包所属帧的PTS号、头信息的长度值、整个包的长度值、数据包中包含的视频帧所在的分辨率层号、数据包中视频帧的帧类型、当前码流中所包含的总分辨率层数、编码数据中的B帧间隔、视频帧分辨率的编码分辨率索引;分辨率指示位、数据包的帧位置指示位、当前视频帧总的包的个数、视频码流中图像组的长度中的一种或多种信息。
本方案中,所述根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流,具体为:
将接收的视频数据信息作为最大分辨率层数据,进行编码,得到最大分辨率码流;
将最大分辨率层数据进行采样,得到第二分辨率层数据,进行编码,得到第二分辨率码流;
依次将上一级的分辨率层数据进行采样,得到当前级分辨率层数据,进行编码,得到当前级分辨率码流,直至达到所述分层数量的码流为止。
本方案中,所述视频数据信息为YUV视频数据。
本方案中,还包括:
将接收的视频数据信息发送至云服务器;
所述云服务器获取多个处理服务器的资源占用率;
根据所述资源占用率将视频数据信息进行拆分,发送至多个处理服务器中;
所述处理服务器根据预设分辨率处理规则将视频数据信息进行分辨率处理,得到多个分辨率层视频数据;
将处理完的分辨率层视频数据发送至云服务器中进行合并,得到多层视频数据包。
本发明第二方面还提供了一种多层视频处理系统,包括存储器和处理器,所述存储器中包括多层视频处理方法程序,所述多层视频处理方法程序被所述处理器执行时实现如下步骤:
接收视频数据信息;
确定视频分层数量;
根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流;
将所述多个视频码流进行打包,得到多层视频数据包,并进行存储。
本方案中,还包括:
获取需求信息;
根据所述需求信息确定多层视频数据包中的单层码流所在位置;
根据单层码流所在位置提取单层码流数据,发送至终端设备。
本方案中,所述多层视频数据包包括:
当前包所属帧的PTS号、头信息的长度值、整个包的长度值、数据包中包含的视频帧所在的分辨率层号、数据包中视频帧的帧类型、当前码流中所包含的总分辨率层数、编码数据中的B帧间隔、视频帧分辨率的编码分辨率索引;分辨率指示位、数据包的帧位置指示位、当前视频帧总的包的个数、视频码流中图像组的长度中的一种或多种信息。
本方案中,所述根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流,具体为:
将接收的视频数据信息作为最大分辨率层数据,进行编码,得到最大分辨率码流;
将最大分辨率层数据进行采样,得到第二分辨率层数据,进行编码,得到第二分辨率码流;
依次将上一级的分辨率层数据进行采样,得到当前级分辨率层数据,进行编码,得到当前级分辨率码流,直至达到所述分层数量的码流为止。
本方案中,所述视频数据信息为YUV视频数据。
本方案中,还包括:
将接收的视频数据信息发送至云服务器;
所述云服务器获取多个处理服务器的资源占用率;
根据所述资源占用率将视频数据信息进行拆分,发送至多个处理服务器中;
所述处理服务器根据预设分辨率处理规则将视频数据信息进行分辨率处理,得到多个分辨率层视频数据;
将处理完的分辨率层视频数据发送至云服务器中进行合并,得到多层视频数据包。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种多层视频处理方法程序,所述一种多层视频处理方法程序被处理器执行时,实现如上述任一项所述的一种多层视频处理方法的步骤。
本发明公开的一种多层视频处理方法、系统和可读存储介质,在视频会议中根据不同入会终端和带宽匹配适合分辨率大小的视频,以提供用户更好的视频体验;能快速兼容不同设备的编码标准,提供标准码流,减少兼容性导致的设备性能消耗。视频各个分辨率层独立编码,因此码流数据各层之间没有依赖性,可独立抽层解码,各个分辨率层均遵循H264编码标准,所以码流数据与现有广泛使用的编码标准兼容,在各个编码终端上使用时不需要进行转码。本发明利用较少的字节信息包含了包中视频数据的关键信息,故在传输的过程中,可以根据需求随时快速的获取单层分辨率的码流数据,提供给相应终端,既节省了带宽同时减少了设备的资源消耗。
附图说明
图1示出了本发明一种多层视频处理方法的流程图;
图2示出了本发明视频分层处理的流程图;
图3示出了本发明多层视频数据包的包头组成图;
图4示出了本发明一种多层视频处理系统的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
分辨率:图像分辨率是指每英寸图像内的像素点数,这里可广义理解为空间分辨率,即图像在水平和垂直方向具有的像素点数。
视频编码:视频编码方式就是指通过压缩技术,将原始视频格式的文件转 换成另一种视频格式文件的方式。
H264:由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。
YUV数据:YUV是被欧洲电视系统采用的一种颜色编码方法,其亮度信号Y和色度信号UV是分离的,Y表示亮度,UV分别表示色度中的色调和饱和度。
图1示出了本发明一种多层视频处理方法的流程图。
如图1所示,本发明公开了一种多层视频处理方法,包括:
S102,接收视频数据信息;
S104,确定视频分层数量;
S106,根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流;
S108,将所述多个视频码流进行打包,得到多层视频数据包,并进行存储。
需要说明的是,本发明中对视频数据信息进行分层采样或处理的主体可以为服务器或者本地终端,若为本地终端,则需要将得到的多层视频数据包发送至服务器中存储。首先,要接收视频数据信息,所述视频数据信息可以为为YUV视频数据,也可以为其他的视频格式数据,例如,MP4。然后通过预设的规则或者设置确定视频的分层数量,所述的视频分层数量一般是根据终端设备的分辨率确定,可以为3层也可以为5层,每个层的分辨率不同。然后根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流,并将所述多个视频码流进行打包,得到多层视频数据包。例如,分层为3层,则将产生3个视频码流,便将3个视频码流进行打包,得到3层视频数据包,然后进行存储。值得一提的是,对多层视频数据包的存储一般是在服务器端进行存储。本发明解决了终端用户对视频的需求不同的问题,因为在传统的固定空间分辨率的视频传输和存储系统出现了多种问题,例如:高分辨率的视频在低端设备上处理不过来,低分辨率的视频在高端设备上的显示效果很差;网络状况不好的情况下高分辨的视频传输出现视频卡顿等。
根据本发明实施例,还包括:
获取需求信息;
根据所述需求信息确定多层视频数据包中的单层码流所在位置;
根据单层码流所在位置提取单层码流数据,发送至终端设备。
需要说明的是,所述需求信息可以为经过用户终端确认的需求信息,例如,获取用户终端的适合分辨率,则确定用户终端的分辨率需求;又或者是根据用户自行选择的视频分辨率作为需求信息。由于多层视频数据包中存在多个分辨率的层视频数据,所以在获取了需求信息之后,就可以确定多层视频数据包中的单层码流所在位置。然后根据单层码流所在位置提取单层码流数据,发送至终端设备,用户终端设备接收到单层码流数据之后便可以进行视频播放。
根据本发明实施例,所述根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流,具体为:
将接收的视频数据信息作为最大分辨率层数据,进行编码,得到最大分辨率码流;
将最大分辨率层数据进行采样,得到第二分辨率层数据,进行编码,得到第二分辨率码流;
依次将上一级的分辨率层数据进行采样,得到当前级分辨率层数据,进行编码,得到当前级分辨率码流,直至达到所述分层数量的码流为止。
需要说明的是,本发明中,获取的视频数据信息由于没有进行采样或者压缩,所以作为最大分辨率层数据,然后进行编码,得到最大分辨率码流。然后将对打分辨率层数据进行采样,具体是可以采用下采样的方式,然后得到第二分辨率层数据,进行编码,得到第二分辨率码流。根据确定的视频分层数量,将视频数据依次进行采样,得到对应的分辨率码流,然后进行打包。
为了更好的进行本发明实施例的说明,以图2为例进行说明。
图2示出了本发明视频分层处理的流程图。
如图2所示,本发明使用金字塔形的空域分辨率概念来实现视频编码的空间尺寸的可伸缩性。将原始图像下采样后,分别进行编码,而后打包产生视频编码码流。首先,将摄像头采集到的视频数据(一般为YUV420格式),进行标准H264编码,得到最大分辨率层的压缩数据,即第三层码流,接着,对视频最大分辨率层的YUV数据进行下1/2采样,得到中间分辨率层的视频YUV数据,并对该数据进行H264编码,形成第二层的码流数据,其次,对中间分辨率层的视频数据继续进行1/2下采样,得到最小分辨率层的视频YUV数据并进行H264编码,形成基本层的码流数据,最后,对得到的三层码流数据进行打包,形成最终的输出码流数据。
根据本发明实施例,所述多层视频数据包包括:
当前包所属帧的PTS号、头信息的长度值、整个包的长度值、数据包中包含的视频帧所在的分辨率层号、数据包中视频帧的帧类型、当前码流中所包含的总分辨率层数、编码数据中的B帧间隔、视频帧分辨率的编码分辨率索引;分辨率指示位、数据包的帧位置指示位、当前视频帧总的包的个数、视频码流中图像组的长度中的一种或多种信息。
图3示出了本发明多层视频数据包的包头组成图。
如图3所示,在包头中可以由以下具体标志位组成,每个标志位有不同的字节长度。
Profile0:为当前包所属帧的PTS号;
Head Length:为这个头信息的长度
Packet Length:为整个包的长度,包括头信息 + 码流数据长度
Layer Number:包中包含的视频帧所在的分辨率层号
Frame Type:该包中视频帧的帧类型;
Layer Cout:当前码流中所包含的总分辨率层数;
Bframe Number:编码数据中的B帧间隔;
EncIDX:视频帧分辨率的编码分辨率索引;
AllocIDX:用来指示该码流中的视频数据的分辨率比为适合宽屏的16:9还是适合手机屏幕的9:16
First Maker: 用来表示该包是不是当前帧的第一个包,若为第一个包则为1,否则为0;
Reserve:保留字节;
Packet Cout:当前视频帧总的包的个数;
GOP:视频码流中图像组的长度。
根据该包头的定义,将编码好的各层数据码流依次按照每个包1260字节长度分割为一个一个视频包用以网络传输。从包头信息可以看出,当需要哪一层的码流数据,只需根据包头中定义的视频包所属的层数就能轻易将所需的单层分辨率的码流分离出来,得到标准的H264码流,不存在解码重新编码或者转码的工作;根据用户使用设备的不同,从编码好的多层视频码流中提取出适合的单层码流进行发送。
根据本发明实施例,还包括:
将接收的视频数据信息发送至云服务器;
所述云服务器获取多个处理服务器的资源占用率;
根据所述资源占用率将视频数据信息进行拆分,发送至多个处理服务器中;
所述处理服务器根据预设分辨率处理规则将视频数据信息进行分辨率处理,得到多个分辨率层视频数据;
将处理完的分辨率层视频数据发送至云服务器中进行合并,得到多层视频数据包。
需要说明的是,为了减缓服务器进行视频处理的压力,提高处理的速度,可以将视频数据信息采用分布式的方式发送至不同的处理服务器进行处理。首先,将接收的视频数据信息发送至云服务器,云服务器为区别于上述服务器的服务器,云服务器可以单独进行视频的处理,也可以将视频数据分发至不同的处理服务器进行处理。然后云服务器获取多个处理服务器的资源占用率,选择资源占用较少的处理服务器进行视频信息的处理,然后根据所述资源占用率将视频数据信息进行拆分,发送至多个处理服务器中。所述处理服务器根据预设分辨率处理规则将视频数据信息进行分辨率处理,得到多个分辨率层视频数据,在处理完之后,还需要将处理的数据发送回云服务器中,云服务器根据之前的拆分规则进行合并,便得到多层视频数据包。采用本发明的方法,可以通过云计算方式将视频数据信息进行分布式的处理,可以提高处理速度。
图4示出了本发明一种多层视频处理系统的框图。
如图4所示,本发明公开了一种多层视频处理系统4,包括存储器41和处理器42,所述存储器中包括多层视频处理方法程序,所述多层视频处理方法程序被所述处理器执行时实现如下步骤:
接收视频数据信息;
确定视频分层数量;
根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流;
将所述多个视频码流进行打包,得到多层视频数据包,并进行存储。
需要说明的是,本发明中对视频数据信息进行分层采样或处理的主体可以为服务器或者本地终端,若为本地终端,则需要将得到的多层视频数据包发送至服务器中存储。首先,要接收视频数据信息,所述视频数据信息可以为为YUV视频数据,也可以为其他的视频格式数据,例如,MP4。然后通过预设的规则或者设置确定视频的分层数量,所述的视频分层数量一般是根据终端设备的分辨率确定,可以为3层也可以为5层,每个层的分辨率不同。然后根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流,并将所述多个视频码流进行打包,得到多层视频数据包。例如,分层为3层,则将产生3个视频码流,便将3个视频码流进行打包,得到3层视频数据包,然后进行存储。值得一提的是,对多层视频数据包的存储一般是在服务器端进行存储。本发明解决了终端用户对视频的需求不同的问题,因为在传统的固定空间分辨率的视频传输和存储系统出现了多种问题,例如:高分辨率的视频在低端设备上处理不过来,低分辨率的视频在高端设备上的显示效果很差;网络状况不好的情况下高分辨的视频传输出现视频卡顿等。
根据本发明实施例,还包括:
获取需求信息;
根据所述需求信息确定多层视频数据包中的单层码流所在位置;
根据单层码流所在位置提取单层码流数据,发送至终端设备。
需要说明的是,所述需求信息可以为经过用户终端确认的需求信息,例如,获取用户终端的适合分辨率,则确定用户终端的分辨率需求;又或者是根据用户自行选择的视频分辨率作为需求信息。由于多层视频数据包中存在多个分辨率的层视频数据,所以在获取了需求信息之后,就可以确定多层视频数据包中的单层码流所在位置。然后根据单层码流所在位置提取单层码流数据,发送至终端设备,用户终端设备接收到单层码流数据之后便可以进行视频播放。
根据本发明实施例,所述根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流,具体为:
将接收的视频数据信息作为最大分辨率层数据,进行编码,得到最大分辨率码流;
将最大分辨率层数据进行采样,得到第二分辨率层数据,进行编码,得到第二分辨率码流;
依次将上一级的分辨率层数据进行采样,得到当前级分辨率层数据,进行编码,得到当前级分辨率码流,直至达到所述分层数量的码流为止。
需要说明的是,本发明中,获取的视频数据信息由于没有进行采样或者压缩,所以作为最大分辨率层数据,然后进行编码,得到最大分辨率码流。然后将对打分辨率层数据进行采样,具体是可以采用下采样的方式,然后得到第二分辨率层数据,进行编码,得到第二分辨率码流。根据确定的视频分层数量,将视频数据依次进行采样,得到对应的分辨率码流,然后进行打包。
为了更好的进行本发明实施例的说明,以图2为例进行说明。
图2示出了本发明视频分层处理的流程图。
如图2所示,本发明使用金字塔形的空域分辨率概念来实现视频编码的空间尺寸的可伸缩性。将原始图像下采样后,分别进行编码,而后打包产生视频编码码流。首先,将摄像头采集到的视频数据(一般为YUV420格式),进行标准H264编码,得到最大分辨率层的压缩数据,即第三层码流,接着,对视频最大分辨率层的YUV数据进行下1/2采样,得到中间分辨率层的视频YUV数据,并对该数据进行H264编码,形成第二层的码流数据,其次,对中间分辨率层的视频数据继续进行1/2下采样,得到最小分辨率层的视频YUV数据并进行H264编码,形成基本层的码流数据,最后,对得到的三层码流数据进行打包,形成最终的输出码流数据。
根据本发明实施例,所述多层视频数据包包括:
当前包所属帧的PTS号、头信息的长度值、整个包的长度值、数据包中包含的视频帧所在的分辨率层号、数据包中视频帧的帧类型、当前码流中所包含的总分辨率层数、编码数据中的B帧间隔、视频帧分辨率的编码分辨率索引;分辨率指示位、数据包的帧位置指示位、当前视频帧总的包的个数、视频码流中图像组的长度中的一种或多种信息。
图3示出了本发明多层视频数据包的包头组成图。
如图3所示,在包头中可以由以下具体标志位组成,每个标志位有不同的字节长度。
Profile0:为当前包所属帧的PTS号;
Head Length:为这个头信息的长度
Packet Length:为整个包的长度,包括头信息 + 码流数据长度
Layer Number:包中包含的视频帧所在的分辨率层号
Frame Type:该包中视频帧的帧类型;
Layer Cout:当前码流中所包含的总分辨率层数;
Bframe Number:编码数据中的B帧间隔;
EncIDX:视频帧分辨率的编码分辨率索引;
AllocIDX:用来指示该码流中的视频数据的分辨率比为适合宽屏的16:9还是适合手机屏幕的9:16
First Maker: 用来表示该包是不是当前帧的第一个包,若为第一个包则为1,否则为0;
Reserve:保留字节;
Packet Cout:当前视频帧总的包的个数;
GOP:视频码流中图像组的长度。
根据该包头的定义,将编码好的各层数据码流依次按照每个包1260字节长度分割为一个一个视频包用以网络传输。从包头信息可以看出,当需要哪一层的码流数据,只需根据包头中定义的视频包所属的层数就能轻易将所需的单层分辨率的码流分离出来,得到标准的H264码流,不存在解码重新编码或者转码的工作;根据用户使用设备的不同,从编码好的多层视频码流中提取出适合的单层码流进行发送。
根据本发明实施例,还包括:
将接收的视频数据信息发送至云服务器;
所述云服务器获取多个处理服务器的资源占用率;
根据所述资源占用率将视频数据信息进行拆分,发送至多个处理服务器中;
所述处理服务器根据预设分辨率处理规则将视频数据信息进行分辨率处理,得到多个分辨率层视频数据;
将处理完的分辨率层视频数据发送至云服务器中进行合并,得到多层视频数据包。
需要说明的是,为了减缓服务器进行视频处理的压力,提高处理的速度,可以将视频数据信息采用分布式的方式发送至不同的处理服务器进行处理。首先,将接收的视频数据信息发送至云服务器,云服务器为区别于上述服务器的服务器,云服务器可以单独进行视频的处理,也可以将视频数据分发至不同的处理服务器进行处理。然后云服务器获取多个处理服务器的资源占用率,选择资源占用较少的处理服务器进行视频信息的处理,然后根据所述资源占用率将视频数据信息进行拆分,发送至多个处理服务器中。所述处理服务器根据预设分辨率处理规则将视频数据信息进行分辨率处理,得到多个分辨率层视频数据,在处理完之后,还需要将处理的数据发送回云服务器中,云服务器根据之前的拆分规则进行合并,便得到多层视频数据包。采用本发明的方法,可以通过云计算方式将视频数据信息进行分布式的处理,可以提高处理速度。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种多层视频处理方法程序,所述一种多层视频处理方法程序被处理器执行时,实现如上述任一项所述的一种多层视频处理方法的步骤。
本发明公开的一种多层视频处理方法、系统和可读存储介质,在视频会议中根据不同入会终端和带宽匹配适合分辨率大小的视频,以提供用户更好的视频体验;能快速兼容不同设备的编码标准,提供标准码流,减少兼容性导致的设备性能消耗。视频各个分辨率层独立编码,因此码流数据各层之间没有依赖性,可独立抽层解码,各个分辨率层均遵循H264编码标准,所以码流数据与现有广泛使用的编码标准兼容,在各个编码终端上使用时不需要进行转码。本发明利用较少的字节信息包含了包中视频数据的关键信息,故在传输的过程中,可以根据需求随时快速的获取单层分辨率的码流数据,提供给相应终端,既节省了带宽同时减少了设备的资源消耗。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种多层视频处理方法,其特征在于,包括:
接收视频数据信息;
确定视频分层数量;
根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流;
将所述多个视频码流进行打包,得到多层视频数据包,并进行存储。
2.根据权利要求1所述的一种多层视频处理方法,其特征在于,还包括:
获取需求信息;
根据所述需求信息确定多层视频数据包中的单层码流所在位置;
根据单层码流所在位置提取单层码流数据,发送至终端设备。
3.根据权利要求1所述的一种多层视频处理方法,其特征在于,所述多层视频数据包包括:
当前包所属帧的PTS号、头信息的长度值、整个包的长度值、数据包中包含的视频帧所在的分辨率层号、数据包中视频帧的帧类型、当前码流中所包含的总分辨率层数、编码数据中的B帧间隔、视频帧分辨率的编码分辨率索引;分辨率指示位、数据包的帧位置指示位、当前视频帧总的包的个数、视频码流中图像组的长度中的一种或多种信息。
4.根据权利要求1所述的一种多层视频处理方法,其特征在于,所述根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流,具体为:
将接收的视频数据信息作为最大分辨率层数据,进行编码,得到最大分辨率码流;
将最大分辨率层数据进行采样,得到第二分辨率层数据,进行编码,得到第二分辨率码流;
依次将上一级的分辨率层数据进行采样,得到当前级分辨率层数据,进行编码,得到当前级分辨率码流,直至达到所述分层数量的码流为止。
5.根据权利要求1所述的一种多层视频处理方法,其特征在于,所述视频数据信息为YUV视频数据。
6.根据权利要求1所述的一种多层视频处理方法,其特征在于,还包括:
将接收的视频数据信息发送至云服务器;
所述云服务器获取多个处理服务器的资源占用率;
根据所述资源占用率将视频数据信息进行拆分,发送至多个处理服务器中;
所述处理服务器根据预设分辨率处理规则将视频数据信息进行分辨率处理,得到多个分辨率层视频数据;
将处理完的分辨率层视频数据发送至云服务器中进行合并,得到多层视频数据包。
7.一种多层视频处理系统,其特征在于,包括存储器和处理器,所述存储器中包括多层视频处理方法程序,所述多层视频处理方法程序被所述处理器执行时实现如下步骤:
接收视频数据信息;
确定视频分层数量;
根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流;
将所述多个视频码流进行打包,得到多层视频数据包,并进行存储。
8.根据权利要求7所述的一种多层视频处理系统,其特征在于,还包括:
获取需求信息;
根据所述需求信息确定多层视频数据包中的单层码流所在位置;
根据单层码流所在位置提取单层码流数据,发送至终端设备。
9.根据权利要求7所述的一种多层视频处理系统,其特征在于,所述根据所述分层数量将所述视频数据信息进行采样,得到多个视频码流,具体为:
将接收的视频数据信息作为最大分辨率层数据,进行编码,得到最大分辨率码流;
将最大分辨率层数据进行采样,得到第二分辨率层数据,进行编码,得到第二分辨率码流;
依次将上一级的分辨率层数据进行采样,得到当前级分辨率层数据,进行编码,得到当前级分辨率码流,直至达到所述分层数量的码流为止。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一种多层视频处理方法程序,所述一种多层视频处理方法程序被处理器执行时,实现如权利要求1至6中任一项所述的一种多层视频处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011436263.9A CN112235606A (zh) | 2020-12-11 | 2020-12-11 | 一种多层视频处理方法、系统和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011436263.9A CN112235606A (zh) | 2020-12-11 | 2020-12-11 | 一种多层视频处理方法、系统和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112235606A true CN112235606A (zh) | 2021-01-15 |
Family
ID=74124100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011436263.9A Pending CN112235606A (zh) | 2020-12-11 | 2020-12-11 | 一种多层视频处理方法、系统和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112235606A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112689148A (zh) * | 2021-03-18 | 2021-04-20 | 全时云商务服务股份有限公司 | 一种云会议中多层视频传输去峰值方法、系统和存储介质 |
CN113038062A (zh) * | 2021-03-12 | 2021-06-25 | 随锐科技集团股份有限公司 | 视频通信方法及系统 |
CN113286149A (zh) * | 2021-07-21 | 2021-08-20 | 全时云商务服务股份有限公司 | 一种云会议自适应多层视频编码方法、系统和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101366281A (zh) * | 2006-01-06 | 2009-02-11 | 微软公司 | 用于多分辨率视频编码和解码的重新采样和调整图像大小操作 |
CN103414686A (zh) * | 2013-07-08 | 2013-11-27 | 中国科学院软件研究所 | 一种支持透明转码的图像数据安全传输系统 |
CN105144722A (zh) * | 2013-03-14 | 2015-12-09 | 麻省理工学院 | 具有多分辨率代码的网络编码存储 |
CN107682672A (zh) * | 2017-09-30 | 2018-02-09 | 深圳市普天宜通技术股份有限公司 | 一种双路视频流实现方法、存储介质及多媒体终端 |
CN107872296A (zh) * | 2016-09-26 | 2018-04-03 | 三星显示有限公司 | 用于传输视频的方法和数据发射机 |
CN110830805A (zh) * | 2019-10-24 | 2020-02-21 | 上海网达软件股份有限公司 | 一种多分辨率输出的分布式文件转码方法及装置 |
-
2020
- 2020-12-11 CN CN202011436263.9A patent/CN112235606A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101366281A (zh) * | 2006-01-06 | 2009-02-11 | 微软公司 | 用于多分辨率视频编码和解码的重新采样和调整图像大小操作 |
CN105144722A (zh) * | 2013-03-14 | 2015-12-09 | 麻省理工学院 | 具有多分辨率代码的网络编码存储 |
CN103414686A (zh) * | 2013-07-08 | 2013-11-27 | 中国科学院软件研究所 | 一种支持透明转码的图像数据安全传输系统 |
CN107872296A (zh) * | 2016-09-26 | 2018-04-03 | 三星显示有限公司 | 用于传输视频的方法和数据发射机 |
CN107682672A (zh) * | 2017-09-30 | 2018-02-09 | 深圳市普天宜通技术股份有限公司 | 一种双路视频流实现方法、存储介质及多媒体终端 |
CN110830805A (zh) * | 2019-10-24 | 2020-02-21 | 上海网达软件股份有限公司 | 一种多分辨率输出的分布式文件转码方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113038062A (zh) * | 2021-03-12 | 2021-06-25 | 随锐科技集团股份有限公司 | 视频通信方法及系统 |
CN113038062B (zh) * | 2021-03-12 | 2022-09-09 | 随锐科技集团股份有限公司 | 视频通信方法及系统 |
CN112689148A (zh) * | 2021-03-18 | 2021-04-20 | 全时云商务服务股份有限公司 | 一种云会议中多层视频传输去峰值方法、系统和存储介质 |
CN112689148B (zh) * | 2021-03-18 | 2021-06-01 | 全时云商务服务股份有限公司 | 一种云会议中多层视频传输去峰值方法、系统和存储介质 |
CN113286149A (zh) * | 2021-07-21 | 2021-08-20 | 全时云商务服务股份有限公司 | 一种云会议自适应多层视频编码方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10887612B2 (en) | Hybrid backward-compatible signal encoding and decoding | |
US11184584B2 (en) | Method for image decoding, method for image encoding, apparatus for image decoding, apparatus for image encoding | |
CA2737728C (en) | Low latency video encoder | |
CN112235606A (zh) | 一种多层视频处理方法、系统和可读存储介质 | |
WO1999004566A1 (en) | Method and system for multiplexing image signal, method and system for demultiplexing image signal, and transmission medium | |
US20180077385A1 (en) | Data, multimedia & video transmission updating system | |
CN104144322A (zh) | 移动终端上实现视频监控的方法、系统与视频处理服务器 | |
US20080212682A1 (en) | Reduced resolution video transcoding with greatly reduced complexity | |
US10334219B2 (en) | Apparatus for switching/routing image signals through bandwidth splitting and reduction and the method thereof | |
CN111901630A (zh) | 一种数据传输方法、装置、终端设备和存储介质 | |
KR100746005B1 (ko) | 다중 목적의 비디오 스트림을 처리하는 장치 및 방법 | |
CN103957391A (zh) | 在可视对讲中多方通话时同时显示各方视频的方法及系统 | |
Whybray et al. | Video coding—techniques, standards and applications | |
CN101188765A (zh) | 用于对rgb图像编码和解码的方法和设备 | |
CN110798705A (zh) | 一种视频图像传输方法、装置及设备 | |
CN111212288B (zh) | 视频数据的编解码方法、装置、计算机设备和存储介质 | |
CN115511756A (zh) | 视频增强处理方法、装置、电子设备和存储介质 | |
Ferrara et al. | The next frontier for MPEG-5 LCEVC: from HDR and immersive video to the metaverse | |
US20140055471A1 (en) | Method for providing scalable remote screen image and apparatus thereof | |
KR100734141B1 (ko) | 복수의 프레임을 참조하는 시간적 및 공간적 스케일러블인코딩 및 디코딩 방법과 그 장치 | |
WO2019193012A1 (en) | Creating different video stream representations | |
Saxena et al. | Analysis of implementation strategies for video communication on some parameters | |
Momoh et al. | A Comparative Analysis of Video Compression Standard and Algorithms: State of the Art | |
Reitmeier et al. | Video Compression and Its Role in the History of Television | |
CA2312333A1 (en) | Multimedia compression, coding and transmission method and apparatus |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210115 |