CN107079159A - 基于多核系统的并行视频解码的方法和设备 - Google Patents

基于多核系统的并行视频解码的方法和设备 Download PDF

Info

Publication number
CN107079159A
CN107079159A CN201580056228.5A CN201580056228A CN107079159A CN 107079159 A CN107079159 A CN 107079159A CN 201580056228 A CN201580056228 A CN 201580056228A CN 107079159 A CN107079159 A CN 107079159A
Authority
CN
China
Prior art keywords
unit
decoded
decoding
picture
block
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
CN201580056228.5A
Other languages
English (en)
Other versions
CN107079159B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN107079159A publication Critical patent/CN107079159A/zh
Application granted granted Critical
Publication of CN107079159B publication Critical patent/CN107079159B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/169Methods 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/17Methods 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/172Methods 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 picture, frame or field
    • 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/169Methods 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/17Methods 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/176Methods 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 block, e.g. a macroblock
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

视频解码方法包括:通过第一解码单元从比特流中获取属于第一图片的当前块的运动矢量;通过第一解码单元确定由运动矢量指向的参考块是否被解码;以及基于参考块是否被解码来对当前块进行解码。参考块被包括在由第二解码单元解码的第二图片中。第一图片和第二图片被并行地解码。

Description

基于多核系统的并行视频解码的方法和设备
技术领域
本公开涉及视频编码和视频解码的方法和设备,更具体地,涉及基于多核系统的编码和解码。
背景技术
随着开发和供给用于播放和存储高分辨率或高质量视频内容的硬件,针对用于将高分辨率或高质量视频内容高效编码或解码的视频编解码器的需求日益增长。现有的视频编解码器被设计成根据有限编码方法来基于具有树形结构的编码单元对视频进行编码。
空间域的图像数据通过频率转换被转换成频域的系数。为了进行快速频率转换,视频编解码器将图像分成预定尺寸的块,并且在块中的每个块上执行离散余弦变换(DCT),从而以块为单位对频率系数进行编码。现有压缩系统执行基于块的预测以去除彩色图像之间的冗余。现有压缩系统以图片为单位生成参数,该参数用来执行视频编码和解码。
发明内容
技术问题
需要通过使用并行解码算法来提高解码速度。然而,现有技术并没有提供使用多核处理器来实现并行解码算法的解决方案。
技术方案
根据实施方式的一方面,视频解码方法包括:通过第一解码单元从比特流中获取属于第一图片的当前块的运动矢量;通过第一解码单元确定由该运动矢量指向的参考块是否被解码;以及基于参考块是否被解码对当前块进行解码,其中,参考块被包括在由第二解码单元解码的第二图片中,并且第一图片和第二图片被并行地解码。
获取当前块的运动矢量可以包括在第一图片被解码之前获取运动矢量。当参考块未被解码时,对当前块进行解码可以包括在参考块被解码之后开始对第一图片进行解码。
获取当前块的运动矢量可以包括从比特流中获取属于第一图片的相应块的多个运动矢量。确定由运动矢量指向的参考块是否被解码可以包括确定在由多个运动矢量指向的至少一个参考块之中延迟最多的参考块是否被解码,其中,延迟最多的参考块在最晚的时间点被解码。当延迟最多的参考块未被解码时,开始对第一图片进行解码可以包括在延迟最多的参考块被解码之后开始对第一图片进行解码。
延迟最多的参考块可以基于指向参考块的运动矢量的竖直分量值或第二图片中的参考块的竖直坐标进行确定。
获取当前块的运动矢量可以包括通过第一解码单元对第一图片的至少一个块进行解码并且从比特流中获取当前块的运动矢量。当参考块未被解码时,对当前块进行解码可以包括在参考块被解码之后通过使用参考块对当前块进行解码。
对当前块进行解码可以包括:当参考块未被解码时,通过第一解码单元更改运动矢量;以及通过第一解码单元使用更改的运动矢量对当前块进行解码。
更改运动矢量可以包括更改运动矢量以指向第二图片中已解码的块中的一个块。
更改运动矢量可以包括更改运动矢量的竖直分量值以指向第二图片的已解码的区域上的位置。
更改运动矢量可以包括更改运动矢量的参考图片值以指向另一被解码的图片。
更改运动矢量可以包括:确定属于第一图片并且位于当前块附近的至少一个邻近块;以及根据至少一个邻近块的运动矢量中的一个运动矢量来更改运动矢量。
对当前块进行解码可以包括:当参考块未被解码时,停止对当前块进行解码;当参考块在预设时间内被解码时,通过使用参考块对当前块进行解码;当参考块在预设时间内未被解码时,更改运动矢量;以及通过第一解码单元使用更改的运动矢量对当前块进行解码。
根据另一实施方式的一方面,用于执行并行解码的视频解码设备包括:第一解码单元,其配置成从比特流中获取属于第一图片的当前块的运动矢量、确定由运动矢量指向的参考块是否被解码,并且基于参考块是否被解码对当前块进行解码;以及第二解码单元,其配置成对包括参考块的第二图片进行解码,其中,第一图片和第二图片被并行地解码。
第一解码单元可以在第一图片被解码之前获取运动矢量,并且当参考块未被解码时,在参考块被解码之后开始对第一图片进行解码。
第一解码单元可以在第一图片的至少一个块被解码之后从比特流中获取当前块的运动矢量,并且当参考块未被解码时,在参考块被解码之后通过使用参考块对当前块进行解码。
当参考块未被解码时,第一解码单元可以更改运动矢量以指向第二图片中已解码的块中的一个块,并且通过使用更改的运动矢量对当前块进行解码。
第一解码单元可以更改运动矢量的竖直分量值以指向第二图片的已解码的区域上的位置。
第一解码单元可以更改运动矢量的参考图片值以指向另一被解码的图片。
第一解码单元可以确定属于第一图片并且位于当前块附近的至少一个邻近块,并且根据至少一个邻近块的运动矢量中的一个运动矢量来更改运动矢量。
第一解码单元可以执行以下操作:当参考块未被解码时停止对当前块进行解码;当参考块在预设时间内被解码时,通过使用参考块对当前块进行解码;以及当参考块在预设时间内未被解码时,更改运动矢量并且通过使用更改的运动矢量对当前块进行解码。
根据另一实施方式的一方面,提供非暂时性计算机可读记录介质,该非暂时性计算机可读记录介质上记录有计算机程序,该计算机程序用于执行上述视频解码方法。
有益效果
通过使用并行解码算法将提高解码速度。
附图说明
通过以下结合附图对实施方式作出的描述,这些和/或其他方面将变得更明显且容易理解,在附图中:
图1A是编码设备的框图;
图1B是由编码设备执行的编码方法的流程图;
图2A是根据实施方式的解码设备的框图;
图2B是根据实施方式的由解码设备执行的并行解码的方法的流程图;
图3A是根据另一实施方式的由解码设备执行的并行解码的方法的流程图;
图3B到图3D是示出分别由第一解码单元和第二解码单元解码的第一图片和第二图片的示意图;
图4A是根据另一实施方式的由解码设备执行的并行解码的方法的流程图;
图4B到图4D是示出由第一解码单元和第二解码单元执行解码的情况的示意图;
图4E是根据另一实施方式的由解码设备执行的并行解码的方法的流程图;
图5A是根据另一实施方式的由解码设备执行的通过改变运动矢量来执行并行解码的方法的流程图;
图5B是根据另一实施方式的由解码设备执行的通过改变运动矢量来执行并行解码的方法的流程图;
图5C是示出图5B所示的由解码设备执行的通过改变运动矢量来执行并行解码的方法的示意图;
图6A是根据另一实施方式的由解码设备执行的通过改变运动矢量来执行并行解码的方法的流程图;
图6B是示出图6A所示的由解码设备执行的通过改变运动矢量来执行并行解码的方法的示意图;
图7A是根据另一实施方式的由解码设备执行的通过改变运动矢量来执行并行解码的方法的流程图;
图7B是示出图7A所示的由解码设备执行的通过改变运动矢量来执行并行解码的方法的示意图;
图8是根据实施方式的基于具有树形结构的编码单元的视频编码设备的框图;
图9是根据实施方式的基于具有树形结构的编码单元的视频解码设备的框图;
图10示出根据实施方式的编码单元的示意图;
图11是根据实施方式的基于编码单元的视频编码单元的框图;
图12是根据实施方式的基于编码单元的视频解码单元的框图;
图13是示出根据实施方式的编码单元和分区的示意图;
图14是示出根据实施方式的编码单元与变换单元之间的关系的示意图;
图15示出根据各种实施方式的多项编码信息;
图16是示出根据实施方式的与深度对应的编码单元的示意图;
图17、图18和图19是示出根据实施方式的编码单元、预测单元与变换单元之间的关系的示意图;
图20是示出根据编码模式信息的编码单元、预测单元与变换单元之间的关系的示意图;
图21示出根据实施方式的存储程序的盘片的物理结构;
图22示出配置成通过使用盘片来记录和读取程序的盘片驱动器;
图23示出配置成提供内容分发服务的内容供应系统的整体结构;
图24和图25示出可应用根据实施方式的视频编码方法和视频解码方法的移动电话的外部结构和内部结构;
图26示出根据实施方式的采用通信系统的数字广播系统;以及
图27示出根据实施方式的使用视频编码设备和视频解码设备的云计算系统的网络结构。
实施本发明的最佳方式
根据实施方式的一方面,视频解码方法包括:通过第一解码单元从比特流中获取属于第一图片的当前块的运动矢量;通过第一解码单元确定由该运动矢量指向的参考块是否被解码;以及基于参考块是否被解码对当前块进行解码,其中,参考块被包括在由第二解码单元解码的第二图片中,并且第一图片和第二图片被并行地解码。
根据另一实施方式的一方面,用于执行并行解码的视频解码设备包括:第一解码单元,其配置成从比特流中获取属于第一图片的当前块的运动矢量、确定由运动矢量指向的参考块是否被解码,并且基于参考块是否被解码对当前块进行解码;以及第二解码单元,其配置成对包括参考块的第二图片进行解码,其中,第一图片和第二图片被并行地解码。
具体实施方式
现在将详细参考实施方式,实施方式的示例在附图中示出,附图中的相同附图标记指代相同的元件。就这点而言,本公开的实施方式可以具有不同的形式,并且不应被解释为限于本文中列出的描述。因此,下文仅仅通过参考附图来描述实施方式以说明各方面。本文中所用的术语“和/或”包括所列相关条目中的一个或多个条目的任何和所有组合。元件列表之后的诸如“至少一项”的表达修饰整个元件列表,而不是修饰列表中的单个元件。
下文将参考图1到图7B来描述通过执行环路内滤波来用信号表示滤波器参数的视频编码方法和视频解码方法。
此外,下文将参考图8到图20来描述适用于上述视频编码方法和视频解码方法的根据实施方式的基于具有树形结构的编码单元执行的视频编码技术和视频解码技术。此外,下文将参考图21到图27来描述可应用上述视频编码方法和视频解码方法的各种实施方式。
在本公开中,术语“图像”应被理解为包括视频的静态图像或移动图像,即,视频。
在下文中,术语“样本”是指分配到图像的取样位置的数据,即,将被处理的数据。例如,空间域中的图像的像素可以是样本。
术语“当前块(当前颜色块)”是指将被编码或解码的图像的块。例如,当前颜色块可以是将被编码或解码的彩色图像的块。在当前图像以YCrCb格式进行编码或解码时,当前块可以是亮度块、Cr块或Cb块。例如,当前颜色块可以是当前将被编码或解码的当前图片的块。
术语“当前图像”是指包括当前块的图像。例如,当前彩色图像是指包括当前块的彩色图像。具体地,当前彩色图像是指包括将被编码或解码的块的彩色图像。
术语“邻近块(当前块周围的邻近块)”是指当前块的邻近块。例如,邻近块可以位于当前块的上部、右上部、左侧、左下部或左上部。邻近块可以是与当前块邻近的编码或解码的块。
术语“图片”是指由多个静态图像构成的视频的静态图像。根据实施方式,图片可以被理解成静态图像的一部分。当前图片是指图片之中的当前被解码或编码的图片。图片也可以被称为帧。
术语“运动矢量”是指这样的矢量,该矢量表示当使用执行为通过参考另一块来对块进行编码的帧间预测编码对当前块进行编码时将要参考以对当前块进行编码的参考块。运动矢量可以包括限定参考图片的参考图片索引信息和参考图片中的参考块的位置信息。
图片索引信息可以使用当前图片的索引值进行确定。例如,图片索引信息可以被确定为相对于当前图片的索引值的值。图片索引信息可以被确定为当前图片的索引值与参考图片的索引值之间的差。
参考块的位置信息可以使用当前图片中的当前块的位置值进行确定。例如,参考块的位置信息可以被确定为相对于当前块的位置值的值。参考块的位置信息可以被确定为参考块的位置值与当前块的位置值之间的差。
图1A是编码设备10的框图。编码设备10包括编码单元12和比特流生成单元14。编码设备10接收图像、对该图像进行编码并且生成编码的比特流。
编码单元12接收图像。编码单元12执行用于对图像数据进行编码的操作。编码单元12以预测单元为单位对帧内模式编码单元执行帧内预测,所述帧内模式编码单元包括在当前图像中。编码单元12通过使用当前图像和从恢复图片缓冲器中获取的参考图像以预测单元为单位对帧间模式编码单元执行帧间预测,所述帧间模式编码单元包括在当前图像中。
编码单元12通过从当前图像的将被编码的编码单元的数据中去除每个模式的编码单元的预测数据来生成残余数据。编码单元12可以通过以变换单元为单位来量化残余数据而输出变换系数。编码单元12可以将变换系数恢复成空间域中的残余数据。编码单元12可以通过将空间域中的残余数据添加到每个模式的编码单元的预测数据来将空间域中的残余数据恢复成当前图像的编码单元的空间域数据。恢复的图像可以用作对另一图像进行帧间预测的参考图像。
比特流生成单元14接收来自编码单元12的编码图像数据,并且以比特流的形式输出该编码图像数据。比特流生成单元14可以对编码图像数据的二进制表示进行熵编码,以将该编码图像数据转换成较短的二进制表示。比特流生成单元14可以以比特流的形式输出执行了熵编码的编码图像数据。
图1B是由编码设备10执行的编码方法的流程图。首先,编码设备10对图像进行编码(操作S111)。编码设备10可以接收图像。编码设备10以预测单元为单位对帧内模式编码单元执行帧内预测,所述帧内模式编码单元包括在当前图像中。编码设备10通过使用当前图像和使用恢复图片缓冲器而获取的参考图像以预测单元为单位对帧间模式编码单元执行帧间预测,所述帧间模式编码单元包括在当前图像中。
编码设备10通过从当前图像的将被编码的编码单元的数据中去除每个模式的编码单元的预测数据来生成残余数据。编码设备10可以通过以变换单元为单位来量化残余数据而输出变换系数。编码设备10可以将变换系数恢复成空间域中的残余数据。编码设备10可以通过将空间域中的残余数据添加到每个模式的编码单元的预测数据来将空间域中的残余数据恢复成与当前图像的编码单元有关的空间域数据。恢复的图像可以用作对另一图像进行帧间预测的参考图像。
接下来,编码设备10生成比特流(操作S112)。编码设备10以比特流的形式输出编码图像数据。编码设备10可以对编码图像数据的二进制表示进行熵编码,以将该编码图像数据转换成较短的二进制表示。编码设备10可以以比特流的形式输出执行了熵编码的编码图像数据。
图2A是根据实施方式的解码设备20的框图。下文将参考图2A描述根据实施方式的解码设备20。
根据实施方式的解码设备20包括比特流解析单元22和解码单元24。
比特流解析单元22对比特流进行解析,以获取将被解码的编码图像数据和用于对编码图像数据进行解码的编码信息。
解码单元24包括第一解码单元24a、第二解码单元24b和存储器24c。尽管未示出,但根据实施方式的解码设备20还可以包括另一解码单元。尽管图2A只示出两个解码单元,但解码设备20可以包括根据实施方式的所需数量的解码单元。例如,尽管未示出,但解码设备20还可以包括第三解码单元、第四解码单元等。
解码单元24以预测单元为单位对帧内模式解码单元执行帧内预测。解码单元24通过使用参考图像以预测单元为单位对包括在当前图像中的帧间模式编码单元执行帧间预测。
执行了帧内预测或帧间预测的每个模式的编码单元的预测数据可以添加到残余数据,从而恢复当前图像的编码单元的空间域数据。空间域数据可以作为恢复的图像输出。恢复的图像可以用作参考图像。
根据实施方式的解码单元24包括多个解码单元并且执行并行解码。在解码单元24中,解码单元24a和24b以编码单元为单位对编码的图像进行解码,以执行并行解码。
此处,预定编码单元可以是图片。在由连续静态图像构成的移动图像中,图片可以是对应于一小时的静态图像。例如,第一解码单元24a可以对第一图片进行解码,并且第二解码单元24b可以对第二图片进行解码。
根据实施方式,解码单元24可以以图块(tile)为单位执行并行解码。此处,图块是指从图片中划分出的编码单元,并且一个图块可以独立于另一图块进行解码。例如,第一解码单元24a可以对第一图片的第一图块进行解码,并且第二解码单元24b可以对第一图片的第二图块进行解码。
第一解码单元24a和第二解码单元24b可以将编码单元解码成图像,并且图像可以存储在存储器24c中以被输出。存储在存储器24c中的图像可以按图像输出的顺序输出到显示装置等。
下文将参考图2B描述根据实施方式的由图2A的解码设备20执行的并行解码的方法。图2B是根据实施方式的由解码设备20执行的并行解码的方法的流程图。
首先,解码单元24从比特流中获取属于第一图片的当前块的运动矢量(操作S211)。解码单元24可以从比特流中获取当前块的运动矢量。
解码单元24可以对比特流进行解析,以从比特流中获取用于对图像进行解码的多个编码元素。解码单元24可以从比特流中获取用于执行并行解码的编码单元的编码元素。编码元素包括运动矢量以及参考块与当前块的图像数据值之间的差。
执行并行解码的具体编码单元可以是图片。例如,当执行并行解码的具体编码单元是图片时,解码单元24从比特流中获取与具体图片有关的编码元素。在上述解码设备20中,第一解码单元24a可以从比特流中获取与第一图片有关的编码元素,并且第二解码单元24b可以从比特流中获取与第二图片有关的编码元素。当解码设备20包括第三解码单元(未示出)时,第三解码单元可以从比特流中获取与第三图片有关的编码元素。
接下来,解码单元24确定运动矢量所指向的参考块是否被解码(操作S212)。例如,解码单元24可以检查运动矢量所指向的参考块是否被解码并存储在存储器24c中,并且当参考块存储在存储器24c中时确定参考块被解码。解码单元24可以检查运动矢量所指向的参考块是否被解码并存储在存储器24c中,并且当参考块没有存储在存储器24c中时确定参考块未被解码。类似地,当运动矢量所指向的参考块所属的图片的恢复图像存储在存储器24c中时,解码单元24可以确定参考块被解码。
或者,当参考图片根据参考顺序进行解码时,解码单元24可以通过将对参考块进行解码的顺序与对当前正被解码的参考图片的当前块进行解码的顺序相比较来确定当前块是否被解码。例如,当对参考块进行解码的顺序比对当前正被解码的参考图片的当前块进行解码的顺序早时,可以确定参考块被解码。当对参考块进行解码的顺序不比对当前正被解码的参考图片的当前块进行解码的顺序早时,可以确定参考块未被解码。
接下来,基于参考块是否被解码,解码单元24对当前块进行解码(操作S213)。下文将参考图3A到图7B描述由解码单元24执行的基于参考块是否被解码对当前块进行解码的方法。
下文将参考3A到图3D描述由解码设备20执行的执行并行解码的方法。图3A是根据另一实施方式的由解码设备20执行的执行并行解码的方法的流程图。图3B到图3D是示出分别由第一解码单元24a和第二解码单元24b解码的第一图片和第二图片的示意图。
参考图3B到图3D,第一解码单元24a对由(a)表示的第一图片进行解码,并且第二解码单元24b对由(b)表示的第二图片进行解码。因此,根据实施方式的解码设备20可以同时并行地对第一图片和第二图片进行解码。第一解码单元24a可以对在第一图片的解码结束时还未被解码的另一图片进行解码,并且第二解码单元24b可以对在第二图片的解码结束时还未被解码的另一图片进行解码。
为便于说明,如图3B所示,将每个图片的已解码部分311和321示为明亮的,而将每个图片的未解码部分312和322示为深暗的。
参考图3A,首先,第一解码单元24a对第一图片进行解码(操作S311)。第一解码单元24a可以使用普通解码方法对第一图片进行解码。或者,第一解码单元24a可以使用根据实施方式的解码方法对第一图片进行解码。下文对第二解码单元24b的描述适用于第一解码单元24a。
同时,第二解码单元24b对第二图片进行解码。下文将更详细地描述由第二解码单元24b执行的对第二图片进行解码的方法。
首先,第二解码单元24b预先对第二图片进行解析(操作S321)。在恢复第二图片之前,第二解码单元24b预先对编码元素进行解析,以用来对第二图片进行解码。例如,第二解码单元24b可以只对第二图片的编码块进行解析,而不对第二图片的编码块进行解码。
第二解码单元24b可以预先对第二图片的比特流进行解析,以获取属于第二图片的运动矢量。图3B示出图片同时分别被第一解码单元24a和第二解码单元24b解码的情况。如图3B所示,预先被解析的第二图片的编码块323的运动矢量324参考第一图片的未解码区域。第二解码单元24b可以预先对比特流进行解析,以从比特流中获取属于第二图片的相应块的运动矢量。
接下来,第二解码单元24b确定第二图片的解码延迟时间(操作S323)。第二解码单元24b可以确定运动矢量所指向的参考块是否被解码。当由从比特流中获取的运动矢量参考以对第二图片进行解码的所有参考块都已经被解码时,第二解码单元24b可以将第二图片的解码延迟时间确定为“0”。
当运动矢量所参考的参考块中的至少一个未被解码时,第二解码单元24b确定至少一个参考块中的在最晚时间点解码的延迟最多的参考块将被解码的时间点。例如,当参考图片根据参考顺序进行解码时,第二解码单元24b可以通过将对参考块进行解码的顺序与对当前正被解码的参考图片的当前块进行解码的顺序相比较来预测延迟最多的参考块将被解码的时间点。此外,第二解码单元24b可以基于延迟最多的参考块将被解码的时间点来确定第二图片的解码延迟时间。
第二解码单元24b可以基于运动矢量的竖直分量值或图片中包括的参考块的竖直坐标来确定延迟最多的参考块。例如,第二解码单元24b可以将由属于第二图片的运动矢量之中的具有最高竖直分量值的运动矢量所指向的参考块确定为延迟最多的参考块。
作为另一示例,第二解码单元24b可以基于第二图片中的编码块的位置和由将用来对编码块进行解码的运动矢量所确定的参考块的位置,将参考块之中的在最晚时间解码的参考块确定为延迟最多的参考块。
例如,第二解码单元24b可以通过将编码块的竖直位置值和编码块的运动矢量的竖直分量值相加来确定参考图片中的参考块的竖直位置。第二解码单元24b可以计算多个参考块的竖直位置,如上文所述,并且在考虑对图片的块进行解码的顺序的同时确定延迟最多的参考块。例如,当位于图片的第一行中的编码块首先被解码并且位于图片的其他行中的编码块相继被解码时,可以将位于图片的最后一行中的参考块确定为延迟最多的参考块。
另外,参考块可以存在于多个参考图片中。在这种情况下,第二解码单元24b可以根据上述方法来确定将在最晚时间被解码的参考图片中包括的参考块之中的延迟最多的参考块。
通过使用如上文所述计算的延迟最多的参考块,第二解码单元24b可以计算延迟最多的参考块将被解码的时间,并且确定第二图片的解码延迟时间,使得第二图片的解码在所计算的时间之后开始。
或者,第二解码单元24b可以计算延迟最多的参考块被解码的时间与通过参考延迟最多的参考块而对块进行解码的时间之间的时间差,并且确定第二图片的解码延迟时间,使得第二图片的解码在所计算的时间差之后开始。
接下来,在经历解码延迟时间之后,第二解码单元24b对第二图片进行解码(操作S325)。如图3C所示,第二解码单元24b可以通过将第二图片的解码延迟由参考图片的参考块被解码时的时间点所确定的解码延迟时间而刚好在参考块被解码之后对第二图片进行解码。根据另一实施方式,如图3D所示,第二解码单元24b可以通过将第二图片的解码延迟由参考图片的解码结束时的时间点所确定的解码延迟时间而在参考图片被解码之后对第二图片进行解码。在经历解码延迟时间之后,第二解码单元24b可以通过使用解码的参考块对当前块323进行解码来对第二图片进行解码。
下文将参考4A描述根据另一实施方式的由解码设备20执行的并行解码的方法。图4A是根据另一实施方式的由解码设备20执行的并行解码的方法的流程图。
首先,如上文所述,第一解码单元24a对第一图片进行解码(操作S411)。同时,如图4B所示,第二解码单元24b对第二图片进行解码。图4B示出由第一解码单元24a和第二解码单元24b执行解码的情况。参考图4B,第一解码单元24a对当前块413进行解码,以对第一图片a进行解码,并且第二解码单元24b对当前块423进行解码,以对第二图片b进行解码。
第二解码单元24b获取当前块的运动矢量,以对当前块进行解码(操作S421)。参考图4C,第二解码单元24b获取当前块423的运动矢量424,以对当前块423进行解码。例如,第二解码单元24b对第二图片的至少一个块进行解码,随后获取当前块的运动矢量,以对当前块进行解码。
接下来,第二解码单元24b确定运动矢量所指向的参考块是否被解码(操作S423)。参考图4C,第二解码单元24b确定解码的参考块是否被当前块423的运动矢量424参考,以对当前块423进行解码。参考图4C,第一图片的未解码区域412由当前块423的运动矢量424指向。因此,在图4C中,第二解码单元24b确定未解码参考块被当前块423的运动矢量424参考。
接下来,当运动矢量所指向的参考块未被解码时,第二解码单元24b在参考块被解码之前待机(操作S425)。在参考块被解码之前第二解码单元24b处于待机状态而没有对第二图片进行解码的同时,第一解码单元24a持续对第一图片进行解码。
当参考块被解码时,第二解码单元24b对当前块进行解码(操作S427)。参考图4D,当参考块被解码时,第二解码单元24b可以通过使用解码的参考块预测当前块423对当前块423进行解码。
第二解码单元24b可以持续地检查参考块是否被解码。例如,第二解码单元24b可以检查解码的参考块是否存储在存储器24c中。此处,存储器24c可以在如上文所述的第一解码单元24a与第二解码单元24b之间共享。第一解码单元24a和第二解码单元24b可以将解码的图像存储在存储器24c中。
或者,第二解码单元24b可以请求第一解码单元24a告知参考块是否被解码。在第一解码单元24a对参考块进行解码之后,响应于来自第二解码单元24b的请求,第一解码单元可以将告知参考块被解码的消息传输到第二解码单元24b。当第二解码单元24b接收到来自第一解码单元24a的消息时,第二解码单元24b可以确定参考块被解码。
不同于上文参考图4A描述的方法,第二解码单元24b可以只待机预设时间,直到参考块被解码为止,并且当参考块在预设时间内未被解码时,通过新设置运动矢量对当前块进行解码,如下文将参考图4E所述。图4E是根据另一实施方式的由解码设备20执行的并行解码的方法的流程图。
第二解码单元24b可以获取当前块的运动矢量(操作S421)、确定由运动矢量所指向的参考块是否被解码(操作S423),并且在参考块未被解码时,在参考块被解码之前待机(操作S425),类似于图4A的方法。
当参考块在预设时间内解码时,第二解码单元24b可以使用参考块对当前块进行解码(操作S427)。例如,当参考块在预设时间内被解码时,第二解码单元24b可以取消待机,并且使用参考块对当前块进行解码,以继续对第二图片进行解码。第二解码单元24b检查在预设时间之后参考块是否被解码,并且在参考块被解码时,使用参考块对当前块进行解码,以继续对第二图片进行解码。
当参考块在预设时间内未被解码时,第二解码单元24b可以通过改变运动矢量来确定新参考块(操作S428)。例如,第二解码单元24b可以根据如下文将参考图5A到图7B描述的改变运动矢量的方法来改变运动矢量。随后,第二解码单元24b可以使用新参考块对当前块进行解码(操作S429)。
第二解码单元24b在参考块被解码之前待机的预设时间可以通过对当前图片的运动矢量进行解析来确定。例如,在编码块的解码开始时的预测时间点比在由编码块参考的参考块的解码开始时的预测时间点早预定时间的情况下,在参考块被解码之前编码块的解码待机的时间设置为“0”。因此,可以通过参考除了由从比特流中解析的运动矢量所指向的参考块之外的参考块来对编码块进行解码。
下文将参考5A到图7B描述根据另一实施方式的由解码设备20执行的改变运动矢量的方法。
图5A是根据另一实施方式的由解码设备20执行的通过改变运动矢量来执行并行解码的方法的流程图。下文将参考5A描述根据另一实施方式的由解码设备20执行的通过改变运动矢量来执行并行解码的方法。
第一解码单元24a对第一图片进行解码(操作S511)。在第一解码单元24a对第一图片进行解码的同时,第二解码单元24b对第二图片进行解码。现在将描述第二解码单元24b的操作。如上文所述,第二解码单元24b的操作也可以应用于第一解码单元24a。
首先,第二解码单元24b获取当前块的运动矢量(操作S521)。第二解码单元24b可以使用合并模式或AMVP模式来导出当前块的运动矢量。当使用合并模式或AMVP模式来导出当前块的运动矢量时,第二解码单元可以在不改变将要参考的其他运动矢量的情况下获取当前块的运动矢量。
接下来,第二解码单元24b确定运动矢量所指向的参考块是否被解码(操作S523)。
接下来,当参考块未被解码时,第二解码单元24b改变运动矢量,以指向第一图片的块之中的已解码的块(操作S525)。例如,当参考块未被解码时,第二解码单元24b改变运动矢量,以参考另一参考块。第二解码单元24b可以改变运动矢量,以参考第一图片的块之中的已解码的块。接下来,第二解码单元24b使用由改变的运动矢量所指向的参考块对当前块进行解码(操作S527)。
图5B是根据另一实施方式的由解码设备20执行的通过改变运动矢量来执行并行解码的方法的流程图。
将着重描述描述图5B的方法与图5A的方法不同。
不同于图5A的方法中的操作S525,可以执行图5B中示出的操作S525a,其中改变运动矢量的竖直分量值,以在参考块未被解码时指向第一图片的解码区域上的一个位置。第二解码单元24可以改变运动矢量的竖直分量值,以指向第一图片的解码区域上的位置。接下来,第二解码单元24b可以使用由改变的运动矢量所指向的参考块对当前块进行解码(操作S527)。
图5C是示出图5B所示的由解码设备20执行的通过改变运动矢量来执行并行解码的方法的示意图。下文将参考图5C更详细地描述操作S525a。
第二解码单元24b可以检查由当前块的运动矢量524所指向的区域是否被解码。参考图5C,由当前块的运动矢量524所指向的区域指向第一图片a的未解码区域512。因此,第二解码单元24b可以确定当前块的运动矢量524指向未解码的参考块。
因此,第二解码单元24b可以改变当前块的运动矢量524,以指向第一图片a的解码区域511。参考图5C,第二解码单元24b可以通过改变运动矢量524的竖直分量值来生成新运动矢量525,以指向第一图片a的解码区域511。例如,第二解码单元24b可以将参考块的位置信息中包括的运动矢量524的参考块的位置的竖直分量值改变成作为参考图片的第一图片a的解码区域之中的在竖直方向上与运动矢量最相邻的解码区域的竖直分量值。
当按照从第一行到最后一行相继地执行解码的栅格顺序执行解码时,当前正被解码的图片的块可以是解码区域的最深块。基于这个事实,第二解码单元24b可以将运动矢量524的竖直分量值改变成与当前正被解码的第一图片a(参考图片)的当前块513相邻的上部块的竖直分量值。
图6A是根据另一实施方式的由解码设备20执行的通过改变运动矢量来执行并行解码的方法的流程图。
将着重描述描述图6A的方法与图5A的方法不同。
不同于图5A的方法中的操作S525,可以执行图6A中示出的操作S525b,其中改变运动矢量的参考图片值,以在参考块未被解码时指向另一被解码的图片。第二解码单元24b可以改变运动矢量的参考图片值,以指向已解码的块。接下来,第二解码单元24b可以使用由改变的运动矢量所指向的参考块对当前块进行解码(操作S527)。
图6B是示出图6A所示的由解码设备20执行的通过改变运动矢量来执行并行解码的方法的示意图。下文将参考图6B更详细地描述操作S525b。
第二解码单元24b可以检查由当前块的运动矢量524所指向的区域是否被解码。参考图6B,当前块的运动矢量524指向第一图片的未解码区域512。因此,第二解码单元24b可以确定当前块的运动矢量524指向未解码的参考块。
因此,第二解码单元24b可以改变当前块的运动矢量524,以指向第一图片的解码区域511。参考图6B,第二解码单元24b可以通过改变运动矢量524的参考图片值来生成新运动矢量526,以指向已经被解码的第三图片10的区域。
第二解码单元24b可以使用被解码并存储在存储器24c中的恢复图片的索引来更新运动矢量524的参考图片索引信息。例如,第二解码单元24b可以将运动矢量524的参考图片值更新成在与被解码的图片之中的作为参考图片的第一图片a播放时的时间点最接近的时间点播放的图片的图片索引值,或者在与被解码的图片之中的第一图片a被解码时的时间点最接近的时间点解码的图片的图片索引值。
尽管图片的所有区域都未被解码,但第二解码单元24b可以通过改变运动矢量524的参考图片值来更新运动矢量524的参考图片索引信息,使得解码的图片被确定为由运动矢量524参考的图片中的块的参考图片。
图7A是根据另一实施方式的由解码设备20执行的通过改变运动矢量来执行并行解码的方法的流程图。
将着重描述描述图7A的方法与图5A的方法不同。
不同于图5A的操作S525,可以执行图7A的操作S525c,其中当参考块未被解码时,将当前运动矢量更改成至少一个邻近块的运动矢量之中的指向已解码的参考块的运动矢量。例如,第二解码单元24b可以选择属于将被解码的第二图片并且位于当前块附近的邻近块中的一个邻近块。随后,第二解码单元24b可以将当前运动矢量改变成至少一个邻近块的运动矢量之中的指向已解码的参考块的运动矢量。随后,第二解码单元24b可以使用由改变的运动矢量所指向的已解码的参考块对当前块进行解码(操作S527)。
图7B是示出图7A所示的由解码设备20执行的通过改变运动矢量来执行并行解码的方法的示意图。下文将参考图7B更详细地描述操作S525c。
在图7B中,由第二解码单元24b解码的第二图片b的当前块523的运动矢量524指向由第一解码单元24a解码的第一图片a的未解码区域。因此,第二解码单元24b可以通过将当前块523的运动矢量524替换成邻近块527的运动矢量528来确定当前块523的参考块。
尽管图7只示出位于当前块523的上部的块527作为邻近块,但在执行解码时,位于当前块523的左侧、左上部和右上部的块也可以被称为邻近块。
图8是根据实施方式的基于具有树形结构的编码单元的视频编码设备800的框图。根据实施方式的配置成执行并行解码的并行解码设备可以包括下文将描述的视频编码设备800的元件。
根据实施方式的基于具有树形结构的编码单元来执行视频预测的视频编码设备800包括最大编码单元分割单元810、编码单元确定单元820和输出单元830。为便于说明,根据实施方式的基于具有树形结构的编码单元来执行视频预测的视频编码设备800将被简称为“视频编码设备800。
编码单元确定单元820可以基于最大编码单元来分割图像的当前图片,所述最大编码单元是当前图片的最大尺寸的编码单元。如果当前图片大于最大编码单元,那么可以将当前图片的图像数据分割成至少一个最大编码单元。根据实施方式,最大编码单元可以是正方形数据单元,它们的宽度和高度长度均是“2”的较高次幂,例如,32×32编码单元、64×64编码单元、128×128编码单元、256×256编码单元等。
根据实施方式,可以使用最大尺寸和深度来限定编码单元。此处,术语“深度”是指将最大编码单元空间分割成编码单元的次数。随着深度增加,每个深度的编码单元可以从最大编码单元分割到最小编码单元。最大编码单元的深度可以被限定为最浅深度,并且最小编码单元可以被限定为最深编码单元。随着最大编码单元的深度增加,与深度对应的编码单元的尺寸减小。因此,一个较浅深度的编码单元可以包括多个较深深度的编码单元。
如上文所述,根据编码单元的最大尺寸将当前图片的图像数据分割成最大编码单元,并且每一最大编码单元包括根据深度分割的编码单元。根据实施方式,最大编码单元根据深度进行分割,因此,最大编码单元中包括的空间域图像数据可以根据深度进行分层分类。
限制最大编码单元的高度和宽度可以进行分层分割的总次数的最大深度和编码单元的最大尺寸可以预先设置。
编码单元确定单元820通过根据深度对至少一个分割区域进行编码来确定将针对从最大编码单元分割的至少一个分割区域中的每个输出最终编码结果所处的深度。换言之,编码单元确定单元820根据深度以编码单元为单位对当前图片的每一最大编码单元的图像数据进行编码,并且将出现最小编码误差所处的深度确定为最终深度。所确定的最终深度和每一最大编码单元中包括的图像数据输出到输出单元830。
每一最大编码单元中包括的图像数据根据小于或等于最大深度的至少一个深度基于与深度对应的编码单元进行编码,并且基于与深度对应的编码单元对图像进行编码的结果彼此相比较。通过比较与深度对应的编码单元的编码误差可以选择出现最小编码误差所处的深度。针对每一最大编码单元,可以确定至少一个最终深度。
随着深度增加,最大编码单元分层地分割成编码单元,因此,编码单元的数量增加。即使具有相同深度的编码单元包括在一个最大编码单元中,也要针对这些编码单元中包括的数据来测量编码误差,并且确定是否将这些编码单元分割成较深深度的编码单元。因此,由于以深度为单位,根据数据项的位置甚至在一个最大编码单元中包括的数据项中可出现不同的编码误差,因此,最终深度可以根据数据的位置而改变。因此,可以针对一个最大编码单元来设置至少一个最终深度,并且可以根据至少一个最终深度的编码单元来分割最大编码单元的数据。
因此,根据实施方式,编码单元确定单元820可以确定当前最大编码单元中包括的树形结构编码单元。根据实施方式,“树形结构编码单元”包括与所有深度对应的编码单元之中的具有确定为最终深度的深度并且包括在当前最大编码单元中的编码单元。具有最终深度的编码单元在最大编码单元的相同区域中分层地确定,并且可以在最大编码单元的不同区域中独立确定。类似地,当前区域的最终深度可以独立于另一区域的最终深度进行确定。
根据实施方式,最大深度是与最大编码单元进行分割以获取最小编码单元的次数有关的索引。根据实施方式,第一最大深度可以表示最大编码单元进行分割以获取最小编码单元的总次数。根据实施方式,第二最大深度可以表示从最大编码单元到最小编码单元的总层级数。例如,当最大编码单元具有深度0时,通过将最大编码单元分割一次而获取的编码单元的深度可以设置为“1”,并且通过将最大编码单元分割两次而获取的编码单元的深度可以设置为“2”。在这种情况下,当通过将最大编码单元分割四次而获取的编码单元是最小编码单元时,那么深度“0”、“1”、“2”、3和“4”是深度等级。因此,第一最大深度可以设置为“4”,并且第二最大深度可以设置为“5”。
可以在最大编码单元上执行预测编码和变换。类似地,可以根据小于或等于最大深度的深度,基于与深度对应的编码单元,在每一最大编码单元上执行预测编码和变换。
每当最大编码单元根据每一深度进行分割时,与每一深度对应的编码单元的数量便增加。因此,随着深度增加,可以在根据所有深度生成的编码单元上执行包括预测编码和变换的编码。为便于说明,现在将描述基于至少一个最大编码单元之中的具有当前深度的编码执行的预测编码和变换。
根据实施方式,视频编码设备800可以不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。对图像数据执行各种操作,例如,预测编码、变换、熵编码等,以对图像数据进行编码。在操作中可以使用相同的数据单元或者可以使用不同的数据单元。
例如,视频编码设备800不仅可以选择用于对图像数据进行编码的编码单元,而且还可以选择不同于编码单元的数据单元,以在与每一编码单元对应的图像数据上执行预测编码。
根据实施方式,关于对最大编码单元进行预测编码,可以基于具有最终深度的编码单元,即,不再能分割的编码单元来执行预测编码。在下文中,不再能分割并且基于此执行预测编码的编码单元将被称为“预测单元”。从预测单元分割的分区可包括预测单元和通过分割预测单元的高度和宽度中的至少一个而获得的数据单元。分区是从编码单元的预测单元分割的数据单元,并且预测单元可以与编码单元具有相同尺寸。
例如,当尺寸为2N×2N的编码单元不再能分割时,可以将编码单元用作尺寸为2N×2N的预测单元,并且可以从分区中分割尺寸为2N×2N、2N×N、N×2N、N×N等分区。此处,“N”表示正整数。根据实施方式,分区模式可以选择性地包括:通过以对称的比例分割预测单元的高度或宽度而获取的对称分区;通过以不对称的比例(例如,1:n或n:1)分割预测单元的高度或宽度而获取的分区;通过将预测单元分割成几何图案、任意形状的图案等而获取的分区。
预测单元的预测模式可以是帧内模式、帧间模式和跳跃模式之中的至少一个。例如,可以在尺寸为2N×2N、2N×N、N×2N或N×N的分区上执行帧内模式或帧间模式。可以只在尺寸为2N×2N的分区上执行跳跃模式。可以在编码单元中包括的每一预测单元上独立地执行编码,并且可以选择具有最小编码误差的预测模式。
根据实施方式,视频编码设备800可以基于用于对图像数据进行编码的编码单元和不同于编码单元的数据单元来变换编码单元的图像数据。为了变换编码单元,可以基于尺寸等于或小于编码单元的变换单元来执行变换。例如,变换单元可以包括用于帧内模式的数据单元和用于帧间模式的变换单元。
类似于根据实施方式的具有树形结构的编码单元,编码单元中包括的变换单元可以递归地分割成更小尺寸的变换单元,使得基于具有树形结构的变换单元,根据变换深度来分割编码单元的残余数据。
根据实施方式,可以设置表示分割编码单元的高度和宽度以获取变换单元的次数的变换深度。例如,当尺寸为2N×2N的当前编码单元的变换单元的尺寸为2N×2N时,变换深度可以设置为“0”,当尺寸为2N×2N的当前编码单元的变换单元的尺寸为N×N时,变换深度可以设置为“1”,并且当尺寸为2N×2N的当前编码单元的变换单元的尺寸为N/2×N/2变换单元时,变换深度可以设置为“2”。换言之,具有树形结构的变换单元也可以根据变换深度进行设置。
根据深度的分割信息不仅包括深度,而且还包括预测相关信息和变换相关信息。基于分割信息,编码单元确定单元820不仅可以确定出现最小编码误差所处的深度,而且可以确定用于将预测单元分割成分区的分区模式、每一预测单元的分区模式、用于执行变换的变换单元的尺寸等。
根据实施方式,下文将参考图9到图19详细地描述确定具有树形结构的编码单元、预测单元/分区和最大编码单元的变换单元的方法。
编码单元确定单元820可以通过使用基于拉格朗日乘子的率失真优化来测量与每一深度对应的编码单元的编码误差。
输出单元830以比特流的形式输出基于由编码单元确定单元820确定的至少一个深度和与每一深度对应的分割信息而编码的最大编码单元的图像数据。
编码的图像数据可以是对图像的残余数据进行编码的结果。
与每一深度对应的分割信息可以包括与深度有关的信息、与分区单元的分区模式有关的信息、与预测模式有关的信息、变换单元的分割信息等。
与最终深度有关的信息可以使用分割信息进行限定,所述分割信息与每一深度对应并且表示是否使用较深深度的编码单元而非当前编码单元来执行编码。在当前编码单元的当前深度是最终深度时,在当前深度上对当前编码单元进行编码,因此,可以限定当前深度的分割信息,使得当前深度的当前编码单元不再分割成较深深度的较深编码单元。相反,在当前编码单元的当前深度不是最终深度时,可以使用较深深度的编码单元对当前编码单元进行编码,因此,可以限定当前深度的分割信息,使得当前编码单元分割成较深深度的编码单元。
在当前深度不是最终深度时,在分割成较深深度编码单元的编码单元上执行编码。由于较深深度的至少一个编码单元存在于当前深度的编码单元中,因此,可以在较深深度的至少一个编码单元上重复执行编码,从而对相同深度的编码单元递归地进行编码。
针对一个最大编码单元确定具有树形结构的编码单元,并且可以针对每一深度的编码单元来确定至少一项分割信息。因此,可以针对一个最大编码单元确定至少一项分割信息。此外,最大编码单元的数据可以根据深度分层地分割。因此,深度可以根据最大编码单元的每项数据的位置而改变。因此,可以针对数据中的每项来设置深度和分割信息。
因此,根据实施方式,输出单元830可以将与对应深度和编码模式有关的编码信息分配到最大编码单元中包括的编码单元、预测单元和最小单元中的至少一个。
根据实施方式,最小单元是通过将最深深度的最小编码单元分割成四项而获得的正方形数据单元。根据实施方式,最小单元可以是包括在最大编码单元所包括的编码单元、预测单元、分区单元和变换单元中的每个中的最大正方形数据单元。
例如,经由输出单元830输出的编码信息可以分类成与深度对应的编码单元中的每一编码单元的编码信息和每一预测单元的编码信息。与深度对应的编码单元中每一编码单元的编码信息可以包括预测模式信息和分区尺寸信息。以预测单元为单位传输的编码信息可以包括与估计帧间模式的方向有关的信息、与帧间模式的参考图像索引有关的信息、与运动矢量有关的信息、与帧内模式的色度分量有关的信息、与帧内模式的内插法有关的信息等。
与以图片、截片或图片组(GOP)为单位限定的编码单元的最大尺寸有关的信息以及与最大深度有关的信息可以插入到比特流的标头、序列参数集或图像参数集等中。
与当前视频准许的变换单元的最大尺寸有关的信息以及与变换单元的最小尺寸有关的信息也可以使用比特流的标头、序列参数集或图片参数集等输出。输出单元830可以对与执行预测相关的参考信息、预测信息、截片类型信息等进行编码并输出这些信息。
在根据最简单实施方式的视频编码设备800中,通过将上一层的较高编码单元的高度和宽度一分为二来获取与深度对应的编码单元。换言之,在当前深度的编码单元的尺寸是2N×2N时,较深深度的编码单元的尺寸是N×N。2N×2N当前编码单元可以包括四个或更少的较深深度的N×N编码单元。
因此,通过基于最大编码单元的尺寸和考虑到当前图片的特征而确定的最大深度来确定每个最大编码单元的具有最佳形状和尺寸的编码单元,视频编码设备800可以形成具有树形结构的编码单元。此外,可以使用各种预测模式、各种变换方法等对每一最大编码单元进行编码。因此,可以根据具有各种尺寸的图像的编码单元的图像特征来确定最佳编码模式。
因此,当以现有宏块为单位对具有很高分辨率的图像或包括大量数据的图像进行编码时,单位图片的宏块数量过大。在这种情况下,由于针对每一宏块生成的压缩信息量较大,因此,传输压缩信息的负担较大,并且数据压缩效率降低。因此,根据实施方式,视频编码设备能够基于图像的特征来控制编码单元,同时根据图像的尺寸来增加编码单元的最大尺寸,从而提高压缩图像的效率。
包括上文参考图1A描述的元件的层间视频编码设备可以包括视频编码设备800,其数量等于多层视频的层的数量,以对单层图像进行编码。例如,第一层编码单元可以包括一个视频编码设备800,并且第二层编码单元可以包括数量等于第二层的数量的视频编码设备800。
当视频编码设备800配置成对第一层图像进行编码时,编码单元确定单元820可以以每一最大编码单元的具有树形结构的编码单元为单位来确定用于帧间图像预测的预测单元,并且在每一预测单元上执行帧间图像预测。
类似地,当视频编码设备800配置成对第二层图像进行编码时,编码单元确定单元820可以确定具有树形结构的编码单元和用于每一最大编码单元的预测单元,并且在每一预测单元上执行帧间图像预测。
视频编码设备800可以对第一层图像与第二层图像的亮度之间的差异进行编码,以补偿该差异。然而,可以根据编码单元的编码模式来确定是否执行亮度补偿。例如,可以只在尺寸为2N×2N的预测单元上执行亮度补偿。
图9是根据实施方式的基于具有树形结构的编码单元的视频解码设备900的框图。
根据实施方式的配置成基于具有树形结构的编码单元来执行视频预测的视频解码设备900包括接收单元910、图像数据与编码信息提取单元920以及图像数据解码单元930。为便于说明,根据实施方式的配置成基于具有树形结构的编码单元来执行视频预测的视频解码设备900将被简称为“视频解码设备900”。
根据实施方式,与视频解码设备900的解码操作相关的各种术语“编码单元”、“深度”、“预测单元”、“变换单元”、“分割信息”等如上文参考示出视频编码设备800的图8所限定。
接收单元910接收并解析编码视频的比特流。图像数据与编码信息提取单元920基于具有树形结构的编码单元以最大编码单元为单位从解析的比特流中提取针对每一编码单元编码的图像数据,并且将提取的编码图像数据输出到图像数据解码单元930。图像数据与编码信息提取单元920可以从当前图片的标头、序列参数集或图片参数集中提取与当前图片的编码单元的最大尺寸有关的信息。
此外,图像数据与编码信息提取单元920以最大编码单元为单位从解析的比特流中提取与具有树形结构的编码单元有关的最终深度和分割信息。提取的最终深度和分割信息输出到图像数据解码单元930。换言之,图像数据的比特串可以分割成最大编码单元,使得图像数据解码单元930可以以最大编码单元为单位对图像数据进行解码。
针对至少一项深度信息,可以设置用于每一最大编码单元的深度和分割信息。与每一深度对应的分割信息可以包括分区模式信息、与对应编码单元有关的分区模式信息、变换单元的分割信息等。此外,与每一深度对应的分割信息可以被提取作为深度信息。
通过在根据实施方式的视频编码设备800的编码侧对与最大编码单元中的深度对应的编码单元重复地执行编码,通过生成最小编码误差来确定由图像数据与编码信息提取单元920以最大编码单元为单位提取的深度信息和分割信息。因此,视频解码设备900可以通过基于导致出现最小编码误差的编码方法对数据进行解码来恢复图像。
根据实施方式,由于与深度和编码模式有关的编码信息可以分配到对应编码单元、预测单元和最小单元之中的预定数据单元,因此,图像数据与编码信息提取单元920可以基于预定数据单元来提取深度和分割信息。当基于预定数据单元来记录对应最大编码单元的深度和分割信息时,可以将具有相同深度和分割信息的预定数据单元视作包括在相同最大编码单元中。
图像数据解码单元930通过基于每一最大编码单元的深度和分割信息对每一最大编码单元的图像数据进行解码来恢复当前图片。换言之,图像数据解码单元930可以基于针对最大编码单元中包括的具有树形结构的每一编码单元读取的分区模式、预测模式和变换单元来对编码的图像数据进行解码。编码图像数据的解码可以包括预测过程和逆变换过程,所述预测过程包括帧内预测和运动补偿。
图像数据解码单元930可以根据每一编码单元的预测模式和分区、基于每一编码单元的预测单元的预测模式信息和分区模式信息在与深度对应的编码单元上执行帧内预测或运动补偿。
此外,为了以最大编码单元为单位执行逆变换,图像数据解码单元930可以读取用于每一编码单元的根据树形结构的变换单元信息,并且基于变换单元在每一编码单元上执行逆变换。空间域中的编码单元中像素值可以通过逆变换而恢复。
图像数据解码单元930可以通过使用与深度对应的分割信息来确定当前最大编码单元的深度。如果分割信息表示当前深度的当前编码单元不再能分割,那么当前深度是最终深度。因此,图像数据解码单元930可以基于当前深度的编码单元通过使用预测单元的预测模式和分区模式以及变换单元的尺寸信息来对当前最大编码单元的图像数据进行解码。
换言之,可以检查用于编码单元、预测单元和最小单元之中的预定数据单元的编码信息集,并且随后可以将包括含有相同分割信息的编码信息的数据单元共同视作将要由图像数据解码单元930使用相同解码模式解码的一个数据单元。可以通过获取与如上文所述确定的每一编码单元的编码模式有关的信息对当前编码单元进行解码。
包括如上文参考图2A描述的元件的层间视频解码设备可以包括与视角的数量对应的多个视频解码设备900,以通过对所接收的第一层图像流和第二层图像流进行解码来恢复第一层图像和第二层图像。
当接收到第一层图像流时,视频解码设备900的图像数据解码单元930可以将由提取单元920从第一层图像流中提取的第一层图像的样本分成最大编码单元的具有树形结构的编码单元。图像数据解码单元930可以通过以用于帧间图像预测的预测单元为单位在第一层图像的样本的具有树形结构的编码单元上执行运动补偿来恢复第一层图像。
当接收到第二层图像流时,视频解码设备900的图像数据解码单元930可以将由提取单元920从第二层图像流中提取的第二层图像的样本分成最大编码单元的具有树形结构的编码单元。图像数据解码单元930可以通过以用于帧间图像预测的预测单元为单位在第二层图像的样本的具有树形结构的编码单元上执行运动补偿来恢复第二层图像。
提取单元920可以从比特流中获取与亮度误差相关的信息,以补偿第一层图像与第二层图像的亮度之间的差异。可以根据编码单元的编码模式来确定是否执行亮度补偿。例如,可以只在尺寸为2N×2N的预测单元上执行亮度补偿。
因此,视频解码设备900可以获取与当在编码过程中对每一最大编码单元递归地执行编码时出现最小编码误差的编码单元有关的信息,并且使用该信息对当前图片进行解码。换言之,可以对为每一最大编码单元确定的具有树形结构的最佳编码单元的编码图像数据进行解码。
因此,通过基于从编码侧传输的最佳分割信息,使用编码单元的尺寸和根据图像的特征而自适应地确定的编码模式对图像数据有效地解码,甚至可以恢复具有高分辨率的图像或具有大量数据的图像。
图10示出根据实施方式的编码单元的示意图。
编码单元的尺寸可以用宽度×高度来表示,并且编码单元的示例可以包括尺寸为64×64、32×32、16×16和8×8的编码单元。尺寸为64×64的编码单元可以分割成尺寸为64×64、64×32、32×64和32×32的分区。32×32的编码单元可以分割成尺寸为32×32、32×16、16×32和16×16的分区。16×16的编码单元可以分割成尺寸为16×16、16×8、8×16或8×8的分区。尺寸为8×8的编码单元可以分割成尺寸为8×8、8×4、4×8和4×4的分区。
在视频数据1010中,分辨率是1920×1080,编码单元的最大尺寸是64,并且最大深度是2。在视频数据1020中,分辨率是1920×1080,编码单元的最大尺寸是64,并且最大深度是3。在视频数据1030中,分辨率是352×288,编码单元的最大尺寸是16,并且最大深度是1。图10所示的最大深度表示从最大编码单元到最小解码单元的总分割次数。
如果分辨率较高或数据量较大,那么编码单元的最大尺寸可相对较大,从而不仅提高编码效率,而且准确反映图像的特征。因此,分辨率比视频数据1030高的视频数据1010和1020的编码单元的最大尺寸可以是64。
由于视频数据1010的最大深度是2,因此,视频数据1010的编码单元1015可以包括长轴尺寸为64的最大编码单元,以及长轴尺寸为32和16的编码单元,这是因为通过将最大编码单元分割两次,其深度加深两个层。同时,由于视频数据1030的最大深度是1,因此,视频数据1030的编码单元1035可以包括长轴尺寸为16的最大编码单元,以及长轴尺寸为8的编码单元,这是因为通过将最大编码单元分割一次,其深度加深一层。
由于视频数据1020的最大深度是3,因此,视频数据1020的编码单元1025可以包括长轴尺寸为64的最大编码单元,以及长轴尺寸为32、16和8的编码单元,这是因为通过将最大编码单元分割三次,其深度加深三个层。随着深度加深,可以准确地表达详细信息。
图11是根据实施方式的基于编码单元的视频编码单元1100的框图。
根据实施方式,视频编码单元1100执行视频编码设备800的图片编码单元1520的操作,以对图像数据进行编码。具体而言,帧内预测单元1120以预测单元为单位在帧内模式下对当前图像1105的编码单元执行帧内预测。帧间预测单元1115通过使用从当前图像1105和恢复图片缓冲器1110获取的参考图像而以预测单元为单位在帧间模式下对编码单元执行帧间预测。当前图像1105可以分割成最大编码单元,并且可以在最大编码单元上相继地执行编码。在这种情况下,编码可以是从每一最大编码单元中分割的具有树形结构的编码单元。
通过从当前图像1105的已编码的编码单元的数据中去除从帧内预测单元1120或帧间预测单元1115输出的每个模式的编码单元的预测数据,生成残余数据。残余数据在经过变换单元1125和量化单元1130的同时被变换、量化并且输出为在变换单元中量化的变换系数。经量化的变换系数由反量化单元1145和逆变换单元1150恢复成空间域中的残余数据。将空间域中的恢复残余数据添加到从帧内预测单元1120或帧间预测单元1115中输出的每个模式的编码单元的预测数据,以恢复成当前图像1105的编码单元的空间域中的数据。在经过去块化单元1155和样本适应偏移(SAO)执行单元1160的同时,空间域中的恢复数据转换成恢复的图像。恢复的图像存储在恢复图片缓冲器1110中。存储在恢复图片缓冲器1110中的所恢复的图像可以用作对其他图像执行帧间预测的参考图像。由变换单元1125和量化单元1130量化的变换系数可以经过熵编码单元1135,随后在比特流1140中输出。
根据实施方式,为了将视频编码单元1100应用于视频编码设备800,视频编码单元1100的所有元件(即,帧间预测单元1115、帧内预测单元1120、变换单元1125、量化单元1130、熵编码单元1135、反量化单元1145、逆变换单元1150、去块化单元1155、SAO执行单元1160和ALF执行单元1170)基于每一最大编码单元的具有树形结构的每一编码单元来执行操作。
具体地,帧内预测单元1120和帧间预测单元1115可以在考虑当前最大编码单元的最大尺寸和最大深度的同时确定具有树形结构的每一编码单元的分区模式和预测模式。变换单元1125可以确定具有树形结构的每一编码单元中包括的具有四叉树的变换单元是否将被分割。
图12是根据实施方式的基于编码单元的视频解码单元1200的框图。
熵解码单元1215对比特流1205进行解析,以获取将被解码的编码图像数据和用于对编码图像数据进行解码所需的编码信息。编码的图像数据是经量化的变换系数,并且由反量化单元1220和逆变换单元1225从经量化的变换系数中恢复残余数据。
帧内预测单元1240以预测单元为单位在帧内模式下对编码单元执行帧内预测。帧间预测单元1235基于从恢复图片缓冲器1230获取的参考图像而以预测单元为单位在帧间模式下对当前图片的编码单元执行帧间预测。
将在经过帧内预测单元1240或帧间预测单元1235的同时获取的每个模式的编码单元的预测数据和残余数据添加在一起,以恢复当前图像的编码单元的空间域中的数据,并且所恢复的空间域中的数据可以在经过去块化单元1245、SAO执行单元1250和ALF执行单元1260的同时作为输出视频1260输出。将存储在恢复图片缓冲器1230的所恢复的图像可以输出为参考图像。
根据实施方式,为了使用视频解码设备900的图片解码单元930对编码的图像数据进行解码,可以执行在视频解码单元1200的熵解码单元1215的操作之后执行的操作。
为了将视频解码单元1200应用于根据实施方式的视频解码单元1200,视频解码单元1200的所有元件(即,熵解码单元1215、反量化单元1220、逆变换单元1225、帧内预测单元1240、帧间预测单元1235、去块化单元1245、SAO执行单元1250和ALF执行单元1260)可以基于具有树形结构的编码单元、以最大编码单元为单位来执行操作。
具体地,帧内预测单元1240和帧间预测单元1235可以确定具有树形结构的每一编码单元的分区模式和预测模式,并且逆变换单元1225可以确定每一编码单元中包括的具有四叉树的变换单元是否将被分割。
上文参考图10和图11描述的编码操作和解码操作是在单个层处执行的视频流编码操作和视频流解码操作。因此,当图1A的编码单元12对两个或更多层的视频流进行编码时,可以提供两个或更多图像编码单元1100,以分别对应于两个或更多层。类似地,当图2A的解码单元24对两个或更多层的视频流进行解码时,可以提供两个或更多图像解码单元1200,以分别对应于两个或更多层。
图13是示出根据实施方式的与深度和分区对应的编码单元的示意图。
根据实施方式的视频编码设备800和视频解码设备900使用分层编码单元以考虑图像的特征。编码单元的最大高度、最大宽度和最大深度可以根据图像的特征而自适应地确定,或者可以根据用户请求而不同地设置。与深度对应的编码单元的尺寸可以根据编码单元的预定最大尺寸进行确定。
根据实施方式,在根据实施方式的编码单元的分层结构1300中,编码单元的最大高度和最大宽度均是64,并且最大深度是3。最大深度表示从最大编码单元到最小编码单元的总分割次数。根据实施方式,由于深度沿着分层结构1300的竖直轴加深,因此,与深度对应的编码单元中的每一编码单元的高度和宽度均被分割。此外,沿着分层结构1300的水平轴示出作为对与深度对应的编码单元中的每一编码单元进行预测编码的基础的预测单元和分区。
换言之,在编码单元的分层结构1300中,编码单元1310是深度为0并且尺寸为64×64(高度×宽度)的最大编码单元。随着深度沿着竖直轴加深,存在尺寸为32×32且深度为1的编码单元1320、尺寸为16×16且深度为2的编码单元1330,以及尺寸为8×8且深度为3的编码单元1340。尺寸为8×8且深度为3的编码单元1340是最小编码单元。
每一编码单元的预测单元和分区根据每个深度沿着水平轴布置。换言之,如果尺寸为64×64且深度为0的编码单元1310是预测单元,那么预测单元可以分割成编码单元1310中包括的分区,即,尺寸为64×64的分区1310、尺寸为64×32的分区1312、尺寸为32×64的分区1314,或者尺寸为32×32的分区1316。
类似地,尺寸为32×32且深度为1的编码单元1320的预测单元可以分割成编码单元1320中包括的分区,即,尺寸为32×32的分区1320、尺寸为32×16的分区1322、尺寸为16×32的分区1324,以及尺寸为16×16的分区1326。
类似地,尺寸为16×16且深度为2的编码单元1330的预测单元可以分割成编码单元1330中包括的分区,即,尺寸为16×16的分区1330、尺寸为16×8的分区1332、尺寸为8×16的分区1334,以及尺寸为8×8的分区1336。
类似地,尺寸为8×8且深度为3的编码单元1340的预测单元可以分割成编码单元1340中包括的分区,即,尺寸为8×8的分区1340、尺寸为8×4的分区1342、尺寸为4×8的分区1344,以及尺寸为4×4的分区1346。
根据实施方式,视频编码设备800的编码单元确定单元820可以对与最大编码单元1310的深度对应的每一编码单元进行编码,以确定最大编码单元1310的深度。
随着深度加深,与每个深度对应并且包括具有相同范围和尺寸的数据的编码单元的数量增加。例如,需要四个对应于深度2的编码单元来覆盖一个对应于深度1的编码单元中包括的数据。因此,为了将根据深度的相同数据的编码结果进行比较,对应于深度1的编码单元和对应于深度2的四个编码单元均被编码。
为了以深度为单位执行编码,可以通过沿着分层结构1300的水平轴,对与深度对应的编码单元中的每一编码单元的预测单元进行编码来将每一深度的最小编码误差选作代表性编码误差。或者,随着深度沿着分层结构600的竖直轴加深,可以通过以深度为单位执行编码和根据深度来比较最小编码误差而搜索出最小编码误差。最大编码单元1310中具有最小编码误差的深度和分区可以被选作最大编码单元1310的深度和分区模式。
图14是示出根据实施方式的编码单元与变换单元之间的关系的示意图。
根据实施方式的视频编码设备800或视频解码设备900基于尺寸小于或等于最大编码单元的尺寸的编码单元以最大编码单元为单位对图像进行编码或解码。在编码期间,可以基于不大于对应编码单元的数据单元来选择用于执行变换的每个变换单元的尺寸。
例如,在根据实施方式的视频编码设备800或视频解码设备900中,如果编码单元1410的尺寸是64×64,那么可以使用尺寸为32×32的变换单元1420来执行变换。
此外,通过在尺寸为32×32、16×16、8×8和4×4(都小于64×64)的每一变换单元上执行变换,可以对尺寸为64×64的编码单元110的数据进行编码,并且随后可以选择具有最小编码误差的变换单元。
图15示出根据各种实施方式的多项编码信息。
根据实施方式,视频编码设备800的输出单元830可以针对与深度对应的编码单元中的每一编码单元来编码并传输与分区模式有关的信息1500、与预测模式有关的信息1510和与变换单元尺寸有关的信息1520,以作为分割信息。
信息1500表明与通过分割当前编码单元的预测单元而获得的分区的形状的有关信息,所述预测单元作为用于对当前编码单元进行预测编码的数据单元。例如,尺寸为2N×2N的当前编码单元CU_0可分割成下列分区中的任一个:尺寸为2N×2N的分区1502、尺寸为2N×N的分区1504、尺寸为N×2N的分区1506以及尺寸为N×N的分区1508。在这种情况下,信息1500设置成表示下列一个:尺寸为2N×N的分区1504、尺寸为N×2N的分区1506以及尺寸为N×N的分区1508。
信息1510表明每个分区的预测模式。例如,信息1510可以设置成表明信息1500所指向的分区是否将根据帧内模式1512、帧间模式1514或跳跃模式1516进行预测编码。
信息1520表明在当前编码单元上执行变换时将依据的变换单元。例如,所述变换单元可以是第一帧内变换单元1522、第二帧内变换单元1524、第一帧间变换单元1526或者第二帧内变换单元1528。
根据实施方式,视频解码设备900的图像数据与编码信息提取单元920可以针对与深度对应的编码单元中的每一编码单元来提取与分区模式有关的信息1500、与预测模式有关的信息1510以及与变换单元尺寸有关的信息1520,并且将提取的信息用于执行解码。
图16是示出根据实施方式的与深度对应的编码单元的示意图。
分割信息可以用来表示深度变化。分割信息表明当前深度的编码单元是否将被分割成较深深度的编码单元。
用于对深度为0且尺寸为2N_0×2N_0的编码单元1600进行预测编码的预测单元1610可以包括分区模式1618,该分区模式包括:尺寸为2N_0×2N_0的分区模式1612、尺寸为2N_0×N_0的分区模式1614、尺寸为N_0×2N_0的分区模式1616和尺寸为N_0×N_0的分区类型1618。尽管图16只示出通过对称地分割预测单元1610而获取的分区模式1612到1618,但预测单元1610的分区不限于此,而是可以包括不对称分区、具有任意形状的分区、具有几何形状的分区等,如上文所述。
根据每一分区模式,在尺寸为2N_0×2N_0的一个分区、尺寸为2N_0×N_0的两个分区、尺寸为N_0×2N_0的两个分区和尺寸为N_0×N_0的四个分区上重复执行预测编码。根据帧内模式和帧间模式,可以在尺寸为2N_0×2N_0、N_0×2N_0、2N_0×N_0和N_0×N_0的分区上执行预测编码。根据跳跃模式,只在尺寸为2N_0×2N_0的分区上执行预测编码。
如果尺寸为2N_0×2N_0的分区模式1612、尺寸为2N_0×N_0的分区模式1614和尺寸为N_0×2N_0的分区模式1616中的一个分区模式的编码误差是最小的,那么预测单元1610可以不分割成较深深度。
如果尺寸为N_0×N_0的分区模式1618的编码误差是最小的,那么在操作1620中深度可以从0变成1以分割分区模式1618,并且可以在深度为2且尺寸为N_0×N_0的分区模式的编码单元1630上重复执行编码,以搜索最小编码误差。
用于对深度为1且尺寸为2N_1×2N_1(=N_0×N_0)的编码单元1630进行预测编码的预测单元1640可以包括下列分区模式:尺寸为2N_1×2N_1的分区模式1642、尺寸为2N_1×N_1的分区模式1644、尺寸为N_1×2N_1的分区模式1646和尺寸为N_1×N_1的分区模式1648。
如果尺寸为N_1×N_1的分区模式1648的编码误差是最小的,那么在操作1650中,深度从1变成2以分割分区模式948,并且可以在深度为2且尺寸为N_2×N_2的编码单元1660上重复执行编码,以搜索最小编码误差。
当最大深度为d时,根据深度的编码单元可以设置到深度变成(d-1)时,并且分割信息可以设置到深度是(d-2)时。换言之,当在操作1670中在对应于深度(d-2)的编码单元进行分割之后执行编码直到深度为d-1时,用于对深度为(d-1)且尺寸为2N_(d-1)×2N_(d-1)的编码单元1680进行预测编码的预测单元1690可以包括下列分区模式:尺寸为2N_(d-1)×2N_(d-1)的分区模式1692、尺寸为2N_(d-1)×N_(d-1)的分区模式1694、尺寸为N_(d-1)×2N_(d-1)的分区模式1696和尺寸为N_(d-1)×N_(d-1)的分区模式1698。
可以在上述分区模式之中的尺寸为2N_(d-1)×2N_(d-1)的一个分区、尺寸为2N_(d-1)×N_(d-1)的两个分区、尺寸为N_(d-1)×2N_(d-1)的两个分区和尺寸为N_(d-1)×N_(d-1)的四个分区上重复执行预测编码,以搜索具有最小编码误差的分区模式。
即使在尺寸为N_(d-1)×N_(d-1)的分区模式1698具有最小编码误差时,由于最大深度为d,因此,深度为(d-1)的编码单元CU_(d-1)不再分割到更低深度,并且当前最大编码单元1600的深度被确定为(d-1),而且该当前最大编码单元1600的分区模式可以被确定为N_(d-1)×N_(d-1)。此外,由于最大深度为d,因此,不针对深度为(d-1)的编码单元1652来设置分割信息。
数据单元1699可以被称为当前最大编码单元的“最小单元”。根据实施方式的最小单元可以是通过将具有最深深度的最小编码单元分割成4个而获得的正方形数据单元。通过如上文所述重复执行编码,根据实施方式的视频编码设备800可以通过比较根据编码单元1600的深度的编码误差和选择具有最小编码误差的深度来确定深度,并且将对应的分区模式和预测模式设置为深度的编码模式。
因此,将根据深度(即,深度0、1、……、(d-1)和d)的最小编码误差彼此进行比较,并且可以将具有最小编码误差的深度确定为深度。深度、预测单元的分区模式和预测模式可作为分割信息而被编码和传输。此外,由于编码单元从深度0分割到该深度,因此,只有该深度的分割信息设置为0,而除该深度之外的其他深度的分割信息设置为1。
根据实施方式,视频解码设备900的图像数据与编码信息提取单元920可以提取并使用与编码单元1600的深度和预测单元有关的信息,以对分区模式1612进行解码。根据实施方式,视频解码设备900可以基于根据深度的分割信息来将与分割信息“0”对应的深度确定为所述深度,并且将针对所述深度的分割信息用于执行解码。
图17、图18和图19是示出根据实施方式的编码单元、预测单元与变换单元之间的关系的示意图。
编码单元1710是由根据实施方式的视频编码设备800确定的与最大编码的深度对应的编码单元。预测单元1760是与深度对应的相应编码单元1710的预测单元的分区。变换单元1770是相应编码单元1710的变换单元。
在与深度对应的编码单元1710之中,如果最大编码单元的深度是0,那么编码单元1712和1754具有深度1,编码单元1714、1716、1718、1728、1750和1752具有深度2,编码单元1720、1722、1724、1726、1730、1732和1748具有深度3,并且编码单元1740、1742、1744和1746具有深度4。
在预测单元1760之中,从编码单元中分割出一些分区1714、1716、1722、1732、1748、1750、1752和1754。换言之,分区1714、1722、1750和1754是2N×N分区模式,分区1716、1748和1752是N×2N分区模式,并且分区1732是N×N分区模式。编码单元1710的预测单元和分区小于或等于与之对应的编码单元。
在变换单元1770之中,以小于编码单元的数据单元为单位对一些变换单元1752的图像数据进行变换或逆变换。变换单元1714、1716、1722、1732、1748、1750、1752和1754是在与预测单元1760和分区之中的对应预测单元相比时具有不同尺寸或形状的数据单元。换言之,根据实施方式的视频编码设备800和视频解码设备900可以基于不同的数据单元甚至在相同编码单元上执行帧内预测/运动估算/运动补偿以及变换/逆变换。
因此,可以通过以最大编码单元为单位对具有分层结构的编码单元进行递归地编码来确定最佳编码单元,从而获取具有递归树形结构的编码单元。编码信息可以包括与编码单元有关的分割信息、与分区模式有关的信息、与预测模式有关的信息和与变换单元的尺寸有关的信息。
根据实施方式,视频编码设备800的输出单元830可以输出与具有树形结构的编码单元有关的编码信息,并且视频解码设备900的编码信息提取器920可以从接收的比特流中提取与具有树形结构的编码单元有关的编码信息。
分割信息表示当前编码单元是否分割成较深深度的编码单元。如果当前深度“d”的分割信息为0,那么当前编码单元不再分割到较深深度所处的深度是深度。因此,可以针对该深度来限定与分区模式、预测模式和变换单元的尺寸有关的信息。如果当前编码单元根据分割信息进一步分割,那么在较深深度的四个分割编码单元上独立执行编码。
预测模式可以是帧内模式、帧间模式和跳跃模式中的一个。帧内模式和帧间模式可以限定于所有分区模式,而跳跃模式可以只限定于2N×2N分区模式。
与分区模式有关的信息可表明通过对称地分割预测单元的高度或宽度而获取的尺寸为2N×2N、2N×N、N×2N和N×N的对称分区模式,以及通过不对称地分割预测单元的高度或宽度而获取的尺寸为2N×nU、2N×nD、nL×2N和nR×2N的不对称分区模式。可以分别通过以1:3和3:1分割预测单元的高度来获取尺寸为2N×nU和2N×nD的不对称分区模式。可以分别通过以1:3和3:1分割预测单元的宽度来获取尺寸为nL×2N和nR×2N的不对称分区模式。
变换单元的尺寸可以设置为在帧内模式下有两个类型并且在帧间模式下有两个类型。换言之,如果变换单元的分割信息为0,那么变换单元的尺寸可以是2N×2N,等于当前编码单元的尺寸。如果变换单元的分割信息为1,那么可以通过分割当前编码单元来获得变换单元。此外,在尺寸为2N×2N的当前编码单元的分区模式是对称分区模式时,那么变换单元的尺寸可以是N×N,并且在当前编码单元的分区模式是不对称分区模式时,变换单元的尺寸可以是N/2×N/2。
根据实施方式,与具有树形结构的编码单元有关的编码信息可以分配到与深度对应的编码单元、预测单元和最小单元中的至少一个。与深度对应的编码单元可以包括含有相同编码信息的至少一个预测单元和至少一个最小单元。
因此,可以通过比较相邻数据单元的编码信息来确定相邻数据单元是否包括在与相同深度对应的编码单元中。此外,可以使用数据单元的编码信息来确定与深度对应的编码单元。因此,可以确定最大编码单元中的深度的分布。
在这种情况下,当基于邻近数据单元来预测当前编码单元时,可以直接参考并使用邻近当前编码单元的与深度对应的编码单元中的数据单元的编码信息。
根据另一实施方式,如果基于相邻编码单元对当前编码单元进行预测编码,那么可以基于与深度对应的相邻编码单元的编码信息,通过从与深度对应的编码单元之中检测与当前编码单元相邻的数据单元来参考相邻编码单元。
图20是示出根据表1的编码模式信息的编码单元、预测单元与变换单元之间的关系的示意图。
最大编码单元2000包括与深度对应的编码单元2002、2004、2006、2012、2014、2016和2018。在这些编码单元之中,编码单元2018是与深度对应的编码单元,并且分割信息可以设置为“0”。尺寸为2N×2N的编码单元2018的分区模式信息可以设置成表示下列中的一个:2N×2N分区模式2022、2N×N分区模式2024、N×2N分区模式2026、N×N分区模式2028、2N×nU分区模式2032、2N×nD分区模式2034、nL×2N分区模式2036和nR×2N分区模式2038。
变换单元分割信息(即,Tu尺寸标记)是一种变换索引。与变换索引对应的变换单元的尺寸可以根据编码单元的预测单元类型或分区模式而改变。
例如,如果分区模式信息设置成表示下列对称分区模式中的一个:2N×2N分区模式2022、2N×N分区模式2024、N×2N分区模式2026和N×N分区模式2028,那么当变换单元分割信息为“0”时可以设置尺寸为2N×2N的变换单元2042,并且当变换单元分割信息为“1”时可以设置尺寸为N×N的变换单元2044。
如果分区模式信息设置成表示下列不对称分区模式中的一个:2N×nU分区模式2032、2N×nD分区模式2034、nL×2N分区模式2036和nR×2N分区模式2038,那么当变换单元分割信息(TU尺寸标记)为0时可以设置尺寸为2N×2N的变换单元2052,并且当变换单元分割信息(TU尺寸标记)为1时可以设置尺寸为N/2×N/2的变换单元2054。
尽管上文参考图19描述的变换单元分割信息(TU尺寸标记)是值为0或1的标记,但根据实施方式的变换单元分割信息不限于1比特标记,并且可以根据设置而设置成增加至0、1、2、3……,使得变换单元分层地分割。变换单元分割信息可以是变换索引的实施方式。
在这种情况下,根据实施方式,实际使用的变换单元的尺寸可以通过使用变换单元分割消息以及变换单元的最大尺寸和最小尺寸一起来表示。根据实施方式,视频编码设备800可以对最大变换单元尺寸信息、最小变换单元尺寸信息和最大变换单元分割信息进行编码。对最大变换单元尺寸信息、最小变换单元尺寸信息和最大变换单元分割信息进行编码的结果可插入到SPS。根据实施方式,视频解码设备900可以通过使用最大变换单元尺寸信息、最小变换单元尺寸信息和最大变换单元分割信息来对视频进行解码。
例如,(a)在当前编码单元的尺寸是64×64并且变换单元的最大尺寸是32×32的情况下:(a-1)当变换单元分割信息为“0”时,变换单元的尺寸可以设置成32×32;(a-2)当变换单元分割信息为“1”时,变换单元的尺寸可以设置成16×16;以及(a-3)当变换单元分割信息为“2”时,变换单元的尺寸可以设置成8×8。
作为另一示例,(b)在当前变换单元的尺寸为32×32并且变换单元的最大尺寸为32×32的情况下:(b-1)当变换单元分割信息为“0”时,变换单元的尺寸可以设置成32×32。此处,变换单元分割信息无法设置成除了0之外的值,这是因为变换单元的尺寸不能小于32×32。
作为另一示例,(c)在当前编码单元的尺寸为64×64并且最大变换单元分割信息为“1”时,变换单元分割信息可以是“0”或“1”。此处,变换单元分割信息不能设置成除了0或1之外的值。
因此,如果将最大变换单元分割信息限定为“MaxTransformSizeIndex”,将最小变换单元尺寸限定为“MinTransformSize”并且在变换单元分割信息为“0”时将变换单元尺寸限定为“RootTuSize”,那么可以在当前编码单元中确定的最小变换单元尺寸“CurrMinTuSize”可以由下式限定:
CurrMinTuSize
=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))...(1)
与可以在当前编码单元中确定的最小变换单元尺寸CurrMinTuSize相比,在变换单元分割信息为“0”时的变换单元尺寸RootTuSize可以表示系统中可选择的最大变换单元尺寸。在等式(1)中,“RootTuSize/(2^MaxTransformSizeIndex)”表示在变换单元分割信息为“0”时变换单元尺寸RootTuSize被分割对应于最大变换单元分割信息的次数时的变换单元尺寸,并且“MinTransformSize”表示最小变换尺寸。因此,“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”之中的较小值可以是可在当前编码单元中确定的最小变换单元尺寸CurrMinTuSize。
根据实施方式,最大变换单元尺寸RootTuSize可以根据预测模式而改变。
例如,如果当前预测模式是帧间模式,那么“RootTuSize”可以根据下列等式(2)来确定。在等式(2)中,“MaxTransformSize”表示最大变换单元尺寸,并且“PUSize”表示当前预测单元尺寸。
RootTuSize=min(MaxTransformSize,PUSize).........(2)
换言之,如果当前预测模式是帧间模式,那么在变换单元分割信息为“0”时,变换单元尺寸RootTuSize可以是最大变换单元尺寸和当前预测单元尺寸之中的较小值。
如果当前分区单元的预测模式是帧内模式,那么“RootTuSize”可以根据下列等式(3)来确定。在等式(3)中,“PartitionSize”表示当前分区单元的尺寸。
RootTuSize=min(MaxTransformSize,PartitionSize)...........(3)
换言之,如果当前预测模式是帧内模式,那么在变换单元分割信息为“0”时,变换单元尺寸RootTuSize可以是最大变换单元尺寸和当前分区单元的尺寸之中的较小值。
然而,根据分区单元中的预测模式而改变的当前最大变换单元尺寸RootTuSize仅仅是示例,并且确定当前最大变换单元尺寸的因素不限于分区单元中的预测模式。
根据参考图8到图20描述的基于具有树形结构的编码单元执行的视频编码方法,针对具有树形结构的编码单元中的每一编码单元,将空间域的图像数据编码。根据基于具有树形结构的编码单元执行的视频解码方法,通过对最大编码单元进行解码来恢复空间域中的图像数据,以恢复图片和作为图片序列的视频。恢复的视频可以由播放设备播放、存储在记录介质中,或经由网络传输。
上述实施方式可以编写为计算机程序,并且可以在使用计算机可读记录介质执行程序的通用数字计算机中实施。计算机可读记录介质的示例包括磁存储单元介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM、DVD等)。
为便于说明,上文参考图1A到图20描述的视频编码方法和/或视频编码方法将被简称为“根据实施方式的视频编码方法”。此外,上文参考图1A到图20描述的视频解码方法和/或视频解码方法将被简称为“根据实施方式的视频解码方法”。
此外,上文参考图1A到图20描述的包括视频编码设备800或视频编码单元1100的视频编码设备和视频编码设备将被简称为“根据实施方式的视频编码设备”。此外,上文参考图1A到图20描述的包括视频解码设备900或视频解码单元1200的视频解码设备和层间视频解码设备将被简称为“根据实施方式的视频解码设备”。
现在将详细描述根据实施方式的存储程序的计算机可读记录介质,例如,盘片26000。
图21示出根据实施方式的存储程序的盘片21000的物理结构。被描述为记录介质的示例的盘片21000可以是硬盘驱动器、压缩只读存储器(CD-ROM)盘、蓝光光盘或数字多功能盘(DVD)。盘片21000包括多个同心盘道Tr,所述同心盘道Tr各自在盘片21000的圆周方向上分成特定数量的扇区Se。在盘片21000的特定区域中,可以分配并存储配置成执行上述确定量化参数的方法、视频编码方法和视频解码方法的程序。
下文将参考图22描述使用存储介质实现的计算机系统,所述存储介质存储用于执行上述视频编码方法和视频解码方法的程序。
图22示出配置成通过使用盘片26000来记录和读取程序的盘片驱动器26800。计算机系统26700可以使用盘片驱动器26800在盘片26000中存储用于执行根据实施方式的视频编码方法和视频解码方法中的至少一个的程序。为了在计算机系统26700中运行存储在盘片26000中的程序,可以从盘片26000中读取程序并且通过使用盘片驱动器26800将程序传输到计算机系统26700。
执行根据实施方式的视频编码方法和视频解码方法中的至少一个的程序可以不仅存储在图21所示的盘片21000或图22所示的盘片26000中,还可以存储在存储卡、ROM盒式磁带或固态驱动器(SSD)中。
下文将描述应用根据前述实施方式的视频编码方法和视频解码方法的系统。
图23示出配置成提供内容分发服务的内容供应系统11000的整体结构。通信系统的服务区域分成预定尺寸的小区,并且无线基站11700、11800、11900和12000分别安装在这些小区中。
内容供应系统11000包括多个独立装置。例如,诸如计算机12100、个人数字助理(PDA)12200、摄像机12300和移动电话12500等多个独立装置经由互联网服务提供商11200、通信网络11400以及无线基站11700、11800、11900和12000连接到互联网1110。
然而,内容供应系统11000不限于如图24所示,并且装置可以选择性地连接到该系统。多个独立装置可以直接连接到通信网络11400,而不是经由无线基站11700、11800、11900和12000进行连接。
摄像机12300是能够拍摄视频图像的成像装置,例如,数字摄像机。移动电话12500可采用例如个人数字通信(PDC)、码分多址(CDMA)、宽带码分多址(W-CDMA)、全球移动通信系统(GSM)以及个人手持式电话系统(PHS)等各种协议中的至少一种通信方法。
摄像机12300可以经由无线基站11900和通信网络11400连接到流式服务器11300。流式服务器11300可以允许经由摄像机12300从用户接收的内容经过实时广播进行流传输。从摄像机12300接收的内容可以使用摄像机12300或流式服务器11300进行编码。由摄像机12300拍摄的视频数据可经由计算机12100传输到流式服务器11300。
由相机12600拍摄的视频数据也可经由计算机12100传输到流式服务器11300。相机12600是能够拍摄静态图像和视频图像的成像装置,类似于数字相机。从相机12600接收的视频数据可以由相机12600或计算机12100进行编码。配置成对视频进行编码和解码的软件可以存储在可由计算机12100访问的计算机可读记录介质中,例如,CD-ROM盘、软盘、硬盘驱动器、SSD或存储卡。
如果视频数据由内置在移动电话12500中的相机拍摄,那么可以从移动电话12500中接收视频数据。
视频数据可以由安装在摄像机12300、移动电话12500或相机12600中的大规模集成电路(LSI)系统进行编码。
根据实施方式,内容供应系统11000可以对用户使用摄像机12300、相机12600、移动电话12500或另一成像装置记录的内容数据(例如,在音乐会期间记录的内容)进行编码,并且可以将编码的内容数据传输到流式服务器11300。流式服务器11300可以将编码的内容数据流传输到请求内容数据的其他客户端。
客户端是能够对编码的内容数据进行解码的装置,例如,计算机12100、PDA12200、摄像机12300或移动电话12500。因此,内容供应系统11000允许客户端接收和播放编码的内容数据。此外,内容供应系统11000允许客户端接收编码的内容数据,并且实时解码和播放编码的内容数据,从而实现个人播放。
根据实施方式的视频编码设备和视频解码设备可应用于内容供应系统11000中包括的多个独立装置的编码/解码操作。
现在将参考图24和图25更详细地描述根据实施方式的内容供应系统11000中包括的移动电话12500。
图24示出根据实施方式的可应用视频编码方法和视频解码方法的移动电话12500的外部结构。移动电话12500可以是智能电话,它的功能不受限制并且其大部分的功能可以使用应用程序进行改变或扩展。
移动电话12500包括外部天线12510,经由该外部天线12510,射频(RF)信号可与图26的无线基站12000进行交换,并且移动电话12500包括显示屏12520,所述显示屏12520配置成显示由相机12530拍摄的图像或经由天线12510接收并解码的图像,例如,液晶显示器(LCD)或有机发光二极管(OLED)屏。智能电话12510包括操作面板12540,所述操作面板12540包括控制按钮和触摸面板。如果显示屏12520是触摸屏,那么操作面板12540进一步包括显示屏12520的触摸感应面板。智能电话12510包括用于输出语音和声音的扬声器12580或另一类型的声音输出单元,以及用于输入语音和声音的麦克风12550或另一类型的声音输入单元。智能电话12510进一步包括相机12530,诸如,电荷耦合装置(CCD)相机,以拍摄视频或静态图像。智能电话12510可进一步包括:存储介质12570,该存储介质12570用于存储编码或解码的数据,例如,由相机12530拍摄、经由电子邮件接收或根据另一方法获取的视频或静态图像;以及槽12560,存储介质12570经由该槽12560装载到移动电话12500中。存储介质12570可以是闪存,例如,安全数字(SD)卡或者包括在塑料盒中的电可擦除可编程只读存储器(EEPROM)。
图25示出根据实施方式的移动电话12500的内部结构。为了系统地控制包括显示屏12520和操作面板12540的移动电话12500的部件,电源电路12700、操作输入控制器12640、图像编码单元12720、相机接口12630、LCD控制器12620、图像解码单元12690、多路复用器/多路分解器12680、记录/读取单元12670、调制/解调单元12660以及声音处理器12650经由同步总线12730连接到中央控制器12710。
如果用户操作电源按钮以从“关机”状态变成“开机”状态,那么电源电路12700将电力从电池组供应到移动电话12500的所有部分,从而设置移动电话12500进入操作模式。
中央控制器12710包括中央处理单元(CPU)、ROM和随机存取存储器(RAM)。
在移动电话12500将通信数据传输到外部时,移动电话12500在中央控制器12710的控制下生成数字信号。例如,数字声音信号可以由声音处理器12650生成,数字图像信号可以由图像编码单元12720生成,并且消息的文本数据可以经由操作面板12540和操作输入控制器12640生成。当数字信号在中央控制器12710的控制下传输到调制/解调单元12660时,调制/解调单元12660对数字信号的频带进行调制,并且通信电路12610在频带经调制的数字信号上执行数模转换(DAC)和频率转换。从通信电路12610输出的传输信号可经由天线12510传输到语音通信基站或无线基站12000。
例如,当移动电话12500处于呼叫模式时,经由麦克风12550获取的声音信号在中央控制器12710的控制下被声音处理器12650转换成数字声音信号。数字声音信号可以经由调制/解调单元12660和通信单元12610转换成传输信号,并且经由天线12510进行传输。
当文本消息(例如,电子邮件)在数据通信模式下传输时,文本消息的文本数据经由操作面板12540输入,并且经由操作输入控制器12640传输到中央控制器12710。在中央控制器12710的控制下,文本数据经由调制/解调单元12660和通信电路12610变换成传输信号,随后经由天线12510传输到无线基站12000。
为了在数据通信模式下传输图像数据,经由相机接口12630将相机12530拍摄的图像数据提供到图像编码单元12720。拍摄的图像数据可经由相机接口12630和LCD控制器12620直接显示在显示屏12520上。
图像编码单元12720的结构可以对应于上文所述的视频编码设备的结构。图像编码单元12720可以根据上文所述的视频编码方法或上文所述的图像编码器400通过对图像数据进行编码来将从相机12530接收的图像数据变换成压缩编码的图像数据,随后将压缩编码的图像数据输出到多路复用器/多路分解器12680。在相机12530的记录操作期间,经由移动电话12500的麦克风12550获得的声音信号可以经由声音处理器12650变换成数字声音数据。数字声音数据可以传输到多路复用器/多路分解器12680。
多路复用器/多路分解器12680将从图像编码单元12720接收的编码图像数据与从声音处理器12650接收的声音数据多路复用。多路复用数据的结果可经由调制/解调单元12660和通信单元12610转换成传输信号,并且可随后经由天线12510传输。
当移动电话12500接收来自外部的通信数据时,在经由天线12510接收的信号上执行频率恢复和模数转换(ADC),以将该信号转换成数字信号。调制/解调单元12660对数字信号的频带进行调制。根据数字信号的类型,频带经过调制的数字信号传输到视频解码单元12690、声音处理器12650或LCD控制器12620。
在对话模式下,移动电话12500将经由天线12510接收的信号放大,并且对放大的信号执行频率转换和ADC,以生成数字声音信号。在中央控制器1271的控制下,接收的数字声音信号经由调制/解调单元12660和声音处理器12650转换成模拟声音信号,并且模拟声音信号经由扬声器12580输出。
当在数据通信模式下时,接收在互联网网站访问的视频文件的数据,经由调制/解调单元12660将经由天线12510从无线基站12000接收的信号作为多路复用数据输出,并且将多路复用数据传输到多路复用器/多路分解器12680。
为了对经由天线12510接收的多路复用的数据进行解码,多路复用器/多路分解器12680将多路复用的数据多路分解成编码视频数据流和编码音频数据流。编码的视频数据流经由同步总线1273提供到视频解码单元12690并且编码的音频数据由经由同步总线1273提供到声音处理器12650。
图像解码单元12690的结构可以对应于上文所述的视频解码设备的结构。根据上文所述的视频解码方法,图像解码单元12690可以对编码的视频数据进行解码,以获取恢复的视频数据,并且经由LCD控制器12620将恢复的视频数据提供到显示屏12520。
因此,在互联网网站访问的视频文件的视频数据可以显示在显示屏12520上。同时,声音处理器12650可将音频数据转换成模拟声音信号,并且将模拟声音信号提供到扬声器12580。因此,在互联网网站访问的视频文件中含有的音频数据也可经由麦克风12580而播放。
移动电话12500或另一类型的通信终端可以是包括根据实施方式的视频编码设备和视频解码设备的收发终端,可以是只包括视频编码设备的收发终端,或者可以是只包括视频解码设备的收发终端。
根据实施方式的通信系统不限于上文参考图24描述的通信系统。例如,图26示出根据实施方式的采用通信系统的数字广播系统。图26的数字广播系统可以通过使用根据实施方式的视频编码设备和视频解码设备来接收经由卫星或地面网络传输的数字广播。
具体地,广播站12890通过使用电波而将视频数据流传输到通信卫星或广播卫星12900。广播卫星12900传输广播信号,并且广播信号经由家用天线12860传输到卫星广播接收器。在每个家庭中,编码的视频流可由TV接收器12810、机顶盒12870或另一装置解码并播放。
当根据实施方式的视频解码设备包括在播放设备12830中时,播放设备12830可以对记录在存储介质12820(诸如,盘片或存储卡)上的编码视频流进行读取和解码。通过对编码视频流进行解码而恢复的视频信号可以在例如显示器12840上播放。
根据实施方式的视频解码设备也可以安装在用于卫星/地面广播的家用天线12860中,或者安装在连接到用于接收电缆电视(TV)节目的电缆天线12850的机顶盒12870中。从机顶盒12870输出的数据也可在TV显示器12880上播放。
作为另一示例,根据实施方式的视频解码设备可以安装在TV接收器12810中,而不是在机顶盒12870中。
包括适当天线12910的汽车12920可以接收从卫星12800或图23的无线基站11700传输的信号。解码的视频可以在安装于汽车12920中的车载导航系统12930的显示屏上播放。
视频信号可以由根据实施方式的视频编码设备进行编码,并且存储在存储介质中。具体而言,图像信号可以由DVD记录器存储在DVD光盘12960中,或者可以由硬盘记录器12950存储在硬盘中。作为另一示例,视频信号可以存储在SD卡12970中。如果硬盘记录器12950包括根据实施方式的视频解码设备,那么记录在DVD光盘12960、SD卡12970或另一存储介质上的视频信号可以在TV显示器12880上播放。
车载导航系统12930可不包括图26的相机12530、相机接口12630和图像编码单元12720。例如,计算机12100和TV接收器12810可不包括图26的相机12530、相机接口12630和图像编码单元12720。
图27示出根据实施方式的使用视频编码设备和视频解码设备的云计算系统的网络结构。
云计算系统可包括云计算服务器14000、用户数据库(DB)14100、多个计算资源1420,以及用户终端。
响应于来自用户终端的请求,云计算系统经由信息通信网络(例如,互联网)来提供多个计算资源14200的按需外包服务。在云计算环境中,通过使用虚拟化技术将位于物理上不同位置的数据中心处的计算资源相结合,服务提供商为用户提供所需的服务。服务用户不必将计算资源(例如,应用程序、存储设施、操作系统(OS)或安全特征)安装到他/她自己的终端中以进行使用,而是可以在所需的时间点从通过虚拟化技术生成的虚拟空间中的服务之中选择并使用所需服务。
特定服务用户的用户终端经由包括互联网和移动远程通信网络的信息通信网络连接到云计算服务器14000。从云计算服务器14000可以对用户终端提供云计算服务,具体地如电影播放服务。用户终端可以是能够访问互联网的各种类型的电子装置,例如,台式PC14300、智能TV 14400、智能电话14500、笔记本电脑14600、便携式多媒体播放器(PMP)14700、平板PC 14800等。
云计算服务器14000可以将分布在云网络中的多个计算资源14200进行组合,并且将组合多个计算资源14200的结果提供到用户终端。多个计算资源14200可包括各种数据服务和从用户终端上传的数据。如上文所述,云计算服务器14000可以通过根据虚拟化技术将分布在不同区域中的电影数据库进行组合来将所需的服务提供到用户终端。
与订阅云计算服务的用户有关的用户信息存储在用户数据库14100中。用户信息可包括用户的登录信息、地址、名字、个人信用信息等。用户信息还可以包括电影的索引。此处,索引可以包括已经播放的电影列表、正在播放的电影列表、过去播放的电影的暂停点等。
存储在用户数据库14100中的与电影有关的信息可以在用户装置之间共享。例如,当响应于来自笔记本电脑1460的请求而将电影服务提供到笔记本电脑14600时,电影服务的播放历史便存储在用户数据库14100中。当从智能电话14500接收播放该电影服务的请求时,云计算服务器14000基于用户数据库14100来搜索并播放该电影服务。当智能电话14500接收来自云计算服务器14000的电影数据流时,通过对电影数据流进行解码来播放视频的过程类似于上文参考图24描述的移动电话12500的操作。
云计算服务器14000可以参考存储在用户数据库14100中的所需电影服务的播放历史。例如,云计算服务器14000接收来自用户终端的播放存储在用户数据库14100中的电影的请求。如果这个电影已在播放,那么由云计算服务器14000执行的流传输这个电影的方法可以根据用户终端的请求而改变,即,根据从电影的开头还是暂停点开始播放该电影。例如,如果用户终端请求从开头开始播放该电影,那么云计算服务器14000将从第一帧开始的电影流传输到用户终端。如果用户终端请求从暂停点开始播放该电影,那么云计算服务器14000将从对应于暂停点的帧开始的电影流传输到用户终端。
在这种情况下,用户终端可以包括如上文参考图1A到图20描述的视频解码设备。作为另一示例,用户终端可以包括如上文参考图1A到图20描述的视频编码设备。或者,用户终端可包括如上文参考图1A到图20描述的视频解码设备和视频编码设备两者。
上文参考图21到图30描述了应用上文参考图1A到图20描述的视频编码方法、视频解码方法、视频编码设备和视频解码设备的各种实施方式。然而,上文参考图1A到图20描述的视频编码方法和视频解码方法存储在存储介质中,或者上文参考图1A到图20描述的视频编码设备和视频解码设备包括在装置中的各种实施方式不限于上文参考图21到图27描述的实施方式。
应理解,本文所述的实施方式应仅被认为是描述性的,而并不用于限制。对每个实施方式内的特征或方面的描述通常应被视作适用于其他实施方式中的类似特征或方面。
尽管参考附图描述了一个或多个实施方式,但本领域普通技术人员将理解,在不脱离如所附权利要求限定的范围和精神的情况下,可对实施方式进行形式和细节的各种改变。

Claims (15)

1.视频解码方法,包括:
通过第一解码单元从比特流中获取属于第一图片的当前块的运动矢量;
通过所述第一解码单元确定由所述运动矢量指向的参考块是否被解码;以及
基于所述参考块是否被解码来对所述当前块进行解码;
其中:
所述参考块被包括在由第二解码单元解码的第二图片中;以及
所述第一图片和所述第二图片被并行地解码。
2.根据权利要求1所述的视频解码方法,其中:
获取所述当前块的所述运动矢量包括:在所述第一图片被解码之前获取所述运动矢量;以及
当所述参考块未被解码时,对所述当前块进行解码包括:在所述参考块被解码之后开始对所述第一图片进行解码。
3.根据权利要求2所述的视频解码方法,其中:
获取所述当前块的所述运动矢量包括:从所述比特流中获取属于所述第一图片的相应块的多个运动矢量;
确定由所述运动矢量指向的参考块是否被解码包括:确定在由所述多个运动矢量指向的至少一个参考块之中延迟最多的参考块是否被解码,其中,所述延迟最多的参考块在最晚的时间点被解码;以及
当所述延迟最多的参考块未被解码时,开始对所述第一图片进行解码包括:在所述延迟最多的参考块被解码之后开始对所述第一图片进行解码。
4.根据权利要求3所述的视频解码方法,其中,所述延迟最多的参考块基于指向所述参考块的所述运动矢量的竖直分量值或所述第二图片中的所述参考块的竖直坐标来确定。
5.根据权利要求1所述的视频解码方法,其中:
获取所述当前块的所述运动矢量包括:通过所述第一解码单元对所述第一图片的至少一个块进行解码以及从所述比特流中获取所述当前块的所述运动矢量;以及
当所述参考块未被解码时,对所述当前块进行解码包括:在所述参考块被解码之后通过使用所述参考块对所述当前块进行解码。
6.根据权利要求1所述的视频解码方法,其中,对所述当前块进行解码包括:
当所述参考块未被解码时,通过所述第一解码单元更改所述运动矢量;以及
通过所述第一解码单元使用所更改的运动矢量对所述当前块进行解码。
7.根据权利要求6所述的视频解码方法,其中,更改所述运动矢量包括:更改所述运动矢量以指向所述第二图片中已解码的块中的一个块。
8.根据权利要求6所述的视频解码方法,其中,更改所述运动矢量包括:更改所述运动矢量的竖直分量值以指向所述第二图片的已解码的区域上的位置。
9.根据权利要求6所述的视频解码方法,其中,更改所述运动矢量包括:更改所述运动矢量的参考图片值以指向另一被解码的图片。
10.根据权利要求6所述的视频解码方法,其中,更改所述运动矢量包括:
确定属于所述第一图片并且位于所述当前块附近的至少一个邻近块;以及
根据所述至少一个邻近块的运动矢量中的一个运动矢量来更改所述运动矢量。
11.根据权利要求1所述的视频解码方法,其中,对所述当前块进行解码包括:
当所述参考块未被解码时,停止对所述当前块进行解码;
当所述参考块在预设时间内被解码时,通过使用所述参考块对所述当前块进行解码;
当所述参考块在所述预设时间内未被解码时,更改所述运动矢量;以及
通过所述第一解码单元使用所更改的运动矢量对所述当前块进行解码。
12.用于执行并行解码的视频解码设备,所述视频解码设备包括:
第一解码单元,配置成:
从比特流中获取属于第一图片的当前块的运动矢量;
确定由所述运动矢量指向的参考块是否被解码;以及
基于所述参考块是否被解码来对所述当前块进行解码;以及
第二解码单元,配置成对包括所述参考块的第二图片进行解码,
其中,所述第一图片和所述第二图片被并行地解码。
13.根据权利要求12所述的视频解码设备,其中,所述第一解码单元在所述第一图片被解码之前获取所述运动矢量,以及当所述参考块未被解码时,在所述参考块被解码之后开始对所述第一图片进行解码。
14.根据权利要求12所述的视频解码设备,其中,所述第一解码单元在所述第一图片的至少一个块被解码之后从所述比特流中获取所述当前块的所述运动矢量,以及当所述参考块未被解码时,在所述参考块被解码之后通过使用所述参考块来对所述当前块进行解码。
15.非暂时性计算机可读记录介质,所述非暂时性计算机可读记录介质记录有计算机程序,所述计算机程序用于执行根据权利要求1所述的方法。
CN201580056228.5A 2014-10-17 2015-10-07 基于多核系统的并行视频解码的方法和设备 Expired - Fee Related CN107079159B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2014-0141203 2014-10-17
KR1020140141203A KR101676788B1 (ko) 2014-10-17 2014-10-17 멀티코어 시스템 기반 비디오 병렬 복호화 방법 및 그 장치
PCT/KR2015/010620 WO2016060405A1 (en) 2014-10-17 2015-10-07 Method and apparatus for parallel video decoding based on multi-core system

Publications (2)

Publication Number Publication Date
CN107079159A true CN107079159A (zh) 2017-08-18
CN107079159B CN107079159B (zh) 2020-05-12

Family

ID=55746896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580056228.5A Expired - Fee Related CN107079159B (zh) 2014-10-17 2015-10-07 基于多核系统的并行视频解码的方法和设备

Country Status (5)

Country Link
US (1) US10313699B2 (zh)
EP (1) EP3186966B1 (zh)
KR (1) KR101676788B1 (zh)
CN (1) CN107079159B (zh)
WO (1) WO2016060405A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110495175A (zh) * 2017-03-31 2019-11-22 明达半导体股份有限公司 用于对用于并行处理的运动信息进行处理的图像处理方法、用于使用该图像处理方法进行解码和编码的方法、以及用于该方法的设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102273670B1 (ko) * 2014-11-28 2021-07-05 삼성전자주식회사 움직임 보상 정보를 수정하는 데이터 처리 시스템과 데이터 처리 방법
EP3535972B1 (en) * 2016-12-23 2020-11-18 Huawei Technologies Co., Ltd. An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes
KR102381373B1 (ko) * 2017-08-16 2022-03-31 삼성전자주식회사 비정형적 분할을 이용한 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
CN117294838A (zh) * 2018-03-29 2023-12-26 弗劳恩霍夫应用研究促进协会 用于增强并行编码能力的构思

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101584216A (zh) * 2006-12-27 2009-11-18 英特尔公司 解码和编码视频信息的方法和装置
US20100239024A1 (en) * 2007-11-16 2010-09-23 Keishi Chikamura Image decoding device and image decoding method
WO2011049397A2 (en) * 2009-10-23 2011-04-28 Samsung Electronics Co., Ltd. Method and apparatus for decoding video according to individual parsing or decoding in data unit level, and method and apparatus for encoding video for individual parsing or decoding in data unit level
CN103402092A (zh) * 2009-12-16 2013-11-20 韩国电子通信研究院 执行帧内预测的视频解码装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122624A (ja) 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
JP4879269B2 (ja) 2006-08-15 2012-02-22 富士通株式会社 復号化方法及び装置
KR20080050349A (ko) 2006-12-01 2008-06-05 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
JP2011066844A (ja) 2009-09-18 2011-03-31 Toshiba Corp 並列復号装置及びプログラム並びに符号化データの並列復号方法
CN102763136B (zh) 2010-02-11 2015-04-01 诺基亚公司 用于提供多线程视频解码的方法和设备
US20120121018A1 (en) 2010-11-17 2012-05-17 Lsi Corporation Generating Single-Slice Pictures Using Paralellel Processors
KR20130086004A (ko) * 2012-01-20 2013-07-30 삼성전자주식회사 병렬 처리가 가능한 엔트로피 부호화 방법 및 장치, 병렬 처리가 가능한 엔트로피 복호화 방법 및 장치
US9124899B2 (en) 2012-09-28 2015-09-01 Sharp Laboratories Of America, Inc. Motion derivation and coding for scaling video
KR20140082932A (ko) * 2012-12-21 2014-07-03 광운대학교 산학협력단 다수 코어를 이용한 인터 예측 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101584216A (zh) * 2006-12-27 2009-11-18 英特尔公司 解码和编码视频信息的方法和装置
US20100239024A1 (en) * 2007-11-16 2010-09-23 Keishi Chikamura Image decoding device and image decoding method
WO2011049397A2 (en) * 2009-10-23 2011-04-28 Samsung Electronics Co., Ltd. Method and apparatus for decoding video according to individual parsing or decoding in data unit level, and method and apparatus for encoding video for individual parsing or decoding in data unit level
CN103402092A (zh) * 2009-12-16 2013-11-20 韩国电子通信研究院 执行帧内预测的视频解码装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110495175A (zh) * 2017-03-31 2019-11-22 明达半导体股份有限公司 用于对用于并行处理的运动信息进行处理的图像处理方法、用于使用该图像处理方法进行解码和编码的方法、以及用于该方法的设备
CN110495175B (zh) * 2017-03-31 2022-10-18 明达半导体股份有限公司 图像解码方法和图像编码方法

Also Published As

Publication number Publication date
US20170251220A1 (en) 2017-08-31
EP3186966A4 (en) 2017-11-22
WO2016060405A1 (en) 2016-04-21
US10313699B2 (en) 2019-06-04
EP3186966A1 (en) 2017-07-05
KR20160045503A (ko) 2016-04-27
KR101676788B1 (ko) 2016-11-16
CN107079159B (zh) 2020-05-12
EP3186966B1 (en) 2018-12-19

Similar Documents

Publication Publication Date Title
CN106797467B (zh) 用于图像填充区域的视频编码和解码方法和设备
CN104081779B (zh) 用于帧间预测的方法及其装置和用于运动补偿的方法及其装置
CN104754356B (zh) 用于在视频编码或解码中的运动矢量确定的方法和设备
CN104396252B (zh) 使用用于多视点视频预测的参考画面集的多视点视频编解码方法及其装置
CN104488272B (zh) 用于预测用于对视频进行编码或用于对视频进行解码的运动矢量的方法和设备
CN105532001B (zh) 用于使用基于深度的视差矢量对视频进行层间编码方法以及解码方法和设备
CN105027568B (zh) 用于对条带段进行熵编码的方法及其设备以及用于对条带段进行熵解码的方法及其设备
CN104365101B (zh) 用于确定用于帧间预测的参考图像的方法及设备
CN104902272B (zh) 视频解码设备
CN103875249B (zh) 用于多视点视频预测编码的方法和装置以及用于多视点视频预测解码的方法和装置
CN105144713B (zh) 用于解码器设置的对视频进行编码的方法及其装置以及基于解码器设置对视频进行解码的方法及其装置
CN107113442A (zh) 用于对运动矢量进行编码/解码的方法和装置
CN107113440A (zh) 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
CN106464908A (zh) 用于传输深度图像的预测模式以供层间视频编码和解码的方法和装置
CN105594212B (zh) 用于确定运动矢量的方法及其设备
CN105532004B (zh) 层间视频解码方法及设备
CN105308966A (zh) 视频编码方法及其设备以及视频解码方法及其设备
CN106031175B (zh) 使用亮度补偿的层间视频编码方法及其装置、以及视频解码方法及其装置
CN107005711A (zh) 逐样本预测编码设备和方法
CN106416256B (zh) 用于对深度图像进行编码或解码的方法和设备
CN106664413A (zh) 用于补偿亮度差的层间视频编码方法和装置以及视频解码方法和装置
CN107079159A (zh) 基于多核系统的并行视频解码的方法和设备
CN105325002A (zh) 使用视点合成预测的多视点视频编码方法及其设备以及多视点视频解码方法及其设备
CN105340275A (zh) 使用视点合成预测的多视点视频编码方法及其设备以及多视点视频解码方法及其设备
CN104396251A (zh) 使用用于多视点视频预测的参考列表对多视点视频进行编码的方法及其装置以及使用用于多视点视频预测的参考列表对多视点视频进行解码的方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200512

Termination date: 20211007

CF01 Termination of patent right due to non-payment of annual fee