CN100578606C - 帧缓冲设备及图象显示方法 - Google Patents
帧缓冲设备及图象显示方法 Download PDFInfo
- Publication number
- CN100578606C CN100578606C CN200510051317A CN200510051317A CN100578606C CN 100578606 C CN100578606 C CN 100578606C CN 200510051317 A CN200510051317 A CN 200510051317A CN 200510051317 A CN200510051317 A CN 200510051317A CN 100578606 C CN100578606 C CN 100578606C
- Authority
- CN
- China
- Prior art keywords
- frame
- frame buffer
- picture
- video signal
- dynamic video
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Television Systems (AREA)
- Transforming Electric Information Into Light Information (AREA)
Abstract
在组合到一个合成画面的任意大数量的输入动态视频信号中的帧撕裂可通过仅使用三个帧缓冲器而得以阻止。独立地并同时用于每一输入动态视频信号,帧缓冲器之一预留来用于写捕获的象素数据,另一帧缓冲器被识别为保存最近完全捕获的帧,及另一帧缓冲器被识别为在形成输出的合成画面的帧时当前正被读的帧缓冲器。输出的合成画面的帧集中自多个帧缓冲器因而及读帧缓冲器的动态视频信号的指定。
Description
技术领域
本发明涉及视频显示系统领域,特别是涉及在没有帧撕裂的单一画面中多个异步视频馈送的显示。
背景技术
许多类型的动态视频可从各种来源得到。这样的来源的例子包括广播电视(如NTSC、PAL等)、视频摄像机、及计算机显示器。每一动态视频源具有其自身的、不同于其它视频源的特征组。这样的特征包括帧频、图象大小的尺寸、及帧是否被交织。例如,帧频可从小于24帧每秒(fps)变化到超过100fps。
在从视频源接收的动态视频和视频显示之间同步或协调显示特征失败通常导致人们知道的帧撕裂。帧撕裂由显示期间帧缓冲器的内容的改变引起。对于观众,所显示的图象看上去被分开在两个不同的图象之间。图象通常被暂时关联但被取代。例如,跨图象的行走图的帧撕裂可能显示:腿稍早于躯干行进。可以理解的是,这是不合需要的人工因素。在内部,问题在于两个不同输入帧的部分被显示在一个输出帧中。
对于帧撕裂的问题已经提成了一些解决方案。授权给Mangerson等的美国专利5,914,711及授权给Quirk等的美国专利6,307,565分别描述了当来自视频源的动态视频与动态视频的显示不同步时对帧撕裂的解决方案。然而,二者描述的系统均涉及运动图象的全屏显示。换言之,所显示的动态视频不与其它显示元素共享显示空间。
可能希望将从视频源异步接收的动态视频组合到包括其它显示元素的超集显示的环境中。例如,异步动态视频应可显示在计算机桌面显示的环境中,计算机桌面显示包括控制异步动态视频的显示的图形用户界面(GUI)工具和/或计算机系统的其它组成。类似地,异步动态视频应可与来自其它异步动态视频源的其它动态视频同时显示。这在动态视频的编辑、多安全摄像机的同时监控、使用多个摄像机对现场活动的视频覆盖的协调等方面是有用的。
除了避免帧撕裂以外,还希望动态视频的每一帧的接收和显示之间的延迟最小。因而,任何用于帧撕裂的解决方案还应使动态视频的帧的接收和该帧的显示之间的反应时间最短。
发明内容
根据本发明,多个输入动态视频信号被独立且同时地发送到多个帧缓冲器之一。对于每一输入动态视频信号,帧缓冲器之一被指定来接收代表输入帧的新象素数据,另一帧缓冲器可被记录为保存最近完成接收的帧的表示,及另一帧缓冲器包含正被组合到合成画面中的、较早完成的帧。
发送是同时发生的,因为多个动态视频流被实时接收来组合到单一合成画面中。发送是独立的,因为每一输入动态视频信号具有其自己的用于输入、新近完成的、及读帧缓冲器的指示。例如,单个帧缓冲器可因为一动态视频信号而在当前被写入、因为另一动态视频信号而被读、及被标记为完成但尚未因为再一动态视频信号被读。独立且同时的发送允许仅三个帧缓冲器用于适当地管理许多动态视频信号的帧以在画面的所有信号中避免帧撕裂。
在形成合成画面时,象素数据根据各个动态视频信号的用于读帧缓冲器的指示而聚集自多个帧缓冲器。具体地,对于每一象素,象素数据是从所有帧缓冲器检索。此外,关键帧识别哪一动态视频信号在该特定象素是可见的(如果有的话)。可见动态视频信号的读帧缓冲器被选择,且检索自该帧缓冲器的象素数据被组合到合成视频图象中。
在多个动态视频信号中的帧撕裂通过阻止将输入帧写入到正为同一动态视频信号读取的帧缓冲器而得以避免。具体地,当开始接收动态视频信号的新帧时,用以写输入象素数据到其中的帧缓冲器之一可以是不同于在形成合成视频画面时正被读的任意帧缓冲器,如果不同于读帧缓冲器,其也不同于保存动态视频信号的最近完成的帧的帧缓冲器。在输入动态视频信号的帧的捕获完成的基础上,新近完成的帧被写入到其的帧缓冲器被记录为最近完成的帧缓冲器,在某些时候被称为下一读帧缓冲器。对于动态视频信号的下一输入帧,选择帧缓冲器来将输入帧保存于其中的过程被重复。
当各个动态视频信号的输入帧的写完成时,保存最近完成的帧的帧缓冲器相互异步变化并随输出合成视频画面的帧扫描的完成而异步变化。因此,可提供各种帧频的输入动态视频信号。
为扫描帧缓冲器以形成合成视频画面图象的新帧,从最近完成的帧缓冲器的指示更新读帧缓冲器的所有指示。由于写帧缓冲器按如上所述进行选择的方式,没有输入象素数据被写到最近完成的帧缓冲器的任一个中--读帧缓冲器据其更新。因此,如果该更新导致读帧缓冲器的指示的变化,在更新时的读帧缓冲器不是写帧缓冲器。
该机制可处理任意大数量的输入视频流并可在显示的动态视频流上提供背景图象。背景图象可包括静止图象(“墙纸”)和/或计算机产生的任意负责和运动的图象。输入动态视频流可广泛地具有不同的特征。
该机制还按需自动重复输入帧(如果输入帧频低于输出帧频)或丢弃输入帧(如果输入帧频快于输出帧频)。特别地,如果在帧缓冲器的单一输出扫描期间输入动态视频信号的一个以上的帧完成,则被记录为保存最近完成的帧的帧缓冲器在被用于更新该动态视频图象的读帧缓冲器的指示之前周期性地改变多次。因而,自完成的在前输出扫描以来的除完成的最后帧以外的所有帧被丢弃。类似地,如果由于动态视频信号的相对较慢的帧频,在动态视频信号的另一帧被接收之前帧缓冲器的连续输出扫描完成的话,则在新输出扫描开始时保存最近完成的帧的帧缓冲器中没有变化,且先前显示的动态视频信号的帧在合成画面中被重复。
该机制表现出了相对现存系统的实质改进,因为帧撕裂在任意大数量的输入动态视频流中均得以避免。
附图说明
图1为根据本发明的包括多个动态视频窗口的画面的简图,其中帧撕裂在多个动态视频窗口中均得以避免。
图2为根据本发明的合成系统的结构图。
图3为图2中的更新逻辑电路的详细结构图。
图4为根据本发明的输入H-sync的处理的逻辑流程图。
图5为根据本发明的输入V-sync的处理的逻辑流程图。
图6为图5中选择新的写帧指针的逻辑流程图。
图7为选择新写帧指针的另一实施例的逻辑流程图。
图8为根据本发明的输出V-sync的处理的逻辑流程图。
图9为根据本发明另一实施例的合成系统的结构图。
图10为图9的更新逻辑电路的详细结构图。
图11为可结合图2和图9的合成系统使用的混合逻辑电路的结构图。
图12和13分别示出了根据本发明的另外的画面和关键帧数据,以说明定义可见区域时的灵活性。
具体实施方式
根据本发明,多个视频源被发送到合成系统100的多个帧缓冲器204A-C(图2)中的各个帧缓冲器,且输出帧由帧缓冲器的所选部分组成。因而,通过仅使用相对小数量的帧缓冲器即可避免大量视频源中的帧撕裂。具体地,对于画面102(图1)的各个部分,关键帧202识别帧缓冲器204A-D的哪一区域对应于大量图象源中的哪一个。这样的图象源可以是任意数量的输入异步动态视频信号210A-D(图2),及背景106(图1)。读帧指针214确定帧缓冲器204A-D的哪一个被选择用于在将画面102呈现在监视器上时的每一象素位置,写帧指针218确定每一动态视频信号的每一帧被写到哪一帧缓冲器204A-C。通过协调每一输入帧写到哪一帧缓冲器及每一画面的象素从哪一帧缓冲器读,画面的所有动态视频的帧撕裂均被避免。
图1示出了包括多个动态视频窗口104A-C及背景106的画面102。动态视频窗口104A-C的每一个代表专用于输入动态视频信号的显示的画面102的一部分。因此,“窗口”以其一般意义使用,即画面的一部分,其与所显示的内容关联。计算机的用户在窗口管理器如操作系统的sawfish、WindowMaker、IceWM等、加利福尼亚州的苹果计算机公司的Mac或华盛顿的微软公司的任何操作系统的环境中频繁地经历窗口。窗口管理器通常将多个图形用户界面(GUI)单元与每一窗口关联。在此,这样的单元被认作是背景106的一部分,因为主要关注的内容是动态视频窗口104A-C中表达的动态视频信号。具体地,表示动态视频要求在各个窗口管理器的GUI单元及由计算机呈现给用户的其它信息通常进行非常小程度的和/或非常不频繁的改变的同时以非常快的速度更新大量显示信息。
图2示出了关键帧202和帧缓冲器204A-D,其共同表达在画面102(图1)中显示的可视内容。帧缓冲器204A-D中的每一个是帧缓冲器,即在画面102内在各自位置确定各自颜色的象素数据阵列,因此,画面102以画面102的帧频刷新。因而,为使画面102出现在显示设备上,从全体帧缓冲器204A-D读象素数据,且象素数据被转换为模拟或数字信号并被包括以适当的定时和辅助信号(如V-sync和H-sync)以驱动显示设备。该过程是公知的,且仅引入于此以有助于理解和重视在将显示数据呈现在显示设备上时帧缓冲器通常扮演的角色。由于全体帧缓冲器204A-D代表画面102的所有象素,从而定义画面102,在画面102中的任何变化可通过写新象素数据到帧缓冲器204A-D中的一个或多个实现。
为了显示,帧缓冲器204A-D被共同寻址。具体地,帧缓冲器204A-D共享用于从帧缓冲器204A-D读数据的寻址逻辑电路。类似地,帧缓冲器204A-C共享用于将数据写到帧缓冲器204A-C的寻址逻辑电路。在该说明性的实施例中,帧缓冲器204D用于表达不同于动态视频信号的可视内容。因而,对于写,帧缓冲器204D不被共同寻址。而是,处理器240(如CPU或GPU)将表示不同于动态视频信号的可视内容的数据写到帧缓冲器204D中。这样的可视内容可包括静止图象和图形内容,如照片、文本、按钮、光标、及各种操作系统的各个窗口管理器的任意一个的各种GUI单元。在此,背景106代表所有这样的不同于动态视频的可视内容。在另一实施例中,帧缓冲器204D被省略,背景106被写到帧缓冲器204A-C中的一个或多个中。背景106的模糊部分的适当处理由传统窗口管理器以传统方式完成,且这样的模糊部分不被表示在帧缓冲器204A-C内。
关键帧202被共同寻址以与帧缓冲器204A-D一起读,对每一象素位置,其确定多个源中的哪一个是可见的。在该说明性的实施例中,源是背景106或大量输入的异步动态视频信号210A-D中的任一个,在此,其有时被称为输入视频信号210A-D。帧缓冲器204A-D的尺寸对应于画面102的显示分辨率,其全体共同确定画面102的实质内容。在该说明性的实施例中,关键帧202是具有类似于帧缓冲器204A-D的尺寸的阵列,并因此确定用于每一单个象素的源。在另一实施例中,关键帧202确定多个象素组的每一个的源。在任一情况下,关键帧202指明画面102的每一象素的源。
关键帧更新逻辑电路252控制关键帧202的内容。例如,多个用户界面事件可导致动态视频窗口104A-C被安置成图1中所示的样子。这样的事件包括开窗口以将动态视频显示于其中、移动窗口、及调整窗口大小。所有这样的事件均由如上述的窗口管理器处理。窗口管理器将这样的事件通知给关键帧更新逻辑电路252,使得关键帧更新逻辑电路252具有足够的信息以确定在画面102哪一视频信号在哪一位置是可见的。无论该信息在何时变化,关键帧更新逻辑电路252改变关键帧202的内容以准确地表示画面102的当前状态。关键帧更新逻辑电路252还将这样的变化通知给更新逻辑电路212,使得输入视频信号210A-D的象素被写到帧缓冲器204A-C内的适当位置。相对于输入和输出帧频,关键帧202及更新逻辑电路212内的相应地址信息的改变很少发生。因此,在许多输入和输出帧的处理期间,关键帧202和更新逻辑电路212内的地址信息通常保持不变。
关键帧202提供每一视频信号出现在画面102(图1)中的象素-象素的控制,从而对于画面102中的视频窗口的位置和大小给予完全的自由。在图1的例示性的例子中,动态视频窗口104A-C的每一个及背景106对应于唯一的源标识符。例如,关键帧202将与输入视频信号210B关联的源标识符保存在使得输入视频信号210B将可见为动态视频窗口104B的位置。对于画面102的每一象素,关键帧202(图2)保存这些源标识符以指示输入视频信号210A-D或背景106中的哪一个在特定位置是可见的。
[输出帧扫描概览]
扫描全体帧缓冲器204A-D以发送帧到画面102按如下工作。视频定时脉冲发生器242提供用于画面102的定时信号,包括象素时钟250及H-sync及V-sync信号。这些信号由显示逻辑电路200使用以扫描帧缓冲器204A-D并产生用于画面的颜色信息。该颜色信息接着连同H-sync和V-sync及任何其它必须的定时信号一起发送给画面。
视频定时脉冲发生器242可以是不同步的或可被同步到输入视频信号210A-D之一或同步(通过通常公知为GENLOCK的已得到佐证的方法)到具有与画面102兼容的定时信号的另一视频信号。
帧的扫描以垂直同步信号开始,有时被称为V-sync,且象素的第一行的处理开始。对于行中的每一象素,显示逻辑电路200从关键帧202检索象素的源标识符。在关键帧202和帧缓冲器204A-D之间共享的读寻址逻辑电路使得象素的颜色将在同时从帧缓冲器204A-D中的每一个检索。因而,显示逻辑电路200使用源标识符选择所检索的颜色之一来作为表示将被显示在画面102(图1)中的象素的数据进行发送。
读帧指针214确定帧缓冲器204A-D中的所选缓冲器,其对应于每一源标识符。在该实施例中,所选的相应帧缓冲器由可用于多路复用器220的控制信号确定,多路复用器220用于从帧缓冲器204A-D检索的颜色之一的选择。例如,读帧指针214可指定其标识符为“5”的源(如输入视频信号210A)将从帧缓冲器204B(图2)检索。在该例示性的实施例中,读帧指针214被表示在查找表中,其中对应于源标识符为“5”的读帧指针确定两位的控制信号“01”来在多路复用器220从帧缓冲器204B选择颜色。当然,也可使用其它类型的控制信号。
在从适当的帧缓冲器204A-D选择适当的颜色时,显示逻辑电路200将从关键帧202检索到的源标识符应用到读帧指针214,从而导致对应的帧缓冲器选择信号应用到多路复用器220。例如,通过多路复用器220选择的象素值驱动模拟显示设备中用于显示的数模转换器246和/或驱动数字显示设备中用于显示的数字发送器248。象素数据可通过颜色查表244从数值转换为RGB(或其它颜色格式)值,或者,可以准备显示的颜色格式保存在帧缓冲器204A-D中,从而颜色查表244可被省略。
对关键帧202和帧缓冲器204A-D的行的每一象素,显示逻辑电路200重复该帧缓冲器选择过程。当该行完成时,显示逻辑电路200从视频定时脉冲发生器242接收水平同步信号,其有时被称为H-sync。在H-sync之后,对下一行象素,显示逻辑电路200重复该过程。当象素的所有行均已被处理时,从视频定时脉冲发生器242接收另一V-sync,该过程在关键帧202和帧缓冲器204A-D的顶部再次开始。
通过以这种方式使用关键帧202和读帧指针214,显示逻辑电路200可读多个帧缓冲器204A-D以形成画面102(图1)的单帧。这使得对较大显示信号内的多个输入的异步动态视频信号,能够在多个帧缓冲器之间进行帧写和读的分布。例如,输入视频信号210A的未完成的帧可被写入帧缓冲器204A,同时,先前完成的帧从帧缓冲器204B读取。同时,输入视频信号210B的未完成的帧可被写入帧缓冲器204B中,而先前完成的帧从帧缓冲器204A读取。在该简单例子中,画面102(图1)部分由帧缓冲器204A定义,部分由帧缓冲器204B定义。
在该例示性的实施例中,帧缓冲器204D被预留用于背景。因此,在该例子中,帧缓冲器204D还定义画面102(图1)的一部分,具体地,即背景106的可见部分。
图12-13示出了在定义画面102的可见部分时由关键帧202(图2)提供的灵活性。具体地,画面102B(图12)包括三个(3)画面的动态视频1204A-C,每一个均包括分别由区域1206A-C表示的GUI单元。这样的GUI单元可包括用于用户控制的播放、暂停、停止、快进、倒片等的GUI工具,且其通常由计算机产生的图形单元表示。
图13示出了如在关键帧202(图2)内表示的画面102B的表示202B。表示202B包括背景1206,背景包括区域1206A-C(图12)及区域1206D,区域1206D包括不同于动态视频1204A-C和区域1206A-C的画面102B的其余部分。应注意的是,背景1206(图13)的形状不限于直的垂直和水平边沿,且不限于毗邻的区域。在图13的例子中,背景1206包括包围动态视频1204B的圆形边沿,并包括在动态视频1204A和1204C之间的非毗邻帧区域。实际上,图12-13示出了画中画中有画的能力。
[输入帧写概览]
多个输入视频信号按如下步骤写入帧缓冲器204A-C以阻止画面102中的帧撕裂。多个输入视频信号210A-D中的每一个通过写帧指针218与帧缓冲器204A-C中的特定缓冲器关联,且其仅被写入不立即为显示逻辑电路200及合成画面102中的读帧指针214使用的帧缓冲器。具体地,任何输入视频信号210A-D的每一新帧的写帧指针被选择为不同于读帧指针及下一读帧指针,其中读帧指针用于读帧指针214中表示的输入信号,下一读帧指针用于下一读帧指针216中表示的输入信号。
为了在没有帧撕裂的情况下补偿画面102和输入视频信号210A-D之间的帧频变化,输入视频信号210A-D的帧或被丢弃或被重复,使得只有完整和完成的帧被组合到画面102中。确保只有完整和完成的帧才被显示的过程将在下面详述,而整个过程将被简要描述以有助于理解根据本发明的帧撕裂的避免。仅考虑单一输入视频信号即输入视频信号210A是有帮助的。输入的异步动态视频信号210B-D以类似的方式同时处理。
读帧指针214指示帧缓冲器204A-C中的哪一个代表输入视频信号210A的完整且完成的帧,其正被组合到画面102中。下一读帧指针216指示帧缓冲器204A-C中的哪一个代表输入的异步动态视频信号210A的最近完成的帧,其将接着被组合到画面102中。写帧指针218指示输入视频信号210A的当前未完成的帧正被写入帧缓冲器204A-C中的哪一个。当输入视频信号210A的每一帧的写完成时,下一读帧指针216中的项被修改以将新完成的帧确定为最近完成的帧,且用于输入视频信号210A的下一帧的新帧缓冲器被选择并表示在写帧指针218内。在显示逻辑电路200已完成画面102的帧并尚未开始下一帧的合成之前,读帧指针214通常不被改变。在那时,显示逻辑电路200从下一读帧指针216更新读帧指针214。
在为输入视频信号210A选择新的写帧指针时,应注意避免选择输入视频信号210A的读帧指针或下一读帧指针。通过避免选择读帧指针作为输入的异步动态视频信号210A的写帧指针,向读帧指针214指向的帧的写被阻止。此外,读帧指针214被确定指向输入视频信号210A-D的完成帧及那些在显示逻辑电路200进行的画面102的完成帧的合成期间保持不变的帧。通过避免选择下一读帧指针作为输入的异步动态视频信号210A的新的写帧指针,读帧指针214被确定在读帧指针214从下一读帧指针216更新时指向输入的异步动态视频信号210A-D的完成帧。特别地,在读帧指针214从下一读帧指针216更新时,写帧指针218不允许向更新的读帧指针214所指引的任何帧进行写。
通常,最好在画面102中显示输入视频信号的每一帧一次且仅一次,显示时间由输入视频信号自身的定时确定。然而,这要求输入视频信号的帧频与画面102的帧频要准确匹配。经常地,输入视频信号的帧频不同于画面102的帧频,这就要求丢弃或重复输入视频信号的帧。如果输入视频信号的帧频大于画面102的帧频,输入视频信号包括太多的帧以致于不能被画面102显示,输入视频信号的一些帧被丢弃且不被显示在画面102中。如果输入视频信号的帧频小于画面102的帧频,太少的帧包括在输入视频信号中来用于在画面102中仅显示一次,则在画面102中重复输入视频信号的一些帧。
输入视频信号210A的帧的丢弃发生在输入视频信号210A的帧频大于画面102的帧频时。在这种情况下,对应于输入视频信号210A的写帧指针218之一相较对应的读帧指针214的更新频率而言变化得更频繁。下面的例子是例证性的,设定读帧指针214指示当前扫描的帧缓冲器是帧缓冲器204A,其包括输入视频信号210A的帧。还设定下一读帧指针216指示帧缓冲器是帧缓冲器204B,其包括输入视频信号210A的最近完成的及下一扫描的帧。因此,写帧指针218使得当前接收的输入视频信号210A的帧将被写入帧缓冲器204A-B之外的帧缓冲器,在该例子中即帧缓冲器204C。该情形被总结在下表A中。
表A
在该例子中,由于输入帧频大于画面帧频,某些帧的输出扫描在一个或多个输入帧的写完成之前没有完成。在这种情况下,在输入帧写入帧缓冲器204C完成之时,读帧指针214继续指示该用于输入视频信号210A的所扫描帧缓冲器为帧缓冲器204A。在该例子中,新完成的帧被通过指向帧缓冲器204C而被表示在下一读帧指针216中,先前由下一读帧指针216指向的、帧缓冲器204B中的输入视频信号210A的先前完成的帧被丢弃。该情形被总结在下表B中。
表B
由于在帧缓冲器204A的扫描结束之前输入帧已被完全写入,对应的下一读帧指针216在其先前的值可被拷贝到读帧指针214之前已改变。在表A代表的情况中,表示在帧缓冲器204B中的输入视频信号210A的帧将不被显示在画面102中,因而被丢弃。
当输入帧以上述方式交替地写入帧缓冲器204B和204C时,多个帧可被丢弃,直到显示逻辑电路200为了画面102的当前帧的显示而完成帧缓冲器204A的扫描并将下一读帧指针216拷贝到读帧指针214为止。
输入视频信号210A的帧的重复发生在输入视频信号210A的帧频小于画面102的帧频时。在这种情况下,输入视频信号210A的写帧指针相较于从下一读帧指针216更新读帧指针214的频率而言变化较不频繁。下面的例子是例证性的,设想上面表A中表示的同一情形,其中帧指针214、216、218分别指示帧缓冲器204A、204B、204C分别保存输入视频信号210A的当前扫描的帧、最近完成及下一被读的帧、及当前写入的帧。在该例子中,由于输入帧频小于画面帧频,某些输出帧的扫描在对应的输入帧的写完成之前完成。在这种情况下,从下一读帧指针216更新读帧指针214导致帧缓冲器204B与输入动态视频信号210A关联。该情形被总结在下表C中。
表C
如果画面102的下一帧的扫描在接收和写输入视频信号210A的另外的完整帧之前完成,下一读帧指针216继续指示输入视频信号210A的最近完成的帧还被表示在帧缓冲器204B中。因此,从下一读帧指针216对读帧指针214的下一更新不会导致关于输入视频信号210A的读帧指针214的改变。因而,在画面102的另一帧中,表C继续准确地表示输入视频信号210A的状态。因而,表示在帧缓冲器204B中的输入视频信号210A的帧被组合在画面102的另一帧中,从而重复了输入视频信号210A的该帧。
输入的异步动态视频信号,具体地,输入视频信号210A-D,通常是数字象素颜色值流。每一流包括H-sync和V-sync信号。H-sync将动态视频帧的一扫描行的最后象素与下一扫描行的低于象素值分开。扫描行指单行象素。V-sync将动态视频信号的一帧的最后象素与下一帧的第一象素分开。帧指动态视频信号的多个连续图象中的单个图象。在该例示性的实施例中,输入的异步动态视频信号210A-D全部均已被处理,使得输入的异步动态视频信号210A-D均为准备好在画面102中显示的大小和格式,而不需进一步的修改。例如,大小调整、颜色匹配、取消交织等中的任一个均已在输入视频信号210A-D上进行。应注意的是,在大小、帧频、相(V-sync信号的定时脉冲)、尺寸等方面,输入视频信号210A-D可不同于画面102,其相互之间也可以不同。
多个输入视频信号210A-D按如下过程处理。多个输入视频信号210A-D由更新逻辑电路212接收。在图2中所示为四(4)个输入异步动态视频信号时,应意识到的是,在此描述的系统中没有任何部分限于该数字。更少或更多的输入视频信号均可以在此描述的方式处理。
在下面的结合图3的上下文中,更新逻辑电路212将被更加完整地描述。简要地,更新逻辑电路212将输入象素关联到画面102(图1)内的象素位置,并因而在关键帧202(图2)和帧缓冲器204A-C内寻址。更新逻辑电路212对输入象素数据的接收和写与相关联的转换地址进行协调。更新逻辑电路212的输出是一系列象素记录,每一记录包括表示颜色的象素数据232、该象素数据的地址230、及写选择信号228。每一象素的写选择信号控制将象素数据232写入帧缓冲器204A-C中的哪一个。更新逻辑电路212使用与特定输入视频信号关联的源标识符从写帧指针218检索写选择信号228。写选择信号228以对上述关于读帧指针214和多路复用器220补充的方式使用多路分解器控制将象素数据230写到帧缓冲器204A-C中的哪一个。具体地,写选择信号228经多路分解器234将写使能信号238发送给帧缓冲器204A-C中的所选帧缓冲器。地址230和象素数据232被发送到所有帧缓冲器204A-C。写选择信号228和写使能信号238共同指定并使仅能写到帧缓冲器204A-C之一。因而,写帧指针218允许多个输入视频信号210A-D中的每一个被写到帧缓冲器204A-C中的不同缓冲器。类似地,写帧指针218允许通过简单地改变写帧指针218中的对应指针而改变被写的帧缓冲器204A-C。
因而,更新逻辑电路212将输入象素分布在帧缓冲器204A-C之间,显示逻辑电路200从帧缓冲器204A-C收集象素以组成画面102。写帧指针218和读帧指针214的仔细管理阻止了显示在画面102中的任何视频信号中的帧撕裂。
[输入帧写的详述]
图3详细示出了更新逻辑电路212。每一输入视频信号210A-D分别由视频路由器302A-D接收。如上所述,输入视频信号和对应的视频路由器可少于或多于图2和3中所示的四个(4)。视频路由器302A-D相互是类似的。因而,下面对视频路由器302A的描述可相等地应用到视频路由器302B-D中的每一个。
视频路由器302A包括初始X地址306、X计数器308、初始Y地址310、Y计数器312、及基地址318。这些值将输入象素映射到关键帧202(图2)及帧缓冲器204A-C内的相应位置。初始X地址306(图3)和初始Y地址310在关键帧202中的值初始化的同时也被初始化,例如,通常在响应于导致动态视频窗口104A-C(图1)中的任一个改变大小或移动的任一用户界面事件时。初始X地址306(图3)和初始Y地址310及基地址318一起确定输入帧的第一象素将被写在关键帧202(图2)和帧缓冲器204A-C内的地址。当接收输入视频信号210A的V-sync时,更新逻辑电路212在步骤502(图5)将X计数器308设为等于初始X地址306,并在步骤504(图5)将Y计数器312设为等于初始Y地址310。逻辑流程图500的其余部分将在下面描述。
X计数器308和Y计数器312均按需增加以表示在关键帧202和帧缓冲器204A-C内象素数据将被写到的地址。当接收输入视频信号210A的每一象素时,更新逻辑电路212使X计数器308增加,因为视频信号通常被水平地扫描,每次一行。在该例示性的实施例中,X计数器308和Y计数器312用于根据下面的等式计算帧缓冲器204A-C内的目的地址:
DestinationAdress=BaseAddress318+Xcounter308+(Ycounter312×WidthFB)(1)
基地址318指帧缓冲器204A-C中任一个的左上角的地址。在另一实施例中,为了效率,通过使用单个地址寄存器而减少了乘法运算,该寄存器在V-sync被初始化为基地址318和X0306的和,并对每一象素均被增加,并在H-sync增加跨距值。跨距值是帧缓冲器204A-C的宽度和输入的异步动态视频信号210A的宽度之间的差。因而,在该另外的实施例中,等式(1)被单独的加法运算代替。
视频路由器302A还包括源标识符314,其将输入的视频信号210A确定为内容源,其每一帧将被指针214、216、和218当成单一实体。源标识符314对于合成系统100使用的所有其它源标识符是唯一的。在描述视频路由器302A的上下文中,由源标识符314标识的源在有时被称为主题源。视频路由器302A的关键帧检验器核实关键帧202(图2)指示主题源在基地址318、X计数器308、和Y计数器312指明的位置是可见的,这三者共同指定地址226。关键帧检验器316通过将源标识符314与地址226处关键帧202内标识的源进行比较而进行这样的确定。如果主题源在地址226是可见的,即如果来自关键帧202的源标识符与源标识符314匹配,关键帧检验器316将表示当前象素的数据添加到象素写队列304中。否则,视频路由器302A丢弃当前象素,且当前象素不被添加到象素写队列304。
当关键帧检验器316从关键帧202检索源标识符时,同样的源标识符被应用到写帧指针218(图2),且与所检索的源标识符关联的指针在视频路由器302A的写选择320(图3)中接收。在源标识符314将输入视频信号210A确定为源的同时,写选择320确定输入视频信号210A的象素将被写到帧缓冲器204A-C之一中。
如果当前象素是可见的,要添加当前象素到象素队列304,更新逻辑电路212将表示当前象素的象素数据322、地址226、及视频路由器302A的写选择320写入象素写队列304。来自视频路由器302B-D的类似象素记录被类似地放入象素写队列304中以依次写入帧缓冲器204A-C。
更新逻辑电路212按如下将来自象素写队列304的象素写入帧缓冲器204A-C。写使能238总是开启。更新逻辑电路212从象素写队列304检索象素,在象素写队列304的上下文中有时称为写象素。写象素包括象素数据232、象素地址230、及写选择226。如图2中所示,写象素的象素数据232和象素地址230被同时应用到帧缓冲器204A-C。如上面对写选择320的描述那样,写选择识别帧缓冲器204A-C中的所选缓冲器。写选择226控制多路分解器234将写使能238发送给帧缓冲器204A-C中的所选缓冲器,且多路分解器234发送写禁止信号给帧缓冲器204A-C中的其它缓冲器。
当象素的整行已被接收时,视频路由器302A接收H-sync,其指示下一象素将在新的行上。逻辑流程图400(图4)表示视频路由器302A响应于H-sync的处理。在步骤402,视频路由器302A(图3)将X计数器308重新设为初始X地址306。在步骤404(图4),视频路由器302A(图3)使Y计数器312递增。因而,X计数器308和Y计数器312及基地址318在接收到象素的新行时继续代表关键帧202和帧缓冲器204A-C内的适当地址。如上结合另外的实施例所述的,在该另外的实施例中,地址计数器以跨距递增,而不是逻辑流程图400中的处理。
当象素的全部帧已被接收时,视频路由器302A接收V-sync,其指示当前帧已被完全接收且新的帧将以下一象素开始。逻辑流程图500(图5)表示视频路由器302A响应于V-sync的处理。除了如上关于步骤502-504所述的保持适当的地址映射以外,视频路由器302A指示输入视频信号210A的完整新帧已被保存并准备好由显示逻辑电路200显示。具体地,视频路由器302A将对应于源标识符314的写帧指针218之一拷贝到同一源标识符的下一读帧指针216中的下一读帧指针。下一读帧指针216确定帧缓冲器204A-D中的哪一个包含每一源的最近完成的帧。
如逻辑流程图800(图8)中所示,当显示逻辑电路200接收指示新的输出帧将开始的V-sync信号时,显示逻辑电路200在步骤802(图8)将下一读帧指针216拷贝到读帧指针214,使得每一源的最近完成的帧被包括在画面102(图1)的新开始的输出帧中。
在一实施例中,视频路由器302A(图3)根据逻辑流程图500(图5)的处理从步骤506直接转到步骤512。在步骤512中,视频路由器302A选择帧缓冲器204A-C中的新的缓冲器以将输入异步动态视频信号210A的下一帧写入于其中。视频路由器302A修改写帧指针218内的对应于源标识符314的写帧指针,以确定帧缓冲器204A-C中的下一缓冲器。步骤512将在下面详细描述。
步骤508-510表示根据另一实施例的减少反应时间的性能改善。在测试步骤508,视频路由器302A将显示逻辑电路200当前扫描的关键帧202及帧缓冲器204A-D的行与初始Y地址310比较。显示逻辑电路200当前扫描的行在此有时被称为当前显示行。如果当前显示行在初始Y地址310之前,显示逻辑电路200尚未开始由视频路由器302A提供的源的显示,输入视频信号210A的刚完成的帧可被包括在画面102的当前帧中。因而,路由器302A将写帧指针218中对应于源标识符314的写帧指针拷贝到读帧指针214中具有同样源标识符的读帧指针。因此,显示逻辑电路200将在当前输出帧中显示视频路由器302A的源的刚完成的帧,而不是等待下一画面V-sync。结果,输入的异步动态视频信号210A及其在画面102中的显示之间的反应时间得以减少。
相反,如果当前显示的行等于或大于初始Y地址310,视频路由器302A跳过步骤510且处理转到步骤512。步骤512将被详细图示为逻辑流程图512(图6)。
简要地,视频路由器302A(图3)通过选择帧缓冲器204A-C中未被指示为正被读帧指针214或下一读帧指针216读的任一缓冲器,而选择帧缓冲器204A-C(图2)中的新的缓冲器以将输入视频信号210A的下一帧写入于其中。换言之,下一写帧可以是不同于当前读的帧及接下来将读的帧的任意帧。当然,这可以多种方式之一实现,其一如逻辑流程图512(图6)中所示,其作为该例示性实施例的一部分。
在测试步骤602中,视频路由器302A(图3)确定读帧指针214(图2)或下一读帧指针216是否将帧204A与主题源关联。如果没有,处理转到步骤604(图6),其中视频路由器302A(图3)将帧204A(图2)与主题源在写帧指针218内关联。
相反,如果读帧指针214或下一读帧指针216已使帧204A与主题源关联,则处理转到测试步骤606(图6)。在测试步骤606中,视频路由器302A(图3)确定读帧指针214(图2)或下一读帧指针216是否将帧204B与主题源关联。如果没有,处理转到步骤608(图6),其中视频路由器302A将帧204B与主题源在写帧指针218内关联。
相反,如果读帧指针214或下一读帧指针216已使帧204B与主题源关联,则处理转到测试步骤610。在步骤610,视频路由器302A将帧204C与主题源在写帧指针218内关联。
在步骤604、608或610任一之后,根据逻辑流程图512的处理,因而步骤512(图5)完成。在步骤512之后,根据逻辑流程图500的响应于输入视频信号210A中的V-sync的处理完成。
根据逻辑流程图500的处理的结果是,视频路由器302A(i)准确地追踪从输入视频信号210A到关键帧202和帧缓冲器204A-C的象素地址空间的象素地址映射,及(ii)确保输入视频信号210A的下一帧将被写到帧缓冲器204A-C中的不会立即为显示逻辑电路200使用的缓冲器中。
如上参考逻辑流程图500(图5)所述,动态视频的输入帧的接收及该帧的显示之间的反应时间得以减少,其通过因上述的原因而包括步骤508和步骤510实现。该反应时间还可通过在响应于输入视频信号中的V-sync之前的时间执行步骤508-510而进一步减少。这被图示在逻辑流程图400B(图7)中,其是逻辑流程图400(图4)的替换,用于响应于输入动态视频信号中的H-sync的处理。
逻辑流程图400B(图7)包括步骤402-404,其与上面参考图4的描述一样。处理从步骤404(图7)转到测试步骤702,其中视频路由器302A(图3)确定Y计数器312是否指示输入视频信号210A的象素的当前输入行是预先确定的测试行。预先确定的测试行表示极限,在该极限,输入视频信号210A的输入帧将以比整个输入帧的输出扫描少的时间被完全接收。该关系可表示如下:
在等式(2)中, 表示从帧缓冲器204A-C读输入视频信号210A的帧所需要的时间。该值取决于画面102的帧频及输入视频信号210A的帧占用的扫描行的数量。 表示将输入信号210A的帧的部分保存到帧缓冲器204A-C所需要的时间,其中该部分包括由Ytest到帧的结束所确定的行。该值取决于输入视频信号210A的帧频及Ytest确定的所选行。Ytest被选择为输入视频信号210A内的最早的行,以使等式(2)为真。
在测试步骤702(图7)中,视频路由器302A确定象素的输入行是否是被确定为测试行的行。如果不是,根据逻辑流程图400B的处理结束。
相反,如果象素的输入行是预先确定的测试行,处理转到步骤508-510,其已在上面参考图5描述。因而,上面参考步骤508-510描述的反应时间的减少可被应用在这样的情形中,其中,帧的接收尚未完成,但将在整个帧的输出扫描完成之前完成。
[合成系统100及更新逻辑电路212的另外的实施例]
图9和10分别示出了合成系统100(图2)的合成系统900和更新逻辑电路912及更新逻辑电路212(图3)的另外的实施例。图9和10分别直接类似于图2和3,除了下面提及的以外。附图中具有相似标记的元件均相互直接相似。
在图9中,更新逻辑电路912提供源标识符信号926。不同于更新逻辑电路212(图2),更新逻辑电路912(图9)不包括阻塞检验,其通过源标识符314(图10)与表示在关键帧202(图9)中的可见源的比较。作为代替,用于阻塞检验的逻辑电路在更新逻辑电路912的外面。
特别地,更新逻辑电路912将源标识符926发送给写帧指针218及匹配逻辑电路936。匹配逻辑电路936使用应用于帧缓冲器204A-C的同样的地址信号比较源标识符926及从关键帧202检索的源标识符,地址信号即连同数据932的地址标志930,其共同以下述方式指定地址。匹配逻辑电路936产生写使能信号928,如果源标识符926匹配从关键帧202检索的源标识符,其使能写;否则,禁止写。
多路分解器934根据从写帧指针218检索的控制信号将写使能信号928应用于帧缓冲器204A-C之一,并禁止向帧缓冲器204A-C中的所有其它缓冲器写。来自写帧指针218的控制信号对应于源标识符926。当然,其它逻辑电路也可用于根据对应于源标识符226的写帧指针218之一将写使能信号928应用于帧缓冲器204A-C之一,并禁止向帧缓冲器204A-C中的所有其它缓冲器写。
为了在合成系统900中移动的数据量的经济,地址不伴随将要写的每一单个象素值。而是,象素值被聚集在一起,以下面更完整描述的方式以连续地址流的形式进行写。具体地,数据行932包括地址数据或地址标志930指示的象素数据。如果地址标志930指示地址出现在数据行932上,关键帧202和帧缓冲器204A-C的寻址逻辑电路保存该地址。相反,如果地址标志930指示象素数据出现在数据行932上,象素数据被写到先前保存的地址,且接下来递增所保存的地址,从而确定将要写的下一象素位置。如此,由于随后的象素数据的地址自动递增,象素数据流可被写在单个指明的地址之后。
图10详细示出了更新逻辑电路912。视频路由器1002A包括队列1006,其中,所接收的象素数据连同帧末V-sync及行末H-sync信号一起被缓存,以帮助确定输入视频信号210A的帧内的相对象素位置。帧缓冲器204A-C内的地址以上述方式使用数据字段306-312和318得到。象素通信量管理器1004控制从视频路由器1002A-D经多路复用器1008对帧缓冲器204A-C的使用。
象素通信量管理器1004使用关于视频路由器1002A-D的各自队列如队列1006的信息,以将来自各个队列的象素数据聚集为一批,从而实现帧缓冲器204A-C的最优使用。具体地,视频路由器1002A发送Q_HI、Q_LO、V-sync和H-sync信号给象素通信量管理器1004。视频路由器1002B-D发送相似的信号给象素通信量管理器1004。来自视频路由器1002A的Q_HI信号指示队列1006相对较满并向象素通信量管理器1004建议,在可以使用帧缓冲器204A-C时,视频路由器1002A应保证优先权。Q_LO信号指示队列1006相对较低并向象素通信量管理器1004建议,视频路由器1002A应保证较低的优先权,使得其它视频路由器可以使用帧缓冲器204A-C。V-sync和H-sync信号允许象素通信量管理器1004经多路复用器1008安排改变通路的时间以与发送地址到帧缓冲器204A-C的需要一致。无论视频路由器1002A-D中的任一个在何时经多路复用器1008得到通路,得到通路的视频路由器经多路复用器1008发送新的地址数据给帧缓冲器204A-C。
通过使将要写在相邻序列中的输入视频信号的特定扫描行的象素数量最大化,象素通信量管理器1004尽可能地避免了地址数据的发送。优选地,在新地址可能以任何方式被指明的情况下,象素通信量管理器1004仅导致经多路复用器1008从视频路由器1002A-D之一到另一的使用转换。除非特定的源占用帧缓冲器204A-C的整个宽度,任何H-sync信号将在写象素数据于其处的地址中导致非连续的转移。因而,在当前视频路由器发送H-sync信号给象素通信量管理器1004时,象素通信量管理器1004改变通路。在图10的环境中,当前视频路由器为视频路由器1002A-D中具有经多路复用器1008的当前通路的一个路由器。
除非特定的源占用帧缓冲器204A-C的全部,任何V-sync信号将在写象素数据于其处的地址中导致非连续的转移。因而,在当前视频路由器发送V-sync信号给象素通信量管理器1004时,象素通信量管理器1004改变通路。输入视频信号的H-sync和V-sync通常是切换去处理另一输入视频信号的所缓存象素数据的最好时间。
当改变经多路复用器1008的通路时,象素通信量管理器1004使用所接收的Q_HI和Q_LO信号来确定视频路由器1002A-D之间的相对优先权级别。
通过避免为所写的每一象素发送地址信息,图9-10的实施例使帧缓冲器204A-C的必须数据/地址通路循环最少,因此提供有效的至帧缓冲器204A-C的写通路。在实时处理多个动态视频信号时,该有效的写通路特别重要。然而,闭塞象素的处理占用写循环。如果将要写的特定象素如关键帧202中所表示那样被闭塞,在处理闭塞象素的写循环期间写使能信号928将禁止所有的写。作为比较,图2-3的实施例丢弃了闭塞象素,以避免帧缓冲器204A-C的存取周期的浪费,从而同样提供了帧缓冲器204A-C的有效写通路。
[画中画混合]
图11示出了可被应用于合成系统100(图2)或合成系统900(图9)的变化方案。混合比阵列1102将混合比与读帧指针214(图2)、下一读帧指针216、及写帧指针218中使用的每一源标识符相关联。具体地,对于每一源标识符,不透明性在混合比中指定。不透明性由范围从0到1的数值表示,其中0表示全透明(即不可见),1表示全部不透明。
图2和9的多路复用器220被多路复用器1120(图11)代替,其仅从帧缓冲器204A-C接收象素数据。来自帧缓冲器204D的象素数据由混合器1204接收。混合器1104还经多路复用器1220接收象素数据,其根据以上述方式选自读帧指针214的帧指针而选自帧缓冲器204A-C。混合器1104根据从混合比阵列1102接收的不透明性混合所接收的象素数据。由混合器1104执行的混合由下面的等式描述。
Pixel1104=α×Pixel1120+(1-α)×Pixel204D (3)
在等式(3)中,α表示所接收的象素数据的不透明性。混合比阵列1102允许各种不透明性被指定用于多个输入异步动态视频信号,并允许其被容易地且单独地修改。因而,表示在画面102中的每一视频窗口可具有不同程度的透明度。
上面的描述仅是例示性的、非限制性的。本发明仅由权利要求及其等价物的全部范围限定。
Claims (20)
1、帧缓冲设备,包括:
a.两个或两个以上帧缓冲器;
b.主要数据,对所显示图象的两个或两个以上部分的每一个,其指定两个或两个以上画面组成中的相应组成,其中至少一个为动态视频信号;
c.对于两个或两个以上画面组成中的每一个:
i.读帧指针,其识别所述帧缓冲器中的读帧缓冲器,将从该读帧缓冲器读取画面组成以进行显示;
ii.写帧指针,其识别所述帧缓冲器中的写帧缓冲器,另外接收的表示画面组成的数据将被写到该写帧缓冲器;
d.更新逻辑电路,其:
(i)检测所述动态视频信号中的新帧;
(ii)记录帧缓冲器中与所述动态视频信号关联的所选择帧缓冲器即将被读,及
(iii)修改与所述动态视频信号关联的写帧指针;及
e.显示逻辑电路,其:
检测所显示的图象中的新帧;以及
响应于检测到所述新帧,更新读帧指针以识别所述两个或两个以上帧缓冲器中最近记录为即将被读的相应帧缓冲器。
2、根据权利要求1所述的帧缓冲设备,其中由动态视频信号的读帧指针识别的读帧缓冲器包含动态视频信号的一完整帧。
3、根据权利要求2所述的帧缓冲设备,其中动态视频信号的输入数据被写到由动态视频信号的写帧指针识别的写帧缓冲器。
4、根据权利要求1所述的帧缓冲设备,还包括:
c.iii.用于两个或两个以上画面组成的每一个的下一读帧指针,其中下一读帧指针识别帧缓冲器的下一帧缓冲器,其包括在所显示的图象中已准备好用于显示的画面组成的帧。
5、根据权利要求4所述的帧缓冲设备,其中更新逻辑电路通过将所选帧缓冲器与动态视频信号在动态视频信号的下一读帧指针中相关联而记录帧缓冲器中与动态视频信号关联的所选帧缓冲器即将被读。
6、根据权利要求4所述的帧缓冲设备,其中显示逻辑电路通过将下一读帧指针拷贝到读帧指针而更新读帧指针。
7、根据权利要求4所述的帧缓冲设备,其中更新逻辑电路:
i.确定在画面组成的所选组成的新部分是完整的并准备好显示时,定义画面图象的当前帧的画面图象的帧缓冲器数据的读取已开始但尚未达到帧缓冲器中所选画面组成的表达;
ii.响应于该确定并在帧缓冲器中所选画面组成的表达的读取之前,通过将所选帧缓冲器与所选画面组成在所选画面组成的读帧指针中相关联而记录与所选画面组成相关联的帧缓冲器中的所选缓冲器即将被读。
8、根据权利要求1所述的帧缓冲设备,其中所显示的图象的部分是象素。
9、根据权利要求1所述的帧缓冲设备,其中画面组成的至少一组成是背景。
10、根据权利要求9所述的帧缓冲设备,其中背景包括计算机产生的图形内容。
11、根据权利要求1所述的帧缓冲设备,其中主要数据指定画面组成的重叠组成对至少一部分是可见的。
12、根据权利要求1所述的帧缓冲设备,其中显示逻辑电路以不同于动态视频信号的输入帧频的画面帧频产生所显示图象的帧。
13、根据权利要求1所述的帧缓冲设备,其中显示逻辑电路在不同于动态视频信号的输入相的画面相中产生所显示图象的帧。
14、显示图象的方法,所述图象包括两个或两个以上显示部分,其中至少一部分包括动态视频,该方法包括:
对于图象的两个或两个以上部分的每一部分:
i.识别两个或两个以上帧缓冲器中的所选帧缓冲器,其中所选帧缓冲器保存代表图象的该部分的数据;
ii.使得图象的该部分自所选帧缓冲器显示;以及
对于所述动态视频显示部分,
(i)当所述动态视频显示部分的一帧完全存储到所述帧缓冲器中的写帧缓冲器时,记录下一读帧数据,该下一读帧数据用于将所述写帧缓冲器识别为存储了所述动态视频显示部分的最近完成的帧的写帧缓冲器;以及
(ii)当所述图象的一帧完成显示时,通过参考所述下一读帧数据选择下一帧缓冲器,以从所选下一帧缓冲器显示所述动态视频显示部分。
15、根据权利要求14所述的方法,其中图象的两个或两个以上部分的至少一个包括至少一部分背景画面内容。
16、根据权利要求14所述的方法,还包括:
确定动态视频信号的不透明程度;
另外,其中所述ii使得步骤包括:
根据不透明程度将动态视频信号与背景画面内容混合。
17、根据权利要求14所述的方法,其中两个或两个以上部分中的每一部分是单一象素。
18、根据权利要求14所述的方法,其中使得步骤包括:
将地址信号应用到两个或两个以上帧缓冲器以使用一个地址信号访问两个或两个以上帧缓冲器。
19、用于显示包括两个或两个以上画面组成的合成图象的方法,该方法包括:
对两个或两个以上画面组成的每一个独立并同时执行下述步骤:
i.选择两个或两个以上帧缓冲器之一以将画面组成的输入画面数据写到该帧缓冲器;
ii.当画面组成的一部分完成在所选择的帧缓冲器中的存储时,记录完成的帧缓冲器数据,该数据用于将所选择的帧缓冲器识别为存储了完成部分的帧缓冲器;及
通过参考各完成的帧缓冲器数据将各画面组成的完成部分组合到合成画面中。
20、用于将动态视频信号的画面组合到合成画面的方法,其中合成画面包括动态视频信号的画面及不同于动态视频信号的画面内容,该方法包括:
a.指定两个或两个以上帧缓冲器中的写帧缓冲器,动态视频信号的输入帧被写到该写帧缓冲器;
b.当将所述输入帧写到所述写帧缓冲器完成时,
i.将所述写帧缓冲器记录为最近完成的帧缓冲器;及
ii.在所述两个或两个以上帧缓冲器中指定新写帧缓冲器,动态视频信号的下一输入帧将被写到该新写帧缓冲器,其中该新写帧缓冲器不同于所述最近完成的帧缓冲器;
c.通过从所述最近完成的帧缓冲器检索完成的输入帧并从所述两个或两个以上帧缓冲器中的其它缓冲器检索所述动态视频信号之外的画面内容而将动态视频信号的所述完成的输入帧组合到合成画面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/795,088 US20050195206A1 (en) | 2004-03-04 | 2004-03-04 | Compositing multiple full-motion video streams for display on a video monitor |
US10/795,088 | 2004-03-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1664915A CN1664915A (zh) | 2005-09-07 |
CN100578606C true CN100578606C (zh) | 2010-01-06 |
Family
ID=34912431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510051317A Expired - Fee Related CN100578606C (zh) | 2004-03-04 | 2005-03-04 | 帧缓冲设备及图象显示方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050195206A1 (zh) |
EP (1) | EP1589521A3 (zh) |
CN (1) | CN100578606C (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961099B2 (en) * | 2001-10-16 | 2005-11-01 | Sony Corporation | Method and apparatus for automatically switching between analog and digital input signals |
US7425962B2 (en) * | 2004-07-27 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Systems and methods for generating a composite video signal from a plurality of independent video signals |
JP4267598B2 (ja) * | 2005-07-11 | 2009-05-27 | ザイオソフト株式会社 | 画像融合処理方法、画像融合処理プログラム、画像融合処理装置 |
US8952974B2 (en) * | 2006-04-20 | 2015-02-10 | Cisco Technology, Inc. | Latency reduction in a display device |
US7710450B2 (en) * | 2006-04-20 | 2010-05-04 | Cisco Technology, Inc. | System and method for dynamic control of image capture in a video conference system |
KR100884400B1 (ko) * | 2007-01-23 | 2009-02-17 | 삼성전자주식회사 | 영상처리장치 및 그 방법 |
US20090282443A1 (en) * | 2008-05-07 | 2009-11-12 | Samsung Electronics Co., Ltd. | Streaming method and apparatus using key frame |
WO2011104582A1 (en) * | 2010-02-25 | 2011-09-01 | Nokia Corporation | Apparatus, display module and methods for controlling the loading of frames to a display module |
US20120251085A1 (en) * | 2011-03-31 | 2012-10-04 | Hown Cheng | Video multiplexing |
AU2012364820B2 (en) * | 2011-06-10 | 2016-11-10 | Pictometry International Corp. | System and method for forming a video stream containing GIS data in real-time |
US8937623B2 (en) | 2012-10-15 | 2015-01-20 | Apple Inc. | Page flipping with backend scaling at high resolutions |
JP6056453B2 (ja) * | 2012-12-20 | 2017-01-11 | 富士通株式会社 | プログラム、データ管理方法および情報処理装置 |
EP2887352A1 (en) * | 2013-12-19 | 2015-06-24 | Nokia Corporation | Video editing |
US10319408B2 (en) * | 2015-03-30 | 2019-06-11 | Manufacturing Resources International, Inc. | Monolithic display with separately controllable sections |
GB2545221B (en) * | 2015-12-09 | 2021-02-24 | 7Th Sense Design Ltd | Video storage |
EP3465613A4 (en) | 2016-05-31 | 2019-10-23 | Manufacturing Resources International, Inc. | METHOD AND SYSTEM FOR REMOTE IMAGE VERIFICATION ON ELECTRONIC DISPLAY UNIT |
CN112235518B (zh) * | 2020-10-14 | 2023-02-03 | 天津津航计算技术研究所 | 一种数字视频图像融合叠加方法 |
CN113066450B (zh) * | 2021-03-16 | 2022-01-25 | 长沙景嘉微电子股份有限公司 | 图像显示方法,装置,电子设备及存储介质 |
US11895362B2 (en) | 2021-10-29 | 2024-02-06 | Manufacturing Resources International, Inc. | Proof of play for images displayed at electronic displays |
CN114449309B (zh) * | 2022-02-14 | 2023-10-13 | 杭州登虹科技有限公司 | 一种用于云导播的动图播放方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3475446D1 (en) * | 1984-06-25 | 1989-01-05 | Ibm | Graphics display terminal |
US4954970A (en) * | 1988-04-08 | 1990-09-04 | Walker James T | Video overlay image processing apparatus |
JP3015140B2 (ja) * | 1991-05-29 | 2000-03-06 | 株式会社日立製作所 | 表示制御装置 |
US6088045A (en) * | 1991-07-22 | 2000-07-11 | International Business Machines Corporation | High definition multimedia display |
JP3413201B2 (ja) * | 1992-12-17 | 2003-06-03 | セイコーエプソン株式会社 | ウィンドウ型及び他の表示オペレーションのためのグラフィックス制御プレーン |
US5519825A (en) * | 1993-11-16 | 1996-05-21 | Sun Microsystems, Inc. | Method and apparatus for NTSC display of full range animation |
US5546518A (en) * | 1995-01-06 | 1996-08-13 | Microsoft Corporation | System and method for composing a display frame of multiple layered graphic sprites |
US5867178A (en) * | 1995-05-08 | 1999-02-02 | Apple Computer, Inc. | Computer system for displaying video and graphic data with reduced memory bandwidth |
GB9517806D0 (en) * | 1995-08-31 | 1995-11-01 | Philips Electronics Uk Ltd | Information handling for interactive apparatus |
US5808629A (en) * | 1996-02-06 | 1998-09-15 | Cirrus Logic, Inc. | Apparatus, systems and methods for controlling tearing during the display of data in multimedia data processing and display systems |
US5914711A (en) * | 1996-04-29 | 1999-06-22 | Gateway 2000, Inc. | Method and apparatus for buffering full-motion video for display on a video monitor |
JP3022405B2 (ja) * | 1997-06-03 | 2000-03-21 | 日本電気株式会社 | 画像メモリ制御装置 |
US6353460B1 (en) * | 1997-09-30 | 2002-03-05 | Matsushita Electric Industrial Co., Ltd. | Television receiver, video signal processing device, image processing device and image processing method |
US6349143B1 (en) * | 1998-11-25 | 2002-02-19 | Acuson Corporation | Method and system for simultaneously displaying diagnostic medical ultrasound image clips |
US6307565B1 (en) * | 1998-12-23 | 2001-10-23 | Honeywell International Inc. | System for dual buffering of asynchronous input to dual port memory for a raster scanned display |
US6621509B1 (en) * | 1999-01-08 | 2003-09-16 | Ati International Srl | Method and apparatus for providing a three dimensional graphical user interface |
US6658056B1 (en) * | 1999-03-30 | 2003-12-02 | Sony Corporation | Digital video decoding, buffering and frame-rate converting method and apparatus |
SE9901605L (sv) * | 1999-05-04 | 2000-11-05 | Net Insight Ab | Förfarande och anordning för bufferthantering |
US8266657B2 (en) * | 2001-03-15 | 2012-09-11 | Sling Media Inc. | Method for effectively implementing a multi-room television system |
US6614441B1 (en) * | 2000-01-07 | 2003-09-02 | Intel Corporation | Method and mechanism of automatic video buffer flipping and display sequence management |
US6864894B1 (en) * | 2000-11-17 | 2005-03-08 | Hewlett-Packard Development Company, L.P. | Single logical screen system and method for rendering graphical data |
US6621500B1 (en) * | 2000-11-17 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | Systems and methods for rendering graphical data |
US7038690B2 (en) * | 2001-03-23 | 2006-05-02 | Microsoft Corporation | Methods and systems for displaying animated graphics on a computing device |
US6894692B2 (en) * | 2002-06-11 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | System and method for sychronizing video data streams |
US8065614B2 (en) * | 2003-04-09 | 2011-11-22 | Ati Technologies, Inc. | System for displaying video and method thereof |
CA2548412C (en) * | 2003-12-08 | 2011-04-19 | Qualcomm Incorporated | High data rate interface with improved link synchronization |
-
2004
- 2004-03-04 US US10/795,088 patent/US20050195206A1/en not_active Abandoned
-
2005
- 2005-03-02 EP EP05251252A patent/EP1589521A3/en not_active Withdrawn
- 2005-03-04 CN CN200510051317A patent/CN100578606C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1589521A2 (en) | 2005-10-26 |
EP1589521A3 (en) | 2010-03-17 |
US20050195206A1 (en) | 2005-09-08 |
CN1664915A (zh) | 2005-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100578606C (zh) | 帧缓冲设备及图象显示方法 | |
US5293540A (en) | Method and apparatus for merging independently generated internal video with external video | |
US8811499B2 (en) | Video multiviewer system permitting scrolling of multiple video windows and related methods | |
EP0608056A1 (en) | Display line dispatcher apparatus | |
JPH087567B2 (ja) | 画像表示装置 | |
US9124847B2 (en) | Video multiviewer system for generating video data based upon multiple video inputs with added graphic content and related methods | |
JPS62142476A (ja) | テレビジョン受像機 | |
EP0499462B1 (en) | Method and apparatus for controlling image display | |
US20020190994A1 (en) | Supplying data to a double buffering process | |
US9615049B2 (en) | Video multiviewer system providing direct video data transfer to graphics processing unit (GPU) memory and related methods | |
JPH11510269A (ja) | 連結リスト構造のオンスクリーン表示システム | |
JP2007011061A (ja) | マルチビューディスプレイ装置 | |
EP1705558A2 (en) | Method and apparatus for capturing full-screen frames | |
JP2001148815A (ja) | 画像表示装置および媒体 | |
JP2003510979A (ja) | ユーザインタフェース生成 | |
JP2861211B2 (ja) | ディスプレイ装置 | |
AU672648B2 (en) | Display line dispatcher apparatus | |
JP2822668B2 (ja) | 表示制御装置 | |
JP2859883B2 (ja) | プレゼンテーション用表示装置 | |
JP2001136455A (ja) | 番組表表示装置 | |
JPH0286451A (ja) | ビデオプリンタ | |
JPH10224709A (ja) | 表示制御装置およびテレビジョン受信装置 | |
JPH01143580A (ja) | 文字放送受信装置 | |
JP2000235643A (ja) | 画像合成方法 | |
JP3264942B2 (ja) | 画像表示制御方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100106 Termination date: 20100304 |