编码方法,解码方法,编码装置以及解码装置.pdf

上传人:1** 文档编号:1340276 上传时间:2018-04-16 格式:PDF 页数:90 大小:2.38MB
返回 下载 相关 举报
摘要
申请专利号:

CN98800079.2

申请日:

1998.01.14

公开号:

CN1216198A

公开日:

1999.05.05

当前法律状态:

终止

有效性:

无权

法律详情:

专利权有效期届满IPC(主分类):H04N 7/26申请日:19980114授权公告日:20041124|||授权||||||公开

IPC分类号:

H04N7/26

主分类号:

H04N7/26

申请人:

三菱电机株式会社;

发明人:

木村智広; 吉田雅之; 小野文孝

地址:

日本东京都

优先权:

1997.01.29 JP 15536/97

专利代理机构:

中国专利代理(香港)有限公司

代理人:

王勇;叶恺东

PDF下载: PDF下载
内容摘要

对应于状态编号,在MPS表49中确定预测值,根据STATE表47求出对于关注像素的状态编号,使用该求出的状态编号从MPS表49决定预测值,像素代码变换器16在比较该预测值和关注像素,求出代码的同时,使用对于上述关注像素的状态编号从LSZ表12求出LPS区间,算术编码器19根据上述代码和LPS区间进行编码。

权利要求书

1: 一种编码装置,其特征在于具有 存储由像素构成的图像数据,在输出成为要编码对象的关注像素 的同时,输出根据其接近于关注像素的参考像素构成的上下文的图像 存储器; 从上述图象存储器输入关注像素和上下文,从上下文求出对于关 注像素的状态,从所求出的状态求出对于关注像素的预测值,根据求 出的预测值把关注像素进行编码的编码单元。
2: 如权利要求1所述的编码装置,其特征在于 上述编码单元具有 对应用于上下文,把对于关注像素的状态作为变量进行存储,从 图像存储器输入上下文,并输出对于关注像素的状态的变量表; 对应于状态把区间宽度和预测值作为常数进行存储,从变量表输 入对于关注像素的状态,输出对于关注像素的区间宽度和对于关注像 素的预测值的常数表; 从图像存储器输入关注像素,从常数表输入预测值,把关注像素 和预测值进行比较,把关注像素变换为代码并进行输出的像素代码变 换器; 从常数表输入对于关注像素的区间宽度,从像素代码变换器输入 代码,根据区间宽度,把代码进行编码并进行输出的编码器。
3: 如权利要求2所述的编码装置,其特征在于 上述变量表具有把对于关注像素的预测值与把其预测值与关注像 素的一致概率的程度进行分类的值组合起来作为状态存储的状态表。
4: 如权利要求3所述的编码装置,其特征在于 上述常数表具有把存储在状态表中的状态作为索引,输出预测值 的预测值表。
5: 如权利要求3所述的编码装置,其特征在于 上述状态表通过在预定的位存储配置了预测值的状态,把状态表 的配置了预测值的预定位作为常数表的一部分兼用。
6: 如权利要求5所述的编码装置,其特征在于 上述状态表存储在高位和低位的任一个位配置了预测值的状态。
7: 如权利要求5所述的编码装置,其特征在于 上述常数表在把存储在状态表中的状态作为索引的同时,具有存 储了成为用于使状态表的状态转移的转移目标的状态的转移表,上述 编码单元具有通过使状态表的状态转移更新该转移目标的状态的预测 值的更新处理器。
8: 如权利要求1所述的编码装置,其特征在于 上述编码装置存在于电子计算机,扫描仪,传真机,打印机,数 据库和半导体芯片的任一种内。
9: 一种解码装置,其特征在于具有 输入并存储被解码了的像素,输出根据接近成为解码对象的关注 像素的参考像素构成的上下文的图像存储器; 输入编码的同时,从上述图像存储器输入上下文,从上下文求出 对于关注像素的状态,从求出的状态求出对于关注像素的预测值,根 据求出的预测值从编码把关注像素进行解码的解码单元。
10: 如权利要求9所述的解码装置,其特征在于 上述解码单元具有 对应于上下文,把对于关注像素的状态作为变量进行存储,从图 像存储器输入上下文,输出对于关注像素的状态的变量表; 对应于状态,把区间宽度和预测值作为常数进行存储,从变量表 输入对于关注像素的状态,输出对于关注像素的区间宽度和对于关注 像素的预测值以及非预测值的某一个的常数表; 从常数表输入对于关注像素的区间宽度,把编码解码为代码后进 行输出的解码器; 从常数表参考预测值和非预测值中的某一个,把代码变换为关注 像素并输出到图像存储器的代码像素变换器。
11: 如权利要求10所述的解码装置,其特征在于 上述变量表具有把对于关注像素的预测值与把其预测值和关注像 素的一致概率的程度分类了的值进行组合作为状态进行存储的状态 表。
12: 如权利要求11所述的解码装置,其特征在于 上述常数表具有把存储在状态表中的状态作为索引,输出预测值 的预测值表。
13: 如权利要求11所述的解码装置,其特征在于 上述状态表通过在预定的行存储配置了预定值的状态,把状态表 的配置了预测值的预定的位作为常数表的一部分兼用。
14: 如权利要求13所述的解码装置,其特征在于 上述状态表存储在高位和低位的任一位配置了预测值的状态。
15: 如权利要求13所述的解码装置,其特征在于 上述常数表在把存储在状态表中的状态作为索引的同时,具有存 储成为用于使状态表的状态转移的转移目标的状态的转移表,上述解 码单元具有通过使状态表的状态转移更新该转移目标的状态的预测值 的更新处理器。
16: 如权利要求9所述的解码装置,其特征在于 上述解码装置存在于电子计算机,扫描仪,传真机,打印机,数 据库,半导体芯片的任一种内。
17: 一种编码方法,从接近于成为要编码对象的像素(关注像素) 的多个参考像素生成上下文,根据该上下文求出预测了关注像素的像 素值的预测值和表示该预测值的预测一致概率程度的状态编号,根据 求出的预测值和状态编号进行关注像素的编码,其特征在于,具有 对应于上述状态编号,预先确定并存储上述预测值的步骤; 求出对于关注像素的状态编号的步骤; 从该求出的状态编号决定预测值的步骤; 比较该预测值和关注像素,求出代码的步骤; 从对于上述关注像素的状态编号求出区间的步骤; 根据上述代码和区间进行编码的步骤。
18: 如权利要求17所述的编码方法,其特征在于 还具有从通过状态转移处理所管理的状态间接地参考预测值的步 骤。
19: 一种解码方法,从接近于成为要解码对象的像素(关注像素) 的多个参考像素生成上下文,根据该上下文求出预测了关注像素的像 素值的预测值和表示该预测值的预测一致概率程度的状态编号,根据 求出的预测值和状态编号进行关注像素的解码,其特征在于,具有 对应于上述状态编号,预先确定并存储上述预测值的步骤; 求出对于关注像素的状态编号的步骤;     从该求出的状态编号决定预测值的步骤; 从对于上述关注像素的状态编号求出区间的步骤; 输入编码,根据区间进行解码并输出代码的步骤; 从该预测值和代码求出关注像素的步骤。
20: 如权利要求19所述的解码方法,其特征在于, 还具有从通过状态转移处理所管理的状态间接地参考预测值的步 骤。
21: 一种编码方法,从接近于成为要编码对象的像素(关注像素) 的多个参考像素生成上下文,根据该上下文求出表示关注像素的出现 频率高的像素值的预测值和把该预测值的预测一致概率程度分类的状 态编号,根据求出的预测值和状态编号进行关注像素的编码,其特征 在于,具有 对应于上述状态编号,进行预先把上述预测值常数化的扩展的步 骤; 通过求出对应于关注像素的状态编号,从该求出的状态编号单值 地决定预测值的步骤; 伴随着像素的出现频度的变化,更新对于上述上下文的上述状态 编号的步骤; 通过这些步骤,在统一地管理状态编号和预测值的同时进行编码。
22: 一种解码方法,从接近于成为要解码对象的像素(关注像素) 的多个参考像素生成上下文,根据该上下文求出表示关注像素的出现 频率高的像素值的预测值和把该预测值的预测一致概率程度分类的状 态编号,根据求出的预测值和状态编号进行关注像素的解码,其特征 在于,具有 对应于上述状态编号,进行预先把上述预测值常数化的扩展的步 骤; 通过求出对于关注像素的状态编号,从该求出的状态编号单值地 决定预测值的步骤; 伴随着像素的出现频度的变化,更新对于上述上下文的上述状态 编号的步骤, 通过进行这些步骤,在统一地管理状态编号和预测值的同时进行 解码。

说明书


编码方法,解码方法,编码装置以及解码装置

    【技术领域】

    本发明涉及图像信息等的图像编码以及图像解码。

    背景技术

    关于马尔科夫信源编码,已知有在数轴上把代码序列在0.0到1.0之间进行变址(映射),将其坐标表示为例如二进制的代码作为码字进行编码的数轴显示编码方式(算术编码方式)。

    图1是其概念图。为简单起见,示出把2值代码“1”和“0”取为从不依赖于过去的出现状态的无记忆状态随机输出的代码,把代码“1”的出现概率设为r,把“0”的出现概率设为r-1,把对于代码“1”的范围配置在下方的情况。如果取无记忆信源的输出序列长度为3,把右端的C(000)~C(111)的各个坐标表示为二进制数,并且如果以直到建立了区别的行进行切断作为各个码字则在接收侧能够根据通过与发送侧相同的过程进行解码。

    在这样的序列中,如果设映射范围的初始值A0=1.0,其最小坐标C0=0.0,出现的符号值a1为“0”,则在第i时刻的符号序列向数轴上的映射范围Ai,其映射范围Ai地最小坐标Ci为

    Ai=(1-r)Ai-1

    Ci=Ci-1+rAi-1

    出现的符号值aI为“1”时则成为

    Ai=rAi-1

    Ci=Ci-1

    进而,如在An overview of the basic principles of the Q-coder Adaptive binary arithmetic coder (IBM Journal of Research& Development Vol.32 No.6 Nov.1988)记载的那样为节省成为运算负担的乘法等的运算次数,不运算rAi-1,而准备设置了多个固定值S的表,通过采取从该表中选择与马尔科夫状态对应的值的方法,能够以有限精度实现编码,解码。

    因此,如果顺序反复进行映射,则由于范围(区间)Ai-1逐渐地减小,因此进行归一化处理(例如把Ai-1取2的幂并保持在一定的值以上),使得通过再次设定假设小数点保持假设小数点以下的运算精度,在实际的码字中上述固定值能够始终使用相同的值。

    这里,如果把rAi-1近似为S,则上述的公式分别如下。ai为“0”时,成为

    Ai=Ai-1-S

    Ci=Ci-1+S

    ai为“1”时,成为

    Ai=S

    Ci=Ci-1

    这里,原本,至前一代码为止的范围(区间)Ai-1由于随着反复进行映射,逐渐减小,所以S也需要逐渐减小。减小S的工作具体地通过以位移动作取2的幂分之1实现。然而,由于把S减小下去只是在其高位比特上增加与直接运算无关的0,所以可以考虑与次相反通过把Ai-1乘以2的幂,把Ai-1保持在最小值(1/2)以上,使用一定值的S。其称为归一化处理。

    另外,在下述中把代码ai为“0”的情况设为MPS(优势代码:出现概率较高的代码),“1”的情况设为LPS(劣势代码:出现概率较低的代码)。即,事先进行预测变换处理,设想出现概率高则用MPS表现,设想出现概率低则用LPS表现。另外,上述的代码ai为“1”时的范围

    Ai=rAi-1=S

    成为劣势代码的范围(区间)。

    另外,图2是示出现有的编码装置中编码器一例的框图,图中,1是暂存分配到前一代码中的范围(区间)的值的寄存器,2是减法器,3是范围(区间)的切换器,4是坐标的切换器,5是决定由归一化处理进行的移位量的移位器,6是运算编码输出的运算器。

    其次根据附图说明其工作。

    如果在未图示的预测估值单元中输入了从马尔科夫信源的状态根据具有多个值的表选择的S(劣势代码范围(区间)),则减法器2求出与存储在寄存器1中的前一代码的范围(区间)Ai-1的差(Ai-1-S)并进行输出。

    在优势代码中分配的范围(区间)(Ai-1-S)和在劣势代码中分配的范围(区间)S输入到切换器3中,根据代码是优势代码还是劣势代码进行切换。即,如果代码是优势代码则把在代码中分配的范围(区间)Ai作为

    Ai=Ai-1-S

    进行输出,如果是劣势代码则把在代码中分配的范围(区间)作为

    Ai=S

    进行输出。

    另外,在切换器4中,根据优势代码或者劣势代码输入的劣势代码范围(区间)S或者固定值0的某一个作为对于在前一代码中分配的范围(区间)Ai-1的最小坐标Ci-1的差分坐标ΔC进行输出。即,如果在高位配置的是优势代码则把差分坐标作为

    ΔC=S

    进行输出,如果在低位配置的是劣势代码则把差分坐标作为

    ΔC=O

    进行输出。

    切换器3的输出传送到寄存器1以及移位器5中。

    在寄存器1中存储对于代码ai分配的范围(区间)Ai,成为下一个代码的范围(区间)算出的数据。在移位器5中把被输入的范围(区间)Ai与1/2进行比较,小于1/2时把范围(区间)Ai扩大2倍后再次与1/2进行比较,反复进行扩大2倍的动作直到范围(区间)Ai超过1/2。接着,求出范围(区间)Ai直到超过1/2的扩大次数1,作为坐标的移位量1输出到寄存器1以及运算单元6中。接着,运算单元6把切换器4以及移位器5的输出作为输入进行码字的运算并且进行输出。在运算单元6中累加并存储着来自过去的差分坐标,即,该累加了的值与分配到前一代码中的范围(区间)的最小坐标Ci-1相等。输入差分坐标ΔC加入到前一个代码的最小坐标Ci-1上,得到当前代码的分配范围(区间)的最小坐标Ci。使该最小坐标Ci仅移动位移量1(比特),并从有效范围的最大坐标的最高位开始顺序地检查是否有一致的部分。如果有一致的部分(位)则把该部分作为确定坐标比特即码字进行输出。

    其次,详细地说明一般的算术编码装置和算术解码装置。

    使用了算术编码解码的编码装置(Encoder)解码装置(Decoder)可以通过在ITU-T的国际推荐标准T.82中所述的表以及处理流程实现。以下,把该算术编码方式称为QM-Coder,把该编码装置称为QM编码器7,把该解码装置称为QM解码器8,图3,图4中示出其编码装置,解码装置的概略结构。另外,在QM-Coder情况下,与图1相反,在数轴上把对于LPS(代码“1”)的范围配置在上方。

    图3中,9是存储输入图像的图像存储器,10是把出现概率高的像素MPS(More Probable Symbol:优势代码)作为预测值存储的各1比特的预测值表(MPS表),11是把预测值的预测一致概率的程度分类为总计113种状态(State)的状态编号(0~112)的各7比特的状态表(ST表),12是用16比特表示LPS区间宽度的LPS区间宽度表(LSZ表),13是用7比特表示MPS状态转移目标的状态的MPS状态转移目标表(NMPS表),14是用7比特表示LPS状态转移目标的状态的LPS状态转移目标表(NLPS表),15是用1比特表示把MPS表10的预测值反转后的预测反转判定表(SWTCH表),16是输入来自上述MPS表10的预测值和来自上述图像存储器9的像素PIX输出代码的像素代码变换器,17、18是把上述MPS表10和ST表11的值进行更新的更新处理器,19是算术编码器。

    另外,把上述MPS表10和ST表11作为变量表。把上述LSZ表12,NMPS表13,MLPS表14,SWTCH表15作为常数表(概率推断表)。

    其次,根据图3说明编码装置的动作。

    图3中,QM编码器7的输入有2个,第1输入是上下文(Context),第2输入是编码像素。输出是符号。

    图像存储器9存储图像,对于成为编码对象的像素(Pixel)生成用模型模板(Model Template)指定的近邻的编码/解码完毕的10像素的作为参考图形的上下文(10比特。总数1024=210)。另外,在编码的同时输出编码对象像素。在QM-Coder中,准备着用于生成上下文的图5所示的2行以及3行标准模型模板。

    在QM-Coder中在各个对于编码对象像素的上下文推断像素值的预测一致概率,伴随着其变动在学习的同时进行编码。学习通过改写图40、图41所示的以上下文为索引的2个变量表(对应于上下文用1比特表示预测值的MPS表10,对应于上下文用7比特表示状态的ST表11)进行。

    除去变量表以外,在编码时还存在以状态编号(状态)作为索引而参考的常数表(概率推断表)。图42中示出其设定值。另外,在上述图42以及后述一部分的处理流程中例如「0×8000」的前缀“0×”是16进制数。图42示出把LPS区间宽度用16比特的LSZ值表示的LSZ表12,把MPS状态转移目标的状态用7比特的NMPS值表示的NMPS表13,把LPS状态转移目标的状态用7比特的NLPS值表示的NLPS表14,把预测值反转用1比特的SWTCH值表示的SWTCH表15。(这里示出的英文变量、常数表名称作为在后述的处理流程中使用的排列名。)

    LSZ表12的LPS区间宽度在算术编码器19内的未图示的运算单元内进行参考,与适应预测的学习没有直接关系。在算术编码器19的内部使用LSZ进行运算,在运算精度降低时进行归一化处理(重整:Renormalize)。在进行归一化处理时同时进行学习。

    发生了归一化处理时的编码代码如果是MPS,则把NMPS表13的NMPS值写入到ST表11,如果是LPS则把NLPS表14的NLPS值写入到ST表11中(通过改写与上下文对应的状态),由此使状态转移。在编码的时候像素代码变换器16把代码输出到算术编码器19以及更新处理器17、18中。

    另外,在归一化处理是由LPS进行时,如果其预测一致概率小于约1/2,则使MPS值反转(运算「1-MPS」)写入到MPS表10中。一致概率是否小于约1/2,可以通过把SWTCH表15的SWTCH值作为标志进行判定。

    即,对于预测一致概率成为大约1/2的状态把SWTCH表15的SWTCH值设定为“1”,对于其它的状态把SWTCH表15的SWTCH值设定为“0”,把SWTCH表15的SWTCH值作为把预测值反转的标志。

    这样,对于ST表11以及MPS表10必须分别进行更新处理,并进行个别的管理。图3中,ST表11以及MPS表10的各更新处理器17、18通过确定更新值,改写表值进行更新处理。

    图6是基于图42的QM-Coder的状态转移图(由于状态数多达113个因此仅示出一部分)。各方框示出一种状态,其内部数字示出状态编号(括号内用16进制数表述)。标注「MPS」的箭头是基于MPS的(而且,进行归一化处理时的)状态转移,标注「LPS」的箭头是基于LPS的状态转移。基于MPS、LPS的状态的转移目标的状态基于NMPS表13,NLPS表14的值。标注下划线的LPS状态转移的SWTCH表15的SWTCH值是“1”,伴随着预测值的反转。

    示出状态转移的例子。在编码处理开始时,例如,如图43和图44所示那样,对于所有的上下文初始化为「状态=0,预测值=0」。这里,为了简化说明,仅以对于多个连续像素的上下文CX连续并取相同值(例如CX=1)的情况说明状态转移。在编码处理过程中,对于上下文CX的状态编号可以用ST[CX],预测值用MPS[CX]从变量表进行参考。作为第1代码如果出现劣势代码LPS,则状态ST[CX]从0转移到1。基于实际的LPS的转移目标示出为

    NLPS[ST[CX](=0)]=1

    如图45所示,把ST表11的ST[CX]的值更新为

    ST[CX]=1

    这时

    SWTCH[ST[CX](=0)]=1

    由于是(图中,标注下划线「LPS」)所以同时更新预测值。即,如图46所示那样,MPS表10的MPS[CX]成为从0到1(反转值)。如果第2代码也是劣势代码LPS,则转移目标成为

    NLPS[ST[CX](=1)]=14

    如图47所示那样,把ST表11的ST[CX]的值更新为

    ST[CX]=14

    这时由于

    SWTCH[ST[CX](=1)]=0

    因此不需要MPS表10的预测值更新。如果第3代码是优势代码MPS,则仅在进行归一化处理时使状态转移。在说明上,如果假设有转移,则转移目标成为

    NMPS[ST[CX](=1)]=15

    如图48所示那样,把ST表11的ST[CX]的值更新为

    ST[CX]=15

    在图中用[***]表示这里所说明的状态转移。另外,对于上述状态转移在解码中也相同。

    在说明编码处理流程之前,在图7中示出算术编码器19中所设置的编码寄存器20以及区间宽度寄存器21的比特配置。

    在编码寄存器20中,bit15和bit16之间设定小数点,“×”(16比特)是对于LSZ表12的运算单元(C×22),在有进位时向更高位传送。“s”(3比特)是暗帧比特单元(Cs23),“b”(8比特)是字节输出单元(Cb24),“c”(1比特)是进位判断单元(Cc25)。在编码过程中,编码寄存器20的寄存器值被进行更新使得成为对应于编码了的代码的区间的下限值。

    区间宽度寄存器21对应于编码寄存器20的小数点,与“×”寄存部位相符合,把“a”(16比特)配置为小数部分,仅初始状态值的整数部分(bit16)成为“1”。区间宽度(也称为区间尺寸)更新为A-LSZ(下方区间宽度)或者LSZ(上方区间宽度),除去初始值(整数部分=1)之外表示1/2的权值的bit15被归一化为“1”,通过保持为大于1/2,作为上方区间宽度即使从LSZ表12选择任一个LSZ也能够确保下方区间。在归一化处理中,同时扩大(移位)区间宽度寄存器21和编码寄存器20。

    在QM-Coder中,从对于状态成为固定尺寸的LSZ表12提供的上方区间LSZ值通常分配到LPS中,但在下方区间小于上方区间时进行分配到MPS中的「附加条件MPS/LPS交换」。在把LPS进行编码时,以及使用「附加条件MPS/LPS交换」把MPS进行编码时进行归一化处理。

    根据该寄存器的比特配置,说明编码处理流程。处理流程中的用语[层]是分层编码时的[(分辨率)层],[边缘]意味以N行单位(仅最终边缘在N行以下)把图像分开的[短笺]。这里,取层数=1进行说明,然而并不妨碍向多层编码的扩展。

    为了说明编码处理流程,除在图3,图7,图42说明了的变量,表,寄存器以外,使用下面的辅助变量CT26,BUFFER27,SC28,TEMP29。CT26是用于计数根据归一化处理实施的编码寄存器20以及区间宽度寄存器21的移位数,在值成为0时进行下一个编码字节输出的辅助变量。BUFFER27是存储从编码寄存器20输出的编码字节值的辅助变量。SC28是仅在编码时使用的,在从编码寄存器20输出的编码字节值是0×ff时计数其连续数的辅助变量。TEMP29是仅在编码时使用的,检测向BUFFER27的进位,并在进位处理后把其低位8比特作为新的BUFFER27值的辅助变量。从编码寄存器20经过TEMP29所设定的BUFFER27不进行进位处理就不成为0×ff,由于在该时刻如果有从编码寄存器20向高位的进位就变更低位的,即BUFFER27以及SC个0×ff,因此作为编码即使从编码寄存器20进行了输出也不能够从BUFFER27进行确定。

    图8是示出编码处理总体流程的ENCODER处理流程。由于关于位于推荐T.82的本处理流程中的TP(Typical Prediction)以及DP(Deterministic Prediction)的处理与本发明以及现有例没有直接的关系因此省略。首先,在S101中调用INITENC,进行编码处理的初始化。在S102中各读出1组像素PIX和上下文CX,在S103中使用编码装置(ENCODE)进行编码。在S104中反复进行S102以及S103的处理直到结束边缘(或图像),当结束时,在S105中调用FLUSH进行编码处理的后处理。

    图9是根据编码对象像素值(PIX)和来自MPS表10的输出值(预测值)的一致·不一致切换调用处理的ENCODE处理流程。在S111中判断像素值和预测值的一致·不一致,如果一致,则把MPS编码,如果不一致则把LPS编码。在S113中调用CODEMPS把MPS进行编码,在S112中调用CODELPS把LPS进行编码。

    图10是当编码对象像素值(PIX)和来自MPS表10的输出值(预测值)不一致时,即把LPS编码时所调用的CODELPS处理流程。首先,在S121中暂时把区间宽度寄存器21的值更新为下方区间宽度。在S122中如果比较MPS的区间和LPS的区间的S122的判定是是,则适用附加条件MPS/LPS交换,为了把下方区间进行编码区间宽度寄存器21不进行改变,编码寄存器20A不更新。如果S122的判定是否,则把上方区间进行编码,在S123中更新作为区间下限值的编码寄存器20,在S124中更新作为区间宽度的区间宽度寄存器21。如果在S125的判定中SWTCH表15的常数SWTCH值是1,则在S126中进行预测值(MPS表10)的反转·更新。在LPS编码中,在S127中进行基于参照NLPS表14的状态转移,在S128中调用RENORME进行归一化处理。

    图11是当编码对象像素值(PIX)和来自MPS表10的输出值(预测值)一致时,即把MPS进行编码时所调用的CODEMPS处理流程。首先,在S131中暂时把区间宽度寄存器21的值更新为下方区间宽度。在S132中,「0×8000」示出用于判定是否进行归一化处理的区间宽度的最小值(1/2的权值)。如果S132的判定是否,则直接结束CODEMPS处理。如果S132的判定是是,则必须在S136中进行基于参照NMPS表13的状态转移,在S137中调用RE否RME进行归一化处理。在S136以及S137之前,如果S133的判定是是,则由于把下方区间进行编码因此区间宽度寄存器21不改变,编码寄存器20不更新。如果S133的判定是否,则适用附加条件MPS/LPS交换,把上方区间进行编码,在S134中更新编码寄存器20,在S135中更新区间宽度寄存器21。

    图12是进行归一化处理的RENORME处理流程。图中,“<<1”表示把寄存器的值向高位移位1比特。通过在S141中,把区间宽度寄存器21,在S142中把编码寄存器20分别向高位移位1比特进行与2倍的乘法运算等价的运算。在S143中从变量CT22减1,在S144中判断变量CT26是否为0,如果判定是是则在S145中调用BYTEOUT处理从编码寄存器20输出1字节的编码。S146的判定是预先进行归一化处理的结束判定,如果区间宽度寄存器21小于0×8000,则反复进行从S141到S145的处理,如果大于0×8000,则区间成为大于1/2而结束。

    图13是从编码寄存器20各输出1字节编码的BYTEOUT处理流程。图中,“>>19”表示把寄存器的值向低位移位19比特。输出的字节是编码寄存器20的字节输出单元(Cb24)。用于判定进位的进位判定单元(Cc25)也同时进行处理。在S151中在变量TEMP29中设定编码寄存器20的值(Cb24)以及编码寄存器21的值(Cc25)的总计9比特。在S152中当有进位时

    TEMP>0×100:Cc=1

    在没有进位时,在S159中,分为是0×ff的情况和小于0×ff的情况处理字节输出。S152的判定是是的情况下,把已经从编码寄存器20输出完毕的编码在S153中确定为在BUFFER27的值上加入了进位1的值,在S154中把SC个字节值0(存储着的0×ff根据进位的传送成为0×00)的总计SC+1字节确定为传送了进位的编码值。在S155中把变量SC28取为0,在S156中在变量BUFFER27中设定变量TEMP的低位8比特。图中,“&”表示逻辑积运算。在S157中清除作为变量TEMP29处理了的编码寄存器20的(Cc25),(Cb24),在S158中为了处理8比特直到下一输出为止而在变量CT26中设定8。S159的判定是是的情况下,不能够确定编码,在变量SC28中加1并存储0×ff。在S159的判定是否的情况下,把已经从编码寄存器20输出完毕的编码在S153中确定为BUFFER值,在S154中SC个字节值0×ff的总计SC+1字节确定为编码值。在S163中把变量SC28取为0,在S164中在变量BUFFER27中设定变量TEMP29(由于没有进位因此仍然是8比特)。

    图14是设定编码开始时的ST表11,MPS表10以及各变量的初始值的INITENC处理流程。S171的「该层的第1边缘」在不具有层以及边缘概念的情况下意味着「图像」,在图像编码开始的时候执行该INITENC。在由多边缘构成的图像的情况下,不按照各边缘把变量表进行初始化也能够连续地进行处理。在S171中,判断是该层像素的第1边缘或是把表强制复位。如果S171的判断是是,则在S172中对于所有的上下文CX2把作为变量表的ST表11,MPS表10进行初始化。在S173中把SC28,在S174中把区间宽度寄存器21的值,在S175中把编码寄存器20,在S176中把变量CT26分别初始化。变量CT26的初始化值是编码寄存器20的(Cb24)的比特数和(Cs23)的比特数之和,处理了11比特时进行最初的编码输出。S171的判定是否的情况下,在S177中不进行变量表初始化,再次设定相同层的前一个边缘终端的表值。

    图15是进行包括在编码结束时清除残留在编码寄存器20中的值的处理在内的后处理的FLUSH处理流程。在S181中调用CLEARBITS把残留在编码寄存器20中的编码的有效位数取为最小。在S182中调用FINALWRITES最终输出变量BUFFER27,SC28以及编码器存器20的编码。在S183中编码的第1字节由于变量BUFFER27先于编码寄存器20值的输出(作为整数部分)而输出因此被清除。在S184中编码由于是最终有效区间内的小数坐标,所以如果需要则能够在终端连续地清除字节0×00。

    图16是进行用于把编码结束时的编码的有效位数取为最小的处理的CLEARBITS处理流程。由此,编码在终端尽可能取0×00连续的值。S191中作为变量TEMP29设定为清除了编码寄存器20的最终有效区间的上限值的低位字节(C×22)的值。在S192中比较清除了上限值的低位2字节的值和编码寄存器20的值的大小。如果S192的判定是是,则在S193中恢复在变量TEMP29中已经清除过的部分作为编码寄存器20的值。如果S192的判定是否,则把变量TEMP29的值直接作为编码寄存器20的值。

    图17是写出在编码结束时刻确定了的编码直到残留在编码寄存器20中的值为止的FINALWRITES处理流程。在S201中使判定把C寄存器仅移位用变量CT26表示的比特数后的编码输出以及进位成为可能。在S202中判定有无进位。如果S202的判定是是则有进位,如果是否则没有进位。与BYTEOUT处理流程相同,确定从编码寄存器20输出完毕的SC+1字节的编码,这些编码在S203,S204中取有进位的编码值,在S207,S208中取没有进位的编码值。在S205中输出编码寄存器的(Cb24)值(1字节),在S206中输出其低位1字节,结束编码输出。

    其次,说明解码装置及该装置的解码处理方法。

    图4中,9是存储输入图像的图像存储器,10是把出现概率高的像素值MPS(More Probable Symbol:优势代码)作为预测值进行存储的各1比特的MPS表,11是存储把预测值的预测一致概率的程度分类为总共113种状态(State)的状态编号(0~112)的各7比特的ST表,12是用16比特表示LPS区间宽度的LSZ表,13是用7比特表示MPS状态转移目标的状态的NMPS表,14是用7比特表示LPS状态转移目标的状态的NLPS表,15是用1比特表示预测值反转判定的SWTCH表,61是输入来自上述MPS表10的预测值和来自上述图像存储器9的像素PIX输出代码的代码像素变换器,17、18是更新上述MPS表10和ST表11的值的更新处理器,30是算术解码器。

    另外,与编码相同把上述MPS表10和ST表11作为变量表。还有,把上述LSZ表12,NMPS表13,NLPS表14,SWTCH表15作为常数表(概率推断表)。各表中,必须设定与图3所示的各表的值相同的值。其次,根据图4说明解码装置的动作。

    图4中,QM解码单元8的输入有2个,第1输入是上下文,第2输入是编码。输出是被解码了的像素。

    图像存储器9存储图像,对于成为解码对象的像素,生成作为用模型模板指定的近邻的编码/解码完毕的10像素的参考图形的上下文(10比特。总数1024)。另外,QM-Coder中,准备着用于生成上下文的图5所示的编码/解码共用的2行以及3行的标准模型模板。

    在QM-Coder中,与编码相同,在每个对于解码对象像素的上下文中推断像素值的预测一致概率,伴随着其变动在学习的同时进行解码。学习通过改写把上下文作为索引的2个变量表(MPS表10,ST表11)进行。除去变量表以外,在解码时,存在把状态编号(State)参考为索引的常数表(概率推断表)。其设定值如上述图42中所示。这些表是用16比特表示LPS区间宽度的LSZ表12,用7比特表示MPS状态转移目标的状态的NMPS表13,用7比特表示LPS状态转移目标的状态的NLPS表14,用1比特表示预测值反转判定的SWTCH表15。(这里示出的英文变量、常数表名称作为后述的处理中使用的排列名。)

    LSZ表12的LPS区间宽度在算术解码器30内的未图示的演算单元中被参考,与自适应预测学习没有直接的关系。在算术解码器30内部使用LSZ进行运算,当运算精度降低时进行归一化处理(重整:Re否rmalize)。在进行该归一化处理时,同时进行学习。

    如果发生了归一化处理的解码代码是MPS,则把NMPS表13的NMPS值写入到ST表11中,如果是LPS则把NLPS表14的NLPS值写入到ST表11中,使状态转移。解码时算术解码器30把代码输出到代码像素变换器61以及更新处理器17、18中。

    另外,当归一化处理是基于LPS进行时,如果其预测一致概率小于1/2,则使MPS值反转(运算「1-MPS」)写入到MPS表10中。一致概率是否小于1/2,可以把SWTCH表15的SWTCH值作为标志进行判定。

    这样,对于ST表11以及MPS表10,必须分别进行更新处理,并个别地进行管理。图4中,ST表11以及MPS表10的更新处理器17、18决定更新值,通过改写表值进行更新处理。

    其次,与上述编码处理的说明一样,在说明解码处理流程之前在图19中示出设置在算术解码器30中的解码寄存器31以及区间宽度寄存器32的比特配置。

    在解码寄存器中,低位字CLOW33和高位字CHIGH35能够作为32比特的寄存器实现,在作为MSB(Most Significant Bit)的bit31的高位设定小数点,“b”(8比特)是字节输入单元(CLOW寄存器33)的高位比特Cb34,“×”(16比特)是对于LSZ表12的值的运算单元C×36(CHIGH寄存器35)。在解码过程中,变更C寄存器值使得从与解码了的代码相对应的区间的下限值成为向作为其区间内的坐标的编码的偏置值。    

    区间宽度寄存器32对应于解码寄存器31的小数点,与“×”寄存器部分相吻合,作为小数点配置“a”(16比特),仅初始状态值的整数部分(bit16)成为“1”。进行归一化处理,使得区间宽度(也称为区间尺寸)更新为A-LSZ(下方区间宽度)或者LSZ(上方区间宽度),除去初始值(整数部分=“1”)以外表示1/2权值的bit15成为“1”,通过保持大于1/2,作为上方区间即使从LSZ表12选择任何LSZ也能够确保下方区间。在归一化处理中,同时把区间宽度寄存器32和解码寄存器31扩大(移位)。

    在QM-Coder中,从对于状态成为固定尺寸的LSZ表12提供的上方区间LSZ通常分配到LPS中,然而在下方区间小于上方区间时进行向MPS的分配的「附加条件MPS/LPS交换」。在把LPS解码时,以及在适用「附加条件MPS/LPS交换」把MPS解码时进行归一化处理。

    根据该寄存器的比特配置,说明解码的处理流程。处理流程中的用语「层」的解释与编码相同,取层数=1进行说明,但这并不妨碍向多层解码的扩展。

    为了说明解码处理流程,除图4,图19,图42中说明的变量,表,寄存器以外还使用下面的辅助变量CT26,BUFFER27。CT26是用于计数基于归一化处理的编码寄存器31以及区间宽度寄存器32的移位数,在值成为0时进行下一个编码字节输入的辅助变量,即BUFFER27是存储从编码向解码寄存器31的Cb寄存器34输入的编码字节值的辅助变量。

    图18是示出解码处理总体流程的DECODER的处理流程。由于与位于推荐T.82的本处理流程中的TP以及DP相关的处理与本发明以及现有例无关因而省略说明。首先,在S211中调用INITDEC,进行解码处理的初始化。在S212中各读出一组上下文CX2,在S213中通过DECODE进行像素PIX的解码。在S214中反复进行S212以及S213的处理直到边缘(或者图像)结束为止。

    图20是把解码对象像素进行解码的DECODE处理流程。首先,在S221中暂时把区间宽度寄存器32的值更新为下方区间宽度。如果S222的判定是是,则把下方区间进行解码。如果S223的判定是是,则在S224中调用MPS-EXCHANGE,在S225中调用RE否RMD进行归一化处理。如果S223的判定是否,则不进行归一化处理而把MPS解码,把MPS表10的预测值作为像素值(PIX)。另外,如果S222的判定是否,则把上方区间进行解码。在S227中调用LPS-EXCHANGE,在S228中调用RENORMD进行归一化处理。在调用MPS-EXCHANGE,LPS-EXCHANGE的路径中,即使分别决定了要解码的区间但如果不比较区间的大小也不能够判断解码对象是MPS还是LPS。为此,在调用了的处理流程中分别决定像素值。

    图21是把上方区间进行解码的LPS-EXCHANGE处理流程。如果S231的判定是是,则把MPS解码。在S232中把解码寄存器31,在S233中把区间宽度寄存器32分别进行更新。在S234中把来自MPS表10的预测值直接作为像素值(PIX)。在S235中进行基于参考NMPS表13的状态转移。另外,如果S231的判定是否则把LPS解码。在S236中把解码寄存器31,在S237中把区间宽度寄存器32分别进行更新。在S238中把非预测值「1-预测值」作为像素值((PIX)。如果S239的判定是是,则在S240中进行预测值(MPX表10)的反转·更新。在S241中进行基于参考NLPS表14的状态转移。

    图22是把下方区间进行解码的MPS-EXCHANGE处理流程。如果S251的判定是是则把LPS解码。在S252中把非预测值作为像素值(PIX)。如果S253的判定是是则在S254中进行预测值(MPS表10)的反转·更新。在S255中进行基于参考NLPS表的状态转移。另外,如果S251的判定是否则把LPS解码。在S256中直接把MPS表10的预测值作为像素值(PIX)。在S257中进行基于参考NMPS表13的状态转移。

    图23是进行归一化处理的RENORMD处理流程。在S261中判断变量CT26是否为0,如果判定是是则在S262中调用BYTEIN在解码寄存器31中输入1字节编码。通过在S263中把在区间宽度寄存器32,在S264中把解码寄存器31分别向高位移动1比特进行与2倍的乘法运算等价的运算。在S265中从CT26减1。S266的判定是进行归一化处理的结束判定,如果区间宽度寄存器32不满0×8000则反复进行S261到S265的处理。在S267中判定变量CT26是否为0,如果判定是是则在S268中调用BYTEIN,在解码寄存器31中输入1字节编码。

    图24是在解码寄存器31中各读入1个字节编码的BYTEIN处理流程。SCD(Stripe Coded Data)是对于上下文的编码。在S271中判定是是的情况下,在S272中由于没有读出的编码所以变量BUFFER27取0。在S273中把变量BUFFER27读入到CLOW寄存器33(Cb34)中,在S274中由于进行8比特处理直到下一个输入为止所以在变量CT26中设定8。另外,在S271中判定是否的情况下,在S275中把1字节编码读入到变量BUFFER27中。

    图25是设定解码开始时的ST表11,MPS表10以及各变量初始值的INITDEC处理流程。关于表的初始值设定的S281,S282,S290,与编码处理的INITDEC处理流程的S171,S172,S177相同。解码寄存器31的初始值通过在Cx寄存器36以及Cb寄存器34中读入3字节编码进行设定。在S283中清除解码寄存器31,在S284中调用BYTEIN读入1字节编码到Cb寄存器37中。在S285中移位8比特,在S286中调用BYTEIN读入1字节符号到Cb寄存器34中。在S287中把解码寄存器31移位8比特,在S288中调用BYTEIN读入1字节符号到Cb寄存器34中。由此,把总计3字节的编码设定在Cx寄存器36以及Cb寄存器34中。在S289中设定区间宽度寄存器32的初始值。

    在现有例中所示的信源数据编码中,在把劣势代码进行编码之际,对于事项的上下文由于分别管理状态和预测值,因此存在必须独立分别地进行是否要实施状态转移和预测值切换处理的判断以及需要预测值切换处理时必须执行预测值切换处理这样的问题。从而,增加了总体处理次数,在编码/解码处理中花费时间。

    本发明是为解决以上这样的问题而产生的,目的在于使状态与预测值一一地对应,通过管理、更新,削减总体的处理次数,使编码/解码处理高速化。

    发明的公开

    本发明的编码装置,其特征在于具有

    存储由像素构成的图像数据,在输出成为要编码对象的关注像素的同时,输出根据接近于关注像素的参考像素构成的上下文的图像存储器;

    从上述图象存储器输入关注像素和上下文,从上下文求出对于关注像素的状态,从所求出的状态求出对于关注像素的预测值,根据求出的预测值把关注像素进行编码的编码单元。

    上述编码单元的特征在于具有

    对应于上下文,把对于关注像素的状态作为变量进行存储,从图像存储器输入上下文,并输出对于关注像素的状态的变量表;

    对应于状态把区间宽度和预测值作为常数进行存储,从变量表输入对于关注像素的状态,输出对于关注像素的区间宽度和对于关注像素的预测值的常数表;

    从图像存储器输入关注像素,从常数表输入预测值,把关注像素和预测值进行比较,把关注像素变换为代码并进行输出的像素代码变换器;

    从常数表输入对于关注像素的区间宽度,从像素代码变换器输入代码,根据区间宽度,把代码进行编码并进行输出的编码器。

    上述变量表的特征在于具有把对于关注像素的预测值与把其预测值与关注像素的一致概率的程度进行分类的值组合起来作为状态存储的状态表。

    上述常数表的特征在于具有把存储在状态表中的状态作为索引,输出预测值的预测值表。

    上述状态表其特征在于通过在预定的位存储配置了预测值的状态,把状态表的配置了预测值的预定位作为常数表的一部分兼用。

    上述状态表的特征在于在高位和低位的任一个位存储配置了预测值的状态。

    上述常数表的特征在于在把存储在状态表中的状态作为索引的同时,具有存储了成为用于使状态表的状态转移的转移目标的状态的转移表,上述编码单元具有通过使状态表的状态转移更新该转移目标的状态的预测值的更新处理器。

    上述编码装置的特征在于存在于电子计算机,扫描仪,传真机,打印机,数据库和半导体芯片的任一种内。

    本发明的解码装置的特征在于具有

    输入并存储被解码了的像素,把接近成为解码对象的关注像素的参考像素作为上下文进行输出的图像存储器;

    输入符号的同时,从上述图像存储器输入上下文,从上下文求出对于关注像素的状态,从求出的状态求出对于关注像素的预测值,根据求出的预测值从编码解码关注像素的解码单元。

    上述解码单元的特征在于具有

    对应于上下文,把对于关注像素的状态作为变量进行存储,从图像存储器输入上下文,输出对于关注像素的状态的变量表;

    对应于状态,把区间宽度和预测值作为常数进行存储,从变量表输入对于关注像素的状态,输出对于关注像素的区间宽度和对于关注像素的预测值以及非预测值的某一个的常数表;

    从常数表输入对于关注像素的区间宽度,把编码解码为代码后进行输出的解码器;

    从常数表参考预测值和非预测值中的某一个,把代码变换为关注像素并输出到图像存储器的代码像素变换器。

    上述变量表的特征在于具有把对于关注像素的预测值与把其预测值和关注像素的一致概率的程度分类了的值进行组合,作为状态进行存储的状态表。

    上述常数表的特征在于具有把存储在状态表中的状态作为索引,输出预测值的预测值表。

    上述状态表的特征在于通过在预定的行存储配置了预定值的状态,把状态表的配置了预测值的预定的位作为常数表的一部分兼用。

    上述状态表的特征在于在高位和低位的任一位存储配置了预测值的状态。

    上述常数表的特征在于在把存储在状态表中的状态作为索引的同时,具有存储成为用于使状态表的状态转移的转移目标的状态的转移表,上述编码单元具有通过使状态表的状态转移更新该转移目标的状态的预测值的更新处理器。

    上述解码装置的特征在于存在于电子计算机,扫描仪,传真机,打印机,数据库,半导体芯片的任一种内。

    本发明的编码方法是从接近于成为要编码对象的像素(关注像素)的多个参考像素生成上下文,根据该上下文求出预测了关注像素的像素值的预测值和表示该预测值的预测一致概率程度的状态编号,根据求出的预测值和状态编号进行关注像素的编码的编码方法,其特征在于具有

    对应于上述状态编号,预先确定并存储上述预测值的步骤;

    求出对于关注像素的状态编号的步骤;

    从该求出的状态编号决定预测值的步骤;

    比较该预测值和关注像素,求出代码的步骤;

    从对于上述关注像素的状态编号求出区间的步骤;

    根据上述代码和区间进行编码的步骤。

    本发明的编码方法的特征在于还具有从由状态转移处理所管理的状态间接地参考预测值的步骤。

    另外,本发明的解码方法是从接近于成为要解码对象的像素(关注像素)的多个参考像素生成上下文,根据该上下文求出预测了关注像素的像素值的预测值和表示该预测值的预测一致概率程度的状态编号,根据求出的预测值和状态编号进行关注像素的解码的解码方法,其特征在于具有

    对应于上述状态编号,预先确定并存储上述预测值的步骤;

    求出对于关注像素的状态编号的步骤;

    从该求出的状态编号决定预测值的步骤;

    从对于上述关注像素的状态编号求出区间的步骤;

    输入符号,根据区间进行解码并输出代码的步骤;

    从该预测值和代码求出关注像素的步骤。

    本发明的解码方法的特征在于还具有从由状态转移处理所管理的状态间接地参考预测值的步骤。

    本发明的编码方法是从接近于成为要编码对象的像素(关注像素)的多个参考像素生成上下文,根据该上下文求出表示关注像素的出现频率高的像素值的预测值和把该预测值的预测一致概率程度分类的状态编号,根据求出的预测值和状态编号进行关注像素的编码的编码方法,其特征在于具有

    对应于上述状态编号,进行预先把上述预测值常数化的扩展的步骤;

    通过求出对应于关注像素的状态编号,从该求出的状态编号单值地决定预测值的步骤;

    伴随着像素的出现频度的变化,更新对于上述上下文的上述状态编号的步骤,

    通过这些步骤,在统一地管理状态编号和预测值的同时进行编码。

    本发明的解码方法是从接近于成为要解码对象的像素(关注像素)的多个参考像素生成上下文,根据该上下文求出表示关注像素的出现频率高的像素值的预测值和把该预测值的预测一致概率程度分类的状态编号,根据求出的预测值和状态编号进行关注像素的解码的解码方法,其特征在于具有

    对应于上述状态编号,进行预先把上述预测值常数化的扩展的步骤;

    通过求出对于关注像素的状态编号,从该求出的状态编号单值地决定预测值的步骤;

    伴随着像素的出现频度的变化,更新对于上述上下文的上述状态编号的步骤,

    通过进行这些步骤,在统一地管理状态编号和预测值的同时进行解码。

    附图的简单说明

    图1是现有的算术编码的概念图。

    图2是现有的算术编码器的电路框图。

    图3示出现有的编码装置的概略结构。

    图4示出现有的解码装置的概略结构。

    图5示出现有的模型模板。

    图6示出现有的状态转移。

    图7示出现有的运算用编码寄存器。

    图8示出现有的ENCODER处理流程。

    图9示出现有的ENCODE处理流程。

    图10示出现有的CODELPS处理流程。

    图11示出现有的CODEMPS处理流程。

    图12示出现有的RENORME处理流程。

    图13示出现有的BYTEOUT处理流程。

    图14示出现有的INITENC处理流程。

    图15示出现有的FLUSH处理流程。

    图16示出现有的CLEARBITS处理流程。

    图17示出现有的FINALWRITES处理流程。

    图18示出现有的DECODER处理流程。

    图19示出现有的运算用解码寄存器。

    图20示出现有的DECODE处理流程。

    图21示出现有的LPS-EXCHANGE处理流程。

    图22示出现有的MPS-EXCHANGE处理流程。图23示出现有的RENORMD处理流程。图24示出现有的BYTEIN处理流程。图25示出现有的INITDEC处理流程。图26示出本发明的图像编码系统或者图像解码系统。图27示出本发明的图像编码装置或者图像解码装置的适用例。图28示出本发明的编码装置的概略结构。图29示出本发明的解码装置的概略结构。图30示出本发明的状态转移。图31示出本发明的ENCODE处理流程。图32示出本发明的CODELPS处理流程。图33示出本发明的CODEMPS处理流程。图34示出本发明的INITENC处理流程。图35示出本发明的DECODE处理流程。图36示出本发明的LPS-EXCHLANGE处理流程。图37示出本发明的MPS-EXCHANGE处理流程。图38示出本发明的RENORMD处理流程。图39示出本发明的INITDEC处理流程。图40示出现有的MPS表。图41示出现有的ST表。图42示出现有的常数表。图43示出现有的MPS表。图44示出现有的ST表。图45示出现有的ST表。图46示出现有的MPS表。图47示出现有的ST表。图48示出现有的ST表。图49示出本发明的STATE表。图50示出本发明的常数表。图51示出本发明的常数表。图52示出本发明的STATE表。图53示出本发明的STATE表。图54示出本发明的STATE表。

    图55示出本发明的STATE表和现有的变量表的关系。

    图56示出本发明的STATE表和现有的变量表的互换性。

    图57说明本发明的效果。

    图58示出本发明的STATE表。

    图59示出本发明的STATE表。

    图60示出本发明的STATE表和现有的变量表的互换性。

    图61示出本发明的编码器的概略结构。

    图62示出本发明的解码器的概略结构。

    实施发明的最佳形态

    实施形态1

    图26是本发明的图像编码处理装置的结构图。

    本发明的图像解码处理装置也具有与图26所示的图像编码处理装置相同的结构。

    图像编码处理装置37具有显示装置38,键盘39,鼠标40,鼠标垫41,信号装置42,光盘装置43。

    本发明的图像编码/解码处理装置,例如,如图26所示,从光盘装置43输入编码图象并进行解码,把被解码了的图像信息传送到信号装置42中,显示在显示装置38上。或者,把在显示装置38上显示的图像进行编码,输出到光盘装置43中。另外,把图像信息进行编码,经过未图示的线路传送图像信息。然而,本发明的图像编码/解码处理装置,并不必须限定于图26所示的个人计算机和工作站,也可以是任意的形式。例如,代替光盘装置43,可以把视频唱机作为输入装置,也可以输入来自网络的图像数据。另外,输入的数据既可以是模拟数据,也可以是数字数据。

    另外,本发明的图像编码/解码处理装置既可以如图26所示那样以独立的箱体形式存在,也可以如图27所示那样收容在打印机44,扫描仪45和传真装置46等的周边装置的箱体内部。另外,还可以作为摄像机,测定仪和计算机等的系统板的一部分存在。另外,图27中虽然没有图示,然而可以把图27所示的各种装置用局域网连接,相互传送编码信息。还有,也可以使用ISDN等广域网接收编码信息。另外,还可以存在于数据库内部。作为编码装置和解码装置中收发编码的线路、记录媒体和记录方法,可以使用模拟(调制解调器)网,数字网,公用网,专用网,局域网(LAN),广域网(WAN),互联网,局内网,无线,有线,光纤和电缆等,与线路的种类无关。另外,可以使用软盘(FD),硬盘(HD),密致盘(CD),PD,磁光盘(MO),ZIP,微型盘(MD)等盘,磁带,随机存取存储器(RAM),只读存储器(ROM),字符和条码等打印媒体,与记录媒体的种类无关。还有,可以使用电记录,磁记录,光记录,用墨水进行的记录等,与记录的方法种类无关。

    本实施形态中,在图像编码处理装置中的编码装置以及图像解码处理装置中的解码装置内,使用以下所说明的编码/解码方法。

    本实施形态可以适用于马尔科夫信源中的概率状态转移。说明有关进行利用了根据2值马尔科夫信源的状态转移的概率推断的编码/解码的作为现有例说明了的QM-Coder的导入方法。

    示出本实施形态的QM-Coder常数表(概率推断表)的设定方法。如图49所示那样,把现有的ST表11(7比特)向STATE表47(8比特)扩展(以下,ST不是作为排列变量而是单纯的变量,作为向常数表的索引使用)。常数表如图50和图51所示那样,取LSZ表12,NMPS表13,NLPS表14,从上下文对应成为状态(STATE)对应的预测值表(MPS表)49以及存储了MPS表49的反转运算值「1-MPS」的非预测值表(LPS表)48。根据与预测值的一致不一致进行编码,由于不使用非预测值,所以在编码装置中不需要LPS表48。另外,由于LPS表48作为LPS解码时的像素值不是进行「1-MPS」的运算而只是参考求出非预测值,所以也可以如现有那样在每次进行求预测值时不导入运算「1-MPS」。图28,图29示出包含这些表的编码装置和解码装置的概略结构。由于MPS表49成为常数表,因此更新处理器可以仅对于STATE表47进行更新,而不需要MPS表49的更新处理。

    示出本实施形态中的图50和图51所示的常数表的设定方法。SWTCH表15仅作为用于说明表扩展的辅助常数使用。由于排列名容易混淆,因此把用“()”参照的排列作为现有(表扩展前)的常数表,把用“[]”参照的排列作为本发明(表扩展后)的常数表。对于用现有的状态编号ST=0~112表示的状态ST变换为

    LSZ[ST]=LSZ(ST)

    NMPS[ST]=NMPS(ST)

    NLPS[ST]=NLPS(ST)+SWTCH(ST)×128

    MPS[ST]=0

    LPS[ST]=1

    另外,关于预测值为1的状态,把状态编号作为129~240(由于状态编号0没有2重化所以缺少128),变换为

    LSZ[ST+128]=LSZ(ST)

    NMPS[ST+128]=NMPS(ST)+128

    NLPS[ST+128]=NLPS(ST)+(1-SWTCH(ST))×128

    MPS[ST+128]=1

    LPS[ST+128]=0

    这样,能够从现有的常数表规则地而且容易地生成图50和图51所示的本发明的常数表。本发明的常数表能够把现有的常数表2重化后生成。

    图30是本发明的QM-Coder状态转移图。状态转移可以是与现有例(图6)相同的方法,但不需要在现有例中通过在每个上下文把所管理的预测值(MPS表)与各状态一一对应进行的预测值反转处理。上半部分的大方框对应于预测值0(状态0~112)的各状态,下半部分的大方框对应于预测值1(状态129~240)的各状态,成为现有状态数113的大致两倍(状态0没有2重化所以不存在状态128)。基本的动作与现有的相同。虚线箭头是现有的需要预测值反转处理的状态转移(SWTCH=1时),把预测值对应的大方框移动到另一方。示出状态转移的例子。在编码处理开始时,例如,如图49所示,对于所有的上下文初始化为「状态=0」。这里,为了简化说明,作为对于多个连续像素的上下文CX连续并取相同的值(例如,CX=1)的状态说明状态转移。在编码处理过程中,对于上下文CX的状态编号能够用STATE[CX]从变量表进行参考。作为第1代码如果出现劣势代码LPS,则状态ST[CX]从0转移到1。实际的基于LPS的转移目标表示为

    NLPS[STATE[CX](=0)]=129

    如图52所示,把STATE表47的STATE[CX]的值更新为(图中,下划线「LPS」)

    STATE[CX]=129

    如果第2代码也是劣势代码LPS,则转移目标成为

    NLPS[STATE[CX](=129)]=142

    如图53所示那样,把STATE表47的STATE[CX]的值变更为

    STATE[CX]=142

    如果第3代码成为优势代码MPS,则只在进行归一化处理时使状态转移。在说明上,假设存在转移,转移目标成为

    NMPS[STATE[CX](=142)]=143

    如图54所示那样,把STATE表47的STATE[CX]的值更新为

    STATE[CX]=143

    这里在图中用「***」表示所说明的状态转移。另外,关于上述状态转移在解码中也相同。

    图55比较图45~图48所示的现有的ST表11和MPS表10的变化与图52~图54所示的本发明的STATE表47的变化。MPS值,ST值和STATE值具有以下所示的关系

    MPS×128+ST=STATE

    即,STATE值是在MPS值上进行128的加权后再加入ST的值得到的值。由于MPS值是“0”和“1”,所以在MPS值是“0”时,STATE值成为与现有的ST表相同的值。在MPS值是“1”时,STATE值成为在现有的ST表的值上加入128的值。

    图30中,为了方便,对于状态编号加入128的权值,使其对应于预测值“1”,而没有使用状态113~128,然而也可以把对应于预测值“1”的所有状态充填设定为113~224。其中,在没有充填状态编号而设定表时,如图56所示那样,可以把STATE表47的低位7比特用作为现有的ST表11,把最高位比特用作为现有的MPS表10,具有可以保持与现有方式的互换性的优点。这一点在通过传送等装置在编码装置/解码装置共用初始值表并开始处理时,在编码装置和解码装置中无论使用现有方式以及本方式的哪一种都不必进行表的变换和再设定方面是重要而且有效的。

    示出本实施形态中的编码以及解码处理流程。在编码以及解码处理流程中,下划线部分示出与现有的处理流程不同的部分。

    本实施形态中,编码处理中的处理流程ENCODER(图8),RENORME(图12),BYTEOUT(图13),FLUSH(图15),CLEARBITS(图16),FINALWRITES(图7),解码处理中的处理流程DECODER(图18),BYTEIN(图24)的各处理流程与现有例中的处理流程相同。另外,在同一名称的处理流程中与已经说明过的相同的处理要素直接标注相同的标识。

    图31以ENCODE处理流程对应于现有例的图9。在S301中在成为常数表的索引的变量ST中从STATE表47设定状态编号(状态)。在S302中判定像素值与预测值的一致·不一致。预测值能够把变量ST参照为索引。在S302中,如果判定是否则在S112中调用CODELPS,如果是是则在S113中调用CODEMPS。

    图32以CODELPS处理流程对应于现有例的图10。S311,S312,S313的LSZ表12,S314的NLPS表14的索引成为变量ST,S314的变量表从ST表11变更为STATE表47,然而处理内容与现有处理流程相同。通过与S127相当的S314而不再需要现有处理流程中的S125的预测值反转判定以及S126中的反转执行。

    图33以CODEMPS处理流程对应于现有例的图11。S321,S322,S323的LSZ表12,S324的NMPS表13的索引成为变量ST,S324的变量表从ST变更为STATE,然而处理内容与现有处理流程相同。

    图34以INITENC处理流程对应于现有例的图14。由于把现有的变量表ST表11和MPS表10综合为STATE表47,所以进行变更使得仅STATE表初始化,然而处理内容与现有处理流程相同。

    图35以DECODE处理流程对应于现有例的图18。在S341中在成为常数表索引的变量ST中从STATE表47设定状态编号(State)。S342的LSZ表12,S343的MPS表49的索取被变更为变量ST,然而处理内容与现有处理流程相同。

    图36以LPS-EXCHANGE处理流程对应于现有例的图21。S351,S352,S355的LSZ表12,S354的NMPS表13,S357的NLPS表14的索引成为变量ST,S354,S357的变量表从ST表11变更为STATE表47,然而处理内容与现有处理流程相同。基于MPS解码(S351中判定是),LPS解码(S351中判定否)的像素值分别成为把变量ST作为索引的从MPS表49,LPS表48参照的预测值(S353),非预测值(S356)。在不使用LPS表48时,可以运算「1-MPS(ST)」。通过与S241相当的S357而不再需要以现有理流程中的S239的预测值反转判定以及S240中的反转执行。

    图37以MPS-EXCHANGE处理流程对应于现有例的图22。S361的LSZ表12,S364的NMPS表13的索引成为变量ST,S354,S357变量表从ST表11变更为STATE表47,然而处理内容与现有处理流程相同。基于MPS解码(S361中判定否),LPS解码(S361中判定是)的像素值分别成为把变量ST作为索引的从MPS表49,LPZ表48参照的预测值(S364),非预测值(S362)。在不使用LPS表时,可以运算「1-MPS(ST)」。通过与S255相当的S363而不再需要现有处理流程中的预测值反转判定以及反转执行。

    图38以RE否RMD处理流程对应于现有例的图23。内容除去编码输出(BYTEOUT)成为输入(BYTEIN)以外与编码处理的处理流程相同,把处理流程的形状与编码统一。其中,虽然直接使用现有的处理流程也能够无问题地工作,但本处理流程能够比现有的处理流程减少处理次数。

    图39以INITDEC处理流程对应于现有例的图25。由于把现有的变量ST表11和MPS10表综合成STATE表47,所以进行变更使得仅STATE表47初始化,而处理内容与现有处理流程相同。

    图57示出由使用了评价图像的实施形态1产生的导入效果。误差扩展图像与文字图像比较LPS的比例高,在SWTCH判定次数增多的同时预测值反转处理的执行次数也增多。由此,不需要SWTCH判定以及不需要预测值反转处理执行的实施形态1的导入效果,对于用编码难以压缩的误差扩展图像和防滞抖动图像这样的伪色调梯度图像特别大。

    在实施形态1中,示出算术编码方式一例,在所说明的QM-Coder中不限制进位的传送范围作为编码输入/输出纯粹的坐标值,而在限制向编码高位的进位传送范围时,即使使用在编码中添加控制信号的方法(例如比特充填)或者在有可能进位时强制地确定舍弃并未存储完有效区间的一部分的坐标值方法等进行编码输入/输出,则也不会过于变更BYTEOUT处理,FINALWRITES处理,BYTEIN处理,INITENC处理,INITDEC处理的内容,本质上不会妨碍该实施形态1的导入。

    总之,本实施形态中,在把马尔科夫信源数据进行编码/解码时,对于把事项分类的上下文的状态和对于该状态的预测值进行表管理的时候,对于预测值通过多重化而增加该状态数,能够把现有对于上下文的变量的预测值作为对于状态而常数化了的预测值。这样,本发明不是从上下文直接参考预测值,而是从由状态转移处理所管理的状态间接地参考预测值。

    本实施形态中,作为熵编码以QM-Coder为例说明了适用算术编码的情况,然而作为编码,也能够适用以哈夫曼编码为代表的块编码,或者被分类为通用编码的熵编码,并不仅限定于算术编码。另外,编码对象也不限定于二值数据。

    另外,本实施形态中,如图49所示,示出把STATE表的状态全部初始化为“0”的情况,然而,只要把编码装置的STATE表和解码装置的STATE表设定为相同的值,则可以用任何值进行初始化。

    另外,本实施形态中,示出上下文连续地取相同的值(CX=1)的情况,然而上下文也可以不必连续地取相同的值。

    另外,以下叙述二值数据情况的特征。

    如果是二值数据,则只有把预测值反转就可以进行2重化(2倍),而在3值以上时,也可以考虑不单值地决定预测值更新的情况。对于N值数据可以考虑以N倍不能完成,必须进行组合数NC2重化,而不能单纯地进行用于更新处理削减的多重化的情况。

    实施形态2

    实施形态1中所示的QM-Coder的常数表(概率推断表)的设定方法是在通过状态的2重化再构成的常数表中的索引(8比特的STATE值)中最高位比特作为现有的预测值,把低位的7比特作为现有的状态编号的例子。

    本实施形态中,示出了对于在最低位比特中配置了现有的预测值,在高位比特中配置了现有的状态编号的索引(8比特的STATE值)的常数表的设定方法。

    关于用现有的状态编号ST=0~112所表示的状态ST,

    对于预测值为0的状态,这种情况成为偶数的状态编号,变换为

    LSZ[ST×2]=LSZ(ST)

    NMPS[ST×2]=NMPS(ST)×2

    NLPS[ST×2]=NLPS(ST)×2+SWTCH(ST)

    MPS[ST×2]=0

    LPS[ST×2]=1

    对于预测值为1的状态,这种情况成为奇数的状态编号,变换为

    LSZ[ST×2+1]=LSZ(ST)

    NMPS[ST×2+1]=NMPS(ST)×2+1

    NLPS[ST×2+1]=NLPS(ST)×2+(1-SWTCH(ST))

    MPS[ST×2+1]=1

    LPS[ST×2+1]=0

    图58和图59示出这样生成的常数表。

    状态数由于实际中不使用状态编号1,所以与实施形态1相同成为255状态。编码以及解码处理流程,即使现有的初始状态编号0采用该设定方法然而由于状态编号为0因此对于实施形态1除去切换常数表以外也不必进行特别的变更。预测值(MPS)也可以通过仅参考状态编号的最低位的比特获得。非预测值(LPS)可以取对于其预测值(MPS)反转了的值。

    本实施形态也如图60所示那样,如果把STATE表47的高位7比特作为现有的ST表11,把最低位比特作为现有的MPS表10,则关于可以保持与现有方式的互换性的优点与实施形态1相同。

    图61、图62示出使用图56或者图60所示的STATE表47的以外的结构。示出了由于在STATE表47的第1比特或者第8比特上设定MPS值,所以把该MPS输入到像素代码变换器16或者代码像素变换器61中,消除了MPS表49(以及LPS表48)的情况。

    实施形态1以及实施形态2中,分别示出用于把状态2重化的常数表的设定方法,然而,当然也能够采取随机取号的方法,使得即使不把现有中的预测值和状态编号清楚地分割为新状态编号的高位比特,低位比特也不会重复。本发明与预测值相对应多重化使状态增加,通过单值地使其状态编号对应于现有的状态编号以及预测值,仅进行状态转移而可以不需要现有的预测值反转判定和执行,这一点是十分重要的,对于取号方法没有任何限制。特别是,在表中具有预测值(MPS)和非预测值(LPS)的情况下,例如如果使特定的状态编号位于边界,把前者作为预测值0,把后者作为预测值1,或者如果状态编号是偶数则作为预测值0,如果是奇数则作为预测值1等,就不需要状态编号的特定比特示出其值。实施形态1和实施形态2是容易地进行向现有的变量表互换的例子,状态编号以及预测值只要是一一对应,则即使在把表多倍化时随机地进行配置,在能够与变换成为复杂的实施形态1以及实施形态2起到相同效果这一点上没有变化。

    产业上的可利用性

    如上所述,如果依据本发明,则由于预先确定使状态和预测值对应,因此通过仅管理、更新状态,就能够削减总体的处理次数,高速地进行编码/解码处理。通过仅进行状态转移能够不需要预测值切换与否的判定和有切换需求时的执行。

编码方法,解码方法,编码装置以及解码装置.pdf_第1页
第1页 / 共90页
编码方法,解码方法,编码装置以及解码装置.pdf_第2页
第2页 / 共90页
编码方法,解码方法,编码装置以及解码装置.pdf_第3页
第3页 / 共90页
点击查看更多>>
资源描述

《编码方法,解码方法,编码装置以及解码装置.pdf》由会员分享,可在线阅读,更多相关《编码方法,解码方法,编码装置以及解码装置.pdf(90页珍藏版)》请在专利查询网上搜索。

对应于状态编号,在MPS表49中确定预测值,根据STATE表47求出对于关注像素的状态编号,使用该求出的状态编号从MPS表49决定预测值,像素代码变换器16在比较该预测值和关注像素,求出代码的同时,使用对于上述关注像素的状态编号从LSZ表12求出LPS区间,算术编码器19根据上述代码和LPS区间进行编码。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1