CN102833583A - 一种视频图像的处理方法及装置 - Google Patents

一种视频图像的处理方法及装置 Download PDF

Info

Publication number
CN102833583A
CN102833583A CN2012102655210A CN201210265521A CN102833583A CN 102833583 A CN102833583 A CN 102833583A CN 2012102655210 A CN2012102655210 A CN 2012102655210A CN 201210265521 A CN201210265521 A CN 201210265521A CN 102833583 A CN102833583 A CN 102833583A
Authority
CN
China
Prior art keywords
video image
motion vector
coding
zone
encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012102655210A
Other languages
English (en)
Other versions
CN102833583B (zh
Inventor
李闯
牛长峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu shiboyun Information Technology Co., Ltd
Original Assignee
BEIJING CYBER CLOUD TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING CYBER CLOUD TECHNOLOGY Co Ltd filed Critical BEIJING CYBER CLOUD TECHNOLOGY Co Ltd
Priority to CN201210265521.0A priority Critical patent/CN102833583B/zh
Publication of CN102833583A publication Critical patent/CN102833583A/zh
Application granted granted Critical
Publication of CN102833583B publication Critical patent/CN102833583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频图像的处理方法及装置,用以解决现有技术中服务器压力过大,并发路数较少的问题。该方法采用预先编码的方式对要嵌入第一视频图像的第二视频图像进行编码,在对第一视频图像进行编码时,对于第一视频图像中位于嵌入区域之外的图像,则采用实时编码的方式进行编码,对于第一视频图像中位于嵌入区域中的图像,则直接将第二视频图像的编码作为第一视频图像中位于嵌入区域中的图像的编码。通过上述方法,减少了第一视频图像中需要采用实时编码方式进行编码的区域,因此降低了实时编码的运算量,减轻了服务器的压力,提高服务器的并发路数。

Description

一种视频图像的处理方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种视频图像的处理方法及装置。
背景技术
数字视频变换盒,又称为机顶盒,其基本功能是将视频码流进行解码,转换为视频图像并在电视上显示。
随着技术的发展,用户的需求也越来越多样化,扩展电视所能提供的功能,使用户能够像使用计算机一样使用电视,已经成为各服务提供商追求的目标。
由于电视的基本功能就是显示视频图像,而机顶盒的基本功能就是对视频码流进行解码,因此目前对电视所能提供的功能进行扩展的方法为:设置与机顶盒具有通信链接的服务器,通过设置的服务器扩展电视的功能。
采用上述方法扩展电视的功能时,服务器可以看作是计算机的主机,电视可以看作是计算机的显示器。具体的,服务器接收用户通过机顶盒发送的指令,并根据指令生成相应的图像,将图像返回给机顶盒,机顶盒将图像发送给电视显示。
但是,由于服务器并不能预知用户接下来将要进行什么样的操作,也即不能预知自身将接收到何种操作指令,也就不能预知当前生成的图像将会如何变化,因此,为了使电视显示的图像能够实时的反映出用户的操作,服务器需要对生成的图像进行实时的采集,采集成一帧一帧的视频图像,进而形成视频,并对采集到的每帧视频图像进行编码,形成视频码流,将视频码流发送给机顶盒。
由于机顶盒的基本功能就是对视频码流进行解码,因此上述扩展电视功能的方法只需要针对机顶盒增加向服务器发送指令的功能即可,对于服务器实时返回的视频码流,机顶盒则可以采用其基本功能对视频码流进行解码,并发送给电视显示。
一般的,对视频图像进行编码的方式有两种,第一种是实时编码的方式,第二种是预先编码的方式。
实时编码的方式适用于对视频图像的采集和播放的实时性要求较高的场景。例如,在对球赛进行实况转播时,需要使用户可以通过电视播放的视频图像获知当前正在进行的球赛的赛况,而由于无法预知后续发生的赛况,因此球赛现场的摄像机要对球赛进行实时的拍摄,也即实时的采集视频图像,并需要对采集到的视频图像立刻进行发送,实现球赛的实况转播。此时,由于球赛的视频图像是由摄像机实时采集的,而且采集到的视频图像又需要被实时的发送出去进行播放,因此对视频图像的采集和播放的实时性要求较高,需要采用实时编码的方式对采集的视频图像进行编码。
在采用实时编码的方式进行编码时,由于视频图像的采集和播放均要求较高的实时性,因此实时编码的方式要求编码速率不低于视频图像的采集速率。继续沿用上例,由于球赛的视频图像是由球赛现场的摄像机实时采集的,而为了保证视频画面的流畅度,需要采用较高的速率采集视频图像。假设采集球赛的视频图像是采用50帧/秒的速率进行采集的,也即每秒采集50帧视频图像,由于采集到的视频图像又需要被实时的发送出去进行播放,因此对采集到的视频图像进行编码的编码速率应不小于50帧/秒。
预先编码的方式适用于对视频图像的播放的实时性要求较低的场景。继续以球赛为例进行说明,假设球赛是以录播的形式播放的,则仍需要由球赛现场的摄像机对球赛的视频图像进行实时采集,但是采集到的视频图像不需要被实时的发送并播放,可以先存储采集到的视频图像,然后在后续指定的时间段进行播放。此时,由于不需要对实时采集到的视频图像进行实时的播放,因此对视频图像的播放的实时性要求较低,采用预先编码的方式对采集的视频图像进行编码。
在采用预先编码的方式进行编码时,由于对视频图像的播放要求的实时性较低,因此预先编码的方式并不要求较高的编码速率。继续沿用上例,假设采集球赛的视频图像是采用50帧/秒的速率进行采集的,但由于采集到的视频图像并不需要实时的发送并播放,可以先存储采集的视频图像,在后续指定的时间段再进行播放,因此对采集到的视频图像进行编码的编码速率可以低于50帧/秒,例如25帧/秒,甚至1帧/秒。理论上预先编码的方式可以采用任何编码速率进行编码,只要能够完成视频图像的编码即可。对球赛的视频编码完成后,在需要播放该视频时,只需要将编码后的视频图像取出,并按照50帧/秒的帧率进行播放即可。
需要说明的是,实时编码的方式与预先编码的方式相比,仅就对视频图像的编码方法而言,二者是基本相同的,不同之处就在于:实时编码的方式用于需要对实时采集的视频图像进行实时发送并播放的场景,要求较高的编码速率,而预先编码的方式用于不需要对实时采集的视频图像进行实时发送并播放的场景,可以采用较低的编码速率。
当采用设置的服务器扩展电视的功能时,由于需要使电视显示的图像能够实时反映出用户的操作,因此服务器就需要对生成的图像画面进行实时的采集,采集成一帧一帧的视频图像,并将采集的视频图像进行实时的发送和播放,从而上述服务器对采集的视频图像进行编码时,就需要采用实时编码的方式进行编码。
然而,目前服务器在根据用户发送的操作指令生成图像,并采集得到视频图像时,经常会在采集的视频图像中插入一些其他的视频图像,如图1所示。图1为现有技术中服务器根据用户发送的操作指令生成的图像的示意图。
在图1中,假设用户通过机顶盒发送的操作指令为显示菜单指令,则服务器根据该操作指令生成菜单图像,菜单图像中包括电视节目按钮、财经信息按钮、广播节目按钮、电影点播按钮。后续的过程中,用户则可以通过机顶盒选择其所需要的功能对应的按钮,例如通过机顶盒的方向键进行选择,服务器则将当前选择的按钮进行高亮显示。此时服务器要实时的对菜单图像进行采集,采集成视频图像,并采用实时编码的方式对采集的视频图像进行编码。
需要说明的是,由于服务器发送给机顶盒的并非是一帧单独的图像,而是对生成的图像进行采集形成的视频图像,因此当用户不进行任何操作时,虽然用户在电视上看到的图像是静止不动的,但其实用户看到的是服务器对生成的图像实时采集的每帧视频图像所形成的视频。
在图1所示的图像中,除了上述按钮之外,还存在着大量的空白区域,因此可以利用这些空白区域嵌入其他的视频图像,例如滚动播放的提示信息、广告等。
但是,要嵌入的视频图像一般是可以采用预先编码的方式进行编码的视频图像,以广告视频为例进行说明。广告视频由于其并不需要对实时采集的视频图像进行实时的发送和播放,因此对广告视频的视频图像进行编码时,一般采用预先编码的方式进行编码。而当要将广告视频的视频图像嵌入到服务器采集的视频图像中时,由于服务器采集的视频图像需要采用实时编码的方式进行编码,因此在现有技术中将广告视频的视频图像嵌入到服务器采集的视频图像中的方法具体为:服务器采集视频图像时,读取广告视频中的每帧视频图像,将采集到的视频图像和读取的视频图像按照一定规则叠加在一起,并对叠加后的视频图像进行实时编码。
而实时编码的方式所要求的编码速率较高,因此需要的运算量也较大,从而服务器需要消耗大量的系统资源进行运算,导致服务器压力过大,也降低了服务器同时为多个用户提供服务时的并发路数。
发明内容
本发明实施例提供一种视频图像的处理方法及装置,用以解决现有技术中的服务器压力过大,并发路数较少的问题。
本发明实施例提供的一种视频图像的处理方法,包括:
服务器在对第一视频图像进行编码时,确定在所述第一视频图像中预先设定的嵌入区域;并
采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码;以及
确定要嵌入在所述第一视频图像中的第二视频图像,将保存的所述第二视频图像的编码,作为所述第一视频图像中位于所述嵌入区域中的图像的编码,其中,所述第二视频图像的编码是采用预先编码的方式进行编码的;
所述服务器将得到的所述第一视频图像中位于所述嵌入区域以外的图像的编码以及位于所述嵌入区域中的图像的编码发送给接收端进行解码。
本发明实施例提供的一种视频图像的处理装置,包括:
区域确定模块,用于在对第一视频图像进行编码时,确定在所述第一视频图像中预先设定的嵌入区域;
实时编码模块,用于采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码;
读取嵌入模块,用于确定要嵌入在所述第一视频图像中的第二视频图像,将保存的所述第二视频图像的编码,作为所述第一视频图像中位于所述嵌入区域中的图像的编码,其中,所述第二视频图像的编码是采用预先编码的方式进行编码的;
整合模块,用于将得到的所述第一视频图像中位于所述嵌入区域以外的图像的编码以及位于所述嵌入区域中的图像的编码发送给接收端进行解码。
本发明实施例提供一种视频图像的处理方法及装置,该方法采用预先编码的方式对要嵌入第一视频图像的第二视频图像进行编码,在对第一视频图像进行编码时,对于第一视频图像中位于嵌入区域之外的图像,则采用实时编码的方式进行编码,对于第一视频图像中位于嵌入区域中的图像,则直接将第二视频图像的编码作为第一视频图像中位于嵌入区域中的图像的编码。通过上述方法,减少了第一视频图像中需要采用实时编码方式进行编码的区域,因此降低了实时编码的运算量,减轻了服务器的压力,提高了服务器同时为多个用户提供服务时的并发路数。
附图说明
图1为现有技术中服务器根据用户发送的操作指令生成的图像的示意图;
图2为本发明实施例提供的视频图像处理的过程;
图3为本发明实施例提供的预先设定第一视频图像中的嵌入区域示意图;
图4为本发明实施例提供的采用预先编码的方式对第二视频图像中的像素宏块进行编码的过程;
图5为本发明实施例提供的第二视频图像中的像素宏块的运动矢量示意图;
图6为本发明实施例提供的采用实时编码的方式对第一视频图像中位于嵌入区域以外的像素宏块进行编码的过程;
图7为本发明实施例提供的第二视频图像中的像素宏块的运动矢量示意图;
图8为本发明实施例提供的设定的嵌入区域示意图;
图9为本发明实施例提供的第一视频图像和第二视频图像中的各Slice示意图;
图10为本发明实施例提供的视频图像的处理装置结构示意图。
具体实施方式
现有技术中服务器将采用预先编码的方式进行编码的视频图像嵌入到采用实时编码的方式进行编码的视频图像中的方法为,将两种视频图像按照一定规则叠加在一起,并对叠加后的视频图像进行实时编码,因此现有技术中服务器需要对叠加后的整帧视频图像都进行实时编码,而由于实时编码的方式所要求的编码速率较高,需要的运算量较大,因此服务器需要消耗大量的系统资源进行运算,导致服务器压力过大,并且在同时为多个用户提供服务时,服务器所能提供的并发路数较少。本发明实施例旨在减少视频图像中需要采用实时编码的方式进行编码的区域,以减小实时编码所需要的运算量,从而减轻服务器的压力。提高服务器的并发路数。
下面结合说明书附图,对本发明实施例进行详细描述。
图2为本发明实施例提供的视频图像处理的过程,具体包括以下步骤:
S201:服务器在对第一视频图像进行编码时,确定该第一视频图像中预先设定的嵌入区域。
在本发明实施例中,当要将第二视频图像嵌入到第一视频图像中时,需要预先设定将第二视频图像嵌入到第一视频图像中的嵌入区域,如图3所示。图3为本发明实施例提供的预先设定第一视频图像中的嵌入区域示意图,在图3中,为第一视频图像设定了嵌入区域,在将第二视频图像嵌入第一视频图像时,就要将第二视频图像嵌入到第一视频图像的嵌入区域中。
具体的,要嵌入在第一视频图像中的第二视频图像的尺寸,与在第一视频图像中预先设定的嵌入区域的尺寸是匹配的,可以在嵌入位置信息描述表中设定嵌入区域的尺寸信息和位置信息,并在服务器中保存该嵌入位置信息描述表。当服务器要对第一视频图像进行编码时,则根据保存的该嵌入位置信息描述表,确定在第一视频图像中预先设定的嵌入区域,具体可以确定该嵌入区域的尺寸,以及在第一视频图像中的位置。
S202:采用实时编码的方式,第一视频图像中位于嵌入区域以外的图像进行编码。
服务器对于第一视频图像中位于嵌入区域以外的图像,则采用实时编码的方式进行编码。
S203:确定要嵌入在第一视频图像中的第二视频图像,将保存的第二视频图像的编码,作为第一视频图像中位于嵌入区域中的图像的编码。
其中,第二视频图像的编码是采用预先编码的方式进行编码得到的。并且,可以由服务器对第二视频图像进行预先编码并存储,也可以由其他设备对第二视频图像进行预先编码,并将对第二视频图像进行的预先编码传输给服务器存储。
在本发明实施例中,由于要将第二视频图像嵌入到第一视频图像的该嵌入区域中,因此服务器对于第一视频图像中位于嵌入区域内的图像,将保存的采用预先编码的方式对第二视频图像进行的编码,作为第一视频图像中位于嵌入区域中的图像的编码。
S204:服务器将得到的第一视频图像中位于嵌入区域以外的图像的编码以及位于嵌入区域中的图像的编码发送给接收端进行解码。
通过上述步骤S201~S204,对第一视频图像中位于嵌入区域以外的图像和位于嵌入区域中的图像都进行了编码,从而得到了该第一视频图像的编码。得到的该第一视频图像的编码实际上就是将第二视频图像嵌入到第一视频图像后得到的图像的编码。服务器后续则将得到的嵌入有第二视频图像的第一视频图像的编码作为一个整体视频码流发送给接收端进行解码。
其中,接收端包括机顶盒等设备,以下均以接收端为机顶盒为例进行说明。当接收端为机顶盒时,机顶盒则将解码后的第一视频图像发送给电视显示。
假设第一视频图像所在的视频为第一视频,第二视频图像所在的视频为第二视频,则采用预先编码的方式对第二视频中的每帧图像进行编码后,通过上述步骤S201~S204对第一视频中的每帧图像进行编码,即可得到将第二视频嵌入第一视频后的视频码流,服务器将该视频码流发送给机顶盒后,机顶盒即可对该视频码流进行解码,并将解码后的视频发送给电视显示。
在上述过程中,对于第一视频图像中位于嵌入区域内的图像,服务器将保存的采用预先编码的方式对第二视频图像进行的编码,作为第一视频图像中位于嵌入区域内的图像的编码,因此,服务器只需要对第一视频图像中位于嵌入区域以外的图像进行实时编码,而无需对位于嵌入区域中的图像进行实时编码,减少了第一视频图像中需要采用实时编码的方式进行编码的区域,因此降低了实时编码的运算量,减轻了服务器的压力,同时也提高了实时编码的效率。并且,在服务器负荷相同的情况下,本发明实施例提供的视频图像处理方法相比于现有技术也可以提高了服务器的并发路数,提高了服务器的利用率。
在本发明实施例中,服务器无论采用实时编码的方式对视频图像进行编码,还是采用预先编码的方式对视频图像进行编码,均需要针对视频图像中的每个像素宏块进行编码。也即,服务器在对第一视频图像进行编码时,需要分别针对第一视频图像中的每个像素宏块进行编码,其中,可以根据实际需要划分第一视频图像中的像素宏块,例如以像素点16x16进行划分,本发明实施例对划分像素宏块的方法不做限定。同样的,采用预先编码的方式对第二视频图像进行编码时,也是对第二视频图像中的每个像素宏块进行预先编码的。
具体的,在对第一视频图像中的像素宏块进行编码时,服务器首先根据在第一视频图像中预先设定的嵌入区域,判断待编码的像素宏块是否位于该第一视频图像中的嵌入区域中。继续以图3为例进行说明,针对图3所示的第一视频图像中的像素宏块A,则服务器判断该像素宏块A不在嵌入区域中,也即确定像素宏块A为第一视频图像中位于嵌入区域以外的图像中的像素宏块。针对图3所示的第一视频图像中的像素宏块B,则服务器判断该像素宏块B位于嵌入区域中,也即确定像素宏块B为第一视频图像中位于嵌入区域内的图像中的像素宏块。
对于像素宏块A,服务器则采用实时编码的方式对像素宏块A进行编码。对于像素宏块B,服务器则将第二视频图像中要嵌入该像素宏块B所在位置的像素宏块的编码,作为该像素宏块B的编码。具体的,假设该像素宏块B是嵌入区域中第2行第1列的像素宏块,则图3所示的第二视频图像中同样位于第2行第1列的像素宏块b即为要嵌入该像素宏块B所在位置的像素宏块,因此,服务器将保存的采用预先编码的方式对第二视频图像中像素宏块b进行的编码,作为第一视频图像中像素宏块B的编码。
通过上述判断第一视频图像中每个像素宏块是否位于嵌入区域中,并根据判断结果对每个像素宏块采用相应的方式进行编码的方法,即可实现如图2所示的步骤S202~S203,也即,对第一视频图像中位于嵌入区域以外的图像进行实时编码,将采用预先编码的方式第二视频图像进行的编码作为第一视频图像中位于嵌入区域内的图像的编码。
在本发明实施例中,由于要将第二视频图像嵌入到第一视频图像中,因此在采用预先编码的方式对第二视频图像中的像素宏块进行编码时,要根据预先设定的嵌入区域对第二视频图像中的像素宏块进行编码,具体步骤如图4所示。
图4为本发明实施例提供的采用预先编码的方式对第二视频图像中的像素宏块进行编码的过程,具体包括以下步骤:
S401:服务器针对第二视频图像中的每个像素宏块,确定当前待编码的像素宏块的运动矢量。
其中,第二视频图像的尺寸与预先设定的嵌入区域的尺寸相同。如果第二视频图像的尺寸与预先设定的嵌入区域的尺寸不同,则可以对第二视频图像进行上采样或下采样处理,使处理后的第二视频图像的尺寸与嵌入区域的尺寸相同,再对处理后的第二视频图像进行预先编码。
本发明实施例提供的预先编码方法实际上是基于帧间编码的编码方法,帧间编码是利用视频中前后两帧视频图像的相似性,基于前一帧视频图像对后一帧视频图像进行编码的方法,可以减少编码的数据量。
具体的,在对第二视频图像中的像素宏块进行编码时,在第二视频图像所在的第二视频中,确定第二视频图像的前一帧图像作为参考帧图像。在参考帧图像中,确定与第二视频图像中待编码的像素宏块最接近的像素宏块作为匹配块。根据该待编码的像素宏块在该第二视频图像中的位置,以及该匹配块在参考帧图像中的位置,确定该待编码的像素宏块的运动矢量。
S402:判断确定的该运动矢量是否超过第二视频图像的边界,若是,则执行步骤S403,否则执行步骤S405。
由于第二视频图像的尺寸与嵌入区域的尺寸相同,因此如果确定的运动矢量超过第二视频图像的边界,则说明将第二视频图像嵌入到嵌入区域后,该运动矢量会超过嵌入区域的边界,如果该运动矢量未超过第二视频图像的边界,则说明将第二视频图像嵌入到嵌入区域后,该运动矢量会也不会超过嵌入区域的边界。而由于采用帧间编码对第二视频图像进行编码时,后续的解码也要基于参考帧图像进行解码,而第二视频图像是嵌入在第一视频图像的嵌入区域中的,因此为了保证后续解码重构图像的准确性,就需要判断确定的运动矢量是否超过嵌入区域,并根据判断结果对该待编码的像素宏块进行编码,如图5所示。图5为本发明实施例提供的第二视频图像中的像素宏块的运动矢量示意图,在图5中,像素宏块a的运动矢量超过了第二视频图像的边界,也即超过了嵌入区域的边界,而像素宏块b的运动矢量则未超过第二视频图像的边界,也即未超过嵌入区域的边界。
S403:调整确定的运动矢量的模长,使调整后的运动矢量不超过第二视频图像的边界。
S404:根据调整后的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码。
继续沿用图5进行说明,由于像素宏块a的运动矢量超过了嵌入区域的边界,因此要调整像素宏块a的运动矢量的模长,使调整后的运动矢量不超过嵌入区域的边界,并根据调整后的运动矢量,对像素宏块a进行预先编码。编码的具体方法为,确定该像素宏块a与该像素宏块a的匹配块的残差,对调整后的该像素宏块a的运动矢量以及确定的残差进行编码。
在解码重构图像时,则根据该像素宏块a的运动矢量,在参考帧图像(第二视频图像的前一帧图像)中确定像素宏块a的匹配块,并根据确定的匹配块和残差重构出像素宏块a。由该解码重构图像的方法可见,在对像素宏块a编码时,如果像素宏块a的运动矢量超过了嵌入区域的边界,那么在解码时,根据运动矢量确定像素宏块a的匹配块时,就会在嵌入区域以外确定,而嵌入区域以外的像素宏块并非是该第二视频图像的像素宏块,而是第一视频图像的像素宏块,从而重构该像素宏块a时必然会导致重构错误,因此本发明实施例中在对第二视频图像进行预先编码时,对于超过了嵌入区域边界的运动矢量,需要调整至不超过嵌入区域的边界,然后再进行编码。
S405:根据确定的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码。
继续沿用图5进行说明,由于像素宏块b的运动矢量未超过嵌入区域的边界,因此直接根据像素宏块b的运动矢量进行预先编码即可。
相应的,在图2所示的步骤S201中,当服务器判断第一视频图像中的像素宏块不在预先设定的嵌入区域中时,执行步骤S205时,即采用实时编码的方式对该像素宏块进行编码时,也是基于帧间编码进行实时编码的,因此对第一视频图像中的像素宏块进行实时编码也要根据嵌入区域进行编码,如图6所示。图6为本发明实施例提供的采用实时编码的方式对第一视频图像中位于嵌入区域以外的像素宏块进行编码的过程,具体包括以下步骤:
S601:服务器针对第一视频图像中位于嵌入区域以外每个像素宏块,确定当前待编码的像素宏块的运动矢量。
S602:判断确定的运动矢量是否超过嵌入区域的边界,若是,则执行步骤S603,否则执行步骤S605。
图7为本发明实施例提供的第二视频图像中的像素宏块的运动矢量示意图,在图7中,像素宏块A的运动矢量超过了嵌入区域的边界,而像素宏块B的运动矢量则未超过嵌入区域的边界。
S603:调整确定的运动矢量的模长,使调整后的运动矢量不超过嵌入区域的边界。
S604:根据调整后的运动矢量,采用实时编码的方式,对当前待编码的像素宏块进行编码。
与对第二视频图像中的像素宏块进行预先编码类似的,在对第一视频图像中的像素宏块进行实时编码时,为了保证后续解码重构图像的准确性,也要保证第一视频图像中该待编码的像素宏块的运动矢量不超过嵌入区域的边界。
继续以图7为了进行说明,由于像素宏块A的运动矢量超过了嵌入区域的边界,因此需要调整像素宏块A的运动矢量的模长,使其不超过嵌入区域的边界,并根据调整后的运动矢量对像素宏块A进行实时编码。
S605:根据确定的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码。
继续以图7为例进行说明,由于像素宏块B的运动矢量未超过嵌入区域的边界,因此可以直接根据像素宏块B的运动矢量,对像素宏块B进行实时编码。
由上述图4和图6所示的对第一视频图像和第二视频图像进行编码的方法可知,本发明实施例中对视频图像进行编码的最小单位为像素宏块,因此,第一视频图像和第二视频图像的像素宏块的划分需要保持一致,例如均为以像素点16x16进行划分。并且,在第一视频图像中设定嵌入区域时,嵌入区域也要包含整数个像素宏块,如图8所示。
图8为本发明实施例提供的设定的嵌入区域示意图,在图8中,第一视频图像中虚线围成的区域即为设定的嵌入区域,可见,对第一视频图像划分像素宏块后,第一视频图像中设定的嵌入区域包含了12个像素宏块。
在本发明实施例中,视频图像的帧类型有三种:帧内编码帧(I帧)、前向预测帧(P帧)、双向预测帧(B帧)。在对第二视频中的图像进行编码时,如果编码的第二视频图像是第二视频中的第一帧图像,则一般会采用帧内编码的方法进行预先编码,此时该第二视频图像的帧类型为I帧。当第二视频图像不是第二视频中的第一帧图像时,一般采用帧间编码的方法进行预先编码,如果在对第二视频图像编码时,仅基于该第二视频图像的前一帧图像进行编码(以前一帧图像为参考帧图像),则该第二视频图像的帧类型为P帧,如果同时基于该第二视频图像的前一帧图像和后一帧图像进行编码(以前一阵图像和后一帧图像为参考帧图像),则该第二视频图像的帧类型为B帧。
可见,不同帧类型的视频图像,其参考帧图像也不同,而由于第二视频图像是采用预先编码的方式进行编码,并要嵌入第一视频图像中的,因此为了进一步保证后续解码重构图像的准确性,在采用实时编码的方式,对第一视频图像中位于嵌入区域以外的图像进行编码时,还要确定要嵌入在该第一视频图像的第二视频图像的帧类型,并根据确定的帧类型,采用实时编码的方式,对第一视频图像中位于嵌入区域以外的图像进行编码。具体的,服务器可以根据第二视频图像的帧类型,采用实时编码的方式对第一视频图像中位于嵌入区域以外的每个像素宏块进行编码,并且在编码时,可以采用如图6所示的方法进行实时编码。
另外,采用如图4所示的方法对第二视频图像中的每个像素宏块进行预先编码后,在图2所示的步骤S203中,对于第一视频图像中位于嵌入区域内的图像,将保存的采用预先编码的方式对第二视频图像进行的编码,作为第一视频图像中位于嵌入区域中的图像的编码的方法具体为:针对第一视频图像中位于嵌入区域中的像素宏块,根据该像素宏块在嵌入区域中的位置,将第二视频图像中相应位置上的像素宏块确定为待嵌入像素宏块,将确定的待嵌入像素宏块的编码,作为第一视频图像中位于嵌入区域中的该像素宏块的编码。例如在对图3所示的第一视频图像中的像素宏块B进行编码时,根据该像素宏块B在嵌入区域中的位置,确定的第二视频图像中相应位置上的待嵌入像素宏块即为像素宏块b,则将采用预先编码的方式对像素宏块b进行的编码作为像素宏块B的编码。
进一步的,在实际应用中,由于在对第二视频图像中的像素宏块进行预先编码时,该像素宏块的编码中包含有该像素宏块在该第二视频图像中的位置信息,而将该像素宏块嵌入到第一视频图像的嵌入区域中的相应位置时,嵌入的该像素宏块在第一视频图像中的位置相对于该像素宏块在第二视频图像中的位置就会发生改变,因此,对于第一视频图像中位于嵌入区域内的像素宏块,在将第二视频图像中相应位置的待嵌入像素宏块的编码作为第一视频图像中位于嵌入区域内的该像素宏块的编码时,需要根据该位于嵌入区域内的像素宏块在该第一视频图像中的位置,修改待嵌入像素宏块的编码中包含的位置信息,并将修改位置信息后的编码作为第一视频图像中该待编码的像素宏块的编码。
此外,在实际应用中,视频图像处理的标准中定义了切片(Slice)的概念,一个Slice由若干个像素宏块构成,如图9所示。图9为本发明实施例提供的第一视频图像和第二视频图像中的各Slice示意图,在图9中,第一视频图像中划分了像素宏块后,第一视频图像中每行像素宏块就构成了第一视频图像中的一个Slice。相应的,第二视频图像中划分了像素宏块后,第二视频图像中每行像素宏块就构成了第二视频图像中的一个Slice。
在对第二视频图像中的像素宏块进行预先编码时,针对第二视频图像中的每个Slice,按照该Slice中各像素宏块的排列顺序,依次对该Slice中的各像素宏块进行预先编码,相当于对该Slice进行预先编码。并且,在对该Slice进行预先编码时,还要根据该Slice中第一个像素宏块在第二视频图像中的位置,确定该Slice的头信息,也即该Slice的头信息中包含该Slice中第一个像素宏块的位置信息。由于该Slice中的各像素宏块是顺序排列的,因此只要Slice头信息中包含的第一个像素宏块的位置信息确定了,那么Slice中其他像素宏块的位置信息则均可以根据头信息中包含的位置信息进行确定。
相应的,在对第一视频图像中的像素宏块进行实时编码时,同样也是针对第一视频图像中的每个Slice,按照该Slice中个像素宏块的排列顺序,依次对该Slice中的各像素宏块进行编码。
具体的,每对一个像素宏块进行编码时,都要判断该像素宏块是否位于预先设定的嵌入区域内,下面继续以图9为例进行说明。
对于如图9所示的第一视频图像中的第1个Slice,该第1个Slice是由第一视频图像中第一行的8个像素宏块构成的,其中,后3个像素宏块位于设定的嵌入区域中。
按照各像素宏块在第1个Slice中的排列顺序,先对第1个像素宏块进行处理,具体为:判断第1个像素宏块是否位于嵌入区域中,判断结果为否,则对该第1个像素宏块进行实时编码。类似的,对第1个Slice中的前5个像素宏块都进行实时编码。
当对第6个像素宏块进行处理时,确定该第6个像素宏块位于嵌入区域内,则停止对该第1个Slice的编码,并确定该第6个像素宏块在嵌入区域中的位置,确定的位置为嵌入区域中的第1行第1列,则确定第二视频图像中相应位置的像素宏块所在的Slice,也即确定第二视频图像中位于第1行第1列的像素宏块所在的Slice,确定的Slice即为第二视频图像中的第1个Slice。以下将确定的第二视频图像中相应位置的像素宏块所在的Slice称为待嵌入Slice。
确定了第二视频图像中的待嵌入Slice后,则根据第一视频图像第1个Slice中的该第6个像素宏块在第一视频图像中的位置(第1行第6列),修改待嵌入Slice的头信息中包含的第一个像素宏块的位置信息。由于待嵌入Slice中除了第一个像素宏块之外的像素宏块的位置信息均可以根据该待嵌入Slice的头信息中包含的第一个像素宏块的位置信息进行确定,因此修改了待嵌入Slice的头信息中包含的第一个像素宏块的位置信息后,就相当于修改了该待嵌入Slice中所有像素宏块的位置信息。
最后,将修改了头信息的待嵌入Slice的编码,作为第一视频图像的嵌入区域中相应位置的Slice的编码,写入到第一视频图像的编码中。然后采用相同的方法继续对第一视频图像的下一个Slice进行编码,直至完成对第一视频图像的最后一个像素宏块的编码为止。
上述修改待嵌入Slice的头信息的方法可以为:先对待嵌入Slice的编码进行熵解码,再对熵解码后的Slice的头信息进行修改,对修改后的Slice再次进行熵编码,得到修改后的Slice的编码。
本发明实施例提供的上述视频图像的处理方法可以应用于任何视频图像格式中,例如活动图像专家组(Moving Picture Experts Group,MPEG)标准第2版本(MPEG-2)格式、第4版本(MPEG-4)格式或H.264格式等。
当应用于MPEG-2时,需要保证要嵌入在第一视频图像中的第二视频图像的前向运动矢量解析度(forward_f_code)和后向运动矢量解析度(backward_f_code),与该第一视频图像的forward_f_code和backward_f_code相同。也即,当对第一视频图像中位于嵌入区域以外的图像进行编码时,除了要将第一视频图像的帧类型调整为与第二视频图像的帧类型相同以外,还要将该第一视频图像的forward_f_code设置为与该第二视频图像的forward_f_code相同,将该第一视频图像的后向运动矢量解析度backward_f_code设置为与该第二视频图像的backward_f_code相同,并采用如图6所示的实时编码方式,对第一视频图像中位于嵌入区域以外的图像进行编码。当然,为了操作方便,可将MPEG-2编码器的forward_f_code和backward_f_code设为一个固定值,例如设定为1,并按照本发明实施例提供的视频图像处理的方法,对要嵌入第一视频图像的第二视频图像进行预先编码,再对第一视频图像中位于嵌入区域以外的图像进行实时编码,这样就可以保证第一视频图像的forward_f_code和backward_f_code,与第二视频图像的forward_f_code和backward_f_code相同。
另外需要说明的是,当将本发明实施例提供的视频图像处理方法应用于H.264格式时,H.264格式下的视频图像中存在子像素,子像素并非是一个完整的像素,而是完整的像素的一部分,如0.5个像素或0.25个像素。而子像素是由一个像素周围的若干个像素进行处理得到的,对子像素的编码和解码也是基于周围若干个像素进行编码和解码的。因此,当将本发明实施例提供的视频图像处理方法应用于H.264格式时,为了保证后续解码重构图像的准确性,在将第二视频图像嵌入到第一视频图像中时,对于第二视频图像,子像素不能出现在嵌入区域的边界附近,也即不能出现在该第二视频图像自身的边界附近,对于第一视频图像,子像素同样不能出现在嵌入区域的边界附近。
因此,在采用图4所示的方法对第二视频图像进行预先编码时,如果该第二视频图像的格式为H.264格式,则针对当前待编码的像素宏块,确定了当前待编码的像素宏块的运动矢量后,如果确定的运动矢量超过该第二视频图像的边界,则调整确定的运动矢量的方法具体为:调整确定的运动矢量的模长,使调整后的运动矢量不超过第二视频图像的边界,且调整后的运动矢量的模长是整数倍个像素点。后续则可以根据调整后的运动矢量对该当前待编码的像素宏块进行预先编码。
相应的,如果确定的运动矢量未超过该第二视频图像的边界,则判断确定的运动矢量中是否存在满足第一指定条件的点,其中,满足第一指定条件的点为:到第二视频图像的至少一个边界的距离小于指定距离的点,若是,则调整确定的运动矢量的模长,使调整后的运动矢量的模长是整数倍个像素点,根据调整后的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码,否则,根据确定的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码。其中,该指定距离可以根据需要进行设定,例如设定为5个像素点的距离。
通过上述方法,则可以保证第二视频图像中不存在位于第二视频图像的边界附近的子像素,从而可以保证将第二视频图像嵌入到第一视频图像中的嵌入区域后,第二视频图像中不存在位于嵌入区域边界附近的子像素,以保证后续解码重构图像的准确性。
类似的,在采用图6所示的方法对第一视频图像进行实时编码时,如果该第一视频图像的格式为H.264格式,则针对当前待编码的像素宏块,确定了当前待编码的像素宏块的运动矢量后,如果确定的运动矢量超过嵌入区域的边界,则调整确定的运动矢量的方法具体为:调整确定的运动矢量的模长,使调整后的运动矢量不超过嵌入区域的边界,且调整后的运动矢量的模长是整数倍个像素点。后续则可以根据调整后的运动矢量对该当前待编码的像素宏块进行实时编码。
相应的,如果确定的运动矢量未超过嵌入区域的边界,则判断确定的运动矢量中是否存在满足第二指定条件的点,其中,满足第二指定条件的点为:到嵌入区域的至少一个边界的距离小于指定距离的点,若是,则调整确定的运动矢量的模长,使调整后的运动矢量的模长是整数倍个像素点,根据调整后的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码,否则,根据确定的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码。其中,该指定距离可以根据需要进行设定,例如设定为5个像素点的距离。
通过上述方法,则可以保证第一视频图像中也不存在位于嵌入区域的边界附近的子像素,以保证后续解码重构图像的准确性。
另外,H.264格式下的视频图像的编码中还携带解码立即刷新帧标识(idr_pic_id),因此将本发明实施例提供的视频图像处理方法应用于H.264格式时,不可避免的会出现要嵌入在第一视频图像中的第二视频图像的编码中携带的idr_pic_id,与该第一视频图像的idr_pic_id不同的情况,这就会导致后续解码出错。因此,当第一视频图像和第二视频图像的格式均为H.264格式时,为了保证后续解码的准确性,在将第二视频图像中待嵌入像素宏块的编码作为嵌入区域中相应位置的像素宏块的编码时,除了要根据嵌入区域中该相应位置的像素宏块在整个第一视频图像中的位置,修改该待嵌入像素宏块的编码中包含的位置信息之外,还要调整该待嵌入像素宏块的编码中携带的idr_pic_id,使调整后的idr_pic_id与第一视频图像的idr_pic_id一致。具体的,在修改了待嵌入像素宏块的编码中包含的位置信息后,确定第一视频图像的idr_pic_id,将修改位置信息后的编码中携带的idr_pic_id修改为确定的第一视频图像的idr_pic_id,将修改idr_pic_id后的编码作为嵌入区域中相应位置的像素宏块的编码。
进一步的,H.264格式下的视频码流数据包中包含有网络抽象层单元(NALUnit,NALU),NALU具体是一串特定编码字符,代表一个H.264格式下的视频码流数据包的起始位置,因此将本发明实施例提供的视频图像处理方法应用于H.264格式时,不可避免的会出现在对第二视频图像进行预先编码时,该第二视频图像的编码中存在与NALU相同的特定编码字符,从而将第二视频图像的编码作为第一视频图像中位于嵌入区域中的图像的编码后,得到的第一视频图像中位于嵌入区域中的图像的编码中,就会存在与NALU相同的特定编码字符,这也会导致解码的准确性降低。因此,当第一视频图像和第二视频图像的格式均为H.264格式时,为了保证后续解码的准确性,服务器将得到的第一视频图像中位于嵌入区域中的图像的编码作为一个整体视频码流发送给接收端进行解码之前,还要在得到的第一视频图像中位于嵌入区域中的图像的编码中,查找与指定编码字符相同的编码字符,并将查找到的编码字符删除,其中,指定编码字符为H.264格式下的NALU所对应的特定编码字符。
例如,H.264格式下的NALU所对应的特定编码字符为0x03,则在得到的第一视频图像中位于嵌入区域中的图像的编码中,查找是否存在0x03的编码字符,如果存在,则将查找到的编码字符删除。后续再将第一视频图像中位于嵌入区域以外的图像的编码,以及调整后的位于嵌入区域中的图像的编码作为一个整体视频码流发送给接收端进行解码。
以上为本发明实施例提供的视频图像的处理方法,基于同样的思路,本发明还提供一种视频图像的处理装置,如图10所示。
图10为本发明实施例提供的视频图像的处理装置结构示意图,具体包括:
区域确定模块1001,用于在对第一视频图像进行编码时,确定在所述第一视频图像中预先设定的嵌入区域;
实时编码模块1002,用于采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码;
读取嵌入模块1003,用于确定要嵌入在所述第一视频图像中的第二视频图像,将保存的所述第二视频图像的编码,作为所述第一视频图像中位于所述嵌入区域中的图像的编码,其中,所述第二视频图像的编码是采用预先编码的方式进行编码的;
整合模块1004,用于将得到的所述第一视频图像中位于所述嵌入区域以外的图像的编码以及位于所述嵌入区域中的图像的编码发送给接收端进行解码。
所述装置还包括:
预先编码模块1005,用于针对所述第二视频图像中的每个像素宏块,确定当前待编码的像素宏块的运动矢量,判断确定的运动矢量是否超过所述第二视频图像的边界,其中,所述第二视频图像的尺寸与预先设定的嵌入区域的尺寸相同;若是,则调整确定的运动矢量的模长,使调整后的运动矢量不超过所述第二视频图像的边界,并根据调整后的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码;否则,根据确定的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码。
所述预先编码模块1005具体用于,当所述第二视频图像的格式为H.264格式,且确定的运动矢量超过所述第二视频图像的边界时,调整确定的运动矢量的模长,使调整后的运动矢量不超过所述第二视频图像的边界,且调整后的运动矢量的模长是整数倍个像素点;当所述第二视频图像的格式为H.264格式,且确定的运动矢量未超过所述第二视频图像的边界时,判断确定的运动矢量中是否存在满足第一指定条件的点,若是,则调整确定的运动矢量的模长,使调整后的运动矢量的模长是整数倍个像素点,根据调整后的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码,否则,根据确定的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码,其中,满足第一指定条件的点为:到所述第二视频图像的至少一个边界的距离小于指定距离的点。
所述读取嵌入模块1003具体用于,针对所述嵌入区域中的像素宏块,根据所述嵌入区域中的像素宏块在所述嵌入区域中的位置,将所述第二视频图像中相应位置上的像素宏块确定为待嵌入像素宏块,根据所述嵌入区域中的像素宏块在所述第一视频图像中的位置,修改确定的待嵌入像素宏块的编码中包含的位置信息,将修改位置信息后的编码作为所述嵌入区域中的像素宏块的编码。
所述读取嵌入模块1003具体用于,当所述第一视频图像和第二视频图像的格式均为H.264格式时,确定所述第一视频图像的解码立即刷新帧标识idr_pic_id,将修改位置信息后的编码中携带的idr_pic_id修改为确定的所述第一视频图像的idr_pic_id,将修改idr_pic_id后的编码作为所述嵌入区域中的像素宏块的编码。
所述实时编码模块1002具体用于,确定要嵌入在所述第一视频图像中的第二视频图像的帧类型,并根据确定的帧类型,采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码。
所述实时编码模块1002具体用于,当所述第一视频图像和第二视频图像的格式均为活动图像专家组标准第2版本MPEG-2格式时,将所述第一视频图像的前向运动矢量解析度forward_f_code设置为与所述第二视频图像的forward_f_code相同,将所述第一视频图像的后向运动矢量解析度backward_f_code设置为与所述第二视频图像的backward_f_code相同,并采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码。
所述实时编码模块1002具体用于,针对所述第一视频图像中位于所述嵌入区域以外每个像素宏块,确定当前待编码的像素宏块的运动矢量,判断确定的运动矢量是否超过所述嵌入区域的边界;若是,则调整确定的运动矢量的模长,使调整后的运动矢量不超过所述嵌入区域的边界,并根据调整后的运动矢量,采用实时编码的方式,对当前待编码的像素宏块进行编码;否则,根据确定的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码。
所述实时编码模块1002具体用于,当所述第一视频图像的格式为H.264格式,且确定的运动矢量超过所述嵌入区域的边界时,调整确定的运动矢量的模长,使调整后的运动矢量不超过所述嵌入区域的边界,且调整后的运动矢量的模长是整数倍个像素点;当所述第一视频图像的格式为H.264格式,且确定的运动矢量未超过所述嵌入区域的边界时,判断确定的运动矢量中是否存在满足第二指定条件的点,若是,则调整确定的运动矢量的模长,使调整后的运动矢量的模长是整数倍个像素点,根据调整后的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码,否则,根据确定的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码,其中,满足第二指定条件的点为:到所述嵌入区域的至少一个边界的距离小于指定距离的点。
所述整合模块1004还用于,当所述第一视频图像和第二视频图像的格式均为H.264格式时,将得到的所述第一视频图像中位于所述嵌入区域以外的图像的编码以及位于所述嵌入区域中的图像的编码发送给接收端进行解码之前,在得到的所述第一视频图像中位于所述嵌入区域中的图像的编码中,查找与指定编码字符相同的编码字符,将查找到的编码字符删除,其中,所述指定编码字符为H.264格式下的网络抽象层单元NALU所对应的特定编码字符。
具体的上述视频图像的处理装置可以位于服务器中,并具体可以为视频图像的编码器,接收端可以是机顶盒。
本发明实施例提供一种视频图像的处理方法及装置,该方法采用预先编码的方式对要嵌入第一视频图像的第二视频图像进行编码,在对第一视频图像进行编码时,对于第一视频图像中位于嵌入区域之外的图像,则采用实时编码的方式进行编码,对于第一视频图像中位于嵌入区域中的图像,则直接将第二视频图像的编码作为第一视频图像中位于嵌入区域中的图像的编码。通过上述方法,减少了第一视频图像中需要采用实时编码方式进行编码的区域,因此降低了实时编码的运算量,减轻了服务器的压力,提高了服务器同时为多个用户提供服务时的并发路数。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (20)

1.一种视频图像的处理方法,其特征在于,包括:
服务器在对第一视频图像进行编码时,确定在所述第一视频图像中预先设定的嵌入区域;并
采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码;以及
确定要嵌入在所述第一视频图像中的第二视频图像,将保存的所述第二视频图像的编码,作为所述第一视频图像中位于所述嵌入区域中的图像的编码,其中,所述第二视频图像的编码是采用预先编码的方式进行编码的;
所述服务器将得到的所述第一视频图像中位于所述嵌入区域以外的图像的编码以及位于所述嵌入区域中的图像的编码发送给接收端进行解码。
2.如权利要求1所述的方法,其特征在于,所述第二视频图像的尺寸与预先设定的嵌入区域的尺寸相同;
采用预先编码的方式对所述第二视频图像进行编码,具体包括:
针对所述第二视频图像中的每个像素宏块,确定当前待编码的像素宏块的运动矢量;
判断确定的运动矢量是否超过所述第二视频图像的边界;
若是,则调整确定的运动矢量的模长,使调整后的运动矢量不超过所述第二视频图像的边界,并根据调整后的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码;
否则,根据确定的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码。
3.如权利要求2所述的方法,其特征在于,当所述第二视频图像的格式为H.264格式,且确定的运动矢量超过所述第二视频图像的边界时,调整确定的运动矢量的模长,使调整后的运动矢量不超过所述第二视频图像的边界,具体包括:
调整确定的运动矢量的模长,使调整后的运动矢量不超过所述第二视频图像的边界,且调整后的运动矢量的模长是整数倍个像素点;
当所述第二视频图像的格式为H.264格式,且确定的运动矢量未超过所述第二视频图像的边界时,根据确定的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码,具体包括:
判断确定的运动矢量中是否存在满足第一指定条件的点,其中,满足第一指定条件的点为:到所述第二视频图像的至少一个边界的距离小于指定距离的点;
若是,则调整确定的运动矢量的模长,使调整后的运动矢量的模长是整数倍个像素点,根据调整后的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码;
否则,根据确定的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码。
4.如权利要求2所述的方法,其特征在于,将保存的所述第二视频图像的编码,作为所述第一视频图像中位于所述嵌入区域中的图像的编码,具体包括:
所述服务器针对所述嵌入区域中的像素宏块,根据所述嵌入区域中的像素宏块在所述嵌入区域中的位置,将所述第二视频图像中相应位置上的像素宏块确定为待嵌入像素宏块;
根据所述嵌入区域中的像素宏块在所述第一视频图像中的位置,修改确定的待嵌入像素宏块的编码中包含的位置信息;
将修改位置信息后的编码作为所述嵌入区域中的像素宏块的编码。
5.如权利要求4所述的方法,其特征在于,当所述第一视频图像和第二视频图像的格式均为H.264格式时,将修改位置信息后的编码作为所述嵌入区域中的像素宏块的编码,具体包括:
确定所述第一视频图像的解码立即刷新帧标识idr_pic_id;
将修改位置信息后的编码中携带的idr_pic_id修改为确定的所述第一视频图像的idr_pic_id;
将修改idr_pic_id后的编码作为所述嵌入区域中的像素宏块的编码。
6.如权利要求1所述的方法,其特征在于,采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码,具体包括:
所述服务器确定要嵌入在所述第一视频图像中的第二视频图像的帧类型;并
根据确定的帧类型,采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码。
7.如权利要求6所述的方法,其特征在于,当所述第一视频图像和第二视频图像的格式均为活动图像专家组标准第2版本MPEG-2格式时,采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码,具体包括:
将所述第一视频图像的前向运动矢量解析度forward_f_code设置为与所述第二视频图像的forward_f_code相同,将所述第一视频图像的后向运动矢量解析度backward_f_code设置为与所述第二视频图像的backward_f_code相同,并采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码。
8.如权利要求1或6所述的方法,其特征在于,采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码,具体包括:
所述服务器针对所述第一视频图像中位于所述嵌入区域以外每个像素宏块,确定当前待编码的像素宏块的运动矢量,判断确定的运动矢量是否超过所述嵌入区域的边界;
若是,则调整确定的运动矢量的模长,使调整后的运动矢量不超过所述嵌入区域的边界,并根据调整后的运动矢量,采用实时编码的方式,对当前待编码的像素宏块进行编码;
否则,根据确定的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码。
9.如权利要求8所述的方法,其特征在于,当所述第一视频图像的格式为H.264格式,且确定的运动矢量超过所述嵌入区域的边界时,调整确定的运动矢量的模长,使调整后的运动矢量不超过所述嵌入区域的边界,具体包括:
调整确定的运动矢量的模长,使调整后的运动矢量不超过所述嵌入区域的边界,且调整后的运动矢量的模长是整数倍个像素点;
当所述第一视频图像的格式为H.264格式,且确定的运动矢量未超过所述嵌入区域的边界时,根据确定的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码,具体包括:
判断确定的运动矢量中是否存在满足第二指定条件的点,其中,满足第二指定条件的点为:到所述嵌入区域的至少一个边界的距离小于指定距离的点;
若是,则调整确定的运动矢量的模长,使调整后的运动矢量的模长是整数倍个像素点,根据调整后的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码;
否则,根据确定的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码。
10.如权利要求1所述的方法,其特征在于,当所述第一视频图像和第二视频图像的格式均为H.264格式时,所述服务器将得到的所述第一视频图像中位于所述嵌入区域以外的图像的编码以及位于所述嵌入区域中的图像的编码发送给接收端进行解码之前,所述方法还包括:
所述服务器在得到的所述第一视频图像中位于所述嵌入区域中的图像的编码中,查找与指定编码字符相同的编码字符,其中,所述指定编码字符为H.264格式下的网络抽象层单元NALU所对应的特定编码字符;
将查找到的编码字符删除。
11.一种视频图像的处理装置,其特征在于,包括:
区域确定模块,用于在对第一视频图像进行编码时,确定在所述第一视频图像中预先设定的嵌入区域;
实时编码模块,用于采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码;
读取嵌入模块,用于确定要嵌入在所述第一视频图像中的第二视频图像,将保存的所述第二视频图像的编码,作为所述第一视频图像中位于所述嵌入区域中的图像的编码,其中,所述第二视频图像的编码是采用预先编码的方式进行编码的;
整合模块,用于将得到的所述第一视频图像中位于所述嵌入区域以外的图像的编码以及位于所述嵌入区域中的图像的编码发送给接收端进行解码。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
预先编码模块,用于针对所述第二视频图像中的每个像素宏块,确定当前待编码的像素宏块的运动矢量,判断确定的运动矢量是否超过所述第二视频图像的边界,其中,所述第二视频图像的尺寸与预先设定的嵌入区域的尺寸相同;若是,则调整确定的运动矢量的模长,使调整后的运动矢量不超过所述第二视频图像的边界,并根据调整后的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码;否则,根据确定的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码。
13.如权利要求12所述的装置,其特征在于,所述预先编码模块具体用于,当所述第二视频图像的格式为H.264格式,且确定的运动矢量超过所述第二视频图像的边界时,调整确定的运动矢量的模长,使调整后的运动矢量不超过所述第二视频图像的边界,且调整后的运动矢量的模长是整数倍个像素点;当所述第二视频图像的格式为H.264格式,且确定的运动矢量未超过所述第二视频图像的边界时,判断确定的运动矢量中是否存在满足第一指定条件的点,若是,则调整确定的运动矢量的模长,使调整后的运动矢量的模长是整数倍个像素点,根据调整后的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码,否则,根据确定的运动矢量,采用预先编码的方式对当前待编码的像素宏块进行编码,其中,满足第一指定条件的点为:到所述第二视频图像的至少一个边界的距离小于指定距离的点。
14.如权利要求12所述的装置,其特征在于,所述读取嵌入模块具体用于,针对所述嵌入区域中的像素宏块,根据所述嵌入区域中的像素宏块在所述嵌入区域中的位置,将所述第二视频图像中相应位置上的像素宏块确定为待嵌入像素宏块,根据所述嵌入区域中的像素宏块在所述第一视频图像中的位置,修改确定的待嵌入像素宏块的编码中包含的位置信息,将修改位置信息后的编码作为所述嵌入区域中的像素宏块的编码。
15.如权利要求14所述的装置,其特征在于,所述读取嵌入模块具体用于,当所述第一视频图像和第二视频图像的格式均为H.264格式时,确定所述第一视频图像的解码立即刷新帧标识idr_pic_id,将修改位置信息后的编码中携带的idr_pic_id修改为确定的所述第一视频图像的idr_pic_id,将修改idr_pic_id后的编码作为所述嵌入区域中的像素宏块的编码。
16.如权利要求11所述的装置,其特征在于,所述实时编码模块具体用于,确定要嵌入在所述第一视频图像中的第二视频图像的帧类型,并根据确定的帧类型,采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码。
17.如权利要求16所述的装置,其特征在于,所述实时编码模块具体用于,当所述第一视频图像和第二视频图像的格式均为活动图像专家组标准第2版本MPEG-2格式时,将所述第一视频图像的前向运动矢量解析度forward_f_code设置为与所述第二视频图像的forward_f_code相同,将所述第一视频图像的后向运动矢量解析度backward_f_code设置为与所述第二视频图像的backward_f_code相同,并采用实时编码的方式,对所述第一视频图像中位于所述嵌入区域以外的图像进行编码。
18.如权利要求11或16所述的装置,其特征在于,所述实时编码模块具体用于,针对所述第一视频图像中位于所述嵌入区域以外每个像素宏块,确定当前待编码的像素宏块的运动矢量,判断确定的运动矢量是否超过所述嵌入区域的边界;若是,则调整确定的运动矢量的模长,使调整后的运动矢量不超过所述嵌入区域的边界,并根据调整后的运动矢量,采用实时编码的方式,对当前待编码的像素宏块进行编码;否则,根据确定的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码。
19.如权利要求18所述的装置,其特征在于,所述实时编码模块具体用于,当所述第一视频图像的格式为H.264格式,且确定的运动矢量超过所述嵌入区域的边界时,调整确定的运动矢量的模长,使调整后的运动矢量不超过所述嵌入区域的边界,且调整后的运动矢量的模长是整数倍个像素点;当所述第一视频图像的格式为H.264格式,且确定的运动矢量未超过所述嵌入区域的边界时,判断确定的运动矢量中是否存在满足第二指定条件的点,若是,则调整确定的运动矢量的模长,使调整后的运动矢量的模长是整数倍个像素点,根据调整后的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码,否则,根据确定的运动矢量,采用实时编码的方式对当前待编码的像素宏块进行编码,其中,满足第二指定条件的点为:到所述嵌入区域的至少一个边界的距离小于指定距离的点。
20.如权利要求11所述的装置,其特征在于,所述整合模块还用于,当所述第一视频图像和第二视频图像的格式均为H.264格式时,将得到的所述第一视频图像中位于所述嵌入区域以外的图像的编码以及位于所述嵌入区域中的图像的编码发送给接收端进行解码之前,在得到的所述第一视频图像中位于所述嵌入区域中的图像的编码中,查找与指定编码字符相同的编码字符,将查找到的编码字符删除,其中,所述指定编码字符为H.264格式下的网络抽象层单元NALU所对应的特定编码字符。
CN201210265521.0A 2012-07-27 2012-07-27 一种视频图像的处理方法及装置 Active CN102833583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210265521.0A CN102833583B (zh) 2012-07-27 2012-07-27 一种视频图像的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210265521.0A CN102833583B (zh) 2012-07-27 2012-07-27 一种视频图像的处理方法及装置

Publications (2)

Publication Number Publication Date
CN102833583A true CN102833583A (zh) 2012-12-19
CN102833583B CN102833583B (zh) 2015-07-01

Family

ID=47336508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210265521.0A Active CN102833583B (zh) 2012-07-27 2012-07-27 一种视频图像的处理方法及装置

Country Status (1)

Country Link
CN (1) CN102833583B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243999A (zh) * 2013-06-09 2014-12-24 中国移动通信集团公司 一种视频编码方法和平台侧服务器
CN104506879A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506960A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506963A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506962A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104504577A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506961A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104581187A (zh) * 2014-11-14 2015-04-29 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104581428A (zh) * 2014-11-14 2015-04-29 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104811744A (zh) * 2015-04-27 2015-07-29 北京视博云科技有限公司 一种信息投放方法及系统
CN106101704A (zh) * 2016-06-14 2016-11-09 陈�胜 一种多信源合成视频的动态编码方法和装置
CN110139150A (zh) * 2019-04-12 2019-08-16 北京物资学院 一种视频处理方法及装置
CN110312132A (zh) * 2019-03-11 2019-10-08 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1328746A (zh) * 1998-11-25 2001-12-26 汤媒森多媒体公司 根据运动图像专家组标准编码图像的方法和装置
CN101288303A (zh) * 2005-08-19 2008-10-15 高通股份有限公司 对视频通话的画中画处理
CN101908033A (zh) * 2009-06-05 2010-12-08 邓迪 一种多用户远程使用多个主计算机的方法和装置
CN102017644A (zh) * 2008-05-06 2011-04-13 索尼公司 用于生成和发送数字电视信号流的服务提供方法和服务提供设备以及用于接收和处理数字电视信号流的方法和接收装置
WO2011071749A2 (en) * 2009-12-09 2011-06-16 Citrix Systems, Inc. Methods and systems for updating a dock with a user interface element representative of a remote application
CN102523443A (zh) * 2010-09-30 2012-06-27 微软公司 用于图像压缩的熵编码器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1328746A (zh) * 1998-11-25 2001-12-26 汤媒森多媒体公司 根据运动图像专家组标准编码图像的方法和装置
CN101288303A (zh) * 2005-08-19 2008-10-15 高通股份有限公司 对视频通话的画中画处理
CN102017644A (zh) * 2008-05-06 2011-04-13 索尼公司 用于生成和发送数字电视信号流的服务提供方法和服务提供设备以及用于接收和处理数字电视信号流的方法和接收装置
CN101908033A (zh) * 2009-06-05 2010-12-08 邓迪 一种多用户远程使用多个主计算机的方法和装置
WO2011071749A2 (en) * 2009-12-09 2011-06-16 Citrix Systems, Inc. Methods and systems for updating a dock with a user interface element representative of a remote application
CN102523443A (zh) * 2010-09-30 2012-06-27 微软公司 用于图像压缩的熵编码器

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243999A (zh) * 2013-06-09 2014-12-24 中国移动通信集团公司 一种视频编码方法和平台侧服务器
CN104243999B (zh) * 2013-06-09 2018-02-23 中国移动通信集团公司 一种视频编码方法和平台侧服务器
CN104504577A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104504577B (zh) * 2014-11-14 2017-11-07 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506962A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506960A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506961A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104581187A (zh) * 2014-11-14 2015-04-29 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104581428A (zh) * 2014-11-14 2015-04-29 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104581428B (zh) * 2014-11-14 2018-12-25 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506961B (zh) * 2014-11-14 2018-05-29 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104581187B (zh) * 2014-11-14 2017-11-07 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506962B (zh) * 2014-11-14 2017-11-07 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506963A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506879B (zh) * 2014-11-14 2017-12-26 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104506879A (zh) * 2014-11-14 2015-04-08 北京海米文化传媒有限公司 一种投放业务对象的方法和装置
CN104811744A (zh) * 2015-04-27 2015-07-29 北京视博云科技有限公司 一种信息投放方法及系统
CN106101704A (zh) * 2016-06-14 2016-11-09 陈�胜 一种多信源合成视频的动态编码方法和装置
CN106101704B (zh) * 2016-06-14 2019-02-22 陈�胜 一种多信源合成视频的动态编码方法和装置
CN110312132A (zh) * 2019-03-11 2019-10-08 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN110312132B (zh) * 2019-03-11 2020-05-12 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11902563B2 (en) 2019-03-11 2024-02-13 Hangzhou Hikvision Digital Technology Co., Ltd. Encoding and decoding method and device, encoder side apparatus and decoder side apparatus
CN110139150A (zh) * 2019-04-12 2019-08-16 北京物资学院 一种视频处理方法及装置

Also Published As

Publication number Publication date
CN102833583B (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
CN102833583A (zh) 一种视频图像的处理方法及装置
CN110036641B (zh) 一种处理视频数据的方法、设备及计算机可读存储介质
CN102918836B (zh) 用于非对称立体视频的帧封装
CN103155571B (zh) 译码立体视频数据
CN102986218B (zh) 用于串流视频数据的视频切换
CN105308971B (zh) 一种解码视频数据的方法和装置、以及非暂时性计算机可读数据存储媒体
EP2106665B1 (en) Interactive encoded content system including object models for viewing on a remote device
KR102304687B1 (ko) 정보 처리 장치 및 방법
CN102804773B (zh) 在mpeg‑2系统中组合多视角视频译码子位流
CN103430542B (zh) 用于随机存取后译码依附图片的视频译码技术
CN102474655B (zh) 用信号传递多视角视频译码操作点的特性
CN104412600A (zh) 译码用于视频译码的sei nal单元
US20210227236A1 (en) Scalability of multi-directional video streaming
US9414065B2 (en) Dynamic image distribution system, dynamic image distribution method and dynamic image distribution program
EP1051039A2 (en) System and methods for preparing multimedia data using digital video data compression
CN104380747A (zh) 视频译码中的参数集更新
CN103081464A (zh) 用信号传递网络串流传输视频数据的属性
CN104396265A (zh) 在视频译码中从清晰随机存取图片的全面随机存取
CN104115494A (zh) 用于多视图视频译码mvc兼容三维视频译码3dvc的嵌套式sei消息
CN106464917A (zh) 用信号表示用于位流分区的hrd参数
CN103314592A (zh) 用于选择性地破坏视频编码中的预测的方法和系统
CN104584562A (zh) 发送设备、发送方法、接收设备和接收方法
CN104904208A (zh) 用于视频译码中的随机存取的视频缓冲操作
CN103959768B (zh) 能够显示立体图像的数字广播接收方法和装置
JP5812028B2 (ja) 映像処理装置および映像処理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20121219

Assignee: Nanjing Yun Yao super Mdt InfoTech Ltd

Assignor: Beijing Cyber Cloud Technology Co., Ltd.

Contract record no.: 2017110000012

Denomination of invention: Video image processing method and device

Granted publication date: 20150701

License type: Common License

Record date: 20170628

Application publication date: 20121219

Assignee: Nanjing Bo Han Information Technology Co. Ltd.

Assignor: Beijing Cyber Cloud Technology Co., Ltd.

Contract record no.: 2017110000011

Denomination of invention: Video image processing method and device

Granted publication date: 20150701

License type: Common License

Record date: 20170628

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 213017 No.2, Hongyang Road, Tianning District, Changzhou City, Jiangsu Province

Patentee after: Jiangsu shiboyun Information Technology Co., Ltd

Address before: 100085, Beijing, Haidian District, 5 East Road, Beijing, Mongolia hi tech building, block B, 2

Patentee before: BEIJING SUPER DIGITAL TV TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20121219

Assignee: Beijing shiboyun Information Technology Co.,Ltd.

Assignor: Jiangsu shiboyun Information Technology Co., Ltd

Contract record no.: X2021110000011

Denomination of invention: A video image processing method and device

Granted publication date: 20150701

License type: Common License

Record date: 20210323