基于输入地理位置的解码图块与显示位置同步方法及相关视频解码装置与流程

文档序号:20049981发布日期:2020-03-03 04:31阅读:221来源:国知局
基于输入地理位置的解码图块与显示位置同步方法及相关视频解码装置与流程

本发明是指一种解码图块与显示位置同步方法及相关视频解码装置,尤指一种基于输入地理位置的解码图块与显示位置同步的方法及相关视频解码装置。



背景技术:

在全景虚拟现实(360-degreevirtualreality,简称vr360)应用中,当使用世界地图模式时,视频解码装置(例如,虚拟现实装置)会依照使用者选取的地理位置(例如,经度、纬度及对应视角)来决定其屏幕的显示内容。一般而言,虚拟现实装置可透过网络从世界地图数据库下载图像档案(例如,视频比特流(videobit-stream)),将图像档案暂存于内建存储器(例如,帧缓存器(framebuffer))中,再对图像档案进行解码来取得欲显示的图像,以将之显示于屏幕。

图1绘示根据一地理位置l1,从一世界地图e_map载入一视野区fov1的示意图。图2绘示根据一地理位置l2,从世界地图e_map载入一视野区fov2的示意图。如第1、2图所示,世界地图e_map可依据多个经度及多个纬度而分割为多个图块(tile)编号0~509(例如,30经度*17纬度=510图块)。由于世界地图e_map是由球体表面转换而来的平面地图,因此需显示的分区图像大小或形状会随着不同的经纬度而有所不同。

举例来说,于图1中,当地理位置l1落在纬度0度(赤道)时,视野区(fieldofview)fov1包含图块编号98~111、128~141、158~171、188~201、218~231、248~261、278~291、308~321、338~351、368~381、398~411,共154个图块;其中屏幕的显示内容为一兴趣区(regionofinterest)roi1,兴趣区roi1包含图块编号132~137、160~169、189~200、219~230、249~260、279~290、309~320、340~349、372~307,共80个图块。

于图2中,当地理位置l2落在纬度56度时,视野区fov2包含图块编号0~29、30~59、60~171、90~201、120~231、150~261、180~291、210~321、240~351、270~381,共300个图块;其中屏幕的显示内容为一兴趣区roi2,兴趣区roi2包含图块编号0~29、36~53、67~82、97~112、127~142、157~172、188~201、219~230、250~252、257~259,共144个图块。

比较第1、2图可发现视野区fov1及fov2的长度与宽度皆不同,因此在进行分区图像解码时需要的存储器尺寸(例如,帧缓存器的尺寸)也不同。

目前全景虚拟现实技术采用高效率视频编解码(highefficiencyvideocoding,简称hevc)标准来进行图像编码及解码,然而现有硬件设计可支持的最大像素宽度为4096以及最大像素高度为2560。由于视野区fov2的像素宽度7860超过最大像素宽度4096,造成现有hevc的硬件设计无法支持视野区fov2的图像解码工作,导致虚拟现实装置无法正常显示。

此外,hevc标准定义了运动约束图块集合(motion-constrainedtileset,简称mcts),允许mcts里的图块可独立解码而不需参考其他数据。然而,申请人注意到在进行mcts解码时,若使用者将视角从地理位置l1移动到地理位置l2,现有视频解码装置却未同步变更需解码的目标图块(因为mcts里的图块可独立解码而不需参考其他数据),使得视频解码装置把兴趣区roi1的解码图像映射到兴趣区roi2的显示位置,导致虚拟现实装置显示错误图像。

有鉴于此,如何解决图块重建以及解码图块与显示位置同步的问题,以确保虚拟现实装置能正常显示,实乃本领域的重要课题。



技术实现要素:

因此,本发明的主要目的即在于提供一种解码图块与显示位置同步的方法及相关视频解码装置,以确保虚拟现实装置能正常显示。

本发明揭露一种解码图块与显示位置同步方法,用于一视频解码装置。该方法包含根据一地理位置,判断一输入比特流的一原始图像的一兴趣区,以撷取该兴趣区的兴趣图块数据,其中该兴趣区对应一兴趣图像;根据该兴趣图块数据,重建该输入比特流,以产生一重建比特流;解码该重建比特流,以产生一重建解码图像;以及根据该兴趣图块数据,将该重建解码图像转换为该兴趣图像。

本发明另揭露一种视频解码装置,用于一电子装置,包含一比特流接收单元,用来接收一输入比特流;一解码帧缓存器,用来暂存该输入比特流的一重建解码图像;以及一处理器,耦接于该比特流接收单元以及该解码帧缓存器,用来执行一解码图块与显示位置同步流程,其中该解码图块与显示位置同步流程包含上述解码图块与显示位置同步方法的所有步骤。

本发明的视频解码装置可根据使用者输入的地理位置,撷取输入比特流的图像帧中属于兴趣区的相关图像解码数据;在给定解码帧缓存器尺寸的条件下,根据相关图像解码数据来重建输入比特流,以产生重建比特流;对重建比特流进行图像解码,以产生重建解码图像并将之暂存于解码帧缓存器;最后将重建解码图像(例如,属于兴趣区的图块)进行重组,以还原并产生解码图像。如此一来,本发明的视频解码装置可在不增加解码帧缓存器面积的前提下,针对属于兴趣区的相关图块进行解码,如此可确保电子装置能正常显示解码图像,也可避免增加视频解码装置的硬件成本。此外,由于重建比特流是依据使用者输入的地理位置及对应兴趣区的相关图像解码数据来产生,因此可确保电子装置显示的解码图像能正确映射到使用者输入的地理位置。

附图说明

图1绘示根据一地理位置,从一世界地图载入一视野区的示意图。

图2绘示根据另一地理位置,从一世界地图载入另一视野区的示意图。

图3为本发明实施例一电子装置的功能方块图。

图4为一hevc比特流的编码格式范例的示意图。

图5a到图5f为本发明多个实施例图块分组与填补方式的示意图。

图6为本发明实施例一解码图块与显示位置同步流程的流程图。

图7为本发明实施例一比特流编码流程的流程图。

符号说明

e_map世界地图

l1、l2地理位置

fov1、fov2视野区

roi1、roi2兴趣区

3电子装置

30视频解码装置

32图像处理器

34显示帧缓存器

300比特流接收单元

301兴趣区定位单元

302比特流重建单元

303视频解码器

304局部区填补单元

305解码帧缓存器

6、7流程

601、602、603、604、701、702、703、704、705步骤

具体实施方式

图3为本发明实施例一电子装置3的功能方块图。电子装置3包含一视频解码装置30、一图像处理器(graphicprocessingunit,gpu)32以及一显示帧缓存器34。电子装置3可以是虚拟现实装置或桌面计算机、笔记本电脑、智能型手机等装置。

视频解码装置30包含一比特流接收单元300、一兴趣区(regionofinterest,roi)定位单元301、一比特流重建(bit-streamrewriting)单元302、一视频解码器303、一局部区填补(partialregionfilling)单元304以及一解码帧缓存器305。视频解码装置30耦接于图像处理器32,用来对一输入比特流(例如,用于全景虚拟现实的视频比特流)进行解码,以产生一解码图像到图像处理器32;接着,图像处理器32可将解码图像写入显示帧缓存器34,以将之显示于显示器。于一实施例中,输入比特流包含的原始图像的分辨率为8k*4k(8192*4320)像素,而重建解码图像的分辨率为4k*2k(4096*2560)像素。

视频解码装置30可根据使用者输入的一地理位置,撷取输入比特流的一图像帧中属于兴趣区的相关图像解码数据;在给定解码帧缓存器305尺寸的条件下,根据相关图像解码数据来重建输入比特流,以产生一重建比特流;对重建比特流进行图像解码,以产生一重建解码图像并将之暂存于解码帧缓存器305;最后将重建解码图像(例如,属于兴趣区的图块)进行重组,以还原并产生解码图像。如此一来,本发明的视频解码装置30可在不增加解码帧缓存器305大小的前提下,针对属于兴趣区的相关图块进行解码,如此可确保电子装置3能正常显示解码图像,也可避免增加视频解码装置30的硬件成本。此外,由于重建比特流是依据使用者输入的地理位置及对应兴趣区的相关图像解码数据来产生,因此可确保电子装置3显示的解码图像能正确映射到使用者输入的地理位置。

于一实施例中,输入比特流是依据高效率视频编解码(highefficiencyvideocoding,简称hevc)定义的编码规范来产生,如图4所示,其绘示一hevc比特流的编码格式范例的示意图。hevc比特流由多组网络提取层单元串流(networkabstractionlayerunitstream,nalunitstream)所组成,其包含多个编码视频序列(codedvideosequence)。每一编码视频序列用来显示一视频,其包含一瞬时解码刷新(instantaneousdecodingrefresh,idr)存取单元以及多个存取单元(accessunit),而每一存取单元可解码为该编码视频序列的一图像帧。存取单元包含多个语法元素(syntax

element),例如一视频参数子集(videoparameterset,vps)、一序列参数子集(sequenceparameterset,sps)、一图像参数子集(pictureparameterset,pps)、一辅助增强信息(supplementalenhancementinformation,sei)以及多个片段(slice),其中每一片段包含一片段表头(header)以及一片段数据,且每一片段包含多个图块。vps、sps、pps、sei等参数子集的分类为非视频编码层(nonvideocodinglayer,non-vcl),vps、sps、pps用来描述整个图像帧进行解码时所需的相关参数,sei用来描述使用者定义数据(userdefinedmetadata),例如运动约束图块集合的位置。多个片段的分类为视频编码层,用来描述片段包含的多个图块进行解码时所需的相关参数。

请再次参考图3。比特流接收单元300耦接于兴趣区定位单元301,用来剖析输入比特流,以撷取一图像帧在进行解码时所需的相关参数。于一实施例中,比特流接收单元300剖析输入比特流的存取单元的多个非视频编码层参数子集(例如vps、sps、pps等参数子集),以撷取存取单元包含的图像帧在进行解码时所需的相关参数。

兴趣区定位单元301耦接于比特流接收单元300及比特流重建单元302,用来根据地理位置,对输入比特流进行解码,以撷取图像帧的兴趣区在进行解码时所需的相关参数(例如,兴趣图块数据)。于一实施例中,兴趣区定位单元301可解码存取单元的多个片段表头;根据图像参数子集(psp)来取得图像帧的所有图块配置信息;以及根据地理位置(例如是包含经纬度的坐标)及所有图块配置信息,从多个片段中撷取属于兴趣区的兴趣图块数据。

于一实施例中,兴趣区定位单元301可读取辅助增强信息描述的使用者定义数据、透过一系统应用组件(androidapplicationpackage,apk)或透过一硬件定位模块,以取得地理位置。例如,使用者可透过电子装置3的使用者接口来输入经纬度,以供兴趣区定位单元301取得地理位置;或者,电子装置3的系统应用组件及硬件定位模块可自动侦测使用者操作来判断经纬度,以取得地理位置。

比特流重建单元302耦接于兴趣区定位单元301及视频解码器303,用来将输入比特流转换为一重建比特流。于一实施例中,比特流重建单元302可在给定解码长度及宽度的条件下,根据兴趣区的兴趣图块数据,改写存取单元的多个非视频编码层参数子集(例如vps、sps、pps、sei等参数子集),再改写多个片段表头的片段地址,最后将兴趣图块数据以字节级(byte-level)的格式来编入(stitch)存取单元的片段数据,以产生重建比特流。

于一实施例中,比特流重建单元302对视频参数子集(vps)重新编码,以描述视频编码范围及阶层(profileandlevel);对序列参数子集(sps)重新编码,以描述图像尺寸及范围;以及对图像参数子集(pps)重新编码,以描述单一图块及图块子集(tileset)的尺寸。

于一实施例中,比特流重建单元302对一视频可用信息(videousabilityinformation,vui)重新编码,以描述图像长宽比(aspectratio)、过扫描(overscan)及颜色基础(colorprimaries)等信息。此外,比特流重建单元302对多个片段表头进行编码,以描述属于兴趣图块的起点(entrypoint)。

于一实施例中,比特流重建单元302根据兴趣图块数据以及解码长度及宽度(例如,解码帧缓存器305的长度及宽度),对辅助增强信息(sei)重新编码,以描述属于兴趣图块的尺寸及位置。于一实施例中,比特流重建单元302根据兴趣图块数据,对比特流有效位(bit-streampayload)中的任何虚设位(dummybit)或专用位(proprietybit)进行编码,以描述兴趣图块的尺寸及位置。

视频解码器303耦接于比特流重建单元302及解码帧缓存器305,用来对重建比特流进行解码,以输出兴趣区的兴趣图块数据到解码帧缓存器305。于一实施例中,比特流重建单元302是根据hevc规范,对输入比特流进行重新编码来产生重建比特流,因此视频解码器303可以是一hevc解码器。

解码帧缓存器305耦接于视频解码器303及局部区填补单元304,用来缓存兴趣图块,以产生重建解码图像。于一实施例中,视频解码器303可于解码时,配置兴趣图块的缓存地址及硬件空间,以将兴趣图块缓存于解码帧缓存器305。

局部区填补单元304耦接于解码帧缓存器305及图像处理器32,用来将重建解码图像转换为解码图像,以将解码图像输出到图像处理器32并缓存于显示帧缓存器34。于一实施例中,局部区填补单元304可直接将解码图像缓存于显示帧缓存器34而不需透过图像处理器32。

于一实施例中,在给定解码帧缓存器305的长度及宽度的条件下,比特流重建单元302可将属于兴趣区的多个兴趣图块分组为多个局部图像,其中每个局部图像相当于一个运动约束图块集合(或兴趣图块子集)。因此,比特流重建单元302可根据多个兴趣图块子集的兴趣图块子集数据,来对输入比特流进行重新编码,以产生重建比特流。如此一来,在视频解码器303对重建比特流进行解码并将重建解码图像缓存到解码帧缓存器305之后,局部区填补单元304可根据兴趣图块子集数据,将多个局部图像填补到世界地图的显示位置,以还原兴趣区图像(即,将重建解码图像转换为解码图像)。

于一实施例中,兴趣图块子集数据指示输入比特流的原始图像的高度及宽度、多个兴趣图块子集的数量、重建解码图像缓存在解码帧缓存器305的位置、解码图像缓存在显示帧缓存器34的位置、兴趣区的高度及宽度。

表格1为兴趣区定位单元301取得兴趣图块数据的范例,其中于hevc规范中,「user_data_unregistered」是用来表示辅助增强信息(sei)的功能语法,用来传递兴趣图块数据(或兴趣图块子集数据);

「uuid_iso_iec_11578」是一通用唯一标识符(universallyuniqueidentifier,uuid),用来指示辅助增强信息是用来描述图块布局(layout);

「roi_window」是用来撷取兴趣图块数据的功能函数;

「user_data_payload_byte」是用来传递兴趣图块数据的功能函数。

于表格1的实施例中,兴趣区定位单元301可根据地理位置,对输入比特流进行解码,以产生「org_width、org_height、number_of_position、src_x、src_y、dst_x、dst_y、pos_w、pos_h」等兴趣图块数据,让比特流重建单元302根据上述数据来对输入比特流进行重新编码。于解码时,当视频解码器303读取「user_data_unregistered」的辅助增强信息(sei)的功能语法时,可识别其中的「uuid_iso_iec_11578」使用者定义功能卷标是用于来描述图块布局,最后透过「user_data_payload_byte」功能函数来传递兴趣图块数据到局部区填补单元304。因此,局部区填补单元304可根据兴趣图块数据,将重建解码图像转换为解码图像。

于一实施例中,经实验分析,在给定解码帧缓存器以及每个图块的位置与尺寸时,即可列出所有可能的图块分组与填补方式,以将图块缓存到解码帧缓存器。图块分组与填补方式可编译为一编码书(codebook),让比特流重建单元302依据编码书来进行图块分组与填补,以重建比特流;之后再让局部区填补单元304依据解码书来进行图块分组与填补的反向操作,以还原解码图像。

图5a到图5f为本发明多个实施例图块分组与填补方式的示意图。假设解码帧缓存器305的长度(x位置)是10单位分辨率且宽度(y位置)是8单位分辨率;显示帧缓存器34的长度是15单位分辨率且宽度是9单位分辨率,且包含显示缓存器编号34(0)~34(134)。

于图5a到图5c,兴趣区分组为三个兴趣局部图像,其中第一兴趣局部图像以右斜线图案表示,第二局部兴趣图像以点图案表示,第三局部兴趣图像以左斜线图案表示。

图5a到图5c说明使用者移动水平视角(即,地理位置的纬度)而使得兴趣区的显示位置改变但尺寸不变。据此,图5a的兴趣图块数据指示第一、第二、第三兴趣局部图像的起点分别为显示缓存器34(0)、34(10)、34(55);图5b的兴趣图块数据指示第一、第二、第三兴趣局部图像的起点分别为显示缓存器编号34(30)、34(40)、34(85);图5c的兴趣图块数据指示第一、第二、第三兴趣局部图像的起点分别为显示缓存器编号34(60)、34(70)、34(115)。

于图5d及图5e,兴趣区分组为二个兴趣局部图像,其中第一兴趣局部图像以右斜线图案表示,第二局部兴趣图像以点图案表示。图5d到图5e说明使用者移动水平视角(即,地理位置的纬度)而使得兴趣区的显示位置改变但尺寸不变。据此,图5d的兴趣图块数据指示第一、第二兴趣局部图像的起点分别为显示缓存器34(0)、34(10);图5e的兴趣图块数据指示第一、第二兴趣局部图像的起点分别为显示缓存器编号34(75)、34(85)。如此一来,当使用者移动水平视角时,可确保电子装置3显示的解码图像能正确映射到使用者输入的地理位置。

图5f说明使用者移动垂直视角(即,地理位置的经度)而使得兴趣区呈现不连续图像,其中第一兴趣局部图像以右斜线图案表示,第二局部兴趣图像以点图案表示。据此,图5f的兴趣图块数据指示第一、第二兴趣局部图像的起点分别为显示缓存器34(6)、34(0),局部区填补单元304可将属于第一兴趣局部图像的解码帧缓存器编号305(0)~305(8)、305(9)的图块数据分别缓存到显示缓存器编号34(6)~34(14)、34(0),以此类推。如此一来,当使用者移动垂直视角时,可确保电子装置3显示的解码图像能正确映射到使用者输入的地理位置。

以图5a为例,当收到输入比特流时,兴趣区定位单元301可根据地理位置,判断兴趣区包含对应到显示缓存器编号34(0)~34(74)的图块,以产生兴趣区信息;比特流重建单元302可根据兴趣区信息来重建输入比特流,以产生重建比特流;视频解码器303对重建输入比特流进行解码,以将兴趣区的兴趣图像缓存于解码帧缓存器305(如图5a的第一、第二、第三兴趣局部图像的图块布局);最后,局部区填补单元304将第一兴趣局部图像缓存到显示缓存器编号34(0)~34(9)、34(15)~34(24)、34(30)~34(39)、34(45)~34(54)、34(60)~34(69),将第二兴趣局部图像缓存到显示缓存器编号,34(10)~34(14)、34(25)~34(29)、34(40)~34(44),将第三兴趣局部图像缓存到显示缓存器编号,34(55)~34(59)、34(70)~34(74),其余图5b~图5f皆可以此类推。

视频解码装置30的操作方式可归纳为一解码图块与显示位置同步流程6,如图6所示,其中解码图块与显示位置同步流程6包含以下步骤。

步骤601:根据一地理位置,判断一输入比特流的一原始图像的一兴趣区,以撷取兴趣区的兴趣图块数据,其中兴趣区对应一兴趣图像。

步骤602:根据兴趣图块数据,重建输入比特流,以产生一重建比特流。

步骤603:解码重建比特流,以产生一重建解码图像。

步骤604:根据兴趣图块数据,将重建解码图像转换为兴趣图像。

于解码图块与显示位置同步流程6中,步骤601可由比特流接收单元300及兴趣区定位单元301来执行;步骤602可由比特流重建单元302来执行;步骤603可由视频解码器303来执行;步骤604可由局部区填补单元304及解码帧缓存器305来执行。关于解码图块与显示位置同步流程6的详细操作可参考上述说明。

于步骤602,比特流重建单元302可进行一比特流编码流程7,以产生重建比特流,如图7所示,其中比特流编码流程7包含以下步骤。

步骤701:接收输入比特流的多个图块中的一当前图块。

步骤702:根据兴趣区的兴趣图块数据,重建输入比特流的一图块布局。

步骤703:判断当前图块是否属于兴趣区?若是,进行步骤704;若否,回到步骤701。

步骤704:根据图块布局,调整当前图块的图块地址。

步骤705:产生重建比特流。

编码流程7中,于步骤702,比特流重建单元302根据兴趣区的兴趣图块数据,对存取单元的多个非视频编码层参数子集(例如vps、sps、pps、sei等参数子集)进行编码,以重建输入比特流的图块布局。于步骤703、704,比特流重建单元302对多个片段表头进行编码,以调整当前图块的图块地址。于步骤705,比特流重建单元302将兴趣图块数据编入存取单元的片段数据,以产生重建比特流。

综上所述,本发明的视频解码装置可根据使用者输入的地理位置,撷取输入比特流的图像帧中属于兴趣区的相关图像解码数据;在给定解码帧缓存器尺寸的条件下,根据相关图像解码数据来重建输入比特流,以产生重建比特流;对重建比特流进行图像解码,以产生重建解码图像并将之暂存于解码帧缓存器;最后将重建解码图像(例如,属于兴趣区的图块)进行重组,以还原并产生解码图像。如此一来,本发明的视频解码装置可在不增加解码帧缓存器面积的前提下,针对属于兴趣区的相关图块进行解码,如此可确保电子装置能正常显示解码图像,也可避免增加视频解码装置的硬件成本。此外,由于重建比特流是依据使用者输入的地理位置及对应兴趣区的相关图像解码数据来产生,因此可确保电子装置显示的解码图像能正确映射到使用者输入的地理位置。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1