专利名称:一种在屏显示的合成方法及合成装置的制作方法
技术领域:
本发明涉及视频数据处理技术领域,具体涉及一种在屏显示(OSD, On Screen Display)的合成方法及合成装置背景技术近年来,各种数字视频监控系统已经在高速公路、电力、银行等领域得到 了非常广泛的应用。数字视频监控系统常常采用OSD技术来实现人机界面的 交互。OSD技术应用相当灵活,例如,在本地视频数据上合成OSD图像后, 再对合成后的视频数据进行视频编码处理,然后,将编码后的数据通过网络发 送至远端,由远端对接收到的数据进行解码并播放。目前,在视频方面所采用 的OSD的形式具体可分为字符和位图两种。通过OSD显示技术,可显示当前 视频的时间、地点等信息,还可以在实时视频流上实现菜单、鼠标等功能,极 大的方便了对视频的辨识、存储等操作。如何在视频数据上合成OSD,对此,现有技术的解决方法之一是通过软 件方式来实现,即,将所获取到的每帧视频数据先緩存在内存或外部存储空间 中,通过软件来计算OSD显示的坐标,并在内存或外部存储空间中找到相应 位置的存储单元,填入需要显示的OSD信息。这种方法适用于显示简单的OSD 文字、颜色信息,其灵活性差。在显示菜单、图标类的大信息量、多色彩的 OSD时,由于这些OSD数据量较大,软件计算的工作量也很大,同时由于需 要对每帧视频数据做OSD信息叠加,导致整个运算占用大量的CPU资源。在 用于实时监控时,该方法由于计算量较大,造成的延时较为明显。为了减小延 时,需要采用更高主频的CPU处理芯片及高速緩存,必然使整个系统的成本 显著增加。现有技术合成OSD的另一种方案是通过逻辑来实现OSD叠加的功能。即 通过大规模逻辑器件及相应的数据緩存,将模数(AD)转换得到的数字视频
信号进行緩存,在逻辑中生成相应的字库及OSD叠加机制。CPU只需给出 OSD的坐标、颜色、显示字体等信息,即可实现OSD的合成。这种方法虽然 减轻了CPU的负担,但同时需要增加大规模的逻辑器件,需要消耗大量的逻 辑资源。并且,逻辑器件需要进行OSD点阵坐标计算。这对于指定图形和文 字还可以计算,但是对于未知图形和图像则较为困难,因而,其应用具有一定 的局限性。现有技术中还可以采用OSD专用集成芯片实现OSD功能。这种方式需要 字库芯片,且只能显示字库中预设的字符和菜单之类的简单图形,无法显示复 杂的图形、无规则图形、或标识(logo)图标以及字库中没有的字符信息,其 扩展性较差。发明内容本发明所要解决的技术问题是提供一种OSD的合成方法及合成装置,以 较低成本实现OSD合成,并且减小OSD合成处理所带来的时延。 为解决上述技术问题,本发明提供方案如下一种在屏显示OSD的合成方法,用于在原始视频数据上合成OSD图像, 包括步骤A,同步OSD视频数据和原始视频数据,并将OSD视频数据和原始视频 数据的有效图像区域设置成一致,其中,所述OSD视频数据中背景像素和OSD 图像像素的颜色值不同;B,根据OSD视频数据中像素的颜色值,识别出OSD图像像素的位置坐 标,在原始视频数据中对应于该位置坐标处合成OSD图像。本发明所述的方法,其中,还包括步骤C,对合成了 OSD图像的原始视频数据进行视频编码后输出。本发明所述的方法,其中,所述步骤A中,所述同步OSD视频数据和原 始视频数据包括以原始视频数据的像素时钟信号为写参考时钟,将原始视频 数据写入一先进先出FIFO緩存;以OSD视频数据的像素时钟信号为读参考 时钟,读出FIFO緩存中的保存的原始视频数据,其中,所述OSD视频数据 的像素时钟信号和原始视频数据的像素时钟信号的频率相同。
本发明所述的方法,其中,写入FIFO緩存的原始视频数据包括原始视 频数据的行同步信号、场同步信号和图像数据。本发明所述的方法,其中,所述步骤B中,所述在原始视频数据中对应 于该位置坐标处合成OSD图像是在原始视频数据中对应于该位置坐标处, 替换当前像素的颜色为对应的OSD图像像素的颜色,或者替换当前像素的颜 色为预定颜色。本发明所述的方法,其中,所述步骤B中,所述在原始视频数据中对应 于该位置坐标处合成OSD图像是在原始视频数据中对应于该位置坐标处, 对当前像素的颜色值进行取反操作,或者根据当前像素的颜色值是否达到预定 阀值,重新设置当前像素的颜色值。一种OSD合成装置,包括同步单元,用于同步OSD视频数据和原始视频数据,并将OSD视频数据 和原始视频数据的有效图像区域设置成一致,其中,所述OSD视频数据中背 景像素和OSD图像像素的颜色值不同;合成单元,用于根据OSD视频数据中像素的颜色值,识别出OSD图像^象 素的位置坐标,在原始视频数据中对应于该位置坐标处合成OSD图像。本发明所述的合成装置,其中,还包括编码单元,用于对所述合成单元合成了 OSD图像的原始视频数据进行一见 频编码后输出。本发明所述的合成装置,其中,所述同步单元进一步用于以原始视频数据 的像素时钟信号为写参考时钟,将原始视频数据写入一 FIFO緩存;以OSD 视频数据的像素时钟信号为读参考时钟,读出FIFO缓存中保存的原始视频数 据,其中,所述OSD视频数据的像素时钟信号和原始视频数据的像素时钟信 号的频率相同。本发明所述的合成装置,其中,所述合成单元,进一步用于在原始视频凝: 据中对应于所述位置坐标处,替换当前像素的颜色为对应的OSD图像像素的 颜色,或者替换当前像素的颜色为预定颜色。本发明所述的合成装置,其中,所述合成单元,进一步用于在原始视频数 据中对应于所述位置坐标处,对当前像素的颜色值进行取反操作,或者根据当 前像素的颜色值是否达到预定阀值,重新设置当前像素的颜色值。从以上所述可以看出,本发明提供的OSD的合成方法及合成装置,通过 预先对OSD视频数据和原始视频数据进行同步处理,再进行OSD合成,可以 显著減小计算工作量,降低CPU占用率,大大減小OSD处理的时延,同时还 节约了大量緩存资源,降低了系统成本。并且,本发明还提供了 OSD显示颜 色的控制方法,通过配置颜色寄存器,可以实现任意图形颜色,因而OSD控 制具有很大的灵活性。
图1为本发明实施例所述OSD的合成方法的流程图;图2为OSD视频数据与原始视频数据的同步状态的示意图;图3为通过FIFO缓存进行同步处理的示意图;图4为本发明实施例中原始视频数据的举例示意图;图5为本发明实施例中OSD视频数据的举例示意图;图6为本发明实施例中合成了 OSD图像的原始视频数据的举例示意图;图7为本发明实施例所述OSD合成装置的结构示意图。
具体实施方式
本发明提供了 一种OSD的合成方法及合成装置,通过将OSD视频数据与 原始视频数据进行同步叠加,实现OSD合成处理。以下结合附图通过具体实 施例对本发明做详细的说明。本实施例中,通过CPU与中小规^莫逻辑器件,例如复杂可编程逻辑器件 (CPLD),来共同完成OSD的生成、合成、控制等。本发明实施例所述OSD 的合成方法,如图l所示,包括以下步骤步骤ll,同步OSD视频数据和原始视频数据,并将OSD视频数据和原 始视频数据的有效图像区域设置成一致,其中,所述OSD视频数据中背景像 素和OSD图像像素的颜色值不同。这里,所述OSD视频数据是利用CPU芯片自带解码模块中的OSD显示 功能,生成并输出OSD视频数据,其中,所述OSD视频数据包括背景像素和
OSD图像像素,并且,背景像素和OSD图像像素被设置成不同的颜色值。OSD 图像具体的可以是字符和位图等,其中位图中又包括用于遮挡图像信息的遮挡 块。对于具体的OSD图像,可以设置为不同的颜色。例如,分别为字符或遮 挡块设置不同的颜色,当然,字符和遮挡块的颜色不能与背景像素的颜色相同。
这里,所述原始视频数据是需要叠加OSD图像的视频数据,通常是通过 视频模数(AD)转换芯片对外部原始的模拟信号进行AD转换后得到的,包 括各种同步信号和图像数据。
这里,所述原始视频数据和OSD视频数据均为实时视频流,本实施例通 过预先对上述两种视频数据进行同步处理,以避免在OSD合成时为达到输出 同步的目的而进行大量数据緩存,从而节约了大量緩存空间。上述两种视频数 据之间需要同步的信号包括行同步(HS)、场同步(VS)和奇偶场信号(FD) 以及相应的像素时钟(PCLK)等,其中上述两种信号的PCLK频率相同,相 位可能存在偏移。如图2所示,在原始视频数据和OSD视频数据达到完全同 步之后,它们的HS、 VS、 FD及PCLK等信号将完全重叠(图2中未示出FD 和PCLK )。
这里,所述同步处理可以通过先进先出(FIFO, First In First Out)缓存实 现以原始视频数据的PCLK作为写参考时钟,将原始视频数据写入FIFO緩 存;同时,以OSD视频数据的PCLK作为读参考时钟,将FIFO緩存中存储 的原始视频数据读出,从而将原始视频数据同步到OSD视频数据的PCLK上。 例如,如图3所示,设置长度为4个存储单元的FIFO緩存,每个存储单元的 位宽根据具体应用环境设定。从PI位置开始写入原始:^见频数据,再从P2位 置读出该视频数据,其中,P1和P2的位置按照PI: 1—>2 — >3 —>4 — 〉1, P2: 3 —>4->1->2 —〉3在FIFO緩存中循环,即,P1和P2之间始终相差大 约2个存储单元。由于在数据同步过程中只通过改变存储位置P1、 P2而不移 动数据。因此,如果OSD视频数据和原始视频数据之间存在相位差,就可以 通过该FIFO緩存实现同步。这里,通过FIFO緩存进行同步的原始视频数据 具体包括原始视频数据的行同步信号、场同步信号和图像数据等。对于从 FIFO緩存中读出的原始视频数据的行同步信号和场同步信号,可以分别作为 OSD视频数据的行同步信号和场同步信号,以实现原始3见频数据和OSD视频
数据间的同步。这里,在同步完成之后,还需要进一步将OSD视频数据和原始视频数据的有效图像区域设置成一致,具体的可以通过调整视频AD转换芯片或CPU 的相关寄存器的值来实现,例如,图2中示出了 OSD视频数据和原始视频数 据的有效图像区域,通过调节相关寄存器,使得两种视频数据的每行有效数据 区(HVALID)和每场有效区域(VVALID)的起始位置、结束位置都相同, 以保证上述两种^L频数据的有效图像区域一致。步骤12,根据OSD视频数据中像素的颜色值,识别出OSD图像像素的 位置坐标,在原始视频数据中对应于该位置坐标处合成OSD图像。这里,由于OSD视频数据中背景像素和OSD图像像素的颜色值不同,因 而,可以根据颜色值之间的差别,识别出OSD图像像素的位置坐标,在OSD 视频数据和原始视频数据完全同步的情况下,所识别出的OSD图像像素的位 置坐标,就是合成后的OSD图像在原始视频数据上的位置坐标,从而可以根 据所识别出的位置坐标,在原始视频数据中对应于该位置坐标处进行OSD合 成。请参照图4~6,给出了一个OSD合成的示例,图4 6分别为原始视频 数据、OSD视频数据和合成了 OSD图像的原始视频数据。在各个图中,用不 同的线条填充方式来表示不同的颜色,其中,图5中的OSD图像包括字符 "WORD"、箭头和长方形的遮挡块。在图6中对应于上述OSD图像的位置处, 分别合成了上述OSD图像。这里,当OSD的位置坐标识别出来后,在原始视频数据上合成OSD图像 时,对于OSD图像的颜色有多种处理方式,例如,在原始视频数据中对应于 OSD图像像素的位置坐标处,替换当前像素为该位置坐标所对应的OSD图像 像素,即直接将该位置坐标处的OSD图像像素的颜色替换到原始视频数据中 对应于该位置坐标的像素上;或者通过颜色寄存器来控制OSD图像像素的颜 色,即在OSD图^f象像素坐标识别出来后,例如识别出字符和遮挡块的位置坐 标后,根据字符和遮挡块所对应的颜色寄存器的值,在原始视频数据的相应位 置处设置像素的颜色。CPU可以通过配置上述颜色寄存器的值,便可控制OSD 图像的颜色。这种方式能够非常简便的在原始视频上实现菜单、彩色图形、文 字等多种效果。
除此之外,还可以在原始视频数据中对应于OSD图像的位置坐标处,对当前像素的颜色值进行取反操作,或者根据当前像素的颜色值是否达到预定阀值,重新设置当前像素的颜色值,以达到OSD显示效果的自适应控制。 步骤13,对合成了 OSD图l象的原始视频数据进行视频编码后输出。 这里,由于步骤12中的合成操作是基于完全同步的两种视频数据,并且 只对两种视频数据中的有效图像区域进行OSD处理,保留了原视频数据的行 场消隐及相应的同步头。对于后续的对原始视频数据处理来说,步骤12的操 作是透明的,因此,可按正常的视频输入对合成了 OSD图像的原始视频数据 进行处理。合成了 OSD图像的原始视频数据在视频编码后,可以被存储,或 者通过网络传输到终端,在终端处被解码并播放显示。以上实施例说明了 OSD的合成方法,可以看出,由于预先对OSD视频数 据和原始视频数据进行同步处理,再进行OSD合成,本实施例可以显著减小 计算工作量,降低CPU占用率,节约大量緩存资源,降低了系统成本。并且, 本实施例还提供了 OSD显示颜色的控制方法,通过配置颜色寄存器,可以实 现任意图形颜色,因而OSD控制具有很大的灵活性。基于上述OSD的合成方法,本实施例相应的还提供了一种OSD合成装置, 如图7所示,该OSD合成装置70包括同步单元71,用于同步OSD视频数据和原始视频数据,并将OSD视频 数据和原始视频数据的有效图像区域设置成一致,其中,所述OSD视频数据 可以利用CPU生成,其背景像素和OSD图像像素的颜色值不同。这里,所述 同步单元71进一步用于以原始视频数据的像素时钟信号为写参考时钟,将原 始视频数据写入一 FIFO緩存;以OSD视频数据的像素时钟信号为读参考时 钟,读出FIFO緩存中所保存的原始视频数据,从而将原始视频数据同步到 OSD视频数据的像素时钟信号上。这里,所述OSD视频数据的像素时钟信号 和原始视频数据的像素时钟信号的频率相同。从FIFO緩存中读出的行同步信 号和场同步信号,作为OSD视频数据的行同步信号和场同步信号,以实现原 始视频数据和OSD视频数据间的同步。合成单元72,用于根据OSD视频数据中像素的颜色值,识别出OSD图 像像素的位置坐标,在原始视频数据中对应于该位置坐标处合成OSD图像。
这里,所述合成单元72具体的可以是一CPLD。所述合成单元72,进一步用 于在原始视频数据中对应于所述位置坐标处,替换当前像素为对应的OSD图 像像素,或者替换当前像素为预定颜色的像素。合成单元72,还可以进一步 用于在原始视频数据中对应于所述位置坐标处,对当前像素的颜色值进行取反 操作,或者根据当前像素的颜色值是否达到预定阀值,重新设置当前像素的颜 色值。编码单元73,用于对所述合成单元72合成了 OSD图像的原始视频数据 进行视频编码后输出。这里,可以利用CPU实现所述视频编码的处理。综上所述,按照本发明实施例所述的OSD的合成方法及OSD合成装置, 可以以较低成本实现OSD合成,并且显著减小OSD合成处理所带来的时延。本发明所述的OSD的合成方法及OSD合成装置,并不仅仅限于说明书和 实施方式中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉 本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要 求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定 的细节、代表性的设备和这里示出与描述的图示示例。
权利要求
1.一种在屏显示OSD的合成方法,用于在原始视频数据上合成OSD图像,其特征在于,包括步骤A,同步OSD视频数据和原始视频数据,并将OSD视频数据和原始视频数据的有效图像区域设置成一致,其中,所述OSD视频数据中背景像素和OSD图像像素的颜色值不同;B,根据OSD视频数据中像素的颜色值,识别出OSD图像像素的位置坐标,在原始视频数据中对应于该位置坐标处合成OSD图像。
2. 如权利要求l所述的方法,其特征在于,还包括步骤C,对合成了 OSD图像的原始视频数据进行视频编码后输出。
3. 如权利要求1所述的方法,其特征在于,所述步骤A中,所述同步OSD 视频数据和原始视频数据包括以原始视频数据的像素时钟信号为写参考时 钟,将原始视频数据写入一先进先出FIFO緩存;以OSD视频数据的像素时 钟信号为读参考时钟,读出FIFO緩存中的保存的原始视频数据,其中,所述 OSD视频数据的像素时钟信号和原始视频数据的像素时钟信号的频率相同。
4. 如权利要求3所述的方法,其特征在于,写入FIFO緩存的原始视频数 据包括原始视频数据的行同步信号、场同步信号和图像数据。
5. 如权利要求1所述的方法,其特征在于,所述步骤B中,所述在原始 视频数据中对应于该位置坐标处合成OSD图像是在原始^f见频数据中对应于 该位置坐标处,替换当前像素的颜色为对应的OSD图像像素的颜色,或者替 换当前像素的颜色为预定颜色。
6. 如权利要求1所述的方法,其特征在于,所述步骤B中,所述在原始 视频数据中对应于该位置坐标处合成OSD图像是在原始视频数据中对应于 该位置坐标处,对当前像素的颜色值进行取反操作,或者根据当前像素的颜色 值是否达到预定阀值,重新设置当前像素的颜色值。
7. —种OSD合成装置,其特征在于,包括同步单元,用于同步OSD视频数据和原始视频数据,并将OSD视频数据 和原始视频数据的有效图像区域设置成一致,其中,所述OSD视频数据中背景像素和OSD图像像素的颜色值不同;合成单元,用于根据OSD视频数据中像素的颜色值,识别出OSD图像像 素的位置坐标,在原始视频数据中对应于该位置坐标处合成OSD图像。
8. 如权利要求7所述的合成装置,其特征在于,还包括编码单元,用于对所述合成单元合成了 OSD图像的原始视频数据进行视 频编码后输出。
9. 如权利要求7所述的合成装置,其特征在于,所述同步单元进一步用 于以原始视频数据的像素时钟信号为写参考时钟,将原始视频数据写入一 FIFO緩存;以OSD视频数据的像素时钟信号为读参考时钟,读出FIFO緩存 中保存的原始视频数据,其中,所述OSD视频数据的像素时钟信号和原始视 频数据的像素时钟信号的频率相同。
10. 如权利要求7所述的合成装置,其特征在于,所述合成单元,进一步 用于在原始视频数据中对应于所述位置坐标处,替换当前像素的颜色为对应的 OSD图像像素的颜色,或者替换当前像素的颜色为预定颜色。
11. 如权利要求7所述的合成装置,其特征在于,所述合成单元,进一步 用于在原始视频数据中对应于所述位置坐标处,对当前像素的颜色值进行取反 操作,或者根据当前像素的颜色值是否达到预定阀值,重新设置当前像素的颜 色值。
全文摘要
本发明提供了一种OSD的合成方法及合成装置,预先同步OSD视频数据和原始视频数据,再根据识别出OSD图像像素的坐标位置,在原始视频数据上合成OSD。按照本发明所述的OSD的合成方法及合成装置,可降低系统成本,并减小OSD处理带来的时延。
文档编号G09G5/00GK101127847SQ20071012108
公开日2008年2月20日 申请日期2007年8月29日 优先权日2007年8月29日
发明者俞柏峰, 胡慧锋, 高尔龙 申请人:杭州华三通信技术有限公司