CN109791600B - 将横屏视频转换为竖屏移动布局的方法 - Google Patents

将横屏视频转换为竖屏移动布局的方法 Download PDF

Info

Publication number
CN109791600B
CN109791600B CN201780051565.4A CN201780051565A CN109791600B CN 109791600 B CN109791600 B CN 109791600B CN 201780051565 A CN201780051565 A CN 201780051565A CN 109791600 B CN109791600 B CN 109791600B
Authority
CN
China
Prior art keywords
region
frame
score
media
feature
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.)
Active
Application number
CN201780051565.4A
Other languages
English (en)
Other versions
CN109791600A (zh
Inventor
N.弗雷
A.帕纳戈普洛斯
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN109791600A publication Critical patent/CN109791600A/zh
Application granted granted Critical
Publication of CN109791600B publication Critical patent/CN109791600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/373Details of the operation on graphic patterns for modifying the size of the graphic pattern
    • 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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/10Selection of transformation methods according to the characteristics of the input images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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/12Bounding box
    • 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/0442Handling or displaying different aspect ratios, or changing the aspect ratio
    • 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/045Zooming at least part of an image, i.e. enlarging it or shrinking it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/0122Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal the input and the output signals having different aspect ratios

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

描述了使用计算装置剪裁特定取向的媒体的系统和方法。一种方法可以首先包括由装置的视频预处理器接收第一取向的第一媒体帧。可以由图像分析器标识在第一帧内的包括第一特征的第一区域。装置的剪裁计算器可以基于第一特征的特性生成第一区域的分数,并且确定第一区域的分数超过阈值。然后,响应于确定第一区域的分数超过阈值,装置的图像处理器可以剪裁视频的第一帧,以将第一区域包含在预定显示区域内,预定显示区域包括第二取向的第一帧的子集。

Description

将横屏视频转换为竖屏移动布局的方法
相关申请的交叉引用
本申请要求于2016年12月5日提交的名称为“Method for Converting LandscapeVideo to Portrait Mobile Layout”的申请号为PCT/US2016/065025的PCT申请的权益和优先权,其全部内容通过引用合并入本文中。
背景技术
在诸如互联网或其它网络的网络环境中,第一方内容提供者可以在资源(诸如网页、文档、应用和/或其它资源)上提供公开呈现的信息。第一方内容可以包含由第一方内容供应者经由资源服务器提供的文本、视频和/或音频信息,用于通过互联网在客户端装置上呈现。以宽的宽高比录制的视频或者类似的媒体可能会被设计为在桌面上或在横屏取向上观看,其无法直接将全屏适配到在垂直或竖屏取向上保持的移动装置上,并且通常会被剪裁到中心,在视频的左右边缘丢失细节,或者在顶部和底部由黑条包围,减少了视频的显示尺寸。垂直取向的媒体是用于在许多应用中观看和显示媒体的流行格式。由于许多视频和其它媒体仅以宽的宽高比布局录制,因此该布局存在大量存货(inventory),然而发行人的需求越来越需要竖屏布局。
发明内容
一种实施方式涉及一种使用计算装置来剪裁特定取向的媒体的方法。该方法可以包括由装置的视频预处理器接收第一取向的第一媒体(例如,视频)帧。可以由图像分析器标识第一帧内的包括第一特征的第一区域。装置的剪裁计算器可以基于第一特征的特性生成第一区域的分数,并且确定第一区域的分数超过阈值。然后,响应于确定第一区域的分数超过阈值,装置的图像处理器可以剪裁视频的第一帧,以将第一区域包含在特定显示区域内,特定显示区域包括第二取向的第一帧的子集。
在一些实施方式中,剪裁媒体还可以包含填充媒体内容的一个或多个边缘以扩展原始内容。在一些实施方式中,媒体是视频,并且填充包括在视频帧内扩展原始场景内容。扩展原始场景内容可以包括扩展背景颜色以便用背景颜色填充视频帧。
第一特征可以包括文本。基于第一特征的特性生成第一区域的分数还可以包括由剪裁计算器生成与文本的大小成比例的分数。附加地或替代地,基于第一特征的特性生成第一区域的分数还可以包括由剪裁计算器生成与文本离帧的中心的距离成反比的分数。
第一特征可以包括面部。基于第一特征的特性生成第一区域的分数还可以包括由剪裁计算器基于面部相对于帧的大小来生成分数。
该方法还可以包括:由图像分析器标识第一帧内包括第二特征的第二区域,由剪裁计算器生成第二区域的第二分数,由剪裁计算器确定第二分数小于阈值,并且响应于该确定,由图像处理器从第一帧剪裁第二区域。
该方法还包括:由图像处理器标识第一帧内包括第二特征的第二区域,由剪裁计算器生成第二区域的第二分数,由剪裁计算器确定第二分数超过阈值;并且其中剪裁第一帧还可以包括:响应于确定第一区域的分数和第二区域的第二分数各自超过阈值,由图像分析器标识包括第一区域和第二区域的第二取向的显示区域,并且由图像处理器剪裁第一帧到所标识的显示区域的边界。
标识包括第一区域和第二区域的第二取向的显示区域可以包括:由剪裁计算器确定第一区域的分数高于第二区域的第二分数;由图像处理器产生在第二取向上以第一特征为中心的中间显示区域,中间显示区域具有预定大小;并且由图像处理器调整帧内的中间显示区域的位置,以包含第一区域和第二区域,同时保持预定尺寸和第二取向。
该方法还可以包括:由视频预处理器接收第一取向的视频的第二帧;由图像分析器标识包括第一特征的第一区域在第二帧中的第二位置;以及基于第一区域在第一帧与第二帧之间的移动量,由剪裁计算器生成第一区域的第二分数;并且其中确定第一区域的分数超过阈值还包括将第一区域的分数与第一区域的第二分数相加。
该方法还可以包括由时间图像处理器从第一帧的像素与第二帧的像素的差异标识全局运动矢量;并且其中生成第二分数包括由剪裁计算器生成与第一区域在第一帧和第二帧之间的移动与全局运动矢量之间的差异成比例的分数。
另一种实施方式涉及一种用于使用计算装置剪裁特定取向的媒体的系统。该系统可以包括装置的一个或多个处理器中的一个或多个,电连接到一个或多个处理器的网络接口,以及电连接到储存指令的一个或多个处理器的计算机储存装置中的一个或多个。当由一个或多个处理器执行时,指令可以使得一个或多个处理器进行包括上述方法的操作。
又一种实施方式涉及储存指令的计算机可读储存装置,该指令在由一个或多个处理器执行时使得一个或多个处理器进行若干操作。操作可以包含包括前述方法的操作。
相应地,本文公开了用于通过标识视频中的感兴趣的区域来进行智能或“智慧”剪裁以在横屏图像和视频与竖屏图像和视频之间进行转换的系统和方法。可以使用各种度量来标识感兴趣的区域,包含面部识别、文本标识或光学字符识别、对象检测、运动分析、图像中的静态区域的标识(诸如边界或横幅),以及熵分析。方面和实施方式提供了改进的适于在装置上显示的视频的生成。
附图说明
在附图和以下描述中阐述了一个或多个实施方式的细节。根据说明书、附图和权利要求,本公开的其它特征、方面和优点将变得显而易见,其中:
图1是描绘用于将媒体从一个取向自动转换为另一个取向的环境的实施方式的框图。
图2是描绘在用例的实施方式中剪裁单个媒体帧的图。
图3是描绘配置为用于媒体预处理、媒体分析、以及剪裁接收到的媒体的软件和/或硬件模块的实施方式的框图。
图4是描绘剪裁媒体帧的方法的实施方式的流程图。
图5是描绘通过确定多个区域中的每一个的分数来剪裁媒体帧的方法的实施方式的流程图。
图6是描绘基于特征的移动而生成或更新分数的方法的实施方式的流程图。
图7是描绘使用接收到的元数据来剪裁媒体帧的方法的实施方式的流程图。
图8是描绘基于取向的改变来调整剪裁的方法的实施方式的流程图。
图9是描绘用于计算系统的通用架构的框图,该计算系统可以用于实施本文描述和示出的系统的各种元件和方法。
将认识到,一些或所有附图是为了说明的目的的示意性表示。提供附图是为了说明一个或多个实施方式,并且明确理解它们不会用于限制权利要求的范围或含义。
具体实施方式
以下是与用于在计算机网络上提供信息的方法、设备和系统相关的各种构思的更详细的描述,且为这些方法、设备和系统的实施方式。上面介绍并在下面更详细地讨论的各种构思可以以多种方式中的任何一种来实施,因为所描述的构思不限于任何特定的实施方式。提供各种实施方式和应用主要是为了说明的目的。
“非智能(Dumb)”剪裁到图像或视频的中心依赖于假设视频或图像的最重要内容出现在图像的中心。这可能是不正确的,因为重要内容可能偏离中心,诸如屏幕底部的文字或在帧中水平“三分之一”位置的人。显示进入房间的人的视频可能包含从帧的一侧进入的人,而帧的剩余部分是静止的,或者有两个人谈话的视频可能将每个人放置在帧的侧边,他们中间具有空的空间。在这种情况下应用中心剪裁可能导致空的房间或空的空间,可能使观看者感到困惑和沮丧。
相应地,本文公开了用于智能或“智慧”剪裁的系统和方法,以将横屏模式的视频或图像自动转换为适配竖屏模式(或反之亦然),同时保持全屏而不仅仅应用“非智能”剪裁或中心剪裁或在顶部/底部添加填充。转换可以包含检测对于每帧的图像或视频的重要的部分(例如,特征)。基于所标识的重要区域,可以智能地剪裁或填充图像或视频以保留重要特征,同时丢弃不重要的区域、静态边界等。检测到的特征可以包含面部特征、对象检测和/或识别、文本检测、主色检测、运动分析、场景变化检测和图像显著性。检测和识别可以使用基于深度学习的方法和算法。文本检测可以使用光学字符识别(OCR)。特征检测允许最佳剪裁路径。本发明的其它方面可以包含填充图像以匹配背景颜色,以及移除和/或重新格式化任何边界以适配新的显示模式。尽管主要在视频方面进行了讨论,但是在许多实施方式中,该系统可以应用于单独的图像或帧。
图1是用于通过网络106将视频从一个取向自动转换为另一个取向的环境100的实施方式的框图。网络106可以包含局域网(LAN)、广域网(WAN)、电话网络(诸如公共交换电话网(PSTN))、无线链路、内联网、互联网或其组合。环境100还包含移动装置102。在一些实施方式中,移动装置102包含处理器122、数据储存装置124、网络接口126、显示器128、输入/输出模块130、传感器模块132和媒体模块134。传感器模块132可以配置为包含传感器(例如,加速计和/或磁力计)以检测计算装置的取向以及包含在许多移动装置中的其它类似传感器。处理器122可以包含微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等,或其组合。数据储存装置124可以包含但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其它储存或传输装置。存储器可以包含软盘、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、磁盘、存储器芯片、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、闪速存储器、光学介质、或处理器122可从其读取指令的任何其它合适的存储器。指令可以包含来自任何合适的计算机编程语言的代码,诸如但不限于C、C++、C#、HTML、XML、/>以及Visual/>
移动装置102可以包含配置为经由网络106与其它装置通信的一个或多个装置,诸如计算机、膝上型计算机、智能电话、平板电脑、个人数字助理。该装置可以是包含数据处理器和存储器的任何形式的便携式电子装置。数据储存装置124可以储存机器指令,当由处理器执行时,机器指令使得处理器进行本文描述的一个或多个操作。数据存储器124还可以储存数据以实现计算装置上的一个或多个资源、内容项等的呈现。处理器可以包含微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、或其组合。数据储存装置124可以包含但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其它储存或传输装置。数据储存装置124可以包含软盘、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、磁盘、存储器芯片、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、闪速存储器、光学介质、或处理器可从其读取指令的任何其它合适的存储器。指令可以包含来自任何合适的计算机编程语言的代码,诸如但不限于C、C++、C#、HTML、/>Visual以及XML。
移动装置102可以执行软件应用程序(例如,web浏览器或其它应用程序)以通过网络106从其它计算装置取回内容。这种应用程序可以配置为从媒体服务器系统104取回第一方内容。在一些情况下,在移动装置102上运行的应用程序本身可以是第一方内容(例如,游戏、媒体播放器等)。在一种实施方式中,移动装置102可以执行web浏览器应用程序,其在客户端装置的显示器上提供浏览器窗口。提供浏览器窗口的web浏览器应用程序可以通过从输入装置(例如,指点装置、键盘、触摸屏或其它形式的输入装置)接收统一资源定位符(URL)的输入(诸如web地址)来操作。作为响应,执行来自web浏览器应用程序的指令的客户端装置的一个或多个处理器可以从URL地址所引用的连接到网络106的另一个装置(例如,媒体服务器系统104)请求数据。然后,其它装置可以向移动装置102提供网页数据和/或其它数据,这使得视觉标记由移动装置102的显示器显示。相应地,浏览器窗口显示取回的第一方内容(诸如来自各种网站的网页),以便于用户与第一方内容的交互。
在一些实施方式中,移动装置102的媒体模块134配置为接收多个媒体帧和相关联的元数据。可以通过网络接口126接收媒体并将其储存在数储存装置124中。在一些实施方式中,媒体帧作为流媒体数据的一部分被接收。可以通过网络接口146接收流媒体。在一些实施方式中,媒体模块134配置为基于接收到的元数据来标识帧中的区域。在一些实施方式中,媒体模块134配置为基于该区域来剪裁媒体帧。在一些实施方式中,所剪裁的区域还基于媒体帧之前和/或之后的一个或多个媒体帧。
在一些实施方式中,移动装置102的媒体模块134配置为从一个或多个传感器模块132接收取向变化的指示。在一些实施方式中,媒体模块134配置为基于取向的改变来动态地调整播放媒体的剪裁。
媒体服务器系统104可以包含处理器142、数据储存装置144、网络接口146、内容选择模块148、媒体剪裁模块150、元数据模块152和媒体内容数据库154。在一些实施方式中,媒体服务器系统104的内容选择模块148配置为从媒体内容数据库154中选择媒体。在一些实施方式中,媒体剪裁模块150配置为预处理媒体,分析媒体的特征和/或对象,以及基于特征和/或对象的分析来剪裁媒体。在一些实施方式中,元数据模块152配置为基于预处理媒体、分析媒体的特征和/或对象、以及确定目标宽高比或分辨率的剪裁路径来提取数据。尽管在媒体服务器系统104上示出,但是在许多实施方式中,可以在一个或多个移动装置102上执行媒体剪裁模块150。
媒体服务器系统被示出为包含媒体剪裁模块150。在一些实施方式中,媒体剪裁模块150配置为预处理媒体,分析媒体的特征和/或对象,以及基于特征和/或对象的分析来剪裁媒体。在一些实施方案中,媒体剪裁模块150配置为基于目标宽高比的一个或多个值是否小于所分析的媒体帧的宽高比的当前值来确定是否需要剪裁。在一些实施方式中,媒体剪裁模块150配置为仅当目标分辨率的一个或多个值小于媒体帧的分辨率的当前值时剪裁媒体的帧。在一些实施方式中,媒体剪裁模块150配置为剪裁媒体以匹配目标宽高比或匹配目标分辨率。媒体剪裁模块150可以配置为将附加性填充添加到所剪裁的媒体帧的一侧或多侧,以匹配目标宽高比或匹配目标分辨率。在一些实施方式中,媒体剪裁模块150可以配置为还将所剪裁的区域基于在被剪裁的当前媒体帧之前和/或之后的一个或多个媒体帧上。在一些实施方式中,媒体剪裁模块150配置为包含超过阈值的一个或多个区域。在一些实施方式中,媒体剪裁模块150配置为,当媒体剪裁模块150在剪裁媒体帧时确定要包含的区域时,至少包含具有超过阈值的分数的多个区域中的一个或多个区域。
在一些实施方式中,元数据模块152配置为基于预处理媒体、分析媒体的特征和/或对象、以及确定目标宽高比或分辨率的剪裁路径来提取数据。在一些实施方式中,元数据模块152配置为接收元数据,其作为含有多个媒体帧的媒体文件的一部分。在一些实施方式中,元数据模块152配置为独立地接收元数据、以及将元数据与接收到的多个媒体帧相关联的标识符或其它数据。在一些实施方式中,元数据模块152配置为分析元数据以确定与媒体相关联的媒体帧中的一个或多个相关联的区域相关的数据部分。在一些实施方式中,元数据模块152配置为对于元数据中包含的多个媒体帧中的每一个提取一个或多个区域的边界信息。在一些实施方式中,元数据模块152配置为提取一个或多个特征在多个媒体帧中的每一个内的位置。特征可以包含诸如汽车、建筑物、人、动物、街道标志等的对象、文本、媒体帧的边界、媒体帧的一侧或多侧的一致颜色填充等。在一些实施方式中,元数据模块152配置为标识媒体的多个帧中的一个或多个的多个特征和/或区域。在一些实施方式中,元数据模块152配置为将接收到的元数据与目标宽高比或目标分辨率相关联。
图2描绘了在用例的实施方式中剪裁单个媒体帧。输入图像202以水平或横屏取向示出。一旦处理输入图像202以检测输入图像202的重要对象和/或特征,就在生成输出图像204时尽可能地保留含有重要对象和/或特征的区域。在图2中,输出图像204在移动装置102上以垂直或竖屏取向示出。在该用例的实施方式的描绘中,在输入图像202中标识面部特征,并且包括面部特征的区域保留在移动装置102上显示的输出图像204中。
图3是用于媒体预处理、媒体分析和接收到的媒体的剪裁的软件和/或硬件模块的实施方式的框图。在一些实施方式中,预处理模块310配置为使用下变频转换(downconvert)模块312、下变频转换模块314、下变频转换模块316、下变频转换模块318等预处理并下变频转换媒体。在一些实施方式中,预处理模块310配置为将得到的输出发送到时域分析模块320和图像分析模块330中的一个或多个。时域分析模块320可以包括场景变化模块322和静态边界模块324。图像分析模块330可以包括OCR模块332、对象检测模块334、面部跟踪模块336、运动分析模块338和熵模块345。时域分析模块320和图像分析模块330可以配置为将它们的数据结果发送到信号融合计算器350和剪裁计算器352。尽管分开地示出,但是在许多实施方式中,时域分析模块和图像分析模块可以是同一分析器系统或模块的一部分。类似地,时域分析模块和图像分析模块内示出的组件可以与时域分析模块或图像分析模块分离,或者可以由其它模块提供。在一些实施方式中,图像分析330模块配置为包括可以使用输入数据来训练的深度学习推理模型。在一些实施方式中,可以基于所标记的或所选择的区域输入输入数据。
在一些实施方式中,时域分析320模块可以包括应用程序、小应用程序、服务、服务器、后台程序、例程或其它可执行逻辑,用于进行关于图像序列(诸如视频的图像)的分析。时域分析320模块可以包括场景变化模块322,其配置为分析多个媒体帧以确定场景变化。场景变化模块322可以包括应用程序、小应用程序、服务、服务器、后台程序、例程或其它可执行逻辑,用于标识指示视频中的场景变化或显著中断的连续图像之间的差异。在一些实施方案中,场景变化模块322配置为通过使用关键点检测来确定场景变化以分析指示场景中断或场景变化的关键点何时存在大变化。在一些实施方式中,场景变化模块322配置为将一帧中的所有像素与连续帧中的像素进行比较,并且如果在被视为光流的一部分时多于特定阈值的像素是不同的时,则指示场景变化。在一些实施方式中,场景变化模块322配置为计算多个媒体帧之间的运动矢量,并且连续帧之间缺少连贯的运动矢量指示场景变化。然后可以在特定场景内标识特征,并且在特定场景内的多个媒体帧之中跟踪含有特定特征的区域。在一些实施方式中,场景变化322模块配置为跟踪特定特征在多个媒体帧内的位置的信息,并且这种信息还用于基于该区域来确定在何处剪裁媒体帧。
在一些实施方式中,时域分析模块320包括静态边界模块324,其配置为分析多个媒体帧以确定是否存在静态边界以及何处存在静态边界。静态边界模块324可以包括应用程序、小应用程序、服务、服务器、后台程序、例程或其它可执行逻辑,用于标识在指示帧的至少一个边缘上的边界的在连续图像之间基本保持不变的静态边界。在一些实施方案中,静态边界模块324配置为接收多个媒体帧,并且配置为分析多个媒体帧以沿着多个帧的边缘寻找静态边界。在一些实施方式中,静态边界模块324配置为通过选择一个或多个随机像素来定位边界,并且将像素线垂直和/或水平地与随机像素进行比较,以确定是否存在与随机选择的像素颜色接近的连续像素线。在一些实施方式中,这种像素线可以在整个图像上延伸,或者在图像的一部分(例如,图像的四分之一)上延伸。在一些实施方式中,静态边界模块324配置为定位从一帧到下一帧是静态并且含有颜色相对一致的像素的边界。在一些实施方式中,静态边界模块324配置为定位从一帧到下一帧是静态并且含有颜色相对一致的像素的边界,但是其还包含一些附加的静态信息,诸如不同颜色的嵌入边界中的文本。一旦定位了边界,无论它是否含有嵌入文本,都可以在剪裁处理期间将其视为图像。
在一些实施方式中,图像分析模块330包括光学字符识别(OCR)模块332,其配置为检测嵌入图像数据中的文本。图像数据可以是诸如视频的一个或多个媒体帧。OCR模块332可以包括应用程序、小应用程序、服务、服务器、后台程序、例程或其它可执行逻辑,用于标识嵌入在一个或多个媒体帧的图像数据中的文本。在一些实施方式中,OCR模块332可以将对应于字母的预定矢量或位图图像与图像的一部分进行比较,诸如经由滑动窗口。在一些实施方式中,OCR模块332可以基于先前的字母(例如,根据文本预测系统)来选择参考图像(例如,字母),这可以提高效率。
在一些实施方式中,图像分析模块330包括对象检测模块334,其配置为使用在不同对象上训练的神经网络,诸如经由数十、数百或数千个对象的参考图像。对象检测模块334可以包括应用程序、小应用程序、服务、服务器、后台程序、例程或其它可执行逻辑,用于在一个或多个媒体帧中标识可视对象(即,当显示时创建对象的可视表示的数据)。对象检测模块334可以配置为检测诸如汽车、建筑物、人、动物、街道标志等的对象、文本、媒体帧的边界、媒体帧的一侧或多侧的一致颜色填充,等等。神经网络可以标识对象的图像中的类似元素,并且创建表示对象的元素的分类,其然后可以用于标识新图像中的对象。图像分析模块330可以生成围绕所标识的对象的边界框,使得可以从图像到图像跟踪边界框。
在一些实施方式中,图像分析模块330包括面部跟踪模块336,其配置为接收多个媒体帧并分析多个媒体帧以检测面部特征,例如,经由本征脸(eigenface)或类似的结构。面部跟踪模块336可以包括应用程序、小应用程序、服务、服务器、后台程序、例程或其它可执行逻辑,用于标识在显示时创建一个或多个面部的视觉表示和一个或多个面部的相对运动的媒体的一个或多个连续帧之间的相似性。然后可以通过根据面部特征来匹配多个媒体帧中的每一个中的面部特征来实现面部跟踪。
在一些实施方式中,图像分析模块330包括运动分析模块338,其配置为分析在多个媒体帧中检测到的对象的运动,并且计算多个媒体帧之间的运动矢量。运动分析模块338可以包括应用程序、小应用程序、服务、服务器、后台程序、例程或其它可执行逻辑,用于标识在显示时创建一个或多个对象的视觉表示和一个或多个对象的相对运动的媒体一个或多个连续帧之间的相似性。在一些实施方案中,运动分析模块338配置为从第一媒体帧的区域中的像素到第二媒体帧的像素的差异计算全局运动向量。
在一些实施方式中,图像分析模块330包括熵模块340,其配置为分析多个媒体帧中的每个帧的熵并计算熵的差异(即,已发生的从一帧到另一帧的变化量或差异的度量)以确定关键帧。熵模块340可以包括应用程序、小应用程序、服务、服务器、后台程序、例程或其它可执行逻辑,用于分析一个或多个媒体帧的熵。在一些实施方式中,熵模块340配置为分析媒体帧的所标识的区域之间的熵以计算熵的差异以确定关键区域。在一些实施方式中,熵340模块配置为从多个媒体帧中提取值,该值表征与帧中的区域相关联的运动向量的随机性,从而允许多个媒体帧被分割成不同的事件(例如,在视频中的场景变化)。
在一些实施方式中,信号融合计算器模块350配置为合并来自时域分析模块320和图像分析模块330的数据,并且确定包括多个媒体帧的整个场景的重要对象和/或特征。然后,剪裁计算器模块352可以使用合并后的数据来剪裁多个媒体帧以重新生成媒体。在一些实施方式中,媒体被重新生成为目标宽高比的视频。在一些实施方式中,信号融合计算器模块350配置为将权重指派给分析器的不同输出。信号融合计算器模块350可以通过指定范围将不同输出归一化为已经由深度学习方法确定的值。
自动剪裁媒体的方法
图4是剪裁媒体帧的方法400的实施方式的流程图。在一些实施方式中,方法400由执行储存在数据储存装置144上的指令的媒体服务器系统104的处理器142实施,并且可以使用从媒体内容数据库154提取的媒体。简而言之,方法400包括在402处接收媒体帧并且在404处标识帧中包括特征的区域。如果在406处标识出附加区域,则该方法返回在404处标识帧中包括特征的区域。如果在406处未能标识区域,则该方法在408处基于所标识的一个或多个区域继续剪裁媒体帧。
仍然参考图4并且更详细地,方法400当在402处接收到媒体帧时开始。在一些实施方式中,媒体是含有多个媒体帧的媒体文件(例如,视频文件)。媒体可以储存在媒体内容数据库154中或通过网络接口146取回。在一些实施方式中,将媒体帧作为流媒体数据的一部分接收。可以通过网络接口146接收流媒体。在一些实施方式中,媒体帧是所储存的媒体的列表的一部分,并且每个媒体依次被处理。在一些实施方式中,首先确定是否需要剪裁和/或处理媒体。可以通过将所储存的媒体的所储存的维度、宽高比、分辨率等与目标值进行比较来完成确定。
在404处标识帧中的包括特征的区域。在一些实施方式中,通过使用面部识别分析帧来标识特征。在一些实施方式中,通过使用光学字符识别分析帧的文本来标识特征。在一些实施方式中,通过使用对象识别来分析帧的对象(例如,汽车、建筑物、人、动物、街道标志等)来标识特征。在一些实施方式中,通过分析帧的边界、帧和/或填充(例如,在帧的一个或多个边缘处的一致或接近一致颜色的边界)来标识特征。在一些实施方式中,分析帧以标识多个特征。特征可以是不同类型(例如,面部、文本、对象等)。如果在406处标识附加区域,则该方法返回在404处标识帧中包括特征的附加区域。
如果在406处未能标识附加区域,则在408处基于一个或多个区域剪裁媒体帧。在一些实施方式中,仅在目标宽高比的一个或多个值小于媒体帧的宽高比的当前值的情况下剪裁媒体帧。在一些实施方式中,仅在目标分辨率的一个或多个值小于媒体帧的分辨率的当前值的情况下剪裁媒体帧。在一些实施方式中,剪裁媒体帧以匹配目标宽高比或匹配目标分辨率。可以将附加填充添加到所剪裁的媒体帧的一侧或多侧,以匹配目标宽高比或匹配目标分辨率。在一些实施方式中,所剪裁的区域还基于媒体帧之前和/或之后的媒体帧中的一个或多个。
在一些实施方式中,可以添加一些填充以在剪裁期间满足目标宽高比。在一些实施方式中,如果在媒体帧的一个或多个边缘上存在静态边界,则可以移动或重新格式化它们以形成和/或成为填充的一部分。
在一些实施方式中,接收多个媒体帧并分析多个媒体帧以确定场景变化。关键点检测可以用于分析何时在指示场景中断或场景变化的关键点中发生大的变化。在一些实施方式中,将一帧中的所有像素的比较与连续帧中的像素进行比较,并且如果在被视为光流的一部分时多于某个阈值的像素是不同的,则它指示场景变化。在一些实施方式中,在多个媒体帧之间计算运动矢量,并且连续帧之间缺少连贯的运动矢量指示场景变化。然后可以在特定场景内标识特征,并且在特定场景内的多个媒体帧之中跟踪含有特定特征的区域。在实施方式中,在多个媒体帧内跟踪特定特征的位置的信息还用于基于该区域确定在何处剪裁媒体帧。
在一些实施方式中,接收多个媒体帧并分析多个媒体帧以标识面部特征。然后可以通过跟踪面部特征来在多个媒体帧中的每一个中匹配面部特征来实施面部跟踪。
在一些实施方式中,接收多个媒体帧,并且分析多个媒体帧以沿着多个帧的边缘寻找静态边界。在一些实施方式中,为了定位边界,选择随机像素,并且将像素线垂直和/或水平地与随机像素进行比较,以确定是否存在与随机选择的像素颜色接近的连续的像素线。在一些实施方式中,定位边界,该边界从一帧到下一帧是静态的并且含有颜色相对一致的像素。在一些实施方式中,可以定位边界,该边界从一帧到下一帧是静态的并且含有颜色相对一致的像素的,而且还含有一些附加静态信息,诸如嵌入在具有不同颜色的边界中的文本。一旦定位边界,无论它是否含有嵌入文本,都可以在剪裁处理期间将其视为图像。
图5是通过确定多个区域中的每一个的分数来剪裁媒体帧的方法500的实施方式的流程图。在一些实施方式中,方法500由执行储存在数据储存装置144上的指令的媒体服务器系统104的处理器142实施,并且可以使用从媒体内容数据库154提取的媒体。简而言之,方法500包括在502处接收媒体帧并且在504处标识帧中的包括特征的区域。如果在506处标识出附加区域,则该方法在508处基于相应特性确定所标识的区域的分数,并返回到在504处标识帧中包括特征的区域。如果在506处未能标识区域,则该方法继续,在510处确定所标识的区域中的一个或多个的分数超过阈值,并且在512处剪裁媒体帧以包含超过阈值的一个或多个区域。
仍然参考图5并且更详细地,方法500在502处接收到媒体帧时开始。在一些实施方式中,媒体是含有多个媒体帧的媒体文件(例如,视频文件)。可以将媒体储存在媒体内容数据库154中或通过网络接口146取回媒体。在一些实施方式中,将媒体帧作为流媒体数据的一部分接收。可以通过网络接口146接收流媒体。
在504处标识帧中包括特征的区域。在一些实施方式中,通过使用面部识别分析帧来标识帧中的特征中的一个或多个。在一些实施方式中,通过使用光学字符识别分析帧的文本来标识帧中的特征中的一个或多个。在一些实施方式中,通过使用对象识别来分析帧的对象(例如,汽车、建筑物、人、动物、街道标志等)来标识区域中的特征中的一个或多个。在一些实施方式中,通过分析帧的边界、帧和/或填充(例如,在帧的一个或多个边缘处的一致或接近一致颜色的边界)来标识区域中的特征中的一个或多个。在一些实施方式中,还分析每个区域以潜在地标识一个或多个区域中的多个特征。多个区域中的每一个中的特征可以是不同类型(例如,面部、文本、对象等)。如果在506处标识附加区域,则该方法在508处基于相应特性来确定所标识的区域的分数,并且返回在504处标识帧中包括特征的附加区域。
在508处确定基于相应特征的所标识区域的分数。在一些实施方式中,分数基于位于该区域中或至少部分地位于该区域中的特征的类型。在一些实施方式中,基于位于该区域中的特征的类型对分数进行加权。可以通过使用训练数据来确定权重。在一些实施方式中,训练数据可以用作深度学习推理模型的输入。在一些实施方式中,训练数据是基于对重要媒体区域的选择的数据输入。分数可以基于的一些特征可以包含区域中的特征的大小、区域中的特征的类型、区域中的特征的运动、区域中的特征的相对运动、与该区域相关联的模糊量、与区域中的特征相关联的模糊量等。在一些实施方式中,将分数分配给特征而不是包含特征的区域。在一些实施方式中,确定多个区域中的每一个的分数包括确定多个区域的排名,至少确定多个区域中的排名靠前的区域。在一些实施方式中,确定多个区域中的每一个的分数包括将多个区域中的每一个从最高到最低排序,其中较高排序的区域更可能被适配在媒体帧的任何剪裁中。
如果在506处未能标识附加区域,则该方法在510处确定一个或多个区域的分数超过阈值。在一些实施方式中,多个区域中的每一个的分数包括用于比较的值。在一些实施方式中,在剪裁媒体帧时考虑该区域之前,区域的分数必须超过阈值。在一些实施方式中,当剪裁媒体帧时,仅优先包含最高分数的区域。在一些实施方式中,当剪裁媒体帧时,基于其相应的分数优先包含多个区域。在一些实施方式中,确定哪个区域组合产生最大化分数,其中所有区域能够适合在剪裁的媒体帧的区域内。
如果在506处标识附加区域,则在512处剪裁媒体帧以包含具有超过阈值的相关联的分数的一个或多个区域。在一些实施方式中,当确定在剪裁媒体帧时要包含的区域时,仅考虑确定具有超过阈值的分数的多个区域中的区域。在一些实施方式中,仅在目标宽高比的一个或多个值小于媒体帧的宽高比的当前值的情况下剪裁媒体帧。在一些实施方式中,仅在目标分辨率的一个或多个值小于媒体帧的分辨率的当前值的情况下剪裁媒体帧。在一些实施方式中,剪裁媒体帧以匹配目标宽高比或匹配目标分辨率。可以将附加填充添加到所剪裁的媒体帧的一侧或多侧,以匹配目标宽高比或匹配目标分辨率。在一些实施方式中,所剪裁的区域还基于媒体帧之前和/或之后的媒体帧中的一个或多个。
图6是基于特征的移动生成或更新分数的方法600的实施方式的流程图。在一些实施方式中,方法600由执行储存在数据储存装置144上的指令的媒体服务器系统104的处理器142实施,并且可以使用从媒体内容数据库154提取的媒体。简而言之,方法600包括在602处接收多个媒体帧并且在604处标识多个媒体帧中包括相同特征的区域。如果在606处标识附加区域,则该方法继续在608处确定特征从该区域的移动量,并且在返回在604处标识包括相同特征的多个帧中的每一个中的附加区域之前,在610处基于特征的移动来生成或更新该区域的分数。如果在606处没有标识附加区域,则该方法停止。
仍然图6并且更详细地,方法600在602处接收到媒体帧时开始。在一些实施方式中,媒体是含有多个媒体帧的媒体文件(例如,视频文件)。媒体可以储存在媒体内容数据库154中或通过网络接口146取回。在一些实施方式中,将媒体帧作为流媒体数据的一部分接收。可以通过网络接口146接收流媒体。
在604处标识多个帧中的每一个中的包括相同特征的区域。在一些实施方式中,将特征标识为相同特征包括比较特征的特性。特征的特性可以包含对象属性、颜色值、大小等。在一些实施方式中,将特征标识为相同特征还基于在帧之前和之后的多个帧中的帧之间界定特征的区域的接近度。
如果在606处标识附加区域,则在608处确定特征从该区域的移动量。在一些实施方式中,特征从该区域的移动量由多个帧中的每一个内的特征的绝对位置确定。在一些实施方式中,当与之前的帧或之后的帧中的一个或多个比较时,特征从该区域的移动量由多个帧中的每一个内的特征的相对位置确定。在一些实施方式中,移动量由多个帧中的一个或多个之间的特征的大小的增大或减小来确定。可以使用确定特征的移动量的不同方式的组合来确定多个帧中的两个或多个帧之间的移动量。
基于特征的移动,在610处生成或更新区域的分数。在一些实施方式中,分数基于接收到的多个帧的两个或多个帧之间的特征的移动量,或者基于接收到的多个帧的两个或多个帧之间的特征的移动量来调节。在一些实施方式中,通过基于在一个或多个特征的多个帧之间确定的移动量来加权帧的含有一个或多个特征的区域的现有分数来调整分数。在一些实施方式中,将分数分配给特征,而不是含有特征的区域。在一些实施方式中,确定多个区域中的每一个的分数包括确定多个区域的排名,至少确定多个区域中的排名靠前的区域。在一些实施方式中,确定多个区域中的每一个的分数包括将多个区域中的每一个从最高到最低排序,其中较高排序的区域更可能被包含在媒体帧的任何剪裁中。
使用元数据
可以在不同计算系统上进行媒体转换,媒体转换包含检测对于每一帧重要的图像或视频的部分(例如,特征),并且智能地剪裁或填充以保留重要特征同时丢弃不重要的区域、静止边界等。在一些实施方式中,图像、视频或其它媒体的部分的检测可以在服务器系统上完成,并且用于创建将含有特征的区域或边界与媒体的帧相关联的元数据。基于所标识的重要区域,可以智能地剪裁或填充图像或视频以保留重要特征(诸如不重要区域、静态边界等),同时在另一装置(例如移动装置)上丢弃不重要的区域、静态边界等。检测到的特征可以包含面部跟踪、对象检测和/或识别、文本检测、主色检测、运动分析、场景变化检测和图像显著性。检测和标识可以使用基于深度学习的方法和算法。文本检测可以使用光学字符识别(OCR)。检测要放置在元数据中的特征允许在移动装置上执行最佳剪裁路径。本发明的其它方面可以包含填充图像以匹配背景颜色,以及移除和/或重新格式化任何边界以适配新的显示模式。尽管媒体主要在视频方面进行讨论,但是在许多实施方式中,该系统可以应用于单独的图像或帧。
图7是使用接收到的元数据剪裁媒体帧的方法700的实施方式的流程图。在一些实施方式中,方法700由执行储存在数据储存装置124上的指令的移动装置102的处理器122执行。简而言之,方法700包括在702处接收媒体帧,在704处接收与媒体相关联的元数据,在706处基于接收到的元数据标识帧中的区域,在708处基于该区域剪裁媒体帧,并在710处接收下一媒体帧。
仍然参考7并且更详细地,方法700在702处接收到媒体帧时开始。在一些实施方式中,媒体是含有多个媒体帧的媒体文件(例如,视频文件)。可以通过网络接口126接收媒体并且将媒体储存在数据储存装置124中。在一些实施方式中,将媒体帧作为流媒体数据的一部分接收。可以通过网络接口146接收流媒体。
在704处接收与媒体相关联的元数据。在一些实施方式中,将元数据作为含有多个媒体帧的媒体文件的一部分接收。在一些实施方式中,独立地接收元数据,以及将元数据与接收到的多个媒体帧相关联的标识符或其它数据。在一些实施方式中,元数据包括与多个媒体帧中的一个或多个相关联的区域相关的数据。在一些实施方式中,元数据中包含多个媒体帧中的每一个的一个或多个区域的边界信息。在一些实施方式中,元数据中含有一个或多个特征在媒体的多个帧中的每一个内的位置。特征可以包含诸如汽车、建筑物、人、动物、街道标志等的对象、文本、媒体帧的边界、媒体帧的一侧或多侧的一致颜色填充等。在一些实施方式中,元数据可以标识多个媒体帧中的一个或多个的多个特征和/或区域。在一些实施方式中,元数据与目标宽高比或目标分辨率相关联。在一些实施方式中,元数据可以标识媒体帧的一个或多个区域。一个或多个所标识的区域中的每一个可以是确定为具有超过阈值的分数的区域。分数可以由如上所述的剪裁计算器来确定。
在706处基于接收到的元数据标识帧中的区域。在一些实施方式中,从元数据中取回帧中的区域,并且包括通过使用面部识别来标识的特征。在一些实施方式中,从元数据中取回帧中的区域,并且包括通过使用光学字符识别分析帧的文本来标识的特征。在一些实施方式中,从元数据中取回帧中的区域,并且包括通过使用对象识别来分析对象(例如,汽车、建筑物、人、动物、街道标志等)的帧而标识的特征。在一些实施方式中,从元数据中取回帧中的区域并且包括通过分析帧的边界、边界和/或填充(例如,在帧的一个或多个边缘处的一致或接近一致颜色的边界)而标识的特征。在一些实施方式中,从元数据中取回帧中的区域并且该区域包括多个特征。特征可以是不同类型(例如,面部、文本、对象等)。在一些实施方式中,从媒体帧的元数据中取回多个区域。在一些实施方式中,接收多个媒体帧,并且元数据与多个媒体帧相关联。
在708处,基于该区域剪裁媒体帧。在一些实施方式中,仅在目标宽高比的一个或多个值小于媒体帧的宽高比的当前值的情况下剪裁媒体帧。在一些实施方式中,仅在目标分辨率的一个或多个值小于媒体帧的分辨率的当前值的情况下剪裁媒体帧。在一些实施方式中,剪裁媒体帧以匹配目标宽高比或匹配目标分辨率。目标宽高比或目标分辨率可以根据显示媒体帧的移动装置102的取向而改变。可以将附加填充添加到剪裁的媒体帧的一侧或多侧,以匹配目标宽高比或匹配目标分辨率。在一些实施方式中,所剪裁的区域还基于媒体帧之前和/或之后的媒体帧中的一个或多个。
在710处接收下一个媒体帧,直到没有更多可用的帧。可以通过网络接口126接收下一个媒体帧并将其储存在数据储存装置124中。在一些实施方式中,接收媒体的下一个帧作为流媒体数据的一部分。可以通过网络接口146接收流媒体。只要存在更多可用的帧,该方法可以再次继续以基于接收到的元数据标识下一个帧中的区域。
图8是基于取向的改变来调整剪裁的方法800的实施方式的流程图。在一些实施方式中,方法800由移动装置102的处理器122实施,该移动装置102的处理器122执行储存在数据储存装置124上的指令并从一个或多个传感器模块132接收数据。简而言之,方法800包括在802处接收取向变化的指示,在804处标识新取向的分辨率,以及在806处基于新取向动态地调整播放媒体的剪裁。
仍然参考图8并且更详细地,方法800在802处接收到取向变化的指示时开始。在一些实施方式中,从传感器模块132(例如,加速计和/或磁力计)接收取向改变的指示。在一些实施方式中,取向的改变或取向的检测发生在媒体的显示之前。在一些实施方式中,取向的改变发生在媒体的显示期间,并且在检测到取向的改变之后实时地发生对媒体的显示的改变。
在804处标识新取向的分辨率和/或宽高比。在一些实施方式中,分辨率和/或宽高比由显示媒体的应用程序预先确定。分辨率和/或宽高比可以具有横屏取向和竖屏取向的预定值。在一些实施方式中,确定取决于取向的分辨率和/或宽高比以最小化未使用的显示空间的量。在一些实施方式中,确定取决于取向的分辨率和/或宽高比,以最小化将所显示的媒体适配到可用显示空间中所需的填充量。
在806处基于新取向动态调整播放媒体的剪裁。在一些实施方式中,取向的改变发生在媒体的显示期间,并且在检测到取向的改变之后实时地发生对媒体的显示的改变。在一些实施方式中,媒体帧或多个媒体帧保持相同,但是基于接收到的元数据来改变剪裁以适配新的分辨率和/或宽高比。
图9是可用于实施方式移动装置102、媒体服务器系统104等的计算系统900的一般体系结构的框图。计算系统900包含用于传送信息的总线905或其它通信部件,以及耦接到总线905的用于处理信息的处理器910。计算系统900还可以包含耦接到总线的一个或多个处理器910,用于处理信息。计算系统900还包含主存储器915(诸如RAM或其它动态储存装置),主存储器915耦接到总线905,用于储存信息和由处理器910执行的指令。主存储器915还可以用于在处理器910执行指令期间储存位置信息、临时变量或其它中间信息。计算系统900还可以包含ROM 920或耦接到总线905的其它静态储存装置,用于储存处理器910的静态信息和指令。诸如固态装置、磁盘或光盘的储存装置925耦接到总线905,用于持久地储存信息和指令。计算系统900可以包含但不限于数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片式服务器、大型机、蜂窝电话、智能电话、移动计算装置(例如,记事本、电子阅读器等)等
计算系统900可以经由总线905耦接到显示器935,诸如液晶显示器(LCD)、薄膜晶体管LCD(TFT)、有机发光二极管(OLED)显示器、LED显示器、电子纸张显示器、等离子显示板(PDP)和/或其它显示器等,用于向用户显示信息。输入装置930(诸如包含字母数字键和其它键的键盘)可以耦接到总线905,用于将信息和命令选择传送到处理器910。在另一实施方式中,输入装置930可以与显示器935集成,诸如在触摸屏显示器中。输入装置930可以包含光标控件,诸如鼠标、轨迹球或光标方向键,用于将取向信息和命令选择传送到处理器910并用于控制显示器935上的光标移动。
根据各种实施方式,本文描述的过程和/或方法可以由计算系统900响应于处理器910执行包含在主存储器915中的指令的布置来实施。这些指令可以从另一计算机可读介质(诸如储存装置925)读入主存储器915。执行包含在主存储器915中的指令的布置使得计算系统900进行本文描述的说明性过程和/或方法步骤。还可以采用多处理布置的一个或多个处理器来执行包含在主存储器915中的指令。在替代性实施方式中,可以使用硬连线电路代替软件指令或与软件指令组合以实施说明性实施方式。从而,实施方式不限于硬件电路和软件的任何特定组合。
尽管在图9中已经描述了计算系统900的实施方式,但是本说明书中描述的主题和功能性操作的实施方式可以在其它类型的数字电子电路中实施,或者在计算机软件、固件或硬件中实施(其包含本说明书中公开的结构及其结构等同物),或者在它们中的一个或多个的组合中。
本说明书中描述的主题和操作的实施方式可以在数字电子电路中实施,或者在有形介质、固件或硬件上体现的计算机软件中实施(其包含本说明书中公开的结构及其结构等同物),或者在其一个或多个的组合中。本说明书中描述的主题可以实施为一个或多个计算机程序,即计算机程序指令的一个或多个模块,编码在一个或多个计算机储存介质上,用于由数据处理装置执行或控制数据处理装置的操作。替代地或另外地,程序指令可以在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上编码,生成信号以对信息进行编码以便传输到合适的接收器装置以供数据处理设备执行。计算机储存介质可以是计算机可读储存装置、计算机可读储存基板、随机或串行存取存储器阵列或装置、或它们中的一个或多个的组合中,或者被包含在其中。此外,虽然计算机储存介质不是传播信号,但是计算机储存介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机储存介质也可以是一个或多个分开的部件或介质(例如,多个CD、磁盘或其它存储装置),或者被包含在其中。相应地,计算机储存介质是有形的和非暂时性的。
本说明书中描述的操作可以由数据处理设备对储存在一个或多个计算机可读储存装置上或从其它源接收的数据进行。
术语“数据处理设备”、“计算装置”或“处理电路”包括用于处理数据的所有类型的设备、装置和机器,在一些实施方式中包含可编程处理器、计算机、(多个)片上系统、编程处理器的一部分、或者前述的组合。该设备可以包含专用逻辑电路,例如FPGA或ASIC。除了硬件,该设备还可以包含为相关的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统、跨平台运行环境、虚拟机或其中一个或多个的组合。设备和执行环境可以实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格计算基础结构。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包含编译的或解释的语言、声明性或过程性语言,并且可以以任何形式部署,包含作为独立程序或作为模块、部件、子例程、对象或适用于计算环境的其它单元。计算机程序可以但不必对应于文件系统中的文件。程序可以储存在保存其它程序或数据(例如,储存在标记语言文档中的一个或多个脚本)的文件的一部分中,储存在专用于相关的程序的单个文件中,或者储存在多个协调文件中(例如,储存一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在位于一个计算机上、或者位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
适合于执行计算机程序的处理器在一些实施方式中包含通用微处理器和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令进行动作的处理器和用于储存指令和数据的一个或多个存储器装置。通常,计算机还将包含或可操作地耦接以从用于储存数据的一个或多个大容量储存装置(例如,磁盘、磁光盘或者光盘)接收数据,或者将数据传输到用于储存数据的一个或多个大容量储存装置。但是,计算机不需要这种装置。此外,计算机可以嵌入在另一个装置中,仅举几例,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式储存装置(例如,通用串行总线(USB)闪存驱动器)。适合于储存计算机程序指令和数据的装置包含所有形式的非易失性存储器、介质和存储器装置,在一些实施方式中包含半导体存储器装置,例如,EPROM、EEPROM和闪速存储器装置;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD光盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有显示装置的计算机上实施,例如CRT(阴极射线管)或LCD监视器,用于向用户和键盘、以及用户可以通过其向计算机提供输入的指点装置(例如,鼠标或轨迹球)显示信息。其它类型的装置也可以用于提供与用户的交互;在一些实施方式中,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包含声学、语音或触觉输入。
虽然本说明书含有许多具体的实施方式细节,但是这些不应被解释为对可能要求保护的范围的限制,而是作为特定实施方式的特定特征的描述。在单独实施方式的上下文中在本说明书中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施方式中实施。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此声明,但是在某些情况下可以从组合中切除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序进行这些操作,或者进行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施方式中的各种系统组件的分离不应被理解为在所有实施方式中都需要这种分离,并且应当理解,所描述的程序部件和系统通常可以集成在单个软件产品中或打包成多个有形媒体上体现的软件产品。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个、以及所有任何术语的任一种。
从而,已经描述了主题的特定实施方式。其它实施方式在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同的顺序进行并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或顺序次序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
除非另有说明,否则不应将权利要求理解为限于所描述的顺序或元件。应当理解,在不脱离所附权利要求的精神和范围的情况下,本领域普通技术人员可以在形式和细节上进行各种改变。要求保护落入所附权利要求及其等同物的精神和范围内的所有实施方式。

Claims (14)

1.一种将横屏视频转换为竖屏移动布局的方法,包括:
由装置的视频预处理器接收第一取向的视频的第一帧;
由所述装置的图像分析器标识所述第一帧内的第一区域,所述第一区域包括第一特征;
基于所述第一特征的特性,由所述装置的剪裁计算器为所述第一区域生成分数;
由所述剪裁计算器确定所述第一区域的分数超过阈值;
由所述图像分析器标识所述第一帧内包括第二特征的第二区域,
由所述剪裁计算器生成所述第二区域的第二分数,
由所述剪裁计算器确定所述第二分数超过所述阈值,
由所述图像分析器标识所述第一帧内包括第三特征的第三区域,
由所述剪裁计算器生成所述第三区域的第三分数,
由所述剪裁计算器确定所述第三分数小于所述阈值,
响应于所述确定,由所述装置的图像处理器剪裁所述视频的第一帧,以将所述第一区域包含在预定显示区域内,所述预定显示区域包括第二取向的所述第一帧的子集;其中剪裁所述第一帧还包括:
响应于确定所述第一区域的分数和所述第二区域的第二分数各自超过所述阈值,由所述图像分析器标识包括所述第一区域和所述第二区域的第二取向的显示区域,以及
由所述图像处理器将所述第一帧剪裁到所标识的显示区域的边界,
其中,标识包括所述第一区域和所述第二区域的第二取向的显示区域包括:
由所述剪裁计算器确定所述第一区域的分数高于所述第二区域的第二分数;
由所述图像处理器生成在所述第二取向上以所述第一特征为中心的中间显示区域,所述中间显示区域具有预定大小;
由所述图像处理器调整所述帧内的中间显示区域的位置,以在保持所述预定大小和第二取向时,包含所述第一区域和所述第二区域,以及
响应于所述确定,由所述图像处理器确定在裁剪所述第一帧时在所述预定显示区域内不包括所述第三区域。
2.如权利要求1所述的方法,其中所述第一特征包括文本,并且其中基于所述第一特征的特性生成所述第一区域的分数还包括由所述剪裁计算器生成与所述文本的大小成比例的分数。
3.如权利要求1或2所述的方法,其中所述第一特征包括文本,并且其中基于所述第一特征的特性生成所述第一区域的分数还包括由所述剪裁计算器与所述文本从所述帧的中心的距离成反比例地生成所述分数。
4.如权利要求1或2所述的方法,其中所述第一特征包括面部,并且其中基于所述第一特征的特性生成所述第一区域的分数还包括由所述剪裁计算器基于所述面部相对于所述帧的大小来生成所述分数。
5.如权利要求3所述的方法,其中所述第一特征包括面部,并且其中基于所述第一特征的特性生成所述第一区域的分数还包括由所述剪裁计算器基于所述面部相对于所述帧的大小来生成所述分数。
6.如权利要求1或2所述的方法,还包括:
由所述视频预处理器接收所述第一取向的视频的第二帧;
由所述图像分析器标识包括所述第一特征的第一区域在所述第二帧中的第二位置;并且
基于所述第一区域在所述第一帧与所述第二帧之间的移动量,由所述剪裁计算器为所述第一区域生成第二分数;并且
其中确定所述第一区域的分数超过所述阈值还包括将所述第一区域的分数与所述第一区域的第二分数相加。
7.如权利要求3所述的方法,还包括:
由所述视频预处理器接收所述第一取向的视频的第二帧;
由所述图像分析器标识包括所述第一特征的第一区域在所述第二帧中的第二位置;并且
基于所述第一区域在所述第一帧与所述第二帧之间的移动量,由所述剪裁计算器为所述第一区域生成第二分数;并且
其中确定所述第一区域的分数超过所述阈值还包括将所述第一区域的分数与所述第一区域的第二分数相加。
8.如权利要求4所述的方法,还包括:
由所述视频预处理器接收所述第一取向的视频的第二帧;
由所述图像分析器标识包括所述第一特征的第一区域在所述第二帧中的第二位置;并且
基于所述第一区域在所述第一帧与所述第二帧之间的移动量,由所述剪裁计算器为所述第一区域生成第二分数;并且
其中确定所述第一区域的分数超过所述阈值还包括将所述第一区域的分数与所述第一区域的第二分数相加。
9.如前述权利要求5所述的方法,还包括:
由所述视频预处理器接收所述第一取向的视频的第二帧;
由所述图像分析器标识包括所述第一特征的第一区域在所述第二帧中的第二位置;并且
基于所述第一区域在所述第一帧与所述第二帧之间的移动量,由所述剪裁计算器为所述第一区域生成第二分数;并且
其中确定所述第一区域的分数超过所述阈值还包括将所述第一区域的分数与所述第一区域的第二分数相加。
10.如权利要求6所述的方法,还包括:由时间图像处理器从所述第一帧的像素与所述第二帧的像素的差异来标识全局运动矢量;并且
其中,生成所述第二分数包括:由所述剪裁计算器生成分数,所述分数与第一区域在所述第一帧和第二帧之间的移动和所述全局运动矢量之间的差异成比例。
11.如权利要求7所述的方法,还包括:由时间图像处理器从所述第一帧的像素与所述第二帧的像素的差异来标识全局运动矢量;并且
其中,生成所述第二分数包括:由所述剪裁计算器生成分数,所述分数与第一区域在所述第一帧和第二帧之间的移动和所述全局运动矢量之间的差异成比例。
12.如权利要求8所述的方法,还包括:由时间图像处理器从所述第一帧的像素与所述第二帧的像素的差异来标识全局运动矢量;并且
其中,生成所述第二分数包括:由所述剪裁计算器生成分数,所述分数与第一区域在所述第一帧和第二帧之间的移动和所述全局运动矢量之间的差异成比例。
13.如权利要求9所述的方法,还包括:由时间图像处理器从所述第一帧的像素与所述第二帧的像素的差异来标识全局运动矢量;并且
其中,生成所述第二分数包括:由所述剪裁计算器生成分数,所述分数与第一区域在所述第一帧和第二帧之间的移动和所述全局运动矢量之间的差异成比例。
14.一种将横屏视频转换为竖屏移动布局的系统,包括:
装置的一个或多个处理器;
电连接到所述一个或多个处理器的网络接口;以及
计算机储存装置,电连接到所述一个或多个处理器并储存指令,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器进行包括根据权利要求1-13任一项所述的方法的操作。
CN201780051565.4A 2016-12-05 2017-12-04 将横屏视频转换为竖屏移动布局的方法 Active CN109791600B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/US2016/065025 WO2018106213A1 (en) 2016-12-05 2016-12-05 Method for converting landscape video to portrait mobile layout
USPCT/US2016/065025 2016-12-05
PCT/US2017/064542 WO2018106607A1 (en) 2016-12-05 2017-12-04 Method for converting landscape video to portrait mobile layout

Publications (2)

Publication Number Publication Date
CN109791600A CN109791600A (zh) 2019-05-21
CN109791600B true CN109791600B (zh) 2023-11-10

Family

ID=57750582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780051565.4A Active CN109791600B (zh) 2016-12-05 2017-12-04 将横屏视频转换为竖屏移动布局的方法

Country Status (4)

Country Link
US (1) US20200020071A1 (zh)
EP (1) EP3488385B1 (zh)
CN (1) CN109791600B (zh)
WO (3) WO2018106213A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109690471B (zh) * 2016-11-17 2022-05-31 谷歌有限责任公司 使用取向元数据的媒体渲染
US11282163B2 (en) * 2017-12-05 2022-03-22 Google Llc Method for converting landscape video to portrait mobile layout using a selection interface
US10839574B1 (en) * 2018-03-09 2020-11-17 Facebook, Inc. Systems and methods for generating content
CN111107192A (zh) * 2018-10-29 2020-05-05 印象认知(北京)科技有限公司 终端设备的显示屏以及终端设备
CN111199171B (zh) * 2018-11-19 2022-09-23 荣耀终端有限公司 一种皱纹检测方法和终端设备
US11665312B1 (en) * 2018-12-27 2023-05-30 Snap Inc. Video reformatting recommendation
US10887542B1 (en) 2018-12-27 2021-01-05 Snap Inc. Video reformatting system
US10929979B1 (en) * 2018-12-28 2021-02-23 Facebook, Inc. Systems and methods for processing content
US11095848B1 (en) * 2019-04-19 2021-08-17 Screenshare Technology Ltd. Method for creating vertically oriented video
US20200366973A1 (en) * 2019-05-14 2020-11-19 Pccw Vuclip (Singapore) Pte. Ltd. Automatic Video Preview Creation System
US10834465B1 (en) * 2019-06-28 2020-11-10 Netflix, Inc. Automated video cropping
CN111050204A (zh) * 2019-12-27 2020-04-21 北京达佳互联信息技术有限公司 视频裁剪方法、装置、电子设备和存储介质
FR3109686B1 (fr) * 2020-04-22 2023-05-05 Wildmoka Procédé de transposition d’un flux audiovisuel
CN112333513B (zh) * 2020-07-09 2024-02-06 深圳Tcl新技术有限公司 竖屏视频库的创建方法、设备及存储介质
CN112188283B (zh) * 2020-09-30 2022-11-15 北京字节跳动网络技术有限公司 裁剪视频的方法、装置、设备以及存储介质
CN112218160A (zh) * 2020-10-12 2021-01-12 北京达佳互联信息技术有限公司 视频转换方法及装置和视频转换设备及存储介质
CN112181165A (zh) * 2020-10-27 2021-01-05 维沃移动通信有限公司 输入方法、装置及电子设备
CN113077470B (zh) * 2021-03-26 2022-01-18 天翼爱音乐文化科技有限公司 一种横竖屏转换画面的裁剪方法、系统、装置及介质
US11765428B2 (en) 2021-04-07 2023-09-19 Idomoo Ltd System and method to adapting video size
US11627370B1 (en) * 2021-12-28 2023-04-11 Kt Corporation Converting video according to status of user device
CN114286136B (zh) * 2021-12-28 2024-05-31 咪咕文化科技有限公司 视频播放编码方法、装置、设备及计算机可读存储介质
CN114466145B (zh) * 2022-01-30 2024-04-12 北京字跳网络技术有限公司 视频处理方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215281A (ja) * 2000-12-27 2002-07-31 Internatl Business Mach Corp <Ibm> コンピュータ装置、表示デバイス、出力デバイス、表示制御装置、コンピュータプログラム、記憶媒体、イメージの処理方法
EP2204733A1 (en) * 2008-12-30 2010-07-07 Rapid Mobile Media Ltd. Graphics display
JP2012156628A (ja) * 2011-01-24 2012-08-16 Nikon Corp 電子カメラ、画像処理装置および画像処理プログラム
JP2012216184A (ja) * 2012-01-24 2012-11-08 Nanao Corp 表示装置、画像処理装置、画像領域検出方法及びコンピュータプログラム
JP2016019248A (ja) * 2014-07-10 2016-02-01 キヤノン株式会社 動画表示制御装置、動画表示制御方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0116113D0 (en) * 2001-06-30 2001-08-22 Hewlett Packard Co Tilt correction of electronic images
US7528846B2 (en) * 2005-02-23 2009-05-05 Microsoft Corporation Systems and methods to adjust a source image aspect ratio to match a different target display aspect ratio
CN101843093A (zh) * 2008-09-08 2010-09-22 索尼公司 图像处理设备和方法、图像捕捉设备、以及程序
US9020298B2 (en) * 2009-04-15 2015-04-28 Microsoft Technology Licensing, Llc Automated image cropping to include particular subjects
US10645344B2 (en) * 2010-09-10 2020-05-05 Avigilion Analytics Corporation Video system with intelligent visual display
US9008436B2 (en) * 2011-10-28 2015-04-14 Intellectual Ventures Fund 83 Llc Image recomposition from face detection and facial features

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215281A (ja) * 2000-12-27 2002-07-31 Internatl Business Mach Corp <Ibm> コンピュータ装置、表示デバイス、出力デバイス、表示制御装置、コンピュータプログラム、記憶媒体、イメージの処理方法
EP2204733A1 (en) * 2008-12-30 2010-07-07 Rapid Mobile Media Ltd. Graphics display
JP2012156628A (ja) * 2011-01-24 2012-08-16 Nikon Corp 電子カメラ、画像処理装置および画像処理プログラム
JP2012216184A (ja) * 2012-01-24 2012-11-08 Nanao Corp 表示装置、画像処理装置、画像領域検出方法及びコンピュータプログラム
JP2016019248A (ja) * 2014-07-10 2016-02-01 キヤノン株式会社 動画表示制御装置、動画表示制御方法及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Looking into Video Frames on Small Displays;Xin Fan等;《Proceedings of the 11th ACM international conference on Multimedia》;20031108;全文 *
Video Retargeting: Automating Pan and Scan;Feng Liu等;《Proceedings of the 14th ACM international conference on Multimedia》;20061027;全文 *
面向PC的实时读出系统二维图象处理及其集成交互软件;高峰,张儒端;光子学报(第02期);全文 *

Also Published As

Publication number Publication date
US20200020071A1 (en) 2020-01-16
EP3488385B1 (en) 2023-08-16
CN109791600A (zh) 2019-05-21
WO2018106692A1 (en) 2018-06-14
WO2018106607A1 (en) 2018-06-14
WO2018106213A1 (en) 2018-06-14
EP3488385A1 (en) 2019-05-29

Similar Documents

Publication Publication Date Title
CN109791600B (zh) 将横屏视频转换为竖屏移动布局的方法
US11605150B2 (en) Method for converting landscape video to portrait mobile layout using a selection interface
US11322117B2 (en) Media rendering with orientation metadata
US8487959B1 (en) Generating simulated eye movement traces for visual displays
US9449230B2 (en) Fast object tracking framework for sports video recognition
US8873887B2 (en) Systems and methods for resizing an image
US20160133297A1 (en) Dynamic Video Summarization
RU2662632C2 (ru) Представление документов фиксированного формата в формате с измененной компоновкой
CN112215171B (zh) 目标检测方法、装置、设备及计算机可读存储介质
CN103988202A (zh) 基于索引和搜索的图像吸引力
CN111488873B (zh) 一种基于弱监督学习的字符级场景文字检测方法和装置
Chen et al. Improved seam carving combining with 3D saliency for image retargeting
CN112789650A (zh) 检测半透明图像水印
CN112329762A (zh) 图像处理方法、模型训练方法、装置、计算机设备和介质
KR20220058892A (ko) 가림없는 비디오 오버레이
CN110942056A (zh) 服饰关键点定位方法、装置、电子设备及介质
KR20220097945A (ko) 비-폐쇄 비디오 오버레이
US11526652B1 (en) Automated optimization of displayed electronic content imagery
KR20150088653A (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