延迟调整方法与数据串流处理装置与流程

文档序号:31712662发布日期:2022-10-04 20:10阅读:103来源:国知局
延迟调整方法与数据串流处理装置与流程

1.本公开涉及数据串流处理装置,尤其涉及可动态调整数据串流的延迟时间的数据串流处理装置与延迟调整方法。


背景技术:

2.在实际应用中,由于干扰的影响,接收端无法立即接收数据。为确保最后输出的数据串流的流畅度,接收端通常会暂存一段时间的数据,并通过加入延迟时间(latency)来输出数据串流。在一些相关技术中,此延迟时间被设为一个较大的数值,以确保传输稳定,但这种设计不适用于重视实时性的应用(例如在线游戏产业)。然而,如果是直接将延迟时间设为一个较小的数值,数据串流又很容易因为干扰的影响发生卡顿。


技术实现要素:

3.在一些实施方式中,延迟调整方法包含下列操作:响应于数据串流在第一期间内发生预设事件,执行传输状态确定操作,以确定该数据串流的传输状态是否稳定;响应于稳定的该传输状态,确定该数据串流在先前期间内发生分组遗失补偿事件的总次数是否高于第一预设值;以及响应于不稳定的该传输状态、或响应于超过该第一预设值的该总次数,增加该数据串流的延迟时间。
4.在一些实施方式中,数据串流处理装置包含存储器电路以及处理电路。存储器电路用以存储至少一程序代码。处理电路用以执行存储器电路中的该至少一程序代码,以:响应于数据串流在第一期间内发生预设事件,执行传输状态确定操作,以确定该数据串流的一传输状态是否稳定;响应于稳定的该传输状态,确定该数据串流在先前期间内发生分组遗失补偿事件的总次数是否高于第一预设值;以及响应于不稳定的该传输状态,或响应于超过该第一预设值的该总次数,增加该数据串流的延迟时间。
5.有关本公开的特征、实践与效果,将结合附图以较佳实施例详细说明如下。
附图说明
6.图1a为根据本公开一些实施例的绘制了一种数据串流处理装置的示意图;
7.图1b为根据本公开一些实施例的绘制了图1a中的处理电路的示意图;
8.图2为根据本公开一些实施例的绘制了一种监测传输状态的方法的流程图;以及
9.图3a与图3b为根据本公开一些实施例的绘制了的一种延迟调整方法的流程图。
具体实施方式
10.本文所使用的所有术语具有其通常的含义。上述术语在普遍常用的字典中的定义,在本公开的内容中包含任一于此讨论的术语的使用例子仅为示例,不应限制到本公开的范围与意涵。同样地,本公开亦不仅以于此说明书所示出的各种实施例为限。
11.关于本文中所使用的“耦接”或“连接”,均可指二或多个组件相互直接作物理或电
性接触,或是相互间接作物理或电性接触,亦可指二或多个组件相互操作或动作。如本文所用,术语“电路”可为由至少一个晶体管和/或至少一个主被动组件按一定方式连接以处理信号的装置。
12.如本文所用,术语“和/或”包含了列出的关联项目中的一个或多个的任何组合。在本文中,使用第一、第二与第三等等之术语,是用于描述并辨别各个组件。因此,在本文中的第一组件也可被称为第二组件,而不脱离本公开的本意。为易于理解,在各附图中的类似组件将被指定为相同标号。
13.图1a为根据本公开一些实施例的绘制了一种数据串流处理装置100的示意图。在一些实施例中,数据串流处理装置100可为(但不限于)一种音频播放装置。例如,数据串流sd1可包含多笔声音数据,且数据串流处理装置100可为一般的耳机、无线耳机或其他可播放音频的电子装置。
14.在一些实施例中,数据串流处理装置100包含接收器电路110、缓冲电路120、处理电路130以及存储器电路140。接收器电路110可从一外部信号源(未示出)接收数据串流sd1。缓冲电路120用以暂存该数据串流sd1。处理电路130可用以执行图2、图3a和/或图3b中的多个操作,以调整暂存于缓冲电路120的数据串流sd1的延迟时间(latency)而产生数据串流sd2。
15.例如,数据串流sd1包含数据1~6。处理电路130可根据当前传输环境调整缓冲电路120内的数据1~6之间的时间差和/或在数据1~6前插入一延迟时间tl,以输出为数据串流sd2。在一些实施例中,延迟时间tl也可位于数据1~6中的任两笔数据之间。图1中关于延迟时间tl的设置位置仅用于示例,且本公开并不以此为限。在一些实施例中,处理电路130还可执行分组遗失补偿(packet loss compensation,plc)以调整延迟时间tl,当有plc事件发生时,处理电路130将当前的数据存储到存储器电路140,处理电路130可将存储器电路140存储的数据插入缓冲电路120,来调整延迟时间tl而产生数据串流sd2。或者,在其他例子中,处理电路130可移除数据串流sd1中的至少一笔数据来调整延迟时间tl。
16.在不同实施例中,处理电路130可包含一或多个(但不限于)中央处理单元(cpu)、特殊应用集成电路(application-specific integrated circuit)、微控制器(microcontroller unit,mcu)电路、数字信号处理器(digital signal processor,dsp)电路和/或分布式处理系统等等。用来实施处理电路130的各种电路或单元皆为本公开所涵盖的范围。
17.存储器电路140存储至少一程序代码,其用以调整延迟时间tl。在一些实施例中,处理电路130可执行存储于存储器电路140的至少一程序代码,以执行图2、图3a和/或图3b中的多个操作。在一些实施例中,图2、图3a和/或图3b中的一或多个操作可借由软件(例如为程序代码、指令集等等)实施。在一些实施例中,存储器电路140包含至少一个存储电路,其用以存储时间戳ts、预设值th1、预设值th2、计时器(timer)t1、计时器t2等信息。处理电路130可利用这些信息执行图2、图3a和/或图3b中的多个操作。例如,当特定条件成立时,处理电路130可借由执行一特定软件或程序代码而在存储器电路140建立计时器t1,以开始计时一预设期间(下文被称为预设时间pt1)。或者,当特定条件成立时,处理电路130可在存储器电路140删除(例如,禁用或清除)计时器t1,以停止计时预设期间pt1。
18.在一些实施例中,存储器电路140可为非暂态计算机可读取存储介质。在一些实施
例中,计算机可读取存储介质可为(但不限于)电性、磁性、光学、红外线和/或半导体装置。例如,计算机可读取存储介质包含(但不限于)半导体或固态存储器、磁带、可移除式计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、硬磁盘和/或光学磁盘。一些实施例中,光学磁盘包含(但不限于)只读记忆光盘(cd-rom)、可重复录写光盘(cd-r/w)和/或数字激光视盘(dvd)。
19.图1b为根据本公开一些实施例的绘制了图1a中的处理电路130的示意图。在此示例中,数据串流处理装置100可应用(但不限于)真无线立体声(real wireless stereo,rws)耳机。处理电路130包含期间评估模块141、媒体缓冲同步模块142以及plc模块143。期间评估模块141可用以执行图2中所述的多个操作,以评估数据串流sd1的传输状态是否稳定。媒体缓冲同步模块142可用来确保两个耳机产生的数据串流具有相同数据量。plc模块143用来执行前述的plc操作。plc模块143可在数据串流sd1的数据量较少的情形下,依据数据串流sd1的特性,重复先前的数据或执行一些dsp运算,以产生足够的数据量来维持数据串流sd2。
20.图1b中的多个模块可由硬件(例如为,但不限于,集成电路)、软件或上述两者的组合来实施。例如,在一些实施例中,期间评估模块141与媒体缓冲同步模块142的功能可借由存储于存储器电路140的一些程序代码来实现,而plc模块143可由一数字信号处理器(dsp)电路来实施,但本公开并不以此为限。
21.图2为根据本公开一些实施例的绘制了一种监测传输状态的方法200的流程图。在一些实施例中,图1的处理电路130可执行图2的多个操作(相当于传输状态确定操作),以评估数据串流sd1的传输状态是否稳定。
22.在操作s205,比较数据串流的标准分数与预设值th1。例如,当接收器电路110收到数据串流sd1中的一笔数据时,处理电路130会将关联于该笔数据的时间戳(timestamp)ts记录到存储器电路140。时间戳ts用以指示接收到该笔数据的时间信息。如此,处理电路130可根据数据串流sd1中的每一个数据对应的时间戳ts分析连续二笔数据之间的时间差,以计算数据串流sd1的标准分数(standard score,又称为z-score)。标准分数是利用标准偏差来评估数据串流sd1中最近两笔数据之间的时间差与所有时间差的平均值之间的差异。换言之,如果当前的标准分数越大,代表数据串流sd1的当前传输状态越不稳定(相较于整体传输状态)。
23.在操作s210,如果标准分数不大于预设值th1,确定数据串流的短期变异数是否低于数据串流的长期变异数。在一些实施例中,短期变异数所涵盖的数据数少于长期变异数所涵盖的数据数。例如,处理电路130可根据接收器电路110最近收到的数笔数据(例如为,但不限于,16笔数据)对应的时间戳ts,取得该数笔数据之间的时间差。如此,处理电路130可利用该数笔数据之间的时间差计算短期变异数。类似地,处理电路130可根据接收器电路110收到的所有数据对应的时间戳ts,取得目前收到的所有数据之间的时间差,并利用该些时间差计算长期变异数。
24.在操作s215,如果短期变异数低于长期变异数,开始计时预设期间pt1。或者,如果短期变异数不低于长期变异数,重新执行操作s205。在操作s220,如果标准分数于预设期间pt1期满前不大于预设值th1,判断数据串流的传输状态为稳定,并重新执行操作s210。如果短期变异数低于长期变异数,代表数据串流sd1的近期传输状态好于数据串流sd1的先前整
体传输状态。因此,处理电路130可于存储器电路140中设定计时器t1,以开始计时预设期间pt1。如果在预设期间pt1期满前,处理电路130未检测到数据串流sd1的标准分数有大于预设值th1,处理电路130可判断当前的传输状态为稳定。或者,如果短期变异数不低于长期变异数,处理电路130可重新执行操作s205,以再次确定标准分数是否超过预设值th1。
25.在操作s225,如果标准分数大于预设值th1,判断数据串流的传输状态为不稳定。在操作s230,在一预设期间(下文被称为预设时间pt2)内不比较标准分数与预设值th1。在操作s235,停止计时预设期间pt1,并重新执行操作s205。
26.例如,如果标准分数大于预设值th1,代表数据串流sd1中最近两笔数据之间的时间差过大。在此条件下,处理电路130可判断数据串流sd1的传输状态为不稳定。响应于不稳定的传输状态,处理电路130在接下来的预设期间pt2(例如为,但不限于,100毫秒)内不比较标准分数与预设值th1(即不执行操作s205)。在此条件下,如果当前存储器电路140存储有计时器t1,处理电路130可删除计时器t1以停止计时预设期间pt1,并重新执行操作s205。
27.上述监测传输状态的方法200的多个操作仅为示例,并非限定需依照此示例中的顺序执行。在不违背本公开的各实施例的操作方式与范围下,监测传输状态的方法200下的各种操作当可适当地增加、替换、省略或以不同顺序执行(例如可以是同时执行或是部分同时执行)。
28.图3a与图3b为根据本公开一些实施例的绘制了的一种延迟调整方法300的流程图。在一些实施例中,延迟调整方法300可由(但不限于)图1中的处理电路130执行。延迟调整方法300包含图3a中用以增加延迟时间的多个操作、以及图3b中用以降低延迟时间的多个操作。在一些实施例中,图2的监测传输状态的方法200以及图3a与图3b的延迟调整方法300可为同时执行或为部分同时执行。
29.参照图3a,在操作s310,响应于数据串流在第一期间内发生预设事件,执行传输状态确定操作以确定数据串流的传输状态是否稳定。在一些实施例中,预设事件可包含(但不限于)预定数目的plc事件,其中预定数目可为大于或等于1。本实施例中以预定数目设定为2为例,当数据串流sd1出现第一次plc事件,处理电路130可确定数据串流sd1是否在该第一次plc发生后的第一期间(例如为,但不限于,约300毫秒)内有出现另一次plc事件。如果数据串流sd1在第一期间内有出现第二次plc事件,处理电路130可借由图2的操作确定数据串流sd1的传输状态是否稳定。
30.在操作s315,响应于稳定的传输状态,确定数据串流在先前期间内发生plc事件的总次数是否高于预设值th2。如果数据串流sd1在先前期间内发生plc事件的总次数高于预设值th2,执行操作s320。或者,如果数据串流sd1在先前期间内发生plc事件的总次数不高于预设值th2,执行操作s325。在操作s320,增加延迟时间,并开始计时一预设期间(下文被称为预设时间pt3)。在操作s325,不增加延迟时间。
31.例如,在每次处理电路130对数据串流sd1执行plc时,处理电路130可将执行plc的次数记录到存储器电路140。如果处理电路130确定数据串流sd1的传输状态为稳计时,处理电路130可确定先前期间执行plc的总次数是否高于预设值th2(例如可为,但不限于,3或5)。在一些实施例中,先前期间可为执行操作s315前的一预设期间。在一些实施例中,先前期间可为数据串流处理装置100开始接收数据串流sd1到执行操作s315之间的期间。如果数据串流sd1在先前期间内发生plc事件的总次数高于预设值th2,代表外部信号来源的传输
能力可能不佳。例如,部分信号来源的预设传输间隔较长,导致处理电路130在操作s310中认定数据串流sd1的传输状态为稳定。然而,在实际应用中,为了补偿较长的传输间隔,处理电路130可能已执行数次plc操作来避免数据串流sd2中的数据中断。为了辨识此类外部信号来源,响应于高于预设值th2的总次数(即,如果数据串流sd1在先前期间内发生plc事件的总次数高于预设值th2),处理电路130可保持plc操作中使用的数据,以增加延迟时间tl。接着,处理电路130可在存储器电路140中设定计时器t2,以开始计时预设期间pt3(例如为,但不限于,约10秒)。或者,响应于不高于预设值th2的总次数,处理电路130可删除数据串流sd1的后续数据,以不增加延迟时间tl。
32.在操作s330,响应于不稳定的传输状态,增加数据串流的延迟时间,并停止计时预设期间pt3,以重新执行操作s310。例如,如果处理电路130借由图2的多个操作确定数据串流sd1的传输状态为不稳定,处理电路130可以保持plc操作中使用的数据,以增加延迟时间tl。接着,处理电路130确定存储器电路140是否有存储计时器t2。如果存储器电路140有存储计时器t2,处理电路130可删除计时器t2以停止计时预设期间pt3,并重新执行操作s310。如此一来,如果数据串流sd1的传输状态持续不佳,处理电路130可借由上述多个操作动态地增加延迟时间tl。
33.在操作s335,如果数据串流未在第一期间内发生预设事件,确定数据串流在先前期间内发生plc事件的总次数是否高于预设值th2。在操作s340,增加延迟时间,并开始计时预设期间pt3。在操作s345,不增加延迟时间。类似在操作s315至操作s325,如果数据串流sd1未在前述的第一期间内发生预设事件,处理电路130可确定先前期间执行plc的总次数是否高于预设值th2。响应于高于预设值th2的总次数,处理电路130可保持plc操作中使用的数据,以增加延迟时间tl。接着,处理电路130可在存储器电路140中设定计时器t2,以开始计时预设期间pt3。或者,响应于不高于预设值th2的总次数,处理电路130可调整数据串流sd1中的后续数据,以不增加延迟时间tl。
34.据此,处理电路130可根据借由图2的多个操作所得知的传输状态(例如为操作s310)、以及plc事件的总次数,来决定是否增加延迟时间tl。换句话说,处理电路130可根据接收器电路110的当前接收状态和/或外部信号来源的传输稳定度,实时地调整延迟时间tl。
35.参照图3b,基于不同的触发条件,处理电路130将执行图3b中的任一操作,以动态地调整延迟时间tl。在操作s350,如果预设期间pt3期满,降低延迟时间,并开始计时预设期间pt3。例如,于图3a的操作s320或s340中,计时器t2被设置。当计时器t2期满时,如果未有其他事件(例如plc事件或数据串流sd1的传输状态不稳定)的影响,处理电路130可降低延迟时间tl,并重新设置计时器t2,以再次开始计时预设期间pt3。如此一来,如果预设期间pt3期满且未有其他事件的影响,处理电路130可再次执行操作s350来逐步地降低延迟时间tl。
36.在操作s355,如果数据串流的传输状态为稳定,降低延迟时间,并重新开始计时预设期间pt3。例如,在图3a的操作s310中,处理电路130确定数据串流sd1的传输状态不稳定。在后续的操作中,如果处理电路130借由图2的多个操作确定数据串流sd1的传输状态为稳定,处理电路130可降低延迟时间tl并重新设置计时器t2,以再次计时预设期间pt3。如此,如果预设期间pt3期满且未有其他事件的影响,处理电路130可执行操作s350来逐步地降低
延迟时间tl。
37.在操作s360,如果数据串流的传输状态转为不稳定,停止计时预设期间pt3。例如,如果在降低延迟时间tl的过程中,处理电路130确定数据串流sd1的传输状态为不稳定。在此条件下,如果处理电路130确定是否存储器电路140存储有计时器t2,处理电路130可删除计时器t2,以停止计时预设期间pt3。如此,处理电路130可立即重新执行图3a的操作s310,以确定是否需要调整延迟时间tl。
38.上述延迟调整方法300的多个操作仅为示例,并非限定需依照此示例中的顺序执行。在不违背本公开的各实施例的操作方式与范围下,在延迟调整方法300下的各种操作当可适当地增加、替换、省略或以不同顺序执行(例如可以是同时执行或是部分同时执行)。
39.综上所述,本公开一些实施例中的数据串流处理装置与延迟调整方法可根据当前数据串流的传输状态、以及plc事件的发生次数,来实时调整数据串流的延迟时间。如此,可避免数据串流出现中断并实时地增加或降低延迟时间,以提高使用者体验。
40.虽然本公开的实施例如上所述,然而该些实施例并非用来限定本公开,本技术领域具有通常知识者可依据本公开之明示或隐含的内容对本公开之技术特征施以变化,凡此种种变化均可能属于本公开所寻求之专利保护范畴,换言之,本公开之专利保护范围须视本说明书之申请专利范围所界定者为准。
41.【符号说明】
42.1~6:数据
43.100:数据串流处理装置
44.110:接收器电路
45.120:缓冲电路
46.130:处理电路
47.140:存储器电路
48.141:期间评估模块
49.142:媒体缓冲同步模块
50.143:分组遗失补偿模块
51.200:监测传输状态的方法
52.300:延迟调整方法
53.s205、s210、s215、s220、s225、s230、s235:操作
54.s310、s315、s320、s325、s330、s335、s340、s345、s350、s355、s360:操作
55.sd1、sd2:数据串流
56.tl:延迟时间
57.ts:时间戳
58.th1、th2:预设值
59.t1、t2:计时器
60.pt1、pt2:预设期间
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1