CN109587478A - 一种媒体信息的处理方法及装置 - Google Patents

一种媒体信息的处理方法及装置 Download PDF

Info

Publication number
CN109587478A
CN109587478A CN201710903553.1A CN201710903553A CN109587478A CN 109587478 A CN109587478 A CN 109587478A CN 201710903553 A CN201710903553 A CN 201710903553A CN 109587478 A CN109587478 A CN 109587478A
Authority
CN
China
Prior art keywords
image
subgraph
information
media
code stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710903553.1A
Other languages
English (en)
Other versions
CN109587478B (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 CN201710903553.1A priority Critical patent/CN109587478B/zh
Priority to EP18861699.9A priority patent/EP3678371A4/en
Priority to PCT/CN2018/106430 priority patent/WO2019062613A1/zh
Publication of CN109587478A publication Critical patent/CN109587478A/zh
Priority to US16/831,212 priority patent/US20200228837A1/en
Application granted granted Critical
Publication of CN109587478B publication Critical patent/CN109587478B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例公开了一种媒体信息的处理方法和装置。所述方法包括:得到媒体数据,所述媒体数据包括指示信息和至少一帧的图像数据,所述指示信息用于指示图像中的像素对应的预测像素是否越过了预设方向的边界;所述预设方向包括下列方向中的至少之一:上方,下方,左方或右方;根据所述指示信息解码所述至少一帧的图像数据。根据本发明实施例的媒体信息的处理方法和装置,使得对多个子码流进行拼接成为可能,对所需码流进行拼接后解码,仅需要单个解码器就能实现多个子图像序列的解码。

Description

一种媒体信息的处理方法及装置
技术领域
本发明涉及流媒体传输技术领域,尤其涉及一种媒体信息的处理方法及装置。
背景技术
当前随着360度视频等VR视频的观看应用的日益普及,越来越多的用户加入到大视角的VR视频观看的体验队伍中。这种新的视频观看应用给用户带来了新的视频观看模式和视觉体验的同时,也带来了新的技术挑战。由于360度(本发明实施例将以360度为例进行说明)等大视角的视频观看过程中,VR视频的空间区域(空间区域也可以叫做空间对象)为360度的全景空间(或称全方位空间,或称全景空间对象),超过了人眼正常的视觉范围,因此,用户在观看视频的过程中随时都会变换观看的角度(即视角,FOV)。用户观看的视角不同,看到的视频图像也将不同,故此视频呈现的内容需要随着用户的视角变化而变化。
当前的视频应用场景中,特别是在当前360度全景视频应用以及多路视频应用中,有时用户仅对整幅图像的一部分图像感兴趣。这种情况下,客户端并不需要将所有图像区域都进行显示,只需要获取全图像中的一部分图像在客户端进行显示渲染。比如在360度全景视频数据的某些应用中,用户在观看其某个视角对应的图像时,视频中其他区域的图像对于用户来说就是不需要进行渲染呈现的;又如在多路视频的应用场景中,视频画面由多个图像拼接而成,当用户仅对某个图像或者某些图像感兴趣时,其他图像就是不需要显示的。对于这种应用场景,一种实现方式是,在服务器端针对每个子图像序列(针对360度全景视频,先将整幅图像划分为各个子图像)分别进行编码,然后根据客户端的行为,将所需子图像序列的码流传到客户端,接着对子图像码流分别解码,并将解码后的图像进行拼接呈现。
现有技术的一种基于子图像编码的实现方案中,在编码端,将完整的图像切割成N个子图像,使用多个处理器或多个处理器内核将这N个子图像并行实时编码,并将所述N个子图像的编码结果和表示该N个子图像相对位置关系的信息封装在一起;在解码端,对包含N个子图像的封装数据进行解封装,该封装数据中包括表示该N个子图像相对位置关系的信息,然后用多个处理器或多个处理器内核将所述N个子图像进行并行实时解码,最后将N个子图像的解码结果重新拼接成一个完整图像。整个过程如图1所示。该技术需要在解码端使用多路解码器并行解码,解码资源需求较高。
发明内容
本发明实施例提供了一种媒体信息的处理方法及装置,在码流中添加了图像编码的预测参考像素是否越界的信息,使得对多个码流进行拼接成为可能。对所需码流进行拼接后解码,仅需要单个解码器就能实现多个图像序列的解码,避免了现有方案中针对多个码流使用多个解码器解码的资源浪费问题。
在本发明第一方面的实施例中,公开了一种媒体信息的处理方法,所述方法包括:
得到媒体数据,所述媒体数据包括指示信息和至少一帧的图像数据,所述指示信息用于指示图像中的像素对应的预测像素是否越过了预设方向的边界;
所述预设方向包括下列方向中的至少之一:
上方,下方,左方或右方;
根据所述指示信息解码所述至少一帧的图像数据。
本发明方法实施例的执行主体可以是可穿戴式设备(例如AR/VR头盔,AR/VR眼镜等),服务器,智能终端(例如手机,平板电脑等),电视,机顶盒等具有视频或图像解码功能的设备。
一种可能的实现方式中,可以通过发送媒体数据获取请求,然后接收媒体数据。例如客户端可以通过媒体展示描述文件中的有关属性和地址信息构建统一资源定位符(Uniform Resource Locator,URL),然后向该URL发送HTTP请求,然后接收相应的媒体数据。
一种可能的实现方式中,可以通过推送的方式得到媒体数据。
本发明实施例中的媒体数据主要指的是对视频或图像进行编码封装后的数据,在一些可能的实现方式中,本发明实施例的媒体数据也可以是对音频进行编码封装后的数据。视频是由一系列的图像组成的。
在一种可能的实现方式中,媒体数据的有关示例可以参考ISO/IEC 23090-2标准规范的媒体数据的有关规定。
ISO/IEC 23090-2标准规范又称为OMAF(Omnidirectional media format,全向媒体格式)标准规范,该规范定义了一种媒体应用格式,可以在应用中实现全向媒体的呈现,全向媒体主要是指全向视频(360°视频)和相关音频。OMAF规范首先指定了可以用于将球面视频转换为二维视频的投影方法的列表,其次是如何使用ISO基本媒体文件格式(ISO basemedia file format,ISOBMFF)存储全向媒体和该媒体相关联的元数据,以及如何在流媒体系统中封装全向媒体的数据和传输全向媒体的数据,例如通过基于超文本传输协议(HyperText Transfer Protocol,HTTP)的动态自适应流传输(Dynamic AdaptiveStreaming over HTTP,DASH),ISO/IEC 23009-1标准中规定的动态自适应流传输。
在一种可能的实现方式中,本发明实施例所述的图像,可以是采集设备(如摄像头等)采集到的一个完整的图像,也可以是对一个完整的图像进行划分后得到的图像。例如采集设备采集的图像为256*256像素。则本发明实施例的图像,可以是256*256像素的图像,也可以是64*16像素的图像,也可以是64*64像素的图像。
在一种可能的实现方式中,本发明实施例所述的图像数据,是按照视频编码技术对图像进行编码后的数据,例如可以是采用ITU H.264对图像进行编码后得到的图像数据,或者是采用ITU H.265对图像进行编码后得到的图像数据,也可以是采用其它标准或者私有技术对图像进行编码后的数据。
在一种可能的实现方式中,本发明实施例中的指示信息可以和图像数据封装在一个文件中,指示信息也可以和图像数据封装在不同的文件中。
在一种可能的实现方式中,可以从不同的来源分别得到本发明实施例的指示信息和图像数据。例如从服务器A得到指示信息,从服务器B得到图像数据。也可以从相同的来源,但是通过不同的请求或者码流分别得到指示信息和图像数据。还可以从同一个码流中得到指示信息和图像数据。
指示信息可以封装在媒体展示描述(Media presentation description,MPD)文件中。媒体展示描述文件是包括了图像的一些元数据的文件。元数据指的是一些属性信息,例如时长,码率,帧率,在球面坐标系中的位置等。
在一个示例中,媒体展示描述文件可以参考ISO/IEC 23009-1中的有关规定和示例。
在一个示例中,图像数据是采用ITU H.264对图像进行编码后得到的图像数据,指示信息可以被封装在补充增强信息(supplementary enhancemen tinformation,SEI)中。
在一个示例中,图像数据是采用ITU H.265对图像进行编码后得到的图像数据,指示信息可以被封装在补充增强信息(supplementary enhancement information,SEI)中。
在一个示例中,图像数据被封装在轨道(track)中,指示信息被封装在轨道的一个盒(box)中。
在一个示例中,图像数据可以是采用ITU H.264/H.265或其他私有标准编码后得到的图像数据;图像数据也可以是被封装在轨道中,指示信息被封装在媒体展示描述(Media presentation description,MPD)文件中。
在一种可能的实现方式中,指示信息包括至少一个的标识,所述标识和所述预设方向一一对应。例如,指示信息可以是一个比特的flag,根据flag的值指示是否越过了预设方向的边界;指示信息也可以是指示符,根据指示符的值指示是否越过了预设方向的边界。可以用同一个flag或指示符的不同的值表示不同的越界方向,在这种情况下,可能需要一个单独的flag或者指示符来指示是否存在越界,也可能是一个指示符的不同的值分别对应是否越界和越界的方向。也可以用不同的flag或指示符表示不同的越界方向,在这种情况下,同一个flag或指示符的值可以表示是否越界。越界即为越过了预设方向的边界。
在一种可能的实现方式中,本发明实施例的码流中的指示信息所指示的边界,指的是该码流解码出来的图像的边界。可以理解的是,本发明的实施例在码流拼接的时候不要求码流中的图像一定被完全解码呈现,可以只进行解码的部分操作。
在一种可能的实现方式中,本发明实施例所述的像素对应的预测像素,可以指的是按照帧内预测模式或帧间预测模式进行预测编码时所参考的像素。
在一种可能的实现方式中,本发明实施例所述的预设方向,包括下列方向中的至少之一:上方,下方,左方或右方。本发明实施例的预设方向,也可以是前述4个方向组合后的方向,例如左上,右下,左下,右上等。
在一种可能的实现方式中,本发明实施例所述的预设方向的边界是指使得在该预测方向上获得的预测参考像素(包括整像素以及分像素)在图像内部的边缘位置,一般指图像边界。在一个示例中,如图12所示,图像块在编码时通过预测矢量v获得预测块。使得图像的预测块中的像素全部位于图像内部的图像边界即为所述的预设方向的边界,如图中所示的上边界、下边界、左边界和右边界。
在一种可能的实现方式中,本发明实施例所述的越过了预设方向的边界,是指当预测块中存在像素位于某个方向上图像的外部时,即所述的越过预设方向的边界。在一个示例中,如图12所示,预测块2中的右上角像素位于图像外部,参考像素越过了上边界和右边界。
在一种可能的实现方式中,本发明实施例所述的没有越过预设方向的边界,是指预测块的所有像素均位于图像内部。在一个示例中,如图12所示,预测块1和预测块3,其所有像素均位于图像内部,没有越过任意方向的边界。
在一种可能的实现方式中,本发明实施例所述的根据所述指示信息解码所述至少一帧的图像数据,包括:对接收得到的多个媒体数据的码流进行拼接,得到拼接后的一个单一码流。拼接的方式可以根据指示信息的指示结果确定。比如子码流中的预测像素在四个方向均不越界,则子码流的拼接位置可以位于其他子码流的上下左右四个方向;子码流中的预测像素越过某些方向的边界时,则子码流在这些对应越界方向的位置不能与其他子码流拼接;若子码流中的预测像素在四个方向均越界,则子码流在四个方向上均不能与其他码流拼接;在满足越界拼接受限的条件下,子码流拼接顺序可不限;子码流可以重复进行拼接。
在本发明的一种实施例中,拼接码流解码后的同一帧图像中,不同子图像的帧号可以相同也可以不同。也就是说,对于拼接而言,解码的拼接图像一帧中的不同子图像是否对应同样的帧号,在本发明中不做限定。比如说,在解码出来的第1帧图像中,子图像sub0可以是它的第1帧,子图像sub1可以不是它的第1帧。待拼接的不同子码流可以是相同时间分段的子码流,也可以是不同时间分段的子码流,也可以是相同时间分段中从不同的帧号开始的子码流。这些对于拼接而言不做限定。
根据本发明实施例的媒体信息的处理方法,在码流中添加了图像编码的预测参考像素是否越界的信息,使得对多个码流进行拼接成为可能。对所需码流进行拼接后解码,仅需要单个解码器就能实现多个图像序列的解码,避免了现有方案中针对多个码流使用多个解码器解码的资源浪费问题。
本发明第二方面的实施例公开了一种媒体信息的处理装置,其特征在于,所述装置包括:
接收模块,用于得到媒体数据,所述媒体数据包括指示信息和至少一帧的图像数据,所述指示信息用于指示图像中的像素对应的预测像素是否越过了预设方向的边界;所述预设方向包括下列方向中的至少之一:上方,下方,左方或右方;处理模块,用于根据所述指示信息解码所述至少一帧的图像数据。
本发明实施例的处理装置可以是可穿戴式设备(例如AR/VR头盔,AR/VR眼镜等),服务器,智能终端(例如手机,平板电脑等),电视,机顶盒等具有视频或图像解码功能的设备。
本发明实施例的接收模块可以是接收器等通信传输设备。
本发明实施例的处理模块可以是处理器。
在一种可能的实现方式中,所述指示信息包括至少一个的标识,所述标识和所述预设方向一一对应。
在一种可能的实现方式中,所述图像数据是采用ITU H.264对图像进行编码后得到的图像数据,所述媒体数据的补充增强信息(supplementary enhancementinformation,SEI)中包括了所述指示信息。
在一种可能的实现方式中,所述图像数据是采用ITU H.265对图像进行编码后得到的图像数据,所述媒体数据的补充增强信息(supplementary enhancementinformation,SEI)中包括了所述指示信息。
在一种可能的实现方式中,所述图像数据被封装在轨道(track)中,所述轨道的一个盒(box)中包括了所述指示信息。
在一种可能的实现方式中,所述图像数据可以是采用ITU H.264/H.265或其他私有标准编码后得到的图像数据,也可以是被封装在轨道中,指示信息被封装在媒体展示描述(Media presentation description,MPD)文件中。
本发明第二方面装置实施例的具体示例和实现方式可以参考第一方面方法实施例中的相关举例,在此不再赘述。
本发明第三方面实施例公开了一种媒体信息的处理装置,所述装置包括:一个或多个处理器、存储器。该存储器与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,处理装置执行如上述第一方面以及第一方面的任意一种可能的实现方式所述的媒体信息的处理方法。
本发明第四方面实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在设备上运行时,使得设备执行如上述第一方面以及第一方面的任意一种可能的实现方式所述的媒体信息的处理方法。
本发明第五方面实施例公开了一种处理器,所述处理器用于执行如上述第一方面以及第一方面的任意一种可能的实现方式所述的媒体信息的处理方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中一种多码流图像解码的示意图。
图2是本发明一个实施例的传输框图的示意图。
图3是本发明一个实施例的一种码流拼接处理的方法的示意图。
图4是本发明一个实施例的另一种码流拼接的示意图。
图5是本发明一个实施例的一种受限情况下的码流拼接的示意图。
图6是本发明一个实施例的对码流拼接位置进行变换的示意图。
图7是本发明一个实施例的对码流进行拼凑的示意图。
图8是本发明一个实施例的一种对tile码流进行拼接处理的示意图。
图9是本发明一个实施例的媒体信息的处理方法的流程图。
图10是本发明一个实施例的媒体信息的处理装置的结构示意图。
图11是本发明一个实施例的一种媒体信息的处理装置的具体硬件的示意图。
图12是本发明一个实施例的图像边界的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的一些实施例中,
视频解码(video decoding):将码流按照特定的语法规则和处理方法恢复成重建图像的处理过程。
视频编码(video encoding):将图像序列压缩成码流的处理过程。
视频编码(video coding):video encoding和video decoding的统称,中文译名和video encoding相同。
全景视频:也名360度全景视频或360视频,一种用多摄像机进行全方位360度进行拍摄的视频,用户在观看视频的时候,可以随意调节用户的视角进行观看。
Tile:指的是视频编码标准HEVC中针对待编码图像进行划分所得到的方块形编码区域,一帧图像可划分为多个Tile,这些Tile共同组成该帧图像。每个Tile可以独立编码。
子图像(sub-picture):对图像进行划分,获得原图像的一部分称为该图像的子图像。在一些实施例中,子图像的形状为方形。子图像可以为一帧图像中的部分图像。
MCTS:全称为motion-constrained tile sets,运动受限的Tile集合。指的是针对Tile的一种编码技术,这种技术在编码时对Tile内部的运动矢量加以限制,使得图像序列中相同位置的Tile在时域上不会参考该Tile区域位置以外的图像像素,因此时域上各个Tile可以独立解码。
图像子区域:为方便本专利的描述,以图像子区域来作为Tile或者子图像的统称。可以理解的是,本发明中的子图像也可以包括按照Tile编码方式划分的图像。
Tile-wise编码:视频编码的一种方式,将图像序列划分为一些图像子区域,分别将所有子区域进行独立编码,生成单个或多个码流的过程。在一些实施例中,本文中的Tile-wise编码可以是VDC视频编码方式中的Tile-wise编码。
track:中文翻译“轨迹”,track在标准ISO/IEC 14496-12中的定义为“timedsequence of related samples(q.v.)in an ISO base media file.NOTE:For mediadata,a track corresponds to a sequence of images or sampled audio;for hinttracks,a track corresponds to a streaming channel.”翻译“ISO媒体文件中相关样本的时间属性序列。注:对于媒体数据,一个track就是个图像或者音频样本序列;对于提示轨迹,一个轨迹对应一个流频道”。解释:track是指一系列有时间属性的按照ISOBMFF的封装方式的样本,比如视频track,视频样本是视频编码器编码每一帧后产生的码流,按照ISOBMFF的规范对所有的视频样本进行封装产生样本。
box:中文翻译“盒子”,box在ISO/IEC 14496-12标准中的定义为“object-oriented building block defined by a unique type identifier and length.NOTE:Called‘atom’in some specifications,including the first definition of MP4.”翻译“面向对象的构建块,由唯一的类型标识符和长度定义。注:在某些规范中称为“原子”,包括MP4的第一个定义。”box是构成ISOBMFF文件的基本单元,box可以包含其他的box。
SEI:全称为supplementary enhancement information,是视频编解码标准(h.264,h.265)中定义的一种网络接入单元(Network Abstract Layer Unit,NALU)的类型。
媒体展示描述(Media presentation description,MPD)是标准ISO/IEC 23009-1中规定的一种文档,在该文档中包括了客户端构造HTTP-URL的元数据。在MPD中包括一个或者多个period(周期)元素,每个period元素包括有一个或者多个自适应集(adaptationset),每个adaptationset中包括一个或者多个表示(representation),每个representation中包括一个或者多个分段,客户端根据MPD中的信息,选择表达,并构建分段的http-URL。
如图9所示,本发明一方面的实施例公开了一种媒体信息的处理方法S90,方法S90包括:
S901:得到媒体数据。
所述媒体数据包括指示信息和至少一帧的图像数据,所述指示信息用于指示图像中的像素对应的预测像素是否越过了预设方向的边界;所述预设方向包括下列方向中的至少之一:上方,下方,左方或右方。
S902:根据所述指示信息解码所述至少一帧的图像数据。
如图10所示,本发明一方面的实施例公开了一种媒体信息的处理装置10,装置10包括:
信息获取模块101和处理模块102。信息获取模块101用于得到媒体数据。所述媒体数据包括指示信息和至少一帧的图像数据,所述指示信息用于指示图像中的像素对应的预测像素是否越过了预设方向的边界;所述预设方向包括下列方向中的至少之一:上方,下方,左方或右方;处理模块102用于根据所述指示信息解码所述至少一帧的图像数据。
本发明应用于视频编解码以及传输系统。在一个实施例中,基于子码流的视频编码传输框图如图2所示,在服务器侧,由视频捕获装置得到视频或图像。视频捕获装置可以是摄像头,照相机等视频或图像的采集装置,也可以是接收装置,从其它设备处接收视频或图像的数据。编码前处理器用于对视频或图像进行编码前的一些处理,其中,编码前处理器模块可以包括对视频或图像进行子区域分割(或划分),可以理解的是,编码前处理器也可以是视频编码器的一部分,或者是由视频编码器执行编码前处理器的上述功能。视频编码器用于按照一定的编码规则对视频或图像进行编码,例如可以采用H.264,H.265中规定的编码方式,也可以按照其它私有编码技术对视频或图像进行编码。对于编码后的码流,码流封装装置可以按照一定的封装格式对码流进行码流封装,例如可以是MPEG-2 TS流的封装格式或其它封装方式。然后由发送传输装置将封装后的码流向终端侧发送,可以理解的是,图2中示出的服务器和终端是相对于码流的发送方和接收方的一种表示,在实际的产品实现中,服务器可以是智能手机或平板电脑等设备,终端也可以是智能手机或平板电脑等设备。
可以理解的是,本发明实施例的子码流,是相对于拼接后的码流而言的。得到的子码流可以是单独传输的码流。
在终端侧,接收装置用于从服务器侧接收码流,然后由码流解封装装置对码流进行解封装后,可获得多个子码流,送入视频解码器。由视频解码器对子码流进行解码,生成解码后的视频或图像,最后由显示装置进行显示。
在本发明一种可能的实现方式中,本发明实施例给出一种基于子图像码流拼接处理的方法,以及相对应的编码传输和解码呈现方式。该发明的整个系统处理过程如图3所示,其实施步骤详细介绍如下:
服务器侧:
将输入视频图像进行子图像划分,并将各个子图像进行编码,生成多个子图像码流。例如,可以按照相同的宽高(这里指的是划分后的不同子图像的宽高相同,而不是指同一个子图像的宽和高要相同,同一个子图像的宽和高可以相同也可以不相同)对原图像进行划分,获得多个方形子图像,然后对多个子图像进行编码;编码时,针对子图像可以进行预测运动矢量限制,使得该子图像的预测像素不会超过该子图像四个边界的某个或某些边界。这个限制将决定子图像在哪个方向上是可以进行码流拼接的。将预测像素不超过图像边界的信息写入到码流的SEI消息中,这个消息可以使用如下的语法元素表示:
表1.1 SEI语法
表1.2子码流拼接SEI消息语法
表1.1中,针对SEI类型加入新类型155,用于表示当前码流是否能用于拼接,并加入信息sub_picture_stream_aggregate(payloadSize)。sub_picture_stream_aggregate中包含的语法元素含义如下:
sub_pic_str_aggregate_enable_flag用于表示子图像的预测像素是否会越过某个图像边界进行参考。例如,该值为1表示该子图像的预测像素不会越过某个图像边界进行参考,即该子图像码流可以用于码流拼接。为0表示当前图像的预测像素可能会越过图像所有边界进行参考,即该子码流无法用于码流拼接。
ref_pixel_within_left_boundary_flag用于表示子图像码流中预测像素是否会越过图像左边界进行参考。例如,该值为1表示该子图像码流中预测像素不会越过图像左边界进行参考,即该子图像的左边界可以用于拼接。该值为0表示子图像预测像素会越过左边界进行参考。
ref_pixel_within_right_boundary_flag用于表示子图像码流中预测像素是否会越过图像右边界进行参考。例如,该值为1表示该子图像码流中预测像素不会越过图像右边界进行参考,即该子图像的右边界可以用于拼接。该值为0表示子图像预测像素会越过右边界进行参考。
ref_pixel_within_top_boundary_flag用于表示子图像码流中预测像素是否会越过图像上边界进行参考。例如,该值为1表示该子图像码流中预测像素不会越过图像上边界进行参考,即该子图像的上边界可以用于拼接。该值为0表示子图像预测像素会越过上边界进行参考。
ref_pixel_within_bottom_boundary_flag用于表示子图像码流中预测像素是否会越过图像下边界进行参考。例如,该值为1表示该子图像码流中预测像素不会越过图像下边界进行参考,即该子图像的下边界可以用于拼接。该值为0表示子图像预测像素会越过下边界进行参考。
然后可以将每个子码流进行封装,并存储在服务器上。
终端侧:
根据用户行为,终端向服务器请求需要的码流,并对接收到的码流进行解封装。
解析每个子码流的SEI消息sub_picture_stream_aggregate(payloadSize),根据上述表1.1和表1.2中语法元素的值,从而获得每个子码流中的像素参考的越界情况,进而得知子码流能够拼接的位置,进行码流拼接。拼接后的码流是各个子码流按照一定顺序拼接成的一个长码流。图3中为便于理解和表示拼接后的码流解码后的子图像位置,将拼接后的码流表示为二维拼接,方便表达每个子码流解码后的子图像对应的二维位置。实际上,子码流中包含对应子图像的位置信息,修改子图像在解码图像中的位置可以是通过修改该子码流中的位置信息来实现,实施例中所述子码流的拼接位置实际上指的是对应子图像在解码后图像中的位置,子码流的拼接顺序指的是对应子图像在解码后图像中的顺序和排列。拼接后的码流进行解码的图像中,子图像位置将依据码流拼接的顺序进行重新排列。在一些实施例中,排列后的子码流需满足解码获得的图像为方形图像。
在上述步骤中,码流的拼接方式随着从子码流中获得的像素参考越边界情况信息,以及拼接的子码流个数不同等情况而有所差异。这里列出几种常见情况进行说明,但不限于以下情况。
第一种情况,假设每个子码流在四个边界处的预测像素参考位置均不越界。这种情况下,每个子码流对应的子图像在四个边界都可以与其他码流对应的子图像进行拼接,子码流可以打乱顺序进行拼接。码流的一种示例拼接过程如图4所示:
图4中粗框线表示当前子图像编码时在该边界不会有参考像素越界的情况。将每个子图像的四个边界全部进行了参考像素越界限制,因此对拼接后的码流进行解码的过程中,每个子码流图像进行预测像素参考时,都不会参考到其他子图像的像素,故解码后的重建图像与单独解码该子码流获得的重建图像一致。
第二种情况,子码流编码时存在编码块的某些像素跨越了部分或全部边界进行像素参考,此时将根据像素跨边界参考的情况对码流进行拼接,此时子码流对应拼接顺序是有所受限的。如图5所示。
图5中,位于输入视频图像边界处的子图像,在原图的边界处没有进行参考像素限制,而位于原图像中间部分的子图像的边界进行参考像素限制。此时,那些存在边界不受限的子码流,在拼接后的码流中,需使得该子图像对应的未受限边界不与其他子图像边界相邻,比如对于子图像sub0,它的左边界和上边界未进行参考像素越界限制,因此这个子码流在拼接码流中的位置,需使得在解码完的图像中,它所对应的子图像的左边和上边不应有其他子图像存在。满足这个要求的情况下,子码流排列顺序可以不限,比如sub4和sub8可以互换。本实施例中的位置,并不是指最终显示的图像的位置,而是拼接后的码流进行解码得到的图像中,对应子图像的位置。
第三种情况,当获取后的子码流较多,拼接后其解码图像的宽度超过了解码器的最大限度时,需要将子码流进行位置变换,使其对应的子图像进行换行。如图6中,码流使用(a)方法或(b)方法进行拼接,解码后都能得到所有子图像;但是如果以(b)方法进行码流拼接后的解码图像宽度超出了标准规定解码器的解码能力,则应将子码流位置进行变化,改用(a)方法进行拼接,增加子图像行数,减少子图像列数。
在一个示例中,a方法和b方法进行拼接后,解码出来的图像a是3x2子图像,b是6x1子图像,此时有可能6x1的图像宽度超出解码器的解码能力,从而无法解码。此外,H.265标准中不同Level也约束了垂直和水平方向上Tile的最大个数。本情况想表明的意思是,当码流拼接使得超出了码流解码能力时,需要改为能满足解码能力的拼接方式。
第四种情况,当取的子码流个数不足以使解码后的图像为方形图像时,可将码流进行拼凑,使其拼接后的码流能解码为方形图像。一种可选的方式,可将能满足拼接要求的现有码流进行多次复制拼接,使得其拼接后的码流能解码为方形图像,如图7中,当终端只取5个子码流进行拼接,无法使解码后图像成为方形图像时,注意到子图像sub1可以位于图像右下角,因此可将子码流str1复制一遍拼接在码流最后,使得拼接后的码流可解码为方形图像。
第五种情况,所有码流无法拼接,或部分码流无法拼接的情况。
当所有的子图像在编码时均存在预测参考像素跨越所有边界的情况时,解码器解析得到所有子图像的SEI消息中均为sub_pic_str_aggregate_enable_flag=0,即所有码流在任何位置都无法拼接,此时解码器不做码流拼接处理。
当部分子图像在编码时存在预测参考像素跨越所有边界的情况,或者在获取到的所有码流中仅有一部分码流满足可拼接条件且码流拼接位置能够满足要求,其他码流在拼接位置上无法满足要求时,则可以对所述可拼接码流进行码流拼接,不满足要求的码流不进行拼接处理。
将多个码流进行拼接的一种具体方法如下,但不局限于该方法:
1、拼接装置解析每个子码流的sub_picture_stream_aggregate的SEI消息,获取每个子码流中的参考像素越界受限的情况;
2、根据受限情况将子图像在解码后图像中的摆放位置进行确定,也即确定了子码流在拼接码流中的排列顺序;
3、解析各个子码流的参数集(包括视频参数集VPS,序列参数集SPS,图像参数集PPS),并融合解码后图像的宽高等信息,制作一个新的码流参数集,作为拼接码流的参数集;去掉各个子码流的参数集,并将分片头(Slice header)中的信息根据子图像的摆放位置进行修改,获得待拼接的子码流;
4、将各个待拼接的子码流按照第2步中所述子码流的排列顺序基于逐帧进行拼接,拼接方式为二进制首尾拼接;
5、将拼接码流的参数集以二进制拼接方式拼在第4步中拼接后的码流前,获得最终的拼接码流。
最后可以将拼接后的码流进行解码,并在显示设备上进行渲染呈现。
本发明方案在码流中添加了子图像编码的预测参考像素是否越界的信息,使得对多个子码流进行拼接成为可能。对所需码流进行拼接后解码,仅需要单个解码器就能实现多个子图像序列的解码,避免了现有方案中针对多个码流使用多个解码器解码的资源浪费问题。
在本发明的另一中可能的实现方式中,本实施例给出了当编码器使用MCTS编码器时,针对Tile码流进行拼接处理的方法,以及相对应的编码传输和解码呈现方式。整个系统处理过程如图8所示,其系统实施步骤介绍如下:
服务器侧:
将输入视频进行MCTS编码,并生成MCTS子码流,保存在服务器端。对每个子码流,可以按照上述实施例中的方式,将码流的预测参考像素不超过图像边界的信息写入到码流的SEI消息中。语法元素与上述实施例相同。由于使用MCTS技术编码,其每个子码流在其对应子图像的预测参考像素均不会超过该图像的任何边界,因此对所有子码流均有
sub_pic_str_aggregate_enable_flag=1,
ref_pixel_within_left_boundary_flag=1,
ref_pixel_within_right_boundary_flag=1,
ref_pixel_within_top_boundary_flag=1,
ref_pixel_within_bottom_boundary_flag=1。
将每个子码流进行封装,并存储在服务器上。
终端侧:
根据用户行为,终端向服务器请求需要的码流,并进行解封装。
解析每个子码流的SEI消息sub_picture_stream_aggregate(payloadSize),获得每个子码流中的像素参考的越界情况,进行码流拼接。MCTS技术编码的子码流可以拼接在码流中任何位置,只需满足拼接后码流解码图像为方形图像。
将拼接后的码流进行解码,并在显示设备上进行渲染呈现。
根据本实施例的实现方式,在码流中添加子图像的预测参考像素越界信息,能够在MCTS编码码流封装中不增加tile base track的情况下,也能支持在解码端进行子码流拼接解码,省去了对服务器端tile base track的请求。
在本发明的一种可能的实现方式中,本实施例中给出了OMAF文件格式中用于指示子码流能否拼接的信息的语法元素和语义。具体地,改动的地方包括服务器端对子码流拼接信息的生成和终端对子码流拼接信息的解析。
服务器侧:
将输入视频图像进行子图像划分,并将各个子图像进行编码,生成多个子图像码流。
将每个子码流进行封装,每个子码流可以独立地封装在一个track中,比如sub-picture track。可以在sub-picture track中加入所述的子码流能否拼接的语法描述信息,样例如下:
在spco box中添加如下语法:
部分语法元素的语义如下:
motion_constrained_presence_flag用于指示码流中是否有运动矢量受限的情况。在一个示例中,该值为1表示当前track中的码流,用于预测的运动矢量在子图像边界存在受限的情况,这种情况下码流可以在受限边界进行拼接。为0表示运动矢量没有任何受限。
motion_constrained_left用于指示图像的左边界处用于预测的运动矢量是否受限,在一个示例中,该值为1表示子图像的左边界处用于预测的运动矢量受限,预测像素不会越过子图像左边界进行参考。为0表示该边界不受限。
motion_constrained_right用于指示图像的右边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的右边界处用于预测的运动矢量受限,预测像素不会越过子图像右边界进行参考。为0表示该边界不受限。
motion_constrained_top用于指示图像的上边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的上边界处用于预测的运动矢量受限,预测像素不会越过子图像上边界进行参考。为0表示该边界不受限。
motion_constrained_bottom用于指示图像的下边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的下边界处用于预测的运动矢量受限,预测像素不会越过子图像下边界进行参考。为0表示该边界不受限。
终端侧:
根据用户行为,终端向服务器请求需要的码流,并进行解封装。解封装的过程中,将针对spcobox中的SubPictureCompositionBox进行解析,获得子码流能否拼接的语法信息,从而获得每个子码流中的像素参考的越界情况,进而得知子码流能够拼接的位置。
根据获得的子码流能拼接的位置,进行码流拼接。
将拼接后的码流进行解码,并在显示设备上进行渲染呈现。
在本发明的另一种可能的实现方式中,本实施例是针对上述实施例中关于子码流能否拼接的SEI中的语法进行扩展,针对码流能否拼接的信息作出一些改动。
在码流中使用SEI消息进行表示的一种可选方法如表2所示,相比实施例一中总SEI语法不变,子码流拼接SEI消息语法如下:
表2子图像码流拼接SEI语法元素
语法元素含义如下:
sub_pic_str_aggregate_enable_flag用于表示该子图像码流中预测像素是否会越过图像的边界进行参考。在一个示例中,该值为1表示该子图像的预测像素不会越过任何子图像边界进行参考,即该子图像码流可以进行码流拼接。为0表示当前图像的预测像素可能会越过图像所有边界进行参考,即该子码流无法用于码流拼接。
在本发明的另一种可能的实现方式中,本实施例是针对上述实施例中关于子码流能否拼接的SEI中的语法进行扩展,针对码流能否拼接的信息作出一些改动。
在码流中使用SEI消息进行表示的一种可选方法如表3所示,子码流拼接SEI消息语法如下:
表3子图像码流拼接SEI语法元素
语法元素含义如下:
ref_pixel_within_left_boundary_flag用于表示该子图像码流中预测像素是否会越过图像左边界进行参考。在一个示例中,该值为1表示该子图像码流中预测像素不会越过图像左边界进行参考,即该子图像的左边界可以用于拼接。该值为0表示子图像预测像素会越过左边界进行参考。
ref_pixel_within_right_boundary_flag用于表示该子图像码流中预测像素是否会越过图像右边界进行参考。在一个示例中,该值为1表示该子图像码流中预测像素不会越过图像右边界进行参考,即该子图像的右边界可以用于拼接。该值为0表示子图像预测像素会越过右边界进行参考。
ref_pixel_within_top_boundary_flag用于表示该子图像码流中预测像素是否会越过图像上边界进行参考。在一个示例中,该值为1表示该子图像码流中预测像素不会越过图像上边界进行参考,即该子图像的上边界可以用于拼接。该值为0表示子图像预测像素会越过上边界进行参考。
ref_pixel_within_bottom_boundary_flag用于表示该子图像码流中预测像素是否会越过图像下边界进行参考。在一个示例中,该值为1表示该子图像码流中预测像素不会越过图像下边界进行参考,即该子图像的下边界可以用于拼接。该值为0表示子图像预测像素会越过下边界进行参考。
在本发明的另一种可能的实现方式中,本实施例是针对上述实施例中关于子码流能否拼接的OMAF中的语法进行扩展,针对码流能否拼接的信息作出一些改动。
在OMAF文件格式中的spco box中添加语法进行表示的几种可选方法如下:
可选方法一,仅针对是否所有边界的运动矢量均越界进行指示,即指示当前子码流是可拼接码流或不可拼接码流,在spco box中添加的语法:
语义如下:
motion_constrained_presence_flag用于指示码流的运动矢量是否受限。在一个示例中,该值为1表示当前track中的码流,用于预测的运动矢量在子图像所有边界存在受限的情况,这种情况下码流可以拼接。为0表示运动矢量没有任何受限,这种情况下码流无法拼接。
可选方法二,仅针对各个边界的运动矢量是否越界进行指示,在spco box中添加的语法:
语义如下:
motion_constrained_left用于表示子图像的左边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的左边界处用于预测的运动矢量受限,预测像素不会越过子图像左边界进行参考。为0表示该边界不受限。
motion_constrained_right用于表示子图像的右边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的右边界处用于预测的运动矢量受限,预测像素不会越过子图像右边界进行参考。为0表示该边界不受限。
motion_constrained_top用于表示子图像的上边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的上边界处用于预测的运动矢量受限,预测像素不会越过子图像上边界进行参考。为0表示该边界不受限。
motion_constrained_bottom用于表示子图像的下边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的下边界处用于预测的运动矢量受限,预测像素不会越过子图像下边界进行参考。为0表示该边界不受限。
可选方法三,在spco box中更改version字段,使其表示子图像码流运动矢量受限使得预测参考像素不会越过图像边界。version是位于box属性中的一个字段。如下所示:
上述语法表述中,使用version=1来表示当前track中子图像码流中运动矢量在所有边界受限。
可选方法四,在spco box中更改flags字段,使其表示子图像码流中运动矢量受限使得预测参考像素不会越过图像边界。flags是位于box属性中的一个字段。如下所示:
上述语法表述中,使用flags=1来表示当前track中子图像码流中运动矢量在所有边界受限。
可选方法五,使用spco box中同时更改version和flags字段,使其表示子图像码流中运动矢量受限使得预测参考像素不会越过图像边界。使用version字段表示存在运动矢量受限的子图像边界,flags使用4个位指示对于子图像的哪个边界是运动矢量受限的。如下所示:
上述语法表述中,version和flags语义如下:
version为整数,表示当前box的版本(该值为1,表示当前track中子图像码流中运动矢量在边界受限)。
flags为24-bit整数用于保存指示符,定义如下的值:
motion_constrained_left表示子图像的左边界处用于预测的运动矢量受限,预测像素不会越过子图像左边界进行参考。指示符值为0x000001。
motion_constrained_right表示子图像的右边界处用于预测的运动矢量受限,预测像素不会越过子图像右边界进行参考。指示符值为0x000002。
motion_constrained_top表示子图像的上边界处用于预测的运动矢量受限,预测像素不会越过子图像上边界进行参考。指示符值为0x000004。
motion_constrained_bottom表示子图像的下边界处用于预测的运动矢量受限,预测像素不会越过子图像下边界进行参考。指示符值为0x000008。
另一种可选的方式,在OMAF文件格式中的TrackGroupTypeBox中,定义新的track_group_type,’mctd’,表示当前track属于运动矢量受限的一组tracks,这组track中的码流可以进行拼接,从而获得新的码流,使得该码流解码后获得的子图像其位置相对于原始图像中的位置可以不同。
‘mctd’定义如下:
语义如下:
motion_constrained_left用于表示子图像的左边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的左边界处用于预测的运动矢量受限,预测像素不会越过子图像左边界进行参考。为0表示该边界不受限。
motion_constrained_right用于表示子图像的右边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的右边界处用于预测的运动矢量受限,预测像素不会越过子图像右边界进行参考。为0表示该边界不受限。
motion_constrained_top用于表示子图像的上边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的上边界处用于预测的运动矢量受限,预测像素不会越过子图像上边界进行参考。为0表示该边界不受限。
motion_constrained_bottom用于表示子图像的下边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的下边界处用于预测的运动矢量受限,预测像素不会越过子图像下边界进行参考。为0表示该边界不受限。
可选的,‘mctd’也可定义如下:
即仅在TrackGroupTypeBox中加入新的track_group_type,’mctd’,这个box即表示该track中子图像码流中运动矢量受限使得预测参考像素不会越过图像边界。
可选的,’mctd’也可定义如下:
定义新的track_group_type,’mctd’,表示当前track中子图像码流中运动矢量在边界受限。flags为24-bit整数用于保存指示符,定义如下的值:
motion_constrained_left表示子图像的左边界处用于预测的运动矢量受限,预测像素不会越过子图像左边界进行参考。指示符值可以为0x000001。
motion_constrained_right表示子图像的右边界处用于预测的运动矢量受限,预测像素不会越过子图像右边界进行参考。指示符值可以为0x000002。
motion_constrained_top表示子图像的上边界处用于预测的运动矢量受限,预测像素不会越过子图像上边界进行参考。指示符值可以为0x000004。
motion_constrained_bottom表示子图像的下边界处用于预测的运动矢量受限,预测像素不会越过子图像下边界进行参考。指示符值可以为0x000008。
在本发明实施例的另一种可能的方式中,在OMAF文件格式中的SubPictureCompositionBox中新增加一个MotionConstraintInfoBox。
MotionConstraintInfoBox的示例如下:
语义如下:
Motion_constrained_left equal to 1 indicates that the left side ofsub-picture is motion constrained,0indicates that the left side of sub-picture is not motion constrained.
Motion_constrained_right equal to 1 indicates that the right side ofsub-picture is motion constrained,0indicates that the right side of sub-picture is not motion constrained.
Motion_constrained_top equal to 1 indicates that the top side of sub-picture is motion constrained,0indicates that the top side of sub-picture isnot motion constrained.
Motion_constrained_bottom equal to 1 indicates that the bottom sideof sub-picture is motion constrained,0 indicates that the bottom side of sub-picture is not motion constrained.
motion_constrained_left用于表示子图像的左边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的左边界处用于预测的运动矢量受限,预测像素不会越过子图像左边界进行参考。为0表示该边界不受限。
motion_constrained_right用于表示子图像的右边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的右边界处用于预测的运动矢量受限,预测像素不会越过子图像右边界进行参考。为0表示该边界不受限。
motion_constrained_top用于表示子图像的上边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的上边界处用于预测的运动矢量受限,预测像素不会越过子图像上边界进行参考。为0表示该边界不受限。
motion_constrained_bottom用于表示子图像的下边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的下边界处用于预测的运动矢量受限,预测像素不会越过子图像下边界进行参考。为0表示该边界不受限。
可以理解的是,在一些可能的实现方式中,MotionConstraintInfoBox也可以在OMAF文件格式中的其它位置。MotionConstraintInfoBox中的语法元素也可以参考上述实施例中的示例,例如上述在spco box中的示例,或者例如上述mctd中的语法元素的示例。
另一种可选的方式,在OMAF文件格式中的Scheme Information Box(‘schi’)中,定义新的box,’mctd’,表示当前track属于运动矢量受限的一组tracks,这组track中的码流可以进行拼接,从而获得新的码流,使得该码流解码后获得的子图像其位置相对于原始图像中的位置可以不同。
‘mctd’定义如下:
语义如下:
motion_constrained_left用于表示子图像的左边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的左边界处用于预测的运动矢量受限,预测像素不会越过子图像左边界进行参考。为0表示该边界不受限。
motion_constrained_right用于表示子图像的右边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的右边界处用于预测的运动矢量受限,预测像素不会越过子图像右边界进行参考。为0表示该边界不受限。
motion_constrained_top用于表示子图像的上边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的上边界处用于预测的运动矢量受限,预测像素不会越过子图像上边界进行参考。为0表示该边界不受限。
motion_constrained_bottom用于表示子图像的下边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的下边界处用于预测的运动矢量受限,预测像素不会越过子图像下边界进行参考。为0表示该边界不受限。
在本发明实施例的一种可选的方式中,本实施例添加了在ISOBMFF规定的文件格式中描述子图像码流预测运动矢量受限的方式。在文件格式中,针对子图像码流运动矢量受限编码方式,在子图像track中添加Sample Entry Type:‘mcsp’。当sample entry name为‘mcsp’时,表示当前子图像track中的码流是运动矢量受限的,运动矢量不会越过图像的任意边界进行预测像素参考。
在本发明实施例的一种可选的方式中,本实施例给出了在MPD中描述子图像码流预测运动矢量受限的方式。
在编码端,在MPD文件中进行子图像运动矢量描述示例如下:
本例中指定新的EssentialProperty属性Mcsp@value,针对图像码流中运动矢量是否越界进行信息表述。Tile@value属性描述如表4。当客户端进行视频内容请求时,通过解析该元素获得该子图像码流中运动矢量越界的信息。
表4在"urn:mpeg:dash:mcsp:2014"中Mcsp@value属性描述
语法元素语义如下:
motion_constrained_left用于表示子图像的左边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的左边界处用于预测的运动矢量受限,预测像素不会越过子图像左边界进行参考。为0表示该边界不受限。
motion_constrained_right用于表示子图像的右边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的右边界处用于预测的运动矢量受限,预测像素不会越过子图像右边界进行参考。为0表示该边界不受限。
motion_constrained_top用于表示子图像的上边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的上边界处用于预测的运动矢量受限,预测像素不会越过子图像上边界进行参考。为0表示该边界不受限。
motion_constrained_bottom用于表示子图像的下边界处用于预测的运动矢量是否受限。在一个示例中,该值为1表示子图像的下边界处用于预测的运动矢量受限,预测像素不会越过子图像下边界进行参考。为0表示该边界不受限。
此外,在MPD文件的representation字段中,也可添加针对子图像码流预测运动矢量受限的信息。本例中,添加codecs字段值为”mcc”,当解码端获取到这个信息后,表示当前子图像码流的预测运动矢量是受限的,预测像素不会越过子图像的某个或某些边界进行参考。
在本发明实施例的另一种可能的实现方式中,本实施例公开了一种服务器装置,这种服务器是生成本文中所述的指示子码流中预测运动矢量是否越界信息的服务器,将信息写入码流的SEI,或者将信息以文中所述的方式写入文件等。该服务器可以不负责原始码流编码,比如可以是转码服务器,或只是生成这些信息的服务器等,用于保存带有本文所述信息的码流或文件。
本发明实施例的方案通过在码流的SEI消息或者OMAF文件格式中加入关于码流是否能拼接的信息,使得对于一组子码流其进行码流拼接并解码成为可能。码流拼接处理,使得多个子码流在拼接后能够使用单个解码器在一次解码操作中将所有子码流进行解码,节省了解码器资源。此外,允许预测运动矢量越图像边界进行像素参考也提高了一些编码性能。
图11是本发明实施例提供的计算机设备110的硬件结构示意图。如图11所示,计算机设备110可以作为流媒体的信息的处理装置的一种实现方式,也可以作为流媒体的信息的处理方法的一种实现方式,计算机设备110包括处理器111、存储器112、输入/输出接口113和总线115,还可以包括通信接口114。其中,处理器111、存储器112、输入/输出接口113和通信接口114通过总线115实现彼此之间的通信连接。
处理器111可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的流媒体的信息的处理装置中的模块所需执行的功能,或者执行本发明方法实施例对应的流媒体的信息的处理方法。处理器111可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器111中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器111可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器112,处理器111读取存储器112中的信息,结合其硬件完成本发明实施例所提供的流媒体的信息的处理装置中包括的模块所需执行的功能,或者执行本发明方法实施例提供的流媒体的信息的处理方法。
存储器112可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器112可以存储操作系统以及其他应用程序。在通过软件或者固件来实现本发明实施例提供的流媒体的信息的处理装置中包括的模块所需执行的功能,或者执行本发明方法实施例提供的流媒体的信息的处理方法时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器112中,并由处理器111来执行流媒体的信息的处理装置中包括的模块所需执行的操作,或者执行本发明方法实施例提供的媒体数据的处理方法。
输入/输出接口113用于接收输入的数据和信息,输出操作结果等数据。
通信接口114使用例如但不限于收发器一类的收发装置,来实现计算机设备110与其他设备或通信网络之间的通信。可以作为处理装置中的获取模块或者发送模块。
总线115可包括在计算机设备110各个部件(例如处理器111、存储器112、输入/输出接口113和通信接口114)之间传送信息的通路。
应注意,尽管图11所示的计算机设备110仅仅示出了处理器111、存储器112、输入/输出接口113、通信接口114以及总线115,但是在具体实现过程中,本领域的技术人员应当明白,计算机设备110还包括实现正常运行所必须的其他器件,例如还可以包括显示器,用于显示要播放的视频数据。同时,根据具体需要,本领域的技术人员应当明白,计算机设备110还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,计算机设备110也可仅仅包括实现本发明实施例所必须的器件,而不必包括图11中所示的全部器件。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一种计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:RandomAccess Memory)等。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要保护的本发明的过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其它组成部分或步骤,“一”或“一个”不排除多个的可能性。单个处理器或其它单元可以实现权利要求中列举的若干项功能。互相不同的从属权利要求中记载了某些措施,但这并不代表这些措施不能组合起来产生良好的效果。计算机程序可以存储/分布在合适的介质中,例如:光存储介质或固态介质,与其它硬件一起提供或作为硬件的一部分,也可以采用其它分布形式,如通过Internet或其它有线或无线电信系统。

Claims (12)

1.一种媒体信息的处理方法,其特征在于,所述方法包括:
得到媒体数据,所述媒体数据包括指示信息和至少一帧的图像数据,所述指示信息用于指示图像中的像素对应的预测像素是否越过了预设方向的边界;
所述预设方向包括下列方向中的至少之一:
上方,下方,左方或右方;
根据所述指示信息解码所述至少一帧的图像数据。
2.根据权利要求1所述的媒体信息的处理方法,其特征在于,所述指示信息包括至少一个的标识,所述标识和所述预设方向一一对应。
3.根据权利要求1或2所述的媒体信息的处理方法,其特征在于,所述图像数据是采用ITU H.264对图像进行编码后得到的图像数据,所述媒体数据的补充增强信息(supplementary enhancement information,SEI)中包括了所述指示信息。
4.根据权利要求1或2所述的媒体信息的处理方法,其特征在于,所述图像数据是采用ITU H.265对图像进行编码后得到的图像数据,所述媒体数据的补充增强信息(supplementary enhancement information,SEI)中包括了所述指示信息。
5.根据权利要求1或2所述的媒体信息的处理方法,其特征在于,所述图像数据被封装在轨道(track)中,所述轨道的一个盒(box)中包括了所述指示信息。
6.根据权利要求1-4任意之一所述的媒体信息的处理方法,其特征在于,所述媒体数据包括媒体展示描述(Media presentation description,MPD)文件,所述媒体展示描述文件中包括了所述指示信息。
7.一种媒体信息的处理装置,其特征在于,所述装置包括:
接收模块,用于得到媒体数据,所述媒体数据包括指示信息和至少一帧的图像数据,
所述指示信息用于指示图像中的像素对应的预测像素是否越过了预设方向的边界;
所述预设方向包括下列方向中的至少之一:
上方,下方,左方或右方;
处理模块,用于根据所述指示信息解码所述至少一帧的图像数据。
8.根据权利要求6所述的媒体信息的处理装置,其特征在于,所述指示信息包括至少一个的标识,所述标识和所述预设方向一一对应。
9.根据权利要求6或7所述的媒体信息的处理装置,其特征在于,所述图像数据是采用ITU H.264对图像进行编码后得到的图像数据,所述媒体数据的补充增强信息(supplementary enhancement information,SEI)中包括了所述指示信息。
10.根据权利要求6或7所述的媒体信息的处理装置,其特征在于,所述图像数据是采用ITU H.265对图像进行编码后得到的图像数据,所述媒体数据的补充增强信息(supplementary enhancement information,SEI)中包括了所述指示信息。
11.根据权利要求6或7所述的媒体信息的处理装置,其特征在于,所述图像数据被封装在轨道(track)中,所述轨道的一个盒(box)中包括了所述指示信息。
12.根据权利要求7-11任意之一所述的媒体信息的处理装置,其特征在于,所述媒体数据包括媒体展示描述(Media presentation description,MPD)文件,所述媒体展示描述文件中包括了所述指示信息。
CN201710903553.1A 2017-09-29 2017-09-29 一种媒体信息的处理方法及装置 Active CN109587478B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710903553.1A CN109587478B (zh) 2017-09-29 2017-09-29 一种媒体信息的处理方法及装置
EP18861699.9A EP3678371A4 (en) 2017-09-29 2018-09-19 MULTIMEDIA INFORMATION PROCESSING METHOD AND APPARATUS
PCT/CN2018/106430 WO2019062613A1 (zh) 2017-09-29 2018-09-19 一种媒体信息的处理方法及装置
US16/831,212 US20200228837A1 (en) 2017-09-29 2020-03-26 Media information processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710903553.1A CN109587478B (zh) 2017-09-29 2017-09-29 一种媒体信息的处理方法及装置

Publications (2)

Publication Number Publication Date
CN109587478A true CN109587478A (zh) 2019-04-05
CN109587478B CN109587478B (zh) 2023-03-31

Family

ID=65903815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710903553.1A Active CN109587478B (zh) 2017-09-29 2017-09-29 一种媒体信息的处理方法及装置

Country Status (4)

Country Link
US (1) US20200228837A1 (zh)
EP (1) EP3678371A4 (zh)
CN (1) CN109587478B (zh)
WO (1) WO2019062613A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021047590A1 (en) * 2019-09-10 2021-03-18 Mediatek Inc. Signaling of subpicture structures
CN113660529A (zh) * 2021-07-19 2021-11-16 镕铭微电子(济南)有限公司 基于Tile编码的视频拼接、编码、解码方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230027058A1 (en) * 2019-12-31 2023-01-26 Nokia Technologies Oy A Method, An Apparatus and A Computer Program Product for Video Encoding and Video Decoding
US20230362456A1 (en) * 2020-09-24 2023-11-09 Lg Electronics Inc. Media file processing method and device
US20230328261A1 (en) * 2020-09-24 2023-10-12 Lg Electronics Inc. Media file processing method and device therefor

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130107973A1 (en) * 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
CN103959796A (zh) * 2012-09-29 2014-07-30 华为技术有限公司 数字视频码流的解码方法拼接方法和装置
CN104025602A (zh) * 2012-01-05 2014-09-03 高通股份有限公司 三维视频译码中用信号通知视图合成预测支持
US20150172693A1 (en) * 2012-09-29 2015-06-18 Huawei Technologies Co.,Ltd. Video encoding and decoding method, apparatus and system
CN105072393A (zh) * 2015-07-31 2015-11-18 深圳英飞拓科技股份有限公司 一种多镜头全景网络摄像机及拼接方法
WO2017029402A1 (en) * 2015-08-20 2017-02-23 Koninklijke Kpn N.V. Forming a tiled video on the basis of media streams
WO2017140945A1 (en) * 2016-02-17 2017-08-24 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012169762A (ja) * 2011-02-10 2012-09-06 Sony Corp 画像符号化装置と画像復号化装置およびその方法とプログラム
WO2012163199A1 (en) * 2011-05-27 2012-12-06 Mediatek Inc. Method and apparatus for line buffer reduction for video processing
EP3416385B1 (en) * 2011-12-13 2020-09-23 JVC KENWOOD Corporation Video coding device, video coding method, video coding program, video decoding device, video decoding method, and video decoding program
CN104620584B (zh) * 2012-04-13 2019-10-18 Ge视频压缩有限责任公司 可缩放数据流及网络实体

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130107973A1 (en) * 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
CN104025602A (zh) * 2012-01-05 2014-09-03 高通股份有限公司 三维视频译码中用信号通知视图合成预测支持
CN103959796A (zh) * 2012-09-29 2014-07-30 华为技术有限公司 数字视频码流的解码方法拼接方法和装置
US20150172693A1 (en) * 2012-09-29 2015-06-18 Huawei Technologies Co.,Ltd. Video encoding and decoding method, apparatus and system
CN105072393A (zh) * 2015-07-31 2015-11-18 深圳英飞拓科技股份有限公司 一种多镜头全景网络摄像机及拼接方法
WO2017029402A1 (en) * 2015-08-20 2017-02-23 Koninklijke Kpn N.V. Forming a tiled video on the basis of media streams
WO2017140945A1 (en) * 2016-02-17 2017-08-24 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021047590A1 (en) * 2019-09-10 2021-03-18 Mediatek Inc. Signaling of subpicture structures
CN113660529A (zh) * 2021-07-19 2021-11-16 镕铭微电子(济南)有限公司 基于Tile编码的视频拼接、编码、解码方法及装置

Also Published As

Publication number Publication date
US20200228837A1 (en) 2020-07-16
CN109587478B (zh) 2023-03-31
EP3678371A1 (en) 2020-07-08
WO2019062613A1 (zh) 2019-04-04
EP3678371A4 (en) 2020-07-08

Similar Documents

Publication Publication Date Title
US10897646B2 (en) Video stream transmission method and related device and system
KR102320455B1 (ko) 미디어 콘텐트를 전송하는 방법, 디바이스, 및 컴퓨터 프로그램
CN109587478A (zh) 一种媒体信息的处理方法及装置
JP7058273B2 (ja) 情報処理方法および装置
BR112019019836A2 (pt) sinalização de informações importantes de vídeo em streaming de vídeo em rede usando parâmetros tipo mime
US11172239B2 (en) Media information processing method and apparatus
BR112019019339A2 (pt) sinalização de conteúdo de vídeo incluindo fluxos de bits de subimagem para codificação de vídeo
US20200145736A1 (en) Media data processing method and apparatus
US20200092600A1 (en) Method and apparatus for presenting video information
JP2020529149A (ja) イメージ処理方法、端末およびサーバ
US10757463B2 (en) Information processing apparatus and information processing method
EP3741130B1 (en) Efficient association between dash objects
CN112219403B (zh) 沉浸式媒体的渲染视角度量
US20200145716A1 (en) Media information processing method and apparatus
US11653054B2 (en) Method and apparatus for late binding in media content
CN111263191A (zh) 视频数据的处理方法、装置、相关设备及存储介质
US11902634B2 (en) Associating file format objects and dynamic adaptive streaming over hypertext transfer protocol (DASH) objects
WO2023169003A1 (zh) 点云媒体的解码方法、点云媒体的编码方法及装置

Legal Events

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