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. C#中加锁问题

    今天在工作中遇到了一个问题 当我使用多线程访问同一个方法资源时,为了不对结果进行冲突于是加了个死锁,还遇到了一些坑,特此来进行一些记录 static object obj=new object(); ...

  2. socket的BeginConnect(EndPoint remoteEP,AsyncCallback callback,objcet state);个人理解

    1.socket.BeginConnect(); 其中的三个参数值EndPoint remoteEP,这个是用来指定连接的socket服务器的的地址 socket参数表 EndPoint remote ...

  3. java导入Excel表格数据

    首先导入Excel数据需要几样东西 第一需要两个依赖包,这里直接是在pom注入依赖 <!--excel--> <dependency> <groupId>org.a ...

  4. 关于bootstrap栅格系统的五等分以及八等分代码

    众所周知,bootstrap的栅格系统是基于十二等分的,今天拿到设计的设计稿一看,发现一个图片list上只有8张图片,然后上网查资料,发现只能自己写css代码实现,故写博客记录代码. 以下是八等分的代 ...

  5. Java获取字符串里面的重复字符

    public static void main(String[] args) { String word="天地玄黄宇宙洪荒" + "日月盈昃辰宿列张" + & ...

  6. shell脚本,awk合并一列的问题。

    文件 file2内容如下:0 qwert1 asdfghjk2 asdjkl2 zxcvbn3 dfghjkll4 222224 tyuiop4 bnm 让第一列相等的合并成一行,不要第一列,也就是变 ...

  7. mysqldump 备份导出数据排除某张表或多张表

    可以使用--ignore-table=dbname.tablename 忽略一张表 /usr/bin/mysqldump --set-gtid-purged=OFF -h127.0.0.1 -uroo ...

  8. 如何用纯 CSS 创作背景色块变换的按钮特效

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/XYKdwg 可交互视频教 ...

  9. Python 列表相关

    python列表 列表推导式 例1 [ i*i for i in range(10) ] 打印如下: >>> [i*i for i in range(10)] [0, 1, 4, 9 ...

  10. django 12天(跨域,文件上传,下载,cookie,session)

    django 12天(跨域,文件上传,下载) 跨域 什么是跨域 1.协议不同 2.端口不同 3.主机不同 如何解决跨域 1.安装django-cors-headers模块 2.在settings.py ...