CN101836398B - 调度分组流信道的处理的方法、集成电路和通信单元 - Google Patents
调度分组流信道的处理的方法、集成电路和通信单元 Download PDFInfo
- Publication number
- CN101836398B CN101836398B CN2007801012292A CN200780101229A CN101836398B CN 101836398 B CN101836398 B CN 101836398B CN 2007801012292 A CN2007801012292 A CN 2007801012292A CN 200780101229 A CN200780101229 A CN 200780101229A CN 101836398 B CN101836398 B CN 101836398B
- Authority
- CN
- China
- Prior art keywords
- frame
- processing
- ready
- packet stream
- logic
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种用于调度分组流信道的处理的方法包括:确定是否至少一个分组流信道包括准备好进行处理的媒体帧(210);如果至少一个分组流信道包括准备好进行处理的媒体帧,则标识具有最高优先级的准备好进行处理的媒体帧(230);以及调度所标识的最高优先级的媒体帧来进行处理(240)。该方法进一步包括:基于下述的至少一个来优先准备好进行处理的媒体帧:媒体帧可用时间,以及针对每个媒体帧所估计的处理时间。
Description
技术领域
本发明的领域涉及用于调度分组流信道的处理的方法、集成电路和通信单元,并且更具体地涉及用于调度诸如视频的媒体流信道的处理的方法、集成电路和通信单元。
背景技术
在因特网和其他网络上越来越多地以使用标准化的分组格式的媒体流的形式来传递视频和其他类型的媒体,所述标准化的分组格式诸如由因特网工程任务组(IETF)开发的并且在RFC 3550中定义的实时传输协议(RTP)。RTP提供了端对端网络传输功能,所述端对端网络传输功能适合于通过多播或者单播网络服务来传送诸如音频、视频或者仿真数据的实时数据的应用。用称为实时控制协议(RTCP)的控制协议来扩充RTP,以允许以对于可扩展到大的多播网络的方式来监视数据传递,并且提供最少的控制和标识功能。
公知的是,诸如视频流送等的媒体服务被提供到不同类型的媒体终端,所述不同类型的媒体终端的范围从诸如移动电话手机的移动装置到台式计算机等。本领域技术人员应当明白,由于媒体终端及其相应的通信路径的不同能力和要求,通常是不同的移动终端具有不同的媒体要求的情况。对于视频流送的这样的不同媒体要求的示例可以包括,例如,编码要求、帧速率要求、比特率要求、帧大小要求等。
为了使得能够在不需要为媒体要求的每个组合提供每个服务的复制的情况下来向具有不同的媒体要求的不同媒体终端提供媒体服务,公知使用诸如网关的设备,媒体终端可以通过该设备来接入媒体服务。以该方式,网关处理接收到的媒体流,并且将它们转换成每个媒体终端通过其来接入媒体服务所要求的格式。
因此,需要网关能够处理多个同时的媒体流,每个流包括异步到达的数据的分组。而且,需要网关最大化通过其处理的媒体帧的信道密度,同时最小化通过该网关的媒体流的时延,使得每个分组都被处理,并且在比延迟阈值更小的时段内输出结果。
为了促进媒体内容的处理,公知基于要求在其之前处理媒体帧的最后期限来优先媒体帧的处理;通常首先处理具有要求在其之前处理媒体帧的最临近的最后期限的媒体帧。通常,这样的最后期限基于时间限制,要求在接收到该帧的第一数据分组后的该时间限制内处理该帧。以该方式,往往较少的媒体帧将由于它们在它们的最后期限之前没有被处理而被放弃,因此改善了接收到的媒体流的信道密度。
标题为“Processing packets based on deadline intervals”的美国专利6,975,629描述了一种机制,通过该机制,使用每个数据分组的最后期限间隔来优先第一和第二数据分组。该专利教导了一种机制,通过该机制,首先调度具有最近最后期限的数据分组。
然而,这样的公知技术无法考虑其他因素,诸如数据类型、处理要求等。因此,这样的公知技术不能满足优化用于每个媒体流的信道密度,同时最小化通过网关的媒体流的时延。
因此,存在对于一种改善的用于调度诸如媒体流信道的分组流信道的处理的方法和设备的需要。
发明内容
根据本发明的各方面,如所附权利要求中所限定的,提供了一种用于调度诸如媒体流信道的分组流信道的处理的方法和设备。
在从属权利要求中阐述了特定的实施例。
附图说明
现在仅通过示例的方式来参考附图描述本发明的示例性实施例,在附图中:
图1图示了包括根据本发明的一些实施例来适配的网关的通信单元。
图2图示了根据本发明的实施例的调度媒体流信道的方法的流程图。
图3图示了根据本发明的替代实施例的调度媒体流信道的方法的流程图。
图4图示了根据本发明的实施例的用于执行调度器和处理引擎的主要功能的信号处理器的时间表以及用于由处理引擎使用的位置的存储器位置活动。
图5图示了根据本发明的实施例的调度器的中断功能的示例的流程图。
图6图示了根据本发明的实施例的用于执行调度器和处理引擎的主要功能和中断功能的信号处理器的时间表以及用于由处理引擎使用的存储器位置的存储器位置活动。
具体实施方式
将在用于调度诸如媒体流信道的分组流信道的处理的方法和设备方面描述本发明的实施例。虽然将在诸如在因特网协议(IP)多媒体子系统(IMS)内的媒体资源功能处理器(MRFP)的媒体网关方面描述本发明的实施例,但是可以明白,在此描述的本发明的原理可以在处理多个分组流信道所需要的任何设备中实施。
总之,本发明的原理提出了一种用于调度分组流信道的处理的方法和设备,包括:确定是否至少一个分组流信道包括准备好进行处理的帧;如果至少一个分组流信道包括准备好进行处理的帧,则标识具有最高优先级的准备好进行处理的帧;以及调度所标识的最高优先级的分组流信道来进行处理。所述方法进一步包括:优先步骤,其中,一种设备进一步被配置成至少基于帧可用时间和针对每个帧所估计的处理时间来优先准备好进行处理的帧。
现在参考图1,图示了通信单元100,该通信单元100包括:集成电路,该集成电路被配置成用作根据本发明的一些实施例的网关105。网关105包括:调度器110;至少一个媒体拥塞缓冲器,其对于所图示的实施例而言是多个视频拥塞缓冲器(VCB)120的形式;以及处理引擎130。
网关105被配置成接收多个基本上同时的媒体流。媒体流例如可以是视频和/或音频流,并且例如可以由视频帧的流组成,从该视频帧的流中,呈现运动中的画面的图像的序列可以生成并且以对于人类可认识的形式输出。例如,网关105可以包括在因特网协议(IP)多媒体子系统(IMS)内的媒体资源功能处理器(MRFP)。IMS是用于向移动用户传递IP多媒体的架构框架。它原始地由被称为第三代合作伙伴计划(3GPP)的无线标准组织来设计,并且是用于在被称为全球移动通信系统(GSM)的第二代无线通信之后演进移动网络的版本的一部分。
对于所图示的实施例,网关105接收包括一个或多个实时传输协议(RTP)数据分组的媒体帧形式的媒体流。本领域的技术人员可以明白,数据分组通常同步到达。因此,与媒体帧相关的RTP数据分组可能无顺序地到达并且具有不同的延迟。
网关105包括用于每个媒体流信道的VCB 120。每个VCB 120被配置成针对其相应的媒体流信道来存储接收到的数据分组,并且将接收到的数据分组分类和排序成其相应的帧。对于所图示的实施例,控制器150以RTP数据分组形式来接收数据分组,并且将该分组转发到适当的VCB 120。
调度器110包括调度器逻辑来支持被配置成基本上连续运行并且调度媒体流的主要功能或者过程。图2图示了根据本发明的实施例的调度媒体流信道并且如由调度器110的调度器逻辑功能执行的方法的流程图200。
在图2中的方法例如在如操作系统(OS)140或者网关105的其他管理控制组件发起图1的调度器110(或者更具体地调度器逻辑)之后开始。然后,调度器110例如通过在步骤210中轮询VCB 120以获取多个媒体信道帧的状态来确定是否至少一个媒体流信道包括准备好进行处理的帧。
接下来,在图2的步骤S220中,如果至少一个媒体流信道包括准备好进行处理的帧,则调度器逻辑标识具有最高优先级的准备好进行处理的帧,如在步骤230中所示。如果没有帧准备好进行处理,则调度器逻辑返回步骤210,并且继续轮询VCB,直到至少一个接收到的帧准备好进行处理。
一旦已经标识了多个帧中的并且具有最高优先级的特定帧,该方法就移动到步骤240,其中,调度器逻辑调度所标识的帧来由例如处理引擎130的处理引擎进行处理。接下来,在步骤250中,调度器逻辑调用处理引擎130来处理所调度的帧。该方法然后返回步骤逻辑,并且调度器210针对准备好进行处理的其他帧来轮询VCB 130。
返回参考图1,并且根据本发明的一些实施例,调度器逻辑110通过初始化用于帧的处理的资源来调度该帧进行处理。例如,初始化用于帧的处理的资源可以包括,例如经由OS 140指示直接存储器存取(DMA)单元(未示出)来将帧数据加载到用于处理引擎130的存储器中。以该方式,DMA可以用于从例如相对慢但是大的外部存储器向相对快但是小的内部存储器传输帧数据。当该数据在内部存储器中时,执行帧数据的处理。一旦已经处理了帧数据,随后就可以将帧数据存储回外部存储器中。
由DMA加载到存储器中的帧数据可以包括用于处理引擎的持久数据,包括与帧与其相关的信道的上下文相关的数据。例如,处理引擎130可以包括用于处理视频帧的视频代码转换器。这样的视频代码转换器可能需要与针对该信道所处理的最后的帧相关的数据,以便于针对该信道来“代码转换”新的帧。
本领域的技术人员可以明白,DMA单元能够与在同一信号处理系统内的处理器的执行并行地进行运行。因此,并且根据本发明的一些实施例,可以使用两个存储器位置,处理引擎130被配置成处理来自该位置的帧。以该方式,在处理引擎130使用来自第一存储器位置的帧数据来处理帧的同时,DMA将用于要处理的后续的帧的帧数据装载在第二存储器位置中。
现在参考图3,流程图300图示了根据本发明的替代实施例的调度媒体流信道的方法。
以与用于图2的方法相同的方式,该方法例如在由如图1的操作系统(OS)140或者网关105的其他组件发起调度器逻辑之后开始。该调度器逻辑然后轮询VCB以获取媒体信道帧的状态,并且具体地以确定是否任何媒体流信道包括准备好进行处理的帧,如步骤310中所示。
接下来,在步骤320中,如果至少一个媒体流信道包括准备好进行处理的帧,则调度器逻辑110继续到步骤330,并且标识准备好进行处理并且具有最高优先级的帧。如果没有帧准备好进行处理,则调度器逻辑返回步骤310,并且继续轮询VCB 120直到至少一个帧成为准备好进行处理。在替代实施例中,如果没有帧准备好进行处理,则调度器可以在返回到步骤310以再次轮询VCB 120之前执行其他功能,诸如录入、计时器等。
一旦已经标识了具有最高优先级的帧,该方法就移动到步骤340,其中,调度器逻辑调度所标识的帧来由如图1的处理引擎130的处理引擎来进行处理。例如,调度器逻辑查看所标识的帧的帧数据(例如帧的信道的持久数据)是否已经被加载到内部存储器中来进行处理。如果所标识的帧的帧数据还没有被加载到存储器中,则调度器逻辑指示DMA单元将帧数据加载到存储器中。接下来,在步骤350中,调度器逻辑确定其他帧是否准备好进行处理。
如果一个或多个其他帧准备好进行处理,则该方法移动到步骤360,其中,调度器逻辑标识具有下一个最高优先级的准备好进行处理的其他帧。接下来,在步骤370中,调度器逻辑指示DMA单元将所标识的其他帧的帧数据加载到存储器中来处理该帧。调度器逻辑然后在步骤380中调用例如图1的处理引擎130的处理引擎,以便于使处理引擎来处理要处理的在步骤330中被标识别为具有最高优先级帧的帧。
返回参考步骤350,如果没有其他帧准备好进行处理,则该方法直接地移动到步骤380,其中,调度器逻辑调用处理引擎,以便于使处理引擎处理在步骤330中被标识为具有最高优先级帧的帧。
现在参考图4,图示了由如图1的调度器逻辑110和处理引擎130使用的用于信号处理操作的时间表400的图形表示,调度器逻辑110和处理引擎130由网关处理器410来执行。时间表400还指示根据本发明的实施例的由图1的网关处理引擎使用的用于存储器位置415、420的存储器位置活动。
所图示的时间表以由调度器逻辑执行的调度(SCH_main_loop)来在时间T0开始。如上所述,由图1的调度器逻辑使用的SCH_main_loop子例程针对准备好进行处理的帧来轮询VCB。一旦一个或多个帧准备好被处理,SCH_main_loop子例程标识和调度来处理被识别为具有最高优先级的准备好进行处理的帧(帧W)。然后,SCH_main_loop子例程确定是否其他帧准备好进行处理,并且如果如此,则调度器逻辑指示DMA单元将所标识的其他帧(帧X)的帧数据加载到存储器中。
在时间T1,SCH_main_loop子例程调用例如图1的处理引擎130的处理引擎,以便于使处理引擎处理被标识为要处理的具有最高优先级帧的帧(帧W)405。
信号处理器被配置成以比SCH_main_loop子例程更高的优先级来执行处理引擎。以该方式,当SCH_main_loop调用处理引擎时,信号处理器停止执行SCH_main_loop子例程,并且执行处理引擎。处理引擎基于在适当的存储器位置(其在该情况下在时间表中是存储器位置‘2’420)中所加载的帧数据来处理所调度的帧(帧W 405)。处理引擎可以在处理所调度的帧之前调用诸如在图1中的控制器150的控制器,以便于检索用于所调度的帧与其相关的特定信道的控制和配置消息。替代地,SCH_main_loop子例程可以调用和检索这样的控制和配置消息作为调度帧来进行处理的一部分,并且将它们递送到处理引擎。
如上所述,SCH_main_loop子例程确定了是否其他的帧准备准备好进行处理,并且如果如此,则指示DMA单元来将用于所标识的其他的帧(帧X)的帧数据加载到存储器中。因此,如图4中所示,在处理引擎处理来自位置‘2’420的帧W时,DMA单元存储来自存储器位置‘1’415的现有数据(如果它是有效数据),并且将用于下一个帧(帧X)的帧数据加载到存储器位置‘1’415中。
一旦处理引擎完成了处理帧W,则在时间T2,信号处理器恢复执行SCH_main_loop子例程。SCH_main_loop子例程然后返回,该过程针对下一个帧(帧X)等再次开始。
本领域的技术人员可以明白,通过针对帧的处理来将帧数据预加载在存储器中,在正在处理前一个帧的同时,处理引擎130在加载帧数据的同时在处理帧中不被延迟。因此,至少基于帧可用时间和针对每个帧所估计的处理时间来将准备好进行处理的帧优先来进行处理。例如,在本发明的一个实施例中,设想准备好进行处理的帧的优先级可以基于:
Pf=frame_delay-channel_processing_length
这里,通过调度器逻辑来测量frame_delay,并且frame_delay基本上等于在帧可用时间和当前时间之间的差。例如,如上所述,帧包括一个或多个数据分组。进入的数据分组被分类为队列或者缓冲器(VCB),并且在本发明的一个实施例中的每个信道都具有其自己的缓冲器。当网关接收到数据分组时,与数据分组一起存储其达到时间。当已经接收到构成帧的所有数据分组时,帧被认为是‘可用的’。该可用性被计算为构成帧的数据分组的最早到达时间。
在本发明的一个实施例中,网关必须测量从帧“可用”的时刻到当前时间的所度过的时间。假设这可以通过下述方法中的一个来完成:
(i)使用由每个信道所参考的全局计时器,
(ii)具有每个信道的专用计时器。
在该实施例中,计时器可以用于存储分组的接收时刻并且用于计算从该时刻开始的帧延迟。
对此的例外可以是当数据分组丢失并且帧不完整时。在帧的等待时间变成完全期满之后,即使帧不完整,它也被认为是“准备好进行处理”。等待时间期满时的时刻可以被认为是不完整的帧的可用时间。
‘channel_processing_length’值是基于用于每个帧处理排列的存储在存储器中的信息对处理帧所需要的时间长度的估计。例如,可以在时间段上测量用于每个帧处理排列的处理时间,并且可以在存储器中存储每个排列的平均值。从存储器中检索与对于该帧所需要的处理相对应的排列。可以连续地更新平均处理时间,以便于保持‘channel_processing_length’的尽可能准确的值。各种排列可以在参数上改变,诸如在视频媒体的情况下,输入和输出视频标准、图像大小等。
以该方式,不仅关于帧已经准备好进行处理达多长时间(并且由此关于其之前要处理的最后期限),而且关于可以多快地处理帧来优先帧的处理。以该方式,在需要大量处理的帧之前优先仅仅需要少量的处理的帧。因此,需要大量处理的帧将不耽误需要少量处理的帧,由此导致更大的信道密度,同时减少了通过网关的媒体流的时延。
本领域的技术人员可以明白,帧的处理可以包括,例如,下面的至少一个:
(i)将帧/数据分组的编码从一个标准改变到另一个:例如,在输入视频媒体流的情况下,将编码从诸如H.263的视频编解码标准改变为诸如H.264的视频编解码标准;
(ii)改变输入媒体流的帧速率;
(iii)改变输入媒体流的比特率;和/或
(iv)改变输入媒体流的帧大小;例如从诸如通用中间格式(CIF)的格式改变为诸如四分之一CIF(QCIF)的格式,所述通用中间格式(CIF)用于标准化在视频信号中的YCbCr序列(在视频和数字摄影系统中使用的色彩空间族)的像素中的水平和垂直分辨率。
根据本发明的替代实施例,在处理所调度的帧之前,可以重新估计该帧的时延。在该实施例中,如果时延超过时延阈值,例如如果所调度的帧的处理要在最后期限(需要在其之前处理所调度的帧)之后完成,则以‘紧急’模式来处理该帧。
例如,处理引擎可以包括代码转换器,其包括耦合的解码器和编码器。例如,在需要在帧变得可用之后的小于50毫秒内处理该帧,但是调度器逻辑确定了这在该帧没有完全被处理时不能实现,调度器逻辑可以指示处理引擎以‘紧急’模式来处理该帧。在‘紧急’模式中,仅代码转换器的解码器部分可以被配置成运行。因此,在这样的情况下,代码转换器解码进入的数据流,并且与源保持同步。然而,代码转换器将不编码该数据流。因此,将没有输出帧,但是将有帧“跳过”。当仅代码转换器的解码器部分运行时,信道需要较少的处理,将更快地完成,并且将更早地释放处理器来处理其他信道。因此,因为信道将过晚地完成处理,并且因此仅仅是浪费处理能力,所以将通过舍弃无论如何都注定失败的信道来解决拥塞时段。
在目的地,由于跳过的帧而导致在感知的质量上将有略微降低。然而,该在质量上的降低将小于当代码转换器失去与源的同步时的情况。以该方式,当系统过载时,提供了适当的降级。而且,因为减少了完成在‘紧急’模式中的处理的时间,所以可以在所需要的时间限制(例如在帧变得可用之后的50毫秒)内完成帧的处理,并且如此一来,信道保持与用于该信道的输入媒体流同步。
在本发明的一个实施例中,部分地通过仅仅编码在连续帧之间的差来执行视频编码。例如,可以完全编码帧‘1’(没有参考方面),然后使用参考帧‘1’和任何确定的差来编码帧‘2’。在该情况下,仅仅编码在两个帧之间的差。此后,可以参考帧‘2’来编码帧‘3’等等。然而,如果没有解码帧‘2’,则不能正确的重建帧‘3’。在该情况下,代码转换器将实际上失去与视频源的同步。该错误进行传播,直到视频源发送新的‘I’帧。
如上所述,用户在没有提供编码时执行解码仍然是有益的。例如,让我们考虑帧‘2’以紧急模式运行,并且如此一来它将不被编码,并且帧‘3’正常运行,并且如此一来它将被正确地解码(因为帧‘2’被解码并且存在于代码转换器中),并且因此将被编码。对于用户有益的是,即使没有看到‘帧2’被代码转换,也将正常地看到帧3和所有后续的帧。
进一步设想,可以基于用于该帧的信道历史,例如基于通过其以‘紧急’模式处理在信道内的帧的频率来进一步优先该帧。例如,可以通过下式来提供准备好进行处理的帧的优先级:
Pf=frame_delay-channel_processing_length+urgent_cnt
其中,‘urgent_count’包括帧信道的统计,例如,该信道的帧已经以紧急模式处理的次数。
以该方式,可以考虑以已经以紧急模式处理特定信道的帧的次数的形式的信道的历史。如此一来,因为以紧急模式处理的帧在视频帧的情况下可能不可见,因此不期望任何一个特定信道的帧比所需要的更频繁地以紧急模式来处理。因此,通过将信道历史因子并入帧的优先中,以紧急模式的帧的处理可以更均等地分布于在所有信道上,由此导致信道的更公平的处理。
根据本发明的另一个实施例,调度器逻辑可以基于帧的数据内容,例如基于媒体类型来优先要处理的帧。本领域的技术人员可以明白,在视频媒体的情况下,帧通常属于三类帧中的一个:I帧、P帧和B帧。
在这点上,仅仅使用空间信息来编码‘I’帧。该编码试图从帧本身消除任何冗余的信息。例如,如果存在包括如天空的图片(帧)的区域,则有可能在那个区域中的所有点基本上是相同的,并且因此可以大量地压缩该区域的信息。因为以该方式的压缩仅仅基于在该帧内的信息,因此可以在不需要关于先前或者后续的帧的信息来解码I帧。
而且,使用空间和时间信息来编码‘P’帧。以与用于‘I’帧相同的方式来使用空间信息。然而,时间信息指的是从在先前的帧所获得的信息。例如,在连续图片(帧)中出现的图像,即使在不同的位置出现也可以通过参考先前的帧来被编码。以该方式,‘P’帧仅能够在也可以获得所参考的先前的帧来被解码,并且如果‘P’帧仅存在其本身上则不能够被解码。
‘B’帧往往通常不被支持。然而,为了完整,‘B’帧使用先前的帧和后续的帧二者来作为参考以用于编码的目的。因此,‘B’帧仅仅能够在也可以获得被参考的先前的帧和后续的帧二者时被解码。
以该方式,在本发明的该实施例中,可以通过下式来提供准备好进行处理的帧的优先级:
Pf=frame_delay-channel_processing_length+Δframe_type
其中,Δframe_type是表示帧类型的参数,使得能够基于帧的类型来提高帧的优先级。例如,可以通过将用于‘I’帧的Δframe_type参数设置得比用于‘P’帧的Δframe_type参数更大来提供比‘P’帧更高的优先级。在该实施例中,设想Δframe_type参数可以是恒定的,或者替代地可以动态地改变。例如,Δframe_type参数可以根据业务拥塞而改变。以该方式,当存在受限的或者没有拥塞时,可以将Δframe_type参数设置得对于所有的帧类型基本上相同,使得基本上等同地处理所有的帧。然而,当存在大量的拥塞时,例如可以将用于I帧的Δframe_type参数设置得比用于P帧的更高,向I帧提供了更高的优先级。因此,当需要信道具有比其他信道更高的质量时,用于该信道的Δ可以被配置成大于由其他信道使用的Δ(例如,在该信道上的P帧将被配置成具有比其他信道的I帧和P帧更高的优先级)。
本领域的技术人员可以明白,调度器逻辑可以单独或者组合地基于上述准则的任何一个来优先要处理的帧。以该方式,可以通过下式来提供准备好进行处理的帧的优先级:
Pf=frame_delay-channel_processing_length+urgent_cnt+Δframe_type
根据本发明的替代实施例,调度器逻辑可以进一步包括中断逻辑,该中断逻辑可以定期由OS 140来调用。在该实施例中,中断逻辑可以通过定期地被调用来提供用于媒体处理的快速上下文切换。而且,中断逻辑还可以处理用于媒体信道的命令等。中断逻辑还可以在由信号处理器执行中被提供有比调度器逻辑和处理引擎二者更高的优先级。
返回参考图1,如上对于所说明的实施例所提及的,网关100包括控制器150。控制器150可以被配置成存储接收到的控制数据分组。例如,控制数据分组可以包括下面的至少一个:
用于调度器逻辑110的命令;
用于信道的命令;以及
实时控制协议(RTCP)数据分组。
因此,控制器150可以包括独立的命令队列(未示出)。例如,控制器150可以包括用于(或者每个)调度器逻辑110的队列、用于每个信道的信道命令队列和用于每个信道的RTCP队列。用于调度器逻辑110的命令可以包括,仅通过示例的方式,‘打开信道’命令、‘关闭信道’命令、‘改变信道状态’命令等。用于信道的命令可以以定制的格式来生成,和/或可以包括,仅通过示例的方式,诸如‘设置代码转换类型’和/或‘设置VCB配置’的配置消息、诸如‘获得VCB统计’的状态消息等。
图5图示了中断逻辑的示例性操作的流程图500。该流程图例如当由如图1的OS 140调用时开始,并且确定中断逻辑是否已经中断了帧的处理,如在步骤510中所示。如果在步骤510中还没有中断帧处理,则该流程图结束。另一方面,如果中断逻辑还没有中断帧的处理,则中断逻辑移动到步骤520,其中,它处理任何未解决的事件。例如,如上所述,网关可以包括控制器,该控制器存储接收到的控制分组。因此,在步骤520中,在该情况下,中断逻辑可以处理已经由控制器先前存储的任何接收到的控制数据分组。
在步骤520中已经处理了任何未解决事件时,中断逻辑的操作移动到步骤530,其中,确定是否任何帧准备好进行处理(除了处理被中断的帧之外)。如果没有帧准备好进行处理,则流程图并且因此中断逻辑的操作结束。
在本发明的一个可选实施例中,在确定是否任何帧准备好进行处理之前,在步骤530中,中断逻辑可以确定是否已经将帧数据加载到存储器中来进行处理(除了处理被中断的帧之外),如在步骤525中所示。如果是这种情况,则中断逻辑结束,并且不发生信道选择,如在步骤528中所示。
如果一个或多个帧准备好进行处理,则在步骤530中,中断逻辑的操作移动到步骤540,其中,它标识具有最高优先级的准备好进行处理的帧。接下来,在步骤550中,中断逻辑指示DMA单元将用于所标识的帧的帧数据加载到存储器中,并且此后流程图和中断逻辑的操作结束。
现在参考图6,图示了由如图1的调度器逻辑110和处理引擎130使用的用于信号处理操作的时间表600,调度器逻辑110和处理引擎130由网关处理器610来执行。虽然在图6中仅表示了DMA加载,但是可以设想,也存在DMA存储。例如,在完成帧‘W’的处理之后,在外部存储器中存储帧‘W’数据,并且在内部存储器中加载帧‘Y’的数据(在一个DMA链中)。
时间表600还指示根据本发明的实施例的由图1的网关处理引擎130使用的存储器位置615、620的存储器位置活动。特定地,在T3,存储器位置‘2’被加载有用于处理帧‘Y’的数据。然后,存储器位置被加载有帧‘Z’的数据,如图所示。该帧‘Z’数据的加载覆写了帧‘Y’的数据。因此,在T6,没有用于处理帧‘Y’的数据。
所图示的时间表在时间T0开始,其中运行SCH_main_loop子例程的调度器逻辑的主要功能由网关处理器610来执行。如上所述,SCH_main_loop子例程针对准备好进行处理的帧来轮询VCB。一旦一个或多个帧准备好进行处理,则调度器逻辑标识和调度来处理准备好进行处理并且具有最高优先级的帧(帧W)。SCH_main_loop子例程然后确定是否其他的帧准备好进行处理,并且如果如此,则指示DMA单元将用于所标识的其他帧(帧X)的帧数据加载到存储器中。
在本发明的一个实施例中,主调度器循环(SCH_main_loop子例程)可以被实现为来自所述系统的最低中断。在该实施例中,SCH_main_loop子例程可以包含从未存在的无限循环。因此,该实施方式使用操作系统的最低软件中断,并且一旦当系统启动时则被触发。在本发明的替代实施例中,当不使用操作系统时,设想可以直接地将该功能实现为子例程循环。
在时间T1,SCH_main_loop子例程调用例如图1的处理引擎130的处理引擎,以便于使处理引擎处理被标识为要处理的具有最高优先级的帧(帧W)。
在本发明的一个实施例中,处理引擎模块可以由调度器主循环(即SCH_main_loop子例程)来调用。在本发明的一个实施例中,处理引擎模块可以具有与调度器主循环相同的优先级。然而,在本发明的替代实施例中,设想处理引擎模块可以被实现为具有更高的优先级。以该方式,当SCH_main_loop子例程调用处理引擎时,信号处理器停止执行SCH_main_loop子例程,并且执行该处理引擎。处理引擎基于加载在适当的存储器位置(其在该情况下在时间表中是存储器位置‘2’620)中的帧数据来处理所调度的帧(帧W)。
还如上所述,SCH_main_loop子例程确定是否其他的帧准备好进行处理,并且如果如此,则指示DMA单元将用于所标识的其他帧(帧X)的帧数据加载到存储器中。因此,如图6中所示,在处理引擎处理来自存储器位置‘2’620的帧W的同时,DMA单元存储来自存储器位置‘1’615的现有数据(如果它是有效数据),并且将用于下一个帧(帧X)的帧数据加载到存储器位置‘1’615中。
一旦处理引擎完成了处理帧W,在时间T2,信号处理器就恢复执行SCH_main_loop子例程。SCH_main_loop子例程然后返回,并且该过程针对下一个帧(帧X)等再次开始。
对于在图6中图示的实施例,在处理引擎处理帧X的同时,调度器逻辑的中断逻辑(SCH_int)在时间T4由例如图1的OS 140来调用。如上所述,SCH_int子例程在由信号处理器执行中以较高的优先级进行操作。以该方式,当调用SCH_int子例程时,信号处理器停止执行处理引擎,并且执行SCH_int子例程。
SCH_int子例程处理任何未解决的事件,例如由图1的控制器150存储的任何命令,并且然后确定是否任何帧准备好进行处理(除了帧X之外)。例如,如在图6中所示,SCH_main_loop子例程已经预先将帧‘Y’标识为下一个准备好进行处理的帧。然而,例如由于帧‘Z’自从SCH_main_loop子例程的最后执行起已经变得可用,所以SCH_int子例程将帧‘Z’标识为具有最高优先级的准备好进行处理的帧。因此,SCH_int子例程指示DMA单元将用于帧‘Z’的帧数据加载到存储器中。SCH_int子例程然后结束,并且信号处理器恢复执行处理引擎130。
根据本发明的替代实施例,在确定是否任何帧准备好进行处理(除了用于所说明的实施例的帧X之外)之前,SCH_int子例程可以确定是否已经将帧数据加载到存储器(例如所说明的实施例的存储器位置‘2’)中。如果对于要处理的下一个帧已经将帧数据加载到存储器中,则SCH_int子例程结束。因此,对于在图6中图示的实施例,SCH_int子例程将标识帧‘Y’数据已经被加载到存储器位置‘2’中,并且将在不确定是否任何帧(例如帧‘Z’)准备好进行处理的情况下结束。
本领域的技术人员可以明白,通过定期地调用调度器的中断逻辑,可以提供用于媒体处理的快速上下文切换。而且,该机制还提供了定期处理接收到的命令的方法等。
可以理解,如上所述的用于调度媒体流信道的处理的方法和设备旨在提供下面的优点的一个或多个:
(i)更大的信道密度,同时通过改善要处理的帧的优先来减少通过网关的媒体流的时延;
(ii)通过定期或者不定期的中断操作的用于帧处理的快速上下文切换;
(iii)当系统过载时通过帧的‘紧急’模式处理的适当降级;以及
(iv)在要处理的帧的优先期间经由包括信道历史来更公平地处理信道。
可以明白,在不偏离在此所述的本发明的原理的情况下,可以使用在不同的功能或者逻辑单元或者控制器或者存储器元件之间的功能的任何适当分布。因此,对特定功能装置或者逻辑元件的参考仅仅被看作对用于提供所述功能的适当部件的参考,而不是指示严格的逻辑或者物理结构或者组织。
本发明的各方面可以以任何适当的形式来实现,包括硬件、软件、固件或者其任何组合。可以以任何适当的方式来物理地、功能地和逻辑地实现本发明的实施例的元件和组件。事实上,该功能可以在单个单元或者IC、在多个单元或者IC中实现,或者可以作为其他功能单元的一部分来实现。
可以明白,本发明的一些实施例可以包括一个或多个一般或专用处理器或者“处理装置”,诸如微处理器、数字信号处理器、定制处理器或者现场可编程门阵列(FPGA),其中,设想独特存储的程序指令可以控制一个或多个处理器来实现上述的用于调度媒体流信道的处理的方法和设备的一些或者所有功能。
而且,设想可以将本发明的实施例实现为计算机可读存储元件,其上存储了计算机可读代码,用于对处理装置进行编程来执行在此所述和在此要求保护的方法。这样的计算机可读存储元件的示例包括但是不限于,硬盘、CD-ROM、光存储装置、磁存储装置、ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可编程只读存储器)和闪速存储器。
虽然已经结合一些实施例描述了本发明的实施例,但是本发明不意在限于在此阐述的特定形式。相反,本发明的范围仅仅由所附权利要求来限制。另外,虽然特征似乎是结合特定实施例来描述的,但是本领域的技术人员可以认识到可以根据本发明来组合所述实施例的各个特征。在权利要求中,术语‘包括’不排除存在其他元件或者步骤。
而且,虽然可以在不同的权利要求中包括独立的特征,但是这些能够有利地进行组合,并且包括在不同的权利要求中不意指在不同的权利要求集中的特征的组合不是可行和/或有益的。而且,包括在一类权利要求中的特征不意指限于该类别,而是指示该特征在适当时等同于适用于其他权利要求类别。
而且,在权利要求中的特征的顺序不意指必须以其执行特征的任何特定顺序。特定地,在方法权利要求中的独立步骤的顺序不意指必须以该顺序来执行该步骤。相反,可以以任何适当的顺序来执行该步骤。另外,单数引用不排除多个。因此,对于“一”、“第一”、“第二”等的引用不排除多个。
因此,已经描述了包括解码器的改进的数据通信单元、数据通信网络和解码方法,其中,已经基本上减轻了与现有技术的配置相关联的上述缺点。
Claims (9)
1.一种调度分组流信道的处理的方法,包括:确定是否至少一个分组流信道包括准备好进行处理的帧(210);并且,如果至少一个分组流信道包括准备好进行处理的帧,则
标识具有最高优先级的准备好进行处理的帧(230)以及
调度所标识的最高优先级的帧来进行处理(240),
其中,所述方法的特征在于,基于至少下述来优先准备好进行处理的帧:
帧可用时间;以及
估计的由处理引擎处理每个帧的处理时间,
使得在较大的所估计的处理时间的帧之前优先较小的所估计的处理时间的帧。
2.一种调度分组流信道的处理的设备,该设备包括:
用于确定是否至少一个分组流信道包括准备好进行处理的帧的装置;以及
装置,用于如果至少一个分组流信道包括准备好进行处理的帧,则
标识具有最高优先级的准备好进行处理的帧(230)以及
调度所标识的最高优先级的帧来进行处理(240),
其中,基于至少下述来优先准备好进行处理的帧:
帧可用时间;以及
估计的由处理引擎处理每个帧的处理时间,
使得在较大的所估计的处理时间的帧之前优先较小的所估计的处理时间的帧。
3.一种用于调度分组流信道的处理的集成电路(105),其中,所述集成电路包括:
逻辑,所述逻辑用于确定是否至少一个分组流信道包括准备好处理的帧,并且如果至少一个分组流信道包括准备好进行处理的帧,则标识具有最高优先级的准备好进行处理的帧;以及
调度器逻辑,所述调度器逻辑可操作地耦合到用于确定的所述逻辑,并且被配置成调度所标识的最高优先级帧来进行处理,
其中,所述集成电路的特征在于,所述调度器逻辑被配置成基于至少下述来优先准备好进行处理的帧:帧可用时间;以及估计的由处理引擎处理每个帧的处理时间,
使得在较大的所估计的处理时间的帧之前优先较小的所估计的处理时间的帧。
4.根据权利要求3所述的集成电路(105),其特征进一步在于,所述调度器逻辑被配置成,计算准备好进行处理的帧的帧可用时间作为完成所述准备好进行处理的帧的数据分组的最早到达时间。
5.根据权利要求3或者权利要求4所述的集成电路(105),其特征进一步在于,所述调度器逻辑被配置成通过计算在所述帧可用时间和当前时间之间的差减去处理所述帧的时间长度的估计来优先准备好进行处理的帧。
6.根据权利要求3或4述的集成电路(105),其特征进一步在于,所述调度器逻辑被配置成,在调度帧之前,估计所述帧的时延,并且如果所述帧的所述时延超过时延阈值,则用较高的优先级来处理所述帧。
7.根据权利要求3或4所述的集成电路(105),其特征进一步在于,所述调度器逻辑被配置成基于下述的至少一个来进一步优先准备好进行处理的帧:
(i)用于那些帧的信道历史,
(ii)用于那些帧的数据内容,
(iii)用于那些帧的帧类型,
(iv)以较高的优先级处理在信道内的帧的频率。
8.根据权利要求3或4所述的集成电路(105),其特征进一步在于,所述集成电路进一步包括:多个信道缓冲器(120),所述多个信道缓冲器(120)被配置成接收和存储数据分组;其中,所述调度器逻辑被配置成,通过轮询所述多个信道缓冲器(120)来获得所述至少一个分组信道帧的状态,从而确定是否至少一个分组流信道包括准备好进行处理的帧。
9.一种通信单元,包括:根据权利要求3或4所述的集成电路。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2007/054302 WO2009053774A1 (en) | 2007-10-23 | 2007-10-23 | Method, integrated circuit, and communication unit for scheduling a processing of packet stream channels |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101836398A CN101836398A (zh) | 2010-09-15 |
CN101836398B true CN101836398B (zh) | 2013-06-19 |
Family
ID=39650567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007801012292A Expired - Fee Related CN101836398B (zh) | 2007-10-23 | 2007-10-23 | 调度分组流信道的处理的方法、集成电路和通信单元 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8401019B2 (zh) |
EP (1) | EP2206299B1 (zh) |
JP (1) | JP5198569B2 (zh) |
CN (1) | CN101836398B (zh) |
WO (1) | WO2009053774A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8619792B1 (en) * | 2009-01-13 | 2013-12-31 | Coherent Technical Services, Inc. | Selective multi-modal transmission alteration |
CN102093127B (zh) * | 2010-12-09 | 2013-05-29 | 福建省农业科学院土壤肥料研究所 | 玻璃基质型缓释复合肥料及其制备方法 |
US20130051257A1 (en) * | 2011-08-31 | 2013-02-28 | International Business Machines Corporation | Scheduling of Packets at Cellular Base Stations |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0989770A1 (en) * | 1998-09-22 | 2000-03-29 | Fujitsu Limited | Packet transfer control apparatus and scheduling method therefor |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08288952A (ja) * | 1995-04-17 | 1996-11-01 | Nippon Telegr & Teleph Corp <Ntt> | パケット中継方法及び装置 |
JP3045147B2 (ja) * | 1998-07-08 | 2000-05-29 | 日本電気株式会社 | 移動通信用データ中継装置 |
US6728265B1 (en) * | 1999-07-30 | 2004-04-27 | Intel Corporation | Controlling frame transmission |
US6975629B2 (en) | 2000-03-22 | 2005-12-13 | Texas Instruments Incorporated | Processing packets based on deadline intervals |
US7140016B2 (en) * | 2000-11-29 | 2006-11-21 | Texas Instruments Incorporated | Media accelerator quality of service |
FR2852760A1 (fr) | 2003-03-21 | 2004-09-24 | Cit Alcatel | Transmission de paquets en fonction de leur temps total de traitement |
US20040252761A1 (en) * | 2003-06-16 | 2004-12-16 | Dilithium Networks Pty Limited (An Australian Corporation) | Method and apparatus for handling video communication errors |
US7324522B2 (en) * | 2003-09-18 | 2008-01-29 | Raytheon Company | Encapsulating packets into a frame for a network |
GB2415335B (en) | 2004-06-15 | 2007-09-26 | Toshiba Res Europ Ltd | Wireless terminal dynamically programmable proxies |
US8438572B2 (en) | 2006-03-15 | 2013-05-07 | Freescale Semiconductor, Inc. | Task scheduling method and apparatus |
-
2007
- 2007-10-23 CN CN2007801012292A patent/CN101836398B/zh not_active Expired - Fee Related
- 2007-10-23 US US12/738,421 patent/US8401019B2/en active Active
- 2007-10-23 WO PCT/IB2007/054302 patent/WO2009053774A1/en active Application Filing
- 2007-10-23 EP EP07826833.1A patent/EP2206299B1/en not_active Not-in-force
- 2007-10-23 JP JP2010530570A patent/JP5198569B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0989770A1 (en) * | 1998-09-22 | 2000-03-29 | Fujitsu Limited | Packet transfer control apparatus and scheduling method therefor |
Also Published As
Publication number | Publication date |
---|---|
US8401019B2 (en) | 2013-03-19 |
EP2206299B1 (en) | 2016-05-04 |
EP2206299A1 (en) | 2010-07-14 |
JP5198569B2 (ja) | 2013-05-15 |
WO2009053774A1 (en) | 2009-04-30 |
JP2011501600A (ja) | 2011-01-06 |
CN101836398A (zh) | 2010-09-15 |
US20100226386A1 (en) | 2010-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101370478B1 (ko) | 멀티미디어 전화 통신을 위한 컨텐트- 및 링크-의존 코딩 적응 구조 | |
EP2083596B1 (en) | Method and system for flow control between a base station controller and a base transceiver station | |
CN101491138B (zh) | 压缩延迟分组传输调度 | |
CN101523822B (zh) | 语音传输装置 | |
CN105579998B (zh) | 实时流量传送系统和方法 | |
US7142525B2 (en) | Data transmission system | |
CN101707551B (zh) | 一种数据的传输方法及装置 | |
EP2789142A1 (en) | Progressive download prioritisation | |
CN103583028A (zh) | 多路径速率自适应 | |
CN106027480B (zh) | 用于控制话音质量的方法和设备 | |
CN103975630A (zh) | 使用无线广域网协议信息来管理处理器的性能水平 | |
CN101836398B (zh) | 调度分组流信道的处理的方法、集成电路和通信单元 | |
CN102918911B (zh) | 处理通信网络中的队列的方法和系统、相应的计算机程序产品 | |
US20030076793A1 (en) | Robust vocoder rate control in a packet network | |
CN103582149A (zh) | Volte的资源调度方法及装置 | |
CN104081746A (zh) | 使用智能聚集的低等待时间wifi显示 | |
CN109196839A (zh) | 管理用于速率调步的缓冲器的设备和方法 | |
US8661078B2 (en) | Application of unreliable transfer mechanisms | |
US20230342194A1 (en) | Method, apparatus and computer program | |
CN114007109A (zh) | 混流转码处理方法及其装置、设备、介质、产品 | |
Roy et al. | An information theoretic framework for predictive channel reservation in VoIP over GPRS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130619 Termination date: 20171023 |