CN105450942A - 对视频图像进行字符叠加的方法及装置 - Google Patents
对视频图像进行字符叠加的方法及装置 Download PDFInfo
- Publication number
- CN105450942A CN105450942A CN201410247922.2A CN201410247922A CN105450942A CN 105450942 A CN105450942 A CN 105450942A CN 201410247922 A CN201410247922 A CN 201410247922A CN 105450942 A CN105450942 A CN 105450942A
- Authority
- CN
- China
- Prior art keywords
- character
- image
- copy
- osd
- video image
- 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.)
- Granted
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了对视频图像进行字符叠加的方法及装置,其中,该方法包括:从字符叠加OSD配置结构中获取OSD字符信息,所述OSD字符信息包括字符内容、字符位置和字库,所述字符位置为字符内容在视频图像中的显示位置;从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中;在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中,得到叠加后的字符图像,将叠加后的字符图像拷贝回内存;在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。本发明方案能够减少进行字符叠加时对系统资源的占用,且提高叠加效率。
Description
技术领域
本发明涉及视频图像处理技术,尤其涉及对视频图像进行字符叠加的方法及装置。
背景技术
字符叠加(OSD,OnScreenDisplay)被广泛应用在视频图像领域,尤其在视频监控领域;在视频图像上叠加特定的字符并通过监视器显示,便于使用者获取一定的信息,例如时间、地点、当前图像制式等。OSD已成为人机界面上重要的信息交互技术。
字符叠加,即通过OSD字库的字符阵列,改变数字图像中某些像素的亮度色度值,使之组合成用户需要的、并可以在图像中辨识的字符信息。通过实时更新需要叠加的字符,可达到OSD动态改变的效果。具体如叠加当前时间信息。
目前对视频图像进行OSD的方案主要采用如下方式:
从OSD配置结构中获取OSD字符信息,OSD字符信息包含了需要添加到视频图像上的字符内容、字符位置等信息,还包括字库;
在内存中,以整幅视频图像为对象,根据字库将字符内容包含的字符逐个叠加到视频图像的相应位置。字库中包含了诸多字符对应的字符阵列信息,视频图像上显示的字符由多个点阵组合;根据字符阵列信息,改变相应点阵的亮度色度值,便可在视频图像上突显出可辨识的字符。
图1、2显示出了叠加有字符的的视频图像实例。图1中,叠加的字符为无背景黑白色,这里字符都为白色,也可将字符都设置为黑色,或者,为了突出显示时间,可字符中“12”为黑色,其他字符为白色;黑白OSD效果多应用于安防行业中,如数字硬盘录像机(DVR,DigitalVideoRecorder)产品。还可以采用无背景彩色字符进行叠加。图2中,叠加的字符带有背景颜色。
现有对视频图像进行字符叠加的方案中,字符叠加的整个过程在内存中进行,且叠加时以整幅图像为对象;由于视频图像占用内存空间大,一般放在片外内存区如双倍数据率同步动态随机存储器(DDRSDRAM,DoubleDataRateSDRAM)中,而访问DDR内存的速度较慢。经测试,处理一帧8行随机黑白OSD需要的时间约3629us,无法达到每秒处理480帧图像的规定需求;一帧8行随机黑白OSD,也就是,在一帧图像上显示8行字符,且字符为黑白色,而非彩色。若为彩色OSD,将更加消耗资源。
综上,现有对视频图像进行字符叠加的方案存在性能消耗大、占用较多系统资源、叠加效率低的缺陷。
发明内容
本发明提供了一种对视频图像进行字符叠加的方法,该方法能够减少进行字符叠加时对系统资源的占用,且提高叠加效率。
本发明提供了一种对视频图像进行字符叠加的装置,该装置能够减少进行字符叠加时对系统资源的占用,且提高叠加效率。
一种对视频图像进行字符叠加的方法,该方法包括:
从字符叠加OSD配置结构中获取OSD字符信息,所述OSD字符信息包括字符内容、字符位置和字库,所述字符位置为字符内容在视频图像中的显示位置;
从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中;
在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中,得到叠加后的字符图像,将叠加后的字符图像拷贝回内存;
在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。
一种对视频图像进行字符叠加的装置,该装置包括内存、缓存区、字符信息获取模块、图像存取模块和叠加模块;
所述字符信息获取模块,从字符叠加OSD配置结构中获取OSD字符信息,所述OSD字符信息包括字符内容、字符位置和字库,所述字符位置为字符内容在视频图像中的显示位置;将OSD字符信息发送给所述叠加模块,并将字符位置发送给所述图像存取模块;
所述图像存取模块,接收来自所述字符信息获取模块的字符位置,从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中,向所述叠加模块发送字符叠加指令;接收来自所述叠加模块的拷贝指令,将叠加后的字符图像拷贝回内存,向所述叠加模块发送图像叠加指令;
所述叠加模块,接收来自所述字符信息获取模块的OSD字符信息,以及所述图像存储模块的字符叠加指令,在缓存区中,根据字库将字符内容叠加到拷贝的图像中,得到叠加后的字符图像,向所述图像存取模块发送拷贝指令;接收来自所述图像存取模块的图像叠加指令,在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。
从上述方案可以看出,本发明中,获取OSD字符信息后,从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中;在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中,得到叠加后的字符图像,将叠加后的字符图像拷贝回内存;在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。采用本发明方案,拷贝出与显示位置对应的图像,以局部图像作为对象进行叠加,提高了处理效率;并且,将字符叠加的处理操作分摊到缓存区进行处理,由于缓存区具有速度快、效率高的特点,从而,在减少对内存资源占用同时,进一步提高了叠加效率。
附图说明
图1为现有技术叠加有字符的视频图像示意图实例一;
图2为现有技术叠加有字符的视频图像示意图实例二;
图3为本发明对视频图像进行字符叠加的方法示意性流程图;
图4为本发明对视频图像进行字符叠加的方法流程图实例一;
图5为本发明对视频图像进行字符叠加的方法流程图实例二;
图6为本发明对视频图像进行字符叠加的方法流程图实例三;
图7为本发明叠加有带空格字符的视频图像示意图实例;
图8为本发明对视频图像进行字符叠加的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
现有对视频图像进行字符叠加的方案中,字符叠加的整个过程都在内存中进行,且字符叠加时以整幅图像为对象,性能消耗大且叠加效率低。针对该情况,本发明采用以叠加字符的局部图像作为对象,以提高叠加效率;并且,将字符叠加的处理操作分摊到缓存区进行处理,由于缓存区具有速度快、效率高的特点,从而,在减少对内存资源占用同时,进一步提高了叠加效率。
参见图3,为本发明对视频图像进行字符叠加的方法示意性流程图,其包括以下步骤:
步骤301,从字符叠加OSD配置结构中获取OSD字符信息,所述OSD字符信息包括字符内容、字符位置和字库,所述字符位置为字符内容在视频图像中的显示位置。
OSD字符信息包含了需要添加到视频图像上的字符内容、字符位置等信息,还包括字库。字库中包含了诸多字符对应的字符阵列信息,视频图像上显示的字符由多个点阵组合;根据字符阵列信息,改变相应点阵的亮度色度值,便可在视频图像上突显出可辨识的字符。通过实时更新需要叠加的字符,可达到OSD动态改变的效果。若实时对视频图像上的字符进行更新,相应地,OSD配置结构中的OSD字符信息也将实时刷新,以提供最新的OSD字符信息;以叠加当前时间信息为例,需要对OSD字符信息中字符内容所包含的时间进行更新,进而更新显示在视频图像上的时间。
步骤302,从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中。
字符位置对应的是视频图像中的局部图像,将该局部图像拷贝到缓存区中。
步骤303,在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中,得到叠加后的字符图像,将叠加后的字符图像拷贝回内存。
步骤304,在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。
将字符图像叠加到视频图像中的相应位置,得到最后带字符的视频图像。
本发明中,获取OSD字符信息后,从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中;在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中,得到叠加后的字符图像,将叠加后的字符图像拷贝回内存;在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。采用本发明方案,拷贝出与显示位置对应的图像,以局部图像作为对象进行叠加,提高了处理效率;并且,将字符叠加的处理操作分摊到缓存区进行处理,由于缓存区具有速度快、效率高的特点,从而,在减少对内存资源占用同时,进一步提高了叠加效率。
图3的流程中,进行字符叠加时,可采用逐个字符叠加的方式,为了进一步提高叠加效率,也可采用逐行字符叠加的方式。下面分别进行说明。
方式一:按照字符为单位逐个叠加。
所述字符位置包含字符内容中每个字符各自在视频图像中的显示位置,称为个体字符显示位置;相应地,
步骤302所述从内存的视频图像中拷贝与所述字符位置对应的图像,存储到缓存区中包括:从内存的视频图像中逐个拷贝与各个体字符显示位置对应的图像,存储到缓存区中;
步骤303所述在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中包括:在缓存区中,根据字库将字符内容包含的各字符逐个叠加到拷贝的相应图像中。
假设需要在视频图像上显示一行“中国浙江”,采用该方式,先将“中”所在位置的图像,一般为64*64像素的图像块,从视频图像拷贝后存储到缓存区中;然后,在缓存区中,根据字库将字符“中”叠加到相应的图像块中,将带有“中”的字符图像叠加到视频图像上。依次地,对“国”、“浙”、“江”也执行类似过程。
方式二:按照行字符为单位逐行进行叠加。
所述字符位置包含字符内容中行字符在视频图像中的行显示位置,称为行字符显示位置;相应地,
步骤302所述从内存的视频图像中拷贝与所述字符位置对应的图像,存储到缓存区中包括:从内存的视频图像中拷贝与行字符显示位置对应的图像,存储到缓存区中;
步骤303所述在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中包括:在缓存区中,根据字库将行字符叠加到拷贝的图像中;
步骤304所述在内存中将字符图像叠加到视频图像中所述显示位置对应的位置包括:在内存中将字符图像叠加到视频图像中所述行字符显示位置对应的位置。
同样地,假设需要在视频图像上显示一行“中国浙江”,采用该方式,先将“中国浙江”这四个字所在位置的图像,大小为4x(64*64)像素,从视频图像拷贝后存储到缓存区中;然后,在缓存区中,根据字库将字符“中国浙江”叠加到相应的图像中,将带有“中国浙江”的字符图像叠加到视频图像上。这里,以图像上只有一行字符为例进行说明,对于有两行以上字符的情况,其他行与第一行字符的处理类似,进行循环操作,直至各行字符都叠加到视频图像上为止。
进一步地,所述OSD字符信息还包括背景颜色,相应地步骤303所述根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中包括:
对拷贝的图像叠加背景颜色,成为带背景颜色的图像;
根据字库将OSD字符信息包含的字符内容叠加到带背景颜色的图像中,得到所述叠加后的字符图像。
对于OSD字符信息还包括背景颜色的情况,如果字符内容中包含空格,为了使显示效果更优,可将空格部分显示为原图像。具体地:
该方法还包括:判断OSD字符信息中是否包含背景颜色且行字符中包含空格,如果是,则从OSD字符信息中获取空格字符位置,从内存的视频图像中拷贝与空格字符位置对应的空格图像,进行缓冲保存;
相应地,步骤304所述在内存中将字符图像叠加到视频图像中所述显示位置对应的位置之后,该方法还包括:从缓冲中获取空格图像,叠加到视频图像中空格字符位置对应的位置。
所述缓冲,可具体为从内存中申请的用于保存空格图像的空间。
进一步地,所述OSD字符信息还包括字符颜色,相应地,步骤303所述根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中包括:
根据字库将OSD字符信息包含的字符内容按照字符颜色叠加到拷贝的图像中。
为了进一步提高叠加效率,本发明涉及将内存中的图像拷贝到缓存区的操作,以及从缓存区将图像拷贝到内存的操作,都可申请直接内存存取(DMA,DirectMemoryAccess)资源完成;采用DMA资源进行内存图像的存取,具有降低资源占用、速度快的优点。具体地:
步骤302所述从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中,具体包括:申请DMA资源;采用DMA资源,从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中;释放DMA资源;
步骤303所述将叠加后的字符图像拷贝回内存包括:申请DMA资源;采用DMA资源将叠加后的字符图像拷贝回内存;释放DMA资源。
下面通过图4-6的流程,对本发明字符叠加的方法进行实例说明。
参见图4,为本发明对视频图像进行字符叠加的方法流程图实例一,该实例为逐个字符进行叠加的方案,其包括以下步骤:
步骤401,从字符叠加OSD配置结构中获取OSD字符信息。
本实例中,所述OSD字符信息包括字符内容、字符位置和字库,所述字符位置包含字符内容中每个字符各自在视频图像中的显示位置,称为个体字符显示位置。
步骤402,逐个提取字符内容中的个体字符。
如果为第一次提取,则为字符内容中的第一个个体字符;依次地,将逐个提取后续的个体字符。
步骤403,申请DMA资源,采用DMA资源从内存的视频图像中拷贝与提取的个体字符显示位置对应的图像,存储到缓存区中,释放DMA资源。
该缓存区具体为L2级缓存。
步骤404,在缓存区中,根据字库将字符内容包含的各字符逐个叠加到拷贝的相应图像中,得到叠加后的字符图像。
步骤405,申请DMA资源,采用DMA资源将叠加后的字符图像拷贝回内存,释放DMA资源。
步骤406,在内存中将字符图像叠加到视频图像中个体字符显示位置对应的位置。
步骤407,判断是否提取完字符内容中的所有个体字符,如果是,则结束流程;否则执行步骤402。
经过图4流程的优化,处理一帧8行随机字符黑白OSD处理需要的时间约2018us,性能节省44.3%。
参见图5,为本发明对视频图像进行字符叠加的方法流程图实例二,该实例为逐行字符进行叠加的方案,其包括以下步骤:
步骤501,从字符叠加OSD配置结构中获取OSD字符信息。
本实例中,所述OSD字符信息包括字符内容、字符位置和字库,所述字符位置包含字符内容中行字符在视频图像中的行显示位置,称为行字符显示位置。
步骤502,逐行提取字符内容中的行字符。
如果为第一次提取,则为字符内容中第一行的行字符;依次地,将逐行提取后续的行字符。就图1的实例而言,就只有一行行字符,为“中国浙江12:00”。
步骤503,申请DMA资源,采用DMA资源从内存的视频图像中拷贝与提取的行字符显示位置对应的图像,存储到缓存区中,释放DMA资源。
步骤504,在缓存区中,根据字库将行字符叠加到拷贝的图像中,得到叠加后的字符图像。
步骤505,申请DMA资源,采用DMA资源将叠加后的字符图像拷贝回内存,释放DMA资源。
步骤506,在内存中将字符图像叠加到视频图像中相应行字符显示位置对应的位置。
步骤507,判断是否提取完字符内容中的所有字符,如果是,则结束流程;否则执行步骤502。
采用图4流程,需要对每个字符都要申请及释放DMA资源。在L2级缓存大小满足的条件下,可将一行OSD的图像拷贝到L2级缓存中进行OSD处理。这样可减少循环次数及避免DMA资源反复申请和释放。相比4流程,图5方案只针对每行字符申请释放一次DMA资源;经优化,处理一帧8行随机字符黑白OSD叠加需要的时间约232us,性能节省88.5%。采用图5方案,16路音视频板卡接入N制信号,叠加8行黑白OSD共需要111.36ms,对DSP资源占用较低,完全满足产品需求。
参见图6,为本发明对视频图像进行字符叠加的方法流程图实例三,实例采用逐行字符进行叠加的方式,且包含空格字符并带有背景颜色,其包括以下步骤:
步骤601,从字符叠加OSD配置结构中获取OSD字符信息。
本实例中,所述OSD字符信息包括背景颜色、字符内容、字符位置和字库;所述字符位置包含字符内容中行字符在视频图像中的行显示位置,称为行字符显示位置,还包含空格字符在视频图像中的空格显示位置。字符内容包含文字、数字等。
步骤602,逐行提取字符内容中的行字符。
如果为第一次提取,则为字符内容中第一行的行字符;依次地,将逐行提取后续的行字符。就图1的实例而言,就只有一行行字符,为“中国浙江12:00”。
步骤603,判断OSD字符信息中是否包含背景颜色且提取的行字符中包含空格字符,如果是,则执行步骤604,否则执行步骤605。
步骤604,从OSD字符信息中获取空格字符位置,从内存的视频图像中拷贝与空格字符位置对应的空格图像,进行缓冲保存。
从内存中申请空格图像保存缓冲区,顾名思义,空格图像保存缓冲区的作用是保存OSD字符中的空格字符所在区域对应的原始图像。该缓冲的大小为每行字符最多容纳的字符个数乘以每个字符占用内存大小。
步骤605,申请DMA资源,采用DMA资源从内存的视频图像中拷贝与提取的行字符显示位置对应的图像,存储到缓存区中,释放DMA资源。
申请内部缓存区,这里具体为L2级缓存区。该L2级缓存区大小为每行字符最多容纳的字符个数乘以每个字符占用大小。L2级缓存区位于DSP与内存之间,它的容量比内存小但交换速度快。在L2级缓存区中实现字符叠加,DSP可直接从L2级缓存区中调用数据从而避开访问内存,大幅度提高OSD处理效率。
步骤606,在缓存区中,对拷贝的图像叠加背景颜色,成为带背景颜色的图像。
步骤607,根据字库将提取的行字符叠加到带背景颜色的图像中,得到叠加后的字符图像。
将该行字符包含的所有字符都叠加到待背景颜色的图像中。
步骤608,申请DMA资源,采用DMA资源将叠加后的字符图像拷贝回内存,释放DMA资源。
步骤609,在内存中将字符图像叠加到视频图像中相应行字符显示位置对应的位置。
步骤610,判断OSD字符信息中是否包含背景颜色及空格字符,如果是,则从缓冲中获取空格图像,叠加到视频图像中空格字符位置对应的位置,执行步骤611,否则直接执行步骤611。
步骤611,判断是否提取字符内容中的所有字符,如果是,则结束流程;否则执行步骤602。
如图7所示,为视频图像中字符带有背景颜色及空格的实例,这样,“国”和“浙”之间的空格部分将不会遮挡视频图像。还可根据需要将字符设置为彩色,相应地,步骤607中,根据字库将提取的行字符按照设置的彩色叠加到带背景颜色的图像中,得到叠加后的字符图像。
采用图6的方案,对于有空格的情况,可将空格字符所占的图像数据先保存起来,待叠加完其他字符后,将该图像数据还原回原图像上即可。与现有方案相比,由按单个字符拷贝改为按行拷贝,降低了资源占用,减少了系统负担;在处理每个字符叠加时,由在DDR内存中处理改为放入L2级缓存中处理,大幅度提高处理效率;设计彩色背景及彩色字符叠加处理机制,并针对带有空格字符的OSD处理进行完善,从而实现彩色背景及彩色字符叠加的实时处理。经计算,处理一帧8行随机字符彩色字符OSD叠加需要的时间约702us,性能节省82.4%。采用此方案,16路音视频板卡接入N制信号,叠加8行彩色OSD共需要336.96ms。完全满足需求。
参见图8,为本发明对视频图像进行字符叠加的装置结构示意图,该装置包括内存、缓存区、字符信息获取模块、图像存取模块和叠加模块;
所述字符信息获取模块,从字符叠加OSD配置结构中获取OSD字符信息,所述OSD字符信息包括字符内容、字符位置和字库,所述字符位置为字符内容在视频图像中的显示位置;将OSD字符信息发送给所述叠加模块,并将字符位置发送给所述图像存取模块;
所述图像存取模块,接收来自所述字符信息获取模块的字符位置,从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中,向所述叠加模块发送字符叠加指令;接收来自所述叠加模块的拷贝指令,将叠加后的字符图像拷贝回内存,向所述叠加模块发送图像叠加指令;
所述叠加模块,接收来自所述字符信息获取模块的OSD字符信息,以及所述图像存储模块的字符叠加指令,在缓存区中,根据字库将字符内容叠加到拷贝的图像中,得到叠加后的字符图像,向所述图像存取模块发送拷贝指令;接收来自所述图像存取模块的图像叠加指令,在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。
较佳地,所述字符位置包含字符内容中每个字符各自在视频图像中的显示位置,称为个体字符显示位置;
所述图像存取模块,接收来自所述字符信息获取模块的字符位置,从内存的视频图像中逐个拷贝与各个体字符显示位置对应的图像,存储到缓存区中,向所述叠加模块发送字符叠加指令;
所述叠加模块,接收来自所述字符信息获取模块的OSD字符信息,以及所述图像存储模块的字符叠加指令,在缓存区中,根据字库将字符内容包含的各字符逐个叠加到拷贝的相应图像中,向所述图像存取模块发送拷贝指令。
较佳地,所述字符位置包含字符内容中行字符在视频图像中的行显示位置,称为行字符显示位置;
所述图像存取模块,接收来自所述字符信息获取模块的字符位置,从内存的视频图像中拷贝与行字符显示位置对应的图像,存储到缓存区中,向所述叠加模块发送字符叠加指令;
所述叠加模块,接收来自所述字符信息获取模块的OSD字符信息,以及所述图像存储模块的字符叠加指令,在缓存区中,根据字库将行字符叠加到拷贝的图像中,向所述图像存取模块发送拷贝指令。
较佳地,所述OSD字符信息还包括背景颜色,所述叠加模块,在缓存区中,对拷贝的图像叠加背景颜色,成为带背景颜色的图像;根据字库将OSD字符信息包含的字符内容叠加到带背景颜色的图像中,得到所述叠加后的字符图像。
较佳地,所述叠加模块,接收来自所述字符信息获取模块的OSD字符信息之后,还判断OSD字符信息中是否包含背景颜色且行字符中包含空格,如果是,则从OSD字符信息中获取空格字符位置,向所述图像存取模块发送空格字符位置;所述叠加模块在内存中将字符图像叠加到视频图像中所述显示位置对应的位置之后,还从缓冲中获取空格图像,叠加到视频图像中空格字符位置对应的位置;
所述图像存取模块,接收来自所述字符信息获取模块的空格字符位置,从内存的视频图像中拷贝与空格字符位置对应的空格图像,进行缓冲保存。
较佳地,所述OSD字符信息还包括字符颜色,所述叠加模块,在缓冲区中,根据字库将OSD字符信息包含的字符内容按照字符颜色叠加到拷贝的图像中,得到所述叠加后的字符图像。
较佳地,所述缓存区为L2级缓存,所述字符信息获取模块、图像存取模块和叠加模块都置于数字信号处理单元DSP中;或者,
所述字符信息获取模块和叠加模块置于数字信号处理单元DSP中;所述图像存储模块独立设置,通过申请的直接内存存取DMA资源进行图像的存取,具体地:接收来自所述字符信息获取模块的字符位置,申请DMA资源,采用DMA资源从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中,向所述叠加模块发送字符叠加指令,释放DMA资源;接收来自所述叠加模块的拷贝指令,申请DMA资源,采用DMA资源将叠加后的字符图像拷贝回内存,向所述叠加模块发送图像叠加指令,释放DMA资源。
DMA资源不依赖DSP的内存间数据拷贝,通过使用DMA资源可降低DSP的负载。由于DMA资源有限,使用时申请资源,使用完最好能及时释放资源。
具体实践中,采用本发明,可提供基于TIDSP平台黑白、彩色OSD的优化方案,在每帧叠加8行随机OSD字符的条件下,至少实现每秒1000帧图像彩色OSD的处理;还可最终实现60路音视频板卡产品的彩色OSD功能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种对视频图像进行字符叠加的方法,其特征在于,该方法包括:
从字符叠加OSD配置结构中获取OSD字符信息,所述OSD字符信息包括字符内容、字符位置和字库,所述字符位置为字符内容在视频图像中的显示位置;
从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中;
在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中,得到叠加后的字符图像,将叠加后的字符图像拷贝回内存;
在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。
2.如权利要求1所述的方法,其特征在于,所述字符位置包含字符内容中每个字符各自在视频图像中的显示位置,称为个体字符显示位置;
所述从内存的视频图像中拷贝与所述字符位置对应的图像,存储到缓存区中包括:从内存的视频图像中逐个拷贝与各个体字符显示位置对应的图像,存储到缓存区中;
所述在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中包括:在缓存区中,根据字库将字符内容包含的各字符逐个叠加到拷贝的相应图像中。
3.如权利要求1所述的方法,其特征在于,所述字符位置包含字符内容中行字符在视频图像中的行显示位置,称为行字符显示位置;
所述从内存的视频图像中拷贝与所述字符位置对应的图像,存储到缓存区中包括:从内存的视频图像中拷贝与行字符显示位置对应的图像,存储到缓存区中;
所述在缓存区中,根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中包括:在缓存区中,根据字库将行字符叠加到拷贝的图像中;
所述在内存中将字符图像叠加到视频图像中所述显示位置对应的位置包括:在内存中将字符图像叠加到视频图像中所述行字符显示位置对应的位置。
4.如权利要求1所述的方法,其特征在于,所述OSD字符信息还包括背景颜色,所述根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中包括:
对拷贝的图像叠加背景颜色,成为带背景颜色的图像;
根据字库将OSD字符信息包含的字符内容叠加到带背景颜色的图像中,得到所述叠加后的字符图像。
5.如权利要求4所述的方法,其特征在于,该方法还包括:判断OSD字符信息中是否包含背景颜色且行字符中包含空格,如果是,则从OSD字符信息中获取空格字符位置,从内存的视频图像中拷贝与空格字符位置对应的空格图像,进行缓冲保存;
所述在内存中将字符图像叠加到视频图像中所述显示位置对应的位置之后,该方法还包括:从缓冲中获取空格图像,叠加到视频图像中空格字符位置对应的位置。
6.如权利要求1所述的方法,其特征在于,所述OSD字符信息还包括字符颜色,所述根据字库将OSD字符信息包含的字符内容叠加到拷贝的图像中包括:
根据字库将OSD字符信息包含的字符内容按照字符颜色叠加到拷贝的图像中。
7.如权利要求1所述的方法,其特征在于,所述从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中,具体包括:申请直接内存存取DMA资源;采用DMA资源,从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中;释放DMA资源;
所述将叠加后的字符图像拷贝回内存包括:申请DMA资源;采用DMA资源将叠加后的字符图像拷贝回内存;释放DMA资源。
8.一种对视频图像进行字符叠加的装置,其特征在于,该装置包括内存、缓存区、字符信息获取模块、图像存取模块和叠加模块;
所述字符信息获取模块,从字符叠加OSD配置结构中获取OSD字符信息,所述OSD字符信息包括字符内容、字符位置和字库,所述字符位置为字符内容在视频图像中的显示位置;将OSD字符信息发送给所述叠加模块,并将字符位置发送给所述图像存取模块;
所述图像存取模块,接收来自所述字符信息获取模块的字符位置,从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中,向所述叠加模块发送字符叠加指令;接收来自所述叠加模块的拷贝指令,将叠加后的字符图像拷贝回内存,向所述叠加模块发送图像叠加指令;
所述叠加模块,接收来自所述字符信息获取模块的OSD字符信息,以及所述图像存储模块的字符叠加指令,在缓存区中,根据字库将字符内容叠加到拷贝的图像中,得到叠加后的字符图像,向所述图像存取模块发送拷贝指令;接收来自所述图像存取模块的图像叠加指令,在内存中将字符图像叠加到视频图像中所述显示位置对应的位置。
9.如权利要求8所述的方法,其特征在于,所述字符位置包含字符内容中每个字符各自在视频图像中的显示位置,称为个体字符显示位置;
所述图像存取模块,接收来自所述字符信息获取模块的字符位置,从内存的视频图像中逐个拷贝与各个体字符显示位置对应的图像,存储到缓存区中,向所述叠加模块发送字符叠加指令;
所述叠加模块,接收来自所述字符信息获取模块的OSD字符信息,以及所述图像存储模块的字符叠加指令,在缓存区中,根据字库将字符内容包含的各字符逐个叠加到拷贝的相应图像中,向所述图像存取模块发送拷贝指令。
10.如权利要求8所述的装置,其特征在于,所述字符位置包含字符内容中行字符在视频图像中的行显示位置,称为行字符显示位置;
所述图像存取模块,接收来自所述字符信息获取模块的字符位置,从内存的视频图像中拷贝与行字符显示位置对应的图像,存储到缓存区中,向所述叠加模块发送字符叠加指令;
所述叠加模块,接收来自所述字符信息获取模块的OSD字符信息,以及所述图像存储模块的字符叠加指令,在缓存区中,根据字库将行字符叠加到拷贝的图像中,向所述图像存取模块发送拷贝指令。
11.如权利要求8所述的装置,其特征在于,所述OSD字符信息还包括背景颜色,所述叠加模块,在缓存区中,对拷贝的图像叠加背景颜色,成为带背景颜色的图像;根据字库将OSD字符信息包含的字符内容叠加到带背景颜色的图像中,得到所述叠加后的字符图像。
12.如权利要求11所述的装置,其特征在于,所述叠加模块,接收来自所述字符信息获取模块的OSD字符信息之后,还判断OSD字符信息中是否包含背景颜色且行字符中包含空格,如果是,则从OSD字符信息中获取空格字符位置,向所述图像存取模块发送空格字符位置;所述叠加模块在内存中将字符图像叠加到视频图像中所述显示位置对应的位置之后,还从缓冲中获取空格图像,叠加到视频图像中空格字符位置对应的位置;
所述图像存取模块,接收来自所述字符信息获取模块的空格字符位置,从内存的视频图像中拷贝与空格字符位置对应的空格图像,进行缓冲保存。
13.如权利要求8所述的装置,其特征在于,所述OSD字符信息还包括字符颜色,所述叠加模块,在缓冲区中,根据字库将OSD字符信息包含的字符内容按照字符颜色叠加到拷贝的图像中,得到所述叠加后的字符图像。
14.如权利要求8所述的装置,其特征在于,所述缓存区为L2级缓存,所述字符信息获取模块、图像存取模块和叠加模块都置于数字信号处理单元DSP中;或者,
所述字符信息获取模块和叠加模块置于数字信号处理单元DSP中;所述图像存储模块独立设置,通过申请的直接内存存取DMA资源进行图像的存取,具体地:接收来自所述字符信息获取模块的字符位置,申请DMA资源,采用DMA资源从内存的视频图像中拷贝与字符位置对应的图像,存储到缓存区中,向所述叠加模块发送字符叠加指令,释放DMA资源;接收来自所述叠加模块的拷贝指令,申请DMA资源,采用DMA资源将叠加后的字符图像拷贝回内存,向所述叠加模块发送图像叠加指令,释放DMA资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410247922.2A CN105450942B (zh) | 2014-06-05 | 2014-06-05 | 对视频图像进行字符叠加的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410247922.2A CN105450942B (zh) | 2014-06-05 | 2014-06-05 | 对视频图像进行字符叠加的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105450942A true CN105450942A (zh) | 2016-03-30 |
CN105450942B CN105450942B (zh) | 2018-10-30 |
Family
ID=55560673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410247922.2A Active CN105450942B (zh) | 2014-06-05 | 2014-06-05 | 对视频图像进行字符叠加的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105450942B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111212246A (zh) * | 2019-06-13 | 2020-05-29 | 浙江大华技术股份有限公司 | 视频生成方法、装置、计算机设备及存储介质 |
CN111435978A (zh) * | 2018-12-26 | 2020-07-21 | 杭州海康威视数字技术股份有限公司 | 一种叠加osd的方法、装置及电子设备 |
CN111818277A (zh) * | 2020-06-24 | 2020-10-23 | 重庆山淞信息技术有限公司 | 视频图像的字符叠加方法、装置、计算机设备和存储介质 |
CN112492239A (zh) * | 2019-09-12 | 2021-03-12 | 北京嗨动视觉科技有限公司 | 字符叠加显示方法、装置及系统以及计算机可读存储介质 |
CN113467685A (zh) * | 2021-07-29 | 2021-10-01 | 浙江大华技术股份有限公司 | 一种信息滚动显示的控制方法、led屏及存储介质 |
CN113592717A (zh) * | 2021-08-11 | 2021-11-02 | 浙江大华技术股份有限公司 | 视频图像字符叠加方法、装置、存储介质及电子装置 |
CN113784067A (zh) * | 2021-09-07 | 2021-12-10 | 浙江大华技术股份有限公司 | 字符叠加方法及装置、存储介质、电子装置 |
CN113592717B (zh) * | 2021-08-11 | 2024-07-12 | 浙江大华技术股份有限公司 | 视频图像字符叠加方法、装置、存储介质及电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1014713A1 (en) * | 1998-12-21 | 2000-06-28 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for providing OSD data for OSD display in a video signal having an encoded format |
CN101740003A (zh) * | 2008-11-13 | 2010-06-16 | 奇菱科技股份有限公司 | 屏幕显示系统以及方法 |
CN102801936A (zh) * | 2012-08-02 | 2012-11-28 | 东莞中山大学研究院 | 实现在屏显示的方法 |
-
2014
- 2014-06-05 CN CN201410247922.2A patent/CN105450942B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1014713A1 (en) * | 1998-12-21 | 2000-06-28 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for providing OSD data for OSD display in a video signal having an encoded format |
CN101740003A (zh) * | 2008-11-13 | 2010-06-16 | 奇菱科技股份有限公司 | 屏幕显示系统以及方法 |
CN102801936A (zh) * | 2012-08-02 | 2012-11-28 | 东莞中山大学研究院 | 实现在屏显示的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111435978A (zh) * | 2018-12-26 | 2020-07-21 | 杭州海康威视数字技术股份有限公司 | 一种叠加osd的方法、装置及电子设备 |
CN111212246A (zh) * | 2019-06-13 | 2020-05-29 | 浙江大华技术股份有限公司 | 视频生成方法、装置、计算机设备及存储介质 |
CN112492239A (zh) * | 2019-09-12 | 2021-03-12 | 北京嗨动视觉科技有限公司 | 字符叠加显示方法、装置及系统以及计算机可读存储介质 |
CN111818277A (zh) * | 2020-06-24 | 2020-10-23 | 重庆山淞信息技术有限公司 | 视频图像的字符叠加方法、装置、计算机设备和存储介质 |
CN111818277B (zh) * | 2020-06-24 | 2023-03-31 | 重庆山淞信息技术有限公司 | 视频图像的字符叠加方法、装置、计算机设备和存储介质 |
CN113467685A (zh) * | 2021-07-29 | 2021-10-01 | 浙江大华技术股份有限公司 | 一种信息滚动显示的控制方法、led屏及存储介质 |
CN113592717A (zh) * | 2021-08-11 | 2021-11-02 | 浙江大华技术股份有限公司 | 视频图像字符叠加方法、装置、存储介质及电子装置 |
CN113592717B (zh) * | 2021-08-11 | 2024-07-12 | 浙江大华技术股份有限公司 | 视频图像字符叠加方法、装置、存储介质及电子装置 |
CN113784067A (zh) * | 2021-09-07 | 2021-12-10 | 浙江大华技术股份有限公司 | 字符叠加方法及装置、存储介质、电子装置 |
CN113784067B (zh) * | 2021-09-07 | 2023-07-28 | 浙江大华技术股份有限公司 | 字符叠加方法及装置、存储介质、电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105450942B (zh) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105450942A (zh) | 对视频图像进行字符叠加的方法及装置 | |
US20040233204A1 (en) | Method and apparatus for pattern ram sharing color look up table | |
TWI524176B (zh) | 用於顯示功率管理之方法及裝置 | |
CN102841671B (zh) | 支持耦连到图形控制器的自刷新显示设备的方法和装置 | |
US9619428B2 (en) | SIMD processing unit with local data share and access to a global data share of a GPU | |
CN107493448A (zh) | 图像处理系统、图像显示方法及显示装置 | |
US20140086309A1 (en) | Method and device for encoding and decoding an image | |
WO2021248936A1 (zh) | 一种视频存储方法、装置、soc系统、介质 | |
US7752647B2 (en) | Video data packing | |
CN105243399B (zh) | 一种实现图像卷积的方法和装置、实现缓存的方法和装置 | |
WO2021238979A1 (zh) | 矢量图生成方法及装置、存储介质 | |
KR102611722B1 (ko) | 이미지 처리 장치 및 이미지 처리 방법 | |
CN104754409A (zh) | 应用于Android平台的多媒体视频播放系统及方法 | |
US20100066900A1 (en) | Image processing method | |
KR20200095139A (ko) | 전자 장치 및 그 제어 방법 | |
CN101304533B (zh) | 一种视频处理装置 | |
CN116248956B (zh) | 一种灵活优化带宽的多osd视频叠加的方法及装置 | |
Gong et al. | Design of high-speed real-time sensor image processing based on FPGA and DDR3 | |
CN105072342A (zh) | 图像合成装置及方法 | |
CN104025028A (zh) | 在视频分析中的视频编码 | |
KR101937718B1 (ko) | 유효 픽셀 기반의 버스 프로토콜을 이용한 영상 처리 장치 및 방법 | |
US20130163861A1 (en) | Pixel flow processing apparatus with integrated connected components labeling | |
JPH04183066A (ja) | 画像処理装置 | |
CN105631888A (zh) | 图像数据背景去除处理系统及方法 | |
CN104011654A (zh) | 用于视频分析的存储器前瞻引擎 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |