CN117082281B - 音视频数据同步处理方法、系统、设备及介质 - Google Patents

音视频数据同步处理方法、系统、设备及介质 Download PDF

Info

Publication number
CN117082281B
CN117082281B CN202311339219.XA CN202311339219A CN117082281B CN 117082281 B CN117082281 B CN 117082281B CN 202311339219 A CN202311339219 A CN 202311339219A CN 117082281 B CN117082281 B CN 117082281B
Authority
CN
China
Prior art keywords
data
frame
target
audio
value
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
CN202311339219.XA
Other languages
English (en)
Other versions
CN117082281A (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311339219.XA priority Critical patent/CN117082281B/zh
Publication of CN117082281A publication Critical patent/CN117082281A/zh
Application granted granted Critical
Publication of CN117082281B publication Critical patent/CN117082281B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供一种音视频数据同步处理方法、系统、设备及介质,包括:根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;响应于对初始视频帧数据标记编码值,赋予与初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;根据后级设备对应的目标帧率以及初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;同时读取目标视频帧数据以及目标音频帧数据,并将具有相同的目标编码值的目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;将目标音视频帧数据输出至后级设备。实现音频数据和视频数据的同步。

Description

音视频数据同步处理方法、系统、设备及介质
技术领域
本申请涉及音视频技术领域,特别涉及一种音视频数据同步处理方法、系统、设备及介质。
背景技术
许多SOC(System on Chip,片上系统)芯片或基于FPGA(Field ProgrammableGate Array,现场可编程门阵列)的板卡都具有处理多路数据的能力,包括多路数据的采集及多路数据的发送传输,其中,视频和音频数据的处理是目前研究及应用的热点和重点。例如,在BMC芯片中就存在同时处理视频和音频数据的需求,视频图像通过PCIE(PeripheralComponent Interconnect Express)接口或本地的视频输入口采集,在BMC芯片内部进行JPEG编码、视频加密等等处理,然后通过网络接口传递至下级或使用本地的视频输出口输出显示;而音频数据一般通过I2S(Inter—IC Sound)总线接口进行采集和发送,或跟视频数据一起通过网络接口传递至下级,在这个过程中,基本不会对音频数据进行处理。之所以这样处理主要是因为视频图像的数据量很大,同时对于视频图像的处理和显示的要求也更高;而音频的数据量则小的多。而正是由于需要对初始视频数据进行缩放等处理,对音频数据不需要处理的原因,视频数据从输入到输出的过程中可能会产生较长时间的输出延迟,一般为多帧图像的时间,而音频数据的输出延时则很小。因此如果在输出端直接将视频数据和音频数据打包发送或直接显示播放,则会存在音视频不同步的情况,当音频开始介绍下一部分内容时,视频可能还停留在上一部分的画面。
目前,针对音视频不同步的问题,现有技术中针对硬件端,一般是直接通过RAM或者FIFO存储器进行缓存,使得音频数据在延迟一定时间段后再输出或者再与视频数据打包;而当音视频数据打包发送的后级为软件时,现有技术一般通过软件端直接调节音频延迟以实现音视频数据的同步。然而,硬件端进行处理时,FIFO存储器或RAM存储器的空间大小与音频数据延迟时间长短是线性相关的。例如音频采样率44.1KHz,数据位宽为32位时,每秒数据量为44.1*1024*32/4 =361267byte;若视频图像为30帧,视频输出存在一帧的延迟,则需要的FIFO或RAM存储器空间大小则为361267/30=12042byte;若输出存在两帧的延迟,则需要的FIFO或RAM存储器空间大小则为12042*2 =24084byte。而实现存储器空间增加则需要增加芯片的面积或消耗FPGA的片上存储资源,同时也会增加系统功耗。而软件端处理也存在许多缺陷,例如对后级存在很多的限制,也会多余消耗软件CPU资源。
因此亟需一种音视频数据同步处理方法以解决上述技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种音视频数据同步处理方法、系统及设备及介质。
第一方面,本申请提供一种音视频数据同步处理方法,所述方法包括:
根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
将所述目标音视频数据输出至所述后级设备。
在一些实施例中,所述方法还包括:
响应于图像处理指令,从所述同步存储器内读取所述初始视频帧数据;
对所述初始视频帧数据进行图像处理以生成第一视频帧数据;
将所述第一视频帧数据存放至所述同步存储器内。
在一些实施例中,所述方法还包括:
将标记编码值后的初始视频数据存放于所述片上系统内的同步存储器中的第一空间;
将标记编码值后的音频数据存放于所述片上系统内的同步存储器中的第二空间;
将所述第一视频帧数据存放至所述片上系统内的同步存储器的第三空间。
在一些实施例中,所述同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据,包括:
响应于视频数据读取指令,确定需要读取的目标视频帧数据的类型;
根据所述目标视频帧数据的类型,确定读取的目标视频帧数据在所述同步存储器内的目标地址空间;
根据所述目标编码值从所述同步存储器中的目标地址空间内读取对应的目标视频帧数据并存放至第一存储器中;
从所述同步存储器中读取具有相同所述目标编码值的目标音频帧数据并存放至第二存储器中;
从所述第一存储器中读取所述目标视频帧数据并同时从第二存储器中读取所述目标音频帧数据;
将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据。
在一些实施例中,在将初始视频帧数据存放至同步存储器内之前,所述方法还包括:
根据所述初始视频数据对应的水平分辨率和垂直分辨率以及像素深度,计算每帧所述初始视频帧数据存放的第一帧空间。
确定第一基地址后,根据所述第一基地址、缓存帧数以及所述第一帧空间,确定第一地址空间;
在所述同步存储器中划分出与所述第一地址空间对应的存储空间作为存放初始视频数据的第一空间。
在一些实施例中,在将音频帧数据存放至同步存储器内之前,所述方法还包括:
根据所述音频数据对应的采样频率、采样位宽、通道数以及图像帧率,计算每一所述音频帧数据存放的第二帧空间。
确定第二基地址后,根据所述第二基地址、缓存帧数以及所述第二帧空间,确定第二地址空间;
在所述同步存储器中划分出与所述第二地址空间对应的存储空间作为存放所述音频数据的第二空间。
在一些实施例中,根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值,包括:
检测所述初始视频数据中的每一初始视频帧数据的帧头信息;
依次为检测到的帧头信息对应的初始视频帧数据依次进行编码值赋值,其中任一所述初始视频帧数据对应的所述编码值处于预设范围内。
在一些实施例中,根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值,包括:
检测所述初始视频数据中的每一初始视频帧数据的帧头信息;
依次为检测到的帧头信息对应的初始视频帧数据依次进行编码值赋值,其中任一所述初始视频帧数据对应的所述编码值处于预设范围内。
在一些实施例中所述预设范围的边界值包括最大值和初始值,所述最大值大于初始值。
在一些实施例中,所述依次为检测到的帧头信息对应的初始视频帧数据依次进行编码值赋值,包括:
当前帧头信息对应的初始视频帧数据的编码值为相邻的前向帧头信息对应的初始视频帧数据的编码值叠加固定值;
响应于所述当前帧头信息对应的初始视频帧数据的编码值为最大值,赋予相邻的后向帧头信息对应初始视频帧数据的编码值为初始值。
在一些实施例中,所述响应于对初始视频帧数据标记编码值,赋予音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据,包括:
响应于初次检测到的初始视频数据的帧头信息,赋予当前音频数据的编码值为初始值;
响应于检测到的初始视频数据的帧尾信息,赋予当前音频数据的编码值为相邻的前向音频数据的编码值叠加固定值;
响应于当前音频数据的编码值为最大值,赋予相邻的后向音频数据的编码值为初始值。
在一些实施例中,所述响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据,包括:
响应于音频数据对应的编码值的变化,切分所述音频数据以实现将所述音频数据划分为多个音频帧数据。
在一些实施例中,,所述响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据,包括:
响应于音频数据对应的编码值的变化,切分所述音频数据以实现将所述音频数据划分为多个音频帧数据。
在一些实施例中,将所述第一视频帧数据存放至所述同步存储器内之前,所述方法还包括:
在确定第三基地址后,根据所述第一帧空间、所述第三基地址以及缓存帧数,确定第三地址空间;
在所述同步存储器中划分出与所述第三地址空间对应的存储空间作为第三空间以存放所述第一视频帧数据。
第二方面,本申请提供一种音视频数据同步处理系统,所述系统包括:
编码模块,用于根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
所述编码模块,还用于响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
处理模块,用于将根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
所述处理模块,还用于同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
输出模块,用于将所述目标音视频数据输出至所述后级设备。
第三方面,本申请提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
将所述目标音视频数据输出至所述后级设备。
第四方面,本申请还提供了一种计算机可读存储介质,所述存储介质上存储计算机程序,所述计算机程序使得计算机执行如下操作:
根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
将所述目标音视频数据输出至所述后级设备。
本申请实现的有益效果为:
本申请提供了一种音视频数据同步处理方法,其特征在于,所述方法包括:
根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;将所述目标音视频数据输出至所述后级设备。实现了将音频数据延时能力与存储器的存储空间解耦,音频数据的延迟能力的提升不再需要通过增加存储器空间来实现,且可以动态调整音频输出延时,当视频数据由于处理流程发生变化导致输出延迟改变时,音频数据可以自动进行调整匹配,实现同步。
进一步,本申请还提出对初始视频数据进行图像处理,并对处理后生成的第一视频数据也进行缓存,并在后续后级设备需要读取视频数据时,根据对应的地址空间可实现第一视频数据和音频数据的同步。
进一步,本申请根据预设的帧标记规则,在视频数据输入的时间关系的基础上,在识别到帧头信息时,对视频帧数据标记编码值,且将编码值与缓存帧数进行匹配,以方便在后续对视频数据进行缓存。
进一步,本申请还实现了对音频数据标记编码,突破了音频数据是连续的,没有类似图像帧的概念的难题,使得音频数据与视频数据的编码值一一对应,以进一步实现视频数据编码值和音频数据编码值的同步。
进一步,本申请还公开了通过获取后级设备对应的目标帧率,将目标帧率与初始帧率进行比对,确定需要读取的目标视频帧数据的帧数以及对应的编码值,以保证视频数据传输或显示到后级设备上时的流畅度。
进一步,本申请还提出预先在同步存储器中划分出指定的地址空间用于存放视频数据和音频数据。利用同步存储器更好的存储视频数据和音频数据。
进一步,本申请还提出根据缓存帧数以及视频数据的水平分辨率、垂直分辨率以及像素深度,确定用于存放每帧视频帧数据的帧空间;还提出根据音频数据对应的采样频率、采样位宽、通道数以及图像帧率,计算每一个音频帧数据存放的帧空间。并分别在计算对应的帧空间后,进一步分配对应的地址。实现了音频数据和视频数据的有序存放,便于后续查找。
进一步,本申请实现了对图像处理后生成的第一视频帧数据,也在同步存储器中划分对应的存储空间进行存放,且每帧第一视频帧数据存放的帧空间大小与其对应的初始视频帧数据对应的帧空间大小一致。实现了各类视频数据的有序存放,便于后期数据查找。
进一步,本申请还提出在需要想后级设备传输视频数据时,可根据视频数据读取指令中包含的目标视频帧数据的类型,直接确定需要读取的存储空间。在确定了存储空间后再去查找,提高了数据读取的速度,进一步提高音视频数据同步处理的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1是本申请实施例提供的一种编码值标记示意图;
图2是本申请实施例提供的一种音视频数据同步处理方法示意图;
图3是本申请实施例提供的一种地址空间示意图;
图4是本申请实施例提供的又一种编码值标记示意图;
图5是本申请实施例提供的一种音视频数据同步处理方法流程图;
图6是本申请实施例提供的一种音视频数据同步处理系统架构图;
图7是本申请实施例提供的电子设备结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,在本申请的描述中,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
还应当理解,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
需要注意的是,术语“S1”、“S2”等仅用于步骤的描述目的,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅仅是为了方便描述本申请的方法,而不能理解为指示步骤的先后顺序。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
如背景技术所述,目前针对音视频不同步的问题的解决方案还具有一定的缺陷,针对硬件端的解决方案还是直接通过RAM或FIFO存储器进行缓存,使得音频数据在满足一定延迟条件后再输出与视频数据进行打包;针对软件端则直接通过软件进行调节,对软件稳定性依赖度高,且会对后级设备存在很多的限制。而本申请提供的音视频数据同步处理方法,将音频数据延时能力与存储器的存储空间解耦,音频数据的延迟能力的提升不再需要通过增加存储器空间来实现,且可以动态调整音频输出延时,当视频数据由于处理流程发生变化导致输出延迟改变时,音频数据可以自动进行调整匹配,实现同步。
实施例一
本申请实施例提供了一种音视频数据同步处理方法,具体的,利用本申请实施例公开的方法实现对采集到的音频数据和初始视频数据的同步,包括以下内容:
S1、对同时输入到片上系统的初始视频数据和音频数据标记编码值。
为实现对输入到片上系统的初始视频数据和音频数据标记编码值,本申请实施例首先提出利用根据预设的帧标记规则对采集到的初始视频数据中每一帧的初始视频帧数据标记编码值。其中,初始视频数据由多个初始视频帧数据构成。
具体的,上述帧标记规则包括:检测初始视频数据中的每一初始视频帧数据的帧头信息;依次为检测到的帧头信息对应的初始视频帧数据依次进行编码值赋值以生成视频编码,其中任一初始视频帧数据对应的编码值处于预设范围内。其中,预设范围内包括若干个编码预设值;编码预设值为整数值且编码预设值的数量与缓存帧数匹配;预设范围的边界值包括最大值和初始值,最大值大于初始值。其中,缓存帧数为在整个音视频数据同步处理过程中,用于缓存的视频数据的帧数,与视频数据在处理过程中的最大帧延迟相关,缓存帧数必须大于最大帧延迟。当前帧头信息对应的初始视频帧数据的编码值为相邻的前向帧头信息对应的初始视频帧数据的编码值叠加固定值;响应于当前帧头信息的初始视频帧数据的编码值为最大值时,赋予相邻的后向帧头信息的编码值为初始值。其中,本申请仅限定初始值和最大值为整数且包含在初始值和最大值之间(包含最大值和初始值)的整数的数量与缓存帧数匹配,并不限定最大值和初始值的具体取值。
举例说明:在本申请实施例中由于总线和DDR(Double Data Rate SDRAM,双倍速率同步动态随机存储器)在传输上可能产生2帧的延迟,在本实施例中不考虑对视频数据进行缩放、编码等图像处理,如果此时最大帧延迟为3帧,则缓存帧数至少为4帧;本文中其他位置“双倍速率同步动态随机存储器”简称为“同步存储器”。此时,如图1所示,一般而言,视频图像包括帧头和帧尾信息,当检测到初始视频数据中的初始视频帧数据的帧头信息时,将此帧初始视频帧数据的编码值标记为初始值,在本例中为1,之后每次检测到帧头信息时,对应的初始帧视频的编码值为前一帧初始视频帧数据的编码值叠加固定值,在本例中为1,到达最大值后回到起始值1再进行赋值,本例中最大值为4。其中,固定值的设置本申请中仅限定为整数,取值不做限定。可以理解的是,在其他情况下,可适应性更改初始值和最大值,例如将初始值修改为2,最大值在缓存帧数为4的基础上可对应修改为5,此时,当检测到初始视频数据中的初始视频帧数据的帧头信息时,将此帧初始视频帧数据的编码值标记为2,之后每次检测到帧头信息时,对应的初始帧视频的编码值为前一帧初始视频帧数据的编码值叠加固定值1,到达5后回到1再进行赋值。在其他情况下,还可修改固定值,并适应性修改最大值,例如将固定值修改为2,初始值设置为1,最大值适应性修改为7,此时,当检测到初始视频数据中的初始视频帧数据的帧头信息时,将此帧初始视频帧数据的编码值标记为1,之后每次检测到帧头信息时,对应的初始帧视频的编码值为前一帧初始视频帧数据的编码值叠加固定值2,到达7后回到1再进行赋值。
在对每一帧的初始视频帧数据标记编码值的同时,赋予同时输入到的与初始视频数据对应的音频数据相同的编码值,以实现将音频数据划分为多个音频帧数据。具体的,如图1所示,在检测到初始视频帧数据的帧头信息时,给此帧视频帧数据标记编码值为初始值的同时,也赋予音频数据相同的编码值及初始值;然后在检测到此帧初始视频帧数据的帧尾信息时,将此时对应的音频数据的编码值叠加固定值;响应于当前的音频数据的编码值为最大值时,赋予相邻的后向编码值为初始值。需要注意的时,因为音频数据是连续的,不存在帧的概念,而图像视频则是严格按照帧传递的,考虑到后续的同步问题,因此本申请将视频帧的概念引入音频中。所以,在本申请实施例中根据音频数据对应的编码值的变化将音频数据进行切分,可近似理解为音频帧数据。
S2、将初始视频帧数据以及音频帧数据分别存放至同步存储器内。
为实现将初始视频帧数据和音频帧数据存放值同步存储器内的指定位置,需要预先划分指定空间作为存放视频帧数据和音频帧数据的位置。具体的,可分为用于存放初始视频数据存放的第一地址空间,用于存放音频数据的第二地址空间。具体的,根据初始视频数据对应的水平分辨率和垂直分辨率以及像素深度,计算每一帧视频帧数据存放的第一帧空间。其中,第一帧空间=水平分辨率*垂直分辨率*像素深度。然后,在确定第一基地址后,根据第一基地址、缓存帧数以及第一帧空间,确定第一地址空间;然后在同步存储器中划分出与第一地址空间对应的存储空间作为第一空间以存放初始视频数据。初始视频数据内每帧初始视频帧数据以编码值为序,顺序存放。以缓存帧数为四举例,缓存的每帧视频帧数据对应的地址分别为:
第一帧视频帧数据:第一基地址+0*第一帧空间;
第二帧视频帧数据:第一基地址+1*第一帧空间;
第三帧视频帧数据:第一基地址+2*第一帧空间;
第四帧视频帧数据:第一基地址+3*第一帧空间。
根据音频数据对应的采样频率、采样位宽、通道数以及图像帧率,计算每一音频帧数据存放的第二帧空间。其中,第二帧空间=采样频率*采样位宽*通道数/图像帧率。然后,在确定第二基地址后,根据第二基地址、缓存帧数以及第二帧空间,确定第二地址空间;然后在同步存储器中划分出与第二地址空间对应的存储空间作为第二空间以存放音频数据。音频数据内每帧音频帧数据以编码值为序,顺序存放。以缓存帧数为四举例,缓存的每帧音频帧数据对应的地址分别为:
第一帧音频帧数据对应的地址:第二基地址+0*第二帧空间;
第二帧音频帧数据:第二基地址+1*第二帧空间;
第三帧音频帧数据:第二基地址+2*第二帧空间;
第四帧音频帧数据:第二基地址+3*第二帧空间。
需要注意的是,各自存放的地址空间不能存在重叠,因此第二基地址大于等于第一基地址+4*第一帧空间。
此外,BMC芯片中还会出现不止一路视频数据流入的情况,例如通过片间传输技术传输至BMC芯片的远程视频数据,还有通过VGA/HDMI/DP等常用的视频采集接口输至BMC芯片中的本地视频数据。因此,在出现多路初始视频数据时(以上两种都可看做为初始视频数据),都可根据前文中公开的第一地址空间的划分方法为每一路视频数据划分在同步存储器中划分用于存储的地址空间。
本申请通过在同步存储器内划分出特定的地址空间用于存储标记编码值后的视频帧数据、音频数据以及图像处理后的视频帧数据,且该地址空间与需要缓存的最大帧延迟对应的视频帧数据的大小一致,无需增加存储空间也可满足对延迟的需要缓存的数据的存储;将音频数据延时能力与存储器的存储空间解耦。
S3、根据后级设备对应的目标帧率以及采集到的初始视频数据的初始帧率,确定目标视频帧数据的编码值。
根据后级设备的目标帧率(即用于传输或显示的图像帧率)与初始视频数据输入时的初始帧率,调整需要读取的视频帧数据的编码值。具体的,若目标帧率小于初始帧率,且初始帧率为目标帧率的整数倍,则根据初始帧率与所述目标帧率的倍数,确定读取间隔值为所述倍数减一,其中读取间隔值为相邻的目标视频帧数据的编码值之间的间隔;即如果目标帧率为30帧,初始帧率为60帧,此时,针对输入的初始视频数据中的每两帧初始视频帧数据,仅需要传输或显示一帧目标视频帧数据,此时在确定目视频帧数据的编码值时,需要间隔一个编码值再进行读取。若目标帧率等于初始帧率,则确定读取间隔值为0,此时需要读取的目标视频帧数据与初始视频帧数据的编码值完全重合。需要理解的时,在本申请中目标帧率小于初始帧率的情况一般并不会出现,而本申请实施例针对这种情况公开了一种目标视频帧数据的编码值的确定方法,即跳帧读取,比如初始帧率为50,目标帧率为40,此时进行跳帧处理,即在初始视频数据中读取目标帧数据时每隔四帧跳过一帧不读。如初始视频帧数据的编码值为1、2、3、4、5、6……时,确定的目标视频帧数据的编码值为1、2、3、4……
S4、根据所述目标视频帧数据的目标编码值,从同步存储器中读取对应的目标视频帧数据和目标音频帧数据并同步输出至后级设备。
具体的,根据目标视频帧数据的目标编码值,从同步存储器中第一空间内读取对应的目标视频帧数据并存放于第一存储器中,并从同步存储器中第二空间内读取与目标编码值对应的目标音频帧数据并存放于第二存储器中。其中,第一存储器和第二存储器为FIFO(First Input First Output,先进先出)存储器。在第一存储器和第二存储器均不为空(即都已经写入了数据)时,开始同时从第一存储器中读取目标视频帧数据和从第二存储器中读取目标音频帧数据,并根据目标编码值将读取出的目标视频帧数据和音频帧数据合并以生成目标音视频数据;将目标音视频数据输出至所述后级设备。需要注意的是,音频数据的数据量远小于视频数据,因此,在后续的读取过程中,音频数据的读取速度也远小于视频数据,此处同步主要是为了在帧头位置对齐,以减少可以出现的累积偏差。
实施例二
对应上述实施例一,如图2所示本申请还实施例提供了又一种音视频数据同步处理方法,对采集到的初始视频数据进行图像处理产生延迟后依旧能够实现音频数据和处理后的视频数据的同步;具体包括:
A1、对采集到的初始视频数据和音频数据标记编码值,并将初始视频数据和音频数据存放至同步存储器中。具体内容,可参考实施例一,本申请实施例在此不再赘述。
A2、响应于图像处理指令,读取初始视频数据并对初始视频数据中每一帧初始视频帧数据进行图像处理,以生成第一视频帧数据;将生成的第一视频帧数据也存放至同步存储器中。其中,图像处理指令为后级设备在需要对初始视频数据进行图像处理时生成的用于指示是否进行图像处理的指令。
与存放初始视频帧数数据和音频帧数据相同,在将第一视频帧数据存放至同步存储器之前也需要事先在同步存储器内划分第三空间用于存放。通常情况下,对初始视频数据进行图像处理为缩放和编码,本申请实施例以此为例进行说明,将对初始视频帧数据进行缩放后的视频帧数据看做缩放视频帧数据,再将对缩放视频帧数据进行编码处理的视频帧数据看做编码视频帧数据,相应的划分出的第三空间可进一步分为第三缩放空间及第三编码空间。确定第三基地址,包括缩放基地址和编码基地址;然后根据用于生成第一视频帧数据的初始视频帧数据对应的第一帧空间、缓存帧数以及缩放基地址,确定用于存放缩放视频帧数据的第三缩放地址空间;并根据用于生成第一视频帧数据的初始视频帧数据对应的第一帧空间、缓存帧数以及编码基地址,确定用于存放编码视频帧数据的第三编码地址空间。根据第三缩放地址空间以及第三编码地址空间,在同步存储器内划分第三缩放空间和第三编码空间以对应存放缩放视频帧数据和编码视频帧数据。具体的,以缓存帧数为4进行说明,第三缩放空间内的地址分别为:
第一帧缩放视频帧数据:缩放基地址+0*第一帧空间;
第二帧缩放视频帧数据:缩放基地址+1*第一帧空间;
第三帧缩放视频帧数据:缩放地址+2*第一帧空间;
第四帧缩放视频帧数据:缩放基地址+3*第一帧空间。
第三编码空间内的地址分为:
第一帧编码视频帧数据:编码基地址+0*第一帧空间;
第二帧编码视频帧数据:编码基地址+1*第一帧空间;
第三帧编码视频帧数据:编码地址+2*第一帧空间;
第四帧编码视频帧数据:编码基地址+3*第一帧空间。
如图3所示,在本申请实施例中读取第一空间内地址为“第一基地址+0*第一帧空间”的初始视频帧数据并进行缩放处理生成对应的缩放视频帧数据,并存放于第三缩放空间内地址为“缩放基地址+0*第一帧空间”的位置;读取第三缩放空间内地址为“缩放基地址+0*第一帧空间”的缩放视频帧数据并进行编码处理以生成编码视频帧数据,并存放于第三编码空间内地址为“编码基地址+0*第一帧空间”。以此类推,将第一空间内所有的视频帧数据都进行图像处理并存放到对应的第三空间中。
可以理解的是,并不是在任何情况下都需要对初始视频帧数据进行缩放和编码处理,可以仅进行缩放处理或者仅进行编码处理,亦或是进行缩放处理和编码处理之外还可以进行其他类型的图像处理;只需要在第三空间适应性的增加或减少开辟用于存放处理后的视频帧数据的指定空间即可。此外,考虑的实际的硬件开销,一般只允许对一路视频数据进行图像处理,本例中也使用此方式;若本身硬件支持多路的图像处理,相应的再开辟几个地址空间就可以。
可以理解的是,由于已经对初始视频数据标记过编码值,而第一视频帧数据是在初始视频帧数据的基础上经过图像处理得到的,因此并不需要对第一视频帧数据再次进行标记编码值。如图4所示,缩放视频帧数据和编码视频帧数据的编码值与初始视频帧数据相同,仅在时间上存在延后。
A3、响应于视频数据读取指令,获取根据后级设备对应的目标帧率以及采集到的初始视频数据的初始帧率,确定目标视频帧数据的目标编码值。具体的目标编码值的确定过程与实施例一相同,本申请在此不再赘述。其中,视频数据读取指令为后级设备发起的用于读取视频数据的指令。
A4、响应于视频数据读取指令,确定需要读取的目标视频帧数据的类型;根据目标视频帧数据的类型,确定读取的目标视频帧数据在同步存储器内的地址空间。
具体的,由于已经为不同类型的视频帧数据分配了对应的地址空间,因此只需要根据视频读取指令中包含的数据类型(可由用户实际进行定义),确定需要进行传输或显示的视频帧数据存放的地址空间,在确定的地址空间中读取与目标编码值对应的视频帧数据即可;若包含的数据类型为初始视频帧数据则确定需要进行传输或显示的视频帧数据存放的地址空间为第一空间,若包含的数据类型为缩放视频帧数据则确定需要进行传输或显示的视频帧数据存放的地址空间为第三缩放空间;若包含的数据类型为编码视频帧数据则确定需要进行传输或显示的视频帧数据存放的地址空间为第三编码空间。
可以理解的是,上述步骤A3和步骤A4之前不存在先后关系,可以先执行步骤A3,后执行步骤A4,也可以先执行步骤A4后执行步骤A3,亦或是可以同时执行步骤A3和步骤A4。
A5、从确定的地址空间内读取与目标编码值对应的视频帧数据作为目标视频帧数据,并存放于第一存储器内;从同步存储器中的第二空间内读取目标编码值对应的音频帧数据并存放于第二存储器内。在第一存储器和第二存储器均不为空(即都已经写入了数据)时,开始同时从第一存储器中读取目标视频帧数据和从第二存储器中读取目标音频帧数据;将读取出的目标视频帧数据和目标音频帧数据合并以生成目标音视频数据,将目标音视频数据输出至所述后级设备。
从同步存储器中读取对应的目标视频帧数据和目标音频帧数据并同步输出至后级设备。例如,如果视频读取指令中包含的数据类型为缩放视频帧数据,此时从同步存储器内的第三缩放空间内读取与目标编码值对应的缩放视频帧数据作为目标视频帧数据并存放于第一存储器内;并从第二空间内读取与目标编码值对应的目标音频帧数据并存放于第二存储器内。最后在第一存储器和第二存储器均不为空(即都已经写入了数据)时,开始同时从第一存储器中读取目标视频帧数据和从第二存储器中读取目标音频帧数据并输出至所述后级设备。
实施例三
对应上述实施例一和实施例二,本申请实施例还提供了一种音视频数据同步处理方法,包括:
5100、根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
优选的,根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值,包括:
5110、检测所述初始视频数据中的每一初始视频帧数据的帧头信息;
5120、依次为检测到的帧头信息对应的初始视频帧数据依次进行编码值赋值,其中任一所述初始视频帧数据对应的所述编码值处于预设范围内。
其中,所述预设范围内包括若干个编码预设值;
所述编码预设值为整数值且所述编码预设值的数量与缓存帧数匹配。
所述预设范围的边界值包括最大值和初始值,所述最大值大于初始值。
优选的,所述依次为检测到的帧头信息对应的初始视频帧数据依次进行编码值赋值,包括:
5121、当前帧头信息对应的初始视频帧数据的编码值为相邻的前向帧头信息对应的初始视频帧数据的编码值叠加固定值;
5122、响应于所述当前帧头信息对应的初始视频帧数据的编码值为最大值,赋予相邻的后向帧头信息对应初始视频帧数据的编码值为初始值。
5200、响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
优选的,所述响应于对初始视频帧数据标记编码值,赋予音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据,包括:
5210、响应于初次检测到的初始视频数据的帧头信息,赋予当前音频数据的编码值为初始值;
5220、响应于检测到的初始视频数据的帧尾信息,赋予当前音频数据的编码值为相邻的前向音频数据的编码值叠加固定值;
5230、响应于当前音频数据的编码值为最大值,赋予相邻的后向音频数据的编码值为初始值。
优选的,所述响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据,包括:
5240、响应于音频数据对应的编码值的变化,切分所述音频数据以实现将所述音频数据划分为多个音频帧数据。
优选的,所述方法还包括:
5250、响应于图像处理指令,对所述初始视频帧数据进行图像处理以生成第一视频帧数据;
5260、将所述第一视频帧数据存放至所述片上系统内的同步存储器。
优选的,将所述第一视频帧数据存放至所述同步存储器内之前,所述方法还包括:
5261、在确定第三基地址后,根据所述第一帧空间、所述第三基地址以及缓存帧数,确定第三地址空间;
5262、在所述同步存储器中划分出与所述第三地址空间对应的存储空间作为第三空间以存放所述第一视频帧数据。
优选的,所述方法还包括:
5270、将标记编码值后的初始视频数据存放于所述片上系统内的同步存储器中的第一空间;
优选的,在将初始视频帧数据存放至同步存储器内之前,所述方法还包括:
5271、根据所述初始视频数据对应的水平分辨率和垂直分辨率以及像素深度,计算每帧所述初始视频帧数据存放的第一帧空间。
5272、确定第一基地址后,根据所述第一基地址、缓存帧数以及所述第一帧空间,确定第一地址空间;
5273、在所述同步存储器中划分出与所述第一地址空间对应的存储空间作为存放初始视频数据的第一空间。
优选的
5280、将标记编码值后的音频数据存放于所述片上系统内的同步存储器中的第二空间;
优选的,在将音频帧数据存放至同步存储器内之前,所述方法还包括:
5281、根据所述音频数据对应的采样频率、采样位宽、通道数以及图像帧率,计算每一所述音频帧数据存放的第二帧空间。
5282、确定第二基地址后,根据所述第二基地址、缓存帧数以及所述第二帧空间,确定第二地址空间;
5283、在所述同步存储器中划分出与所述第二地址空间对应的存储空间作为存放所述音频数据的第二空间。
5250、将所述第一视频帧数据存放至所述片上系统内的同步存储器的第三空间。
5300、根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
优选的,所述根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值,包括:
5310、若所述目标帧率小于所述初始帧率,且所述初始帧率为所述目标帧率的整数倍,则根据所述初始帧率与所述目标帧率的倍数,确定读取间隔值为所述倍数减一,其中所述读取间隔值为相邻的目标视频帧数据的目标编码值之间的间隔;
5320、若所述目标帧率大于等于所述初始帧率,则确定所述读取间隔值为0。
5400、同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
优选的,所述同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据,包括:
5410、响应于视频数据读取指令,确定需要读取的目标视频帧数据的类型;
5420、根据所述目标视频帧数据的类型,确定读取的目标视频帧数据在所述同步存储器内的目标地址空间;
5430、根据所述目标编码值从所述同步存储器中的目标地址空间内读取对应的目标视频帧数据并存放至第一存储器中;
5440、从所述同步存储器中读取具有相同所述目标编码值的目标音频帧数据并存放至第二存储器中;
5450、从所述第一存储器中读取所述目标视频帧数据并同时从第二存储器中读取所述目标音频帧数据;
5460、将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据。
5500、将所述目标音视频数据输出至所述后级设备。
实施例四
对应上述所有实施例,如图6所示,本申请实施例还提供一种音视频数据同步处理系统,包括:
编码模块610,用于根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
所述编码模块610,还用于响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
处理模块620,用于将根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
所述处理模块620,还用于同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
输出模块630,用于将所述目标音视频数据输出至所述后级设备。
在一些实施场景中,所述处理模块620,还用于响应于图像处理指令,对所述初始视频帧数据进行图像处理以生成第一视频帧数据;所述系统还包括存储模块640(图中未示意),用于将所述第一视频帧数据存放至所述片上系统内的同步存储器。
在一些实施场景中,所述存储模块640,还用于将标记编码值后的初始视频数据存放于所述片上系统内的同步存储器中的第一空间;将标记编码值后的音频数据存放于所述片上系统内的同步存储器中的第二空间;将所述第一视频帧数据存放至所述片上系统内的同步存储器的第三空间。
在一些实施场景中,所述处理模块620,还用于响应于视频数据读取指令,确定需要读取的目标视频帧数据的类型;根据所述目标视频帧数据的类型,确定读取的目标视频帧数据在所述同步存储器内的目标地址空间;根据所述目标编码值从所述同步存储器中的目标地址空间内读取对应的目标视频帧数据并存放至第一存储器中;从所述同步存储器中读取具有相同所述目标编码值的目标音频帧数据并存放至第二存储器中;从所述第一存储器中读取所述目标视频帧数据并同时从第二存储器中读取所述目标音频帧数据;将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据。
在一些实施场景中,所述存储模块640还用于根据所述音频数据对应的采样频率、采样位宽、通道数以及图像帧率,计算每一所述音频帧数据存放的第二帧空间;确定第二基地址后,根据所述第二基地址、缓存帧数以及所述第二帧空间,确定第二地址空间;在所述同步存储器中划分出与所述第二地址空间对应的存储空间作为存放所述音频数据的第二空间。
在一些实施场景中,所述存储模块640还用于根据所述音频数据对应的采样频率、采样位宽、通道数以及图像帧率,计算每一所述音频帧数据存放的第二帧空间;所述存储模块640还用于确定第二基地址后,根据所述第二基地址、缓存帧数以及所述第二帧空间,确定第二地址空间;在所述同步存储器中划分出与所述第二地址空间对应的存储空间作为第二空间。
在一些实施场景中,所述处理模块620还用于检测所述初始视频数据中的每一初始视频帧数据的帧头信息;依次为检测到的帧头信息对应的初始视频帧数据依次进行编码值赋值,其中任一所述初始视频帧数据对应的所述编码值处于预设范围内。
在一些实施场景中,所述预设范围内包括若干个编码预设值;所述编码预设值为整数值且所述编码预设值的数量与缓存帧数匹配。
在一些实施场景中,所述预设范围的边界值包括最大值和初始值,所述最大值大于初始值。
在一些实施场景中,当前帧头信息对应的初始视频帧数据的编码值为相邻的前向帧头信息对应的初始视频帧数据的编码值叠加固定值;所述编码模块610还用于响应于所述当前帧头信息对应的初始视频帧数据的编码值为最大值,赋予相邻的后向帧头信息对应初始视频帧数据的编码值为初始值。
在一些实施场景中,所述处理模块620还用于响应于初次检测到的初始视频数据的帧头信息,赋予当前音频数据的编码值为初始值;响应于检测到的初始视频数据的帧尾信息,赋予当前音频数据的编码值为相邻的前向音频数据的编码值叠加固定值;响应于当前音频数据的编码值为最大值,赋予相邻的后向音频数据的编码值为初始值。
在一些实施场景中,所述处理模块620还用于响应于音频数据对应的编码值的变化,切分所述音频数据以实现将所述音频数据划分为多个音频帧数据。
在一些实施场景中,所述处理模块630还用于若所述目标帧率小于所述初始帧率,且所述初始帧率为所述目标帧率的整数倍,则根据所述初始帧率与所述目标帧率的倍数,确定读取间隔值为所述倍数减一,其中所述读取间隔值为相邻的目标视频帧数据的目标编码值之间的间隔;若所述目标帧率大于等于所述初始帧率,则确定所述读取间隔值为0。
在一些实施场景中,所述存储模块640还用于在确定第三基地址后,根据所述第一帧空间、所述第三基地址以及缓存帧数,确定第三地址空间;在所述同步存储器中划分出与所述第三地址空间对应的存储空间作为第三空间以存放所述第一视频帧数据。
在一些实施场景中,所述处理模块620还用于响应于视频数据读取指令,确定需要读取的目标视频帧数据的类型;根据所述目标视频帧数据的类型,确定读取的目标视频帧数据在所述同步存储器内的地址空间。
实施例五
对应上述所有实施例,本申请实施例提供一种电子设备,包括:一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
将所述目标音视频数据输出至所述后级设备。
其中,图7示例性的展示出了电子设备的架构,具体可以包括处理器710,视频显示适配器711,磁盘驱动器712,输入/输出接口713,网络接口714,以及存储器720。上述处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,与存储器720之间可以通过总线730进行通信连接。
其中,处理器710可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器720可以采用ROM(Read Only Memory,可编写存储器)、RAM(RandomAccess Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器720可以存储用于控制电子设备700执行的操作系统721,用于控制电子设备700的低级别操作的基本输入输出系统(BIOS)722。另外,还可以存储网页浏览器723,数据存储管理系统724,以及图标字体处理系统725等等。上述图标字体处理系统725就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器720中,并由处理器710来调用执行。
输入/输出接口713用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口714用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线730包括一通路,在设备的各个组件(例如处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,与存储器720)之间传输信息。
另外,该电子设备700还可以从虚拟资源对象领取条件信息数据库中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,存储器720,总线730等,但是在具体实施过程中,该设备还可以包括实现正常执行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务端,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
实施例六
对应上述所有实施例,本申请实施例还提供一种计算机可读存储介质,其特征在于,其存储计算机程序,所述计算机程序使得计算机执行如下操作:
根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
将所述目标音视频数据输出至所述后级设备。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (16)

1.一种音视频数据同步处理方法,其特征在于,所述方法包括:
根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
在所述片上系统内的同步存储器内划分出地址空间用于存储标记编码值后的视频帧数据和音频帧数据;
根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
同时读取所述同步存储器中所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
将所述目标音视频数据输出至所述后级设备;
所述响应于对初始视频帧数据标记编码值,赋予音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据,包括:
响应于初次检测到的初始视频数据的帧头信息,赋予当前音频数据的编码值为初始值;
响应于检测到的初始视频数据的帧尾信息,赋予当前音频数据的编码值为相邻的前向音频数据的编码值叠加固定值;
响应于当前音频数据的编码值为最大值,赋予相邻的后向音频数据的编码值为初始值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于图像处理指令,对所述初始视频帧数据进行图像处理以生成第一视频帧数据;
将所述第一视频帧数据存放至所述片上系统内的同步存储器。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将标记编码值后的初始视频数据存放于所述片上系统内的同步存储器中的第一空间;
将标记编码值后的音频数据存放于所述片上系统内的同步存储器中的第二空间;
将所述第一视频帧数据存放至所述片上系统内的同步存储器的第三空间。
4.根据权利要求3所述的方法,其特征在于,所述同时读取所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据,包括:
响应于视频数据读取指令,确定需要读取的目标视频帧数据的类型;
根据所述目标视频帧数据的类型,确定读取的目标视频帧数据在所述同步存储器内的目标地址空间;
根据所述目标编码值从所述同步存储器中的目标地址空间内读取对应的目标视频帧数据并存放至第一存储器中;
从所述同步存储器中读取具有相同所述目标编码值的目标音频帧数据并存放至第二存储器中;
从所述第一存储器中读取所述目标视频帧数据并同时从第二存储器中读取所述目标音频帧数据;
将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据。
5.根据权利要求3所述的方法,其特征在于,在将初始视频帧数据存放至同步存储器内之前,所述方法还包括:
根据所述初始视频数据对应的水平分辨率和垂直分辨率以及像素深度,计算每帧所述初始视频帧数据存放的第一帧空间;
确定第一基地址后,根据所述第一基地址、缓存帧数以及所述第一帧空间,确定第一地址空间;
在所述同步存储器中划分出与所述第一地址空间对应的存储空间作为存放初始视频数据的第一空间。
6.根据权利要求3所述的方法,其特征在于,在将音频帧数据存放至同步存储器内之前,所述方法还包括:
根据所述音频数据对应的采样频率、采样位宽、通道数以及图像帧率,计算每一所述音频帧数据存放的第二帧空间;
确定第二基地址后,根据所述第二基地址、缓存帧数以及所述第二帧空间,确定第二地址空间;
在所述同步存储器中划分出与所述第二地址空间对应的存储空间作为存放所述音频数据的第二空间。
7.根据权利要求1所述的方法,其特征在于,所述根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值,包括:
检测所述初始视频数据中的每一初始视频帧数据的帧头信息;
依次为检测到的帧头信息对应的初始视频帧数据依次进行编码值赋值,其中任一所述初始视频帧数据对应的所述编码值处于预设范围内。
8.根据权利要求7所述的方法,其特征在于,所述预设范围内包括若干个编码预设值;
所述编码预设值为整数值且所述编码预设值的数量与缓存帧数匹配。
9.根据权利要求8所述的方法,其特征在于,所述预设范围的边界值包括最大值和初始值,所述最大值大于初始值。
10.根据权利要求7所述的方法,其特征在于,所述依次为检测到的帧头信息对应的初始视频帧数据依次进行编码值赋值,包括:
当前帧头信息对应的初始视频帧数据的编码值为相邻的前向帧头信息对应的初始视频帧数据的编码值叠加固定值;
响应于所述当前帧头信息对应的初始视频帧数据的编码值为最大值,赋予相邻的后向帧头信息对应初始视频帧数据的编码值为初始值。
11.根据权利要求1所述的方法,其特征在于,所述响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据,包括:
响应于音频数据对应的编码值的变化,切分所述音频数据以实现将所述音频数据划分为多个音频帧数据。
12.根据权利要求1所述的方法,其特征在于,所述根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值,包括:
若所述目标帧率小于所述初始帧率,且所述初始帧率为所述目标帧率的整数倍,则根据所述初始帧率与所述目标帧率的倍数,确定读取间隔值为所述倍数减一,其中所述读取间隔值为相邻的目标视频帧数据的目标编码值之间的间隔;
若所述目标帧率大于等于所述初始帧率,则确定所述读取间隔值为0。
13.根据权利要求5所述的方法,其特征在于,将所述第一视频帧数据存放至所述同步存储器内之前,所述方法还包括:
在确定第三基地址后,根据所述第一帧空间、所述第三基地址以及缓存帧数,确定第三地址空间;
在所述同步存储器中划分出与所述第三地址空间对应的存储空间作为第三空间以存放所述第一视频帧数据。
14.一种音视频数据同步处理系统,其特征在于,所述系统包括:
编码模块,用于根据预设的帧标记规则对输入至片上系统的初始视频数据中每一帧的初始视频帧数据标记编码值;
所述编码模块,还用于响应于对初始视频帧数据标记编码值,赋予与所述初始视频数据同时输入片上系统的音频数据与初始视频数据相同的编码值,以实现将音频数据划分为多个音频帧数据;
存储模块,用于在所述片上系统内的同步存储器内划分出地址空间用于存储标记编码值后的视频帧数据和音频帧数据;
处理模块,用于将根据后级设备对应的目标帧率以及所述初始视频数据的初始帧率,确定目标视频帧数据的目标编码值;
所述处理模块,还用于同时读取所述同步存储器中所述目标视频帧数据以及目标音频帧数据,并将具有相同的所述目标编码值的所述目标视频帧数据和目标音频帧数据合成以生成目标音视频数据;
输出模块,用于将所述目标音视频数据输出至所述后级设备;
所述处理模块,还用于响应于初次检测到的初始视频数据的帧头信息,赋予当前音频数据的编码值为初始值;响应于检测到的初始视频数据的帧尾信息,赋予当前音频数据的编码值为相邻的前向音频数据的编码值叠加固定值。
15.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1-13任一所述方法。
16.一种计算机可读存储介质,其特征在于,其存储计算机程序,所述计算机程序使得计算机执行权利要求1-13中任一所述方法。
CN202311339219.XA 2023-10-17 2023-10-17 音视频数据同步处理方法、系统、设备及介质 Active CN117082281B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311339219.XA CN117082281B (zh) 2023-10-17 2023-10-17 音视频数据同步处理方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311339219.XA CN117082281B (zh) 2023-10-17 2023-10-17 音视频数据同步处理方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN117082281A CN117082281A (zh) 2023-11-17
CN117082281B true CN117082281B (zh) 2024-02-23

Family

ID=88711996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311339219.XA Active CN117082281B (zh) 2023-10-17 2023-10-17 音视频数据同步处理方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN117082281B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111918093A (zh) * 2020-08-13 2020-11-10 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质
CN112272313A (zh) * 2020-12-23 2021-01-26 深圳乐播科技有限公司 基于hid的音视频传输方法、装置及计算机可读存储介质
CN116233411A (zh) * 2023-01-03 2023-06-06 咪咕文化科技有限公司 音视频同步测试的方法、装置、设备及计算机存储介质
CN116527977A (zh) * 2023-04-26 2023-08-01 深圳创维-Rgb电子有限公司 一种音画同步方法、装置、电子设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111741246B (zh) * 2020-06-12 2022-07-05 浪潮(北京)电子信息产业有限公司 一种视频存储方法、装置、soc系统、介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111918093A (zh) * 2020-08-13 2020-11-10 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质
CN112272313A (zh) * 2020-12-23 2021-01-26 深圳乐播科技有限公司 基于hid的音视频传输方法、装置及计算机可读存储介质
CN116233411A (zh) * 2023-01-03 2023-06-06 咪咕文化科技有限公司 音视频同步测试的方法、装置、设备及计算机存储介质
CN116527977A (zh) * 2023-04-26 2023-08-01 深圳创维-Rgb电子有限公司 一种音画同步方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN117082281A (zh) 2023-11-17

Similar Documents

Publication Publication Date Title
CN102263880B (zh) 一种图像缩放的方法和装置
CN110363831B (zh) 图层合成方法、装置、电子设备及存储介质
JP2008197653A (ja) 組み込みメモリ装置を利用した液晶表示装置の応答速度補償システム及び映像フレームデータの制御方法
US10412320B1 (en) Method and system for switching display from first video source to second video source
CN112887608A (zh) 图像处理方法、装置、图像处理芯片和电子设备
CN103677701A (zh) 大屏同步显示的方法及系统
US9047846B2 (en) Screen synthesising device and screen synthesising method
KR102619668B1 (ko) 슬라이스 업데이트 맵을 이용하는 장치 및 방법
JPWO2011077550A1 (ja) 画面中継装置
CN117082281B (zh) 音视频数据同步处理方法、系统、设备及介质
US10346323B2 (en) Data transfer device and data transfer method for smoothing data to a common bus
CN114760529B (zh) 多通道视频数据的传输方法、装置、计算机设备
JP2001255860A (ja) 映像データ転送装置及び映像データの転送方法
US20190108814A1 (en) Method for improving system performance, device for improving system performance, and display apparatus
CN106658121A (zh) 一种机顶盒显示指纹信息的方法及系统
US8130232B2 (en) Drawing control method, drawing control apparatus, and drawing control system for embedded system
TW200949554A (en) Image processing system and data processing method thereof
CN113728622A (zh) 用于无线传输图像的方法及装置、存储介质及电子设备
JP2001134243A (ja) Lcdパネル表示装置
US20120144150A1 (en) Data processing apparatus
CN115766677B (zh) 针对视频模式的帧率转换方法及装置
CN103500564A (zh) 图像显示控制装置、方法和图像显示系统
US9298673B2 (en) Electronic device and information processing method
JP6120561B2 (ja) 図形描画装置及び図形描画プログラム
JP6476500B2 (ja) 画像処理システム、遊技機

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