移动电视网络的频道排程方法转让专利

申请号 : CN201010167204.6

文献号 : CN102238429B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 锺兴龙

申请人 : 宏碁股份有限公司

摘要 :

本发明提供一种移动电视网络的频道排程方法。此频道排程方法包括下列步骤。定义多个频道的比特率,其中这些频道对应不同比特率。定义脉冲的比特率以计算多个键值,其中这些键值对应这些频道。依据这些键值并经由算法构建二元树,其中二元树的多个叶节点对应这些频道。依据每一叶节点至二元树的根节点的路径排列这些频道的多个脉冲期间,其中每一脉冲期间用以传送脉冲。据此,可提高电视频道的编码效率及网络频宽的使用效率。

权利要求 :

1.一种移动电视网络的频道排程方法,包括:

定义多个频道的比特率,其中所述频道对应不同比特率;

定义一脉冲的比特率以计算多个键值,其中所述键值对应所述频道;

依据所述键值并经由一算法构建一二元树,其中该二元树的多个叶节点对应所述频道,该脉冲的比特率大小为所述频道中比特率最小者,并且每一所述键值为对应的频道的比特率与该脉冲的比特率的比值;以及,依据每一所述叶节点至该二元树的一根节点的路径排列所述频道的多个脉冲期间,其中每一所述脉冲期间用以传送该脉冲;

其中,该算法包括:

定义多个节点并存放至一队列中,其中所述节点对应所述频道;

取出该队列中的两个第一节点,其中所述第一节点所对应的键值为该队列中最小者;

依据所述第一节点定义一内部节点,其中所述第一节点至少其一为该内部节点的子节点,并且非该内部节点的子节点的第一节点存放回该队列;

将该内部节点存放至该队列;以及,

当该队列的节点数为一时,该队列中的节点为该二元树的该根节点。

2.根据权利要求1所述移动电视网络的频道排程方法,其中依据所述第一节点定义该内部节点的步骤包括:当所述第一节点所对应的键值相同时,所述第一节点为该内部节点的子节点,且该内部节点所对应的键值为所述第一节点的键值的总和;以及,当所述第一节点所对应的键值不同时,依据键值较小者的第一节点定义一假节点,该假节点及键值较小者的第一节点为该内部节点的子节点,该内部节点所对应的键值为该假节点的键值及键值较小者的第一节点的键值的总和。

3.根据权利要求2所述移动电视网络的频道排程方法,其中该假节点对应的键值相同于所述第一节点中键值较小者。

4.根据权利要求1所述移动电视网络的频道排程方法,其中该根节点对应的比特率小于或等于该移动电视网络的频宽。

5.根据权利要求1所述移动电视网络的频道排程方法,其中所述频道依据其比特率由小至大依序排列。

6.根据权利要求5所述移动电视网络的频道排程方法,其中每一所述频道的比特率为所述频道中比特率最小者的二的i-1次方倍,i为每一所述频道的频道数。

说明书 :

移动电视网络的频道排程方法

技术领域

[0001] 本发明是有关于一种排程方法,且特别是有关于一种移动电视网络的频道排程方法。

背景技术

[0002] 目前IP-Based移动电视系统所提供的串流服务,是以广播(broadcast)或群播(multicast)方式透过实时传输协议(Real-time Transport Protocol,RTP)来将具有时基(time-based)的影音串流、互动服务(interactiveservice)或提示服务(notification service)传送给移动电视客户端装置。
[0003] 根据数字视讯手持广播(Digital Video Broadcasting-Handheld,DVB-H)的标准,其提供了一个电视频道的传送方法,其主要是给予每一个网络帧(frame)一个脉冲(burst)。其中,每一个网络帧传送一个电视频道所传递的影像内容,并且每一个脉冲会指出下一个脉冲出现的传送时间。当行动装置接收到脉冲后,便会接收脉冲所对应的网络帧所传送的信息,并在接收完毕后关闭射频(radio frequency,RF)电路,直到接收到下一次脉冲出现才会再次启动射频电路,以此可节省电力消耗。
[0004] 由于每一个频道所传递的节目类型可能会不同,因此每一个电视频道所需的比特率(bit rate)会对应其节目类型而不一样,例如体育性节目所需要的比特率较谈话性节目来得高。因此,上述脉冲的方式并不能推测电视频道的比特率。并且,在对每一电视频道编码时,则使用相同的比特率来进行编码,其中比特率会以所有电视频道中最大者为准,以使每一个电视频道都能被编码。依据上述,由于每一频道所需的比特率不同,若被编码的电视频道不是比特率最大的电视频道,则会浪费网络频宽来放置无信息的部份。再者,对无信息的部份进行编码只会浪费时间,并且会降低编码的效率。

发明内容

[0005] 本发明提供一种移动电视网络的频道排程方法,可以提高电视频道的编码效率,并且提高移动电视网络的频宽使用效率。
[0006] 本发明提出一种移动电视网络的频道排程方法,其包括:定义多个频道的比特率,其中这些频道对应不同比特率;定义脉冲(burst)的比特率以计算多个键值,其中这些键值对应这些频道;依据这些键值并经由算法构建二元树(binary tree),其中二元树的多个叶节点对应这些频道;依据每一叶节点至二元树的根节点的路径排列这些频道的多个脉冲期间(burst during),其中每一脉冲期间用以传送脉冲。
[0007] 在本发明一实施例中,上述算法包括:定义多个节点并存放至队列中,其中这些节点对应这些频道;取出队列中的两个第一节点,其中这些第一节点所对应的键值为队列中最小者;依据这些第一节点定义内部节点,其中至少一个第一节点为内部节点的子节点,并且非内部节点的子节点的第一节点存放回队列;将内部节点存放至队列;当队列的节点数为一时,队列中的节点为二元树的根节点。
[0008] 在本发明一实施例中,上述依据这些第一节点定义内部节点的步骤包括:当这些第一节点所对应的键值相同时,这些第一节点为内部节点的子节点,且内部节点所对应的键值为这些第一节点的键值的总和;当这些第一节点所对应的键值不同时,依据键值较小者的第一节点定义假节点,假节点及键值较小者的第一节点为内部节点的子节点,内部节点所对应的键值为假节点的键值及键值较小者的第一节点的键值的总和。
[0009] 在本发明一实施例中,上述假节点对应的键值相同于这些第一节点中键值较小者。
[0010] 在本发明一实施例中,上述根节点对应的比特率小于或等于移动电视网络的频宽。
[0011] 在本发明一实施例中,上述脉冲的比特率大小为这些频道中比特率最小者。
[0012] 在本发明一实施例中,上述每一键值为对应的频道的比特率与脉冲的比特率的比值。
[0013] 在本发明一实施例中,上述这些频道依据其比特率由小至大依序排列。
[0014] 在本发明一实施例中,上述每一频道的比特率为这些频道中比特率最小者的二的i-1次方倍,i为每一频道的频道数。
[0015] 基于上述,本发明的移动电视网络的频道排程方法,其依据每一电视频道的比特率进行编码,以此提高电视频道编码的效率。并且,在译码时会依据每一电视频道的比特率进行,以此可避免译码时功耗的浪费。此外,依据每一频道的键值并经由算法构建二元树,依据对应每一电视频道的叶节点至根节点的路径排列每一电视频道所分配到的脉冲期间,以此可避免脉冲的冲突。
[0016] 为让本发明上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。

附图说明

[0017] 图1为本发明一实施例的算法的流程图。
[0018] 图2A至图2H为本发明一实施例的二元树建立示意图;
[0019] 图3为本发明一实施例的脉冲期间配置示意图;
[0020] 图4为本发明一实施例的移动电视网络的频道排程方法的流程图。
[0021] 附图标记说明
[0022] 210、220、230、250、260、270、280:节点;
[0023] 240:队列;
[0024] BT0~BT7:脉冲;
[0025] S110、S120、S130、S140、150、160、S410、S420、S430、S440:步骤。

具体实施方式

[0026] 在本实施例中,假设移动电视网络中的每个电视频道都对应一个比特率(bit rate),并且每一电视频道所传送的节目的比特率会小于或等于每一电视频道所对应的比特率。举个例来说,若是电视频道对应的比特率为200k,则此电视频道所传送的电视节目的比特率会小于或等于200k,例如190k、180k...等。并且,在此定义第i个电视频道ti对应i-1的比特率等于2 ×r1,其中i为一正整数,并且r1为可定义的最小比特率。
[0027] 由上述可归纳出一个规律性,就是对于全部的电视频道而言,可依照其比特率的高低来排列顺位。换言之,以比特率而言,电视频道t1≤t2≤...≤tT,其中T为一正整数且为最大的频道数,并且电视频道t1~tT的比特率小于移动电视网络的频宽。由于电视频道t1的比特率为电视频道t1~tT的比特率中最小者,因此电视频道t1的比特率为最小比特率r1。
[0028] 此外,为了充分利用移动电视网络的频宽,可定义移动电视网络的频宽为电视频道t1~tT的比特率的总和,亦即无线网络的频宽 但是为了电视频道的信息可以完全传送,可定义移动电视网络的频宽会大于或等于电视频道t1~tT的比特率的总和,亦即移动电视网络的频宽 并且,可用脉冲(burst)的数量来来作为判断电视频道比特率的依据,如以最小比特率r1作为一个脉冲的比特率大小,则电视频道ti的比特率/电视频道t1的比特率=电视频道ti具有的脉冲数量,并且每个电视频道的键值(key)会等于每个频道的脉冲数量,以键值作为判断每个电视频道比特率的依据。
[0029] 接着,在本发明的实施例会提供一算法,此算法会依据上述每个频道的键值建立一个二元树(binary tree),并且二元树的叶节点分别代表一个电视频道。图1为本发明一实施例的算法的流程图。请参照图1,在此算法中,会先定义多个节点,并且将上述节点会被放入一队列(queue)中(步骤S110),其中这些节点会分别对应电视频道t1~tT,并且每个节点的键值即对应电视频道的键值。
[0030] 接着,算法会从队列中取出两个键值最小的节点(即第一节点)(步骤S120),并依据此两个节点产生定义一个内部节点(步骤S130),其中被取出的两个节点至少其一为内部节点的子节点,亦即此内部节点为一父节点,并且此内部节点的键值为其子节点的键值的总和。并且,在被取出的两个节点中,非此内部节点的子节点的节点亦会存放回队列。
[0031] 当内部节点完义完成后,则内部节点会被存放至队列中(步骤S140)。若队列中的节点为两个以上(包含两个)时(步骤S150),再从队列中取出两个键值最小的节点(步骤S120),并依据上述步骤S130及S140产生一个父节点(即另一内部节点)并存放至队列中。当队列中剩余一个节点时(步骤S150),则停止运算,且队列中最后剩余的一个节点则会被视为根(root)节点,即队列中的最后剩余的一个节点为二元树的根节点(步骤S160),以此完成上述二元树建立。
[0032] 举例来说,假设目前有电视频道t1、t2及t3,并且电视频道t1、t2及t3的比特率分别为200k、400k及800k位/秒(bits per second,bps)。在此以电视频道t1的比特率作为一个脉冲的大小,亦即脉冲的比特率为200kdps。依据上述,电视频道t1的键值为1(即200k/200k),电视频道t2的键值为2(即400k/200k),电视频道t3的键值为4(即
800k/200k)。
[0033] 图2A至图2H为本发明一实施例的二元树建立示意图。请依序参照图2A至图2H,本实施例的算法会先定义节点210、220及230,并将节点210、220及230存放至队列240中,其中节点210、220及230分别对应电视频道t1、t2及t3,亦即节点210、220及230的键值分别为1、2及4。接着,本实施例的算法会先取出键值为1的节点210及键值为2的节点220。由于节点210及220的键值不同,此时键值较大的节点220会再存放回队列240中,并且依据节点210定义假节点250,其中假节点250的键值为1。
[0034] 接着,定义内部节点260作为节点210及假节点250的父节点,并且将内部节点260存放至队列240中,其中内部节点260的键值为2(即1+1)。此时,队列240中有键值为2的节点220、键值为4的节点230及键值为2的内部节点260。由于队列240中的节点数大于2,因此会再从队列240中取出键值为2的节点220及内部节点260。由于节点220的键值相同于内部节点260,因此会依据节点220及内部节点260定义内部节点270,并且将内部节点270存放至队列240中,其中内部节点270为节点220及内部节点260的父节点,并且内部节点270的键值为4(即2+2)。
[0035] 此时,队列240中有键值为4的节点230及内部节点270,因此节点230及内部节点270会被取出,据此定义内部节点280并存放回队列240中,其中内部节点280为节点230及内部节点270的父节点,并且内部节点280的键值为8(即4+4)。此时,队列240中只剩一个节点(即内部节点280),因此键值为8的内部节点280即为二元树的根节点。并且,依据上述各节点的关系可形成包含对应电视频道t1、t2及t3的节点的二元树,此二元树如图2H所示,并且对应电视频道t1、t2及t3的节点为此二元树的叶(leaf)节点。以比特率来看,内部节点280(即根节点)的比特率会大于电视频道t1、t2及t3的比特率的总和,因此内部节点280所对应的比特率可等于移动电视网络的频宽。或者,内部节点280所对应的比特率亦可小于移动电视网络的频宽。
[0036] 接着,为了防止脉冲冲突,我们经由移动电视网络的频宽R除以脉冲大小来取得一个网络帧中的脉冲的总数量,并且内部节点280的键值可等于或小于一个网络帧中脉冲的总数量。并且,可利用上述算法所构建的二元树决定每个脉冲的脉冲期间(burst during)。请参照图2H,以图2H的二元树为例,并假设每一节点的左分支对应的二进制数为0,每一节点的右分支对应的二进制数为1。
[0037] 以电视频道t1而言,电视频道t1的键值为1,亦即在一个网络帧中电视频道t1分配到1个脉冲。并且,对应电视频道t1的节点210至根节点(即内部节点280)的路径为011,因此电视频道t1分配到的脉冲期间为网络帧中第4个脉冲期间(此因二进制数由000开始),如图3所示,电视频道t1分配到对应脉冲BT3的脉冲期间。以电视频道t2而言,电视频道t2的键值为2,亦即在一个网络帧中电视频道t2分配到2个脉冲。并且,对应电视频道t2的节点220至根节点280的路径为01。由于图2H所示二元树的深度为3,因此电视频道t2应取得3位数的二进制数才能对应至脉冲期间,在此于不足之处的高位处补X,其中X可以为0或1。据此,对应电视频道t2的二进制数应为X01,因此电视频道t2分配到的脉冲期间为网络帧中第2(即001)及6(即101)个脉冲期间,如图3所示,电视频道t2分配到对应脉冲BT1及BT5的脉冲期间。
[0038] 以电视频道t3而言,电视频道t3的键值为4,亦即在一个网络帧中电视频道t3分配到4个脉冲。并且,对应电视频道t3的节点230至根节点280的路径为0。同样地,由于二元树的深度为3,因此对应电视频道t3的二进制数应为XX0,因此电视频道t2分配到的脉冲期间为网络帧中第1(即000)、3(即010)、5(即100)及7(即110)个脉冲期间,如图3所示,电视频道t2分配到对应脉冲BT0、BT2、BT4及BT6的脉冲期间。依据上述,电视频道t1~t3所分配到的脉冲期间不会重叠,以此可防止脉冲冲突,并且可排序电视频道t1~t3所使用的脉冲,可降低网络频宽的浪费。再者,电视频道t1~t3会对应其比特率进行编码,因此可提高编码的效率及降低译码的功耗。
[0039] 值得一提的是,上述实施例中每一节点的左分支对应的二进制数为0,每一节点的右分支对应的二进制数为1。但在其它实施例中,每一节点的左分支对应的二进制数可以为1,每一节点的右分支对应的二进制数可以为0。并且,可依据上述说明,依据对应每一频道的节点至根节点的路径决定每一频道的脉冲期间。
[0040] 依据上述,可汇整为一移动电视网络的频道排程方法。图4为依据本发明一实施例的移动电视网络的频道排程方法的流程图。请参照图4,首先定义多个电视频道的比特率(步骤S410)。并且,定义脉冲的比特率以计算每一电视频道的键值(步骤S420)。接着,依据每一频道的键值并经由算法构建二元树(步骤S430)。最后,依据对应每一电视频道的叶节点至二元树的根节点的路径排列每一电视频道所分配到的脉冲期间(步骤S440)。其中,各步骤的细节可参照上述说明,在此则不再赘述。
[0041] 综上所述,本发明实施例的移动电视网络的频道排程方法,其依据每一电视频道的比特率进行编码,以此提高编码的效率。并且,在译码时会依据每一电视频道的比特率进行,以此可避免译码时功耗的浪费。此外,依据每一频道的键值并经由一算法构建二元树,依据对应每一电视频道的叶节点至根节点的路径排列每一电视频道所分配到的脉冲期间,以此可避免脉冲的冲突。
[0042] 虽然本发明已以实施例描述如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明精神和范围内,都可作些许更动与润饰,故本发明保护范围当以权利要求书为准。