CN1246990A - 可变长度译码装置及译码方法 - Google Patents

可变长度译码装置及译码方法 Download PDF

Info

Publication number
CN1246990A
CN1246990A CN98802246A CN98802246A CN1246990A CN 1246990 A CN1246990 A CN 1246990A CN 98802246 A CN98802246 A CN 98802246A CN 98802246 A CN98802246 A CN 98802246A CN 1246990 A CN1246990 A CN 1246990A
Authority
CN
China
Prior art keywords
mistake
mentioned
coded data
decoding
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN98802246A
Other languages
English (en)
Other versions
CN1153353C (zh
Inventor
中条健
渡边敏明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of CN1246990A publication Critical patent/CN1246990A/zh
Application granted granted Critical
Publication of CN1153353C publication Critical patent/CN1153353C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/69Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)

Abstract

首先将采用了可从双向译码的可变长度代码字的编码数据输入到正向译码器(123),由其从正向进行译码处理。在从该正向的译码处理中,如在编码数据内发现差错,则接着由反向译码器(126)开始从反向进行译码处理。由译码值决定部(125)利用分别从正向和反向的译码结果、及从正向和反向的译码中分别发现的编码数据的位上的差错发现位置和语法上的差错发现位置决定译码值。

Description

可变长度译码装置及译码方法
技术领域
本发明涉及对例如动图象信号等由在压缩编码中采用的可变长码构成的编码数据进行译码的可变长度译码装置及译码方法。
背景技术
可变长码,是根据符号的发生频度分别对频繁出现的符号分配代码长度短的代码、而对只是很少出现的符号分配代码长度长的代码从而平均地生成代码长度短的代码的代码序列。因此,当采用可变长码时,与编码前的数据相比,可以大幅度地压缩数据量。由于上述原因,可变长码作为用于信息压缩的代码获得广泛应用。
对于动图象编码方式,也在MPEG1、MPEG2、H.261、H.263等一般的标准方式中采用着可变长码。
作为可变长码的一般问题,可以举出这样一点,即当因传输线路差错或其他原因而在编码数据中混入了差错时,由于其影响的传播,将使译码装置不能对混入了差错的以后的数据进行正确的译码。为避免这种问题,一般采用当在传输线路中有可能发生差错时在数据中按一定间隔插入同步码借以防止差错传播的方法。对同步码分配在可变长码的组合中不出现的位模式。按照这种方法,即使在编码数据中发生差错因而已不能译码,也可以找到下一个同步码并从该处重新开始译码,所以能防止差错的传播,并可以继续进行译码。
但是,即使采用了同步码,对从发生差错而不能正确译码的位置起到发现下一个同步码的位置之间的编码数据,也仍然不能进行译码。
因此,在本申请人的专利申请(特愿平7-260383号及特愿平9-81614号)中提出了一种可变长度编码/译码装置,采用可在正向和反向两个方向上译码的可变长码从下一个同步码起进行反向译码,从而减少不能译码的部分。
但是,即使在采用了这种可变长度编码/译码装置的情况下,可以检出编码数据差错的条件也是出现了不是作为可变长码的代码字使用的位模式,所以有时不是在实际混入差错的位置而是在其相当靠后的位置发现差错。其原因是,即使是实际混入了差错的位置,在该位置上也不一定必然出现不是作为可变长码的代码字使用的位模式,因此只要符合作为可变长码的代码字使用的位模式,就可以继续进行译码处理。因此,就产生了将本来不正确的代码字错误地当作正确的代码字而进行译码的问题。
另一方面,迄今为止,作为动图象编码·译码装置的传输线路差错的对策,已探讨了各种各样的方法。例如,在文献(″图象编码技术″,黑田英夫著,昭晃堂,1996)中,作为传输线路差错的对策公开了若干种方法。其中,作为在译码器侧进行的技术,介绍了一种隐误技术。隐误技术,是当编码数据发生短缺时使用画面上周围的动矢量等使差错的影响尽可能不出现在画面上的技术。
但是,在将本来不正确的代码字错误地当作正确的代码字而进行译码的情况下,存在着不能采用像上述隐误技术之类的使差错的影响尽可能不出现的技术因而差错的影响仍会在画面上出现的问题。
特别是,存在着帧内编码(INTRA)模式下的差错影响比帧间预测编码(INTER)模式的影响大因而在画面上出现颜色不自然的图块的问题。
如上所述,在现有的可变长度译码装置中,当对可变长码进行译码时,有时会将本来不正确的代码字错误地当作正确的代码字而进行译码,因此,在应用于进行了可变长度编码的动图象信号的译码时,存在着差错的影响在画面上出现的问题。
本发明的目的是,提供一种能够减少将本来不正确的代码字错误地当作正确的代码字而进行译码的情况的发生从而可实现足够抗错性的可变长度译码装置及译码方法。
发明的公开
本发明提供的可变长度译码装置,备有:输入部,用于接受由可变长码构成的编码数据,该可变长码由包含在正向或反向都能进行译码的代码字的代码字构成;正向译码部,从正向对上述编码数据进行译码;反向译码部,从反向对上述编码数据进行译码;及译码值决定部,根据上述正向译码部和反向译码部的译码结果输出最终译码结果;上述正向译码部及反向译码部,分别具有对上述编码数据的差错进行检测的部,上述译码值决定部,利用指示由上述正向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置、及指示由上述反向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置,决定译码值。
在该可变长度译码装置中,当由上述正向译码部及反向译码部分别发现了差错时,将该差错发现位置作为位上的位置和语法上的位置的两种位置信息通知译码值决定部。因此,就能以位上的差错发现位置和语法上的差错发现位置对实际的差错位置进行双重检查,并能以相当大的概率仅利用只与正确的代码字对应的译码结果,从而可以减少将本来不正确的代码字错误地当作正确的代码字而进行译码的情况。
另外,作为译码值决定部的译码值决定方法,最好是,(a)当正向译码部和反向译码部中的差错发现位置无论在位上的位置还是在语法上的位置都不交叉时,将正向的译码结果用作与在正向译码部的位上或语法上的差错发现位置的一定量之前的代码字对应的译码值,将反向的译码结果用作与在反向译码部的位上或语法上的差错发现位置的一定量之后的代码字对应的译码值,并将其余的编码数据废弃;(b)当正向译码部和反向译码部中的差错发现位置在位上的位置不交叉而在语法上的位置交叉时,将正向的译码结果用作与紧接在反向译码部的语法上的差错发现位置之前的代码字对应的译码值,将反向的译码结果用作与紧接在正向译码部的语法上的差错发现位置之后的代码字对应的译码值,并将语法上的差错发现位置交叉部分的编码数据废弃;(c)当正向译码部和反向译码部中的差错发现位置在位上的位置交叉而在语法上的位置不交叉时,将正向的译码结果用作与紧接在反向译码部的位上的差错发现位置之前的代码字对应的译码值,将反向的译码结果用作与紧接在正向译码部的位上的差错发现位置之后的代码字对应的译码值,并将位上的差错发现位置交叉部分的编码数据废弃;(d)当正向译码部和反向译码部中的差错发现位置无论在位上的位置还是在语法上的位置都交叉时,选择交叉部分为最大的位置为差错发现位置,而将正向的译码结果用作与紧接在反向译码部的差错发现位置之前的代码字对应的译码值,将反向的译码结果用作与紧接在上述正向译码部中的差错发现位置之后的代码字对应的译码值,并将差错位置交叉部分的编码数据废弃。
按照如上方式,可以考虑可变长码的差错发现位置比本来混入差错的位置相当靠后的情况,并在差错发现位置在正向或反向都不交叉的(a)的情况下,可以使用一直回溯到其位置与差错发现位置相距一定量的代码字,对于正向和反向差错发现位置以任何形式交叉的(b)~(d)的情况,通过将交叉范围宽的部分废弃,可以有效地防止发生将本来出错的部分判断为正确的情况。
本发明提供的动图象译码装置,备有:输入部,用于接受包含可变长码的动图象信号的编码数据,该编码数据,通过用在正向或反向都能译码的代码字对变换系数进行编码生成,该变换系数,通过对动图象信号进行正交变换而求得;同步区间检测部,用于检测上述编码数据的同步区间;正向译码部,从正向对由上述同步区间检测部检测出的规定同步区间的编码数据进行译码;反向译码部,从反向对由上述同步区间检测部检测出的规定同步区间的编码数据进行译码;及译码值决定部,根据正向译码部和反向译码部的译码结果输出最终译码结果;上述正向译码部及反向译码部,分别具有对上述编码数据的差错进行检测的差错检测部,上述译码值决定部,利用指示由上述正向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置、及指示由上述反向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置,决定译码值。
一般说来,在动图象编码方式的性质上,与将本来正确的部分废弃的影响相比,将本来错误的部分判断为正确的影响对显示画面造成的影响大。因此,通过以位上的差错发现位置和语法上的差错发现位置进行双重检查,可以大幅度地减低因将本来错误的部分判断为正确而对显示画面造成的影响。
另外,作为该动图象译码装置的译码值决定部的译码值决定方法,最好是,(a)当正向译码部和反向译码部的差错发现位置无论在位上的位置还是在语法上的位置都不交叉时,将正向的译码结果用作与在正向译码部的位上或语法上的差错发现位置的一定量之前的微数据块对应的译码值,将反向的译码结果用作与在反向译码部的位上或语法上的差错发现位置的一定量之后的微数据块对应的译码值,并将由其余的微数据块的变换系数构成的编码数据废弃;(b)当正向译码部和反向译码部中的差错发现位置在位上的位置不交叉而在语法上的位置交叉时,将正向的译码结果用作与紧接在反向译码部的语法上的差错发现位置之前的微数据块对应的译码值,将反向的译码结果用作与紧接在正向译码部的语法上的差错发现位置之后的微数据块对应的译码值,并将由语法上的差错发现位置交叉的微数据块的变换系数构成的编码数据废弃;(c)当正向译码部和反向译码部中的差错发现位置在位上的位置交叉而在语法上的位置不交叉时,将正向的译码结果用作与紧接在反向译码部的位上的差错发现位置之前的微数据块对应的译码值,将反向的译码结果用作与紧接在正向译码部的位上的差错发现位置之后的微数据块对应的译码值,并将由位上的差错发现位置交叉的微数据块的变换系数构成的编码数据废弃;(d)当正向译码部和反向译码部中的差错发现位置无论在位上的位置还是在语法上的位置都交叉时,选择交叉部分最大位置为差错发现位置,并将正向的译码结果用作与紧接在反向译码部的差错发现位置之前的微数据块对应的译码值,将反向的译码结果用作与紧接在上述正向译码部中的差错发现位置之后的微数据块对应的译码值,并将由差错发现位置交叉的微数据块的变换系数构成的编码数据废弃。
按照如上方式,可以考虑可变长码的差错发现位置比本来混入差错的位置相当靠后的情况,并在差错发现位置在正向或反向都不交叉的(a)的情况下,可以使用一直回溯到其位置与差错发现位置相距一定量的微数据块,对于正向和反向差错发现位置以任何形式交叉的(b)~(d)的情况,通过将交叉范围宽的部分废弃,可以有效地防止发生将本来出错的部分判断为正确的情况。
进一步,当在同步区间内的编码数据中检出差错时,译码值决定部,在未检出差错的微数据块内,将由进行了帧内编码的微数据块的变换系数构成的编码数据的一部分或全部废弃。
帧内编码模式,当发生差错时对画面造成的影响大。具体地说,由于显示出错的系数而发生在画面内出现颜色不自然的图块的现象。因此,如果判明至少在同步区间内发生差错,则将帧内编码模式的微数据块废弃可以减小对画面的影响。
另外,译码值决定部,对已将编码数据废弃的微数据块,在帧内编码模式的情况下显示前面的画面或作为不进行编码的模式处理,并在帧间预测编码模式的情况下进行动态补偿。
当已将DCT系数废弃时,在帧内编码模式的情况下,由于没有动矢量,所以显示前一个画面或作为不进行编码的模式处理,在帧间编码的情况下,由于有上层(upper layer)的动矢量,可利用其进行动态补偿,所以,即使没有DCT系数,也能生成相当自然的图象。即,DCT系数是下层(lower layer),动矢量是上层。因此,即使没有下位的DCT系数,但如果有上位的动矢量,就可以生成图象。
另外,本发明提供的可变长度译码装置,备有:输入部,用于接受由可变长码构成的编码数据,该可变长码由包含在正向或反向都能进行译码的代码字的代码字构成;正向译码部,从正向对编码数据进行译码;反向译码部,从反向对编码数据进行译码;及译码值决定部,根据正向译码部和反向译码部的译码结果输出最终译码结果;正向译码部及反向译码部,分别具有对编码数据的差错进行检测的差错检测部,译码值决定部,根据由正向和反向译码部检出的编码数据的差错检测位置、传输系统或存储系统的误码率、各代码字的发生概率、及代码字表中的代码字的位模式,推断差错的存在范围,从而决定最终的译码值。
在该可变长度译码装置中,根据传输系统或存储系统的误码率及代码字的性能,以一定的概率从差错发现位置推断实际的差错存在位置,所以能够使将本来不正确的代码字错误地当作正确的代码字而进行译码的情况减低到一定的概率以下。
附图的简单说明
图1是用于说明可逆码的代码字的第1构成方法的图。
图2A和图2B是分别表示正向码树及反向码树的图。
图3是用于说明可逆码的代码字的第2构成方法的图。
图4是用于说明可逆码的代码字的第3构成方法的图。
图5是表示采用了本发明第1实施形态的可变长度译码装置的编码译码系统的结构的框图。
图6A和图6B是表示在第1实施形态的可变长度译码装置中采用的编码数据的语法例的图。
图7A和图7B是用于说明第1实施形态的可变长度译码装置的第1译码值判断方法的原理的图。
图8A和图8B是用于说明第1实施形态的可变长度译码装置的第2译码值判断方法的原理的图。
图9是说明第1实施形态的可变长度译码装置的译码值判断方法的步骤的流程图。
图10是表示采用了本发明第2实施形态的动图象译码装置的动图象编码/译码系统的结构的框图。
图11是表示第2实施形态的动图象译码装置的动图象多路分离器的结构的框图。
图12A和图12B是表示在第2实施形态的动图象译码装置中采用的编码数据的语法的图。
图13是表示在第2实施形态的动图象译码装置中所设有的下层可变长度译码器的结构的框图。
图14是表示在第2实施形态的动图象译码装置中所设有的信息源译码器的结构的框图。
图15A和图15B是用于说明第2实施形态的动图象译码装置的第1译码值判断方法的原理的图。
图16A和图16B是用于说明第2实施形态的动图象译码装置的第2译码值判断方法的原理的图。
图17是用于说明第2实施形态的动图象译码装置的第3译码值判断方法的原理的图。
图18是说明第2实施形态的动图象译码装置的译码值判断方法的步骤的流程图。
图19是说明图10的动图象编码/译码系统的编码器采用可逆码对动图象信号的DCT系数进行可变长度编码的步骤的流程图。
图20是说明图10的动图象编码/译码系统的正向译码器对包含可逆码编码数据进行可变长度译码的步骤的流程图。
图21是说明图10的动图象编码/译码系统的反向译码器对包含可逆码的编码数据进行可变长度译码的步骤的流程图。
图22是表示在图10的动图象编码/译码系统的编码器中为从INTRA模式的非LAST系数的RUN及LEVEL值检索代码字表的INDEX值而采用的INDEX表的图。
图23是表示在图10的动图象编码/译码系统的编码器中为从INTER模式的非LAST系数的RUN及LEVEL值检索代码字表的INDEX值而采用的INDEX表的图。
图24是表示在图10的动图象编码/译码系统的编码器中为从LAST系数的RUN及LEVEL检索代码字表的INDEX值而采用的INDEX表的图。
图25是表示在图10的动图象编码/译码系统中使用的代码字表的一部分的图。
图26是表示在图10的动图象编码/译码系统中使用的代码字表的其余部分的图。
图27是表示在图10的动图象编码/译码系统中使用的RUN用固定长度代码字表的图。
图28是表示在图10的动图象编码/译码系统中使用的LEVEL用固定长度代码字表的图。
图29是表示在图10的动图象编码/译码系统中使用的固定长度可逆码的数据形式的图。
图30是表示在图10的动图象编码/译码系统的译码器中使用的代码字表的一部分的图。
图31是表示在图10的动图象编码/译码系统的译码器中使用的代码字表的其余部分的图。
图32是表示在第2实施形态的动图象译码装置中根据不在代码字中使用的位模式的出现检测差错的方法的步骤的流程图。
图33是表示在第2实施形态的动图象译码装置中根据语法上不可能有的状态的出现检测差错的方法的步骤的流程图。
图34是表示LEVEL用固定长度代码字表的其他结构例的图。
图35是表示在两端附加了ESCAPE码的编码数据串的其他结构例的图。
图36是表示在两端附加了ESCAPE码的编码数据串的另一种结构例的图。
图37是表示使用了图35或图36的编码数据串时的编码处理步骤的流程图。
图38是表示使用了图35或图36的编码数据串时的正向译码处理步骤的流程图。
图39是表示使用了图35或图36的编码数据串时的反向译码处理步骤的流程图。
图40是表示使用了图35或图36的编码数据串时所采用的差错检测处理步骤的流程图。
图41是表示使用了二进制补码表示的LEVEL固定长度代码字表的结构例的图。
图42是表示使用了图41的LEVEL固定长度代码字表时的编码数据串的结构例的图。
图43是表示使用了图41的LEVEL固定长度代码字表时的编码数据串的其他结构例的图。
图44是表示编码数据串的其他结构例的图。
图45是表示使用了图41的LEVEL固定长度代码字表时的编码数据串的又一种结构例的图。
图46是表示使用了图41的LEVEL固定长度代码字表时的编码数据串的另一结构例的图。
图47是表示使用了图42、图43或图46的编码数据串时所采用的正向译码处理步骤的流程图。
图48是表示使用了图42、图43或图46的编码数据串时所采用的反向译码处理步骤的流程图。
图49是表示使用了图45的编码数据串时所采用的正向译码处理步骤的流程图。
图50是表示使用了图45的编码数据串时所采用的反向译码处理步骤的流程图。
图51是表示本发明第3实施形态的可变长度译码装置的结构的框图。
图52是表示不能以等号满足Kraft不等式的代码的图。
图53是表示不能以等号满足Kraft不等式的代码的码树的图。
图54是说明二进制对称通信线路的图。
图55是二进制对称通信线路上的代码字的状态迁移图的例。
图56是二进制对称通信线路上的代码字的状态迁移表。
图57A、57B和57C是表示出该第3实施形态的译码值决定部的译码动作的图。
图58A、58B和58C是表示出该第3实施形态的译码值决定部的另一种译码动作的图。
图59是表示组装了本发明的可变长度译码装置的系统一例的图。
用于实施发明的最佳形态
以下,参照附图说明本发明的实施形态。
本发明,将可在正向和反向两个方向上译码的可逆码(ReversibleVLC)用作可变长码,所以在说明本发明的实施形态前先参照图1~图4说明可逆码。
图1示出可逆码的代码字的第1构成方法。首先,如图1的左侧所示,按代码长度短的顺序以各序列的权重(在该情况下,为″1″的数)为定值的形式生成具有不同权重的2个二进制序列(在该情况下,权重为0个和1个)。接着,如图1的中央所示,在该二进制序列的开头和末尾分别追加″1″并使权重为1的二进制序列的位反转,然后,如图1的右侧所示,将这2个二进制序列合成。
在该可变长码中,通过对位于各代码开头的符号的个数进行计数而得知代码的长度。在图1的例中,代码的结构为,当开头为″0″时,如果″0″出现了3个就可以得知代码的分界(代码长度),当开头为″1″时,如果″1″出现了2个就可以得知代码的分界。此外,该图1中示出的可变长码,无论对图2A所示的正向译码树的叶部还是对图2B所示的反向译码树的叶部都分配了与所有信息符号A~J对应的代码字,所以可以看出在正向或反向都可以进行译码。
图3示出可逆码的代码字的第2构成方法。首先,如图3的左侧所示,准备好第1可逆码及第2可逆码。其次,如图3的中央所示,在第1可逆码的所有代码字的末尾追加第2可逆码的开头的一个代码字。接着,同样地在第1可逆码的所有代码字的末尾逐个地追加第2可逆码的所有代码字,然后,如图3的右侧所示,进行重新排列,从而构成新的可逆码。按照这种构成方法,可以构成将第1可逆码的代码字数A(在本例中A=9)与第2可逆码的代码字数B(在本例中B=3)相乘后的个数为A×B个(在本例中为27个)的新的可逆码。
当对本构成方法的可逆码进行译码时,如从正向译码,则首先对第1可逆码译码,然后对第2可逆码进行译码。当从反向译码时,首先对第2可逆码译码,然后对第1可逆码进行译码。因此,可以看出在正向或反向都可以进行译码。
另外,在本例中,在第1可逆码的代码字末尾追加了第2可逆码,但也可以将第2可逆码追加在第1可逆码的开头,还可以在第1可逆码的代码字的末尾和开头两边都追加固定长度码。此外,在本例中,采用了不同的第1可逆码和第2可逆码,但也可以使用同一个可逆码。进一步,在本实施形态中,第1可逆码或第2可逆码都采用了可变长码,但也可以将其中任何一个变更为固定长度码。
图4示出可逆码的第3代码构成方法。首先,如图4的左侧所示,准备好可变长度的可逆码及固定长度的可逆码。其次,如图4的右侧所示,在可逆码的代码字的各位的后面追加固定长度的可逆码。按照这种构成方法,当采用K位的固定长度可逆码时,可以使H位的代码字变为(K+1)H位,并使代码字数变为2KH倍。
另外,在本例中,在可逆码的代码字的每个位的后面追加了固定长度代码,但也可以将固定长度码追加在各位的前面,还可以在前面和后面两边都追加固定长度码。
以下,说明按照本发明的实施形态的可变长度编码/译码装置的结构。
(第1实施形态)
在图5中,示出本发明第1实施形态的可变长度编码/译码装置的结构。该可变长度编码/译码装置,执行可变长度编码数据的生成及其译码。在可变长度编码数据中按一定间隔插入同步码,并将如上所述的可在正向和反向两个方向上译码的可逆码(Reversible VLC)用作可变长码。
可变长度译码装置11,如图5所示,由编码器111、代码字表112、及同步区间设定部113构成。在代码字表112内,以与各信息符号对应的方式存储着根据参照图1~图4说明过的可逆代码字的构成方法预先生成的可变长度代码字。在该代码字表112中,还与各信息符号对应地存储着在正向或反向都能译码的可逆码。编码器111,参照代码字表112将信息符号编码为可变长度代码字,并从存储在代码字表112内的代码字中选择和输出与所输入的信息符号对应的代码字。在同步区间设定部113中,按每个同步区间汇集由编码器111选定的代码字,进一步插入在正向或反向都能译码的填充代码,并按每个同步区间输出编码数据。该编码数据,通过传输系统或存储系统13传送到可变长度译码器12。
可变长度译码器12,包括同步区间检测部121、缓冲器122、2个开关S和T、正向译码器123、正向代码字表124、译码值决定部125、反向译码器126、及反向代码字表127。
在可变长度译码器12中,由同步区间检测部106检测从传输系统或存储系统13输入的编码数据的同步区间,并按该每个同步区间进行编码数据的译码处理。
当从传输系统或存储系统13输入的编码数据为只能正向译码的可变长码时,开关S连接在A侧,由正向译码器123使用正向代码字表124进行通常的正向译码。由正向译码器123译码后的编码数据传送到译码值决定部125。
当编码数据为可双向译码的可变长码时,开关S连接在B侧,并将同步区间内的所有编码数据暂时存储在缓冲器122内。由正向译码器123等通过对存储在缓冲器122内的编码数据的位数进行计数等检查由可双向译码的可变长码构成的编码数据的总位数。然后,从缓冲器122读出编码数据,并由正向译码器123开始使用正向代码字表124的通常的正向译码。该正向译码,一面检查编码数据是否含有差错一面进行译码处理。
具体地说,当出现了在正向代码字表124内不存在的位模式时,或在译码后的编码数据的位长合计值尚未达到上述总位数的状态下已经没有了应进行译码的数据时,或者,发生了语法(编码数据的文法上的规则)上不可能有的状态时,在上述状态的发现位置检测发生差错的情况。所谓语法上不可能有的状态,例如,意味着当由上层编码数据指定着下层的对应各编码数据所含有的代码字数时,该指定的代码字数与各编码数据所含有的代码字数不一致的状态等。
无论在什么样的条件下发现了编码数据的差错,都要将发现差错前正常完成译码的正向译码结果与位上的差错发现位置及语法上的差错发现位置一起作为指示发现了该差错的位置的信息传送到译码值判定部125。这里,位上的差错发现位置,指示检出差错的位置从同步位置开始数起是第几位的编码数据。而语法上的差错发现位置,例如,指示检测出该同一差错的位置从同步位置开始数起是第几个代码字的编码数据等。
当由正向译码器123发现了差错时,开关T被接通,存储在缓冲器122内的编码数据这次是传送到反向译码器126,由此开始使用反向代码字表127从反向进行译码。该反向译码,也是一面检查编码数据是否含有差错一面进行译码处理。差错检测的条件,与正向译码器123时相同,当由反向译码发现了差错时,将发现差错前正常完成译码的反向译码结果与位上的差错发现位置及语法上的差错发现位置一起作为指示发现了该差错的位置的信息传送到译码值判定部125。
在译码值决定部125中,将正向译码器123的译码结果与反向译码器126的译码结果进行对照,以决定最终的译码结果。即,根据从正向译码器123和反向译码器126分别通知的位上和语法上的两方面的差错发现位置,对正确代码字与不正确代码字的边界进行双重判断,并仅对以相当大的概率估计为正确代码字的代码字将来自正向的译码结果和来自反向的译码结果有选择地作为其译码值,而将除此以外的代码字废弃。
图6A和图6B,是表示本实施形态的编码数据的语法一例的图。
如图6A所示,编码数据被分成上层的D信息和下层的G信息两层信息,并进行编码使G的代码字相对于1个D的代码字连续存在m个,当D信息由n个代码字构成时,在该D信息的后面G信息由n×m个代码字构成。这里,以D信息及接在其后的G信息为单位设定同步区间,并在其中插入再同步标记(RM1)。此外,在D信息与G信息之间也设定再同步标记(RM2)。
另外,D信息,以只能进行通常的正向译码的可变长码进行编码,G信息则以可双向译码的可变长码进行编码。因此,在该语法中,G信息的总代码字数,在对D信息进行译码的时刻判明,已知为n×m个。该G信息的总代码字数的值,用于以语法上的位置表示差错发现位置,就是说,用于判断在属于从同步开始位置到结束位置的代码字中的第几个代码字上发生了差错等。
图7和图8,是表示对由可双向译码的可变长码构成的G信息的编码数据进行译码时的译码值决定部304的动作的图。
首先,对G信息定义如下的函数。
L             ...总位数
W             ...总代码字数(=n×m)
W1            ...正向译码后的代码字数
W2            ...反向译码后的代码字数
L1            ...正向译码后的位数
L2            ...反向译码后的位数
f_code(L1)    ...正向L1位译码后的代码字数
b_code(L2)    ...反向L2译码后的代码字数
图7A示出当正向译码器123和反向译码器126各自的差错发现位置与位上的位置或代码字上的位置都不交叉(不交错)时即L1+L2<L、且W1+W2<W时的情况。在这种情况下,使用回溯了T代码字的位置之前的编码数据,从正向使用W1-T个代码字,从反向使用W2-T个代码字,而将其余的代码字废弃。
这里,规定了回溯T代码字,但也可以将G信息回溯T位或T数据块。
图7B示出当正向译码器123和反向译码器126各自的差错发现位置与位上的位置不交叉但与代码字上的位置交叉时即L1+L2<L、且W1+W2≥W时的情况。这种状况,例如在从实际混入差错的位置起很小的间隔内将编码数据所含有的各代码字作为具有位数比其本来的位数少的位模式的代码字进行译码等情况下发生。
在这种情况下,从正向使用W-W2个代码字,从反向使用W-W1个代码字,而将其余的代码字废弃。
图7A示出当正向译码器123和反向译码器126各自的差错发现位置与位上的位置交叉但与代码字上的位置不交叉时即L1+L2≥L、且W1+W2<W时的情况。这种状况,例如在从实际混入差错的位置起很小的间隔内将编码数据所含有的各代码字作为具有比其本来的位数多的位数的位模式的代码字进行译码等情况下发生。
在这种情况下,从正向使用W-b_code(L2)微数据块的代码字,从反向使用W-f_code(L1)微数据块的代码字,而将其余的代码字废弃。
图7B示出当正向译码器123和反向译码器126各自的差错发现位置与位上的位置或代码字上的位置都交叉时即L1+L2≥L、且W1+W2≥W时的情况。在这种情况下,从正向使用min{W-b_code(L2),W-W2}个代码字,从反向使用min{W-f_code(L1),W-W1}个代码字,而将其余的代码字废弃。
这里,通过使用图2的语法判明G信息的总代码字数并将代码字的位置用作语法上的位置,但除此以外,只要是采用利用了语法的逻辑位置,则无论什么样的情况都可以适用。
以下,说明本实施形态的可变长度译码器12的译码处理方法的步骤。
本译码处理方法,如图5所述,基本上是在采用了可从两个方向译码的可变长码的编码数据中检出差错前从正向进行译码处理,而当从该正向的译码处理中检出差错时,开始从反向的译码处理,直到下一次在该编码数据中检出差错为止。并利用从正向和反向的译码结果、及在从正向和反向的译码中分别检出的编码数据的位上的差错发现位置及语法上的差错发现位置决定译码值。
图9是表示由可逆码构成的可变长度编码数据的译码处理方法的步骤的流程图。
首先,定义上述的函数L、W、W1、W2、L1、L2、f_code(L1)、b_code(L2),然后,从同步区间开头的G信息开始进行正向译码(步骤S101)。如果在该正向的译码处理中在同步区间内没有发现任何差错,则结束译码处理(步骤S102)。另一方面,当在该正向的译码处理中发现了差错时,从同步区间末尾的G信息开始进行反向译码(步骤S103)。当在正向的译码处理中发现了差错时,通常,在反向的译码处理中也会发现差错。
如果差错发现位置与位上的位置或代码字上的位置都不交叉时,即当L1+L2<L、且W1+W2<W时(步骤S104),使用回溯了T代码字的位置之前的编码数据,从正向使用W1-T个代码字、从反向使用W2-T个代码字,而将其余的代码字废弃(步骤S105)。
如果差错发现位置与位上的位置不交叉但与代码字上的位置交叉时,即当L1+L2<L、且W1+W2≥W时(步骤S106),从正向使用W-W2个代码字,从反向使用W-W1个代码字,而将其余的代码字废弃(步骤S107)。
如果差错发现位置与位上的位置交叉但与代码字上的位置不交叉时,即当L1+L2≥L、且W1+W2<W时(步骤S108),从正向使用W-b_code(L2)微数据块的代码字,从反向使用W-f_code(L1)微数据块的代码字,而将其余的代码字废弃(步骤S109)。
如果差错发现位置是除上述以外的情况,具体地说,当与位上的位置或代码字上的位置都交叉时,即当L1+L2≥L、且W1+W2≥W时,从正向使用min{W-b_code(L2),W-W2}个代码字,从反向使用min{W-f_code(L1),W-W1}个代码字,而将其余的代码字废弃(步骤S110)。
(第2实施形态)
在图10中,示出本第2实施形态的动图象信号可变长度编码/译码装置的结构。
该动图象编码/译码装置,由动图象编码器(视频编码器)21、动图象译码器22、及传输系统或存储系统23构成。
在动图象编码器21中,由信息源编码器202编码后的数据,用动图象多路化器203分成上层和下层而分别进行可变长度编码,并进行该上层数据和下层数据的多路化及同步区间的设定等。该数据由发送缓冲器204平滑化后,作为编码数据输送到传输系统或存储系统23。编码控制部201,通过考虑发送缓冲器204的缓冲量,对信息源编码器202及动图象多路化器203进行控制。
另一方面,在动图象译码器22中,来自传输系统或存储系统23的数据存储在接收缓冲器205内,并由动图象多路化分离器206按编码数据的每个同步区间进行上层和下层的多路分离及其可变长度译码,然后,传送到信息源译码器207,对动图象信息进行最终的译码。
这里,在动图象多路化器203及动图象多路化分离器206中,应用着在第1实施形态中说明过的可变长度编码/译码装置。
图11是表示本第2实施形态的动图象多路化分离器206的框图。
由接收缓冲器205接收到的编码数据,传送到多路化分离器501,由多路化分离器501检测同步区间后,按每个同步区间分离上层和下层的编码数据,并分别传送到上层可变长度译码器502、下层可变长度译码器503,进行可变长度译码。
图12A和图12B,示出在本第2实施形态中使用的动图象编码数据的语法。
编码数据,按每个视频信息包分层为上层(图12A)和下层(图12B)。在上层数据和下层数据中,分别由再同步标记(RM)及运动标记(MM)设定同步区间。此外,下层的ST是填充代码。
在该语法中,用作动图象信号的预测编码单位的微数据块的模式信息的一部分及动矢量信息为上层,模式信息的一部分、INTRA DC(帧内编码的DCT系数的DC值)、及DCT系数信息为下层。在这些信息间也设定着表示其分界的同步码。此外,在DCT系数信息中采用着可逆码。
通常,视频信息包,包含多个微数据块,在上层的标题信息中,设定着该视频信息包所含有的开头的微数据块编号。此外,上层的模式信息1及动矢量信息按每个微数据块进行设定,模式信息1及动矢量信息的循环数,仅相当于该视频信息包所含有的微数据块的个数。
图13是表示本第2实施形态的下层可变长度译码器503的结构的框图。
如上所述,由图11的多路化分离器501按每个同步区间分离为上层和下层编码数据后的数据中的下层编码数据,被传送到下层可变长度译码器503。
在该下层可变长度译码器503中,在语法上变为DCT系数信息之前,开关S连接在A侧,并由正向译码器704使用正向代码字表703进行通常的正向译码。由正向译码器704译码后的编码数据传送到译码值决定部705。当发现了差错时,通过与上层可变长度译码器502的译码结果进行比较而决定译码结果。
当编码数据为DCT系数信息时,开关S连接在B侧,并将同步区间内的所有DCT系数信息存储在缓冲器702内。由正向译码器704等通过对存储在缓冲器702内的编码数据的位数进行计数,检查由可双向译码的可变长码构成的DCT系数信息的总位数。然后,从缓冲器702读出编码数据,并由正向译码器704开始使用正向代码字表703的通常的正向译码。该正向译码,一面检查编码数据是否含有差错一面进行译码处理。
具体地说,当出现了在正向代码字表703内不存在的位模式时,或在译码后的编码数据的位长合计值尚未达到上述总位数的状态下已经没有了应进行译码的数据时,或者,发生了语法上不可能有的状态时,在上述状态的发现位置检测发生差错的情况。所谓语法上不可能有的状态,例如,意味着在8×8的DCT系数的各数据块中的连″0″的个数与非零系数的个数的合计值大于64个的状态等。
无论在什么样的条件下发现了编码数据的差错,都要将发现差错前正常完成译码的正向译码结果与位上的差错发现位置及语法上的差错发现位置一起作为指示发现了该差错的位置的信息传送到译码值决定部705。这里,位上的差错发现位置,指示检出差错的位置从DCT系数信息的同步开始数起是第几位的编码数据。而语法上的差错发现位置,例如,对于该同一差错,指示检出该差错的位置是从同步位置开始数起是第几个微数据块等。
当由正向译码器704发现了差错时,开关T被接通,存储在缓冲器122内的编码数据这次是传送到反向译码器708,由反向译码器708开始使用反向代码字表707从反向进行译码。该反向译码,也是一面检查在由可双向译码的DCT系数信息构成的编码数据中是否含有差错一面进行译码处理。差错检测的条件,与正向译码器704时相同,当在反向译码中发现了差错时,将发现差错前正常完成译码的反向译码结果与位上的差错发现位置及语法上的差错发现位置一起作为指示发现了该差错的位置的信息传送到译码值决定部705。
在译码值决定部705中,将正向译码器704的译码结果与反向译码器708的译码结果进行对照,以决定最终的译码结果。即,根据从正向译码器704和反向译码器708分别通知的位上和语法上的两方面的差错发现位置,对正确微数据块与不正确微数据块的边界进行双重判断,并仅对以相当大的概率估计为所有代码字都正确的微数据块将来自正向的译码结果和来自反向的译码结果有选择地作为其译码值,而将除此以外的微数据块废弃。
图14示出信息源译码器207的结构的一例。
在信息源译码器207上,输入由动图象多路化分离器206分离并进行了可变长度译码后的模式信息、动矢量信息、DCT系数信息等。
输入了模式信息的模式判定电路804,当模式信息为INTRA时,有选择地使模式切换开关805断开,从而切断与帧存储器806的连接,而由反量化电路801对DCT系数信息进行反量化,并由IDCT电路802进行反离散余弦变换处理。由此,生成再生图象信号。该再生图象信号,作为参照图象存储在帧存储器806内,另一方面,作为再生图象信号输出到显示装置。
如果模式信息为INTER,则使模式切换开关805接通,从而将加法器803与帧存储器806连接。因此,由反量化电路801对DCT系数信息进行反量化,并由IDCT电路802进行反离散余弦变换处理,然后通过加法器803与根据动矢量信息对帧存储器806的参照图象进行动态补偿后所得到的信息相加,以生成再生图象信号。该再生图象信号,作为参照图象存储在帧存储器806内,另一方面,作为再生图象信号输出。
图15A~图16B,是表示对由可双向译码的可变长码构成的DCT系数信息的编码数据进行译码时译码值决定部705的动作。
首先,对DCT系数信息定义如下的函数。
L          ...总位数
N          ...总微数据块数
N1         ...正向译码后的微数据块数
N2         ...反向译码后的微数据块数
L1         ...正向译码后的位数
L2         ...反向译码后的位数
f_mb(L)    ...正向L位译码后的微数据块数
b_mb(L)    ...反向L位译码后的微数据块数
图15A示出当正向译码器704和反向译码器708各自的差错发现位置与位上的位置或代码字上的位置都不交叉时,即L1+L2<L、且N1+N2<N时的情况。在这种情况下,使用回溯了T位的位置之前的位,从正向使用f_mb(L1-T)微数据块的系数信息,从反向使用b_mb(L2-T)微数据块的系数信息,而将其余的系数信息废弃。
这里,规定了回溯T位,但也可以回溯T代码字、或T数据块、或T微数据块。
图15B示出当正向译码器704和反向译码器708各自的差错发现位置与位上的位置不交叉但与代码字上的位置交叉时,即L1+L2<L、且N1+N2≥N时的情况。在这种情况下,从正向使用N-N2-1微数据块的系数信息,从反向使用N-N1-1微数据块的系数信息,而将其余的系数信息废弃。
图16A示出当正向译码器704和反向译码器708各自的差错发现位置与位上的位置交叉但与代码字上的位置不交叉时,即L1+L2≥L、且N1+N2<N时的情况。在这种情况下,从正向使用N-b_mb(L2)微数据块的系数信息,从反向使用N-f_mb(L1)微数据块的系数信息,而将其余的系数信息废弃。
图16B示出当正向译码器704和反向译码器708各自的差错发现位置与位上的位置或代码字上的位置都交叉时,即L1+L2≥L、且N1+N2≥N时的情况。在这种情况下,从正向使用min{N-b_mb(L2),N-N2-1}微数据块的系数,从反向使用min{N-f_mb(L1),N-N1-1}微数据块的系数,而将其余的系数废弃。
这里,对于废弃了DCT系数的微数据块,在INTRA模式的情况下,照原样显示前面的画面,或作为不进行编码的模式处理,在INTER模式的情况下,利用上层的动矢量(MV)决定译码值,以便通过动态补偿(MC)进行显示。
另外,在变为图15A、15B、16A、16B的任何一种状态的情况下,如图17所示,即使没有发现差错,也要将同步区间内的一部分或全部的INTRA模式的微数据块的DCT系数废弃,对于该部分,可以照原样显示前面的画面,或作为不进行编码的模式处理。INTRA模式,在发生差错时,对画面造成的影响较大。具体地说,由于显示出错的系数而发生在画面内出现颜色不自然的图块的现象。因此,如果判明至少在同步区间内发生差错,则将INTRA模式的微数据块废弃可以减小对画面的影响。
另外,在本第2实施形态中,以微数据块为单位进行了DCT系数的废弃,但当然也可以以数据块为单位进行。
其次,说明本第2实施形态的下层可变长度译码器503的译码处理方法的步骤。
本译码处理方法,如图13所述,基本上是在由可从两个方向译码的可变长度代码字构成的DCT系数信息中检出差错前从正向进行译码处理,而当从该正向的译码处理中检出差错时,开始从反向的译码处理,直到这次在该DCT系数信息中检出差错为止。并利用从正向和反向的译码结果、及在从正向和反向的译码中分别检出的位上的差错发现位置及语法上的差错发现位置决定译码值。
以下,参照图18的流程图,说明与AC分量的DCT系数部对应的译码处理步骤。
首先,定义上述的函数L、N、N1、N2、L1、L2、f_mb(L)、b_mb(L),然后,开始进行正向译码处理(步骤S201)。如果在该正向的译码处理中没有发现差错,则结束译码处理(步骤S202)。而当在该正向的译码处理中发现了差错时,开始进行反向译码处理(步骤S203)。当在正向的译码处理中发现了差错时,通常,在反向的译码处理中也会发现差错。
如果差错发现位置与位上的位置或代码字上的位置都不交叉时,即当L1+L2<L、且N1+N2<N时(步骤S204),使用回溯了T位的位置之前的位,从正向使用f_mb(L1-T)微数据块的系数信息,从反向使用b_mb(L2-T)微数据块的系数信息,而将其余的系数信息废弃(步骤S205)。
如果差错发现位置与位上的位置不交叉但与代码字上的位置交叉时,即当L1+L2<L、且N1+N2≥N时(步骤S206),从正向使用N-N2-1微数据块的系数信息,从反向使用N-N1-1微数据块的系数信息,而将其余的系数信息废弃(步骤S207)。
如果差错发现位置与位上的位置交叉但与代码字上的位置不交叉时,即当L1+L2≥L、且N1+N2<N时(步骤S208),从正向使用N-b_mb(L2)微数据块的系数信息,从反向使用N-f_mb(L1)微数据块的系数信息,而将其余的系数信息废弃(步骤S209)。
如果差错发现位置是除上述以外的情况,具体地说,当与位上的位置或代码字上的位置都交叉时,即当L1+L2≥L、且N1+N2≥N时,从正向使用min{N-b_mb(L2),N-N2-1}微数据块的系数,从反向使用min{N-f_mb(L1),N-N1-1}微数据块的系数,而将其余的系数废弃(步骤S210)。
当发现差错时,将该同步区间内的全部INTRA模式的微数据块的DCT系数废弃,照原样显示前面的画面,或作为不进行编码的模式处理(步骤S211)。
对于废弃了DCT系数的微数据块,在INTRA模式的情况下,照原样显示前面的画面,或作为不进行编码的模式处理,在INTER模式的情况下,利用上层的动矢量(MV)决定译码值,以便通过动态补偿(MC)进行显示(步骤S212)。
以下,说明在本第2实施形态的动图象编码/译码装置中采用的代码字表的具体构成例及使用该表的可逆码的编码/译码动作。
在图10的信息源编码器202中,通过对量化后的每个8×8的DCT系数的数据块进行块内扫描,求得LAST(0:不是块的最后的非零系数,1:块的最后的非零系数)、RUN(非零系数前的连″0″个数)及LEVEL(系数的量化值),并传送到动图象多路化部203。
动图象多路化部203,包含上层可变长度编码部和下层可变长度编码部,在采用可逆码进行可变长度编码的下层可变长度编码部的代码字表中,包含着在图22~图26中示出的4个表。图22是用于从INTRA(帧内编码)的非LAST系数的RUN及LEVEL检索图25、26的代码字表的INDEX值的INDEX表。图23是用于从INTER(帧间编码)的非LAST系数的RUN及LEVEL,检索图25、26的代码字表的INDEX值的INDEX表。图24是用于从INTRA及INTER共用的LAST系数的RUN及LEVEL,检索图25、26的代码字表的INDEX值的INDEX表。图25和图26,是使INDEX值与可逆可变长度代码字(VLC-CODE)相互对应的代码字表。此外,还采用图27的RUM固定长度代码字表及图28的LEVEL固定长度代码字表,作为用于变换为固定长度的可逆代码字的表。
以下,参照图19的流程图,说明采用这些表的下层可变长度编码部的可变长度编码处理的步骤。
首先,按照由上层的模式信息指定的预测模式选择应使用的INDEX表(步骤S301)。在这种情况下,如果预测模式是INTRA,则选择图22的INDEX表及图24的INDEX表,如果预测模式是INTER,则选择图23的INDEX表及图24的INDEX表。
然后,检查应进行编码的DCT系数的RUN和LEVEL的值是否在应使用的INDEX表所定义的RUN和LEVEL的最大值以下(步骤S302)。如果在应使用的INDEX表所定义的RUN和LEVEL的最大值以下,则使用该RUN和LEVEL的值检索INDEX表,并求得用于检索图25和图26的代码字表的INDEX值(步骤S303)。接着,判断从INDEX表求得的INDEX值是否为″0″(步骤S304)。如果是″0″以外的值,则对图25和图26的代码字表进行检索,并输出与INDEX值对应的可逆代码字(步骤S305)。这里,图25和图26的代码字表中的可逆代码字的最末位″s″表示LEVEL的正负符号,当″s″为″0″时,LEVEL的符号为正,当″s″为″1″时,LEVEL的符号为负。
另一方面,当应进行编码的RUN和LEVEL的值超过应使用的INDEX表所定义的RUN和LEVEL的最大值时,或如果从INDEX表求得的INDEX值为″0″,则对(LAST、RUN、LEVEL)进行固定长度编码,并在其两端附加ESCAPE码(转义码)后输出(步骤S306)。即,根据图27的RUN固定长度代码字表及图28的LEVEL固定长度代码字表,将RUN和LEVEL的值分别变换为6位和7位的固定长度码,并如图29所示,在该固定长度码的开头附加与LAST的值对应的1位。进一步,在该代码串的两端附加ESCAPE码。开头的ESCAPE码为″00001″,末尾的ESCAPE码,为按照图25和图26的代码字表的INDEX值=″0″检索的可逆码″0000s″。该可逆码″0000s″的最末位″s″表示LEVEL的正负符号,当″s″为″0″时,LEVEL的符号为正,当″s″为″1″时,LEVEL的符号为负。
其次,说明由正向译码器704和反向译码器708分别执行的可逆码译码处理的方法。
在正向代码字表703及反向代码字表707中,除上述图25和图26的代码字表、图27的RUN固定长度代码字表、图28的LEVEL固定长度代码字表以外,还分别预先准备如图30和图31所示的译码值表作为代码字表。在图30和图31的译码值表内,分别对INTRA和INTER模式设定着与INDEX值对应的(LAST、RUN、LEVEL)的译码值。
先参照图20所示的流程图,说明正向译码处理。
首先,进行编码数据的译码处理,使用图25和图26的代码字表求取与可逆代码字对应的INDEX值(步骤S401)。然后,检查INDEX值是否为″0″(步骤S402)。如果是″0″以外的值,则根据INDEX值和模式检索图30和图31的译码值表,求得与所使用的预测模式及INDEX值对应的(LAST、RUN、LEVEL)的译码值(步骤S403)。当INDEX值为″0″时,由于是ESCAPE码,所以用图27和图28的固定长度代码字表对接在该ESCAPE码后面的(LAST、RUN、LEVEL)的固定长度码进行译码(步骤S404)。接着,对末尾的ESCAPE码进行译码(步骤S405)。用代码字的最后1位进行LEVEL的正负判定(步骤S406)。
以下,参照图21的流程图,说明反向译码处理。
首先,由代码字的开头的1位决定LEVEL的正负(步骤S501)。然后,使用图25和图26的代码字表求取与可逆代码字对应的INDEX值(步骤S502)。接着,检查INDEX值是否为″0″(步骤S503)。如果是″0″以外的值,则根据INDEX值和预测模式检索图30和图31的译码值表,求得与所使用的预测模式及INDEX值对应的(LAST、RUN、LEVEL)的译码值(步骤S504)。当INDEX值为″0″时,由于是ESCAPE码,所以用图27和图28的固定长度代码字表对接在其后的(LAST、RUN、LEVEL)的固定长度码进行译码(步骤S505)。然后,对开头的ESCAPE码进行译码(步骤S506)。
其次,说明本第2实施形态的在正向和反向的各译码处理中进行的差错发现处理的步骤。
图32是以在编码数据中出现了在正向代码字表124内不存在的位模式为依据发现差错时的流程图。
首先,确认在上述的编码数据的译码处理中求得的INDEX值是否存在,以便确认与在正向或反向译码处理中所采用的代码字表相当的代码字是否存在(步骤S601)。如果INDEX值不存在,则判定出现了不存在的代码字模式,并由此发现差错(步骤S606)。
另一方面,当INDEX值存在时,首先,检查该INDEX值是否为″0″(步骤S602)。当INDEX值为″0″时,由于在该情况下是以ESCAPE码进行编码,所以检查(LAST、RUN、LEVEL)的组合在代码字表中是否存在(步骤S603)。当该组合在代码字表中存在时,判定出现了不存在的代码字模式,并由此发现差错(步骤S606)。而当(LAST、RUN、LEVEL)的组合在代码字表中不存在时,确认在固定长度码的后面是否存在ESCAPE码(步骤S604)。如果ESCAPE码不存在,则判定出现了不存在的代码字模式并由此发现差错(步骤S606)。而如果ESCAPE码存在,则判定为正确的编码位模式,并进行正确的译码处理(步骤S605)。
另一方面,当在代码字表内存在INDEX值、且INDEX值为″0″以外的值时,判定为正确的编码位模式,并进行正确的译码处理(步骤S605)。
图33是以发生语法上不可能有的状态为依据发现差错时的流程图。在本例中,对8×8的DCT系数的各数据块中的连″0″个数与零以外的非零系数的个数的合计值是否大于64个进行检查。
即,首先,检查在AC分量的DCT系数部的编码数据中是否含有8×8的DCT系数中的直流分量(步骤S701),如果含有,则对表示连″0″个数与非零系数的个数的合计值的变量SUM设定″0″作为初始值(步骤S702),如果不含,则对变量SUM设定″1″作为初始值(步骤S703)。
然后,反复执行由(LAST、RUN、LEVEL)提供的各DCT系数的编码数据的可变长度译码,直到LAST=″1″为止(步骤S704~S707),但在该处理中,每当在步骤S704中进行(LAST、RUN、LEVEL)的可变长度译码时,都要对表示非零系数前的连″0″个数的RUN的值加1,就是说,将RUN+1的值与变量SUM相加(步骤S705)。这里,之所以对RUN的值加1,是因为无论是零系数和非零系数中的哪一个都对该一个系数进行了译码处理。检查变量SUM的值是否大于64(步骤S706),如果变量SUM的值大于64,则此时将检测出在语法上发生了错误(步骤S709)。
如果在LAST系数变为″1″之前的期间没有发现语法错误,则该数据块的译码处理正常结束(步骤S708)。
(在两端附加ESCAPE码时的其他构成例)
图34和图35是在两端附加ESCAPE码时的其他结构。RUN和LEVEL的值,分别根据图23的RUN固定长度代码字表及图34的LEVEL固定长度代码字表变换为6位和11位的固定长度码。这时,为限制连″0″的个数,在LEVEL的两端设置″1″的标记位。在该代码串的开头,如图35所示,附加与LAST的值对应的1位。进一步,在该代码串的两端附加ESCAPE码。开头的ESCAPE码,为″00001″,末尾的ESCAPE码,为按照图25和图26的代码字表的INDEX值=″0″检索的可逆码″0000s″。该可逆码″0000s″的最末位″s″表示LEVEL的正负符号,当″s″为″0″时,LEVEL的符号为正,当″s″为″1″时,LEVEL的符号为负。
图37示出与图19对应的下层可变长度编码的可变长度编码处理步骤。
步骤S801~S805,分别与图19的步骤S301~S305相同,与图19的不同之处是步骤S806部分。在该步骤中,在LEVEL的两端设置标记位。
图38和图39,分别示出正向译码器704和反向译码器708的可逆码的译码处理方法。
图38的正向译码处理的步骤S901、S902、S903、S905、S906,与图20的构成正向译码处理的步骤S401、S402、S403、S405、S406相同,与图20的不同之处是步骤S904。在步骤S904中,不只是对接在ESCAPE码后面的(LAST、RUN、LEVEL)的固定长度码进行译码,而是对接在ESCAPE码后面的(LAST、RUN、LEVEL)和标记位的固定长度码进行译码。
同样,图39的反向译码处理的步骤S1001、S1002、S1003、S1005、S1006,与图21的构成反向译码处理的步骤S501、S502、S503、S505、S506相同,与图21的不同之处是步骤S1005。这里,不只是对(LAST、RUN、LEVEL)的固定长度码进行译码,而且对(LAST、RUN、LEVEL)和标记位的固定长度码进行译码。
另外,在本例中,作为在两端附加ESCAPE码时的结构,示出了RUN为6位、LEVEL的固定代码长度为7位的情况和11位的情况,但当然也可以是其他的位数。
图36是在两端附加ESCAPE码时的另一种结构。例如,当LEVEL的固定代码长度长、并超过连″0″的个数限制时,如图36所示,最好在LEVEL的固定长度码之间插入标记位。例如,当再同步标记等同步码的码长为17位(16位的″0″游程+1;″00000000000000001″)时,为避免同步码与其他代码字的混同,将连″0″的个数限制在15位以下。在这种情况下,当LEVEL的固定代码长度长、其连″0″的个数有可能超过16位时,如图36所示,在LEVEL的固定长度码之间插入标记位。因此,即使是在LEVEL的固定代码长度长的情况下,也能避免与同步码混同。
图40是表示AC-DCT部的不存在的代码字模式的检测方法的流程图。该图与图32相对应。
首先,确认INDEX值是否存在,以便确认代码字在代码字表中是否存在(步骤S1101)。如果INDEX值不存在,则判定产生了不存在的代码字模式(步骤S1107)。
如INDEX值存在时,确认INDEX值是否为″0″(步骤S1102)。如INDEX值为″0″时,由于是以ESCAPE码进行编码,所以对(LAST、RUN、LEVEL)的组合进行译码,并检查其在代码字表中是否存在(步骤S1103)。当该组合在代码字表中存在时,判定产生了不存在的代码字模式(步骤S1107)。
另外,确认标记位是否正确(步骤S1104)。如标记位不正确时,判定产生了不存在的代码字模式(步骤S1107)。
如INDEX值为″0″以外的值时,进行正确的译码(S1106)。
如组合在代码字表中不存在、而标记位正确时,确认在固定长度码的后面是否存在ESCAPE码(步骤S1105)。如ESCAPE码不存在时,判定产生了不存在的代码字模式(步骤S1107)。而如ESCAPE码存在时,进行正确的译码(步骤S1106)。
这样,在由本例的正向和反向的各译码处理所进行的差错检测处理中加入了标记位是否正确的判定处理。
(在两端附加ESCAPE码时的另一构成例)
图41和图42,是在两端附加ESCAPE码时的另一种结构。这里,假定为以二进制补码形式表示LEVEL值的情况。在这种情况下,由LEVEL的代码字特定其正负,所以代码串末尾的ESCAPE码为″00001″,不使用指示LEVEL正负的代码″s″。
RUN和LEVEL的值,分别根据图27的RUN固定长度代码字表及图41的LEVEL固定长度代码字表变换为固定长度码。这时,为限制连″0″的个数,在LEVEL的两端设置″1″的标记位。在该代码串的开头,如图42所示,附加与LAST的值对应的1位。进一步,在该代码串的两端附加ESCAPE码。
另外,根据LEVEL的固定代码长度,可以将LEVEL与末尾的ESCAPE码之间的标记位的插入省略。该例示于图43。在图43中,示出LEVEL的固定代码长度为12位的情况。
LEVEL的连″0″的个数,为LEVEL的固定代码长度-2位,所以,如果LEVEL的固定代码长度在13位以下,则即使加上末尾的ESCAPE码的4位″0″游程,合计的连″0″个数也小于同步码为17位时的限制值(16位)。
另外,如上所述,连″0″的个数限制由同步码的位数决定,所以当同步码的代码长度设定得长时,如图44和图45所示,作为LEVEL的代码字无论采用绝对值和二进制补码表示的值中的哪一个,都可以将标记位的插入省略。
相反,当作为LEVEL的代码字用二进制补码表示时,也可以与图36一样,在LEVEL的代码字内插入标记位,以便不超出连″0″个数的限制。图46示出该例。
图47示出当作为LEVEL的代码字用二进制补码表示且插入了标记位时、即当使用了图42、图43或图46的编码数据串时的正向译码处理的步骤。
与作为LEVEL的代码字使用绝对值的图38的正向译码处理不同之处在于,省略了步骤S906的处理。就是说,当作为LEVEL的代码字用二进制补码表示时,也可以通过步骤S204中的(LAST、RUN、LEVEL)和标记位的固定长度码的译码处理判定LEVEL的代码的正负。
图48示出当作为LEVEL的代码字用二进制补码表示且插入了标记位时、即当使用了图42、图43或图46的编码数据串时的反向译码处理的步骤。
与作为LEVEL的代码字使用绝对值的图39的反向译码处理不同之处在于,省略了步骤S1301的处理。就是说,当作为LEVEL的代码字用二进制补码表示时,也可以通过步骤S1304中的(LAST、RUN、LEVEL)和标记位的固定长度码的译码处理判定LEVEL的代码的正负。
图49示出当作为LEVEL的代码字用二进制补码表示且不使用标记位时、即当使用了图45的编码数据串时的正向译码处理的步骤。与图47的不同之处在于,在步骤S1204中只对(LAST、RUN、LEVEL)的固定长度码进行译码处理。
图50示出当作为LEVEL的代码字用二进制补码表示且不使用标记位时、即当使用了图45的编码数据串时的反向译码处理的步骤。与图48的不同之处在于,在步骤S1504中只对(LAST、RUN、LEVEL)的固定长度码进行译码处理。
(第3实施形态)
其次,作为本发明的第3实施形态,说明可以应用于第1和第2实施形态的译码值决定处理的差错范围的推断方法。
图51是表示本发明第3实施形态的可变长度译码器109的结构的框图。
可变长度译码器109,以与第1和第2实施形态同样的方式按每个同步区间对包含可变长码的编码数据进行译码,其基本结构与第1和第2实施形态相同。
即,在可变长度译码器109中,当编码数据为只能进行正向译码的可变长码时,开关S连接在A侧,由正向译码器104进行通常的正向译码。由正向译码器104译码后的编码数据传送到译码值决定部105。
当编码数据为可双向译码的可变长码时,开关S101连接在B侧,将编码数据存储在缓冲器102内,并在检查了编码数据的总位数后,由正向译码器104进行译码。
当由正向译码器104发现了差错时,开关T105被接通,由反向译码器108对存储在缓冲器102内的编码数据从反向进行译码。
当在正向译码器104和反向译码器108中出现了不存在的代码字时,判断为发生了差错。
在译码值决定部105中,将正向译码器104的译码结果与反向译码器108的译码结果进行对照,以决定最终的译码结果。
以下,说明当编码数据为可双向译码的可变长码时译码值决定部105的动作。
在本第3实施形态中,根据由正向和反向译码处理检出的编码数据的差错检测位置、传输系统或存储系统的误码率、各代码字的发生概率、及代码字表中的各代码字的位模式,推断差错的存在范围,从而决定最终的译码值。就是说,如上所述,在第1和第2实施形态中,将与检出差错的位置相距一定量(T代码字)的范围固定地特定为差错传播范围,但在本第3实施形态中,通过差错传播范围的推断求取最佳的T值。
在二进制的情况下,已知作为无存储信息源的最佳编码的霍夫曼码的代码长度,在二进制的情况下,能以等号满足如下的Kraft不等式。 Σ x ∈ X 2 - 1 ( x ) = 1 · · · ( 1 )
式中,x为代码X的代码字,l(x)为x的代码长度。
但是,在按本发明设定同步区间并插入同步码时,所进行的是不能与同步码的模式(例如,000...01)冲突的设计,所以采用不能以等号满足Kraft不等式的代码。 &Sigma; x &Element; X 2 - 1 ( x ) < 1 &CenterDot; &CenterDot; &CenterDot; ( 2 )
例如,在如图56和图57A、57B、57C所示的代码的情况下,为了不与同步码发生冲突,将″0000″作为禁止代码字。在这样的代码中,当因混入差错而不能对可变长码进行正确的译码时,如产生不出现的模式″0000″,则可以检测出发生了差错。
如假定图58所示的误码率为ε、(0<ε<1)的二进制通信线路,则作为传输或存储编码数据的传输系统或存储系统的通信线路模型,由于不考虑位的插入、短缺,所以发送代码字x并对接收序列y进行接收的条件概率P(y|P(x|y)x)为
Figure A9880224600353
式中,d(x,y)为序列x与序列y的哈明间距。
其结果是,接收序列y的概率P(y)为 P ( y ) = &Sigma; x &Element; X P ( x ) P ( y &CenterDot; | x ) &CenterDot; &CenterDot; &CenterDot; &CenterDot; ( 4 ) 这里,假定代码X的代码字数为有限值,对所有的x为P(x)>0。
但是,为了分析从差错混入位流的状态到检出差错的状态,首先,至少必须考虑1位混入差错的状态(初始状态I)。
另外,由于代码字x的1个位也不出错的概率为(1-ε)l(x),所以,如考虑各代码字中至少1位混入差错的条件概率,则为
Figure A9880224600362
P &prime; ( y ) = &Sigma; x &Element; X P ( x ) P &prime; ( y | x )
这里,当作为对象的是可瞬时译码的代码时,无差错时的接收序列y,从代码树的根部开始并必然能到达叶部。
但是,当有差错时,接收序列y,由于存在着不仅在代码树的叶部而且在节点的状态开始或被接收的可能性,所以,可以用如图55所示的状态迁移图表示。对各状态的迁移概率tij,可以按下式求出从状态i向状态j迁移时的状态迁移概率tij。式中,函数V(y,i→j),如果在状态i时以接收序列y迁移到状态j,则其值为1,否则其值为0。
这里,将各状态定义如下。
I    初始状态
S    同步状态
Ui   非同步状态  i=1、...、N-2
E    差错检出状态
图55是代码字的状态迁移图的例,图56是代码字的状态迁移表。
行列式T,是状态迁移表中将从各状态检出差错的概率除去后的部分,定义为
Figure A9880224600371
另一方面,矢量D,假定为从各状态迁移到差错检出状态E的概率。 D = ( t 1 N + 1 , t 2 N + 1 , &CenterDot; &CenterDot; &CenterDot; t NN + 1 ) T &CenterDot; &CenterDot; &CenterDot; ( 8 )
由于从初始状态I开始,所以除差错检出状态E外各状态概率的初始概率设置为 ( 0 ) = ( 1,0 , &CenterDot; &CenterDot; &CenterDot; 0 ) &CenterDot; &CenterDot; &CenterDot; ( 9 ) 因此,i代码字后的除差错检出状态E外各状态的概率,可以按下式计算。 Q ( i ) = Q ( 0 ) T i - 1 &CenterDot; &CenterDot; &CenterDot; ( 10 )
因此,i代码字后检出差错的概率,对i-1代码字后的各状态是其下一次检测的概率,所以,其概率为 R ( i ) = Q ( i - 1 ) D = Q ( 0 ) T i - 1 D , i = 1,2 , &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; ( 11 ) 但是,T0,为单位行列式I。
通过设定推断概率a,可以计算能以该概率检出差错的代码字数。 a < &Sigma; i = 1 j R ( i ) &CenterDot; &CenterDot; &CenterDot; ( 12 ) 求出满足上式的最小的j并设定F(a),即可按一定的概率推断差错的存在范围。该F(a)相当于如上所述的第1和第2实施形态中的T。
也就是说,在从可以检出差错的位置回溯F(a)代码字的范围内以概率a存在着差错。另外,如从译码处理的角度考虑,则根据该值从可以检出差错的位置回溯F(a)代码字,就能以概率a将差错有可能传播的部分排除。
译码值决定部105,根据正向代码字表103、反向代码字表108、代码字发生概率、通信线路的误码率ε、及推断概率a,计算正向的差错存在范围F1(a)及反向的差错存在范围F2(a),并根据与差错检出位置的关系决定废弃的部分。
如图57A所示,当正向的差错发现位置与反向的差错发现位置不交叉时,从各自的检出位置回溯与差错存在范围F1(a)、F2(a)相当的部分,使应废弃的范围增加。
如图57B所示,当正向的差错发现位置与反向的差错发现位置交叉、且交叉的范围大于差错存在范围时,将交叉的范围作为应废弃的范围。
如图57C所示,当正向的差错发现位置与反向的差错发现位置交叉、且交叉的范围小于差错存在范围时,将差错存在范围作为应废弃范围。
另外,也可以将F(a)乘以平均代码长度,从而按位数进行推断。 B ( a ) = F ( a ) &Sigma; x &Element; X P ( x ) l ( x ) &CenterDot; &CenterDot; &CenterDot; ( 13 )
在这种情况下,译码值决定部105,执行如图58A~58C所示的动作。与图57A~57C时相同,如图58A所示,当正向的差错发现位置与反向的差错发现位置不交叉时,从各自的检出位置回溯与差错存在范围B1(a)、B2(a)相当的部分,使应废弃的范围增加。
如图58B所示,当正向的差错发现位置与反向的差错发现位置交叉、且交叉的范围大于差错存在范围时,将交叉的范围作为应废弃范围。
如图58C所示,当正向的差错发现位置与反向的差错发现位置交叉、且交叉的范围小于差错存在范围时,将差错存在范围作为应废弃范围。
在本第3实施形态中,示出了可双向译码的可变长度译码器时的例,但在通常的只能进行正向译码的可变长度译码器的情况下也可以应用。
在如上所述的第3实施形态的可变长度译码装置中,按如下步骤进行译码处理:1)在编码数据中检出差错前从正向对该编码数据进行译码,2)当从正向译码时如在编码数据中检测出差错,则从反向对编码数据进行译码,3)根据从正向和反向的译码结果、在从正向和反向译码中分别检出的编码数据的差错检出位置、传输系统或存储系统的误码率、各代码字的发生概率、及代码字表中各代码字的位模式,推断差错存在的范围,从而决定最终的译码值。按这样的步骤进行译码处理。
按如上方式,根据传输系统或存储系统的误码率及代码字的性能从差错发现位置以一定的概率推断实际的差错存在位置,就能使将本来不正确的代码字错误地当作正确的代码字而进行译码的情况减小到一定的概率以下。
另外,如上所述的第1~第3实施形态的可变长度译码装置的译码处理步骤,也可以按照存储在CD-ROM、DVD-RAM等记录媒体内的可由计算机读取的计算机程序实现。因此,即使是不具备用于可变长度译码的专用硬件的计算机等,也可以进行由编码数据所含差错造成的影响小的译码处理。此外,也可以安装第1~第3实施形态的可变长度译码装置的一部分或全部的硬件,并按照计算机程序对其动作进行控制。
(第4实施形态)
其次,参照图59说明安装了本发明第1~第3实施形态的可变长度编码译码装置的动图象编码/译码系统的例。由个人计算机(PC)1001所装有的摄像机1002输入的图象信号,由组装在PC1001内的动图象编码器或动图象编码软件进行编码。编码后的数据,进行与其他声音或数据信息的多路化处理后,由无线机1003以无线方式发送,并由另一无线机1004接收。由无线机1004接收到的信号被分解为图象信号的编码数据及声音数据。其中的图象信号的编码数据,由组装在工作站(EWS)1005内的动图象译码器或动图象译码软件进行译码,并显示在EWS1005的显示器上。
另一方面,由EWS1005所装有的摄象机1006输入的图象信号,由组装在EWS1005内的编码器或编码软件进行与上述同样的编码。编码数据,进行与其他声音或数据信息的多路化处理后,由无线机1004以无线方式发送,并由无线机1003接收。由无线机1003接收到的信号被分解为图象信号的编码数据及声音数据信息。其中的图象信号的编码数据,由组装在PC1001内的动图象译码器或动图象译码软件进行译码,并显示在PC1001的显示器上。
动图象译码软件,由用于在计算机中执行在上述各实施形态中说明过的可变长度译码处理步骤的程序实现。
另外,如上所述的各实施形态1~3的结构及编码数据串的结构,可以适当组合后使用。
如上所述,按照本发明,通过利用编码数据的位上的差错发现位置及编码数据的语法上的差错发现位置,能够减少将本来不正确的代码字当作正确的代码字而进行译码的情况,从而能实现可以抑制传输线路的差错影响的可变长度译码装置及方法。特别是,通过将本发明的可变长度译码装置及方法应用于动图象的译码处理,即使是将编码后的动图象信号通过无线通信线路等传输线路差错多的环境发送时,也可以减低传输线路差错对显示画面的影响。通过推断差错传播范围,可以进一步减低将本来不正确的代码字当作正确的代码字而进行译码的概率。产业上的可应用性
上述的本发明的动图象译码装置,适用于对以可双向译码的可变长码进行编码并记录在记录媒体内或被传送的动图象等可变长度编码信息进行译码。
权利要求书
按照条约第19条的修改
1.(修改后)一种可变长度译码装置,备有:输入部,用于接受由可变长码构成的编码数据,该可变长码由在正向或反向都能进行译码的代码字构成;正向译码部,按每个规定区间从正向对上述编码数据进行译码;反向译码部,按每个规定区间从反向对上述编码数据进行译码;及译码值决定部;根据上述正向译码部和反向译码部的译码结果输出最终译码结果;上述正向译码部及反向译码部,分别具有对上述编码数据的差错进行检测的检测部,上述译码值决定部,利用指示由上述正向译码部检出的上述编码数据的差错位置的上述编码数据的语法上的差错发现位置、及指示由上述反向译码部检出的上述编码数据的差错位置的上述编码数据的语法上的差错发现位置,决定译码值。
2.根据权利要求1所述的可变长度译码装置,其特征在于:上述译码值决定部,将指示在上述同步区间内的第几个代码字上发生了差错的代码字上的差错发现位置用作上述编码数据的语法上的差错发现位置
3.根据权利要求1所述的可变长度译码装置,其特征在于:当上述正向译码部及反向译码部的差错发现位置在上述位上及上述语法上的任何一个位置上交叉时,上述译码值决定部,将属于交叉量较多的差错发现位置间的编码数据废弃,并将正向译码结果用作与紧接在该废弃数据区域前面的代码字对应的译码值,将反向译码结果用作与紧接在该废弃数据区域后面的代码字对应的译码值。
4.(修改后)根据权利要求1所述的可变长度译码装置,其特征在于:上述译码值决定部,(a)当上述正向译码部和反向译码部的差错发现位置无论在位上还是在语法上都不交叉时,将正向的译码结果用作与在上述正向译码部的上述位上或语法上的差错发现位置的一定量之前的代码字对应的译码值,将反向的译码结果用作与在上述反向译码部的上述位上或语法上的差错发现位置的一定量之后的代码字对应的译码值,并将其余的编码数据废弃;(b)当上述正向译码部和反向译码部的差错发现位置在位上不交叉而在语法上交叉时,将正向的译码结果用作与紧接在上述反向译码部的语法上的差错发现位置之前的代码字对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的语法上的差错发现位置之后的代码字对应的译码值,并将语法上的差错发现位置交叉部分的编码数据废弃;(c)当上述正向译码部和反向译码部的差错发现位置在位上交叉而在语法上不交叉时,将上述正向的译码结果用作与紧接在上述反向译码部的位上的差错发现位置之前的代码字对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的位上的差错发现位置之后的代码字对应的译码值,并将位上的差错发现位置交叉部分的编码数据废弃;(d)当上述正向译码部和反向译码部的差错发现位置无论在位上还是在语法上都交叉时,选择交叉部分最大的位置作为差错发现位置,而将上述正向的译码结果用作与紧接在上述反向译码部的差错发现位置之前的代码字对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的差错发现位置之后的代码字对应的译码值,并将差错位置交叉部分的编码数据废弃。
5.(修改后)一种动图象译码装置,备有:输入部,用于接受包含可变长码的动图象信号的编码数据,该编码数据,通过用在正向或反向都能译码的代码字对变换系数进行编码生成,该变换系数,通过对上述动图象信号进行正交变换而求得;同步区间检测部,用于检测上述编码数据的同步区间;正向译码部,从正向对由上述同步区间检测部检测出的规定同步区间的编码数据进行译码;反向译码部,从反向对由上述同步区间检测部检测出的规定同步区间的编码数据进行译码;及译码值决定部,根据正向译码部和反向译码部的译码结果输出最终译码结果;上述正向译码部及反向译码部,分别具有对上述编码数据的差错进行检测的差错检测部,上述译码值决定部,利用指示由上述正向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置、及指示由上述反向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置,决定译码值。
6.根据权利要求5所述的动图象译码装置,其特征在于:当在上述同步区间内的编码数据中检出差错时,上述译码值决定部,在未检出差错的微数据块内,将由进行了帧内编码的微数据块的变换系数构成的编码数据的一部分或全部废弃。
7.根据权利要求5所述的动图象译码装置,其特征在于:上述译码值决定部,对已将编码数据废弃的微数据块,在帧内编码模式的情况下显示前面的画面或作为不进行编码的模式处理,并在帧间预测编码模式的情况下进行动态补偿。
8.根据权利要求5所述的动图象译码装置,其特征在于:上述同步区间内的编码数据,包含用作各动图象信号的预测编码单位的多个微数据块的变换系数,上述译码值决定部,将指示在上述同步区间内的第几个微数据块上发生了差错的微数据块上的差错发现位置用作上述编码数据的语法上的差错发现位置。
9.(修改后)根据权利要求5所述的动图象译码装置,其特征在于:上述同步区间内的编码数据,包含用作各动图象信号的预测编码单位的多个微数据块的变换系数,上述译码值决定部,(a)当上述正向译码部和反向译码部的差错发现位置无论在位上的位置还是在语法上的位置都不交叉时,将正向的译码结果用作与在上述正向译码部的位上或语法上的差错发现位置的一定量之前的微数据块对应的译码值,将反向的译码结果用作与在上述反向译码部的位上或语法上的差错发现位置的一定量之后的微数据块对应的译码值,并将由其余的微数据块的变换系数构成的编码数据废弃;(b)当上述正向译码部和反向译码部的差错发现位置在位上的位置不交叉而在语法上的位置交叉时,将正向的译码结果用作与紧接在上述反向译码部的语法上的差错发现位置之前的微数据块对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的语法上的差错发现位置之后的微数据块对应的译码值,并将由语法上的差错发现位置交叉的微数据块的变换系数构成的编码数据废弃;(c)当上述正向译码部和反向译码部的差错发现位置在位上的位置交叉而在语法上的位置不交叉时,将正向的译码结果用作与紧接在上述反向译码部的位上的差错发现位置之前的微数据块对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的位上的差错发现位置之后的微数据块对应的译码值,并将由位上的差错发现位置交叉的微数据块的变换系数构成的编码数据废弃;(d)当上述正向译码部和反向译码部的差错发现位置无论在位上的位置还是在语法上的位置都交叉时,选择交叉部分最大的位置作为差错发现位置,并将正向的译码结果用作与紧接在反向译码部的差错发现位置之前的微数据块对应的译码值,将反向的译码结果用作与紧接在上述正向译码部中的差错发现位置之后的微数据块对应的译码值,并将由差错发现位置交叉的微数据块的变换系数构成的编码数据废弃。
10.根据权利要求9所述的动图象译码装置,其特征在于:当在上述同步区间内的编码数据中检出差错时,上述译码值决定部,在未检出差错的微数据块内,将由进行了帧内编码的微数据块的变换系数构成的编码数据的一部分或全部废弃。
11.根据权利要求9所述的动图象译码装置,其特征在于:上述译码值决定部,对已将编码数据废弃的微数据块,在帧内编码模式的情况下显示前面的画面或作为不进行编码的模式处理,并在帧间预测编码模式的情况下进行动态补偿。
12.一种可变长度编码数据的译码方法,其特征在于:按每个规定同步区间从正向对由可变长码构成的编码数据进行译码,直到在该编码数据中检出差错为止,该可变长码由包含在正向或反向都能译码的代码字的代码字构成;当从上述正向译码时如在上述编码数据中检测出差错,则按每个规定同步区间从反向对上述编码数据进行译码;利用从上述正向和反向的译码结果、及在从上述正向和反向的译码中分别检出的上述编码数据的位上的差错检出位置和上述编码数据的语法上的差错检出位置,决定译码值。
13.根据权利要求12所述的译码方法,其特征在于:当上述从正向的译码及从反向的译码的差错发现位置在上述位上的差错发现位置及上述语法上的差错发现位置中任何一个上交叉时,将属于交叉量较多的差错发现位置间的编码数据废弃,并将正向译码结果用作与紧接在该废弃数据区域前面的代码字对应的译码值,将反向译码结果用作与紧接在该废弃数据区域后面的代码字对应的译码值。
14.一种记录媒体,用于记录包含如下步骤的计算机程序,即:按每个规定区间从正向对由可变长码构成的编码数据进行译码直到在该编码数据中检出差错为止的步骤,该可变长码由包含在正向或反向都能译码的代码字的代码字构成;当从上述正向译码时如在上述编码数据中检测出差错则从反向对上述编码数据进行译码的步骤;及利用从上述正向和反向的译码结果、及从上述正向和反向的译码中分别检出的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置决定译码值的步骤。
15.(修改后)一种可变长度译码装置,备有:输入部,用于接受由可变长码构成的编码数据,该可变长码由包含在正向或反向都能进行译码的代码字的代码字构成;正向译码部,按每个规定同步区间从正向对上述编码数据进行译码;反向译码部,按每个规定同步区间从反向对上述编码数据进行译码;及译码值决定部,根据正向译码部和反向译码部的译码结果输出最终译码结果;上述正向译码部及反向译码部,分别具有对上述编码数据的差错进行检测的差错检测部,上述译码值决定部,根据由上述正向和反向译码部检出的编码数据的差错检测位置、传输系统或存储系统的误码率、各代码字的发生概率、及代码字表中的各代码字的位模式,推断差错的存在范围,从而决定最终的译码值。
16.一种可变长度译码方法,其特征在于:按每个规定同步区间从正向对由可变长码构成的编码数据进行译码,直到在该编码数据中检出差错为止,该可变长码由包含在正向或反向都能译码的代码字的代码字构成;当从上述正向译码时如在上述编码数据中检测出差错,则按每个规定同步区间从反向对上述编码数据进行译码;根据从上述正向和反向的译码中分别检出的上述编码数据的差错检测位置、传输系统或存储系统的误码率、各代码字的发生概率、及代码字表中的各代码字的位模式,推断差错的存在范围,从而决定最终的译码值。
17.一种存储媒体,用于存储包含如下步骤的计算机程序,即:按每个规定同步区间从正向对由可变长码构成的编码数据进行译码直到在该编码数据中检出差错为止的步骤,该可变长码由包含在正向或反向都能译码的代码字的代码字构成;当从上述正向译码时如在上述编码数据中检测出差错则按每个规定区间从反向对上述编码数据进行译码步骤;及利用从上述正向和反向的译码结果、从上述正向和反向的译码中分别检出的上述编码数据的差错检出位置、传输系统或存储系统的误码率、各代码字的发生概率、代码字表中的各代码字的位模式,推断差错的存在范围从而决定最终译码值的步骤。
18.(追加)根据权利要求1所述的可变长度译码装置,其特征在于:上述译码值决定部,除利用指示由上述正向译码部检出的上述编码数据的差错位置的上述编码数据的语法上的差错发现位置及指示由上述反向译码部检出的上述编码数据的差错位置的上述编码数据的语法上的差错发现位置外还利用由上述正向译码部检出的上述编码数据的位上的差错发现位置及由上述反向译码部检出的上述编码数据的位上的差错发现位置决定译码值。

Claims (17)

1.一种可变长度译码装置,备有:输入部,用于接受由可变长码构成的编码数据,该可变长码由在正向或反向都能进行译码的代码字构成;正向译码部,按每个规定区间从正向对上述编码数据进行译码;反向译码部,按每个规定区间从反向对上述编码数据进行译码;及译码值决定部;根据上述正向译码部和反向译码部的译码结果输出最终译码结果;上述正向译码部及反向译码部,分别具有对上述编码数据的差错进行检测的检测部,上述译码值决定部,利用指示由上述正向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置、及指示由上述反向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置,决定译码值。
2.根据权利要求1所述的可变长度译码装置,其特征在于:上述译码值决定部,将指示在上述同步区间内的第几个代码字上发生了差错的代码字上的差错发现位置用作上述编码数据的语法上的差错发现位置
3.根据权利要求1所述的可变长度译码装置,其特征在于:当上述正向译码部及反向译码部的差错发现位置在上述位上及上述语法上的任何一个位置上交叉时,上述译码值决定部,将属于交叉量较多的差错发现位置间的编码数据废弃,并将正向译码结果用作与紧接在该废弃数据区域前面的代码字对应的译码值,将反向译码结果用作与紧接在该废弃数据区域后面的代码字对应的译码值。
4.根据权利要求1所述的可变长度译码装置,其特征在于:上述译码值决定部,(a)当上述正向译码部和反向译码部的差错发现位置无论在位上还是在语法上都不交叉时,将正向的译码结果用作与在上述正向译码部的上述位上或语法上的差错发现位置的一定量之前的代码字对应的译码值,将反向的译码结果用作与在上述反向译码部的上述位上或语法上的差错发现位置的一定量之后的代码字对应的译码值,并将其余的编码数据废弃;(b)当上述正向译码部和反向译码部的差错发现位置在位上不交叉而在语法上交叉时,将正向的译码结果用作与紧接在上述反向译码部的语法上的差错发现位置之前的代码字对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的语法上的差错发现位置之后的代码字对应的译码值,并将语法上的差错发现位置交叉部分的编码数据废弃;(c)当上述正向译码部和反向译码部的差错发现位置在位上交叉而在语法上不交叉时,将上述正向的译码结果用作与紧接在上述反向译码部的位上的差错发现位置之前的代码字对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的位上的差错发现位置之后的代码字对应的译码值,并将位上的差错发现位置交叉部分的编码数据废弃;(d)当上述正向译码部和反向译码部的差错发现位置无论在位上还是在语法上都交叉时,选择交叉部分最大的位置作为差错发现位置,而将上述正向的译码结果用作与紧接在上述反向译码部的差错发现位置之前的代码字对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的差错发现位置之后的代码字对应的译码值,并将差错位置交叉部分的编码数据废弃。
5.一种动图象译码装置,备有:输入部,用于接受包含可变长码的动图象信号的编码数据,该编码数据,通过用在正向或反向都能译码的代码字对变换系数进行编码生成,该变换系数,通过对上述动图象信号进行正交变换而求得;同步区间检测部,用于检测上述编码数据的同步区间;正向译码部,从正向对由上述同步区间检测部检测出的规定同步区间的编码数据进行译码;反向译码部,从反向对由上述同步区间检测部检测出的规定同步区间的编码数据进行译码;及译码值决定部,根据正向译码部和反向译码部的译码结果输出最终译码结果;上述正向译码部及反向译码部,分别具有对上述编码数据的差错进行检测的差错检测部,上述译码值决定部,利用指示由上述正向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置、及指示由上述反向译码部检出的上述编码数据的差错位置的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置,决定译码值。
6.根据权利要求5所述的动图象译码装置,其特征在于:当在上述同步区间内的编码数据中检出差错时,上述译码值决定部,在未检出差错的微数据块内,将由进行了帧内编码的微数据块的变换系数构成的编码数据的一部分或全部废弃。
7.根据权利要求5所述的动图象译码装置,其特征在于:上述译码值决定部,对已将编码数据废弃的微数据块,在帧内编码模式的情况下显示前面的画面或作为不进行编码的模式处理,并在帧间预测编码模式的情况下进行动态补偿。
8.根据权利要求5所述的动图象译码装置,其特征在于:上述同步区间内的编码数据,包含用作各动图象信号的预测编码单位的多个微数据块的变换系数,上述译码值决定部,将指示在上述同步区间内的第几个微数据块上发生了差错的微数据块上的差错发现位置用作上述编码数据的语法上的差错发现位置。
9.根据权利要求5所述的动图象译码装置,其特征在于:上述同步区间内的编码数据,包含用作各动图象信号的预测编码单位的多个微数据块的变换系数,上述译码值决定部,(a)当上述正向译码部和反向译码部的差错发现位置无论在位上的位置还是在语法上的位置都不交叉时,将正向的译码结果用作与在上述正向译码部的位上或语法上的差错发现位置的一定量之前的微数据块对应的译码值,将反向的译码结果用作与在上述反向译码部的位上或语法上的差错发现位置的一定量之后的微数据块对应的译码值,并将由其余的微数据块的变换系数构成的编码数据废弃;(b)当上述正向译码部和反向译码部的差错发现位置在位上的位置不交叉而在语法上的位置交叉时,将正向的译码结果用作与紧接在上述反向译码部的语法上的差错发现位置之前的微数据块对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的语法上的差错发现位置之后的微数据块对应的译码值,并将由语法上的差错发现位置交叉的微数据块的变换系数构成的编码数据废弃;(c)当上述正向译码部和反向译码部的差错发现位置在位上的位置交叉而在语法上的位置不交叉时,将正向的译码结果用作与紧接在上述反向译码部的位上的差错发现位置之前的微数据块对应的译码值,将反向的译码结果用作与紧接在上述正向译码部的位上的差错发现位置之后的微数据块对应的译码值,并将由位上的差错发现位置交叉的微数据块的变换系数构成的编码数据废弃;(d)当上述正向译码部和反向译码部的差错发现位置无论在位上的位置还是在语法上的位置都交叉时,选择交叉部分最大的位置为差错发现位置,并将正向的译码结果用作与紧接在反向译码部的差错发现位置之前的微数据块对应的译码值,将反向的译码结果用作与紧接在上述正向译码部中的差错发现位置之后的微数据块对应的译码值,并将由差错发现位置交叉的微数据块的变换系数构成的编码数据废弃。
10.根据权利要求9所述的动图象译码装置,其特征在于:当在上述同步区间内的编码数据中检出差错时,上述译码值决定部,在未检出差错的微数据块内,将由进行了帧内编码的微数据块的变换系数构成的编码数据的一部分或全部废弃。
11.根据权利要求9所述的动图象译码装置,其特征在于:上述译码值决定部,对已将编码数据废弃的微数据块,在帧内编码模式的情况下显示前面的画面或作为不进行编码的模式处理,并在帧间预测编码模式的情况下进行动态补偿。
12.一种可变长度编码数据的译码方法,其特征在于:按每个规定同步区间从正向对由可变长码构成的编码数据进行译码,直到在该编码数据中检出差错为止,该可变长码由包含在正向或反向都能译码的代码字的代码字构成;当从上述正向译码时如在上述编码数据中检测出差错,则按每个规定同步区间从反向对上述编码数据进行译码;利用从上述正向和反向的译码结果、及在从上述正向和反向的译码中分别检出的上述编码数据的位上的差错检出位置和上述编码数据的语法上的差错检出位置,决定译码值。
13.根据权利要求12所述的译码方法,其特征在于:当上述从正向的译码及从反向的译码的差错发现位置在上述位上的差错发现位置及上述语法上的差错发现位置中任何一个上交叉时,将属于交叉量较多的差错发现位置间的编码数据废弃,并将正向译码结果用作与紧接在该废弃数据区域前面的代码字对应的译码值,将反向译码结果用作与紧接在该废弃数据区域后面的代码字对应的译码值。
14.一种记录媒体,用于记录包含如下步骤的计算机程序,即:按每个规定区间从正向对由可变长码构成的编码数据进行译码直到在该编码数据中检出差错为止的步骤,该可变长码由包含在正向或反向都能译码的代码字的代码字构成;当从上述正向译码时如在上述编码数据中检测出差错则从反向对上述编码数据进行译码的步骤;及利用从上述正向和反向的译码结果、及从上述正向和反向的译码中分别检出的上述编码数据的位上的差错发现位置和上述编码数据的语法上的差错发现位置决定译码值的步骤。
15.一种可变长度译码装置,备有:输入部,用于接受由可变长码构成的编码数据,该可变长码由包含在正向或反向都能进行译码的代码字的代码字构成;正向译码部,按每个规定同步区间从正向对上述编码数据进行译码;反向译码部,按每个规定同步区间从反向对上述编码数据进行译码;及译码值决定部,根据正向译码部和反向译码部的译码结果输出最终译码结果;上述正向译码部及反向译码部,分别具有对上述编码数据的差错进行检测的差错检测部,上述译码值决定部,根据由上述正向和反向译码部检出的编码数据的差错检测位置、传输系统或存储系统的误码率、各代码字的发生概率、及代码字表中的各代码字的位模式,推断差错的存在范围,从而决定最终的译码值。
16.一种可变长度译码方法,其特征在于:按每个规定同步区间从正向对由可变长码构成的编码数据进行译码,直到在该编码数据中检出差错为止,该可变长码由包含在正向或反向都能译码的代码字的代码字构成;当从上述正向译码时如在上述编码数据中检测出差错,则按每个规定同步区间从反向对上述编码数据进行译码;根据从上述正向和反向的译码中分别检出的上述编码数据的差错检测位置、传输系统或存储系统的误码率、各代码字的发生概率、及代码字表中的各代码字的位模式,推断差错的存在范围,从而决定最终的译码值。
17.一种存储媒体,用于存储包含如下步骤的计算机程序,即:按每个规定同步区间从正向对由可变长码构成的编码数据进行译码直到在该编码数据中检出差错为止的步骤,该可变长码由包含在正向或反向都能译码的代码字的代码字构成;当从上述正向译码时如在上述编码数据中检测出差错则按每个规定区间从反向对上述编码数据进行译码步骤;及利用从上述正向和反向的译码结果、从上述正向和反向的译码中分别检出的上述编码数据的差错检出位置、传输系统或存储系统的误码率、各代码字的发生概率、代码字表中的各代码字的位模式,推断差错的存在范围从而决定最终译码值的步骤。
CNB98802246XA 1997-10-02 1998-10-02 可变长度译码装置及译码方法 Expired - Lifetime CN1153353C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP269916/1997 1997-10-02
JP26991697 1997-10-02
JP189317/1998 1998-07-03
JP18931798A JP3884172B2 (ja) 1997-10-02 1998-07-03 可変長復号化装置および復号化方法

Publications (2)

Publication Number Publication Date
CN1246990A true CN1246990A (zh) 2000-03-08
CN1153353C CN1153353C (zh) 2004-06-09

Family

ID=26505412

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB98802246XA Expired - Lifetime CN1153353C (zh) 1997-10-02 1998-10-02 可变长度译码装置及译码方法

Country Status (10)

Country Link
US (5) US6829299B1 (zh)
EP (1) EP0966107A4 (zh)
JP (1) JP3884172B2 (zh)
KR (1) KR100334690B1 (zh)
CN (1) CN1153353C (zh)
AU (1) AU726301B2 (zh)
BR (1) BR9806295A (zh)
CA (1) CA2273169C (zh)
NO (1) NO992619L (zh)
WO (1) WO1999018674A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1302667C (zh) * 2002-08-24 2007-02-28 Lg电子株式会社 可变长度编码方法
CN109257136A (zh) * 2017-07-12 2019-01-22 中国科学院大学 联合信源信道与安全的jpeg2000算术码的双向编译码方法

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3884172B2 (ja) * 1997-10-02 2007-02-21 株式会社東芝 可変長復号化装置および復号化方法
DE19937456C2 (de) * 1999-08-07 2001-06-13 Bosch Gmbh Robert Rechner zur Datenverarbeitung und Verfahren zur Datenverarbeitung in einem Rechner
TW533738B (en) * 2000-10-31 2003-05-21 Matsushita Electric Ind Co Ltd Received information record/regenerate method and received information record/regenerate device
US7215360B2 (en) * 2001-04-06 2007-05-08 Triveni Digital, Inc. Error propagation tree technology
JP3931595B2 (ja) * 2001-07-10 2007-06-20 株式会社日立製作所 データ修正装置及びデータ修正方法
JP2004537911A (ja) * 2001-07-27 2004-12-16 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 信号の符号化
JP3775265B2 (ja) * 2001-08-16 2006-05-17 ソニー株式会社 信号処理装置および方法、記録再生装置および方法、ならびに、再生装置および方法
JP4016207B2 (ja) * 2001-10-03 2007-12-05 ソニー株式会社 符号化方法および復号方法
US7428684B2 (en) 2002-04-29 2008-09-23 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Device and method for concealing an error
DE10219133B4 (de) * 2002-04-29 2007-02-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verschleiern eines Fehlers
ATE449405T1 (de) * 2002-09-04 2009-12-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7602850B2 (en) * 2003-12-19 2009-10-13 Intel Corporation Content adaptive variable length coding (CAVLC) decoding
US20060218459A1 (en) * 2004-08-13 2006-09-28 David Hedberg Coding systems and methods
WO2006020934A2 (en) * 2004-08-13 2006-02-23 Conexant Systems, Inc. Systems and methods for decreasing latency in a digital transmission system
US20060059411A1 (en) * 2004-09-16 2006-03-16 Sony Corporation And Sony Electronics, Inc. Method and system for increasing channel coding gain
CA2582649C (en) * 2004-10-05 2015-05-19 Vectormax Corporation System and method for identifying and processing data within a data stream
US7650031B2 (en) * 2004-11-23 2010-01-19 Microsoft Corporation Method and system for detecting black frames in a sequence of frames
US7693709B2 (en) * 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7684981B2 (en) 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7933337B2 (en) 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US8345755B2 (en) 2006-01-09 2013-01-01 Lg Electronics, Inc. Inter-layer prediction method for video signal
US8848789B2 (en) * 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
US8184710B2 (en) 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
CA2679767C (en) * 2007-03-14 2013-06-25 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
CA2678574C (en) * 2007-03-14 2015-06-16 Nippon Telegraph And Telephone Corporation Motion vector search method and apparatus, program therefor, and storage medium which stores the program
RU2419247C1 (ru) * 2007-03-14 2011-05-20 Ниппон Телеграф Энд Телефон Корпорейшн Способ, устройство и запоминающее устройство управления квантованием
CA2679255C (en) * 2007-03-14 2013-04-30 Nippon Telegraph And Telephone Corporation Code amount estimating method and apparatus, and program and storage medium therefor
US8233537B2 (en) * 2007-03-19 2012-07-31 Texas Instruments Incorporated Efficient implementation of H.264 4 by 4 intra prediction on a VLIW processor
KR101086435B1 (ko) * 2007-03-29 2011-11-25 삼성전자주식회사 영상 데이터 스트림의 에러 검출 방법 및 그 장치
US7908463B2 (en) * 2007-06-26 2011-03-15 Globalfoundries Inc. Immediate and displacement extraction and decode mechanism
US7818542B2 (en) * 2007-07-10 2010-10-19 Globalfoundries Inc. Method and apparatus for length decoding variable length instructions
US8013765B1 (en) * 2008-05-01 2011-09-06 Cavium, Inc. Modular scaleable processing engine for accelerating variable length coding
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
FR2951896A1 (fr) * 2009-10-23 2011-04-29 France Telecom Procede d'encapsulation de sous-flux de donnees, procede de desencapsulation et programmes d'ordinateur correspondants
US9143160B2 (en) 2010-09-03 2015-09-22 Telefonaktiebolaget L M Ericsson (Publ) Co-compression and co-decompression of data values
US8982992B2 (en) * 2011-10-27 2015-03-17 Lsi Corporation Block-based crest factor reduction (CFR)
CN105323583B (zh) * 2014-06-13 2019-11-15 财团法人工业技术研究院 编码方法、解码方法、编解码系统、编码器与解码器
JP2019165365A (ja) * 2018-03-20 2019-09-26 株式会社東芝 信号処理装置
US11152953B2 (en) * 2020-02-28 2021-10-19 Qualcomm Incorporated Error detection for a wireless channel
CN112422984B (zh) * 2020-10-26 2023-02-28 眸芯科技(上海)有限公司 多核解码系统的码流预处理装置、系统及方法
KR20240145870A (ko) * 2022-02-03 2024-10-07 선전 구딕스 테크놀로지 컴퍼니, 리미티드 이미지 센서의 이미지 데이터를 처리하기 위한 방법 및 이미지 프로세서 유닛

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02301280A (ja) 1989-05-15 1990-12-13 Nec Corp 動画像信号の符号化・復号化方式
EP1995962A3 (en) 1991-04-10 2009-06-17 Mitsubishi Denki Kabushiki Kaisha Encoder and decoder
JPH05252055A (ja) 1992-03-06 1993-09-28 Mitsubishi Electric Corp 符号化装置および復号化装置
JP2697479B2 (ja) 1992-04-17 1998-01-14 国際電信電話株式会社 可逆可変長符号化方式
US5226082A (en) * 1992-07-02 1993-07-06 At&T Bell Laboratories Variable length decoder
KR100396971B1 (ko) * 1994-11-29 2003-11-03 산요덴키가부시키가이샤 인코드된비디오데이터의에러검출및처리기능을구비한비디오디코더
US6104754A (en) * 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
JP3431368B2 (ja) * 1995-04-14 2003-07-28 株式会社東芝 可変長符号化/復号化方法及び可変長符号化/復号化装置
EP1802138A3 (en) * 1995-03-15 2008-11-12 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US6415398B1 (en) * 1995-09-29 2002-07-02 Kabushiki Kaisha Toshiba Coding system and decoding system
US5778191A (en) * 1995-10-26 1998-07-07 Motorola, Inc. Method and device for error control of a macroblock-based video compression technique
EP0861001B1 (en) 1997-02-07 2012-05-23 Texas Instruments Incorporated Error resilient video encoding
JP3884172B2 (ja) * 1997-10-02 2007-02-21 株式会社東芝 可変長復号化装置および復号化方法
JP2000032393A (ja) * 1998-07-09 2000-01-28 Sony Corp 画像情報処理装置および方法、並びに提供媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1302667C (zh) * 2002-08-24 2007-02-28 Lg电子株式会社 可变长度编码方法
CN109257136A (zh) * 2017-07-12 2019-01-22 中国科学院大学 联合信源信道与安全的jpeg2000算术码的双向编译码方法

Also Published As

Publication number Publication date
JP3884172B2 (ja) 2007-02-21
CA2273169A1 (en) 1999-04-15
NO992619L (no) 1999-08-02
EP0966107A4 (en) 2000-12-13
US20050084019A1 (en) 2005-04-21
EP0966107A1 (en) 1999-12-22
US6829299B1 (en) 2004-12-07
NO992619D0 (no) 1999-06-01
US7136416B2 (en) 2006-11-14
AU9282698A (en) 1999-04-27
CA2273169C (en) 2004-06-08
BR9806295A (pt) 2000-04-11
US7236530B2 (en) 2007-06-26
US20050066318A1 (en) 2005-03-24
CN1153353C (zh) 2004-06-09
WO1999018674A1 (en) 1999-04-15
US20070183506A1 (en) 2007-08-09
JPH11168393A (ja) 1999-06-22
US20050041741A1 (en) 2005-02-24
AU726301B2 (en) 2000-11-02
KR100334690B1 (ko) 2002-04-27
US7203239B2 (en) 2007-04-10
KR20000069256A (ko) 2000-11-25

Similar Documents

Publication Publication Date Title
CN1153353C (zh) 可变长度译码装置及译码方法
CN1297148C (zh) 动画图像编码传送系统、动画图像编码传送方法、该系统和方法使用的适合的编码装置、译码装置、编码方法、译码方法以及程序
CN1075323C (zh) 运动矢量编码和解码方法及装置,图像信号编码和解码方法及装置
CN1271815C (zh) 编码装置和译码装置
CN1284376C (zh) 动态图像译码装置和方法
CN1187716C (zh) 用于编码和解码关键字数据的装置和方法
CN1640148A (zh) 动态图像编码方法及动态图像解码方法
CN1596547A (zh) 移动图像编码设备、移动图像解码设备、移动图像编码方法、移动图像解码方法、程序和存储程序的计算机可读记录媒介
CN1650636A (zh) 编码设备和编码方法、解码设备和解码方法、记录介质以及程序
CN1138275A (zh) 图形信号编码译码方法和装置及信号记录介质
CN1943246A (zh) 图像解码方法
CN1666532A (zh) 图像编码方法和图像解码方法
CN1801945A (zh) 编码视频序列变换装置和编码视频序列变换方法
CN1956545A (zh) 图像处理装置、图像处理方法、记录介质和程序
CN1397137A (zh) 数据处理装置
CN1153468C (zh) 编码装置、译码装置和编码、译码方法以及图象处理装置
CN1946181A (zh) 图像处理、压缩、解压缩、传输、发送、接收装置和方法及其程序以及显示装置
CN1509575A (zh) 图像编码方法及图像译码方法
CN1898965A (zh) 运动图象编码方法和装置
CN1574944A (zh) 动态图像解码装置
CN1642284A (zh) 图像处理设备和方法、程序以及记录介质
CN1234932A (zh) 变长帧传输方法、发射机和接收机
CN1878312A (zh) 用于解码比特流的装置和方法
CN1182727C (zh) 动图象译码方法,动图象译码装置
CN101039435A (zh) 在图象编码过程中实现自适应扫描的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20040609