CN117692705A - 触觉信号插值方法、装置、电子设备以及存储介质 - Google Patents
触觉信号插值方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN117692705A CN117692705A CN202311693600.6A CN202311693600A CN117692705A CN 117692705 A CN117692705 A CN 117692705A CN 202311693600 A CN202311693600 A CN 202311693600A CN 117692705 A CN117692705 A CN 117692705A
- Authority
- CN
- China
- Prior art keywords
- haptic
- interpolation
- signal
- event
- haptic event
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000004590 computer program Methods 0.000 claims description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 239000012634 fragment Substances 0.000 claims description 11
- 238000005538 encapsulation Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 230000002459 sustained effect Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 19
- 230000006870 function Effects 0.000 description 29
- 230000015654 memory Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 230000035807 sensation Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 238000007654 immersion Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000000638 stimulation Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 210000001640 nerve ending Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012559 user support system Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种触觉信号插值方法、装置、电子设备以及存储介质,其属于触觉信号的编解码技术领域,该触觉信号插值方法包括:通过解码触觉信号的位流,确定第一触觉事件中第一触觉事件组件的插值类型;基于第一触觉事件组件的插值类型,在第一触觉事件组件的信号值和第一触觉事件组件之后的第二触觉事件组件的信号值之间进行信号值插值,并得到触觉信号。该触觉信号插值方法能够更加精确和灵活地表示不同类型的触觉信号,并节省触觉信号表示的开销,进而能够提升触觉媒体消费者的用户体验以及降低触觉媒体传输的带宽消耗。
Description
技术领域
本申请涉及触觉信号的编解码技术领域,并且更具体地,涉及一种触觉信号插值方法、装置、电子设备以及存储介质。
背景技术
沉浸式媒体内容的呈现往往伴随着各种各样的可穿戴设备或者可交互设备。因此,在沉浸式媒体在呈现方式上,除了传统的视觉和听觉方面的呈现外,还具备触觉呈现这种新的呈现方式。触觉呈现通过硬件与软件结合的触觉呈现机制,允许用户通过他们的身体接收信息,以提供一种嵌入式的身体感觉,进而传递用户正在使用的系统的关键信息。例如,手机可以通过振动来提醒用户收到了一条信息,这种振动是触觉呈现的一种类型。触觉呈现可以增强听觉和视觉呈现,提高用户体验。
相关技术中,可以通过触觉信号的传递来实现触觉呈现,具体地,可以将触觉信号定义为触觉事件,并支持将触觉事件分解为多个触觉事件组件,进而实现可对触觉信号的传递。
但是,这种定义触觉信号的方式,有可能会导致触觉信号表示灵活性过差以及表示开销过大,进而出现触觉媒体消费者的用户体验过差以及触觉媒体传输的带宽消耗过大等问题。
发明内容
本申请实施例提供了一种触觉信号插值方法、装置、电子设备以及存储介质,能够更加精确和灵活地表示不同类型的触觉信号,并节省触觉信号表示的开销,进而能够提升触觉媒体消费者的用户体验以及降低触觉媒体传输的带宽消耗。
第一方面,本申请实施例提供了一种触觉信号插值方法,包括:
通过解码触觉信号的位流,确定第一触觉事件中第一触觉事件组件的插值类型;
基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,并得到所述触觉信号。
第二方面,本申请实施例提供了一种触觉信号插值方法,包括:
获取触觉信号;
基于所述触觉信号,确定第一插值类型,所述第一插值类型用于在第一触觉事件中第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值。
第三方面,本申请实施例提供了一种触觉信号插值装置,包括:
确定单元,用于通过解码触觉信号的位流,确定第一触觉事件中第一触觉事件组件的插值类型;
插值单元,用于基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,并得到所述触觉信号。
第四方面,本申请实施例提供了一种触觉信号插值装置,包括:
获取单元,用于获取触觉信号;
确定单元,用于基于所述触觉信号,确定第一插值类型,所述第一插值类型用于在第一触觉事件中第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值。
第五方面,本申请实施例提供了一种电子设备,包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上文涉及的第一方面或第二方面提供的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上文涉及的第一方面或第二方面提供的方法。
第七方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上文涉及的第一方面或第二方面提供的方法。
本申请实施例中,通过解码触觉信号的位流,确定第一触觉事件中第一触觉事件组件的插值类型;基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,并得到所述触觉信号。相当于,通过信号值插值,不仅可以灵活恢复不同类型的触觉信号,即更加精确和灵活地表示不同类型的触觉信号,还能够减少位流中需要携带的触觉事件组件的信息,即能够节省触觉信号表示的开销,进而能够提升触觉媒体消费者的用户体验以及降低触觉媒体传输的带宽消耗。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的三自由度的示意图。
图2是本申请实施例提供的三自由度+的示意图。
图3是本申请实施例提供的六自由度的示意图。
图4是本申请实施例提供的一种系统架构的示意图。
图5是本申请实施例提供的一种沉浸媒体系统的示意图。
图6是本申请实施例提供的触觉信息表示的数据结构的示意图。
图7是本申请实施例提供的一种触觉信号插值方法的示意性流程图。
图8本申请实施例提供的位流的格式的示例。
图9是本申请实施例提供的插值原理的示例。
图10是本申请实施例提供的另一种触觉信号插值方法的示意性流程图。
图11是本申请实施例提供的一种触觉信号插值装置的示意性框图。
图12是本申请实施例提供的另一种触觉信号插值装置的示意性框图。
图13是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请提供的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解本申请提供的技术方案,下面对相关术语进行说明。
触觉(Haptics):人体通过接触获得的感官体验,比如振动、压力、温度等。
触觉信号(Haptics Signal):用于表示特定模态触觉体验,在特定设备上渲染呈现的信号。
JavaScript对象简谱(JavaScript Object Notation,JSON):是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
位流(Bit stream):也可称为码流,指经过压缩编码后的二进制数据流。
轨道(Track):轨道是媒体文件封装过程中的媒体数据集合,由多个时序的样本组成。一个媒体文件可由一个或多个轨道组成,例如常见的:一个媒体文件可以包含一个视频媒体轨道、一个音频媒体轨道及一个字幕媒体轨道。特别地,元数据信息也可以作为一种媒体类型,以元数据媒体轨道的形式包含于文件中。
项目(Item)项目,项目是媒体文件封装过程中非时序媒体数据的封装单元。比如一幅静态图片可以被封装为一个项目。
样本(Sample):样本是媒体文件封装过程中的封装单位,一个轨道由很多个样本组成,每个样本对应特定的时间戳信息,例如:一个视频媒体轨道可以由很多个样本组成,一个样本通常为一个视频帧。在本申请实施例中,触觉媒体轨道中的一个样本可以为一个或多个触觉信号。
子样本(Sub-sample):子样本是样本的一部分数据。
样本序号(Sample Number):轨道中第一个样本的序号为1。
样本入口(Sample Entry):用于指示轨道中所有样本相关的元数据信息。比如在视频轨道的样本入口中,通常会包含解码器初始化相关的元数据信息。
样本群组(Sample Group):用于将轨道中部分样本按照特定的规则进行群组划分。
基于HTTP的动态自适应流(dynamic adaptive streaming over HTTP,DASH:):是一种自适应比特率流技术,使高质量流媒体可以通过传统的HTTP网络服务器以互联网传递。
媒体呈现描述(Media Presentation Description,MPD):DASH中的媒体演示描述信令,用于描述媒体片段信息。
表示(Representation):DASH中一个或多个媒体成分的组合,比如某种分辨率的视频文件可以看作一个表示。
适配集(Adaptation Sets):DASH中,一个或多个视频流的集合,一个适配集中可以包含多个表示。
媒体片段(Media Segment):符合一定的媒体格式、可播放的片段。播放时可能需要与其前面的0个或多个片段以及初始化片段配合。
自由度(Degree of Freedom,DoF):指用户在观看沉浸式媒体时支持的运动并产生内容交互的自由度。
三自由度(3DoF):例如,如图2所示,指用户头部围绕x轴,y轴,z轴旋转的三种自由度。
三自由度+(3DoF+):即在三自由度的基础上,用户还拥有沿x轴,y轴,z轴有限运动的自由度。例如,如图3所示,在三自由度的基础上,用户还拥有沿x轴,y轴,z轴前后左右运动的自由度。
六自由度(6DoF):即在三自由度的基础上,用户还拥有沿x轴,y轴,z轴自由运动的自由度。例如,如图4所示,在三自由度的基础上,用户还拥有沿x轴,y轴,z轴前后左右运动的自由度。
音视频编码标准(Audio Video Coding Standard,AVS):是一种对音频和视频数据进行压缩和编码的技术规范,旨在减小音视频数据的存储空间和传输带宽,同时保持良好的音质和视频质量。
基于ISO标准的媒体文件格式(ISO Based Media File Format,ISOBMFF):是媒体文件的封装标准,最典型的ISOBMFF文件即MP4文件。
智能媒体传输标准(Smart Media Transport,SMT):规定了涵盖封装格式、传输协议及信令消息的智能媒体传输技术,以应用于异构包交换网络(Heterogeneous PacketSwitching Network)下多媒体数据的传输和发送。
媒体资源(asset):任何和唯一标识符相关的用作构建一个多媒体呈现的多媒体数据实体。
需要说明的是,本申请的实施方式部分使用的术语仅用于对本申请的实施例进行解释,而非旨在限定本申请。
例如,本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。术语“至少一项”,仅仅是一种描述列举对象的组合关系,表示可以存在一项或多项,例如,以下中的至少一项:A、B、C,可以表示以下几种组合情况:单独存在A,单独存在B,单独存在C,同时存在A和B,同时存在A和C,同时存在B和C,同时存在A、B以及C。术语“多个”是指两个或两个以上。字符“/”,一般表示前后关联对象是一种“或”的关系。
再如,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。术语“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有关联关系。术语“预定义”或“预配置”可以在设备中预先保存相应的代码、表格或其他可用于指示的相关信息,也可以是指由协议约定。“协议”可以指本领域的标准协议。术语“在……时”可以被解释成为“如果”或“若”或“当……时”或“响应于”等类似描述。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”等类似描述。术语“第一”、“第二”、“第三”、“第四”、“第A”、“第B”等是用于区别不同对象,而不是用于描述特定顺序。术语“包括”和“具有”以及它们任何变形,意图在于覆盖不(或非)排他的包含。其中,数字视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。
下面将对本申请实施例的应用场景、所要解决的技术问题以及发明构思进行说明。
本申请提供的方案还可涉及车载技术领域。
本申请提供的方案还可涉及编解码标准或技术。
本申请提供的方案可应用于数字视频编码技术领域,例如,图像编解码领域、视频编解码领域、硬件视频编解码领域、专用电路视频编解码领域、实时视频编解码领域。或者说,本申请提供的方案可结合至:音视频编码标准(Audio Video coding Standard,AVS)、第二代AVS标准(AVS2)或第三代AVS标准(AVS3)。具体包括但不限于H.264/音视频编码(Audio Video coding,AVC)标准、H.265/高效视频编码(High Efficiency Video Coding,HEVC)标准以及H.266/多功能视频编码(Versatile Video Coding,VVC)标准。或者说,本申请提供的方案可结合至其它专属或行业标准,示例性地,具体可以包含ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual,ITU-TH.264(也可称为ISO/IECMPEG-4AVC),也包含可分级视频编解码(SVC)及多视图视频编解码(MVC)扩展。
本申请涉及的客户端可以是用户终端。可选的,该用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
图4是适用于本申请实施例的应用场景100的示意性图。
如图4所示,该应用场景100可终端110和服务器120。其中,终端110和服务器120通过有线或无线方式进行直接或间接地连接。
其中,服务器120可以根据预期的触觉效果制作或采集触觉媒体信号,并生成触觉信号的交换格式,触觉信号的交换格式也可以称为符合交换格式的信号数据,服务器120生成触觉信号的交换格式后,可对触觉信号的交换格式进行编码得到触觉信号的位流(也可称为码流),并对触觉信号的位流进行封装,得到触觉信号的媒体文件或媒体片段,然后将该媒体文件或媒体片段传输给客户端110。
相对应地,终端110接收端服务器120发送的媒体文件或媒体片段后,可以先对媒体文件或媒体片段进行解封装以及解码,得到触觉信号的交换格式,并基于触觉信号的交换格式进行信号的渲染以及呈现。其中,终端110可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音或手写等一种或多种方式进行人机交互的电子产品。
示例性的,终端可以包括但不限于上述手机、平板电脑(Tablet PersonalComputer)、膝上型电脑(Laptop Computer)、笔记本电脑、个人数字助理(PersonalDigital Assistant,PDA)、掌上电脑、上网本、超级移动个人计算机(Ultra-mobilePersonal Computer,UMPC)、移动上网装置(Mobile Internet Device,MID)、增强现实(Augmented Reality,AR)、虚拟现实(Virtual Reality,VR)设备、机器人、可穿戴式设备(Wearable Device)、飞行器(flight vehicle)、车载设备(Vehicle User Equipment,VUE)、船载设备、行人终端(Pedestrian User Equipment,PUE)、智能家居(具有无线通信功能的家居设备,如冰箱、电视、洗衣机或者家具等)、游戏机、个人计算机(PersonalComputer,PC)、柜员机或者自助机等终端侧设备。可穿戴式设备包括:智能手表、智能手环、智能耳机、智能眼镜、智能首饰(智能手镯、智能手链、智能戒指、智能项链、智能脚镯、智能脚链等)、智能腕带、智能服装等。其中,车载设备也可以称为车载终端、车载控制器、车载模块、车载部件、车载芯片或车载单元等。
服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础“云”计算服务的云服务器。
应理解,上述终端110和服务器120仅为举例,其他现有的或今后可能出现的终端或服务器的其他实现方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
本申请提供的方案涉及沉浸式媒体内容,下面对其相关内容进行说明。
沉浸式媒体内容指能为消费者带来沉浸式体验的媒体内容,沉浸式媒体内容按照用户在消费媒体内容时的自由度,可以分为3DoF媒体、3DoF+媒体以及6DoF媒体。
图5是本申请实施例提供的沉浸媒体系统的示意图。
如图5所示,沉浸媒体系统包括文件封装器和文件解封装器。
其中,预期的触觉媒体效果(A)可以用于采集或制作触觉信号的交换格式(B),触觉信号的交换格式也可以称为符合交换格式的信号数据。交换格式(B)经过编码得到位流(E)。然后,根据特定的文件格式,位流(E)被组合成用于文件回放的媒体文件(F)或用于流式传输(Fs)的初始化段和媒体片段的序列。文件封装器还可以将元数据包含到文件或片段中。使用递送机制将片段Fs递送给玩家。
文件封装器输出的文件(F)与文件解封装器输入的文件(F')相同。文件解封装器处理媒体文件(F')或接收到的片段(F's),并通过解封装得到位流(E')并通过解析得到交换格式(D'),交换格式(D')可用于进行渲染以及呈现给用户。在适用的情况下,根据当前的观看位置、观看方向或由各种类型的传感器(例如头部)确定的视口,将视觉图像渲染并动态显示在头戴式显示器或任何其他显示设备的屏幕上,其中动态显示可以使用位置传感器或眼动传感器实现。
沉浸式媒体内容的呈现往往伴随着各种各样的可穿戴设备或者可交互设备。因此,在沉浸式媒体在呈现方式上,除了传统的视觉和听觉方面的呈现外,还具备触觉呈现这种新的呈现方式。触觉呈现通过硬件与软件结合的触觉呈现机制,允许用户通过他们的身体接收信息,以提供一种嵌入式的身体感觉,进而传递用户正在使用的系统的关键信息。例如,手机可以通过振动来提醒用户收到了一条信息,这种振动是触觉呈现的一种类型。触觉呈现可以增强听觉和视觉呈现,提高用户体验。
截止目前,触觉信息呈现已经有了较为广泛的应用,且通常分为以下类别:振动触觉,以振动的形式直接进行触觉呈现;运动学触觉,模拟物体的重量或压力等运动状态;电触觉,通过电刺激模拟特定质地的反馈信息。具体如下:
1.振动触觉。
通过终端设备的马达振动模拟出特定频率和强度的振动。例如,射击游戏中通过振动模拟出设备使用时的特定效果。
2.运动学触觉。
运动学触觉系统模拟物体的重量或压力。例如,在一个驾驶视频游戏中,当以较高的速度移动或操作较重的车辆时,方向盘可能会抵制转动。这种类型的反馈直接影响用户的肌肉。在驾驶游戏的例子中,用户必须施加更多的力量才能从方向盘获得所需的反应。
3.电触觉。
电触觉呈现使用电脉冲向用户皮肤的神经末梢提供触觉刺激。电触觉呈现可以为穿着装有电触觉技术的套装或手套的用户创造高度真实的体验。几乎任何感觉都可以用电脉冲来模拟:温度变化、压力变化、潮湿感。
从当前业界的触觉呈现技术不难看出,从日常普遍应用的设备振动触觉,到细分领域的多样化触觉呈现,触觉呈现本身已经是一种用户习惯的呈现方式。而随着可穿戴设备和可交互设备的普及,用户在消费媒体内容时可感知的触觉呈现将不再局限于基础的振动触觉,而是包括振动、压力、速度、加速度、温度、湿度、嗅觉等全方位体感的更逼近真实世界的触觉呈现体验。
图6是本申请实施例提供的触觉信息表示的数据结构的示意图。
如图6所示,触觉信息表示的最高层级的数据结构为触觉体验,用于描述文件或位流中全部的触觉体验信息。触觉体验包括触觉体验相关的元数据信息、可能的设备信息,以及一个或多个触觉模式。触觉模式对应某种类型(比如振动、压力、温度等)的触觉信号,触觉模式中包括触觉模式相关的元数据信息、可能预定义的知识事件、以及一个或多个触觉通道。触觉通道包含相应触觉模式的全部或部分触觉信号,触觉通道中包括触觉通道相关的元数据信息以及一个或多个触觉事件。通常来说,相同触觉模式下对应于不同渲染设备的触觉信号可以被组织为不同的触觉通道。触觉事件为基本的触觉信号单元,触觉事件中包括触觉事件相关的元数据信息以及可能的触觉事件组件。其中触觉事件组件为触觉事件的时域或频域分量。
下面对各个层级的数据结构进行说明。
1.触觉体验。
触觉体验的数据结构如表1所示。
表1
属性 | 描述 |
version | 指示触觉体验遵循的标准版本信息。 |
creation_date | 指示触觉体验的创建时间。 |
description | 指示触觉体验的描述信息,由用户自定义。 |
timescale | 触觉体验的时间刻度,指示一秒内包含的时钟单位个数。 |
devices | 设备信息元素列表,指示触觉体验相关的一个或多个设备信息。 |
patterns | 触觉模式元素列表,指示触觉体验包含的一个或多个触觉模式。 |
2.设备信息。
设备信息的数据结构如表2所示。
表2
属性 | 描述 |
id | 指示设备的标识符。 |
device_name | 指示设备的(人眼可读的)名称。 |
body_parts | 指示设备对应的身体部位。 |
3.触觉模式。
触觉模式的数据结构如表3所示。
表3
4.触觉通道。
触觉通道的数据结构如表4所示。
表4
5.触觉事件。
触觉事件的数据结构如表5所示。
表5
值得注意的是,知识事件是特殊的触觉事件,其数据结构遵循触觉事件的数据结构定义。知识事件通常为预定义的、可被重复引用的触觉事件,以避免相同触觉事件的重复解析。
6.触觉事件组件。
触觉事件组件的数据结构如表6所示。
表6
由以上内容可知,可以通过触觉信号的传递来实现触觉呈现,具体地,可以将触觉信号定义为触觉事件,并支持将触觉事件分解为多个触觉事件组件,进而实现可对触觉信号的传递。但是,这种定义触觉信号的方式,有可能会导致触觉信号表示灵活性过差以及表示开销过大,进而出现触觉媒体消费者的用户体验过差以及触觉媒体传输的带宽消耗过大等问题。例如,如何通过触觉事件组件恢复原始的触觉信号,以及如何推导介于各个触觉事件组件之间的信号值,并没有明确的相关方案。
有鉴于此,本申请实施例提供了一种触觉信号插值方法、装置、电子设备以及存储介质,通过信号值插值,不仅可以灵活恢复不同类型的触觉信号,即更加精确和灵活地表示不同类型的触觉信号,还能够减少位流中需要携带的触觉事件组件的信息,即能够节省触觉信号表示的开销,进而能够提升触觉媒体消费者的用户体验以及降低触觉媒体传输的带宽消耗。
本申请实施例提供的触觉信号插值方法可应用于触觉反馈相关产品、沉浸式系统的服务器端、播放器端、以及中间节点等环节,本申请对此不做具体限定。
下面对本申请实施例提供的触觉信号插值方法进行说明。
图2示出了根据本申请实施例的触觉信号插值方法200的示意性流程图,该方法200可以由任何具有数据处理能力的电子设备执行。例如,该电子设备可实施为终端。例如,图4所示的终端110。为便于说明,下面以触觉信号插值装置执行该触觉信号插值方法200为例对触觉信号插值方法200进行说明。
如图2所示,所述触觉信号插值方法200可包括:
S210,触觉信号插值装置通过解码触觉信号的位流,确定第一触觉事件中第一触觉事件组件的插值类型。
示例性地,触觉信号是用于传递触觉体验的信号,旨在通过特定设备呈现给用户一种可以感知的触觉反馈。触觉信号可以包含多种模态,例如振动、压力、温度等,以模拟不同的触觉感受。触觉信号可以在特定设备上渲染呈现,以便用户可以通过触摸感受到虚拟对象或场景的纹理、形状、重量等属性,从而增强对虚拟环境的感知和认知。触觉信号的位流可以是对触觉信号的交换格式进行编码得到的位流,触觉信号的位流也可称为触觉信号的码流。触觉信号的交换格式是特地格式的触觉信号的数据。例如,触觉信号的交换格式可以是JSON数据。
图8本申请实施例提供的位流的格式的示例。
如图8所示,触觉信号的位流可包括一个或多个数据单元,所述数据单元可以包括包头(head)和至少一个数据包,例如所述至少一个数据包括可以包括包1~包N。其中,通过解码所述包头,可以确定所述至少一个数据包的相关信息。例如,可以通过解码所述包头中的类型字段,可以确定所述至少一个数据包包括携带有所述第一触觉事件的数据结构的数据包,或者确定所述至少一个数据包包括携带有所述第一触觉事件组件的数据结构的数据包。
在一些实施例中,所述第一触觉事件组件的插值类型包括以下中的至少一项:最近邻插值、线性插值、三次样条插值、阿克玛插值、贝塞尔插值、B样条插值、拉格朗日插值、牛顿插值、自定义算法插值。
下面对各种插值类型进行说明。
最近邻插值(Nearest Neighbor Interpolation)假设每个点的值与其最近的已知点值相同。
线性插值(Linear Interpolation)假设两个已知点之间的值是线性的,即两点之间的中点就是其平均值。
三次样条插值(Cubic Spline Interpolation)使用一组连续的三次多项式函数来连接已知数据点。每个多项式的端点都与两个已知数据点相切,从而确保连续性和平滑性。
阿克曼插值(Akima Interpolation)可以用于估计给定数据点之间的未知数据点的值。这种插值方法基于线性插值,其特点是考虑了数据点之间的曲率变化。
贝塞尔插值(Bezier Interpolation)是一种基于Bezier曲线的插值方法。Bezier曲线是由一组控制点定义的参数曲线,用于平滑地连接已知数据点。在Bezier插值中,通过调整控制点的位置和权重,可以生成经过已知数据点的平滑曲线。这种方法在计算机图形学、动画制作和其他领域中广泛应用,以创建平滑、连续的路径和形状。
B样条插值(B-spline Interpolation):B样条插值使用B样条曲线(一种参数曲线)通过已知数据点。B样条曲线是一种通过一系列控制点定义的连续曲线。
拉格朗日插值(Lagrange Interpolation):拉格朗日插值使用拉格朗日多项式进行插值。拉格朗日多项式是一种特殊的插值多项式。
牛顿插值(Newton Interpolation):牛顿插值使用牛顿差分多项式进行插值。这种方法基于牛顿差分公式,通过已知数据点计算出插值点的多项式。
自定义算法插值(Custom Algorithm Interpolation):自定义算法插值是指根据特定需求或问题,使用自定义的算法进行插值计算。这种方法允许开发人员根据需要实现特定的插值逻辑。
当然,在其他可替代实施例中,所述第一触觉事件组件的插值类型也可以是其他插值类型。例如,包括但不限于:埃尔米特(Hermite)插值,其可以基于给定节点值和导数值进行插值的方法,可以在节点之间生成平滑的曲线。多项式插值,其可以使用多项式函数来通过已知数据点进行插值,例如,可以根据已知数据点的数量,可以选择适当的多项式阶数。径向基函数插值(Radial Basis Function Interpolation),其可以使用径向基函数来估计未知点的值,径向基函数是一种根据距离来计算权重的函数,用于在已知数据点之间进行插值。
S220,触觉信号插值装置基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,并得到所述触觉信号。
示例性地,触觉信号插值装置基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,例如可以插入一个或多个信号值,并基于已有的信号值(即所述第一触觉事件中的触觉信号组件的信号值,其包括所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值)得到所述触觉信号。
示例性地,所述第二触觉事件组件可以是按照所述第一触觉事件中触觉事件组件的解码顺序位于所述第一触觉事件组件之前或之后的触觉事件组件。例如,所述第二触觉事件组件可以是按照所述第一触觉事件中触觉事件组件的解码顺序位于所述第一触觉事件组件之前或之后的第一个触觉事件组件。
本实施例中,通过信号值插值,不仅可以灵活恢复不同类型的触觉信号,即更加精确和灵活地表示不同类型的触觉信号,还能够减少位流中需要携带的触觉事件组件的信息,即能够节省触觉信号表示的开销,进而能够提升触觉媒体消费者的用户体验以及降低触觉媒体传输的带宽消耗。
在一些实施例中,所述S210可包括:
通过解码所述位流,获取第一标识,所述第一标识用于指示插值类型;基于所述第一标识指示的插值类型,确定所述第一触觉事件组件的插值类型。
示例性地,所述第一标识的取值为第一数值时,所述第一标识指示的插值类型可以是所述第一数值对应的插值类型。其中,不同的数值可以对应不同的插值类型。例如,所述第一数值和插值类型的对应关系可以如下所示:
0:最近邻插值。
1:线性插值。
2:三次样条插值。
3:Akima插值。
4:Bezier插值。
5:B样条插值。
6:拉格朗日插值。
7:牛顿插值。
8:自定义算法插值。
在一些实施例中,所述通过解码所述位流,获取第一标识,可实施为:
通过解码所述位流,获取第二标识;在所述第二标识指示存在所述第一标识的情况下,通过解码所述位流,获取所述第一标识。
示例性地,触觉信号插值装置通过解码所述位流,获取第二标识;在所述第二标识指示存在所述第一标识的情况下,通过解码所述位流,获取所述第一标识。在所述第二标识指示不存在所述第一标识的情况下,说明所述位流不包括所述第一标识,这种情况下,可以将默认的插值类型,确定为所述第一触觉事件组件的插值类型,也可以认为可以不需要或者不用在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值。
当然,在其他可替代实施例中,所述第二标识也可以用于指示是否在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值,在所述第二标识指示在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值的情况下,触觉信号插值装置可以直接将默认的插值类型,确定为所述第一触觉事件组件的插值类型,也即是说,触觉信号插值装置可以通过解码所述位流获取所述第二标识,并通过所述第二标识即可确定所述第一触觉事件组件的插值类型,而不需要通过解码所述位流获取上文涉及的第一标识。
在一些实施例中,所述通过解码所述位流,获取第一标识,可实施为:
通过解码所述位流,获取第三标识;在所述第三标识指示所述第一触觉事件为持续事件的情况下,通过解码所述位流,获取所述第一标识。
示例性地,触觉信号插值装置通过解码所述位流,获取第三标识;在所述第三标识指示所述第一触觉事件为持续事件的情况下,通过解码所述位流,获取所述第一标识。在所述第三标识指示所述第一触觉事件不为持续事件的情况下,说明所述位流不包括所述第一标识,这种情况下,可以将默认的插值类型,确定为所述第一触觉事件组件的插值类型,也可以认为可以不需要或者不用在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值。
在一些实施例中,所述通过解码所述位流,获取第一标识,可实施为:
通过解码所述位流,获取所述第一触觉事件的数据结构,所述第一触觉事件的数据结构包括所述第一标识;其中,所述基于所述第一标识指示的插值类型,确定所述第一触觉事件组件的插值类型,可实施为:
将所述第一标识指示的插值类型,确定为所述第一触觉事件中部分或全部触觉事件组件的插值类型,所述部分或全部触觉事件组件包括所述第一触觉事件组件。
示例性地,触觉信号插值装置将所述第一标识指示的插值类型,确定为所述第一触觉事件中部分触觉事件组件的插值类型,所述部分触觉事件组件包括所述第一触觉事件组件。例如,所述部分触觉事件组件可以是所述第一触觉事件中除最后一个触觉事件组件之外的全部触觉事件组件。再如,所述部分触觉事件组件可以是所述第一触觉事件中预设位置的触觉事件组件。例如,所述第二触觉事件组件可以是按照所述第一触觉事件中触觉事件组件的解码顺序位于第一个位置、中间位置或最后一个位置的触觉事件组件。也即是说,所述第一触觉事件组件为第一个位置、中间位置或最后一个位置的触觉事件组件中的任一项。当然,第一个位置、中间位置或最后一个位置仅为所述预设位置的示例,而不应当理解为对本申请实施例的限制。
示例性地,触觉信号插值装置将所述第一标识指示的插值类型,确定为所述第一触觉事件中全部触觉事件组件的插值类型。也即是说,所述第一触觉事件组件可以是所述第一触觉事件中的任意一个触觉事件组件。
示例性地,所述第一触觉事件的数据结构也可称为所述第一触发事件的属性信息、所述第一触觉事件的元素或所述第一触觉事件的交换格式,所述第一触觉事件的数据结构包括所述第一触发事件的相关信息,其包括但不限于所述第一触觉事件的元数据和所述第一触觉事件的触觉事件组件列表,所述触觉事件组件列表中的每一个触觉事件组件可以用于确定触觉信号的一个位置上的信号值。
本实施例中,在所述第一触觉事件的数据结构中包括所述第一标识,相当于,所述第一标识可以应用到所述第一触觉事件中的一个或多个触觉事件组件,其可以降低所述位流中用于确定触觉事件组件的插值类型的数据量,进而提升了数据传输效率以及节省了所述第一标识的传输资源。
示例性地,所述第一触觉事件的数据结构可以如表7所示。
表7
如表7所示,所述第一标识为interpolation_type字段,所述第二标识为interpolation_flag字段。当所述第一触觉事件的数据结构中的interpolation_flag字段取值为1时,所述第一触觉事件的数据结构中指示的interpolation_type字段,其对于所述第一触觉事件的所有触觉事件组件生效。值得注意的是,知识事件是特殊的触觉事件,其数据结构遵循触觉事件的数据结构定义。知识事件通常为预定义的、可被重复引用的触觉事件,以避免相同触觉事件的重复解析。
在一些实施例中,所述通过解码所述位流,获取第一标识,可实施为:
通过解码所述位流,获取所述第一触觉事件组件的数据结构,所述第一触觉事件组件的数据结构包括所述第一标识;其中,所述基于所述第一标识指示的插值类型,确定所述第一触觉事件组件的插值类型,可实施为:
将所述第一标识指示的插值类型,确定为所述第一触觉事件组件的插值类型。
示例性地,所述第一触觉事件组件的数据结构也可称为所述第一触觉事件组件的属性信息、所述第一触觉事件组件的元素或所述第一触觉事件组件的交换格式。所述第一触觉事件组件的数据结构包括所述触觉信号的某个信号值的时域分量或者频域分量。
本实施例中,在所述第一触觉事件组件的数据结构中包括所述第一标识,相当于,所述第一标识只适用于所述第一触觉事件,其可以提升所述第一触觉事件中触觉事件组件的插值类型的灵活性。
在一些实施例中,所述方法200还可包括:
将所述第一标识指示的插值类型,确定为所述第一触觉事件组件之后的触觉事件组件的插值类型,直至所述第一触觉事件中数据结构包括新的第一标识的触觉事件组件或所述第一触觉事件中的最后一个触觉事件组件。
示例性地,触觉信号插值装置将所述第一标识指示的插值类型,确定为所述第一触觉事件组件的插值类型以及所述第一触觉事件组件之后的触觉事件组件的插值类型,直至所述第一触觉事件中数据结构包括新的第一标识的触觉事件组件或所述第一触觉事件中的最后一个触觉事件组件。具体的,若触觉信号插值装置按照所述第一触觉事件中触觉事件组件的解码顺序,在所述第一触觉事件组件之后,解码得到了数据结构中包括新的第一标识的第三触觉事件组件,则触觉信号插值装置可以将这个新的第一标识指示的插值类型,确定为所述第三触觉事件组件的插值类型,若触觉信号插值装置按照所述第一触觉事件中触觉事件组件的解码顺序,在所述第一触觉事件组件之后,直至解码到所述第一触觉事件中的最后一个触觉事件组件,也没有发送新的第一标识,则所述第一标识适用于所述第一触觉事件组件之后的所有触觉事件组件。或者说,所述第一触觉事件组件至最后一个触觉事件组件(例如,包括所述第一触觉事件组件和所述最后一个触觉事件组件)的插值类型均为所述第一触觉事件组件的数据结构中包括的第一标识所指示的插值类型。
本实施例中,通过新的第一标识的触觉事件组件或所述第一触觉事件中的最后一个触觉事件组件,来中断所述第一标识的应用,不仅可以降低所述位流中用于确定触觉事件组件的插值类型的数据量,进而提升了数据传输效率以及节省了所述第一标识的传输资源,还可以提升所述第一触觉事件中触觉事件组件的插值类型的灵活性。
示例性地,所述第一触觉事件组件的数据结构可以如表8所示。
表8
如表8所示,所述第一标识为interpolation_type字段,所述第二标识为interpolation_flag字段。假设所述第一触觉事件包括N个触觉事件组件,若其中第i个触觉事件组件的数据结构中的interpolation_flag字段取值为1,则相应interpolation_type字段将持续生效,直至出现新的interpolation_type字段或者直至所述N个触觉事件组件中的最后一个触觉事件组件。
在一些实施例中,所述基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,并得到所述触觉信号,可实施为:
基于所述第一触觉事件组件的信号值,利用所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值,并得到所述触觉信号。
示例性地,触觉信号插值装置可以利用所述第一触觉事件组件的插值类型(即插值方法),以所述第一触觉事件组件的信号值为输入,在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值,并得到所述触觉信号。例如,假设所述第一触觉事件组件的插值类型为最近邻插值,则触觉信号插值装置可以利用最近邻插值,将所述第一触觉事件组件的信号值作为最近邻的信号值,并在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间,插入所述最近邻的信号值,以得到所述触觉信号。
示例性地,触觉信号插值装置可以基于所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值,利用所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值,并得到所述触觉信号。例如,假设所述第一触觉事件组件的插值类型为线性插值,则触觉信号插值装置可以确定所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值的平均值,并在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间,插入所述平均值,以得到所述触觉信号。
图9是本申请实施例提供的插值原理的示例。
如图9所示,假设第一触觉事件包括触觉事件组件1~触觉事件组件3,所述触觉事件组件的插值类型为最近邻插值,所述触觉事件组件2的插值类型为线性插值,则触觉信号插值装置可以利用最近邻插值,将所述触觉事件组件1的信号值作为最近邻的信号值,并在所述触觉事件组件1的信号值和所述触觉事件组件1的信号值之间,插入所述最近邻的信号值。此外,触觉信号插值装置可以确定所述触觉事件组件2和触觉事件组件3的信号值的平均值,并在所述触觉事件组件2的信号值和所述触觉事件组件3的信号值之间,插入所述线性信号值。然后,基于触觉事件组件1~触觉事件组件3的信号值以及插入的两个信号值得到触觉信号。
当然,在其他可替代实施例中,触觉信号插值装置也可以基于所述第二触觉事件组件的信号值,利用所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值,并得到所述触觉信号。例如,假设所述第一触觉事件组件的插值类型为最近邻插值,则触觉信号插值装置可以利用最近邻插值,将所述第二触觉事件组件的信号值作为最近邻的信号值,并在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间,插入所述最近邻的信号值,并得到所述触觉信号。例如,触觉信号插值装置可以基于所述第一触觉事件的应用场景,确定基于所述第一触觉事件组件的信号值或所述第二触觉事件组件的信号值,利用所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值。
在一些实施例中,所述S210之前,所述方法200还可包括:
接收封装设备发送的触觉媒体文件,并对所述触觉媒体文件进行解封装,得到所述位流;或接收封装设备发送的触觉媒体片段,并对所述触觉媒体片段进行解封装,得到所述位流;或接收文件封装设备发送的触觉媒体轨道,并对所述触觉媒体轨道进行解封装,得到所述位流。
示例性地,触觉信号插值装置可以接收三种不同类型的触觉媒体封装数据:触觉媒体文件、触觉媒体片段和触觉媒体轨道,这些数据都是由封装设备发送过来的。不论是文件、片段还是轨道,其都采用了某种封装格式,这种封装格式是为了方便数据的传输和存储。当触觉信号插值装置接收到这些封装数据时,需要进行解封装操作以获取位流。解封装是一个逆过程,其目的是去除封装格式,以恢复或提取出原始的数据流。具体的解封装方法可能会因封装格式的不同而有所差异。
下面结合本申请涉及的第一标识、第二标识以及第三标识,基于表9和表10对位流的解码过程进行示例性说明。
表9
其中,表9中各个字段的语义如下所示:
eventId:指示触觉事件的标识符。
eventType:指示触觉事件的类型。该字段取值为0时表示事件为瞬时事件;该字段取值为1时表示事件为持续事件;该字段取值为2时表示事件为参考事件。
eventSementicsFlag:取值为0时不指示触觉事件的语义;取值为1时指示触觉事件的语义。
semanticKeywords:指示事件的语义。触觉事件的语义为描述内容制作者意图的事件辅助信息关键字。
referEventId:指示参考事件对应的知识事件标识符。
interpolationFlag:是否指示插值类型。当该字段取值为1时,指示信号插值类型;当该字段取值为0时,不指示信号插值类型。
interpolationType:指示插值类型,可能的取值如下:
0:最近邻插值;
1:线性插值;
2:三次样条插值;
3:Akima插值;
4:Bezier插值;
5:B样条插值;
6:拉格朗日插值;
7:牛顿插值;
8:自定义算法插值。
relativePosition:指示触觉事件的时间或空间偏移量。
duration:指示触觉事件的持续时间,事件类型为持续事件时存在该属性。
amplitude:指示触觉事件的信号最大幅度值。
baseFrequency:指示触觉事件的信号基准频率。
numComponents:指示触觉事件组件的个数,触觉事件组件可以为触觉事件的时域分量或者频域分量。
具体的,readEvent()是一个处理触觉事件的函数,其用于从输入中读取并解析触觉事件的各种属性。首先,读取和存储触觉事件的唯一标识符eventId。接着,读取eventType,表示触觉事件类型。然后,读取eventSementicsFlag,这个标志位通常用于指示触觉事件是否具有语义信息。如果eventSementicsFlag的值为真(非零),可以进一步读取和存储语义关键字semanticKeywords。然后,函数检查eventType的值是否等于2。如果等于2,说明这是一个参考事件,于是可以读取并存储参考事件ID referEventId。参考事件通常用于描述事件与其他事件之间的关系。接着,函数读取interpolationFlag。如果interpolationFlag的值为1,表示指示有插值类型,然后可以读取并存储插值类型interpolationType。插值是一种数学方法,用于在两个离散数据点之间估计新的数据点。当eventType等于1时,函数可以读取并存储触觉事件的持续时间duration。最后,函数读取并存储触觉事件的幅度值amplitude、基准频率baseFrequency以及触觉事件组件的数量numComponents。这些属性提供了关于触觉信号的更多信息。一旦读取了所有属性,函数将通过一个for循环(从i=0到i<numComponents)处理每个触觉事件组件。在循环体内,调用名为readEventComponent()的函数,这个函数可能负责读取和处理单个触觉事件组件。其中,上文所述的第一标识为interpolation_type字段,上文所述的第二标识为interpolation_flag字段,上文所述的第三标识为eventType字段。
表10
其中,表10中各个字段的语义如下所示:
referEventId:指示触觉事件组件所属的触觉事件的标识符。
interpolationFlag:是否指示插值类型。当该字段取值为1时,指示信号插值类型;当该字段取值为0时,不指示信号插值类型。
interpolationType:指示插值类型,可能的取值如下:
0:最近邻插值;
1:线性插值;
2:三次样条插值;
3:Akima插值;
4:Bezier插值;
5:B样条插值;
6:拉格朗日插值;
7:牛顿插值;
8:自定义算法插值。
relative_position:指示触觉事件组件相对于触觉事件的时间或空间偏移量。
relative_amplitude:指示触觉事件组件相对于触觉事件的幅度值比例,取值范围0~1。
relative_frequency:指示触觉事件组件相对于触觉事件的频率偏移。
具体的,readEventComponent()是一个辅助函数,用于读取和处理触觉事件的单个触觉事件组件。首先,读取和存储参考事件ID referEventId,参考事件ID是指相对于当前事件的其他事件的标识符,用于描述事件间的关系。接着,读取interpolationFlag。如果interpolationFlag的值为1,表示该组件指示有插值类型,然后读取并存储插值类型interpolationType。插值类型定义了插值的方法和参数。然后,函数读取relative_position,relative_position表示该组件在触觉事件中的相对位置信息。接着,函数读取relative_amplitude。relative_amplitude表示该组件在触觉事件中的相对幅度信息。最后,函数读取relative_frequency。relative_frequency表示该组件在触觉事件中的相对频率信息。其中,上文所述的第一标识为interpolation_type字段,上文所述的第二标识为interpolation_flag字段,上文所述的第三标识为eventType字段。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上文涉及的实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上文涉及的具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上文涉及的各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
下面从用于对触觉信号进行编码或封装的设备侧的角度,对本申请实施例提供的触觉信号插值方法进行说明。
图10是本申请实施例提供的触觉信号插值方法300的示意性流程图。该方法300可以由任何具有数据处理能力的电子设备执行。例如,该电子设备可实施为服务器。例如,图4所示的服务器120。为便于说明,下面以触觉信号插值装置执行该触觉信号插值方法300为例对触觉信号插值方法300进行说明。
如图10所示,所述触觉信号插值方法300可包括:
S310,触觉信号插值装置获取触觉信号;
S320,触觉信号插值装置基于所述触觉信号,确定第一插值类型,所述第一插值类型用于在第一触觉事件中第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值。
在一些实施例中,所述方法300还可包括:
编码第一标识,得到所述触觉信号的位流,所述第一标识用于指示所述第一插值类型。
在一些实施例中,所述方法300还可包括:
编码第二标识或第三标识,所述第二标识用于指示是否存在所述第一标识,所述第三标识用于指示所述第一触觉事件是否为持续事件。
在一些实施例中,所述编码第一标识,得到所述触觉信号的位流,可实施为:
编码所述第一触觉事件的数据结构和所述第一触觉事件组件的数据结构,得到所述位流;
其中,所述第一触觉事件的数据结构包括所述第一标识,或所述第一触觉事件组件的数据结构包括所述第一标识。
在一些实施例中,所述方法300还可包括:
对所述位流进行封装,得到所述触觉信号的触觉媒体文件;
向解封装设备发送所述触觉媒体文件、所述触觉媒体文件中的触觉媒体文件片段、或所述触觉媒体文件中的触觉媒体轨道。
在一些实施例中,所述第一触觉事件组件的插值类型包括以下中的至少一项:最近邻插值、线性插值、三次样条插值、阿克玛插值、贝塞尔插值、B样条插值、拉格朗日插值、牛顿插值、自定义算法插值。
应理解,方法300可以理解为方法200的逆过程,即在方法300中,触觉信号插值装置根据预期的触觉媒体效果,制作或采集触觉信号,并生成触觉信号的交换格式。对于其中的持续触觉信号,可以通过触觉信号(例如插值点的信号值)选定触觉事件组件的插值类型,并在触觉事件或者触觉事件组件中指示插值类型。触觉信号插值装置将触觉信号的交换格式压缩为触觉信号的位流。触觉信号插值装置将触觉信号的位流封装为触觉媒体文件,触觉媒体文件中包含一个或多个触觉媒体轨道。可选地,触觉信号插值装置可以将触觉媒体文件切片为多个触觉媒体文件片段。更具体的,方法300的具体方案可参见方法200的相关内容,为避免重复,此处不再赘述。
下面对本申请实施例提供的装置进行说明。
图11是本申请实施例提供的触觉信号插值装置400的示意性框图。
如图11所示,该触觉信号插值装置400可包括:
确定单元410,用于通过解码触觉信号的位流,确定第一触觉事件中第一触觉事件组件的插值类型;
插值单元420,用于基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,并得到所述触觉信号。
在一些实施例中,所述确定单元410具体用于:
通过解码所述位流,获取第一标识,所述第一标识用于指示插值类型;
基于所述第一标识指示的插值类型,确定所述第一触觉事件组件的插值类型。
在一些实施例中,所述确定单元410具体用于:
通过解码所述位流,获取第二标识;
在所述第二标识指示存在所述第一标识的情况下,通过解码所述位流,获取所述第一标识。
在一些实施例中,所述确定单元410具体用于:
通过解码所述位流,获取第三标识;
在所述第三标识指示所述第一触觉事件为持续事件的情况下,通过解码所述位流,获取所述第一标识。
在一些实施例中,所述确定单元410具体用于:
通过解码所述位流,获取所述第一触觉事件的数据结构,所述第一触觉事件的数据结构包括所述第一标识;
将所述第一标识指示的插值类型,确定为所述第一触觉事件中部分或全部触觉事件组件的插值类型,所述部分或全部触觉事件组件包括所述第一触觉事件组件。
在一些实施例中,所述确定单元410具体用于:
通过解码所述位流,获取所述第一触觉事件组件的数据结构,所述第一触觉事件组件的数据结构包括所述第一标识;
将所述第一标识指示的插值类型,确定为所述第一触觉事件组件的插值类型。
在一些实施例中,所述确定单元410还用于:
将所述第一标识指示的插值类型,确定为所述第一触觉事件组件之后的触觉事件组件的插值类型,直至所述第一触觉事件中数据结构包括新的第一标识的触觉事件组件或所述第一触觉事件中的最后一个触觉事件组件。
在一些实施例中,所述插值单元420具体用于:
基于所述第一触觉事件组件的信号值,利用所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值,并得到所述触觉信号。
在一些实施例中,所述第一触觉事件组件的插值类型包括以下中的至少一项:最近邻插值、线性插值、三次样条插值、阿克玛插值、贝塞尔插值、B样条插值、拉格朗日插值、牛顿插值、自定义算法插值。
在一些实施例中,所述确定单元410确定第一触觉事件中第一触觉事件组件的插值类型之前,还用于:
接收封装设备发送的触觉媒体文件,并对所述触觉媒体文件进行解封装,得到所述位流;或接收封装设备发送的触觉媒体片段,并对所述触觉媒体片段进行解封装,得到所述位流;或接收文件封装设备发送的触觉媒体轨道,并对所述触觉媒体轨道进行解封装,得到所述位流。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。具体地,触觉信号插值装置400可以对应于执行本申请实施例的方法200中的相应主体,并且触觉信号插值装置400中的各个单元分别为了实现方法200中的相应流程,为了简洁,在此不再赘述。
图12是本申请实施例提供的触觉信号插值装置500的示意性框图。
如图12所示,该触觉信号插值装置500可包括:
获取单元510,用于获取触觉信号;
确定单元520,用于基于所述触觉信号,确定第一插值类型,所述第一插值类型用于在第一触觉事件中第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值。
在一些实施例中,所述确定单元520还用于:
编码第一标识,得到所述触觉信号的位流,所述第一标识用于指示所述第一插值类型。
在一些实施例中,所述确定单元520还用于:
编码第二标识或第三标识,所述第二标识用于指示是否存在所述第一标识,所述第三标识用于指示所述第一触觉事件是否为持续事件。
在一些实施例中,所述确定单元520具体用于:
编码所述第一触觉事件的数据结构和所述第一触觉事件组件的数据结构,得到所述位流;
其中,所述第一触觉事件的数据结构包括所述第一标识,或所述第一触觉事件组件的数据结构包括所述第一标识。
在一些实施例中,所述确定单元520还用于:
对所述位流进行封装,得到所述触觉信号的触觉媒体文件;
向解封装设备发送所述触觉媒体文件、所述触觉媒体文件中的触觉媒体文件片段、或所述触觉媒体文件中的触觉媒体轨道。
在一些实施例中,所述第一触觉事件组件的插值类型包括以下中的至少一项:最近邻插值、线性插值、三次样条插值、阿克玛插值、贝塞尔插值、B样条插值、拉格朗日插值、牛顿插值、自定义算法插值。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。具体地,触觉信号插值装置500可以对应于执行本申请实施例的方法300中的相应主体,并且触觉信号插值装置500中的各个单元分别为了实现方法300中的相应流程,为了简洁,在此不再赘述。
还应理解,本申请实施例涉及的触觉信号插值装置400或500中的各个单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现,甚至,这些功能也可以由一个或多个其它单元协助实现。例如,触觉信号插值装置400或500中的部分或全部合并为一个或若干个另外的单元。再如,触觉信号插值装置400或500中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。再如,触觉信号插值装置400或500也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
还应理解,本申请实施例涉及的术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的触觉信号插值装置400或500,以及来实现本申请实施例的方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于电子设备中,计算机程序用来实现本申请实施例的相应方法。换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为利用硬件译码处理器执行完成,或者利用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。存储器中的软件可通过处理器运行,以完成上文涉及的方法实施例中的步骤。
图13是本申请实施例提供的电子设备600的示意结构图。
如图13所示,该电子设备600至少包括处理器610以及计算机可读存储介质620。其中,处理器610以及计算机可读存储介质620可通过总线或者其它方式连接。计算机可读存储介质620用于存储计算机程序621,计算机程序621包括计算机指令,处理器610用于执行计算机可读存储介质620存储的计算机指令。处理器610是电子设备600的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器610也可称为中央处理器(Central Processing Unit,CPU)。处理器610可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立元件门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质620可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器610的计算机可读存储介质。具体而言,计算机可读存储介质620包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
如图13所示,该电子设备600还可以包括收发器630。
其中,处理器610可以控制该收发器630与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器630可以包括发射机和接收机。收发器630还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备600中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
值得注意的是,该电子设备600可以是任意一种具有数据处理能力的电子设备;该计算机可读存储介质620中存储有第一计算机指令;由处理器610加载并执行计算机可读存储介质620中存放的第一计算机指令,可以实现方法200中的相应步骤;换言之,计算机可读存储介质620中的第一计算机指令由处理器610加载并执行相应步骤,为避免重复,此处不再赘述。该计算机可读存储介质620中存储有第二计算机指令;由处理器610加载并执行计算机可读存储介质620中存放的第二计算机指令,可以实现方法300中的相应步骤;换言之,计算机可读存储介质620中的第二计算机指令由处理器610加载并执行相应步骤,为避免重复,此处不再赘述。
根据本申请的另一方面,本申请实施例提供了一种芯片。该芯片可以是一种集成电路芯片,具有信号的处理能力,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。该芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。该芯片可应用到各种能够安装芯片的电子设备中,使得安装有该芯片的设备能够执行本申请实施例中的公开的各方法或逻辑框图中的相应步骤。例如,该芯片可以是适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
根据本申请的另一方面,本申请实施例提供了一种计算机可读存储介质(Memory)。该计算机可读存储介质是计算机的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机中的内置存储介质,当然,也可以包括计算机所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备的操作系统。该存储空间中存放了适于被处理器加载并执行的计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行本申请实施例中的公开的各方法或逻辑框图中的相应步骤。
根据本申请的另一方面,本申请实施例提供了一种计算机程序产品或计算机程序。该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的公开的各方法或逻辑框图中的相应步骤。换言之,当使用软件实现本申请提供的方案时,可以全部或部分地以计算机程序产品或计算机程序的形式实现。该计算机程序产品或计算机程序包括一个或多个计算机指令。在计算机上加载和执行这些计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。
值得注意的是,本申请涉及的计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。本申请涉及的计算机指令可以存储在计算机可读存储介质中,或者可以从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。换言之,专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请所保护的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的基本思想,其同样应当视为本申请所公开的内容。
Claims (20)
1.一种触觉信号插值方法,其特征在于,包括:
通过解码触觉信号的位流,确定第一触觉事件中第一触觉事件组件的插值类型;
基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,并得到所述触觉信号。
2.根据权利要求1所述的方法,其特征在于,所述通过解码触觉信号的位流,确定第一触觉事件中第一触觉事件组件的插值类型,包括:
通过解码所述位流,获取第一标识,所述第一标识用于指示插值类型;
基于所述第一标识指示的插值类型,确定所述第一触觉事件组件的插值类型。
3.根据权利要求2所述的方法,其特征在于,所述通过解码所述位流,获取第一标识,包括:
通过解码所述位流,获取第二标识;
在所述第二标识指示存在所述第一标识的情况下,通过解码所述位流,获取所述第一标识。
4.根据权利要求2所述的方法,其特征在于,所述通过解码所述位流,获取第一标识,包括:
通过解码所述位流,获取第三标识;
在所述第三标识指示所述第一触觉事件为持续事件的情况下,通过解码所述位流,获取所述第一标识。
5.根据权利要求2所述的方法,其特征在于,所述通过解码所述位流,获取第一标识,包括:
通过解码所述位流,获取所述第一触觉事件的数据结构,所述第一触觉事件的数据结构包括所述第一标识;
其中,所述基于所述第一标识指示的插值类型,确定所述第一触觉事件组件的插值类型,包括:
将所述第一标识指示的插值类型,确定为所述第一触觉事件中部分或全部触觉事件组件的插值类型,所述部分或全部触觉事件组件包括所述第一触觉事件组件。
6.根据权利要求2所述的方法,其特征在于,所述通过解码所述位流,获取第一标识,包括:
通过解码所述位流,获取所述第一触觉事件组件的数据结构,所述第一触觉事件组件的数据结构包括所述第一标识;
其中,所述基于所述第一标识指示的插值类型,确定所述第一触觉事件组件的插值类型,包括:
将所述第一标识指示的插值类型,确定为所述第一触觉事件组件的插值类型。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述第一标识指示的插值类型,确定为所述第一触觉事件组件之后的触觉事件组件的插值类型,直至所述第一触觉事件中数据结构包括新的第一标识的触觉事件组件或所述第一触觉事件中的最后一个触觉事件组件。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,并得到所述触觉信号,包括:
基于所述第一触觉事件组件的信号值,利用所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第二触觉事件组件的信号值之间进行插值,并得到所述触觉信号。
9.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一触觉事件组件的插值类型包括以下中的至少一项:最近邻插值、线性插值、三次样条插值、阿克玛插值、贝塞尔插值、B样条插值、拉格朗日插值、牛顿插值、自定义算法插值。
10.根据权利要求1至7中任一项所述的方法,其特征在于,所述确定第一触觉事件中第一触觉事件组件的插值类型之前,所述方法还包括:
接收封装设备发送的触觉媒体文件,并对所述触觉媒体文件进行解封装,得到所述位流;或接收封装设备发送的触觉媒体片段,并对所述触觉媒体片段进行解封装,得到所述位流;或接收文件封装设备发送的触觉媒体轨道,并对所述触觉媒体轨道进行解封装,得到所述位流。
11.一种触觉信号插值方法,其特征在于,包括:
获取触觉信号;
基于所述触觉信号,确定第一插值类型,所述第一插值类型用于在第一触觉事件中第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
编码第一标识,得到所述触觉信号的位流,所述第一标识用于指示所述第一插值类型。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
编码第二标识或第三标识,所述第二标识用于指示是否存在所述第一标识,所述第三标识用于指示所述第一触觉事件是否为持续事件。
14.根据权利要求12所述的方法,其特征在于,所述编码第一标识,得到所述触觉信号的位流,包括:
编码所述第一触觉事件的数据结构和所述第一触觉事件组件的数据结构,得到所述位流;
其中,所述第一触觉事件的数据结构包括所述第一标识,或所述第一触觉事件组件的数据结构包括所述第一标识。
15.根据权利要求12所述的方法,其特征在于,所述方法还包括:
对所述位流进行封装,得到所述触觉信号的触觉媒体文件;
向解封装设备发送所述触觉媒体文件、所述触觉媒体文件中的触觉媒体文件片段、或所述触觉媒体文件中的触觉媒体轨道。
16.根据权利要求11至15中任一项所述的方法,其特征在于,所述第一触觉事件组件的插值类型包括以下中的至少一项:最近邻插值、线性插值、三次样条插值、阿克玛插值、贝塞尔插值、B样条插值、拉格朗日插值、牛顿插值、自定义算法插值。
17.一种触觉信号插值装置,其特征在于,包括:
确定单元,用于通过解码触觉信号的位流,确定第一触觉事件中第一触觉事件组件的插值类型;
插值单元,用于基于所述第一触觉事件组件的插值类型,在所述第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值,并得到所述触觉信号。
18.一种触觉信号插值装置,其特征在于,包括:
获取单元,用于获取触觉信号;
确定单元,用于基于所述触觉信号,确定第一插值类型,所述第一插值类型用于在第一触觉事件中第一触觉事件组件的信号值和所述第一触觉事件组件之前或之后的第二触觉事件组件的信号值之间进行信号值插值。
19.一种电子设备,其特征在于,包括:
处理器,适于执行计算机程序;
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现根据权利要求1至10中任一项所述的触觉信号插值方法,或者实现根据权利要求11至16中任一项所述的触觉信号插值方法。
20.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现根据权利要求1至10中任一项所述的触觉信号插值方法,或者实现根据权利要求11至16中任一项所述的触觉信号插值方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311693600.6A CN117692705A (zh) | 2023-12-11 | 2023-12-11 | 触觉信号插值方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311693600.6A CN117692705A (zh) | 2023-12-11 | 2023-12-11 | 触觉信号插值方法、装置、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117692705A true CN117692705A (zh) | 2024-03-12 |
Family
ID=90129551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311693600.6A Pending CN117692705A (zh) | 2023-12-11 | 2023-12-11 | 触觉信号插值方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692705A (zh) |
-
2023
- 2023-12-11 CN CN202311693600.6A patent/CN117692705A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190373042A1 (en) | Method and apparatus for transmitting and receiving image data for virtual-reality streaming service | |
US6848004B1 (en) | System and method for adaptive delivery of rich media content to a user in a network based on real time bandwidth measurement & prediction according to available user bandwidth | |
US9210372B2 (en) | Communication method and device for video simulation image | |
CN104954354A (zh) | 数字内容的上下文感知流式传送 | |
CN103201759A (zh) | 用于监视与内容封装的可选部分的用户交互的方法和设备 | |
CN101690203B (zh) | 使用LASeR内容合成场景的方法和设备 | |
CN109309842B (zh) | 直播数据处理方法和装置、计算机设备和存储介质 | |
CN105574182A (zh) | 一种新闻推荐方法和装置、一种用于新闻推荐的装置 | |
KR20100136801A (ko) | 멀티미디어 시스템의 사용자 인터페이스 장치 및 방법 | |
EP2827597B1 (en) | Adaptive content delivery | |
CN107203470B (zh) | 页面调试方法和装置 | |
KR20140102598A (ko) | 멀티미디어 장면들의 표현들을 생성 및 프로세싱하기 위한 방법들 및 디바이스들 | |
CN113535063A (zh) | 直播页面切换方法、视频页面切换方法、电子设备及存储介质 | |
CN111464828A (zh) | 虚拟特效显示方法、装置、终端及存储介质 | |
CN105117608A (zh) | 信息交互方法及装置 | |
CN115222862A (zh) | 虚拟人衣物生成方法、装置、设备、介质及程序产品 | |
CN111107278A (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
CN107766307A (zh) | 一种表单元素联动的方法和设备 | |
US11405442B2 (en) | Dynamic rotation of streaming protocols | |
CN117692705A (zh) | 触觉信号插值方法、装置、电子设备以及存储介质 | |
CN117076811A (zh) | 一种网页导出方法、装置、设备及存储介质 | |
CN114116617A (zh) | 点云媒体的数据处理方法、装置、设备及可读存储介质 | |
CN114501060A (zh) | 直播背景的切换方法和装置、存储介质及电子设备 | |
Joveski et al. | Semantic multimedia remote display for mobile thin clients | |
CN114339197A (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 |