CN103581505A - 一种数字视频信号处理装置及方法 - Google Patents
一种数字视频信号处理装置及方法 Download PDFInfo
- Publication number
- CN103581505A CN103581505A CN201210266747.2A CN201210266747A CN103581505A CN 103581505 A CN103581505 A CN 103581505A CN 201210266747 A CN201210266747 A CN 201210266747A CN 103581505 A CN103581505 A CN 103581505A
- Authority
- CN
- China
- Prior art keywords
- window
- image
- displayed
- specified window
- pixel
- 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
Images
Abstract
本发明实施例提供一种数字视频信号处理装置及方法,针对每一路输入通道,在得到待显示图像之后,对该待显示图像利用显示屏窗口进行显示之前,确定该窗口是否存在被其他窗口覆盖的区域。如果确定出该窗口中有被其他窗口覆盖的区域,则对应的像素点不必输出在该区域中,显示屏无需在该区域进行显示。由此节约画面拼接所耗费的运算量,提高画面拼接的效率,减少画面失真现象发生的可能性。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数字视频信号处理装置及方法。
背景技术
随着液晶显示技术、嵌入式硬件拼接技术、多屏图像处理技术、信号切换技术等电视幕墙相关技术的发展,新型拼接幕墙在工程应用的终端大屏幕显示设备中得到了迅速普及。尤其是液晶拼接幕墙作为平安城市指挥中心、铁路(地铁)、港口、码头监视系统、智能交通管理监控中心、国防或军事监视系统、电力调度监控系统、大型厂矿监控系统、金融管理监控系统、电视台或大型演播中心监视幕墙、大型演出场所背景幕墙、视频会议等信息汇集、处理的关键显示设备,具有将各类计算机模拟/数字信号、复合视频信号、色差信号等在大屏幕上显示,并实现信号的切换、叠加、组合等功能。而画面拼接作为拼接幕墙中的关键的技术点也引起越来越多的重视,如何高效准确地实现画面拼接已经成为一个日益流行的研究领域,高效实时准确的画面拼接技术用于监控或展示等方面,相比单个图像显示具有更好的灵活性和更大的视野。
一个拼接幕墙系统可以包括一块拼接幕墙和一个拼接器。一块拼接幕墙可以包括多块显示屏,每块显示屏连接拼接器的一个输出通道,用于显示该输出通道输出的图像,而该输出通道输出的图像可以是从拼接器的多路输入通道(一路输入通道可以理解为用于传输从一个信号源获得的图像)输入的。在一块显示屏上可以包括多个窗口,可以根据每个窗口所在的位置和大小来设定该显示屏上的画面布局,并可以利用每个窗口对一路输入通道向该显示屏输入的图像进行显示。即,可以理解为,在一块显示屏上可以利用窗口实现画面布局和显示。而在每个显示屏窗口进行图像显示的过程,即在拼接幕墙上实现画面拼接的过程。
由于一块显示屏上的各窗口可以在显示屏上任意漫游和缩放,因此,在一块显示屏上各窗口之间可能存在重叠。在每块显示屏中,如果在每个窗口中均显示该窗口应该显示的完整的画面,该窗口被其他窗口覆盖部分的画面也无法被看到,且会导致拼接幕墙上画面拼接运算量大,画面拼接效率较低。而在输入通道数量较多的情况下,输入数据量较大,画面拼接运算量大可能导致画面断层等肉眼感觉明显的画面失真现象,无法保证输出画面的整体性和连贯性。
发明内容
本发明实施例提供一种数字视频信号处理装置及方法,用于解决在显示屏上的窗口存在重叠时,在每个窗口中均显示该窗口应该显示的完整的画面,导致的画面拼接运算量大,画面拼接效率较低的问题。
一种数字视频信号处理方法,所述方法包括:
针对每一路输入通道,对该路输入通道输入的一帧图像进行图像缩放处理得到待显示图像;
根据每个窗口在显示屏中的坐标范围,确定用于显示所述待显示图像的指定窗口中是否有被其他窗口覆盖的区域,所述指定窗口中的一个显示点用于显示一个像素点,且所述待显示图像中的每个像素点与所述指定窗口中每个显示点一一对应;
若确定该指定窗口中有被其他窗口覆盖的区域,向该指定窗口中非该区域的每个显示点输出对应的所述待显示图像中的像素点。
一种数字视频信号处理装置,所述装置包括:
缩放模块,用于对一路输入通道输入的一帧图像进行图像缩放处理得到待显示图像;
覆盖判断模块,用于根据每个窗口在显示屏中的坐标范围,确定用于显示所述待显示图像的指定窗口中是否有被其他窗口覆盖的区域,所述指定窗口中的一个显示点用于显示一个像素点,且所述待显示图像中的每个像素点与所述指定窗口中每个显示点一一对应;
输出模块,用于若覆盖判断模块确定该指定窗口中有被其他窗口覆盖的区域,向该指定窗口中非该区域的每个显示点输出对应的所述待显示图像中的像素点。
本发明实施例提供的方案中,针对每一路输入通道,在得到待显示图像之后,对该待显示图像利用显示屏窗口进行显示之前,确定该窗口是否存在被其他窗口覆盖的区域。如果确定出该窗口中有被其他窗口覆盖的区域,则对应的像素点不必输出在该区域中,显示屏无需在该区域进行显示。由此节约画面拼接所耗费的运算量,提高画面拼接的效率,减少画面失真现象发生的可能性。
附图说明
图1为本发明实施例一提供的数字视频信号处理方法的步骤流程图;
图2为本发明实施例二提供的数字视频信号处理装置的结构示意图;
图3为本发明实施例二提供的数字视频信号处理装置的结构示意图;
图4为本发明实施例三提供的窗口覆盖判断方法的步骤流程图;
图5为本发明实施例四提供的将像素点数据写入DDR的步骤流程图。
具体实施方式
在画面拼接的实现过程中,一个显示屏可以包括多个窗口,当一个窗口被其他窗口部分或全部覆盖时,即使在被覆盖的窗口中进行图像显示,在该窗口被覆盖部分,显示的图像也无法被用户查看,这样就造成了运算量的无谓浪费。尤其是在处理将多个输入通道输入的图像向多个显示屏输出时,由于输入通道数量较多,输入数据量较大,运算量的无谓浪费使得画面拼接效率低下,非常可能导致出现画面失真等问题。因此,为了提高画面拼接效率,本发明实施例提出,在窗口中显示图像之前,可以进行窗口是否被覆盖的预判断。一旦确定出窗口中存在被覆盖的区域,可以无需向该区域输出像素点,在显示图像时,可以无需在该区域显示对应的像素点,从而减少画面拼接的运算量,提高画面拼接的效率。
进一步的,本发明实施例还提供了一种判断窗口是否被覆盖的具体算法。
而在进行图像输出时,具体的,可以将待输出的像素点数据按照双倍速率同步动态随机存储器(DDR,Double Date Rate)的要求,组包写入先入先出队列(FIFO,First Input First Output)。在存在多路输入通道时,可以通过轮询FIFO的形式,一旦确定出非空的FIFO,则可以将非空FIFO中的数据写入DDR,从而节约等待数据写入FIFO的时间,进一步在进行画面输出时,提高数据处理速度,进一步提高画面拼接的效率。
较优的,本发明实施例提供的方案尤其可以应用于多路通道输入,多路通道输出的应用场景中,从而避免运算量过大,实现画面拼接效率的显著提高。
目前,图像处理一般是采用专用芯片、数字信号处理器(DSP,digital singnalprocessor)及现场可编程门阵列FPGA(Field Programmable Gate Array)这三种途径来实现。由于画面拼接的数据量相当庞大,且存在拼接布局的任意性并要求计算速度的实时性,专用芯片在成本上相对较高,且功能上未必完全满足每个设计的需求或者会由于存在功能冗余带来资源和成本的浪费;DSP在处理数据计算方面有自身的优势,但在视频数据如此庞大,且要求计算速度的实时性的情况下,不能很好地完成画面拼接的工作;相对于专用芯片及DSP来说,FPGA可以根据自身需要灵活设计限定输入输出的数量,也因为其自身硬件电路的优势,在要求实时高效方面能很好地完成画面的采集缩放拼接输出等工作,所以在实现画面拼接时,基于FPGA的算法实现是更加理想的选择。下面以利用FPGA实现本发明实施例方案为例进行说明。
下面结合说明书附图和各实施例对本发明方案进行说明。
实施例一、
本发明实施例一提供一种数字视频信号处理方法。下面针对将一路输入通道输入的图像由窗口进行显示的过程进行说明。该方法的步骤流程可以如图1所示,包括:
步骤101、确定待显示图像。
本步骤可以包括,对一路输入通道输入的一帧图像进行图像缩放处理得到待显示图像。
具体的,在本步骤中,对图像进行缩放处理得到待显示图像之前,可以确定用于显示该路输入通道输入的该帧图像的指定窗口以及该指定窗口的大小(当然,如果多路输入通道输入的图像由多路输出通道输出,则可以理解确定出该指定窗口的同时,已经确定出了该指定窗口所在的显示屏(以及该显示屏连接的输出通道)),从而在接收到一路输入通道输入的一帧图像后,可以根据所述指定窗口的大小,对所述图像进行图像缩放处理得到待显示图像。
在本实施例中,可以定义所述指定窗口中的一个显示点用于显示一个像素点,则经过图像缩放处理后,可以理解为所述待显示图像中的每个像素点与所述指定窗口中每个显示点一一对应,即所述指定窗口中的一个显示点对应地显示所述待显示图像中的一个像素点。
在本实施例中,确定用于显示一路输入通道输入的一帧图像的指定窗口,以及确定该指定窗口的大小均可以是通过可编程片上系统(SOPC)来实现的,即可以通过SOPC来获得输入通道与显示屏上的窗口的对应关系,并可以获得每个显示屏上的每个窗口的大小。
步骤102、确定所述指定窗口是否被覆盖。
本步骤包括,根据每个窗口在显示屏中的坐标范围,确定用于显示所述待显示图像的所述指定窗口中是否有被其他窗口覆盖的区域。
具体的,可以通过以下方式来确定用于显示所述待显示图像的所述指定窗口中是否有被其他窗口覆盖的区域:
确定所述指定窗口包含的每个显示点的坐标,是否属于在该指定窗口所在的显示屏中,显示优先级高于该指定窗口的窗口的坐标范围,其中,所述坐标可以根据预先设定的坐标系确定。即可以理解为,在指定窗口所在的显示屏中,针对该指定窗口中的每个显示点,确定该显示点的坐标是否在显示优先级高于该指定窗口的窗口的坐标范围内,如果是,则表明显示优先级高于该指定窗口的窗口的覆盖区域包含了该显示点所在的区域,该显示点所在的区域被其他窗口覆盖。否则,可以认为显示优先级高于该指定窗口的窗口的覆盖区域没有包含该显示点所在的区域,该显示点所在的区域没有被其他窗口覆盖。当然,在本步骤之前,可以理解为已经确定了所述指定窗口所在的显示屏中每个窗口的显示优先级,即可以理解为显示屏中各窗口的显示优先级是预先设定的。其中,设定在显示屏上显示窗口时,显示优先级低的窗口不可以覆盖显示优先级高的窗口。
在确定所述指定窗口包含的一个显示点的坐标属于所述坐标范围时,确定该指定窗口中,该显示点所在区域被其他窗口覆盖。否则,在确定所述指定窗口包含的每个显示点的坐标均不属于所述坐标范围时,可以确定该指定窗口没有被其他窗口覆盖。
即在本实施例中,可以通过设定窗口在显示屏中的显示优先级的方式,设定窗口之间的覆盖关系,从而在确定一个窗口是否被覆盖时,只需考虑显示优先级高于该窗口的窗口即可。例如,如果一个窗口的显示优先级最高,可以直接确定该指定窗口没有被其他窗口覆盖;而如果一个窗口的显示优先级为次高,则仅可能被显示优先级最高的窗口覆盖,在确定该指定窗口是否被其他窗口覆盖时,只需确定该指定窗口中的显示点坐标,是否属于显示优先级最高的窗口的显示点坐标范围即可。从而进一步减少运算量,提高画面拼接的效率。
实际上,SOPC的功能不局限于确定用于显示一路输入通道输入的图像的指定窗口,以及确定该指定窗口的大小,还可以确定每块显示屏中每个窗口的大小和位置,从而可以确定每个窗口在其所在的显示屏中包含的显示点的坐标范围,使得后续可以确定所述指定窗口包含的每个显示点的坐标,是否属于在该指定窗口所在显示屏中,显示优先级高于该指定窗口的窗口的坐标范围。
步骤103、输出待显示图像。
在本步骤中,若确定所述指定窗口中有被其他窗口覆盖的区域,则可以只向该指定窗口中非该区域的每个显示点输出对应的所述待显示图像中的像素点,使得显示屏无需在该区域进行显示。否则,若确定所述指定窗口中没有被其他窗口覆盖的区域,可以向该指定窗口输出完整图像,使得显示屏完整显示所述待显示图像。
较优的,输出待显示图像可以通过如下方式实现:
将所述待显示图像指定位置的像素点数据写入DDR,所述指定位置是所述指定窗口未被其他窗口覆盖区域中的每个显示点对应的在所述待显示图像中的位置。具体的,DDR写操作可以采用avalon MM Master总线定义的格式,主要接口包括write(写信号)、writedata(写数据)、address(写地址)、byteeable(字节有效,根据不同位上的值,1表示当前写数据的该字节需要写入DDR,反之则不写入)、waitrequest(DDR返回的等待信号,若发起写,则必须等待该信号为0才表示一次写的完成);
将所述待显示图像指定位置的像素点数据写入DDR之后,可以根据显示分辨率要求产生视频时序,根据该时序从所述DDR中读取像素点数据并输出在所述指定窗口中没有被其他窗口覆盖的区域,具体的,DDR读操作可以采用avalon MM Master总线定义的burst模式,主要接口包括read(读信号)、readdata(读数据)、address(读地址)、datavalid(数据有效)、waitrequest(DDR返回的等待信号,若发起读,则必须等待该信号为0才表示一次写的完成)、burstcount(一次读取多少个返回数据)。
根据以上方式实现待显示图像的输出,可以根据指定窗口上被覆盖的区域和未被覆盖的区域来确定该待显示图像中每个像素点是否需要被显示,从而可以仅将需要被显示的像素点上的数据写入DDR,从而减少写入DDR的数据量,提高数据处理速度,减少DDR带宽损失,加速画面拼接实现。并可以在输出时,仅针对写入DDR的数据进行输出,提高输出的速度,从而进一步提高画面拼接实现的速度。
其中,为了保证将像素点数据写入DDR的速度,可以按照DDR要求的像素点位宽对所述待显示图像指定位置的像素点数据位宽进行调整,将位宽调整后的像素点数据按照DDR要求的组包位宽组成数据包并写入指定FIFO,并通过轮询FIFO的形式,在指定FIFO非空时,从指定FIFO中读取数据包,写入所述DDR。在将指定FIFO中的数据包写入DDR后,可以继续轮询FIFO。即针对每个FIFO,可以在确定该FIFO非空时,将该FIFO中的数据包写入DDR,并可以在该FIFO为空时,将其他非空FIFO中的数据包写入DDR。从而可以在存在多路输入通道时(可以理解为一个输入通道输入的一帧图像的像素点数据写入一个FIFO),通过轮询FIFO的形式,避免等待数据向FIFO的写入,在一定程度上,实现对将多个FIFO中的数据写入DDR的并行处理,节约等待数据写入FIFO的时间,进一步提高画面拼接的效率。
需要说明的是,在本实施例中,由于对每一路输入通道输入的图像均可以经过如上处理保存在DDR中,可以理解为在DDR中保存了用于在拼接幕墙组成一帧拼接图像的全部数据,根据时序从DDR中连续读取数据并输出在每个显示屏上,即可以在拼接幕墙上直接得到一帧拼接图像,从而在提高画面拼接效率、保证画面拼接实时性的同时,还可以保证在拼接幕墙上进行画面拼接的准确性。当然,可以对从DDR中读取到的数据进一步加以处理,如将色度抽样比率为4:2:2的数据转换为色度抽样比率为4:4:4的数据,并实现显示。
与本发明实施例一基于同一发明构思,提供以下的装置。
实施例二、
本发明实施例二提供一种数字视频信号处理装置,该装置可以理解为拼接器的一部分。该装置的结构可以如图2所示,包括:
缩放模块11用于对一路输入通道输入的一帧图像进行图像缩放处理得到待显示图像;覆盖判断模块12用于根据每个窗口在显示屏中的坐标范围,确定用于显示所述待显示图像的指定窗口中是否有被其他窗口覆盖的区域,所述指定窗口中的一个显示点用于显示一个像素点,且所述待显示图像中的每个像素点与所述指定窗口中每个显示点一一对应;输出模块13用于若覆盖判断模块确定该指定窗口中有被其他窗口覆盖的区域,向该指定窗口中非该区域的每个显示点输出对应的所述待显示图像中的像素点。
覆盖判断模块12具体用于确定所述指定窗口所在的显示屏中,该显示屏中每个窗口的显示优先级,其中,设定在显示屏上显示窗口时,显示优先级低的窗口不可以覆盖显示优先级高的窗口;确定所述指定窗口包含的每个显示点的坐标,是否属于在所述指定窗口所在的显示屏中,显示优先级高于该指定窗口的窗口的坐标范围;在确定所述指定窗口包含的一个显示点的坐标属于所述坐标范围时,确定该指定窗口中,该显示点所在区域被其他窗口覆盖。
所述装置还包括写回模块14:
所述写回模块14用于将所述待显示图像指定位置的像素点数据写入双倍速率同步动态随机存储器DDR,所述指定位置是所述指定窗口未被其他窗口覆盖区域中的每个显示点对应的在所述待显示图像中的位置;
所述输出模块13具体用于根据显示分辨率要求产生视频时序,根据该时序从所述DDR中读取像素点数据并输出在所述指定窗口中没有被其他窗口覆盖的区域。
所述写回模块14具体用于轮询先入先出队列FIFO,在指定FIFO非空时,从指定FIFO中读取数据包,写入所述DDR,并在将指定FIFO中的数据包写入DDR后,继续轮询FIFO,所述数据包是按照DDR要求的像素点位宽对所述待显示图像指定位置的像素点数据位宽进行调整,将位宽调整后的像素点数据按照DDR要求的组包位宽组成数据包并写入指定FIFO的。
所述装置还包括参数确定模块15:
所述参数确定模块15用于利用可编程片上系统SOPC确定用于显示所述图像的所述指定窗口以及所述指定窗口的大小;
所述缩放模块11具体用于接收一路输入通道输入的一帧图像,根据所述指定窗口的大小,对所述图像进行图像缩放处理得到待显示图像。
其中,本装置可以理解为通过FPGA实现,且FPGA芯片可以采用ALTERA公司型号为Arria II GX EP2AGX45DF25C6的FPGA芯片。在输出模块采用的用于输出数据的DA芯片可以采用CH 7303。本实施例涉及的DDR为片外存储设备。用于实现本装置各模块功能的具体算法可以根据FPGA芯片的规格和资源以及设计所需的规模选定,DA芯片CH7303也可以更换成其他芯片,只要是能采集RGB或者YUV格式的视频数据的芯片都可以应用于本发明。在采用Arria II GX EP2AGX45DF25C6型号的FPGA芯片、型号为CH 7303的DA芯片实现本发明方案时,若根据本发明实施例提供的方案实现16路输入通道缩放,在2路输出通道连接的显示屏上显示任意布局,可以使得FPGA芯片达到93%的资源使用率,实现资源的充分利用。
以实现16路输入通道缩放,在2路输出通道连接的显示屏上显示任意布局为例,如图2所示的数字视频信号处理装置中可以包括4个缩放模块,以及4个覆盖判断模块,其中可以理解为16路输入通道共用4个缩放模块,实现缩放模块的复用,且缩放模块与覆盖判断模块为一一对应关系,一个覆盖判断模块用于对一个缩放模块输出的待显示图像对应的指定窗口进行覆盖判断。具体的,数字视频信号处理装置的结构可以如图3所示。
以图3提供的数字视频信号处理装置为例,下面通过具体的实施例对本发明实施例一的方案进行说明。
实施例三、
本发明实施例三提供一种窗口覆盖判断方法,用于对指定窗口中是否有被其他窗口覆盖的区域进行判断,该方法的步骤流程可以如图4所示,包括:
步骤201、确定覆盖判断开始。
在本步骤中,覆盖判断模块可以根据缩放模块的触发,开始对窗口是否被覆盖的判断处理,可以理解为缩放模块接收到一路输入通道输入的一帧图像(即接收到帧开始标识,帧开始标识可以理解为表示一帧图像开始输入)时,触发覆盖判断模块判断指定窗口是否被覆盖。且在本步骤中,覆盖判断模块可以从参数确定模块(可以通过SOPC实现)中获得用于显示缩放处理后的该帧图像(待显示图像)的一个窗口的窗口标识,如窗口号,还可以设定该窗口号表示在该窗口所在的显示屏中,该窗口的显示优先级。可以设定,窗口号越大,显示优先级越高,否则,显示优先级越低。即,通过确定窗口号,可以确定一个窗口(该窗口的大小、位置均可以确定,该窗口包括的显示点的坐标范围也可以确定),并可以确定该窗口的显示优先级。
步骤202、进行覆盖判断。
覆盖判断模块在进行覆盖判断时,需要确定所述窗口显示所述待显示图像的起始位置,即确定所述窗口起始位置处的显示点坐标。
在每次接收到携带有有效标识(可以用valid表示,用于标识该像素点数据为缩放处理后的有效数据,即可以理解为表示该像素点数据为所述待显示图像中的数据)的像素点数据时,对确定出的起始位置处的显示点坐标进行累加,从而确定用于显示最后一次接收到的像素点数据的显示点的坐标,并可以以一个时钟为周期,确定该显示点的坐标是否属于用于显示所述待显示图像的窗口所在的显示屏中,显示优先级高于所述窗口的窗口的坐标范围。
即可以理解为在用于显示所述待显示图像的窗口所在的显示屏中,针对每个显示优先级高于该窗口的窗口,确定累加后的显示点坐标是否在该窗口的坐标范围内,如果是,则可以确定该显示点坐标表示的显示点所在区域被该窗口覆盖,否则,可以确定该显示点坐标表示的显示点所在区域没有被该窗口覆盖。
例如,针对所述窗口号表示的窗口中坐标为(x’,y’)的显示点,如果所述窗口号为第一路输出通道连接的显示屏中的4,则可以确定该显示屏中窗口号大于4的每个窗口,其坐标范围是否包含(x’,y’)。如果包含,则该窗口覆盖了窗口号为4的窗口中坐标(x’,y’)处的区域,否则,没有覆盖窗口号为4的窗口中坐标(x’,y’)处的区域。
步骤203、确定覆盖判断结果。
针对每个显示点所在区域,如果被任意一个窗口覆盖,则覆盖判断模块可以确定该显示点所在区域被覆盖。
具体的,在本步骤中,可以针对所述窗口号表示的窗口中的每个显示点,将该显示点所在区域是否被每个显示优先级高于所述窗口号表示的窗口的窗口覆盖的结果,进行或非运算,从而确定该显示点所在区域是否被其他窗口覆盖。
并可以为每个显示点,分配一个覆盖标识,该覆盖标识可以用data enable表示,覆盖标识为0,可以表示该显示点被覆盖,覆盖表示为1,可以表示该显示点没有被覆盖。
通过以上步骤,即可以针对所述窗口号表示的窗口中每个显示点,确定该显示点所在区域是否被其他窗口覆盖,从而确定所述窗口号表示的窗口被其他窗口覆盖的区域。
实施例四、
本发明实施例四提供一种将像素点数据写入DDR的方法,该方法的步骤流程可以如图5所示,包括:
步骤301、对像素点数据进行组包。
在本实施例中,可以理解为起始时刻(DDR中尚未存储像素点数据)或DDR中存储的像素点数据被读取显示之后,触发新一轮像素点数据向DDR的写入。由于图3所示的数字视频信号处理装置中4个缩放模块并行工作,会同步产生4帧待显示图像。根据确定出的指定窗口中被覆盖的区域和未被覆盖的区域,可以确定出每帧待显示图像中的指定位置。针对每个缩放模块输出的待显示图像,可以将该帧待显示图像指定位置上的像素点数据组成数据包(组包)(可以理解为由写回模块或覆盖判断模块执行)。即可以理解为针对同步产生的4帧待显示图像分别进行组包,每个数据包中的像素点数据均属于同一帧待显示图像。
具体的,可以按照DDR要求的位宽进行组包。如DDR要求的像素点位宽为16位,组包位宽为256位,则可以将每个指定位置上的像素点数据位宽调整为16位,并将16个像素点数据组成一个数据包。当然,每个像素点数据在数据包中的位置可以根据数据包的起始偏移量进行确定。
步骤302、写入FIFO。
针对每一帧待显示图像,在一次组包完成后,则可以将该数据包写入对应的FIFO。可以理解为同步产生的4帧待显示图像分别组包写入4个FIFO,本步骤也可以理解为由写回模块或覆盖判断模块执行。
当然,如果向FIFO写入过程中,确定该FIFO中存储的数据量大于设定值,可以通知对应的缩放模块(用于产生向该FIFO写入的待显示图像的缩放模块)暂时停止进行图像缩放处理,避免FIFO的溢出。
步骤303、读取FIFO,写入DDR。
写回模块轮询4个FIFO,若4个FIFO均为空,则等待数据向FIFO的写入。如果轮询到的FIFO非空,则读取该FIFO中的数据,并写入DDR,且DDR写入地址是根据该FIFO当前存储的数据所对应的显示窗口确定的。即可以理解为针对每个窗口,在DDR中有对应的存储空间,并可以将每次从FIFO中读取的针对同一帧待显示图像的数据,按顺序存放至该存储空间中。当然,在将该FIFO中的数据写入DDR之后,可以更新DDR写入地址,更新后的DDR写入地址是根据下一个FIFO当前存储的数据所对应的显示窗口确定的,并跳转到对下一个FIFO的读取。
如果轮询到的FIFO为空,则更新DDR写入地址,更新后的DDR写入地址是根据下一个FIFO当前存储的数据所对应的显示窗口确定的,并跳转到对下一个FIFO的读取。
如果缩放模块在进行图像缩放过程中,识别出帧结束标识(可以理解为表示一帧图像输入结束),可以暂时停止进行图像缩放处理,直至确定当前帧图像向写入DDR完成。即在本实施例中,可以理解为在将一帧待显示图像写入DDR完成后,再执行对另一帧待显示图像的写入,实现对待显示图像的逐帧写入,避免将属于不同帧图像的数据作为属于同一帧图像的数据写入DDR,出现写入错误。
本发明实施例提供的方案可以通过FPGA对各输入通道视频信号的预处理为主,SOPC配合确定控制参数来实现,并可以实现N路输入M路输出的画面拼接效果。其中判断各窗口是否被覆盖,然后根据各输入通道数据所应存在的画面位置和是否应该被显示写回相应的DDR空间存储其实是一个画面预处理的过程,针对一帧拼接图像中包括的每一帧待显示图像的预处理,可以理解为正在进行上一帧拼接图像的输出显示,从而满足拼接输出的画面的连续性和实时性。
上述预处理的过程,通过在FPGA中实现可以大大地节省时间。不管有多少路图像的输入,在拼接幕墙每块显示屏上每个显示点均显示一次像素点数据。避免了因为输入通道数据的增加而增加拼接布局的计算量,可以将每一帧拼接图像处理时间限制在可控的时间内,避免处理时间大大增加的情况下会导致输出画面断层等肉眼明显感觉的画面失真现象的问题,保证输出画面的整体性和连贯性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数字视频信号处理方法,其特征在于,所述方法包括:
针对每一路输入通道,对该路输入通道输入的一帧图像进行图像缩放处理得到待显示图像;
根据每个窗口在显示屏中的坐标范围,确定用于显示所述待显示图像的指定窗口中是否有被其他窗口覆盖的区域,所述指定窗口中的一个显示点用于显示一个像素点,且所述待显示图像中的每个像素点与所述指定窗口中每个显示点一一对应;
若确定该指定窗口中有被其他窗口覆盖的区域,向该指定窗口中非该区域的每个显示点输出对应的所述待显示图像中的像素点。
2.如权利要求1所述的方法,其特征在于,根据每个窗口在显示屏中的坐标范围,确定用于显示所述待显示图像的指定窗口中是否有被其他窗口覆盖的区域之前,所述方法还包括:
确定所述指定窗口所在的显示屏中,该显示屏中每个窗口的显示优先级,其中,设定在显示屏上显示窗口时,显示优先级低的窗口不可以覆盖显示优先级高的窗口;
根据每个窗口在显示屏中的坐标范围,确定用于显示所述待显示图像的指定窗口中是否有被其他窗口覆盖的区域,具体包括:
确定所述指定窗口包含的每个显示点的坐标,是否属于在所述指定窗口所在的显示屏中,显示优先级高于该指定窗口的窗口的坐标范围;
在确定所述指定窗口包含的一个显示点的坐标属于所述坐标范围时,确定该指定窗口中,该显示点所在区域被其他窗口覆盖。
3.如权利要求1或2所述的方法,其特征在于,确定所述指定窗口中有被其他窗口覆盖的区域之后,向该指定窗口中非该区域的每个显示点输出对应的所述待显示图像中的像素点之前,所述方法还包括:
将所述待显示图像指定位置的像素点数据写入双倍速率同步动态随机存储器DDR,所述指定位置是所述指定窗口未被其他窗口覆盖区域中的每个显示点对应的在所述待显示图像中的位置;
向该指定窗口中非该区域的每个显示点输出对应的所述待显示图像中的像素点,具体包括:
根据显示分辨率要求产生视频时序,根据该时序从所述DDR中读取像素点数据并输出在所述指定窗口中没有被其他窗口覆盖的区域。
4.如权利要求3所述的方法,其特征在于,将所述待显示图像指定位置的像素点数据写入DDR,具体包括:
轮询先入先出队列FIFO,在指定FIFO非空时,从指定FIFO中读取数据包,写入所述DDR,并在将指定FIFO中的数据包写入DDR后,继续轮询FIFO,所述数据包是按照DDR要求的像素点位宽对所述待显示图像指定位置的像素点数据位宽进行调整,将位宽调整后的像素点数据按照DDR要求的组包位宽组成数据包并写入指定FIFO的。
5.如权利要求1或2所述的方法,其特征在于,对一路输入通道输入的一帧图像进行图像缩放处理得到待显示图像之前,所述方法还包括:
利用可编程片上系统SOPC确定用于显示所述图像的所述指定窗口以及所述指定窗口的大小;
对一路输入通道输入的一帧图像进行图像缩放处理得到待显示图像,具体包括:
接收一路输入通道输入的一帧图像;
根据所述指定窗口的大小,对所述图像进行图像缩放处理得到待显示图像。
6.一种数字视频信号处理装置,其特征在于,所述装置包括:
缩放模块,用于对一路输入通道输入的一帧图像进行图像缩放处理得到待显示图像;
覆盖判断模块,用于根据每个窗口在显示屏中的坐标范围,确定用于显示所述待显示图像的指定窗口中是否有被其他窗口覆盖的区域,所述指定窗口中的一个显示点用于显示一个像素点,且所述待显示图像中的每个像素点与所述指定窗口中每个显示点一一对应;
输出模块,用于若覆盖判断模块确定该指定窗口中有被其他窗口覆盖的区域,向该指定窗口中非该区域的每个显示点输出对应的所述待显示图像中的像素点。
7.如权利要求6所述的装置,其特征在于,覆盖判断模块,具体用于确定所述指定窗口所在的显示屏中,该显示屏中每个窗口的显示优先级,其中,设定在显示屏上显示窗口时,显示优先级低的窗口不可以覆盖显示优先级高的窗口;确定所述指定窗口包含的每个显示点的坐标,是否属于在所述指定窗口所在的显示屏中,显示优先级高于该指定窗口的窗口的坐标范围;在确定所述指定窗口包含的一个显示点的坐标属于所述坐标范围时,确定该指定窗口中,该显示点所在区域被其他窗口覆盖。
8.如权利要求6或7所述的装置,其特征在于,所述装置还包括写回模块:
所述写回模块,用于将所述待显示图像指定位置的像素点数据写入双倍速率同步动态随机存储器DDR,所述指定位置是所述指定窗口未被其他窗口覆盖区域中的每个显示点对应的在所述待显示图像中的位置;
所述输出模块,具体用于根据显示分辨率要求产生视频时序,根据该时序从所述DDR中读取像素点数据并输出在所述指定窗口中没有被其他窗口覆盖的区域。
9.如权利要求8所述的装置,其特征在于,所述写回模块,具体用于轮询先入先出队列FIFO,在指定FIFO非空时,从指定FIFO中读取数据包,写入所述DDR,并在将指定FIFO中的数据包写入DDR后,继续轮询FIFO,所述数据包是按照DDR要求的像素点位宽对所述待显示图像指定位置的像素点数据位宽进行调整,将位宽调整后的像素点数据按照DDR要求的组包位宽组成数据包并写入指定FIFO的。
10.如权利要求6或7所述的装置,其特征在于,所述装置还包括参数确定模块:
所述参数确定模块,用于利用可编程片上系统SOPC确定用于显示所述图像的所述指定窗口以及所述指定窗口的大小;
所述缩放模块,具体用于接收一路输入通道输入的一帧图像,根据所述指定窗口的大小,对所述图像进行图像缩放处理得到待显示图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210266747.2A CN103581505B (zh) | 2012-07-30 | 2012-07-30 | 一种数字视频信号处理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210266747.2A CN103581505B (zh) | 2012-07-30 | 2012-07-30 | 一种数字视频信号处理装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103581505A true CN103581505A (zh) | 2014-02-12 |
CN103581505B CN103581505B (zh) | 2017-05-10 |
Family
ID=50052354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210266747.2A Active CN103581505B (zh) | 2012-07-30 | 2012-07-30 | 一种数字视频信号处理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103581505B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811659A (zh) * | 2014-12-26 | 2015-07-29 | 山东巨洋神州信息技术有限公司 | 基于光纤分布式显示系统的影像堆叠智能镂空方法 |
CN105516657A (zh) * | 2015-11-30 | 2016-04-20 | 浙江大华技术股份有限公司 | 对显示设备所显示内容进行操作的方法、装置和显示设备 |
CN106162138A (zh) * | 2016-07-18 | 2016-11-23 | 合肥盈川信息技术有限公司 | 一种新型三维坐标系视频拼接数据分配系统 |
CN106303583A (zh) * | 2016-08-19 | 2017-01-04 | 浙江宇视科技有限公司 | 基于图像动态缩放的图像数据传输带宽分配方法及装置 |
CN111212261A (zh) * | 2018-11-22 | 2020-05-29 | 浙江宇视科技有限公司 | 场景切换方法及装置 |
CN112511896A (zh) * | 2020-11-05 | 2021-03-16 | 浙江大华技术股份有限公司 | 一种视频渲染方法及装置 |
CN113205573A (zh) * | 2021-04-23 | 2021-08-03 | 杭州海康威视数字技术股份有限公司 | 一种图像显示方法、装置、图像处理设备及存储介质 |
CN114125328A (zh) * | 2021-11-24 | 2022-03-01 | 康佳集团股份有限公司 | 一种多源输入的多屏幕拼接系统、方法及显示装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038737A (zh) * | 2006-03-15 | 2007-09-19 | 深圳迈瑞生物医疗电子股份有限公司 | 多屏合成显示装置及方法 |
CN101198067A (zh) * | 2006-12-07 | 2008-06-11 | 中兴通讯股份有限公司 | 多画面视频显示处理方法 |
CN101673534A (zh) * | 2009-09-28 | 2010-03-17 | 广东威创视讯科技股份有限公司 | 多屏显示方法及多屏显示装置 |
WO2011139783A2 (en) * | 2010-04-29 | 2011-11-10 | Microsoft Corporation | Zoom display navigation |
-
2012
- 2012-07-30 CN CN201210266747.2A patent/CN103581505B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038737A (zh) * | 2006-03-15 | 2007-09-19 | 深圳迈瑞生物医疗电子股份有限公司 | 多屏合成显示装置及方法 |
CN101198067A (zh) * | 2006-12-07 | 2008-06-11 | 中兴通讯股份有限公司 | 多画面视频显示处理方法 |
CN101673534A (zh) * | 2009-09-28 | 2010-03-17 | 广东威创视讯科技股份有限公司 | 多屏显示方法及多屏显示装置 |
WO2011139783A2 (en) * | 2010-04-29 | 2011-11-10 | Microsoft Corporation | Zoom display navigation |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811659A (zh) * | 2014-12-26 | 2015-07-29 | 山东巨洋神州信息技术有限公司 | 基于光纤分布式显示系统的影像堆叠智能镂空方法 |
CN109120898A (zh) * | 2014-12-26 | 2019-01-01 | 山东巨洋神州科技发展有限公司 | 基于光纤分布式显示系统的影像堆叠智能镂空方法 |
CN105516657B (zh) * | 2015-11-30 | 2019-03-26 | 浙江大华技术股份有限公司 | 对显示设备所显示内容进行操作的方法、装置和显示设备 |
CN105516657A (zh) * | 2015-11-30 | 2016-04-20 | 浙江大华技术股份有限公司 | 对显示设备所显示内容进行操作的方法、装置和显示设备 |
CN106162138A (zh) * | 2016-07-18 | 2016-11-23 | 合肥盈川信息技术有限公司 | 一种新型三维坐标系视频拼接数据分配系统 |
CN106303583A (zh) * | 2016-08-19 | 2017-01-04 | 浙江宇视科技有限公司 | 基于图像动态缩放的图像数据传输带宽分配方法及装置 |
CN106303583B (zh) * | 2016-08-19 | 2019-02-15 | 浙江宇视科技有限公司 | 基于图像动态缩放的图像数据传输带宽分配方法及装置 |
CN111212261A (zh) * | 2018-11-22 | 2020-05-29 | 浙江宇视科技有限公司 | 场景切换方法及装置 |
CN111212261B (zh) * | 2018-11-22 | 2021-07-20 | 浙江宇视科技有限公司 | 场景切换方法及装置 |
CN112511896A (zh) * | 2020-11-05 | 2021-03-16 | 浙江大华技术股份有限公司 | 一种视频渲染方法及装置 |
CN113205573A (zh) * | 2021-04-23 | 2021-08-03 | 杭州海康威视数字技术股份有限公司 | 一种图像显示方法、装置、图像处理设备及存储介质 |
CN113205573B (zh) * | 2021-04-23 | 2023-03-07 | 杭州海康威视数字技术股份有限公司 | 一种图像显示方法、装置、图像处理设备及存储介质 |
CN114125328A (zh) * | 2021-11-24 | 2022-03-01 | 康佳集团股份有限公司 | 一种多源输入的多屏幕拼接系统、方法及显示装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103581505B (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103581505A (zh) | 一种数字视频信号处理装置及方法 | |
CN102495712B (zh) | 一种基于多个显示终端的地图拼接显示方法 | |
CN103021378B (zh) | 一种多屏拼接显示装置和方法 | |
CN109032494B (zh) | 智能交互系统、书写轨迹显示方法、装置、平板及介质 | |
CN103268628B (zh) | 虚拟表面渲染 | |
CN103618869B (zh) | 多画面视频拼接方法及装置 | |
CN102611869A (zh) | 一种面向输出的多屏拼接系统网络传输技术 | |
CN106846495A (zh) | 实现增强现实的方法与装置 | |
CN103841432A (zh) | 一种复合视频数据的传输方法和设备 | |
CN108616717A (zh) | 一种实时全景视频拼接显示装置及其方法 | |
CN111858827B (zh) | 一种地图点位抽稀展示方法、装置及计算机设备 | |
CN104238984A (zh) | 一种多机并行同步输出图像的方法及系统 | |
CN106101712B (zh) | 一种视频流数据的处理方法及装置 | |
CN112367537A (zh) | 一种基于zynq的视频采集-拼接-显示系统 | |
CN101026716A (zh) | 一种高分辨率拼接电视幕墙的组成方法 | |
CN103513947A (zh) | 信息处理的方法及信息处理系统 | |
WO2024061088A1 (zh) | 显示方法、装置、电子设备以及存储介质 | |
CN104182193B (zh) | 一种高清大屏幕显示方法、系统及大屏工作站 | |
CN102802016B (zh) | 一种ccd信号模拟器及模拟方法 | |
WO2024022179A1 (zh) | 媒体内容的显示方法、装置、电子设备和存储介质 | |
CN102087465B (zh) | 一种真三维仿真区域的直接赋值显示方法 | |
WO2021244651A1 (zh) | 信息显示方法、装置、终端及存储介质 | |
CN204291192U (zh) | 一种多屏拼接处理器 | |
CN114356264A (zh) | 一种信号生成方法、装置、设备及可读存储介质 | |
CN103198808A (zh) | 液晶拼接墙幕显示控制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |