著录项信息
专利名称 | 图象解码方法 |
申请号 | CN200510054265.0 | 申请日期 | 1997-11-06 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2005-10-12 | 公开/公告号 | CN1681327 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N7/50 | IPC分类号 | H;0;4;N;7;/;5;0;;;H;0;3;M;7;/;4;2查看分类表>
|
申请人 | 松下电器产业株式会社 | 申请人地址 | 美国加利福尼亚州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 松下电器(美国)知识产权公司 | 当前权利人 | 松下电器(美国)知识产权公司 |
发明人 | 文仲丞 |
代理机构 | 中国国际贸易促进委员会专利商标事务所 | 代理人 | 曲瑞 |
摘要
本发明提供一种图像解码方法,抽取出包含在压缩编码数据中的可变长代码,利用参照可变长代码与参照事件相对应的可变长代码表,求出对应于所述可变长代码的事件并根据该事件求出输出变换系数,其中:在所述可变长代码不包含控制代码的情况下,利用所述可变长代码表获取对应于所述可变长代码的事件;在所述可变长代码包含所述控制代码且所述控制代码为第2控制代码的情况下,利用所述可变长代码表获得对应于所述可变长代码的事件,并利用预定函数对获取的该事件的Level值进行变换以求出变换事件;在所述可变长代码包含所述控制代码且所述控制代码为第1控制代码的情况下,对所述可变长代码进行定长译码处理以获得对应于所述可变长代码的事件。
1.一种图像解码方法,抽取出包含在压缩编码数据中的可变长 代码,利用参照可变长代码与参照事件相对应的可变长代码表,求出 对应于所述可变长代码的事件并根据该事件求出输出变换系数,其特 征在于:
在所述可变长代码不包含控制代码的情况下,利用所述可变长代 码表获取对应于所述可变长代码的事件,
在所述可变长代码包含控制代码、且所包含的控制代码为第2控 制代码的情况下,利用所述可变长代码表获得对应于所述可变长代码 的事件,并利用预定函数对获取的该事件的Level值进行变换以求出 变换事件,以及在所述可变长代码包含控制代码、且所包含的控制代码为第1控 制代码的情况下,对所述可变长代码进行定长解码处理以获得对应于 所述可变长代码的事件。
2.一种图像解码方法,抽取出包含在压缩编码数据中的可变长代 码,利用参照可变长代码与参照事件相对应的可变长代码表,求出对 应于所述可变长代码的事件并根据该事件求出输出变换系数,其特征 在于:
判断所述可变长代码是否包含控制代码;
在判断出所述可变长代码不包含控制代码的情况下,利用所述可 变长代码表获得对应于所述可变长代码的事件,
在判断出所述可变长代码包含控制代码、且所包含的控制代码为 第2控制代码的情况下,利用所述可变长代码表获得对应于所述可变 长代码的事件,并利用预定函数对获得的该事件的Level值进行变换 以求出变换事件,以及在判断出所述可变长代码包含控制代码、且所包含的控制代码为 第1控制代码的情况下,对所述可变长代码进行定长解码处理以获得 对应于所述可变长代码的事件。
技术领域\n本发明涉及图象解码方法,特别是涉及对进行通用性高的可变长度编 码的图象编码结果的图象解码处理。\n背景技术\n为了有效地存储或传送数字图象,需要进行压缩编码。作为这种对数 字图象进行压缩编码的方法,有在具有代表性的标准即JPEG(Joint Photographic Experts Group)或MPEG(Moving Picture Experts group)中作为其中心技术的离散余弦变换(DCT),除此之外,还有子 带编码或小波变换、以及分形等波形编码方法。另外,为了消除图象间的 冗余信号,基本上是在以一个静止图象内的空间相关关系为依据的画面内 进行编码,但除此之外,还根据各静止图象间的时间相关关系,用移动补 偿进行图象间预测,来进行对差分信号编码的画面间编码,通过该两者并 用,能获得压缩率高的编码数据。\n在以MPEG标准等为根据的现有技术的图象编码处理方法中,在 DCT等的处理后进行量化处理,然后再进行可变长度编码处理。即,首 先对数字图象数据进行DCT变换、子带编码、小波变换等的处理,用规 定的量化幅度对通过该处理而获得的变换系数进行量化,生成量化变换系 数,再对该量化变换系数进行可变长度编码处理。\n通过量化处理获得的量化变换系数是构成二维排列的系数,各系数为 零或非零中的某一个。在可变长度编码处理中,对呈该二维排列的系数(零 或非零)进行按照规定的顺序扫描的锯齿形扫描,变换成一维后,根据该 一维系数的排列,生成由先行的零系数的个数的运算(Run)和非零系数 值的电平(Level)构成的事件。预先准备出分配了单值可变长代码的可 变长代码表,参照该表进行编码。除此之外,还可以采用分配其它码作为 表示系数是否是最后系数的码的方法,或者将在运算和电平的组中增加了 表示是否是最后系数的末尾(Last)的(Last,Run,Level)的组作为一个 事件,使用将可变长代码分配给这三者的组的表进行编码的方法。\n图18是表示现有技术中对由(Last,Run,Level)构成的事件进行编码 处理的顺序的流程图。以下,根据图18中的流程说明现有技术的编码处 理方法。\n如果在步骤1801中开始处理,则在步骤1802中第j个事件作为处理 对象的输入事件而被输入。在步骤1803中进行输入事件和可变长代码表 中的参照事件的比较。\n从图19至图22中示出了现有技术的可变长度编码处理中使用的可变 长代码表的例。如图所示,该表是由(Last,Run,Level)构成的事件和码 对应的表。图中“VLC CODE”栏中的“s”在电平为正时为0,电平为负时 为1。另外,Last为0时,表示该系数不是最后的系数。\n在图18所示的步骤1803中,参照该可变长代码表,进行输入事件和 该表中含有的由(Last,Run,Level)构成的各参照事件的比较,在步骤1804 中判断在上述比较处理中是否有(Last,Run,Level)一致的参照事件。在 步骤1804的判断中,在有参照事件的情况下,执行步骤1805,但在没有 的情况下,执行步骤1806。这里,在执行步骤1805时输出与该参照事件 对应的可变长代码,转移到下文所述的步骤1807。\n另一方面,在执行步骤1806时,即,即使参照可变长代码表,但在 处理对象的事件中没有该(Last,Run,Level)的情况下,在步骤1806中进 行固定长度编码。图23是表示固定长度编码的示意图。如图所示,对运 算分配的码如图23(a)所示,对电平分配的码如图23(b)所示,这些就是编 码结果。在这样进行了固定长度编码处理后,为了与进行可变长度编码获 得的码加以区别,为了表示编码结果是固定长度码,在获得编码结果之前 为了传送而附加控制码。该控制码称为换码字符(ESC),在该例中,如 图22所示,采用符号“0000011”。即,在进行了固定长度编码的情况下, ESC码的7位和如上分配的码能获得运算的编码数据。\n在执行了步骤1805或步骤1806中的任何一个步骤的情况下,在接着 的步骤1807中,判断所处理的输入事件是否是最后的输入事件,是最后 时,便在步骤1808中将编码处理结束。另一方面,若不是最后时,则在 步骤1809中将j增加1后,返回步骤1802,进行与下一个输入事件同样 的处理。这样一直连续处理到最后的非零系数为止。\n这样,在现有技术的图象编码处理中,对被量化后的变换系数生成事 件,将该事件与可变长代码表中包含的参照事件进行比较,如果有一致的 事件,就用从该表获得的可变长代码,如果没有一致的事件,则用附加了 控制码(ESC码)的固定长度编码结果。\n一般来说,可变长代码表是用多个图象检查统计分布,对频繁发生的 事件分配短码作成的,由此谋求总体压缩率的提高。如上所述,在不能用 可变长代码表进行编码码的情况下,进行固定长度编码,使压缩率降低, 所以最好能设定得尽可能地不进行固定长度编码。这时,在现有技术的图 象编码中,如图18所示,在步骤1904的判断中,在没有合适的参照事件 的情况下,立刻在步骤1806中进行固定长度编码,所以编码效率好的可 变长度编码执行率直接由可变长代码表中合适的事件的存在率来决定。\n可是,在图象压缩编码中,系数的统计分布随量化的大小而变化,特 别是在高压缩率的情况和低压缩率的情况下,已知系数的分布异常地不 同。因此,在对成为对象的系数不用合适的可变长代码表的情况下,可变 长代码表中合适的事件的存在率下降,固定长度编码执行率变高,使得编 码效率下降。\n一般来说,如果量化幅度较大,就量化变换系数而言,压缩率变高, 但由这样的量化变换系数获得的事件所具有的电平值有变小的趋向。在从 图19至图22所示的可变长代码表中,所含有的电平值小的事件较多,而 且将短码分配给电平值小的事件,适合于将压缩率较高的量化变换系数作 为处理对象的情况。因此,在量化幅度较小、量化变换系数的压缩率较低 的情况下,所获得的事件的电平值大的变多,所以在这样的可变长代码表 中合适事件的不存在率变高,另外即使存在,也是分配了较长的码的情况 增多编码结果的位数增大。即,将作成用于低压缩率的可变长代码表用于 高压缩率编码,使得编码效率降低。\n这样,在对可变长度编码处理对象的系数不用适当设定的可变长度编 码表时,不能进行可变长度编码的固定长度编码增加,而且进行可变长度 编码时位量增大,所以码量增加,不能谋求提高压缩率,这一点是现有的 图象编码处理中所存在的问题。\n发明内容\n本发明就是鉴于上述这样的问题而完成的,其目的在于在图象编码中 使用同一可变长度编码表,在大范围内即对从高压缩率到低压缩率的编码 对象都能有效地进行编码。\n为了解决上述课题,本发明的一种图像解码方法,抽取出包含在压 缩编码数据中的可变长代码,利用参照可变长代码与参照事件相对应 的可变长代码表,求出对应于所述可变长代码的事件并根据该事件求 出输出变换系数,其中:在所述可变长代码不包含控制代码的情况下, 利用所述可变长代码表获取对应于所述可变长代码的事件;在所述可 变长代码包含控制代码且所包含的控制代码为第2控制代码的情况 下,利用所述可变长代码表获得对应于所述可变长代码的事件,并利 用预定函数对获取的该事件的Level值进行变换以求出变换事件;在 所述可变长代码包含控制代码且所包含的控制代码为第1控制代码的 情况下,对所述可变长代码进行定长译码处理以获得对应于所述可变 长代码的事件。\n本发明的另一种图像解码方法,抽取出包含在压缩编码数据中的 可变长代码,利用参照可变长代码与参照事件相对应的可变长代码表, 求出对应于所述可变长代码的事件并根据该事件求出输出变换系数, 其特征在于:判断所述可变长代码是否包含控制代码;在所述可变长 代码不包含控制代码的情况下,利用所述可变长代码表获得对应于所 述可变长代码的事件,在判断出所述可变长代码包含控制代码、且所 包含的控制代码为第2控制代码的情况下,利用所述可变长代码表获 得对应于所述可变长代码的事件,并利用预定函数对获得的该事件的 Level值进行变换以求出变换事件,以及在判断出所述可变长代码包含 控制代码、且所包含的控制代码为第1控制代码的情况下,对所述可 变长代码进行定长译码处理以获得对应于所述可变长代码的事件。\n本发明的另一种图象编码方法是根据规定的变换方法对编码对象图 象取得变换系数,用规定的量化幅度对上述变换系数进行量化处理,取得 量化变换系数,参照有多对参照事件和可变长代码的对的可变长代码表, 对上述量化变换系数进行可变长度编码处理,在该图象编码方法中执行以 下步骤:根据上述量化幅度,对上述可变长代码表中包含的参照事件进行 使用规定的函数的变换处理,生成变换事件,通过上述量化变换系数和上 述变换事件的比较处理,取得变换比较结果,在上述变换比较结果表明“一 致”的情况下,用与生成该变换参照事件的参照事件对应的可变长代码取 得编码结果的可变长度编码步骤,通过对可变长代码表中包含的参照事件 的变换处理,能提高比较时的一致率,灵活运用可变长代码表,提高编码 处理的效率。\n如果采用以上的本发明,则能获得使用同一个可变长代码表在大范围 内(从高压缩率到低压缩率)有效地对图象进行编码的效果。\n另外,本发明的图象编码装置是实施上述的图象编码方法、获得高压 缩率的编码结果的装置。\n另外,本发明的图象解码方法是能对用上述的图象编码方法获得的编 码结果适当地进行解码处理的方法。\n另外,本发明的图象解码装置是能对用上述的图象编码装置获得的编 码结果适当地进行解码处理的装置。\n另外,本发明的图象编码程序记录媒体记录了进行上述这样的图象编 码方法的图象编码程序,在计算机系统中执行该程序,灵活利用装置资源, 实现能获得高压缩率的编码结果的图象编码装置。\n另外,本发明的图象解码程序记录媒体记录了进行上述这样的图象 解码方法的图象解码程序,在计算机系统中执行该程序,灵活利用装置 资源,实现能对高压缩率的编码结果适当地进行解码处理的图象解码装 置。\n附图说明\n图1是表示本发明的实施例1的可变长度编码方法中的处理顺序的 流程图。\n图2是表示该实施例的图象编码装置的结构框图。\n图3是表示用该实施例的可变长度编码方法变换的码例的说明图。\n图4是表示该实施例的图象解码装置的结构框图。\n图5是表示该实施例的可变长度解码方法中的处理顺序的流程图。\n图6是表示本发明的实施例2的可变长度编码方法中的处理顺序的 流程图。\n图7是表示用该实施例的可变长度编码方法变换的码例的说明图。\n图8是表示本发明的实施例3的可变长度编码方法中的处理顺序的 流程图。\n图9是表示用该实施例的可变长度编码方法变换的码例的说明图。\n图10是表示本发明的实施例4的可变长度编码方法中的处理顺序 的流程图。\n图11是表示用该实施例的可变长度编码方法变换的码例的说明图。\n图12是表示本发明的实施例5的可变长度编码方法中的处理顺序 的流程图。\n图13是表示用该实施例的可变长度编码方法中使用的量化幅度和 变换处理用的除法算符的关系图。\n图14是表示用该实施例的可变长度编码方法变换的码例的说明图。\n图15是表示本发明的实施例6的可变长度编码方法中的处理顺序 的流程图。\n图16是表示该实施例的图象编码装置所具有的可变长度编码器的 内部结构框图。\n图17是表示该实施例的图象解码装置所具有的可变长度解码器的 内部结构框图。\n图18是表示现有技术的可变长度编码方法中的处理顺序的流程图。\n图19~图22是可变长度编码中使用的可变长代码表之一例图。\n图23是说明固定长度编码处理用的说明图。\n具体实施方式\n实施例1\n本发明的实施例1的图象编码方法是一种通过对作为编码对象的事 件进行编码处理,增加可变长度编码表的使用机会,谋求提高编码效率 的方法。\n图1是表示本发明的实施例1的可变长度编码方法中的处理顺序的 流程图。图2是表示本实施例1的实施可变长度编码处理的图象编码装 置的结构框图。图3是表示可变长度编码结果的例图。\n首先,用图2说明本实施例1的图象编码装置。如图2所示,本实 施例1的图象编码装置备有第一加法器202、编码器203、第二加法器 210、可变长度编码器(VLC)211、帧存储器(FM)213、移动检测器 (ME)214、以及移动补偿器(MC)215,从输入端201输入成为编码 处理对象的数字图象数据,由输出端206输出该图象编码装置输出的编 码数据。另外,编码器203内部包括离散余弦变换器(DCT)204和量 化器(Q)205,解码器207内部包括逆量化器(IQ)208和逆离散余弦 变换器(IDCT)209。\n以下,说明如上构成的图象编码装置的工作情况。首先,将数字图 象数据即编码对象图象输入到输入端201。编码对象图象被分割成相邻 的多个小区。在本实施例1中,编码对象图象被分割成相邻的16×16个 块,对该所分割的每个块进行编码处理。\n成为编码对象的块即对象块由信号线216被输入第一加法器202, 同时经过信号线225被输入移动检测器214。另外,如下文所述,过去 的再生图象被存入帧存储器213,移动检测器214由信号线224输入该 存储的图象,将它作为参照图象用,进行对编码对象块的移动检测处理, 取得移动矢量。在移动检测处理中,用块匹配等方法对编码对象块求能 供给误差最小的预测信号的移动位移信息,将该移动位移信息作为移动 矢量实施,移动检测器214将移动矢量输出给移动补偿器215。另外, 移动矢量经过信号线228还输出给可变长度编码器211,在可变长度编 码器211中被变换成可变长代码,作为侧面信息的一部分被附加的编码 结果中。\n移动补偿器215同样将存储在帧存储器213中的图象作为参照图象 用,根据该参照图象和移动矢量,生成预测块,由信号线226将它输出 给第一加法器202,同时由信号线227还输出给第二加法器210。在第 一加法器202中,通过取得输入的对象块和预测块的差分,生成剩余块, 由信号线217将它输出给编码器203。\n在编码器203中,剩余块被压缩编码。在本实施例1中,将剩余块 输入离散余弦变换器204中,变换成频率区的系数,频率区的系数由信 号线218输入量化器205,量化器205用规定的量化幅度进行量化处理。 在第一加法器202中未取得差分的情况下,即在进行画面内编码的情况 下,对象块被输入编码器203中,进行与剩余块同样的处理。\n被量化了的变换系数即量化变换系数和量化处理中用的量化幅度 从量化器205经过信号线219被输出给可变长度编码器203,被进行编 码处理,编码结果与移动矢量或量化幅度等其它侧面信息一起被输出给 输出端206。另一方面,量化变换系数也被输出给解码器207,进行展 开处理。在本实施例1中,在逆量化器208中用上述的量化幅度进行逆 量化,其结果由信号线221输入逆离散余弦变换器209,进行离散余弦 变换的逆处理,获得空间区域的数据。用解码器207获得的展开后的剩 余块由信号线221输出给第二加法器210,与经过信号线227输送的预 测块相加,生成再生块。该再生块经过信号线222输出给帧存储器213 储存起来,以便在下一次编码处理中作为参照图象用。\n在本实施例1的图象编码装置中,将量化变换系数和量化幅度及移 动矢量等侧面信息输入可变长度编码器211,将它们变换成可变长度或 固定长度码。以下,根据图1中的流程,说明可变长度编码器211对量 化变换系数进行处理时的工作情况。\n与在现有技术中说明的一样,变换系数是作为零及非零系数的二维 排列获得的系数,按照规定的顺序(锯齿形)对该二维排列进行重新排 列,获得一维排列后,归纳成由先行的零系数的个数(运算,Run)和 非零系数值、电平(Level)构成的事件。另外,附加表示是否是用电平 表示的变换系数还是最后系数的Last(末尾)的信息。将由这样形成的 (Last,Run,Level)构成的事件作为可变长度编码器211的处理对象的输 入事件。\n如果在步骤101中开始处理,则在步骤102中获得第j个输入事件。 在步骤103中,在可变长度编码器211中进行输入事件和可变长代码表 中的参照事件的比较。作为可变长代码表使用现有技术中使用的图19~ 图22所示的表,进行与由该表中含有的(Last,Run,Level)构成的各参 照事件的比较。\n在步骤104中,判断在上述比较处理中是否有(Last,Run,Level)一 致的参照事件。若在步骤104的判断中有参照事件时,执行步骤105, 若没有时执行步骤106。这里,在执行了步骤105的情况下,输出与该 参照事件对应的可变长代码,转移到下文所述的步骤111。\n另一方面,在执行步骤106的情况下,用规定的函数对输入事件所 具有的电平进行变换处理,生成变换输入事件。在接着的步骤107中, 与步骤103一样进行变换输入事件和参照事件的比较。在接着的步骤108 中,进行是否是一致的参照事件的判断,在有参照事件的情况下,执行 步骤110,在没有时执行步骤109。这里,在执行步骤110的情况下, 预先附加了单值设定的第二控制码的编码结果被输出给与该参照事件 对应的可变长代码,转移到步骤111。\n另一方面,在执行步骤109的情况下,对输入事件进行图23所示 的编码处理,生成固定长度码。然后,输出能区别于第二控制码的第一 控制码被附加在该固定长度码中的编码结果。\n在执行了步骤110或步骤109两者中的任意一个步骤后,在接着的 步骤111中,判断所处理的输入事件是否是最后的输入事件,若是最后 时,则在步骤112中结束编码处理。另一方面,若不是最后时,则在步 骤113中使j增加1后,返回步骤102,进行与下一个输入事件同样的 处理。这样,将处理一直进行到最后的非零系数为止。\n在本实施例1中,作为从输入事件获得变换输入事件时的规定的函 数的是具有规定值的偏置值的减法处理的函数。即,从输入事件所具有 的电平值减去偏置值,作为变换输入事件。最好是在从电平值的绝对值 减去偏置值后,带上电平符号(正或负)。该偏置值可以是一个,也可 以与Last和Run的值对应地取可变的值。在本实施例1中,从图19至 图22所示的表中可以得到:(Last,Run)=(0、0)时,偏置值=12, (Last,Run)=(0、1)时,偏置值=6,(Last,Run)=(0、2)时,偏 置值=4,将各(Last,Run)对的最大电平值作为偏置值。\n图19至图22所示的可变长代码表是适合于压缩系数较高的变换系 数的表,表内的事件所具有的电平值多半较小。因此,对于该表中不存 在的适宜的事件的输入事件来说,对其电平值进行减法处理,获得电平 值小的变换输入事件,提高可变长度编码率,另外,谋求提高该表中分 配给电平值小的事件的短码的使用率。\n另外,作为第一控制码,使用图23所示的与现有技术中使用的ESC 码相同的“0000011”,作为第二控制码,使用将该ESC码两次反复后的 码。\n图3是表示编码结果之一例图。这里,利用图3将本实施例1的编 码处理方法与现有技术中的情况进行比较。这里,考虑将 (Last,Run,Level)=(0、0、13)的事件作为编码对象的情况。在从图 19至图22所示的可变长代码表中,没有(0、0、13)的组。因此,如 果按照现有技术进行编码处理,则如上所述,进行图23所示的固定长 度编码处理,在其中附加ESC码后输出。图3(a)表示这样处理的结果, 输出7位的ESC码301、表示Last的1位的302、其后是表示电平而6 位的303、以及8位的304。这里,电平用表示零运算的303和固定长 度码304表示。这样,合计必须是22位。\n与此不同,在本实施例1的处理结果中,从图1的流程中的步骤103 到104,即使在可变长代码表中不存在适当的参照事件的情况下,也不 象现有技术所进行的处理那样直接进行固定长度编码,而是进行步骤 106~步骤108所示的变换处理,并再次进行比较。在变换处理中,从电 平值13减去偏置值(=12),以便将电平值变换成1,获得变换输入事件 (0、0、1)。如图18所示,事件(0、0、1)存在于可变长代码表中, 所以在图1的流程中执行步骤108至步骤110。因此,如图3(b)所示, 获得由第二控制码806和对(0、0、1)的可变长代码807构成的编码 结果,因此,这时变成需要17位的码,结果比需要22位的现有技术减 少了编码量。\n在图1的流程中,即使用变换输入事件进行比较处理,在可变长代 码表中不存在适当的参照事件的情况下,步骤109的处理变成与现有技 术相同。因此,在本实施例1中,在最坏的情况下也能进行与现有技术 相同的编码。另外,在附加了第二控制码的码长比附加了第一控制码的 码长还要长的情况下,用第一控制码和固定长度码编码时位数少。\n以下,说明对用本实施例1中所示的通过图象编码处理获得的编码 数据进行的解码处理。\n图4是本实施例1的图象解码装置的结构框图。如该图所示,本实 施例1的图象解码装置备有数据分析器(DA)402、加法器406、可变 长度解码器(VLD)408、解码器403、帧存储器(FM)409、以及移动 补偿器(MC)410,从输入端401输入成为解码处理对象的编码数据, 由输出端407输出该图象解码装置的输出即解码数据。另外,解码器403 内部包括逆量化器(IQ)404和逆离散余弦变换器(IDCT)405。\n以下说明如上构成的本实施例1的图象解码装置对在图2所示的图 象编码装置中进行了压缩编码的编码数据进行解码处理时的工作情况。\n将作为处理对象的编码数据输入到输入端401,在数据分析器402 中分析数据,取得由量化变换系数获得的可变长代码和包含量化幅度和 移动矢量的侧面信息的码。其中,将量化幅度和量化变换系数的可变长 代码经过信号线412被传送到可变长度解码器408,移动矢量经过信号 线418被输出给移动补偿器410。在可变长度解码器408中,参照可变 长代码表,将被量化了的变换系数的可变长代码复原成变换系数,通过 重新排列,取得压缩剩余块,将其输出给解码器403。\n在解码器403中,将压缩剩余块展开,复原成展开剩余块。在本实 施例1的解码器403中,在逆量化器404中用量化幅度进行逆量化,对 其结果,由逆离散余弦变换器405将频率区域信号变换成空间区域信号。 该信号作为被展开的剩余块输出给加法器406。\n另一方面,在输入了移动矢量的移动补偿器410中,根据该移动矢 量,生成对帧存储器409进行访问用的地址,根据帧存储器409中存储 的图象,生成预测块。所生成的预测块被输出给加法器406,通过与展 开的剩余块进行加法处理,生成再生块。这样再生的图象作为该图象解 码装置的输出,被从输出端407输出,同时被输出给帧存储器409储存。\n图5是表示可变长度解码器408的可变长度解码方法的处理顺序的 流程图。以下,根据图5中的流程,说明系数可变长度解码器408进行 解码处理时的工作情况。\n首先,如果在步骤501中开始处理,则在步骤502中,第j个处理 对象的由量化变换系数获得的可变长代码被作为输入可变长代码输入。 在步骤503中,判断输入可变长代码是否包含控制码,如果不包含,执 行步骤504,如果包含,执行步骤505。在执行步骤504时,即在没有 控制码的情况下,通过使用可变长代码表,输出与输入可变长代码对应 的(Last,Run,Level),转移到下文所述的步骤510。\n另一方面,在执行步骤505时,即在包含控制码的情况下,判断该 控制码是否是第二控制码,如果是第二控制码,执行步骤506,如果不 是,执行步骤507。在执行步骤506时,即在是第二控制码的情况下, 通过使用可变长代码表,取得与输入可变长代码对应的 (Last,Run,Level),用规定的函数变换其电平值,所取得的结果被输出 后,转移到下文所述的步骤510。在本实施例1中,作为电平值的变换 处理,是进行规定的偏置值的加法处理,如上所述,该偏置值的值是对 应于(Last,Run)可变的值。\n这里,考虑对图3(b)中的码进行解码处理的情况。在步骤505的判 断中,由于断定了是第二控制码,所以执行步骤506。因此,通过参照 可变长代码表,取得与图3(b)中的306所示的码“100”的部分对应的 (Last,Run,Level=0、0、1),对其电平进行偏置值=12的加法处理后, 能复原真的(Last,Run,Level)=(0、0、13)。\n与此不同,在执行步骤507时,进一步判断该控制码是否是第一控 制码。如果是第一控制码,执行步骤508,但如果断定不是第一控制码 时,则既不带第一控制码,也不带第二控制码,所以在步骤509中,中 止解码处理,进行将该意思显示给使用者等的错误处理。另一方面,在 执行步骤508时,即有第一控制码时,再生固定长度码解码系数。\n在执行了步骤504、步骤506、或步骤508后,在接着的步骤510 中,判断所处理的输入可变长代码是否是最后输入可变长代码,在是最 后的情况下,在步骤511中结束解码处理。另一方面,在不是最后的情 况下,在步骤512中,使j增加1后,返回步骤502,进行与下一个输 入可变长代码同样的处理。这样一直连续处理到最后的可变长代码为 止。\n这样,如果采用本实施例1的图象编码方法,则如图1所示,在从 步骤103至步骤104的比较处理中,即使在可变长代码表中不存在适当 的参照事件,但由于在步骤106中对输入事件进行变换处理,在步骤107 至步骤108中,用获得的变换输入事件进行比较处理,所以通过执行步 骤109,降低了固定长度编码率,另外,由于使用变换输入事件,在可 变长度编码中提高了分配短码的可能性,可谋求在总体上提高编码结果 的压缩率。\n另外,如果采用本实施例1的图象编码装置,则由于备有执行上述 编码方法的可变长度编码器211,所以在编码器203中的压缩编码的压 缩率为高压缩率的情况下,或者在低压缩率的情况下,都能使用同一个 可变长代码表,能获得压缩率好的编码结果。\n另外,如果采用本实施例1的图象解码方法及图象解码装置,则能 对应于如上获得的编码结果,进行适当的解码处理,获得再生图象。\n另外,在本实施例1的编码处理中,说明了在压缩编码时进行离散 余弦变换的处理方法,但也可以用小波编码等的波形编码方法代替它, 同样能进行编码处理。\n另外,在本实施例1的编码处理中,对输入事件进行变换处理时, 变换输入事件的电平值,但也可以变换输入事件的运算的值来代替它。 这时,将图19至图22的可变长代码表中的各参照事件的(Last,Run) 对的最大的Run值作为偏置值,从输入事件的运算的值减去(偏置值 +1),能获得变换输入事件。另外,也可以采用下述方法来代替使用偏 置值,即,采用使电平或运算的值递增,或进行二次函数的处理,或变 更动态范围的方法,进行变换处理。另外,还可以用规定的函数变换可 变长代码表中的电平或运算,进行比较处理,代替对输入事件的电平或 运算施以规定的函数。\n如上所述,在编码处理中,变换运算值代替电平值时,即使在解码 处理中,也可将(偏置值+1)加到可变长度解码过的运算值中,生成真 的运算值。如上所述,这时的偏置值是(Last,Run)对的Run的最大值。\n另外,在本实施例1中,用图1及图5中的流程图说明了编码处理 及解码处理的顺序,但不限于这样的处理顺序,也可以采用能进行同样 的处理的顺序,谋求提高编码效率,以及对这样的编码结果进行适当的 解码处理。\n实施例2\n本发明的实施例2的图象编码方法与实施例1相同,也是对成为编 码对象的事件进行变换处理,通过使用方式码,谋求减少位数。\n图6是表示本实施例2的可变长度编码方法中的处理顺序的流程 图。另外,本实施例2的图象编码装置具有与实施例1同样的结构,说 明时用图2。\n在本实施例2的图象编码处理中,虽然只用图2所示的可变长度编 码器211进行处理,但与实施例1不同,所以以下根据图6说明可变长 度编码器211的编码处理工作的情况。\n从步骤601至步骤608与实施例1中的步骤101至步骤108同样地 进行,在步骤108中根据变换输入事件和可变长代码表中的参照事件的 比较进行判断。根据判断结果,在有一致的参照事件的情况下,执行步 骤601,在没有的情况下,执行步骤609。\n在执行了步骤601后,输出在与该参照事件对应的可变长代码上附 带了预先单值地设定的控制码和第二方式码的编码结果,转移到步骤 611。这里,作为控制码,与图22所示的ESC码相同,是使用0000011 的码,作为第二方式码是使用“0”的码。\n另一方面,在执行了步骤609后,对输入事件进行图23所示的编 码处理,生成固定长度码。然后,输出控制码和第一方式码被附加在该 固定长度码上的编码结果。作为第一方式码是使用“1”的码。\n在执行了步骤610或步骤609后,在接着的步骤611中,判断所处 理的输入事件是否是最后的输入事件,是最后时,便在步骤612中使编 码处理结束。另一方面,若不是最后时,则在步骤613中将j增加1后, 返回步骤602,进行与下一个输入事件同样的处理。这样一直连续处理 到最后的非零系数为止。\n在本实施例2中,与实施例1一样,在生成输入变换事件时,对输 入事件的电平进行使用偏置值的变换,与实施例1一样,偏置值既可取 预定的值,也可以取与Last和Run对应的值。在本实施例中, (Last,Run)=(0、0)时,偏置值=12,(Last,Run)=(0、1)时,偏 置值=6,(Last,Run)=(0、2)时,偏置值=4,这些都可以从图19至 图22所示的可变长度编码表获得,将各(Last,Run)的最大电平值作为 偏置值。\n以下,说明对通过本实施例2所示的编码处理获得的编码数据进行 的解码处理情况。本实施例2的图象解码装置的结构与实施例1的相同, 说明时使用图4。\n图7是表示本实施例2的可变长度解码方法的处理顺序的流程图。 在本实施例2的图象解码处理中,只由图4所示的可变长度解码器408 进行处理,这一点与实施例1不同,所以以下根据图7说明可变长度解 码器408的解码处理的工作情况。\n从步骤701至步骤704与实施例1中的步骤501~504(图5)同样地 进行,其次进行步骤705中的判断处理。在步骤703的判断中,在断定 有控制码的情况下,在步骤705中进行继该控制码之后的下一个1位是 “0”还是“1”的判断处理。然后,若是“0”时执行步骤706,若是“1”时执 行步骤708。\n在执行步骤706的情况下,首先利用可变长代码表,取得与输入的 可变长代码对应的(Last,Run,Level),用规定的函数对其所具有的电平 值进行变换处理后,输出解码结果。在本实施例2的变换处理中,是将 规定的偏置值加在所取得的电平值上。该偏置值如上所述是对应于(Last, Run)可变的值。\n另一方面,在执行步骤708的情况下,将输入可变长代码作为固定 长度码进行解码,使系数再生。在执行了步骤704、步骤706、或步骤 708后,在接着的步骤710中,判断所处理的输入可变长代码是否是最 后输入可变长代码,在是最后的情况下,在步骤711中结束解码处理。 另一方面,在不是最后的情况下,在步骤712中,使j增加1后,返回 步骤702,进行与下一个输入可变长代码同样的处理。这样一直连续处 理到最后的可变长代码为止。\n这样,如果采用本实施例2的图象编码方法,则如图6所示,在从 步骤603至步骤604的比较处理中,即使在可变长代码表中不存在适当 的参照事件,但由于在步骤606中对输入事件进行变换处理,在步骤607 至步骤608中,用所获得的变换输入事件进行比较处理,所以通过执行 步骤609,降低了固定长度编码率,另外,由于使用变换输入事件,在 可变长度编码中提高了分配短码的可能性,可谋求在总体上提高编码结 果的压缩率。而且,在步骤610或步骤609中,用1位的方式码对固定 长度编码和进行过偏置值处理的电平进行区别,所以与使用第一及第二 控制码的实施例1相比较,具有能减少编码结果中总位数的优点。\n另外,如果采用本实施例2的图象编码装置,则由于备有执行上述 编码方法的可变长度编码器211,所以在编码器203中的压缩编码的压 缩率为高压缩率的情况下,或者在低压缩率的情况下,都能使用同一个 可变长代码表,能获得压缩率好的编码结果。\n另外,如果采用本实施例2的图象解码方法及图象解码装置,则能 对应于如上获得的编码结果,进行适当的解码处理,获得再生图象。\n另外,在本实施例2中,虽然是使用一个方式码,但也可以用两个 以上的方式码来区别多个方式。例如,可以增加变更零运算值的方式作 为第三种方式。\n另外,在本实施例2中,也与实施例1一样,变换输入事件的电平, 获得变换输入事件,但也可以变换运算。另外,虽然是用偏置值进行变 换处理,但也可以代之以采用使电平递增,或采用二次函数,或变更动 态范围的方法。\n实施例3\n本发明的实施例3的图象编码方法与实施例1及2相同,也是对成 为编码对象的事件进行变换处理,能反复进行变换处理,谋求提高编码 效率。\n图8是表示本实施例3的可变长度编码方法中的处理顺序的流程 图。另外,本实施例3的图象编码装置具有与实施例1同样的结构,说 明时用图2。\n在本实施例3的图象编码处理中,虽然只用图2所示的可变长度编 码器211进行处理,但与实施例1不同,所以以下根据图8说明可变长 度编码器211的编码处理工作的情况。\n在图8(a)的流程中,从步骤801至步骤805与实施例1中的步骤101 至步骤105同样地进行。在本实施例3中,在步骤806的变换处理中, 通过使用规定函数的变换处理,获得第一变换输入事件。这里,与实施 例1同样地进行变换处理,通过对输入事件所具有的电平值减少规定的 偏置值,获得第一变换输入事件。其中(Last,Run)=(0、0)时,偏 置值=12,(Last,Run)=(0、1)时,偏置值=6,(Last,Run)=(0、2) 时,偏置值=4,这些都可以从图19至图22所示的可变长度编码表获得, 将各(Last,Run)的最大电平值作为偏置值。\n在步骤807中,进行第一变换输入事件和可变长代码表中含有的参 照事件的比较,在步骤808中根据该比较结果进行判断。通过判断,在 有一致的参照事件的情况下,执行步骤810,在没有的情况下,执行图 8(b)中的顺序。这时,在执行了步骤810后,输出在与该参照事件对应 的可变长代码上附带了预先单值地设定的控制码和第二方式码的编码 结果,转移到步骤811。这里,作为控制码,与图22所示的ESC码相 同,是使用0000011的码,作为第二方式码是使用“0”的码。\n另一方面,在执行图8(b)中的顺序的情况下,用规定的函数变换输 入事件的运算,取得第二变换输入事件。在本实施例3中,从运算值减 去规定的偏置值,生成有新的运算值的第二变换输入事件。作为这时的 偏置值,是将可变长代码表中的各(Last,Level)的最大运算值作为偏置 值。\n在步骤822中,进行第二变换输入事件和可变长代码表中含有的参 照事件的比较,在步骤823中根据该比较结果进行判断。通过判断,在 有一致的参照事件的情况下,执行步骤824,在没有的情况下,执行步 骤825。这时,在执行了步骤824后,输出在与该参照事件对应的可变 长代码上附带了控制码和第三方式码的编码结果,转移到图8(a)的步骤 811。作为第三方式码是使用“10”的码。\n另一方面,在执行步骤825的情况下,对输入事件进行图23所示 的编码处理,生成固定长度码。然后,输出控制码和第一方式码被附加 在该固定长度码上的编码结果。作为第一方式码是使用“11”的码。\n在执行了步骤810、或图8(b)所示的步骤824、或步骤825后,在接 着的步骤811中,判断所处理的输入可变长代码是否是最后的输入可变 长代码,在是最后的情况下,在步骤812中结束编码处理。另一方面, 在不是最后的情况下,在步骤813中使j增加1后,返回步骤802,进 行与下一个输入可变长代码同样的处理。这样一直连续处理到非零系数 为止。\n以下,说明对通过本实施例3所示的编码处理获得的编码数据进行 的解码处理的情况。本实施例3的图象解码装置的结构与实施例1的相 同,说明时使用图4。\n图9是表示本实施例3的可变长度解码方法的处理顺序的流程图。 在本实施例3的图象解码处理中,只由图4所示的可变长度解码器408 进行处理,这一点与实施例1不同,所以以下根据图7说明可变长度解 码器408的解码处理的工作情况。\n从步骤901至步骤906与图7所示的实施例2中的步骤701~706同 样地进行,然后,在步骤905的判断中,在成为对象的位为“1”的情况 下,执行步骤907,再对后继的一位进行该位是“ 0”还是“1”的判断处理。 然后,若是“0”时执行步骤908,若是“1”时执行步骤909。\n在执行步骤908的情况下,首先利用可变长代码表,取得与输入的 可变长代码对应的(Last,Run,Level),用规定的函数对其所具有的电平 值进行变换处理后,输出解码结果。在本实施例3的变换处理中,是将 规定的(偏置值+1)加在所取得的运算值上。\n另一方面,在执行步骤909的情况下,将输入可变长代码作为固定 长度码进行解码,使系数再生。在执行了步骤904、步骤906、步骤908、 或步骤909中任意一个步骤之后,在接着的步骤910中,判断所处理的 输入可变长代码是否是最后输入可变长代码,在是最后的情况下,在步 骤911中结束解码处理。另一方面,在不是最后的情况下,在步骤912 中使j增加1后,返回步骤902,进行与下一个输入可变长代码同样的 处理。这样一直连续处理到最后的可变长代码为止。\n这样,如果采用本实施例3的图象编码方法,则如图8(a)所示,在 从步骤803至步骤804的比较处理中,在可变长代码表中不存在适当的 参照事件的情况下,也是在步骤806中对输入事件进行变换处理,在从 步骤807至步骤808中,用所获得的第一变换输入事件进行比较处理, 这时在可变长代码表中也不存在适当的参照事件的情况下,执行图8(b) 中的处理,在步骤821中对输入事件进行变换处理,在从步骤822至步 骤823中,用所获得的第二变换输入事件进行比较处理,所以与实施例 1及2相比较,通过执行步骤825,降低了固定长度编码率,另外,在 可变长度编码中提高了分配短码的可能性,可谋求在总体上提高编码结 果的压缩率。\n另外,如果采用本实施例3的图象编码装置,则由于备有执行上述 编码方法的可变长度编码器211,所以在编码器203中的压缩编码的压 缩率为高压缩率的情况下,或者在低压缩率的情况下,都能使用同一个 可变长代码表,能获得压缩率好的编码结果。\n另外,如果采用本实施例3的图象解码方法及图象解码装置,则能 对应于如上获得的编码结果,进行适当的解码处理,获得再生图象。\n实施例4\n本发明的实施例4的图象编码方法通过同时使用多个可变长代码表 进行比较处理,增加可变长代码表的使用机会,谋求提高编码效率。\n图10是表示本实施例4的可变长度编码方法中的处理顺序的流程 图。另外,本实施例4的图象编码装置具有与实施例1同样的结构,说 明时用图2。\n在本实施例4的图象编码处理中,虽然只用图2所示的可变长度编 码器211进行处理,但与实施例1不同,所以以下根据图10说明可变 长度编码器211的编码处理的工作情况。这里,在本实施例4的图象编 码处理中,使用第一可变长代码表和第二可变长代码表。第一可变长代 码表与实施例1~3相同,使用从图19至图22所示的表。另一方面,第 二可变长代码表使用与第一表不同的表,这里是使用由电平值为10以 上的项构成的表。这样,在本实施例4中,与电平值在10以下为主体 的第一可变长代码表不同,还使用电平值包括10以上的第二可变长代 码表,但作为第二可变长代码表最好使用由第一可变长代码表中不包括 的参照事件构成的表。\n如果在步骤1001中开始处理,则在步骤1002中获得第j个输入事 件。在步骤1003中,在可变长度编码器211中进行输入事件和第一可 变长代码表中含有的参照事件的比较。其次在步骤1004中,判断在上 述比较处理中是否有(Last,Run,Level)一致的参照事件。若在步骤1004 的判断中有参照事件时,执行步骤1005,若没有时执行步骤1006。这 里,在执行了步骤1005的情况下,输出与该参照事件对应的可变长代 码,转移到下文所述的步骤1010。\n另一方面,在执行了步骤1006的情况下,在可变长度编码器211 中进行输入事件和第二可变长代码表中含有的参照事件的比较。其次在 步骤1007中,判断在上述比较处理中是否有(Last,Run,Level)一致的 参照事件。在步骤1007的判断中如果有参照事件时,执行步骤108,没 有时执行步骤1009。这里,在执行了步骤1008后,取得与该参照事件 对应的可变长代码,在附加了单值设定的控制码和第二方式码后被输 出,转移到下文所述的步骤1010。这里,作为控制码,与图22所示的 ESC码相同,是使用0000011的码,作为第二方式码是使用“0”的码。\n另一方面,在执行了步骤1009的情况下,对输入事件进行图23所 示的编码处理,生成固定长度码。然后,输出控制码和第一方式码被附 加在该固定长度码中的编码结果。作为第一方式码是使用“1”的码。\n在执行了步骤1005、步骤1008、或步骤1009中的任意一个步骤后, 在接着的步骤1010中,判断所处理的输入事件是否是最后的输入事件, 若是最后时,则在步骤1011中结束编码处理。另一方面,若不是最后 时,则在步骤1012中使j增加1后,返回步骤1002,进行与下一个输 入事件同样的处理。这样,将处理连续地进行到最后的非零系数为止。\n以下,说明对通过本实施例4所示的编码处理获得的编码数据进行 的解码处理的情况。本实施例4的图象解码装置的结构与实施例1的相 同,说明时使用图4。\n图11是表示本实施例4的可变长度解码方法的处理顺序的流程图。 在本实施例4的图象解码处理中,只由图4所示的可变长度解码器408 进行处理,这一点与实施例1不同,所以以下根据图11说明可变长度 解码器408的解码处理的工作情况。\n首先,如果在步骤1101中开始处理,则在步骤1102中作为输入可 变长代码输入作为第j个处理对象的量化了的变换系数的可变长代码。 在步骤1103中,判断输入可变长代码是否包括控制码,如果不包括, 执行步骤1104,如果包括,执行步骤1105。执行了步骤1104后,即在 没有控制码的情况下,通过使用第一可变长代码表,输出与输入可变长 代码对应的(Last,Run,Level),转移到下文所述的步骤1110。\n在步骤1103的判断中,如果断定有控制码时,在步骤1105中进行 继该控制码之后的下一位是“0”还是“1”的判断处理。然后,若是“0”时, 执行步骤1106,若是“1”时,执行步骤1108。\n在执行了步骤1106后,通过使用第二可变长代码表,输出与输入 可变长代码对应的(Last,Run,Level),转移到下文所述的步骤1110。 另一方面,在执行了步骤1108后,将输入可变长代码作为固定长度码 进行解码处理,使系数再生。\n在执行了步骤1004、步骤1006、或步骤1008中的任意一个步骤后, 在接着的步骤1110中,判断所处理的输入可变长代码是否是最后的输 入可变长代码,若是最后时,则在步骤1111中结束编码处理。另一方 面,若不是最后时,则在步骤1112中使j增加1后,返回步骤1102, 进行与下一个输入事件同样的处理。这样,将处理连续地进行到最后的 可变长代码为止。\n这样,如果采用本实施例4的图象编码方法,则如图10所示,由 于使用第一可变长代码表和第二可变长代码表,在从步骤1003至步骤 1004中的比较处理中,在第一可变长代码表中不存在适合的参照事件 时,在从步骤1006至步骤1007中进行与第二可变长代码表的比较处理, 所以通过执行步骤1009,能降低固定编码率,在总体上能谋求提高编码 结果的压缩率。如果采用本实施例4,虽然需要准备多个可变长代码表, 但如上所述,由于该多个表中包含的事件不同,所以能谋求提高编码效 率。\n另外,如果采用本实施例4的图象编码装置,则由于备有执行上述 编码方法的可变长度编码器211,所以在编码器203中的压缩编码的压 缩率为高压缩率的情况下,或者在低压缩率的情况下,都能获得压缩率 好的编码结果。\n另外,如果采用本实施例4的图象解码方法及图象解码装置,则能 对应于如上获得的编码结果,进行适当的解码处理,获得再生图象。\n另外,在本实施例4中使用两个可变长代码表,但也可以准备任意 数的可变长代码表,用该数的方式码来区别该多个可变长代码表。另外, 还可以用量化幅度区别多个可变长代码表。\n实施例5\n本发明的实施例5的图象编码方法是通过对成为编码对象的事件进 行除法处理的变换处理,进行与可变长代码表的比较的方法。\n图12是表示本实施例5的可变长度编码方法中的处理顺序的流程 图。另外,本实施例5的图象编码装置具有与实施例1同样的结构,说 明时用图2。\n在本实施例5的图象编码处理中,虽然只用图2所示的可变长度编 码器211进行处理,但与实施例1不同,所以以下根据图12说明可变 长度编码器211的编码处理工作的情况。如果在步骤1201中开始处理, 则在步骤1202中获得由(Last,Run,Level)构成的第j个输入事件。然 后,在步骤1203中对输入事件进行除法处理的变换处理。变换处理是 用根据量化幅度确定的除法算符对输入事件所具有的电平值进行除法 运算,取得电平的商。图13表示量化幅度和除法算符的关系。图13(a) 是两者关系中设定的一个例,在量化幅度从1到7的情况下,除法算符 为2,量化幅度为8以上时,除法算符为1。如果这时量化幅度为8以 上,意味着不进行除法运算。图13(b)是两者关系中设定的另一个例, 将量化幅度这样分成3类,根据种类确定除法算符即可。\n量化处理基本上是除法处理,如果量化幅度小,量化变换系数的值 就有变大的趋向,因此,生成事件时它所具有的电平值多半是变大。图 19~图22所示的可变长代码表是适用于压缩率较高的系数而作成的表, 多半包含电平值小的事件,所以在这种情况下该表中包含的参照事件的 适当率低,可变长度编码率也低,使得编码效率恶化。因此,在本实施 例5中,在量化幅度小的情况下,对电平进行除法运算,生成电平值小 的变换输入事件,通过在比较处理中使用该变换输入事件,来提高可变 长度编码率,而且谋求增大分配短码的可能性。\n如果取得了电平的商,则在步骤1204中对变换输入事件的 (Last,Run,Level的商)进行与可变长代码表中含有的参照事件的比较, 在下一步骤1205中,进行该比较结果的判断处理。在步骤1205的判断 中在有参照事件的情况下,执行步骤1207,在没有的情况下,执行步骤 1206。\n在执行步骤1207时,输出适当的参照事件的可变长代码,接着在 步骤1208中对电平的剩余进行固定长度编码,该编码结果被作为输入 辅助码输出。电平的剩余的码长由除法算符变换。例如在图13(a)所示的 设定的情况下,除法算符为2时,剩余的位长为1,除法算符为1时, 剩余的位长为0。即,除法算符为1时不对剩余编码。在执行了步骤1206 至步骤1207时,作为编码结果而输出可变长代码和输入辅助码。\n另一方面,在执行了步骤1208的情况下,对输入事件进行固定长 度编码处理,生成固定长度码。然后,输出将控制码附加的该固定长度 码上的编码结果。\n在执行了步骤1207~1208、或步骤1206中的任意一个步骤后,在接 着的步骤1209中判断所处理的输入事件是否是最后的输入事件,若是 最后时,则在步骤1210中结束编码处理。另一方面,若不是最后时, 则在步骤1211中使j增加1后,返回步骤1202,进行与下一个输入事 件同样的处理。这样,将处理连续地进行到最后的非零系数为止。以下, 说明对通过本实施例5所示的编码处理获得的编码数据进行的解码处理 的情况。本实施例5的图象解码装置的结构与实施例1的相同,说明时 使用图4。\n图14是表示本实施例5的可变长度解码方法的处理顺序的流程图。 在本实施例5的图象解码处理中,只由图4所示的可变长度解码器408 进行处理,这一点与实施例1不同,所以以下根据图14说明可变长度 解码器408的解码处理的工作情况。\n首先,如果在步骤1401中开始处理,则在步骤1402中作为输入可 变长代码输入作为第j个处理对象的量化了的变换系数的可变长代码。 这里,在本实施例5的图象编码处理中,如上所述能获得包含输入辅助 码的编码结果,所以该输入辅助码也和可变长代码一起作为处理对象被 输入。在步骤1403中,判断输入可变长代码是否包括控制码,如果包 括,执行步骤1404,如果不包括,执行步骤1405。执行了步骤1404后, 即在有控制码的情况下,将输入可变长代码作为固定长度码进行解码, 使系数再生并输出后,转移到下文所述的步骤140。\n另一方面,执行了步骤1405后,即在没有控制码的情况下,通过 使用第一可变长代码表,取得与输入可变长代码对应的 (Last,Run,Level),然后执行步骤1406,对所取得的电平的值进行乘 以规定值的变换处理。规定的值是根据量化幅度规定的值,这里是对应 于编码处理,采用图13所示的值。然后,在步骤1407中通过对输入辅 助码进行固定长度解码,取得电平的剩余,通过对在步骤1406中的变 换处理获得的积进行加法运算,取得正的电平值,使用该电平值的 (Last,Run,Level)被作为解码结果输出。\n在执行了步骤1404、或步骤1405~1407中的任意一个步骤后,在接 着的步骤140中判断所处理的输入可变长代码是否是最后的输入可变 长代码,若是最后时,则在步骤1409中结束编码处理。另一方面,若 不是最后时,则在步骤1410中使j增加1后,返回步骤1402,进行与 下一个输入可变长代码同样的处理。这样,将处理连续地进行到最后的 可变长代码为止。\n这样如果采用本实施例5的图象编码方法,则如图12中的步骤1203 所示,使用根据量化幅度规定的数,对作为处理对象的输入事件所具有 的电平值进行除法运算的变换处理,在步骤1204中用进行过该变换处 理的变换输入事件进行比较处理,所以能提高与可变长代码表中包含的 参照事件的一致率,降低在步骤1206中进行的固定长度编码率,另外, 通过使用变换输入事件,能在可变长度编码中提高分配短码的可能性, 能谋求提高编码效率。\n另外,如果采用本实施例5的图象编码装置,则由于备有执行上述 这样的编码方法的可变长度编码器211,所以在编码器203中的压缩编 码的压缩率为高压缩率的情况下,或者在低压缩率的情况下,都能使用 同一个可变长代码表,能获得压缩率好的编码结果。\n另外,如果采用本实施例5的图象解码方法及图象解码装置,则能 对应于如上获得的编码结果,进行适当的解码处理,获得再生图象。\n另外,在本实施例5中,说明了对事件所具有的电平进行变换处理 的情况,但也可以不对电平,而是对运算进行变换处理。\n实施例6\n本发明的实施例6的图象编码方法是将对输入事件进行变换处理代 之以对参照事件进行变换处理并进行比较的方法。\n图15是表示本实施例6的可变长度编码方法中的处理顺序的流程 图。另外,本实施例6的图象编码装置具有与实施例1同样的结构,说 明时用图2。\n在本实施例6的图象编码处理中,虽然只用图2所示的可变长度编 码器211进行处理,但与实施例1不同,所以以下根据图15说明可变 长度编码器211的编码处理工作的情况。如果在步骤1501中开始处理, 则在步骤1502中获得由(Last,Run,Level)构成的第j个输入事件。另 外,还输入在量化处理中使用的量化幅度。然后,在步骤1503中从可 变长代码表取得第j个参照事件,在步骤1504中对该参照事件进行变换 处理,生成变换参照事件。\n在本实施例6中,该变换处理的方法是将根据在步骤1502中输入 的量化幅度设定的偏置值加到参照事件所具有的电平值上来进行变换。 这里,这样进行设定:量化幅度为1或2时,偏置值=5,量化幅度为3 或4时,偏置值=4,量化幅度为5或6时,偏置值=3,量化幅度为7或 时,偏置值=2,量化幅度为9或10时,偏置值=1,量化幅度为11以 上时,偏置值=0。例如,成为编码对象的事件为(Last,Run,Level)=(0、 1、6)时,在对参照事件进行变换处理的情况下,有相当于图19所示 的参照事件,使用对应的码,所以编码结果为13位。可是,量化幅度 为4时,在以该事件为对象的情况下,对全部参照事件都进行电平值加 4的变换处理,所以变成使用与图19所示的参照事件(0、1、2)对应 的可变长代码,这时变为7位,与进行上述的变换处理时相比,能节省 6位。这样,将偏置值加在参照事件的电平上,等效于从成为编码对象 的事件(Last,Run,Level)的电平减去偏置值,再与可变长代码表中的各 项进行比较的方法。\n如在实施例5中所述,如果量化幅度小,则量化了的系数值有变大 的趋向,所以电平值大的事件出现的频度增大。与此不同,图19至图 22所示的可变长代码表适合于压缩率高的系数,多半含有电平值小的事 件。因此,通过将偏置值加在参照事件所具有的电平值上,与对输入事 件所具有的电平值进行减法处理的情况(实施例1等)相同,能提高用 短码进行的可变长度编码率,能谋求提高压缩率。\n在步骤1505中,进行在步骤1504中的比较结果的判断处理。在步 骤1505的判断中在一致的情况下,执行步骤1506后,输出与第i个参 照事件对应的可变长代码,然后转移到下文所述的步骤1509。另一方面, 在不一致的情况下,执行步骤1507。\n在步骤1507中,判断第i个参照事件是否是可变长代码表中包含的 最后的参照事件,在是最后的参照事件的情况下,执行步骤150。在不 是最后的参照事件的情况下,在步骤1502中使i增加1后,返回步骤 1503,反复进行到在步骤1507中的判断。\n通过从步骤1503至步骤1507的处理,反复进行第j个输入事件和 可变长代码表中含有的参照事件的比较,直至在步骤1505中断定为一 致,或在步骤1507中断定为最后为止。即,一直比较到进行可变长度 编码或比较到可变长代码表的最后结束。\n在步骤1507中,在断定为最后的情况下,即在第j个输入事件和可 变长代码表中的参照事件的比较结束了的情况下,不进行可变长度编 码,在步骤150中对输入事件进行固定长度编码,控制码被附加在编 码结果上输出后,转移到步骤1509。\n在继步骤1506或步骤150之后执行的步骤1509中,判断所处理的 输入事件是否是最后的输入事件,若是最后时,则在步骤1510中结束 编码处理。另一方面,若不是最后时,则在步骤1511中使j增加1后, 返回步骤1502,进行与下一个输入事件同样的处理。这样,将处理连续 地进行到最后的非零系数为止。\n图16是表示本发明的实施例6的图象编码装置中使用的可变长度 编码器(图2中的211)的内部结构框图。如图所示,该可变长度编码 器备有可变长代码表1601、电平变换器1602、比较器1603、固定长度 编码器1604、以及开关1605,输入输入事件和量化幅度,输出编码结 果。\n可变长代码表1601是图19~图22所示的表。电平变换器1602输入 量化幅度和参照事件,与量化幅度对应地变换参照事件所具有的电平 值,生成变换参照事件。比较器1603进行输入事件和变换参照事件的 比较处理,对应于比较结果输出控制信号。固定长度编码器1604在输 入了输入事件时,对它进行固定编码处理,输出编码结果。开关1605 对应于来自比较器1603的输出进行切换,将来自可变长代码表1601的 输出、或来自固定长度编码器1604的输出作为编码结果输出。\n以下对应于图15中的流程,说明这样构成的可变长度编码器的工 作情况。在图15所示的流程的步骤1502中,如果量化幅度和输入事件 (第j个)被输入该可变长度编码器(图2中的211)中,量化幅度由 信号线1611输入电平变换器1602,另外输入事件由信号线1612输入比 较器1603。在图1 5所示的流程的步骤1503中,电平变换器1602由信 号线1613从可变长代码表取得参照事件(第i个),用输入的量化幅度 对该参照事件所具有的电平值进行变换处理,将所获得的变换参照事件 输出给比较器1603。\n在图15所示的流程的步骤1505中,由比较器1603进行比较处理和 判断处理。比较器1603进行输入的输入事件和变换参照事件的比较处 理,判断是否一致。在断定为一致的情况下,比较器1603经由信号线 1615将控制信号送给可变长代码表1601,以便输出与该第i个参照事件 对应的码,同时通过信号线1617将控制信号送给开关1605,以使来自 开关1605的输出是来自可变长代码表1601的码。于是,在步骤1505 中的判断结果为“一致”的情况下,在图15所示的流程的步骤1506中, 由开关1605的输出信号线1620输出可变长代码。\n另一方面,在比较器1603的比较处理中,在不一致的情况下,利 用经由信号线1615的控制信号,下一个(第i+1个)参照事件从可变长 代码表1601被输入电平变换器1602。在图15的流程中,在步骤1512 中i增加后,执行从步骤1503开始的反复过程。\n在步骤1507的判断中,在确认了比较处理已进行到了可变长代码 表的最后而结束的情况下,比较器1603利用信号线161将该输入事件 (第j个)输出给固定长度编码器1604,同时通过信号线1617还将控 制信号送给开关1605,以便使来自开关1605的输出是来自固定长度编 码器1604的码。\n在图15所示的流程的步骤150中,固定长度编码器1604对所输入 的输入事件进行编码处理,将所获得的编码结果通过信号线1619输出 给开关1605。利用来自比较器1603的控制信号,固定长度码从开关1605 经过信号线1620输出。\n在从信号线1620输出后,从信号线1612输入下一个输入事件,反 复进行对图15的流程中的输入事件的处理。\n这样,进行本发明的实施例6的图象编码,而在图4所示的图象解 码装置中对通过这样的图象编码获得的编码数据进行解码处理。在本实 施例6的图象解码处理中,只由图4所示的可变长度解码器40进行处 理,这一点与实施例1不同,所以以下根据图17说明可变长度解码器 408的解码处理的工作情况。\n如图17所示,该可变长度解码器备有可变长代码表1701、比较器 1702、电平逆变换器1703、固定长度解码器1704、以及开关1705,输 入输入可变长代码和量化幅度,输出解码处理的再生结果。\n可变长代码表1701是图19~图22所示的表。比较器1702进行输入 可变长代码和参照可变长代码的比较处理,对应于比较结果输出控制信 号。电平逆变换器1703输入量化幅度和参照事件,对应于量化幅度变 换参照事件所具有的电平值,生成变换参照事件。固定长度解码器1704 在输入了输入可变长代码后,对它进行固定长度解码处理,输出解码结 果。开关1705对应于来自比较器1702的输出进行切换,作为再生结果 输出来自可变长代码表1701的输出或来自固定长度解码器1704的输 出。\n以下说明这样构成的可变长度解码器的工作情况。如果量化幅度和 输入可变长代码被输入该可变长度解码器(图4中的408),则量化幅 度由信号线1711输入电平逆变换器1703,另外输入的可变长代码由信 号线1712输入比较器1702。比较器1702经由信号线1713从可变长代 码表1701取得参照可变长代码,进行输入可变长代码和参照可变长代 码的比较。\n在通过比较断定为一致的情况下,比较器1702经由信号线1712将 控制信号送给可变长代码表1701,以便输出对应于该参照可变长代码的 参照事件,同时通过信号线1714还将控制信号送给开关1705,以便使 来自开关1705的输出是来自可变长代码表1701的码。\n参照事件从可变长代码表经由信号线1715被输入电平逆变换器 1703,得到变换处理。电平逆变换器1703对应于参照事件所具有的电 平,根据量化幅度,进行编码时所进行的变换处理的逆处理。在本实施 例6中,将对应于量化幅度规定的偏置值加到参照事件所具有的电平值 中。如下使用:量化幅度为1或2时,偏置值=5,量化幅度为3或4时, 偏置值=4,量化幅度为5或6时,偏置值=3,量化幅度为7或8时,偏 置值=2,量化幅度为9或10时,偏置值=1,量化幅度为11以上时,偏 置值=0。例如,假定输入可变长代码为“0101000”,作为参照事件从图 19所示的表取得(Last,Run,Level)=(0、1、2)。在输入了该参照事 件的电平逆变换器1703中,假定所输入的量化幅度为4,便在参照事件 所具有的电平上加4,将所获得的结果(0、1、6)由信号线1716输出 给开关1705。然后,对应于来自比较器1702的控制信号,开关1705将 该结果作为再生结果由信号线1720输出。因此,在断定为“一致”的情 况下,由开关1705的输出信号线1720输出可变长代码。\n另一方面,在比较器1702的比较处理中,在未找到一致的参照可 变长代码的情况下,比较器1703将该输入可变长代码由信号线1718输 出给固定长度编码器1704,同时将通过信号线1717的控制信号送给开 关1705,以便使来自开关1705的输出是来自固定长度编码器1704的码。 因此,由开关1705的输出信号线1720输出固定长度编码的结果。\n这样,如果采用本实施例6的图象编码方法,通过对可变长度编码 表中所具有的参照事件进行图15中的步骤1502所示的变换处理,与对 输入事件进行同等的变换处理的实施例1等一样,能提高可变长度编码 的实施率、以及短码的分配率,能谋求提高编码效率。\n另外,如果采用本实施例6的图象编码装置,则由于备有具有图16 所示的内部结构的执行上述这样的编码方法的可变长度编码器211,所 以在编码器203中的压缩编码的压缩率为高压缩率的情况下,或者在低 压缩率的情况下,都能使用同一个可变长代码表,能获得压缩率好的编 码结果。\n另外,如果采用本实施例6的图象解码方法及图象解码装置,则能 对应于如上获得的编码结果,进行适当的解码处理,获得再生图象。\n另外,在本实施例6中,作为对参照事件的变换处理,虽然说明了 采用偏置值的加法运算的方法,但不受此限,也可以采用其它的函数。 例如,可以采用根据量化幅度改变加在电平值上的倍数,或采用二次函 数,或变更电平的动态范围的方法,也能获得上述的效率。\n另外在实施例1等中,说明了对输入事件的变换处理可以采用进行 对运算值的变换处理的方来代替对参照事件的电平的变换处理。\n以上说明了本发明的实施例,但任何一个实施例中用流程图示出的 处理顺序都是一个例子,也可以用其它的处理顺序执行同样的编码解码 方法。\n另外,本发明的实施例1~6所示的图象编码装置及图象解码装置将 进行各个实施例所示的图象编码方法或图象解码方法的图象编码程序 或图象解码程序记录在记录媒体上,通过在有个人计算机、工作站等的 计算机系统中执行该记录的程序实现图象的编码和解码。作为记录媒体 可以使用软盘、CD-ROM等光盘等能记录程序的记录媒体。\n如上所述,如果采用本发明的图象编码方法及图象编码装置,将通 过对数字图象数据进行DCT、波形编码等的处理而压缩编码后的数据作 为处理对象,对于其压缩度不同范围的对象灵活使用一个可变长代码 表,就能进行压缩率高的编码处理。\n另外,如果采用本发明的图象解码方法及图象解码装置,对上述那 样有效的编码处理过的编码结果适当地进行解码处理,能获得再生图 象。\n另外,如果采用本发明的图象编码程序记录媒体及图象解码程序记 录媒体,则通过在计算机系统中执行该记录的程序,灵活使用装置资源, 能实现能获得高压缩率的编码结果的图象编码装置、以及能适当地处理 这样的编码结果的图象解码装置。\n本申请是申请号为01139432.3,申请日为1997年11月6日,发明名 称为“图象编码解码方法和图象编码解码装置”的分案申请。
法律信息
- 2017-12-26
专利权有效期届满
IPC(主分类): H04N 7/50
专利号: ZL 200510054265.0
申请日: 1997.11.06
授权公告日: 2008.06.04
- 2014-08-06
专利权的转移
登记生效日: 2014.07.14
专利权人由松下电器产业株式会社变更为松下电器(美国)知识产权公司
地址由日本大阪府变更为美国加利福尼亚州
- 2008-06-04
- 2005-12-07
- 2005-10-12
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1993-02-23
| | |
2
| | 暂无 |
1993-10-25
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |