CN113709556A - 频道切换方法、装置、设备、系统和存储介质 - Google Patents
频道切换方法、装置、设备、系统和存储介质 Download PDFInfo
- Publication number
- CN113709556A CN113709556A CN202010430907.7A CN202010430907A CN113709556A CN 113709556 A CN113709556 A CN 113709556A CN 202010430907 A CN202010430907 A CN 202010430907A CN 113709556 A CN113709556 A CN 113709556A
- Authority
- CN
- China
- Prior art keywords
- player
- channel
- image
- preset
- texture
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000009877 rendering Methods 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012360 testing method Methods 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Generation (AREA)
Abstract
本申请提出一种频道切换方法、装置、设备、系统和存储介质。该方法包括:响应于频道切换信号,解除显示窗口与上一频道的预设播放器所对应的图像纹理之间的绑定关系,其中,频道切换信号中携带期望从上一频道所切换至的目标频道的信息;将频道切换信号中携带的目标频道的预设播放器所对应的图像纹理与显示窗口绑定;利用预先创建的一路渲染组件,对显示窗口绑定的图像纹理进行渲染处理;将渲染处理得到的目标频道的图像画面发送至显示窗口,以切换至目标频道;其中,上一频道的预设播放器所对应的图像纹理和目标频道的预设播放器所对应的图像纹理,是预先通过渲染组件中的纹理组件产生的图像纹理。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种频道切换方法、装置、设备、系统和存储介质。
背景技术
随着第五代移动通信系统(The 5th Generation Wireless Systems,5G)时代到来,多媒体技术快速发展,社会娱乐化加快,用户对视频娱乐的要求提升。尤其是视频内容在5G时代会爆发式增长,用户对直播、点播的视频质量与对视频观看体验的要求提高,因此,多媒体终端需要优化视频观看延时,以提升观看体验。
频道切换的速度是衡量观看体验质量的参数之一。频道切换中,可能会出现黑屏、频道加载过慢或失败等情况,将会大大增加视频观看延时,因此,需要通过提升频道切换速度和降低切换时长。
发明内容
本申请提供用于提供一种频道切换方法、装置、设备、系统和存储介质,可以频道切换速度,并降低频道切换时长。
本申请实施例提供一种频道切换方法,包括:响应于频道切换信号,解除显示窗口与上一频道的预设播放器所对应的图像纹理之间的关联关系,其中,频道切换信号中携带期望从上一频道所切换至的目标频道的信息;建立目标频道的预设播放器所对应的图像纹理与显示窗口的关联关系;利用预先创建的一路渲染组件,对显示窗口所关联的图像纹理进行渲染处理;将渲染处理得到的目标频道的图像画面发送至显示窗口,以切换至目标频道;其中,上一频道的预设播放器所对应的图像纹理和目标频道的预设播放器所对应的图像纹理,是预先通过渲染组件中的纹理组件产生的图像纹理。
本申请实施例提供一种频道切换装置,包括:关联解除模块,用于响应于频道切换信号,解除显示窗口与上一频道的预设播放器所对应的图像纹理之间的关联关系,其中,频道切换信号中携带期望从上一频道所切换至的目标频道的信息;关联建立模块,用于建立目标频道的预设播放器所对应的图像纹理与显示窗口的关联关系;渲染处理模块,用于利用预先创建的一路渲染组件,对显示窗口所关联的图像纹理进行渲染处理;画面发送模块,用于将渲染处理得到的目标频道的图像画面发送至显示窗口,以切换至目标频道;其中,上一频道的预设播放器所对应的图像纹理和目标频道的预设播放器所对应的图像纹理,是预先通过渲染组件中的纹理组件产生的图像纹理。
本发明实施例提供一种终端设备,包括:处理器和显示器;处理器,用于接收频道切换信号,并执行上述的频道切换方法;显示器,用于显示频道切换后的图像画面。
本发明实施例提供一种频道切换系统,包括:存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述的频道切换方法。
本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,当程序指令在设备上运行时,使得设备执行上述各方面的频道切换方法。
根据本发明实施例的频道切换方法、装置、设备、系统和存储介质,当用户选择某个频道时,解除显示窗口与上一频道的播放器所对应的图像纹理之间的关联关系,建立该显示窗口与所选择频道所关联的图像纹理之间的关联关系,并将该显示窗口所关联的图像纹理渲染至窗口进行显示,以将上一频道切换至目标频道。
在该频道切换方法中,切换频道时仅切换频道的预设播放器所对应的图像纹理与显示窗口的关联关系,渲染组件只对与显示窗口建立关联关系的图像纹理进行渲染处理,从而可以提高频道切换速度并降低频道切换时长;且由于本申请的频道切换方法减少了对渲染组件的使用,不显示的窗口与播放器对象,不会产生由于渲染时的图像处理导致的CPU与GPU占用与性能消耗,从而可以降低系统CPU与GPU的资源使用,节约系统资源。
关于本申请的以上实施例和其他方面以及其实现方式,在附图说明、具体实施方式和权利要求中提供更多说明。
附图说明
图1示出根据本发明实施例的频道切换方法的流程图;
图2示出本申请一个实施例的频道切换方法的架构示意图;
图3示出本申请一示例性实施例的频道切换方法的流程图;
图4示出本申请另一示例性实施例的频道切换方法的时序示意图;
图5示出本申请再一示例性实施例的频道切换流程;
图6示出了根据本发明一实施例提供的频道切换装置的结构示意图;
图7示出本申请一个实施例的终端设备的结构示意图;
图8示出能够实现根据本发明实施例的频道切换方法和装置的计算设备的示例性硬件架构的结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1是示出根据本发明实施例的频道切换方法的流程图。如图1所示,本发明实施例中的频道切换方法以下步骤。
步骤S110,响应于频道切换信号,解除显示窗口与上一频道的预设播放器所对应的图像纹理之间的关联关系,其中,频道切换信号中携带期望从上一频道所切换至的目标频道的信息。
步骤S120,建立目标频道的预设播放器所对应的图像纹理与显示窗口的关联关系。
步骤S130,利用预先创建的一路渲染组件,对显示窗口所关联的图像纹理进行渲染处理。
步骤S140,将渲染处理得到的目标频道的图像画面发送至显示窗口,以切换至目标频道。
其中,上一频道的预设播放器所对应的图像纹理和目标频道的预设播放器所对应的图像纹理,是预先通过渲染组件中的纹理组件产生的图像纹理。
在一个实施例中,频道地址包含目标频道与相邻多个频道地址。上一频道和目标频道可以是两个相邻的频道地址,也可以是两个不相邻的频道地址,只要满足从上一频道切换到目标频道时,存在目标频道的播放器所对应的图像纹理即可。
根据本发明实施例的频道切换方法,用户选择目标频道时,解除显示窗口与上一频道的播放器所对应的图像纹理之间的唯一关联关系,建立该显示窗口与所选择频道所关联的图像纹理之间的唯一关联关系,并将该唯一关联的图像纹理渲染至窗口进行显示,以将上一频道切换至目标频道。
在本申请实施例中,上一频道的播放器和目标频道的播放器分别关联纹理组件,当通过所关联的纹理组件得到的图像纹理被显示窗口唯一关联时,进行渲染到显示窗口的处理。也就是说,本申请实施例的频道切换方法,选择某频道时,才将选择该频道所关联的图像纹理进行渲染显示,与窗口未关联的图像纹理,不进行图像渲染处理和绘制到窗口的操作,从而可以提高频道切换速度并降低频道切换时长。
并且,根据本申请的频道切换方法,对于显示窗口未关联的图像纹理,不会产生由于渲染时的图像处理导致的CPU与GPU占用与性能消耗,从而可以降低系统CPU与GPU的资源使用。
在一个实施例中,该频道切换方法还包括如下步骤。
S21,利用预先创建的多路播放器解码多个频道的图像数据,得到每路播放器的解码数据。
在本申请实施例中,播放器可以是具有播放多媒体数据功能的应用对象,播放器可以对频道中的多媒体数据进行解析、解码、渲染准备等处理。其中,本申请实施例中的多媒体数据至少包括视频流数据。例如,该多媒体数据在不仅可以包含视频流数据,还可以包括音频流数据和图像数据中的至少一种。
S22,在预先创建的渲染组件中创建多个纹理组件,并建立每路播放器与多个纹理组件中的一个纹理组件之间的关联关系。
在本申请实施例中,图像纹理是基于开放图形库(OpenGL)的内部图像处理对象,包含顶点坐标信息与色彩深度信息等。而纹理组件可以理解为是用于缓存图像数据(例如播放器的解码数据)的容器。将播放器与预先创建的多个纹理组件中的一个纹理组件进行关联,播放器的解码数据在所关联的纹理组件缓冲,纹理组件可以将所关联的播放器的解码数据渲染为对应的图像纹理。
S23,将每路播放器的解码数据在所关联的纹理组件中处理,得到每个频道的播放器所对应的图像纹理。
在该实施例中,在进入频道之前,可以先创建多路播放器,每个播放器配置频道地址进行播放。创建一个渲染组件与多个纹理组件(Surface Texture),将播放器与纹理组件进行关联,播放器的解码数据将传至纹理组件的内部缓冲,得到该播放器所对应的图像纹理。当用户选择某个频道时,将与该频道的播放器所对应的图像纹理与显示窗口关联,该图像纹理进行渲染后展示至窗口。本发明实施例的中的渲染器,也称渲染组件,用于对播放器所对应的图像纹理进行画面渲染。
为了便于理解,下面通过图2-图4,描述本申请示例性实施例的频道切换方法。图2示出本申请一个实施例的频道切换方法的架构示意图。
如图2所示,该架构可以包括:在应用10中预先创建的多路播放器例如播放器1、播放器2、……、播放器n,在渲染组件20中预先创建的多路纹理组件20例如纹理组件1、纹理组件2、……、纹理组件n,以及显示窗口30。
在图2中,每个播放器可以根据配置的频道地址,对相应的频道中的多媒体数据进行解码,得到每个播放器的解码数据。
继续参考图2,在进入频道之前,可以先创建多路播放器,每路播放器可以配置频道地址进行播放。创建一个渲染组件与多个纹理组件。其中,渲染组件20可以用于对播放器所对应的图像纹理进行画面渲染。
在本发明实施例中,将每个播放器与一个纹理组件进行关联,播放器的解码数据将传至纹理组件内部缓冲,得到该播放器所对应的图像纹理例如图像纹理1、图像纹理2、……、图像纹理n。当用户选择某个频道时,将与该频道的播放器所对应的图像纹理与显示窗口关联,该图像纹理进行渲染后展示至窗口。
图3示出本申请一示例性实施例的频道切换方法的流程图。如图3所示,该实施例中的频道切换方法可以包括如下步骤。
S301,用户进入终端应用。
在进入终端应用后,可以创建一路图像显示窗口,该显示窗口可以用于视频画面的显示。
S302,创建多路播放器。
在该步骤中,每路播放器解码默认频道与相邻频道的音视频流。
S303,创建多路纹理组件。
在该步骤中,可以利用渲染组件创建多路纹理组件。
S304,将播放器与纹理组件进行关联。
在该步骤中,可以将每路播放器与一个纹理组件唯一关联,播放器的解码后数据将传至对应的纹理组件进行缓冲,得到的该播放器所对应的图像纹理可以用于后续的渲染处理。
S305,将当前图像纹理与窗口关联。
在该步骤中,将当前播放频道的播放器所对应的图像纹理与窗口关联,建立关联关系,对与窗口关联的图像纹理进行渲染操作,得到每个图像纹理对应的渲染信息。
S306,渲染图像至窗口。
在该步骤中,显示窗口定时刷新,将当前与显示窗口关联的图像纹理对应的渲染信息,绘制到显示窗口进行显示。
S307,用户切换频道。
在该步骤中,响应于频道被切换,切换新频道后将窗口与原图像纹理解除关联关系,并关联新频道对应的图像纹理。
S308,将显示窗口与原图像纹理解除关联关系,并关联新的图像纹理。
在该步骤中,与显示窗口解除关联关系的图像纹理不再进行渲染,而只对显示窗口新关联的图像纹理进行渲染处理。
S309,渲染图像至窗口。
在该步骤中,显示窗口定时刷新,将与显示窗口关联的新的图像纹理中的渲染信息,绘制到的窗口进行显示。
在该实施例中,采用多路播放器与一路渲染组件的模式,可以减少渲染组件的使用,对不显示的窗口与播放器对象,不会产生由于渲染时的图像处理导致的CPU与GPU占用与性能消耗,大大降低系统CPU与GPU的资源使用。
图4示出本申请另一示例性实施例的频道切换方法的时序示意图。为了描述方便器件,以多个播放器中的播放器1和播放器2为例,介绍从播放器1切换到播放器2的具体步骤。应理解,本申请实施例中的播放器并不限于播放器1和播放器2,在多路播放器中,从前一个播放器切换到当前播放器的方案,均可使用该频道切换方法,本申请实施例不再赘述。
如图4所示,在该实施例中,频道切换方法可以包括如下步骤。
S401,如图4中“创建播放频道1”所示,创建播放器1,配置频道1的地址,对频道1中的多媒体数据进行解码。
在本申请实施例中,若频道1为用户进入应用后选择的首个频道,在进入频道之前,预先创建多个播放器。
S402,如图4中“创建播放频道2”所示,创建播放器2,配置频道2的地址,对频道2中的多媒体数据进行解码。
通过上述步骤S401和S402,创建多路播放器,用于播放多路频道,每路播放器用于播放其中一路频道。具体地,每路播放器可以对一个频道中的多媒体数据进行解码,得到每路播放器的解码数据。
S403,如图4中“创建纹理1和纹理2”所示,创建纹理组件1和纹理组件2。其中,渲染组件中可以创建多路纹理组件,用于画面渲染。
S404,如图4中“关联纹理组件1”所示,建立播放器1与纹理组件1的唯一关联关系。
S405,如图4中“关联纹理组件2”所示,建立播放器2与纹理组件2的唯一关联关系。
通过上述步骤S404和S405,每路播放器的解码数据将传输至关联的纹理组件内部进行缓冲,得到每个频道的播放的播放器所对应的图像纹理。
S406,如图4中“图像纹理1关联窗口”所示,当频道1被选择时,将频道1的播放器所对应的图像纹理1,与显示窗口建立关联。
S407,如图4中“窗口刷新显示”所示,显示窗口刷新时,将频道1的播放器所对应的图像纹理1进行渲染处理,并将渲染处理得到的渲染数据绘制到显示窗口进行显示。
在该步骤中,将目标频道对应的图像纹理与窗口关联,对显示窗口关联的图像纹理进行渲染和显示。
S408,如图4中“选择图像纹理2”所示,当用户选择频道2,确定频道2的播放器2所关联的纹理组件2。
S409,如图4中“图像纹理2关联窗口”所示,当频道2被选择时,将显示窗口与频道1的播放器所对应的图像纹理解除关联关系,并建立显示窗口与频道2的播放器所对应的图像纹理的关联关系。
在该步骤中,解除原图像纹理与显示窗口的关联关系,建立切换频道对应的图像纹理与显示窗口的关联关系。
S410,如图4中“窗口刷新显示”所示,显示窗口刷新时,将频道2的播放器所对应的图像纹理2进行渲染处理,并将渲染处理得到的渲染数据绘制到显示窗口进行显示。
在该实施例中,视频应用可以创建多路播放器用于解码该路频道视频,分别配置相邻的频道进行播放,并创建一路显示窗口,用于显示当前播放频道画面,将每路播放器与一个纹理组件建立关联关系,并将目标频道的播放器所对应的图像纹理输送至窗口渲染显示,其余频道的图像纹理不与显示窗口关联,当切换相邻频道进行播放时,将原先频道的播放器对应的图像纹理与窗口解除关联,将该频道的播放器对应的图像纹理通过关联窗口进行渲染显示。由于与窗口未进行关联的图像纹理,不进行图像渲染处理与绘制操作,因此可以降低了CPU与GPU的资源消耗。
在一个实施例中,上一频道的播放器和目标频道的播放器,是预先创建的多路播放器中的两路播放器。
在该实施例中,若多路播放器的数目达到播放器数目阈值,则在解除显示窗口与上一频道的播放器所对应图像纹理之间的唯一关联关系之后,该频道切换方法还可以包括如下步骤。
S51,释放上一频道的播放器,并解除上一频道的播放器与上一频道的播放器所对应的纹理组件之间的关联关系。
S52,创建新的播放器,并利用新的播放器解码指定频道的图像数据,得到新的播放器的解码数据,指定频道为预设多个频道中未被解码图像数据的频道。
S53,建立新的播放器与被解除关联关系的纹理组件之间的关联关系。
S54,将新的播放器的解码数据在所关联的纹理组件中处理,得到新的播放器对应的频道的播放器所对应的图像纹理。
在该实施例中,由于终端设备的性能约束,预先创建的播放器数量受到限制,当预先创建的播放器数量达到播放器数目阈值时,当用户切换频道,在解除显示窗口与上一频道的播放器所对应图像纹理之间的唯一关联关系之后,还需要移除对应的播放器和添加新的播放器,以实现性能约束情况下多频道间的切换。
在一个实施例中,上一频道和目标频道为预设多个频道中的相邻频道,多个频道具有预定第一排序;上一频道的播放器和目标频道的播放器,是预先创建的多路播放器中的两路播放器,且多路播放器具有预定第二排序。
在该实施例中,应用中的播放频道通常可以表现为频道列表,示例性地,频道列表显示可以采用队列方式。相应地,由于每个频道可以配置有一个播放器,因此,可以采用队列方式添加或移除播放器,将预先创建的多路播放器的预定队列顺序作为第二排序。
在一个实施例中,当预先创建的多路播放器的数目大于播放器数目阈值,且目标频道与上一频道相邻,当按照第一排序正向选择频道,在步骤S110之后,该频道切换方法还可以包括如下步骤。
S61,按照预定第二排序,释放多路播放器中的首个播放器,解除首个播放器与所关联的纹理组件之间的关联关系。
S62,创建新的播放器,并按照预定第二排序,将新的播放器作为多路播放器中的末尾播放器。
S63,建立末尾播放器与被解除关联关系的纹理组件之间的关联关系。
S64,将末尾播放器的解码数据在所关联的纹理组件中处理,得到末尾播放器对应的频道的播放器所对应的图像纹理。
在该实施例中,当频道切换是按照预定的第一排序正向切换时,可以将队首播放器释放,解除与对应纹理的关联关系,并从队尾添加新创建的播放器,关联与之前队首播放器解除关联关系的纹理组件。
在另一个实施例中,当预先创建的多路播放器的数目大于播放器数目阈值,且目标频道与上一频道相邻,当按照第一排序反向选择频道时,在步骤S110之后,该频道切换方法还可以包括如下步骤。
S71,按照预定第二排序,释放多路播放器中的末尾播放器,解除末尾播放器与所关联的纹理组件之间的关联关系。
S72,创建新的播放器,并按照预定第二排序,将新的播放器作为多路播放器中的首个播放器。
S73,建立首个播放器与被解除关联关系的纹理组件之间的关联关系。
S74,将首个播放器的解码数据在所关联的纹理组件中处理,得到首个播放器对应的频道的播放器所对应的图像纹理。
在该实施例中,当频道切换是按照预定的第一排序反向切换时,可以将队尾播放器释放,解除与对应纹理的关联关系,并从队首位置添加新创建的播放器,关联与之前队尾播放器解除关联关系的图像纹理。
为了便于理解,下面通过图5,描述播放频道数达到上限时,在频道切换过程中对播放器的释放和创建过程示意图。图5示出本申请再一示例性实施例的频道切换流程。
在该实施例中,频道切换方法具体可以包括如下步骤。
S81,预先创建多个播放器。
在该步骤中,该多个播放器的数目小于等于预定播放器数据阈值。在实际应用中,该多个播放器的数目可以根据实际情况进行设定,本申请实施例不做具体限定。
S82,预先创建多个纹理组件,将每个播放器与一个纹理组件进行关联,以利用纹理组件处理所关联播放器的解码数据,得到每个频道的播放器所对应的图像纹理。
在该步骤中,可以根据创建的播放器的个数,创建相同数目的纹理组件。以4路播放器为例,通过上述步骤S81和S82,预先创建播放器队列,播放器队列例如可以包含4路播放器,预先创建4路纹理组件,每个纹理组件与一路播放器进行关联。
作为示例,在频道列表的队列排序中,频道的第一排序正向例如可以是从频道1、频道2、频道3到频道4的顺序,频道的第一排序反向即从频道4、频道3、频道2到频道1的顺序。在图5中,频道按照第一排序正向进行切换,例如可以是从上到下进行切换。
S83,选择播放器2。
S84,建立显示窗口与来自纹理组件2的图像纹理2之间的关联关系,从而对播放器2对应的图像纹理进行渲染,得到并在显示窗口显示频道2的播放画面。
S85,选择播放器3,即从播放器2切换至播放器3时,解除显示窗口与图像纹理2之间的唯一关联关系,以及解除播放器1与纹理组件1之间的关联关系。
S86,从播放器队尾添加新创建的播放器5,并建立播放器5与纹理组件1之间的关联关系。
在该步骤中,播放器5是新创建的播放器,纹理组件1是与显示窗口解除关联关系且未被播放器关联的纹理组件。
S87,建立显示窗口与来自纹理组件3的图像纹理3之间的关联关系,对播放器3对应的图像纹理进行渲染,得到并在显示窗口显示频道3的播放画面。
在该实施例中,若遇到预先创建播放频道数达到设备上限,可以采用队列方式添加与移除播放器,以实现在性能约束情况下多频道间切换,提高频道切换速度,并通过减少渲染次数来减少对CPU与GPU占用与性能消耗。
通常在进行频道切换时,如果通过重新创建播放器的方法,通过优化播放器起播速度,来提升频道切换效果,在切换频道时,需要通过切换新的播放器来切换频道,由于播放器的起播时间大多为500ms以上,在频道切换过程中,用户能够明显的看到切换黑屏,若网络质量较差,频道起播的时间将延长,观看体验会明显降低。
如果通过预先创建多路播放器和多个渲染组件的方法,通过直接切换播放器和对应显示窗口的显示与隐藏,实现频道的切换,则由于创建了多路播放器,会消耗大量的CPU与GPU资源,容易产生设备由于大量计算而发热现象。
在上述实施例的描述中,所涉及的播放器、渲染组件、纹理组件和显示窗口均可以通过软件代码的方式实现。
根据本申请实施例的频道切换方法,预先创建多路播放器,配置频道地址进行解码,并创建一个渲染组件和多个纹理组件,可以将每个播放器与一个纹理组件关联,播放器的解码数据将传至所关联的纹理组件内部缓冲。当用户选择某个频道时,将与该频道的播放器所对应的图像纹理与显示窗口关联,该与显示窗口关联的图像纹理进行渲染后展示至窗口。
该方法采用多路播放器与一路渲染组件的模式,减少了渲染组件的使用,不显示的窗口与播放器对象不会产生由于渲染时的图像处理导致的CPU与GPU占用与性能消耗,大大降低系统CPU与GPU的资源使用,经测试,该方式比原来N路播放与N路渲染的CPU占用降低至少30%,从而降低CPU消耗,提高系统资源利用,且能缩短用户的切换时间,能够实现帧级频道切换,提升用户的观看体验。
下面结合附图,详细介绍根据本发明实施例的频道切换装置。图6示出了根据本发明一实施例提供的频道切换装置的结构示意图。如图6所示,频道切换装置可以包括如下模块。
解除关联模块210,用于响应于频道切换信号,解除显示窗口与上一频道的预设播放器所对应的图像纹理之间的关联关系,其中,频道切换信号中携带期望从上一频道所切换至的目标频道的信息。
建立关联模块220,用于建立所述目标频道的预设播放器所对应的图像纹理与所述显示窗口的关联关系。
渲染处理模块230,用于利用预先创建的一路渲染组件,对显示窗口所关联的图像纹理进行渲染处理。
画面显示模块240,用于将渲染处理得到的目标频道的图像画面发送至显示窗口,以切换至目标频道。
其中,上一频道的预设播放器所对应的图像纹理和目标频道的预设播放器所对应的图像纹理,是预先通过渲染组件中的纹理组件产生的图像纹理。
在一个实施例中,频道切换装置还可以包括如下模块。
频道解码模块,用于利用预先创建的多路播放器解码多个频道的图像数据,得到每路播放器的解码数据。
纹理关联模块,用于在预先创建的渲染组件中创建多个纹理组件,并建立每路播放器与多个纹理组件中的一个纹理组件之间的关联关系。
纹理处理模块,用于将每路播放器的解码数据在所关联的纹理组件中处理,得到每个频道的播放器所对应的图像纹理。
在一个实施例中,上一频道的播放器和目标频道的播放器,是预先创建的多路播放器中的两路播放器。频道切换装置还可以包括如下模块。
播放器释放模块,用于若多路播放器的数目达到播放器数目阈值,则在解除显示窗口与上一频道的播放器所对应图像纹理之间的唯一关联关系之后,释放上一频道的播放器,并解除上一频道的播放器与上一频道的播放器所对应的图像纹理之间的关联关系。
播放器创建模块,用于创建新的播放器,并利用新的播放器解码指定频道的图像数据,得到新的播放器的解码数据,指定频道为预设多个频道中未被解码图像数据的频道。
纹理关联模块,还用于建立新的播放器与上一频道的播放器所对应的图像纹理之间的关联关系;
纹理处理模块,还用于将新的播放器的解码数据在所关联的纹理组件中处理,得到新的播放器对应的频道的播放器所对应的图像纹理。
在一个实施例中,上一频道和目标频道为预设多个频道中的相邻频道,多个频道具有预定第一排序;上一频道的播放器和目标频道的播放器,是预先创建的多路播放器中的两路播放器,且多路播放器具有预定第二排序。
在一个实施例中,预先创建的多路播放器的数目大于播放器数目阈值,且目标频道与上一频道相邻,当按照第一排序正向选择频道时,则频道切换装置还可以包括如下模块。
播放器释放模块,具体用于在解除显示窗口与上一频道的播放器所对应的图像纹理之间的唯一关联关系之后,按照预定第二排序,释放多路播放器中的首个播放器,解除首个播放器与所关联的图像纹理之间的关联关系。
播放器创建模块,具体用于创建新的播放器,并按照预定第二排序,将新的播放器作为多路播放器中的末尾播放器。
纹理关联模块,具体用于建立末尾播放器与被解除关联关系的图像纹理之间的关联关系。
纹理处理模块,具体用于将末尾播放器的解码数据在所关联的纹理组件中处理,得到末尾播放器对应的频道的播放器所对应的图像纹理。
在一个实施例中,预先创建的多路播放器的数目大于播放器数目阈值,且目标频道与上一频道相邻,当按照第一排序反向选择频道时,则频道切换装置还可以包括如下模块。
播放器释放模块,具体用于按照预定第二排序,释放多路播放器中的末尾播放器,解除末尾播放器与所关联的图像纹理之间的关联关系;
播放器创建模块,具体用于创建新的播放器,并按照预定第二排序,将新的播放器作为多路播放器中的首个播放器;
纹理关联模块,具体用于建立首个播放器与被解除关联关系的图像纹理之间的关联关系;
纹理处理模块,具体用于将首个播放器的解码数据在所关联的纹理组件中处理,得到首个播放器对应的频道的播放器所对应的图像纹理。
根据本申请的频道切换装置,创建多路播放器和一路渲染组件,对频道切换的快速性与平滑性进行优化,能够大大降低切换速度,达到帧级切换速度;由于减少了对渲染组件的使用,不显示的频道窗口与播放器对象,不会产生由于渲染时的图像处理导致的CPU与GPU占用与性能消耗,从而可以降低系统CPU与GPU的资源使用,节约系统资源。
需要明确的是,本发明并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图7示出本申请一个实施例的终端设备的结构示意图。如图7所示,该终端设备可以包括处理器310和显示器320。
处理器310,用于在接收到频道切换信号时,执行上述实施例中的任一种频道切换方法;显示器320,用于显示频道切换后的图像画面。
根据本申请的终端设备,通过预先创建的多路播放器对配置的频道中的多媒体数据进行解码,并将播放器与图像纹理进行关联,播放器的解码数据将传至图像纹理内部缓冲。当用户选择某个频道时,将与该频道对应的图像纹理与显示窗口关联,该图像纹理进行渲染后展示至窗口。通过该频道切换方法,在实现帧级速度的频道切换的同时,能减少CPU与GPU的资源消耗,提升了更优的用户体验。
图8是示出能够实现根据本发明实施例的频道切换方法和装置的计算设备的示例性硬件架构的结构图。
如图8所示,计算设备400包括输入设备401、输入接口402、中央处理器403、存储器404、输出接口405、以及输出设备406。其中,输入接口402、中央处理器403、存储器404、以及输出接口405通过总线410相互连接,输入设备401和输出设备406分别通过输入接口402和输出接口405与总线410连接,进而与计算设备400的其他组件连接。
具体地,输入设备401接收来自外部的输入信息,并通过输入接口402将输入信息传送到中央处理器403;中央处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出接口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算设备400的外部供用户使用。
在一个实施例中,图8所示的计算设备400可以被实现为一种频道切换系统,该频道切换系统可以包括:存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行上述实施例描述的频道切换方法。
根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以从网络上被下载和安装,和/或从可拆卸存储介质被安装。
以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(ROM)、随机访问存储器(RAM)、光存储器装置和系统(数码多功能光碟DVD或CD光盘)等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑器件(FGPA)以及基于多核处理器架构的处理器。
通过示范性和非限制性的示例,上文已提供了对本申请的示范实施例的详细描述。但结合附图和权利要求来考虑,对以上实施例的多种修改和调整对本领域技术人员来说是显而易见的,但不偏离本发明的范围。因此,本发明的恰当范围将根据权利要求确定。
Claims (10)
1.一种频道切换方法,包括:
响应于频道切换信号,解除显示窗口与上一频道的预设播放器所对应的图像纹理之间的关联关系,其中,所述频道切换信号中携带期望从所述上一频道所切换至的目标频道的信息;
建立所述目标频道的预设播放器所对应的图像纹理与所述显示窗口的关联关系;
利用预先创建的一路渲染组件,对所述显示窗口所关联的图像纹理进行渲染处理;
将渲染处理得到的目标频道的图像画面发送至所述显示窗口,以切换至目标频道;
其中,上一频道的预设播放器所对应的图像纹理和目标频道的预设播放器所对应的图像纹理,是预先通过所述渲染组件中的纹理组件产生的图像纹理。
2.根据权利要求1所述的方法,其中,在所述响应于频道切换信号之前,所述方法还包括:
利用预先创建的多路播放器解码多个频道的图像数据,得到每路播放器的解码数据;
在预先创建的渲染组件中创建多个纹理组件,并建立所述每路播放器与所述多个纹理组件中的一个纹理组件之间的关联关系;
将所述每路播放器的解码数据在所关联的纹理组件中处理,得到每个频道的播放器所对应的图像纹理。
3.根据权利要求1所述的方法,其中,上一频道的预设播放器和目标频道的预设播放器,是预先创建的多路播放器中的两路播放器;
若所述多路播放器的数目达到播放器数目阈值,则在所述解除显示窗口与上一频道的预设播放器所对应图像纹理之间的关联关系之后,所述方法还包括:
释放上一频道的预设播放器,并解除上一频道的预设播放器与所对应的图像纹理之间的关联关系;
创建新的播放器,并利用所述新的播放器解码指定频道的图像数据,得到所述新的播放器的解码数据,所述指定频道为所述预设多个频道中未被解码图像数据的频道;
建立所述新的播放器与被解除所述关联关系的图像纹理之间的关联关系;
将所述新的播放器的解码数据在所关联的纹理组件中处理,得到新的播放器对应的频道的播放器所对应的图像纹理。
4.根据权利要求1所述的方法,其中,
上一频道和目标频道为预设多个频道中的相邻频道,所述多个频道具有预定第一排序;
上一频道的预设播放器和目标频道的预设播放器,是预先创建的多路播放器中的两路播放器,且所述多路播放器具有预定第二排序。
5.根据权利要求4所述的方法,其中,所述多路播放器的数目大于播放器数目阈值,且目标频道与上一频道相邻;
当按照第一排序正向选择频道时,在所述解除显示窗口与上一频道的预设播放器所对应的图像纹理之间的关联关系之后,所述方法还包括:
按照所述预定第二排序,释放所述多路播放器中的首个播放器,解除所述首个播放器与所关联的图像纹理之间的关联关系;
创建新的播放器,并按照所述预定第二排序,将所述新的播放器作为所述多路播放器中的末尾播放器;
建立所述末尾播放器与被解除关联关系的图像纹理之间的关联关系;
将所述末尾播放器的解码数据在所关联的纹理组件中处理,得到所述末尾播放器对应的频道的播放器所对应的图像纹理。
6.根据权利要求4所述的方法,其中,所述多路播放器的数目大于播放器数目阈值,且目标频道与上一频道相邻;
当按照第一排序反向选择频道时,在所述解除显示窗口与上一频道的预设播放器所对应的图像纹理之间的关联关系之后,所述方法还包括:
按照所述预定第二排序,释放所述多路播放器中的末尾播放器,解除所述末尾播放器与所关联的图像纹理之间的关联关系;
创建新的播放器,并按照所述预定第二排序,将所述新的播放器作为所述多路播放器中的首个播放器;
建立所述首个播放器与被解除关联关系的图像纹理之间的关联关系;
将所述首个播放器的解码数据在所关联的纹理组件中处理,得到所述首个播放器对应的频道的播放器所对应的图像纹理。
7.一种频道切换装置,包括:
关联解除模块,用于响应于频道切换信号,解除显示窗口与上一频道的预设播放器所对应的图像纹理之间的关联关系,其中,所述频道切换信号中携带期望从所述上一频道所切换至的目标频道的信息;
关联建立模块,用于建立所述目标频道的预设播放器所对应的图像纹理与所述显示窗口的关联关系;
渲染处理模块,用于利用预先创建的一路渲染组件,对所述显示窗口所关联的图像纹理进行渲染处理;
画面发送模块,用于将渲染处理得到的目标频道的图像画面发送至所述显示窗口,以切换至目标频道;
其中,上一频道的预设播放器所对应的图像纹理和目标频道的预设播放器所对应的图像纹理,是预先通过所述渲染组件中的纹理组件产生的图像纹理。
8.一种终端设备,包括处理器和显示器;
所述处理器,用于在接收频道切换信号,执行如权利要求1至6中任一项所述的频道切换方法;
所述显示器,用于显示频道切换后的图像画面。
9.一种频道切换系统,其特征在于,包括存储器和处理器;
所述存储器用于储存有可执行程序代码;
所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求1至6中任一项所述的频道切换方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括程序指令,当所述程序指令在设备上运行时,使得所述设备执行如权利要求1至6中任一项所述的频道切换方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010430907.7A CN113709556A (zh) | 2020-05-20 | 2020-05-20 | 频道切换方法、装置、设备、系统和存储介质 |
PCT/CN2021/082473 WO2021232931A1 (zh) | 2020-05-20 | 2021-03-23 | 频道切换方法、装置、设备、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010430907.7A CN113709556A (zh) | 2020-05-20 | 2020-05-20 | 频道切换方法、装置、设备、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113709556A true CN113709556A (zh) | 2021-11-26 |
Family
ID=78645619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010430907.7A Pending CN113709556A (zh) | 2020-05-20 | 2020-05-20 | 频道切换方法、装置、设备、系统和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113709556A (zh) |
WO (1) | WO2021232931A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114071229A (zh) * | 2021-12-08 | 2022-02-18 | 四川启睿克科技有限公司 | 一种解决SurfaceView渲染器重载视频解码时回收延迟的方法 |
CN114401444A (zh) * | 2022-02-08 | 2022-04-26 | 湖南快乐阳光互动娱乐传媒有限公司 | 视频播放器的播放方法及装置、电子设备、存储介质 |
CN115529492A (zh) * | 2022-08-22 | 2022-12-27 | 海信视像科技股份有限公司 | 一种图像渲染方法、装置和电子设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117641006B (zh) * | 2023-11-30 | 2024-08-23 | 书行科技(北京)有限公司 | 一种视频播放控制方法、装置及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10243309A (ja) * | 1997-02-28 | 1998-09-11 | Toshiba Corp | テレビジョン選局装置 |
US20140198122A1 (en) * | 2013-01-15 | 2014-07-17 | Microsoft Corporation | Engine for streaming virtual textures |
CN104735520A (zh) * | 2015-04-01 | 2015-06-24 | 百度在线网络技术(北京)有限公司 | 电视节目的播放控制方法、装置和电视机 |
CN108882038A (zh) * | 2018-06-25 | 2018-11-23 | 苏宁易购集团股份有限公司 | 一种基于Android的多路视频播放方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340598A (zh) * | 2008-08-07 | 2009-01-07 | 北京衡准科技有限公司 | 一种实现媒体三维播放的方法及装置 |
US9036092B2 (en) * | 2013-06-24 | 2015-05-19 | Broadcom Corporation | Video channel change system |
CN104219579B (zh) * | 2014-08-20 | 2018-03-06 | 北京奇艺世纪科技有限公司 | 一种视频切换方法和装置 |
US10412320B1 (en) * | 2018-03-29 | 2019-09-10 | Wipro Limited | Method and system for switching display from first video source to second video source |
CN109996104A (zh) * | 2019-04-22 | 2019-07-09 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置及电子设备 |
CN110300338A (zh) * | 2019-07-26 | 2019-10-01 | 杭州当虹科技股份有限公司 | 一种快速切换播放组播视频的方法 |
-
2020
- 2020-05-20 CN CN202010430907.7A patent/CN113709556A/zh active Pending
-
2021
- 2021-03-23 WO PCT/CN2021/082473 patent/WO2021232931A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10243309A (ja) * | 1997-02-28 | 1998-09-11 | Toshiba Corp | テレビジョン選局装置 |
US20140198122A1 (en) * | 2013-01-15 | 2014-07-17 | Microsoft Corporation | Engine for streaming virtual textures |
CN104735520A (zh) * | 2015-04-01 | 2015-06-24 | 百度在线网络技术(北京)有限公司 | 电视节目的播放控制方法、装置和电视机 |
CN108882038A (zh) * | 2018-06-25 | 2018-11-23 | 苏宁易购集团股份有限公司 | 一种基于Android的多路视频播放方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114071229A (zh) * | 2021-12-08 | 2022-02-18 | 四川启睿克科技有限公司 | 一种解决SurfaceView渲染器重载视频解码时回收延迟的方法 |
CN114401444A (zh) * | 2022-02-08 | 2022-04-26 | 湖南快乐阳光互动娱乐传媒有限公司 | 视频播放器的播放方法及装置、电子设备、存储介质 |
CN115529492A (zh) * | 2022-08-22 | 2022-12-27 | 海信视像科技股份有限公司 | 一种图像渲染方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2021232931A1 (zh) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113709556A (zh) | 频道切换方法、装置、设备、系统和存储介质 | |
CN109600666B (zh) | 游戏场景中的视频播放方法、装置、介质以及电子设备 | |
CN112235626B (zh) | 视频渲染方法、装置、电子设备及存储介质 | |
EP4192015A1 (en) | Video encoding method, video decoding method, apparatus, electronic device, storage medium, and computer program product | |
CN108737893B (zh) | 基于混合解码实现快速首帧出图的视频播放方法、装置和介质 | |
US8938127B2 (en) | Hybrid encoding/decoding for remote gaming | |
WO2021008424A1 (zh) | 图像合成方法、装置、电子设备及存储介质 | |
CN108093292B (zh) | 用于管理缓存的方法、装置及系统 | |
US20200252580A1 (en) | Video data processing method and video data processing device | |
KR102646030B1 (ko) | 영상제공장치, 그의 제어 방법 및 영상제공시스템 | |
US9460486B2 (en) | Image display system, information processing device, server, and image processing method | |
US10484690B2 (en) | Adaptive batch encoding for slow motion video recording | |
CN109361950B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
JP2017536007A (ja) | クラウドストリーミングサービスシステム、最適gpuを利用したクラウドストリーミングサービス方法及びそのための装置 | |
US20150103880A1 (en) | Adaptive video compression for latency control | |
US11810524B2 (en) | Virtual reality display device and control method thereof | |
US20200105227A1 (en) | Methods and apparatus for improving frame rendering | |
CN112188264A (zh) | 基于Android实现多窗口播放视频的方法及终端 | |
CN112843676A (zh) | 数据处理方法、装置、终端、服务器及存储介质 | |
US20200104973A1 (en) | Methods and apparatus for frame composition alignment | |
CN114710702A (zh) | 一种视频的播放方法和装置 | |
CN110891178B (zh) | 一种视频实时渲染的方法和装置 | |
CN113973224B (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
CN109587561B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN104010204B (zh) | 图像信息处理方法及装置 |
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 |