用于压缩的方法和系统与流程

文档序号:22327816发布日期:2020-09-25 17:58阅读:122来源:国知局
用于压缩的方法和系统与流程

本申请基于并要求于2019年3月18日在美国专利商标局提交并分配序号62/820,148的美国临时专利申请的优先权,于2019年6月12日在美国专利商标局提交并分配序号62/860,522的美国临时专利申请的优先权,以及于2019年9月19日在美国专利商标局提交并分配序号16/576,166的美国专利申请的优先权,所述美国专利申请的全部内容通过引用包含于此。

本公开总体涉及数据压缩。特别地,本公开涉及使用条件自动编码器进行压缩的方法和设备。



背景技术:

可变比率压缩可利用神经网络功能并且可应用于各种领域,可变比率压缩包括但不限于图像压缩和射频集成电路(rfic)输出压缩。

图像压缩是针对数字图像的数据压缩的应用,以减低数字图像的存储和/或传输需求。变换编码可用于生成图像压缩算法,诸如,联合图像专家组(jpeg)和jpeg2000。这样的变换编码将输入转换为变换域中的潜在表示,在该变换域中,有损压缩(通常是量化和无损源编码的组合)更顺应并且更有效。例如,jpeg利用离散余弦变换(dct)以将图像转换为稀疏频域表示。jpeg2000用增强的离散小波变换来代替dct。

深度学习可在各种计算机视觉任务中提供改进的性能。伴随着深度学习的这种革命性进步,基于学习的图像压缩也已经获得了关注。特别地,用深度神经网络设计的非线性变换编码已经先进到胜过由领域专家成熟设计和优化的经典图像压缩编解码器(例如,作为高效率视频编解码器(hevc)标准的静止图像版本的更好的可移植图形(bpg))。典型的基于学习的图像压缩方案提供针对作为基于均方误差(mse)的度量标准的峰值信噪比(psnr)的bpg编解码器。

典型的基于自动编码器的图像压缩框架使用拉格朗日乘数(lagrangemultiplier)的方法来优化比率-失真(r-d)对的加权组合。为了适应压缩图像的质量(或比率),多个模型针对不同值的拉格朗日乘数来分别训练。也就是说,典型的系统针对比率自适应而训练和部署多个模型,或者在改变拉格朗日乘数的同时保持模型,当期望用高分辨率覆盖宽范围的r-d曲线并且每个网络的尺寸较大时,这可能是无法实现的。



技术实现要素:

根据一个实施例,一种方法包括:使用拉格朗日乘数来训练条件自动编码器;和用混合量化箱大小来训练包括条件自动编码器的神经网络。

根据一个实施例,一种系统包括:神经网络,包括条件自动编码器;和处理器,被配置为:使用拉格朗日乘数来训练条件自动编码器并使用混合量化箱大小来训练神经网络。

附图说明

从下面结合附图的具体实施方式,本公开的特定实施例的以上和其它方面、特征以及优点将更加清楚,其中:

图1a示出根据一个实施例的可变比率图像压缩模型的示图;

图1b示出根据一个实施例的可变比率图像压缩模型的示图;

图2示出根据一个实施例的用于压缩的方法的流程图;

图3示出根据一个实施例的条件自动编码器的示图;

图4示出根据一个实施例的改善的可变比率压缩模型的示图;

图5示出根据一个实施例的用于射频集成电路(rfic)模数输出压缩的系统的示图;

图6示出根据一个实施例的条件编码器的示图;

图7示出根据一个实施例的条件编码器的示图;

图8示出根据一个实施例的条件熵模型的示图;

图9示出根据一个实施例的条件熵模型的示图;

图10示出根据一个实施例的条件解码器的示图;

图11示出根据一个实施例的条件解码器的示图;

图12示出根据一个实施例的网络环境中的电子装置的框图。

具体实施方式

在下文中,参照附图详细描述本公开的实施例。应注意,尽管相同的元件在不同的附图中示出,但是相同的元件将由相同的参考标号表示。在下面的描述中,具体细节(诸如,详细的配置和组件)仅被提供以帮助对本公开的实施例的总体理解。因此,本领域技术人员应清楚,在不脱离本公开的范围的情况下,可进行在此描述的实施例的各种改变和修改。另外,为了清楚和简洁,省略了对公知的功能和构造的描述。以下描述的术语是考虑到本公开中的功能而定义的术语,并且可根据用户、用户的意图或习惯而不同。因此,术语的定义应基于贯穿本说明书的内容来确定。

本公开可具有各种修改和各种实施例,以下参照附图详细描述其中的实施例。然而,应理解,本公开不限于这些实施例,而是包括在本公开的范围内的所有修改、等同物和替换物。

尽管包括序数(诸如,第一、第二等)的术语可用于描述各种元件,但是结构元件不受该术语限制。该术语仅用于将一个元件与另一元件区分开。例如,在不脱离本公开的范围的情况下,第一结构元件可被称为第二结构元件。类似地,第二结构元件也可被称为第一结构元件。如在此使用的,术语“和/或”包括一个或多个相关项的任何组合和所有组合。

在此使用的术语仅用于描述本公开的各种实施例,而不意在限制本公开。除非上下文另外清楚地指示,否则单数形式意在包括复数形式。在本公开中,应理解,术语“包括”或“具有”指示存在特征、数量、步骤、操作、结构元件、部件或它们的组合,并且不排除存在或可能添加一个或多个其它特征、数量、步骤、操作、结构元件、部件或它们的组合。

除非不同地定义,否则在此使用的所有术语具有与本公开所属领域的技术人员理解的含义相同的含义。除非在本公开中清楚地定义,否则术语(诸如在通用字典中定义的术语)将被解释为具有与在相关技术领域的上下文含义相同的含义,并且不被解释为具有理想化或过于形式化的含义。

根据一个实施例的电子装置可以是各种类型的电子装置中的一种。例如,电子装置可包括便携式通信装置(例如,智能电话)、计算机、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。根据公开的一个实施例,电子装置不限于以上描述的电子装置。

本公开中使用的术语不意在限制本公开,而是意在包括对应实施例的各种变化、等同物或替换物。关于附图的描述,相似的参考标号可用于表示相似的或相关的元件。除非相关上下文另外清楚地指示,否则与项目对应的名词的单数形式可包括一个或多个事物。如在此使用的,诸如“a或b”、“a和b中的至少一个”、“a或b中的至少一个”、“a、b或c”、“a、b和c中的至少一个”以及“a、b或c中的至少一个”的短语中的每个可包括与短语中的对应一个一起列举的项目的所有可能的组合。如在此使用的,诸如“第1”、“第2”、“第一”以及“第二”的术语可用于将对应组件与另一组件区分开,而不意在在其它方面(例如,重要性或顺序)限制组件。意图是,如果元件(例如,第一元件)在具有或没有术语“可操作地”或“通信地”的情况下被称为“与”另一元件(例如,第二元件)“结合”、“结合到”另一元件、“与”另一元件“连接”、或“连接到”另一元件,则指示该元件可直接(例如,有线地)、无线地或经由第三元件与另一元件结合。

如在此使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并且可与其它术语(例如,“逻辑”、“逻辑块”、“部件”或“电路”)互换使用。模块可以是适于执行一个或多个功能的单个集成组件或者是它的最小单元或部件。例如,根据一个实施例,可以以专用集成电路(asic)的形式来实现模块。

可变比率压缩可利用神经网络功能并且可应用于包括但不限于图像压缩和射频集成电路(rfic)输出压缩的各种领域。

根据一个实施例,本系统和方法提供一种执行比率自适应的单个可变比率图像压缩网络。特别地,该网络包括条件自动编码器(conditionalautoencoder),条件自动编码器以拉格朗日乘数为条件(即,该网络将拉格朗日乘数作为输入并且产生其压缩比率(例如,图像压缩中的比特每像素(bpp))取决于输入值的潜在表示(latentrepresentation))。此外,该网络用混合量化箱大小(mixedquantizationbinsize)来被训练,混合量化箱大小通过调整应用于潜在表示的量化的箱大小来允许压缩率的自适应。对目标的粗略的压缩率自适应通过在条件模型中改变拉格朗日乘数来实现,而精细的压缩率自适应通过调整量化箱大小来进行。

图1a示出根据一个实施例的可变比率图像压缩模型100的示图。模型100包括条件自动编码器102、条件解码器104以及条件熵模型106。自动编码器102以拉格朗日乘数λ108为条件,自动编码器102在一个条件模型中针对各种λ值适应压缩比率并且优化比率-失真拉格朗日算符。模型100针对量化箱大小δ110与通用量化(或者,通用量化函数)111的混合值来训练,使得压缩比率可通过改变δ110而变化。乘数108在条件熵模型106和条件解码器104两者中被利用。模型100利用熵编码112和熵解码114。

本条件自动编码器102接收优化问题的超参数(即,拉格朗日乘数λ108)作为它的条件变量。本系统和方法使用一个条件网络求解多个目标,而不是使用单独的非条件网络分别地求解目标。模型100基于不需要多次迭代的条件自动编码器,而质量由模型100的条件变量λ108和δ110来控制。

图1b示出根据一个实施例的可变比率图像压缩模型150的示图。模型150包括第一条件自动编码器152、第二条件自动编码器154、第一条件熵模型156、第二条件熵模型158、第一条件自动解码器160以及第二条件自动解码器162。模型150还包括第一通用量化函数164和第二通用量化函数166,以及第一算术编码(ae)/算术解码(ad)函数168和第二ae/ad函数170。如下所述,超参数172在通用量化函数164和通用量化函数166处被利用。

自动编码器架构包括编码器fφ(x)和解码器gθ(z),其中,x是输入范围,并且z=roundδ(fφ(x))是用量化箱大小δ从输入x编码的量化的潜在表示,其中,round()为取整函数并且roundδ(x)=δround(x/δ)。在以下等式中,δ固定为1。无损熵源编码用于从量化的表示z生成压缩比特流。取得针对量化的潜在变量(latentvariable)z的熵源编码并且获得它的熵比率,压缩比率r和失真d(即,l2损失或mse损失)由等式(1)给出:

其中,φ、θ分别是编码器fφ(x)和解码器gθ(z)的参数,并且如在等式(2)中那样:

pφ(x)=∫p(x)δ(z-roundδ(fφ(x)))dx(2)

p(x)是所有自然图像的概率密度函数,并且pφ(z)是从编码器fφ(x)和roundδ导出的满足等式(2)的z的概率质量函数,其中,δ表示狄拉克德尔塔(diracdelta)函数。使用拉格朗日乘数的方法,对于固定的拉格朗日乘数λ>0,r-d优化问题被表示为等式(3):

在等式(1)中提供的压缩比率和失真由于pφ(z)和roundδ而对于网络参数φ是不可微分的,并且因此无法直接优化等式(3)。

根据一个实施例,本系统使用通用量化。如在等式(4)中那样,通用量化用一个公共均匀随机变量来抖动潜在表示fφ(x)中的每个元素:

z=roundδ(fφ(x)+u)-u,u=[u,u,...,u](4)

其中,抖动向量u包括具有支持[-δ/2,δ/2]的单个均匀随机变量u的多个重复。在网络训练的反向传播中,通用量化被近似为单位斜率的线性函数。尽管从通用量化导出的噪声跨维度依赖,但是在每个维度中,通用量化在分布中有效地等同于添加均匀噪声。

在用通用量化进行的松弛(relaxation)下,类似于等式(1),压缩比率和失真可被表示为等式(5):

其中,pφ(z)=∫p(x)pφ(z|x)dx。压缩比率现在是一个微分熵,它是可微分的,但是通常仍然难以计算pφ(z)。为了计算pφ(z),易于处理的密度函数qθ(z)被引入并且等式(6)被导出为:

其中,kl表示kullback-leibler散度。当pφ(z)=qθ(z)时,该等号成立。对于固定的λ>0,使rφ逼近它的上界rφ,θ,等式(3)中的r-d优化简化为等式(7):

通过针对λ的不同值来优化网络,可将质量与压缩比率进行权衡。使用较小的拉格朗日乘数λ,训练的网络在使用较大比率的同时产生较高质量的图像。

为了适应压缩图像的质量和压缩比率,系统需要针对拉格朗日乘数λ的变化的值来优化等式(7)中的r-d拉格朗日函数。在此公开可变比率模型,可变比率模型可被部署一次,并且可用于根据用户的需求产生随不同比率而变化的质量的压缩图像,而不需要重新训练。

图2示出根据一个实施例的用于压缩的方法的流程图200。在202处,系统训练条件自动编码器。系统可训练以拉格朗日乘数λ为条件的条件自动编码器。网络接收作为条件输入参数的λ以及输入图像,并且根据条件值λ来产生具有变化的压缩比率和失真的压缩图像。因此,对于λ∈λ,其中,λ是预定义的拉格朗日乘数值的有限集合,等式(5)和等式(6)中的压缩比率和失真项被变更为等式(8)和等式(9):

然后,等式(10)的组合的目标函数被最小化。

图3示出根据一个实施例的条件自动编码器300的示图。为了实现条件自动编码器,以拉格朗日乘数为条件的条件卷积被开发。系统通过卷积层304发送输入302,同时系统通过独热(one-hot)编码层308发送乘数λ306,独热编码层308的输出然后被分为第一全连接层310和第二全连接层312的输入。系统将第一全连接层310的输出发送到softplus函数块314,softplus函数块314的输出在316处与卷积层304的输出相乘。然后,系统用加法器319将相乘后的输出318与来自全连接层312的输出累加,以产生输出320。卷积以拉格朗日乘数λ306为条件,其根据输入的拉格朗日乘数λ306产生不同的输出。

具体地,参照图3,xi是通道i的二维(2-d)输入,yj是通道j的2-d输出,并且wi,j是针对输入通道i和输出通道j的2-d卷积核。条件卷积由等式(11)给出:

其中,*表示2-d卷积。如在等式(12)中那样,通道比例因子(channel-wisescalingfactor)sj(λ)和加性(additive)偏置项bj(λ)取决于λ:

其中,是针对输出通道j的长度|λ|的全连接层权重向量,t表示转置,并且onehot(λ)是在λ内的λ的独热编码。

参照图2,在204处,系统用混合量化箱大小来训练网络。由于λ从预定的有限集合λ中被选择,所以以上条件自动编码器可仅获得r-d曲线中的有限个离散点。为了将覆盖范围扩展到r-d曲线的整个连续范围,网络中的另一控制方面(即,量化箱大小)被包括以控制压缩比率。在等式(1)中的r-d公式中,量化箱大小被固定为δ=1(即,取整(round)被用于量化)。在实际推算(inference)中,箱大小可被改变以适应压缩比率,使得箱大小越大,压缩比率越低。然而,在训练和推算中性能自然地遭受不匹配的箱大小影响,因此系统用混合箱大小来训练网络。

在训练期间,系统针对各种噪声水平(针对随机的δ)提取均匀噪声。δ的范围和在该范围内的混合分布是设计选择。在一个示例中,δ=2b被利用,其中,b从[-1,1]被均匀地提取,所以δ∈[0.5,2]被覆盖。尽管性能可能劣化,但是b的范围越大,能够优化网络的r-d曲线的范围就越宽。如在等式(13)中那样,优化被求解:

其中,p(δ)是δ的预定义的混合密度,并且如在等式(14)中那样:

参照图2,在206处,系统执行推算。关于压缩率自适应,压缩比率随着拉格朗日乘数和/或量化箱大小减小而增大。给定用户的目标压缩比率,系统通过改变拉格朗日乘数来实现大范围的离散压缩比率自适应,同时对于固定的拉格朗日乘数,系统可通过调整量化箱大小来执行精细的连续压缩比率自适应。

关于压缩,在选择λ∈λ之后,系统执行拉格朗日乘数的独热编码,并且在所有条件卷积层中使用独热编码来编码输入的潜在表示。系统用选择的量化箱大小对编码的表示执行常规的确定性量化。然后,系统用熵编码将量化的潜在表示编码成压缩比特流,同时存储在编码中使用的条件变量的值。

关于解压缩,系统对压缩比特流进行解码,并且从压缩比特流获取在编码中使用的条件变量。系统通过将解码器整数值乘以量化箱大小来从解码器整数值恢复量化的潜在表示。然后,系统将恢复的潜在表示馈送到解码器以重建图像。在编码中使用的拉格朗日乘数的值在用于条件生成的所有解卷积层中被再次使用。

图4示出根据一个实施例的改善的可变比率压缩模型的示图。在图4中,描绘了编码器400和解码器402。系统通过引入依赖于x406和z408的次级潜在变量w404来改善概率模型。等式(14)中给出的比率和失真项则由等式(15)给出。

对于压缩,系统从x406编码z408,并且进一步从z(408)、x(406)编码w404。编码表示z408、w404分别基于qφ(w|λ,δ)和qφ(z|w,λ,δ)被熵编码。对于解压缩,给定qφ(w|λ,δ),系统解码w404,然后使用w404来计算qφ(z|w,λ,δ)并且解码z408。如等式(16)中所示,这个模型通过引入qφ(w|λ,δ)和qφ(z|w,λ,δ)的自回归模型而被进一步改善。

该系统用有损压缩来代替编码的表示的无损源编码部分以适应比率。应注意,任何类型的有损压缩编解码器可被使用,包括但不限于更好的可移植图形(bpg)。通过使用有损压缩而不是编码特征图的无损压缩,系统可针对有损压缩输出来精细调整解码器以提高准确度。

对于bpg有损压缩,系统可将编码的特征图重新排列成一个灰度图像。系统进一步将重新排列的灰度图像压缩为bpg有损压缩。对于解压缩,系统从bpg解压缩特征图,然后将解压缩的特征图传递到解码器以得到解压缩的图像。

根据另一实施例,系统和方法可应用于无线通信芯片组的领域。

图5示出根据一个实施例的用于rficadc输出压缩的系统500的示图。系统包括rfic502、可变比率压缩网络504、基带调制解调器506以及查找表508。系统基于通过操作信噪比(snr)确定的调制编码方案(mcs)510来适应压缩比率(例如,比特/子帧、比特/帧、比特/时隙(bit/slot)等)。系统可选择条件变量λ、δ作为确定压缩比率和失真的mcs的函数。这里,失真水平可在操作snr以下,以便避免由于压缩导致的任何性能劣化。系统可包括将mcs映射到λ、δ的查找表508。

系统可应用本可变比率压缩方案来压缩射频集成电路(rfic)的模数转换器(adc)502输出。系统可用压缩网络504来压缩adc502输出,并且将压缩的adc输出传递到基带(bb)调制解调器506以降低rfic与bb之间的通信成本(即,带宽和/或通道的数量)。根据可承受的带宽和延迟,可对每个时隙、每个子帧或每个帧执行压缩。

图6示出根据一个实施例的第一条件编码器600。条件编码器600可类似于图1a中描绘的条件编码器102和图1b中描绘的条件编码器152。输入(例如,图像、adc输出等)602被提供,系统通过第一192×5×5/2条件卷积层(cconv)604、第一广义分裂归一化(gdn)层606、第二192×5×5/2条件卷积层608、第二gdn层610、第三192×5×5/2条件卷积层612、第三gdn层614、384×5×5/2条件卷积层616以及产生输出620的通用量化(univquant)层618,来处理输入602。第三gdn层614产生输出622,输出622被发送到192×5×5/2条件卷积层624,然后被发送到泄漏(leaky)修正线性单元(relu)激活函数626,泄漏relu激活函数626产生输出628。

图7示出根据一个实施例的第二条件编码器700。第二条件编码器700可类似于图1b中描绘的条件编码器154。级联(concat)层702接收输出620和输出628,并且系统产生通过192×3×3/1条件卷积层704、第一泄漏relu激活函数706、第一192×5×5/2条件卷积层708、第二泄漏relu激活函数710、第二192×5×5/2条件卷积层712以及产生输出716的univquant层714处理的输出。

图8示出根据一个实施例的条件熵模型800。熵模型800可与图1b中描绘的条件熵模型158相同或类似。熵模型800接收通过ae802和ad804处理的输出716。熵模型800通过遮掩的(masked)384×5×5/1条件卷积层806、640×1×1/1条件卷积层808、第一泄漏relu激活函数810、512×1×1/1条件卷积层812以及第二泄漏relu激活函数814,来处理输出716。relu函数814的输出通过第一192×1×1/1条件卷积层816和第二192×1×1/1条件卷积层818来处理。第二条件卷积层818的输出通过第三relu激活函数820来处理,并且第一条件卷积层816和relu函数820的输出被处理以产生高斯模型822。高斯模型822与ae802和ad804一起利用以产生输出826。

图9示出根据一个实施例的条件熵模型900。条件熵模型900可类似于在图1a描绘的条件熵模型106和图1b中示出的条件熵模型156。遮掩的768×5×5/1条件卷积层914接收输入826并且产生输出916。此外,系统接收输出826并且通过384×5×5/2条件卷积层902、第一泄漏relu激活函数904、576×5×5/2条件卷积层906、第二泄漏relu激活函数908以及768×3×3/1条件卷积层610来处理输出826。系统通过concat函数处理层910的输出和输出916,concat函数生成通过1280×1×1/1条件卷积层918、第三泄漏relu激活函数920、1024×1×1/1条件卷积层922以及第四泄漏relu激活函数924处理的输出以产生输出926。然后,系统通过第一384×1×1/1条件卷积层928和第二384×1×1/1条件卷积层930来处理输出926。第一384×1×1/1条件卷积层928的输出通过relu激活函数932来处理,并且relu激活函数的输出931和第二384×1×1/1条件卷积层930的输出933通过高斯密度模型934来处理。

系统用自动编码器(ae)938处理高斯密度模型934的输出936和来自条件编码器600的输出620,自动编码器(ae)938生成通过量化表939处理的信号。系统用解码器940处理量化表939的输出和高斯密度模型934的输出936以生成输出942。

图10示出根据一个实施例的条件解码器1000。条件解码器1000可类似于图1b中描绘的条件解码器160。解码器1000接收输出826并且通过第一192×5×5/2条件卷积层1002、第一泄漏relu激活函数1004、第二192×5×5/2条件卷积层1006、第二泄漏relu激活函数1008、192×3×3/1条件卷积层1010以及第三泄漏relu激活函数1012处理输出826以产生输出1014。

图11示出根据一个实施例的条件解码器1100。条件解码器1100可类似于图1a中描绘的解码器104和图1b中描绘的解码器162。解码器1100接收输出1014和输出940,并且在concat函数1102处处理这些输出。系统将concat函数1102的输出处理到第一192×5×5/2条件卷积层1104、第一逆广义分裂归一化(igdn)层1106、第二192×5×5/2条件卷积层1108、第二igdn层1110、第三192×5×5/2条件卷积层1112、第三igdn层1114以及3×5×5/2条件卷积层1116以产生重建输入1118。

图12示出根据一个实施例的网络环境1200中的电子装置1201。参照图12,网络环境1200中的电子装置1201可经由第一网络1298(例如,短距离无线通信网络)与电子装置1202通信,或者经由第二网络1299(例如,长距离无线通信网络)与电子装置1204或服务器1208通信。电子装置1201可经由服务器1208与电子装置1204通信。电子装置1201可包括处理器1220、存储器1230、输入装置1250、声音输出装置1255、显示装置1260、音频模块1270、传感器模块1276、接口1277、触觉模块1279、相机模块1280、电源管理模块1288、电池1289、通信模块1290、用户识别模块(sim)1296和/或天线模块1297。在一个实施例中,可从电子装置1201省略组件中的至少一个(例如,显示装置1260或相机模块1280),或者可将一个或多个其它组件添加到电子装置1201。在一个实施例中,组件中的一些组件可被实现为单个集成电路(ic)。例如,传感器模块1276(例如,指纹传感器、虹膜传感器或照度传感器)可被嵌入在显示装置1260(例如,显示器)中。

处理器1220可执行例如软件(例如,程序1240)以控制电子装置1201的与处理器1220连接的至少一个其它组件(例如,硬件组件或软件组件),并且可执行各种数据处理或计算。作为数据处理或计算的至少部分,处理器1220可将从另一组件(例如,传感器模块1276或通信模块1290)接收的命令或数据加载到易失性存储器1232中,处理存储在易失性存储器1232中的命令或数据,并且将结果数据存储在非易失性存储器1234中。处理器1220可包括主处理器1221(例如,中央处理器(cpu)或应用处理器(ap))和辅助处理器1223(例如,图形处理器(gpu)、图像信号处理器(isp)、传感器集线器处理器或通信处理器(cp)),辅助处理器1223可独立于主处理器1221操作,或者与主处理器1221一起操作。附加地或可选地,辅助处理器1223可适于消耗比主处理器1221少的电力,或者执行特定功能。辅助处理器1223可被实现为与主处理器1221分离,或者被实现为主处理器1221的部分。

辅助处理器1223可在主处理器1221处于非活动(例如,睡眠)状态时代替主处理器1221,或者在主处理器1221处于活动状态(例如,执行应用)时与主处理器1221一起,控制与电子装置1201的组件中的至少一个组件(例如,显示装置1260、传感器模块1276或通信模块1290)相关的功能或状态中的至少一些。根据一个实施例,辅助处理器1223(例如,图像信号处理器或通信处理器)可被实现为与辅助处理器1223功能上相关的另一组件(例如,相机模块1280或通信模块1290)的部分。

存储器1230可存储由电子装置1201中的至少一个组件(例如,处理器1220或传感器模块1276)使用的各种数据。各种数据可包括例如软件(例如,程序1240)和与其相关的命令的输入数据或输出数据。存储器1230可包括易失性存储器1232或非易失性存储器1234。

程序1240可作为软件存储在存储器1230中,并且可包括例如操作系统(os)1242、中间件1244或应用1246。

输入装置1250可从电子装置1201的外部(例如,用户)接收将由电子装置1201的其它组件(例如,处理器1220)使用的命令或数据。输入装置1250可包括例如麦克风、鼠标或键盘。

声音输出装置1255可将声音信号输出到电子装置1201的外部。声音输出装置1255可包括例如扬声器或接收器。扬声器可用于一般目的(诸如,播放多媒体或记录),并且接收器可用于接收来电呼叫。根据一个实施例,接收器可被实现为与扬声器分离,或者作为扬声器的部分。

显示装置1260可在视觉上向电子装置1201的外部(例如,用户)提供信息。显示装置1260可包括例如显示器、全息图装置或投影仪以及用于控制显示器、全息图装置和投影仪中的对应一个的控制电路。根据一个实施例,显示装置1260可包括适于检测触摸的触摸电路,或者适于测量由触摸引起的力的强度的传感器电路(例如,压力传感器)。

音频模块1270可将声音转换为电信号,反之亦然。根据一个实施例,音频模块1270可经由输入装置1250获得声音,或者经由声音输出装置1255或者与电子装置1201直接(例如,有线地)或无线地连接的外部电子装置1202的耳机来输出声音。

传感器模块1276可检测电子装置1201的操作状态(例如,电力或温度)或电子装置1201外部的环境状态(例如,用户的状态),然后生成与检测的状态对应的电信号或数据值。传感器模块1276可包括例如姿态传感器、陀螺仪传感器、大气压力传感器、磁传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(ir)传感器、生物识别传感器、温度传感器、湿度传感器或照度传感器。

接口1277可支持用于电子装置1201与外部电子装置1202直接(例如,有线地)或无线地连接的一个或多个特定协议。根据一个实施例,接口1277可包括例如高清晰度多媒体接口(hdmi)、通用串行总线(usb)接口、安全数字(sd)卡接口或音频接口。

连接端子1278可包括连接器,电子装置1201可经由连接器与外部电子装置1202物理连接。根据一个实施例,连接端子1278可包括例如hdmi连接器、usb连接器、sd卡连接器或音频连接器(例如,耳机连接器)。

触觉模块1279可将电信号转换为机械刺激(例如,振动或移动)或电刺激,机械刺激或电刺激可由用户经由触觉或动觉被用户识别。根据一个实施例,触觉模块1279可包括例如马达、压电元件或电刺激器。

相机模块1280可捕获静止图像或运动图像。根据一个实施例,相机模块1280可包括一个或多个透镜、图像传感器、图像信号处理器或闪光灯。

电源管理模块1288可管理供应给电子装置1201的电力。电源管理模块1288可被实现为例如电源管理集成电路(pmic)的至少部分。

电池1289可向电子装置1201的至少一个组件供应电力。根据一个实施例,电池1289可包括例如不可再充电的一次电池、可再充电的二次电池或燃料电池。

通信模块1290可支持在电子装置1201与外部电子装置(例如,电子装置1202、电子装置1204或服务器1208)之间建立直接(例如,有线)通信信道或无线通信信道,并且支持经由建立的通信信道执行通信。通信模块1290可包括可独立于处理器1220(例如,ap)进行操作并且支持直接(例如,有线)通信或无线通信的一个或多个通信处理器。根据一个实施例,通信模块1290可包括无线通信模块1292(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(gnss)通信模块)或有线通信模块1294(例如,局域网(lan)通信模块或电力线通信(plc)模块)。这些通信模块中的对应的一个可经由第一网络1298(例如,短距离通信网络(诸如,蓝牙(bluetoothtm)、无线保真(wi-fi)直连或红外数据协会(irda)标准)或第二网络1299(例如,长距离通信网络(诸如,蜂窝网络、因特网或计算机网络(例如,lan或广域网(wan))))与外部电子装置通信。这些各种类型的通信模块可被实现为单个组件(例如,单个ic),或者可被实现为彼此分离的多个组件(例如,多个ic)。无线通信模块1292可使用存储在用户识别模块1296中的用户信息(例如,国际移动用户标识(imsi))来识别和认证通信网络(诸如,第一网络1298或第二网络1299)中的电子装置1201。

天线模块1297可向电子装置1201的外部(例如,外部电子装置)发送信号或电力,或者从电子装置1201的外部(例如,外部电子装置)接收信号或电力。根据一个实施例,天线模块1297可包括一个或多个天线,例如,通信模块1290(例如,无线通信模块1292)可从一个或多个天线选择适合于在通信网络(诸如,第一网络1298或第二网络1299)中使用的通信方案的至少一个天线。然后,可经由选择的至少一个天线在通信模块1290与外部电子装置之间发送或接收信号或电力。

上述组件中的至少一些可经由外设间通信方案(例如,总线、通用输入输出(gpio)、串行外围接口(spi)或移动工业处理器接口(mipi))相互连接并且在它们之间传递信号(例如,命令或数据)。

根据一个实施例,可经由与第二网络1299连接的服务器1208在电子装置1201与外部电子装置1204之间发送或接收命令或数据。电子装置1202和1204中的每个可以是与电子装置1201相同类型或不同类型的装置。将在电子装置1201处执行的操作的全部或一些可在外部电子装置1202、外部电子装置1204或外部电子装置1208中的一个或多个处执行。例如,如果电子装置1201应当自动或者响应于来自用户或另一装置的请求来执行功能或服务,则代替执行功能或服务,电子装置1201可请求一个或多个外部电子装置执行功能或服务的至少部分,或者除了执行功能或服务之外,电子装置1201还可请求一个或多个外部电子装置执行功能或服务的至少部分。接收到请求的一个或多个外部电子装置可执行请求的功能或服务的至少部分或者与请求相关的附加功能或附加服务,并且将执行的结果传送到电子装置1201。电子装置1201可在对结果进行或不进行进一步处理的情况下提供结果,作为对请求的回复的至少部分。为此,例如,云计算、分布式计算或客户端-服务器计算技术可被使用。

一个实施例可被实现为软件(例如,程序1240),软件包括存储在存储介质(例如,内部存储器1236或外部存储器1238)中的可由机器(例如,电子装置1201)读取的一个或多个指令。例如,电子装置1201的处理器可调用存储在存储介质中的一个或多个指令中的至少一个指令,并且在处理器的控制下使用或不使用一个或多个其它组件来执行至少一个指令。因此,机器可被操作以根据调用的至少一个指令执行至少一个功能。一个或多个指令可包括由编译器生成的代码或可由解释器执行的代码。机器可读存储介质可以以非暂时性存储介质的形式来提供。术语“非暂时性”指示存储介质是有形装置,并且不包括信号(例如,电磁波),但是这个术语不区分数据被半永久性地存储在存储介质中的情况和数据被临时存储在存储介质中的情况。

根据一个实施例,可在计算机程序产品中包括并提供公开的方法。计算机程序产品可在卖方与买方之间作为产品被交易。计算机程序产品可以以机器可读存储介质(例如,光盘只读存储器(cd-rom))的形式分发,或者经由应用商店(例如,playstoretm)在线分发(例如,下载或上传),或者直接在两个用户装置(例如,智能电话)之间分发。如果在线分发,则计算机程序产品的至少部分可临时生成或至少临时存储在机器可读存储介质(诸如,制造商的服务器、应用商店的服务器或中继服务器的存储器)中。

根据一个实施例,上述组件中的每个组件(例如,模块或程序)可包括单个实体或多个实体。可省略上述组件中的一个或多个,或者可添加一个或多个其它组件。可选地或附加地,多个组件(例如,模块或程序)可被集成到单个组件中。在这种情况下,集成的组件仍然可以以与一个或多个功能在集成之前由多个组件中的对应组件执行的方式相同或相似的方式执行多个组件中的每个的一个或多个功能。可顺序地、并行地、重复地或启发式地执行由模块、程序或另一组件执行的操作,或者可以以不同的顺序执行操作中的一个或多个或省略操作中的一个或多个,或者可添加一个或多个其它操作。

尽管本公开的特定实施例已经在本公开的具体实施方式中被描述,但是在不脱离本公开的范围的情况下,可以以各种形式修改本公开。因此,本公开的范围不应仅基于描述的实施例来确定,而应基于所附权利要求及其等同物来确定。

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