CN109996072B - 视频图像的处理方法及装置 - Google Patents

视频图像的处理方法及装置 Download PDF

Info

Publication number
CN109996072B
CN109996072B CN201810005816.1A CN201810005816A CN109996072B CN 109996072 B CN109996072 B CN 109996072B CN 201810005816 A CN201810005816 A CN 201810005816A CN 109996072 B CN109996072 B CN 109996072B
Authority
CN
China
Prior art keywords
image
sub
images
type
boundary
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
CN201810005816.1A
Other languages
English (en)
Other versions
CN109996072A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810005816.1A priority Critical patent/CN109996072B/zh
Priority to EP18898993.3A priority patent/EP3700209B1/en
Priority to PCT/CN2018/123438 priority patent/WO2019134557A1/zh
Publication of CN109996072A publication Critical patent/CN109996072A/zh
Priority to US16/880,757 priority patent/US11463700B2/en
Application granted granted Critical
Publication of CN109996072B publication Critical patent/CN109996072B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/403Edge-driven scaling
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4092Image resolution transcoding, e.g. client/server architecture
    • G06T5/77
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/146Data rate or code amount at the encoder output
    • 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/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/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
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

Abstract

本申请提供了一种视频图像的处理方法及装置。该处理方法包括:对初始图像进行采样,得到目标图像;对目标图像进行区域划分,得到多个子图像;对第一类子图像的图像边界进行扩展,得到扩展后的第一类子图像;对扩展后的第一类子图像进行下采样,得到下采样后的第一类子图像;对第二类子图像和下采样后的第一类子图像进行编码,得到码流;将多个子图像的位置信息和扩展信息写入码流,其中,第一类子图像的扩展信息用于指示第一类子图像的图像边界进行了扩展以及图像边界扩展的宽度,第二类子图像的扩展信息用于指示第二类子图像的图像边界未进行扩展。本申请能够更好地消除子图像拼接时产生的边界。

Description

视频图像的处理方法及装置
技术领域
本申请涉及视频编解码技术领域,并且更具体地,涉及一种视频图像的处理方法及装置。
背景技术
全景视频图像(360度视频图像)是通过摄像头捕捉到的拍摄对象的全方位的3D景象,它的出现给人们带来了更好的视觉体验。如图1所示,全景视频图像可以虚拟成一种球面视频图像。一般来说,用户在某一时刻观看到的是一个视角的球面视频图像,例如,用户在某一时刻观看到的是图1中的视角1或者视角2中的视频图像。
由于用户在每个时刻观看到的是某个视角的球面视频图像,因此,在视频编解码传输系统(该系统主要包括服务器和终端)中,为了节省传输带宽,一般会采用基于视角的码流传输方案,具体地,基于视角的码流传输方案主要包括以下过程:
服务器将待编码视频图像划分成多个子图像,从而得到多个子图像;
服务器对每个子图像进行单独编码,得到每个子图像的码流;
终端获取用户在当前时刻观看视频的视角信息;
终端根据用户的视角信息向服务器请求用户当前观看视角所对应的至少一个子图像的码流;
终端对至少一个子图像的码流进行解析,得到至少一个子图像;
终端对至少一个子图像进行拼接,得到待显示图像。
由于各个子图像在编码过程中相互独立,导致各个子图像编码时的量化误差分布特性也相互独立。因此,在对至少一个子图像进行拼接时,可能会在不同子图像的分界线(boundary)产生明显的边界,影响用户的视觉体验。
因此,如何较好地消除子图像拼接时产生的边界是一个需要解决的问题。
发明内容
本申请提供一种视频图像的处理方法和装置,以更好地消除子图像拼接时产生的边界。
第一方面,提供了一种视频图像的处理方法,该方法包括:对初始图像进行采样,得到目标图像;对所述目标图像进行划分,得到多个子图像,其中,所述多个子图像中包括第一类子图像和第二类子图像,其中,所述第一类子图像是对所述初始图像的第一区域的图像进行采样得到的,所述第二类子图像是对所述初始图像的第二区域的图像进行采样得到的,所述初始图像的第一区域的图像的采样率低于所述初始图像的第二区域图像的采样率,所述第一类子图像的分辨率大于所述第二类子图像的分辨率;对所述第一类子图像的图像边界进行扩展,得到扩展后的第一类子图像;对所述扩展后的第一类子图像进行下采样,得到下采样后的第一类子图像,其中,所述下采样后的第一类子图像的分辨率与所述第二类子图像的分辨率相同;对所述第二类子图像和所述下采样后的第一类子图像进行编码,得到码流;将所述多个子图像的位置信息和扩展信息写入所述码流,其中,所述位置信息用于指示子图像在所述目标图像中所处的位置,所述第一类子图像的扩展信息用于指示所述第一类子图像的图像边界进行了扩展以及所述第一类子图像的图像边界扩展的宽度,所述第二类子图像的扩展信息用于指示所述第二类子图像的图像边界未进行扩展。
本申请中,仅对低采样率下获得的子图像(第一类子图像)的图像边界进行扩展,而对高采样下获得的子图像(第二类子图像)的图像边界不进行扩展,从而使得解码端在拼接图像后能够只对低采样率下获得的子图像之间的重叠区域进行加权处理,而对高采样率下获得的子图像之间的交界区域以及高采样率下获得的子图像与低采样率下获得的子图像之间的交界区域进行滤波处理,从而使得解码端在图像拼接之后,根据子图像类型的不同采用不同的方式对不同子图像之间的重叠和交界区域进行处理,能够更好地消除子图像之间拼接时产生的图像边界。
进一步地,由于本申请中只对一部分子图像进行边界扩展,而不是对全部的子图像都进行边界扩展,因此,本申请不会额外增加过多的码率。
结合第一方面,在第一方面的某些实现方式中,所述将所述多个子图像的位置信息和扩展信息写入所述码流,包括:将所述多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子(box)中。
可选地,上述盒子(box)在某些规范中还可以称为“原子”。
在编码时,通过将子图像的位置信息和扩展信息封装到同一个盒子中,能够减少语法元素的数量,从而降低传输码率。
可选地,所述将所述多个子图像的位置信息和扩展信息写入所述码流,包括:将所述多个子图像的位置信息和扩展信息封装在辅助增强信息(Supplemental enhancementinformation,SEI)或者媒体描述文件(Media Presentation Description,MPD)中。
SEI还可以称为辅助增强消息,SEI是国际通信联盟(InternationalTelecommunication Union,ITU)发布的视频编解码标准h.264,h.265中定义的一种网络接入单元(Network Abstract Layer Unit,NALU)的类型,SEI可以用于辅助处理解码和显示等等。
在编码时可以将子图像的位置信息和扩展信息携带在SEI中,解码端在解码时通过解析SEI就可以获得相应子图像的位置信息和扩展信息。应理解,一个SEI既可以只携带一个子图像的位置信息和扩展信息,也可以携带多个子图像的位置信息和扩展信息。
MPD也可以称为媒体展示描述,MPD是标准ISO/IEC 23009-1中规定的一种文档,在该文档中包括了客户端构造超文本传输协议-统一资源定位符(HyperText TransferProtocol-Uniform Resource Locator,HTTP-URL)的元数据。在MPD中包括一个或者多个period(周期)元素,每个周期元素包括有一个或者多个自适应集(adaptationset),每个自适应集中包括一个或者多个表示(representation),每个表示中包括一个或者多个分段,客户端可以根据MPD中的信息,选择表达,并构建分段的HTTP-URL。
在编码时可以将多个子图像的位置信息和扩展信息携带在MPD中,解码端在解码时通过解析MPD就可以获得每个子图像的位置信息和扩展信息。
可选地,MPD可以通过字段EssentialProperty中是否包含属性regblk来指示解码时是否要对不同类型的子图像进行不同的处理。
具体地,当字段EssentialProperty中包含属性regblk时,指示解码端对经过边界扩展的子图像之间的重叠区域采用加权处理的方法来消除边界,而对经过边界扩展的子图像与未经过边界扩展的子图像的交界区域,以及未经过边界扩展的子图像之间的交界区域采用滤波的方式来消除边界;而当字段EssentialProperty中不包含属性regblk时,指示解码端采用统一的方式来处理子图像之间拼接时形成的边界。
结合第一方面,在第一方面的某些实现方式中,所述初始图像为全景视频图像。
还应理解,上述初始图像还可以为球面图像、球面视频图像或者三维图像。
上述目标图像可以是经纬图格式的二维图像、多面体格式的二维图像。其中,多面体格式的二维图像包括:四面体、六面体、八面体等格式的二维图像。
这里的二维图像也可以称为平面图像。
具体地,当初始图像为球面图像,目标图像为经纬图格式的二维图像时,可以通过对球面图像进行采样得到目标图像,其中,在对球面图像进行采样的过程中,两极部分图像的采样率较低,对两极部分图像进行采样可以得到上述第一类子图像,赤道部分图像的采样率较高,对赤道部分图像进行采样可以得到上述第二类子图像。
第二方面,提供了一种视频图像的处理方法,该方法包括:获取目标码流;解析所述目标码流,获取多个子图像以及所述多个子图像的位置信息和扩展信息,其中,所述位置信息用于指示子图像在待显示图像中所处的位置,所述扩展信息用于指示子图像的图像边界是否进行了扩展,其中,当所述扩展信息指示任一子图像的图像边界进行了扩展时,所述任一子图像属于第一类子图像且所述扩展信息还用于指示所述任一子图像的图像边界扩展的宽度,当所述扩展信息指示任一子图像的图像边界没有进行扩展时,所述任一子图像属于第二类子图像;根据所述多个子图像的扩展信息,从所述多个子图像中确定出所述第一类子图像和所述第二类子图像;根据所述第一类子图像的位置信息和扩展信息确定目标分辨率;按照所述目标分辨率对所述第一类子图像进行上采样,得到上采样后的第一类子图像,其中,所述上采样后的第一类子图像的分辨率为所述目标分辨率;根据所述多个子图像的位置信息,对所述上采样后的第一类子图像和所述第二类子图像进行拼接;对所述上采样后的第一类子图像之间的重叠区域的像素值进行加权处理,得到加权处理后的第一类子图像;对邻接的所述第二类子图像之间以及所述加权处理后的第一类子图像与所述第二类子图像之间的交界区域进行滤波,得到所述待显示图像,其中,所述交界区域为位于两个子图像的分界线两侧预设大小的区域。
本申请中,在对多个子图像进行拼接之后,能够根据子图像的图像边界是否进行过扩展来分别采用不同的方式对不同子图像之间的重叠和交界区域进行处理,能够更好地消除子图像之间拼接时产生的图像边界。
进一步地,由于本申请中只有一部分子图像进行过边界扩展,而并非是全部的子图像都进行过边界扩展,因此,本申请不会额外增加过多的码率。
结合第二方面,在第二方面的某些实现方式中,所述根据所述第一类子图像的位置信息和扩展信息确定目标分辨率,包括:根据所述第一类子图像的位置信息确定所述第一类子图像的宽和高;根据所述第一类子图像的扩展信息确定所述第一类子图像的图像边界扩展的宽度;根据所述第一类子图像的宽和高以及所述第一类子图像的图像边界扩展的宽度,确定所述目标分辨率。
可选地,根据所述第一类子图像的宽和高以及所述第一类子图像的图像边界扩展的宽度,确定所述目标分辨率,包括:根据所述第一类子图像的图像边界的扩展宽度对第一类子图像的宽和高进行扩展,得到扩展后的目标宽度和目标高度;将所述目标宽度和目标高度的乘积确定为目标分辨率。
应理解,子图像的宽和高以及图像边界的扩展宽度均可以用像素点的个数来表示。例如,第一类子图像的宽和高分别是1280和480,对第一类子图像的左边界和右边界的扩展宽度均为96、对第一类子图像的上边界和下边界的扩展的宽度均为0,那么,扩展后的目标宽度为1472,扩展后的目标高度为480,因此,目标分辨率就为1472×480。
结合第二方面,在第二方面的某些实现方式中,所述多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子中。
子图像的位置信息和扩展信息封装在同一个盒子时,能够减少语法元素的数量,从而降低传输码率。
结合第二方面,在第二方面的某些实现方式中,所述多个子图像的位置信息和扩展信息封装在辅助增强信息SEI或者媒体描述文件MPD中。
结合第二方面,在第二方面的某些实现方式中,所述上采样后的第一类子图像之间的重叠区域包括第一子图像和第二子图像之间的重叠区域,其中,所述第一子图像位于所述重叠区域的图像为扩展图像,所述第二子图像位于所述重叠区域的图像为重叠图像,所述对所述上采样后的第一类子图像之间的重叠区域的像素值进行加权处理,包括:对所述扩展图像和所述重叠图像位于所述重叠区域中相同位置的像素值进行加权处理,其中,所述重叠图像中距离所述第一子图像的中心位置越近的像素点的加权系数越大,所述扩展图像中距离所述第一子图像的中心位置越近的像素点的加权系数越小。
在对重叠区域进行加权处理时,通过合理设置加权系数,能够提高加权处理的效果,更好地消除子图像之间拼接时产生的边界。
可选地,上述加权处理可以是线性变化的也可以是非线性变化的。
另外,上述重叠图像中距离第一子图像的中心位置最远的像素点的加权系数为0,而重叠图像中距离第一子图像的中心位置最近的像素点的加权系数为1。上述扩展图像中距离第一子图像中心位置最近的像素点的加权系数为0,扩展图像中距离第一子图像中心位置最远的像素点的加权系数为1。
结合第二方面,在第二方面的某些实现方式中,所述对邻接的所述第二类子图像之间以及所述加权处理后的第一类子图像与所述第二类子图像之间的交界区域进行滤波,得到所述待显示图像,包括:确定所述交界区域的图像的像素值梯度;当所述交界区域的图像的像素值梯度小于预设梯度时,对所述交界区域的图像进行滤波处理;当所述交界区域的图像的像素值梯度大于或者等于所述预设梯度时,省略对所述交界区域的图像的滤波处理。
当交界区域的图像的像素值的梯度值较大时,人眼对交界区域产生的边界不敏感,在这种情况下可以省略对交界区域的图像的滤波处理,而当交界区域的图像的像素值的梯度值较小时,人眼对交界区域产生的边界比较敏感,此时,为了取得较好的显示效果,需要对交界区域的图像进行滤波处理,因此,本申请能够根据人眼对不同像素值梯度的敏感程度来合适确定是否需要对交界区域的图像进行滤波处理,能够综合考虑显示效果和处理图像的效果选择出较好的处理方式。
结合第二方面,在第二方面的某些实现方式中,所述交界区域包括第一区域和第二区域,其中,所述对所述交界区域的图像进行滤波处理,包括:确定所述交界区域的纹理强度;当所述交界区域的纹理强度大于或者等于第一预设强度时,采用第一滤波强度对所述交界区域进行滤波处理;当所述交界区域的纹理强度小于所述第一预设强度时,确定目标区域的纹理强度,其中,所述目标区域为第一区域或者第二区域;当所述目标区域的纹理强度大于或者等于第二预设强度时,采用所述第一滤波强度对所述目标区域的图像进行滤波;当所述目标区域的纹理强度小于第二预设强度时,采用第二滤波强度对所述目标区域的图像进行滤波。
当交界区域的纹理强度小于第一预设强度时,可以认为交界区域的纹理强度较弱,由于人眼对纹理强度较弱的图像区域更加敏感,因此,需要对交界区域中交界线两侧的目标区域的纹理强度再进行判断,当目标区域的纹理强度大于或者等于第二预设强度时,可以认为目标区域的纹理强度较强,此时对该目标区域进行弱滤波即可,而当目标区域的纹理强度小于第二预设强度时,可以认为目标区域的纹理强度较弱,此时对该目标区域进行弱滤波即可。
结合第二方面,在第二方面的某些实现方式中,所述第一滤波强度的作用范围小于所述第二滤波强度的作用范围。
第三方面,提供了一种视频图像处理装置,所述装置包括用于执行所述第一方面或其各种实现方式中的方法的模块。
第四方面,提供了一种视频图像处理装置,所述装置包括用于执行所述第二方面或其各种实现方式中的方法的模块。
第五方面,提供一种终端设备,所述终端设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述程序被执行时,所述处理器用于执行所述第一方面或其各种实现方式中的方法。
第六方面,提供一种终端设备,所述终端设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述程序被执行时,所述处理器用于执行所述第二方面或其各种实现方式中的方法。
第七方面,提供一种计算机可读介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或其各种实现方式中的方法的指令。
第八方面,提供一种计算机可读介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第二方面或其各种实现方式中的方法的指令。
附图说明
图1是球面视频图像的示意图;
图2是视频编码过程的示意性流程图;
图3是视频解码过程的示意性流程图;
图4是本申请实施例的视频图像的处理方法的示意性流程图;
图5是对目标图像进行划分得到的多个子图像的示意图;
图6是本申请实施例的视频图像的处理方法的示意图;
图7是本申请实施例的视频图像的处理方法的示意图;
图8是对子图像A和子图像B的重叠区域进行加权处理的示意图;
图9是拼接后的子图像A和子图像B的示意图;
图10是去方块滤波的示意性流程图;
图11是本申请实施例的视频图像的处理方法的示意图;
图12是本申请实施例的视频图像的处理方法的示意图;
图13是本申请实施例的视频图像处理装置的示意性框图;
图14是本申请实施例的视频图像处理装置的示意性框图;
图15是本申请实施例的视频编码器的示意性框图;
图16是本申请实施例的视频解码器的示意性框图;
图17是本申请实施例的视频编解码装置的示意性框图;
图18是本申请实施例的视频编解码系统的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了更好地理解本申请实施例的视频图像的处理方法,下面先对视频编解码的一些基本内容进行简单的介绍。
一段视频一般由很多帧图像按照一定的次序组成,一般来说,一帧图像中或者不同帧图像之间存在着大量的重复信息(冗余信息),例如,一帧图像内往往存在着大量空间结构相同或者相似的地方,也就是说视频文件中存在大量的空间冗余信息。另外,视频文件中还存在大量的时间冗余信息,这是由视频的组成结构导致的。例如,视频采样的帧速率一般为25帧/秒至60帧/秒,也就是说,相邻两帧间的采样时间间隔为1/60秒到1/25秒,在这么短的时间内,采样得到的图像画面中基本上都存在大量的相似信息,画面之间存在巨大关联性。
此外,相关研究表明,从人眼的视觉敏感度这一心理特性的角度出发,视频信息中也存在可以用来压缩的部分,即视觉冗余。所谓视觉冗余,是指利用人眼对亮度变化比较敏感,而对色度的变化相对不太敏感的特性来适当的压缩视频比特流。例如,在高亮度的区域,人眼视觉对亮度变化的敏感度呈现下降趋势,转而对物体的边缘处较为敏感;另外,人眼对内部区域相对不敏感而对整体结构较为敏感。由于视频图像的最终服务对象是我们人类群体,所以可以充分利用人眼的这些特性对原有的视频图像进行压缩处理,达到更佳的压缩效果。除了上面提到的空间冗余、时间冗余和视觉冗余外,视频图像信息中还会存在信息熵冗余、结构冗余、知识冗余、重要性冗余等等这一系列的冗余信息。视频编码(也可以称为视频压缩编码)的目的就是使用各种技术方法将视频序列中的冗余信息去除掉,以达到减小存储空间和节省传输带宽的效果。
目前,在国际通用范围内,视频压缩编码标准中主流的压缩编码方式有四种:色度抽样、预测编码、变换编码和量化编码。下面分别对这几种编码方式进行详细介绍。
色度抽样:该方式充分利用了人眼的视觉心理特点,从底层的数据表示就开始设法最大限度的缩减单个元素描述的数据量。例如,在电视系统中多数采用的是亮度-色度-色度(YUV)颜色编码,它是欧洲电视系统广泛采用的标准。YUV颜色空间中包括一个亮度信号Y和两个色差信号U和V,三个分量彼此独立。YUV颜色空间彼此分开的表示方式更加灵活,传输占用带宽少,比传统的红绿蓝(RGB)色彩模型更具优势。例如,YUV 4:2:0形式表示两色度分量U和V在水平方向和垂直方向上都只有亮度Y分量的一半,即4个采样像素点中存在4个亮度分量Y,而色度分量U和V则只有一个。采用这种形式表示时,数据量进一步缩小,仅为原始的33%左右。因此,色度抽样充分利用了人眼的生理视觉特性,通过这种色度抽样的方式实现视频压缩的目的,是目前广泛采用的视频数据压缩方式之一。
预测编码:预测编码时利用之前已编码帧的数据信息来预测当前将要编码的帧。通过预测得到一个预测值,它不完全等同与实际值,预测值和实际值之间存在着一定的残差值。预测的越准确,则预测值就会越接近实际值,残差值就越小,这样对残差值进行编码就能大大减小数据量,在解码端解码时运用残差值加上预测值就能还原重构出匹配图像,这就是预测编码的基本思想方法。在主流编码标准中预测编码分为帧内预测和帧间预测两种基本类型。其中,帧内预测(Intra Prediction)是指利用当前图像内已重建区域内像素点的像素值对当前编码单元内像素点的像素值进行预测;帧间预测(Inter Prediction)是在已重建的图像中,为当前图像中的当前编码单元寻找匹配的参考块,将参考块中的像素点的像素值作为当前编码单元中像素点的像素值的预测信息或者预测值,并传输当前编码单元的运动信息。
变换编码:这种编码方式不直接对原本的空间域信息进行编码,而是按照某种形式的变换函数,将信息采样值从当前域转换到另外一种人为定义域中(通常称为变换域),再根据信息在变换域的分布特性进行压缩编码。由于视频图像数据往往在空间域的数据相关性非常大,存在大量的冗余信息,如果直接进行编码的话需要很大的比特量。而将信息采样值转换到变换域中后,数据的相关性大大减少,这样在编码时由于冗余信息的减少,编码所需的数据量也随之大大减少,这样就能够得到较高的压缩比,而且可以实现较好的压缩效果。典型的变换编码方式有卡洛(K-L)变换、傅立叶变换等。
量化编码:上述提到的变换编码其实本身并不压缩数据,量化过程才能有效地实现对数据的压缩,量化过程也是有损压缩中数据“损失”的主要原因。量化的过程就是将动态范围较大的输入值“强行规划”成较少的输出值的过程。由于量化输入值范围较大,需要较多的比特数表示,而“强行规划”后的输出值范围较小,从而只需要少量的比特数即可表示。
在基于混合编码架构的编码算法中,上述几种压缩编码方式可以混合使用,编码器控制模块根据视频帧中不同图像块的局部特性,选择该图像块所采用的编码模式。对帧内预测编码的块进行频域或空域预测,对帧间预测编码的块进行运动补偿预测,预测的残差再通过变换和量化处理形成残差系数,最后通过熵编码器生成最终的码流。为避免预测误差的累积,帧内或帧间预测的参考信号是通过编码端的解码模块得到。变换和量化后的残差系数经过反量化和反变换重建残差信号,再与预测的参考信号相加得到重建的图像。另外,环路滤波会对重建后的图像进行像素修正,以提高重建图像的编码质量。
下面结合图2和图3对视频编解码的整个过程进行简单的介绍。
图2是视频编码过程的示意图。
如图2所示,在对当前帧Fn中的当前图像块进行预测时,既可以采用帧内预测也可以采用帧间预测,具体地,可以根据当前帧Fn的类型,选择采用帧内编码还是帧间编码,例如,当前帧Fn为I帧时采用帧内预测,当前帧Fn为P帧或者B帧时采用帧间预测。当采用帧内预测时可以采用当前帧Fn中已经重建区域的像素点的像素值对当前图像块的像素点的像素值进行预测,当采用帧间预测时可以采用参考帧F’n-1中与当前图像块匹配的参考块的像素点的像素值对当前图像块的像素点的像素值进行预测。
在根据帧间预测或者帧内预测得到当前图像块的预测块之后,将当前图像块的像素点的像素值与预测块的像素点的像素值进行做差,得到残差信息,对残差信息进行变化、量化以及熵编码,得到编码码流。另外,在编码过程中还要对当前帧Fn的残差信息与当前帧Fn的预测信息进行叠加,并进行滤波操作,得到当前帧的重建帧F’n,并将其作为后续编码的参考帧。
图3是视频解码过程的示意图。
图3所示的视频解码过程相当于图1所示的视频解码过程的逆过程,在解码时,利用熵解码以及反量化和反变换得到残差信息,并根据解码码流确定当前图像块使用帧内预测还是帧间预测。如果是帧内预测,则利用当前帧中已重建区域内像素点的像素值按照帧内预测方法构建预测信息;如果是帧间预测,则需要解析出运动信息,并使用所解析出的运动信息在已重建的图像中确定参考块,并将参考块内像素点的像素值作为预测信息,接下来,再将预测信息与残差信息进行叠加,并经过滤波操作便可以得到重建信息。
下面对帧间预测/帧间编码的基本概念进行简单的介绍。
帧间预测/帧间编码(运动预测/补偿)是视频压缩的重要技术,用于去除视频信息中的时域冗余。由于视频序列通常包括很强的时域相关性,因此不需要每幅图像的全部信息,只需将当前图像(Current Frame)的中的运动信息以及运动补偿信息传递到解码侧即可。帧间预测就是将已编码的图像作为当前帧的参考图像(Reference Frame),为当前图像中的当前编码块寻找匹配的参考块,将参考块中的像素点的像素值作为当前编码块中像素点的像素值的预测信息或者预测值,获取各个块的运动信息。运动信息通常包含参考块所在图像的指示信息即参考帧信息,和参考块到当前像素块的位移信息即运动矢量(MotionVector,MV)。
另外在视频编解码过程中,压缩码流中的相当一部分比例用于传输运动信息,在低码率情况下,尤其对于高清视频,用于表示运动信息所耗费的比特往往超过总码流的50%,对运动信息进行高效编码是提升编码效率的重要手段。在视频中,临近位置的块可能属于同一物体或同一运动场景,具有相似的运动,因此利用临近块空域、时域上运动矢量的相关性,可以减少运动信息所消耗的比特。
在编解码标准中,通常使用临近位置的运动信息来预测当前位置的运动信息。将运动信息中的MV进行差分编码,分为MV预测值和运动矢量差值(Motion VectorDifference,MVD)两部分。MV预测值不编码、或者不直接编码,由时域和空域临近运动矢量导出;MVD信息编码并在码流中传输。在解码过程中,提取码流中的MVD,推导出MV预测值,将MV预测值加上MVD得到最终MV。导出的MV预测值越接近最终MV,需要传递的MVD越小。因此,MV预测值导出方法的优化可以有效降低运动信息所耗费比特,对于高效编码至关重要。
另外,在本申请中,在进行帧间预测时,还可以采用可变运动矢量精度,下面对可变运动矢量精度的含义进行简单介绍。
在实际场景中,物体运动的距离不一定是像素尺寸的整数倍,如果仅使用整数像素精度的运动预测/补偿会出现匹配不准确的情况,导致运动补偿残差较大。因此,为了提高运动预测/补偿的精度,引入了亚像素精度的运动预测/补偿,因为亚像素位置的像素本身不存在,通过对参考图像插值来实现。视频和音频有损压缩标准MPEG1使用了半(1/2)像素精度的运动预测/补偿,其半像素位置的参考像素由双线性差值方法产生。视频编解码器标准H.264则使用了1/4像素精度的运动预测/补偿。随着插值精度的提升,运动预测/补偿的效率会有一定程度的提升,但随着需要传送的MV的精度提升,所消耗的比特数也相应增加。例如1/8像素精度相比1/4像素精度,编码效率在中低码率段并未有明显提升。由于运动和纹理具有多样性,运动预测精度提升对于不同块有不同的影响,例如,对于纹理比较平坦的区域,运动预测精度提升带来的编码效果有限,而对于纹理比较复杂的区域,运动预测精度提升,带来的编码效果的提升比较有限。
上文结合图2和图3对视频图像的编解码的一些基本内容进行了简单的介绍,应理解,本申请实施例的方法中的编码过程和解码过程可以如上述图2和图3所示。下面结合附图介绍本申请实施例的视频图像的处理方法。
在对各个子图像进行单独编码时,由于各个子图像的量化误差分布特性相互独立,因此,在解码端对子图像进行拼接时就会不同子图像的分界线产生明显的边界,为了解决这个问题可以采用重叠(overlap)处理方法,该重叠处理方法实质上是对相邻子图像的边界进行扩展,然后对子图像之间的重叠区域进行加权处理,以消除子图像之间拼接时产生的边界。
具体地,重叠处理方法主要包含步骤101至步骤106,下面分别对步骤101至106进行详细的介绍。
101、编码端对待编码视频图像进行划分,得到多个子图像。
102、编码端对每个子图像的图像边界进行扩展,得到扩展后的子图像。
编码端对子图像的图像边界进行扩展还可以称为编码端对子图像的图像边界进行内容扩展或者像素扩展,其中,扩展内容还可以称为“保护带(guard band)”。
一般来说,子图像的扩展内容和该子图像的原始图像内容是连续的,扩展内容可以看成是对子图像原图像内容的延展,为了便于确定子图像的图像边界是否进行了扩展以及扩展的宽度,全景媒体应用格式(Omnidirectional Media Format,OMAF)标准(也可以称为ISO/IEC 23090-2标准)中规定了子图像的扩展标志位和扩展宽度,其中,扩展标志位的取值用于指示子图像是否进行了内容扩展,扩展宽度用于指示扩展内容的宽度。
103、编码端生成多个子图像的位置信息和扩展信息。
104、编码端对多个子图像、以及多个子图像的位置信息和扩展信息进行编码,得到码流。
104、解码端获取码流。
105、解码端解析码流,获取多个子图像以及多个子图像的位置信息和扩展信息。
106、编码端根据多个子图像的位置信息,对多个子图像进行拼接。
107、编码端对多个子图像之间的重叠区域进行加权处理,得到待显示图像。
采用重叠处理方法能够消除子图像拼接时产生的边界,但是重叠处理方法需要对每个子图像的图像边界进行扩展,扩展部分的内容与子图像的原始内容存在一定的交叠,这就造成了数据的冗余,从而降低了编码效率。另外,在对每个子图像的图像边界进行扩展后,还要在封装时携带每个子图像的扩展信息,导致码流传输时需要增加额外的传输带宽。
因此,虽然采用重叠处理方法能够较好地消除子图像拼接时产生的边界,但是该方法会降低编码效率,增加额外的传输带宽。
为了保证编码效率,不增加传输带宽,还可以采用去方块滤波法(也可以直接简称为滤波)来消除子图像拼接时产生的边界。
具体地,去方块滤波法主要包含步骤201至步骤207,下面分别对步骤201至步骤207进行详细的介绍。
201、编码端对待编码视频图像进行划分,从而得到多个子图像。
202、编码端对多个子图像分别进行编码,得到码流。
203、解码端获取码流。
204、解码端解析码流,获取多个子图像。
205、解码端对多个子图像进行去方块滤波,得到待显示图像。
可选地,上述待编码视频图像可以是初始图像进行采样后得到的平面图像,其中,在对初始图像进行采样得到待编码视频图像时,一部分区域图像的采样率较高,一部分区域图像的采样率较低。在得到待编码视频图像之后,可以进行区域划分,得到多个子图像,其中,多个子图像可以分为两大类,分别是第一类子图像和第二类子图像,其中,第一类子图像对应于初始图像的第一区域图像,第二类子图像对应于初始图像的第二区域图像,在对第一区域图像进行采样时采样率较低,而在对第二区域图像进行采样时的采样率较高。因此,第一类子图像是通过低采样率得到的子图像(也可以认为第一类子图像的像素冗余度较高),第二类子图像是通过高采样率得到的子图像(也可以认为第二类子图像的像素冗余度较低)。
在划分子图像时,可以为第一类子图像划分较大的面积,而为第二类子图像划分较小的面积。进行编码之前,为了节省码率,可以对第一类子图像进行下采样,使得下采样后的第一类子图像的分辨率与第二类子图像的分辨率相同,这样就使得第一类子图像在编码时所引起的边界宽度得到了扩展,而由于对解码后上采样的图像进行去方块滤波无法作用到大范围内的像素点,因此,采用去方块滤波方法对第一类子图像的滤波效果并不明显。
应理解,上述待编码视频图像可以是对初始图像进行采样后得到的平面图像,其中,在根据初始图像得到第一类子图像时采样的采样率较低,而在根据初始图像得到第二类子图像时采样的采样率较高。
采用去方块滤波方法对第二类子图像的子图像之间的边界进行修正,能够取得较好的效果,而对第一类子图像之间的边界的修正效果就不太理想。
综上所述,在消除子图像拼接时产生的边界时,单独采用重叠处理方法或者去方块滤波方法均存在一定的问题。因此,需要提出一种新的视频图像的处理方法,以保证一定编码效率的同时较好地消除子图像拼接时产生的边界。
因此,综合上述两种方法的特点,本申请提出了一种视频图像的处理方法,下面结合图4至图7对本申请实施例的视频图像的处理方法进行详细的描述。
图4是本申请实施例的视频图像的处理方法的示意性流程图。图4所示的方法包括步骤301至步骤306,下面分别对步骤301至步骤306进行详细的描述。
301、对初始图像进行采样,得到目标图像。
302、对目标图像进行划分,得到多个子图像,其中,多个子图像中包括第一类子图像和第二类子图像,其中,第一类子图像是对初始图像的第一区域的图像进行采样得到的,第二类子图像是对初始图像的第二区域的图像进行采样得到的,初始图像的第一区域的图像的采样率低于初始图像的第二区域图像的采样率,第一类子图像的分辨率大于第二类子图像的分辨率。
可选地,上述初始图像为全景视频图像、球面图像、球面视频图像或者三维图像。
上述目标图像可以是经纬图格式的二维图像、多面体格式的二维图像。其中,多面体格式的二维图像包括:四面体、六面体、八面体等格式的二维图像。
这里的二维图像也可以称为平面图像。
具体地,当初始图像为球面图像,目标图像为经纬图格式的二维图像时,可以通过对球面图像进行采样得到目标图像,其中,在对球面图像进行采样的过程中,两极部分图像的采样率较低,对两极部分图像进行采样可以得到上述第一类子图像,赤道部分图像的采样率较高,对赤道部分图像进行采样可以得到上述第二类子图像。
第一类子图像的分辨率大于第二类子图像的分辨率还可以是指第一类子图像的像素点的数目大于第二类子图像的像素点的数目。
例如,以图5为例,编码端对目标图像进行划分,得到第一类子图像sub0~sub2、sub11~sub13,第二类子图像sub3~sub10。目标图像的分辨率为3840×1920,第一类子图像的分辨率为1280×480,第二类子图像分辨率为960×480。
例如,当目标图像为经纬图格式的二维图像时,第一类子图像相当于两极部分的子图像,得到这部分子图像时对应的采样率较低,而第二类子图像相当于中低纬度(赤道部分)的子图像,得到这部分子图像时对应的采样率较高。
303、对第一类子图像的图像边界进行扩展,得到扩展后的第一类子图像。
304、对扩展后的第一类子图像进行下采样,得到下采样后的第一类子图像,其中,下采样后的第一类子图像的分辨率与第二类子图像的分辨率相同。
下面以图5中的sub0为例,对sb0的左侧、右侧、上侧以及下侧的图像边界扩展以及缩放进行详细说明。
sub0的左侧图像边界的扩展:
sub0的左侧图像和sub2的右侧图像内容连续,sub0的左侧的图像边界可以进行扩展,扩展内容取自sub2的右侧。
sub0的右侧图像边界的扩展:
sub0的右侧图像和sub1的左侧图像内容连续,可以对sub0的右侧的图像边界进行扩展,扩展内容取自sub1的左侧。
sub0的上侧图像边界的扩展:
sub0的上侧不存在其它子图像,因此不对sub0上侧的图像边界进行扩展。
sub0的下侧图像边界的扩展:
sub0的下侧图像虽然和sub3和sub4的图像内容连续,但是sub3和sub4是进行边界扩展的子图像,因此sub0的下侧图像边界不进行内容扩展。
假设,在对sub0的图像边界进行扩展时,每个边界的扩展宽度为96像素,那么,sub0扩展后分辨率为1472×480,得到扩展后的子图像,接下来,再对扩展后的子图像进行下采样缩放使得其分辨率为960×480。
按照上述处理sub0的方法可以对sub1~sub2、sub11~sub13进行处理,从而得到扩展并缩放的子图像。
305、对第二类子图像和下采样后的第一类子图像进行编码,得到码流。
306、将多个子图像的位置信息和扩展信息写入码流。
其中,上述位置信息用于指示子图像在目标图像中所处的位置,而对于扩展信息来说,第一类子图像的扩展信息和第二类子图像的扩展信息有所不同,第一类子图像的扩展信息用于指示第一类子图像的图像边界进行了扩展以及第一类子图像的图像边界扩展的宽度,第二类子图像的扩展信息用于指示第二类子图像的图像边界未进行扩展。
本申请中,仅对低采样率下获得的子图像(第一类子图像)的图像边界进行扩展,而对高采样下获得的子图像(第二类子图像)的图像边界不进行扩展,从而使得解码端在拼接图像后能够只对低采样率下获得的子图像之间的重叠区域进行加权处理,而对高采样率下获得的子图像之间的交界区域以及高采样率下获得的子图像与低采样率下获得的子图像之间的交界区域进行滤波处理,从而使得解码端在图像拼接之后,根据子图像类型的不同采用不同的方式对不同子图像之间的重叠和交界区域进行处理,能够更好地消除子图像之间拼接时产生的图像边界。
可选地,作为一个实施例,将多个子图像的位置信息和扩展信息写入所述码流,包括:将多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子(box)中。
在编码时,通过将子图像的位置信息和扩展信息封装到同一个盒子中,能够减少语法元素的数量,从而降低传输码率。
可选地,作为一个实施例,将多个子图像的位置信息和扩展信息写入码流,包括:将多个子图像的位置信息和扩展信息封装在辅助增强信息(Supplemental enhancementinformation,SEI)或者媒体描述文件(Media Presentation Description,MPD)中。
SEI还可以称为辅助增强消息,SEI是国际通信联盟(InternationalTelecommunication Union,ITU)发布的视频编解码标准h.264,h.265中定义的一种网络接入单元(Network Abstract Layer Unit,NALU)的类型,SEI可以用于辅助处理解码和显示等等。
在编码时可以将子图像的位置信息和扩展信息携带在SEI中,解码端在解码时通过解析SEI就可以获得相应子图像的位置信息和扩展信息。应理解,一个SEI既可以只携带一个子图像的位置信息和扩展信息,也可以携带多个子图像的位置信息和扩展信息。
例如,当一个SEI只携带一个子图像的位置信息和扩展信息时,SEI携带第i(i为大于或者等于0的整数)个子图像的的位置信息和扩展信息,该SEI包含的语法如表1所示。
表1
Figure GDA0003171151780000121
在上述表1中,Descriptor表示指示符,ue(n)表示无符号指数哥伦布(Golomb)熵编码,u(n)表示连续的n bit,解码后的值为无符号整数。
表1中的region_hybrid_deblocking_info中的各个语法元素的含义如下:
num_subRegion_minus1:子图像个数减1;
guard_band_flag[i]:第i个子图像的图像边界是否扩展,0表示未扩展,1表示扩展;
org_width[i]:如果图像边界存在扩展,表示第i个子图像扩展前的图像宽度;
org_height[i]:如果图像边界存在扩展,表示第i个子图像扩展前的图像高度;
left_gb_width[i]:如果图像边界存在扩展,第i个子图像的左侧扩展宽度;
right_gb_width[i]:如果图像边界存在扩展,第i个子图像的右侧扩展宽度;
top_gb_height[i]:如果图像边界存在扩展,第i个子图像的上侧扩展宽度;
bottom_gb_height[i]:如果图像边界存在扩展,第i个子图像的下侧扩展宽度。
MPD也可以称为媒体展示描述,MPD是标准ISO/IEC 23009-1中规定的一种文档,在该文档中包括了客户端构造超文本传输协议-统一资源定位符(HyperText TransferProtocol-Uniform Resource Locator,HTTP-URL)的元数据。在MPD中包括一个或者多个period(周期)元素,每个周期元素包括有一个或者多个自适应集(adaptationset),每个自适应集中包括一个或者多个表示(representation),每个表示中包括一个或者多个分段,客户端可以根据MPD中的信息,选择表达,并构建分段的HTTP-URL。
在编码时可以将多个子图像的位置信息和扩展信息携带在MPD中,解码端在解码时通过解析MPD就可以获得每个子图像的位置信息和扩展信息。
可选地,MPD可以通过字段EssentialProperty中是否包含属性regblk来指示解码时是否要对不同类型的子图像进行不同的处理。
具体地,当字段EssentialProperty中包含属性regblk时,指示解码端对经过边界扩展的子图像之间的重叠区域采用加权处理的方法来消除边界,而对经过边界扩展的子图像与未经过边界扩展的子图像的交界区域,以及未经过边界扩展的子图像之间的交界区域采用滤波的方式来消除边界;而当字段EssentialProperty中不包含属性regblk时,指示解码端采用统一的方式来处理子图像之间拼接时形成的边界。
应理解,当字段EssentialProperty中包含属性regblk时,字段EssentialProperty还会包含value的取值,该value的取值具体用于指示子图像扩展前的宽度和高度以及进行图像边界扩展时在不同方向的扩展宽度。
例如,MPD包含语法如下:
Figure GDA0003171151780000131
Figure GDA0003171151780000141
应理解,上述语法元素value包含多个字段,这些字段包括:guard_band_flag、org_width、org_height、left_gb_width、right_gb_width、top_gb_height和bottom_gb_height。这些字段的含义如下:
guard_band_flag:当前子图像的图像边界是否存在扩展,该值为0时表示未扩展,该值为1表示存在扩展;
org_width:如果图像边界存在扩边,该元素表示扩展前的子图像宽度;
org_height:如果图像边界存在扩边,该元素表示扩展前的子图像高度;
left_gb_width:如果图像边界存在扩边,该元素表示子图像的左侧扩展宽度;
right_gb_width:如果图像边界存在扩边,该元素表示子图像的右侧扩展宽度;
top_gb_height:如果图像边界存在扩边,该元素表示子图像的上侧扩展宽度;
bottom_gb_height:如果图像边界存在扩边,该元素表示子图像的下侧扩展宽度。
例如,在上述Tile 0所包含的语法元素中,字段EssentialProperty中包含属性regblk,因此,解码时要对不同类子图像之间拼接时形成的边界采用不同的处理方式进行处理,value的取值为1,1280,640,96,96,0,0表示指示了一个子图像,该子图像在扩展前的宽度和高度分别为1280和640,该子图像的左侧边界和右侧边界扩展宽度均为96,该子图像的上侧边界和下侧边界的扩展宽度均为0。
在上述Tile 1所包含的语法元素中,字段EssentialProperty中不包含属性regblk,并且value的取值为0,0,0,0,0,0,0,因此,解码时对不同类型的子图像之间拼接时形成的边界采用一种处理方式进行处理即可。
应理解,在本申请中,扩展前的宽度和高度以及在不同方向扩展的宽度可以用像素来表示。
可选地,不仅可以在AdaptationSet字段中添加子图像的扩展信息,还可以在MPD文件的representation字段中添加子图像的扩展信息。
应理解,图4所示的方法可以发生在编码端,其中,步骤301至步骤304可以看成是对视频图像进行编码前的预处理过程,而步骤305和步骤306则可以看成是对视频图像的真正的编码过程,其中,预处理过程可以由通用的处理器去执行,而编码过程可以由专用的视频编码器(可以是专门对视频图像进行编码的芯片)去执行。具体地,上述预处理过程可以由视频编码装置中的通用处理器进行处理,而编码过程则有视频编码装置中的视频编码器去执行。
下面结合图6对本申请实施例的视频图像的处理过程进行详细的描述。
图6示出了本申请实施例的视频图像的处理方法。图6所示的处理方法可以由视频编码器或者具有视频编码功能的服务器来执行。图6所示的方法包括步骤401至步骤406,下面分别对步骤401至步骤406进行详细的介绍。
401、获取视频图像。
该视频图像可以是通过摄像头获取的,也可以是从存储视频图像的设备中获取的。可选地,上述视频图像可以是全景视频图像映射得到的平面图像,该平面图像包括经纬图格式的二维图像、多面体格式的二维图像,而多面体格式的二维图像包括:四面体、六面体、八面体等格式的二维图像。
402、对获取的视频图像进行划分,得到多个子图像。
在对获取的视频图像进行区域划分时,要保证不同的子图像之间互不重叠。另外,由于获取不同区域的图像时的采样率存在差异(有些区域的子图像是高采样率下获得的图像,而另一些区域的子图像是低采样率下获得的图像),因此,可以为低采样率下获得的子图像(当获取的视频图像为经纬图时,低采样率下获得的图像对应经纬图中的高纬度区域)划分较大的面积,而为高采样率下获得的子图像(当获取的视频图像为经纬图时,高采样率下获得的子图像对应经纬图中的中低纬度区域)划分较小的面积。
对视频图像进行划分得到的多个子图像可以如图6中步骤402下方所示,划分得到的多个子图像具体包括sub0、sub1、sub2、sub3、sub4、sub5、sub6、sub7、sub8、sub9、sub10、sub11、sub12和sub13。
其中,子图像sub0-sub2、和sub11-sub13对应的采样率较低,对应的图像区域面积比较大,而子图像sub3-sub10对应的采样率较高,对应的图像区域面积较小。
当上述视频图像为经纬图时,子图像sub0-sub2、和sub11-sub13对应经纬图中的高纬度区域,子图像sub3-sub10对应经纬图中的中低纬度区域。
403、对多个子图像进行预处理。
在对多个子图像进行编码之前需要对多个子图像进行预处理,对子图像进行的预处理包括:对子图像进行边界内容扩展和缩放处理(也可以是下采样处理)。
404、对子图像sub0-sub2和sub11-sub13的边界内容进行扩展,得到扩展后的子图像。
对子图像进行边界内容扩展主要包括以下过程:
(1)、确定子图像的边界之外是否存在和该子图像的图像内容连续的目标图像内容;
(2)、若存在目标图像内容,根据目标图像内容对子图像的边界进行内容扩展,其中,扩展部分的内容取自目标图像内容;
(3)、若不存在目标图像内容,则对子图像的图像边界不进行内容扩展。
405、对扩展后的子图像进行缩放,得到缩放后的子图像。
在对子图像sub0-sub2和sub11-sub13的边界内容进行扩展后,还需要对扩展后得到的子图像进行缩放(或者下采样处理),使得缩放后的子图像的分辨率与未进行过扩展的子图像sub3-sub10的分辨率相同。
406、对经过扩展和缩放的子图像已经未经扩展和缩放的子图像进行编码并封装。
在对子图像进行编码之后,还需要将每个子图像在原图中的相对位置信息以及扩展信息作为盒子(box)与对应的子图像码流进行封装,得到封装后的码流。
如图6所示,在对子图像sub0-sub13进行编码后,得到子图像sub0-sub13对应的码流str0-str13。
应理解,在步骤406之前还要生成每个子图像的扩展信息,其中,经过扩展和缩放的子图像的扩展信息用于指示子图像的图像边界进行了扩展以及扩展的宽度,而未经过扩展和缩放的子图像的扩展信息用于指示该子图像未进行边界扩展。
具体地,扩展信息可以从技术标准(ISO/IEC DIS 23000-20OmnidirectionalMedia Format)中的Region-wise packing box中获取,该盒子的语法具体如下:
Figure GDA0003171151780000161
Figure GDA0003171151780000171
下面对上述盒子中的各个语法的具体语义进行详细的介绍。
num_regions:子图像个数。
num_regions指示的子图像的个数既可以为一个也可以为多个,当num_regions指示一个子图像时,每个封装盒子中就只包含一个子图像的相关信息。
当num_regions指示多个子图像时,每个封装盒子就包含多个子图像的相关信息,例如,当用户当前视角内包含4个子图像时,可以将这4个子图像进行组装,形成一个码流,并将这4个子图像的相关信息封装到一个盒子中,此时num_regions指示的是4个子图像。
guard_band_flag[i]:第i个子图像的图像边界是否进行了扩展,若第i个子图像的图像边界进行了扩展,则guard_band_flag[i]的取值为1,若第i个子图像的图像边界没有进行扩展,则guard_band_flag[i]的取值为0。
在本申请实施例中,像素冗余度高的子图像的guard_band_flag[i]取值为1,像素冗余度低的子图像的guard_band_flag[i]取值为0。
以图6为例,子图像sub0-sub2、sub11-sub13对应的码流携带的guard_band_flag[i]的取值为1,子图像sub3-sub10对应的码流携带的guard_band_flag[i]的取值为0。
packing_type[i]:图像内容拼接重排后的形状,当packing_type[i]的取值为0时表示图像内容拼接重排后的形状为矩形,当packing_type[i]为1时,图像内容拼接重排后的形状不是矩形。
在本申请实施例中,可以将packing_type[i]的取值设置为0,使得图像内容拼接重排后的形状为矩形。
left_gb_width[i]:第i个子图像左边界的扩展宽度。
以图6中的子图像sub0为例,该值为96。
right_gb_width[i]:第i个子图像右边界扩展宽度。
以图6中的子图像sub0为例,该值为96。
top_gb_height[i]:第i个子图像上边界扩展宽度。
以图6中的子图像sub0为例,该值为0。
bottom_gb_height[i]:第i个子图像下边界扩展宽度。
以图6中的子图像sub0为例,该值为0。
gb_not_used_for_pred_flag[i]:第i个子图像边界扩展部分在编码时是否参与帧间预测。
当gb_not_used_for_pred_flag[i]取0时表示第i个子图像边界扩展部分在编码时参与帧间预测,当gb_not_used_for_pred_flag[i]取1时表示第i个子图像边界扩展部分在编码时不参与帧间预测。
在本申请实施例中,可以对各个子图像进行独立编码,因此,可以将gb_not_used_for_pred_flag[i]的取值设置为1。
gb_type[i][j]:第i个子图像第j个边界的扩展内容获取方式,其中j=0,1,2,3。
其中,j=0,1,2,3可以分别表示第i个子图像的左边界、右边界、上边界和下边界。
因此,上述Region-wise packing box中的各个语法的取值可以用来表示子图像是否做了边界扩展、边界扩展前的宽高、扩展区域大小、扩展后缩放后的图像宽高等信息。
另外,子图像在原图中的相对位置信息可以从SubPictureRegionBox中获取,SubPictureRegionBox的具体语法如下:
Figure GDA0003171151780000181
下面对SubPictureRegionBox中的语法含义进行详细的介绍。
track_x:子图像左上角在原图像中的横向坐标,以图6中的子图像sub0为例,该值为0。
track_y:子图像左上角在原图像中的纵向坐标,以图6中的子图像sub0为例,该值为0。
track_width:子图像宽度,以图6中的子图像sub0为例,该值为1280。
track_height:子图像高度,以图6中的子图像sub0为例,该值为480。
composition_width:原图像宽度,以图6中的子图像sub0为例,该值为3840。
composition_height:原图像高度,以图6中的子图像sub0为例,该值为1920。
上文结合图4至图6从编码端的角度对本申请实施例的视频图像的处理方法进行了描述,下面结合图7至图11从解码端的角度对本申请实施例的视频图像的处理方法进行描述。
图7示出了本申请实施例的视频图像的处理方法。图7所示的处理方法包括步骤501至步骤508,下面分别对步骤501至步骤508进行详细的介绍。
501、获取目标码流。
上述目标码流可以是用户当前需要观看的视频图像对应的码流。具体地,当用户观看的是全景视频图像时,目标码流可以是用户当前观看视角的图像对应的码流。
还应理解,上述目标码流可以是步骤301中的目标图像编码后得到的码流中的一部分。
502、解析目标码流,获取多个子图像以及多个子图像的位置信息和扩展信息。
其中,位置信息用于指示子图像在待显示图像中所处的位置,扩展信息用于指示子图像的图像边界是否进行了扩展,其中,当扩展信息指示任一子图像的图像边界进行了扩展时,任一子图像属于第一类子图像且扩展信息还用于指示任一子图像的图像边界扩展的宽度,当扩展信息指示任一子图像的图像边界没有进行扩展时,任一子图像属于第二类子图像。
应理解,上述位置信息在指示子图像在原图像位置的同时,也指示处理子图像的宽和高,例如,上述SubPictureRegionBox的语法中不仅包含子图像的横向坐标和纵向坐标,还指示出了子图像的宽度和高度。
503、根据多个子图像的扩展信息,从多个子图像中确定出第一类子图像和第二类子图像。
例如,如图5所示,第一类子图像可以是sub0-sub2以及sub11-sub13,第二类子图像可以是sub3-sub10。
504、根据第一类子图像的位置信息和扩展信息确定目标分辨率。
可选地,根据第一类子图像的位置信息和扩展信息确定目标分辨率,包括:根据第一类子图像的位置信息确定第一类子图像的宽和高;根据第一类子图像的扩展信息确定第一类子图像的图像边界扩展的宽度;根据第一类子图像的宽和高以及第一类子图像的图像边界扩展的宽度,确定目标分辨率。
可选地,根据第一类子图像的宽和高以及第一类子图像的图像边界扩展的宽度,确定目标分辨率,包括:根据第一类子图像的图像边界的扩展宽度对第一类子图像的宽和高进行扩展,得到扩展后的目标宽度和目标高度;将目标宽度和目标高度的乘积确定为目标分辨率。
应理解,子图像的宽和高以及图像边界的扩展宽度均可以用像素点的个数来表示。例如,第一类子图像的宽和高分别是1280和480,对第一类子图像的左边界和右边界的扩展宽度均为96、对第一类子图像的上边界和下边界的扩展的宽度均为0,那么,扩展后的目标宽度为1472,扩展后的目标高度为480,因此,目标分辨率就为1472×480。
具体地,可以根据第一类子图像的码流封装信息SubPictureRegionBox中track_width、track_height值和Region-wise packing box中left_gb_width、right_gb_width、top_gb_height、bottom_gb_height的值获得目标分辨率。然后将解码后的子图像按照目标分辨率进行上采样插值,得到上采样后的子图像。其中,上采样插值算法包括但不限于双线性插值、双三次插值、lanczos等方法。
以图5中的sub0为例,sub0对应的SubPictureRegionBox中track_width、track_height值分别为1280、480,sub0对应的Region-wise packing box中left_gb_width、right_gb_width、top_gb_height、bottom_gb_height的值分别为96、96、0、0,则目标分辨率为1472×480,通过对解码后的sub0进行上采样,得到分辨率为1472×480的子图像。
505、按照目标分辨率对第一类子图像进行上采样,得到上采样后的第一类子图像,其中,上采样后的第一类子图像的分辨率为目标分辨率。
506、根据多个子图像的位置信息,对上采样后的第一类子图像和第二类子图像进行拼接。
507、对上采样后的第一类子图像之间的重叠区域的像素值进行加权处理,得到加权处理后的第一类子图像。
具体地,可以通过SubPictureRegionBox获知当前子图像在原图像中的位置,从而确定各个子图像之间的相互毗邻关系,并通过各自的left_gb_width、right_gb_width、top_gb_height、bottom_gb_height获知相邻子图像之间的重叠区域,对相邻子图像图像之间重叠部分进行加权处理,得到加权处理边界处理后的子图像。
508、对邻接的第二类子图像之间以及加权处理后的第一类子图像与第二类子图像之间的交界区域进行滤波,得到待显示图像,其中,交界区域为位于两个子图像的分界线两侧预设大小的区域。
应理解,图7所示的处理方法可以发生在解码端,图7所示的方法可以由解码端设备执行,或者可以由具有解码功能的终端设备来执行。上述步骤501至步骤502可以由解封装模块执行,而步骤503至步骤508可以由后处理模块执行。
本申请中,在对多个子图像进行拼接之后,能够根据子图像的图像边界是否进行过扩展来分别采用不同的方式对不同子图像之间的重叠和交界区域进行处理,能够更好地消除子图像之间拼接时产生的图像边界。
进一步地,由于本申请中只有一部分子图像进行过边界扩展,而并非是全部的子图像都进行过边界扩展,因此,本申请不会额外增加过多的码率。
可选地,作为一个实施例,上述多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子中。
具体地,SubPictureRegionBox中封装有子图像的位置信息,为了减少语法元素的数量,可以将子图像的扩展信息也封装到SubPictureRegionBox中。
当子图像的位置信息和扩展信息封装到同一个盒子时,能够减少语法元素的数量,从而降低传输码率。
可选地,上上述多个子图像的位置信息和扩展信息封装在辅助增强信息SEI或者媒体描述文件MPD中。
上述辅助增强信息还可以称为辅助增强消息,辅助增强消息可以用于辅助处理解码和显示等等。
可选地,作为一个实施例,上采样后的第一类子图像之间的重叠区域包括第一子图像和第二子图像之间的重叠区域,其中,第一子图像位于重叠区域的图像为扩展图像,第二子图像位于重叠区域的图像为重叠图像,对上采样后的第一类子图像之间的重叠区域的像素值进行加权处理,包括:对扩展图像和重叠图像位于重叠区域中相同位置的像素值进行加权处理,其中,重叠图像中距离第一子图像的中心位置越近的像素点的加权系数越大,扩展图像中距离第一子图像的中心位置越近的像素点的加权系数越小。
在对重叠区域进行加权处理时,通过合理设置加权系数,能够提高加权处理的效果,更好地消除子图像之间拼接时产生的边界。
可选地,上述加权处理可以是线性变化的也可以是非线性变化的。
另外,上述重叠图像中距离第一子图像的中心位置最远的像素点的加权系数为0,而重叠图像中距离第一子图像的中心位置最近的像素点的加权系数为1。上述扩展图像中距离第一子图像中心位置最近的像素点的加权系数为0,扩展图像中距离第一子图像中心位置最远的像素点的加权系数为1。
下面结合图8对加权处理的过程进行详细的描述。
如图8所示,子图像A的右侧包括扩展图像内容A2以及与扩展图像内容A2面积相同的图像内容A1(也可以称为重叠图像),子图像B的右侧包括扩展图像内容B2以及与扩展图像内容B2面积相同的图像B1。
在根据子图像A和子图像B的位置对子图像A和子图像B拼接之后,在子图像A和子图像B之间形成了重叠区域,该重叠区域包括位于图像边界左侧的重叠区域1和位于图像边界右侧的重叠区域2。其中,重叠区域1包括图像内容A1和扩展图像内容B2,因此,在对重叠区域1的像素值进行加权处理实质上是对图像内容A1和扩展图像内容B2的像素值进行加权处理。
在对图像内容A1和扩展图像内容B2的像素值进行加权处理时,既可以采用线性加权方法,也可以采用非线性加权方法,并且在加权处理时可以使得扩展图像内容B2和图像内容A1位于图像边界处的像素点的加权系数为0.5,扩展图像内容B2距离子图像A中心越近的像素点的加权系数越低,而图像内容A1距离子图像A中心越近的像素点的加权系数越高(加权系数的变化可以是线性也可以是非线性),通过合理设置加权系数,能够保证在进行加权处理时得到的图像内容能够平滑过渡。
应理解,上文结合图8仅对子图像A的重叠区域进行加权处理进行了说明,事实上,对子图像B的重叠区域进行加权处理的过程与对子图像A的重叠区域进行加权处理的过程类似,为了简洁,这里不再重复描述。
可选地,作为一个实施例,对邻接的第二类子图像之间以及加权处理后的第一类子图像与第二类子图像之间的交界区域进行滤波,得到待显示图像,包括:确定交界区域的图像的像素值梯度;当交界区域的图像的像素值梯度小于预设梯度时,对交界区域的图像进行滤波处理;当交界区域的图像的像素值梯度大于或者等于预设梯度时,省略对交界区域的图像的滤波处理。
当交界区域的图像的像素值的梯度值较大时,人眼对交界区域产生的边界不敏感,在这种情况下可以省略对交界区域的图像的滤波处理,而当交界区域的图像的像素值的梯度值较小时,人眼对交界区域产生的边界比较敏感,此时,为了取得较好的显示效果,需要对交界区域的图像进行滤波处理,因此,本申请能够根据人眼对不同像素值梯度的敏感程度来合适确定是否需要对交界区域的图像进行滤波处理,能够综合考虑显示效果和处理图像的效果选择出较好的处理方式。
在确定交界区域的图像像素值梯度时可以根据子图像内部的像素值的变化程度以及子图像间的像素值的变化程度来确定,具体地,当图像边界两侧的子图像内部的像素值的变化程度且子图像间的像素值的变化程度均小于预设变化程度时,可以确定交界区域的图像像素值梯度较小,人眼的敏感度较高,需要进行滤波处理。
而当图像边界两侧的子图像内部的像素值的变化程度大于或者等于预设变化程度,以及子图像间的像素值的变化程度均大于或者等于预设变化程度至少有一个发生时,则可以确定交界区域的图像像素值梯度较大,由于“遮蔽效应”,人眼对像素值梯度较大的图像的敏感度较低,不需要进行滤波处理。
可选地,交界区域包括第一区域和第二区域,其中,对交界区域的图像进行滤波处理,包括:确定交界区域的纹理强度;当交界区域的纹理强度大于或者等于第一预设强度时,采用第一滤波强度对交界区域进行滤波处理;当交界区域的纹理强度小于第一预设强度时,确定目标区域的纹理强度,其中,目标区域为第一区域或者第二区域;当目标区域的纹理强度大于或者等于第二预设强度时,采用第一滤波强度对目标区域的图像进行滤波;当目标区域的纹理强度小于第二预设强度时,采用第二滤波强度对目标区域的图像进行滤波。
当交界区域的纹理强度小于第一预设强度时,可以认为交界区域的纹理强度较弱,由于人眼对纹理强度较弱的图像区域更加敏感,因此,需要对交界区域中交界线两侧的目标区域的纹理强度再进行判断,当目标区域的纹理强度大于或者等于第二预设强度时,可以认为目标区域的纹理强度较强,此时对该目标区域进行弱滤波即可,而当目标区域的纹理强度小于第二预设强度时,可以认为目标区域的纹理强度较弱,此时对该目标区域进行弱滤波即可。
下面以图9和图10为例,对采用滤波方式对子图像的交界区域进行滤波进行详细的说明。
如图9所示,子图像A和子图像B交界,其中,p0-p3为子图像A中靠近图像边界最近的四个像素点,q0-q3为子图像B中靠近图像边界的四个像素点。
图10是对子图像A和子图像B的交界区域进行滤波的示意性流程图。图10具体包括步骤601至步骤608,下面分别对步骤601至步骤608进行详细的介绍。
601、获取子图像A和子图像B。
获取的子图像A和子图像B如图9所示,在对子图像进行拼接后,子图像A和子图像B相邻。
602、确定子图像A和子图像B边界两侧像素值的差值是否小于第一阈值,子图像A以及子图像B各自像素值的变化值是否小于第二阈值。
当子图像A和子图像B边界两侧像素值的差值小于第一阈值,且子图像A以及子图像B各自像素值的变化值均小于第二阈值,那么,可以认为子图像A和子图像B的交界区域的图像像素值梯度较小,由于人眼对梯度小的区域的敏感度较高,需要进行滤波处理,接下执行步骤704。否则,则可以认为子图像A和子图像B的交界区域的图像像素值梯度较大,由于人眼对梯度大的区域的敏感度较小,不需要进行滤波处理,接下执行步骤703。
上述第一阈值和第二阈值可以根据子图像A和子图像B的QP值查表获得。例如,在获取了子图像A和子图像B之后,可以根据提取子图像A和子图像B的QP值,并求出子图像A和子图像B的QP值的平均值,然后查询表2或者表3来确定用来判断子图像之间的边界是否明显的第一阈值(gamma)以及判断子图像边界两侧子图像像素波动的第二阈值(belta)。
在确定子图像A的QP值时,可以根据子图像A的各个条带(或者称为片,英文名称为slice)的QP值来确定。例如,当子图像A包含多个条带时,可以将多个条带对应的最大的QP值作为子图像A的QP值,也可以将多个条带对应的QP的平均值作为子图像A的QP值,还可以将子图像A中与子图像B相邻的条带作为子图像A的QP值;而当子图像A仅包含一个条带时,该条带对应的QP值就是子图像A的QP值。
应理解,在确定子图像B的QP值时也可以采用上述确定子图像A的QP值的方式来确定。
另外,上述在确定子图像A和子图像B边界两侧的像素值的差值是否小于第一阈值时,具体可以判断不等式(1)是否成立。
|p0-q0|<gamma (1)
其中,p0是子图像A中靠近图像边界的像素点的像素值,q0为子图像B中靠近图像边界的像素点的像素值,gamma为第一阈值。
上述在确定子图像A和子图像B两侧各自像素值的变化值是否小于第二阈值时,具体可以判断不等式(2)和(3)是否成立。
|p0-p1|<belta (2)
|q0-q1|<belta (3)
其中,p0和p1是子图像A中靠近图像边界的两个像素点的像素值,q0和q1为子图像B中靠近图像边界的两个像素点的像素值,belta为第二阈值。
表2
QP gamma belta
≤15 0 0
16 4 2
17 4 2
18 5 2
19 6 3
20 7 3
21 8 3
22 9 3
23 10 4
24 12 4
25 13 4
26 15 6
27 17 6
28 20 7
29 22 7
30 25 8
31 28 8
32 32 9
33 36 9
表3
Figure GDA0003171151780000231
Figure GDA0003171151780000241
603、对子图像A和子图像B的交界区域不进行滤波处理。
604、确定子图像A和子图像B的边界两侧像素值的差值是否小于第三阈值。
上述第三阈值可以为上述第一阈值的1/4,当上述第一阈值为gamma时,第三阈值为gramma/4。
以图9为例,在确定子图像A和子图像B的边界两侧像素值的差值是否小于第三阈值时,具体可以判断不等式(4)是否成立。
|q0-p0|<gamma/4 (4)
其中,p0是子图像A中靠近图像边界的像素点的像素值,q0为子图像B中靠近图像边界的像素点的像素值,gamma/4为第三阈值。
如果子图像A和子图像B的图像边界两端差值较大,则可能存在大量的细节,为了防止细节丢失,不应做强滤波,而应当采用弱滤波方式平滑处理边界,因此,要执行步骤705。
而如果子图像A和子图像B两端的差值较小,可以进一步判断交界区域两侧的相邻区域是否为平坦区域从而确定对交界区域两侧的相邻区域采用强滤波还是弱滤波,因此,要执行步骤706。
当相邻区域为平坦区域时,由于人眼对平坦区域更加敏感,即使很小像素不连续也可被人察觉,因此,需要对相邻区域进行强滤波,而当相邻区域为非平坦区域时,由于人眼对非平坦区域不太敏感,因此,对相邻区域进行弱滤波即可。
605、对子图像A和子图像B的交界区域进行弱滤波。
606、确定子图像A和子图像B的交界区域的相邻区域是否为平坦区域。
当子图像A和子图像B的分界线两侧是为平坦区域的情况下,执行步骤607,否则执行步骤608。
以图9为例,在确定子图像A和子图像B的分界线两侧是否为平坦区域时具体可以判断不等式(5)和(6)是否成立。
|p0-p2|<belta (5)
|q0-q2|<belta (6)
其中,p0和p2分别是子图像A中靠近图像边界和远离图像边界的像素点的像素值,q0和q2分别是子图像B中靠近图像边界和远离图像边界的像素点的像素值,betla为第二阈值。
607、对交界区域的相邻区域进行弱滤波。
608、对交界区域的相邻区域进行强滤波。
下面结合图11对本申请实施例的视频图像的解码端的处理过程进行详细的描述。
图11示出了本申请实施例的视频图像的处理方法的流程图。图11所示的处理方法可以由视频解码器或者具有视频解码功能的服务器来执行。图11所示的方法包括步骤701至步骤708,下面分别对步骤701至步骤708进行详细的介绍。
应理解,图11所示的方法与图6所示的方法是对应的,图11所示的方法相当于对图6所示的处理方法得到的码流进行处理。
701、获取用户当前观看视角对应的码流str0-str5。
当图11所示的方法由终端设备执行时,终端设备可以根据当前用户的观看视角向服务器请求当前用户观看视角范围内的若干个子图像对应的码流。
702、解析码流,获取子图像。
通过解析码流,获取子图像sub0-sub2以及sub4和sub5。
应理解,在步骤702中,在获取子图像sub0-sub5的同时,还可以获取子图像sub0-sub5的位置信息和扩展信息。其中,位置信息用于指示子图像在原图像中的位置,而扩展信息用于指示子图像的图像边界在编码前是否进行过边界扩展,并且在子图像的边界编码前进行过扩展的情况下,扩展信息用于指示子图像的图像边界的扩展宽度。
具体地,在解析码流之前,可以先将码流str0-str5下载到本地,然后进行解封装,获取每个子图像的扩展信息和位置信息。并根据子图像的扩展信息从多个子图像中获取未经过边界扩展的子图像sub0-sub2和经过边界扩展的子图像sub4和sub5。
在根据子图像的扩展信息确定子图像的图像边界是否进行过扩展时,对于每个子图像来说,可以从该子图像的码流的封装层中的Region-wise packing box信息来获取guard_band_flag标志信息,并按照guard_band_flag标志信息的取值来确定子图像的图像边界是否进行了扩展。其中,当guard_band_flag的取值为0时,表示该子图像的图像边界进行过扩展,当guard_band_flag的取值为1时,表示该子图像的图像边界未进行过扩展。
703、对子图像sub0-sub2进行放大。
由于编码端在对子图像sub0-sub2进行边界扩展之后(相当于放大了子图像),又对边界扩展后的子图像进行了缩放,使得缩放后的子图像的分辨率与未经过扩展的子图像的分辨率相同,因此,在解码端,在解析得到子图像sub0-sub2之后要对sub0-sub2进行放大,以恢复编码端在对sub0-sub2进行边界扩展后的分辨率。
例如,在编码端,划分得到的子图像sub0-sub2的分辨率为1280×480,sub4和sub5的分辨率为960×480,对子图像sub0-sub2进行边界扩展后的sub0-sub2的分辨率为1472×480,接下来对边界扩展后的sub0-sub2再进行缩放,使得缩放后的sub0-sub2的分辨率为960×480。而在解码端,解码得到的sub0-sub2以及sub4和sub5的分辨率为960×480,为了恢复sub0-sub2在编码端进行边界扩展后的分辨率,需要对sub0-sub2进行放大,使得放大后的sub0-sub2的分辨率为1472×480。
704、对放大后的子图像sub0-sub2进行加权处理。
应理解,在放大后的子图像sub0-sub2进行加权处理时,可以是按照位置信息对子图像sub0-sub2进行拼接,然后对sub0-sub2之间的重叠区域进行加权处理,加权处理的具体过程可以参照上文中的图8所示的相关内容,为了简洁,这里不再详细描述。
705、对子图像sub4和sub5进行滤波。
应理解,在对子图像sub4和sub5进行滤波之前,可以先按照位置信息对子图像sub4和sub5进行拼接,接下来就可以对sub4和sub5之间的交界区域进行滤波,具体过程可以参见上文中图9和图10的相关内容,为了简洁,这里不再详细描述。
706、对加权处理后的子图像sub0-sub2以及滤波处理后的子图像sub4和sub5进行拼接。
在进行图像拼接之后,可能会在sub4、sub5与sub0-sub2之间的交界区域产生一些边界,为了消除这些边界,需要采用步骤707,对这些边界区域进行滤波处理。
707、对sub4、sub5与sub0-sub2之间的交界区域进行滤波处理。
步骤707中的滤波处理的具体过程与步骤705中的滤波处理的过程类似,这里不再相似描述。
708、呈现视频图像。
在经过步骤707的滤波处理之后,就得到了待呈现的视频图像,接下来在步骤708中就可以将步骤707得到的视频图像呈现给用户。
图12示出了本申请实施例的视频图像的处理方法的流程图。图12所示的视频处理方法可以由编码端设备和解码端设备共同执行,或者,也可以由视频图像编解码系统执行,更具体地,编码端可以由服务器执行,解码端可以由终端设备执行。图12所示的方法包括步骤801至步骤814,下面分别对步骤801至步骤814进行描述。
801、获取视频图像。
该视频图像可以是通过摄像头直接获取的,也可以是从存储视频图像的设备中获取的。可选地,上述视频图像可以是全景视频图像映射得到的平面图像,该平面图像包括经纬图格式的二维图像、多面体格式的二维图像,而多面体格式的二维图像包括:四面体、六面体、八面体等格式的二维图像。
802、对视频图像进行划分,得到子图像sub0-sub13。
其中,子图像sub0-sub2和sub11-sub13的像素冗余度较高,对应的图像区域面积也比较大,而子图像sub3-sub10的像素冗余度较低,对应的图像区域面积较小。
应理解,图像区域面积较大的子图像的分辨率较大,而图像区域面积较小的子图像的分辨率较小。
例如,子图像sub0-sub2和sub11-sub13的分辨率为1280×480,而子图像sub3-sub10的分辨率为960×480。
803、对子图像sub0-sub13进行预处理。
其中,对子图像sub0-sub13进行预处理包括,对子图像sub0-sub2和sub11-sub13进行边界扩展和缩放(具体参见步骤804和步骤805),对子图像sub3-sub10不做处理。
804、对子图像sub0-sub2和sub11-sub13的边界内容进行扩展,得到扩展后的子图像。
假设在对子图像的图像边界进行扩展时,每个边界的扩展宽度为96像素,那么,对子图像sub0-sub2和sub11-sub13进行边界扩展后得到的子图像的分辨率为1472×480。
805、对步骤804中扩展后的子图像进行缩放,得到缩放后的子图像。
应理解,在步骤805中,对扩展后的子图像进行缩放之后,可以使得缩放后的子图像的分辨率与未经过边界扩展和缩放的子图像的分辨率相同。
例如,放大后的子图像的分辨率为1472×480,未经过扩展和缩放的子图像的分辨率为960×480,因此,对扩展后的子图像进行缩放,使得缩放后的子图像的分辨率为960×480。
806、对经过扩展和缩放的子图像已经未经扩展和缩放的子图像进行编码并封装,得到码流str0-str13。
应理解,在生成码流时还需要将每个子图像的扩展信息和位置信息写入到码流中,使得解码端能够通过解析码流获得每个子图像的扩展信息和位置信息。
807、获取用户当前观看视角对应的码流str0-str5。
808、解析码流,获取子图像sub0-sub2以及sub4和sub5。
809、对子图像sub0-sub2进行放大。
810、对放大后的子图像sub0-sub2进行加权处理。
811、对子图像sub4和sub5进行滤波。
812、对加权处理后的子图像sub0-sub2以及滤波处理后的子图像sub4和sub5进行拼接。
813、对sub4、sub5与sub0-sub2之间的交界区域进行滤波处理。
814、呈现视频图像。
应理解,上述步骤801至步骤814对本申请实施例的视频图像的处理方法的整个过程进行了介绍,上述步骤801至步骤814的具体实现细节可以参考上文中图6所示的处理方法中的步骤401至406,以及图11所示的处理方法中的步骤701至步骤708,为了简洁,这里不再详细描述。
上文结合图4至图12对本申请实施例的视频图像的处理方法进行了详细的描述,下面结合图13和图14对本申请实施例的视频图像处理装置进行描述,应理解,图13和图14所描述的视频图像处理装置能够执行上文中介绍的视频图像的处理方法的各个步骤,为了简洁,下面在描述装置时适当省略重复的描述。
图13是本申请实施例的视频图像处理装置的示意性框图。图13所示的视频图像处理装置900包括:
预处理模块901,所述预处理模块901用于:
对初始图像进行采样,得到目标图像;
对所述目标图像进行划分,得到多个子图像,其中,所述多个子图像中包括第一类子图像和第二类子图像,其中,所述第一类子图像是对所述初始图像的第一区域的图像进行采样得到的,所述第二类子图像是对所述初始图像的第二区域的图像进行采样得到的,所述初始图像的第一区域的图像的采样率低于所述初始图像的第二区域图像的采样率,所述第一类子图像的分辨率大于所述第二类子图像的分辨率;
对所述第一类子图像的图像边界进行扩展,得到扩展后的第一类子图像;
对所述扩展后的第一类子图像进行下采样,得到下采样后的第一类子图像,其中,所述下采样后的第一类子图像的分辨率与所述第二类子图像的分辨率相同;
编码模块902,用于对所述第二类子图像和所述下采样后的第一类子图像进行编码,得到码流;
封装模块903,用于将所述多个子图像的位置信息和扩展信息写入所述码流,其中,所述位置信息用于指示子图像在所述目标图像中所处的位置,所述第一类子图像的扩展信息用于指示所述第一类子图像的图像边界进行了扩展以及所述第一类子图像的图像边界扩展的宽度,所述第二类子图像的扩展信息用于指示所述第二类子图像的图像边界未进行扩展。
本申请中,仅对低采样率下获得的子图像(第一类子图像)的图像边界进行扩展,而对高采样下获得的子图像(第二类子图像)的图像边界不进行扩展,从而使得解码端在拼接图像后能够只对低采样率下获得的子图像之间的重叠区域进行加权处理,而对高采样率下获得的子图像之间的交界区域以及高采样率下获得的子图像与低采样率下获得的子图像之间的交界区域进行滤波处理,从而使得解码端在图像拼接之后,根据子图像类型的不同采用不同的方式对不同子图像之间的重叠和交界区域进行处理,能够更好地消除子图像之间拼接时产生的图像边界。
可选地,作为一个实施例,所述封装模块903具体用于将所述多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子。
可选地,作为一个实施例,所述初始图像为全景视频图像映射得到的平面图像。
图14是本申请实施例的视频图像处理装置的示意性框图。图14所示的视频图像处理装置1000包括:
解封装模块1001,用于获取目标码流;
所述解封装模块1001还用于获取多个子图像以及所述多个子图像的位置信息和扩展信息,其中,所述位置信息用于指示子图像在待显示图像中所处的位置,所述扩展信息用于指示子图像的图像边界是否进行了扩展,其中,当所述扩展信息指示任一子图像的图像边界进行了扩展时,所述任一子图像属于第一类子图像且所述扩展信息还用于指示所述任一子图像的图像边界扩展的宽度,当所述扩展信息指示任一子图像的图像边界没有进行扩展时,所述任一子图像属于第二类子图像;
后处理模块1002,所述后处理模块1002用于:
根据所述多个子图像的扩展信息,从所述多个子图像中确定出所述第一类子图像和所述第二类子图像;
根据所述第一类子图像的位置信息和扩展信息确定目标分辨率;
按照所述目标分辨率对所述第一类子图像进行上采样,得到上采样后的第一类子图像,其中,所述上采样后的第一类子图像的分辨率为所述目标分辨率;
根据所述多个子图像的位置信息,对所述上采样后的第一类子图像和所述第二类子图像进行拼接;
对所述上采样后的第一类子图像之间的重叠区域的像素值进行加权处理,得到加权处理后的第一类子图像;
对邻接的所述第二类子图像之间以及所述加权处理后的第一类子图像与所述第二类子图像之间的交界区域进行滤波,得到所述待显示图像,其中,所述交界区域为位于两个子图像的分界线两侧预设大小的区域。
本申请中,在对多个子图像进行拼接之后,能够根据子图像的图像边界是否进行过扩展来分别采用不同的方式对不同子图像之间的重叠和交界区域进行处理,能够更好地消除子图像之间拼接时产生的图像边界。
可选地,作为一个实施例,所述后处理模块1002具体用于:
根据所述第一类子图像的位置信息确定所述第一类子图像的宽和高;
根据所述第一类子图像的扩展信息确定所述第一类子图像的图像边界扩展的宽度;
根据所述第一类子图像的宽和高以及所述第一类子图像的图像边界扩展的宽度,确定所述目标分辨率。
可选地,作为一个实施例,所述多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子中。
可选地,作为一个实施例,所述多个子图像的位置信息和扩展信息封装在辅助增强信息SEI或者媒体描述文件MPD中。
可选地,作为一个实施例,所述上采样后的第一类子图像之间的重叠区域包括第一子图像和第二子图像之间的重叠区域,其中,所述第一子图像位于所述重叠区域的图像为扩展图像,所述第二子图像位于所述重叠区域的图像为重叠图像,所述后处理模块1002具体用于:
对所述扩展图像和所述重叠图像位于所述重叠区域中相同位置的像素值进行加权处理,其中,所述重叠图像中距离所述第一子图像的中心位置越近的像素点的加权系数越大,所述扩展图像中距离所述第一子图像的中心位置越近的像素点的加权系数越小。
可选地,作为一个实施例,所述后处理模块1002具体用于:
确定所述交界区域的图像的像素值梯度;
当所述交界区域的图像的像素值梯度小于预设梯度时,对所述交界区域的图像进行滤波处理;
当所述交界区域的图像的像素值梯度大于或者等于所述预设梯度时,省略对所述交界区域的图像的滤波处理。
可选地,作为一个实施例,所述交界区域包括第一区域和第二区域,所述第一区域和第二区域分别位于交界线的两侧,所述后处理模块1002具体用于:
确定所述交界区域的纹理强度;
当所述交界区域的纹理强度大于或者等于第一预设强度时,采用第一滤波强度对所述交界区域进行滤波处理;
当所述交界区域的纹理强度小于所述第一预设强度时,确定目标区域的纹理强度,其中,所述目标区域为第一区域或者第二区域;
当所述目标区域的纹理强度大于或者等于第二预设强度时,采用所述第一滤波强度对所述目标区域的图像进行滤波;
当所述目标区域的纹理强度小于第二预设强度时,采用第二滤波强度对所述目标区域的图像进行滤波。
可选地,作为一个实施例,所述第一滤波强度的作用范围小于所述第二滤波强度的作用范围。
应理解,图13中所示的视频图像处理装置900可以理解为包含视频编码器的装置,该装置中的编码模块902和封装模块903是与视频编码器相对应的,能够实现视频编码器的相应功能。下面结合图15对视频编码器的结构进行简单的介绍。
图15是本申请实施例的视频编码器的示意性框图。图15所示的视频编码器1100包括:编码端预测模块1101、变换量化模块1102、熵编码模块1103、编码重建模块1104和编码端滤波模块1105。
应理解,图15所示的视频编码器1100可以执行本申请实施例的视频图像的处理方法中的对视频图像进行编码的过程。
应理解,图14中所示的视频图像处理装置1000可以理解为包含视频解码器的装置,该装置中的解封装模块1001是与视频解码器相对应的,能够实现视频解码器的相应功能。下面结合图16对视频解码的结构进行简单的介绍。
图16是本申请实施例的视频解码器的示意性框图。图16所示的视频解码器2000包括:熵解码模块2001、反变换反量化模块2002、解码端预测模块2003、解码重建模块2004和解码端滤波模块2005。
应理解,图16所示的视频编码器2000可以执行本申请实施例的视频图像的处理方法中的对视频图像进行解码的过程。
下面结合图17和图18对编解码装置和编解码装置组成的编解码系统进行详细的介绍。应理解,图17和图18中所示的编解码装置和编解码系统能够执行本申请实施例的视频图像的处理方法。
图17是本申请实施例的视频编解码装置的示意性图。该视频编解码装置3000可以是专门用于对视频图像进行编码和/或解码的装置,也可以是具有视频编解码功能的电子设备,进一步地,该编解码装置3000可以是无线通信系统的移动终端或者用户设备。
编解码装置3000可以包括下列模块或者单元:控制器3001、编码解码器3002、无线电接口3003、天线3011、智能卡3004、读卡器3005、存储器3006、红外线端口3007、显示器3008。
除了图17中所示的模块和单元之外,编解码装置3000还可以包括麦克风或者任何适当的音频输入模块,该音频输入模块可以是数字或者模拟信号输入,编解码装置3000还可以包括音频输出模块,该音频输出模块可以是耳机、扬声器或者模拟音频或者数字音频输出连接。编解码装置3000也可以包括电池,该电池可以是太阳能电池、燃料电池等等。编解码装置3000还可以包括用于与其它设备进行近程视线通信的红外线端口,该编解码装置3000还可以采用包括任何适当的近程通信方式与其它设备进行通信,例如,蓝牙无线连接、USB/火线有线连接。
存储器3006可以存储形式为图像的数据和音频的数据,也可以存储用于在控制器3001上执行的指令。
编码解码器3002可以实现对音频和/或视频数据的编码和解码或者在控制器3001的控制下实现对音频和/或视频数据的辅助编码和辅助解码。
智能卡3004和读卡器3005可以提供用户信息,也可以提供网络认证和授权用户的认证信息。智能卡3004和读卡器3005的具体实现形式可以是集成电路卡(UniversalIntegrated Circuit Card,UICC)和UICC读取器。
无线电接口3003可以生成无线通信信号,该无线通信信号可以是在进行蜂窝通信网络、无线通信系统或者无线局域网通信产生的通信信号。
天线3011用于向其它装置(装置的数目可以为一个也可以为多个)发送在无线电接口3003生成的射频信号,并且还可以用于从其它装置(装置的数目可以为一个也可以为多个)接收射频信号。
在本申请的一些实施例中,编解码装置3000可以在传输和/或存储之前从另一设备接收待处理的视频图像数据。在本申请的另一些实施例中,编解码装置3000可以通过无线或者有线连接接收图像并对接收到的图像进行编码/解码。
图18是本申请实施例的视频编解码系统7000的示意性框图。
如图18所示,视频编解码系统7000包含源装置4000及目的地装置5000。源装置4000产生经过编码后的视频数据,源装置4000也可以被称为视频编码装置或视频编码设备,目的地装置5000可以对源装置4000产生的经过编码后的视频数据进行解码,目的地装置5000也可以被称为视频解码装置或视频解码设备。
源装置4000和目的地装置5000的具体实现形式可以是如下设备中的任意一种:台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话、手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或者其它类似的设备。
目的地装置5000可以经由信道6000接收来自源装置4000编码后的视频数据。信道6000可包括能够将编码后的视频数据从源装置4000移动到目的地装置5000的一个或多个媒体及/或装置。在一个实例中,信道6000可以包括使源装置4000能够实时地将编码后的视频数据直接发射到目的地装置5000的一个或多个通信媒体,在此实例中,源装置4000可以根据通信标准(例如,无线通信协议)来调制编码后的视频数据,并且可以将调制后的视频数据发射到目的地装置5000。上述一个或多个通信媒体可以包含无线及/或有线通信媒体,例如射频(Radio Frequency,RF)频谱或一根或多根物理传输线。上述一个或多个通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。上述一个或多个通信媒体可以包含路由器、交换器、基站,或者实现从源装置4000到目的地装置5000的通信的其它设备。
在另一实例中,信道6000可包含存储由源装置4000产生的编码后的视频数据的存储媒体。在此实例中,目的地装置5000可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、高密度数字视频光盘(DigitalVideo Disc,DVD)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道6000可包含文件服务器或存储由源装置4000产生的编码后的视频数据的另一中间存储装置。在此实例中,目的地装置5000可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将所述编码后的视频数据发射到目的地装置5000的服务器类型。例如,文件服务器可以包含全球广域网(World Wide Web,Web)服务器(例如,用于网站)、文件传送协议(File Transfer Protocol,FTP)服务器、网络附加存储(Network AttachedStorage,NAS)装置以及本地磁盘驱动器。
目的地装置5000可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道、有线连接(例如,缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
本申请实施例的视频图像的处理方法不限于无线应用场景,示例性的,本申请实施例的视频图像的处理方法可以应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统7000可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
在图18中,源装置4000包含视频源4001、视频编码器4002及输出接口4003。在一些实例中,输出接口4003可包含调制器/解调器(调制解调器)及/或发射器。视频源4001可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。
视频编码器4002可编码来自视频源4001的视频数据。在一些实例中,源装置4000经由输出接口4003将编码后的视频数据直接发射到目的地装置5000。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置5000稍后存取以用于解码及/或播放。
在图18的实例中,目的地装置5000包含输入接口5003、视频解码器5002及显示装置5001。在一些实例中,输入接口5003包含接收器及/或调制解调器。输入接口5003可经由信道6000接收编码后的视频数据。显示装置5001可与目的地装置5000整合或可在目的地装置5000外部。一般来说,显示装置5001显示解码后的视频数据。显示装置5001可包括多种显示装置,例如液晶显示器、等离子体显示器、有机发光二极管显示器或其它类型的显示装置。
视频编码器4002及视频解码器5002可根据视频压缩标准(例如,高效率视频编解码H.265标准))而操作,并且可以可遵照高效视频编码(High Efficiency Video Coding,HEVC)测试模型(HM)。H.265标准的文本描述ITU-TH.265(V3)(04/2015)于2015年4月29号发布,可从http://handle.itu.int/11.1002/7000/12455下载,所述文件的全部内容以引用的方式并入本文中。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (22)

1.一种视频图像的处理方法,其特征在于,包括:
对初始图像进行采样,得到目标图像;
对所述目标图像进行划分,得到多个子图像,其中,所述多个子图像中包括第一类子图像和第二类子图像,其中,所述第一类子图像是对所述初始图像的第一区域的图像进行采样得到的,所述第二类子图像是对所述初始图像的第二区域的图像进行采样得到的,所述初始图像的第一区域的图像的采样率低于所述初始图像的第二区域图像的采样率,所述第一类子图像的分辨率大于所述第二类子图像的分辨率;
对所述第一类子图像的图像边界进行扩展,得到扩展后的第一类子图像;
对所述扩展后的第一类子图像进行下采样,得到下采样后的第一类子图像,其中,所述下采样后的第一类子图像的分辨率与所述第二类子图像的分辨率相同;
对所述第二类子图像和所述下采样后的第一类子图像进行编码,得到码流;
将所述多个子图像的位置信息和扩展信息写入所述码流,其中,所述位置信息用于指示子图像在所述目标图像中所处的位置,所述第一类子图像的扩展信息用于指示所述第一类子图像的图像边界进行了扩展以及所述第一类子图像的图像边界扩展的宽度,所述第二类子图像的扩展信息用于指示所述第二类子图像的图像边界未进行扩展。
2.如权利要求1所述的方法,其特征在于,所述将所述多个子图像的位置信息和扩展信息写入所述码流,包括:
将所述多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子中。
3.如权利要求1或2所述的方法,其特征在于,所述初始图像为全景视频图像。
4.一种视频图像的处理方法,其特征在于,包括:
获取目标码流;
解析所述目标码流,获取多个子图像以及所述多个子图像的位置信息和扩展信息,其中,所述位置信息用于指示子图像在待显示图像中所处的位置,所述扩展信息用于指示子图像的图像边界是否进行了扩展,其中,当所述扩展信息指示任一子图像的图像边界进行了扩展时,所述任一子图像属于第一类子图像且所述扩展信息还用于指示所述任一子图像的图像边界扩展的宽度,当所述扩展信息指示任一子图像的图像边界没有进行扩展时,所述任一子图像属于第二类子图像;
根据所述多个子图像的扩展信息,从所述多个子图像中确定出所述第一类子图像和所述第二类子图像;
根据所述第一类子图像的位置信息和扩展信息确定目标分辨率;
按照所述目标分辨率对所述第一类子图像进行上采样,得到上采样后的第一类子图像,其中,所述上采样后的第一类子图像的分辨率为所述目标分辨率;
根据所述多个子图像的位置信息,对所述上采样后的第一类子图像和所述第二类子图像进行拼接;
对所述上采样后的第一类子图像之间的重叠区域的像素值进行加权处理,得到加权处理后的第一类子图像;
对邻接的所述第二类子图像之间以及所述加权处理后的第一类子图像与所述第二类子图像之间的交界区域进行滤波,得到所述待显示图像,其中,所述交界区域为位于两个子图像的分界线两侧预设大小的区域。
5.如权利要求4所述的方法,其特征在于,所述根据所述第一类子图像的位置信息和扩展信息确定目标分辨率,包括:
根据所述第一类子图像的位置信息确定所述第一类子图像的宽和高;
根据所述第一类子图像的扩展信息确定所述第一类子图像的图像边界扩展的宽度;
根据所述第一类子图像的宽和高以及所述第一类子图像的图像边界扩展的宽度,确定所述目标分辨率。
6.如权利要求4或5所述的方法,其特征在于,所述多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子中。
7.如权利要求4或5所述的方法,其特征在于,所述多个子图像的位置信息和扩展信息封装在辅助增强信息SEI或者媒体描述文件MPD中。
8.如权利要求4或5所述的方法,其特征在于,所述上采样后的第一类子图像之间的重叠区域包括第一子图像和第二子图像之间的重叠区域,其中,所述第一子图像位于所述重叠区域的图像为扩展图像,所述第二子图像位于所述重叠区域的图像为重叠图像,所述对所述上采样后的第一类子图像之间的重叠区域的像素值进行加权处理,包括:
对所述扩展图像和所述重叠图像位于所述重叠区域中相同位置的像素值进行加权处理,其中,所述重叠图像中距离所述第一子图像的中心位置越近的像素点的加权系数越大,所述扩展图像中距离所述第一子图像的中心位置越近的像素点的加权系数越小。
9.如权利要求4或5所述的方法,其特征在于,所述对邻接的所述第二类子图像之间以及所述加权处理后的第一类子图像与所述第二类子图像之间的交界区域进行滤波,得到所述待显示图像,包括:
确定所述交界区域的图像的像素值梯度;
当所述交界区域的图像的像素值梯度小于预设梯度时,对所述交界区域的图像进行滤波处理;
当所述交界区域的图像的像素值梯度大于或者等于所述预设梯度时,省略对所述交界区域的图像的滤波处理。
10.如权利要求9所述的方法,其特征在于,所述交界区域包括第一区域和第二区域,所述第一区域和第二区域分别位于交界线的两侧,其中,所述对所述交界区域的图像进行滤波处理,包括:
确定所述交界区域的纹理强度;
当所述交界区域的纹理强度大于或者等于第一预设强度时,采用第一滤波强度对所述交界区域进行滤波处理;
当所述交界区域的纹理强度小于所述第一预设强度时,确定目标区域的纹理强度,其中,所述目标区域为第一区域或者第二区域;
当所述目标区域的纹理强度大于或者等于第二预设强度时,采用所述第一滤波强度对所述目标区域的图像进行滤波;
当所述目标区域的纹理强度小于第二预设强度时,采用第二滤波强度对所述目标区域的图像进行滤波。
11.如权利要求10所述的方法,其特征在于,所述第一滤波强度的作用范围小于所述第二滤波强度的作用范围。
12.一种视频图像处理装置,其特征在于,包括:
预处理模块,所述预处理模块用于:
对初始图像进行采样,得到目标图像;
对所述目标图像进行划分,得到多个子图像,其中,所述多个子图像中包括第一类子图像和第二类子图像,其中,所述第一类子图像是对所述初始图像的第一区域的图像进行采样得到的,所述第二类子图像是对所述初始图像的第二区域的图像进行采样得到的,所述初始图像的第一区域的图像的采样率低于所述初始图像的第二区域图像的采样率,所述第一类子图像的分辨率大于所述第二类子图像的分辨率;
对所述第一类子图像的图像边界进行扩展,得到扩展后的第一类子图像;
对所述扩展后的第一类子图像进行下采样,得到下采样后的第一类子图像,其中,所述下采样后的第一类子图像的分辨率与所述第二类子图像的分辨率相同;
编码模块,用于对所述第二类子图像和所述下采样后的第一类子图像进行编码,得到码流;
封装模块,用于将所述多个子图像的位置信息和扩展信息写入所述码流,其中,所述位置信息用于指示子图像在所述目标图像中所处的位置,所述第一类子图像的扩展信息用于指示所述第一类子图像的图像边界进行了扩展以及所述第一类子图像的图像边界扩展的宽度,所述第二类子图像的扩展信息用于指示所述第二类子图像的图像边界未进行扩展。
13.如权利要求12所述的装置,特征在于,所述封装模块具体用于将所述多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子。
14.如权利要求12或13所述的装置,特征在于,所述初始图像为全景视频图像映射得到的平面图像。
15.一种视频图像处理装置,其特征在于,包括:
解封装模块,用于获取目标码流;
所述解封装模块还用于获取多个子图像以及所述多个子图像的位置信息和扩展信息,其中,所述位置信息用于指示子图像在待显示图像中所处的位置,所述扩展信息用于指示子图像的图像边界是否进行了扩展,其中,当所述扩展信息指示任一子图像的图像边界进行了扩展时,所述任一子图像属于第一类子图像且所述扩展信息还用于指示所述任一子图像的图像边界扩展的宽度,当所述扩展信息指示任一子图像的图像边界没有进行扩展时,所述任一子图像属于第二类子图像;
后处理模块,所述后处理模块用于:
根据所述多个子图像的扩展信息,从所述多个子图像中确定出所述第一类子图像和所述第二类子图像;
根据所述第一类子图像的位置信息和扩展信息确定目标分辨率;
按照所述目标分辨率对所述第一类子图像进行上采样,得到上采样后的第一类子图像,其中,所述上采样后的第一类子图像的分辨率为所述目标分辨率;
根据所述多个子图像的位置信息,对所述上采样后的第一类子图像和所述第二类子图像进行拼接;
对所述上采样后的第一类子图像之间的重叠区域的像素值进行加权处理,得到加权处理后的第一类子图像;
对邻接的所述第二类子图像之间以及所述加权处理后的第一类子图像与所述第二类子图像之间的交界区域进行滤波,得到所述待显示图像,其中,所述交界区域为位于两个子图像的分界线两侧预设大小的区域。
16.如权利要求15所述的装置,其特征在于,所述后处理模块具体用于:
根据所述第一类子图像的位置信息确定所述第一类子图像的宽和高;
根据所述第一类子图像的扩展信息确定所述第一类子图像的图像边界扩展的宽度;
根据所述第一类子图像的宽和高以及所述第一类子图像的图像边界扩展的宽度,确定所述目标分辨率。
17.如权利要求15或16所述的装置,其特征在于,所述多个子图像中的每个子图像的位置信息和扩展信息封装在同一盒子中。
18.如权利要求15或16所述的装置,其特征在于,所述多个子图像的位置信息和扩展信息封装在辅助增强信息SEI或者媒体描述文件MPD中。
19.如权利要求15或16所述的装置,其特征在于,所述上采样后的第一类子图像之间的重叠区域包括第一子图像和第二子图像之间的重叠区域,其中,所述第一子图像位于所述重叠区域的图像为扩展图像,所述第二子图像位于所述重叠区域的图像为重叠图像,所述后处理模块具体用于:
对所述扩展图像和所述重叠图像位于所述重叠区域中相同位置的像素值进行加权处理,其中,所述重叠图像中距离所述第一子图像的中心位置越近的像素点的加权系数越大,所述扩展图像中距离所述第一子图像的中心位置越近的像素点的加权系数越小。
20.如权利要求15或16所述的装置,其特征在于,所述后处理模块具体用于:
确定所述交界区域的图像的像素值梯度;
当所述交界区域的图像的像素值梯度小于预设梯度时,对所述交界区域的图像进行滤波处理;
当所述交界区域的图像的像素值梯度大于或者等于所述预设梯度时,省略对所述交界区域的图像的滤波处理。
21.如权利要求20所述的装置,其特征在于,所述交界区域包括第一区域和第二区域,所述第一区域和第二区域分别位于交界线的两侧,所述后处理模块1002具体用于:
确定所述交界区域的纹理强度;
当所述交界区域的纹理强度大于或者等于第一预设强度时,采用第一滤波强度对所述交界区域进行滤波处理;
当所述交界区域的纹理强度小于所述第一预设强度时,确定目标区域的纹理强度,其中,所述目标区域为第一区域或者第二区域;
当所述目标区域的纹理强度大于或者等于第二预设强度时,采用所述第一滤波强度对所述目标区域的图像进行滤波;
当所述目标区域的纹理强度小于第二预设强度时,采用第二滤波强度对所述目标区域的图像进行滤波。
22.如权利要求21所述的装置,其特征在于,所述第一滤波强度的作用范围小于所述第二滤波强度的作用范围。
CN201810005816.1A 2018-01-03 2018-01-03 视频图像的处理方法及装置 Active CN109996072B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810005816.1A CN109996072B (zh) 2018-01-03 2018-01-03 视频图像的处理方法及装置
EP18898993.3A EP3700209B1 (en) 2018-01-03 2018-12-25 Method and device for processing video image
PCT/CN2018/123438 WO2019134557A1 (zh) 2018-01-03 2018-12-25 视频图像的处理方法及装置
US16/880,757 US11463700B2 (en) 2018-01-03 2020-05-21 Video picture processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810005816.1A CN109996072B (zh) 2018-01-03 2018-01-03 视频图像的处理方法及装置

Publications (2)

Publication Number Publication Date
CN109996072A CN109996072A (zh) 2019-07-09
CN109996072B true CN109996072B (zh) 2021-10-15

Family

ID=67128617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810005816.1A Active CN109996072B (zh) 2018-01-03 2018-01-03 视频图像的处理方法及装置

Country Status (4)

Country Link
US (1) US11463700B2 (zh)
EP (1) EP3700209B1 (zh)
CN (1) CN109996072B (zh)
WO (1) WO2019134557A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190052128A (ko) 2016-10-04 2019-05-15 김기백 영상 데이터 부호화/복호화 방법 및 장치
CN110415794A (zh) * 2019-07-30 2019-11-05 江苏赛诺格兰医疗科技有限公司 呼吸门控图像数据处理方法和装置
EP4307665A2 (en) * 2019-08-10 2024-01-17 Beijing Bytedance Network Technology Co., Ltd. Buffer management in subpicture decoding
EP4333431A1 (en) 2019-10-18 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Syntax constraints in parameter set signaling of subpictures
CN111711818B (zh) * 2020-05-13 2022-09-09 西安电子科技大学 视频图像编码传输方法及其装置
CN112037127A (zh) * 2020-07-27 2020-12-04 浙江大华技术股份有限公司 视频监控的隐私遮挡方法及装置、存储介质、电子装置
CN112637664A (zh) * 2020-08-27 2021-04-09 西安诺瓦星云科技股份有限公司 视频返看方法、视频输出卡和插卡式视频处理设备
CN112055256B (zh) * 2020-09-16 2023-03-24 聚好看科技股份有限公司 一种全景图像的图像处理方法及显示设备
US11445211B1 (en) * 2020-12-10 2022-09-13 Amazon Technologies, Inc. Psychovisually optimized dithering for image and video encoding
CN112698800B (zh) * 2020-12-29 2022-09-30 卡莱特云科技股份有限公司 一种显示子画面重组的方法、装置及计算机设备
CN112802177A (zh) * 2020-12-31 2021-05-14 广州极飞科技股份有限公司 航测数据的处理方法、装置、电子设备及存储介质
US11769224B2 (en) * 2021-04-08 2023-09-26 Raytheon Company Mitigating transitions in mosaic images
CN115829838B (zh) * 2022-11-23 2023-08-11 爱芯元智半导体(上海)有限公司 一种图像扩边电路、芯片和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117008A (zh) * 2009-12-30 2011-07-06 天津市亚安科技电子有限公司 一种球面全景监控装置
CN103168315A (zh) * 2010-09-09 2013-06-19 数字光学欧洲有限公司 手持式设备上的立体(3d)全景图创建
CN104618648A (zh) * 2015-01-29 2015-05-13 桂林长海发展有限责任公司 一种全景视频拼接系统及拼接方法
CN105869113A (zh) * 2016-03-25 2016-08-17 华为技术有限公司 全景图像的生成方法和装置
WO2017158236A2 (en) * 2016-03-15 2017-09-21 Nokia Technologies Oy A method, an apparatus and a computer program product for coding a 360-degree panoramic images and video
CN107517385A (zh) * 2016-06-16 2017-12-26 华为技术有限公司 一种视频图像的编解码方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6043837A (en) * 1997-05-08 2000-03-28 Be Here Corporation Method and apparatus for electronically distributing images from a panoptic camera system
US20060013315A1 (en) * 2004-07-19 2006-01-19 Samsung Electronics Co., Ltd. Filtering method, apparatus, and medium used in audio-video codec
JP6067737B2 (ja) * 2011-11-29 2017-01-25 トムソン ライセンシングThomson Licensing ビデオ品質測定のための方法、装置、コンピュータプログラム、及び記憶媒体
US8989493B1 (en) * 2012-02-06 2015-03-24 Marvell International Ltd. Method and apparatus for identifying regions of an image to be filtered during processing of the image
US9002128B2 (en) * 2012-03-15 2015-04-07 Panasonic Intellectual Property Corporation Of America Image processing apparatus, integrated circuit, program, imaging apparatus, and display apparatus
CN104885456A (zh) 2012-09-18 2015-09-02 Vid拓展公司 使用图块和图块组的感兴趣区域视频编码
US20150193909A1 (en) * 2014-01-09 2015-07-09 Trax Technology Solutions Pte Ltd. Method and device for panoramic image processing
KR102352933B1 (ko) * 2016-09-09 2022-01-20 삼성전자주식회사 3차원 이미지를 프로세싱하기 위한 방법 및 장치
CN106254874B (zh) * 2016-09-19 2019-05-31 上海国茂数字技术有限公司 一种全景视频编码方法及装置
EP3566445A4 (en) * 2017-01-03 2020-09-02 Nokia Technologies Oy APPARATUS, PROCESS AND COMPUTER PROGRAM FOR VIDEO CODING AND DECODING
US10560682B2 (en) * 2017-01-13 2020-02-11 Gopro, Inc. Methods and apparatus for providing a frame packing arrangement for panoramic content

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117008A (zh) * 2009-12-30 2011-07-06 天津市亚安科技电子有限公司 一种球面全景监控装置
CN103168315A (zh) * 2010-09-09 2013-06-19 数字光学欧洲有限公司 手持式设备上的立体(3d)全景图创建
CN104618648A (zh) * 2015-01-29 2015-05-13 桂林长海发展有限责任公司 一种全景视频拼接系统及拼接方法
WO2017158236A2 (en) * 2016-03-15 2017-09-21 Nokia Technologies Oy A method, an apparatus and a computer program product for coding a 360-degree panoramic images and video
CN105869113A (zh) * 2016-03-25 2016-08-17 华为技术有限公司 全景图像的生成方法和装置
CN107517385A (zh) * 2016-06-16 2017-12-26 华为技术有限公司 一种视频图像的编解码方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Region-wise quality indication SEI message;HYUN MOOK OH ET AL;《JCT-VC MEETING》;20170322;第1-3页 *

Also Published As

Publication number Publication date
EP3700209A1 (en) 2020-08-26
US20200288136A1 (en) 2020-09-10
WO2019134557A1 (zh) 2019-07-11
EP3700209B1 (en) 2024-03-13
CN109996072A (zh) 2019-07-09
US11463700B2 (en) 2022-10-04
EP3700209A4 (en) 2020-09-23

Similar Documents

Publication Publication Date Title
CN109996072B (zh) 视频图像的处理方法及装置
US11798166B2 (en) Sphere pole projections for efficient compression of 360-degree video
US10764582B2 (en) Reducing seam artifacts in 360-degree video
US10839480B2 (en) Sphere equator projection for efficient compression of 360-degree video
EP3633995B1 (en) Method and device for chroma prediction
US10904531B2 (en) Adaptive parameters for coding of 360-degree video
US11184641B2 (en) Coding spherical video data
KR102588146B1 (ko) 멀티-뷰 신호 코덱
EP3556095A1 (en) Viewport-aware quality metric for 360-degree video
KR102243120B1 (ko) 인코딩 방법 및 장치 및 디코딩 방법 및 장치
CN111491168A (zh) 视频编解码方法、解码器、编码器和相关设备
WO2024061660A1 (en) Dynamic structures for volumetric data coding
WO2013105946A1 (en) Motion compensating transformation for video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant