具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图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进行时序滤除。
第一预设带宽由Link Training的结果即Band Width与Lane Count的乘积给出。
第一预设像素频率即为下文中提到的最大允许像素频率。
本发明公开了一种根据当前Main Link的数据传输带宽从Sink EDID数据中滤除超过此带宽的显示时序(Timing)数据的方法。
本发明旨在解决HDMI到DP转换器所面临的带宽超限问题,包括读取下游EDID并暂存在本地EDID存储器中,按照EDID规范及给定最大带宽逐一滤除超出带宽的时序格式,确定最佳分辨率,存储修改后的EDID到本地EDID存储器中。
图2是HDMI到DP转换器的典型原理方框图,其中包括一个HDMI Source,通常为GPU(Graphic Processing Unit),用于输出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信号给HDMI Source。HDMI Source收到HPD信号为高便通过DDC从转换器的本地EDID存储器读取EDID,并根据此EDID输出HDMI视频。本发明主要完成处理器中EDID过滤算法模块的设计与实现。
由于EDID中所列出的所有时序格式具有特定性和有限性,其像素频率(PixelClock)也具有相应的属性,为便于与给定的最大带宽比较,将时序和带宽都归一化为像素频率,单位为MHz。
先看视频分辨率和时序的像素频率归一化。通常一个时序用Hactive,Vactive和刷新频率(单位Hz)三个参数来表示,记为“Hactive x Vactive@刷新频率(单位Hz)”,例如1920x 1080@60Hz。时序的像素频率定义为Htotal与Vtotal的乘积,再乘以刷新频率,例如时序1920x 1080@60Hz,其Htotal为2200,Vtotal为1125,刷新频率为60Hz,则像素频率为2200x1125x60=148.5MHz。
再看带宽的像素频率归一化。按照DP v1.2a,带宽有1.62G,2.7G和5.4G三种,LaneCount有1,2和4三种,总的最大带宽由Link Training的带宽与Lane Count的乘积给出。而对于给定的某一时序其所需要的带宽又由时序的像素频率及显示图像像素的色彩空间(Color Space)和色彩深度(Color Depth)共同决定。对于色彩空间有RGB,YCbCr4:4:4和YCbCr4:2:2三种,对于色彩深度(Color Depth)有6位,8位,10位,12位和16位五种。事实上在EDID未准备好之前转换器是不能向HDMI Source发送HPD高信号的,转换器也就无法确定视频的色彩空间和色彩深度属性。对于这种问题,在EDID过滤算法中只好做假设处理。如果EDID中声称支持YCbCr4:2:2,色彩空间假设为YCbCr4:2:2,否则为RGB。如果EDID过滤算法支持色彩深度从8位到6位的转换,则色彩深度假设为6位,否则色彩深度假设为8位。另外还要考虑链路时钟(Link Clock)的变化以及SSC的引入对带宽的影响,按经验取0.6%的裕量。式1给出了带宽的像素归一化公式。
MaxPixelClock=BandWidth×LaneCount÷10×8×(1-BandWidthMargin)÷BPP 式1
式1中,BandWidthMargin取0.6%,BPP(Bits Per Pixel)为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中的Established Timings I&II。
步骤S306,过滤EDID块0中的Standard Timings。
步骤S308,过滤EDID块0中的Detailed Timing Descriptors。
步骤S310,过滤EDID CEA扩展块中的Detailed Timing Descriptors。
步骤S312,从剩余Detailed Timing Descriptors中选择最佳分辨率。
步骤S314,过滤扩展块中的CEA Data Block Collection。
步骤S316,生成所有EDID块的校验和。
在本发明实施例中,读取下游EDID数据并暂存于本地EDID中,根据EDID的数据规范逐一解析其中列出的时序,并通过查表方法获取时序所需要的带宽,当发现某一时序超出给定的带宽时,按照该时序的数据结构做相应的滤除操作,由于超出给定带宽的时序都已经被滤除,因此,解决了分辨率大而带宽小所导致的带宽限制的问题,解决了现有技术中HDMI到DP的转换器带宽超限的技术问题,达到了将HDMI到DP的转换器需要的带宽限制在一定范围内的技术效果。
在EDID中存在8处涉及到时序声明:
1.Established Timings I and II(0x23~0x25)
2.Standard Timings(0x26~0x35)
3.Detailed Timing Descriptors(0x36~0x7D and/or CEA Extension Block)
4.CVT 3Byte Timing Codes(18-byte detailed timing descriptors in CEAExtension Block)
5.Established Timings III(18-byte detailed timing descriptors in CEAExtension Block)
6.Standard Timings(18-byte detailed timing descriptors in CEAExtension Block)
7.Video Data Block(Short Video Descriptors in CEA Extension Block)
8.Vendor Specific Data Block(HDMI_VIC in HDMI-LLC Vendor SpecificData Block)
可选地,第一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字节(第一字节序列)定义为Established Timings,用一位表示一个Established Timing,如果显示器支持该时序,就将对于位设置成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字节(第二字节序列)定义为Standard Timings,用2个字节表示一个Standard Timing(时序单元),最大可定义8个Standard Timing。显示器将在这块区域列出它支持的Standard Timings,如果区域有剩余,则填充为0x01,0x01序列。根据VESADisplay Monitor Timing(DMT)版本1修订版13,共定义了49种Standard Timings。EDID过滤算法逐个检查,如果某个Standard Timing不是填充序列(0x01,0x01),则根据表2提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该Standard Timing更改为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字节定义为Detailed Timing Descriptors,每18字节定义为一个Detailed Timing Descriptor(时序单元),最大可定义4个Detailed TimingDescriptor。另外,在CEA Extension Block中也可以定义Detailed Timing Descriptors,其偏移量由0x02给出。显示器将在这两块区域列出它支持的详细时序格式。在每一个时序单元中,前两个字节为时序标志位,若为非0,则为时序描述(Detailed TimingDescriptor),若为0,则为显示器描述(Monitor Descriptor)。对于时序描述,前两个字节定义为像素频率,单位为10KHz。如图4所示,EDID过滤算法对这两个区域逐个检查,如果某个描述的前两个字节为非0,则判断为时序描述,并将其声明的像素频率乘以10(第一预设数值),再与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该时序描述更改为空描述序列(0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)。按照EDID标准,第一个Detailed Timing Descriptor(从0x36到0x47)应为Preferred Detailed Timing即最佳分辨率。EDID过滤算法完成对这两个区域的检查后,还检查第一个Detailed TimingDescriptor是否被滤除。如果已经被滤除,则按照先后顺序从这两个区域中选择一个时序(目标时序单元)描述作为最佳分辨率,该时序被复制到第一个时序描述的位置,并将该时序填充为空描述序列。
可选地,第一EDID包括第四字节序列,第四字节序列中包括多个时序单元,在第一时序关联的像素频率大于第一预设像素频率的情况下,按照第一时序的数据结构做相应的滤除操作包括:判断是否存在预设标识;如果存在预设标识,判断时序单元U(4,i)是否为预设编码,其中,时序单元U(4,i)是第四字节序列中第i个时序单元,i依次取1至N4,其中,N4是第四字节序列包含的时序单元的数量;在时序单元U(4,i)不是预设编码的情况下,判断时序单元U(4,i)关联的像素频率是否大于第一预设像素频率;如果时序单元U(4,i)关联的像素频率大于第一预设像素频率,将时序单元U(4,i)更改为第二预设填充序列。
在CEA Extension Block的显示器描述中也可以定义CVT 3字节编码时序描述(CVT 3Byte Code Descriptor),其标识为0xF8(预设标识),最多可定义4个时序。显示器将在此描述中列出它支持的CVT 3字节编码时序,如果有剩余字节,则填充为0x00。根据VESADisplay Monitor Timing(DMT)版本1修订版13,共定义了28种CVT 3Byte CodeDescriptor。EDID过滤算法在检查显示器描述的时候,如果发现标识为0xF8则判断为CVT 3字节编码时序,则逐个判断是否为填充0x00(预设编码),如果不是,则根据表3提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将其更改为(0x00,0x00,0x00)(第二预设填充序列)。
表3
NO |
CVT 3Byte Code/Hex |
Timing Name |
Pixel Clock/MHz |
1 |
(7F,1C,21) |
1280x 768@60Hz CVT RB |
68.250 |
2 |
(7F,1C,28) |
1280x 768@60Hz |
79.500 |
3 |
(7F,1C,44) |
1280x 768@75Hz |
102.250 |
4 |
(7F,1C,62) |
1280x 768@85Hz |
117.500 |
5 |
(8F,18,21) |
1280x 800@60Hz CVT RB |
71.000 |
6 |
(8F,18,28) |
1280x 800@60Hz |
83.500 |
7 |
(8F,18,44) |
1280x 800@75Hz |
106.500 |
8 |
(8F,18,62) |
1280x 800@85Hz |
122.500 |
9 |
(0C,20,21) |
1400x 1050@60Hz CVT RB |
101.000 |
10 |
(0C,20,28) |
1400x 1050@60Hz |
121.750 |
11 |
(0C,20,44) |
1400x 1050@75Hz |
156.000 |
12 |
(0C,20,62) |
1400x 1050@85Hz |
179.500 |
13 |
(C1,18,21) |
1440x 900@60Hz CVT RB |
88.750 |
14 |
(C1,18,28) |
1440x 900@60Hz |
106.500 |
15 |
(C1,18,44) |
1440x 900@75Hz |
136.750 |
16 |
(C1,18,68) |
1440x 900@85Hz |
157.000 |
17 |
(0C,28,21) |
1680x 1050@60Hz CVT RB |
119.000 |
18 |
(0C,28,28) |
1680x 1050@60Hz |
146.250 |
19 |
(0C,28,44) |
1680x 1050@75Hz |
187.000 |
20 |
(0C,28,68) |
1680x 1050@85Hz |
214.750 |
21 |
(57,28,21) |
1920x 1200@60Hz CVT RB |
154.000 |
22 |
(57,28,28) |
1920x 1200@60Hz |
193.250 |
23 |
(57,28,44) |
1920x 1200@75Hz |
245.250 |
24 |
(57,28,62) |
1920x 1200@85Hz |
281.250 |
25 |
(1F,38,21) |
2560x 1600@60Hz CVT RB |
268.500 |
26 |
(1F,38,28) |
2560x 1600@60Hz |
348.500 |
27 |
(1F,38,44) |
2560x 1600@75Hz |
443.250 |
28 |
(1F,38,62) |
2560x 1600@85Hz |
505.250 |
在CEA Extension Block的显示器描述中也可以定义Established Timings III时序描述,其标识为0xF7。同样用一位表示一个Established Timing,这点与EstablishedTiming I和Established Timing II一致。根据VESA EDID v1.4,共定义了44种Established Timings。显示器将在此描述中列出它支持的Established Timings III时序。EDID过滤算法在检查显示器描述的时候,如果发现标识为0xF7则判断为EstablishedTimings III时序描述,则逐位检查,如果某位为1,则根据表4提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该位清0。
表4
在CEA Extension Block的显示器描述中也可以定义Standard Timings时序描述,其标识为0xFA,最大可定义6个Standard Timing。显示器可在此描述中列出它支持的额外Standard Timings,如果有剩余字节,则填充为0x01,0x01序列。EDID过滤算法在检查显示器描述的时候,如果发现标识为0xFA则判断为Standard Timings时序描述,如果某个Standard Timing不是填充序列(0x01,0x01),则根据表2提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该StandardTiming更改为0x01,0x01。
可选地,第一EDID包括第五字节序列,第五字节序列中包括多个时序单元,在第一时序所需要的带宽大于第一预设带宽的情况下,按照第一时序的数据结构做滤除操作包括:判断是否为Video Data Block时序描述;如果判断出是Video Data Block时序描述,判断时序单元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。
在CEA Extension Block的Video Data Block中也可以定义Short VideoDescriptors(SVD)时序描述,其标识为2。SVD用VIC(Video Identification Code)来定义时序描述。根据CEA-861F,共定义了107种VIC。显示器将在此描述中列出它支持的SVD时序描述。如图5所示,EDID过滤算法在检查CEA Data Block Collection的时候,如果发现标识为2则判断为Video Data Block时序描述,则逐个SVD检查,如果某VIC在1与107之间(包括),即第一预设数值区间为[1,107],则根据表5提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该SVD清0。
表5
可选地,第一EDID包括第六字节序列,在第一时序关联的像素频率大于第一预设像素频率的情况下,按照第一时序的数据结构做相应的滤除操作包括:判断是否为HDMIVendor Specific Data Block时序描述;如果判断出是HDMI Vendor Specific DataBlock时序描述,判断是否存在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接口的设备,也可以在CEA Extension Block的Vendor SpecificData Block(VSDB)中定义HDMI_VIC时序描述,Vendor Specific Data Block标识为3。根据HDMI v1.4,共定义了4种HDMI_VIC。显示器将在此描述中列出它支持的HDMI_VIC时序描述。EDID过滤算法在检查CEA Data Block Collection的时候,如果发现标识为3则判断为HDMIVSDB时序描述,则根据HDMI VSDB的数据结构检查是否存在HDMI_VIC时序描述,如果存在且在1与4之间(包括)即第二预设数值区间为[1,4],则根据表6提供的像素频率与最大允许像素频率(第一预设像素频率)比较,如果该像素频率大于最大允许像素频率,则将该HDMI_VIC清0。
表6
HDMI_VIC |
Formats |
Pixel Clock/MHz |
0x01 |
4K x 2K@30Hz |
297.000 |
0x02 |
4K x 2K@25Hz |
297.000 |
0x03 |
4K x 2K@24Hz |
297.000 |
0x04 |
4K x 2K@24Hz(SMPTE) |
297.000 |
对EDID的任何修改都应重新生成校验和。
在本发明实施例中,以256字节EDID为例对数据处理方法进行了详细说明。
为方便信息传递,定义全局长整型g_MaxPixelClock用于保存最大带宽归一化后的像素频率。开发平台为Keil C51。
为了减少像素频率重复定义,节省存储空间,定义EDID中除Detailed TimingDescriptor之外所有可能时序的像素频率表,其数据类型为长整型,单位为KHz,索引值为该像素频率的标识。表1、表2、表3、表4、表5和表6中的像素频率都用其在像素频率表中的索引值代替。
定义全局变量保存最大带宽归一化后的像素频率。
定义EDID中除Detailed Timing Descriptor之外所有可能时序的长整型像素频率表,并用索引值代替各表中的像素频率。
用索引值建立时序格式与像素频率的映射,当查找某一编码时序时,首先查找该编码时序表,获取索引值,再用该索引值查像素频率表,获取该时序格式对应的像素频率。
根据本发明实施例,还提供了一种数据处理装置。该数据处理装置可以执行上述数据处理方法,上述数据处理方法也可以通过该数据处理装置实施。
图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-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。