CN101047857A - 实现分层变长编解码的方法 - Google Patents

实现分层变长编解码的方法 Download PDF

Info

Publication number
CN101047857A
CN101047857A CN 200610073447 CN200610073447A CN101047857A CN 101047857 A CN101047857 A CN 101047857A CN 200610073447 CN200610073447 CN 200610073447 CN 200610073447 A CN200610073447 A CN 200610073447A CN 101047857 A CN101047857 A CN 101047857A
Authority
CN
China
Prior art keywords
coding
cbp
cbp bit
enhancement layer
bit
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
CN 200610073447
Other languages
English (en)
Other versions
CN101047857B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200610073447 priority Critical patent/CN101047857B/zh
Publication of CN101047857A publication Critical patent/CN101047857A/zh
Application granted granted Critical
Publication of CN101047857B publication Critical patent/CN101047857B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种实现分层变长编解码的方法。本发明主要包括:首先,在进行分层变长编码过程中,将基本层的编码块模式CBP比特位与当前增强层的CBP比特位进行相关运算,得到相关运算结果;之后,根据基本层的CBP比特位的特征对所述得到的相关运算结果按照预定的编码方式进行编码,获得针对当前增强层的CBP比特位的编码结果。因此,本发明可以在不降低编码性能的前提下,大大降低FGS增强层编解码的计算复杂度,便于编码过程的硬件实现,而且,本发明提供的技术方案当应用于空间增强层和CGS增强层编码中时,还可以有效去除CGS增强层和空间增强层的冗余信息,从而提高针对空间增强层和CGS增强层的编码性能。

Description

实现分层变长编解码的方法
技术领域
本发明涉及编码技术领域,尤其涉及一种分层变长编解码技术。
背景技术
可伸缩视频编码(也可以称为分层变长编码)是一种应用广泛的视频编码技术,可伸缩视频编码能够通过编码之后的处理来实现视频码流任意的裁减。可伸缩视频编码的码流中包括一个基本层和一个以上的增强层。
目前,在AVC(一种先进视频压缩标准)视频编码标准的SVC(视频分层编码)扩展部分中,规定基本层编码可以与H.264/AVC标准兼容。
在H.264/AVC的分层编码扩展SVC标准采用了MCTF(基于运动补偿的时间滤波)的算法框架,如图1所示,从而可以较好地实现空间分层、时间分层、质量分层以及复杂度分层等功能。其中所述的质量分层具体包括CGS(Coarse Granularity Scalability,粗糙粒度可变分层)和FGS(FineGranularity Scalability,精细粒度可变分层)。
目前,在SVC的FGS增强层中借用了H.264/AVC中的CBP(编码块模式)概念,在CAVLC(上下文自适应变长编码)该符号时,利用基于基本层CBP值的上下文,来编码FGS增强层中的CBP。为了编码CBP这个符号,具体是根据符号数组uiCode[2]的长度和0符号的概率,在以下三个变长编码表(表1至表3)中自适应的选择其中一个表来编码CBP比特位。
           表1
 Symbol/符号  Codeword/码字
 01  01
        表2
    Symbol     codeword
    000     0
    001     100
    010     101
    011     11100
    100     110
    101     11101
    110     11110
    111     11111
         表3
    Symbol    codeword
    0000    0
    0001    100
    0010    101
    0011    11100
    0100    1100
    0101    11101
    0110    111100
    0111    11111100
    1000    1101
    1001    111101
    1010    1111100
    1011    11111101
    1100    1111101
    1101    11111110
    1110    111111110
    1111    111111111
具体一点讲,目前针对FGS增强层的编码处理过程如图2所示,包括:
步骤21:设定变量uiCode[2],该变量记录着根据基本层上下文拆分当前FGS增强层CBP对应位,构造基本层分别是0和1时的符号数组uiCode[2];
步骤22:设定变量uiLen[2],该变量记录着根据基本层上下文计算符号数组uiCode[2]的长度;
步骤23:建立统计变量m_uiCbpStats[3][2],用于统计基本层分别是0和1,增强层CBP对应位也分别为0和1的个数;
在每个FGS增强层条带建立时,初始化该变量数组m_uiCbpStats[3][2];
步骤24:判断已经编码的宏块是否为增强层条带最后的一宏块,如果是,则编码过程结束,否则执行步骤25:
步骤25:对每个待编码的FGS增强层宏块根据上下文拆分CBP比特位计算符号数组uiCode[2]和符号长度uiLen[2];
步骤26:根据符号长度uiLen[2]和统计变量数组m_uiCbpStats[3][2]决定最优的VLC(变长编码)方法,即选择对应的VLC表进行编码;
步骤27:根据所选的最优VLC编码方法,即相应的VLC表对符号数组uiCode[2]进行编码。
步骤28:基于上下文,更新统计变量数组m_uiCbpStats[3][2],即通过更新过程对该变量数组进行更新;
步骤29:根据设定的阈值对统计变量数组进行处理;
具体为:如果m_uiCbpStats[uiB][0]+m_uiCbpStats[uiB][1]大于阈值512,分别右移4位,避免统计变量溢出。
可以看出,在上述处理过程中,VLC码表的选择过程计算复杂,具体是通过嵌套判断才能决定最优编码表,导致相应的编码处理过程尤其不适合硬件的实现。同时,为了选择最优的VLC码表,在每个宏块中,都必须更新统计变量数组m_uiCbpStats[3][2]。而且,为了避免统计变量数组m_uiCbpStats[3][2]溢出和保持不必要的尺寸大小,在每个宏块中还需要进行有条件的缩放处理,因而进一步导致整个编码过程中计算处理较为复杂。同样,在解码端也同样需要经过上述复杂程度相当的解码处理过程。
因此,上述技术方案使得在VLC编码器中编码效率大大降低。
在现有技术中,针对SVC的空间增强层和CGS增强层编码,具体对CBP的编码是沿用了H.264/AVC的编码方法。也就是说,是根据CBP所代表的宏块是帧间编码模式还是帧内编码模式,采用表4映射编码CBP符号。
                           表4
    codeNum     coded_block_pattern
    Intra     Inter
    0     47     0
    1     31     16
    2     15     1
    3     0     2
    4     23     4
    5     27     8
    6     29     32
    7     30     3
    8     7     5
    9     11     10
    10     13     12
    11     14     15
    12     39     47
    13     43     7
    14     45     11
    15     46     13
    16     16     14
    17     3     6
    18     5     9
    19     10     31
    20     12     35
    21     19     37
    22     21     42
    23     26     44
    24     28     33
    25     35     34
    26     37     36
    27     42     40
    28     44     39
    29     1     43
    30     2     45
    31     4     46
    32     8     17
    33     17     18
    34     18     20
    35     20     24
    36     24     19
    37     6     21
    38     9     26
    39     22     28
    40     25     23
    41     32     27
    42     33     29
    43     34     30
    44     36     22
    45     40     25
    46     38     38
    47     41     41
采用该方法实现针对CGS增强层和空间增强层的编码时,由于基本层和增强层之间的相关性,使得存在信息冗余,冗余信息的存在必然会影响到编码的性能。
发明内容
本发明的目的是提供一种实现分层变长编解码的方法,以有效降低针对分层编码中的增强层编解码的计算复杂度,从而可以实现低计算复杂度的CAVLC编解码方案。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种实现分层变长编码的方法,包括:
A、在进行分层变长编码过程中,将基本层的编码块模式CBP比特位与当前增强层的CBP比特位进行相关运算,得到相关运算结果;
B、根据基本层的CBP比特位的特征对所述得到的相关运算结果按照预定的编码方式进行编码,获得针对当前增强层的CBP比特位的编码结果。
所述的步骤A包括:
将基本层的CBP比特位与待编码的增强层的CBP比特位之间进行异或、比较或同或运算,获得异或、比较或同或运算结果。
所述的步骤A包括:
A1、当进行分层变长编码时,判断当前编码块是否为待编码的增强层的最后一个宏块,如果是,则编码过程结束,否则,执行步骤A2;
A2、将基本层的CBP比特位与当前增强层的CBP比特位进行相关运算,得到相关运算结果。
本发明中,在执行所述的步骤B之前还包括:
C、根据基本层CBP比特位中可能包含“1”或“0”的数量把相关运算结果映射到不同的编码方式,获得各个CBP比特位中包含的“1”或“0”的数量值各自对应的一种编码方式。
所述的步骤C包括:
设置一组编码方式表,每张编码方式表对应着一个基本层CBP比特位中包含“1”或“0”的数量,且在所述的编码方式表中设置有不同的增强层的CBP比特位作相关运算后结果所对应的编码结果。
本发明中,当CBP比特位为四位,则基本层CBP比特位中包含的“1”个数0至4分别对应的一组编码方式表具体包括下述五张表:
第一表:
    符号     码字
    0000     0
    0001     100101
    0010     100000
    0011     10110
    0100     100100
    0101     10111
    0110     1010110
    0111     101010
    1000     100111
    1001     1010111
    1010     100010
    1011     100001
    1100     10100
    1101     100011
    1110     100110
    1111     11
第二表:
    符号     码字
    0000     1001
    0001     1010
    0010     1011
    0011     00111
    0100     00100
    0101     11110
    0110     00101
    0111     010
    1000     1000
    1001     1110
    1010     111110
    1011     011
    1100     00110
    1101     110
    1110     000
    1111     111111
第三表:
    符号     码字
    0000     011
    0001     1101
    0010     1111
    0011     000
    0100     1100
    0101     100
    0110     1110
    0111     1011110
    1000     10110
    1001     1010
    1010     010
    1011     1011100
    1100     001
    1101     10111110
    1110     1011101
    1111     10111111
第四表:
     符号     码字
    0000   0110
    0001   10
    0010   11
    0011   011101
    0100   010
    0101   0111001
    0110   01111011
    0111   0111101010
    1000   00
    1001   0111100
    1010   011111
    1011   01110000
    1100   011110100
    1101   01110001
    1110   01111010110
    1111   01111010111
第五表:
    符号  码字
    0000  0
    0001  1111
    0010  110
    0011  101100
    0100  1010
    0101  1110
    0110  10111110
    0111  101111110
    1000  100
    1001  101101
    1010  101110
    1011  1011111110
    1100  10111111110
    1101  101111111110
    1110  101111111111
    1111  1011110
所述的增强层的CBP比特位作相关运算后结果的编码方式还包括:定长编码方式或Golomb编码方式。
所述的步骤B包括:
确定基本层的CBP比特位中包含的“1”或“0”的数量,并在一组编码方式表中选择与该数量对应的一个编码方式表;
在所述的编码方式表中确定该增强层CBP比特位对应的编码结果,作为针对当前增强层的CBP比特位的编码结果。
所述的步骤B还包括:
将选择的编码方式表的信息写入码流中,在解码端,根据码流中的该信息选择对应的用于解码操作的编码方式表。
所述的分层变长编码为:
精细粒度可变分层FGS编码、粗糙粒度可变分层CGS编码或空间分层编码。
本发明中,当所述的分层变长编码为CGS编码或空间分层编码时,在执行所述的步骤A之前还包括:
确定增强层的CBP比特位所属的宏块与基本层宏块为相同的编码模式,则执行步骤A。
所述的方法还包括:
当确定增强层的CBP比特位所属的宏块与基本层宏块为不同的编码模式时,则采用H.264/AVC规定的编码方式对增强层CBP比特位进行编码。
所述的步骤A包括:
编码增强层CBP中属于色度的两位,之后,再将基本层的CBP比特位与当前增强层的CBP比特位进行相关运算,得到相关运算结果。
所述的方法应用于视频分层编码或音频分层编码中。
本发明还提供了一种实现分层变长解码的方法,包括:
解码端接收码流并根据基本层的CBP比特位的特征或者根据码流中传输的编码端的编码方式选择信息确定相应的预定的编码方式,并利用确定的编码方式对码流进行解码操作获得解码信息;
对所述的解码信息与基本层CBP比特位之间进行在编码端进行的相关运算的逆运算处理获得相应的增强层的CBP比特位,获得针对增强层的CBP的解码结果。
本发明还提供了一种实现分层变长编码的方法,包括:
D、设置不同的基本层CBP比特位中包含的“1”或“0”的数量分别对应的编码方式;
E、根据基本层CBP比特位中包含的“1”或“0”的数量在设置的编码方式中确定该基本层CBP比特位对应的编码方式;
F、利用该基本层CBP比特位对应的编码方式对增强层CBP比特位进行编码。
由上述本发明提供的技术方案可以看出,本发明描述了一种新的CAVLC编码方法,编码CBP比特位时,在几乎不改变编码效率,即码率几乎不改变的情况下,大幅度降低编解码的计算复杂度。
因此,本发明可以在不降低编码性能的前提下,大大降低FGS增强层编解码的计算复杂度,便于编码过程的硬件实现,从而可以有效利用CAVLC编码的优点进行编解码操作,以便于提高整个编码系统的编码性能。
而且,本发明提供的技术方案当应用于空间增强层和CGS增强层编码中时,还可以有效去除CGS增强层和空间增强层的冗余信息,从而提高针对空间增强层和CGS增强层的编码性能。
附图说明
图1为MCTF算法的框架示意图;
图2为现有技术中实现FGS增强层编码的过程示意图;
图3为本发明提供的FGS编解码结构示意图;
图4为本发明提供的FGS编码过程示意图;
图5为本发明提供的空间分层编解码结构示意图;
图6为本发明提供的空间分层编码过程示意图。
具体实施方式
本发明实现的目的是为了使H.264/AVC的可伸缩扩展部分SVC能得到广泛的应用,为此,需要令SVC能在计算复杂度受限的设备上应用,即需要提供一种低计算复杂度的CAVLC编码方法来满足这一要求。
本发明在实现过程中,主要是将基本层的CBP比特位与当前增强层的CBP比特位进行相关运算,如异或运算,或者其他运算方式,如比较运算操作,相同位对应取“0”,不相同位对应取“1”;或者同或运算等,并得到相应的相关运算结果;然后,根据基本层的CBP比特位的特征确定可以采用的预定的编码方式,并利用该确定的编码方式对所述的相关运算结果进行编码,这样,便可以获得针对当前增强层的CBP比特位的编码结果。
其中,所述的编码方式可以预先分别设置于收发两端设备中,以便于在编码解码过程中可以根据需要选择相应的编码方式进行编码及解码操作。本发明中,根据基本层CBP比特位中可能包含“1”或“0”的数量分别设置对应不同数量的编码方式,例如,CBP比特位中包含0个“1”时对应一个编码方式,包含1个“1”时对应另一个编码方式,依次类推,所述的编码方式具体可以为一个编码方式表,该编码方式表中记录着所述相关运算结果对应的编码结果。
本发明提供的技术方案具体可以应用于视频分层编码中,也可以应用于音频分层编码过程中。
在后续的描述中,将结合本发明应用于视频编码过程中为例,对本发明的具体实现进行详细的说明,当然,本发明并不局限于以下应用。
本发明在具体实现过程中可以应用于对FGS增强层的编码,也可以应用于对空间分层或CGS增强层的编码,下面将分别对两种编码过程中应用本发明的具体实现进行详细阐述。
(一)本发明应用于对FGS增强层编码
FGS增强层编码实现过程的结构如图3所示,本发明针对现有的编码结构进行了改进,主要体现在针对图3中增强层CBP编码过程的改进。在图3中,虚线左侧的处理部分为编码端,虚线右侧的处理部分为解码端,在编解码端上方的VLC或VLD(含CBP编码)部分为负责基本层CBP编码,在编解码端下方的VLC或VLD(含CBP编码)部分为负责增强层CBP编码。本发明正是对图3中的负责增强层CBP编码的部分进行了改进,充分考虑了基本层CBP与增强层CBP之间的相关性,并可以不增加编码过程中计算的复杂度。即充分利用基本层CBP和当前FGS增强层CBP的信息相关性,去除冗余信息,编码FGS增强层中CBP比特位,在保持编码效率的前提下,大幅度降低了计算复杂度,便于硬件实现。
基于本发明实现的设备应用在视频编解码系统中的一个或多个视频增强层的熵编码阶段。如图3所示本发明设备所体现的FGS可分层视频编码系统是H.264/AVC视频编码标准的可分层扩展SVC的一部分。
下面再结合附图对针对FGS增强层CBP的具体编码过程进行详细描述,如图4所示,相应的编码处理过程包括:
步骤41:在编解码端分别设置相应的一组编码方式表,不同的编码方式表对应着基本层CBP比特位中包含的“1”的数量,在所述的编码方式表中包含符号和码字;
例如,当CBP比特位包含的“1”的数量分别为0、1、2、3和4时,则分别依次对应以下五张编码方式表,如表5至表9所示:
        表5
  Symbol(符号)   Codeword(码字)
  0000   0
  0001   100101
  0010   100000
  0011   10110
  0100   100100
  0101   10111
    0110   1010110
    0111   101010
    1000   100111
    1001   1010111
    1010   100010
    1011   100001
    1100   10100
    1101   100011
    1110   100110
    1111   11
          表6
    Symbol     codeword
    0000     1001
    0001     1010
    0010     1011
    0011     00111
    0100     00100
    0101     11110
    0110     00101
    0111     010
    1000     1000
    1001     1110
    1010     111110
    1011     011
    1100     00110
    1101     110
    1110     000
    1111     111111
         表7
    Symbol     codeword
    0000     011
    0001     1101
    0010     1111
    0011     000
    0100     1100
    0101     100
    0110     1110
    0111     1011110
    1000     10110
    1001     1010
    1010     010
    1011     1011100
    1100     001
    1101     10111110
    1110     1011101
    1111     10111111
        表8
  Symbol    codeword
  0000    0110
  0001    10
  0010    11
  0011    011101
  0100    010
  0101    0111001
  0110    01111011
  0111    0111101010
  1000    00
  1001    0111100
  1010    011111
  1011    01110000
  1100    011110100
  1101    01110001
  1110    01111010110
  1111    01111010111
          表9
    Symbol  codeword
    0000  0
    0001  1111
    0010  110
    0011  101100
    0100  1010
    0101  1110
    0110  10111110
    0111  101111110
    1000  100
    1001  101101
    1010  101110
    1011  1011111110
    1100  10111111110
    1101  101111111110
    1110  101111111111
    1111  1011110
步骤42:确定当前需要对FGS增强层进行VLC编码;
步骤43:判断上一个已经编码完成的宏块是否为该增强层条带最后的一个宏块,如果是,则表示编码过程已经完成,即编码过程结束,否则,执行步骤44;
步骤44:将基本层CBP比特位与增强层CBP比特位进行异或运算,获得异或运算结果;
在FGS增强层的熵编码过程中,由于当前增强层的CBP比特位和基本层的CBP比特位有很大的相关性,因此,为了提高编码效率,必须尽量去除其中的信息冗余,具体采用的去除冗余信息的方式是进行异或运算操作,得到一个符号值DS;
步骤45:根据基本层CBP比特位中包含的“1”的个数选择对应的编码方式表,并利用对应的编码方式表对异或运算结果DS进行编码;
具体为根据基本层CBP比特位中的4个比特位中“1”的个数确定对应的表5至表9中的一个表用来编码符号DS;例如,当基本层CBP比特位等于“0001”时,其中含有一个“1”,则采用所述的表6来编码DS;
具体的编码方式为将DS与表6中的符号部分匹配,匹配结果对应的码字即为针对DS的编码结果,例如,DS为“1110”则针对DS采用表6的编码结果为“000”;
需要说明的是:在进行异或操作并得到符号DS后,可以不完全采用上述表5至表9提供的编码方式表进行编码,也可以将表5至表9中的部分表与其他编码方式结合起来作为可供选择的DS编码方式,例如,当基本层CBP比特位中含有1个“1”时,采用定长编码,或采用Golomb编码等,而不再采用表6对DS进行编码,而当基本层CBP比特位中含有2个“1”时,则可以选择表7作为DS的编码方式;
另外,为便于解码端确定对应的编码方式表对该DS进行解码,还可以将该步骤中选择编码方式的结果信息写入码流中传输给解码端,例如,若选择表6进行DS编码,则可以将表6对应的识别信息写入码流中。
在解码端,接收所述的码流后,需要对码流进行解码处理。由于基本层的CBP比特位信息已经先解码出来了,因此,可以根据其中的“1”的个数来选择表5到表9中的其中一个编码方式表来解码符号DS,然后,再利用异或基本层CBP比特位还原增强层CBP比特位,从而实现了针对FGS增强层CBP比特位的解码处理。如果在前面的步骤45中,已经将选择的编码方式表的信息写入码流,则在解码端只需要根据码流中的信息确定相应的编码方式表,并利用该表进行DS解码操作即可。在解码端,相应的处理过程主要是编码端采用的编码过程的一个逆向的处理过程,即在解码端经过相应的解码处理获得编码前的信息,从而实现针对码流的解码操作。
(二)本发明应用于CGS增强层和空间增强层编码
本发明还可以应用于CGS和空间可分层视频编码系统中,其中CGS和空间可分层视频编码系统是H.264/AVC视频编码标准的可分层扩展SVC的一部分,如图5所示,其实,CGS可分层编码是空间可分层编码的一种特例,当空间可分层编码的增强层和基本层分辨率相同,只是量化系数不同时,即为CGS方法。
在图5中,虚线左侧的处理部分为编码端,虚线右侧的处理部分为解码端,在编解码端上方的VLC或VLD(含CBP编码)部分为负责基本层CBP编码,在编解码端下方的VLC或VLD(含CBP编码)部分为负责增强层CBP编码。本发明的改进主要体现在图5中的编解码端下方的VLC(含CBP编码)部分,同样,改进过程中考虑了基本层CBP与增强层CBP之间的相关性。
本发明应用于CGS增加层和空间增强层编码的编码处理过程如图6所示,包括以下步骤:
步骤61:在编解码端设置相应的一组编码方式表信息,具体的编码方式表仍可以采用前面描述的表5至表9,也可以采用其他内容的编码方式表;
步骤62:判断上一个已经编码的宏块是否为该增强层条带最后一个宏块,如果是,则表明编码过程结束,否则,执行步骤63:
步骤63:判断当前基本层对应的宏块和增强层对应的宏块的编码模式是否相同,如果相同,则执行步骤64,否则,执行步骤67;
即对于空间增强层MCTF中的变换过程产生的CBP符号,先判断CBP所属宏块和该宏块对应的基本层宏块是否属于相同编码模式,如果相同,则执行步骤64,否则,执行步骤67;
根据需要,在空间增强层编码中也可以不判断当前增强层和基本层宏块的编码模式是否相同,即可以省略步骤63,直接执行步骤64;
步骤64:编码增强层CBP中属于色度的两位,执行步骤65,即利用基本层CBP的相关信息,编码其中属于亮度的4位:
步骤65:将基本层CBP比特位与当前增强层CBP比特位进行异或操作,得到一个符号值DS;
步骤66:根据基本层CBP比特位包含的4个比特位中“1”的个数,采用表5至表9中的一个编码方式表来编码符号DS;
例如,当基本层CBP比特位等于“0001”时,其中含有一个“1”,则用表6来编码DS;
需要说明的是:在进行异或操作并得到符号DS后,可以不完全采用上述表5至表9提供的编码方式表进行编码,也可以将表5至表9中的部分表与其他编码方式结合起来作为可供选择的DS编码方式,例如,当基本层CBP比特位中含有1个“1”时,采用定长编码,或采用Golomb编码等,而不再采用表6对DS进行编码,而当基本层CBP比特位中含有2个“1”时,则可以选择表7作为DS的编码方式;
另外,为便于解码端确定对应的编码方式表对该DS进行解码,还可以将该步骤中选择编码方式的结果信息写入码流中传输给解码端,例如,若选择表6进行DS编码,则可以将表6对应的识别信息写入码流中。
步骤67:当前增强层CBP所属宏块和对应的基本层宏块不属于相同的编码模式,则按H.264/AVC原有的方法编码CBP,当然也可以采用其他预定的编码方式进行编码。
针对图6所示的编码处理,在解码端的处理与前面(一)中描述的解码端的工作过程类似,在此不再详述。
本发明在具体实现过程中,考虑到基本层CBP比特位与增强层CBP比特位之间的相关联性,还可以采用以下的编码方式实现针对增强层CBP比特位的编码:基本层CBP比特位中含有“1”的个数,直接在表5至表9中选择一个对应的编码方式表,并利用该编码方式表编码FGS增强层CBP比特位;或者,根据基本层CBP比特位中含有“0“的个数,直接在表5至表9中选择一个对应的编码方式表,并利用该编码方式表直接编码FGS增强层CBP比特位。在该编码FGS增强层CBP比特位过程中,也可以采用其他编码方式表替代表5至表9所示的五张表。并且,根据需要,还可以在选择确定采用的编码方式表后,将选择的编码方式表信息写入码流中,从而使得解码端在接收到码流后无需进行选择处理,便可以确定解码用的编码方式表。如果在解码端未将选择的编码方式表信息写入码流,则需要在解码端采用与编码端相同在后面选择编码方式表,并利用选择的编码方式表进行解码操作。
类似的,还可以利用上述思想对CGS增强层或空间增强层CBP比特位进行编码,即直接根据基本层CBP比特位包含的“1”或“0”的数量选择对应的编码方式表,并利用该编码方式表对CGS增强层或空间增强层CBP比特位进行编码。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (16)

1、一种实现分层变长编码的方法,其特征在于,包括:
A、在进行分层变长编码过程中,将基本层的编码块模式CBP比特位与当前增强层的CBP比特位进行相关运算,得到相关运算结果;
B、根据基本层的CBP比特位的特征对所述得到的相关运算结果按照预定的编码方式进行编码,获得针对当前增强层的CBP比特位的编码结果。
2、根据权利要求1所述的方法,其特征在于,所述的步骤A包括:
将基本层的CBP比特位与待编码的增强层的CBP比特位之间进行异或、比较或同或运算,获得异或、比较或同或运算结果。
3、根据权利要求1所述的方法,其特征在于,所述的步骤A包括:
A1、当进行分层变长编码时,判断当前编码块是否为待编码的增强层的最后一个宏块,如果是,则编码过程结束,否则,执行步骤A2;
A2、将基本层的CBP比特位与当前增强层的CBP比特位进行相关运算,得到相关运算结果。
4、根据权利要求1所述的方法,其特征在于,在执行所述的步骤B之前还包括:
C、根据基本层CBP比特位中可能包含“1”或“0”的数量把相关运算结果映射到不同的编码方式,获得各个CBP比特位中包含的“1”或“0”的数量值各自对应的一种编码方式。
5、根据权利要求4所述的方法,其特征在于,所述的步骤C包括:
设置一组编码方式表,每张编码方式表对应着一个基本层CBP比特位中包含“1”或“0”的数量,且在所述的编码方式表中设置有不同的增强层的CBP比特位作相关运算后结果所对应的编码结果。
6、根据权利要求5所述的方法,其特征在于,当CBP比特位为四位,则基本层CBP比特位中包含的“1”个数0至4分别对应的一组编码方式表具体包括下述五张表:
第一表:   符号   码字   0000   0   0001   100101   0010   100000   0011   10110   0100   100100   0101   10111   0110   1010110   0111   101010   1000   100111   1001   1010111   1010   100010   1011   100001   1100   10100   1101   100011   1110   100110   1111   11
第二表:   符号   码字   0000   1001   0001   1010   0010   1011   0011   00111   0100   00100   0101   11110   0110   00101   0111   010   1000   1000   1001   1110   1010   111110   1011   011   1100   00110   1101   110   1110   000   1111   111111
第三表:   符号   码字   0000   011   0001   1101   0010   1111   0011   000   0100   1100   0101   100   0110   1110
  0111   1011110   1000   10110   1001   1010   1010   010   1011   1011100   1100   001   1101   10111110   1110   1011101   1111   10111111
第四表:   符号   码字   0000   0110   0001   10   0010   11   0011   011101   0100   010   0101   0111001   0110   01111011   0111   0111101010   1000   00   1001   0111100   1010   011111   1011   01110000   1100   011110100   1101   01110001   1110   01111010110   1111   01111010111
第五表:   符号   码字   0000   0   0001   1111   0010   110   0011   101100   0100   1010   0101   1110   0110   10111110   0111   101111110   1000   100   1001   101101   1010   101110   1011   1011111110   1100   10111111110   1101   101111111110   1110   101111111111   1111   1011110
7、根据权利要求6所述的方法,其特征在于,所述的增强层的CBP比特位作相关运算后结果的编码方式还包括:定长编码方式或Golomb编码方式。
8、根据权利要求5所述的方法,其特征在于,所述的步骤B包括:
确定基本层的CBP比特位中包含的“1”或“0”的数量,并在一组编码方式表中选择与该数量对应的一个编码方式表;
在所述的编码方式表中确定该增强层CBP比特位对应的编码结果,作为针对当前增强层的CBP比特位的编码结果。
9、根据权利要求8所述的方法,其特征在于,所述的步骤B还包括:
将选择的编码方式表的信息写入码流中,在解码端,根据码流中的该信息选择对应的用于解码操作的编码方式表。
10、根据权利要求1至9任一项所述的方法,其特征在于,所述的分层变长编码为:
精细粒度可变分层FGS编码、粗糙粒度可变分层CGS编码或空间分层编码。
11、根据权利要求1至9任一项所述的方法,其特征在于,当所述的分层变长编码为CGS编码或空间分层编码时,在执行所述的步骤A之前还包括:
确定增强层的CBP比特位所属的宏块与基本层宏块为相同的编码模式,则执行步骤A。
12、根据权利要求11所述的方法,其特征在于,所述的方法还包括:
当确定增强层的CBP比特位所属的宏块与基本层宏块为不同的编码模式时,则采用H.264/AVC规定的编码方式对增强层CBP比特位进行编码。
13、根据权利要求11所述的方法,其特征在于,所述的步骤A包括:
编码增强层CBP中属于色度的两位,之后,再将基本层的CBP比特位与当前增强层的CBP比特位进行相关运算,得到相关运算结果。
14、根据权利要求1至9任一项所述的方法,其特征在于,所述的方法应用于视频分层编码或音频分层编码中。
15、一种实现分层变长解码的方法,其特征在于,包括:
解码端接收码流并根据基本层的CBP比特位的特征或者根据码流中传输的编码端的编码方式选择信息确定相应的预定的编码方式,并利用确定的编码方式对码流进行解码操作获得解码信息;
对所述的解码信息与基本层CBP比特位之间进行在编码端进行的相关运算的逆运算处理获得相应的增强层的CBP比特位,获得针对增强层的CBP的解码结果。
16、一种实现分层变长编码的方法,其特征在于,包括:
D、设置不同的基本层CBP比特位中包含的“1”或“0”的数量分别对应的编码方式;
E、根据基本层CBP比特位中包含的“1”或“0”的数量在设置的编码方式中确定该基本层CBP比特位对应的编码方式;
F、利用该基本层CBP比特位对应的编码方式对增强层CBP比特位进行编码。
CN 200610073447 2006-03-27 2006-03-27 实现分层变长编解码的方法 Active CN101047857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610073447 CN101047857B (zh) 2006-03-27 2006-03-27 实现分层变长编解码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610073447 CN101047857B (zh) 2006-03-27 2006-03-27 实现分层变长编解码的方法

Publications (2)

Publication Number Publication Date
CN101047857A true CN101047857A (zh) 2007-10-03
CN101047857B CN101047857B (zh) 2010-04-07

Family

ID=38772008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610073447 Active CN101047857B (zh) 2006-03-27 2006-03-27 实现分层变长编解码的方法

Country Status (1)

Country Link
CN (1) CN101047857B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102959962A (zh) * 2011-04-15 2013-03-06 松下电器产业株式会社 图像压缩装置、图像压缩方法、集成电路、程序以及影像显示装置
WO2014048188A1 (zh) * 2012-09-29 2014-04-03 华为技术有限公司 分层编解码方法及装置
CN109462764A (zh) * 2013-01-07 2019-03-12 韩国电子通信研究院 支持多层的用于画面编解码的方法、计算机可读记录介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6788740B1 (en) * 1999-10-01 2004-09-07 Koninklijke Philips Electronics N.V. System and method for encoding and decoding enhancement layer data using base layer quantization data
US6480547B1 (en) * 1999-10-15 2002-11-12 Koninklijke Philips Electronics N.V. System and method for encoding and decoding the residual signal for fine granular scalable video
JP3489581B2 (ja) * 2002-03-28 2004-01-19 ソニー株式会社 画像符号化装置及び符号化方法
US7664176B2 (en) * 2004-07-09 2010-02-16 Nokia Corporation Method and system for entropy decoding for scalable video bit stream

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102959962A (zh) * 2011-04-15 2013-03-06 松下电器产业株式会社 图像压缩装置、图像压缩方法、集成电路、程序以及影像显示装置
CN102959962B (zh) * 2011-04-15 2015-11-25 松下电器产业株式会社 图像压缩装置、图像压缩方法、集成电路以及影像显示装置
WO2014048188A1 (zh) * 2012-09-29 2014-04-03 华为技术有限公司 分层编解码方法及装置
CN109462764A (zh) * 2013-01-07 2019-03-12 韩国电子通信研究院 支持多层的用于画面编解码的方法、计算机可读记录介质
US10841598B2 (en) 2013-01-07 2020-11-17 Electronics And Telecommunications Research Institute Image encoding/decoding method and device
CN109462764B (zh) * 2013-01-07 2021-06-11 韩国电子通信研究院 支持多层的用于画面编解码的方法、计算机可读记录介质

Also Published As

Publication number Publication date
CN101047857B (zh) 2010-04-07

Similar Documents

Publication Publication Date Title
CN1224268C (zh) 运动图象编码装置及运动图象解码装置
CN1214649C (zh) 用于视频预测残差系数编码的熵编码方法
KR101354381B1 (ko) 비디오 데이터의 코딩을 위한 가변 길이 코드들
CN1589023A (zh) 一种基于上下文的多码表变长编解码方法及编解码装置
CN1695168A (zh) 视频信息编码方法和视频信息解码方法
CN1870754A (zh) 减少分块现象的编/解码装置、方法及计算机可读记录介质
CN1893666A (zh) 视频编码和解码方法及设备
CN101855908B (zh) 用于可缩放视频译码的改进的加强层译码
CN1633811A (zh) 图像编码方法、图像译码方法、图像编码装置、图像译码装置、程序、计算机数据信号,以及图像传送系统
CN1627824A (zh) 位流控制的后处理过滤
CN101039432A (zh) 在编码过程中实现自适应量化的方法及装置
CN1791223A (zh) 基于上下文的自适应二维变长解码方法和装置
CN1183491C (zh) 采用弱波变换和象限树编码压缩电信图象数据的方法和系统
CN1777283A (zh) 一种基于微块的视频信号编/解码方法
CN1738424A (zh) 基于h.264的精细颗粒可伸缩编码的码率控制方法
CN104010192A (zh) 用于hevc的帧内色度模式信令的码字分配
CN1633184A (zh) 基于有效区域的多参考帧快速运动估计方法
CN101047857A (zh) 实现分层变长编解码的方法
CN101043633A (zh) 一种编码中量化矩阵选择方法、装置及编解码方法及系统
CN1224270C (zh) 用于宏块组结构的两阶段预测编码的帧内编码帧编码方法
CN1268136C (zh) 基于图像切片结构的帧场自适应编码方法
CN1926883A (zh) 使用感兴趣区域的视频/图像编码方法和系统
CN1329794A (zh) 使用变换系数的位平面编码的高粒度可量测性的改进
CN1299510C (zh) 压缩运动图像信息的方法和系统
CN1756361A (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
ASS Succession or assignment of patent right

Owner name: TENCENT TECHNOLOGY (SHENZHEN) CO., LTD.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO LTD

Effective date: 20111028

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518129 SHENZHEN, GUANGDONG PROVINCE TO: 518057 SHENZHEN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20111028

Address after: 518057 Tencent Building, Nanshan District hi tech park, Shenzhen, Guangdong

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.