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. 并查集+思维——X-Plosives

    一.问题描述(题目链接) 有n种化合物,每种化合物由两种元素组成.当几种的化合物数量等于他们所含不同元素的数量时,就会发生爆炸.现在依次给出化合物的组成,当新的化合物与之前的化合物放在一起会发生爆炸时 ...

  2. WINDOWS-API:操作网络映射盘-WNetAddConnection2

    首先在VC项目属性,开发依赖项里添加MPR.lib:然后,配置文件里填入以下信息.  //本地映射盘符 MapDriver=T: //目标根目录 //MapSharedPath=\\192.168.0 ...

  3. Python中读取txt文本出现:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape问题解决

    windows中的路径是反斜杠\,然而反斜杠\在python中有着转义字符的意义,所以在py文件中写windows文件路径的时候,要特别注意反斜杠\的使用. 下面有三种解决方式: 方式一:转义的方式 ...

  4. Web框架之Django_06 模型层了解(F查询、Q查询、事务、update和save、only和defer、choice属性、bulk_create)

    摘要: F查询 Q查询 事务 一.F查询 在上面所有的例子中,我们构造的过滤器都只是将字段值与某个我们自己设定的常量做比较.如果我们要对两个字段的值做比较,那该怎么做呢?Django 提供 F() 来 ...

  5. Django ORM操作及进阶

    一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 ...

  6. java之 单根继承与集合

    1.单根继承 概念: 单根继承,意味着所有类的继承,都继承自单一的基类的继承模式 优点: (1)所有对象都具有一个共用接口,归根到底都是相同的基本类型. (1)所有对象都具有一个共用接口,归根到底都是 ...

  7. C++ 字符串分割,并把子字符串转换成int型整数

    主要涉及到string类的两个函数find和substr: find()函数的用法: 原型:size_t find ( const string& str, size_t pos = 0 ) ...

  8. Wannafly挑战赛23 A 字符串

    题目描述 小N现在有一个字符串S.他把这这个字符串的所有子串都挑了出来.一个S的子串T是合法的,当且仅当T中包含了所有的小写字母.小N希望知道所有的合法的S的子串中,长度最短是多少. 输入描述: 一行 ...

  9. PAT Basic 1070

    1070 结绳 给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原 ...

  10. python基础学习笔记——包

    包的简介 你们听到的包,可不是女同胞疯狂喜欢的那个包,我们来看看这个是啥包 官方解释: 1 2 3 4 5 6 7 8 9 Packages are a way of structuring Pyth ...