音视频数据处理方法、装置以及车载终端的制作方法

文档序号:10516283阅读:179来源:国知局
音视频数据处理方法、装置以及车载终端的制作方法
【专利摘要】本发明公开了一种音视频数据处理方法、装置以及车载终端,其中方法包括以下步骤:接收线程接收预先与车载终端连接的终端设备发送的音视频数据,将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列;处理线程监测所述循环缓冲队列的音视频数据写入情况,并按照所述循环缓冲队列中的音视频数据写入顺序依次读取音视频数据,发送给解码器进行播放处理。从而提高了车载终端同步播放终端设备信息的效率和质量,提升用户体验。
【专利说明】
音视频数据处理方法、装置以及车载终端
技术领域
[0001]本发明涉及车载终端技术领域,特别涉及一种音视频数据处理方法、装置以及车载终端。
【背景技术】
[0002]随着终端设备的普及,发展和利用终端设备与车机互联技术,实现应用共享、屏幕互动等实用功能成为了众多车厂和车载电子设备商的研究热点。
[0003]目前的车载终端在同步播放终端设备多媒体信息流的过程中,由于是单线程处理,导致音频数据播放不连续、画面会出现不跳变的缺陷。

【发明内容】

[0004]本发明的目的旨在至少在一定程度上解决上述相关技术中的技术问题之一。
[0005]为此,本发明的第一个目的在于提出一种音视频数据处理方法,该方法提高了车载终端同步播放终端设备信息的效率和质量,提升用户体验。
[0006]本发明的第二个目的在于提出一种音视频数据处理装置。
[0007]本发明的第三个目的在于提出一种车载终端。
[0008]为达到上述目的,本发明一方面实施例提出了一种音视频数据处理方法,包括以下步骤:接收线程接收预先与车载终端连接的终端设备发送的音视频数据,将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列;处理线程监测所述循环缓冲队列的音视频数据写入情况,并按照所述循环缓冲队列中的音视频数据写入顺序依次读取音视频数据,发送给解码器进行播放处理。
[0009]本实施例提供的音视频数据处理方法,通过在接收线程和处理线程之间引入循环缓冲队列,将终端设备发送的音视频数据按照预定顺序写入循环缓冲队列,并通过处理线程将写入循环缓冲队列的音视频数据读取出来,发送给解码器进行播放处理。提高了车载终端同步播放终端设备信息的效率和质量,提升用户体验。
[0010]另外,本发明上述实施例的音视频数据处理方法还可以具有如下附加的技术特征:
[0011]在本发明的一个实施例中,所述将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列,包括:将当前接收的音视频数据写入所述循环缓冲队列,递增下一个音视频数据的写入位置,以使下一个接收的音视频数据写入当前接收的音视频数据之后。
[0012]在本发明的一个实施例中,在所述将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列之后,还包括:所述接收线程向所述处理线程发送数据写入通知消息,以使所述处理线程根据所述数据写入通知消息监测所述循环缓冲队列的音视频数据写入情况。
[0013]在本发明的一个实施例中,所述按照所述循环缓冲队列中的音视频数据写入顺序依次读取音视频数据,发送给解码器进行播放处理,包括:判断所述循环缓冲队列中当前的音视频数据量是否大于预设阈值;如果当前的音视频数据量大于预设阈值,则按照音视频数据的写入顺序依次读取预设比特量的音视频数据,一次性发送到解码器进行播放处理。
[0014]在本发明的一个实施例中,所述接收线程的处理优先级高于所述处理线程。
[0015]本发明第二方面实施例提出了一种音视频数据处理装置,包括:接收线程、循环缓冲队列、以及处理线程,其中,所述接收线程包括:接收模块,用于接收预先与车载终端连接的终端设备发送的音视频数据;写入模块,用于将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列;所述处理线程包括:监测模块,用于监测所述循环缓冲队列的音视频数据写入情况;处理模块,用于按照所述循环缓冲队列中的音视频数据写入顺序依次读取音视频数据,发送给解码器进行播放处理。
[0016]本实施例提供的音视频数据处理装置,通过在接收线程和处理线程之间引入循环缓冲队列,将终端设备发送的音视频数据按照预定顺序写入循环缓冲队列,并通过处理线程将写入循环缓冲队列的音视频数据读取出来,发送给解码器进行播放处理。提高了车载终端同步播放终端设备信息的效率和质量,提升用户体验。
[0017]另外,本发明上述实施例的音视频数据处理装置还可以具有如下附加的技术特征:
[0018]在本发明的一个实施例中,所述写入模块,用于将当前接收的音视频数据写入所述循环缓冲队列,递增下一个音视频数据的写入位置,以使下一个接收的音视频数据写入当前接收的音视频数据之后。
[0019]在本发明的一个实施例中,所述接收线程还包括:通知模块,用于向所述处理线程发送数据写入通知消息,以使所述处理线程根据所述数据写入通知消息监测所述循环缓冲队列的音视频数据写入情况。
[0020]在本发明的一个实施例中,所述处理线程还包括:判断模块,用于判断所述循环缓冲队列中当前的音视频数据量是否大于预设阈值;所述处理模块,用于如果当前的音视频数据量大于预设阈值,则按照音视频数据的写入顺序依次读取预设比特量的音视频数据,一次性发送到解码器进行播放处理。
[0021]在本发明的一个实施例中,所述接收线程的处理优先级高于所述处理线程。
[0022]本发明第三方面实施例提出了一种车载终端,包括:上述音视频数据处理装置。
[0023]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0024]本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0025]图1是根据本发明实施例的音视频数据处理方法的流程图;
[0026]图2是根据本发明实施例的循环缓冲队列的示意图;
[0027]图3是根据本发明实施例的一个音视频数据处理方法的流程图;
[0028]图4是根据本发明实施例的音视频数据处理装置的结构示意图;
[0029]图5是根据本发明实施例的一个车载终端的结构示意图。
【具体实施方式】
[0030]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0031]下面参照附图描述根据本发明实施例提出的音视频数据处理方法、装置以及车载终端。
[0032]图1是根据本发明实施例的音视频数据处理方法的流程图。
[0033]图2是根据本发明实施例的循环缓冲队列的示意图。
[0034]参见图1和图2,该方法包括以下步骤:
[0035]SlOl:接收线程接收预先与车载终端连接的终端设备发送的音视频数据,将音视频数据按照先入先出的顺序写入预设的循环缓冲队列。
[0036]具体地,本发明提供的实施例应用于具有同步播放终端设备信息的车载终端上。为了提高车载终端同步播放终端设备信息的效率和质量,增加循环缓冲队列。
[0037]接收线程接收到终端设备发送的音视频数据后,将接收的音视频数据按照先入先出的顺序写入预设的循环缓冲队列。其中,需要说明的是,将当前接收的音视频数据写入循环缓冲队列,自动递增下一个音视频数据的写入位置,以使下一个接收的音视频数据写入当前接收的音视频数据之后。从而满足音视频数据先入先出的写入顺序,便于处理线程对音视频数据进行有序处理。
[0038]S102:处理线程监测循环缓冲队列的音视频数据写入情况,并按照循环缓冲队列中的音视频数据写入顺序依次读取音视频数据,发送给解码器进行播放处理。
[0039]具体地,处理线程根据接收的数据写入通知消息,对循环缓冲队列写入的音视频数据进行监测操作。当监测到循环缓冲队列写入的音频数据满足读取音视频数据条件时,按照循环缓冲队列中音视频数据写入顺序依次读取音视频数据。即就是,从循环缓冲队列的队列头位置读取音视频数据,并递增读取位置。从而保证读取音视频数据是按照音视频数据写入的顺序进行读取。
[0040]在将循环缓冲队列中的音视频数据读取后,发送给解码器,通过解码器对其进行相应播放处理。
[0041]其中,需要注意的是,在将读取的音视频数据发送给解码器时,需要按照先入先出顺序送入解码器中,保证解码器中实时有数据可以处理,使得音视频播放具有连贯性,不出现卡顿的情况。
[0042]综上所述,本实施例提供的音视频数据处理方法,通过在接收线程和处理线程之间引入循环缓冲队列,将终端设备发送的音视频数据按照预定顺序写入循环缓冲队列,并通过处理线程将写入循环缓冲队列的音视频数据读取出来,发送给解码器进行播放处理。提高了车载终端同步播放终端设备信息的效率和质量,提升用户体验。
[0043]图3是根据本发明实施例的一个音视频数据处理方法的流程图。
[0044]参见图3,该音视频数据处理方法包括以下步骤:
[0045]S301:接收线程接收预先与车载终端连接的终端设备发送的音视频数据,将音视频数据按照先入先出的顺序写入预设的循环缓冲队列,向所述处理线程发送数据写入通知消息。
[0046]具体地,接收线程接收到终端设备发送的音视频数据后,将接收的音视频数据按照先入先出的顺序写入预设的循环缓冲队列。其中,需要说明的是,将当前接收的音视频数据写入循环缓冲队列,自动递增下一个音视频数据的写入位置,以使下一个接收的音视频数据写入当前接收的音视频数据之后。从而满足音视频数据先入先出的写入顺序,便于处理线程对音视频数据进行有序处理。
[0047]在将终端设备发送的音视频数据按照先入先出的顺序写入循环缓冲队列之后,接收线程会向处理线程发送数据写入通知消息,以使处理线程根据数据写入通知消息监测循环缓冲队列的音视频数据写入情况。其中,数据写入通知消息可以包括,数据写入的比特量,或者帧数。当然还可以是其他内容,在此不对其进行详细赘述。
[0048]S302:处理线程根据所述数据写入通知消息监测所述循环缓冲队列的音视频数据写入情况。
[0049]其中,处理线程是根据接收到接收线程发送的数据写入通知消息,对循环缓冲队列写入的音视频数据进行监测操作。
[0050]S303:判断循环缓冲队列中当前的音视频数据量是否大于预设阈值。
[0051]其中,需要说明的是,预设阈值是对循环缓冲队列当前写入音频数据量进行衡量的一个标准值。从而根据预设阈值就可确定出当前写入音频数据量是否满足预设条件,如果满足预设条件,则进行相应处理。
[0052]S304:如果当前的音视频数据量大于预设阈值,则按照音视频数据的写入顺序依次读取预设比特量的音视频数据,一次性发送到解码器进行播放处理。
[0053]具体的,当判断出循环缓冲队列中当前的音视频数据量大于预设阈值,即就是,监测到循环缓冲队列写入的音频数据满足读取音视频数据条件,则从循环缓冲队列的队列头位置读取音视频数据,并递增读取位置。从而保证读取音视频数据是按照音视频数据写入的顺序进行读取。
[0054]进一步地,判断循环缓冲队列中的音视频数据是否已全部读完。如果判断出循环缓冲队列中的音视频数据读取完成,则将读取的所有音视频数据一次性发送给解码器,通过解码器对其进行相应播放处理。
[0055]需要注意的是,本实施例所示出的接收线程与处理线程是不同优先级的两个线程。其中,接收线程的处理优先级高于处理线程的处理优先级。
[0056]具体地,接收线程在接收音视频数据并写入循环缓冲队列后,会发送数据写入通知消息给处理线程;处理线程在收到有数据写入通知消息后才进行对应的音视频数据处理。同时,接收线程的处理速度快,可以设置为高优先级的线程,从而保证实时获取音视频数据并写入循环缓冲队列且占用CPU时间短;处理线程耗时长,可以设置为低优先级,从而避免读取音视频数据延时。
[0057]本实施例提供的音视频数据处理方法,通过在接收线程和处理线程之间引入循环缓冲队列,将终端设备发送的音视频数据按照预定顺序写入循环缓冲队列,并通过处理线程将写入循环缓冲队列的音视频数据读取出来,发送给解码器进行播放处理。进一步地提高了车载终端同步播放终端设备信息的效率和质量,以及保证了音视频数据的同步,提升用户体验。
[0058]下面参照附图描述根据本发明实施例提出的音视频数据处理装置。参照图4所示,该装置10包括接收线程100、循环缓冲队列200,以及处理线程300。
[0059]具体地,接收线程100包括:接收模块110、写入模块120和通知模块130。
[0060]接收模块110用于接收预先与车载终端连接的终端设备发送的音视频数据;写入模块120用于将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列;所述写入模块120用于将当前接收的音视频数据写入所述循环缓冲队列,递增下一个音视频数据的写入位置,以使下一个接收的音视频数据写入当前接收的音视频数据之后。通知模块130用于向所述处理线程发送数据写入通知消息,以使所述处理线程根据所述数据写入通知消息监测所述循环缓冲队列的音视频数据写入情况。
[0061]具体地,本发明提供的实施例应用于具有同步播放终端设备信息的车载终端上。为了提高车载终端同步播放终端设备信息的效率和质量,增加循环缓冲队列。
[0062]接收线程接收到终端设备发送的音视频数据后,将接收的音视频数据按照先入先出的顺序写入预设的循环缓冲队列。其中,需要说明的是,将当前接收的音视频数据写入循环缓冲队列,自动递增下一个音视频数据的写入位置,以使下一个接收的音视频数据写入当前接收的音视频数据之后。从而满足音视频数据先入先出的写入顺序,便于处理线程对音视频数据进行有序处理。
[0063]在将终端设备发送的音视频数据按照先入先出的顺序写入循环缓冲队列之后,接收线程会向处理线程发送数据写入通知消息,以使处理线程根据数据写入通知消息监测循环缓冲队列的音视频数据写入情况。其中,数据写入通知消息可以包括,数据写入的比特量,或者帧数。当然还可以是其他内容,在此不对其进行详细赘述。
[0064]处理线程300包括:监测模块310、处理模块320和判断模块330。
[0065]其中,监测模块310用于监测所述循环缓冲队列的音视频数据写入情况;
[0066]处理模块320用于按照所述循环缓冲队列中的音视频数据写入顺序依次读取音视频数据,发送给解码器进行播放处理。处理模块320还用于如果当前的音视频数据量大于预设阈值,则按照音视频数据的写入顺序依次读取预设比特量的音视频数据,一次性发送到解码器进行播放处理。判断模块330用于判断所述循环缓冲队列中当前的音视频数据量是否大于预设阈值;
[0067]具体地,处理线程是根据接收到接收线程发送的数据写入通知消息,对循环缓冲队列写入的音视频数据进行监测操作。需要说明的是,预设阈值是对循环缓冲队列当前写入音频数据量进行衡量的一个标准值。从而根据预设阈值就可确定出当前写入音频数据量是否满足预设条件,如果满足预设条件,则进行相应处理。
[0068]当判断出循环缓冲队列中当前的音视频数据量大于预设阈值,即就是,监测到循环缓冲队列写入的音频数据满足读取音视频数据条件,则从循环缓冲队列的队列头位置读取音视频数据,并递增读取位置。从而保证读取音视频数据是按照音视频数据写入的顺序进行读取。
[0069]进一步地,判断循环缓冲队列中的音视频数据是否已全部读完。如果判断出循环缓冲队列中的音视频数据读取完成,则将读取的所有音视频数据一次性发送给解码器,通过解码器对其进行相应播放处理。
[0070]需要注意的是,本实施例所示出的接收线程与处理线程是不同优先级的两个线程。其中,接收线程的处理优先级高于处理线程的处理优先级。
[0071]具体地,接收线程在接收音视频数据并写入循环缓冲队列后,会发送数据写入通知消息给处理线程;处理线程在收到有数据写入通知消息后才进行对应的音视频数据处理。同时,接收线程的处理速度快,可以设置为高优先级的线程,从而保证实时获取音视频数据并写入循环缓冲队列且占用CPU时间短;处理线程耗时长,可以设置为低优先级,从而避免读取音视频数据延时。
[0072]综上所述,本实施例提供的音视频数据处理装置,通过在接收线程和处理线程之间引入循环缓冲队列,将终端设备发送的音视频数据按照预定顺序写入循环缓冲队列,并通过处理线程将写入循环缓冲队列的音视频数据读取出来,发送给解码器进行播放处理。提高了车载终端同步播放终端设备信息的效率和质量,提升用户体验。
[0073]下面参照附图描述根据本发明实施例提出的车载终端。
[0074]参照图5所示,该车载终端I包括:上述音视频数据处理装置10。
[0075]本实施例提供的车载终端,通过在接收线程和处理线程之间引入循环缓冲队列,将终端设备发送的音视频数据按照预定顺序写入循环缓冲队列,并通过处理线程将写入循环缓冲队列的音视频数据读取出来,发送给解码器进行播放处理。提高了车载终端同步播放终端设备信息的效率和质量,提升用户体验。
[0076]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0077]本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0078]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【主权项】
1.一种音视频数据处理方法,其特征在于,包括以下步骤: 接收线程接收预先与车载终端连接的终端设备发送的音视频数据,将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列; 处理线程监测所述循环缓冲队列的音视频数据写入情况,并按照所述循环缓冲队列中的音视频数据写入顺序依次读取音视频数据,发送给解码器进行播放处理。2.如权利要求1所述的方法,其特征在于,所述将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列,包括: 将当前接收的音视频数据写入所述循环缓冲队列,递增下一个音视频数据的写入位置,以使下一个接收的音视频数据写入当前接收的音视频数据之后。3.如权利要求1所述的方法,其特征在于,在所述将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列之后,还包括: 所述接收线程向所述处理线程发送数据写入通知消息,以使所述处理线程根据所述数据写入通知消息监测所述循环缓冲队列的音视频数据写入情况。4.如权利要求1所述的方法,其特征在于,所述按照所述循环缓冲队列中的音视频数据写入顺序依次读取音视频数据,发送给解码器进行播放处理,包括: 判断所述循环缓冲队列中当前的音视频数据量是否大于预设阈值; 如果当前的音视频数据量大于预设阈值,则按照音视频数据的写入顺序依次读取预设比特量的音视频数据,一次性发送到解码器进行播放处理。5.如权利要求1-4任一所述的方法,其特征在于,所述接收线程的处理优先级高于所述处理线程。6.—种音视频数据处理装置,其特征在于,包括:接收线程、循环缓冲队列、以及处理线程,其中, 所述接收线程包括: 接收模块,用于接收预先与车载终端连接的终端设备发送的音视频数据; 写入模块,用于将所述音视频数据按照先入先出的顺序写入预设的循环缓冲队列; 所述处理线程包括: 监测模块,用于监测所述循环缓冲队列的音视频数据写入情况; 处理模块,用于按照所述循环缓冲队列中的音视频数据写入顺序依次读取音视频数据,发送给解码器进行播放处理。7.如权利要求6所述的装置,其特征在于, 所述写入模块,用于将当前接收的音视频数据写入所述循环缓冲队列,递增下一个音视频数据的写入位置,以使下一个接收的音视频数据写入当前接收的音视频数据之后。8.如权利要求6所述的装置,其特征在于,所述接收线程还包括: 通知模块,用于向所述处理线程发送数据写入通知消息,以使所述处理线程根据所述数据写入通知消息监测所述循环缓冲队列的音视频数据写入情况。9.如权利要求6所述的装置,其特征在于,所述处理线程还包括: 判断模块,用于判断所述循环缓冲队列中当前的音视频数据量是否大于预设阈值; 所述处理模块,用于如果当前的音视频数据量大于预设阈值,则按照音视频数据的写入顺序依次读取预设比特量的音视频数据,一次性发送到解码器进行播放处理。10.如权利要求6-9任一所述的装置,其特征在于,所述接收线程的处理优先级高于所述处理线程。11.一种车载终端,其特征在于,包括:如权利要求6-10任一所述的音视频数据处理装置。
【文档编号】H04N21/442GK105872668SQ201610201410
【公开日】2016年8月17日
【申请日】2016年3月31日
【发明人】周星杰
【申请人】百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1