本发明涉及一种视频通话技术,特别是基于自动分析第二终端用户的感兴趣区域、对终端视频图像进行自适应编码的技术,可应用于单对单视频通话及多方视频通话领域。
背景技术:
随着互联网、移动互联网基础设施的不断完善,以及蜂窝移动通信网络的升级换代,人们在生活和工作中越来越多地使用视频电话或视频通话作为远距离沟通交流的手段。但是由于诸如网络带宽不足、网络传输负荷过大、视频图像分辨率不断提升等多方面因素的影响,传统的视频编码技术无法保证用户获得高质量的视频图像。视频编码技术经过多年的发展,也逐步接近压缩率的极限,如何在相对稳定的压缩比基础上,进一步获得让观看者主观感知上更高质量的视频图像,是当前视频压缩技术领域的难点之一。
感兴趣区域(Range of Interesting简称ROI)视频编码是目前应对以上难题的有效解决方案之一,由于人眼具有视觉感兴趣区的特性,即人眼对一副图像不同区域感兴趣的程度不同,这就意味着人眼对一副图像不同区域的质量损失可察觉度也相应不同,因此,基于感兴趣区域的视频编码方法,可充分利用视频图像接收者的这一主观特性,对图像中不同区域采用不同的编码策略,可以有效地在不增加编码码率的同时显著提升图像等的主观感受质量。
为了实现感兴趣区域视频编码这一技术,当前主流的视频编解码算法标准均提供了相应的建议实现方案,例如国际标准化组织/国际电工委员会(International Organization for Standardization/International Electro technical Commission,简称ISO/IEC)运动图像专家组-2(Moving Picture Experts Group-2,简称MPEG-2)标准、ISO/IEC运动图像专家组-4(MPEG-4)第10部分高级视频编码标准(Advanced Video Coding,简称AVC)、国际电信联盟(International Technological University,简称ITU)标准均提供了在图像特定区域获得比其它区域更高质量的机制,允许终端通过分析待编码图像的特性区分出感兴趣区域,通过对感兴趣区域分配更多编码比特以保留更多细节,来获得更高的感知质量。
虽然这种感兴趣区域视频编码技术可以让编码器将待编码图像划分出感兴趣区域,但是这种划分全都是基于待编码视频的特性,无法真实反映出接收者真正的感兴趣区域。同时,接收者自身主观上也可能存在关注区域频繁变化的情况,同样也能造成终端划分出的感兴趣区域未必就是接收者真正的感兴趣区域。
技术实现要素:
为了解决现有技术中感兴趣区域视频编码技术无法真实反应出使用者真正的感兴趣区域的问题,本发明提供了一种自适应视频编码方法及一种终端。
本发明提供的自适应视频编码方法,包括:
第一终端获知第二终端用户对所述第二终端屏幕的关注区域,根据所述关注区域确定所述第一终端采集到的视频帧中的感兴趣区域ROI以及非感兴趣区域NROI;
所述第一终端根据所述ROI以及所述NROI对采集到的视频帧数据进行视频编码使进行视频编码后的视频流中ROI内的宏块集的码率大于NROI内的宏块集的码率;所述第一终端将进行所述视频编码后的视频流封装并向与所述第一终端具有视频通话连接的包括所述第二终端的至少一个终端发送。
上述自适应视频编码方法还具有以下特点:
所述第一终端获知第二终端用户对所述第二终端屏幕的关注区域包括:
所述第一终端从与所述第一终端正在建立视频通话连接或已建立视频通话连接的所述第二终端接收所述关注区域的位置信息,根据所述位置信息确定第二终端用户对所述第二终端屏幕的关注区域;
或者,所述第一终端根据从所述第二终端接收的视频帧数据检测出第二终端用户对所述第二终端屏幕的关注区域,具体包括:所述第一终端根据从所述第二终端接收的视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹,检测到有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹后,根据此有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹计算出第二终端用户对所述第二终端屏幕的关注区域。
上述自适应视频编码方法还具有以下特点:
所述方法还包括:所述第一终端在与所述第二终端建立起视频通话连接之前的连接初始化过程中,从所述第二终端获知所述第二终端用户对所述第二终端屏幕的关注区域并根据此关注区域确定所述第一终端采集到的视频帧中的初始ROI以及初始NROI,或者,根据预设固定区域确定所述第一终端采集到的视频帧中的初始ROI以及初始NROI;所述第一终端在与所述第二终端建立起视频通话连接后且未从第二终端接收到关注区域的位置信息或未检测到有效的人眼运动轨迹或有效的瞳孔状态变化轨迹时,根据所述初始ROI和所述初始NROI对采集到的视频帧数据进行视频编码。
上述自适应视频编码方法还具有以下特点:
所述方法还包括:所述第一终端根据所述第一终端采集到的视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹,检测到有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹后,根据此有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹计算出第一终端用户对第一终端屏幕的关注区域,并将此关注区域的信息发送至所述第二终端。
上述自适应视频编码方法还具有以下特点:
所述方法还包括:所述第一终端从所述第二终端获取所述第二终端的屏幕信息,所述屏幕信息包括:屏幕尺寸、屏幕显示分辨率、屏幕方向;
所述根据所述关注区域确定所述第一终端采集到的视频帧中的感兴趣区域ROI以及非感兴趣区域NROI包括:所述第一终端根据所述第二终端的屏幕信息以及所述第一终端的屏幕信息计算从所述第二终端接收到的视频帧中坐标位置与所述第一终端采集到的视频帧中坐标位置的映射关系,根据所述映射关系确定所述关注区域对应的所述第一终端采集到的视频帧中的感兴趣区域ROI。
上述自适应视频编码方法还具有以下特点:
所述第一终端对采集到的视频帧数据进行视频编码方法为以下方法中的一种:
方法一,计算ROI和NROI内的宏块集的图像特性,根据所述图像特性计算ROI的比特分配策略和NROI的比特分配策略,根据ROI的比特分配策略对ROI的宏块集进行编码,根据NROI的比特分配策略对NROI的宏块集进行编码;其中,所述ROI的比特分配策略对应于第一码率,所述NROI的比特分配策略对应于第二码率,所述第一码率大于所述第二码率;所述图像特性包括以下特性中的至少一种:亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、离散余弦变换DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
方法二,计算ROI和NROI内的宏块集的图像特性,根据所述图像特性计算ROI的编码策略和NROI的编码策略,根据ROI的编码策略对ROI的宏块集进行编码,根据NROI的编码策略对NROI的宏块集进行编码;其中,所述ROI的编码策略对应的码率大于所述NROI的编码策略所对应的码率;所述ROI的编码策略和NROI的编码策略包括以下策略中的至少一种:宏块的划分策略、运动矢量搜索范围、量化参数、宏块编码比特分配数量;所述图像特性包括以下特性中的至少一种:亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、离散余弦变换DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
方法三,所述第一终端将采集到的视频帧数据作为第一层对象,将采集到的视频帧数据中ROI的视频数据与对所述第一层对象编码后的ROI的视频编码数据的残差作为第二层对象,采用分层编码技术对所述第一层编码对象和第二层编码对象进行编码。
本发明提供的终端,包括:关注区域分析模块、感兴趣区域分析模块、采集模块、编码模块、封装模块、发送模块;
所述关注区域分析模块,用于获知所述终端的对端用户对对端屏幕的关注区域;
所述感兴趣区域分析模块,用于根据所述关注区域确定所述终端采集到的视频帧中的感兴趣区域ROI以及非感兴趣区域NROI;
所述采集模块,用于采集视频帧数据;
所述编码模块,用于根据所述ROI以及所述NROI对采集到的视频帧数据进行视频编码使进行视频编码后的视频流中ROI内的宏块集的码率大于NROI内的宏块集的码率;
所述封装模块,用于对所述编码模块进行所述视频编码后的视频流进行封装;
所述发送模块,用于将所述封装模块进行所述封装后的数据与所述终端具有视频通话连接的至少一个终端发送。
上述终端还具有以下特点:
所述关注区域分析模块包括接收单元和处理单元;
所述接收单元,用于从与所述终端正在建立视频通话连接或已建立视频通话连接的对端接收所述关注区域的位置信息;或者,从所述对端接收视频帧数据;
所述处理单元,根据所述位置信息确定对端用户对对端屏幕的关注区域;或者,根据从所述对端接收的视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹,检测到有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹后,根据此有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹计算出对端用户对所述对端屏幕的关注区域。
上述终端还具有以下特点:
所述处理单元,还用于根据从所述采集模块接收的视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹,检测到有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹后,根据此有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹计算出终端用户对终端屏幕的关注区域;
所述发送模块,还用于将所述终端用户对终端屏幕的关注区域向所述终端的对端发送。
上述终端还具有以下特点:
所述编码模块包括策略生成单元和编码执行单元;
所述策略确定单元,用于根据以下方法一进行策略生成:计算ROI和NROI内的宏块集的图像特性,根据所述图像特性计算ROI的比特分配策略和NROI的比特分配策略,其中,所述ROI的比特分配策略对应于第一码率,所述NROI的比特分配策略对应于第二码率,所述第一码率大于所述第二码率;所述图像特性包括以下特性中的至少一种:亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、离散余弦变换DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
或者,用于根据以下方法二进行策略生成:计算ROI和NROI内的宏块集的图像特性,根据所述图像特性计算ROI的编码策略和NROI的编码策略,其中,所述ROI的编码策略对应的码率大于所述NROI的编码策略所对应的码率;所述ROI的编码策略和NROI的编码策略包括以下策略中的至少一种:宏块的划分策略、运动矢量搜索范围、量化参数、宏块编码比特分配数量;所述图像特性包括以下特性中的至少一种:亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、离散余弦变换DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
或者,用于根据以下方法三进行策略生成:将采集到的视频帧数据作为第一层对象,将采集到的视频帧数据中ROI的视频数据与对所述第一层对象编码后的ROI的视频编码数据的残差作为第二层对象;
所述编码执行单元,用于在所述策略确定单元根据所述方法一进行策略生成时,根据所述ROI的比特分配策略对ROI的宏块集进行编码,根据所述NROI的比特分配策略对NROI的宏块集进行编码;还用于在所述策略确定单元根据所述方法二进行策略生成时,根据所述ROI的编码策略对ROI的宏块集进行编码,根据所述NROI的编码策略对NROI的宏块集进行编码;还用于在所述策略确定单元根据所述方法三进行策略生成时,采用分层编码技术对所述第一层编码对象和第二层编码对象进行编码。
本发明可以在终端进行视频通话的过程中真实的反应出对端使用者真正的感兴趣区域,为用户提供良好的视频通话视觉体验。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是实施例一中自适应视频编码方法的流程图;
图2是实施例一中根据人眼运动轨迹和/或瞳孔状态变化轨迹确定用户对终端屏幕的关注区域的示意图;
图3是实施例一中第二终端的关注区域与第一终端的ROI的对应关系的示意图;
图4是实施例二中终端的结构图;
图5是实施例二中终端的另一种结构图。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
实施例一
图1是实施例一中自适应视频编码方法的流程图,此自适应视频编码方法包括:
步骤101,第一终端获知第二终端用户对第二终端屏幕的关注区域;
步骤102,根据关注区域确定第一终端采集到的视频帧中的感兴趣区域ROI以及非感兴趣区域NROI;
步骤103,第一终端根据上述ROI以及NROI对采集到的视频帧数据进行视频编码使进行视频编码后的视频流中ROI内的宏块集的码率大于NROI内的宏块集的码率;第一终端将进行视频编码后的视频流封装并向与第一终端具有视频通话连接的包括第二终端的至少一个终端发送。
下面具体说明上述方法中各步骤的具体执行方式:
步骤101中第一终端获知第二终端用户对第二终端屏幕的关注区域的方法包括:
方法一,第一终端从与第一终端正在建立视频通话连接或已建立视频通话连接的第二终端接收关注区域的位置信息,根据此位置信息确定第二终端用户对第二终端屏幕的关注区域。
此方法一中包括以下四种方式:
方法1.1,第一终端与第二终端之间均设置有预设固定区域的位置信息与标识的映射关系。此映射关系的举例如下:第二终端的屏幕平均为9个区域包括左上区域、左下区域、右上区域、右下区域、上中区域、下中区域、左中区域、右中区域、中间区域;此9个区域对应的标识分别为1至9。第一终端在与第二终端建立起视频通话连接之前的视频通话初始阶段,第一终端向第二终端发送区域选择请求,第二终端在屏幕上显示区域选择的对话框,此对话框可以是包含有9个区域位置图像方式也可以是包含各标识的选择项的选项方式,第二终端用户进行选择后,第二终端确定观看者选定的标识并发送至终端。预设固定区域的布局方式不局限于上述描述的方式。
方法1.2,第一终端在与第二终端建立起视频通话连接之前的视频通话初始阶段,第一终端向第二终端发送区域位置信息请求后,第二终端在屏幕上显示区域选择的对话框,此对话框是可接受用户触摸输入的对话框,第二终端用户在此对话框中划出关注区域的范围,此关注区域是一个闭合区域,为圆形或近似圆形或矩形或近似矩形或不规则形状,第二终端确定第二终端用户选定的区域的位置信息并发送至第一终端。
方法1.3,采用第二终端通过视频帧数据检测出关注区域的方式。具体的,第一终端在与第二终端建立起视频通话连接之前的视频通话初始阶段,第一终端向第二终端发送区域选择请求,第二终端根据其采集到视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹,检测到有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹后,根据此有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹计算出第二终端用户对第二终端屏幕的关注区域,将此关注区域的位置信息发送至第一终端。
方法1.4,采用第二终端使用传感器装置检测出关注区域的方法。第二终端上设置有用于检测人眼运动轨迹和/或瞳孔状态变化的传感器,此传感器可以是内置的方式,第二终端通过此传感器采集到视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹并计算出第二终端用户对第二终端屏幕的关注区域,将此关注区域的位置信息发送至第一终端。
方法二,第一终端根据从第二终端接收的视频帧数据检测出第二终端用户对第二终端屏幕的关注区域,具体包括:第一终端根据从第二终端接收的视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹,检测到有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹后,根据此有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹计算出第二终端用户对第二终端屏幕的关注区域。图2是根据人眼运动轨迹和/或瞳孔状态变化轨迹确定用户对终端屏幕的关注区域的示意图。
步骤102中,第一终端根据步骤101中获知的关注区域确定第一终端采集到的视频帧中的感兴趣区域ROI以及非感兴趣区域NROI时包括第一终端从第二终端获取第二终端的屏幕信息,屏幕信息包括:屏幕尺寸、屏幕显示分辨率、屏幕方向。第一终端根据第二终端的屏幕信息以及第一终端的屏幕信息计算从第二终端接收到的视频帧中坐标位置与第一终端采集到的视频帧中坐标位置的映射关系,根据此映射关系确定上述关注区域对应的第一终端采集到的视频帧中的感兴趣区域ROI。图3是视频通信对端的关注区域与终端的ROI的对应关系的示意图。其中,第二终端的屏幕信息可以预存于第一终端上,也可以第一终端在建立视频通信连接的过程中或建立视频通信连接后从第二终端获取其屏幕信息。或者,进行视频通信的第一终端和第二终端是相同型号和款式的终端并且屏幕方向也相同时,无需预存和获取视频通信对端的屏幕信息。
步骤103中,第一终端对采集到的视频帧数据进行视频编码方法为以下方法中的一种:
方法一,计算ROI和NROI内的宏块集的图像特性,根据图像特性计算ROI的比特分配策略和NROI的比特分配策略,根据ROI的比特分配策略对ROI的宏块集进行编码,根据NROI的比特分配策略对NROI的宏块集进行编码;其中,ROI的比特分配策略对应于第一码率,NROI的比特分配策略对应于第二码率,第一码率大于第二码率;图像特性包括以下特性中的至少一种:亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、离散余弦变换DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
方法二,计算ROI和NROI内的宏块集的图像特性,根据图像特性计算ROI的编码策略和NROI的编码策略,根据ROI的编码策略对ROI的宏块集进行编码,根据NROI的编码策略对NROI的宏块集进行编码;其中,ROI的编码策略对应的码率大于NROI的编码策略所对应的码率;ROI的编码策略和NROI的编码策略包括以下策略中的至少一种:宏块的划分策略、运动矢量搜索范围、量化参数、宏块编码比特分配数量;图像特性包括以下特性中的至少一种:亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、离散余弦变换DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
方法三,第一终端将采集到的视频帧数据作为第一层对象,将采集到的视频帧数据中ROI的视频数据与对第一层对象编码后的ROI的视频编码数据的残差作为第二层对象,采用分层编码技术对第一层编码对象和第二层编码对象进行编码。
此步骤103中确定了编码策略后,视频数据中NROI内的宏块集的数据是多个完整宏块的数据的组合,根据上述映射关系确定关注区域所对应的终端采集到的视频帧中的区域后,此区域覆盖下的所有完整的宏块以及部分宏块所对应的宏块均属于NROI内的宏块集的数据。如图3所示,图中椭圆区域所覆盖的带有灰色填充的宏块的闭合区域即为NROI内的宏块集。
此方法可以在第一终端与第二终端开始建立视频通话时即开始执行,在第一终端与第二终端建立起视频通话之前,第一终端需要具有初始ROI和初始NROI,使第一终端在与第二终端建立起视频通话连接后且未从第二终端接收到关注区域的位置信息或未检测到有效的人眼运动轨迹或有效的瞳孔状态变化轨迹时,根据初始ROI和初始NROI对采集到的视频帧数据进行视频编码。其中,获得初始ROI和初始NROI的方法为:第一终端在与第二终端建立起视频通话连接之前的连接初始化过程中,从第二终端获知第二终端用户对第二终端屏幕的关注区域并根据此关注区域确定第一终端采集到的视频帧中的初始ROI以及初始NROI,或者,根据预设固定区域确定第一终端采集到的视频帧中的初始ROI以及初始NROI。
本方法适用于视频通话双方中一方使用差别化编码的方式,也适用于视频通话双方均使用差别化编码的方式。例如,视频通话双方均使用检测人眼运动轨迹和/或瞳孔状态变化轨迹的方式检测对端用户的关注区域时,第一终端除了执行上述方法中描述的操作外,还根据第一终端采集到的视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹,检测到有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹后,根据此有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹计算出第一终端用户对第一终端屏幕的关注区域,并将此关注区域的信息发送至第二终端。
实施例二
图4是实施例二中终端的结构图。终端包括:关注区域分析模块、感兴趣区域分析模块、采集模块、编码模块、封装模块、发送模块。
关注区域分析模块用于获知终端的对端用户对对端屏幕的关注区域;
感兴趣区域分析模块用于根据关注区域确定终端采集到的视频帧中的感兴趣区域ROI以及非感兴趣区域NROI;
采集模块用于采集视频帧数据;
编码模块用于根据ROI以及NROI对采集到的视频帧数据进行视频编码使进行视频编码后的视频流中ROI内的宏块集的码率大于NROI内的宏块集的码率;
封装模块用于对编码模块进行所述视频编码后的视频流进行封装;
发送模块,用于将封装模块进行封装后的数据与终端具有视频通话连接的至少一个终端发送。
其中,
关注区域分析模块包括接收单元和处理单元。
接收单元用于从与终端正在建立视频通话连接或已建立视频通话连接的对端接收所述关注区域的位置信息;或者,从对端接收视频帧数据;
处理单元根据位置信息确定对端用户对对端屏幕的关注区域;或者,根据从对端接收的视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹,检测到有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹后,根据此有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹计算出对端用户对对端屏幕的关注区域。
接收单元还用于从终端的对端获取第二终端的屏幕信息,屏幕信息包括:屏幕尺寸、屏幕显示分辨率、屏幕方向。感兴趣区域分析模块用于根据终端的屏幕信息以及对端的屏幕信息计算从对端接收到的视频帧中坐标位置与终端采集到的视频帧中坐标位置的映射关系,根据映射关系确定上述关注区域对应的终端采集到的视频帧中的感兴趣区域ROI。
编码模块包括策略生成单元和编码执行单元。
策略确定单元用于根据以下方法一进行策略生成:计算ROI和NROI内的宏块集的图像特性,根据图像特性计算ROI的比特分配策略和NROI的比特分配策略,其中,ROI的比特分配策略对应于第一码率,NROI的比特分配策略对应于第二码率,第一码率大于第二码率;图像特性包括以下特性中的至少一种:亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、离散余弦变换DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
或者,用于根据以下方法二进行策略生成:计算ROI和NROI内的宏块集的图像特性,根据图像特性计算ROI的编码策略和NROI的编码策略,其中,ROI的编码策略对应的码率大于NROI的编码策略所对应的码率;ROI的编码策略和NROI的编码策略包括以下策略中的至少一种:宏块的划分策略、运动矢量搜索范围、量化参数、宏块编码比特分配数量;图像特性包括以下特性中的至少一种:亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、离散余弦变换DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
或者,用于根据以下方法三进行策略生成:将采集到的视频帧数据作为第一层对象,将采集到的视频帧数据中ROI的视频数据与对第一层对象编码后的ROI的视频编码数据的残差作为第二层对象;
编码执行单元用于在策略确定单元根据方法一进行策略生成时,根据ROI的比特分配策略对ROI的宏块集进行编码,根据NROI的比特分配策略对NROI的宏块集进行编码;还用于在策略确定单元根据方法二进行策略生成时,根据ROI的编码策略对ROI的宏块集进行编码,根据NROI的编码策略对NROI的宏块集进行编码;还用于在策略确定单元根据方法三进行策略生成时,采用分层编码技术对第一层编码对象和第二层编码对象进行编码。
此终端中,接收单元还用于从对端接收对端用户对对端屏幕的关注区域的信息;感兴趣区域分析单元还用于根据此关注区域确定终端采集到的视频帧中的初始ROI以及初始NROI,或者,根据预设固定区域确定终端采集到的视频帧中的初始ROI以及初始NROI;编码模块还用于在终端与对端建立起视频通话连接后且未从对端接收到关注区域的位置信息或未检测到有效的人眼运动轨迹或有效的瞳孔状态变化轨迹时,根据初始ROI和初始NROI对采集到的视频帧数据进行视频编码。
在实现视频通话双方均进行差别化编码时,如图5所示,此终端的关注区域分析模块中的处理单元还用于根据从采集模块接收的视频帧数据检测人眼运动轨迹和/或瞳孔状态变化轨迹,检测到有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹后,根据此有效的人眼运动轨迹和/或有效的瞳孔状态变化轨迹计算出终端用户对终端屏幕的关注区域;发送模块还用于将处理单元得出的终端用户对终端屏幕的关注区域向终端的对端发送。
本发明的方案不只适用于一对一的视频通话场景,也适用于一对多的视频通话场景。例如,本端终端与多个对端进行视频通话时,本端终端可以根据一个对端的选择或者根据一个对端所采集的视频帧获得ROI和NROI,将编码后的视频流同时向多个对端发送,则多个对端均可以看到差别化编码后的视频效果。
下面通过具体实施例说明本发明。为便于理解,以下实施例中图像宽度用符号W表示,图像高度用符号H表示,图像左上角为坐标原点,(x,y)表示像素点在图像中的坐标,宏块、块的定义可参考视频编码协议(例如H.264)中的定义。
具体实施例一
步骤1001,第一终端与第二终端建立视频通话连接,第一终端和第二终端在建立视频通话连接的过程中互相交换各自的屏幕信息,包括屏幕尺寸、屏幕分辨率、屏幕方向。
步骤1002,第一终端对从第二终端接收到的视频帧数据进行人眼运动轨迹和瞳孔状态变化轨迹检测,如果无法检测到有效轨迹,第一终端将预设区域(例如中部区域{(x,y)|W/4<x<3W/4,H/4<y<3H/4})所属的宏块集作为ROI,其余宏块集作为NROI。如果检测到有效轨迹,根据检测到的人眼运动轨迹和瞳孔状态变化轨迹计算出第二终端的观看者对其屏幕的关注区域,再根据双方建立连接时协商的屏幕信息,将第二终端观看者的关注区域映射为第一终端采集到的视频帧中的区域所对应的宏块集作为ROI,其余区域作为NROI。
步骤1003,第一终端分别计算ROI和NROI中图像特性,图像特性包括:各宏块的亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
步骤1004,第一终端根据ROI和NROI中图像特性计算ROI的比特分配策略和NROI的比特分配策略,ROI的比特分配策略对应于第一码率,NROI的比特分配策略对应于第二码率,第一码率为第二码率的两倍;
步骤1005,第一终端根据ROI的比特分配策略和NROI的比特分配策略采用视频编码技术(例如H.264)对ROI和NROI进行编码;
步骤1006:第一终端按照网络传输协议,将编码得到的码流封装成待传输的编码数据,将编码数据通过网络传输给第二终端。
步骤1007:第二终端从第一终端收到数据流后解析出视频帧并显示。
具体实施例二
步骤2001,第一终端与第二终端建立视频通话连接,第一终端和第二终端在建立视频通话连接的过程中互相交换各自的屏幕信息,包括屏幕尺寸、屏幕分辨率、屏幕方向。
步骤2002,第一终端对从第二终端接收到的视频帧数据进行人眼运动轨迹和瞳孔状态变化轨迹检测,如果无法检测到有效轨迹,第一终端将预设区域(例如中部区域{(x,y)|W/4<x<3W/4,H/4<y<3H/4})所属的宏块集作为ROI,其余宏块集作为NROI。如果检测到有效轨迹,根据检测到的人眼运动轨迹和瞳孔状态变化轨迹计算出第二终端的观看者对其屏幕的关注区域,再根据双方建立连接时协商的屏幕信息,将第二终端观看者的关注区域映射为第一终端采集到的视频帧中的区域所对应的宏块集作为ROI,其余区域作为NROI。
步骤2003,第一终端分别计算ROI和NROI中图像特性,图像特性包括:各宏块的亮度分量、色度分量、照射分量、反射分量、灰度直方图、颜色饱和度、DCT变换系数、小波变换系数、梯度、宏块纹理复杂度;
步骤2004,第一终端根据ROI和NROI中图像特性计算ROI的编码策略和NROI的编码策略,编码策略包括宏块的划分策略、运动矢量搜索范围、量化参数、宏块编码比特分配数量。ROI的编码策略对应的宏块分辨率大于NROI的编码策略所对应的宏块分辨率。ROI的编码策略中将宏块划分为更小、更多的块,使用更大的运动矢量搜索范围,使用较小的宏块、块的量化参数,分配更多的编码比特;NROI的编码策略中包括将宏块划分为较大的块,使用较小的运动矢量搜索范围,使用较大的量化参数,分配较少的编码比特。
步骤2005,第一终端根据ROI的编码策略和NROI的编码策略采用视频编码技术(例如H.264)对ROI和NROI进行编码;
步骤2006:第一终端按照网络传输协议,将编码得到的码流封装成待传输的编码数据,将编码数据通过网络传输给第二终端。
步骤2007:第二终端从第一终端收到数据流后解析出视频帧并显示。
具体实施例三
步骤3001:第一终端与第二终端开始建立视频通话连接时,第一终端接收到第二终端发来的屏幕信息和观看者在第二终端屏幕上的感兴趣区域信息;第二终端获得本端观看者在本端屏幕上的感兴趣区域信息的具体过程为:第二终端打开摄像装置,并在屏幕上弹出预设的对话框,由第二终端观看者进行操作,在此期间,第二终端利用本端摄像装置拍摄的视频图像,对观看者进行人眼运动轨迹和瞳孔状态变化轨迹检测,获得观看者在本端屏幕上的感兴趣区域;视频通话连接建立后,第一终端对接收到第二终端发来的视频图像进行人眼运动轨迹和瞳孔状态变化轨迹检测,在检测到有效的人眼运动轨迹和瞳孔状态变化轨迹之前,使用第二终端发来的感兴趣区域信息,转步骤3003;在检测到有效轨迹之后,则转步骤3002。
步骤3002:根据检测到到人眼运动轨迹和瞳孔状态变化轨迹,计算出第二终端观看者对其屏幕的关注区域,再根据双方建立连接时协商的终端信息,将第二终端观看者的关注区域映射为第一终端待编码视频帧中的ROI内的宏块集,转步骤3003。
步骤3003:分别计算ROI和整帧图像中各宏块的图像特性转步骤3004,此图像特性包括:照射分量、反射分量、颜色饱和度、DCT变换系数、宏块纹理复杂度。
步骤3004:根据获得的图像特性分别计算将整帧图像作为第一层编码对象的比特分配数量和/或宏块量化参数,以及将ROI作为第二层编码对象的比特分配数量和/或宏块量化参数,转步骤3005。
步骤3005:根据步骤3004中获得的编码比特分配数量和/或宏块量化参数,采用分层编码技术(例如H.264中的SVC)分别对整帧和ROI进行分层编码,转步骤3006。
步骤3006:第一终端完成当前帧的编码后,按照网络传输协议,将编码得到的码流进行封装成待传输的编码数据,第一终端将编码数据通过网络传输给第二终端。
步骤3007:第二终端从第一终端收到数据流后解析出视频帧并显示。
具体实施例四
步骤4001,第一终端与第二终端开始建立视频通话连接,在视频通话连接的初始化过程中,第一终端和第二终端互相交换各自的屏幕信息,包括屏幕尺寸、屏幕分辨率、屏幕方向。
步骤4002,第二终端对其采集到的视频帧数据进行人眼运动轨迹检测,根据检测出的有效的人眼运动轨迹检测确定出第二终端用户对第二终端屏幕的关注区域,并发送至第一终端,第一终端收到此关注区域后,根据第一终端的屏幕信息和第二终端的屏幕信息计算出与此关注区域对应的第一终端采集到的视频帧数据中的ROI和NROI作为初始ROI和初始NROI。第一终端对其采集到的视频帧数据进行人眼运动轨迹检测,根据检测出的有效的人眼运动轨迹检测确定出第一终端用户对第一终端屏幕的关注区域,并发送至第二终端,第二终端收到此关注区域后,根据第一终端的屏幕信息和第二终端的屏幕信息计算出与此关注区域对应的第二终端采集到的视频帧数据中的ROI和NROI作为初始ROI和初始NROI。
步骤4003,第一终端与第二终端建立起视频通话连接,第一终端对从第二终端接收到的视频帧数据进行人眼运动轨迹和瞳孔状态变化轨迹的检测,在未检测到有效的人眼运动轨迹或瞳孔状态变化轨迹之前,根据上述初始ROI和初始NROI对采集到的视频帧数据进行编码使ROI的宏块集的码率为ROI的宏块集的码率的两倍,将编码后码流封装后发送给第二终端,第二终端从第一终端接收到数据后并解析后通过屏幕显示。在第一终端检测到有效的人眼运动轨迹或瞳孔状态变化轨迹后,使用根据此有效的人眼运动轨迹或瞳孔状态变化轨迹确定出的关注区域所对应的ROI和NROI对采集到的视频帧数据进行编码,使ROI的宏块集的码率为ROI的宏块集的码率的两倍,将编码后码流封装后发送给第二终端,第二终端从第一终端接收到数据后并解析后通过屏幕显示。第二终端采用与上述第一终端使用的方式相同的方式进行相应处理,此处不再重复描述。
在上述步骤4003中,第一终端与第二终端进行视频通话的过程中,第一终端或第二终端根据从对端接收到的视频帧数据无法检测到有效的人眼运动轨迹或瞳孔状态变化轨迹时,则不进行ROI和NROI的差别化编码,而是对整帧视频数据采用相同的编码方法。
步骤4004,第二终端从第一终端收到数据流后解析出视频帧并显示。
具体实施例五
步骤5001,第一终端分别与第二终端、第三终端和第四终端开始建立视频通话连接,在视频通话连接的初始化过程中,第一终端分别与第二终端、第三终端和第四终端互相交换各自的屏幕信息,包括屏幕尺寸、屏幕分辨率、屏幕方向。
步骤5002,第二终端对其采集到的视频帧数据进行人眼运动轨迹检测,根据检测出的有效的人眼运动轨迹检测确定出第二终端用户对第二终端屏幕的关注区域,并发送至第一终端,第一终端收到此关注区域后,根据第一终端的屏幕信息和第二终端的屏幕信息计算出与此关注区域对应的第一终端采集到的视频帧数据中的ROI和NROI作为初始ROI和初始NROI。
步骤5003,第一终端与第二终端、第三终端和第四终端建立起视频通话连接,第一终端对从第二终端接收到的视频帧数据进行人眼运动轨迹和瞳孔状态变化轨迹的检测,在检测到有效的人眼运动轨迹或瞳孔状态变化轨迹时,根据此有效的人眼运动轨迹或瞳孔状态变化轨迹确定出的第二终端用户对第二终端屏幕的关注区域,根据第一终端的屏幕信息和第二终端的屏幕信息计算出与此关注区域对应的第一终端采集到的视频帧数据中的ROI;在未检测到有效的人眼运动轨迹或瞳孔状态变化轨迹时,则认为未针对此终端检测到其相应的关注区域。根据与上述同理的方法确定其它终端用户对其终端屏幕的关注区域并计算关注区域在第一终端处所对应的ROI。将检测到的ROI的并集作为编码时使用的ROI,根据此ROI对采集到的视频帧数据进行编码,使ROI的宏块集的码率为ROI的宏块集的码率的两倍,将编码后码流封装后发送给第二终端、第三终端和第四终端;在针对第二终端、第三终端和第四终端均未检测到有效的人眼运动轨迹或瞳孔状态变化轨迹时,则不进行ROI和NROI的差别化编码,而是对整帧视频数据采用相同的编码方法,将编码后码流封装后发送给第二终端、第三终端和第四终端。
步骤5004,第二终端、第三终端和第四终端从第一终端收到数据流后,解析出视频帧并显示。
本发明可以在终端进行视频通话的过程中真实的反应出对端使用者真正的感兴趣区域,为用户提供良好的视频通话视觉体验。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。