CN103780920B - 处理视频码流的方法及装置 - Google Patents
处理视频码流的方法及装置 Download PDFInfo
- Publication number
- CN103780920B CN103780920B CN201210394231.6A CN201210394231A CN103780920B CN 103780920 B CN103780920 B CN 103780920B CN 201210394231 A CN201210394231 A CN 201210394231A CN 103780920 B CN103780920 B CN 103780920B
- Authority
- CN
- China
- Prior art keywords
- stream
- subcode
- information
- single bit
- bit 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 239000012634 fragment Substances 0.000 claims description 23
- 230000000630 rising effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 29
- 230000008569 process Effects 0.000 description 27
- 230000015572 biosynthetic process Effects 0.000 description 15
- 238000003786 synthesis reaction Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
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/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/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/2665—Gathering content from different sources, e.g. Internet and satellite
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4314—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4316—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
-
- 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/47—End-user applications
-
- 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供处理视频码流的方法及装置。该方法包括:从终端获取请求消息,该请求消息携带多个子视频画面的地址信息;根据该地址信息,获取与多个子视频画面一一对应的多个子码流;将多个子码流合成为单码流,并生成用于指示该单码流的图像参数的指示消息;向该终端发送该单码流和该指示消息,以便该终端根据该指示消息解码该单码流并显示多个子视频画面。本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能。
Description
技术领域
本发明涉及信息技术领域,并且具体地,涉及处理视频码流的方法及装置。
背景技术
随着视频编解码技术和网络技术的发展,流媒体技术得到了广泛应用。例如,用户可以通过点播等方式,预览某种类型的电影或其它视频片段,这样需要在终端上同时显示多个缩小版的视频片段。一个比较直接的解决方式是终端从服务器获取这些视频片段对应的多个码流,对这些码流进行解码并在相应位置上播放。
目前,手持或非个人电脑(Personal Computer,PC)形态的终端所使用的处理器一般采用硬件解码,即在处理器中嵌入硬件解码内核。不过,并不是所有处理器都支持多码流解码。在支持多码流解码的芯片中,大都采用分时的方法处理该问题,即在解码内核中采用时分的方式同时解码多个码流,比如PowerVR的图形核心系列。不过,采用这种时分方式需要各个码流之间解码过程的切换,因此导致了解码性能的损失,同时增加了额外的控制逻辑。
发明内容
本发明实施例提供处理视频码流的方法及装置,能够提高终端的解码性能。
一方面,提供了一种处理视频码流的方法,包括:从终端获取请求消息,该请求消息携带多个子视频画面的地址信息;根据该地址信息,获取与多个子视频画面一一对应的多个子码流;将多个子码流合成为单码流,并生成用于指示该单码流的图像参数的指示消息;向该终端发送该单码流和该指示消息,以便该终端根据该指示消息解码该单码流并显示多个子视频画面。
另一方面,提供了一种处理视频码流的装置,包括:第一获取单元,用于从终端获取请求消息,该请求消息携带多个子视频画面的地址信息;第二获取单元,用于根据该地址信息,获取与多个子视频画面一一对应的多个子码流;生成单元,用于将多个子码流合成为单码流,并生成用于指示该单码流的图像参数的指示消息;发送单元,用于向该终端发送该单码流和该指示消息,以便该终端根据该指示消息解码该单码流并显示多个子视频画面。
本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是可应用本发明实施例的网络场景的一个例子的示意图。
图2是根据本发明实施例的处理视频码流的方法的示意性流程图。
图3是根据本发明一个实施例的处理视频码流的方法的过程的示意性流程图。
图4是采用图3的实施例进行合成与解码单码流的过程的一个例子的示意图。
图5是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。
图6是采用图5的实施例合成单码流的过程的一个例子的示意图。
图7是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。
图8是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。
图9是采用图8的实施例合成单码流的过程的一个例子的示意图。
图10是根据本发明另一实施例的合成单码流的过程的示意图。
图11是根据本发明实施例的处理视频码流的装置的示意框图。
图12是根据本发明实施例的处理视频码流的装置的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是可应用本发明实施例的网络场景的一个例子的示意图。应注意,图1的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
在图1中,服务器110可以是流媒体技术中的服务器,比如流媒体服务器。终端120可以是能够播放流媒体的终端,例如可以是移动电话、便携式计算机、个人数字助理或便携式多媒体机等。
在流媒体技术中,服务器110中可以存储有多个媒体文件,比如电影或者其他视频。用户可以通过终端120向服务器110发起访问媒体文件的请求,服务器110可以在收到请求后将需要访问的媒体文件通过网络下发给终端120,由终端120进行播放。
在终端120处由于预览、点播等原因,存在在终端120上同时解码显示多个小画面的需求。例如,用户在点播环境中希望预览某种类型的电影或其它视频片段,在终端上会同时显示多个缩小版的视频片段,而不是单一的视频片段。这些小画面的组合可以是动态且多样化的。例如,在图1所示的终端120上,由于点播等需求,可以同时显示9个小画面。应注意,此处的数字只是举例说明,而非限制本发明实施例的范围。
为了使终端120能够显示多个小画面,需要对视频码流进行处理。下面将详细描述本发明实施例的处理视频码流的方法。
图2是根据本发明实施例的处理视频码流的方法的示意性流程图。图2的方法由处理视频码流的装置执行。
210,从终端获取请求消息,该请求消息携带多个子视频画面的地址信息。
本发明实施例中,多个子视频画面可以是用户通过终端点播的视频或者用户通过终端定制的视频等。多个子视频画面的地址信息可以包括统一资源定位符(uniformresource locator,url),也可以包括其它的地址内容,本发明实施例对此不作限定。
220,根据该地址信息,获取与多个子视频画面一一对应的多个子码流。
230,将多个子码流合成为单码流,并生成用于指示该单码流的图像参数的指示消息。
240,向终端发送该单码流和该指示消息,以便终端根据该指示消息解码该单码流并显示多个子视频画面。
本发明实施例中,处理视频码流的装置可以将多个子码流直接合成为单码流,而无需先对多个子码流进行解码,再将解码得到的多个子视频进行重新压缩编码为单码流,因此能够提高处理效率。此外,终端通过解码单码流就能够显示多个子视频画面,这样终端只要支持正常的视频解码即可,无需同时解码多个子码流并进行解码切换,从而能够提高终端的解码性能,并能够提高业务实现的便利性。
本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
可选地,作为一个实施例,在步骤230中,处理视频码流的装置可以按照多个子视频画面的从上至下的排列方式,将多个子码流进行排列并合成为单码流,并生成指示消息,该指示消息包括第一信息和每个子码流的分片(slice)数据信息,其中第一信息可以指示单码流的图像尺寸参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
具体地,每个子码流的帧结构可以是相同的,即每个子码流的每帧图像的图像类型可以是相同的,则每个子码流中每帧图像的宽度可以是相同的。处理视频码流的装置可以按照从上至下的方式将多个子码流的每帧图像进行排列,合成为单码流的每帧图像。第一信息所指示的单码流的图像尺寸参数可以包括单码流中每帧图像的高度和宽度,单码流中每帧图像的高度可以是多个子码流的图像的高度之和。由于按照从上至下的方式合成单码流,因此单码流中每帧图像的宽度可以是每个子码流的图像的宽度。
本发明实施例中,由于处理视频码流的装置是按照从上至下的方式将多个子码流合成单码流,因此,终端可以在解码单码流后,可以按照终端所需要的多个子视频画面的布局方式将对应的多个子码流进行排列,从而按照需要的布局方式显示多个子视频画面。
可选地,作为另一实施例,在步骤210中,该请求消息还可以携带布局信息,该布局信息可以指示多个子视频画面的布局方式。在步骤230中,处理视频码流的装置可以按照该布局方式,将多个子码流进行排列,并合成为单码流。
本发明实施例中,处理视频码流的装置按照终端请求的布局方式将多个子码流进行排列,并合成为单码流,因此终端在解码单码流后,无需再对多个子码流进行重新排列,可以直接按照布局方式显示多个子视频画面,能够提高业务实现的便利性。
可选地,作为另一实施例,在步骤230中,处理视频码流的装置可以按照该布局方式,将多个子码流进行排列,并合成为单码流。那么处理视频码流的装置可以生成指示消息,该指示消息包括第一信息、第二信息和每个子码流的分片数据信息,其中第一信息可以指示单码流的图像尺寸参数,第二信息可以指示每个子码流的片组(slice group)参数,每个子码流的分片数据信息可以指示每个子码流在单码流中的起始位置。
具体地,每个子码流的帧结构可以是相同的,即每个子码流的每帧图像的图像类型可以是相同的。第一信息所指示的单码流的图像尺寸参数可以包括单码流中每帧图像的高度和宽度。第二信息所指示的每个子码流的片组参数可以包括每个子码流的片组类型、每个子码流的片组数目以及每个子码流中每个分片的位置参数等。
可选地,作为另一实施例,在步骤230中,处理视频码流的装置可以按照该布局方式,将多个子码流进行排列,并合成为单码流。那么处理视频码流的装置可以生成指示消息,指示消息包括第三信息,其中第三信息可以指示单码流的图像尺寸参数、子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
具体地,每个子码流的帧结构可以是相同的。处理视频码流的装置可以通过第三信息指示单码流的相关参数。其中,单码流的图像尺寸参数可以包括单码流中每帧图像的高度和宽度。
此外,第三信息可以位于单码流的第一个分片之前,终端收到第三信息后,可以按照第三信息所指示的参数解码单码流。如果终端没有收到第三信息,那么可以按照现有技术解码接收到的子码流。
可选地,作为另一实施例,在步骤230中,除了指示消息包括的第三信息之外,指示消息还可以包括每个子码流的图像信息和每个子码流的片组信息,每个子码流的图像信息可以指示每个子码流的图像尺寸参数,每个子码流的片组信息指示每个子码流的片组参数。
具体地,指示消息可以通过第三信息指示单码流的相关参数,还可以包括每个子码流的具体参数。这样,在每个子码流的帧结构不相同的情况下,终端可以根据第三信息解码单码流,并根据每个子码流的图像信息和片组信息解码每个子码流。每个子码流的图像信息和片组信息可以位于每个子码流的第一个分片之前。因此本发明实施例能够适用于多个子码流的帧结构不相同的情况。
可选地,作为另一实施例,在步骤230中,处理视频码流的装置可以按照该布局方式,将多个子码流进行排列,并合成为单码流。那么处理视频码流的装置可以生成指示消息,指示消息可以包括第一信息和附加信息,其中第一信息可以指示单码流的图像尺寸参数,附加信息可以指示子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
可选地,作为另一实施例,在上述多个子码流合成单码流的方式下,每个子码流被编码过程中,运动矢量指向的参考图像可以被设置为不跨出每个子码流对应的图像边界。由于多个子码流合成单码流后,每个子码流的图像的边界可能不再是边界,为了避免对合成的单码流解码错误,需要将运动矢量指向的参考图像设置为不跨出每个子码流对应的图像边界。
可选地,作为另一实施例,在步骤210中,请求消息还可以携带布局信息,布局信息可以指示多个子视频画面的布局方式为N宫格方式,其中N为大于或等于2的正整数。在步骤230中,将每个子码流复制N个备份,并按照N宫格方式对每个子码流的N个备份进行排列;根据布局方式中每个子码流对应的子视频画面的位置,从每个子码流的N个备份中选取相应位置处的备份,并将选取的备份合成为单码流。
具体地,处理视频码流的装置可以将每个子码流复制N个备份,按照N宫格方式将每个子码流的N个备份进行排列并存储,这样每个子码流在N宫格不同位置的情况下均有备份。这样在终端请求的布局方式为N宫格方式时,根据终端请求的N宫格方式中每个子码流对应的子视频画面的位置,从每个子码流的N个备份中选取相应位置的备份,将这些备份合成为单码流。因此,本发明实施例能够提高业务实现的便利性。
本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
下面将结合具体例子详细描述本发明实施例。应注意,这些例子是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
图3是根据本发明一个实施例的处理视频码流的方法的过程的示意性流程图。在图3中,以采用H.264(或MPEG4 AVC PART 10)标准进行编解码为例进行说明。
301,处理视频码流的装置从终端获取请求消息,请求消息携带多个子视频画面的地址信息。
302,处理视频码流的装置可以根据步骤301中的地址信息,获取对应的多个子码流。
例如,地址信息可以包括url。处理视频码流的装置可以根据多个子视频画面的url,从服务器获取多个子码流。
此处假设多个子码流的帧结构相同,也就是各个子码流的每帧图像的图像类型相同。
此外,由于子码流合成单码流后,每个子码流的图像边界可能不再是边界,因此每个子码流被编码过程中,可以将运动矢量指向的参考图像设置为不跨出每个子码流对应的图像边界。
303,处理视频码流的装置按照从上至下的方式,将多个子码流进行排列,合成为单码流,并生成指示消息,该指示消息可以包括第一信息和每个子码流的分片数据信息,其中第一信息指示单码流的图像尺寸参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
具体地,处理视频码流的装置可以将各个子码流的每帧图像按照从上至下的方式进行排列,合成为单码流的每帧图像。这样,多个子码流的分片排列方式仍然可以是光栅扫描(Raster Scan)方式,不需要使用任意分片顺序(Arbitrary Slice Order)模式,从而可以在非基线类(Baseline Profile)时合成单码流。
根据H.264标准中的参数定义,第一信息可以是序列参数集(sequence parameterset,sps)信息,sps信息可以用于指示单码流的图像尺寸参数,sps信息的生成过程可以如下:
(1)由于每个子码流的sps信息都是相同的,处理视频码流的装置可以选取任意一个子码流的sps信息。
(2)处理视频码流的装置可以解析出sps信息中的参数pic_height_in_map_units_minus1,将该参数的值设置为单码流的图像的高度值减1,其中高度值的单位为映射单元(map unit)。根据子码流的不同定义,一个映射单元可以包括一个宏块(Macroblock,MB)或两个宏块,本发明实施例对此不作限定。由于多个子码流是按照从上至下的方式合成单码流的,单码流的图像的宽度值为每个子码流的图像的宽度值,因此sps信息中的参数pic_width_in_mbs_minus1可以保持不变,参数pic_width_in_mbs_minus1表示单码流的图像的宽度值减1,其中宽度值的单位为宏块。
(3)sps信息中的其它参数值可以保持不变,其它参数的具体定义可参照H.264标准。处理视频码流的装置可以将sps信息中其它参数对应的字节进行对齐处理。
根据H.263标准中的定义,每个子码流的分片数据信息中的分片头(sliceheader)数据可以指示每个子码流在单码流中的起始位置。具体地,处理视频码流的装置将每个子码流的分片头数据中的参数first_mb_in_slice进行相应的设置,参数first_mb_in_slice表示每个子码流的图像的第一个宏块在单码流的图像的位置,也就是每个子码流在单码流中的起始位置。
此外,每个子码流的分片数据信息中还可以包括帧编号参数frame_num 和即时解码刷新(Instantaneous Decoding Refresh,IDR)图像标识参数idr_pic_id。将每个子码流的frame_num和idr_pic_id进行相应的设置。
304,处理视频码流的装置向终端发送步骤303中的单码流和指示消息。
305,终端根据指示消息解码单码流,获得多个子码流,将多个子码流按照所需要的布局方式进行排列,显示相应的多个子视频画面。
图4是采用图3的实施例进行合成与解码单码流的过程的一个例子的示意图。在图4中,假设子视频画面的数目为9,布局方式为9宫格方式。终端在解码单码流后,按照9宫格方式排列9个子码流进行显示。
本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
图5是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。在图5中,以采用H.264(或MPEG4AVC PART 10)标准进行编解码为例进行说明。
501,处理视频码流的装置从终端获取请求消息,请求消息携带多个子视频画面的地址信息和多个子视频画面的布局信息,该布局信息指示多个子视频画面的布局方式。
502,处理视频码流的装置根据步骤501中的地址信息,获取对应的多个子码流。
例如,地址信息可以包括url。处理视频码流的装置可以根据多个子视频画面的url,从服务器获取多个子码流。
此处假设多个子码流的帧结构相同,也就是各个子码流的每帧图像的图像类型相同。
此外,由于子码流合成单码流后,每个子码流的图像边界可能不再是边界,因此每个子码流被编码过程中,可以将运动矢量指向的参考图像设置为不跨出每个子码流对应的图像边界。
503,处理视频码流的装置根据步骤501中的布局方式,将多个子码流进行排列并合成为单码流,并生成指示消息,该指示消息可以包括第一信息、第二信息和每个子码流的分片数据信息,其中第一信息指示单码流的图像尺寸参数,第二信息指示每个子码流的片组参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
具体地,处理视频码流的装置可以按照步骤501中的布局方式,将多个子码流的每帧图像进行排列并合成为单码流的每帧图像。根据H.264标准,此时合成单码流需要使用任意分片顺序模式,因此每个子码流可采用基线类编码。
根据H.264标准以及每个子码流中每帧图像包含的分片数目,合成单码流的情况可以分为以下两种:
(1)当每个子码流的每帧图像只包含一个分片时,可以使用slice_group_map_type=2的方式合成单码流,即单码流的每帧图像由多个矩形分片组成,每个分片就是一个子码流。
(2)当每个子码流的每帧图像包含一个或多个分片时,可以使用slice_group_map_type=6的方式合成单码流,即具体地标明每个映射单元属于哪个分片。单码流的每帧图像由多个矩形区域组成,每个区域就是一个子码流,而每个区域内又包含一个或多个分片,即对应的子码流的多个分片。
为了方便描述,以下将以每个子码流的每帧图像包含一个分片为例进行说明,但本发明实施例并不限于此,对于每个子码流的每帧图像包含多个分片的情况,处理过程是类似的,为了避免重复,此处不再赘述。
根据H.264标准的参数定义,第一信息可以是sps信息。sps信息可以指示单码流的图像尺寸参数,sps信息的生成过程可以如下:
由于每个子码流的sps信息都是相同的,处理视频码流的装置可以选取任意一个子码流的sps信息,解析出sps信息中的参数pic_height_in_map_units_minus1和pic_width_in_mbs_minus1,将参数pic_height_in_map_units_minus1的值设置为单码流的图像的高度值减1,其中高度值的单位为映射单元。将参数pic_width_in_mbs_minus1设置为单码流的图像的宽度值减1,其中宽度值的单位为宏块。sps信息中的其它参数值可以保持不变,其它参数的具体定义可参照H.264标准。然后处理视频码流的装置可以将sps信息中参数pic_height_in_map_units_minus1和pic_width_in_mbs_minus1之后的字节进行对齐处理。
根据H.264标准的参数定义,第二信息可以是图像参数集(picture parameterset,pps)信息,pps信息可以指示每个子码流的片组参数,pps信息的生成过程可以如下:
(1)由于每个子码流的pps信息是相同的,处理视频码流的装置可以选取任意一个子码流的pps信息。
(2)处理视频码流的装置可以设置pps信息中的片组类型参数slice_group_map_type=2。
(3)处理视频码流的装置可以设置片组数目参数num_slice_groups_minus1为9个子码流的总分片数减1。
(4)处理视频码流的装置可以为每个子码流的每个分片设置左上位置的值top_left[]和右下位置的值bottom_right[]。
(5)pps信息中的其它参数可以保持不变,其它参数的定义可以参照H.264标准。处理视频码流的装置可以将其它参数的部分进行字节对齐处理。
根据H.263标准中的定义,每个子码流的分片数据信息中的分片头数据可以指示每个子码流在单码流中的起始位置。具体地,处理视频码流的装置将每个子码流的分片头数据中的参数first_mb_in_slice进行相应的设置,参数first_mb_in_slice表示每个子码流的图像的第一个宏块在单码流的图像的位置,也就是每个子码流在单码流中的起始位置。
此外,每个子码流的分片数据信息中还可以包括帧编号参数frame_num和即时解码刷新(Instantaneous Decoding Refresh,IDR)图像标识参数idr_pic_id。将每个子码流的frame_num和idr_pic_id进行相应的设置。
504,处理视频码流的装置向终端发送步骤503中的单码流和指示消息。
505,终端根据指示消息解码单码流,获得多个子码流,按照步骤501中的布局方式显示相应的多个子视频画面。
图6是采用图5的实施例合成单码流的过程的一个例子的示意图。在图6中,假设子视频画面的数目为9,布局方式为9宫格方式。
本发明实施例中,通过按照终端请求的布局方式将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
图7是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。在图7中,可以不采用H.264标准进行编解码,可以是采用其它新标准进行编解码,可以基于自定制的编解码器实现。
701,处理视频码流的装置从终端获取请求消息,请求消息携带多个子视频画面的地址信息和多个子视频画面的布局信息,该布局信息指示多个子视频画面的布局方式。
702,处理视频码流的装置根据步骤701中的地址信息,获取对应的多个子码流。
例如,地址信息可以包括url。处理视频码流的装置可以根据多个子视频画面的url,从服务器获取多个子码流。此处假设服务器是以相同的帧结构编码每个子码流。
此外,由于子码流合成单码流后,每个子码流的图像边界可能不再是边界,因此每个子码流被编码过程中,可以将运动矢量指向的参考图像设置为不跨出每个子码流对应的图像边界。
703,处理视频码流的装置根据步骤701中的布局方式,将多个子码流进行排列并合成为单码流,并生成指示消息,该指示消息包括第三信息,其中第三信息指示单码流的图像尺寸参数、子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
此处沿用H.264标准中的定义,假设每个子码流的sps信息、pps信息和分片头数据的结构相同,因此在合成单码流后,可以保留一套sps信息、pps信息和分片头数据。由于本发明实施例中,通过第三信息指示单码流的图像参数,因此可以不对这些信息进行重新设置。
下面给出第三信息的数据结构的一个例子。该例子只是为了帮助本领域技术人员理解本发明实施例,而非限制本发明实施例的范围。本领域技术人员根据所给出的伪代码的例子,显然可以进行各种等价的修改或变化,例如,第三信息的数据结构还可以采用其它新型视频编解码标准中定义的类似结构,这样的修改或变化也落入本发明实施例的范围内。
可见,上述例子中,定义了所有子码流的分片的位置。同时,全部分片的数目可以表示为:
(num_sub_picture_minus1+1)×(num_slice_in_sub_picture_minus1+1)。
第三信息可以位于单码流的第一个分片之前。这样可以通过第三信息向终端通知根据第三信息解码单码流。
704,处理视频码流的装置向终端发送步骤703中的单码流以及指示消息中包括第三信息。
705,终端根据第三信息解码单码流,获得多个子码流,按照步骤701中的布局方式显示相应的多个子视频画面。
具体地,如果终端收到第三信息,则根据第三信息解码单码流。例如,在每个子码流包含一个分片时,终端可以解码每个分片,每个分片对应的区域可以由top_left[]和bottom_right[]定义,并且此区域独立于其它区域,如果发生运动矢量跨出此区域,则终端可以采取现有技术中落到图像区域外的方式进行处理,也就是可以进行填充(padding)处理。
如果每个子码流包含多个分片时,则终端可以将这些分片限制在该子码流对应的区域内进行光栅扫描,光栅扫描的区域可以由top_left[]和bottom_right[]定义。
此外,如果终端没有收到第三信息,则可以按照现有技术中解码每个子码流。
本发明实施例中,通过按照终端请求的布局方式将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
此外,本发明实施例中,通过第三信息指示单码流的图像参数,而无需修改各个子码流的数据包,能够提高业务实现的便利性。
在图7的例子中,各个子码流的帧结构是相同的,因此只需保留一个子码流的sps信息和pps信息。
可选地,在各个子码流的帧结构不同的情况下,除了指示消息包括的第三信息之外,指示消息还可以包括每个子码流的图像信息和每个子码流的片组信息,每个子码流的图像信息指示每个子码流的图像尺寸参数,每个子码流的片组信息指示所述每个子码流的片组参数。
具体地,沿用H.264标准的定义,每个子码流的图像信息可以是每个子码流的sps信息,每个子码流的片组信息可以是每个子码流的pps信息。这样可以在指示消息中包括每个子码流的sps信息和每个字母的pps信息。每个子码流的sps信息和pps信息可以位于每个子码流的第一个分片之前。这样,在每个子码流的帧结构不同的情况下,终端也能够根据第三信息以及每个子码流的sps信息和pps信息,解码单码流和每个子码流。
图8是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。在图8中,假设每个子码流的帧结构相同。
801,处理视频码流的装置从终端获取请求消息,请求消息携带多个子视频画面的地址信息和多个子视频画面的布局信息,该布局信息指示多个子视频画面的布局方式。
802,处理视频码流的装置根据步骤801中的地址信息,获取对应的多个子码流。
例如,地址信息可以包括url。处理视频码流的装置可以根据多个子视频画面的url,从服务器获取多个子码流。
此外,由于子码流合成单码流后,每个子码流的图像边界可能不再是边界,因此每个子码流被编码过程中,可以将运动矢量指向的参考图像设置为不跨出每个子码流对应的图像边界。
803,处理视频码流的装置根据步骤801中的布局方式,将多个子码流进行排列并合成为单码流,并生成指示消息,该指示消息包括第一信息和附加信息,其中第一信息指示单码流的图像尺寸参数,附加信息指示子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
具体地,沿用H.264标准的定义,第一信息可以是sps信息。sps信息的生成过程如下:
假设每个子码流的sps信息和pps信息的结构相同,处理视频码流的装置可以选取任意一个子码流的sps信息,解析出sps信息中的参数pic_height_in_map_units_minus1和pic_width_in_mbs_minus1,将参数pic_height_in_map_units_minus1的值设置为单码流的图像的高度值,将参数pic_width_in_mbs_minus1设置为单码流的图像的宽度值。
此外,附加信息可以附加于sps信息,即可以是在sps信息中增加的语法元素。下面给出附加信息的数据结构的一个例子。该例子只是为了帮助本领域技术人员理解本发明实施例,而非限制本发明实施例的范围。本领域技术人员根据所给出的伪代码的例子,显然可以进行各种等价的修改或变化,例如,附加信息的数据结构还可以采用其它新型视频编解码标准中定义的类似结构,这样的修改或变化也落入本发明实施例的范围内。
在多个子码流合成为单码流之前,sub_picture_merge的值为0。在合成单码流后,可以将sub_picture_merge的值设置为1。在上述的例子中,定义了所有子码流的分片的位置。同时,全部分片的数目可以表示为:
(num_sub_picture_minus1+1)×(num_slice_in_sub_picture_minus1+1)。
804,处理视频码流的装置向终端发送步骤803中的单码流以及指示消息中包括的第一信息和附加信息。
805,终端根据第一信息和附加信息解码单码流,获得多个子码流,按照步骤801中的布局方式显示相应的多个子视频画面。
具体地,如果终端确定sub_picture_merge的值为1,则可以根据第一信息和附加信息解码单码流。例如,在每个子码流包含一个分片时,终端可以解码每个分片,每个分片对应的区域可以由top_left[]和bottom_right[]定义,并且此区域独立于其它区域,如果发生运动矢量跨出此区域,则终端可以采取现有技术中落到图像区域外的方式进行处理,也就是可以进行填充处理。
如果每个子码流包含多个分片时,则终端可以将这些分片限制在该子码流对应的区域内进行光栅扫描,光栅扫描的区域可以由top_left[]和bottom_right[]定义。
此外,如果终端确定sub_picture_merge的值为0,则可以按照现有技术中解码每个子码流。
本发明实施例中,通过按照终端请求的布局方式将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
图9是采用图8的实施例合成单码流的过程的一个例子的示意图。
在图9中,假设终端请求4个子视频画面。每个子视频画面对应的子码流对应的图像尺寸均为320x320,即长宽均为20MB。每个子码流的每帧图像包含2个分片。
假设终端请求的子视频画面的布局方式为N宫格方式,则处理视频码流的装置按照N宫格方式,将4个子码流合成为单码流,则单码流的每帧图像尺寸为640x640,即长宽均为40MB。
根据图8的实施例,指示消息包括第一信息和附加信息。沿用H.264的定义,第一信息可以为sps信息,附加信息可以附加于sps信息。
在图9中,假设附加信息中的参数可以定义如下:
为了帮助本领域技术人员更好地理解本发明实施例,下面以终端解码单码流中的第2个子码流为例进行详细说明。应注意,其它子码流的解码过程类似,为了避免重复,此处不再赘述。
根据附加信息,第二个子码流对应的区域为20MB到799MB的矩形区域。在解码第二个子码流的分片2.1时,假设该分片的第一个宏块的位置first_mb_in_slice=0,则从该矩形区域的起始位置处进行光栅扫描,解码出分片2.1。在解码第二个子码流的分片2.2时,假设该分片的第一个宏块的位置first_mb_in_slice=150MB,则从该区域的第150个MB进行光栅扫描,解码处分片2.2。
如果在解码第二个子码流时,发生运动矢量跨出对应的区域的情况,则对该区域进行填充操作,该操作类似于现有标准中规定的对图像边界进行填充的操作,而不是使用相邻区域的图像数据。
本发明实施例中,通过按照终端请求的布局方式将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
图10是根据本发明另一实施例的合成单码流的过程的示意图。
终端发送的请求消息还可以携带布局信息,布局信息可以指示多个子视频画面的布局方式为N宫格方式,其中N为大于或等于2的正整数。处理视频码流的装置可以将每个子码流复制N个备份,并按照N宫格方式对每个子码流的N个备份进行排列,根据布局方式中每个子码流对应的子视频画面的位置,从每个子码流的N个备份中选取相应位置处的备份,并将选取的备份合成为单码流。
在图10中,假设子视频画面的数目为9,布局方式可以为9宫格方式。那么处理视频码流的装置可以将每个子码流都复制9个备份,将9个备份按照9宫格方式进行排列,并以任意分片顺序进行编码。按照终端请求的9宫格方式中每个子码流对应的子视频画面的位置,从每个子码流的9个备份中选取相应位置的备份,将这些备份合成为单码流。
本发明实施例中,通过按照终端请求的布局方式将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
图11是根据本发明实施例的处理视频码流的装置的示意框图。图11的装置1100可以位于服务器(例如图1中的服务器110),即可以与服务器集成在一起,也可以位于终端(例如图1中的终端120),即可以与终端集成在一起,本发明实施例对此不作限定。装置1100包括第一获取单元1110、第二获取单元1120、生成单元1130和发送单元1140。
第一获取单元1110从终端获取请求消息,请求消息携带多个子视频画面的地址信息。第二获取单元1120根据地址信息,获取与多个子视频画面一一对应的多个子码流。生成单元1130将多个子码流合成为单码流,并生成用于指示单码流的图像参数的指示消息。发送单元1140向终端发送单码流和指示消息,以便终端根据指示消息解码单码流并显示多个子视频画面。
本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
装置1100的其它功能和操作可参照上面图2至图10的方法实施例中涉及处理视频码流的装置的过程,为了避免重复,此处不再赘述。
可选地,作为一个实施例,生成单元1130可按照多个子视频画面的从上至下的排列方式,将多个子码流进行排列并合成为单码流,并生成指示消息,指示消息可包括第一信息和每个子码流的分片数据信息,其中第一信息指示单码流的图像尺寸参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
可选地,作为另一实施例,请求消息还可携带布局信息,该布局信息指示多个子视频画面的布局方式。生成单元1130可按照布局方式,将多个子码流进行排列,并合成为单码流。
可选地,作为另一实施例,生成单元1130可生成指示消息,指示消息可包括第一信息、第二信息和每个子码流的分片数据信息,其中第一信息指示单码流的图像尺寸参数,第二信息指示每个子码流的片组参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
可选地,作为另一实施例,生成单元1130可生成指示消息,指示消息可包括第三信息,其中第三信息指示单码流的图像尺寸参数、子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
可选地,作为另一实施例,指示消息还可包括每个子码流的图像信息和每个子码流的片组信息,每个子码流的图像信息指示每个子码流的图像尺寸参数,每个子码流的片组信息指示每个子码流的片组参数。
可选地,作为另一实施例,生成单元1130可生成指示消息,指示消息可包括第一信息和附加信息,其中第一信息指示单码流的图像尺寸参数,附加信息指示子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
可选地,作为另一实施例,请求消息还可携带布局信息,布局信息指示多个子视频画面的布局方式为N宫格方式,其中N为大于或等于2的正整数。生成单元1130可将每个子码流复制N个备份,并按照N宫格方式对每个子码流的N个备份进行排列,根据布局方式中每个子码流对应的子视频画面的位置,从每个子码流的N个备份中选取相应位置处的备份,并将选取的备份合成为单码流。
可选地,作为另一实施例,第二获取单元1120获取的每个子码流被编码过程中,运动矢量指向的参考图像可以被设置为不跨出每个子码流对应的图像边界。
本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
图12是根据本发明实施例的处理视频码流的装置的示意框图。装置1200可以位于服务器(例如图1中的服务器110),即可以与服务器集成在一起,也可以位于终端(例如图1中的终端120),即可以与终端集成在一起,本发明实施例对此不作限定。装置1200包括接收器1210、处理器1220、发送器1230和存储器1240。接收器1210、处理器1220、发送器1230和存储器1240通过总线1250相连接,并可以通过总线1250相互访问。总线1250可以包括数据总线,还可以包括电源总线、控制总线和状态信号总线等。
接收器1210从终端获取请求消息,请求消息携带多个子视频画面的地址信息。处理器1220根据地址信息,获取与多个子视频画面一一对应的多个子码流。处理器1220将多个子码流合成为单码流,并生成用于指示单码流的图像参数的指示消息。发送器1230向终端发送单码流和指示消息,以便终端根据指示消息解码单码流并显示多个子视频画面。
存储器1240可以包括只读存储器和随机存取存储器,可以存储指令,或者存储上述接收器1210、处理器1220或者发送器1230的处理结果或数据。
本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
装置1200的其它功能和操作可参照上面图1至图9的方法实施例中涉及处理视频码流的装置的过程,为了避免重复,此处不再赘述。
可选地,作为一个实施例,处理器1220可按照多个子视频画面的从上至下的排列方式,将多个子码流进行排列并合成为单码流,并生成指示消息,指示消息可包括第一信息和每个子码流的分片数据信息,其中第一信息指示单码流的图像尺寸参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
可选地,作为另一实施例,请求消息还可携带布局信息,该布局信息指示多个子视频画面的布局方式。处理器1220可按照布局方式,将多个子码流进行排列,并合成为单码流。
可选地,作为另一实施例,处理器1220可生成指示消息,指示消息可包括第一信息、第二信息和每个子码流的分片数据信息,其中第一信息指示单码流的图像尺寸参数,第二信息指示每个子码流的片组参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
可选地,作为另一实施例,处理器1220可生成指示消息,指示消息可包括第三信息,其中第三信息指示单码流的图像尺寸参数、子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
可选地,作为另一实施例,指示消息还可包括每个子码流的图像信息和每个子码流的片组信息,每个子码流的图像信息指示每个子码流的图像尺寸参数,每个子码流的片组信息指示每个子码流的片组参数。
可选地,作为另一实施例,处理器1220可生成指示消息,指示消息可包括第一信息和附加信息,其中第一信息指示单码流的图像尺寸参数,附加信息指示子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
可选地,作为另一实施例,请求消息还可携带布局信息,布局信息指示多个子视频画面的布局方式为N宫格方式,其中N为大于或等于2的正整数。处理器1220可将每个子码流复制N个备份,并按照N宫格方式对每个子码流的N个备份进行排列,根据布局方式中每个子码流对应的子视频画面的位置,从每个子码流的N个备份中选取相应位置处的备份,并将选取的备份合成为单码流。
可选地,作为另一实施例,处理器1220获取的每个子码流被编码过程中,运动矢量指向的参考图像可以被设置为不跨出每个子码流对应的图像边界。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种处理视频码流的方法,其特征在于,包括:
从终端获取请求消息,所述请求消息携带多个子视频画面的地址信息和布局信息,所述布局信息指示所述多个子视频画面的布局方式为N宫格方式,其中N为大于或等于2的正整数;
根据所述地址信息,获取与所述多个子视频画面一一对应的多个子码流;
将所述多个子码流中的每个子码流复制N个备份,并按照所述N宫格方式对每个子码流的N个备份进行排列;
根据所述布局方式中所述每个子码流对应的子视频画面的位置,从所述每个子码流的N个备份中选取相应位置处的备份;
将选取的备份合成为单码流,并生成用于指示所述单码流的图像参数的指示消息;
向所述终端发送所述单码流和所述指示消息,以便所述终端根据所述指示消息解码所述单码流并显示所述多个子视频画面。
2.根据权利要求1所述的方法,其特征在于,所述生成用于指示所述单码流的图像参数的指示消息,包括:
生成所述指示消息,所述指示消息包括第一信息、第二信息和每个子码流的分片数据信息,
其中所述第一信息指示所述单码流的图像尺寸参数,所述第二信息指示所述每个子码流的片组参数,所述每个子码流的分片数据信息指示所述每个子码流在所述单码流中的起始位置。
3.根据权利要求1所述的方法,其特征在于,所述生成用于指示所述单码流的图像参数的指示消息,包括:
生成所述指示消息,所述指示消息包括第三信息,
其中所述第三信息指示所述单码流的图像尺寸参数、所述子码流的数目、每个子码流在所述单码流中的位置参数以及所述每个子码流中的分片数目。
4.根据权利要求1所述的方法,其特征在于,所述指示消息还包括所述每个子码流的图像信息和所述每个子码流的片组信息,所述每个子码流的图像信息指示所述每个子码流的图像尺寸参数,所述每个子码流的片组信息指示所述每个子码流的片组参数。
5.根据权利要求1所述的方法,其特征在于,所述生成用于指示所述单码流的图像参数的指示消息,包括:
生成所述指示消息,所述指示消息包括第一信息和附加信息,
其中所述第一信息指示所述单码流的图像尺寸参数,所述附加信息指示所述子码流的数目、每个子码流在所述单码流中的位置参数以及所述每个子码流中的分片数目。
6.根据权利要求1至5中任一项所述的方法,其特征在于,每个子码流被编码过程中,运动矢量指向的参考图像被设置为不跨出所述每个子码流对应的图像边界。
7.一种处理视频码流的装置,其特征在于,包括:
第一获取单元,用于从终端获取请求消息,所述请求消息携带多个子视频画面的地址信息和布局信息,所述布局信息指示所述多个子视频画面的布局方式为N宫格方式,其中N为大于或等于2的正整数;
第二获取单元,用于根据所述地址信息,获取与所述多个子视频画面一一对应的多个子码流;
生成单元,用于:
将所述多个子码流中的每个子码流复制N个备份,并按照所述N宫格方式对每个子码流的N个备份进行排列;
根据所述布局方式中所述每个子码流对应的子视频画面的位置,从所述每个子码流的N个备份中选取相应位置处的备份;
将选取的备份合成为单码流,并生成用于指示所述单码流的图像参数的指示消息;
发送单元,用于向所述终端发送所述单码流和所述指示消息,以便所述终端根据所述指示消息解码所述单码流并显示所述多个子视频画面。
8.根据权利要求7所述的装置,其特征在于,所述生成单元具体用于生成所述指示消息,所述指示消息包括第一信息、第二信息和每个子码流的分片数据信息,其中所述第一信息指示所述单码流的图像尺寸参数,所述第二信息指示所述每个子码流的片组参数,所述每个子码流的分片数据信息指示所述每个子码流在所述单码流中的起始位置。
9.根据权利要求7所述的装置,其特征在于,所述生成单元具体用于生成所述指示消息,所述指示消息包括第三信息,其中所述第三信息指示所述单码流的图像尺寸参数、所述子码流的数目、每个子码流在所述单码流中的位置参数以及所述每个子码流中的分片数目。
10.根据权利要求7所述的装置,其特征在于,所述指示消息还包括所述每个子码流的图像信息和所述每个子码流的片组信息,所述每个子码流的图像信息指示所述每个子码流的图像尺寸参数,所述每个子码流的片组信息指示所述每个子码流的片组参数。
11.根据权利要求7所述的装置,其特征在于,所述生成单元具体用于生成所述指示消息,所述指示消息包括第一信息和附加信息,其中所述第一信息指示所述单码流的图像尺寸参数,所述附加信息指示所述子码流的数目、每个子码流在所述单码流中的位置参数以及所述每个子码流中的分片数目。
12.根据权利要求7至11中任一项所述的装置,其特征在于,所述第二获取单元获取的每个子码流被编码过程中,运动矢量指向的参考图像被设置为不跨出所述每个子码流对应的图像边界。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210394231.6A CN103780920B (zh) | 2012-10-17 | 2012-10-17 | 处理视频码流的方法及装置 |
ES13779108.3T ES2654771T3 (es) | 2012-10-17 | 2013-05-15 | Procedimiento y aparato para procesar un flujo de vídeo |
PCT/CN2013/075650 WO2014059788A1 (zh) | 2012-10-17 | 2013-05-15 | 处理视频码流的方法及装置 |
EP13779108.3A EP2739040B1 (en) | 2012-10-17 | 2013-05-15 | Method and apparatus for processing video stream |
US14/081,491 US9485294B2 (en) | 2012-10-17 | 2013-11-15 | Method and apparatus for processing video stream |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210394231.6A CN103780920B (zh) | 2012-10-17 | 2012-10-17 | 处理视频码流的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103780920A CN103780920A (zh) | 2014-05-07 |
CN103780920B true CN103780920B (zh) | 2018-04-27 |
Family
ID=50487519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210394231.6A Active CN103780920B (zh) | 2012-10-17 | 2012-10-17 | 处理视频码流的方法及装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2739040B1 (zh) |
CN (1) | CN103780920B (zh) |
ES (1) | ES2654771T3 (zh) |
WO (1) | WO2014059788A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338290B (zh) * | 2014-06-10 | 2019-04-12 | 杭州海康威视数字技术股份有限公司 | 码流的合成方法及装置 |
CN106941598A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 多画面码流合成方法、多画面码流合成控制方法及装置 |
CN107547933B (zh) * | 2016-06-23 | 2022-04-15 | 中兴通讯股份有限公司 | 播放画面生成方法、装置及系统 |
CN106411440A (zh) * | 2016-12-01 | 2017-02-15 | 成都苹果与蛇科技文化创意有限公司 | 一种基于互联网的多用户广播系统和方法 |
CN108881918A (zh) * | 2017-11-29 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种多路视频的处理方法和一种多媒体终端 |
CN110022481B (zh) * | 2018-01-10 | 2023-05-02 | 中兴通讯股份有限公司 | 视频码流的解码、生成方法及装置、存储介质、电子装置 |
CN110035331B (zh) | 2018-01-12 | 2021-02-09 | 华为技术有限公司 | 一种媒体信息的处理方法及装置 |
CN110519652B (zh) * | 2018-05-22 | 2021-05-18 | 华为软件技术有限公司 | Vr视频播放方法、终端及服务器 |
CN113163214A (zh) * | 2020-01-22 | 2021-07-23 | 华为技术有限公司 | 一种视频处理方法及其装置 |
CN113766255A (zh) * | 2021-01-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 视频流合并方法、装置、电子设备及计算机介质 |
CN114422839A (zh) * | 2021-12-31 | 2022-04-29 | 当趣网络科技(杭州)有限公司 | 一种多路投屏显示处理方法、装置以及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517253A (en) * | 1993-03-29 | 1996-05-14 | U.S. Philips Corporation | Multi-source video synchronization |
CN1581949A (zh) * | 2003-08-13 | 2005-02-16 | Lg电子株式会社 | 在显示设备中执行多画面的装置和方法 |
CN101442650A (zh) * | 2008-12-22 | 2009-05-27 | 深圳华为通信技术有限公司 | 马赛克电视业务的实现方法、装置及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030159143A1 (en) * | 2002-02-21 | 2003-08-21 | Peter Chan | Systems and methods for generating a real-time video program guide through video access of multiple channels |
US8332889B2 (en) * | 2006-02-10 | 2012-12-11 | Cox Communications, Inc. | Generating a personalized video mosaic in a cable services network |
JP5338278B2 (ja) * | 2008-11-26 | 2013-11-13 | ソニー株式会社 | 映像表示装置、映像表示システム、及び映像表示方法 |
-
2012
- 2012-10-17 CN CN201210394231.6A patent/CN103780920B/zh active Active
-
2013
- 2013-05-15 ES ES13779108.3T patent/ES2654771T3/es active Active
- 2013-05-15 EP EP13779108.3A patent/EP2739040B1/en active Active
- 2013-05-15 WO PCT/CN2013/075650 patent/WO2014059788A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517253A (en) * | 1993-03-29 | 1996-05-14 | U.S. Philips Corporation | Multi-source video synchronization |
CN1581949A (zh) * | 2003-08-13 | 2005-02-16 | Lg电子株式会社 | 在显示设备中执行多画面的装置和方法 |
CN101442650A (zh) * | 2008-12-22 | 2009-05-27 | 深圳华为通信技术有限公司 | 马赛克电视业务的实现方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2014059788A1 (zh) | 2014-04-24 |
EP2739040A1 (en) | 2014-06-04 |
CN103780920A (zh) | 2014-05-07 |
ES2654771T3 (es) | 2018-02-15 |
EP2739040B1 (en) | 2017-11-15 |
EP2739040A4 (en) | 2015-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103780920B (zh) | 处理视频码流的方法及装置 | |
JP6501933B2 (ja) | Xmlドキュメントの生成装置、生成方法、情報処理装置、情報処理方法、及びプログラム | |
KR102470889B1 (ko) | 미디어 데이터를 생성하기 위한 방법 | |
JP6516766B2 (ja) | 分割タイムドメディアデータのストリーミングを改善するための方法、デバイス、およびコンピュータプログラム | |
CN106131550B (zh) | 播放多媒体文件的方法及装置 | |
JP5444221B2 (ja) | メタデータのエンコーディング/デコーディング方法及び装置 | |
JP7399224B2 (ja) | メディアコンテンツを送信するための方法、装置及びコンピュータプログラム | |
CN103581698B (zh) | 终端设备以及视频数据发布方法 | |
CN103098466A (zh) | 图像处理装置、图像处理方法、动图像文件的数据结构、数据压缩装置、数据解码装置、数据压缩方法、数据解码方法及压缩动图像文件的数据结构 | |
AU2012285360A1 (en) | Transmission of reconstruction data in a tiered signal quality hierarchy | |
CN107634930A (zh) | 一种媒体数据的获取方法和装置 | |
CN108924582A (zh) | 视频录制方法、计算机可读存储介质及录播系统 | |
CN107683607A (zh) | 信息处理设备和信息处理方法 | |
RU2733218C2 (ru) | Способ, аппарат и поток для форматирования иммерсивного видеоизображения для традиционных и иммерсивных устройств воспроизведения | |
CN115225937B (zh) | 沉浸式媒体提供方法、获取方法、装置、设备及存储介质 | |
CN112425177A (zh) | 用于体积视频传输的方法和装置 | |
US7690018B2 (en) | Data processing apparatus and method | |
CN105681893B (zh) | 流媒体视频数据的解码方法和装置 | |
TW412910B (en) | Data structure for image transmission, method of image transmission, image decoding apparatus and data storage medium | |
CN108965917A (zh) | 视频图像的呈现、封装方法和视频图像的呈现、封装装置 | |
KR102243666B1 (ko) | 360도 비디오를 전송하는 방법, 360도 비디오를 수신하는 방법, 360도 비디오 전송 장치, 360도 비디오 수신 장치 | |
JP2019515578A (ja) | ビデオストリームを動的にステッチングするシステム及び方法 | |
WO2021105142A1 (en) | A method and apparatus for decoding a 3d video | |
KR102499900B1 (ko) | 고해상도 영상의 스트리밍을 위한 영상 전송 장치와 영상 재생 장치 및 그 동작 방법 | |
CN117221608A (zh) | 编码方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |