CN117413536A - 低延迟、低功率的多通道音频处理 - Google Patents

低延迟、低功率的多通道音频处理 Download PDF

Info

Publication number
CN117413536A
CN117413536A CN202280036408.7A CN202280036408A CN117413536A CN 117413536 A CN117413536 A CN 117413536A CN 202280036408 A CN202280036408 A CN 202280036408A CN 117413536 A CN117413536 A CN 117413536A
Authority
CN
China
Prior art keywords
audio
processor
track
tracks
aggregated
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
Application number
CN202280036408.7A
Other languages
English (en)
Inventor
阿什瓦尼·阿里亚
泰贾斯·巴胡尔加
丹尼尔·哈里斯
丹尼尔·C·威金斯
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.)
Snap Inc
Original Assignee
Snap Inc
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 Snap Inc filed Critical Snap Inc
Publication of CN117413536A publication Critical patent/CN117413536A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/302Electronic adaptation of stereophonic sound system to listener position or orientation
    • H04S7/303Tracking of listener position or orientation
    • H04S7/304For headphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/033Headphones for stereophonic communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/008Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/11Positioning of individual sound objects, e.g. moving airplane, within a sound field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/01Enhancing the perception of the sound image or of the spatial distribution using head related transfer functions [HRTF's] or equivalents thereof, e.g. interaural time difference [ITD] or interaural level difference [ILD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Eyeglasses (AREA)

Abstract

一种电子眼镜设备,包括显示屏和扬声器系统,适于在用户观看的场景中呈现增强现实对象和相关联的声音。处理器接收分别与一个或多个增强现实对象相关联的一个或多个音轨,将音轨编码为聚合音轨,该聚合音轨包括音轨、唯一地标识每个相应音轨的每个音轨的报头以及标识聚合音轨中的音轨数量的聚合报头。处理器将聚合音轨传送到音频处理器,音频处理器使用每个音轨的报头和聚合报头来将音轨从聚合音轨中分离。音频处理器并行地独立地处理音轨,并将音轨提供给扬声器系统以用于与增强现实对象一起呈现。

Description

低延迟、低功率的多通道音频处理
相关申请的交叉引用
本申请要求于2021年5月19日提交的美国临时申请序列号63/190,733的优先权,该申请的内容通过引用全部纳入本文。
技术领域
本公开中阐述的示例涉及音频信号处理领域。更具体地,但不限于此,本公开描述了一种低延迟、低功率多通道音频处理以用于有效地处理与虚拟对象相对应的音频信号的系统和方法。
背景技术
头部相关传递函数(HRTF)是一种表征用户的耳朵如何接收来自空间中的点的声音的响应。当声音撞击用户时,头部、耳朵、耳道的大小和形状、头部的密度以及鼻腔和口腔的大小和形状变换声音,并通过提高某些频率和衰减其他频率来影响声音的感知。
一对HRTF(每只耳朵一个)能够被用来合成似乎来自空间中特定点的双耳声音。每个传递函数描述来自特定点的声音将如何到达相应的耳朵(例如,在听道的外端)。由于延迟导致的空间音频数据的处理延迟可能对再现声音的质量产生不利影响。
附图说明
根据下面参考附图的详细描述中,将容易理解所描述的各种示例的特征。参考数字被用于说明书中的每个元件并且贯穿附图的几个视图。当存在多个类似元素时,可以为类似元素分配单独的参考数字,其中添加的小写字母指代特定元素。
除非另有指示,否则图中所示的各种元件未按比例绘制。为了清楚起见,可以放大或缩小各种元件的尺寸。几个图描绘了一个或多个实施方式,并且仅通过示例的方式呈现,而不应被解释为限制。图纸中包括以下图:
图1A是眼镜设备的示例硬件配置的侧视图(右),该眼镜设备适于包括保护HRTF建模系统的音频系统;
图1B是图1A的眼镜设备的右角部的局部截面透视图,其描绘了右可见光相机和电路板;
图1C是图1A的眼镜设备的示例硬件配置的侧视图(左),其示出了左可见光相机;
图1D是图1C的眼镜设备的左角部的局部截面透视图,其描绘了左可见光相机和电路板;
图2A和2B是眼镜设备的示例硬件配置的后视图,该眼镜设备适于包括包含了HRTF建模系统在内的音频系统;
图3是三维场景、由左可见光相机捕捉的左侧原始图像和由右可见光相机捕捉的右侧原始图像的图形描绘;
图4是包括HRTF建模系统的示例音频系统的功能框图,该HRTF建模系统包括可穿戴设备(例如,眼镜设备)和经由各种网络连接的服务器系统;
图5是包括图4的HRTF建模系统的音频系统的移动设备的示例硬件配置的图形表示;
图6是用于描述同时定位和映射的示例环境中的用户的示意图;
图7是列出在物理环境中显示虚拟对象的示例方法中的步骤的流程图;
图8A是在头部相关传递函数(HRTF)模型中围绕用户头部的音频区域中的虚拟对象的图示;
图8B是用于测试图8A的头部相关传递函数模型的预定义滤波器的图形用户界面;
图9A是列出根据图8A的HRTF使用头部来处理虚拟对象的音轨的示例方法中的步骤的流程图;
图9B是列出处理音轨以添加方向速度信息的示例方法中的步骤的流程图;
图9C是列出处理音轨以添加深度信息的示例方法中的步骤的流程图;
图10是呈现在眼镜设备的显示屏上的虚拟对象的透视图;
图11是包括采样配置中的多通道音频编码器和多通道音频解码器的低延迟、低功率音频处理系统的示意图;
图12示出了图11的蔡妍配置中的多通道编码器对多通道音频数据的编码;
图13A、13B和13C示出了图11和图12的音频处理系统的各种实施例中的示例头部;并且
图14是列出在图11和图12的样本配置中对多通道音频数据进行编码和解码的示例方法中的步骤的流程图。
具体实施方式
电子眼镜设备可以将用户沉浸在增强现实环境中,在该环境中,大量可变的并发增强现实对象(例如,虚拟透镜对象)在物理空间中四处移动。这些增强现实对象中的每一个都可以与音轨相关联,该音轨预计将使用独立的空间音频后处理与增强现实对象进行对应地“移动”。为了在不限制并发音轨数量的情况下实现低功耗、低音频回放延迟,可以将后处理卸载到音频协同处理器。为了获得最佳的延迟性能,主机处理器和音频协同处理器之间的远程过程调用数量应最小化。本文描述的技术通过定义新的音频数据格式和相关联的编码和解码方法来限制远程过程调用,以用于在单个帧中将多通道音轨传输到音频协通处理器以便多通道音频处理。
在常规的HRTF建模中,任何声音的当前定位都使用多次快速傅立叶变换(FFT)来捕捉,以生成HRTF,并且然后使用长尾(例如,256个或更多样本)有限脉冲响应滤波器(FIR)被用于实施HRTF。此类常规技术在计算上是昂贵的。在样本配置中,通过实施头部相关传递函数(HRTF)模型,使音频样本的处理在计算上不那么昂贵,该模型将用户(在本文中也称为收听者)周围的空间分解为36个区域,每个区域具有一组固定的预定滤波器(例如,双二阶滤波器),其与传统的HRTF模型相比需要更少的计算。当声音对象从一个区域移动到另一个区域时,新区域的预定过滤器将被应用。与常规技术相比,这导致复杂性降低了大约2个数量级,从而降低了HRTF模型的总体计算负荷,并允许同时计算和转换更多的对象。
因此,本公开针对一种用于在由用户使用电子眼镜设备观看的场景中呈现增强现实对象和相关联的声音的系统和方法。该电子眼镜设备包括显示屏和扬声器系统,该显示屏和扬声器适于在场景中呈现增强现实对象和相关联的声音。主机处理器接收分别与一个或多个增强现实对象相关联的一个或多个音轨,将音轨编码为聚合音轨,该聚合音轨包括音轨、唯一地标识每个相应音轨的每个音轨的报头,以及标识聚合音轨中的音轨数量的聚合报头。主机处理器将聚合音轨传输到音频协同处理器,音频协同处理器使用每个音轨的报头和聚合报头来将音轨与聚合音轨分离。音频协同处理器并行独立地处理音轨,并将音轨提供给扬声器系统以用于与增强现实对象一起呈现。所得到的系统和方法提供了低功率、低音频回放延迟,而不限制并发音轨的数量,并且因此不限制可以在具有相关声音的场景中显示的增强现实对象的数量。
以下详细描述包括说明本公开中所阐述的示例的系统、方法、技术、指令序列和计算机程序产品。为了提供对所公开的主题内容及其相关教导的透彻理解,包括了许多细节和示例。然而,相关领域的技术人员可以理解如何在没有这些细节的情况下应用相关教导。所公开的主题内容的各方面不限于所描述的特定设备、系统和方法,因为相关教导能够以各种方式应用或实践。本文使用的术语和命名法仅用于描述特定方面,并且不旨在进行限制。通常,众所周知的指令示例、协议、结构和技术不一定要详细显示。
本文使用的术语“耦合”或“连接”是指任何逻辑、光学、物理或电连接,包括链路等,通过该链路,由一个系统元件产生或供应的电信号或磁信号被给予另一个耦合或连接的系统元件。除非另有说明,否则耦合或连接的元件或设备不一定彼此直接连接,并且可以由中间部件、元件或通信介质分开,其中的一个或多个元件可以修改、操纵或承载电信号。术语“在……之上”是指由一个元件直接支撑,或通过集成到该元件中或由该元件支撑的另一个元件间接由元件支撑。
术语“近端”被用于描述位于对象或人附近、相邻或旁边的物品或物品的一部分;或者相对于物品的其他部分更近的物品或物品的一部分,可以被描述为“远端”。例如,物品最靠近对象的端部可以称为近端,而通常相对的端部则可以被称为远端。
眼镜设备、其他移动设备、相关部件以及任何其他包括相机、惯性测量单元或两者的设备(如任何附图中所示)的取向仅作为示例给出,用于说明和讨论目的。在操作中,眼镜设备可以在适合眼镜设备的特定应用的任何其他方向上取向;例如,向上、向下、侧向或任何其他取向。此外,在本文所使用的范围内,任何方向术语,诸如前、后、内、外、朝向、左、右、横向、纵向、上、下、上面、下面、顶、底、侧、水平、垂直和对角线,仅作为示例使用,并且不限于本文所构建或以其他方式描述的任何相机或惯性测量单元的方向或取向。
在样本配置中,先进的增强现实(AR)技术,诸如计算机视觉和对象跟踪,可以被用于产生感知丰富和身临其境的体验。计算机视觉算法从数字图像或视频中捕捉的数据中提取关于物理世界的三维数据。对象标识和跟踪算法可被用于检测数字图像或视频中的对象,估计其取向或姿势(例如,六个自由度;x、y、z、俯仰、偏航、滚转),并跟踪其随时间的移动。如本文所用,术语“姿势”是指对象在特定时刻的静态定位和取向。术语“手势”指的是对象(诸如手)通过一系列姿势的主动移动,有时是为了传达信号或想法。在计算机视觉和增强现实领域,姿势和手势这两个术语有时可以互换使用。如本文所使用的,术语“姿势”或“手势”(或其变体)旨在包括姿势和手势两者;换句话说,一个术语的使用并不排除另一个术语。
本示例的附加目的、优点和新颖特征将在以下描述中部分阐述,并且部分将在本领域技术人员研究以下内容和附图部分后变得显而易见,或者可以通过示例的生产或操作来了解。本主题内容的目的和优点可以通过所附权利要求中特别指出的方法、工具和组合来实现和获得。
现在详细参考附图中所示并在下面讨论的示例。
图1A是包括触敏输入设备或触摸板181的眼镜设备100的示例硬件配置的侧视图(右)。如图所示,触摸板181可以具有不易察觉的并且不容易看到的边界;可替选地,边界可以是明显可见的,或者包括向用户提供关于触摸板181的位置和边界的反馈的凸起或其他触觉边缘。在其他实施方式中,眼镜设备100可以在左侧上触摸板,以代替触摸板181或者除了触摸板181之外还包括左侧触摸板。
触摸板181的表面被配置为检测手指触摸、轻击和手势(例如,移动触摸),以便与眼镜设备在图像显示屏上显示的GUI一起使用,从而允许用户以直观的方式浏览和选择菜单选项,这增强并简化了用户体验。
对触摸板181上的手指输入的检测能够实现多种功能。例如,触摸触摸板181上的任何位置可以使得GUI在图像显示屏上显示或突出显示项目,该项目可以被投影到光学组件180A、180B中的至少一个上。双击触摸板181可以选择项目或图标。在特定方向滑动或轻扫手指(例如,从前到后、从后到前、从上到下或从下到上)可致使项目或图标在特定方向上滑动或滚动;例如,移动到下一个项目、图标、视频、图像、页面或幻灯片。在另一个方向上滑动手指可以在相反的方向上滑动或滚动;例如,移动到上一个项目、图标、视频、图像、页面或幻灯片。触摸板181实际上能够在眼镜设备100上的任何地方。
在一个示例中,触摸板181上轻击一下的所标识的手指手势发起对呈现在左光学组件180A和右光学组件180B的图像显示屏上的图像中的GUI元素的选择或按压。基于所标识的手指手势对光学组件180A、180B的图像显示屏上呈现的图像的调整可以是选择或提交光学组件180A、180B的图像显示屏中的GUI元素以供进一步显示或执行的主要动作。
眼镜设备100包括具有图像显示屏的右光学组件180B,以呈现图像,诸如深度图像。如图1A和1B所示,眼镜设备100包括右可见光照相机114B。眼镜设备100能够包括多个可见光相机114A、114B,其形成被动类型的三维相机,诸如立体相机,其中右可见光相机114位于右角部110B上。如图1C-D所示,眼镜设备100还包括左可见光相机114A。如本文中进一步描述的,左可见光相机114A和右可见光相机114B从两个单独的视点捕捉场景的图像信息。所捕捉的两个图像可被用于将三维显示屏投射到图像显示屏上,用于用三维(3D)眼镜或增强现实或虚拟现实眼镜设备的显示屏观看。
左可见光相机114A和右可见光相机114B对可见光范围波长敏感。可见光相机114A、114B中的每一个都具有不同的面向前方的视场,该视场重叠以使得能够生成三维深度图像,例如,右可见光相机114描绘了右视场111B。通常,“视场”是通过相机在空间中的特定定位和取向上可见的场景部分。视场111A和111B具有重叠的视场304(图3)。当可见光相机捕捉图像时,视场111A、111B之外的对象或对象特征没有被记录在原始图像中(例如,照片或图片)。视场描述了可见光相机114A、114B的图像传感器在给定场景的捕捉图像中拾取给定场景的电磁辐射的角度范围或程度。视场能够表示为视锥的角度大小;即,视角。视角能够水平、垂直或对角测量。
在示例配置中,一个或两个可见光相机114A、114B具有100°的视场和480x480像素的分辨率。“覆盖角”描述可见光相机114A、114B或红外相机410(见图4)的透镜能够有效成像的角度范围。通常,相机透镜产生的图像圈足够大,完全覆盖相机的胶片或传感器,可能包括一些渐晕(例如,与中心相比,图像向边缘变暗)。如果相机透镜的覆盖角没有填满传感器,则图像圈将是可见的,通常朝向边缘具有较强的渐晕,并且有效视角将限于覆盖角。
这种可见光相机114A、114B的示例包括高分辨率互补金属氧化物半导体(CMOS)图像传感器和能够达到480p(例如,640x 480像素)、720p、1080p或更高分辨率的数字VGA相机(视频图形阵列)。其他示例包括可见光相机114A、114B,它们能够以高帧率(例如,每秒30到60帧,或更高)捕捉高清晰度(HD)视频,并以1216乘1216像素(或更高)的分辨率存储录像。
眼镜设备100可以捕捉来自可见光相机114A、114B的图像传感器数据以及由图像处理器412进行数字化的地理定位数据,以存储在存储器中。可见光相机114A、114B在二维空间域中捕捉包括二维坐标系上的像素矩阵的相应的左和右原始图像,二维坐标系包括用于水平定位的X轴和用于垂直定位的Y轴。每个像素都包括颜色属性值(例如,红色像素光值、绿色像素光值或蓝色像素光值);以及定位属性(例如,X轴坐标和Y轴坐标)。
为了捕捉立体图像以便稍后显示为三维投影,图像处理器412(如图4所示)可以被耦合到可见光相机114A、114B以接收和存储视觉图像信息。图像处理器412或另一处理器控制可见光相机114A、114B的操作,以充当模拟人类双眼视觉的立体相机,并且可以向每个图像添加时间戳。每对图像上的时间戳允许将图像一起显示为三维投影的一部分。三维投影产生身临其境、栩栩如生的体验,这在包括虚拟现实(VR)和视频游戏在内的各种环境中都是理想的。
眼镜设备100还具有立体声扬声器系统,该立体声扬声器系统包括用于向佩戴者的左耳呈现音频信号的左扬声器185A(图1D)和用于向佩戴者的右耳呈现音频信息的右扬声器185B(图1B)。立体声扬声器系统的音频处理器413(图4)将音频信号传送到左扬声器185A和右扬声器185B。
图1B是图1A的眼镜设备100的右角部110B的透视截面图,描绘了相机系统的右可见光相机114B和电路板140B。图1C是图1A的眼镜设备100的示例硬件配置的侧视图(左),其示出了相机系统的左可见光相机114A。图1D是图1C的眼镜设备的左角部110A的透视截面图,描绘了相机系统的左可见光相机114A和电路板140A。
左可见光相机114A的构造和放置基本上类似于右可见光相机114,除了连接和耦合在左侧部170A而不是右侧部170B上。如图1B的示例所示,眼镜设备100包括右可见光相机114B和右电路板140B,右电路板可以是柔性印刷电路板(PCB)。右铰链126B将右角部110B连接到眼镜设备100的右镜腿125B。在一些示例中,右可见光相机114B、柔性PCB 140B或其他电连接器或触点的部件可以位于右镜腿125B或右铰链126B上。如图1D所示,左铰链126A将眼镜设备100的左角部110A连接到左镜腿125A。在一些示例中,左可见光相机114A、柔性PCB140A或其他电连接器或触点的部件可以位于左镜腿125A或左铰链126A上。
右角部110B包括角部主体190和角帽,其中在图1B的横截面中省略了角帽。设置在右角部110B内部的是各种互连电路板,诸如PCB或柔性PCB,其包括用于右可见光相机114B、右扬声器185B、一个或多个麦克风、低功率无线电路(例如,用于经由进行无线短程网络通信)、高速无线电路(例如,用于经由/>进行无线局域网通信)的控制器电路。
右可见光相机114B被耦合到或设置在柔性PCB 140B上,并由可见光相机盖透镜覆盖,其通过形成在镜框105中的一个或多个开口瞄准。例如,如图2A所示,镜框105的右边缘107B被连接到右角部110B,并且包括用于可见光相机盖透镜的一个或多个开口。镜框105包括被配置为面向外部并且远离用户的眼睛的前侧。用于可见光相机盖透镜的开口形成在镜框105的前侧或者面向外部的侧面上并穿过镜框105的正侧或者面向外部的侧面。在该示例中,右可见光相机114B具有面向外部的视场111B(如图3所示),其具有与眼镜设备100的用户的右眼相关联的视线或视角。可见光相机盖透镜也能够粘附到右角部110B的前侧或面向外部的表面,其中开口形成为具有面向外部的覆盖角部,但在不同的向外方向上。耦合还能够是间接的,经由中间部件。
如图1B所示,柔性PCB 140B设置在右角部110B内部,并且耦合到容纳在右角部110中的一个或多个其它部件。尽管示出为形成在右角部110B的电路板上,但是右可见光相机114B能够形成在左角部110A、镜腿125A、125B或镜框105的电路板上。
图2A和2B分别是包括两种不同类型的图像显示屏的眼镜设备100的示例硬件配置的从后面看的透视图。眼镜设备100的大小和形状被配置成供用户佩戴的形式;在该示例中示出了眼镜的形式。眼镜设备100能够采用其他形式,并且可以包括其他类型的框架;例如,头套、耳机或头盔。
在眼镜示例中,眼镜设备100包括镜框105,镜框105包括经由适于由用户的鼻子支撑的镜桥106连接到右边缘107B的左边缘107A。左边缘107A和右边缘107B包括相应的孔175A、175B,其保持相应的光学元件180A、180B,诸如透镜和显示设备。如本文所用,术语“透镜”是指包括透明或半透明的玻璃或塑料片,这些玻璃或塑料片具有弯曲或平坦的表面,这些表面导致光会聚或发散,或者导致很少或没有会聚或发散。
尽管示出为具有两个光学元件180A、180B,但是取决于眼镜设备100的应用或预期用户,眼镜设备100能够包括其他布置,诸如单个光学元件(或者它可以不包括任何光学元件180A、180B)。如进一步所示,眼镜设备100包括与镜框105的左侧部170A相邻的左角部110A和与镜框105右侧部170B相邻的右角部110B。角部110A、110B可以在各个侧部170A、170B上集成到镜框105中(如图所示),或者实施为在各个侧部170、170B上附接到镜框105的单独部件。可替选地,角部110A、110B可被集成到被附接到镜框105的镜腿(未示出)中。
在一个示例中,光学组件180A、180B的图像显示屏包括集成图像显示屏。如图2A所示,每个光学组件180A、180B包括合适的显示矩阵177,诸如液晶显示屏(LCD)、有机发光二极管(OLED)显示屏或任何其他此类显示屏。每个光学组件180A、180B还包括一个或多个光学层176,其能够包括透镜、光学涂层、棱镜、反射镜、波导、光学带和其他光学部件的任何组合。光学层176A、176B……176N(在图2A和本文中显示为176A-N)能够包括具有合适大小和配置的棱镜,并且包括用于接收来自显示矩阵的光的第一表面和用于向用户的眼睛发射光的第二表面。光学层176A-N的棱镜在形成于左边缘107A和右边缘107B中的相应孔175A、175B的全部或至少一部分上延伸,以允许用户在其眼睛通过对应的左边缘107B和右边缘107观察时看到棱镜的第二表面。光学层176A-N的棱镜的第一表面从镜框105面朝上,并且显示矩阵177叠加棱镜,使得由显示矩阵177发射的光子和光撞击到第一表面。棱镜的大小和形状使得光在棱镜内折射,并且通过光学层176A-N的棱镜的第二表面朝向用户的眼睛。在这点上,光学层176A-N的棱镜的第二表面能够是凸起的,以将光引导朝向眼睛的中心。棱镜的大小和形状能够可选地被定为放大由显示矩阵177投影的图像,并且光行进穿过棱镜,使得从第二表面观察的图像在一个或多个维度上大于从显示矩阵177发射的图像。
在一个示例中,光学层176A-N可以包括透明的LCD层(保持透镜打开),除非并且直到施加使该层不透明的电压(关闭或阻挡透镜)。眼镜设备100上的图像处理器412可以执行编程以将电压施加到LCD层,以便产生主动快门系统,使得眼镜设备100显示为三维投影时适合观看视觉内容。除了LCD之外的技术可以被用于主动快门模式,包括对电压或另一类型的输入做出响应的其他类型的反应层。
在另一示例中,光学组件180A、180B的图像显示设备包括如图2B所示的投影图像显示屏。每个光学组件180A、180B都包括激光投影仪150,激光投影仪150是使用扫描镜或振镜的三色激光投影仪。在操作期间,诸如激光投影仪150的光源被设置在眼镜设备100的镜腿125A、125B之一内或之上。在该示例中,光学组件180B包括一个或多个光学带155A、155B……155N(在图2B中显示为155A-N),其间隔开并且跨越每个光学组件180A、180B的透镜的宽度或者跨越透镜的前表面和后表面之间的透镜的深度。
当激光投影仪150投射的光子行进穿过每个光学组件180A、180B的透镜时,光子遇到光学带155A-N。当特定光子遇到特定的光学带时,该光子要么被重新定向朝向用户的眼睛,要么被传递到下一个光学带。激光投影仪150的调制和光学带的调制的组合控制特定光子或光束。在一个示例中,处理器通过发去=起机械、声学或电磁信号来控制光学带155A-N。尽管示出为具有两个光学组件180A、180B,但是眼镜设备100能够包括其他布置,诸如单个或三个光学组件,或者每个光学组件180A、180B可以具有不同的布置,这取决于眼镜设备100的应用或预期用户。
在另一示例中,图2B所示的眼镜设备100可以包括两个投影仪,左投影仪(未示出)和右投影仪150。左光学组件180A可以包括左显示矩阵177A(未示出)或一组左光学带(未示示出),其被配置为与来自左投影仪的光相互作用。类似地,右光学组件180B可以包括右显示矩阵177B(未示出)或一组右光学带,其被配置为与来自右投影仪150的光相互作用。在该示例中,眼镜设备100包括左显示屏和右显示屏。
图3是三维(3D)场景306、由左可见光相机114A捕捉的左原始图像302A和由右可见光相机114B捕捉的右原始图像302B的图示。如图所示,左视场111A可以与右视场111B重叠。重叠视场304表示由两个相机114A、114B捕捉的那部分图像。当涉及视场时,术语“重叠”是指生成的原始图像中的像素矩阵重叠百分之三十(30%)或更多。“基本重叠”是指生成的原始图像或场景的红外图像中的像素矩阵重叠百分之五十(50%)或更多。如本文所述,两个原始图像302A、302B可以被处理为包括时间戳,从而允许将图像作为三维投影的一部分一起显示。
对于立体图像的捕捉,如图3所示,在给定时刻捕捉真实场景306的一对原始红色、绿色和蓝色(RGB)图像——由左相机114A捕捉的左原始图像302A和由右相机114B捕捉的右原始图像302B。当这对原始图像302A、302B被处理(例如,由图像处理器412处理)时,生成深度图像。所生成的深度图像可以在眼镜设备的光学组件180A、180B上、在另一显示屏(例如,移动设备401上的图像显示屏580)上或在屏幕上观看。
在一个示例中,所生成的深度图像在二维或三维空间域中,并且能够包括多维定位坐标系上的顶点矩阵,该多维位置坐标系统包括用于水平定位的X轴(例如,长度)、用于垂直定位的Y轴(例如,高度),以及可选地,用于深度的Z轴(例如,距离)。每个顶点可以包括颜色属性(例如,红色像素光值、绿色像素光值或蓝色像素光值);定位属性(例如,X位置坐标、Y位置坐标,以及可选的Z位置坐标);纹理属性;反射率属性;或它们的组合。纹理属性量化深度图像的感知纹理,诸如深度图像的顶点区域中的颜色或强度的空间布置。
在一个示例中,HRTF建模系统400(图4)包括眼镜设备100,眼镜设备100包括镜框105和从镜框105的左侧部170A延伸的左镜腿125A以及从镜框105右侧部170B延伸的右镜腿125B。眼镜设备100还可以包括具有重叠视场的至少两个可见光相机114A、114B。在一个示例中,眼镜设备100包括具有左视场111A的左可见光相机114A,如图3所示。左相机114A被连接到镜框105或左镜腿125A以从场景306的左侧捕捉左原始图像302A。眼镜设备100还包括具有右视场111B的右可见光相机114B。右相机114B被连接到镜框105或右镜腿125B以从场景306的右侧捕捉右原始图像302B。
图4是示例HRTF建模系统400的功能框图,该HRTF建模系统400包括可穿戴设备(例如,眼镜设备100)、移动设备401和经由诸如互联网之类的各种网络495连接的服务器系统498。如图所示,HRTF建模系统400包括眼镜设备100和移动设备401之间的低功率无线连接425和高速无线连接437。
如图4所示,眼镜设备100包括一个或多个可见光相机114A、114B,其捕捉静止图像、视频图像或静止图像和视频图像两者,如本文所述。相机114A、114B可以具有对高速电路430的直接存储器访问(DMA),并且用作立体相机。相机114A、114B可被用于捕捉可被渲染成三维(3D)模型的初始深度图像,三维模型是红色、绿色和蓝色(RGB)成像场景的纹理映射图像,或分别显示在光学组件180A-B的图像显示屏上。设备100还可以包括深度传感器,该深度传感器使用红外信号来估计对象相对于设备100的定位。在一些示例中,深度传感器包括一个或多个红外发射器415和一个或多个红外相机410。
眼镜设备100还包括每个光学组件180A、180B的两个图像显示屏(一个与左侧部170A相关联,并且另一个与右侧部170B相关联)。眼镜设备100还包括图像显示驱动器442、图像处理器412、低功率电路420和高速电路430。每个光学组件180A、180B的图像显示屏用于呈现图像,包括静止图像、视频图像或静态和视频图像。图像显示驱动器442被耦合到每个光学组件180A、180B的图像显示屏,以便控制图像的显示。
眼镜设备100另外包括一对扬声器185A-B(例如,一个与眼镜设备的左侧相关联,并且另一个与眼镜设备的右侧相关联)。扬声器185A可被结合到眼镜设备100的镜框105、镜腿125或角部110中。扬声器185由音频处理器413在低功率电路420、高速电路430或两者的控制下驱动。扬声器185被用于呈现音频信号,该音频信号包括例如与虚拟对象相关联的音轨。音频处理器413被耦合到扬声器185,以便根据HRTF建模来控制声音的呈现,从而提供与在光学组件180A-B的图像显示屏上呈现的虚拟对象的位置相对应的声学定位信息。音频处理器413可以是能够管理眼镜设备100所需的音频处理的任何处理器(例如,能够进行HRTF建模)。如以下将参照图11-14进一步解释的,音频处理器413可以使用改进处理功率使用率和处理延迟的编码技术而被耦合到高速电路430的高速处理器432。
用于眼镜设备100的图4中所示的部件位于一个或多个电路板上,例如位于边缘或镜腿的印刷电路板(PCB)或柔性印刷电路(FPC)。可替选地或附加地,所描绘的部件能够位于眼镜设备100的角部、框架、铰链或镜桥中。左可见光相机114A和右可见光相机114B能够包括数字相机元件,诸如互补金属氧化物半导体(CMOS)图像传感器、电荷耦合器件、透镜或可被用于捕捉数据的任何其他相应的可见光或光捕捉元件,包括具有未知对象的场景的静态图像或视频。
如图4所示,高速电路430包括高速处理器432、存储器434和高速无线电路436。在该示例中,图像显示驱动器442被耦合到高速电路430并且由高速处理器432操作,以便驱动每个光学组件180A、180B的左图像显示屏和右图像显示屏。高速处理器432可以是能够管理眼镜设备100所需的任何通用计算系统的高速通信和操作的任何处理器。高速处理器432包括使用高速无线电路436来管理到无线局域网(WLAN)的高速无线连接437上的高速数据传输所需的处理资源。
在一些示例中,高速处理器432执行眼镜设备100的诸如LINUX操作系统或其他这样的操作系统之类的操作系统,并且该操作系统被存储在存储器434中以供执行。除了任何其他职责之外,高速处理器432执行眼镜设备100的软件架构,该软件架构被用于管理与高速无线电路436的数据传输。在一些示例中,高速无线电路436被配置为实施电气和电子工程师协会(IEEE)802.11通信标准,在本文中也称为Wi-Fi。在其他示例中,可以通过高速无线电路436来实施其他高速通信标准。
低功率电路420包括低功率处理器422和低功率无线电路424。眼镜设备100的低功率无线电路424和高速无线电路436可以包括短程收发器(或蓝牙低能耗(BLE))和无线广域网、局域网或广域网收发器(例如,蜂窝或/>)。移动设备401(包括经由低功率无线连接425和高速无线连接437进行通信的收发器)可以使用眼镜设备100的架构的细节来实施,网络495的其他元件也是如此。
存储器434包括能够存储各种数据和应用的任何存储设备,包括由左可见光相机114A和右可见光相机114B、一个或多个红外相机410、图像处理器412生成的相机数据,以及由图像显示驱动器442生成以在每个光学组件180A、180B的图像显示屏上显示的图像。尽管存储器434被示为与高速电路430集成,但是在其他示例中,存储器434可以是眼镜设备100的独立的、单独的元件。在某些这样的示例中,电路由线路可以通过包括高速处理器432的芯片提供从图像处理器412或低功率处理器422到存储器434的连接。在其它示例中,高速处理器432可管理存储器434的寻址,使得低功率处理器422将在需要涉及对存储器434的读取或写入操作的任何时间启动高速处理器432。
如图4所示,眼镜设备100的高速处理器432能够被耦合到相机系统(可见光相机114A、114B)、图像显示驱动器442、用户输入设备491和存储器434。
服务器系统498可以是作为服务或网络计算系统的一部分的一个或多个计算设备,例如,其包括处理器、存储器和网络通信接口,以通过网络495与眼镜设备100和移动设备401通信。
眼镜设备100的输出部件包括视觉元件,诸如与图2A和2B中所描述的每个透镜或光学组件180A、180B相关联的左图像显示屏和右图像显示屏(例如,诸如液晶显示屏(LCD)、等离子体显示面板(PDP)、发光二极管(LED)显示屏、投影仪或波导的显示屏)。眼镜设备100还可以包括面向用户的指示器(例如,LED、扬声器或振动致动器),或面向外部的信号(例如,LED、扬声器)。每个光学组件180A、180B的图像显示屏由图像显示驱动器442驱动。眼镜设备100的输出部件还包括附加的指示器,诸如可听元件(例如,在音频处理器413的控制下的扬声器185A-B)、触觉部件(例如,诸如振动马达的致动器以生成触觉反馈)和其他信号发生器。例如,设备100可以包括面向用户的一组指示器和面向外部的一组信号。面向用户的一组指示器被配置为被设备100的用户看到或以其他方式感测。例如,设备100可以包括被定位成使得用户能够看到的LED显示屏、被定位成生成用户能够听到的声音的一个或多个扬声器,或提供用户能够感觉到的触觉反馈的致动器。面向外部的一组信号被配置为被设备100附近的观察者看到或以其他方式感测。类似地,设备100可以包括LED、扬声器或被配置和定位成被观察者感测的致动器。
眼镜设备100的输入部件可以包括字母数字输入部件(例如,被配置为接收字母数字输入的触摸屏或触摸板、光电键盘或其他字母数字配置元件)、基于指针的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向工具)、触觉输入部件(例如,按钮开关、感测位置、力或位置和触摸力或触摸手势的触摸屏或触摸板,或其他触觉配置元件)、视觉输入(例如,经由相机114A-B捕捉的手势)和音频输入部件(例如,麦克风)等。移动设备401和服务器系统498可以包括字母数字、基于指针、触觉、音频、视觉和其他输入部件。
在一些示例中,眼镜设备100包括被称为惯性测量单元472的运动感测部件的集合。运动感测部件可以是具有微小运动零件的微机电系统(MEMS),该微小运动部件通常小到足以成为微芯片的一部分。在一些示例配置中,惯性测量单元(IMU)472包括加速度计、陀螺仪和磁力计。加速度计感测设备100相对于三个正交轴(x,y,z)的线性加速度(包括由于重力引起的加速度)。陀螺仪感测设备100围绕三个旋转轴(俯仰、滚转、偏航)的角速度。加速度计和陀螺仪一起能够提供关于设备相对于六个轴(x、y、z、俯仰、滚转、偏航)的定位、取向和运动数据。磁力计(如果存在)感测设备100相对于磁北的航向。设备100的定位可以由位置传感器来确定,诸如GPS单元、用于生成相对定位坐标的一个或多个收发器、高度传感器或气压计以及其他取向传感器。这样的定位系统坐标也能够通过无线连接425、437经由低功率无线电路424或高速无线电路436从移动设备401接收。
IMU 472可以包括或与数字运动处理器或编程协作,该数字运动处理器或者编程从部件收集原始数据并计算关于设备100的定位、取向和运动的多个有用值。例如,能够对从加速度计收集的加速度数据进行积分,以获得相对于每个轴(x,y,z)的速度;并且再次积分以获得设备100的定位(在线性坐标x、y和z中)。来自陀螺仪的角速度数据能够被积分以获得设备100的定位(在球面坐标中)。用于计算这些有用值的程序可以被存储在存储器434中,并由眼镜设备100的高速处理器432执行。
眼镜设备100可以可选地包括附加的外围传感器,诸如生物特征传感器、专业传感器或与眼镜设备100集成的显示元件。例如,外围设备元件可以包括任何I/O部件,包括输出部件、运动部件、定位部件或本文所述的任何其他此类元件。例如,生物识别传感器可以包括用于检测表情(例如,手部表情、面部表情、声音表情、身体姿势或眼球跟踪)、测量生物信号(例如,血压、心率、体温、汗液或脑电波),或标识人员(例如,基于声音、视网膜、面部特征、指纹或生物电信号(诸如脑电图数据)的标识)等的部件。
移动设备401可以是智能手机、平板电脑、膝上型计算机、接入点,或者能够使用低功率无线连接425和高速无线连接437与眼镜设备100连接的任何其他此类设备。移动设备401被连接到服务器系统498和网络495。网络495可以包括有线和无线连接的任何组合。
如图4所示,HRTF建模系统400包括通过网络耦合到眼镜设备100的计算设备,诸如移动设备401。HRTF建模系统400包括用于存储指令的存储器和用于执行指令的处理器。由处理器432执行HRTF建模系统400的指令将眼镜设备100配置为单独行动或与一个或多个其他计算设备(例如,移动设备401或服务器系统498)合作。HRTF建模系统400可以利用眼镜设备100的存储器434或者移动设备401的存储器元件540A、540B、540C(图5)。此外,HRTF建模系统400可以利用眼镜设备100的处理器元件432、422或移动设备401的中央处理单元(CPU)530(图5)。此外,HRTF建模系统400可以进一步利用服务器系统498的存储器和处理器元件。在该方面,HRTF建模系统400的存储器和处理功能能够在眼镜设备100、移动设备401和服务器系统498之间共享或分布。
在一些示例实施方式中,存储器434可以包括手势库480。手势库480包括手处于各种定位和取向的姿势和手势。所存储的姿势和手势适合于与在图像中检测到的手部形状进行比较。库480包括手部标志的三维坐标,例如,从手腕到指尖,用于匹配。例如,存储在库480中的手势记录可以包括手势标识符(例如,手指指向、握拳、张开手掌、放松手掌、抓住对象、捏、摊开)、视点或方向参考(例如,可见的掌侧、背侧、横侧)和关于取向的其他信息,以及手腕、十五个指间关节、五个指尖和其他骨骼或软组织标志的三维坐标。在一些实施方式中,检测手部的过程包括将视频数据的一个或多个捕捉帧中的像素级数据与库480中存储的手势进行比较,直到例如通过应用机器视觉算法找到匹配为止。当超过在机器视觉算法中设置的预定义置信度阈值时,可以确定匹配。
在一些示例实施方式中,存储器434另外包括音频滤波器481、虚拟对象数据库482、虚拟对象处理系统484、音频区域检测系统486和音频处理系统488。
音频滤波器481可以包括多个预定义的HRTF音频滤波器(例如,用于每个区域的左音频滤波器和右音频滤波器),用于基于虚拟对象音轨的定位来处理虚拟对象音轨。在一个示例中,任何区域所需的HRTF均衡和延迟被预先计算为一小组的双二阶滤波器(例如,每个区域4-7个双二阶滤波器;其中每个滤波器代表6个乘法和累加运算)。数字四阶(双二阶)滤波器是一种二阶递归线性滤波器,包含两个极点和两个零点。在Z域中,双二阶滤波器的传递函数是两个二阶函数的比率(H(z)=(b0+b1z-1+b2z-2)/(a0+a1z-1+a2z-2))。
虚拟对象数据库482包括与虚拟对象相关联的信息。在一个示例中,虚拟对象数据库482包括与虚拟对象相关联的音频信息(例如,音轨)和视觉信息(例如,用于创建外观的图像)。
虚拟对象处理系统484生成的指令用于在光学组件180A-B的图像显示屏上呈现虚拟对象并控制虚拟对象的运动。虚拟对象处理系统484另外计算与虚拟对象相关联的信息,诸如其定位、方向速度和相对于用户的距离。音频区域检测系统486生成的指令用于检测虚拟对象当前相对于用户头部所处的区域。在一个示例中,音频区域检测系统484维护表示用户头部周围的区域的地图(见图8A)以用于区域检测。音频处理系统488生成指令,用于响应于虚拟对象的当前定位将HRTF滤波器应用于它们的音轨并经由音频处理器413和扬声器185A-B向用户呈现声音。
存储器434可以另外包括图像捕捉应用、定位系统和图像处理系统。在相机正在捕捉视频数据帧的HRTF建模系统400中,图像捕捉应用将处理器432配置为检测手部形状(例如,食指指向)。定位系统将处理器432配置为获得用于确定眼镜设备100相对于物理环境的定位的定位数据。定位数据可以从一系列图像、IMU 472、GPS单元或它们的组合中导出。图像处理系统将处理器432配置为与图像显示驱动器442和图像处理器412合作,在光学组件180A-B的显示屏上呈现捕捉到的静态图像。
图5是示例移动设备401的高级功能框图。移动设备401包括闪存540A,闪存540A存储要由CPU 540执行的程序以执行本文所述的全部功能或功能的子集。如图5所示,移动设备401的CPU 540可被耦合到相机570、移动显示驱动器582、用户输入层591和闪存540A。
移动设备401可以包括相机570,相机570包括至少两个可见光相机(具有重叠视场的第一和第二可见光相机)或者至少一个可见光照相机和具有基本重叠视场的深度传感器。闪存540A还可以包括经由相机570生成的多个图像或视频。
如图所示,移动设备401包括图像显示屏580、用于控制图像显示屏580的移动显示屏驱动器582以及显示屏控制器584。在图5的示例中,图像显示屏580包括用户输入层591(例如,触摸屏),该用户输入层591被层叠在图像显示屏580使用的屏幕之上或以其他方式集成到图像显示屏580所使用的屏幕中。可以使用的触摸屏型移动设备的示例包括(但不限于)智能电话、个人数字助理(PDA)、平板电脑、膝上型电脑或其他便携式设备。然而,触摸屏型设备的结构和操作是通过示例的方式提供的;本文所描述的主题技术并不旨在限于此。因此,出于该讨论的目的,图5提供了具有用户界面的示例移动设备401的框图图示,该用户界面包括用于接收输入(通过触摸、多点触摸或手势等,通过手、触控笔或其他工具)的触摸屏输入层591和用于显示内容的图像显示屏580。
如图5所示,移动设备401包括至少一个数字收发器(XCVR)510,显示为WWAN XCVR,用于经由广域无线移动通信网络进行数字无线通信。移动设备401还包括附加的数字或模拟收发器,诸如用于短程网络通信的短程收发器(XCVR)520,诸如经由NFC、VLC、DECT、ZigBee、或/>例如,短程XCVR 520可以采用任何可用的双向无线局域网(WLAN)收发器的形式,该收发器的类型与在无线局域网中实施的一个或多个标准通信协议兼容,诸如IEEE 802.11下的/>标准之一。
为了生成用于定位移动设备401的位置坐标,移动设备401可以包括全球定位系统(GPS)接收器。可替选地或附加地,移动设备401能够利用短程XCVR 520和WWAN XCVR 510中的一个或两个来生成用于定位的位置坐标。例如,基于蜂窝网络、的定位系统能够生成非常准确的位置坐标,尤其是在组合使用时。这样的位置坐标能够经由XCVR 510、520通过一个或多个网络连接而被传输到眼镜设备。
收发器510、520(即,网络通信接口)符合由现代移动网络所使用的各种数字无线通信标准中的一个或多个。WWAN收发器510的示例包括(但不限于)被配置为根据码分多址(CDMA)和第三代合作伙伴计划(3GPP)网络技术操作的收发器,该网络技术包括但不限于3GPP类型2(或3GPP2)和LTE,有时被称为“4G”。例如,收发器510、520提供信息的双向无线通信,该信息包括数字化音频信号、静态图像和视频信号、用于显示的网页信息以及与网络相关的输入,以及到/来自移动设备401的各种类型的移动消息通信。
移动设备401还包括微处理器,该微处理器用作如图5中的CPU 540所示的中央处理单元(CPU)。处理器是具有被构造和布置为执行一个或多个处理功能(通常是各种数据处理功能)的元件的电路。尽管可以使用分立的逻辑部件,但是这些示例利用形成可编程CPU的部件。例如,微处理器包括结合执行CPU的功能的电子元件的一个或多个集成电路(IC)芯片。例如,CPU 540可以基于任何已知或可用的微处理器架构,诸如使用ARM架构的精简指令集计算(RISC),如目前在移动设备和其他便携式电子设备中常用的。当然,处理器电路的其他布置可以用于在智能手机、膝上型计算机和平板电脑中形成CPU 540或处理器硬件。
CPU 540通过将移动设备401配置为例如根据可由CPU 540执行的指令或编程来执行各种操作,从而用作移动设备401的可编程主机控制器。例如,此类操作可以包括移动设备401的各种一般操作,以及与移动设备401上的应用的编程相关的操作。尽管可以通过使用硬连线逻辑来配置处理器,但是移动设备中的典型处理器是通过执行编程来配置的通用处理电路。
移动设备401包括用于存储编程和数据的存储器或存储系统。在该示例中,存储器系统可以包括闪存540A、随机存取存储器(RAM)540B和其他根据需要的存储器部件540C。RAM 540B用作针对由CPU 540正在处理的指令和数据的短期存储装置,例如,作为工作数据处理存储器。闪存540A通常提供较长期的存储。
因此,在移动设备401的示例中,闪存540A被用于存储由CPU 540执行的程序或指令。取决于设备的类型,移动设备401存储并运行移动操作系统,通过该移动操作系统执行特定应用。移动操作系统的示例包括Google Android、Apple iOS(用于iPhone或iPad设备)、Windows Mobile、Amazon Fire OS、RIM BlackBerry OS等。
眼镜设备100内的处理器432可以构建眼镜设备100周围的环境的地图,确定眼镜设备100在所映射的环境内的位置,并且确定眼镜设备与所映射的环境中的一个或多个对象的相对定位。处理器432可以使用应用于从一个或多个传感器接收的数据的同时定位和映射(SLAM)算法来构建地图并确定位置和定位信息。传感器数据包括从相机114A、114B中的一个或两个接收到的图像、从激光测距仪接收到的一个或多个距离、从GPS单元接收到的定位信息、从IMU 572接收到的运动和加速度数据,或者来自此类传感器的数据、或来自提供对确定定位信息有用的数据的其他传感器的数据的组合。在增强现实的背景下,SLAM算法被用于构建和更新环境的地图,同时跟踪和更新设备(或用户)在所映射的环境中的位置。能够使用各种统计方法来近似数学解,诸如粒子滤波器、卡尔曼(Kalman)滤波器、扩展卡尔曼滤波器和协方差交集。在包括以高帧率(例如,每秒30帧)捕捉视频的高清(HD)摄像机的系统中,SLAM算法至少以与帧率一样的频率更新映射和对象的位置,换句话说,每秒计算和更新映射和位置30次。
传感器数据包括从一个或两个相机114A、114B接收到的一个或多个图像、从激光测距仪接收到的一个或多个距离、从GPS单元接收到的定位信息、从IMU 472接收到的运动和加速度数据,或者来自此类传感器的数据、或来自提供对确定定位信息有用的数据的其他传感器的数据的组合。
图6描绘了示例物理环境600以及对自然特征跟踪(NFT;例如,使用SLAM算法的跟踪应用)有用的元素。眼镜设备100的用户602呈现在示例物理环境600(在图6中,该物理环境是内部房间)中。眼镜设备100的处理器432使用捕捉的图像确定其相对于环境600内的一个或多个对象604的定位,使用环境600的坐标系(x,y,z)构建环境600的地图,并确定其在坐标系内的定位。此外,处理器432通过使用与单个对象604a相关联的两个或更多个位置点(例如,三个位置点606a、606b和606c),或者通过使用与两个或更多个对象604a、604b、604c相关联的一个或多个位置点606,来确定眼镜设备100在环境内的头部姿态(滚转、俯仰和偏航)。眼镜设备100的处理器432可以在环境600内定位虚拟对象608(诸如图6中所示的钥匙),用于在增强现实体验期间观看。
标记610被登记在环境中的位置处,以帮助设备执行跟踪和更新用户、设备和对象(虚拟和物理)在映射环境中的位置的任务。标记610有时被登记到高对比度的物理对象,诸如相对暗的对象,诸如安装在浅色墙上的带框图片604a,以帮助相机和其他传感器完成检测标记的任务。标记610可以是预先分配的,或者可以由眼镜设备100在进入环境时分配。
标记610能够用信息编码或者以其他方式链接到信息。标记610可以包括定位信息、物理代码(诸如条形码或QR码)或其组合,并且可以对用户可见或隐藏。在眼镜设备100的存储器434中存储有与各标记610相关联的一组数据。该组数据包括关于标记610a、标记的定位(位置和取向)、一个或多个虚拟对象或它们的组合的信息。标记定位可以包括一个或多个标记地标616a的三维坐标,诸如图6中所示的大致矩形标记610a的角部。标记位置可以相对于真实世界的地理坐标、标记坐标系、眼镜设备100的定位或其他坐标系来表示。与标记610a相关联的一个或多个虚拟对象可以包括各种材料中的任何一种,包括静止图像、视频、音频、触觉反馈、可执行应用、交互式用户界面和体验以及这些材料的组合或序列。该上下文中,能够被存储在存储器中、在遇到标记610a时被检索、或者与所分配的标记相关联的任何类型的内容都可以被分类为虚拟对象。例如,图6中所示的钥匙608是在标记位置显示为静态图像(2D或3D)的虚拟对象。
在一个示例中,标记610a可以在存储器中被登记为位于物理对象604a(例如,图6中所示的带框艺术品)附近并且与之相关联。在另一示例中,标记可以在存储器中被登记为相对于眼镜设备100的特定定位。
图7是描绘用于在可穿戴设备(例如,眼镜设备)上实施本文所述的增强现实应用的方法的流程图700。尽管参考如本文所述的眼镜设备100描述了这些步骤,但是本领域技术人员将从本文的描述中理解针对其它类型的设备所描述的步骤的其它实施方式。此外,可以设想,图7和其他图中所示以及本文中所述的一个或多个步骤可以被省略,同时执行或者以一系列的方式执行,以不同于图示和描述的顺序执行,或者与附加步骤一起执行。
在框702处,眼镜设备100捕捉眼镜设备100附近的物理环境600的一个或多个输入图像。处理器432可以连续地接收来自一个或多个可见光相机114的输入图像,并将这些图像存储在存储器434中用于处理。此外,眼镜设备100可以捕捉来自其他传感器的信息(例如,来自GPS单元的位置信息、来自IMU 472的取向信息或来自激光距离传感器的距离信息)。
在框704处,眼镜设备100将所捕捉的图像中的对象与存储在图像库中的对象进行比较,以标识匹配。在一些实施方式中,处理器432将所捕捉的图像存储在存储器434中。已知对象的图像库被存储在虚拟对象数据库482中。
在一个示例中,处理器432被编程为标识预定义的特定对象(例如,挂在墙上已知位置的特定图片604a、另一面墙上的窗户604b或诸如定位于地板上的保险箱604c之类的对象)。其他传感器数据,诸如GPS数据,可以被用于缩减用于比较的已知对象的数量(例如,仅与通过GPS坐标标识的房间相关联的图像)。在另一示例中,处理器432被编程为标识预定义的一般对象(诸如公园内的一棵或多棵树)。
在框706处,眼镜设备100确定其相对于一个或多个对象的定位。处理器432可以通过将捕捉图像中的两个或更多个点之间的距离(例如,一个对象604上的两个或更多个位置点之间的距离或者两个对象604中的每一个上的位置点606之间的距离)与所标识的对象中的对应点之间的已知距离进行比较和处理来确定其相对于对象的定位。所捕捉的图像的点之间的距离大于所标识的对象的点之间的距离,这指示眼镜设备100比捕捉包括所标识的对象的图像的成像仪更接近所标识的对象。另一方面,所捕捉的图像的点之间的距离小于所标识的对象的点之间的距离,指示眼镜设备100距离所标识的对象比捕捉包括所标识的对象的图像的成像仪更远。通过处理相对距离,处理器432能够确定相对于一个或多个对象的定位。可替选地或附加地,可以使用诸如激光距离传感器信息之类的其他传感器信息来确定相对于一个或多个对象的定位。
在框708处,眼镜设备100构建眼镜设备100周围的环境600的地图,并确定其在环境内的位置。在一个示例中,在所标识的对象(框704)具有预定义的坐标系(x,y,z)的情况下,眼镜设备100的处理器432使用该预定义的坐标系构建地图,并基于关于所标识的对象而确定的定位来确定其在该坐标系内的定位(框706)。在另一个示例中,眼镜设备使用环境内的永久或半永久对象604的图像(例如,公园内的树或公园长椅)来构建地图。根据该示例,眼镜设备100可以定义环境所使用的坐标系(x′,y′,z′)。
在框710处,眼镜设备100确定眼镜设备100在环境内的头部姿态(滚转、俯仰和偏航)。处理器432通过使用一个或多个对象604上的两个或更多个位置点(例如,三个位置点606a、606b和606c)或通过使用两个或更多个对象604上的一个或多个位置点606来确定头部姿态。使用传统的图像处理算法,处理器432通过比较在所捕捉的图像和已知图像的位置点之间延伸的线的角度和长度来确定滚转、俯仰和偏航。
在框712处,眼镜设备100向用户呈现视觉图像。处理器432使用图像处理器412和图像显示驱动器442在图像显示屏180上向用户呈现图像。图像处理器412响应于眼镜设备100在环境600内的位置而经由图像显示屏来开发和呈现视觉图像。在一个示例中,视觉图像包括用于操纵GUI(图8B)和虚拟航天器1004(图10)的特征的手1002(图10)的图像。
在框714处,重复上面参考框706-712描述的步骤,以更新眼镜设备100的定位以及当用户602在环境600中移动时所看到的内容。
处理虚拟对象的音频
图8A是表示区域图800的图示,其中对象(图8A中的36个对象)定位在关于用户围绕对象的多个区域(例如,36个区域;未图示)中的每个区域中,用于选择HRTF滤波器以应用于音轨以在用户的耳朵803处呈现。区域地图定义了每个区域的边界。在一个示例中,围绕用户头部802的空间被定义为36个区域:围绕头部旋转的12个扇区(像时钟一样),其中每个扇区被划分为3个垂直区域:耳朵上方808、耳朵水平804和耳朵下方812。对象806a-n被定位在用户耳朵水平804处周围的相应区域内,对象810a-n被定位在用户耳朵水平808上方周围的相应区域内,对象814a-n被定位在用户耳朵水平812下方周围的相应区域内。
图8B是图形用户界面(GUI)850,用于测试应用于虚拟对象的音轨的滤波器,以响应于对象相对于用户头部802的定位。时钟852呈现于用户头部802周围,以表示头部802周围的12个扇区/区域。圆形控件854和线性控件860被呈现以选择应用于音轨的滤波器,以使声音看起来好像来自用户头部802周围的不同位置。圆形控件854选择声音在围绕头部802的平面中的方向,并且线性控制器860选择声音是处于耳朵水平、耳朵水平以上还是耳朵水平以下。操纵控件选择滤波器,使声音看起来像来自所需方向。
圆形控件854被呈现围绕时钟852。圆形控件包括圆形轨道858和定位于轨道858内用于选择方向的选择器856。图示的选择器856包括表示与声音应该被感知为来自的期望方向相关联的角度信息的指示器(在图示的示例中为90度,表示声音应该看起来好像来自用户的右侧)。用户围绕圆形轨道858移动选择器856以改变方向选择。
线性控件860包括线性轨道864。选择器862定位于轨道864内,用于选择水平(例如,耳朵水平处、耳朵水平以下、耳朵水平以上)。用户沿着轨道864移动选择器862以改变水平。
GUI 850还包括用于选择音轨的音频选择按钮866、用于播放选择音轨的播放按钮868、用于暂停音轨的暂停按钮870、以及用于将指示器856/862重置到其默认位置(例如,选择856为90度并且选择器862为0度)的重置按钮872。
GUI可以呈现在眼镜设备100的显示屏180A、180B、移动设备401的显示屏580或用于诸如服务器系统498的远程计算机的显示屏上。在一个示例中,用户可以使用眼镜设备100的用户输入设备491、使用移动设备的用户输入层591或另一设备的用户输出来操纵选择器856/862并致动按钮866/868/872。
在另一个示例中,用户可以通过眼镜设备100的相机114A、114B捕捉的手势来操纵选择器856/862并致动按钮866/868/870/872。根据该示例,眼镜设备100的处理器432被配置为用相机114A、114B捕捉视频帧数据。将图像中的对象与手势库480进行比较以标识与动作相关联的预定义手势(例如,食指指向)。当手势被标识时,其定位被确定为相对于选择器856/862并且致动按钮866/868/870/872。手势的修改(例如,当食指的指尖靠近按钮时的轻击运动或当食指的指尖靠近选择器时的轻扫运动)导致按钮/选择器的致动。
在一些实施方式中,确定检测到的手部形状是否与预定义手势匹配的过程包括将一个或多个捕捉的视频帧数据中的关于手部形状的像素级数据与手势库480中存储的手势集合进行比较。所检测到的手部形状数据可以包括手腕、多达十五个指间关节、多达五个指尖以及在捕捉的帧中发现的其他骨骼或软组织地标的三维坐标。将这些数据与手势库480中存储的手势数据进行比较,直到找到最佳匹配。在一些示例中,该过程包括计算检测到的手部形状指尖坐标与存储在库480中的每个手势的一组指尖坐标之间的测地距离之和。在可配置的阈值精度值内的和表示匹配。
在另一示例实施方式中,确定检测到的手部形状是否与预定义手势匹配的过程涉及使用机器学习算法来将一个或多个捕捉的视频帧数据中的关于手部形状的像素级数据与包括手势的图像集合进行比较。机器学习是指一种通过经验逐步改进的算法。通过处理大量不同的输入数据集,机器学习算法能够开发出关于特定数据集的改进的泛化,并且然后在处理新数据集时使用这些泛化来产生准确的输出或解决方案。广义上讲,机器学习算法包括一个或多个参数,这些参数将响应于新经验进行调整或改变,从而逐步改进算法;类似于学习的过程。
在计算机视觉的背景下,数学模型试图仿真由人类视觉系统完成的任务,其目的是使用计算机从图像中提取信息,并实现对图像内容的准确理解。计算机视觉算法已被开发用于多个领域,包括人工智能和自主导航,以提取和分析数字图像和视频中的数据。
深度学习是指一类基于人工神经网络或以人工神经网络为模型的机器学习方法。人工神经网络是由许多简单、高度互联的处理元件(节点)组成的计算系统,这些处理元件通过其对外部输入的动态响应来处理信息。大型人工神经网络或许有数百或数千个节点。
卷积神经网络(CNN)是一种经常应用于分析视觉图像的神经网络,包括数字照片和视频。CNN中节点之间的连接模式通常以人类视觉皮层的组织为模型,人类视觉皮层包括被排列成对视野中重叠区做出反应的单个神经元。适合在本文所述的确定过程中使用的神经网络基于以下架构之一:VGG16、VGG19、ResNet50、Inception V3、Xception或其他CNN兼容架构。
在机器学习示例中,处理器432使用被称为手部特征模型的机器训练算法来确定检测到的手部形状是否与预定义手势基本匹配。处理器432被配置为访问通过机器学习训练的手部特征模型,并应用手部特征模型以在视频数据的一个或多个帧中标识和定位手部形状的特征。
在一个示例实施方式中,经过训练的手部特征模型接收包含检测到的手部形状的视频帧数据,并将帧中的图像抽象为用于分析的层。基于训练的手部特征模型,逐层地将每一层中的数据与手势库480中存储的手势数据进行比较,直到标识出良好的匹配。
在一个示例中,使用卷积神经网络执行逐层图像分析。在第一卷积层中,CNN标识所学习的特征(例如,手部地标、关节坐标集等)。在第二卷积层中,将图像转换为多个图像,其中所学习的特征各自在相应的子图像中被强调。在池化层中,图像和子图像的大小和分辨率被降低,以便隔离每个图像中包括可能的感兴趣特征(例如,可能的手掌形状,可能的手指关节)的部分。来自非输出层的图像的值和比较被用于对帧中的图像进行分类。如本文所用,分类是指使用训练过的模型根据检测到的手部形状对图像进行分类的过程。例如,如果检测到的手部形状与库480中的指针手势匹配,则图像可以被分类为“呈现指针手势”。
在一些示例实施方式中,处理器432响应于检测到指示手势,在显示屏180A、180B上呈现指示器1002(见图10)。指示器1002通知佩戴者已经检测到预定义的手势。在一个示例中,指示器1002是诸如图10中所示的指示手指1000之类的对象。指示器1002可以包括一个或多个可见、可听、触觉和其他元素,以通知或提醒佩戴者已经检测到指针手势。用户可以通过在眼镜设备100的视场内移动检测到的手势来移动指示器1002。
图9A是列出用于使用HRTF呈现音频信号的示例方法中的步骤的流程图900。尽管参考如本文所述的眼镜设备100描述了这些步骤,但是对于其他类型的移动设备,本领域技术人员将从本文的描述中理解所描述的步骤的其他实施方式。此外,可以设想,所示和描述的步骤中的一个或多个可以被省略,同时执行或以一系列的方式执行,以不同于所示和所描述的顺序执行,或者结合附加步骤执行。
在框902处,系统呈现虚拟对象(例如,图10中的航天器1004)。在一个示例中,处理器432从虚拟对象数据库482中检索虚拟对象。检索到的虚拟对象具有关联的音轨。处理器432使用虚拟对象处理系统484来处理虚拟对象,该虚拟对象处理系统484控制图像处理器412将虚拟对象作为图像呈现在光学组件180A、180B的显示屏上。所呈现的虚拟对象在三维空间中具有虚拟定位,虚拟对象处理系统484跟踪该虚拟定位。
在框904处,系统确定虚拟对象相对于用户头部的当前定位(方向和可选的距离),其中虚拟对象具有相关联的音轨。当前定位包括相对于用户头部的方向。当前定位可以另外包括相对于用户头部的距离。在一个示例中,方向和距离由虚拟对象处理系统484计算的矢量表示,该矢量与用户头部相关联的定位和由虚拟对象处理系统484跟踪的虚拟对象的虚拟定位相交。
在框906处,系统响应于所确定的定位来标识音频区域。处理器432使用音频区域检测系统486来确定音频区域。在一个示例中,音频区域检测系统486检索3D音频区域图,其包括围绕原点的球形,其表示与佩戴者头部相邻、在佩戴者头部上或之内的位置,其中球形被划分为多个音频区域(例如,36个音频区域)。音频区域检测系统486然后从原点投射在框904计算的矢量,并计算矢量与音频区域图之间的相交。为了标识当前音频区域,音频区域检测系统486最终将相交区域标识为虚拟对象的当前音频区域。
在框908处,系统将对应于当前音频区域的左和右预定义滤波器应用于与虚拟对象相关联的音轨,以产生左音频信号和右音频信号。处理器432将对应的预定义滤波器应用于虚拟对象的音轨。在一个示例中,音频处理系统488从存储在存储器434中的音频滤波器481中检索与区域相对应的音频滤波器。音频处理系统488然后将检索到的滤波器应用于音轨以产生左音频信号和右音频信号。
在框910处,系统用第一扬声器呈现左音频信号,并且用第二扬声器呈现右音频信号。处理器432用第一扬声器185A呈现左音频信号(例如,呈现给用户的左耳),并且用第二扬声器185B呈现右音频信号(例如,呈现给用户的右耳)。在一个示例中,音频处理系统488指示音频处理器413将左音频信号呈现给第一扬声器185A并且将右音频信号呈现给与第二扬声器185B。
图9B是列出用于调整虚拟对象的音轨以产生与虚拟对象相对于用户头部的方向速度相对应的音频信号的示例方法中的步骤的流程图920。这些调整提供了与用户的视觉解释相匹配的更真实的音频体验。
在框922处,系统确定虚拟对象相对于用户头部的方向速度。该系统通过监测虚拟对象的当前定位随时间的移动来确定方向速度。在一个示例中,虚拟对象处理系统484周期性地(例如,每10ms)计算虚拟对象的当前定位(例如,如上文参考框904所述)。虚拟对象处理系统484然后计算虚拟对象的先前(例如,紧接在先前)定位和当前定位之间的方向分量,在当前定位中,方向分量沿着在与用户头部相关联的原点和与虚拟对象相邻的定位之间延伸的线,以获得对象相对于用户的相对速度。
在框924处,系统响应于所确定的方向速度来调整左音频信号和右音频信号的频率。处理器432调整左音频信号和右音频信号的频率。在一个示例中,音频处理系统488指示音频处理器413调整频率(例如,当方向速度朝向用户时增加频率,并且当方向速度远离用户时降低频率)。音频处理系统488可以通过应用常规的多普勒频移算法来调整频率。
图9C是列出用于调整幅度以产生与虚拟对象相对于用户头部的距离相对应的音频信号的示例方法中的步骤的流程图940。这些调整提供了与用户的视觉解释相匹配的更真实的音频体验。
在框942处,系统确定虚拟对象相对于用户头部的距离信息。系统通过监测虚拟对象的当前定位来确定距离。在一个示例中,虚拟对象处理系统484周期性地(例如,每10ms)计算虚拟对象的当前定位(例如,如上文参考框904所述)。虚拟对象处理系统484然后计算与用户头部相关联的原点与虚拟对象的当前定位之间的距离。
在框944处,系统响应于所确定的距离信息来调整左音频信号和右音频信号的幅度。处理器432调整左音频信号和右音频信号的幅度。在一个示例中,音频处理系统488指示音频处理器413调整幅度(例如,当距离相对较近时增加幅度,而当距离距离用户相对较远时增加幅度)。音频处理系统488可以通过应用常规的线性或非线性算法来调整幅度。
如上所述的HRTF系统400因此使得电子眼镜设备100能够将用户沉浸在增强现实环境中,在该环境中,大量可变数量的并发增强现实对象(例如,虚拟透镜对象)在物理空间中四处移动。这些增强现实对象中的每一个可以与音频音轨相关联,该音频音轨使用独立的空间音频后处理与增强现实对象一起移动。为了改善眼镜设备100上的用户体验,期望使用低功率电路来提供空间音频处理,低功率电路在不限制并发音轨的数量的情况下提供较低的音频回放延迟。在示例配置中,这可以通过将后处理卸载到音频处理器413来实现。为了获得最佳的延迟性能,处理器432和音频处理器413之间的远程过程调用的数量应该最小化。本文所述的音频处理技术可以适于通过定义新的音频数据格式和相关联的编码和解码方法来包括具有有限的远程过程调用的音频处理器413,用于将多通道音轨从处理器432传输到音频处理器413以进行多通道音频处理。将参照图11-14来描述此类配置。
图11是在样本配置中包括多通道音频编码器1120和多通道音频解码器1140的低延迟、低功率音频处理系统1100的示意图。如图所示,音频处理系统1100包括耦合到音频处理器413的处理器432,音频处理器413也位于电子眼镜设备100上,用于提供增强的音频处理能力。
在示例配置中,在呈现虚拟对象时音频的回放期间,处理器432接收与加载到增强现实模块(例如,可从加利福尼亚州圣莫尼卡的Snap公司获得的Lens Studio)中的虚拟对象相对应的声音对象1110。例如,如果图10的飞碟1004在飞碟1004飞行通过用户的环境600时具有嗡嗡声的音轨,则呈现嗡嗡声的声音对象1110以供回放。在样本配置中,与增强现实音频回放(例如,N个通道)相关联的声音对象1110的所有此类音轨被提供给多通道音频编码器1120用于编码。如果没有此类编码,则对于每个声音对象1110将需要对音频处理器413的远程过程调用,这将对系统的音频处理延迟产生不利影响。因此,在样本配置中,多通道音频编码器1120对N个通道的音频数据进行编码,使得可以通过对音频处理器413的单个远程过程调用来传送N个通道的音频数据。编码后的音频数据由音频处理器413的多通道音频解码器1140解码,以分离各个虚拟对象的编码音轨,并且每个音轨被提供给头部相关传递函数(HRTF)处理模块1150,用于将解码音轨与如上所述的用户头部定位相关联。HRTF处理包括对各个音轨的空间元数据的处理。如图所示,各个声音对象1110的空间元数据可以由空间元数据远程过程调用1130通过处理器432和音频处理器413之间的侧通道异步发送。HRTF处理模块1150将N个通道的音频数据转换成左/右音频通道,以供后处理模块1160处理并呈现给左/右扬声器1170。在示例配置中,左/右扬声器可以对应于以上关于图1-4描述的左扬声器185A和右扬声器185B。
图12示出了多通道编码器1120对图11的样本配置中的多通道音频数据的编码。如图所示,处理器432的多通道音频编码器1120接收各个声音对象1110的各个音轨1200,其中每个音轨1200具有每帧有x个样本的帧。在样本配置中,数据可以被呈现为16位带符号脉冲编码调制(PCM)音频数据。然而,应当理解,音频数据可以是其他格式,诸如MP3、高级音频编码(AAC)等。各个音轨1200被提供给多通道编码器1120,用于生成包括所有提供的音轨1200的编码斑点,用于传送到音频处理器413。
为了便于在单个远程过程调用中传送到音频处理器413,多通道编码器1120聚合每个音轨1200的帧,并在组合音轨的开头添加指示音轨数量的报头1210。可选地,还可以提供签名(例如,唯一ID)以验证音轨1200是从授权源(例如,多通道音频编码器1120)接收的。多通道编码器1120还在每个音轨1200的开头添加样本,该样本包括包含足够使多通道音频解码器1140能够为每个音轨1200解包帧的信息的定制报头1220。使用例如单个远程过程调用将包括报头1210和聚合报头1220以及音轨1200的编码斑点传送到音频处理器413。
在音频处理器413上运行的多通道音频解码器1140使用报头1210和相应的定制报头1220来解码音轨1200并从接收到的编码斑点中分离音轨1200,并且将每个音轨1200分派到HRTF处理模块1150以进行独立处理。HRTF处理模块1150将N个通道的音轨1200转换为提供给后处理模块1160的两个通道。音频后处理模块1160的混合器将处理后的音轨1200重新组合成单个立体声音轨,该单个立体声音轨包括每帧x个样本,以呈现给扬声器1170。
每音轨调谐参数,包括与音轨1200的虚拟对象在空间中的定位相关的空间元数据,也能够经由一个或多个远程过程调用1130经由动态侧通道从处理器432异步地传送到HRTF处理模块1150,以实现HRTF处理模块1150的空间处理。报头1230可以被附加到参数数据以标识与参数相关的各个音轨1200。在图12的配置中,参数数据作为与音轨1200并行的单个块被发送到音频处理器413,以最小化处理延迟。
应当理解,上述音频编码格式基本上允许对多个音轨1200的帧进行封装,使得它们能够被中间库存软件(诸如硬件抽象层(HAL)、内核和远程过程调用(RPC)的传输层)处理为由单个音轨的样本组成的帧(基本上是字节的原始缓冲区)。例如,在上述配置中,多个音轨1200的帧可以在单个RPC中被传送到音频处理器413。该封装还包含足够的信息,使得多通道音频解码器1140能够将单个音轨解包为多个音轨1200的原始帧,这样每个音轨1200都能够由诸如HRTF处理模块1150之类的定制处理模块独立地处理。
如上所述,用于封装来自N个音轨1200中的每一个的帧的单个帧的编码斑点的报头1210可以包括在编码斑点的单个帧中表示的音轨的数目(N),以及可选地,用于验证音轨1200是从授权源(例如,多通道音频编码器1120)接收的签名(例如,唯一ID)。
在示例配置中,可以为每个音轨1200创建定制报头1220。图13A、图13B和图13C示出了图11和图12的音频处理系统的各种实施例中的样本定制报头。
图13A示出了样本报头1210,其包括来自单个音轨的帧的如下表示:
–报头版本1310,以确保兼容性;
-唯一音轨ID 1320,用于帮助标识音轨1200,用于随着虚拟对象在空间中移动而改变的空间音频后处理调谐参数;
-帧中的样本数量1330;以及
-保留字段1340以供将来使用,诸如用于延迟检测的时间戳。
有效载荷可以包括单个音轨的音频数据1350的帧的交织立体声样本。在示例配置中,对于每个音轨1200重复这种格式。
此外,基于虚拟对象的当前位置的当前HRTF参数可以经由诸如上述侧信道之类的异步接口发送。例如,侧通道可以实施远程过程调用1130,该远程过程调用1130将所有虚拟对象的空间参数组合成单个有效载荷,并将该有效载荷传送到HRTF处理模块1150,用于对接收到的音轨1200进行空间处理。在样本配置中,空间参数可以包括相对位置、使用SLAM计算的虚拟对象的相对速度、其间的中间对象等。
图13B和13C示出了样本报头1210的变体。
在第一变体中,可以与音轨1200同步地提供更新的HRTF参数和每音轨调谐参数。在该配置中,参数的侧通道将不需要将当前HRTF参数和每音轨调谐参数传达给HRTF处理模块1150。在该配置中,替代地,HRTF参数和每音轨调谐参数将与音轨1200一起被编码在编码斑点中。样本报头1210将被修改以考虑到这些参数。例如,如图13B所示,HRTF参数1370可以被添加到对应音轨1200的报头1360。该变体的优点是可以在没有软件引起的滞后的情况下提供精确的声音运动。在该变体中,对于每个帧,HRTF参数被传达给多通道音频编码器1120。如果HRTF参数没有变化,则能够经由报头1210中的特殊签名或单独报头1220来进行传达。多通道音频编码器1120可以将HRTF参数编码为如图13B所示的该音轨的报头1360的一部分。在该配置中,多通道解码器1140可以对来自报头1360的HRTF参数进行解码,并将HRTF参数提供给HRTF处理模块1150,用于在该帧的HRTF处理期间应用于接收到的音轨1200。
在上述配置中,假设音轨1200是原始PCM未压缩音频数据格式。然而,本文描述的技术能够容易地扩展到压缩音频数据格式(例如,AAC、MP3等),其中音频解码在处理器432或音频处理器413上完成。在音频处理器413执行音频解码的情况下,多通道音频编码器1120将发送各个音轨1200的有效载荷中的压缩音频数据,并修改报头以标识已经应用的压缩类型。例如,如图13C所示,可以在报头1380中提供数据压缩格式1390,并且在有效载荷中提供压缩音频数据1395。在该配置中,多通道音频解码器1140可以使用由报头1380中的数据压缩格式1390指定的数据解压缩模块来解压缩音频数据。多通道解码器1140还将充当HRTF处理模块1150的调度器,用于解压缩的各个音轨1200。
图14是列出在图11和图12的样本配置中对多通道音频数据进行编码和解码的样本方法1400中的步骤的流程图。
在方法1400中,在1410处,在呈现虚拟对象时回放N个声音对象1110的N个通道的音频期间,多通道音频编码器1120接收与加载到增强现实模块(例如,可从加州圣莫尼卡的Snap公司获得的Lens Studio)中的虚拟对象相对应的声音对象1110。
在1420处,多通道音频编码器1120聚合每个音轨的帧,并在组合音轨的开头添加指示聚合音轨的数量的报头1210。可选地,还可以提供签名(例如,唯一ID)以验证音轨1200是从授权源(例如,多通道音频编码器1120)接收的。
在1430处,多通道音频编码器1120在每个音轨1200的开头添加定制报头(例如,图13A、13B、13C),该定制报头包含足以使多通道音频解码器1140能够对对应音轨1200的帧进行解包的信息。
在1440处,多通道音频编码器1120将聚合的音轨1200作为编码斑点(例如,在单个RPC中)传输,并且经由侧通道或在定制报头中将HRTF空间编码参数元数据和每音轨调谐参数传输到多通道音频解码器1140。
在1450处,多通道音频解码器1140接收编码斑点和HRTF空间编码参数元数据以及每通道调谐参数。
在1460处,多通道音频解码器1140对编码的音频数据进行解码,以基于报头数据为各个虚拟对象分离编码的音轨1200,并且每个音轨1200被分派到HRTF处理模块1150,用于将解码的音轨1200与用户头部定位相关联。如上所述,HRTF处理模块1150将N个通道的音频数据转换为左/右音频通道。
最后,在1470处,左/右音频通道被提供给后处理模块1160,以将处理后的音轨重新组合成单个立体声音轨,用于呈现给左/右扬声器1170。
本领域技术人员将理解,在本公开的范围内,其他修改也是可能的。例如,应当理解的是,音轨1200可以不同时到达,而是可以异步地到达多通道音频编码器1120。在这种情况下,音轨1200可以由多通道音频编码器1120以采样间隔获取,或者可以被调度为传递到多通道音频解码器1120以进行编码。在这种情况下,可以在报头1210或客户报头1220中提供定时或调度数据,以使得能够在音频处理器413处再生异步接收的音轨1200。此外,本领域技术人员将理解,音轨1200中的任何音轨都可以是单声道或立体声的。在这种情况下,可以将另一字段附加到报头1220,以指示给定音轨中的通道数量。
如本文所述,本文所述的眼镜设备100、移动设备401和服务器系统498的任何功能都能够体现在一个或多个计算机软件应用或编程指令集中。根据一些示例,“功能”、“多个功能”、“应用”、“多个应用、“指令”、“多个指令”或“编程”是执行程序中定义的功能的一个或多个程序。能够采用各种编程语言来开发一个或多个应用,其结构各种各样,诸如面向对象编程语言(例如,Objective-C、Java或C++)或程序化编程语言(例如,C或汇编语言)。在一个特定的示例中,第三方应用(例如,使用由特定平台的供应商以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以包括在诸如IOSTM、ANDROIDTMPhone或其他移动操作系统之类的移动操作系统上运行的移动软件。在该示例中,第三方应用能够激活由操作系统提供的API调用,以促进本文描述的功能。
因此,机器可读介质可以采用多种形式的有形存储介质。非易失性存储介质包括例如光盘或磁盘,诸如任何计算机设备中的任何存储设备等,诸如可被用于实施图中所示的客户端设备、媒体网关、代码转换器等。易失性存储介质包括动态存储器,诸如这种计算机平台的主存储器。有形传输介质包括同轴电缆;铜线和光纤,包括在计算机系统内构成总线的导线。载波传输介质可以采用电信号或电磁信号的形式,或者声波或光波的形式,诸如在射频(RF)和红外(IR)数据通信期间生成的声波或光波。因此,计算机可读介质的常见形式包括例如:软盘、软磁盘、硬盘、磁带、任何其他磁介质、CD-ROM、DVD或DVD-ROM、任何其他光学介质、打孔卡片纸带、任何其他带孔图案的物理存储介质、RAM、PROM和EPROM、FLASH-EPROM、任何其他存储芯片或盒式存储器,传送数据或指令的载波、传送此类载波的电缆或链路,或者计算机可以从中读取编程代码或数据的任何其他介质。这些形式的计算机可读介质中的许多可以涉及将一个或多个序列的一个或多个指令承载到处理器以供执行。
除上文直接陈述外,所陈述或说明的任何内容均不旨在或不应被解释为导致向公众贡献任何部件、步骤、特征、对象、利益、优势或等效物,无论其是否在权利要求中提及。
应当理解,本文中使用的术语和表达具有与这些术语和表达在其对应的调查和研究的相应领域所具有的普通含义,除非本文中另有规定。诸如第一和第二之类的关系术语可以仅被用于区分一个实体或动作与另一个实体或动作,而不必要求或暗示此类实体或动作之间的任何实际的此类关系或顺序。术语“包括”、“包括了”“包含”、“包含了”或其任何其他变体旨在涵盖非排他性包含,使得包括或包含一列表的元素或步骤的工艺、方法、物品或装置不仅包括这些元素或步骤,还可以包括未明确列出的或该工艺、方法、物品或装置固有的其他元素或步骤。在没有进一步限制的情况下,以“一”或“一个”开头的元素并不排除在包括该元素的工艺、方法、物品或装置中存在附加的相同元素。
除非另有说明,否则本说明书(包括以下权利要求书)中规定的任何和所有测量值、额定值、定位、幅度、大小和其他规范都是近似的,而不是精确的。此类数量应具有合理的范围,该范围与它们所涉及的功能和它们所涉及的技术中的习惯相一致。例如,除非另有明确规定,否则参数值等可以与规定的数量或范围相差多达正负百分之十。
此外,在前述详细描述中,能够看出,为了简化本公开的目的,在各种示例中将各种特征分组在一起。该公开方法不应被解释为反映所要求保护的示例需要比每个权利要求中明确列举的更多特征的意图。相反,如以下权利要求所反映的,要保护的主题不在于任何单个公开的示例的所有特征。因此,以下权利要求被并入详细说明书中,其中每个权利要求作为单独要求保护的主题内容而独立存在。
虽然前面已经描述了被认为是最佳模式和其他示例,但是应当理解,可以在其中进行各种修改,并且可以以各种形式和示例来实施本文公开的主题内容,并且它们可以被应用于许多应用中,本文仅描述了其中的一些。以下权利要求旨在要求落入本概念的真实范围内的任何和所有修改和变化。

Claims (20)

1.一种被配置为向用户呈现增强现实对象的电子眼镜设备,包括:
显示屏,其在所述用户正在观看的场景中呈现增强现实对象;
扬声器系统,包括用于向用户头部的左耳呈现左音频信号的第一扬声器和用于向用户头部的右耳呈现右音频信号的第二扬声器;
存储指令的存储器;以及
音频处理系统,包括处理器和音频处理器,它们共同处理所述指令以向所述扬声器系统呈现与所述增强现实对象相关联的音频,其中:
所述处理器接收分别与一个或多个增强现实对象相关联的一个或多个音轨,将所述一个或多个音轨编码为聚合音轨,所述聚合音轨包括所述一个或多个音轨、唯一地标识每个相应音轨的每个音轨的报头,以及标识所述聚合音轨中的音轨的数量的聚合报头,并在第一数据传输通道中将所述聚合音轨传送到所述音频处理器;并且
所述音频处理器使用每个音轨的报头和所述聚合报头来将所述一个或多个音轨从所述聚合音轨中分离,并行地独立地处理所述一个或多个音轨,并且将所述一个或多个音轨提供给所述扬声器系统以与所述增强现实对象一起呈现。
2.根据权利要求1所述的电子眼镜设备,其中,所述处理器进一步接收与所述一个或多个音轨中的至少一个音轨相关的空间参数元数据,将所述空间参数元数据聚合为聚合空间参数元数据,并且在第二数据传输信道中相对于所述聚合音轨异步地将所述聚合空间参数元数据传送到所述音频处理器。
3.根据权利要求2所述的电子眼镜设备,其中,所述音频处理器包括头部相关传递函数处理模块,所述头部相关传递函数处理模块从聚合空间参数数据中分离与各个音轨相对应的所述空间参数元数据,并处理所述一个或多个音轨以及与所述一个或多个音轨相关联的空间参数元数据以产生左音频信号和右音频信号,其中所述左音频信号与所述右音频信号呈现与所述增强现实对象在场景中的空间定位相关联的声音。
4.根据权利要求1所述的电子眼镜设备,其中,所述处理器使用单个远程过程调用将所述聚合音轨传送到所述音频处理器。
5.根据权利要求1所述的电子眼镜设备,其中,用于相应音轨的所述报头还包括所述报头的版本的指示以及用于所述相应音轨的帧中的样本数量。
6.根据权利要求1所述的电子眼镜设备,其中,用于相应音轨的所述报头还包括用于所述相应音轨的头部相关传递函数参数或每音轨调谐参数中的至少一个。
7.根据权利要求1所述的电子眼镜设备,其中,所述一个或多个音轨中的至少一个音轨是压缩的,并且每个相应的压缩音轨的报头还包括已经被应用于一个或多个压缩音轨的压缩类型的指示。
8.根据权利要求1所述的电子眼镜设备,其中,所述处理器以采样间隔或在调度传递时间处接收分别与一个或多个增强现实对象相关联的一个或多个音轨,并且所述一个或多个音轨的报头还包括采样间隔数据或调度数据。
9.一种用于在场景中呈现与呈现给用户的增强现实对象相关联的声音的方法,包括:
处理器接收分别与一个或多个增强现实对象相关联的一个或多个音轨;
所述处理器将所述一个或多个音轨编码成聚合音轨,所述聚合音轨包括所述一个或多个音轨、唯一地标识每个相应音轨的每个音轨的报头、以及标识所述聚合音轨中的音轨的数量的聚合报头;
所述处理器在第一数据传输通道中将所述聚合音轨传送到音频处理器;
所述音频处理器使用每个音轨的所述报头和所述聚合报头以将所述一个或多个音轨从所述聚合音轨中分离;
所述音频处理器并行地独立地处理所述一个或多个音轨;以及
所述音频处理器将所述一个或多个音轨提供给扬声器系统以用于与所述增强现实对象一起呈现。
10.根据权利要求9所述的方法,还包括所述处理器接收与所述一个或多个音轨中的至少一个音轨相关的空间参数元数据,将所述空间参数元数据聚合为聚合空间参数元数据,以及在第二数据传输通道中相对于所述聚合音轨异步地将所述聚合空间参数元数据传送到所述音频处理器。
11.根据权利要求10所述的方法,其中,所述音频处理器包括头部相关传递函数处理模块,还包括所述头部相关传递函数模块从聚合空间参数数据中分离对应于各个音轨的所述空间参数元数据,并处理所述一个或多个音轨和与所述一个或多个音轨相关联的空间参数元数据,以产生所述左音频信号和所述右音频信号,其中所述左音频信号和所述右音频信号呈现与所述增强现实对象在所述场景中的空间定位相关联的声音。
12.根据权利要求9所述的方法,还包括所述处理器使用单个远程过程调用将所述聚合音轨传送到所述音频处理器。
13.根据权利要求9所述的方法,还包括在所述相应音轨的报头中为所述相应音频提供所述报头的版本和帧中的样本数目的指示。
14.根据权利要求9所述的方法,还包括在所述相应音轨的报头中为所述相应音频提供与头部相关传递函数参数或每音轨调谐参数中的至少一个。
15.根据权利要求9所述的方法,其中,所述一个或多个音轨中的至少一个音轨是压缩的,还包括在至少一个压缩音轨的报头中提供已被应用于所述至少一个压缩音轨的压缩类型的指示。
16.根据权利要求9所述的方法,还包括所述处理器以采样间隔或在调度传递时间处接收分别与一个或多个增强现实对象相关联的一个或多个音轨,并在所述一个或多个音轨的报头中提供采样间隔数据或调度数据。
17.一种非暂态计算机可读介质,包括用于在场景中呈现与呈现给用户的增强现实对象相关联的声音的指令,其中,当所述指令由处理器和音频处理器执行时,将所述处理器和所述音频处理器配置为:
由所述处理器接收分别与一个或多个增强现实对象相关联的一个或多个音轨;
由所述处理器将所述一个或多个音轨编码为聚合音轨,所述聚合音轨包括所述一个或多个音轨、唯一地标识每个相应音轨的每个音轨的报头、以及标识所述聚合音轨中的音轨的数量的聚合报头;
由所述处理器在第一数据传输通道中将所述聚合音轨传送到所述音频处理器;
由所述音频处理器使用每个音轨的报头和所述聚合报头将所述一个或多个音轨从所述聚合音轨中分离;
由所述音频处理器并行地独立地处理所述一个或多个音轨;以及
由所述音频处理器将所述一个或多个音轨提供给扬声器系统,用于与所述增强现实对象一起呈现。
18.根据权利要求17所述的介质,还包括如下指令,其在由所述处理器执行时,使所述处理器接收与所述一个或多个音轨中的至少一个音轨相关的空间参数元数据,将所述空间参数元数据聚合成聚合空间参数元数据,以及在第二数据传输通道中相对于所述聚合音轨异步地将所述聚合空间参数元数据传送到所述音频处理器。
19.根据权利要求18所述的介质,还包括如下指令,其在由所述音频处理器执行时,使得所述音频处理器的头部相关传递函数处理模块将与相应音轨相对应的空间参数元数据从聚合空间参数数据中分离,并且处理所述一个或多个音轨和与所述一个或多个音轨相关联的空间参数元数据,以产生所述左音频信号和所述右音频信号,其中所述左音频信号和所述右音频信号呈现与所述增强现实对象在所述场景中的空间定位相关联的声音。
20.根据权利要求17所述的介质,还包括如下指令,其在由所述处理器执行时,使所述处理器使用单个远程过程调用将所述聚合音轨传送到所述音频处理器。
CN202280036408.7A 2021-05-19 2022-05-12 低延迟、低功率的多通道音频处理 Pending CN117413536A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163190733P 2021-05-19 2021-05-19
US63/190,733 2021-05-19
PCT/US2022/029001 WO2022245630A1 (en) 2021-05-19 2022-05-12 Low latency, low power multi-channel audio processing

Publications (1)

Publication Number Publication Date
CN117413536A true CN117413536A (zh) 2024-01-16

Family

ID=81928203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280036408.7A Pending CN117413536A (zh) 2021-05-19 2022-05-12 低延迟、低功率的多通道音频处理

Country Status (5)

Country Link
US (2) US12010505B2 (zh)
EP (1) EP4342192A1 (zh)
KR (1) KR20240009478A (zh)
CN (1) CN117413536A (zh)
WO (1) WO2022245630A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9854375B2 (en) 2015-12-01 2017-12-26 Qualcomm Incorporated Selection of coded next generation audio data for transport
JP2019533404A (ja) * 2016-09-23 2019-11-14 ガウディオ・ラボ・インコーポレイテッド バイノーラルオーディオ信号処理方法及び装置
EP3777248A4 (en) 2018-04-04 2021-12-22 Nokia Technologies Oy DEVICE, METHOD AND COMPUTER PROGRAM FOR CONTROLLING THE PLAYBACK OF SPATIAL AUDIO

Also Published As

Publication number Publication date
US20220377491A1 (en) 2022-11-24
KR20240009478A (ko) 2024-01-22
US20240298138A1 (en) 2024-09-05
EP4342192A1 (en) 2024-03-27
WO2022245630A1 (en) 2022-11-24
US12010505B2 (en) 2024-06-11

Similar Documents

Publication Publication Date Title
US12086324B2 (en) Micro hand gestures for controlling virtual and graphical elements
US20210373650A1 (en) Interactive augmented reality experiences using positional tracking
KR20230026505A (ko) 객체 조작을 사용한 증강 현실 경험들
KR20230164185A (ko) 가상 및 그래픽 요소들을 제어하기 위한 매핑된 손 영역들 사이의 양손 상호 작용들
CN116324677A (zh) 响应于检测到的手势的非接触式照片捕获
US11887246B2 (en) Generating ground truth datasets for virtual reality experiences
US11889291B2 (en) Head-related transfer function
CN117337426A (zh) 音频加强的增强现实
US20240320353A1 (en) Timelapse of generating a collaborative object
US20240107256A1 (en) Augmented reality spatial audio experience
WO2024049578A1 (en) Scissor hand gesture for a collaborative object
WO2024049576A1 (en) Real-world responsiveness of a collaborative object
US12010505B2 (en) Low latency, low power multi-channel audio processing
US20240070300A1 (en) Selective collaborative object access based on timestamp
US20240070299A1 (en) Revealing collaborative object using countdown timer
US20240070298A1 (en) Selective collaborative object access

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