编码结构(共10篇)
编码结构 篇1
摘要:本文通过对MPEG-2标准的流结构和相关的概念进行介绍、分析, 希望在广播电视全面数字化的今天, 对从业者能有一个系统的认识提供相应的帮助。
关键词:MPEG-2标准,流结构,解读
数字电视是当前人们最关注的热点话题之一。其实, “数字电视”的含义并不是指我们一般人家中的电视机, 而是指电视信号的处理、传输、发射和接收过程中使用数字信号的电视系统或电视设备。
由于电视台初次制作的数字电视信号数据量很大, 约几百兆, 不利于直接传输, 必须要进行一定的压缩。一是在信源编码过程中进行压缩, 利用人类听觉视觉效应去除信号中的多余成分, 在不影响收听收看效果的前提下尽量压缩数据率;二是改进信道编码, 发展新的数字调制技术, 提高单位频宽数据传送速率。
信源编码是把节目源的模拟图声信号变为数字信号, 再经过MPEG-2压缩编码, 形成数字信号源, 并根据多个节目传输的要求, 编为复用码流。这里主要是对MPEG-2视音频数据流规范进行一定的解读。
1 MPEG-2系统的定义
MPEG-2系统是将视频、音频及其它数据基本流组合成一个或多个适宜于存储或传输的数据流的规范, 如图1所示。
由图1可见, 符合ITU-R.601标准的、帧次序为I1B2B3P4B5B6P7B8B9I10数字视频数据和符合AES/EBU标准的数字音频数据分别通过图像编码和声音编码之后, 生成次序为I1P4B2B3P7B5B6I10B8B9视频基本流 (ES) 和音频基本流ES。在视频ES中还要加入一个时间基准, 即加入从视频信号中取出的27MHz时钟。
视频、音频ES分别通过各自的数据包形成器, 将相应的ES打包成基本流 (PES) 包, 并由PES包构成PES。
节目复用器和传输复用器分别将视频PES和音频PES组合成相应的节目流 (PS) 包和传输流 (TS) 包, 并由PS包构成PS和由TS包构成TS。不允许直接传输PES, 只允许传输PS和TS, 因为PES只是PS转换为TS或TS转换为PS的中间步骤或桥梁, 是MPEG数据流互换的逻辑结构, 本身不能参与交换和互操作。
2 MPEG-2系统的任务
MPEG-2标准由表1所示的8个文件组成, MPEG-2系统是其关键部分。MPEG-2系统应完成的任务有:规定以包方式传输数据的协议, 为收发两端数据流同步创造条件, 确定将多个数据流合并和分离 (即复用和解复用) 的原则, 提供一种进行加密数据传输的可能性。
3 MPEG-2系统的要点
根据数字通信信息量可以逐段传输的机理, 将已编码数据流在时间上以一定重复周期结构分割成不能再细分的最小信息单元, 这个最小信息单元就定义为数据包, 几个小数据包 (Data Packet) 又可以打包成大数据包 (Data Pack) 。
用数据包传输的优点是:网络中信息可占用不同的连接线路和简单暂存;通过数据包交织将多个数据流组合 (复用) 成一个新的数据流;便于解码器按照相应顺序对数据包进行灵活地整理。
数据包为数据流同步和复用奠定了基础。MPEG-2系统规范定义了PS、TS和PES三种数据包及PS和TS两种可以互相转换的数据流, 以数据包形式存储和传送数据流是MPEG-2系统的要点。
4 打包基本流PES
将MPEG-2压缩编码的视频基本流 (ES-Elementary Stream) 数据分组为包长度可变的数据包, 称为打包基本流 (PES-Packetized Elementary Stream) 。即PES为打包了的专用视频、音频、数据、同步、识别信息数据通道。
ES是指只包含1个信源编码器的数据流, 即ES是编码的视频数据流, 或编码的音频数据流, 或其它编码数据流的统称。每个ES都由若干个存取单元 (AU-Access Unit) 组成, 每个视频AU或音频AU都是由头部和编码数据两部分组成的。通过打包, 将帧顺序为I1P4B2B3P7B5B6I10B8B9的视频编码ES变成仅含有1种性质ES的PES包, 如仅含视频ES的PES包, 仅含音频ES的PES包, 或仅含其它ES的PES包。
一个PES包的组成见图2所示。
由图2可见, 1个PES包是由包头、ES特有信息和包数据等3个部分组成。由于包头和ES特有信息二者可合成1个数据头, 所以可认为1个PES包是由数据头和包数据 (有效载荷) 两个部分组成。
5 节目流PS
将具有共同时间基准的一个或多个PES组合 (复合) 而成的单一的数据流称为节目流 (PS, Program Stream) 。
PS包的结构如图3所示。
由图3可知, PS包由包头、系统头、PES包3部分构成。包头由PS包起始码、系统时钟基准 (SCR-System Clock Reference) 的基本部分、SCR的扩展部分和PS节目复用速率4部分组成。
PS包起始码用于识别数据包所属数据流的性质及序号;SCR的基本部分是1个33 bit的数, 由MPEG-1与MPEG-2兼容共用;SCR扩展部分是1个9 bit的数, 由MPEG-2单独使用;PS复用速率用于指示其速率大小。
SCR用于解决压缩编码图像同步问题, 理由有三:I、B、P帧经过压缩编码后, 各帧的字节数不同;输入解码器的压缩编码图像的帧顺序I1P4B2B3P7B5B6I10B8B9中的P4、I10帧, 需要经过重新排序缓存器延迟后, 才能重建编码输入图像的帧顺序I1B2B3P4B5B6P7B8B9I10;视频ES与音频ES是以前后不同的视频与音频的比例交错传送的。以上3条均不利于视音频同步。
为解决同步问题, 提出在统一系统时钟 (SSTC-Single System Time Clock) 条件下, 在PS包头插入时间标志SCR的方法。整个42 bit字宽的SCR, 按照MPEG规定分布在宽为33 bit的1个基础字及宽为9 bit的1个扩展区中。由于MPEG-1采用了相当于33 bit字宽的90kHz的时间基准, 考虑到兼容, MPEG-2对节目流中的SCR也只用33bit。
6 传输流TS
将具有共同时间基准或具有独立时间基准的一个或多个PES组合而成的单一的数据流称为传输流TS (Transport Stream) , 即对具有共同时间基准的两个以上的PES先进行节目复用, 然后再对有独立时间基准的各个节目流进行传输复用, 生成为更小的TS包。
TS是面向数字化分配媒介 (有线、卫星、地面网) 的传输层接口。TS包结构如图4所示。
由图4可见, TS包由包头、自适应区和包数据3部分组成。每个包长度为固定的188B, 包头长度占4B, 自适应区和包数据长度占184B。184B为有用信息空间, 用于传送已编码的视音频数据流。当节目时钟基准 (PCR-Program Clock Reference) 存在时, 包头还包括可变长度的自适应区, 包头的长度就会大于4B。考虑到与通信的关系, 整个传输包固定长度应相当于4个ATM包。考虑到加密是按照8B顺序加扰的, 代表有用信息的自适应区和包数据的长度应该是8B的整数倍, 即自适应区和包数据为23×8B=184B。
T S包的包头由如图4所示的同步字节、传输误码指示符、有效载荷单元起始指示符、传输优先、包识别 (PID-Packet Identifi cation) 、传输加扰控制、自适应区控制和连续计数器8个部分组成。
可利用同步字节位串 (0x47) 的自动相关特性, 检测数据流中的包限制, 建立包同步;传输误码指示符, 是指有不能消除误码时, 采用误码校正解码器可表示1bit的误码, 但无法校正;有效载荷单元起始指示符, 表示该数据包是否存在确定的起始信息;传输优先, 是给TS包分配优先权;PID值是由用户确定的, 解码器根据PID将TS上从不同ES来的TS包区别出来, 以重建原来的ES;传输加扰控制, 可指示数据包内容是否加扰, 但包头和自适应区永远不加扰;自适应区控制, 用2 bit表示有否自适应区, 即 (01) 表示有有用信息无自适应区, (10) 表示无有用信息有自适应区, (11) 表示有有用信息有自适应区, (00) 无定义;连续计数器可对PID包传送顺序计数, 根据计数器读数, 接收端可判断是否有包丢失及包传送顺序错误。综上所述可知, 包头对TS包具有同步、识别、检错及加密功能。
TS包自适应区由自适应区长、各种标志指示符、与插入标志有关的信息和填充数据4部分组成。其中标志部分由间断指示符、随机存取指示符、ES优化指示符、PCR标志、接点标志、传输专用数据标志、原始PCR标志、自适应区扩展标志8个部分组成。
最重要的是标志部分的PCR字段, 可给编解码器的27MHz时钟提供同步资料, 进行同步。过程是:通过PLL, 用解码时本地用PCR相位与输入的瞬时PCR相位锁相比较, 确定解码过程是否同步, 若不同步, 则用这个瞬时PCR调整时钟频率。
7 节目特定信息PSI
由TS包结构可知, 1个TS包由固定的188B组成, 用于传送已编码视音频数据流的有用信息占用184B空间。但是还需要传输节目随带信息及解释有关TS特定结构的信息 (元数据) , 即节目特定信息 (PSI-Program Specifi c Information) 。
PSI用于说明:1个节目是由多少个ES组成的;1个节目是由哪些ES组成的;在哪些PID情况下, 1个相应的解码器能找到TS中的各个数据包。这对于由不同的数据流复用成1个合成的TS是一个决定性的条件。为了重建原来的ES, 就要追踪从不同ES来的TS包及其PID。
一些映射结构 (Mapping Mechanism) , 如节目关联表 (PAT) 和节目映射表 (PMT) , 会以打包的形式存在于TS上, 即借助于PSI传输一串描述了各种ES的表格来实现。
按照MPEG标准, 可用4个不同的表格 (即PAT、PMT、CAT、NIT) 作出区别。
节目关联表 (PAT-Program Association Table) :在每个TS上都有一个PAT, 用于定义节目关联表。用MPEG指定的PID (00) 标明, 通常用PID=0表示。
节目映射表 (PMT-Program Map Table) :在TS上, 每个节目都有一个对应的PMT, 是借助装入PAT中节目号推导出来的。用于定义每个在TS上的节目 (Program) , 即将TS上每个节目的ES及其对应的PID信息、数据的性质、数据流之间关系列在一个表里。解码器要知道分配节目的ES的总数, 因为MPEG总共允许256个不同的描述符, 其中ISO占用64个, 其余由用户使用。
条件接收表 (CAT-Conditional Access Table) :用于准备解密数据组用的信息, 如加密系统标识、存取权的分配、各个码序的发送等。用MPEG指定的PID (01) 标明, 通常用PID=1表示。
网络信息表 (NIT-Network Information Table) :可传送网络数据和各种参数, 如频带、转发器号、通道宽度等。MPEG尚未规定, 仅在节目关联表 (PAT) 中保留了1个既定节目号“0” (Program-0) 。目前有时在SI (业务信息) 中表述。
有了PAT及PMT这两种表, 解码器就可以根据PID将TS上从不同的ES来的TS包分别出来。节目特定信息 (PSI) 的结构, 如图5所示。
8 业务信息SI
在MPEG-2标准中定义的节目特定信息PSI, 是对单一传输流的描述, 由于系统通常存在多个传输流, 为了使使用者能在多个传输流中快速地找出自己需要的业务, 在DVB中对MPEG-2的PSI进行了扩充, 在PSI四个表的基础上再增加了九个表, 形成业务信息SI (SI-Service Information) 。
SI是对整个系统所有传输流的描述, 描述系统传输内容、广播数据流的编排和时间表等方面的数据。将SI所提供的数据通过有序地组织起来, 生成类似节目报的形式, 它能在电视机上即时浏览, 这样将大大方便用户的使用, 即电子节目指南EPG。PSI数据只提供单个TS流的业务信息, SI数据可以提供多个TS流的业务信息。用户根据选择可自动利用NIT、PAT、PMT等信息进行频道调谐, 选择节目和定位, 实现电子节目指南 (EPG) , 进行CA控制等。
9 系统复用
多个传输流信号按照一定的规范复用在一起, 在同一个信道传输而不相互干扰, 称为多路复用。图6是系统双层复用原理图。即将第一层的多个多路复用器先分别进行单节目传输复用, 而后再进行第二层的多节目传输复用, 就形成了双层复用。
由图6可见, 编码器不仅有视频编码器和音频编码器, 还有系统编码器。第一层的每个多路单节目传输复用器输入信号有:ITU-R.601标准数字视频, 如视频帧顺序为I1B2B3P4B5B6P7B8B9I10;AES/EBU数字音频数据;节目特定信息PSI及系统时钟STC 1-N等控制信号。1套电视节目是由多个不同性质的数据流的ES组成的, 1套电视节目的最小组合为1个视频流, 1个音频流, 1个带字母、字符的数据流 (Tele text) 及其它信息业务数据流。
视频编码器、音频编码器和数据提供给系统编码器的是基本流ES, 视频ES的帧顺序为I1P4B2B3P7B5B6I10B8B9。经过系统编码器加入PTS及DTS, 并分别打包成视频PES、音频PES, 数据本身提供的就是PES。
PSI插入数据流, 数据加密将有关的调用权、编码密钥通过条件收视表插入到MPEG-2 TS包中, 并将传输复用器从STC导出的PCR插入相应区段。这些视频PES、音频PES、数据PES及PSI, 经过加入PID及PCR的传输复用器后, 输入的基本流ES被分割成传输包片段, 并为每个片段配备1个数据头 (Header) , 就形成了一系列的TS包。通过各个不同性质的数据流的数据包交织后, 输出MPEG-2 TS流。数据流的分割是指将1个数据流逐段分割成多个数据包, 有利于不同性质 (视频、音频、数据等) 数据流的数据包交织。
从N路MPEG-2 TS流中提取出N个PCR, 从而再生出STC1-N, 最后产生出N个第二层多路多节目传输复用器用的新PCR。多节目传输复用器的任务是在分析的基础上, 对多套节目复用合成, 对数据包时标进行更新。PS与TS的区别在于, 节目流PS只能由1套节目的ES组成, 传输流TS一般由多套节目的ES组成。由于在说明TS的基本流时标时, 总是针对某1节目而言, 因此TS选择了节目时钟基准PCR的概念, 而不是系统时钟基准SCR。
MPEG只允许1个TS流只能有1张节目关联表PAT, 多节目传输复用器需要对PSI表进行分析, 以便建立对新数据流适用的PAT, 修正有关数据包中的时间标志, 完成时标更新。经过第二层多路多节目传输复用器复用后, 输出MPEG-2 TS流, 可以继续通过传输链路传输到解复用器, 也可以采用信道编码、调制技术后, 通过卫星、有线电视、地面无线电视传输。
编码结构 篇2
一种网络编码和信道编码的联合设计
作者:仇巧云 卢选民 赵明峰
来源:《现代电子技术》2010年第23期
摘要:网络编码技术可以大幅度提高网络的吞吐量和鲁棒性,因此已成为近年来的研究热点。在研究无线网络中物理层网络编码技术的基础上,提出了多址信道中一种联合网络编码和信道编码的设计方案。该设计利用LDPC码和网络编码的线性特性以及软输入软输出模块设计,不仅减少了编译码的复杂度,而且在高的信噪比情况下可以获得良好的性能。仿真结果表明,该设计方案不仅容易实现,而且性能接近网络信道容量的上限,相比传统的设计技术至少能够提高1.6倍的增益。
编码结构 篇3
与会专家认为,该标准针对不同应用场景设计了不同的传输模式和参数,兼容我国现有模拟调频广播的频谱规划,能够满足我国调频频段声音广播从模拟到数字平滑过渡的需求,对于我国数字音频广播及相关产业的发展具有具体指导作用,同意该标准通过审查。
广东广电积极推进三网融合
上半年,广东广电系统积极推进三网融合,取得了一系列成效:一是南方广播影视传媒集团IPTV发展迅速。3月29日,央视CNTV、南方传媒集团和广东电信签署广东省三网融合IPTV业务合作协议,三方将在IPTV业务领域开展深度合作;5月,IPTV平台二期建设基本完成,具备3.4万小时点播内容,直播频道共106套。二是深圳三网融合试点工作取得里程碑式突破。在全国试点城市率先实现IPTV商业运营,5月底用户规模超过30.6万,并完成内容平台一期建设,可向用户提供超过50000小时点播节目,提供80路高标清直播频道、1路中国3D试验频道,形成了15大点播栏目,实现节目内容创新。深圳广电与北京大学深圳研究生院合作成立三网融合核心技术联合实验室,研发的核心课题包括“移动高清IPTV系统”、《三网融合分布式存储机构》等,部分已获得或正申请国家发明专利授權。三是省级三网融合监管平台加紧建设。目前该项目经广东省领导同意,得到广东省政府的大力支持,现正加紧报建立项,以确保三网融合下广东全省广播电视播出安全。
符号M阵列结构光的编码研究 篇4
结构光法是一种主动式光学测量技术,一般由投影仪、摄像机和计算机三部分组成,通过三角法获得深度信息。结构光法和双目视觉相比,是一种主动视觉系统,它有其大量程、大视场、较高精度、信息提取简单、容易实现、可靠性高、实时性强及主动受控等特点,在制造业的应用越来越广泛。利用一幅二维图像,在三维欧式空间重构三维场景,采用编码结构光照明主动视觉技术及装置[1]是最有效的方法。
目前常用的编码方法可分为:直接编码,时分多路复用编码,空间邻域编码[2]。Camrrihill和Hummel[3]提出一种基于强度比的深度测量方法,采用垂直强度列的直接编码模式,该编码模式具有很好的空间分辨率,但是他们对噪音和光变化较敏感,使得适应性受到限制。Caspi等[4]提出一种基于颜色的多级灰度码时间编码模式,对颜色数量,抗干扰系数等系统配置进行研究,达到了较高的准确度和鲁棒性,但是该方法投射模式量大,不适合动态场景测量。Zhang等[5]引入了多通道动态编程思想,采用空间邻域编码,明显的提高了整体分辨率。姜晨等[6]提出伪随机彩色空间编码,根据编码的窗口特性建立索引表,通过索引表确定各特征点在编码模板中的对应点,该方法分辨率较高,但鲁棒性不够好。
与其他编码方法相比,空间邻域编码使用单幅图像投射,大大减少了投射数量,适合动态场景,故采用空间邻域编码。空间邻域编码可分为非正式编码模式、伪随机序列编码模式和伪随机阵列编码模式三种。Ito和Ishii[7]提出一种三级棋盘的非正式编码模式,网格中的每个格子利用三种亮度级编码,每个格子选择与其四邻域不相同的亮度级,但是没有研究如何生成全局唯一的编码模式,允许码字重复使用。Vuylsteke和Oosterlinck[8]提出基于伪随机序列的二值棋盘编码模式,采用2元6阶的伪随机序列对各列进行绝对编码,适用于动态场景。李玉新等[9]针对伪随机阵列编码的彩色结构光系统,提出角点自动检测、识别方法,有效减少了冗余角点的产生,但是采用了彩色光,容易受到光颜色的影响,产生误差。Hiroshi等[10]采用对角线法,将伪随机序列扩展成伪随机阵列。但是,在三元域中,即使使用九阶的本原多项式,利用对角线法得到的M阵列的尺寸仍然无法达到为实现高分辨率测量的大尺寸M阵列的要求。本文研究一种适合结构光测量的大尺寸M阵列生成算法,得到更高的检测分辨率。将大尺寸阵列编码成符号M阵列编码模式以确定各特征点的相对位置,使得可以很好的解决匹配点问题。
1 M阵列编码原理
对于一个窗口尺寸为r×v的q元m×n的M阵列,它的定义是:在q元m×n的阵列中,任意一个r×v的子矩阵在阵列中仅出现一次。伪随机编码是指一个预先确定的,可重复实现的,具有某种随机特性的编码,可表示为伪随机序列和伪随机阵列两种形式。伪随机编码既可以方便的产生和复现,又具有良好的窗口特性[11]。首先生成具有一定窗口特性的一维伪随机序列,继而利用该序列生成二维伪随机阵列。
1.1 一维伪随机序列的产生
研究一维伪随机序列的重要基础是de Bruijn序列。反馈移位寄存器对de Bruijn序列的研究起着非常重要的作用。m阶线性反馈移位寄存器具有m个存储器,设每个存储器含有q个基元,即有q个状态。当时钟脉冲到来时,各个存储器的状态依次地向右输出,变成一个周期为n=qm-1的循环序列,即伪随机序列[2]。假设线性反馈移位寄存器的本原多项式为
其中:ki∈GF(q),k0≠0,该本原多项式与输出序列密切相关。反馈路径可表示为
方程(2)表述了输出序列的循环。这是一个周期为n=qm-1的有限序列(如果初始状态是非零的),每个非零状态在一个周期出现一次。在GF(q)域中输出的序列的长度为qm-1的一部分称为一个伪随机序列。即序列a0a1a2a3...是由一个本原多项式h(x)=xm+km-1xm-1+...+k2x2+k1x+k0指定的反馈网络移位寄存器产生,该本原多项式中的m个系数是Galois域GF(q)={0.1.A,A2,A3,……,Aq-2}中的元素,其中A为本原元。
对于每个m都存在m次幂的本原多项式h(x),由本原多项式h(x)可以推导出相应的反馈逻辑函数。如果选定了本原多项式,就能知道相应的逻辑传递函数,然后设定一个非全零初始状态a0a1a2a3...am-2am-1作为激励源,根据模q(mod q)运算规则,可以唯一确定线性反馈移位寄存器产生的伪随机序列a0a1a2a3...。
以三元模式为例,在三元域GF(3)中选取一个3元4阶的本原多项式h(x)=x4+x+2。图1显示了该本原多项式相应的一个简单的生成伪随机序列的4阶线性反馈移位寄存器示意图。图中⊕为模3加法。
该线性反馈移位寄存器中,每个存储状态记为“0”、“1”或“2”,则寄存器具有3m个不同的状态。输出的序列是周期性的,但全0的状态不可能发生[8],除非整个序列都是0,所以最大可能周期是n=3m-1。当序列的周期为最大值n=3m-1时,即为所称的伪随机序列。对于模3伪随机序列而言,基元为3个值:0、1、2。该3元4阶本原多项式所对应的传递函数为
若初始状态设为a0a1a2a3=0001,将产生序列:
其中:任何一段长度为3m-1的连续子序列,都是一个伪随机序列。由于递归循环中,初始值不同,总共有3m-1个不同的伪随机序列(除了以全0为初始状态的序列),但只有m个是线性无关的。
伪随机序列具有良好的窗口特性[8],如下窗口,即一个宽度为m(这里m=4)的窗口沿着序列移动的过程中,通过窗口看到的同一个周期中的3m-1个子序列彼此并不完全相同。
1.2 伪随机阵列的生成
伪随机阵列具有窗口唯一性,通过对场景图像中窗口的查寻,可以确定编码点在编码阵列中的位置,使得场景中的每个特征点有唯一的码字,可以被唯一的识别,最终得以重构。伪随机编码阵列可用一个n=n1×n2的二维伪随机矩阵表示,而该矩阵可由一个含有素数或一个素数的q次幂个基元组成的序列a0,a1,a2,...,an-1按一定的规则折叠转换成,并且满足:
式中:n1和n2是互素的,如果不满足互素条件,则构成的伪随机阵列窗口不唯一。
根据上面的公式,采用对角线法即可将伪随机序列构造成伪随机阵列。如果令q=3,伪随机序列a0,a1,a2,...,an-1的周期为n=3m-1,其中m=k1×k2,k1,k2为要构造的伪随机阵列的窗口参数,伪随机阵列的大小为n1×n2,其中1n=3k1-1,n2=n/n1,n1和n2互素,且都大于1,则n=n1n2。将序列a0,a1,a2,...,an-1填到一个n1×n2阵列里。具体的转换方法是:用序列a0,a1,a2,...,an-1中的元素沿着n1×n2阵列的主对角线填充该阵列,当到达阵列的右边界时,则从下一行的左边界继续填充,当到达阵列的下边界时,则从下一列的上边界继续填充,直到序列中的所有元素填写到阵列中,此时一个周期内的最后一个元素会同时到达序列的下边界和右边界。这样形成的一个n1×n2的阵列称为伪随机阵列。
伪随机阵列上的k1×k2编码窗口决定了整个伪随机阵列。由于伪随机序列具有良好的窗口特性,相应的,伪随机阵列也具有一个重要的窗口特性:当一个k1×k2的编码窗口在阵列n1×n2中滑动时,窗口中出现的k1×k2子阵列均可唯一辨识。也就是说,根据伪随机阵列的这种特性,对于一个已知的任意伪随机阵列,只要知道窗口中的子阵列情况,就可以知道该子阵列在整个阵列中的位置。
在3元域GF(3)上,选取9阶的本原多项式,可编制大小为n1×n2=26×757的一个伪随机阵列,即q=3,m=9。利用式(5)可得:k1=k2=3,n1=26,n=19 682,n2=757。由于它是在3元域中,故寄存器状态有“0”、“1”、“2”。已知q=3,m=9,这样在GF(3)域上可选择本原多项式h(x)=x9+x7+x5+1。根据线性反馈移位寄存器的工作原理,用C++语言编制相应程序,可生成一个26×757的伪随机阵列。
该对角线法将一维伪随机序列扩展成二维阵列,但是该阵列为26×757,行数和列数相差太大,测量的空间分辨率被较小的行数所限制,而很大的列数发挥不了作用。
2 大尺寸M阵列的产生
M阵列尺寸越大,单位投射面积的符号就越多,测量分辨率就越高,同时测量精度也就相应地提高。利用对角线法无法得到适合视觉测量用的大尺寸M阵列。如果仅简单地从由对角线法得到的M阵列中抽取几个子阵连接在一起,并不能保证在拼缝处的窗口具有代码唯一性,生成的阵列就不一定是严格的M阵列,故研究一种可以有效生成适于结构光测量的大尺寸M阵列的生成方法。
其主要思想是:在q元域中,选择一个k阶的本原多项式,首先利用上述的对角线法生成一个n1×n2的阵列,如果n1远远小于n2,则从n1×n2的阵列中选取一个n1×n′2子阵列,其中n′2小于n2,按投射的要求适当选取。由于行数偏少,所以只需在选取的子矩阵基础上拼上数行即可。一行一行的拼接,直到拼接到合适尺寸为止,其中对于要拼接的子窗口,只能在选取完子矩阵后剩的n1×n2阵列中搜索,对于已使用过的子窗口,也不可再重复使用。对已选取的子阵列进行拼接的时候分为两种情况。首先是进行下拼接,也就是先把前三列拼接完整,每次拼接三个数。窗口pi下拼接pj的条件是窗口pi的后两行的值等于窗口pj的前两行的值,如图2(a)所示。对于阵列的其他的拼接,位置关系如图2(b)所示,每次仅拼接一个数,也就是当两个3×3窗口矩阵前8个数完全一样时,将最后一个数拼上。这样一直下去,直到得到合适尺寸的阵列为止。拼接顺序如图3所示。
由于每次拼接后的子阵列或子窗口都不再重复使用,所以用这种方法得到的结果阵列中,任意窗口必定是全局唯一的。而且这种方法是首先选取一个码字全局唯一的子阵列,然后在这个子阵列基础上进行拼接的,比起用一个一个子窗口进行拼接,大大加快了产生大尺寸M阵列的速度,而且也能得到各种尺寸适合投射的阵列。
3 单色光编码模式
由于伪随机阵列具有良好的窗口特性,基于伪随机原理对投影模式进行编码。根据伪随机编码的窗口特性,使得场景的每一采样点可唯一辨识,解决了机器视觉三维物体表面重构时确定匹配点的难题。
编码投射模式是结构光三维检测视觉系统的重要组成部分,设计一个编码投影模式,从而确定各特征点的相对位置,使得可以很好的解决特征点匹配的难题。
M阵列的实现模式已有多种,如彩色伪随机空间编码法,彩色谱编码法,但是彩色图案,容易受光照的影响,使得颜色出现偏差,解码阶段误差会较高。单色光鲁棒性会更好,此外,单色光的投射装置及实现更简单,故使用单色光模式。符号的选择对在解码阶段能否正确解码很关键,故符号的选择非常重要。摄像机拍摄畸变的符号图像后,需要对其进行识别,故符号的可识别性要较强。考虑以上因素,选择以下三种几何基元符号进行编码,如图4所示。伪随机阵列是由这三个几何基元符号来体现的。
圆环和圆盘的选择是为了简化在分割阶段的图像处理。条纹符号的选择是由于它具有方向信息,可以在邻域检测阶段正确地旋转观察窗口。伪随机阵列编码模式在解码阶段可能会产生一些误差,为了减少这些误差,解码算法需要更好的鲁棒性。码字之间的汉明距离对于解码阶段正确解码也是很有帮助的。如果汉明距离大于或等于1,在检测和分割阶段,它是具有纠正误差的能力,如果汉明距离大于3的话,效果会更好,鲁棒性更强。
4 算法实现及实验结果
4.1 产生大尺寸M阵列的算法实现
考虑编解码的快速性,降低复杂程度,选择在三元域中,使用一个九阶的本原多项式,生成大尺寸M阵列,此时窗口尺寸3×3。根据伪随机原理,产生一个伪随机序列,利用对角线法可以产生一个26×757的阵列,存储在数组new_matrix中。将期望获得的大尺寸M阵列存储在数组new_model中,将new_matrix中的窗口存储到数组model中,new_model中待比较的窗口存储到数组compare中。为了保证所产生的大尺寸M阵列仍具有窗口唯一特性,需将已使用过的窗口统一地放到一个数组中,不再使用,这样就能保证每次使用的窗口是唯一的,故定义一个数组symbol,用它来存储new_matrix中已使用过的子阵列或窗口。
对于该26×757阵列,行数26比较小,远远小于列数757,这样投射到被测物时,测量分辨率低。本文在三元域中,研究生成一个48×52的阵列,这样new_model就是一个48×52的数组。首先在26×757的阵列中选取一个26×52的子阵列,存储在数组new_model中。然后开始进行拼接,先对前三列作拼接,位置关系如图2(a)所示,使用下拼接的方法,从第26行,第0列开始,每次补3个符号,补到第47行停止,再做行拼接,位置关系如图2(b)所示,从第26行,第3列开始,每次补一个符号,补到第51列停止,接着补第27行,也是从第3列开始,拼接顺序如图4所示,直到第47行第51列,停止。这样就可以得到一个48×52的阵列。
4.2 算法执行结果
利用上述算法可得到48×52的M阵列,对该阵列进行编码,阵列中的0,1,2分别用圆环,圆盘,条纹三个几何基元代替,用黑色作为整个模板的背景色,用Matlab编程实现可得对应的符号M阵列模式,如图5所示。图5中任意一个3×3的窗口,都是唯一的,即满足伪随机阵列的窗口特性。
子窗口间汉明距离的增大可以减小图像解码阶段,因物体表面法线不连续造成的解码误差。计算图5所示的符号阵列任意两个码字的汉明距离,统计结果如图6所示,用H(x)代表码字汉明距离为x时的百分比:H(1)=0.094,H(2)=0.78,H(3)=3.68,H(4)=10.29,H(5)=20.53,H(6)=27.28,H(7)=23.34,H(8)=11.71,H(9)=2.59。则码字的平均汉明距离是H(x)=5.997,其中所有码字的99.906%的汉明距离大于1,95.446%的汉明距离大于3。
4.3 实验结果
将获得的M阵列编码模式投射到物体表面,利用摄像机捕获物体反射图像。将图5所示单色编码模式投射到被测量的蓝色桶表面,捕获物体表面反射的畸变图像,局部捕获图像如图7所示。对捕获的图像进行图像处理及识别,提取编码点的坐标,重构出三维编码点的空间三维坐标,测量结果的三维点云图,如图8所示,三维面图,如图9所示。
5 结论
基于伪随机阵列编码模式,针对对角线法无法得到适合视觉测量的大尺寸M阵列,研究一种能有效产生大尺寸M阵列的方法,使其生成一种大尺寸的单色光的编码模式,获得更高的分辨率,进而提高精度,鲁棒性较强。该编码模式只需投射一帧模式图像,即可完成一次测量。选择的三个几何基元符号,容易识别和区分,为解码阶段提供了很多的帮助信息。由实验结果可以看出,大尺寸M阵列的编码方法简单可行,解决了动态三维场景中像素坐标点的匹配难题,为实现高精度高分辨率的视觉测量奠定了基础。
摘要:编码结构光的三维检测是一种主动视觉方法,通过投影仪投射一定的编码模式,获取匹配点,通过三角原理获得深度信息。为实现物体表面的快速测量,采用伪随机阵列对结构光进行编码。由于基于对角线法无法得到合适尺寸的M阵列,研究一种能生成大尺寸M阵列的算法,为提高测量的空间分辨率及测量精度奠定基础。在三元域中,使用单色光,选择条纹、圆圈和圆盘作为M阵列符号,符号容易识别和区分,并为解码图像搜索提供信息,提高对环境的抗干扰能力。大部分码字的汉明距离大于3,具有更好的鲁棒性。实验结果验证了该方法的可行性和有效性。
关键词:伪随机原理,大尺寸M阵列,单色编码,符号阵列,汉明距离
参考文献
[1]Batlle J,Mouaddib E,Salvi J.Recent process in coded structured light as a technique to solve the correspondence problem:asurvey[J].Pattern Recognition(S0031-3203),1998,31(7):963-982.
[2]肖国镇,梁传甲,王育民.伪随机序列及应用[M].北京:国防工业出版社,1985.
[3]Carrihill B,Hummel R.Experiments with the intensity ratio depth sensor[J].Computer Vision,Graphics and ImageProcessing(S0734-189X),1985,32:337-358.
[4]Caspi D,kiryati N,Shamir J.Range imaging with adaptive color structured light[J].Pattern analysis and machineintelligence(S0162-8828),1998,20(5):470-480.
[5]LI Zhang,Brian Curless,Steven M Seitz.Rapid shape acquisition using color structured light and multi-pass dynamicprogramming[C]//Proceedings of the 1st International Symposium on 3D Data Processing,Visualization andTransmission,Padova,Italy,June 19-21,2002:24-36.
[6]姜晨,卢荣胜,张勇斌,等.彩色伪随机阵列在主动三维视觉检测中的应用[J].光电工程,2004,31(增):141-144.JIANG Chen,LU Rong-sheng,ZHANG Yong-bin,et al.The application of multicolor pseudo-random encoded array in activevisual inspection[J].Opto-Electronic Engineering,2004,31(sup):141-144.
[7]ito M,Ishii A.A three-level checkerboard pattern(TCP)projection method for curved surface measurement[J].PatternRecognition(S0031-3203),1995,28(1):27-40.
[8]Vuylsteke P,Oosterlinck A.Range image acquisition with a single binary-encoded light pattern[J].IEEE Transactions onPattern Analysis and Machine Intelligence(S0162-8828),1990,12(12):148-163.
[9]李玉欣,张旭,朱利民.伪随机编码图像的特征点自动检测方法[J].计算机工程与应用,2010,46(32):137-140.LI Yu-xin,ZHANG Xu,ZHU Li-min.Automatic feature corner detection in pseudo-random encoded image[J].COMPUTERENGINEERING AND APPLICATIONS,2010,46(32):137-140.
[10]Green D H,Taylor I S.Irreducible Polynomials over composite Galois fields and their applications in coding techniques[J].Theproceedings of Institution of Electrical Engineers(S0020-3270),1974,121(9):935-939.
Ubuntu编码问题 篇5
方案:
sudo vim /etc/default/locale
add
LC_CTYPE=“en_GB.UTF-8”
重新载入
编码结构 篇6
1 材料与方法
1.1 组织的采集及总RNA的提取
在常德市金华屠宰厂采集牛的乳腺组织,用上海英骏生物技术有限公司的Trizol试剂盒提取总RNA,用焦碳酸二乙酯(DEPC)处理水溶解,采用紫外分光光度计测定纯度和含量,稀释至100 ng/μL,-20 ℃保存,备用。
1.2 引物的设计和RT-PCR
以人TIRAP基因的mRNA序列为信息探针,采用网上在线工具(http://www.ncbi.nlm.nih.gov/blast/)在GenBank中搜寻同源的牛ESTs序列。选取同源性大于80%的牛ESTs序列,构建ESTs重叠群(contig),以contig作为设计引物的靶序列,结合人的基因结构信息,用Primer Premier 5.0软件设计RT-PCR引物,其序列为F 5′-ATGGCATCATCAACCTCCTCC-3′,R 5′-ATCAAGCATCAGCCAAGGGTC-3′。
应用宝生物工程(大连)有限公司的反转录试剂盒,按照产品说明书以总RNA为模板扩增第1链cDNA;然后以第1链cDNA为模板分别用引物F和R进行RT-PCR(退火温度为59 ℃),扩增TIRAP基因cDNA片段。扩增产物经1.5%的琼脂糖凝胶电泳检测,纯化、回收后送上海生工生物工程技术服务有限公司测序。
1.3 TIRAP基因序列的生物信息学分析
对经RT-PCR所得的基因片段进行测序后,分别采用NCBI在线工具和DNAStar 6.0软件进行序列同源性比对和cDNA序列结构分析。根据开放阅读框推导该基因编码的氨基酸序列,采用网上在线工具(http://www.expasy.org/、http://smart.embl-heidelberg.de/和http://psort.nibb.ac.jp/form2.html)进行蛋白质分子质量、等电点、结构域、二级结构等结构特征和功能的分析。
2 结果与分析
2.1 TIRAP基因cDNA的克隆
根据所设计的引物,应用LA聚合酶和高GC Buffer,对TIRAP基因的编码区进行RT-PCR,其结果通过1.5%的琼脂糖凝胶电泳检测,见图1。
P.TIRAP基因的RT-PCR产物;M.DL-3 000 Marker。
2.2 TIRAP基因cDNA序列分析
对经RT-PCR得到的TIRAP cDNA片段回收、克隆、测序后得到cDNA长为707 bp的条带,其编码区为699 bp(1~699 bp),编码232个氨基酸,分析其碱基含量,其中A+T为31.90%,G+C为68.10%。将该cDNA序列与牛基因组数据库进行比对,检索到与牛29号染色体上的基因组序列(NW_001494526.1)的相似率达到100%,且有3个“断裂”点,可知牛TIRAP基因位于29号染色体上,并且该基因的DNA含有3个外显子和2个内含子。
2.3 TIRAP克隆的cDNA所推导的蛋白质特性分析
2.3.1 氨基酸组成
由克隆得到的牛TIRAP cDNA序列推导出TIRAP蛋白全长为232个氨基酸(见图2),分子质量为24 433.50 u,等电点为6.95。对氨基酸组成分析结果显示,丝氨酸(Ser)的含量最高,达到15.09%;其次为甘氨酸(Gly),占10.78%;极性氨基酸(N、C、Q、S、T、Y)63个,占27.16%;疏水性氨基酸(A、I、L、F、W、V)68个,占29.31%。
注:下划线部分为蛋白质的TIR结构域;加框部分为 核定位信号序列。
2.3.2 结构域分析
采用网上在线工具(http://www.expasy.org/prosite/)预测了TIRAP蛋白的结构域(见图2)。结果表明,此蛋白含有TIR结构域(95~179 aa),在细胞信号转导过程中TIR结构域可能介导同型蛋白之间的相互作用,从而提示牛的TIRAP蛋白在TLRs信号转导中起着重要作用。
2.3.3 TIRAP蛋白的亚细胞定位预测
采用网上在线工具(http://psort.nibb.ac.jp/form2.html)预测了牛TIRAP蛋白的亚细胞定位。结果表明,该蛋白位于细胞核的概率为43.5%,位于细胞质的概率为30.4%,位于线粒体的概率为21.7%,位于细胞骨架的概率为4.3%。此外,还在第10个氨基酸处发现了核定位信号序列,即PGSRSKK。
2.3.4 牛TIRAP蛋白α螺旋和β折叠预测分析
利用DNAStar6.0软件中的Protean程序预测了Garnier算法下的TIRAP蛋白的二级结构,见图3。结果显示,牛TIRAP蛋白的二级结构包含9个α螺旋,5个β折叠,21个T转角,20个无规则卷曲。分析人、鼠、狗等物种的TIRAP蛋白,发现它们也都具有类似的结构,这些结构对维持蛋白质的结构和功能起着重要作用。
2.3.5 疏水性分析
利用网上在线工具(http://www.expasy.org/tools/protscale.html)预测了TIRAP蛋白的疏水性。结果表明,在蛋白质序列的第6~110位氨基酸表现为较强的亲水性,而111~161位氨基酸则表现为较强的疏水性。
2.4 TIRAP蛋白质同源性分析
采用NCBI的Protein Blast工具(http://www.ncbi.nlm.nih.gov/blast/)将TIRAP蛋白的氨基酸序列与其他物种的TIRAP蛋白的氨基酸序列比对。结果发现:该蛋白与人(登录号为AAH32474)、小鼠(登录号为NP_473437)、大鼠(登录号为XP_001055833)和狗(登录号为XP_851910)蛋白的同源性分别为76%、65%、64%和76%,TIR结构域的同源性均达到85%左右,说明TIRAP蛋白的TIR结构域比较保守,其他区段的氨基酸变异很大。
3 讨论
TIRAP蛋白为人和小鼠的TLRs信号通路的下游信号分子[1,2]。Yamamoto M等[5]进一步研究了TIRAP/MAL和MyD88双基因敲除小鼠。结果发现,该小鼠巨噬细胞受脂多糖(LPS)刺激后,干扰素(IFN)诱导性基因的表达正常,LPS诱导的树突状细胞(DC)共刺激分子(CD40、CD80、CD86)表达未受到影响,从而证明TIRAP与MyD88在TLRs介导的信号转导中具有相似的作用,可通过TIR结构域与TLRs的TIR结构域相互作用,形成异源二聚体,调节下游的信号转导[3]。试验克隆得到牛TIRAP基因cDNA的编码区,推导出牛TIRAP蛋白包含232个氨基酸,经过生物信息学分析发现,该蛋白包含TIR结构域,且与人、小鼠、大鼠和狗TIRAP蛋白的TIR结构域的同源性均达到85%。亚细胞定位结果表明,TIRAP蛋白位于细胞核、细胞质和线粒体等多种细胞器上。由本研究结果可知,奶牛TIRAP蛋白具有与小鼠和人相似的TIR功能结构域,推测奶牛TIRAP蛋白可能与人和小鼠TIRAP蛋白的功能相似,即通过TIR结构域与TLRs相结合,并与下游信号分子作用,引起胞内的核因子表达,产生炎症反应,使机体产生抗病性。奶牛乳房炎是受病原体感染所致的疾病,与TLRs中的TIR结构域及其信号转导有关[6]。综上所述,本研究结果提示奶牛TIRAP蛋白可能在乳房炎抗性的分子机制中发挥重要功能。
参考文献
[1] AKIRA S,TAKEDA K,KAISHO T.Toll-like receptors:critical pr-oteins linking innate and acquired immunity[J].Nat Immunol,2001,2(8):675-680.
[2] AKIRA S.Toll-like receptor signaling[J].J Bio Chem,2003,278(40): 38105-38108.
[3] HORNG T,BARTON G M,MEDZHITOV R.TIRAP: an adapter molecule in the Toll signaling pathway[J].Nat Immunol,2001,2(9):835-841.
[4]FITZGERALD K A,PALSSON-MCDERMOTT E M,BOWIE A G,et al.Mal(MyD88-adapter-like)is required for Toll-like re-ceptor-4 signal transduction[J].Nature,2001,413(6851):78-83.
[5]YAMAMOTO M,SATO S,HEMMI H,et al.Essential role for TIRAPin activation of the signaling cascade shared by TLR2 and TLR4[J].Nature,200,2420(6913):324-329.
编码结构 篇7
关键词:多边形编码,Morton码,冗余,拓扑
按照功能来划分,常用的矢量数据结构编码方式[1]有多种,其中多边形矢量编码结构,使边界坐标数据和多边形单元一一对应,各个多边形边界都单独编码和数字化。每个多边形由若干条弧段组成,每条弧段由一列有序的x,y坐标对组成。其文件编码坐标为:x1,y1;x2,y2;x3,y3;xn,yn;x1,y1。这种编码方式的不足在于:相邻多边形的公共边界被数字化和存储两遍,造成数据的冗余且每个多边形自成体系,缺少图形的拓扑关系等等。索引式矢量编码结构采用树状索引,对多边形边界每个节点进行编号并数字化节点,对各个线段进行编号,节点和线段号相联系并用线段和多边形相联系,建立多边形和线段之间的索引文件,但这种方式的不足在于编码表要人工建立,工作量大而且容易出错。
1 基本思路
为了避免相邻多边形的公共边界被数字化和存储两遍,造成数据的冗余和减少人工建立编码表带来的工作量,本文借鉴多边形和索引式矢量编码结构,只建立节点和多边形之间的树状索引,以达到减少数据冗余和增加邻域信息。节点的数字化和存储是利用多边形编码方式和Morton码的原理来完成,Morton码的排列方式如图1所示,用2n×2n表示。
Morton码的计算如图2所示[2]:
这样就可以行列表示二维栅格阵列图形,用Morton码写成二维数组,通过Morton码来确定节点的坐标。图3中给出一个原始的多边形图形,文章中以该多边形图形为例,按照Morton码的原理划分多边形图形,划分后的结果如图4所示:
从图3中可以看出,每个节点所在的行和列,从而可以得出Morton码与多边形对应的关系,如图4所示。节点1对应Morton码为第1行第5列即18;节点2对应Morton码为第4行第6列即27;用同样的计算方法可以计算出所有节点对应的Morton码。将Morton码读入二维数组中
节点坐标值……
利用Morton码对每个节点数字化的时候,如果某个节点之前已经完成过一次数字化就不需要再重复数字化和存储,这样就可以保证每个节点只被数字化一次。再利用索引的方式来表示多边形的拓扑关系,为了减少人工的工作量并且减少出错,只建立节点———多边形之间的树状索引,如图5所示。这样既增加了多边形的邻域信息和图形的拓扑关系,又减少了人工编码出错的几率。
2 结束语
通过结合多边形矢量编码和索引式矢量编码方式的优点,采用了Morton码原理,取长补短,对于计算机图形矢量数据结构的编码提出了一些解法,希望能对矢量数据结构编码有所帮助。
参考文献
[1]闫浩文,等.计算机地图制图原理与算法基础[M].科学出版社,2007.
[2]艾自兴,龙毅.计算机地图制图[M].武汉大学出版社,2005.
[3]谢箐.计算机辅助设计实用教程[M].电力出版社,2006.
编码结构 篇8
对于高分辨率视频(720p/1 080p),MPEG-4 AVC High profiles中定义的16×16像素的宏块的大小以及4×4像素和8×8像素的帧内预测子宏块的大小显得不够大,一个显而易见的解决方案就是扩大宏块和预测子宏块的尺寸。但是对于更大尺寸的宏块和帧内子宏块,帧内预测又显得并不十分高效,大尺寸的宏块和帧内子宏块会减弱预测的像素与参考像素点之间的相关性。针对这个矛盾,文献[4]提出了一个新的预测算法,这种新的预测算法被称为Node-Cell预测算法,该算法在MPEG-4 AVC中得到应用并被证明十分有效。
本文中,将Node-Cell编码结构与HEVC帧内编码结合起来,为Angular预测模式实现了双线性预测。与原始的Angular预测模式相比,这个编码算法能够为高分辨率视频应用提供更加精准的预测。
1 Node-Cell编码结构
1.1 HEVC帧内编码
HEVC作为最新的视频编码标准,与先前的编码标准中使用一个固定尺寸的宏块,不同的是将每一帧图像分成一个编码树单元(CTU)的集合。每一个编码树单元被图1所示的四叉树结构迭代地分裂成更小的编码单元(CU)。每个编码树单元中的编码单元都扮演一个与H.264/AVC中宏块类似的作用。现时的HEVC HM参考代码定义CTU的最大尺寸为64×64像素。在每个CTU中,一个编码单元可以是以下4种不同尺寸中1种,它们分别是64×64,32×32,16×16,或者8×8像素。其中8×8的编码单元还可以继续分为4个4×4像素点的预测单元。
HEVC HM参考代码中对于每个编码单元的预测模式有35种[5,6],其中33种为图2所示的角度预测,另外两种分别为DC模式和planar模式,本文是对33种角度预测模式做的改进,DC模式和planar模式不变。宏块帧内预测的参考像素点是之前已经重建的相邻宏块的像素点。它们分别是现时编码单元上面的编码单元,在左边的以及左上等,当它距离参考像素点越远,它们之间的相关性也越差,这也使得预测越不准确。所以这也体现了HEVC中引入四叉树编码的重要性,也即自适应地解决了编码单元越来越大带来的预测不准确和越来越多的高清视频为了降低码流需要扩大编码单元之间的矛盾。
1.2 Node-Cell编码单元像素结构
Node-Cell结构中每个编码单元的像素点都分成两种,一种是node像素点,另一种则是cell像素点。node像素尺寸为4×4的编码结构如图3所示。node像素点在图中由灰色点表示,均匀分布在编码单元的所有像素点上,而cell像素点则是除了node像素点的其他像素点。Node像素点的尺寸大小与该编码单元的内容复杂度相关,对于一个大小为32×32的编码单元,node像素点的个数可以是4×4,8×8,16×16,32×32,node像素点越多表明该编码单元内容越多。需要由node重建像素预测的cell像素点,距离其参考node像素点越近,由此也可以得到更加精确的预测插值。node像素点被编码之后,cell像素点由node重建值预测得到,它们共同的残差值分别进行变换编码。
1.3 HEVC框架下的Node-Cell结构
现有的HEVC HM参考代码定义编码树单元(CTU)为最大的64×64像素,且编码单元大小的不确定性,源于HEVC的改变,与此对应,Node-Cell编码模式的node像素点尺寸随着编码单元的不同而不同,可以分别为64×64,32×32,16×16,8×8,以及4×4。对于CTU中固定尺寸的编码单元,只有一部分Node-Cell编码模式适用于此编码单元。表1显示了定义的被用于每种不同尺寸的编码单元的Node-Cell编码模式的子集合。例如,对于16×16像素的编码单元,存在3种不同的Node-Cell编码模式的尺寸,分别是16×16,8×8,以及4×4。有了node像素点,cell像素点则由node像素点的重建值预测得到。
1.4 Rate-Distortion最优解
在帧内预测编码中[7],为了判断最优帧内模式,以下式作为判断依据
式中:Jm表示在帧内模式m的率失真;Dm表示其重建失真度;λ是与量化参数QP相关的拉格朗日算子;Rmc与Rmh的和代表了码率的总和,Rmc是变换系数的码流大小,Rmh包括了宏块头的边信息的大小。因为新增的node像素点的DCT,将基于Node-Cell结构的帧内预测的率失真表示为
式中:k代表下采样子块的次序;K是所有子块的个数。在Node-Cell结构中因为所有的像素点分为node像素点和cell像素点,它们分别做变换编码,所以K=2。另外,对于不同size的LCU块,整个宏块的率失真的总和应该考虑如下
式中:JES表示整个编码单元的率失真;RHES表示宏块头的比特信息,比如帧内预测模式等;U表示帧内预测块的个数,而这由LCU的划分策略有关;DES和RCES(u)分别代表每个做帧内预测的编码单元重建失真和变换参数码流大小。
2 基于Node-Cell结构的HEVC帧内编码
为了将HEVC中原来的Angular预测模式变成双向预测,编码端的预测编码过程最大的不同之处在于预测cell像素点的过程需要得到node像素点的重建值。同时为了使得编码和解码过程中供cell像素点预测的node像素点的重建值值相同,node像素点的残差和cell像素点的残差都需要编码后传输到解码端以保证编解码两端的预测值相同。新增的模式信息表示下采样率,也即决定了node和cell像素点的分布情况,在下采样率为1时所有的像素点均为node像素点,该模式与Angular预测模式相同。在其他任一下采样率情况下,编解码流程图如图4所示。图4略去了node像素点分布以及模式选择等过程,是在node像素点和cell像素点分布确定以及模式选择尚未开始的预测流程图。
1)node像素点预测与编码
高效的node像素点编码会降低了编码的比特流,node像素在CU上均匀分布,如图5a中灰色方块所示,参考像素点是该编码单元上方和左方已编码重建的像素点,即图5a中灰色像素点。预测模式沿用Angular预测,有33个方向预测。
设待预测像素为Px,y,则
式中:Ri表示参考像素行中第i个参考像素;Ri+1表示第i+1个参考像素;wy表示分数精度的参考像素在这两个参考像素间相对应的权值,由移位投影y与预测方向d确定,各预测方向d如图2所示,各方向角的正切值以1/32为单位递增。
得到的残差单独进行编码,编解码端重建后作为cell像素点预测的依据。对于node的残差码流,由于大部分时候它的尺寸总是只有cell像素点的1/2甚至1/4甚至1/8,同时为了降低编码时间,所以不使用四叉树迭代求解变换单元划分,而是直接使用不划分的变换单元,也即直接进行node尺寸大小的DCT变换编码。
2)cell像素点预测与编码
cell像素点的预测同样有33个方向,不同之处在于它的双向插值,参考像素点使用两点内插预测,而不是如node像素点预测那样外推得到。
预测方法大体分为两个步骤完成,步骤1由左边已编码单元和上方已编码单元的重建像素点和本单元已重建node像素点得到cell像素点的预测,为步骤2像素点预测参考像素点。步骤2中预测cell像素点,根据它周围的像素点插值预测出来。图5c展示了cell像素点是怎么使用参考像素点插值得到的。如,在方向17的情况下,待预测像素点o由(3/8×d+5/8×e)和(3/8×l+5/8×k)插值得到,得到的cell像素点残差矩阵作为一个变换单元,选择最优DCT方案进行编码。
解码端过程与编码端相反,先是进行得到的node像素点的系数的反变换,从而得到各像素点的残差值,重建node像素点,得到cell像素点的预测值,再重建cell像素点。
3 实验结果与分析
这种新的Node-Cell编码结构是基于版本HM8.0rc2的HEVC参考代码实现的。考虑到视频中亮度信息占据大部分码率,将Node-Cell结构实现在视频的亮度分量,实验结果也是基于亮度信息。2个Class A视频序列,分别是PeopleOnStreet和Traffic,它们的分辨率是2 560×1 600像素,3个Class B视频序列,分别是Kimono和Parkscene,Tennis,它们的分辨率是1 920×1 080像素,总共5个视频序列被用于测试。图6a、图6b分别展示了2个序列的不同预测模式的RD性能。表2是5个序列在不同QP情况下不同的预测模式组合的RD性能。表3、表4则表示了Tennis,Kimono序列中不同下采样率的比例分布。可以看到随着QP的增大,选择下采样率不为1的比例上升,也即下采样模式比较适用于码率较低的情况。同时视频序列越简单,采用下采样率不为1的概率也会越大。
4 结论
新引入的算法是基于HEVC中的Angular Intra Prediction(AIP)实现的,增加了下采样的模式信息,预测模式增多了。为了更有效提高编码效率,接下来的工作可虑将node像素点的量化与cell像素点的量化独立出来,从而得到更高效的node像素点编码,也可以考虑提高cell像素点的预测精度等。
参考文献
[1]Recommendation ITU-T H.264:Advanced video coding for generic audiovisual services[EB/OL].[2014-01-01].http://www.itu.int/rec/T-REC-H.264/e.
[2]WIEGAND T,SULLIVAN G J,BJONTEGAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE Trans.Circuits and Systems for Video Technology,2003,13(7):560-576.
[3]Richardson I.H.264 and MPEG-4 video compression:video coding for next-generation multimedia[M].New York:Wiley,2003.
[4]JCT-VC.Draft Test Model under Consideration[C]//Proc.2nd JCT-VC Meeting.Geneva:[s.n.],2010:62-63.
[5]JCTVC-HM software[EB/OL].[2014-01-01].http://hevc.kw.bbc.co.uk/git/w/jctvc-hm.git.
[6]ZHENG Dong,WANG Deming,ZHANG Liang.High definition video intra-only coding based on Node-Cell macro-block pixel structure and2-D interleaved DCT[J].IEEE International Conference on Image Processing,2011(9):496-501.
刍议信源编码、信道编码 篇9
实现信息传递所需的一切技术设备和传输媒质的总和称为通信系统, 一个通信系统最基本的部分是信源、信道、新宿, 信息在传递的过程中必然会遇到外界或自身的干扰, 怎样把这些干扰去除掉或者减小, 这就需要我们对信号进行处理。在输入端我们对信源进行处理, 即信源编码, 在传输的过程中, 对信道中的信息进行处理, 即信道编码。可靠性和有效性是衡量通信系统的有效的性能指标, 而这两种性能往往是相互矛盾和相互制约的, 因此必须尽量选择合理的信源编解码和信道编解码方法, 以同时满足系统这两方面的要求。下面我们对信源编码和信道编码进行分析。
2 信源编码
信源编码是指将信号源中的多余部分也即冗余部分的信息去除掉, 从而形成一个适合传输的信号的过程, 信源编码主要包括压缩编码和模拟信号的数字化, 其目的是提高系统传输的有效性。
2.1 压缩编码
压缩编码可以用硬件也可以用软件的方法实现, 软件实现方法就是将压缩算法用软件的形式实现, 软件方法成本低, 使用灵活, 可以随时修改, 但处理速度较慢, 不易保证处理的实时性;采用硬件实现就是将压缩算法固化到专门的芯片上, 这种方法处理速度慢, 不易修改调整, 便于实时处理。
2.2 模拟信号数字化
将模拟信号转化成数字信号的方法有多种:脉冲编码调制PCM、增量调制△M、线性预测编码LPC、自适应脉码增量调制编码ADPCM等。这几种方法的主要依据便是抽样定理:抽样、量化、编码。
3 信道编码
信道编码是指为了减小衰落和抑制信道噪声对信号的干扰, 给信号编码增加冗余的纠、检错码, 或者是把信号编码进行重新排列的过程。信道编码主要包括差错控制编码和交织技术, 其目的是保证系统传输的可靠性。
3.1 差错控制编码
在实际信道传输数字信号的过程中, 引起传输差错的根本原因在于信道内存在的噪声以及信道传输特性不理想所造成的码间串扰。为了提高传输系统的可靠性, 就需要采用差错控制编码, 对已经出现的差错进行控制修正。差错控制编码是在信息序列上附加一些监督码元, 利用这些冗余的监督码元, 使原来不规律的或规律性不强的原始数字信号变为有规律的数字信号, 差错控制译码利用这些规律性来鉴别传输过程中发生的错误, 以便纠正错误。
3.2 差错控制编码的分类
按照信道编码的功能, 差错控制编码分为纠错码和检错码;按照信息码元和监督码元的检验关系, 将差错控制编码分为线性码和非线性码;按照信息码元和监督码元的监督关系, 将差错控制编码分为分组码和卷积码等。
3.3 差错控制方式
差错控制方式常用到的有三种:前向纠错FEC、检错重发ARQ、混合纠错HEC。下面将对这三种差错控制方式进行介绍。
3.3.1 前向纠错
采用前向纠错时, 在发射端经过信源编码的信息在进入信道后经信道编码, 使其发出的码字具有一定的检纠错能力, 到达接收端进行译码时, 不仅会发现传输中的错误, 还可以将这些错误进行纠正。纠错能力是通过增加冗余码元来实现的, 因此它降低了系统传输的效率;还有在接收端是对接收的码元进行了检错和纠错, 但纠正的码字是否正确就不好把握了。但是, 这种差错控制方式不用反馈, 其实时性较好, 因此这种方式用在单工信道中, 比如以前我们使用的无线电寻呼系统中。
3.3.2 检错重发
检查重发时, 在发射端经过信源编码的信息在进入信道后经信道编码, 使其具有一定的检错能力, 但无纠错能力, 接收端在收到这些码字后进行译码, 在译码的过程中它发现错误但不能对错误进行纠正, 它会通过反馈信息把这一判断结果反馈给发送端, 发送端收到反馈信息, 就会对刚才发射的信息进行重发, 直至接收端认为接收的码字已经正确。这种差错控制方式不能工作于单工通道, 而且控制系统比较复杂, 不适合大干扰的信道, 因为在大干扰信道, 有可能整个系统处于反馈和重发循环当中, 这就降低了系统的效率, 但这种编码需要的冗余码少, 有一定的自适应能力, 且复杂性比前向纠错要低很多。
3.3.3 混合纠错
混合纠错方式是对前向纠错和检错重发方式的结合, 在这种方式中, 在发射端经过信源编码的信息进入信道中, 经过一系列的信道编码, 这些码字具有一定的检错和纠错能力, 到达接收端译码时, 系统先检查错误, 如果有错误便对错误进行纠正, 如果检查出的错误超出了系统的纠错能力, 系统可以通过反馈信息要求发送端进行重发。这种控制方式实时性和译码复杂性是前线纠错和检错重发的折中。
4 交织技术
差错控制编码只能检查和纠正随机比特的错误或连续有限个比特的错误, 当产生的错误为非随机性或者发生连串的错误时, 就必须在差错控制编码的基础上加上交织技术。
交织技术的基本原理是将已经编码的信号比特按一定规律进行重排, 这样, 即使在传输过程中发生了连串的错误, 经过重排将这些错误分散化, 再利用信道解码的纠错功能纠正错误, 最终恢复出原始信号。
下面我们结合实例, 来分析交织技术:
假设我们要传递这样的一则消息:we will hold a meeting this evening.如果不进行交织技术, 在强干扰信道中发生连串的错误, 到达接收端我们便没有办法对信息进行恢复, 但如果我们将这段包括空格在内的36个字符进行重排, 分成六组, 取出六组中的第一个字符, 共六个字符, 将这六个字符结合在一起形成一个新的组合, 编号为1, 用同样的方法依次取出六组中的第二个、第三个、第四个、第五个、第六个字符, 并编号为2、3、4、5、6, 最后, 我们把新组合按顺序重新排列起来, 进行发送, 这样就把连串的错误分散到不同的分组, 在接收端进行去交织, 便可恢复原始信息。将传输错误率降低。
5 结束语
信源编码主要利用信源的统计特性, 解决信源的相关性, 去掉信源冗余信息, 从而达到压缩信源输出的信息率, 提高系统的有效性;信道编码为了保证通信系统的传输可靠性, 克服信道中的噪声和干扰的, 信道编码的目的是试图以最少的监督码元为代价, 以换取最大程度的可靠性的提高。要想有良好的通信质量必须兼顾有效性和可靠性。
参考文献
[1]池秀清.信源编码与信道编码[J].科技情报开发与经济, 2001 (06) :71-72.
[2]张会生.现代通信系统原理[M].北京:高等教育家出版社, 2009.
[3]樊昌信, 通信原理[M].北京:国防工业出版社, 2013.
编码结构 篇10
陈竺介绍, 城乡居民健康档案的服务对象是城乡辖区内常住居民, 包括居住半年以上的户籍和非户籍居民, 以0—6岁儿童、孕产妇、老年人、慢性病患者和重型精神疾病患者等人群为重点。会上, 陈竺表示, 2011年居民电子健康档案的建档率要达到50%, 高血压和糖尿病患者健康管理人数分别要达到4500万人和1500万人。
今后, 居民的电子健康档案中还可增加健康评估、健康指导等功能, 跟踪健康状况走势。
记者从会上获悉, 国家将统一为居民健康档案进行编码, 采用17位编码制, 同时将建档居民的身份证号作为统一的身份识别码, 为在信息平台下实现资源共享奠定基础。
17位编码制怎么编?
第一段为6位数字, 表示县以及县以上的行政区划, 统一使用《中华人民共和国行政区划代码》 (GB2260) ;第二段为3位数字, 表示乡镇 (街道) 级行政区划, 按照国家标准《县以下行政区划代码编码规则》 (GB/T10114-2003) ;第三段为3位数字, 表示村 (居) 民委员会等, 具体划分为:001—099表示居委会, 101—199表示村委会, 901—999表示其他组织;第四段为5位数字, 表示居民个人序号, 由建档机构根据建档顺序编制。
居民健康档案的内容包括个人基本信息、健康体检、重点人群健康管理记录和其他医疗卫生服务记录。
电子信息能够更方便快捷地融入医疗卫生机构日常诊疗工作之中, 一方录入, 多方使用, 各种记录的标准化和数字化, 实现医疗机构、患者/常人、卫生管理部门之间的信息共享。
2011年8月底, 河道治理、道路抢通、农房重建等工作有序开展, 绵竹市“8.13”前线指挥部完成了历史使命, 在这期间指挥部形成了大量弥足珍贵的文字资料、电子文件、图片、照片和视频, 为了永久妥善保存这部分史料, 为今后研究总结抗击自然灾害提供宝贵的素材, 2011年9月13日, 绵竹市“8.13”前线指挥部慎重地将这批档案资料移交市档案馆保存。