一种视频播放的方法和装置与流程

文档序号:20212212发布日期:2020-03-31 11:14阅读:167来源:国知局
一种视频播放的方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种视频播放的技术。



背景技术:

360度视频可以带来沉浸式的观影体验,也是未来观影的重要方式,360度视频自身结构特点导致视界外的内容是不会被用户看到的。因此,实际有效的内容仅占视频传输总量的很小一部分,这造成了带宽资源的极大浪费。例如,假设视界(fieldofview,fov)为90度,360度视频分辨率为1080p,那么终端用户能看到的画面质量仅相当于270p的普通视频。如果想达到1080p普通视频的画质,那么原360度视频分辨率至少为4320p。这样会存在两个问题,一个是带宽需求提高,二是对终端设备解码能力的要求也更高。通常情况下一个1080p的视频的带宽需求在8mbps左右,4320p的视频的带宽大概需要80mbps。大多数用户的网络环境是无法满足80mbps的带宽需求的。对于现有的绝大多数的终端设备也是无法解码4320p的视频,即便是有个别设备可以解码,其能耗也是非常高的。

因此,如何有效地对高分辨率、大码率的360度视频进行播放,成为本领域技术人员亟需解决的问题之一。



技术实现要素:

本发明的目的是提供一种视频播放的方法和装置。

根据本发明的一个方面,提供了一种在用户设备端进行视频播放的方法,其中,该方法包括:

a确定落在用户当前可见区域内的切割图像,其中,所述用户设备与对应的服务设备约定当前全景视频展开后的切割份数,切割获得各个切割图像;

b根据所述落在用户当前可见区域内的切割图像,向所述服务设备请求获得对应的视频数据;

c渲染显示所述视频数据,并叠加底图层,所述底图层显示对应所述当前全景视频的低分辨的视频内容。

根据本发明的另一个方面,还提供了一种在用户设备端进行视频播放的装置,其中,该装置包括:

切割装置,用于确定落在用户当前可见区域内的切割图像,其中,所述用户设备与对应的服务设备约定当前全景视频展开后的切割份数,切割获得各个切割图像;

请求装置,用于根据所述落在用户当前可见区域内的切割图像,向所述服务设备请求获得对应的视频数据;

渲染装置,用于渲染显示所述视频数据,并叠加底图层,所述底图层显示对应所述当前全景视频的低分辨的视频内容。

根据本发明的又一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。

根据本发明的再一个方面,还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。

根据本发明的再一个方面,还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储器,用于存储一个或多个计算机程序;

当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。

与现有技术相比,本发明根据落在用户当前可见区域内的切割图像,向对应服务设备请求获得对应的视频数据进行渲染显示,通过叠加低分辨率的底图层+高分辨率的切割图像对应的视频数据的方式,在保持带宽不变的情况下提升视频源质量,提升用户观看体验感与防止网络原因导致的显示异常,解决全景直播清晰度过低的问题,通过分块原则降低解码时的内存空间,使得在普通机器上可以对高清视频进行播放。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;

图2示出根据本发明一个方面的一种视频播放的装置的示意图;

图3示出根据本发明另一个方面的一种视频播放的方法的流程示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由asic、fpga、dsp等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。

所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、pda等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。

需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。

后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。

这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。

应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。

应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。

这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。

还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。

下面结合附图对本发明作进一步详细描述。

图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未示出,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图1中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理。

例如,存储器28中存储有用于执行本发明的各项功能和处理的计算机程序,处理单元16执行相应计算机程序时,本发明在网络端对来电意图的识别被实现。

以下将详细描述本发明用于视频播放的具体装置/步骤。

图2示出根据本发明一个方面的一种视频播放的装置的示意图。

装置1包括切割装置201、请求装置202和渲染装置203。

切割装置201确定落在用户当前可见区域内的切割图像,其中,所述用户设备与对应的服务设备约定当前全景视频展开后的切割份数,切割获得各个切割图像。

具体地,针对全景视频,因为全景视频显示的特殊性,例如,全景视频通常以球体或者立方体进行展示,为了给用户呈现和普通2d视频相同的观看效果,全景视频需要更高的清晰度。若该全景视频的清晰度需要增大,则该全景视频的大小同样需要增加,用户设备与对应的服务设备约定当前全景视频展开后的切割份数,切割获得各个切割图像,各个切割图像的数量可以为任意的m*n,其中,m、n为大于等于1的整数。而针对该当前全景视频,用户是无法同时观看全部的当前全景视频的,用户只能观看其视界(fieldofview,fov)内的视频内容,而视界外的视频内容是不会被用户看到的。在此将该视界称为该用户的当前可见区域,切割装置201确定落在用户当前可见区域内的切割图像。

请求装置202根据所述落在用户当前可见区域内的切割图像,向所述服务设备请求获得对应的视频数据。

具体地,请求装置202根据切割装置201所确定的落在用户当前可见区域内的切割图像,向对应的服务器请求获得对应该当前可见区域内的切割图像的视频数据。在此,以头部转动角度+fov(fieldofview,视界)的方式,由该用户设备端决定当前应该向服务设备端请求哪些切割图像对应的视频数据。

渲染装置203渲染显示所述视频数据,并叠加底图层,所述底图层显示对应所述当前全景视频的低分辨的视频内容。

具体地,渲染装置203在当前可见区域内渲染显示接收自对应的服务设备的视频数据,并且,自该服务设备接收一底图层,在该整个当前全景视频中显示该底图层,该底图层显示的是低分辨率的视频内容,而该当前可见区域内渲染显示的则是高分辨率的视频内容,从而使得用户所观看到的视频内容是高分辨率的,并且,该用户的当前可见区域随着用户的姿态变化而变化,因此,以高分辨率渲染显示的视频数据在该当前全景视频中所占位置也同样随之变化。

在此,当前可见区域的切割图像在装置1接收到对应的视频数据加载完成后进行渲染显示,通过叠加低分辨率的底图层+高分辨率的切割图像对应的视频数据的方式,提升用户观看体验感与防止网络原因导致的显示异常,例如显示局部黑块或者其他影响观看的效果。

优选地,该装置1还包括确定装置(未示出)。确定装置根据视频当前播放进度与所述用户设备的自身姿态,确定所述用户当前可见区域。

具体地,确定装置例如根据视频当前播放进度与该用户设备的自身姿态确定视界fov,再根据该视界fov确定该用户当前可见区域,从而确定该当前可见区域所包括的分割图像,随后,该用户设备再基于此生成对应的视频请求,通过与对应的服务设备的交互,将该视频请求发送至该服务设备,从而接收该服务设备所返回的对应该当前可见区域所包括的分割图像的视频数据。

优选地,该装置1还包括隐藏装置(未示出)。当满足预定触发条件,隐藏装置隐藏对应所述用户当前可见区域的视频数据,而仅显示所述底图层;

其中,所述预定触发条件包括:

所述用户的当前可见区域发生变化;

所述用户设备所处网速低于预定阈值。

具体地,为避免因为用户快速转动头部,即,视线内当前可见区域发生变化时,或者网速慢而导致该当前可见区域内容更新不及时,所导致的黑块显示,隐藏装置判断是否满足预定触发条件,如所述用户的当前可见区域发生变化,或所述用户设备所处网速低于预定阈值,当判断满足该预定触发条件,隐藏装置将所有可见区域(除底图层)进行隐藏,而仅显示所述低分辨率的底图层,这样,即使当前可见区域的内容更新不及时,也不会显示视频黑块,而至少会显示该低分辨率的底图层。

优选地,该装置1还包括控制装置(未示出)。控制装置为所述切割获得的各个切割图像设置对应的纹理贴图,为所述各个切割图像与所述底图层分配对应的标识;根据所述标识,控制所述切割图像与所述底图层的显示与隐藏。

具体地,将当前全景视频展开后,用户设备端与服务设备端约定将该当前全景视频进行切割,例如约定将该当前全景视频切割为16份,控制装置为每份切割图像设置对应的纹理贴图,每块纹理与native层创建的openglcontext进行绑定,通过opengl的共享context方式直接完成视频内容绘制工作,装置1为该各个切割图像与该底图层分配对应的标识,例如将上述切割后的切割图像的标识设置为1至16,则底图层设置标识为17,随后,创建17块内存区域,绑定此处创建的标识(id)和该切割后的切割图像,例如,切割图像1对应id1,切割图像2对应id2,以此类推,并将对应的id空间传递给底层解码渲染线程,控制装置根据这些标识可以控制各个切割图像与该底图层的显示和隐藏。

在此,通过openglcontext绑定的方式直接通过预申请的地址空间进行图像渲染,降低通信延迟,解决刷新延迟问题。

优选地,该装置1还包括创建装置(未示出)。创建装置创建渲染线程池;

其中,渲染装置203根据所述视频数据和底图层,从所述渲染线程池中启动解码器以解码渲染所述视频数据与底图层。

具体地,用户在不同的视角下,当前可见区域中能看到的切割图像的个数可能不同,而一个切割图像对应一个解码器,因此,当前可见区域中出现的切割图像决定了启动哪些解码器,创建装置创建渲染线程池,再根据所接收到的视频数据和底图层,匹配确定对应了当前可见区域中出现的哪些切割图像,去渲染线程池中启动对应的解码器,以解码渲染所述视频数据与底图层。

优选地,所述当前全景视频包括直播视频、点播视频。

在此,本方案可应用于点播、直播等需要传输高码率内容的场景,可在基于unity+android平台的设备上使用。

图3示出根据本发明另一个方面的一种视频播放的方法的流程示意图。

在步骤s301中,装置1确定落在用户当前可见区域内的切割图像,其中,所述用户设备与对应的服务设备约定当前全景视频展开后的切割份数,切割获得各个切割图像。

具体地,针对全景视频,因为全景视频显示的特殊性,例如,全景视频通常以球体或者立方体进行展示,为了给用户呈现和普通2d视频相同的观看效果,全景视频需要更高的清晰度。若该全景视频的清晰度需要增大,则该全景视频的大小同样需要增加,用户设备与对应的服务设备约定当前全景视频展开后的切割份数,切割获得各个切割图像,各个切割图像的数量可以为任意的m*n,其中,m、n为大于等于1的整数。而针对该当前全景视频,用户是无法同时观看全部的当前全景视频的,用户只能观看其视界(fieldofview,fov)内的视频内容,而视界外的视频内容是不会被用户看到的。在此将该视界称为该用户的当前可见区域,在步骤s301中,装置1确定落在用户当前可见区域内的切割图像。

在步骤s302中,装置1根据所述落在用户当前可见区域内的切割图像,向所述服务设备请求获得对应的视频数据。

具体地,在步骤s302中,装置1根据在步骤s301中所确定的落在用户当前可见区域内的切割图像,向对应的服务器请求获得对应该当前可见区域内的切割图像的视频数据。在此,以头部转动角度+fov(fieldofview,视界)的方式,由该用户设备端决定当前应该向服务设备端请求哪些切割图像对应的视频数据。

在步骤s303中,装置1渲染显示所述视频数据,并叠加底图层,所述底图层显示对应所述当前全景视频的低分辨的视频内容。

具体地,在步骤s303中,装置1在当前可见区域内渲染显示接收自对应的服务设备的视频数据,并且,自该服务设备接收一底图层,在该整个当前全景视频中显示该底图层,该底图层显示的是低分辨率的视频内容,而该当前可见区域内渲染显示的则是高分辨率的视频内容,从而使得用户所观看到的视频内容是高分辨率的,并且,该用户的当前可见区域随着用户的姿态变化而变化,因此,以高分辨率渲染显示的视频数据在该当前全景视频中所占位置也同样随之变化。

在此,当前可见区域的切割图像在装置1接收到对应的视频数据加载完成后进行渲染显示,通过叠加低分辨率的底图层+高分辨率的切割图像对应的视频数据的方式,提升用户观看体验感与防止网络原因导致的显示异常,例如显示局部黑块或者其他影响观看的效果。

优选地,该方法还包括步骤s304(未示出)。在该步骤s304中,装置1根据视频当前播放进度与所述用户设备的自身姿态,确定所述用户当前可见区域。

具体地,在步骤s304中,装置1例如根据视频当前播放进度与该用户设备的自身姿态确定视界fov,再根据该视界fov确定该用户当前可见区域,从而确定该当前可见区域所包括的分割图像,随后,该用户设备再基于此生成对应的视频请求,通过与对应的服务设备的交互,将该视频请求发送至该服务设备,从而接收该服务设备所返回的对应该当前可见区域所包括的分割图像的视频数据。

优选地,该方法还包括步骤s305(未示出)。在该步骤s305中,当满足预定触发条件,装置1隐藏对应所述用户当前可见区域的视频数据,而仅显示所述底图层;

其中,所述预定触发条件包括:

所述用户的当前可见区域发生变化;

所述用户设备所处网速低于预定阈值。

具体地,为避免因为用户快速转动头部,即,视线内当前可见区域发生变化时,或者网速慢而导致该当前可见区域内容更新不及时,所导致的黑块显示,在步骤s305中,装置1判断是否满足预定触发条件,如所述用户的当前可见区域发生变化,或所述用户设备所处网速低于预定阈值,当装置1判断满足该预定触发条件,装置1将所有可见区域(除底图层)进行隐藏,而仅显示所述低分辨率的底图层,这样,即使当前可见区域的内容更新不及时,也不会显示视频黑块,而至少会显示该低分辨率的底图层。

优选地,该方法还包括步骤s306(未示出)。在该步骤s306中,装置1为所述切割获得的各个切割图像设置对应的纹理贴图,为所述各个切割图像与所述底图层分配对应的标识;根据所述标识,控制所述切割图像与所述底图层的显示与隐藏。

具体地,将当前全景视频展开后,用户设备端与服务设备端约定将该当前全景视频进行切割,例如约定将该当前全景视频切割为16份,在步骤s306中,装置1为每份切割图像设置对应的纹理贴图,每块纹理与native层创建的openglcontext进行绑定,通过opengl的共享context方式直接完成视频内容绘制工作,装置1为该各个切割图像与该底图层分配对应的标识,例如将上述切割后的切割图像的标识设置为1至16,则底图层设置标识为17,随后,创建17块内存区域,绑定此处创建的标识(id)和该切割后的切割图像,例如,切割图像1对应id1,切割图像2对应id2,以此类推,并将对应的id空间传递给底层解码渲染线程,装置1根据这些标识可以控制各个切割图像与该底图层的显示和隐藏。

在此,通过openglcontext绑定的方式直接通过预申请的地址空间进行图像渲染,降低通信延迟,解决刷新延迟问题。

优选地,该方法还包括步骤s307(未示出)。在该步骤s307中,装置1创建渲染线程池;

其中,渲染显示所述视频数据并叠加底图层包括:

根据所述视频数据和底图层,从所述渲染线程池中启动解码器以解码渲染所述视频数据与底图层。

具体地,用户在不同的视角下,当前可见区域中能看到的切割图像的个数可能不同,而一个切割图像对应一个解码器,因此,当前可见区域中出现的切割图像决定了启动哪些解码器,在步骤s307中,装置创建渲染线程池,再根据所接收到的视频数据和底图层,匹配确定对应了当前可见区域中出现的哪些切割图像,去渲染线程池中启动对应的解码器,以解码渲染所述视频数据与底图层。

优选地,所述当前全景视频包括直播视频、点播视频。

在此,本方案可应用于点播、直播等需要传输高码率内容的场景,可在基于unity+android平台的设备上使用。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。

本发明还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。

本发明还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储器,用于存储一个或多个计算机程序;

当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(asic)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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