CN107113422B - 一种用于视频编码和解码的参考图片管理的计算机系统 - Google Patents

一种用于视频编码和解码的参考图片管理的计算机系统 Download PDF

Info

Publication number
CN107113422B
CN107113422B CN201580072178.XA CN201580072178A CN107113422B CN 107113422 B CN107113422 B CN 107113422B CN 201580072178 A CN201580072178 A CN 201580072178A CN 107113422 B CN107113422 B CN 107113422B
Authority
CN
China
Prior art keywords
picture
pictures
reference picture
video
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580072178.XA
Other languages
English (en)
Other versions
CN107113422A (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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107113422A publication Critical patent/CN107113422A/zh
Application granted granted Critical
Publication of CN107113422B publication Critical patent/CN107113422B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/17Methods 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 an image region, e.g. an object
    • 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/179Methods 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 a scene or a shot
    • 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/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

描述了灵活的参考图片管理中的创新。例如,视频编码器和视频解码器使用保持在存储器中并因此比常规参考图片更长地可供用于视频编码/解码的参考图片的全局参考图片集(“GRPS”)。具体而言,GRPS中的参考图片跨随机存取边界保持可用。或者,作为另一示例,视频编码器和视频解码器剪辑参考图片以使该参考图片的有用区域被保留在存储器中,同时丢弃该参考图片的无帮助或冗余区域。参考图片剪辑能减少存储参考图片所需的存储器的量,或者通过提供运动补偿的更佳选项来改进对可用存储器的利用。或者,作为又一示例,视频编码器和视频解码器对参考图片进行滤波以移除随机噪声(例如,捕捉期间的由于相机缺陷而导致的捕捉噪声)。

Description

一种用于视频编码和解码的参考图片管理的计算机系统
背景
工程师使用压缩(也叫做源编码(source coding或source encoding))来降低数字视频的比特率。压缩通过将视频信息转换成较低比特率的形式来降低存储和传送该信息的成本。解压(也被称为解码)从压缩的形式中重构一种版本的原始信息。“编解码器”是编码器/解码器系统。
在过去的至少25年中,已采用了各种视频编解码器标准,包括ITU-T H.261、H.262(MPEG-2或ISO/IEC 13818-2)、H.263、H.264(MPEG-4AVC 或ISO/IEC 14496-10)标准、MPEG-1(ISO/IEC 11172-2)和MPEG-4视觉 (ISO/IEC 14496-2)标准以及SMPTE 421M(VC-1)标准。最近,H.265/HEVC 标准(ITU-T H.265或ISO/IEC 23008-2)已被批准。视频编解码器标准通常定义针对经编码的视频比特流的句法的选项,从而详述当在编码和解码时使用特定特征时该比特流中的参数。在许多情况下,视频编解码器标准还提供关于视频解码器应当执行以在解码时取得一致的结果的解码操作的细节。除了编解码器标准外,各种专用编解码器格式定义针对经编码的视频比特流的句法的其他选项以及相应的解码操作。
在典型的视频序列中,给定图片的大多数区域是相同的,或者相比于该给定图片之前和之后的图片仅稍微改变。大多数视频编解码器标准和格式使用图片间预测来利用视频序列中的这一图片到图片冗余。例如,如果使用图片间预测来预测给定图片中的样本值块,则视频编码器估计该块相对于可供在编码/ 解码该给定图片时参考的一个或多个先前编码/解码的其它图片的运动。先前编码/解码的其它图片被称为参考图片。当视频编码器找到参考图片中的针对给定图片中的块的匹配块时,视频编码器例如使用参考图片的标识符以及匹配块的位置(相对于给定图片中的块的位置)来表示该匹配块。视频编码器可确定给定图片中的块与该匹配块之间的差异,然后对这些差异进行编码。
根据一些视频编解码器标准和格式,视频编码器和视频解码器应用简单规则来确定将哪些参考图片保留在缓冲区中以用于图片间预测,并且确定从缓冲区中移除哪些参考图片。根据其它视频编解码器标准和格式,视频编码器具有对保留或从缓冲区中移除哪些参考图片的更多控制,并且视频编码器将信息用信令通知给视频解码器以使得视频解码器能相应地更新参考图片。现有的视频编解码器标准和格式在用于参考图片管理的选项方面不够灵活,这可损害编码效率并导致视频编码/解码期间低效地使用资源。
概述
总而言之,详细描述提出了灵活参考图片管理中的创新。例如,视频编码器和视频解码器使用保持在存储器中并因此比常规参考图片更长地可供用于视频编码和视频解码的参考图片的全局参考图片集(“GRPS”)。使用GRPS 能通过使专门选择的参考图片在整个视频编码/解码中可用来提高视频编码效率。或者,作为另一示例,视频编码器和视频解码器能剪辑参考图片以使该参考图片的有用区域被保留在存储器中,同时丢弃该参考图片的无帮助或冗余区域。参考图片剪辑能减少存储参考图片所需的存储器的量,或者能通过存储更多样的参考图片集来改进对可用存储器的利用。或者,作为又一示例,视频编码器和视频解码器对参考图片进行滤波以移除捕捉噪声(例如,捕捉期间的由于相机缺陷而导致的噪声)。经去噪的参考图片可提供图片间预测的更好结果,由此提高视频编码效率。
根据本文描述的创新的一方面,视频编码器对视频序列的一个或多个图片进行编码以产生经编码数据,然后输出该经编码数据作为比特流的一部分。作为编码的一部分,视频编码器确定作为GRPS的一部分的全局参考图片。视频编码器对全局参考图片进行编码以产生全局参考图片的经编码数据。视频编码器还对其它图片进行编码以产生其它图片的经编码数据。其它图片包括被指定为随机存取图片(“RAP”)的定义一个或多个随机存取边界的至少一个图片。全局参考图片跨该一个或多个随机存取边界可用,这能提高编码效率。
对应的视频解码器接收作为比特流的一部分的视频序列的一个或多个图片的经编码数据,并解码经编码数据以重构图片。经编码数据包括作为GRPS 的一部分的全局参考图片的经编码数据以及其它图片的经编码数据。其它图片包括被指定为RAP的定义一个或多个随机存取边界的至少一个图片。作为解码的一部分,视频解码器解码全局参考图片。视频解码器还解码其它图片。全局参考图片跨该一个或多个随机存取边界可用。
根据本文描述的创新的另一方面,视频编码器对视频序列的一个或多个图片进行编码以产生经编码数据,并且输出该经编码数据作为比特流的一部分。作为编码的一部分,视频编码器重构图片中的一个给定图片。视频编码器根据剪辑参数来剪辑经重构图片。在这样做时,视频编码器裁剪经重构图片的至少一些区域以产生经剪辑图片。视频编码器将经剪辑图片存储在缓冲区中以供用作参考图片,然后在运动补偿操作中使用该参考图片。参考图片的剪辑可允许视频编码器减少用于缓冲参考图片的存储器的量。或者,参考图片的剪辑可允许视频编码器将更有用的参考图片集存储在给定量的存储器中。对应的视频解码器接收作为比特流的一部分的视频序列的一个或多个图片的经编码数据,然后解码经编码数据以重构图片。作为解码的一部分,视频解码器重构图片中的一个给定图片。视频解码器根据剪辑参数来剪辑经重构图片。在这样做时,视频解码器裁剪经重构图片的至少一些区域以产生经剪辑图片。视频解码器将经剪辑图片存储在缓冲区中以供用作参考图片,然后在运动补偿操作中使用该参考图片。参考图片的剪辑可允许视频解码器减少用于缓冲参考图片的存储器的量。或者,参考图片的剪辑可允许视频解码器将更有用的参考图片集存储在给定量的存储器中。
根据本文描述的创新的另一方面,视频编码器对视频序列的一个或多个图片进行编码以产生经编码数据,并且输出该经编码数据作为比特流的一部分。作为编码的一部分,视频编码器重构图片中的一个给定图片。视频编码器用被适配成移除捕捉噪声的滤波器来对经重构图片进行滤波以产生经去噪图片。视频编码器将经去噪图片存储在缓冲区中以供用作参考图片,然后在运动补偿操作中使用该参考图片。在一些示例实现中,对参考图片进行去噪能改进图片间预测,这提高视频编码效率。
对应的视频解码器接收作为比特流的一部分的视频序列的一个或多个图片的经编码数据,并解码经编码数据以重构图片。作为解码的一部分,视频解码器重构图片中的一个给定图片。视频解码器用被适配成移除捕捉噪声的滤波器来对经重构图片进行滤波以产生经去噪图片。视频解码器将经去噪图片存储在缓冲区中以供用作参考图片,然后在运动补偿操作中使用该参考图片。
各项创新可以被实现为方法的一部分、被配置为执行该方法中的操作的计算系统的一部分或存储用于使得计算系统执行该方法中的操作的计算机可执行指令的一个或多个计算机可读介质的一部分。各创新可以结合地或分开地使用。提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。
附图说明
图1是示出可在其中实现所描述的一些实施例的示例计算系统的示图。
图2a和2b是示出可在其中实现所描述的一些实施例的示例网络环境的示图。
图3是示出结合其可实现所描述的一些实施例的示例视频编码器系统的示图。
图4a和4b是示出结合其可实现所描述的一些实施例的示例视频编码器的示图。
图5是结合其可实现所描述的一些实施例的示例解码器系统的示图。
图6是示出结合其可实现所描述的一些实施例的示例视频解码器的示图。
图7和8是分别示出用于视频编码和视频解码的通用技术的流程图,这些技术包括灵活的参考图片管理。
图9是示出当编码或解码使用全局参考图片集(“GRPS”)时的对经解码图片缓冲区(“DPB”)的更新的示例。
图10a-10d是示出比特流中的包括GRPS单元的经编码数据单元的示例序列的图示。
图11和12是分别示出用于使用作为GRPS的一部分的全局参考图片来进行视频编码和视频解码的示例技术的流程图。
图13a-13e是示出参考图片剪辑的示例的图示。
图14是示出涉及经剪辑参考图片的运动补偿的图示。
图15是示出用于在视频编码或视频解码期间剪辑参考图片的示例技术的流程图。
图16a-16b是分别示出使用参考图片的去噪的视频编码器和视频解码器的示例的图示。
图17是示出用于在视频编码或视频解码期间对参考图片进行去噪的示例技术的流程图。
详细描述
详细描述提出了灵活的参考图片管理中的创新。例如,视频编码器和视频解码器使用保持在存储器中并因此比常规参考图片更长地可供用于视频编码和视频解码的参考图片的全局参考图片集(“GRPS”)。使用GRPS能通过使专门选择的参考图片在整个视频编码和视频解码中可用来提高视频编码效率。或者,作为另一示例,视频编码器和视频解码器能剪辑参考图片以使该参考图片的有用区域被保留在存储器中,同时丢弃该参考图片的无帮助或冗余区域。参考图片剪辑能减少存储参考图片所需的存储器的量,或者能通过存储更多样的参考图片集来改进对可用存储器的利用。或者,作为又一示例,视频编码器和视频解码器对参考图片进行滤波以移除捕捉噪声(例如,捕捉期间的由于相机缺陷而导致的噪声)。经去噪的参考图片可提供图片间预测的更好结果,由此提高视频编码效率。
本文中描述的一些创新是参考针对H.265/标准以及H.265标准的扩展或变体的条款来解说的。本文描述的创新还可被实现用于其它视频编解码器标准或格式的扩展或变体(例如,VP9格式、H.264标准),包括准许使用参考图片来进行图片间预测的将来视频编解码器标准或格式。
在本文中描述的示例中,不同的图中的相同参考标记指示相同的组件、模块或操作。取决于上下文,给定组件或模块可接受不同类型的信息作为输入和 /或产生不同类型的信息作为输出。
更一般地,本文中描述的各示例的各种替代是可能的。例如,本文中描述的一些方法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些方法动作等来更改。所公开的技术的各方面能够被组合地或分开地使用。例如,视频编码器和视频解码器可将GRPS与参考图片剪辑和/或参考图片去噪(可能包括GRPS中的全局参考图片的剪辑或去噪)相结合地使用。或者,作为另一示例,视频编码器和视频解码器可以在不使用GRPS的情况下使用参考图片的剪辑和/或去噪。不同的实施例使用所描述的创新中的一个或多个。本文中描述的一些创新解决了背景中指出的一个或多个问题。通常,所给出的技术/工具并不解决所有这些问题。
示例计算机系统
图1示出了在其中可实现若干所描述的发明的合适的计算环境(100)的一般化示例。计算系统(100)并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。
参考图1,计算环境(100)包括一个或多个处理单元(110、115)和存储器(120、125)。处理单元(110、115)执行计算机可执行指令。处理单元可以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任何其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图1示出中央处理单元(110)以及图形处理单元或协处理单元(115)。有形存储器(120、125)可以是处理单元可访问的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如, ROM、EEPROM、闪存等)或这两者的某一组合。存储器(120、125)存储实现针对灵活的参考图片管理的一个或多个创新的软件(180),该软件是适用于由处理单元执行的计算机可执行指令的形式。
计算系统可具有附加的特征。例如,计算系统(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统(100)的各组件互连。通常,操作系统软件(未示出)为在计算系统(100) 中执行的其它软件提供操作环境,并协调计算系统(100)的各组件的活动。
有形存储(140)可以是可移动或不可移动的,并包括诸如磁盘、磁带或磁带盒等磁性介质、诸如CD-ROM、DVD之类的光学介质或可用于储存信息并可在计算系统(100)内访问的任何其他介质。存储(140)存储实现针对灵活的参考图片管理的一个或多个创新的软件(180)的指令。
输入设备(150)可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算系统(100)提供输入的另一设备。对于视频,输入设备(150)可以是相机、视频卡、屏幕捕捉模块、TV调谐卡或接受模拟或数字形式的视频输入的类似设备、或将视频输入读到计算系统(100) 中的CD-ROM或CD-RW。输出设备(160)可以是显示器、打印机、扬声器、 CD刻录机或提供来自计算系统(100)的输出的其它设备。
通信连接(170)允许通过通信介质与另一计算实体通信。通信介质传达诸如计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其他数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学的、RF或其它载体。
各创新可以在计算机可读介质的一般上下文中描述。计算机可读介质是可在计算环境内访问的任何可用有形介质。作为示例而非限制,对于计算系统 (100),计算机可读介质包括存储器(120,125)、存储(140)及其组合。由此,计算机可读介质可以是例如易失性存储器、非易失性存储器、光学介质或磁性介质。如本文中所使用的,术语计算机可读介质不包括瞬时信号或传播载波。
各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。
术语“系统”和“设备”在此被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算系统或计算设备的类型的任何限制。一般说来,计算系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。
所公开的方法还可使用被配置成执行所公开的方法中的任一者的专用计算硬件来实现。例如,所公开的方法可以由被专门设计或配置成实现所公开的方法中的任一者的集成电路(例如,诸如ASIC数字信号处理器(“DSP”)之类的ASIC、图像处理单元(“GPU”)、或诸如场可编程门阵列(“FPGA”)之类的可编程逻辑器件(“PLD”))来实现。
为了呈现起见,本详细描述使用了如“确定”和“评估”等术语来描述计算系统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。
示例网络环境
图2a和2b示出了包括视频编码器(220)和视频解码器(270)的示例网络环境(201、202)。编码器(220)和解码器(270)使用合适的通信协议通过网络(250)连接。网络(250)可包括因特网或另一计算机网络。
在图2a中所示的网络环境(201)中,每个实时通信(“RTC”)工具(210) 包括用于双向通信的编码器(220)和解码器(270)两者。给定的编码器(220) 可以产生输出,该输出遵循H.265/HEVC标准、SMPTE 421M标准、ISO/IEC 14496-10标准(也称为H.264或AVC)、另一标准的变体或扩展,或遵循针对接受来自编码器(220)的经编码的数据的对应的解码器(270)的专用格式 (诸如VP8或VP9)。双向通信可以是视频会议、视频电话呼叫或其它双方或多方通信场景的部分。虽然,图2a中的网络环境(201)包括两个实时通信工具 (210),但网络环境(201)可改为包括参与多方通信的三个或更多的实时通信工具(210)。
实时通信工具(210)管理编码器(220)作出的编码。图3示出可以被包括在实时通信工具(210)中的示例编码器系统(300)。替换地,实时通信工具 (210)使用另一编码器系统。实时通信工具(210)还管理解码器(270)作出的解码。图5示出可以被包括在实时通信工具(210)中的示例解码器系统 (500)。替换地,实时通信工具(210)使用另一解码器系统。
在图2b中示出的网络环境(202)中,编码工具(212)包括对供递送给多个回放工具(214)的视频进行编码的编码器(220),这些回放工具包括解码器(270)。单向通信可被提供用于视频监视系统、web相机监视系统、远程桌面会议演示或共享、无线屏幕投射、云计算或游戏、在其中编码视频并将视频从一个位置发送到一个或多个其它位置的其它场景。虽然在图2b中的网络环境(202)包括两个回放工具(214),该网络环境(202)可以包括更多或更少的回放工具(214)。一般来说,回放工具(214)与编码工具(212) 通信以确定回放工具(214)要接收的视频流。回放工具(214)接收该流、缓冲所接收的经编码数据达合适的时间段并开始解码和回放。
图3示出可以被包括在编码工具(212)中的示例编码器系统(300)。替换地,编码工具(212)使用另一编码器系统。编码工具(212)还可以包括用于管理与一个或多个回放工具(214)的连接的服务器侧控制器逻辑。回放工具(214)可包括用于管理与编码工具(212)的连接的客户机侧控制器逻辑。图5示出可以被包括在回放工具(214)中的示例解码器系统(500)。替换地,回放工具(214)使用另一解码器系统。
示例编码器系统。
图3示出结合其可实现所描述的一些实施例的示例视频编码器系统 (300)。视频编码器系统(300)包括具有灵活的参考图片管理的视频编码器(340),视频编码器(340)在图4a和4b中被进一步详述。
视频编码器系统(300)可以是能够用多种编码模式中的任一者(诸如用于实时通信的低等待时间编码模式、转码模式和用于从文件或流中产生供回放的媒体的较高等待时间编码模式)操作的通用编码工具,或它可以是适用于一种这样的编码模式的专用编码工具。视频编码器系统(300)可适用于编码特定类型的内容。视频编码器系统(300)可以被实现为操作系统模块的部分、应用库的部分、独立的应用的部分或使用专用的硬件。总体上,视频编码器系统(300)从视频源(310)接收源视频图片(311)序列并产生经编码的数据作为到信道(390)的输出。输出到信道的经编码的数据可包括使用本文中描述的一个或多个创新编码的内容。
视频源(310)可以是相机、调谐卡、存储介质、屏幕捕捉模块或其它数字视频源。所述视频源(310)以例如每秒30帧的帧速率产生视频图片序列。如在此所用,术语“图片”一般是指源、经编码的或已重构的图像数据。对于逐行扫描视频,图片是逐行扫描视频帧。对于隔行视频,在各示例实施例中,隔行视频帧可以在编码之前被去隔行。替换地,两个互补的隔行视频场可以被编码在一起作为单个视频帧或者被编码成两个经分开编码的场。除了指示逐行扫描视频帧或隔行扫描视频帧之外,术语“图片”可以指示单个非成对的视频场、互补的成对视频场、表示在给定时间或在较大的图像中的感兴趣区域处的视频对象的视频对象平面。视频对象平面或区域可以是包括场景的多个对象或区域的较大图像的一部分。
正在到达的源图片(311)被存储在包括多个图片缓冲存储区域(321, 322,……,32n)的源图片临时存储器存储区域(320)中。图片缓冲区(321, 322等)在源图片存储区域(320)中保持一个源图片。在已经将一个或多个源图片(311)存储在图片缓冲区(321,322等)中之后,图片选择器(330)从源图片存储区域(320)中选择个体源图片来编码为当前图片(331)。各图片被图片选择器(330)选择用于输入到视频编码器(340)的次序可以与视频源(310) 产生这些图片的次序不同,例如对某些图片的编码可在次序上被延迟,以便允许某些较后的图片被先编码并由此促成时间上的后向预测。视频编码器系统 (300)可在视频编码器(340)之前包括在编码之前对当前图片(331)执行预处理(例如滤波)的预处理器(未示出)。预处理可包括色彩空间转换成主要(例如亮度)和次要(例如偏向红色和偏向蓝色的色度差)分量以及用于编码的重采样处理(例如以减少色度分量的空间分辨率)。一般来说,像素是针对在图片中的位置的一个或多个搭配样本值的集合,该集合对于不同的色度采样格式可用不同的方式来布置。
视频编码器(340)对当前图片(331)进行编码以产生经编码的图片(341)。如图4a和4b所示,视频编码器(340)接收当前图片(331)作为输入视频信号(405),并在经编码的视频比特流(495)中产生经编码的图片(341)的经编码的数据作为输出。作为编码的一部分,视频编码器(340)在一些情形中使用如本文描述的灵活的参考图片管理的一个或多个特征。
通常,视频编码器(340)包括执行诸如分隔成瓦片、图片内部预测估计和预测、运动估计和补偿、频率变换、量化和熵编码之类的编码任务。视频编码器(340)的许多组件被用于图片内编码和图片间编码两者。由视频编码器 (340)执行的确切操作可取决于压缩格式而变化,并可取决于编码器可选的实现判定而变化。输出的经编码数据的格式可以是Windows媒体视频格式、 VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x 格式(例如,H.261、H.262、H.263或H.264)、或VPx格式、或其它格式的变型或扩展。
如图4a所示,视频编码器(340)可包括图块划分模块(410)。使用图块划分模块(410),视频编码器(340)可将图片分割成相同尺寸或不同尺寸的多个图块。例如,图块划分模块(410)沿图块行和图块列来拆分图片,所述图块行和图块列利用图片边界定义在图片内的图块的水平和垂直边界,其中每个图块是矩形区域。图块通常被用于提供并行处理的选项。图片还可以被组织为一个或多个片,其中一个片可以是整个图片或图片的部分。片可以独立于图片中的其它片被解码,这改善了错误复原力。出于编码和解码的目的,片或图块的内容被进一步分割成块或其它采样值集。块还可在不同的阶段上被进一步细分,例如在预测、频率变换和/或熵编码阶段。例如,图片可以被划分成 64x64块、32x32块或16x16块,这些块进而可被划分成更小的样本值块以用于编码和解码。
对于根据H.264/AVC标准的句法,视频编码器(340)可以将图片分割成相同尺寸或不同尺寸的多个片。视频编码器(340)将图片(或片)的内容拆分成各16x16宏块。宏块包括被组织为4个8x8亮度块的亮度样本值和被组织为8x8色度块的相应的色度样本值。通常,宏块具有诸如图片间或图片内之类的预测模式。宏块包括用于信号化预测信息(例如预测模式细节、运动向量 (“MV”)信息等)和/或预测处理的目的的一个或多个预测单元(例如,各8x8块、各4x4块,这些块可被称为用于图片间预测的分区)。宏块还具有用于残留编码/解码目的的一个或多个残留数据单元。
对于根据H.265/HEVC标准的句法来说,视频编码器(340)将图片(或片或图块)的内容拆分成各编码树单元。编码树单元(“CTU”)包括被组织为亮度编码树块(“CTB”)的亮度采样值,并且对应的色度样本值被组织为两个色度CTB。CTU(及其CTB)的尺寸由视频编码器选择。亮度CTB可包含例如64x64、32x32或16x16亮度样本值。CTU包括一个或多个编码单元。编码单元(“CU”)具有亮度编码块(“CB”)和两个对应的色度CB。例如,根据四叉树句法,具有64x64亮度CTB和两个64x64色度CTB(YUV 4:4:4格式) 的CTU可以被拆分成4个CU,其中每一CU包括一32x32亮度CB和两个32x32 色度CB,并且根据四叉树句法,每一CU可能被进一步拆分成更小的CU。或者,作为另一示例,根据四叉树句法,具有64x64亮度CTB和两个32x32色度CTB(YUV 4:2:0格式)的CTU可被拆分成4个CU,其中每一CU包括一 32x32亮度CB和两个16x16色度CB,并且根据四叉树句法,每一CU可被进一步拆分成更小的CU。
在H.265/HEVC实现中,CU具有诸如图片间或图片内之类的预测模式。 CU通常包括用于信号化预测信息(例如预测模式细节、移位值等)和/或预测处理的目的的一个或多个预测单元。预测单元(“PU”)具有亮度预测块(“PB”) 和两个对应的色度PB。根据H.265/HEVC标准,对于图片内预测的CU,PU 具有与该CU相同的尺寸,除非该CU具有最小尺寸(例如8x8)。在那个情况下,CU可被拆分成更小的PU(例如,对于图片内预测情况,如果最小CU 尺寸为8x8,则被拆分成四个4x4PU),或者PU可具有最小CU尺寸,如CU 的句法元素所指示的。对于图片间预测的CU,该CU可具有一个、两个或四个PU,其中拆分成四个PU仅在该CU具有最小可允许尺寸的情况下才被允许。
在H.265/HEVC实现中,CU通常还具有用于残留编码和解码的目的的一个或多个变换单元,其中变换单元(“TU”)具有亮度变换块(“TB”)和两个色度 TB。CU可包含单个TU(在尺寸上等于该CU)或多个TU。根据四叉树句法, TU可被拆分为四个更小的TU,这些TU可进而根据四叉树句法被拆分成更小的TU。视频编码器决定如何将视频分割成CTU(CTB)、CU(CB)、PU(PB) 和TU(TB)。
在H.265/HEVC实现中,片可包括单个片段(独立的片段)或被划分成多个片段(独立的片段和一个或多个从属的片段)。片段是包含在单个网络抽象层(“NAL”)单元中的在图块扫描中连续排序的整数个CTU。对于独立的片段,片段首部包括适用于该独立的片段的句法元素的值。对于从属片段,截短的片段首部包括适用于该从属片段的句法元素的几个值,并且从属片段的其它句法元素的值是以解码顺序从在前的独立的片段的值中推导出来的。
如本文中所使用的,术语“块”可指示宏块、残留数据单元、CTB、CB、 PB或TB、或某些其它样本值集,这取决于上下文。术语“单元”可指示宏块、 CTU、CU、PU、TU或某些其他块集,或者它可指示单个块,这取决于上下文。
如图4a所示,视频编码器(340)包括通用编码控件,该通用编码控件(420) 接收当前图片(331)的输入视频信号(405)以及来自视频编码器(340)的各个模块的反馈(未示出)。整体上,通用编码控件(420)将控制信号(未示出)提供给其它模块(例如图块划分模块(410)、变换器/缩放器/量化器(430)、缩放器/逆变换器(435)、图片内预测估计器(440)、运动估计器(450)以及图片内/图片间切换)以设置和改变编码期间的编码参数。通用编码控件(420) 还可评估编码期间的中间结果,通常考虑不同选项的比特率成本和/或失真成本。具体而言,通用编码控件(420)决定对当前图片(331)使用图片内预测还是图片间预测。如果与运动估计器(450)相协同地对一单元使用图片间预测,则通用编码控件(420)决定哪些参考图片将用于图片间预测。通用编码控件(420)确定将哪些参考图片保留(例如,来自GRPS)在经解码图片缓冲区(“DPB”)或其它缓冲区中。与滤波控件(460)相协同地,通用编码控件(420)确定是否以及如何对参考图片应用剪辑和去噪。通用编码控件(420) 产生指示在编码期间作出的判定的通用控制数据(422),使得对应的解码器可以作出一致的判定。例如,通用控制数据(420)包括指示是否更新被保留在DPB或其它缓冲区中的参考图片的信息。通用控制数据(422)被提供给首部格式化器/熵编码器(490)。
参考图4b,如果当前图片(331)中的一单元是使用图片间预测来预测的,则运动估计器(450)估计该单元的样本值块相对于一个或多个参考图片的运动。当前图片(331)可全部或部分使用图片间预测来编码。当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。运动估计器(450)潜在地评估处于上下文运动模式的候选MV以及其他候选MV。对于上下文运动模式,作为单元的候选MV,运动估计器(450)评估在运动补偿时对局部邻域中的某些相邻单元使用的一个或多个MV或依据规则推导出的一个或多个MV。针对上下文运动模式的候选MV可包括来自空间上毗邻的单元的MV、来自时间上毗邻的单元的MV以及依据规则推导出的MV。在 H.265/HEVC标准中,合并模式是上下文运动模式的示例。在一些情况下,上下文运动模式可涉及多个推导出MV之间的竞争以及对多个推导出MV之一的选择。运动估计器(450)可为当前图片(331)的给定单元的分割(例如,在H.265/HEVC标准中为针对CU的各PU的2N×2N、2N×N、N×2N或N×N 分割)评估运动补偿的不同分割模式。
DPB(470)(其是如图3所示的经解码图片临时存储器存储区域(360) 的示例)缓冲一个或多个经重构的先前编码的图片以供用作参考图片。在给定时间,DPB(470)可存储GRPS中的一个或多个参考图片、一个或多个经剪辑参考图片、一个或多个经去噪参考图片和/或一个或多个其它参考图片。或者, GRSP的参考图片、经剪辑参考图片和/或经去噪参考图片可被存储在不同的缓冲区中。
运动估计器(450)产生运动数据(452)作为辅助信息。具体地,运动数据(452)可包括指示上下文运动模式(例如,在H.265/HEVC标准中为合并模式)是否被使用的信息,以及如果上下文运动模式被使用,则包括指示上下文运动模式的候选MV的信息(例如,在H.265/HEVC标准中为合并模式索引值)。更一般地,运动数据(452)可包括MV数据和参考图片选择数据。运动数据(452)被提供给首部格式化器/熵编码器(490)以及运动补偿器(455)。运动补偿器(455)将块的MV应用于来自DPB(470)或其它缓冲区的经重构的参考图片。当使用经剪辑参考图片时,运动补偿器(455)可调整MV所引用的位置以补偿剪辑和/或缩放,如下所述。对于该块,运动补偿器(455) 产生运动补偿预测,其是用来生成该块的运动补偿预测值的参考图片中的样本值区域。
参考图4b,如果当前图片(331)的单元是使用图片内预测来预测的,则图片内预测估计器(440)确定如何执行针对该单元的样本值块的图片内预测。当前图片(331)可全部或部分使用图片内预测来编码。对于图片内空间预测,图片内估计器(440)使用当前图片(331)的重构(438)的值来确定如何从当前图片(331)的邻近的、先前重构的样本值中空间地预测当前图片(331) 的块的样本值,例如估计邻近的经重构的样本值到该块的外推。或者,对于图片内块复制模式,图片内预测估计器(440)使用指示当前图片(331)的先前编码/解码的部分的偏移(有时被称为块向量)来确定如何预测当前图片(331) 的块的样本值。图片内块复制模式可被实现为图片间预测的特殊情况,其中参考图片是当前图片(331),并且仅当前图片(331)的先前编码/解码的样本值可被用于预测。作为辅助信息,图片内预测估计器(440)产生诸如所使用的预测模式/方向之类的图片内预测数据(442)。图片内预测数据(442)被提供给首部格式化器/熵编码器(490)以及图片内预测器(445)。根据图片内预测数据(442),图片内预测器(445)从当前图片(331)的邻近的、先前重构的样本值中空间地预测当前图片(331)的块的样本值,从而产生该块的图片内预测值。或者,图片内预测器(445)使用图片内块复制预测使用针对该块的偏移(块向量)来预测该块的样本值。
如图4b所示,图片内/图片间切换选择针对给定单元的预测(458)将是运动补偿预测还是图片内预测。针对当前图片(331)的各单元的图片内/图片间切换判定可使用各准则来作出。
视频编码器(340)可确定是否编码并传送某块的预测值(图片内或图片间)和对应的原始值之间的差值(如果有的话)。预测(458)的块和输入视频信号(405)的原始当前图片(331)的对应部分之间的差异(如果有的话)提供残留(418)的值。如果被编码/传送,则残留(418)的值使用频率变换(如果该频率变换不被跳过的话)、量化和熵编码来编码。在一些情况下,没有为单元计算残留。相反,残留编码被跳过,并且预测的样本值被用作经重构的样本值。
参考图4a,当残留(418)的值被编码时,在变换器/缩放器/量化器(430) 中,频率变换器将空间域视频信息转换为频域(即频谱、变换)数据。对于基于块的视频编码,频率变换器将离散余弦变换(“DCT”)、其整数近似、或另一类型的前向块变换(例如离散正弦变换或其整数近似)应用于残留(418) 的值块(或者如果预测(458)为空则应用于样本值数据),从而产生频率变换系数块。变换器/缩放器/量化器(430)可以应用具有可变块尺寸的变换。在这种情况中,变换器/缩放器/量化器(430)可以确定要对当前块的残留值使用哪些块尺寸的变换。例如,在H.265/HEVC实现中,编码器/缩放器/量化器(430) 可通过四叉树分解将TU拆分成四个更小的TU,这些TU中的每一者可进而被拆分成四个更小的TU,一直到最小TU尺寸。TU尺寸可以为32x32、16x16、 8x8或4x4(涉及TU中的亮度TB的尺寸)。在H.265/HEVC实现中,可以跳过频率变换。在这种情况下,可以对残留(418)的值进行量化和熵编码。
参考图4a,在编码器/缩放器/量化器(430)中,缩放器/量化器缩放和量化变换系数。例如,量化器将以按逐图片基础、逐图块基础、逐片基础、逐块基础、频率专用基础或其它基础来变化的量化步长尺寸将死区标量量化应用于频域数据。量化步长尺寸可取决于量化参数(“QP”),该量化参数的值是为视频的图片、图块、片和/或其他部分设置。在量化变换系数时,视频编码器(340) 可使用率失真优化量化(“RDOQ”)(这是非常耗时的)或者应用更简单的量化规则。经量化的变换系数数据(432)被提供给首部格式化器/熵编码器(490)。如果频率变换被跳过,则缩放器/量化器可对预测残留数据块(或如果预测(458) 为空则对样本值)进行缩放和量化,从而生成要提供给首部格式化器/熵编码器 (490)的经量化的值。
如图4a和4b所示,首部格式化器/熵编码器(490)对通用控制数据(422)、经量化的变换系数数据(432)、图片内预测数据(442)、运动数据(452) 以及滤波控制数据(462)进行格式化和/或熵编码。视频编码器(340)的熵编码器压缩经量化的变换系数值以及某些辅助信息(例如MV信息、QP值、模式判定、参数选择、剪辑参数、滤波参数)。典型的熵编码技术包括指数-Golomb 编码、Golomb-Rice编码、上下文自适应二进制算术编码(“CABAC”)、差分编码、Huffman编码、行程长度编码、可变长度到可变长度(“V2V”)编码、可变长度到固定长度(“V2F”)编码、Lempel-Ziv(“LZ”)编码、字典编码和上述编码的组合。熵编码器可对不同种类的信息使用不同的编码技术,并可组合地应用多个技术(例如,通过在CABAC的二值化时应用指数-Golomb编码或Golomb-Rice编码),并可从特定编码技术内的多个码表中进行选择。
视频编码器(340)在基本比特流(诸如图4a中示出的经编码视频比特流 (495))中产生经编码图片(341)的经编码数据。在图4a中,首部格式化器/熵编码器(490)在经编码的视频比特流(495)中提供经编码的数据。基础比特流的句法通常是用编解码器标准或格式或者其扩展或变型来定义的。例如,经编码的视频比特流(495)的格式可以是Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263、H.264、H.265)、VPx格式或其它格式的变型或扩展。在从视频编码器(340)输出后,基本比特流通常用容器格式被分组化或组织,如以下所解释的。
基本比特流中的经编码的数据包括被组织为句法结构的句法元素。一般来说,句法元素可以是任何数据元素,并且句法结构是基本比特流中处于指定次序的零个或更多个句法元素。在H.264/AVC标准和H.265/HEVC标准中,NAL 单元是包含(1)对要跟随的数据的类型的指示以及(2)该数据的一连串零个或更多个字节的句法结构。例如,NAL单元可包含片(经编码的片)的经编码的数据。或者,NAL单元可包含标记GRPS中的参考图片的经编码数据。 NAL单元的尺寸(以字节为单位)在NAL单元之外被指示。经编码片NAL 单元以及某些其他限定类型的NAL单元被称为视频编码层(“VCL”)NAL 单元。访问单元是处于连续比特流次序的一个或多个NAL单元的集合,包含图片的片的经编码的数据,并可能包含诸如元数据之类的其他关联数据。
对于根据H.264/AVC或H.265/HEVC的标准的句法,图片参数集(“PPS”) 是包含可与图片相关联的句法元素的句法结构。PPS可被用于单个图片,或者 PPS可被重用于序列中的多个图片。PPS通常被信号化为与图片的经编码数据分开(例如,针对PPS的一个NAL单元和针对图片的经编码数据的一个或多个其它NAL单元)。在图片的经编码数据内,句法元素指示要为该图片使用哪个PPS。类似地,对于遵照H.264/AVC标准或H.265/HEVC的标准的句法,序列参数集(“SPS”)是包含了与图片序列相关联的句法元素的句法结构。比特流可包括单个SPS或多个SPS。SPS通常被信号化为与该序列的其它数据分开,并且其它数据中的句法元素指示要使用哪个SPS。对于根据H.264/AVC 标准或H.265/HEVC标准的句法,SPS或PPS是可以跨在被指定为随机存取图片(“RAP”)的图片处定义的随机存取边界来访问的。即,SPS和PPS对于按比特流次序在随机存取边界之前的图片是可访问的,并且对于按比特流次序在随机存取边界之后的图片是可访问的。在一些示例实现中,GRPS是包含与全局参考图片相关联的句法元素的句法结构。如同SPS或PPS,GRPS是可以跨在被指定为RAP的图片处定义的随机存取边界访问的。不像SPS或PPS, GRPS还具有关于相关联的图片的经编码数据。
如图3所示,视频编码器(340)还产生存储器管理控制操作(“MMCO”) 信号(342)或参考图片集(“RPS”)信息。RPS是可以被使用以供在对当前图片或任意后续图片的运动补偿中的参考的图片集。如果当前图片(331) 不是已经被编码的第一图片,则在执行其编码处理时,视频编码器(340)可使用已被存储在经解码图片临时存储器存储区域(360)中的一个或多个先前编码/解码的图片(369)。这样存储的经解码图片(369)被用作当前图片(331)的内容的图片间预测的参考图片。MMCO/RPS信息(342)向视频解码器指示哪些经重构的图片可被用作参考图片并因此应当被存储在图片存储区域中。图 4a和4b中的DPB(470)是经解码图片临时存储器存储区域(360)的示例。
参考图3,经编码图片(341)和MMCO/RPS信息(342)(或与MMCO/RPS 信息(342)等价的信息,因为在视频编码器(340)处已经知道各图片的依赖关系和排序结构)由解码过程仿真器(350)处理。解码过程仿真器(350)实现视频解码器的一些功能,例如对任务进行解码以重构参考图片。以与MMCO/RPS信息(342)相一致的方式,解码过程仿真器(350)确定给定的经编码帧(341)是否需要被重构并被存储以供在对要编码的后续图片的图片间预测中用作参考帧,以及是否应对参考图片执行任何修改(诸如剪辑或去噪)。如果经编码的图片(341)需要被存储(且可能被修改),则解码过程仿真器(350)对将由视频解码器进行的解码处理建模,该视频解码器接收经编码的图片(341)并产生相应的经解码的图片(351)。在这样做时,当视频编码器(340)已经使用已被存储在经解码图片存储区域(360)中的经解码的图片(369)时,解码过程仿真器(350)还使用来自存储区域(360)的经解码的图片(369)作为解码处理的一部分。
解码过程仿真器(350)可被实现为视频编码器(340)的一部分。例如,解码过程仿真器(350)包括如图4a和4b中示出的某些模块和逻辑。在当前图片(331)的重构期间,当残留(418)的值已被编码/信号化时,经重构的残留值与预测(458)组合来为当前图片(331)从视频信号(405)中产生对原始内容的近似或实际重构(438)。(在有损压缩中,一些信息从视频信号(405) 中丢失。)
参考图4a,为了重构残留值,在缩放器/逆变换器(435)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。当变换阶段尚未被跳过时,逆频率变换器执行逆频率变换,从而产生经重构的预测残留值或样本值的块。如果变换阶段已经被跳过,则也跳过逆频率变换。在这种情况下,缩放器/逆量化器可对预测残留数据(或样本值数据)的块执行逆缩放和逆量化,从而产生经重构的值。当残留值已经被编码/信号化时,视频编码器(340)将经重构的残留值与预测(458)的值(例如,运动补偿预测值、图片内预测值)组合以形成重构(438)。当残留值尚未被编码/信号化时,视频编码器(340)使用预测(458)的值作为重构(438)。
参考图4a和4b,对于图片内预测,重构(438)的值可以被馈送回图片内预测估计器(440)和图片内预测器(445)。重构(438)的值可被用于后续图片的运动补偿预测。重构(438)的值可被进一步滤波。对于当前图片(331),滤波控件(460)确定如何对重构(438)的值执行去块滤波和样本自适应偏移 (“SAO”)滤波。滤波控件(460)还可确定如何对当前图片(331)的重构 (438)的值进行剪辑和/或执行去噪来作为参考图片,如下所述。滤波控件(460) 产生滤波控制数据(462),它被提供给头部格式化器/熵编码器(490)和合并器/滤波器(465)。
在合并器/滤波器(465)中,视频编码器(340)将来自不同图块的内容合并到当前图片的经重构版本中。视频编码器(340)根据滤波控制数据(462) 和滤波器自适应规则选择性地执行去块滤波和SAO滤波,以便自适应地平滑当前图片(331)中的各边界上的间断。在合并器/滤波器中,视频编码器(340) 还可剪辑当前图片(331)和/或执行去噪,如下所述。可替换地或另外地应用其它滤波(例如去振铃滤波或自适应环路滤波(“ALF”);未示出)。取决于视频编码器(340)的设置,图块边界可选择性地被滤波或根本不被滤波,并且视频编码器(340)可在编码比特流内提供句法元素以指示是否应用这样的滤波。
在图4a和4b中,DPB(470)缓冲经重构的当前图片以供在后续的经运动补偿的预测中使用。更一般地,如图3所示,经解码图片临时存储器存储区域(360)包括多个图片缓冲区存储区域(361,362,……,36n)。通过与 MMCO/RPS信息(342)相一致的方式中,解码过程仿真器(350)管理存储区域(360)中的内容,以便标识出具有视频编码器(340)不再需要将其用作参考图片的图片的任何图片缓冲区(361,362等)。在对解码处理进行建模之后,解码过程仿真器(350)在图片帧缓冲区(361、362等)中存储已经以此方式标识出的新解码的图片(351)。除了经重构的当前图片之外,经解码图片临时存储器存储区域(360)还可存储GRPS中的一个或多个全局参考图片、一个或多个经剪辑参考图片和/或一个或多个经去噪参考图片。
如图3所示,经编码的图片(341)和MMCO/RPS信息(342)被缓冲在临时经编码数据区域(370)中。被聚集在经编码数据区域(370)中的经编码数据包含一个或多个图片(例如,GRPS中的全局参考图片、其它图片)的经编码数据作为基本比特流的句法的一部分。在经编码数据区域(370)中被聚集的经编码数据还可包括与经编码的视频数据相关的媒体元数据(例如作为一个或多个补充增强信息(“SEI”)消息或视频可用性信息(“VUI”)消息中的一个或多个参数)。
来自临时经编码数据区域(370)的经聚集的数据(371)由信道编码器(380) 处理。信道编码器(380)可以(例如根据诸如ITU-T H.222.0|ISO/IEC 13818-1 的媒体程序流或传输流格式,或诸如IETF RFC 3550的因特网实时传输协议格式)分组化和/或复用经聚集的数据供作为媒体流来传输或存储,在这种情况中,信道编码器(380)可以添加句法元素作为媒体传输流的句法的一部分。或者,信道编码器(380)可以(例如根据诸如ISO/IEC14496-12的媒体容器格式) 组织经聚集的数据以供作为文件来存储,在这种情况中,信道编码器(380) 可以添加句法元素作为媒体存储文件的句法的一部分。或者,更一般地,信道编码器(380)可以实现一个或多个媒体系统复用协议或传输协议,在这种情况中,信道编码器(380)可以添加句法元素作为协议的句法的一部分。信道编码器(380)将输出提供给信道(390),该信道(390)表示存储、通信连接或该输出的另一信道。信道编码器(380)或信道(390)还可以包括例如用于前向纠错(“FEC”)编码和模拟信号调制的其它元素(未示出)。
取决于实现和期望的压缩类型,视频编码器系统(300)和/或视频编码器 (340)的各模块可被添加、省略、拆分成多个模块、与其它模块组合、和/或用相似的模块来替代。在替换实施例中,具有不同模块和/或其他模块配置的编码器系统或编码器执行所描述的技术中的一个或多个。编码器系统的具体实施例通常使用视频编码器系统(300)的变型或补充版本。视频编码器的具体实施例通常使用视频编码器340的变型或补充版本。所示出的在视频编码器系统 (300)和视频编码器(340)内的各模块之间的关系指示了信息分别在视频编码器系统(300)和视频编码器(340)中的一般流动;为简明起见,未示出其它关系。一般而言,视频编码器系统(300)或视频编码器(340)的给定模块可由能在CPU上执行的软件、控制专用硬件(例如,用于视频加速的图形硬件)的软件、或者专用硬件(例如,ASIC中)来实现。
示例解码器系统。
图5是结合其可实现所描述的一些实施例的示例视频解码器系统(500) 的框图。视频解码器系统(500)包括视频解码器(550),视频解码器(550) 在图6中被进一步详述。
视频解码器系统(500)可以是能够在多种解码模式(例如针对实时通信的低等待时间解码模式、代码转换模式以及针对来自文件或流的媒体回放的较高等待时间解码模式)中的任一者中操作的通用解码工具,或它可以是适用于一种这样的解码模式的专用解码工具。视频解码器系统(500)可以被实现为操作系统模块的部分、应用库的部分、独立的应用的部分或使用专用的硬件。总体上,视频解码器系统(500)从信道(510)接收经编码的数据并产生经重构的图片作为针对输出目的地(590)的输出。接收到的经编码的数据可包括使用本文中描述的一个或多个创新来编码的内容。
解码器系统(500)包括信道(510),该信道(510)可表示存储、通信连接或针对作为输入的经编码数据的另一信道。信道(510)产生已经被信道编码的经编码的数据。信道解码器(520)可以处理经编码数据。例如,信道解码器(520)(例如根据诸如ITU-T H.222.0|ISO/IEC 13818-1的媒体程序流或传输流格式,或诸如IETF RFC 3550的因特网实时传输协议格式)去分组化和/或去复用已被组织以供作为媒体流来传输或存储的数据,在这种情况中,信道解码器(520)可以解析所添加的作为媒体传输流的句法的一部分的句法元素。或者,信道解码器(520)(例如根据诸如ISO/IEC 14496-12的媒体容器格式)来将已被组织为供作为文件来存储的经编码的视频数据分开,在这种情况中,信道解码器(520)可以解析所添加的作为媒体存储文件的句法的一部分的句法元素。或者,更一般地,信道解码器(520)可以实现一个或多个媒体系统去复用协议或传输协议,在这种情况中,信道解码器(520)可以解析所添加的作为协议的句法的一部分的句法元素。信道(510)或信道解码器(520) 还可以包括例如用于FEC解码和模拟信号解调的其它元素(未示出)。
从信道解码器(520)输出的经编码的数据(521)被存储在临时经编码数据区域(530)中,直到已经接收到足够数量的这样的数据。经编码的数据(521) 包括经编码图片(531)和MMCO/RPS信息(532)。经编码数据区域(530) 中的经编码数据(521)包含一个或多个图片(例如,GRPS中的全局参考图片、其它图片)的经编码数据作为基本经编码视频比特流的句法的一部分。在经编码数据区域(530)中的经编码数据(521)还可包括与经编码的视频数据相关的媒体元数据(例如作为一个或多个SEI消息或VUI消息中的一个或多个参数)。
一般来说,经编码数据区域(530)临时存储经编码的数据(521),直到这样的经编码的数据(521)被视频解码器(550)使用。此时,经编码的图片 (531)和MMCO/RPS信息(532)的经编码的数据被从经编码数据区域(530) 传送到视频解码器(550)。随着解码继续,新的经编码数据被添加到经编码数据区域(530)并且保留在经编码数据区域(530)中的最旧的经编码数据被传输到视频解码器(550)。
视频解码器(550)解码经编码图片(531)以生成对应的经解码图片(551)。如图6所示,视频解码器(550)接收经编码的图片(531)作为输入以作为经编码视频比特流(605)的一部分,并且视频解码器(550)产生相应的经解码图片(551)作为输出以作为经重构的视频(695)。作为解码的一部分,视频解码器(550)在一些情形中使用如本文描述的灵活的参考图片管理的一个或多个特征。
一般地,视频解码器(550)包括执行诸如熵解码、逆量化、逆频率变换、运动补偿、图片内预测、和滤波之类的解码任务的多个解码模块。解码器(550) 的许多组件被用于图片内解码和图片间解码这两者。由那些组件执行的确切操作可取决于正被解压的信息的类型而变化。经编码的视频比特流的格式(605) 可以是Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、 MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263、H.264、 H.265)、或VPx格式、或其它格式的变型或扩展。
图片可被组织成相同尺寸或不同尺寸的多个图块。一个图片还可以被组织成一个或多个片。片或图块的内容可被进一步组织成块或其它样本值集。块可以在不同的阶段被进一步细分。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块可进而被划分成更小的样本值块。在例如针对H.264/AVC 标准的各解码实现中,图片被划分成各宏块和块。在例如针对H.265/HEVC标准的解码实现中,图片被分割成各CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。
参考图6,缓冲区在经编码的视频比特流(605)中接收经编码的数据,并使得接收到的经编码数据可用于解析器/熵解码器(610)。解析器/熵解码器 (610)通常应用在编码器(340)中执行的熵编码的逆对经熵编码的数据进行熵解码(例如其中二值化使用指数-Golomb或Golomb-Rice的上下文自适应二进制算术解码)。作为解析和熵解码的结果,解析器/熵解码器(610)产生通用控制数据(622)、经量化的变换系数数据(632)、图片内预测数据(642)、运动数据(652)以及滤波控制数据(662)(例如,是否以及如何对参考图片应用剪辑和去噪)。
通用解码控件(620)接收通用控制数据(622)。例如,通用控制数据(622) 包括指示哪些参考图片将被保留(例如,来自GRPS)在DPB(670)中。通用解码控件(620)将控制信号(未示出)提供给其它模块(例如缩放器/逆变换器(635)、图片内预测器(645)、运动补偿器(655)、以及图片内/图片间切换)以设置和改变解码期间的解码参数。
参考图5,在适当时,当执行其解码处理时,视频解码器(550)可将一个或多个先前解码的图片(569)用作图片间预测的参考图片。视频解码器(550) 从经解码图片临时存储器存储区域(560)中读取这样的先前解码的图片(569),经解码图片临时存储器存储区域例如是DPB(670)。在给定时间,DPB(670) 可存储GRPS中的一个或多个参考图片、一个或多个经剪辑参考图片、一个或多个经去噪参考图片和/或一个或多个其它参考图片。或者,GRSP的参考图片、经剪辑参考图片和/或经去噪参考图片可被存储在不同的缓冲区中。
参考图6,如果当前图片是使用图片间预测来预测的,则运动补偿器(655) 接收运动数据(652),诸如MV数据、参考图片选择数据、以及合并模式索引值。运动补偿器(655)将MV应用于来自DPB(670)或其它缓冲区的经重构参考图片。当使用经剪辑参考图片时,运动补偿器(655)可调整MV所引用的位置以补偿剪辑和/或缩放,如下所述。运动补偿器(655)产生针对当前图片中的图片间编码块的运动补偿的预测。
在视频解码器(550)的分开的路径中,图片内预测器(645)接收图片内预测数据(642),诸如指示所使用的预测模式/方向的信息。对于图片内空间预测,图片内预测器(645)根据预测模式/方向使用当前图片的重构(638)的值,从当前图片的相邻的、先前重构的样本值中空间地预测当前图片的当前块的样本值。或者,对于图片内块复制模式,图片内预测器(645)使用依据当前块的位移(块向量)指示的参考块的先前重构的样本值来预测当前块的样本值。
图片内/图片间切换选择运动补偿的预测或图片内预测的值用作给定块的预测(658)。例如,当H.265/HEVC句法被遵循时,可以基于为图片中的CU 编码的句法元素来控制图片内/图片间切换,该图片可以包含图片内预测的CU 和图片间预测的CU。当残留值已经被编码/信号化时,视频解码器(550)将预测(658)与重构的残留值组合以产生来自视频信号的内容的重构(638)。当残留值尚未被编码/信号化时,视频解码器(550)将预测(658)的值用作重构(638)。
视频解码器(550)还重构预测残留值。为了在残留值已被编码/信号化时重构残留,缩放器/逆变换器(635)接收并处理经量化的变换系数数据(632)。在缩放器/逆变换器(635)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。缩放器/逆变换器(635)基于比特流中的句法元素为图片、小块、片和/或视频的其它部分设置QP值。逆频率变换器执行逆频率变换,从而产生经重构的预测残留值或样本值的块。例如,逆频率变换器将逆块变换应用到频率变换系数,从而产生样本值数据或预测残留数据。逆频率变换可以是逆DCT、其整数近似、或另一种类型的逆频率变换(例如逆离散正弦变换或其整数近似)。如果频率变换在编码期间被跳过,则逆频率变换也被跳过。在这种情况下,缩放器/逆量化器可对预测残留数据(或样本值数据)的块执行逆缩放和逆量化,从而产生经重构的值。视频解码器(550)将经重构的预测残留值于预测(658)的预测值组合,从而产生重构(638)的值。
对于图片内预测,重构(638)的值可以被馈送回图片内预测器(645)。对于图片间预测,重构(638)的值可以被进一步滤波。在合并器/滤波器(665) 中,视频解码器(550)将来自不同小块的内容合并到图片的经重构版本中。视频解码器(550)根据滤波控制数据(662)和滤波自适应规则来执行去块滤波和SAO滤波,以便自适应地平滑各图片中的各边界上的间断。在合并器/滤波器中,视频解码器(550)还可剪辑当前图片(作为参考图片)和/或执行去噪,如下所述。可替换地或另外地应用其它滤波(例如去振铃滤波或ALF;未示出)。图块边界可以被选择性地滤波或根本不被滤波,这取决于视频解码器 (550)的设置或经编码的比特流数据内的句法元素。DPB(670)缓冲经重构的当前图片以供在后续的经运动补偿的预测中用作参考图片。除了经重构的当前图片之外,DPB(670)还可存储GRPS中的一个或多个全局参考图片、一个或多个经剪辑参考图片和/或一个或多个经去噪参考图片。或者,GRSP的全局参考图片、经剪辑参考图片和/或经去噪参考图片可被存储在另一缓冲区中。
视频解码器(550)还可包括后处理滤波器。后处理滤波器可包括去块滤波、去振铃滤波、自适应维纳滤波、膜颗粒再现滤波、SAO滤波或另一种类的滤波。尽管“内环路”滤波是在运动补偿环路中对图片的经重构的样本值执行的,并因此影响参考图片的样本值,但后处理滤波器是在经重构的样本值被输出以供显示之前在运动补偿环路外部被应用于经重构的样本值的。
参考图5,经解码图片临时存储器存储区域(560)包括多个图片缓冲器存储区域(561,562,…,56n)。经解码图片存储区域(560)例如是DPB (670)。解码器(550)使用MMCO/PS信息(532)来标识该解码器可将经解码的图片(551)存储在其中的图片缓冲器(561、562等)。解码器(550) 将经解码的图片(551)存储在那个图片缓冲器中。以与MMCO/RPS信息(532) 一致的方式,解码器(550)还确定是否将任何参考图片从多个图片缓冲存储区域(561,562,……,56n)中移除。合并器/滤波器(665)修改(诸如剪辑或去噪)参考图片后,多个图片缓冲存储区域(561,562,……,56n)可包括经剪辑参考图片和/或经去噪参考图片以及GRPS中的参考图片。
输出序列发生器(580)标识按显示次序(也被称为输出次序)将产生的下一图片何时可在经编码图片存储区域(560)中获得。当将按显示次序产生的下一图片(581)可在经解码图片存储区域(560)中获得时,输出序列发生器(580)读取该下一图片并将其输出到输出目的地(590)(例如显示器)。一般来说,输出序列发生器(580)将图片从经解码图片存储区域(560)中输出的次序(显示次序)可以与解码器(550)解码这些图片的次序(比特流次序)不同。
取决于实现和所希望的解压的类型,视频解码器系统(500)和/或视频解码器(550)的模块可以被添加、省略、拆分成多个模块、与其他模块组合和/ 或替换为类似的模块。在替换实施例中,具有不同模块和/或其他模块配置的解码器系统或解码器执行所描述的技术中的一个或多个。解码器系统的具体实施例通常使用视频解码器系统(500)的变型或补充版本。视频解码器的具体实施例通常使用视频解码器(550)的变型或补充版本。所示出的在视频解码器系统(500)和视频解码器(550)内的各模块之间的关系指示信息分别在视频解码器系统(500)和视频解码器(550)中的一般流动;为简单起见,未示出其他关系。一般而言,视频解码器系统(500)的给定模块或视频解码器(550) 可由能在CPU上执行的软件、控制专用硬件(例如,用于视频加速的图形硬件)的软件、或者专用硬件(例如,ASIC中)来实现。
灵活的参考图片管理。
本章节描述了灵活的参考图片管理中的创新。例如,创新包括视频编码/ 解码期间的对全局参考图片集(“GRPS”)的使用、视频编码/解码期间的对参考图片的剪辑、和/或视频编码/解码期间的对参考图片的去噪。在一些情形 (例如,使用GRPS、参考图片去噪)中,创新可通过提供更好的参考图片以供进行图片间预测来提高编码效率。在其它情形(例如,参考图片剪辑)中,创新可减少用于在视频编码/解码期间存储参考图片的存储器的量,由此节省计算资源。
灵活的参考图片管理概述。
图7示出了用于包括灵活的参考图片管理的视频编码的通用技术(700)。视频编码器系统(诸如参考图3描述的视频编码器系统(300)或另一视频编码器系统)执行该技术(700)。
视频编码器系统对视频序列的一个或多个图片进行编码(710)以产生经编码数据。作为编码的一部分,视频编码器系统使用灵活的参考图片管理的一个或多个特征。例如,视频编码器系统在编码期间使用GRPS(参见章节V.B 以及例如图11),在编码期间执行对参考图片的剪辑(参见章节V.C以及例如图15),和/或在编码期间执行对参考图片的去噪(参见章节V.D以及例如图17)。
视频编码器系统将经编码数据作为比特流的一部分来输出(720)。经编码数据可包括视频序列的图片的经编码数据以及用于如下所述的灵活的参考图片管理的特征的控制数据。视频编码器系统检查(730)是否通过对视频序列中的一个或多个后续图片进行编码来继续,并且如果是,则对后续图片进行编码(710)。
图7所示的技术(700)可由计算机系统作为一种方法来执行。或者,计算机系统可包括被配置成执行用于图7所示的技术(700)的视频编码操作的视频编码器并且还包括被配置成存储比特流的一部分的缓冲区。或者,一种或多种计算机可读介质可存储计算机可执行指令,这些指令用于使得由此编程的计算机系统执行用于图7所示的技术(700)的视频编码操作。一种或多种计算机可读介质可存储由图7所示的技术(700)产生的经编码数据。
图8示出了用于包括灵活的参考图片管理的视频解码的对应的通用技术 (800)。视频解码器系统(诸如参考图5描述的视频解码器系统(500)或另一视频解码器系统)执行该技术(800)。
视频解码器系统接收(810)作为比特流的一部分的视频序列的一个或多个图片的经编码数据。经编码数据可包括视频序列的图片的经编码数据以及用于如下所述的灵活的参考图片管理的特征的控制数据。
视频解码器系统解码(820)经编码数据以重构视频序列的图片。作为解码的一部分,视频解码器系统使用灵活的参考图片管理的一个或多个特征。例如,视频解码器系统在解码期间使用GRPS(参见章节V.B以及例如图12),在解码期间执行对参考图片的剪辑(参见章节V.C以及例如图15),和/或在解码期间执行对参考图片的去噪(参见章节V.D以及例如图17)。视频解码器系统检查(830)是否通过对视频序列中的一个或多个后续图片进行解码来继续,并且如果是,则接收(810)后续图片的经编码数据。
图8所示的技术(800)可由计算机系统作为一种方法来执行。或者,计算机系统可包括被配置成执行用于图8所示的技术(800)的视频解码操作的视频解码器并且还包括被配置成存储比特流的一部分的缓冲区。或者,一种或多种计算机可读介质可存储计算机可执行指令,这些指令用于使得由此编程的计算机系统执行用于图8所示的技术(800)的视频解码操作。一种或多种计算机可读介质可存储被配置成供视频解码器通过用于图8所示的技术(800) 的视频解码操作来解码的经编码数据。
全局参考图片集。
本章节描述了在视频编码和视频解码期间使用GRPS中的创新。例如,视频编码器和视频解码器使用保持在存储器中并因此比常规参考图片更长地可供用于视频编码和视频解码的参考图片的GRPS。使用GRPS能通过使专门选择的全局参考图片在整个视频编码和视频解码中可用来提高视频编码效率。
对GRPS的介绍。
在许多视频编解码器标准和格式中,视频序列可包括被指定为随机存取图片(“RAP”)的图片。常规上,被指定为RAP的图片只使用图片内编码来编码,而没有任何图片间预测。正确的解码可开始于指定RAP。按比特流次序 (也被称为编码次序或解码次序)和显示次序在指定RAP后的图片不依赖于按比特流次序在指定RAP之前的参考图片。除了几个特例之外,在指定RAP 后编码/解码的图片不依赖于在该指定RAP之前编码/解码的参考图片。(在一些编解码器标准中,按比特流次序在指定RAP后但按显示次序在指定RAP之前的图片依赖于更早先的参考图片,但这一图片通常在随机存取之际被丢弃。) 当视频解码器检测到被指定为RAP的图片时,视频解码器通常将所有参考图片从其DPB中移除。虽然具有常规RAP的编码/解码促成回放中的各种特征(例如,错误恢复、信道切换、不同比特率的流之间的切换),但RAP难以高效地压缩,因为图片间预测未被使用。
对于根据H.264标准或H.265标准的句法,图片参数集(“PPS”)包含可与图片相关联的句法元素。PPS可被用于单个图片,或者PPS可被重用于序列中的多个图片。类似地,对于根据H.264标准或H.265标准的句法,序列参数集(“SPS”)包含可与图片序列相关联的句法元素。通常,SPS或PPS在编码或解码期间保持活跃直到它被另一SPS或PPS替代。不像参考图片,SPS或 PPS跨指定RAP处的随机存取边界保持活跃。即,按比特流次序在指定RAP 后编码/解码的图片仍能使用来自按比特流次序在该指定RAP之前的SPS或 PPS。如果SPS或PPS在视频解码器检测到指定RAP时不可用,则视频解码器可快速浏览比特流以寻找SPS或PPS,或者视频解码器可请求SPS或PPS 的重传。为了更容易地定位SPS或PPS,SPS或PPS可以在比特流中周期性地重复。
例如,经编码数据的比特流可以如下组织:
SPS0,PPS0,RAP00,P1,……,P29,RAP130,P31,……,P59,RAP260, P61,……
其中SPS0指示第一SPS(在比特流中其后可以是第二SPS SPS1、第三 SPS SPS2等),且PPS0指示第一PPS(在比特流中其后可以是第二PPS PPS1、第三PPS PPS2等)。RAP00、RAP130和RAP260指示每隔30个图片出现的指定RAP。RAP00是第一RAP,RAP130是第二RAP,RAP260是第三RAP,以此类推。P1、P2、……指示相对于一个或多个参考图片使用图片间预测来编码的图片。经编码数据单元的比特流次序是针对这些单元示出的次序。对于将被解码和显示的图片,显示次序由下标值指示。例如,RAP130是第二RAP,且其显示次序为30。不显示某些经编码数据单元(例如,对于SPS或PPS)。在该示例中,当检测到指定RAP时,视频解码器将所有参考图片从其DPB中移除。由此,参考图片链在指定RAP处截断。按比特流次序在指定RAP后的图片Pn无法参考按比特流次序在该指定RAP之前的任何图片。另一方面,SPS0 和PPS0保持活跃直到在解码期间被替换,甚至在视频解码器检测到指定RAP 后。
根据本章节中描述的创新,GRPS包括一个或多个全局参考图片。如同SPS 或PPS,GRPS中的全局参考图片是全局可用的,而不管指定RAP处的随机存取边界。对指定RAP的检测不会导致将GRPS中的全局参考图片从DPB或其它缓冲区中移除。相反,GRPS中的全局参考图片保持可用以供在视频解码器遇到指定RAP后用作参考图片。在一些示例实现中,指定RAP可以在图片间预测中将GRPS中的全局参考图片用作参考图片,这使得对指定RAP的编码变得高效得多。由此,GRPS可以被集成到视频编码/解码中以支持随机存取,同时还提高对于指定RAP的编码效率。
GRPS的示例使用。
图9示出了视频编码或视频解码使用GRPS时的对DPB(470、670)的更新的示例(900)。在视频编码/解码当中期间的某一时刻,DPB(470、670) 包括GRPS中的三个参考图片(GRPS0,GRPS1,GRPS2)以及五个常规参考图片(ref0,……,ref4)。GRPS0是第一GRPS,GRPS1是第二GRPS,GRPS2 是第三GRPS,以此类推。GRPS可被显示(在该情形中它在以下示例中包括下标)或不被显示(在该情形中它在以下示例中缺少下标)。当遇到指定RAP 时,视频编码器或视频解码器将五个常规参考图片(ref0,……,ref4)从DPB (470、670)中移除。然而,DPB(470、670)保留三个全局参考图片(GRPS0, GRPS1,GRPS2)。由此,这三个全局参考图片(GRPS0,GRPS1,GRPS2)保持是跨指定RAP定义的RAP边界可访问的。指定RAP可将这三个全局参考图片(GRPS0,GRPS1,GRPS2)中的任一者用作参考图片。甚至按比特流次序和显示次序在指定RAP后的图片也可将这三个全局参考图片(GRPS0, GRPS1,GRPS2)中的任一者用作参考图片。
图9示出了也存储其它常规参考图片的DPB(470、670)中的全局参考图片。或者,GRPS中的全局参考图片被分开存储。例如,全局参考图片被存储在用于GRPS的单独缓冲区中。将全局参考图片存储在单独缓冲区中可简化全局参考图片的管理。
视频编码器确定何时向GRPS添加全局参考图片。全局参考图片可以是视频序列中的将被解码和显示的实际图片。或者,全局参考图片可以是从视频序列的图片中生成或人工创建的虚拟图片,该虚拟图片将在图片间预测中被解码和使用,但不被显示。章节V.B.4描述了用于在确定作为GRPS的一部分的全局参考图片时做出决策的各种办法。视频编码器对全局参考图片进行编码并将全局参考图片的经编码数据标记为GRPS的一部分。例如,NAL单元类型标记比特流中的GRPS单元。或者,GRPS中的全局参考图片的经编码数据用某一其它指示符来标记。视频解码器解码并缓冲全局参考图片。
图10a-10d示出了比特流中的包括GRPS单元的经编码数据单元的示例序列(1010,1020,1030,1040)。经编码数据单元的比特流次序是图10a-10d 中针对这些单元示出的次序。对于将被解码和显示的图片,显示次序由下标值指示。某些经编码数据单元(例如,在一些情形中,对于SPS或PPS、对于 GRPS中的全局参考图片)不被显示。由此,对于将被解码但不被显示的图片 (例如,一些GRPS),在图10a-10d中未示出下标值。在一些情形中,比特流次序不同于显示次序(例如,由于运动补偿中的双向预测或反向预测)。例如,在图10a和10b中,若干图片(P59、P60)按显示次序比指定RAP(RAP261) 更早,但按比特流次序比指定RAP(RAP261)更晚。
在图10a中,示例序列(1010)包括GRPS中的全局参考图片(GRPS00)、 SPS(SPS0)和PPS(PPS0)的经编码数据。示例序列(1010)还包括每隔30 个图片出现并且定义随机存取边界的三个指定RAP(RAP01,RAP131,RAP261) 的经编码数据以及其它图片(Pn)的经编码数据。GRPS、SPS和PPS可以是跨指定RAP处定义的随机存取边界可访问的。例如,在图10a中,第三指定 RAP(RAP261)定义随机存取边界。GRPS00、SPS0和PPS0对于按比特流次序和显示次序在第三指定RAP(RAP261)之前的图片(P58)是可访问的,对于按显示次序在第三指定RAP(RAP261)之前但按比特流次序在其之后的图片 (P59)是可访问的,并且对于按比特流次序和显示次序在第三指定RAP (RAP261)之后的图片(P62)是可访问的。由此,全局参考图片(GRPS00) 具有参数集的特性(跨随机存取边界可访问,这意味着全局参考图能由在不同的随机存取时段中的各图片共享)以及常规图片的特性(包括比特流中的关于单独的可解码图片内容的经编码数据)。
视频编码器和视频解码器可使用参考图片标识符(“ID”)来标识GRPS 中的全局参考图片。当另一图片使用GRPS中的全局参考图片来进行图片间预测时,该另一图片使用参考图片ID来定位缓冲区中的全局参考图片。视频编码器和视频解码器可以对GRPS中的全局参考图片使用参考图片ID的单独集合(即,全局参考图片ID)。例如,GRPS中的每一全局参考图片被指派唯一的全局参考图片ID。或者,视频编码器和视频解码器可以对全局参考图片以及其它常规参考图片使用相同的参考图片ID集合。
视频编码器和视频解码器可将全局参考图片纳入现有过程中以用于在运动补偿操作中使用参考图片。例如,视频编码器/解码器构造参考图片集以及一个或多个参考图片列表。对于将要解码的给定图片,当前参考图片集包括在对给定图片以及按比特流次序晚于给定图片的任何图片的运动补偿操作中可供参考的图片。当使用GRPS时,当前参考图片集包括一个或多个全局参考图片。然后,视频编码器/解码器从当前参考图片集中构造一个或多个参考图片列表。参考图片列表包括可用于在对给定图片或其一部分(例如,对一片)的运动补偿操作中参考的图片。
在一些示例实现中,指定RAP可使用图片内编码或使用通过GRPS中的一个或多个全局参考图片的图片间预测来编码。图10b示出了比特流中的包括 GRPS单元的经编码数据单元的另一示例序列(1020)。在该序列(1020)中,指定RAP中的两者(RAP01和RAP261)使用来自GRPS中的全局参考图片 (GRPS00)的图片间预测来编码。另一指定RAP(RAP131)使用图片内编码来编码。用来自GRPS中的全局参考图片的图片间预测来对指定RAP编码可极大地减少用于编码指定RAP的比特的量。提高的编码效率的成本取决于全局参考图片,该全局参考图片被解码和缓冲以使其可供后续解码。
如果全局参考图片不可用于指定RAP或另一图片的图片间预测,则视频解码器可在本地快速浏览比特流的可用部分以查找全局参考图片的经编码数据,然后解码并缓冲该全局参考图片。或者,视频解码器可请求在流传输期间重传全局参考图片,然后解码并缓冲全局参考图片。这些操作可以向使用全局参考图片来进行图片间预测的解码添加延迟。
为冗余起见,比特流可包括全局参考图片的经编码数据的多个副本。图 10c示出了比特流中的包括多个GRPS单元的经编码数据单元的另一示例序列 (1030)。在示例序列(1030)中,第一全局参考图片(GRPS0)的经编码数据出现两次。第一全局参考图片(GRPS0)被解码并且可以在图片间预测中使用,但不被显示。在图10c的示例中,另一全局参考图片(GRPS10)被解码并显示,并且可以在图片间预测中使用。更一般地,GRPS中的全局参考图片(如 SPS和PPS一样)可以在整个比特流中出现。
在前述示例中,每一全局参考图片使用图片内压缩来编码。图10d示出了比特流中的包括多个GRPS单元的经编码数据单元的另一示例序列(1040)。在图10d的示例序列(1040)中,一个全局参考图片(GRPS2)使用通过作为参考图片的按比特流次序的更早先的全局参考图片(GRPS0)的图片间预测来编码。另一全局参考图片(GRPS10)使用图片内编码来编码。GRPS中的全局参考图片在使用图片间预测来编码时只参考按比特流次序中更早先的全局参考图片。潜在地,全局参考图片可依赖于更早先的全局参考图片链,在该情形中视频解码器解码并缓冲该预测链中的尚不可用的任何更早先的全局参考图片。为了限制解码延迟,视频编码器可约束用于GRPS图片间预测的预测链的长度。如果约束为0,则每一全局参考图片都使用图片内编码来编码。在该情形中,使用全局参考图片来进行对任何图片的图片间预测增加最多一个图片的解码延迟。
为了减少通过在图片间预测中使用全局参考图片而引入的解码延迟,视频解码器可缓冲GRPS中的全局参考图片。GRPS中的全局参考图片可被缓冲在 DPB或其它缓冲区中。在一些示例实现中,视频解码器基于由视频编码器用信令通知的控制信息来更新缓冲区中的全局参考图片。或者,视频解码器在“最大努力”的基础上缓冲GRPS中的全局参考图片,通过快速浏览比特流或者请求重传GRPS中的全局参考图片的经编码数据来按需恢复丢失的全局参考图片。例如,视频解码器缓冲最多n个全局参考图片(其中n取决于实现),然后开始丢弃全局参考图片(例如,开始于最近最少使用全局参考图片或最老的全局参考图片或者以某种其它方式标识要丢弃的全局参考图片)。在该情形中,视频解码器在稍后解码期间按需恢复所丢弃的全局参考图片。
使用GRPS的示例编码。
图11示出了用于使用作为GRPS的一部分的全局参考图片来进行视频编码的示例技术(1100)。视频编码器系统(诸如参考图3描述的视频编码器系统(300)或另一视频编码器系统)在对视频序列的一个或多个图片进行编码以产生经编码数据时执行该技术(1100)。
视频编码器系统确定(1110)作为GRPS的一部分的全局参考图片。例如,视频编码器系统从视频序列的一个或多个图片中选择全局参考图片。或者,作为另一示例,视频编码器系统从视频序列的两个或更多个图片中创建全局参考图片。下一章节描述了用于确定作为GRPS的一部分的全局参考图片的各种办法。
视频编码器系统对全局参考图片进行编码(1120)以产生全局参考图片的经编码数据。例如,视频编码器系统只使用图片内压缩操作来对全局参考图片进行编码。或者,视频编码器系统使用图片间压缩操作来对全局参考图片进行编码。在该情形中,对全局参考图片进行编码使用另一全局参考图片来在运动补偿操作中进行参考。约束可限制GRPS内的预测链的深度(例如,一个图片、两个图片)。
视频编码器系统还对其它图片进行编码(1130)以产生其它图片的经编码数据。其它图片包括被指定为RAP的图片。全局参考图片是跨随机存取边界可用的。由此,全局参考图片可供用于对按比特流次序或显示次序在指定RAP 之前的至少一个其它图片进行编码,并且全局参考图片也可供对按比特流次序或显示次序在指定RAP之后的至少一个其它图片进行编码。作为对其它图片进行编码的一部分,指定RAP可使用全局参考图片来在运动补偿操作中进行参考。或者,非RAP图片可使用全局参考图片来在运动补偿操作中进行参考。
在一些示例实现中,视频编码器系统还定义控制对其它图片的编码的一个或多个参数集。例如,参数集包括SPS和PPS。参数集是跨随机存取边界可用的。它们可供用于对按比特流次序在指定RAP之前的至少一个其它图片编码,并且它们可供用于对按比特流次序在指定RAP之后的至少一个其它图片编码。
包括全局参考图片的经编码数据以及其它图片的经编码数据在内的经编码数据可作为比特流的一部分来输出。全局参考图片的经编码数据可以用比特流中的单元类型来被标记为是GRPS的一部分。或者,全局参考图片的经编码数据以某种其它方式标记。
在使用GRPS时的示例编码器侧决策。
视频编码器系统可使用各种办法中的任一种来决定何时向GRPS添加全局参考图片。在不同的办法中,视频编码器系统以不同方式确定新全局参考图片。
根据第一组办法,视频编码器系统周期性地向GRPS添加另一全局参考图片。如果全局参考图片的计数已经达到阈值,则视频编码器系统可将一全局参考图片从GRPS中移除(例如,移除最老的全局参考图片、移除最近最少使用的全局参考图片)。在该第一组办法中,全局参考图片之间的时段历时取决于实现。例如,历时是10秒、15秒或某一其它秒数。在全局参考图片之间的时段内,视频编码器系统可周期性地将图片指定为使用图片内压缩或使用通过一个或多个先前的全局参考图片(例如,使用GRPS中的紧接在前的全局参考图片)的图片间预测来编码的RAP。
根据第二组办法,视频编码器系统检测视频序列中的场景变化。在已经检测到场景变化后,视频编码器系统插入GRPS中的新全局参考图片。具体而言,全局参考图片可被用作针对属于该场景的图片的参考图片。例如,视频编码器系统从场景变化后的一个或多个图片中选择或创建全局参考图片。或者,作为另一示例,视频编码器系统从GRPS内标识先前已与视频序列中的同一场景(或类似场景)相关联的全局参考图片。这在场景被重复时或者在场景来回切换时可以是有用的。在该情形中,视频编码器系统可以对相同(或相似)场景重用先前的全局参考图片。当视频解码器系统已经具有针对相同(或相似)场景的先前的全局参考图片时,视频编码器系统可跳过全局参考图片的经编码数据的输出。在第二组办法中,如同在第一组办法中,如果全局参考图片的计数已经达到阈值,则视频编码器系统可将一全局参考图片从GRPS中移除(例如,移除最老的全局参考图片、移除最近最少使用的全局参考图片)。
根据第三组办法,视频编码器系统将视频序列的至少某些图片评估为全局参考图片的选项,并且从所评估的选项中标识全局参考图片。此类办法可以是计算密集的,这使其相比于实时视频编码更适合离线视频编码。例如,假设视频编码器系统评估一系列图片以标识一个或多个全局参考图片的集合。视频编码器系统将指定RAP(RAP0、RAP1、RAP2、RAP3等)认为是全局参考图片的候选。为了简化分析,每一指定RAP使用最多一个全局参考图片来用于图片间预测,并且全局参考图片本身使用图片内压缩来编码。对于指定RAP中的每一RAPi,视频编码器系统计算通过将指定RAP中的另一RAPj用作全局参考图片来对RAPi进行编码的成本ci,j。当i等于j时,指定RAP RAPi用图片内压缩来编码。成本ci,j可以是速率失真成本或另一成本度量。视频编码器系统为该系列选择GRP计数个全局参考图片(例如,GRP计数可以是1、2、3或某一其它全局参考图片数)。具体而言,对于GRP计数个全局参考图片的集合中的全局参考图片a、b、……、g,视频编码器系统选择对于其GRP总成本被最小化的GRP计数个全局参考图片:GRP总成本=ca,a+cb,b+…+cg,g+ Σimin j ci,j,对于i不是a、b、……、g之一且j是a、b、……、g之一。总成本计及用图片内压缩来对每一候选全局参考图片进行编码的成本(即,ca,a+ cb,b+…+cg,g)。总成本还计及使用最佳候选全局参考图片Σimin j ci,j来对所有其余指定RAP进行编码的成本。视频编码器系统可改为准许使用来自其它全局参考图片的图片间预测(而无需对全局参考图片进行图片内编码)来编码全局参考图片。
或者,视频编码器系统使用另一种办法来决定何时向GRPS添加全局参考图片并确定新的全局参考图片。
使用GRPS的示例解码。
图12示出了用于使用作为GRPS的一部分的全局参考图片来进行视频解码的示例技术(1200)。视频解码器系统(诸如参考图5描述的视频解码器系统(500)或另一视频解码器系统)在对经编码数据进行解码以重构视频序列的一个或多个图片时执行该技术(1200)。视频序列的图片的经编码数据包括作为GRPS的一部分的全局参考图片的经编码数据以及其它图片的经编码数据。其它图片包括被指定为RAP的至少一个图片。
参照图12,视频解码器系统使用全局参考图片的经编码数据来解码 (1210)全局参考图片。例如,视频解码器系统只使用图片内解压操作来对全局参考图片进行解码。或者,视频解码器系统使用图片间解压操作来对全局参考图片进行解码。在该情形中,对全局参考图片进行解码使用另一全局参考图片来在运动补偿操作中进行参考。
视频解码器系统还使用其它图片的经编码数据来对其它图片进行解码 (1220)。全局参考图片是跨随机存取边界可用的。由此,全局参考图片可供用于在按比特流次序或显示次序在指定RAP之前的至少一个其它图片进行解码,并且全局参考图片也可供对按比特流次序或显示次序在指定RAP之后的至少一个其它图片进行解码。作为对其它图片进行解码的一部分,指定RAP 可使用全局参考图片来在运动补偿操作中进行参考。或者,非RAP图片可使用全局参考图片来在运动补偿操作中进行参考。
在一些示例实现中,视频解码器系统还接收控制对其它图片的解码的一个或多个参数集。例如,参数集包括SPS和PPS。参数集是跨随机存取边界可用的。它们可供用于对按比特流次序在指定RAP之前的至少一个其它图片解码,并且它们可供用于对按比特流次序在指定RAP之后的至少一个其它图片解码。
视频解码器系统可以按各种方式更新其DPB或其它缓冲区中的参考图片。例如,在重构视频序列的图片后,视频解码器系统将至少一个参考图片从其DPB或其它缓冲区中移除,并且视频解码器系统将全局参考图片存储在其 DPB或其它缓冲区中。一般而言,对指定RAP的解码不会导致将全局参考图片从DPB或其它缓冲区中移除。
在解码期间,视频解码器系统可确定全局参考图片不可用。在该情形中,视频解码器系统可快速浏览比特流以定位全局参考图片的经编码数据。或者,视频解码器系统可请求重传全局参考图片的经编码数据。
参考图片剪辑。
本章节描述了在视频编码和视频解码期间剪辑参考图片中的创新。例如,视频编码器和视频解码器剪辑参考图片以使该参考图片的有用区域被保留在存储器中,同时丢弃该参考图片的无帮助或冗余区域。参考图片剪辑可减少存储参考图片所需的存储器的量。或者,参考图片剪辑可通过存储更多样的参考图片集以提供运动补偿的更好选项来改进对可用存储器的利用。
对参考图片剪辑的介绍。
当视频编码/解码使用参考图片来进行图片间预测时,参考图片的某些区域可被频繁地访问,而参考图片的其它区域根本未被访问。此外,当缓冲区存储多个参考图片时,不同的参考图片可包括针对一区域的不因图片而异的相同图片内容。存储不用于图片间预测的区域的图片内容或者存储重复区域的相同图片内容的冗余副本浪费视频编码器和视频解码器处的存储器。
视频编码器和视频解码器可使用对参考图片的剪辑来减少视频编码/解码期间的对存储器的利用。视频编码器/解码器将参考图片的一个或多个区域存储在DPB或其它缓冲区中,而不是将整个参考图片存储在DPB或其它缓冲区中。如果参考图片被仔细地剪辑,则维持高编码效率。
或者,视频编码器和视频解码器可使用对参考图片的剪辑来在视频编码/ 解码期间提供更多样的参考图片集。对于可用于缓冲参考图片的给定量的存储器,对参考图片的剪辑允许视频编码器/解码器存储来自更多参考图片的多样内容,这能通过提供用于运动补偿的更多选项来提高编码效率。
参考图片剪辑的示例使用。
图13a示出了参考图片剪辑的简单示例(1310)。经重构图片(1311)是原始参考图片。剪辑参数定义经重构图片(1311)内的经剪辑图片(1312)的区域。经重构图片(1311)的在经剪辑图片(1312)之外的区域被丢弃。
在图13a中,从原始参考图片中创建单个经剪辑参考图片。或者,可以从单个原始参考图片中创建多个经剪辑参考图片。图13b示出了其中从一个经重构图片(1321)中创建两个经剪辑图片(1322、1323)的示例(1320)。剪辑参数定义不重叠的两个经剪辑图片(1322、1323)。经重构图片(1321)的在经剪辑图片(1322、1323)之外的区域被丢弃。图13c示出了其中从经重构图片(1331)中创建两个重叠的经剪辑图片(1332、1333)的示例(1330)。在该示例中,由剪辑参数定义的两个经剪辑图片(1332、1333)共享来自经重构图片(1331)的一些相同图片内容。经重构图片(1331)的在经剪辑图片(1332、 1333)之外的区域被丢弃。
在图13a-13c的示例中,经剪辑图片未被缩放。或者,经剪辑图片可被缩放。图13d示出了其中从经重构图片(1341)中创建经剪辑的经缩放图片(1342) 的示例(1340)。剪辑参数定义经剪辑的经缩放图片(1342)。经重构图片(1341) 的在经剪辑的经缩放图片(1342)之外的区域被丢弃。通常,经剪辑图片被缩小以减少存储器使用。缩小经剪辑参考图片还可以在内容随图片缩小时提高编码效率。相反,放大经剪辑参考图片可以在内容随图片放大时提高编码效率。或者,参考图片可以在不剪辑的情况下被放大或缩小。
在图13a-13d中,一个或多个经剪辑参考图片替换原始参考图片。或者,原始参考图片还可被保留以供在图片间预测中使用。图13e示出了其中从经重构图片(1351)中创建经剪辑图片(1352)并且整个经重构图片(1351)也被保留以供在图片间预测中使用的示例(1350)。
在图13a-13e的示例中,经剪辑图片是矩形的。或者,经剪辑图片可具有另一形状(例如,不规则形状)。
每一经剪辑参考图片可被指派一参考图片索引。当在图片间预测中使用经剪辑参考图片时,参考图片索引标识相应的经剪辑参考图片。参考图片索引还可用于在缓冲区中定位相应的经剪辑参考图片。经剪辑参考图片的参考图片索引的值可由视频编码器和视频解码器指派,它们应用相同的规则来指派值。或者,经剪辑参考图片的参考图片索引的值可由视频编码器指派并用信令通知给视频解码器。
在一些示例实现中,视频编码器决定是否剪辑参考图片,并且如果是,则决定如何剪辑参考图片。视频编码器向视频解码器发送剪辑信息以使得视频解码器能以相同的方式剪辑参考图片。在其它示例实现中,视频编码器和视频解码器各自应用规则以决定是否剪辑参考图片,并且如果是,则决定如何剪辑参考图片。在该情形中,视频编码器无需将剪辑信息用信令通知给视频解码器,因为视频解码器独立导出经剪辑参考图片的剪辑参数。章节V.C.4描述了用于做出关于参考图片剪辑的决策的各种办法。
确定并存储相应的经剪辑参考图片的剪辑参数。例如,经剪辑参考图片的剪辑参数包括标识原始经重构图片的图片次序计数、原始经重构图片的空间分辨率、以及经剪辑参考图片在原始经重构图片内的位置。经剪辑参考图片在原始经重构图片内的位置可以用经剪辑参考图片的两个角(例如,左上角和右下角)的坐标、用经剪辑参考图片的一个角的坐标、以及用经剪辑参考图片的宽度/高度、或者以某种其它方式指定。在概念上,剪辑参数指定虚拟参考图片,该虚拟参考图片具有原始经重构图片的尺寸,但只具有经剪辑参考图片在其在原始参考图片内的位置处的实际图片内容。缩放因子可指示适用于经剪辑参考图片的任何缩放。
视频编码器和视频解码器可通过在运动补偿期间补偿剪辑(以及可能的缩放)来在图片间预测中使用经剪辑参考图片。视频编码器和视频解码器照常处置运动信息——当前块的MV指示参考图片相对于当前块在参考图片中的位于同处的位置的位移。该位移在参考图片的原始分辨率中指定。对运动信息的编码和解码过程(例如,预测、熵编码/解码)不变(即,使用用于常规参考图片的过程)。对于图片间预测,视频编码器和视频解码器通过将偏移(由剪辑参数中的位置信息指示)与通过MV引用的位置合计(例如,从MV的值中减去该偏移、从当前块在参考图片中的位于同处的位置中减去该偏移、或者从由 MV指示的最终位置中减去该偏移)来补偿剪辑。当缩放因子已被应用于参考图片时,视频编码器和视频解码器使用该缩放因子来恰当地将MV的值从参考图片的原始分辨率缩放至经缩放参考图片的分辨率。而且,对于经剪辑的经缩放参考图片,视频编码器和视频解码器缩放应用于MV引用的位置的偏移。
图14示出了涉及经剪辑参考图片的运动补偿的示例(1400)。在图14 中,当前图片(1410)包括具有MV(1414)的当前块(1412)。当前图片(1410) 中的当前块(1412)的左上角处在位置(256、192)。MV(1414)指示相对于当前块(1412)的左上角的位移(-127,-66)。
图14示出了作为原始参考图片的经重构图片(1420)以及经重构图片 (1420)内的经剪辑参考图片(1422)。经剪辑参考图片(1422)是经重构图片(1420)中的矩形,该矩形的左上角是(96,64)且其右下角是(512,256)。
MV(1414)指示经剪辑参考图片(1422)中的其左上角处在位置(33,66) 的预测块(1424)。预测块(1424)在经剪辑参考图片(1422)中的位置是当前块(1412)的位置加上MV(1414)减去离经剪辑参考图片(1422)的位置的偏移:
(256,192)+(-127,-66)-(96,64)=(33,62)。
为了比较起见,MV(1414)将指示原始参考图片中的其左上角在位置(129, 126)的预测块(1424)。预测块(1424)在原始参考图片(1420)中的位置将会是当前块(1412)的位置加上MV(1414):
(256,192)+(-127,-66)=(129,126)。
剪辑参考图片可显著减少用于存储参考图片的存储器的量。例如,考虑具有图片组(“GOP”)大小为8且启用时间分级的分层B图片编码结构。对于最低层,每第八个图片(例如,按显示次序的图片0、8、16、24等)使用图片内编码或相对于最低层中的前一图片的图片间预测来编码。对于下一层,在最低层的图片中间的图片(例如,按显示次序的图片4、12、20、28等)被添加并使用双向图片间预测来编码。对于下一层,在更低的两层的图片中间的图片(例如,按显示次序的图片2、6、10、14等)被添加并使用双向图片间预测来编码。最后,对于最后一层,在前三层的图片之间的图片(例如,按显示次序的图片1、3、5、7等)被添加并使用双向图片间预测来编码。对于该编码结构,视频编码器和视频解码器可能需要在解码期间缓冲四个参考图片:来自最低层的两个经重构图片、来自第二层的经重构图片、以及来自第三层的经重构图片。如果计算机系统只具有足够的存储器来缓冲两个完整的参考图片,则解码对于在具有GOP大小为8的分层B图片编码结构中编码的视频而言将会是不可能的,因为无法缓冲四个完整参考图片。可改为使用更小的GOP大小(诸如2),而编码效率降低。或者,参考图片的剪辑可减少用于在GOP 大小为8时缓冲四个参考图片的存储器的量。在该情形中,视频编码器和视频解码器选择性地将经重构图片的各区域保留在经剪辑参考图片中,且受制于用于缓冲参考图片的总存储器的上限。
更一般而言,参考图片的剪辑能减少用于缓冲启用或禁用时间分级的各种编码结构(例如,分层B图片编码结构、非分层B图片编码结构、分层P图片编码结构、非分层P图片编码结构)中的任一者编码的视频的参考图片的存储器的量。
编码/解码期间的示例参考图片剪辑。
图15示出了用于在视频编码或视频解码期间剪辑参考图片的示例技术 (1500)。视频编码器系统(诸如参考图3描述的视频编码器系统(300)或另一视频编码器系统)在对视频序列的一个或多个图片进行编码以产生经编码数据时执行该技术(1500)。或者,视频解码器系统(诸如参考图5描述的视频解码器系统(500)或另一视频解码器系统)在对经编码数据进行解码以重构视频序列的一个或多个图片时执行该技术(1500)。
参考图15,视频编码器系统或视频解码器系统重构(1510)视频序列的一个或多个图片中的给定图片。视频编码器/解码器系统根据剪辑参数来剪辑 (1520)经重构图片。在这样做时,视频编码器/解码器系统裁剪经重构图片的至少一些区域以产生经剪辑图片。视频编码器/解码器系统还可结合空间分辨率的缩放。例如,视频编码器/解码器系统在剪辑之前缩放经重构图片。或者,作为另一示例,视频编码器/解码器系统缩放经剪辑图片。
在一些示例实现中,视频编码器系统和视频解码器系统根据一个或多个规则来确定剪辑参数。在该情形中,视频编码器系统无需在比特流中用信令通知指示剪辑参数的剪辑信息,因为视频解码器系统独立导出剪辑参数。下一章节描述了用于设置可由视频编码器系统和视频解码器系统应用的剪辑参数的示例办法。
或者,视频编码器系统可确定并输出指示剪辑参数的剪辑信息以作为比特流的一部分。在该情形中,视频解码器系统接收剪辑信息并用来确定剪辑参数。例如,剪辑信息包括指示经剪辑图片在经重构图片中的位置的信息。该位置可以用经重构图片中的经剪辑图片的左上角和右下角的坐标来指定。或者,该位置可以用经剪辑图片的左上角和宽度/高度来指定。或者,经剪辑图片的位置可以按某种其他方式来指定。剪辑信息还可包括经重构图片的标识符以及经重构图片的原始空间分辨率。比特流中的缩放因子可指示在剪辑之前如何缩放经重构图片或者如何缩放经剪辑图片。下一章节描述了用于设置可由视频编码器系统在定义剪辑信息时应用的剪辑参数的示例办法。
视频编码器/解码器系统将经剪辑图片存储(1530)在缓冲区中以供用作参考图片。缓冲区可以是视频编码器/解码器系统处的DPB或者其它缓冲区。视频编码器/解码器系统随后在运动补偿操作中使用(1540)参考图片。在一些示例实现中,在编码/解码当前图片的当前块时,视频编码器/解码器系统确定当前块的MV。当前块在至少一个运动补偿操作中参照参考图片(经剪辑参考图片)。视频编码器/解码器系统调整通过MV引用的位置以补偿该剪辑。例如,视频编码器/解码器系统合计(加或减)水平偏移和/或垂直偏移以计及经剪辑图片在原始经重构图片内的位置。视频编码器/解码器系统还可调整MV 以补偿参考图片的缩放。例如,视频编码器/解码器系统将MV缩放与(经剪辑)参考图片相同的的缩放因子。视频编码器/解码器系统还可调整对剪辑的偏移以补偿参考图片的缩放。
视频编码器系统或视频解码器系统向(经剪辑)参考图片指派参考图片索引。参考图片索引可由视频编码器系统和视频解码器系统根据一个或多个规则来指派。或者,视频编码器系统可指派参考图片索引并在比特流中用信令通知指示该参考图片索引的信息,在该情形中视频解码器系统接收到该信息并相应地指派参考图片索引。
视频编码器系统或视频解码器系统可以从一个经重构图片中生成多个经剪辑参考图片。例如,视频编码器/解码器系统根据与先前使用的第一剪辑参数不同的第二(或第三、第四等)剪辑参数来剪辑经重构图片。在这样做时,视频编码器/解码器系统裁剪经重构图片的至少一些区域以产生与第一经剪辑图片不同的第二(或第三、第四等)经剪辑图片。视频编码器/解码器系统将第二 (或第三、第四等)经剪辑图片存储在缓冲区中以供在图片间预测中用作参考图片,并向不同的经剪辑参考图片指派不同的参考图片索引。当从同一经重构图片中创建多个经剪辑图片时,该多个经剪辑图片可以是重叠或不重叠的。
除了缓冲从经重构图片中生成的一个或多个经剪辑参考图片之外,视频编码器系统或视频解码器系统还可将原始经重构图片存储在缓冲区中以供用作参考图片。
设置剪辑参数时的示例决策。
视频编码器系统和视频解码器系统可使用各种办法中的任一种来设置用于从经重构图片中生成经剪辑参考图片的剪辑参数。
根据第一组办法,视频编码器系统或视频解码器系统设置剪辑参数以避免存储参考图片中的冗余图片内容。例如,视频编码器系统或视频解码器系统将经重构图片与先前已重构的一个或多个其它图片进行比较。基于该比较的结果,视频编码器系统或视频解码器系统标识经重构图片中的新区域,然后定义剪辑参数以包括该新区域但排除经重构图片的至少一个其它区域。或者,作为另一示例,视频编码器系统或视频解码器系统标识经重构图片中的从另一图片复制的区域。视频编码器系统或视频解码器系统定义剪辑参数以排除所复制的区域但包括经重构图片的至少一个其它区域(新的、非复制区域)。以此方式,视频编码器/解码器系统可丢弃已直接从另一图片复制的区域(没有残留值),但存储其它区域作为经剪辑参考图片的一部分。
视频编码器系统或视频解码器系统可以对经重构图片的更大部分做出决策,而不是在低级的逐块基础上标识新区域。例如,视频编码器系统或视频解码器系统确定一部分中的阈值比例的块是否缺少残留值(即,是从另一图片复制的)。如果是,则该部分被保留为经剪辑参考图片的一部分。或者,视频编码器系统或视频解码器系统确定一部分中的阈值比例的块是否是图片内编码的(并因此被假定为具有新图片内容)。如果是,则该部分被保留为经剪辑参考图片的一部分。对于任一测试,阈值比例取决于实现(例如,80%、90%)。
根据第二组办法,视频编码器系统设置剪辑参数以保留实际上用于参考图片的图片内容。例如,视频编码器系统测量在对一个或多个其它图片的运动估计中将经重构图片用作参考图片。视频编码器系统标识经重构图片中的已使用区域,然后定义剪辑参数以包括该已使用区域但排除经重构图片的至少一个其它区域。视频编码器系统可同时评估多个经重构图片以确定哪些区域实际上用于在对给定图片的块的图片间预测中进行参考。如果一个经重构图片的一区域从未被用来在图片间预测中参考,则视频编码器系统移除该区域。在以此方式消除未使用区域,视频编码器系统可以在给定图片的块的图片间预测中使用其余区域(现在是一个或多个经剪辑参考图片的一部分)。
视频编码器系统可以对经重构图片的更大部分做出决策,而不是在低级的逐块基础上标识用于图片间预测的区域。例如,视频编码器系统确定一部分中的阈值比例的内容被用来在图片间预测中参考。如果是,则该部分被保留为经剪辑参考图片的一部分。阈值比例取决于实现(例如,70%、80%、90%)。
或者,视频编码器系统或视频解码器系统使用另一种办法来设置剪辑参数。如果视频编码器系统和视频解码器系统独立导出剪辑参数,则视频编码器系统无需向视频解码器系统用信令通知剪辑参数。
参考图片的去噪。
本章节描述了在视频编码和视频解码期间对参考图片进行去噪中的创新。例如,视频编码器和视频解码器对参考图片进行滤波以移除捕捉噪声(例如,捕捉期间的由于相机缺陷而导致的噪声)。经去噪的参考图片可提供图片间预测的更好结果,由此提高视频编码效率。
对参考图片去噪的介绍。
在相机捕捉视频图片时,捕捉到的图片可包括由相机在捕捉过程期间随机引入的噪声。在一些情形中,输入图片中的随机噪声在编码和解码期间被衰减或消除(例如,由于量化)。然而,在其它情形中,输入图片中的随机噪声在整个编码/解码过程中被保留,以使得图片的经重构版本也包括随机噪声。
随机噪声在不同的输入图片中是不同的。由于随机噪声,同一对象在不同的图片中可具有不同的样本值。由此,参考图片中的随机噪声可损害使用该参考图片的图片间预测的质量。例如,正在编码的当前块中的随机噪声不太可能匹配参考图片的对应块中的随机噪声。
视频编码器和视频解码器可以对参考图片进行滤波以移除该参考图片中的随机噪声(例如,来自相机捕捉的噪声)。“经去噪”参考图片通常提供更接近匹配正在编码的块的预测块,这减少了残留值中的信息(或即能量)的量并由此提高编码效率。通常,视频编码器和视频解码器执行对参考图片的去噪以从输入图片中移除随机噪声,并且还执行(例如之后)对参考图片的其它滤波以移除块伪像、振铃伪像以及其它类型的错误,这些错误是在编码/解码过程中加入的。
视频编码器和视频解码器将经去噪参考图片存储在DPB或其它缓冲区中,从而有效地替换原始参考图片。或者,视频编码器和视频解码器还可将原始参考图片存储在DPB或其它缓冲区中,以提供用于图片间预测的另一选项。
参考图片去噪的示例使用。
视频编码器和视频解码器各自可以在对参考图片进行滤波以移除随机噪声时应用同一规则集。在该情形中,视频编码器无需向视频解码器用信令通知任何滤波信息。视频编码器和视频解码器独立导出用于滤波器的任何滤波参数并对参考图片应用滤波器。滤波器可以是固定滤波器,该固定滤波器在编码/ 解码期间不改变。或者,滤波器可以是自适应滤波器,该自适应滤波器在编码 /解码期间改变。例如,视频编码器和视频解码器在频域中(例如,对频域数据) 应用低通滤波器。或者,视频编码器和视频解码器在空域/时域中计算平均样本值。或者,视频编码器和视频解码器在空域/时域中计算中间样本值。或者,视频编码器和视频解码器应用使用块匹配和三维(“BM3D”)滤波的滤波器。或者,视频编码器和视频解码器执行某种其它类型的滤波以从经重构图片中移除随机噪声。
确定用于在逐图片的基础上去噪的滤波参数可以是计算密集过程,尤其是在滤波使用BM3D滤波或类似滤波的情况下。在一些情形中,视频解码器系统缺少资源来确定用于去噪的滤波参数。为了解决该问题,视频编码器可以在编码期间确定用于去噪的滤波参数,然后将指示滤波参数的滤波信息用信令通知给视频解码器。视频解码器可使用滤波信息来快速确定用于滤波器的滤波参数,视频解码器使用滤波参数来进行去噪。
图16a和16b分别示出了使用参考图片去噪的视频编码器(1600)和视频解码器(1650)的示例,其中视频编码器(1600)确定滤波参数并将其用信令通知给视频解码器(1650)。图16a和16b所示的组件中的某一些对应于图4a 和6中的组件。
参考图16a,视频编码器(1600)包括执行对参考图片的去噪的滤波控件 (460)以及一个或多个滤波器(465)。滤波控件(460)接收给定图片的输入版本(1605)以及给定图片(即,参考图片)的经重构版本(1607)。
滤波控件(460)计算滤波参数(1612)。例如,滤波控件(460)使用 BM3D滤波或另一种类型的滤波来对给定图片的输入版本(1605)执行去噪。然后,滤波控件(460)将给定图片的经去噪输入版本用作优化目标以导出滤波参数(1612)。该优化产生将使得给定图片的经重构版本(1607)更像给定图片的经去噪输入版本的滤波参数。在一些示例实现中,滤波参数(1612)是自适应环路滤波(“ALF”)参数或者用于Wiener滤波器的某一其它参数变体。或者,滤波参数(1612)是另一种类型的滤波参数。
滤波参数(1612)被提供给滤波器(465)以及首部格式化器/熵编码器 (490)。首部格式化器/熵编码器(490)产生滤波信息以供在经编码数据的比特流中输出。滤波信息指示滤波参数。视频编码器中的滤波器(465)使用滤波参数(1612)来确定如何对给定图片(参考图片)的经重构版本(1607)进行去噪。滤波产生给定图片(参考图片)的经去噪版本(1622),该经去噪版本被提供给DPB(470)或另一缓冲区。
参考图16b,视频解码器(1600)包括执行对参考图片的去噪的一个或多个滤波器(665)。滤波器(665)从解析器/熵解码器(610)接收滤波参数(1612)。例如,滤波参数(1612)是ALF参数或用于Wiener滤波器的某一其它参数变体。或者,滤波参数(1612)是另一种类型的滤波参数。
滤波器(665)还接收给定图片(即,参考图片)的经重构版本(1607)。视频解码器中的滤波器(665)使用滤波参数(1612)来确定如何对给定图片 (参考图片)的经重构版本(1607)进行去噪。滤波产生给定图片(参考图片) 的经去噪版本(1622),该经去噪版本被提供给DPB(670)或另一缓冲区。
编码/解码期间的参考图片的示例去噪。
图17示出了用于在视频编码或视频解码期间对参考图片进行去噪的示例技术(1700)。视频编码器系统(诸如参考图3描述的视频编码器系统(300) 或另一视频编码器系统)在对视频序列的一个或多个图片进行编码以产生经编码数据时执行该技术(1700)。或者,视频解码器系统(诸如参考图5描述的视频解码器系统(500)或另一视频解码器系统)在对经编码数据进行解码以重构视频序列的一个或多个图片时执行该技术(1700)。
参考图17,视频编码器系统或视频解码器系统重构(1710)视频序列的一个或多个图片中的给定图片。视频编码器/解码器系统用被适配成移除随机噪声的滤波器来对经重构图片进行滤波以产生经去噪图片。例如,滤波器是频域低通滤波器的变体、空域/时域低通滤波器的变体、空域/时域中值滤波器的变体、或者使用块匹配和三维滤波的滤波器。
在一些示例实现中,视频编码器系统和视频解码器系统各自根据一个或多个规则来确定用于滤波器的滤波参数。在该情形中,视频编码器系统无需在比特流中用信令通知指示滤波参数的滤波信息,因为视频解码器系统独立导出滤波参数。
或者,视频编码器系统可确定滤波参数,并输出指示滤波参数的滤波信息以作为比特流的一部分。在该情形中,视频解码器系统接收滤波信息并用来确定滤波参数。例如,视频编码器系统对给定图片的输入版本进行滤波以产生该给定图片的经去噪输入版本,然后基于将该给定图片的经去噪输入版本域经重构图片进行比较的结果来确定用于滤波器的滤波参数。具体而言,给定图片的经去噪输入版本可被用作经重构图片的优化目标。
视频编码器/解码器系统将经去噪图片存储(1730)在缓冲区中以供用作参考图片。缓冲区可以是视频编码器/解码器系统处的DPB或者其它缓冲区。视频编码器/解码器系统随后在运动补偿操作中使用(1740)参考图片。
视频编码器系统或视频解码器系统向(经去噪)参考图片指派参考图片索引。参考图片索引可由视频编码器系统和视频解码器系统根据一个或多个规则来指派。或者,视频编码器系统可指派参考图片索引并在比特流中用信令通知指示该参考图片索引的信息,在该情形中视频解码器系统接收到该信息并相应地指派参考图片索引。
除了缓冲从经重构图片中生成的经去噪参考图片之外,视频编码器系统或视频解码器系统还可将原始经重构图片存储在缓冲区中以供用作参考图片。
特征。
不同的实施例可包括在以下特征表中示出的创造性特征中的一个或多个。
Figure BDA0001339533330000481
Figure BDA0001339533330000491
Figure BDA0001339533330000501
Figure BDA0001339533330000511
Figure BDA0001339533330000521
Figure BDA0001339533330000531
Figure BDA0001339533330000541
Figure BDA0001339533330000551
Figure BDA0001339533330000561
Figure BDA0001339533330000571
Figure BDA0001339533330000581
鉴于可应用所公开的本发明的原理的许多可能的实施例,应当认识到,所示实施例仅是本发明的优选示例,并且不应被认为是限制本发明的范围。相反,本发明的范围由所附权利要求书来限定。因此,要求保护落入这些权利要求的精神和范围内的所有内容作为本发明。

Claims (19)

1.一种计算机系统,包括缓冲区以及被配置成执行视频编码操作的视频编码器,所述视频编码操作包括:
对视频序列的一个或多个图片进行编码以产生经编码数据,包括:
确定作为全局参考图片集的一部分的全局参考图片;
对所述全局参考图片进行编码以产生所述全局参考图片的经编码数据;
对其它图片进行编码以产生所述其它图片的经编码数据,所述其它图片包括被指定为随机存取图片的至少一个图片,其中所述全局参考图片是跨由被指定为随机存取图片的所述至少一个图片定义的一个或多个随机存取边界可用的,并且所述全局参考图片被存储在用于全局参考图片集GRPS的单独缓冲区中;以及
输出所述经编码数据以作为比特流的一部分,所述经编码数据包括所述全局参考图片的经编码数据以及所述其它图片的经编码数据;
所述缓冲区被配置成存储所述比特流的所述部分;
其中作为对所述其它图片进行编码的一部分,所述指定随机存取图片使用所述全局参考图片来在运动补偿操作中参考,其中所述全局参考图片具有参考图片标识符,并且其中所述运动补偿操作使用所述参考图片标识符来在缓冲区中定位所述全局参考图片。
2.如权利要求1所述的计算机系统,其特征在于,对所述视频序列的所述一个或多个图片进行编码包括:
定义控制对所述其它图片进行编码的一个或多个参数集,其中所述一个或多个参数集是跨所述一个或多个随机存取边界可用的。
3.如权利要求1所述的计算机系统,其特征在于,对所述全局参考图片进行编码:
只使用图片内压缩操作;或者
使用另一去全局参考图片来在运动补偿操作中参考。
4.如权利要求1所述的计算机系统,其特征在于,用所述比特流中的单元类型将所述全局参考图片的经编码数据标记为所述全局参考图片集的一部分。
5.如权利要求1所述的计算机系统,其特征在于,对所述其它图片进行编码包括对于所述其它图片中的给定图片:
构造包括能供在对所述给定图片的运动补偿操作中参考的图片以及按比特流次序在所述给定图片之后的任何图片的当前参考图片集,所述当前参考图片集包括所述全局参考图片;以及
从所述当前参考图片集中构造一个或多个参考图片列表。
6.如权利要求1所述的计算机系统,其特征在于,确定所述全局参考图片包括以下之一:
从所述视频序列的所述一个或多个图片中选择所述全局参考图片;以及
从所述视频序列的两个或更多个图片中创建所述全局参考图片。
7.如权利要求1所述的计算机系统,其特征在于,确定所述全局参考图片包括以下之一:
周期性地向所述全局参考图片集添加另一全局参考图片;
检测所述视频序列中的场景变化,并且从所述一个或多个图片中的在所述场景变化之后的图片中选择或创建所述全局参考图片;
检测所述视频序列中的对场景的场景改变,并且从所述全局参考图片集中将所述全局参考图片标识为先前与所述视频序列中的所述场景相关联;以及
将所述视频序列的一个或多个图片评估为所述全局参考图片的选项,并且从所评估的选项中标识所述全局参考图片。
8.如权利要求1所述的计算机系统,其特征在于,所述视频编码操作还包括:
重构所述一个或多个图片中的给定图片;
根据剪辑参数来剪辑经重构图片,包括裁剪所述经重构图片的一个或多个区域以产生经剪辑图片;
将所述经剪辑图片存储在缓冲区中以供用作参考图片;以及
在运动补偿操作中使用所述参考图片。
9.如权利要求8所述的计算机系统,其特征在于,对所述视频序列的所述一个或多个图片的进行编码还包括以下一者或多者:
在所述剪辑之前缩放所述经重构图片;以及
缩放所述经剪辑图片。
10.如权利要求8所述的计算机系统,其特征在于,所述比特流中的剪辑信息指示所述剪辑参数,并且其中所述剪辑信息包括指示所述经剪辑图片在所述经重构图片内的位置的信息。
11.如权利要求8所述的计算机系统,其特征在于,对所述视频序列的所述一个或多个图片进行编码还包括:
根据一个或多个规则来确定所述剪辑参数。
12.如权利要求8所述的计算机系统,其特征在于,对所述视频序列的所述一个或多个图片进行编码还包括:
确定当前图片的当前块的运动向量,其中所述当前块在所述运动补偿操作中的至少一者中参考所述参考图片;以及
调整由所述运动向量引用的位置以补偿所述剪辑。
13.如权利要求8所述的计算机系统,其特征在于,对所述视频序列的所述一个或多个图片进行编码还包括:
将所述经重构图片与一个或多个其它图片进行比较,所述一个或多个其它图片先前已被重构;
标识所述经重构图片中的新区域;以及
定义所述剪辑参数以包括所述新区域但排除所述经重构图片的至少一个其它区域。
14.如权利要求8所述的计算机系统,其特征在于,对所述视频序列的所述一个或多个图片进行编码还包括:
测量在对一个或多个其它图片的运动估计中将所述经重构图片用作参考图片;
标识所述经重构图片中的已使用区域;以及
定义所述剪辑参数以包括所述已使用区域但排除所述经重构图片的至少一个其它区域。
15.如权利要求8所述的计算机系统,其特征在于,对所述视频序列的所述一个或多个图片进行编码还包括:
标识所述经重构图片中的从另一图片复制的区域;
定义所述剪辑参数以排除所复制的区域但包括所述经重构图片的至少一个其它区域。
16.如权利要求1所述的计算机系统,其特征在于,所述视频编码操作还包括:
重构所述一个或多个图片中的给定图片;
对所述给定图片的输入版本进行滤波以产生所述给定图片的经去噪输入版本;以及
基于将所述给定图片的所述经去噪输入版本与所述经重构图片进行比较的结果来确定用于被适配成移除随机噪声的滤波器的滤波参数,其中所述经编码数据包括所述滤波参数;
用所述滤波器来对所述经重构图片进行滤波以产生经去噪图片;
将所述经去噪图片存储在缓冲区中以供用作参考图片;以及
在运动补偿操作中使用所述参考图片。
17.如权利要求16所述的计算机系统,其特征在于,所述确定将所述给定图片的所述经去噪的输入版本用作所述经重构图片的优化目标。
18.如权利要求16所述的计算机系统,其特征在于,所述滤波器选自包括以下各项的组:
频域低通滤波器的变体;
空域/时域低通滤波器的变体;
空域/时域中值滤波器的变体;以及
使用块匹配和三维滤波的滤波器。
19.如权利要求16所述的计算机系统,其特征在于,所述编码还包括:
将所述经重构图片存储在所述缓冲区中以供用作参考图片。
CN201580072178.XA 2015-11-06 2015-11-06 一种用于视频编码和解码的参考图片管理的计算机系统 Active CN107113422B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/093985 WO2017075804A1 (en) 2015-11-06 2015-11-06 Flexible reference picture management for video encoding and decoding

Publications (2)

Publication Number Publication Date
CN107113422A CN107113422A (zh) 2017-08-29
CN107113422B true CN107113422B (zh) 2020-08-25

Family

ID=58661447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580072178.XA Active CN107113422B (zh) 2015-11-06 2015-11-06 一种用于视频编码和解码的参考图片管理的计算机系统

Country Status (5)

Country Link
US (5) US10531111B2 (zh)
EP (1) EP3371974B1 (zh)
CN (1) CN107113422B (zh)
TW (1) TW201717633A (zh)
WO (1) WO2017075804A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076242B (zh) * 2016-05-13 2023-01-03 索尼公司 图像处理设备和方法
US20200120359A1 (en) * 2017-04-11 2020-04-16 Vid Scale, Inc. 360-degree video coding using face continuities
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US12058309B2 (en) 2018-07-08 2024-08-06 Mellanox Technologies, Ltd. Application accelerator
US20200014945A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application acceleration
US10602178B1 (en) * 2017-12-21 2020-03-24 Mozilla Corporation Systems and methods for frame context selection
CN110809165B (zh) 2018-08-04 2022-07-26 北京字节跳动网络技术有限公司 仿射的运动矢量差精度
CN112703734A (zh) * 2018-09-14 2021-04-23 Vid拓展公司 用于灵活网格区域的方法和装置
WO2020056798A1 (zh) 2018-09-21 2020-03-26 华为技术有限公司 一种视频编解码的方法与装置
WO2020057648A1 (zh) * 2018-09-21 2020-03-26 华为技术有限公司 一种帧间预测方法和装置
US12022059B2 (en) * 2018-12-07 2024-06-25 Beijing Dajia Internet Information Technology Co., Ltd. Video coding using multi-resolution reference picture management
CN111416977B (zh) * 2019-01-07 2024-02-09 浙江大学 视频编码器、视频解码器及相应方法
KR20210118183A (ko) * 2019-02-01 2021-09-29 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 서브픽처 또는 영역 단위 랜덤 액세스가 가능한 비디오 코덱 및 이를 이용한 비디오 합성을 위한 개념
WO2020156054A1 (zh) * 2019-02-03 2020-08-06 华为技术有限公司 视频解码方法、视频编码方法、装置、设备及存储介质
CN111526368B (zh) * 2019-02-03 2021-09-03 华为技术有限公司 视频解码方法、视频编码方法、装置、设备及存储介质
TWI826969B (zh) * 2019-03-11 2023-12-21 弗勞恩霍夫爾協會 具輪廓與位階相依寫碼選項之編碼器與解碼器、編碼方法及解碼方法
EP3941066A4 (en) * 2019-03-24 2022-06-22 Guangdong Oppo Mobile Telecommunications Corp., Ltd. FILTER METHOD AND APPARATUS AND COMPUTER STORAGE MEDIUM
KR20210151248A (ko) * 2019-05-04 2021-12-13 후아웨이 테크놀러지 컴퍼니 리미티드 적응 루프 필터를 사용하는 인코더, 디코더 및 대응하는 방법들
CN118138754A (zh) 2019-06-14 2024-06-04 北京字节跳动网络技术有限公司 处理视频单元边界和虚拟边界
WO2020249124A1 (en) 2019-06-14 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries based on color format
KR102707780B1 (ko) 2019-09-18 2024-09-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 적응형 루프 필터의 2-파트 시그널링
EP4018652A4 (en) 2019-09-22 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. FILLING METHOD IN AN ADAPTIVE LOOP FILTER
JP7326600B2 (ja) 2019-09-27 2023-08-15 北京字節跳動網絡技術有限公司 異なるビデオユニット間の適応ループフィルタリング
US11564018B2 (en) 2019-10-02 2023-01-24 Qualcomm Incorporated Random access at resync points of dash segments
EP4029263A4 (en) 2019-10-10 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. FILLING PROCEDURE AT UNAVAILABLE SAMPLING POINTS IN AN ADAPTIVE LOOP FILTERING
KR102707834B1 (ko) 2019-10-29 2024-09-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 루마 차이를 이용한 크로스 컴포넌트 적응적 루프 필터
US20210168354A1 (en) * 2019-12-03 2021-06-03 Mellanox Technologies, Ltd. Video Coding System
BR112022011466A2 (pt) 2019-12-11 2022-08-23 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processamento de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
WO2021200493A1 (ja) * 2020-03-31 2021-10-07 株式会社ソニー・インタラクティブエンタテインメント 送信装置、送信方法及びプログラム
WO2021197433A1 (en) * 2020-04-01 2021-10-07 Mediatek Inc. Method and apparatus for signaling slice partition information in image and video coding
CN116325728A (zh) 2020-06-30 2023-06-23 抖音视界有限公司 自适应环路滤波的边界位置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1956550A1 (en) * 2007-02-07 2008-08-13 THOMSON Licensing Image scaling using perceptual interest values
CN101389034A (zh) * 2007-09-14 2009-03-18 华为技术有限公司 一种图像编/解码方法、装置及一种图像处理方法、系统
CN103026707A (zh) * 2010-07-21 2013-04-03 杜比实验室特许公司 使用用于视频编码的高级运动模型的参考处理
CN103533370A (zh) * 2012-06-29 2014-01-22 汤姆逊许可公司 重构视频序列的图像的方法和重构视频序列的图像的设备
CN103765866A (zh) * 2011-09-06 2014-04-30 索尼公司 成像装置、信息处理装置及其控制方法和程序
CN104768011A (zh) * 2015-03-31 2015-07-08 浙江大学 图像编解码方法和相关装置
CN104919797A (zh) * 2012-12-12 2015-09-16 高通股份有限公司 基于高效率视频译码对视频信息的可缩放译码的装置和方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040258147A1 (en) 2003-06-23 2004-12-23 Tsu-Chang Lee Memory and array processor structure for multiple-dimensional signal processing
US7400681B2 (en) 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
US7437013B2 (en) 2003-12-23 2008-10-14 General Instrument Corporation Directional spatial video noise reduction
US7271749B2 (en) 2004-09-14 2007-09-18 Hewlett-Packard Development Company, L.P. Context-based denoiser that simultaneously updates probabilities for multiple contexts
US7636398B2 (en) * 2005-12-05 2009-12-22 Samsung Electronics Co., Ltd. Adaptive channel equalizer and method for equalizing channels therewith
US8369417B2 (en) 2006-05-19 2013-02-05 The Hong Kong University Of Science And Technology Optimal denoising for video coding
EP2105021A4 (en) 2007-01-17 2011-03-02 Lg Electronics Inc METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL
US8023562B2 (en) 2007-09-07 2011-09-20 Vanguard Software Solutions, Inc. Real-time video coding/decoding
US8638395B2 (en) 2009-06-05 2014-01-28 Cisco Technology, Inc. Consolidating prior temporally-matched frames in 3D-based video denoising
JP2011199396A (ja) * 2010-03-17 2011-10-06 Ntt Docomo Inc 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法、及び動画像予測復号プログラム
US9456111B2 (en) * 2010-06-15 2016-09-27 Mediatek Inc. System and method for content adaptive clipping
US20130294705A1 (en) * 2010-11-10 2013-11-07 Sony Corporation Image processing device, and image processing method
CN103875249B (zh) 2011-08-09 2018-05-04 三星电子株式会社 用于多视点视频预测编码的方法和装置以及用于多视点视频预测解码的方法和装置
US9131245B2 (en) 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US9264717B2 (en) 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
US8867852B2 (en) 2012-01-19 2014-10-21 Sharp Kabushiki Kaisha Decoding a picture based on a reference picture set on an electronic device
US8693793B2 (en) 2012-01-19 2014-04-08 Sharp Laboratories Of America, Inc. Reducing reference picture set signal overhead on an electronic device
JP2016503613A (ja) 2012-11-07 2016-02-04 ヴィド スケール インコーポレイテッド 高ダイナミックレンジビデオをノイズ除去するための時間フィルタ
WO2014078068A1 (en) * 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
US9142009B2 (en) * 2013-07-30 2015-09-22 Adobe Systems Incorporated Patch-based, locally content-adaptive image and video sharpening
US20150071357A1 (en) 2013-09-12 2015-03-12 Qualcomm Incorporated Partial intra block copying for video coding
EP3090549A1 (en) * 2014-01-02 2016-11-09 VID SCALE, Inc. Methods and systems for scalable video coding with mixed interlace and progressive content

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1956550A1 (en) * 2007-02-07 2008-08-13 THOMSON Licensing Image scaling using perceptual interest values
CN101389034A (zh) * 2007-09-14 2009-03-18 华为技术有限公司 一种图像编/解码方法、装置及一种图像处理方法、系统
CN103026707A (zh) * 2010-07-21 2013-04-03 杜比实验室特许公司 使用用于视频编码的高级运动模型的参考处理
CN103765866A (zh) * 2011-09-06 2014-04-30 索尼公司 成像装置、信息处理装置及其控制方法和程序
CN103533370A (zh) * 2012-06-29 2014-01-22 汤姆逊许可公司 重构视频序列的图像的方法和重构视频序列的图像的设备
CN104919797A (zh) * 2012-12-12 2015-09-16 高通股份有限公司 基于高效率视频译码对视频信息的可缩放译码的装置和方法
CN104768011A (zh) * 2015-03-31 2015-07-08 浙江大学 图像编解码方法和相关装置

Also Published As

Publication number Publication date
US20240080470A1 (en) 2024-03-07
US10531111B2 (en) 2020-01-07
EP3371974B1 (en) 2024-05-01
TW201717633A (zh) 2017-05-16
EP3371974A4 (en) 2019-10-02
US20210185345A1 (en) 2021-06-17
CN107113422A (zh) 2017-08-29
WO2017075804A1 (en) 2017-05-11
US20180302640A1 (en) 2018-10-18
EP3371974A1 (en) 2018-09-12
US20200092574A1 (en) 2020-03-19
US11277631B2 (en) 2022-03-15
US10958929B2 (en) 2021-03-23
US11831899B2 (en) 2023-11-28
US20220167003A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
CN107113422B (zh) 一种用于视频编码和解码的参考图片管理的计算机系统
CN107211155B (zh) 图内块拷贝预测模式下的合并的色度块的特殊情况处理
KR102369117B1 (ko) 비대칭 구획을 갖는 인트라 블록 카피 예측 및 인코더측 검색 패턴, 검색 범위 및 구획화 접근법
AU2014376190B2 (en) Selection of motion vector precision
US20200084472A1 (en) Features of base color index map mode for video and image coding and decoding
KR102298599B1 (ko) 샘플 적응 오프셋 필터링에 대한 인코더측 결정
AU2014376061B2 (en) Block vector prediction in video and image coding/decoding
KR20170021337A (ko) 해시 기반의 블록 매칭의 결과에 기초한 인코더 결정
KR20170021302A (ko) 통합된 인트라 블록 카피 및 인터 예측 모드
KR20160129076A (ko) 스크린 컨텐츠의 딕셔너리 인코딩 및 디코딩
WO2015054816A1 (en) Encoder-side options for base color index map mode for video and image coding

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