通过多媒体链路的视频数据传输的前向纠错和不对称编码的制作方法

文档序号:16053662发布日期:2018-11-24 11:30阅读:333来源:国知局

本公开总体涉及数据通信,并且更具体地涉及用于通过多媒体接口的视频数据传输的前向纠错和非对称编码。

背景技术

不同类型的多媒体数据通常通过诸如hdmi链路等接口链路从源设备传输到目的设备。传统的编码和传输方法有时无法可靠地处理高分辨率视频的高速传输。例如,4k视频具有大约是1080p视频的四倍的分辨率并且具有更高的颜色深度,这可能会导致对i/o速度要求的大幅提升。



技术实现要素:

本公开的实施例涉及视频数据包的前向纠错和非对称编码,用于通过多媒体通信链路的多媒体通道传输,多媒体通信链路例如是数据接口电缆或多媒体电缆,诸如hdmi电缆。在一个实施例中,一种源设备包括前向纠错编码器电路,用于从视频数据包生成纠错保护块。每个纠错保护块包括数据字和纠错字。编码器电路将纠错保护块的x位字编码成y位编码字,以用于通过多媒体通信链路的一个或多个多媒体通道传输到目的设备,其中x小于y。

在一个实施例中,源设备包括封包器电路,用于将视频数据封包为视频数据包。每个视频数据包包括x位头部,x位头部包括p位类型符号和q位长度符号。

在一个实施例中,前向纠错编码器电路从视频数据包和消隐数据包生成纠错保护块。封包器电路将消隐数据封包成消隐数据包。

在一个实施例中,前向纠错编码器电路是reed-solomon前向纠错编码器。

在一个实施例中,权利要求1的源设备包括超级块聚合器电路,用于将纠错保护块聚合成超级块。编码器电路对处于超级块中的纠错保护块的x位字进行编码。在超级块的y位编码字跨多媒体链路的多媒体通道传输之前,跨多媒体通道传输中的每一个传输指示超级块的开始的块起始字。

在一个实施例中,每个纠错保护块的数据字每个包括x/2个高位和x/2个低位。纠错字每个包括x/2个高位,纠错字的x/2个高位是针对数据字的x/2个高位的奇偶校验位,并且纠错字每个包括x/2个低位,纠错字的x/2个低位是针对数据字的x/2低位的奇偶校验位。

在一个实施例中,编码器电路通过以下来将纠错保护块的x位字编码成y位编码字:将x位字的r个低位编码成y位编码字的s个低位。将x位字的u个高位编码成y位编码字的t个高位,其中r与u不同,r小于s,并且u小于t。

在一个实施例中,一种目的设备包括解码器电路,以将通过多媒体通信链路的一个或多个多媒体通道从源设备接收的y位编码字解码为纠错保护块的x位字,其中x小于y。纠错电路从纠错保护块生成视频数据包。每个纠错保护块包括数据字和纠错字。

在一个实施例中,目的设备包括解封包器电路,用于将视频数据包解封包为视频数据。每个视频数据包包括x位头部,x位头部包括p位类型符号和q位长度符号。

在一个实施例中,纠错电路从纠错保护块生成消隐数据包。解封包电路将消隐数据包解封包为消隐数据。

在一个实施例中,纠错电路是reed-solomon纠错解码器。

在一个实施例中,x位字被组织为超级块,并且超级块的开始由跨多媒体通信链路的多媒体通道中的每一个接收到的块起始字指示。目的设备还包括超级块分解器电路,用于将超级块分解为多个纠错保护块。

在一个实施例中,解码器电路通过以下来将y位编码字解码为纠错保护块的x位字:将y位编码字的s个低位解码为x位字的r个低位。将y位编码字的t个高位解码为x位字的u个高位,其中s不同于t,r小于s,并且u小于t。

在一个实施例中,每个纠错保护块的数据字每个包括x/2个高位和x/2个低位。纠错字每个包括x/2个高位,纠错字的x/2个高位是针对数据字的x/2个高位的奇偶校验位,并且纠错字每个包括x/2个低位,纠错字的x/2个低位是针对数据字的x/2低位的奇偶校验位。

在一个实施例中,从视频数据包生成纠错保护块。每个纠错保护块包括数据字和纠错字。将纠错保护块的x位字编码成y位编码字,以用于通过多媒体通信链路的一个或多个多媒体通道传输到目的设备,其中x小于y。

在一个实施例中,将视频数据封包成视频数据包。每个视频数据包包括x位头部,x位头部包括p位类型符号和q位长度符号。

在一个实施例中,使用reed-solomon编码来生成纠错保护块。

在一个实施例中,将纠错保护块聚合成超级块,其中编码是处于超级块中的纠错保护块的x位字。在跨多媒体链路的多媒体通道传输超级块的y位编码字之前,跨多媒体通道传输指示超级块的开始的块起始字。

在一个实施例中,每个纠错保护块的数据字每个包括x/2个高位和x/2个低位。纠错字每个包括x/2个高位,纠错字的x/2个高位是针对数据字的x/2个高位的奇偶校验位,并且纠错字每个包括x/2个低位,纠错字的x/2个低位是针对数据字的x/2低位的奇偶校验位。

在一个实施例中,将x位字编码成y位编码字包括:将x位字的r个低位编码成y位编码字的s个低位。将x位字的u个高位编码成y位编码字的t个高位,其中r与u不同,r小于s,并且u小于t。

在一个实施例中,将通过多媒体通信链路的一个或多个多媒体通道从源设备传输的y位编码字解码为纠错保护块的x位字,其中x小于y。从纠错保护块生成视频数据包,每个纠错保护块包括数据字和纠错字。

在一个实施例中,将视频数据包解封包为视频数据。每个数据包包括x位头部,x位头部包括p位类型符号和q位长度符号。

在一个实施例中,使用reed-solomon解码从错误保护块生成视频数据包。

在一个实施例中,x位字被组织为超级块,并且超级块的开始由跨多媒体通信链路的多媒体通道中的每一个接收到的块起始字指示。将超级块分解为多个纠错保护块。

在一个实施例中,将y位编码字解码为x位字包括:将y位编码字的s个低位解码为x位字的r个低位。将y位编码字的t个高位解码为x位字的u个高位,其中s不同于t,r小于s,并且u小于t。

在一个实施例中,每个纠错保护块的数据字每个包括x/2个高位和x/2个低位。纠错字每个包括x/2个高位,纠错字的x/2个高位是针对数据字的x/2个高位的奇偶校验位,并且纠错字每个包括x/2个低位,纠错字的x/2个低位是针对数据字的x/2低位的奇偶校验位。

附图说明

通过结合附图考虑以下详细描述,可以容易地理解本文公开的实施例的教导。

图1是根据一个实施例的用于数据通信的系统的高级框图。

图2是根据一个实施例的源接口设备的高级框图。

图3是根据一个实施例的目的接口设备的高级框图。

图4是根据一个实施例的纠错保护块的图示。

图5是根据一个实施例的编码过程的高级框图。

图6是根据一个实施例的解码过程的高级框图。

图7是根据一个实施例的编码超级块的图示。

图8是示出根据一个实施例的源设备的操作的流程图。

具体实施方式

图和以下描述仅以说明方式给出各种实施例。应当注意,从以下讨论中将容易认识到,本文公开的结构和方法的备选实施例作为可以在不脱离本文所讨论的原理的情况下采用可行的备选方案。现在将详细参考若干实施例,这些实施例的示例在附图中被示出。注意,在可行的情况下,可以在附图中使用类似或相似的附图标记,并且可以指示类似或相似的功能。

图1是根据一个实施例的用于数据通信的系统100的高级框图。系统100包括源设备110,源设备110通过一个或多个接口链路120、150和180与目的设备115进行通信。源设备110将多媒体数据流(例如,音频/视频流)传输到目的设备115,并且还通过接口链路120、150、180与目的设备115交换控制数据。在一个实施例中,源设备110和/或目的设备115可以是中继器设备。

源设备110包括耦合到接口链路120、150、180的物理通信端口112、142、172。目的设备115也包括耦合到接口链路120、150、180的物理通信端口117、147、177。跨接口链路120、150、180在源设备110与目的设备115之间交换的信号传送通过物理通信端口112、142和172。

源设备110和目的设备115使用各种协议来交换数据。在一个实施例中,接口链路120表示高清多媒体接口(hdmi)电缆。hdmi链路120支持经由数据0+线121、数据0-线122、数据1+线123、数据1-线124、数据2+线125、数据2-线126,数据3+线127和数据3-线128传输的差分信号。每个差分线对形成能够输送一个或多个多媒体数据流的逻辑通信通道。在其他实施例中,接口链路120(或不同的接口链路,例如接口链路150、180)可以包含附加差分线对,以形成附加逻辑通信通道。

设备190和192可以能够在不同的操作模式下通过链路120传送数据。例如,设备190和192可以能够以传统模式(例如,具有8b10b编码的转换最小化差分信令)以及备选模式(例如,16b18b编码)操作。在传统模式中,数据3+线127和数据3-线128操作为差分时钟线:时钟+和时钟-。在标准模式中,数据3+线127和数据3-线128形成第四逻辑通信通道,该第四逻辑通信通道也能够输送一个或多个多媒体数据流。在标准模式中,时钟信号被嵌入在由逻辑通信信道承载的信号中。

hdmi链路120还可以包括消费者电子控制(cec)控制总线129、显示数据信道(ddc)总线130、电源131、接地132、热插拔检测(hpd)133以及用于差分信号的四条屏蔽线134。在一些实施例中,目的设备115可以利用cec控制总线129将闭环反馈控制数据传输到源设备110。

在一个实施例中,接口链路150表示移动高清链路(mhl)链路。mhl链路150支持经由数据0+线151和数据0-线152传输的差分信号,数据0+线151和数据0-线152形成用于输送多媒体数据流的单个逻辑通信通道。在mhl的一些实施例中,可以存在多于一对的差分数据线。在mhl的某些版本中,通过差分数据线传输嵌入式共模时钟。mhl链路150还可以包括控制总线(cbus)159、电源160和接地161。cbus159输送控制数据,诸如发现数据、配置数据和远程控制命令。

源设备110包括源控制设备190,并且目的设备115包括目的控制设备192。源控制设备190和目的控制设备115的示例是集成电路(ic)或其他类型的设备。源控制设备190可以发射器,发射器处理多媒体数据流并且跨接口链路120、150、180向目的控制设备192输出多媒体数据流的信号。目的控制设备192可以包括接收器,该接收器接收多媒体数据流,并且将多媒体数据流准备用于显示。源控制设备190和目的控制设备192还可以跨接口链路120、150和180来交换和处理控制数据。

在一个实施例中,源设备110的表示、目的设备115的表示或者源设备110或目的设备115内的组件的表示可以作为数据被存储在非暂时性计算机可读介质(例如,硬盘驱动器、闪存驱动器、光盘驱动器和随机存取存储器)。这些描述可以是行为级、寄存器传输级、逻辑部件级、晶体管级或布局几何级描述。

源设备

图2是根据一个实施例的源设备200的高级框图。源设备200准备多媒体数据以用于通过多媒体通道240至252进行传输。源设备200包括封包器电路212、前向纠错编码器电路220、超级块聚合器电路228以及编码器电路236。在备选的配置中,源接口设备200可以包括不同的和/或附加的组件。

封包器电路212将视频数据204封包成视频数据包216。每个视频数据包216包括x位头部,x位头部包括p位类型符号和q位长度符号,如下文参考图4说明和描述的。在一个实施例中,x等于16,p等于6,并且q等于10。视频数据204可以包括红绿蓝(rgb)格式或ycbcr格式的多行视频彩色数据。ycbcr数据可以包括一个亮度分量(y)和两个色度分量(cb和cr)。

视频数据包216中的每一个是视频数据204的格式化单元,其意图由源设备200通过多媒体通道240至252传输到下游目的设备,如下文参考图3详细说明和描述的。每个视频数据包216包括头部和有效载荷,如下文参考图4详细说明和描述的。

封包器电路212的另一输入包括消隐时段数据208。消隐时段数据208包括音频和辅助数据。辅助数据是指元数据,即,与传输内容相关的信息。这包括与音频和视频格式(例如,rgb、ycbcr、色度、高动态范围(hdr)元数据、内容类型、到扬声器的音频信道映射、音频编解码器等)相关的信息。消隐时段数据208被封包成消隐时段数据包217。每个消隐时段数据包217包括x位头部,x位头部包括p位类型符号和q位长度符号,如下文参考图4说明和描述的。在一个实施例中,视频帧的结构可以包括有效视频时段和消隐时段,诸如竖直消隐间隔和水平消隐间隔。视频数据204表示来自视频帧的有效视频时段的数据,并且消隐时段表示来自视频帧的消隐时段的消隐时段数据。因此,对包括辅助数据在内的整个数据流执行纠错编码和保护。

前向纠错编码器电路220从视频数据包216和消隐数据包217以及可能的其他数据包生成纠错保护块224。每个纠错保护块224包括数据字和纠错字,如下面参考图4详细说明和描述的。前向纠错被使用,以免受在通过多媒体通道240至252的数据传输期间发生的错误。fec编码器电路220通过使用纠错码、以冗余方式对视频数据包216进行编码。这种冗余允许目的设备检测可能在所传输的视频数据中可能发生的错误并且纠正这些错误,而无需重传。该方法的优势和益处是目的设备可以纠正错误而不需要反向信道来请求重传数据,尤其是当重传成本高昂或不可能时。

在一个实施例中,前向纠错编码器电路220是reed-solomon前向纠错编码器220,其生成reed-solomon纠错码。reed-solomon前向纠错编码器电路220可以是基于有限域上的单变量多项式的非二进制循环纠错编码器。reed-solomon前向纠错编码器电路220可以包括两个分开的reedsolomon编码路径,每个编码路径实现rs(255、251)码。每个reedsolomon编码路径将来自视频数据包216和消隐数据包217的251个8位符号聚合在一起,并且然后为这些符号生成奇偶校验符号,如下面参考图4详细说明和描述的。以这种方式,所公开的实施例可以检测和纠正错误的视频数据符号、擦除或错误和擦除的组合。此外,reed-solomon前向纠错编码器电路220可以用于多突发位纠错应用。

每个纠错保护块的数据字的大小是x位。每个x位数据字包括x/2个高位和x/2个低位。纠错字的大小也是x位。每个x位纠错字包括x/2个高位,纠错字的x/2个高位是针对数据字的x/2个高位的奇偶校验位,并且每个纠错字每个包括x/2个低位,纠错字的x/2个低位是针对用于数据字的x/2低位的奇偶校验位,如下文参考图4详细说明和描述的。在一个实施例中,x等于16,x/2等于8。

超级块聚合器电路228将纠错保护块224聚合成超级块232中,如下文参考图4详细说明和描述的。编码器电路236对超级块232中的纠错保护块224的x位字进行编码,以用于通过多媒体通道240至252进行传输。超级块聚合器电路228生成具有多个字的超级块232,这些超级块232的字是多个多媒体通道的倍数、例如多媒体通信链路的多媒体通道240至252的倍数。超级块聚合器电路228避免了纠错保护块224的填充。例如,如果纠错保护块224中的字的数目等于255,并且存在4个多媒体通道,则这将导致255÷4=63.75个字每通道。每个纠错保护块224将需要用一个附加字填充以造成每个多媒体通道64个字。这将造成传输带宽浪费。在该示例中,如果超级块聚合器电路228将四个255个字的块聚合成超级块232,则超级块232包含255×4=1020个字。因此,每个多媒体通道能够在bs符号之间传输1020÷4=255个编码字,这些字在所有4个通道上同时传输。具有1020个字大小的超级块232也适用于3个多媒体通道,因为1020÷3=340个字每通道。对于具有不同数目的通道的多媒体链路,可以如上文所描述容易地确定其他超级块232尺寸。

编码器电路236将纠错保护块224(在超级块232中)的x位字编码成y位编码字,用于通过多媒体通信链路的多媒体通道240至252传输到目的设备,其中x小于y。在一个实施例中,编码器实现16b到18b编码,这意味着x等于16并且y等于18。得到的18位字是dc平衡字,这样的字易于避免0或1的长串,并且编码器电路236可以保持0和1的一个或多个运行不一致性,并且使用运行不一致性来生成18位字。

编码器电路236通过将x位字的r个低位编码成y位编码字的s个低位,来将x位字编码成y位编码字,其中r小于s,如下文参考图1详细说明和描述的。在一个实施例中,r等于7并且s等于8。编码器电路236将x位字的u个高位编码成y位编码字的t个高位,其中r不同于u并且u小于t。在一个实施例中,u等于9并且t等于10。

在视频数据传输期间,在超级块232的y位编码字跨多媒体链路的多媒体通道240传输之前,可以跨多媒体通道240至252传输指示超级块232的开始的块开始字。在一个实施例中,可以以规律间隔来传输块起始字。在一个实施例中,可以在视频时段的中间或在消隐时段的中间传输块起始字。由于视频数据204和消隐数据208被变换为视频数据包216和消隐数据包217的流,所以可以传输块起始字,而不管正在传输的信息是视频信息还是消隐信息。

在数据流中的编码器电路236之前定位前向纠错编码器电路220的益处和优势在于:可以在x位域(例如,16位)而不是更大的y位域(例如,18位)中执行前向纠错编码。这简化了源设备200的实现,因为减少了编码器中的运行不一致依赖性问题。附加地,如果fec编码器220位于编码器236之后,则fec编码器220输出的奇偶校验数据将不是16b18b符号的正确格式,并且这些奇偶校验位必须再次重新映射为16b18b符号,从而增加了编码(和解码)过程的复杂性。

源设备200经由包括多媒体通道240至252和双向控制信道256的多媒体链路而连接到目的设备。在一个实施例中,多媒体通道240至252和双向控制信道256可以是hdmi线缆的部分,诸如上文参考图1详细说明和描述的hdmi线缆120。例如,多媒体通道240可以对应于数据0+线121、数据0-线122、以及hdmi链路120的屏蔽线134中的一条。类似地,其他多媒体通道244至252可以对应于其他差分对123至128以及其他屏蔽线134。双向控制信道256可以对应于显示数据信道(ddc)总线130。在其他实施例中,多媒体链路可以包括不同数目的多媒体通道。例如,多媒体链路可以包括单个多媒体通道、两个多媒体通道或五个多媒体通道。

目的设备

图3是根据一个实施例的目的设备300的高级框图。目的设备250通过多媒体通道240至252接收多媒体数据,并且准备多媒体数据以用于播放。目的设备300包括解码器电路304、超级块分解器电路308、纠错电路312和解封包电路316。在备选配置中,可以在目的接口设备300中包括不同的和/或附加的组件。

解码器电路304通过多媒体通信链路的一个或多个多媒体通道240至252从源设备200接收y位编码字。编码字可以被组织为由块起始字分隔开的超级块。每个超级块之前是指示超级块的开始的一组块起始字,如下文参考图7详细说明和描述的。

解码器电路304将y位字解码为纠错保护块224(在超级块232中)的x位字,其中x小于y。在一个实施例中,x可以是16并且y可以是18,使得解码器304实现18b16b解码。解码器电路304通过将y位编码字的s个低位解码为x位字的r个低位来将y位编码字解码为x位字,其中r小于s。在一个实施例中,r可以是7并且s可以是8。解码器电路304将y位编码字的t个高位解码为x位字的u个高位,其中s不同于t并且u小于t,如下文参考图6详细说明和描述的。在一个实施例中,u可以是9并且t可以是10。

解码器电路304的输出是表示若干纠错保护块224的被解码的x位字的超级块232。超级块分解器电路308将超级块232分解成多个纠错保护块224。换句话说,超级块分解器电路308识别超级块232内的单独的纠错保护块224。

纠错电路312从纠错保护块224生成包(视频数据包216和消隐数据包217)。在一个实施例中,解封包电路316将视频数据包216与消隐数据包217分离,以用于如下文所描述的解封包。每个纠错保护块224包括数据字和纠错字,纠错字包括数据字的奇偶校验位。每个纠错保护块224的x位数据字每个包括x/2个高位和x/2个低位,如下文参考图7说明和描述的。x位纠错字每个包括x/2个高位,纠错字的x/2个高位是针对数据字的x/2个高位的奇偶校验位,并且每个纠错字每个包括x/2个低位,纠错字的x/2个低位是针对数据字的x/2低位的奇偶校验位。

纠错电路312使用奇偶校验位来检测和纠正数据字中的错误。在一个实施例中,纠错电路312比较纠错保护块224中的x位字,以确定所接收的二进制序列是否在已知的码字字典中。如果不在码字字典中,则纠错电路312可以可选地选择与接收的码字最相似的码字。纠错电路312可以从接收到的数据中计算一个或多个校验子矢量,并且将其与奇偶校验矩阵的列进行比较,以确定错误的存在或位置。

在一个实施例中,纠错电路312是reed-solomon纠错解码器312,其计算与奇偶校验计算相似的校验子。reed-solomon纠错解码器312可以计算基于生成器多项式的根的、仅依赖于错误(而不是依赖于传输的码字)的校验子。reed-solomon纠错解码器312可以通过基于reed-solomon码的矩阵结构来求解具有未知数的联立方程,来定位符号错误位置。reed-solomon纠错解码器312可以通过确定错误定位器多项式、确定多项式的根以及确定符号错误值来定位符号错误位置。

解封包器电路316将视频数据包216解封包为视频数据204。视频数据204可以是用于显示的rgb数据,例如,在电视或监视器上等。每个视频数据包216包括x位头部,x位头部包括p位类型符号和q位长度符号,如下文参考图4说明和描述的。在一个实施例中,p等于6,q等于10。解封包器电路316还可以将消隐数据包217解封包为消隐数据208。

纠错保护块

图4是根据一个实施例的从视频数据包216和消隐数据包217生成的纠错保护块224的图示。x位字的每个纠错保护块224包括2个x/2位符号块。在一个实施例中,x可以是16,x/2可以是8,并且纠错保护块224可以包括255个字。每个x/2位符号的块包括数据符号432或436以及纠错符号408或440。换言之,每个纠错保护块224的数据字每个包括x/2个高位(数据符号432)和x/2个低位(数据符号436)。在一个实施例中,每个纠错保护块224包括251个数据符号432和251个数据符号436。纠错字每个包括x/2个高位(纠错符号408),纠错字的x/2个高位是针对数据字的x/2个高位(数据符号432)的奇偶校验位。纠错字每个包括x/2个低位(纠错符号440),纠错字的x/2个低位是针对用于x位数据字的x/2个低位(数据符号436)的奇偶校验位。在一个实施例中,每个纠错保护块224包括4个纠错符号408(针对251个数据符号432)和4个纠错符号440(针对251个数据符号436)。

纠错保护块224被聚合成超级块232中,如图4所示。在图4中,超级块232包括4个纠错保护块224或8个x/2位符号的块。x/2位块的四个包括x/2个低位,并且剩余x/2位的块的四个包括x/2个高位。在一个实施例中,超级块232包括251×4=1004个16位数据字。

从视频数据包216和消隐数据包217生成纠错保护块224,如上文参考图2描述的。前向纠错编码器电路220从视频数据包216中选择251个16位数据字。251个16位数据字被分解为251个低8位数据符号436和251个高8位数据符号432。前向纠错编码器电路220在251个低8位数据符号436上执行前向纠错编码,以生成4个低8位纠错符号440。前向纠错编码器电路220在251个高8位数据符号432上执行前向纠错编码,以生成4个高8位纠错符号408。4个低8位纠错符号440和4个高8位纠错符号408可以组合为纠错保护超级块224的4个16位纠错字,如图4所示。

每个视频数据包216和消隐数据包217包括x位头部416,其包括图4中示出的p位类型符号424和q位长度符号428。在一个实施例中,p等于6并且q等于10。头部416在有效载荷字420之前,并且可以包含寻址和其他数据。在一个实施例中,超级块232的第一个字是头部416,并且后续有效载荷字420的数目由q位长度符号428的值指定。

由有效载荷字420携带的数据类型可以由p位类型符号424的值指定,如图4所示。例如,类型0可以表示保留有效载荷数据420。类型1可以表示有效载荷数据420是间隙数据,意味着要由目的设备300忽略的虚拟数据。类型2可以表示有效载荷数据420是视频数据,意味着一个限定序列中的像素。类型3可以表示有效载荷数据420是消隐数据208,意味着控制周期和数据岛。类型4-62可以表示保留有效载荷数据420,意味着被保留给其他未来数据流。类型63可以表示保留有效载荷数据420,意味着被保留给扩展。

前向纠错编码器电路生成单组的奇偶校验位(例如,纠错符号408),以保护头部416和有效载荷420,而不是生成针对头部416和有效载荷420的奇偶校验位的分离的多个组。这种方法的好处和优势在于它减少了硬件和数据处理的开销和复杂性,因为单组的奇偶校验位仅由前向纠错编码器电路220生成并且由纠错电路312分析,而不是生成两组奇偶校验位。以这种方式进行的整个数据流的错误保护避免了头部的附加开销。对于容易出错的数据流中的头部,头部中的冗余不再需要能够被搜索。因为整个数据流都受到保护,所以不需要这种冗余。因此,增加了带宽。

根据下文参考图5详细说明和描述的编码过程来编码处于超级块232中的纠错保护块224的x位字。

字编码

图5是根据一个实施例的编码过程500的高级框图。超级块232中的纠错保护块224的x位字(包括x/2位数据符号432和x/2位数据符号436)被编码成y位编码字,以用于通过多媒体通信链路的一个或多个多媒体通道传输到目的设备300,其中x小于y。在图5所示的实施例中,x等于16并且y等于18。纠错符号408是针对数据符号432的奇偶校验符号,并且纠错符号440是针对数据符号436的奇偶校验符号。在如图5中示出的示例的纠错保护块224包括255个x位字。

通过将每个x位字划分为r个低位(例如7个位)和u个高位(例如9个位)来执行将超级块232的x位字编码成y位编码字。使用过程520将x位字的r个低位编码成y位编码字的s个低位(编码符号528),其中r小于s。在一个实施例中,r等于7并且s等于8。使用过程516将x位字的u个高位编码成y位编码字的t个高位(编码符号524)。r与u不同,并且u小于t。在一个实施例中,u等于9且t等于10。

编码字的解码

图6是根据一个实施例的解码过程600的高级框图。由解码器304接收的到多媒体块包括1004个y位编码字。1004个y位字包含255个y位编码字的4个块。图6示出了255个y位编码字的这些块中的一个块。图6中示出的多媒体块的255个y位字包括由源设备200传输的255个s位编码符号528和255个t位编码符号528。在一个实施例中,y等于18,s等于8,并且t等于10。通过图6所示的解码过程620,通过将y位编码字的s个低位(编码符号528)解码为x位字的r个低位,来执行将y位编码字解码为x位字。在一个实施例中,x等于16并且r等于7。

通过图6中所示的解码处理616,将y位编码字的t个高位(编码符号524)解码为x位字的u个高位,其中s与t不同,并且u小于t。在一个实施例中,t等于10并且u等于9。u个高位和r个低位被合并为x位字,x位字包括x/2个高位(数据符号432和纠错符号408)和x/2个低位(数据符号436和纠错符号440)。在一个实施例中,x/2等于8。

在一个实施例中,其中目的设备300包括判决反馈均衡(dfe)电路,编码符号524中的单个位错误624可以在解码600之后表现为在255个字纠错保护块224中的x位字的u个高位中的多位错误628,其中每个字具有x个位。在解码600之后,编码符号528中的单个位错误632将表现为在255字纠错保护块224中的x位字的r个低位中的多位错误636。纠错电路312可以纠正每255个18位编码字中的任何2个错误,并且在某些情况下可以纠正每255个18位编码字的3个错误或4个错误。因此,所公开的解码实施例600的益处和优势在于:减少了单点故障问题,减少一个错误之后的下一位错误的概率,以及减少了不可纠正突发的概率。在目的设备300包括判决反馈均衡(dfe)电路的一个实施例中,纠错电路312具有对误码增殖的容忍,因为使用了reed-solomon编码而不是bch编码。这是因为reed-solomon编码可以纠正码字中的一个位出错以及整个编码字都出错的这种数据传输。在后一种情况下,纠错电路312能够在纠正过程期间替换出错的整个字。

编码超级块

图7是根据一个实施例的y位字712的编码超级块704和符号解码过程700的图示。在图7所示的实施例中,编码超级块704包括255个字712的4个块,每个字18位。跨4个多媒体通道240到252中的一个接收18位的每个字712。在跨多媒体通道接收超级块704的y位编码字712之前,在图2中标记为“bs”的块起始字708被接收,块起始字708指示跨多媒体通信链路的多媒体通道240至252的超级块704的开始。块起始字708是唯一的y位字,其不具有对应的x位字(即,标记超级块704的开始的y位字708是“带外”符号)。编码超级块704的编码字712可以如图7所示的,以交织模式跨多媒体通道240至252分布。换句话说,跨多媒体通道的编码字712的分布可以与图7中所示的分布不同。

通过多媒体通道240至252从源设备200传输的y位编码字被解码为超块中的纠错保护块224的x位字,其中x小于y。在一个实施例中,x等于16。超级块被分解为4个纠错保护块224。每个纠错保护块224包括x位数据字和x位纠错字。每个纠错保护块224包括x/2位数据符号436和x/2位纠错符号440,纠错符号440是针对数据符号436的奇偶校验位。每个纠错保护块224还包括x/2位数据符号432和x/2位纠错符号408,纠错符号408是针对数据符号436的奇偶校验位。

可以从纠错保护块224生成视频数据包216、消隐数据包217以及间隙数据包。在一个实施例中,视频数据包216由reed-solomon纠错解码器312生成。视频数据包216被解封包为视频数据204。

在一个实施例中,在源设备200处的编码过程与通过参考图7解释的解码过程相反。

视频数据编码的过程

图8是示出根据一个实施例的源设备200的操作的流程图。在一些实施例中,该过程可以具有与结合图8描述的步骤不同的和/或附加的步骤。该过程的步骤可以以与结合图8描述的顺序不同的顺序执行。一些步骤可以并行执行。备选地,一些步骤可以并行执行,一些步骤顺序执行。备选地,一些步骤可以以流水线方式执行,使得在前一步骤执行之前开始执行步骤。

封包器212将视频数据204和消隐数据208封包800为视频数据包216和消隐数据包217。每个视频数据包216和消隐数据包217包括x位头部,x位头部包括p位类型符号和q位长度符号,如上文参考图4详细描述和说明的。在一个实施例中,x等于16,p等于6,并且q等于10。前向纠错编码器电路220从视频数据包216生成804纠错保护块224。每个纠错保护块224包括数据字和纠错字。

超级块聚合器电路228将纠错保护块224聚合808为超级块232。编码器电路236将处于超级块232中的纠错保护块224的x位字编码812成y位编码字,以用于通过多媒体通信链路的一个或多个多媒体通道240至252传输816到目的设备300,其中x小于y。在一个实施例中,x等于16并且y等于18。在超级块的y位编码字跨多媒体通道240至252传输816之前,可以跨多媒体链路的多媒体通道240至252传输指示超级块232的开始的块起始字。

解码器电路304将y位字解码820为纠错保护块224(在超级块232中)的x位字,其中x小于y。在一个实施例中,x可以是16并且y可以是18,使得解码器304实现18b16b解码。超级块分解器电路308将超级块232分解824为多个纠错保护块224。纠错电路312从纠错保护块224生成828视频数据包216和消隐数据包217。解封包电路316将视频数据包216解封包832为视频数据204。

所公开的实施例的益处和优势是减少了硬件开销,因为将单组奇偶校验位用于头部和有效载荷字两者。通过在执行16b18b编码之前执行前向纠错编码,可以简化源设备的硬件,并且还可以简化目的设备。此外,实现了带宽利用率的改进。数据包仅包括单个头部字,这减少了数据流中的开销。将纠错保护块224合并为超级块减少了块起始字的频率,即,整体需要传输更少的块起始字708,因为块起始字708将仅在每个超级块232被传输时传输一次而不是每个纠错保护块被传输时都传输一次。这提高了传输效率并且减少了浪费的数据传输。由于整个数据流(包括视频数据和消隐数据)受奇偶校验保护,因此可降低单点故障并实现无损传输。

在阅读本公开后,本领域技术人员将理解用于多媒体接口的视频数据传输的前向纠错和非对称编码的另外附加的替代实施例。因此,尽管已经说明和描述了本公开的特定实施例和应用,应当理解,实施例不限于本文公开的精确构造和部件,以及在该布置中进行的对本领域技术人员显而易见的各种修改、改变以及变化,以及在不脱离所附权利要求限定的本公开的精神和范围情况下本文中公开的本公开的方法和装置的操作和细节。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1