一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

编码装置、编码方法、解码装置、解码方法和程序与流程

2022-03-19 16:29:43 来源:中国专利 TAG:


1.本技术涉及编码装置、编码方法、解码装置、解码方法和程序,并且涉及一种例如能够执行无dc编码和解码的编码装置、编码方法、解码装置、解码方法和程序。


背景技术:

2.与图像传感器的更高图像质量和更高帧速率相关联,图像传感器和处理由图像传感器捕获的图像的dsp(数字信号处理器)之间的接口所需的数据传输容量不断增加。
3.用于芯片之间数据传输的接口规范的示例,例如,图像传感器和数字信号处理器之间的接口规范包括mipi(移动工业处理器接口)规范和slvs-ec(可扩展低压信令-嵌入式时钟)规范。
4.专利文献1描述了一种传输系统,其中,存储图像数据的分组被分发到多个通道,并且数据经由多个通道从图像传感器传输到dsp。在该传输方案中,构成一帧的每一行的多条图像数据被存储在图像传感器中的各个分组中,并被传输到dsp。
5.引用列表
6.专利文献
7.专利文献1:日本未审查专利申请公开号2012-120159


技术实现要素:

8.本发明要解决的问题
9.在芯片之间的数据传输中,使用诸如8b/10b编码方案、64b/66b编码方案和64b/67b编码方案等编码方案,并且通过对应于编码方案的解码方案来执行解码。根据8b/10b编码方案,有可能降低传输效率。此外,64b/66b编码方案可能无法实现无dc。根据64b/67b编码方案,存在游程长度可能恶化以使得接收侧难以执行精确解码的可能性。
10.鉴于这种情况而提出本技术,并且旨在执行编码和解码,其中,控制运行差异和游程长度,而不降低传输效率。
11.解决问题的方法
12.根据本技术的一个方面的编码装置包括:计算部,所述计算部将输入数据分成n位或m位,以计算n位或m位的数据串的第一运行差异;确定部,所述确定部基于由计算部计算的第一运行差异和在第一运行差异之前的时间点计算的第二运行差异来确定数据串是否反转;以及添加部,所述添加部基于所述确定部的确定结果反转或不反转所述数据串,以添加指示所述确定部的确定结果的标志用于输出,其中,所述确定部确定在数据串是控制码的情况下不执行反转,并且所述添加部添加分配给控制码的标志。
13.根据本技术的一个方面的编码方法包括使编码装置:将输入数据分成n位或m位,以计算n位或m位的数据串的第一运行差异;基于第一运行差异和在第一运行差异之前的时间点计算的第二运行差异来确定数据串是否反转;基于确定结果反转或不反转所述数据串,以添加指示确定结果的标志用于输出;确定在数据串是控制码的情况下在所述确定中
不执行反转;并且添加分配给控制码的标志。
14.根据本技术的一个方面的第一程序使控制编码装置的计算机执行处理,所述处理包括:将输入数据分成n位或m位,以计算n位或m位的数据串的第一运行差异;基于第一运行差异和在第一运行差异之前的时间点计算的第二运行差异来确定数据串是否反转;基于确定结果反转或不反转所述数据串,以添加指示确定结果的标志用于输出;确定在数据串是控制码的情况下在所述确定中不执行反转;并且添加分配给控制码的标志。
15.根据本技术的一个方面的解码装置包括:第一确定部,所述第一确定部参考添加到要输入的n位或m位的数据串的标志,以确定所述数据串是否是控制码;第二确定部,在第一确定部确定数据串不是控制码的情况下,所述第二确定部确定数据串是否反转;以及输出部,所述输出部:在第一确定部确定数据串是控制码的情况下,输出未反转的所输入的n位或m位的数据串;在第二确定部确定数据串未反转的情况下,输出未反转的所输入的n位或m位的数据串;并且在第二确定部确定数据串反转的情况下,输出反转后的所输入的n位或m位的数据串。
16.根据本技术的一个方面的解码方法包括使解码装置:参考添加到要输入的n位或m位的数据串的标志,以确定所述数据串是否是控制码;在确定数据串不是控制码的情况下,确定数据串是否反转;在确定数据串是控制码的情况下,输出未反转的所输入的n位或m位的数据串;在确定数据串不是控制码并且未反转的情况下,输出未反转的所输入的n位或m位的数据串;并且在确定数据串不是控制码并且反转的情况下,输出反转后的所输入的n位或m位的数据串。
17.根据本技术的一个方面的第二程序使控制解码装置的计算机执行处理,所述处理包括:参考添加到要输入的n位或m位的数据串的标志,以确定所述数据串是否是控制码;在确定数据串不是控制码的情况下,确定数据串是否反转;在确定数据串是控制码的情况下,输出未反转的所输入的n位或m位的数据串;在确定数据串不是控制码并且未反转的情况下,输出未反转的所输入的n位或m位的数据串;并且在确定数据串不是控制码并且反转的情况下,输出反转后的所输入的n位或m位的数据串。
18.在根据本技术的各个方面的编码装置、编码方法和第一程序中,将输入数据分成n位或m位,以计算n位或m位的数据串的第一运行差异;基于第一运行差异和在第一运行差异之前的时间点计算的第二运行差异来确定数据串是否反转;基于确定结果反转或不反转所述数据串,以添加指示确定结果的标志用于输出。至于确定,确定在数据串是控制码的情况下不执行反转,并且添加分配给控制码的标志。
19.在根据本技术的各个方面的解码装置、解码方法和第二程序中,参考添加到要输入的n位或m位的数据串的标志,以确定所述数据串是否是控制码;在确定数据串不是控制码的情况下,确定数据串是否反转;在确定数据串是控制码的情况下,输出未反转的所输入的n位或m位的数据串;在确定数据串不是控制码并且未反转的情况下,输出未反转的所输入的n位或m位的数据串;并且在确定数据串不是控制码并且反转的情况下,输出反转后的所输入的n位或m位的数据串。
20.应当注意,编码装置或解码装置可以是独立的装置,或者可以是包括在单个装置中的内部块。
21.此外,可以通过经由传输介质的传输或者通过记录在记录介质中来提供程序。
附图说明
22.[图1]示出了应用本技术的数据处理系统的实施例的配置;
[0023]
[图2]是要划分的位数的说明图;
[0024]
[图3]示出了编码器的配置示例;
[0025]
[图4]示出了解码器的配置示例;
[0026]
[图5]是运行差异的控制的说明图;
[0027]
[图6]是标志的说明图;
[0028]
[图7]是运行差异和标志之间的关系的说明图;
[0029]
[图8]是游程长度控制的说明图;
[0030]
[图9]是描述编码处理的流程图;
[0031]
[图10]是描述解码处理的流程图;
[0032]
[图11]是执行错误检测的解码器的配置的说明图;
[0033]
[图12]是当执行错误检测时标志的设置的说明图;
[0034]
[图13]是当执行错误检测时标志的设置的说明图;
[0035]
[图14]示出了应用本技术的数据处理系统的另一实施例的配置;
[0036]
[图15]示出了传输系统的配置示例;
[0037]
[图16]示出了帧格式的示例;
[0038]
[图17]示出了传输单元和接收单元的配置示例;
[0039]
[图18]示出了报头结构;
[0040]
[图19]示出了报头信息的内容和信息量;
[0041]
[图20]示出了位阵列的示例;
[0042]
[图21]示出了在每个像素的像素值由8位表示的情况下的像素到字节转换的示例;
[0043]
[图22]示出了在每个像素的像素值由10位表示的情况下的像素到字节转换的示例;
[0044]
[图23]示出了在每个像素的像素值由12位表示的情况下的像素到字节转换的示例;
[0045]
[图24]示出了在每个像素的像素值由14位表示的情况下的像素到字节转换的示例;
[0046]
[图25]示出了在每个像素的像素值由16位表示的情况下的像素到字节转换的示例;
[0047]
[图26]示出了有效载荷数据的示例;
[0048]
[图27]示出了有效载荷数据的另一示例;
[0049]
[图28]示出了插入奇偶校验的有效载荷数据的示例;
[0050]
[图29]示出了报头被添加到有效载荷数据的状态;
[0051]
[图30]示出了报头和报尾被添加到有效载荷数据的状态;
[0052]
[图31]示出了报头被添加到奇偶校验被插入的有效载荷数据中的状态;
[0053]
[图32]示出了分组数据分配的示例;
[0054]
[图33]示出了控制码的示例;
[0055]
[图34]示出了k字符的值;
[0056]
[图35]示出了插入填充码的示例;
[0057]
[图36]示出了插入控制码之后的分组数据的示例;
[0058]
[图37]示出了数据歪斜的校正的示例;
[0059]
[图38]是描述成像装置的处理的流程图;
[0060]
[图39]是描述在图38的步骤s102中执行的数据传输处理的流程图;
[0061]
[图40]是描述在图38的步骤s103中执行的数据接收处理的流程图;
[0062]
[图41]示出了在切换通道数量的情况下的控制序列;
[0063]
[图42]示出了传输系统的另一配置示例;
[0064]
[图43]示出了设置有预编码器的编码器的配置示例;
[0065]
[图44]是情况1中的转换的说明图;
[0066]
[图45]是情况2中的转换的说明图;
[0067]
[图46]示出了转换表的示例;
[0068]
[图47]是情况3中的转换的说明图;
[0069]
[图48]是情况4中的转换的说明图;
[0070]
[图49]是数据转换方法的说明图;
[0071]
[图50]是数据转换方法的说明图;
[0072]
[图51]是描述编码处理的流程图;
[0073]
[图52]是描述解码处理的流程图;
[0074]
[图53]是发生错误时的控制码的说明图;
[0075]
[图54]是禁止反转数据串的说明图;
[0076]
[图55]示出了与编码器相关的配置示例;
[0077]
[图56]示出了与编码器相关的另一配置示例;
[0078]
[图57]示出了与解码器相关的配置示例;
[0079]
[图58]示出了编码器的另一配置示例;
[0080]
[图59]示出了解码器的另一配置示例;
[0081]
[图60]是描述编码器的另一处理的流程图;
[0082]
[图61]是描述解码器的另一处理的流程图;
[0083]
[图62]是示出计算机的配置示例的框图;
[0084]
[图63]是描绘内窥镜手术系统的示意性配置的示例的示图;
[0085]
[图64]是描绘摄像头和相机控制单元(ccu)的功能配置的示例的框图。
具体实施方式
[0086]
在下文中,给出了用于实现本技术的模式的描述(下文中,称为实施例)。
[0087]
《系统配置示例》
[0088]
图1示出了应用本技术的数据处理系统的配置示例。数据处理系统1包括编码(执行编码)数据的编码器(编码装置)11和解码编码数据的解码器(解码装置)12。
[0089]
在描述应用本技术的编码方案和解码方案之前,给出现有编码方案的示例的描述。现有编码方案的示例包括8b/10b编码方案。8b/10b编码方案是将8位数据编码成10位数
据的方案,并且时钟被嵌入串行数据中,从而使用相同的布线行传输数据和时钟。
[0090]
然而,从8位到10位的转换会导致20%的频带损失。因此,也提出了64b/66b编码方案的64b/66b编码方案通过不同于8b/10b编码方案的方法执行类似的事情。64b/66b编码方案使用称为加扰的技术来代替8b/10b编码方案中使用的码表。
[0091]
加扰允许通过频繁移位来随机化并控制编码数据的0和1的模式,使得0和1不是高概率连续的。甚至以这种方式随机化的编码数据也被配置为可恢复到接收侧的原始数据。这种加扰允许随机化输出数据并且平衡dc平衡。
[0092]
不能保证64b/66b完全没有dc效应,因为累计值为0或1的运行差异不受控制。还提出了64b/67b编码方案,作为控制运行差异的编码方案。根据64b/67b编码方案,控制运行差异,但是在某些情况下,由0或1的连续产生的游程长度可能不受控制。
[0093]
从上面描述的那些,运行差异和游程长度在某些情况下可能恶化,这取决于在64b/66b编码方案和64b/67b编码方案中要传输的数据序列,这可能不利地影响接收侧(解码侧)的时钟再现性能。此外,根据64b/67b编码方案,需要三位数据作为要传输的64位数据的控制数据,因此降低了传输效率。
[0094]
因此,给出了应用下面描述的本技术的无dc编码方案的描述,该方案控制运行差异以及游程长度,并且抑制传输效率的降低。此外,还适当地给出了解码由这种编码方案编码的数据的解码方案的描述。
[0095]
应用本技术的编码器11将输入的数据串转换成如图2所示的数据串。如图2的a所示,编码器11将输入的数据串分成n位数据串,并为每个n位的报头添加一位标志。
[0096]
如图2的b所示,编码器11将输入的数据分成n位数据串和m位数据串,将一位标志添加到n位数据串的报头,并将一位标志添加到m位数据串的报头。
[0097]
在以下描述中,n位或m位数据串被描述为一个块。此外,一位标志被添加到n位数据串的(n 1)位数据串也被适当地描述为一个块。同样,一位标志被添加到m位数据串的(m 1)位数据串也被适当地描述为一个块。
[0098]
编码器11可以执行编码,以将输入的数据分成如图2的a所示的相同位,或者可以执行编码,以将输入的数据分成如图2的b所示的不同位。
[0099]
n和m是奇数。一位标志添加到n位上,因此,(n 1)位是偶数。此外,(m 1)位也是偶数。以这种方式,n或m被设置为允许包括标志的一个块是偶数位。
[0100]
在下面的描述中,主要参考如图2的b所示的输入数据串被分成n位和m位的示例给出描述,但是下面描述的本实施例也适用于如图2的a所示的输入数据串被分成n位的情况。换言之,即使在n=m成立的情况下,本实施例也适用。
[0101]
《编码器的配置》
[0102]
图3示出了编码器11的配置。编码器11包括反转部31、选择部32、添加部33、位校验部34、rd校验部35、rl校验部36和标志确定部37。
[0103]
输入到编码器11的数据被提供给反转部31、选择部32和位校验部34中的每一个。反转部31反转所提供的数据。在输入数据为“1”的情况下,反转部31将其转换为“0”;在输入数据为“0”的情况下,反转部31将其转换为“1”。由反转部31反转的数据(n位数据串)被提供给选择部32。
[0104]
输入到编码器11的数据串本身也被输入到选择部32。也就是说,反转数据串和非
反转数据串也被输入到选择部32。响应于来自标志确定部37的确定结果,选择部32将反转数据串或非反转数据串提供给添加部33。
[0105]
添加部33将从标志确定部37提供的标志添加到从选择部32输出的数据串。例如,在从选择部32输出n位数据串的情况下,添加部33添加一位标志,以输出(n 1)位数据串。该标志是指示数据是否反转的标志。在下面的描述中,假设在数据反转的情况下的标志被设置为“1”,并且在数据没有反转的情况下的标志被设置为“0”,给出描述;然而,任何其他标志的设置也在本技术的范围内。
[0106]
位校验部34检查输入的数据串。位校验部34监控输入数据串的运行差异(下文中称为“rd”)和游程长度(下文中称为“rl”)。
[0107]
在输入数据为“1”的情况下,位校验部34分配“1”,在输入数据为“0”的情况下,位校验部34分配
“‑
1”,以将分配数值的累积和定义为累积值rd。此外,位校验部34管理输入数据中“1”连续的次数rl和“0”连续的次数rl。
[0108]
位校验部34用作计算输入数据的运行差异和游程长度的计算部。
[0109]
rd校验部35检查过去的累积值rd。rl校验部36检查过去次数rl。rd校验部35和rl校验部36分别检查在由位校验部34检查的数据串之前的时间点的数据串中的累积值rd和次数rl。
[0110]
标志确定部37使用来自位校验部34、rd校验部35和rl校验部36的检查结果来确定是否反转数据串并生成相应的标志。标志确定部37使用当前正在处理的数据串的累积值rd、次数rl、过去数据串的累积值rd和次数rl来确定是否反转数据串,尽管稍后给出详细描述。
[0111]
在确定数据将反转的情况下,标志确定部37生成“1”的数据作为标志,并且在确定数据将不反转的情况下,标志确定部37生成“0”的数据,作为标志,以将生成的数据提供给选择部32和添加部33。
[0112]
在被提供“1”标志的情况下,选择部32向添加部33输出从反转部31提供的数据串,并且添加部33将“1”标志添加到数据串。另外,在接收到“0”标志的提供的情况下,选择部32向添加部33输出输入到编码器11的非反转数据串,添加部33将“0”标志加到数据串上。
[0113]
《解码器的配置》
[0114]
图4示出了解码器12的配置。解码器12包括反转部41、选择部42和标志确定部43。
[0115]
输入到解码器12的数据被提供给反转部41、选择部42和标志确定部43中的每一个。反转部41反转所提供的数据,并将反转的数据提供给选择部42。输入到解码器12的非反转数据串也被输入到选择部42。
[0116]
标志确定部43参考包括在输入到解码器12的数据串中的一位标志;在标志指示反转并且在这种情况下指示“1”的情况下,标志确定部43指示选择部42从反转部41选择数据串并输出所选择的数据串。此外,标志确定部43参考包括在输入到解码器12的数据串中的一位标志;在标志指示非反转并且在这种情况下指示“0”的情况下,标志确定部43指示选择部42选择没有通过反转部41而输入的数据串,并且输出所选择的数据串。
[0117]
以这种方式,在编码器11中,执行处理,以将一位标志添加到数据串,并且在解码器12中,执行处理,以通过参考标志来确定数据串是否反转。在要编码的数据在编码器11侧具有n位的情况下,添加一位标志,并且转换成(n 1)位的数据串,但是仅添加一位,从而使
得可以执行抑制传输效率下降的编码。
[0118]
此外,在编码器11侧,监控运行差异(rd)和游程长度(rl)以基于监控的运行差异和游程长度执行编码,从而使得可以执行控制运行差异和游程长度的编码。
[0119]
此外,可以响应于在编码器11侧执行的编码来执行解码。此外,在解码器12侧,可以对基于运行差异和游程长度编码的数据进行解码,并执行抑制传输效率降低的解码。
[0120]
《关于运行差异的控制》
[0121]
编码器11被配置为允许位校验部34和rd校验部35监控运行差异(rd),并允许设置对应于运行差异的标志。在此处,描述了运行差异的控制。
[0122]
图5中示出的曲线图均是描述运行差异的控制的说明图。时间tc表示当前时间(处理中),时间tp表示时间tc之前的时间,时间tn表示时间tc之后的时间。
[0123]
位校验部34(图3)计算在时钟时间tc的处理期间数据串的累积值rd。rd校验部35(图3)参考在这种情况下在时钟时间tp处理的数据串的累积值rd,直到时间tc之前的时间。在编码器11中的处理开始之后,累积值rd是在数据为“1”的情况下已经被计算为“1”的值,并且是在数据为“0”的情况下已经被计算为
“‑
1”的值。
[0124]
通过举例说明在时间tc处理n位数据串的情况给出描述。换言之,通过举例说明的情况给出描述,在编码器11中,如图2的a所示,其中,输入数据按每n位划分,一位标志被添加到输入数据,并且一个块产生(n 1)位的数据串。
[0125]
在图5所示的曲线图中,由细线表示的曲线图l1表示在时钟时间tp时累积值rd的变化。假设在时间tp结束的时间点(在时间tc开始的时间点),累积值rd为rd=(-5)。
[0126]
假设在时间tc要处理的所有n位数据串都是“1”。在时间tc要处理的所有n位数据串都是“1”的情况下,累积值rd是从(-5)开始线性上升的曲线图,如图5中粗线所示的曲线图l2。在这种情况下,数据没有反转,因此标志为“0”。因此,在时间tc结束的时间点(在时间tn开始的时间点)的累积值rdnext(a)是通过将时钟时间tp结束的时间点的累积值rd和在时间tc计算的累积值rd相加而获得的值。
[0127]
通过将在时间tc计算的累积值rd相加而获得的值是n,因为所有的n位都是“1”。标志“0”作为
“‑
1”包含在累计值rdnext(a)中,因此累计值rdnext(a)为以下值。
[0128]
累计值rdnext(a)=(-5) (-1) n
[0129]
要处理的n位数据串的运行差异是n。上述累积值rdnext(a)是通过将在当前时间点计算的运行差异与直到前一时间点计算的运行差异相加而获得的值。
[0130]
在时间tc要处理的所有n位数据串都是“1”并且所有数据串都反转的情况下,所有数据串都是“0”,并且累积值rd是从(-5)开始线性下降的曲线图,如图5中虚线指示的曲线图l3所示。在这种情况下,数据反转,因此标志为“1”。当计算累积值rd时,标志“1”被设置为“1”,并且该值也包括在累积值rdnext(r)中。
[0131]
累积值rdnext(r)具有以下值。
[0132]
累计值rdnext=(-5) 1 (-n)
[0133]
当要处理的n位数据串反转时,n位数据串的运行差异为n。上述累积值rdnext(r)是通过从直到前一时间点计算的运行差异中减去在当前时间点计算的运行差异而获得的值。
[0134]
理想情况下,运行差异为零(rd=0)。运行差异为零意味着保持dc平衡的状态,作
为数据段的“0”和“1”的出现次数相同。
[0135]
为了将运行差异控制为接近于零的值,编码器11被配置为比较在数据反转的情况下的累积值rd和在数据没有彼此反转的情况下的累积值rd,并且采用更接近于rd=0的累积值rd。
[0136]
也就是说,在这种情况下,将累积值rdnext(a)的绝对值和累积值rdnext(r)的绝对值相互比较,并且采用接近于零的值。在图5所示的示例中,采用累积值rdnext(a),因为累积值rdnext(a)比累积值rdnext(r)更接近rd=0。累积值rdnext(a)是在数据没有反转的情况下的值,因此在这种情况下“0”被设置为标志。
[0137]
编码器11的位校验部34(图3)在时钟时间tc执行处理。也就是说,位校验部34计算要输入的n位数据串的累加值rd。例如,位校验部34执行创建图5的曲线图l2的处理。
[0138]
编码器11的rd校验部35(图3)在时钟时间tp执行处理。如图3所示,包括从添加部33输出的标志的数据串被输入到rd校验部35。从添加部33输出的数据串是反转数据串或非反转数据串。也就是说,要传输到解码器12侧的数据串被输入到rd校验部35。
[0139]
rd校验部35以与位校验部34相同的方式计算要输入的数据串的累积值rd。例如,rd校验部35执行创建图5的曲线图l1的处理。
[0140]
如参考图5所述,标志确定部37(图3)将累积值rdnext(a)和累积值rdnext(r)彼此进行比较,以确定接近于零的累积值,并生成对应于累积值的标志。例如,标志确定部37基于图6所示的判定表进行确定,并生成标志。
[0141]
参考图6的判定表,判定表是在时间tc(在当前时间点)的累积值rd(以下称为累积值rdc)、在时间tp(过去)的累积值(以下称为累积值rdp)和标志彼此相关联的表。
[0142]
图6的判定表是确定数据(在当前时间点)是否将在时间tc反转的表。因此,累积值rdp是包括在时间点tp(过去)的标志的累积值,即,在时间点tp被切换到时间点tc的时间点。累积值rdc是时间tc结束时的累积值,并且是不包括标志的值。
[0143]
分类为:累计值rdc为正(累计值rdc》0)的情况;累积值rdc为零(累积值rdc=0)的情况;以及累积值rdc为负(累积值rdc《0)的情况。也就是说,从位校验部34提供的累加值rdc是正、零还是负被设置为标志设置的一个因素。
[0144]
此外,参考图6的判定表,也对累积值rdp进行分类,分类为:累积值rdp为正的情况(累积值rdp》0);累积值rdp为零(累积值rdp=0)的情况;以及累积值rdp为负(累积值rdp《0)的情况。也就是说,从rd校验部35提供的累积值rdp是正、零还是负被设置为标志设置的一个因素。
[0145]
在累积值rdc》0和累积值rdp》0成立的情况下,标志被设置为“1”。也就是说,在这种情况下,数据将反转。在累积值rdc》0并且累积值rdp=0成立的情况下,标志被设置为“1”。也就是说,在这种情况下,数据反转。在累积值rdc》0和累积值rdp《0成立的情况下,标志被设置为“0”。也就是说,在这种情况下,数据不反转。
[0146]
注意,在累积值rdc》0并且累积值rdp=0成立的情况下,标志可以被设置为“0”,并且数据可以被设置为不反转。
[0147]
参考图7的a给出累积值rdc》0成立的情况的描述。同样在图7中,类似于图6,假设累积值rdp是包括时间tp的标志的累积值,并且累积值rdc是不包括时间tc的标志的值,给出描述。
[0148]
在图7的a中,曲线图l11表示累积值rdc》0且累积值rdp》0成立的情况下的曲线图;曲线图l12表示累积值rdc》0并且累积值rdp=0成立的情况下的曲线图;曲线图l13表示在累积值rdc》0和累积值rdp《0成立的情况下的曲线图。应当注意,穿过累积值rdp和累积值rdc的两个点(耦合这两个点)的直线被描述为曲线图。
[0149]
在累积值rdc》0的情况下,都具有累积值rdp作为起点的曲线图l11至l13是递增图(正曲线图)。也就是说,参考曲线图l11,在累积值rdp》0是起点的情况下,由于累积值rdc》0成立,所以值变得大于累积值rdp,因此曲线图在远离零的方向上前进。因此,在这种情况下,为了使累积值rd接近零,标志确定部37确定数据将反转,以将“1”设置为标志。应当理解,当数据反转时,l11的曲线图变成负曲线图,并且接近于零。
[0150]
参考曲线图l12,在累积值rdp=0是起点的情况下,由于累积值rdc》0成立,值变得大于累积值rdp(=0),因此曲线图在远离零的方向上前进。因此,在这种情况下,为了使累积值rd接近零,标志确定部37确定数据将反转,以将“1”设置为标志。或者,为了使累积值rd更接近零,标志确定部37可以确定数据不反转,以将“0”设置为标志。在累积值rdp=0的情况下,无论是否反转,离零的距离都是相同的,因此可以进行设置,以确定执行反转,或者可以进行设置,以确定执行非反转。
[0151]
在累积值rdc》0成立的情况下,即,在正被处理的数据串具有正累积值rd的情况下,正被处理的数据串是包括数字“1”的数据串。标志值也包括在累积值rd中,因此将“0”设置为标志,使得在被处理的数据串是包括多个“1”的数据串的情况下,可以使累积值rd接近零。考虑到这些,在累积值rdp=0并且累积值rdc》0成立的情况下,可以将“0”设置为标志。
[0152]
参考曲线图l13,在累积值rdp《0是起点的情况下,值变得大于累积值rdp,因为累积值rdc》0成立,因此曲线图在更接近零的方向(从负区域到正区域的方向)上前进。因此,在这种情况下,为了使累积值rd更接近零,标志确定部37确定数据不反转,以将“0”设置为标志。
[0153]
返回参考图6的描述,在累积值rdc=0并且累积值rdp》0成立的情况下,标志被设置为“0”。也就是说,在这种情况下,数据不会反转。在累积值rdc=0并且累积值rdp=0成立的情况下,标志被设置为“0”。也就是说,在这种情况下,数据不会反转。在累积值rdc=0并且累积值rdp《0成立的情况下,标志被设置为“1”。也就是说,在这种情况下,数据不反转。
[0154]
应当注意,在累积值rdc=0和累积值rdp=0成立的情况下,标志可以被设置为“1”,并且数据可以被设置为反转。
[0155]
参考图7的b给出累积值rdc=0成立的情况的描述。在图7的b中,曲线图l21表示累积值rdc=0并且累积值rdp》0成立的情况下的曲线图;曲线图l22表示累积值rdc=0并且累积值rdp=0成立的情况下的曲线图;曲线图l23表示累积值rdc=0并且累积值rdp《0成立的情况下的曲线图。
[0156]
在累积值rdc=0的情况下,均具有累积值rdp作为起点的曲线图l21至l23是值不改变的曲线图。也就是说,参考曲线图l21,在累积值rdp》0是起点的情况下,值保持不变,作为累积值rdp,因为累积值rdc=0成立,因此在曲线图中离零有恒定的距离。因此,在这种情况下,与零的距离保持不变,而不管数据是否反转,因此标志确定部37可以确定数据不反转,以将“0”设置为标志,或者可以确定数据反转,以将“1”设置为标志。
[0157]
将“0”设置为标志,允许在计算累积值rd时将
“‑
1”用作值,从而在累积值rdp》0的
情况下,使值接近零减1。在此处,在假设“0”被设置为标志的情况下继续描述。
[0158]
参考曲线图l22,在累积值rdp=0是起点的情况下,累积值rdp(=0)保持在曲线图中,因为累积值rdc=0成立。因此,在这种情况下,数据可能由于处于有利状态而反转或者可能不反转,因此标志确定部37可以确定数据将反转,以将“1”设置为标志,或者可以确定数据未反转,以将“0”设置为标志。
[0159]
参考曲线图l23,在累积值rdp《0是起点的情况下,由于累积值rdc=0成立,所以值保持不变,作为累积值rdp,因此,在曲线图中离零有恒定的距离。因此,在这种情况下,与零的距离保持不变,而不管数据是否反转,因此标志确定部37可以确定数据不反转,以将“0”设置为标志,或者可以确定数据反转,以将“1”设置为标志。
[0160]
将“1”设置为标志,允许在计算累积值rd时将“1”用作值,从而在累积值rdp《0的情况下使接近零的值乘以1。在此处,假设“1”被设置为标志,继续描述。
[0161]
返回参考图6的描述,在累积值rdc《0和累积值rdp》0成立的情况下,标志被设置为“0”。也就是说,在这种情况下,数据不会反转。在累积值rdc《0并且累积值rdp=0成立的情况下,标志被设置为“0”。也就是说,在这种情况下,数据不会反转。在累积值rdc《0和累积值rdp《0成立的情况下,标志被设置为“1”。也就是说,在这种情况下,数据反转。
[0162]
注意,在累积值rdc《0并且累积值rdp=0成立的情况下,标志可以被设置为“1”,并且数据可以被设置为反转。
[0163]
参考图7的c给出累积值rdc《0的情况的描述。在图7的c中,曲线图l31表示累积值rdc《0并且累积值rdp》0成立的情况下的曲线图;曲线图l32表示累积值rdc《0并且累积值rdp=0成立的情况下的曲线图;曲线图l33表示累积值rdc《0和累积值rdp《0成立的情况下的曲线图。
[0164]
在累积值rdc《0的情况下,均具有累积值rdp作为起点的曲线图l31至l33是递减曲线图(负曲线图)。也就是说,参考曲线图l31,在累积值rdp》0是起点的情况下,值变得小于累积值rdp,因为累积值rdc《0成立,因此曲线图在接近零的方向上前进。因此,在这种情况下,为了使累积值rd更接近零,标志确定部37确定数据没有反转以将“0”设置为标志。
[0165]
参考曲线图l32,在累积值rdp=0是起点的情况下,值变得小于累积值rdp(=0),因为累积值rdc《0成立,因此曲线图在远离零的方向上前进。因此,在这种情况下,为了使累积值rd更接近零,标志确定部37可以确定数据没有反转,以将“0”设置为标志,或者可以确定数据将反转,以将“1”设置为标志。在累积值rdp=0的情况下,无论是否反转,离零的距离都是相同的,因此可以进行设置,以确定要执行反转,或者可以进行设置,以确定要执行非反转。
[0166]
在累积值rdc《0成立的情况下,即,在正被处理的数据串具有负累积值rd的情况下,正被处理的数据串是包括数字“0”的数据串。标志值也包括在累积值rd中,因此将“1”设置为标志,使得在被处理的数据串是包括数字“0”的数据串的情况下,可以使累积值rd接近零。考虑到这些,在累积值rdp=0并且累积值rdc《0成立的情况下,可以将“1”设置为标志。
[0167]
参考曲线图l33,在累积值rdp《0是起点的情况下,值变得小于累积值rdp,因为累积值rdc《0成立,因此曲线图在远离零的方向上前进。因此,在这种情况下,为了使累积值rd接近零,标志确定部37确定数据将反转,以将“1”设置为标志。应当理解,当数据反转时,l33的曲线图变成正曲线图,并且接近于零。
[0168]
以这种方式,标志确定部37根据过去的累积值rd和当前正在处理的累积值rd设置标志。
[0169]
以这种方式,监控运行差异(rd),并且根据需要反转数据,以允许累积值rd更接近零,从而使得控制能够实现无dc。此外,控制所谓的游程长度,其中,零是连续的或者1是连续的,作为数据串,使得可以执行更优选的编码或解码。
[0170]
《游程长度的控制》
[0171]
编码器11被配置为允许位校验部34和rl校验部36监控游程长度(rl)并允许设置(改变)对应于游程长度的标志。在此处,描述了游程长度的控制。
[0172]
图8中示出的曲线图都是描述游程长度控制的说明图。同样在图8所示的曲线图中,类似于图5所示的曲线图,时间tc表示当前时间(处理中),时间tp表示时间tc之前的时间,时间tn表示时间tc之后的时间。
[0173]
假设在图8所示的示例中,当时间tp被切换到时间tc的时钟时间tpc时的累积值rd是累积值rdpc并且是累积值rdpc》0的值的情况。此外,假设如图8所示的曲线图l51所示,时间tp处的累积值rd改变的情况。
[0174]
如图8的曲线图l52所示,在时间tc被处理的数据串的累积值rd由于作为数据的连续1而从累积值rdpc上升,在时间tc结束附近暂时下降,并且最终在时间tc被切换到时间tn的时钟时间tcn达到累积值rdcn。
[0175]
曲线图l53表示在时间tc要处理的数据串反转的情况下的图。曲线图l53是曲线图l52反转的曲线图,因此从累积值rdpc下降,零作为数据连续,在时间tc结束附近暂时上升,并且最终在时间tc被切换到时间tn的时钟时间tcn达到累积值rdcn’。
[0176]
如图8所示,在累积值rd改变的情况下,在数据反转时的累积值rdcn’是比在数据未反转时的累积值rdcn更接近累积值rd=0的值。因此,在考虑运行差异rd的情况下,确定时间tc的数据将反转,以将“1”设置为标志。换言之,再次参考图6,在图8所示的从曲线图l51到曲线图l52的数据串的情况下,rdc》0和rdp》0成立,因此标志被设置为“1”,这也是从图6所示的表中读取的。
[0177]
在此处,考虑游程长度。如上所述,用于考虑运行差异rd,在数据反转的情况下,获得如图8所示从曲线图l51运行到曲线图l53的累积值rd。数据串的反转允许从曲线图l51到曲线图l53直线下降的区域。也就是说,存在零连续的区域。
[0178]
参考图8,从时间tp处的预定时钟时间(设置为时钟时间tp1)到时钟时间tpc,零是连续的。此外,数据串在时间tc的反转允许从时钟时间tpc到时间tc的预定时钟时间(设置为时钟时间tc1)的零连续。也就是说,在这种情况下,从时钟时间tp1到时钟时间tc1的数据为零。换言之,此外,在从时钟时间tp1到时钟时间tc1的几个位的数据中,零是连续的。
[0179]
以这种方式反转数据可能会恶化游程长度。例如,设置游程长度的最大值(最大值rlmax);在游程长度变得大于或等于(大于)最大值rlmax的情况下,为了控制运行差异rd,推翻数据将反转的确定,并且改变为数据将不反转的确定。
[0180]
在图8所示的示例中,在从时钟时间tp1到时钟时间tc1连续为零的位数(游程长度rl)等于或大于最大值rlmax的情况下,确定改变,以便执行非反转;因此,结果,获得了从曲线图l51变化到曲线图l52的累积值rd(数据串)。
[0181]
因此,由于从曲线图l51到曲线图l52的变化,零的连续在时钟时间tpc中断,因此
防止了游程长度的恶化。以这种方式,在使用运行差异rd来临时确定数据是否要反转以基于确定的结果来处理数据的情况下,确定游程长度rl是否恶化;在游程长度rl恶化的情况下,改变运行差异rd的确定。
[0182]
再次参考图8,在以上描述中,曲线图l52已经被描述为当前正在处理的数据串的累积值rd的曲线图。接下来,给出曲线图l53是当前正在处理的数据串的累积值rd的曲线图的情况的描述。
[0183]
在曲线图l53是数据未反转时的累积值rd的曲线图的情况下,数据未反转时的时钟时间tcn处的累积值rd是累积值rdcn’。另外,当数据反转时的累积值rd的曲线图是曲线图l52,因此当数据反转时的时钟时间tcn的累积值rd是累积值rdcn。
[0184]
当累积值rdcn’和累积值rdcn相互比较时,更接近累积值rd=0的值是累积值rdcn’。因此,在考虑运行差异rd的情况下,确定时间tc的数据没有反转,以将“0”设置为标志。换言之,再次参考图6,在图8所示的从曲线图l51到曲线图l53的数据串的情况下,rdc《0和rdp》0成立,因此标志被设置为“0”,这也是从图6所示的表中读取的。
[0185]
在数据串不反转情况下,存在从曲线图l51到曲线图l53直线下降的区域。也就是说,存在零连续的区域。类似于上述情况,从时钟时间tp1到时钟时间tpc,零是连续的。此外,数据串在时间tc的不转换允许从时钟时间tpc到时钟时间tc1的零连续。也就是说,在这种情况下,从时钟时间tp1到时钟时间tc1的数据为零。换言之,此外,在从时钟时间tp1到时钟时间tc1的几个位的数据中,零是连续的。
[0186]
以这种方式不反转数据也可能会恶化游程长度。即使在这种情况下,也设置游程长度的最大值rlmax在游程长度变得大于或等于(大于)最大值rlmax的情况下,为了控制运行差异rd,推翻数据未反转的确定,并且改变为数据将反转的确定。
[0187]
在图8所示的示例中,在从时钟时间tp1到时钟时间tc1连续为零的位数(游程长度rl)等于或大于最大值rlmax的情况下,确定改变,以便执行反转;因此,结果,获得了从曲线图l51变化到曲线图l52的累积值rd(数据串)。
[0188]
因此,由于从曲线图l51到曲线图l52的变化,零的连续在时钟时间tpc中断,因此防止了游程长度的恶化。以这种方式,在使用运行差异rd来临时确定数据是否要反转,以基于确定的结果来处理数据的情况下,确定游程长度rl是否恶化;在游程长度rl恶化的情况下,改变运行差异rd的确定。
[0189]
因为这种控制优先考虑游程长度rl,所以运行差异rd可能恶化。游程长度rl被优先化的程度,即最大值rlmax的值,能够以系统相关的方式设置。例如,在解码器12具有高解码能力的情况下,例如,即使当游程长度rl大时也可以解码的情况下,最大值rlmax的值能够增加,并且游程长度rl的优先级能够降低。
[0190]
本文通过举例说明零连续的情况给出了描述;然而,在1连续的情况下也执行类似的处理。
[0191]
《关于编码器的处理》
[0192]
参照图9的流程图描述编码器11的处理。
[0193]
在步骤s11中,编码器11将输入的数据分成n位,并对每n位执行步骤s12和后续步骤的处理。在此处,通过举例说明n位的情况给出描述;然而,在分成m位的情况下,也类似地执行处理。
[0194]
在步骤s12中,位校验部34计算正被处理的n位数据串的累积值rd。
[0195]
在步骤s13中,标志确定部37通过运行差异rd进行确定。如参照图5至图7所述进行该确定,因此省略其详细描述。
[0196]
在步骤s14中,确定步骤s13中的确定结果是否是反转数据串的确定。在步骤s14中确定确定结果是数据串将反转的情况下,处理进行到步骤s15。
[0197]
在步骤s15中,标志被设置为1。在步骤s16中,由于标志被设置为1,数据串反转,并且处理进行到步骤s18。
[0198]
同时,在步骤s14中确定确定结果是数据串不反转的情况下,处理进行到步骤s17。在步骤s17中,标志被设置为1,并且处理进行到步骤s18。
[0199]
在步骤s18中,通过游程长度rl进行确定。如参照图8所述进行该确定,因此省略其详细描述。
[0200]
在步骤s19中,确定步骤s18中的确定结果是否是改变标志的确定(通过运行差异rd来推翻该确定)。也就是说,在进行了通过运行差异的确定之后,再次进行通过游程长度的确定,并且保持通过运行差异的确定,或者产生不同的确定结果。
[0201]
在步骤s18中确定确定结果是标志将改变的情况下,处理进行到步骤s20。在步骤s20,标志改变。例如,在标志被设置为1的情况下,标志改变为零;在标志被设置为零的情况下,标志改变为1。在步骤s21中,通过标志的改变来反转数据串,并且处理进行到步骤s22。
[0202]
同时,在步骤s18中确定确定的结果是不改变标志的情况下,处理进行到步骤s22。
[0203]
在步骤s22中,计算包括设置标志的一个块的数据串中的运行差异rd和游程长度rl。在步骤s22中计算的运行差异rd和游程长度rl用作在上述时间tp的运行差异rd和游程长度rl。
[0204]
在步骤s23中,从编码器11输出包括标志的数据串(一个块),作为输出数据(编码数据)。
[0205]
以这种方式,在编码器11中执行编码处理。应当注意,图9所示的流程图给出了针对每个n位数据处理输入数据的示例。然而,如图2的b所示,在用n位和m位的不同位数执行编码的情况下,图9中用n位执行的处理能够用m位适当地执行。
[0206]
《关于解码器的处理》
[0207]
参照图10的流程图描述解码器12的处理。
[0208]
在步骤s31,解码器12处理输入的编码数据的(n 1)位。应当注意,如图2的b中所示,当存在一个块中的数据条数是(n 1)位和一个块中的数据条数是(m 1)位的两种情况时,由(n 1)位或(m 1)位执行处理就足够了。
[0209]
在步骤s32中,标志确定部43参考包括在1(n 1)位块中的1位标志,以确定标志是否为1,即数据是否反转。
[0210]
在步骤s32中,在标志被确定为1的情况下,处理进行到步骤s33。在步骤s33中,选择部42选择经由反转部41输入的反转数据,以输出所选择的数据,作为解码结果。
[0211]
同时,在步骤s32中,在确定标志不是1的情况下,即,在确定标志为零并且数据未反转的情况下,处理进行到步骤s34。在步骤s34中,选择部42选择没有通过反转部41输入的数据,以输出所选择的数据,作为解码结果。
[0212]
以这种方式,解码器12执行与编码器11中执行的编码处理相对应的解码处理。
[0213]
《关于解码器中的错误检测》
[0214]
如上所述,编码器11执行控制,以允许运行差异rd更接近零。这可以用来检测解码器12侧的错误。
[0215]
例如,即使当在编码器11侧运行差异rd被控制为小时,编码器11和解码器12之间的传输路径上的错误的发生也可能导致在解码器12侧接收的数据的运行差异rd变大。在解码器12侧接收的数据解码的情况下,计算解码数据的运行差异rd,并且计算的值变大(趋于增加),可以确定接收的数据包括错误。
[0216]
如图11所示,可以具有这样的配置,其中,解码器12的一侧设置有错误检测部61,来自解码器12的输出被输入到错误检测部,错误检测部计算运行差异rd,并检测错误。图11所示的解码器12具有类似于图4所示的解码器12的配置的内部配置。从解码器12输出解码数据。
[0217]
错误检测部61计算从解码器12提供的解码数据的运行差异rd。在计算的运行差异rd大的情况下,错误检测部61确定已经发生错误,并且向上层提供指示可能的错误的信息。
[0218]
上层是接收从解码器12提供的数据并执行预定处理的层。在从错误检测部61获取指示可能的错误的信息的情况下,假设存在可能的错误,这种上层处理所提供的数据。例如,执行具有增强纠错处理的处理或丢弃具有可能错误的数据的处理。
[0219]
当运行差异rd变大时,错误检测部61确定已经发生错误。然而,例如,可以设置预定阈值,来确定在运行差异rd变得大于或等于阈值的情况下已经发生了错误。此外,可以将正在处理的数据的运行差异rd和在数据之前已经处理的数据的运行差异rd相互比较,以确定在它们之间的差大于或等于预定阈值的情况下已经发生错误。
[0220]
以这种方式,解码侧也可以监控运行差异rd,从而确定接收的数据是否可能包括错误。此外,能够在解码侧进行错误检测并响应错误发生的配置使得可以提高由解码器12解码的接收数据的可靠性。
[0221]
《关于标志可靠性的改进》
[0222]
如上所述,进行配置,以使得编码器11侧能够反转或不反转数据,并且使得解码器12侧能够通过添加标志来确定数据是否已经反转。假设当数据从编码器11提供给解码器12时,发生错误导致标志改变,解码器12侧导致不能正确地执行解码。
[0223]
因此,给出了使解码器12侧能够确定标志中是否出现错误的机制的描述。
[0224]
参考图12和图13,通过举例说明要编码的数据被分成n位块和m位块用于处理的情况,给出描述,如图2的b所示。参考图12,n位块81-1的标志是flg1,m位块81-2的标志是flg2,n位块81-3的标志是flg3。
[0225]
m位块81-4的标志是flg4,但是flg4不用作指示块81-4的数据是否反转的标志。另外,块81-4的数据是不执行反转处理的块。换言之,块81-4的数据是不受运行差异rd或游程长度rl控制的非反转数据。
[0226]
flg4被设置为flg1、flg2和flg3的异或(exor)计算的结果(奇偶性)。与flg1、flg2和flg3不同,flg4作为这些标志的奇偶校验被添加到块81-4。
[0227]
flg4=flg1 xor flg2 xor flg3
[0228]
接收侧执行flg1到flg4的异或运算,以确定在值为零的情况下没有错误,并确定在值为1的情况下有错误。
[0229]
flg1 xor flg2 xor flg3 xor flg4=0确定没有错误
[0230]
flg1 xor flg2 xor flg3 xor flg4=1确定有错误
[0231]
以这种方式,解码器12(接收侧)能够确定flg1、flg2、flg3和flg4是否全部正确,或者它们中的任何一个是否不正确。在确定标志包括错误的情况下,向比解码器12更高层提供指示可能错误的信息。在接收关于是否存在从解码器12输出的错误的信息的情况下,假设存在可能的错误,上层处理所提供的数据。例如,执行具有增强纠错处理的处理或丢弃具有可能错误的数据的处理。
[0232]
图12所示的示例是在四个块81的每一个中包括作为一个奇偶校验的标志(flg4)的示例。包括奇偶校验的块的数量可以以系统相关的方式设置,或者可以通过监控传输路径的状态根据传输路径的状态适当地改变。
[0233]
在插入更多奇偶校验的情况下,也有可能增加运行差异rd未被控制的块(对应于图12所示的示例中的块81-4的块),即为了防止运行差异rd的恶化而确定数据反转的块,作为将被处理为非反转的块。
[0234]
在插入较少奇偶校验的情况下,错误的发生会导致更多未定义的标志。在标志未定义的情况下,添加了这种标志的块内部的数据也可能未定义,导致作为错误处理的数据量增加。
[0235]
考虑到上述因素,也可以设置奇偶校验要插入的块数。
[0236]
在通过将数据分成n位块和m位块来执行编码的情况下,n位的一个块和m位的一个块(总共两个块)的总和用作一个处理单元,以针对每个数字处理单元将数字处理单元的最后一个块的标志设置为奇偶校验。图12例示了双处理单元的情况。此外,如图2的a所示,在仅利用n位块执行编码的情况下,至少两个或更多个块用作一个处理单元,以将该处理单元的最后一个块的标志设置为奇偶校验。
[0237]
当设置插入奇偶校验的块数时,也考虑处理单元来设置块数。
[0238]
应当注意,对于图12所示的示例,已经通过举例说明要编码的数据被分成n位块和m位块用于处理的情况,给出了描述,如图2的b所示;然而,也可以应用于要编码的数据被分成n位块进行处理的情况,如图2的a所示。
[0239]
图13示出了用于确定标志中是否存在错误的数据的另一种配置。类似于图12所示的情况,图13还示出了用于错误检测的数据被插入到四个块81-1至81-4中的每一个中的示例。
[0240]
在图13所示的示例中,n位块81-1的标志是flg1,m位块81-2的标志是flg2,n位块81-3的标志是flg3,m位块81-4的标志是flg4。
[0241]
在块81-1至81-4被依次编码并且添加flg4之后,flg1至flg4经历汉明(humming)编码处理,以计算奇偶校验位(汉明结果)。这个计算出的奇偶校验位82添加到块81-4的后面,用于传输。
[0242]
如图13所示,在奇偶校验位82被添加到每四个块81-1至81-4的情况下,生成三位的奇偶校验位82并被添加到flg1、flg2、flg3和flg4的四位。在这种情况下,可以使用(7,4,3)汉明码,作为汉明码。
[0243]
此处给出的汉明码是一个示例,也可以应用另一汉明码。例如,也可以应用(8,4,4)汉明码,其中,为flg1、flg2、flg3和flg4的四位生成四位的奇偶校验位82。
[0244]
接收侧(解码器12)接收块81-1至81-4和奇偶校验位82,然后执行汉明解码,从而检测在flg1、flg2、flg3和flg4中是否存在错误。在这种情况下,执行汉明解码,使得可以检测和校正flg1、flg2、flg3和flg4中任何一个的一位(一个标志)中的错误。
[0245]
虽然本文通过举例说明使用汉明编码或解码的情况给出了描述,但是也可以应用除汉明编码或解码之外的纠错编码或解码。此外,此处已经通过举例说明通过将数据分成n位块和m位块来执行编码的情况给出了描述;然而,也可以应用于通过将数据仅分成n位块来执行编码的情况。
[0246]
在通过将数据分成n位块和m位块来执行编码的情况下,n位的一个块和m位的一个块(总共两个块)用作一个处理单元,以针对每两个或更多个处理单元(四个或更多个块),将奇偶校验位82添加到处理单元的最后一个块的后面。图12例示了双处理单元的情况。此外,如图2的a所示,在仅利用n位块执行编码的情况下,至少两个或更多个块用作一个处理单元,以将奇偶校验位82添加到处理单元的最后一个块的后面。
[0247]
在通过汉明编码插入多个奇偶校验位82的情况下,可以增强对错误的容忍度。然而,在上述示例中,奇偶校验位82需要三位,因此导致传输效率可能恶化的可能性。考虑到以上情况,还可以以系统相关的方式设置奇偶校验位82插入的块的数量(处理单元的数量)。
[0248]
应当注意,对于图13所示的示例,已经通过举例说明要编码的数据被分成n位块和m位块用于处理的情况,给出了描述,如图2的b所示;然而,也可以应用于要编码的数据被分成n位块进行处理的情况,如图2的a所示。
[0249]
此外,例如,n位可以设置为32位。在n=32位成立并且如图13所示每四个块执行一次处理的情况下,将处理128位数据串。在一位标志被添加到128位数据串的四个块中的每一个并且奇偶校验位82被设置为四位的情况下,获得136位数据串。也就是说,在这种情况下,因此,128位数据串被转换成136位数据。
[0250]
以这种方式,128b/136b编码方案也适用于本技术。
[0251]
以这种方式,使接收侧能够确定标志中是否存在错误,使得能够增强编码或解码的可靠性。
[0252]
《另一系统配置的示例》
[0253]
图14示出了数据处理系统的另一配置示例。图14所示的数据处理系统1和图1所示的数据处理系统1彼此不同之处在于,编码器13和选择器14被配置为添加,但是在其他方面彼此相似。
[0254]
图14所示的数据处理系统1包括执行编码,以反转上述数据的编码器11(以下,适当地称为反转编码)以及执行除反转编码之外的编码的编码器13。另外,提供选择器14,其选择是传输由编码器11编码的数据串还是传输由编码器13编码的数据串。
[0255]
编码器13通过应用例如诸如8b/10b编码方案、64b/66b编码方案和64b/67b编码方案等编码方案来执行编码。应当注意,尽管在图14中仅示出了一个编码器13,但是可以以对应于这些编码方案的方式提供多个编码器13。
[0256]
选择器14在编码器11的输出和用于输出的编码器13的输出之间切换。选择器14通过外部电路提供的控制信号切换输出。此外,控制信号可以是表示由用户选择(设置)的编码方案的信号。
[0257]
应当注意,作为图14所示的数据处理系统1,给出了选择器14设置在从编码器11或编码器13选择编码数据的位置的示例,即,给出了选择器14设置在编码器11和编码器13的后一级中的示例;然而,也可以在编码器11和编码器13的前一级中提供选择器14。也就是说,可以提供选择器14,作为选择部,其选择编码器11或编码器13,作为输入数据的提供目的地。
[0258]
此外,选择器14可以设置在编码器11和编码器13的前一级和后一级中的每一个中。设置在编码器11和编码器13的前一级中的选择器14基于来自外部的控制信号将输入的数据提供给编码器11或编码器13。
[0259]
设置在编码器11和编码器13的后一级中的选择器14用作选择器14,其选择来自编码器11或编码器13的输出,该输出被设置为输入数据的提供目的地。
[0260]
此外,不执行编码的编码器11或编码器13也被配置为不被供电,以抑制功耗。
[0261]
此外,编码器11和解码器12可以设置有调整部,该调整部根据要输入的数据的有效数据量来添加或删除数据。要添加的数据可以是例如填充码。应当注意,在图14所示的系统被应用于稍后描述的slvs-ec规范的情况下,填充码是例如要被插入到有效载荷数据中以弥补像素数据带和phy传输带之间的差异的符号组,并且能够用作添加这种数据的数据。
[0262]
这样的配置使得可以使用与编码数据的接收侧支持的解码方案相对应的编码方案来执行编码,以生成和提供编码数据。
[0263]
在图14所示的数据处理系统1中,在解码器12一侧仅示出了一个解码器;然而,类似于编码器侧,可以提供多个解码器12,例如,对应于编码器11的编码方案的解码器12和对应于编码器13的编码方案的解码器12。此外,可以提供选择器,其向多个解码器12中的一个解码器12提供编码数据,或者可以提供选择器,其从多个解码器12中的一个解码器12选择解码数据。
[0264]
以这种方式,同样在解码侧,在提供多个解码器12和选择器的情况下,选择器的控制信号可以从外部电路输入,或者可以根据用户的设置输入。另外,当在编码侧执行编码时,指示编码方案的标识符可以被添加到编码数据,并且该标识符可以被提供给选择器。
[0265]
《关于slvs-ec规范》
[0266]
上述编码和解码(即图1所示的系统)适用于在下述slvs-ec(可扩展低压信令-嵌入式时钟)规范中执行编码或解码的部分。因此,下面给出了slvs-ec规范的描述。
[0267]
具有slvs-ec规范,作为图像传感器接口的规范。slvs-ec规范中的传输系统是这样一种系统,其中,以叠加在传输侧的时钟的形式传输数据,并且其中,再现时钟,以在接收侧解调和解码数据。
[0268]
《传输系统的配置示例》
[0269]
图15示出了传输系统的配置示例。图15的传输系统100包括图像传感器111和dsp 112。图像传感器111和dsp 112包括不同的lsi(大规模集成电路),并且设置在具有成像功能的同一成像装置(例如,数码相机或移动电话)内部。图像传感器111包括成像单元121和一个传输单元122,并且dsp 112包括一个接收单元131和图像处理单元132。
[0270]
图像传感器111的成像单元121包括诸如cmos(互补金属氧化物半导体)等成像元件,并且对通过透镜接收的光执行光电转换。此外,成像单元121对通过光电转换获得的信号执行a/d转换等,并且以一个像素数据的顺序将一帧图像中包括的像素数据输出到传输
单元122。
[0271]
传输单元122例如按照从成像单元121提供的顺序,将从成像单元121提供的各个像素的多条数据分配到多个传输路径,并且经由多个传输路径并行地将数据传输到dsp 112。在图15的示例中,八条传输路径用于传输像素数据。图像传感器111和dsp 112之间的传输路径可以是有线传输路径或者可以是无线传输路径。在下文中,图像传感器111和dsp 112之间的传输路径被适当地称为通道(lane)。
[0272]
dsp 112的接收单元131接收经由八个通道从传输单元122传输的像素数据,并且依次将各个像素的数据输出到图像处理单元132。
[0273]
图像处理单元132基于从接收单元131提供的像素数据生成一帧图像,并使用生成的图像执行各种类型的图像处理。从图像传感器111传输到dsp 112的图像数据是原始数据,并且图像处理单元132执行各种类型的处理,例如,图像数据的压缩、图像的显示以及图像数据在记录介质上的记录。
[0274]
《帧格式》
[0275]
图16示出了用于在图像传感器111和dsp 112之间传输一帧图像数据的格式的示例。
[0276]
有效像素区域a1是由成像单元121捕获的一帧图像的有效像素区域。在有效像素区域a1的左侧,设置空白区域a2,其中,垂直方向上的像素数量与有效像素区域a1的垂直方向上的像素数量相同。
[0277]
在有效像素区域a1的上侧,设置前虚拟区域a3,其中,水平方向上的像素数量与有效像素区域a1和边缘区域a2的水平方向上的像素总数相同。在图16的示例中,嵌入数据被插入到前虚拟区域a3中。嵌入数据包括关于与成像单元121的成像相关的设定值的信息,例如,快门速度、光圈和增益。嵌入数据也可以被插入到后虚拟区域a4中。
[0278]
在有效像素区域a1的下侧,设置后虚拟区域a4,其中,水平方向上的像素数量与有效像素区域a1和边缘区域a2的水平方向上的像素总数相同。
[0279]
有效像素区域a1、边缘区域a2、前虚拟区域a3和后虚拟区域a4包括在图像数据区域a11中。
[0280]
将报头添加到图像数据区域a11中包括的每一行的前面,并且将起始码添加到报头的前面。此外,报尾可选地被添加到图像数据区域a11中包括的每一行的后面,并且稍后描述的控制码(例如,结束码)被添加到报尾的后面。在没有添加报尾的情况下,控制码(例如,结束码)被添加到包括在图像数据区域a11中的每行的后面。
[0281]
每当由成像单元121捕获的一帧图像从图像传感器111传输到dsp 112时,传输图16所示格式的整个数据,作为传输数据。
[0282]
图16中的上部频带表示用于传输下部所示的传输数据的分组的结构。假设水平方向上的像素排列是一行,图像数据区域a11的一行中包括的像素数据被存储在分组的有效载荷中。将使用等于或大于图像数据区域a11的垂直方向上的像素数的分组来执行整个一帧图像数据的传输。
[0283]
通过向存储一行像素数据的有效载荷添加报头和报尾而形成一个分组。如稍后详细描述的,报头包括关于存储在有效载荷中的像素数据的额外信息,例如,帧开始、帧结束、行有效、行号和ecc。至少起始码和结束码(控制码)被添加到每个分组中。
[0284]
以这种方式,采用一种格式来传输每行的一帧图像中包括的像素数据,使得有可能在每行的消隐周期期间传输额外信息(例如,报头)和控制码,例如,起始码和结束码。
[0285]
《传输单元122和接收单元131的配置》
[0286]
图17示出了传输单元122和接收单元131的配置示例。
[0287]
图17左侧虚线包围的配置是传输单元122的配置,右侧虚线包围的配置是接收单元131的配置。传输单元122和接收单元131均包括链路层配置和物理层配置。实线l201上侧所示的配置是链路层配置,实线l201下侧所示的配置是物理层配置。
[0288]
应当注意,上面实线l101所示的配置是应用层配置。系统控制部151、帧数据输入部152和寄存器153在成像单元121中实现。系统控制部151与传输单元122的link-tx协议管理部161通信,以例如通过提供关于帧格式的信息来控制图像数据的传输。帧数据输入部152根据用户的指令等执行成像,以向传输单元122的像素到字节转换部162提供包括在通过执行成像获得的图像中的各个像素的数据。寄存器153存储诸如通道数和像素到字节转换的位数等信息。根据存储在寄存器153中的信息执行图像数据的传输处理。
[0289]
此外,应用层配置的帧数据输出部241、寄存器242和系统控制部243在图像处理单元132中实现。帧数据输出部241基于从接收单元131提供的每行的像素数据生成并输出一帧图像。从帧数据输出部241输出的图像用于执行各种类型的处理。寄存器242存储与图像数据的接收相关的各种设置值,例如,通道数和字节到像素转换的位数。根据存储在寄存器242中的信息执行图像数据接收处理。系统控制部243与link-rx协议管理部221通信,以控制诸如模式改变等序列。
[0290]
《传输单元122的链路层配置》
[0291]
首先,给出传输单元122的链路层配置的描述。
[0292]
传输单元122包括作为链路层配置的link-tx协议管理部161、像素到字节转换部162、有效载荷ecc插入部163、分组生成部164和通道分配部165。link-tx协议管理部161包括状态控制部171、报头生成部172、数据插入部173和报尾生成部174。
[0293]
link-tx协议管理部161的状态控制部171管理传输单元122的链路层的状态。
[0294]
报头生成部172生成要添加到其中存储了一行的像素数据的有效载荷的报头,并将生成的报头输出到分组生成部164。
[0295]
图18示出了由报头生成部172生成的报头的结构。
[0296]
如上所述,整个分组包括报头和有效载荷数据,该数据是一行的像素数据。在某些情况下,可以在分组中添加报尾。报头包括报头信息和报头ecc。
[0297]
报头信息包括帧开始、帧结束、行有效、行号和保留区。图19示出了每个信息的内容及其信息量。
[0298]
帧开始是指示帧头的一位信息。为用于传输图16的图像数据区域a11的第一行的像素数据的分组的报头的帧开始设置值1,为用于传输另一行的像素数据的分组的报头的帧开始设置值0。
[0299]
帧结束是指示帧结束的一位信息。为有效像素区域a1的结束行的像素数据包括在有效载荷中的分组的报头的帧结束设置值1,并且为用于传输另一行的像素数据的分组的报头的帧结束设置值0。
[0300]
帧开始和帧结束构成帧信息,该帧信息是关于帧的信息。
[0301]
行有效是指示存储在有效载荷中的像素数据行是否是有效像素行的一位信息。为用于传输有效像素区域a1内的行的像素数据的分组报头的行有效设置值1,为用于传输另一行的像素数据的分组报头的行有效设置值0。
[0302]
行号是13位信息,指示包括存储在有效载荷中的像素数据的行的行号。
[0303]
行有效和行号构成行信息,该信息是关于行的信息。
[0304]
保留区是一个32位的扩展区。整个报头信息的数据量是六个字节。
[0305]
如图18所示,在报头信息之后排列的报头ecc包括crc(循环冗余校验)码,其是基于六字节报头信息计算的两字节错误检测码。此外,在crc码之后,报头ecc包括与报头信息和crc码的组的8字节信息相同的两条信息。
[0306]
也就是说,一个分组的报头包括相同的三组报头信息和crc码。整个报头的数据量总计为24字节,其中,第一组报头信息和crc码为8字节,第二组报头信息和crc码为8字节,第三组报头信息和crc码为8字节。
[0307]
图20示出了包括在一组报头信息和crc码中的8字节位阵列的示例。
[0308]
字节h7是包含在报头中的八个字节中的第一字节,从第一位开始依次包括帧开始、帧结束和行有效的每一位以及行号的13位的第一至第五位。此外,字节h6是第二字节,包括行号的13位中的第6至第13位。
[0309]
作为第三字节的字节h5到作为第六字节的字节h2构成保留区。作为第七字节的字节h1和作为第八字节的字节h0包括crc码的相应位。
[0310]
回到图17的描述,报头生成部172在系统控制部151的控制下生成报头信息。例如,从系统控制部151提供指示由帧数据输入部152输出的像素数据的行数的信息和指示帧的开头和结尾的信息。
[0311]
此外,报头生成部172将报头信息应用于生成多项式,以计算crc码。要添加到报头信息的crc码的生成多项式例如由以下表达式(1)表示。
[0312]
crc16=x
16
x
15
x2 1
···
(1)
[0313]
报头生成部172将crc码添加到报头信息,从而生成一组报头信息和crc码,并且重复排列相同的三组报头信息和crc码,从而生成报头。报头生成部172将生成的报头输出到分组生成部164。
[0314]
数据插入部173生成用于填充(stuffing)的数据,并将生成的数据输出到像素到字节转换部162和通道分配部165。作为提供给像素到字节转换部162的填充数据的有效载荷填充数据在像素到字节转换之后被添加到像素数据,并且用于调整存储在有效载荷中的像素数据的数据量。此外,作为提供给通道分配部165的填充数据的通道填充数据被添加到通道分配之后的数据,并且用于通道之间的数据量的调整。
[0315]
报尾生成部174在系统控制部151的控制下适当地将有效载荷数据应用于生成多项式,以计算32位crc码,并将计算的crc码作为报尾输出到分组生成部164。要添加为报尾的crc码的生成多项式例如由以下表达式(2)表示。
[0316]
crc32=x
32
x
31
x4 x3 x 1
···
(2)
[0317]
像素到字节转换部162获取从帧数据输入部152提供的像素数据,并执行像素到字节转换,以将每个像素的数据转换成一个字节单位的数据。例如,由成像单元121捕获的图像的每个像素的像素值(rgb)由8位、10位、12位、14位和16位的任意数量的位来表示。
[0318]
图21示出了在每个像素的像素值由8位表示的情况下,像素到字节转换的示例。
[0319]
数据[0]表示lsb,具有最大数值的数据[7]表示msb。在这种情况下,表示像素n的像素值的8位数据[7]到[0]被转换成包括数据[7]到[0]的字节n,如空心箭头所示。在像素的像素值由8位表示的情况下,在像素到字节转换之后,以字节为单位的数据数量与像素数量相同。
[0320]
图22示出了在每个像素的像素值由10位表示的情况下的像素到字节转换的示例。
[0321]
在这种情况下,表示像素n的像素值的10位数据[9]至[0]被转换成包括数据[9]至[2]的字节1.25*n。
[0322]
同样,对于像素n 1至n 3,表示各个像素值的10位数据[9]至[0]被转换成字节1.25*n 1至字节1.25*n 3,每个字节包括数据[9]至[2]。此外,收集作为像素n到n 3的低位的数据[1]和数据[0]并转换成字节1.25*n 4。在每个像素的像素值由10位表示的情况下,在像素到字节转换之后,以字节为单位的数据数量是像素数量的1.25倍。
[0323]
图23示出了在每个像素的像素值由12位表示的情况下,像素到字节转换的示例。
[0324]
在这种情况下,表示像素n的像素值的12位数据[11]到[0]被转换成包括数据[11]到[4]的字节1.5*n。
[0325]
同样,对于像素n 1,表示像素n 1的像素值的12位数据[11]到[0]被转换成包括数据[11]到[4]的字节1.5*n 1。此外,收集作为像素n和像素n 1的低位的数据[3]至[0]并转换成字节1.5*n 2。在每个像素的像素值由12位表示的情况下,在像素到字节转换之后,以字节为单位的数据数量是像素数量的1.5倍。
[0326]
图24示出了在每个像素的像素值由14位表示的情况下,像素到字节转换的示例。
[0327]
在这种情况下,表示像素n的像素值的14位数据[13]至[0]被转换成包括数据[13]至[6]的字节1.75*n。
[0328]
同样,对于像素n 1至n 3,表示各个像素值的14位数据[13]至[0]被转换成字节1.75*n 1至字节1.75*n 3,每个字节包括数据[13]至[6]。此外,从较低的位按顺序收集像素n至n 3的位的剩余位,并且例如,作为像素n的位的数据[5]至[0]以及作为像素n 1的位的数据[5]和[4]被转换成字节1.75*n 4。
[0329]
同样,作为像素n 1的位的数据[3]至[0]和作为像素n 2的位的数据[5]至[2]被转换成字节1.75*n 5。作为像素n 2的位的数据[1]和[0]以及作为像素n 3的位的数据[5]至[0]被转换成字节1.75*n 6。在每个像素的像素值由14位表示的情况下,在像素到字节转换之后,以字节为单位的数据数量是像素数量的1.75倍。
[0330]
图25示出了在每个像素的像素值由16位表示的情况下,像素到字节转换的示例。
[0331]
在这种情况下,表示像素n的像素值的16位数据[15]到[0]被转换成包括数据[15]到[8]的字节2*n和包括数据[7]到[0]的字节2*n 1。在每个像素的像素值由16位表示的情况下,在像素到字节转换之后,以字节为单位的数据数量是像素数量的两倍。
[0332]
例如,图17的像素到字节转换部162从行左端的像素开始依次对每个像素进行这样的像素到字节转换。此外,像素到字节转换部162将从数据插入部173提供的有效载荷填充数据添加到通过像素到字节转换获得的以字节为单位的像素数据,从而生成有效载荷数据,并将生成的有效载荷数据输出到有效载荷ecc插入部163。
[0333]
图26示出了有效载荷数据的示例。
[0334]
图26示出了在每个像素的像素值由10位表示的情况下,包括通过像素到字节转换获得的像素数据的有效载荷数据。一个未着色的块表示像素到字节转换后以字节为单位的像素数据。此外,一个彩色块指示由数据插入部173生成的有效载荷填充数据。
[0335]
在像素到字节转换之后的像素数据按照通过转换获得的顺序被分组到预定数量的组中。在图26的示例中,每个像素数据被分组为16组,即组0至15;包括像素p0的msb的像素数据被分配给组0,而包括像素p1的msb的像素数据被分配给组1。此外,包括像素p2的msb的像素数据被分配给组2,包括像素p3的msb的像素数据被分配给组3,并且包括像素p0至p3中的每一个的lsb的像素数据被分配给组4。
[0336]
包括像素p4的msb和后续像素数据的像素数据也被依次分配给组5和后续组的相应组。当某些像素数据被分配给组15时,后续的像素数据被依次分配给组0和后续组的相应组。应当注意,在表示像素数据的块中,内部附有三条虚线的块表示以字节为单位的像素数据,在像素到字节转换期间,该像素数据被生成为包括像素n到n 3中的每一个的lsb。
[0337]
在传输单元122的链路层中,以这种方式执行分组,并且此后在由时钟信号定义的每个周期中,在相应组中的相同位置,对作为目标的多条像素数据并行执行处理。也就是说,在如图26所示将多条像素数据分配给16组的情况下,执行16条像素数据的处理,以允许在相同周期期间处理排列在相应列中的多条像素数据。
[0338]
如上所述,一个分组的有效载荷包括一行的像素数据。图26所示的整个像素数据是包含在一行中的像素数据。虽然此处给出了对图16的有效像素区域a1中的像素数据的处理的描述,但是诸如边缘区域a2等其他区域中的像素数据也与有效像素区域a1中的像素数据一起被处理。
[0339]
在一行的像素数据被分组之后,添加有效载荷填充数据,以允许相应组的数据长度相同。有效载荷填充数据是一字节数据。
[0340]
在图26的示例中,没有有效载荷填充数据被添加到组0的像素数据,并且一个有效载荷填充数据被添加到组1至15的每个像素数据的末尾,如周围虚线所示。包括像素数据和填充数据的有效载荷数据的数据长度(字节)由以下表达式(3)表示。
[0341][0342]
表达式(3)中的linelength表示行的像素数,bitpix指示一个像素的像素值的位数。payloadfilling表示有效负载填充数据的数量。
[0343]
如图26所示,在像素数据被分配给16组的情况下,有效载荷填充数据的数量由以下表达式(4)表示。表达式(4)中的%表示余数。
[0344][0345]
图27示出了有效载荷数据的另一示例。
[0346]
图27示出了在每个像素的像素值由12位表示的情况下,包括通过像素到字节转换获得的像素数据的有效载荷数据。
[0347]
在图27的示例中,包括像素p0的msb的像素数据被分配给组0,包括像素p1的msb的像素数据被分配给组1,并且包括像素p0和像素p1中的每一个的lsb的像素数据被分配给组2。包括像素p2的msb和后续像素数据的像素数据也被依次分配给组3和后续组的相应组。在表示像素数据的块中,内部附有一条虚线的块表示以字节为单位的像素数据,在像素到字节转换期间,该像素数据被生成为包括像素n和像素n 1中的每一个的lsb。
[0348]
在图27的示例中,有效载荷填充数据没有被添加到组0和组1的像素数据,并且一个有效载荷填充数据被添加到组2至15的每个像素数据的末尾。
[0349]
具有这种配置的有效载荷数据从像素到字节转换部162提供给有效载荷ecc插入部163。
[0350]
基于从像素到字节转换部162提供的有效载荷数据,有效载荷ecc插入部163计算用于有效载荷数据纠错的纠错码,并且将奇偶校验插入到有效载荷数据中,该奇偶校验是通过计算获得的纠错码。作为纠错码,例如,使用reed-solomon码。应当注意,纠错码的插入是可选的;例如,可以仅执行有效载荷ecc插入部163的奇偶校验插入和报尾生成部174的报尾添加中的一个。
[0351]
图28示出了插入奇偶校验的有效载荷数据的示例。
[0352]
如图27所述,图28所示的有效载荷数据是包括在每个像素的像素值由12位表示的情况下通过像素到字节转换获得的像素数据的有效载荷数据。阴影表示的块表示奇偶校验。
[0353]
在图28的示例中,从组0至15中的每一个的报头像素数据中依次选择14条像素数据,并且基于所选择的224条(224字节)像素数据来确定双字节奇偶校验。双字节奇偶校验作为组0和组1中每一组的第15个数据被插入到计算中使用的224个像素数据之后,以由224个像素数据和双字节奇偶校验形成第一基本块。
[0354]
以这种方式,在有效载荷ecc插入部163中,基本上,基于224条像素数据生成双字节奇偶校验,并在224条像素数据之后插入。
[0355]
此外,在图28的示例中,从每组中依次选择第一基本块之后的224条像素数据,并且基于所选择的224条像素数据来确定双字节奇偶校验。双字节奇偶校验作为组2和组3的第29个数据被插入在计算中使用的224个像素数据之后,以由224个像素数据和双字节奇偶校验形成第二基本块。
[0356]
在特定基本块之后的像素数据和有效载荷填充数据的数量16
×
m小于224的情况下,基于剩余的16
×
m块(像素数据和有效载荷填充数据)确定双字节奇偶校验。此外,在有效载荷填充数据之后插入所确定的双字节奇偶校验,以由16
×
m块和双字节奇偶校验形成额外块。
[0357]
有效载荷ecc插入部163向分组生成部164输出插入了奇偶校验的有效载荷数据。在没有插入奇偶校验的情况下,从像素到字节转换部162提供给有效载荷ecc插入部163的有效载荷数据原样输出到分组生成部164。
[0358]
分组生成部164将报头生成部172生成的报头添加到从有效载荷ecc插入部163提供的有效载荷数据,从而生成分组。在报尾由报尾生成部174生成的情况下,分组生成部164还将报尾添加到有效载荷数据。
[0359]
图29示出了报头被添加到有效载荷数据的状态。
[0360]
用字母h7至h0标记的24个块表示报头信息或以字节为单位的报头数据,该数据是报头信息的crc码。如参考图18所述,一个分组的报头包括三组报头信息和crc码。
[0361]
例如,报头数据h7到h2均是报头信息(6字节),报头数据h1和h0均是crc码(2字节)。
[0362]
在图29的示例中,一个报头数据h7被添加到组0的有效载荷数据,并且一个报头数据h6被添加到组1的有效载荷数据。一个报头数据h5被添加到组2的有效载荷数据,一个报头数据h4被添加到组3的有效载荷数据。一个报头数据h3被添加到组4的有效载荷数据,一个报头数据h2被添加到组5的有效载荷数据。一个报头数据h1被添加到组6的有效载荷数据,一个报头数据h0被添加到组7的有效载荷数据。
[0363]
此外,在图29的示例中,两条报头数据h7被添加到组8的有效载荷数据,两条报头数据h6被添加到组9的有效载荷数据。两条报头数据h5被添加到组10的有效载荷数据,两条报头数据h4被添加到组11的有效载荷数据。两条报头数据h3被添加到组12的有效载荷数据,两条报头数据h2被添加到组13的有效载荷数据。两条报头数据h1被添加到组14的有效载荷数据,两条报头数据h0被添加到组15的有效载荷数据。
[0364]
图30示出了报头和报尾被添加到有效载荷数据的状态。
[0365]
用字母f3至f0标记的四个块表示报尾数据,它们是4字节crc码,每个都作为报尾生成。在图30的示例中,报尾数据f3至f0被添加到组0至组3的相应有效载荷数据。
[0366]
图31示出了将报头添加到插入奇偶校验的有效载荷数据中的状态。
[0367]
在图31的示例中,与图29和图30的情况类似,报头数据h7至h0都被添加到插入奇偶校验的图28的有效载荷数据中。
[0368]
分组生成部164向通道分配部165输出分组数据,该分组数据是包括在以这种方式生成的一个分组中的数据。通道分配部165被提供有包括报头数据和有效载荷数据的分组数据;包括报头数据、有效载荷数据和报尾数据的分组数据;或者包括插入奇偶校验的报头数据和有效载荷数据的分组数据。图18的分组结构是逻辑的;在链路层和物理层中,以字节为单位处理具有图18结构的分组数据。
[0369]
通道分配部165按照从报头数据开始的顺序,将从分组生成部164提供的分组数据分配给通道0至7中用于数据传输的每个通道。
[0370]
图32示出了分组数据分配的示例。
[0371]
此处描述了包括报头数据、有效载荷数据和报尾数据的分组数据(图30)的分配。如开放箭头#1所示,示出了在使用通道0至7中的八个通道执行数据传输的情况下分组数据的分配的示例。
[0372]
在这种情况下,构成三个重复的报头数据h7至h0的相应报头数据从报头数据的报头开始依次分配给通道0至7。当某个报头数据被分配给通道7时,后续的报头数据被依次分配给通道0和后续通道的相应通道。因此,相同的三条报头数据被分配给通道0至7的每个通道。
[0373]
此外,有效载荷数据从有效载荷数据的报头开始按顺序分配给通道0至7。当某个有效载荷数据被分配给通道7时,后续的有效载荷数据被依次分配给通道0和后续通道的相应通道。
[0374]
从报尾数据的报头开始,报尾数据f3到f0被依次分配到相应通道。在图32的示例
中,包括在有效载荷数据中的最后有效载荷填充数据被分配给通道7,并且报尾数据f3至f0被逐一分配给通道0至3。
[0375]
用黑色标记的块表示由数据插入部173生成的通道填充数据。在一个分组的分组数据被分配给每个通道之后,通道填充数据被分配给具有较少数据的通道,以允许分配给相应通道的数据长度相同。通道填充数据是一字节数据。在图32的示例中,通道填充数据逐一分配给具有较少数据分配数量的通道4至7。
[0376]
在分组数据包括报头数据、有效载荷数据和报尾数据的情况下,通道填充数据的数量由以下表达式(5)表示。
[0377]
lanestuffing=lanenum-((payloadlength footerlength)%lanenum)
ꢀꢀ
···
(5)
[0378][0379]
表达式(5)中的lanenum表示通道数,payloadlength表示有效载荷数据长度(字节)。另外,footerlength表示报尾长度(字节)。
[0380]
此外,在分组数据包括插入奇偶校验的报头数据和有效载荷数据的情况下,通道填充数据的数量由以下表达式(6)表示。表达式(6)中的奇偶长度表示有效载荷中包含的奇偶字节总数。
[0381]
lanestuffing=lanenum-((payloadlength paritylength)%lanenum)
ꢀꢀ
···
(6)
[0382][0383]
在使用通道0至5中的六个通道执行数据传输的情况下,分组数据的分配的示例如空心箭头#2所示。
[0384]
在这种情况下,构成三个重复的报头数据h7至h0的相应报头数据被依次分配给从报头数据的报头开始的通道0至5。当某个报头数据被分配给通道5时,后续的报头数据被依次分配给通道0和后续通道的相应通道。因此,四条报头数据被分配给通道0至5的每个通道。
[0385]
此外,有效载荷数据从有效载荷数据的报头开始按顺序分配给通道0至5。当某个有效载荷数据被分配给通道5时,后续的有效载荷数据被依次分配给通道0和后续通道的相应通道。
[0386]
从报尾数据的报头开始,报尾数据f3到f0被依次分配到相应通道。在图32的示例中,包括在有效载荷数据中的最后有效载荷填充数据被分配给通道1,并且报尾数据f3至f0被逐一分配给通道2至5。在这种情况下,不使用通道填充数据,因为通道0至5的分组数据的数量相同。
[0387]
在使用通道0至3中的四个通道执行数据传输的情况下,分组数据的分配的示例如空心箭头#3所示。
[0388]
在这种情况下,构成三个重复的报头数据h7至h0的相应报头数据从报头数据的报头开始依次分配给通道0至3。当某个报头数据被分配给通道3时,后续的报头数据被依次分配给通道0和后续通道的相应通道。因此,六条报头数据被分配给通道0至3的每个通道。
[0389]
此外,有效载荷数据从有效载荷数据的报头开始按顺序分配给通道0至3。当某个有效载荷数据被分配给通道3时,后续的有效载荷数据被依次分配给通道0和后续通道的相应通道。
[0390]
从报尾数据的报头开始,报尾数据f3到f0被依次分配到相应通道。在图32的示例
中,包括在有效载荷数据中的最后有效载荷填充数据被分配给通道3,并且报尾数据f3至f0被逐一分配给通道0至3。在这种情况下,不使用通道填充数据,因为通道0至3的分组数据的数量相同。
[0391]
通道分配部165以这种方式向物理层输出分配给每个通道的分组数据。以下,主要描述使用通道0至7的八个通道传输数据的情况;然而,在使用另一数量的通道进行数据传输的情况下,也执行类似的处理。
[0392]
《传输单元122的物理层配置》
[0393]
接下来,给出传输单元122的物理层配置的描述。
[0394]
传输单元122包括作为物理层配置的phy-tx状态控制部181、时钟生成部182和信号处理部183-0至183-n。信号处理部183-0包括控制码插入部191、8b10b符号编码器192、同步部193和传输部194。
[0395]
可以使用执行参考图1至图13描述的编码的编码器11来代替8b10b符号编码器192。首先描述采用8b10b符号编码器192的情况,并且参考图42和随后的附图描述使用编码器11代替8b10b符号编码器192的情况。
[0396]
从通道分配部165输出的分配给通道0的分组数据被输入到信号处理部183-0,分配给通道1的分组数据被输入到信号处理部183-1。此外,分配给通道n的分组数据被输入到信号处理部183-n。
[0397]
以这种方式,传输单元122的物理层包括与通道数量相同数量的信号处理部183-0至183-n,并且在相应信号处理部183-0至183-n中并行执行要使用相应通道传输的分组数据的处理。然而,信号处理部183-1至183-n每个也具有类似的配置。
[0398]
phy-tx状态控制部181控制信号处理部183-0至183-n的各个部分。例如,由信号处理部183-0至183-n执行的每个处理的时间由phy-tx状态控制部181控制。
[0399]
时钟生成部182生成时钟信号,以将生成的时钟信号输出到信号处理部183-0至183-n的每个同步部193
[0400]
信号处理部183-0的控制码插入部191将控制码添加到从通道分配部165提供的分组数据。控制码是由从预先准备的多种类型的符号中选择的一种符号或者由多种类型的符号的组合表示的代码。要由控制码插入部191插入的每个符号是8位数据。在后一级的电路中执行8b10b转换,使得由控制码插入部191插入的一个符号是10位数据。同时,如下所述,在接收单元131中对接收数据执行10b8b转换;然而,接收数据中包括的10b8b转换之前的每个符号是10位数据,而10b8b转换之后的每个符号是8位数据。
[0401]
图33示出了要由控制码插入部191添加的控制码的示例。
[0402]
控制码的示例包括空闲码、起始码、结束码、填充码、同步码、去歪斜码和待机码。
[0403]
空闲码是在除分组数据传输之外的时间段内重复传输的符号组。空闲码由d字符的d00.0(00000000)表示,即8b10b代码。
[0404]
起始码是表示分组开始的符号组。如上所述,起始码被添加到分组的前面。起始代码由k28.5、k27.7、k28.2和k27.7四个符号表示,它们是三种类型的k字符的组合。各个k字符的值如图34所示。
[0405]
结束码是表示分组结束的符号组。如上所述,结束码被添加到分组的后面。结束码由k28.5、k29.7、k30.7和k29.7四个符号表示,它们是三种类型的k字符的组合。
[0406]
填充码是插入到有效载荷数据中的符号组,用于弥补像素数据带和phy传输带之间的差异。像素数据带是从成像单元121输出并输入到传输单元122的像素数据的传输速率,phy传输带是从传输单元122传输并输入到接收单元131的像素数据的传输速率。填充码由k23.7、k28.4、k28.6和k28.3四个符号表示,它们是四种类型的k字符的组合。
[0407]
图35示出了插入填充码的示例。
[0408]
图35的上侧示出了在填充码插入之前分配给每个通道的有效载荷数据,其下侧示出了填充码插入之后的有效载荷数据。在图35的示例中,填充码被插入在来自报头的第三像素数据和第四像素数据之间、第六像素数据和第七像素数据之间以及第十二像素数据和第十三像素数据之间。以这种方式,填充码被插入与通道0至7的每个通道的有效载荷数据相同的位置。
[0409]
填充码由信号处理部183-0的控制码插入部191插入到分配给通道0的有效载荷数据中。同样,在信号处理部183-1至183-n的每一个中,也在相同的时间执行填充码插入到分配给另一通道的有效载荷数据中。基于像素数据带和phy传输带之间的差异、时钟生成部182生成的时钟信号的频率等来确定填充码的数量。
[0410]
以这种方式,在像素数据带窄并且phy传输带宽的情况下,执行填充码插入,以便调整两个带之间的差异。例如,填充码插入允许将像素数据带和phy传输带之间的差异调整到一定范围内。
[0411]
返回图33的描述,同步码是用于在传输单元122和接收单元131之间执行位同步和符号同步的符号组。同步码由两个符号k28.5和任意**表示。任何**表示可以使用任何类型的符号。例如,在传输单元122和接收单元131之间的分组数据传输之前,以训练模式重复传输同步码。
[0412]
去歪斜码是用于校正通道之间的数据歪斜的符号组,即,在接收单元131的通道中接收的数据的接收时间的偏差。去歪斜码由两个符号k28.5和任意**表示。稍后将描述如何使用去歪斜码校正通道之间的数据歪斜。
[0413]
待机码是用于通知接收单元131传输单元122的输出进入高阻抗状态以不执行数据传输的符号组。也就是说,当分组数据传输结束时,待机码被传输到接收单元131,以使其进入待机状态。待机码由两个符号k28.5和任意**表示。
[0414]
控制码插入部191向8b10b符号编码器192输出添加了这种控制码的分组数据。
[0415]
图36示出了插入控制码之后的分组数据的示例。
[0416]
如图36所示,在每个信号处理部183-0至183-n中,起始码被添加到分组数据的前面,并且填充码被插入到有效载荷数据中。结束码被添加到分组数据的后面,去歪斜码被添加到结束码的后面。在图36的示例中,空闲码被添加到去歪斜码的后面。
[0417]
8b10b符号编码器192对从控制码插入部191提供的分组数据(添加了控制码的分组数据)执行8b10b转换,以将转换成10位单位数据的分组数据输出到同步部193。
[0418]
同步部193根据由时钟生成部182生成的时钟信号,向传输部194输出从8b10b符号编码器192提供的分组数据的每位。应当注意,传输单元122可以不包括同步部193。在这种情况下,从8b10b符号编码器192输出的分组数据原样提供给传输部194。
[0419]
传输部194经由包括在通道0中的传输路径将从同步部193提供的分组数据传输到接收单元131。在使用八个通道执行数据传输的情况下,也使用通道1至7中包括的传输路径
将分组数据传输到接收单元131。
[0420]
《接收单元131的物理层配置》
[0421]
接下来,给出接收单元131的物理层配置的描述。
[0422]
接收单元131包括作为物理层配置的phy-rx状态控制部201和信号处理部202-0至202-n。信号处理部202-0包括接收部211、时钟生成部212、同步部213、符号同步部214、10b8b符号解码器215、歪斜校正部216和控制码移除部217。
[0423]
可以使用执行参考图1至13描述的解码的解码器12来代替10b8b符号解码器215。首先描述采用10b8b符号解码器215的情况,并且参考图42和随后的附图描述使用解码器12代替10b8b符号解码器215的情况。
[0424]
经由包括在通道0中的传输路径传输的分组数据被输入到信号处理部202-0,并且经由包括在通道1中的传输路径传输的分组数据被输入到信号处理部202-1。此外,经由包括在通道n中的传输路径传输的分组数据被输入到信号处理部202-n
[0425]
以这种方式,接收单元131的物理层包括与通道数量相同数量的信号处理部202-0至202-n,并且在各个信号处理部202-0至202-n中并行执行使用相应通道传输的分组数据的处理。给出信号处理部202-0的配置的描述;然而,信号处理部202-1至202-n每个也具有类似的配置。
[0426]
接收部211接收表示经由包括在通道0中的传输路径从传输单元122传输的分组数据的信号,并将接收的信号输出到时钟生成部212。
[0427]
时钟生成部212检测从接收部211提供的信号的边缘,从而执行位同步,并基于边缘的检测周期生成时钟信号。时钟生成部212将从接收部211提供的信号与时钟信号一起输出到同步部213。
[0428]
同步部213根据时钟生成部212生成的时钟信号对接收部211接收的信号进行采样,以将通过采样获得的分组数据输出到符号同步部214。cdr(时钟数据恢复)功能由时钟生成部212和同步部213实现。
[0429]
符号同步部214通过检测包括在分组数据中的控制码或通过检测包括在控制码中的一些符号来执行符号同步。例如,符号同步部214检测包括在起始码、结束码和去歪斜码中的k28.5的符号,以执行符号同步。符号同步部214向10b8b符号解码器215输出表示每个符号的10位单位分组数据。
[0430]
此外,符号同步部214通过检测在分组数据传输开始之前的训练模式时从传输单元122重复传输的同步码中包括的符号的边界来执行符号同步。
[0431]
10b8b符号解码器215对从符号同步部214提供的10位单位分组数据执行10b8b转换,以将转换成8位单位数据的分组数据输出到歪斜校正部216。
[0432]
歪斜校正部216从10b8b符号解码器215提供的分组数据中检测歪斜校正码。关于歪斜校正部216的歪斜校正码的检测时间的信息被提供给phy-rx状态控制部201。
[0433]
此外,歪斜校正部216校正通道之间的数据歪斜,以使歪斜校正码的时间与由从phy-rx状态控制部201提供的信息指示的时间相匹配。phy-rx状态控制部201提供指示在每个信号处理部202-0到202-n中检测到的去歪斜码的最新时间的信息。
[0434]
图37示出了使用去歪斜码校正通道之间的数据歪斜的示例。
[0435]
在图37的示例中,在通道0至7的每个通道中传输同步码,同步码,...,空闲码,去
歪斜码,空闲码,...空闲码和去歪斜码,并且每个控制码由接收单元131接收。对于每个通道,相同控制码的接收时间不同,导致通道之间出现数据歪斜的状态。
[0436]
在这种情况下,歪斜校正部216检测作为第一歪斜校正码的歪斜校正码c1,并执行校正,以使歪斜校正码c1的报头的时间与由从phy-rx状态控制部201提供的信息所指示的时钟时间t1相匹配。phy-rx状态控制部201提供关于在通道7中检测到去歪斜码c1的时钟时间t1的信息,该时间是在通道0至7的每个通道中检测到去歪斜码c1的时间的最新时间。
[0437]
此外,歪斜校正部216检测作为第二歪斜校正码的歪斜校正码c2,并且执行校正,以将歪斜校正码c2的报头的时间与由从phy-rx状态控制部201提供的信息指示的时钟时间t2相匹配。phy-rx状态控制部201提供关于在通道7中检测到去歪斜码c2的时钟时间t2的信息,该时间是在通道0至7的每个通道中检测到去歪斜码c2的时间的最新时间。
[0438]
在每个信号处理部202-1至202-n中执行类似的处理,允许校正通道之间的数据歪斜,如图37的箭头#1所示。
[0439]
歪斜校正部216向控制码移除部217输出其数据歪斜已经被校正的分组数据。
[0440]
控制码移除部217移除添加到分组数据的控制码,以将从起始码到结束码的数据作为分组数据输出到链路层。
[0441]
phy-rx状态控制部201控制信号处理部202-0至202-n的每个部分,以执行通道之间的数据歪斜的校正等。此外,在传输错误发生在预定通道中,以丢失控制码的情况下,phy-rx状态控制部201通过添加在另一通道中传输的控制码而不是丢失的控制码来执行控制码的纠错。
[0442]
《接收单元131的链路层配置》
[0443]
接下来,给出接收单元131的链路层配置的描述。
[0444]
接收单元131包括作为链路层配置的link-rx协议管理部221、通道整合部222、分组分离部223、有效载荷纠错部224和字节到像素转换部225。link-rx协议管理部221包括状态控制部231、报头纠错部232、数据移除部233和报尾错误检测部234。
[0445]
通道整合部222以相反的顺序重新排列由传输单元122的通道分配部165从物理层的信号处理部202-0至202-n提供给相应通道的分组数据的分配顺序,以整合分组数据。
[0446]
例如,在如图32的箭头#1的指示所示由通道分配部165执行分组数据的分配的情况下,通过对相应通道的分组数据进行整合而获得图32左侧的分组数据。在整合相应通道的分组数据时,通道整合部222在数据移除部233的控制下移除通道填充数据。通道整合部222将整合的分组数据输出到分组分离部223。
[0447]
分组分离部223将由通道整合部222整合的一个分组的分组数据分离成包括在报头数据中的分组数据和包括在有效载荷数据中的分组数据。分组分离部223将报头数据输出到报头纠错部232,并将有效载荷数据输出到有效载荷纠错部224。
[0448]
此外,在分组包括报尾的情况下,分组分离部223将一个分组的数据分离成包括在报头数据中的分组数据、包括在有效载荷数据中的分组数据和包括在报尾数据中的分组数据。分组分离部223将报头数据输出到报头纠错部232,并将有效载荷数据输出到有效载荷纠错部224。另外,分组分离部223将报尾数据输出到报尾错误检测部234。
[0449]
在奇偶校验被插入到从分组分离部223提供的有效载荷数据中的情况下,有效载荷纠错部224基于奇偶校验执行纠错操作,从而检测有效载荷数据中的错误,并校正检测到
的错误。例如,在如图28所示插入奇偶校验的情况下,有效载荷纠错部224使用插入第一基本块的最后一个的两个奇偶校验来执行奇偶校验之前的224条像素数据的纠错。
[0450]
有效载荷纠错部224向字节到像素转换部225输出通过对基本块和额外块中的每一个执行纠错而获得的纠错像素数据,作为目标。在没有奇偶校验被插入到从分组分离部223提供的有效载荷数据中的情况下,从分组分离部223提供的有效载荷数据被原样输出到字节到像素转换部225。
[0451]
字节到像素转换部225在数据移除部233的控制下移除包括在从有效载荷纠错部224提供的有效载荷数据中的有效载荷填充数据。
[0452]
此外,字节到像素转换部225执行字节到像素转换,以将通过移除有效载荷填充数据而获得的字节单位中的每个像素的数据转换成8位、10位、12位、14位或16位单位像素数据。字节到像素转换部225执行由传输单元122的像素到字节转换部162进行的像素到字节转换的反向转换,这已经参考图21至25进行了描述。
[0453]
字节到像素转换部225向帧数据输出部241输出通过字节到像素转换获得的8位、10位、12位、14位或16位单位像素数据。例如,在帧数据输出部241中,基于由字节到像素转换部225获得的像素数据,生成由报头信息的行有效指定的有效像素的各行,并且根据报头信息的行号排列各行,从而生成一帧图像。
[0454]
link-rx协议管理部221的状态控制部231管理接收单元131的链路层的状态。
[0455]
报头纠错部232基于从分组分离部223提供的报头数据获取三组报头信息和crc码。报头纠错部232使用与报头信息相同组的crc码作为目标,对每组报头信息和crc码执行错误检测操作,该错误检测操作是检测报头信息中的错误的操作。
[0456]
此外,报头纠错部232基于每组报头信息的错误检测结果或通过错误检测操作获得的数据之间的比较结果中的至少一个来推断正确的报头信息,以输出推断为正确的报头信息和解码结果。通过错误检测操作获得的数据是通过将crc生成多项式应用于报头信息而获得的值。此外,解码结果是指示解码成功或解码失败的信息。
[0457]
三组报头信息和crc码被定义为组1、组2和组3。在这种情况下,报头纠错部232对作为目标的组1执行错误检测操作,以获取组1的报头信息(错误检测结果)中是否存在错误以及作为通过错误检测操作获得的数据的数据1。此外,报头纠错部232对作为目标的组2执行错误检测操作,以获取组2的报头信息中是否存在错误以及作为通过错误检测操作获得的数据的数据2。报头纠错部232对作为目标的组3执行错误检测操作,以获取组3的报头信息中是否存在错误以及作为通过错误检测操作获得的数据的数据3。
[0458]
此外,报头纠错部232确定数据1和数据2是否彼此一致、数据2和数据3是否彼此一致、以及数据3和数据1是否彼此一致。
[0459]
例如,在通过对作为目标的组1、2和3的任何错误检测操作都没有检测到错误,并且通过错误检测操作获得的数据的所有比较结果彼此一致的情况下,报头纠错部232选择指示成功解码的信息,作为解码结果。另外,报头纠错部232推断任何一条报头信息是正确的,以选择组1的报头信息、组2的报头信息和组3的报头信息之一,作为输出信息。
[0460]
同时,在仅通过对组1的错误检测操作没有检测到错误的情况下,作为目标,报头纠错部232选择指示成功解码的信息,作为解码结果,并且还推断组1的报头信息是正确的,以选择组1的报头信息,作为输出信息。
[0461]
此外,在仅通过对组2的错误检测操作没有检测到错误的情况下,作为目标,报头纠错部232选择指示成功解码的信息,作为解码结果,并且还推断组2的报头信息是正确的,以选择组2的报头信息,作为输出信息。
[0462]
在仅通过对组3的错误检测操作没有检测到错误的情况下,作为目标,报头纠错部232选择指示成功解码的信息,作为解码结果,并且还推断组3的报头信息是正确的,以选择组3的报头信息,作为输出信息。
[0463]
报头纠错部232将如上所述选择的解码结果和输出信息输出到寄存器242,用于存储。以这种方式,通过报头纠错部232执行报头信息的纠错,以允许使用crc码从多条报头信息中检测没有错误的报头信息,并输出检测到的报头信息。
[0464]
数据移除部233控制通道整合部222移除通道填充数据,并控制字节到像素转换部225移除有效载荷填充数据。
[0465]
报尾错误检测部234基于从分组分离部223提供的报尾数据获取存储在报尾中的crc码。报尾错误检测部234使用获取的crc码执行错误检测操作,以检测有效载荷数据中的错误。报尾错误检测部234输出错误检测结果,并使寄存器242存储错误检测结果。
[0466]
《图像传感器111和dsp 112的操作》
[0467]
接下来,描述具有上述配置的传输单元122和接收单元131的一系列处理。
[0468]
首先,参考图38的流程图给出包括传输系统100的成像装置的操作的描述。当例如通过按压设置在成像装置上的快门按钮来指示开始成像时,开始图38的处理。
[0469]
在步骤s101中,图像传感器111的成像单元121执行成像。成像单元121(图17)的帧数据输入部152通过一个像素数据依次输出包括在通过成像获得的一帧图像中的像素数据。
[0470]
在步骤s102中,由传输单元122执行数据传输处理。数据传输处理允许生成分组,其中,一行的像素数据存储在有效载荷中,并且包括在分组中的分组数据被传输到接收单元131。稍后参考图39的流程图描述数据传输处理。
[0471]
在步骤s103中,由接收单元131执行数据接收处理。数据接收处理允许接收从传输单元122传输的分组数据,并且存储在有效载荷中的像素数据被输出到图像处理单元132。稍后参考图40的流程图描述数据接收处理。
[0472]
交替地对作为目标的一行的像素数据执行在步骤s102中由传输单元122执行的数据传输处理和在步骤s103中由接收单元131执行的数据接收处理。即,当通过数据传输处理传输一行的像素数据时,执行数据接收处理,并且当通过数据接收处理接收一行的像素数据时,作为目标,对下一行的像素数据执行数据传输处理。在一些情况下,传输单元122的数据传输处理和接收单元131的数据接收处理可以适当地在时间上并行执行。在步骤s104中,图像处理单元132的帧数据输出部241确定一帧图像中包括的所有行中的像素数据的传输和接收是否完成;在确定像素数据的传输和接收没有完成的情况下,帧数据输出部241促使重复执行在步骤s102中和之后的处理。
[0473]
在步骤s104中确定包括在一帧图像中的所有行中的像素数据的传输和接收完成的情况下,图像处理单元132的帧数据输出部241基于从接收单元131提供的像素数据生成一帧图像。
[0474]
在步骤s106中,图像处理单元132使用一帧图像执行图像处理,以完成处理。
[0475]
接下来,参考图39的流程图,给出在图38的步骤s102中执行的数据传输处理的描述。
[0476]
在步骤s111中,报头生成部172生成包括帧开始、帧结束、行有效、行号和保留区的报头信息。
[0477]
在步骤s112中,报头生成部172将报头信息应用于生成多项式,以计算crc码。
[0478]
在步骤s113中,报头生成部172将crc码添加到报头信息,从而生成一组报头信息和crc码,并且重复排列相同的三组报头信息和crc码,从而生成报头。
[0479]
在步骤s114中,像素到字节转换部162获取从帧数据输入部152提供的像素数据,以执行像素到字节转换。像素到字节转换部162输出通过以通过像素到字节转换获得的字节为单位对像素数据进行分组、添加有效载荷填充数据等而生成的有效载荷数据。有效载荷ecc插入部163将奇偶校验适当地插入到有效载荷数据中。
[0480]
在步骤s115中,分组生成部164基于包括一行的像素数据和由报头生成部172生成的报头的有效载荷数据生成分组,以输出包括在一个分组中的分组数据。
[0481]
在步骤s116中,通道分配部165将从分组生成部164提供的分组数据分配给用于数据传输的多个通道。
[0482]
在步骤s117中,控制码插入部191将控制码添加到从通道分配部165提供的分组数据。
[0483]
在步骤s118中,8b10b符号编码器192对添加了控制码的分组数据执行8b10b转换,以输出转换成10位单位数据的分组数据。
[0484]
在步骤s119中,同步部193根据时钟生成部182生成的时钟信号输出从8b10b符号编码器192提供的分组数据,并使传输部194传输分组数据。由信号处理部183-0至183-n并行执行步骤s117至s119中的处理。当一行的像素数据的传输完成时,处理返回到图38的步骤s102,并且执行后续的处理。
[0485]
接下来,参考图40的流程图,给出在图38的步骤s103中执行的数据接收处理的描述。
[0486]
在步骤s131中,接收部211接收表示从传输单元122传输的分组数据的信号。信号处理部202-0至202-n并行执行步骤s131至s136的多个处理。
[0487]
在步骤s132中,时钟生成部212检测从接收部211提供的信号的边缘,从而执行位同步。同步部213对接收部211接收的信号进行采样,以将分组数据输出到符号同步部214。
[0488]
在步骤s133中,符号同步部214检测包括在分组数据中的控制码,例如,以执行符号同步。
[0489]
在步骤s134中,10b8b符号解码器215对符号同步之后的分组数据执行10b8b转换,以输出转换成8位单位数据的分组数据。
[0490]
在步骤s135中,如上所述,歪斜校正部216检测去歪斜码,并且校正通道之间的数据歪斜,以使去歪斜码的时间与由从phy-rx状态控制部201提供的信息指示的时间相匹配。
[0491]
在步骤s136中,控制码移除部217移除添加到分组数据的控制码。
[0492]
在步骤s137中,通道整合部222整合从信号处理部202-0至202-n提供的分组数据。
[0493]
在步骤s138中,分组分离部223将由通道整合部222整合的分组数据分离成包括在报头数据中的分组数据和包括在有效载荷数据中的分组数据。
[0494]
在步骤s139中,报头纠错部232使用由分组分离部223分离的报头数据中包括的每组报头信息上的crc码和作为目标的crc码来执行错误检测操作。此外,报头纠错部232基于每组的错误检测结果和通过错误检测操作获得的多条数据之间的比较结果,选择并输出没有错误的报头信息。
[0495]
在步骤s140中,字节到像素转换部225执行有效载荷数据的字节到像素转换,并输出8位、10位、12位、14位或16位单位像素数据。有效载荷纠错部224使用奇偶校验对要进行字节到像素转换的有效载荷数据适当地执行纠错。
[0496]
当一行的像素数据的处理完成时,处理返回到图38的步骤s103,并且执行后续的处理。
[0497]
如上所述,图像传感器111和dsp 112之间的数据传输使用分组格式来执行,其中,一帧的一行对应于一个分组。
[0498]
用于图像传感器111和dsp 112之间的数据传输的分组格式可以说是最小化报头信息和指示分组边界的控制码(例如,起始码和结束码)的传输的格式,从而可以防止传输效率的降低。假设采用一种分组格式,其中,存储在一个分组的有效载荷中的像素数据少于一行,需要传输更多的分组来传输整个一帧的像素数据,因此由于要传输的报头信息和控制码的数量增加,导致传输效率降低。
[0499]
此外,防止传输效率的降低使得能够抑制传输延迟,从而使得能够实现高速传输大量图像数据所需的高像素和高帧率接口。
[0500]
通过采用假设通过增加传输的可靠性/冗余度在接收单元131侧执行纠错的分组格式,可以确保针对报头信息中的传输错误的措施。使用报头信息执行帧/行(v/h)的同步信息等的传输,因此由于传输错误导致的报头信息的丢失可能导致系统中的大故障,然而,这是能够防止的。
[0501]
此外,还可以抑制安装成本和功耗的增加,以确保针对报头信息中的传输错误的措施。也就是说,在用于图像传感器111和dsp 112之间的数据传输的分组格式中,crc码的添加使得dsp 112能够检测报头信息中传输错误的存在或不存在。此外,三组报头信息和crc码的传输使得在报头信息中出现传输错误的情况下,dsp 112能够对正确的报头信息进行校正。
[0502]
假设纠错码用作针对报头信息中的传输错误的措施,需要准备在传输单元122中计算纠错码的电路,并且需要准备在接收单元131中执行纠错操作的电路。作为错误检测码的crc码被添加到报头信息,因此与准备执行与纠错相关的操作的电路的情况相比,可以减小电路尺寸和功耗。此外,在检测到报头信息中的错误的情况下,接收单元131不请求传输单元122重发报头信息,从而使得没有必要为重发请求准备反向的传输路径。
[0503]
通过组合8b10b码的多个k个字符来增加冗余和构造控制码,使得能够降低控制码中的错误概率,从而使得能够使用相对简单的电路来确保针对控制码中的传输错误的措施。
[0504]
具体地,尽管包括三种类型的k个字符的四个符号的组合用于起始码,但是接收单元131能够指定起始码,只要至少能够检测到除k28.5之外的符号;因此,可以说传输错误的容限很高。这同样适用于结束码。
[0505]
此外,尽管四种类型的k字符的组合用于填充码,但是分配比其他控制码更多类型
的k字符,使得有可能比其他控制码增加错误容限。也就是说,接收单元131能够指定填充码,只要能够检测到其四种类型中的一种类型的符号。填充码具有比起始码和结束码更高的传输频率,因此被配置为更大地增加错误容限。
[0506]
此外,对于每个通道,在相同的时间传输相同的控制码使得即使在一个通道中由于传输错误的发生而丢失控制码的情况下,也可以使用另一通道的控制码来再现发生错误的控制码。
[0507]
此外,由于k个字符的数量有限,因此组合最少的必要k个字符来构造每个控制码。例如,使用的数据结构不需要为同步码、去歪斜码和待机码分配额外的k字符,这些码通过重复传输相对容忍传输错误。
[0508]
重新同步所必需的控制码被分配给每个分组(一行),因此在位同步由于诸如静电、噪声等干扰而丢失的情况下,可以快速执行重新同步。此外,可以最小化由于同步丢失引起的传输错误的影响。
[0509]
具体而言,检测由时钟生成部212和同步部213实现的cdr中的8b10b转换之后的位数据的转变/边缘使得可以执行位同步。因此,当传输单元122继续发送数据时,可以在预期的cdr锁定时间内执行位同步。
[0510]
此外,即使在符号同步丢失的情况下,在符号同步部214中检测特定的k字符(k28.5)也可以快速执行重新同步。k28.5用于起始码、结束码和去歪斜码中的每一个,从而使得能够在一个分组的分组数据传输期间在三个位置执行符号同步。
[0511]
此外,使用去歪斜码校正通道间的数据歪斜还可以执行通道之间的同步。
[0512]
与在一个时钟周期中逐个处理分组数据的情况相比,通过在链路层中以16块(在图26的示例的情况下,以16字节为单位)等为单位对分组数据执行并行处理,可以抑制电路大小和存储量。就安装而言,与逐个处理分组数据的情况相比,在针对每个预定单元共同处理分组数据的情况下,可以抑制电路尺寸等。能够抑制电路尺寸,也使得能够抑制功耗。
[0513]
此外,在通道分配时,将连续的分组数据分配给不同的通道,使得能够增强错误容限。即使在数量超过奇偶校验的纠错能力的连续分组数据的某个通道中出现错误的情况下,接收单元131中进行的通道耦合允许出现错误的分组数据的位置分散,这在某些情况下可以实现使用奇偶校验的纠错。奇偶校验的纠错能力由奇偶校验的长度决定。
[0514]
此外,通过在比通道分布和通道整合更高的级别执行ecc处理,将更靠近物理层的通道设置为更低的级别,可以减小传输单元122和接收单元131的电路尺寸。例如,在分组数据被分配给传输单元122中的每个通道之后,ecc的奇偶校验被插入到有效载荷中的情况下,有效载荷ecc插入部163需要为每个通道准备,导致更大的电路尺寸;然而,有可能防止这样的结果。
[0515]
尽管在物理层的多个电路中执行分组数据的并行处理,但是与为相应通道准备电路的情况相比,共享phy-tx状态控制部181和时钟生成部182使得可以实现电路的简化。此外,使用不针对相应通道传输不同控制码的协议使得可以实现处理相应通道的分组数据的电路的简化。
[0516]
《通道数的切换》
[0517]
例如,不仅在正常数据传输时,而且在切换通道数量的情况下,在相同时间在每个通道中执行相同控制码的传输。即使在切换通道数量的情况下,所有活动通道(用于数据传
输的通道)的状态都是相同的。
[0518]
图41示出了在切换通道数量的情况下的控制序列。
[0519]
图41在右侧示出了垂直同步信号(xvs)和水平同步信号(xhs)的时间。描述了根据水平同步信号传输包括在一帧图像中的每行的像素数据直到检测到垂直同步信号的时钟时间t1的情况以及在时钟时间t1的时间活动的通道从四个通道变为两个通道的情况。直到时钟时间t1,四个通道用于数据传输。
[0520]
图41在大致中间示出了每个通道在纵向方向上的状态。“pix data”表示像素数据在附加有字母的通道中传输。“pix data”后面的“e”、“blk”和“s”分别表示帧结束、消隐期和帧开始。
[0521]
在直到时钟时间t1的一个帧周期中结束要传输的帧的像素数据的传输的情况下,在步骤s181中,图像处理单元132指示接收单元131将通道的数量从四个切换到两个。在步骤s171中,接收单元131接收图像处理单元132的指令。
[0522]
在时钟时间t1,在步骤s182中,图像处理单元132请求图像传感器111的成像单元121改变模式。传输到成像单元121的改变模式的请求还包括指示将通道数量从四个切换到两个的信息。尽管在图1或其他附图中未示出,但是在成像单元121和图像处理单元132之间提供传输路径,用于图像处理单元132向成像单元121传输关于与成像相关的设置值的信息,例如,快门速度和增益。改变模式的请求也经由该传输路径被传输到成像单元121。
[0523]
在步骤s151中,成像单元121从图像处理单元132接收改变模式的请求,并在步骤s152中指示传输单元122将通道数从四个切换到两个。在步骤s161中,来自成像单元121的指令由传输单元122接收。
[0524]
在传输单元122和接收单元131之间执行待机序列,并且使用通道0至3将待机码从传输单元122重复传输到接收单元131。在待机序列结束的情况下,在步骤s172中从接收单元131输出状态的检测结果,并且在步骤s183中由图像处理单元132接收。此外,保持活动状态的通道0和通道1进入低状态,完成数据传输的通道2和通道3进入高z状态。
[0525]
在传输单元122和接收单元131之间执行训练序列,并且使用通道0和通道1将同步码从传输单元122重复传输到接收单元131。在接收单元131中执行位同步,并且通过检测同步码来执行符号同步。
[0526]
当训练序列结束时,在步骤s173中,接收单元131通知图像处理单元132准备已经完成。在步骤s184中,图像处理单元132接收到接收单元131的通知,以在切换通道数量的情况下完成一系列控制序列。
[0527]
以这种方式,在切换通道数量的控制序列中,即使在数据传输完成的通道2和3中,也在待机序列的时间传输待机码,以具有与随后用于数据传输的通道0和1相同的状态。例如,通道2和3被认为原样保持在高z状态,而不传输待机码,这导致进入不同于随后用于数据传输的通道的状态,因此需要复杂的控制。
[0528]
《传输单元122和接收单元131的另一配置》
[0529]
图42示出了传输单元122和接收单元131的另一配置示例。为了区别于图17所示的传输单元122,图42所示的传输单元被描述为传输单元122a。同样,为了区别于图17所示的接收单元131,图42所示的传输单元被描述为接收单元131a。
[0530]
当将图17所示的传输单元122和图42所示的传输单元122a彼此进行比较时,它们
彼此的不同之处在于,传输单元122的8b10b符号编码器192被编码器11代替,但是其他组件被类似地配置。当将图17所示的接收单元131和图42所示的接收单元131a相互比较时,它们的不同之处在于,接收单元131的10b8b符号解码器215由解码器12代替,但是其他组件被类似地配置。相似的组件由相似的附图标记表示,并且省略其描述。
[0531]
参考图1至图13描述的编码器11和解码器12适用于根据slvs-ec规范进行传输和接收的传输系统100。具体而言,如图42所示,编码器11适用于对传输单元122a内部的信号处理部183中包括的数据进行编码(编码)的部分。另外,如图42所示,解码器12适用于解码(解码)接收单元131a内部的信号处理部202中包括的数据的部分。
[0532]
同样,在编码器11或解码器12应用于根据slvs-ec规范执行传输和接收的传输系统100的情况下,如参考图1至图13所描述的那样执行编码或解码,因此省略其描述。此处给出了当根据slvs-ec规范执行传输和接收时编码器11和解码器12的每个处理的更具体描述。
[0533]
在根据slvs-ec规范传输和接收数据的情况下,数据被分成如图2的b所示的n位块和m位块,并且使用一个n位块和一个m位块作为一个处理单元来执行处理。此外,如参考图33和图34所述,除了要传输的数据之外,控制码也被输入到编码器11(图17中的8b10b符号编码器192)。
[0534]
与要传输的数据不同(下文中,为了与控制码区分,适当地称为信息传输数据),控制码是具有控制通信的特殊作用的代码,因此与由编码器11执行编码时用于处理的信息传输数据区分开来。
[0535]
如图43所示,预编码器301被添加到编码器11的前部,该预编码器执行预编码,在该预编码中执行处理,以将控制码和信息传输数据彼此区分并将数据分成n位或m位。应当注意,尽管在图43中分别示出了预编码器301和编码器11,但是预编码器301也可以包括在编码器11的一部分中。
[0536]
从通道分配部165(图42)向预编码器301提供信息传输数据(在图中称为数据),并从控制码插入部191提供控制码(在图中称为代码)。预编码器301将输入的信息传输数据或控制码分成(转换)n位或m位,以将数据或代码提供给编码器11。此外,预编码器301向编码器11提供指示所提供的数据是信息传输数据还是控制码的标志(下文中,称为dc标志)。
[0537]
在此处,再次参考图33。例如,参考起始代码,作为控制码,起始代码由k28.5、k27.7、k28.2和k27.7的四个符号表示,它们是三种类型的k字符的组合。因为一个符号是8位,所以起始码是32位代码。同样,另一控制码也由32位配置。
[0538]
编码时的n位和m位可以根据控制码的位数来设置。假设在控制码为32位的情况下,n位被设置为31位,m位被设置为33位。在这种情况下,(n m)位被设置为64位。此外,一位标志被添加到n位,因此一个n位块是32位,一位标志被添加到m位,因此一个m位块是34位。
[0539]
尽管在下面的描述中,通过举例说明n=31和m=33成立的情况来给出描述,但是即使当采用其他位数时,本技术也是适用的。此外,在下文中,继续描述,其中,(n m)=64位被设置为一个处理单元。在作为一个处理单元的64位中,要输入到预编码器301的前半部分的32位被描述为前半块,后半部分的32位被描述为后半块。
[0540]
将由预编码器301转换成n位(31位)并输出到编码器11的数据串描述为第一块,将转换成m位(33位)并输出到编码器11的数据串描述为第二块。
[0541]
在此处,预编码器301被描述为将输入的一个处理单元数据分成n位(31位)第一块,然后分成m位(33位)第二块;然而,也可以将数据分成m位块,然后分成n位块。
[0542]
预编码器301被提供有前半块和后半块的64位数据。前半块和后半块中的每一个都是信息传输数据或控制码,因此它们有以下四种组合。
[0543]
情况1:前半块是信息传输数据 后半块是信息传输数据
[0544]
情况2:前半块是信息传输数据 后半块是控制码
[0545]
情况3:前半块是控制码 后半块是信息传输数据
[0546]
情况4:前半块是控制码 后半块是控制码
[0547]
针对情况1至4中的每一个,给出预编码器301和编码器11的每个处理的描述。
[0548]
《关于情况1中的编码》
[0549]
参考图44给出了情况1中的预编码和编码的描述。情况1是要输入到预编码器301的64位数据的每一条都是信息传输数据并且数据被分成信息传输数据的第一块和信息传输数据的第二块的情况。
[0550]
也就是说,在情况1中,作为32位前半块的第一信息传输数据[31:0]和作为32位后半块的第二信息传输数据[31:0]被输入到预编码器301。
[0551]
预编码器301将输入的32位前半块的第一信息传输数据[31:0]的31位信息传输数据[31:1]作为第一块输出到编码器11。
[0552]
预编码器301将作为输入的32位第一信息传输数据[31:0]的最后一位的第一信息传输数据[0]分配给第二块。此外,后半块的32位第二信息传输数据[31:0]被添加到第一信息传输数据[0]的后面的33位作为第二块被输出到编码器11。
[0553]
换言之,预编码器301将输入的64位数据串分成构成输入的64位的前半31位和33位的第一信息传输数据[31:1],这是剩余的一位第一信息传输数据[0]和构成输入的64位的后半32位的第二信息传输数据[31:0]的组合。
[0554]
当将作为信息传输数据的第一块输出到编码器11时,预编码器301还向编码器11提供指示第一块是信息传输数据的dc标志。
[0555]
在所提供的dc标志指示信息传输数据的情况下,编码器11对所提供的第一块数据执行编码,其中,控制运行差异rd或游程长度rl,如参考图1至13所述。也就是说,执行处理,以添加指示第一块数据被运行差异rd或游程长度rl反转的标志,或者添加指示数据没有反转的标志。
[0556]
编码器11对31位第一块的处理允许添加一位标志,因此从编码器11输出的数据是32位数据。
[0557]
同样,当向编码器11输出作为信息传输数据的第二块时,预编码器301还向编码器11提供指示第二块是信息传输数据的dc标志。
[0558]
在所提供的dc标志指示信息传输数据的情况下,编码器11对所提供的第二数据块执行编码,其中,控制运行差异rd或游程长度rl,如参考图1至图13所述。也就是说,执行处理,以添加指示第二块数据被运行差异rd或游程长度rl反转的标志,或者添加指示数据没有反转的标志。
[0559]
编码器11对33位第二块的处理允许添加一位标志,因此从编码器11输出的数据是34位数据。
[0560]
《关于情况2中的编码》
[0561]
参考图45给出情况2中的预编码和编码的描述。情况2是这样的情况,其中,输入到预编码器301的64位数据的前半块是信息传输数据,其后半块是控制码,并且其中,数据被分成信息传输数据的第一块和控制码的第二块。
[0562]
也就是说,在情况2中,作为32位前半块的第一信息传输数据[31:0]和作为32位后半块的第二控制码[31:0]被输入到预编码器301。
[0563]
预编码器301将输入的32位前半块的第一信息传输数据[31:0]的31位信息传输数据[31:1]作为第一块输出到编码器11。
[0564]
预编码器301将作为输入的32位第一信息传输数据[31:0]的最后一位的第一信息传输数据[0]分配给第二块。此外,预编码器301将第二转换控制码“30:0”添加到第一信息传输数据[0]的后面,其中,后半块的32位第二控制码[31:0]被转换成31位,以将其转换成32位数据串,并进一步生成33位第二块,用于输出到编码器11。
[0565]
换言之,预编码器301将输入的64位数据串分成第一信息传输数据[31:1],其构成输入的64位的前半部分31位及其33位第二块。33位第二块是数据串,包括第一信息传输数据[31:0]的剩余一位第一信息传输数据[0]、构成输入的64位的后半部分32位的第二控制码[31:0]转换成31位控制码的第二控制码[30:0]以及第一信息传输数据[0]的反转位。
[0566]
将第一信息传输数据[0]和第一信息传输数据[0]的反转位添加到第二块的前部和后部允许第二块的运行差异rd被设置为零。
[0567]
此外,输入的32位控制码被转换成31位控制码。输入的32位控制码例如是对应于上述8b10b编码的控制码,并且具有例如参考图33描述的符号配置。参照图46给出转换后的输入32位控制码和31位控制码的描述。
[0568]
在以下描述中,为了区分8b10b编码和参考图1至图13描述的编码,参考图1至13描述的编码被称为反转编码。
[0569]
8b10b编码中的控制码的示例(在图46中描述为8b代码)包括空闲码、起始码、结束码、填充码、同步码、去歪斜码和待机码,如参考图33所描述的。
[0570]
空闲码由d字符的d00.0(00000000)表示,即8b10b代码。空闲码是数据串,其中,所有32位在8b代码中都是“0”。空闲码的运行差异rd为
“‑
32”。在空闲码的反转编码(图中称为inv)中,第一符号(第一符号)和第二符号(第二符号)都是“0”,除了第三符号(第三符号)和第四符号(第四符号)中的最后一个之外的所有位都是“1”。
[0571]
在反转编码中,不使用8b代码中第四符号的最后一位,因此获得31位控制码。在控制码的情况下,分配“1”,作为编码器11中的标志。“1”标志表示数据已反转;然而,在控制码的情况下,标志也被设置为“1”,指示数据是控制码。在控制码的情况下,编码器11将标志设置为“1”,但是数据没有反转。
[0572]
在控制码的情况下,标志被设置为“1”,因此包括该标志的反转编码中的空闲码的运行差异rd被设置为零。如下所述,反转编码中的控制码被设置为允许在包括标志的32位中将运行差异rd设置为零。
[0573]
在图46的空闲码中inv的反转禁止位置描述的数据串是反转编码中的空闲码反转的数据串。即,第一符号(第一符号)和第二符号(第二符号)都是“1”,除了第三符号(第三符号)和第四符号(第四符号)中的最后一个之外的所有位都是“0”。当这样的数据串作为信息
传输数据被输入到预编码器301(或编码器11),被设置为要反转的数据,并且反转时,这样的数据导致与空闲码的数据串相同的数据串。
[0574]
这样的数据串产生与控制码相同的数据串,被设置为禁止反转的数据串。因此,在输入这种禁止反转的数据串的情况下,编码器11将“0”设置为标志,以将其设置为非反转的数据串。被设置为禁止反转的数据串也是这样的数据串,其中,包括直到“0”作为标志的运行差异rd是“0”。
[0575]
在8b代码中,起始代码由k28.5、k27.7、k28.2和k27.7四个符号表示,它们是三种类型的k字符的组合。8b代码中起始码的运行差异rd为“14”。反转编码中起始码的第一符号为“00111100”,第二符号为“11111010”,第三符号为“11000011”,第四符号为“0000010”。
[0576]
反转编码中的起始码也是31位控制码,因为没有使用8b代码中第四符号的最后一位。此外,起始码也是控制码,因此“1”作为标志分配给编码器11。因此,包括标志的反转编码中的起始码的运行差异rd为零。
[0577]
此外,还设置了起始码的禁止反转数据串;通过反转与起始码相同的数据串被设置为不反转的数据串。在起始码的禁止反转数据串也作为信息传输数据输入到编码器11的情况下,“0”被设置为标志,并作为非反转数据串被处理。被设置为禁止反转的数据串也是包括高达“0”作为标志的运行差异rd为“0”的数据串。
[0578]
结束码由k28.5、k29.7、k30.7和k29.7四个符号表示,它们是三种类型的k字符的组合。8b代码中结束码的运行差异rd为“20”。反转编码中结束码的第一符号为“00111100”,第二符号为“11111100”,第三符号为“11000011”,第四符号为“0000001”。
[0579]
反转编码中的结束码也是31位控制码,因为没有使用8b代码中第四符号的最后一位。此外,结束码也是控制码,因此“1”作为标志分配给编码器11。因此,包括标志的反转编码中的结束码的运行差异rd为零。
[0580]
此外,还设置了结束码的禁止反转数据串;通过反转与结束码相同的数据串被设置为不反转的数据串。在结束码的禁止反转数据串也作为信息传输数据输入到编码器11的情况下,“0”被设置为标志,并作为非反转数据串被处理。被设置为禁止反转的数据串也是包括高达“0”作为标志的运行差异rd为“0”的数据串。
[0581]
填充码由k23.7、k28.4、k28.6和k28.3四个符号表示,它们是三种类型的k字符的组合。8b代码中填充码的运行差异rd为“10”。反转编码中的填充码的第一符号为“01110111”,第二符号为“10011100”,第三符号为“10001000”,第四符号为“0110001”。
[0582]
反转编码中的填充码也是31位控制码,因为没有使用8b代码中第四符号的最后一位。此外,填充码也是控制码,因此“1”作为标志被分配给编码器11。因此,在包括标志的反转编码中,填充码的运行差异rd为零。
[0583]
此外,还设置了填充码的禁止反转数据串;通过反转与填充码相同的数据串被设置为不反转的数据串。在填充码的禁止反转数据串也作为信息传输数据输入到编码器11的情况下,“0”被设置为标志,并且被处理为非反转数据串。被设置为禁止反转的数据串也是包括高达“0”作为标志的运行差异rd为“0”的数据串。
[0584]
同步码由四个符号表示,包括8b代码中k字符的k28.5和d字符的d10.5的组合。在图33中,已经使用任意**给出了描述,表示可以使用任意类型的符号,而在图46中,举例说明了使用d字符的d10.5的特定情况。
[0585]
8b代码中同步码的运行差异rd为“2”。反转编码中同步码的第一符号是“00111100”,第二符号是“10101010”,第三符号是“11000011”,第四符号是“0101010”。
[0586]
反转编码中的同步码也是31位控制码,因为没有使用8b代码中第四符号的最后一位。此外,同步码也是控制码,因此“1”作为标志被分配给编码器11。因此,包括标志的反转编码中的同步码的运行差异rd为零。
[0587]
此外,还设置了同步码的禁止反转数据串;通过反转与同步码相同的数据串被设置为不反转的数据串。在同步码的禁止反转数据串也作为信息传输数据输入到编码器11的情况下,“0”被设置为标志,并作为非反转数据串被处理。被设置为禁止反转的数据串也是包括高达“0”作为标志的运行差异rd为“0”的数据串。
[0588]
去歪斜码由四个符号表示,包括8b代码中k字符的k28.5和d字符的d00.3的组合。在图33中,已经使用任意**给出了描述,表示可以使用任意类型的符号,而在图46中,举例说明了使用d字符的d00.3的特定情况。
[0589]
8b代码中去歪斜码的运行差异rd为
“‑
10”。反转编码中去歪斜码的第一符号是“00111100”,第二符号是“01100000”,第三符号是“11000011”,第四符号是“1001111”。
[0590]
反转编码中的去歪斜码也是31位控制码,因为没有使用8b代码中第四符号的最后一位。此外,去歪斜码也是控制码,因此“1”作为标志被分配给编码器11。因此,在包括标志的反转编码中,去歪斜码的运行差异rd为零。
[0591]
此外,还设置了去歪斜码的禁止反转数据串;通过反转与去歪斜码相同的数据串被设置为不反转的数据串。在去歪斜码的禁止反转数据串也作为信息传输数据输入到编码器11的情况下,“0”被设置为标志,并作为非反转数据串被处理。被设置为禁止反转的数据串也是包括高达“0”作为标志的运行差异rd为“0”的数据串。
[0592]
待机码由四个符号表示,包括8b代码中k字符的k28.5和d字符的d03.0的组合。在图33中,使用任意**给出了描述,表示可以使用任意类型的符号,而在图46中,举例说明了使用d字符的d03.0的特定情况。
[0593]
8b代码中待机码的运行差异rd为“10”。反转编码中待机码的第一符号为“00111100”,第二符号为“00000010”,第三符号为“11000011”,第四符号为“111110”。
[0594]
反转编码中的待机码也是31位控制码,因为没有使用8b代码中第四符号的最后一位。此外,待机码也是控制码,因此“1”作为标志被分配给编码器11。因此,在包括标志的反转编码中,待机码的运行差异rd为零。
[0595]
此外,还设置了待机码的禁止反转数据串;通过反转与待机码相同的数据串被设置为不反转的数据串。在待机码的禁止反转数据串也作为信息传输数据输入到编码器11的情况下,“0”被设置为标志,并作为非反转数据串被处理。被设置为禁止反转的数据串也是包括高达“0”作为标志的运行差异rd为“0”的数据串。
[0596]
在设置这种控制码的情况下,预编码器301将输入的8b代码转换成反转编码的代码。当执行该转换时,可以保持图46所示的8b代码中的控制码和反转编码中的控制码之间的对应关系表,并适当地参考该关系表,用于转换。此外,尽管此处在包括转换处理的假设下继续描述,但是控制码插入部191也可以被配置为在反转编码中插入控制码,并且预编码器301也可以被配置为不执行转换。
[0597]
返回参考图45的描述,当向编码器11输出作为信息传输数据的第一块时,预编码
器301还向编码器11提供指示第一块是信息传输数据的dc标志。
[0598]
在所提供的dc标志指示信息传输数据的情况下,编码器11对所提供的第一块数据执行编码,其中,控制运行差异rd或游程长度rl,如参考图1至图13所述。也就是说,执行处理,以添加指示第一块数据被运行差异rd或游程长度rl反转的标志,或者添加指示数据没有反转的标志。
[0599]
应当注意,在信息传输数据是禁止反转数据串的情况下,预编码器301可以确定数据是否是这种禁止反转数据串,以输出确定结果,作为dc标志,并且编码器11可以参考dc标志进行处理。或者,在dc标志指示信息传输数据的情况下,编码器11可以确定信息传输数据是否是禁止反转数据串的形式,以根据确定的结果执行处理。
[0600]
编码器11对31位第一块的处理允许添加一位标志,因此从编码器11输出的数据是32位数据。
[0601]
同样,当向编码器11输出包括第二转换控制码的第二块时,预编码器301还向编码器11提供指示第二块是控制码的dc标志。
[0602]
在所提供的dc标志指示控制码的情况下,编码器11将标志设置为“1”,并将其添加到所提供的33位第二块,以作为34位数据输出。
[0603]
《关于情况3中的编码》
[0604]
参考图47给出情况3中的预编码和编码的描述。情况3是这样的情况,其中,输入到预编码器301的64位数据的前半块是控制码,其后半块是信息传输数据,并且其中,数据被分成控制码的第一块和信息传输码的第二块。
[0605]
也就是说,在情况3中,作为32位前半块的第一控制码[31:0]和作为32位后半块的第二信息传输数据[31:0]被输入到预编码器301。
[0606]
预编码器301例如通过参考图46所示的表,将输入的32位前半块的第一控制码[31:0]转换成31位第一转换控制码[30:0],以将第一转换控制码[30:0]设置为第一块,用于输出到编码器11。
[0607]
预编码器301将输入的32位后半块的第二信息传输数据[31:0]分配给第二块。第二块是33位,因此在第二块的报头添加一位。可以使用8b代码中控制码的第四符号的值a,作为要相加的一位。也就是说,前半块的第一控制码的最后一位被分配给第二块的报头的一位。
[0608]
例如,在空闲码的情况下,8b代码中控制码的第四符号的值a为“0”,因此第二块的头部位被设置为“0”。
[0609]
在解码器12侧处理在第二块的报头中输入的位,即在这种情况下的第一控制码[0],作为伪数据。
[0610]
预编码器301将输入的64位数据串分成第一控制码[31:0],该第一控制码构成输入的64位的前半部分31位及其33位第二块。33位第二块是33位数据串,其中,构成输入的64位的后半部分32位的第二信息传输数据[31:0]被加添加到第一控制码[31:0]的剩余一位第一控制码[0]。
[0611]
当向编码器11输出作为控制码的第一块时,预编码器301还向编码器11提供指示第一块是控制码的dc标志。
[0612]
在所提供的dc标志指示控制码的情况下,编码器11将标志设置为“1”,并将其添加
到所提供的31位第一块,以作为32位数据输出。
[0613]
当向编码器11输出作为信息传输数据的第二块时,预编码器301还向编码器11提供指示第二块是信息传输数据的dc标志。
[0614]
在所提供的dc标志指示信息传输数据的情况下,编码器11对所提供的第二块数据执行编码,其中,控制运行差异rd或游程长度rl,如参考图1至13所述。也就是说,执行处理,以添加指示第二块数据被运行差异rd或游程长度rl反转的标志,或者添加指示数据没有反转的标志。
[0615]
《关于情况4中的编码》
[0616]
参考图48给出情况4中的预编码和编码的描述。情况4是要输入到预编码器301的64位数据中的每一个都是控制码并且数据被分成控制码的第一块和控制码的第二块的情况。
[0617]
也就是说,在情况4中,作为32位前半块的第一控制码[31:0]和作为32位后半块的第二控制码[31:0]被输入到预编码器301。
[0618]
预编码器301通过参考例如图46所示的表,将输入的32位前半块的第一控制码[31:0]转换成31位第一转换控制码[30:0],以将第一转换控制码[30:0]作为第一块输出到编码器11。
[0619]
预编码器301通过参考例如图46所示的表,将输入的32位后半块的第二控制码[31:0]转换成31位第二转换控制码[30:0],以将第二转换控制码[30:0]分配给第二块。第二块是33位,因此总共添加了两位,即报头的一位和第二块的最后一个块的一位。
[0620]
8b代码中控制码的第四符号的a值适用于要加到报头的一位。也就是说,前半块的第一控制码的最后一位(第一控制码[0])被分配给第二块的报头的一位。例如,在空闲码的情况下,8b代码中控制码的第四符号的值为“0”,因此第二块的头部位被设置为“0”。
[0621]
要添加的最后一位是添加到报头的一位的反转值。也就是说,要添加到报头的一位是第一控制码[0],因此第一控制码[0]的反转值是要添加的最后一位。例如,在空闲码的情况下,8b代码中控制码的第四符号的值a为“0”,这个值被加到报头;因此,第二块的最后一位被设置为“1”。
[0622]
以这种方式,两位数据被添加到第二块,而通过将一个值的反转值设置为另一值,可以将运行差异rd设置为零。
[0623]
输入到第二块的报头的位和输入到最后一个块的位在解码器12侧分别作为伪数据进行处理。
[0624]
预编码器301将构成输入的64位的前半部分32位的第一控制码[31:0]转换成第一转换控制码[30:0],并将构成其后半部分32位的第二控制码[31:0]转换成第二转换控制码[30:0],从而将输入的64位数据串分成两个块。此外,预编码器301向第二转换控制码[30:0]添加两位,从而获得33位数据串,从而生成第二块。
[0625]
当向编码器11输出作为控制码的第一个块时,预编码器301还向编码器11提供指示第一块是控制码的dc标志。在所提供的dc标志指示控制码的情况下,编码器11将标志设置为“1”,并将其添加到所提供的31位第一块,以作为32位数据输出。
[0626]
同样,当向编码器11输出作为控制码的第二块时,预编码器301还向编码器11提供指示第二块是控制码的dc标志。在所提供的dc标志指示控制码的情况下,编码器11将该标
志设置为“1”,并将其添加到所提供的33位第二块,以作为34位数据输出。
[0627]
以这种方式,由预编码器301输入的64位数据被分成31位数据和33位数据。在以上描述中,参照图46所示的表格转换控制码;然而,在输入8b10b编码中使用的控制码(上述8b代码)并转换8b代码的情况下,也可以执行参考图49和图50描述的转换。换言之,如参考图49和图50所述,转换控制码具有规律性,并且可以基于该规律性从8b代码进行生成。
[0628]
图49是在要输入到预编码器301的64位数据的前半部分是控制码的情况下的转换方法的说明图。即,图49涉及参考图47和图48描述的输入的64位前半块是第一控制码[31:0]并且第一控制码[31:0]被转换成第一转换控制码[30:0]的情况。
[0629]
图49在上侧示出了8b代码的第一控制码。第一控制码[31:0]是32位数据。在第一控制码[31:0]中,第一控制码[30:17]的14位用作第一转换控制码的第16至第29位的14位。即,第一控制码[30:17]用作第一转换控制码[29:16]。第一转换控制码[30:17]用作区分控制码的数据。
[0630]
第一转换控制码的第一位(即第一转换控制码[30])比第一转换控制码[29:16]早一位,固定为“0”。此外,第一转换控制码的第一转换控制码[15]和第一转换控制码[14](即第一转换控制码[29:16]之后的两位)被固定为“0”和“1”。
[0631]
第一转换控制码[13:0]的14位被设置为第一转换控制码[29:16]的14位的反转值。换言之,第一转换控制码[13:0]的14位是输入的8b代码的第一控制码[30:17]的14位反转的数据。
[0632]
以这种方式,从输入的8b代码生成转换控制码。以这种方式,通过使用输入的第一控制码[31:0]的第一控制码[30:17]的14位来生成第一转换控制码[30:0]。
[0633]
零被设置为第一转换控制码[30]的位。
[0634]
第一控制码[30:0]的第一控制码[30:17]的14位被设置为第一转换控制码[29:16]。
[0635]
第一转换控制码[15:14]被设置为零和一,作为第一转换控制码[29:16]之后的两位。
[0636]
通过反转第一控制码[30:17]的14位获得的14位被设置为第一转换控制码[13:0]。
[0637]
执行这样的处理允许生成第一转换控制码[30:0]。
[0638]
因为第一转换控制码[29:16]和第一转换控制码[13:0]是数据反转关系,所以该部分的运行差异rd为零。此外,第一转换控制码包括0、0和1作为固定值,并且添加到控制码的标志是1;因此,该部分的运行差异rd也为零。因此,要生成的包括标志的第一转换控制码[30:0]的运行差异rd肯定为零。
[0639]
接下来,参考图50描述在要输入到预编码器301的64位数据的后半部分是控制码的情况下的转换方法。即,给出参考图45和图48描述的输入的64位后半块是第二控制码[31:0]并且第二控制码[31:0]被转换成第二转换控制码[30:0]的情况的描述。
[0640]
基本转换与图49所示情况相同;然而,图49所示的情况是转换成31位的情况,图50所示的情况是转换成33位的情况。为此,增加了另外2位的相加处理。这两位是对应于第二转换控制码[32]和第二转换控制码[0]的位。
[0641]
也就是说,在图50所示的情况下,第二控制码[31:0]的第二控制码[30:17]的14位
与第二转换控制码的第16至第29位的14位一样原样使用。在这种情况下,第二控制码[30:17]用作第二转换控制码[30:17]。第二转换控制码[30:17]用作区分控制码的数据。
[0642]
第二转换控制码的第一位(即第二转换控制码[31])比第二转换控制码[30:17]早一位,被固定为“0”。此外,第二转换控制码[16]和第二转换控制码[15](即第二转换控制码的第二转换控制码[30:17]之后的两位)被固定为“0”和“1”。
[0643]
第二转换控制码[14:1]的14位被设置为第二转换控制码[29:16]的14位的反转值。换言之,第二转换控制码[14:1]的14位是输入的8b代码的第二控制码[30:17]的14位反转的数据。
[0644]
此外,对应于第二转换控制码[32]的位被添加到第二转换控制码[31:1]的前面,并且对应于第二转换控制码[0]的位被添加到第二转换控制码[31:1]的前面。
[0645]
至于第二转换控制码[32],在图45的示例中分配了输入的64位的前半块的最后一位,例如,第一信息传输数据[31:0]的第一信息传输数据[0]。此外,第二转换控制码[32]的反转值被分配给第二转换控制码[0]。
[0646]
以这种方式,从输入的8b代码生成转换控制码。以这种方式,通过使用输入的第二控制码[31:0]的第二控制码[30:17]的14位来生成第二转换控制码[32:0]。
[0647]
前一块的最后一位被指定为第二转换控制码[32]的一位。
[0648]
零被设置为第二转换控制码[31]的一位。
[0649]
第二控制码[30:17]的14位被设置为第二转换控制码[30:17]。
[0650]
第二转换控制码[16:15]被设置为零和一,作为第二转换控制码[30:17]之后的两位。
[0651]
通过反转第二控制码[30:17]的14位获得的14位被设置为第二转换控制码[14:1]。
[0652]
作为第二转换控制码[0]的位,设置第二转换控制码[32]的反转值。
[0653]
执行这样的处理允许生成第二转换控制码[32:0]。
[0654]
因为第二转换控制码[30:17]和第二转换控制码[14:1]处于数据反转关系,所以该部分的运行差异rd为零。此外,因为第二转换控制码[32]和第二转换控制码[0]是数据反转关系,所以该部分的运行差异rd为零。此外,第二转换控制码包括0、0和1,作为固定值,并且添加到控制码的标志是1;因此,该部分的运行差异rd也为零。因此,要生成的包括标志的第二转换控制码[32:0]的运行差异rd肯定为零。
[0655]
如参考图49和图50所述,通过转换输入的控制码,可以生成要在反转编码中使用的控制码。
[0656]
即使在以这种方式编码控制码或信息传输数据的情况下,图42所示的传输单元122a和接收单元131a的操作也是基于图38至图40所示的流程图的操作。此处只给出不同处理的描述,以避免重复描述。
[0657]
在步骤s117(图39)中,控制码插入部191将控制码添加到从通道分配部165提供的分组数据,作为传输单元122a的数据传输处理。要添加的该控制码是8b10b编码中的控制码被转换成反转编码中的控制码的代码。
[0658]
或者,也可以配置编码器11(包括在编码器11中的预编码器301),而不是控制码插入部191,以执行这种转换。
[0659]
在步骤s118中,编码器11对添加了控制码的分组数据执行反转编码。稍后参考图51给出编码器11中的该处理的描述。
[0660]
在步骤s133(图40)中,作为接收单元131a的数据接收处理,符号同步部214检测包括在分组数据中的控制码,例如,以执行符号同步。此时使用的控制码是反转编码中的控制码。
[0661]
在符号同步部244与8b10b编码中的控制码执行符号同步的情况下,可以使用控制码,该控制码是由解码器12解码并在8b10b编码中转换成控制码的数据。
[0662]
在步骤s134中,解码器12解码已经经历反转编码的编码数据。稍后参考图52给出解码器12中的该处理的描述。
[0663]
《包含控制码的编码器的处理》
[0664]
参考图51的流程图,给出了在编码信息传输数据的情况下编码器11的具有特定角色和处理的控制码的描述。
[0665]
在步骤s201中,编码器11从预编码器301输入数据和dc标志。在步骤s202中,编码器11通过参考dc标志来确定输入的数据是否是控制码。在步骤s202中,在确定输入的数据是控制码的情况下,处理进行到步骤s203。
[0666]
在步骤s203中,标志被设置为1。如上所述,控制码被设置为不执行反转处理的数据,其中,标志被设置为1。预编码器301已经将数据改变成n位或m位控制码,因此添加了标志的控制码被输出到编码器11。
[0667]
在步骤s204中,计算要输出的控制码的运行差异rd和游程长度rl。在步骤s205中,生成的数据串被传输到接收侧。步骤s204和步骤s205是与步骤s22和步骤s23(图9)相同类型的处理。
[0668]
同时,在步骤s202中确定输入的数据不是控制码的情况下,处理进行到步骤s206。在步骤s206中,确定输入的信息传输数据是否是禁止反转的数据串。如参考图46所描述的,禁止反转数据串是指当反转时被带入与控制码的数据串相同的数据串中的数据串。
[0669]
在步骤s206中确定输入的数据是禁止反转数据串的情况下,处理进行到步骤s207。在步骤s207中,标志被设置为零。预编码器301已经将数据改变成n位或m位信息传输数据,因此添加了标志的信息传输数据被输出到编码器11。此后,执行步骤s204和步骤s205中每一个的处理;然而,已经给出了步骤s204和步骤s205中每一个的处理的描述,因此省略其描述。
[0670]
同时,在步骤s206中确定输入的信息传输数据不是禁止反转数据串的情况下,处理进行到步骤s208。在步骤s208中,对信息传输数据执行反转编码处理。另外,对于已经对其执行了反转编码处理的信息传输数据,执行步骤s204和步骤s205中的每一个的处理。
[0671]
在步骤s208中执行的反转编码处理以及在步骤s204和s205中执行的处理分别对应于图9所示的流程图中的步骤s12至s23的处理;其描述已经给出,因此省略。
[0672]
以这种方式,在反转编码中还处理具有特定数据串的代码(例如,控制码)的情况下,包括添加不反转控制码或识别控制码的标志的处理。
[0673]
《包含控制码的解码器的处理》
[0674]
参考图52的流程图,给出了在解码具有特定角色的控制码和信息传输数据的情况下解码器12的处理的描述。
[0675]
在步骤s231中,解码器12确定标志是否为1。在步骤s231中标志被确定为1的情况下,处理进行到步骤s232。
[0676]
在步骤s232中,确定要处理的数据串是否是控制码。在步骤s232中确定要处理的数据串是控制码的情况下,处理进行到步骤s233。
[0677]
在步骤s233中,数据信息被设置为指示它是控制码的信息。数据信息是在解码器12的后一级的处理中处理来自解码器12的输出时要参考的信息,并且是指示是否是控制码的信息(标志)。
[0678]
在步骤s234中,从解码器12输出数据信息和控制码。
[0679]
同时,在步骤s232中确定它不是控制码的情况下,处理进行到步骤s235。在标志为1但不是控制码的情况下,处理进行到步骤s235。也就是说,在处理进行到步骤s235的情况下,要处理的数据是反转信息传输数据。
[0680]
在步骤s235中,数据信息被设置为指示它是信息传输数据的信息。在步骤s236中,要处理的数据串反转。然后,在步骤s237中,从解码器12输出数据信息和信息传输数据。
[0681]
同时,在步骤s231中确定标志为零的情况下,处理进行到步骤s238。在要处理的数据是未反转的信息传输数据的情况下,处理进行到s238。
[0682]
在步骤s238中,数据信息被设置为指示它是信息传输数据的信息。在步骤s239中,待处理的数据串被原样输出而不反转。然后,在步骤s237中,从解码器12输出数据信息和信息传输数据。
[0683]
以这种方式,在与反转编码相对应的解码中也处理具有特定数据串(例如,控制码)的代码的情况下,通过参考该标志,对添加了不反转控制码或识别控制码的标志的数据串进行处理。
[0684]
《另一编码和解码的处理》
[0685]
如上所述,控制码被设置为不反转,并且一被添加为标志。此外,除了控制码之外的数据(信息传输数据)中的要与反转时的控制码的数据串相同的数据串被设置为反转禁止数据串,并且被控制为不反转,其中,添加零,作为标志。
[0686]
此外,在信息传输数据反转的情况下,一被添加为标志。添加个作为标志与指示控制码的情况相同。假设在反转的信息传输数据中出现错误,以具有与控制码相同的数据串,反转的信息传输数据导致在解码侧作为控制码被处理,因为标志为1并且因为是与控制码相同的数据。
[0687]
此外,在控制码中出现错误的情况下,由于标志为1,控制码可能在解码器侧作为反转信息传输数据被处理和解码。因此,给出了编码和解码的描述,以允许作为控制码处理,即使在控制码中出现错误的情况下。
[0688]
如图53所示,假设在控制码中出现一位错误。图53的上侧所示的代码是图46所示的反转编码中的填充码,并且示出了一种代码,其中,1的标志被添加到填充码的报头的一个位。在没有错误发生的状态下被编码并传输到解码侧的情况下,传输和接收图53上侧所示的代码。
[0689]
图53在下侧示出了例如在填充码中出现一位错误的情况。在表示为一位不同数据1的填充码中,在最后一个数据中出现错误,并且在正常码中应该是数据1的数据导致数据0。当在解码器12侧处理这种一位不同的数据1时,由于标志为1,一位不同的数据1导致被处
理为反转的信息传输数据。
[0690]
同样,在表示为一位不同数据2的填充码中,在从最后一个开始的第二数据中出现错误,并且在正常码中应该是零数据的数据导致是一的数据。当在解码器12侧处理这种一位不同的数据2时,由于标志为1,一位不同的数据2导致被处理为反转信息传输数据。
[0691]
此外,在表示为一位不同数据32的填充码中,从最后一个开始的第32个数据中出现错误,并且在正常码中应该是零数据的数据导致是一的数据。当在解码器12侧处理这种一位不同的数据32时,由于标志为1,一位不同的数据32导致被处理为反转信息传输数据。
[0692]
以这种方式,在控制码中出现一位错误的情况下,该一位错误可能被解码为信息传输数据。因此,也考虑到出现一位错误的情况来执行解码。具体而言,解码器12处理1位不同数据1至32,作为控制码。以这种方式,一位不同数据1至32的每一个被适当地描述为扩展控制码。
[0693]
一位不同数据1至32有32种模式,因此解码器12也处理这32种模式作为控制码。因此,接下来解码器12处理33个模式,作为控制码,这些模式包括没有发生错误的控制码。此外,尽管通过举例说明填充码作为控制码给出了描述,但是除了填充码之外,控制码还包括空闲码、起始码、结束码、同步码、去歪斜码和待机码,如参考图46所述。对于这些控制码中的每一个,有33种数据串模式要作为控制码来处理。
[0694]
为了允许解码器12侧也处理一位不同数据1至32,作为控制码,编码侧执行控制,以不反转与反转后的一位不同数据1至32中的任何一个相对应的信息传输数据。也就是说,编码器侧执行这样的处理,其中,禁止反转数据串的范围不仅扩展到具有反转的控制码的数据串,而且扩展到扩展的控制码。
[0695]
在信息传输数据中,在反转之后添加1的标志,并且反转的数据串具有与1位不同数据1至32中的任何一条的模式相同的模式的情况下,因此,反转的数据串在解码器12侧作为控制码被处理。为了防止这种情况,禁止反转信息传输数据,其中,反转的数据串导致在信息传输数据中具有与1位不同数据1至32中的任何一个相同的模式,添加零,作为标志。
[0696]
参考图54的a。图54的a在上侧示出了反转之前的数据(信息传输数据)。图54的a的上侧所示的信息传输数据是1000100001100011011101111001111,作为数据。该信息传输数据不是控制码。
[0697]
当图54的a的上侧所示的信息传输数据反转时,获得图54的a的下侧所示的数据。反转的信息传递数据是0111011110011100100010000110000。该反转的信息传输数据具有与图53所示的一位不同数据1至32的一位不同数据1相同的数据串。
[0698]
此外,图54的a的下侧所示的数据是反转数据,因此一被添加为标志。因此,当执行这种反转编码时,由于标志为1并且由于是与1位不同数据1相同的数据串,所以数据在解码器12侧作为控制码被处理。然而,图54的a的下侧所示的数据是信息传输数据反转的数据,并且不是控制码。因此,在解码器12侧将数据作为控制码处理会导致错误解码。
[0699]
为此,编码器11将图54的a的上侧所示的信息传输数据作为非反转数据(反转禁止数据串)进行处理。也就是说,在输入图54的a的上侧所示的信息传输数据的情况下,编码器11将信息传输数据作为禁止反转的数据串来处理,以执行添加零标志的处理。
[0700]
以这种方式执行编码允许在图54的a的上侧示出的信息传输数据不反转,并且添加零标志,并且因此在假设数据是解码器12侧的非反转信息传输数据的情况下执行解码。
[0701]
也就是说,当反转时,编码器11将信息传输数据处理为与控制码相差一位的数据串,作为反转禁止数据串来处理,以执行编码,来添加零作为标志。如参考图54所述,对于与控制码相差一位的数据串,有32种模式,因此这32种模式的数据串在编码器11侧作为禁止反转的数据串来处理。
[0702]
此外,如上所述,存在多个控制码,因此,用于多个控制码中的每一个的32个模式的1位不同数据以及反转时为相同数据串的信息传输数据也被作为非反转数据处理。
[0703]
此外,如图54的b所示,当出现两位错误时,与控制码一致的这种信息传输数据也可以作为禁止反转的数据串来处理。
[0704]
图54中b上侧所示的1000100001101011011101111001111的信息传递数据在反转时被转换成中间侧所示的0111011110010100100010000110000的数据串。此外,在该反转数据串中出现一位错误的情况下,获得了在下侧示出的0111011110011100100010000110000的数据串。
[0705]
在反转数据串中出现一位错误的0111011110011100100010000110000的数据串是与图54的a的下侧所示的反转数据串相同的数据串。图54的a的下侧所示的反转数据串是与图53所示的一位不同数据1相同的数据串。
[0706]
当控制码中出现一位错误时,反转数据串中一位错误的出现允许图54的b的上侧所示的反转之前的信息传输数据是与一位不同数据1相同的数据串。这种信息传输数据也可以作为禁止反转数据来处理。这种信息传输数据在本文被描述为两位不同的数据。
[0707]
以这种方式,编码器11将反转时作为控制码的信息传输数据、反转时在控制码中出现一位错误时作为一位不同数据的信息传输数据以及反转时在控制码中出现两位错误时作为两位不同数据的信息传输数据作为反转禁止数据串进行处理。
[0708]
以这种方式,同样在包括处理作为禁止反转数据串的扩展控制码的情况下,能够基于图51所示的流程图来执行编码器11的处理。也就是说,在步骤s206中,确定要处理的数据串是否是禁止反转的数据串。然而,被设置为禁止反转数据串的数据串不仅被扩展到反转时作为控制码的信息传输数据,而且被扩展到上述信息传输数据(扩展控制数据),这方面是不同的;能够类似地执行另一处理。
[0709]
此外,能够基于图52所示的流程图来执行解码器12的处理。也就是说,在步骤s232中,确定是否是控制码。然而,确定它是控制码的控制码的范围不仅扩大到控制码,还扩大到一位不同的数据和两位不同的数据,这方面是不同的;能够类似地执行另一处理。
[0710]
编码器11和解码器12的相应配置也可以基本上类似于图3所示的编码器11和图4所示的解码器12的配置。然而,禁止反转数据串的范围在编码器11侧扩大,因此需要增加执行处理的功能。此外,要被确定为控制码的数据串的范围也在解码器12侧扩大,因此需要增加执行处理的功能。
[0711]
图55是当作为禁止反转数据串处理的范围扩大时与编码器11相关的配置图。编码器11被配置为从距离确定部402被提供反转禁止标志。此外,距离确定部402被配置为接收从数据反转部401提供的数据。
[0712]
数据反转部401和距离确定部402可以被配置为包括在预编码器301中。如参考图43所述,预编码器301区分控制码和信息传输数据,并向编码器11提供指示它是控制码还是信息传输数据的dc标志。
[0713]
通过举例说明采用将数据反转部401和距离确定部402添加到执行这种处理的预编码器301的配置的情况来继续描述;然而,它们可以类似于预编码器301与编码器11分开提供,或者可以被配置为包括在编码器11中。预编码器301输出dc标志;dc标志是指示它是控制码还是信息传输数据的标志。输出这种dc标志的一个原因是在控制码的情况下禁止反转。因此,dc标志可以用作反转禁止标志,并且可以用作指示数据是反转禁止数据还是可以反转的数据的标志。
[0714]
包括在预编码器301中的数据反转部401反转输入的数据。因为信息传输数据作为要反转的数据经受处理就足够了,所以当输入控制数据时,可以不在数据反转部401中执行处理。反转的数据被提供给距离确定部402。距离确定部402将控制码和反转的信息传输数据相互比较。
[0715]
距离确定部402确定反转的数据串是否对应于控制码、一位不同的数据串或两位不同的数据串。通过确定反转的数据串和控制码彼此不同多少位来进行该确定。换言之,确定反转的数据串和控制码之间的距离。例如,确定汉明距离允许确定反转数据串和控制码之间的不同位数。
[0716]
在反转的数据串和控制码彼此一致的情况下,即在汉明距离=0成立的情况下,数据串被确定为反转禁止数据串。此外,在反转的数据串和控制码彼此相差一位的情况下,即,在汉明距离=1成立的情况下,数据串被确定为反转禁止数据串。此外,在反转的数据串和控制码彼此相差两位的情况下,即,在汉明距离=2成立的情况下,数据串被确定为禁止反转的数据串。
[0717]
在反转数据串和控制码彼此相差三位或更多的情况下,即,在汉明距离为三位或更多的情况下,距离确定部402确定数据是信息传输数据。
[0718]
在距离确定部402中确定数据串是禁止反转数据串的情况下,指示禁止反转数据串的dc标志被提供给编码器11。dc标志是指示控制码的标志、指示信息传输数据的标志和指示作为信息传输数据的禁止反转数据的标志中的一个。
[0719]
以这种方式,可以确定反转数据是否与扩展控制码一致,以使用确定结果来执行编码。
[0720]
此外,在此处,扩展控制码的范围限于控制码、一位不同数据和两位不同数据;然而,也可能包括三位不同的数据或四位不同的数据。考虑到系统所需的性能等,可以适当地设置是否保证数据为发生错误的位数。
[0721]
还可以采用一种配置,其中,数据和反转的控制码在没有数据反转的情况下相互比较。图56示出了当作为禁止反转数据串处理的范围扩大时与编码器11相关的另一配置图。编码器11被配置为从预编码器301中包括的距离确定部411被提供dc标志。
[0722]
距离确定部411确定输入数据和反转控制码之间的距离。在输入的数据串和反转的控制码彼此一致的情况下(在汉明距离=0的情况下),距离确定部411将数据串确定为禁止反转的数据串,以输出指示禁止反转的dc标志。
[0723]
此外,在输入的数据串和反转的控制码彼此相差一位的情况下(在汉明距离=1的情况下),距离确定部411将数据串确定为反转禁止1,以输出指示反转被禁止的dc标志。另外,在输入的数据串和反转的控制码彼此相差两位的情况下(在汉明距离=2的情况下),距离确定部411将数据串确定为反转禁止1,以输出指示反转被禁止的dc标志。
[0724]
在输入的数据串和反转的控制码彼此相差三位或更多的情况下(在汉明距离为三位或更多的情况下),距离确定部411确定该数据是信息传输数据,以输出指示该数据可能反转的dc标志。
[0725]
以这种方式,可以确定输入数据是否与扩展控制码的反转数据串一致,以使用确定结果来执行编码。
[0726]
以这种方式,在编码器11中,处理与扩展控制码一致的信息传输数据,作为禁止反转的数据串,并且被设置为不反转,零被设置为标志。
[0727]
给出了在也处理这种扩展控制码的情况下与解码器12相关的配置的描述。图57示出了在处理扩展控制码的情况下与解码器12相关的配置示例。
[0728]
解码器12被配置为使用来自距离确定部451的确定结果来执行解码。距离确定部451接收与输入到解码器12的数据串相同的数据串的输入,并确定输入的数据串和控制码之间的距离。类似于编码器11侧的距离确定部402(411),距离确定部451基本上确定输入的数据串和控制码之间的距离。
[0729]
在要输入的数据串的标志为1的情况下,数据串是控制码或反转信息传输数据。为了也确定扩展控制码是控制码,需要确定标志为1的数据串是控制码、扩展控制码还是反转信息传输数据。
[0730]
因此,距离确定部451确定输入的数据串和控制码之间的距离。在输入的数据串和控制码彼此一致的情况下(在汉明距离=0的情况下),距离确定部451将数据串确定为控制码。
[0731]
另外,在输入的数据串和控制码彼此相差一位的情况下(在汉明距离=1的情况下),距离确定部451将数据串确定为控制码。另外,在输入的数据串和控制码彼此相差两位的情况下(在汉明距离=2的情况下),距离确定部451将数据串确定为控制码。
[0732]
在输入的数据串和控制码彼此相差三位或更多的情况下(在汉明距离为三位或更多的情况下),距离确定部451将数据串确定为信息传输数据。
[0733]
以这种方式,可以使用确定的结果,即关于数据是控制码还是信息传输数据的信息,来确定输入的数据是否与扩展的控制码一致,以执行解码。
[0734]
以这种方式,即使在控制码中出现错误的情况下,也能够将扩展的控制码作为控制码来处理,能够作为控制码进行处理。
[0735]
《一起使用加扰进行编码和解码》
[0736]
将扩展的控制码也作为编码和解码的控制码来处理,使得能够在发生错误时增强容差。另一方面,在扩展控制码也能够作为控制码进行处理的情况下,禁止反转的信息传输数据可能在编码器11侧增加。
[0737]
禁止反转的信息传输数据的增加可能导致运行差异rd的增加。例如,在禁止反转的信息传输数据连续的情况下,运行差异rd可能增加。此外,在处理灰度作为图像上升和下降的垂直条纹图像(称为所谓的杀手模式等的图像)的情况下,禁止反转的数据串可能是连续的,并且运行差异rd可能增加。
[0738]
如上所述,根据应用本技术的编码或解码,可以控制(抑制)运行差异rd和游程长度rl。然而,在执行甚至处理扩展控制码的编码或解码的情况下,运行差异rd可能会增加。因此,继续描述编码或解码,其使得可以控制(抑制)运行差异rd和游程长度rl,并且通过甚
至处理扩展的控制码来提高错误容限。
[0739]
图58示出了编码器11的另一配置示例。图58中所示的编码器11b与图3中所示的编码器11的不同之处在于,编码器11b具有被添加的加扰部501的配置,但是它们在其他方面是相同的。对于与图3所示的编码器11相同的组件,省略了描述。
[0740]
加扰部501对输入到编码器11b的信息传输数据进行加扰。类似于图3所示的编码器11,编码器11b基于反转编码执行编码。在执行反转编码之前,数据被加扰。然而,控制码不经历加扰,并且在没有加扰的情况下被处理。
[0741]
编码器11b可以被配置为被提供来自预编码器301(图43)的数据和dc标志,或者可以被配置为没有预编码器301。编码器11b适用于执行甚至处理扩展控制码的编码以及执行能够控制运行差异rd和游程长度rl的反转编码的情况。此外,编码器11b也适用于执行不处理扩展控制码的编码的情况;即使在这种情况下,编码器11b也适用于执行能够控制运行差异rd和游程长度rl的编码的场合。
[0742]
通过频繁移位使0和1的模式随机化来执行加扰,从而不允许0和1以高概率连续。此外,这种加扰能够在接收端返回到原始数据串。加扰部501例如通过生成多项式执行加扰。作为生成多项式的加扰,使用伪随机位序列(prbs:伪随机位序列)的加扰是适用的。
[0743]
生成多项式的示例由以下表达式(7)表示。
[0744]
有效载荷加扰=x
15
x
14
1

(7)
[0745]
加扰部501还加扰禁止反转的数据,以抑制0或1的连续。因此,即使在出现禁止反转数据连续的情况下,也可以抑制运行差异rd的增加。
[0746]
此外,对由加扰部501加扰的信息传输数据执行反转编码的处理,从而使得有可能进一步执行控制运行差异rd和游程长度rl的编码。
[0747]
图59示出了对应于图58所示的编码器11b的解码器12b的配置示例。图59所示的解码器12b与图4所示的解码器12的不同之处在于,解码器12b增加了解扰部511的配置,并且它们在其他方面是相同的。对于与图4所示的解码器12相同的组件,省略了描述。
[0748]
在解码器12b内部向解扰部511提供解码的加扰数据串,以执行解扰处理。在执行反转编码之前的处理中,在编码侧执行加扰。在解码侧,在执行反转编码之前,对已经经历反转编码的数据执行反转解码的处理,以获取数据串,然后执行解扰的处理。
[0749]
《编码器和解码器的处理》
[0750]
参照图60的流程图描述图58所示的编码器11b的处理。
[0751]
图60所示的流程图的处理与图51所示的流程图的处理的不同之处在于,增加了加扰部501执行加扰的处理,并且它们在其他处理中是相似的;因此,对于类似的处理省略了描述。
[0752]
步骤s301至s305是类似于步骤s201至s205的处理(图51);当输入控制码时,输出标志被设置为1的数据串,而不执行反转编码处理。此外,对于控制码,也不执行加扰部501中的加扰处理。
[0753]
同时,在步骤s302中确定要处理的数据串不是控制码的情况下,即,在确定要处理的数据串是信息传输数据的情况下,处理进行到步骤s306。在步骤s306中,加扰部501加扰要处理的信息传输数据。
[0754]
对加扰的信息传输数据执行步骤s307至s309的处理。步骤s307至s309的处理类似
于步骤s206至s208的处理(图51),并且与反转编码相关。
[0755]
以这种方式,信息传输数据被加扰,然后通过执行反转编码的处理来编码。
[0756]
接下来,参考图61的流程图给出图59所示的解码器12b的处理的描述。
[0757]
图61所示的流程图的处理与图52所示的流程图的处理的不同之处在于,增加了解扰部511执行解扰的处理,并且它们在其他处理中是相似的;因此,对于类似的处理省略了描述。
[0758]
步骤s331至s339是类似于步骤s231至s239(图52)的处理,并且对信息传输数据执行反转解码的处理。在控制码的情况下,不执行反转编码和加扰;因此,在被确定为控制码的情况下,数据串作为控制码被处理。
[0759]
同时,对不是控制码的数据,即信息传输数据,执行反转解码的处理,从而获取处于加扰状态的信息传输数据。
[0760]
在步骤s340中,解扰部511对加扰的信息传输数据执行解扰处理,从而生成解扰数据串。
[0761]
以这种方式,对已经经历反转编码的信息传输数据执行反转解码,并且对加扰的信息传输数据执行解扰处理,从而执行解码。
[0762]
以这种方式执行编码或解码使得可以更多地控制(抑制)运行差异rd或游程长度rl。
[0763]
应当注意,在执行加扰的情况下,用于重置加扰的控制码可以被新定义为在编码器11和解码器12之间传输和接收。此外,重置加扰的控制码可以在任意数量的行(线)处设置重置时间。
[0764]
根据应用本技术的编码和解码,可以使用简单的电路配置来控制(抑制)运行差异rd和游程长度rl,而不会降低传输效率。此外,能够检测标志中的错误使得接收侧能够以提高的接收数据的可靠性来执行处理。
[0765]
此外,对于具有诸如控制码等特定数据串的数据串,可以限制运行差异rd和游程长度rl。因此,即使在控制码连续的情况下,也可以抑制运行差异rd或游程长度rl的恶化。此外,抑制控制码的运行差异rd或游程长度rl的恶化使得可以提高在接收侧使用诸如时钟等控制码的处理的精度。
[0766]
《计算机的配置示例》
[0767]
上述一系列处理可以由硬件执行,也可以由软件执行。在通过软件执行一系列处理的情况下,包括在软件中的程序从程序记录介质安装在并入专用硬件的计算机或通用个人计算机中。
[0768]
图62是示出通过程序执行上述一系列处理的计算机硬件的配置示例的框图。
[0769]
cpu(中央处理器)1001、rom(只读存储器)1002和ram(随机存取存储器)1003通过总线1004相互耦合。
[0770]
输入/输出接口1005进一步耦合到总线1004。包括键盘、鼠标等的输入单元1006和包括显示器、扬声器等的输出单元1007耦合到输入/输出接口1005。此外,包括硬盘和非易失性存储器的存储单元1008、包括网络接口的通信单元1009以及驱动可移动介质1011的驱动器1010耦合到输入/输出接口1005。
[0771]
在如上所述配置的计算机中,例如,cpu 1001经由输入/输出接口1005和总线1004
将存储在存储单元1008中的程序加载到ram 1003中,并执行该程序,从而执行上述一系列处理。
[0772]
例如,要由cpu 1001执行的程序被记录在可移动介质1011中,或者经由诸如局域网、互联网或数字广播等有线或无线传输介质来提供,并且被安装在存储单元1008中。
[0773]
应当注意,要由计算机执行的程序可以是以本说明书中描述的顺序按时间序列执行处理的程序,或者可以是并行地或者在诸如进行呼叫的时间这样的必要时间执行多个处理的程序。
[0774]
本文描述的效果仅仅是说明性的,而不是限制性的,并且可以具有其他效果。
[0775]
本技术的实施例不限于上述实施例,并且可以在不脱离本技术主旨的情况下以多种方式进行修改。
[0776]
例如,本技术可以具有云计算的配置,其中,一个功能由多个设备经由网络共同共享和处理。
[0777]
此外,除了由一个设备执行之外,上述流程图中描述的每个步骤可以由多个装置共享和执行。
[0778]
此外,在一个步骤中包括多条处理的情况下,除了由一个设备执行之外,一个步骤中包括的多条处理可以由多个装置共享和执行。
[0779]
《内窥镜手术系统的应用示例》
[0780]
根据本公开实施例的技术(本技术)适用于各种产品。例如,根据本公开实施例的技术可以应用于内窥镜手术系统。
[0781]
图63是可以应用根据本公开的一个实施方式的技术(本技术)的内窥镜手术系统的示意性配置的一个示例的示图。
[0782]
在图63中,示出了外科医生(医师(medical doctor))11131正在使用内窥镜手术系统11000对病床11133上的患者11132进行手术的状态。如所描述的,内窥镜手术系统11000包括内窥镜11100、其他手术工具11110如气腹管11111和能量治疗工具11112、支撑内窥镜11100的支撑臂装置11120和装配有用于内窥镜手术的各种装置的推车11200。
[0783]
内窥镜11100包括其远端的预定长度的区域插入到患者11132的体腔中的透镜镜筒11101和连接到透镜镜筒11101的近端的摄像头11102。在所描述的示例中,描述了内窥镜11100,其包括具有硬质的透镜镜筒11101的硬质镜。然而,内窥镜11100也可以包括具有软质透镜镜筒11101的软质镜。
[0784]
透镜镜筒11101在其远端具有安装物镜的开口。光源装置11203连接到内窥镜11100使得通过在透镜镜筒11101内延伸的光导将由光源装置11203产生的光引入到透镜镜筒11101的远端并通过物镜照射向患者11132的体腔的观察目标。应注意内窥镜11100可以是直视镜或可以是斜视镜或侧视镜。
[0785]
摄像头11102内设置有光学系统和摄像元件使得来自观察目标的反射光(观察光)通过光学系统在摄像元件上聚集。观察光通过摄像元件光电转换来产生对应于观察光的电信号,即对应于观察图像的图像信号。图像信号作为raw数据传输到相机控制单元(ccu)11201。
[0786]
ccu 11201包括中央处理单元(cpu)、图形处理单元(gpu)等从而整体控制内窥镜11100和显示器装置11202的操作。进一步地,ccu 11201接收来自摄像头11102的图像信号
并对图像信号进行各种图像处理用于基于图像信号显示图像,例如显影处理(去马赛克处理)。
[0787]
显示装置11202在ccu 11201的控制下在其上显示基于图像信号的图像,对该图像信号已经通过ccu 11201进行了图像处理。
[0788]
光源装置11203包括光源例如发光二极管(led)等,并在将手术区域成像到内窥镜11100上时供应照射光。
[0789]
输入装置11204是用于内窥镜手术系统11000的输入接口。使用者可以通过输入装置11204进行输入,将各种信息或指令输入到内窥镜手术系统11000中。例如,使用者输入改变内窥镜11100的摄像条件(照射光的类型、放大倍数、焦距等)的指令。
[0790]
治疗工具控制装置11205控制能量治疗工具11112的驱动用于组织的灼烧或切割、血管的密封等。气腹装置11206通过气腹管11111向患者11132的体腔中进料气体来使体腔充气以确保内窥镜11100的视野和确保外科医生的工作空间。记录仪11207是能够记录与手术有关的各种信息的装置。打印机11208是能够将与手术有关的信息通过如文本、图像或图表等各种形式打印的装置。
[0791]
应注意在将手术区域成像至内窥镜11100时供应照射光的光源装置11203可以包括白色光源,包括例如led、激光源或其组合。在白色光源包括红色、绿色和蓝色(rgb)激光源的组合时,由于可以通过高精确度地控制每种颜色(每种波长)的输出强度和输出时间,所以可以通过光源装置11203进行拍摄的图像的白平衡的调节。进一步地,在这种情况下,如果按时间区分将各个rgb激光源的激光束照射在观察目标上,则与照射时间同步控制摄像头11102的摄像元件的驱动,则可以按时间区分拍摄单独对应于r、g和b颜色的图像。根据该方法,即使没有向摄像元件提供滤色器,也可以得到彩色图像。
[0792]
进一步地,可以控制光源装置11203使得输出的光强度对于每种预定的时间改变。通过与光强度的改变的时间同步控制摄像头11102的摄像元件的驱动来获取根据时间区分的图像,并合成图像,可以生成没有曝光不足的过厚阴影和曝光过度的加亮区的高动态范围的图像。
[0793]
进一步地,可以将光源装置11203配置为供应预定波段的光,准备用于特定的光观察。在特定的光观察中,例如,通过利用身体组织对光的吸收的波长依赖性、与普通观察时的照射光(即白光)相比使用窄频带的照射光,对预定组织如粘膜表面部分的血管等以高对比度进行成像即为窄频带观察(窄频带成像)。可替换地,在特定的光观察中,可以进行荧光观察,用于从通过照射激发光产生的荧光得到图像。在荧光观察中,可以通过在身体组织上照射激发光进行身体组织的荧光观察(自身荧光观察),或可以通过将试剂如靛青绿(icg)局部注射到身体组织中并照射对应于试剂的荧光波长的激发光到身体组织上得到荧光图像。光源装置11203可以配置为供应适用于上述特定光观察的这种窄频带光和/或激发光。
[0794]
图64是描述了在图63中描述的摄像头11102和ccu 11201的功能配置的示例的框图。
[0795]
摄像头11102包括透镜单元11401、摄像单元11402、驱动单元11403、通信单元11404和摄像头控制单元11405。ccu 11201包括通信单元11411、图像处理单元11412和控制单元11413。摄像头11102和ccu 11201通过传输电缆11400连接用于彼此通信。
[0796]
透镜单元11401是设置在与透镜镜筒11101的连接位置处的光学系统。由透镜镜筒
11101的远端采集的观察光被引导至摄像头11102并被引入到透镜单元11401中。透镜单元11401包括多个透镜的组合,包括变焦透镜和聚焦透镜。
[0797]
摄像单元11402包括的摄像元件的数量可以是一个(单板型)或多个(多板型)。在摄像单元11402配置为多板型时,例如,由各摄像元件产生对应于各个r、g和b的图像信号,并可以合成图像信号来得到彩色图像。摄像单元11402还可以配置为具有一对摄像元件,用于获取分别对应于三维(3d)显示的用于右眼和左眼的图像信号。如果进行3d显示,那么外科医生11131可以更精确地了解手术区域中的活体组织的深度。应注意,在摄像单元11402配置为多板型时,对应于各个摄像元件,透镜单元11401也提供多个系统。
[0798]
进一步地,摄像单元11402可以不必设置在摄像头11102上。例如,可以将摄像单元11402设置在紧随透镜镜筒11101内的物镜之后。
[0799]
驱动单元11403包括致动器并在摄像头控制单元11405的控制下以沿着光轴的预定距离移动透镜单元11401的变焦透镜和聚焦透镜。从而可以合适地调节通过摄像单元11402拍摄的图像的放大倍数和焦点。
[0800]
通信单元11404包括用于将各种信息传输至ccu 11201和接收来自ccu 11201的各种信息的通信装置。通信单元11404通过传输电缆11400将由摄像单元11402获取的图像信号作为raw数据传输至ccu 11201。
[0801]
另外,通信单元11404接收来自ccu 11201用于控制摄像头11102的驱动的控制信号并将控制信号供应至摄像头控制单元11405。控制信号包括与摄像条件有关的信息,例如指定拍摄图像的帧速率的信息、指定拍摄图像时的曝光值的信息和/或指定拍摄图像的放大倍数和焦点的信息。
[0802]
应注意摄像条件如帧速率、曝光值、放大倍数或焦点可以由使用者适当指定,也可以基于获取的图像信号通过ccu 11201的控制单元11413自动地设置。在后一种情况下,在内窥镜11100中搭载了自动曝光(ae)功能、自动聚焦(af)功能和自动白平衡(awb)功能。
[0803]
摄像头控制单元11405基于通过通信单元11404从ccu 11201接受的控制信号来控制摄像头11102的驱动。
[0804]
通信单元11411包括用于将各种信息传输至摄像头11102和接收来自摄像头11102的各种信息的通信装置。通信单元11411通过传输电缆11400接收从摄像头11102传输至其的图像信号。
[0805]
进一步地,通信单元11411将用于控制摄像头11102的驱动的控制信号传输至摄像头11102。可以通过电通信、光通信等传输图像信号和控制信号。
[0806]
图像处理单元11412对从摄像头11102传输至其的以raw数据形式的图像信号进行各种图像处理。
[0807]
控制单元11413进行和通过内窥镜11100对手术区域等的摄像,以及显示通过对手术区域等的摄像得到的拍摄图像相关的各种控制。例如,控制单元11413生成用于控制摄像头11102的驱动的控制信号。
[0808]
进一步地,控制单元11413基于已通过图像处理单元11412进行图像处理的图像信号控制显示装置11202来显示拍摄的图像,其中成像了手术区域等。此时,控制单元11413可以使用各种图像识别技术来识别拍摄的图像中的各种对象。例如,控制单元11413可以通过检测拍摄的图像中包含的对象的边缘的形状、颜色等来识别手术工具如钳子等、具体的活
体区域、流血、当使用能量治疗工具11112时的雾气等。当其控制显示装置11202来显示拍摄的图像时,控制单元11413可以利用识别结果将各种手术支持信息以与手术区域的图像重叠的方式显示。在手术支持信息以重叠方式显示并呈现给外科医生11131时,可以降低外科医生11131的负担且外科医生11131可以肯定地继续进行手术。
[0809]
将摄像头11102和ccu 11201彼此连接的传输电缆11400是用于电信号的通信的电信号电缆、用于光通信的光纤或是用于电通信和光通信两者的复合电缆。
[0810]
此处,虽然在描述的示例中通过利用传输电缆11400进行有线通信,但是摄像头11102和ccu 11201之间的通信也可以是无线通信。
[0811]
在本说明书中,系统是指包括多个装置的整个设备。
[0812]
应当注意,本文描述的效果仅仅是说明性的,而不是限制性的,并且可以具有其他效果。
[0813]
应当注意,本技术的实施例不限于上述实施例,并且可以在不脱离本技术的主旨的情况下以多种方式进行修改。
[0814]
应当注意,本技术也可以具有以下配置。
[0815]
(1)一种编码装置,包括:
[0816]
计算部,所述计算部将输入数据分成n位或m位,以计算n位或m位的数据串的第一运行差异;
[0817]
确定部,所述确定部基于由计算部计算的第一运行差异和在第一运行差异之前的时间点计算的第二运行差异来确定数据串是否反转;以及
[0818]
添加部,所述添加部基于所述确定部的确定结果反转或不反转所述数据串,以添加指示所述确定部的确定结果的标志用于输出,其中,
[0819]
所述确定部确定在数据串是控制码的情况下不执行反转,并且
[0820]
所述添加部添加分配给控制码的标志。
[0821]
(2)根据(1)所述的编码装置,其中,所述n和所述m均是奇数。
[0822]
(3)根据(1)或(2)的编码装置,其中,要输入的预定位数的控制码被转换成n位或m位的控制码。
[0823]
(4)根据(3)所述的编码装置,其中,所述n位是小于所述预定位数的位数,并且所述m位是大于所述预定位数的位数。
[0824]
(5)根据(3)所述的编码装置,其中,所述预定位数是32位,所述n位是31位,并且所述m位是33位。
[0825]
(6)根据(3)所述的编码装置,其中,通过参考表来执行所述转换,在所述表中,预定位数的控制码和转换后的控制码彼此相关联。
[0826]
(7)根据(1)至(6)中任一项所述的编码装置,其中,包括所述n位或m位的控制码和分配给所述控制码的标志的运行差异为零。
[0827]
(8)根据(3)至(7)中任一项所述的编码装置,其中,所述n位或m位的控制数据包括预定位数的控制码的前半部分的数据串和预定位数的控制码的前半部分的反转数据串。
[0828]
(9)根据(8)所述的编码装置,其中,所述前半部分的数据串和所述前半部分的反转数据串之间的两位数据是0和1。
[0829]
(10)根据(8)或(9)所述的编码装置,其中,所述前半部分的数据串之前的位的数
据为零。
[0830]
(11)根据(8)至(10)中任一项所述的编码装置,其中,
[0831]
在m位之前,将转换成n位的数据串的最后一位设置为m位的控制码的头部位,并且
[0832]
所述头部位的值的反转值被设置为m位的控制码的最后一位。
[0833]
(12)根据(1)至(11)中任一项所述的编码装置,其中,当n位的数据串和m位的数据串分别被设置为一个块并且两个块被设置为一个处理单元时,多个处理单元的最后一个块的标志被设置为添加到除了多个处理单元的最后一个块之外的块的标志的异或的计算结果。
[0834]
(13)根据(12)所述的编码装置,其中,最后一个块被处理为不反转的数据串。
[0835]
(14)根据(1)至(13)中任一项所述的编码装置,其中,当n位的数据串和m位的数据串分别被设置为一个块并且两个块被设置为一个处理单元时,对包括在多个处理单元中的标志的汉明(humming)编码处理的结果被添加到多个处理单元的最后一个块的后面。
[0836]
(15)根据(1)至(14)中任一项所述的编码装置,其中,当确定部确定要执行反转时,由添加部添加的标志和分配给控制码的标志相同。
[0837]
(16)一种编码方法,包括使编码装置
[0838]
将输入数据分成n位或m位,以计算n位或m位的数据串的第一运行差异;
[0839]
基于所计算的第一运行差异和在第一运行差异之前的时间点计算的第二运行差异来确定数据串是否反转;
[0840]
基于所确定的结果反转或不反转所述数据串,以添加指示所确定的结果的标志用于输出;
[0841]
确定是在数据串是控制码的情况下确定为不执行反转;并且
[0842]
添加分配给控制码的标志。
[0843]
(17)一种使控制编码装置的计算机执行处理的程序,所述处理包括:
[0844]
将输入数据分成n位或m位,以计算n位或m位的数据串的第一运行差异;
[0845]
基于所计算的第一运行差异和在第一运行差异之前的时间点计算的第二运行差异来确定数据串是否反转;
[0846]
基于所确定的结果反转或不反转所述数据串,以添加指示确定结果的标志,用于输出;
[0847]
确定是在数据串是控制码的情况下确定为不执行反转;并且
[0848]
添加分配给控制码的标志。
[0849]
(18)一种解码装置,包括:
[0850]
第一确定部,所述第一确定部参考添加到要输入的n位或m位的数据串的标志,以确定所述数据串是否是控制码;
[0851]
第二确定部,在第一确定部确定数据串不是控制码的情况下,所述第二确定部确定数据串是否反转;以及
[0852]
输出部,所述输出部
[0853]
在第一确定部确定数据串是控制码的情况下,输出未反转的所输入的n位或m位的数据串;
[0854]
在第二确定部确定数据串未反转的情况下,输出未反转的所输入的n位或m位的数
据串;并且
[0855]
在第二确定部确定数据串反转的情况下,输出反转后的所输入的n位或m位的数据串。
[0856]
(19)一种解码方法,包括使解码装置
[0857]
参考添加到要输入的n位或m位的数据串的标志,以确定所述数据串是否是控制码;
[0858]
在确定数据串不是控制码的情况下,确定数据串是否反转;
[0859]
在确定数据串是控制码的情况下,输出未反转的所输入的n位或m位的数据串;
[0860]
在确定数据串不是控制码并且未反转的情况下,输出未反转的所输入的n位或m位的数据串;并且
[0861]
在确定数据串不是控制码并且反转的情况下,输出反转后的所输入的n位或m位的数据串。
[0862]
(20)一种使控制解码装置的计算机执行处理的程序,所述处理包括:
[0863]
参考添加到要输入的n位或m位的数据串的标志,以确定所述数据串是否是控制码;
[0864]
在确定数据串不是控制码的情况下,确定数据串是否反转;
[0865]
在确定数据串是控制码的情况下,输出未反转的所输入的n位或m位的数据串;
[0866]
在确定数据串不是控制码并且未反转的情况下,输出未反转的所输入的n位或m位的数据串;并且
[0867]
在确定数据串不是控制码并且反转的情况下,输出反转后的所输入的n位或m位的数据串。
[0868]
[附图标记列表]
[0869]
11 编码器
[0870]
12 解码器
[0871]
31 反转部
[0872]
32 选择部
[0873]
33 添加部
[0874]
34 位校验部
[0875]
35 rd校验部
[0876]
36 rl校验部
[0877]
37 标志确定部
[0878]
41 反转部
[0879]
42 选择部
[0880]
43 标志确定部
[0881]
61 错误检测部
[0882]
71 状态控制部
[0883]
72 报头生成部
[0884]
73 数据插入部
[0885]
74 报尾生成部
[0886]
81 块
[0887]
82 奇偶校验位
[0888]
100 传输系统
[0889]
111 图像传感器
[0890]
121 成像单元
[0891]
122 传输单元
[0892]
131 接收单元
[0893]
132 图像处理单元
[0894]
151 系统控制部
[0895]
152 帧数据输入部
[0896]
153 寄存器
[0897]
161 tx协议管理部
[0898]
162 字节转换部
[0899]
163 有效载荷ecc插入部
[0900]
164 分组生成部
[0901]
165 通道分配部
[0902]
171 状态控制部
[0903]
172 报头生成部
[0904]
173 数据插入部
[0905]
174 报尾生成部
[0906]
181 phy-tx状态控制部
[0907]
182 时钟生成部
[0908]
183 信号处理部
[0909]
191 控制码插入部
[0910]
192 8b10b符号编码器
[0911]
193 同步部
[0912]
194 传输部
[0913]
201 rx状态控制部
[0914]
202 信号处理部
[0915]
211 接收部
[0916]
212 时钟生成部
[0917]
213 同步部
[0918]
214 符号同步部
[0919]
215 10b8b符号解码器
[0920]
216 歪斜校正部
[0921]
217 控制码移除部
[0922]
221 rx协议管理部
[0923]
222 通道整合部
[0924]
223 分组分离部
[0925]
224 有效载荷纠错部
[0926]
225 像素转换部
[0927]
231 状态控制部
[0928]
232 报头纠错部
[0929]
233 数据移除部
[0930]
234 报尾错误检测部
[0931]
241 帧数据输出部
[0932]
242 寄存器
[0933]
243 系统控制部
[0934]
244 符号同步部
[0935]
301 预编码器
[0936]
401 数据反转部
[0937]
402 距离确定部
[0938]
451 距离确定部
[0939]
501 加扰部
[0940]
511 解扰部。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献