CN110089117A - 处理和格式化视频用于交互式呈现 - Google Patents

处理和格式化视频用于交互式呈现 Download PDF

Info

Publication number
CN110089117A
CN110089117A CN201780052373.5A CN201780052373A CN110089117A CN 110089117 A CN110089117 A CN 110089117A CN 201780052373 A CN201780052373 A CN 201780052373A CN 110089117 A CN110089117 A CN 110089117A
Authority
CN
China
Prior art keywords
frame
video
video source
region
user
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
CN201780052373.5A
Other languages
English (en)
Other versions
CN110089117B (zh
Inventor
李佳
N·利特克
J·J·(J)·帕尔德斯
R·谢斯
D·塞托
徐宁
杨建朝
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.)
Snapple Co
Original Assignee
Snapple Co
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
Priority claimed from US15/201,049 external-priority patent/US10623662B2/en
Priority claimed from US15/201,079 external-priority patent/US10622023B2/en
Application filed by Snapple Co filed Critical Snapple Co
Priority to CN202110311822.1A priority Critical patent/CN113079390B/zh
Publication of CN110089117A publication Critical patent/CN110089117A/zh
Application granted granted Critical
Publication of CN110089117B publication Critical patent/CN110089117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • H04N21/234372Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution for performing aspect ratio conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • H04N21/440272Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA for performing aspect ratio conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/22Cropping

Abstract

描述了用于在计算装置处接收包括多个帧的视频以及由计算装置确定应对视频执行垂直裁剪的系统和方法。对于多个帧中的每个帧,计算装置通过分析帧确定帧中的关注区域来处理视频,其中帧是第一帧,基于帧中的关注区域裁剪第一帧以产生用于视频的垂直裁剪的帧,确定紧接在第一帧之前的第二帧,以及平滑从第二帧到垂直裁剪的帧的轨迹。向用户显示垂直裁剪的帧替代第一帧。

Description

处理和格式化视频用于交互式呈现
优先权要求
本申请要求于2016年7月1日提交的美国专利申请序列号15/201,049的优先权;本申请还要求于2016年7月1日提交的美国专利申请序列号15/201,079的优先权,其中每一个申请的优先权的权益均在此要求保护,并且每一个申请通过引用整体并入在此。
技术领域
本公开一般涉及用于对视频进行处理和格式化以便交互式呈现的机制。
背景技术
面对面通信并不总是可行的。因此,在诸如移动装置或个人计算机的计算装置上经由视频进行的各种形式的通信正变得越来越普遍。对于确保更加无缝的体验,在移动装置上通信和共享视频具有各种技术挑战。例如,当装置垂直取向时,在移动装置上共享和查看横向视频可能导致在屏幕的顶部和底部出现大的黑色条,并且特别在具有较小屏幕大小的装置上视频可能更难被查看。此外,缺乏呈现视频内容的交互方式。
附图说明
附图中的各个附图仅示出了本公开的示例实施例,并且不应被视为限制其范围。
图1是示出根据一些示例实施例的用于处理和格式化视频用于交互式呈现的联网系统的框图。
图2是示出根据一些示例实施例的用于处理和格式化视频用于交互式呈现的方法的方面的流程图。
图3A-3D示出根据一些示例实施例的示例显示。
图4是示出根据一些示例实施例的用于检测装置取向以及提供相关联的视频源的方法的方面的流程图。
图5-6示出根据一些示例实施例的示例显示。
图7是示出根据一些示例实施例的用于检测用户输入以及提供相关联的视频源的方法的方面的流程图。
图8是示出根据一些示例实施例的可以安装在机器上的软件架构的示例的框图。
图9示出根据示例实施例的计算机系统形式的机器的图形表示,在该计算机系统内可以执行一组指令以使机器执行在此所讨论的任何一种或多种方法。
具体实施方式
在此描述的系统和方法涉及对视频进行处理和格式化以用于交互式呈现。如上所述,对于确保更加无缝的视频通信体验存在各种技术挑战。例如,当装置垂直取向时,在移动装置上共享和查看横向视频可能会导致屏幕顶部和底部出现大的黑色条,并且特别是在具有较小屏幕大小的装置上视频可能更难以查看。此外,缺乏呈现视频内容的交互方式。
在此描述的实施例提供用于处理和格式化视频以用于视频的交互式呈现的技术。在此描述的系统可以接收包括媒体内容(例如,照片、视频、音频、文本等)的内容消息。内容消息可以由用户经由计算装置(例如,移动装置、个人计算机等)或第三方服务器发送。用户可以利用计算装置上的应用来产生内容消息和/或接收内容消息。服务器系统可以接收数万个内容消息(如果不是更多),其可以包含可以由服务器系统处理的视频、多媒体或其它内容,以提供呈现内容的交互方式。
例如,在一个实施例中,计算装置(例如,服务器计算机、客户端装置等)接收包括多个帧的视频,以及确定视频应被处理和格式化以用于交互式呈现。例如,计算装置可以确定应该执行垂直裁剪。计算装置可以分析多个帧中的每个帧以确定每个帧中的关注区域,以及基于每个帧中的关注区域对每个帧进行裁剪。计算装置可以对前一帧和当前帧之间的轨迹进行平滑。
在另一个示例实施例中,计算装置可以接收多个视频源。计算装置可以分析视频源以确定与每个视频源相关联的装置取向,将装置取向与每个视频源相关联,以及存储视频源和相关联的取向。计算装置可以检测装置取向,确定与装置取向相关联的视频源,以及提供与装置取向相关联的视频源。
在另一个示例实施例中,计算装置可以接收多个视频源。计算装置可以分析视频源以确定与每个视频源相关联的区域或对象,将区域或对象与每个视频源相关联,以及存储视频源和相关联的区域或对象。计算装置可以检测指示区域或对象的选择的用户输入,确定与区域或对象相关联的视频源,以及提供与区域或对象相关联的视频源。
图1是示出根据一些示例实施例的联网系统100的框图,联网系统100被配置为处理和格式化视频用于交互式呈现。系统100可以包括一个或多个客户端装置,诸如客户端装置110。客户端装置110可以包括但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、多处理器系统、基于微处理器或可编程的消费电子产品、游戏机、机顶盒、车辆中的计算机,或用户可用于访问联网系统100的任何其它通信装置。在一些实施例中,客户端装置110可以包括显示信息(例如,以用户界面的形式)的显示模块(未示出)。在进一步的实施例中,客户端装置110可以包括触摸屏、加速度计、陀螺仪、相机、麦克风、全球定位系统(GPS)装置等中的一个或多个。
客户端装置110可以是用户的装置,其用于发送和接收内容消息(例如,包括照片、视频、音频、文本等),搜索和显示内容消息,查看和参与包括来自内容消息的媒体内容的媒体集等。在一个实施例中,系统100是媒体内容处理和优化系统,以处理和格式化媒体内容用于交互式呈现。
一个或多个用户106可以是人、机器或与客户端装置110交互的其它部件。在示例实施例中,用户106可以不是系统100的一部分,但是可以经由客户端装置110或其它部件与系统100交互。例如,用户106可以向客户端装置110提供输入(例如,触摸屏输入或字母数字输入),并且输入可以经由网络104被通信到系统100中的其它实体(例如,第三方服务器130、服务器系统102等)。在该情况下,响应于从用户106接收输入,系统100中的其它实体可以经由网络104将信息通信到客户端装置110以呈现给用户106。以该方式,用户106可以使用客户端装置110与系统100中的各种实体交互。
系统100可以进一步包括网络104。网络104中的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网络、无线网络、WiFi网络、WiMax网络、另一种类型的网络,或两个以上此类网络的组合。
客户端装置110可以经由web客户端112(例如,浏览器,诸如由华盛顿州雷蒙德市的公司开发的Internet浏览器)或一个或多个客户端应用114访问由系统100中的其它实体提供的各种数据和应用。客户端装置110可以包括一个或多个应用114(也称为“app”),诸如但不限于web浏览器,消息传递应用、电子邮件(email)应用、电子商务站点应用、映射或位置应用、内容生成和编辑应用等。在一些实施例中,一个或多个应用114可以被包括在客户端装置110的给定一个客户端装置中,并且被配置为在本地提供用户界面和至少一些功能,其中应用114被配置为根据需要与系统100中的其它实体(例如,第三方服务器130、服务器系统102等)通信,以实现在本地不可用的数据和/或处理能力(例如,访问内容消息、处理媒体内容、路由内容消息、认证用户106、验证支付方法等)。相反,一个或多个应用114可以不被包括在客户端装置110中,并且然后客户端装置110可以使用其web浏览器来访问系统100中的其它实体(例如,第三方服务器130、服务器系统102等)上管理的一个或多个应用。
服务器系统102可以经由网络104(例如,互联网或广域网(WAN))向一个或多个第三方服务器130和/或一个或多个客户端装置110提供服务器端功能。服务器系统102可以包括内容处理服务器120,内容处理服务器120可以与一个或多个数据库126通信地耦接。数据库126可以是存储诸如内容消息、被处理的内容消息等信息的存储装置。
作为示例,内容处理服务器120可以提供执行用于交互式呈现的视频处理和格式化的功能。内容处理服务器120可以访问一个或多个数据库126以取得存储的数据以用于处理和格式化视频,以及存储被处理和格式化的视频。服务器系统102可以从多个用户106接收包括媒体内容的内容消息,并且可以处理内容消息以及向多个用户106发送内容消息,将内容消息添加到一个或多个媒体集以供一个或多个用户106查看,或以其它方式使内容消息或来自内容消息的媒体内容对于一个或多个用户106可用。
系统100可以进一步包括一个或多个第三方服务器130。一个或多个第三方服务器130可以包括一个或多个第三方应用132。在第三方服务器130上执行的一个或多个第三方应用132可以经由内容处理服务器120与服务器系统102交互。例如,一个或多个第三方应用132可以经由内容处理服务器120请求和利用来自服务器系统102的信息,以支持由第三方管理的网站或由第三方管理的应用上的一个或多个特征或功能。例如,第三方网站或应用132可以生成或提供由系统102的服务器中的相关功能和数据支持的视频、多媒体和其它内容(例如,专业视频、广告等)。由第三方服务器130生成或提供的视频、多媒体和其它内容可以由服务器系统102处理(例如,经由内容处理服务器120),并且经处理的内容可以由一个或多个用户106查看(例如,经由客户端应用114、第三方应用132或其它部件)。
图2是示出根据一些示例实施例的用于处理和格式化视频用于交互式呈现的方法200的各方面的流程图。出于说明性目的,方法200关于图1的联网系统100来描述。可以理解,在其它实施例中,可以采用其它系统配置来实现方法200。
如上所述,服务器系统102可以通过将内容消息路由到特定的一个用户或多个用户,通过将内容消息或来自内容消息的媒体内容包括在由一个或多个用户106可访问的媒体集中等等,来接收要处理并可用于一个或多个用户106的多个内容消息。每个内容消息可以包括媒体内容(例如,照片、视频、音频、文本等),并且可以由服务器系统102处理(例如,视频处理、添加媒体覆盖等)。
在一个实施例中,服务器系统102可以从多个用户106或从多个第三方服务器130接收包括媒体内容的多个内容消息,诸如视频。服务器系统102可以经由内容处理服务器120处理每个内容消息。例如,如操作202中所示,内容处理服务器120可以接收包括多个帧的视频。视频源可以是垂直的或纵向的(例如,其高度大于其宽度),或水平的或横向的(例如,其宽度大于其高度)。
内容处理服务器120可以确定应针对视频执行处理。在操作204中,内容处理服务器120确定应该执行垂直裁剪。内容处理服务器120可以基于从用户106、第三方服务器130接收的指示或者仅仅基于接收视频来确定应该执行处理或者应该执行垂直裁剪。例如,用户106可以与诸如客户端装置110的计算装置的显示器交互,以指示应该执行垂直裁剪(例如,通过将计算装置转到垂直取向,选择菜单项,指示关注区域等)。用户交互的一些示例包括将装置转为纵向或横向模式;倾斜装置;以及轻敲、拖动/滑动,或者在屏幕上按压。
转动装置的用户交互的示例在图3A中示出。第一显示302指示装置的第一取向,并且第二显示304指示装置的第二取向。例如,以横向取向观看视频的用户可以正在观看第一显示302,并且当用户将装置转向纵向取向时,结果可以是第二显示304。图3C中示出了具有处于横向取向的第一显示312和处于纵向取向的第二显示316的另一示例。图3D中示出具有处于横向取向的第一显示318和包括具有第一部分320和第二部分322的分屏的第二显示的另一示例。下面进一步详细描述这些示例。
在另一示例中,内容消息或视频可以在用于视频处理的请求下由第三方服务器130发送。在另一示例中,内容处理服务器120可以基于视频本身的特性(例如,视频以横向图生成并且可以在装置上以垂直视图查看),或者简单地基于已经接收到视频的事实确定应该执行垂直处理。
返回图2,对于多个帧中的每个帧,内容处理服务器120处理视频。例如,在操作206处,内容处理服务器120分析每个帧以确定每个帧中的关注区域。
在一个示例中,分析帧(例如,第一帧)以确定关注区域可以包括分析第一帧以确定紧接在第一帧之前的第二帧没有场景改变,并且基于第二帧中的关注区域确定第一帧中的关注区域。例如,如果没有场景改变,则内容处理服务器120可以使用来自第二帧的关注区域作为第一帧的关注区域。
可以通过比较第一帧和第二帧确定场景改变或镜头边界检测,以基于匹配颜色直方图或方向直方图来分类第一帧是否包含镜头边界。颜色直方图表示图像中红色、绿色和蓝色的分布及其强度,而方向直方图表示该图像内的图像梯度方向的分布。两帧之间的颜色直方图的距离和方向直方图的距离可用于检测两帧之间是否存在场景改变。在一个示例中,两个距离的加权求和可以用于将总和与预定阈值进行比较以确定是否存在场景改变。另一个示例是基于具有和不具有场景改变的相邻帧的示例来训练分类器。检测场景改变的其它方法可以包括使用运动估计等直接比较像素强度统计。
可以使用视觉跟踪方法(例如,压缩跟踪器等)来确定基于第二帧中的关注区域的第一帧中的关注区域,以自动地从第二帧跟踪关注区域到第一帧和未来的帧中。视觉跟踪方法的一个示例可以是基于图像的跟踪。例如,具有在目标周围的各个采样点处(例如,在关注区域内)采样的颜色值的集合的目标模板可以用于跟踪目标。当目标在视频的后续帧中移动时,可以基于模板样本来计算变化,以通过确定与目标模板的值最接近匹配的匹配模式来识别目标。跟踪还可以基于运动估计、光流、粒子滤波器、深度学习方法等来执行。内容处理服务器120可以基于视觉(或其它形式)跟踪的结果来设置关注区域。
在另一示例中,分析第一帧以确定第一帧中的关注区域可以包括分析第一帧以及确定存在从第二帧到第一帧的场景改变(如上所述关于确定场景改变)。在确定场景改变后,内容处理服务器120可以执行第一帧的显著性分析以确定关注区域。例如,内容处理服务器120可以生成第一帧的显著图,其指示帧的位置(x,y)处的每个像素的重要性。内容处理服务器120可以分析显著图以确定预定大小的最显著窗口(例如,包含最高显著性值)。预定大小的窗口可以由输出装置的屏幕大小确定。例如,内容处理服务器120可以确定输出装置(例如,客户端装置110,诸如移动装置)和对应的屏幕大小。内容处理服务器120可以基于输出装置屏幕的宽高比来确定最显著的窗口。内容处理服务器120可以在水平轴上投影显著图(例如,将二维显著图分解为水平维度上的一维显著图),使得搜索具有最显著内容的预定大小窗口可以变成搜索预定大小片段的更简单问题。在一个示例中,预定大小可以是对于帧/视频的垂直切割具有同一高度但是较小宽度的固定大小。可以使用任何显著性分析算法,诸如spectral_residual方法、ObjectnessBING等。
在另一示例中,分析第一帧以确定第一帧中的关注区域可以包括检测用户与帧的交互以及基于交互设置关注区域(例如,交互的位置等)。用户交互可以包括触摸输入,经由输入装置(例如,鼠标、触摸板等)的输入等。用户交互可以由内容处理服务器120通过从与用户106相关联的客户端装置110接收指示已经发生用户交互的指示来检测。例如,客户端装置110可以检测用户交互并向内容处理服务器120发送用户交互的指示。
在一个示例中,使用客户端装置110的用户106可以通过触摸屏幕(例如,按压或轻敲)在视频中的特定对象上或者通过使用输入装置指向视频中的特定对象来与客户端装置110交互以来指示关注区域。图3B示出第一显示306和用户106已经触摸装置上的显示器或屏幕的位置的指示310。第二显示308示出基于用户交互的结果显示。在该示例中,通过检测用户触摸(例如,按压)屏幕的位置或者最后触摸(例如,轻敲)的位置来扩大(例如,放大)关注区域。这是使用离散信号(例如,屏幕上的位置)来选择关注区域的示例。在另一示例中,第一显示306可处于横向取向,并且由用户交互310指示的关注区域可以确定用于裁剪垂直视频以产生处于垂直取向的第二显示(例如,放大或不放大)的关注区域。
在另一示例中,使用客户端装置110的用户106可以与客户端装置110交互以通过触摸和绘制关注区域(在关注的对象或区域周围绘制圆形、正方形、矩形或其它形状),通过使用输入装置绘制关注区域等,来指示关注区域。在一个示例中,用户可以点击并按住鼠标,并且视频将暂停,允许用户绘制关注区域。在另一示例中,用户可以在计算装置的显示器(例如,客户端装置110)上触摸关注区域,在关注区域中轻扫等等。图3C示出第一显示312和用户106已经触摸装置上的显示器或屏幕的位置的指示314。第二显示316示出基于用户交互的结果显示。在该示例中,客户端装置110(例如,经由应用114)可以感测装置的倾斜角度的变化,并且用户可以通过在屏幕上滑动或在关注区域周围绘制形状来移动关注区域。这是使用连续信号(例如,装置的取向或倾斜角度,或滑动运动等)来选择关注区域的示例。
图3D示出允许用户选择关注区域的使用装置取向和分屏的组合的示例。例如,第一显示318可以处于横向取向。第二显示可以包括具有第一部分320和第二部分322的分屏。第一部分320可以显示关注区域。第二部分322可以显示完整视频(例如,横向取向内容的缩小版本)。用户可以通过用户交互324(例如,按压显示器,使用输入装置来选择关注区域等)选择或改变关注区域。
返回图2,在操作208中,内容处理服务器120基于每个帧中的关注区域裁剪每个帧。例如,内容处理服务器120基于帧中的关注区域裁剪第一帧,以产生用于视频的垂直裁剪的帧。
在操作210中,内容处理服务器120确定紧接在每个帧之前的帧。例如,内容处理服务器120确定紧接在第一帧之前的第二帧。如操作212中所示,内容处理服务器120从第二帧到垂直裁剪的帧的轨迹进行平滑。以该方式,输出将是平滑改变的垂直视频裁剪,使得在没有抖动的情况下播放。对于实时裁剪,可以使用针对裁剪位置的递归过滤。
可以向用户显示垂直裁剪的帧(例如,代替第一帧)。内容处理服务器120可以存储用于视频的垂直裁剪的帧。垂直裁剪的帧可以提供给用户作为立即或稍后的视频的一部分。例如,图2中描述的方法可以对由内容处理服务器120接收的视频(例如,对于专业生成的视频,对于广告,对于用户生成的视频等)进行预先执行,或者可以在向用户提供视频(例如,当用户正在观看视频时)时实时地或基本上实时地执行。
此外,图2中描述的方法被描述为由内容处理服务器120执行。在其它实施例中,方法可以由其它计算装置(例如,客户端装置110)或者由计算装置的组合(例如,客户端装置110和内容处理服务器120)执行。
此外,以上示例描述了针对视频产生垂直裁剪的帧。其它实施例可以产生水平裁剪的帧。例如,视频帧的源可以是垂直的或水平的,并且系统可以产生用于视频帧的垂直裁剪的帧或者用于视频帧的水平裁剪的帧,或者两者。
根据示例实施例的示例算法伪代码可以如下:
如上所述,在此描述的实施例提供了用户与视频交互以选择要显示的视频的区域(例如,关注区域)的能力。在其它实施例中,视频内容可以通过多个同时视频源传送到用户的装置(例如,客户端装置110)。图像可以从这些视频源中被选择,并且被组合以在用户的装置上显示。选择哪些源以及如何组合它们也可以通过用户与装置的交互来控制。
图3A-3D和图5-6示出了呈现视频内容的不同方式,以及如何通过用户与计算装置的交互来控制呈现的示例。图3A-3D已在上文被描述为用户如何选择显示一个视频源的关注区域以进行显示的示例。图3A和图5-6示出了用户如何选择显示从多个视频源中选择的一个视频源的示例。在此描述的实施例允许用户从多个视频源中选择一个视频源以在某时显示给用户。这使用户可以控制选择哪个视频源并产生一系列新的交互式观看体验。
例如,可以针对特定事件(诸如音乐会、采访、表演、体育赛事等)创建多个视频源(例如,使用多个相机)。基于用户与其中用户正在观看视频的装置的交互(例如,转动或倾斜装置,选择视频的区域等),他可以观看不同的视频源(例如,横向图、纵向图、特定区域或对象的特写、特定区域或对象的各种视图等)。
一个示例实施例允许用户转向以从多个视频源中选择视频源。该实施例的示例如图3A(以上也关于单个视频源进行了描述)中所示。图3A示出当计算装置以横向或水平取向取向时的显示302,以及当计算装置以纵向或垂直取向取向时的显示304。计算装置可以感测用户正在握持装置的取向(例如,纵向、左横向、右横向、上下颠倒的纵向)。每个取向可以与不同的视频源相关联。计算装置(例如,经由计算装置上的应用)可以通过感测当前装置取向来选择适当的视频源以实时显示。这是使用离散信号(例如,装置取向)从一组视频源中进行选择的示例。
另一示例实施例允许用户倾斜以选择或滑动以从多个视频源中选择视频源。该实施例的示例如图5中所示。装置可以感测用户握持其的角度(例如,倾斜)。装置还可以在触摸屏幕时检测用户的手指是否已经移动(例如,滑动)。当序列中的每个视频源与一系列倾斜角度相关联时,移动应用可以通过发送当前装置倾斜来选择适当的视频源以实时显示(如显示502-510中所示)。类似地,用户可以通过在装置上向左和向右滑动来选择查看序列中的上一个和下一个视频源。这是使用连续信号(例如,装置的倾斜角度)或离散信号(例如,轻扫交互)从视频源序列中进行选择的示例。在图5中的示例中,当用户向左和向右倾斜装置时,显示不同的视频源。每个视频源从不同的相机采集,使得倾斜装置会为用户创建“子弹时间”效果。
图4是示出根据一些示例实施例的用于检测装置取向并提供相关联的视频源的方法400的各方面的流程图。出于说明性目的,方法400针对图1的联网系统100和图3A中的示例显示而描述。可以理解,在其它实施例中,方法400可以采用其它系统配置来实现。
在一个示例中,事件的视频可以以横向图和纵向图拍摄。可以向服务器系统102提供横向图的第一视频源和纵向图的第二视频源(例如,经由一个或多个第三方服务器130、一个或多个客户端装置110或其它源)。如操作402中所示,服务器系统102可以接收多个视频源。在该示例中,服务器系统102接收横向图的第一视频源和纵向图的第二视频源。
在操作404中,服务器系统102(例如,经由内容处理服务器120)可以分析多个视频源中的每一个视频源以确定与每个源相关联的哪个(哪些)取向。例如,内容处理服务器可以分析第一视频源和第二视频源以确定与每个源相关联的哪个(哪些)方向。内容处理服务器120可以确定第一视频源是横向图,并且因此应该与第一装置取向(例如,横向取向)相关联。内容处理服务器120可以确定第二视频源是纵向图,并且因此应该与第二装置取向(例如,纵向图)相关联。
在另一示例中,内容处理服务器120可以确定视频中的角度或视频中的主体(例如,区域或对象)以确定装置取向(例如,将呈现视频源的装置的角度)。以该方式,内容处理服务器120可以基于视频的主体的角度确定装置取向是倾斜角度。例如,如果存在视频的特定主体的三个视图(例如,左视图、中视图和右视图),则可以将装置取向初始化为中间视图,以初始地向用户显示中间视图。当装置向左倾斜时可以示出左视图,并且当装置向右倾斜时可以示出右视图。倾斜角度可以由装置上的陀螺仪传感器或用于确定倾斜角度的其它技术或机制确定。
如操作406中所示,内容处理服务器120将至少一个装置取向与每个视频源相关联。在操作408中,内容处理服务器120存储视频源和相关联的取向。例如,内容处理服务器120可以将视频源和相关联的取向存储在一个或多个数据库126中。
使用计算装置(例如,客户端装置110)的用户106可以开始观看视频。在操作410处,服务器系统102可以基于从计算装置接收的信号来检测客户端装置110的装置取向。例如,客户端装置110可以检测装置取向(例如,用户正在观看视频的计算装置的取向),以及向服务器系统102发送与装置取向相关联的视频源的请求。在操作412处,服务器系统102确定与装置取向相关联的视频源。例如,服务器系统102可以访问一个或多个数据库126以查找与装置取向相关联的视频和视频源。在操作414处,服务器系统102向客户端装置110提供与装置取向相关联的视频源。可以将视频源提供给用户以在客户端装置110上查看。
图6示出装置的显示器或屏幕的区域或对象与视频源相关联的示例。例如,用户可能查看第一显示604。客户端装置110(例如,经由应用114)可以通过感测用户正在触摸(例如,按压)的位置或用户最后触摸的位置(例如,轻敲)来选择适当的视频源以显示(例如,实时或基本上实时)。这是从一组视频源中选择的离散信号(例如,装置屏幕的区域)的另一示例。例如,用户交互610可导致第二显示606并且用户交互608可导致第三显示602。每个视频源可以从不同的相机采集,从而提供独特的视角。
图7是示出根据一些示例实施例用于检测显示器的区域中的用户输入以及提供相关联的视频源的方法700的各方面的流程图。出于说明性目的,方法700针对图1的联网系统100和图6中的示例显示来描述。可以理解,在其它实施例中,方法700可以采用其它系统配置来实现。
在操作702中,服务器系统102可以接收多个视频源。服务器系统102可以确定视频源中可以对应于特定视频源的各种区域和/或对象。在操作704中,服务器系统102(例如,经由内容处理服务器120)可以分析多个视频源中的每一个视频源以确定与每个源相关联的区域或对象。在一个示例中,屏幕可以被划分为不同的区域,每个区域对应于特定的视频源。当用户选择屏幕上的位置(例如,按压屏幕,使用输入装置选择屏幕上的位置等)时,服务器计算机可以确定用户选择的区域并呈现对应的视频源。
使用简单示例,可存在三个视频源。如图6中所示,第一视频源604可以示出播放音乐会的所有音乐家,第二视频源602可以示出第一音乐家,而第三视频源606可以示出第二音乐家。内容处理服务器可以分析第一视频源以确定与每个视频源相关联的区域或对象。因此,如操作706中所示,内容处理服务器120将至少一个区域或对象(例如,第一音乐家、第二音乐家,所有音乐家的整个舞台)与每个视频源相关联。
在操作708中,内容处理服务器120存储视频源和相关联的区域或对象。例如,内容处理服务器120可以将视频源和相关联的区域或对象存储在一个或多个数据库126中。
使用计算装置(例如,客户端装置110)的用户106可以开始观看视频。在操作710处,服务器系统102可以基于从客户端装置110接收的信号来检测用户输入(例如,按压或轻敲客户端装置110的显示器(例如,显示屏幕))。例如,客户端装置110可以检测用户输入以及向服务器系统102发送与用户输入相关联的视频源的请求。请求可以包括用户输入、在显示器上或视频中的用户输入的位置、视频的时间戳或其它数据。在操作712处,服务器系统102确定与最靠近用户输入的位置的区域或对象相关联的视频源。例如,服务器系统102可以确定用户输入所对应的区域或对象,以及访问一个或多个数据库126以查找与该区域或对象相关联的视频和视频源。在操作714处,服务器系统102向客户端装置110提供与区域或对象相关联的视频源。视频源可被提供给用户以在客户端装置110上查看。
图8是示出软件架构802的框图800,软件架构802可以安装在上述任何一个或多个装置上。例如,在各种实施例中,客户端装置110和服务器系统130、102、122和124可以使用软件架构802的一些或所有元素来实施。图8仅仅是软件架构的非限制性示例,并且可理解,可以实施许多其它架构以促进在此描述的功能。在各种实施例中,软件架构802由诸如图8的机器900的硬件实施,机器900包括处理器910、存储器930和I/O组件950。在该示例中,软件架构802可被概念化为层的堆栈,其中每个层可以提供特定功能。例如,软件架构802包括诸如操作系统804、库806、框架808和应用810的层。在操作上,与一些实施例一致,应用810通过软件栈调用应用程序编程接口(API)调用812,并且响应于API调用812接收消息814。
在各种实施方式中,操作系统804管理硬件资源并提供公共服务。操作系统804包括例如内核820、服务822和驱动器824。与一些实施例一致,内核820用作硬件和其它软件层之间的抽象层。例如,内核820提供存储器管理、处理器管理(例如,调度)、组件管理、网络连接和安全设置,以及其它功能。服务822可以为其它软件层提供其它公共服务。根据一些实施例,驱动器824负责控制底层硬件或与底层硬件接口。例如,驱动器824可以包括显示驱动器、相机驱动器、低功耗驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
在一些实施例中,库806提供由应用810利用的低级通用基础设施。库806可以包括系统库830(例如,C标准库),其可以提供诸如存储器分配函数、字符串操纵函数、数学函数等的函数。此外,库806可以包括API库832,诸如媒体库(例如,支持各种媒体格式的呈现和操纵的库,各种媒体格式诸如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中呈现二维(2D)和三维(3D)的OpenGL框架)、数据库库(例如,提供各种关系数据库功能的SQLite)、web库(例如,提供网页浏览功能的WebKit)等。库806同样可以包括各种各样的其它库834,以向应用810提供许多其它API。
根据一些实施例,框架808提供可由应用810利用的高级公共架构。例如,框架808提供各种图形用户界面(GUI)功能、高级别资源管理、高级位置节点等。框架808可以提供可由应用810利用的其它API的广泛范围,其中的一些可以特定于特定操作系统804或平台。
在示例实施例中,应用810包括主页应用850、联系人应用852、浏览器应用854、书籍阅读器应用856、位置应用858、媒体应用860、消息传递应用862、游戏应用864以及诸如第三方应用866的广泛分类的其它应用。根据一些实施例,应用810是执行程序中定义的功能的程序。可以利用各种编程语言来创建以各种方式构造的一个或多个应用810,诸如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C或汇编语言)。在具体示例中,第三方应用866(例如,由特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以是在移动操作系统(诸如IOSTM、ANDROIDTM、Phone或另一移动操作系统)上运行的移动软件。在该示例中,第三方应用866可以调用由操作系统804提供的API调用812以便于在此描述的功能。
一些实施例可以特别包括内容消息传递应用867。在某些实施例中,这可以是独立的应用,其操作以管理与诸如第三方服务器130或服务器系统102的服务器系统的通信。在其它实施例中,该功能可以与诸如消息传递应用862、媒体应用860或另一此类应用的其它应用集成。内容消息传递应用867可以允许用户采集媒体内容(例如,照片、视频等)并查看和请求由其他用户和第三方源提供的内容消息和媒体内容。内容消息传递应用可以为用户提供如下能力:采集媒体内容以及经由触摸界面、键盘或使用机器900的相机装置输入与媒体内容或内容消息有关的数据,经由I/O组件950与服务器系统进行通信,以及内容消息和媒体内容在存储器930中的接收和存储。媒体内容的呈现和与媒体内容相关联的用户输入可以由内容消息传递应用867使用在机器900上操作的不同的框架808、库806元素或操作系统804元素来管理。
图9是示出根据一些实施例能够从机器可读介质(例如,机器可读存储介质)读取指令并执行在此讨论的任何一种或多种方法的机器900的组件的框图。具体地,图9示出了以计算机系统的示例形式的机器900的示意图,在该计算机系统内可以执行用于使机器900执行在此讨论的任何一种或多种方法的指令916(例如,软件、程序、应用810、小程序、应用程序或其它可执行代码)。在替代实施例中,机器900作为独立装置操作或者可以耦接(例如,网络连接)到其它机器。在联网部署中,机器900可以以服务器-客户端网络环境中的服务器机器130、102、120、122、124等或客户端装置110的能力操作,或者作为对等(或分布式)网络环境中的对等机器。机器900可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能手机、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家电)、其它智能装置、网络装置、网络路由器、网络交换机、网络桥接器、或者连续或以其它方式指定机器900将采取的动作的能够执行指令916的任何机器。此外,虽然只示出单个机器900,但是术语“机器”同样可被认为包括单独或联合执行指令916以执行在此所讨论的任何一种或多种方法的机器900的集合。
在各种实施例中,机器900包括处理器910、存储器930以及可被配置成经由总线902彼此通信的I/O组件950。在示例实施例中,处理器910(例如,中央处理单元(CPU)、简化指令集计算(RISC)处理器、复合指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一个处理器或其任何合适的组合)包括例如可以执行指令916的处理器912和处理器914。术语“处理器”旨在包括多核处理器910,该多核处理器可以包括可以同时执行指令916的两个以上独立处理器912、914(同样称为“核”)。尽管图9示出了多个处理器910,但是机器900可以包括单个具有单核的处理器910、单个具有多核的处理器910(例如,多核处理器910)、多个具有单核的处理器912、914、多个具有多核的处理器910、912或其任何组合。
根据一些实施例,存储器930包括主存储器932、静态存储器934和经由总线902可被处理器910访问的存储单元936。存储单元936可以包括机器可读介质938,在该机器可读介质938上存储了体现在此所述的任何一种或多种方法或功能的指令916。指令916同样可以在由机器900的其执行期间完全或至少部分地驻留在主存储器932内、静态存储器934内、处理器910中的至少一个内(例如,在处理器的高速缓冲存储器内)或任何合适的组合。因此,在各种实施例中,主存储器932、静态存储器934和处理器910被认为是机器可读介质938。
如在此所使用的,术语“存储器”是指能够临时或永久地存储数据的机器可读存储介质1038,并且可以认为包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓存、闪存和高速缓存。虽然机器可读存储介质938在示例实施例中被示出为单个介质,但术语“机器可读介质”应当被认为包括能够存储或承载指令916的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”同样可被视为包括能够存储或承载指令(例如,指令916)用于由机器(例如,机器900)执行的任何介质或多个介质的组合,使得指令916在由机器900的一个或多个处理器(例如,处理器910)执行时使机器900执行在此描述的任何一个或多个的方法。因此,“机器可读介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云”的存储系统或存储网络。因此,术语“机器可读介质”可被视为包括但不限于以固态存储器(例如,闪存)、光学介质、磁性介质、其它非易失性存储器(例如,可擦除可编程只读存储器(EPROM))或其任何合适的组合的形式的一个或多个数据存储库。术语“机器可读介质”包括机器可读存储介质和载体介质或诸如信号的传输介质。
I/O组件950包括用于接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等的各种各样的组件。通常,可理解的是I/O组件950可以包括图9中未示出的许多其它组件。I/O组件950根据功能被分组,仅用于简化以下讨论,并且分组决不是限制性的。在各种示例实施例中,I/O组件950包括输出组件952和输入组件954。输出组件952包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、听觉组件(例如扬声器)、触觉组件(例如振动电动机)、其它信号发生器等。输入组件954包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指示仪器)、触知输入组件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏、或其它触觉输入组件)、音频输入组件(例如,麦克风)等。
在一些另外的示例实施例中,I/O组件950包括各种其它组件中的生物度量组件956、运动组件958、环境组件960或位置组件962。例如,生物度量组件956包括检测表达(例如手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件958包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。环境组件960包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器组件(例如,机器嗅觉检测传感器、用于为了安全而检测危险气体浓度或测量大气中的污染物的气体检测传感器)或可能提供与周围物理环境相对应的指示、测量或信号的其它组件。位置组件962包括定位传感器组件(例如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如,高度计或气压计,其可以检测可以从哪个高度导出的空气压力)、取向传感器组件(例如,磁力计)等。
通信可以使用各种各样的技术来实现。I/O组件950可以包括通信组件964,其可操作以分别经由耦接器982和耦接器972将机器900耦接到网络980或装置970。例如,通信组件964包括网络接口组件或与网络980接口连接的另一合适装置。在另外的示例中,通信组件964包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如,低功耗)、组件和经由其它模式提供通信的其它通信组件。装置970可以是另一机器900或各种各样的外围装置(例如,经由通用串行总线(USB)耦接的外围装置)中的任何一个。
此外,在一些实施例中,通信组件964检测标识符或包括可操作以检测标识符的组件。例如,通信组件964包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)代码、Aztec代码、数据矩阵、数字图形、最大码、PDF417、超码、统一商业代码缩减空格符号(UCC RSS)-2D条形码和其它光学代码的多维条形码)、声学检测组件(例如,用于识别标记的音频信号的麦克风)或其任何合适的组合。此外,可以经由可以指示特定位置的通信组件964来导出各种信息,诸如经由因特网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测或NFC信标信号的位置等。
在各种示例实施例中,网络980中的一个或多个部分可以是自组织网络、内联网、外部网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络,或两个以上此类网络的组合。例如,网络980或网络980的一部分可以包括无线或蜂窝网络,并且耦接982可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一种类型的蜂窝或无线耦接。在该示例中,耦接982可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线业务(GPRS)技术、GSM演进增强型数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其它标准、其它远程协议或其它数据传输技术。
在示例实施例中,经由网络接口装置(例如,在通信组件964中包括的网络接口组件)使用传输介质通过网络980发送或接收指令916,并且利用多个公知的传输协议(例如,超文本传输协议(HTTP))中的任何一个。类似地,在其它示例实施例中,使用传输介质经由耦接972(例如,对等耦接)向装置970发送或接收指令916。术语“传输介质”可被视为包括能够存储、编码或携带由机器900执行的指令916的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以便于这种软件的通信实现。传输介质是机器可读介质的实施例。
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然将一个或多个方法的单独操作示出和描述为单独的操作,但可以同时执行一个或多个单独的操作,并且不需要以所示顺序执行操作。作为示例配置中的单独组件呈现的结构和功能可以被实现为组合的结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为分离的多个组件。这些和其它变化、修改、添加和改进落入本文主体的范围内。
虽然已经参考具体示例实施例描述了本发明主体的概述,但是在不脱离本公开的实施例的更广泛范围的情况下,可以对这些实施例进行各种修改和改变。
在此示出的实施例足够详细地描述,以使本领域技术人员能够实现所公开的教导。可以使用和从中导出其它实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被认为是限制性的,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。
如在此所使用的,术语“或”可以以包含或排除的方式来解释。此外,可以为在此所述的资源、操作或结构提供多个实例作为单个实例。此外,各种资源、操作、模块、引擎和数据存储之间的边界是一定程度上任意的,并且在特定说明性配置的上下文中示出了特定的操作。可以设想功能的其它分配,并且这些其它分配可以落入本公开的各种实施例的范围内。通常,作为示例配置中的分离的资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为分离的资源。这些和其它变化、修改、添加和改进落入由所附权利要求所表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。

Claims (41)

1.一种计算装置处的方法,包括:
接收包括多个帧的视频;
由所述计算装置确定应对所述视频执行垂直裁剪;
对于所述多个帧中的每个帧,通过以下方式处理所述视频:
分析所述帧以确定所述帧中的关注区域,其中,所述帧是第一帧;
基于所述帧中的所述关注区域裁剪所述第一帧,以产生用于所述视频的垂直裁剪的帧;
确定紧接在所述第一帧之前的第二帧;以及
平滑从所述第二帧到所述垂直裁剪的帧的轨迹;
其中,所述垂直裁剪的帧被显示给用户,替代所述第一帧。
2.根据权利要求1所述的方法,其中,确定应对所述视频执行垂直裁剪是基于从用户接收的指示。
3.根据权利要求2所述的方法,其中,从所述用户接收的所述指示是与所述计算装置的显示器的交互。
4.根据权利要求1至3中任一项所述的方法,其中,分析所述帧以确定所述帧中的关注区域包括:
分析所述帧以确定从所述第二帧到所述第一帧不存在场景改变;以及基于所述第二帧中的关注区域确定所述第一帧中的所述关注区域。
5.根据权利要求4所述的方法,其中,基于所述第二帧中的关注区域确定所述第一帧中的所述关注区域是使用视觉跟踪方法确定的。
6.根据权利要求1至3中任一项所述的方法,其中,分析所述帧以确定所述帧中的关注区域包括:
分析所述第一帧并确定从所述第二帧到所述第一帧存在场景改变;
执行所述第一帧的显著性分析;
生成所述第一帧的显著图;
将所述显著图投影在水平轴上;
分析所述显著图以确定预定大小的最显著窗口;
将所述关注区域设置为所述预定大小的所述最显著窗口。
7.根据权利要求6所述的方法,其中,确定存在场景改变是基于匹配颜色直方图。
8.根据权利要求6所述的方法,其中,确定存在场景改变是基于匹配方向直方图。
9.根据权利要求1至3中任一项所述的方法,其中,分析所述帧以确定所述帧中的关注区域包括:
检测用户与所述帧的交互;以及
将所述关注区域设置为所述用户的交互的位置。
10.根据权利要求1至9中任一项所述的方法,进一步包括:
存储用于所述视频的所述垂直裁剪的帧。
11.根据权利要求1至10中任一项所述的方法,进一步包括:
向用户提供所述垂直裁剪的帧,作为所述视频的一部分。
12.根据权利要求1至11中任一项所述的方法,其中,所述视频是横向视频。
13.一种服务器计算机,包括:
处理器;以及
计算机可读介质,其与所述处理器耦接,所述计算机可读介质包括存储在其上的指令,所述指令能够由所述处理器执行以执行包括以下操作的操作:
接收包括多个帧的视频;
确定应对所述视频执行垂直裁剪;
对于所述多个帧中的每个帧,通过以下方式处理所述视频:
分析所述帧以确定所述帧中的关注区域,其中,所述帧是第一帧;
基于所述帧中的所述关注区域裁剪所述第一帧,以产生用于所述视频的垂直裁剪的帧;
确定紧接在所述第一帧之前的第二帧;以及
平滑从所述第二帧到所述垂直裁剪的帧的轨迹;
其中,所述垂直裁剪的被显示给用户,替代所述第一帧。
14.根据权利要求13所述的服务器计算机,其中,确定应对所述视频执行垂直裁剪是基于从用户接收的指示,其中,从所述用户接收的所述指示是与所述计算装置的显示器的交互。
15.根据权利要求13或14所述的服务器计算机,其中,分析所述帧以确定所述帧中的关注区域包括:
分析所述帧以确定从所述第二帧到所述第一帧不存在场景改变;以及使用视觉跟踪方法基于所述第二帧中的关注区域确定所述第一帧中的所述关注区域。
16.根据权利要求13或14所述的服务器计算机,其中,分析所述帧以确定所述帧中的关注区域包括:
分析所述第一帧并确定从所述第二帧到所述第一帧存在场景改变;
执行所述第一帧的显著性分析;
生成所述第一帧的显著图;
将所述显著图投影在水平轴上;
分析所述显著图以确定预定大小的最显著窗口;
将所述关注区域设置为所述预定大小的所述最显著窗口。
17.根据权利要求13或14所述的服务器计算机,其中,分析所述帧以确定所述帧中的关注区域包括:
检测用户与所述帧的交互;以及
将所述关注区域设置为所述用户的交互的位置。
18.根据权利要求13至17中任一项所述的服务器计算机,所述操作进一步包括:
向用户提供所述垂直裁剪的帧,作为所述视频的一部分。
19.根据权利要求13至18中任一项所述的服务器计算机,其中,所述视频是横向视频。
20.一种计算机可读存储介质,其存储指令,所述指令能够由至少一个处理器执行以使计算装置执行包括以下操作的操作:
接收包括多个帧的视频;
确定应对所述视频执行垂直裁剪;
对于所述多个帧中的每个帧,通过以下方式处理所述视频:
分析所述帧以确定所述帧中的关注区域,其中,所述帧是第一帧;
基于所述帧中的所述关注区域裁剪所述第一帧,以产生用于所述视频的垂直裁剪的帧;
确定紧接在所述第一帧之前的第二帧;以及
平滑从所述第二帧到所述垂直裁剪的帧的轨迹;
其中,所述垂直裁剪的帧被显示给用户,替代所述第一帧。
21.一种计算装置处的方法,包括:
在计算装置处接收与事件相关的多个视频源;
对于所述多个视频源中的每个视频源:
分析所述多个视频源中的所述视频源以确定与所述视频源相关联的装置取向;
将所述装置取向与所述视频源相关联;以及
存储所述视频源和所述相关联的装置取向。
22.根据权利要求21所述的方法,进一步包括:
检测装置取向;
确定与所述装置取向相关联的视频源;以及
提供与所述装置取向相关联的所述视频源;
其中,与所述装置取向相关联的所述视频源被显示给所述用户。
23.根据权利要求21或22所述的方法,其中,分析所述多个视频源中的所述视频源以确定与所述视频源相关联的装置取向包括确定所述视频源是横向图或者纵向图。
24.根据权利要求23所述的方法,进一步包括:
基于确定所述视频源是横向图来确定所述装置取向是横向取向。
25.根据权利要求23所述的方法,进一步包括:
基于确定所述视频源是纵向图来确定所述装置取向是纵向取向。
26.根据权利要求21至25中任一项所述的方法,其中,分析所述多个视频源中的所述视频源以确定与所述视频源相关联的装置取向包括确定所述视频的主体的角度。
27.根据权利要求26所述的方法,进一步包括:
基于所述视频的所述主体的所述角度确定所述装置取向是倾斜角度。
28.根据权利要求22所述的方法,其中,所述计算装置是服务器计算机,以及其中,检测装置取向是基于从所述客户端装置接收客户端装置的装置取向。
29.根据权利要求28所述的方法,其中,所述服务器计算机向所述客户端装置提供与所述装置取向相关联的所述视频源,并且所述客户端装置向所述用户显示所述视频源。
30.根据权利要求22所述的方法,其中,确定与所述装置取向相关联的视频源包括访问数据库以查找所述视频源和相关联的装置取向。
31.根据权利要求21至30中任一项所述的方法,其中,对于所述多个视频源中的每个视频源,所述方法进一步包括:
分析所述多个视频源中的所述视频源,以确定与所述视频源相关联的至少一个区域或对象;
将所述至少一个区域或对象与所述视频源相关联;
存储所述至少一个区域或对象的所述关联。
32.根据权利要求31所述的方法,进一步包括:
检测指示视频的区域或对象的选择的用户输入;
确定与所述视频的所选区域或对象相关联的视频源;
提供与所述所选区域或对象相关联的所述视频源;
其中,与所述所选区域或对象相关联的所述视频源被显示给所述用户。
33.一种服务器计算机,包括:
处理器;以及
计算机可读介质,其与所述处理器耦接,所述计算机可读介质包括存储在其上的指令,所述指令能够由所述处理器执行以执行包括以下操作的操作:
接收与事件相关的多个视频源;
对于所述多个视频源中的每个视频源:
分析所述多个视频源中的所述视频源以确定与所述视频源相关联的装置取向;
将所述装置取向与所述视频源相关联;以及
存储所述视频源和所述相关联的装置取向。
34.根据权利要求33所述的服务器计算机,进一步包括:
检测装置取向;
确定与所述装置取向相关联的视频源;以及
提供与所述装置取向相关联的所述视频源;
其中,与所述装置取向相关联的所述视频源被显示给所述用户。
35.根据权利要求33或34所述的服务器计算机,其中,分析所述多个视频源中的所述视频源以确定与所述视频源相关联的装置取向包括确定所述视频源是横向图或者纵向图。
36.根据权利要求33或34所述的服务器计算机,其中,分析所述多个视频源中的所述视频源以确定与所述视频源相关联的装置取向包括确定所述视频的主体的角度,以及其中,所述操作进一步包括:
基于所述视频的所述主体的所述角度确定所述装置取向是倾斜角度。
37.根据权利要求33至36中任一项所述的服务器计算机,其中,检测装置取向是基于从所述客户端装置接收客户端装置的装置取向,以及其中,与所述装置取向相关联的所述视频源被提供给所述客户端装置,并且所述客户端装置向所述用户显示所述视频源。
38.根据权利要求33至37中任一项所述的服务器计算机,其中,对于所述多个视频源中的每个视频源,所述操作进一步包括:
分析所述多个视频源中的所述视频源,以确定与所述视频源相关联的至少一个区域或对象;
将所述至少一个区域或对象与所述视频源相关联;
存储所述至少一个区域或对象的所述关联。
39.根据权利要求33至38中任一项所述的服务器计算机,所述操作进一步包括:
检测指示视频的区域或对象的选择的用户输入;
确定与所述视频的所选区域或对象相关联的视频源;
提供与所述所选区域或对象相关联的所述视频源;
其中,与所述所选区域或对象相关联的所述视频源被显示给所述用户。
40.一种计算机可读存储介质,其存储指令,所述指令能够由至少一个处理器执行以使计算装置执行包括以下操作的操作:
接收与事件相关的多个视频源;
对于所述多个视频源中的每个视频源:
分析所述多个视频源中的所述视频源以确定与所述视频源相关联的装置取向;
将所述装置取向与所述视频源相关联;以及
存储所述视频源和所述相关联的装置取向。
41.一种计算机可读介质,其承载指令,所述指令能够由至少一个处理器执行以使计算装置执行权利要求1至12和21至32中任一项所述的方法。
CN201780052373.5A 2016-07-01 2017-06-29 处理和格式化视频用于交互式呈现 Active CN110089117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110311822.1A CN113079390B (zh) 2016-07-01 2017-06-29 一种用于处理视频源的方法、服务器计算机以及计算机可读介质

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/201,049 US10623662B2 (en) 2016-07-01 2016-07-01 Processing and formatting video for interactive presentation
US15/201,079 US10622023B2 (en) 2016-07-01 2016-07-01 Processing and formatting video for interactive presentation
US15/201,049 2016-07-01
US15/201,079 2016-07-01
PCT/US2017/040045 WO2018005823A1 (en) 2016-07-01 2017-06-29 Processing and formatting video for interactive presentation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110311822.1A Division CN113079390B (zh) 2016-07-01 2017-06-29 一种用于处理视频源的方法、服务器计算机以及计算机可读介质

Publications (2)

Publication Number Publication Date
CN110089117A true CN110089117A (zh) 2019-08-02
CN110089117B CN110089117B (zh) 2023-02-17

Family

ID=59656150

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110311822.1A Active CN113079390B (zh) 2016-07-01 2017-06-29 一种用于处理视频源的方法、服务器计算机以及计算机可读介质
CN201780052373.5A Active CN110089117B (zh) 2016-07-01 2017-06-29 处理和格式化视频用于交互式呈现

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110311822.1A Active CN113079390B (zh) 2016-07-01 2017-06-29 一种用于处理视频源的方法、服务器计算机以及计算机可读介质

Country Status (3)

Country Link
KR (2) KR102453083B1 (zh)
CN (2) CN113079390B (zh)
WO (1) WO2018005823A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691259A (zh) * 2019-11-08 2020-01-14 北京奇艺世纪科技有限公司 视频播放方法、系统、装置、电子设备及存储介质
US10622023B2 (en) 2016-07-01 2020-04-14 Snap Inc. Processing and formatting video for interactive presentation
US10623662B2 (en) 2016-07-01 2020-04-14 Snap Inc. Processing and formatting video for interactive presentation
CN112218160A (zh) * 2020-10-12 2021-01-12 北京达佳互联信息技术有限公司 视频转换方法及装置和视频转换设备及存储介质
US11521654B2 (en) 2017-05-16 2022-12-06 Snap Inc. Recording and playing video using orientation of device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090251594A1 (en) * 2008-04-02 2009-10-08 Microsoft Corporation Video retargeting
US20130050574A1 (en) * 2011-08-29 2013-02-28 Futurewei Technologies Inc. System and Method for Retargeting Video Sequences
US20150109408A1 (en) * 2013-10-21 2015-04-23 Stmicroelectronics International N.V. System and method for capturing and rendering a landscape image or video
CN105247850A (zh) * 2013-03-15 2016-01-13 谷歌公司 对视频方向的自动调节

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1929768A4 (en) * 2005-08-26 2010-05-05 Idt Corp TRACKING AND INTEGRATION OF REGION OF INTEREST IN A VIDEO CODEC
US20090262194A1 (en) * 2008-04-22 2009-10-22 Sony Ericsson Mobile Communications Ab Interactive Media and Game System for Simulating Participation in a Live or Recorded Event
JP5428210B2 (ja) * 2008-06-11 2014-02-26 ソニー株式会社 情報処理装置、撮像システム、録画制御方法及びプログラム
US20100053436A1 (en) * 2008-08-29 2010-03-04 Kabushiki Kaisha Toshiba Video Display Apparatus and Video Display Method
US9497386B1 (en) * 2009-09-22 2016-11-15 Altia Systems Inc. Multi-imager video camera with automatic exposure control
JP5774889B2 (ja) * 2011-03-31 2015-09-09 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
JP5863330B2 (ja) * 2011-08-22 2016-02-16 国立大学法人旭川医科大学 画像処理装置、画像処理方法、およびプログラム
US8744186B1 (en) * 2011-09-30 2014-06-03 Tribune Broadcasting Company, Llc Systems and methods for identifying a scene-change/non-scene-change transition between frames
US9148651B2 (en) * 2012-10-05 2015-09-29 Blackberry Limited Methods and devices for generating a stereoscopic image
US10032431B2 (en) * 2013-03-15 2018-07-24 Intel Corporation Mobile computing device technology and systems and methods utilizing the same
US8994838B2 (en) * 2013-04-16 2015-03-31 Nokia Corporation Motion adaptive cropping for video stabilization
CN103763505A (zh) * 2013-12-31 2014-04-30 华为技术有限公司 一种在视频通话中适应屏幕方向切换的方法和装置
KR101953679B1 (ko) * 2014-06-27 2019-03-04 코닌클리즈케 케이피엔 엔.브이. Hevc-타일드 비디오 스트림을 기초로 한 관심영역 결정
US9570113B2 (en) * 2014-07-03 2017-02-14 Gopro, Inc. Automatic generation of video and directional audio from spherical content
CN110401820A (zh) * 2019-08-15 2019-11-01 北京迈格威科技有限公司 多路视频处理方法、装置、介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090251594A1 (en) * 2008-04-02 2009-10-08 Microsoft Corporation Video retargeting
US20130050574A1 (en) * 2011-08-29 2013-02-28 Futurewei Technologies Inc. System and Method for Retargeting Video Sequences
CN105247850A (zh) * 2013-03-15 2016-01-13 谷歌公司 对视频方向的自动调节
US20150109408A1 (en) * 2013-10-21 2015-04-23 Stmicroelectronics International N.V. System and method for capturing and rendering a landscape image or video

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10622023B2 (en) 2016-07-01 2020-04-14 Snap Inc. Processing and formatting video for interactive presentation
US10623662B2 (en) 2016-07-01 2020-04-14 Snap Inc. Processing and formatting video for interactive presentation
US11081141B2 (en) 2016-07-01 2021-08-03 Snap Inc. Processing and formatting video for interactive presentation
US11159743B2 (en) 2016-07-01 2021-10-26 Snap Inc. Processing and formatting video for interactive presentation
US11557324B2 (en) 2016-07-01 2023-01-17 Snap Inc. Processing and formatting video for interactive presentation
US11521654B2 (en) 2017-05-16 2022-12-06 Snap Inc. Recording and playing video using orientation of device
CN110691259A (zh) * 2019-11-08 2020-01-14 北京奇艺世纪科技有限公司 视频播放方法、系统、装置、电子设备及存储介质
CN112218160A (zh) * 2020-10-12 2021-01-12 北京达佳互联信息技术有限公司 视频转换方法及装置和视频转换设备及存储介质

Also Published As

Publication number Publication date
WO2018005823A1 (en) 2018-01-04
CN113079390B (zh) 2024-04-05
KR20220013955A (ko) 2022-02-04
CN113079390A (zh) 2021-07-06
CN110089117B (zh) 2023-02-17
KR102355747B1 (ko) 2022-01-27
KR102453083B1 (ko) 2022-10-11
KR20190025659A (ko) 2019-03-11

Similar Documents

Publication Publication Date Title
US11729252B2 (en) Content collection navigation and autoforwarding
US11557324B2 (en) Processing and formatting video for interactive presentation
US11532133B2 (en) Audio responsive augmented reality
KR102039505B1 (ko) 국지적 증강 현실 지속적 스티커 객체
US11212482B2 (en) Real time painting of a video stream
US11159743B2 (en) Processing and formatting video for interactive presentation
CN110089117A (zh) 处理和格式化视频用于交互式呈现
US10839007B1 (en) Generating a probability of music
CN109247071A (zh) 可变地理围栏系统
CN110462616A (zh) 生成拼接数据流
US11557080B2 (en) Dynamically modeling an object in an environment from different perspectives
US11915400B2 (en) Location mapping for large scale augmented-reality
KR20230162062A (ko) 노래로부터의 신경망 반주 추출

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant