CN109002361B - 数据处理方法、分配方法、电子设备、客户端和存储介质 - Google Patents

数据处理方法、分配方法、电子设备、客户端和存储介质 Download PDF

Info

Publication number
CN109002361B
CN109002361B CN201710422937.1A CN201710422937A CN109002361B CN 109002361 B CN109002361 B CN 109002361B CN 201710422937 A CN201710422937 A CN 201710422937A CN 109002361 B CN109002361 B CN 109002361B
Authority
CN
China
Prior art keywords
data
buffer
cache
media data
buffered
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.)
Active
Application number
CN201710422937.1A
Other languages
English (en)
Other versions
CN109002361A (zh
Inventor
谭建国
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710422937.1A priority Critical patent/CN109002361B/zh
Priority to TW107107024A priority patent/TW201903615A/zh
Priority to PCT/US2018/036347 priority patent/WO2018226890A1/en
Priority to US16/001,888 priority patent/US20180357006A1/en
Publication of CN109002361A publication Critical patent/CN109002361A/zh
Application granted granted Critical
Publication of CN109002361B publication Critical patent/CN109002361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10657Cache memories for random data access, e.g. buffers wherein the data output is controlled by a priority parameter other than retention time
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • G11B2020/10768Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data by pre-caching the initial portion of songs or other recorded or downloaded data for starting playback instantly

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种缓冲区分配方法、数据处理方法、电子设备、客户端和存储介质。所述媒体数据处理方法包括:接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。本申请实施例可以减少开发应用程序所需的时间和成本。

Description

数据处理方法、分配方法、电子设备、客户端和存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种媒体数据处理方法、缓冲区对象的分配方法、电子设备、客户端和存储介质。
背景技术
随着社会的发展,人们越来越习惯使用电子设备观看视频。具体的,例如人们使用网络电视、电脑、智能手机、智能可穿戴设备等,观看电视剧、电影。
现有技术中,电子设备安装有操作系统,并通过操作系统支持安装应用程序。使用者可以通过使用安装的视频软件,应用程序来播放视频。具体的,例如,操作系统可以为安卓系统(谷歌公司开发的操作系统)、IOS系统(苹果公司开发的操作系统)、Windows系统(微软公司开发的操作系统)。视频软件应用程序如优酷、腾讯视频、爱奇艺、YouTube等,播放视频。随着使用者对视频的视觉要求的提高,一些视频应用程序中会集成了视频数据处理模块,以增强视频数据的显示效果。比如,提升视频数据的清晰度,修改视频数据的对比度等等。
然而,现有技术中主要是每个视频软件本身集成有视频数据处理模块,使得不同视频软件之间难以使用对方的视频数据处理模块。即视频软件在开发过程中,每个视频软件的开发人员进行编写代码,实现该视频软件集成视频数据处理功能。不同视频软件的开发过程,是较为独立的,导致即使实现基本相同的功能和效果,也需要各自开发团队的人员,分别进行开发工作。
发明内容
本申请实施例的目的是提供一种具有较佳通用性的媒体数据处理方法、缓冲区分配方法、电子设备、客户端和存储介质。
本申请实施方式提供一种媒体数据处理方法,包括:接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
本申请实施方式还提供一种缓冲区对象的分配方法,包括:接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象指向的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
本申请实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
本申请实施方式还提供一种客户端,包括:接收模块,用于接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;处理模块,用于当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;写入模块,用于将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
本申请实施方式还提供一种电子设备,包括:存储器和处理器;所述存储器,用于存储计算机程序指令;所述处理器,用于执行所述计算机程序指令实现:接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
本申请实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
本申请实施方式还提供一种客户端,包括:接收模块,用于接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;分配模块,用于在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
本申请实施方式还提供一种电子设备,包括:存储器和处理器;所述存储器,用于存储计算机程序指令;所述处理器,用于执行所述计算机程序指令实现:接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象指向的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
由以上本申请实施例提供的技术方案可见,本申请实施方式对操作系统进行了的改进。使得操作系统可以针对应用程序的媒体数据进行处理,以使媒体数据在展现时,具有设定的效果。由于,操作系统作为电子设备的基本功能软件,电子设备中安装的应用程序,均基于该操作系统的支持,使得所述媒体数据处理方法具有非常广泛的通用性。安装在电子设备中的应用程序可以无需自身集成特殊的视频数据处理算法、或者音频数据处理算法、或者图像数据处理算法等,而使用操作系统的媒体处理方法。从而实现给应用程序的开发人员带来了便利,可以实现一定程度上降低整个社会中软件开发的成本,提升整个社会的软件开发效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施方式提供的一种媒体数据处理方法的流程图;
图2为本申请实施方式提供的一种媒体数据处理方法的流程图;
图3为本申请实施方式提供的一种媒体数据处理方法的流程图;
图4为本申请实施方式提供的一种缓冲区对象分配方法的流程图;
图5为本申请实施方式提供的一种媒体数据处理方法的示意图;
图6为本申请实施方式提供的一种媒体数据处理方法的示意图;
图7为本申请实施方式提供的一种客户端的示意图;
图8为本申请实施方式提供的一种客户端的示意图;
图9为本申请实施方式提供的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施方式提供一种媒体数据处理方法。该方法应用于电子设备中,用于对电子设备中的媒体数据进行处理。
在本实施方式中,所述媒体数据处理方法适用于电子设备中的操作系统。由于,操作系统作为电子设备基本功能平台,为安装到电子设备中的应用程序提供支持。使得,所述媒体数据处理方法可以具有较为广泛的通用性。电子设备中安装的不同应用程序可以通过操作系统中的媒体数据数据方法,对媒体数据进行处理,实现降低了整个社会的重复性劳动。
在本实施方式中,电子设备可以是具有数据计算、存储能力的计算机设备。具体的,电子设备可以包括台式电脑、笔记本电脑、平板电脑、智能手机、个人数字助理、智能可穿戴设备。其中,智能可穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在本实施方式中,操作系统可以为能运行于上述电子设备中,能控制和管理所述电子设备的硬件和软件资源的程序。在本实施方式中,所述媒体数据处理方法可以适用于安卓系统 (谷歌公司开发的操作系统)、IOS系统(苹果公司开发的操作系统)、Windows系统(微软公司开发的操作系统)。以及,所述媒体数据处理方法可以适用于基于上述系统进一步改进,或定制的操作系统。具体的,例如,MIUI(米柚,小米公司基于安卓系统开发的手机操作系统)、EMUI(华为公司基于安卓系统开发的手机操作系统)等。在一个具体的实施方式中,所述媒体数据处理方法尤其适用于安卓系统。
本申请实施方式提供的媒体数据处理方法适用于生产者-消费者架构中。在生产者-消费者架构中,可以使用缓冲区对象队列作为生产者和消费者之间沟通的渠道。即生产者将数据存储在缓冲区对象队列中,消费者从缓冲区对象队列中获取数据,进行相应的处理。所述媒体数据处理方法可以将生产者提供的数据进行指定处理后,写入缓冲区对象指向的存储区中,再将缓冲区对象放入缓冲区对象队列,进而可以被消费者使用处理。由此实现,消费者得到的数据,可以为经过所述媒体数据处理方法处理后的数据。生产者可以是运行于电子设备中的应用程序,消费者可以是电子设备的显示驱动模块、音频驱动模块等。
请参阅图1,本申请实施方式提供的媒体数据处理方法可以包括以下步骤。
步骤S10:接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象。
在本实施方式中,应用程序可以是运行于操作系统中的软件程序。应用程序可以响应用户的操作,向用户提供已经通过指令设定的功能。具体的,应用程序可以为视频软件、音频软件和图像软件。其中,视频软件可以为涉及具有视频数据播放功能的软件;音频软件可以为涉及具有音频数据播放功能的软件;图像软件可以为涉及具有图像展示功能的软件。例如,应用程序可以是优酷土豆、爱奇艺、腾讯视频、QQ音乐、乐视TV、酷狗音乐、手机京东、微信、QQ等等,不再列举。
在本实施方式中,操作系统接收写入请求的方式,可以为应用程序调用了操作系统提供的接口函数。操作系统在其接口函数被调用时,便可以认为接收到了写入请求。操作系统可以提供有多个接口函数,每个接口函数对应不同的功能。如此,使得操作系统可以根据被调用的接口函数不同,执行相应的处理。还可以为,操作系统提供了一个或几个接口函数,应用程序在调用接口函数时,会提供功能标识,使得操作系统可以根据功能标识识别不同的请求。具体的,例如,操作系统对应于接收写入请求,提供了接口函数。当该接口函数被调用时,操作系统便可以认为接收到了写入请求。
在本实施方式中,待缓冲数据可以是应用程序在运行过程中输出的数据。该些数据可以用于消费者进行使用。待缓冲数据可以包括但不限于:文本数据、视频数据、音频数据、图像数据等。具体的,例如,应用程序为视频软件,其输出的视频数据,可以通过缓冲区对象提供给电子设备的显示驱动模块,以用于在显示器中显示。
在本实施方式中,缓冲区对象可以是一个具有设定数据结构的数据对象。缓冲区对象可以通过软件指令进行定义。在软件功能需要时,根据缓冲区对象对应的软件指令,进行实例化。缓冲区对象可以具有一个存储区,该存储区可以用于存储数据。即每个缓冲区对象的存储区可以作为数据的缓冲区。缓冲区对象可以具有设定的属性。缓冲区对象的存储区可以通过属性的方式来体现。具体的,例如,可以将存储区的起始地址和结束地址作为缓冲区对象的属性。起始地址和结束地址具体的取值约束了缓冲区的实际大小。当然,缓冲区对象的属性并不限于上述描述,缓冲区对象的属性还可以包括缓冲区对象类型标识、数据类型标识等。当然,所属领域技术人员在本申请实施方式的技术精髓启示下,还可以针对缓冲区对象设置有其它的属性,但只要其实现的功能和效果,与本申请相同或相似,均应涵盖于本申请保护范围内。
在本实施方式中,缓冲区对象标识用于标识一个缓冲区对象。以便于,缓冲区对象的调用和进一步处理。每个缓冲区对象都可以是独立的数据单元,通过缓冲区对象标识可以针对缓冲区对象进行区分。具体的,例如,缓冲区对象标识可以为“Buffer 1”。
在本实施方式中,应用程序的写入请求,可以用于通知操作系统将待缓冲数据写入缓冲区对象指向的存储区中。如此,实现在应用程序和操作系统之间构建了一个通信机制。应用程序通过向操作系统发出写入请求,使得应用程序可以将待缓冲数据交给操作系统。进一步的,通过在写入请求中附带缓冲区对象标识,实现缓冲区对象与应用程序之间存在对应关系。如此,可以使得操作系统和应用程序的交互较为规范,流程顺畅。
步骤S12:当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果。
在本实施方式中,媒体数据可以是可以用于电子设备在物理层面进行展现的数据。例如,电子设备通过显示器显示的视频数据和图像,通过扬声器播放的音频数据。媒体数据可以用于向使用者传递一定的信息,由此可以实现在应用程序和使用者之间进行一定的交互。在一个具体的实施方式中,媒体数据可以包括视频数据、音频数据和图像数据。当然,在本申请技术精髓的启示下,所属领域技术人员还可以将其它的数据应用本申请提供的处理方法,只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
在本实施方式中,操作系统可以判断待缓冲数据的数据类型,进而可以针对不同数据类型的待缓冲数据,进行相应的处理。例如,在写入请求中还可以附带有数据类型标识,该数据类型标识用于表示待缓冲数据的数据格式。操作系统可以根据该数据类型标识判断待缓冲数据是否为媒体数据。或者,写入请求中的缓冲区对象标识对应的缓冲区对象,具有用于表示存储区能写入的数据类型的属性,如此该属性的取值表示能写入的数据类型为媒体数据。由于可以在将缓冲区对象分配给应用程序时,约定待缓冲数据的数据格式,使得操作系统可以通过判断缓冲区对象的所述属性取值,认为所述待缓冲数据是否为媒体数据。
在本实施方式中,指定处理可以为在操作系统中集成有相应的算法,以对媒体数据进行相应处理,使媒体数据在展现时具有预期的效果。相应于媒体数据的具体数据类型,操作系统中可以设置有不同的算法。或者,相应于同一种数据类型的媒体数据,操作系统中也可以集成有不同的算法,以期望可以使媒体数据具有不同的展现效果。具体的,例如,对视频数据进行处理,可以针对形成视频数据的每帧图像进行处理,比如锐化处理、模糊处理、饱和度处理、对比度处理、变更像素处理、图像裁剪处理等。针对图像进行处理,可以参照前述针对视频数据中每帧图像的处理。对音频数据进行处理,可以针对音频数据的振幅和频率进行处理,具体的,例如,增大某一频率声音的振幅,减小某一声音的振幅,改变某一声音的频率等等。
在本实施方式中,通过对媒体数据进行指定处理,使得处理后的媒体数据与原媒体数据不同。进而使得在处理后的媒体数据进行展现时,具有与原媒体数据不同的展现效果。所述展现效果的不同,便体现了所述指定处理带来的指定效果。具体的,例如,视频数据或图像处理后视觉上更加清晰;音频数据处理后听觉上更加清晰。
步骤S14:将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
在本实施方式中,缓冲区对象指向存储区,可以理解为,缓冲区对象可以对应有一个存储区。操作系统可以在实例化缓冲区对象时,便针对该缓冲区对象分配具体的存储区。也可以为,操作系统在接收到针对缓冲区对象的写入请求时,才针对缓冲区对象分配具体的存储区。缓冲区对象的属性中的起始地址和结束地址,便可以为所述存储区的实际物理地址起点和终点。如此,起始地址和结束地址之间的差值,便可以作为存储区的实际容量。
在本实施方式中,存储区可以位于电子设备的内存存储器中。操作系统可以将内存存储器中的一个区域,提供给缓冲区对象,以用于存储缓冲区对象对应的应用程序的数据。
在本实施方式中,缓冲区对象可以作为生产者和消费者之间的沟通渠道。即,生产者将数据存储在缓冲区对象指向的存储区,才可以提供给相应的消费者。本实施方式中,将生产站的待缓冲数据进行了指定处理之后,才写入了缓冲区对象指向的存储区。如此,实现消费者在获取缓冲区对象,读取相应存储区的数据时,消费者得到的数据为指定处理之后的数据。具体的,例如,视频软件将待缓冲的视频数据提供给操作系统,操作系统针对该视频数据中的每帧图像都进行了锐化处理之后,写入到对应缓冲区对象指向的存储区。随后,操作系统可以将缓冲区对象放入缓冲区对象队列中。在需要时,操作系统针对缓冲区对象从缓冲区对象队列中取出提供给显示驱动模块。例如,显示驱动模块可以为GPU(GraphicsProcessing Unit,图形处理器)以及相应的运算指令,可以读取缓冲区对象指向的存储区中的视频数据,进而进行在显示器显示之前必要的处理。此时,显示驱动模块读取到的视频数据为经过所述锐化处理后的数据。
本申请实施方式,基于生产者-消费者的架构模式,对操作系统进行了的改进。使得操作系统可以针对应用程序的媒体数据进行处理,以使媒体数据在展现时,具有设定的效果。由于,操作系统作为电子设备的基本功能软件,电子设备中安装的应用程序,均基于该操作系统的支持,使得所述媒体数据处理方法具有非常广泛的通用性。安装在电子设备中的应用程序可以无需自身集成特殊的视频数据处理算法、或者音频数据处理算法、或者图像数据处理算法等,而使用操作系统的媒体处理方法。从而实现给应用程序的开发人员带来了便利,可以实现一定程度上降低整个社会中软件开发的成本,提升整个社会的软件开发效率。
在一个实施方式中,所述媒体数据可以是视频数据、音频数据或图像数据;相应的,在对所述缓冲区中的数据进行指定处理的步骤中,对所述视频数据进行显示效果增强处理,以使所述视频数据在被播放时具有指定的视觉效果;或者,对所述音频数据进行音效增强处理,以使所述音频数据在被播放时具有指定的听觉效果;或者,对所述图像数据进行显示效果增强处理,以使所述图像数据在被展示时具有指定的视觉效果。
在本实施方式中,操作系统可以针对不同的媒体数据,设置有不同的处理算法。使得操作系统可以具有较为宽泛是适用性。具体的,例如,对视频数据进行处理,可以针对形成视频数据的每帧图像进行处理,比如所述指定处理可以包括锐化处理、模糊处理、饱和度处理、对比度处理、变更像素处理、图像裁剪处理等。针对图像进行处理,可以参照前述针对视频数据中每帧图像的处理。对音频数据进行处理,可以针对音频数据的振幅和频率进行处理,具体的,例如,指定处理可以包括增大某一频率声音的振幅,减小某一声音的振幅,改变某一声音的频率,变更音频数据的数据格式,变更音频数据的数据频率等等。
当然,操作系统在接收到应用程序的写入请求时,该写入请求中可以附带有处理方式标识。该处理方式标识可以用于表示对写入请求中的待缓冲数据的处理方式。比如,待缓冲数据是视频数据,该处理方式标识可以表示锐化处理,以提升视频数据展现时的视觉清晰度。
在一个实施方式中,所述缓冲区对象可以包括缓冲区对象类型标识;所述缓冲区对象类型标识用于表示缓冲区对象的类型。所述媒体数据处理方法还可以包括:将所述待缓冲数据写入所述缓冲区对象标识对应的缓冲区对象指向的存储区。相应的,在对媒体数据进行指定处理的步骤中,包括:当所述缓冲区对象类型标识所表示的缓冲区对象的类型是缓存缓冲区对象时,认为所述待缓冲数据为媒体数据;其中,所述缓存缓冲区对象指向的存储区中存储的数据,在被中央处理器(CPU,Central Processing Unit)进行所述指定处理之前,先进入所述中央处理器(CPU,Central Processing Unit)的缓存,所述中央处理器(CPU,Central Processing Unit)从所述缓存中读取所述数据。
在本实施方式中,可以预先对缓冲区对象分类,可以将媒体数据与一个缓冲区对象的类别相对应。如此,操作系统在给应用程序分配缓冲区对象时,可以根据应用程序提供的带缓存数据类型,分配相应的缓冲区对象。具体的,针对待缓冲数据为媒体数据,可以分配缓存缓冲区对象。如此,在认定缓冲区对象是缓存缓冲区对象时,便可以认为写入请求中的待缓冲数据是媒体数据。
在本实施方式中,操作系统为媒体数据分配的缓冲区对象可以是缓存缓冲区对象。由于缓存缓冲区对象的存储区中的数据,在被中央处理器进行所述指定处理之前,会先被调入所述中央处理器的缓存中。缓存是一种高速存储器,具有非常快的读写速度,使得中央处理器对媒体数据进行处理时,可以在较短的时间内完成。如此可以减少因进行指定处理带来的工作负荷,降低对电子设备的响应速度的影响。
在本实施方式中,缓冲区对象类型标识可以是一个预先设定的字符串。其可以具有设定的格式。具体的,例如,缓冲区对象类型标识可以使用“cacheable”表示缓存缓冲区对象,可以使用“noncacheable”表示非缓存缓冲区对象。非缓存缓冲区对象的存储区中的数据,在被中央处理器处理时,可以不需要先进入中央处理器的缓存,而直接被中央处理器从内存存储器中读取处理。
在一个实施方式中,所述写入请求中还包括数据类型标识;所述数据类型标识用于表示所述待缓冲数据的数据格式;所述媒体数据处理方法可以包括:当所述数据类型标识表示的数据格式是视频数据、音频数据或者图像数据的情况下,认为所述缓冲区中数据的数据类型为媒体数据。
在本实施方式中,写入请求可以附带数据类型标识,如此,可以便于操作系统判断是否需要针对写入请求中的带缓冲数据进行指定处理。
在本实施方式中,数据类型标识可以具有设定的格式。具体的,例如,数据类型标识的具体取值可以为“YV12”,或“NV12”等。操作系统接收到写入请求之后,发现数据类型标识为YV12,便可以认为待缓冲数据是媒体数据。如此,可以便于操作系统进行判断。同理,针对音频数据和图像数据,也可以约定数据类型标识为音频数据或图像数据的取值。
请参阅图2,本申请实施方式还提供一种缓冲区对象分配方法。该缓冲区对象分配方法可以应用在前述媒体数据处理方法之前。所述缓冲区对象分配方法可以包括以下步骤。
步骤S20:接收所述应用程序的缓冲区对象分配请求;其中,所述缓冲区分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序的带缓冲数据的数据类型。
步骤S22:根据所述数据类型标识分配缓冲区对象。
在本实施方式中,操作系统接收缓冲区对象分配请求的方式,可以为应用程序调用了操作系统提供的接口函数。操作系统在其接口函数被调用时,便可以认为接收到了写入请求。操作系统可以提供有多个接口函数,每个接口函数对应不同的功能。如此,使得操作系统可以根据被调用的接口函数不同,执行相应的处理。还可以为,操作系统提供了一个或几个接口函数,应用程序在调用接口函数时,会提供功能标识,使得操作系统可以根据功能标识识别不同的请求。具体的,例如,操作系统提供了一个接口函数,应用程序调用该接口函数时,提供的功能标识为“alloc”。操作系统接收到该功能标识之后,便可以认为当前接收的请求为缓冲区对象分配请求。
在本实施方式中,缓冲区对象可以包括缓存缓冲区对象和非缓存缓冲区对象。缓存缓冲区对象的存储区中的数据,在被中央处理器处理之前,可以先进入中央处理器的缓存,然后中央处理器从缓存中读取数据。由于缓存是一种读写速度非常快的高速存储器,使得缓存缓冲区对象的存储区的数据,会有较快的响应处理速度。非缓存缓冲区对象的存储区中的数据,在被中央处理器处理之前,不需要进入中央处理器的缓存,中央处理器直接从该非缓存缓冲区所在的内存存储器中读取数据。处理速度方面慢于从缓存中读取处理数据。
在本实施方式中,应用程序的待缓冲数据可以是媒体数据或非媒体数据。针对媒体数据,操作系统可以为应用程序分配缓存缓冲区对象。针对非媒体数据,操作系统可以为应用程序分配非缓存缓冲区对象。具体的,例如,媒体数据可以是视频数据、音频数据或图像数据。数据类型标识表示带缓冲数据是视频数据、音频数据或图像数据时,操作系统可以为该应用程序分配缓存缓冲区。
在本实施方式中,操作系统向应用程序分配缓冲区对象的方式,可以包括:操作系统生成一个新的缓冲区对象提供给应用程序。或者,操作系统还可以检查已经生成的缓冲区对象中,是否存在处于空闲状态的缓冲区对象,将处于空闲的缓冲区对象提供给应用程序。具体的,例如,针对媒体数据,操作系统生成一个缓存缓冲区对象。针对非媒体数据,操作系统可以生成非缓存缓冲区对象。当然,针对非媒体数据,具体分配的缓冲区对象需要依照具体的业务需求。或者,针对媒体数据,操作系统检查已经生成的缓存缓冲区对象中,是否存在处于空闲状态的缓存缓冲区对象,将处于空闲的缓存缓冲区对象提供给应用程序。
请参阅图3。在一个实施方式中,在所述根据所述数据类型标识分配缓冲区的步骤中,可以包括以下步骤。
步骤S30:在所述数据类型标识表示的数据类型为媒体数据时,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象的存储区中的数据,在被中央处理器进行所述指定处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
步骤S32:将所述缓存缓冲区对象的缓冲区对象标识提供给所述应用程序。
在本实施方式中,操作系统根据数据类型标识判断待缓冲数据是否为媒体数据。操作系统为媒体数据分配缓存缓冲区对象,如此以使在针对媒体数据进行所述指定处理时,具有较快的处理速。在一定程度上避免因对媒体数据进行所述指定处理,而导致整体响应时间过长。
在本实施方式中,缓冲区对象标识用于标识一个缓冲区对象。通过将缓存缓冲区标对象的缓冲区对象标识提供给应用程序,使得应用程序可以获知其对应的缓存缓冲区对象。进而,应用程序可以将待缓冲数据通过该缓冲区对象标识,写入该缓存缓冲区的存储区中。
请参阅图4。本申请实施方式还提供一种缓冲区分配方法,包括以下步骤。
步骤S35:接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型。
步骤S37:在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
在本实施方式中,可以实现针对应用程序的待缓冲数据为媒体数据时,分配缓存缓冲区给所述应用程序,以提升数据的处理速度。
在本实施例中,所述缓冲区分配方法的具体内容,可以与前述实施方式进行对照解释,在此不再赘述。
在一个具体的场景示例中,电子设备可以是智能手机。运行在该智能手机的操作系统可以是安卓系统。在该智能手机中安装有视频播放软件,通过安卓系统支持该视频播放软件运行。
在本场景示例中,使用者操作该智能手机,启动所述视频播放软件,以观看视频。视频播放软件启动之后,依照使用者的操作,获取相应的视频数据。视频播放软件的视频数据需要通过操作系统的缓冲区对象队列,提供给显示驱动模块。如此,显示驱动模块可以控制显示器将视频数据图像 化显示。
请参阅图5和图6。在本场景示例中,视频播放软件向操作系统发出缓冲区分配请求。在缓冲区分配请求中附带有数据类型标识“YV12”。操作系统收到该缓冲区对象分配请求之后,可以根据数据类型标识“YV12”认定视频播放软件的待缓冲数据是视频数据。操作系统调用相关方法,实例化一个缓冲区对象,在实例化缓冲区对象时,会有一个缓冲区对象标识,通过该缓冲区对象标识,可以调用该缓冲区对象。该缓冲区对象包括缓冲区对象类型标识、数据类型标识、状态标识、起始地址和结束地址。通过该起始地址和结束地址约束了该缓冲区对象的存储区。其中,缓冲区对象类型标识的取值可以为“cacheable”,以表示该缓冲区对象为缓存缓冲区。状态标识的取值为“空闲状态”,数据类型标识的取值为“YV12”。起始地址和结束地址的取值为内存地址,在此不再赘述。操作系统将缓冲区对象的缓冲区对象标识提供给视频播放软件。
在本场景示例中,视频播放软件向操作系统发出写入请求。该写入请求附带有待缓冲数据和缓冲区对象标识,以通知操作系统将该待缓冲数据写入缓冲区对象标识表示的缓冲区对象的存储区中。操作系统接收到写入请求之后,将所述待缓冲数据写入所述缓冲区对象标识表示的缓冲区对象的存储区中。
在本场景示例中,操作系统可以根据该缓冲区对象的缓冲区对象类型标识,认定该缓冲区对象为缓存缓冲区对象。为了避免操作系统为其它的数据类型也分配了缓存缓冲区对象,操作系统还可以进一步的判断缓冲区对象的数据类型标识,认定数据类型标识表示的数据类型为视频数据。操作系统认定待缓冲数据为媒体数据,并明确该待缓冲数据为视频数据。操作系统从缓冲区对象的存储区中读取所述待缓冲数据,将所述待缓冲数据写入中央处理器的缓存中。中央处理器从缓存中读取该待缓冲数据,对该待缓冲数据进行锐化处理,使得其后续进行显示给使用者时,可以具有更佳清晰的视觉效果。操作系统将锐化处理后的待缓冲数据写入缓存缓冲区对象的存储区中。
在本场景示例中,操作系统完成将待缓冲数据写入缓存缓冲区对象的存储区中后,将该缓存缓冲区对象的状态信息修改为“入队状态”。以使该缓存缓冲区对象进入缓存缓冲区对象队列。进一步的,操作系统将该缓存缓冲区对象的缓冲区对象标识提供给显示驱动模块,使得显示驱动模块读取该缓存缓冲区对象的存储区中的数据,进而控制显示器图像化显示。并将缓存缓冲区的状态信息修改为“消费状态”。
在本场景示例中,当显示驱动模块完成处理缓冲区对象的存储区中的数据。该存储区中的数据可以被清空。操作系统可以将该缓冲区对象的状态信息修改为“空闲状态”。
本申请实施方式还提供一种计算机可读存储介质,其上存储有计算机程序。
在本实施例中,所述计算机程序被处理器执行时可以实现以下步骤。
接收应用程序的写入请求,所述写入请求附带有待缓冲数据和缓冲区对象标识,所述缓冲区对象标识对应一个缓冲区对象;当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
在本实施方式中,所述计算机程序实现的具体功能和方法,可以与前述实施例进行对照解释,在此不再赘述。
请参阅图7。本申请实施方式还提供一种客户端。所述客户端包括接收模块、处理模块、写入模块。
接收模块用于接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象。
处理模块用于当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果。
写入模块用于将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
在本实施方式中,所述客户端实现的具体功能和效果,可以与前述实施例进行对照解释,在此不再赘述。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序。所述计算机程序被处理器执行时可以实现以下步骤。
接收应用程序的缓冲区对象分配请求,其中,所述缓冲区对象分配请求附带有数据类型标识,所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序,其中,所述缓存缓冲区对象的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
在本实施方式中,所述计算机程序实现的具体功能和方法,可以与前述实施方式进行对照解释,在此不再赘述。
请参阅图8。本申请实施方式还提供一种客户端。所述客户端包括:接收模块和分配模块。
接收模块用于接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型。
分配模块用于在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
在本实施方式中,所述客户端实现的具体功能和效果,可以与前述实施例进行对照解释,在此不再赘述。
请参阅图9。本申请实施方式还提供一种电子设备。所述电子设备包括:存储器和处理器。
在本实施方式中,所述存储器包括但限于随机存取存储器(Random AccessMemory, RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive, HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。
在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
所述处理器通过执行所述计算机程序指令实现的功能包括:接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
本申请实施方式公开的电子设备,其存储器和处理器实现的具体功能,可以与本申请中的前述实施方式对照解释。
请参阅图9。本申请实施方式还提供另一种电子设备。所述电子设备包括:存储器和处理器。
在本实施方式中,所述存储器包括但限于随机存取存储器(Random AccessMemory, RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive, HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。
在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
所述处理器通过执行所述计算机程序指令实现的功能包括:接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象指向的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
本申请实施方式公开的电子设备,其存储器和处理器实现的具体功能,可以与本申请中的前述实施方式对照解释。
需要说明的是,本申请说明书中各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,对于服务器和计算机存储介质实施方式而言,由于其基本相似于方法实施方式,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。
另外,本领域技术人员应当能够理解的是,所属领域技术人员在阅读完本申请说明书之后,可以无需创造性劳动想到本申请文件中列举的部分或全部实施方式之间可以组合,这些组合也在本申请公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、 Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (14)

1.一种媒体数据处理方法,其特征在于,应用于电子设备中的操作系统,包括:
接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;
当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;
将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
2.如权利要求1所述的方法,其特征在于,所述媒体数据是视频数据、音频数据或图像数据;
相应的,在对所述缓冲区中的数据进行指定处理的步骤中,
对所述视频数据进行显示效果增强处理,以使所述视频数据在被播放时具有指定的视觉效果;或者,
对所述音频数据进行音效增强处理,以使所述音频数据在被播放时具有指定的听觉效果;或者,
对所述图像数据进行显示效果增强处理,以使所述图像数据在被展示时具有指定的视觉效果。
3.如权利要求1所述的方法,其特征在于,所述缓冲区对象包括缓冲区对象类型标识;所述缓冲区对象类型标识用于表示缓冲区对象的类型;所述方法还包括:
将所述待缓冲数据写入所述缓冲区对象标识对应的缓冲区对象指向的存储区;
相应的,在对媒体数据进行指定处理的步骤中,包括:
当所述缓冲区对象类型标识所表示的缓冲区对象的类型是缓存缓冲区对象的情况下,认为所述待缓冲数据为媒体数据;其中,所述缓存缓冲区对象指向的存储区中存储的数据,在被中央处理器进行所述指定处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据。
4.如权利要求1所述的方法,其特征在于,所述写入请求中还包括数据类型标识;所述数据类型标识用于表示所述待缓冲数据的数据格式;所述方法包括:
当所述数据类型标识表示的数据格式是视频数据、音频数据或者图像数据的情况下,认为所述缓冲区中数据的数据类型为媒体数据。
5.如权利要求1所述的方法,其特征在于,在接收写入请求的步骤之前,所述方法还包括:
接收所述应用程序的缓冲区对象分配请求;其中,所述缓冲区分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待写入缓冲区的数据的数据类型;
根据所述数据类型标识分配缓冲区对象。
6.如权利要求5所述的方法,其特征在于,在所述根据所述数据类型标识分配缓冲区的步骤中,包括:
在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区中存储的数据,在被中央处理器进行所述指定处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据;
将所述缓存缓冲区对象的缓冲区对象标识提供给所述应用程序。
7.一种缓冲区对象的分配方法,其特征在于,应用于电子设备中的操作系统,包括:
接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;
在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象指向的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据;所述缓存缓冲区对象指向的存储区中存储的数据包括:所述操作系统对所述待缓冲数据进行指定处理,以使得所述待缓冲数据在展现时具有指定效果的数据。
8.如权利要求7所述的方法,其特征在于,所述媒体数据是视频数据、音频数据或图像数据。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现应用于操作系统的以下步骤:
接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;
当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;
将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
10.一种客户端,其特征在于,应用于电子设备中的操作系统,包括:
接收模块,用于接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;
处理模块,用于当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;
写入模块,用于将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
11.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序指令;
所述处理器,用于执行所述计算机程序指令实现应用于所述电子设备中的操作系统的以下步骤:接收应用程序的写入请求;所述写入请求附带有待缓冲数据和缓冲区对象标识;所述缓冲区对象标识对应一个缓冲区对象;当所述待缓冲数据为媒体数据的情况下,对所述媒体数据进行指定处理,以使所述媒体数据在展现时具有指定效果;将经过所述指定处理后的媒体数据写入所述缓冲区对象指向的存储区中,以使所述缓冲区对象被调用时,被使用的媒体数据,为经过所述指定处理后的媒体数据。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现应用于操作系统的以下步骤:
接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;
在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据;所述缓存缓冲区对象指向的存储区中存储的数据包括:所述操作系统对所述待缓冲数据进行指定处理,以使得所述待缓冲数据在展现时具有指定效果的数据。
13.一种客户端,其特征在于,应用于电子设备中的操作系统,包括:
接收模块,用于接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;
分配模块,用于在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据;所述缓存缓冲区对象指向的存储区中存储的数据包括:所述操作系统对所述待缓冲数据进行指定处理,以使得所述待缓冲数据在展现时具有指定效果的数据。
14.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序指令;
所述处理器,用于执行所述计算机程序指令实现应用于所述电子设备中的操作系统的以下步骤:接收应用程序的缓冲区对象分配请求;其中,所述缓冲区对象分配请求附带有数据类型标识;所述数据类型标识用于表示所述应用程序待缓冲数据的数据类型;在所述数据类型标识表示的数据类型为媒体数据的情况下,分配缓存缓冲区对象给所述应用程序;其中,所述缓存缓冲区对象指向的存储区中存储的数据,在被中央处理器处理之前,先进入所述中央处理器的缓存,所述中央处理器从所述缓存中读取所述数据;所述缓存缓冲区对象指向的存储区中存储的数据包括:所述操作系统对所述待缓冲数据进行指定处理,以使得所述待缓冲数据在展现时具有指定效果的数据。
CN201710422937.1A 2017-06-07 2017-06-07 数据处理方法、分配方法、电子设备、客户端和存储介质 Active CN109002361B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710422937.1A CN109002361B (zh) 2017-06-07 2017-06-07 数据处理方法、分配方法、电子设备、客户端和存储介质
TW107107024A TW201903615A (zh) 2017-06-07 2018-03-02 資料處理方法、分配方法、電子設備、用戶端和儲存媒介
PCT/US2018/036347 WO2018226890A1 (en) 2017-06-07 2018-06-06 Data processing method, allocation method, electronic device, client and storage media
US16/001,888 US20180357006A1 (en) 2017-06-07 2018-06-06 Data Processing Method, Allocation Method, Electronic Device, Client and Storage Media

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710422937.1A CN109002361B (zh) 2017-06-07 2017-06-07 数据处理方法、分配方法、电子设备、客户端和存储介质

Publications (2)

Publication Number Publication Date
CN109002361A CN109002361A (zh) 2018-12-14
CN109002361B true CN109002361B (zh) 2022-06-03

Family

ID=64564044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710422937.1A Active CN109002361B (zh) 2017-06-07 2017-06-07 数据处理方法、分配方法、电子设备、客户端和存储介质

Country Status (4)

Country Link
US (1) US20180357006A1 (zh)
CN (1) CN109002361B (zh)
TW (1) TW201903615A (zh)
WO (1) WO2018226890A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114706543A (zh) * 2022-03-17 2022-07-05 瑞芯微电子股份有限公司 接口输入数据的显示方法和设备及计算机可读介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2340361B (en) * 1998-07-31 2002-11-06 Sony Uk Ltd Digital video processing
JP3321570B2 (ja) * 1999-09-14 2002-09-03 株式会社ソニー・コンピュータエンタテインメント 動画作成方法、記憶媒体およびプログラム実行装置
JP2001135017A (ja) * 1999-11-02 2001-05-18 Nec Corp データ記憶装置及びデータ記憶装置用インタフェース装置
US7483058B1 (en) * 2003-08-04 2009-01-27 Pixim, Inc. Video imaging system including a digital image sensor and a digital signal processor
US7295208B2 (en) * 2005-06-24 2007-11-13 Microsoft Corporation Translating layers into effect graphs in digital image processing
US7928990B2 (en) * 2006-09-27 2011-04-19 Qualcomm Incorporated Graphics processing unit with unified vertex cache and shader register file
US8332866B2 (en) * 2006-11-29 2012-12-11 Qualcomm Incorporated Methods, systems, and apparatus for object invocation across protection domain boundaries
US8370759B2 (en) * 2008-09-29 2013-02-05 Ancestry.com Operations Inc Visualizing, creating and editing blending modes methods and systems
CN101833972B (zh) * 2010-02-02 2011-12-28 配天(安徽)电子技术有限公司 一种多媒体文件播放控制方法及装置
CN102609215B (zh) * 2012-04-11 2015-05-27 华为数字技术(成都)有限公司 数据处理方法及装置
WO2015066836A1 (zh) * 2013-11-05 2015-05-14 华为技术有限公司 视频业务数据传输方法、数据接收装置和数据发送装置
CN104967865B (zh) * 2015-03-24 2019-10-11 腾讯科技(北京)有限公司 视频预览方法和装置
CN106231395B (zh) * 2016-07-28 2020-03-17 腾讯科技(深圳)有限公司 播放控制方法及媒体播放器、计算机可读存储介质

Also Published As

Publication number Publication date
CN109002361A (zh) 2018-12-14
WO2018226890A1 (en) 2018-12-13
TW201903615A (zh) 2019-01-16
US20180357006A1 (en) 2018-12-13

Similar Documents

Publication Publication Date Title
WO2021218751A1 (zh) 一种基于云手机的媒体数据处理方法以及终端设备
US11693531B2 (en) Page display position jump method and apparatus, terminal device, and storage medium
US9058193B2 (en) Methods and systems for providing compatibility of applications with multiple versions of an operating system
CN109769141B (zh) 一种视频生成方法、装置、电子设备及存储介质
JP6678773B2 (ja) 自動再生コンテンツのクリックトゥプレイコンテンツへのサーバに基づく変換
US20160209906A1 (en) Electronic device for controlling power and method therefor
CN109587546B (zh) 视频处理方法、装置、电子设备和计算机可读介质
CN109889875A (zh) 通信方法、装置、终端设备和计算机可读介质
CN111625214A (zh) 音频控制方法、装置、设备及存储介质
CN111951356B (zh) 基于json数据格式的动画渲染方法
CN111124668A (zh) 内存释放方法、装置、存储介质及终端
WO2023087875A1 (zh) 进程调度方法和终端设备
CN107301220B (zh) 数据驱动视图的方法、装置、设备及存储介质
CN104615432B (zh) 闪屏信息处理方法及客户端
CN109002361B (zh) 数据处理方法、分配方法、电子设备、客户端和存储介质
CN116546228B (zh) 用于虚拟场景的推流方法、装置、设备及存储介质
CN113312572A (zh) 一种资源处理方法、装置、存储介质及电子设备
CN111026463B (zh) 一种页面加载方法、装置、设备和存储介质
CN110147283B (zh) 一种显示内容切换显示方法、装置、设备及介质
WO2023093476A1 (zh) 页面处理方法及设备
CN116737104B (zh) 音量调节方法和相关装置
CN112612633B (zh) 进程间通信方法、装置、存储介质以及终端
WO2022170621A1 (en) Composition strategy searching based on dynamic priority and runtime statistics
US20220108646A1 (en) Adaptive display data transfer rate to reduce power consumption during partial frame composition
CN110008358B (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
GR01 Patent grant
GR01 Patent grant