一种视频数据预畸变处理方法、装置及头戴显示器的制造方法
【技术领域】
[0001]本发明涉及视频数据处理技术领域,具体涉及一种视频数据预畸变处理方法、装置及头戴显示器。
【背景技术】
[0002]视频数据在输出显示时有时会发生数据变形即畸变,畸变严重影响了视频观看者的感受,降低了用户体验,因此需要对原始视频数据进行预畸变处理。一种预畸变处理方式是采用Map表(即Map查找表)方式对视频数据进行预畸变处理,但是现有的Map表在存储每帧视频数据的像素点时,是将所有的像素的畸变前后的坐标都进行存储,也就是说每一个Map数据包含像素点输出坐标和输入坐标,每一个像素点就需要SByte来存储,而视频数据通常都包含大量像素点,每个像素点占用SByte的话,整个Map表的存储所需空间就会非常大,占用较多的内存读写带宽,影响对视频数据预畸变处理的速度。
【发明内容】
[0003]本发明提供了一种视频数据预畸变处理方法、装置及头戴显示器以解决现有技术中Map表所需存储空间大,占用较多的内存读写带宽,影响对视频数据预畸变处理的速度的问题。
[0004]为达到上述目的,本发明的技术方案是这样实现的:
[0005]根据本发明的一个方面,提供了一种视频数据预畸变处理方法,该方法包括:
[0006]读取对视频数据进行预畸变处理的原始Map表,该原始Map表中存储每个视频帧中每一个像素点的输入坐标和输出坐标;
[0007]确定预畸变处理后视频帧中每一行的定位像素点,以及该定位像素点与同一行的其他像素点的相对位置关系;
[0008]根据原始Map表,获取预畸变处理后视频帧的每行像素点的数目、定位像素点的输入坐标、输出坐标,以及预畸变处理后每行像素点与该行的定位像素点的相对输入坐标,得到压缩后的Map表;
[0009]利用压缩后的Map表对接收到的视频数据进行预畸变处理。
[0010]可选地,确定预畸变处理后视频帧中每一行的定位像素点,以及该定位像素点与同一行的其他像素点的相对位置关系包括:
[0011]将预畸变处理后视频帧中每一行中行首的像素点或行尾的像素点确定为定位像素点。
[0012]可选地,当定位像素点为行首的像素点时,设置相对位置关系为同一行的其他像素点的输出坐标与定位像素点输出坐标的行坐标相同,列坐标递增。
[0013]当定位像素点为行尾的像素点时,设置相对位置关系为同一行的其他像素点的输出坐标与定位像素点输出坐标的行坐标相同,列坐标递减。
[0014]可选地,确定预畸变处理后视频帧中每一行的定位像素点包括:
[0015]将预畸变处理后每一行的输出坐标中列坐标值最小的像素点确定为定位像素点。
[0016]可选地,获取预畸变处理后每行像素点与该行的定位像素点的相对输入坐标包括:
[0017]在原始Map表中获取每行的其他像素点的输入坐标与该行的定位像素点的输入坐标的差值,根据该差值确定预畸变处理后每行像素点与该行的定位像素点的相对输入坐标。
[0018]可选地,定位像素点的输出坐标为定位像素点在原始Map表中的输出坐标;
[0019]定位像素点的输入坐标为在原始Map表中该定位像素点的输出坐标对应的输入坐标。
[0020]可选地,利用压缩后的Map表对接收到的视频数据进行预畸变处理包括:
[0021]通过现场可编程门阵列FPGA利用压缩后的Map表对接收到的视频数据进行预畸变处理。
[0022]与上述视频数据预畸变处理方法相对应的,本发明还提供了一种视频数据预畸变处理装置,该装置包括:
[0023]原始Map表单元,用于存储对视频数据进行预畸变处理的每个视频帧中每一个像素点的输入坐标和输出坐标;
[0024]定位像素点确定单元,用于确定预畸变处理后视频帧中每一行的定位像素点,以及该定位像素点与同一行的其他像素点的相对位置关系;
[0025]压缩Map表获得单元,用于根据原始Map表,获取预畸变处理后视频帧的每行像素点的数目、定位像素点的输入坐标、输出坐标,以及预畸变处理后每行像素点与该行的定位像素点的相对输入坐标,得到压缩后的Map表;
[0026]预畸变处理单元,用于利用压缩后的Map表对接收到的视频数据进行预畸变处理。
[0027]可选地,压缩Map表获得单元,具体用于将预畸变处理后视频帧中每一行中行首的像素点或行尾的像素点确定为定位像素点。
[0028]此外,本发明还提供了一种头戴式显示器,该头戴式显示器包括:如上所述的视频数据预畸变处理装置。
[0029]本发明的有益效果是:本发明根据原始Map表中的畸变前后视频数据之间的关系,在预畸变处理后的视频数据每行中选取一个定位像素点,确定该定位像素点的输出坐标和输入坐标,利用每行的其他像素点与该行的定位像素点的相对关系,可以计算得到该行的其他像素点的输出坐标,因而每行只需要存储一个定位像素点的输出坐标预畸变处理后的像素点数目;在确定了定位像素点的输入坐标后,同一行的其他像素点的输入坐标可以通过定位像素点的输入坐标以及同一行的其他像素点与该定位像素点的相对输入坐标的计算得到,即对输入坐标而言,只需要存储定位像素点的输入坐标以及其他像素点的相对输入坐标,由此实现了对庞大的Map表的压缩,减少了 Map表所需的存储空间,降低了内存读取带宽,再利用压缩后的Map表进行预畸变处理,明显提高了视频数据预畸变处理的速度。
【附图说明】
[0030]图1是本发明一个实施例的一种视频数据预畸变处理方法流程示意图;
[0031]图2是本发明一个实施例的一种压缩后的Map表的存储结构不意图;
[0032]图3是本发明一个实施例的一种视频数据预畸变处理装置框图;
[0033]图4是本发明一个实施例的一种头戴式显示器的框图。
【具体实施方式】
[0034]本发明的核心思想是:针对现有技术中视频数据预畸变处理时Map表存储的数据量大,占用较多内存带宽,降低预畸变处理速度的问题,提供一种相对数据存储方式对原Map表进行压缩,使得视频畸变处理后的像素点都可以通过定位像素点坐标的输入坐标、输出坐标以及同行的其他像素点与该定位像素点相对输入坐标这些参数来表示,节省了 Map表的存储空间,减少了 Map表存储的数据量,再利用本发明的这种压缩后的Map表进行预畸变处理时,大大提高了预畸变处理的速度和效率。
[0035]图1是本发明一个实施例的一种视频数据预畸变处理方法流程示意图,参见图1,在本发明的一个实施例中,该视频数据预畸变处理方法包括:
[0036]步骤SI 10,读取对视频数据进行预畸变处理的原始Map表,该原始Map表中存储每个视频帧中每一个像素点的输入坐标和输出坐标;
[0037]步骤S120,确定预畸变处理后视频帧中每一行的定位像素点,以及该定位像素点与同一行的其他像素点的相对位置关系;
[0038]步骤S130,根据原始Map表,获取预畸变处理后视频帧的每行像素点的数目、定位像素点的输入坐标、输出坐标,以及预畸变处理后每行像素点与该行的定位像素点的相对输入坐标,得到压缩后的Map表;
[0039]步骤S140,利用压缩后的Map表对接收到的视频数据进行预畸变处理。
[0040]经过图1所示的步骤后,原本采用绝对数据存储的Map表经压缩后,数据量大大减少,这样也减少了 Map表占用的内存带宽以及存储空间。与采用现有的庞大的Map表进行预畸变处理相比,采用本发明一个实施例提供的方法获得的压缩后的Map表对接收到的视频数据预畸变处理,显著提高了数据处理的速度和效率。
[0041]在本发明的一个实施例中,步骤S120,包括:将预畸变处理后视频帧中每一行中行首的像素点或行尾的像素点确定为定位像素点。
[0042]具体地,当定位像素点为行首的像素点时,设置相对位置关系为同一行的其他像素点的输出坐标与定位像素点输出坐标的行坐标相同,列坐标递增。
[0043]当定位像素点为行尾的像素点时,设置相对位置关系为同一行的其他像素点的输出坐标与定位像素点输出坐标的行坐标相同,列坐标递减。
[0044]在本发明的另一个实施例中,步骤S120,包括:将预畸变处理后每一行的输出坐标中列坐标值最小的像素点确定为定位像素点。定位像素点的输出坐标为定位像素点在原始Map表中的输出坐标;定位像素点的输入坐标为在原始Map表中该定位像素点的输出坐标对应的输入坐标。所谓输入坐标指的是该像素点在一帧原始视频图像中的第几行第几列。输出坐标是指该像素点在输出屏幕的第几行第几列。Map表中存储每一个像素点的输出坐标与输出坐标的对应关系。
[0045]本实施例中,具体通过现场可编程门阵列FPGA利用压缩后的Map表对接收到的视频数据进行预畸变处理。现场可编程门阵列FPGA(Field — Programmable Gate Array)是专用集成电路(ASIC)领域中的一种半定制电路,FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了 FPGA所能实现的功能,FPGA允许无限次的编程。基于FPGA内部资源的限制,如果采用数据量非常大的Map表对视频数据进行预畸变处理,处理速度非常慢,因此,若对现有技术中的Map表进行压缩,采用相对数据存储方式,减少Map表的数据量以及占用的内存带宽等资源,能明显提高FPGA对视频数据预畸变处理的速度和效率。
[0046]由于视频图像在输出显示过程中可能会发生几何畸变,畸变的存在导致原始视频数据中每帧的每一行的像素点在畸变前后位置可能不同,一种预畸变处理方式是查找Map表中保存的像素点的输入坐标以及输出坐标来确定预畸变处理后的输出坐标以及输出坐标对应的具体值。为了提高预畸变处理的效率,Map表的中存储的数据在保证准确表示畸变前后关系的前提下越少越好,因此本发明提供了一种利用相对数据存储方式来对Map表进行压缩并利用压缩后的Map表进行视频数据预畸变处理的方法。
[0047]在本发明的一个实施例中,以对视频数据按行来处理进行说明。图2是本发明
一个实施例的一种压缩后的Map表存储结构示意图,参见图2,在压缩后的Map表中只需要存储预畸变处理后的每一行像素点的数目LineNum(由于视频数据发生了畸变,所以畸变后每一行的像素点数目可能不同),从原始Map表中获取的定位像素点的输出坐标(Y。,X。)、输入坐标(Y1-base,Xi base),每行的像素点与该行的定位像素点的相对输入坐标(AYi,AXi) ο
[0048]由于视频数据按行来处理,所以只要先确定了每一行的一个定位像素点的输出坐标(Y。,X。),那么该行上的其他像素点的输出坐标之间就可以根据相对位置关系来确定出来,这种相对位置关系和选取的每行的定位像素点有关,例如,选取预畸变处理后每行的行首的像素点作为定位像素点,由于行首的像素点的输出坐标的列坐标值最小,那么其他像素点的输出坐标就可以根据与定位像素点的输出坐标远近逐一递增。此外,递增的最大值则根据获取的预畸变处理后每行的像素点数目来定。例如,预畸变处理后选取某一行行首的像素点作为定位像素点,该定位像素点的输出坐标(Y。,X0)为(17,15),与该定位像素点同一行的第二个像素点的输出坐标的值即为(17,16),同样的,该行的其他像素点的输出坐标也可通过这种方式确定出来。
[0049]对于输入坐标,在获取了定位像素点的输入坐标之后,可以根据原始Map表中,同一行的其他像素点的输入坐标与该定位像素点的输入坐标之间的差值确定的相对输入坐标计算得到其他像素点的输入坐标,例如,在原始Map表中获取到输出坐标为(17,15)的定位像素点对应的输入坐标为(5,6),同行的第二个像素点(17,16)与该定位像素点的相对输入坐标为(2,3),则同行的第二个像素点的输入坐标可以根据定位像素点对应的输入坐标(5,6)以及相对输入坐标为(2,3)确定出来。同样的,同行的每一像素点的输入坐标都可以通过这种方式计算得到。
[0050]参见图2,在压缩后的Map表中,一个Map数据只需要存储预畸变处理后的每一行像素点的数目LineNum--占lByte,定位像素点的输出坐标(Y。,X0)--占4Byte、输入坐标(Y1-base’Xi base)一一占4Byte,每行的像素点与该行的定位像素点的相对输入坐标(Λ Yi, Λ Xi)——占2Byte这样计算下来与原始Map表中存储每一行的所有像素点的数据量相比大大减少,节省了 Map表所需的存储空间。
[0051]需要说明的是,上述实施例是以对视频数据以行方式进行处理进行描述的,可以理解,在其他实施例中,本领域技术人员还可以按照视频数据每一列来对视频数据进行预畸变处理,这种情况下需要选取每一列的定位像素点输出坐标和输入坐标,以及同一列的其他像素点与该像素点的相对位置关系,以及相对输入坐标参数。但是实现原理与上述以行方式进行预畸变处理相同,在此不再赘述。
[0052]与上述视频数据预畸变处理方法相对应的,本发明还提供了一种视频数据预畸变处理装置,图3是本发明一个实施例的一种视频数据预畸变处理装置框图,参见图3,该视频数据预畸变处理装置300包括:
[0053]原始Map表单元310,用于存储对视频数据进行预畸变处理的每个视频帧中每一个像素点的输入坐标和输出坐标;
[0054]定位像素点确定单元320,用于确定预畸变处理后视频帧中每一行的定位像素点,以及该定位像素点与同一行的其他像素点的相对位置关系;
[0055]压缩Map表获得单元330,用于根据原始Map表,获取预畸变处理后视频帧的每行像素点的数目、定位像素点的输入坐标、输出坐标,以及预畸变处理后每行像素点与该行的定位像素点的相对输入坐标,得到压缩后的Map表;
[0056]预畸变处理单元340,用于利用压缩后的Map表对接收到的视频数据进行预畸变处理。
[0057]在本发明的一个实施例中,压缩Map表获得单元330,具体用于将预畸变处理后视频帧中每一行中行首的像素点或行尾的像素点确定为定位像素点。
[0058]需要说明的是,本发明一个实施例的视频数据预畸变处理装置300是和前述的视频数据预畸变处理方法相对应的,因而视频数据预畸变处理装置的工作过程可以参见前述视频数据预畸变处理方法部分的具体说明,此处不再赘述。
[0059]另外,本发明还提供一种头戴式显示器,图4是本发明一个实施例的一种头戴式显示器的框图,参见图4,该头戴式显示器400包括:视频数据预畸变处理装置300。由于本发明的这种头戴式显示器包括了本发明提供的视频数据预畸变处理装置,减少了预畸变处理时所需存储空间,降低了头戴显示器的成本及功耗,优化用户使用体验。
[0060]综上所述,本发明的这种视频数据预畸变处理方法和装置通过在预畸变处理后的视频数据每行中选取一个定位像素点,确定该定位像素点的输出坐标和输入坐标,利用每行的其他像素点与该行的定位像素点的相对关系,计算得到该行的其他像素点的输出坐标,因而每行只需要存储一个定位像素点的输出坐标以及预畸变处理后的像素点数目;在确定了定位像素点的输入坐标后,同一行的其他像素点的输入坐标可以通过定位像素点的输入坐标以及同一行的其他像素点的相对输入坐标的计算得到,即对输入坐标而言,只需要存储定位像素点的输入坐标以及其他像素点与该定位像素点的相对输入坐标,由此实现了对庞大的Map表的压缩,减少了 Map表所需的存储空间,降低了内存读取带宽,再利用压缩后的Map表进行预畸变处理,显著提高了视频数据预畸变处理的速度。此外,本发明还提供了一种集成上述视频数据预畸变处理装置的头戴式显示器,该头戴式显示器也具有减少处理的数据量以及所需存储空间,降低了内存读取带宽、成本及功耗的优点。
[0061]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种视频数据预畸变处理方法,其特征在于,该方法包括: 读取对视频数据进行预畸变处理的原始Map表,该原始Map表中存储每个视频帧中每一个像素点的输入坐标和输出坐标; 确定预畸变处理后视频帧中每一行的定位像素点,以及该定位像素点与同一行的其他像素点的相对位置关系; 根据所述原始Map表,获取预畸变处理后视频帧的每行像素点的数目、定位像素点的输入坐标、输出坐标,以及预畸变处理后每行像素点与该行的定位像素点的相对输入坐标,得到压缩后的Map表; 利用压缩后的Map表对接收到的视频数据进行预畸变处理。2.如权利要求1所述的视频数据预畸变处理方法,其特征在于,所述确定预畸变处理后视频帧中每一行的定位像素点,以及该定位像素点与同一行的其他像素点的相对位置关系包括: 将预畸变处理后视频帧中每一行中行首的像素点或行尾的像素点确定为定位像素点。3.如权利要求2所述的视频数据预畸变处理方法,其特征在于, 当所述定位像素点为行首的像素点时,设置所述相对位置关系为同一行的其他像素点的输出坐标与定位像素点输出坐标的行坐标相同,列坐标递增。 当所述定位像素点为行尾的像素点时,设置所述相对位置关系为同一行的其他像素点的输出坐标与定位像素点输出坐标的行坐标相同,列坐标递减。4.如权利要求1所述的视频数据预畸变处理方法,其特征在于,所述确定预畸变处理后视频帧中每一行的定位像素点包括: 将预畸变处理后每一行的输出坐标中列坐标值最小的像素点确定为定位像素点。5.如权利要求1所述的视频数据预畸变处理方法,其特征在于,所述获取预畸变处理后每行像素点与该行的定位像素点的相对输入坐标包括: 在原始Map表中获取每行的其他像素点的输入坐标与该行的定位像素点的输入坐标的差值,根据该差值确定预畸变处理后每行像素点与该行的定位像素点的相对输入坐标。6.如权利要求1所述的方视频数据预畸变处理法,其特征在于,所述定位像素点的输出坐标为定位像素点在所述原始Map表中的输出坐标; 所述定位像素点的输入坐标为在原始Map表中该定位像素点的输出坐标对应的输入坐标。7.如权利要求1所述的视频数据预畸变处理方法,其特征在于,利用压缩后的Map表对接收到的视频数据进行预畸变处理包括: 通过现场可编程门阵列FPGA利用压缩后的Map表对接收到的视频数据进行预畸变处理。8.一种视频数据预畸变处理装置,其特征在于,该装置包括: 原始Map表单元,用于存储对视频数据进行预畸变处理的每个视频帧中每一个像素点的输入坐标和输出坐标; 定位像素点确定单元,用于确定预畸变处理后视频帧中每一行的定位像素点,以及该定位像素点与同一行的其他像素点的相对位置关系; 压缩Map表获得单元,用于根据所述原始Map表,获取预畸变处理后视频帧的每行像素点的数目、定位像素点的输入坐标、输出坐标,以及预畸变处理后每行像素点与该行的定位像素点的相对输入坐标,得到压缩后的Map表; 预畸变处理单元,用于利用压缩后的Map表对接收到的视频数据进行预畸变处理。9.如权利要求8所述的视频数据预畸变处理装置,其特征在于,所述压缩Map表获得单元,具体用于将预畸变处理后视频帧中每一行中行首的像素点或行尾的像素点确定为定位像素点。10.一种头戴式显示器,其特征在于,所述头戴式显示器包括:如权利要求8或9中所述的视频数据预畸变处理装置。
【专利摘要】本发明公开一种视频数据预畸变处理方法、装置和头戴显示器,该处理方法包括:读取对视频数据进行预畸变处理的原始Map表,该原始Map表中存储视频帧中每个像素点的输入坐标和输出坐标;确定预畸变处理后视频帧中每行的定位像素点,以及该定位像素点与同行的像素点的相对位置关系;根据原始Map表获取预畸变处理后视频帧的每行像素点的数目、定位像素点的输入坐标、输出坐标,以及预畸变处理后每行像素点与该行的定位像素点的相对输入坐标,得到压缩后的Map表;利用压缩后的Map表对接收到的视频数据进行预畸变处理。本发明的这种视频数据预畸变处理方法能够减少视频数据预畸变处理时的数据量和所需的存储空间,降低内存读取带宽。
【IPC分类】H04N5/208, H04N5/14
【公开号】CN104883477
【申请号】CN201510219227
【发明人】范传国, 马金波, 赵文慧, 王冲
【申请人】北京小鸟看看科技有限公司
【公开日】2015年9月2日
【申请日】2015年4月30日
转载请注明原文地址:https://www.famiwei.com/read-8136100.html