处理视频码流的方法及装置制造方法

文档序号:7984277阅读:230来源:国知局
处理视频码流的方法及装置制造方法
【专利摘要】本发明实施例提供处理视频码流的方法及装置。该方法包括:从终端获取请求消息,该请求消息携带多个子视频画面的地址信息;根据该地址信息,获取与多个子视频画面一一对应的多个子码流;将多个子码流合成为单码流,并生成用于指示该单码流的图像参数的指示消息;向该终端发送该单码流和该指示消息,以便该终端根据该指示消息解码该单码流并显示多个子视频画面。本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能。
【专利说明】处理视频码流的方法及装置
【技术领域】
[0001]本发明涉及信息【技术领域】,并且具体地,涉及处理视频码流的方法及装置。
【背景技术】
[0002]随着视频编解码技术和网络技术的发展,流媒体技术得到了广泛应用。例如,用户可以通过点播等方式,预览某种类型的电影或其它视频片段,这样需要在终端上同时显示多个缩小版的视频片段。一个比较直接的解决方式是终端从服务器获取这些视频片段对应的多个码流,对这些码流进行解码并在相应位置上播放。
[0003]目前,手持或非个人电脑(Personal Computer,PC)形态的终端所使用的处理器一般采用硬件解码,即在处理器中嵌入硬件解码内核。不过,并不是所有处理器都支持多码流解码。在支持多码流解码的芯片中,大都采用分时的方法处理该问题,即在解码内核中采用时分的方式同时解码多个码流,比如PowerVR的图形核心系列。不过,采用这种时分方式需要各个码流之间解码过程的切换,因此导致了解码性能的损失,同时增加了额外的控制逻辑。

【发明内容】

[0004]本发明实施例提供处理视频码流的方法及装置,能够提高终端的解码性能。
[0005]一方面,提供了一种处理视频码流的方法,包括:从终端获取请求消息,该请求消息携带多个子视频画面的地址信息;根据该地址信息,获取与多个子视频画面一一对应的多个子码流;将多个子码流合成为单码流,并生成用于指示该单码流的图像参数的指示消息;向该终端发送该单码流和该指示消息,以便该终端根据该指示消息解码该单码流并显示多个子视频画面。
[0006]另一方面,提供了一种处理视频码流的装置,包括:第一获取单元,用于从终端获取请求消息,该请求消息携带多个子视频画面的地址信息;第二获取单元,用于根据该地址信息,获取与多个子视频画面一一对应的多个子码流;生成单元,用于将多个子码流合成为单码流,并生成用于指示该单码流的图像参数的指示消息;发送单元,用于向该终端发送该单码流和该指示消息,以便该终端根据该指示消息解码该单码流并显示多个子视频画面。
[0007]本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能。
【专利附图】

【附图说明】
[0008]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0009]图1是可应用本发明实施例的网络场景的一个例子的示意图。
[0010]图2是根据本发明实施例的处理视频码流的方法的示意性流程图。
[0011]图3是根据本发明一个实施例的处理视频码流的方法的过程的示意性流程图。
[0012]图4是采用图3的实施例进行合成与解码单码流的过程的一个例子的示意图。
[0013]图5是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。
[0014]图6是采用图5的实施例合成单码流的过程的一个例子的示意图。
[0015]图7是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。
[0016]图8是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。
[0017]图9是采用图8的实施例合成单码流的过程的一个例子的示意图。
[0018]图10是根据本发明另一实施例的合成单码流的过程的示意图。
[0019]图11是根据本发明实施例的处理视频码流的装置的示意框图。
[0020]图12是根据本发明实施例的处理视频码流的装置的示意框图。
【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0022]图1是可应用本发明实施例的网络场景的一个例子的示意图。应注意,图1的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
[0023]在图1中,服务器110可以是流媒体技术中的服务器,比如流媒体服务器。终端120可以是能够播放流媒体的终端,例如可以是移动电话、便携式计算机、个人数字助理或便携式多媒体机等。
[0024]在流媒体技术中,服务器110中可以存储有多个媒体文件,比如电影或者其他视频。用户可以通过终端120向服务器110发起访问媒体文件的请求,服务器110可以在收到请求后将需要访问的媒体文件通过网络下发给终端120,由终端120进行播放。
[0025]在终端120处由于预览、点播等原因,存在在终端120上同时解码显示多个小画面的需求。例如,用户在点播环境中希望预览某种类型的电影或其它视频片段,在终端上会同时显示多个缩小版的视频片段,而不是单一的视频片段。这些小画面的组合可以是动态且多样化的。例如,在图1所示的终端120上,由于点播等需求,可以同时显示9个小画面。应注意,此处的数字只是举例说明,而非限制本发明实施例的范围。
[0026]为了使终端120能够显示多个小画面,需要对视频码流进行处理。下面将详细描述本发明实施例的处理视频码流的方法。
[0027]图2是根据本发明实施例的处理视频码流的方法的示意性流程图。图2的方法由处理视频码流的装置执行。
[0028]210,从终端获取请求消息,该请求消息携带多个子视频画面的地址信息。
[0029]本发明实施例中,多个子视频画面可以是用户通过终端点播的视频或者用户通过终端定制的视频等。多个子视频画面的地址信息可以包括统一资源定位符(uniformresource locator, url),也可以包括其它的地址内容,本发明实施例对此不作限定。[0030]220,根据该地址信息,获取与多个子视频画面一一对应的多个子码流。
[0031]230,将多个子码流合成为单码流,并生成用于指示该单码流的图像参数的指示消
肩、O
[0032]240,向终端发送该单码流和该指示消息,以便终端根据该指示消息解码该单码流并显示多个子视频画面。
[0033]本发明实施例中,处理视频码流的装置可以将多个子码流直接合成为单码流,而无需先对多个子码流进行解码,再将解码得到的多个子视频进行重新压缩编码为单码流,因此能够提高处理效率。此外,终端通过解码单码流就能够显示多个子视频画面,这样终端只要支持正常的视频解码即可,无需同时解码多个子码流并进行解码切换,从而能够提高终端的解码性能,并能够提高业务实现的便利性。
[0034]本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
[0035]可选地,作为一个实施例,在步骤230中,处理视频码流的装置可以按照多个子视频画面的从上至下的排列方式,将多个子码流进行排列并合成为单码流,并生成指示消息,该指示消息包括第一信息和每个子码流的分片(slice)数据信息,其中第一信息可以指示单码流的图像尺寸参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
[0036]具体地,每个子码流的帧结构可以是相同的,即每个子码流的每帧图像的图像类型可以是相同的,则每个子码流中每帧图像的宽度可以是相同的。处理视频码流的装置可以按照从上至下的方式将多个子码流的每帧图像进行排列,合成为单码流的每帧图像。第一信息所指示的单码流的图像尺寸参数可以包括单码流中每帧图像的高度和宽度,单码流中每帧图像的高度可以是多个子码流的图像的高度之和。由于按照从上至下的方式合成单码流,因此单码流中每帧图像的宽度可以是每个子码流的图像的宽度。
[0037]本发明实施例中,由于处理视频码流的装置是按照从上至下的方式将多个子码流合成单码流,因此,终端可以在解码单码流后,可以按照终端所需要的多个子视频画面的布局方式将对应的多个子码流进行排列,从而按照需要的布局方式显示多个子视频画面。
[0038]可选地,作为另一实施例,在步骤210中,该请求消息还可以携带布局信息,该布局信息可以指示多个子视频画面的布局方式。在步骤230中,处理视频码流的装置可以按照该布局方式,将多个子码流进行排列,并合成为单码流。
[0039]本发明实施例中,处理视频码流的装置按照终端请求的布局方式将多个子码流进行排列,并合成为单码流,因此终端在解码单码流后,无需再对多个子码流进行重新排列,可以直接按照布局方式显示多个子视频画面,能够提高业务实现的便利性。
[0040]可选地,作为另一实施例,在步骤230中,处理视频码流的装置可以按照该布局方式,将多个子码流进行排列,并合成为单码流。那么处理视频码流的装置可以生成指示消息,该指示消息包括第一信息、第二信息和每个子码流的分片数据信息,其中第一信息可以指示单码流的图像尺寸参数,第二信息可以指示每个子码流的片组(slice group)参数,每个子码流的分片数据信息可以指示每个子码流在单码流中的起始位置。
[0041]具体地,每个子码流的帧结构可以是相同的,即每个子码流的每帧图像的图像类型可以是相同的。第一信息所指示的单码流的图像尺寸参数可以包括单码流中每帧图像的高度和宽度。第二信息所指示的每个子码流的片组参数可以包括每个子码流的片组类型、每个子码流的片组数目以及每个子码流中每个分片的位置参数等。
[0042]可选地,作为另一实施例,在步骤230中,处理视频码流的装置可以按照该布局方式,将多个子码流进行排列,并合成为单码流。那么处理视频码流的装置可以生成指示消息,指示消息包括第三信息,其中第三信息可以指示单码流的图像尺寸参数、子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
[0043]具体地,每个子码流的帧结构可以是相同的。处理视频码流的装置可以通过第三信息指示单码流的相关参数。其中,单码流的图像尺寸参数可以包括单码流中每帧图像的高度和宽度。
[0044]此外,第三信息可以位于单码流的第一个分片之前,终端收到第三信息后,可以按照第三信息所指示的参数解码单码流。如果终端没有收到第三信息,那么可以按照现有技术解码接收到的子码流。
[0045]可选地,作为另一实施例,在步骤230中,除了指示消息包括的第三信息之外,指示消息还可以包括每个子码流的图像信息和每个子码流的片组信息,每个子码流的图像信息可以指示每个子码流的图像尺寸参数,每个子码流的片组信息指示每个子码流的片组参数。
[0046]具体地,指示消息可以通过第三信息指示单码流的相关参数,还可以包括每个子码流的具体参数。这样,在每个子码流的帧结构不相同的情况下,终端可以根据第三信息解码单码流,并根据每个子码流的图像信息和片组信息解码每个子码流。每个子码流的图像信息和片组信息可以位于每个子码流的第一个分片之前。因此本发明实施例能够适用于多个子码流的帧结构不相同的情况。
[0047]可选地,作为另一实施例,在步骤230中,处理视频码流的装置可以按照该布局方式,将多个子码流进行排列,并合成为单码流。那么处理视频码流的装置可以生成指示消息,指示消息可以包括第一信息和附加信息,其中第一信息可以指示单码流的图像尺寸参数,附加信息可以指示子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
[0048]可选地,作为另一实施例,在上述多个子码流合成单码流的方式下,每个子码流被编码过程中,运动矢量指向的参考图像可以被设置为不跨出每个子码流对应的图像边界。由于多个子码流合成单码流后,每个子码流的图像的边界可能不再是边界,为了避免对合成的单码流解码错误,需要将运动矢量指向的参考图像设置为不跨出每个子码流对应的图像边界。
[0049]可选地,作为另一实施例,在步骤210中,请求消息还可以携带布局信息,布局信息可以指示多个子视频画面的布局方式为N宫格方式,其中N为大于或等于2的正整数。在步骤230中,将每个子码流复制N个备份,并按照N宫格方式对每个子码流的N个备份进行排列;根据布局方式中每个子码流对应的子视频画面的位置,从每个子码流的N个备份中选取相应位置处的备份,并将选取的备份合成为单码流。
[0050]具体地,处理视频码流的装置可以将每个子码流复制N个备份,按照N宫格方式将每个子码流的N个备份进行排列并存储,这样每个子码流在N宫格不同位置的情况下均有备份。这样在终端请求的布局方式为N宫格方式时,根据终端请求的N宫格方式中每个子码流对应的子视频画面的位置,从每个子码流的N个备份中选取相应位置的备份,将这些备份合成为单码流。因此,本发明实施例能够提高业务实现的便利性。
[0051]本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
[0052]下面将结合具体例子详细描述本发明实施例。应注意,这些例子是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
[0053]图3是根据本发明一个实施例的处理视频码流的方法的过程的示意性流程图。在图3中,以采用H.264 (或MPEG4 AVC PART 10)标准进行编解码为例进行说明。
[0054]301,处理视频码流的装置从终端获取请求消息,请求消息携带多个子视频画面的地址信息。
[0055]302,处理视频码流的装置可以根据步骤301中的地址信息,获取对应的多个子码流。
[0056]例如,地址信息可以包括url。处理视频码流的装置可以根据多个子视频画面的url,从服务器获取多个子码流。
[0057]此处假设多个子码流的帧结构相同,也就是各个子码流的每帧图像的图像类型相同。
[0058]此外,由于子码流合成单码流后,每个子码流的图像边界可能不再是边界,因此每个子码流被编码过程中,可以将运动矢量指向的参考图像设置为不跨出每个子码流对应的图像边界。
[0059]303,处理视频码流的装置按照从上至下的方式,将多个子码流进行排列,合成为单码流,并生成指示消息,该指示消息可以包括第一信息和每个子码流的分片数据信息,其中第一信息指示单码流的图像尺寸参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
[0060]具体地,处理视频码流的装置可以将各个子码流的每帧图像按照从上至下的方式进行排列,合成为单码流的每帧图像。这样,多个子码流的分片排列方式仍然可以是光栅扫描(Raster Scan)方式,不需要使用任意分片顺序(Arbitrary Slice Order)模式,从而可以在非基线类(Baseline Profile)时合成单码流。
[0061]根据H.264标准中的参数定义,第一信息可以是序列参数集(sequence parameterset,sps)信息,sps信息可以用于指示单码流的图像尺寸参数,sps信息的生成过程可以如下:
[0062](I)由于每个子码流的sps信息都是相同的,处理视频码流的装置可以选取任意一个子码流的Sps信息。
[0063](2)处理视频码流的装置可以解析出sps信息中的参数pic_height_in_map_units_minusl,将该参数的值设置为单码流的图像的高度值减1,其中高度值的单位为映射单元(map unit)。根据子码流的不同定义,一个映射单元可以包括一个宏块(Macroblock,MB)或两个宏块,本发明实施例对此不作限定。由于多个子码流是按照从上至下的方式合成单码流的,单码流的图像的宽度值为每个子码流的图像的宽度值,因此sps信息中的参数 pic_width_in_mbs_minusl 可以保持不变,参数 pic_width_in_mbs_minusl 表不单码流的图像的宽度值减1,其中宽度值的单位为宏块。
[0064](3) sps信息中的其它参数值可以保持不变,其它参数的具体定义可参照H.264标准。处理视频码流的装置可以将sps信息中其它参数对应的字节进行对齐处理。
[0065]根据H.263标准中的定义,每个子码流的分片数据信息中的分片头(sliceheader)数据可以指示每个子码流在单码流中的起始位置。具体地,处理视频码流的装置将每个子码流的分片头数据中的参数first_mb_in_slice进行相应的设置,参数first_mb_in_slice表示每个子码流的图像的第一个宏块在单码流的图像的位置,也就是每个子码流在单码流中的起始位置。
[0066]此外,每个子码流的分片数据信息中还可以包括帧编号参数frame_num和即时解码刷新(Instantaneous Decoding Refresh, IDR)图像标识参数 idr_pic_id。将每个子码流的frame_num和idr_pic_id进行相应的设置。
[0067]304,处理视频码流的装置向终端发送步骤303中的单码流和指示消息。
[0068]305,终端根据指示消息解码单码流,获得多个子码流,将多个子码流按照所需要的布局方式进行排列,显示相应的多个子视频画面。
[0069]图4是采用图3的实施例进行合成与解码单码流的过程的一个例子的示意图。在图4中,假设子视频画面的数目为9,布局方式为9宫格方式。终端在解码单码流后,按照9宫格方式排列9个子码流进行显示。
[0070]本发明实施例中,通过将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
[0071]图5是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。在图5中,以采用H.264 (或MPEG4AVC PART 10)标准进行编解码为例进行说明。
[0072]501,处理视频码流的装置从终端获取请求消息,请求消息携带多个子视频画面的地址信息和多个子视频画面的布局信息,该布局信息指示多个子视频画面的布局方式。
[0073]502,处理视频码流的装置根据步骤501中的地址信息,获取对应的多个子码流。
[0074]例如,地址信息可以包括url。处理视频码流的装置可以根据多个子视频画面的url,从服务器获取多个子码流。
[0075]此处假设多个子码流的帧结构相同,也就是各个子码流的每帧图像的图像类型相同。
[0076]此外,由于子码流合成单码流后,每个子码流的图像边界可能不再是边界,因此每个子码流被编码过程中,可以将运动矢量指向的参考图像设置为不跨出每个子码流对应的图像边界。
[0077]503,处理视频码流的装置根据步骤501中的布局方式,将多个子码流进行排列并合成为单码流,并生成指示消息,该指示消息可以包括第一信息、第二信息和每个子码流的分片数据信息,其中第一信息指示单码流的图像尺寸参数,第二信息指示每个子码流的片组参数,每个子码流的分片数据信息指示每个子码流在单码流中的起始位置。
[0078]具体地,处理视频码流的装置可以按照步骤501中的布局方式,将多个子码流的每帧图像进行排列并合成为单码流的每帧图像。根据H.264标准,此时合成单码流需要使用任意分片顺序模式,因此每个子码流可采用基线类编码。
[0079]根据H.264标准以及每个子码流中每帧图像包含的分片数目,合成单码流的情况可以分为以下两种:
[0080](I)当每个子码流的每巾贞图像只包含一个分片时,可以使用slice_group_map_type=2的方式合成单码流,即单码流的每帧图像由多个矩形分片组成,每个分片就是一个子码流。
[0081](2)当每个子码流的每巾贞图像包含一个或多个分片时,可以使用slice_group_map_type=6的方式合成单码流,即具体地标明每个映射单元属于哪个分片。单码流的每中贞图像由多个矩形区域组成,每个区域就是一个子码流,而每个区域内又包含一个或多个分片,即对应的子码流的多个分片。
[0082]为了方便描述,以下将以每个子码流的每帧图像包含一个分片为例进行说明,但本发明实施例并不限于此,对于每个子码流的每帧图像包含多个分片的情况,处理过程是类似的,为了避免重复,此处不再赘述。
[0083]根据H.264标准的参数定义,第一信息可以是sps信息。sps信息可以指示单码流的图像尺寸参数,SPS信息的生成过程可以如下:
[0084]由于每个子码流的sps信息都是相同的,处理视频码流的装置可以选取任意一个子码流的sps信息,解析出sps信息中的参数pic_height_in_map_units_minusl和pic_width_in_mbs_minusl,将参数 pic_height_in_map_units_minusl 的值设置为单码流的图像的高度值减I,其中高度值的单位为映射单元。将参数pic_width_in_mbs_minusl设置为单码流的图像的宽度值减1,其中宽度值的单位为宏块。sps信息中的其它参数值可以保持不变,其它参数的具体定义可参照H.264标准。然后处理视频码流的装置可以将sps信息中参数 pic_height_in_map_units_minusl 和 pic_width_in_mbs_minusl 之后的字节进行对齐处理。
[0085]根据H.264标准的参数定义,第二信息可以是图像参数集(picture parameterset, pps)信息,pps信息可以指示每个子码流的片组参数,pps信息的生成过程可以如下:
[0086](I)由于每个子码流的pps信息是相同的,处理视频码流的装置可以选取任意一个子码流的pps信息。
[0087](2)处理视频码流的装置可以设置pps信息中的片组类型参数siice_group_map_type=20
[0088](3)处理视频码流的装置可以设置片组数目参数num_slice_groups_minusl为9个子码流的总分片数减I。
[0089](4)处理视频码流的装置可以为每个子码流的每个分片设置左上位置的值top_left[]和右下位置的值bottom_right[]。
[0090](5)pps信息中的其它参数可以保持不变,其它参数的定义可以参照H.264标准。处理视频码流的装置可以将其它参数的部分进行字节对齐处理。
[0091]根据H.263标准中的定义,每个子码流的分片数据信息中的分片头数据可以指示每个子码流在单码流中的起始位置。具体地,处理视频码流的装置将每个子码流的分片头数据中的参数first_mb_in_slice进行相应的设置,参数first_mb_in_slice表示每个子码流的图像的第一个宏块在单码流的图像的位置,也就是每个子码流在单码流中的起始位置。
[0092]此外,每个子码流的分片数据信息中还可以包括帧编号参数frame_num和即时解码刷新(Instantaneous Decoding Refresh, IDR)图像标识参数 idr_pic_id。将每个子码流的frame_num和idr_pic_id进行相应的设置。
[0093]504,处理视频码流的装置向终端发送步骤503中的单码流和指示消息。
[0094]505,终端根据指示消息解码单码流,获得多个子码流,按照步骤501中的布局方式显示相应的多个子视频画面。
[0095]图6是采用图5的实施例合成单码流的过程的一个例子的示意图。在图6中,假设子视频画面的数目为9,布局方式为9宫格方式。
[0096]本发明实施例中,通过按照终端请求的布局方式将多个子码流合成为单码流,使得终端通过解码该单码流就能够显示多个子视频画面,从而无需多个子码流之间的解码切换,因此能够提高终端的解码性能和业务实现的便利性。
[0097]图7是根据本发明另一实施例的处理视频码流的方法的过程的示意性流程图。在图7中,可以不采用H.264标准进行编解码,可以是采用其它新标准进行编解码,可以基于自定制的编解码器 实现。
[0098]701,处理视频码流的装置从终端获取请求消息,请求消息携带多个子视频画面的地址信息和多个子视频画面的布局信息,该布局信息指示多个子视频画面的布局方式。
[0099]702,处理视频码流的装置根据步骤701中的地址信息,获取对应的多个子码流。
[0100]例如,地址信息可以包括url。处理视频码流的装置可以根据多个子视频画面的url,从服务器获取多个子码流。此处假设服务器是以相同的帧结构编码每个子码流。
[0101]此外,由于子码流合成单码流后,每个子码流的图像边界可能不再是边界,因此每个子码流被编码过程中,可以将运动矢量指向的参考图像设置为不跨出每个子码流对应的图像边界。
[0102]703,处理视频码流的装置根据步骤701中的布局方式,将多个子码流进行排列并合成为单码流,并生成指不消息,该指不消息包括第二?目息,其中第二?目息指不单码流的图像尺寸参数、子码流的数目、每个子码流在单码流中的位置参数以及每个子码流中的分片数目。
[0103]此处沿用H.264标准中的定义,假设每个子码流的sps信息、pps信息和分片头数据的结构相同,因此在合成单码流后,可以保留一套SPS信息、PPS信息和分片头数据。由于本发明实施例中,通过第三信息指示单码流的图像参数,因此可以不对这些信息进行重新设置。
[0104]下面给出第三信息的数据结构的一个例子。该例子只是为了帮助本领域技术人员理解本发明实施例,而非限制本发明实施例的范围。本领域技术人员根据所给出的伪代码的例子,显然可以进行各种等价的修改或变化,例如,第三信息的数据结构还可以采用其它新型视频编解码标准中定义的类似结构,这样的修改或变化也落入本发明实施例的范围内。
[0105]
【权利要求】
1.一种处理视频码流的方法,其特征在于,包括: 从终端获取请求消息,所述请求消息携带多个子视频画面的地址信息; 根据所述地址信息,获取与所述多个子视频画面一一对应的多个子码流; 将所述多个子码流合成为单码流,并生成用于指示所述单码流的图像参数的指示消息; 向所述终端发送所述单码流和所述指示消息,以便所述终端根据所述指示消息解码所述单码流并显示所述多个子视频画面。
2.根据权利要求1所述的方法,其特征在于,所述将所述多个子码流合成为单码流,并生成用于指示所述单码流的图像参数的指示消息,包括: 按照所述多个子视频画面的从上至下的排列方式,将所述多个子码流进行排列并合成为所述单码流; 生成所述指示消息,所述指示消息包括第一信息和每个子码流的分片数据信息,其中所述第一信息指示所述单码流的图像尺寸参数,所述每个子码流的分片数据信息指示所述每个子码流在所述单码流中的起始位置。
3.根据权利要求1所述的方法,其特征在于,所述请求消息还携带布局信息,所述布局信息指示所述多个子视频画面的布局方式; 所述将所述多个子码流合成为单码流包括: 按照所述布局方式,将所述多个子码流进行排列,并合成为所述单码流。
4.根据权利要求3所述的方法,其特征在于,所述生成用于指示所述单码流的图像参数的指示消息,包括: 生成所述指示消息,所述指示消息包括第一信息、第二信息和每个子码流的分片数据信息, 其中所述第一信息指示所述单码流的图像尺寸参数,所述第二信息指示所述每个子码流的片组参数,所述每个子码流的分片数据信息指示所述每个子码流在所述单码流中的起始位置。
5.根据权利要求3所述的方法,其特征在于,所述生成用于指示所述单码流的图像参数的指示消息,包括: 生成所述指示消息,所述指示消息包括第三信息, 其中所述第三信息指示所述单码流的图像尺寸参数、所述子码流的数目、每个子码流在所述单码流中的位置参数以及所述每个子码流中的分片数目。
6.根据权利要求5所述的方法,其特征在于,所述指示消息还包括所述每个子码流的图像信息和所述每个子码流的片组信息,所述每个子码流的图像信息指示所述每个子码流的图像尺寸参数,所述每个子码流的片组信息指示所述每个子码流的片组参数。
7.根据权利要求3所述的方法,其特征在于,所述生成用于指示所述单码流的图像参数的指示消息,包括: 生成所述指示消息,所述指示消息包括第一信息和附加信息, 其中所述第一信息指示所述单码流的图像尺寸参数,所述附加信息指示所述子码流的数目、每个子码流在所述单码流中的位置参数以及所述每个子码流中的分片数目。
8.根据权利要求1所述的方法,其特征在于,所述请求消息还携带布局信息,所述布局信息指示所述多个子视频画面的布局方式为N宫格方式,其中N为大于或等于2的正整数; 所述将所述多个子码流合成为单码流包括:将每个子码流复制N个备份,并按照所述N宫格方式对每个子码流的N个备份进行排列; 根据所述布局方式中每个子码流对应的子视频画面的位置,从所述每个子码流的N个备份中选取相应位置处的备份,并将选取的备份合成为单码流。
9.根据权利要求2至7中任一项所述的方法,其特征在于,每个子码流被编码过程中,运动矢量指向的参考图像被设置为不跨出所述每个子码流对应的图像边界。
10.一种处理视频码流的装置,其特征在于,包括: 第一获取单元,用于从终端获取请求消息,所述请求消息携带多个子视频画面的地址信息; 第二获取单元,用于根据所述地址信息,获取与所述多个子视频画面一一对应的多个子码流; 生成单元,用于将所述多个子码流合成为单码流,并生成用于指示所述单码流的图像参数的指示消息; 发送单元,用于向所述终端发送所述单码流和所述指示消息,以便所述终端根据所述指示消息解码所述单码流并显示所述多个子视频画面。
11.根据权利要求10所`述的装置,其特征在于,所述生成单元具体用于按照所述多个子视频画面的从上至下的排列方式,将所述多个子码流进行排列并合成为所述单码流;生成所述指示消息,所述指示消息包括第一信息和每个子码流的分片数据信息,其中所述第一信息指示所述单码流的图像尺寸参数,所述每个子码流的分片数据信息指示所述每个子码流在所述单码流中的起始位置。
12.根据权利要求10所述的装置,其特征在于,所述请求消息还携带布局信息,所述布局信息指示所述多个子视频画面的布局方式; 所述生成单元具体用于按照所述布局方式,将所述多个子码流进行排列,并合成为所述单码流。
13.根据权利要求12所述的装置,其特征在于,所述生成单元具体用于生成所述指示消息,所述指示消息包括第一信息、第二信息和每个子码流的分片数据信息,其中所述第一信息指示所述单码流的图像尺寸参数,所述第二信息指示所述每个子码流的片组参数,所述每个子码流的分片数据信息指示所述每个子码流在所述单码流中的起始位置。
14.根据权利要求12所述的装置,其特征在于,所述生成单元具体用于生成所述指示消息,所述指示消息包括第三信息,其中所述第三信息指示所述单码流的图像尺寸参数、所述子码流的数目、每个子码流在所述单码流中的位置参数以及所述每个子码流中的分片数目。
15.根据权利要求14所述的装置,其特征在于,所述指示消息还包括所述每个子码流的图像信息和所述每个子码流的片组信息,所述每个子码流的图像信息指示所述每个子码流的图像尺寸参数,所述每个子码流的片组信息指示所述每个子码流的片组参数。
16.根据权利要求12所述的装置,其特征在于,所述生成单元具体用于生成所述指示消息,所述指示消息包括第一信息和附加信息,其中所述第一信息指示所述单码流的图像尺寸参数,所述附加信息指示所述子码流的数目、每个子码流在所述单码流中的位置参数以及所述每个子码流中的分片数目。
17.根据权利要求10所述的装置,其特征在于,所述请求消息还携带布局信息,所述布局信息指示所述多个子视频画面的布局方式为N宫格方式,其中N为大于或等于2的正整数; 所述生成单元具体用于将每个子码流复制N个备份,并按照所述N宫格方式对每个子码流的N个备份进行排列;根据所述布局方式中每个子码流对应的子视频画面的位置,从所述每个子码流的N个备份中选取相应位置处的备份,并将选取的备份合成为单码流。
18.根据权利要求11至16中任一项所述的装置,其特征在于,所述第二获取单元获取的每个子码流被编码过程中,运动矢量指向的参考图像被设置为不跨出所述每个子码流对应的图 像边界。
【文档编号】H04N21/238GK103780920SQ201210394231
【公开日】2014年5月7日 申请日期:2012年10月17日 优先权日:2012年10月17日
【发明者】王栋, 胡昌启, 邸佩云, 姚峻, 刘欣 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1