CN105988578A - 一种交互式视频显示的方法、设备及系统 - Google Patents

一种交互式视频显示的方法、设备及系统 Download PDF

Info

Publication number
CN105988578A
CN105988578A CN201510096217.1A CN201510096217A CN105988578A CN 105988578 A CN105988578 A CN 105988578A CN 201510096217 A CN201510096217 A CN 201510096217A CN 105988578 A CN105988578 A CN 105988578A
Authority
CN
China
Prior art keywords
adjustment
viewing area
region
client
video
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
CN201510096217.1A
Other languages
English (en)
Other versions
CN105988578B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510096217.1A priority Critical patent/CN105988578B/zh
Priority to EP16158155.8A priority patent/EP3065049A3/en
Priority to US15/060,976 priority patent/US9965026B2/en
Publication of CN105988578A publication Critical patent/CN105988578A/zh
Application granted granted Critical
Publication of CN105988578B publication Critical patent/CN105988578B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F3/1462Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay with means for detecting differences between the image stored in the host and the images displayed on the remote displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/11Hand-related biometrics; Hand pose recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0464Positioning
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例提供一种交互式视频显示的方法、设备及系统,涉及多媒体技术领域,能够解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。具体方案为:获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息,根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。本发明实施例用于进行交互式视频显示。

Description

一种交互式视频显示的方法、设备及系统
技术领域
本发明涉及多媒体技术领域,尤其涉及一种交互式视频显示的方法、设备及系统。
背景技术
随着视频采集、拍摄技术的发展和网络传输技术的进步,用户足不出户地欣赏远程场景在日常商业办公和家庭娱乐中的应用日益普遍。用户可以通过电子屏幕、头戴式显示器或其它显示设备对远程场景进行浏览,包括电视会议,电视、电影欣赏和游戏等。在用户通过客户端欣赏远程场景时,交互式浏览方式使得用户可以通过各种输入设备和方式(遥控器、体态等)实时控制视频内容的变换,因而能够提升用户场景视频浏览时的浸入式体验和真实感体验。
现有技术中,一方面可以通实时交互远程场景浏览系统(LiveInteractive FramE,LIFE)进行场景视频浏览时,通过检测用户位置在上下和左右方向的变化,调整屏幕中用户可视区域在竖直和水平方向的移动距离。当可视区域超出当前拍摄画面的边界时,摄像头沿可视区域的变化方向进行移动。该方法中,可视区域仅根据用户位置的平移变化进行简单平移变换,忽略了其它例如用户位置相对于屏幕前后移动等体态因素变化时的相应变换,导致用户双眼感知到的画面的变化与真实情况下不一致。
发明内容
本发明的实施例提供一种交互式视频显示的方法、设备及系统,能够解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种交互式视频显示的方法,包括:
获取用户的体态信息,所述体态信息包括所述用户的视角信息和所述用户的位置信息;
根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
结合第一方面,在第一方面的第一种可能的实现方式中,所述用户的位置信息包括所述用户与所述客户端平面的垂直距离,所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域包括:
根据所述用户的视角信息和所述垂直距离获取所述调整前的可视区域的区域大小变化值和区域位移中至少一个,所述区域大小变化值包括所述调整前的可视区域的宽度变化值和所述调整前的可视区域的高度变化值,所述区域位移包括所述调整前的可视区域的横向位移和所述调整前的可视区域的纵向位移;
根据所述区域大小变化值和所述区域位移中至少一个调整所述调整前的可视区域,从而获得所述调整后的可视区域。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述区域大小变化值和所述区域位移中至少一个调整所述调整前的可视区域,从而获得所述调整后的可视区域包括:
在所述垂直距离大于或等于预设的距离阈值时,所述视频为叠加了虚拟视窗图片的动态画面,所述虚拟视窗图片包括透明区域,所述动态画面中被所述虚拟视窗图片的透明区域覆盖的范围可见,所述调整前的可视区域为所述虚拟视窗图片的调整前的区域与所述动态画面的调整前的区域的叠加,根据所述区域大小变化值和所述区域位移中至少一个调整所述虚拟视窗图片的调整前的区域,从而获得所述虚拟视窗图片的调整后的区域,将所述虚拟视窗图片的调整后的区域所呈现的图片在经过调整后完全覆盖在所述动态画面的调整前的区域上,构成所述调整后的可视区域;
在所述垂直距离小于所述预设的距离阈值时,根据所述区域位移调整所述调整前的可视区域,从而获得所述调整后的可视区域。
结合第一方面至第一方面的第二种可能的实现方式中的任意一种,在第一方面的第三种可能的实现方式中,所述用户的视角信息包括所述用户的面部朝向信息,所述用户的面部朝向信息包括所述用户的面部朝向绕冠状轴旋转的角度和所述用户的面部朝向绕垂直轴旋转的角度。
结合第一方面的第一至第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述调整前的可视区域的区域大小变化值通过以下公式获取:
Δw = z u * ( tan ( θ fov 2 + θ u y ) + tan ( θ fov 2 - θ u y ) ) - 2 * z u * tan ( θ fov 2 ) ;
Δh = z u * ( tan ( θ fov 2 + θ u x ) + tan ( θ fov 2 - θ u x ) ) - 2 * z u * tan ( θ fov 2 ) ;
其中,Δw表示所述调整前的可视区域的宽度变化值,Δh表示所述调整前的可视区域的高度变化值,表示所述用户的面部朝向绕冠状轴旋转的角度,表示所述用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示所述垂直距离。
结合第一方面的第一至第四种可能的实现方式中的任意一种,在第一方面的第五种可能的实现方式中,所述调整前的可视区域的区域位移通过以下公式获取:
x v = 1 2 * z u * ( tan ( θ fov 2 + θ u y ) - tan ( θ fov 2 - θ u y ) ) ;
y v = 1 2 * z u * ( tan ( θ fov 2 + θ u x ) - tan ( θ fov 2 - θ u x ) ) ;
其中,xv表示所述调整前的可视区域的横向位移,yv表示所述调整前的可视区域的纵向位移,表示所述用户的面部朝向绕冠状轴旋转的角度,表示所述用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示所述垂直距离。
结合第一方面至第一方面的第五种可能的实现方式中的任意一种,在第一方面的第六种可能的实现方式中,所述用户的位置信息包括所述用户与所述客户端平面的垂直距离变化值,所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域包括:
根据所述垂直距离变化值获取所述调整前的可视区域的区域大小变化值,所述区域大小变化值包括所述调整前的可视区域的宽度变化值和所述调整前的可视区域的高度变化值;
根据所述区域大小变化值调整所述调整前的可视区域,从而获得所述调整后的可视区域。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能实现的方式中,所述根据所述垂直距离变化值获取所述调整前的可视区域的区域大小变化值的公式包括:
Δw = Δh = Δ z u * tan ( θ fov 2 ) * 2 ;
其中,Δw表示所述调整前的可视区域的宽度变化值,Δh表示所述调整前的可视区域的高度变化值,θfov包括人眼的最大可视角度,Δzu表示所述垂直距离变化值。
结合第一方面至第一方面的第七种可能的实现方式中的任意一种,在第一方面的第八种可能实现的方式中,所述方法由客户端执行,在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
向服务器请求覆盖所述调整后的可视区域的所述视频的区域对应的码流文件;
获得所述码流文件。
结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述视频分为n个子区域,n为大于1的正整数,所述n个子区域中的相邻子区域包含重叠区域,且所述相邻子区域包含不重叠区域,所述覆盖所述调整后的可视区域的所述视频的区域为所述n个子区域中与所述调整后的可视区域包含重叠区域的待下载子区域。
结合第一方面的第九种可能的实现方式,在第一方面的第十种可能实现的方式中,所述向服务器请求覆盖所述调整后的可视区域的所述视频的区域对应的码流文件包括:
根据从所述服务器获得的所述视频的媒体描述文件确定所述待下载子区域对应的码流文件的地址信息,所述媒体描述文件携带用于指示所述地址信息对应的所述视频的子区域的参数;
根据所述地址信息向所述服务器请求所述待下载子区域对应的码流文件。
结合第一方面至第一方面的第七种可能的实现方式中的任意一种,在第一方面的第十一种可能实现的方式中,所述方法由客户端执行,在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
根据所述调整前的可视区域和所述调整后的可视区域预测下一次的可视区域;
向服务器请求覆盖所述下一次的可视区域的所述视频的区域对应的码流文件;
获得所述码流文件。
结合第一方面至第一方面的第十一种可能的实现方式中的任意一种,在第一方面的第十二种可能的实现方式中,所述方法由客户端执行,所述视频由摄像设备摄像得到,所述摄像设备的摄像头可旋转,所述视频包括缓冲区域,所述调整前的可视区域在所述缓冲区域的区域范围内,所述缓冲区域在所述视频的区域范围内;
在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
在所述调整后的可视区域存在所述缓冲区域之外的区域时,通知所述摄像设备向调整方向旋转摄像头,所述调整方向为所述调整前的可视区域到所述调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得所述调整后的可视区域在所述调整后的缓冲区域的区域范围内。
结合第一方面至第一方面的第七种可能实现的方式中的任意一种,在第一方面的第十三种可能实现的方式中,所述方法由服务器执行,在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
向所述客户端发送所述调整后的可视区域的所述视频的区域对应的码流文件。
结合第一方面的第十三种可能的实现方式,在第一方面的第十四种可能实现的方式中,所述视频分为n个子区域,n为大于1的正整数,所述n个子区域中的相邻子区域包含重叠区域,且所述相邻子区域包含不重叠区域,所述覆盖所述调整后的可视区域的所述视频的区域为所述n个子区域中与所述调整后的可视区域包含重叠区域的待下载子区域。
结合第一方面的第十四种可能的实现方式,在第一方面的第十五种可能实现的方式中,所述向所述客户端发送所述调整后的可视区域的所述视频的区域对应的码流文件包括:
根据生成的所述视频的媒体描述文件确定所述待下载子区域对应的码流文件的地址信息,所述媒体描述文件携带用于指示所述地址信息对应的所述视频的子区域的参数;
根据所述地址信息向所述客户端发送所述待下载子区域对应的码流文件。
结合第一方面至第一方面的第七种可能的实现方式中的任意一种,在第一方面的第十六种可能的实现方式中,所述方法由服务器执行,在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
根据所述调整前的可视区域和所述调整后的可视区域预测下一次的可视区域;
向所述客户端发送覆盖所述下一次的可视区域的所述视频的区域对应的码流文件。
结合第一方面至第一方面的第七种可能的实现方式中的任意一种,在第一方面的第十七种可能的实现方式中,所述方法由服务器执行,所述视频由摄像设备摄像得到,所述摄像设备的摄像头可旋转,所述视频包括缓冲区域,所述调整前的可视区域在所述缓冲区域的区域范围内,所述缓冲区域在所述视频的区域范围内;
在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
在所述调整后可视区域存在所述缓冲区域之外的区域时,通知所述摄像设备向调整方向旋转摄像头,所述调整方向为所述调整前的可视区域到所述调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得所述调整后的可视区域在所述调整后的缓冲区域的区域范围内。
结合第一方面的第八种或第十三种可能的实现方式,在第一方面的第十八种可能的实现方式中,所述覆盖所述调整后的可视区域的所述视频的区域为所述调整后的可视区域。
结合第一方面的第十一种或第十六种可能的实现方式,在第一方面的第十九种可能的实现方式中,所述覆盖所述下一次的可视区域的所述视频的区域为所述下一次的可视区域。
结合第一方面的第十种或第十五种可能的实现方式,在第一方面的第二十种可能的实现方式中,所述媒体描述文件包括媒体描述文件VMPD,所述VMPD包括所述n个子区域的每个时间片段下的按照不同码率进行压缩编码得到的地址信息。
第二方面,提供一种计算机设备,包括:
获取单元,用于获取用户的体态信息,所述体态信息包括所述用户的视角信息和所述用户的位置信息;
处理单元,用于根据所述获取单元获取的所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
结合第二方面,在第二方面的第一种可能的实现方式中,所述用户的位置信息包括所述用户与所述客户端平面的垂直距离,所述处理单元具体用于:
根据所述用户的视角信息和所述垂直距离获取所述调整前的可视区域的区域大小变化值和区域位移中至少一个,所述区域大小变化值包括所述调整前的可视区域的宽度变化值和高度变化值,所述区域位移包括所述调整前的可视区域的横向位移和所述调整前的可视区域的纵向位移;
根据所述区域大小变化值和所述区域位移中至少一个调整所述调整前的可视区域,从而获得所述调整后的可视区域。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理单元具体用于:
在所述垂直距离大于或等于预设的距离阈值时,所述视频为叠加了虚拟视窗图片的动态画面,所述虚拟视窗图片包括透明区域,所述动态画面中被所述虚拟视窗图片的透明区域覆盖的范围可见,所述调整前的可视区域为所述虚拟视窗图片的调整前的区域与所述动态画面的调整前的区域的叠加,根据所述区域大小变化值和所述区域位移中至少一个调整所述虚拟视窗图片的调整前的区域,从而获得所述虚拟视窗图片的调整后的区域,将所述虚拟视窗图片的调整后的区域所呈现的图片在经过调整后完全覆盖在所述动态画面的调整前的区域上,构成所述调整后的可视区域;
在所述垂直距离小于所述预设的距离阈值时,根据所述区域位移调整所述调整前的可视区域,从而获得所述调整后的可视区域。
结合第二方面至第二方面的第二种可能的实现方式中的任意一种,在第二方面的第三种可能的实现方式中,所述用户的视角信息包括所述用户的面部朝向信息,所述用户的面部朝向信息包括所述用户的面部朝向绕冠状轴旋转的角度和所述用户的面部朝向绕垂直轴旋转的角度。
结合第二方面的第一至第三种可能的实现方式中的任意一种,在第二方面的第四种可能的实现方式中,获取所述调整前的可视区域的区域大小变化值通过以下公式获取:
Δw = z u * ( tan ( θ fov 2 + θ u y ) + tan ( θ fov 2 - θ u y ) ) - 2 * z u * tan ( θ fov 2 ) ;
Δh = z u * ( tan ( θ fov 2 + θ u x ) + tan ( θ fov 2 - θ u x ) ) - 2 * z u * tan ( θ fov 2 ) ;
其中,Δw表示所述调整前的可视区域的宽度变化值,Δh表示所述调整前的可视区域的高度变化值,表示所述用户的面部朝向绕冠状轴旋转的角度,表示所述用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示所述垂直距离。
结合第二方面的第一至第四种可能的实现方式中的任意一种,在第二方面的第五种可能的实现方式中,获取所述调整前的可视区域的区域位移通过以下公式获取:
x v = 1 2 * z u * ( tan ( θ fov 2 + θ u y ) - tan ( θ fov 2 - θ u y ) ) ;
y v = 1 2 * z u * ( tan ( θ fov 2 + θ u x ) - tan ( θ fov 2 - θ u x ) ) ;
其中,xv表示所述调整前的可视区域的横向位移,yv表示所述调整前的可视区域的纵向位移,表示所述用户的面部朝向绕冠状轴旋转的角度,表示所述用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示所述垂直距离。
结合第二方面至第二方面的第五种可能的实现方式中的任意一种,在第二方面的第六种可能的实现方式中,所述用户的位置信息包括所述用户与所述客户端平面的垂直距离变化值,所述处理单元具体用于:
根据所述垂直距离变化值获取所述调整前的可视区域的区域大小变化值,所述区域大小变化值包括所述调整前的可视区域的宽度变化值和所述调整前的可视区域的高度变化值;
根据所述区域大小变化值调整所述调整前的可视区域,从而获得所述调整后的可视区域。
结合第二方面的第六种可能的实现方式,在第二方面的第七种可能实现的方式中,所述根据所述垂直距离变化值获取所述调整前的可视区域的区域大小变化值的公式包括:
Δw = Δh = Δ z u * tan ( θ fov 2 ) * 2 ;
其中,Δw表示所述调整前的可视区域的宽度变化值,Δh表示所述调整前的可视区域的高度变化值,θfov包括人眼的最大可视角度,Δzu表示所述垂直距离变化值。
结合第二方面至第二方面的第七种可能的实现方式中的任意一种,在第二方面的第八种可能实现的方式中,所述计算机设备为客户端,还包括:
第一请求单元,用于向服务器请求覆盖所述处理单元获取的所述调整后的可视区域的所述视频的区域对应的码流文件;
第一接收单元,用于接收所述第一请求单元请求的所述码流文件。
结合第二方面的第八种可能的实现方式,在第二方面的第九种可能的实现方式中,所述视频分为n个子区域,n为大于1的正整数,所述n个子区域中的相邻子区域包含重叠区域,且所述相邻子区域包含不重叠区域,所述覆盖所述调整后的可视区域的所述视频的区域为所述n个子区域中与所述调整后的可视区域包含重叠区域的待下载子区域。
结合第二方面的第九种可能的实现方式,在第二方面的第十种可能实现的方式中,所述第一请求单元具体用于:
根据从所述服务器获得的所述视频的媒体描述文件确定所述待下载子区域对应的码流文件的地址信息,所述媒体描述文件携带用于指示所述地址信息对应的所述视频的子区域的参数;
根据所述地址信息向所述服务器请求所述待下载子区域对应的码流文件。
结合第二方面至第二方面的第七种可能的实现方式中的任意一种,在第二方面的第十一种可能实现的方式中,所述计算机设备为客户端,所述处理单元还用于,根据前一次的可视区域和所述当前用于显示在客户端的调整后的可视区域预测下一次的可视区域;
所述计算机设备还包括:
第二请求单元,用于向服务器请求覆盖所述处理单元预测的所述下一次的可视区域的所述视频的区域对应的码流文件;
第二接收单元,用于接收所述第二请求单元请求的所述码流文件。
结合第二方面至第二方面的第十一种可能的实现方式中的任意一种,在第二方面的第十二种可能的实现方式中,所述计算机设备为客户端,所述视频由摄像设备摄像得到,所述摄像设备的摄像头可旋转,所述视频包括缓冲区域,所述调整前的可视区域在所述缓冲区域的区域范围内,所述缓冲区域在所述视频的区域范围内;
所述处理单元还用于,在所述调整后的可视区域存在所述缓冲区域之外的区域时,通知所述摄像设备向调整方向旋转摄像头,所述调整方向为所述调整前的可视区域到所述调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得所述调整后的可视区域在所述调整后的缓冲区域的区域范围内。
结合第二方面至第二方面的第七种可能实现的方式中的任意一种,在第二方面的第十三种可能实现的方式中,所述计算机设备为服务器,还包括:
第一发送单元,用于向所述客户端发送覆盖所述处理单元获取的所述调整后的可视区域的所述视频的区域对应的码流文件。
结合第二方面的第十三种可能的实现方式,在第二方面的第十四种可能实现的方式中,所述视频分为n个子区域,n为大于1的正整数,所述n个子区域中的相邻子区域包含重叠区域,且所述相邻子区域包含不重叠区域,所述覆盖所述调整后的可视区域的所述视频的区域为所述n个子区域中与所述调整后的可视区域包含重叠区域的待下载子区域。
结合第二方面的第十四种可能的实现方式,在第二方面的第十五种可能实现的方式中,所述第一发送单元具体用于:
根据生成的所述视频的媒体描述文件确定所述待下载子区域对应的码流文件的地址信息,所述媒体描述文件携带用于指示所述地址信息对应的所述视频的子区域的参数;
根据所述地址信息向所述客户端发送所述待下载子区域对应的码流文件。
结合第二方面至第二方面的第七种可能的实现方式中的任意一种,在第二方面的第十六种可能的实现方式中,所述计算机设备为服务器,所述处理单元还用于,根据所述调整前的可视区域和所述调整后的可视区域预测下一次的可视区域;
所述计算机设备还包括第二发送单元,用于向所述客户端发送覆盖所述处理单元预测的所述下一次的可视区域的所述视频的区域对应的码流文件。
结合第二方面至第二方面的第七种可能的实现方式中的任意一种,在第二方面的第十七种可能的实现方式中,所述计算机设备为服务器,所述视频由摄像设备摄像得到,所述摄像设备的摄像头可旋转,所述视频包括缓冲区域,所述调整前的可视区域在所述缓冲区域的区域范围内,所述缓冲区域在所述视频的区域范围内;
所述处理单元还用于,在所述调整后可视区域存在所述缓冲区域之外的区域时,通知所述摄像设备向调整方向旋转摄像头,所述调整方向为所述调整前的可视区域到所述调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得所述调整后的可视区域在所述调整后的缓冲区域的区域范围内。
结合第二方面的第八种或第十三种可能的实现方式,在第二方面的第十八种可能的实现方式中,所述覆盖所述处理单元获得的所述调整后的可视区域的所述视频的区域为所述调整后的可视区域。
结合第二方面的第十一种或第十六种可能的实现方式,在第二方面的第十九种可能的实现方式中,所述覆盖所述下一次的可视区域的所述视频的区域为所述下一次的可视区域。
结合第二方面的第十种或第十五种可能的实现方式,在第二方面的第二十种可能的实现方式中,覆盖所述处理单元预测的所述下一次的可视区域的所述视频的区域为所述下一次的可视区域。
第三方面,提供了一种系统,包括如第二方面所述的计算机设备。
本发明实施例提供一种交互式视频显示的方法、设备及系统,通过实时获取用户的体态信息,并根据用户体态信息对视频中用于显示在客户端的调整前的可视区域进行调整,从而获得当前用于显示在客户端的调整后的可视区域,使得用于显示在客户端的可视区域可以根据用户的视角信息和位置信息等用户的体态信息的实时变化进行相应变换,因而能够解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种交互式视频显示系统的结构示意图;
图2a为本发明实施例提供的一种用户的面部朝向绕冠状轴旋转的示意图;
图2b为本发明实施例提供的一种用户的面部朝向绕垂直轴旋转的示意图;
图3为本发明实施例提供的一种客户端结构示意图;
图4为本发明实施例提供的一种交互式视频显示的方法流程图;
图5a为本发明实施例提供的一种视频区域画面图;
图5b为本发明实施例提供的一种调整前的可视区域画面图;
图5c为本发明实施例提供的一种调整后的可视区域画面图;
图6为现有技术中的一种可视区域的变换流程图;
图7为本发明另一实施例提供的一种交互式视频显示的方法流程图;
图8a为本发明另一实施例提供的一种视频区域画面图;
图8b为本发明实施例提供的一种虚拟视窗图片示意图;
图8c为本发明另一实施例提供的一种调整前的可视区域画面图;
图8d为本发明另一实施例提供的一种调整后的可视区域画面图;
图9a、9b为现有技术中用户由远及近向Winscape系统显示屏幕移动时观看到的显示屏幕中的室外风景画面;
图9c、9d为实际场景中用户由远及近向窗口移动时看到的窗外风景画面;
图10为本发明实施例提供的一种实际场景中可视区域根据体态信息变化而变化的效果示意图;
图11为本发明另一实施例提供的一种交互式视频显示的方法流程图;
图12为本发明另一实施例提供的一种交互式视频显示的方法流程图;
图13为本发明实施例提供的一种根据动态自适应流编码技术进行压缩分组编码的示意图;
图14为本发明实施例提供的一种子区域划分结构图;
图15为本发明实施例提供的一种预测下一次的可视区域的方法的示意图;
图16为本发明又一实施例提供的一种交互式视频显示的方法流程图;
图17为本发明又一实施例提供的一种交互式视频显示的方法流程图;
图18为本发明另一实施例提供的一种调整方向示意图;
图19为本发明实施例提供的一种设置缓冲区域后的效果示意图;
图20为本发明实施例提供的一种本地房间与远程房间对接的场景示意图;
图21a为本发明实施例提供的一种用户在不同位置通过显示屏幕观看远程房间的场景示意图;
图21b为现有技术中用户在不同位置通过显示屏幕观看到的远程房间的画面图;
图21c为本发明实施例提供的一种用户在不同位置通过显示屏幕观看到的远程房间的画面图;
图21d为本发明实施例提供的一种用户在不同位置通过玻璃观看远程房间的场景示意图;
图21e为本发明实施例提供的一种用户在不同位置通过玻璃观看到的远程房间的画面图;
图22为本发明实施例提供的一种采用3D平面显示技术显示3D房间重建结果的示意图;
图23为本发明实施例提供的一种通过头戴式显示器进行交互式视频显示的系统客户端结构示意图;
图24为本发明另一实施例提供的一种交互式视频显示的方法流程图;
图25为本发明另一实施例提供的一种交互式视频显示的方法流程图;
图26为本发明另一实施例提供的一种交互式视频显示的方法流程图;
图27为本发明另一实施例提供的一种交互式视频显示的方法流程图;
图28为本发明另一实施例提供的一种交互式视频显示的方法流程图;
图29为本发明另一实施例提供的一种交互式视频显示的方法流程图;
图30为本发明实施例提供的一种计算机设备结构示意图;
图31为本发明另一实施例提供的一种计算机设备结构示意图;
图32为本发明另一实施例提供的一种计算机设备结构示意图;
图33为本发明另一实施例提供的一种计算机设备结构示意图;
图34为本发明实施例提供的一种计算机设备结构示意图;
图35为本发明另一实施例提供的一种计算机设备结构示意图;
图36为本发明实施例提供的一种系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
场景视频依据景深的不同可以分为两种:景深无限远的室外风景视频,以及景深有限远的室内场景视频。依据拍摄的实时性不同,场景视频又可以分为离线视频和在线视频。前者是指在固定时间固定地点拍摄的视频,可以预先进行存储以供用户调取观看;后者是指在用户观看的同一时间由各种摄像设备采集、并通过网络传输到客户端的视频。其中,在线视频使用户能够欣赏实时的远程场景,可以给用户更好的浸入式体验。
用户在进行场景视频浏览时,可以有两种不同的浏览方式:被动式浏览和交互式浏览。被动式浏览是指用户像观看电影一样观看在屏幕上播放的场景视频,视频内容不做变换;交互式浏览是指用户可以通过各种输入设备(例如遥控器)或用户的位置信息等控制视频内容根据输入指令或位置实时地进行变换,能够提升场景视频浏览的浸入式体验。
用户可以通过交互式视频显示系统进行交互式浏览,交互式视频显示系统一般可以包括摄像设备、服务器和客户端,如图1所示,摄像设备可以通过有线方式或WIFI、蓝牙等无线方式与服务器相连,服务器与客户端可以通过有线方式或无线方式相连。该系统中,摄像设备将摄像得到的视频内容传送给服务器,服务器对视频内容进行处理并发送至客户端。这里的客户端可以包括用以显示服务器发送的视频内容的显示屏幕、头戴式显示器或其它显示设备,用以探测用户体态信息的探测设备,还可以包括用以进行相关计算的计算机等,其中,探测设备、显示设备或计算机之间可以通过有线方式或WIFI、蓝牙等无线方式相连,探测设备可以为一个设备,也可以为多个设备,还可以集成在屏幕上。本发明实施例对该系统中设备的数量及相互连接方式不做限定。
以下实施例中以屏幕作为客户端的显示设备为例进行描述。
本申请文件中的可视区域是指视频中用于显示在客户端的画面区域,是摄像设备摄像得到的视频区域中的一部分,可视区域是根据用户体态信息的变化而进行相应变换的。为了更好地体现可视区域与用户体态信息的变化关系,可以通过建立直角坐标系(Xu,Yu,Zu)来进行描述。示例性的,可以将屏幕的中心点设置为直角坐标系的原点O1=(0,0,0),将与客户端的屏幕所在平面即客户端平面垂直的方向设置为Zu轴方向,屏幕所在平面将空间分为两侧,可以将指向用户所在的那一侧的方向设置为Zu轴的正方向,负方向的反方向为Zu轴的负方向;可以将竖直方向设置为Yu轴方向,且上、下方向为Yu轴的正、负方向;可以将与Yu、Zu垂直的水平方向设置为Xu方向,且左、右方向为Xu轴的负、正方向。建立直角坐标系后,通过坐标(xu,yu,zu)可以表示用户所处的位置,其中,zu表示用户与客户端平面的垂直距离的大小,Δzu可用于表示用户与客户端平面的垂直距离变化值。
此外,还可以通过设置坐标系(Xv,Yv)设置视频区域中某一点的坐标,可以将初始视频区域的中心点设置为坐标原点O2=(0,0),将水平方向设置为Xv轴且向右为正方向向左为负方向,将竖直方向设置为Yv方向,且向上为正方向,向下为负方向,可视区域中任意一点的坐标可以表示为(xv,yv)。
本申请文件中的用户体态信息可以包括用户的视角信息,而用户的视角信息可以包括用户的面部朝向信息,用户的面部朝向信息可以包括用户的面部朝向绕冠状轴旋转的角度(参见图2a)和用户的面部朝向绕垂直轴旋转的角度(参见图2b)。示例性的,可以设定用户正视前方时,用户的面部朝向绕冠状轴旋转的角度和用户的面部朝向绕垂直轴旋转的角度均为0,且当用户的面部朝向绕冠状轴向上旋转时为正值,当用户的面部朝向绕冠状轴向上旋转时,为负值;当用户的面部朝向绕垂直轴向右旋转时为正值,当用户的面部朝向绕垂直轴向左旋转时为负值。
本申请文件对具体采用何种方式来表示用户的位置、用户的视角、视频区域中某点的位置,以及如何定义坐标系不做限定。
本发明实施例提供一种交互式视频显示的方法,其中,客户端的结构示意图可以参见图3,该方法的流程图可以参见图4,主要可以包括以下步骤:
101、客户端从视频中选取一块区域并显示。
示例性的,在开始进行交互式视频显示时,客户端可以从视频的正中央选取一块矩形区域并显示在客户端屏幕上,以便于将该选取的区域作为调整前的可视区域,从而对该调整前的可视区域进行调整获得调整后的可视区域,例如视频的区域可以如图5a所示,从视频中选择的区域可以如图5b所示,此时,所选取的调整前的可视区域的中心点的坐标为(0,0),宽度值为w0,高度值为h0。当然,本发明实施例对从视频中选取的该区域的具体位置、范围及其形状等因素不做限定。其中的视频可以是通过服务器接收到的摄像设备实时摄像得到的在线视频,也可以是预先存储在客户端存储器中的离线视频,本发明实施例不做限定。
102、客户端获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
具体的,客户端可以通过客户端探测设备的摄像头获取用户的视角信息和位置信息,用户的视角信息包括用户的面部朝向信息,用户的面部朝向信息包括用户的面部朝向绕冠状轴旋转的角度和用户的面部朝向绕垂直轴旋转的角度用户的位置信息可以包括用户与客户端平面的垂直距离zu
示例性的,如图1所示的系统客户端示意图中,客户端可以通过集成在屏幕上的探测设备RGB摄像头和深度摄像头周期性(例如1s/次)地采集用户的面部朝向绕冠状轴旋转的角度和用户的面部朝向绕垂直轴旋转的角度和用户与客户端平面的垂直距离zu。其中,RGB摄像头通常包括三个独立的图像传感器(Charge-coupled Device,CCD),可以获取彩色信号,从而辨别用户面部的各个特征点,深度摄像头可以测量用户面部各特征点的三维坐标信息,从而根据面部各点的三维坐标信息获得用户的和zu。例如,可以根据眉心,鼻尖、耳部最上端,或其它特征点的三维坐标及相对关系,计算用户的这里的RGB摄像头与深度摄像头可以是单独的两个摄像头,也可以合成为一个摄像头,或者集成在显示设备上,这里不做限定。
103、客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
其中,视频中用于显示在客户端的调整前的可视区域是指步骤101中从视频中所选取的区域,与调整前的可视区域对应的用户的面部朝向绕冠状轴旋转的角度为0,对应的用户的面部朝向绕垂直轴旋转的角度为0,对应的用户与客户端平面的垂直距离为zu0
可选地,用户的位置信息可以包括用户与客户端平面的垂直距离,客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域可以包括:
客户端根据用户的视角信息和垂直距离获取调整前的可视区域的区域大小变化值和区域位移中至少一个,区域大小变化值包括调整前的可视区域的宽度变化值和调整前的可视区域的高度变化值,区域位移包括调整前的可视区域的横向位移和调整前的可视区域的纵向位移;而后根据区域大小变化值和区域位移中至少一个调整调整前的可视区域,从而获得调整后的可视区域。示例性的,根据用户体态信息变化进行相应调整后获得的调整后的可视区域可以参见图5c。
具体的,客户端可以根据用户与客户端平面的垂直距离与预设的距离阈值zε的关系从以下两个方面来描述如何根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。这里的距离阈值是根据屏幕的尺寸大小、用户的最大可视角度等因素确定的。当用户与客户端平面的垂直距离大于预设的距离阈值时,屏幕的边框以及屏幕中的视频完全在用户的视野范围内;当用户与客户端平面的垂直距离等于预设的距离阈值时,屏幕的边框以及屏幕中的视频刚好完全在用户的视野范围内;当用户与客户端平面的垂直距离小于预设的距离阈值时,屏幕的边框以及屏幕中的视频不完全在用户的视野范围内。
第一方面,当用户与客户端平面的垂直距离大于或等于预设的距离阈值时,根据用户的体态信息调整调整前的可视区域获得调整后的可视区域可以通过以下几种情况进行描述。
需要说明的是,当用户与客户端的平面的垂直距离变化值Δzu不为0时,这里的用户与客户端平面的距离阈值大于或等于预设的距离阈值是指,变化后的用户与客户端平面的垂直距离大于或等于预设的距离阈值,当变化后的用户与客户端平面的垂直距离小于预设的距离阈值时,则根据第二方面来获得调整后的可视区域。
(1)用户与客户端平面的垂直距离变化值Δzu为0,用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度不为0。
当用户与客户端平面的垂直距离为zu,垂直距离变化值Δzu为0,且用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度不为0时,可以根据用户视角信息中的和垂直距离获取调整前的可视区域的区域大小变化值和区域位移,进而根据区域大小变化值和区域位移调整调整前的可视区域,从而获得调整后的可视区域。这里的区域大小变化值可以包括调整前的可视区域的宽度变化值和调整前的可视区域的高度变化值,区域位移包括调整前的可视区域的横向位移和调整前的可视区域的纵向位移;
其中,根据用户的视角信息和垂直距离获取调整前的可视区域的区域大小变化值的公式可以包括:
Δw = z u * ( tan ( θ fov 2 + θ u y ) + tan ( θ fov 2 - θ u y ) ) - 2 * z u * tan ( θ fov 2 ) ; (公式1)
Δh = z u * ( tan ( θ fov 2 + θ u x ) + tan ( θ fov 2 - θ u x ) ) - 2 * z u * tan ( θ fov 2 ) ; (公式2)
这里的Δw表示调整前的可视区域的宽度变化值,Δh表示调整前的可视区域的高度变化值,表示用户的面部朝向绕冠状轴旋转的角度,表示用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示垂直距离。
其中,根据用户的视角信息和垂直距离获取调整前的可视区域的区域位移的公式可以包括:
x v = 1 2 * z u * ( tan ( θ fov 2 + θ u y ) - tan ( θ fov 2 - θ u y ) ) ; (公式3)
y v = 1 2 * z u * ( tan ( θ fov 2 + θ u x ) - tan ( θ fov 2 - θ u x ) ) ; (公式4)
这里的xv表示调整前的可视区域的横向位移,yv表示调整前的可视区域的纵向位移,表示用户的面部朝向绕冠状轴旋转的角度,表示用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示垂直距离。
需要说明的是,由于调整前的可视区域对应的为0,调整前的可视区域的中心点的坐标为(0,0),若对调整前的可视区域进行调整获得的调整后的可视区域的中心点的坐标为(xv,yv),则调整后的可视区域相对于调整前的可视区域发生了区域位移。其中,xv为调整前的可视区域的横向位移,yv为调整前的可视区域的纵向位移。若用户的不为0,则根据公式1和公式2计算获得的Δw和Δh不为0,根据公式3和公式4计算获得的xv和yv也不为0,因而可以在调整前的可视区域的宽度值基础上加上Δw,在调整前的可视区域的高度值的基础上加上Δh,并将调整前的可视区域横向位移xv,将调整前的可视区域纵向位移yv,从而获得与用户的以及zu对应的调整后的可视区域。其中,Δw、Δh、xv、yv可以为正值也可以为负值,具体可以根据公式计算来确定,这里不做限定。
(2)用户与客户端平面的垂直距离变化值Δzu不为0,用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度均为0。
需要说明的是,在第一方面中,用户与客户端平面的垂直距离变化值Δzu不为0是指客户端获取到的用户与客户端平面的垂直距离zu相对于zu0发生了变化Δzu,且zu大于或等于预设的距离阈值。
当用户与客户端平面的垂直距离变化值Δzu不为0,用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度均为0时,则根据公式1和公式2计算获得的Δw和Δh为0,根据公式3和公式4计算获得的xv和yv也为0,即用户与客户端平面的垂直距离的变化对调整前的可视区域的区域大小变化值没有影响。此时,可以根据垂直距离变化值获取调整前的可视区域的区域大小变化值,进而根据区域大小变化值调整调整前的可视区域,从而获得调整后的可视区域。
其中,根据垂直距离变化值获取调整前的可视区域的区域大小变化值的公式可以包括:
Δw = Δh = Δ z u * tan ( θ fov 2 ) * 2 ; (公式5)
这里的Δw表示调整前的可视区域的宽度变化值,Δh表示调整前的可视区域的高度变化值,θfov包括人眼的最大可视角度,Δzu表示垂直距离变化值。
根据公式5可知,当Δzu不为0时计算获得的Δw和Δh不为0,客户端可以根据该Δw和Δh调整调整前的可视区域,从而获得调整后的可视区域。
此外,公式1至公式5中的θfov也可以为根据需要预设的任意角度,这里不做限定。
(3)用户与客户端平面的垂直距离变化值Δzu不为0,用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度不为0。
与情况(2)类似,这里的用户与客户端平面的垂直距离变化值Δzu不为0是指,客户端获取到的用户与客户端平面的垂直距离zu相对于zu0发生了变化Δzu,且zu大于或等于预设的距离阈值。
当用户与客户端平面的垂直距离变化值Δzu不为0,用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度不为0时,则可以根据Δzu和公式5计算调整前的可视区域的区域大小变化值Δw1和Δh1,并根据变化后的用户与客户端平面的垂直距离以及公式1至公式4计算调整前的可视区域的区域大小变化值Δw2、Δh2和调整前的可视区域的区域位移xv、yv,从而根据区域大小变化值和区域位移调整调整前的可视区域,从而获得调整后的可视区域。
第二方面,当用户与客户端平面的垂直距离小于预设的距离阈值时,根据用户的体态信息调整调整前的可视区域获得调整后的可视区域可以通过以下几种情况进行描述。
(a)用户与客户端平面的垂直距离变化值Δzu为0,用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度不为0。
在用户与客户端平面的垂直距离小于预设的距离阈值时,用户的体态信息对调整前的可视区域的区域大小变化值基本没有影响。当用户与客户端平面的垂直距离为zu,垂直距离变化值Δzu为0,且用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度不为0时,可以根据公式3和公式4分别获取调整前的可视区域的区域位移中的横向位移xv和纵向位移yv,从而根据区域位移调整调整前的可视区域,获得调整后的可视区域。
(b)用户与客户端平面的垂直距离变化值Δzu不为0,用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度均为0。
需要说明的是,在第二方面中,用户与客户端平面的垂直距离变化值Δzu不为0是指,客户端获取到的用户与客户端平面的垂直距离zu相对于zu0发生了变化Δzu,且zu小于预设的距离阈值。
在用户与客户端平面的垂直距离小于预设的距离阈值时,用户的体态信息对调整前的可视区域的区域大小变化值基本没有影响。而当用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度均为0时,根据公式3、公式4计算获得的xv和yv为0,即调整前的可视区域的区域位移为0。此时,不需要对调整前的可视区域进行调整,调整后的可视区域与调整前的可视区域相同。
(c)用户与客户端平面的垂直距离变化值Δzu不为0,用户的面部朝向绕冠状轴旋转的角度或用户的面部朝向绕垂直轴旋转的角度不为0。
与情况(b)类似,这里用户与客户端平面的垂直距离变化值Δzu不为0是指,客户端获取到的用户与客户端平面的垂直距离zu相对于zu0发生了变化Δzu,且zu小于预设的距离阈值。
在用户与客户端平面的垂直距离小于预设的距离阈值时,用户的体态信息对调整前的可视区域的区域大小的变化值基本没有影响。此时,与(a)种情况类似,可以根据公式3和公式4分别获取调整前的可视区域的区域位移中的横向位移xv和纵向位移yv,从而根据区域位移调整调整前的可视区域,从而获得调整后的可视区域。
可见,与现有技术中可视区域仅根据用户位置的平移变化进行简单变换(参见图6所示的现有技术中可视区域的变换流程图)相比,本发明实施例提供的交互式视频显示的方法还可以根据用户的视角信息例如用户的面部朝向绕冠状轴旋转的角度、用户的面部朝向绕垂直轴旋转的角度,或者用户的位置信息例如用户与客户端平面的垂直距离变化值,获取调整前的可视区域的区域大小变化值和区域位移中的至少一个,进而根据该区域大小变化值和区域位移中的至少一个调整调整前的可视区域,获得调整后的可视区域,从而能够提升用户进行交互式浏览时的真实体验。
104、客户端显示调整后的可视区域,而后进入步骤102。
客户端将获得的调整后的可视区域显示在客户端的屏幕上,而后重新进入步骤102,以便于继续根据获取的体态信息调整调整前的可视区域获得下一次的可视区域。
需要说明的是,当调整前的可视区域的区域大小变化值不为0,即调整后的可视区域的区域大小与调整前的可视区域的区域大小发生变化时,客户端可以将调整后的可视区域中所呈现的画面缩放为与屏幕相同大小的画面以便于通过客户端的屏幕进行显示。
本发明实施例提供一种交互式视频显示的方法,客户端通过实时获取用户的体态信息,并根据用户体态信息中用户的视角信息和用户的位置信息对视频中用于显示在客户端的调整前的可视区域进行调整,从而获得当前用于显示在客户端的调整后的可视区域,使得用于显示在客户端的可视区域可以根据用户的视角信息和位置信息的实时变化进行相应变换,因而能够解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。
参见图7,本发明实施例提供一种交互式视频显示的方法,该方法主要可以包括以下几个步骤:
201、客户端从视频中选取一块区域并显示。
示例性的,从视频中选取的区域可以如图8a所示。
202、客户端获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
其中,步骤201~202的具体实现方式可以参见步骤101~102。
203、客户端根据用户的位置信息确定用户与客户端平面的垂直距离是否大于或等于预设的距离阈值,而后进入步骤204或步骤206。
其中,距离阈值zε是根据客户端屏幕的尺寸大小、用户的最大可视角度等因素确定的。
204、若步骤203中客户端确定用户与客户端平面的垂直距离大于或等于预设的距离阈值,则视频为叠加了虚拟视窗图片的动态画面,虚拟视窗图片包括透明区域,动态画面中被虚拟视窗图片的透明区域覆盖的范围可见,调整前的可视区域为虚拟视窗图片的调整前的区域与动态画面的调整前的区域的叠加,客户端根据区域大小变化值和区域位移中至少一个调整虚拟视窗图片的调整前的区域,从而获得虚拟视窗图片的调整后的区域,而后进入步骤205。
当用户与客户端平面的垂直距离大于或等于预设的距离阈值时,客户端屏幕中显示的视频是叠加了虚拟视窗图片的动态画面,即虚拟视窗图片是视频的一部分,调整前的可视区域为虚拟视窗图片的调整前的区域与动态画面的调整前的区域的叠加。其中,虚拟视窗图片可以包括透明区域和非透明区域,例如,虚拟视窗图片可以是中间为矩形透明区域的图片,虚拟视窗图片的非透明区域可以模拟显示窗户边框,如图8b所示,或者虚拟视窗图片的非透明区域也可以模拟显示室内窗户附近的一些物体,或者虚拟视窗图片的非透明区域也可以为全黑,本发明实施例对虚拟视窗图片的具体尺寸、形状、颜色、画面等因素不做限定;参见图8c,动态画面中被虚拟视窗图片的透明区域覆盖的范围可见,动态画面中被虚拟视窗图片的非透明区域覆盖的范围不可见。
客户端可以根据用户的体态信息,例如用户的面部朝向绕冠状轴旋转的角度、用户的面部朝向绕垂直轴旋转角度、用户与客户端平面的垂直距离变化值等参数,获取虚拟视窗图片的调整前的区域大小变化值和区域位移中的至少一个,从而根据区域大小变化值和区域位移中至少一个调整虚拟视窗图片的调整前的区域,从而获得虚拟视窗图片的调整后的区域。其中,客户端根据区域大小变化值和区域位移中至少一个调整虚拟视窗图片的调整前的区域,从而获得虚拟视窗图片的调整后的区域的具体实现方式可以参见上述实施例中步骤104的第一方面,这里不再赘述。
205、客户端将虚拟视窗图片的调整后的区域所呈现的图片在经过调整后完全覆盖在动态画面的调整前的区域上,构成调整后的可视区域,而后进入步骤207。
在获得虚拟视窗图片的调整后的区域的过程中,若虚拟视窗图片的调整前的区域大小变化值不为0,即调整后的区域的区域大小与调整前的区域的区域大小发生变化时,客户端可以将虚拟视窗图片的调整后的区域所呈现的图片缩放为与屏幕相同大小的图片后完全覆盖在动态画面的调整前的区域上,构成调整后的可视区域(参见图8d)。可见,在本发明实施例获得调整后的可视区域的过程中,对虚拟视窗图片的区域进行了调整,并没有对动态画面的区域进行调整,调整后的可视区域中的动态画面的区域仍然为调整前的可视区域中动态画面的调整前的区域。
本发明实施例提供的交互式视频显示的方法,可以用于显示景深无限远的室外风景,从而模拟真实情况下室内用户通过窗户观看室外风景的场景。在真实情况下,当用户与窗户所在平面的垂直距离大于或等于距离阈值时,用户与窗户的距离较远,窗户完全在用户的视野范围内,室内窗户的边框以及室内窗户附近的一些物体也可能在用户的视野范围内;当用户改变视角时,用户视野中的风景画面会相应变化;当用户由远及近靠近窗户时,用户视野中的窗户边框以及室内物体的大小逐渐变大,用户通过窗户观看到的室外风景画面的范围会逐渐增大,而室外风景中的物体大小基本不变,且感知到的风景画面的位移基本没有发生变化。
现有技术中可以通过Winscape系统模拟用户通过真实窗户观看窗外风景的体验,当用户与窗户所在平面的垂直距离大于或等于距离阈值时,用户与窗户的距离较远,窗户完全在用户的视野范围内,当用户由远及近靠近窗户时,屏幕中显示的窗外风景的画面范围增大,同时画面中的物体缩小了,如图9a和图9b所示。而真实情况下,当用户由远及近靠近窗户时,窗外风景画面的范围应该增大,同时画面中的物体大小基本不变,如图9c和图9d所示。因而,该方法仅根据用户的位置变化进行了简单的缩放,使得用户双眼感知到的画面的变化与真实情况不一致。
在本发明实施例提供的交互式视频显示的方法中,当用户与窗户所在平面的垂直距离大于或等于距离阈值时,通过在客户端屏幕上显示叠加了虚拟视窗图片的动态画面,来模拟真实情况下通过窗户观看窗外风景的情况。虚拟视窗图片中的透明区域的边界可以模拟真实情况下的窗户,而被虚拟视窗图片的透明区域覆盖的动态画面可以模拟通过窗户观看到的窗外风景。
当用户由远及近靠近窗户时,根据步骤104中的第一方面,由公式5计算获得的虚拟视窗图片的调整前的区域的区域大小变化值中,宽度变化值Δw和高度变化值Δh均为负值,即虚拟视窗图片的调整后的区域比虚拟视窗图片的调整前的区域变小了,而后将该虚拟视窗图片的调整后的区域中所呈现的图片放大为与客户端屏幕大小相同的图片后完全覆盖在动态画面的调整前的区域上,构成调整后的可视区域。此时,由于虚拟视窗图片的调整后的区域比调整前的区域缩小了,虚拟视窗图片的调整后的区域中所呈现图片放大了,因而虚拟视窗图片中的透明区域及非透明区域也相应增大了,因而非透明区域中模拟显示的窗户边框或室内物体也相应增大;又由于动态画面的区域没有发生变化,因而动态画面中被虚拟视窗图片的透明区域覆盖的可见范围也相应增大,即窗外风景中的物体大小没有变化,而窗外风景的范围增大了,参见图10,因而与真实情况下用户由远及近靠近窗户观看窗外风景时的情况一致。因此,本发明实施例可以解决现有技术中当用户由远及近靠近窗户时,屏幕中显示的窗外风景的画面范围增大,同时画面中的物体缩小了,从而导致用户浏览体验不真实的问题。
此外,示例性的,参见图10,当用户的面部朝向绕垂直轴向左旋转时,根据计算结果可知,虚拟视窗图片的调整后的区域位移中的xv为负值,使得虚拟视窗图片的调整前的区域向左发生位移从而获得虚拟视窗图片的调整后的区域,从而使得被虚拟视窗图片的透明区域覆盖的动态画面的范围也向左发生位移,这与真实情况下也是一致的。而现有技术中当用户的面部朝向绕垂直轴向左旋转时,视频画面的位移并不发生变化,从而使得用户浏览体验不真实。
206、若步骤203中客户端确定用户与客户端平面的垂直距离小于预设的距离阈值,则客户端根据区域位移调整调整前的可视区域,从而获得调整后的可视区域,而后进入步骤207。
当用户与客户端平面的垂直距离小于预设的距离阈值时,用户的视角信息以及与客户端平面的垂直距离的变化对调整前的可视区域的区域大小变化值基本没有影响,用户与客户端平面的垂直距离的变化对调整前的可视区域的区域位移也没有影响,因而客户端可以根据用户的视角信息获取调整前的可视区域的区域位移,进而根据区域位移调整调整前的可视区域,从而获得调整后的可视区域。其中,根据区域位移调整调整前的可视区域从而获得调整后的可视区域的具体实现方式可以参见上述实施例的步骤104中的第二方面,这里不再赘述。
因而,当用户与客户端平面的垂直距离小于预设的距离阈值时,客户端可以根据用户的视角信息对调整前的可视区域进行调整并获得调整后的可视区域,与真实情况下当用户改变视角时,用户视野中的风景画面会相应变化相一致,可以解决现有技术中视频画面不随用户的视角变化而变化导致的用户浏览体验不真实的问题。
207、客户端显示调整后的可视区域,而后进入步骤202。
在客户端获得调整后的可视区域之后,可以将调整后的可视区域显示在屏幕上,而后重新进入步骤202,以便于继续根据获取的体态信息调整调整前的可视区域获得下一次的可视区域。
本发明实施例提供一种交互式视频显示的方法,当用户与客户端平面的垂直距离大于或等于预设的距离阈值时,客户端可以根据用户的体态信息调整虚拟视窗图片的调整前的区域,获得虚拟视窗图片的调整后的区域,并与动态画面的调整前的区域叠加从而获得调整后的可视区域;当用户与客户端平面的垂直距离小于预设的距离阈值时,客户端可以根据用户的体态信息获得调整前的可视区域的区域位移,进而根据区域位移调整调整前的可视区域获得调整后的可视区域,因而可以使得显示在客户端的可视区域能够根据用户的体态信息进行相应变换,能够解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。
参见图11,本发明实施例提供一种交互式视频显示的方法,该方法主要可以包括以下步骤:
301、客户端从视频中选取一块区域并显示。
本发明实施例中的客户端可以是一个客户端,也可以是多个客户端。在本步骤中,任一客户端可以从摄像设备例如广角摄像头或摄像头阵列的等摄像得到的整体视频画面中,各自选取一块区域作为调整前的可视区域并显示在自己的屏幕上,任一客户端选取该区域的过程可以参见步骤101。其中,广角摄像头或摄像头阵列可以采集的视角范围较广,例如130°、170°等,该范围大于用户最大可视范围,即用户的视角范围在广角摄像头或摄像头阵列采集到的视频画面范围内。
302、客户端获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
303、客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
其中,步骤301至303的具体实现方式可以参见上述实施例中的步骤101至103。
304、客户端向服务器请求覆盖调整后的可视区域的视频的区域对应的码流文件。
需要说明的是,这里覆盖调整后的可视区域的视频的区域,是指其范围大于调整后的可视区域的视频的区域。
可选地,覆盖调整后的可视区域的视频的区域可以为n个子区域中与调整后的可视区域包含重叠区域的待下载子区域。待下载子区域是视频所划分的n个子区域中的一个或若干个,n为大于1的正整数,n个子区域中的相邻子区域包含重叠区域,且相邻子区域包含不重叠区域。
可选地,覆盖调整后的可视区域的视频的区域可以为调整后的可视区域。
由于覆盖调整后的可视区域的视频的区域可以小于整个视频区域,因而客户端可以向服务器请求区域大小小于整个视频区域的码流文件,而不用像现有技术那样需要请求整个视频区域对应的码流文件,从而可以降低对带宽的要求,因而该方法可以用于客户端带宽受限的场景。当客户端带宽不充足,例如当客户端带宽小于带宽阈值时,本发明实施例提供的方法仍能够下载覆盖调整后的可视区域的视频的区域对应的码流文件,避免现有技术中由于带宽受限导致无法下载整个视频区域对应的码流文件而引起的客户端视频播放不流畅的问题。其中,这里的带宽阈值可以根据实际情况动态设定。
此外,本发明实施例中,与同一服务器通信的客户端不限于一个,也可以有多个。例如,当多个客户端同时在线浏览同一场景视频时,不同客户端可以根据其对应的用户的体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,因而本发明实施例可适用于多客户端场景,可以解决现有技术中的单客户端交互式视频显示系统无法扩展为多客户端交互式视频显示系统的问题。
305、客户端获得调整后的可视区域的视频的区域对应的码流文件,并显示调整后的可视区域,而后进入步骤302。
本发明实施例提供一种交互式视频显示的方法,客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,可以解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。在获得调整后的可视区域之后,客户端向服务器请求覆盖调整后的可视区域的视频的区域对应的码流文件,而不像现有技术那样需要向服务器请求整个视频区域对应的码流文件,因而可以降低对客户端带宽的要求,避免现有技术中由于客户端带宽受限导致不能下载整个视频区域的码流文件而引起的客户端视频播放不流畅的问题。
参见图12,本发明实施例提供一种交互式视频显示的方法,该方法主要可以包括以下步骤:
401、客户端从视频中选取一块区域并显示。
402、客户端获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
403、客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
其中,步骤401至403的具体实现方式可以参见上述实施例中的步骤101至103。
404、客户端根据从服务器获得的视频的媒体描述文件确定n个子区域中与调整后的可视区域包含重叠区域的待下载子区域对应的码流文件的地址信息,媒体描述文件携带用于指示地址信息对应的视频的子区域的参数。
这里的n个子区域中与调整后的可视区域包含重叠区域的待下载子区域能够覆盖调整后的可视区域。待下载子区域可以是n个子区域中的一个,也可以是多个,这里不做限定。
可选地,视频可以分为n个子区域,n为大于1的正整数,n个子区域中的相邻子区域包含重叠区域,且相邻子区域包含不重叠区域。媒体描述文件包括媒体描述文件VMPD,VMPD可以包括n个子区域的每个时间片段下的按照不同码率进行压缩编码得到的地址信息。
示例性的,根据基于超文本传送协议(Hypertext Transfer Protocol,HTTP)的动态自适应流DASH编码技术将每个时间片段下的n个子区域按照不同码率进行压缩分组编码的示意图可以参见图13,VMPD中n个子区域的每个时间片段下的按照不同码率进行压缩编码得到的地址信息可以参见表1。
表1 媒体描述文件
在VMPD中,质量级别一般通过媒体比特率来衡量,质量级别越高则比特率越大即码率越高。表示(Representation)包含n个子区域,每个子区域包含多个分片(Segment),分片可以持续一定时间,在分片时间段内(例如2s)的每个时间片段下按照不同码率进行压缩编码,每个子区域的每个时间片段下按照不同码率进行压缩编码得到的码流文件对应一个地址信息,该地址信息表示的存储空间用以存储对应的码流文件。其中,VMPD中具体存放的可以不是码流文件的具体地址信息,可以是当前相应码率下时刻与地址信息的对应关系,从而可以根据当前所处的具体时刻及该对应关系可以获得待下载子区域的码流文件的存放地址。媒体描述文件携带的用于指示地址信息对应的视频的子区域的参数可以包括表1所示的VMPD中的VisibleVideoRegionj(j=0to n-1),以及VisibleVideoRegion(T0)、VisibleVideoRegion(Tm)等。
具体的,客户端可以根据当前网络带宽信息确定与当前网络带宽相适用的压缩编码的码率,例如当客户端网络带宽充足时可以选择较高码率,当客户端网络带宽受限时可以选择较低码率,而后可以根据调整后的可视区域确定n个子区域中与调整后的可视区域包含重叠区域的待下载子区域,进而根据从服务器获得的视频的媒体描述文件及携带的用于指示地址信息对应的视频的子区域的参数,确定n个子区域中与调整后的可视区域包含重叠区域的待下载子区域在当前时刻相应码率对应的码流文件的地址信息。
其中,选择与当前网络带宽相适用的压缩编码的码率,可以避免采用同一码率进行编码时若所采用的码率较低则视频质量较低,当客户端网络带宽充足时,也只能下载该码率较低的视频码流文件,从而会影响客户端的视频质量,影响用户体验效果;若所采用的码率较高则视频质量较高同时对带宽的要求较高,当客户端网络带宽受限时,客户端无法下载该较高码率对应的码流文件从而导致视频播放不流畅的问题。
405、客户端根据地址信息向服务器请求待下载子区域对应的码流文件。
在本步骤中,由于n个子区域中与调整后的可视区域包含重叠区域的待下载子区域能够覆盖调整后的可视区域,因而客户端可以向服务器请求区域大小小于整个视频区域的待下载子区域对应的码流文件,而不用像现有技术那样需要请求整个视频区域对应的码流文件,从而可以降低对带宽的要求,因而该方法可以用于客户端带宽受限的场景。当客户端带宽不充足,例如当客户端带宽小于带宽阈值时,本发明实施例提供的方法仍能够下载覆盖调整后的可视区域的视频的区域对应的码流文件,避免现有技术中由于带宽受限导致无法下载整个视频区域对应的码流文件而引起的客户端视频播放不流畅的问题。其中,这里的带宽阈值可以根据实际情况动态设定。
此外,示例性的,若调整前的可视区域为图14中的长虚线包含的区域,覆盖该可视区域的子区域为左上角的子区域v1和左下角的子区域v3。当可视区域从h1所在的长虚线区域变为h2所在的短虚线区域(接近v1和v2的边界)并保持稳定的运动趋势时,表明可视区域将要越过v1和v2的边界,由于相邻子区域包含重叠区域,覆盖可视区域的子区域组将由(v1,v3)变为(v1,v2,v3,v4),此时,客户端可以请求覆盖可视区域的子区域组(v1,v2,v3,v4)对应的码流文件。也就是说,在可视区域还未越过子区域v1和v2的边界时,客户端可以提前下载v2、v4子区域对应的码流文件。因而,由于相邻子区域间存在重叠部分,因而客户端可以在可视区域越过v1和v2的边界之前,即在可视区域接近v1和v2的边界时,提前请求并获得v2和v4子区域对应的码流文件,从而可以避免由于当可视区域越过v1和v2的边界后再下载v2和v4子区域对应的码流文件的过程需要时间,从而导致的视频播放不流畅的问题。其中,当连续若干次检测发现可视区域的运动趋势一致时,例如连续3次发现可视区域均朝靠近边界的方向移动,则可以认为此运动趋势保持稳定。
若相邻子区域不包括重叠区域,则当预测可视区域从h1所在的长虚线区域变为h2所在的短虚线区域时,在可视区域越过v1和v2的边界之前,客户端不会请求下载v2和v4子区域对应的码流文件;而当可视区域越过v1和v2的边界后,客户端才会请求下载v2和v4子区域对应的码流文件,此时由于请求下载过程及网络传输需要时间,因而仍可能导致客户端视频播放不流畅。
406、客户端获得待下载子区域对应的码流文件后,显示调整后的可视区域,而后进入步骤402。
由于n个子区域中与调整后的可视区域包含重叠区域的待下载子区域能够覆盖调整后的可视区域,待下载子区域对应的码流文件中包含可视区域对应的码流文件,因而可以在获得待下载子区域对应的码流文件,显示调整后的可视区域。
需要说明的是,客户端在步骤403中获得调整后的可视区域之后,尤其是当客户端带宽受限时,本发明实施例还可以包括以下步骤:
步骤11、客户端根据调整前的可视区域和调整后的可视区域预测下一次的可视区域。
示例性的,预测函数f(·)可以为f(a,b)=a+a-b,其中,预测函数f(·)可以为f(a,b)=a+a-b,其中,a可以为调整前的可视区域的参数,b可以为调整后的可视区域的参数。示例性的,预测的下一次的可视区域的中心点的横坐标可以为xv,2=f(xv,1,xv,0),这里的xv,0表示调整前的可视区域中心点的横坐标,xv,1表示调整后的可视区域中心点的横坐标,预测的下一次的可视区域中心点的纵坐标可以为yv,2=f(yv,1,yv,0),这里的yv,0表示调整前的可视区域中心点的纵坐标,yv,1表示调整后的可视区域中心点的纵坐标。当然,a,b也可以为可视区域的其它参数,这里不做限定。参见图15,若调整前的可视区域为长虚线包含的矩形区域h0;调整后的可视区域为点虚线包含的矩形区域h1,则根据h0、h1及预测函数预测的下一次的可视区域可以为图中短虚线包含的矩形区域h2。
步骤12、客户端向服务器请求覆盖预测的下一次的可视区域的n个子区域中与调整后的可视区域包含重叠区域的待下载子区域对应的码流文件。
步骤13、客户端获得预测的下一次的可视区域的n个子区域中与调整后的可视区域包含重叠区域的待下载子区域对应的码流文件。
步骤11至步骤13可以使得客户端在将要显示下一次的可视区域时,若覆盖步骤11预测的下一次的可视区域的子区域能够覆盖根据下一次的体态信息获得的调整后的下一次的可视区域,则可以根据步骤13中提前下载的码流文件显示根据下一次的体态信息获得的调整后的下一次的可视区域,这样以来,即使在客户端将要显示下一次的可视区域时客户端的带宽受限,由于覆盖调整后的下一次的可视区域的子区域对应的码流文件已经提前下载,因而能够及时显示调整后的下一次的可视区域而不会出现播放不流畅的问题,一般情况下覆盖预测的下一次的可视区域的子区域能够覆盖根据下一次的体态信息获得的调整后的下一次的可视区域;若覆盖步骤11中预测的下一次的可视区域的子区域不能完全覆盖根据下一次的体态信息获得的调整后的下一次的可视区域,则客户端向服务器请求覆盖n个子区域中与调整后的下一次的可视区域包含重叠区域的待下载子区域对应的码流文件,并在获得该码流文件后显示调整后的下一次的可视区域。
进一步的,若当前时刻为T2时刻,调整前的可视区域对应的时刻为T1时刻,则客户端可以根据T1和T2时刻的可视区域预测T3时刻的可视区域,并根据T1和T3时刻的可视区域预测T4时刻的可视区域,从而可以依次预测t时间后Tk时刻的可视区域。因而,当客户端网络存在延迟t时,可以根据预测的t时间后Tk时刻的可视区域,向服务器请求覆盖预测的t时间后Tk时刻的可视区域的视频的区域(例如子区域)对应的码流文件,从而显示t时间后Tk时刻的可视区域,因而可以解决由于网络存在延迟导致的客户端视频播放与服务器不同步的问题。
本发明实施例提供一种交互式视频显示的方法,客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,可以解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。在获得调整后的可视区域之后,客户端根据从服务器获得的视频的媒体描述文件确定n个子区域中与调整后的可视区域包含重叠区域的待下载子区域对应的码流文件的地址信息,而后根据地址信息向服务器请求区域大小小于整个视频区域的待下载子区域对应的码流文件,而不像现有技术那样需要向服务器请求整个视频区域对应的码流文件,因而可以降低对客户端带宽的要求,避免现有技术中由于客户端带宽受限导致不能下载整个视频区域的码流文件而引起的客户端视频播放不流畅的问题。
参见图16,本发明实施例提供一种交互式视频显示的方法,该方法主要可以包括以下步骤:
501、客户端从视频中选取一块区域并显示。
502、客户端获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
503、客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
其中,步骤501至503的具体实现方式可以参见上述实施例中的步骤101至103。
504、客户端向服务器请求调整后的可视区域对应的码流文件。
在本步骤中,客户端可以向服务器请求调整后的可视区域对应的码流文件,调整后的可视区域的区域大小小于整个视频区域的待下载子区域对应的码流文件,而不用像现有技术那样需要请求整个视频区域对应的码流文件,从而可以降低对带宽的要求,因而该方法可以用于客户端带宽受限的场景。当客户端带宽不充足,例如当客户端带宽小于带宽阈值时,本发明实施例提供的方法仍能够下载覆盖调整后的可视区域的子区域对应的码流文件,避免现有技术中由于带宽受限导致无法下载整个视频区域对应的码流文件而引起的客户端视频播放不流畅的问题。其中,这里的带宽阈值可以根据实际情况动态设定。
505、客户端获得调整后的可视区域对应的码流文件后,显示调整后的可视区域,而后进入步骤502。
需要说明的是,客户端在步骤503中获得调整后的可视区域之后,尤其是当客户端带宽受限时,与上述实施例中的步骤11至步骤13类似,本发明实施例还可以包括以下步骤:
步骤21、客户端根据调整前的可视区域和调整后的可视区域预测下一次的可视区域。
该过程的具体实现方式可以参见上述实施例中的步骤11。
步骤22、客户端向服务器请求覆盖预测的下一次的可视区域的n个子区域中与调整后的可视区域包含重叠区域的待下载子区域对应的码流文件。
步骤23、客户端获得预测的下一次的可视区域的n个子区域中与调整后的可视区域包含重叠区域的待下载子区域对应的码流文件。
上述步骤21至步骤23可以使得客户端在将要显示下一次的可视区域时,若步骤21预测的下一次的可视区域能够覆盖根据下一次的用户的体态信息获得的调整后的下一次的可视区域,则可以根据步骤23中提前下载的码流文件显示根据下一次的用户的体态信息获得的调整后的下一次的可视区域,这样以来,即使在客户端将要显示下一次的可视区域时客户端的带宽受限,由于调整后的下一次的可视区域的码流文件已经提前下载,因而能够及时显示调整后的下一次的可视区域而不会出现播放不流畅的问题;若步骤21中预测的下一次的可视区域不能够完全覆盖根据下一次的用户的体态信息获得的调整后的下一次的可视区域,则客户端向服务器请求根据下一次的用户的体态信息调整后的下一次的可视区域对应的码流文件,并在获得该码流文件后显示调整后的下一次的可视区域。
进一步的,若当前时刻为T2时刻,调整前的可视区域对应的时刻为T1时刻,则客户端可以根据T1和T2时刻的可视区域预测T3时刻的可视区域,并根据T1和T3时刻的可视区域预测T4时刻的可视区域,从而可以依次预测t时间后Tk时刻的可视区域。因而,当客户端网络存在延迟t时,可以根据预测的t时间后Tk时刻的可视区域,向服务器请求预测的t时间后Tk时刻的可视区域对应的码流文件,从而显示t时间后Tk时刻的可视区域,因而可以解决由于网络存在延迟导致的客户端视频播放与服务器不同步的问题。
本发明实施例提供一种交互式视频显示的方法,客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,可以解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。在获得调整后的可视区域之后,客户端向服务器请求调整后的可视区域对应的码流文件而不像现有技术那样需要向服务器请求整个视频区域对应的码流文件,因而可以降低对客户端带宽的要求,避免现有技术中由于客户端带宽受限导致不能下载整个视频区域的码流文件而引起的客户端视频播放不流畅的问题。
参见图17,本发明实施例提供另一种交互式视频显示的方法,其主要步骤可以包括:
601、客户端从视频中选取一块区域并显示。
其中,视频由摄像设备摄像得到,本发明实施例中摄像设备的摄像头可旋转,例如,该摄像设备可以是可旋转的普通云台摄像头,可用于智能家居中的监控,游艇客舱内的外部风光浏览等场景。
本发明实施例中的视频包括缓冲区域,调整前的可视区域在缓冲区域的区域范围内,缓冲区域在视频的区域范围内。示例性的,若调整前的可视区域的宽度值为800个像素点,调整前的可视区域的高度值为1000个像素点,而视频区域的宽度值为2000个像素点,视频区域的高度值为2000个像素点,则缓冲区域的宽度值可以为介于800个像素点和2000个像素点之间的数值如1400个像素点,缓冲区域的高度值可以为介于1000个像素点和2000个像素点之间的数值如1500个像素点,本发明实施例对所设置的缓冲区域的具体大小不做限定。
602、客户端获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
603、客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
其中,步骤601至603的具体实现方式可以参见上述实施例中的步骤101至103。
604、在调整后的可视区域存在缓冲区域之外的区域时,客户端通知摄像设备向调整方向旋转摄像头,调整方向为调整前的可视区域到调整后的可视区域的方向。
在调整后的可视区域存在缓冲区域之外的区域,即缓冲区域不能覆盖调整后的可视区域时,客户端可以通知摄像设备向调整方向旋转摄像头。其中,客户端可以根据调整后的可视区域与缓冲区域同一侧边界上的点的坐标值的大小,来确定调整后的可视区域是否存在缓冲区域之外的区域。示例性的,若出现以下至少一个则客户端可以确定调整后的可视区域是否存在缓冲区域之外的区域:调整后的可视区域右侧边界上的点的横坐标值大于缓冲区域右侧边界上的点的横坐标值,或者调整后的可视区域上侧边界上的点的纵坐标值大于缓冲区域上侧边界上的点的纵坐标值,或者调整后的可视区域左侧边界上的点的横坐标值大于缓冲区域左侧边界上的点的横坐标值,或者调整后的可视区域下侧边界上的点的纵坐标值大于缓冲区域下侧边界上的点的纵坐标值。
在本步骤中,客户端可以通过服务器通知摄像设备向调整方向旋转摄像头,这里的调整方向为调整前的可视区域到调整后的可视区域的方向。示例性的,客户端可以将根据调整前的可视区域的中心点与调整后的可视区域的中心点连成的射线所在的方向作为调整方向。参见图18,若调整前的可视区域的中心点为A点,调整后的可视区域的中心点为B点,且射线AB与水平方向的夹角为30°,与竖直方向的夹角为50°,则可以沿该射线AB方向,即与水平方向成30°角,并与竖直方向成50°角的方向,调整摄像设备的摄像头。其中,具体移动的距离大小可以根据需要进行设置,本发明实施例不做限定。
本步骤中,由于视频包括缓冲区域,调整前的可视区域在缓冲区域的区域范围内,缓冲区域在视频的区域范围内,可以在调整后的可视区域存在缓冲区域之外的区域时,触发摄像设备的摄像头向调整前的可视区域到调整后的可视区域的方向旋转,能够在调整后的可视区域刚刚越过缓冲区域边界之后越过视频区域的边界之前提前旋转摄像头,因而可以解决现有技术中在可视区域越过摄像头视频区域的边界后再旋转摄像头,由于摄像头旋转后从摄像设备采集视频区域的画面数据到传输至客户端需要一定的时间,从而导致的客户端进行交互式视频显示时画面延迟的问题。其中,通过设置缓冲区域解决摄像头旋转导致的画面延迟问题的效果示意图可以参见图19。
605、客户端重新定义调整后的缓冲区域使得调整后的可视区域在调整后的缓冲区域的区域范围内,而后重新进入步骤602。
本发明实施例提供一种交互式视频显示的方法,客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,可以解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。在获得调整后的可视区域之后,客户端通过在调整后的可视区域存在缓冲区域之外的区域时,通知摄像设备向调整前的可视区域到调整后的可视区域的方向旋转,由于视频包括缓冲区域,调整前的可视区域在缓冲区域的区域范围内,缓冲区域在视频的区域范围内,因而客户端可以在调整后的可视区域越过摄像头视频区域的边界之前提前旋转摄像头,可以解决现有技术中在调整后的可视区域越过视频区域的边界之后再旋转摄像头,由于从采集视频区域画面数据到传输至客户端需要一定的时间,从而导致的户端画面延迟的问题。
另外,如图4、11、12、16、17所示的实施例提供的交互式视频显示的方法,还可以用于图20所示的房间对接的场景,即用户在当前房间内通过屏幕观看远程房间,并根据用户的体态信息调整视频中用于显示在客户端的调整前的可视区域,从而实现对远程房间画面进行变换,给用户以本地房间和远端房间真实对接的浸入式体验,其中的摄像设备可以为广角摄像头、摄像头阵列等全景摄像设备。另外,在摄像设备进行画面采集时,可以考虑将房间中的人与房间背景进行分割,以便于后续可以制造本地用户与远端房间里的人面对面体验的场景,从而避免人被房间中物体遮挡而无法进行后续处理。示例性的,参见图21a至图21e所示的房间对接效果示意图,图21c中根据体态信息调整视频中用于显示在客户端的调整前的可视区域获得的当前用于显示在客户端的调整后的可视区域中的画面与图21e中通过玻璃看到的真实情况下的画面基本一致,而现有技术中仅根据用户位置的平移变化进行简单变换后可视区域中的画面(图21b)与真实情况下的画面(图21e)相差较远(例如,具体从图中房间左边的墙面大小可以看出)。
当然,在上述房间对接的场景中还可以采用3D摄像设备对远程房间及房间中的人进行拍摄和实时3D重建,从而得到该房间和人的数字3D模型,该场景中的显示设备可以为普通屏幕,也可以为3D显示设备。当显示设备为普通屏幕时,可以通过使用现有3D平面显示技术进行呈现,其中,采用3D平面显示技术显示3D房间重建结果的示意图可以参见图22。当使用3D摄像设备时,可以通过3D虚拟场景中的虚拟相机来模拟人眼,若用户的体态信息变化,则可以通过改变虚拟摄像机的位置或朝向(即改变Extrinsic矩阵Me)来模拟用户的体态信息的变化,从而根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域并显示。具体的,可以通过调整矩阵Me中的旋转参数和平移参数来模拟用户的体态信息的变化。
其中,Me可以定义为:
M e = r 11 r 12 r 13 t x r 21 r 22 r 23 t y r 31 r 32 r 33 t z ,
其中,rij(i,j=1,2,3)和ti(i=x,y,z)分别为虚拟相机的旋转参数和平移参数。客户端在根据用户位置信息或视角信息的变化调整Me的参数后,可以通过Me和Intrinsic矩阵Mi,计算3D重建场景S3D的2D投影I2D,并将其显示在客户端屏幕上,具体计算公式可以表示为:
I2D=MiMeS3D,
其中, M i = f x s x 0 0 f y y 0 0 0 1 , fx和fy为虚拟相机的焦距,s为虚拟相机的斜轴(Axis Skew),x0和y0为虚拟相机的主点偏移(Principal Point Offset)。
此外,如图4、7、11、12、16、17所示的实施例提供的交互式视频显示的方法,还可以使用带摄像头的机器人作为摄像设备进行实时视频拍摄,以便根据用户体态信息变化控制远程机器人进行移动,对机器人的拍摄角度和位置进行实时调整,从而可以对拍摄到的视频区域进行实时调整。
如图4、7、11、12、16、17所示的实施例提供的交互式视频显示的方法,还可以采用其它显示设备进行远程场景显示,例如弧形屏幕,或多屏拼接显示设备等,本发明实施例不做限定。
需要说明的是,如图4、7、11、12、16、17所示的实施例提供的交互式视频显示的方法中的显示设备,还可以为头戴式显示器(Head-Mounted Display,HMD),其形状类似于眼镜。HMD通过一组光学系统放大超微显示屏上的图像,将影像投射于视网膜上,进而呈现于观看者眼中放大后的屏幕图像。用户可通过HMD进行交互式场景浏览,通过获取到的用户的体态信息调整视频中用于显示在客户端的调整前的可视区域,获得当前用于显示在客户端的调整后的可视区域从而达到交互式视频显示的效果。示例性的,可以通过在HMD上加装传感器来获取用户的体态信息,这里的位置信息中用户与客户端的垂直距离可以为用户与参考平面的垂直距离,其中的参考平面可以根据具体需要进行设定,通过HMD进行交互式视频显示的系统客户端示意图可以参见图23。如图23所示,客户端可以通过HMD进行场景显示,且可以通过陀螺仪传感器、加速度传感器等获取用户的体态信息从而对调整前的可视区域进行相应的调整,具体调整方法可以参照上述实施例中的步骤103。当然也可以采用其它传感器或其它方式来获取用户的体态信息,本发明实施例不做限定。
参见图24,本发明实施例提供一种交互式视频显示的方法,其主要步骤可以包括:
701、服务器从视频中选取一块区域。
在本步骤中,服务器可以从视频中选取一块区域作为调整前的可视区域,以便于客户端在开始进行交互式视频显示时,将该选取的区域作为初始可视区域进行显示。服务器具体选取该区域的过程与客户端选取该区域的过程类似,可以参见步骤101。
702、服务器获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
在本步骤中服务器可以从客户端获取用户的体态信息,包括用户的视角信息和用户的位置信息,用户的视角信息包括用户的面部朝向信息,用户的面部朝向信息包括用户的面部朝向绕冠状轴旋转的角度和用户的面部朝向绕垂直轴旋转的角度用户的位置信息可以包括用户与客户端平面的垂直距离zu
703、服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,而后进入步骤702。
在该步骤中,服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域从而获得当前用于显示在客户端的调整后的可视区域的过程,与客户端根据体态信息调整视频中用于显示在客户端的调整前的可视区域从而获得当前用于显示在客户端的调整后的可视区域的过程类似,其具体实现过程可以参见步骤103,这里不再赘述。
在步骤703中获得调整后的可视区域后。服务器还可以将表征调整后的可视区域的区域范围的参数(例如调整后的可视区域中各点的坐标)发送给客户端,以便于客户端显示调整后的可视区域。
本发明实施例提供一种交互式视频显示的方法,服务器通过实时获取用户的体态信息,并根据用户体态信息中用户的视角信息和用户的位置信息对视频中用于显示在客户端的调整前的可视区域进行调整,从而获得当前用于显示在客户端的调整后的可视区域,使得用于显示在客户端的可视区域可以根据用户的视角信息和位置信息的实时变化进行相应变换,因而能够解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。
参见图25,本发明实施例提供一种交互式视频显示的方法,该方法主要可以包括以下几个步骤:
801、服务器从视频中选取一块区域。
802、服务器获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
步骤801至802的具体实现方式可以参见步骤701至702。
803、服务器根据用户的位置信息确定用户与客户端平面的垂直距离是否大于或等于预设的距离阈值,而后进入步骤804或步骤806。
804、若步骤803中服务器确定用户与客户端平面的垂直距离大于或等于预设的距离阈值,则视频为叠加了虚拟视窗图片的动态画面,虚拟视窗图片包括透明区域,动态画面中被虚拟视窗图片的透明区域覆盖的范围可见,调整前的可视区域为虚拟视窗图片的调整前的区域与动态画面的调整前的区域的叠加,服务器根据区域大小变化值和区域位移中至少一个调整虚拟视窗图片的调整前的区域,从而获得虚拟视窗图片的调整后的区域,而后进入步骤805。
805、服务器将虚拟视窗图片的调整后的区域所呈现的图片在经过调整后完全覆盖在动态画面的调整前的区域上,构成调整后的可视区域,而后进入步骤802。
806、若步骤803中服务器确定用户与客户端平面的垂直距离小于预设的距离阈值,则服务器根据区域位移调整调整前的可视区域,从而获得调整后的可视区域,而后进入步骤802。
在步骤805或806之后,服务器还可以将表征调整后的可视区域的区域范围的参数发送给客户端,以便于客户端显示调整后的可视区域。
步骤803至步骤806中服务器根据用户的体态信息获得调整后的可视区域的过程,与客户端根据用户的体态信息获得调整后的可视区域的过程类似,可以参见步骤203至步骤206中的描述,这里不再赘述。
本发明实施例提供一种交互式视频显示的方法,当用户与客户端平面的垂直距离大于或等于预设的距离阈值时,服务器可以根据用户的体态信息调整虚拟视窗图片的调整前的区域,获得虚拟视窗图片的调整后的区域,并与动态画面的调整前的区域叠加从而获得调整后的可视区域;当用户与客户端平面的垂直距离小于预设的距离阈值时,服务器可以根据用户的体态信息获得调整前的可视区域的区域位移,进而根据区域位移调整调整前的可视区域获得调整后的可视区域,因而可以使得显示在客户端的可视区域能够根据用户的体态信息进行相应变换,能够解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。
参见图26,本发明实施例提供一种交互式视频显示的方法,该方法主要可以包括以下步骤:
901、服务器从视频中选取一块区域。
902、服务器获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
903、服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
其中,步骤901至903的具体实现方式可以参见上述实施例中的步骤701至703。
904、服务器向客户端发送调整后的可视区域的视频的区域对应的码流文件,而后进入步骤902。
需要说明的是,这里覆盖调整后的可视区域的视频的区域,是指其范围大于调整后的可视区域的视频的区域。
可选地,覆盖调整后的可视区域的视频的区域可以为n个子区域中与调整后的可视区域包含重叠区域的待下载子区域。这里的待下载子区域是视频所划分的n个子区域中的一个或若干个,n为大于1的正整数,n个子区域中的相邻子区域包含重叠区域,且相邻子区域包含不重叠区域。
可选地,覆盖调整后的可视区域的视频的区域可以为调整后的可视区域。
由于覆盖调整后的可视区域的视频的区域可以小于整个视频区域,因而服务器可以向客户端发送区域大小小于整个视频区域的码流文件,而不用像现有技术那样需要发送整个视频区域对应的码流文件,从而可以降低对带宽的要求,因而该方法可以用于客户端带宽受限的场景。当客户端带宽不充足,例如当客户端带宽小于带宽阈值时,本发明实施例提供的方法仍能够下载覆盖调整后的可视区域的视频的区域对应的码流文件,避免现有技术中由于带宽受限导致无法下载整个视频区域对应的码流文件而引起的客户端视频播放不流畅的问题。其中,这里的带宽阈值可以根据实际情况动态设定。
需要说明的是,本发明实施例中,与同一服务器通信的客户端不限于一个,也可以有多个。例如,当多个客户端同时在线浏览同一场景视频时,服务器可以根据不同客户端的用户的体态信息,调整视频中用于显示在客户端的调整前的可视区域从而获得当前用于显示在客户端的调整后的可视区域,并覆盖调整后的可视区域的视频的区域对应的码流文件发送给相应的客户端,因而本发明实施例可适用于多客户端场景,可以解决现有技术中的单客户端交互式视频显示系统无法扩展为多客户端交互式视频显示系统的问题。
此外,服务器还可以将表征调整后的可视区域的参数发送给客户端,以便于客户端根据该参数以及获得的码流文件显示调整后的可视区域。
本发明实施例提供一种交互式视频显示的方法,服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,可以解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。在获得调整后的可视区域之后,服务器向客户端发送覆盖调整后的可视区域的视频的区域对应的码流文件,而不像现有技术那样需要向客户端发送整个视频区域对应的码流文件,因而可以降低对客户端带宽的要求,避免现有技术中由于客户端带宽受限导致不能下载整个视频区域的码流文件而引起的客户端视频播放不流畅的问题。
参见图27,本发明实施例提供一种交互式视频显示的方法,该方法主要可以包括以下步骤:
1001、服务器从视频中选取一块区域。
1002、服务器获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
1003、服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
其中,步骤1001至1003的具体实现方式可以参见上述实施例中的步骤701至703。
1004、服务器根据生成的视频的媒体描述文件确定待下载子区域对应的码流文件的地址信息,媒体描述文件携带用于指示地址信息对应的视频的子区域的参数。
在本步骤中,服务器根据生成的视频的媒体描述文件确定待下载子区域对应的码流文件的地址信息的过程,与客户端根据从视频的媒体描述文件确定待下载子区域对应的码流文件的地址信息的过程类似,具体可以参见步骤404,这里不再赘述。
1005、服务器根据地址信息向客户端发送待下载子区域对应的码流文件,而后进入步骤1002。
在本步骤中,由于n个子区域中与调整后的可视区域包含重叠区域的待下载子区域能够覆盖调整后的可视区域,因而服务器可以向可好护短发送区域大小小于整个视频区域的待下载子区域对应的码流文件,而不用像现有技术那样需要发送整个视频区域对应的码流文件,从而可以降低对带宽的要求,因而该方法可以用于客户端带宽受限的场景。当客户端带宽不充足,例如当客户端带宽小于带宽阈值时,本发明实施例提供的方法仍能够下载覆盖调整后的可视区域的视频的区域对应的码流文件,避免现有技术中由于带宽受限导致无法下载整个视频区域对应的码流文件而引起的客户端视频播放不流畅的问题。其中,这里的带宽阈值可以根据实际情况动态设定。
此外,示例性的,若调整前的可视区域为图14中的长虚线包含的区域,覆盖该可视区域的子区域为左上角的子区域v1和左下角的子区域v3。当可视区域从h1所在的长虚线区域变为h2所在的短虚线区域(接近v1和v2的边界)并保持稳定的运动趋势时,表明可视区域将要越过v1和v2的边界,由于相邻子区域包含重叠区域,覆盖可视区域的子区域组将由(v1,v3)变为(v1,v2,v3,v4),此时,服务器可以向客户端发送覆盖可视区域的子区域组(v1,v2,v3,v4)对应的码流文件。也就是说,在可视区域还未越过子区域v1和v2的边界时,服务器可以提前向客户端发送v2、v4子区域对应的码流文件。因而,由于相邻子区域间存在重叠部分,因而服务器可以在可视区域越过v1和v2的边界之前,即在可视区域接近v1和v2的边界时,提前向客户端发送v2和v4子区域对应的码流文件,从而可以避免由于当可视区域越过v1和v2的边界后再发送v2和v4子区域对应的码流文件的过程需要时间,从而导致的客户端视频播放不流畅的问题。其中,当连续若干次检测发现可视区域的运动趋势一致时,例如连续3次发现可视区域均朝靠近边界的方向移动,则可以认为此运动趋势保持稳定。
若相邻子区域不包括重叠区域,则当预测可视区域从h1所在的长虚线区域变为h2所在的短虚线区域时,在可视区域越过v1和v2的边界之前,服务器不会向客户端发送v2和v4子区域对应的码流文件;而当可视区域越过v1和v2的边界后,服务器才会向客户端发送v2和v4子区域对应的码流文件,此时由于发送过程需要时间,因而仍可能导致客户端视频播放不流畅。
需要说明的是,客户端在步骤1003中获得调整后的可视区域之后,尤其是当客户端带宽受限时,本发明实施例还可以包括以下步骤:
步骤31、服务器根据调整前的可视区域和调整后的可视区域预测下一次的可视区域。
服务器根据调整前的可视区域和调整后的可视区域预测下一次的可视区域的过程,与客户端根据调整前的可视区域和调整后的可视区域预测下一次的可视区域的过程类似,具体可以参见步骤11。
步骤32、服务器向客户端发送覆盖下一次的可视区域的视频的区域对应的码流文件。
步骤31、步骤32可以使得客户端在将要显示下一次的可视区域时,若覆盖步骤31预测的下一次的可视区域的子区域能够覆盖根据下一次的体态信息获得的调整后的下一次的可视区域,则客户端可以根据步骤32中服务器提前发送的码流文件显示根据下一次的体态信息获得的调整后的下一次的可视区域,这样以来,即使在客户端将要显示下一次的可视区域时客户端的带宽受限,由于服务器已经将覆盖调整后的下一次的可视区域的子区域对应的码流文件提前发送至客户端,因而客户端能够及时显示调整后的下一次的可视区域而不会出现播放不流畅的问题,一般情况下覆盖预测的下一次的可视区域的子区域能够覆盖根据下一次的体态信息获得的调整后的下一次的可视区域;若覆盖步骤31中预测的下一次的可视区域的子区域不能完全覆盖根据下一次的体态信息获得的调整后的下一次的可视区域,则服务器向客户端发送覆盖n个子区域中与调整后的下一次的可视区域包含重叠区域的待下载子区域对应的码流文件。
进一步的,若当前时刻为T2时刻,调整前的可视区域对应的时刻为T1时刻,则服务器可以根据T1和T2时刻的可视区域预测T3时刻的可视区域,并根据T1和T3时刻的可视区域预测T4时刻的可视区域,从而可以依次预测t时间后Tk时刻的可视区域。因而,当客户端网络存在延迟t时,服务器可以根据预测的t时间后Tk时刻的可视区域,向客户端发送覆盖预测的t时间后Tk时刻的可视区域的视频的区域(例如子区域)对应的码流文件,从而显示t时间后Tk时刻的可视区域,因而可以解决由于网络存在延迟导致的客户端视频播放与服务器不同步的问题。
本发明实施例提供一种交互式视频显示的方法,服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,可以解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。在获得调整后的可视区域之后,服务器根据生成的视频的媒体描述文件确定待下载子区域对应的码流文件的地址信息,而后根据地址信息向客户端发送区域大小小于整个视频区域的待下载子区域对应的码流文件,而不像现有技术那样需要向客户端发送整个视频区域对应的码流文件,因而可以降低对客户端带宽的要求,避免现有技术中由于客户端带宽受限导致不能下载整个视频区域的码流文件而引起的客户端视频播放不流畅的问题。
参见图28,本发明实施例提供一种交互式视频显示的方法,该方法主要可以包括以下步骤:
1101、服务器从视频中选取一块区域。
1102、服务器获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
1103、服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
其中,步骤1101至1103的具体实现方式可以参见上述实施例中的步骤701至703。
1104、服务器向客户端发送调整后的可视区域对应的码流文件,而后进入步骤1102。
在本步骤中,服务器可以向客户端发送调整后的可视区域对应的码流文件,调整后的可视区域的区域大小小于整个视频区域的待下载子区域对应的码流文件,而不用像现有技术那样需要发送整个视频区域对应的码流文件,从而可以降低对带宽的要求,因而该方法可以用于客户端带宽受限的场景。当客户端带宽不充足,例如当客户端带宽小于带宽阈值时,本发明实施例提供的方法使得客户端仍能够下载调整后的可视区域对应的码流文件,避免现有技术中由于带宽受限导致无法下载整个视频区域对应的码流文件而引起的客户端视频播放不流畅的问题。其中,这里的带宽阈值可以根据实际情况动态设定。
客户端在获得调整后的可视区域对应的码流文件后,可以根据该码流文件显示调整后的可视区域。
需要说明的是,服务器在步骤1103中获得调整后的可视区域之后,尤其是当客户端带宽受限时,与上述实施例中的步骤21、步骤22类似,本发明实施例还可以包括以下步骤:
41、服务器根据调整前的可视区域和调整后的可视区域预测下一次的可视区域。
42、服务器向客户端发送覆盖下一次的可视区域的视频的区域对应的码流文件。
步骤31、步骤32可以使得客户端在将要显示下一次的可视区域时,若步骤31预测的下一次的可视区域能够覆盖根据下一次的体态信息获得的调整后的下一次的可视区域,则客户端可以根据步骤32中服务器提前发送的码流文件显示根据下一次的体态信息获得的调整后的下一次的可视区域,这样以来,即使在客户端将要显示下一次的可视区域时客户端的带宽受限,由于服务器已经将调整后的下一次的可视区域对应的码流文件提前发送至客户端,因而能够及时显示调整后的下一次的可视区域而不会出现播放不流畅的问题;若步骤31中预测的下一次的可视区域不能够完全覆盖根据下一次的体态信息获得的调整后的下一次的可视区域,则服务器向客户端发送根据下一次的体态信息获得的调整后的下一次的可视区域对应的码流文件,以便于客户端显示调整后的下一次的可视区域。
进一步的,若当前时刻为T2时刻,调整前的可视区域对应的时刻为T1时刻,则服务器可以根据T1和T2时刻的可视区域预测T3时刻的可视区域,并根据T1和T3时刻的可视区域预测T4时刻的可视区域,从而可以依次预测t时间后Tk时刻的可视区域。因而,当客户端网络存在延迟t时,服务器可以根据预测的t时间后Tk时刻的可视区域,向客户端发送预测的t时间后Tk时刻的可视区域对应的码流文件,从而使得客户端可以显示t时间后Tk时刻的可视区域,因而可以解决由于网络存在延迟导致的客户端视频播放与服务器不同步的问题。
本发明实施例提供一种交互式视频显示的方法,服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,可以解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。在获得调整后的可视区域之后,服务器向客户端发送调整后的可视区域对应的码流文件而不像现有技术那样需要向客户端发送整个视频区域对应的码流文件,因而可以降低对客户端带宽的要求,避免现有技术中由于客户端带宽受限导致不能下载整个视频区域的码流文件而引起的客户端视频播放不流畅的问题。
参见图29,本发明实施例提供另一种交互式视频显示的方法,其主要步骤可以包括:
1201、服务器从视频中选取一块区域。
其中,视频由摄像设备摄像得到,本发明实施例中摄像设备的摄像头可旋转,例如,该摄像设备可以是可旋转的普通云台摄像头,可用于智能家居中的监控,游艇客舱内的外部风光浏览等场景。
本发明实施例中的视频包括缓冲区域,调整前的可视区域在缓冲区域的区域范围内,缓冲区域在视频的区域范围内。缓冲区的具体设置方法可以参见步骤601。
1202、服务器获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
1203、服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
其中,步骤1201至1203的具体实现方式可以参见上述实施例中的步骤701至703。
1204、服务器在调整后可视区域存在缓冲区域之外的区域时,通知摄像设备向调整方向旋转摄像头,调整方向为调整前的可视区域到调整后的可视区域的方向。
1205、服务器重新定义调整后的缓冲区域使得调整后的可视区域在调整后的缓冲区域的区域范围内,而后重新进入步骤1202。
步骤1204和步骤1205中在调整后可视区域存在缓冲区域之外的区域时,服务器通知摄像设备向调整方向旋转摄像头并重新定义调整后的缓冲区域的过程,与客户端通知摄像设备向调整方向旋转摄像头并重新定义调整后的缓冲区域的过程类似,具体可以参见步骤604、步骤605。
本发明实施例提供一种交互式视频显示的方法,服务器根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域,可以解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。在获得调整后的可视区域之后,服务器通过在调整后的可视区域存在缓冲区域之外的区域时,通知摄像设备向调整前的可视区域到调整后的可视区域的方向旋转,由于视频包括缓冲区域,调整前的可视区域在缓冲区域的区域范围内,缓冲区域在视频的区域范围内,因而服务器可以在调整后的可视区域越过摄像头视频区域的边界之前提前旋转摄像头,可以解决现有技术中在调整后的可视区域越过视频区域的边界之后再旋转摄像头,由于从采集视频区域画面数据到传输至客户端需要一定的时间,从而导致的户端画面延迟的问题。
当然,如图24、26、27、28、29所示的实施例提供的交互式视频显示的方法,也可以应用于2D、3D房间对接的场景,具体可以参见客户端侧的描述,这里不再赘述。
此外,如图24至29所示的实施例提供的交互式视频显示的方法,还可以使用带摄像头的机器人作为摄像设备,也可以采用弧形屏幕、多屏拼接显示设备或头戴式显示器等其它显示设备,本发明实施例不做限定。
本发明实施例提供一种计算机设备1300,参见图30,该计算机设备1300可以包括:
获取单元1301,可以用于获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息。
处理单元1302,可以用于根据获取单元1301获取的体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
可选地,用户的视角信息可以包括用户的面部朝向信息,用户的面部朝向信息可以包括用户的面部朝向绕冠状轴旋转的角度和用户的面部朝向绕垂直轴旋转的角度。
可选地,用户的位置信息可以包括用户与客户端平面的垂直距离,处理单元1302可以具体用于:
根据用户的视角信息和垂直距离获取调整前的可视区域的区域大小变化值和区域位移中至少一个,区域大小变化值包括调整前的可视区域的宽度变化值和高度变化值,区域位移包括调整前的可视区域的横向位移和调整前的可视区域的纵向位移;
根据区域大小变化值和区域位移中至少一个调整调整前的可视区域,从而获得调整后的可视区域。
可选地,处理单元1302可以具体用于:
在垂直距离大于或等于预设的距离阈值时,视频为叠加了虚拟视窗图片的动态画面,虚拟视窗图片包括透明区域,动态画面中被虚拟视窗图片的透明区域覆盖的范围可见,调整前的可视区域为虚拟视窗图片的调整前的区域与动态画面的调整前的区域的叠加,根据区域大小变化值和区域位移中至少一个调整虚拟视窗图片的调整前的区域,从而获得虚拟视窗图片的调整后的区域,将虚拟视窗图片的调整后的区域所呈现的图片在经过调整后完全覆盖在动态画面的调整前的区域上,构成调整后的可视区域;
在垂直距离小于预设的距离阈值时,根据区域位移调整调整前的可视区域,从而获得调整后的可视区域。
可选地,调整前的可视区域的区域大小变化值可以通过以下公式获取:
Δw = z u * ( tan ( θ fov 2 + θ u y ) + tan ( θ fov 2 - θ u y ) ) - 2 * z u * tan ( θ fov 2 ) ;
Δh = z u * ( tan ( θ fov 2 + θ u x ) + tan ( θ fov 2 - θ u x ) ) - 2 * z u * tan ( θ fov 2 ) ;
其中,Δw表示调整前的可视区域的宽度变化值,Δh表示调整前的可视区域的高度变化值,表示用户的面部朝向绕冠状轴旋转的角度,表示用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示垂直距离。
可选地,调整前的可视区域的区域位移可以通过以下公式获取:
x v = 1 2 * z u * ( tan ( θ fov 2 + θ u y ) - tan ( θ fov 2 - θ u y ) ) ;
y v = 1 2 * z u * ( tan ( θ fov 2 + θ u x ) - tan ( θ fov 2 - θ u x ) ) ;
其中,xv表示调整前的可视区域的横向位移,yv表示调整前的可视区域的纵向位移,表示用户的面部朝向绕冠状轴旋转的角度,表示用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示垂直距离。
可选地,用户的位置信息可以包括用户与客户端平面的垂直距离变化值,处理单元1302可以具体用于:
根据垂直距离变化值获取调整前的可视区域的区域大小变化值,区域大小变化值包括调整前的可视区域的宽度变化值和调整前的可视区域的高度变化值;
根据区域大小变化值调整调整前的可视区域,从而获得调整后的可视区域。
可选地,根据垂直距离变化值获取调整前的可视区域的区域大小变化值的公式可以包括:
Δw = Δh = Δ z u * tan ( θ fov 2 ) * 2 ;
其中,Δw表示调整前的可视区域的宽度变化值,Δh表示调整前的可视区域的高度变化值,θfov包括人眼的最大可视角度,Δzu表示垂直距离变化值。
可选地,计算机设备1300可以为客户端,参见图31,计算机设备1300还可以包括:
第一请求单元1303,可以用于向服务器请求覆盖处理单元1302获取的调整后的可视区域的视频的区域对应的码流文件;
第一接收单元1304,可以用于接收第一请求单元1303请求的码流文件。
可选地,视频分为n个子区域,n为大于1的正整数,n个子区域中的相邻子区域包含重叠区域,且相邻子区域包含不重叠区域,覆盖调整后的可视区域的视频的区域可以为n个子区域中与调整后的可视区域包含重叠区域的待下载子区域。
可选地,第一请求单元1303可以具体用于:
根据从服务器获得的视频的媒体描述文件确定待下载子区域对应的码流文件的地址信息,媒体描述文件携带用于指示地址信息对应的视频的子区域的参数;
根据地址信息向服务器请求待下载子区域对应的码流文件。
可选地,计算机设备1300可以为客户端,处理单元1302还可以用于,根据前一次的可视区域和当前用于显示在客户端的调整后的可视区域预测下一次的可视区域;
参见图32,计算机设备1300还可以包括:
第二请求单元1305,可以用于向服务器请求覆盖处理单元1302预测的下一次的可视区域的视频的区域对应的码流文件;
第二接收单元1306,可以用于接收第二请求单元1305请求的码流文件。
可选地,计算机设备1300可以为客户端,视频由摄像设备摄像得到,摄像设备的摄像头可旋转,视频包括缓冲区域,调整前的可视区域在缓冲区域的区域范围内,缓冲区域在视频的区域范围内;
处理单元1302还可以用于,在调整后的可视区域存在缓冲区域之外的区域时,通知摄像设备向调整方向旋转摄像头,调整方向为调整前的可视区域到调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得调整后的可视区域在调整后的缓冲区域的区域范围内。
可选地,计算机设备1300可以为服务器,参见图33,该计算机设备1300还可以包括:
第一发送单元1307,可以用于向客户端发送覆盖处理单元1302获取的调整后的可视区域的视频的区域对应的码流文件。
可选地,视频分为n个子区域,n为大于1的正整数,n个子区域中的相邻子区域包含重叠区域,且相邻子区域包含不重叠区域,覆盖调整后的可视区域的视频的区域可以为n个子区域中与调整后的可视区域包含重叠区域的待下载子区域。
可选地,第一发送单元1307可以具体用于:
根据生成的视频的媒体描述文件确定待下载子区域对应的码流文件的地址信息,媒体描述文件携带用于指示地址信息对应的视频的子区域的参数;
根据地址信息向客户端发送待下载子区域对应的码流文件。
可选地,计算机设备1300可以为服务器,处理单元1302还可以用于,根据调整前的可视区域和调整后的可视区域预测下一次的可视区域;
参见图34,计算机设备1300还可以包括第二发送单元1308,用于向客户端发送覆盖处理单元1302预测的下一次的可视区域的视频的区域对应的码流文件。
可选地,计算机设备1300可以为服务器,视频由摄像设备摄像得到,摄像设备的摄像头可旋转,视频包括缓冲区域,调整前的可视区域在缓冲区域的区域范围内,缓冲区域在视频的区域范围内;
处理单元1302还可以用于,在调整后可视区域存在缓冲区域之外的区域时,通知摄像设备向调整方向旋转摄像头,调整方向为调整前的可视区域到调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得调整后的可视区域在调整后的缓冲区域的区域范围内。
可选地,覆盖处理单元1302获得的调整后的可视区域的视频的区域可以为调整后的可视区域。
可选地,覆盖处理单元1302预测的下一次的可视区域的视频的区域可以为下一次的可视区域。
可选地,媒体描述文件可以包括媒体描述文件VMPD,VMPD可以包括n个子区域的每个时间片段下的按照不同码率进行压缩编码得到的地址信息。
本发明实施例提供一种计算机设备1300,通过实时获取用户的体态信息,并根据用户体态信息对视频中用于显示在客户端的调整前的可视区域进行调整,从而获得当前用于显示在客户端的调整后的可视区域,使得用于显示在客户端的可视区域可以根据用户的视角信息和位置信息等用户的体态信息的实时变化进行相应变换,因而能够解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。
图35为本发明实施例提供的一种计算机设备1400的结构示意图,该计算机设备1400可以包括:总线1405;以及连接到总线的处理器1401,接收器1402,发送器1403和存储器1404。其中该存储器1404用于存储指令和数据,该处理器1401执行该指令用于获取用户的体态信息,体态信息包括用户的视角信息和用户的位置信息,根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
在本发明实施例中,可选地,用户的视角信息包括用户的面部朝向信息,用户的面部朝向信息包括用户的面部朝向绕冠状轴旋转的角度和用户的面部朝向绕垂直轴旋转的角度。
在本发明实施例中,可选地,用户的位置信息可以包括用户与客户端平面的垂直距离,该处理器1401执行该指令用于根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域可以包括:
根据用户的视角信息和垂直距离获取调整前的可视区域的区域大小变化值和区域位移中至少一个,区域大小变化值包括调整前的可视区域的宽度变化值和调整前的可视区域的高度变化值,区域位移包括调整前的可视区域的横向位移和调整前的可视区域的纵向位移;
根据区域大小变化值和区域位移中至少一个调整调整前的可视区域,从而获得调整后的可视区域。
在本发明实施例中,可选地,该处理器1401执行该指令用于根据区域大小变化值和区域位移中至少一个调整调整前的可视区域,从而获得调整后的可视区域可以包括:
在垂直距离大于或等于预设的距离阈值时,视频为叠加了虚拟视窗图片的动态画面,虚拟视窗图片包括透明区域,动态画面中被虚拟视窗图片的透明区域覆盖的范围可见,调整前的可视区域为虚拟视窗图片的调整前的区域与动态画面的调整前的区域的叠加,根据区域大小变化值和区域位移中至少一个调整虚拟视窗图片的调整前的区域,从而获得虚拟视窗图片的调整后的区域,将虚拟视窗图片的调整后的区域所呈现的图片在经过调整后完全覆盖在动态画面的调整前的区域上,构成调整后的可视区域;
在垂直距离小于预设的距离阈值时,根据区域位移调整调整前的可视区域,从而获得调整后的可视区域。
在本发明实施例中,可选地,该处理器1401执行该指令用于根据用户的视角信息和垂直距离获取调整前的可视区域的区域大小变化值的公式可以包括:
Δw = z u * ( tan ( θ fov 2 + θ u y ) + tan ( θ fov 2 - θ u y ) ) - 2 * z u * tan ( θ fov 2 ) ;
Δh = z u * ( tan ( θ fov 2 + θ u x ) + tan ( θ fov 2 - θ u x ) ) - 2 * z u * tan ( θ fov 2 ) ;
其中,Δw表示调整前的可视区域的宽度变化值,Δh表示调整前的可视区域的高度变化值,表示用户的面部朝向绕冠状轴旋转的角度,表示用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示垂直距离。
在本发明实施例中,可选地,该处理器1401执行该指令用于根据用户的视角信息和垂直距离获取调整前的可视区域的区域位移的公式可以包括:
x v = 1 2 * z u * ( tan ( θ fov 2 + θ u y ) - tan ( θ fov 2 - θ u y ) ) ;
y v = 1 2 * z u * ( tan ( θ fov 2 + θ u x ) - tan ( θ fov 2 - θ u x ) ) ;
其中,xv表示调整前的可视区域的横向位移,yv表示调整前的可视区域的纵向位移,表示用户的面部朝向绕冠状轴旋转的角度,表示用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示垂直距离。
在本发明实施例中,可选地,用户的位置信息包括用户与客户端平面的垂直距离变化值,该处理器1401执行该指令用于根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域可以包括:
根据垂直距离变化值获取调整前的可视区域的区域大小变化值,区域大小变化值包括调整前的可视区域的宽度变化值和调整前的可视区域的高度变化值;
根据区域大小变化值调整调整前的可视区域,从而获得调整后的可视区域。
在本发明实施例中,可选地,该处理器1401执行该指令用于根据垂直距离变化值获取调整前的可视区域的区域大小变化值的公式可以包括:
Δw = Δh = Δ z u * tan ( θ fov 2 ) * 2 ;
其中,Δw表示调整前的可视区域的宽度变化值,Δh表示调整前的可视区域的高度变化值,θfov包括人眼的最大可视角度,Δzu表示垂直距离变化值。
在本发明实施例中,可选地,计算机设备1400为客户端,该处理器1401执行该指令还可以用于在根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
向服务器请求覆盖调整后的可视区域的视频的区域对应的码流文件;
该接收器1402可以用于接收第一请求单元请求的码流文件。
在本发明实施例中,可选地,计算机设备1400为客户端,视频分为n个子区域,n为大于1的正整数,n个子区域中的相邻子区域包含重叠区域,且相邻子区域包含不重叠区域,覆盖调整后的可视区域的视频的区域为n个子区域中与调整后的可视区域包含重叠区域的待下载子区域。
在本发明实施例中,可选地,计算机设备1400为客户端,该处理器1401执行该指令用于向服务器请求覆盖调整后的可视区域的视频的区域对应的码流文件可以包括:
根据从服务器获得的视频的媒体描述文件确定待下载子区域对应的码流文件的地址信息,媒体描述文件携带用于指示地址信息对应的视频的子区域的参数;
根据地址信息向服务器请求待下载子区域对应的码流文件。
在本发明实施例中,可选地,计算机设备1400为客户端,计算机设备1400为客户端,该处理器1401执行该指令还可以用于在根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
根据调整前的可视区域和调整后的可视区域预测下一次的可视区域;
向服务器请求覆盖下一次的可视区域的视频的区域对应的码流文件;
获得码流文件。
在本发明实施例中,可选地,计算机设备1400为客户端,视频由摄像设备摄像得到,摄像设备的摄像头可旋转,视频包括缓冲区域,调整前的可视区域在缓冲区域的区域范围内,缓冲区域在视频的区域范围内;
该处理器1401执行该指令还可以用于在根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
在调整后的可视区域存在缓冲区域之外的区域时,通知摄像设备向调整方向旋转摄像头,调整方向为调整前的可视区域到调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得调整后的可视区域在调整后的缓冲区域的区域范围内。
在本发明实施例中,可选地,计算机设备1400为服务器,该发送器1403可以用于向客户端发送覆盖处理单元获取的调整后的可视区域的视频的区域对应的码流文件。
在本发明实施例中,可选地,计算机设备1400为服务器,视频分为n个子区域,n为大于1的正整数,n个子区域中的相邻子区域包含重叠区域,且相邻子区域包含不重叠区域,覆盖调整后的可视区域的视频的区域为n个子区域中与调整后的可视区域包含重叠区域的待下载子区域。
在本发明实施例中,可选地,计算机设备1400为服务器,该发送器1403用于向客户端发送调整后的可视区域的视频的区域对应的码流文件可以包括:
根据生成的视频的媒体描述文件确定待下载子区域对应的码流文件的地址信息,媒体描述文件携带用于指示地址信息对应的视频的子区域的参数;
根据地址信息向客户端发送待下载子区域对应的码流文件。
在本发明实施例中,可选地,计算机设备1400为服务器,该处理器1401还可以用于在根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
根据调整前的可视区域和调整后的可视区域预测下一次的可视区域;
该发送器1403可以用于向客户端发送覆盖下一次的可视区域的视频的区域对应的码流文件。
在本发明实施例中,可选地,计算机设备1400为服务器,视频由摄像设备摄像得到,摄像设备的摄像头可旋转,视频包括缓冲区域,调整前的可视区域在缓冲区域的区域范围内,缓冲区域在视频的区域范围内;
该处理器1401执行该指令还可以用于在根据体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
在调整后可视区域存在缓冲区域之外的区域时,通知摄像设备向调整方向旋转摄像头,调整方向为调整前的可视区域到调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得调整后的可视区域在调整后的缓冲区域的区域范围内。
在本发明实施例中,可选地,覆盖调整后的可视区域的视频的区域为调整后的可视区域。
在本发明实施例中,可选地,覆盖下一次的可视区域的视频的区域为下一次的可视区域。
在本发明实施例中,可选地,媒体描述文件包括媒体描述文件VMPD,VMPD包括n个子区域的每个时间片段下的按照不同码率进行压缩编码得到的地址信息。
本发明实施例提供一种计算机设备1400,通过实时获取用户的体态信息,并根据用户体态信息对视频中用于显示在客户端的调整前的可视区域进行调整,从而获得当前用于显示在客户端的调整后的可视区域,使得用于显示在客户端的可视区域可以根据用户的视角信息和位置信息等用户的体态信息的实时变化进行相应变换,因而能够解决现有技术中可视区域仅根据用户位置的平移变化进行简单变换导致用户浏览体验不真实的问题。
参见图36,本发明实施例提供一种系统1500,包括如图24至图29所示的计算机设备,该计算机设备包括客户端和服务器,还可以包括摄像设备,用于采集视频区域的画面数据。其中,客户端和服务器的具体实现方式可以参见上述实施例,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的设备和系统中,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。且上述的各单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (43)

1.一种交互式视频显示的方法,其特征在于,包括:
获取用户的体态信息,所述体态信息包括所述用户的视角信息和所述用户的位置信息;
根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
2.根据权利要求1所述的方法,其特征在于,所述用户的位置信息包括所述用户与所述客户端平面的垂直距离,所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域包括:
根据所述用户的视角信息和所述垂直距离获取所述调整前的可视区域的区域大小变化值和区域位移中至少一个,所述区域大小变化值包括所述调整前的可视区域的宽度变化值和所述调整前的可视区域的高度变化值,所述区域位移包括所述调整前的可视区域的横向位移和所述调整前的可视区域的纵向位移;
根据所述区域大小变化值和所述区域位移中至少一个调整所述调整前的可视区域,从而获得所述调整后的可视区域。
3.根据权利要求2所述的方法,其特征在于,所述根据所述区域大小变化值和所述区域位移中至少一个调整所述调整前的可视区域,从而获得所述调整后的可视区域包括:
在所述垂直距离大于或等于预设的距离阈值时,所述视频为叠加了虚拟视窗图片的动态画面,所述虚拟视窗图片包括透明区域,所述动态画面中被所述虚拟视窗图片的透明区域覆盖的范围可见,所述调整前的可视区域为所述虚拟视窗图片的调整前的区域与所述动态画面的调整前的区域的叠加,根据所述区域大小变化值和所述区域位移中至少一个调整所述虚拟视窗图片的调整前的区域,从而获得所述虚拟视窗图片的调整后的区域,将所述虚拟视窗图片的调整后的区域所呈现的图片在经过调整后完全覆盖在所述动态画面的调整前的区域上,构成所述调整后的可视区域;
在所述垂直距离小于所述预设的距离阈值时,根据所述区域位移调整所述调整前的可视区域,从而获得所述调整后的可视区域。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述用户的视角信息包括所述用户的面部朝向信息,所述用户的面部朝向信息包括所述用户的面部朝向绕冠状轴旋转的角度和所述用户的面部朝向绕垂直轴旋转的角度。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述调整前的可视区域的区域大小变化值通过以下公式获取:
Δw = z u * ( tan ( θ fov 2 + θ u y ) + tan ( θ fov 2 - θ u y ) ) - 2 * z u tan ( θ fov 2 ) ;
Δh = z u * ( tan ( θ fov 2 + θ u x ) + tan ( θ fov 2 - θ u x ) ) - 2 * z u tan ( θ fov 2 ) ;
其中,Δw表示所述调整前的可视区域的宽度变化值,Δh表示所述调整前的可视区域的高度变化值,表示所述用户的面部朝向绕冠状轴旋转的角度,表示所述用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示所述垂直距离。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述调整前的可视区域的区域位移通过以下公式获取:
x v = 1 2 * z u * ( tan ( θ fov 2 + θ u y ) - tan ( θ fov 2 - θ u y ) ) ;
y v = 1 2 * z u * ( tan ( θ fov 2 + θ u x ) - tan ( θ fov 2 - θ u x ) ) ;
其中,xv表示所述调整前的可视区域的横向位移,yv表示所述调整前的可视区域的纵向位移,表示所述用户的面部朝向绕冠状轴旋转的角度,表示所述用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示所述垂直距离。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述用户的位置信息包括所述用户与所述客户端平面的垂直距离变化值,所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域包括:
根据所述垂直距离变化值获取所述调整前的可视区域的区域大小变化值,所述区域大小变化值包括所述调整前的可视区域的宽度变化值和所述调整前的可视区域的高度变化值;
根据所述区域大小变化值调整所述调整前的可视区域,从而获得所述调整后的可视区域。
8.根据权利要求7所述的方法,其特征在于,所述根据所述垂直距离变化值获取所述调整前的可视区域的区域大小变化值的公式包括:
Δw = Δh = Δ z u * tan ( θ fov 2 ) * 2 ;
其中,Δw表示所述调整前的可视区域的宽度变化值,Δh表示所述调整前的可视区域的高度变化值,θfov包括人眼的最大可视角度,Δzu表示所述垂直距离变化值。
9.根据权利要求1至8任一项所述的方法,所述方法由客户端执行,其特征在于,在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
向服务器请求覆盖所述调整后的可视区域的所述视频的区域对应的码流文件;
获得所述码流文件。
10.根据权利要求9所述的方法,其特征在于,所述视频分为n个子区域,n为大于1的正整数,所述n个子区域中的相邻子区域包含重叠区域,且所述相邻子区域包含不重叠区域,所述覆盖所述调整后的可视区域的所述视频的区域为所述n个子区域中与所述调整后的可视区域包含重叠区域的待下载子区域。
11.根据权利要求10所述的方法,其特征在于,所述向服务器请求覆盖所述调整后的可视区域的所述视频的区域对应的码流文件包括:
根据从所述服务器获得的所述视频的媒体描述文件确定所述待下载子区域对应的码流文件的地址信息,所述媒体描述文件携带用于指示所述地址信息对应的所述视频的子区域的参数;
根据所述地址信息向所述服务器请求所述待下载子区域对应的码流文件。
12.根据权利要求1至8任一项所述的方法,所述方法由客户端执行,其特征在于,在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
根据所述调整前的可视区域和所述调整后的可视区域预测下一次的可视区域;
向服务器请求覆盖所述下一次的可视区域的所述视频的区域对应的码流文件;
获得所述码流文件。
13.根据权利要求1至12任一项所述的方法,所述方法由客户端执行,其特征在于,所述视频由摄像设备摄像得到,所述摄像设备的摄像头可旋转,所述视频包括缓冲区域,所述调整前的可视区域在所述缓冲区域的区域范围内,所述缓冲区域在所述视频的区域范围内;
在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
在所述调整后的可视区域存在所述缓冲区域之外的区域时,通知所述摄像设备向调整方向旋转摄像头,所述调整方向为所述调整前的可视区域到所述调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得所述调整后的可视区域在所述调整后的缓冲区域的区域范围内。
14.根据权利要求1至8任一项所述的方法,所述方法由服务器执行,其特征在于,在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
向所述客户端发送所述调整后的可视区域的所述视频的区域对应的码流文件。
15.根据权利要求14所述的方法,其特征在于,所述视频分为n个子区域,n为大于1的正整数,所述n个子区域中的相邻子区域包含重叠区域,且所述相邻子区域包含不重叠区域,所述覆盖所述调整后的可视区域的所述视频的区域为所述n个子区域中与所述调整后的可视区域包含重叠区域的待下载子区域。
16.根据权利要求15所述的方法,其特征在于,所述向所述客户端发送所述调整后的可视区域的所述视频的区域对应的码流文件包括:
根据生成的所述视频的媒体描述文件确定所述待下载子区域对应的码流文件的地址信息,所述媒体描述文件携带用于指示所述地址信息对应的所述视频的子区域的参数;
根据所述地址信息向所述客户端发送所述待下载子区域对应的码流文件。
17.根据权利要求1至8任一项所述的方法,所述方法由服务器执行,其特征在于,在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
根据所述调整前的可视区域和所述调整后的可视区域预测下一次的可视区域;
向所述客户端发送覆盖所述下一次的可视区域的所述视频的区域对应的码流文件。
18.根据权利要求1至8任一项所述的方法,所述方法由服务器执行,其特征在于,所述视频由摄像设备摄像得到,所述摄像设备的摄像头可旋转,所述视频包括缓冲区域,所述调整前的可视区域在所述缓冲区域的区域范围内,所述缓冲区域在所述视频的区域范围内;
在所述根据所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域之后还包括:
在所述调整后可视区域存在所述缓冲区域之外的区域时,通知所述摄像设备向调整方向旋转摄像头,所述调整方向为所述调整前的可视区域到所述调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得所述调整后的可视区域在所述调整后的缓冲区域的区域范围内。
19.根据权利要求9或14所述的方法,其特征在于,所述覆盖所述调整后的可视区域的所述视频的区域为所述调整后的可视区域。
20.根据权利要求12或17所述的方法,其特征在于,所述覆盖所述下一次的可视区域的所述视频的区域为所述下一次的可视区域。
21.根据权利要求11或16所述的方法,其特征在于,所述媒体描述文件包括媒体描述文件VMPD,所述VMPD包括所述n个子区域的每个时间片段下的按照不同码率进行压缩编码得到的地址信息。
22.一种计算机设备,其特征在于,包括:
获取单元,用于获取用户的体态信息,所述体态信息包括所述用户的视角信息和所述用户的位置信息;
处理单元,用于根据所述获取单元获取的所述体态信息调整视频中用于显示在客户端的调整前的可视区域,从而获得当前用于显示在客户端的调整后的可视区域。
23.根据权利要求22所述的计算机设备,其特征在于,所述用户的位置信息包括所述用户与所述客户端平面的垂直距离,所述处理单元具体用于:
根据所述用户的视角信息和所述垂直距离获取所述调整前的可视区域的区域大小变化值和区域位移中至少一个,所述区域大小变化值包括所述调整前的可视区域的宽度变化值和高度变化值,所述区域位移包括所述调整前的可视区域的横向位移和所述调整前的可视区域的纵向位移;
根据所述区域大小变化值和所述区域位移中至少一个调整所述调整前的可视区域,从而获得所述调整后的可视区域。
24.根据权利要求23所述的计算机设备,其特征在于,所述处理单元具体用于:
在所述垂直距离大于或等于预设的距离阈值时,所述视频为叠加了虚拟视窗图片的动态画面,所述虚拟视窗图片包括透明区域,所述动态画面中被所述虚拟视窗图片的透明区域覆盖的范围可见,所述调整前的可视区域为所述虚拟视窗图片的调整前的区域与所述动态画面的调整前的区域的叠加,根据所述区域大小变化值和所述区域位移中至少一个调整所述虚拟视窗图片的调整前的区域,从而获得所述虚拟视窗图片的调整后的区域,将所述虚拟视窗图片的调整后的区域所呈现的图片在经过调整后完全覆盖在所述动态画面的调整前的区域上,构成所述调整后的可视区域;
在所述垂直距离小于所述预设的距离阈值时,根据所述区域位移调整所述调整前的可视区域,从而获得所述调整后的可视区域。
25.根据权利要求22至24任一项所述的计算机设备,其特征在于,所述用户的视角信息包括所述用户的面部朝向信息,所述用户的面部朝向信息包括所述用户的面部朝向绕冠状轴旋转的角度和所述用户的面部朝向绕垂直轴旋转的角度。
26.根据权利要求23至25任一项所述的计算机设备,其特征在于,所述调整前的可视区域的区域大小变化值通过以下公式获取:
Δw = z u * ( tan ( θ fov 2 + θ u y ) + tan ( θ fov 2 - θ u y ) ) - 2 * z u tan ( θ fov 2 ) ;
Δh = z u * ( tan ( θ fov 2 + θ u x ) + tan ( θ fov 2 - θ u x ) ) - 2 * z u tan ( θ fov 2 ) ;
其中,Δw表示所述调整前的可视区域的宽度变化值,Δh表示所述调整前的可视区域的高度变化值,表示所述用户的面部朝向绕冠状轴旋转的角度,表示所述用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示所述垂直距离。
27.根据权利要求23至26任一项所述的计算机设备,其特征在于,所述调整前的可视区域的区域位移通过以下公式获取:
x v = 1 2 * z u * ( tan ( θ fov 2 + θ u y ) - tan ( θ fov 2 - θ u y ) ) ;
y v = 1 2 * z u * ( tan ( θ fov 2 + θ u x ) - tan ( θ fov 2 - θ u x ) ) ;
其中,xv表示所述调整前的可视区域的横向位移,yv表示所述调整前的可视区域的纵向位移,表示所述用户的面部朝向绕冠状轴旋转的角度,表示所述用户的面部朝向绕垂直轴旋转的角度,θfov包括人眼的最大可视角度,zu表示所述垂直距离。
28.根据权利要求22至27任一项所述的计算机设备,其特征在于,所述用户的位置信息包括所述用户与所述客户端平面的垂直距离变化值,所述处理单元具体用于:
根据所述垂直距离变化值获取所述调整前的可视区域的区域大小变化值,所述区域大小变化值包括所述调整前的可视区域的宽度变化值和所述调整前的可视区域的高度变化值;
根据所述区域大小变化值调整所述调整前的可视区域,从而获得所述调整后的可视区域。
29.根据权利要求28所述的计算机设备,其特征在于,所述根据所述垂直距离变化值获取所述调整前的可视区域的区域大小变化值的公式包括:
Δw = Δh = Δ z u * tan ( θ fov 2 ) * 2 ;
其中,Δw表示所述调整前的可视区域的宽度变化值,Δh表示所述调整前的可视区域的高度变化值,θfov包括人眼的最大可视角度,Δzu表示所述垂直距离变化值。
30.根据权利要求22至29任一项所述的计算机设备,所述计算机设备为客户端,其特征在于,还包括:
第一请求单元,用于向服务器请求覆盖所述处理单元获取的所述调整后的可视区域的所述视频的区域对应的码流文件;
第一接收单元,用于接收所述第一请求单元请求的所述码流文件。
31.根据权利要求30所述的计算机设备,其特征在于,所述视频分为n个子区域,n为大于1的正整数,所述n个子区域中的相邻子区域包含重叠区域,且所述相邻子区域包含不重叠区域,所述覆盖所述调整后的可视区域的所述视频的区域为所述n个子区域中与所述调整后的可视区域包含重叠区域的待下载子区域。
32.根据权利要求31所述的计算机设备,其特征在于,所述第一请求单元具体用于:
根据从所述服务器获得的所述视频的媒体描述文件确定所述待下载子区域对应的码流文件的地址信息,所述媒体描述文件携带用于指示所述地址信息对应的所述视频的子区域的参数;
根据所述地址信息向所述服务器请求所述待下载子区域对应的码流文件。
33.根据权利要求22至29所述的计算机设备,所述计算机设备为客户端,其特征在于,所述处理单元还用于,根据前一次的可视区域和所述当前用于显示在客户端的调整后的可视区域预测下一次的可视区域;
所述计算机设备还包括:
第二请求单元,用于向服务器请求覆盖所述处理单元预测的所述下一次的可视区域的所述视频的区域对应的码流文件;
第二接收单元,用于接收所述第二请求单元请求的所述码流文件。
34.根据权利要求22至33任一项所述的计算机设备,所述计算机设备为客户端,其特征在于,所述视频由摄像设备摄像得到,所述摄像设备的摄像头可旋转,所述视频包括缓冲区域,所述调整前的可视区域在所述缓冲区域的区域范围内,所述缓冲区域在所述视频的区域范围内;
所述处理单元还用于,在所述调整后的可视区域存在所述缓冲区域之外的区域时,通知所述摄像设备向调整方向旋转摄像头,所述调整方向为所述调整前的可视区域到所述调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得所述调整后的可视区域在所述调整后的缓冲区域的区域范围内。
35.根据权利要求22至29任一项所述的计算机设备,所述计算机设备为服务器,其特征在于,还包括:
第一发送单元,用于向所述客户端发送覆盖所述处理单元获取的所述调整后的可视区域的所述视频的区域对应的码流文件。
36.根据权利要求35所述的计算机设备,其特征在于,所述视频分为n个子区域,n为大于1的正整数,所述n个子区域中的相邻子区域包含重叠区域,且所述相邻子区域包含不重叠区域,所述覆盖所述调整后的可视区域的所述视频的区域为所述n个子区域中与所述调整后的可视区域包含重叠区域的待下载子区域。
37.根据权利要求36所述的计算机设备,其特征在于,所述第一发送单元具体用于:
根据生成的所述视频的媒体描述文件确定所述待下载子区域对应的码流文件的地址信息,所述媒体描述文件携带用于指示所述地址信息对应的所述视频的子区域的参数;
根据所述地址信息向所述客户端发送所述待下载子区域对应的码流文件。
38.根据权利要求22至29任一项所述的计算机设备,所述计算机设备为服务器,其特征在于,所述处理单元还用于,根据所述调整前的可视区域和所述调整后的可视区域预测下一次的可视区域;
所述计算机设备还包括第二发送单元,用于向所述客户端发送覆盖所述处理单元预测的所述下一次的可视区域的所述视频的区域对应的码流文件。
39.根据权利要求22至29任一项所述的计算机设备,所述计算机设备为服务器,其特征在于,所述视频由摄像设备摄像得到,所述摄像设备的摄像头可旋转,所述视频包括缓冲区域,所述调整前的可视区域在所述缓冲区域的区域范围内,所述缓冲区域在所述视频的区域范围内;
所述处理单元还用于,在所述调整后可视区域存在所述缓冲区域之外的区域时,通知所述摄像设备向调整方向旋转摄像头,所述调整方向为所述调整前的可视区域到所述调整后的可视区域的方向,并且重新定义调整后的缓冲区域使得所述调整后的可视区域在所述调整后的缓冲区域的区域范围内。
40.根据权利要求30或35所述的计算机设备,其特征在于,所述覆盖所述处理单元获得的所述调整后的可视区域的所述视频的区域为所述调整后的可视区域。
41.根据权利要求33或38所述的计算机设备,其特征在于,覆盖所述处理单元预测的所述下一次的可视区域的所述视频的区域为所述下一次的可视区域。
42.根据权利要求32或37所述的计算机设备,其特征在于,所述媒体描述文件包括媒体描述文件VMPD,所述VMPD包括所述n个子区域的每个时间片段下的按照不同码率进行压缩编码得到的地址信息。
43.一种交互式视频显示的系统,其特征在于,包括如权利要求22至42任一项所述的计算机设备。
CN201510096217.1A 2015-03-04 2015-03-04 一种交互式视频显示的方法、设备及系统 Active CN105988578B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510096217.1A CN105988578B (zh) 2015-03-04 2015-03-04 一种交互式视频显示的方法、设备及系统
EP16158155.8A EP3065049A3 (en) 2015-03-04 2016-03-02 Interactive video display method, device, and system
US15/060,976 US9965026B2 (en) 2015-03-04 2016-03-04 Interactive video display method, device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510096217.1A CN105988578B (zh) 2015-03-04 2015-03-04 一种交互式视频显示的方法、设备及系统

Publications (2)

Publication Number Publication Date
CN105988578A true CN105988578A (zh) 2016-10-05
CN105988578B CN105988578B (zh) 2019-06-21

Family

ID=55589649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510096217.1A Active CN105988578B (zh) 2015-03-04 2015-03-04 一种交互式视频显示的方法、设备及系统

Country Status (3)

Country Link
US (1) US9965026B2 (zh)
EP (1) EP3065049A3 (zh)
CN (1) CN105988578B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534882A (zh) * 2016-12-29 2017-03-22 北京爱奇艺科技有限公司 虚拟现实全景视频的编解码方法及装置
CN106775518A (zh) * 2016-11-24 2017-05-31 Tcl数码科技(深圳)有限责任公司 一种拼接屏根据观看者距离改变影像尺寸的方法及系统
CN107132920A (zh) * 2017-05-03 2017-09-05 三星电子(中国)研发中心 一种屏幕内容视图角度调整方法和装置
CN107193372A (zh) * 2017-05-15 2017-09-22 杭州隅千象科技有限公司 从多个任意位置矩形平面到可变投影中心的投影方法
WO2018108104A1 (zh) * 2016-12-13 2018-06-21 中兴通讯股份有限公司 一种全景视频传输方法、装置、终端、服务器及系统
CN110798609A (zh) * 2018-08-02 2020-02-14 光宝电子(广州)有限公司 影像显示方法、影像显示系统以及虚拟窗户
CN110944222A (zh) * 2018-09-21 2020-03-31 上海交通大学 沉浸媒体内容随用户移动变化的方法及系统
CN111526407A (zh) * 2020-04-03 2020-08-11 华为技术有限公司 屏幕内容的显示方法及装置
CN112218158A (zh) * 2019-07-12 2021-01-12 华为技术有限公司 一种视频处理的方法及设备
CN113241005A (zh) * 2020-07-06 2021-08-10 友达光电股份有限公司 人造窗
WO2021218473A1 (zh) * 2020-04-27 2021-11-04 海信视像科技股份有限公司 一种显示方法及显示设备
CN113825001A (zh) * 2020-06-18 2021-12-21 海信视像科技股份有限公司 全景图片浏览方法及显示设备
US11586255B2 (en) 2019-11-19 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Method and apparatus for adjusting view for target device, electronic device and medium

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585484B2 (en) 2013-12-30 2020-03-10 Samsung Electronics Co., Ltd. Apparatus, system, and method for transferring data from a terminal to an electromyography (EMG) device
US10600245B1 (en) * 2014-05-28 2020-03-24 Lucasfilm Entertainment Company Ltd. Navigating a virtual environment of a media content item
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
WO2018020661A1 (ja) * 2016-07-29 2018-02-01 三菱電機株式会社 表示装置、表示制御装置および表示制御方法
US11058961B2 (en) * 2017-03-09 2021-07-13 Kaleb Matson Immersive device
US10625170B2 (en) * 2017-03-09 2020-04-21 Lumena Inc. Immersive device
CN108933723B (zh) * 2017-05-19 2020-11-06 腾讯科技(深圳)有限公司 消息展示方法、装置及终端
CN108989833B (zh) * 2017-06-02 2021-02-09 视联动力信息技术股份有限公司 一种视频封面图像的生成方法及装置
CN115499686B (zh) 2017-12-15 2024-03-08 Pcms控股公司 用于在360°视频导航中使用查看路径的方法
US10523606B2 (en) * 2018-01-02 2019-12-31 Snap Inc. Generating interactive messages with asynchronous media content
US10567321B2 (en) 2018-01-02 2020-02-18 Snap Inc. Generating interactive messages with asynchronous media content
US11063889B2 (en) 2018-06-08 2021-07-13 Snap Inc. Generating interactive messages with entity assets
JP7317024B2 (ja) * 2018-08-23 2023-07-28 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
US11032508B2 (en) * 2018-09-04 2021-06-08 Samsung Electronics Co., Ltd. Display apparatus and method for controlling audio and visual reproduction based on user's position
CN111131726B (zh) * 2018-10-11 2022-06-03 上海云绅智能科技有限公司 一种基于多屏融合成像的视频播放方法、智能设备及系统
US11012390B1 (en) 2019-03-28 2021-05-18 Snap Inc. Media content response in a messaging system
CN111429519B (zh) * 2020-03-27 2021-07-16 贝壳找房(北京)科技有限公司 三维场景显示方法、装置、可读存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090051542A1 (en) * 2007-08-24 2009-02-26 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Individualizing a content presentation
CN101916156A (zh) * 2010-06-17 2010-12-15 宇龙计算机通信科技(深圳)有限公司 一种移动终端信息显示调整方法、移动终端及系统
CN104137050A (zh) * 2012-02-22 2014-11-05 西里克斯系统公司 具有分级更新的远程显示

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903816A (en) 1996-07-01 1999-05-11 Thomson Consumer Electronics, Inc. Interactive television system and method for displaying web-like stills with hyperlinks
GB2371707B (en) 2001-01-30 2004-06-30 Media Logic Systems Ltd Improved interactive system for enabling TV shopping
US20120010533A1 (en) * 2005-10-17 2012-01-12 Arnett G William Method for determining the correct natural head position location of references planes relative to a three-dimensional computerized image of a patient's head
US9041734B2 (en) 2011-07-12 2015-05-26 Amazon Technologies, Inc. Simulating three-dimensional features
WO2013162564A1 (en) * 2012-04-26 2013-10-31 Hewlett-Packard Development Company, L.P. Altering attributes of content that is provided in a portion of a display area based on detected inputs
US8970455B2 (en) * 2012-06-28 2015-03-03 Google Technology Holdings LLC Systems and methods for processing content displayed on a flexible display

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090051542A1 (en) * 2007-08-24 2009-02-26 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Individualizing a content presentation
CN101916156A (zh) * 2010-06-17 2010-12-15 宇龙计算机通信科技(深圳)有限公司 一种移动终端信息显示调整方法、移动终端及系统
CN104137050A (zh) * 2012-02-22 2014-11-05 西里克斯系统公司 具有分级更新的远程显示

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775518A (zh) * 2016-11-24 2017-05-31 Tcl数码科技(深圳)有限责任公司 一种拼接屏根据观看者距离改变影像尺寸的方法及系统
CN106775518B (zh) * 2016-11-24 2020-07-17 深圳市华胜软件技术有限公司 一种拼接屏根据观看者距离改变影像尺寸的方法及系统
WO2018108104A1 (zh) * 2016-12-13 2018-06-21 中兴通讯股份有限公司 一种全景视频传输方法、装置、终端、服务器及系统
CN106534882A (zh) * 2016-12-29 2017-03-22 北京爱奇艺科技有限公司 虚拟现实全景视频的编解码方法及装置
CN106534882B (zh) * 2016-12-29 2019-06-14 北京爱奇艺科技有限公司 虚拟现实全景视频的编解码方法及装置
CN107132920A (zh) * 2017-05-03 2017-09-05 三星电子(中国)研发中心 一种屏幕内容视图角度调整方法和装置
CN107193372B (zh) * 2017-05-15 2020-06-19 杭州一隅千象科技有限公司 从多个任意位置矩形平面到可变投影中心的投影方法
CN107193372A (zh) * 2017-05-15 2017-09-22 杭州隅千象科技有限公司 从多个任意位置矩形平面到可变投影中心的投影方法
CN110798609A (zh) * 2018-08-02 2020-02-14 光宝电子(广州)有限公司 影像显示方法、影像显示系统以及虚拟窗户
CN110944222A (zh) * 2018-09-21 2020-03-31 上海交通大学 沉浸媒体内容随用户移动变化的方法及系统
CN110944222B (zh) * 2018-09-21 2021-02-12 上海交通大学 沉浸媒体内容随用户移动变化的方法及系统
CN112218158A (zh) * 2019-07-12 2021-01-12 华为技术有限公司 一种视频处理的方法及设备
CN112218158B (zh) * 2019-07-12 2021-12-28 华为技术有限公司 一种视频处理的方法及设备
US11586255B2 (en) 2019-11-19 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Method and apparatus for adjusting view for target device, electronic device and medium
CN111526407A (zh) * 2020-04-03 2020-08-11 华为技术有限公司 屏幕内容的显示方法及装置
WO2021218473A1 (zh) * 2020-04-27 2021-11-04 海信视像科技股份有限公司 一种显示方法及显示设备
CN113825001A (zh) * 2020-06-18 2021-12-21 海信视像科技股份有限公司 全景图片浏览方法及显示设备
CN113825001B (zh) * 2020-06-18 2022-11-29 海信视像科技股份有限公司 全景图片浏览方法及显示设备
CN113241005A (zh) * 2020-07-06 2021-08-10 友达光电股份有限公司 人造窗

Also Published As

Publication number Publication date
CN105988578B (zh) 2019-06-21
EP3065049A2 (en) 2016-09-07
US20160259403A1 (en) 2016-09-08
EP3065049A3 (en) 2016-11-16
US9965026B2 (en) 2018-05-08

Similar Documents

Publication Publication Date Title
CN105988578A (zh) 一种交互式视频显示的方法、设备及系统
CN106797460B (zh) 三维视频的重建
CN106973228B (zh) 一种拍摄方法及电子设备
CN105163158A (zh) 一种图像处理方法和装置
CN108227916A (zh) 用于确定沉浸式内容中的兴趣点的方法和设备
CN105933726A (zh) 虚拟现实终端及其视频分辨率的适应方法及装置
CN107852487A (zh) 用于生成360度三维图像的电子设备及用于该电子设备的方法
CN105678693A (zh) 全景视频浏览播放方法
US11294535B2 (en) Virtual reality VR interface generation method and apparatus
CN104881263B (zh) 一种显示控制方法及显示设备
CN109743626A (zh) 一种图像显示方法、图像处理方法和相关设备
CN106775528A (zh) 一种虚拟现实的旅游系统
CN110419224A (zh) 用于封装和流传输虚拟现实媒体内容的方法和装置
CN107065197B (zh) 面向vr眼镜的人眼跟踪远程渲染实时显示方法及系统
CN106453913A (zh) 预览全景内容的方法及装置
CN105959675A (zh) 一种视频数据的处理方法和装置
CN104661012A (zh) 个人全息三维显示方法及设备
CN107005689B (zh) 数字视频渲染
CN105939497A (zh) 媒体串流系统及媒体串流方法
WO2019210139A1 (en) Method and apparatus for creating and displaying visual media on a device
US9161020B2 (en) 3D video shooting control system, 3D video shooting control method and program
CN108153417A (zh) 画面补偿方法及采用该方法的头戴式显示装置
WO2022042111A1 (zh) 视频图像显示方法、装置、多媒体设备以及存储介质
CN106131421A (zh) 一种视频图像的调整方法和电子设备
CN110446116A (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