CN105325004B - 基于用信号传输样点自适应偏移参数的视频编码方法和设备以及视频解码方法和设备 - Google Patents

基于用信号传输样点自适应偏移参数的视频编码方法和设备以及视频解码方法和设备 Download PDF

Info

Publication number
CN105325004B
CN105325004B CN201480035472.9A CN201480035472A CN105325004B CN 105325004 B CN105325004 B CN 105325004B CN 201480035472 A CN201480035472 A CN 201480035472A CN 105325004 B CN105325004 B CN 105325004B
Authority
CN
China
Prior art keywords
lcu
sao
coding
video
encoded
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
Application number
CN201480035472.9A
Other languages
English (en)
Other versions
CN105325004A (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 CN105325004A publication Critical patent/CN105325004A/zh
Application granted granted Critical
Publication of CN105325004B publication Critical patent/CN105325004B/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

在视频编码和解码操作期间用信号传输被确定为使原始图像与重建图像之间的误差最小化的样点自适应偏移(SAO)参数。一种用信号传输SAO参数的视频编码方法包括:在视频的最大编码单元(LCU)之中,在对当前被编码的LCU执行去块操作之前获取预测信息;基于获取的预测信息来预测当前被编码的LCU的SAO参数;对预测出的SAO参数执行熵编码。

Description

基于用信号传输样点自适应偏移参数的视频编码方法和设备 以及视频解码方法和设备
技术领域
示例性实施例涉及基于用信号传输样点自适应偏移(SAO)参数的视频编码方法和设备以及视频解码方法和设备。
背景技术
随着用于再现和存储高分辨率或高质量视频内容的硬件的开发和提供,对于用于有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求正在增加。根据现有技术的视频编解码器,基于具有预定尺寸的编码单元,根据受限的编码方法来对视频进行编码。
空间域的图像数据经由频率变换被变换为频域的系数。根据视频编解码器,将图像划分为具有预定尺寸的块,对每个块执行离散余弦变换(DCT),并以块为单位对频率系数进行编码,以进行频率变换的快速计算。与空间域的图像数据相比,频域的系数容易被压缩。具体地,由于根据经由视频编解码器的帧间预测或帧内预测的预测误差来表示空间域的图像像素值,因此当对预测误差执行频率变换时,大量数据可被变换为0。根据视频编解码器,可通过使用小量数据来代替连续并重复产生的数据,来减少数据量。
具体地,可在对视频进行编码和解码的操作期间采用将重建像素的值调整SAO的方法,以便使原始图像与重建图像之间的误差最小化。
发明内容
技术问题
如果SAO被应用于LCU(最大编码单元)以进行编码和解码,则熵编码需要被延迟直到SAO参数被确定为止,以便用信号传输SAO参数。具体地,由于去块操作需要被执行以便确定SAO参数,因此硬件实现负荷会根据是否应用SAO而大大增加。
总之,当以硬件来实现SAO编码时,执行熵编码以产生比特流的操作需要被延迟直到确定SAO参数的操作被完成为止。为此,各种类型的信息被缓存。因此,电路尺寸和功耗会效率低下。
此外,当SAO类型被确定为边缘类型时,根据边缘方向的边缘种类被确定为0°、90°、45°和135°中的一个。然而,需要针对以上的四种边缘种类通过将SAO应用到LCU中包括的所有像素来计算率失真(RD)代价,以确定边缘种类。也就是说,SAO编码设备90需要计算所有像素的边缘偏移值,这使电路的实现复杂化,并因此逻辑门或代码大小以及功耗会增加。
解决方案
根据示例性实施例,一种用信号传输样点自适应偏移(SAO)参数的视频编码方法包括:在视频的最大编码单元(LCU)之中,获取当前被编码的LCU执行去块操作之前获取预测信息;基于获取的预测信息来预测当前被编码的LCU的SAO参数;并对预测出的SAO参数执行熵编码。
有益效果
示例性实施例涉及通过使用运动图像中的时间相关性和空间相关性,基于在执行去块滤波之前从当前最大编码单元的重建图像获取的数据来预测样点自适应偏移(SAO)参数,从而对由于SAO编码而引起的电路面积和功耗的效率低下进行改善。
示例性实施例涉及提供一种基于从最大编码单元获取的方向性信息来确定边缘偏移的种类的方法,从而改善用于确定SAO参数的电路实现效率和功耗。
另外的方面将在以下描述中被部分阐述,并且将部分从所述描述清楚,或者可通过示例性实施例的实践被获知。
附图说明
从以下结合附图的对实施例的描述,这些和/或其它方面将变得清楚和更易于理解,其中:
图1A和1B分别是根据一个或更多个示例性实施例的样点自适应偏移(SAO)编码设备的框图和SAO编码方法的流程图;
图2A和图2B分别是根据一个或更多个示例性实施例的SAO解码设备的框图和SAO解码方法的流程图;
图3是根据另一示例性实施例的视频解码设备的框图;
图4是示出根据一个或更多个实施例的边缘类型的边缘种类的表;
图5A和图5B是示出根据一个或更多个示例性实施例的边缘类型的类别的表和曲线图;
图6A至图6C是用于解释根据示例性实施例的对SAO参数进行编码的方法的示图;
图7是用于解释根据示例性实施例的对SAO参数进行编码的方法的示图;
图8示出根据示例性实施例的对SAO参数进行编码的方法的示例;
图9示出根据示例性实施例的对SAO参数进行编码的方法的另一示例;
图10示出根据示例性实施例的对SAO参数进行编码的方法的另一示例;
图11A和图11B分别是根据一个或更多个示例性实施例的SAO编码设备的框图和对边缘类型的SAO参数进行编码的方法的流程图;
图12是用于解释根据示例性实施例的对边缘类型的SAO参数进行编码的方法的示例的示图;
图13是用于解释根据示例性实施例的对边缘类型的SAO参数进行编码的方法的另一示例的示图;
图14是用于解释根据示例性实施例的对边缘类型的SAO参数进行编码的方法的另一示例的示图;
图15是根据一个或更多个示例性实施例的基于根据树结构的编码单元的视频编码设备的框图;
图16是根据一个或更多个示例性实施例的基于根据树结构的编码单元的视频解码设备的框图;
图17是用于描述根据一个或更多个示例性实施例的编码单元的构思的示图;
图18是根据一个或更多个示例性实施例的基于编码单元的图像编码器的框图;
图19是根据一个或更多个示例性实施例的基于编码单元的图像解码器的框图;
图20是示出根据一个或更多个示例性实施例的根据深度的较深层编码单元和分区的示图;
图21是用于描述根据一个或更多个示例性实施例的编码单元和变换单元之间的关系的示图;
图22是用于描述根据一个或更多个示例性实施例的与深度相应的编码单元的编码信息的示图;
图23是根据一个或更多个示例性实施例的根据深度的较深层编码单元的示图;
图24至图26是用于描述根据一个或更多个示例性实施例的编码单元、预测单元和变换单元之间的关系的示图;
图27是用于描述根据表1的编码模式信息的编码单元、预测单元和变换单元之间的关系的示图;
图28是根据一个或更多个示例性实施例的存储程序的盘的物理结构的示图;
图29是用于通过使用盘来记录和读取程序的盘驱动器的示图;
图30是用于提供内容分发服务的内容供应系统的整体结构的示图;
图31和图32分别是根据一个或更多个实施例的应用了视频编码方法和视频解码方法的移动电话的外部结构和内部结构的示图;
图33是根据一个或更多个示例性实施例的应用通信系统的数字广播系统的示图;
图34是示出根据一个或更多个示例性实施例的使用视频编码设备和视频解码设备的云计算系统的网络结构的示图。
最佳实施方式
根据示例性实施例,一种用信号传输样点自适应偏移(SAO)参数的视频编码方法包括:在视频的最大编码单元(LCU)之中,在对当前被编码的LCU执行去块操作之前获取预测信息;基于获取的预测信息来预测当前被编码的LCU的SAO参数;对预测出的SAO参数执行熵编码。
预测当前被编码的LCU的SAO参数的操作可独立于当前被编码的LCU的去块操作。
获取预测信息的步骤可包括:在对当前被编码的LCU执行去块操作之前获取另一被编码的编码单元的SAO参数。
预测信息可以是在包括当前被编码的LCU的帧中的先前被编码的LCU的SAO参数。
预测信息可以是在包括当前被编码的LCU的帧之前的帧中的被编码的LCU的SAO参数。
获取预测信息的步骤可包括:在对当前被编码的LCU执行去块操作之前获取重建的像素值,其中,预测SAO参数的步骤可包括:基于所述像素值预测当前被编码的LCU的SAO参数。
预测信息可包括在当前被编码的LCU被重建之前获取的残差数据、运动矢量和帧内模式中的至少一个。
所述视频编码方法还可包括:对当前被编码的LCU执行去块操作;通过使用被执行了去块操作的当前被编码的LCU来确定SAO参数,其中,针对被执行了去块操作的当前被编码的LCU而确定的SAO参数被用于对随后被编码的LCU执行SAO预测。
所述视频编码方法可以以具有管线结构的阶段单元来执行,其中,执行去块操作的过程和对预测出的SAO参数执行熵编码的过程在同一管线段中被并行地执行。
根据示例性实施例,一种用信号传输SAO参数的视频编码方法包括:在视频的LCU之中,获取当前被编码的LCU的方向性信息;基于获取的方向性信息来确定当前被编码的LCU的边缘偏移参数;对确定的边缘偏移参数执行熵编码。
确定边缘偏移参数的步骤可包括:将具有与基于方向性信息而获取的方向相同或正交的方向性的边缘种类确定为边缘偏移参数。
获取方向性信息的步骤可包括:通过使用预定边缘算法来获取当前被编码的LCU的边缘的方向性信息。
获取方向性信息的步骤可包括:通过使用当前被编码的LCU的帧内模式信息来获取方向性信息。
获取方向性信息的步骤可包括:当包括在当前被编码的LCU中的预测单元的帧内模式彼此不同时,计算关于预测单元的帧内模式的直方图,并基于直方图中的帧内模式的出现次数来获取方向性信息。
获取方向性信息的步骤可包括:基于当前被编码的LCU的运动矢量获取方向性信息。
根据示例性实施例,一种用信号传输SAO参数的视频编码设备包括:预测信息预测器,用于在视频的LCU之中,在对当前被编码的LCU执行去块操作之前获取预测信息;SAO参数估计器,用于基于获取的预测信息来预测当前被编码的LCU的SAO参数;编码器,用于对预测出的SAO参数执行熵编码。
预测信息预测器可在当前被编码的LCU的去块操作被执行之前获取另一被编码的编码单元的SAO参数。
预测信息包括在当前被编码的LCU的去块操作被执行之前所重建的当前LCU的像素值、残差数据、运动矢量和帧内模式中的至少一个。
所述视频编码设备还可包括:去块器,用于对当前被编码的LCU执行去块操作;SAO确定器,用于通过使用被执行了去块操作的当前被编码的LCU来确定SAO参数,其中,针对被执行了去块操作的当前被编码的LCU而确定的SAO参数被用于对随后被编码的LCU执行SAO预测。
根据示例性实施例,一种用信号传输SAO参数的视频编码设备包括:方向性信息获取器,用于在视频的LCU之中,获取当前被编码的LCU的方向性信息;边缘偏移参数确定器,用于基于获取的方向性信息确定当前被编码的LCU的边缘偏移参数;编码器,用于对确定的边缘偏移参数执行熵编码。
边缘偏移参数确定器可将具有与基于方向性信息而获取的方向相同或正交的方向性的边缘种类确定为边缘偏移参数。
方向性信息获取器可通过使用预定边缘算法来获取当前被编码的LCU的边缘的方向性信息。
方向性信息获取器可通过使用当前被编码的LCU的帧内模式信息来获取方向性信息。
当包括在当前被编码的LCU中的预测单元的帧内模式彼此不同时,方向性信息获取器可计算关于预测单元的帧内模式的直方图,并基于直方图中的帧内模式的出现次数来获取方向性信息。
方向性信息获取器可基于当前被编码的LCU的运动矢量获取方向性信息。
根据一个或更多个实施例的另一方面,提供一种记录有用于执行所述视频编码方法的计算机程序的非暂时性计算机可读记录介质。
具体实施方式
现在将详细描述示例性实施例,其中,示例性实施例的示例在附图中被示出,相同的参考标号始终指示相同的元件。在这方面,示例性实施例可具有不同的形式,并且不应被解释为受限于在此阐述的描述。因此,以下通过参照附图仅描述示例性实施例来解释本描述的各方面。当诸如“…中的至少一个”的表述位于一列元素之后时,修饰整列元素而不修饰所述列中的单个元素。
如这里所使用的,诸如“单元”和“模块”的术语表示用于处理至少一个功能或操作的单元,其中,单元和块可被实现为硬件或软件,或者可通过组合硬件和软件来实现。
如这里所使用的,术语“实施例”或“多个实施例”是指与示例性实施例相关地描述的属性、结构、特征等。因此,诸如“根据实施例”的表述并不总是指同一示例性实施例。
在下文中,将参照图1至图10来描述根据一个或更多个实施例的用信号传输样点自适应偏移(SAO)参数的视频编码方法和视频解码方法。将参照图11至图14来描述根据实施例的对边缘类型的SAO参数进行编码的方法。将参照图15至图34描述根据一个或更多个实施例的在基于具有树结构的编码单元的视频编码操作和视频解码操作中的基于像素分类的SAO操作。在下文中,“图像”可指示静止图像或视频的运动图像,或者视频本身。
现在将参照图1至图10描述根据一个或更多个实施例的用信号传输SAO参数的视频编码方法和视频解码方法。
在SAO编码设备10与SAO解码设备20之间用信号来传输样点。也就是说,SAO编码设备10可对通过视频编码而产生的样点进行编码,并可以以比特流的形式来传输样点,SAO解码设备20可从接收到的比特流解析样点并重建样点。
为了通过将重建像素的像素值调整根据像素分类而确定的偏移来使原始像素和重建像素之间的误差最小化,根据实施例的SAO编码设备10和SAO解码设备20用信号传输用于SAO调整的SAO参数。在SAO编码设备和SAO解码设备之间,偏移值作为SAO参数被编码并被收发,使得可从SAO参数解码出该偏移值。
因此,根据实施例的SAO解码设备20可通过以下操作来产生使原始图像与重建图像之间的误差最小的重建图像:对接收到的比特流进行解码,产生每个图像块的重建像素,从比特流重建偏移值,并将重建像素调整所述偏移值。
将参照图1A和图1B描述执行SAO操作的SAO编码设备10的操作,并将参照图2A和图2B描述执行SAO操作的SAO解码设备20的操作。
图1A和图1B分别是根据一个或更多个实施例的使用SAO参数的预测操作的SAO编码设备10的框图以及SAO编码方法的流程图。
根据实施例的SAO编码设备10包括预测信息获取器12、SAO参数预测器14和SAO编码器16。
根据实施例的SAO编码设备10接收视频的图像(例如,条带)的输入,将每个图像划分为块,并对每个块进行编码。块可具有方形形状、矩形形状和任意几何形状,并且不限于具有预定尺寸的数据单元。根据一个或更多个实施例的块可以是最大编码单元(LCU)或根据树结构的编码单元之中的编码单元(CU)。在下面将参照图15至图34描述基于根据树结构的编码单元的视频编码方法和视频解码方法。
根据实施例的SAO编码设备10可将每个输入图像划分为LCU,并可将通过对每个LCU的样点执行预测、变换和熵编码而产生的结果数据输出为比特流。LCU的样点可以是包括在LCU中的像素的像素值数据。
根据实施例的SAO编码设备10可单独地对图像的LCU进行编码。SAO编码设备10可基于从当前LCU划分的具有树结构的编码单元对当前LCU进行编码。
为了对当前LCU进行编码,SAO编码设备10可通过对包括在当前LCU中的具有树结构的编码单元中的每个编码单元执行帧内预测、帧间预测、变换和量化来对样点进行编码。
之后,SAO编码设备10可通过对具有树结构的编码单元中的每个编码单元执行反量化、逆变换和帧间预测或运动补偿来对编码单元进行解码,以重建包括在当前LCU中的编码样点。
SAO编码设备10也可对LCU中的重建样点执行去块操作,以便减轻块边界的图像恶化,并将SAO应用于被执行了去块操作的LCU以便使原始像素与重建像素之间的误差最小化。
然而,如果SAO编码设备10将SAO应用于LCU,则熵编码需要被延迟直到SAO参数被确定为止,以便用信号传输SAO参数。具体地,由于去块操作需要被执行以便确定SAO参数,因此硬件实现负荷可根据SAO是否被应用而显著增加。
总之,当SAO编码设备10以硬件来实现时,执行熵编码以产生比特流的操作需要被延迟直到完成确定SAO参数的操作为止。为此,各种类型的信息被缓存。因此,电路尺寸和功耗可能效率低下。
因此,根据实施例的SAO编码设备10可基于在对当前LCU执行去块滤波之前获取的预测信息来预测SAO参数,并对预测出的SAO参数执行熵编码,从而对由于SAO编码而导致的电路面积和功耗的效率低下进行改善。
根据实施例的预测信息获取器12可在对视频的LCU之中的当前被编码的LCU执行去块操作之前获取预测信息。
预测信息可包括在对当前被编码的LCU执行去块操作之前可获取的信息。例如,预测信息可包括当前被编码的编码单元的残差、帧间预测期间的运动矢量以及帧内预测期间的帧内模式等。
根据实施例的预测信息获取器12可从先前被编码的编码单元预测当前被编码的LCU的SAO参数。例如,预测信息可以是在包括当前被编码的LCU的帧中的先前被编码的LCU的SAO参数。作为另一示例,预测信息可以是在包括当前被编码的LCU的帧之前的帧中的被编码的LCU的SAO参数。也就是说,预测信息获取器12可使用可与当前LCU在时间上相关或空间上相关的另一LCU来获取SAO参数。
根据实施例的SAO参数预测器14可基于获取的预测信息来预测当前被编码的LCU的SAO参数。在这方面,预测信息在去块操作被执行之前被获取,因此SAO参数的预测可独立于去块操作的执行。
更详细地,SAO参数预测器14可基于获取的预测信息来预测当前被编码的LCU的SAO类型、SAO种类和偏移值。在这方面,SAO类型可指示根据当前LCU的像素值分类方法的边缘类型或带类型,SAO种类可指示根据边缘类型的边缘方向或根据带类型的带范围,偏移值可指示包括在SAO种类中的原始像素与重建像素之间的差值。
根据实施例的SAO参数预测器14可将先前被编码的LCU的SAO参数预测为当前被编码的LCU的SAO参数。
根据实施例的SAO参数预测器14可基于在对当前被编码的编码单元执行去块操作之前被重建的像素值、残差、帧间预测期间的运动矢量、帧内预测期间的帧内模式等来预测SAO参数。
例如,SAO参数预测器14可基于帧间预测期间的运动矢量、帧内预测期间的帧内模式等将当前被编码的LCU的SAO类型预测为边缘类型,并预测被预测出的边缘类型的SAO种类。
作为另一示例,预测信息获取器12可获取未被执行去块操作的LCU的重建像素值,SAO参数预测器14可从对当前被编码的LCU的去块操作被跳过的像素值预测SAO参数。
同时,根据实施例的SAO编码设备10可包括对重建的当前LCU执行去块操作的去块执行器(未示出)以及通过使用被执行了去块操作的当前LCU来确定SAO参数的SAO确定器(未示出)。这是因为由SAO确定器(未示出)确定的当前LCU的SAO参数可被用于预测未来将被编码的LCU中的SAO。也就是说,SAO编码设备10可通过使用预测信息来预测SAO参数,并将预测出的SAO参数作为当前被编码的LCU的SAO参数来用信号传输。SAO编码设备10可确定在去块操作被执行之后重建的LCU的SAO参数,并将确定的SAO参数用于预测未来将被编码的LCU中的SAO。
根据实施例的SAO编码器16可对预测出的SAO参数执行熵编码。
根据熵编码方法,根据实施例的SAO参数可被分类为将根据基于上下文的熵编码而被编码的参数以及将以旁路模式被编码的参数。
基于上下文的熵编码方法可包括一系列操作,诸如用于将诸如SAO参数的符号变换为比特流的二值化操作,以及对比特流进行的基于上下文的算术编码操作。上下文自适应二值化算术编码(CABAC)被广泛地用作基于上下文的算术编码方法的示例。根据基于上下文的算术编码和解码,符号比特流的每个比特可被视为上下文的二进制位,每个比特位置可被映射到二进制位索引。比特流的长度(即,二进制位的长度)可根据符号值的大小而改变。对于基于上下文的算术编码和解码,需要对符号执行基于上下文的概率建模。
基于上下文的概率建模需要在以下假设下被执行:假设当前符号的编码比特基于先前被编码的符号被概率预测。对于基于上下文的概率建模,需要重新更新符号比特流的每个比特位置(即,每个二进制位索引)的上下文。这里,概率建模是指分析在每个二进制位中产生0或1的概率的处理。可在每个块中重复通过将分析新块的符号的每个比特的概率的结果反映到上下文来更新上下文的处理。如果上述概率建模被重复,则每个二进制位与概率匹配的概率模型可被确定。
因此,参考基于上下文的概率模型,可针对当前符号的被二值化后的比特流中的每个比特执行选择并输出与当前上下文相应的码的操作,从而执行基于上下文的熵编码。
针对根据基于上下文的熵编码进行编码的处理确定符号的每个二进制位的基于上下文的概率模型的操作需要大量计算和时间。另一方面,在旁路模式下的熵编码包括在不考虑符号的上下文的情况下使用概率模型的熵编码操作。
现在在下面将参照附图1B来更详细地描述对由根据实施例的预测信息获取器12、SAO参数预测器14和SAO编码器16预测出的SAO参数进行编码的方法。
在操作11,根据实施例的预测信息获取器12可在视频的LCU之中的当前被编码的LCU的去块操作被执行之前获取预测信息。
根据实施例的预测信息可包括在对当前被编码的LCU执行去块操作之前可获取的信息。例如,预测信息可包括当前被编码的编码单元的残差、帧间预测期间的运动矢量以及帧内预测期间的帧内模式等。
根据实施例的预测信息获取器12可在去块操作被执行之前获取当前被编码的LCU之中的先前被编码的编码单元的SAO参数。
在操作13,根据实施例的SAO参数预测器14可基于获取的预测信息来预测当前被编码的LCU的SAO参数。例如,SAO参数预测器14可将先前被编码的LCU的SAO参数预测为当前被编码的LCU的SAO参数。
作为另一示例,SAO参数预测器14可基于在当前被编码的编码单元的去块操作被执行之前所重建的像素值、残差、帧间预测期间的运动矢量、帧内预测期间的帧内模式等来预测SAO参数。
在操作15,根据实施例的SAO编码器16可对预测出的SAO参数执行熵编码。
根据实施例的SAO编码设备10可包括用于总体上控制预测信息获取器12、SAO参数预测器14和SAO编码器16的中央处理器(未示出)。可选地,预测信息获取器12、SAO参数预测器14和SAO编码器16可由它们的单独处理器(未示出)来驱动,其中,所述单独处理器协作地进行操作以控制SAO编码设备10。可选地,根据实施例的SAO编码设备10外部的外部处理器(未示出)可控制预测信息获取器12、SAO参数预测器14和SAO编码器16。
根据实施例的SAO编码设备10可包括一个或更多个数据存储器(未示出),其中,所述一个或更多个数据存储器用于存储预测信息获取器12、SAO参数预测器14和SAO编码器16的输入数据和输出数据。SAO编码设备10可包括存储器控制器(未示出),其中,存储器控制器用于对输入到数据存储器的数据和从数据存储器输出的数据进行管理。
为了执行包括变换的视频编码操作并输出视频编码操作的结果,根据实施例的SAO编码设备10可与内部或外部视频编码处理器联合地进行操作。根据实施例的SAO编码设备10的内部视频编码处理器可以是用于执行视频编码操作的独立的处理器。此外,SAO编码设备10、中央处理器或图形处理器可包括用于执行基本视频编码操作的视频编码处理器模块。
图2A和图2B分别是根据一个或更多个实施例的SAO解码设备20的框图和SAO解码方法的流程图。
根据实施例的SAO解码设备20包括SAO参数获取器22、SAO确定器24和SAO执行器26。
根据实施例的SAO解码设备20接收包括视频的编码数据的比特流。SAO解码设备20可从接收到的比特流解析编码的视频样点,可对每个图像块执行熵解码、反量化、逆变换、预测和运动补偿以产生重建像素,从而可产生重建图像。
根据实施例的SAO解码设备20可接收指示原始像素与重建像素之间的插值的偏移值,并可使原始图像与重建图像之间的误差最小化。视频解码设备20可接收视频的每个LCU的编码数据,并可基于从LCU划分的具有树结构的编码单元来重建LCU。现在在下面将参照图2B详细地描述重建当前LCU的样点并调整偏移的方法。
在操作21,SAO参数获取器22可从接收到的比特流获取当前LCU的SAO参数。在这方面,SAO参数可包括当前LCU的SAO类型、偏移值和SAO种类。
在操作23,SAO确定器24可基于由SAO参数获取器22确定的SAO类型来确定当前LCU的像素值分类方法是边缘类型还是带类型。基于SAO类型,可确定关闭类型(off type)、边缘类型或带类型。
如果SAO类型是关闭类型,则可确定不将SAO操作应用于当前LCU。在此情况下,不需要解析当前LCU的其它SAO参数。
SAO确定器24可基于由SAO参数获取器22确定的SAO种类来确定当前LCU的基于边缘类型的根据边缘方向的带范围或根据带类型的带范围。
SAO确定器24可基于由SAO参数获取器22确定的偏移值来确定在以上确定的SAO种类中包括的原始像素与重建像素之间的差值。
在操作25,SAO执行器26可将基于从当前LCU划分的具有树结构的编码单元所重建的样点的像素值调整由SAO确定器24确定的差值。
在操作23,SAO确定器24可基于SAO参数来确定与预定数量的类别相应的偏移值。每个偏移值可大于或等于预设的最小值,并且可小于或等于预设的最大值。
例如,如果SAO类型信息指示边缘类型,则SAO确定器24可基于SAO种类将当前LCU中所包括的重建像素的边缘方向确定为0°、90°、45°或135°。
如果在操作23,SAO类型信息指示带类型,则SAO确定器24可基于SAO种类来确定重建像素的像素值所属于的带的位置。
如果在操作23,SAO类型信息指示带类型,则SAO确定器24可基于偏移值的零值信息来确定偏移值是否为0。如果基于零值信息确定偏移值为0,则不重建偏移值中除了零值信息之外的信息。
如果基于零值信息确定偏移值不为0,则SAO确定器24可基于偏移值中的符号信息来确定偏移值是正数还是负数,其中,零值信息位于偏移值中的符号信息之后。SAO确定器24可通过重建偏移值中的剩余部分来最终确定偏移值,其中,符号信息位于所述剩余部分之后。
如果在操作23,SAO类型信息指示边缘类型,并且如果基于偏移值的零值信息确定偏移值不为0,则SAO确定器24可通过对偏移值中剩余部分进行重建来最终确定偏移值,其中,零值信息位于所述剩余部分之后。
另外,根据实施例的SAO解码设备20可包括用于总体上控制SAO参数获取器22、SAO确定器24和SAO执行器26的中央处理器(未示出)。可选地,SAO参数获取器22、SAO确定器24和SAO执行器26可由它们的单独处理器(未示出)来驱动,其中,所述单独处理器协作地进行操作以控制视频解码设备20。可选地,SAO解码设备20外部的外部处理器(未示出)可控制SAO参数获取器22、SAO确定器24和SAO执行器26。
根据实施例的SAO解码设备20可包括一个或更多个数据存储器(未示出),其中,所述一个或更多个数据存储器用于存储SAO参数获取器22、SAO确定器24和SAO执行器26的输入数据和输出数据。根据实施例的SAO解码设备20可包括存储器控制器(未示出),其中,存储器控制器用于对输入到数据存储器的数据和从数据存储器输出的数据进行管理。
为了执行视频解码操作来重建视频,根据实施例的SAO解码设备20可与内部视频解码处理器或外部视频解码处理器联合地进行操作。根据实施例的SAO解码设备20的内部视频解码处理器可以是用于执行基本视频解码操作的独立的处理器。此外,SAO解码设备20、中央处理器或图形处理器可包括用于执行基本视频解码操作的视频解码处理器模块。
现在将参照图3详细地描述使用SAO操作的视频解码操作。图3是根据一个或更多个实施例的视频解码设备30的框图。
视频解码设备30包括熵解码器31、量化器32、逆变换器33、重建器34、帧内预测器35、参考画面缓冲器36、运动补偿器37、去块滤波器38和SAO执行器39。
视频解码设备30可接收包括编码的视频数据的比特流。熵解码器31可从比特流解析帧内模式信息、帧间模式信息、SAO信息和残差。
由熵解码器31提取的残差可以是量化后的变换系数。因此,反量化器32可对残差执行反量化以重建变换系数,逆变换器33可对重建的系数执行逆变换以重建空间域的残差值。
为了预测和重建空间域的残差值,可执行帧内预测或运动补偿。
如果熵解码器31提取到帧内模式信息,则帧内预测器35可通过使用帧内模式信息,在与当前样点空间上邻近的样点之中确定将被参考以用于重建当前样点的参考样点。可从由重建器34先前重建的样点之中选择参考样点。重建器34可通过使用基于帧内模式信息确定的参考样点和由逆变换器33重建的残差值来重建当前样点。
如果熵解码器31提取到帧间模式信息,则运动补偿器37可通过使用帧间模式信息,从在当前画面之前被重建的画面之中确定将被参考以用于重建当前画面的当前样点的参考画面。帧间模式信息可包括运动矢量、参考索引等。通过使用参考索引,从在当前画面之前被重建的并存储在参考画面缓冲器36中的画面之中,可确定将用于对当前样点执行运动补偿的参考画面。通过使用运动矢量,可确定将用于对当前块执行运动补偿的参考画面的参考块。重建器34可通过使用基于帧间模式信息确定的参考块和由逆变换器33重建的残差值来重建当前样点。
重建器34可重建样点,并可输出重建后的像素。重建器34可基于具有树结构的编码单元产生每个LCU的重建像素。
去块滤波器38可执行滤波以减轻位于LCU或具有树结构的每个编码单元的边缘区域处的像素的块现象。
此外,SAO操作器39可根据SAO操作调整每个LCU的重建像素的偏移。SAO操作器39可基于由熵解码器31提取的SAO信息确定当前LCU的SAO类型、SAO种类和偏移值。
由熵解码器31进行的提取SAO信息的操作可与SAO解码设备20的SAO参数提取器22的操作相应,SAO操作器39的操作可与视频解码设备20的SAO确定器24和SAO操作器26的操作相应。
SAO操作器39可基于从SAO信息确定的偏移值,确定针对当前LCU的重建像素的偏移值的符号和差值。SAO操作器39可通过使重建像素的像素值增大或减小基于偏移值确定的差值,来减小重建像素和原始像素之间的误差。
可将包括由SAO操作器39进行偏移调整后的重建像素的画面存储在参考画面缓冲器36中。因此,通过使用根据SAO操作而在重建样点和原始像素之间具有最小化的误差的参考画面,可对下一画面执行运动补偿。
根据SAO操作,基于重建像素和原始像素之间的差值,可确定包括重建像素的像素组的偏移。对于SAO操作,现在将详细描述用于将重建像素分类为像素组的实施例。
根据SAO操作,可基于(i)重建像素的边缘类型或(ii)重建像素的带类型对像素进行分类。可通过使用SAO类型来定义是基于边缘类型还是基于带类型对像素进行分类。
现在将详细描述根据SAO操作基于边缘类型对像素进行分类的实施例。
在当前LCU的边缘类型偏移被确定时,可确定包括在当前LCU中的每个重建像素的边缘种类。换句话说,通过对当前重建像素和邻近像素的像素值进行比较,可定义当前重建像素的边缘种类。现在将参照图4描述确定边缘种类的示例。
图4是示出根据一个或更多个实施例的边缘类型的边缘种类的表。
索引0、1、2和3可依次被分配给边缘种类41、42、43和44。如果边缘类型频繁出现,则可将小的索引分配给该边缘类型。
边缘种类可指示在当前重建像素X0和两个邻近像素之间形成的1维边缘的方向。具有索引0的边缘种类41指示以下情况:在当前重建像素X0和两个水平邻近像素X1和X2之间形成边缘。具有索引1的边缘种类42指示以下情况:在当前重建像素X0和两个垂直邻近像素X3和X4之间形成边缘。具有索引2的边缘种类43指示以下情况:在当前重建像素X0和两个135°对角邻近像素X5和X8之间形成边缘。具有索引3的边缘种类44指示以下情况:在当前重建像素X0和两个45°对角邻近像素X6和X7之间形成边缘。
因此,通过分析包括在当前LCU中的重建像素的边缘方向并因此确定当前LCU中的强边缘方向,可确定当前LCU的边缘种类。
针对每个边缘种类,可根据当前像素的边缘形状对类别进行分类。现在将参照图5A和图5B描述根据边缘形状的类别的示例。
图5A和图5B是示出根据一个或更多个实施例的边缘类型的类别的表和曲线图。
边缘类别指示当前像素是相应于凹形边缘的最低点,相应于位于凹形边缘的最低点周围的弧形拐角处的像素,相应于凸形边缘的最高点还是相应于位于凸形边缘的最高点周围的弧形拐角处的像素。
图5A示例性地示出用于确定边缘的类别的条件。图5B示例性地示出重建像素和邻近像素之间的边缘形状以及重建像素和邻近像素的像素值c、a和b。
c指示当前重建像素的索引,a和b指示根据边缘方向在当前重建像素两侧的邻近像素的索引。Xa、Xb和Xc分别指示具有索引a、b和c的重建像素的像素值。在图5B中,x轴指示当前重建像素和在当前重建像素两侧的邻近像素的索引,y轴指示样点的像素值。
类别1指示当前样点与凹形边缘的最低点(即,局部谷底)相应的情况。如曲线图51(Xc<Xa&&Xc<Xb)中所示,如果邻近像素a和b之间的当前重建像素c与凹形边缘的最低点相应,则可将当前重建像素分类为类别1。
类别2指示当前样点位于在凹形边缘的最低点周围的弧形拐角(即,凹形拐角)处的情况。如曲线图52(Xc<Xa&&Xc==Xb)中所示,如果邻近像素a和b之间的当前重建像素c位于凹形边缘的下行曲线的终点处,或者,如曲线图53(Xc==Xa&&Xc<Xb)中所示,如果当前重建像素c位于凹形边缘的上行曲线的起点处,则可将当前重建像素分类为类别2。
类别3指示当前样点位于凸形边缘的最高点周围的弧形拐角(即,凸形拐角)处的情况。如曲线图54(Xc>Xb&&Xc==Xa)中所示,如果邻近像素a和b之间的当前重建像素c位于凸形边缘的下行曲线的起点处,或者,如曲线图55(Xc==Xa&&Xc>Xb)中所示,如果当前重建像素c位于凸形边缘的上行曲线的终点处,则可将当前重建像素分类为类别3。
类别4指示当前样点与凸形边缘的最高点(即,局部谷峰)相应的情况。如曲线图56(Xc>Xa&&Xc>Xb)中所示,如果邻近像素a和b之间的当前重建像素c与凸形边缘的最高点相应,则可将当前重建像素分类为类别1。
如果当前重建像素不满足类别1、2、3和4的条件中的任何一个条件,则当前重建像素不与边缘相应并因此被分类为类别0,并且不需要对类别0的偏移进行编码。
根据一个或更多个实施例,针对与同一类别相应的重建像素,可将重建像素和原始像素之间的差值的平均值确定为当前类别的偏移。此外,可确定所有类别的偏移。
如果通过使用正的偏移值来调整重建的像素值,则可使类别1和2的凹形边缘变平滑,并且类别1和2的凹形边缘可由于负的偏移值而变锐化。类别3和4的凸形边缘可由于负的偏移值而变平滑,并且可由于正的偏移值而变锐化。
根据实施例的SAO编码设备10可不允许边缘的锐化效果。这里,类别1和2的凹形边缘需要正的偏移值,类别3和4的凸形边缘需要负的偏移值。在此情况下,如果已知边缘的类别,则可确定偏移值的符号。因此,SAO编码设备10可不发送偏移值的符号,并且可仅发送偏移值的绝对值。此外,SAO解码设备20可不接收偏移值的符号,并且可仅接收偏移值的绝对值。
因此,SAO编码设备10可根据当前边缘种类的类别对偏移值进行编码,并发送偏移值,SAO解码设备20可将所述类别的重建像素调整接收到的偏移值。
例如,如果边缘类型的偏移值被确定为0,则视频编码设备10可仅发送零值信息作为偏移值。
例如,如果边缘类型的偏移值不为0,则SAO编码设备10可发送零值信息和绝对值作为偏移值。不需要发送偏移值的符号。
如果偏移值不为0,则SAO解码设备20从接收到的偏移值读取零值信息,并可读取偏移值的绝对值。可根据基于重建像素和邻近像素之间的边缘形状的边缘类别来预测偏移值的符号。
因此,根据实施例的SAO编码设备10可根据边缘方向和边缘形状对像素进行分类,可将具有相同的特征的像素之间的平均误差值确定为偏移值,并可根据类别确定偏移值。视频编码设备10可对指示边缘类型的SAO类型信息、指示边缘方向的SAO种类信息和偏移值进行编码并发送。
根据实施例的SAO解码设备20可接收SAO类型信息、SAO种类信息和偏移值,并可根据SAO类型信息和SAO种类信息确定边缘方向。SAO解码设备20可根据边缘方向确定与边缘形状相应的类别的重建像素的偏移值,并可将重建像素的像素值调整该偏移值,从而使原始图像和重建图像之间的误差最小化。
现在将详细描述根据SAO操作基于带类型对像素进行分类的实施例。
根据一个或更多个实施例,重建像素的像素值中的每个像素值可属于多个带中的一个带。例如,根据p比特采样,像素值可具有从最小值Min 0到最大值Max 2^(p-1)的总范围。如果像素值的总范围(Min,Max)被划分为K个区间,则可将像素值的每个区间称为带。如果Bk指示第k个带的最大值,则可划分出带[B0,B1-1]、[B1,B2-1]、[B2,B3-1]…和[Bk-1,Bk]。如果当前重建像素Rec(x,y)的像素值属于带[Bk-1,Bk],则当前带可被确定为k。可均匀或非均匀地来划分带。
例如,如果像素值被分类为均等的8比特像素带,则像素值可被划分为32个带。更详细地讲,像素值可被分类为带[0,7]、[8,15]、…、[240,247]和[248,255]。
在根据带类型被分类的多个带之中,可确定重建像素的每个像素值所属的带。此外,可确定这样的偏移值:该偏移值指示在每个带中的原始像素和重建像素之间的误差的平均值。
因此,SAO编码设备10和SAO解码设备20可对与根据当前带类型被分类的每个带相应的偏移进行编码和收发,并可将重建像素调整所述偏移。
因此,针对带类型,根据实施例的SAO编码设备10和SAO解码设备20可根据重建像素的像素值所属的带对重建像素进行分类,可将偏移确定为属于同一带的重建像素的误差值的平均值,并可将重建像素调整所述偏移,从而使原始图像和重建图像之间的误差最小化。
当根据带类型的偏移被确定时,根据实施例的SAO编码设备10和SAO解码设备20可根据带位置将重建像素分类为多个类别。例如,如果像素值的总范围被划分为K个带,则可根据指示第k个带的带索引k对类别编制索引。类别的数量可被确定为与带的数量相应。
然而,为了减少数据量,SAO编码设备10和SAO解码设备20可限制被用于根据SAO操作确定偏移的类别的数量。例如,可将在带索引增加的方向上从具有预定起始位置的带开始的连续的预定数量的带分配为多个类别,并且可仅确定每个类别的偏移。
例如,如果索引为12的带被确定为起始带,则从起始带开始的四个带(即,索引为12、13、14和15的带)可被分配为类别1、2、3和4。因此,可将包括在索引为12的带中的重建像素和原始像素之间的平均误差确定为类别1的偏移。类似地,可将包括在索引为13的带中的重建像素和原始像素之间的平均误差确定为类别2的偏移,可将包括在索引为14的带中的重建像素和原始像素之间的平均误差确定为类别3的偏移,并可将包括在索引为15的带中的重建像素和原始像素之间的平均误差确定为类别4的偏移。
在此情况下,需要关于带范围起始位置(即,左侧带位置)的信息来确定被分配为多个类别的多个带的位置。因此,根据实施例的SAO编码设备10可对关于起始带位置的信息进行编码,并将其作为SAO种类发送。SAO编码设备10可对指示带类型的SAO类型、SAO种类和根据类别的偏移值进行编码和发送。
根据实施例的SAO解码设备20可接收SAO类型、SAO种类和根据类别的偏移值。如果接收到的SAO类型是带类型,则SAO解码设备20可从SAO种类读取起始带位置。SAO解码设备20可在从起始带开始的四个带之中确定重建像素所属的带,可在根据类别的偏移值之中确定被分配给当前带的偏移值,并可将重建像素的像素值调整该偏移值。
以上,边缘类型和带类型作为SAO类型被引入,并且根据SAO类型的SAO种类和类别被详细描述。
现在将详细描述由SAO编码设备10和SAO解码设备20编码和收发的SAO参数。
根据实施例的SAO编码设备10和SAO解码设备20可根据每个LCU的重建像素的像素分类方法来确定SAO类型。
可根据每个块的图像特征来确定SAO类型。例如,针对包括垂直边缘、水平边缘和对角边缘的LCU,为了改变边缘值,可通过根据边缘类型对像素值进行分类来确定偏移值。针对不包括边缘区域的LCU,可根据带分类来确定偏移值。因此,SAO编码设备10和SAO解码设备20可用信号传输关于每个LCU的SAO类型。
根据实施例的SAO编码设备10和SAO解码设备20可针对每个LCU确定SAO参数。也就是说,可确定LCU的重建像素的SAO类型,可将LCU的重建像素分类为多个类别,并可根据类别来确定偏移值。
在包括在LCU中的重建像素之中,SAO编码设备10可将被分类为同一类别的重建像素的平均误差确定为偏移值。可确定每个类别的偏移值。
根据一个或更多个实施例,SAO参数可包括SAO类型、偏移值和SAO种类。SAO编码设备10和SAO解码设备20可收发针对每个LCU确定的SAO参数。
在LCU的SAO参数之中,根据实施例的SAO编码设备10可对SAO类型和偏移值进行编码和发送。如果SAO类型是边缘类型,则根据实施例的SAO编码设备10还可发送指示边缘方向的SAO种类,其中,SAO类型和根据类别的偏移值位于SAO种类之后。如果SAO类型是带类型,则根据实施例的SAO编码设备10还可发送指示起始带位置的SAO种类,其中,SAO类型和根据类别的偏移值位于SAO种类之后。如果SAO类型是边缘类型,则SAO种类可被分类为边缘种类信息。如果SAO类型是带类型,则SAO种类可被分类为带位置信息。
根据实施例的SAO解码设备20可接收每个LCU的SAO参数,其中,SAO参数包括SAO类型、偏移值和SAO种类。此外,根据实施例的SAO解码设备20可从根据类别的偏移值之中选择每个重建像素所属的类别的偏移值,并将重建像素调整选择的偏移值。
现在将描述用信号传输SAO参数之中的偏移值的实施例。
为了发送偏移值,根据实施例的SAO编码设备10还可发送符号信息和剩余的偏移绝对值。
如果绝对偏移值为0,则不需要对符号信息或偏移值的剩余部分进行编码。然而,如果绝对偏移值不为0,则还可发送符号信息和偏移值的剩余部分。
然而,如以上所描述的,针对边缘类型,由于可根据类别将偏移值预测为正数或负数,因此不需要发送符号信息。
根据一个或更多个实施例,在确定偏移值Off-set之前,可将偏移值Off-set预先限制在从最小值MinOffSet到最大值MaxOffSet的范围内(MinOffSet≤Off-set≤MaxOffSet)。
例如,针对边缘类型,可将类别1和2的重建像素的偏移值确定在从最小值0到最大值7的范围内。针对带类型,可将类别3和4的重建像素的偏移值确定在从最小值-7到最大值0的范围内。
例如,针对带类型,可将所有类别的重建像素的偏移值确定在从最小值-7到最大值7的范围内。
为了减小偏移值的传输比特,可将偏移值的剩余部分限制为p比特值,而不是负数。在此情况下,偏移值的剩余部分可大于或等于0并可小于或等于最大值和最小值之间的差值(0≤偏移值的剩余部分≤MaxOffSet-MinOffSet+1≤2^p)。如果SAO编码设备10发送偏移值的剩余部分,并且SAO解码设备20知道偏移值的最大值和最小值中的至少一个,则可通过仅使用接收到的偏移值的剩余部分来重建原始偏移值。
图6A至图6C是用于解释根据实施例的对SAO参数进行编码的方法的示图。图6A至图6C示出以硬件来实现根据实施例的视频编码方法并以管线(pipe line)形状来处理视频编码方法的示例。在这方面,以硬件来实现视频编码方法的方法可包括特大规模集成化(VLSI)实现方法或多核实现方法,但是不必受限于此。
参照图6A至图6C、图7和图10,示出了被划分为t、t+1和t+2的管线段以及用参考标号61、62和63指示的编码阶段。在这方面,被划分为t、t+1和t+2的管线段指示当编码设备以硬件被实现时按时间顺序处理的操作,用参考标号61、62和63指示的编码阶段表示根据实施例的编码方法的预定操作。箭头指示数据依赖关系。块指示每个阶段所需的数据。
图6A示出当不应用SAO时的视频编码方法。图6B示出当应用SAO时的视频编码方法。
参照图6A,阶段61可通过对变换系数64执行反量化和逆变换来获取当前被编码的LCU的重建数据66。在阶段61之前,还可执行帧内预测和帧间预测、残差的产生过程、变换和量化等。为了便于描述,假设这种处理针对图6A、图6B和图6C被提前执行。另外,阶段61可在重建数据66被获取之前获取语法元素65。在这方面,语法元素65在解码设备后续接收比特流时是必要的,并且语法元素65不包括SAO参数。之后,阶段62可通过执行熵编码来产生比特流67。阶段63可对重建数据66执行去块操作,并产生被执行了去块操作的重建数据68。
图6A的编码方法与不应用SAO的情况有关,并且在阶段62与阶段63之间不存在关于结果值的数据依赖关系。因此,当编码方法以硬件来实现时,阶段62和阶段63可在同一管线段(t+1和t+2)中被同时执行。
另一方面,图6B的编码方法与应用SAO的情况相关,因此执行去块操作的阶段63和执行熵编码的操作62不会在同一管线段中被同时执行,并且管线段的处理可被延迟直到执行去块操作的阶段63获取了SAO参数69为止。也就是说,图6B的编码方法还执行针对被执行了去块操作的重建数据68确定SAO参数69的操作,因此依赖于SAO参数69的阶段62的处理被延迟。因此,需要附加阶段60以及存储空间,其中,附加阶段60将用于执行熵编码的语法元素65传送到阶段62,这会导致电路尺寸和功耗增加。
因此,根据实施例的SAO编码设备10可通过使用运动图像内的时间相关性和空间相关性,基于在对当前LCU进行去块滤波之前获取的数据来预测SAO参数,从而改善由于SAO编码而引起的电路尺寸和功耗的增加。当SAO编码设备10以硬件被实现时,可在熵编码期间去除去块操作和确定SAO的操作之间数据依赖关系,从而减少缓存的数据量和功耗量。
参照图6C,当阶段62执行熵编码时,根据实施例的SAO编码设备10可不使用基于被执行了去块操作的重建数据68而确定的SAO参数69。
因此,可在同一管线段(例如t1-t2)中并行地执行对当前LCU执行去块操作的操作以及对SAO参数进行编码的操作。也就是说,与图6B相比,图6C中可减少一个管线段。
下面将参照图7至图10来更详细地描述去除基于被执行了去块操作的重建数据68而确定的SAO参数69的依赖关系的方法。
图7是用于解释根据实施例的对SAO参数进行编码的方法的示图。
参照图7,根据实施例的SAO编码设备10可从先前被编码的LCU 71来预测当前被编码的LCU 70的SAO参数73,并对SAO参数73进行编码。例如,SAO编码设备10可将先前被确定的SAO参数73进行编码作为当前被编码的LCU 70的SAO参数,可不用等到去块操作被完成,并且可产生针对SAO参数和LCU#n-1语法元素74的比特流72。
另外,SAO编码设备10可对当前LCU 70的重建数据75执行去块操作,并且可从被执行了去块操作的重建数据76确定SAO参数77。在当前LCU 70中确定的SAO参数77可被用作接下来将被编码的LCU的SAO参数。
虽然在图7中,当前LCU 70和先前被编码的LCU 71恰恰在熵编码之前的管线段被编码,但是示例性实施例不限于此。可使用在时间上和在空间上在当前被编码的LCU之前被编码的LCU#n-1、n-2、n-3的SAO参数。
图8示出根据实施例的对SAO参数进行编码的方法的示例。
参照图8,当前被编码的LCU 80可通过使用在同一帧中的先前被编码的LCU 81的SAO参数对当前被编码的LCU 80的SAO执行熵编码。
图9示出根据实施例的对SAO参数进行编码的方法的另一示例。
参照图9,当前被编码的LCU 82可通过使用在包括当前LCU的帧之前的帧中的被编码的LCU 83的SAO参数来对当前被编码的LCU 82的SAO执行熵编码。
图10示出根据实施例的对SAO参数进行编码的方法的另一示例。
参照图10,根据实施例的SAO编码设备10可在SAO阶段85中基于在对当前被编码的编码单元执行去块操作的管线段(t+2~t+3)之前所获取的预测信息来预测SAO参数88。SAO编码设备10可对预测出的SAO参数88执行熵编码,并产生比特流89。在这方面,阶段84(t~t+1)可确定预定的预测参数87,并从预定的预测单元获取残差86并对残差86进行处理。预测参数87可包括帧间预测期间的运动矢量以及帧内预测期间的帧内模式。
例如,SAO编码设备10可基于帧间预测期间的运动矢量以及帧内预测期间的帧内模式将当前LCU的SAO类型预测为边缘类型,并预测被预测出的边缘种类的SAO种类。
作为另一示例,SAO编码设备10可从残差86预测量化误差,并预测SAO参数。
根据上述实施例,根据实施例的SAO编码设备10可通过使用运动图像内的时间相关性和空间相关性,基于在对当前LCU执行去块滤波之前所获取的预测信息来预测SAO参数。因此,在去块操作与SAO参数的预测操作之间不存在数据依赖关系,从而减少缓存的数据量和功耗量。
图11A和图11B分别是根据一个或更多个实施例的SAO编码设备90的框图和对边缘类型的SAO参数进行编码的方法的流程图。
参照图11A,SAO编码设备90可包括方向性信息获取器92、边缘偏移参数确定器94和SAO编码器96。
根据实施例的SAO编码设备90接收视频的图像(诸如条带)的输入,将每个图像划分为块,并对每个块进行编码。块可具有方形形状、矩形形状和任意几何形状,并且不限于具有预定尺寸的数据单元。根据一个或更多个实施例的块可以是LCU或根据树结构的编码单元之中的编码单元。在下面将参照图15至图34描述基于根据树结构的编码单元的视频编码方法和视频解码方法。
根据实施例的SAO编码设备90可将每个输入图像划分为LCU,并可将通过对每个LCU的样点执行预测、变换和熵编码而产生的结果数据输出为比特流。LCU的样点可以是包括在LCU中的像素的像素值数据。
根据实施例的SAO编码设备90可单独地对图像的LCU进行编码。SAO编码设备10可基于从当前LCU划分的具有树结构的编码单元对当前LCU进行编码。
为了对当前LCU进行编码,SAO编码设备10可通过对包括在当前LCU中的具有树结构的编码单元中的每个编码单元执行帧内预测、帧间预测、变换和量化来对样点进行编码。
之后,SAO编码设备90可通过对具有树结构的编码单元中的每个编码单元执行反量化、逆变换和帧间预测或帧内补偿来对编码单元进行解码,以重建包括在当前LCU中的编码样点。
SAO编码设备90也可对LCU中的重建样点执行去块操作,以便减轻块边界的图像恶化,并将SAO应用于被执行去块操作的LCU以便使原始像素与重建像素之间的误差最小化。已参照图3至图5提供了应用SAO的方法的详细描述,因此在此将省略该详细描述。
为了应用SAO,SAO编码设备90需要确定包括SAO类型、SAO种类和偏移值的SAO参数。在这方面,SAO类型可指示根据当前LCU的像素值分类方法的边缘类型或带类型,SAO种类可指示根据边缘类型的边缘方向或根据带类型的带范围,偏移值可指示包括在SAO种类中的原始像素与重建像素之间的差值。
同时,当SAO类型被确定为边缘类型时,根据边缘方向的边缘种类被确定为0°、90°、45°和135°中的一个。然而,需要针对以上的四种边缘种类通过将SAO应用到LCU中包括的所有像素来计算率失真(RD)损耗,以确定边缘种类。也就是说,SAO编码设备90需要计算所有像素的边缘偏移值,这使电路的实现复杂化,并因此逻辑门或代码大小以及功耗会增加。
因此,根据实施例的SAO编码设备90可获取当前被编码的LCU的方向性信息,并基于方向性信息来确定边缘偏移参数。
现在将参照图11B详细地描述SAO编码设备90的详细操作。
在操作91,根据实施例的方向性信息获取器92可获取视频的LCU之中的当前被编码的LCU的方向性信息。在这方面,获取的边缘方向可以是0°、90°、45°和135°中的一个。
根据实施例的方向性信息获取器92可通过使用边缘检测算法来获取当前被编码的LCU的边缘的方向性信息。例如,方向性信息获取器92可通过使用边缘检测算法(诸如索贝尔(Sobel)算法)来检测LCU的边缘。方向性信息获取器92可粗略估计被检测的边缘的方向,并将该方向确定为0°、90°、45°和135°中的一个。
根据实施例的方向性信息获取器92可通过使用当前被编码的LCU的帧内模式信息来获取方向性信息。另外,LCU可包括多个预测单元,并具有至少一种帧内模式。在此情况下,方向性信息获取器92可计算关于LCU中包括的多个帧内模式的直方图,并基于所述直方图来获取预定帧内模式作为方向性信息。作为另一示例,方向性信息获取器92可根据LCU中的帧内模式的出现次数来获取方向性信息。
根据实施例的方向性信息获取器92可基于当前被编码的LCU的运动矢量来获取方向性信息。另外,LCU可包括多个预测单元,并具有至少一个运动矢量。在此情况下,方向性信息获取器92可计算关于LCU中包括的运动矢量的直方图,并基于所述直方图来获取方向性信息。作为另一示例,方向性信息获取器92可根据LCU中运动矢量的大小来获取方向性信息。方向性信息获取器92可粗略估计被检测的运动矢量的方向,并将该方向确定为0°、90°、45°和135°中的一个。
在操作93,根据实施例的边缘偏移参数获取器94可基于获取的方向性信息来确定当前被编码的LCU的边缘偏移参数。在这方面,确定的边缘偏移参数可以是以上参照图4描述的边缘种类。
例如,边缘偏移参数驱动器94可确定具有与获取的方向相同的方向的边缘种类。也就是说,当获取的方向性信息是0°时,边缘偏移参数确定器94可将水平方向确定为边缘种类。
作为另一示例,边缘偏移参数确定器94可将具有与获取的方向正交的方向性的边缘种类确定为边缘检测的结果。也就是说,当获取的方向性信息为0°时,边缘偏移参数确定器94可将垂直方向确定为边缘种类。
在操作95,根据实施例的SAO编码器96可对边缘偏移参数执行熵编码。例如,SAO编码器96可对由边缘偏移参数确定器94确定的边缘种类执行熵编码。
根据实施例的SAO编码设备90可基于由边缘偏移参数确定器94确定的边缘种类来确定SAO操作值,并执行SAO操作。
根据实施例的SAO编码设备90可包括用于总体上控制方向性信息获取器92、边缘偏移参数确定器94和SAO编码器96的中央处理器(未示出)。可选地,方向性信息获取器92、边缘偏移参数确定器94和SAO编码器96可由它们的单独处理器(未示出)来驱动,其中,所述单独处理器协作地进行操作以控制SAO编码设备90。可选地,根据实施例的SAO编码设备10外部的外部处理器(未示出)可控制方向性信息获取器92、边缘偏移参数确定器94和SAO编码器96。
根据实施例的SAO编码设备90可包括一个或更多个数据存储器(未示出),其中,所述一个或更多个数据存储器用于存储方向性信息获取器92、边缘偏移参数确定器94和SAO编码器96的输入数据和输出数据。SAO编码设备90可包括存储器控制器(未示出),其中,存储器控制器用于对输入到数据存储器的数据和从数据存储器输出的数据进行管理。
为了执行包括变换的视频编码操作并输出视频编码操作的结果,根据实施例的SAO编码设备10可与内部或外部视频编码处理器联合地进行操作。根据实施例的SAO编码设备10的内部视频编码处理器可以是用于执行视频编码操作的独立的处理器。此外,SAO编码设备90、中央处理器或图形处理器可包括用于执行基本视频编码操作的视频编码处理器模块。
现在将参照图12至图14详细地描述基于LCU的方向性信息来确定边缘偏移参数的方法。
图12是用于解释根据实施例的对边缘类型的SAO参数进行编码的方法的示例的示图。
参照图12,方向性信息获取器92可通过使用边缘检测算法来获取当前被编码的LCU的边缘的方向性信息。在这方面,方向性信息获取器92可通过使用边缘检测算法(诸如索贝尔(Sobel)算法)来检测LCU的边缘1201。方向性信息获取器92可粗略估计被检测的边缘1201的方向,并将该方向确定为0°、90°、45°和135°中的一个。例如,被检测的边缘1201可具有135°的方向性。
根据实施例的边缘偏移参数确定器94可基于获取的方向性信息来确定当前被编码的LCU的边缘种类。例如,边缘偏移参数确定器94可从图12的四个偏移种类之中选择具有与边缘1201的方向的方向性相同的方向性的边缘种类1202。作为另一示例,边缘偏移参数确定器94可从图12的四个偏移种类之中选择具有与边缘1201的方向正交的方向性的边缘种类1203。
图13是用于解释根据实施例的对边缘类型的SAO参数进行编码的方法的另一示例的示图。
参照图13,方向性信息获取器92可通过使用当前被编码的LCU的帧内模式信息来获取方向性信息。也就是说,方向性信息获取器92可基于先前被确定的表1205来将编码单元的35个帧内模式粗略估计为四个方向。例如,当从当前被编码的LCU获取8个帧内模式时,方向性信息获取器92可基于表1205确定LCU具有水平方向的方向性。
另外,LCU可包括多个预测单元,并具有至少一种帧内模式。在此情况下,方向性信息获取器92可计算关于LCU中包括的帧内模式的直方图,并基于所述直方图来获取预定帧内模式作为方向性信息。作为另一示例,方向性信息获取器92可根据LCU中的帧内模式的出现次数来获取方向性信息。
根据实施例的边缘偏移参数确定器94可基于获取的方向性信息来确定当前被编码的LCU的边缘种类。例如,边缘偏移参数确定器94可从图13的四个偏移种类之中选择具有与获取的方向1204的方向性相同的方向性的边缘种类1206。作为另一示例,边缘偏移参数确定器94可从图13的四个偏移种类之中选择具有与获取的方向1204正交的方向性的边缘种类1207。
图14是用于解释根据实施例的对边缘类型的SAO参数进行编码的方法的另一示例的示图。
参照图14,方向性信息获取器92可基于当前被编码的LCU的运动矢量1208来获取方向性信息。在这方面,方向性信息获取器92可粗略估计运动矢量1208的方向,并将该方向确定为0°、90°、45°和135°中的一个。例如,图14的运动矢量1208的方向可被确定为0°。
另外,LCU可包括多个预测单元,并具有至少一个运动矢量。在此情况下,方向性信息获取器92可计算关于LCU中包括的运动矢量的直方图,并基于所述直方图来获取方向性信息。作为另一示例,方向性信息获取器92可根据LCU中运动矢量的大小来获取方向性信息。
根据实施例的边缘偏移参数确定器94可基于获取的方向性信息来确定当前被编码的LCU的边缘种类。例如,边缘偏移参数确定器94可从图14的四个偏移种类之中选择具有与运动矢量1208的方向的方向性相同的方向性的边缘种类1209。作为另一示例,边缘偏移参数确定器94可从图14的四个偏移种类之中选择具有与运动矢量1208的方向正交的方向性的边缘种类1210。
另一方面,如上所述,SAO编码设备90提供基于在LCU中获取的方向性信息确定边缘种类的方法,从而对电路实现和功耗的效率低下进行改善。
在SAO编码设备10和SAO解码设备20中,如上所述,视频数据可被划分为LCU,每个LCU可基于具有树结构的编码单元被编码和解码,并且每个LCU可根据像素分类来确定偏移值。在下文中,将参照图15至图34描述在根据各种实施例的基于具有树结构的编码单元的视频编码方法和视频解码方法中使用根据像素分类的SAO操作的实施例。
图15是根据一个或更多个实施例的基于根据树结构的编码单元的视频编码设备100的框图。
涉及基于根据树结构的编码单元的视频预测的视频编码设备100包括LCU划分器110、编码单元确定器120和输出器130。
LCU划分器110可基于图像的当前画面的LCU来划分当前画面,其中,LCU是具有最大尺寸的编码单元。如果当前画面大于LCU,则可将当前画面的图像数据划分为至少一个LCU。根据一个或更多个实施例的LCU可以是尺寸为32×32、64×64、128×128或256×256等的数据单元,其中,数据单元的形状是宽度和长度为2的若干次方的正方形。图像数据可根据至少一个LCU被输出到编码单元确定器120。
根据一个或更多个实施例的编码单元可由最大尺寸和深度表征。深度表示编码单元从LCU被空间划分的次数,并且随着深度加深,根据深度的较深层编码单元可从LCU被划分到最小编码单元(SCU)。LCU的深度为最高深度,SCU的深度为最低深度。由于随着LCU的深度加深,与每个深度相应的编码单元的尺寸减小,因此与更高深度相应的编码单元可包括多个与更低深度相应的编码单元。
如上所述,当前画面的图像数据根据编码单元的最大尺寸被划分为LCU,并且每个LCU可包括根据深度被划分的较深层编码单元。由于根据深度对根据一个或更多个实施例的LCU进行划分,因此可根据深度对包括在LCU中的空间域的图像数据进行分层分类。
可预先确定编码单元的最大深度和最大尺寸,其中,所述最大深度和最大尺寸限制LCU的高度和宽度被分层划分的总次数。
编码单元确定器120对通过根据深度对LCU的区域进行划分而获取的至少一个划分区域进行编码,并且根据所述至少一个划分区域来确定用于输出最终编码的图像数据的深度。换言之,编码单元确定器120通过根据当前画面的LCU以根据深度的较深层编码单元对图像数据进行编码,并选择具有最小编码误差的深度,来确定深度。将确定的深度和根据确定的深度的编码的图像数据输出到输出器130。
基于与等于或低于最大深度的至少一个深度相应的较深层编码单元,对LCU中的图像数据进行编码,并且基于每个较深层编码单元比较对图像数据进行编码的结果。在对较深层编码单元的编码误差进行比较之后,可选择具有最小编码误差的深度。可针对每个LCU选择至少一个深度。
随着编码单元根据深度而被分层地划分以及随着编码单元的数量增加,LCU的尺寸被划分。另外,即使在一个LCU中编码单元与同一深度相应,仍通过分别测量每个编码单元的图像数据的编码误差来确定是否将与同一深度相应的每个编码单元划分到更低深度。因此,即使当图像数据被包括在一个LCU中时,编码误差仍可根据所述一个LCU中的区域而不同,因此深度可根据图像数据中的区域而不同。因此,可在一个LCU中确定一个或更多个深度,并且可根据至少一个深度的编码单元来对LCU的图像数据进行划分。
因此,编码单元确定器120可确定包括在LCU中的具有树结构的编码单元。根据一个或更多个实施例的“具有树结构的编码单元”包括LCU中包括的所有较深层编码单元中的与确定为深度的深度相应的编码单元。可根据LCU的同一区域中的深度来分层地确定深度的编码单元,并可在不同区域中独立地确定深度的编码单元。类似地,可独立于另一区域中的深度而确定当前区域中的深度。
根据一个或更多个实施例的最大深度是与从LCU到SCU的划分次数相关的索引。根据一个或更多个实施例的第一最大深度可表示从LCU到SCU的总划分次数。根据一个或更多个实施例的第二最大深度可表示从LCU到SCU的深度等级的总数。例如,当LCU的深度是0时,对LCU划分一次的编码单元的深度可被设置为1,对LCU划分两次的编码单元的深度可被设置为2。这里,如果SCU是LCU被划分四次的编码单元,则存在深度0、1、2、3和4的5个深度等级,并因此第一最大深度可被设置为4,第二最大深度可被设置为5。
可根据LCU执行预测编码和变换。根据LCU,还基于根据等于或小于最大深度的深度的较深层编码单元来执行预测编码和变换。
由于每当根据深度对LCU进行划分时,较深层编码单元的数量增加,因此对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于描述,在LCU中,现在将基于当前深度的编码单元来描述预测编码和变换。
视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。
例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可选择不同于编码单元的数据单元,以便对编码单元中的图像数据执行预测编码。
为了在LCU中执行预测编码,可基于与深度相应的编码单元(即,基于不再被划分为与更低深度相应的编码单元的编码单元)来执行预测编码。以下,不再被划分且成为用于预测编码的基本单元的编码单元现在将被称为“预测单元”。通过划分预测单元而获取的分区可包括预测单元或通过对预测单元的高度和宽度中的至少一个进行划分而获取的数据单元。分区是编码单元的预测单元被划分的数据单元,并且预测单元可以是具有与编码单元相同的尺寸的分区。
例如,当2N×2N(其中,N是正整数)的编码单元不再被划分并且成为2N×2N的预测单元时,分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区模式的示例包括通过对预测单元的高度或宽度进行对称地划分而获取的对称分区、通过对预测单元的高度或宽度进行非对称地划分(诸如,1:n或n:1)而获取的分区、通过对预测单元进行几何地划分而获取的分区、以及具有任意形状的分区。
预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。另外,可仅对2N×2N的分区执行跳过模式。可对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。
视频编码设备100不仅可基于用于对图像数据进行编码的编码单元还可基于与编码单元不同的数据单元,来对编码单元中的图像数据执行变换。为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的数据单元可包括帧内模式的数据单元和帧间模式的数据单元。
以与根据树结构的编码单元类似的方式,编码单元中的变换单元可被递归地划分为更小尺寸的区域。因此,可基于根据变换深度的具有树结构的变换单元,对编码单元中的残差进行划分。
还可在变换单元中设置变换深度,其中,变换深度指示通过对编码单元的高度和宽度进行划分而达到变换单元的划分次数。例如,在2N×2N的当前编码单元中,当变换单元的尺寸是2N×2N时,变换深度可以是0,当变换单元的尺寸是N×N时,变换深度可以是1,当变换单元的尺寸是N/2×N/2时,变换深度可以是2。换句话说,还可根据变换深度设置具有树结构的变换单元。
根据与深度相应的编码单元的编码信息不仅要求关于深度的信息,还要求关于与预测编码和变换相关的信息的信息。因此,编码单元确定器120不仅确定具有最小编码误差的深度,还确定预测单元中的分区模式、根据预测单元的预测模式以及用于变换的变换单元的尺寸。
下面将参照图7至图19详细描述根据一个或更多个实施例的LCU中的根据树结构的编码单元以及确定预测单元/分区和变换单元的方法。
编码单元确定器120可通过使用基于拉格朗日乘数的率失真优化来测量根据深度的较深层编码单元的编码误差。
输出器130在比特流中输出LCU的图像数据和关于根据深度的编码模式的信息,其中,所述LCU的图像数据基于由编码单元确定器120确定的至少一个深度而被编码。
可通过对图像的残差进行编码来获取编码图像数据。
关于根据深度的编码模式的信息可包括关于深度的信息、关于预测单元中的分区模式的信息、关于预测模式的信息和关于变换单元的尺寸的信息。
可通过使用根据深度的划分信息来定义关于深度的信息,其中,根据深度的划分信息指示是否对更低深度而不是当前深度的编码单元执行编码。如果当前编码单元的当前深度是深度,则对当前编码单元中的图像数据进行编码并输出,因此可将划分信息定义为不将当前编码单元划分到更低深度。可选地,如果当前编码单元的当前深度不是深度,则对更低深度的编码单元执行编码,并因此可将划分信息定义为对当前编码单元进行划分来获取更低深度的编码单元。
如果当前深度不是深度,则对被划分到更低深度的编码单元的编码单元执行编码。由于更低深度的至少一个编码单元存在于当前深度的一个编码单元中,因此对更低深度的每个编码单元重复执行编码,并因此可对具有相同深度的编码单元递归地执行编码。
由于针对一个LCU确定具有树结构的编码单元,并且针对深度的编码单元确定关于至少一个编码模式的信息,因此可针对一个LCU确定关于至少一个编码模式的信息。另外,由于根据深度对图像数据进行分层划分,因此LCU的图像数据的深度可根据位置而不同,因此可针对图像数据设置划分信息。
因此,输出器130可将相应的划分信息分配给包括在LCU中的编码单元、预测单元和最小单元中的至少一个。
根据一个或更多个实施例的最小单元是通过将构成最低深度的SCU划分为4份而获取的正方形数据单元。可选择地,根据实施例的最小单元可以是可包括在LCU中所包括的所有编码单元、预测单元、分区单元和变换单元中的最大正方形数据单元。
例如,通过输出器130输出的编码信息可被分类为根据较深层编码单元的编码信息和根据预测单元的编码信息。根据较深层编码单元的编码信息可包括关于预测模式的信息和关于分区尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息、以及关于帧内模式的插值方法的信息。
根据画面、条带或GOP定义的关于编码单元的最大尺寸的信息和关于最大深度的信息可被插入到比特流的头、序列参数集或画面参数集中。
还可通过比特流的头、序列参数集或画面参数集来输出关于针对当前视频允许的变换单元的最大尺寸的信息、以及关于变换单元的最小尺寸的信息。输出器130可对与以上参照图1A至图14描述的SAO操作相关的SAO参数进行编码并输出。
在视频编码设备100中,较深层编码单元可以是通过将更高深度的编码单元(更高一层)的高度或宽度划分成两份而获取的编码单元。换言之,当当前深度的编码单元的尺寸是2N×2N时,更低深度的编码单元的尺寸是N×N。另外,尺寸为2N×2N的具有当前深度的编码单元可包括最多4个具有更低深度的编码单元。
因此,视频编码设备100可基于考虑当前画面的特征而确定的LCU的尺寸和最大深度,通过针对每个LCU确定具有最优形状和最优尺寸的编码单元来形成具有树结构的编码单元。另外,由于可通过使用各种预测模式和变换中的任意一个对每个LCU执行编码,因此可考虑各种图像尺寸的编码单元的特征来确定最优编码模式。
因此,如果以宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块的数量极度增加。因此,针对每个宏块产生的压缩信息的条数增加,因此难以发送压缩的信息,并且数据压缩效率降低。然而,通过使用视频编码设备100,由于在考虑图像的尺寸的同时增加编码单元的最大尺寸,并同时在考虑图像的特征的同时调整编码单元,因此可提高图像压缩效率。
图15的视频编码设备100可执行以上参照图1A和图11A描述的SAO编码设备10的操作。
图16是根据一个或更多个实施例的基于具有树结构的编码单元的视频解码设备200的框图。
涉及基于具有树结构的编码单元的视频预测的视频解码设备200包括接收器210、图像数据和编码信息提取器220和图像数据解码器230。
用于视频解码设备200的解码操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照图8和视频编码设备100描述的定义相同。
接收器210接收和解析编码视频的比特流。图像数据和编码信息提取器220从解析的比特流,针对每个编码单元提取编码的图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个LCU的树结构。图像数据和编码信息提取器220可从关于当前画面的头、序列参数集或画面参数集提取关于当前画面的编码单元的最大尺寸的信息。
另外,图像数据和编码信息提取器220从解析的比特流,根据每个LCU,提取具有树结构的编码单元的划分信息和编码信息。提取的划分信息和编码信息被输出到图像数据解码器230。也就是说,比特流中的图像数据被划分为LCU,使得图像数据解码器230针对每个LCU对图像数据进行解码。
可针对与深度相应的至少一条划分信息设置根据LCU的划分信息和编码信息,根据深度的编码信息可包括关于与深度相应的相应编码单元的分区模式的信息、关于预测模式的信息和变换单元的划分信息。另外,根据深度的划分信息可被提取为关于最终深度的信息。
由图像数据和编码信息提取器220提取的根据每个LCU的划分信息和编码信息是这样的划分信息和编码信息:该划分信息和编码信息被确定为在编码器(诸如,视频编码设备100)根据每个LCU对根据深度的每个较深层编码单元重复地执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的深度和编码模式对图像数据进行解码来重建图像。
由于划分信息和编码信息可被分配给相应的编码单元、预测单元和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可根据预定数据单元,提取划分信息和编码信息。如果相应LCU的划分信息和编码信息根据预定数据单元被记录,则可将被分配相同的划分信息和编码信息的预定数据单元推断为是包括在同一LCU中的数据单元。
图像数据解码器230基于根据LCU的划分信息和编码信息,通过对每个LCU中的图像数据进行解码来重建当前画面。换言之,图像数据解码器230可基于提取出的关于包括在每个LCU中的具有树结构的编码单元之中的每个编码单元的分区模式、预测模式和变换单元的信息,对编码的图像数据进行解码。解码处理可包括预测(包含帧内预测和运动补偿)和逆变换。
图像数据解码器230可基于关于根据深度的编码单元的预测单元的分区模式和预测模式的信息,根据每个编码单元的分区和预测模式,执行帧内预测或运动补偿。
此外,为了对每个LCU进行逆变换,图像数据解码器230可针对每个编码单元读取关于根据树结构的变换单元的信息,以基于每个编码单元的变换单元来执行逆变换。经过逆变换,可重建编码单元的空间域的像素值。
图像数据解码器230可通过使用根据深度的划分信息来确定当前LCU的最终深度。如果划分信息指示图像数据在当前深度中不再被划分,则当前深度是最终深度。因此,图像数据解码器230可通过使用用于与深度相应的每个编码单元的关于预测单元的分区模式的信息、关于预测模式的信息和变换单元的划分信息,对当前LCU中的编码数据进行解码。
换言之,可通过观察被分配给编码单元、预测单元和最小单元中的预定数据单元的编码信息集来收集包含包括相同划分信息的编码信息的数据单元,并且收集的数据单元可被认为是将由图像数据解码器230以相同编码模式进行解码的一个数据单元。这样,可通过获取关于每个编码单元的编码模式的信息来对当前编码单元进行解码。
此外,图16的视频解码设备200可执行以上参照图2A描述的SAO解码设备20的操作。
图17是用于描述根据一个或更多个实施例的编码单元的构思的示图。
编码单元的尺寸可被表示为宽度×高度,并且可以是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的分区。
在视频数据310中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为3。在视频数据330中,分辨率为352×288,编码单元的最大尺寸为16,最大深度为1。图17中示出的最大深度表示从LCU到最小解码单元的划分总次数。
如果分辨率高或数据量大,则编码单元的最大尺寸可能较大,从而不仅提高编码效率,而且准确地反映图像的特征。因此,具有比视频数据330更高分辨率的视频数据310和320的编码单元的最大尺寸可以是64。
由于视频数据310的最大深度是2,因此由于通过对LCU划分两次,深度加深至两层,因此视频数据310的编码单元315可包括长轴尺寸为64的LCU和长轴尺寸为32和16的编码单元。由于视频数据330的最大深度是1,因此由于通过对LCU划分一次,深度加深至一层,因此视频数据330的编码单元335可包括长轴尺寸为16的LCU和长轴尺寸为8的编码单元。
由于视频数据320的最大深度是3,因此由于通过对LCU划分三次,深度加深至3层,因此视频数据320的编码单元325可包括长轴尺寸为64的LCU和长轴尺寸为32、16和8的编码单元。随着深度加深,可准确地表达详细信息。
图18是根据一个或更多个实施例的基于编码单元的图像编码器400的框图。
图像编码器400执行视频编码设备100的编码单元确定器120中对图像数据进行编码所需的操作。换言之,帧内预测器420在当前帧405中根据预测单元对帧内模式下的编码单元执行帧内预测,帧间预测器415根据预测单元通过使用当前图像405和从重建画面缓冲器410获取的参考图像对帧间模式下的编码单元执行帧间预测。当前图像405可被划分为LCU,然后LCU可被顺序编码。在这方面,可对将被划分为具有树结构的编码单元的LCU进行编码。
通过从与当前图像405的编码的编码单元有关的数据去除从帧内预测器420或帧间预测器415输出的与每个模式的编码单元有关的预测数据来产生残差数据,并且所述残差数据根据变换单元通过变换器425和量化器430被输出为量化后的变换系数。量化后的变换系数通过反量化器445和逆变换器450被重建为空间域中的残差数据。重建的空间域中的残差数据被添加到从帧间预测器420或帧间预测器输出的每个模式的编码单元的预测数据,并因此被重建为当前图像405的编码单元的空间域的数据。重建的空间域中的数据通过去块器455和SAO执行器460被产生为重建图像,重建图像被存储在重建画面缓冲器410中。重建画面缓冲器410中存储的重建图像可被用作用于另一图像的帧间预测的参考图像。由变换器425和量化器430进行量化的变换系数可通过熵编码器435被输出为比特流440。
为了将图像编码器400应用于视频编码设备100,图像编码器400的所有元件(即,帧间预测器415、帧内预测器420、变换器425、量化器430、熵编码器435、反量化器445、逆变换器450、去块器455和SAO执行器460)根据每个LCU基于具有树结构的编码单元中的每个编码单元执行操作。
具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前LCU的最大尺寸和最大深度的同时确定具有树结构的编码单元中的每个编码单元的分区和预测模式,变换器430确定具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。
具体地,帧内预测器420和帧间预测器415可在考虑当前LCU的最大尺寸和最大深度的情况下确定具有树结构的编码单元中的每个编码单元的分区模式和预测模式,变换器425可确定是否在具有树结构的编码单元中的每个编码单元中划分具有四叉树结构的变换单元。
图19是根据一个或更多个实施例的基于编码单元的图像解码器500的框图。
熵解码器515从比特流505解析将被解码的编码图像数据和解码所需的关于编码的信息。编码图像数据是量化后的变换系数,其中,通过反量化器520和逆变换器525从所述量化后的变换系数重建残差数据。
帧内预测器540根据每个预测单元对帧内模式下的编码单元执行帧内预测。帧间预测器535通过使用从重建画面缓冲器530获取的参考图像,针对每个预测单元对当前图像405中的帧间模式下的编码单元执行帧间预测。
经过帧内预测器540和帧间预测器535的关于每个模式的编码单元的预测数据和残差数据被求和,并因此关于当前图像405的编码单元的空间域中的数据可被重建,重建的空间域中的数据可通过去块器545和SAO执行器550被输出为重建图像560。重建画面缓冲器530中存储的重建图像可被输出为参考图像。
为了在视频解码设备200的图像数据解码器230中对图像数据进行解码,可执行根据实施例的图像解码器500的熵解码器515之后的操作。
为了将图像解码器500应用于根据实施例的视频解码设备200中,图像解码器500的所有元件(即,熵解码器515、反量化器520、逆变换器525、帧间预测器535、去块器545和SAO执行器550)可针对每个LCU基于具有树结构的编码单元执行操作。
具体地,SAO执行器550和帧间预测器535可针对具有树结构的编码单元中的每个编码单元确定分区和预测模式,逆变换器525可针对每个编码单元确定是否划分具有四叉树结构的变换单元。
图20是示出根据一个或更多个实施例的根据深度的较深层编码单元以及分区的示图。
视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特征。可根据图像的特征自适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸来确定根据深度的较深层编码单元的尺寸。
根据一个或更多个实施例,在编码单元的分层结构600中,编码单元的最大高度和最大宽度均是64,最大深度是3。在此情况下,最大深度是指编码单元从LCU到SCU被划分的总次数。由于深度沿着分层结构600的垂直轴加深,因此较深层编码单元的高度和宽度均被划分。另外,预测单元和分区沿着分层结构600的水平轴被示出,其中,所述预测单元和分区是对每个较深层编码单元进行预测编码的基础。
换言之,在分层结构600中,编码单元610是LCU,其中,深度为0,尺寸(即,高度乘宽度)为64×64。深度沿着垂直轴加深,存在尺寸为32×32和深度为1的编码单元620、尺寸为16×16和深度为2的编码单元630、尺寸为8×8和深度为3的编码单元640。尺寸为8×8和深度为3的编码单元640是SCU。
编码单元的预测单元和分区根据每个深度沿着水平轴被排列。换言之,如果尺寸为64×64和深度为0的编码单元610是预测单元,则可将预测单元划分成包括在编码单元610中的分区,即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614或尺寸为32×32的分区616。
类似地,可将尺寸为32×32和深度为1的编码单元620的预测单元划分成包括在编码单元620中的分区,即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624和尺寸为16×16的分区626。
类似地,可将尺寸为16×16和深度为2的编码单元630的预测单元划分成包括在编码单元630中的分区,即,包括在编码度单元630中的尺寸为16×16的分区、尺寸为16×8的分区632、尺寸为8×16的分区634和尺寸为8×8的分区636。
类似地,可将尺寸为8×8和深度为3的编码单元640的预测单元划分成包括在编码单元640中的分区,即,包括在编码单元640中的尺寸为8×8的分区、尺寸为8×4的分区642、尺寸为4×8的分区644和尺寸为4×4的分区646。
为了确定构成LCU 610的编码单元的最终深度,视频编码设备100的编码单元确定器120对包括在LCU 610中的与每个深度相应的编码单元执行编码。
随着深度加深,包括具有相同范围和相同尺寸的数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度2相应的编码单元来覆盖包括在与深度1相应的一个编码单元中的数据。因此,为了根据深度比较对相同数据进行编码的结果,与深度1相应的编码单元和四个与深度2相应的编码单元均被编码。
为了针对多个深度之中的当前深度执行编码,可沿着分层结构600的水平轴,通过对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度,选择最小编码误差。可选地,随着深度沿着分层结构600的垂直轴加深,可通过针对每个深度执行编码来比较根据深度的最小编码误差,以搜索最小编码误差。在编码单元610中的具有最小编码误差的深度和分区可被选为编码单元610的最终深度和分区模式。
图21是用于描述根据一个或更多个实施例的编码单元710和变换单元720之间的关系的示图。
视频编码设备100或视频解码设备200针对每个LCU,根据具有小于或等于LCU的尺寸的编码单元,对图像进行编码或解码。可基于不大于相应编码单元的数据单元,来选择用于在编码期间进行变换的变换单元的尺寸。
例如,在视频编码设备100或视频解码设备200中,如果编码单元710的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。
此外,可通过对小于64×64的尺寸为32×32、16×16、8×8和4×4的变换单元中的每一个执行变换,来对尺寸为64×64的编码单元710的数据进行编码,然后可选择具有最小编码误差的变换单元。
图22是用于描述根据一个或更多个实施例的与深度相应的编码单元的编码信息的示图。
视频编码设备100的输出器130可对与最终深度相应的每个编码单元的关于分区模式的信息800、关于预测模式的信息810以及关于变换单元的尺寸的信息820进行编码,并将信息800、信息810以及信息820作为关于编码模式的信息来发送。
信息800指示关于通过划分当前编码单元的预测单元而获取的分区的模式的信息,其中,分区是用于对当前编码单元进行预测编码的数据单元。例如,可将尺寸为2N×2N的当前编码单元CU_0划分成以下分区中的任意一个:尺寸为2N×2N的分区802、尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的分区808。这里,关于分区模式的信息800被设置为指示以下分区之一:尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的分区808。
信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。
信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间变换单元828。
视频解码设备200的图像数据和编码信息提取器220可根据每个较深层编码单元,提取并使用用于解码的信息800、信息810和信息820。
图23是根据一个或更多个实施例的根据深度的较深层编码单元的示图。
划分信息可用来指示深度的改变。划分信息指示当前深度的编码单元是否被划分成更低深度的编码单元。
用于对深度为0和尺寸为2N_0×2N_0的编码单元900进行预测编码的预测单元910可包括以下分区模式的分区:尺寸为2N_0×2N_0的分区模式912、尺寸为2N_0×N_0的分区模式914、尺寸为N_0×2N_0的分区模式916和尺寸为N_0×N_0的分区模式918。图23仅示出了通过对称地划分预测单元910而获取的分区模式912至918,但是分区模式不限于此,并且预测单元910的分区可包括非对称分区、具有预定形状的分区和具有几何形状的分区。
根据每种分区模式,对尺寸为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的分区执行跳过模式下的预测编码。
如果在分区模式912至916中的一个分区模式中编码误差最小,则可不将预测单元910划分到更低深度。
如果在分区模式918中编码误差最小,则深度从0改变到1以在操作920中对分区模式918进行划分,并对深度为2和尺寸为N_0×N_0的编码单元930重复地执行编码来搜索最小编码误差。
用于对深度为1和尺寸为2N_1×2N_1(=N_0×N_0)的编码单元930进行预测编码的预测单元940可包括以下分区模式的分区:尺寸为2N_1×2N_1的分区模式942、尺寸为2N_1×N_1的分区模式944、尺寸为N_1×2N_1的分区模式946以及尺寸为N_1×N_1的分区模式948。
如果在分区模式948中编码误差最小,则深度从1改变到2以在操作950中对分区模式948进行划分,并对深度为2和尺寸为N_2×N_2的编码单元960重复执行编码来搜索最小编码误差。
当最大深度是d时,根据每个深度的划分操作可被执行直到深度变成d-1时,并且划分信息可被编码直到深度是0到d-2之一时。换句话说,当编码被执行直到在与d-2的深度相应的编码单元在操作970中被划分之后深度是d-1时,用于对深度为d-1和尺寸为2N_(d-1)×2N_(d-1)的编码单元980进行预测编码的预测单元990可包括以下分区模式的分区:尺寸为2N_(d-1)×2N_(d-1)的分区模式992、尺寸为2N_(d-1)×N_(d-1)的分区模式994、尺寸为N_(d-1)×2N_(d-1)的分区模式996和尺寸为N_(d-1)×N_(d-1)的分区模式998。
可对分区模式992至998中的尺寸为2N_(d-1)×2N_(d-1)的一个分区、尺寸为2N_(d-1)×N_(d-1)的两个分区、尺寸为N_(d-1)×2N_(d-1)的两个分区、尺寸为N_(d-1)×N_(d-1)的四个分区重复地执行预测编码,以搜索具有最小编码误差的分区模式。
即使当分区模式998具有最小编码误差时,由于最大深度是d,因此深度为d-1的编码单元CU_(d-1)也不再被划分到更低深度,构成当前LCU 900的编码单元的深度被确定为d-1,并且当前LCU 900的分区模式可被确定为N_(d-1)×N_(d-1)。此外,由于最大深度是d并且最低深度为d-1的SCU 980不再被划分到更低深度,因此不设置SCU 980的划分信息。
数据单元999可以是用于当前LCU的“最小单元”。根据一个或更多个实施例的最小单元可以是通过将SCU 980划分成4份而获取的正方形数据单元。通过重复地执行编码,视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度以确定深度,并将相应分区模式和预测模式设置为该深度的编码模式。
这样,在所有深度1至d中对根据深度的最小编码误差进行比较,并且具有最小编码误差的深度可被确定为深度。深度、预测单元的分区模式和预测模式可作为关于编码模式的信息被编码并发送。另外,由于编码单元从0的深度被划分到该深度,因此仅将该深度的划分信息设置为“0”,并且将除了该深度以外的深度的划分信息设置为“1”。
视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的深度和预测单元的信息,来对分区912进行解码。视频解码设备200可通过使用根据深度的划分信息,将划分信息为“0”的深度确定为深度,并且使用关于相应深度的编码模式的信息来进行解码。
图24至图26是用于描述根据一个或更多个实施例的在编码单元1010、预测单元1060和变换单元1070之间的关系的示图。
编码单元1010是LCU中的与由视频编码设备100确定的深度相应的具有树结构的编码单元。预测单元1060是每个编码单元1010的预测单元的分区,变换单元1070是每个编码单元1010的变换单元。
当在编码单元1010中LCU的深度是0时,编码单元1012和1054的深度是1,编码单元1014、1016、1018、1028、1050和1052的深度是2,编码单元1020、1022、1024、1026、1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。
在预测单元1060中,通过划分编码单元1010中的编码单元来获取一些编码单元1014、1016、1022、1032、1048、1050、1052和1054。换句话说,编码单元1014、1022、1050和1054中的分区模式的尺寸是2N×N,编码单元1016、1048和1052中的分区模式的尺寸是N×2N,编码单元1032的分区模式的尺寸为N×N。编码单元1010的预测单元和分区小于或等于每个编码单元。
在小于编码单元1052的数据单元中的变换单元1070中,对编码单元1052的图像数据执行变换或逆变换。另外,在尺寸和形状方面,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052不同于预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052。换句话说,视频编码设备100和视频解码设备200可对同一编码单元中的数据单元独立地执行帧内预测、运动估计、运动补偿、变换和逆变换。
因此,对LCU的每个区域中的具有分层结构的每个编码单元递归地执行编码来确定最优编码单元,从而可获取具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区模式的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表1示出可由视频编码设备100和视频解码设备200设置的编码信息。
表1
[表1]
视频编码设备100的输出器130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的图像数据和编码信息提取器220可从接收到的比特流提取关于具有树结构的编码单元的编码信息。
划分信息指示是否将当前编码单元划分成更低深度的编码单元。如果当前深度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。
关于具有树结构的编码单元的编码信息可包括与深度相应的编码单元、预测单元和最小单元中的至少一个。与深度相应的编码单元可包括包含相同编码信息的预测单元和最小单元中的至少一个。
因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否被包括在与深度相应的同一编码单元中。另外,通过使用数据单元的编码信息来确定与深度相应的相应编码单元,并因此可确定LCU中的深度的分布。
因此,如果基于邻近数据单元的编码信息来对当前编码单元进行预测,则可直接参考并使用与当前编码单元邻近的较深层编码单元中的数据单元的编码信息。
可选地,如果基于邻近数据单元的编码信息来对当前编码单元进行预测,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,并可参考搜索到的邻近编码单元以对当前编码单元进行预测。
图27是用于描述根据表1的编码模式信息的编码单元、预测单元和变换单元之间的关系的示图。
LCU 1300包括多个深度的编码单元1302、1304、1306、1312、1314、1316和1318。这里,由于编码单元1318是深度的编码单元,因此划分信息可被设置成0。可将关于尺寸为2N×2N的编码单元1318的分区模式的信息设置成以下分区模式中的一种:尺寸为2N×2N的分区模式1322、尺寸为2N×N的分区模式1324、尺寸为N×2N的分区模式1326、尺寸为N×N的分区模式1328、尺寸为2N×nU的分区1332、尺寸为2N×nD的分区模式1334、尺寸为nL×2N的分区模式1336和尺寸为nR×2N的分区模式1338。
变换单元的划分信息(TU尺寸标志)是一种类型的变换索引。与变换索引相应的变换单元的尺寸可根据编码单元的预测单元类型或分区模式而改变。
例如,当分区模式被设置为对称(即,分区模式1322、1324、1326或1328)时,如果变换单元的TU尺寸标志是0,则设置尺寸为2N×2N的变换单元1342,如果TU尺寸标志是1,则设置尺寸为N×N的变换单元1344。
当分区模式被设置成非对称(即分区模式1332、1334、1336或1338)时,如果TU尺寸标志是0,则设置尺寸为2N×2N的变换单元1352,如果TU尺寸标志是1,则设置尺寸为N/2×N/2的变换单元1354。
参照图27,TU尺寸标志是具有值0或1的标志,但是TU尺寸标志不限于1比特,并且变换单元可在TU尺寸标志从0增加时被分层划分为具有树结构。变换单元的划分信息(TU尺寸标志)可以是变换索引的示例。
在这种情况下,可通过使用根据一个或更多个实施例的变换单元的TU尺寸标志以及变换单元的最大尺寸和最小尺寸来表示实际上已使用的变换单元的尺寸。视频编码设备100能够对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标志进行编码。对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标志进行编码的结果可被插入SPS。视频解码设备200可通过使用最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标志来对视频进行解码。
例如,(a)如果当前编码单元的尺寸是64×64并且最大变换单元尺寸是32×32,则(a-1)当TU尺寸标志为0时,变换单元的尺寸可以是32×32,(a-2)当TU尺寸标志为1时,变换单元的尺寸可以是16×16,(a-3)当TU尺寸标志为2时,变换单元的尺寸可以是8×8。
作为另一示例,(b)如果当前编码单元的尺寸是32×32并且最小变换单元尺寸是32×32,则(b-1)当TU尺寸标志为0时,变换单元的尺寸可以是32×32。这里,由于变换单元的尺寸不能够小于32×32,因此TU尺寸标志不能够被设置为除了0以外的值。
作为另一示例,(c)如果当前编码单元的尺寸是64×64并且最大TU尺寸标志为1,则TU尺寸标志可以是0或1。这里,TU尺寸标志不能够被设置为除了0或1以外的值。
因此,如果定义最大TU尺寸标志为“MaxTransformSizeIndex”,最小变换单元尺寸为“MinTransformSize”,当TU尺寸标志为0时的变换单元尺寸为“RootTuSize”,则可通过等式(1)来定义可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”:
CurrMinTuSize=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))
…(1)
与可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”相比,当TU尺寸标志为0时的变换单元尺寸“RootTuSize”可指示可在系统中选择的最大变换单元尺寸。在等式(1)中,“RootTuSize/(2^MaxTransformSizeIndex)”指示当TU尺寸标志为0时,变换单元尺寸“RootTuSize”被划分了与最大TU尺寸标志相应的次数时的变换单元尺寸,“MinTransformSize”指示最小变换尺寸。因此,“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”中较小的值可以是可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”。
根据一个或更多个实施例,最大变换单元尺寸RootTuSize可根据预测模式的类型而改变。
例如,如果当前预测模式是帧间模式,则可通过使用以下的等式(2)来确定“RootTuSize”。在等式(2)中,“MaxTransformSize”指示最大变换单元尺寸,“PUSize”指示当前预测单元尺寸。
RootTuSize=min(MaxTransformSize,PUSize)……(2)
也就是说,如果当前预测模式是帧间模式,则当TU尺寸标志为0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前预测单元尺寸中较小的值。
如果当前分区单元的预测模式是帧内模式,则可通过使用以下的等式(3)来确定“RootTuSize”。在等式(3)中,“PartitionSize”指示当前分区单元的尺寸:
RootTuSize=min(MaxTransformSize,PartitionSize)……(3)
也就是说,如果当前预测模式是帧内模式,则当TU尺寸标志为0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前分区单元的尺寸之中较小的值。
然而,根据分区单元中的预测模式的类型而改变的当前最大变换单元尺寸“RootTuSize”仅是示例,并且实施例不限于此。
根据如参照图15至图27描述的基于具有树结构的编码单元的视频编码方法,可针对树结构的每个编码单元对空间域中的图像数据进行编码。根据基于具有树结构的编码单元的视频解码方法,对每个LCU执行解码来重建空间域的图像数据。因此,画面和作为画面序列的视频可被重建。重建的视频可由再现设备来再现,可存储在存储介质中,或可通过网络来发送。
此外,可针对每个画面、每个条带、每个LCU、具有树结构的编码单元中的每个编码单元、编码单元的每个预测单元或编码单元的每个变换单元用信号传输SAO参数。例如,可通过使用基于接收到的SAO参数而重建的用偏移值来调整每个LCU的重建像素的像素值,并因此可重建在原始块与LCU之间具有最小误差的LCU。
为了便于描述,以上参照图1A至图18描述的根据对样点偏移进行调整的视频编码方法将被称为“根据一个或更多个实施例的视频编码方法”。另外,以上参照图1A至图18描述的根据对样点偏移进行调整的视频解码方法将被称为“根据一个或更多个实施例的视频解码方法”。
此外,以上参照图1A至图18描述的包括SAO编码设备10、视频编码设备100或图像编码器400的视频编码设备将被称为“根据一个或更多个实施例的视频编码设备”。另外,以上参照图1A至图18描述的包括SAO解码设备20、视频解码设备200或图像解码器500的视频解码设备将被称为“根据一个或更多个实施例的视频解码设备”。
现在将详细描述根据一个或更多个实施例的存储程序的计算机可读记录介质(例如,盘26000)。
图28是根据一个或更多个实施例的存储程序的盘26000的物理结构的示图。作为存储介质的盘26000可以是硬盘驱动器、致密盘只读存储器(CD-ROM)盘、蓝光盘或数字多功能盘(DVD)。盘26000包括多个同心磁道Tr,每个同心磁道Tr沿盘26000的圆周方向被划分成特定数量的扇区Se。在盘26000的特定区域中,可分配并存储执行以上所描述的量化参数确定方法、视频编码方法和视频解码方法的程序。
现在将参照图29来描述使用存储用于执行如上所述的视频编码方法和视频解码方法的程序的存储介质来实现的计算机系统。
图29是通过使用盘26000来记录并读取程序的盘驱动器26800的示图。计算机系统26700可经由盘驱动器26800将执行根据一个或更多个实施例的视频编码方法和视频解码方法中的至少一个的程序存储在盘26000中。为了在计算机系统26700中运行存储在盘26000中的程序,可通过使用盘驱动器26700从盘26000读取程序并将程序发送到计算机系统26700。
执行根据一个或更多个实施例的视频编码方法和视频解码方法中的至少一个的程序不仅可被存储在图28或图29中示出的盘26000中,还可被存储在存储卡、ROM卡带或固态驱动器(SSD)中。
以下将描述应用以上所描述的视频编码方法和视频解码方法的系统。
图30是用于提供内容分发服务的内容供应系统11000的整体结构的示图。将通信系统的服务区域划分成预定尺寸的小区,并将无线基站11700、11800、11900和12000分别安装在这些小区中。
内容供应系统11000包括多个独立装置。例如,诸如计算机12100、个人数字助理(PDA)12200、视频相机12300和移动电话12500的多个独立装置经由互联网服务提供器11200、通信网络11400和无线基站11700、11800、11900和12000连接到互联网11100。
然而,内容供应系统11000不限于如图31中所示,并且装置可选择性地被连接到内容供应系统11000。多个独立装置可不经由无线基站11700、11800、11900和12000而直接连接到通信网络11400。
视频相机12300是能够捕捉视频图像的成像装置,例如,数字视频相机。移动电话12500可利用各种协议(例如,个人数字通信(PDC)、码分多址(CDMA)、宽带码分多址(W-CDMA)、全球移动通信系统(GSM)和个人手持电话系统(PHS))中的至少一种通信方法。
视频相机12300可经由无线基站11900和通信网络11400连接到流服务器11300。流服务器11300允许经由视频相机12300从用户接收到的内容经由实时广播被流传输。可使用视频相机12300或流服务器11300来对从视频相机12300接收到的内容进行编码。通过视频相机12300捕捉到的视频数据可经由计算机12100被发送到流服务器11300。
通过相机12600捕捉到的视频数据也可经由计算机12100被发送到流服务器11300。与数字相机类似,相机12600是能够捕捉静止图像和视频图像两者的成像装置。可使用相机12600或计算机12100对通过相机12600捕捉到的视频数据进行编码。可将对视频执行编码和解码的软件存储在可由计算机12100访问的计算机可读记录介质(例如,CD-ROM盘、软盘、硬盘驱动器、SSD或存储卡)中。
如果视频数据通过内置在移动电话12500中的相机被捕捉到,则可从移动电话12500接收视频数据。
还可通过安装在视频相机12300、移动电话12500或相机12600中的大规模集成电路(LSI)系统来对视频数据进行编码。
内容供应系统11000可对由用户使用视频相机12300、相机12600、移动电话12500或另一成像装置所记录的内容数据(例如,在音乐会期间记录的内容)进行编码,并将编码后的内容数据发送到流服务器11300。流服务器11300可将编码后的内容数据以流传输内容的类型发送到请求内容数据的其它客户端。
客户端是能够对编码后的内容数据进行解码的装置,例如,计算机12100、PDA12200、视频相机12300或移动电话12500。因此,内容供应系统11000允许客户端接收并再现编码后的内容数据。此外,内容供应系统11000允许客户端实时接收编码后的内容数据并对编码后的内容数据进行解码和再现,从而能够进行个人广播。
包括在内容供应系统11000中的多个独立装置的编码和解码操作可类似于根据一个或更多个实施例的视频编码设备和视频解码设备的编码和解码操作。
现在将参照图31和图32更加详细地描述包括在根据一个或更多个实施例的内容供应系统11000中的移动电话12500。
图31示出根据一个或更多个实施例的应用视频编码方法和视频解码方法的移动电话12500的外部结构。移动电话12500可以是智能电话,所述智能电话的功能不受限,并且所述智能电话的大多数功能可被改变或扩展。
移动电话12500包括可与图21的无线基站12000交换射频(RF)信号的内部天线12510,并包括用于显示由相机12530捕捉到的图像或经由天线12510接收到的并被解码的图像的显示屏12520(例如,液晶显示器(LCD)或有机发光二极管(OLED)屏幕)。移动电话12500包括包含有控制按钮和触摸面板的操作面板12540。如果显示屏12520是触摸屏,则操作面板12540还包括显示屏12520的触摸感测面板。移动电话12500包括用于输出语音和声音的扬声器12580或另一类型声音输出器、以及用于输入语音和声音的麦克风12550或另一类型声音输入器。移动电话12500还包括用于捕捉视频和静止图像的相机12530,诸如电荷耦合器件(CCD)相机。移动电话12500还可包括:存储介质12570,用于存储通过相机12530捕捉到的、经由电子邮件接收到的、或根据各种方式获取的编码/解码数据(例如,视频或静止图像);插槽12560,存储介质12570经由插槽12560被装入移动电话12500中。存储介质12570可以是闪存,例如,包括在塑料壳中的安全数字(SD)卡或电可擦和可编程只读存储器(EEPROM)。
图32示出根据一个或更多个实施例的移动电话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将通信数据发送到外部的同时,在中央控制器12710的控制下,由移动电话12500产生数字信号。例如,声音处理器12650可产生数字声音信号,图像编码器12720可产生数字图像信号,并且消息的文本数据可经由操作面板12540和操作输入控制器12640被产生。当数字信号在中央控制器12710的控制下被传送到调制器/解调器12660时,调制器/解调器12660对数字信号的频带进行调制,并且通信电路12610对频带调制后的数字声音信号执行数模转换(DAC)和频率转换。从通信电路12610输出的发送信号可经由天线12510被发送到语音通信基站或无线基站12000。
例如,当移动电话12500处于通话模式时,在中央控制器12710的控制下,经由麦克风12550获取的声音信号通过声音处理器12650被变换成数字声音信号。数字声音信号可经由调制器/解调器12660和通信电路12610被变换成变换信号,并可经由天线12510被发送。
当文本消息(例如,电子邮件)在数据通信模式下被发送时,文本消息的文本数据经由操作面板12540被输入,并经由操作输入控制器12640被发送到中央控制器12710。在中央控制器12710的控制下,文本数据经由调制器/解调器12660和通信电路12610被变换成发送信号,并经由天线12510被发送到无线基站12000。
为了在数据通信模式下发送图像数据,由相机12530捕捉到的图像数据经由相机接口12630被提供给图像编码器12720。捕捉到的图像数据可经由相机接口12630和LCD控制器12620被直接显示在显示屏12520上。
图像编码器12720的结构可与根据一个或更多个实施例的上述视频编码方法的结构相应。图像编码器12720可基于根据一个或更多个实施例的上述视频编码方法,将从相机12530接收到的图像数据变换为压缩和编码后的图像数据,并随后将编码后的图像数据输出到复用器/解复用器12680。在相机12530的记录操作期间,由移动电话12500的麦克风12550获取的声音信号可经由声音处理器12650被变换成数字声音数据,并且数字声音数据可被发送到复用器/解复用器12680。
复用器/解复用器12680将从图像编码器12720接收到的编码后的图像数据与从声音处理器12650接收到的声音数据复用在一起。对数据进行复用的结果可经由调制器/解调器12660和通信电路12610被变换成发送信号,然后可经由天线12510被发送。
当移动电话12500从外部接收通信数据时,可对经由天线12510接收到的信号执行频率恢复和ADC以将信号变换成数字信号。调制器/解调器12660对数字信号的频带进行调制。根据频带调制后的数字信号的类型,将所述数字信号发送到视频解码单元12690、声音处理器12650或LCD控制器12620。
在通话模式下,移动电话12500对经由天线12510接收到的信号进行放大,并通过对放大后的信号执行频率转换和ADC来获取数字声音信号。在中央控制器12710的控制下,接收到的数字声音信号经由调制器/解调器12660和声音处理器12650被变换成模拟声音信号,并且模拟声音信号经由扬声器12580被输出。
当在数据通信模式下时,接收在互联网网站上访问的视频文件的数据,经由调制器/解调器12660将经由天线12510从无线基站12000接收到的信号输出为复用数据,并将复用数据发送到复用器/解复用器12680。
为了对经由天线12510接收到的复用数据进行解码,复用器/解复用器12680将复用数据解复用成编码后的视频数据流和编码后的音频数据流。经由同步总线12730,编码后的视频数据流和编码后的音频数据流分别被提供给视频解码单元12690和声音处理器12650。
图像解码器12690的结构可与根据一个或更多个实施例的上述视频解码方法的结构相应。图像解码器12690可通过使用根据一个或更多个实施例的上述视频解码方法,对编码后的视频数据进行解码来获取重建的视频数据,并经由LCD控制器12620将重建的视频数据提供给显示屏12520。
因此,可将在互联网网站上访问的视频文件的数据显示在显示屏12520上。同时,声音处理器12650可将音频数据变换成模拟声音信号,并将模拟声音信号提供给扬声器12580。因此,也可经由扬声器12580再现在互联网网站上访问的视频文件中包含的音频数据。
移动电话12500或另一类型的通信终端可以是包括根据一个或更多个实施例的视频编码设备和视频解码设备两者的收发终端,可以是仅包括视频编码设备的收发终端,或者可以是仅包括视频解码设备的收发终端。
根据一个或更多个实施例的通信系统不限于以上参照图31描述的通信系统。例如,图33示出根据一个或更多个实施例的采用通信系统的数字广播系统。图33的数字广播系统可通过使用根据一个或更多个实施例的视频编码设备和视频解码设备来接收经由卫星或地面网络发送的数字广播。
具体地,广播站12890通过使用无线电波将视频数据流发送到通信卫星或广播卫星12900。广播卫星12900发送广播信号,广播信号经由家用天线12860被发送到卫星广播接收器。在每个房屋中,可通过TV接收器12810、机顶盒12870或其它装置对编码后的视频流进行解码并再现。
当根据一个或更多个实施例的视频解码设备被实现在再现设备12830中时,再现设备12830可对记录在存储介质12820(诸如盘或存储卡)上的编码后的视频流进行解析和解码,以重建数字信号。因此,可在例如监视器12840上再现重建的视频信号。
在被连接到用于卫星/地面广播的天线12860或用于接收有线电视(TV)广播的线缆天线12850的机顶盒12870中,可安装根据一个或更多个实施例的视频解码设备。从机顶盒12870输出的数据也可被再现在TV监视器12880上。
作为另一示例,可将根据一个或更多个实施例的视频解码设备安装在TV接收器12810中,而不是机顶盒12870中。
具有适当天线12910的汽车12920可接收从图21的卫星12900或无线基站11700发送的信号。可在安装在汽车12920中的汽车导航系统12930的显示屏上再现解码后的视频。
视频信号可由根据一个或更多个实施例的视频编码设备来编码,然后可被存储在存储介质中。具体地,图像信号可通过DVD记录器被存储在DVD盘12960中,或图像信号可通过硬盘记录器12950被存储在硬盘中。作为另一示例,视频信号可被存储在SD卡12970中。如果硬盘记录器12950包括根据一个或更多个实施例的视频解码设备,则记录在DVD盘12960、SD卡12970或另一存储介质上的视频信号可被再现在TV监视器12880上。
汽车导航系统12930可不包括图32的相机12530以及图32的相机接口12630和图像编码器12720。例如,计算机12100和TV接收器12810可不包括相机12530、相机接口12630和图像编码器12720。
图34是示出根据一个或更多个实施例的使用视频编码设备和视频解码设备的云计算系统的网络结构的示图。
云计算系统可包括云计算服务器14000、用户数据库(DB)14100、多个计算资源14200和用户终端。
响应于来自用户终端的请求,云计算系统经由数据通信网络(例如,互联网)提供多个计算资源14200的点播外包服务。在云计算环境下,服务提供商通过使用虚拟技术组合位于不同的物理位置的数据中心处的计算资源,来为用户提供想要的服务。服务用户不必将计算资源(例如,应用、存储器、操作系统(OS)和安全软件)安装在他/她自己的终端中以使用它们,但可在想要的时间点在通过虚拟技术产生的虚拟空间中从服务中选择和使用想要的服务。
被指定的服务用户的用户终端经由包括互联网和移动电信网络的数据通信网络被连接到云计算服务器14000。可从云计算服务器14100向用户终端提供云计算服务,特别是视频再现服务。用户终端可以是能够被连接到互联网的各种类型的电子装置,例如,桌上型PC 14300、智能TV 14400、智能电话14500、笔记本计算机14600、便携式多媒体播放器(PMP)14700、平板PC 14800等。
云计算服务器14000可组合分布在云网络中的多个计算资源14200,并向用户终端提供组合的结果。所述多个计算资源14200可包括各种数据服务,并可包括从用户终端上载的数据。如上所描述的,云计算服务器14000可通过根据虚拟技术组合分布在不同区域中的视频数据库来向用户终端提供想要的服务。
将关于已经订购云计算服务的用户的用户信息存储在用户DB 14100中。用户信息可包括用户的注册信息、地址、姓名和个人信用信息。用户信息还可包括视频的索引。这里,所述索引可包括已经被再现的视频的列表、正在被再现的视频的列表、之前正在被再现的视频的暂停点等。
可在用户装置之间共享存储在用户DB 14100中的关于视频的信息。例如,当响应于来自笔记本计算机14600的请求将视频服务提供给笔记本计算机14600时,视频服务的再现历史被存储在用户DB 14100中。当从智能电话14500接收到用于再现此视频服务的请求时,云计算服务器14000基于用户DB 14100搜索并再现此视频服务。当智能电话14500从云计算服务器14000接收到视频数据流时,通过对视频数据流进行解码来再现视频的处理与以上参照图31描述的移动电话12500的操作类似。
云计算服务器14000可参考存储在用户DB 14100中的想要的视频服务的再现历史。例如,云计算服务器14000从用户终端接收用于再现存储在用户DB 14100中的视频的请求。如果此视频被再现过,则由云计算服务器14000执行的对此视频进行流传输的方法可根据来自用户终端的请求(即,根据是将从视频的起点还是视频的暂停点开始再现视频)而不同。例如,如果用户终端请求从视频的起点开始再现视频,则云计算服务器14000将从视频的第一帧开始的视频的流数据发送到用户终端。如果用户终端请求从视频的暂停点开始再现视频,则云计算服务器14000将从与暂停点相应的帧开始的视频的流数据发送到用户终端。
在此情况下,用户终端可包括如以上参照图1A至图27描述的视频解码设备。作为另一示例,用户终端可包括如以上参照图1A至图27描述的视频编码设备。可选地,用户终端可包括如以上参照图1A至图27描述的视频解码设备和视频编码设备两者。
以上参照图28至图24描述了以上参照图1A至图27描述的根据一个或更多个实施例的视频编码方法、视频解码方法、视频编码设备和视频解码设备的各种应用。然而,根据各种实施例的将视频编码方法和视频解码方法存储在存储介质中的方法或者将视频编码设备和视频解码设备实现在装置中的方法不限于以上参照图28至图34描述的实施例。
如这里所使用的,技术“A可包括a1、a2和a3中的一个”泛指元素A可包括示例性元素是a1、a2或a3。
由于以上描述的技术,可包括在元素A中的元素不必限于a1、a2或a3。因此,所述技术不被专门解释为:除了a1、a2和a3之外的可包括在A中的元素不包括未被示例的其它元素。
此外,所述技术表示元素A可包括a1、a2或a3。所述技术不表示:在预定集合中不必选择性地确定A中包括的元素。例如,所述技术不限于被解释为:从包括a1、a2和a3的集合中选择的a1、a2或a3必需包括在组件A中。
此外,在本说明书中,技术“a1、a2或(和)a3中的至少一个”表示以下项中的一项:a1;a2;a3;a1和a2;a1和a3;a2和a3;以及a1、a2和a3。
因此,除非明确地描述为“a1中的至少一个,a2中的至少一个,或(和)a3中的至少一个”,否则技术“a1、a2或(和)a3中的至少一个”不被解释为“a1中的至少一个,a2中的至少一个,或(和)a3中的至少一个”。
实施例可被编写为计算机程序,并且可以以使用计算机可读记录介质执行程序的通用数字计算机来实现。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光学记录介质(例如,CD-ROM或DVD)。
应理解,这里描述的示例性实施例仅被认为是说明性意义,而不是为了限制的目的。在每个实施例内的特征或方面的描述通常应被认为可用于其它实施例中的其它类似特征或方面。
虽然已经参照附图描述了一个或更多个示例性实施例,但是本领域的普通技术人员将理解,在不脱离由权利要求限定的本发明构思的精神和范围的情况下,可作出形式和细节上的各种改变。

Claims (14)

1.一种用信号传输样点自适应偏移SAO参数的视频编码方法,所述视频编码方法包括:
在视频的最大编码单元LCU之中,在对当前被编码的LCU执行去块操作之前获取预测信息,其中,预测信息包括在当前被编码的LCU被重建之前获取的至少一个运动矢量或至少一个帧内模式;
基于获取的预测信息来预测当前被编码的LCU的SAO参数,其中,当SAO类型被确定为边缘类型时,SAO参数包括边缘种类;
在完成对当前被编码的LCU的去块滤波之前对预测出的SAO参数执行熵编码,
其中,通过使用所述至少一个帧内模式的直方图或所述至少一个运动矢量的直方图,边缘种类被预测为多个边缘方向之中的一个边缘方向。
2.如权利要求1所述的视频编码方法,其中,预测当前被编码的LCU的SAO参数的操作独立于对当前被编码的LCU的去块操作。
3.如权利要求1所述的视频编码方法,其中,获取预测信息的步骤包括:在对当前被编码的LCU执行去块操作之前获取另一被编码的编码单元的SAO参数。
4.如权利要求3所述的视频编码方法,其中,预测信息包括:包括当前被编码的LCU的帧中的先前被编码的LCU的SAO参数。
5.如权利要求3所述的视频编码方法,其中,预测信息包括:包括当前被编码的LCU的帧之前的帧中的被编码的LCU的SAO参数。
6.如权利要求1所述的视频编码方法,其中,获取预测信息的步骤包括:在对当前被编码的LCU执行去块操作之前获取重建的像素值,其中,预测当前被编码的LCU的SAO参数的步骤包括:基于所述像素值预测当前被编码的LCU的SAO参数。
7.如权利要求1所述的视频编码方法,其中,预测信息还包括在当前被编码的LCU被重建之前获取的残差数据。
8.如权利要求1所述的视频编码方法,还包括:
对当前被编码的LCU执行去块操作;
通过使用被执行了去块操作的当前被编码的LCU来确定SAO参数,
其中,针对被执行了去块操作的当前被编码的LCU而确定的SAO参数被用于对随后的被编码的LCU执行SAO预测。
9.如权利要求8所述的视频编码方法,其中,所述视频编码方法以具有管线结构的阶段单元来执行,其中,执行去块操作的过程与对预测出的SAO参数执行熵编码的过程在同一管线段中被并行地执行。
10.一种用信号传输SAO参数的视频编码设备,所述视频编码设备包括:
预测信息预测器,被配置为在视频的最大编码单元LCU之中,在对当前被编码的LCU执行去块操作之前获取预测信息,其中,预测信息包括在当前被编码的LCU被重建之前获取的至少一个运动矢量或至少一个帧内模式;
SAO参数估计器,被配置为基于获取的预测信息来预测当前被编码的LCU的SAO参数,其中,当SAO类型被确定为边缘类型时,SAO参数包括边缘种类;
编码器,被配置为在完成对当前被编码的LCU的去块滤波之前对预测出的SAO参数执行熵编码,
其中,通过使用所述至少一个帧内模式的直方图或所述至少一个运动矢量的直方图,边缘种类被预测为多个边缘方向之中的一个边缘方向。
11.如权利要求10所述的视频编码设备,其中,预测信息预测器在对当前被编码的LCU的去块操作被执行之前获取另一被编码的编码单元的SAO参数。
12.如权利要求10所述的视频编码设备,其中,预测信息还包括在对当前被编码的LCU的去块操作被执行之前所重建的当前LCU的像素值。
13.如权利要求10所述的视频编码设备,还包括:
去块器,被配置为对当前被编码的LCU执行去块操作;
SAO确定器,被配置为通过使用被执行了去块操作的当前被编码的LCU来确定SAO参数,其中,针对被执行了去块操作的当前被编码的LCU而确定的SAO参数被用于对随后的被编码的LCU执行SAO预测。
14.一种用信号传输SAO参数的视频编码设备,所述视频编码设备包括:
方向性信息获取器,用于在视频的LCU之中,基于在当前被编码的LCU被重建之前获取的至少一个帧内模式或至少一个运动矢量来获取当前被编码的LCU的方向性信息;
边缘偏移参数确定器,用于基于获取的方向性信息确定当前被编码的LCU的边缘偏移参数,其中,当SAO类型被确定为边缘类型时,边缘偏移参数包括边缘种类;
编码器,用于在完成对当前被编码的LCU的去块滤波之前对确定的边缘偏移参数执行熵编码,
其中,通过使用所述至少一个帧内模式的直方图或所述至少一个运动矢量的直方图,边缘种类被预测为多个边缘方向之中的一个边缘方向。
CN201480035472.9A 2013-04-19 2014-04-21 基于用信号传输样点自适应偏移参数的视频编码方法和设备以及视频解码方法和设备 Expired - Fee Related CN105325004B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361813757P 2013-04-19 2013-04-19
US61/813,757 2013-04-19
KR10-2014-0043204 2014-04-10
KR1020140043204A KR102166335B1 (ko) 2013-04-19 2014-04-10 Sao 파라미터를 시그널링하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
PCT/KR2014/003471 WO2014171807A1 (en) 2013-04-19 2014-04-21 Video encoding method and apparatus, and video decoding method and apparatus based on signaling of sample adaptive offset parameters

Publications (2)

Publication Number Publication Date
CN105325004A CN105325004A (zh) 2016-02-10
CN105325004B true CN105325004B (zh) 2019-06-11

Family

ID=51995677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480035472.9A Expired - Fee Related CN105325004B (zh) 2013-04-19 2014-04-21 基于用信号传输样点自适应偏移参数的视频编码方法和设备以及视频解码方法和设备

Country Status (7)

Country Link
US (1) US20140314141A1 (zh)
EP (1) EP2987327A4 (zh)
JP (1) JP6541641B2 (zh)
KR (1) KR102166335B1 (zh)
CN (1) CN105325004B (zh)
TW (1) TWI552579B (zh)
WO (1) WO2014171807A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY184416A (en) * 2012-07-16 2021-04-01 Samsung Electronics Co Ltd Video encoding method and video encoding for signaling sao parameters
DK3005696T3 (da) 2013-05-30 2023-07-31 Huawei Tech Co Ltd Forskudte dynamiske intervalbegrænsninger til kantforskudt sao-filtrering
US10055482B2 (en) * 2014-03-18 2018-08-21 Ntt Docomo Inc. Knowledge engine for managing massive complex structured data
US10477207B2 (en) 2014-04-23 2019-11-12 Sony Corporation Image processing apparatus and image processing method
WO2015165030A1 (en) * 2014-04-29 2015-11-05 Microsoft Technology Licensing, Llc Encoder-side decisions for sample adaptive offset filtering
JP6341756B2 (ja) * 2014-05-26 2018-06-13 キヤノン株式会社 画像処理装置、画像処理装置の制御方法
US20170318289A1 (en) * 2014-10-31 2017-11-02 Samsung Electronics Co., Ltd. Video encoding method applying multi-offset scheme and apparatus therefor, and video decoding method and apparatus therefor
KR20170078682A (ko) 2014-11-04 2017-07-07 삼성전자주식회사 에지 타입의 오프셋을 적용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
EP3306928A1 (en) * 2016-10-07 2018-04-11 Thomson Licensing Method and apparatus for encoding a video
CN117395404A (zh) * 2017-04-28 2024-01-12 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
GB2574421A (en) * 2018-06-05 2019-12-11 Canon Kk Video coding and decoding
GB2574424A (en) * 2018-06-05 2019-12-11 Canon Kk Video coding and decoding
GB2574422A (en) * 2018-06-05 2019-12-11 Canon Kk Video coding and decoding
KR20210004702A (ko) * 2019-07-05 2021-01-13 삼성전자주식회사 Ai 프로세서 및 이의 신경망 연산 수행 방법
CN114007067B (zh) * 2020-07-28 2023-05-23 北京达佳互联信息技术有限公司 对视频信号进行解码的方法、设备和介质
EP3984222A4 (en) * 2020-08-13 2022-10-26 Beijing Dajia Internet Information Technology Co., Ltd. ENHANCED CHROMINANCE CODING IN INTER-COMPONENT ADAPTIVE SAMPLE SHIFT

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051892A (zh) * 2011-10-14 2013-04-17 联发科技股份有限公司 内嵌式回路滤波方法以及内嵌式回路滤波装置
WO2013053314A1 (en) * 2011-10-14 2013-04-18 Mediatek Inc. Method and apparatus for loop filtering

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008171B2 (en) * 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
US8660174B2 (en) * 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US9008170B2 (en) * 2011-05-10 2015-04-14 Qualcomm Incorporated Offset type and coefficients signaling method for sample adaptive offset
US10484693B2 (en) * 2011-06-22 2019-11-19 Texas Instruments Incorporated Method and apparatus for sample adaptive offset parameter estimation for image and video coding
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
US9332283B2 (en) * 2011-09-27 2016-05-03 Broadcom Corporation Signaling of prediction size unit in accordance with video coding
TWI455595B (zh) * 2011-09-29 2014-10-01 Mstar Semiconductor Inc 布林熵解碼器及影像播放系統之布林熵解碼方法
US9357235B2 (en) * 2011-10-13 2016-05-31 Qualcomm Incorporated Sample adaptive offset merged with adaptive loop filter in video coding
EP2767089A4 (en) * 2011-10-14 2016-03-09 Mediatek Inc METHOD AND APPARATUS FOR LOOP FILTERING
GB201119206D0 (en) * 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
CN104584552B (zh) * 2012-09-25 2019-02-12 英特尔公司 Svc中重复使用层间sao参数的方法、设备、系统及机器可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051892A (zh) * 2011-10-14 2013-04-17 联发科技股份有限公司 内嵌式回路滤波方法以及内嵌式回路滤波装置
WO2013053314A1 (en) * 2011-10-14 2013-04-18 Mediatek Inc. Method and apparatus for loop filtering

Also Published As

Publication number Publication date
US20140314141A1 (en) 2014-10-23
EP2987327A1 (en) 2016-02-24
TW201507439A (zh) 2015-02-16
KR102166335B1 (ko) 2020-10-15
EP2987327A4 (en) 2016-12-28
TWI552579B (zh) 2016-10-01
WO2014171807A1 (en) 2014-10-23
JP2016521061A (ja) 2016-07-14
CN105325004A (zh) 2016-02-10
KR20140126246A (ko) 2014-10-30
JP6541641B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
CN105325004B (zh) 基于用信号传输样点自适应偏移参数的视频编码方法和设备以及视频解码方法和设备
CN104902273B (zh) 视频解码设备
CN104205834B (zh) 用于对每个空间子区域进行视频解码的方法
CN104869415B (zh) 视频解码方法
CN105472396B (zh) 视频解码方法和视频解码设备
CN105144713B (zh) 用于解码器设置的对视频进行编码的方法及其装置以及基于解码器设置对视频进行解码的方法及其装置
CN105594212B (zh) 用于确定运动矢量的方法及其设备
CN108235030A (zh) Sao编码方法和设备以及sao解码方法和设备
CN105308966A (zh) 视频编码方法及其设备以及视频解码方法及其设备
CN107005713A (zh) 施加边缘类型偏移的视频编码方法和设备以及视频解码方法和设备
CN105340274A (zh) 深度图编码方法及其设备以及深度图解码方法及其设备
CN105993174A (zh) 用于用信号传送sao参数的视频编码方法和设备以及视频解码方法和设备
CN105264890B (zh) 用于补偿亮度差的层间视频编码方法和设备以及层间视频解码方法和设备
CN105532005B (zh) 用于层间编码的方法和设备以及用于使用残差预测对视频进行层间解码的方法和设备
CN104662905B (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
GR01 Patent grant
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: 20190611