CN116248956A - 一种灵活优化带宽的多osd视频叠加的方法及装置 - Google Patents

一种灵活优化带宽的多osd视频叠加的方法及装置 Download PDF

Info

Publication number
CN116248956A
CN116248956A CN202211712537.1A CN202211712537A CN116248956A CN 116248956 A CN116248956 A CN 116248956A CN 202211712537 A CN202211712537 A CN 202211712537A CN 116248956 A CN116248956 A CN 116248956A
Authority
CN
China
Prior art keywords
osd
module
dmar
data
register
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
Application number
CN202211712537.1A
Other languages
English (en)
Other versions
CN116248956B (zh
Inventor
刘施
何颖
周泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xindong Microelectronics Technology Wuhan Co ltd
Original Assignee
Xindong Microelectronics Technology Wuhan Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xindong Microelectronics Technology Wuhan Co ltd filed Critical Xindong Microelectronics Technology Wuhan Co ltd
Priority to CN202211712537.1A priority Critical patent/CN116248956B/zh
Publication of CN116248956A publication Critical patent/CN116248956A/zh
Application granted granted Critical
Publication of CN116248956B publication Critical patent/CN116248956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Studio Circuits (AREA)

Abstract

本发明公开了一种灵活优化带宽的多OSD视频叠加的方法及装置,所述方法包括获取基础图层在DDR的基地址、分辨率、输入数据格式、裁剪尺寸,以及第一OSD在DDR的基地址、分辨率、输入数据格式、颜色空间转换系数、合并融合后的尺寸,通过APB总线下发配置;通过AXI总线将DDR模块的数据搬运至基础图层和OSD各自对应的DMAR通道控制单元,通过图层叠加融合模块进行融合叠加;将融合后的数据写入输出缓存队列模块内,并通过DMAW模块将第一OSD与基础图层融合后的数据存入DDR模块内,本发明将各OSD逐一与基础图层进行叠加处理,各OSD使用同一个DMAR通道,避免了多个DMAR通道并行所导致带宽需求严重的问题。

Description

一种灵活优化带宽的多OSD视频叠加的方法及装置
技术领域
本发明涉及视频处理技术领域,特别是涉及一种灵活优化带宽的多OSD视频叠加的方法及装置。
背景技术
视频叠加***就是将图片和文字信息叠加到视频流中,目前视频叠加***的应用已经日益广泛,在我们的生活场景中,随处可见,比如场景一可以在银行柜员监控中应用,用字幕显示所清点的现金数量等,场景二可以应用在公路收费站,显示车辆和收费工作人员钱票交接的同时叠加收费人员姓名,键盘操作等字符信息,场景三电梯楼层内监控视频,准确叠加显示电梯上行下行工作状态等。
目前比较主流的OSD(On-Screen-Display,在显示器上叠加OSD)***方案主要包括两种,第一种是外部OSD发生器与视频处理器间的叠加合成,第二种是视频处理器内部支持OSD,在视频缓存内部叠加OSD信息。
外部OSD发生器与视频处理器间的叠加合成的实现原理是:由一个MCU(Microcontroller-Unit,微控制单元)内建的字符发生器及显示缓存,利用快速消隐信号切换电视的画面和OSD显示内容,使OSD的字符等内容叠加在最终的显示画面上,在OSD和显示画面叠加处理的过程中,通过调整两者之间的比例可以实现OSD的半透明效果。同时,对OSD信号中的红绿蓝信号进行重新编码,可以得到不同的OSD颜色效果。另外一种实现方式是视频处理器内部支持OSD,直接在视频缓存内部叠加OSD信息。这一类视频处理通常具有外部存储器或内部少量的行缓存,同时具有OSD发生器,OSD的合成和控制直接在视频缓存内完成,同样具有上述的半透明和颜色控制功能。
OSD具有字符型和位图型两种类型。字符型OSD:为了节约显示缓存,早期以及低成本的解决方案中使用字符型OSD发生器,其原理是将OSD中显示内容按照特定的格式(12x18、12x16等)进行分割成块,例如数字0~9,字母a~Z,常用的亮度,对比度符号等,并把这些内容固化在ROM(Read-Only-Memory-image,只读存储器)或Flash中,在显示缓存中仅存放对应的索引号,这样的“字典”结构可以大幅减少显示缓存的需求。
字符型OSD优点是可以使用OSD内部较少的显示缓存,并且MCU只需要指定显示内容的索引即可显示对应OSD信息,可以在比较低速的MCU上实现。但正是由于上述的显示信息和颜色编码方式不够直观,会给字符型OSD的固件开发带来一些麻烦。通常液晶显示器,低成本的平板电视和CRT(Cathode-Ray-Tube,阴极射线显像管)传统电视上均使用这一类OSD。
相较字符型OSD,位图OSD的处理原理较直观和简单:通过对最终显示内容上特定区域的每个像素点进行改变,直接将OSD信息叠加到最终的显示画面上,其按像素进行控制的方式可以保证具有多色及足够的表现能力。位图OSD发生器通常内建在视频处理器内部,并共享使用其主显示缓存。也有独立在视频处理器之外的专业OSD位图发生器。为了追求更佳的视觉效果,通常在大尺寸的高端平板电视和专业显示器上会使用这一类OSD方案,但是考虑OSD装置现在经常是作为一个SOC(System-On-Chip,片上***)***中的一个子***功能模块,所以存储器的成本压力以及整个***的总线带宽压力的是一个硬件***合理性必须考量的指标。目前的第二种OSD叠加方案,特别是在多个OSD叠加时,如何合理的占用SOC***带宽,可能是存在的一个普遍问题。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
本发明要解决的技术问题是如何解决传统多OSD同时叠加过程中,导致***的总线带宽占用严重的问题。
本发明采用如下技术方案:
第一方面,一种灵活优化带宽的多OSD视频叠加的方法,包括:
获取基础图层在DDR中的基地址、分辨率、输入数据格式、裁剪尺寸,以及获取第一OSD在DDR中的基地址、分辨率、输入数据格式、颜色空间转换系数、合并融合后的尺寸,并通过APB总线对需要写入DDR基地址的参数进行下发配置;
通过AXI总线将DDR模块中的数据搬运至基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内,并通过图层叠加融合模块进行融合叠加;
将融合后的数据写入输出缓存队列模块内,并通过DMAW模块将第一OSD与基础图层融合后的数据存入DDR模块内,以完成第一OSD的叠加。
优选的,还包括对除第一OSD外的其它OSD的叠加,具体包括:
按照从内到外的叠加顺序对各OSD进行排序,并按照前一OSD、后一OSD的顺序依次实现所有OSD的叠加;
其中,当前一OSD完成叠加完成后,便触发后一OSD实施叠加指令,以便于所有OSD的叠加过程沿用相同的DMAR通道。
优选的,还包括利用控制寄存器模块将APB总线所下发的参数配置解析为独立的寄存器信息,具体包括:
将APB总线所下发的参数配置缓存在控制寄存器模块的寄存器缓存队列模块内;
待需要使用时,利用影子寄存器模块将寄存器缓存队列模块内的信息解析为独立的寄存器信息。
优选的,所述通过AXI总线将DDR模块中的数据搬运至基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内之前,还包括触发DMAR通道控制单元的状态机运转,具体包括:
分别获取基础图层的DMAR通道控制单元内输入缓存队列模块的存储状态、OSD的DMAR通道控制单元内输入缓存队列模块的存储状态,以及相关寄存器的信息;
若基础图层的DMAR通道控制单元内输入缓存队列模块为非空,且OSD的DMAR通道控制单元内输入缓存队列模块为非空,便触发状态机开始运转,状态机发出DMAR-DDR数据的请求,然后把从DDR读回的数据缓存到输入缓存队列模块中。
优选的,所述通过图层叠加融合模块进行融合叠加之前,还包括使用第一CSC模块对基础图层和OSD各数据的输入格式进行转换。
优选的,所述通过图层叠加融合模块进行融合叠加之后,还包括使用第二CSC模块对融合后的数据进行处理,以便于将融合后的数据写入输出缓存队列模块内。
优选的,当前一OSD与后一OSD之间存在重叠时,复制前一OSD和/或后一OSD的数据,并将复制的数据存储在DDR内,以便于前一OSD和后一OSD可直接在DDR内读取数据,以避免重复读取基础图层的数据。
优选的,前一OSD进行叠加时,同时也在写入后一OSD需要叠加的相关信息寄存器,当前一OSD叠加完成后,触发读取控制寄存器模块内Register-FIFO模块中的后一OSD相关的寄存器信息、后一OSD的DMAR通道读取后一OSD的相关信息,以及触发基础图层的DMAR通道读取后一OSD需要叠加的地址空间位置,以便于实现后一OSD的叠加。
第二方面,相对于第一方面的灵活优化带宽的多OSD视频叠加的方法,本发明还提出了一种灵活优化带宽的多OSD视频叠加装置,包括控制寄存器模块、基础图层的DMAR通道控制单元、OSD的DMAR通道控制单元、图层叠加融合模块、输出控制DMAW通道控制、DDR模块;
所述控制寄存器模块用于接收APB总线数据流,并将数据存储控制寄存器模块内,以便于触发基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元进行运转;
所述基础图层的DMAR通道控制单元用于处理通过AXI总线将DDR模块内搬运至基础图层的DMAR通道控制单元内的数据;
所述OSD的DMAR通道控制单元用于处理通过AXI总线将DDR模块内搬运至所述OSD的DMAR通道控制单元内的数据;
所述图层叠加融合模块用于将基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内处理的数据进行融合;
所述输出控制DMAW通道控制用于将融合的数据进行输出,并将融合好的数据写入DDR模块内;
所述DDR模块用于存储OSD与基础图层融合好的数据信息,并实现DDR模块与基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元的数据交互。
优选的,所述控制寄存器模块包括APB-Controller模块、In-Registers模块、寄存器缓存队列模块和影子寄存器模块;
所述APB-Controller模块用于根据APB总线协议接收APB总线数据流;
所述In-Registers模块用于将APB总线数据流解析成寄存器信号;
所述寄存器缓存队列模块用于存储寄存器内的信息,以便于叠加过程调用相关寄存器信息;
所述影子寄存器模块用于存储控制寄存器值。
本发明将OSD视频流逐一与基础图层进行叠加处理,在OSD视频叠加的过程中,由于采取逐一叠加,使得各OSD可以使用同一个DMAR通道,进而避免了多个DMAR通道并行,所导致带宽需求严重的问题,提高了装置的均衡性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种灵活优化带宽的多OSD视频叠加的方法流程图;
图2是本发明实施例提供的一种灵活优化带宽的多OSD视频叠加的方法的前一OSD与后一OSD存在重叠时的结构示意图;
图3是本发明实施例提供的一种灵活优化带宽的多OSD视频叠加装置结构示意图;
图4是本发明实施例提供的一种灵活优化带宽的多OSD视频叠加的方法的一种具体应用场景结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明的描述中,为便于理解,对出现的英文缩写进行如下解释:
1)OSD,On-Screen-Display,在显示器上叠加OSD;
2)MCU,Microcontroller-Unit,微控制单元;
3)CRT,Cathode-Ray-Tube,阴极射线显像管;
4)CRT,Cathode-Ray-Tube,阴极射线显像管;
5)DDR,Double-Data-Rate-SDRAM,双倍速率同步动态随机存储器;
6)DMAR,Direct-Memory-Access-Read,直接存储器访问读操作;
7)DMAW,Direct-Memory-Access-Write,直接存储器访问写操作;
8)APB,Advanced-Peripheral-Bus,外部总线;
9)AXI,Advanced-Extensible-Interface,总线协议;
10)Flash,Flash-EEPROM-Memory,闪存;
11)CSC,Color-Space-Convert,色彩转换模块。
本发明实施例提供了一种灵活优化带宽的多OSD视频叠加的方法,如图1所示,包括:
步骤201:获取基础图层在DDR中的基地址、分辨率、输入数据格式和裁剪尺寸,以及获取第一OSD在DDR中的基地址、分辨率、输入数据格式、颜色空间转换系数和合并融合后的尺寸,并通过APB总线对需要写入DDR基地址的参数进行下发配置。
本发明通过设计的多OSD视频叠加装置,来实现本发明的OSD与基础图层(Base-Layer)的叠加。在将OSD叠加在基础图层之前,首先需要获取基础图层内的数据和各OSD的数据信息,以便于通过外部APB总线与本发明实施例的装置进行数据交互,进而通过APB总线对需要写入DDR基地址的参数进行下发配置,以便于为OSD叠加在基础图层做准备。值得注意的是,本发明实施例的基础图层和第一OSD在DDR中的基地址存储在控制寄存器模块内,通过APB总线对基地址内的参数进行下发配置,当第一OSD与基础图层叠加的过程中,第一OSD和基础图层对应的DMAR通道控制单元识别APB总线所下发的配置,并按照APB总线所下发的配置进行第一OSD与基础图层的叠加操作。
步骤202:通过AXI总线将DDR模块中的数据搬运至基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内,并通过图层叠加融合模块进行融合叠加。
当装置获取了OSD和基础图层内的数据后,通过AXI总线将DDR模块内存储的数据搬运至基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元进行处理。其中,对于基础图层的DMAR通道控制单元,数据的处理包括通过以状态机为设计主体的方式发出DMAR-DDR数据的请求,然后把从DDR读回的数据缓存到输入缓存队列模块(INPUT-FIFO模块)中,然后把总线数据位宽的数据比如256bit转换为像素级的数据位宽,再经过第一CSC模块的色彩空间转换,把外部的YUV数据转换为RGB数据格式,CSC模块支持bypass透传功能,当外部数据源就是RGB格式时,可不需要色彩空间转换。另外此通道控制中,还包括一个Crop裁剪模块,便于多次叠加时,裁剪小的基础图层OSD进行DMAR,这样有利于***总线带宽的节省。值得注意的是,本发明实施例OSD叠加在基础图层上的过程实际上可以简单的理解为:首先精准的获取OSD需要叠加在基础图层的位置,然后利用裁剪模块将基础图层进行裁剪(裁剪的位置为OSD在基础图层上的对应位置,并且裁剪的大小与OSD的面积相等),然后将OSD叠加在所裁剪的区域内,完成OSD的叠加。除此之外,在实际进行OSD叠加的过程中,OSD对应的DMAR通道和基础图层对应的DMAR通道都需要使用一个第一CSC模块对通道内的数据进行转换,为了便于描述,基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内所使用的CSC模块统称为第一CSC模块。
对于第一OSD视频流的DMAR通道控制单元而言,主要根据内部输入缓存队列模块是否还有空间以及相关寄存器控制,通过以状态机为设计主体的方式发出DMAR-DDR数据的请求,然后把从DDR读回的数据缓存到输入缓存队列模块中,然后把总线数据位宽的数据比如256bit转换为像素级的数据位宽,再经过第一CSC模块的色彩空间转换,把外部的YUV数据转换为RGB数据格式,CSC模块支持bypass透传功能,当外部数据源就是RGB格式时,可不需要色彩空间转换。
本发明实施例图层叠加融合模块根据数据握手的方式接收上级两个CSC模块(一个为基础图层的DMAR通道控制单元内的第一CSC模块,另一个为第一OSD视频流的DMAR通道控制单元内的第一CSC模块)输出的数据流,在内部根据寄存器控制信号,比如OSD的位置、大小以及透明度信息进行两个OSD的叠加。值得注意的是,为了便于描述,本发明在描述任一OSD与基础图层进行叠加的过程中,使用第一OSD表示多叠加图层内的任一图层。
步骤203:将融合后的数据写入输出缓存队列模块内,并通过DMAW模块将第一OSD与基础图层融合后的数据存入DDR模块内,以完成第一OSD的叠加。
本发明输出控制DMAW模块根据数据握手的方式接收上级融合模块输出的数据,进行像素数据的组包写入到输出缓存队列模块(OUTPUT-FIFO模块)中,然后通过以状态机设计为主体的方式写入到DDR中。DDR模块在此***中主要用来缓存基础图层视频数据流和OSD视频数据流,以及接收***叠加融合好后的视频流。
本发明实施例采用的方法是将基础图层和OSD视频流有各自独立的DMAR通道读取DDR中的基础图层和OSD视频流,多个OSD的叠加可分时复用一个相同的DMAR通道进行叠加,并把叠加后的结果写回到DDR中,同时也可以根据场景需求和装置的带宽条件增加DMAR通道的数量,使得***的带宽满足实际应用的需求。本发明将OSD视频流逐一与基础图层进行叠加处理,在OSD视频叠加的过程中,由于采取逐一叠加,使得各OSD可以使用同一个DMAR通道,进而避免了多个DMAR通道并行所导致带宽需求严重的问题,提高了装置的均衡性。值得注意的是,本发明实施例中的视频流表示从DDR模块内搬运到OSD和基础图层对应的DMAR通道进行处理的动态过程,与本发明实施例的OSD和基础图层进行叠加并不冲突。
为了阐述本发明完整的方案,接下来对本发明的具体细节做详细的解释,进一步的,还包括对除第一OSD外的其它OSD的叠加,具体包括:
按照从内到外的叠加顺序对各OSD进行排序,并按照前一OSD、后一OSD的顺序依次实现所有OSD的叠加;其中,当前一OSD完成叠加完成后,便触发后一OSD实施叠加指令,以便于所有OSD的叠加过程沿用相同的DMAR通道。
本发明实施例采用的方式是将OSD叠加到基础图层上,对于不同的OSD而言,每个OSD叠加在基础图层上具有先后顺序进行叠加。本发明首先叠加距离基础图层最近的OSD,然后再叠加稍远的OSD,最后叠加离基础图层最远的OSD(可参考图2中的OSD0和OSD1的叠层顺序进行理解)。本发明按照距离基础图层由内层向外层(由近及远)进行叠加,在进行OSD叠加的过程中,始终保证只有一个OSD与基础图层进行叠加,使得多OSD叠加始终能使用同一个DMAR通道,进而避免了多个DMAR通道并行,所导致带宽需求严重的问题,提高了装置的均衡性。
为了使本发明实施例的装置能顺利的将OSD叠加在基础图层上,本发明还包括利用控制寄存器模块将APB总线所下发的参数配置解析为独立的寄存器信息,以便于基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元可以调用解析的寄存器信息,具体包括:将APB总线所下发的参数配置缓存在控制寄存器模块的寄存器缓存队列模块(Registers-FIFO模块)内;待需要使用时,利用影子寄存器模块(Shadow-Registers模块)将寄存器缓存队列模块内的信息解析为独立的寄存器信息。
进一步的,所述通过AXI总线将DDR模块中的数据搬运至基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内之前,还包括触发DMAR通道控制单元的状态机运转,具体包括:
分别获取基础图层的DMAR通道控制单元内输入缓存队列模块的存储状态、OSD的DMAR通道控制单元内输入缓存队列模块的存储状态,以及相关寄存器的信息;若基础图层的DMAR通道控制单元内输入缓存队列模块为非空,且OSD的DMAR通道控制单元内输入缓存队列模块为非空,便触发状态机开始运转,状态机发出DMAR-DDR数据的请求,然后把从DDR读回的数据缓存到输入缓存队列模块中。
其中,所述通过图层叠加融合模块进行融合叠加之前,还包括使用第一CSC模块对基础图层和OSD各数据的输入格式进行转换;所述通过图层叠加融合模块进行融合叠加之后,还包括使用第二CSC模块对融合后的数据进行处理,以便于将融合后的数据写入输出缓存队列模块内。通过第一CSC模块和第二CSC模块的色彩空间转换,以便于将外部的数据格式转换为可进行融合的数据格式,并进行记录。
如图2所示,当OSD很大时,若按照上述方式进行叠加,每次叠加都需要裁剪基础图层,重复读基础图层相应区域的数据对***带宽就不太友好。为了避免OSD很大,当前一OSD与后一OSD之间存在重叠时,复制前一OSD和/或后一OSD的数据,并将复制的数据存储在DDR内,以便于前一OSD和后一OSD可直接在DDR内读取数据,以避免重复读取基础图层的数据。
本发明实施例不限于只有一个DMAR通道,当OSD很大(一直是大分辨率的视频流)时,本发明可考虑为这类OSD专门重新构建一个DMAR通道,使得两个DMAR通道并行使用(如图2所示,在并行叠加OSD0和OSD1时,首先将数据进行复制在DDR模块内,以便于同时进行两个DMAR通道的并行叠加),这样更利于***总体带宽,是一种用面积换速度的方法,并且实施起来很容易。
除此之外,为了提高本发明实施例OSD的叠加效率,当前一OSD进行叠加时,同时也在写入后一OSD需要叠加的相关信息寄存器,待前一OSD叠加完成后,触发读取控制寄存器模块内Register-FIFO模块中的后一OSD相关的寄存器信息、后一OSD的DMAR通道读取后一OSD的相关信息,以及触发基础图层的DMAR通道读取后一OSD在DDR模块内的基地址,以便于实现后一OSD的叠加。
本发明将OSD视频流逐一与基础图层进行叠加处理,在OSD视频叠加的过程中,由于采取逐一叠加,使得各OSD可以使用同一个DMAR通道,进而避免了多个DMAR通道并行,所导致带宽需求严重的问题,提高了装置的均衡性。
本发明实施例还提出了一种灵活优化带宽的多OSD视频叠加装置,用于实现上述实施例中灵活优化带宽的多OSD视频叠加的方法,如图3所示,表示本发明实施例的一种灵活优化带宽的多OSD视频叠加装置结构示意图,其装置包括控制寄存器模块、基础图层的DMAR通道控制单元、OSD的DMAR通道控制单元、图层叠加融合模块、输出控制DMAW通道控制和DDR模块;
所述控制寄存器模块用于接收APB总线数据流,并将数据存储控制寄存器模块内,以便于触发基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元进行运转;
所述基础图层的DMAR通道控制单元用于处理通过AXI总线将DDR模块内搬运至基础图层的DMAR通道控制单元内的数据;
所述OSD的DMAR通道控制单元用于处理通过AXI总线将DDR模块内搬运至所述OSD的DMAR通道控制单元内的数据;
所述图层叠加融合模块用于将基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内处理的数据进行融合;
所述输出控制DMAW通道控制用于将融合的数据进行输出,并将融合好的数据写入DDR模块内;
所述DDR模块用于存储OSD与基础图层融合好的数据信息,并实现DDR模块与基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元的数据交互。
本发明实施例的装置包括有控制寄存器模块,所述控制寄存器模块包括APB-Controller模块、In-Registers模块、寄存器缓存队列模块和影子寄存器模块;所述APB-Controller模块用于根据APB总线协议接收APB总线数据流;所述In-Registers模块用于将APB总线数据流解析成寄存器信号;所述寄存器缓存队列模块用于存储寄存器内的信息,以便于叠加过程调用相关寄存器信息;所述影子寄存器模块用于存储控制寄存器值。
本发明实施例的控制寄存器模块内包括有寄存器缓存队列模块,在寄存器缓存队列模块内存储着与基础图层和叠加OSD的指令信息和与DDR模块关联的基地址信息。控制寄存器模块通过指令信息控制基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元进行相应的叠加操作。与DDR模块内的数据关联的基地址信息可以精确的知晓OSD所叠加在基础图层的位置,以及基础图层所需要裁剪的位置信息,通过裁剪基础图层后,将OSD叠加在所裁剪的位置上,完成OSD的叠加。值得注意的是,本发明实施例的DDR模块内记录的是数据信息(包括OSD和基础图层对应的DMAR通道需要处理的数据,以及用于存储融合后的数据,在叠加的过程中,DDR模块只用于存储融合后的数据),而控制寄存器模块内的寄存器缓存队列模块记录的是OSD和基础图层在DDR模块中的基地址(基地址类似于位置坐标,通过基地址可以精准的获取OSD和基础图层各自对应的DMAR通道需要处理的数据),在使用时需要将两者的信息相关联,以便于能精准的找寻OSD叠加在基础图层的位置,以及OSD叠加在基础图层过程所需要获取的数据信息。
本发明实施例通过设置一种灵活优化带宽的多OSD视频叠加装置,将OSD视频流逐一与基础图层进行叠加处理,在OSD视频叠加的过程中,由于采取逐一叠加,使得各OSD可以使用同一个DMAR通道,进而避免了多个DMAR通道并行,所导致带宽需求严重的问题,提高了装置的均衡性。
本发明实施例尤其适用于OSD的尺寸大小相对基础图层的尺寸大小较小,并且在基础图层的位置比较随意的场景。
接下来以图4的使用场景为例来具体说明本发明装置的实施步骤,图4中以8个OSD(但不限于8个OSD)为例进行说明;其中OSD0、OSD1、OSD2、OSD3、OSD4、OSD5、OSD6和OSD7依次表示离基础图层由内及外(由近及远)的叠加OSD。
步骤一:获取基础图层在DDR中的基地址、分辨率、输入数据格式,上下左右裁剪尺寸;获取OSD0在DDR中的基地址、分辨率、输入数据格式、颜色空间转换系数和合并融合后的尺寸大小,将需要回写到的DDR基地址等参数通过图1所示的APB总线进行下发配置。
步骤二:这组寄存器信息会在配置最后一个寄存器后,把上面的寄存器信息都缓存到图3中的寄存器缓存队列模块中作为一个words。
步骤三:***初始状态只要寄存器缓存队列模块非空,就会从寄存器缓存队列模块中读出这笔数据到图3中的影子寄存器模块中,把FIFO模块中的words信息再解析为一个个独立的寄存器信息。
步骤四:DMAR模块在图3中的输入缓存队列模块有空位置的情况下,触发DMAR模块的状态机开始运转起来,通过AXI总线从DDR中搬运数据,搬运到***中的数据会根据输入格式确定在CSC(Color-Space-Convert)模块是否进行颜色空间的转换。
步骤五:基础图层和OSD0数据的DMAR读DDR的数据过程基本一致,两者的数据流在图3中的图层叠加融合模块进行融合叠加。
步骤六:融合好的数据流根据输出格式的需求经过CSC模块后,写入到输出缓存队列模块中。
步骤七:写入输出缓存队列模块中的数据经过DMAW模块后,写入到OSD0需用叠加到的地址空间中(将融合后的数据写入DDR模块内)。
步骤八:在前面二到第七步执行的同时,第一步也在同时写入其他OSD需用叠加的一些信息寄存器,在第七步叠加OSD0后,会触发读取寄存器缓存队列模块中的OSD1的信息,然后会触发OSD的DMAR通道去读取OSD1的数据,并且基础图层的DMAR通道也会读第七步融合好的数据在OSD1期望位置的数据,这样再经过第二到第七步相同的过程,就可以完成OSD1的叠加。
步骤九:重复前面OSD1的叠加过程,完成OSD2,OSD3,OSD4,OSD5,OSD6,OSD7的一个叠加过程。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种灵活优化带宽的多OSD视频叠加的方法,其特征在于,包括:
获取基础图层在DDR中的基地址、分辨率、输入数据格式和裁剪尺寸,以及获取第一OSD在DDR中的基地址、分辨率、输入数据格式、颜色空间转换系数和合并融合后的尺寸,并通过APB总线对需要写入DDR基地址的参数进行下发配置;
通过AXI总线将DDR模块中的数据搬运至基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内,并通过图层叠加融合模块进行融合叠加;
将融合后的数据写入输出缓存队列模块内,并通过DMAW模块将第一OSD与基础图层融合后的数据存入DDR模块内,以完成第一OSD的叠加。
2.根据权利要求1所述的灵活优化带宽的多OSD视频叠加的方法,其特征在于,还包括对除第一OSD外的其它OSD的叠加,包括:
按照从内到外的叠加顺序对各OSD进行排序,并按照前一OSD、后一OSD的顺序依次实现所有OSD的叠加;
其中,当前一OSD完成叠加完成后,便触发后一OSD实施叠加指令,以便于所有OSD的叠加过程沿用相同的DMAR通道。
3.根据权利要求1所述的灵活优化带宽的多OSD视频叠加的方法,其特征在于,还包括利用控制寄存器模块将APB总线所下发的参数配置解析为独立的寄存器信息,包括:
将APB总线所下发的参数配置缓存在控制寄存器模块的寄存器缓存队列模块内;
待需要使用时,利用影子寄存器模块将寄存器缓存队列模块内的信息解析为独立的寄存器信息。
4.根据权利要求3所述的灵活优化带宽的多OSD视频叠加的方法,其特征在于,所述通过AXI总线将DDR模块中的数据搬运至基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内之前,还包括触发DMAR通道控制单元的状态机运转,包括:
分别获取基础图层的DMAR通道控制单元内输入缓存队列模块的存储状态、OSD的DMAR通道控制单元内输入缓存队列模块的存储状态,以及相关寄存器的信息;
若基础图层的DMAR通道控制单元内输入缓存队列模块为非空,且OSD的DMAR通道控制单元内输入缓存队列模块为非空,便触发状态机开始运转,状态机发出DMAR-DDR数据的请求,然后把从DDR读回的数据缓存到输入缓存队列模块中。
5.根据权利要求1所述的灵活优化带宽的多OSD视频叠加的方法,其特征在于,所述通过图层叠加融合模块进行融合叠加之前,还包括使用第一CSC模块对基础图层和OSD各数据的输入格式进行转换。
6.根据权利要求1所述的灵活优化带宽的多OSD视频叠加的方法,其特征在于,所述通过图层叠加融合模块进行融合叠加之后,还包括使用第二CSC模块对融合后的数据进行处理,以便于将融合后的数据写入输出缓存队列模块内。
7.根据权利要求1所述的灵活优化带宽的多OSD视频叠加的方法,其特征在于,当前一OSD与后一OSD之间存在重叠时,复制前一OSD和/或后一OSD的数据,并将复制的数据存储在DDR内,以便于前一OSD和后一OSD直接在DDR内读取数据,以避免重复读取基础图层的数据。
8.根据权利要求1所述的灵活优化带宽的多OSD视频叠加的方法,其特征在于,前一OSD进行叠加时,同时也在写入后一OSD需要叠加的相关信息寄存器,当前一OSD叠加完成后,触发读取控制寄存器模块内寄存器缓存队列模块中的后一OSD相关的寄存器信息、后一OSD的DMAR通道读取后一OSD的相关信息,以及触发基础图层的DMAR通道读取后一OSD需要叠加的地址空间位置,以便于实现后一OSD的叠加。
9.一种灵活优化带宽的多OSD视频叠加装置,其特征在于,包括控制寄存器模块、基础图层的DMAR通道控制单元、OSD的DMAR通道控制单元、图层叠加融合模块、输出控制DMAW通道控制和DDR模块;
所述控制寄存器模块用于接收APB总线数据流,并将数据存储控制寄存器模块内,以便于触发基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元进行运转;
所述基础图层的DMAR通道控制单元用于处理通过AXI总线将DDR模块内搬运至基础图层的DMAR通道控制单元内的数据;
所述OSD的DMAR通道控制单元用于处理通过AXI总线将DDR模块内搬运至所述OSD的DMAR通道控制单元内的数据;
所述图层叠加融合模块用于将基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元内处理的数据进行融合;
所述输出控制DMAW通道控制用于将融合的数据进行输出,并将融合好的数据写入DDR模块内;
所述DDR模块用于存储OSD与基础图层融合好的数据信息,并实现DDR模块与基础图层的DMAR通道控制单元和OSD的DMAR通道控制单元的数据交互。
10.根据权利要求9所述的灵活优化带宽的多OSD视频叠加装置,其特征在于,所述控制寄存器模块包括APB-Controller模块、In-Registers模块、寄存器缓存队列模块和影子寄存器模块;
所述APB-Controller模块用于根据APB总线协议接收APB总线数据流;
所述In-Registers模块用于将APB总线数据流解析成寄存器信号;
所述寄存器缓存队列模块用于存储寄存器内的信息,以便于叠加过程调用相关寄存器信息;
所述影子寄存器模块用于存储控制寄存器值。
CN202211712537.1A 2022-12-29 2022-12-29 一种灵活优化带宽的多osd视频叠加的方法及装置 Active CN116248956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211712537.1A CN116248956B (zh) 2022-12-29 2022-12-29 一种灵活优化带宽的多osd视频叠加的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211712537.1A CN116248956B (zh) 2022-12-29 2022-12-29 一种灵活优化带宽的多osd视频叠加的方法及装置

Publications (2)

Publication Number Publication Date
CN116248956A true CN116248956A (zh) 2023-06-09
CN116248956B CN116248956B (zh) 2024-02-23

Family

ID=86626858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211712537.1A Active CN116248956B (zh) 2022-12-29 2022-12-29 一种灵活优化带宽的多osd视频叠加的方法及装置

Country Status (1)

Country Link
CN (1) CN116248956B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117523153A (zh) * 2024-01-08 2024-02-06 中国核动力研究设计院 一种堆芯数据的三维可视化方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040001703A1 (en) * 2002-06-26 2004-01-01 Eun-Jung Kang Video reproduction device having graphic on-screen display (OSD) capabilities and a method for using the same
CN103139509A (zh) * 2013-02-26 2013-06-05 西安创芯科技有限责任公司 一种基于axi总线协议的osd控制显示方法及装置
CN103974007A (zh) * 2013-01-28 2014-08-06 杭州海康威视数字技术股份有限公司 屏幕菜单式调节方式信息的叠加方法及装置
CN106060437A (zh) * 2016-07-21 2016-10-26 厦门视诚科技有限公司 桌面式控台字幕显示装置及显示方法
CN106357998A (zh) * 2015-11-18 2017-01-25 深圳艾科创新微电子有限公司 一种osd图形显示处理装置
CN114339411A (zh) * 2021-12-30 2022-04-12 西安紫光展锐科技有限公司 视频处理方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040001703A1 (en) * 2002-06-26 2004-01-01 Eun-Jung Kang Video reproduction device having graphic on-screen display (OSD) capabilities and a method for using the same
CN103974007A (zh) * 2013-01-28 2014-08-06 杭州海康威视数字技术股份有限公司 屏幕菜单式调节方式信息的叠加方法及装置
CN103139509A (zh) * 2013-02-26 2013-06-05 西安创芯科技有限责任公司 一种基于axi总线协议的osd控制显示方法及装置
CN106357998A (zh) * 2015-11-18 2017-01-25 深圳艾科创新微电子有限公司 一种osd图形显示处理装置
CN106060437A (zh) * 2016-07-21 2016-10-26 厦门视诚科技有限公司 桌面式控台字幕显示装置及显示方法
CN114339411A (zh) * 2021-12-30 2022-04-12 西安紫光展锐科技有限公司 视频处理方法、装置及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117523153A (zh) * 2024-01-08 2024-02-06 中国核动力研究设计院 一种堆芯数据的三维可视化方法及装置
CN117523153B (zh) * 2024-01-08 2024-03-26 中国核动力研究设计院 一种堆芯数据的三维可视化方法及装置

Also Published As

Publication number Publication date
CN116248956B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
US5943064A (en) Apparatus for processing multiple types of graphics data for display
CN104935840B (zh) 一种拼接显示屏的字幕滚动显示方法及***
CN103974007B (zh) 屏幕菜单式调节方式信息的叠加方法及装置
US10923075B2 (en) Display method, display device, electronic device and computer readable storage medium
CN116248956B (zh) 一种灵活优化带宽的多osd视频叠加的方法及装置
US5557302A (en) Method and apparatus for displaying video data on a computer display
CN103618869B (zh) 多画面视频拼接方法及装置
CN111064906A (zh) 国产处理器和国产fpga多路4k高清视频综合显示方法
CN100414981C (zh) 屏幕显示控制***
CN105094289A (zh) 一种实现图形用户交互界面的方法、设备及***
CN113946301B (zh) 拼接显示***及其图像处理方法
CN105450942A (zh) 对视频图像进行字符叠加的方法及装置
US20060055626A1 (en) Dual screen display using one digital data output
JP2010191026A (ja) 外部表示装置に応じた画像データを出力する端末、プログラム及び方法
CN101093644A (zh) 一种支持多输出格式下画中画功能的lcd控制电路及方法
CN115880156A (zh) 一种多图层拼接显示控制方法和装置
CN116260800A (zh) 一种基于嵌入式平台的视频实时叠加处理装置及方法
JP2005266792A (ja) 大型のオーバーレイされたカメラ画像を表示するためのメモリ効率の良い方法及び装置
JPH1069548A (ja) コンピュータ・グラフィックス・システム
CN117499601B (zh) 用于SoC的调用多摄像头数据的方法
CN112565585B (zh) 图像显示电路、图像显示方法及图像显示设备
TWI729658B (zh) 影像顯示系統與方法
US20050030319A1 (en) Method and apparatus for reducing the transmission requirements of a system for transmitting image data to a display device
CN111857918A (zh) 2D桌面PorterDuff实现方法及装置
JPH06343142A (ja) 画像表示装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant