CN102595123B - 条带编码方法及装置、条带解码方法及装置 - Google Patents
条带编码方法及装置、条带解码方法及装置 Download PDFInfo
- Publication number
- CN102595123B CN102595123B CN201110008180.4A CN201110008180A CN102595123B CN 102595123 B CN102595123 B CN 102595123B CN 201110008180 A CN201110008180 A CN 201110008180A CN 102595123 B CN102595123 B CN 102595123B
- Authority
- CN
- China
- Prior art keywords
- band
- location information
- information field
- unit
- position information
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及编解码技术,公开了条带编码方法及装置、条带解码方法及装置,其中,一种条带编码方法包括:根据判决信息确定当前划分对象的条带划分类型,按照所述条带划分类型将当前划分对象划分成条带;在起始位置信息字段写入当前条带的起始位置信息;对写入了所述起始位置信息的当前条带进行编码,输出编码码流。使用本发明,可以控制条带的数据量大小,从而增强网络兼容性。
Description
技术领域
本发明涉及编解码技术,具体涉及新一代视频编码标准(HEVC,HighEfficiency Video Coding)中的条带编码方法及装置、条带解码方法及装置。
背景技术
随着网络技术和终端处理能力的不断提高,人们对目前广泛使用的运动图像专家组系列2(MPEG-2,Moving Pictures Experts Group-2),运动图像专家组系列4(MPEG-4),H.264等视频编解码技术提出了新的要求,例如希望能够满足高清、3D的要求,从而满足新的家庭影院、远程监控、数字广播、移动流媒体、便携摄像、医学成像等新领域的应用,为了满足这些应用,新一代视频编码标准(HEVC,High Efficiency Video Coding)应运而生。
HEVC为了提高压缩效率,使用了一种新的编码结构,具体地,将一个视频图像划分成为由整数个编码单元(CU,Coding Unit)组成,CU为方形,并且CU的尺寸大小可变。CU的产生过程简述如下,首先,将一个视频图像划分成为不重叠的整数个最大编码单元(LCU,Largest Coding Unit);进一步,可以将LCU可***为四个相同尺寸的CU;进一步,该四个CU可以***为更小四个相同尺寸的CU;***过程可以一直进行,直到***得到的CU的尺寸达到规定的最小值,该最小值即为最小编码单元(SCU,Smallest CodingUnit)。每个CU都存在***和不***两种可能,CU是否继续***或不***可以通过一个标识符进行标识,因此,在实际的编码过程中CU可能具有不同的尺寸大小。
为了限制误码的扩散和传输引入了条带(Slice)的概念,条带的应用可以使条带间的编码是独立的,一个条带的预测不能以另一个条带中的图像为参考图像,因此一个条带中的预测误差也不会传播到另一个条带。
现有的一种HEVC中的条带划分方法是按LCU进行条带的划分,一个条带包括整数个LCU,具体地,一个条带可以只包括一个LCU,也可以包括整个视频图像的所有LCU,从而使得一个视频图像可编码成一个或多个条带。
由于HEVC中LCU的尺寸较大,如果按LCU进行条带的划分,会导致条带的数据量大小很难控制,因为每增加或减小一个LCU条带的数据量都会发生较大的变化,从而增加了网络兼容的代价,网络兼容性不强。
发明内容
本发明实施例提供了条带编码方法及装置、条带解码方法及装置,可以控制条带的数据量大小,从而增强网络兼容性。
一方面,本发明一个实施例提供了一种条带编码方法,包括:
根据判决信息确定当前划分对象的条带划分类型,按照所述条带划分类型将当前划分对象划分成条带;
在起始位置信息字段写入当前条带的起始位置信息;
对写入了所述起始位置信息的当前条带进行编码,输出编码码流。
另一方面,本发明另一个实施例提供了一种条带解码方法,包括:
从起始位置信息字段解析当前条带的起始位置信息;
根据所述起始位置信息开始对所述当前条带的解码,并根据预置处理方式确定完成对所述当前条带的解码;
输出解码得到的当前条带的重建图像。
另一方面,本发明另一个实施例提供了一种条带编码装置,包括:
确定单元,用于根据判决信息确定当前划分对象的条带划分类型;
划分单元,用于按照所述确定单元确定的条带划分类型将当前划分对象划分成条带;
写入单元,用于在起始位置信息字段写入所述划分单元划分的当前条带的起始位置信息;
编码处理单元,用于对所述写入单元获得的当前条带进行编码,输出编码码流。
另一方面,本发明另一个实施例提供了一种条带解码装置,包括:
解析单元,用于从起始位置信息字段解析当前条带的起始位置信息;
解码单元,用于根据所述解析单元解析获得的起始位置信息开始对所述当前条带的解码,并根据预置处理方式确定完成对所述当前条带的解码;
输出单元,用于输出所述解码单元获得的条带的重建图像。
从本发明实施例提供的以上技术方案可以看出,由于本发明实施例可以根据判决信息确定当前划分对象的条带划分类型,按照确定的条带划分类型将当前划分对象划分成条带,使划分成的条带的数据量大小能够适应网络,并且在不同的网络可以采用不同的条带划分方式,从而增强网络兼容性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的条带编码方法的流程图;
图2为本发明另一个实施例提供的条带编码方法的流程图;
图3为本发明另一个实施例提供的条带编码方法的流程图;
图4为本发明一个实施例提供的条带解码方法的流程图;
图5为本发明另一个实施例提供的条带解码方法的流程图;
图6为本发明另一个实施例提供的条带解码方法的流程图;
图7为本发明一个实施例提供的条带编码装置的结构图;
图8为本发明另一个实施例提供的条带解码装置的结构图;
图9为本发明另一个实施例提供的条带编码装置的结构图;
图10为本发明一个实施例提供的条带解码装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,起始LCU的绝对位置信息可以为起始LCU在图像中的顺序绝对位置信息或倒序绝对位置信息;其中,当前条带的起始LCU在图像中的绝对位置信息具体可以是起始LCU在图像中的序号,例如一个图像包括10个LCU,序号分别是0~9,当前条带的起始LCU是图像中的第4个LCU,则该起始LCU的顺序绝对位置信息为3,该起始LCU的倒序绝对位置信息为5。
起始SCU的相对位置信息可以为起始SCU在起始LCU中的顺序相对位置信息或倒序相对位置信息;其中,起始SCU在起始LCU中的顺序相对位置信息具体可以是,当前条带的起始SCU相对于起始LCU中的第一个SCU的位置信息,例如起始LCU的第一个SCU在图像中的序号为1000,但是当前条带的起始SCU在图像中的序号为1010,则起始SCU在起始LCU中的相对位置信息为1010-1000=10;起始SCU在起始LCU中的倒序相对位置信息具体可以是,当前条带的起始SCU相对于起始LCU中的最后一个SCU的位置信息,例如起始LCU的最后一个SCU在图像中的序号为1010,但是当前条带的起始SCU在图像中的序号为1000,则起始SCU在起始LCU中的倒序相对位置信息为1010-1000=10。
在本发明的实施例中并不限定具体何时使用起始LCU在图像中的顺序绝对位置信息或倒序绝对位置信息作为起始LCU的绝对位置信息;也不限定何时使用起始SCU在起始LCU中的顺序相对位置信息或倒序相对位置信息作为起始SCU的相对位置信息。
同样的,在本发明的实施例中,结束LCU的绝对位置信息可以为结束LCU在图像中的顺序绝对位置信息或倒序绝对位置信息;结束SCU的相对位置信息可以为结束SCU在结束LCU中的顺序相对位置信息或倒序相对位置信息。
在本发明的实施例中也不限定具体何时使用结束LCU在图像中的顺序绝对位置信息或倒序绝对位置信息作为结束LCU的绝对位置信息;也不限定何时使用结束SCU在结束LCU中的顺序相对位置信息或倒序相对位置信息作为结束SCU的相对位置信息。
先介绍本发明实施例提供的条带编码方法,图1描述了本发明一个实施例提供的条带编码方法的流程,该实施例包括:
101、根据判决信息确定当前划分对象的条带划分类型,按照确定的条带划分类型将当前划分对象划分成条带。
其中,在本发明的一个实施例中,判决信息可以是输入配置、和输入参数、和视频源中的至少一个,不同的输入配置、和/或输入参数、和/或视频源可以采用不同的条带划分类型。在本发明的一个实施例中,条带划分类型可以是按LCU划分或按CU划分。
当前划分对象具体可以是当前图像序列、或当前视频图像、或当前图像条带等。
102、在起始位置信息字段写入当前条带的起始位置信息。
其中,起始位置信息字段可以位于当前条带的条带头,也可以位于序列参数集的头,也可以位于图像参数集的头等。
在本发明的一个实施例中,起始位置信息字段只包括一个字段,即可以直接将当前条带的起始位置信息写入该一个字段,此时当前条带的起始位置信息可以为起始SCU在图像中的绝对位置信息。
在本发明的另一个实施例中,起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段;此时,在起始位置信息字段写入当前条带的起始位置信息具体为:在起始LCU位置信息字段写入当前条带的起始LCU在图像中的绝对位置信息,在起始SCU位置信息字段写入起始SCU在起始LCU中的相对位置信息。其中,在按LCU对当前划分对象进行划分时,当前条带的起始SCU即为起始LCU的起始SCU,则起始SCU在起始LCU中的相对位置信息就是0。
103、对写入了起始位置信息的当前条带进行编码,输出编码码流。
其中,具体可以采用VLC编码方式或非VLC编码方式对当前条带进行编码。
在本发明的一个实施例中,如果采用非VLC编码方式对当前条带进行编码,在对当前条带进行编码前可以进一步包括步骤:在结束位置信息字段写入当前条带的结束位置信息。可以理解的是,在采用VLC编码方式对当前条带进行编码时,也可以在对当前条带进行编码前包括该步骤。结束位置信息字段可以位于当前条带的条带头,也可以位于序列参数集的头,也可以位于图像参数集的头等。
在本发明的一个实施例中,结束位置信息字段只包括一个字段,即可以直接将当前条带的结束位置信息写入该一个字段,例如当前条带的结束位置信息为当前条带的长度信息,此时,当前条带的结束位置可以通过当前条带的起始位置信息以及当前条带的长度信息共同确定;在本发明的一个实施例中当前条带的长度信息具体为:当前条带包括的LCU的数量以及结束CU在结束LCU中的顺序相对位置或倒序相对位置;或当前条带包括的CU的数量;或当前条带包括的SCU的数量。在本发明的另一个实施例中,当前条带的结束位置信息也可以为结束SCU在图像中的绝对位置信息。
在本发明的另一个实施例中,结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段;此时,在结束位置信息字段写入当前条带的结束位置信息具体为:在结束LCU位置信息字段写入当前条带的结束LCU在图像中的绝对位置信息,在结束SCU位置信息字段写入结束SCU在结束LCU中的相对位置信息。其中,在按LCU对当前划分对象进行划分时,当前条带的结束SCU即为结束LCU的结束SCU,则结束SCU在结束LCU中的相对位置信息即为该SCU相对于结束LCU中起始SCU的位置信息。
在本发明的另一个实施例中,如果采用非VLC编码方式对当前条带进行编码,在对当前条带进行编码前可以进一步包括步骤:为当前条带中所有CU的条带结束标志位赋值,该条带结束标志位位于当前条带包括的每一个CU的最后一个SCU的数据净载的最后一位,其中结束CU中的条带结束标志位赋值为有效。可以理解的是,在采用VLC编码方式对当前条带进行编码时,也可以在对当前条带进行编码前包括该步骤。
从上可知,本实施例可以根据判决信息确定当前划分对象的条带划分类型,按照确定的条带划分类型将当前划分对象划分成条带,使划分成的条带的数据量大小能够适应网络,并且在不同的网络可以采用不同的条带划分方式,从而增强网络兼容性。
进一步,在本发明的另一个实施例中,使用的起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段,使解码装置在解码时可以直接解析起始LCU位置信息字段和起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。
进一步,在本发明的另一个实施例中,可以在结束位置信息字段写入当前条带的结束位置信息,使解码装置可以直接根据该结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,可以为当前条带中所有CU的条带结束标志位赋值,并且将结束CU中的条带结束标志位赋值为有效,使解码装置在解码时可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。
图2描述了本发明另一个实施例提供的条带编码方法的流程,该实施例包括:
201、根据判决信息确定当前划分对象的条带划分类型,按照确定的条带划分类型将当前划分对象划分成条带。
202、在起始位置信息字段写入当前条带的起始位置信息,将当前划分对象的条带划分类型信息写入划分类型信息字段;该划分类型信息字段可以位于序列参数集的头、或图像参数集的头、或条带的条带头等。
在本发明的一个实施例中,起始位置信息字段只包括一个字段,即可以直接将当前条带的起始位置信息写入该一个字段,此时当前条带的起始位置信息可以为结束SCU在图像中的绝对位置信息。
在本发明的另一个实施例中,起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段;此时,在起始位置信息字段写入当前条带的起始位置信息具体为:如果条带划分类型为按LCU划分,仅在起始LCU位置信息字段写入当前条带的起始LCU在图像中的绝对位置信息;如果条带划分类型为按CU划分,在起始LCU位置信息字段写入起始LCU在图像中的绝对位置信息,在起始SCU位置信息字段写入起始SCU在起始LCU中的相对位置信息。
203、对写入了起始位置信息和条带划分类型信息的当前条带进行编码,输出编码码流。
其中,具体可以采用VLC编码方式或非VLC编码方式对当前条带进行编码。
在本发明的一个实施例中,如果采用非VLC编码方式对当前条带进行编码,在对当前条带进行编码前可以进一步包括步骤:在结束位置信息字段写入当前条带的结束位置信息。可以理解的是,在采用VLC编码方式对当前条带进行编码时,也可以在对当前条带进行编码前包括该步骤。结束位置信息字段可以位于当前条带的条带头,也可以位于序列参数集的头,也可以位于图像参数集的头等。
在本发明的一个实施例中,结束位置信息字段只包括一个字段,即可以直接将当前条带的结束位置信息写入该一个字段,例如当前条带的结束位置信息为当前条带的长度信息,此时,当前条带的结束位置可以通过当前条带的起始位置信息以及当前条带的长度信息共同确定;在本发明的一个实施例中当前条带的长度信息具体为:当前条带包括的LCU的数量以及结束CU在结束LCU中的顺序相对位置或倒序相对位置;或当前条带包括的CU的数量;或当前条带包括的SCU的数量。在本发明的另一个实施例中,当前条带的结束位置信息也可以为结束SCU在图像中的绝对位置信息。
在本发明的另一个实施例中,结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段;此时,在结束位置信息字段写入当前条带的结束位置信息具体为:如果条带划分类型为按LCU划分,仅在结束LCU位置信息字段写入当前条带的结束LCU在图像中的绝对位置信息;如果条带划分类型为按CU划分,在结束LCU位置信息字段写入结束LCU在图像中的绝对位置信息,在结束SCU位置信息字段写入结束SCU在结束LCU中的相对位置信息。
在本发明的另一个实施例中,如果采用非VLC编码方式对当前条带进行编码,在条带划分类型为按LCU划分时,对当前条带进行编码前进一步包括:为当前条带中所有LCU的条带结束标志位赋值,条带结束标志位位于当前条带包括的每一个LCU的最后一个SCU的数据净载的最后一位,其中结束LCU中的条带结束标志位赋值为有效。在条带划分类型为按CU划分时,对当前条带进行编码前进一步包括:为当前条带中所有CU的条带结束标志位赋值,条带结束标志位位于当前条带包括的每一个CU的最后一个SCU的数据净载的最后一位,其中结束CU中的条带结束标志位赋值为有效。可以理解的是,在采用VLC编码方式对当前条带进行编码时,也可以在对当前条带进行编码前包括该步骤。
从上可知,本实施例可以根据判决信息确定当前划分对象的条带划分类型,按照确定的条带划分类型将当前划分对象划分成条带,使划分成的条带的数据量大小能够适应网络,并且在不同的网络可以采用不同的条带划分方式,从而增强网络兼容性;同时,本实施例还可以将当前划分对象的条带划分类型信息写入划分类型信息字段,使解码装置可以获知当前条带的划分类型,从而根据该划分类型信息确定解码是否完成,在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,使用的起始位置信息字段包括起始LCU位置信息字段和/或起始SCU位置信息字段,使解码装置在解码时可以直接解析起始LCU位置信息字段和/或起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。由于解码装置可以获知当前条带的划分类型,在当前条带按LCU划分时,可以仅向起始LCU位置信息字段写入数据,而不需要向起始SCU位置信息字段写入数据,从而可以减少需要写入的数据量,提高编码效率;也可以使解码装置不需要解析起始SCU位置信息字段,进一步提高解码效率。
进一步,在本发明的另一个实施例中,可以在结束位置信息字段写入当前条带的结束位置信息,使解码装置可以直接根据该结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。在本发明的另一个实施例中,使用的结束位置信息字段包括结束LCU位置信息字段和/或结束SCU位置信息字段,使解码装置在解码时可以直接解析结束LCU位置信息字段和/或结束SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的结束位置,从而提高解码效率。如果解码装置可以获知当前条带的划分类型,在当前条带按LCU划分时,可以仅向结束LCU位置信息字段写入数据,而不需要向结束SCU位置信息字段写入数据,从而可以减少需要写入的数据量,提高编码效率;也可以使解码装置不需要解析结束SCU位置信息字段,进一步提高解码效率。
进一步,在本发明的另一个实施例中,可以为当前条带中所有CU的条带结束标志位赋值,并且将结束CU中的条带结束标志位赋值为有效,使解码装置在解码时可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。如果解码装置可以获知当前条带的划分类型,因此解码装置可以在当前条带按LCU划分时,仅解析当前条带最后一个CU的结束标志位就可以确定解码是否完成,进一步提高解码效率。
图3描述了本发明另一个实施例提供的条带编码方法的流程,包括:
301、按CU将当前划分对象划分成条带。
302、在起始位置信息字段写入当前条带的起始位置信息。
其中,起始位置信息字段可以位于当前条带的条带头,也可以位于序列参数集的头,也可以位于图像参数集的头等。
当前条带的起始位置信息包括:当前条带中起始LCU在图像中的绝对位置信息、以及当前条带中起始SCU在起始LCU中的相对位置信息。
303、对当前条带进行编码,输出编码码流。
其中,具体可以采用VLC编码方式或非VLC编码方式对当前条带进行编码。
在本发明的一个实施例中,如果采用非VLC编码方式对当前条带进行编码,在对当前条带进行编码前可以进一步包括步骤:在结束位置信息字段写入当前条带的结束位置信息。可以理解的是,在采用VLC编码方式对当前条带进行编码时,也可以在对当前条带进行编码前包括该步骤。结束位置信息字段可以位于当前条带的条带头,也可以位于序列参数集的头,也可以位于图像参数集的头等。
在本发明的一个实施例中,结束位置信息字段只包括一个字段,即可以直接将当前条带的结束位置信息写入该一个字段,例如当前条带的结束位置信息为当前条带的长度信息,此时,当前条带的结束位置可以通过当前条带的起始位置信息以及当前条带的长度信息共同确定;在本发明的一个实施例中当前条带的长度信息具体为:当前条带包括的LCU的数量以及结束CU在结束LCU中的顺序相对位置或倒序相对位置;或当前条带包括的CU的数量;或当前条带包括的SCU的数量。在本发明的另一个实施例中,当前条带的结束位置信息也可以为结束SCU在图像中的绝对位置信息。
在本发明的另一个实施例中,结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段;此时,在结束位置信息字段写入当前条带的结束位置信息具体为:在结束LCU位置信息字段写入当前条带的结束LCU在图像中的绝对位置信息,在结束SCU位置信息字段写入结束SCU在结束LCU中的相对位置信息。
在本发明的另一个实施例中,如果采用非VLC编码方式对当前条带进行编码,在对当前条带进行编码前可以进一步包括步骤:为当前条带中所有CU的条带结束标志位赋值,该条带结束标志位位于当前条带包括的每一个CU的最后一个SCU的数据净载的最后一位,其中结束CU中的条带结束标志位赋值为有效。可以理解的是,在采用VLC编码方式对当前条带进行编码时,也可以在对当前条带进行编码前包括该步骤。
从上可知,本实施例可以使用的起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段,使解码装置在解码时可以直接解析起始LCU位置信息字段和起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。
进一步,在本发明的另一个实施例中,可以在结束位置信息字段写入当前条带的结束位置信息,使解码装置可以直接根据该结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,可以为当前条带中所有CU的条带结束标志位赋值,并且将结束CU中的条带结束标志位赋值为有效,使解码装置在解码时可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。
在本发明实施例提供的条带编码方法中,在对当前条带的第一个LCU进行编码时,可以进一步根据当前CU在第一个LCU中的位置信息确定是否为当前CU设置***标识位。具体地,如果当前CU不在当前划分对象范围内或当前CU的尺寸为SCU的尺寸,可以不对当前CU的***标识位进行编码。在当前CU在当前划分对象范围内且当前CU的尺寸大于SCU的尺寸,且当前CU结束位置大于等于当前条带起始CU的位置时,才对当前CU的***标识位进行编码。由此可见,本实施例可以不对某些CU的***标识位进行编码,因此不需要传输这些***标识位的数据,从而可以降低网络的占用,提高网络的利用效率。
如下再介绍本发明实施例提供的条带解码方法,图4描述了本发明一个实施例提供的条带解码方法的流程,包括:
401、从起始位置信息字段解析当前条带的起始位置信息。
在本发明的一个实施例中,起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段;该情况下,从起始位置信息字段解析当前条带的起始位置信息具体为:从起始LCU位置信息字段解析当前条带的起始LCU的绝对位置信息,从起始SCU位置信息字段解析当前条带的起始SCU的相对位置信息。
402、根据起始位置信息开始对当前条带的解码,并根据预置处理方式确定完成对当前条带的解码。
在本发明的一个实施例中,根据预置处理方式确定完成对当前条带的解码具体为:从结束位置信息字段解析当前条带的结束位置信息;根据结束位置信息确定完成对当前条带的解码。在本发明的一个实施例中,结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段;该情况下,从结束位置信息字段解析当前条带的结束位置信息具体为:从结束LCU位置信息字段解析当前条带的结束LCU的绝对位置信息,从结束SCU位置信息字段解析当前条带的结束SCU的相对位置信息。在本发明的另一个实施例中,解析得到的当前条带的结束位置信息是当前条带的长度信息,可以根据该长度信息以及当前条带的起始位置信息确定是否完成对当前条带的解码;在本发明的另一个实施例中,解析得到的当前条带的结束位置信息是结束SCU的绝对位置信息,可以直接根据结束SCU的绝对位置信息确定是否完成解码。
在本发明的另一个实施例中,根据预置处理方式确定完成对当前条带的解码具体为:判断当前CU的条带结束标志位的值是否有效,如果有效,确定完成对当前条带的解码,该条带结束标志位位于当前CU的最后一个SCU的数据净载的最后一位。
在本发明的另一个实施例中,当前条带是采用VLC编码方式编码获得,因此根据预置处理方式确定完成对当前条带的解码具体可以是:判断当前CU是否还有数据净载,如果当前CU没有数据净载,则可以确认完成对当前条带的解码。
403、输出解码得到的当前条带的重建图像。
从上可知,本实施例中当前条带按照条带划分类型划分获得,并且条带划分类型根据判决信息确定,因此划分成的条带的尺寸能够适应网络,并且在不同的网络可以采用不同的条带划分方式,从而增强网络兼容性。
进一步,在本发明的另一个实施例中,使用的起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段,因此可以直接解析起始LCU位置信息字段和起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。
进一步,在本发明的另一个实施例中,可以直接根据结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。
图5描述了本发明另一个实施例提供的条带解码方法的流程,包括:
501、从头信息中解析获得当前条带的条带划分类型信息。
502、根据条带划分类型信息从起始位置信息字段解析当前条带的起始位置信息。
在本发明的一个实施例中,条带划分类型信息为按LCU划分,该情况下,根据条带划分类型信息从起始位置信息字段解析当前条带的起始位置信息具体为:从起始LCU位置信息字段解析当前条带的起始LCU的绝对位置信息,该起始位置信息字段仅包括所述起始LCU位置信息字段。在本发明的另一个实施例中,条带划分类型信息为按CU划分,根据条带划分类型信息从起始位置信息字段解析当前条带的起始位置信息具体为:从起始LCU位置信息字段解析当前条带的起始LCU的绝对位置信息,从起始SCU位置信息字段解析当前条带的起始SCU的相对位置信息,起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段。在本发明的另一个实施例中,条带划分类型信息为按CU划分,根据条带划分类型信息从起始位置信息字段解析当前条带的起始位置信息具体为:从起始SCU位置信息字段解析当前条带的起始SCU的绝对位置信息,起始位置信息字段仅包括起始SCU位置信息字段。
503、根据起始位置信息开始对当前条带的解码,并根据预置处理方式确定完成对当前条带的解码。
在本发明的一个实施例中,根据预置处理方式确定完成对当前条带的解码具体为:从结束位置信息字段解析当前条带的结束位置信息;根据结束位置信息确定完成对当前条带的解码。在本发明的一个实施例中,解析得到的当前条带的结束位置信息是当前条带的长度信息,可以根据该长度信息以及当前条带的起始位置信息确定是否完成对当前条带的解码。在当前条带按LCU划分时,当前条带的长度信息可以为当前条带包括的LCU的数量;在当前条带按CU划分时,当前条带的长度信息可以为当前条带包括的LCU的数量以及结束CU在结束LCU中的顺序相对位置或倒序相对位置;或当前条带包括的CU的数量;或当前条带包括的SCU的数量。
在本发明的另一个实施例中,根据预置处理方式确定完成对所述当前条带的解码具体为:根据条带划分类型信息从结束位置信息字段解析当前条带的结束位置信息;根据结束位置信息确定完成对当前条带的解码。在本发明的一个实施例中,是根据条带划分类型信息从结束位置信息字段解析当前条带的结束位置信息,具体地:在本发明的一个实施例中,条带划分类型信息为按LCU划分,根据条带划分类型信息从结束位置信息字段解析当前条带的结束位置信息具体为:从结束LCU位置信息字段解析当前条带的结束LCU的绝对位置信息,结束位置信息字段仅包括结束LCU位置信息字段。在本发明的另一个实施例中,条带划分类型信息为按CU划分,根据条带划分类型信息从结束位置信息字段解析当前条带的结束位置信息具体为:从结束LCU位置信息字段解析当前条带的结束LCU的绝对位置信息,从结束SCU位置信息字段解析当前条带的结束SCU的相对位置信息,结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段;在本发明的另一个实施例中,条带划分类型信息为按CU划分,根据条带划分类型信息从结束位置信息字段解析当前条带的结束位置信息具体为:从结束SCU位置信息字段解析当前条带的结束SCU的绝对位置信息,结束位置信息字段仅包括结束SCU位置信息字段。
在本发明的另一个实施例中,根据预置处理方式确定完成对当前条带的解码具体为:如果条带划分类型信息为按LCU划分,判断当前LCU的条带结束标志位的值是否有效,如果有效,确定完成对当前条带的解码,条带结束标志位位于当前LCU的最后一个SCU的数据净载的最后一位。如果条带划分类型信息为按CU划分,判断当前CU的条带结束标志位的值是否有效,如果有效,确定完成对当前条带的解码,条带结束标志位位于当前CU的最后一个SCU的数据净载的最后一位。
在本发明的另一个实施例中,当前条带是采用VLC编码方式编码获得,因此根据预置处理方式确定完成对当前条带的解码具体可以是:判断当前CU是否还有数据净载,如果当前CU没有数据净载,则可以确认完成对当前条带的解码。
504、输出解码得到的当前条带的重建图像。
从上可知,本实施例中当前条带按照条带划分类型划分获得,并且条带划分类型根据判决信息确定,因此划分成的条带的尺寸能够适应网络,并且在不同的网络可以采用不同的条带划分方式,从而增强网络兼容性;同时,本实施例还可以根据解析到的条带划分类型信息获知当前条带的划分类型,从而根据该划分类型信息确定解码是否完成,在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,使用的起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段,因此可以直接解析起始LCU位置信息字段和起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。由于可以获知当前条带的划分类型,在当前条带按LCU划分时,可以仅向起始LCU位置信息字段写入数据,而不需要向起始SCU位置信息字段写入数据,从而可以减少需要写入的数据量,提高编码效率;也不需要解析起始SCU位置信息字段,进一步提高解码效率。
进一步,在本发明的另一个实施例中,可以直接根据结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。在本发明的另一个实施例中,使用的结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段,因此可以直接解析结束LCU位置信息字段和结束SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的结束位置,从而提高解码效率。由于可以获知当前条带的划分类型,因此不需要解析结束SCU位置信息字段,进一步提高解码效率。
进一步,在本发明的另一个实施例中,可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。由于可以获知当前条带的划分类型,因此可以在当前条带按LCU划分时,仅解析当前条带最后一个CU的结束标志位就可以确定解码是否完成,进一步提高解码效率。
图6描述了本发明另一个实施例提供的条带解码方法的流程,包括:
601、从起始位置信息字段解析当前条带的起始位置信息。
其中,当前条带的起始位置信息包括:当前条带中起始LCU在图像中的绝对位置信息、以及当前条带中起始SCU在起始LCU中的相对位置信息。
在本发明的一个实施例中,起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段;该情况下,从起始位置信息字段解析当前条带的起始位置信息具体为:从起始LCU位置信息字段解析当前条带的起始LCU的绝对位置信息,从起始SCU位置信息字段解析当前条带的起始SCU的相对位置信息。
602、根据起始位置信息开始对当前条带的解码,并根据预置处理方式确定完成对当前条带的解码。
在本发明的一个实施例中,根据预置处理方式确定完成对当前条带的解码具体为:从结束位置信息字段解析当前条带的结束位置信息;根据结束位置信息确定完成对当前条带的解码。其中,结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段;该情况下,从结束位置信息字段解析当前条带的结束位置信息具体为:从结束LCU位置信息字段解析当前条带的结束LCU的绝对位置信息,从结束SCU位置信息字段解析当前条带的结束SCU的相对位置信息。在本发明的另一个实施例中,解析得到的当前条带的结束位置信息是当前条带的长度信息,可以根据该长度信息以及当前条带的起始位置信息确定是否完成对当前条带的解码。其中,当前条带的长度信息可以为当前条带包括的LCU的数量以及结束CU在结束LCU中的顺序相对位置或倒序相对位置;或当前条带包括的CU的数量;或当前条带包括的SCU的数量。在本发明的另一个实施例中,解析得到的当前条带的结束位置信息是结束SCU的绝对位置信息,可以直接根据结束SCU的绝对位置信息确定是否完成解码。
603、输出解码得到的当前条带的重建图像。
从上可知,本实施例可以使用的起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段,因此可以直接解析起始LCU位置信息字段和起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。
进一步,在本发明的另一个实施例中,可以直接根据该结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。
在本发明实施例提供的条带解码方法中,根据起始位置信息开始对当前条带的解码的过程可以包括:如果当前CU不在所述当前划分对象范围内或当前CU的尺寸为SCU的尺寸,不对当前CU的***标识位解码;如果当前CU在当前划分对象范围内且当前CU的尺寸大于SCU的尺寸,且当前CU的起始位置大于等于条带起始CU的位置,才对当前CU的***标识位进行解码。由此可见,本实施例可以不对某些CU的***标识位进行编码,因此不需要传输这些***标识位的数据,从而可以降低网络的占用,提高网络的利用效率。
如下再介绍本发明实施例提供的HEVC语法结构。
表中C字段表示该语法元素的分类;Descripter制定对应语法的描述子。
1)在起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段时,本发明一个实施例提供的HEVC条带头起始位置的语法结构如表一所示。
表1
slice_header(){ | C | Descriptor |
… | ||
first_lcu_is_zero_flag | 2 | u(1) |
if(first_lcu_is_zero_flag==0){ | ||
first_lcu_in_slice_minus_1 | 2 | u(v) |
} | ||
first_scu_is_zero_flag | 2 | u(1) |
if(first_scu_is_zero_flag==0){ | ||
first_scu_in_slice_minus_1 | 2 | u(v) |
} | ||
… | ||
} |
表1中,first_lcu_is_zero_flag用于标示条带起始位置的LCU是不是图像内第一个LCU,如果first_lcu_is_zero_flag等于1,则条带起始的LCU位置设为0,条带解码将从图像第一个LCU中的某个CU开始。
first_lcu_in_slice_minus_1用于标示条带的第一个LCU的位置(SliceStartLCUAddress),条带解码将从该LCU中的某个CU开始。SliceStartLCUAddress的计算如公式一所示。
SliceStartLCUAddress=first_lcu_in_slice_minus_1+1 (公式一)
first_scu_is_zero_flag用于标示条带起始位置的CU是不是起始LCU中的第一个CU,如果first_scu_is_zero_flag等于1,则条带起始的CU位置设为0,条带解码从起始LCU的第一个CU开始。
first_scu_in_slice_minus_1用于标示条带的第一个CU在起始LCU中的具***置(SliceStartSCUAddress),即条带的第一个CU的左上角SCU在所属LCU中的相对位置偏移,条带解码从该CU开始,SliceStartSCUAddress的计算如公式二所示。
SliceStartSCUAddress=first_scu_in_slice_minus_1+1 (公式二)
解码时,在解析条带头的过程中分两步获取起始位置信息:
第一步:先根据第一级的信息来得到条带起始位置所属的LCU:先解析first_lcu_is_zero_flag来确定条带起始LCU是否是图像的第一个LCU,如果不是则需要进一步解析first_lcu_in_slice_minus_1来计算条带起始LCU的具***置,具体计算过程如上述公式一所示。
第二步:再解析first_scu_is_zero_flag来确定条带起始CU是否是LCU中的第一个CU。在基于LCU的条带划分中,first_scu_is_zero_flag的值必然为1,则不需要进一步解析第二级的信息,条带解码从条带起始LCU的第一个CU开始;在基于CU的条带划分中,first_scu_is_zero_flag可能为0,则需要进一步解析第二级的信息来精确的定位条带解码的起始位置(SliceStartSCUAddress),具体计算过程如上述公式二所示,条带解码从条带起始LCU中相对位置为SliceStartSCUAddress的CU开始。
2)在结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段时,在结束LCU位置信息为结束LCU在图像中的顺序绝对位置、且结束SCU位置信息为结束SCU在结束LCU中的顺序相对位置时,本发明一个实施例提供的HEVC条带头结束位置的语法结构如表2所示。
表2
slice_header(){ | C | Descriptor |
… | ||
last_lcu_is_zero_flag | 2 | u(1) |
if(last_lcu_is_zero_flag==0){ | ||
last_lcu_in_slice_minus_1 | 2 | u(v) |
} |
last_scu_is_end_flag | 2 | u(1) |
if(last_scu_is_end_flag==0){ | ||
last_scu_in_slice_minus_1 | 2 | u(v) |
} | ||
… | ||
} |
表2中,last_lcu_is_zero_flag用于标示条带结束位置的LCU是不是图像内第一个LCU,如果last_lcu_is_zero_flag等于1,则条带结束的LCU位置设为0,条带解码将结束于第一个LCU中的某个CU。
last_lcu_in_slice_minus_1用于标示条带的最后一个LCU的位置(SliceEndLCUAddress),条带解码将结束于该LCU中的某个CU,SliceEndLCUAddress计算如公式三所示。
SliceEndLCUAddress=last_lcu_in_slice_minus_1+1 (公式三)
last_scu_is_end_flag用于标示条带结束位置的CU是不是结束LCU中的最后一个CU,如果last_scu_is_end_flag等于1,则条带结束的CU位置设为LCU的最后一个CU,条带解码至结束LCU的最后一个CU截止。
last_scu_in_slice_minus_1用于标示条带的最后一个CU在结束LCU中的具***置(SliceEndSCUAddress),即条带的最后一个CU的右下角SCU在所属LCU中的相对位置偏移,条带解码至该CU截止。SliceEndSCUAddress计算如公式四所示。
SliceEndSCUAddress=NumSCUsInLCU-2-last_scu_in_slice_minus_1
(公式四)
其中,公式四中NumSCUsInLCU为一个LCU所包含的SCU的总个数。
解码时,在解析条带头的过程中分两步获取结束位置信息:
第一步:先根据第一级的信息来得到条带结束位置所属的LCU:先解析last_lcu_is_zero_flag来确定条带结束LCU是否是图像的第一个LCU,如果不是则需要进一步解析last_lcu_in_slice_minus_1来计算条带起始LCU的具***置,具体计算过程如上述公式四所示。
第二步:再解析last_scu_is_end_flag来确定条带结束CU是否是LCU中的最后一个CU。在基于LCU的条带划分中,last_scu_is_end_flag的值必然为1,则不需要进一步解析第二级的信息,条带解码至条带结束LCU的最后一个CU结束;在基于CU的条带划分中,last_scu_is_end_flag可能为0,则需要进一步解析第二级的信息来精确的定位条带解码的结束位置(SliceEndSCUAddress),具体计算过程如上述公式四所示,条带解码至条带结束LCU中相对位置为SliceEndSCUAddress的CU结束。
3)在结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段时,在结束LCU位置信息为结束LCU在图像中的倒序绝对位置、且结束SCU位置信息为结束SCU在结束LCU中的倒序相对位置时,本发明一个实施例提供的HEVC条带头结束位置的语法结构如表3所示。
表3
slice_header(){ | C | Descriptor |
last_lcu_is_end_flag | 2 | u(1) |
if(last_lcu_is_end_flag==0){ | ||
last_lcu_in_slice_minus_1 | 2 | u(v) |
} | ||
} |
表3中,last_lcu_is_end_flag用于标示条带结束位置的LCU是不是图像内最后一个LCU,如果last_lcu_is_end_flag等于1,则条带结束的LCU位置设为NumLCUsInPicture-1,其中NumLCUsInPicture为一个视频图像所包含的LCU的总个数。条带解码将结束于图像最后一个LCU中的某个CU。
last_lcu_in_slice_minus_1用于标示条带的最后一个LCU的位置(SliceEndLCUAddress),条带解码将结束于该LCU中的某个CU。SliceEndLCUAddress计算如公式五所示。
SliceEndLCUAddress=NumLCUsInPicture-2-last_lcu_in_slice_minus_1
(公式五)
4)在CU具有条带结束标志位时,本发明一个实施例提供的HEVC编码单元结束标志位的语法结构如表4所示。
表4
coding_unit(...,&moreDataFlag){ | C | Descriptor |
… | ||
if(split_coding_unit_flag){ | ||
… | ||
}else{ | ||
… | ||
if(!entropy_coding_mode_flag) | 2 | u(v) |
moreDataFlag=more_rbsp_data() | ||
else{ | ||
end_of_slice_flag | ||
moreDataFlag=!end_of_slice_flag | ||
} | ||
} | ||
} |
表4中,split_coding_unit_flag用于标示当前的CU是否要进一步***。split_coding_unit_flag等于1,则当前CU将继续***为四个等大的更深一级的CU;split_coding_unit_flag等于0,则当前CU不再进行***,是进行编码的最后一级的CU。
moreDataFlag用于标示后续是否还有当前条带的数据。moreDataFlag等于1,则当前条带还有更多数据等待解码,条带解码将继续;moreDataFlag等于0,则当前条带的数据已经全部解码完毕,条带解码将结束。
more_rbsp_data用于判断数据净载是否结束。如果当前条带没有更多数据净载,该操作返回0,否则返回1。
entropy_coding_mode_flag用于选取语法元素的熵编码方式。entropy_coding_mode_flag等于0,表示该种编码方法可以通过判断码流数据结束来推断条带的结束,则不需要写条带结束标志位;entropy_coding_mode_flag等于1,表示该种编码方法不能通过判断码流数据结束来推断条带的结束,则需要些条带结束标志位。
end_of_slice_flag是条带结束标记位。end_of_slice_flag等于1,表示当前CU是条带中的最后一个CU,条带解码结束;end_of_slice_flag等于0,表示当前CU不是条带中最后一个CU,当前条带需继续解码下一个CU。
解码时,对每个CU都会先根据split_coding_unit_flag判断是否继续***,如果split_coding_unit_flag等于1,则将当前CU***为四个更小的CU,并对每个CU都进行相同的CU解析操作;直到某个CU的split_coding_unit_flag等于0,则当前CU为实际进行解码的单元,进入解码重建过程,并在当前解码重建结束之后解析条带结束标志位。其过程是,先根据entropy_coding_mode_flag来判断当前条带的熵编码类型,如果entropy_coding_mode_flag等于0,则根据操作more_rbsp_data()来给moreDataFlag赋值;如果entropy_coding_mode_flag等于1,则需要解析标志位end_of_slice_flag,并给moreDataFlag赋值moreDataFlag等于1,则条带解码将继续;moreDataFlag等于0,则条带解码将结束。
5)在起始位置信息字段包括起始LCU位置信息字段和/或起始SCU位置信息字段时,本发明一个实施例提供的HEVC条带头起始位置的语法结构如表5或表6所示。
表5
slice_header(){ | C | Descriptor |
… | ||
first_lcu_is_zero_flag | 2 | u(1) |
if(first_lcu_is_zero_flag==0){ | ||
first_lcu_in_slice_minus_1 | 2 | u(v) |
} | ||
if(lcu_slice_flag==0){ | ||
first_scu_is_zero_flag | 2 | u(1) |
if(first_scu_is_zero_flag==0){ | ||
first_scu_in_slice_minus_1 | 2 | u(v) |
} | ||
} | ||
… | ||
} |
表6
slice_header(){ | C | Descriptor |
… | ||
if(lcu_slice_flag==1){ | ||
first_lcu_is_zero_flag | 2 | u(1) |
if(first_lcu_is_zero_flag==0){ | ||
first_lcu_in_slice_minus_1 | 2 | u(v) |
} | ||
}else{ | ||
first_scu_is_zero_flag | 2 | u(1) |
if(first_scu_is_zero_flag==0){ | ||
first_scu_in_slice_minus_1 | 2 | u(v) |
} | ||
} | ||
… | ||
} |
表5和表6中,first_lcu_is_zero_flag用于标示条带起始位置的LCU是不是图像内第一个LCU,如果first_lcu_is_zero_flag等于1,则条带起始的LCU位置设为0,条带解码将从图像第一个LCU中的某个CU开始。
first_lcu_in_slice_minus_1用于标示条带的第一个LCU的位置(SliceStartLCUAddress),条带解码将从该LCU中的某个CU开始。SliceStartLCUAddress计算如公式六所示。
SliceStartLCUAddress=first_lcu_in_slice_minus_1+1 (公式六)
lcu_slice_flag用于标示当前条带的划分类型,lcu_slice_flag等于1表示当前条带划分是基于LCU的,则不需要进一步写明条带起始CU的位置;lcu_slice_flag等于0表示当前条带划分是基于CU的,则需要进一步写明条带起始的CU的位置。该标识符的值一般通过如实施例一所示方法解析得到,也可能通过默认值进行设置。
表5中,first_scu_is_zero_flag用于标示条带起始位置的CU是不是起始LCU中的第一个CU,如果first_scu_is_zero_flag等于1,则条带起始的CU位置设为0,条带解码从起始LCU的第一个CU开始。表6中,first_scu_is_zero_flag用于标示条带起始位置的CU是不是图像中的第一个CU,如果first_scu_is_zero_flag等于1,则条带起始的CU位置设为0,条带解码从图像的第一个CU开始。
表5中,first_scu_in_slice_minus_1用于标示条带的第一个CU在起始LCU中的具***置(SliceStartSCUAddress),即条带的第一个CU的左上角SCU在所属LCU中的相对位置偏移,条带解码从该CU开始。SliceStartSCUAddress计算如公式七所示。
SliceStartSCUAddress=first_scu_in_slice_minus_1+1 (公式七)
表6中,first_scu_in_slice_minus_1用于标示条带的第一个CU在图像中的具***置(SliceStartSCUAddress),即条带的第一个CU的左上角SCU在所属图像中的绝对位置偏移,条带解码从该CU开始。SliceStartSCUAddress计算也如公式七所示。
解码时,在解析条带头的过程中分两步获取起始位置信息:
第一步:先根据第一级的信息来得到条带起始位置所属的LCU:先解析first_lcu_is_zero_flag来确定条带起始LCU是否是图像的第一个LCU,如果不是则需要进一步解析first_lcu_in_slice_minus_1来计算条带起始LCU的具***置,具体计算过程如上述公式六所示。
第二步:再根据lcu_slice_flag判断条带划分类型。lcu_slice_flag等于1,表明是基于LCU的条带划分,则不需要进一步解析第二级的信息,条带解码从条带起始LCU的第一个CU开始;lcu_slice_flag等于0,表明是基于CU的条带划分,则需要进一步解析第二级的信息来精确的定位条带解码的起始位置(SliceStartSCUAddress)。先解析first_scu_is_zero_flag来确定条带起始CU是否是所属LCU的第一个CU,如果不是则需要进一步解析first_scu_in_slice_minus_1来计算条带起始CU的具***置,,具体计算过程如上述公式七所示,条带解码从条带起始LCU中相对位置为SliceStartSCUAddress的CU开始。
或
第一步:根据lcu_slice_flag判断条带划分类型。
第二步:若lcu_slice_flag等于1,表明是基于LCU的条带划分,则只需解析条带起始LCU的位置。先解析first_lcu_is_zero_flag来确定条带起始LCU是否是图像的第一个LCU,如果不是则需要进一步解析first_lcu_in_slice_minus_1来计算条带起始LCU的具***置,具体计算过程如上述公式六所示;若lcu_slice_flag等于0,表明是基于CU的条带划分,则需要解析条带起始SCU的位置。先解析first_scu_is_zero_flag来确定条带起始CU是否是所属LCU的第一个CU,如果不是则需要进一步解析first_scu_in_slice_minus_1来计算条带起始CU的具***置,,具体计算过程如上述公式七所示,条带解码从条带起始LCU中相对位置为SliceStartSCUAddress的CU开始。
6)在结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段时,在结束LCU位置信息为结束LCU在图像中的顺序绝对位置、且结束SCU位置信息为结束SCU在结束LCU中的顺序相对位置时,本发明一个实施例提供的HEVC条带头结束位置的语法结构如表7或表8所示。
表7
slice_header(){ | C | Descriptor |
… | ||
last_lcu_is_zero_flag | 2 | u(1) |
if(last_lcu_is_zero_flag==0){ | ||
last_lcu_in_slice_minus_1 | 2 | u(v) |
} |
if(lcu_slice_flag==0){ | ||
last_scu_is_zero_flag | 2 | u(1) |
if(last_scu_is_zero_flag==0){ | ||
last_scu_in_slice_minus_1 | 2 | u(v) |
} | ||
} | ||
… | ||
} |
表8
slice_header(){ | C | Descriptor |
… | ||
if(lcu_slice_flag==0){ | ||
last_lcu_is_zero_flag | 2 | u(1) |
if(last_lcu_is_zero_flag==0){ | ||
last_lcu_in_slice_minus_1 | 2 | u(v) |
} | ||
}else{ | ||
last_scu_is_zero_flag | 2 | u(1) |
if(last_scu_is_zero_flag==0){ | ||
last_scu_in_slice_minus_1 | 2 | u(v) |
} | ||
} | ||
… | ||
} |
表7和表8中,last_lcu_is_zero_flag用于标示条带结束位置的LCU是不是图像内第一个LCU,如果last_lcu_is_zero_flag等于1,则条带结束的LCU位置设为0,条带解码将结束于第一个LCU中的某个CU。
last_lcu_in_slice_minus_1用于标示条带的最后一个LCU的位置(SliceEndLCUAddress),条带解码将结束于该LCU中的某个CU。SliceEndLCUAddress计算如公式八所示。
SliceEndLCUAddress=last_lcu_in_slice_minus_1+1 (公式八)
lcu_slice_flag用于标示当前条带的划分类型,lcu_slice_flag等于1表示当前条带划分是基于LCU的,则不需要进一步写明条带结束CU的位置;lcu_slice_flag等于0表示当前条带划分是基于CU的,则需要进一步写明条带结束CU的位置。该标识符的值一般通过如实施例一所示方法解析得到,也可能通过默认值进行设置。
表7中,last_scu_is_zero_flag用于标示条带结束位置的CU是不是结束LCU中的第一个CU,如果last_scu_is_zero_flag等于1,则条带结束的CU位置设为0,条带解码至结束LCU的第一个CU截止。表8中,last_scu_is_zero_flag用于标示条带结束位置的CU是不是图像中的第一个CU,如果last_scu_is_zero_flag等于1,则条带结束的CU位置设为0,条带解码至图像的第一个CU截止。
表7中,last_scu_in_slice_minus_1用于标示条带的最后一个CU在结束LCU中的具***置(SliceEndSCUAddress),即条带的最后一个CU的右下角SCU在所属LCU中的相对位置偏移,条带解码至该CU截止。SliceEndSCUAddress计算如公式九所示。
SliceEndSCUAddress=last_scu_in_slice_minus_1+1 (公式九)
表8中,last_scu_in_slice_minus_1用于标示条带的最后一个CU在图像中的具***置(SliceEndSCUAddress),即条带的最后一个CU的右下角SCU在所属图像中的绝对位置,条带解码至该CU截止。SliceEndSCUAddress计算如公式九所示。
解码时,在解析条带头的过程中分两步获取结束位置信息:
第一步:先根据第一级的信息来得到条带结束位置所属的LCU:先解析last_lcu_is_zero_flag来确定条带结束LCU是否是图像的第一个LCU,如果不是则需要进一步解析last_lcu_in_slice_minus_1来计算条带起始LCU的具***置,具体计算过程如上述公式八所示。
第二步:再根据lcu_slice_flag判断条带划分类型。lcu_slice_flag等于1,表明是基于LCU的条带划分,则不需要进一步解析第二级的信息,条带解码至条带结束LCU的最后一个CU结束;lcu_slice_flag等于0,表明是基于CU的条带划分,则需要进一步解析第二级的信息来精确的定位条带解码的结束位置(SliceEndSCUAddress),先解析last_scu_is_zero_flag来确定条带结束CU是否是所属LCU的第一个CU,如果不是则需要进一步解析last_scu_in_slice_minus_1来计算条带结束CU的具***置,具体计算过程如上述公式九所示,条带解码至条带结束LCU中相对位置为SliceEndSCUAddress的CU结束。
或
第一步:根据lcu_slice_flag判断条带划分类型。
第二步:若lcu_slice_flag等于1,表明是基于LCU的条带划分,则只需解析条带结束LCU的位置。先解析first_lcu_is_zero_flag来确定条带结束LCU是否是图像的第一个LCU,如果不是则需要进一步解析first_lcu_in_slice_minus_1来计算条带结束LCU的具***置,具体计算过程如上述公式八所示;若lcu_slice_flag等于0,表明是基于CU的条带划分,则需要解析条带结束SCU的位置。先解析first_scu_is_zero_flag来确定条带结束CU是否是所属LCU的第一个CU,如果不是则需要进一步解析first_scu_in_slice_minus_1来计算条带结束CU的具***置,具体计算过程如上述公式九所示,条带解码从条带结束LCU中相对位置为SliceStartSCUAddress的CU开始。
7)在结束位置信息字段包括结束LCU位置信息字段和/或结束SCU位置信息字段时,在结束LCU位置信息为结束LCU在图像中的倒序绝对位置、且结束SCU位置信息为结束SCU在结束LCU中的倒序相对位置时,本发明一个实施例提供的HEVC条带头结束位置的语法结构如表9所示。
表9
slice_header(){ | C | Descriptor |
if(lcu_slice_flag==0){ |
last_scu_is_end_flag | 2 | u(1) |
if(last_scu_is_end_flag==0){ | ||
last_scu_in_slice_minus_1 | 2 | u(v) |
} | ||
} | ||
} |
表9中,lcu_slice_flag用于标示当前条带的划分类型,lcu_slice_flag等于1表示当前条带划分是基于LCU的,则不需要进一步写明条带结束CU的位置;lcu_slice_flag等于0表示当前条带划分是基于CU的,则需要进一步写明条带结束CU的位置。该标识符的值一般通过如实施例一所示方法解析得到,也可能通过默认值进行设置。
last_scu_is_end_flag用于标示条带结束位置的CU是不是结束LCU中的最后一个CU,如果last_scu_is_end_flag等于1,则条带结束的CU位置设为LCU的最后一个CU,条带解码至结束LCU的最后一个CU截止。
last_scu_in_slice_minus_1用于标示条带的最后一个CU在结束LCU中的具***置(SliceEndSCUAddress),即条带的最后一个CU的右下角SCU在所属LCU中的相对位置偏移,条带解码至该CU截止。SliceEndSCUAddress计算如公式十。
SliceEndSCUAddress=NumSCUsInLCU-2-last_scu_in_slice_minus_1
(公式十)
公式十中,NumSCUsInLCU为一个LCU所包含的SCU的总个数。
8)在CU具有条带结束标志位时时,本发明一个实施例提供的HEVC编码单元结束标志位的语法结构如表10或表11所示。
表10
coding_unit(...,&moreDataFlag){ | C | Descriptor |
… | ||
if(split_coding_unit_flag){ | ||
… |
}else{ | ||
… | ||
if(last_lcu_is_end_flag==0){ | ||
if(!entropy_coding_mode_flag) | 2 | u(v) |
moreDataFlag=more_rbsp_data() | ||
else{ | ||
end_of_slice_flag | ||
moreDataFlag=!end_of_slice_flag | ||
} | ||
} | ||
} | ||
} |
表11
slice_data(){ | C | Descriptor |
… | ||
moreDataFlag=1 | ||
do{ | ||
… | ||
coding_unit(...,moreDataFlag) | 2|3|4 | |
if(last_lcu_is_end_flag==1){ | ||
if(!entropy_coding_mode_flag) | ||
moreDataFlag=more_rbsp_data() | ||
else{ | ||
end_of_slice_flag | 2 | ae(v) |
moreDataFlag=!end_of_slice_flag | ||
} | ||
} | ||
… |
}while(moreDataFlag) | ||
} |
表10和表11中,lcu_slice_flag用于标示当前条带的划分类型,lcu_slice_flag等于1表示当前条带划分是基于LCU的,则不需要进一步写明条带结束CU的位置;lcu_slice_flag等于0表示当前条带划分是基于CU的,则需要进一步写明条带结束CU的位置。该标识符的值一般通过如实施例一所示方法解析得到,也可能通过默认值进行设置。
split_coding_unit_flag用于标示当前的CU是否要进一步***。split_coding_unit_flag等于1,则当前CU将继续***为四个等大的更深一级的CU;split_coding_unit_flag等于0,则当前CU不再进行***,是进行编码的最后一级的CU。
moreDataFlag用于标示后续是否还有当前条带的数据。moreDataFlag等于1,则当前条带还有更多数据等待解码,条带解码将继续;moreDataFlag等于0,则当前条带的数据已经全部解码完毕,条带解码将结束。
more_rbsp_data用于判断数据净载是否结束。如果当前条带没有更多数据净载,该操作返回0,否则返回1.
entropy_coding_mode_flag用于选取语法元素的熵编码方式。entropy_coding_mode_flag等于0,表示该种编码方法可以通过判断码流数据结束来推断条带的结束,则不需要写条带结束标志位;entropy_coding_mode_flag等于1,表示该种编码方法不能通过判断码流数据结束来推断条带的结束,则需要些条带结束标志位。
end_of_slice_flag是条带结束标记位。end_of_slice_flag等于1,表示当前CU是条带中的最后一个CU,条带解码结束;end_of_slice_flag等于0,表示当前CU不是条带中最后一个CU,当前条带需继续解码下一个CU。
解码时,对每个CU都会先根据split_coding_unit_flag判断是否继续***,如果split_coding_unit_flag等于1,则将当前CU***为四个更小的CU,并对每个CU都进行相同的CU解析操作;直到某个CU的split_coding_unit_flag等于0,则当前CU为实际进行解码的单元,进入解码重建过程,并在当前解码重建结束判断是否是基于CU的条带划分,若是则解析条带结束标志,否则不解析。
条带结束标志解析过程是,先根据entropy_coding_mode_flag来判断当前条带的熵编码类型,如果entropy_coding_mode_flag等于0,则根据操作more_rbsp_data()来给moreDataFlag赋值;如果entropy_coding_mode_flag等于1,则需要解析标志位end_of_slice_flag,并给moreDataFlag赋值moreDataFlag等于1,则条带解码将继续;moreDataFlag等于0,则条带解码将结束。
条带数据解码语法中,对每一个LCU进行循环,每次循环的结束也会判断是否是基于CU条带划分,若不是则解析条带结束标志,若是则不解析。解析过程同上。
9)在条带的结束位置信息为条带的长度信息时,如果条带是按LCU划分,则可以在条带头中增加条带的LCU长度信息,本发明一个实施例提供的条带长度语法结构如表12所示。
表12
slice_header(){ | C | Descriptor |
slice_length_lcu | 2 | u(v) |
} |
slice_length_lcu用于标示当前条带所包含的LCU总个数。条带结束LCU的位置(SliceEndLCUAddress)可以根据该值以及起始LCU的位置(SliceStartLCUAddress)可以按照公式十一计算,条带解码结束于SliceEndLCUAddress对应的LCU。
SliceEndLCUAddress=SliceStartLCUAddress+slice_length_lcu
(公式十一)
10)在条带的结束位置信息为条带的长度信息时,如果条带是按CU划分,则可以在条带头中增加条带的LCU长度信息以及结束SCU在结束LCU中的相对位置信息,本发明一个实施例提供的条带长度语法结构如表13所示,该实施例中,结束SCU在结束LCU中的相对位置信息为顺序相对位置信息。
表13
slice_header(){ | C | Descriptor |
slice_length_lcu | 2 | u(v) |
last_scu_in_slice_minus_1 | 2 | u(v) |
} |
slice_length_lcu用于标示当前条带所包含的LCU总个数。条带结束LCU的位置(SliceEndLCUAddress)可以根据该值以及起始LCU的位置(SliceStartLCUAddress)可以按照公式十二计算,条带解码将结束于SliceEndLCUAddress对应的LCU中的某个CU。
SliceEndLCUAddress=SliceStartLCUAddress+slice_length_lcu (公式十二)
last_scu_in_slice_minus_1用于标示条带的最后一个CU在结束LCU中的具***置(SliceEndSCUAddress),即条带的最后一个CU的右下角SCU在所属LCU中的相对位置,条带解码至SliceEndSCUAddress对应的CU截止。SliceEndSCUAddress计算可以如公式十三所示。
SliceEndSCUAddress=last_scu_in_slice_minus_1+1 (公式十三)
11)在条带的结束位置信息为条带的长度信息时,如果条带是按CU划分,则可以在条带头中增加条带的CU长度信息,本发明一个实施例提供的条带长度语法结构如表14所示。
表14
slice_header(){ | C | Descriptor |
slice_length_cu_minus1 | 2 | u(v) |
} |
slice_length_cu_minusl用于标示当前条带所包含的CU总个数(NumCUInSlice),NumCUInSlice的计算可以如公式十四所示。解码时记录已解码CU个数,当解码CU个数达到条带CU总个数,则结束条带解码。
NumCUInSlice=slice_length_cu_minus1+1 (公式十四)
12)在条带的结束位置信息为条带的长度信息时,如果条带是按CU划分,则可以在条带头中增加条带的SCU长度信息,本发明一个实施例提供的条带长度语法结构如表15所示。
表15
slice_header(){ | C | Descriptor |
slice_length_scu_minus1 | 2 | u(v) |
} |
slice_length_scu_minus1用于标示当前条带所包含的SCU总个数,并可以根据该值以及条带起始LCU的位置(SliceStartLCUAddress)、条带起始CU在所属LCU中的相对位置(SliceStartSCUAddress)和LCU包含SCU的总数(NumSCUInLCU)来计算条带结束CU的具***置,可以分别用该CU所在LCU的位置(SliceEndLCUAddress)以及该CU在LCU中的位置(SliceEndSCUAddress)表示,SliceEndLCUAddress的计算可以如公式十五所示,SliceEndSCUAddress的计算可以如公式十六所示。
SliceEndLCUAddress=SliceStartLCUAddress+(SliceStartSCUAddress+slice_length_scu_minus1+1)/NumSCUInLCU
(公式十五)
SliceEndSCUAddress=(SliceStartSCUAddress+slice_length_scu_minus1+1)%NumSCUInLCU
(公式十六)
13)在可以根据CU在LCU中的相对位置推断LCU每一层CU的***情况时,本发明一个实施例提供的***标识位语法结构如表16所示。
表16
CurrentCUInPicRange用于表示当前CU是否在视频图像区域内,CurrentCUInPicRange等于1表示当前CU所有像素都在视频图像区域内;CurrentCUInPicRange等于0表示当前CU有部分像素在视频图像区域外。
CurrCodingUnitSize标记当前CU的尺寸。
MinCodingUnitSize表示CU的最小尺寸。
LCUAddress用于标记当前CU所述LCU在图像中位置。
SliceStartLCUAddress用于标记条带起始LCU在图像中的位置。
split_coding_unit_flag标识当前CU是否进行进一步的***。split_coding_unit_flag等于1,则当前CU将***为四个等大的CU;split_coding_unit_flag等于0,则当前CU不再进行***,是一个最终的需实际解码的CU。
StartSCUAddress用于标记当前CU在LCU中的起始位置。
SliceStartSCUAddress用于标记条带起始SCU在LCU中的位置。
因此,解码过程中先确认当前CU是在视频图像范围内且大于最小的CU尺寸,再解析***标志位;否则,则不需要解析***标识位。
在判断当前CU是不是处于条带的第一个LCU中,如果不是则直接解析***标识位;否则进入以下步骤进行判断。
解码过程中先确认当前CU是在视频图像范围内且大于最小的CU尺寸,再解析***标志位;否则,则不需要解析***标识位。
进一步判断当前CU的起始位置与条带起始CU的位置的关系。如果当前CU的起始位置大于等于条带起始CU的位置,则需要进一步解析***标志位;如果当前CU结束位置小于条带起始CU的位置,则不需要进一步解析***标识位,其值为0;其他情况,也不需要进一步解析***标识位,其值为1。
若***标志位为0,则当前CU不再进行***,为最终的需实际解码的CU,进入解码重建过程;若***标志位为1,则当前CU***为四个等大的深一层CU,且对每一个深一层CU都进行完整的处理过程,即判断是否进一步***或直接解码。
在以上各实施例中描述位置信息时,包括起始LCU的绝对位置、起始SCU的相对位置、结束LCU的绝对位置、结束SCU的相对位置等,可直接对各位置的数值进行编码。其中,不限定数值的编码方式。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
如下再介绍本发明实施例提供的装置,图7描述了本发明一个实施例提供的条带编码装置的结构,包括:
确定单元701,用于根据判决信息确定当前划分对象的条带划分类型。
划分单元702,用于按照确定单元701确定的条带划分类型将当前划分对象划分成条带。
写入单元703,用于在起始位置信息字段写入划分单元702划分的当前条带的起始位置信息。
编码处理单元704,用于对写入单元703获得的当前条带进行编码,输出编码码流。
在本发明的另一个实施例中,写入单元703,还可以用于将702确定单元确定的当前划分对象的条带划分类型信息写入划分类型信息字段。
在本发明的另一个实施例中,写入单元703,具体用于在条带划分类型为按LCU划分时,在起始LCU位置信息字段写入当前条带的起始LCU在图像中的绝对位置信息,起始位置信息字段仅包括起始LCU位置信息字段;在条带划分类型为按CU划分时,在起始LCU位置信息字段写入起始LCU在图像中的绝对位置信息,在起始SCU位置信息字段写入起始SCU在起始LCU中的相对位置信息,起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段;或在条带划分类型为按CU划分时,在起始SCU位置信息字段写入起始SCU在起始LCU中的绝对位置信息,起始位置信息字段仅包括起始SCU位置信息字段。
在本发明的另一个实施例中,写入单元703还用于在结束位置信息字段写入当前条带的结束位置信息。
在本发明的另一个实施例中,写入单元703,具体用于在条带划分类型为按LCU划分时,在结束LCU位置信息字段写入当前条带的结束LCU在图像中的绝对位置信息,结束位置信息字段仅包括结束LCU位置信息字段;在条带划分类型为按CU划分时,在结束LCU位置信息字段写入结束LCU在图像中的绝对位置信息,在结束SCU位置信息字段写入所述结束SCU在所述结束LCU中的相对位置信息,结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段;或在条带划分类型为按CU划分时,在结束SCU位置信息字段写入结束SCU在所述结束LCU中的绝对位置信息,结束位置信息字段仅包括结束SCU位置信息字段。
在本发明的另一个实施例中,写入单元703,还用于在确定单元702确定的条带划分类型为按LCU划分时,为当前条带中所有LCU的条带结束标志位赋值,条带结束标志位位于当前条带包括的每一个LCU的最后一个SCU的数据净载的最后一位,其中结束LCU中的条带结束标志位赋值为有效;在确定单元702确定的条带划分类型为按CU划分时,为当前条带中所有CU的条带结束标志位赋值,条带结束标志位位于当前条带包括的每一个CU的最后一个SCU的数据净载的最后一位,其中结束CU中的条带结束标志位赋值为有效。
在本发明的另一个实施例中,编码处理单元704,还用于在对当前条带的第一个LCU进行编码时,根据当前CU在第一个LCU中的位置信息确定是否对当前CU的***标识位进行编码。
从上可知,本实施例可以根据判决信息确定当前划分对象的条带划分类型,按照确定的条带划分类型将当前划分对象划分成条带,使划分成的条带的数据量大小能够适应网络,并且在不同的网络可以采用不同的条带划分方式,从而增强网络兼容性。
进一步,在本发明的另一个实施例中,还可以将当前划分对象的条带划分类型信息写入划分类型信息字段,使解码装置可以获知当前条带的划分类型,从而根据该划分类型信息确定解码是否完成,在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,使用的起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段,使解码装置在解码时可以直接解析起始LCU位置信息字段和起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。由于解码装置可以获知当前条带的划分类型,在当前条带按LCU划分时,可以仅向起始LCU位置信息字段写入数据,而不需要向起始SCU位置信息字段写入数据,从而可以减少需要写入的数据量,提高编码效率;也可以使解码装置不需要解析起始SCU位置信息字段,进一步提高解码效率。
进一步,在本发明的另一个实施例中,可以在结束位置信息字段写入当前条带的结束位置信息,使解码装置可以直接根据该结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。在本发明的另一个实施例中,使用的结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段,使解码装置在解码时可以直接解析结束LCU位置信息字段和结束SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的结束位置,从而提高解码效率。由于解码装置可以获知当前条带的划分类型,在当前条带按LCU划分时,可以仅向结束LCU位置信息字段写入数据,而不需要向结束SCU位置信息字段写入数据,从而可以减少需要写入的数据量,提高编码效率;也可以使解码装置不需要解析结束SCU位置信息字段,进一步提高解码效率。
进一步,在本发明的另一个实施例中,可以为当前条带中所有CU的条带结束标志位赋值,并且将结束CU中的条带结束标志位赋值为有效,使解码装置在解码时可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。由于解码装置可以获知当前条带的划分类型,因此解码装置可以在当前条带按LCU划分时,仅解析当前条带最后一个CU的结束标志位就可以确定解码是否完成,进一步提高解码效率。
图8描述了本发明另一个实施例提供的条带解码装置的结构,包括:
解析单元801,用于从起始位置信息字段解析当前条带的起始位置信息。
解码单元802,用于根据解析单元801解析获得的起始位置信息开始对当前条带的解码,并根据预置处理方式确定完成对当前条带的解码。
输出单元803,用于输出解码单元802获得的条带的重建图像。
在本发明的另一个实施例中,起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段;解析单元801,具体用于从起始LCU位置信息字段解析当前条带的起始LCU的绝对位置信息,从起始SCU位置信息字段解析当前条带的起始SCU的相对位置信息。
在本发明的另一个实施例中,解析单元801还用于从结束位置信息字段解析当前条带的结束位置信息;解码单元802,用于根据解析单元801获得的结束位置信息确定完成对当前条带的解码。
在本发明的另一个实施例中,结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段;解析单元801,具体用于从结束LCU位置信息字段解析当前条带的结束LCU的绝对位置信息,从结束SCU位置信息字段解析当前条带的结束SCU的相对位置信息。
在本发明的另一个实施例中,解析单元801,还用于从头信息中解析获得当前条带的条带划分类型信息;解析单元801,具体用于在当前条带的条带划分类型为按LCU划分时,从起始LCU位置信息字段解析当前条带的起始LCU的绝对位置信息,起始位置信息字段仅包括起始LCU位置信息字段;在当前条带的条带划分类型为按CU划分时,从起始LCU位置信息字段解析当前条带的起始LCU的绝对位置信息,从起始SCU位置信息字段解析当前条带的起始SCU的相对位置信息,起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段;或在当前条带的条带划分类型为按CU划分时,从起始SCU位置信息字段解析当前条带的起始SCU的绝对位置信息,起始位置信息字段仅包括起始SCU位置信息字段。
在本发明的另一个实施例中,解析单元801,还用于根据解析获得的条带划分类型信息从结束位置信息字段解析当前条带的结束位置信息;解码单元802,用于根据解析单元801获得的结束位置信息确定完成对当前条带的解码。
在本发明的另一个实施例中,解析单元801,具体用于在当前条带的条带划分类型为按LCU划分时,从绝对LCU位置信息字段解析当前条带的绝对LCU的绝对位置信息,绝对位置信息字段仅包括绝对LCU位置信息字段;在当前条带的条带划分类型为按CU划分时,从绝对LCU位置信息字段解析当前条带的绝对LCU的绝对位置信息,从绝对SCU位置信息字段解析当前条带的绝对SCU的相对位置信息,绝对位置信息字段包括绝对LCU位置信息字段和绝对SCU位置信息字段;或在当前条带的条带划分类型为按CU划分时,从绝对SCU位置信息字段解析当前条带的绝对SCU的绝对位置信息,绝对位置信息字段仅包括绝对SCU位置信息字段。
从上可知,本实施例中当前条带按照条带划分类型划分获得,并且条带划分类型根据判决信息确定,因此划分成的条带的数据量大小能够适应网络,并且在不同的网络可以采用不同的条带划分方式,从而增强网络兼容性。
进一步,在本发明的另一个实施例中,还可以根据解析到的条带划分类型信息获知当前条带的划分类型,从而根据该划分类型信息确定解码是否完成,在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,使用的起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段,因此可以直接解析起始LCU位置信息字段和起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。由于可以获知当前条带的划分类型,在当前条带按LCU划分时,可以仅向起始LCU位置信息字段写入数据,而不需要向起始SCU位置信息字段写入数据,从而可以减少需要写入的数据量,提高编码效率;也不需要解析起始SCU位置信息字段,进一步提高解码效率。
进一步,在本发明的另一个实施例中,可以直接根据结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。在本发明的另一个实施例中,使用的结束位置信息字段包括结束LCU位置信息字段和结束SCU位置信息字段,因此可以直接解析结束LCU位置信息字段和结束SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的结束位置,从而提高解码效率。由于可以获知当前条带的划分类型,因此不需要解析结束SCU位置信息字段,进一步提高解码效率。
进一步,在本发明的另一个实施例中,可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。由于可以获知当前条带的划分类型,因此可以在当前条带按LCU划分时,仅解析当前条带最后一个CU的结束标志位就可以确定解码是否完成,进一步提高解码效率。
图9描述了本发明另一个实施例提供的条带编码装置的结构,包括:
划分单元901,用于按CU将当前划分对象划分成条带。
写入单元902,用于在起始位置信息字段写入划分单元901获得的当前条带的起始位置信息;当前条带的起始位置信息包括:当前条带中起始LCU在图像中的绝对位置信息、以及当前条带中起始SCU在起始LCU中的相对位置信息。
编码处理单元903,用于对写入单元902获得的当前条带进行编码,输出编码码流。
在本发明的另一个实施例中,写入单元902还用于在结束位置信息字段写入当前条带的结束位置信息。
在本发明的另一个实施例中,写入单元902,还用于为当前条带中所有CU的条带结束标志位赋值,条带结束标志位位于当前条带包括的每一个CU的最后一个SCU的数据净载的最后一位,其中结束CU中的条带结束标志位赋值为有效。
在本发明的另一个实施例中,编码处理单元903,还用于在对当前条带的第一个LCU进行编码时,根据当前CU在第一个LCU中的位置信息确定是否对当前CU的***标识位进行编码。本实施例可以不对某些CU的***标识位进行编码,因此不需要传输这些***标识位的数据,从而可以降低网络的占用,提高网络的利用效率。
从上可知,本实施例可以使用的起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段,使解码装置在解码时可以直接解析起始LCU位置信息字段和起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。
进一步,在本发明的另一个实施例中,可以在结束位置信息字段写入当前条带的结束位置信息,使解码装置可以直接根据该结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,可以为当前条带中所有CU的条带结束标志位赋值,并且将结束CU中的条带结束标志位赋值为有效,使解码装置在解码时可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。
图10描述了本发明另一个实施例提供的条带解码装置的结构,包括:
解析单元1001,用于从起始位置信息字段解析当前条带的起始位置信息,当前条带的起始位置信息包括:当前条带中起始LCU在图像中的绝对位置信息、以及当前条带中起始SCU在起始LCU中的相对位置信息。
解码单元1002,用于根据解析单元1001获得的起始位置信息开始对当前条带的解码,并根据预置处理方式确定完成对当前条带的解码。
输出单元1003,用于输出解码单元1002获得的条带的重建图像。
在本发明的另一个实施例中,解析单元1001,还用于从结束位置信息字段解析当前条带的结束位置信息;解码单元1002,用于根据解析单元1001获得的结束位置信息确定完成对当前条带的解码。
从上可知,本实施例可以使用的起始位置信息字段包括起始LCU位置信息字段和起始SCU位置信息字段,因此可以直接解析起始LCU位置信息字段和起始SCU位置信息字段中的位置信息,再根据解析得到的位置信息直接定位到条带的起始位置,从而提高解码效率。
进一步,在本发明的另一个实施例中,可以直接根据该结束位置信息确定解码完成,从而在确保正确解码的同时提高解码效率。
进一步,在本发明的另一个实施例中,可以根据解码得到的条带结束标志位的值是否有效确定解码是否完成,从而在确保正确解码的同时提高解码效率。
上述装置和***内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:Random Access Memory)等。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (41)
1.一种条带编码方法,其特征在于,包括:
根据判决信息确定当前划分对象的条带划分类型,按照所述条带划分类型将当前划分对象划分成条带;
在起始位置信息字段写入当前条带的起始位置信息;
所述起始位置信息字段包括起始最大编码单元位置信息字段和起始最小编码单元位置信息字段;
所述在起始位置信息字段写入当前条带的起始位置信息具体为:在所述起始最大编码单元位置信息字段写入当前条带的起始最大编码单元在图像中的绝对位置信息,在所述起始最小编码单元位置信息字段写入所述起始最小编码单元在所述起始最大编码单元中的相对位置信息;
对写入了所述起始位置信息的当前条带进行编码,输出编码码流。
2.如权利要求1所述的条带编码方法,其特征在于,对所述当前条带进行编码前,进一步包括:
在结束位置信息字段写入当前条带的结束位置信息。
3.如权利要求2所述的条带编码方法,其特征在于,所述结束位置信息字段包括结束最大编码单元位置信息字段和结束最小编码单元位置信息字段;
所述在结束位置信息字段写入当前条带的结束位置信息具体为:在所述结束最大编码单元位置信息字段写入当前条带的结束最大编码单元在图像中的绝对位置信息,在所述结束最小编码单元位置信息字段写入所述结束最小编码单元在所述结束最大编码单元中的相对位置信息。
4.如权利要求1所述的条带编码方法,其特征在于,对所述当前条带进行编码前进一步包括:
将所述当前划分对象的条带划分类型信息写入划分类型信息字段。
5.如权利要求4所述的条带编码方法,其特征在于,
如果所述条带划分类型为按最大编码单元划分,所述在起始位置信息字段写入当前条带的起始位置信息具体为:
在起始最大编码单元位置信息字段写入当前条带的起始最大编码单元在图像中的绝对位置信息,所述起始位置信息字段仅包括所述起始最大编码单元位置信息字段;
如果所述条带划分类型为按编码单元划分,所述在起始位置信息字段写入当前条带的起始位置信息具体为:
在起始最大编码单元位置信息字段写入起始最大编码单元在图像中的绝对位置信息,在起始最小编码单元位置信息字段写入所述起始最小编码单元在所述起始最大编码单元中的相对位置信息,所述起始位置信息字段包括所述起始最大编码单元位置信息字段和所述起始最小编码单元位置信息字段;
或
在起始最小编码单元位置信息字段写入所述起始最小编码单元在图像中的绝对位置信息,所述起始位置信息字段仅包括所述起始最小编码单元位置信息字段。
6.如权利要求5所述的条带编码方法,其特征在于,对所述当前条带进行编码前,进一步包括:
在结束位置信息字段写入当前条带的结束位置信息。
7.如权利要求6所述的条带编码方法,其特征在于,如果所述条带划分类型为按最大编码单元划分,所述在结束位置信息字段写入当前条带的结束位置信息具体为:
在结束最大编码单元位置信息字段写入当前条带的结束最大编码单元在图像中的绝对位置信息,所述结束位置信息字段仅包括所述结束最大编码单元位置信息字段;
如果所述条带划分类型为按编码单元划分,所述在结束位置信息字段写入当前条带的结束位置信息具体为:
在结束最大编码单元位置信息字段写入结束最大编码单元在图像中的绝对位置信息,在结束最小编码单元位置信息字段写入所述结束最小编码单元在所述结束最大编码单元中的相对位置信息,所述结束位置信息字段包括所述结束最大编码单元位置信息字段和所述结束最小编码单元位置信息字段;
或
在结束最小编码单元位置信息字段写入所述结束最小编码单元在图像中的绝对位置信息,所述结束位置信息字段仅包括所述结束最小编码单元位置信息字段。
8.如权利要求1或5所述的条带编码方法,其特征在于,所述起始最大编码单元在图像中的绝对位置信息具体为:所述起始最大编码单元在图像中的顺序绝对位置信息或倒序绝对位置信息;
所述起始最小编码单元在所述起始最大编码单元中的相对位置信息为:所述起始最小编码单元在所述起始最大编码单元中的顺序相对位置信息或倒序相对位置信息。
9.如权利要求3或7所述的条带编码方法,其特征在于,所述结束最大编码单元在图像中的绝对位置信息具体为:所述结束最大编码单元在图像中的顺序绝对位置信息或倒序绝对位置信息;
所述结束最小编码单元在所述结束最大编码单元中的相对位置信息为:所述结束最小编码单元在所述结束最大编码单元中的顺序相对位置信息或倒序相对位置信息。
10.如权利要求2或6所述的条带编码方法,其特征在于,所述当前条带的结束位置信息为所述当前条带的长度信息,所述当前条带的长度信息具体为:
所述当前条带包括的最大编码单元的数量、以及结束编码单元在结束最大编码单元中的顺序相对位置或倒序相对位置;
或
所述当前条带包括的编码单元的数量;
或
所述当前条带包括的最小编码单元的数量。
11.如权利要求4所述的条带编码方法,其特征在于,如果所述条带划分类型为按最大编码单元划分,对所述当前条带进行编码前进一步包括:
为所述当前条带中所有最大编码单元的条带结束标志位赋值,所述条带结束标志位位于所述当前条带包括的每一个最大编码单元的最后一个最小编码单元的数据净载的最后一位,其中所述结束最大编码单元中的条带结束标志位赋值为有效;
如果所述条带划分类型为按编码单元划分,对所述当前条带进行编码前进一步包括:
为所述当前条带中所有编码单元的条带结束标志位赋值,所述条带结束标志位位于所述当前条带包括的每一个编码单元的最后一个最小编码单元的数据净载的最后一位,其中所述结束编码单元中的条带结束标志位赋值为有效。
12.如权利要求1所述的条带编码方法,其特征在于,对所述当前条带进行编码前,进一步包括:
为所述当前条带中所有编码单元的条带结束标志位赋值,所述条带结束标志位位于所述当前条带包括的每一个编码单元的最后一个最小编码单元的数据净载的最后一位,其中所述结束编码单元中的条带结束标志位赋值为有效。
13.如权利要求1或4或5所述的条带编码方法,其特征在于,在对当前条带的第一个最大编码单元进行编码时,根据当前编码单元在所述第一个最大编码单元中的位置信息确定是否对当前编码单元的***标识位进行编码。
14.如权利要求13所述的条带编码方法,其特征在于,所述根据当前编码单元在所述第一个最大编码单元中的位置信息确定是否对当前编码单元的***标识位编码具体为:
如果当前编码单元不在当前划分对象范围内或所述当前编码单元的尺寸为最小编码单元的尺寸,不对当前编码单元的***标识位进行编码;
如果所述当前编码单元在所述当前划分对象范围内且所述当前编码单元的尺寸大于最小编码单元的尺寸,且所述当前编码单元的起始位置大于等于条带起始编码单元的位置,才对所述当前编码单元的***标识位进行编码。
15.一种条带解码方法,其特征在于,包括:
从起始位置信息字段解析当前条带的起始位置信息;
所述起始位置信息字段包括起始最大编码单元位置信息字段和起始最小编码单元位置信息字段;
所述从起始位置信息字段解析当前条带的起始位置信息具体为:
从所述起始最大编码单元位置信息字段解析当前条带的起始最大编码单元的绝对位置信息,从所述起始最小编码单元位置信息字段解析当前条带的起始最小编码单元的相对位置信息;
根据所述起始位置信息开始对所述当前条带的解码,并根据预置处理方式确定完成对所述当前条带的解码;
输出解码得到的当前条带的重建图像。
16.如权利要求15所述的条带解码方法,其特征在于,所述根据预置处理方式确定完成对所述当前条带的解码具体为:
从结束位置信息字段解析所述当前条带的结束位置信息;
根据所述结束位置信息确定完成对所述当前条带的解码。
17.如权利要求16所述的条带解码方法,其特征在于,所述结束位置信息字段包括结束最大编码单元位置信息字段和结束最小编码单元位置信息字段;
所述从结束位置信息字段解析当前条带的结束位置信息具体为:
从所述结束最大编码单元位置信息字段解析当前条带的结束最大编码单元的绝对位置信息,从所述结束最小编码单元位置信息字段解析当前条带的结束最小编码单元的相对位置信息。
18.如权利要求15至17任一所述的条带解码方法,其特征在于,所述根据预置处理方式确定完成对所述当前条带的解码具体为:
判断当前编码单元的条带结束标志位的值是否有效,如果有效,确定完成对所述当前条带的解码,所述条带结束标志位位于所述当前编码单元的最后一个最小编码单元的数据净载的最后一位。
19.如权利要求15所述的条带解码方法,其特征在于,从起始位置信息字段解析当前条带的起始位置信息前进一步包括:
从头信息中解析获得所述当前条带的条带划分类型信息;
所述从起始位置信息字段解析当前条带的起始位置信息具体为:
根据所述条带划分类型信息从起始位置信息字段解析当前条带的起始位置信息。
20.如权利要求19所述的条带解码方法,其特征在于,
如果所述条带划分类型信息为按最大编码单元划分,所述根据所述条带划分类型信息从起始位置信息字段解析当前条带的起始位置信息具体为:
从起始最大编码单元位置信息字段解析当前条带的起始最大编码单元的绝对位置信息,所述起始位置信息字段仅包括所述起始最大编码单元位置信息字段;
如果所述条带划分类型信息为按编码单元划分,所述根据所述条带划分类型信息从起始位置信息字段解析当前条带的起始位置信息具体为:
从起始最大编码单元位置信息字段解析当前条带的起始最大编码单元的绝对位置信息,从起始最小编码单元位置信息字段解析当前条带的起始最小编码单元的相对位置信息,所述起始位置信息字段包括起始所述最大编码单元位置信息字段和所述起始最小编码单元位置信息字段;
或
从起始最小编码单元位置信息字段解析当前条带的起始最小编码单元的绝对位置信息,所述起始位置信息字段仅包括所述起始最小编码单元位置信息字段。
21.如权利要求19所述的条带解码方法,其特征在于,所述根据预置处理方式确定完成对所述当前条带的解码具体为:
根据所述条带划分类型信息从结束位置信息字段解析所述当前条带的结束位置信息;
根据所述结束位置信息确定完成对所述当前条带的解码。
22.如权利要求21所述的条带解码方法,其特征在于,
如果所述条带划分类型信息为按最大编码单元划分,所述根据所述条带划分类型信息从结束位置信息字段解析当前条带的结束位置信息具体为:
从结束最大编码单元位置信息字段解析当前条带的结束最大编码单元的绝对位置信息,所述结束位置信息字段仅包括所述结束最大编码单元位置信息字段;
如果所述条带划分类型信息为按编码单元划分,所述根据所述条带划分类型信息从结束位置信息字段解析当前条带的结束位置信息具体为:
从结束最大编码单元位置信息字段解析当前条带的结束最大编码单元的绝对位置信息,从结束最小编码单元位置信息字段解析当前条带的结束最小编码单元的相对位置信息,所述结束位置信息字段包括结束所述最大编码单元位置信息字段和所述结束最小编码单元位置信息字段;
或
从结束最小编码单元位置信息字段解析当前条带的结束最小编码单元的绝对位置信息,所述结束位置信息字段仅包括所述结束最小编码单元位置信息字段。
23.如权利要求19至22任一所述的条带解码方法,其特征在于,所述根据预置处理方式确定完成对所述当前条带的解码具体为:
如果所述条带划分类型信息为按最大编码单元划分,判断当前最大编码单元的条带结束标志位的值是否有效,如果有效,确定完成对所述当前条带的解码,所述条带结束标志位位于所述当前最大编码单元的最后一个最小编码单元的数据净载的最后一位;
如果所述条带划分类型信息为按编码单元划分,判断当前编码单元的条带结束标志位的值是否有效,如果有效,确定完成对所述当前条带的解码,所述条带结束标志位位于所述当前编码单元的最后一个最小编码单元的数据净载的最后一位。
24.如权利要求15或20所述的条带解码方法,其特征在于,所述起始最大编码单元的绝对位置信息为所述当前条带中起始最大编码单元在图像中的顺序绝对位置信息或倒序绝对位置信息;
所述起始最小编码单元的相对位置信息为所述起始最小编码单元在所述起始最大编码单元中的顺序相对位置信息或倒序相对位置信息。
25.如权利要求17或22所述的条带解码方法,其特征在于,所述结束最大编码单元的绝对位置信息为所述结束最大编码单元在图像中的顺序绝对位置信息或倒序绝对位置信息;
所述结束最小编码单元的相对位置信息为所述结束最小编码单元在所述结束最大编码单元中的顺序相对位置信息或倒序相对位置信息。
26.如权利要求16或21所述的条带解码方法,其特征在于,所述当前条带的结束位置信息具体为:所述当前条带的长度信息。
27.如权利要求26所述的条带解码方法,其特征在于,在所述当前条带按最大编码单元划分时,所述当前条带的长度信息为所述当前条带包括的最大编码单元的数量;
在所述当前条带按编码单元划分时,所述当前条带的长度信息具体为:
所述当前条带包括的最大编码单元的数量、以及结束编码单元在结束最大编码单元中的顺序相对位置或倒序相对位置;
或
所述当前条带包括的编码单元的数量;
或
所述当前条带包括的最小编码单元的数量。
28.如权利要求15或19所述的条带解码方法,其特征在于,在对当前条带的第一个最大编码单元进行解码时,根据当前编码单元在所述第一个最大编码单元中的位置信息确定是否对当前编码单元的***标识位解码。
29.如权利要求28所述的条带解码方法,其特征在于,所述根据当前编码单元在所述第一个最大编码单元中的位置信息确定是否对当前编码单元的***标识位解码具体为:
如果当前编码单元不在当前划分对象范围内或所述当前编码单元的尺寸为最小编码单元的尺寸,不对当前编码单元的***标识位进行解码;
如果所述当前编码单元在所述当前划分对象范围内且所述当前编码单元的尺寸大于最小编码单元的尺寸,且所述当前编码单元的起始位置大于等于条带起始编码单元的位置,才对所述当前编码单元的***标识位进行解码。
30.一种条带编码装置,其特征在于,包括:
确定单元,用于根据判决信息确定当前划分对象的条带划分类型;
划分单元,用于按照所述确定单元确定的条带划分类型将当前划分对象划分成条带;
写入单元,用于在起始位置信息字段写入所述划分单元划分的当前条带的起始位置信息;
所述写入单元,具体用于在所述条带划分类型为按最大编码单元划分时,在起始最大编码单元位置信息字段写入当前条带的起始最大编码单元在图像中的绝对位置信息,所述起始位置信息字段仅包括所述起始最大编码单元位置信息字段;在所述条带划分类型为按编码单元划分时,在起始最大编码单元位置信息字段写入起始最大编码单元在图像中的绝对位置信息,在起始最小编码单元位置信息字段写入所述起始最小编码单元在所述起始最大编码单元中的相对位置信息,所述起始位置信息字段包括起始最大编码单元位置信息字段和起始最小编码单元位置信息字段;或在所述条带划分类型为按编码单元划分时,在起始最小编码单元位置信息字段写入所述起始最小编码单元在所述起始最大编码单元中的绝对位置信息,所述起始位置信息字段仅包括起始最小编码单元位置信息字段;
编码处理单元,用于对所述写入单元获得的当前条带进行编码,输出编码码流。
31.如权利要求30所述的条带编码装置,其特征在于,所述写入单元,还用于将所述确定单元确定的当前划分对象的条带划分类型信息写入划分类型信息字段。
32.如权利要求30所述的条带编码装置,其特征在于,所述写入单元,还用于在结束位置信息字段写入当前条带的结束位置信息。
33.如权利要求32所述的条带编码装置,其特征在于,所述写入单元,具体用于在所述条带划分类型为按最大编码单元划分时,在结束最大编码单元位置信息字段写入当前条带的结束最大编码单元在图像中的绝对位置信息,所述结束位置信息字段仅包括结束最大编码单元位置信息字段;在所述条带划分类型为按编码单元划分时,在结束最大编码单元位置信息字段写入结束最大编码单元在图像中的绝对位置信息,在结束最小编码单元位置信息字段写入所述结束最小编码单元在所述结束最大编码单元中的相对位置信息,所述结束位置信息字段包括结束最大编码单元位置信息字段和结束最小编码单元位置信息字段;或在所述条带划分类型为按编码单元划分时,在结束最小编码单元位置信息字段写入所述结束最小编码单元在所述结束最大编码单元中的绝对位置信息,所述结束位置信息字段仅包括结束最小编码单元位置信息字段。
34.如权利要求30或31所述的条带编码装置,其特征在于,所述写入单元,还用于在所述确定单元确定的条带划分类型为按最大编码单元划分时,为所述当前条带中所有最大编码单元的条带结束标志位赋值,所述条带结束标志位位于所述当前条带包括的每一个最大编码单元的最后一个最小编码单元的数据净载的最后一位,其中所述结束最大编码单元中的条带结束标志位赋值为有效;在所述确定单元确定的条带划分类型为按编码单元划分时,为所述当前条带中所有编码单元的条带结束标志位赋值,所述条带结束标志位位于所述当前条带包括的每一个编码单元的最后一个最小编码单元的数据净载的最后一位,其中所述结束编码单元中的条带结束标志位赋值为有效。
35.如权利要求30或31所述的条带编码装置,其特征在于,所述编码处理单元,还用于在对当前条带的第一个最大编码单元进行编码时,根据当前编码单元在所述第一个最大编码单元中的位置信息确定是否对当前编码单元的***标识位进行编码。
36.一种条带解码装置,其特征在于,包括:
解析单元,用于从起始位置信息字段解析当前条带的起始位置信息;
所述起始位置信息字段包括起始最大编码单元位置信息字段和起始最小编码单元位置信息字段;
所述解析单元,具体用于从所述起始最大编码单元位置信息字段解析当前条带的起始最大编码单元的绝对位置信息,从所述起始最小编码单元位置信息字段解析当前条带的起始最小编码单元的相对位置信息;
解码单元,用于根据所述解析单元解析获得的起始位置信息开始对所述当前条带的解码,并根据预置处理方式确定完成对所述当前条带的解码;
输出单元,用于输出所述解码单元获得的条带的重建图像。
37.如权利要求36所述的条带解码装置,其特征在于,所述解析单元,还用于从结束位置信息字段解析所述当前条带的结束位置信息;
所述解码单元,用于根据所述解析单元获得的结束位置信息确定完成对所述当前条带的解码。
38.如权利要求37所述的条带解码装置,其特征在于,所述结束位置信息字段包括结束最大编码单元位置信息字段和结束最小编码单元位置信息字段;
所述解析单元,具体用于从所述结束最大编码单元位置信息字段解析当前条带的结束最大编码单元的绝对位置信息,从所述结束最小编码单元位置信息字段解析当前条带的结束最小编码单元的相对位置信息。
39.如权利要求36所述的条带解码装置,其特征在于,所述解析单元,还用于从头信息中解析获得所述当前条带的条带划分类型信息;
所述解析单元,具体用于在所述当前条带的条带划分类型为按最大编码单元划分时,从起始最大编码单元位置信息字段解析当前条带的起始最大编码单元的绝对位置信息,所述起始位置信息字段仅包括起始最大编码单元位置信息字段;在所述当前条带的条带划分类型为按编码单元划分时,从起始最大编码单元位置信息字段解析当前条带的起始最大编码单元的绝对位置信息,从起始最小编码单元位置信息字段解析当前条带的起始最小编码单元的相对位置信息,所述起始位置信息字段包括起始最大编码单元位置信息字段和起始最小编码单元位置信息字段;或在所述当前条带的条带划分类型为按编码单元划分时,从起始最小编码单元位置信息字段解析当前条带的起始最小编码单元的绝对位置信息,所述起始位置信息字段仅包括起始最小编码单元位置信息字段。
40.如权利要求39所述的条带解码装置,其特征在于,所述解析单元,还用于根据所述条带划分类型信息从结束位置信息字段解析所述当前条带的结束位置信息;
所述解码单元,用于根据所述解析单元获得的结束位置信息确定完成对所述当前条带的解码。
41.如权利要求40所述的条带解码装置,其特征在于,所述解析单元,具体用于在所述当前条带的条带划分类型为按最大编码单元划分时,从绝对最大编码单元位置信息字段解析当前条带的绝对最大编码单元的绝对位置信息,所述绝对位置信息字段仅包括绝对最大编码单元位置信息字段;在所述当前条带的条带划分类型为按编码单元划分时,从绝对最大编码单元位置信息字段解析当前条带的绝对最大编码单元的绝对位置信息,从绝对最小编码单元位置信息字段解析当前条带的绝对最小编码单元的相对位置信息,所述绝对位置信息字段包括绝对最大编码单元位置信息字段和绝对最小编码单元位置信息字段;或在所述当前条带的条带划分类型为按编码单元划分时,从绝对最小编码单元位置信息字段解析当前条带的绝对最小编码单元的绝对位置信息,所述绝对位置信息字段仅包括绝对最小编码单元位置信息字段。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110008180.4A CN102595123B (zh) | 2011-01-14 | 2011-01-14 | 条带编码方法及装置、条带解码方法及装置 |
PCT/CN2012/070383 WO2012095030A1 (zh) | 2011-01-14 | 2012-01-16 | 条带编码方法及装置、条带解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110008180.4A CN102595123B (zh) | 2011-01-14 | 2011-01-14 | 条带编码方法及装置、条带解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102595123A CN102595123A (zh) | 2012-07-18 |
CN102595123B true CN102595123B (zh) | 2014-06-04 |
Family
ID=46483280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110008180.4A Expired - Fee Related CN102595123B (zh) | 2011-01-14 | 2011-01-14 | 条带编码方法及装置、条带解码方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102595123B (zh) |
WO (1) | WO2012095030A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140029670A1 (en) * | 2012-07-27 | 2014-01-30 | Motorola Mobility Llc | Devices and methods for processing of partition mode in high efficiency video coding |
CN113891073B (zh) * | 2015-05-12 | 2023-04-18 | 三星电子株式会社 | 视频编码方法、视频解码方法以及计算机可读介质 |
CN107517385B (zh) * | 2016-06-16 | 2020-02-21 | 华为技术有限公司 | 一种视频图像的编解码方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980392A (zh) * | 2005-11-29 | 2007-06-13 | 同济大学 | 视频码流判断图像边界及预读图像数据的解码方法和装置 |
CN101222636A (zh) * | 2008-01-24 | 2008-07-16 | 杭州华三通信技术有限公司 | 图像编解码方法和图像编解码装置 |
CN101389021A (zh) * | 2007-09-14 | 2009-03-18 | 华为技术有限公司 | 视频编解码方法及装置 |
JP2009535881A (ja) * | 2006-04-27 | 2009-10-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | エンコード/トランスコード及びデコードのための方法及び装置 |
CN101742295A (zh) * | 2008-11-14 | 2010-06-16 | 北京中星微电子有限公司 | 基于图像自适应条带划分的自适应帧场编码方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009104850A1 (en) * | 2008-02-20 | 2009-08-27 | Lg Electronics Inc. | Method for encoding and decoding image, and apparatus for encoding and decoding image |
-
2011
- 2011-01-14 CN CN201110008180.4A patent/CN102595123B/zh not_active Expired - Fee Related
-
2012
- 2012-01-16 WO PCT/CN2012/070383 patent/WO2012095030A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980392A (zh) * | 2005-11-29 | 2007-06-13 | 同济大学 | 视频码流判断图像边界及预读图像数据的解码方法和装置 |
JP2009535881A (ja) * | 2006-04-27 | 2009-10-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | エンコード/トランスコード及びデコードのための方法及び装置 |
CN101389021A (zh) * | 2007-09-14 | 2009-03-18 | 华为技术有限公司 | 视频编解码方法及装置 |
CN101222636A (zh) * | 2008-01-24 | 2008-07-16 | 杭州华三通信技术有限公司 | 图像编解码方法和图像编解码装置 |
CN101742295A (zh) * | 2008-11-14 | 2010-06-16 | 北京中星微电子有限公司 | 基于图像自适应条带划分的自适应帧场编码方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102595123A (zh) | 2012-07-18 |
WO2012095030A1 (zh) | 2012-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11659184B2 (en) | Method and device for video coding and decoding | |
JP7237874B2 (ja) | イメージ予測方法および装置 | |
CN110933424B (zh) | 一个帧内编码块的多个预测块 | |
CN102595119B (zh) | 条带编码方法及装置、条带解码方法及装置 | |
AU2018315106B2 (en) | Video image encoding and decoding method, apparatus, and device | |
CN113498522A (zh) | 视频译码中的自适应参数集类型 | |
US20160373767A1 (en) | Encoding and Decoding Methods and Apparatuses | |
BR112019021593A2 (pt) | Método e dispositivo para codificação e decodificação entrópica de sinais de vídeo | |
CN104581159B (zh) | 视频编解码中的块分割方式确定方法及相关装置 | |
TW201242374A (en) | Multi-metric filtering | |
CN104935944A (zh) | 一种视频数据编码、解码的方法和装置 | |
US9326011B2 (en) | Method and apparatus for generating bitstream based on syntax element | |
CN102857746A (zh) | 环路滤波编解码方法及装置 | |
EP2920970A1 (en) | Method and apparatus for prediction value derivation in intra coding | |
CN102595123B (zh) | 条带编码方法及装置、条带解码方法及装置 | |
CN115134629A (zh) | 视频传输方法、***、设备及存储介质 | |
CN113228519A (zh) | 任意和环绕分块分组 | |
CN115665412A (zh) | 视频译码中用于光栅扫描分块组和矩形分块组的分块组分配 | |
US11315289B2 (en) | Adaptive depth guard band | |
US20170164003A1 (en) | Multiview video signal processing method and apparatus | |
KR101700752B1 (ko) | 깊이 정보의 코딩 방법과 디코딩 방법, 깊이 정보의 코딩 장치와 디코딩 장치 및 비디오 처리 재생 장치 | |
CN102685483A (zh) | 编码方法以及装置、解码方法以及装置 | |
CN117044208A (zh) | 图像编译方法及其装置 | |
CN102595108A (zh) | 一种语法元素的编码方法及装置 | |
CN105338363A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140604 Termination date: 20220114 |