CN109845264B - 用于编码和解码大视场视频的方法和装置 - Google Patents

用于编码和解码大视场视频的方法和装置 Download PDF

Info

Publication number
CN109845264B
CN109845264B CN201780060221.XA CN201780060221A CN109845264B CN 109845264 B CN109845264 B CN 109845264B CN 201780060221 A CN201780060221 A CN 201780060221A CN 109845264 B CN109845264 B CN 109845264B
Authority
CN
China
Prior art keywords
picture
current block
region
block
current
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.)
Active
Application number
CN201780060221.XA
Other languages
English (en)
Other versions
CN109845264A (zh
Inventor
T.波里尔
F.加尔平
F.莱利安内克
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.)
InterDigital Madison Patent Holdings SAS
Original Assignee
InterDigital Madison Patent Holdings SAS
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 InterDigital Madison Patent Holdings SAS filed Critical InterDigital Madison Patent Holdings SAS
Publication of CN109845264A publication Critical patent/CN109845264A/zh
Application granted granted Critical
Publication of CN109845264B publication Critical patent/CN109845264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

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

公开一种用于在沉浸式呈现系统中将大视场视频编码/解码成比特流的方法。所述大视场视频的至少一个画面被表示为表面,所述表面使用投影函数投影到至少一个2D画面上。对于所述至少一个2D画面的至少一个当前块,根据所述投影函数确定表示2D空间邻域的修改的至少一个信息项。使用表示修改的所述至少一个信息项确定一组相邻块,并且使用所确定的该组相邻块来执行所述当前块的编码/解码的至少一部分。

Description

用于编码和解码大视场视频的方法和装置
技术领域
本公开涉及编码和解码沉浸式视频,例如当在用于虚拟现实,增强现实或增强虚拟的系统中处理这样的沉浸式视频时,并且例如当在头戴式显示设备中显示时。
背景技术
最近,可用的大视场内容(高达360°)已经增长。观看沉浸式显示设备(诸如头戴式显示器(HMD),智能眼镜,PC屏幕,平板电脑,智能手机等)上的内容的用户潜在地不完全可见这样的内容。这意味着在给定时刻,用户可能只是查看内容的一部分。然而,用户典型可以通过诸如头部移动,鼠标移动,触摸屏,语音等各种方式在内容内导航。典型期望编码和解码这样的内容。
发明内容
根据本原理的一个方面,公开一种用于将大视场视频编码成比特流的方法。所述大视场视频的至少一个画面被表示为表面,所述表面使用投影函数投影到至少一个2D画面上,所述方法包括,对于所述至少一个2D画面的至少一个当前块:
-根据所述投影函数,确定表示2D空间邻域的修改的至少一个信息项,
-使用表示修改的至少一个信息项确定一组相邻块,
-使用所确定的该组相邻块执行编码所述当前块的至少一部分。
本原理允许根据用于将表面投影到一个或多个画面上的投影函数来确定要编码的当前块的新邻居。使用用于将表面投影到矩形画面上的投影函数来确定表示修改的至少一个信息项。表示修改的这种信息项描述了2D画面中块的常规2D空间因果相邻的修改,以考虑由表面投影到矩形画面上引入的连续性和不连续性。这里公开的原理允许通过考虑由投影函数暗示的修改来适应当前块的相邻,如从常规编码器中已知的那样。然后,根据常规2D视频编码方案,将适应的相邻用于编码当前块。这样的适应的相邻者可以由编码器的所有编码模块使用或仅由这些一些编码模块使用。
相邻的这样的适应允许增加应用于大视场视频的2D视频编码方案的压缩效率。
根据本原理的另一方面,还公开一种用于将大视场视频编码成比特流的装置。这样的装置包括,对于所述至少一个2D画面的至少一个块:
-用于根据所述投影函数,确定表示2D空间邻域的修改的至少一个信息项的部件,
-用于使用表示修改的至少一个信息项确定一组相邻块的部件,
-用于使用所述确定的该组相邻块执行编码所述当前块的至少一部分的部件。
根据本原理的另一方面,还公开一种用于解码表示大视场视频的比特流的方法。所述方法包括,对于所述至少一个2D画面的至少一个当前块:
-根据所述投影函数,确定表示2D空间邻域的修改的至少一个信息项,
-使用表示修改的至少一个信息项确定一组相邻块,
-使用所述确定的该组相邻块执行从比特流中解码所述当前块的至少一部分。
根据本原理的另一方面,公开一种用于解码表示大视场视频的比特流的装置。这样的装置包括,对于所述至少一个2D画面的至少一个当前块:
-用于根据所述投影函数,确定表示2D空间邻域的修改的至少一个信息项的部件,
-用于使用表示修改的至少一个信息项确定一组相邻块的部件,
-用于使用所确定的该组相邻块执行从比特流中解码所述当前块的至少一部分的部件。
根据本公开的实施例,表示修改的所述至少一个信息项与至少所述编码的一部分或所述解码的至少一部分相关联地存储在邻居替换表中。这样的实施例允许根据处理块的编码模块或解码模块激活/去激活相邻块,诸如用于帧内预测的最可能模式确定,帧内预测,运动矢量预测,运动矢量推导,去块滤波,样本自适应偏移处理等...因此,块的相邻因此根据执行的处理块的编码/解码模块进行适应。
根据本公开的另一实施例,编码/解码的所述部分可以对应于使用属于该组相邻块的块的至少一个样本确定预测块,确定用于编码/解码用于所述至少一个当前块的帧内预测模式的最可能模式列表,推导用于编码/解码所述至少一个当前块的运动矢量的运动矢量预测器,推导用于编码/解码所述至少一个当前块的运动矢量的运动矢量,在至少所述一个当前块与属于该组相邻块的块之间去块滤波,在所述至少一个当前块的至少一个样本与属于该组相邻块的块的至少一个样本之间样本自适应偏移滤波。
根据本公开的另一实施例,编码/解码的所述部分对应于确定用于编码所述当前块的预测器列表,其中确定所述预测器列表使用来自属于该组相邻块的相邻块的至少一个预测器,所述相邻块位于所述当前块的下方,右侧或右下方。
根据变型,所述预测器列表对应于用于编码/解码所述当前块的帧内预测模式的帧内预测模式的最可能模式列表,或对应于用于编码/解码所述当前块的运动矢量的运动矢量预测器列表。
根据本公开的另一实施例,所述2D画面包括块的至少一个区域,并且表示修改的所述至少一个信息项存储在所述邻居替换表中,用于所述当前块所属的当前区域。表示修改的所述至少一个信息项属于至少包括以下的组:
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的不可用区域,以确定该组相邻块,
-在所述2D画面中要使用的空替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,其中所述空替换区域是包括来自所述2D画面的零块的区域。
根据本公开的另一实施例,表示修改的所述信息项与要应用于邻居替换区域的变换参数相关联地存储。
该实施例允许考虑当投影到2D画面时或者当用于表面的区域或者在立方体的情况下的面被重新排列在2D画面中时可能已经在区域上发生的到表面的变换。作为示例,当重新排列在图14C中例示的2D画面上时,图14A中例示的立方体的顶部,后部和底部的面在逆时针方向上旋转90°的角度。
根据本公开的另一实施例,所述邻居替换表被编码到所述比特流中或从所述比特流解码。
根据本公开的另一实施例,所述邻居替换表被编码为诸如由H.264/AVC标准定义的序列参数集(SPS)语法元素,或诸如由H.264/AVC标准或HEVC标准定义的画面参数集(PPS)语法元素,或者诸如由H.264/AVC标准或HEVC标准定义的与所述画面对应的条带报头语法元素。
根据本公开的另一实施例,在解码器处从与从所述比特流解码的所述投影函数有关的信息项生成所述邻居替换表。
根据本原理的另一方面,公开了一种表示编码的大视场视频的比特流。所述比特流包括表示所述2D画面的至少一个当前块的编码数据,所述当前块使用利用表示根据所述投影函数确定的修改的至少一个信息项确定出的一组相邻块来编码。
根据本公开的实施例,所述比特流还包括表示邻居替换表的编码数据,所述邻居替换表存储表示修改的所述至少一个信息项。
根据本公开的另一实施例,所述比特流还包括编码数据,其表示与用于生成存储表示修改的所述至少一个信息项的邻居替换表的所述投影函数有关的至少一项信息。
根据在此公开的任何一个实施例的比特流可以存储在非暂时性处理器可读介质上。
根据本原理的另一方面,公开一种沉浸式呈现设备,其包括用于解码表示大视场视频的比特流的装置。
根据本原理的另一方面,公开一种用于沉浸式呈现编码成比特流的大视场视频的系统。这样的系统至少包括用于从数据网络接收所述比特流的网络接口,根据在此公开的任何一个实施例的用于解码所述比特流的装置,用于呈现所述解码的大视场视频的沉浸式呈现设备。
根据一个实现方式,如这里上面所述的用于编码大视场视频或解码大视场视频的方法的不同步骤由一个或多个软件程序或软件模块程序实现,所述软件程序或软件模块程序包括旨在由用于编码/解码大视场视频的装置的数据处理器执行的软件指令,这些软件指令被设计成命令执行根据本原理的方法的不同步骤。
还公开一种能够由计算机或数据处理器执行的计算机程序,该程序包括指令,以命令执行用于编码大视场视频的方法的步骤或用于解码大视场视频的方法的步骤,如上所述。
该程序可以使用任何编程语言,并且可以是源代码,目标代码或源代码和目标代码之间的中间代码的形式,诸如无论什么以部分编译的形式或任何其他期望的形式。
信息载体可以是能够存储程序的任何实体或装置。例如,载体可以包括存储部件,诸如ROM,例如CD ROM或微电子电路ROM,或者也可以包括磁记录部件,例如软盘或硬盘驱动器。
同样,信息载体可以是可传输载体,诸如电信号或光信号,其可以经由电缆或光缆,通过无线电或其他方式传送。根据本原理的程序尤其可以上传到因特网型网络。
作为替代方案,信息载体可以是程序所并入的集成电路,该电路适应于执行或用于执行所讨论的方法。
根据一个实施例,可以借助于软件和/或硬件组件来实现方法/装置。在这方面,术语“模块”或“单元”在本文档中可以同样等同于软件组件和硬件组件或一组硬件和软件组件。
软件组件对应于一个或多个计算机程序,程序的一个或多个子程序或更一般地对应于程序的任何元素或能够实现如下文所述的用于相关模块的功能或一组功能的软件。这样的软件组件由物理实体(终端,服务器等)的数据处理器执行,并且能够访问该物理实体的硬件资源(存储器,记录介质,通信总线,输入/输出电路板,用户界面等)。
以相同的方式,硬件组件对应于能够实现如下所述的用于相关模块的功能或一组功能的硬件单元的任何元件。它可以是可编程硬件组件或具有用于执行软件的集成处理器的组件,例如集成电路,智能卡,存储器卡,用于执行固件的电路板等。
除了全向视频之外,本原理还应用于例如180°的大视场视频内容。
附图说明
图1表示根据本公开的实施例的优选环境的编码和解码系统的功能概述,
图2表示根据本公开的系统的第一实施例,
图3表示根据本公开的系统的第一实施例,
图4表示根据本公开的系统的第一实施例,
图5表示根据本公开的系统的第一实施例,
图6表示根据本公开的系统的第一实施例,
图7表示根据本公开的系统的第一实施例,
图8表示根据本公开的系统的第一实施例,
图9表示根据本公开的系统的第一实施例,
图10表示根据本公开的沉浸式视频呈现设备的第一实施例,
图11表示根据本公开的沉浸式视频呈现设备的第一实施例,
图12表示根据本公开的沉浸式视频呈现设备的第一实施例,
图13例示从球面S到矩形画面F的投影的示例,
图14A例示从立方体表面S到6个画面的投影的示例,
图14B,14C例示根据不同布局的相应的重新排列的矩形画面,
图15例示来自常规视频编码方案的因果空间邻域,
图16A例示表示为使用等矩形投影将被表示为球体的全向视频投影在其上的矩形画面,
图16B例示表示全向视频的立方体的六个面已根据图16C例示的布局重新排列在其上的矩形画面。
图17例示根据本公开的实施例的用于将表示全向视频的3D画面的2D画面的当前块编码为比特流的示例性方法的框图,
图18例示定义用于投影的立方体的2D画面的6个区域,
图19例示在立方体投影的情况下2D画面的当前块的相邻块位置,
图20例示用于导出2D画面的当前块的相邻块的示例性方法的框图,
图21例示在等矩形投影的情况下2D画面的相邻区域位置,
图22例示根据本公开的实施例的用于将全向视频编码为比特流的示例性方法的框图,
图23例示在立方体投影的情况下2D画面的附加相邻块位置,
图24A和B例示根据本公开的实施例的运动矢量自适应,
图25A,B和C例示根据本公开的实施例的去块滤波处理的情况下的相邻块,
图26A和B例示根据本公开的实施例的用于当前块的新的相邻块,
图27例示根据本公开的实施例的用于从比特流解码表示全向视频的3D画面的2D画面的当前块的示例性方法的框图,
图28例示根据本公开另一实施例的用于从比特流解码表示全向视频的3D画面的2D画面的当前块的示例性方法的框图,
图29例示根据本公开的实施例的用于解码表示全向视频的比特流的示例性方法的框图,
图30例示根据一个实施例的用于将全向视频编码为比特流的示例性装置,
图31例示根据一个实施例的用于解码表示全向视频的比特流的示例性装置。
具体实施方式
大视场内容可以例如是三维计算机图形图像场景(3D CGI场景),点云或沉浸式视频。可以使用许多术语来设计这样的沉浸式视频,诸如例如虚拟现实(VR),360,全景,4π球面度,沉浸式,全向,大视场。
为了将全向视频编码为比特流,例如用于通过数据网络传输,可以使用传统视频编解码器,诸如HEVC,H.264/AVC。因此,全向视频的每个画面首先使用合适的投影函数投影在一个或多个2D画面上,例如一个或多个矩形画面。实践中,来自全向视频的画面被表示为3D表面。为了便于投影,通常使用凸起和简单的表面,诸如球体,立方体或金字塔,用于投影。然后使用传统视频编解码器编码表示全向视频的投影2D画面。
图13示出使用等矩形投影将映射在表示为球体的表面S上的全向视频的帧投影到一个矩形画面I上的示例。
图14A示出将映射在表面S(这里表示为立方体)上的全向视频的帧投影到六个画面或面上的另一个示例。这些面可以重新排列成一个矩形画面,如图14B或14C所示。
3D表面在一个或多个矩形画面上的投影不可避免地引入一些影响,这些影响可能当编码作为结果的视频时影响压缩效率。实际上,投影可能会引入以下影响:
-强几何变形:
■直线不再是直的,
■正交坐标系不再是正交的
-非均匀像素密度:要编码的画面中的像素并不总是表示要编码的表面上的相同表面(例如,球的极点可以由2D图像中的像素的线表示),
-强不连续性:画面布局可能会在表面上的两个相邻像素之间引入强不连续性,
-画面中可能出现一些周期性(例如从一个边界到相对的边界)。
表1列出各种投影函数的这种影响的示例。这些影响中的一些可能出现在图13,14B和14C中例示的投影画面上。
Figure BDA0002010284150000081
表1
在诸如HEVC,H.264/AVC等的标准中,通过首先将画面划分为小的非重叠块然后通过单独编码这些块来编码画面。为了减少冗余,常规视频编码器使用因果空间相邻块数据来预测当前块的值以编码。在图15中例示这样的因果空间相邻块的示例,其中要编码的当前块BK具有4个相邻块:A,B,C和D,其已经被编码/解码并且可供使用。这样的邻域可以用于帧内预测,最可能的编码模式确定(在HEVC,H.264/AVC中称为MPM确定),帧间画面编码中的运动矢量预测。这样的邻域也可以用于在编码之后滤波当前块,诸如在去块滤波处理或样本自适应偏移处理(在HEVC中也称为SAO)中。取决于要执行的处理,可以使用其他因果空间/时间邻域。
因果空间相邻块要被理解为已经根据画面的扫描顺序(例如光栅扫描顺序)编码和解码的块。
当表示全向视频的3D表面投影在矩形画面上时,可能出现几种连续性/不连续性的情况。
作为示例,全向视频的3D表面上的块可能具有空间邻域,但是在将全向视频投影到矩形画面上之后,这样的因果空间邻域可能丢失或者其中的一部分可能丢失。图16A例示表示为球体的全向视频使用等矩形投影被投影在其上的矩形画面。在球体上,块A,B,C和D在位于球体顶部的区域中在空间上相邻。然而,在图16A中例示的投影画面上,定位于矩形画面的第一行上的块A,B,C和D不再是空间邻居,并且这样的块不能受益于位于那些块之上的空间相邻块根据传统视频编码器相邻技术提供的预测。类似的情况出现在位于画面的左右列上的块,这些块不能受益于左和左上空间邻居提供的预测。
当将全向视频表示为3D立方体并且将立方体的投影的6个面重新排列在图16B例示的矩形画面上并使用图16C例示的布局时,也会出现类似的问题。
在图16B中,例示黑线以区分立方体的每个面。看起来例如来自顶面的块I不能受益于来自正面的相邻块D的空间预测,尽管在立方体表示中对应的块I和D在空间上相邻。
此外,因果空间相邻块之间的一些不连续性出现在面的边缘。作为示例,来自后面和底面的块J和K以及来自同一行的其他块在重新排列的画面中呈现出与它们的空间顶邻居的强烈不连续性。当使用这样的相邻块用于预测时,这样的不连续性将导致差的压缩性能。
因此,需要一种新的全向视频的编码和解码方法。
在全向视频的情况下,这里公开本原理。它也可以应用于以非常大的视场获取的传统平面图像的情况,即,像鱼眼镜头一样以非常小的焦距获取。作为示例,本原理可以应用于180°视频。
图1例示根据示例实施例的编码和解码系统的总体概述。图1的系统是功能系统。预处理模块300可以准备用于由编码设备400编码的内容。预处理模块300可以执行多图像获取,将获取的多个图像合并在公共空间中(如果我们编码方向,典型是3D球体),以及使用例如但不限于等矩形映射或立方体映射将3D球体映射到2D帧。预处理模块300还可以接受特定格式(例如,等矩形)的全向视频作为输入,并预处理视频以将映射改变为更适合于编码的格式。取决于获取的视频数据表示,预处理模块可以执行映射空间改变。将参照说明书的其他附图描述编码设备400和编码方法。在编码之后,将可以例如编码沉浸式视频数据或3D CGI编码数据的数据发送到网络接口500,网络接口500典型可以在任何网络接口中实现,例如存在于网关中。然后通过诸如因特网(但是可以预见任何其他网络)的通信网络传输数据。然后通过网络接口600接收数据。网络接口600可以在网关,电视,机顶盒,头戴式显示设备,沉浸式(投影)墙或任何沉浸式视频呈现设备中实现。在接收之后,数据被发送到解码设备700。解码功能是在下面的图2到12中描述的处理功能之一。然后由播放器800处理解码数据。播放器800为呈现设备900准备数据,并且可以从传感器或用户输入数据接收外部数据。更确切地,播放器800准备将由呈现设备900显示的视频内容的一部分。解码设备700和播放器800可以集成在单个设备(例如,智能电话,游戏控制台,STB,平板电脑,电脑等)。在变型中,播放器800集成在呈现设备900中。
可以设想几种类型的系统来执行沉浸式显示设备的解码,播放和呈现功能,例如在呈现沉浸式视频时。
用于处理增强现实,虚拟现实或增强虚拟内容的第一系统例示在图2至图6中。这样的系统包括处理功能,沉浸式视频呈现设备,其可以是例如头戴式显示器(HMD),平板电脑,或者智能手机,并且可以包括传感器。沉浸式视频呈现设备还可以包括显示设备和处理功能之间的附加接口模块。处理功能可以由一个或多个设备执行。它们可以集成到沉浸式视频呈现设备中,也可以集成到一个或多个处理设备中。处理设备包括一个或多个处理器和与沉浸式视频呈现设备的通信接口,例如无线或有线通信接口。
处理设备还可以包括第二通信接口,其具有诸如因特网的宽接入网络和直接地或通过诸如家庭或本地网关的网络设备位于云上的接入内容。处理设备还可以通过第三接口(诸如以太网类型的本地接入网接口)访问本地存储。在实施例中,处理设备可以是具有一个或多个处理单元的计算机系统。在另一个实施例中,它可以是智能手机,其可以通过有线或无线链路连接到沉浸式视频呈现设备,或者可以插入沉浸式视频呈现设备的外壳中并通过连接器或无线地与其通信。处理设备的通信接口是有线接口(例如,总线接口,广域网接口,局域网接口)或无线接口(诸如,IEEE 802.11接口或
Figure BDA0002010284150000111
接口)。
当由沉浸式视频呈现设备执行处理功能时,沉浸式视频呈现设备可以配备有直接或通过网关以接收和/或发送内容的到网络的接口。
在另一个实施例中,该系统包括辅助设备,该辅助设备与沉浸式视频呈现设备并且与处理设备通信。在这样的实施例中,该辅助设备可以包含至少一个处理功能。
沉浸式视频呈现设备可以包括一个或多个显示器。该设备可以在其每个显示器的前面采用诸如透镜之类的光学器件。显示器也可以是沉浸式显示设备的一部分,如智能手机或平板电脑的情况。在另一个实施例中,显示器和光学器件可以嵌入头盔,眼镜或用户可以佩戴的面罩中。沉浸式视频呈现设备还可以集成若干传感器,如稍后所述。沉浸式视频呈现设备还可以包括若干接口或连接器。它可以包括一个或多个无线模块,以与传感器,处理功能,手持或其他身体部位相关设备或传感器通信。
沉浸式视频呈现设备还可以包括由一个或若干处理器执行的处理功能,并且被配置为解码内容或处理内容。通过在此处理内容,理解准备可以显示的内容的所有功能。这可以包括,例如,解码内容,在显示其之前合并内容以及修改内容以适合显示设备。
沉浸式内容呈现设备的一个功能是控制虚拟相机,该虚拟相机捕获被构造为虚拟体积的内容的至少一部分。该系统可以包括姿势跟踪传感器,其完全或部分地跟踪用户的姿势,例如,用户头部的姿势,以处理虚拟相机的姿势。一些定位传感器可以跟踪用户的位移。该系统还可以包括与环境相关的其他传感器,例如以测量照明,温度或声音条件。这样的传感器还可以与用户的身体相关,例如,以测量出汗或心率。通过这些传感器获取的信息可以用于处理内容。该系统还可以包括用户输入设备(例如,鼠标,键盘,遥控器,操纵杆)。来自用户输入设备的信息可用于处理内容,管理用户界面或控制虚拟相机的姿势。传感器和用户输入设备通过有线或无线通信接口与处理设备和/或与沉浸式呈现设备通信。
使用图2至图6,描述用于显示增强现实,虚拟现实,增强虚拟或从增强现实到虚拟现实的任何内容的该第一类型系统的若干实施例。图2例示被配置为解码、处理和呈现沉浸式视频的系统的特定实施例。该系统包括沉浸式视频呈现设备10,传感器20,用户输入设备30,计算机40和网关50(可选)。
图10例示的沉浸式视频呈现设备10包括显示器101。显示器例如是OLED或LCD类型。沉浸式视频呈现设备10例如是HMD,平板电脑或智能手机。设备10可以包括触摸表面102(例如,触摸板或触觉屏幕),相机103,与至少一个处理器104连接的存储器105和至少一个通信接口106。至少一个处理器104处理从传感器20接收到的信号。来自传感器的一些测量值用于计算设备的姿势并控制虚拟相机。用于姿势估计的传感器例如是陀螺仪,加速度计或罗盘。也可以使用更复杂的系统,例如使用一套相机。在这种情况下,至少一个处理器执行图像处理以估计设备10的姿势。一些其他测量用于根据环境条件或用户的反应来处理内容。用于观察环境和用户的传感器例如是麦克风,光传感器或接触传感器。也可以使用更复杂的系统,像例如跟踪用户眼睛的摄像机。在这种情况下,至少一个处理器执行图像处理以操作预期测量。传感器20和用户输入设备30数据也可以发送到计算机40,计算机40将根据这些传感器的输入处理数据。
存储器105包括用于处理器104的参数和代码程序指令。存储器105还可以包括从传感器20和用户输入设备30接收的参数。通信接口106使沉浸式视频呈现设备能够与计算机40通信。处理设备的通信接口106是有线接口(例如,总线接口,广域网接口,局域网接口)或无线接口(诸如,IEEE 802.11接口或
Figure BDA0002010284150000121
接口)。计算机40将数据和可选的控制命令发送到沉浸式视频呈现设备10。计算机40负责处理数据,即准备它们以由沉浸式视频呈现设备10显示。处理可以由计算机40专门完成或者部分处理可以由计算机完成,部分由沉浸式视频呈现设备10完成。计算机40直接或通过网关或网络接口50连接到因特网。计算机40从因特网接收表示沉浸式视频的数据,处理这些数据(例如,解码它们并且可能准备将由沉浸式视频呈现设备10显示的视频内容的一部分),并将处理后的数据发送到沉浸式视频呈现设备10用于显示。在变型中,系统还可以包括本地贮存器(未表示),其中存储表示沉浸式视频的数据,所述本地贮存器可以例如(未表示)在计算机40上或在可通过局域网访问的本地服务器上。
图3表示第二实施例。在该实施例中,STB 90直接或经由网关或网络接口50连接到诸如因特网的网络(即,STB 90包括网络接口)。STB 90通过无线接口或通过有线接口连接到呈现设备,诸如电视机100或沉浸式视频呈现设备200。除了STB的典型功能之外,STB90还包括处理用于在电视机100或任何沉浸式视频呈现设备200上呈现的视频内容的处理功能。这些处理功能与为计算机40描述的处理功能相同,并且这里不再描述。传感器20和用户输入设备30也与前面关于图2描述的类型相同。STB 90从因特网获得表示沉浸式视频的数据。在变型中,STB 90从存储表示沉浸式视频的数据的本地贮存器(未表示)获得表示沉浸式视频的数据,所述本地贮存器可以例如在可通过局域网(未表示)访问的本地服务器上。。
图4表示与图2中表示的相关的第三实施例。游戏控制台60处理内容数据。游戏控制台60将数据和可选的控制命令发送到沉浸式视频呈现设备10。游戏控制台60被配置为处理表示沉浸式视频的数据并将处理后的数据发送到沉浸式视频呈现设备10以供显示。处理可以由游戏控制台60专门完成,或者部分处理可以由沉浸式视频呈现设备10完成。
游戏控制台60直接或通过网关或网络接口50连接到因特网。游戏控制台60从因特网获得表示沉浸式视频的数据。在变型中,游戏控制台60从存储表示沉浸式视频的数据的本地贮存器(未表示)获得表示沉浸式视频的数据,所述本地贮存器可以在游戏控制台60上或在例如可通过局域网访问(未表示)的本地服务器上。
游戏控制台60从因特网接收表示沉浸式视频的数据,处理这些数据(例如,解码它们并可能准备将要显示的视频的一部分),并将处理后的数据发送到沉浸式视频呈现设备10以供显示。游戏控制台60可以从传感器20和用户输入设备30接收数据,并且可以使用它们来处理从因特网或从本地贮存器获得的表示沉浸式视频的数据。
图5表示所述第一类型的系统的第四实施例,其中沉浸式视频呈现设备70由插入外壳705中的智能手机701形成。智能手机701可以连接到因特网,并因此可以从因特网获得表示沉浸式视频的数据。在变型中,智能手机701从存储表示沉浸式视频的数据的本地贮存器(未表示)获得表示沉浸式视频的数据,所述本地贮存器可以位于智能手机701上或例如可通过局域网(未表示)访问的本地服务器。
参考图11描述沉浸式视频呈现设备70,图11给出沉浸式视频呈现设备70的优选实施例。它可选地包括至少一个网络接口702和用于智能手机701的外壳705。智能手机701包括智能手机和显示器的所有功能。智能手机的显示器用作沉浸式视频呈现设备70显示器。因此,不包括除智能手机701的显示器之外的显示器。然而,包括诸如透镜的光学器件704用于在智能手机显示器上看到数据。智能手机701被配置为可能根据从传感器20和用户输入设备30接收到的数据来处理(例如,解码并准备显示)表示沉浸式视频的数据。来自传感器的一些测量用于计算设备的姿势和控制虚拟相机。用于姿势估计的传感器例如是陀螺仪,加速度计或罗盘。也可以使用更复杂的系统,例如使用一套相机。在这种情况下,至少一个处理器执行图像处理以估计设备10的姿势。一些其他测量用于根据环境条件或用户的反应来处理内容。用于观察环境和用户的传感器例如是麦克风,光传感器或接触传感器。也可以使用更复杂的系统,像例如跟踪用户眼睛的摄像机。在这种情况下,至少一个处理器执行图像处理以操作预期测量。
图6表示所述第一类型的系统的第五实施例,其中沉浸式视频呈现设备80包括用于处理和显示数据内容的所有功能。该系统包括沉浸式视频呈现设备80,传感器20和用户输入设备30。沉浸式视频呈现设备80被配置为可能根据从传感器20和从用户输入设备30接收的数据来处理(例如,解码并准备用于显示)表示沉浸式视频的数据。可以将沉浸式视频呈现设备80连接到因特网,并因此可以从因特网获得表示沉浸式视频的数据。在变型中,沉浸式视频呈现设备80从存储表示沉浸式视频的数据的本地贮存器(未表示)获得表示沉浸式视频的数据,所述本地贮存器可以在沉浸式视频呈现设备80上或者在例如可通过局域网访问的本地服务器上(未表示)。
沉浸式视频呈现设备80在图12中例示。沉浸式视频呈现设备包括显示器801。显示器可以是例如OLED或LCD类型,触摸板(可选)802,相机(可选)803,与至少一个处理器804连接的存储器805和至少一个通信接口806。存储器805包括用于处理器804的参数和代码程序指令。存储器805还可以包括从传感器20和用户输入设备30接收的参数。存储器也可以足够大以存储表示沉浸式视频内容的数据。存储器805可以是不同类型(SD卡,硬盘,易失性或非易失性存储器......)。通信接口806使沉浸式视频呈现设备能够与因特网网络通信。处理器804处理表示视频的数据,以在显示器801显示它们。相机803捕获环境的图像以用于图像处理步骤。从该步骤提取数据以控制沉浸式视频呈现设备。
用于处理增强现实,虚拟现实或增强虚拟内容的第二系统在图7至9中例示。这样的系统包括沉浸式壁。
图7表示第二类型的系统。它包括显示器1000,其是从计算机4000接收数据的沉浸式(投影)壁。计算机4000可以从因特网接收沉浸式视频数据。计算机4000通常直接或通过网关5000或网络接口连接到因特网。在变型中,沉浸式视频数据由计算机4000从存储表示沉浸式视频的数据的本地贮存器(未表示)获得,所述本地贮存器可以在计算机4000中或在例如可通过局域网(未表示)访问的本地服务器中。
该系统还可以包括传感器2000和用户输入设备3000。沉浸式壁1000可以是OLED或LCD类型。它可以配备一个或几个相机。沉浸式壁1000可以处理从传感器2000(或多个传感器2000)接收的数据。从传感器2000接收的数据可以与照明条件,温度,用户的环境,例如,物体的位置,有关。
沉浸式壁1000还可以处理从用户输入设备3000接收的数据。用户输入设备3000发送诸如触觉信号之类的数据,以给出关于用户情绪的反馈。用户输入设备3000的示例是诸如智能电话,遥控器和具有陀螺仪功能的设备之类的手持设备。
传感器2000和用户输入设备3000数据也可以被发送到计算机4000。计算机4000可以根据从这些传感器/用户输入设备接收的数据处理视频数据(例如,解码它们并准备它们用于显示)。传感器信号可以通过沉浸式壁的通信接口接收。该通信接口可以是蓝牙型,WIFI型或任何其他类型的连接,优选地是无线的,但也可以是有线连接。
计算机4000将处理后的数据和可选的控制命令发送到沉浸式壁1000。计算机4000被配置为处理数据,即准备它们用于显示,以由沉浸式壁1000显示。处理可以由计算机4000专门完成,或者部分处理可以由计算机4000完成,部分由沉浸式壁1000完成。
图8表示第二类型的另一系统。它包括沉浸式(投影)壁6000,其被配置为处理(例如,解码和准备数据用于显示)并显示视频内容。它还包括传感器2000,用户输入设备3000。
沉浸式壁6000通过网关5000或直接从因特网接收沉浸式视频数据。在变型中,沉浸式视频数据由沉浸式壁6000从其中存储表示沉浸式视频的数据的本地贮存器(未表示)获得,所述本地贮存器可以位于沉浸式壁6000或例如可通过局域网(未表示)访问的本地服务器中。
该系统还可以包括传感器2000和用户输入设备3000。沉浸式壁6000可以是OLED或LCD型。它可以配备有一个或几个摄像头。沉浸式壁6000可以处理从传感器2000(或多个传感器2000)接收的数据。从传感器2000接收的数据可以与照明条件,温度,用户的环境,例如,物体的位置有关。
沉浸式壁6000还可以处理从用户输入设备3000接收的数据。用户输入设备3000发送诸如触觉信号之类的数据,以给出关于用户情绪的反馈。用户输入设备3000的示例是诸如智能电话,遥控器和具有陀螺仪功能的设备之类的手持设备。
沉浸式壁6000可以根据从这些传感器/用户输入设备接收的数据处理视频数据(例如,解码它们并准备它们用于显示)。传感器信号可以通过沉浸式壁的通信接口接收。该通信接口可以是蓝牙类型,WIFI类型或任何其他类型的连接,优选地是无线的,但也可以是有线连接。沉浸式壁6000可以包括至少一个通信接口,以与传感器并且与因特网通信。
图9例示沉浸式壁用于游戏的第三实施例。一个或几个游戏控制台7000优选地通过无线接口连接到沉浸式壁6000。沉浸式壁6000通过网关5000或直接从因特网接收来自因特网的沉浸式视频数据。在变型中,沉浸式视频数据由沉浸式壁6000从其中存储表示沉浸式视频的数据的本地贮存器(未表示)获得,所述本地贮存器可以位于沉浸式壁6000或可例如通过局域网(未表示)访问的本地服务器中。
游戏控制台7000将指令和用户输入参数发送到沉浸式壁6000。沉浸式壁6000可能根据从传感器2000和用户输入设备3000和游戏控制台7000接收的输入数据处理沉浸式视频内容,以准备内容用于显示。沉浸式壁6000还可以包括内部存储器以存储要显示的内容。沉浸式壁6000可以是OLED或LCD型。它可以配备一个或几个摄像头。
从传感器2000接收的数据可以与照明条件,温度,用户的环境有关,例如,物体的位置。沉浸式壁6000还可以处理从用户输入设备3000接收的数据。用户输入设备3000发送诸如触觉信号之类的数据,以给出关于用户情绪的反馈。用户输入设备3000的示例是诸如智能电话,遥控器和具有陀螺仪功能的设备之类的手持设备。
沉浸式壁6000可以根据从这些传感器/用户输入设备接收的数据处理沉浸式视频数据(例如,解码它们并准备它们用于显示)。传感器信号可以通过沉浸式壁的通信接口接收。该通信接口可以是蓝牙类型,WIFI类型或任何其他类型的连接,优选地是无线的,但也可以是有线连接。沉浸式壁6000可以包括至少一个通信接口,以与传感器和因特网通信。
图17例示根据本公开的实施例的用于将表示全向视频的3D画面的2D画面的当前块编码成比特流的示例性方法的框图。所述全向视频的至少一个画面被表示为3D表面,诸如球体或立方体,如上所述。然而,本原理可以应用于全向视频的任何3D表示。使用投影函数将3D表面投影到至少一个2D画面上。例如,这样的投影函数可以是等矩形投影或其他类型的投影函数。然后将2D作为结果的画面划分成非重叠的像素块。这里公开用于使用常规2D视频编码方案编码的2D画面的至少一个当前块的方法。在HEVC视频编码方案的情况下公开本原理。然而,本原理也可以应用于任何常规的基于块的视频/画面编码方案。
在步骤1700中,根据投影函数确定表示2D画面的区域的2D空间邻域的修改的至少一项信息。
根据本公开的实施例,考虑到用于将全向视频的画面投影到2D画面上的投影函数引入的连续性和不连续性,确定表示2D空间邻域的修改的至少一项信息可以通过生成相邻替换表(在本公开中也称为NRT表)来执行。这样的NRT表还用于适应邻居的信息的推导,因为它被HEVC编解码器的不同编码模块用于编码2D画面的当前块。
NRT表允许描述2D画面的区域的新相邻信息(添加或去除的连续性,添加或去除的不连续性)。
根据HEVC,2D画面被细分为一组编码树单元(CTU)。一个CTU包括亮度样本的编码树块(CTB)和色度样本的两个编码树块以及关于编码树块的进一步细分的对应语法元素。亮度样本的编码树块可以具有16×16像素,32×32像素或64×64像素的大小。可以使用树结构和类似四叉树的信令将每个编码树块进一步细分为更小的块(称为编码块CB)。
NRT表可以使用编码树结构的深度级别来发信号通知连续性/不连续性。对于具有更大深度的块,即对于更小的块,不发信号通知连续性/不连续性。典型地,NRT表可以包括关于用于信令的CTU级别的信息。在那种情况下,NRT表的区域对应于CTU。
替代地,来自NRT表的区域可以表示多于一个CTU。区域还可以对应于2D画面中定义的瓦片(tile)或条带。
作为示例,对于表示为球体的3D表面,整个2D画面可以仅对应于一个区域。
根据另一示例,对于表示为立方体的3D表面,2D画面上的立方体的每个投影面可以对应于一个区域。图18例示在表示为立方体的3D表面的情况下的这样的区域。2D画面由此包括6个区域(A,B,C,D,E,F),每个区域对应于立方体的面的投影,并且根据规则网格重新排列。下面的表2例示图18例示的2D画面的NRT表。
行和列索引用于标识区域。这里使用光栅扫描顺序,但是可以使用Z扫描或其他扫描来标识画面内的区域位置。
NRT表为2D画面的至少一个区域(第一列)存储表示该区域的2D空间邻域(第二和第三列)的修改的至少一项信息。
对于2D画面的给定区域(第一列)和给定相邻区域(第二列),如果2D画面中存在连续性变化,则语法指示哪个区域(第三列)替换给定的邻近区域(第二列))或空符号指示不替换给定的邻近区域。
根据实施例,如果需要,应用于替换区域的旋转参数(第四列)在NRT表中与替换相邻区域相关联。
根据实施例,NRT表还为存在邻域的修改的2D画面的每个区域存储邻域的修改所应用于的编码/解码模块。根据该实施例,邻域的修改可能不应用于所有编码模块。
这样的编码模块可以是用于空间预测当前块的帧内预测模块(帧内预测),用于推导用于编码当前块的帧内预测编码模式的最可能模式的模块(MPM),用于推导运动矢量预测器(MV pred)的模块,去块滤波模块,样本自适应偏移滤波模块(SAO)等.....。
Figure BDA0002010284150000191
表2:NRT表的示例
NRT表可以包括表示指示用于当前区域的2D空间邻域的修改的信息项,要使用邻居替换区域而不是在所述2D画面中与所述当前区域在空间上相邻的邻居区域。例如,在表2中,对于当前区域E,帧内预测模块使用区域A而不是区域B(即,在空间上预测要编码的当前块的样本)。
NRT表还可以包括指示用于当前区域的信息项,要使用邻居替换区域,而不是在所述2D画面中与所述当前区域在空间上相邻的不可用区域。例如,在表2中,对于当前区域D,区域B要由帧内预测模块用作区域D的左邻域,尽管区域D的左侧没有区域可用。
NRT表还可以包括表示指示用于当前区域的2D空间邻域的修改的信息项,要使用空替换区域而不是在所述2D画面中与所述当前区域在空间上相邻的邻居区域,其中,所述空替换区域是不包括来自所述2D画面的块的区域。这样的实施例在2D画面中引入不连续性。实际上,即使区域具有空间相邻的邻居,在编码期间也不考虑该邻居。在这种情况下,相邻区域仅仅被去激活,并且在NRT表中用空符号表示。
例如,在表2和图18中,当考虑MPM推导或运动矢量预测时,区域F不应该使用区域E作为邻居。
在步骤1701中,对于要编码的2D画面的当前块,推导块邻域。例如,这样的推导在图20中例示,在下面讨论。该处理可以针对每个当前块执行一次,或者在应用于当前块的编码或解码处理的每个阶段执行,因为用于编码/解码当前块的相邻块可能根据当前处理当前的块的编码/解码模块而改变。
在步骤2005中,确定当前块是否位于来自2D画面的区域的边界处以及当前块的至少一个邻居是否位于该区域之外。
如果对步骤2005的测试的答案是肯定的,则在步骤2002中确定当前块是否属于在NRT表中指定的邻域自适应的区域。例如,考虑图19中例示的2D画面的块36,块36属于2D画面的区域E,并且NRT表指定表示区域E的修改的至少一个信息项。
然后,在步骤2003中,对于当前块的每个邻居,确定该邻居是否属于在NRT表中指定了邻域自适应的区域。例如,对于帧内预测处理,帧内画面预测使用来自空间相邻块的先前解码的边界样本来形成预测信号。这样的相邻块是被考虑的相邻块的左侧,左下方,上方和右上方的邻居。
在步骤2004中,如果当前块的当前邻居属于在NRT表中指定邻域自适应的区域,则如果在NRT表中指定了替换区域,则确定相邻块的替换块,否则确定没有可用于替换当前相邻块的块。当变换(例如,旋转)参数与相邻替换区域相关联时,在步骤2004中将这样的变换参数应用于确定的替换块。步骤2003和2004允许使用表示存储在NRT表中的修改的信息项来确定一组相邻块。
例如,如图19例示,块36的左相邻块是块35,块36的左下相邻块是块43。块35和43属于区域D,对于其没有表示修改的信息项存储在NRT表中用于当前区域E和帧内预测的情况下的相邻区域D。因此,块36的左侧和左下相邻块分别保留块35和43。
如图19例示,块36的上方和右上相邻块是属于区域B的块,对于其表示修改的信息项存储在NRT表中用于当前区域E以及帧内预测的情况下的相邻区域B。
从表示存储在NRT表中的修改的信息项中,块36的上方和右上相邻块分别被确定为分别对应于逆时针旋转角度90°的区域A的块1和2的块1'和2'。因此,2D画面的块1和2存储在存储器中并经历逆时针旋转90°。为此,在帧内预测的情况下,块1(块2)的第一列被重写为块1'(块2')的最后一行,对于帧内预测,仅从上方和右上块的一行采样的用于生成预测块。
当对步骤2005,2002或2003中的任何一个步骤的答案为否时,在步骤2001中为当前块推导常规邻域。例如,如图15中对于当前块BK例示,用于帧内预测的相邻块组可以是块A,B,C和D.
回到图17,在步骤1701的结束,用于当前块36的相邻块组包括作为左相邻块的块35,作为左下相邻块的块43,作为上方相邻块的块1'和作为右上相邻块的块2',用于执行块36的帧内预测。
在步骤1702中,执行用于使用所确定的相邻块组将所述当前块编码成所述比特流的编码处理的至少一部分。例如,使用确定的相邻块组,根据HEVC编码方案对当前块执行帧内预测。这样的帧内预测技术是本领域技术人员公知的。它包括取决于帧内预测模式从相邻块确定当前块的预测块。在对应于33个方向取向的若干方向预测模式(在HEVC中从2到34索引)、平面预测模式(索引0)和DC预测模式(索引1)中选择帧内预测模式。根据本公开的特定实施例,在步骤1703中,将NRT表编码成比特流,使得解码器可以使用相同的相邻信息项来从比特流重构2D画面。
根据变型,NRT表被编码在序列参数集语法元素中,诸如由H.264/AVC标准或HEVC标准定义的语法元素。根据另一变型,NRT表被编码在画面参数集语法元素中,诸如由H.264/AVC标准或HEVC标准定义的语法元素。根据另一变型,NRT表被编码在与所述2D画面对应的条带报头语法元素中,诸如由H.264/AVC标准或HEVC标准定义。
上面已经在对于当前块执行帧内预测的情况解释本原理。然而,这样的原理可以应用于处理当前块的其他编码/解码模块,这将在下面参考图22进一步详述。
图22是例示示例性视频编码器400的示意性框图。根据本原理的实施例,这样的视频编码器400执行将表示全向视频的投影的一组画面编码到比特流。视频编码器400根据诸如H.266,HEVC/H.265,AVC/H.264或任何专有视频编码系统的任何视频编码标准来执行画面的编码。
传统上,视频编码器400可以包括用于基于块的视频编码的若干模块,如图22例示。表示来自要编码的全向视频的投影画面的2D画面I被输入到编码器400。
首先,细分模块将画面I划分为一组像素单元。
取决于使用的视频编码标准,由细分模块传递的像素单元可以是宏块(MB),诸如H.264/AVC或编码树单元(CTU),诸如HEVC。
根据HEVC编码器,编码树单元包括亮度样本的编码树块(CTB)和色度样本的两个编码树块以及关于编码树块的进一步细分的对应语法元素。亮度样本的编码树块可具有16×16像素,32×32像素或64×64像素的大小。可以使用树结构和类似四叉树的信令将每个编码树块进一步细分为更小的块(已知为编码块CB)。四叉树的根与编码树单元相关联。亮度编码树块的大小是所支持的亮度编码块的最大大小。一个亮度编码块和通常两个色度编码块形成编码单元(CU)。编码树单元可以包含一个编码单元,或者可以被分割以形成多个编码单元,并且每个编码单元使得相关联的划分为预测单元(PU)和变换单元树(TU)。在编码单元级进行是否使用帧间画面或帧内画面预测来编码画面面积的判定。预测单元划分结构的根在编码单元级别。依赖于基本预测类型判定,然后可以将亮度和色度编码块在大小上进一步被分割,并从亮度和色度预测块(PB)预测。HEVC标准支持从64x64到4x4样本的可变预测块大小。使用块变换编码预测残差。变换单元(TU)树结构的根在编码单元级别。亮度编码块残差可以与亮度变换块相同,或者可以进一步分割为更小的亮度变换块。这同样应用于色度变换块。变换块可以具有4x4,8x8,16x16或32x32样本的大小。
编码处理在下面描述为应用于称为块BLK的像素单元。这样的块BLK可以对应于宏块,或编码树单元,或来自上面描述的单元之一的任何子块,或包括亮度样本和色度样本或仅亮度样本的画面I的任何其他细分布局。
下面描述的编码和解码处理用于例示目的。根据一些实施例,编码或解码模块可以添加或移除,或者可以从以下模块改变。然而,在此公开的原理仍然可以应用于这些实施例。
编码器400如下执行画面I的每个块的编码。编码器400包括模式选择单元,用于为要编码的画面的块BLK选择编码模式,例如。基于率/失真优化。这样的模式选择单元包括:
-运动估计模块,用于估计要编码的画面的当前块与参考画面之间的运动,
-运动补偿模块,用于使用估计运动来预测当前块,
-帧内预测模块,用于空间预测当前块。
模式选择单元还可以根据例如率/失真优化来判定是否需要细分块。在那种情况下,模式选择单元然后对块BLK的每个子块操作。
如已经讨论的,关于图17和20描述的原理可以由帧内预测模块应用。
当确定用于编码帧内预测编码模式用于当前块BLK的最可能模式列表时,公开的原理可以由模式选择单元应用。HEVC标准指定33个方向预测模式(索引从2到34),对应于33个方向取向,平面预测模式(索引0)和DC预测模式(索引1),导致一组35个可能的帧内预测模式用于空间预测当前块。为了减少发信号通知哪个帧内预测模式用于编码当前块所需的信令比特率,构建最可能模式(MPM)列表。MPM列表包括当前块的三个最可能的帧内预测模式。根据用于编码当前块的相邻块的帧内预测模式来确定这三个MPM。在此处理中仅考虑当前块的左侧和上方相邻块。
为了从当前块的相邻块推导三个MPM,以下应用:
-如果当前块的相邻块不可用,则将它们的帧内预测模式分配为DC预测模式;
-然后下面的表3指示三个MPM(MPM0,MPM1,MPM2)的确定:其中L代表左相邻块的帧内预测模式,并且A代表上方相邻块的帧内预测模式,L+1和L-1代表来自一组35个帧内预测模式的位于左邻居的帧内预测模式的索引之后或之前的帧内预测模式:
Figure BDA0002010284150000241
表3HEVC中的MPM推导
例如,对于图23中例示的块I,在常规HEVC方案中,左邻居不可用,因此,左邻居的帧内预测模式被分配为DC预测模式。
然后,从表3推导出MPM列表,例如,如果I的上相邻块具有对应于平面模式的帧内预测模式,则MPM列表是{DC,平面,26(ver)}。
使用NRT表2和图17和20中描述的处理,将上述块设置为块C'的帧内预测模式,这样的块C'的帧内预测模式对应于旋转180度的块C的帧内预测模式。左块被设置为块D'的帧内预测模式,这样的块D'的帧内预测模式对应于块D的帧内预测模式旋转90度。例如,如果块D的帧内预测模式是模式10(水平帧内预测),则旋转90°的对应帧内预测模式是模式26(垂直帧内预测模式)。然后,块D'被分配为模式26作为帧内预测模式。
使用表3,然后取决于块C'和D'的帧内预测模式,为当前块推导出新的MPM列表。注意,当替换时,当引入新的不连续性(即,现有的相邻块被去激活)时或者当块不可用时,也可以用DC替换块(没有块可用)。
当由运动补偿的帧间画面预测来预测当前块时,模式选择单元还可以在用于编码当前块的运动矢量的运动矢量预测器的推导处理中应用公开的原理。
在HEVC标准中,运动矢量预测使用位于当前块的左下,左侧,左上,上方和右上的相邻块。构造包括这些相邻块的运动矢量的一组运动矢量。然后,例如根据速率/失真包括从该组中选择运动矢量预测器。残差运动矢量被计算为当前块的运动矢量和选择的运动矢量预测器之间的差。残差运动矢量和指示来自该组的选择的运动矢量的索引被发送到解码器,使得解码器可以从解码的残差和选择的运动矢量预测器重构当前块的运动矢量。
图17和20中公开的处理可以应用于用于运动矢量预测的当前块的邻域。对于替换相邻块,因此将其运动矢量作为预测器而不是替换块的运动矢量。当在NRT表中指定角度α的旋转时,然后替换相邻块的运动矢量(dx,dy)如下旋转:
dx'=cos(a)dx+sin(a)dy
dy'=-sin(a)dx+cos(a)dy,其中(dx',dy')是替换相邻块的旋转的运动矢量。
然后将旋转的运动矢量添加到该组运动矢量预测器。
当使用运动补偿的帧间画面预测编码当前块时,模式选择单元也可以在编码当前块的运动矢量的运动矢量推导的处理中应用公开的原理。
当这样的运动矢量指向属于对于其在NRT表中已经指定了邻域自适应的区域的块时,NRT表可以用于减小要编码的运动矢量的幅度。例如,在图24A和B中,使用NRT表使运动矢量u被运动矢量v替换以受益于布局的连续性。
从NRT表中,可以确定运动矢量u从当前块指向用作当前块的空间相邻块的替换相邻块的块。因此,可以计算从当前块指向当前块的空间相邻块的位置的新运动矢量v。在一些情况下,新运动矢量v的幅度低于运动矢量u,并因此可以以较低的成本编码。
在等矩形布局中,运动矢量u被运动矢量v替换,运动矢量v跨越画面左侧的连续性以指示与矢量u相同的块。
在立方体投影布局中,从左面开始的矢量u指示底面中的块。它可以使用NRT用矢量v替换,矢量v跨越左面底部的连续性,并在底面继续指示与矢量u相同的块。
根据存储在NRT表中的变换参数,当使用替换运动矢量制作当前块的预测块时,相应地旋转替换相邻块。
回到图22,一旦选择编码模式用于块BLK,模式选择单元就在比特流中传递预测块PRED和要编码的相应语法元素,用于在解码器处执行相同的块预测。
然后通过从原始块BLK中减去预测块PRED来获得残差块RES。
然后,通过变换处理模块变换残差块RES,以传递变换系数的变换块TCOEF。然后,每个传递的变换块TCOEF由量化模块量化,以传递量化残差变换系数的量化变换块QCOEF。
然后,将块QCOEF的语法元素和量化残差变换系数输入到熵编码模块,以传递比特流STR的编码的视频数据。量化变换块QCOEF的量化残差变换系数由逆量化模块处理,以传递未量化变换系数的块TCOEFF'。块TCOEF'被递送到逆变换模块,用于重构残差预测块RES'。
然后,通过将预测块PRED添加到重构残差预测块RES'来获得块BLK的重构版本REC。重构块REC存储在存储器中供以后由画面重构模块使用,用于重构画面I的解码版本I’。一旦画面I的所有块BLK都被编码,画面重构模块就执行从重构块REC的画面I的解码版本I’的重构。可选地,可以将去块滤波应用于重构画面I’,以去除重构块之间的块效应伪像。
图17和20中公开的原理也可以如下应用于去块滤波处理。根据本公开的实施例,去块滤波器用于连续性并且在不连续性上被禁用。NRT表用于确定从其获取样本用于滤波当前块的边界样本的替换相邻块,并且用于确定去块对于没有替换相邻块的样本被去激活。
对于要去块的当前块的每个边界,如果块属于NRT中指定的区域并且边界在当前块和替换块之间,则使用替换块(如果可用)并且可能对其进行旋转而不是规则的相邻块。
图25A例示根据常规视频编码器在垂直边缘上应用的规则去块滤波。例如,首先对块A和B之间的边界去块,然后对B和C之间的边界去块。图25B例示当根据本原理使用图25C例示的NRT描述时的自适应去块滤波。NRT表指示D作为块A的右邻居,因此在块A和D之间应用去块处理(图25B中的线1)。由于块B的左边界尚未被去块,因此它是去块的候选者。在NRT表中,块E是B的左邻居的替换。取决于解码顺序,块E此时可能不可用,所以不执行去块。稍后,当检查用于去块的块E时,顶部边界是使用块B的旋转版本作为顶部邻居要去块的候选者。
图17和20中公开的原理也可以应用于HEVC标准中定义的SAO处理。在HEVC中,对于每个CTU,样本自适应偏移(SAO)使用当前CTU的所有8个相邻CTU。注意在CTU边界上的一些邻居是被替换/不可用的情况下,边界上的块相应地用NRT表替换。替代地,为了限制存储器中的CTU的数量,可以引入语法元素以禁止在对于其替换相邻块的边界的像素上的SAO处理。
回到图22,一旦重构的画面I’已经被去块并且已经经历SAO处理,则将作为结果的重构画面添加到参考画面存储器中以供稍后用作参考画面,用于编码要编码的该组画面的后续画面。
然后,从上述编码处理生成的比特流通过数据网络发送,或者存储在存储器上,用于从比特流STR解码的全向视频的沉浸式呈现。
图23例示在上面表2中公开的NRT表中定义的用于立方体投影的附加空间连续性。在常规2D视频编码方案中不可用这样的额外不连续性。
作为示例,来自区域D的块K可能受益于分别来自区域B和C的相邻块L和M,其在例如以光栅扫描顺序扫描块时先前已被编码/解码。因此,根据本公开的一个实施例,可以从已编码/解码的数据中受益以编码这种类型的块。换句话说,该实施例允许引入新的因果邻域用于这些块。
表2中公开的NRT表已在立方体投影的情况下公开。但是本公开可以应用于其他类型的投影。例如,下面的表4例示对应于2D画面的等矩形投影的NRT表的示例,诸如图21中例示。
Figure BDA0002010284150000271
表4:等矩形投影的NRT表
例如,在表4中,表的第一行规定在2D画面的右边界处,而不是具有不可用的右邻居,使得新邻居可用(同一行的第一块)。
图21例示图16A中块之间的相同连续性,以及附加(因果)空间连续性:
1-具有水平(因果)空间邻居的块:F(右起A),J(右边有G)
2-具有垂直(因果)空间邻居的块:C(块A旋转180度),D(块B旋转180度)。C(相应的D)位于A(相应的B)的1/2图像宽度。
3-具有部分垂直(因果)空间邻域的块:块B具有类似于块A旋转180度的上边界。
4-具有对角(因果)空间邻居的块:G(左起F),J(右起A),K(左起J)。
注意,在通过视频编码方案对2D画面进行特殊高级别划分的情况下(例如,用于错误恢复或并行解码的条带或瓦片划分),这些空间连续性中的一些可能是不可用的。
从图23和21以及表2和表4,看起来额外空间连续性允许考虑来自位于当前块的右侧和/或下方和/或右下和/或左下的块的解码信息。
根据本公开的实施例,这样的新邻域(在当前块的右侧,和/或下方和/或右下方)用于确定当前块的邻域,如图20公开。在用于从NRT表推导当前块的邻域的该处理中,考虑当前块的八个邻居(在左侧,上方,左上,右上,右侧,下方,右下,左下)。
因此,新邻域可用于确定用于编码所述当前块的预测器列表。例如,这样的预测器列表可以是当前块被帧内编码时的MPM模式列表,或者当当前块被帧间编码时的运动矢量预测器列表。如图26A中例示,在MPM模式列表的情况下,当当前块的左块(A)和/或顶块(B)不可用于确定当前块的最可能模式时,可以分别使用块D和C而不是块A和B。例如,在表2中,看起来MPM推导已经针对区域B(0,1)的左区域被去激活,并且对于MPM推导,区域C(0,2)被添加为用于区域D(1,0)的下方的邻居。因此,来自MPM推导中使用的顶部块的帧内预测模式由此可以由来自位于当前块下方的区域C(0,2)的块的帧内预测模式替换。
从表2,要注意到,对于帧内预测,区域D(1,0)的左邻居被区域B(0,1)的旋转版本替换,但是对于MPM推导,没有左邻居可用于区域D(1,0)。因此,区域D(1,0)的左边界上的当前块可以通过来自区域B(0,1)的旋转版本的右边界上的块的样本在空间上预测,而用于编码用于预测当前块的帧内预测模式的MPM列表使用位于区域C(0,2)中的块的帧内预测模式来构造。
根据另一实施例,由添加的空间连续性允许的新邻域可以用于确定用于编码当前块的运动矢量的运动矢量预测器的列表。图26B例示根据本公开的实施例的可以用于推导运动矢量预测列表的块。块A0,A1,B0,B1和B2是当编码残差运动矢量用于当前块时HEVC视频编码方案常规用于推导运动矢量预测列表的块。
根据HEVC标准,根据块A0和A1的运动信息推导第一运动矢量预测器mvA,并且根据块B0,B1和B2的运动信息推导第二运动矢量预测mvB。当块A0和A1不可用时,mvA从块B0,B1和B2的运动信息推导。在HEVC标准中,运动矢量预测器列表包括两个运动矢量预测器。当列表中的运动矢量预测器的数量小于2时,来自参考画面中的同位置块的时间运动矢量被添加到列表中。当列表中的运动矢量预测器的数量仍然小于2时,零运动矢量也被添加到列表中,直到该数量等于2。
当编码当前块的运动矢量时,选择来自列表的两个运动矢量中的一个,并且计算残差运动矢量作为当前块的运动矢量和选择的运动矢量之间的差。然后,将残差运动矢量编码成比特流。指示在列表中选择了哪个运动矢量预测器的标志也被编码到比特流中。因此解码器可以根据从比特流解码的运动矢量残差和选择的运动矢量预测器来重构当前块的运动矢量。
从图26B,可以注意到,根据本公开,新块CO,C1和C2可以用于推导要添加到运动矢量预测器的列表的运动矢量。例如,当A1不可用时,A1被C0替换,并且运动矢量预测器mvA根据HEVC常规处理从A0和C0推导。当B2,相应的,B1分别不可用时,B2,B1分别由C2,C1替换。由此根据HEVC常规处理从B0,C1和C2推导运动矢量预测器mvB。这样的实施例允许在常规块不可用的情况下受益于新的邻域,而不暗示需要添加额外的语法元素来发信号通知新的运动矢量预测器,因为列表中的运动预测器的数量仍为2。
图27例示根据本公开的实施例的用于从比特流解码表示全向视频的3D画面的2D画面的当前块的示例性方法的框图。
根据该实施例,在步骤2700中,以与图17描述的步骤1700类似的方式生成NRT表。
根据变型,NRT表由解码器已知的投影函数生成,并且因此在比特流中不需要额外的信息来生成NRT表。
根据另一变型,解码器不知道投影函数,从所述比特流解码与所述投影函数有关的信息项。可以从2D画面的条带报头、序列参数集或画面参数集解码这样的信息项。信息项可以指示全向视频到2D画面的布局类型(等矩形投影,立方体投影......)。因此解码器能够从这样的信息中推导出与在2D画面的编码处理中使用的相对应的NRT表。
根据另一变型,比特流还可以包括指示用于生成NRT表的标准化方法的信息项。例如,可以使用几种方法,其提供允许连续性/不连续性/附加连续性的每种不同可能性。作为示例,在立方体投影中,不存在当前块的左上块。然后可以将正面的左上块定义为立方体的左面上的第一行上的块或者顶面的最后一行上的块。本变型允许指定如何确定这样的块。
在步骤2701中,根据图20中公开的推导处理推导当前块的邻域。
在步骤2702中,使用在步骤2701中推导出的邻域来执行用于重构块的解码的至少一部分。这样的解码的一部分可以是以下之一:使用属于步骤2701中确定的相邻块组的块的至少一个样本来确定空间预测块,确定用于解码当前块的帧内预测模式的MPM列表,推导用于重构当前块的运动矢量的运动矢量预测器,去块滤波当前块的边界,或者当前块的样本自适应偏移滤波。
图28例示根据本公开另一实施例的用于从比特流解码表示全向视频的3D画面的2D画面的当前块的示例性方法的框图。根据该实施例,在步骤2800中,NRT表从比特流解码并存储在存储器中。然后,解码方法步骤类似于关于图27描述的那些步骤,并且这里不另外详细描述。
根据本公开的实施例,可以在用于解码表示全向视频的比特流的示例性方法中实现图27或28公开的方法的任何一个实施例,诸如下面和图29中公开。
图29是例示适用于解码使用本原理编码的比特流的示例性视频解码器方法的示意性框图。表示编码画面(表示全向视频投影到所述画面上)的比特流STR包括表示所述画面的至少一个块BLK的编码数据。可以根据本公开的实施例编码这样的块。
根据一个实施例,比特流STR还可以包括表示与投影函数有关的信息项的编码数据或表示在编码器处生成的NRT表的编码数据。
视频解码器700例如根据HEVC视频编码标准执行画面的解码。本原理可以应用于任何视频编码标准。
视频解码器700通过逐个画面从比特流解码所编码的画面并逐个块解码每个画面来执行全向视频的重构。根据使用的视频压缩标准,并行处理可以用于基于画面或基于块解码比特流。因此,如下从压缩比特流重构画面I’。
编码数据被递送到视频解码器700的视频解码模块。如图29中例示,编码数据被递送到熵解码模块,该熵解码模块执行熵解码并将量化变换系数的块QCOEF递送到逆量化模块并且将语法元素递送到预测模块。
量化变换系数的块QCOEF由逆量化模块逆量化,以传递去量化变换系数的块TCOEF'。
通过逆变换模块逆变换去量化变换系数的块TCOEF',来传递残差预测块RES'。
预测模块根据语法元素,并且如果当前块已被帧间预测则使用运动补偿模块,或者如果当前块已被空间预测则使用帧内预测模块,来构建预测块PRED。为了构建预测块,根据图27或28公开的实施例之一,预测模块可以使用从比特流解码的NRT表或者从与投影函数有关的信息项生成NRT表。然后预测模块可以以与在编码器处执行的邻域推导处理类似的方式,根据在此关于图20公开的任何一个实施例推导块邻域。
然后,通过将预测块PRED添加到重构的残差预测块RES'来获得重构块REC。重构块REC存储在存储器中,供画面重构模块稍后用于重构解码画面I’。一旦画面I的所有块都被解码,画面重构模块就从重构块REC执行解码画面I’的重构。可选地,可以将去块滤波应用于重构画面I’,以去除重构块之间的块效应伪像。在根据本公开的实施例的用于推导当前块的邻域的处理已经应用于编码器的情况下,这样的处理也应用于解码器。
类似地,在根据本公开的实施例的用于推导当前块的邻域的处理已经应用于HEVC标准中定义的用于自适应样本偏移滤波的模块中的编码器的情况下,这样的SAO滤波也以与编码器相同的方式应用于解码器。
然后将重构画面I’存储在参考画面存储器中,以供稍后用作参考画面,用于解码要解码的画面组的后续画面。
然后,重构画面I’被存储在存储器上或由视频解码器装置700输出到上面公开的沉浸式呈现设备(10)。视频解码器装置700还可以包括在沉浸式呈现设备(80)中。在这种情况下,重构画面I’由解码器装置输出到沉浸式呈现装置(80)的显示模块。
根据实现的沉浸式呈现系统,公开的解码器装置可以包括在诸如在此公开的沉浸式呈现系统的任何一个处理设备中,例如,在计算机(40),或游戏控制台(60),或智能手机(701),或沉浸式呈现设备(80)或沉浸式壁(6000)。
装置解码器700可以实现为硬件或软件或其硬件和软件的组合。
根据本公开的实施例,可以使用表示编码全向视频的比特流的SPS,PPS或条带报头中的特定语法元素来执行用于推导邻域的当前原理所应用的解码模块的信令。这样的语法元素允许解码器知道应该根据本公开还是根据例如HEVC标准中定义的常规方式来推导邻域。该实施例可以与其中NRT表自动地从与投影函数有关的信息项推导的实施例组合。
图30例示根据实施例的用于编码全向视频的装置(400)的简化结构。这样的装置被配置为实现根据这里上面参考图17和20描述的本原理编码全向视频的方法。
根据实施例,编码器装置包括处理单元PROC,其配备有例如处理器并由存储在存储器MEM中的计算机程序PG驱动,并且实现根据本原理的用于编码全向视频的方法。
在初始化时,计算机程序PG的代码指令例如被加载到RAM(未示出)中,然后由处理单元PROC的处理器执行。处理单元PROC的处理器根据计算机程序PG的指令实现这里上面描述的用于编码全向视频的方法的步骤。
编码器装置包括通信单元COMOUT,以将编码比特流STR发送到数据网络。
编码器装置还包括用于接收要编码的画面或要编码的全向视频的接口COMIN。
图31例示根据实施例的用于解码表示全向视频的比特流的装置(700)的简化结构。这样的装置被配置为实现根据这里上面参考图27,28和20描述的本原理解码表示全向视频的比特流的方法。
根据实施例,解码器装置包括处理单元PROC,其配备有例如处理器并由存储在存储器MEM中的计算机程序PG驱动,并且实现根据本原理解码表示全向视频的比特流的方法。
在初始化时,计算机程序PG的代码指令例如被加载到RAM(未示出)中,然后由处理单元PROC的处理器执行。处理单元PROC的处理器根据计算机程序PG的指令实现用于解码表示这里上面描述的全向视频的比特流的方法的步骤。
该装置可以包括通信单元COMOUT,以将视频数据的重构画面发送到呈现设备。
该装置还包括接口COMIN,用于接收表示全向视频的比特流STR,以从数据网络或网关或机顶盒解码。

Claims (24)

1.一种用于编码大视场视频的方法,所述大视场视频的至少一个画面被表示为表面,所述表面使用投影函数投影到至少一个2D画面上,所述方法包括:
-根据所述投影函数,对于所述2D画面的当前区域,确定与编码模块相关联的至少一个信息项,所述至少一个信息项在通过所述编码模块对所述当前区域的块进行编码期间定义所述2D画面的区域用作当前区域的相邻区域以替换所述2D画面的空间相邻区域;
-对于所述当前区域的当前块,响应于所述至少一个信息项确定一组相邻块;以及
-使用所确定的该组相邻块编码所述当前块,
其中编码所述当前块包括使用所确定的该组相邻块通过所述编码模块处理所述当前块。
2.根据权利要求1所述的方法,其中,所述编码模块属于包括以下至少之一的组:
-使用属于该组相邻块的块的至少一个样本确定预测块,
-确定用于译码所述至少一个当前块的帧内预测模式的最可能模式列表,
-推导用于译码所述至少一个当前块的运动矢量的运动矢量预测器,
-推导用于译码所述至少一个当前块的运动矢量的运动矢量,
-在至少所述一个当前块与属于该组相邻块的块之间去块滤波,以及
-在所述至少一个当前块的至少一个样本与属于该组相邻块的块的至少一个样本之间样本自适应偏移滤波。
3.根据权利要求1所述的方法,其中,所述至少一个信息项存储在邻居替换表中,用于所述当前块所属的所述当前区域,并且其中所述至少一个信息项属于至少包括以下之一的组:
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的不可用区域,以确定该组相邻块,以及
-在所述2D画面中要使用的空替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,其中所述空替换区域是包括来自所述2D画面的零块的区域。
4.根据权利要求1所述的方法,其中,所述至少一个信息项与要应用于所述2D画面的所述区域的变换相关联地定义,以用作相邻区域。
5.根据权利要求4所述的方法,其中,所述变换是旋转。
6.根据权利要求1所述的方法,其中,所述信息项存储在表格中。
7.根据权利要求6所述的方法,还包括将所述表格译码成比特流。
8.一种用于编码大视场视频的装置,所述大视场视频的至少一个画面被表示为表面,所述表面使用投影函数投影到至少一个2D画面上,所述装置包括一个或多个处理器,其中,所述一个或多个处理器配置为:
-根据所述投影函数,对于所述2D画面的当前区域,确定与编码模块相关联的至少一个信息项,所述至少一个信息项在通过所述编码模块对所述当前区域的块进行编码期间定义所述2D画面的区域用作所述当前区域的相邻区域以替换所述2D画面的空间相邻区域;并且
-对于所述当前区域的当前块,响应于所述至少一个信息项确定一组相邻块,
-使用所确定的该组相邻块编码所述当前块;
其中编码所述当前块包括使用所确定的该组相邻块通过所述编码模块处理所述当前块。
9.根据权利要求8所述的装置,其中,所述编码模块属于包括以下至少之一的组:
-使用属于该组相邻块的块的至少一个样本确定预测块,
-确定用于译码所述至少一个当前块的帧内预测模式的最可能模式列表,
-推导用于译码所述至少一个当前块的运动矢量的运动矢量预测器,
-推导用于译码所述至少一个当前块的运动矢量的运动矢量,
-在至少所述一个当前块与属于该组相邻块的块之间去块滤波,并且
-在所述至少一个当前块的至少一个样本与属于该组相邻块的块的至少一个样本之间样本自适应偏移滤波。
10.根据权利要求8所述的装置,其中,所述至少一个信息项存储在邻居替换表中,用于所述当前块所属的所述当前区域,并且其中所述至少一个信息项属于至少包括以下中的至少一个的组:
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的不可用区域,以确定该组相邻块,以及
-在所述2D画面中要使用的空替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,其中所述空替换区域是包括来自所述2D画面的零块的区域。
11.根据权利要求8所述的装置,其中,所述信息项存储在表格中。
12.根据权利要求11所述的装置,其中所述一个或多个处理器还被配置为将所述表格编码到比特流中。
13.一种非暂时机器可读介质,具有存储在其上的机器可执行指令,当被执行时实现编码大视场视频的方法,所述大视场视频的至少一个画面被表示为表面,所述表面使用投影函数投影到至少一个2D画面上,所述方法包括:
-根据所述投影函数,对于所述2D画面的当前区域,确定与编码模块相关联的至少一个信息项,所述至少一个信息项在通过所述编码模块对所述当前区域的块进行编码期间定义所述2D画面的区域用作所述当前区域的相邻区域以替换所述2D画面的空间相邻区域;并且
-对于所述当前区域的当前块,响应于所述至少一个信息项确定一组相邻块,
-使用所确定的该组相邻块编码所述当前块;
其中编码所述当前块包括使用所确定的该组相邻块通过所述编码模块处理所述当前块。
14.一种用于解码大视场视频的方法,所述大视场视频的至少一个画面被表示为表面,所述表面使用投影函数投影到至少一个2D画面上,所述方法包括:
-根据所述投影函数,对于所述2D画面的当前区域,确定与解码模块相关联的至少一个信息项,所述至少一个信息项在通过所述解码模块对所述当前区域的块进行解码期间定义所述2D画面的区域用作当前区域的相邻区域以替换所述2D画面的空间相邻区域;
-对于所述当前区域的当前块,响应于所述至少一个信息项确定一组相邻块;以及
-使用所确定的该组相邻块解码所述当前块,
其中解码所述当前块包括使用所确定的该组相邻块通过所述解码模块处理所述当前块。
15.根据权利要求14所述的方法,其中,所述解码模块属于包括以下至少之一的组:
-使用属于该组相邻块的块的至少一个样本确定预测块,
-确定用于译码所述至少一个当前块的帧内预测模式的最可能模式列表,
-推导用于译码所述至少一个当前块的运动矢量的运动矢量预测器,
-推导用于译码所述至少一个当前块的运动矢量的运动矢量,
-在至少所述一个当前块与属于该组相邻块的块之间去块滤波,以及
-在所述至少一个当前块的至少一个样本与属于该组相邻块的块的至少一个样本之间样本自适应偏移滤波。
16.根据权利要求14所述的方法,其中,所述至少一个信息项存储在邻居替换表中,用于所述当前块所属的所述当前区域,并且其中所述至少一个信息项属于至少包括以下之一的组:
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的不可用区域,以确定该组相邻块,以及
-在所述2D画面中要使用的空替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,其中所述空替换区域是包括来自所述2D画面的零块的区域。
17.根据权利要求14所述的方法,其中,所述信息项存储在表格中。
18.根据权利要求17所述的方法,还包括将所述表格解码成比特流。
19.一种用于解码大视场视频的装置,所述大视场视频的至少一个画面被表示为表面,所述表面使用投影函数投影到至少一个2D画面上,所述装置包括一个或多个处理器,其中,所述一个或多个处理器配置为:
-根据所述投影函数,对于所述2D画面的当前区域,确定与解码模块相关联的至少一个信息项,所述至少一个信息项在通过所述解码模块对所述当前区域的块进行解码期间定义所述2D画面的区域用作所述当前区域的相邻区域以替换所述2D画面的空间相邻区域;并且
-对于所述当前区域的当前块,响应于所述至少一个信息项确定一组相邻块,
-使用所确定的该组相邻块解码所述当前块;
其中解码所述当前块包括使用所确定的该组相邻块通过所述解码模块处理所述当前块。
20.根据权利要求19所述的装置,其中,所述解码模块属于包括以下至少之一的组:
-使用属于该组相邻块的块的至少一个样本确定预测块,
-确定用于译码所述至少一个当前块的帧内预测模式的最可能模式列表,
-推导用于译码所述至少一个当前块的运动矢量的运动矢量预测器,
-推导用于译码所述至少一个当前块的运动矢量的运动矢量,
-在至少所述一个当前块与属于该组相邻块的块之间去块滤波,并且
-在所述至少一个当前块的至少一个样本与属于该组相邻块的块的至少一个样本之间样本自适应偏移滤波。
21.根据权利要求19所述的装置,其中,所述至少一个信息项存储在邻居替换表中,用于所述当前块所属的所述当前区域,并且其中所述至少一个信息项属于至少包括以下中的至少一个的组:
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,
-在所述2D画面中要使用的邻居替换区域而不是在空间上与所述当前区域相邻的不可用区域,以确定该组相邻块,以及
-在所述2D画面中要使用的空替换区域而不是在空间上与所述当前区域相邻的邻居区域,以确定该组相邻块,其中所述空替换区域是包括来自所述2D画面的零块的区域。
22.根据权利要求19所述的装置,其中,所述信息项存储在表格中。
23.根据权利要求22所述的装置,其中所述一个或多个处理器还被配置为将所述表格解码到比特流中。
24.一种非暂时机器可读介质,具有存储在其上的机器可执行指令,当被执行时实现解码大视场视频的方法,所述大视场视频的至少一个画面被表示为表面,所述表面使用投影函数投影到至少一个2D画面上,所述方法包括:
-根据所述投影函数,对于所述2D画面的当前区域,确定与解码模块相关联的至少一个信息项,所述至少一个信息项在通过所述解码模块对所述当前区域的块进行解码期间定义所述2D画面的区域用作所述当前区域的相邻区域以替换所述2D画面的空间相邻区域;并且
-对于所述当前区域的当前块,响应于所述至少一个信息项确定一组相邻块,
-使用所确定的该组相邻块解码所述当前块;
其中解码所述当前块包括使用所确定的该组相邻块通过所述解码模块处理所述当前块。
CN201780060221.XA 2016-09-30 2017-09-26 用于编码和解码大视场视频的方法和装置 Active CN109845264B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16306263.1A EP3301929A1 (en) 2016-09-30 2016-09-30 Method and apparatus for encoding and decoding a large field of view video
EP16306263.1 2016-09-30
PCT/EP2017/074366 WO2018060190A1 (en) 2016-09-30 2017-09-26 Method and apparatus for encoding and decoding a large field of view video

Publications (2)

Publication Number Publication Date
CN109845264A CN109845264A (zh) 2019-06-04
CN109845264B true CN109845264B (zh) 2023-06-16

Family

ID=57137999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780060221.XA Active CN109845264B (zh) 2016-09-30 2017-09-26 用于编码和解码大视场视频的方法和装置

Country Status (4)

Country Link
US (1) US20220345728A1 (zh)
EP (2) EP3301929A1 (zh)
CN (1) CN109845264B (zh)
WO (1) WO2018060190A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111851B (zh) * 2016-11-25 2020-12-22 华为技术有限公司 一种去块滤波方法及终端
US10587800B2 (en) * 2017-04-10 2020-03-10 Intel Corporation Technology to encode 360 degree video content
CN111801947A (zh) 2018-03-02 2020-10-20 华为技术有限公司 选择性环路滤波下的图像编码的装置及方法
TWI688258B (zh) * 2018-03-09 2020-03-11 聯發科技股份有限公司 一種用於重構的基於投影的幀的解塊方法
TWI748640B (zh) * 2019-09-25 2021-12-01 瑞鼎科技股份有限公司 顯示面板驅動方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1441307A1 (en) * 2001-10-29 2004-07-28 Sony Corporation Non-flat image processing apparatus, image processing method, recording medium, and computer program
CN101554060A (zh) * 2006-09-07 2009-10-07 株式会社东芝 三维图像显示装置和三维图像显示方法
CN105208383A (zh) * 2009-12-16 2015-12-30 韩国电子通信研究院 执行帧内预测的视频解码/编码方法和装置
WO2016076680A1 (en) * 2014-11-14 2016-05-19 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308131B2 (en) * 2002-12-03 2007-12-11 Ntt Docomo, Inc. Representation and coding of panoramic and omnidirectional images
CN104350745B (zh) * 2012-07-04 2018-12-11 英特尔公司 基于全景的3d视频译码
US9357214B2 (en) * 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
US10204658B2 (en) * 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
US10645362B2 (en) * 2016-04-11 2020-05-05 Gopro, Inc. Systems, methods and apparatus for compressing video content
US11228754B2 (en) * 2016-05-06 2022-01-18 Qualcomm Incorporated Hybrid graphics and pixel domain architecture for 360 degree video

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1441307A1 (en) * 2001-10-29 2004-07-28 Sony Corporation Non-flat image processing apparatus, image processing method, recording medium, and computer program
CN101554060A (zh) * 2006-09-07 2009-10-07 株式会社东芝 三维图像显示装置和三维图像显示方法
CN105208383A (zh) * 2009-12-16 2015-12-30 韩国电子通信研究院 执行帧内预测的视频解码/编码方法和装置
WO2016076680A1 (en) * 2014-11-14 2016-05-19 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing

Also Published As

Publication number Publication date
CN109845264A (zh) 2019-06-04
EP3301929A1 (en) 2018-04-04
WO2018060190A1 (en) 2018-04-05
US20220345728A1 (en) 2022-10-27
EP3520412A1 (en) 2019-08-07

Similar Documents

Publication Publication Date Title
US20200029092A1 (en) Method and apparatus for encoding and decoding a large field of view video
CN109804633B (zh) 利用自适应帧内预测的全向视频编码和解码的方法和装置
CN109792520B (zh) 用于利用自适应帧内最可能模式的全向视频译码的方法和装置
CN109845264B (zh) 用于编码和解码大视场视频的方法和装置
US20190313097A1 (en) Method and apparatus for coding/decoding a large field of view video
EP3301916A1 (en) Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
US20190238848A1 (en) Method and apparatus for calculating quantization parameters to encode and decode an immersive video
EP3520415A1 (en) Method and apparatus for encoding and decoding an omnidirectional video
EP3659340A1 (en) Method and apparatus for encoding and decoding an omnidirectional video
CN111448799A (zh) 全向视频切片段
EP3349463A1 (en) Method and apparatus for coding/decoding a picture of an omnidirectional video

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
TA01 Transfer of patent application right

Effective date of registration: 20210526

Address after: Paris France

Applicant after: Interactive Digital Madison Patent Holdings

Address before: Delaware, USA

Applicant before: Interactive Digital VC Holdings

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant