Television broadcasts of events can be enhanced by providing graphics that are blended with other images or video to convey information to viewers. Such information can be related to the event, people involved in the event, or any other subject that the broadcaster desires. For example, during the broadcast of a football game a graphic can be employed to indicate the field location to which an offensive team must advance in order to obtain a first down. Logos and other graphics can also be blended with a video of an event. In some instances, such as adding a first down line or an advertisement to an image of a playing field, it is desired to blend the graphic with the video such that the graphic appears to be part of the live event, and not superimposed on the video. For example, it may be desired to add a line or logo to a video presentation of a sporting event such that the line or logo appears to be painted on the field.

When blending graphics with a video, broadcasters may want to vary the degree to which the graphic is blended. For example, when blending graphicsto appear to be part of the event, it may be desired to vary the amount of blending to account for occlusions. That is, if a person or object is positioned in front of the location where the graphic is to be added, the graphic would look more realistic if the graphic is not drawn over the person or object. A broadcaster may also want to add a graphic to a video representation of a scene such that the graphic shows some of the texture of the underlying scene. A broadcaster may also wish to vary the blending of an image to show hard edges or soft edges. In order to accomplish these results, a blendingcoefficient can be generated for each pixel in the graphic to indicate the degree of blending between the graphic and the program video. One example of such a blending coefficient is an alpha signal that is used with a keyer for blending a graphic.

Most attempts to generate blending coefficients have utilized chroma-key techniques. Chroma-keying usually entails choosing a color in a video signal to be replaced with a graphic. In most instances, use of the color in the video is controlled and the blending is limited to either replacing or not replacing, without degrees of blending. On the other hand, a broadcast of a live event such as a sporting event may include many different colors and lighting conditions, different hue and brightness conditions, and different color balances that are not controlled by the broadcaster. During the broadcast of a football game, the broadcaster has no control over the color and lighting of either the field or players' uniforms. In addition, changing weather patterns can also affect the appearance of certain colors. For example, a broadcaster may wish to blend a graphic to a video of a sporting event such that thegraphic appears to be painted on the field. In such a case, a system should be able to make a distinction between a "green" of a grass field, whereblending is to occur, and a "green" of a player's uniform, where no blending is to occur. The standard chroma-key techniques cannot perform all of the above functionality in real time, and cannot make all the necessary fine distinctions between the colors appearing at a live event.

Accordingly, a system is needed for generating a blending coefficient that provides a broadcaster with flexibility in blending a graphic to the video presentation of a live event. A graphic and video are blended by controlling the relative transparency of corresponding pixels in the graphic and the video through the use of blending coefficients. One example of a blendingcoefficient is an alpha signal used in conjunction with a keyer. The value of a blending coefficient for a pixel in the graphic is based on the luminance and chrominance characteristics of a neighborhood of pixels in the video. Inclusions and exclusions are set up which define how the neighborhood of pixels is used to create or change a particular blending characteristic.

The graphic can be blended with a video representation of a live event such that the graphic appears to be part of the scene captured in the video, rather than superimposed on top of the video. For example, if the graphic is added to a broadcast of a sporting event, the graphic will appear to be part of the field.

The present invention makes use of inclusions and exclusions. An inclusion is a set of characteristics that describe a class of pixels that can be modified in the video. An exclusion is a set of characteristics that describe a set of pixels that are not to be modified in the video. When blending thegraphic to a video, the graphic may be blended on a pixel by pixel basis taking into account whether a given pixel in the video is an inclusion or an exclusion. In an alternate embodiment, the video and graphic are blended at a polygon level.

In one embodiment, the creation of an inclusion or an exclusion comprises an identification of luminance and/or chrominance characteristics for pixels. The process of creating inclusions and exclusions includes the steps of choosing an area of a video frame which identifies a set of pixels. An indication is made as to whether the set of pixels will be used to create an inclusion or an exclusion. If the pixels are to be used to generate an inclusion, then a display filter is created which describes the characteristics of the pixels in the set. If the pixels are to be used to create an exclusion, then the system generates a protection filter which describes the characteristics of the pixels in the set.

In one embodiment, a graphic is divided into a number of polygons. One method for dividing the graphic into a number of polygons includes creating border lines and a number of edge lines. In one alternative, all the border lines and edge lines are parallel to each other. Each polygon has its vertices on edge lines and/or border lines. Each of the vertices on the border lines are given a nominal blending coefficient. The vertices on the border lines can also receive nominal blending coefficients or a constant blending coefficient. By adding additional edge lines and changing blending coefficients for the edge lines, the amount of blending of a graphic can be varied throughout the graphic.

In one embodiment, each of the nominal blending coefficients for the vertices on the edge lines are multiplied by edge fractions. An edge fraction for a particular pixel of a graphic is created by a method which includes selecting a set of pixels in the video. The set of pixels includes a first pixel in the video having a position in the video frame corresponding to the position of the pixel in the graphic that is under consideration. The other members of the set may include those neighboring pixels surrounding the first pixel. The set of pixels are examined one pixel at a time to determine what fraction of the pixels are an inclusion and not an exclusion. Other embodiments may use other methods for creating an edge fraction.

Once the blending coefficients are set for each of the vertices of the polygons, blending coefficients can be determined for each pixel in each polygon. Using the blending coefficients, the graphic can be blended with the video.

SRC=http://www.freepatentsonline.com/6229550.html

PatentTips - Blending a Graphic over a Video的更多相关文章

  1. Video for Linux Two API Specification Revision 2.6.32【转】

    转自:https://www.linuxtv.org/downloads/legacy/video4linux/API/V4L2_API/spec-single/v4l2.html Video for ...

  2. 在DirectShow中支持DXVA 2.0(Supporting DXVA 2.0 in DirectShow)

    这几天在做dxva2硬件加速,找不到什么资料,翻译了一下微软的两篇相关文档.并准备记录一下用ffmpeg实现dxva2,将在第三篇写到.这是第二篇.,英文原址:https://msdn.microso ...

  3. 在at91sam9260处理器上调试linux2.6.33.7的过程

    本文脉络: 1.SAM9260处理器介绍,单板机配置. 2.SAM-BA的运行机制与applets的修改. 3.修改bootstrap. 4.内核源码获取与打补丁. 5.基于ubuntu的开发环境搭建 ...

  4. PatentTips - GPU Support for Blending

    Graphics processing units (GPUs) are specialized hardware units used to render 2-dimensional (2-D) a ...

  5. Video processing systems and methods

    BACKGROUND The present invention relates to video processing systems. Advances in imaging technology ...

  6. (转)Tiny210v2( S5PV210 ) 平台下 FIMD 对应 的 framebuffer 驱动中,关于 video buffer 的理解

    原文:http://www.arm9home.net/read.php?tid-25938.html 管理提醒: 本帖被 xoom 执行加亮操作(2012-12-13) 如之前所说,一直想知道显示数据 ...

  7. 1.1 VGA(图像显示卡),Graphics Card(图形加速卡),Video Card(视频加速卡),3D Accelerator Card 和 GPU(图形处理器)

    1.1 VGA(图像显示卡),Graphics Card(图形加速卡),Video Card(视频加速卡),3D Accelerator Card 和 GPU(图形处理器) 对这些概念之前也没怎么了解 ...

  8. Asphyre Sphinx is a cross-platform framework for developing 2D/3D video games and interactive business applications

    Introduction Introduction Asphyre Sphinx is a cross-platform framework for developing 2D/3D video ga ...

  9. Linux Graphic DRI Wayland 显示子系统

    转:https://blog.csdn.net/u013165704/article/details/80709547 1. 前言 上篇文章(Linux graphic subsytem(1)_概述) ...

随机推荐

  1. UVA 12563 Jin Ge jin Qu [h] ao 劲歌金曲 (01背包)

    每首只能唱一次,而且中间不能不唱歌,所以先把状态赋值为-1,以区别合法状态和非法状态,在唱歌曲目最多的条件下,离开时间应该尽量晚. 状态定义f[i][j]考虑前i首歌唱歌时间为j的最大唱歌曲目 #in ...

  2. Codeforces Round #275(Div. 2)-C. Diverse Permutation

    http://codeforces.com/contest/483/problem/C C. Diverse Permutation time limit per test 1 second memo ...

  3. python之dic {字典}(重要指数*****)

    1. 什么是字典 {'name': '汪峰', 'age': 18} '键':'值' 别的语言键值对数据 键: 必须是可哈希(不可变的数据类型),并且是唯一的 值: 任意 可以保存任意类型的数据 字典 ...

  4. k8s framework

    reference 1. k8s master framework master master 是k8s cluster运行着daemon服务:kube-apiserver, kube-schedul ...

  5. c语言文件打开模式

    (转载) 在C语言的文件操作语法中,打开文件文件有以下12种模式,如下图: 打开模式  只可以读   只可以写  读写兼备 文本模式 r w a r+ w+ a+ 二进制模式 rb wb ab  rb ...

  6. 带你进入Angular js的大门

    首先需要指出什么是angular js,其实说白了angular js就是Javascript的一个类库,我们使用这个类库可以很容易的创建web页面.双向绑定是angular js其中的一个重要特征, ...

  7. java面试宝典第四弹

    动态代理 1. 什么是代理 我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委托”代理为其销售商品.关于微商代理,首先我们从他们那里买东西时通常不知道背后的厂家究竟是谁,也就是说,“委托者” ...

  8. LeetCode 朋友圈

    班上有 N 名学生.其中有些人是朋友,有些则不是.他们的友谊具有是传递性.如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友.所谓的朋友圈,是指所有朋友的集合. ...

  9. (64)zabbix正则表达式应用

    概述 在前面的<zabbix low-level discovery>一文中有filter一项,用于从结果中筛选出你想要的结果,比如我们在filter中填入^ext|^reiserfs则表 ...

  10. mysql8忘记root密码修改密码(mac)

    0.在/etc/my.cnf修改验证方式 [mysqld] default_authentication_plugin=mysql_native_password 1.切换root权限: sudo s ...