CN110166824B - 基于机顶盒的电视直播切换台方法及系统 - Google Patents
基于机顶盒的电视直播切换台方法及系统 Download PDFInfo
- Publication number
- CN110166824B CN110166824B CN201910546314.4A CN201910546314A CN110166824B CN 110166824 B CN110166824 B CN 110166824B CN 201910546314 A CN201910546314 A CN 201910546314A CN 110166824 B CN110166824 B CN 110166824B
- Authority
- CN
- China
- Prior art keywords
- program
- adjacent
- target
- target program
- output layer
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 11
- 238000005457 optimization Methods 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 8
- 239000000872 buffer Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26283—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for associating distribution time parameters to content, e.g. to generate electronic program guide data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4343—Extraction or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了基于机顶盒的电视直播切换台方法及系统,将解码器和显示控制器均设有多条对应通路,将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表;根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组;利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中,目标节目的输出层设为最上层且不透明,相邻节目组中的各节目的输出层设为透明;利用显示控制器合成各输出层得到一层输出层,将一层输出层发送给帧显存并显示。在切换台时,将目标节目的输出层从透明变为最上层且不透明,并将相邻节目组中的各节目的输出层设为透明,实现快速切换节目,达到无缝切换台效果。
Description
技术领域
本申请涉及机顶盒技术领域,尤其涉及基于机顶盒的电视直播切换台方法及系统。
背景技术
机顶盒是一个连接电视机与外部信号源的设备,它可以将压缩的数字信号转成电视内容,并在电视机上显示出来。现在常用的机顶盒包括有线机顶盒、IPTV机顶盒和OTT机顶盒。IPTV/OTT机顶盒的主要业务是直播,直播过程中,用户可以根据自己的喜好随意切换节目频道。当用户需要切换频道时,能否快速、准确的切换频道成了影响用户体验的重要指标。为了确保用户有个较好的频道切换体验,IPTV/OTT机顶盒应尽可能缩短切换频道的时间,提高切换速率。
目前提高IPTV/OTT机顶盒快速切换台的方法:首先,对节目列表按频点做优化排列;其次,对用户选择的节目信息进行解码处理并显示;再次,将与用户选择的节目在同一频点的其他节目也进行后台处理,并将处理后的节目数据保存于存储器中;最后,当用户切换到上述已处理过的其中一个节目时,从存储器中直接读取该节目信息并显示。
由于后台处理同一节目频点的多个节目时需要多个解码器,而IPTV/OTT机顶盒通常只有一个解码器。因此,在对多个节目进行处理时,需要利用这一个解码器分别对各个节目依次进行解码,并将解码后的节目信息保存于存储器的对应空间内。在切换节目时从存储器中读取解码后的节目信息,再将经过显示处理器处理后的节目发送给电视显示。在读取存储器中的数据和显示处理器处理数据均需要花费一定时间,使得机顶盒在切换频道时等待时间较长,机顶盒的切换台速度较慢,无法达到电视画面平滑切换的无缝切换台效果。因此,亟需基于机顶盒的电视直播切换台方法及系统。
发明内容
本申请提供了基于机顶盒的电视直播切换台方法及系统,以解决现有机顶盒切换台方法的切换速率低的技术问题。
为了解决上述问题,本申请提供以下的技术方案:
基于机顶盒的电视直播切换台方法,机顶盒包括物理内存、解码器和显示控制器,物理内存、解码器和显示控制器均设置有多条对应通路,方法包括:将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表;根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组,目标节目为机顶盒开机后第一次播放的节目或切换台时的新节目,相邻节目组由连续分布在目标节目两侧且距离目标节目近的节目组成,相邻节目组的个数小于所述通路个数;利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中,其中,目标节目的输出层设为最上层且不透明,相邻节目组中的各节目的输出层设为透明;利用显示控制器合成各输出层得到一层输出层,并将一层输出层发送给帧显存并显示。
可选地,通路个数是由机顶盒最高解码码率与直播节目码率的比值确定的最大整数。
可选地,根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组,包括:若目标节目是机顶盒开机后第一次播放的节目,则根据通路个数,从新直播节目列表中选择与目标节目具有相同编码格式的相邻节目组;将目标节目、以及在新直播节目列表中与目标节目具有相同编码格式的所述相邻节目组,发送给解码器。
可选地,根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组,包括:若目标节目不是机顶盒开机后第一次播放的节目,且目标节目未解码,则根据通路个数,从新直播节目列表中选择与目标节目具有相同编码格式的相邻节目组;将目标节目、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组,发送给解码器。
可选地,根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组,包括:若目标节目不是机顶盒开机后第一次播放的节目,且目标节目已解码,则停掉相邻节目组中与所述目标节目远的节目;根据所述通路个数,从新直播节目列表中选择与目标节目具有相同编码格式且距离目标节目近的未解码节目加入到相邻节目组中,并将相邻节目组发送给解码器。
可选地,将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表,包括:从服务器中下载EPG电子节目指南,获取直播节目列表;解析直播节目列表中的所有节目的编码格式和分辨率;将直播节目列表中的相同编码格式的所有节目依次进行排序,得到新直播节目列表。
可选地,根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组,包括:从新直播节目列表中获取目标节目、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组,并下载对应的音视频数据;将对应的音视频数据解析为PES数据,并将PES数据添加索引;将添加索引后的PES数据发送给解码器。
可选地,利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中,包括:利用解码器通过时分复用将添加索引后的PES数据解码为YUV数据;YUV数据经过显示控制器做缩放、画质优化和音频同步处理后,发送至显示控制器中的各输出层中。
基于机顶盒的电视直播切换台系统,包括:排序模块,用于将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表;获取模块,用于根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组,目标节目为机顶盒开机后第一次播放的节目或切换台时的新节目,相邻节目组由连续分布在目标节目两侧且距离目标节目近的节目组成,相邻节目组的个数小于所述通路个数;解码模块,用于利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中;解码模块包括设置子模块,用于将目标节目的输出层设为最上层且不透明,相邻节目组中的各节目的输出层设为透明;合成及显示模块,用于利用显示控制器合成各所述输出层得到一层输出层,并将一层输出层发送给帧显存并显示。
有益效果:本申请提供了基于机顶盒的电视直播切换台方法,将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表。由于解码器可以同时解码多路节目,可以根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组。由于解码器可以同时解码输出多路节目,可以利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中。由于显示控制器可同时将合成多路节目,可以利用显示控制器合成各输出层得到一层输出层,并将一层输出层发送给帧显存并显示。由于,目标节目为切换台时的新节目,且目标节目已解码,切换台时,只需要将目标节目的输出层从透明变为最上层且不透明,并将相邻节目组中的各节目的输出层设为透明,即可实现节目切换,提高切换台速度,从而达到电视画面平滑切换的无缝切换台效果。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为申请提供的基于机顶盒的电视直播切换台方法的流程示意图;
图2为申请提供的基于机顶盒的电视直播切换台系统的结构示意图;
图3为申请提供的新直播节目列表的获取方法的流程示意图;
图4为申请提供的将相同编码格式的节目发送给解码器的流程示意图;
图5为申请提供的解码器将解码后节目发送给显示控制器的输出层的流程示意图;
图6为申请提供的节目列表优化和解码节目列表变换情况的示意图。
具体实施方式
参见图1,为本申请提供的基于机顶盒的电视直播切换台方法的流程示意图,可知,本申请提供了基于机顶盒的电视直播切换台方法,机顶盒包括物理内存、解码器和显示控制器,将物理内存、解码器和显示控制器均设置有多条对应通路。本申请中,根据通路个数,利用解码器同时解码几路节目。
直播是IPTV/OTT机顶盒的主要业务,用户切换台速度为用户体验关键性指标之一。由于现有IPTV/OTT机顶盒支持播放4K节目,而运营商提供的4K直播节目比较少,在播放非4K节目时只用到了很少部分的硬件资源,这部分空闲的资源可以利用起来。现有IPTV/OTT机顶盒最高解码能力为一般都达到4K60P。
IPTV/OTT机顶盒在直播中一般使用http/hls等TCP协议作为传输节目,根据TCP协议的特性,可以同时下载很多路节目的数据到机顶盒。通路个数的确定是由机顶盒最高解码码率和直播节目码率决定的,具体计算为通路个数是由机顶盒最高解码码率与直播节目码率的比值确定的最大整数。例如:IPTV/OTT机顶盒的解码器为4K解码器,直播节目为1080P30的片源,那么由最高解码码率(4096*2160*60)/直播节目码率(1920*1080*30)确定的最大整数为8,即一个4K解码器解码1080P30片源的通路个数为8。如果节目的分辨率低于1080P30,则可以解码更多路。如果有第二路解码器,则可以解码更多节目。在播放1080P30的节目时,可以将4K解码器的4K输入PES(Packet Elementary Stream)Buffer(物理内存缓冲区)、4K解码Buffer(解码器缓冲区)和4K输出显示层VO Buffer(显示控制器缓冲区)分成8路,每一路使用一个对应的Buffer,例如PES[0]→YUV[0]→VO[0]、PES[1]→YUV[1]→VO[1]等8个通路,其中,YUV为解码器解码后的数据的一种颜色格式,各个Buffer均为连续的物理地址,可以做DMA(Direct MemoryAccess直接内存存取)。这样可以利用有限的硬件资源,在只有一个解码器的情况下,实现多路节目的同时解码输出。
基于机顶盒的电视直播切换台方法如下:
S01:将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表。
参见图3,为本申请提供的新直播节目列表的获取方法的流程示意图,可知,新直播节目列表的获取方法,如下:
S011:从服务器中下载EPG电子节目指南,获取直播节目列表。
S012:解析直播节目列表中的所有节目的编码格式和分辨率。
常见的音视频数据的编码格式为MPEG和H264。由于一个解码器只能同时解码几个相同编码格式的节目,对于不同编码格式的节目,切换台时,需要重新初始化解码器。重新初始化解码器并解码数据,无形中增加了下载数据并解码数据的时间,使得切换台速度缓慢。
S013:将直播节目列表中的相同编码格式的所有节目依次进行排序,得到新直播节目列表。
从EPG中拿到的节目列表,编码格式为乱序状态,将它优化为以相同编码格式排列在一起的有序状态,便于IPTV/OTT机顶盒在只有一个解码器资源时能解码相同编码格式的音视频PES数据。参见图6,为申请提供的节目列表优化和解码节目列表变换情况的示意图,可知,从EPG拿到节目列表为不同编码格式的节目1-17,优化后MPEG的节目排在前面(节目1、4、5、7、9、10、12、13、16和17),H264的节目排在后面(节目2、3、6、8、11、14、15)。由于一个解码器只能同时解码编码格式相同的节目,对于有两种编码格式的节目列表,先用一个解码器解码一种编码格式相同的所有节目,再重新初始化解码器,并利用初始化后的解码器解码另一种编码格式相同的所有节目。
S02:根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组,目标节目为机顶盒开机后第一次播放的节目或切换台时的新节目,相邻节目组由连续分布在目标节目两侧且距离目标节目近的节目组成,相邻节目组的个数小于通路个数。
目标节目可以是机顶盒开机后第一次播放的节目。如果目标节目不是机顶盒开机后第一次播放的节目,目标节目也可以是切换台时的新节目。
相邻节目组由连续分布在目标节目两侧且距离目标节目近的节目组成。例如:参见图6,为本申请提供的节目列表优化和解码节目列表变换情况的示意图,当目标节目为10时,相邻节目组包括4、5、7、9、12、13、16;当目标节目为8时,相邻节目组包括2、3、6、11、14、15。
参见图4,为申请提供的将相同编码格式的节目发送给解码器的流程示意图,可知,根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组,具体过程如下:
S021:从新直播节目列表中获取目标节目、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组,并下载对应的音视频数据。
从新直播节目列表中获取目标节目M、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组的播放地址,下载目标节目M、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组的音视频数据。
S022:将对应的音视频数据解析为PES数据,并将PES数据添加索引。
将目标节目M、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组的音视频数据解析为PES数据,并将PES数据添加索引为PES[…,M-1,M,M+1,...]。
S023:将添加索引后的PES数据发送给解码器。
添加索引后的PES数据发送给解码器后,解码器需要对这些数据进行解码,并发送给输出层。
S03:利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中,其中,目标节目的输出层设为最上层且不透明,相邻节目组中的各节目的输出层设为透明。
参见图5,为本申请提供的解码器将解码后节目发送给显示控制器的输出层的流程示意图,可知,解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中,具体步骤如下:
S031:利用解码器通过时分复用将添加索引后的PES数据解码为YUV数据。
播放器将每个节目要解码的数据标记为不同的索引,如PES[0]、PES[1]、PES[2]、PES[3]、…。由于他们都是相同的编码格式,解码器可以通过时分复用的功能将他们解码成YUV数据,放到不同的解码Buffer,如YUV[0]、YUV[1]、YUV[2]、YUV[3]、…。
S032:YUV数据经过显示控制器做缩放、画质优化和音频同步处理后,发送至显示控制器中的各输出层中。
解码后的各个YUV数据经过显示控制器的Display模块做缩放、画质优化和音频同步处理后,发送至不同的输出层,如VO[0]、VO[1]、VO[2]、VO[3]、…。
S04:利用显示控制器合成各输出层得到一层输出层,并将一层输出层发送给帧显存。
Display模块将所有的输出层合成为一层VO,并通过DMA将VO发送给帧显存FrameBuffer,呈现给电视显示。
本申请提供了基于机顶盒的电视直播切换台方法,将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表。由于解码器可以同时解码多路节目,可以根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组。由于解码器可以同时解码输出多路节目,可以利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中。由于显示控制器可同时将合成多路节目,可以利用显示控制器合成各输出层得到一层输出层,并将一层输出层发送给帧显存并显示。由于,目标节目为切换台时的新节目,且目标节目已解码,切换台时,只需要将目标节目的输出层从透明变为最上层且不透明,并将相邻节目组中的各节目的输出层设为透明,即可实现节目切换,提高切换台速度,从而达到电视画面平滑切换的无缝切换台效果。
目标节目是机顶盒开机后第一次播放的节目,为实施例1;目标节目不是机顶盒开机后第一次播放的节目,是切换台时的新节目,为实施例2和实施例3。当目标节目是切换台时的新节目,且目标节目未解码时,为实施例2;当目标节目是切换台时的新节目,且目标节目已解码时,为实施例3。
实施例1
T011:若目标节目为机顶盒开机后第一次播放的节目时,根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组。
T0111:当目标节目为机顶盒开机后第一次播放的节目时,则根据通路个数,从新直播节目列表中选择与目标节目具有相同编码格式的相邻节目组。
机顶盒开机后,从新直播节目列表中获取目标节目,根据目标节目的地址,下载目标节目对应的音视频数据,播放目标节目。
将目标节目的音视频数据解析为PES数据,并将PES数据添加索引。
根据通路个数,判断解码器中是否有空余通路,由于节目是依次解码的,当解码器有空余通路时,则从新直播节目列表中选择与目标节目具有相同编码格式的一个相邻节目。相邻节目组中的多个相邻节目均依据此步骤依次被选择。当解码器中无空余通路时,不再从新直播节目列表中选择与目标节目相同编码格式的一个相邻节目,此时,目标节目和相邻节目组的节目数量之和小于等于物理内存、解码器和显示控制器的通路个数。
相邻节目组中的多个相邻节目均依次下载各自对应的音视频数据,解析为PES数据,并将PES数据添加索引。
T0112:将目标节目、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组,发送给解码器。
将添加索引后的PES数据发送给解码器,添加索引后的PES数据包括目标节目、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组的PES数据。
T012:利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中,其中,目标节目的输出层设为最上层且不透明,相邻节目组中的各节目的输出层设为透明。
T013:利用显示控制器合成各输出层得到一层输出层,并将一层输出层发送给帧显存。
例如:机顶盒开机后,从新直播节目列表中获取目标节目n,将目标节目n的输出层VO[n]设为最上层且不透明。根据通路个数查询是否有空余通路,若是,则从新直播节目列表中选择与目标节目具有相同编码格式的一个相邻节目,相邻节目的输出层设置为透明。当还有空余通路时,继续从新直播节目列表中重新选择与目标节目具有相同编码格式的一个新的相邻节目,新的相邻节目的输出层设置为透明。在显示控制器Display模块中,对每一层输出层做缩放、画质优化和音视频同步等处理。由于VO[n]为不透明,其他输出层为透明层,故Display模块在合成时,忽略透明层,即合成所有VO为一层得到的为目标节目n的VO[n],通过DMA将它送给帧显存FrameBuffer呈现给电视显示。
实施例2
T021:若目标节目不是机顶盒开机后第一次播放的节目,且目标节目未解码,则根据通路个数,获取新直播节目列表中选择与目标节目具有相同编码格式的相邻节目组。
T0211:若目标节目不是机顶盒开机后第一次播放的节目,且目标节目未解码,则根据通路的个数,从新直播节目列表中选择与目标节目具有相同编码格式的相邻节目组。
由于目标节目未解码,根据目标节目的地址,下载目标节目对应的音视频数据,播放目标节目。
将目标节目的音视频数据解析为PES数据,并将PES数据添加索引。
根据通路个数,判断解码器中是否还有空余通路,由于节目是依次解码的,当解码器有空余通路时,则从新直播节目列表中选择与目标节目具有相同编码格式的一个相邻节目。相邻节目组中的多个节目均依据此步骤依次被选择。当解码器中无空余通路时,不再从新直播节目列表中选择与目标节目相同编码格式的一个相邻节目,此时,目标节目和相邻节目组的节目数量之和小于等于物理内存、解码器和显示控制器的通路个数。
相邻节目组中的多个相邻节目均依次下载各自对应的音视频数据,解析为PES数据,并将PES数据添加索引。
T0212:将目标节目、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组,发送给解码器。
将添加索引后的PES数据发送给解码器,添加索引后的PES数据包括目标节目、以及在新直播节目列表中与目标节目具有相同编码格式的相邻节目组的PES数据。
T022:解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中,其中,目标节目的输出层设为最上层且不透明,相邻节目组中的各节目的输出层设为透明。
T023:显示控制器合成各输出层得到一层输出层,并将一层输出层发送给帧显存。
例如:从新直播节目列表中选择目标节目m,将目标节目m的输出层VO[m]设为最上层且不透明。根据通路个数查询是否有空余通路,若是,则从新直播节目列表中选择与目标节目具有相同编码格式的一个相邻节目,相邻节目的输出层设置为透明。当还有空余通路时,继续从新直播节目列表中重新选择与目标节目具有相同编码格式的一个新的相邻节目,新的相邻节目的输出层设置为透明。在显示控制器Display模块中,对每一层输出层做缩放、画质优化和音视频同步等处理。由于VO[m]为不透明,其他输出层为透明层,故Display模块在合成时,忽略透明层,即合成所有VO为一层得到的为目标节目n的VO[m],通过DMA将它送给帧显存FrameBuffer呈现给电视显示。参见图6,为本申请提供的节目列表优化和解码节目列表变换情况的示意图,可知,从新直播节目列表中选择目标节目9时,将目标节目9的输出层VO[9]设为最上层且不透明,根据通路个数查询是否有空余通路,有则继续将节目(10、7、12、5、13、4、16)的数据送给解码器解码,同时将它们的输出层设为透明层。
实施例3
T031:若目标节目不是机顶盒开机后第一次播放的节目,且目标节目已解码,则根据目标节目获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组发送给解码器。
T0311:若目标节目不是机顶盒开机后第一次播放的节目,且目标节目已解码,则停掉相邻节目组中与目标节目远的节目。
当目标节目与原播放节目是相邻节目,即切换台一次时,则需要停掉新直播节目列表中与目标节目具有相同编码格式的相邻节目组中与目标节目最远的一个节目。如图6所示,在播放节目9后按UP键,则停掉相邻节目组中与节目9最远的节目16。
当目标节目与原播放节目不是相邻节目,即连续切换台时,则需要停掉新直播节目列表中与目标节目具有相同编码格式的相邻节目组中与目标节目较远的几个节目。如图6所示,在播放节目10后连续按4次DOWN键,则停掉相邻节目组中与节目10较远的节目5、7、9和10。
T0312:根据通路的个数,从新直播节目列表中选择与目标节目具有相同编码格式且距离目标节目近的未解码节目加入到相邻节目组中,并将相邻节目组发送给解码器。
当切换台一次时,由于已经停掉了新直播节目列表中与目标节目具有相同编码格式的相邻节目组中与目标节目最远的一个节目,空出一个通路,可以重新从新直播节目列表中选择一个与目标节目具有相同编码格式且距离目标节目近的未解码节目作为填补节目以填充停掉节目空出的通路。如图6所示,在播放节目9后按UP键,则将距离节目9较近的未解码节目1加入相邻节目组。
根据通路个数,判断解码器是否还有空余通路,由于节目是依次解码的,当解码器有空余通路,则从新直播节目列表中选择与目标节目具有相同编码格式且距离目标节目近的未解码节目加入到相邻节目组中。相邻节目组中的多个节目均依据此步骤依次被选择。此时,当解码器中无空余通路时,不再从新直播节目列表中选择与目标节目具有相同编码格式的一个相邻节目,此时,目标节目和相邻节目组的数量之和小于等于物理内存、解码器和显示控制器的通路个数。
当需要连续切换台时,由于已经停掉了相邻节目组中与目标节目较远的多个节目,空出多个通路,如果新直播节目列表中与目标节目编码格式相同的较近未解码节目个数大于等于空出的通道个数,则重新选择多个与目标节目具有相同编码格式且距离目标节目近的未解码节目作为填补节目以填充停掉节目空出的通路。如果新直播节目列表中与目标节目编码格式相同的较近未解码节目个数小于空出的通道个数,则仅将该未解码节目加入相邻节目组,其中若未解码节目个数为0时,则不向相邻节目组加入新节目。如图6所示,在播放节目10后连续按4次DOWN键,此时播放节目为节目17,新直播节目列表中未有与节目17有相同编码格式的较近未解码节目,故不向相邻节目组加入新节目。
下载填补节目对应的音视频数据,将填补节目的音视频数据解析为PES数据,并将PES数据添加索引,将添加索引后的PES数据发送给解码器。
T032:利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中,其中,目标节目的输出层设为最上层且不透明,相邻节目组中的各节目的输出层设为透明。如图6所示,在播放节目9后按UP键,此时播放节目7,则节目7的输出层设为最上层且不透明,相邻节目组中节目1、4、5、9、10、12和13的输出层设为透明。
T033:利用显示控制器合成各输出层得到一层输出层,并将一层输出层发送给帧显存。
切换台举例如下:如图6所示,当播放节目9时,将节目9的输出层VO[9]设为最上层且不透明,根据通路个数查询是否有空余通路,有则继续将节目(10、7、12、5、13、4、16)的数据送给解码器解码,同时将它们的输出层设为透明层。即已解码和输出的节目为4、5、7、9、10、12、13、16。
在用户切换台时,如按Up键,播放节目7,则将节目7的输出层设置为最上层且不透明,节目9的输出层设置为透明层,然后停止将节目16的数据送给解码器,改为将节目1的数据送给解码器,并将它的输出层设为透明层,即解码和输出的节目变为1、4、5、7、9、10、12和13。同理按Down键时,播放节目10,解码和输出的节目为5、7、9、10、12、13、16和17。
播放节目10时,若再连续按4次Down键时,由于后面的节目为H264,只有一个解码器的情况下无法继续解码,则不继续送H264节目的数据给解码器,解码和输出的节目变为12、13、16和17。故这种节目列表优化和解码输出策略也能很好的解决快速按键和快速连续按键时的无缝切换台。比如正常情况下,解码器解码并输出了上下3到4个节目,则快速按键3次时也能做到无缝切换台。如果有更多的解码器资源,则无缝切换台也能涵盖快速按键更多次的情况。
或者播放节目10时,再连续按5次Down键时,需要切换到节目2。由于一个解码器只能同时解码相同的节目,当节目的编码格式发生了改变,则需要重新初始化解码器。根据节目分辨率,设置解码器和显示控制器的通路数量。播放节目2,查询初始化的解码器是否还有空余资源,若有则将新节目的数据送入解码器,解码和输出的节目为2、3、6、8、11、14和15。
本申请在只有一个解码器硬件资源的情况下做到无缝切换台,如果机顶盒有多个解码器硬件资源,则可以同时解码并输出更多数量的节目,达到更好的用户体验效果。另外还可以CPU或GPU资源充足的情况下,采用软件解码和输出更多数量的节目。
在有限电缆DVB机顶盒中,由于直播节目的数据需要从Tuner获取,而同一个频点包含的节目数量有限,采用本申请也有一定的优化效果。如果有多个Tuner,可以同时跨频点获取更多节目,也能通过本申请在只有一个解码器的情况下做到无缝切换台。
本申请中的Display模块,对每一路节目实时做视频缩放、画质优化、音视频同步等处理后放到不同输出层。也可以采用将他们放到4k帧显存FrameBuffer的不同区域,即把4k帧显存拆分为多份,每一份中放入一路节目的显示层,不同的区域代表不同节目的画面。切换台时,选择不同的区域呈现给电视显示。
本申请除了提供了基于机顶盒的电视直播切换台方法外,还提供了基于机顶盒的电视直播切换台系统,参见图2,为本申请提供的基于机顶盒的电视直播切换台系统的结构示意图,可知,该切换台系统包括:排序模块,用于将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表;获取模块,用于根据目标节目和通路个数,获取新直播节目列表中与目标节目具有相同编码格式的相邻节目组,目标节目为机顶盒开机后第一次播放的节目或切换台时的新节目,相邻节目组由连续分布在目标节目两侧且距离目标节目近的节目组成,相邻节目组的个数小于所述通路个数;解码模块,用于利用解码器将目标节目以及相邻节目组中的各节目解码后发送至显示控制器的各输出层中;解码模块包括设置子模块,用于将目标节目的输出层设为最上层且不透明,相邻节目组中的各节目的输出层设为透明;合成及显示模块,用于利用显示控制器合成各所述输出层得到一层输出层,并将一层输出层发送给帧显存并显示。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.基于机顶盒的电视直播切换台方法,其特征在于,机顶盒包括物理内存、解码器和显示控制器,将物理内存、解码器和显示控制器均设置有多条对应通路,所述方法包括:
将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表;
根据目标节目和通路个数,获取所述新直播节目列表中与所述目标节目具有相同编码格式的相邻节目组,所述目标节目为机顶盒开机后第一次播放的节目或切换台时的新节目,所述相邻节目组由连续分布在目标节目两侧且距离目标节目近的节目组成,所述相邻节目组的个数小于所述通路个数;
利用解码器将所述目标节目以及所述相邻节目组中的各节目解码后发送至显示控制器的各输出层中,其中,所述目标节目的输出层设为最上层且不透明,所述相邻节目组中的各节目的输出层设为透明;
利用显示控制器合成各所述输出层得到一层输出层,并将所述一层输出层发送给帧显存并显示。
2.根据权利要求1所述的方法,其特征在于,所述通路个数是由机顶盒最高解码码率与直播节目码率的比值确定的最大整数。
3.根据权利要求1所述的方法,其特征在于,根据目标节目和通路个数,获取所述新直播节目列表中与所述目标节目具有相同编码格式的相邻节目组,包括:
若目标节目不是机顶盒开机后第一次播放的节目,且目标节目已解码,则停掉所述相邻节目组中与所述目标节目远的节目;
根据所述通路个数,从所述新直播节目列表中选择与所述目标节目具有相同编码格式且距离目标节目近的未解码节目加入到相邻节目组中,并将所述相邻节目组发送给解码器。
4.根据权利要求1所述的方法,其特征在于,将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表,包括:
从服务器中下载EPG电子节目指南,获取直播节目列表;
解析直播节目列表中的所有节目的编码格式和分辨率;
将直播节目列表中的相同编码格式的所有节目依次进行排序,得到新直播节目列表。
5.根据权利要求1所述的方法,其特征在于,根据目标节目和通路个数,获取所述新直播节目列表中与所述目标节目具有相同编码格式的相邻节目组,包括:
从新直播节目列表中获取目标节目、以及在新直播节目列表中与所述目标节目具有相同编码格式的相邻节目组,并下载对应的音视频数据;
将所述对应的音视频数据解析为PES数据,并将PES数据添加索引;
将添加索引后的PES数据发送给解码器。
6.根据权利要求5所述的方法,其特征在于,利用解码器将所述目标节目以及所述相邻节目组中的各节目解码后发送至显示控制器的各输出层中,包括:
利用解码器通过时分复用将添加索引后的PES数据解码为YUV数据;
YUV数据经过显示控制器做缩放、画质优化和音频同步处理后,发送至显示控制器中的各输出层中。
7.基于机顶盒的电视直播切换台系统,应用于权利要求1-6中任一所述的切换台方法,其特征在于,包括:
排序模块,用于将直播节目列表中的所有节目按编码格式排序,得到新直播节目列表;
获取模块,用于根据目标节目和通路个数,获取所述新直播节目列表中与所述目标节目具有相同编码格式的相邻节目组,所述目标节目为机顶盒开机后第一次播放的节目或切换台时的新节目,所述相邻节目组由连续分布在目标节目两侧且距离目标节目近的节目组成,所述相邻节目组的个数小于所述通路个数;
解码模块,用于利用解码器将所述目标节目以及所述相邻节目组中的各节目解码后发送至显示控制器的各输出层中;所述解码模块包括设置子模块,用于将目标节目的输出层设为最上层且不透明,所述相邻节目组中的各节目的输出层设为透明;
合成及显示模块,用于利用显示控制器合成各所述输出层得到一层输出层,并将所述一层输出层发送给帧显存并显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910546314.4A CN110166824B (zh) | 2019-06-24 | 2019-06-24 | 基于机顶盒的电视直播切换台方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910546314.4A CN110166824B (zh) | 2019-06-24 | 2019-06-24 | 基于机顶盒的电视直播切换台方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110166824A CN110166824A (zh) | 2019-08-23 |
CN110166824B true CN110166824B (zh) | 2021-07-06 |
Family
ID=67625470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910546314.4A Active CN110166824B (zh) | 2019-06-24 | 2019-06-24 | 基于机顶盒的电视直播切换台方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166824B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5315633A (en) * | 1991-12-20 | 1994-05-24 | Unisys Corporation | Digital video switch for video teleconferencing |
CN101472154A (zh) * | 2007-12-27 | 2009-07-01 | 深圳华为通信技术有限公司 | 数字频道切换的方法及数字视频处理装置 |
CN101621342A (zh) * | 2008-06-30 | 2010-01-06 | 中兴通讯股份有限公司 | 一种基于实时传输协议实现网络电视节目轮播的方法 |
CN103139633A (zh) * | 2013-02-05 | 2013-06-05 | 深圳创维数字技术股份有限公司 | 一种数字电视接收终端及其切换频道的方法 |
CN104602115A (zh) * | 2015-01-13 | 2015-05-06 | 青岛海信宽带多媒体技术有限公司 | 一种网络电视频道的切换方法和系统 |
CN104768058A (zh) * | 2014-01-03 | 2015-07-08 | 北京赛科世纪数码科技有限公司 | 一种机顶盒快速切换台技术 |
CN104768051A (zh) * | 2015-03-06 | 2015-07-08 | 深圳市九洲电器有限公司 | 多编码格式节目流的自适应切换方法及系统 |
CN105430489A (zh) * | 2014-09-18 | 2016-03-23 | 青岛海信宽带多媒体技术有限公司 | 一种电视频道的切换方法、装置及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4739295B2 (ja) * | 2007-08-27 | 2011-08-03 | 日本電信電話株式会社 | 映像信号生成装置、映像信号生成方法、映像信号生成プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
GB0902136D0 (en) * | 2009-02-10 | 2009-03-25 | Pace Plc | Improved television channel switching method and apparatus |
CN108881112B (zh) * | 2017-05-10 | 2021-07-30 | 北京猎户星空科技有限公司 | 基于传感器的数据的生成、传输、处理方法、装置及其系统 |
-
2019
- 2019-06-24 CN CN201910546314.4A patent/CN110166824B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5315633A (en) * | 1991-12-20 | 1994-05-24 | Unisys Corporation | Digital video switch for video teleconferencing |
CN101472154A (zh) * | 2007-12-27 | 2009-07-01 | 深圳华为通信技术有限公司 | 数字频道切换的方法及数字视频处理装置 |
CN101621342A (zh) * | 2008-06-30 | 2010-01-06 | 中兴通讯股份有限公司 | 一种基于实时传输协议实现网络电视节目轮播的方法 |
CN103139633A (zh) * | 2013-02-05 | 2013-06-05 | 深圳创维数字技术股份有限公司 | 一种数字电视接收终端及其切换频道的方法 |
CN104768058A (zh) * | 2014-01-03 | 2015-07-08 | 北京赛科世纪数码科技有限公司 | 一种机顶盒快速切换台技术 |
CN105430489A (zh) * | 2014-09-18 | 2016-03-23 | 青岛海信宽带多媒体技术有限公司 | 一种电视频道的切换方法、装置及设备 |
CN104602115A (zh) * | 2015-01-13 | 2015-05-06 | 青岛海信宽带多媒体技术有限公司 | 一种网络电视频道的切换方法和系统 |
CN104768051A (zh) * | 2015-03-06 | 2015-07-08 | 深圳市九洲电器有限公司 | 多编码格式节目流的自适应切换方法及系统 |
Non-Patent Citations (1)
Title |
---|
IPTV及手机电视换台加速测量初探;涂鸿渐等;《电信科学》;20071231(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110166824A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI361622B (en) | Method and apparatus for switching program streams usign a variable speed program stream buffer coupled to a variable speed decoder | |
KR100793458B1 (ko) | 대화식 비디오 프로그램 기억장치 | |
US8745689B2 (en) | Channel surfing compressed television sign method and television receiver | |
TWI361623B (en) | Method and apparatus for switching program streams using a fixed speed program stream buffer coupled to a decoder | |
US20090257508A1 (en) | Method and system for enabling video trick modes | |
KR20010032145A (ko) | 압축 디지털 데이터의 연결 흔적이 없는 비디오 스위칭시스템 | |
JP2003521176A (ja) | 複数の符号化ビデオストリームの同時通信レンダリング方法、複数の符号化ビデオストリームの同時通信レンダリングシステム及び複数の符号化ビデオストリームの同時レンダリングのための対話型デコーダ | |
CA2792106C (en) | Method and system for inhibiting audio-video synchronization delay | |
US10931980B2 (en) | Method and apparatus for providing 360 degree virtual reality broadcasting service | |
AU2016320946A1 (en) | Transmission device, transmission method, reception device, and reception method | |
CN103139633A (zh) | 一种数字电视接收终端及其切换频道的方法 | |
CN103475900A (zh) | 手机电视业务视频帧的封装方法、装置及前端系统 | |
EP3386194A1 (en) | Method of delivery audiovisual content and corresponding device | |
CN110166824B (zh) | 基于机顶盒的电视直播切换台方法及系统 | |
EP2228985A1 (en) | Combined television data stream, method for displaying television channel and method for generating combined television data stream | |
CN101778287A (zh) | 一种数字电视导航方法、系统及装置 | |
KR100847531B1 (ko) | 디지털 방송 애플리케이션 스위칭 방법 및 이를 실현시키기위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 | |
KR20080057925A (ko) | 채널 전환 방법 및 상기 방법을 수행하는 장치 | |
KR100725928B1 (ko) | 방송콘텐츠의 고속 복호화를 위한 디지털멀티미디어방송수신 단말 장치 및 그 방법 | |
JP5321676B2 (ja) | 情報再生装置および情報再生方法 | |
TWI635749B (zh) | 配合電視傳播系統之動態影像處理裝置及動態影像處理方法 | |
JP5920442B2 (ja) | デジタル衛星放送の受信装置および受信方法 | |
CN117221638A (zh) | 媒体播放装置及相关媒体播放方法 | |
JP6023989B2 (ja) | デジタル放送の受信装置および受信方法 | |
JP5664699B2 (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220408 Address after: 200131 Room 203, floor 2, building 2, No. 121, Xinfu East Road, Lingang xinpian District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Guokehaixin (Shanghai) Microelectronics Co.,Ltd. Address before: 410131 No.9, South Dongshi Road, Changsha Economic and Technological Development Zone, Changsha City, Hunan Province Patentee before: HUNAN GOKE MICROELECTRONICS Co.,Ltd. |
|
TR01 | Transfer of patent right |