CN109618188B - 视频数据的编码、转发方法、装置、设备及存储介质 - Google Patents
视频数据的编码、转发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109618188B CN109618188B CN201811555829.2A CN201811555829A CN109618188B CN 109618188 B CN109618188 B CN 109618188B CN 201811555829 A CN201811555829 A CN 201811555829A CN 109618188 B CN109618188 B CN 109618188B
- Authority
- CN
- China
- Prior art keywords
- data
- bandwidth
- video
- streaming media
- media server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000004913 activation Effects 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 22
- 238000003672 processing method Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 13
- 230000000694 effects Effects 0.000 abstract description 10
- 230000003044 adaptive effect Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 239000013307 optical fiber Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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 or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234327—Processing 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 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
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- 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 or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234363—Processing 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
-
- 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/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- 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/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种视频数据的编码、转发方法、装置、设备及存储介质。该视频数据的编码方法包括:编码终端根据关联流媒体服务器发送的视频数据获取请求,获取与关联流媒体服务器之间的网络带宽;编码终端编码生成与所述网络带宽匹配的视频分层数据;编码终端将视频分层数据转发至关联流媒体服务器。通过本发明实施例的技术方案,编码终端不再编码生成一个视频数据,而是根据实际的信道环境选择编码生成适配于不同激活带宽的多个视频数据,优化现了现有的同源视频转发技术,进而可以达到在不同信道环境中转发不同类型的视频数据,并实现同源视频适配不同带宽的信道的效果。
Description
技术领域
本发明实施例涉及视频编码技术,尤其涉及一种视频数据的编码、转发方法、装置、设备及存储介质。
背景技术
当前的IP(Internet Protocol,网际协议)网络视频监控系统或会议系统,均广泛采用基于P2P(peer-to-peer,点对点)的同源视频复用转发技术,并基于该技术进行IP网络环境内各项音视频数据RTP(Real-time Transport Protocol,实时传输协议)包的复用转发传输。该同源视频复用转发技术,由流媒体服务器负责复制克隆编码端编码生成的同一视频RTP数据后,按照目的端地址分别进行投递转发RTP包,使得不同接收端阅览编码端发送的视频数据时,编码端只用编码一次并进行一次RTP包的传输。
目前,同源视频复用转发技术大多应用于P2P单源流媒体系统中。P2P单源流媒体系统建立在应用层模拟组播术的基础之上,由一个发送端(编码终端)向多个接收端(解码终端)发送视频数据。多个流媒体服务器和所有接收端组成转发树,转发树的中间节点接收来自父节点转发的视频数据,同时将视频数据以复用转发的方式传送给其子节点。视频数据在传输过程中根据需要自动复制,避免了单播方式下为每个接收端单独发送信息的缺点,同时减轻了编码端多次编码的性能负载,并且节约了编码端与关联流媒体服务器(直接建立通信关系的流媒体服务器)之间的网络带宽资源。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:传统的同源视频转发技术,使得不同接收端之间调阅的同源视频质量均相同,系统适应性差,应用场景具有局限性。特别的,在光纤、卫星、无线、LTE 4G以及散射等复杂信道组网环境下,上述技术仅能按照最差信道带宽所适配的视频质量为标准构造视频数据,无法满足人们对上述复杂组网环境的视频数据的转发需求。
发明内容
本发明实施例提供一种视频数据的编码、转发方法、装置、设备及存储介质,以优化现有的同源视频转发技术,实现同源视频适配不同带宽信道的效果。
第一方面,本发明实施例提供了一种视频数据的编码方法,该方法包括:
编码终端根据关联流媒体服务器发送的视频数据获取请求,获取与所述关联流媒体服务器之间的网络带宽;
所述编码终端编码生成与所述网络带宽匹配的视频分层数据,所述视频分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
所述编码终端将所述视频分层数据转发至所述关联流媒体服务器;
其中,所述视频分层数据用于所述关联流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
第二方面,本发明实施例还提供了一种视频数据的转发方法,该方法包括:
流媒体服务器接收关联上级设备发送的分层数据;
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
所述流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
第三方面,本发明实施例还提供了一种视频数据的编码装置,应用于编码终端中,该装置包括:
网络带宽获取模块,用于根据关联流媒体服务器发送的视频数据获取请求,获取与所述关联流媒体服务器之间的网络带宽;
视频分层数据生成模块,用于编码生成与所述网络带宽匹配的视频分层数据,所述视频分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
视频分层数据转发模块,用于将所述视频分层数据转发至所述关联流媒体服务器;
其中,所述视频分层数据用于所述关联流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
第四方面,本发明实施例还提供了一种视频数据的转发装置,应用于流媒体服务器中,该装置包括:
分层数据接收模块,用于接收关联上级设备发送的分层数据;
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
转发分层数据转发模块,用于根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
第五方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的视频数据的编码方法,或者,实现如本发明任一实施例所述的视频数据的转发方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的视频数据的编码方法,或者,实现如本发明任一实施例所述的视频数据的转发方法。
本发明实施例的技术方案通过编码终端根据与关联流媒体服务器之间的网络带宽,编码生成匹配的视频分层数据转发至关联流媒体服务器;之后由关联流媒体服务器根据与关联下级设备之间的网络带宽以及关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向关联下级设备进行逐层转发的方式,编码终端不再编码生成一个视频数据,而是根据实际的信道环境选择编码生成适配于不同信道带宽的多个视频数据,优化现了现有的同源视频转发技术,进而可以达到在不同信道环境中转发不同类型的视频数据,并实现同源视频适配不同带宽信道的效果。
附图说明
图1a是本发明实施例一中的一种视频数据的编码方法的流程图;
图1b是本发明实施例一中的一种数据分层方式中包括的各项设置参数的示意图;
图2是本发明实施例二中的一种视频数据的转发方法的流程图;
图3是本发明实施例三中的一种视频数据的转发方法的流程图;
图4是本发明实施例四中的一种视频数据的转发方法的流程图;
图5a是本发明实施例的一种具体应用场景的结构示意图;
图5b是本发明实施例的一种具体应用场景的结构示意图;
图5c是本发明实施例的一种具体应用场景的结构示意图;
图5d是本发明实施例的一种具体应用场景的结构图示意图;
图6是本发明实施例五中的一种视频数据的编码装置的结构图;
图7是本发明实施例六中的一种视频数据的转发装置的结构图;
图8是本发明实施例七中的一种计算机设备的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1a为本发明实施例一提供的一种视频数据的编码方法的流程图,本实施例可适用于编码终端根据与关联流媒体服务器之间的网络带宽,自适应编码生成对应的视频分层数据的情况,该方法可以由视频数据的编码装置来执行,该装置可以通过软件和/或硬件的方式实现,并一般可以集成在内置有视频编码器的编码终端中,本实施例的方法具体包括如下步骤:
S110、编码终端根据关联流媒体服务器发送的视频数据获取请求,获取与所述关联流媒体服务器之间的网络带宽。
其中,所述编码终端(也可称为编码源)主要是指内置有视频编码器的计算机设备。视频编码器按照预设的视频压缩标准(例如,H.264-HP),将视频文件分别编码生成独立的视频数据包以及音频数据包,并将上述视频数据包以及音频数据包发送至与其直接进行通信的流媒体服务器(也即,关联流媒体服务器),并由该关联流媒体服务器实现对该视频数据包以及音频数据包的复制后,通过逐层向下转发的方式将音视频数据包最终传输至解码终端进行解码播放。
如前所述,所述关联流媒体服务器为与编码终端直接相连的,或者仅以转发设备(例如,交换机或者路由器等)为中介,与该编码终端间接连接的流媒体服务器。也即,关联流媒体服务器与编码终端之间,不包括其他的流媒体服务器。
关联流媒体服务器一般为编码终端的管理服务器,同一流媒体服务器可以为一个或者多个编码终端的管理流媒体服务器。一般来说,编码终端可以和关联流媒体服务器直接相连,也可以通过一个或者多个接入交换机,和/或一个或者多个路由器间接相连。
其中,所述视频数据获取请求为在解码终端触发产生并逐层向上转发至所述关联流媒体服务器的。在本实施例中,编码终端与关联流媒体服务器之间的网络带宽根据编码终端与关联流媒体服务器的连接方式的不同,确定方式也有所差异。其中,如果编码终端与关联流媒体服务器之间直接相连,即不需要经过交换机或路由器等通信设备连接,则所述网络带宽即为两者之间的实时传输带宽;如果编码终端与关联流媒体服务器之间通过一个或者多个中间设备(接入交换机或者路由器)相连,则所述网络带宽为任意两个直接相连设备之间的最小实时传输带宽。
例如,编码终端通过接入交换机以及路由器与关联流媒体服务器相连,其中,编码终端与接入交换机之间的实时传输带宽为2M,接入交换机与路由器之间的实时传输带宽也为2M,路由器与关联流媒体服务器之间的实时传输带宽为512Kbps,则可以确定编码终端与该关联流媒体服务器之间的网络带宽为512Kbps。
S120、所述编码终端编码生成与所述网络带宽匹配的视频分层数据,所述视频分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同。
在本实施例中,发明人针对现有的同源视频转发技术,使得不同接收端之间调阅的同源视频质量均相同的技术缺陷,创造性的提出编码终端不再编码生成一个视频数据,而是根据实际的信道环境选择编码生成适配于不同激活带宽的多个视频数据的技术方案,以解决现有技术的缺陷。
在本实施例中,使用视频分层数据代替了现有技术中的视频数据包。相应的,编码终端根据所述网络带宽,可以选择在该视频分层数据中包括一条或者多条数据流,每一条数据流中也可以包括有一个或者多个视频数据,以达到在不同信道环境中转发不同激活带宽的视频数据的效果。
激活带宽具体对应一个带宽范围,其主要用于指导流媒体服务器根据不同的信道带宽条件,选择转发不同带宽范围的视频流或者视频数据到下一级流媒体服务器或者解码终端。
一般来说,不同数据流之间一般具有不同的图像质量参数,而一条数据流中包括的多个视频数据中则具有完全相同的图像质量参数。所述图像质量参数可以包括图像分辨率(宽度分辨率以及高度分辨率)、图像帧率、图像I帧间隔以及图像格式(YUV420或者YUV400)等参数。一般来说,考虑到用户的实际图像质量需求,可以在保证相同的图像质量参数时,进一步降低码率(也即,激活带宽),因此,在一条数据流中设置的多个视频数据,可以保证在图像质量参数相同的基础上,上述多个视频数据可以适配不同的激活带宽。
可选的,在所述视频分层数据的一条数据流中,可以包括:增强层视频数据以及基础层视频数据,所述基础层视频数据的激活带宽为同一数据流中的增强层视频数据的激活带宽与设定百分数的乘积。
在本实施例中,可以根据实际情况对上述设定百分数进行预设,例如,50%、60%或者70%等,本实施例对此并不进行限制。发明人通过实践发现,将该设定百分数设置为60%时,基础层视频数据可以在进一步降低激活带宽的前提下,同时具有较优的图像显示效果。
在一个具体例子中,可以预先规定在视频分层数据中可以最多包括三条数据流,例如,主数据流、辅数据流以及灰度数据流;其中,每一条数据流中都包括两个视频数据,例如,增强层视频数据以及基础层视频数据等。相应的,在编码端生成的一个视频分层数据中,最多可以包括有6个视频数据,不同视频数据对应不同的激活带宽。
在本实施例的一个可选的实施方式中,所述编码终端编码生成与所述网络带宽匹配的视频分层数据可以为:所述编码终端根据所述网络带宽所属的带宽档位值,以及预设的带宽档位值与数据分层方式之间的映射关系,生成所述视频分层数据。
典型的,可以预先规定带宽档位值与不同数据分层方式之间的对应关系。在数据分层方式中定义需要对一段视频内容编码生成几条数据流,此外,还可以在该数据分层方式中进一步规定与不同数据流对应的图像质量参数。
在上述各实施例的基础上,所述编码终端根据所述网络带宽所属的带宽档位值,以及预设的带宽档位值与数据分层方式之间的映射关系,生成所述视频分层数据,可以包括:
所述编码终端如果确定所述带宽档位值与第一类数据分层方式满足映射关系,则生成主数据流、辅数据流以及灰度数据流共三条数据流;所述编码终端如果确定所述带宽档位值与第二类数据分层方式满足映射关系,则生成主数据流以及辅数据流共两条数据流;所述编码终端如果确定所述带宽档位值与第三类数据分层方式满足映射关系,则仅生成一条主数据流;
其中,在一个视频分层数据中,主数据流的激活带宽大于辅数据流的激活带宽,辅数据流的激活带宽大于灰度数据流的激活带宽。换句话说,主数据流中包括的各个视频数据的激活带宽均大于辅数据流中包括的各个视频数据的激活带宽;辅数据流中包括的各个视频数据的激活带宽均大于灰度数据流中包括的各个视频数据的激活带宽。
S130、所述编码终端将所述视频分层数据转发至所述关联流媒体服务器。
其中,所述视频分层数据用于所述关联流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
进一步的,在所述编码终端将所述视频分层数据转发至所述关联流媒体服务器之后,还可以包括:所述编码终端接收所述关联流媒体服务器反馈的实际需求带宽,并编码生成与所述实际需求带宽匹配的视频分层数据转发至所述关联流媒体服务器。
可以理解的是,编码终端在生成视频分层数据时,主要考虑的是与关联流媒体服务器之间的网络带宽。基于上述网络带宽编码生成的视频分层数据可能不能完全满足全部解码终端的带宽需求。例如,当上述网络带宽很大时,编码终端最终编码生成的视频分层数据中包括的全部视频数据的激活带宽均很大,此时,最小激活带宽的视频数据也不能被一个带宽受限的解码终端所接收,该解码终端除了可以仅接收与该视频数据对应的音频数据之外,还可以将自身的实际需求带宽通过逐层向上转发的方式最终通过关联流媒体服务器反馈至编码终端,以使编码终端根据该实际需求带宽,再次编码生成与该带宽受限的解码终端的网络环境相匹配的视频数据发送至该解码终端,以提高本发明实施例方案的通用性。
本发明实施例的技术方案通过编码终端根据与关联流媒体服务器发之间的网络带宽,编码生成匹配的视频分层数据转发至关联流媒体服务器的方式,编码终端不再编码生成一个视频数据,而是根据实际的信道环境选择编码生成适配于不同信道带宽的多个视频数据,优化现了现有的同源视频转发技术,进而可以达到在不同信道环境中转发不同类型的视频数据,并实现同源视频适配不同带宽信道的效果。
进一步的,发明人通过实践发现,当编码终端与流媒体服务器之间的网络带宽大于等于512Kbps时,编码终端优选编码生成三条数据流且每条数据流中包括两个视频数据;当编码终端与流媒体服务器之间的网络带宽小于等于165Kbps时,编码终端优选编码生成一条数据流且每条数据流中包括两个视频数据;当编码终端与流媒体服务器之间的网络带宽位于512Kbps与165Kbps之间时,编码终端优选编码生成两条数据流且每条数据流中包括两个视频数据。
此外,当编码终端与流媒体服务器之间的网络带宽大于等于380Kbps时,编码端优选编码生成图像分辨率为1080P的视频数据;当编码终端与流媒体服务器之间的网络带宽小于等于200Kbps时,编码端优选编码生成图像分辨率为D1的视频数据;当编码终端与流媒体服务器之间的网络带宽位于380Kbps与200Kbps之间时,编码终端优选编码生成图像分辨率为720P的视频数据。
基于上述经验性指标,可以相应制定带宽档位值与数据分层方式之间的映射关系。其中,带宽档位值一般可以设置为4Mbps、2.5Mbps、1.5Mbps、1.2Mbps、920Kbps、700Kbps、512Kbps、384Kbps、256Kbps、128Kbps、96Kbps、72Kbps以及64kbps等档位。其中,一个带宽档位值对应一个带宽范围,例如:4Mbps的带宽档位值对应的带宽范围为[4Mbps,+∞),2.5Mbps的带宽档位值对应的带宽范围为[2.5Mbps,4Mbps)等。
每个带宽档位值可以相应配置对应的数据分层方式,其中,在一个数据分层方式中可以具体配置有主数据流、辅数据流和灰度数据流的激活带宽(码率)、图像分辨率、图像格式以及图像帧率等信息。典型的,主数据流的激活带宽可以直接与对应的带宽档位值相匹配,以直接建立带宽档位值与数据分层方式之间的映射关系。
其中,在图1b中示出了一种数据分层方式中包括的各项设置参数的示意图。其中,图1b中的各项设置参数的定义如下:Rate:表示主数据流增强层码率(激活带宽);w:主数据流图像分辨率宽度像素;h:主数据流图像分辨率高度像素;frame:主数据流图像帧率;iinterval:主数据流图像I帧间隔;raw:主数据流图像格式,其中yuv420,表示彩色图像,yuv400表示黑白图像;slave_rate:辅数据流码率;slave_w:辅数据流图像分辨率宽度像素;slave_h:辅数据流图像分辨率高度像素;slave_fr:辅数据流图像帧率;slave_iinterval:辅数据流图像I帧间隔;slave_gray_bitrate:灰度数据流码率;gray_w:灰度数据流图像分辨率宽度像素;gray_h:灰度数据流图像分辨率高度像素;通过以上的参数配置,可以约定每个带宽档位值对应的三条数据流应该显示的图像质量、对应的信道带宽和图像相关参数等。
需要说明的是,在上述数据分层方式定义表中并未定义基础层视频数据的激活带宽以及图像质量参数,原因是基础层视频数据的激活带宽为增强层视频数据的激活带宽与设定百分数的乘积,且图像质量参数相同,因此无需重复定义。
典型的,需要在编码终端和流媒体服务器转发处理模块中均配置多种带宽档位值与数据分层方式之间的映射关系,并且编码终端和流媒体服务器中配置的映射关系的内容需要相一致,这样就可以确保当服务器发现到某个子节点的带宽处于某个档位范围内时则取相应的分层数据进行转发。
实施例二
图2为本发明实施例二提供的一种视频数据的转发方法的流程图,本实施例可适用于流媒体服务器根据与关联下级设备之间的网络带宽以及关联下级设备的设备类型,对分层数据进行自适应转发的情况,该方法可以由视频数据的转发装置来执行,该装置可以通过软件和/或硬件的方式实现,并一般可以集成在流媒体服务器中,本实施例的方法具体包括如下步骤:
S210、流媒体服务器接收关联上级设备发送的分层数据。
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同。
其中,如果所述流媒体服务器的关联上级设备直接为一个编码终端,则该流媒体服务器即为所述编码终端的关联流媒体服务器,则该流媒体服务器接收到的分层数据即为该编码终端编码生成的视频分层数据。
可选的,在所述分层数据的一条数据流中,可以包括:增强层视频数据以及基础层视频数据,所述基础层视频数据的激活带宽为同一数据流中的增强层视频数据的激活带宽与设定百分数的乘积。
S220、所述流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
其中,一个流媒体服务器在整个视频转发系统中所处的位置不同,其所对应的关联下级设备也不同,典型的,一个流媒体服务器的关联下级设备可以为与该流媒体服务器直接进行通信的下一级流媒体服务器,或者,也可以为与该流媒体服务器直接进行通信的解码终端。
其中,如果流媒体服务器与关联下级设备之间直接相连,则所述网络带宽即为两者之间的实时传输带宽;如果流媒体服务器与关联下级设备之间通过一个或者多个中间设备(接入交换机或者路由器)相连,则所述网络带宽为任意两个直接相连设备之间的最小实时传输带宽。
在本实施例中,流媒体服务器根据关联下级设备的设备类型,会采取不同的转发处理方式对该分层数据进行转发。具体的,如果关联下级设备的设备类型为下一级流媒体服务器,则流媒体服务器会根据与下一级流媒体服务器之间的网络带宽,在该分层数据中获取可以通过该网络带宽进行传输的全部数据流转发至下一级流媒体服务器,使得该下一级流媒体服务器在进行后续转发时,可以转发具有更多带宽选择的视频数据;如果关联下级设备的设备类型为解码终端,则流媒体服务器在分层数据中获取满足该网络带宽的最高质量的一个视频数据转发给至该解码终端,使得该解码终端能够播放所在网络带宽环境下最高质量的一个视频数据。
本发明实施例由于编码终端不再编码生成一个视频数据,而是根据实际的信道环境选择编码生成适配于不同激活带宽的多个视频数据,使得接收到多个视频数据的流媒体服务器能够根据实际的转发需求,在多个视频数据中选择所需的一个或者多个视频数据进行后续转发,优化现了现有的同源视频转发技术,进而可以达到在不同信道环境中转发不同类型的视频数据,并实现同源视频适配不同带宽的信道的效果。
实施例三
图3是本发明实施例三提供的一种视频数据的转发方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了一种当关联下级设备为下一级流媒体服务器时,所述流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发的具体实现形式。相应的,本实施例的方法可以包括:
S310、流媒体服务器接收关联上级设备发送的分层数据。
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
在所述分层数据的一条数据流中,可以包括:增强层视频数据以及基础层视频数据,所述基础层视频数据的激活带宽为同一数据流中的增强层视频数据的激活带宽与设定百分数的乘积。
S320、所述流媒体服务器如果确定所述关联下级设备为下一级流媒体服务器,则获取与所述下一级流媒体服务器之间的网络带宽作为第一比对带宽。
S330、所述流媒体服务器按照激活带宽从高到底的顺序,依次获取所述分层数据中的一个数据流作为目标数据流。
在本实施例中,如果所述分层数据中同时包括主数据流、辅数据流以及灰度数据流共三条数据流,则所述流媒体服务器按照激活带宽从高到底的顺序,首先获取主数据流作为目标数据流;如果所述分层数据中同时包括辅数据流以及灰度数据流共两条数据流,则所述流媒体服务器按照激活带宽从高到底的顺序,首先获取辅数据流作为目标数据流。
S340、所述流媒体服务器判断与当前获取的所述目标数据流对应的增强层视频数据的目标激活带宽是否与所述第一比对带宽相匹配:若是,则执行S350;否则,执行S360。
其中,所述目标激活带宽为所述目标数据流对应的增强层视频数据的激活带宽。
具体的,所述流媒体服务器获取目标数据流中的增强层视频数据,并将该增强层视频数据的激活带宽与所述第一比对带宽进行匹配。可以理解的是,如果一个数据流的增强层视频数据与该第一比对带宽相匹配,或者说该增强层视频数据可以在该第一比对带宽内进行传输,则该分层数据中激活带宽小于所述目标数据流的增强层视频数据的全部数据流均可以在该第一比对带宽下进行传输,因此可以全部发送。
在一个具体的例子中,一个分层数据中包括有主数据流、辅数据流以及灰度数据流共三个数据流,首先获取主数据流中的增强层视频数据的激活带宽与第一比对带宽进行匹配,若匹配(主数据流中的增强层视频数据的激活带宽小于等于所述第一比对带宽),则该流媒体服务器将上述三个数据流作为转发分层数据全部发送至下一级流媒体服务器;如果确定主数据流中的增强层视频数据的激活带宽大于所述第一比对带宽,则继续获取辅数据流中的增强层视频数据的激活带宽与第一比对带宽进行匹配,若匹配,则该流媒体服务器可以将辅数据流以及灰度数据流的组合作为转发分层数据全部发送至下一级流媒体服务器;如果确定辅数据流中的增强层视频数据的激活带宽也大于所述第一比对带宽,则继续获取灰度数据流中的增强层视频数据的激活带宽与第一比对带宽进行匹配,若匹配,则该流媒体服务器可以仅将灰度数据流作为转发分层数据发送至下一级流媒体服务器;若仍不匹配,则该流媒体服务器不向所述下一级流媒体服务器转发所述分层数据中的任一数据流,仅将与该分层数据对应的音频数据进行转发。
S350、所述流媒体服务器在所述分层数据中获取激活带宽小于所述目标激活带宽的全部数据流,与所述目标数据流共同形成所述转发分层数据,执行S370。
具体的,如果所述目标数据流为主数据流,则分层数据中激活带宽小于所述目标激活带宽的全部数据流为辅数据流以及灰度数据流。相应的,基于上述全部数据流与目标数据流共同形成所述转发分层数据包括:主数据流、辅数据流以及灰度数据流。
如果所述目标数据流为辅数据流,则分层数据中激活带宽小于所述目标激活带宽的全部数据流为灰度数据流,相应的,基于上述全部数据流与目标数据流共同形成所述转发分层数据包括:辅数据流以及灰度数据流。
如果所述目标数据流为灰度数据流,则分层数据中激活带宽小于所述目标激活带宽的全部数据流为空,相应的,基于上述全部数据流与目标数据流共同形成所述转发分层数据仅包括:灰度数据流。
S360、所述流媒体服务器判断是否完成对所述分层数据中全部数据流的处理:若是,执行S380,否则,返回执行S330。
S370、所述流媒体服务器将所述转发分层数据向所述下一级流媒体服务器进行转发。
S380、所述流媒体服务器不向所述下一级流媒体服务器转发所述分层数据中的任一数据流。
本发明实施例的技术方案通过流媒体服务器根据与下一级流媒体服务器之间的网络带宽,在接收到的分层数据中获取可以通过该网络带宽进行传输的全部数据流转发至下一级流媒体服务器的方式,使得该下一级流媒体服务器在进行后续转发时,可以转发具有更多带宽选择的视频数据,可以进一步达到在不同信道环境中转发不同类型的视频数据,并实现同源视频适配不同带宽信道的效果。
实施例四
图4是本发明实施例四提供的一种视频数据的转发方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了一种当关联下级设备为解码终端时,所述流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发的具体实现形式。相应的,本实施例的方法可以包括:
S410、流媒体服务器接收关联上级设备发送的分层数据。
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
在所述分层数据的一条数据流中,包括:增强层视频数据以及基础层视频数据,所述基础层视频数据的激活带宽为同一数据流中的增强层视频数据的激活带宽与设定百分数的乘积。
S420、所述流媒体服务器如果确定所述关联下级设备为解码终端,则获取与所述解码终端之间的网络带宽作为第二比对带宽。
S430、所述流媒体服务器按照激活带宽从高到底的顺序,依次获取所述分层数据中的一个数据流中的一个视频数据作为目标视频数据。
具体的,所述流媒体服务器按照激活带宽从高到底的顺序依次在所述分层数据中获取一个数据流,并在该数据流中按照从增强层视频数据到基础层视频数据的顺序,分别获取一个视频数据作为目标视频数据。
例如,如果所述分层数据中包括主数据流、辅数据流以及灰度数据流,则首先获取的第一个目标视频数据为主数据流的增强层视频数据,如果该目标视频数据与第二比对带宽不匹配,则第二个获取的目标视频数据为主数据流的基础层视频数据。
S440、所述流媒体服务器判断当前获取的目标视频数据的激活带宽是否与所述第二比对带宽相匹配:若是,执行S450;否则,执行S460。
将目标视频数据的激活带宽与所述第二比对带宽进行匹配,若目标视频数据的激活带宽与该第二比对带宽相匹配(激活带宽小于等于所述第二比对带宽),则说明该视频数据是能够通过适配该第二比对带宽的最好质量的一个视频数据,因此,可以直接将该视频数据转发至解码终端。
S450、所述流媒体服务器在所述分层数据中获取所述目标视频数据作为所述转发分层数据,执行S470。
S460、所述流媒体服务器判断是否完成对所述分层数据中全部视频数据的处理:若是,执行S480,否则,返回执行S430。
S470、所述流媒体服务器将所述转发分层数据向所述解码终端进行转发。
S480、所述流媒体服务器不向所述解码终端转发所述分层数据中的任一数据流。
本发明实施例的技术方案流媒体服务器根据与直接进行通信的解码终端的网络带宽,在分层数据中获取满足该网络带宽的最高质量的一个视频数据转发给至该解码终端,使得该解码终端能够播放所在网络带宽环境下,能够播放的最高质量的视频数据,可以进一步达到在不同信道环境中转发不同类型的视频数据,并实现同源视频适配不同带宽信道的效果。
具体应用场景
为了将本发明各实施例的技术方案阐述的更加清楚,现将本发明各实施例的方案应用到具体的应用场景中进行简要说明。
其中,在图5a中示出了本发明实施例的一种具体应用场景的结构示意图。如图5a所示,编码终端(主席终端)与关联流媒体服务器(一级站点服务器)之间通过内网连接,两者之间的网络带宽不受限,主席终端可以生成包括三个数据流(也即:主数据流(主码流)、辅数据流(辅码流)以及灰度数据流(灰度流))的视频分层数据转发至该一级站点服务器。一级站点服务器的关联下级设备为下一级流媒体服务器(二级站点服务器),两者之间的通过光纤网络连接,探测带宽为2000Kbps,带宽不受限,因此,一级站点服务器可以将全部三个数据流均发送至该二级站点服务器,该二级站点服务器的关联下级设备为三个解码终端,一个解码终端(二级成员终端)与该二级站点服务器通过内网连接,两者之间的网络带宽不受限,因此,该二级站点服务器可以转发激活码率最高的一个视频数据至该二级成员终端进行解码播放,也即,主数据流中的增强层视频数据(主码流(增强层数据)),另外两个解码终端(三级成员终端)分别通过散射网络(探测带宽为170Kbps)以及卫星网络(探测带宽为300Kbps)与该二级站点服务器相连,该二级站点服务器进而可以根据上述三个数据流,共6个视频数据的不同激活带宽,选择对应的视频数据转发至对应的三级成员终端进行解码播放,也即,一个三级成员终端接收辅数据流中的基础层视频数据(辅码流(基础层数据)),另一个三级成员终端接收灰度数据流中的增强层视频数据(灰度流(增强层数据))。
在图5b中示出了本发明实施例的另一种具体应用场景的结构示意图。对应于编码终端与关联流媒体服务器通过路由器连接时,路由器两端的网络带宽受限的情况。如图5b所示,两个编码终端(编码源)到关联流媒体服务器(流媒体服务器)之间的路由器两端网络均收到带宽限制,且每段网络的受限不统一,编码源至路由器的网络节点受限影响较小,路由器至服务器的带宽受限较大,但后端流媒体服务器和解码终端的网络不受限。
此时,应取影响较大的网络受限为基准依据,也即编码源与流媒体服务器之间的网络带宽由路由器与流媒体服务器之间的带宽确定。相应的,应用本发明实施例的技术方案后,在不改变编码源编码参数的前提下,所有解码终端看到的图像均为720P、512Kbps的图像。
在图5c中示出了本发明实施例的另一种具体应用场景的结构示意图。对应于多个解码终端的网络受限不一致的情况。如图5c所示,后端有多个解码终端(解码终端(1)以及解码终端(2))同时点播同一个编码源图像。编码源到流媒体服务器的网络正常,但上述两个解码终端到流媒体服务器的网络受到不同的带宽限制,其中一个为256Kbps网络,另一个为600Kbps网络。
应用本发明实施例的技术方案后,在不改变编码源编码参数,且不影响正常网络的解码终端显示情况下,针对网络受限的解码终端显示图像分别降低显示质量。如图所示,带宽为256Kbps的解码端看到D1黑白图像,带宽为600Kbps的解码端看到的为720P图像。
在图5d中示出了本发明实施例的另一种具体应用场景的结构示意图。对应于多信道融合的应用场景。如图5d所示,编码源到各级终端或流媒体服务器之间存在多种网络信道,且各解码终端到各级流媒体服务器之间网络受限也不同,最终系统运行在复杂网络环境下。
应用本发明实施例的技术方案后,在不改变编码源的前提下,根据各解码终端到编码源的链路信道参数,可以针对性的动态改变传输音视频的质量。
实施例五
图6是本发明实施例五提供的一种视频数据的编码装置的结构图,所述装置应用于编码终端中,如图6所示,所述装置包括:网络带宽获取模块610、视频分层数据生成模块620以及视频分层数据转发模块630,其中:
网络带宽获取模块610,用于根据关联流媒体服务器发送的视频数据获取请求,获取与所述关联流媒体服务器之间的网络带宽;
视频分层数据生成模块620,用于编码生成与所述网络带宽匹配的视频分层数据,所述视频分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
视频分层数据转发模块630,用于将所述视频分层数据转发至所述关联流媒体服务器;
其中,所述视频分层数据用于所述关联流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
本发明实施例的技术方案通过编码终端根据与关联流媒体服务器发之间的网络带宽编码生成匹配的视频分层数据,转发至关联流媒体服务器;之后由关联流媒体服务器根据与关联下级设备之间的网络带宽以及关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向关联下级设备进行转发的方式,编码终端不再编码生成一个视频数据,而是根据实际的信道环境选择编码生成适配于不同信道带宽的多个视频数据,优化现了现有的同源视频转发技术,进而可以达到在不同信道环境中转发不同类型的视频数据,并实现同源视频适配不同带宽的信道效果。
在上述各实施例的基础上,所述视频分层数据生成模块620,可以具体包括:档位映射单元,用于根据所述网络带宽所属的带宽档位值,以及预设的带宽档位值与数据分层方式之间的映射关系,生成所述视频分层数据。
在上述各实施例的基础上,所述档位映射单元可以具体用于:如果确定所述带宽档位值与第一类数据分层方式满足映射关系,则生成主数据流、辅数据流以及灰度数据流共三条数据流;如果确定所述带宽档位值与第二类数据分层方式满足映射关系,则生成主数据流以及辅数据流共两条数据流;如果确定所述带宽档位值与第三类数据分层方式满足映射关系,则生成一条主数据流;
其中,在一个视频分层数据中,主数据流的激活带宽大于辅数据流的激活带宽,辅数据流的激活带宽大于灰度数据流的激活带宽。
在上述各实施例的基础上,在所述视频分层数据的一条数据流中,可以包括:增强层视频数据以及基础层视频数据,所述基础层视频数据的激活带宽为同一数据流中的增强层视频数据的激活带宽与设定百分数的乘积。
本发明实施例所提供的视频数据的编码装置可执行本发明任意实施例所提供的视频数据的编码方法,具备执行方法相应的功能模块和有益效果。
实施例六
图7是本发明实施例六提供的一种视频数据的转发装置的结构图,所述装置应用于流媒体服务器中,如图7所示,所述装置包括:分层数据接收模块710以及转发分层数据转发模块720,其中:
分层数据接收模块710,用于接收关联上级设备发送的分层数据;
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
转发分层数据转发模块720,用于根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
在上述各实施例的基础上,在所述分层数据的一条数据流中,可以包括:增强层视频数据以及基础层视频数据,所述基础层视频数据的激活带宽为同一数据流中的增强层视频数据的激活带宽与设定百分数的乘积。
在上述各实施例的基础上,转发分层数据转发模块720,可以具体用于:
如果确定所述关联下级设备为下一级流媒体服务器,则获取与所述下一级流媒体服务器之间的网络带宽作为第一比对带宽;按照激活带宽从高到底的顺序,依次获取所述分层数据中的一个数据流作为目标数据流;
如果确定与当前获取的所述目标数据流对应的增强层视频数据的目标激活带宽与所述第一比对带宽相匹配,则在所述分层数据中获取激活带宽小于所述目标激活带宽的全部数据流,与所述目标数据流共同形成所述转发分层数据;将所述转发分层数据向所述下一级流媒体服务器进行转发。
在上述各实施例的基础上,转发分层数据转发模块720,可以具体用于:
如果确定所述关联下级设备为解码终端,则获取与所述解码终端之间的网络带宽作为第二比对带宽;按照激活带宽从高到底的顺序,依次获取所述分层数据中的一个数据流中的一个视频数据作为目标视频数据;;如果确定当前获取的目标视频数据的激活带宽与所述第二比对带宽相匹配,则在所述分层数据中获取所述目标视频数据作为所述转发分层数据;将所述转发分层数据向所述解码终端进行转发。
本发明实施例所提供的视频数据的转发装置可执行本发明任意实施例所提供的视频数据的转发方法,具备执行方法相应的功能模块和有益效果。
实施例七
图8为本发明实施例七提供的一种计算机设备的结构示意图。图8示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图8显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图8中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如:在所述计算机设备为编码终端时,所述处理单元16可以实现本发明实施例所提供的一种视频数据的编码方法。
也即,所述处理单元16执行所述程序时实现:编码终端根据关联流媒体服务器发送的视频数据获取请求,获取与所述关联流媒体服务器之间的网络带宽;
所述编码终端编码生成与所述网络带宽匹配的视频分层数据,所述视频分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
所述编码终端将所述视频分层数据转发至所述关联流媒体服务器;
其中,所述视频分层数据用于所述关联流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
又例如:在所述计算机设备为流媒体服务器时,所述处理单元16可以实现本发明实施例所提供的一种视频数据的转发方法。
也即,所述处理单元16执行所述程序时实现:流媒体服务器接收关联上级设备发送的分层数据;
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
所述流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
实施例八
本发明实施例八还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的视频数据的编码方法。
也即,所述处理单元执行所述程序时实现:编码终端根据关联流媒体服务器发送的视频数据获取请求,获取与所述关联流媒体服务器之间的网络带宽;
所述编码终端编码生成与所述网络带宽匹配的视频分层数据,所述视频分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
所述编码终端将所述视频分层数据转发至所述关联流媒体服务器;
其中,所述视频分层数据用于所述关联流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
或者,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的视频数据的转发方法。
也即,所述处理单元执行所述程序时实现:流媒体服务器接收关联上级设备发送的分层数据;
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
所述流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable ReadOnly Memory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种视频数据的编码方法,其特征在于,包括:
编码终端根据关联流媒体服务器发送的视频数据获取请求,获取与所述关联流媒体服务器之间的网络带宽;
所述编码终端编码生成与所述网络带宽匹配的视频分层数据,所述视频分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
所述编码终端将所述视频分层数据转发至所述关联流媒体服务器;
其中,所述视频分层数据用于所述关联流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发;
所述编码终端编码生成与所述网络带宽匹配的视频分层数据,包括:
所述编码终端根据所述网络带宽所属的带宽档位值,以及预设的带宽档位值与数据分层方式之间的映射关系,生成所述视频分层数据;
所述编码终端根据所述网络带宽所属的带宽档位值,以及预设的带宽档位值与数据分层方式之间的映射关系,生成所述视频分层数据,包括:
所述编码终端如果确定所述带宽档位值与第一类数据分层方式满足映射关系,则生成主数据流、辅数据流以及灰度数据流共三条数据流;
所述编码终端如果确定所述带宽档位值与第二类数据分层方式满足映射关系,则生成主数据流以及辅数据流共两条数据流;
所述编码终端如果确定所述带宽档位值与第三类数据分层方式满足映射关系,则生成一条主数据流;
其中,在一个视频分层数据中,主数据流的激活带宽大于辅数据流的激活带宽,辅数据流的激活带宽大于灰度数据流的激活带宽。
2.根据权利要求1所述的方法,其特征在于,在所述分层数据的一条数据流中,包括:增强层视频数据以及基础层视频数据,所述基础层视频数据的激活带宽为同一数据流中的增强层视频数据的激活带宽与设定百分数的乘积。
3.一种视频数据的转发方法,其特征在于,包括:
流媒体服务器接收关联上级设备发送的分层数据;
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
所述流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发;
在所述分层数据的一条数据流中,包括:增强层视频数据以及基础层视频数据,所述基础层视频数据的激活带宽为同一数据流中的增强层视频数据的激活带宽与设定百分数的乘积;
所述流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发,包括:
所述流媒体服务器如果确定所述关联下级设备为下一级流媒体服务器,则获取与所述下一级流媒体服务器之间的网络带宽作为第一比对带宽;
所述流媒体服务器按照激活带宽从高到底的顺序,依次获取所述分层数据中的一个数据流作为目标数据流;
所述流媒体服务器如果确定与当前获取的所述目标数据流对应的增强层视频数据的目标激活带宽与所述第一比对带宽相匹配,则在所述分层数据中获取激活带宽小于所述目标激活带宽的全部数据流,与所述目标数据流共同形成所述转发分层数据;
所述流媒体服务器将所述转发分层数据向所述下一级流媒体服务器进行转发。
4.根据权利要求3所述的方法,其特征在于,所述流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发,包括:
所述流媒体服务器如果确定所述关联下级设备为解码终端,则获取与所述解码终端之间的网络带宽作为第二比对带宽;
所述流媒体服务器按照激活带宽从高到底的顺序,依次获取所述分层数据中的一个数据流中的一个视频数据作为目标视频数据;
所述流媒体服务器如果确定当前获取的目标视频数据的激活带宽与所述第二比对带宽相匹配,则在所述分层数据中获取所述目标视频数据作为所述转发分层数据;
所述流媒体服务器将所述转发分层数据向所述解码终端进行转发。
5.一种视频数据的编码装置,应用于编码终端中,其特征在于,包括:
网络带宽获取模块,用于根据关联流媒体服务器发送的视频数据获取请求,获取与所述关联流媒体服务器之间的网络带宽;
视频分层数据生成模块,用于编码生成与所述网络带宽匹配的视频分层数据,所述视频分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
视频分层数据转发模块,用于将所述视频分层数据转发至所述关联流媒体服务器;
其中,所述视频分层数据用于所述关联流媒体服务器根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述视频分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发;
所述视频分层数据生成模块,具体包括:档位映射单元,用于根据所述网络带宽所属的带宽档位值,以及预设的带宽档位值与数据分层方式之间的映射关系,生成所述视频分层数据;
所述档位映射单元具体用于:如果确定所述带宽档位值与第一类数据分层方式满足映射关系,则生成主数据流、辅数据流以及灰度数据流共三条数据流;如果确定所述带宽档位值与第二类数据分层方式满足映射关系,则生成主数据流以及辅数据流共两条数据流;如果确定所述带宽档位值与第三类数据分层方式满足映射关系,则生成一条主数据流;
其中,在一个视频分层数据中,主数据流的激活带宽大于辅数据流的激活带宽,辅数据流的激活带宽大于灰度数据流的激活带宽。
6.一种视频数据的转发装置,应用于流媒体服务器中,其特征在于,包括:
分层数据接收模块,用于接收关联上级设备发送的分层数据;
其中,所述关联上级设备包括:编码终端,或者上一级流媒体服务器,所述分层数据中包括至少一条数据流,一条数据流中包括至少一个视频数据,不同视频数据对应的激活带宽不同;
转发分层数据转发模块,用于根据与关联下级设备之间的网络带宽以及所述关联下级设备的设备类型,在所述分层数据中选择匹配的转发分层数据向所述关联下级设备进行转发;
在所述分层数据的一条数据流中,包括:增强层视频数据以及基础层视频数据,所述基础层视频数据的激活带宽为同一数据流中的增强层视频数据的激活带宽与设定百分数的乘积;
转发分层数据转发模块,具体用于:
如果确定所述关联下级设备为下一级流媒体服务器,则获取与所述下一级流媒体服务器之间的网络带宽作为第一比对带宽;按照激活带宽从高到底的顺序,依次获取所述分层数据中的一个数据流作为目标数据流;
如果确定与当前获取的所述目标数据流对应的增强层视频数据的目标激活带宽与所述第一比对带宽相匹配,则在所述分层数据中获取激活带宽小于所述目标激活带宽的全部数据流,与所述目标数据流共同形成所述转发分层数据;将所述转发分层数据向所述下一级流媒体服务器进行转发。
7.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-2中任一所述的视频数据的编码方法。
8.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求3-4中任一所述的视频数据的转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811555829.2A CN109618188B (zh) | 2018-12-19 | 2018-12-19 | 视频数据的编码、转发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811555829.2A CN109618188B (zh) | 2018-12-19 | 2018-12-19 | 视频数据的编码、转发方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109618188A CN109618188A (zh) | 2019-04-12 |
CN109618188B true CN109618188B (zh) | 2021-03-30 |
Family
ID=66008929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811555829.2A Active CN109618188B (zh) | 2018-12-19 | 2018-12-19 | 视频数据的编码、转发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109618188B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7235576B2 (ja) * | 2019-04-17 | 2023-03-08 | 日本放送協会 | 端末装置、ストリーミング配信システム、及びプログラム |
WO2021056575A1 (zh) * | 2019-09-29 | 2021-04-01 | 华为技术有限公司 | 一种低延迟信源信道联合编码方法及相关设备 |
CN111601109A (zh) * | 2020-05-13 | 2020-08-28 | 西安万像电子科技有限公司 | 图像数据的处理方法、装置和系统 |
CN111629234B (zh) * | 2020-06-24 | 2022-09-02 | 上海大因多媒体技术有限公司 | 不同类型视频共存的传输方法、装置、设备和存储介质 |
CN112153322B (zh) * | 2020-09-23 | 2023-03-24 | 北京字跳网络技术有限公司 | 数据分发方法、装置、设备及存储介质 |
CN116828231B (zh) * | 2023-08-02 | 2024-05-24 | 纽扣数字智能科技(深圳)集团有限公司 | 一种视频传输优化方法、系统、电子设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198035A (zh) * | 2008-01-10 | 2008-06-11 | 杭州华三通信技术有限公司 | 视频监控方法、视频转移分发方法、装置及视频监控系统 |
CN102461165A (zh) * | 2009-06-24 | 2012-05-16 | 德耳塔维德约股份有限公司 | 用于动态视频电子节目指南的系统和方法 |
CN108174230B (zh) * | 2017-12-29 | 2020-10-09 | 安徽国通亿创科技股份有限公司 | 基于弹性分布式流媒体的音视频直播系统 |
CN109600617B (zh) * | 2018-12-19 | 2020-07-21 | 北京东土科技股份有限公司 | 视频数据的编码、转发方法、装置、设备及存储介质 |
-
2018
- 2018-12-19 CN CN201811555829.2A patent/CN109618188B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109618188A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109618188B (zh) | 视频数据的编码、转发方法、装置、设备及存储介质 | |
US11503250B2 (en) | Method and system for conducting video conferences of diverse participating devices | |
CN109600617B (zh) | 视频数据的编码、转发方法、装置、设备及存储介质 | |
CN109788314B (zh) | 一种视频流数据传输的方法和装置 | |
US11711550B2 (en) | Method and apparatus for supporting teleconferencing and telepresence containing multiple 360 degree videos | |
CN110475094B (zh) | 视频会议处理方法、装置及可读存储介质 | |
US9232244B2 (en) | Efficient frame forwarding in large scale real-time screen content sharing meetings | |
EP2827596A1 (en) | Transmitting and receiving method of multimedia video data and corresponding device | |
CN104168453A (zh) | 一种实现视频监控流媒体应用系统的方法 | |
US9270937B2 (en) | Real time stream provisioning infrastructure | |
CN114600468A (zh) | 将复合视频流中的视频流与元数据组合 | |
CN111464817A (zh) | 码率控制方法、装置及可读存储介质 | |
US10063643B2 (en) | Media stream grouping in multimedia communication networks | |
US10645128B2 (en) | Media session processing method, related device, and communications system | |
CN110661992A (zh) | 数据处理方法和装置 | |
CN110519331B (zh) | 一种视联网资源处理方法及装置 | |
CN110392275B (zh) | 一种文稿演示的共享方法、装置及视联网软终端 | |
CN115209189B (zh) | 一种视频流传输方法、系统、服务器及存储介质 | |
CN110324667B (zh) | 一种新型视频流的播放方法和系统 | |
CN111131749B (zh) | 一种视频会议的控制方法及装置 | |
CN110113565B (zh) | 一种基于视联网的数据处理方法和智能分析设备 | |
CN110475089B (zh) | 一种多媒体数据的处理方法和视联网终端 | |
Ramakrishna et al. | Estimation of scalable video adaptation parameters for media aware network elements | |
TWI475842B (zh) | Real-time control method of servo-to-client data stream transfer rate | |
CN117641062A (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 |