CN105791882B - 视频编码方法及装置 - Google Patents

视频编码方法及装置 Download PDF

Info

Publication number
CN105791882B
CN105791882B CN201610163645.6A CN201610163645A CN105791882B CN 105791882 B CN105791882 B CN 105791882B CN 201610163645 A CN201610163645 A CN 201610163645A CN 105791882 B CN105791882 B CN 105791882B
Authority
CN
China
Prior art keywords
video sequence
angle
view
view video
coded data
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
CN201610163645.6A
Other languages
English (en)
Other versions
CN105791882A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610163645.6A priority Critical patent/CN105791882B/zh
Publication of CN105791882A publication Critical patent/CN105791882A/zh
Priority to EP16895252.1A priority patent/EP3435677A4/en
Priority to JP2018549490A priority patent/JP6718976B2/ja
Priority to PCT/CN2016/107002 priority patent/WO2017161907A1/zh
Priority to KR1020187016288A priority patent/KR102109510B1/ko
Priority to US15/775,069 priority patent/US10951818B2/en
Application granted granted Critical
Publication of CN105791882B publication Critical patent/CN105791882B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • 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/46Embedding additional information in the video signal during the compression process
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440236Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种视频编码方法及装置,属于编码技术领域。所述方法包括:获取全景视频,全景视频由全景图像帧组成;将全景视频划分成N个视角视频序列,每个视角视频序列由全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且N个视角视频序列的水平视角的总和为全景图像帧的总水平视角,N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;对N个视角视频序列分别进行编码,得到N组编码数据;确定用户的观看视角;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户。本发明解决了接收并解码全景视频中所有的全景图像帧的编码数据,导致资源浪费的问题,达到了节省资源的效果。

Description

视频编码方法及装置
技术领域
本发明涉及编码技术领域,特别涉及一种视频编码方法及装置。
背景技术
全景视频是由一系列全景图像帧组成的视频,全景图像帧是记录预定视角的景物所形成的图像帧,例如,预定视角为水平360°、垂直180°,或,预定视角为水平360°、垂直270°等等。编码器在通过全景相机得到全景视频后,需要对全景视频进行编码,并将编码后的全景视频发送给解码器进行解码,以便用户观看解码后得到的全景视频。
相关技术提供的一种视频编码方法包括:编码器获取全景视频中的所有全景图像帧;对于每个全景图像帧,将该全景图像帧按照H.264/AVC(Advanced Video Coding,高级视频编码)中定义的语法结构进行编码,得到下标连续的宏块集合,即得到该全景图像帧的编码数据;或者,将每个全景图像帧按照H.265/HEVC(High Efficiency Video Coding,高效视频编码)中定义的语法结构进行编码,得到以块为单元的矩形区域集合,即得到该全景图像帧的编码数据;将每个全景图像帧对应的编码数据发送给解码器。
用户的视角通常在150°左右,所以,全景图像帧中只有150°左右的视角的编码数据是有效的,其余的编码数据都是无效的,接收和解码这些无效的编码数据会造成资源浪费。
发明内容
为了解决接收并解码全景视频中所有的全景图像帧的编码数据,导致资源浪费的问题,本发明实施例提供了一种视频编码方法及装置。所述技术方案如下:
第一方面,提供了一种视频编码方法,所述方法包括:
获取全景视频所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;
将所述全景视频划分成N个视角视频序列,每个视角视频序列由所述全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且所述N个视角视频序列的水平视角的总和为所述全景图像帧的总水平视角,所述N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;
对所述N个视角视频序列分别进行编码,得到N组编码数据
确定用户的观看视角;
选择水平视角包括所述观看视角的视角视频序列,将所述视角视频序列的编码数据提供给所述用户。
第二方面,提供了一种视频编码方法,所述方法包括:
向编码器提供用户的观看视角,所述编码器用于获取全景视频,所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;将所述全景视频划分成N个视角视频序列;对所述N个视角视频序列分别进行编码,得到N组编码数据;选择水平视角包括所述观看视角的视角视频序列,将所述视角视频序列的编码数据提供给所述用户;每个视角视频序列由所述全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且所述N个视角视频序列的水平视角的总和为所述全景图像帧的总水平视角,所述N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠,;
接收所述编码器发送的所述编码数据;
对所述编码数据进行解码。
第三方面,提供了一种视频编码装置,所述装置包括:
视频获取模块,用于获取全景视频,所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;
视频划分模块,用于将所述视频获取模块获取的所述全景视频划分成N个视角视频序列,每个视角视频序列由所述全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且所述N个视角视频序列的水平视角的总和为所述全景图像帧的总水平视角,所述N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;
视频编码模块,用于对所述视频划分模块得到的所述N个视角视频序列分别进行编码,得到N组编码数据;
视角确定模块,用于确定用户的观看视角;
第一提供模块,用于选择水平视角包括所述视角确定模块确定的所述观看视角的视角视频序列,将所述视角视频序列的编码数据提供给所述用户。
第四方面,提供了一种视频编码装置,所述装置包括:
视角提供模块,用于向编码器提供用户的观看视角,所述编码器用于获取全景视频,所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;将所述全景视频划分成N个视角视频序列;对所述N个视角视频序列分别进行编码,得到N组编码数据;选择水平视角包括所述观看视角的视角视频序列,将所述视角视频序列的编码数据提供给所述用户;每个视角视频序列由所述全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且所述N个视角视频序列的水平视角的总和为所述全景图像帧的总水平视角,所述N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠,;
第一接收模块,用于接收所述编码器发送的所述编码数据;
数据解码模块,用于对所述第一接收模块接收的所述编码数据进行解码。
本发明实施例提供的技术方案的有益效果是:
通过将全景视频划分成N个视角视频序列,对该N个视角视频序列分别进行编码,得到N组编码数据;确定用户的观看视角;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户,可以只将与用户的观看视角内的视角视频序列的编码数据提供给用户,避免了传输和解码观看视角外的视角视频序列的编码数据,解决了接收并解码全景视频中所有的全景图像帧的编码数据,导致资源浪费的问题,达到了节省资源的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明各个实施例涉及的视频编码方法的实施环境图;
图2是本发明一个实施例提供的视频编码方法的方法流程图;
图3A是本发明另一实施例提供的视频编码方法的方法流程图;
图3B是本发明另一实施例提供的区域的划分示意图;
图3C是本发明另一实施例提供的视角视频序列的示意图;
图3D是本发明另一实施例提供的传输的视角视频序列中各个区域的示意图;
图3E是本发明另一实施例提供的视频编码方法的示意图;
图4是本发明一个实施例提供的视频编码装置的结构框图;
图5是本发明再一实施例提供的视频编码装置的结构框图;
图6是本发明一个实施例提供的视频编码装置的结构框图;
图7是本发明再一实施例提供的视频编码装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明各个实施例涉及的视频编码方法的实施环境图,图1的上图中包括全景相机101和用户设备102,此时,编码器位于全景相机101中,解码器位于用户设备102中。其中,用户设备102可以是虚拟现实头盔、电视、计算机、手机等等,本实施例不作限定。
全景相机101在拍摄得到全景视频后,通过编码器将全景视频划分成N个视角视频序列,对每个视角视频序列进行编码,得到N组编码数据;根据用户的观看视角将对应的编码数据发送给用户设备102,用户设备102通过解码器对该编码数据进行解码,对解码得到的视角视频序列进行播放。
图1的下图中包括全景相机101、服务器102和用户设备103,此时,编码器位于服务器102中,解码器位于用户设备103中。
全景相机101在拍摄得到全景视频后,将全景视频发送给服务器102,服务器102通过编码器将全景视频划分成N个视角视频序列,对每个视角视频序列进行编码,得到N组编码数据;根据用户的观看视角将对应的编码数据发送给用户设备103,用户设备103通过解码器对该编码数据进行解码,对解码得到的视角视频序列进行播放。或者,
图1的下图中包括全景相机101、服务器102和用户设备103,此时,编码器位于全景相机101中,解码器位于用户设备103中。
全景相机101在拍摄得到全景视频后,通过编码器将全景视频划分成N个视角视频序列,对每个视角视频序列进行编码,得到N组编码数据;将N组编码数据发送给服务器102;服务器102根据用户的观看视角将对应的编码数据发送给用户设备103,用户设备103通过解码器对该编码数据进行解码,对解码得到的视角视频序列进行播放。
请参考图2,其示出了本发明一个实施例提供的视频编码方法的方法流程图,该视频编码方法可以应用于图1所示的实施环境中。该视频编码方法,包括:
步骤201,编码器获取全景视频,该全景视频由全景图像帧组成,该全景图像帧是记录预定视角的景物所形成的图像帧。
步骤202,编码器将全景视频划分成N个视角视频序列,每个视角视频序列由全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且N个视角视频序列的水平视角的总和为全景图像帧的总水平视角,N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠。
步骤203,编码器对N个视角视频序列分别进行编码,得到N组编码数据。
步骤204,解码器向编码器提供用户的观看视角。
步骤205,编码器确定用户的观看视角。
步骤206,编码器选择水平视角包括观看视角的视角视频序列,将该视角视频序列的编码数据提供给用户。
步骤207,解码器接收编码器发送的编码数据。
步骤208,解码器对编码数据进行解码。
其中,步骤201、202、203、205和206可以单独实现成为编码器侧的实施例,步骤204、207和208可以单独实现成为解码器侧的实施例。
综上所述,本发明实施例提供的视频编码方法,通过将全景视频划分成N个视角视频序列,对该N个视角视频序列分别进行编码,得到N组编码数据;确定用户的观看视角;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户,可以只将与用户的观看视角内的视角视频序列的编码数据提供给用户,避免了传输和解码观看视角外的视角视频序列的编码数据,解决了接收并解码全景视频中所有的全景图像帧的编码数据,导致资源浪费的问题,达到了节省资源的效果。
请参考图3A,其示出了本发明另一实施例提供的视频编码方法的方法流程图,该视频编码方法可以应用于图1所示的实施环境中。该视频编码方法,包括:
步骤301,编码器获取全景视频,该全景视频由全景图像帧组成,该全景图像帧是记录预定视角的景物所形成的图像帧。
当编码器位于全景相机中时,全景相机先通过不同方位的摄像头拍摄视频,再将所有摄像头在同一时刻拍摄得到的各个图像帧进行拼接,得到各个全景图像帧,再将各个全景图像帧组成全景视频,将该全景视频提供给编码器。当编码器位于服务器中时,全景相机通过上述流程得到全景视频后,将该全景视频发送给服务器,服务器将该全景视频提供给编码器。其中,全景图像帧是记录预定视角的景物所形成的图像帧,例如,预定视角为水平360°、垂直180°,或,预定视角为水平360°、垂直270°等等。
步骤302,根据预设的视角划分规则,编码器将全景视频中的每个全景图像帧按照水平视角划分成N个区域,N为正整数。
视角划分规则用于指示编码器按照水平视角对全景图像帧进行区域划分,一个全景视频中的所有全景图像帧的视角划分规则相同。其中,N个视角视频序列的水平视角的总和为全景图像帧的总水平视角,且一个全景图像帧中的各个区域之间互不重叠。例如,当全景图像帧的总水平视角为360°时,N个视角视频序列的水平视角的总和为360°。
本实施例中,一个全景图像帧中的各个区域的水平视角的区间范围可以相同,也可以不同,本实施例不作限定。例如,视角划分规则是平均划分成4个水平视角,此时,每个水平视角的区间范围是90°,即,将0°-90°作为一个水平视角,将90°-180°作为一个水平视角,将180°-270°作为一个水平视角,将270°-360°作为一个水平视角。或者,在实现时,可以根据用户常用的观看视角来确定视角划分规则,以提高区域划分的准确性。例如,用户常用的观看视角是15°-165°,则视角划分规则是将0°-15°作为一个水平视角,将15°-165°作为一个水平视角,将165°-360°作为一个水平视角。
在根据视角划分规则来划分区域时,假设视角划分规则为平均划分成3个水平视角,则对于全景图像帧0,将水平视角0°-120°的区域作为view0,将120°-240°的区域作为view1,将240°-360°的区域作为view2;对于全景图像帧1,将水平视角0°-120°的区域作为view0,将120°-240°的区域作为view1,将240°-360°的区域作为view2,依次类推,对于全景图像帧M,将水平视角0°-120°的区域作为view0,将120°-240°的区域作为view1,将240°-360°的区域作为view2,请参考图3B所示的区域的划分示意图。
需要说明的是,区域由宏块组成。宏块是视频编码算法中的单位,一个宏块由一个亮度像素块和附加的两个色度像素块组成。一般来说,亮度像素块为16×16大小的像素块,两个色度图像像素块的大小依据其图像的采样格式而定。
当一个区域包括至少两个宏块时,每个区域内的宏块在空域内相互依赖。即,每个区域内,一个宏块的编码数据是依据与其在空域内相邻的宏块的编码数据生成的。
例如,编码器定义F0V1中的宏块1与宏块2相互依赖,此时,宏块1和宏块2在空域上相邻,且宏块1的编码数据是依据宏块2的编码数据生成的。
编码器定义不同区域间的宏块在空域内相互独立。即,不同区域间,在空域内相邻的两个宏块的编码数据无关。
例如,编码器定义F0V1中的宏块1和F0V2中的宏块2不相互依赖,此时,宏块1和宏块2在空域上相邻,且宏块1的编码数据的生成不需要依据宏块2的编码数据。
步骤303,编码器将所有的全景图像帧中具有相同的水平视角的区域组成一个视角视频序列,得到N个视角视频序列。
仍然以上述实例进行说明,请参考图3C所示的视角视频序列的示意图,图3C中将全景图像帧简称为F,将区域简称为V,此时,可以将M个全景图像帧中水平视角为0°-120°的区域进行组合,得到视角视频序列F0V0、F1V0…FMV0;将M个全景图像帧中水平视角为120°-240°的区域进行组合,得到视角视频序列F0V1、F1V1…FMV1;将M个全景图像帧中水平视角为240°-360°的区域进行组合,得到视角视频序列F0V2、F1V2…FMV2。
其中,每个视角视频序列内的各个区域在时域上相互依赖。即,每个视角视频序列内,第j个区域的编码数据是依据第j-1个区域的编码数据生成的;或者,第j个区域的编码数据是依据第j-1个区域的编码数据和第l个区域的编码数据生成的,j和l均为正整数,且l>j≥2。
例如,编码器定义F0V1与F1V1相互依赖,此时,F1V1的编码数据是依据F0V1的编码数据生成的。
其中,不同视角视频序列间的各个区域在时域上相互独立。即,不同视角视频序列间,任意两个区域的编码数据在时域上无关。
例如,编码器定义F0V1与F1V2不相互依赖,此时,F1V2的编码数据的生成不需要依据F0V1的编码数据。
步骤304,编码器对N个视角视频序列分别进行编码,得到N组编码数据。
编码器对每一个视角视频序列进行编码,得到对应的一组编码数据。例如,编码器对视角视频序列F0V0、F1V0…FMV0进行编码,得到一组编码数据;对视角视频序列F0V1、F1V1…FMV1进行编码,得到一组编码数据;对视角视频序列F0V2、F1V2…FMV2进行编码,得到一组编码数据。
需要说明的是,当编码器需要向多个用户提供全景视频的编码数据时,编码器可以预先得到全部N个视角视频序列的编码数据,再根据不同用户的观看视角,将对应的视角视频序列的编码数据提供给不同用户。当编码器只需要为一个用户提供全景视频的编码数据时,可以根据该用户的观看视角,编码器只对对应的视角视频序列进行编码,并将编码数据提供给该用户,以节省资源。
步骤305,解码器向编码器提供用户的观看视角。
解码器先获取用户的观看视角,再将该观看视角发送给编码器。其中,解码器可以根据用户设备中的姿态传感器得到用户头部转动角度获取观看视角,也可以获取用户输入的观看视角,本实施例不作限定。
步骤306,编码器确定用户的观看视角。
编码器可以获取默认的观看视角,将该观看视角确定为用户的观看视角,此时可以不执行步骤305,或者,编码器还可以接收解码器发送的观看视角,此时执行步骤305。
步骤307,编码器选择水平视角包括观看视角的视角视频序列,将该视角视频序列编码数据提供给用户。
编码器可以只选择一个水平视角,且该水平视角包括观看视角。例如,当用户的观看视角是15°-165°时,若存在水平视角为15°-165°的视角视频序列,则可以选择水平视角为15°-165°的视角视频序列;若不存在水平视角为15°-165°的视角视频序列,只存在水平视角为10°-180°的视角视频序列,则可以选择水平视角为10°-180°的视角视频序列。
编码器也可以选择至少两个相邻的水平视角,且该至少两个相邻的水平视角组合后的水平视角包括观看视角。例如,当用户的观看视角是15°-165°时,若存在水平视角为10°-95°的视角视频序列和水平视角为95°-170°的视角视频序列,则可以选择这两个视角视频序列,组合后的水平视角为10°-170°,包括观看视角15°-165°。
编码器在确定视角视频序列后,获取该视角视频序列对应的编码数据,将该编码数据提供给用户。
本实施例中,编码器可以按照编码数据的生成时刻由早到晚的顺序,将各组编码数据依次提供给用户。例如,视角视频序列为F0V0、F1V0…FMV0,编码器可以在时刻T0将F0V0的编码数据提供给用户,在时刻T1将F1V0的编码数据提供给用户,…,在时刻TM将FMV0的编码数据提供给用户。
步骤308,解码器接收编码器发送的编码数据。
对应于编码器对编码数据的发送形式,解码器可以按照编码数据的发送顺序,依次接收视角视频序列中每个区域的编码数据。
例如,视角视频序列为F0V0、F1V0…FMV0,解码器可以在时刻T0接收F0V0的编码数据,在时刻T1接收F1V0的编码数据,…,在时刻TM接收FMV0的编码数据。
由于用户在观看过程中可能会转动头部,导致观看视角发生变化,此时,编码器需要确定变化后的观看视角,并根据变化后的观看视角调整发送的编码数据。具体地,本实施例提供的视频编码方法还包括:
1)若在时刻Ti时确定用户的观看视角发生变化,则禁止发送视角视频序列中的第i个区域的编码数据,i为正整数;
2)选择更新视角视频序列,将更新视角视频序列中的第i个区域的编码数据提供给用户,更新视角视频序列是水平视角与变化后的观看视角匹配的视角视频序列;
3)将i更新为i+1,循环执行在时刻Ti时,将更新视角视频序列中的第i个区域的编码数据提供给用户的步骤。
其中,时刻Ti是编码器确定用户的观看时间发生变化的时刻,由于将观看视角发生变化通知给编码器需要消耗时间,因此,实际用户的观看视角发生变化的时刻可能早于时刻Ti,可以是时刻Ti-1,时刻Ti-2等,这取决于通知的传输时延。例如,用户在时刻Ti-1调整观看视角,则解码器在时刻Ti-1确定观看视角发生变化,此时通知编码器,编码器在时刻Ti确定观看视角发生变化。
在实际实现时,假设在T0时刻根据用户的观看视角确定的视角视频序列为F0V0、F1V0…FMV0,编码器依次发送每个区域的编码数据,当编码器在时刻T3时确定用户的观看视角发生变化,且根据变化后的观看视角确定的更新视角视频序列为F0V1、F1V1…FMV1,则依次发送的编码数据所对应的区域为:F0V0、F1V0、F2V0、F3V1、F4V1…FMV1。
本实施例中,每个视角视频序列内的各个区域在时域上相互依赖,即视角视频序列中后一区域的解码需要依赖于自IDR(Instantaneous Decoding Refresh,即时解码刷新)帧开始的所有前向区域。当观看视角发生变化时,解码器只接收到更新视角视频序列中的一个区域的编码数据,由于该区域的解码需要依赖于前向区域,因此,编码器还需要将该区域的所有前向区域的编码数据发送给解码器。为了节省传输该前向区域的时间,以避免播放卡顿的问题,编码器还可以预测在观看视角发生变化时可能的更新视角视频序列,并将该预测的更新视角视频序列的编码数据发送给解码器。
由于用户通常是缓慢转动头部来调整观看视角的,因此,可以将与步骤307中选择的视角视频序列相邻的视角视频序列作为预测的更新视角视频序列,此时执行步骤309。
步骤309,编码器获取与该水平视角相邻,且小于该水平视角的连续n个水平视角所对应的视角视频序列;获取与该水平视角相邻,且大于该水平视角的连续m个水平视角所对应的视角视频序列,n和m均为正整数,且n+m≤N-1;将该n+m个视角视频序列中的属于同一全景图像帧的每n+m个区域的编码数据依次提供给用户。
例如,假设4个视角视频序列的水平视角分别为0°-15°,15°-165°,165°-180°,180°-360°,且步骤307中选择的是水平视角为15°-165°的视角视频序列F0V1、F1V1…FMV1,此时可以确定小于15°-165°,且与15°-165°相邻的水平视角为0°-15°,获取水平视角为0°-15°的视角视频序列F0V0、F1V0…FMV0;还可以确定大于15°-165°,且与15°-165°相邻的水平视角为165°-180°,获取水平视角为165°-180°的视角视频序列F0V2、F1V2…FMV2。
在确定出n+m个视角视频序列后,编码器可以在每个时刻时,将n+m个视角视频序列中的属于同一全景图像帧的n+m个区域的编码数据提供给用户。例如,在时刻T0时,将属于全景图像帧0的n+m个区域的编码数据提供给用户,即,F0V0和F0V2的编码数据;在时刻T1时,将属于全景图像帧1的n+m个区域的编码数据提供给用户,即,F1V0和F1V2的编码数据;…;在时刻TM时,将属于全景图像帧M的n+m个区域的编码数据提供给用户,即,FMV0和FMV2的编码数据。
需要说明的是,编码器可以将n+m个视角视频序列的编码数据和步骤307中的编码数据一起提供给用户,以避免视角转换时的卡顿。例如,在时刻T0将F0V0、F0V1和F0V2的编码数据提供给用户,在时刻T1将F1V0、F1V1和F1V2的编码数据提供给用户,…,在时刻TM将FMV0、FMV1和FMV2的编码数据提供给用户。
本实施例中,若编码器只提供与观看视角匹配的视角视频序列的编码数据,此时传输占用的带宽资源较少,若用户的观看视角发生变化,由于需要传输其他的视角视频序列,会造成播放卡顿的问题;若编码器不仅提供与观看视角匹配的视角视频序列的编码数据,还提供n+m个其他视角视频序列的编码数据,虽然传输占用的带宽资源较多,但在用户的观看视角发生变化时,可以立即播放缓存的视角视频序列,使得视频播放更为流畅。
当n+m<N-1时,由于不需要传输所有的全景视频的编码数据,可以节省带宽资源。
请参考图3D所示的传输的视角视频序列中各个区域的示意图,图3D中在T0时刻与观看视角对应的视角视频序列是Vn,则在T0时刻缓存的视角视频序列是Vn-1和Vn+1。当在T1时刻编码器确定用户的观看视角发生变化时,此时,与观看视角对应的视角视频序列是Vn-1,则在T1时刻缓存的视角视频序列是Vn-2和Vn
步骤310,解码器依次接收n+m个视角视频序列中属于同一全景图像帧的每n+m个区域的编码数据。
对应于编码器对编码数据的发送形式,解码器可以按照编码数据的发送顺序,依次接收n+m个视角视频序列中属于同一全景图像帧的每n+m个区域的编码数据。
例如,解码器可以在时刻T0接收F0V0和F0V2的编码数据,在时刻T1接收F1V0和F1V2的编码数据,…,在时刻TM接收FMV0和FMV2的编码数据。
当编码器将n+m个视角视频序列的编码数据和步骤307中的编码数据一起提供给用户时,步骤310可以和步骤308合并。即,解码器可以在时刻T0接收F0V0、F0V1和F0V2的编码数据,在时刻T1接收F1V0、F1V1和F1V2的编码数据,…,在时刻TM接收FMV0、FMV1和FMV2的编码数据。
步骤311,解码器对编码数据进行解码。
本实施例中,依次接收n+m个视角视频序列中的属于同一全景图像帧的每n+m个区域的编码数据之后,编码器提供了两种对理编码数据的处理方式,下面分别对这两种处理方式进行介绍。
在第一种处理方式中,对当前时刻接收的、水平视角与观看视角匹配的视角视频序列中的区域的编码数据进行解码,并播放得到的区域;对当前时刻接收的n+m个视角视频序列中的n+m个区域的编码数据进行缓存。
由于只需要对观看视角对应的区域的编码数据进行解码,对其他区域的编码数据不解码,可以节省资源,这种处理方式适用于观看视角变化较少的场景中。
例如,当前时刻是T0时刻,且与观看视角对应的区域是F0V1,则解码器解码并播放F0V1的编码数据,缓存F0V0和F0V2的区域的编码数据。此时,由于不需要解码F0V0和F0V2的区域的编码数据,因此,可以节省资源。
若在时刻Ti时解码器确定用户的观看视角发生变化,则对应于第一种处理方式,解码器从缓存的n+m个区域的编码数据中,选择更新视角视频序列中的第i个区域的编码数据,对编码数据进行解码,并播放得到的第i个区域。
例如,在T0时刻时与观看视角对应的视角视频序列为V2,此时,解码器接收到F0V1、F0V2和F0V3的编码数据,播放F0V2;在T1时刻时解码器确定用户的观看视角发生变化,由于此时编码器还不知道用户的观看视角发生变化,传输F1V1、F1V2和F1V3的编码数据,此时,解码器接收到F1V1、F1V2和F1V3的编码数据,由于对F1V1的解码需要依赖于F0V1,因此,解码器可以先解码F0V1的编码数据,再根据得到的F0V1解码F1V1的编码数据,播放得到的F1V1;在T2时刻时编码器确定用户的观看视角发生变化,传输F2V0、F2V1和F2V2的编码数据,此时,解码器接收到F2V0、F2V1和F2V2的编码数据,根据之前解码得到的F1V1解码F2V1的编码数据,播放得到的F2V1,依次类推。
在第二种处理方式中,对当前时刻接收的、水平视角与观看视角匹配的视角视频序列中的区域的编码数据进行解码,并播放得到的区域;对当前时刻接收的n+m个视角视频序列中的n+m个区域的编码数据进行解码,并缓存得到的n+m个区域。
例如,当前时刻是T0时刻,且与观看视角对应的区域是F0V1,则解码器解码并播放F0V1的编码数据,解码并缓存F0V0和F0V2的编码数据。
若在时刻Ti时用户的观看视角发生变化,则对应于第二种处理方式,解码器从缓存的n+m个区域中,选择更新视角视频序列中的第i个区域,并播放第i个区域。
例如,在T0时刻时与观看视角对应的视角视频序列为V2,此时,解码器接收并解码F0V1、F0V2和F0V3的编码数据,播放F0V2;在T1时刻时解码器确定用户的观看视角发生变化,由于此时编码器还不知道用户的观看视角发生变化,传输F1V1、F1V2和F1V3的编码数据,此时,解码器接收到F1V1、F1V2和F1V3的编码数据,由于对F1V1的解码需要依赖于F0V1且已经解码得到F0V1,因此,解码器可以直接根据F0V1解码F1V1的编码数据,播放得到的F1V1;在T2时刻时编码器确定用户的观看视角发生变化,传输F2V0、F2V1和F2V2的编码数据,此时,解码器接收到F2V0、F2V1和F2V2的编码数据,根据F1V1解码F2V1的编码数据,播放得到的F2V1,依次类推。
由于需要实时解码所有区域的编码数据,以提高对播放的流畅性,这种实现方式适用于观看视角变化较多的场景中。
其中,步骤301、302、303、304、306、307和309可以单独实现成为编码器侧的实施例,步骤305、308、310和311可以单独实现成为解码器侧的实施例。
为了便于理解,本实施例以编码器位于全景相机中,解码器位于用户设备中,且存在服务器来进行举例说明,请参考图3E所示的视频编码方法的示意图,其具体实现过程如下:
步骤3011,全景相机通过摄像头拍摄全景视频。
步骤3012,全景相机通过编码器将全景视频划分成N个视角视频序列进行编码,得到N组编码数据。
步骤3013,全景相机将N组编码数据发送给服务器。
步骤3014,服务器接收N组编码数据。
步骤3015,用户设备向服务器发送用户的观看视角。
步骤3016,服务器接收用户的观看视角。
步骤3017,服务器选择水平视角包括观看视角的视角视频序列,并获取其他n+m个视角视频序列。
其中,n+m个视角视频序列的获取过程详见步骤309中的描述。
步骤3018,服务器将该视角视频序列和该n+m个视角视频序列的编码数据发送给用户设备。
步骤3019,用户设备接收该视角视频序列和该n+m个视角视频序列的编码数据。
步骤3020,用户设备通过解码器解码水平视角与观看视角匹配的视角视频序列编码数据,并播放得到的视角视频序列;缓存n+m个视角视频序列的编码数据。
综上所述,本发明实施例提供的视频编码方法,通过将全景视频划分成N个视角视频序列,对该N个视角视频序列分别进行编码,得到N组编码数据;确定用户的观看视角;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户,可以只将与用户的观看视角内的视角视频序列的编码数据提供给用户,避免了传输和解码观看视角外的视角视频序列的编码数据,解决了接收并解码全景视频中所有的全景图像帧的编码数据,导致资源浪费的问题,达到了节省资源的效果。
另外,通过获取与水平视角相邻,且小于水平视角的连续n个水平视角所对应的视角视频序列;获取与水平视角相邻,且大于水平视角的连续m个水平视角所对应的视角视频序列;将所述n+m个视角视频序列中的属于同一全景图像帧的每n+m个区域的编码数据依次提供给用户,可以将水平视角与观看视角相邻的视角视频序列的编码数据提供给用户,使得观看视角变化时,解码器可以立即从缓存的编码数据中获取对应的编码数据,解决了在观看视角变化时,编码器需要将水平视角与变化后的观看视角匹配的视角视频序列的编码数据发送给解码器,导致播放卡顿的问题,达到了提高视频播放的流畅性的效果。
请参考图4,其示出了本发明一个实施例提供的视频编码装置的结构框图,该视频编码方法可以应用于图1所示的实施环境中。该视频编码装置,包括:
视频获取模块410,用于获取全景视频,全景视频由全景图像帧组成,全景图像帧是记录预定视角的景物所形成的图像帧;
视频划分模块420,用于将视频获取模块410获取的全景视频划分成N个视角视频序列,每个视角视频序列由全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且N个视角视频序列的水平视角的总和为全景图像帧的总水平视角,N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;
视频编码模块430,用于对视频划分模块420得到的N个视角视频序列分别进行编码,得到N组编码数据;
视角确定模块440,用于确定用户的观看视角;
第一提供模块450,用于选择水平视角包括视角确定模块440确定的观看视角的视角视频序列,将视角视频序列的编码数据提供给用户。
综上所述,本发明实施例提供的视频编码装置,通过将全景视频划分成N个视角视频序列,对该N个视角视频序列分别进行编码,得到N组编码数据;确定用户的观看视角;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户,可以只将与用户的观看视角内的视角视频序列的编码数据提供给用户,避免了传输和解码观看视角外的视角视频序列的编码数据,解决了接收并解码全景视频中所有的全景图像帧的编码数据,导致资源浪费的问题,达到了节省资源的效果。
请参考图5,其示出了本发明再一实施例提供的视频编码装置的结构框图,该视频编码方法可以应用于图1所示的实施环境中。该视频编码装置,包括:
视频获取模块510,用于获取全景视频,全景视频由全景图像帧组成,全景图像帧是记录预定视角的景物所形成的图像帧;
视频划分模块520,用于将视频获取模块510获取的全景视频划分成N个视角视频序列,每个视角视频序列由全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且N个视角视频序列的水平视角的总和为全景图像帧的总水平视角,N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;
视频编码模块530,用于对视频划分模块520得到的N个视角视频序列分别进行编码,得到N组编码数据;
视角确定模块540,用于确定用户的观看视角;
第一提供模块550,用于选择水平视角包括视角确定模块540确定的观看视角的视角视频序列,将视角视频序列的编码数据提供给用户。
可选的,视频划分模块520,包括:
区域划分单元521,用于根据预设的视角划分规则,将全景视频中的每个全景图像帧按照水平视角划分成N个区域;
序列生成单元522,用于将区域划分单元521划分的所有的全景图像帧中具有相同的水平视角的区域组成一个视角视频序列,得到N个视角视频序列。
可选的,第一提供模块540,还用于:
若在时刻Ti时确定用户的观看视角发生变化,则禁止发送视角视频序列中的第i个区域的编码数据,i为正整数;
选择更新视角视频序列,将更新视角视频序列中的第i个区域的编码数据提供给用户,更新视角视频序列是水平视角与变化后的观看视角匹配的视角视频序列;
将i更新为i+1,循环执行在时刻Ti时,将更新视角视频序列中的第i个区域的编码数据提供给用户的步骤。
可选的,本实施例提供的视频编码装置还包括:
序列选择模块560,用于在第一提供模块550选择水平视角与观看视角匹配的视角视频序列之后,获取与水平视角相邻,且小于水平视角的连续n个水平视角所对应的视角视频序列;获取与水平视角相邻,且大于水平视角的连续m个水平视角所对应的视角视频序列,n和m均为正整数,且n+m≤N-1;
第二提供模块570,用于将序列选择模块560选择的n+m个视角视频序列中的属于同一全景图像帧的每n+m个区域的编码数据提供给用户。
可选的,每个视角视频序列内,第j个区域的编码数据是依据第j-1个区域的编码数据生成的;或者,第j个区域的编码数据是依据第j-1个区域的编码数据和第l个区域的编码数据生成的,j和l均为正整数,且l>j≥2;
不同视角视频序列间,任意两个区域的编码数据在时域上无关。
可选的,当区域包括至少两个宏块时,
每个区域内,一个宏块的编码数据是依据与其在空域内相邻的宏块的编码数据生成的;
不同区域间,在空域内相邻的两个宏块的编码数据无关。
综上所述,本发明实施例提供的视频编码装置,通过将全景视频划分成N个视角视频序列,对该N个视角视频序列分别进行编码,得到N组编码数据;确定用户的观看视角;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户,可以只将与用户的观看视角内的视角视频序列的编码数据提供给用户,避免了传输和解码观看视角外的视角视频序列的编码数据,解决了接收并解码全景视频中所有的全景图像帧的编码数据,导致资源浪费的问题,达到了节省资源的效果。
另外,通过获取与水平视角相邻,且小于水平视角的连续n个水平视角所对应的视角视频序列;获取与水平视角相邻,且大于水平视角的连续m个水平视角所对应的视角视频序列;将所述n+m个视角视频序列中的属于同一全景图像帧的每n+m个区域的编码数据依次提供给用户,可以将水平视角与观看视角相邻的视角视频序列的编码数据提供给用户,使得观看视角变化时,解码器可以立即从缓存的编码数据中获取对应的编码数据,解决了在观看视角变化时,编码器需要将水平视角与变化后的观看视角匹配的视角视频序列的编码数据发送给解码器,导致播放卡顿的问题,达到了提高视频播放的流畅性的效果。
请参考图6,其示出了本发明一个实施例提供的视频编码装置的结构框图,该视频编码方法可以应用于图1所示的实施环境中。该视频编码装置,包括:
视角提供模块610,用于向编码器提供用户的观看视角,编码器用于获取全景视频,所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;将全景视频划分成N个视角视频序列;对所述N个视角视频序列分别进行编码,得到N组编码数据;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户;每个视角视频序列由全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且N个视角视频序列的水平视角的总和为全景图像帧的总水平视角,N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;
第一接收模块620,用于接收编码器发送的编码数据;
数据解码模块630,用于对第一接收模块620接收的所述编码数据进行解码。
综上所述,本发明实施例提供的视频编码装置,通过向编码器提供用户的观看视角,使得编码器将全景视频划分成N个视角视频序列,对该N个视角视频序列分别进行编码,得到N组编码数据;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户,避免了传输和解码观看视角外的视角视频序列的编码数据,解决了接收并解码全景视频中所有的全景图像帧的编码数据,导致资源浪费的问题,达到了节省资源的效果。
请参考图7,其示出了本发明再一实施例提供的视频编码装置的结构框图,该视频编码方法可以应用于图1所示的实施环境中。该视频编码装置,包括:
视角提供模块710,用于向编码器提供用户的观看视角,编码器用于获取全景视频,所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;将全景视频划分成N个视角视频序列;对所述N个视角视频序列分别进行编码,得到N组编码数据;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户;每个视角视频序列由全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且N个视角视频序列的水平视角的总和为全景图像帧的总水平视角,N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠,;
第一接收模块720,用于接收编码器发送的编码数据;
数据解码模块730,用于对第一接收模块720接收的所述编码数据进行解码。
可选的,本实施例提供的视频编码装置还包括:
第二接收模块740,用于依次接收n+m个视角视频序列中属于同一全景图像帧的每n+m个编码数据,n+m个视角视频序列是与水平视角相邻,且小于水平视角的连续n个水平视角所对应的视角视频序列,以及,与水平视角相邻,且大于水平视角的连续m个水平视角所对应的视角视频序列,n和m均为正整数,且n+m≤N-1。
可选的,数据解码模块730,包括:
第一处理单元731,用于对当前时刻接收的、水平视角与观看视角匹配的视角视频序列中的区域的编码数据进行解码,并播放得到的区域;对当前时刻接收的n+m个视角视频序列中的n+m个区域的编码数据进行缓存。
可选的,数据解码模块730,还包括:
第二处理单元732,用于若在时刻Ti时用户的观看视角发生变化,则从第一处理单元731缓存的n+m个区域的编码数据中,选择更新视角视频序列中的第i个区域的编码数据,对编码数据进行解码,并播放得到的第i个区域;
其中,更新视角视频序列是水平视角与变化后的观看视角匹配的视角视频序列。
可选的,数据解码模块730,包括:
第三处理单元733,用于对当前时刻接收的、水平视角与观看视角匹配的视角视频序列中的区域的编码数据进行解码,并播放得到的区域;对当前时刻接收的n+m个视角视频序列中的n+m个区域的编码数据进行解码,并缓存得到的n+m个区域。
可选的,数据解码模块730,还包括:
第四处理单元734,用于若在时刻Ti时用户的观看视角发生变化,则从第三处理单元733缓存的n+m个区域中,选择更新视角视频序列中的第i个区域,并播放第i个区域;
其中,更新视角视频序列是水平视角与变化后的观看视角匹配的视角视频序列。
综上所述,本发明实施例提供的视频编码装置,通过向编码器提供用户的观看视角,使得编码器将全景视频划分成N个视角视频序列,对该N个视角视频序列分别进行编码,得到N组编码数据;选择水平视角包括观看视角的视角视频序列,将视角视频序列的编码数据提供给用户,避免了传输和解码观看视角外的视角视频序列的编码数据,解决了接收并解码全景视频中所有的全景图像帧的编码数据,导致资源浪费的问题,达到了节省资源的效果。
另外,通过依次接收n+m个视角视频序列中属于同一全景图像帧的每n+m个区域的编码数据,n+m个视角视频序列是编码器获取的与水平视角相邻,且小于水平视角的连续n个水平视角所对应的视角视频序列,以及,编码器获取的与水平视角相邻,且大于水平视角的连续m个水平视角所对应的视角视频序列,编码器将水平视角与观看视角相邻的视角视频序列的编码数据提供给用户,使得观看视角变化时,解码器可以立即从缓存的编码数据中获取对应的编码数据,解决了在观看视角变化时,编码器需要将水平视角与变化后的观看视角匹配的视角视频序列的编码数据发送给解码器,导致播放卡顿的问题,达到了提高视频播放的流畅性的效果。
需要说明的是:上述实施例提供的视频编码装置在进行视频编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将视频编码装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频编码装置与视频编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种视频编码方法,其特征在于,所述方法包括:
获取全景视频,所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;
将所述全景视频划分成N个视角视频序列,每个视角视频序列由所述全景图像帧中具有相同的水平视角的区域组成,且所述N个视角视频序列的水平视角的总和为所述全景图像帧的总水平视角,所述N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;
对所述N个视角视频序列分别进行编码,得到N组编码数据;
确定用户的观看视角;
选择水平视角包括所述观看视角的视角视频序列,将所述视角视频序列的编码数据提供给所述用户;
获取与所述水平视角相邻,且小于所述水平视角的连续n个水平视角所对应的视角视频序列;获取与所述水平视角相邻,且大于所述水平视角的连续m个水平视角所对应的视角视频序列,所述n和m均为正整数,且n+m≤N-1;
将所述n+m个视角视频序列中的属于同一全景图像帧的每n+m个区域的编码数据依次提供给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述将所述全景视频划分成N个视角视频序列,包括:
根据预设的视角划分规则,将所述全景视频中的每个全景图像帧按照水平视角划分成N个区域;
将所有的全景图像帧中具有相同的水平视角的区域组成一个视角视频序列,得到所述N个视角视频序列。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若在时刻Ti时确定所述用户的观看视角发生变化,则禁止发送所述视角视频序列中的第i个区域的编码数据,所述i为正整数;
选择更新视角视频序列,将所述更新视角视频序列中的第i个区域的编码数据提供给所述用户,所述更新视角视频序列是水平视角与变化后的所述观看视角匹配的视角视频序列;
将i更新为i+1,循环执行在时刻Ti时,将所述更新视角视频序列中的第i个区域的编码数据提供给所述用户的步骤。
4.根据权利要求1所述的方法,其特征在于,
每个视角视频序列内,第j个区域的编码数据是依据第j-1个区域的编码数据生成的;或者,第j个区域的编码数据是依据第j-1个区域的编码数据和第l个区域的编码数据生成的,所述j和l均为正整数,且l>j≥2;
不同视角视频序列间,任意两个区域的编码数据在时域上无关。
5.根据权利要求1所述的方法,其特征在于,当所述区域包括至少两个宏块时,
每个区域内,一个宏块的编码数据是依据与其在空域内相邻的宏块的编码数据生成的;
不同区域间,在空域内相邻的两个宏块的编码数据无关。
6.一种视频编码方法,其特征在于,所述方法包括:
向编码器提供用户的观看视角,所述编码器用于获取全景视频,所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;将所述全景视频划分成N个视角视频序列;对所述N个视角视频序列分别进行编码,得到N组编码数据;选择水平视角包括所述观看视角的视角视频序列,将所述视角视频序列的编码数据提供给所述用户;每个视角视频序列由所述全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且所述N个视角视频序列的水平视角的总和为所述全景图像帧的总水平视角,所述N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;
接收所述编码器发送的所述编码数据;
依次接收n+m个视角视频序列中属于同一全景图像帧的每n+m个区域的编码数据,所述n+m个视角视频序列是与所述水平视角相邻,且小于所述水平视角的连续n个水平视角所对应的视角视频序列,以及,与所述水平视角相邻,且大于所述水平视角的连续m个水平视角所对应的视角视频序列,所述n和m均为正整数,且n+m≤N-1;
对所述编码数据进行解码。
7.根据权利要求6所述的方法,其特征在于,所述对所述编码数据进行解码,包括:
对当前时刻接收的、水平视角与所述观看视角匹配的视角视频序列中的区域的编码数据进行解码,并播放得到的所述区域;
对所述当前时刻接收的所述n+m个视角视频序列中的n+m个区域的编码数据进行缓存。
8.根据权利要求7所述的方法,其特征在于,若在时刻Ti时所述用户的观看视角发生变化,则所述方法还包括:
从缓存的所述n+m个区域的编码数据中,选择更新视角视频序列中的第i个区域的编码数据,对所述编码数据进行解码,并播放得到的所述第i个区域;
其中,所述更新视角视频序列是水平视角与变化后的所述观看视角匹配的视角视频序列。
9.根据权利要求6所述的方法,其特征在于,所述对所述编码数据进行解码,包括:
对当前时刻接收的、水平视角与所述观看视角匹配的视角视频序列中的区域的编码数据进行解码,并播放得到的所述区域;
对所述当前时刻接收的所述n+m个视角视频序列中的n+m个区域的编码数据进行解码,并缓存得到的所述n+m个区域。
10.根据权利要求9所述的方法,其特征在于,若在时刻Ti时所述用户的观看视角发生变化,则所述方法还包括:
从缓存的所述n+m个区域中,选择更新视角视频序列中的第i个区域,并播放所述第i个区域;
其中,所述更新视角视频序列是水平视角与变化后的所述观看视角匹配的视角视频序列。
11.一种视频编码装置,其特征在于,所述装置包括:
视频获取模块,用于获取全景视频,所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;
视频划分模块,用于将所述视频获取模块获取的所述全景视频划分成N个视角视频序列,每个视角视频序列由所述全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且所述N个视角视频序列的水平视角的总和为所述全景图像帧的总水平视角,所述N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;
视频编码模块,用于对所述视频划分模块得到的所述N个视角视频序列分别进行编码,得到N组编码数据;
视角确定模块,用于确定用户的观看视角;
第一提供模块,用于选择水平视角包括所述视角确定模块确定的所述观看视角的视角视频序列,将所述视角视频序列的编码数据提供给所述用户;
序列选择模块,用于在所述第一提供模块选择水平视角与所述观看视角匹配的视角视频序列之后,获取与所述水平视角相邻,且小于所述水平视角的连续n个水平视角所对应的视角视频序列;获取与所述水平视角相邻,且大于所述水平视角的连续m个水平视角所对应的视角视频序列,所述n和m均为正整数,且n+m≤N-1;
第二提供模块,用于将所述序列选择模块选择的n+m个视角视频序列中的属于同一全景图像帧的每n+m个区域的编码数据依次提供给所述用户。
12.根据权利要求11所述的装置,其特征在于,所述视频划分模块,包括:
区域划分单元,用于根据预设的视角划分规则,将所述全景视频中的每个全景图像帧按照水平视角划分成N个区域;
序列生成单元,用于将所述区域划分单元划分的所有的全景图像帧中具有相同的水平视角的区域组成一个视角视频序列,得到所述N个视角视频序列。
13.根据权利要求11所述的装置,其特征在于,所述第一提供模块,还用于:
若在时刻Ti时确定所述用户的观看视角发生变化,则禁止发送所述视角视频序列中的第i个区域的编码数据,所述i为正整数;
选择更新视角视频序列,将所述更新视角视频序列中的第i个区域的编码数据提供给所述用户,所述更新视角视频序列是水平视角与变化后的所述观看视角匹配的视角视频序列;
将i更新为i+1,循环执行在时刻Ti时,将所述更新视角视频序列中的第i个区域的编码数据提供给所述用户的步骤。
14.根据权利要求11所述的装置,其特征在于,
每个视角视频序列内,第j个区域的编码数据是依据第j-1个区域的编码数据生成的;或者,第j个区域的编码数据是依据第j-1个区域的编码数据和第l个区域的编码数据生成的,所述j和l均为正整数,且l>j≥2;
不同视角视频序列间,任意两个区域的编码数据在时域上无关。
15.根据权利要求11所述的装置,其特征在于,当所述区域包括至少两个宏块时,
每个区域内,一个宏块的编码数据是依据与其在空域内相邻的宏块的编码数据生成的;
不同区域间,在空域内相邻的两个宏块的编码数据无关。
16.一种视频编码装置,其特征在于,所述装置包括:
视角提供模块,用于向编码器提供用户的观看视角,所述编码器用于获取全景视频,所述全景视频由全景图像帧组成,所述全景图像帧是记录预定视角的景物所形成的图像帧;将所述全景视频划分成N个视角视频序列;对所述N个视角视频序列分别进行编码,得到N组编码数据;选择水平视角包括所述观看视角的视角视频序列,将所述视角视频序列的编码数据提供给所述用户;每个视角视频序列由所述全景视频中所有的全景图像帧中具有相同的水平视角的区域组成,且所述N个视角视频序列的水平视角的总和为所述全景图像帧的总水平视角,所述N为正整数,其中,一个全景图像帧中的各个区域之间互不重叠;
第一接收模块,用于接收所述编码器发送的所述编码数据;
第二接收模块,用于依次接收n+m个视角视频序列中属于同一全景图像帧的每n+m个编码数据,所述n+m个视角视频序列是与所述水平视角相邻,且小于所述水平视角的连续n个水平视角所对应的视角视频序列,以及,与所述水平视角相邻,且大于所述水平视角的连续m个水平视角所对应的视角视频序列,所述n和m均为正整数,且n+m≤N-1;
数据解码模块,用于对所述第一接收模块接收的所述编码数据进行解码。
17.根据权利要求16所述的装置,其特征在于,所述数据解码模块,包括:
第一处理单元,用于对当前时刻接收的、水平视角与所述观看视角匹配的视角视频序列中的区域的编码数据进行解码,并播放得到的所述区域;对所述当前时刻接收的所述n+m个视角视频序列中的n+m个区域的编码数据进行缓存。
18.根据权利要求17所述的装置,其特征在于,所述数据解码模块,还包括:
第二处理单元,用于若在时刻Ti时所述用户的观看视角发生变化,则从所述第一处理单元缓存的所述n+m个区域的编码数据中,选择更新视角视频序列中的第i个区域的编码数据,对所述编码数据进行解码,并播放得到的所述第i个区域;
其中,所述更新视角视频序列是水平视角与变化后的所述观看视角匹配的视角视频序列。
19.根据权利要求16所述的装置,其特征在于,所述数据解码模块,包括:
第三处理单元,用于对当前时刻接收的、水平视角与所述观看视角匹配的视角视频序列中的区域的编码数据进行解码,并播放得到的所述区域;对所述当前时刻接收的所述n+m个视角视频序列中的n+m个区域的编码数据进行解码,并缓存得到的所述n+m个区域。
20.根据权利要求19所述的装置,其特征在于,所述数据解码模块,还包括:
第四处理单元,用于若在时刻Ti时所述用户的观看视角发生变化,则从所述第三处理单元缓存的所述n+m个区域中,选择更新视角视频序列中的第i个区域,并播放所述第i个区域;
其中,所述更新视角视频序列是水平视角与变化后的所述观看视角匹配的视角视频序列。
CN201610163645.6A 2016-03-22 2016-03-22 视频编码方法及装置 Active CN105791882B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201610163645.6A CN105791882B (zh) 2016-03-22 2016-03-22 视频编码方法及装置
EP16895252.1A EP3435677A4 (en) 2016-03-22 2016-11-23 VIDEO PROCESSING AND DEVICE, DEVICE AND STORAGE MEDIUM
JP2018549490A JP6718976B2 (ja) 2016-03-22 2016-11-23 ビデオの符号化方法及び装置、機器、記憶媒体
PCT/CN2016/107002 WO2017161907A1 (zh) 2016-03-22 2016-11-23 视频编码方法及装置、设备、存储介质
KR1020187016288A KR102109510B1 (ko) 2016-03-22 2016-11-23 비디오 코딩 방법, 장치, 디바이스 및 기억 매체
US15/775,069 US10951818B2 (en) 2016-03-22 2016-11-23 Video encoding method and apparatus, device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610163645.6A CN105791882B (zh) 2016-03-22 2016-03-22 视频编码方法及装置

Publications (2)

Publication Number Publication Date
CN105791882A CN105791882A (zh) 2016-07-20
CN105791882B true CN105791882B (zh) 2018-09-18

Family

ID=56390450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610163645.6A Active CN105791882B (zh) 2016-03-22 2016-03-22 视频编码方法及装置

Country Status (6)

Country Link
US (1) US10951818B2 (zh)
EP (1) EP3435677A4 (zh)
JP (1) JP6718976B2 (zh)
KR (1) KR102109510B1 (zh)
CN (1) CN105791882B (zh)
WO (1) WO2017161907A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791882B (zh) 2016-03-22 2018-09-18 腾讯科技(深圳)有限公司 视频编码方法及装置
CN108322763A (zh) * 2016-08-23 2018-07-24 深圳市掌网科技股份有限公司 一种编解码全景视频的方法和系统
CN106162207B (zh) * 2016-08-25 2019-02-12 北京字节跳动科技有限公司 一种全景视频并行编码方法和装置
CN106358033B (zh) * 2016-08-25 2018-06-19 北京字节跳动科技有限公司 一种全景视频关键帧编码方法和装置
CN107888939A (zh) * 2016-09-30 2018-04-06 华为技术有限公司 一种视频数据的处理方法及装置
CN109644296A (zh) * 2016-10-10 2019-04-16 华为技术有限公司 一种视频流传输方法、相关设备及系统
CN107945101B (zh) 2016-10-13 2021-01-29 华为技术有限公司 图像处理方法和装置
CN109922342A (zh) * 2016-10-24 2019-06-21 传线网络科技(上海)有限公司 全景视频解码方法及装置
CN106791886B (zh) * 2016-11-16 2020-03-17 深圳市梦网百科信息技术有限公司 一种基于视觉特性的全景视频分发方法和系统
KR20180059210A (ko) * 2016-11-25 2018-06-04 삼성전자주식회사 영상 처리 장치 및 그 영상 처리 방법
CN106604041B (zh) * 2016-12-01 2020-05-22 深圳市梦网视讯有限公司 一种基于视觉连续性的全景视频分发方法和系统
CN108156484B (zh) * 2016-12-05 2022-01-14 奥多比公司 利用自适应速率分配优先处理基于图块的虚拟现实视频流
US10595069B2 (en) 2016-12-05 2020-03-17 Adobe Inc. Prioritizing tile-based virtual reality video streaming using adaptive rate allocation
CN108289228B (zh) 2017-01-09 2020-08-28 阿里巴巴集团控股有限公司 一种全景视频转码方法、装置和设备
CN108462825A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 视频处理方法及装置
CN108513119A (zh) * 2017-02-27 2018-09-07 阿里巴巴集团控股有限公司 图像的映射、处理方法、装置和机器可读介质
CN106851212B (zh) * 2017-03-03 2020-03-17 深圳市梦网百科信息技术有限公司 一种基于用户特性的全景视频分发方法和系统
CN108632631B (zh) * 2017-03-16 2020-08-07 华为技术有限公司 一种全景视频中视频分片的下载方法和装置
CN107027041B (zh) * 2017-04-18 2019-12-27 深圳市智能现实科技有限公司 场景展示方法及装置
CN108810574B (zh) * 2017-04-27 2021-03-12 腾讯科技(深圳)有限公司 一种视频信息处理方法及终端
CN111510782A (zh) 2017-04-28 2020-08-07 华为技术有限公司 视频播放方法、虚拟现实设备、服务器及计算机存储介质
CN108933920B (zh) * 2017-05-25 2023-02-17 中兴通讯股份有限公司 一种视频画面的输出、查看方法及装置
CN108965917B (zh) * 2017-05-27 2021-07-20 华为技术有限公司 视频图像的呈现、封装方法和视频图像的呈现、封装装置
CN115567755A (zh) * 2017-06-02 2023-01-03 Vid拓展公司 下一代网络上的360度视频递送
CN109218848A (zh) * 2017-07-06 2019-01-15 阿里巴巴集团控股有限公司 视频流的视角切换方法、装置、设备和计算机存储介质
CN107484004B (zh) * 2017-07-24 2020-01-03 北京奇艺世纪科技有限公司 一种视频处理方法及装置
WO2019041179A1 (zh) * 2017-08-30 2019-03-07 华为技术有限公司 Vr视频播放处理方法及设备
CN109698949B (zh) * 2017-10-20 2020-08-21 腾讯科技(深圳)有限公司 基于虚拟现实场景的视频处理方法、装置和系统
CN109862340A (zh) * 2017-11-30 2019-06-07 宏碁股份有限公司 视频装置及其三维物件编解码方法
US11025888B2 (en) * 2018-02-17 2021-06-01 Dreamvu, Inc. System and method for capturing omni-stereo videos using multi-sensors
USD943017S1 (en) 2018-02-27 2022-02-08 Dreamvu, Inc. 360 degree stereo optics mount for a camera
USD931355S1 (en) 2018-02-27 2021-09-21 Dreamvu, Inc. 360 degree stereo single sensor camera
CN108650460B (zh) * 2018-05-10 2021-03-30 深圳视点创新科技有限公司 服务器、全景视频的存储和传输方法和计算机存储介质
CN109672897B (zh) * 2018-12-26 2021-03-16 北京数码视讯软件技术发展有限公司 全景视频编码方法及装置
CN109672867A (zh) * 2018-12-28 2019-04-23 上海上实龙创智慧能源科技股份有限公司 一种全景摄像在vr头显中的显示方法
WO2021074005A1 (en) * 2019-10-14 2021-04-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Immersive viewport dependent multiparty video communication
CN111711859A (zh) * 2020-06-28 2020-09-25 北京奇艺世纪科技有限公司 一种视频图像处理方法、系统及终端设备
CN115134574B (zh) * 2022-06-24 2023-08-01 咪咕视讯科技有限公司 动态元数据生成方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1585332A1 (en) * 2003-01-17 2005-10-12 Nippon Telegraph and Telephone Corporation Remote video display method, video acquisition device, method thereof, and program thereof
CN101673473A (zh) * 2009-09-24 2010-03-17 浙江大学 基于dsp的全景视觉泊车辅助装置及生成全景视觉图像的方法
CN104469340A (zh) * 2014-12-01 2015-03-25 深圳凯澳斯科技有限公司 一种立体视频共光心成像系统及其成像方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7339617B1 (en) * 1999-03-12 2008-03-04 Sony Corporation Image providing device and its providing method, image processing device and processing method, and storage medium
JP3906685B2 (ja) * 2001-12-25 2007-04-18 日本電気株式会社 ビデオ映像提示システム、ビデオ映像送出装置、ビデオ映像提示装置、ビデオ映像処理プログラム
JP2004072694A (ja) * 2002-08-09 2004-03-04 Sony Corp 情報提供システムおよび方法、情報提供装置および方法、記録媒体、並びにプログラム
US7428000B2 (en) * 2003-06-26 2008-09-23 Microsoft Corp. System and method for distributed meetings
JP4345829B2 (ja) 2007-03-09 2009-10-14 ソニー株式会社 画像表示システム、画像表示装置、画像表示方法およびプログラム
US8477175B2 (en) * 2009-03-09 2013-07-02 Cisco Technology, Inc. System and method for providing three dimensional imaging in a network environment
CN101916163B (zh) * 2010-08-02 2012-02-08 周寅 一种在时空变换下保持协同渐变的全景视频互动播放的方法
US8988512B2 (en) * 2011-04-14 2015-03-24 Mediatek Inc. Method for adjusting playback of multimedia content according to detection result of user status and related apparatus thereof
KR101282955B1 (ko) * 2011-08-31 2013-07-17 한국과학기술연구원 실시간 고해상도 파노라마 영상 스트리밍 시스템 및 방법
US20130089301A1 (en) * 2011-10-06 2013-04-11 Chi-cheng Ju Method and apparatus for processing video frames image with image registration information involved therein
US9225942B2 (en) * 2012-10-11 2015-12-29 GM Global Technology Operations LLC Imaging surface modeling for camera modeling and virtual view synthesis
CN106233745B (zh) * 2013-07-29 2021-01-15 皇家Kpn公司 向客户端提供瓦片视频流
US20160255322A1 (en) * 2013-10-07 2016-09-01 Vid Scale, Inc. User adaptive 3d video rendering and delivery
US9699437B2 (en) * 2014-03-03 2017-07-04 Nextvr Inc. Methods and apparatus for streaming content
CN105519098A (zh) * 2014-05-27 2016-04-20 联发科技股份有限公司 投射处理器和相关方法
EP3149937A4 (en) * 2014-05-29 2018-01-10 NEXTVR Inc. Methods and apparatus for delivering content and/or playing back content
US20150346812A1 (en) * 2014-05-29 2015-12-03 Nextvr Inc. Methods and apparatus for receiving content and/or playing back content
CN104735464A (zh) * 2015-03-31 2015-06-24 华为技术有限公司 一种全景视频交互传输方法、服务器和客户端
CN105323552B (zh) * 2015-10-26 2019-03-12 北京时代拓灵科技有限公司 一种全景视频播放方法及系统
CN105791882B (zh) 2016-03-22 2018-09-18 腾讯科技(深圳)有限公司 视频编码方法及装置
US10148875B1 (en) * 2016-05-17 2018-12-04 Scott Zhihao Chen Method and system for interfacing multiple channels of panoramic videos with a high-definition port of a processor
JP6330987B2 (ja) * 2016-06-17 2018-05-30 日本電気株式会社 画像処理装置、画像処理方法、及び記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1585332A1 (en) * 2003-01-17 2005-10-12 Nippon Telegraph and Telephone Corporation Remote video display method, video acquisition device, method thereof, and program thereof
CN101673473A (zh) * 2009-09-24 2010-03-17 浙江大学 基于dsp的全景视觉泊车辅助装置及生成全景视觉图像的方法
CN104469340A (zh) * 2014-12-01 2015-03-25 深圳凯澳斯科技有限公司 一种立体视频共光心成像系统及其成像方法

Also Published As

Publication number Publication date
JP2019512969A (ja) 2019-05-16
KR20180081128A (ko) 2018-07-13
JP6718976B2 (ja) 2020-07-08
KR102109510B1 (ko) 2020-05-12
EP3435677A1 (en) 2019-01-30
US20180324355A1 (en) 2018-11-08
EP3435677A4 (en) 2019-08-07
CN105791882A (zh) 2016-07-20
US10951818B2 (en) 2021-03-16
WO2017161907A1 (zh) 2017-09-28

Similar Documents

Publication Publication Date Title
CN105791882B (zh) 视频编码方法及装置
US10225546B2 (en) Independent multi-resolution coding
KR101904625B1 (ko) 비디오 코딩에서 서브-디코딩된 픽처 버퍼 (서브-dpb) 기반의 dpb 동작들을 위한 시그널링
US20070041443A1 (en) Method and apparatus for encoding multiview video
JPWO2016140083A1 (ja) 画像処理装置および画像処理方法
US20230328241A1 (en) Tile and sub-picture partitioning
JP2022166303A (ja) イントラインター予測モードを改善するための方法及び装置、並びにコンピュータプログラム
EP3975565A1 (en) Image prediction method, coder, decoder, and storage medium
JP2021517798A (ja) インター予測モードに基づいた映像処理方法及びそのための装置
Rondao Alface et al. 16k cinematic VR streaming
CN113273185A (zh) 视频编码中的段类型
JP2023120367A (ja) イントラインター予測を制御する方法、エンコーダ、デコーダ、及びプログラム
US20190191105A1 (en) Efficient blending using encoder
JP2023505270A (ja) ビデオコーディングのための方法および装置
US8503803B2 (en) Method and apparatus for encoding/decoding image by partitioning image
JP2022504379A (ja) イントラ予測におけるイントラモード選択
US20230103405A1 (en) Method and apparatus for intra block copy prediction with sample padding
JP2023536585A (ja) 閲覧方向に基づくビットストリームのランダムアクセスのサポート
US11295541B2 (en) Method and apparatus of 360 degree camera video processing with targeted view
JP2023509684A (ja) ピクチャヘッダを含む映像情報をコーディングする映像デコーディング方法及びその装置
JP7492023B2 (ja) 混成nalユニットタイプに基づく画像符号化/復号化方法及び装置、並びにビットストリームを保存する記録媒体
RU2784414C1 (ru) Сигнализация размера выходного изображения для передискретизации опорного изображения
US20230086077A1 (en) Method and apparatus for intra block copy (intrabc) mode coding with search range restrictions
KR20220161427A (ko) 픽처 분할 정보 및 서브픽처 정보에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
JP2023549182A (ja) 参照フレームの適応的な並べ替えのための方法および装置

Legal Events

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