CN110089119A - 用于分布式编码的恒定斜率比特率分配 - Google Patents

用于分布式编码的恒定斜率比特率分配 Download PDF

Info

Publication number
CN110089119A
CN110089119A CN201780078109.9A CN201780078109A CN110089119A CN 110089119 A CN110089119 A CN 110089119A CN 201780078109 A CN201780078109 A CN 201780078109A CN 110089119 A CN110089119 A CN 110089119A
Authority
CN
China
Prior art keywords
bit rate
chunking
curve
coding bit
coding
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.)
Granted
Application number
CN201780078109.9A
Other languages
English (en)
Other versions
CN110089119B (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.)
Netflix Inc
Original Assignee
Netflix 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 Netflix Inc filed Critical Netflix Inc
Publication of CN110089119A publication Critical patent/CN110089119A/zh
Application granted granted Critical
Publication of CN110089119B publication Critical patent/CN110089119B/zh
Active 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/21Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

在本发明的一个实施例中,比特率分配引擎为源数据的分布式编码分配比特率。在接收到源数据的组块时,比特率分配引擎基于多个点生成曲线,每个点指定不同的视觉质量等级和用于对该组块进行编码的对应编码比特率。随后,比特率分配引擎基于所生成的曲线和优化因子来计算优化的编码比特率,该优化因子与不同的视觉质量等级和针对源数据的多个组块的对应编码比特率相关联。然后,比特率分配引擎使得组块以优化的编码比特率被编码。有利地,得到的编码组块相对于针对源数据的多个组块的优化因子被优化。

Description

用于分布式编码的恒定斜率比特率分配
相关申请的交叉引用
本申请要求于2016年10月18日提交的、序列号为15/296,580的美国专利申请的权益,该美国专利申请据此通过引用合并于本文。
技术领域
本发明的实施例一般地涉及计算机科学,并且更具体地,涉及用于分布式编码的恒定斜率比特率分配。
背景技术
有效地编码源数据对于视频内容的实时传送是必不可少的。为了优化编码时间,分布式编码处理跨多个计算实例对编码工作进行并行化。在分布式编码的一种方法中,编码子系统将源数据(例如,视频)分解为单独的源组块(chunk)并跨多个计算实例分发每个组块编码。因为计算实例独立于其他源组块并且与其他源组块并行地编码每个源组块,所以优化了编码时间。但是,由于在每个组块编码期间计算实例之间没有反馈,因此难以在编码处理期间全局优化跨组块的编码决策。因此,用于分配用于编码每个源组块的比特数(在本文中也称为比特率)的传统方法经常导致比特率和视觉质量之间的次优权衡。
例如,在分配比特率的一种方法中,编码子系统基于源数据的复杂度来计算单个比特率。然后,编码子系统配置计算实例以将比特率应用于每个源组块。然而,在其中源数据的复杂度在源组块之间明显不同的情况下,由单个比特率表示的权衡可能是次优的。更具体地,假设编码子系统基于简单动画的平均复杂度来计算比特率,但是特定源组块包括详细的动作序列。该计算出的比特率导致对包括详细的动作序列的源组块的比特过低分配,这导致动画的该组块与构成动画的其他组块相比具有相对差的视觉质量。相反,假设编码子系统基于详细动作电影的平均复杂度来计算比特率,但是特定源组块包括滚动信用(credit)。这里,计算出的比特率导致对包括滚动信用的源组块的比特过度分配,其从构成详细动作电影的其他组块中夺走资源(例如,存储和带宽使用),而不显着增加电影的总体视觉质量。
为了改进跨构成源数据的不同组块的比特分配,一些编码方法计算表示视觉质量的目标总体等级的单个恒定速率因子。对于每个源组块,计算实例估计源组块中所包括的每个帧的复杂度,并且然后基于估计的复杂度和恒定速率因子分配用于编码每个帧的比特数。因此,与如上所述的基于单个比特率的编码所产生的跨组块的视觉质量相比,基于这种类型的恒定速率因子的编码通常导致跨组块的视觉质量更加均匀。
然而,因为不同的计算实例彼此独立地计算每个源组块的比特率,所以恒定速率因子通常不会导致全局优化的比特率,该全局优化的比特率在跨不同组块的资源分配与视觉质量之间进行平衡。具体地,利用恒定速率因子方法,在编码期间计算实例分配的每个附加比特仍然可能导致过度分配比特到一个组块以及过低分配比特到不同组块。因此,对于用于编码源数据的总比特数,可能不会优化聚合编码的总体视觉质量。此外,恒定速率因子编码仅在某些编码器中可用。例如,恒定速率因子编码在VP9的libvpx实施方式中不可用。
如前所述,本领域需要的是用于在分布式编码处理期间分配比特率的更有效的方法。
发明内容
本发明的一个实施例阐述了一种用于在分布式编码处理期间分配比特率的计算机实现的方法。该方法包括:基于多个点生成曲线,其中,每个点指定不同视觉质量等级和用于对被包括在源数据的多个组块中的第一组块进行编码的对应编码比特率;基于生成的曲线和计算出的优化因子,计算用于对第一组块进行编码的第一编码比特率,该优化因子与不同视觉质量等级和针对组块的对应编码比特率相关联;和使得第一组块以第一编码比特率被编码。
所公开的技术的一个优点是基于组块特定的计算出的比特率对每个组块进行编码导致如下的聚合编码:该聚合编码相对于单个计算出的优化因子跨组块地被优化。因此,与用于分布式编码的传统比特率分配技术不同,对于任何给定比特率,恒定斜率比特率分配器优化聚合编码的总体视觉质量。
附图说明
因此,本发明的上述特征可以被详细理解的方式、上面简要概述的本发明的更具体的描述可以通过参考实施例来获得,其中一些实施例在附图中示出。然而,应注意,附图仅示出了本发明的典型实施例,并且因此不应视为限制本发明的范围,因为本发明可允许其他同等有效的实施例。
图1是被配置为实现本发明的一个或多个方面的编码系统的概念图示;
图2是根据本发明的各种实施例的图1的恒定斜率比特率分配器的更详细的图示;
图3是根据本发明的各种实施例的由图2的比特率优化引擎执行的操作的示例性图示;
图4是根据本发明的各种实施例的用于在编码源数据时分配比特率的方法步骤的流程图;和
图5是根据本发明的各种实施例的用于计算因子的方法步骤的流程图,该因子被设计为在编码源数据时优化比特率分配和总体图像质量。
具体实施方式
在以下描述中,阐述了许多具体细节以提供对本发明的更透彻的理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节中的一个或多个的情况下实践本发明。
系统概述
图1是被配置为实现本发明的一个或多个方面的编码系统100的概念图示。如图所示,编码系统100包括虚拟私有云(即,封装的共享资源、软件、数据等)102,该虚拟私有云102连接到能够发送输入数据和/或显示视频内容的各种设备。这些设备包括但不限于游戏控制台103、智能电话104、智能电视105、膝上型电脑106、平板电脑107和台式计算机108。在可选实施例中,编码系统100可包括任何数量和/或类型的输入、输出、和/或输入/输出设备的任何组合。
虚拟私有云102包括但不限于任何数量和类型的计算实例110。虚拟私有云102从输入设备(例如,膝上型电脑106)接收输入用户信息,一个或多个计算实例110对用户信息进行操作,并且虚拟私有云102将处理后的信息发送给用户。虚拟私有云102通过任何数量的设备的显示能力(例如,传统的阴极射线管、液晶显示器、发光二极管等)将输出信息传送给用户。
在可选实施例中,虚拟私有云102可以用任何类型的云计算环境来替换,例如公共云或混合云。在其他实施例中,编码系统100可以包括任何分布式计算机系统而不是虚拟私有云102。在其他实施例中,编码系统100不包括虚拟私有云102,并且替代地,编码系统100包括单个计算单元,该单个计算单元实现多个处理单元(例如,以任何组合的中央处理单元和/或图形处理单元)。
出于解释的目的,类似对象的多个实例利用标识对象的参考标号和标识实例的括号里的标号(需要的话)来表示。如针对计算实例110(P)所示,每个计算实例110包括但不限于处理器112和存储器116。处理器112可以是能够执行指令的任何指令执行系统、装置或设备。例如,处理器112可以包括中央处理单元(CPU)、图形处理单元(GPU)、控制器、微控制器、状态机或它们的任何组合。存储器116存储内容(例如,软件应用和数据),以供计算实例110的处理器112使用。
存储器116可以是容易获得的存储器中的一个或多个,例如,随机存取存储器(RAM)、只读存储器(ROM)、软盘、硬盘、或者本地或远程的任何其他形式的数字存储装置。在一些实施例中,存储装置(未示出)可以补充或替换存储器116。存储装置可以包括处理器112可访问的任何数量和类型的外部存储器。例如但不限于,存储装置可以包括安全数字卡、外部闪存、便携式光盘只读存储器(CD-ROM)、光学存储设备、磁存储设备或前述的任何合适的组合。
通常,被包括在虚拟私有云102中的计算实例110被配置为实现一个或多个应用。更具体地,被包括在虚拟私有云102中的计算实例110被配置为对源数据120(例如,视频文件)进行编码。如图所示,计算实例110(P)-110(Q)被配置作为编码预处理器130,计算实例110(1)-110(N)被配置作为并行组块编码器172,并且计算实例110(M)被配置作为多组块组装器180。在可选实施例中,任何数量的计算实例可以以任何组合被配置作为编码预处理器130、并行组块编码器172、和多组块组装器180。例如,在一些实施例中,计算实例110(1)可以被配置作为编码预处理器130和多组块组装器180两者,并且计算实例110(2)-110(33)可以被配置作为并行组块编码器172。
在操作中,被包括在编码预处理器130中的源组块器140接收源数据120并将源数据120分成N个不同的源组块(图1中未示出),其中N对应于并行组块编码器172中所包括的计算实例110的数量。对于每个源组块,编码预处理器130生成编码任务160,该编码任务160将被包括在并行组块编码器172中的计算实例110的不同计算实例110配置为对源组块执行编码操作从而创建对应的组块编码174。然后,多组块组装器180将组块编码174(1)-174(N)组合成聚合编码190。在可选实施例中,源组块器140可以将源数据120分成任何数量的源组块,并且源组块的数量可以等于或不等于并行组块编码器172中所包括的计算实例110的数量。
如本领域技术人员将认识到的,每个源组块包括针对特定时间间隔的源数据。因此,并行组块编码器172对特定源组块进行编码的比特率确定了被包括在所得到的组块编码174中的比特数。因此,优化特定源组块的比特率在本文中也可被称为优化被分配用于对源组块进行编码的比特数或分配用于对源组块进行编码的最佳比特数。
为了优化编码时间,不管组块的数量和并行组块编码器172中所包括的计算实例110的数量如何,并行组块编码器172独立地且基本上并行地对源组块进行编码。如本文所提到的,“基本上并行地”对源组块进行编码包括执行涉及两个或更多个源组块的不同编码操作,其中该不同编码操作的至少一部分在时间上部分地或完全地重叠。并行组块编码器172的一个限制是:在每一组块的分布式编码处理期间,在对不同组块进行编码的计算实例110之间不存在反馈。因此,在编码处理期间优化跨组块的权衡是困难的。特别地,对用于编码每个源组块的比特数(在本文中也被称为比特率)进行分配的传统方法经常导致比特率和视觉质量之间的次优权衡。
例如,一些传统编码方法计算表示视觉质量的目标总体等级的单个恒定速率因子。对于每个源组块,计算实例独立地估计源组块中所包括的每个帧的复杂度,并且然后基于所估计的复杂度和恒定速率因子分配用于编码每个帧的比特数。然而,因为不同的计算实例彼此独立地计算针对每个源组块的比特率,所以恒定速率因子通常不会导致全局优化的比特率,该全局优化的比特率在跨不同组块的资源分配与视觉质量之间进行平衡。具体地,利用恒定速率因子方法,在编码期间计算实例分配的每个附加比特仍然可能导致过度分配比特到一个组块以及过低分配比特到不同组块。因此,对于用于编码源数据的总比特数,聚合编码的总体视觉质量可能不被优化。此外,恒定速率因子编码仅在某些编码器中可用。例如,恒定速率因子编码在VP9的libvpx实施方式中不可用。
恒定斜率比特率分配
为了确保在源数据120的编码期间并行组块编码器172分配的每个附加比特被分配给最佳组块编码174,编码预处理器130包括恒定斜率比特率分配器150。通常,恒定斜率比特率分配器150实现拉格朗日优化的恒定斜率解释,以在将比特率分配给源组块时全局优化单个比特率-质量权衡。更具体地,恒定斜率比特率分配器150确定拉格朗日乘数(在本文中被称为兰木达(λ)),其反映针对源数据120的期望的全局比特率-质量权衡。对于每个源组块,基于组块特定的比特率-质量曲线和单个λ,恒定斜率比特率分配器150然后单独地计算优化的组块特定的比特率,其在本文中被称为组块比特率。
对于每个源组块,编码预处理器130然后生成编码任务160,该编码任务160将被包括在并行组块编码器174中的对应计算实例110配置为以相关联的组块比特率对源组块进行编码。如本领域技术人员将认识到的,因为每个组块比特率是相对于λ进行优化的,所以拉格朗日优化确保了组块编码174相对于由λ反映的全局比特率-质量权衡来被全局优化。因此,在编码期间分配的每个附加比特被分配给最佳组块编码174,并且对于被包括在所得到的聚合编码190中的总比特数,聚合编码190的总体视觉质量被优化。
注意,本文描述的技术是说明性的而不是限制性的,并且可以在不脱离本发明的更广泛的精神和范围的情况下进行改变。具体地,由恒定斜率比特率分配器150提供的功能可以以任何数量(包括1个)的计算实例110和任何组合的软件应用来实现。例如,在一些实施例中,并行组块编码器172中所包括的每个计算实例110可以实现恒定斜率比特率分配器150的部分功能。在这样的实施例中,除了基本上并行地对源组块进行编码之外,并行组块编码器172中所包括的计算实例110可以单独地并且基本上并行地计算优化的组块比特率。
图2是根据本发明的各种实施例的图1的恒定斜率比特率分配器150的更详细的图示。如图所示,恒定斜率比特率分配器150包括但不限于复杂度分析器210和比特率优化引擎230。还如图所示,源数据120被划分为源组块202(1)-202(N)。
复杂度分析器210接收被包括在源数据120中的所有源组块202,并基于针对源数据120的期望速率-质量权衡来计算λ220。复杂度分析器210可以被配置为以任何技术上可行的方式实现任何期望的速率-质量权衡。如本领域技术人员将认识到的,复杂度分析器210可以利用通常用于计算单个恒定速率因子的技术,该单个恒定速率因子表示目标视觉质量。λ220在本文中也被称为拉格朗日乘数和/或优化因子。
例如,复杂度分析器210可以被配置为确定比特率,该比特率确保95%的组块编码174超过预定的视觉质量等级。复杂度分析器210可以以预定的视觉质量等级对被包括在源数据120中的源组块202进行编码,并且然后基于对应的编码比特率来构建累积分布函数(CDF)。基于CDF,复杂度分析器210可以将“代表性”源组块202和“代表性”比特率分别设置为源组块202和对应于源组块202的第95百分位的编码比特率。
对于代表性源组块202,复杂度分析器210可以以各种视觉质量等级生成多个代表性预编码,并且然后基于代表性预编码来构建代表性比特率-质量曲线。随后,复杂度分析器210可以选择代表性比特率-质量曲线在代表性比特率或质量处的切线作为全局比特率-质量权衡。最后,复杂度分析器210可以将λ(即,拉格朗日优化的恒定斜率解释中的拉格朗日乘数)设置为等于切线的斜率。
在可选实施例中,恒定斜率比特率分配器150、复杂度分析器210或被包括在编码系统100中的任何其他组件可以以任何技术上可行的方式确定全局比特率-质量权衡和/或λ220。例如,在一些实施例中,复杂度分析器210可以实现启发法来估计代表性组块和代表性比特率。在其他实施例中,恒定斜率比特率分配器150可以不包括复杂度分析器210,并且恒定斜率比特率分配器150可以从图形用户界面接收λ220。
通常,恒定斜率比特率分配器150可以基于任何数量的启发法和配置输入来确定λ220。举几个例子,配置输入的一些示例包括指定类型的源数据120(例如,动作文件、纪录片等)、目标视觉质量、和指定用于标识代表性组块的百分位数的可编程参数。在可选实施例中,恒定斜率比特率分配器150或复杂度分析器210可以基于资源限制(例如,可用带宽、设备容量等)以任何技术上可行的方式来选择λ220。例如,复杂度分析器210可以实现迭代技术(例如,分半搜索(bisection search))以确定满足可用于编码的比特的总“预算”的λ220的值。
如图所示,对于每个源组块202,比特率优化引擎230的单独实例接收源组块202和λ220,并且然后计算与源组块202相关联的组块比特率282。比特率优化引擎230的实例单独地并且基本上并行地对源组块202进行操作。在可选实施例中,恒定斜率比特率分配器150可以包括比特率优化引擎230的任何数量的实例(包括1个)。此外,比特率优化引擎230的实例可以同时、顺序地、或以其任何组合进行操作。
不管比特率优化引擎230被配置为如何对源组块202进行操作,比特率优化引擎230执行拉格朗日优化操作以基于λ220来确定针对每个源组块202的不同组块比特率282。因此,以对应的组块比特率282对每个源组块202进行编码,确保了聚合编码190相对于由λ220反映的全局比特率-质量权衡被优化。
如图所示,比特率优化引擎230包括但不限于曲线计算传递引擎240、曲线拟合器260、和比特率选择器280。在接收源组块202时,曲线计算传递引擎240生成四个预编码242。更准确地说,对于四个不同的预定视觉质量等级中的每一个,曲线计算传递引擎240将编码器(例如,并行组块编码器172)配置为以该视觉质量等级对源组块202进行编码。
在可选实施例中,曲线计算传递引擎240可以以任何数量的视觉质量等级生成任何数量的预编码242。此外,曲线计算传递引擎240可以生成预编码242并以任何技术上可行的方式确定视觉质量等级。例如,在一些实施例中,曲线计算传递引擎240可以实现启发法以生成针对十二个视觉质量等级的近似预编码242,曲线计算传递引擎240可以从图形用户界面接收该十二个视觉质量等级。
有利地,恒定斜率比特率分配器150和/或复杂度分析器210可以基于任何数量和类型的视觉质量度量(包括失真度量)来配置,而不管并行组块编码器172的能力如何。视觉质量度量的一些示例包括但不限于视频多方法评估融合(VMAF)、细节损失测量(DLM)、视觉信息保真度(VIF)、结构相似性(SSIM)指数、和均方误差(MSE)。相比之下,用于比特分配的传统技术依赖于在并行组块编码器172中实现的视觉质量度量。
曲线计算传递引擎240分析每个预编码242以确定对应的比特率-质量点250。更准确地说,对于每个预编码242,曲线计算传递引擎240生成比特率-质量点250,该比特率-质量点250包括预编码242的比特率和与预编码242相关联的预定视觉质量等级。在可选实施例中,曲线计算传递引擎240可以以任何技术上可行的方式生成比特率-质量点250。在一些可选实施例中,曲线计算传递引擎240可以不生成预编码242,而是实现启发法来估计比特率-质量点250。
随后,曲线拟合器260基于比特率-质量点250来生成与源组块202相关联的比特率-质量曲线270。曲线拟合器260可以以任何技术上可行的方式生成比特率-质量曲线270。例如,在一些实施例中并且如下面结合图3所详细描述的,曲线拟合器260可以将对数曲线拟合到比特率-质量点250,并且然后将比特率-质量曲线270设置为等于对数曲线。在其他实施例中,曲线拟合器260可以将多项式曲线拟合到比特率-质量点250,并且然后将比特率-质量曲线270设置为等于多项式曲线。
如图所示,比特率选择器280接收比特率-质量曲线270和λ220。通常,比特率选择器280执行标识如下比特率的操作:比特率-质量曲线270在该比特率处的切线的斜率等于λ220。然后,比特率选择器280将与源组块202相关联的组块比特率282设置为等于所标识的比特率。比特率选择器280可以执行与比特率-质量曲线270的特性和λ220的特性一致的任何数量和类型的操作,以确定组块比特率282。例如,如下面结合图3详细描述的,比特率选择器280可以将比特率-质量曲线270的导数设置为等于λ220,并且然后求解组块比特率282。
注意,本文描述的技术是说明性的而不是限制性的,并且可以在不脱离本发明的更广泛的精神和范围的情况下进行改变。具体地,由恒定斜率比特率分配器150、比特率优化引擎230、和/或复杂度分析器210提供的功能可以以任何组合在任何数量(包括1个)的软件应用中实现。此外,在各种实施例中,可以以任何技术上可行的方式实现本文公开的任何数量的技术,同时可以省略其他技术。
在不脱离所描述的实施例的精神和范围的情况下,由恒定斜率比特率分配器150、比特率优化引擎230、和/或复杂度分析器210提供的对功能的许多修改和变化对于本领域普通技术人员来说将是显而易见的。例如,在一些实施例中,恒定斜率比特率分配器150可以被配置为生成和分析比特率-失真曲线而不是比特率-质量曲线270。
图3是根据本发明的各种实施例的由图2的比特率优化引擎230(i)执行的操作的示例性图示。如本文中前面概述的,比特率优化引擎230(i)相对于λ220优化与源组块202(i)相关联的组块比特率282(i)。仅出于解释的目的,以图形方式表示操作顺序。此外,以等式形式表示类似的、替代的操作顺序。
为了以图形方式计算组块比特率282(i),曲线拟合器260(i)执行由标记有“1”、“2”、和“3”的圆圈所示的操作。首先,如标记有“1”的圆圈所示,曲线拟合器260(i)将对数曲线拟合到比特率-质量点250。然后曲线拟合器260(i)将比特率-质量曲线270(i)设置为等于所拟合的对数曲线。以这种方式,比特率-质量曲线270(i)近似于比特率-质量点250。其次,如标记有“2”的圆圈所示,曲线拟合器260(i)标识其斜率等于λ220的比特率-质量曲线270(i)的切线。最后,如标记有“3”的圆圈所示,曲线拟合器260(i)将组块比特率282(i)设置为等于与所标识的切线相对应的比特率。
为了基于以等式形式表示(如“表示为对数函数”382所示)的比特率-质量曲线270(i)来计算组块比特率282(i),比特率选择器280首先将比特率-质量曲线270表示为比特率(R)的对数函数(L),如下:
L(R)=α(i)·ln(R)+c (1)
其次,如“将导数设置为λ”384所示,比特率选择器280将对数函数的导数设置为等于λ220,如下:
最后,如“比特率求解”386所示,比特率选择器280求解组块比特率282(i),如下:
在可选实施例中,比特率优化引擎230(i)可以基于λ220来实现优化组块比特率282(i)的任何数量和类型的操作。例如,为了计算组块比特率282(i),比特率优化引擎230(i)可以将比特率-质量曲线270(i)的对数-对数图的斜率除以λ220。
图4是根据本发明的各种实施例的用于在编码源数据时分配比特率的方法步骤的流程图。尽管参考图1-3的系统描述了方法步骤,但是本领域技术人员将理解的是,被配置为以任何顺序实现这些方法步骤的任何系统都落入本发明的范围内。
如图所示,方法400开始于步骤406处,其中复杂度分析器210基于源数据120中所包括的源组块202来计算λ220。λ220反映针对源数据120的全局比特率-质量权衡。复杂度分析器210可以以任何技术上可行的方式计算λ220,该方式与使用λ220作为用于优化组块比特率282的拉格朗日乘数一致。例如,在一些实施例中,复杂度分析器210可以实现图5的方法步骤(下面进行描述)来计算λ220。
在步骤408处,对于源组块202中的每一个,曲线计算传递引擎240以M个预定视觉质量等级对源组块202进行编码以生成M个预编码242。在步骤410处,对于源组块202中的每一个,曲线计算传递引擎240基于M个预编码242来确定M个比特率-质量点250。比特率-质量点250中的每一个包括预定的视觉质量等级和以预定的视觉质量等级编码的预编码242的编码比特率。
在可选实施例中,曲线计算传递引擎240可以以任何技术上可行的方式生成预编码242和/或确定比特率-质量点250。例如,在一些可选实施例中,曲线计算传递引擎240可以基于启发法来估计比特率-质量点250。在这样的实施例中,曲线计算传递引擎240可以不执行步骤408。
在步骤412处,对于源组块202中的每一个,曲线拟合器260将对数曲线拟合到M个比特率-质量点250,以生成与源组块202相关联的比特率-质量曲线270。在可选实施例中,曲线拟合器260可以以任何技术上可行的方式生成比特率-质量曲线270。例如,在可选实施例中,曲线拟合器260可以将多项式曲线拟合到比特率-质量点250,并且然后将比特率-质量曲线270设置为等于多项式曲线。
在步骤414处,对于源组块202中的每一个,比特率选择器280标识其斜率等于λ220的比特率-质量曲线270的切线。比特率选择器280可以以任何技术上可行的方式标识切线。在步骤416处,对于源组块202中的每一个,比特率选择器280基于所标识的相关联比特率-质量曲线270的切线来设置源组块202的组块比特率282。更具体地,比特率选择器280将组块比特率282设置为与所标识的切线相对应的比特率。
在可选实施例中,对于源组块202(i)中的每一个,比特率选择器280可以以任何技术上可行的方式基于比特率-质量曲线270(i)来计算组块比特率282(i)。例如,在一些实施例中,比特率选择器280可以将比特率-质量曲线270(i)的导数设置为等于λ220,并且然后求解组块比特率282(i)。在这样的实施例中,比特率选择器280可以不执行步骤414和/或416。
在步骤418处,对于源组块202中的每一个,编码预处理器130将被包括在并行组块编码器172中的单独的计算实例110配置为以相关联组块比特率282对源组块202进行独立编码。以这种方式,编码预处理器130确保并行组块编码器172基于单个全局比特率-质量权衡来生成组块编码174中的每一个。
图5是根据本发明的各种实施例的用于计算因子的方法步骤的流程图,该因子被设计为在编码源数据时优化比特率分配和总体图像质量。尽管参考图1-3的系统描述了方法步骤,但是本领域技术人员将理解的是,被配置为以任何顺序实现这些方法步骤的任何系统都落入本发明的范围内。
如图所示,方法500开始于步骤504处,其中复杂度分析器210以预定视觉质量等级对被包括在源数据120中的源组块202进行编码以确定对应的编码比特率。在步骤506处,复杂度分析器210生成编码比特率的累积分布函数(CDF)。在步骤508处,复杂度分析器210基于CDF和预定百分位数来选择代表性组块和代表性比特率。更具体地,复杂度分析器210分析CDF并将代表性比特率设置为如下比特率:该比特率超过源组块202的预定百分位数的编码比特率。然后,复杂度分析器210将代表性组块设置为与代表性比特率相关联的源组块202。在可选实施例中,复杂度分析器210可以以任何技术上可行的方式来选择代表性组块和代表性比特率。
在步骤510处,对于代表性组块,复杂度分析器210以M个预定视觉质量等级中的每一个生成代表性预编码。在步骤512处,复杂度分析器基于M个预编码来确定M个代表性比特率-质量点。M个代表性比特率-质量点中的每一个指定预定视觉质量等级和以预定视觉质量等级编码的代表性预编码的编码比特率。
在步骤514处,复杂度分析器210将对数曲线拟合到M个代表性比特率-质量点,以构建代表性比特率-质量曲线。在可选实施例中,复杂度分析器210可以以任何技术上可行的方式将任何类型的曲线拟合到代表性比特率-质量点。在步骤516处,复杂度分析器将λ220设置为与代表性比特率相对应的代表性比特率-质量曲线的切线的斜率。然后方法500终止。
总之,所公开的技术可用于在分布式编码处理期间跨被包括在源数据(例如,电影等)中的源组块来分配比特率。恒定斜率比特率分配器包括复杂度分析器和比特率优化引擎的多个实例。复杂度分析器对源组块进行分析以计算单个λ,该λ表示用于编码源数据的比特率和质量之间的全局优化权衡。对于每个源组块,随后并且基本上并行地,比特率优化引擎的实例利用拉格朗日优化技术来基于λ计算组块比特率。更具体地,对于每个源组块,比特率优化引擎粗略估计与编码源组块相关联的比特率-质量曲线,并标识其中曲线的斜率与λ匹配的曲线上的点。然后,比特率优化引擎将组块比特率设置为等于所标识的点的比特率。
有利地,基于对应的组块比特率对每个组块进行编码导致聚合编码,该聚合编码针对比特率和质量之间的全局权衡被跨组块优化。因此,与用于分布式编码的传统比特率分配技术不同,对于任何给定比特率,恒定斜率比特率分配器优化聚合编码的总体视觉质量。此外,与基于恒定速率因子的传统比特率分配技术不同,用于任何压缩标准的编码器(包括VP9)可以基于任何质量度量来实现所公开的比特率分配技术。
1.在一些实施例中,一种方法包括:基于多个点生成曲线,其中,每个点指定不同视觉质量等级和用于对被包括在源数据的多个组块中的第一组块进行编码的对应编码比特率;基于所生成的曲线和计算出的优化因子,计算用于对第一组块进行编码的第一编码比特率,该优化因子与不同视觉质量等级和针对多个组块的对应编码比特率相关联;以及使得第一组块以第一编码比特率被编码。
2.如条款1所述的方法,其中,生成曲线包括:基于多个点执行一个或多个曲线拟合操作。
3.如条款1或2所述的方法,还包括:在生成曲线之前,计算被包括在多个点中的第一点,以及计算被包括在多个点中的第二点,计算第二点与计算第一点基本上并行进行。
4.如条款1-3中任一项所述的方法,其中,计算第一点包括:将编码器配置为基于第一视觉质量等级对第一组块进行编码,以及基于经编码的第一组块来确定对应编码比特率。
5.如条款1-4中任一项所述的方法,其中,计算第一编码比特率包括:确定所生成的曲线的切线,以及基于所生成的曲线确定与该切线相对应的编码比特率的值。
6.如条款1-5中任一项所述的方法,其中,计算第一编码比特率包括:基于计算出的优化因子对所生成的曲线执行一个或多个拉格朗日优化操作。
7.如条款1-6中任一项所述的方法,其中,对计算出的优化因子进行计算包括:生成代表性曲线,该代表性曲线与对被包括在多个组块中的代表性组块进行编码相关联;计算与代表性编码比特率相对应的代表性曲线的切线;以及确定该切线的斜率。
8.如条款1-7中任一项所述的方法,其中,使得第一组块以第一编码比特率被编码包括:将编码器配置为以第一编码比特率对第一组块进行编码,并且还包括:将编码器配置为以第二编码比特率对被包括在多个组块中的第二组块进行编码,并且对第二组块进行编码与对第一组块进行编码基本上并行进行。
9.在一些实施例中,计算机实现的计算机可读存储介质包括指令,该指令在由处理器执行时,使得处理器来执行以下步骤:执行一个或多个曲线计算操作以生成第一曲线,该第一曲线指定不同视觉质量等级和用于对被包括在源数据的多个组块中的第一组块进行编码的对应编码比特率;基于第一曲线和拉格朗日乘数,执行一个或多个优化操作以计算第一编码比特率,该第一编码比特率用于对第一组块进行编码,该拉格朗日乘数与不同视觉质量等级和在对多个组块进行编码时的对应编码比特率相关联;基于第二曲线和拉格朗日乘数,执行一个或多个优化操作以计算第二编码比特率,该第二编码比特率用于对被包括在多个组块中的第二组块进行编码;使得以第一编码比特率编码第一组块;以及使得以第二编码比特率编码第二组块,并且编码第二组块与编码第一组块基本上并行进行。
10.如条款9所述的计算机可读存储介质,其中,第一曲线包括对数曲线。
11.如条款9或10所述的计算机可读存储介质,其中,执行一个或多个曲线计算操作包括:计算多个点,以及基于多个点执行一个或多个曲线拟合操作,其中,每个点指定不同的视觉质量等级和用于编码第一组块的对应编码比特率。
12.如条款9-11中任一项所述的计算机可读存储介质,其中,计算被包括在多个点中的第一点包括:将编码器配置为基于第一视觉质量等级对第一组块进行编码,以及基于经编码的第一组块来确定对应编码比特率。
13.如条款9-12中任一项所述的计算机可读存储介质,其中,视觉质量等级基于如下项中的至少一项:视频多方法评估融合、峰值信噪比、和均方误差。
14.如条款9-13中任一项所述的计算机可读存储介质,其中,执行一个或多个优化操作以计算第一编码比特率包括:确定第一曲线的切线,以及基于第一曲线确定与该切线相对应的编码比特率的值。
15.如条款9-14中任一项所述的计算机可读存储介质,还包括在执行一个或多个优化操作以计算第一编码比特率之前进行以下操作:生成代表性曲线,该代表性曲线与对被包括在多个组块中的代表性组块进行编码相关联;计算与代表性编码比特率相对应的代表性曲线的切线;以及将拉格朗日乘数设置为等于该切线的斜率。
16.如条款9-15中任一项所述的计算机可读存储介质,其中,使得以第一编码比特率编码第一组块包括:将实现VP9视频压缩标准的编码器配置为以第一编码比特率对第一组块进行编码。
17.如条款9-16中任一项所述的计算机可读存储介质,其中,执行一个或多个优化操作以计算第二编码比特率与执行一个或多个优化操作以计算第一编码比特率基本上并行地发生。
18.在一些实施例中,一种系统包括存储器,该存储器存储有指令;以及处理器,该处理器耦合到该存储器,并且在执行指令时,被配置为进行以下操作:确定拉格朗日乘数,该拉格朗日乘数与不同视觉质量等级和在对源数据的多个组块进行编码时的对应编码比特率相关联;对于被包括在多个组块中的每个组块,基于拉格朗日乘数独立地执行一个或多个优化操作以确定编码比特率;以及对于被包括在多个组块中的每个组块,使得以与该组块相关联的编码比特率对该组块进行编码。
19.如条款18所述的系统,其中,视觉质量等级基于如下项中的至少一项:视频多方法评估融合、峰值信噪比、和均方误差。
20.如条款18或19所述的系统,其中,处理器被配置为通过以下操作来执行针对被包括在多个组块中的第一组块的一个或多个优化操作:生成第一曲线,该第一曲线指定不同视觉质量等级和用于编码第一组块的对应编码比特率;确定第一曲线的切线;以及基于第一曲线确定与该切线相对应的编码比特率的值。
21.如条款18-20中任一项所述的系统,其中,处理器被配置为通过以下操作来执行针对被包括在多个组块中的第一组块的一个或多个优化操作:生成第一曲线,该第一曲线指定不同视觉质量等级和用于编码第一组块的对应编码比特率;计算第一曲线的导数;以及基于导数确定编码比特率的值。
已经出于示出的目的给出了各种实施例的描述,但是并不旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。
本实施例的各方面可以被体现为系统、方法或计算机程序产品。因此,本公开的各方面可以采取如下形式:完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)、或者组合软件和硬件方面的实施例(该软件和硬件方面在本文中通常都可以被称为“模块”或“系统”)。此外,本公开的各方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该一个或多个计算机可读介质具有体现在其上的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁、光学、电磁、红外、或半导体系统、装置、或设备、或者前述的任何合适的组合。计算机可读存储介质的更具体示例(非穷举列表)将包括以下内容:具有一条或多条电线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光学存储设备、磁存储设备、或前述的任何合适的组合。在本文件的上下文中,计算机可读存储介质可以是如下的任何有形介质:该有形介质可以包含或存储程序以供指令执行系统、装置或设备使用或与其结合使用。
以上参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程示意图和/或框图描述了本公开的各方面。将理解的是,流程示意图和/或框图的每个框、以及流程示意图和/或框图中的框的组合可以通过计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器(machine)。当通过计算机或其他可编程数据处理装置的处理器执行指令时,使得能够实现流程图和/或框图的一个或多个框中指定的功能/动作。这些处理器可以是但不限于通用处理器、专用处理器、应用特定的处理器、或现场可编程门阵列。
附图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能、和操作。在这方面,流程图或框图中的每个框可以表示代码的模块、片段或部分,其包括用于实现(一个或多个)指定的逻辑功能的一个或多个可执行指令。还应注意的是,在一些可选实施方式中,框中提到的功能可以不按附图中所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意的是,框图和/或流程示意图中的每个框、以及框图和/或流程示意图中的框的组合可以由如下各项来实现:执行指定功能或动作的基于专用硬件的系统、或专用硬件和计算机指令的组合。
虽然前述内容针对本公开的实施例,但是可以在不脱离本公开的基本范围的情况下想出本公开的其他实施例和进一步实施例,并且本公开的范围由所附权利要求确定。

Claims (21)

1.一种计算机实现的方法,包括:
基于多个点生成曲线,其中,每个点指定不同视觉质量等级和用于对被包括在源数据的多个组块中的第一组块进行编码的对应编码比特率;
基于所生成的曲线和计算出的优化因子,计算用于对所述第一组块进行编码的第一编码比特率,所述优化因子与不同视觉质量等级和针对所述多个组块的对应编码比特率相关联;以及
使得所述第一组块以所述第一编码比特率被编码。
2.根据权利要求1所述的计算机实现的方法,其中,生成所述曲线包括基于所述多个点执行一个或多个曲线拟合操作。
3.根据权利要求1所述的计算机实现的方法,还包括:在生成所述曲线之前,计算被包括在所述多个点中的第一点,以及计算被包括在所述多个点中的第二点,计算所述第二点与计算所述第一点基本上并行进行。
4.根据权利要求3所述的计算机实现的方法,其中,计算所述第一点包括:将编码器配置为基于第一视觉质量等级对所述第一组块进行编码,以及基于经编码的第一组块来确定对应编码比特率。
5.根据权利要求1所述的计算机实现的方法,其中,计算所述第一编码比特率包括:确定所生成的曲线的切线,以及基于所生成的曲线确定与所述切线相对应的编码比特率的值。
6.根据权利要求1所述的计算机实现方法,其中,计算所述第一编码比特率包括:基于所述计算出的优化因子对所生成的曲线执行一个或多个拉格朗日优化操作。
7.根据权利要求1所述的计算机实现的方法,其中,对所述计算出的优化因子进行计算包括:
生成代表性曲线,所述代表性曲线与对被包括在所述多个组块中的代表性组块进行编码相关联;
计算与代表性编码比特率相对应的所述代表性曲线的切线;以及
确定所述切线的斜率。
8.根据权利要求1所述的计算机实现的方法,其中,使得所述第一组块以所述第一编码比特率被编码包括:将编码器配置为以所述第一编码比特率对所述第一组块进行编码,并且还包括:将所述编码器配置为以第二编码比特率对被包括在所述多个组块中的第二组块进行编码,并且对所述第二组块进行编码与对所述第一组块进行编码基本上并行进行。
9.一种包括指令的计算机可读存储介质,所述指令在由处理器执行时,使得所述处理器来执行以下步骤:
执行一个或多个曲线计算操作以生成第一曲线,所述第一曲线指定不同视觉质量等级和用于对被包括在源数据的多个组块中的第一组块进行编码的对应编码比特率;
基于所述第一曲线和拉格朗日乘数,执行一个或多个优化操作以计算第一编码比特率,所述第一编码比特率用于对所述第一组块进行编码,所述拉格朗日乘数与不同视觉质量等级和在对所述多个组块进行编码时的对应编码比特率相关联;
基于第二曲线和所述拉格朗日乘数,执行一个或多个优化操作以计算第二编码比特率,所述第二编码比特率用于对被包括在所述多个组块中的第二组块进行编码;
使得以所述第一编码比特率编码所述第一组块;以及
使得以所述第二编码比特率编码所述第二组块,并且编码所述第二组块与编码所述第一组块基本上并行进行。
10.根据权利要求9所述的计算机可读存储介质,其中,所述第一曲线包括对数曲线。
11.根据权利要求9所述的计算机可读存储介质,其中,执行所述一个或多个曲线计算操作包括计算多个点,以及基于所述多个点执行一个或多个曲线拟合操作,其中,每个点指定不同的视觉质量等级和用于编码所述第一组块的对应编码比特率。
12.根据权利要求11所述的计算机可读存储介质,其中,计算被包括在所述多个点中的第一点包括:将编码器配置为基于第一视觉质量等级对所述第一组块进行编码,以及基于经编码的第一组块来确定对应编码比特率。
13.根据权利要求9所述的计算机可读存储介质,其中,所述视觉质量等级基于如下项中的至少一项:视频多方法评估融合、峰值信噪比、和均方误差。
14.根据权利要求9所述的计算机可读存储介质,其中,执行所述一个或多个优化操作以计算所述第一编码比特率包括:确定所述第一曲线的切线,以及基于所述第一曲线确定与所述切线相对应的编码比特率的值。
15.根据权利要求9所述的计算机可读存储介质,还包括在执行所述一个或多个优化操作以计算所述第一编码比特率之前进行以下操作:
生成代表性曲线,所述代表性曲线与对被包括在所述多个组块中的代表性组块进行编码相关联;
计算与代表性编码比特率相对应的所述代表性曲线的切线;以及
将所述拉格朗日乘数设置为等于所述切线的斜率。
16.根据权利要求9所述的计算机可读存储介质,其中,使得以所述第一编码比特率编码所述第一组块包括:将实现VP9视频压缩标准的编码器配置为以所述第一编码比特率对所述第一组块进行编码。
17.根据权利要求9所述的计算机可读存储介质,其中,执行所述一个或多个优化操作以计算所述第二编码比特率与执行所述一个或多个优化操作以计算所述第一编码比特率基本上并行地发生。
18.一种系统,包括:
存储器,所述存储器存储指令;以及
处理器,所述处理器耦合到所述存储器,并且在执行所述指令时,被配置为进行以下操作:
确定拉格朗日乘数,所述拉格朗日乘数与不同视觉质量等级和在对源数据的多个组块进行编码时的对应编码比特率相关联;
对于被包括在所述多个组块中的每个组块,基于所述拉格朗日乘数独立地执行一个或多个优化操作以确定编码比特率;以及
对于被包括在所述多个组块中的每个组块,使得以与该组块相关联的编码比特率对该组块进行编码。
19.根据权利要求18所述的系统,其中,所述视觉质量等级基于如下项中的至少一项:视频多方法评估融合、峰值信噪比、和均方误差。
20.根据权利要求18所述的系统,其中,所述处理器被配置为通过以下操作来执行针对被包括在所述多个组块中的第一组块的所述一个或多个优化操作:
生成第一曲线,所述第一曲线指定不同视觉质量等级和用于编码所述第一组块的对应编码比特率;
确定所述第一曲线的切线;以及
基于所述第一曲线确定与所述切线相对应的编码比特率的值。
21.根据权利要求18所述的系统,其中,所述处理器被配置为通过以下操作来执行针对被包括在所述多个组块中的第一组块的所述一个或多个优化操作:
生成第一曲线,所述第一曲线指定不同视觉质量等级和用于编码所述第一组块的对应编码比特率;
计算所述第一曲线的导数;以及
基于所述导数确定编码比特率的值。
CN201780078109.9A 2016-10-18 2017-10-17 用于比特率分配的方法、系统及存储介质 Active CN110089119B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/296,580 2016-10-18
US15/296,580 US10547856B2 (en) 2016-10-18 2016-10-18 Constant-slope bitrate allocation for distributed encoding
PCT/US2017/056902 WO2018075465A1 (en) 2016-10-18 2017-10-17 Constant-slope bitrate allocation for distributed encoding

Publications (2)

Publication Number Publication Date
CN110089119A true CN110089119A (zh) 2019-08-02
CN110089119B CN110089119B (zh) 2021-11-30

Family

ID=60201684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780078109.9A Active CN110089119B (zh) 2016-10-18 2017-10-17 用于比特率分配的方法、系统及存储介质

Country Status (10)

Country Link
US (1) US10547856B2 (zh)
EP (1) EP3529989A1 (zh)
KR (1) KR102214284B1 (zh)
CN (1) CN110089119B (zh)
AU (2) AU2017346590B9 (zh)
BR (1) BR112019007970A2 (zh)
CA (1) CA3041044C (zh)
MX (1) MX2019004572A (zh)
SG (1) SG11201903457RA (zh)
WO (1) WO2018075465A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10306250B2 (en) * 2017-06-16 2019-05-28 Oath Inc. Video encoding with content adaptive resource allocation
US10862942B2 (en) 2018-05-24 2020-12-08 Netflix, Inc. Techniques for evaluating a video rate selection algorithm based on a greedy optimization of total download size over a completed streaming session
US11343492B2 (en) * 2019-03-15 2022-05-24 Mux, Inc. Method for generating video- and audience-specific encoding ladders
US11695978B2 (en) 2018-07-05 2023-07-04 Mux, Inc. Methods for generating video-and audience-specific encoding ladders with audio and video just-in-time transcoding
US10911513B2 (en) * 2018-07-16 2021-02-02 Netflix, Inc. Techniques for determining an upper bound on visual quality over a completed streaming session
US11546401B2 (en) * 2019-11-07 2023-01-03 Bitmovin, Inc. Fast multi-rate encoding for adaptive HTTP streaming
US11936864B2 (en) 2019-11-07 2024-03-19 Bitmovin, Inc. Fast multi-rate encoding for adaptive streaming using machine learning
EP3939288A1 (en) 2020-05-19 2022-01-19 Google LLC Multivariate rate control for transcoding video content

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028840A (en) * 1996-10-04 2000-02-22 General Datacomm, Inc. Method and apparatus for connection admission control of variable bit rate traffic in ATM switch
US6400773B1 (en) * 1999-06-04 2002-06-04 The Board Of Trustees Of The University Of Illinois Section division operating point determination method for multicarrier communication systems
US6688714B1 (en) * 1998-07-10 2004-02-10 Koninklijke Philips Electronics N.V. Bit-rate modification
CN1514561A (zh) * 2002-12-31 2004-07-21 深圳市中兴通讯股份有限公司上海第二 移动通信系统上行链路混合业务快速呼叫接纳控制方法
US20080084929A1 (en) * 2006-10-05 2008-04-10 Xiang Li Method for video coding a sequence of digitized images
US20080192738A1 (en) * 2007-02-14 2008-08-14 Microsoft Corporation Forward error correction for media transmission
CN102300094A (zh) * 2011-09-06 2011-12-28 中国科学院计算技术研究所 一种视频编码方法
CN103004190A (zh) * 2010-06-30 2013-03-27 英国电讯有限公司 视频流传送
CN104471955A (zh) * 2012-07-05 2015-03-25 摩托罗拉行动有限公司 用于自适应位速率流式传输的带宽分配的方法及装置
WO2016160295A1 (en) * 2015-03-30 2016-10-06 Netflix, Inc. Techniques for optimizing bitrates and resolutions during encoding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8837601B2 (en) 2010-12-10 2014-09-16 Netflix, Inc. Parallel video encoding based on complexity analysis
US20130179590A1 (en) 2011-09-20 2013-07-11 General Instrument Corporation Video quality of experience management and constrained fidelity adaptive bit rate encoding systems and methods
US9060207B2 (en) 2012-08-20 2015-06-16 Google Inc. Adaptive video streaming over a content delivery network
US10110911B2 (en) 2014-11-11 2018-10-23 Cisco Technology, Inc. Parallel media encoding

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028840A (en) * 1996-10-04 2000-02-22 General Datacomm, Inc. Method and apparatus for connection admission control of variable bit rate traffic in ATM switch
US6688714B1 (en) * 1998-07-10 2004-02-10 Koninklijke Philips Electronics N.V. Bit-rate modification
US6400773B1 (en) * 1999-06-04 2002-06-04 The Board Of Trustees Of The University Of Illinois Section division operating point determination method for multicarrier communication systems
CN1514561A (zh) * 2002-12-31 2004-07-21 深圳市中兴通讯股份有限公司上海第二 移动通信系统上行链路混合业务快速呼叫接纳控制方法
US20080084929A1 (en) * 2006-10-05 2008-04-10 Xiang Li Method for video coding a sequence of digitized images
US20080192738A1 (en) * 2007-02-14 2008-08-14 Microsoft Corporation Forward error correction for media transmission
CN103004190A (zh) * 2010-06-30 2013-03-27 英国电讯有限公司 视频流传送
CN102300094A (zh) * 2011-09-06 2011-12-28 中国科学院计算技术研究所 一种视频编码方法
CN104471955A (zh) * 2012-07-05 2015-03-25 摩托罗拉行动有限公司 用于自适应位速率流式传输的带宽分配的方法及装置
WO2016160295A1 (en) * 2015-03-30 2016-10-06 Netflix, Inc. Techniques for optimizing bitrates and resolutions during encoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙日明: "图像压缩技术", 《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》 *

Also Published As

Publication number Publication date
AU2017346590B9 (en) 2020-08-20
BR112019007970A2 (pt) 2019-09-03
CN110089119B (zh) 2021-11-30
KR102214284B1 (ko) 2021-02-09
US20180109799A1 (en) 2018-04-19
AU2017346590A1 (en) 2019-05-16
EP3529989A1 (en) 2019-08-28
CA3041044A1 (en) 2018-04-26
AU2017346590B2 (en) 2020-08-06
AU2020260494A1 (en) 2020-11-26
KR20190066050A (ko) 2019-06-12
MX2019004572A (es) 2019-12-18
CA3041044C (en) 2022-08-09
SG11201903457RA (en) 2019-05-30
US10547856B2 (en) 2020-01-28
WO2018075465A1 (en) 2018-04-26

Similar Documents

Publication Publication Date Title
CN110089119A (zh) 用于分布式编码的恒定斜率比特率分配
US10691647B2 (en) Distributed file system metering and hardware resource usage
Jamieson et al. Non-stochastic best arm identification and hyperparameter optimization
CN106020715B (zh) 存储池容量管理
CN103383655B (zh) 用于在qos感知云中管理合并的工作负载的性能干扰模型
US10162860B2 (en) Selectivity estimation for query execution planning in a database
US20170083873A1 (en) Infeasible schedules in a quantum annealing optimization process
CN102625100B (zh) 图像编码方法
Tikhonova et al. A Preview and Exploratory Technique for Large-Scale Scientific Simulations.
US20160239744A1 (en) Generating a prediction function using a genetic algorithm and a reduced number of factors
US11481682B2 (en) Dataset management in machine learning
Bruder et al. A hybrid in situ approach for cost efficient image database generation
US9841990B2 (en) Encoding of a schedule into a binary structure
CN115794358B (zh) 云工作流任务调度方法、装置、电子设备和存储介质
JP6677733B2 (ja) 効率的時系列ヒストグラム
CN113420165B (zh) 二分类模型的训练、多媒体数据的分类方法及装置
KR20210075904A (ko) 타겟팅 및 기타 설정을 개선하기 위한 콘텐츠 제공자 추천
KR20120069364A (ko) 멀티코어 환경에서 코어별 처리 능력 및 전력량을 고려한 프레임 처리장치 및 방법
EP3180774A1 (en) Automatic partitioning techniques for multi-phase pixel shading
CN115185606A (zh) 业务配置参数的获得方法、装置、设备及存储介质
CN114723239A (zh) 一种多方协同建模方法、装置、设备、介质及程序产品
CN114691370A (zh) 一种基于遗传算法的任务分配方法和装置
CN109634500B (zh) 一种用户资料填写方法、装置、终端设备及存储介质
EP2804141A1 (en) Manufacturing system with materials requirements planning system
Bhuiyan et al. Stochastic programming approach for resource selection under demand uncertainty

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