CN103339959B - 动态编解码器分配方法和设备 - Google Patents

动态编解码器分配方法和设备 Download PDF

Info

Publication number
CN103339959B
CN103339959B CN201280007519.1A CN201280007519A CN103339959B CN 103339959 B CN103339959 B CN 103339959B CN 201280007519 A CN201280007519 A CN 201280007519A CN 103339959 B CN103339959 B CN 103339959B
Authority
CN
China
Prior art keywords
codec
data flow
assigned
compression device
load factor
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
Application number
CN201280007519.1A
Other languages
English (en)
Other versions
CN103339959A (zh
Inventor
方鑫
施伟
杰拉尔德·保罗·米夏拉克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103339959A publication Critical patent/CN103339959A/zh
Application granted granted Critical
Publication of CN103339959B publication Critical patent/CN103339959B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)

Abstract

在实例中,本发明提供一种动态编解码器分配方法。所述方法包含接收多个数据流以及确定所述数据流中的每一者的相应编解码器负载因数。按照相应编解码器负载因数以最高相应编解码器负载因数开始按顺序将所述数据流指派给编解码器。最初,将所述数据流指派给硬件编解码器,直到将所述硬件编解码器加载到大体最大容量为止。如果所述硬件编解码器加载到大体最大容量,那么将剩余数据流指派给软件编解码器。当接收到新数据流时,所述方法重复,且可基于数据流的相对编解码器负载因数而将先前指派的数据流从硬件编解码器重新指派给软件编解码器,且反之亦然。

Description

动态编解码器分配方法和设备
技术领域
本发明大体上涉及通信,且更具体地说,但不排它地,涉及用于动态视频切换的方法和设备。
背景技术
市场需要可同时解码多个数据流(例如音频和视频数据流)的装置。视频数据流含有大量数据,因此在传输之前,对视频数据进行压缩以有效地使用传输媒体。视频压缩有效地将视频数据译码为流式视频格式。压缩将视频数据转换为可有效地传输的具有较少位的经压缩位流格式。压缩的逆过程为解压缩,也称作解码,其产生原始视频数据的复制品(或相当准确的近似)。
编解码器为对经压缩位流进行译码和解码的装置。使用硬件解码器与使用软件解码器相比为优选的,这归因于例如性能、功率消耗和处理器循环的交替使用等理由。因此,某些解码器类型与其它解码器类型相比为优选的,不管解码器是包括门块、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)还是这些元件的组合。
参看图1,当两个或两个以上经编码数据流输入到常规装置时,先到先得常规指派模型100在视频事件发生时将传入的数据流指派给可用编解码器。视频事件触发先到先得常规指派模型100。举例来说,视频事件可为与视频流有关的一个或一个以上处理,例如开始、完成、暂停、恢复、查找和/或改变分辨率。在图1的实例中,仅一个硬件编解码器可用。第一所接收数据流为视频1 105,其被指派给硬件视频编解码器。随后接收第二数据流,视频2110,且因为无硬件编解码器可用,所以将视频2 110指派给软件编解码器。随后接收的数据流也指派给软件编解码器,因为唯一的硬件编解码器预先被占用以用于处理视频1 105。在常规指派模型100中,一旦数据流被指派给编解码器,其便不会被重新指派给不同编解码器。因此,一旦指派给软件编解码器,视频2 110和随后的数据流便不会被指派给硬件编解码器,即使硬件编解码器停止处理视频1 105也如此。
常规指派模型100为简单的,但不是最佳的。硬件编解码器可非常快速且有效地解码复杂的编码方案(例如,MPEG-4),而相对较简单的译码方案(例如,H.261)可由硬件编解码器和软件编解码器两者快速且有效地解码。然而,常规指派模型100不会有意地将数据流指派给可最有效地解码数据流的编解码器类型(硬件或软件)。再次参看图1,如果视频1105具有简单的译码方案,且视频2 110具有复杂的译码方案,那么硬件编解码器的能力未充分用于解码视频1 105,而处理器努力解码视频2 110。观看视频1和视频2 110的用户体验视频1 105的令人满意的经解码版本,而用户期待提供比视频1 105高的性能的视频2110(因为视频2 110的复杂译码方案)可能含有假影、丢失帧和量化噪声。因此,常规指派模型100浪费资源、效率低且向用户提供低于标准的结果。
因此,存在对用以解决上述问题的方法和设备的产业需要。
发明内容
本发明的示范性实施例涉及用于动态视频切换的系统和方法。
在实例中,提供一种动态编解码器分配方法。所述方法包含接收多个数据流以及确定所述数据流中的每一者的相应编解码器负载因数。按照相应编解码器负载因数以最高相应编解码器负载因数开始按顺序将所述数据流指派给编解码器。最初,将所述数据流指派给硬件编解码器,直到将所述硬件编解码器加载到大体最大容量为止。如果所述硬件编解码器加载到大体最大容量,那么将剩余数据流指派给软件编解码器。当接收到新数据流时,所述方法重复,且可基于数据流的相对编解码器负载因数而将先前指派的数据流从硬件编解码器重新指派给软件编解码器,且反之亦然。
在进一步实例中,提供一种动态编解码器分配设备。动态编解码器分配设备包含用于接收多个数据流的装置和用于确定所述多个数据流中的每一数据流的相应编解码器负载因数的装置。动态编解码器分配设备还包含用于按照相应编解码器负载因数以最高相应编解码器负载因数开始按顺序将所述数据流指派给硬件编解码器直到所述硬件编解码器加载到大体最大容量为止的装置;以及用于在所述硬件编解码器加载到大体最大容量的情况下将剩余数据流指派给软件编解码器的装置。
在另一实例中,提供一种非暂时计算机可读媒体。所述非暂时计算机可读媒体包括存储在其上的指令,所述指令在由处理器执行的情况下致使所述处理器执行动态编解码器分配方法。所述动态编解码器分配方法包含接收多个数据流以及确定所述数据流中的每一者的相应编解码器负载因数。按照相应编解码器负载因数以最高相应编解码器负载因数开始按顺序将所述数据流指派给编解码器。最初,将所述数据流指派给硬件编解码器,直到将所述硬件编解码器加载到大体最大容量为止。如果所述硬件编解码器加载到 大体最大容量,那么将剩余数据流指派给软件编解码器。当接收到新数据流时,所述方法重复,且可基于数据流的相对编解码器负载因数而将先前指派的数据流从硬件编解码器重新指派给软件编解码器,且反之亦然。
在进一步实例中,提供一种动态编解码器分配设备。所述动态编解码器分配设备包含硬件编解码器以及耦合到所述硬件编解码器的处理器。所述处理器经配置以接收多个数据流;确定所述多个数据流中的每一数据流的相应编解码器负载因数;按照相应编解码器负载因数以最高相应编解码器负载因数开始按顺序将所述数据流指派给所述硬件编解码器,直到所述硬件编解码器加载到大体最大容量为止;以及如果所述硬件编解码器加载到大体最大容量,那么将剩余数据流指派给软件编解码器。
其它特征和优点在所附权利要求书且从以下详细描述显而易见。
附图说明
呈现附图以辅助对本发明的实施例的描述,且提供附图仅用于说明实施例而不限制实施例。
图1描绘常规指派模型。
图2描绘示范性通信装置。
图3描绘示范性动态视频切换装置的工作流程。
图4描绘视频流信息的示范性表。
图5描绘用于动态地指派编解码器的示范性方法的流程图。
图6描绘用于动态地指派编解码器的另一示范性方法的流程图。
图7描绘用于动态地指派编解码器的进一步示范性方法的流程图。
图8描绘动态视频切换方法的示范性时间线。
图9为列出示范性动态视频切换算法的伪码。
根据惯例,出于简单起见而简化图式中的一些。因此,图式可能不描绘给定设备(例如,装置)或方法的所有组件。最后,相似参考标号在整个说明书和图式中用以表示相似特征。
具体实施方式
本发明的各方面揭示于针对本发明的特定实施例的以下描述及相关图式中。可在不脱离本发明的范围的情况下设计替代实施例。此外,将不会详细描述或将省略本发明的众所周知的元件,以免混淆本发明的相关细节。
在本文中使用词语“示范性的”意味着“充当实例、例子或说明”。本文中被描述为“示范性的”任何实施例不必被理解为比其它实施例优选或有利。同样,术语“本发明的实施例”并非要求本发明的所有实施例均包含所论述的特征、优点或操作模式。
本文中所使用的术语仅出于描述特定实施例的目的且不希望限制本发明的实施例。如在本文中所使用,除非上下文另外清楚地指示,否则希望单数形式“一”和“所述”也包含复数形式。举例来说,此处对一硬件编解码器的提及也希望指代多个硬件编解码器。作为进一步实例,此处对一软件编解码器的提及也希望指代多个软件编解码器。而且,术语“包括”和/或“包含”在本文中使用时指定所陈述的特征、整体、步骤、操作、元件和/或组件的存在,但并不排除一个或一个以上其它特征、整体、步骤、操作、元件、组件和/或其群组的存在或添加。
此外,根据待由(例如)计算装置的元件执行的动作的序列来描述许多实施例。应认识到,本文中描述的各种动作可由特定电路(例如,专用集成电路(ASIC))、编码器、解码器、编解码器,由通过一个或一个以上处理器执行的程序指令或通过其组合来执行。此外,可认为本文中所述的这些动作序列完全实施于任何形式的计算机可读存储媒体内,所述计算机可读存储媒体中已存储有一组对应计算机指令,所述指令在被执行时将致使相关联的处理器执行本文中所述的功能性。因此,本发明的各种方面可以许多不同形式来实施,所有形式均被涵盖在所主张的标的物的范围内。此外,对于本文中所述的实施例的每一者来说,任何所述实施例的对应形式可在本文中被描述为(例如)“经配置以执行所描述的动作的逻辑”。
图2描绘其中可有利地采用本发明的实施例的示范性通信系统200。出于说明的目的,图2展示三个远程单元220、230和250以及两个基站240。应认识到,常规无线通信系统可具有更多的远程单元和基站。远程单元220、230和250包含如下文进一步论述的本发明的实施例225A到225C的至少一部分。图2展示从基站240到远程单元220、230和250的前向链路信号280,以及从远程单元220、230和250到基站240的反向链路信号290。
在图2中,远程单元220展示为移动电话,远程单元230展示为便携式计算机,且远程单元250展示为无线本地环路系统中的固定位置远程单元。举例来说,远程单元可为移动电话、手持式个人通信系统(PCS)单元、便携式数据单元(例如,个人数据助理)、导航装置(例如,具有GPS能力的装置)、机顶盒、音乐播放器、视频播放器、娱乐单元、固定位置数据单元(例如,仪表读取设备),或存储或检索数据或计算机指令的任何其它装置,或其任何组合。尽管图2说明根据本发明的教示的远程单元,但本发明不限于这 些示范性所说明单元。本发明的实施例可适合用于任何装置中。
图3描绘示范性动态视频切换装置300的工作流程。至少两个数据流305A到305N输入到处理器310,例如路由功能块。数据流305A到305N可为音频数据流、视频数据流或两者的组合。处理器310经配置以执行本文描述的方法的至少一部分,且可为中央处理单元(CPU)。举例来说,处理器可确定数据流305A到305N中的每一者的相应编解码器负载因数(m_codecLoad)。按照相应编解码器负载因数以最高相应编解码器负载因数开始按顺序将数据流305A到305N指派给至少一个硬件编解码器315A到315M,直到硬件编解码器315A到315M经加载到大体最大容量为止。将数据流305A到305N指派给硬件编解码器315A到315M降低CPU的负载和功率消耗。如果硬件编解码器315A到315M加载到大体最大容量,那么将剩余数据流305A到305N指派给至少一个软件编解码器320A到320X。在实例中,软件编解码器320A到320X可为可编程块,例如基于CPU、基于GPU或基于DSP的块。当接收到新数据流时,所述方法重复,且可基于数据流的相对编解码器负载因数而将先前指派的数据流305A到305N从硬件编解码器315A到315M重新指派给软件编解码器320A到320X,且反之亦然。
硬件编解码器315A到315M和软件编解码器320A到320X可为音频编解码器、视频编解码器,和/或两者的组合。硬件编解码器315A到315M和软件编解码器320A到320X还可经配置以不共享资源,例如存储器。或者,在一些应用中,本文中描述的编解码器由解码器取代。使用硬件解码器与使用软件解码器相比为优选的,这归因于例如性能、功率消耗和处理器循环的交替使用等理由。因此,某些解码器类型与其它解码器类型相比为优选的,不管解码器是具有门块、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)还是这些元件的组合。
处理器310可耦合到缓冲器325,缓冲器325在编解码器指派和重新指派期间缓冲数据流305A到305N中的数据。缓冲器325还可存储将在编解码器重新指派的情况下使用的描述数据流305A到305N的参数的信息。图4中描绘视频流信息的示范性表400。
将来自硬件编解码器315A到315M和软件编解码器320A到320X的输出输入到操作系统330,操作系统330使硬件编解码器315A到315M和软件编解码器320A到320X与使用、显示和/或以其它方式呈现数据流305A到305N中载运的信息的软件应用程序和/或硬件介接。操作系统330和/或软件应用程序可指示显示器335同时显示来自数据流305A到305N的视频数据。
图4描绘视频流信息的示范性表400。视频流信息的表400包含每一所接收数据流的相应负载因数(m_codecLoad)405,以及其它信息,例如当前指派的编解码器类型410、 分辨率行415、分辨率列420,以及其它参数425,例如位流标头信息、序列参数集(SPS)和图片参数集(PPS)。视频流信息的表400从最高负载因数405到最低负载因数405进行分类。
图5描绘用于动态地指派编解码器的示范性方法500的流程图。
在步骤505中,用于动态地指派编解码器的方法500开始接收视频数据流。
在步骤510中,参考表400,将表索引“i”设定为一。
在步骤515中,作出第一确定。如果“i”不小于或等于硬件编解码器的数目,那么执行步骤520,其结束方法。如果“i”小于或等于硬件编解码器的数目,那么执行步骤525。
在步骤525中,作出第二确定。如果对应于表条目“i”的数据流被指派给硬件编解码器,那么方法进行到步骤530,否则执行步骤535。
在步骤530中,将值一加到表条目号“i”,且重复步骤515。
在步骤535中,作出第三确定。如果硬件编解码器不可用,那么方法进行到步骤540,否则执行步骤550。
在步骤540中,识别表条目号“K”,其表示具有最低编解码器负载因数的数据流和所指派的硬件编解码器。
在步骤545中,产生软件编解码器且将其指派用于数据流“K”,且数据流“K”停止使用硬件编解码器。方法接着进行到步骤550。
在步骤550中,将可用硬件编解码器指派给数据流“i”。方法接着重复步骤530。图5的方法不是用于动态地指派编解码器的唯一方法。
图6描绘用于动态地指派编解码器的另一示范性方法600的流程图。
在步骤605中,用于动态地指派编解码器的方法600开始接收视频数据流。
在步骤610中,计算所接收视频数据流的编解码器负载因数(m_codecLoad)。
在步骤615中,作出确定。如果硬件编解码器可用,那么方法进行到步骤620,在步骤620处将所接收视频数据流指派给硬件编解码器。否则,方法进行到步骤625。
在步骤625中,作出决定。如果所接收视频数据流具有所有输入数据流(包含先前输入的数据流)中的最低负载因数,那么方法进行到步骤630,在步骤630处将所接收视频数据流指派给软件编解码器。如果所接收视频数据流不具有所有输入视频(包含先前输入的数据流)中的最低编解码器负载因数,那么方法进行到步骤640。
在步骤640中,将所接收视频数据流指派给硬件编解码器。如果所接收视频数据流具有比先前所指派视频数据流高的编解码器负载因数,那么可将先前指派给硬件编解码器的不同视频数据流重新指派给软件编解码器。
图7描绘用于动态地指派编解码器的示范性方法700的流程图。
在步骤705中,接收多个数据流。
在步骤710中,确定用于多个数据流中的每一数据流的相应编解码器负载因数(m_codecLoad)。编解码器负载因数可基于编解码器参数、系统功率状态、电池能量等级和/或所估计的编解码器功率消耗。编解码器负载因数还可基于数据流分辨率、显示屏幕上的可见性、播放/暂停/停止状态、熵译码类型,以及视频简档和等级值。确定编解码器负载因数的一个等式为:
m_codecLoad=((视频宽度*视频高度)>>14)*显示器上的可见性*播放
其中如果相应视频中的任一者在显示屏幕上可见,那么“显示器上的可见性”设定为逻辑一,否则设定为逻辑零。如果相应视频正在播放,那么“播放”设定为逻辑一,否则设定为逻辑零。
在步骤715中,按照相应编解码器负载因数以最高相应编解码器负载因数开始按顺序将数据流指派给硬件编解码器,直到硬件编解码器加载到大体最大容量为止。指派可在数据流帧的开始处和/或在数据流处于中流时发生。
在步骤720中,如果硬件编解码器加载到大体最大容量,那么将剩余数据流指派给软件编解码器。
在步骤725中,任选地保存数据流负载因数以供未来使用。
图8描绘动态视频切换方法的示范性时间线800。时间线800展示当随后接收到具有相对较高的编解码器负载因数的第二视频数据流时,将具有低编解码器负载因数的第一视频数据流从硬件编解码器重新指派给软件编解码器的方式。可以任何操作次序执行时间线800所描述的方法的步骤。
在时间一805,接收到具有H.264译码的第一视频数据流810。确定用于第一视频数据流810的相应编解码器负载因数(m_codecLoad)。将第一视频数据流810指派给硬件编解码器,将其在第一缓冲器815中进行缓冲,且解码开始。
在时间二820,接收到具有H.264译码的第二视频数据流825。确定用于第二视频数据流825的相应编解码器负载因数(m_codecLoad)。在此实例中,用于第二视频数据流825的编解码器负载因数比用于第一视频数据流810的编解码器负载因数高。针对第二视频数据流825产生软件编解码器的个例。将第二视频数据流825指派给软件编解码器, 且将其在第二缓冲器830中进行缓冲。
在时间三835,基于第一视频数据流810和第二视频数据流825的编解码器负载因数的相对值,将第一视频数据流810重新指派给软件编解码器且将第二视频数据流825重新指派给硬件编解码器。重新指派可为自动的,可在硬件层执行,且不需要最终用户的任何动作。在时间三835时或之后,针对第一视频数据流810产生软件编解码器的个例,将第一视频数据流815的缓冲版本输入到软件编解码器且解码第一视频数据流810。第一视频数据流810的软件解码开始的时间可与来自第一视频数据流810的关键帧的开始同时进行。第一视频数据流810还停止使用硬件编解码器。另外,在时间三835时或之后,第二视频数据流825停止使用第二视频数据流825的相应软件编解码器,且开始使用硬件编解码器解码来自第二缓冲器的第二视频数据流825的缓冲版本。第二视频数据流825的解码开始的时间可与来自第二视频数据流825的关键帧的开始同时进行。在时间三与第二视频数据流825的缓冲版本的解码的开始之间存在时间延迟(Dt)。在实例中,Dt太短以致无法由第一视频数据流810和第二视频数据流825的观看者察觉到。在额外实例中,在切换时经解码视频存在小暂停或损坏。
在时间四840,第一视频数据流810中止,且第一视频数据流810的相应软件编解码器的个例停止。在时间五845,第二视频数据流825中止,且第二视频数据流825对硬件编解码器的使用停止。
动态指派方法适用于编码和解码过程两者。图9为列出示范性动态视频切换算法的伪码900,其描述用于动态视频切换的方法。
所属领域的技术人员将了解,可使用多种不同技术及技艺中的任一者来表示信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在以上描述中始终参考的数据、指令、命令、信息、信号、位、符号及码片。
此外,所属领域的技术人员将了解,结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此互换性,上文已大致关于其功能性而描述了各种说明性组件、块、模块、电路及步骤。所述功能性是实施为硬件还是软件取决于特定应用及施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但所述实施决策不应被解释为会导致脱离本发明的范围。
结合本文中所揭示的实施例而描述的方法、序列及/或算法可直接实施于硬件中、由处理器执行的软件模块中或两者的组合中。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸式磁盘、 CD-ROM,或此项技术中已知的任一其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息并将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。
因此,本发明的实施例可包含实施用于动态视频切换的方法的计算机可读媒体。因此,本发明并不限于所说明的实例且用于执行本文中所描述的功能性的任何装置均包含在本发明的实施例中。
虽然前文的揭示内容展示本发明的说明性实施例,但应注意在不脱离如附加的权利要求书所界定的本发明的范围的情况下,可在本文中进行各种改变及修改。无需以任何特定次序来执行根据本文中所述的本发明的实施例的方法权利要求的功能、步骤及/或动作。此外,尽管可以单数形式描述或主张本发明的元件,但除非明确陈述对于单数的限制,否则也涵盖复数形式。

Claims (15)

1.一种动态编解码器分配方法,其包括:
接收多个数据流;
确定所述多个数据流中的每一数据流的相应编解码器负载因数;
按照所述相应编解码器负载因数且以最高相应编解码器负载因数开始按顺序将所述多个数据流指派给硬件编解码器,直到所述硬件编解码器加载到大体最大容量为止;
基于所述硬件编解码器被加载到大体最大容量,将所述多个数据流的剩余数据流指派给软件编解码器;
接收新数据流;以及
基于所述新数据流的接收,将之前指派给所述硬件编解码器或所述软件编解码器的所述多个数据流的至少一个数据流,基于所述新数据流和所述至少一个数据流的相应编解码器负载因数,而重新指派给所述硬件编解码器或所述软件编解码器中的另外一者。
2.根据权利要求1所述的方法,其进一步包括保存所述编解码器负载因数以供未来使用。
3.根据权利要求1所述的方法,其中当所述至少一个数据流处于中流时,之前指派给所述硬件编解码器或所述软件编解码器的所述多个数据流中的所述至少一个数据流被重新指派给所述硬件编解码器或所述软件编解码器中的另外一者。
4.根据权利要求1所述的方法,其中所述确定所述相应编解码器负载因数至少基于编解码器参数、系统功率状态、电池能量等级和所估计的编解码器功率消耗中的一者。
5.根据权利要求1所述的方法,其中所述确定所述相应编解码器负载因数和所述将所述多个数据流指派给所述硬件编解码器由视频事件触发。
6.一种动态编解码器分配设备,其包括:
用于接收多个数据流的装置;
用于确定所述多个数据流中的每一数据流的相应编解码器负载因数的装置;
用于按照所述相应编解码器负载因数且以最高相应编解码器负载因数开始按顺序将所述多个数据流指派给硬件编解码器直到所述硬件编解码器加载到大体最大容量为止的装置;
用于基于所述硬件编解码器被加载到大体最大容量而将所述多个数据流的剩余数据流指派给软件编解码器的装置;
用于接收新数据流的装置;以及
用于基于所述新数据流的接收将之前指派给所述硬件编解码器或所述软件编解码器的所述多个数据流的至少一个数据流基于所述新数据流和所述至少一个数据流的相应编解码器负载因数而重新指派给所述硬件编解码器或所述软件编解码器中的另外一者的装置。
7.根据权利要求6所述的设备,其进一步包括用于保存所述编解码器负载因数以供未来使用的装置。
8.根据权利要求6所述的设备,其中当所述至少一个数据流处于中流时,之前指派给所述硬件编解码器或所述软件编解码器的所述多个数据流中的所述至少一个数据流被重新指派给所述硬件编解码器或所述软件编解码器中的另外一者。
9.根据权利要求6所述的设备,其中所述用于确定所述相应编解码器负载因数的装置包含用于至少基于编解码器参数、系统功率状态、电池能量等级和所估计的编解码器功率消耗中的一者确定所述相应编解码器负载因数的装置。
10.根据权利要求6所述的设备,其中所述用于确定所述相应编解码器负载因数的装置和所述用于将所述多个数据流指派给所述硬件编解码器的装置由视频事件触发。
11.一种动态编解码器分配设备,其包括:
硬件编解码器;以及
处理器,其耦合到所述硬件编解码器,且经配置以:
接收多个数据流;
确定所述多个数据流中的每一数据流的相应编解码器负载因数;
按照所述相应编解码器负载因数且以最高相应编解码器负载因数开始按顺序将所述多个数据流指派给所述硬件编解码器,直到所述硬件编解码器加载到大体最大容量为止;
基于所述硬件编解码器被加载到大体最大容量,将所述多个数据流的剩余数据流指派给软件编解码器;
接收新数据流;以及
基于所述新数据流的接收,将之前指派给所述硬件编解码器或所述软件编解码器的所述多个数据流的至少一个数据流,基于所述新数据流和所述至少一个数据流的相应编解码器负载因数,而重新指派给所述硬件编解码器或所述软件编解码器中的另外一者。
12.根据权利要求11所述的设备,其进一步包括存储器,所述存储器耦合到所述处理器,且经配置以保存所述编解码器负载因数以供未来使用。
13.根据权利要求11所述的设备,其中当所述至少一个数据流处于中流时,之前指派给所述硬件编解码器或所述软件编解码器的所述多个数据流中的所述至少一个数据流被重新指派给所述硬件编解码器或所述软件编解码器中的另外一者。
14.根据权利要求11所述的设备,其中所述处理器经配置以至少基于编解码器参数、系统功率状态、电池能量等级和所估计的编解码器功率消耗中的一者确定所述相应编解码器负载因数。
15.根据权利要求11所述的设备,其中所述处理器经配置以在由视频事件触发时确定所述相应编解码器负载因数和所述将所述多个数据流指派给所述硬件编解码器。
CN201280007519.1A 2011-01-19 2012-01-19 动态编解码器分配方法和设备 Expired - Fee Related CN103339959B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/009,083 2011-01-19
US13/009,083 US20120183040A1 (en) 2011-01-19 2011-01-19 Dynamic Video Switching
PCT/US2012/021841 WO2012100032A1 (en) 2011-01-19 2012-01-19 Dynamic video switching

Publications (2)

Publication Number Publication Date
CN103339959A CN103339959A (zh) 2013-10-02
CN103339959B true CN103339959B (zh) 2018-03-09

Family

ID=45563562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280007519.1A Expired - Fee Related CN103339959B (zh) 2011-01-19 2012-01-19 动态编解码器分配方法和设备

Country Status (6)

Country Link
US (1) US20120183040A1 (zh)
EP (1) EP2666305A1 (zh)
JP (2) JP5788995B2 (zh)
KR (2) KR101591437B1 (zh)
CN (1) CN103339959B (zh)
WO (1) WO2012100032A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2463329B (en) 2008-09-10 2013-02-20 Echostar Advanced Technologies L L C Set-top box emulation system
GB2494411B (en) 2011-09-06 2017-12-06 Skype Signal processing
JP6160066B2 (ja) * 2012-11-29 2017-07-12 三菱電機株式会社 映像表示システム及び映像表示装置
CN104661059A (zh) * 2013-11-20 2015-05-27 中兴通讯股份有限公司 一种图片播放的方法、装置及机顶盒
EP3172900A4 (en) * 2014-07-24 2018-02-21 University of Central Florida Research Foundation, Inc. Computer network providing redundant data traffic control features and related methods
CN104837020B (zh) * 2014-07-25 2018-09-18 腾讯科技(北京)有限公司 播放视频的方法和装置
CN105992055B (zh) * 2015-01-29 2019-12-10 腾讯科技(深圳)有限公司 一种视频解码的方法及装置
CN105992056B (zh) * 2015-01-30 2019-10-22 腾讯科技(深圳)有限公司 一种视频解码的方法和装置
CN104980797B (zh) * 2015-05-27 2019-03-15 腾讯科技(深圳)有限公司 视频解码方法及客户端
CN105721921B (zh) * 2016-01-29 2019-07-12 四川长虹电器股份有限公司 一种多窗口视频解码器的自适应选择方法
CN106534922A (zh) * 2016-11-29 2017-03-22 努比亚技术有限公司 视频解码装置及方法
CN107786890A (zh) * 2017-10-30 2018-03-09 深圳Tcl数字技术有限公司 视频切换方法、装置及存储介质
CN109936744B (zh) * 2017-12-19 2020-08-18 腾讯科技(深圳)有限公司 视频编码处理方法、装置及具有视频编码功能的应用
CN109640179B (zh) * 2018-11-27 2020-09-22 Oppo广东移动通信有限公司 视频解码控制方法、装置以及电子设备
KR20220039114A (ko) * 2020-09-21 2022-03-29 삼성전자주식회사 전자 장치 및 그 동작 방법
CN113075993B (zh) * 2021-04-09 2024-02-13 杭州华橙软件技术有限公司 视频显示方法、装置和存储介质及电子设备
CN115209223A (zh) * 2022-05-12 2022-10-18 广州方硅信息技术有限公司 视频编/解码的控制处理方法、装置、终端以及存储介质
CN116055715B (zh) * 2022-05-30 2023-10-20 荣耀终端有限公司 编解码器的调度方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587735B1 (en) * 1999-05-10 2003-07-01 Canon Kabushiki Kaisha Data processing apparatus and processor selection method
CN101930380A (zh) * 2009-06-23 2010-12-29 索尼公司 信息处理装置、资源管理方法以及程序

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050094729A1 (en) * 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
JP2008067203A (ja) * 2006-09-08 2008-03-21 Toshiba Corp 映像合成装置、方法およびプログラム
JP2008139977A (ja) * 2006-11-30 2008-06-19 Matsushita Electric Ind Co Ltd ネットワークシステム
US8380864B2 (en) * 2006-12-27 2013-02-19 Microsoft Corporation Media stream slicing and processing load allocation for multi-user media systems
US10382514B2 (en) * 2007-03-20 2019-08-13 Apple Inc. Presentation of media in an application
JP2008310270A (ja) * 2007-06-18 2008-12-25 Panasonic Corp 暗号装置及び暗号操作方法
US8041132B2 (en) * 2008-06-27 2011-10-18 Freescale Semiconductor, Inc. System and method for load balancing a video signal in a multi-core processor
JP4504443B2 (ja) * 2008-08-12 2010-07-14 株式会社東芝 再生装置および再生装置の制御方法
GB2463329B (en) * 2008-09-10 2013-02-20 Echostar Advanced Technologies L L C Set-top box emulation system
JP2010244316A (ja) * 2009-04-07 2010-10-28 Sony Corp 符号化装置および方法、並びに、復号装置および方法
US7657337B1 (en) * 2009-04-29 2010-02-02 Lemi Technology, Llc Skip feature for a broadcast or multicast media station

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587735B1 (en) * 1999-05-10 2003-07-01 Canon Kabushiki Kaisha Data processing apparatus and processor selection method
CN101930380A (zh) * 2009-06-23 2010-12-29 索尼公司 信息处理装置、资源管理方法以及程序

Also Published As

Publication number Publication date
JP6335845B2 (ja) 2018-05-30
JP2014509118A (ja) 2014-04-10
KR20150091534A (ko) 2015-08-11
EP2666305A1 (en) 2013-11-27
WO2012100032A1 (en) 2012-07-26
CN103339959A (zh) 2013-10-02
JP5788995B2 (ja) 2015-10-07
US20120183040A1 (en) 2012-07-19
KR101591437B1 (ko) 2016-02-03
JP2015181289A (ja) 2015-10-15
KR20130114734A (ko) 2013-10-17

Similar Documents

Publication Publication Date Title
CN103339959B (zh) 动态编解码器分配方法和设备
US10390049B2 (en) Electronic devices for sending a message and buffering a bitstream
TWI622288B (zh) 視訊解碼方法
US20110001643A1 (en) System and method for providing high throughput entropy coding using syntax element partitioning
CN101616318B (zh) 用于渲染或译码已压缩多媒体数据的方法及相关的装置
US9462274B2 (en) Transformation mode encoding and decoding method and apparatus
CN102857746B (zh) 环路滤波编解码方法及装置
TW201806391A (zh) 用於顯示串流壓縮之子串流多工
WO2012119463A1 (zh) 变换系数的编码方法、变换系数的解码方法,和装置
KR20150070313A (ko) 다수의 독립 코딩 스트림들 사이에서 공유된 모션 추정을 포함하는 비디오 코딩
KR101425286B1 (ko) 모션 추정을 위한 완전한 서브 매크로블록 형상 후보 저장 및 복구 프로토콜
CN103546754A (zh) 从h.264/avc到svc空间可分级的转码方法及系统
US20090279614A1 (en) Apparatus and method for managing reference frame buffer in layered video coding
KR102035759B1 (ko) 멀티-쓰레드 텍스처 디코딩
CN104506866B (zh) 一种适用于多码流的视频编码处理方法和视频编码器
CN102177713B (zh) 用于减少视频解码器中纹理解码模块的总线通信量的方法和装置
TWI559751B (zh) 用於評估要轉換成被跳過巨集區塊的巨集區塊候選者的方法、系統和電腦程式產品
US20150334391A1 (en) Region-based processing of predicted pixels
CN115297331A (zh) 一种视频数据处理方法、装置、设备及系统
WO2014154074A1 (zh) 一种深度信息编解码方法、装置及视频处理播放设备
CN104956677A (zh) 组合的并行流水线视频编码器
US20120183234A1 (en) Methods for parallelizing fixed-length bitstream codecs
Chien et al. Pipelined arithmetic encoder design for lossless JPEG XR encoder
EP2259432A1 (en) Variable-length code decoding apparatus and method
CN101345878A (zh) 解码系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
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: 20180309

Termination date: 20190119