图像输出装置、图像处理装置和成像装置

申请号 CN201120448843.X 申请日 2011-11-14 公开(公告)号 CN202889529U 公开(公告)日 2013-04-17
申请人 索尼公司; 发明人 杉冈达也; 城下宽司; 小泽美穗; 木原广己; 丸子健一; 新桥龙男; 舟本一久; 松本英之; 远山隆之; 若林准人; 越坂直弘; 佐佐木茂寿; 田森正人;
摘要 在此公开图像输出装置、 图像处理 装置和成像装置。所述图像输出装置包括:报头产生部件,其用于产生报头,该报头由关于有效 载荷 中包括的 像素 数据是否是一 帧 的第一和最后一行的第一和第二帧信息、关于有效载荷中包括的像素数据是否有效的第一行信息和关于由有效载荷中包括的像素数据形成的行的行编号的第二行信息形成;以及出错检测码,其用于检测报头信息的出错。分组产生部件产生分组,该分组在其有效载荷中包括构成通过所述成像部件的成像而获得的图像的一行的像素数据,并且添加了所述报头。输出部件将产生的分组输出至图像处理装置。
权利要求

1.一种图像输出装置,其特征在于,包含:
成像部件;
报头产生部件,其适配为产生报头,该报头包括:
报头信息,其由第一信息、第二帧信息、第一行信息和第二行信息形成,所述第一帧信息表示有效载荷中包括的像素数据是否是一帧的第一行的像素数据,所述第二帧信息表示有效载荷中包括的像素数据是否是一帧的最后一行的像素数据,所述第一行信息表示有效载荷中包括的像素数据是否是有效像素的数据,所述第二行信息表示由有效载荷中包括的像素数据形成的行的行编号,以及
出错检测码,其用于检测报头信息的出错;
分组产生部件,其适配为产生分组,该分组在其有效载荷中包括构成通过所述成像部件的成像而获得的图像的一行的像素数据,并且添加了所述报头;以及
输出部件,其适配为将所述分组产生部件产生的分组输出至图像处理装置。
2.如权利要求1所述的图像输出装置,其特征在于,进一步包含:
添加部件,其适配为将表示分组的开始位置的开始码添加至所述分组产生部件产生的分组的前面,并且将表示分组的结束位置的结束码添加至分组的末端。
3.如权利要求2所述的图像输出装置,其特征在于,进一步包含:
分配部件,其适配为将所述分组产生部件产生的分组的数据分配给所述多条传输线,与传输线对应地提供等于传输线数量的多个这种添加部件和输出部件。
4.一种图像处理装置,其特征在于,包含:
接收部件,其适配为接收同一装置中提供的图像输出装置产生的并且从图像输出装置输出的分组,所述分组包括添加至有效载荷的报头,该有效载荷包括构成通过图像输出装置的成像部件的成像而获得的图像的一行的图像数据,该报头包括:
报头信息,其由第一帧信息、第二帧信息、第一行信息和第二行信 息形成,所述第一帧信息表示有效载荷中包括的像素数据是否是一帧的第一行的像素数据,所述第二帧信息表示有效载荷中包括的像素数据是否是一帧的最后一行的像素数据,所述第一行信息表示有效载荷中包括的像素数据是否是有效像素的数据,所述第二行信息表示由有效载荷中包括的像素数据形成的行的行编号,以及
出错检测码,其用于检测报头信息的出错;以及
图像处理部件,其适配为处理由行构成的图像,每一行由所述接收部件接收到的分组的有效载荷中包括的像素数据形成。
5.如权利要求4所述的图像处理装置,其特征在于,其中,所述报头包括多组报头信息和出错检测码;
所述图像处理装置进一步包含:
出错检测部件,其适配为基于构成报头信息所属组的出错检测码,检测每个组中的报头信息的出错;以及
产生部件,其适配为基于所述出错检测部件未检测到出错的报头信息,产生由有效载荷中包括的像素数据形成的一帧的图像;
所述图像处理部件处理所述产生部件产生的图像。
6.如权利要求5所述的图像处理装置,其特征在于,进一步包含:
去除部件,其适配为在图像输出装置和所述图像处理装置之间的传输线的传输率高于从图像输出装置的成像部件输出的图像的像素数据的传输率时,去除开始码和结束码,并且去除通过图像输出装置添加至有效载荷的填充码。
7.如权利要求5所述的图像处理装置,其特征在于,其中,使用多个这种传输线从图像输出装置同时输出分组的数据,该分组具有添加至其结束码之后的偏移码以使得向分组添加了开始码、结束码和偏移码;
所述图像处理装置进一步包含:
校正部件,其适配为基于偏移码校正所述接收部件接收到的数据的接收时刻的位移;
与传输线对应地提供等于传输线数量的多个这种接收部件、校正部件和去除部件。
8.一种成像装置,其特征在于,包含:
图像输出装置,以及
图像处理装置;
所述图像输出装置包括
成像部件;
报头产生部件,其适配为产生包括报头信息和出错检测码的报头,所述报头信息由第一帧信息、第二帧信息、第一行信息和第二行信息形成,所述第一帧信息表示有效载荷中包括的像素数据是否是一帧的第一行的像素数据,所述第二帧信息表示有效载荷中包括的像素数据是否是一帧的最后一行的像素数据,所述第一行信息表示有效载荷中包括的像素数据是否是有效像素的数据,所述第二行信息表示由有效载荷中包括的像素数据形成的行的行编号,所述出错检测码用于检测报头信息的出错;
分组产生部件,其适配为产生分组,该分组在其有效载荷中包括构成通过所述成像部件的成像而获得的图像的一行的像素数据,并且添加了所述报头;以及
输出部件,其适配为将所述分组产生部件产生的分组输出至图像处理装置;
所述图像处理装置包括:
接收部件,其适配为接收分组;以及
图像处理部件,其适配为处理由行构成的图像,每一行由所述接收部件接收到的分组的有效载荷中包括的像素数据形成。

说明书全文

图像输出装置、图像处理装置和成像装置

技术领域

[0001] 本公开涉及图像输出装置、图像处理装置和成像装置。

背景技术

[0002] 与画质的增强和图像传感器速增大一起,图像传感器与处理图像传感器拾取的图像的DSP(Digital Signal Processor,数字信号处理器)的接口所要求的数据传输容量正在增大。
[0003] 为了满足如上所述这样的要求,例如,采用诸如改善接口的时钟频率以及降低信号电压这样的技术。然而,这些技术增大了在DSP侧产生采样定时的困难,并且使得难以正确地传送数据。
[0004] 作为现有技术文献,2003年1月7日的Serial ATA:High Speed Serialized AT Attachment Revision1.0a是可用的。实用新型内容
[0005] 顺便提及,作为用于增大芯片之间传输容量的标准,PCI-Express、Serial ATA等是可用的。PCI代表外设组件互连,ATA代表先进技术附连(advanced technology attachment)。在PCI Express或Serial ATA中,通过CDR(Clock Data Recovery,时钟数据恢复)电路或均衡器的性能的增强来实现高传输容量。进一步,对于用于便携式电话机的芯片之间的接口,MIPI(Mobile Industry Processor Interface,移动产业处理器接口)标准是可用的。
[0006] 如上提及的这些标准涉及对于图像传感器和DSP之间的接口的许多冗余功能,由于此原因,将它们准备为更通用的接口标准(如CPU(Central Processing Unit,中央处理单元)之间的接口)。如果试图将如上面所提及的这种标准用于图像传感器和DSP之间的接口,那么还并入对于图像传感器和DPS之间的接口所不需要的功能。对于并入,这增大了电路面积、功耗和成本。
[0007] 特别地,针对传输出错的对策的电路的并入的影响是显著的。在如MIPI 这样的标准中,接收侧的芯片将重新发送数据的请求发给发送侧的芯片作为针对传输出错的对策。然而,这导致图像传感器的电路面积等的增大,所述图像传感器是通常难以使用高级/精细晶体管的器件,这是由于成像特性很重要。在诸如MIPI这样的标准中,由于接收侧的芯片将重新发送数据的请求发给发送侧的芯片,因此将相对大的缓冲器作为重新发送缓冲器准备在发送侧的芯片中。
[0008] 进一步,当发生传输出错时,如果这被数据的重新发送覆盖,则实时特性受到损坏。这使得难以以高帧速发送图像数据。
[0009] 因此,期望提供可以用以高效传输图像数据的图像输出装置、图像处理装置和成像装置。
[0010] 根据本公开技术的实施例,提供了一种图像输出装置,包含成像部件;以及报头产生部件,其适配为产生报头,该报头包括:报头信息,其由第一帧信息、第二帧信息、第一行信息和第二行信息形成,所述第一帧信息表示有效载荷中包括的像素数据是否是一帧的第一行的像素数据,所述第二帧信息表示有效载荷中包括的像素数据是否是一帧的最后一行的像素数据,所述第一行信息表示有效载荷中包括的像素数据是否是有效像素的数据,所述第二行信息表示由有效载荷中包括的像素数据形成的行的行编号,以及出错检测码,其用于检测报头信息的出错。该图像输出装置进一步包括分组产生部件,其适配为产生分组,该分组在其有效载荷中包括配置所述成像部件的成像获得的图像的一行的像素数据,并且添加了所述报头;以及输出部件,其适配为将所述分组产生部件产生的分组输出至图像处理装置。
[0011] 第一帧信息、第二帧信息和第一行信息中的每一个均可以是1位的信息,并且第二行信息可以是13位的信息。
[0012] 所述报头产生部件可以产生包括多组的报头信息和出错检测码的报头。 [0013] 所述图像输出装置可以进一步包含:添加部件,其适配为将表示分组的开始位置的开始码添加至所述分组产生部件产生的分组的前面,将表示分组的结束位置的结束码添加至分组的末端。
[0014] 在此情形下,当所述图像输出装置和图像处理装置之间经由传输线的数据传输率高于所述成像部件输出像素数据的像素数据的传输率时,所述添加部件可以将填充码添加至分组的有效载荷。
[0015] 进一步,所述添加部件可以将要供图像处理装置使用的偏移码添加至结 束码之后,以便确保经由多条传输线发送的分组的数据的同步性,并且所述可以输出部件使用多条传输线,将添加了开始码、结束码和偏移码的分组的数据同步地输出至图像处理装置。 [0016] 进一步,在此情形下,所述添加部件可以从作为已知信息并且每一个均由预定数量位的序列配置的多个码元之中,组合用以产生开始码和结束码的三种类型码元的四个码元,并且将开始码和结束码添加至分组;从所述多个码元之中组合用以产生填充码的四种类型码元的四个码元,并且将填充码添加至分组的有效载荷;以及组合所述多个码元中预定的两个码元以产生偏移码,并且将偏移码添加至分组。
[0017] 在此情形下,所述添加部件可以产生开始码、结束码和偏移码,以使得开始码、结束码和偏移码的码元包括同一类型的那些码元。
[0018] 所述图像输出装置可以进一步包含:分配部件,其适配为将所述分组产生部件产生的分组的数据分配给所述多条传输线,其中与传输线对应地提供数量等于传输线数量的这种添加部件和输出部件。
[0019] 在本公开技术的第一实施例中,产生报头,该报头包括报头信息和出错检测码,所述报头信息由第一帧信息、第二帧信息、第一行信息和第二行信息形成,所述第一帧信息表示有效载荷中包括的像素数据是否是一帧的第一行的像素数据,所述第二帧信息表示有效载荷中包括的像素数据是否是一帧的最后一行的像素数据,所述第一行信息表示有效载荷中包括的像素数据是否是有效像素的数据,所述第二行信息表示由有效载荷中包括的像素数据形成的行的行编号,所述出错检测码用于检测报头信息的出错。进一步,产生分组,该分组在其有效载荷中包括配置通过成像获得的图像的一行的像素数据,并且添加了所述报头。然后,将产生的分组输出至图像处理装置。
[0020] 根据本公开技术的第二实施例,提供了一种图像处理装置,包括:接收部件,其适配为接收同一装置中提供的图像输出装置产生的并且从图像输出装置输出的分组,所述分组包括添加至有效载荷的报头,该有效载荷包括配置通过图像输出装置的成像部件的成像获得的图像的一行的图像数据,该报头包括报头信息和出错检测码,该报头信息由第一帧信息、第二帧信息、第一行信息和第二行信息形成,所述第一帧信息表示有效载荷中包括的像素数据是否是一帧的第一行的像素数据,所述第二帧信息表示有效载荷中包括的像素数据是否是一帧的最后一行的像素数据,所述第一行信息表示有效载荷 中包括的像素数据是否是有效像素的数据,所述第二行信息表示由有效载荷中包括的像素数据形成的行的行编号;该出错检测码用于检测报头信息的出错。该图像处理装置还包括图像处理部件,其适配为处理由行配置的图像,每一行由所述接收部件接收到的分组的有效载荷中包括的像素数据形成。
[0021] 所述报头可以包括多组的报头信息和出错检测码。所述图像处理装置可以进一步包含:出错检测部件,其适配为基于配置报头信息所属组的出错检测码,检测每个组中的报头信息的出错;以及产生部件,其适配为基于所述出错检测部件未检测到出错的报头信息,产生由有效载荷中包括的像素数据形成的一帧的图像。所述图像处理部件可以处理所述产生部件产生的图像。
[0022] 可以将表示分组的开始位置的开始码添加至分组的顶部,而将表示分组的结束位置的结束码添加至分组的末端,并且所述接收部件可以在接收到开始码之后直到接收到结束码为止接收数据,作为分组的数据为止。
[0023] 在此情形下,所述图像处理装置可以进一步包含:去除部件,其适配为在图像输出装置和所述图像处理装置之间的传输线的传输率高于从图像输出装置的成像部件输出的图像的像素数据的传输率时,去除开始码和结束码,并且去除通过图像输出装置添加至有效载荷的填充码。
[0024] 可以使用多个这种传输线从图像输出装置同步输出分组的数据,该分组具有添加至其结束码之后的偏移码以使得添加了开始码、结束码和偏移码。所述图像处理装置可以进一步包含:校正部件,其适配为基于偏移码校正所述接收部件接收数据的接收时刻的位移。与传输线对应地提供在数量上等于传输线的这种接收部件、校正部件和去除部件。 [0025] 在此情形下,通过图像输出装置,可以从作为已知信息并且每一个均由预定数量位的序列配置的多个码元之中组合三种类型码元的四个码元以产生开始码和结束码,并且将开始码和结束码添加至分组;可以从多个码元之中组合四种类型码元的四个码元以产生填充码,并且将填充码添加至分组的有效载荷;并且可以组合多个码元中的预定两个码元以产生偏移码,并且将偏移码添加至分组。
[0026] 通过图像输出装置,可以产生开始码、结束码和偏移码,以使得开始码、结束码和偏移码的码元包括同一类型的那些码元。
[0027] 在本公开技术的第二实施例中,接收在提供图像处理装置的同一装置中提供的图像输出装置所产生的并且从图像输出装置输出的分组。该分组包括 添加至有效载荷的报头,该有效载荷包括配置通过图像输出装置的成像部件的成像获得的图像的一行的图像数据。该报头包括报头信息和出错检测码,该报头信息由第一帧信息、第二帧信息、第一行信息和第二行信息形成,所述第一帧信息表示有效载荷中包括的像素数据是否是一帧的第一行的像素数据,所述第二帧信息表示有效载荷中包括的像素数据是否是一帧的最后一行的像素数据,所述第一行信息表示有效载荷中包括的像素数据是否是有效像素的数据,所述第二行信息表示由有效载荷中包括的像素数据形成的行的行编号,该出错检测码用于检测报头信息的出错。然后,处理由行配置的图像,其中每一行由接收到的分组的有效载荷中包括的像素数据形成。
[0028] 根据本公开技术的第三实施例,提供了一种成像装置,包含:图像输出装置和图像处理装置。所述图像输出装置包括成像部件和报头产生部件,该报头产生部件适配为产生包括报头信息和出错检测码的报头,所述报头信息由第一帧信息、第二帧信息、第一行信息和第二行信息形成,所述第一帧信息表示有效载荷中包括的像素数据是否是一帧的第一行的像素数据,所述第二帧信息表示有效载荷中包括的像素数据是否是一帧的最后一行的像素数据,所述第一行信息表示有效载荷中包括的像素数据是否是有效像素的数据,所述第二行信息表示由有效载荷中包括的像素数据形成的行的行编号,所述出错检测码用于检测报头信息的出错。所述图像输出装置进一步包括分组产生部件,其适配为产生分组,该分组在其有效载荷中包括配置所述成像部件的成像获得的图像的一行的像素数据,并且添加了所述报头;以及输出部件,其适配为将所述分组产生部件产生的分组输出至图像处理装置。所述图像处理装置包括:接收部件,其适配为接收分组;以及图像处理部件,其适配为处理由行配置的图像,每一行由所述接收部件接收到的分组的有效载荷中包括的像素数据形成。
[0029] 在本公开的第三实施例中,图像输出装置产生包括报头信息和出错检测码的报头,所述报头信息由第一帧信息、第二帧信息、第一行信息和第二行信息形成,所述第一帧信息表示有效载荷中包括的像素数据是否是一帧的第一行的像素数据,所述第二帧信息表示有效载荷中包括的像素数据是否是一帧的最后一行的像素数据,所述第一行信息表示有效载荷中包括的像素数据是否是有效像素的数据,所述第二行信息表示由有效载荷中包括的像素数据形成的行的行编号,所述出错检测码用于检测报头信息的出错。进一步,所 述图像输出装置产生分组,该分组在其有效载荷中包括配置通过成像获得的图像的一行的像素数据,并且添加了所述报头。然后所述图像输出装置将产生的分组输出至图像处理装置。另一方面,所述图像处理装置接收分组,并且处理由行配置的图像,其中每一行由接收到的分组的有效载荷中包括的像素数据形成。
[0030] 总之,利用该图像输出装置、图像处理装置和成像装置,可以高效地发送图像数据。附图说明
[0031] 图1是示出传输系统的配置的第一示例的框图
[0032] 图2是示出传输系统的配置的第二示例的框图;
[0033] 图3是示出传输系统的配置的第三示例的框图;
[0034] 图4是图示帧格式的示例的图解视图;
[0035] 图5是示出发送部分和接收部分的配置的示例的框图;
[0036] 图6是图示报头(header)结构的图解视图;
[0037] 图7是图示报头信息的内容(substance)和信息量的视图;
[0038] 图8是图示位阵列的示例的视图;
[0039] 图9是图示在用8位表示每个像素的像素值的情况下的像素-字节转换的视图; [0040] 图10是图示在用10位表示每个像素的像素值的情况下的像素-字节转换的视图;
[0041] 图11是图示在用12位表示每个像素的像素值的情况下的像素-字节转换的视图;
[0042] 图12是图示在用14位表示每个像素的像素值的情况下的像素-字节转换的视图;
[0043] 图13是图示在用16位表示每个像素的像素值的情况下的像素-字节转换的视图;
[0044] 图14是图示有效载荷数据的不同示例的图解视图;
[0045] 图15是图示有效载荷数据的不同示例的图解视图;
[0046] 图16是图示插入了奇偶位的有效载荷数据的示例的图解视图;
[0047] 图17是图示添加了报头的有效载荷数据的图解视图;
[0048] 图18是图示添加了报头和脚注(footer)的有效载荷数据的图解视图; [0049] 图19是图示插入了奇偶位并且添加了报头的有效载荷数据的图解视图; [0050] 图20是图示分组数据的分配的示例的图解视图;
[0051] 图21是图示控制码的示例的视图;
[0052] 图22是图示K字符的值的视图;
[0053] 图23是图示Pad Code的插入的示例的图解视图;
[0054] 图24是图示控制码插入后的分组数据的示例的图解视图;
[0055] 图25是图示Data Skew的校正的示例的图解视图;
[0056] 图26是图示成像装置的处理的流程图
[0057] 图27是图示在图26的步骤S2进行的数据发送处理的流程图;
[0058] 图28是图示在图26的步骤S3进行的数据接收处理的流程图;
[0059] 图29是图示切换通道数量情况下的控制序列的序列图;以及
[0060] 图30是图示计算机的硬件配置的示例的框图。

具体实施方式

[0061] <传输系统的配置示例>
[0062] 图1示出根据本公开技术的实施例的传输系统的配置的第一示例。 [0063] 参照图1,所示的传输系统1包括图像传感器11和DSP 12。图像传感器11和DSP12由彼此不同的LSI((Large Scale Integrated Circuit,大规模集成电路)配置,并且提供在诸如数码相机或便携式电话机之类的具有成像功能的同一个成像装置中。图像传感器11包括成像21和一个发送块22,DSP 12包括一个接收块31和图像处理块32。 [0064] 图像传感器11的成像块21包括诸如CMOS (Complementary Metal Oxide Semiconductor,互补金属化物半导体)成像元件之类的成像元件,并且对通过透镜接收到的光进行光电转换。进一步,成像块21对通过光电转换获得的信号进行A/D转换等,并且将构成一帧图像的像素数据依次逐个像素数据地输出至发送块22。
[0065] 发送块22例如以从成像块21提供数据的次序,将从成像块21向其提供的像素的数据分配给多条传输线,并且通过多条传输线将数据并行发送至DSP 12。在图1的示例中,八条传输线用来发送像素数据。图像传感器11和DSP 12之间的传输线可以是有线传输线和无线传输线中的任何一个。在下面 的描述中,将图像传感器11和DSP 12之间的传输线适当地称为通道。
[0066] DSP 12的接收块31接收通过八个通道从发送块22向其发送的像素数据,并且将像素的数据输出至图像处理块32。
[0067] 图像处理块32基于从接收块31向其提供的像素数据产生一帧图像,并且使用所产生的图像进行各种图像处理。从图像传感器11向DSP 12发送的图像数据是原始数据,并且图像处理块32进行各种处理,如:压缩图像数据、显示图像、在记录介质上或内记录图像数据。
[0068] 图2示出传输系统1的配置的第二示例。图2的传输系统1包括若干个与图1的传输系统1共同的元件,这些共同元件的重复描述在此省略以避免冗余。
[0069] 参照图2,传输系统1的图像传感器11包括成像块21和两个发送部分22-1和22-2,DSP12包括两个接收部分31-1和31-2以及图像处理块32。
[0070] 成像块21逐个像素数据地将构成通过执行成像而获得的一帧图像的像素数据并行地输出至发送部分22-1和22-2。例如,成像块21将奇数行中的像素的数据输出至发送块22-1,将偶数行中的像素的数据输出至发送块22-2。
[0071] 发送块22-1例如以从成像块21提供像素数据的次序,将从成像块21向其提供的像素数据分配给多个通道,并且通过多个通道将数据并行地发送至DSP 12。此外,发送块22-2类似地例如以从成像块21提供像素数据的次序,将从成像块21向其提供的像素数据分配给另外多个通道,并且通过多个通道将数据并行地输出至DSP 12。
[0072] 此外,在图2的示例中,图像传感器11和DSP 12通过八个通道相互连接。发送块22-1和发送块22每一个均使用四个通道发送像素数据。
[0073] DSP 12的接收块31-1接收通过四个通道从发送块22-1向其发送的像素数据,并且将像素数据依次输出至图像处理块32。此外,接收块31-2类似地接收通过四个通道从发送块22-2向其发送的像素数据,并且将像素数据依次输出至图像处理块32。 [0074] 图像处理块32基于从接收块31-1向其提供的像素数据和从接收块31-2向其提供的像素数据产生一帧图像,并且使用所产生的图像进行各种图像处理。 [0075] 如果如图2中看到的那样,在图像传感器11中提供两个发送部分并且在DSP12中相应地提供两个接收部分,那么即使从成像块21输出的图像数据的 传输速率高,也可以将像素数据发送至DSP 12。
[0076] 图3示出传输系统1的配置的第三示例。同样,图3的传输系统1包括若干个与图1的传输系统1共同的元件,这些共同元件的重复描述在此省略以避免冗余。 [0077] 参照图3,传输系统1包括两个图像传感器11-1和11-2。图像传感器11-1包括成像块21-1和一个发送块22-1,而图像传感器11-2包括成像块21-2和一个发送块22-2。同时,DSP 12与图2中所示的DSP 12类似地包括两个接收部分31-1和31-2以及图像处理块32。
[0078] 图像传感器11-1的成像块21-1逐个像素数据地依次将配置通过执行成像而获得的一帧图像的像素数据输出至发送块22-1。
[0079] 发送块22-1例如以从成像块21-1提供像素数据的次序,将从成像块21-1向其提供的像素数据分配给多个通道,并且通过多个通道将数据并行地发送至DSP 12。 [0080] 图像传感器11-2的成像块21-2逐个像素数据地依次将配置通过执行成像而获得的一帧图像的像素数据输出至发送块22-2。
[0081] 发送块22-2例如以从成像块21-2提供像素数据的次序,将从成像块21-2向其提供的像素数据分配给多个通道,并且通过多个通道将数据并行地发送至DSP 12。 [0082] 此外,在图3的示例中,图像传感器侧和DSP 12通过八个通道相互连接。四个通道用于图像传感器11-1和图像传感器11-2中的每一个,从而发送块22-1和发送块22-2中的每一个均使用四个通道发送像素数据。
[0083] DSP 12的接收块31-1接收通过四个通道从图像传感器11-1的发送块22-1向其发送的像素数据,并且将像素数据依次输出至图像处理块32。此外,接收块31-2类似地接收通过四条不同的通道从图像传感器11的发送块22-2向其发送的像素数据,并且将像素数据依次输出至图像处理块32。
[0084] 图像处理块32基于从接收块31-1向其提供的像素数据产生一帧图像,并且基于从接收块31-2向其提供的像素数据产生一帧图像。图像处理块32使用所产生的图像进行各种图像处理。
[0085] 通过如图3中看到的那样提供两个图像传感器,例如可以借助于单个DSP 12处理由图像传感器11-1成像的左眼图像和图像传感器11-2成像的右眼图像形成的3D图像。左眼图像和右眼图像具有视差
[0086] 如上所述,传输系统1的图像传感器包括一个或多个发送部分,用于发送所拾取的一帧图像数据。同时,DSP包括一个或多个接收部分,用于以与图像传感器的一个或多个发送部分对应的关系接收从图像传感器向其发送的数据。
[0087] 下面描述由图1的传输系统1进行的数据传输,其中在传输系统1中,在图像传感器11中提供一个发送部分并且在DSP 12中提供一个接收部分。在图2和3中所示的发送块22-1和接收块31-1之间以及发送块22-2和接收块31-2之间,数据传输以类似地方式进行。
[0088] <帧格式>
[0089] 图4图示用于图像传感器11和DSP 12之间的一帧图像数据传输的格式的示例。 [0090] 有效像素区域A1是由成像块21成像的一帧图像的有效像素的区域。在有效像素区域A1的左侧,设置了余量(margin)区域A2,其中垂直方向上的像素数量等于有效像素区域A1的垂直方向上的像素数量。
[0091] 在有效像素区域A1的上侧,设置了前空(dummy)区域A3,其中平方向上的像素数量等于有效像素区域A1和余量区域A2的整体的水平方向上的像素数量。在图4的示例中,将Embedded Data(嵌入数据)插入在前空区域A3中。Embedded Data包括与由成像块21的成像有关的设定值的信息,如速度、光圈值和增益。Embedded Data有时插入在后空区域A4中。
[0092] 在有效像素区域A1的下侧,设置了后空区域A4,其中水平方向上的像素数量等于有效像素区域A1和余量区域A2的整体的水平方向上的像素数量。
[0093] 图像数据区域A11由有效像素区域A1、余量区域A2、前空区域A3和后空区域A4构成。
[0094] 将报头添加至构成图像数据区域A11的每一行的前面,并且将Start Code(开始码)添加至报头的前面。进一步,可选地将脚注添加至构成图像数据区域A11的每一行的后面,并且将下文描述的诸如End Code(结束码)之类的控制码添加至脚注的后面。如果未添加脚注,则将诸如End Code之类的控制码添加至构成图像数据区域A11的每一行的后面。
[0095] 每当将由成像块21成像的一帧图像从图像传感器11发送至DSP 12时, 发送图4中图示格式的全部数据作为传输数据。
[0096] 图4中的上侧地带图示了下面说明的传输数据的传输所使用的分组的结构。在将水平方向上的一系列像素表示为行的情况下,将构成图像数据区域A11的一行的像素的数据置于分组的有效载荷(payload)中。使用不小于垂直方向上图像数据区域A11的像素数量的像素数量进行一帧的全部像素数据的传输。
[0097] 通过将报头和脚注添加至一行像素数据所置于的有效载荷来构成一个分组。如下文详细描述的那样,报头包括对于有效载荷中放置的像素数据的额外信息,如Frame Start(帧开始)、Frame End(帧结束)、Line Valid(行有效)、Line Number(行编号)和ECC。对于每个分组,至少添加作为控制码的Start Code和End Code。
[0098] 以此方式,通过将该格式用于发送构成一帧图像的像素数据,对于每一行,可以在每一行的消隐时段内发送诸如报头之类的额外信息和诸如Start Code和End Code之类的控制码。
[0099] <发送块22和接收块31的配置>
[0100] 图5示出发送块22和接收块31的配置的示例。
[0101] 图5中左侧虚线围绕所示的配置是发送块22的配置,图5中右侧虚线围绕所示的配置是接收块31的配置。发送块22和接收块31中的每一个均包括链路层的配置和物理层的配置。相对于实线L2在上侧示出的配置是链路层的配置,相对于实线L2在下侧示出的配置是物理层的配置。
[0102] 注意,实线L1上面示出的配置是应用层的配置。系统控制部分51、帧数据输入部分52和寄存器53在成像块21中实施。系统控制部分51与发送块22的LINK-TX协议管理部分61进行通信,并且通过提供关于帧格式的信息等来控制图像数据的传输。帧数据输入部分52响应于用户等的指令进行成像,并且将构成通过成像获得的图像的像素的数据提供给发送块22的像素-字节转换部分62。寄存器53存储像素-字节转换的位数、通道编号等的信息。图像数据的传输处理根据寄存器53中存储的信息而进行。 [0103] 同时,从应用层的配置内,帧数据输出部分141、寄存器142和系统控制部分143通过图像处理块132实施。帧数据输出部分141基于从接收块31向其提供的行的像素数据产生一帧图像,并且输出所产生的图像。使用从帧 数据输出部分141输出的图像进行各种处理。寄存器142存储与图像数据的接收有关的各种设定值,如字节-像素转换的位数和通道编号。图像数据的接收处理根据寄存器142中存储的信息而进行。系统控制部分143与LINK-RX协议管理部分121进行通信以控制模式改变序列等。
[0104] [发送块22的链路层的配置]
[0105] 首先描述发送块22的链路层的配置。
[0106] 发送块22包括LINK-TX协议管理部分61、像素-字节转换部分62、有效载荷ECC插入部分63、分组产生部分64和通道分配部分65,作为链路层的配置。LINK-TX协议管理部分61包括状态控制单元71、报头产生单元72、数据插入单元73和脚注产生单元74。 [0107] LINK-TX协议管理部分61的状态控制单元71管理发送块22的链路层的状态。 [0108] 报头产生单元72产生要添加至一行图像数据所置于的有效载荷的报头,并且将报头输出至分组产生部分64。
[0109] 图6示出报头产生单元72产生的报头的结构。
[0110] 如上所述,一个分组由报头和作为一行图像数据的有效载荷数据构成。有时将脚注添加至分组。报头由报头信息与Header ECC构成。
[0111] 报头信息包括Frame Start、Frame End、Line Valid、Line Number和Reserved。各种信息的内容和信息量图示在图7中。
[0112] Frame Start是一个位的信息,其代表帧的开头。对于图4的图像数据区域A11的第一行图像数据的传输所使用的分组的报头的Frame Start,设置1的值,而对于任何其它行的像素数据的传输所使用的分组的报头的Frame Start,设置0的值。
[0113] Frame End是1位的信息,其指示帧的结尾。对于有效载荷中包括有效像素区域A1的最后一行的像素数据的分组的报头的Frame End,设置1的值,而对于任何其它行的像素数据的传输所使用的分组的报头的Frame End,设置0的值。
[0114] Frame Start和Frame End是作为关于帧的信息的帧信息。
[0115] Line Valid是1位的信息,其代表置于有效载荷中的像素数据的行是否是有效像素的行。对于有效像素区域A1中的行中的像素数据的传输所使用的 分组的报头的Line Valid,设置1的值,而对于任何其它行中像素数据的传输所使用的分组的报头的Line Valid,设置0的值。
[0116] Line Number是13位的信息,其代表由置于有效载荷中的像素数据构成的行的行编号。
[0117] Line Valid和Line Number是作为关于行的信息的行信息。
[0118] Reserved是32位的区域,其用于扩展。整个报头信息的数据量是6个字节。 [0119] 如图6中看到的那样,与报头信息相邻布置的Header ECC包括:CRC(Cyclic Redundancy Check)码,其为基于6字节的报头信息计算出的2字节的出错检测码。Header ECC进一步包括与CRC码相邻的8字节的两条信息,其为报头信息和CRC码的组。 [0120] 特别地,一个分组的报头包括三组相同的报头信息和CRC码。整个报头的数据量总计24字节,其包括:第一组报头信息和CRC码的8个字节、第二组报头信息和CRC码的8个字节以及第三组报头信息和CRC码的8个字节。
[0121] 图8图示构成一组报头信息和CRC码的8个字节的位阵列的示例。
[0122] 参照图8,作为构成报头的八个字节的第一字节的字节H7从第一位起依次包括Frame Start、Frame End和Line Valid以及13位Line Number的第一~第五位的每一个的一位。进一步,作为第二个一个字节的字节H6包括来自Line Number的13个位之中的第六~第十三位。
[0123] 从作为第三个字节的字节H5到作为第六个字节的字节H2的各字节构成Reserved。作为第七个字节的字节H1和作为第八个字节的字节H0包括CRC码的各位。 [0124] 返回参照图5,报头产生单元72在系统控制部分51的控制下产生报头信息。例如,系统控制部分51提供代表要从帧数据输入部分52输出的像素数据的Line Number的信息和代表帧开头和结尾的信息。
[0125] 进一步,报头产生单元72将报头信息用于生成多项式以计算CRC码。要添加至报头信息的CRC码的生成多项式例如由下列表达式(1)表示:
[0126] CRC16=X16+X15+X2+1…(1)
[0127] 报头产生单元72将CRC码添加至报头信息以产生一组报头信息和CRC码,并且将相同组的报头信息和CRC码重复布置三组以产生报头。报头产生 单元72将产生的报头输出至分组产生部分64。
[0128] 数据插入单元73产生要用于填充的数据,并且将该数据输出至像素-字节转换部分62和通道分配部分65。将作为提供给像素-字节转换部分62的填充数据的有效载荷填充数据在像素-字节转换后添加至像素数据,并且用于要置于有效载荷中的像素数据的数据量的调节。同时,将作为提供给通道分配部分65的填充数据的通道填充数据在通道分配后添加至数据,并且用于通道之中数据量的调节。
[0129] 脚注产生单元74在系统控制部分51的控制下,将有效载荷数据适当地应用于生成多项式以计算32位的CRC码,并且将通过计算确定为脚注的CRC码输出至分组产生部分64。要作为脚注添加的CRC码的生成多项式例如由下列表达式(2)表示:
[0130] CRC32=X32+X31+X4+X3+X+1…(2)
[0131] 像素-字节转换部分62获取从帧数据输入部分52向其提供的像素数据,并且进行将每个像素的数据转换为以1字节为单位的数据的像素-字节转换。例如,成像块21拾取的图像的每个像素的像素值(RGB)由作为8位、10位、12位、14位和16位之一的位数表示。
[0132] 图9图示由8位表示每个像素的像素值的情况下的像素-字节转换的示例。 [0133] 参照图9,Data[0]表示LSB(least significant bit,最低有效位),而具有最高数字的Data[7]表示MSB(most significant bit,最高有效位)。如白色实线箭头标记所指示的,将表示像素N的像素值的八位Data[0]~Data[7]转换为由Data[0]~Data[7]形成的Byte N。在由8位表示每个像素的像素值的情况下,像素-字节转换后以字节为单位的数据数量等于像素数量。
[0134] 图10图示由10位表示每个像素的像素值的情况下的像素-字节转换的示例。 [0135] 在此情形下,将表示像素N的像素值的10位Data[0]~Data[9]转换为包括Data[2]~Data[9]的Byte 1.25*N。
[0136] 同样对于像素N+1~N+3,将表示该像素的像素值的10位Data[0]~Data[9]分别转换为包括Data[2]~Data[9]的Byte 1.25*N+1~Byte1.25*N+3。进一步,作为像素N~N+3的低阶位的Data[0]和Data[1]被采集并转换为Byte1.25*N+4。在由10位表示每个像素的像素值的情况下,像素-字节转换之后 以字节为单位的数据数量为像素数量的1.25倍。
[0137] 图11图示由12位表示每个像素的像素值的情况下的像素-字节转换的示例。 [0138] 在此情形下,将表示像素N的像素值的12位Data[0]~Data[11]转换为由Data[4]~Data[11]形成的Byte 1.5*N。
[0139] 同样对于像素N+1,将表示像素N+1的像素值的12位Data[0]~Data[11]转换为由Data[4]~Data[11]形成的Byete 1.5*N+1。进一步,作为像素N和N+1的低阶位的Data[0]~Data[3]被采集并转换为Byte 1.5*N+2。在由12位表示每个像素的像素值的情况下,像素-字节转换之后以字节为单位的数据数量为像素数量的1.5倍。 [0140] 图12图示由14位表示每个像素的像素值的情况下的像素-字节转换的示例。 [0141] 在此情形下,将表示像素N的像素值的14位Data[0]~Data[13]转换为包括Data[6]~Data[13]的Byte 1.75*N。
[0142] 同样对于像素N+1~N+3,将表示该像素的像素值的14位Data[0]~Data[13]分别转换为包括Data[6]~Data[13]的Byte 1.75*N+1~Byte 1.75*N+3。进一步,来自像素N~N+3的像素之中的剩余位被依次采集并转换为Byte 1.75*N+4。例如,将作为像素N的位的Data[0]~Data[5]和作为像素N+1的位的Data[0]和Data[1]转换为Byte1.75*N+4。
[0143] 类似地,将作为像素N+1的位的Data[2]~Data[5]和作为像素N+2的位的Data[0]~Data[3]转换为Byte 1.75*N+5,并且将作为像素N+2的位的Data[4]和Data[5]和作为像素N+3的位的Data[0]~Data[5]转换为Byte 1.75*N+6。在由14位表示每个像素的像素值的情况下,像素-字节转换之后以字节为单位的数据数量为像素数量的1.75倍。
[0144] 图13图示由16位表示每个像素的像素值的情况下的像素-字节转换的示例。 [0145] 在此情形下,将表示像素N的像素值的16位Data[0]~Data[15]转换为由Data[0]~Data[7]形成的Byte 2*N和由Data[8]~Data[15]形成的Byte 2*N+1。在由16位表示每个像素的像素值的情况下,像素-字节转换之后以字节为单位的数据数量为像素数量的2倍。
[0146] 图5中所示的像素-字节转换部分62例如按照以行的左端的像素开始的 次序,针对每个像素进行如上所述这样的像素-字节转换。进一步,像素-字节转换部分62将从数据插入单元73向其提供的有效载荷填充数据添加至通过像素-字节转换获得的字节为单位的像素数据以产生有效载荷数据,并且将有效载荷数据输出至有效载荷ECC插入部分63。
[0147] 图14图示了有效载荷数据的示例。
[0148] 图14图示了在由10位表示每个像素的像素值的情况下,包括通过像素-字节转换获得的像素数据的有效载荷数据。没有应用色彩的一个块表示以像素-字节转换后的字节为单位的像素数据。同时,应用了色彩的一个块表示由数据插入单元73形成的有效载荷填充数据。
[0149] 将像素-字节转换之后的像素数据以转换获得的次序分组为预定数量的组。在图14的示例中,将像素数据分组为组0~组15这16个组,并且将包括像素P0的MSB的像素数据分配给组0,将包括像素P1的MSB的像素数据分配给组1。进一步,将包括像素P2的MSB的像素数据分配给组2,并且将包括像素P3的MSB的像素数据分配给组3,而将包括像素P0~P3的LSB的像素数据分配给组4。
[0150] 此外,将像素P4的MSB的像素数据随后的像素数据依次分配给以组5开始的各个随后的组。当将某个像素数据分配给组15时,将随后的像素数据依次分配给以组0开始的组。注意,在表示像素数据的块之中,内部应用了三条虚线的那些块表示以像素-字节转换时产生的字节为单位的像素数据,从而它们包括像素N~N+3的LSB。
[0151] 在发送块22的链路层中,以如上所述这种方式进行分组,然后,针对时钟信号定义的每个时段,并行地针对位于组中相同位置的像素数据进行处理。特别地,在如图14所示那样将像素数据分配给16个分组的情况下,进行像素数据的处理以使得并置在每个列中的16个像素数据在同一时段内被处理。
[0152] 如上文所述,一个分组的有效载荷包括一行的像素数据。图14中所示的全部像素数据是构成一行的像素数据。尽管针对图4的有效像素区域A1中的像素数据的处理给出描述,但也连同有效像素区域A1的像素数据一起处理处理诸如余量区域A2之类的其它区域中的像素数据。
[0153] 在将一行的像素数据分组之后,添加有效载荷填充数据以使得各组具有相等的数据长度。有效载荷填充数据是一个字节数据。
[0154] 在图14的示例中,填充数据未添加至组0的像素数据,而是逐一添加至 组1~15的像素数据,如虚线框所示。由像素数据和填充数据形成的有效载荷的数据长度(字节)用下列表达式(3)表示:
[0155]
[0156] 其中,LineLength表示行的像素数,BitPix表示代表一个像素的像素值的位数,而PayloadStuffing表示有效载荷填充数据的数量。
[0157] 在如图14所示那样将像素数据分配给16个组的情况下,有效载荷填充数据的数量用下列等式(4)表示,其中%表示余数。
[0158]
[0159] 图15图示有效载荷数据的另一示例。
[0160] 更具体地,图15图示在由12位表示每个像素的像素值的情况下,包括通过像素-字节转换获得的像素数据的有效载荷。
[0161] 在图15的示例中,将包括像素P0的MSB的像素数据分配给组0,将包括像素P1的MSB的像素数据分配给组1,而将包括像素P0和像素P1的LSM的像素数据分配给组2。此外,将包括像素P2的MSB的像素数据随后的像素数据依次分配给以组3开始的随后组。进一步,在代表像素数据的块之中,其内部应用了一条虚线的那些块表示以像素-字节转换时产生的字节为单位的像素数据,以使得它们包括像素N和像素N+1的LSB。 [0162] 在图15的示例中,有效载荷填充数据未添加至组0和组1的像素数据,并且有效载荷填充数据逐一应用于组2~15的像素数据的端部(terminal end)。
[0163] 将具有如上所述这种配置的有效载荷数据从像素-字节转换部分62提供至有效载荷ECC插入部分63。
[0164] 有效载荷ECC插入部分63基于从像素-字节转换部分62向其提供的有效载荷数据,计算要用于有效载荷数据的出错校正的出错校正码,并且将作为通过计算确定出的出错校正码的奇偶位(parity)插入至有效载荷数据。作为出错校正码,例如使用Reed-Solomon码。进一步,出错校正码的插入是可选的,并且例如,通过有效载荷ECC插入部分63的奇偶位的插入和通过脚注产生单元74的脚注的添加中的仅仅一个是允许的。 [0165] 图16图示奇偶位插入到的有效载荷数据的示例。
[0166] 图16中所示的有效载荷数据是在如上面参照图15描述的那样由12位表示每个像素的像素值的情况下包括通过像素-字节转换获得的像素数据的有 效载荷数据。由格子图案指示的块表示奇偶位。
[0167] 在图16的示例中,以组的前面像素数据开始,从组0~15中的每一个连续选择14个像素数据,并且基于以此方式选择出的224个字节的总计224个像素数据,确定2字节的奇偶位。将2字节的奇偶位作为组0和1的第15个数据插入至用于计算的224个像素数据之后。由此,由224个像素数据和2字节的奇偶位形成第一Basic Block(基本块)。 [0168] 以此方式,像素-字节转换部分62基于224个像素数据基本上产生2字节的奇偶位,并且将2字节的奇偶位插入到224个像素数据之后。
[0169] 进一步,在图16的示例中,从组内连续选择第一Basic Block之后的224个像素数据,并且基于所选择的224个像素数据确定2字节的奇偶位。将2字节的奇偶位作为组2和3的第29个数据插入至用于计算的224个像素数据之后,并且由224个像素数据和2字节的奇偶位形成第二Basic Block。
[0170] 在16×M(其为某个Basic Block之后的像素数据和有效载荷填充数据的数量)未达到224的情况下,基于剩余的16×M个块(即,16×M个像素数据和有效载荷填充数据)确定2字节的奇偶位。进一步,将所确定出的2字节的奇偶位插入至有效载荷填充数据之后,并且由16×M个块和2字节的奇偶位形成Extra Block(额外块)。
[0171] 有效载荷ECC插入部分63将向其插入了奇偶位的有效载荷数据输出至分组产生部分64。如果未进行奇偶位的插入,则将从像素-字节转换部分62提供至有效载荷ECC插入部分63的有效载荷数据按照原样输出至分组产生部分64。
[0172] 分组产生部分64将报头产生单元72产生的报头添加至从有效载荷ECC插入部分63向其提供的有效载荷数据以产生分组。在通过脚注产生单元74进行脚注的产生的情况下,分组产生部分64也进行脚注向有效载荷数据的添加。
[0173] 图17图示将报头添加至有效载荷数据的状态。
[0174] 参照图17,添加了字符H0~H23的24个块指示以作为报头信息的CRC码的字节为单位的报头信息或报头数据。如上文参照图6所述,一个分组的报头包括三组的报头信息和CRC码。
[0175] 例如,报头数据H0~H5是第一组的6个字节的报头信息,报头数据H6和H7是第一组的2个字节的CRC码。报头数据H8~H13是第二组的报头信 息,报头数据H14和H15是第二组的CRC码。报头数据H16~H21是第三组的报头信息,报头数据H22和H23是第三组的CRC码。
[0176] 在图17的示例中,将报头数据H0~H7分别添加至组8~15的有效载荷数据。进一步,将报头数据H8~H23分别添加至组0~15的有效载荷数据。
[0177] 图18图示将报头和脚注添加至插入了奇偶位的有效载荷数据的状态。 [0178] 由添加了字符F0~F3所指示的四个块表示作为脚注产生的4个字节的CRC码的脚注数据。在图18的示例中,将脚注数据F0~F3分别添加至组0~3的有效载荷数据。 [0179] 图19图示将报头添加至插入了奇偶位的有效载荷数据的状态。
[0180] 在图19的示例中,与图17和18的情况下类似地,将报头数据H0~H23添加至图16的插入了奇偶位的有效载荷数据。
[0181] 分组产生部分64将作为配置以此方式产生的一个分组的数据的分组数据输出至通道分配部分65。将由报头数据和有效载荷数据配置的分组数据、由报头数据、有效载荷数据和脚注数据配置的分组数据、或者由报头数据和插入了奇偶位的有效载荷数据配置的分组数据提供至通道分配部分65。图6的分组结构是逻辑分组结构,并且在链路层和物理层中,以字节为单位处理具有图6的结构的分组的数据。
[0182] 通道分配部分65以前面数据开始依次将从分组产生部分64向其提供的分组数据分配给通道Lane0~Lane7之中的要用于数据传输的那些通道。
[0183] 图20图示分组数据的分配的示例。
[0184] 这里,描述如图18中所示的由报头数据、有效载荷数据和脚注数据配置的这种分组数据的分配。在实线白色箭头标记#1的前方,图示使用八个通道Lane0~Lane7进行数据传输的情况下的分组数据的分配的示例。
[0185] 在此情形下,以前面的报头数据开始依次将报头数据H0~H23分配给通道Lane0~Lane7。如果将某个报头数据分配给Lane 7,则将随后的报头数据连续分配给以Lane 0开始的通道。对于通道Lane0~Lane7中的每一个,分配三个报头数据。 [0186] 同时,以前面有效载荷数据开始依次将有效载荷数据分配给通道Lane0~Lane7。如果将某个有效载荷数据分配给Lane 7,则将随后的有效载荷数据连续分配给以Lane 0开始的通道。
[0187] 以前面有效载荷数据开始依次将脚注数据F0~F3分配给通道 Lane0~Lane7。在图20的示例中,将配置有效载荷数据的最后有效载荷填充数据分配给Lane 7,并且将脚注数据F0~F3逐一分配给通道Lane0~Lane3。
[0188] 黑色指示的块表示数据插入单元73产生的通道填充数据。将该通道填充数据分配给具有较少数量的数据的通道,以使得分配给通道的数据长度可以彼此相等。通道填充数据是一个字节的数据。在图20的示例中,将一个通道填充数据分配给所分配的数据数量较少的通道Lane4~Lane7中的每一个。
[0189] 在由报头数据、有效载荷数据和脚注数据配置分组数据情况下的通道填充数据的数量用下列表达式(5)表示:
[0190] LaneStuffing=LaneNum-((PayloadLength+FooterLength)%LaneNum)…(5) [0191] 其中,LaneNum是通道的数量,PayloadLength是有效载荷数据长度(字节),FooterLength是脚注长度(字节)。
[0192] 在由报头数据和插入了奇偶位的有效载荷数据形成分组数据的情况下,通道填充数据的数量由下列表达式(6)表示,其中ParityLength表示有效载荷中包括的奇偶位的总共的字节数量。
[0193] LaneStuffing=LaneNum-((PayloadLength+ParityLength)%LaneNum)…(6) [0194] 在实线白色箭头标记#2的前方,图示使用六个通道Lane0~Lane5进行数据传输的情况下的分组数据的分配的示例。
[0195] 在此情形下,以前面报头数据开始依次将报头数据H0~H23分配给通道Lane0~Lane5。如果将某个报头数据分配给Lane 5,则将随后的报头数据以Lane 0开始依次分配给各通道。将四个报头数据分配给通道Lane0~Lane5中的每一个。
[0196] 进一步,以前面有效载荷数据开始依次将有效载荷数据分配给通道Lane0~Lane5。如果将某个有效载荷数据分配给Lane 5,则将随后的有效载荷数据连续分配给以Lane 0开始的通道。
[0197] 以前面脚注数据开始依次将脚注数据F0~F3分配给通道。在图20的示例中,将配置有效载荷数据的最后有效载荷填充数据分配给Lane1,并且将脚注数据F0~F3逐一分配给通道Lane2~Lane5。由于Lane0~Lane5的分组数据的数量彼此相等,因此在此情形下,没有使用通道填充数据。
[0198] 在实线白色箭头标记#3的前方,图示使用四个通道Lane0~Lane3进行数据传输的情况下的分组数据的分配的示例。
[0199] 在此情形下,以前面报头数据开始依次将报头数据H0~H23分配给通道Lane0~Lane3。如果将某个报头数据分配给Lane 3,则将随后的报头数据以Lane 0开始依次分配给各通道。将六个报头数据分配给通道Lane0~Lane3中的每一个。
[0200] 进一步,以前面有效载荷数据开始依次将有效载荷数据分配给通道Lane0~Lane3。如果将某个有效载荷数据分配给Lane 3,则将随后的有效载荷数据连续分配给以Lane 0开始的通道。
[0201] 以前面脚注数据开始依次将脚注数据F0~F3分配给通道。在图20的示例中,将配置有效载荷数据的最后有效载荷填充数据分配给Lane 3,并且将脚注数据F0~F3逐一分配给通道Lane0~Lane3。由于Lane0~Lane3的分组数据的数量彼此相等,因此在此情形下,没有使用通道填充数据。
[0202] 通道分配部分65将以此方式分配给通道的分组数据输出至物理层。下面在原理上针对使用八个通道Lane0~Lane7发送数据的情况给出描述。然而,在要用于数据传输的通道的数量是不同数量的情况下,也进行类似的处理。
[0203] [发送块22的物理层的配置]
[0204] 现在描述发送块22的物理层的配置。
[0205] 返回参照图5,发送块22包括PHY-TX状态控制部分81、时钟产生部分82和信号处理部分83-0~83-N作为其物理层的配置。信号处理部分83-0包括控制码插入单元91、8B10B码元编码器92、同步单元93和发送单元94。将通道分配部分65输出的并且分配给Lane 0的分组数据输入至信号处理部分83-0,而将分配给Lane1的分组数据输入至信号处理部分83-1。进一步,将分配给Lane N的分组数据输入至信号处理部分83-N。 [0206] 以此方式,发送块22的物理层包括数量等于通道的数量的多个信号处理部分
83-0~83-N,以便要使用通道发送的分组数据的处理通过信号处理部分83-0~83-N并行地进行。尽管在下面描述信号处理部分83-0的配置,但是信号处理部分83-1~83-N也具有类似的配置。
[0207] PHY-TX状态控制部分81控制信号处理部分83-0~83-N。例如,PHY-TX状态控制部分81控制要由信号处理部分83-0~83-N进行的处理的时序。
[0208] 时钟产生部分82产生时钟信号,并且将时钟信号输出至信号处理部分83-0~83-N的同步单元93。
[0209] 信号处理部分83-0的控制码插入单元91将控制码添加至从通道分配部分65向其提供的分组数据。控制码是由从预先准备的多个不同的码元之中选择出的单个码元或者多个不同码元的组合表示的码。控制码插入单元91插入的每个码元是8位的数据。控制码插入单元91插入的一个码元通过后级的电路经历8B10B转换,从而将其转换为10位的数据。另一方面,接收块31如下文描述的那样对接收数据进行10B8B转换。接收数据中包括的10B8B转换之前的每个码元为10位数据,10B8B转换之后的每个码元是8位数据。 [0210] 图21图示要由控制码插入单元91添加的控制码的示例。
[0211] 作为控制码,Idle Code、Start Code、End Code、Pad Code、Sync Code、Deskew Code和Standby Code是可用的。
[0212] Idle Code是在除了分组数据发送时段以外的时段内重复发送的码元组。Idle Code由作为8B10B Code的D字符的D00.0(00000000)表示。
[0213] Start Code是表示分组开始的码元组。如上文所述,将Start Code添加至分组的前面。Start Code由K28.5,K27.7,K28.2和K27.7(其为三种类型K字符的组合)这四个码元表示。K字符值示出在图22中。
[0214] End Code是表示分组末端的码元组。如上文所述,将End Code添加至分组的尾部。End Code由K28.5,K29.7,K30.7和K29.7(其为三种类型K字符的组合)这四个码元表示。
[0215] Pad Code是插入至有效载荷以便填充像素数据带和PHY传输带之间的差异的码元组。像素数据带是从成像部分21输出的并且向发送块22输入的像素数据的传输速率,PHY传输带是从发送块22发送的并且向接收块31输入的像素数据的传输速率。Pad Code由K23.7,K28.4,K28.6和K28.7(其为三种类型K字符的组合)这四个码元表示。 [0216] 图23图示Pad Code的插入的示例。
[0217] 图23的上面部分图示了在插入Pad Code之前向不同通道分配的有效载荷数据,下面部分图示了插入Pad Code之后的有效载荷数据。在图22的示例中,将Pad Code插入在从前面像素数据起的第三像素数据和第四像素数据之间、第六像素数据和第七像素数据之间、第十二像素数据和第十三像素数据之间。以此方式,将Pad Code插入在通道Lane0~Lane7的有效载荷的相同位置上。
[0218] Pad Code至分配给Lane 0的有效载荷数据的插入由信号处理部分83-0 的控制码插入单元91进行。此外,Pad Code至分配给任何其它通道的有效载荷的插入类似地由信号处理部分83-1~83-N在同一时刻进行。Pad Code的数量基于像素数据带和PHY传输带之间的差异、时钟产生部分82产生的时钟信号的频率等来确定。
[0219] 以此方式,在像素数据带窄并且PHY传输带宽的情况下,插入PAD码以便调节带之间的差异。例如,调节像素数据带和PHY传输带之间的差异以使得其通过PAD码的插入可落入固定范围内。
[0220] 返回参照图21,Sync Code用以确保发送块22和接收块31之间的位同步和码元同步。Sync Code由K28.5和Any**这两个码元表示。Any**表示可以使用任何种类的码元。例如在发送块22和接收块31之间开始分组数据传输之前在训练(training)模式下重复地发送Sync Code。
[0221] Deskew Code是用于校正通道之间的Data Skew(即,用于校正接收块31的通道接收数据的接收时刻的位移)的码元组。Deskew Code由K28.5和Any**这两个码元表示。下文描述使用Deskew Code校正通道之间的Data Skew。
[0222] Standby Code是用于向接收块31通知发送块22的输出进入诸如High-Z(高阻)状态这样的状态并且数据传输被禁止的码元组。具体地,当分组数据的传输结束并且进入Standby状态时,将Standby Code发送至接收块31。Standby Code由K28.5和Any**这两个码元表示。
[0223] 控制码插入单元91将如上所述这些控制码添加到的分组数据输出至8B10B码元编码器92。
[0224] 图24图示控制码插入后的分组数据的示例。
[0225] 参照图24,信号处理部分83-0~83-N分别将Start Code添加至分组数据的前面,并且将Pad Code添加至有效载荷数据。将End Code添加至分组数据的尾部,并且将Deskew Code添加至End Code的尾部。在图24的示例中,将Idle Code添加至Deskew Code的尾部。
[0226] 8B10B码元编码器92对从控制码插入单元91向其提供的并且添加了控制码的分组数据进行8B10B转换,并且将被转换为以10位为单位的数据的分组数据输出至同步单元93。
[0227] 同步单元93根据时钟产生部分82产生的时钟信号,将从8B10B码元编码器92向其提供的分组数据的位输出至发送单元94。
[0228] 发送单元94经由配置Lane 0的传输线,将从同步单元93向其提供的分 组数据发送至接收块31。在使用八个通道进行数据传输的情况下,配置Lane1~Lane 7的传输线也用于将分组数据发送至接收块31。
[0229] [接收块31的物理层的配置]
[0230] 现在描述接收块31的物理层的配置。
[0231] 参照图5,接收块31包括PHY-RX状态控制部分101和信号处理部分102-0~102-N作为物理层的配置。信号处理部分102-0包括接收单元111、时钟产生单元112、同步单元113、码元同步单元114、10B8B码元解码器115、偏移(skew)校正单元116和控制码去除单元117。将通过构成Lane 0的传输线发送的分组数据输入至信号处理部分102-0,将通过构成Lane1的传输线发送的分组数据输入至信号处理部分102-1。进一步,将通过构成Lane N的传输线发送的分组数据输入至信号处理部分102-N。
[0232] 以此方式,在接收块31的物理层中提供数量与通道的数量相等的多个信号处理部分102-0~102-N,以便使用通道发送的分组数据的处理分别通过信号处理部分102-0~102-N并行地进行。尽管下面针对信号处理部分102-0的配置给出描述,然而信号处理部分
102-1~102-N也具有类似的配置。
[0233] 接收单元111接收表示从发送块22经由构成Lane 0的传输线向其发送的分组数据的信号,并且将该信号输出至时钟产生单元112。
[0234] 时钟产生单元112检测从接收单元111向其提供的信号的边沿以建立位同步,并且基于边沿的检测时段产生时钟信号。时钟产生单元112将从接收单元111向其提供的信号连同时钟信号一起输出至同步单元113。
[0235] 同步单元113根据时钟产生单元112产生的时钟信号,对接收单元111接收到的信号进行采样,并且将通过采样获得的分组数据输出至码元同步单元114。时钟产生单元112和同步单元113实现用于CDR(Clock Data Recovery,时钟数据恢复)的功能。 [0236] 码元同步单元114检测分组数据中包括的控制码或者检测控制码中包括的某些码元以建立码元同步性。例如,码元同步单元114检测Start Code、End Code或Deskew Code中包括的K28.5的码元以建立位同步性。码元同步单元114将表示每个码元的10位为单位的分组数据输出至10B8B码元解码器115。
[0237] 进一步,在分组数据传输开始之前的训练模式下,码元同步单元114检测从发送块22重复性地向其发送的Sync Code中包括的码元之间的边界以建 立码元同步性。 [0238] 10B8B码元解码器115对从码元同步单元114向其提供的以10位为单位的分组数据进行10B8B转换,并且将通过转换为8位单位的数据所获得的分组数据输出至偏移校正部分116。
[0239] 偏移校正部分116检测从10B8B码元解码器115向其提供的分组数据之中的Deskew Code。将关于偏移校正部分116对于Deskew Code的检测时刻的信息提供至PHY-RX状态控制部分101。
[0240] 进一步,偏移校正部分116将Deskew Code的定时调整为由PHY-RX状态控制部分101向其提供的信息所表示的定时,以校正通道之间的Data Skew。表示来自信号处理部分
102-0~102-N检测到的Deskew Code的定时之中的最近定时的信息从PHY-RX状态控制部分101提供。
[0241] 图25图示使用Deskew Code校正通道之间的Data Skew的示例。
[0242] 参照图25,在图示的示例中,通过通道Lane0~Lane7中的每一个,进行Sync Code,Sync Code,…,Idle Code,Deskew Code,Idle Code,…Idle Code,Deskew Code的传输,并且控制码由接收块31接收。同一控制码的接收时刻在不同通道之间是不同的,并且在不同通道之间呈现Data Skew。
[0243] 在此情形下,偏移校正单元116检测作为第一Deskew Code的Deskew Code C1,并且校正Deskew Code C1的前面的时刻以便与从PHY-RX状态控制部分101向其提供的信息所表示的时间t1一致。关于来自针对通道Lane0~Lane7检测Deskew Code C1的时刻之中的呈现最近时刻的、针对Lane7检测Deskew Code C1的时间t1的信息从PHY-RX状态控制部分101提供。
[0244] 进一步,偏移校正单元116检测作为第二Deskew Code的Deskew CodeC2,并且校正Deskew Code C2的前面的时刻以便与从PHY-RX状态控制部分101向其提供的信息所表示的时间t2一致。来自针对通道Lane0~Lane7检测Deskew Code C2的时刻之中的呈现最近时刻的、针对Lane 7检测Deskew Code C2的时间t2的信息从PHY-RX状态控制部分101提供。
[0245] 如在图25中的箭头标记#1的前方所指示的那样,信号处理部分102-1~102-N各自进行类似的处理以校正通道之间的Data Skew。
[0246] 偏移校正单元116将校正了Data Skew的分组数据输出至控制码去除单元117。 [0247] 控制码去除单元117去除向分组数据添加的控制码,并且将从Start Code 至End Code的数据作为分组数据输出至链路层。
[0248] PHY-RX状态控制部分101控制信号处理部分102-0~102-N的各组件以进行通道之间Deskew Code的校正。进一步,如果在预定通道中出现传输出错并且控制码丢失,则PHY-RX状态控制部分101添加通过不同的通道发送的控制码代替丢失的控制码,以进行控制码的出错校正。
[0249] [接收块31的链路层的配置]
[0250] 现在描述接收块31的链路层的配置。
[0251] 参照图5,接收块31包括LINK-RX协议管理部分121、通道整合部分122、分组分离部分123、有效载荷出错校正部分124和字节-像素转换部分125作为链路层的配置。LINK-RX协议管理部分121包括状态管理单元131、报头出错校正单元132、数据去除单元
133和脚注出错检测单元134。
[0252] 通道整合部分122对从物理层的信号处理部分102-0~102-N向其提供的分组数据进行重排,以使得分组数据的顺序与通过发送块22的通道分配部分65的通道分配顺序相反,从而整合分组数据。
[0253] 例如,如果以图20的箭头标记#1的前方所指示的这种方式进行通道分配部分65对于分组数据的分配,则通过通道整合部分122进行的来自通道的分组数据的整合,获取图20中左侧的分组数据。当整合各通道的分组数据时,通道整合部分122在数据去除单元133的控制下去除通道填充数据。通道整合部分122将整合的分组数据输出至分组分离部分123。
[0254] 分组分离部分123将通道整合部分122整合的一个分组的分组数据分离为构成报头数据的分组数据和构成有效载荷数据的分组数据。分组分离部分123将报头数据输出至报头出错校正单元132,并且将有效载荷数据输出至有效载荷出错校正部分124。 [0255] 进一步,如果分组包括脚注,则分组分离部分123将一个分组的数据分离为构成报头数据的分组数据、构成有效载荷数据的分组数据和构成脚注数据的分组数据。分组分离部分123将报头数据输出至报头出错校正单元132,并且将有效载荷数据输出至有效载荷出错校正部分124。进一步,分组分离部分123将脚注数据输出至脚注出错检测单元134。 [0256] 如果分组分离部分123提供的有效载荷数据包括插入在其之中的奇偶位,则有效载荷出错校正部分124基于该奇偶位进行出错校正算术运算以检测有效载荷数据的出错,并且进行检测到的出错的校正。例如,如果以如图 16中看到的这种方式插入奇偶位,则有效载荷出错校正部分124使用插入在第一Basic Block最后的两个奇偶位来进行奇偶位之前的224个像素数据的出错校正。
[0257] 有效载荷出错校正部分124将通过针对每个Basic Block和Extra Block进行出错校正所获得的出错校正后的像素数据输出至字节-像素转换部分125。如果在从分组分离部分123提供的有效载荷数据中没有插入奇偶位,则将从分组分离部分123提供的有效载荷数据按照原样输出至字节-像素转换部分125。
[0258] 字节-像素转换部分125在数据去除单元133的控制下,去除从有效载荷出错校正部分124向其提供的有效载荷数据中包括的有效载荷填充数据。
[0259] 进一步,字节-像素转换部分125进行以通过去除有效载荷填充数据获得的字节为单位的像素数据至以8位、10位、12位、14位或16位为单位的像素数据的字节-像素转换。字节-像素转换部分125进行与上文参照图9~13描述的发送块22的像素-字节转换部分62的像素-字节转换相反的转换。
[0260] 字节-像素转换部分125将通过字节-像素转换获得的8位、10位、12位、14位或16位为单位的像素数据输出至帧数据输出部分141。帧数据输出部分141基于字节-像素转换部分125获得的像素数据产生例如由报头信息的Line Valid指定的有效像素的行。这些行根据报头信息的Line Number排列,以产生一帧图像。
[0261] LINK-RX协议管理部分121的状态管理单元131管理接收块31的链路层的状态。 [0262] 报头出错校正单元132基于从分组分离部分123向其提供的报头数据获取三组的报头信息和CRC码。报头出错校正单元132针对三组报头信息和CRC码中的每一个,使用同一组中的报头信息和CRC码进行出错检测算术运算,该出错检测算术运算是用于检测报头信息的出错的算术运算。
[0263] 进一步,报头出错校正单元132基于每组的报头信息的出错校正结果和出错检测算术运算确定出的数据的比较结果中的至少一个估计正确的报头信息,并且输出被估计为正确的报头信息和解码结果。出错检测算术运算确定出的数据是通过将CRC的生成多项式应用于报头信息所确定出的值。进一步,解码结果是表示解码成功或解码失败的信息。 [0264] 将三组报头信息和CRC码称为组1、组2和组3。在此情形下,报头出 错校正单元132对组1进行出错检测算术运算以获取关于组1的报头信息是否包括出错(即,出错检测结果)的信息以及作为由出错检测算术运算确定出的数据的数据1。进一步,报头出错校正单元132对组2进行出错检测算术运算以获取关于组2的报头信息是否包括出错的信息以及作为由出错检测算术运算确定出的数据的数据2。进而,报头出错校正单元132对组
3进行出错检测算术运算以获取关于组3的报头信息是否包括出错的信息以及作为由出错检测算术运算确定出的数据的数据3。
[0265] 进一步,报头出错校正单元132判定数据1和数据2是否彼此一致、数据2和数据3是否彼此一致、数据3和数据1是否彼此一致。
[0266] 例如,如果通过针对组1、组2和组3的出错检测算术运算没有检测到出错并且通过出错检测算术运算确定出的数据的比较结果彼此一致,则报头出错校正单元132选择表示解码成功的信息作为解码结果。进一步,报头出错校正单元132估计所有的报头信息是正确的,并且选择组1的报头信息、组2的报头信息和组3的报头信息中的一个作为输出信息。
[0267] 另一方面,如果仅在针对组1的出错检测算术运算中没有检测到出错,则报头出错校正单元132选择表示解码成功的信息作为解码结果,估计组1的报头信息是正确的,并且选择组1的报头信息作为输出信息。
[0268] 然而,如果仅在针对组2的出错检测算术运算中没有检测到出错,则报头出错校正单元132选择表示解码成功的信息作为解码结果,估计组2的报头信息是正确的,并且选择组2的报头信息作为输出信息。
[0269] 进一步,如果仅在针对组3的出错检测算术运算中没有检测到出错,则报头出错校正单元132选择表示解码成功的信息作为解码结果,估计组3的报头信息是正确的,并且选择组3的报头信息作为输出信息。
[0270] 报头出错校正单元132将以如上所述这种方式选择的解码结果和输出信息输出至寄存器142以便存储。以此方式,通过使用CRC码检测不具有出错的报头信息并且输出所检测到的报头信息,进行报头出错校正单元132对于报头信息的出错校正。 [0271] 数据去除单元133控制通道整合部分122去除通道填充数据,并且控制字节-像素转换部分125去除有效载荷填充数据。
[0272] 脚注出错检测单元134基于从分组分离部分123提供的脚注数据获取置于脚注中的CRC码。脚注出错检测单元134使用所获取的CRC码进行出错 检测算术运算以检测有效载荷数据的出错。脚注出错检测单元134输出出错检测结果以便将其存储在寄存器142中。
[0273] <图像传感器11和DSP12的工作>
[0274] 现在描述具有如上所述这种配置的发送块22和接收块31的一系列处理。 [0275] 首先参照图26的流程图描述具有传输系统1的成像装置的工作。例如当按下成像装置上提供的快门按钮以发出开始成像的指令时,图26的处理开始。
[0276] 首先,在步骤S1,图像传感器11的成像部分21进行成像。成像部分21的图5中所示的帧数据输入部分52将通过成像获得的构成一帧图像的图像数据依次逐像素数据地输出。
[0277] 在步骤S2,进行发送块22的数据发送处理。通过数据发送处理,产生在分组的有效载荷中放置了一行的像素数据的分组,并且将构成该分组的分组数据发送至接收块31。下文参照图27的流程图描述数据发送处理。
[0278] 在步骤S3,接收块31进行数据接收处理。通过数据接收处理,接收从发送块22发送的分组数据,并且将置于有效载荷中的像素数据输出至图像处理块32。下文参照图28的流程图描述数据接收处理。
[0279] 发送块22在步骤S2进行的数据发送处理和接收块31在步骤S3进行的数据接收处理针对一行像素数据交替地进行。具体地,当通过数据发送处理发送了一行像素数据时,进行数据接收处理,而当通过数据接收处理接收到一行像素数据时,针对下一行的像素数据进行数据发送处理。发送块22的数据发送处理和接收块31的数据接收处理有时适当地在时间上并行地进行。在步骤S4,图像处理块32的帧数据输出部分141判定构成一帧图像的所有行的像素数据的发送和接收是否结束。如果判定发送和接收未结束,则重复进行以步骤S2开始的各步骤的处理。
[0280] 如果在步骤S4判定构成一帧图像的所有行的像素数据的发送和接收结束,则图像处理块32的帧数据输出部分141在步骤S5基于从接收块31向其提供的像素数据产生一帧图像。
[0281] 在步骤S6,图像处理块32使用一帧图像进行图像处理,然后结束处理。 [0282] 现在参照图27的流程图描述在图26的步骤S2进行的数据发送处理。 [0283] 在步骤S11,报头产生单元72产生包括Frame Start、Frame End、Line Valid、Line Number和Reserved的报头信息。
[0284] 在步骤S12,报头产生单元72通过将报头信息应用于生成多项式计算CRC码。 [0285] 在步骤S13,报头产生单元72将CRC码添加至报头信息以产生一组报头信息和CRC码,并且重复地布置三个这种组的报头信息和CRC码以产生报头。
[0286] 在步骤S14,像素-字节转换部分62获取从帧数据输入部分52提供的像素数据,并且进行图像数据的像素-字节转换。像素-字节转换部分62以利用像素-字节转换、有效载荷填充数据的添加等所获得的字节为单位,输出通过进行图像数据的分组所产生的有效载荷数据。奇偶位由有效载荷ECC插入部分63适当地插入至有效载荷数据。 [0287] 在步骤S15,分组产生部分64基于包括一行图像数据的有效载荷和报头产生单元72产生的报头来产生分组,并且输出构成一个分组的分组数据。
[0288] 在步骤S16,通道分配部分65将从分组产生部分64向其提供的分组数据分配给要用于数据传输的多个通道。
[0289] 在步骤S17,控制码插入单元91将控制码添加至从通道分配部分65向其提供的分组数据。
[0290] 在步骤S18,8B10B码元编码器92对控制码添加到的分组数据进行8B10B转换,并且在转换为以10位为单位的数据之后输出分组数据。
[0291] 在步骤S19,同步单元93根据时钟产生部分82产生的时钟信号,输出从8B10B码元编码器92提供的分组数据,以便从发送单元94发送分组数据。步骤S17~S19的处理由信号处理部分83-0~83-N并行地进行。当一行图像数据的传输结束时,处理返回到步骤图26的步骤S2,以便进行以步骤S2开始的各步骤的处理。
[0292] 现在参照图28的流程图描述图26的步骤S3进行的数据接收处理。 [0293] 在步骤S31,接收单元111接收表示从发送块22向其发送的分组数据的信号。步骤S31~S36的处理通过信号处理部分102-0~102-N并行地进行。
[0294] 在步骤S32,时钟产生单元112检测从接收单元111向其提供的信号的边沿以建立位同步性。同步单元113对接收单元111接收到的信号进行采样,并且将分组数据输出至码元同步单元114。
[0295] 在步骤S33,码元同步单元114检测分组数据中包括的控制码以建立码 元同步性。
[0296] 在步骤S34,10B8B码元解码器115在码元同步之后对分组数据进行10B8B转换,并且在转换至以8位为单位的数据之后输出分组数据。
[0297] 在步骤S35,偏移校正单元116检测Deskew Code,并且校正通道之间的Data Skew,以便将Deskew Code的定时调节至由PHY-RX状态控制部分101提供的信息所表示的定时。
[0298] 在步骤S36,控制码去除单元117将添加至分组数据的控制码去除。 [0299] 在步骤S37,通道整合部分122将从信号处理部分102-0~102-N向其提供的分组数据进行整合。
[0300] 在步骤S38,分组分离部分123将通道整合部分122整合的分组数据分离为构成报头数据的分组数据和构成有效载荷数据的分组数据。
[0301] 在步骤S39,报头出错校正单元132针对分组分离部分123分离的报头数据中包括的报头信息和CRC码的每一个组,使用CRC码进行出错检测算术运算。进一步,报头出错校正单元132基于这些组的出错检测结果和出错检测算术运算确定的数据的比较结果,选择没有出错的报头信息,并且输出没有出错的报头信息。
[0302] 在步骤S40,字节-像素转换部分125对有效载荷数据进行字节-像素转换,并且输出以10位、12位、14位或16位为单位的像素数据。对于成为字节-像素转换的对象的有效载荷数据,使用奇偶位的出错校正通过有效载荷出错校正部分124适当地进行。 [0303] 当一行的像素数据的处理结束时,处理返回至图26的步骤S3,以便进行以步骤S3开始的各步骤的处理。
[0304] 以如上所述这种方式,使用一帧的一行对应于一个分组的分组格式进行图像传感器11和DSP12之间的数据传输。
[0305] 可以将用于图像传感器11和DSP 12之间的数据传输的分组格式看作将报头信息和指示分组界限的控制码(如,Start码和End码)的传输抑制到最小的格式,并且可以防止传输效率的下降。如果采用其中置于一个分组的有效载荷中的像素数据量小于一行的像素数据量的分组格式,那么为了发送完整的一帧像素数据,需要发送更多数量的分组。然后,随着要发送的报头信息和控制码的数量增加,传输效率下降。
[0306] 进一步,变得可以通过防止传输效率下降来抑制传输等待时间(latency), 并且可以实现需要高速发送大量图像数据的高像素速率(pixel rate)和高帧速率(frame rate)的接口。
[0307] 通过采用预示传输的可靠性/冗余得到提升并且由接收块31侧进行出错校正的分组格式,可以确保报头信息的传输出错对策。由于使用报头信息进行Frame/Line(V/H)等的同步信息的传输,因此如果报头信息由于传输出错丢失,那么存在系统会遭受重大故障的可能性。然而,可以防止这种情形。
[0308] 此外,可以抑制用于确保报头信息的传输出错对策的安装成本或功耗的增加。具体地,根据用于图像传感器11和DSP 12之间的数据传输的分组格式,由于添加了CRC码,因此DSP 12可以检测报头信息是否包括传输出错。进一步,通过发送三组的报头信息和CRC码,当出现报头信息的传输出错时,DSP12可以校正报头信息以校正信息。 [0309] 如果假设将出错校正码用作报头信息的传输出错对策,那么需要在发送块22中准备进行出错校正码的计算的电路,并且在接收块31中准备进行出错校正算术运算的电路。由于将作为出错检测码的CRC码添加至报头信息,因此电路规模和功耗相比于准备用于进行关于出错校正的算术运算的电路的替代情况可以得到降低。进一步,当检测报头信息的出错时,由于接收块31不请求发送块22重新发送报头信息,因此不需要准备相反方向的传输线用于重新发送请求。
[0310] 通过提升冗余并且组合8B10B码的多个K字符以配置控制码,可以降低控制码的出错概率。从而,可以通过相当简单的电路确保针对控制码的传输出错对策。 [0311] 特别地,尽管将三种类型K字符的四个码元组合地用于Start Code,但是如果至少可以检测除了K28.5以外的码元,则接收块31可以指定Start Code。因此,可以认为抗传输出错特性是高的。这类似地也适用于End Code。
[0312] 进一步,尽管将四种类型K字符组合地用于Pad Code,但是通过分配相比于其它控制码更多数量种类的K字符,可以使得抗出错特性比其它控制码的更高。特别地,如果可以检测四种类型之中的一种码元,那么接收块31可以指定Pad Code。由于Pad Code在传输频率上高于Start Code或End Code,因此其配备有可以确保更高抗出错特性的结构。 [0313] 进一步,即使在通过各个通道同时发送相同控制码并且一个通道出现传输出错而导致控制码丢失的情况下,也可以使用其它通道的控制码来再现已 出现错误的控制码。 [0314] 进一步,由于K字符的数量是有限的,因此组合最小数量的字符来配置每个控制码。例如,对于通过重复传输可以相对地允许传输出错的Sync Code、Deskew Code和Standby Code,使用不要求额外分配K字符的这种数据结构。
[0315] 因为将重新同步所需的控制码分配给每一个分组(即,分配给每一条线),所以当由于诸如静电或噪声之类的干扰而失去位同步性的时候,可以快速地建立重新同步性。进一步,可以将同步性的失去对于传输出错的影响抑制到最小。
[0316] 特别地,在由时钟产生单元112和同步单元113实现的CDR中,可以通过在8B10B转换之后检测位数据的转变/边沿来建立位同步性。如果发送块22继续发送数据,则可以在估计为CDR定时间的时段内建立位同步性。
[0317] 进一步,即使在失去码元同步性的情况下,通过码元同步单元114检测特定的K字符(K28.5),也可以快速地进行重新同步。由于在Start Code、End Code和Deskew Code中使用K28.5,因此在一个分组的分组数据的传输时段内,可以在三个位置建立码元同步性。 [0318] 进一步,通过使得可以使用Deskew Code校正通道之间的Data Skew,也可以建立通道之间的同步性。
[0319] 通过配置链路层以使得以16个数据的组为单位(在图14的示例的情况下,以16字节为单位)并行地处理分组数据,电路规模或存储量相比于在一个时钟时段中逐一处理分组数据的替代情况可以得到抑制。关于安装,在对于分组数据的逐一处理和对于预定数量单位的统一处理之间,后者可以抑制电路规模等。由于可以抑制电路规模,因此也可以抑制功耗。
[0320] 进一步,通过在通道分配时将连续的分组数据分配给不同的通道,抗出错特性可以得到提升。即使跨越多个连续分组数据,出现超过了某个通道中奇偶位的出错校正容量的错误,如果接收块31进行通道结合(coupling),则出现出错的分组数据的位置分散,并且这有时使得使用奇偶位的出错校正是可能的。利用奇偶位的出错校正容量依赖于奇偶位长度。
[0321] 进一步,通过以比更靠近物理层的级别(order)是较低级别的通道分配和通道整合更高的级别进行ECC处理,可以缩小发送块22和接收块31的电路规模。例如,如果发送块22在进行分组数据至通道的分配之后将ECC的奇偶位插入至有效载荷,那么需要为每个通道准备有效载荷ECC插入部分,导 致电路规模的增大。然而,可以防止如刚才所述的这种情形。
[0322] 在物理层中,尽管通过多个电路进行分组数据的并行处理,但如果共用PHY-TX状态控制部分81和时钟产生部分82,则相比于为每个通道准备那些电路的替代情况,可以实现电路的简单化。进一步,通过不同通道使用不发送控制码的协议,可以期待处理通道的分组数据的电路的简单化。
[0323] <通道数量的切换>
[0324] 不仅在普通的数据传输时而且例如在切换通道的编号时进行经由通道在同一时刻发送相同的控制码。此外,在切换通道的编号的情况下,活动(即,用于数据传输)的那些通道具有相同的状态。
[0325] 图29图示切换通道编号的情况下的控制顺序。
[0326] 在图29的右侧,图示了垂直同步信号XVS和水平驱动信号XHS的时序。在直到检测到垂直同步信号的时间t1为止的时段内,根据水平同步信号发送构成一帧图像的各行的图像。然后,在时间t1的时刻,活动通道的数量从四个通道变为两个通道。这更具体地加以描述。注意,直至时间t1,使用四个通道进行数据传输。
[0327] 在图29基本中间的垂直方向上图示了通道的状态。“PIX DATA”表示通过字符应用到的通道进行像素数据的传输。“PIX DATA”之后的“E”、“BLK”和“S”分别表示Frame End、消隐时段和Frame Start。
[0328] 如果要发送的帧的像素数据的传输在直到t1为止的帧时段中结束,那么图像处理块32在步骤S81指令接收块31将通道数量从4切换至2。接收块31在步骤S71接收来自图像处理块32的指令。
[0329] 然后,当到达时间t1时,图像处理块32在步骤S82将模式改变请求发布至图像传感器11的成像部分21。发送至成像块21的模式改变请求也包括表示要将通道数量从4切换为2的信息。尽管在图1等中未示出,但是提供了用于将关于成像的预设值(如,快门速度和增益)的信息从图像处理块32发送至成像块21的传输线。此外,经由该传输线将模式改变请求发送至成像块21。
[0330] 在步骤S51,成像块21接收来自图像处理块32的模式改变请求,并且在步骤S52将用以把通道数量从4切换到2的指令发布至发送部分22。在步骤S61,发送块22接收来自成像块21的指令。
[0331] 在发送块22和接收块31之间进行Standby Sequence(待机序列)的处理,并且使用通道Lane0~Lane3将Standby Code从发送块22重复地发送至接收块31。当Standby Sequence处理结束时,保持活动状态的通道Lane0和Lane1具有Low(低)状态,而结束数据传输的通道Lane2和Lane3具有High-Z(高阻)状态。
[0332] 在发送块22和接收块31之间,进行Training Sequence(训练序列)的处理,并且使用通道Lane0和Lane1将Sync Code从发送块22重复地发送至接收块31。在接收块31中,确保位同步性,并且通过Sync Code的检测确保码元同步性。
[0333] 当Training Sequence处理结束时,接收块31在步骤S73向图像处理块32通知准备结束。在步骤S84,图像处理块32接收来自接收块31的通知,并且当通道数量要切换时的控制序列与其一起结束。
[0334] 以此方式,在用于切换通道数量的控制序列中,结束了数据传输的通道Lane2和Lane3在处理Standby Sequence时发送Standby Code,从而它们可具有与持续用于数据传输的通道Lane0和Lane1的状态相同的状态。尽管例如通道Lane2和Lane3在不进行Standby Code的传输的情况下按照原样保持处于High-Z状态看上去是可能的构想,但是它们开始具有与持续用于数据传输的那些通道不同的状态,导致控制的复杂。 [0335] <计算机的配置的示例>
[0336] 尽管上面描述的一系列处理可以用硬件运行,但是其也可以另外用软件运行。在用软件运行一系列处理的情况下,将构成软件的程序从程序记录介质安装至并入在硬件中以供专用的计算机、通用的个人计算机等。
[0337] 图30示出根据程序运行上述一系列处理的计算机的硬件配置的示例。 [0338] 参照图30,在所示的计算机中,中央处理单元(CPU)301、只读存储器(ROM)302和随机存取存储器(RAM)303通过总线304相互连接。
[0339] 进一步,输入/输出接口305连接至总线304。包括键盘鼠标等的输入部分306以及包括显示单元、扬声器等的输出部分307连接至输入/输出接口305。此外,由硬盘非易失性存储器等形成的存储部分308、由网络接口等形成的通信部分309和用于驱动可拆卸介质311的驱动器310连接至输入/输出接口305。
[0340] 在以如上所述这种方式配置的计算机中,CPU 301通过输入/输出接口305和总线304将例如存储在存储部分308中的程序加载至RAM 303,并且运行程序以进行上述的一系列处理。
[0341] 要由CPU 301运行的程序可以记录于并且提供为(例如)可拆卸介质311,或者可以通过诸如局域网、因特网或数字广播之类的有线或无线传输介质加以提供,并且安装至存储部分308。
[0342] 注意,要由计算机运行的程序可以是以本说明书中描述的次序按时间顺序进行处理的类型,或者可以是在必要时刻(如,当调用处理时)并行运行或单独运行处理的类型。 [0343] 尽管已经使用特定术语描述了所公开技术的优选实施例,但是这种描述时用于说明的目的,并且要理解,在不脱离所附权利要求的精神或范围的情况下可以进行改变和变型。
[0344] 本公开包含与2010年11月12日向日本专利局提交的日本优先权专利申请JP2010-254261中公开的主题有关的主题,其全部内容通过引用的方式合并在此。
QQ群二维码
意见反馈