数据处理方法和装置、转换器与流程

文档序号:11154252阅读:406来源:国知局
数据处理方法和装置、转换器与制造工艺
本发明涉及数据处理领域,具体而言,涉及一种数据处理方法和装置、转换器。
背景技术
:HDMI到DP的转换器广泛应用于显卡和显示适配器中。目前支持HDMI1.4的显卡输出分辨率可达4K30Hz。HDMISource的一个突出特点是根据下游EDID的内容选择最佳即最大分辨率输出视频,当然输出视频的所需要的带宽不能超出HDMISource的最大输出带宽。作为HDMI到DP的转换器最大输出带宽并非静态的,而是取决于当前LinkTraining的结果,而这个结果又受DP发送器和接收器的带宽容量、链路信号质量以及链路长度的制约。例如,如果HDMI到DP转换器的带宽容量是5.4G4Lanes,DP到HDMI转换器的带宽容量是2.7G2Lanes,那么LinkTraining的最大带宽是2.7G2Lanes,即540MB/s,可以传输1920x1080p@60Hz,但不能传输3840x2160p@30Hz。如果HDMI到DP转换器的带宽容量是5.4G2Lanes,DPSink的带宽容量是1.62G4Lanes,那么LinkTraining的最大带宽是1.62G2Lanes,即324MB/s,可以传输1280x720p@60Hz,但不能传输1920x1080p@60Hz。如果HDMI到DP转换器的带宽容量是5.4G1Lane,DP到HDMI转换器的带宽容量是2.7G4Lanes,如果链路信号差致使LinkTraining的结果为1.62G1Lane,即162MB/s,那么可以传输640x480p@60Hz,但不能传输1280x720p@60Hz。如果HDMISource不知晓当前LinkTraining的状态,仍然输出显示器的最大分辨率,将会带来带宽超限问题。在上面例子中,如果显示器支持3840x2160p@30Hz并输出该分辨率,在显示器将会看到错乱的画面。针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种数据处理方法和装置、转换器,以至少解决现有技术中HDMI到DP的转换器带宽超限的技术问题。根据本发明实施例的一个方面,提供了一种数据处理方法,包括:根据EDID数据规范解析第一EDID数据,得到多个时序,其中,所述第一EDID数据为下游EDID数据,所述第一EDID数据暂存在本地EDID存储器中;获取所述多个时序中每个时序所需要的带宽;在第一时序所需要的带宽大于第一预设带宽的情况下,按照所述第一时序的数据结构做滤除操作,得到第二EDID数据,其中,所述第一时序为所述多个时序中任意一个时序;将所述第二EDID数据存储到所述本地EDID存储器中,以便HDMI源进行读取。进一步地,在所述第一时序所需要的带宽大于所述第一预设带宽的情况下,按照所述第一时序的数据结构做滤除操作包括:查询所述第一时序关联的像素频率;在所述第一时序关联的像素频率大于第一预设像素频率的情况下,按照所述第一时序的数据结构做相应的滤除操作,其中,所述第一预设像素频率是根据所述第一预设带宽计算得到的。进一步地,所述第一EDID数据包括第一字节序列,在所述第一时序关联的像素频率大于所述第一预设像素频率的情况下,按照所述第一时序的数据结构做相应的滤除操作包括:判断显示器是否支持位W(1,i)关联的时序,其中,位W(1,i)是所述第一字节序列中第i个位,i依次取1至N1,其中,N1是所述第一字节序列包含的位的数量;如果所述显示器支持所述位W(1,i)关联的时序T(1,i),则计算所述时序T(1,i)的像素频率P(1,i);判断所述像素频率P(1,i)是否大于所述第一预设像素频率;如果所述像素频率P(1,i)大于所述第一预设像素频率,将所述位W(1,i)清0。进一步地,所述第一EDID包括第二字节序列,所述第二字节序列中使用2个字节表示一个时序单元,在所述第一时序关联的像素频率大于所述第一预设像素频率的情况下,按照所述第一时序的数据结构做相应的滤除操作包括:判断时序单元U(2,i)是否为第一预设填充序列,其中,所述时序单元U(2,i)是所述第二字节序列中第i个时序单元,i依次取1至N2,其中,N2是所述第二字节序列包含的时序单元的数量;在所述时序单元U(2,i)不是所述第一预设填充序列的情况下,获取所述时序单元U(2,i)关联的像素频率P(2,i);判断所述像素频率P(2,i)是否大于所述第一预设像素频率;如果所述像素频率P(2,i)大于所述第一预设像素频率,将所述时序单元U(2,i)更改为所述第一预设填充序列。进一步地,所述第一EDID包括第三字节序列,所述第三字节序列中18个字节表示一个时序单元,在所述第一时序关联的像素频率大于所述第一预设像素频率的情况下,按照所述第一时序的数据结构做相应的滤除操作包括:根据时序单元U(3,i)的时序标志位判断所述时序单元U(3,i)是否为时序描述,其中,所述时序单元U(3,i)是所述第三字节序列中第i个时序单元,i依次取1至N3,其中,N3是所述第三字节序列包含的时序单元的数量;在所述时序单元U(3,i)为时序描述的情况下,获取所述时序单元U(3,i)声明的像素频率P(3,i);判断所述像素频率P(3,i)乘以第一预设数值得到的结果是否大于所述第一预设像素频率;如果所述像素频率P(3,i)乘以所述第一预设数值得到的结果大于所述第一预设像素频率,将所述时序单元U(3,i)更改为预设空描述序列;将时序单元U(3,k)作为最佳分辨率,其中,所述时序单元U(3,k)是所述第三字节序列包含的多个时序单元中第一个非预设空描述序列。进一步地,所述第一EDID包括第四字节序列,所述第四字节序列中包括多个时序单元,在所述第一时序关联的像素频率大于所述第一预设像素频率的情况下,按照所述第一时序的数据结构做相应的滤除操作包括:判断是否存在预设标识;如果存在所述预设标识,判断时序单元U(4,i)是否为预设编码,其中,所述时序单元U(4,i)是所述第四字节序列中第i个时序单元,i依次取1至N4,其中,N4是所述第四字节序列包含的时序单元的数量;在所述时序单元U(4,i)不是所述预设编码的情况下,判断所述时序单元U(4,i)关联的像素频率是否大于所述第一预设像素频率;如果所述时序单元U(4,i)关联的像素频率大于所述第一预设像素频率,将所述时序单元U(4,i)更改为所述第二预设填充序列。进一步地,所述第一EDID包括第五字节序列,所述第五字节序列中包括多个时序单元,在所述第一时序所需要的带宽大于所述第一预设带宽的情况下,按照所述第一时序的数据结构做滤除操作包括:判断是否为VideoDataBlock时序描述;如果判断出是所述VideoDataBlock时序描述,判断时序单元U(5,i)关联的VIC的数值是否在第一预设数值区间内,其中,所述时序单元U(5,i)是所述第五字节序列中第i个时序单元,i依次取1至N5,其中,N5是所述第五字节序列包含的时序单元的数量;如果所述时序单元U(5,i)关联的VIC的数值在所述第一预设数值区间内,判断所述时序单元U(5,i)关联的像素频率是否大于所述第一预设像素频率;如果所述时序单元U(5,i)关联的像素频率大于所述第一预设像素频率,将所述时序单元U(5,i)清0。进一步地,所述第一EDID包括第六字节序列,在所述第一时序关联的像素频率大于所述第一预设像素频率的情况下,按照所述第一时序的数据结构做相应的滤除操作包括:判断是否为HDMIVendorSpecificDataBlock时序描述;如果判断出是所述HDMIVendorSpecificDataBlock时序描述,判断是否存在HDMI_VIC时序描述;如果存在所述HDMI_VIC时序描述,判断第i个HDMI_VIC时序描述的值是否在第二预设数值区间内,其中,i依次取1至N6,N6为所述第六字节序列中HDMI_VIC时序描述的数量;如果所述第i个HDMI_VIC时序描述的值在所述第二预设数值区间内,判断所述第i个HDMI_VIC时序描述关联的像素频率是否大于所述第一预设像素频率;在所述第i个HDMI_VIC时序描述关联的像素频率大于所述第一预设像素频率的情况下,将所述第i个HDMI_VIC时序描述清0。根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:解析单元,用于根据EDID数据规范解析第一EDID数据,得到多个时序,其中,所述第一EDID数据为下游EDID数据,所述第一EDID数据暂存在本地EDID存储器中;获取单元,用于获取所述多个时序中每个时序所需要的带宽;滤除单元,用于在第一时序所需要的带宽大于第一预设带宽的情况下,按照所述第一时序的数据结构做滤除操作,得到第二EDID数据,其中,所述第一时序为所述多个时序中任意一个时序;存储单元,用于将所述第二EDID数据存储到所述本地EDID存储器中,以便HDMI源进行读取。根据本发明实施例的另一方面,还提供了一种转换器,包括:包括HDMI接收器、DP发送器、本地EDID存储器、处理器,其特征在于,所述处理器包括EDID过滤器,所述EDID过滤器包括上述数据处理装置。在本发明实施例中,读取下游EDID数据并暂存于本地EDID中,根据EDID的数据规范逐一解析其中列出的时序,并通过查表方法获取时序所需要的带宽,当发现某一时序超出给定的带宽时,按照该时序的数据结构做相应的滤除操作,由于超出给定带宽的时序都已经被滤除,因此,解决了分辨率大而带宽小所导致的带宽限制的问题,达到了将HDMI到DP的转换器需要的带宽限制在一定范围内的技术效果,进而解决了现有技术中HDMI到DP的转换器带宽超限的技术问题。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的一种数据处理方法的流程图;图2是根据本发明实施例的具有EDID过滤器的HDMI到DP的转换器的系统方框图;图3是根据本发明实施例的另一种数据处理方法的流程图;图4是根据本发明实施例的EDID过滤器的18字节时序描述滤除流程图;图5是根据本发明实施例的EDID过滤器的CEADataBlockCollection中的时序描述滤除流程图;图6是根据本发明实施例的数据处理装置的示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。根据本发明实施例,提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本发明实施例的一种数据处理方法的流程图。本方法应用于HDMI到DP(DisplayPort)的转换器(Converter)中。如图1所示,该方法包括如下步骤:步骤S102,根据EDID数据规范解析第一EDID数据,得到多个时序,其中,第一EDID数据为下游EDID数据,第一EDID数据暂存在本地EDID存储器中。步骤S104,获取多个时序中每个时序所需要的带宽。步骤S106,在第一时序所需要的带宽大于第一预设带宽的情况下,按照第一时序的数据结构做滤除操作,得到第二EDID数据,其中,第一时序为多个时序中任意一个时序。步骤S108,将第二EDID数据存储到本地EDID存储器中,以便HDMI源进行读取。在本发明实施例中,读取下游EDID数据并暂存于本地EDID中,根据EDID的数据规范逐一解析其中列出的时序,并通过查表方法获取时序所需要的带宽,当发现某一时序超出给定的带宽时,按照该时序的数据结构做相应的滤除操作,由于超出给定带宽的时序都已经被滤除,因此,解决了分辨率大而带宽小所导致的带宽限制的问题,解决了现有技术中HDMI到DP的转换器带宽超限的技术问题,达到了将HDMI到DP的转换器需要的带宽限制在一定范围内的技术效果。可选地,在第一时序所需要的带宽大于第一预设带宽的情况下,按照第一时序的数据结构做滤除操作包括:查询第一时序关联的像素频率;在第一时序关联的像素频率大于第一预设像素频率的情况下,按照第一时序的数据结构做相应的滤除操作,其中,第一预设像素频率是根据第一预设带宽计算得到的。在本发明实施例中,采用像素频率作为中间参数(衡量值)并与最大带宽归一化的像素频率比较,根据比较结果对EDID进行时序滤除。第一预设带宽由LinkTraining的结果即BandWidth与LaneCount的乘积给出。第一预设像素频率即为下文中提到的最大允许像素频率。本发明公开了一种根据当前MainLink的数据传输带宽从SinkEDID数据中滤除超过此带宽的显示时序(Timing)数据的方法。本发明旨在解决HDMI到DP转换器所面临的带宽超限问题,包括读取下游EDID并暂存在本地EDID存储器中,按照EDID规范及给定最大带宽逐一滤除超出带宽的时序格式,确定最佳分辨率,存储修改后的EDID到本地EDID存储器中。图2是HDMI到DP转换器的典型原理方框图,其中包括一个HDMISource,通常为GPU(GraphicProcessingUnit),用于输出HDMI视频信号;一个HDMI到DP转换器,用于接受HDMI信号并转换成DP信号输出;转换器的输出口可接入DP到VGA的转换器并通过VGA接插线接入VGA显示器,或具有DP输入的显示器,或DP到HDMI的转换器并通过HDMI接插线接入HDMI显示器。其中HDMI到DP转换器由四部分组成:HDMI接收器,DP发送器,处理器和本地EDID存储器。当接受到下游发送的HPD信号为高时,处理器控制DP发送器读取下游的EDID并存储在本地EDID存储器中。处理器调用EDID过滤器模块对EDID进行相应处理。当处理结束时,便发送HPD信号给HDMISource。HDMISource收到HPD信号为高便通过DDC从转换器的本地EDID存储器读取EDID,并根据此EDID输出HDMI视频。本发明主要完成处理器中EDID过滤算法模块的设计与实现。由于EDID中所列出的所有时序格式具有特定性和有限性,其像素频率(PixelClock)也具有相应的属性,为便于与给定的最大带宽比较,将时序和带宽都归一化为像素频率,单位为MHz。先看视频分辨率和时序的像素频率归一化。通常一个时序用Hactive,Vactive和刷新频率(单位Hz)三个参数来表示,记为“HactivexVactive@刷新频率(单位Hz)”,例如1920x1080@60Hz。时序的像素频率定义为Htotal与Vtotal的乘积,再乘以刷新频率,例如时序1920x1080@60Hz,其Htotal为2200,Vtotal为1125,刷新频率为60Hz,则像素频率为2200x1125x60=148.5MHz。再看带宽的像素频率归一化。按照DPv1.2a,带宽有1.62G,2.7G和5.4G三种,LaneCount有1,2和4三种,总的最大带宽由LinkTraining的带宽与LaneCount的乘积给出。而对于给定的某一时序其所需要的带宽又由时序的像素频率及显示图像像素的色彩空间(ColorSpace)和色彩深度(ColorDepth)共同决定。对于色彩空间有RGB,YCbCr4:4:4和YCbCr4:2:2三种,对于色彩深度(ColorDepth)有6位,8位,10位,12位和16位五种。事实上在EDID未准备好之前转换器是不能向HDMISource发送HPD高信号的,转换器也就无法确定视频的色彩空间和色彩深度属性。对于这种问题,在EDID过滤算法中只好做假设处理。如果EDID中声称支持YCbCr4:2:2,色彩空间假设为YCbCr4:2:2,否则为RGB。如果EDID过滤算法支持色彩深度从8位到6位的转换,则色彩深度假设为6位,否则色彩深度假设为8位。另外还要考虑链路时钟(LinkClock)的变化以及SSC的引入对带宽的影响,按经验取0.6%的裕量。式1给出了带宽的像素归一化公式。MaxPixelClock=BandWidth×LaneCount÷10×8×(1-BandWidthMargin)÷BPP式1式1中,BandWidthMargin取0.6%,BPP(BitsPerPixel)为24当色彩空间为RGB或YCbCr4:4:4且色彩深度为8,为16当色彩空间为YCbCr4:2:2且色彩深度为8,为18当色彩空间为RGB或YCbCr4:4:4且色彩深度为6。使用式1即可计算出最大允许像素频率(第一预设像素频率)。图3是根据本发明实施例的另一种数据处理方法的流程图。如图3所示,该方法包括如下步骤:步骤S302,读取显示器的EDID。即,读取第一EDID数据。步骤S304,过滤EDID块0中的EstablishedTimingsI&II。步骤S306,过滤EDID块0中的StandardTimings。步骤S308,过滤EDID块0中的DetailedTimingDescriptors。步骤S310,过滤EDIDCEA扩展块中的DetailedTimingDescriptors。步骤S312,从剩余DetailedTimingDescriptors中选择最佳分辨率。步骤S314,过滤扩展块中的CEADataBlockCollection。步骤S316,生成所有EDID块的校验和。在本发明实施例中,读取下游EDID数据并暂存于本地EDID中,根据EDID的数据规范逐一解析其中列出的时序,并通过查表方法获取时序所需要的带宽,当发现某一时序超出给定的带宽时,按照该时序的数据结构做相应的滤除操作,由于超出给定带宽的时序都已经被滤除,因此,解决了分辨率大而带宽小所导致的带宽限制的问题,解决了现有技术中HDMI到DP的转换器带宽超限的技术问题,达到了将HDMI到DP的转换器需要的带宽限制在一定范围内的技术效果。在EDID中存在8处涉及到时序声明:1.EstablishedTimingsIandII(0x23~0x25)2.StandardTimings(0x26~0x35)3.DetailedTimingDescriptors(0x36~0x7Dand/orCEAExtensionBlock)4.CVT3ByteTimingCodes(18-bytedetailedtimingdescriptorsinCEAExtensionBlock)5.EstablishedTimingsIII(18-bytedetailedtimingdescriptorsinCEAExtensionBlock)6.StandardTimings(18-bytedetailedtimingdescriptorsinCEAExtensionBlock)7.VideoDataBlock(ShortVideoDescriptorsinCEAExtensionBlock)8.VendorSpecificDataBlock(HDMI_VICinHDMI-LLCVendorSpecificDataBlock)可选地,第一EDID数据包括第一字节序列,在第一时序关联的像素频率大于第一预设像素频率的情况下,按照第一时序的数据结构做相应的滤除操作包括:判断显示器是否支持位W(1,i)关联的时序,其中,位W(1,i)是第一字节序列中第i个位,i依次取1至N1,其中,N1是第一字节序列包含的位的数量;如果显示器支持位W(1,i)关联的时序T(1,i),则计算时序T(1,i)的像素频率P(1,i);判断像素频率P(1,i)是否大于第一预设像素频率;如果像素频率P(1,i)大于第一预设像素频率,将位W(1,i)清0。从0x23到0x25共3字节(第一字节序列)定义为EstablishedTimings,用一位表示一个EstablishedTiming,如果显示器支持该时序,就将对于位设置成1,否则清0。EDID过滤算法逐位检查,如果某位为1,则根据表1提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该位清0。表1可选地,第一EDID包括第二字节序列,第二字节序列中使用2个字节表示一个时序单元,在第一时序关联的像素频率大于第一预设像素频率的情况下,按照第一时序的数据结构做相应的滤除操作包括:判断时序单元U(2,i)是否为第一预设填充序列,其中,时序单元U(2,i)是第二字节序列中第i个时序单元,i依次取1至N2,其中,N2是第二字节序列包含的时序单元的数量;在时序单元U(2,i)不是第一预设填充序列的情况下,获取时序单元U(2,i)关联的像素频率P(2,i);判断像素频率P(2,i)是否大于第一预设像素频率;如果像素频率P(2,i)大于第一预设像素频率,将时序单元U(2,i)更改为第一预设填充序列。从0x26到0x35共16字节(第二字节序列)定义为StandardTimings,用2个字节表示一个StandardTiming(时序单元),最大可定义8个StandardTiming。显示器将在这块区域列出它支持的StandardTimings,如果区域有剩余,则填充为0x01,0x01序列。根据VESADisplayMonitorTiming(DMT)版本1修订版13,共定义了49种StandardTimings。EDID过滤算法逐个检查,如果某个StandardTiming不是填充序列(0x01,0x01),则根据表2提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该StandardTiming更改为0x01,0x01(第一预设填充序列)。表2可选地,第一EDID包括第三字节序列,第三字节序列中18个字节表示一个时序单元,在第一时序关联的像素频率大于第一预设像素频率的情况下,按照第一时序的数据结构做相应的滤除操作包括:根据时序单元U(3,i)的时序标志位判断时序单元U(3,i)是否为时序描述,其中,时序单元U(3,i)是第三字节序列中第i个时序单元,i依次取1至N3,其中,N3是第三字节序列包含的时序单元的数量;在时序单元U(3,i)为时序描述的情况下,获取时序单元U(3,i)声明的像素频率P(3,i);判断像素频率P(3,i)乘以第一预设数值得到的结果是否大于第一预设像素频率;如果像素频率P(3,i)乘以第一预设数值得到的结果大于第一预设像素频率,将时序单元U(3,i)更改为预设空描述序列;将时序单元U(3,k)作为最佳分辨率,其中,时序单元U(3,k)是第三字节序列包含的多个时序单元中第一个非预设空描述序列。从0x36到0x7D共72字节定义为DetailedTimingDescriptors,每18字节定义为一个DetailedTimingDescriptor(时序单元),最大可定义4个DetailedTimingDescriptor。另外,在CEAExtensionBlock中也可以定义DetailedTimingDescriptors,其偏移量由0x02给出。显示器将在这两块区域列出它支持的详细时序格式。在每一个时序单元中,前两个字节为时序标志位,若为非0,则为时序描述(DetailedTimingDescriptor),若为0,则为显示器描述(MonitorDescriptor)。对于时序描述,前两个字节定义为像素频率,单位为10KHz。如图4所示,EDID过滤算法对这两个区域逐个检查,如果某个描述的前两个字节为非0,则判断为时序描述,并将其声明的像素频率乘以10(第一预设数值),再与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该时序描述更改为空描述序列(0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)。按照EDID标准,第一个DetailedTimingDescriptor(从0x36到0x47)应为PreferredDetailedTiming即最佳分辨率。EDID过滤算法完成对这两个区域的检查后,还检查第一个DetailedTimingDescriptor是否被滤除。如果已经被滤除,则按照先后顺序从这两个区域中选择一个时序(目标时序单元)描述作为最佳分辨率,该时序被复制到第一个时序描述的位置,并将该时序填充为空描述序列。可选地,第一EDID包括第四字节序列,第四字节序列中包括多个时序单元,在第一时序关联的像素频率大于第一预设像素频率的情况下,按照第一时序的数据结构做相应的滤除操作包括:判断是否存在预设标识;如果存在预设标识,判断时序单元U(4,i)是否为预设编码,其中,时序单元U(4,i)是第四字节序列中第i个时序单元,i依次取1至N4,其中,N4是第四字节序列包含的时序单元的数量;在时序单元U(4,i)不是预设编码的情况下,判断时序单元U(4,i)关联的像素频率是否大于第一预设像素频率;如果时序单元U(4,i)关联的像素频率大于第一预设像素频率,将时序单元U(4,i)更改为第二预设填充序列。在CEAExtensionBlock的显示器描述中也可以定义CVT3字节编码时序描述(CVT3ByteCodeDescriptor),其标识为0xF8(预设标识),最多可定义4个时序。显示器将在此描述中列出它支持的CVT3字节编码时序,如果有剩余字节,则填充为0x00。根据VESADisplayMonitorTiming(DMT)版本1修订版13,共定义了28种CVT3ByteCodeDescriptor。EDID过滤算法在检查显示器描述的时候,如果发现标识为0xF8则判断为CVT3字节编码时序,则逐个判断是否为填充0x00(预设编码),如果不是,则根据表3提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将其更改为(0x00,0x00,0x00)(第二预设填充序列)。表3NOCVT3ByteCode/HexTimingNamePixelClock/MHz1(7F,1C,21)1280x768@60HzCVTRB68.2502(7F,1C,28)1280x768@60Hz79.5003(7F,1C,44)1280x768@75Hz102.2504(7F,1C,62)1280x768@85Hz117.5005(8F,18,21)1280x800@60HzCVTRB71.0006(8F,18,28)1280x800@60Hz83.5007(8F,18,44)1280x800@75Hz106.5008(8F,18,62)1280x800@85Hz122.5009(0C,20,21)1400x1050@60HzCVTRB101.00010(0C,20,28)1400x1050@60Hz121.75011(0C,20,44)1400x1050@75Hz156.00012(0C,20,62)1400x1050@85Hz179.50013(C1,18,21)1440x900@60HzCVTRB88.75014(C1,18,28)1440x900@60Hz106.50015(C1,18,44)1440x900@75Hz136.75016(C1,18,68)1440x900@85Hz157.00017(0C,28,21)1680x1050@60HzCVTRB119.00018(0C,28,28)1680x1050@60Hz146.25019(0C,28,44)1680x1050@75Hz187.00020(0C,28,68)1680x1050@85Hz214.75021(57,28,21)1920x1200@60HzCVTRB154.00022(57,28,28)1920x1200@60Hz193.25023(57,28,44)1920x1200@75Hz245.25024(57,28,62)1920x1200@85Hz281.25025(1F,38,21)2560x1600@60HzCVTRB268.50026(1F,38,28)2560x1600@60Hz348.50027(1F,38,44)2560x1600@75Hz443.25028(1F,38,62)2560x1600@85Hz505.250在CEAExtensionBlock的显示器描述中也可以定义EstablishedTimingsIII时序描述,其标识为0xF7。同样用一位表示一个EstablishedTiming,这点与EstablishedTimingI和EstablishedTimingII一致。根据VESAEDIDv1.4,共定义了44种EstablishedTimings。显示器将在此描述中列出它支持的EstablishedTimingsIII时序。EDID过滤算法在检查显示器描述的时候,如果发现标识为0xF7则判断为EstablishedTimingsIII时序描述,则逐位检查,如果某位为1,则根据表4提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该位清0。表4在CEAExtensionBlock的显示器描述中也可以定义StandardTimings时序描述,其标识为0xFA,最大可定义6个StandardTiming。显示器可在此描述中列出它支持的额外StandardTimings,如果有剩余字节,则填充为0x01,0x01序列。EDID过滤算法在检查显示器描述的时候,如果发现标识为0xFA则判断为StandardTimings时序描述,如果某个StandardTiming不是填充序列(0x01,0x01),则根据表2提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该StandardTiming更改为0x01,0x01。可选地,第一EDID包括第五字节序列,第五字节序列中包括多个时序单元,在第一时序所需要的带宽大于第一预设带宽的情况下,按照第一时序的数据结构做滤除操作包括:判断是否为VideoDataBlock时序描述;如果判断出是VideoDataBlock时序描述,判断时序单元U(5,i)关联的VIC的数值是否在第一预设数值区间内,其中,时序单元U(5,i)是第五字节序列中第i个时序单元,i依次取1至N5,其中,N5是第五字节序列包含的时序单元的数量;如果时序单元U(5,i)关联的VIC的数值在第一预设数值区间内,判断时序单元U(5,i)关联的像素频率是否大于第一预设像素频率;如果时序单元U(5,i)关联的像素频率大于第一预设像素频率,将时序单元U(5,i)清0。在CEAExtensionBlock的VideoDataBlock中也可以定义ShortVideoDescriptors(SVD)时序描述,其标识为2。SVD用VIC(VideoIdentificationCode)来定义时序描述。根据CEA-861F,共定义了107种VIC。显示器将在此描述中列出它支持的SVD时序描述。如图5所示,EDID过滤算法在检查CEADataBlockCollection的时候,如果发现标识为2则判断为VideoDataBlock时序描述,则逐个SVD检查,如果某VIC在1与107之间(包括),即第一预设数值区间为[1,107],则根据表5提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该SVD清0。表5可选地,第一EDID包括第六字节序列,在第一时序关联的像素频率大于第一预设像素频率的情况下,按照第一时序的数据结构做相应的滤除操作包括:判断是否为HDMIVendorSpecificDataBlock时序描述;如果判断出是HDMIVendorSpecificDataBlock时序描述,判断是否存在HDMI_VIC时序描述;如果存在HDMI_VIC时序描述,判断第i个HDMI_VIC时序描述的值是否在第二预设数值区间内,其中,i依次取1至N6,N6为第六字节序列中HDMI_VIC时序描述的数量;如果第i个HDMI_VIC时序描述的值在第二预设数值区间内,判断第i个HDMI_VIC时序描述关联的像素频率是否大于第一预设像素频率;在第i个HDMI_VIC时序描述关联的像素频率大于第一预设像素频率的情况下,将第i个HDMI_VIC时序描述清0。对于支持HDMI接口的设备,也可以在CEAExtensionBlock的VendorSpecificDataBlock(VSDB)中定义HDMI_VIC时序描述,VendorSpecificDataBlock标识为3。根据HDMIv1.4,共定义了4种HDMI_VIC。显示器将在此描述中列出它支持的HDMI_VIC时序描述。EDID过滤算法在检查CEADataBlockCollection的时候,如果发现标识为3则判断为HDMIVSDB时序描述,则根据HDMIVSDB的数据结构检查是否存在HDMI_VIC时序描述,如果存在且在1与4之间(包括)即第二预设数值区间为[1,4],则根据表6提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该HDMI_VIC清0。表6HDMI_VICFormatsPixelClock/MHz0x014Kx2K@30Hz297.0000x024Kx2K@25Hz297.0000x034Kx2K@24Hz297.0000x044Kx2K@24Hz(SMPTE)297.000对EDID的任何修改都应重新生成校验和。在本发明实施例中,以256字节EDID为例对数据处理方法进行了详细说明。为方便信息传递,定义全局长整型g_MaxPixelClock用于保存最大带宽归一化后的像素频率。开发平台为KeilC51。为了减少像素频率重复定义,节省存储空间,定义EDID中除DetailedTimingDescriptor之外所有可能时序的像素频率表,其数据类型为长整型,单位为KHz,索引值为该像素频率的标识。表1、表2、表3、表4、表5和表6中的像素频率都用其在像素频率表中的索引值代替。定义全局变量保存最大带宽归一化后的像素频率。定义EDID中除DetailedTimingDescriptor之外所有可能时序的长整型像素频率表,并用索引值代替各表中的像素频率。用索引值建立时序格式与像素频率的映射,当查找某一编码时序时,首先查找该编码时序表,获取索引值,再用该索引值查像素频率表,获取该时序格式对应的像素频率。根据本发明实施例,还提供了一种数据处理装置。该数据处理装置可以执行上述数据处理方法,上述数据处理方法也可以通过该数据处理装置实施。图6是根据本发明实施例的一种数据处理装置的示意图。如图6所示,该装置包括:解析单元10、获取单元20、滤除单元30、存储单元40。解析单元10,用于根据EDID数据规范解析第一EDID数据,得到多个时序,其中,第一EDID数据为下游EDID数据,第一EDID数据暂存在本地EDID存储器中。获取单元20,用于获取多个时序中每个时序所需要的带宽。滤除单元30,用于在第一时序所需要的带宽大于第一预设带宽的情况下,按照第一时序的数据结构做滤除操作,得到第二EDID数据,其中,第一时序为多个时序中任意一个时序。存储单元40,用于将第二EDID数据存储到本地EDID存储器中,以便HDMI源进行读取。该数据处理装置应用于HDMI到DP视频接口适配器领域。在本发明实施例中,读取下游EDID数据并暂存于本地EDID中,根据EDID的数据规范逐一解析其中列出的时序,并通过查表方法获取时序所需要的带宽,当发现某一时序超出给定的带宽时,按照该时序的数据结构做相应的滤除操作,由于超出给定带宽的时序都已经被滤除,因此,解决了分辨率大而带宽小所导致的带宽限制的问题,解决了现有技术中HDMI到DP的转换器带宽超限的技术问题,达到了将HDMI到DP的转换器需要的带宽限制在一定范围内的技术效果,从而保证在转换器带宽不够的情况下仍能正常显示图像。根据本发明实施例的另一方面,还提供了一种转换器,该转换器包括:HDMI接收器、DP发送器、本地EDID存储器、处理器。处理器包括EDID过滤器,EDID过滤器包括上述数据处理装置。该转换器应用于HDMI到DP视频接口适配器领域。在本发明实施例中,读取下游EDID数据并暂存于本地EDID中,根据EDID的数据规范逐一解析其中列出的时序,并通过查表方法获取时序所需要的带宽,当发现某一时序超出给定的带宽时,按照该时序的数据结构做相应的滤除操作,由于超出给定带宽的时序都已经被滤除,因此,解决了分辨率大而带宽小所导致的带宽限制的问题,解决了现有技术中HDMI到DP的转换器带宽超限的技术问题,达到了将HDMI到DP的转换器需要的带宽限制在一定范围内的技术效果,从而保证在转换器带宽不够的情况下仍能正常显示图像。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1