CN109690471A - 使用取向元数据的媒体渲染 - Google Patents
使用取向元数据的媒体渲染 Download PDFInfo
- Publication number
- CN109690471A CN109690471A CN201680088676.8A CN201680088676A CN109690471A CN 109690471 A CN109690471 A CN 109690471A CN 201680088676 A CN201680088676 A CN 201680088676A CN 109690471 A CN109690471 A CN 109690471A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- media
- implementations
- cutting
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000003860 storage Methods 0.000 claims description 38
- 238000013075 data extraction Methods 0.000 claims 2
- 230000004044 response Effects 0.000 abstract description 3
- 230000033001 locomotion Effects 0.000 description 29
- 238000004458 analytical method Methods 0.000 description 26
- 230000015654 memory Effects 0.000 description 24
- 230000003068 static effect Effects 0.000 description 24
- 238000001514 detection method Methods 0.000 description 22
- 238000013500 data storage Methods 0.000 description 14
- 238000010191 image analysis Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000001815 facial effect Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 239000000945 filler Substances 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/363—Graphics controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/22—Cropping
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0442—Handling or displaying different aspect ratios, or changing the aspect ratio
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/045—Zooming at least part of an image, i.e. enlarging it or shrinking it
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0492—Change of orientation of the displayed image, e.g. upside-down, mirrored
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/14—Solving problems related to the presentation of information to be displayed
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
描述了使用计算装置裁剪特定取向的媒体的系统和方法。在一些实现方式中,方法可以首先包括由装置的视频预处理器接收在第一取向中的第一媒体帧。可以由图像分析器标识第一帧内包括第一特征的第一区域。装置的裁剪计算器可以基于第一特征的特性生成第一区域的分数并且确定第一区域的分数超过阈值。响应于确定第一区域的分数超过阈值,装置的图像处理器然后可以裁剪视频的第一帧,以在包括第二取向中的第一帧的子集的预定的显示区域内包含第一区域。
Description
背景技术
在诸如互联网或其他网络的网络环境中,第一方内容提供商可以在资源(诸如网页、文档、应用和/或其他资源)上提供公开呈现的信息。第一方内容可以包括由第一方内容提供商经由资源服务器提供的文本,视频和/或音频信息,以通过互联网在客户端装置上呈现。以可以设计为在桌面上或以横向取向观看的宽纵横比录制的视频和相似的媒体不能将直接全屏显示到以垂直或纵向取向保持的移动装置上,并且典型地将其裁剪至中心,从而丢失视频的左右边缘处的细节,或在顶部和底部处用黑条包围,从而减小视频的显示尺寸。垂直取向媒体是许多应用中观看和显示媒体的流行格式。因为许多视频和其他媒体仅以宽纵横比布局来录制,因而该布局有大量的库存,然而发行人的需求越来越需要纵向布局。
发明内容
一种实现方式涉及一种方法,该方法包括:由移动装置接收第一取向中的视频的第一帧;由移动装置接收与视频的第一帧相关联的元数据;从该元数据由移动装置的视频预处理器提取视频的第一帧的第一区域的标识;由移动装置的视频预处理器将视频的第一帧裁剪至在视频的第一帧的所标识的第一区域上居中的裁剪的尺寸,该裁剪尺寸基于第一纵横比、分辨率和第二取向以显示视频的第一帧;并且在移动装置的显示器上显示在第二取向中的视频的裁剪的第一帧。
裁剪视频的第一帧还可以包括:基于第一纵横比、分辨率和第二取向计算帧边界以应用于视频的第一帧;并且基于所计算出的帧边界,标识在视频的第一帧的所标识的第一区域上居中的矩形的裁剪坐标。
裁剪视频的第一帧还可以包括标识界定所有第一区域的矩形的裁剪坐标。
该区域可以与视频的第一帧的多个区域相关联,并且裁剪视频的第一帧还可以包括:基于第一纵横比、分辨率和第二取向计算帧边界以应用于视频的第一帧;并且基于所计算出的帧边界,标识在视频的第一帧的所标识的第一区域上居中的矩形的裁剪坐标。
该方法还可以包括:确定矩形的裁剪坐标不足以界定所有的多个区域;并且其中标识在多个区域中的一个上居中的矩形的裁剪坐标可以包括在矩形的裁剪坐标内包含文本图像。
该方法还可以包括:由移动装置接收第一取向中的视频的第二帧;从元数据由移动装置的视频预处理器提取与视频的第二帧的第二区域相关联的区域数据;由移动装置的视频预处理器将视频的第二帧裁剪至裁剪的尺寸,该裁剪的尺寸在第一帧的所标识的第一区域上居中并且还基于第一纵横比、分辨率和第一取向以显示视频的第二帧;并且在移动装置的显示器上显示在第一取向中的视频的裁剪的第二帧。
元数据可以包括视频的第一帧中的具有相关联分数的一个或多个区域。该分数或每个分数可以与相应区域中的至少一个特征相关联。基于至少一个特征的一个或多个特性生成该分数或者每个分数。视频的第一帧的一个或多个区域可以与超过预先确定的阈值的分数相关联。
可以通过由装置的视频预处理器接收在第一取向中的第一媒体(例如视频)帧,生成元数据所标识的区域。可以由图像分析器标识第一帧内包括第一特征的第一区域。装置的裁剪计算器可以基于第一特征的特性生成第一区域的分数,并且确定第一区域的分数超过阈值。其他实现方式涉及使用计算装置裁剪特定取向的媒体的系统。系统可以包括装置的一个或多个处理器中的一个或多个、电连接到一个或多个处理器的网络接口、以及电连接到一个或多个处理器的储存指令的计算机储存装置。指令在一个或多个处理器执行时可以使得一个或多个处理器进行包括上述方法的操作。
其他实现方式还涉及储存指令的计算机可读储存装置,该指令在一个或多个处理器执行时使得一个或多个处理器进行若干操作。该操作可以包含包括上述方法的操作。
附图说明
在下面的附图和描述中提出一个或多个实施例的细节。通过描述、附图和权利要求书,本公开的其它特征、方面和优势将变得显而易见,在附图中:
图1是描绘了将媒体从一个取向自动转换到另一个取向的环境的实现方式的框图。
图2是描绘了配置为用于媒体预处理、媒体分析和接收的媒体的裁剪的软件和/或硬件模块的框图。
图3是描绘了裁剪媒体帧的方法的实现方式的流程图。
图4是描绘了通过确定多个区域中的每一个的分数来裁剪媒体帧的方法的实现方式的流程图。
图5是描绘了基于特征的移动来生成或更新分数的方法的实现方式的流程图。
图6是描绘了使用接收的元数据裁剪媒体帧的方法的实现方式的流程图。
图7是描绘了基于取向的变化来调整裁剪的方法的实现方式的流程图。
图8是描绘了可以用于实现本文中所述和所示的系统的各种元件和方法的计算系统的总体架构的框图。
将认识到,出于说明的目的,一些或全部附图是示意性表示。为了说明一个或多个实现方式而提供附图,并明确理解它们将不会用于限制权利要求的范围或含义。
具体实施方式
以下更加详细地描述了涉及在计算机网络上提供信息的方法、设备和系统的各种构思,以及在计算机网络上提供信息的方法、设备和系统的实现方式。上文引入并且下文更详细地讨论的各种构思可以用很多方法中的任何一种来实现,因为所述的构思不限于实现方式中的任何特定方式。出于说明的目的,主要提供各种实现方式和应用。
本文中所公开的实现方式涉及将横向(landscape)模式中的视频自动转换到适应纵向(portrait)模式或反之亦然,同时保持全屏,其与中心裁剪或向顶部/底部添加填充相比提供改进的裁剪的视频。视频可以在一些实现方式中被修改以使得改进装置上的显示,并且可以在一些实现方式中适配于该装置。转换可以包含检测每一帧的图像或视频的重要的部分(例如特征)。基于标识的重要区域、图像或视频可以被智能地裁剪或填充以保留重要特征同时丢弃不重要的区域、静态边界等。检测到的特征可以包含面部跟踪、对象检测和/或识别、文本检测、主色(dominant color)的检测、运动分析、场景变化检测以及图像显著度。检测和识别可以使用基于深度学习的方法和算法。文本识别可以使用光学字符识别(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可以执行软件应用(例如网页浏览器或其他应用)以通过网络106从其他计算装置取回(retrieve)内容。这样的应用可以配置为从媒体服务器系统104取回第一方内容。在一些情况下,在移动装置102上运行的应用自身可以是第一方内容(例如游戏、媒体播放器等)。在一个实现方式中,移动装置102可以执行网络浏览器应用,其在客户端装置的显示器上提供浏览器窗口。提供浏览器窗口的网络浏览器应用可以通过从输入装置(例如指点装置、键盘、触摸屏或其他形式的输入装置)接收诸如网络地址的统一资源定位符(URL)的输入来操作。作为响应,客户端装置的执行来自网络浏览器应用的指令的一个或多个处理器可以从由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是媒体预处理、媒体分析和裁剪接收的媒体的软件和/或硬件模块的框图。在一些实现方式中,预处理模块210配置为预处理媒体并且使用下变频转换(down convert)模块212、下变频转换模块214、下变频转换模块216、下变频转换模块218等对媒体进行下变频转换。在一些实现方式中,预处理模块210配置为向时域分析模块220和图像分析模块230中的一个或多个发送得到的输出。时域分析模块220可以包括场景变化模块222和静态边界模块224。图像分析230可以包括OCR模块232、对象检测模块234、面部跟踪模块236、运动分析模块238和熵模块240。时域分析模块220和图像分析模块230可以配置为将它们的数据结果发送到信号融合(fusing)计算器250和裁剪计算器252。尽管分别示出,但在许多实现方式中,时域分析和图像分析模块可以是相同分析器系统或模块的部件。相似地,时域分析和图像分析模块内所示出的组件可以从时域分析或图像分析模块中分离,或者可以由其他模块提供。
在一些实现方式中,时域分析模块220可以包括应用、小程序、服务、服务器、后台程序、例程或其他可执行逻辑,用以对诸如视频的图像的一系列图像进行分析。时域分析模块220可以包括场景变化模块222,其配置为分析多个媒体帧以确定场景变化。场景变化模块222可以包括应用、小程序、服务、服务器、后台程序、例程或其他可执行逻辑,用以标识在指示视频中的场景变化或显著中断的连续图像之间的差异。在一些实现方式中,场景变化模块222配置为通过使用关键点检测来确定场景变化,以分析指示场景中断或场景变化的关键点何时有大的变化。在一些实现方式中,场景变化模块222配置为将一个帧中的所有像素与连续帧中的像素进行比较,并且当被视为是光流的部分时,如果多于一定阈值的像素是不同的,则其指示了场景变化。在一些实现方式中,场景变化模块222配置为计算多个媒体帧之间的运动矢量,并且连续帧之间的连贯运动矢量的缺失指示了场景变化。然后可以在特定场景内识别特征,并且在特定场景内的多个媒体帧之中跟踪包含特定特征的区域。在一些实现方式中,场景变化模块222配置为跟踪特定特征在多个媒体帧内的位置的信息,并且这样的信息还用于基于该区域确定裁剪媒体帧的位置。
在一些实现方式中,时域分析模块220包括静态边界模块224,其配置为分析多个媒体帧以确定是否存在静态边界以及静态边界的位置。静态边界模块224可以包括应用、小程序、服务、服务器、后台程序、例程或其他可执行逻辑,用于识别在连续图像之间保持基本不变的指示帧的至少一个边缘上的边界的静态边界。在一些实现方式中,静态边界模块224配置为接收多个媒体帧并且配置为分析多个媒体帧,以沿着多个帧的边缘寻找静态边界。在一些实现方式中,静态边界模块224配置为通过选择一个或多个随机像素来定位边界,并且将像素线垂直和/或水平地与随机像素比较,以确定是否存在与随机选择的像素颜色接近的连续像素线。这样的像素线可以延伸跨越整个图像,在一些实现方式中,或者是图像的一部分(例如图像的四分之一)。在一些实现方式中,静态边界模块224配置为定位边界,该边界从一帧到下一帧是静态的,并且包含颜色上相对一致的像素。在一些实现方式中,静态边界模块224配置为定位边界,该边界从一帧到下一帧是静态的,并且包含颜色上相对一致的像素,而且包含诸如嵌入边界的具有不同颜色的文本的一些附加的静态信息。一旦边界被定位,无论它是否包含嵌入的本文,它可以在处理裁剪期间作为图像来处理。
在一些实现方式中,图像分析模块230包括光学字符识别、OCR模块232,其配置为检测嵌入图像数据中的文本。图像数据可以是诸如视频的媒体的一个或多个帧。OCR模块232可以包括应用、小程序、服务、服务器、后台程序、例程或其他可执行逻辑,用以标识嵌入一个或多个媒体帧的图像数据中的文本。在一些实现方式中,OCR模块232可以诸如经由滑动窗口,将对应于字母的预先确定的矢量或位图与图像的部分比较。在一些实现方式中,OCR模块232可以基于先前的字母(例如根据文本预测系统)选择参考图像(例如字母),这可以提高效率。
在一些实现方式中,图像分析模块230包括对象检测模块234,其配置为使用诸如经由对象的数十个、数百个或数千个参考图像对不同对象训练的神经网络。对象检测模块234包括应用、小程序、服务、服务器、后台程序、例程或其他可执行逻辑,用以标识一个或多个媒体帧中的视觉对象(即在显示时创建对象的视觉表示的数据)。神经网络可以标识对象的图像中的相似的元素,并且创建表示对象的元素的分类,其然后可以用于标识新图像中的对象。图像分析模块230可以生成围绕标识的对象的边界框,使得可以逐个图像跟踪边界框。
在一些实现方式中,图像分析模块230包括面部跟踪模块236,其配置为接收多个媒体帧,并且例如经由本征脸(eigenface)或相似结构来分析多个媒体帧以检测面部特征。面部跟踪模块236可以包括应用、小程序、服务、服务器、后台程序、例程或其他可执行逻辑,用以标识在显示时创建一个或多个面部的视觉表示和一个或多个面部的相对运动的媒体的一个或多个连续帧之间的相似性。面部跟踪然后可以通过跟踪面部特征来实现,以在多个媒体帧中的每一个中匹配面部特征。
在一些实现方式中,图像分析模块230包括运动分析模块238,其配置为分析在多个媒体帧中检测的对象的运动,并且计算多个媒体帧之间的运动矢量。运动分析模块238可以包括应用、小程序、服务、服务器、后台程序、例程或其他可执行逻辑,用以标识在显示时创建一个或多个对象的视觉表示和一个或多个对象的相对运动的媒体的一个或多个连续帧之间的相似性。在一些实现方式中,运动分析模块238配置为从第一媒体帧的区域中的像素到第二媒体帧的像素的差异计算出全局运动矢量。
在一些实现方式中,图像分析模块230包括熵模块240,其配置为分析多个媒体帧中的每一帧的熵,并且计算熵中的差异(即测量从一个帧到另一帧已经发生的变化量或差异量)以确定关键帧。熵模块240可以包括应用、小程序、服务、服务器、后台程序、例程或其他可执行逻辑,用以分析一个或多个媒体帧的熵。在一些实现方式中,熵模块240配置为分析媒体帧的标识的区域之间的熵,以计算熵中的差异来确定关键区域。在一些实现方式中,熵模块240配置为从多个媒体帧提取值,其表征了与帧中的区域相关联的运动矢量的随机性,从而允许多个媒体分段成不同的事件(例如视频中的场景变化)。
在一些实现方式中,信号融合计算器模块250配置为合并来自时域分析模块220和图像分析模块230的数据,并且确定包括多个媒体帧的整个场景的重要的对象和/或特征。合并的数据然后可以被裁剪计算器模块252用于裁剪多个媒体帧以重新生成媒体。在一些实现方式中,媒体被重新生成为目标纵横比的视频。在一些实现方式中,信号融合计算器模块250配置为将权重分配到分析器的不同输出。信号融合计算器模块250可以通过指定的范围将不同输出规格化(normalize)到已经由深度学习方法确定的值。
自动裁剪媒体的方法
图3是裁剪媒体帧的方法300的实现方式的流程图。在一些实现方式中,方法300由媒体服务器系统104中的执行数据储存144上储存的指令的处理器142来实现,并且可以使用从媒体内容数据库154提取的媒体。简而言之,方法300包括在302处接收媒体帧和在304处标识帧中的包括特征的区域。如果在306处,附加区域被标识,则该方法回到304处标识帧中的包括特征的区域。如果306处存在未能标识区域,则该方法在308处基于识别的一个或多个区域持续裁剪媒体帧。
仍然参考图3并且更详细地,当在302处接收媒体帧时,方法300开始。在一些实现方式中,媒体是包含多个媒体帧的媒体文件(例如视频文件)。可以将媒体储存在媒体内容数据库154中,或者通过网络接口146取回。在一些实现方式中,将媒体帧作为流媒体数据的部分接收。可以通过网络接口146接收流媒体。在一些实现方式中,媒体帧是储存的媒体列表中的部分,并且依次处理每个媒体。在一些实现方式中,首先确定是否需要裁剪和/或处理媒体。通过将储存的媒体的储存的尺寸、纵横比、分辨率等与目标值比较可以完成确定。
在304处,帧中的包括特征的区域被标识。在一些实现方式中,通过使用面部识别分析帧来标识特征。在一些实现方式中,通过使用光学字符识别分析文本的帧来标识特征。在一些实现方式中,通过使用对象识别分析对象(例如汽车、建筑物、人、动物、街道标志等)的帧来标识特征。在一些实现方式中,通过分析边界的帧、帧和/或填充(例如帧的一个或多个边缘处的具有一致或接近一致颜色的边界)来识别特征。在一些实现方式中,分析帧以标识多个特征。特征可以具有不同类型(例如面部、文本、对象等)。如果306处标识了附加区域,则该方法回到304处标识帧中的包括特征的附加区域。
如果306处未能标识附加区域,则在308处基于一个或多个区域裁剪媒体帧。在一些实现方式中,仅在目标纵横比的一个或多个值小于媒体帧的纵横比的当前值的情况下裁剪媒体帧。在一些实现方式中,仅在目标分辨率的一个或多个值小于媒体帧的分辨率的当前值的情况下裁剪媒体帧。在一些实现方式中,裁剪媒体帧以匹配目标纵横比或者以匹配目标分辨率。可以将附加填充添加到裁剪的媒体帧的一个或多个侧边以匹配目标纵横比或者以匹配目标分辨率。在一些实现方式中,裁剪的区域还基于该媒体帧之前和/或之后的一个或多个媒体帧。
在一些实现方式中,可以在裁剪期间添加一些填充以满足目标纵横比。在一些实现方式中,如果在媒体帧的一个或多个边缘上存在静态边界,则可以将它们移动或重新格式化以形成和/或成为填充的部分。
在一些实现方式中,接收多个媒体帧并且分析该多个媒体帧以确定场景变化。关键点检测可以用于分析指示场景中断或场景变化的关键点何时有大的变化。在一些实现方式中,将一个帧中的所有像素的对照与连续帧中的像素比较,并且当被视为是光流的部分时,如果多于一定阈值的像素是不同的,则其指示了场景变化,则指示了场景变化。在一些实现方式中,在多个媒体帧之间计算运动矢量,并且连续帧之间的连贯运动矢量的缺失指示了场景变化。然后可以在特定场景内标识特征,并且在特定场景内的多个媒体帧之中跟踪包含特定特征的区域。在实现方式中,在多个媒体帧内跟踪特定特征的位置的信息还用于基于该区域确定裁剪媒体帧的位置。
在一些实现方式中,接收多个媒体帧并且分析该多个媒体帧以标识面部特征。面部跟踪然后可以通过跟踪面部特征来实现,以在多个媒体帧中的每一个中匹配面部特征。
在一些实现方式中,接收多个媒体帧并且分析该多个媒体帧,以沿着多个帧的边缘寻找静态边界。在一些实现方式中,为了定位边界,选择随机像素并且将像素线垂直和/或水平地与随机像素比较,以确定是否存在与随机选择的像素颜色接近的连续像素线。在一些实现方式中,定位边界,该边界从一帧到下一帧是静态的,并且包含颜色上相对一致的像素。在一些实现方式中,定位边界,该边界从一帧到下一帧是静态的,并且包含颜色上相对一致的像素,而且包含诸如嵌入边界的具有不同颜色的文本的一些附加的静态信息。一旦边界被定位,无论它是否包含嵌入的本文,它可以在处理裁剪期间作为图像来处理。
图4是通过确定多个区域中的每一个的分数来裁剪媒体帧的方法400的实现方式的流程图。在一些实现方式中,方法300由媒体服务器系统104的执行数据储存144上储存的指令的处理器142来实现,并且可以使用从媒体内容数据库154提取的媒体。简而言之,方法400包括在402处接收媒体帧和在404处标识帧中的包括特征的区域。如果在406处附加区域被标识,则该方法在408处基于相应的特性确定所标识的区域的分数,并且回到404处标识帧中的包括特征的区域。如果在406处未能标识区域,则该方法继续,在410处确定所标识的区域中的一个或多个的分数超过阈值,并且在412处裁剪媒体帧以包含具有超过阈值的分数的每个区域。
参考图4并且更详细地,当在402处接收媒体帧时方法400开始。在一些实现方式中,媒体是包含多个媒体帧的媒体文件(例如视频文件)。可以将媒体储存在媒体内容数据库154中,或者通过网络接口146取回。在一些实现方式中,将媒体帧作为流媒体数据的部分接收。可以通过网络接口146接收流媒体。
在404处,帧中的包括特征的区域被标识。在一些实现方式中,通过使用面部识别分析帧来标识区域中的一个或多个特征。在一些实现方式中,通过使用光学字符识别分析文本的帧来标识区域中的一个或多个特征。在一些实现方式中,通过使用对象识别分析对象(例如汽车、建筑物、人、动物、街道标志等)的帧来标识区域中的一个或多个特征。在一些实现方式中,通过分析边界的帧、帧和/或填充(例如帧的一个或多个边缘处的具有一致或接近一致颜色的边界)来标识区域中的一个或多个特征。在一些实现方式中,进一步分析每个区域,以潜在地标识一个或多个区域中的多个特征。多个区域中的每一个的特征可以具有不同类型(例如面部、文本、对象等)。如果在406处标识附加区域,则该方法在408处基于相应的特性确定所标识的区域的分数,并且回到404处标识帧中的包括特征的附加区域。
在408处,基于相应的特性确定所标识的区域的分数。在一些实现方式中,分数是基于位于区域中或至少部分地在区域中的特征的类型。在一些实现方式中,基于位于区域中的特征的类型加权分数。分数可以基于的一些特性可以包含:区域中的特征尺寸、区域中的特征类型、区域中的特征的运动、区域中的特征的相对运动、与区域相关联的模糊量、与区域中的特征相关联的模糊量等等。在一些实现方式中,将分数分配给特征而不是包含特征的区域。在一些实现方式中,确定多个区域中的每一个的分数包括通过至少确定多个区域中的排名靠前的区域来确定多个区域的排名。在一些实现方式中,确定多个区域中的每一个的分数包括将多个区域中的每一个从高到低排名,其中较高排名的区域更可能包含在媒体帧的任何裁剪中。
如果在406处未能标识附加区域,则该方法在410处确定一个或多个区域的分数超过阈值。在一些实现方式中,多个区域中的每一个的分数包括用于比较的值。在一些实现方式中,在裁剪媒体帧时,在考虑区域之前,该区域的分数必须超过阈值。在一些实现方式中,在裁剪媒体帧时,仅优先包含具有最高分数的区域。在一些实现方式中,在裁剪媒体帧时,基于其相应的分数优先包含多个区域。在一些实现方式中,确定了哪个区域的组合导致最大化的分数,其中所有区域能够适合裁剪的媒体帧的区域内部。
如果在406处标识附加区域,则在412处裁剪媒体帧以包含具有超过阈值的相关联的分数的一个或多个区域。在一些实现方式中,当确定裁剪媒体帧时要包含的区域时,仅考虑多个区域中的具有超过阈值的分数的区域。在一些实现方式中,仅在目标纵横比的一个或多个值小于媒体帧的纵横比的当前值的情况下裁剪媒体帧。在一些实现方式中,仅在目标分辨率的一个或多个值小于媒体帧的分辨率的当前值的情况下裁剪媒体帧。在一些实现方式中,裁剪媒体帧以匹配目标纵横比或者以匹配目标分辨率。可以将附加填充添加到裁剪的媒体帧的一个或多个侧边以匹配目标纵横比或者以匹配目标分辨率。在一些实现方式中,裁剪的区域还基于该媒体帧之前和/或之后的一个或多个媒体帧。
图5是基于特征的移动生成或更新分数的方法500的实现方式的流程图。在一些实现方式中,方法500由媒体服务器系统104中的执行数据储存144上储存的指令的处理器142来实现,并且可以使用从媒体内容数据库154提取的媒体。简而言之,方法500包括在502处接收多个媒体帧和在504处标识多个帧中的每一个中包括相同特征的区域。如果在506处标识附加区域,则该方法继续,在508处确定来自区域的特征的移动量,在510处基于特征的移动生成或更新分数,然后回到504以标识多个帧中的每一个中包括相同特征的附加区域。如果506处未能标识附加区域,则方法停止。
仍然参考图5并且更详细地,当在502处接收多个媒体帧时方法500开始。在一些实现方式中,媒体是包含多个媒体帧的媒体文件(例如视频文件)。可以将媒体储存在媒体内容数据库154中,或者通过网络接口146取回。在一些实现方式中,将多个媒体帧作为流媒体数据的部分的接收。可以通过网络接口146接收流媒体。
在504处,多个帧中的每一个中包括相同特征的区域被标识。在一些实现方式中,将特征标识为相同特征包括将特征的特性进行比较。特征的特性可以包含对象属性、颜色值、尺寸等。在一些实现方式中,将特征标识为相同特征还基于在该帧之前和之后的多个帧中的帧之间界定特征的区域的接近度。
如果在506处标识附加区域,则在508处确定来自区域的特征的移动量。在一些实现方式中,由多个帧中的每一个内的特征的绝对位置来确定来自区域的特征的移动量。在一些实现方式中,当与前面和后面帧中的一个或多个比较时,由多个帧中的每一个内的特征的相对位置来确定来自区域的特征的移动量。在一些实现方式中,通过在多个帧中的一个或多个之间特征的尺寸的增加或减少来确定移动量。确定特征的移动量的不同方法的组合可以用于确定多个帧中的两个或更多个之间的移动量。
在501处,基于移动量生成或更新区域的分数。在一些实现方式中,分数是基于接收的多个帧中的两个或更多个帧之间的特征的移动量,或者基于接收的多个帧中的两个或更多个帧之间的特征的移动量来调整。在一些实现方式中,通过以下完成分数的调整:基于一个或多个特征的在多个帧之间的确定的移动量来加权帧的包含一个或多个特征的区域的现存的分数。在一些实现方式中,将分数分配到特征而不是包含特征的区域。在一些实现方式中,确定多个区域中的每一个的分数包括通过至少确定多个区域中的排名靠前的区域来确定多个区域的排名。在一些实现方式中,确定多个区域中的每一个的分数包括将多个区域中的每一个从高到低排名,其中较高排名的区域更可能包含在媒体帧的任何裁剪中。
元数据的使用
可以在不同计算系统上进行媒体的转换,其包含检测每一帧的图像或视频的重要的部分(例如特征),以及智能裁剪或填充以保留重要特征同时丢弃不重要区域、静态边界等。在一些实现方式中,图像、视频或其他媒体的部分的检测可以在服务器系统上完成,并且用于创建将包含特征的区域或界限与媒体帧相关联的元数据。基于标识的重要区域、图像或视频可以被智能地裁剪或填充以在诸如移动装置的其他装置上保留重要特征同时丢弃不重要的区域、静态边界等。检测到的特征可以包含面部跟踪、对象检测和/或识别、文本检测、主色的检测、运动分析、场景变化检测以及图像显著度。检测和识别可以使用基于深度学习的方法和算法。文本识别可以使用光学字符识别(OCR)。检测要放置在元数据中的特征允许在移动装置上执行最佳裁剪路径。本发明的其他方面可以包含填充图像以匹配背景颜色,以及移除和/或重新格式化任何边界以适合新的显示模式。尽管主要在视频方面讨论媒体,在许多实现方式中系统可以应用于单独的图像或帧。
图6是使用接收的元数据裁剪媒体帧的方法600的实现方式的流程图。在一些实现方式中,方法600由移动装置102中的执行数据储存124上储存的指令的处理器122来实现。简而言之,方法600包括在602处接收媒体帧,在604处接收与媒体相关联的元数据,在606处基于接收的元数据标识帧中的区域,在608处基于区域裁剪媒体帧,以及在610处接收下一个媒体帧。
参考图6并且更详细地,当在602处接收媒体帧时方法600开始。在一些实现方式中,媒体是包含多个媒体帧的媒体文件(例如视频文件)。媒体可以通过网络接口126被接收并且储存在数据储存124中。在一些实现方式中,将媒体帧作为流媒体数据的部分接收。可以通过网络接口146接收流媒体。
在604处接收与媒体相关联的元数据。在一些实现方式中,将元数据作为包含多个媒体帧的媒体文件的部分接收。在一些实现方式中,独立地接收元数据、连同将元数据与接收的多个媒体帧相关联的标识符或其他数据。在一些实现方式中,元数据包括与多个媒体帧中的一个或多个相关联的区域相关的数据。在一些实现方式中,多个媒体帧中的每一个的一个或多个区域的边界信息包含在元数据中。在一些实现方式中,多个特征中的多个媒体帧的位置包含在元数据中。特征可以包含诸如汽车、建筑物、人、动物、街道标志等的对象,文本,媒体帧的边界,媒体帧的一个或多个侧边的一致颜色填充等等。在一些实现方式中,元数据可以标识多个媒体帧中的一个或多个的多个特征和/或区域。在一些实现方式中,将元数据与目标纵横比或目标分辨率相关联。元数据可以在一些实现方式中标识媒体帧的一个或多个区域。一个或多个标识的区域中的每一个可以是确定为具有超过阈值分数的区域。可以通过如上所述的裁剪计算器确定分数。
在606处,基于接收的元数据,帧中的区域被标识。在一些实现方式中,从元数据取回帧中的区域,并且该帧中的区域包括通过使用面部识别所标识的特征。在一些实现方式中,从元数据取回帧中的区域,并且该帧中的区域包括通过使用光学字符识别分析文本的帧所标识的特征。在一些实现方式中,从元数据取回帧中的区域,并且该帧中的区域包括通过使用对象识别分析对象(例如汽车、建筑物、人、动物、街道标志等)的帧所标识的特征。在一些实现方式中,从元数据取回帧中的区域,并且该帧中的区域包括通过分析边界的帧、帧和/或填充(例如帧的一个或多个边缘处的具有一致或接近一致颜色的边界)所标识的特征。在一些实现方式中,从元数据取回帧中的区域,并且该帧中的区域包括多个特征。特征可以具有不同类型(例如面部、文本、对象等)。在一些实现方式中,可以从媒体帧的元数据取回多个区域。在一些实现方式中,可以取回多个媒体帧并且元数据与多个媒体帧相关联。
在608处,基于区域裁剪媒体帧。在一些实现方式中,仅在目标纵横比的一个或多个值小于媒体帧的纵横比的当前值的情况下裁剪媒体帧。在一些实现方式中,仅在目标分辨率的一个或多个值小于媒体帧的分辨率的当前值的情况下裁剪媒体帧。在一些实现方式中,裁剪媒体帧以匹配目标纵横比或者以匹配目标分辨率。目标纵横比或目标分辨率可以根据显示媒体帧的移动装置102的取向来变化。可以将附加填充添加到裁剪的媒体帧的一个或多个侧边以匹配目标纵横比或者以匹配目标分辨率。在一些实现方式中,裁剪的区域还基于该媒体帧之前和/或之后的媒体帧中的一个或多个。
在610处接收下一个媒体帧,直到没有更多的帧可用。下一个媒体帧可以通过网络接口126接收并且储存在数据储存124中。在一些实现方式中,将下一个媒体帧作为流媒体数据的部分接收。可以通过网络接口146接收流媒体。只要存在更多可用的帧,方法可以继续,再次前进到基于接收的元数据标识下一帧中的区域。
图7是基于取向的变化调整裁剪的方法700的实现方式的流程图。在一些实现方式中,方法700由移动装置102的处理器122来实现。该处理器122执行数据储存124上储存的指令并且从一个或多个传感器模块132接收数据。简而言之,方法700包括在702处接收取向的变化的指示,在704处标识新取向的分辨率,以及在706处基于新取向动态地调整播放媒体的裁剪。
仍然参考图7并且更详细地,当在702处接收取向的变化的指示时,方法700开始。在一些实现方式中,从传感器模块132(例如加速度计和/或磁力计)接收取向的变化的指示。在一些实现方式中,取向的变化或取向的检测发生在媒体的显示之前。在一些实现方式中,取向的变化发生在媒体的显示期间,并且在检测取向的变化之后,媒体的显示的变化实时地发生。
在704处标识新取向的分辨率和/或纵横比。在一些实现方式中,分辨率和/或纵横比由显示媒体的应用来预先确定。分辨率和/或纵横比可以具有横向和纵向取向的预先确定值。在一些实现方式中,取决于取向的分辨率和/或纵横比被确定,以最小化未使用的显示空间量。在一些实现方式中,取决于取向的分辨率和/或纵横比被确定,以最小化将显示的媒体适应于可用的显示空间中所需要的填充量。
在706处基于新取向动态地调整播放媒体的裁剪。在一些实现方式中,取向的变化发生在媒体的显示期间,并且在检测取向的变化之后,媒体的显示的变化实时地发生。在一些实现方式中,(多个)媒体帧保持相同,但是基于接收的元数据改变裁剪以适应新分辨率和/或纵横比。
图8是可以用于实现移动装置102、媒体服务器系统104等的计算系统800的总体架构的框图。计算系统800包含总线805或通信信息的其他通信组件,以及耦接到总线805的处理信息的处理器810。计算系统800还可以包含耦接到总线805的处理信息的一个或多个处理器810。计算系统800还包含耦接到总线805的诸如RAM或其他动态储存装置的主存储器815,其用以储存信息和将要由处理器810执行的指令。主存储器815还可以用于,在由处理器810执行指令期间储存位置信息、临时变量或的其他中间信息。计算系统800还可以包含耦接到到总线805的ROM 802或其他静态储存装置,其用于储存静态信息和处理器810的指令。储存装置825(诸如固态硬盘、磁盘或光盘)耦接到总线805用以持久地储存信息和指令。计算系统800还包含但不限于数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型主机、蜂窝电话、智能电话、移动计算装置(例如记事本、电子阅读器等)等。
可以将计算系统800经由总线805耦接到向用户显示信息的显示器835,诸如液晶显示器(LCD)、薄膜晶体管LCD(TFT)、有机发光二极管(OLED)显示器、LED显示器,电子纸显示器、等离子显示器面板(PDP)和/或其他显示器等。可以将包含字母和其他键的诸如键盘的输入装置830耦接到总线805,以向处理器810通信信息和命令选择。在另一个实现方式中,输出装置830可以与显示器835集成,诸如触摸显示屏。输入装置830可以包含诸如鼠标、轨迹球或光标方向键之类的光标控制器,以向处理器810通信方向信息和命令选择,并且以在显示器835上控制光标移动。
根据各种实现方式,本文中所述的过程和/或方法可以由计算系统800来实现,以响应于处理器810执行主存储器815中包含的指令的布置。可以将这样的指令从诸如储存装置825的另一个计算机可读介质读取到主存储器815中。执行主存储器815中包含的指令的布置使得计算系统800进行本文中所述的说明性过程和/或方法步骤。多处理布置的一个或多个处理器还可以用于执行主存储器815中包含的指令。在替代的实现方式中,硬连线的电路可以用来代替软件指令或者与软件指令组合,以实现说明性实现方式。因此,实现方式不限于硬件电路和软件的任何具体组合。
尽管图8中已经描述了计算系统800的实现方式,但是本说明书中描述的主题的实现方式和功能操作可以被实现在其他类型的数字电子电路中,或者在计算机软件、固件或硬件(包含本说明书中所公开的结构以及其结构的等同物)中,或者在它们中的一个或多个的组合中。
本说明书中所述的主题的实现方式和操作可以被实现在数字电子电路中,或者嵌入在有形介质上的计算机软件、固件或硬件(包含本说明书中所公开的结构以及其结构的等同物),或者在它们中的一个或多个的组合中。本说明书中所述的主题可以被实现为一个或多个计算机储存介质上所编码的一个或多个计算机程序,即计算机程序指令的一个或多个模块,用以由数据处理设备执行或者控制数据处理设备的操作。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电信号、光信号或电磁信号,生成该信号来编码信息以传输到合适的接收器设备用于由数据处理设备执行。计算机储存介质可以是或者包含在计算机可读储存装置、计算机可读储存基板、随机或串行存取存储器阵列或装置,或者它们中一个或多个的组合中。此外,尽管计算机储存介质不是传播信号,但是计算机储存介质可以是编码在人工生成的传播信号中的计算机程序指令的来源和目的地。计算机储存介质还可以是或者包含在一个或多个分离的组件或介质(例如多个CD、磁盘或其他储存装置)中。相应地,计算机储存介质是有形的和非暂时性的。
可以由数据处理设备对一个或多个计算机可读储存介质上储存的数据或者从其他来源接收的数据进行本说明书中所述的操作。
术语“数据处理设备”、“计算装置”或“处理电路”涵盖处理数据的所有种类的设备、装置和机器,其在一些实现方式中包括可编程处理器、计算机、(多个)片上系统、编程处理器的部分、或者前述的组合。设备可以包含专用逻辑电路,例如FPGA和ASIC。除了硬件,该设备还可以包含代码,该代码创建相关的计算机程序的执行环境,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或它们中的一个或多个的组合的代码。设备和执行环境可以实现各种不同的计算模型基础结构,诸如网络服务、分布式计算基础结构和网格计算基础结构。
可以以任何形式的编程语言(包含编译的或解释的语言、声明性的或过程性的语言)编写计算机程序(也称为程序、软件、软件应用、脚本或代码),并且其可以以任何形式(包含作为单独的程序或作为模块、组件、子例程、对象或合适于在计算环境中使用的其他单元)来部署。计算机程序可以但不必对应于文件系统中的文件。程序可以被储存在保存其他程序或数据的文件的部分中(例如,储存在标记语言文档中的一个或多个脚本)、在专用于相关的程序的单个文件中、或在多个协同文件中(例如储存一个或多个模块、子程序或代码的部分的文件)。计算机程序可以部署为在一个计算机或者在多个计算机上执行,该多个计算机位于一个站点处或者跨越多个站点分布并且由通信网络互连。
在一些实现方式中,适合于计算机程序执行的处理器包含通用和专用微处理器两者,以及任何类型的数字计算机中的任何一个或多个处理器。总体上,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是根据指令进行行为的处理器以及储存指令和数据的一个或多个存储器装置。总体上,计算机还将包含储存数据的一个或多个海量储存装置(例如磁盘、磁光盘或光盘),或者可操作地耦接该计算机以从海量存储装置(例如磁盘、磁光盘或光盘)接收数据或者将数据传输到海量存储装置(例如磁盘、磁光盘或光盘),或者以上两者。但是,计算机不必具有这样的装置。此外,计算机可以被嵌入另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储装置(例如通用串行总线(USB)闪速驱动器),仅例举一些。适合于储存计算机程序指令和数据的装置包含所有形式的非易失性存储器、介质和存储器装置,包含一些实现方式中半导体存储器装置(例如EPROM、EEPROM和闪速存储器装置)、磁盘(例如内部硬盘或可移除盘)、磁光盘以及CD-ROM和DVD盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或LCD监控器)以及键盘和指点装置(例如鼠标或轨迹球)的计算机上来实现本说明书中所述的主题的实现方式,用户可以通过该键盘和指点装置提供输入到计算机。其他类型的装置也可以用于提供与用户的交互;在一些实现方式中,提供给用户的反馈可以是任何形式的传感反馈(例如视觉反馈、听觉反馈或者触觉反馈);并且可以以任何形式(包含声音、语音或触觉输入)接收来自用户的输入。
尽管本说明书含有许多具体的实现方式的细节,但这些不应当解释为限制主张保护的范围,而是专用于对特定实现方式的特征描述。在本说明书中所述的在单独的实施例的上下文中的某些特征还可以在单个实施例中组合地实现。相反地,在单个实现方式的上下文中的各种特征还可以在多个实现方式中分别实现或者以合适的子组合实现。此外,尽管特征可以如上描述为以某些组合作用并且甚至最初如此声明,但来自声明的组合一个或多个特征可以在一些情况下从组合中分离,并且声明的组合可以针对子组合或子组合的变型。
类似地,尽管在附图中以特定次序描述了操作,但这不应当理解为要求按所示的特定次序或顺序的次序进行这样的操作或者进行所有示出的操作以实现期望的结果。在某些环境中,多任务处理和并行处理可以是有利的。此外,如上所述的实现方式中的各种系统组件的分离不应被理解为在所有实现方式中需要这样的分离,并且应当理解的是,所述的程序组件和系统通常可以集成在单个软件产品中或者打包成在有形介质上实施的多个软件产品。
对“或”的引述可以理解为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个和所有的所述的术语中的任何术语。
因此,已经描述了主题的特定的实现方式。其他实现方式在所附权利要求的范围内。在一些情况下,权利要求中所引的动作可以以不同的次序进行,并且仍然实现期望的结果。此外,附图中所述的过程不是必须需要所示的特定的次序或顺序的次序以实现期望的结果。在某些实现方式中,多任务处理和并行处理可以是有利的。
权利要求不应该理解为受限于所述的次序或元件,除非阐明了这一点。应该理解的是,可以由本领域技术人员做出形式和细节上的各种变化,而没有偏离所附的权利要求的精神和范围。要求保护落入所附权利要求及其等同物的精神和范围内的所有实现方式。
Claims (11)
1.一种方法,包括:
由移动装置接收在第一取向中的视频的第一帧;
由所述移动装置接收与所述视频的第一帧相关联的元数据;
由所述移动装置的视频预处理器从所述元数据提取所述视频的第一帧的第一区域的标识;
由所述移动装置的视频预处理器,将所述视频的第一帧裁剪至在所述视频的第一帧的所标识的第一区域上居中的裁剪的尺寸,所述裁剪的尺寸基于第一纵横比、分辨率和第二取向以显示所述视频的第一帧;以及
在所述移动装置的显示屏上显示在所述第二取向中的所述视频的裁剪的第一帧。
2.根据权利要求1所述的方法,其中裁剪所述视频的第一帧还包括:
基于所述第一纵横比、所述分辨率和所述第二取向计算帧边界,以应用到所述视频的第一帧;以及
基于所述计算出的帧边界,标识在所述视频的第一帧的所标识的第一区域上居中的矩形的裁剪坐标。
3.根据权利要求2所述的方法,其中裁剪所述视频的第一帧还包括标识界定所有第一区域的矩形的裁剪坐标。
4.根据前述权利要求中的任一项的方法,其中所述区域数据与所述视频的第一帧的多个区域相关联,并且裁剪所述视频的第一帧还包括:
基于所述第一纵横比、所述分辨率和所述第二取向计算帧边界,以应用到所述视频的第一帧;并且
基于所述计算出的帧边界,标识在所述视频的第一帧的多个区域中的一个上居中的矩形的裁剪坐标。
5.根据权利要求4所述的方法,还包括:
确定所述矩形的裁剪坐标不足以界定所有的所述多个区域;并且
其中标识在所述多个区域中的一个上居中的所述矩形的裁剪坐标包括在所述矩形的裁剪坐标内包含文本图像。
6.根据前述权利要求中任一项所述的方法,还包括:
由所述移动装置接收在所述第一取向中的所述视频的第二帧;
由所述移动装置的视频预处理器从所述元数据提取与所述视频的第二帧的第二区域相关联的区域数据;
由所述移动装置的视频预处理器,将所述视频的第二帧裁剪至所述裁剪的尺寸,所述裁剪的尺寸在所述第一帧的所标识的第一区域上居中并且还基于所述第一纵横比、所述分辨率和所述第一取向,以显示所述视频的第二帧;并且
在所述移动装置的显示屏上显示所述第一取向中的所述视频的裁剪的第二帧。
7.根据前述权利要求中任一项所述的方法,其中所述元数据包括所述视频的第一帧的具有相关联分数的一个或多个区域。
8.根据权利要求7所述的方法,其中所述分数或者每个分数与相应区域的至少一个特征相关联。
9.根据权利要求8所述的方法,其中所述分数或者每个分数是基于所述至少一个特征的一个或多个特性生成的分数。
10.一种系统,包括:
移动装置的一个或多个处理器;
网络接口,其电连接到所述一个或多个处理器;以及
计算机储存装置,其电连接到所述一个或多个处理器并且储存指令,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器进行根据前述权利要求中任一项中所述的方法。
11.一种非暂时性计算机可读储存介质,所述非暂时性计算机可读储存介质储存由一个或多个处理器可执行的指令,以进行根据权利要求1至9中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/062606 WO2018093372A1 (en) | 2016-11-17 | 2016-11-17 | Media rendering with orientation metadata |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109690471A true CN109690471A (zh) | 2019-04-26 |
CN109690471B CN109690471B (zh) | 2022-05-31 |
Family
ID=57543165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680088676.8A Active CN109690471B (zh) | 2016-11-17 | 2016-11-17 | 使用取向元数据的媒体渲染 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10885879B2 (zh) |
EP (1) | EP3482286A1 (zh) |
CN (1) | CN109690471B (zh) |
WO (2) | WO2018093372A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062852A (zh) * | 2019-12-16 | 2020-04-24 | 百度国际科技(深圳)有限公司 | 一种地图渲染方法、装置、电子设备及存储介质 |
CN112218160A (zh) * | 2020-10-12 | 2021-01-12 | 北京达佳互联信息技术有限公司 | 视频转换方法及装置和视频转换设备及存储介质 |
CN112423021A (zh) * | 2020-11-18 | 2021-02-26 | 北京有竹居网络技术有限公司 | 视频的处理方法、装置、可读介质和电子设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3482286A1 (en) | 2016-11-17 | 2019-05-15 | Google LLC | Media rendering with orientation metadata |
KR102641163B1 (ko) * | 2018-11-29 | 2024-02-28 | 삼성전자주식회사 | 영상 처리 장치 및 그 영상 처리 방법 |
US10887542B1 (en) | 2018-12-27 | 2021-01-05 | Snap Inc. | Video reformatting system |
US11665312B1 (en) * | 2018-12-27 | 2023-05-30 | Snap Inc. | Video reformatting recommendation |
US10929979B1 (en) | 2018-12-28 | 2021-02-23 | Facebook, Inc. | Systems and methods for processing content |
CN109857907B (zh) * | 2019-02-25 | 2021-11-30 | 百度在线网络技术(北京)有限公司 | 视频定位方法和装置 |
EP4376426A1 (en) | 2022-11-25 | 2024-05-29 | Beijing Xiaomi Mobile Software Co., Ltd. | Signaling encapsulated data representing alignment axes of a video |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060257048A1 (en) * | 2005-05-12 | 2006-11-16 | Xiaofan Lin | System and method for producing a page using frames of a video stream |
US20090295787A1 (en) * | 2008-06-02 | 2009-12-03 | Amlogic, Inc. | Methods for Displaying Objects of Interest on a Digital Display Device |
US20100110210A1 (en) * | 2008-11-06 | 2010-05-06 | Prentice Wayne E | Method and means of recording format independent cropping information |
US20100138775A1 (en) * | 2008-11-28 | 2010-06-03 | Sharon Kohen | Method, device and system, for extracting dynamic content from a running computer application |
US20100299627A1 (en) * | 2009-05-20 | 2010-11-25 | Qualcomm Incorporated | Method and apparatus for content boundary detection and scaling |
US20110085078A1 (en) * | 2003-03-14 | 2011-04-14 | Starz Entertainment Group Llc | Manipulating unused portions of a video display |
US20110096228A1 (en) * | 2008-03-20 | 2011-04-28 | Institut Fuer Rundfunktechnik Gmbh | Method of adapting video images to small screen sizes |
CN102541494A (zh) * | 2010-12-30 | 2012-07-04 | 中国科学院声学研究所 | 一种面向显示终端的视频尺寸转换系统与方法 |
US20130069980A1 (en) * | 2011-09-15 | 2013-03-21 | Beau R. Hartshorne | Dynamically Cropping Images |
CN105144691A (zh) * | 2013-03-08 | 2015-12-09 | 汤姆逊许可公司 | 用于稳定和重新成帧的方法和系统 |
CN105224165A (zh) * | 2014-06-30 | 2016-01-06 | 英特尔公司 | 为计算装置上部分模糊图形图像促进动态和有效的预启动裁剪 |
CN105580013A (zh) * | 2013-09-16 | 2016-05-11 | 汤姆逊许可公司 | 通过搜索多个用户评论并将其覆盖到内容中来浏览视频 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9516229B2 (en) * | 2012-11-27 | 2016-12-06 | Qualcomm Incorporated | System and method for adjusting orientation of captured video |
US9741150B2 (en) * | 2013-07-25 | 2017-08-22 | Duelight Llc | Systems and methods for displaying representative images |
US10078917B1 (en) * | 2015-06-26 | 2018-09-18 | Lucasfilm Entertainment Company Ltd. | Augmented reality simulation |
US11282165B2 (en) * | 2016-02-26 | 2022-03-22 | Netflix, Inc. | Dynamically cropping digital content for display in any aspect ratio |
EP3482286A1 (en) | 2016-11-17 | 2019-05-15 | Google LLC | Media rendering with orientation metadata |
WO2018106213A1 (en) * | 2016-12-05 | 2018-06-14 | Google Llc | Method for converting landscape video to portrait mobile layout |
-
2016
- 2016-11-17 EP EP16810147.5A patent/EP3482286A1/en not_active Withdrawn
- 2016-11-17 WO PCT/US2016/062606 patent/WO2018093372A1/en unknown
- 2016-11-17 CN CN201680088676.8A patent/CN109690471B/zh active Active
-
2017
- 2017-11-16 US US16/325,366 patent/US10885879B2/en active Active
- 2017-11-16 WO PCT/US2017/062022 patent/WO2018094052A1/en active Application Filing
-
2021
- 2021-01-04 US US17/140,632 patent/US11322117B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110085078A1 (en) * | 2003-03-14 | 2011-04-14 | Starz Entertainment Group Llc | Manipulating unused portions of a video display |
US20060257048A1 (en) * | 2005-05-12 | 2006-11-16 | Xiaofan Lin | System and method for producing a page using frames of a video stream |
US20110096228A1 (en) * | 2008-03-20 | 2011-04-28 | Institut Fuer Rundfunktechnik Gmbh | Method of adapting video images to small screen sizes |
US20090295787A1 (en) * | 2008-06-02 | 2009-12-03 | Amlogic, Inc. | Methods for Displaying Objects of Interest on a Digital Display Device |
US20100110210A1 (en) * | 2008-11-06 | 2010-05-06 | Prentice Wayne E | Method and means of recording format independent cropping information |
US20100138775A1 (en) * | 2008-11-28 | 2010-06-03 | Sharon Kohen | Method, device and system, for extracting dynamic content from a running computer application |
US20100299627A1 (en) * | 2009-05-20 | 2010-11-25 | Qualcomm Incorporated | Method and apparatus for content boundary detection and scaling |
CN102428493A (zh) * | 2009-05-20 | 2012-04-25 | 高通股份有限公司 | 用于内容边界检测和缩放的方法和装置 |
CN102541494A (zh) * | 2010-12-30 | 2012-07-04 | 中国科学院声学研究所 | 一种面向显示终端的视频尺寸转换系统与方法 |
US20130069980A1 (en) * | 2011-09-15 | 2013-03-21 | Beau R. Hartshorne | Dynamically Cropping Images |
CN105144691A (zh) * | 2013-03-08 | 2015-12-09 | 汤姆逊许可公司 | 用于稳定和重新成帧的方法和系统 |
CN105580013A (zh) * | 2013-09-16 | 2016-05-11 | 汤姆逊许可公司 | 通过搜索多个用户评论并将其覆盖到内容中来浏览视频 |
CN105224165A (zh) * | 2014-06-30 | 2016-01-06 | 英特尔公司 | 为计算装置上部分模糊图形图像促进动态和有效的预启动裁剪 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062852A (zh) * | 2019-12-16 | 2020-04-24 | 百度国际科技(深圳)有限公司 | 一种地图渲染方法、装置、电子设备及存储介质 |
CN111062852B (zh) * | 2019-12-16 | 2023-10-17 | 阿波罗智联(北京)科技有限公司 | 一种地图渲染方法、装置、电子设备及存储介质 |
CN112218160A (zh) * | 2020-10-12 | 2021-01-12 | 北京达佳互联信息技术有限公司 | 视频转换方法及装置和视频转换设备及存储介质 |
CN112423021A (zh) * | 2020-11-18 | 2021-02-26 | 北京有竹居网络技术有限公司 | 视频的处理方法、装置、可读介质和电子设备 |
US11922597B2 (en) | 2020-11-18 | 2024-03-05 | Beijing Youzhuju Network Technology Co., Ltd. | Video processing method and apparatus, readable medium, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
WO2018094052A1 (en) | 2018-05-24 |
US11322117B2 (en) | 2022-05-03 |
CN109690471B (zh) | 2022-05-31 |
WO2018093372A1 (en) | 2018-05-24 |
EP3482286A1 (en) | 2019-05-15 |
US10885879B2 (en) | 2021-01-05 |
US20210125582A1 (en) | 2021-04-29 |
US20190266980A1 (en) | 2019-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109690471A (zh) | 使用取向元数据的媒体渲染 | |
CN109791600B (zh) | 将横屏视频转换为竖屏移动布局的方法 | |
CN111373740B (zh) | 使用选择界面将横向视频转换成纵向移动布局的方法 | |
US10424341B2 (en) | Dynamic video summarization | |
CN111062871A (zh) | 一种图像处理方法、装置、计算机设备及可读存储介质 | |
US10963700B2 (en) | Character recognition | |
US10699458B2 (en) | Image editor for merging images with generative adversarial networks | |
US11568631B2 (en) | Method, system, and non-transitory computer readable record medium for extracting and providing text color and background color in image | |
CN113766330A (zh) | 基于视频生成推荐信息的方法和装置 | |
CN114495128B (zh) | 字幕信息检测方法、装置、设备以及存储介质 | |
CN104520848A (zh) | 按照出席者搜索事件 | |
CN113869138A (zh) | 多尺度目标检测方法、装置及计算机可读存储介质 | |
US10943377B2 (en) | Creating images using image anchors and generative adversarial networks | |
KR20190124436A (ko) | 영상 기반 건물 검색 방법 및 장치 | |
US20230298073A1 (en) | Media processing techniques for enhancing content | |
KR20160012901A (ko) | 이미지를 검색하는 방법 및 그 전자 장치 | |
CN116389849A (zh) | 视频生成方法、装置、设备及存储介质 | |
KR20220097945A (ko) | 비-폐쇄 비디오 오버레이 | |
KR20190020281A (ko) | 시각적 입력의 처리 | |
CN116975331A (zh) | 媒体全局信息提取方法、装置、计算机设备和存储介质 |
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 |