CN106550269A - 自适应视频解码方法、解码器以及音频/视频播放系统 - Google Patents

自适应视频解码方法、解码器以及音频/视频播放系统 Download PDF

Info

Publication number
CN106550269A
CN106550269A CN201610576762.5A CN201610576762A CN106550269A CN 106550269 A CN106550269 A CN 106550269A CN 201610576762 A CN201610576762 A CN 201610576762A CN 106550269 A CN106550269 A CN 106550269A
Authority
CN
China
Prior art keywords
decoding
adaptive video
adaptive
video decoder
audio
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.)
Withdrawn
Application number
CN201610576762.5A
Other languages
English (en)
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.)
MediaTek Inc
Original Assignee
MediaTek 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
Priority claimed from US14/856,558 external-priority patent/US10063873B2/en
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN106550269A publication Critical patent/CN106550269A/zh
Withdrawn legal-status Critical Current

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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种自适应视频解码方法、解码器以及音频/视频播放系统,其中,复杂度自适应视频解码器包括:多个元件,用于执行与视频解码有关的多个操作;以及解码复杂度管理器,用于基于关于复杂度自适应视频解码器的表示处理能力的参数执行解码复杂度管理,以决定是否降低复杂度自适应视频解码器内至少一元件的解码复杂度。利用本发明的复杂度自适应视频解码器可自适应地降低解码复杂度,从而减少解码工作量和相应功耗,为实现数字视频播放系统提供了的极大灵活性。

Description

自适应视频解码方法、解码器以及音频/视频播放系统
技术领域
本发明有关于一种自适应视频解码(adaptively performing video decoding)方法,尤其有关于一种自适应视频解码方法、复杂度自适应视频解码器(adaptivecomplexity video decoder)以及自适应音频/视频播放系统。
背景技术
当终端用户在家使用家庭影院系统观看视频节目时,视频节目的编码数据被解码以显示在家庭影院系统的显示屏上,且编码数据的解码结果可扩大或缩小以符合显示屏的尺寸和分辨率的要求。通常,不管对编码数据进行解码的算法多么复杂,也不管视频节目是否为高分辨率,家庭影院系统的解码装置可轻易地对编码数据进行解码。
对于终端用户来说,拥有可在任何地方观看同样视频节目的便携式电子装置是非常方便的,该便携式电子装置可例如移动电话或者个人数字助理(Personal DigitalAssistant,PDA)。然而,当制造商的研究与开发(Research and Development,R&D)团队在设计这种便携式电子装置时,可能出现一些问题。例如,在对编码数据进行解码的算法太复杂及/或视频节目的分辨率过高的情况下,便携式电子装置的解码能力有可能不足。又例如,当便携式电子装置内的一个或多个处理电路工作在最高可用工作频率时,功耗有可能过高。因此,需要高效率且价格可取的视频解码器,以使用具有有限计算能力的便携式电子装置播放具有可接受质量的视频。
发明内容
有鉴于此,本发明提供一种自适应视频解码方法、复杂度自适应视频解码器以及自适应音频/视频播放系统。
本发明提供一种自适应视频解码方法,包括:基于复杂度自适应视频解码器的输入比特流的比特流信息,执行解码复杂度管理,以决定是否降低复杂度自适应视频解码器内多个元件中至少一元件的解码复杂度;以及选择性降低复杂度自适应视频解码器内多个元件中一部分元件的解码复杂度。
本发明另提供一种复杂度自适应视频解码器,包括:多个元件,用于执行与视频解码相关的多个操作;以及解码复杂度管理器,用于基于输入比特流的比特流信息执行解码复杂度管理,以决定是否降低复杂度自适应视频解码器内至少一元件的解码复杂度;其中,解码复杂度管理器选择性降低复杂度自适应视频解码器内多个元件中一部分元件的解码复杂度。
本发明还提供一种自适应音频/视频播放系统,包括:音频解码器,用于执行音频解码以产生音频信息;以及视频解码器,用于执行视频解码,其中,视频解码器包括解码管理器,解码管理器根据输入比特流的比特流信息延迟音频信息的音频播放。
本发明所提供的自适应视频解码方法、复杂度自适应视频解码器以及自适应音频/视频播放系统可自适应地降低解码复杂度,从而减少解码工作量和相应功耗,为实现数字视频播放系统提供了的极大灵活性。
以下为根据多个图示对本发明的较佳实施例进行详细描述,所属领域的技术人员阅读后应可明确了解本发明的目的。
附图说明
图1A为根据本发明第一实施例的复杂度自适应视频解码器的方块示意图。
图1B为根据本发明第一实施例的复杂度自适应视频解码器的方块示意图。
图1C为根据第一实施例的自适应音频/视频播放系统的方块示意图。
图1D为根据本发明第二实施例的复杂度自适应视频解码器的方块示意图。
图1E为根据第二实施例的自适应音频/视频播放系统的方块示意图。
图2为根据本发明的一个实施例的自适应视频解码方法的流程图。
图3为根据本发明一个实施例的解码复杂度管理器可触发的一些操作示意图。
图4为根据本发明一个实施例的解码复杂度管理器可触发的一些操作/步骤的相关质量和处理速度的示意图。
图5为根据本发明另一个实施例的解码复杂度管理器可触发的一些操作/步骤的相关质量和处理速度的示意图。
图6为根据本发明另一个实施例的解码复杂度管理器在不同情况下可触发的一些操作/步骤的示意图。
具体实施方式
在说明书及权利要求当中使用了某些词汇来指称特定组件。所属技术领域的技术人员应可理解,制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异作为区分组件的方式,而是以组件在功能上的差异作为区分准则。在通篇说明书及权利要求中所提及的“包含”为开放式用语,故应解释成“包含但不限定于”。“大致”为指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包括任何直接及间接的电性连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电性连接于该第二装置,或通过其它装置或连接手段间接地电性连接至该第二装置。说明书后续描述为实施本发明的较佳实施方式,然该描述乃以说明本发明的一般原则为目的,并非用于限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
参照图1A和图1B,图1A和图1B为根据本发明第一实施例的复杂度自适应视频解码器100的方块示意图。复杂度自适应视频解码器100包括快速变长解码(Variable LengthDecoding,VLD)与反量化模块110、反变换(inverse transform)单元120、运动补偿(MotionCompensation,MC)模块130(在图1A中标记为“MC模块”)、计算单元140、重建帧输出单元150及帧存储单元160,其中,反变换单元120可例如离散余弦反变换(Inverse DiscreteCosine Transform,IDCT)单元;运动补偿模块130包括时间预测单元132以及空间预测单元134;计算单元140可例如加法器;重建帧输出单元150包括解块(de-blocking)滤波器,例如环路滤波器(in-loop filter)152;以及帧存储单元160可例如帧缓冲器。特别地,前述的解块滤波器(例如环路滤波器152)为复杂度自适应解块滤波器。请注意,可将时间预测单元132和空间预测单元134分别称为帧间预测(inter prediction)单元与帧内预测(intraprediction)单元。如图1B所示,复杂度自适应视频解码器100进一步包括缩放器(resizer)170、显示时间调整驱动器175、显示缓冲器180以及解码复杂度管理器100M。其中,解码复杂度管理器100M可采用硬件来实现,也可采用软件来实现。根据本发明的一种实施方式,解码复杂度管理器100M的内部结构可配置为硬件计算器/处理器,用于计算音频/视频播放系统所能允许的解码复杂度,并根据计算结果对复杂度自适应解码器100的解码复杂度进行调整。例如该计算器/处理器可选择性降低复杂度自适应视频解码器100内多个元件中至少一部分元件的解码复杂度。然而以上仅用于说明目的,解码复杂度管理器100M的实施方式并不以此为限。
根据此实施例,快速变长解码与反量化模块110用于对输入比特流108执行快速VLD与反量化以产生多个反量化结果118,而反变换单元120用于对多个反量化结果118执行反变换以产生多个反变换结果128。另外,运动补偿模块130用于根据输入比特流108执行运动补偿,并产生相应的多个预测输出结果138,其中,时间预测单元132用于执行时间预测,以及空间预测单元134用于执行空间预测。如图1A所示,计算单元140用于合计多个反变换结果128和多个预测输出结果138以产生多个补偿输出结果148,而重建帧输出单元150用于产生多个重建帧158,其中空间预测单元134根据重建帧输出单元150输出的重建数据执行空间预测。另外,帧存储单元160用于临时存储多个重建帧158的至少一部分,其中,时间预测单元132根据前述的多个重建帧158的至少一部分执行时间预测。
参照图1B,缩放器170用于在有需要时执行图像缩放(例如放大或缩小图像)。在执行图像缩放的情况下,多个图像帧178包括多个重建帧158的缩放版本。在不执行图像缩放的情况下,多个图像帧178包括多个重建帧158,即,缩放器170旁路(bypass)多个重建帧158。另外,显示缓冲器180用于临时存储多个图像帧178。在显示时间调整驱动器175的控制下,输出临时存储在显示缓冲器180中的多个图像帧178作为多个输出帧188,以显示在相应于音频信息的音频播放的适当时间点上。因此,通过使用显示时间调整驱动器175,复杂度自适应解码器100可同步音频/视频播放系统(图1A和图1B中未示)的音频和视频播放,以消除视频解码的延迟(若存在)。例如,当存在繁重的视频解码工作量时,可能会发生视频解码的延迟。另外,解码复杂度管理器100M可基于输入比特流108和来自显示缓冲器180的显示缓冲器状态执行解码复杂度管理。例如,解码复杂度管理器100M可选择性降低复杂度自适应视频解码器100内多个元件中一部分元件的解码复杂度。更具体地,解码复杂度管理器100M可根据输入比特流108和前述的显示缓冲器状态,产生多个控制信号,例如控制信号C1、C2、C3、C5、C6和C7,以分别控制复杂度自适应视频解码器100内相应元件的解码复杂度。例如,如图1A和图1B所示,快速变长解码与反量化模块110受控于控制信号C1,反变换单元120受控于控制信号C2,运动补偿模块130受控于控制信号C3,重建帧输出单元150受控于控制信号C5,前述的解块滤波器(例如环路滤波器152)受控于控制信号C6,以及显示时间调整驱动器175受控于控制信号C7。
特别地,复杂度自适应视频解码器100的至少一部分,例如时间预测单元132、空间预测单元134、反变换单元120、重建帧输出单元150和/或快速VLD与反量化模块110,可根据多个重建帧158的分辨率进行操作,而不是仅根据输入比特流108所代表的多个原始帧的分辨率进行操作,以降低解码操作的复杂度。可通过对帧下采样(down sampling)获取分辨率降低的帧,例如,通过选择特定像素以代表帧的每个区块,例如选择每个2×2像素区块的右下角像素。在一个实施例中,时间预测单元132可根据多个重建帧158的分辨率进行操作,而不是根据多个原始帧的分辨率进行操作,以降低时间预测的复杂度。例如,时间预测单元132可进一步估计已省略的部分信息中可用于执行时间预测的至少一部分信息。另外,空间预测单元134可根据多个重建帧158的分辨率进行操作,而不是根据多个原始帧的分辨率进行操作,以降低空间预测的复杂度。例如,空间预测单元134可进一步估计已省略的部分信息中可用于执行空间预测的至少一部分信息。根据此实施例,反变换单元120可根据多个重建帧158的分辨率进行操作,而不是根据多个原始帧的分辨率进行操作,以降低反变换的复杂度。例如,反变换单元120可通过选择多个预定的用于反变换的反变换函数FIT中的一个以省略反变换的多个计算的一部分。另外,重建帧输出单元150可根据多个重建帧158的分辨率进行操作,而不是多个原始帧的分辨率进行操作,以降低产生多个重建帧的复杂度。基于是否满足一个或多个条件,环路滤波器152可相应于多个复杂度级别中的一个选择性执行环路滤波用于解块,其中,解块操作可例如,全部解块、部分解块以及跳过(skip)解块。另外,快速变长解码与反量化模块110可根据多个重建帧158的分辨率进行操作,而不是根据多个原始帧的分辨率进行操作,以降低执行快速VLD与反量化的复杂度。更特别地,为降低复杂度,快速变长解码与反量化模块110可在解码期间使用包括主表和至少一子表(例如一个或多个子表)的查找表,其中,由于在复杂度自适应视频解码器100的设计阶段对查找表的预设安排,使用主表的概率大于使用至少一子表的概率。
根据此实施例的一些变形,复杂度自适应视频解码器100的至少一部分元件可省略该至少一部分元件需处理的部分信息,以降低对输入比特流108进行解码的复杂度。简洁起见,有关此类变形的类似描述此处不再重复。
图1C为根据第一实施例的自适应音频/视频播放系统50的方块示意图。自适应音频/视频播放系统50包括音频解码器52和复杂度自适应视频解码器100。音频解码器52用于执行音频解码以产生音频信息58。另外,复杂度自适应视频解码器100可执行第一实施例中所揭示的视频解码。请注意,解码复杂度管理器100M用于在有需要时对输入比特流108执行解码复杂度管理,且解码复杂度管理器100M选择性降低复杂度自适应视频解码器100内多个元件中一部分元件的解码复杂度。例如,解码复杂度管理器100M降低复杂度自适应视频解码器100内一个或多个元件的解码复杂度。又例如,解码复杂度管理器100M延迟音频信息58的音频播放,而不降低复杂度自适应视频解码器100内任何元件的解码复杂度。因此,在视频解码器不能及时地解码并输出与音频播放相匹配的多个帧的情况下,解码复杂度管理器100M可适当延迟自适应音频/视频播放系统50的音频播放,以保持自适应音频/视频播放系统50的视频播放和音频播放之间的音频/视频播放同步。如图1C所示,解码复杂度管理器100M产生至少一控制信号C0以控制是否延迟音频信息58的音频播放和/或音频信息58的音频播放的延迟量。实际上,解码复杂度管理器100M可根据输入比特流108的比特流信息、代表处理能力的参数及显示缓冲器状态的组合或其中之一,决定延迟音频信息58的音频播放。例如,根据输入比特流108的比特流信息、代表处理能力的参数及显示缓冲器状态的组合或其中之一,解码复杂度管理器100M决定是否延迟音频信息58的音频播放。又例如,根据输入比特流108的比特流信息、代表处理能力的参数及显示缓冲器状态的组合或其中之一,解码复杂度管理器100M决定音频信息58的音频播放的延迟量。简洁起见,有关此类变形的类似描述此处不再重复。
图1D为根据本发明第二实施例的复杂度自适应视频解码器100-1的方块示意图。此实施例为第一实施例的变形。如图1D所示,将前述的解块滤波器(例如环路滤波器152)安置在此实施例的重建帧输出单元150之外,而不是安置在重建帧输出单元150之内。请注意,复杂度自适应视频解码器100-1内的其它元件(例如快速变长解码与反量化模块110、反变换单元120、运动补偿模块130、计算单元140、帧存储单元160)的实施可与图1A所示的复杂度自适应视频解码器100内相应的元件相同。在此实施例中,图1B中多个元件也可与图1D耦接。简洁起见,有关此实施例的类似描述此处不再重复。
根据此实施例的一些变形,复杂度自适应视频解码器100-1的至少一部分元件可省略该至少一部分需处理的部分信息,以降低解码输入比特流108的复杂度。简洁起见,有关此类变形的类似描述此处不再重复。
图1E为根据第二实施例的自适应音频/视频播放系统60的方块示意图。自适应音频/视频播放系统60包括音频解码器62和复杂度自适应视频解码器100-1。音频解码器62用于执行音频解码以产生音频信息68。另外,复杂度自适应视频解码器100-1可执行第二实施例中所揭示的视频解码。请注意,解码复杂度管理器100M用于在有需要时对输入比特流108执行解码复杂度管理,且解码复杂度管理器100M选择性降低复杂度自适应视频解码器100-1内多个元件中一部分元件的解码复杂度。例如,解码复杂度管理器100M降低复杂度自适应视频解码器100-1内一个或多个元件的解码复杂度。又例如,解码复杂度管理器100M延迟音频信息68的音频播放,而不降低复杂度自适应视频解码器100-1内任何元件的解码复杂度。因此,解码复杂度管理器100M适当延迟自适应音频/视频播放系统60的音频播放,以保持自适应音频/视频播放系统60的视频播放和音频播放之间的音频/视频播放同步,从而解决任何视频解码延迟问题。如图1E所示,解码复杂度管理器100M产生至少一控制信号,例如前述的至少一控制信号C0,以控制是否延迟音频信息68的音频播放和/或音频信息68的音频播放的延迟量。实际上,解码复杂度管理器100M可根据例如图1C中所示的实施例中所述的输入比特流108的比特流信息、代表处理能力的参数及显示缓冲器状态的组合或其中之一,决定延迟音频信息68的音频播放。例如,根据输入比特流108的比特流信息、代表处理能力的参数及显示缓冲器状态的组合或其中之一,解码复杂度管理器100M决定是否延迟音频信息68的音频播放。又例如,根据输入比特流108的比特流信息、代表处理能力的参数及显示缓冲器状态的组合或其中之一,解码复杂度管理器100M决定音频信息68的音频播放的延迟量。简洁起见,有关此变形的类似描述此处不再重复。
通过使用上述揭示的任何实施例/变形的架构,可调整各个元件的视频解码复杂度。例如,在解码复杂度管理器100M的控制下,第一实施例(或第一实施例的变形之一)的复杂度自适应视频解码器100内或第二实施例(或第一实施例的变形之一)的复杂度自适应视频解码器100-1内的一个或多个元件可根据较低级别的视频解码复杂度进行操作。又例如,在解码复杂度管理器100M的控制下,当决定不需要降低第一实施例(或第一实施例的变形之一)的复杂度自适应视频解码器100内或第二实施例(或第二实施例的变形之一)的复杂度自适应视频解码器100-1内任何元件的解码复杂度时,复杂度自适应视频解码器100或复杂度自适应视频解码器100-1内的所有元件可根据最高级别的视频解码复杂度进行操作。参照图2,更多的细节进一步描述如下。
图2为根据本发明的一实施例的自适应视频解码方法910的流程图。自适应视频解码方法910可适用于图1A和图1B所示的复杂度自适应视频解码器100或图1D所示的复杂度自适应视频解码器100-1,更具体地,适用于上述任何实施例/变形所揭示的解码复杂度管理器100M。自适应视频解码方法910的描述如下。
在步骤S912中,解码复杂度管理器100M基于考虑中的复杂度自适应视频解码器(例如第一实施例的复杂度自适应视频解码器100或第二实施例的复杂度自适应视频解码器100-1)的输入比特流108执行解码复杂度管理,以决定是否降低上述复杂度自适应视频解码器内多个元件中至少一元件的解码复杂度。例如,该多个元件可包括快速VLD与反量化模块110、反变换单元120、运动补偿模块130、重建帧输出单元150、前述的解块滤波器(例如环路滤波器152)以及显示时间调整驱动器175。
在步骤S914中,解码复杂度管理器100M选择性降低步骤S912中所述的复杂度自适应视频解码器内多个元件中一部分元件的解码复杂度。例如,解码复杂度管理器100M在特定时间点可选择性地降低快速VLD与反量化模块110、反变换单元120、运动补偿模块130、重建帧输出单元150、前述的解块滤波器(例如环路滤波器152)及显示时间调整驱动器175中至少一部分(例如一部分或全部)的解码复杂度。又例如,解码复杂度管理器100M在另一时间点不降低快速VLD与反量化模块110、反变换单元120、运动补偿模块130、重建帧输出单元150、前述的解块滤波器(例如环路滤波器152)及显示时间调整驱动器175中任何一个的解码复杂度。
根据此实施例,解码复杂度管理器100M可通过参考显示缓冲器180的显示缓冲器状态、步骤S912中所述的复杂度自适应视频解码器的一个或多个代表处理能力的参数以及输入比特流108的比特流信息的组合或其中之一来执行解码复杂度管理,其中,比特流信息可包括比特率、分辨率和/或帧类型。比特流信息在其它一些实例中可包括多个运动向量、多个残差(residual)、多个IDCT系数、比特流长度或可获得的比特流信息,其中,多个残差可例如直流电流(Direct Current,DC)值,可获得的比特流信息可基于例如比较和/或历史统计,由上述已知比特流的信息所获得。在一个实施例中,解码复杂度管理器100M根据多个运动向量的变化调整解码复杂度。代表处理能力的参数可包括每个帧所需的解码时间的统计(例如,解码复杂度管理器100M可使用的每个帧的平均解码时间),处理器相关信息(例如,自适应复杂度视频解码器100的可用CPU数目、自适应复杂度视频解码器100的可用GPU数目或任何其他类型的处理器相关信息)、关于自适应复杂度视频解码器100的温度相关值、用于表示处理能力的任意其他参数或上述组合以判断当前系统能力,从而适应性调整解码复杂度。特别地,解码复杂度管理器100M可基于前述的显示缓冲器180的显示缓冲器状态、前述的至少一参数以及输入比特流108的比特流信息的全部执行解码复杂度管理。
图3为根据本发明一个实施例的解码复杂度管理器100M可触发的一些操作示意图,其中,这些操作关于如图2所示的自适应视频解码方法910的解码复杂度管理。例如,解码复杂度管理器100M可触发的操作包括:显示时间调整、丢弃帧、解块滤波器复杂度调整、运动补偿复杂度调整(在图3中标记为“MC复杂度调整”)、帧内预测复杂度调整、反变换复杂度调整以及VLD复杂度调整。基于前述的显示缓冲器180的显示缓冲器状态、代表处理能力的参数以及输入比特流108的比特流信息的组合或其中之一,解码复杂度管理器100M执行解码复杂度管理,并选择性地触发这些操作中的一个或多个。
图4为根据本发明一个实施例的解码复杂度管理器100M可触发的一些操作/步骤的相关质量和处理速度的示意图,其中,这些操作关于如图2所示的自适应视频解码方法910的解码复杂度管理。例如,这些操作/步骤可包括:标准解码流程、自适应双向帧(Bi-directional frame,B frame)(以下简称“B帧”)解块(即自适应执行全部或部分B帧解块或跳过B帧解块,其中B帧解块指对多个B帧执行解块操作)、B帧简化运动补偿(在图4中标记为“B帧简化MC”)、快速B帧解码(例如在下采样域中解码B帧)、丢弃B帧、自适应预测帧(Predictive frame,P frame)(以下简称“P帧”)解块(例如,自适应执行全部或部分P帧解块或跳过P帧解块,其中P帧解块指对多个P帧执行解块操作)、P帧简化运动补偿(在图4中标记为“P帧简化MC”)、快速P帧解码、丢弃P帧、自适应帧内(Intra frame,I frame)(以下简称“I帧”)解块(例如,自适应执行全部或部分I帧解块或跳过I帧解块,其中I帧解块指对多个I帧执行解块操作)以及快速I帧解码。所举的例子仅为说明所用,本发明并非以此为限。垂直轴上的“质量”标记可表示图像质量、流畅度、用户感知度、系统资源节约度或各种质量指标的综合评价。根据此实施例的一些变形,相应于这些操作/步骤的质量和处理速度在不同情况下可有所不同。例如,在图4所示的操作/步骤中,丢弃B帧的操作/步骤可插入在标准解码流程的操作/步骤和自适应B帧解块的操作/步骤之间。又例如,在图4所示的操作/步骤中,自适应I帧解块的操作/步骤可插入在P帧简化运动补偿的操作/步骤和快速P帧解码的操作/步骤之间。又例如,在图4所示的操作/步骤中,丢弃P帧的操作/步骤可邻近快速I帧解码的操作/步骤,因此,成为图4所示的操作/步骤中最底层的一个操作/步骤。
在此实施例中,基于第一策略-实现可得的最佳质量,当视频解码延迟问题不是症结所在时,解码复杂度管理器100M可触发标准解码流程的操作/步骤。然而,当确定会发生视频解码的延迟时(例如发现硬件资源不足和/或解码工作量大于预定的阈值),解码复杂度管理器100M可触发一个或多个操作/步骤,以防止严重的视频解码延迟,并实现当前情况下解码器可提供的最佳质量。例如,在图4所示的操作/步骤中,解码复杂度管理器100M可触发下一个适当的操作/步骤(例如自适应B帧解块的操作/步骤,B帧简化运动补偿的操作/步骤等),以释放硬件资源和/或减少解码工作量,其中,当降低解码复杂度时,相应于较高质量级别的操作/步骤拥有较高的执行优先权,而相应于较低质量级别的操作/步骤会在最后执行。所举的例子仅为说明所用,本发明并非以此为限。根据此实施例的变形,解码复杂度管理器100M可基于第二策略-实现预定的质量级别进行操作,而不是基于实现最佳质量进行操作。根据此实施例的一些其它变形,解码复杂度管理器100M可基于实现最快处理速度或预定的处理速度的一些策略进行操作。
图5为根据本发明另一个实施例的解码复杂度管理器100M可触发的一些操作/步骤的相关质量和处理速度的示意图,其中,这些操作关于如图2所示的自适应视频解码方法910的解码复杂度管理。具体地,此实施例中考虑的操作/步骤包括:正常解块、简单解块以及禁用解块。请注意,解码复杂度管理器100M的控制机制可根据多个预定的阈值(例如,图5所示的两个阈值T1和T2)在这些操作/步骤之间进行切换,其中,预定的阈值T1和T2代表质量的相应级别。
图6为根据本发明另一个实施例的解码复杂度管理器100M在不同情况下可触发的一些操作/步骤的示意图,这些操作关于如图2所示的自适应视频解码方法910的解码复杂度管理。具体地,此实施例中考虑的操作/步骤包括:停止B帧解块、停止P帧解块、启动自适应P帧解块、启动自适应I帧解块以及停止解块。请注意,解码复杂度管理器100M的控制机制可根据多个预定的阈值(例如,图6所示的三个阈值TI、TP和TB)在这些操作/步骤之间进行切换,其中,预定的阈值TI、TP和TB代表显示缓冲器状态的相应级别。在此实施例中,预定的阈值TI、TP和TB分别用于决定是否启动/停止B帧解块、P帧解块以及I帧解块。特别地,在显示缓冲器180为满或几乎为满的情况下,解码复杂度管理器100M不停止I帧解块、P帧解块以及B帧解块的任何一个。相反地,在显示缓冲器180为空或几乎为空的情况下,解码复杂度管理器100M停止I帧解块、P帧解块以及B帧解块的每一个。
更具体地,在显示缓冲器180的缓冲器状态(更具体地,显示缓冲器180的缓冲级别)在预定的阈值TP和TB之间的情况下,解码复杂度管理器100M停止B帧解块,并触发启动自适应P帧解块的操作/步骤(即具有复杂度自适应的P帧解块)。另外,在显示缓冲器180的缓冲器状态(更具体地,显示缓冲器180的缓冲级别)在预定的阈值TI和TP之间的情况下,解码复杂度管理器100M停止P帧解块和B帧解块,并触发启动自适应I帧解块的操作/步骤(即具有复杂度自适应的I帧解块)。另外,在显示缓冲器180的缓冲器状态(更具体地,显示缓冲器180的缓冲级别)在预定的阈值TI和0之间的情况下,解码复杂度管理器100M停止I帧解块、P帧解块和B帧解块。
在此实施例中,关于复杂度自适应解块的控制机制,解码复杂度管理器100M可基于宏块(Macroblock,MB)为基础的解块方案进行操作。例如,解码复杂度管理器100M可根据缓冲器状态和输入比特流108的至少一部分(例如一部分或全部)的比特流长度,自适应启动/停止I帧解块、P帧解块和/或B帧解块。所举的例子仅为说明所用,本发明并非以此为限。根据此实施例的变形,关于复杂度自适应解块的控制机制,解码复杂度管理器100M可基于帧为基础的解块方案进行操作。例如,解码复杂度管理器100M可根据缓冲器状态、输入比特流108的至少一部分(例如一部分或全部)的比特流长度、量化步长、MB类型和/或边缘强度来自适应地启动/停止I帧解块、P帧解块和/或B帧解块,其中,量化步长即所谓的量化参数(Quantization Parameter,QP)值。
本发明的优势在于,上述揭示的每个实施例/变形的自适应视频解码方法、相关的复杂度自适应视频解码器及相应的自适应音频/视频播放系统可适用于各种数字视频应用,其中,复杂度自适应视频解码器内多个元件中至少一部分(例如一部分或全部)可以低级别的视频解码复杂度进行操作。由于可调整一个或多个元件的视频解码复杂度,解码工作量和相应功耗可自适应地减少。因此,与相关的技术相比,本发明为实现数字视频播放系统提供了的极大灵活性。
上述的实施例仅用来列举本发明的实施方式,以及阐释本发明的技术特征,并非用来限制本发明的范畴。任何所属技术领域的技术人员根据本发明的精神而轻易完成的改变或均等性安排均属于本发明所主张的范围,本发明的权利范围应以权利要求为准。

Claims (18)

1.一种自适应视频解码方法,所述自适应视频解码方法包括:
基于关于复杂度自适应视频解码器的表示处理能力的参数,执行解码复杂度管理,以决定是否降低所述复杂度自适应视频解码器内多个元件中至少一元件的解码复杂度;以及
选择性降低所述复杂度自适应视频解码器内该多个元件中一部分元件的解码复杂度。
2.如权利要求1所述的自适应视频解码方法,其特征在于,所述多个元件包括:
快速变长解码与反量化模块,用于对所述输入比特流执行快速变长解码与反量化,以产生多个反量化结果;
反变换单元,用于对所述多个反量化结果执行反变换,以产生多个反变换结果;
运动补偿模块,用于根据所述输入比特流执行运动补偿并产生相应的多个预测输出结果,其中所述运动补偿模块包含时间预测单元以及空间预测单元,所述时间预测单元用于执行时间预测以产生所述多个预测输出结果的至少一部分;以及所述空间预测单元用于执行空间预测以产生所述多个预测输出结果的至少一部分;
计算单元,用于合计所述多个反变换结果和所述多个预测输出结果以产生多个补偿输出结果;
重建帧输出单元,用于根据所述多个补偿输出结果产生多个重建帧,其中,所述空间预测单元根据所述多个重建帧的当前重建帧执行空间预测;以及
帧存储单元,用于临时存储所述多个重建帧的至少一部分,其中,所述时间预测单元根据所述多个重建帧的所述至少一部分执行时间预测。
3.如权利要求1所述的自适应视频解码方法,其特征在于,所述多个元件包括:
显示缓冲器,用于临时存储多个图像帧;
其中,所述基于关于该复杂度自适应视频解码器的表示处理能力的所述参数执行解码复杂度管理的步骤包括:
基于所述显示缓冲器的显示缓冲器状态,执行解码复杂度管理。
4.如权利要求1所述的自适应视频解码方法,其特征在于,所述基于关于该复杂度自适应视频解码器的表示处理能力的所述参数执行解码复杂度管理的步骤包括:
产生至少一控制信号,以控制所述复杂度自适应视频解码器内所述多个元件中所述部分元件的解码复杂度。
5.如权利要求1所述的自适应视频解码方法,其特征在于,所述多个元件包括:
显示时间调整驱动器,其中,在所述显示时间调整驱动器的控制下,输出临时存储在显示缓冲器中的多个图像帧作为多个输出帧,所述多个输出帧用于分别在相应音频信息的音频播放的多个时间点上进行显示。
6.如权利要求1所述的自适应视频解码方法,其特征在于,所述关于该复杂度自适应视频解码器的表示处理能力的所述参数包括每个帧所需的解码时间的统计。
7.如权利要求1所述的自适应视频解码方法,其特征在于,所述关于该复杂度自适应视频解码器的表示处理能力的所述参数包括关于该复杂度自适应视频解码器的处理器相关信息。
8.如权利要求1所述的自适应视频解码方法,其特征在于,所述关于该复杂度自适应视频解码器的表示处理能力的所述参数包括关于该复杂度自适应视频解码器的温度相关值。
9.一种复杂度自适应视频解码器,包括:
多个元件,用于执行与视频解码相关的多个操作;以及
解码复杂度管理器,基于关于复杂度自适应视频解码器的表示处理能力的参数执行解码复杂度管理,以决定是否降低所述复杂度自适应视频解码器内至少一元件的解码复杂度;
其中,所述解码复杂度管理器选择性降低所述复杂度自适应视频解码器内所述多个元件中一部分元件的解码复杂度。
10.如权利要求9所述的复杂度自适应视频解码器,其特征在于,所述多个元件包括:
快速变长解码与反量化模块,用于对所述输入比特流执行快速变长解码与反量化以产生多个反量化结果;
反变换单元,用于对所述多个反量化结果执行反变换以产生多个反变换结果;
运动补偿模块,用于根据所述输入比特流执行运动补偿并产生相应的多个预测输出结果,其中所述运动补偿模块包括时间预测单元以及空间预测单元,所述时间预测单元用于执行时间预测以产生至少一部分的所述多个预测输出结果;以及所述空间预测单元用于执行空间预测以产生至少一部分的所述多个预测输出结果;
计算单元,用于合计所述多个反变换结果和所述多个预测输出结果以产生多个补偿输出结果;
重建帧输出单元,用于根据所述多个补偿输出结果产生多个重建帧,其中,所述空间预测单元根据所述多个重建帧的当前重建帧执行空间预测;以及
帧存储单元,用于临时存储所述多个重建帧的至少一部分,其中,所述时间预测单元根据所述多个重建帧的所述至少一部分执行时间预测。
11.如权利要求9所述的复杂度自适应视频解码器,其特征在于,所述多个元件包括:
其中,所述解码复杂度管理器基于所述显示缓冲器的显示缓冲器状态,执行解码复杂度管理。
12.如权利要求9所述的复杂度自适应视频解码器,其特征在于,所述解码复杂度管理器根据关于复杂度自适应视频解码器的表示处理能力的参数产生至少一控制信号,以控制所述复杂度自适应视频解码器内所述多个元件中所述部分元件的解码复杂度,所述多个元件分别受控于所述至少一控制信号。
13.如权利要求9所述的复杂度自适应视频解码器,其特征在于,所述多个元件包括:
显示时间调整驱动器,其中,在所述显示时间调整驱动器的控制下,输出临时存储在显示缓冲器中的多个图像帧作为多个输出帧,所述多个输出帧用于分别在相应音频信息的音频播放的多个时间点上进行显示。
14.如权利要求9所述的复杂度自适应视频解码器,其特征在于,所述关于该复杂度自适应视频解码器的表示处理能力的所述参数包括每个帧所需的解码时间的统计。
15.如权利要求9所述的复杂度自适应视频解码器,其特征在于,所述关于该复杂度自适应视频解码器的表示处理能力的所述参数包括关于该复杂度自适应视频解码器的处理器相关信息。
16.如权利要求9所述的复杂度自适应视频解码器,其特征在于,所述关于该复杂度自适应视频解码器的表示处理能力的所述参数包括关于该复杂度自适应视频解码器的温度相关值。
17.一种自适应音频/视频播放系统,包括:
音频解码器,用于执行音频解码以产生音频信息;以及
视频解码器,用于执行视频解码,其中,所述视频解码器包括解码管理器,所述解码管理器根据输入比特流的比特流信息延迟所述音频信息的音频播放。
18.如权利要求17所述的自适应音频/视频播放系统,其特征在于,所述视频解码器的所述解码管理器进一步根据代表处理能力的参数或显示缓冲器状态决定音频播放的延迟。
CN201610576762.5A 2015-09-17 2016-07-21 自适应视频解码方法、解码器以及音频/视频播放系统 Withdrawn CN106550269A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/856,558 US10063873B2 (en) 2010-03-25 2015-09-17 Method for adaptively performing video decoding, and associated adaptive complexity video decoder and adaptive audio/video playback system
US14/856,558 2015-09-17

Publications (1)

Publication Number Publication Date
CN106550269A true CN106550269A (zh) 2017-03-29

Family

ID=58367810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610576762.5A Withdrawn CN106550269A (zh) 2015-09-17 2016-07-21 自适应视频解码方法、解码器以及音频/视频播放系统

Country Status (1)

Country Link
CN (1) CN106550269A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020155538A1 (zh) * 2019-01-31 2020-08-06 上海哔哩哔哩科技有限公司 视频处理方法、系统、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902939A (zh) * 2004-01-05 2007-01-24 汤姆森许可贸易公司 数字画面序列的编码方法和解码方法以及编码设备
US20090003447A1 (en) * 2007-06-30 2009-01-01 Microsoft Corporation Innovations in video decoder implementations
CN102025994A (zh) * 2010-12-16 2011-04-20 深圳市融创天下科技发展有限公司 自适应解码复杂度的编码方法、装置、编解码系统和设备
CN102316319A (zh) * 2010-07-05 2012-01-11 联发科技股份有限公司 自适应视频解码方法、解码器以及音频/视频播放系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902939A (zh) * 2004-01-05 2007-01-24 汤姆森许可贸易公司 数字画面序列的编码方法和解码方法以及编码设备
US20090003447A1 (en) * 2007-06-30 2009-01-01 Microsoft Corporation Innovations in video decoder implementations
CN102316319A (zh) * 2010-07-05 2012-01-11 联发科技股份有限公司 自适应视频解码方法、解码器以及音频/视频播放系统
CN102025994A (zh) * 2010-12-16 2011-04-20 深圳市融创天下科技发展有限公司 自适应解码复杂度的编码方法、装置、编解码系统和设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020155538A1 (zh) * 2019-01-31 2020-08-06 上海哔哩哔哩科技有限公司 视频处理方法、系统、计算机设备及存储介质
US11375203B2 (en) 2019-01-31 2022-06-28 Shanghai Bilibili Technology Co., Ltd. Video processing method, system, device and computer-readable storage medium

Similar Documents

Publication Publication Date Title
KR100994979B1 (ko) 인트라-인코딩된 비디오의 병렬 디코딩
KR101227667B1 (ko) 오버랩 평활화 및 인-루프 디블록킹의 구분적 프로세싱
US20060133504A1 (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
US9930361B2 (en) Apparatus for dynamically adjusting video decoding complexity, and associated method
US20120134425A1 (en) Method and System for Adaptive Interpolation in Digital Video Coding
JP2008529412A (ja) 中間ループフィルタデータを格納するスクラッチパッド
US20090129478A1 (en) Deblocking filter
US8660191B2 (en) Software video decoder display buffer underflow prediction and recovery
JP2008193691A (ja) 復元されたフレームのフレーム率をアップコンバートする装置および方法
EP1701549A2 (en) Adaptive deblocking for a video decoder
JP2008506294A (ja) デブロッキング・フィルタリングを実行する方法及びシステム
CN102316319B (zh) 自适应视频解码方法、解码器以及音频/视频播放系统
CN113330747A (zh) 利用适应于加权预测的双向光流进行视频编码和解码的方法和装置
US9172980B2 (en) Method for adaptively performing video decoding, and associated adaptive complexity video decoder and adaptive audio/video playback system
US20220150515A1 (en) Adaptive temporal filter for an unavailable reference picture
US11622105B2 (en) Adaptive block update of unavailable reference frames using explicit and implicit signaling
KR101065546B1 (ko) 하드웨어 다중 표준 비디오 디코더 장치
CN106550269A (zh) 自适应视频解码方法、解码器以及音频/视频播放系统
US20080117970A1 (en) Method and apparatus for encoding and decoding rgb image
US20070036219A1 (en) Video decoding method and apparatus for intensity compensation
US8767831B2 (en) Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream
US10063873B2 (en) Method for adaptively performing video decoding, and associated adaptive complexity video decoder and adaptive audio/video playback system
US20110051815A1 (en) Method and apparatus for encoding data and method and apparatus for decoding data
US20110280321A1 (en) Deblocking filter and method for controlling the deblocking filter thereof
CN106686380B (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20170329