CN107408400B - 用于处理视频数据的装置和方法 - Google Patents

用于处理视频数据的装置和方法 Download PDF

Info

Publication number
CN107408400B
CN107408400B CN201680015493.3A CN201680015493A CN107408400B CN 107408400 B CN107408400 B CN 107408400B CN 201680015493 A CN201680015493 A CN 201680015493A CN 107408400 B CN107408400 B CN 107408400B
Authority
CN
China
Prior art keywords
video data
video
recorded
frame rate
recorded video
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
CN201680015493.3A
Other languages
English (en)
Other versions
CN107408400A (zh
Inventor
阿迪亚·布凡纳吉里
R·V·贾甘纳德哈·拉奥·多迪
阿吉特·迪帕克·格普特
阿希什·巴贾杰
拉杰什瓦尔·库拉帕蒂
阿拉温德·科尔莱帕拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107408400A publication Critical patent/CN107408400A/zh
Application granted granted Critical
Publication of CN107408400B publication Critical patent/CN107408400B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B31/00Arrangements for the associated working of recording or reproducing apparatus with related apparatus
    • G11B31/006Arrangements for the associated working of recording or reproducing apparatus with related apparatus with video camera or receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/38Transmitter circuitry for the transmission of television signals according to analogue transmission standards
    • H04N5/40Modulation circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/455Demodulation-circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/915Television signal processing therefor for field- or frame-skip recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/0122Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal the input and the output signals having different aspect ratios
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00072Time or data compression or expansion the compressed signal including a video signal
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/136Incoming video signal characteristics or properties
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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
    • H04N19/172Methods 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 the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain

Landscapes

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

Abstract

一种经配置以记录和处理视频信息的设备包含存储器、显示器以及与所述存储器和所述显示器通信的处理器。所述存储器经配置以存储视频数据。所述显示器经配置以显示所述视频数据的预览。所述处理器经配置以:以第一帧率记录所述视频数据;经由从所述经记录视频数据去除一或多个帧来处理所述记录视频数据,所述经处理视频数据具有低于所述第一帧率的第二帧率;且至少部分地基于所述经处理视频数据产生将由所述显示器显示的所述预览。

Description

用于处理视频数据的装置和方法
技术领域
本公开涉及视频记录、译码和压缩的领域,确切地说涉及在视频记录装置中处理视频数据。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播***、无线广播***、个人数字助理(PDA)、膝上型或台式计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似物。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、高效率视频译码(HEVC)标准,及这些标准的扩展中所描述的那些技术。视频装置可通过实施这些视频译码技术而更有效率地发射、接收、编码、解码和/或存储数字视频信息。
具有视频记录能力的视频装置可用于记录视频数据以使得经记录视频数据可在稍后时间查看。当此类视频装置记录视频数据时,所述视频装置通常显示当前所记录的视频数据的预览。举例来说,当用户激活其视频装置上的视频记录功能时,显视频装置上提供的显示屏/单元可显示视频装置上提供的相机当前所记录的预览,使得用户可确保所期望的记录对象恰当地定位在相机的视野内。因此,所述视频装置可消耗可供视频装置使用的可用带宽和电力中的一些以用于产生和显示预览,且所述带宽和电力消耗可与所记录的视频数据的质量和/或大小成比例。
发明内容
本公开的***、方法和装置各自具有若干创新方面,其中没有单个方面单独负责本文中所公开的合乎需要的属性。
在一个方面中,一种经配置以记录和处理视频信息的设备包含:存储器、显示器以及与所述存储器和所述显示器通信的处理器。所述存储器经配置以存储视频数据。所述显示器经配置以显示所述视频数据的预览。所述处理器经配置以:以第一帧率记录所述视频数据;经由从所述经记录视频数据去除一或多个帧来处理所述经记录视频数据,所述经处理视频数据具有低于所述第一帧率的第二帧率;且至少部分地基于所述经处理视频数据产生将由所述显示器显示的所述预览。
在另一方面中,一种记录和处理视频信息的方法包含:以第一帧率记录视频数据;经由从经记录视频数据去除一或多个帧来处理经记录视频数据,所述经处理视频数据具有低于所述第一帧率的第二帧率;至少部分地基于经处理视频数据产生经记录视频数据的预览;且显示经记录视频数据的所产生预览。
在另一方面中,一种非暂时性计算机可读媒体含有代码,所述代码在执行时使得设备进行以下操作:以第一帧率记录视频数据;经由从经记录视频数据去除一或多个帧来处理经记录视频数据,所述经处理视频数据具有低于第一帧率的第二帧率;至少部分地基于经处理视频数据产生经记录视频数据的预览;且显示经记录视频数据的所产生预览。
在另一方面中,一种经配置以记录和处理视频信息的视频装置包含:用于以第一帧率记录视频数据的装置;用于经由从经记录视频数据去除一或多个帧来处理经记录视频数据的装置,所述经处理视频数据具有低于第一帧率的第二帧率;用于至少部分地基于经处理视频数据产生经记录视频数据的预览的装置;和用于显示经记录视频数据的所产生预览的装置。
附图说明
图1A是说明可利用根据本公开中的方面的技术的实例视频编码和解码***的框图。
图1B是说明可执行根据本公开中的方面的技术的另一实例视频编码和解码***的框图。
图2A是说明可实施根据本公开中所描述的方面的技术的视频编码器的实例的框图。
图2B是说明可实施根据本公开中所描述的方面的技术的视频编码器的实例的框图。
图3A是说明可实施根据本公开中所描述的方面的技术的视频解码器的实例的框图。
图3B是说明可实施根据本公开中所描述的方面的技术的视频解码器的实例的框图。
图4是说明根据本公开中所描述的方面的实例视频装置的框图。
图5是说明根据本公开中所描述的方面的实例视频装置的框图。
图6是说明根据本公开的一个实施例处理视频数据的实例方法的流程图。
图7是说明根据本公开的一个实施例处理视频数据的实例方法的流程图。
具体实施方式
一般来说,本公开涉及在视频记录装置的上下文中的视频数据处理。更确切地说,本公开涉及用于记录视频数据、处理视频数据且基于经处理视频数据产生由视频记录装置显示的预览的***和方法。
在具有视频记录能力的视频装置(例如,智能电话、数字摄录相机等)中,在通过视频装置的相机记录视频数据之后,通常将经记录视频数据提供给:(i)编码器,使得经记录视频数据可转换成经译码位流(例如,以供在存储和/或发射之前压缩);和(ii)显示器,使得经记录视频数据的预览可显示给用户。用户可使用在显示器上显示的预览以将相机对准所期望记录的对象且确保所期望记录的对象恰当地定位在相机的视野内。
然而,随着由视频装置记录的视频数据的质量提高,经记录数据的大小也可增加且引起通过视频装置执行的处理,以便产生和显示经记录视频数据的预览从而消耗更多带宽和电力。举例来说,产生和显示高清(HD)和超高清(UHD)视频数据的预览可需要消耗大量带宽和电力。
因此,需要可减少视频记录装置的带宽和电力消耗的用于处理视频数据的经改进方法。
在本公开中,描述为处理视频装置的预览路径中的视频数据所需的用于减少带宽和电力消耗的各种技术。在本公开的一些实施例中,视频装置(例如,通过舍弃视频数据中的一或多个帧)去除视频数据的一部分以便减少将在预览路径中处理的视频数据的量。举例来说,如果以30帧每秒(fps)记录视频数据,那么可从视频数据去除每个第六帧,且其结果是,需要在预览路径中处理的所得视频数据变为25fps。
此外,本公开描述用于译码位流中的视频数据的多种技术。在译码视频数据时产生的任何信息可用于在预览路径中处理视频数据。举例来说,在译码(例如,编码或解码)过程期间产生的编码器统计数据可用于选择应去除视频数据的哪些部分。视频装置可基于在编码视频数据的过程期间获得的信息确定经记录视频数据中的某些帧是冗余的,且因此能够在预览路径中从视频数据去除而不会明显地影响预览质量。
视频压缩技术
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的一部分等)分割成视频块(其还可被称作树块)、译码单元(CU)及/或译码节点。使用相对于同一图片中的相邻块中的参考样本的空间预测来编码图片的经帧内译码(I)切片中的视频块。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生待译码块的预测性块。残余数据表示待译码原始块与预测性块的间的像素差。经帧间译码块是根据指向形成预测块的参考样本块的运动向量和指示经译码块与预测块之间的差的残余数据编码的。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。可扫描最初布置成二维阵列的经量化变换系数,以便产生变换系数的一维向量,且可应用熵编码以实现更多压缩。
在以下描述中,描述与某些实施例有关的H.264/AVC技术;还论述HEVC标准和相关技术。虽然在HEVC和/或H.264标准的上下文中在本文中描述某些实施例,但所属领域的技术人员可理解,本文中公开的***和方法可适用于任何合适的视频译码标准。举例来说,本文中所公开的实施例可适用于以下标准中的一或多个(例如,包含由国际电信联盟电信标准化部门[ITU-T]视频译码专家组[VCEG]或国际标准化组织/国际电工委员会[ISO/IEC]运动图片专家组[MPEG]开发的标准):ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual 和ITU-T H.264(还称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。
在许多方面,HEVC通常遵循先前视频译码标准的框架。HEVC中的预测单元不同于某些先前视频译码标准中的预测单元(例如,宏块)。事实上,在HEVC中不存在如在某些先前视频译码标准中所理解的宏块的概念。宏块由基于四叉树方案的分层结构替换,所述分层结构可提供高灵活性和其它可能益处。举例来说,在HEVC方案内,定义三个类型的块,例如译码单元(CU)、预测单元(PU)和变换单元(TU)。CU可指区***的基本单元。可将CU视为类似于宏块的概念,但HEVC不限制CU的最大大小,且可允许递归***成四个大小相等的CU以改进内容适应性。PU可被认为是帧间/帧内预测的基本单元,且单个PU可含有多个任意形状分区以有效地译码不规则图像样式。TU可认为是变换的基本单元。可独立于PU定义TU;然而,TU的大小可限于TU所属的CU 的大小。此块结构分离为三个不同概念可允许根据单元的相应作用来优化每一单元,这可得到改进的译码效率。
仅出于说明的目的,本文中所公开的某些实施例用仅包含视频数据的两个层(例如,例如BL的低层和例如EL的高层)的实例描述。视频数据的“层”可通常指具有至少一个共同特性(例如,视图、帧率、分辨率或类似物)的图片序列。举例来说,层可包含与多视图视频数据的特定视图(例如,透视图)相关联的视频数据。作为另一实例,层可包含与可缩放视频数据的特定层相关联的视频数据。因此,本公开可互换地参考视频数据的层和视图。举例来说,视频数据的视图可被称作视频数据的层,且视频数据的层可被称作视频数据的视图。另外,多层编解码器(还被称作多层视频译码器或多层编码器-解码器)可共同指代多视图编解码器或可缩放编解码器(例如,经配置以使用MV-HEVC、 3D-HEVC、SHVC或另一多层译码技术来编码及/或解码视频数据的编解码器)。视频编码和视频解码可通常都被称作视频译码。应理解,这些实例可适用于包含多个BL、RL 和/或EL的配置。另外,为了易于解释,参考某些实施例,以下揭示内容包含术语“帧”或“块”。然而,这些术语不打算具有限制性。举例来说,下文描述的技术可与任何合适的视频单元(例如,块(例如,CU、PU、TU、宏块等)、切片、帧等)一起使用。
视频译码标准
例如视频图像、TV图像、静态图像或由录像机或计算机产生的图像等的数字图像可由布置成水平及竖直线的像素或样本构成。单个图像中的像素的数目通常有数万个。每一像素通常含有明度和色度信息。在无压缩的情况下,将从图像编码器传递到图像解码器的信息的绝对量将使实时图像传输变得不可能。为了减少待发射的信息的量,已开发出例如JPEG、MPEG及H.263标准等数个不同压缩方法。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IECMPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉和ITU-T H.264(还被称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。
另外,视频译码标准(即HEVC)正由ITU-T VCEG与ISO/IEC MPEG的关于视频译码的联合合作小组(JCT-VC)开发。对HEVC草案10的完全引用为布洛斯(Bross)等人的文献JCTVC-L1003“高效率视频译码(HEVC)文本规格草案10(High Efficiency Video Coding(HEVC)Text Specification Draft 10)”,ITU-T SG16WP3与ISO/IEC JTC1/SC29/WG11的关于视频译码的联合合作小组(JCT-VC),第12次会议:瑞士日内瓦, 2013年1月14日到2013年1月23日。对HEVC的多视图扩展(即MV-HEVC)及对HEVC 的可扩展扩展(名为SHVC)也正分别由JCT-3V(关于3D视频译码扩展开发的 ITU-T/ISO/IEC联合合作小组)及JCT-VC开发。
视频译码***
下文参考附图更充分地描述新颖***、设备及方法的各个方面。然而,本公开可以许多不同形式来体现,且不应将其解释为限于贯穿本公开所呈现的任何特定结构或功能。实际上,提供这些方面以使得本公开将透彻且完整,并且将向所属领域的技术人员充分传递本公开的范围。基于本文中的教示,所属领域的技术人员应了解,本公开的范围既定涵盖无论是独立于本公开的任何其它方面而实施还是与之组合而实施的本文中所公开的新颖***、设备及方法的任何方面。举例来说,可以使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本公开的范围既定涵盖使用除本文中所阐述的本公开的各种方面之外的或不同于本文中所阐述的本公开的各种方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,可通过权利要求的一或多个要素来体现本文中所公开的任何方面。
尽管本文描述中了特定方面,但这些方面的许多变化及排列落在本公开的范围内。尽管提及了较佳态样的一些益处及优点,但本公开的范围不欲限于特定益处、用途或目标。实际上,本公开的方面既定广泛地适用于不同无线技术、***配置、网络及发射协议,其中的一些是借助于实例而在图中以及在优选方面的以下描述中说明。具体实施方式和图式仅说明本公开,而不是限制由所附权利要求书和其等效物界定的本公开的范围。
附图说明若干实例。由附图中的参考标号指示的元件对应于在以下描述中由相同参考标号指示的元件。在本公开中,具有以序数词(例如,“第一”、“第二”、“第三”等)开始的名称的元件不一定暗示所述元件具有特定顺序。实际上,此些序数词仅用于指代相同或类似类型的不同元件。
图1A是说明可利用根据本公开中所描述的方面的技术的实例视频编码和解码10的框图。如本文中所描述地使用,术语“视频译码器”一般指代视频编码器和视频解码器两者。在本公开中,术语“视频译码”或“译码”可一般指代视频编码和视频解码。除了视频编码器和视频解码器外,本申请案中描述的方面可扩展到其它相关装置,例如,转码器(例如,可解码位流且重新编码另一位流的装置)及中间框(例如,可修改、变换及 /或以其它方式操纵位流的装置)。
如图1A中所展示,视频编码和解码10包含产生稍后将由目的地装置14解码的经编码视频数据的源装置12。在图1A的实例中,源装置12和目的地装置14在单独的装置上,具体来说,源装置12是源装置的部分,且目的地装置14是目的地装置的部分。然而,应注意,源装置12和目的地装置14可在相同装置上或为相同装置的一部分,如图1B的实例中所展示。
再次参考图1A,源装置12和目的地装置14可分别包括广泛范围的装置中的任一个,包含台式计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”平板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等等。在各种实施例中,源装置12 和目的地装置14可经装备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在图1A 的实例中,链路16可包括使源装置12能够实时地将经编码视频数据直接发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码的视频数据,并将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF) 频谱或一或多个物理传输线。通信媒体可形成分组网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换机、基站或可用于促进从源装置 12到目的地装置14的通信的任何其它设备。
替代地,经编码数据可从输出接口22输出到任选的存储装置31。类似地,可由(例如)目的地装置14的输入接口28从存储装置31存取经编码数据。存储装置31可包含多种分布式或本地存取数据存储媒体中的任一个,例如硬盘驱动器、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置31可对应于文件服务器或可保持源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置31存取所存储的视频数据。文件服务器可以是能够存储经编码视频数据并且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附接存储(NAS)装置,或本地磁盘驱动器。目的地装置 14可通过任何标准数据连接(包含因特网连接)来存取经编码的视频数据。所述数据连接可包含无线信道(例如,无线局域网[WLAN]连接)、有线连接(例如,数字用户线(DSL)、电缆调制解调器等)或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置31的发射可为流式传输发射、下载发射或两者的组合。
本公开的技术不限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一个的视频译码,例如空中电视广播、有线电视发射、***发射、例如经由因特网的流式视频发射(例如,超文本传送协议(HTTP)动态自适应流式发射等)、用于存储在数据存储媒体上的数字视频的编码、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,视频编码和解码10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
在图1A的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。在源装置12中,视频源18可包含例如视频捕获装置(例如,摄像机)、含有先前所捕获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据以作为源视频的计算机图形***,或此类源的组合等源。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的相机电话或视频电话,如图1B的实例中所说明。然而,本公开中所描述的技术一般来说可适用于视频译码,且可应用于无线和/或有线应用。
可由视频编码器20编码所捕获视频、预捕获的视频或计算机产生的视频。经编码视频数据可经由源装置12的输出接口22直接发射到目的地装置14。还可(或替代地)将经编码视频数据存储到存储装置31上以供稍后由目的地装置14或其它装置存取以用于解码和/或重放。图1A和1B中说明的视频编码器20可包括图2A中说明的视频编码器 20、图2B中说明的视频编码器23或本文中描述的任何其它视频编码器。
在图1A的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口 28可经由链路16和/或从存储装置31接收经编码的视频数据。经由链路16传达或在存储装置31上提供的经编码的视频数据可包含由视频编码器20产生的多种语法元素,以供例如视频解码器30的视频解码器用于解码视频数据。此类语法元素可与在通信媒体上发射、存储于存储媒体上或存储文件服务器的经编码视频数据包含在一起。图1A和 1B中说明的视频解码器30可包括图3A中说明的视频解码器30、图3B中说明的视频解码器33或本文中描述的任何其它视频解码器。
显示装置32可与目的地装置14集成或在所述目的地装置外部。在一些实例中,目的地装置14可包含集成显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一个,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在相关方面中,图1B展示实例视频编码和解码***10′,其中源装置12和目的地装置14在装置11上或为其部分。装置11可为电话手持机,例如“智能”电话或类似物。装置11可包含与源装置12和目的地装置14操作性通信的任选的处理器/控制器装置13。图1B的***10′可进一步包含视频编码器20与输出接口22之间的视频处理单元21。在一些实施方案中,视频处理单元21是单独的单元,如图1B中所说明;然而,在其它实施方案中,视频处理单元21可实施为视频编码器20和/或处理器/控制器装置 13的一部分。***10′还可包含任选的***29,其可跟踪视频序列中的所关注对象。待跟踪的所关注对象可通过结合本公开的一或多个方面而描述的技术来分段。在相关方面中,跟踪可由显示装置32单独地或结合***29执行。图1B的***10′及其组件另外类似于图1A的***10及其组件。
视频编码器20及视频解码器30可根据例如HEVC标准等视频压缩标准操作,且可符合HEVC测试模型(HM)。替代地,视频编码器20和视频解码器30可根据其它专有或行业标准或此类标准的扩展操作,所述标准例如ITU-T H.264标准,替代地被称作 MPEG-4第10部分AVC。但是,本公开的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
尽管图1A和1B的实例中未展示,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置对共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么多路复用器-多路分用器单元可以符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一个,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且在硬件中使用一或多个处理器执行所述指令以执行本公开的技术。视频编码器20和视频解码器30 中的每一个可以包含于一或多个编码器或解码器中,所述编码器或解码器中的任一个可以集成为各别装置中的组合编码器/解码器(编解码器)的部分。
视频译码过程
如上文简要提及,视频编码器20编码视频数据。视频数据可包括一或多个图片。图片中的每一个为形成视频的部分的静态图像。在一些情况下,图片可被称作视频“帧”。当视频编码器20编码视频数据时,视频编码器20可产生位流。位流可包含形成视频数据的经译码表示的一连串位。位流可包含经译码图片和相关联的数据。经译码的图片是图片的经译码表示。
为产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对所述图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相关联的数据可包含视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、自适应参数集(APS)和其它语法结构。SPS可以含有适用于零个或更多个图片序列的参数。 PPS可含有适用于零个或更多图片的参数。APS可含有适用于零个或更多图片的参数。 APS中的参数可为比PPS中的参数更有可能改变的参数。
为产生经译码图片,视频编码器20可将图片分割成大小相等的视频块。视频块可为样本的二维阵列。视频块中的每一个与树块相关联。在一些情况下,树块可被称作最大译码单元(LCU)。HEVC的树块可广泛类似于例如H.264/AVC等先前标准的宏块。然而,树块不必限于特定大小,且可包含一或多个译码单元(CU)。视频编码器20可使用四叉树分割将树块的视频块分割成与CU相关联的视频块(因此名称为“树块”)。
在一些实例中,视频编码器20可将图片分割成多个切片。切片中的每一个可包含整数数目个CU。在一些情况下,一个切片包括整数数目个树块。在其它情况下,切片的边界可在树块内。
作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可被称作“经译码切片”。
为产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包括表示树块的经编码版本的数据。
当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片中的树块执行编码操作(例如,编码)。举例来说,视频编码器20可按如下次序来编码切片的树块:跨越切片中的树块的最顶行从左到右进行,接着跨越树块的下一较低行从左到右进行,以此类推,直到视频编码器20已编码切片中的树块的每一个为止。
作为根据光栅扫描次序编码树块的结果,可能已编码在给定树块的上方和左方的树块,但尚未编码在给定树块的下方和右方的树块。因此,当编码给定树块时,视频编码器20可能能够存取通过编码给定树块的上方和左方的树块而产生的信息。然而,当编码给定树块时,视频编码器20可能不能够存取通过编码在给定树块的下方和右方的树块而产生的信息。
为产生经译码树块,视频编码器20可对树块的视频块递归地执行四叉树分割以将所述视频块划分成逐渐变小的视频块。较小视频块中的每一个可与不同CU相关联。举例来说,视频编码器20可将树块的视频块分割成四个大小相等的子块、将所述子块中的一或多个分割成四个大小相等的子子块,以此类推。经分割的CU可为其视频块被分割成与其它CU相关联的视频块的CU。未分割CU可为其视频块未被分割成与其它CU 相关联的视频块的CU。
位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大次数。 CU的视频块在形状上可为正方形。CU的视频块的大小(例如,CU的大小)范围可从8×8像素直到具有64×64像素或更大的最大值的树块的视频块的大小(例如,树块的大小)。
视频编码器20可根据z扫描次序对树块的每一CU执行编码操作(例如,编码)。换句话说,视频编码器20可按所述次序编码左上CU、右上CU、左下CU且接着右下CU。当视频编码器20对经分割的CU执行编码操作时,视频编码器20可根据z扫描次序编码与经分割的CU的视频块的子块相关联的CU。换句话说,视频编码器20可按所述顺序编码与左上子块相关联的CU、与右上子块相关联的CU、与左下子块相关联的CU,且接着与右下子块相关联的CU。
作为根据z扫描次序编码树块的CU的结果,可能已编码在给定CU的上方、左上方、右上方、左方和左下方的CU。尚未编码给定CU的右下方的CU。因此,当编码给定CU时,视频编码器20可能能够存取通过编码与给定CU相邻的一些CU而产生的信息。然而,当编码给定CU时,视频编码器20可能不能够存取通过编码与给定CU相邻的其它CU而产生的信息。
当视频编码器20编码未经分割CU时,视频编码器20可产生用于所述CU的一或多个预测单元(PU)。CU的PU中的每一个可与CU的视频块内的不同视频块相关联。视频编码器20可产生CU的每一PU的经预测视频块。PU的经预测视频块可为样本块。视频编码器20可使用帧内预测或帧间预测来产生PU的经预测视频块。
当视频编码器20使用帧内预测来产生PU的经预测视频块时,视频编码器20可基于与PU相关联的图片的经解码样本来产生PU的经预测视频块。如果视频编码器20使用帧内预测来产生CU的PU的经预测视频块,那么CU为经帧内预测的CU。当视频编码器20使用帧间预测来产生PU的经预测视频块时,视频编码器20可基于不同于与PU 相关联的图片的一或多个图片的经解码样本来产生所述PU的经预测视频块。如果视频编码器20使用帧间预测来产生CU的PU的经预测视频块,那么所述CU为经帧间预测 CU。
此外,当视频编码器20使用帧间预测来产生PU的经预测视频块时,视频编码器 20可产生所述PU的运动信息。PU的运动信息可指示PU的一或多个参考块。PU的每一参考块可为参考图片内的视频块。参考图片可为除与PU相关联的图片以外的图片。在一些情况下,PU的参考块也可被称作PU的“参考样本”。视频编码器20可基于PU 的参考块产生所述PU的经预测视频块。
在视频编码器20产生CU的一或多个PU的经预测视频块之后,视频编码器20可基于CU的所述PU的预测视频块产生所述CU的残余数据。CU的残余数据可指示CU 的PU的经预测视频块中的样本与CU的原始视频块之间的差。
此外,作为对未分割的CU执行编码操作的部分,视频编码器20可对CU的残余数据执行递归四叉树分割以将CU的残余数据分割成与CU的变换单元(TU)相关联的一或多个残余数据块(例如,残余视频块)。CU的每一TU可与不同残余视频块相关联。
视频编码器20可对与TU相关联的残余视频块应用一或多个变换以产生与TU相关联的变换系数块(例如,变换系数的块)。在概念上,变换系数块可为变换系数的二维(2D)矩阵。
在产生变换系数块之后,视频编码器20可对所述变换系数块执行量化过程。量化通常是指量化变换系数以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。
视频编码器20可使每一CU与量化参数(QP)值相关联。与CU相关联的QP值可确定视频编码器20如何量化与所述CU相关联的变换系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的变换系数块的量化的程度。
在视频编码器20量化变换系数块之后,视频编码器20可产生表示经量化变换系数块中的变换系数的语法元素集。视频编码器20可将例如上下文自适应二进制算术译码(CABAC)操作的熵编码操作应用于这些语法元素中的一些。还可使用例如上下文自适应可变长度译码(CAVLC)、概率区间分割熵(PIPE)译码或其它二进制算术译码的其它熵译码技术。
由视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。所述NAL单元中的每一个可为含有NAL单元中的数据类型的指示及含有数据的字节的语法结构。举例来说,NAL单元可含有表示以下各项的数据:视频参数集、序列参数集、图片参数集、经译码切片、补充增强信息(SEI)、存取单元分隔符、填充符数据或另一类型的数据。 NAL单元中的数据可包含各种语法结构。
视频解码器30可接收由视频编码器20产生的位流。所述位流可包含由视频编码器20编码的视频数据的经译码表示。当视频解码器30接收到位流时,视频解码器30可对所述位流执行剖析操作。当视频解码器30执行剖析操作时,视频解码器30可从所述位流提取语法元素。视频解码器30可基于从位流提取的语法元素重构视频数据的图片。基于语法元素重构视频数据的过程可与由视频编码器20执行以产生语法元素的过程大体互逆。
在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于所述语法元素产生CU的PU的经预测视频块。另外,视频解码器30可反量化与CU的TU相关联的变换系数块。视频解码器30可对变换系数块执行反变换以重构与CU的TU相关联的残余视频块。在产生经预测视频块且重构残余视频块之后,视频解码器30可基于经预测视频块及残余视频块重构CU的视频块。以此方式,视频解码器30可基于位流中的语法元素重构CU的视频块。
视频编码器
图2A是说明可实施根据本公开中所描述的方面的技术的视频编码器的实例的框图。视频编码器20可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频编码器 20可经配置以执行本公开的技术中的任一种或全部。作为一个实例,预测处理单元100 可经配置以执行本公开中所描述的技术中的任一种或全部。在另一实施例中,视频编码器20包含任选层间预测单元128,所述层间预测单元经配置以执行本公开中所描述的技术中的任一种或全部。在其它实施例中,层间预测可由预测处理单元100(例如,帧间预测单元121及/或帧内预测单元126)执行,在此情况下可省略层间预测单元128。然而,本公开的方面不限于此。在一些实例中,本公开中描述的技术可在视频编码器20的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本公开中所描述的技术中的任一种或全部。
出于解释的目的,本公开描述在HEVC译码的上下文中的视频编码器20。然而,本公开的技术可以适用于其它译码标准或方法。图2A中所描绘的实例是针对单层编解码器。然而,如将关于图2B进一步描述,可复制视频编码器20中的一些或全部以用于多层编码解码器的处理。
视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的译码模式中的任一个。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的译码模式中的任一个。
在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换单元110、重构单元112、滤波器单元113、经解码图片缓冲器114和熵编码单元116。预测处理单元100包含帧间预测单元121、运动估计单元122、运动补偿单元124、帧内预测单元126和层间预测单元128。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。此外,运动估计单元122和运动补偿单元124可高度集成,但出于解释的目的在图2A的实例中分开表示。
视频编码器20可接收视频数据。视频编码器20可从各种源接收视频数据。举例来说,视频编码器20可从视频源18(例如,图1A或1B中所展示)或另一源接收视频数据。视频数据可表示一系列图片。为编码视频数据,视频编码器20可对图片中的每一个执行编码操作。作为对图片执行编码操作的一部分,视频编码器20可对图片的每一切片执行编码操作。作为对切片执行编码操作的部分,视频编码器20可对切片中的树块执行编码操作。
作为对树块执行编码操作的部分,预测处理单元100可对树块的视频块执行四叉树分割以将所述视频块划分成逐渐变小的视频块。较小视频块中的每一个可与不同CU相关联。举例来说,预测处理单元100可将树块的视频块分割成四个相等大小的子块,将所述子块中的一或多个分割成四个相等大小的子子块,等等。
与CU相关联的视频块的大小范围可从8×8样本直到具有最大64×64样本或更大的最大值的树块大小。在本公开中,“N×N”和“N乘N”可互换使用来指代在竖直和水平尺寸方面的视频块的样本尺寸,例如,16×16样本或16乘16样本。一般来说,16×16 视频块在竖直方向上具有十六个样本(y=16),且在水平方向上具有十六个样本(x=16)。同样,N×N块通常在竖直方向上具有N个样本,且在水平方向上具有N个样本,其中 N表示非负整数值。
另外,作为对树块执行编码操作的部分,预测处理单元100可产生用于所述树块的阶层式四叉树数据结构。举例来说,树块可对应于四叉树数据结构的根节点。如果预测处理单元100将树块的视频块分割成四个子块,那么根节点在四叉树数据结构中具有四个子节点。所述子节点中的每一个对应于与子块中的一个相关联的CU。如果预测处理单元100将子块中的一个分割成四个子子块,那么对应于与子块相关联的CU的节点可具有四个子节点,其中的每一个对应于与子子块中的一个相关联的CU。
四叉树数据结构的每一节点可含有用于对应树块或CU的语法数据(例如,语法元素)。举例来说,四叉树中的节点可包含***旗标,其指示对应于所述节点的CU的视频块是否被分割(例如,***)成四个子块。用于CU的语法元素可递归地界定,且可取决于所述CU的视频块是否***成子块。视频块未被分割的CU可对应于四叉树数据结构中的叶节点。经译码树块可包含基于对应树块的四叉树数据结构的数据。
视频编码器20可对树块的每一未分割CU执行编码操作。当视频编码器20对未分割CU执行编码操作时,视频编码器20产生表示未分割CU的经编码表示的数据。
作为对CU执行编码操作的部分,预测处理单元100可在CU的一或多个PU间分割CU的视频块。视频编码器20及视频解码器30可支持各种PU大小。假定特定CU 的大小为2N×2N,视频编码器20及视频解码器30可支持2N×2N或N×N的PU大小,及2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N或类似的对称PU大小的帧间预测。视频编码器20和视频解码器30还可支持用于2N×nU、2N×nD、nL×2N和nR×2N 的PU大小的不对称分割。在一些实例中,预测处理单元100可执行几何分割以沿并不按直角与CU的视频块的侧会合的边界来在CU的PU间分割CU的视频块。
帧间预测单元121可对CU的每一PU执行帧间预测。帧间预测可提供时间压缩。为了对PU执行帧间预测,运动估计单元122可产生PU的运动信息。运动补偿单元124 可基于运动信息和除与CU相关联的图片(例如,参考图片)以外的图片的经解码样本而产生PU的经预测视频块。在本公开中,由运动补偿单元124产生的经预测视频块可被称作经帧间预测视频块。
切片可为I切片、P切片,或B切片。运动估计单元122和运动补偿单元124可取决于PU处于I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测。因此,如果PU在I切片中,那么运动估计单元122及运动补偿单元124不对PU执行帧间预测。
如果PU在P切片中,那么含有所述PU的图片与被称作“列表0”的参考图片列表相关联。列表0中的参考图片中的每一个含有可用于其它图片的帧间预测的样本。当运动估计单元122关于P切片中的PU执行运动估计操作时,运动估计单元122可针对PU 的参考块搜索列表0中的参考图片。PU的参考块可为最紧密对应于PU的视频块中的样本的一组样本,例如,样本块。运动估计单元122可使用多种度量来确定参考图片中的一组样本对应于PU的视频块中的样本的紧密程度。举例来说,运动估计单元122可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定参考图片中的一组样本对应于PU的视频块中的样本的紧密程度。
在识别出P切片中的PU的参考块之后,运动估计单元122可产生指示列表0中含有参考块的参考图片的参考索引和指示PU与参考块之间的空间位移的运动向量。在各种实例中,运动估计单元122可以不同精确度产生运动向量。举例来说,运动估计单元 122可以四分之一样本精确度、八分之一样本精确度或其它分数样本精确度产生运动向量。在分数样本精确度的情况下,参考块值可从参考图片中的整数位置样本值内插。运动估计单元122可将参考索引及运动向量输出为PU的运动信息。运动补偿单元124可基于由PU的运动信息识别的参考块产生PU的经预测视频块。
如果PU处于B切片中,那么含有PU的图片可与被称作“列表0”和“列表1”的两个参考图片列表相关联。在一些实例中,含有B切片的图片可与为列表0与列表1的组合的列表组合相关联。
此外,如果PU在B切片中,那么运动估计单元122可针对PU执行单向预测或双向预测。当运动估计单元122针对PU执行单向预测时,运动估计单元122可针对PU 的参考块搜索列表0或列表1中的参考图片。运动估计单元122可随后产生指示列表0 或列表1中的含有参考块的参考图片的参考索引和指示PU与参考块之间的空间位移的运动向量。运动估计单元122可输出参考索引、预测方向指示符和运动向量作为所述PU 的运动信息。预测方向指示符可指示参考索引指示列表0还是列表1中的参考图片。运动补偿单元124可基于由PU的运动信息指示的参考块来产生PU的经预测视频块。
当运动估计单元122针对PU执行双向预测时,运动估计单元122可针对PU的参考块搜索列表0中的参考图片,且还可针对PU的另一参考块搜索列表1中的参考图片。运动估计单元122可随后产生指示列表0和列表1中的含有参考块的参考图片的参考索引和指示参考块与PU之间的空间位移的运动向量。运动估计单元122可输出PU的参考索引及运动向量作为PU的运动信息。运动补偿单元124可基于由PU的运动信息指示的参考块产生PU的经预测视频块。
在一些情况下,运动估计单元122不将PU的运动信息的完整集合输出到熵编码单元116。实际上,运动估计单元122可参考另一PU的运动信息用信号发送PU的运动信息。举例来说,运动估计单元122可确定PU的运动信息足够类似于相邻PU的运动信息。在此实例中,运动估计单元122可在与PU相关联的语法结构中指示一值,所述值向视频解码器30指示PU具有与相邻PU相同的运动信息。在另一实例中,运动估计单元122可在与PU相关联的语法结构中识别相邻PU和运动向量差(MVD)。运动向量差指示PU的运动向量与所指示的相邻PU的运动向量之间的差。视频解码器30可使用所指示的相邻PU的运动向量及运动向量差来确定PU的运动向量。通过在用信号发送第二PU的运动信息时参考第一PU的运动信息,视频编码器20可能能够使用较少位用信号发送第二PU的运动信息。
作为对CU执行编码操作的部分,帧内预测单元126可对CU的PU执行帧内预测。帧内预测可提供空间压缩。当帧内预测单元126对PU执行帧内预测时,帧内预测单元 126可基于同一图片中的其它PU的经解码样本来产生用于PU的预测数据。用于PU的预测数据可包含经预测视频块和各种语法元素。帧内预测单元126可对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测单元126可使用多个帧内预测模式来产生PU 的预测数据的多个集合。当帧内预测单元126使用帧内预测模式来产生PU的预测数据的集合时,帧内预测单元126可在与帧内预测模式相关联的方向和/或梯度上跨越PU的视频块从相邻PU的视频块扩展样本。相邻PU可在所述PU的上方、右上方、左上方或左方,假定针对PU、CU和树块的从左到右、从上到下的编码次序。帧内预测单元126 可取决于PU的大小而使用各种数目个帧内预测模式,例如33个方向性帧内预测模式。
预测处理单元100可从由运动补偿单元124针对PU产生的预测数据或由帧内预测单元126针对PU产生的预测数据当中选择PU的预测数据。在一些实例中,预测处理单元100基于预测数据集合的率/失真度量而选择PU的预测数据。
如果预测处理单元100选择由帧内预测处理单元126产生的预测数据,那么预测处理单元100可用信号发送用于产生PU的预测数据的帧内预测模式,即,选定帧内预测模式。预测处理单元100可以各种方式用信号发送所选帧内预测模式。举例来说,有可能所选帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为用于当前PU的最可能模式。因此,预测处理单元100可产生用以指示选定帧内预测模式与相邻PU的帧内预测模式相同的语法元素。
如上文所论述,视频编码器20可包含层间预测单元128。层间预测单元128经配置以使用在可缩放视频译码中可用的一或多个不同层(例如,BL或RL)来预测当前块(例如,EL中的当前块)。此预测可被称作层间预测。层间预测单元128利用预测方法来减少层间冗余,进而改进译码效率且减少计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用BL中对处于相同位置的块的重构来预测EL中的当前块。层间运动预测使用BL的运动信息来预测EL中的运动。层间残余预测使用BL的残余来预测EL的残余。下文更详细地论述层间预测方案中的每一个。
在预测处理单元100选择CU的PU的预测数据之后,残余产生单元102可通过从 CU的视频块减去(例如,由减号指示)CU的PU的经预测视频块而产生CU的残余数据。 CU的残余数据可包含对应于CU的视频块中的样本的不同样本分量的2D残余视频块。举例来说,残余数据可包含对应于CU的PU的经预测视频块中的样本的明度分量与CU 的原始视频块中的样本的明度分量之间的差的残余视频块。另外,CU的残余数据可包含对应于CU的PU的预测视频块中的样本的色度分量与CU的原始视频块中的样本的色度分量之间的差的残余视频块。
预测处理单元100可执行四叉树分割以将CU的残余视频块分割成子块。每一未经划分的残余视频块可与CU的不同TU相关联。与CU的TU相关联的残余视频块的大小及位置可基于或可不基于与CU的PU相关联的视频块的大小及位置。被称为“残余四叉树”(RQT)的四叉树结构可包含与残余视频块中的每一个相关联的节点。CU的TU可对应于RQT的叶节点。
变换处理单元104可通过将一或多个变换应用于与CU的每一TU相关联的残余视频块而产生用于所述TU的一或多个变换系数块。变换系数块中的每一个可为变换系数的2D矩阵。变换处理单元104可将各种变换应用于与TU相关联的残余视频块。举例来说,变换处理单元104可将离散余弦变换(DCT)、方向性变换或概念上类似的变换应用到与TU相关联的残余视频块。
在变换处理单元104产生与TU相关联的变换系数块之后,量化单元106可量化所述变换系数块中的变换系数。量化单元106可基于与CU相关联的QP值量化与CU的 TU相关联的变换系数块。
视频编码器20可以各种方式使QP值与CU相关联。举例来说,视频编码器20可对与CU相关联的树块执行率失真分析。在率-失真分析中,视频编码器20可通过对树块执行多次编码操作而产生树块的多个经译码表示。在视频编码器20产生树块的不同经编码表示时,视频编码器20可使不同QP值与CU相关联。当给定QP值与具有最低位率和失真量度的树块的经译码表示中的CU相关联时,视频编码器20可用信号发送所述给定QP值与CU相关联。
反量化单元108和反变换单元110可分别将反量化及反变换应用于变换系数块以从变换系数块重构残余视频块。重构单元112可将经重构的残余视频块添加到来自由预测处理单元100产生的一或多个预测视频块的对应样本,以产生与TU相关联的经重构视频块。通过以此方式重构CU的每一TU的视频块,视频编码器20可重构CU的视频块。
在重构单元112重构CU的视频块之后,滤波器单元113可执行解块操作以减少与所述CU相关联的视频块中的成块假象。在执行一或多个解块操作之后,滤波器单元113 可将CU的经重构视频块存储在经解码图片缓冲器114中。运动估计单元122和运动补偿单元124可使用含有经重构视频块的参考图片来对后续图片的PU执行帧间预测。另外,帧内预测单元126可使用经解码图片缓冲器114中的经重构视频块对处于与CU相同图片中的其它PU执行帧内预测。
熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元116可从量化单元106接收变换系数块,且可从预测处理单元100接收语法元素。当熵编码单元116接收到数据时,熵编码单元116可以执行一或多个熵编码操作以产生经熵编码数据。举例来说,视频编码器20可对所述数据执行CAVLC操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC) 操作、概率区间分割熵(PIPE)译码操作,或另一类型的熵编码操作。熵编码单元116可输出包含经熵编码数据的位流。
作为对数据执行熵编码操作的一部分,熵编码单元116可选择上下文模型。如果熵编码单元116正执行CABAC操作,那么上下文模型可指示特定二进制数具有特定值的概率的估计。在CABAC的上下文中,术语“二进制数”用于指代语法元素的二进制化版本的位。
多层视频编码器
图2B为说明可实施根据本公开中所描述的方面的技术的多层视频编码器23(还被简称为视频编码器23)的实例的框图。视频编码器23可经配置以处理多层视频帧(例如,用于SHVC和多视图译码)。此外,视频编码器23可经配置以执行本公开的技术中的任一种或全部。
视频编码器23包含视频编码器20A和视频编码器20B,其中的每一个可被配置为视频编码器20,且可执行上文关于视频编码器20所描述的功能。另外,如再使用参考数字所指示,视频编码器20A和20B可包含如视频编码器20的***和子***中的至少一些。尽管将视频编码器23说明为包含两个视频编码器20A和20B,但视频编码器23 不受如此限制,且可包含任何数目个视频编码器20层。在一些实施例中,视频编码器 23可包含用于存取单元中的每一图片或帧的视频编码器20。举例来说,包含五个图片的存取单元可由包含五个编码器层的视频编码器处理或编码。在一些实施例中,视频编码器23可包含比存取单元中的帧更多的编码器层。在一些此类情况下,当处理一些存取单元时,一些视频编码器层可能不在作用中。
除视频编码器20A及20B以外,视频编码器23可包含再取样单元90。在一些情况下,再取样单元90可对所接收的视频帧的BL进行上取样以(例如)产生EL。再取样单元90可对与帧的所接收的BL相关联的特定信息进行上取样,但不对其它信息进行上取样。举例来说,再取样单元90可对BL的空间大小或像素数目进行上取样,但切片的数目或图片次序计数可保持恒定。在一些情况下,再取样单元90可不处理所接收的视频及/或可为任选的。举例来说,在一些情况下,预测处理单元100可执行上取样。在一些实施例中,再取样单元90经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则及/或光栅扫描规则。尽管主要描述为对BL或存取单元中的较低层进行上取样,但在一些情况下,再取样单元90可对层进行下取样。举例来说,如果在视频的流式传输期间减小带宽,那么可对帧进行下取样而不是上取样。
再取样单元90可经配置以从较低层编码器(例如,视频编码器20A)的经解码图片缓冲器114接收图片或帧(或与图片相关联的图片信息),并对所述图片(或所接收的图片信息)进行上取样。可接着将此经上取样图片提供到经配置以编码与较低层编码器相同的存取单元中的图片的较高层编码器(例如,视频编码器20B)的预测处理单元100。在一些情况下,较高层编码器为从较低层编码器去除的一个层。在其它情况下,在图2B的层0 视频编码器与层1编码器之间可存在一或多个较高层编码器。
在一些情况下,可省略或绕过再取样单元90。在此类情况下,可直接地或在至少不提供到再取样单元90的情况下将来自视频编码器20A的经解码图片缓冲器114的图片提供到视频编码器20B的预测处理单元100。举例来说,如果提供到视频编码器20B的视频数据和来自视频编码器20A的经解码图片缓冲器114的参考图片具有相同大小或分辨率,那么可将参考图片提供到视频编码器20B而无需任何再取样。
在一些实施例中,视频编码器23在将所述视频数据提供到视频编码器20A前使用下取样单元94对将提供到较低层编码器的视频数据进行下取样。替代地,下取样单元 94可为能够对视频数据进行上取样或下取样的再取样单元90。在另外其它实施例中,可省略下取样单元94。
如图2B中所说明,视频编码器23可进一步包含多路复用器98或多路复用装置。多路复用装置98可从视频编码器23输出经组合的位流。可通过从视频编码器20A和 20B中的每一个获取位流且使在给定时间输出哪一位流进行交替来产生组合位流。虽然在一些情况下,可一次一个位地交替来自两个(或在多于两个视频编码器层的情况下更多个)位流的位,但在许多情况下,不同地组合所述位流。举例来说,可通过一次一个块地交替所选位流来产生输出位流。在另一实例中,可通过从视频编码器20A和20B中的每一个输出非1:1比率的块来产生输出位流。举例来说,可针对从视频编码器20A输出的每一块从视频编码器20B输出两个块。在一些实施例中,可预编程来自多路复用装置98的输出流。在其它实施例中,多路复用装置98可基于从视频编码器23外部的***(例如从包含源装置12的源装置上的处理器)接收到的控制信号来组合来自视频编码器 20A、20B的位流。可基于来自视频源18的视频的分辨率或位率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订),或基于用于确定来自视频编码器23的所要分辨率输出的任何其它因素来产生控制信号。
视频解码器
图3A是说明可实施根据本公开中所描述的方面的技术的视频解码器的实例的框图。视频解码器30可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频解码器 30可经配置以执行本公开的技术中的任一种或全部。作为一个实例,运动补偿单元162 和/或帧内预测单元164可经配置以执行本公开中所描述的技术中的任一种或全部。在一个实施例中,视频解码器30可任选地包含层间预测单元166,所述层间预测单元经配置以执行本公开中所描述的技术中的任一种或全部。在其它实施例中,层间预测可由预测处理单元152(例如,运动补偿单元162和/或帧内预测单元164)执行,在此情况下可省略层间预测单元166。然而,本公开的方面不限于此。在一些实例中,本公开中所描述的技术可在视频解码器30的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本公开中所描述的技术中的任一种或全部。
出于解释的目的,本公开描述在HEVC译码的上下文中的视频解码器30。然而,本公开的技术可以适用于其它译码标准或方法。图3A中所描绘的实例是针对单层编解码器。然而,如将关于图3B进一步描述,可复制视频解码器30中的一些或全部以用于多层编码解码器的处理。
在图3A的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含熵解码单元150、预测处理单元152、反量化单元154、反变换单元156、重构单元 158、滤波器单元159和经解码图片缓冲器160。预测处理单元152包含运动补偿单元 162、帧内预测单元164和层间预测单元166。在一些实例中,视频解码器30可执行通常与关于图2A的视频编码器20描述的编码遍次互逆的解码遍次。在其它实例中,视频解码器30可包含更多、更少或不同的功能组件。
视频解码器30可接收包括经编码视频数据的位流。所述位流可包含多个语法元素。当视频解码器30接收位流时,熵解码单元150可对所述位流执行剖析操作。作为对位流执行剖析操作的结果,熵解码单元150可从所述位流提取语法元素。作为执行剖析操作的一部分,熵解码单元150可熵解码位流中的经熵编码语法元素。预测处理单元152、反量化单元154、反变换处理单元156、重构单元158及滤波器单元159可执行重构操作,所述重构操作基于从位流提取的语法元素产生经解码视频数据。
如上文所论述,位流可包括一系列NAL单元。位流的NAL单元可包含视频参数集NAL单元、序列参数集NAL单元、图片参数集NAL单元、SEI NAL单元等等。作为对位流执行剖析操作的一部分,熵解码单元150可执行剖析操作,所述剖析操作从序列参数集NAL单元提取且熵解码序列参数集、从图片参数集NAL单元提取且熵解码图片参数集、从SEI NAL单元提取且熵解码SEI数据等等。
另外,位流的NAL单元可包含经译码切片NAL单元。作为对位流执行剖析操作的部分,熵解码单元150可执行剖析操作,所述剖析操作从经译码切片NAL单元提取且熵解码经译码切片。经译码切片中的每一个可包含切片标头以及切片数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有所述切片的图片相关联的图片参数集的语法元素。熵解码单元150可对经译码切片标头中的语法元素执行熵解码操作(例如,CABAC解码操作),以恢复切片标头。
作为从经译码切片NAL单元提取切片数据的部分,熵解码单元150可执行从切片数据中的经译码CU提取语法元素的剖析操作。所提取的语法元素可包含与变换系数块相关联的语法元素。熵解码单元150可接着对语法元素中的一些执行CABAC解码操作。
在熵解码单元150对未分割的CU执行剖析操作之后,视频解码器30可对未分割的CU执行重构操作。为对未经分割CU执行重构操作,视频解码器30可对CU的每一TU 执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构与CU相关联的残余视频块。
作为对TU执行重构操作的部分,反量化单元154可反量化(例如,解量化)与TU相关联的变换系数块。反量化单元154可以类似于针对HEVC所提议或由H.264解码标准定义的反量化过程的方式反量化变换系数块。反量化单元154可使用由视频编码器20 针对变换系数块的CU计算的量化参数QP来确定量化程度,且同样地,确定反量化单元154应用的反量化的程度。
在反量化单元154反量化变换系数块之后,反变换单元156可产生与变换系数块相关联的TU的残余视频块。反变换单元156可将反变换应用到变换系数块以便产生所述 TU的残余视频块。举例来说,反变换单元156可将反DCT、反整数变换、反卡胡南- 拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、反定向变换或另一反变换应用于变换系数块。在一些实例中,反变换单元156可基于从视频编码器20用信号发送来确定适用于变换系数块的反变换。在这些实例中,反变换单元156可基于在用于与变换系数块相关联的树块的四叉树的根节点处的用信号发送的变换来确定反变换。在其它实例中,反变换单元156可从例如块大小、译码模式或类似物等一或多个译码特性推断反变换。在一些实例中,反变换单元156可应用级联的反变换。
在一些实例中,运动补偿单元162可通过基于内插滤波器执行内插而精炼PU的预测视频块。用于将用于以子样本精确度进行运动补偿的内插滤波器的识别符可包含在语法元素中。运动补偿单元162可使用由视频编码器20在产生PU的经预测视频块期间使用的相同内插滤波器来计算参考块的子整数样本的内插值。运动补偿单元162可根据所接收的语法信息确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生经预测视频块。
如果PU是使用帧内预测编码,那么帧内预测单元164可执行帧内预测以产生PU 的经预测视频块。举例来说,帧内预测单元164可基于位流中的语法元素确定用于PU 的帧内预测模式。位流可包含帧内预测单元164可用以确定PU的帧内预测模式的语法元素。
在一些情况下,语法元素可指示帧内预测单元164将使用另一PU的帧内预测模式来确定当前PU的帧内预测模式。举例来说,可能有可能当前PU的帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为用于当前PU的最可能模式。因此,在此实例中,位流可包含小语法元素,所述小语法元素指示PU的帧内预测模式与相邻PU的帧内预测模式相同。帧内预测单元164可接着使用帧内预测模式以基于空间相邻PU的预测块产生用于PU的预测数据(例如,经预测样本)。
如上文所论述,视频解码器30还可包含层间预测单元166。层间预测单元166经配置以使用在可缩放视频译码中可用的一或多个不同层(例如,BL或RL)来预测当前块(例如,EL中的当前块)。此预测可被称作层间预测。层间预测单元166利用预测方法来减少层间冗余,由此改进译码效率且减少计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用BL中对处于相同位置的块的重构来预测EL中的当前块。层间运动预测使用BL的运动信息来预测EL中的运动。层间残余预测使用BL的残余来预测EL的残余。下文更详细地论述层间预测方案中的每一个。
重构单元158可使用与CU的TU相关联的残余视频块及CU的PU的预测视频块 (即,帧内预测数据或帧间预测数据,如果适用)来重构CU的视频块。因此,视频解码器30可基于位流中的语法元素产生所预测的视频块及残余视频块,且可基于所预测的视频块及残余视频块产生视频块。
在重构单元158重构CU的视频块之后,滤波器单元159可执行解块操作以减少与CU相关联的成块假象。在滤波器单元159执行解块操作以减少与CU相关联的成块假象之后,视频解码器30可将CU的视频块存储在经解码图片缓冲器160中。经解码图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测和在例如图1A或1B的显示装置32等显示装置上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器160 中的视频块对其它CU的PU执行帧内预测或帧间预测操作。
多层解码器
图3B是说明可实施根据本公开中所描述的方面的技术的多层视频解码器33(还被简称为视频解码器33)的实例的框图。视频解码器33可经配置以处理多层视频帧(例如,用于SHVC和多视图译码)。此外,视频解码器33可经配置以执行本公开的技术中的任一种或全部。
视频解码器33包含视频解码器30A和视频解码器30B,其中的每一个可被配置为视频解码器30,且可执行上文关于视频解码器30所描述的功能。另外,如再使用参考数字所指示,视频解码器30A和30B可包含如视频解码器30的***和子***中的至少一些。尽管将视频解码器33说明为包含两个视频解码器30A和30B,但视频解码器33 不受如此限制,且可包含任何数目个视频解码器30层。在一些实施例中,视频解码器 33可包含用于存取单元中的每一图片或帧的视频解码器30。举例来说,可由包含五个解码器层的视频解码器处理或解码包含五个图片的存取单元。在一些实施例中,视频解码器33可包含比存取单元中的帧更多的解码器层。在一些此等情况下,当处理一些存取单元时,视频解码器层中的一些可能无效。
除视频解码器30A和30B之外,视频解码器33可包含上取样单元92。在一些实施例中,上取样单元92可对所接收到的视频帧的BL进行上取样,以产生待添加到帧或存取单元的参考图片列表的增强层。此增强层可存储在经解码图片缓冲器160中。在一些实施例中,上取样单元92可包含关于图2A的再取样单元90描述的实施例中的一些或全部。在一些实施例中,上取样单元92经配置以对层进行上取样且重新组织、重新界定、修改或调整一或多个切片以符合一组切片边界规则和/或光栅扫描规则。在一些情况下,上取样单元92可为经配置以对所接收的视频帧的层进行上取样及/或下取样的再取样单元。
上取样单元92可经配置以从较低层解码器(例如,视频解码器30A)的经解码图片缓冲器160接收图片或帧(或与所述图片相关联的图片信息),并对所述图片(或所接收到的图片信息)进行上取样。可接着将此经上取样图片提供到经配置以解码与底层解码器相同的存取单元中的图片的高层解码器(例如,视频解码器30B)的预测处理单元152。在一些情况下,高层解码器为从低层解码器去除的一个层。在其它情况下,在图3B的层0解码器与层1解码器之间可存在一或多个较高层解码器。
在一些情况下,可省略或绕过上取样单元92。在此类情况下,可直接地或在至少不提供到上取样单元92的情况下,将来自视频解码器30A的经解码图片缓冲器160的图片提供到视频解码器30B的预测处理单元152。举例来说,如果提供到视频解码器30B 的视频数据及来自视频解码器30A的经解码图片缓冲器160的参考图片具有相同的大小或分辨率,那么可将参考图片提供到视频解码器30B而不需要上取样。此外,在一些实施例中,上取样单元92可为经配置以对从视频解码器30A的经解码图片缓冲器160接收的参考图片进行上取样或下取样的再取样单元90。
如图3B中所说明,视频解码器33可进一步包含多路分用器99或多路分用装置。多路分用装置99可将经编码视频位流***成多个位流,其中由多路分用装置99输出的每一位流被提供到不同的视频解码器30A和30B。可通过接收位流来产生多个位流,且视频解码器30A和30B中的每一个在给定时间接收位流的一部分。虽然在一些情况下,可在视频解码器(例如,在图3B的实例中的视频解码器30A和30B)中的每一个之间一次一个位地交替来自在多路分用装置99处接收到的位流的位,但在许多情况下,以不同方式划分所述位流。举例来说,可通过一次一个块地交替哪一视频解码器接收位流而划分所述位流。在另一实例中,可通过到视频解码器30A和30B中的每一个的块的非 1:1比率来划分位流。举例来说,可针对提供到视频解码器30A的每一块将两个块提供到视频解码器30B。在一些实施例中,可预编程由多路分用装置99对位流的划分。在其它实施例中,多路分用装置99可基于从视频解码器33外部的***(例如,从包含目的地装置14的目的地装置上的处理器)接收的控制信号而划分位流。可基于来自输入接口 28的视频的分辨率或位率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订),或基于用于确定视频解码器33可获得的分辨率的任何其它因素来产生控制信号。
视频记录装置中的带宽和电力消耗
如上文所论述,在具有视频记录能力的视频装置(例如,智能电话、数字摄录相机等) 中,在通过视频装置的相机记录视频数据之后,通常将经记录视频数据提供给:(i)编码器,使得经记录视频数据可转化成经译码位流(例如,以供在存储和/或发射之前压缩);和(ii)显示器,使得经记录视频数据的预览可显示给用户。用户可使用在显示器上显示的预览以将相机对准所期望记录的对象且确保所期望记录的对象恰当地定位在相机的视野内。
然而,随着由视频装置记录的视频数据的质量提高,经记录数据的大小也可增加且引起通过视频装置执行的处理,以便产生和显示经记录视频数据的预览从而消耗更多带宽和电力。举例来说,产生和显示高清(HD)和超高清(UHD)视频数据的预览可需要消耗大量带宽和电力。举例来说,在任何视频***(例如,摄录相机***、编码器***、解码器***等)中,可存在存储器和图形处理器。当存储器与图形处理器通信时,消耗存储器与图形处理器之间的总线(例如,先进可扩展接口(AXI)总线)的带宽的一部分。另外,当从存储器读取视频数据和/或将视频数据写入存储器时,消耗一定量的电力。在涉及 1080p、4K等视频数据的视频用例中,消耗大量带宽和电力。
因此,需要可减少视频记录装置的带宽和电力消耗的用于处理视频数据的经改进方法。
视频装置的实例
视频装置可包含与彼此通信以记录视频数据、记录音频数据、基于经记录视频和音频数据产生视频统计数据、基于视频统计数据产生预览等的各种组件。在一些实施例中,编码器和预览处理器可为单独的组件。在其它实施例中,编码器和预览处理器可实施为单一组件,所述单一组件可编码经记录视频和音频数据并且还处理经记录视频数据,使得经处理视频数据具有比经记录视频数据更低的帧率。经处理视频数据可进一步由相机后处理器(CPP)、图形处理单元(GPU)和/或多媒体显示处理器(MDP)处理,使得预览可产生且显示在视频装置的显示器上。在一些实施例中,视频装置可为以下中的任一个:计算机、笔记本计算机、膝上型计算机、平板计算机、机顶盒、电话手持机、智能电话、智能平板、电视、相机、显示装置、视频记录装置、摄录相机、视频电话装置、数字媒体播放器、视频游戏控制台和车载计算机。
图4是说明可利用根据本公开中所描述的方面的技术的实例视频装置400的框图。在一些实施例中,视频装置400可为以下中的任一个:计算机、笔记本计算机、膝上型计算机、平板计算机、机顶盒、电话手持机、智能电话、智能平板、电视、相机、显示装置、视频记录装置、摄录相机、视频电话装置、数字媒体播放器、视频游戏控制台和车载计算机。如图4中所展示,视频装置400包含相机410、包含解码器430的编码器 420、CPP 440、GPU/MDP 450和显示器460。相机410可(例如,以30fps)记录视频数据且向编码器420和CPP 440提供经记录视频数据。从相机410到编码器420的路径可被称为编码器路径,且从相机410到CPP 440、GPU/MDP 450和显示器460的路径可被称为预览路径。提供到编码器420和CPP 440的视频数据可具有与相机410经配置以记录视频数据的帧率相同的帧率(例如,在图4的实例中30fps)。如图4中所展示,编码器420基于从相机410接收的视频数据产生经编码位流,且解码器430(例如,通过解码经编码位流)产生经重构输出。
CPP 440可在向GPU/MDP 450发送经处理视频数据之前对从相机410接收的视频数据执行某一处理。GPU/MDP 450可包括GPU、MDP或两者。举例来说,CPP 440可从视频数据去除一或多个帧。在一个实施例中,CPP 440从视频数据去除每第6个帧。在此类实施例中,如果以30fps记录视频数据,那么从CPP 540提供到GPU/MDP 450的经处理视频数据具有25fps的帧率。经处理视频数据的帧率可被称为经减少的帧率。在另一实施例中,CPP 440从视频数据去除每第N个帧,其中N是大于1(例如,2、3、4、 5、6、7、8、9、10等)的整数。因此,到CPP440的输入可具有第一帧率,但CPP 440 的输出可具有低于第一帧率的第二帧率。减小待用于产生预览的视频数据的帧率可减少 AXI带宽以及由预览路径中的后续组件(例如,GPU/MDP 450、显示器460和/或图4中所说明的其它组件)执行的处理。其结果是,还可减少预览路径中的电力消耗。下文参看图6更详细地描述减少视频数据的帧率的过程。
GPU/MDP 450可基于经处理视频数据编写需要显示的不同层。举例来说,在移动装置上的摄录相机应用中,各种按钮显示在显示屏上以用于开始和暂停记录,用于启用闪光,用于指示电池使用时间等。GPU/MDP 450可编写信息的不同层且将其合并到单个屏幕中,且在显示器460上呈现经编写视频数据。
显示器460可为同步显示器(或“非智能显示器”)或异步显示器(或“智能显示器”)。非智能显示器可能需要用以发送连续视频数据(例如,编写用于每个单一帧的全帧的全部像素)的***。在另一方面,智能显示器可能需要用以仅发送视频数据的已改变的那些部分(例如,视频数据中的帧的子集和/或每一帧的部分)的***。非智能显示器将简单地读取具有达到指定显示帧率(例如,在图4的实例中的60fps)的经减少帧率的经处理视频数据。智能显示器将以相同帧率读取经处理视频数据,且执行额外处理以用指定帧率(例如,60fps)显示视频数据。
图5是说明可利用根据本公开中所描述的方面的技术的实例视频装置500的框图。在一些实施例中,视频装置500可为以下中的任一个:计算机、笔记本计算机、膝上型计算机、平板计算机、机顶盒、电话手持机、智能电话、智能平板、电视、相机、显示装置、视频记录装置、摄录相机、视频电话装置、数字媒体播放器、视频游戏控制台和车载计算机。如图5中所展示,视频装置500包含相机510、包含解码器530的编码器 520、CPP 540、GPU/MDP 550、显示器560和预览处理器570。在图5的实例中,预览处理器570可执行由图4中的CPP 440执行的处理中的一些。在图5的实例中,编码器 520和预览处理器570经展示为单独的组件。在另一实施例中,编码器520和预览处理器570可实施为单一组件,所述单一组件可编码经记录视频数据并且还处理经记录视频数据,使得经处理视频数据具有比记录视频数据的原始帧率更低的帧率。预览处理器570 可实施为硬件或软件组件。
相机510可(例如,以30fps)记录视频数据且向编码器520和预览处理器570提供经记录视频数据。从相机510到编码器520的路径可被称为编码器路径,且从相机510 到预览处理器570、CPP 540、GPU/MDP 550和显示器560的路径可被称为预览路径。提供到编码器520和预览处理器570的视频数据可具有与相机510经配置以记录视频数据的帧率相同的帧率(例如,在图5的实例中的30fps)。如图5中所展示,编码器520 基于从相机510接收的视频数据产生经编码位流,且解码器530(例如,通过解码经编码位流)产生经重构输出。编码器520进一步向预览处理器570提供译码统计数据。译码统计数据可包含在编码位流中的经记录视频数据和/或解码经编码位流的过程期间产生的任何信息。举例来说,译码统计数据可包括经帧内译码、经帧间译码和/或跳过块、宏块、切片、图像块或每一帧内的其它译码单元的数目。举例来说,块可呈4×4、16×16、8×8、 8×16、16×8的大小和/或任何其它大小。译码统计数据还可包括每一帧中的所关注区域的指示(如果存在的话)。译码统计数据还可包括经记录视频数据中的每一帧的色彩信息。色彩信息可包括YUV数据、RGB数据、明度数据和/或色度数据。译码统计数据还可包括话音活动检测(VAD)信息。VAD信息可指示人类话音是否存在于每一帧中。可由视频装置产生的译码统计数据不限于本文中所描述的那些,且可包含可用于处理经记录视频数据的任何其它信息。
预览处理器570可在向CPP 540发送经处理视频数据之前对从相机510接收到的视频数据执行某一处理。举例来说,预览处理器570可从视频数据去除一或多个帧。在一个实施例中,预览处理器570基于从编码器520接收到的译码统计数据从视频数据去除一或多个帧。尽管未说明,但预览处理器570可从编码器520接收(或以其它方式存取) 哪一帧将从视频数据丢弃的指示而不是译码统计数据。在此情况下,预览处理器570可去除经指示将从视频数据去除的那些帧。因此,到预览处理器570的输入可具有第一帧率,但预览处理器570的输出可具有低于第一帧率的第二帧率。减小待用于产生预览的视频数据的帧率可减少AXI带宽以及由预览路径中的后续组件(例如,CPP 540、 GPU/MDP 550、显示器560和/或图5中未说明的其它组件)执行的处理。其结果是,还可减少预览路径中的电力消耗。下文参看图7更详细地描述减少视频数据的帧率的过程。
GPU/MDP 550可基于经处理视频数据编写需要显示的不同层。举例来说,在移动装置上的摄录相机应用中,各种按钮显示在显示屏上以用于开始和暂停记录,用于启用闪光,用于指示电池使用时间等。GPU/MDP 550可编写信息的不同层且将其合并到单个屏幕中,且在显示器560上呈现经编写视频数据。GPU/MDP 550可包括GPU、MDP或两者。
显示器560可为同步显示器(或“非智能显示器”)或异步显示器(或“智能显示器”)。非智能显示器可能需要用以发送连续视频数据(例如,编写用于每个单一帧的全帧的全部像素)的***。在另一方面,智能显示器可能需要用以仅发送视频数据的已改变的那些部分(例如,视频数据中的帧的子集和/或每一帧的部分)的***。非智能显示器将简单地读取具有达到指定显示帧率(例如,在图5的实例中的60fps)的经减少帧率的经处理视频数据。智能显示器将以相同帧率读取经处理视频数据,且执行额外处理以用指定帧率(例如,60fps)显示视频数据。
视频数据处理的实例
图6是说明根据本公开的实施例的用于译码视频信息的方法600的流程图。图6中所说明的步骤中的一些或全部可由图1A到5中所说明的装置中的任一个或其一或多个组件(例如,图5的预览处理器)执行。为方便起见,将方法600描述为由视频装置执行,所述视频装置可包括编码器、解码器和/或另一其它组件。
方法600开始于框601。在框605处,视频装置以第一帧率记录视频数据。在一个实施例中,第一帧率是30fps。在一些实施例中,如果视频装置的组件(例如,视频装置中的处理器)正执行方法600,那么此组件可使得视频数据将以第一帧率记录,例如通过发指令给视频装置的相机来记录视频数据。经记录视频数据可存储于视频缓冲器中且由视频装置的各种组件处理。举例来说,经记录视频数据可由译码器(例如,编码器或解码器)处理且压缩到视频位流中以供存储和/或发射。经记录视频数据可由CPP、GPU和/ 或MDP处理,使得基于经记录视频数据产生的预览可显示在视频装置的显示器上。
在框610处,视频装置经由从经记录视频数据去除一或多个帧来处理经记录视频数据,使得经处理视频数据具有低于第一帧率的第二帧率。举例来说,第二帧率可为25fps。在另一实例中,第二帧率可为低于借以记录视频数据的帧率(例如,30fps)的任何帧率。在一个实施例中,从经记录视频数据去除的一或多个帧包括经记录视频数据中的每第6 个帧。举例来说,如果以30fps记录视频数据,且视频装置处理经记录视频数据以使得丢弃经记录视频数据中的每第6个帧,那么经处理视频数据可具有25fps的帧率。在另一实施例中,从经记录视频数据去除的一或多个帧包括经记录视频数据中的每第5个帧、每第7个帧或每第N个帧(其中N是大于零的整数)。
在框615处,视频装置基于经处理视频数据产生经记录视频数据的预览。举例来说,即使以30fps记录视频数据,如果经处理视频装置具有25fps的帧率,那么视频装置可基于具有25fps的帧率的经处理视频数据产生预览。在框620处,视频装置(例如)经由视频装置的显示器显示经记录视频数据的所产生预览。方法600结束于框625。
如上文所论述,图1A到5中所说明的视频装置的一或多个组件可用于实施本公开中论述的技术中的任一种,例如使得视频数据将以第一帧率记录,经由从经记录视频数据去除一或多个帧来处理经记录视频数据,且基于经处理视频数据产生预览。
在方法600中,可去除(例如,不执行)或修改展示于图6中的框中的一或多个,可交换执行方法的次序,和/或可添加一或多个额外的框。举例来说,视频装置可接收或以其它方式存取已记录的视频数据,且如在框610处所描述的处理此类视频数据,而不是使得将在框605处记录视频数据。因此,本公开的实施例不限于图6中展示的实例或受其限制,且可在不脱离本公开的精神的情况下实施其它变化。
图7是说明根据本公开的实施例的用于译码视频信息的方法700的流程图。图7中所说明的步骤可由图1A到5中所说明的装置中的任一个或其一或多个组件(例如,图5 的预览处理器)执行。为方便起见,将方法700描述为由视频装置执行,所述视频装置可包括编码器、解码器和/或另一其它组件。
方法700开始于框701。在框705处,视频装置以第一帧率记录视频数据。在一个实施例中,第一帧率是30fps。在一些实施例中,如果视频装置的组件(例如,视频装置中的处理器)正执行方法600,那么此组件可使得视频数据将以第一帧率记录,例如通过发指令给视频装置的相机来记录视频数据。经记录视频数据可存储于视频缓冲器中且由视频装置的各种组件处理。举例来说,经记录视频数据可由译码器(例如,编码器或解码器)处理且压缩到视频位流中以供存储和/或发射。经记录视频数据可由相机后处理器 (CPP)、图形处理单元(GPU)和/或多媒体显示处理器(MDP)处理,使得基于经记录视频数据产生的预览可显示在视频装置的显示器上。
在框710处,视频装置基于经记录视频数据产生译码统计数据。译码统计数据可包含在编码位流中的经记录视频数据和/或解码经编码位流的过程期间产生的任何信息。举例来说,译码统计数据可包括经帧内译码、经帧间译码和/或跳过块、宏块、切片、图像块或每一帧内的其它译码单元的数目。举例来说,块可呈4×4、16×16、8×8、8×16、16×8 的大小和/或任何其它大小。译码统计数据还可包括每一帧中的所关注区域的指示(如果存在的话)。译码统计数据还可包括经记录视频数据中的每一帧的色彩信息。色彩信息可包括YUV数据、RGB数据、明度数据和/或色度数据。译码统计数据还可包括话音活动检测(VAD)信息。VAD信息可指示人类话音是否存在于每一帧中。可由视频装置产生的译码统计数据不限于本文中所描述的那些,且可包含可用于处理经记录视频数据的任何其它信息。
在框715处,视频装置经由从经记录视频数据去除一或多个帧来处理经记录视频数据,使得经处理视频数据具有低于第一帧率的第二帧率。举例来说,第二帧率可为25fps。在另一实例中,第二帧率可为低于借以记录视频数据的帧率(例如,30fps)的任何帧率。在一个实施例中,从经记录视频数据去除的一或多个帧包括经记录视频数据中的每第6 个帧。举例来说,如果以30fps记录视频数据,且视频装置处理经记录视频数据以使得丢弃经记录视频数据中的每第6个帧,那么经处理视频数据可具有25fps的帧率。在另一实施例中,从经记录视频数据去除的一或多个帧包括经记录视频数据中的每第5个帧、每第7个帧或每第N个帧(其中N是大于零的整数)。
在框720处,视频装置基于经处理视频数据产生预览。举例来说,即使以30fps记录视频数据,如果经处理视频装置具有25fps的帧率,那么视频装置可基于具有25fps 的帧率的经处理视频数据产生预览。在框725处,视频装置(例如)经由视频装置的显示器显示经记录视频数据的所产生预览。方法700结束于框730。
如上文所论述,图1A到5中所说明的视频装置的一或多个组件可用于实施本公开中所论述的技术中的任一种,例如使得将以第一帧率记录视频数据,基于经记录视频数据产生译码统计数据,基于译码统计数据经由从经记录视频数据去除一或多个帧来处理经记录视频数据,且基于经处理视频数据产生预览。
在方法700中,可去除(例如,不执行)或修改展示于图7中的框中的一或多个,可交换执行方法的次序,和/或可添加一或多个额外的框。举例来说,视频装置可接收或以其它方式存取已记录的视频数据,而不是使得将在框705处记录视频数据。在另一实例中,视频装置(例如展示于图5中的预览处理器)可接收或以其它方式存取由另一组件(例如,编码器)产生的译码统计数据且使用译码统计数据以在框715处处理经记录视频数据,而不是在框710处产生译码统计数据。
在又一实施例中,视频装置(例如,展示于图5中的预览处理器)可接收或以其它方式存取从经记录视频数据去除哪些帧的指示,且在框715处经由从经记录视频数据去除经指示帧来处理经记录视频数据,而不是在框715处基于译码统计数据处理经记录视频数据。举例来说,译码器(例如,编码器或解码器)可针对视频数据中的不同宏块(MB)类型指定宏块权重值。在一个实施例中,权重值对于较不重要的MB类型(例如,可被去除而不会明显地影响预览质量)来说更大。举例来说,权重值16可分配给跳过MB,针对 P16×16MB分配14,针对P8×8MB、P8×16MB和P16×8MB分配13,针对P4×4MB 分配10,针对I16×16MB分配8且针对I4×4MB分配7。尽管出于说明的目的将特定数值分配给MB,但其它值可分配给本文中未描述的MB或其它译码单元中的一或多个。接着,针对每一帧,通过求和帧中的所有MB的所有MB权重值来(例如,通过译码器或预览处理器)计算帧权重值。举例来说,如果给定帧具有20个跳过MB、60个P16×16 MB、100个I16×16MB和120个I4×4MB,那么针对给定帧计算的总权重将为20*16+ 60*14+100*8+120*7=320+840+800+840=2800。在一些实施例中,预览处理器基于由译码器提供的译码统计数据来执行此计算。在其它实施例中,译码器基于所产生的译码统计数据执行此计算且向预览处理器提供计算的结果。在一些实施例中,帧的所计算权重可与阈值相比较以确定是否丢弃或保持帧。在其它实施例中,数个连续帧(例如,五个帧)的帧权重的移动平均值可与阈值相比较,且预览处理器可在移动平均值高于阈值(或低于阈值,视计算权重值的方式而定)时去除当前帧。在一些实施例中,可添加约束条件:可从视频数据去除不多于数个连续帧(例如,两个帧、三个帧等)。
因此,本公开的实施例不限于图7中展示的实例或不受其限制,且可在不脱离本公开的精神的情况下实施其它变化。
带宽和电力消耗的减少
表1和2说明可使用本文中所描述的技术在图1A到5中所说明的视频装置中实现的带宽和电力消耗的经预测减少经展示。
Figure BDA0001406473070000321
表1.带宽(GPU组成+MDP呈现)的减少
在表1中所说明的的实例中,AXI带宽的减少是大约300MBps。
Figure BDA0001406473070000322
Figure BDA0001406473070000331
表2.电力消耗(GPU组成+MDP呈现)的减少
在表2中所说明的实例中,如果预览帧率从30fps下降到24fps,那么电力消耗的减少是大约40mA。预览帧率的额外下降将进一步减少电力消耗。
其它考虑
可使用多种不同技术和技艺中的任一种来表示本文中所公开的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。
结合本文中公开的实施例所描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件,或两者的组合。为清晰地说明硬件与软件的此可互换性,以上已大体关于其功能性描述了各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用及施加于整个***的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但这样的实施方案决策不应被解释为会引起脱离本发明的范围。
本文中所描述的技术可在硬件、软件、固件或其任合组合中实施。所述技术可实施于多种装置中的任一种中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机及其它装置中的应用的多种用途。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在被执行时执行上文所描述的方法中的一或多个的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器 (RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等等。另外或替代地,所述技术可至少部分地由计算机可读通信媒体实现,所述计算机可读通信媒体以指令或数据结构的形式载运或传达程序代码且可由计算机存取、读取和/或执行(例如,传播的信号或波)。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA) 或其它等效集成或离散逻辑电路。此处理器可经配置以执行本公开中所描述的技术中的任一种。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一个、上述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(编解码器)中。并且,所述技术可完全实施于一或多个电路或逻辑元件中。
本公开的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或 IC的集合(例如,芯片组)。本公开中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中,或通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述本发明的各种实施例。

Claims (24)

1.一种用于记录和处理视频信息的设备,其包括:
存储器;
显示器;和
处理器,其与所述存储器和所述显示器通信,且所述处理器经配置以:
以第一帧率记录视频数据并以所述第一帧率将所述视频数据提供至第一处理路径和第二处理路径;
在所述第一处理路径上,以所述第一帧率编码所述视频数据以用于存储和/或发射;
在所述第二处理路径上,从经记录视频数据去除一或多个帧以提供具有低于所述第一帧率的第二帧率的视频数据,并在记录所述视频数据的同时以所述第二帧率产生将由所述显示器显示的所述视频数据的预览。
2.根据权利要求1所述的设备,其中从所述经记录视频数据去除一或多个帧包括从所述经记录视频数据迭代地去除第N个帧,其中N是大于一的整数。
3.根据权利要求2所述的设备,其中从所述经记录视频数据去除一或多个帧包括从所述经记录视频数据去除每第N个帧。
4.根据权利要求1所述的设备,其中所述处理器经进一步配置以:
至少部分地基于所述经记录视频数据产生译码统计数据以获得所产生的译码统计数据;且
至少部分地基于所述所产生的译码统计数据来确定将从所述经记录视频数据去除的所述一或多个帧。
5.根据权利要求1所述的设备,其中所述设备包括编码器,且所述处理器经进一步配置以编码所述视频信息。
6.根据权利要求1所述的设备,其中所述设备包括解码器,且所述处理器经进一步配置以解码所述视频信息。
7.根据权利要求1所述的设备,其中所述处理器经进一步配置以:
接收至少部分地基于所述经记录视频数据产生的译码统计数据以获得所接收的译码统计数据;且
至少部分地基于所述所接收的译码统计数据来确定将从所述经记录视频数据去除的所述一或多个帧。
8.根据权利要求1所述的设备,其中所述处理器经进一步配置以:
接收将从所述经记录视频数据去除的所述一或多个帧的指示以获得所接收的指示;且
从所述经记录视频数据去除在所述所接收的指示中经指示将去除的所述一或多个帧。
9.一种记录和处理视频信息的方法,所述方法包括:
以第一帧率记录视频数据并以所述第一帧率将所述视频数据提供至第一处理路径和第二处理路径;
在所述第一处理路径上,以所述第一帧率编码所述视频数据以用于存储和/或发射;
在所述第二处理路径上,从经记录视频数据去除一或多个帧以提供具有低于所述第一帧率的第二帧率的视频数据,并以所述第二帧率产生所述经记录视频数据的预览;和
在记录所述视频数据的同时显示所述经记录视频数据的所产生的预览。
10.根据权利要求9所述的方法,其中从所述经记录视频数据去除一或多个帧包括从所述经记录视频数据迭代地去除第N个帧,其中N是大于一的整数。
11.根据权利要求10所述的方法,其中从所述经记录视频数据去除一或多个帧包括从所述经记录视频数据去除每第N个帧。
12.根据权利要求9所述的方法,其进一步包括:
至少部分地基于所述经记录视频数据产生译码统计数据以获得所产生的译码统计数据;和
至少部分地基于所述所产生的译码统计数据来确定将从所述经记录视频数据去除的所述一或多个帧。
13.根据权利要求9所述的方法,其进一步包括在位流中编码所述视频信息。
14.根据权利要求9所述的方法,其进一步包括在位流中解码所述视频信息。
15.根据权利要求9所述的方法,其进一步包括:
接收至少部分地基于所述经记录视频数据产生的译码统计数据以获得所接收的译码统计数据;和
至少部分地基于所述所接收的译码统计数据来确定将从所述经记录视频数据去除的所述一或多个帧。
16.根据权利要求9所述的方法,其进一步包括:
接收将从所述经记录视频数据去除的所述一或多个帧的指示以获得所接收的指示;和
从所述经记录视频数据去除在所述所接收的指示中经指示将去除的所述一或多个帧。
17.一种包括代码的非暂时性计算机可读介质,所述代码在执行时使得设备进行以下操作:
以第一帧率记录视频数据并以所述第一帧率将所述视频数据提供至第一处理路径和第二处理路径;
在所述第一处理路径上,以所述第一帧率编码所述视频数据以用于存储和/或发射;
在所述第二处理路径上,从经记录视频数据去除一或多个帧以提供具有低于所述第一帧率的第二帧率的视频数据,并以所述第二帧率产生所述经记录视频数据的预览;和
在记录所述视频数据的同时显示所述经记录视频数据的所产生的预览。
18.根据权利要求17所述的计算机可读介质,其中从所述经记录视频数据去除一或多个帧包括从所述经记录视频数据迭代地去除第N个帧,其中N是大于一的整数。
19.根据权利要求18所述的计算机可读介质,其中从所述经记录视频数据去除一或多个帧包括从所述经记录视频数据去除每第N个帧。
20.根据权利要求17所述的计算机可读介质,其中所述代码进一步使得所述设备进行以下操作:
至少部分地基于所述经记录视频数据产生译码统计数据以获得所产生的译码统计数据;且
至少部分地基于所述所产生的译码统计数据来确定将从所述经记录视频数据去除的所述一或多个帧。
21.一种经配置以记录和处理视频信息的视频装置,所述视频装置包括:
用于以第一帧率记录视频数据并以所述第一帧率将所述视频数据提供至第一处理路径和第二处理路径的装置;
用于在所述第一处理路径上,以所述第一帧率编码所述视频数据以用于存储和/或发射的装置;
用于在所述第二处理路径上,从经记录视频数据去除一或多个帧以提供具有低于所述第一帧率的第二帧率的视频数据,并以所述第二帧率产生所述经记录视频数据的预览的装置;和
用于在记录所述视频数据的同时显示所述经记录视频数据的所产生的预览的装置。
22.根据权利要求21所述的视频装置,其中从所述经记录视频数据去除一或多个帧包括从所述经记录视频数据迭代地去除第N个帧,其中N是大于一的整数。
23.根据权利要求22所述的视频装置,其中从所述经记录视频数据去除一或多个帧包括从所述经记录视频数据去除每第N个帧。
24.根据权利要求21所述的视频装置,其进一步包括:
用于至少部分地基于所述经记录视频数据产生译码统计数据以获得所产生的译码统计数据的装置;和
用于至少部分地基于所述所产生的译码统计数据来确定将从所述经记录视频数据去除的所述一或多个帧的装置。
CN201680015493.3A 2015-03-26 2016-03-17 用于处理视频数据的装置和方法 Active CN107408400B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/670,146 2015-03-26
US14/670,146 US9591254B2 (en) 2015-03-26 2015-03-26 Device and method for processing video data
PCT/US2016/022929 WO2016153932A1 (en) 2015-03-26 2016-03-17 Device and method for processing video data

Publications (2)

Publication Number Publication Date
CN107408400A CN107408400A (zh) 2017-11-28
CN107408400B true CN107408400B (zh) 2020-01-14

Family

ID=55697485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680015493.3A Active CN107408400B (zh) 2015-03-26 2016-03-17 用于处理视频数据的装置和方法

Country Status (7)

Country Link
US (1) US9591254B2 (zh)
EP (1) EP3275179B1 (zh)
JP (1) JP2018514985A (zh)
KR (1) KR20170131443A (zh)
CN (1) CN107408400B (zh)
ES (1) ES2905124T3 (zh)
WO (1) WO2016153932A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170070740A1 (en) * 2015-09-03 2017-03-09 Intel Corporation Encoding techniques for display of text and other high-frequency content
EP3343561B1 (en) * 2016-12-29 2020-06-24 Axis AB Method and system for playing back recorded video
CN106933587B (zh) * 2017-03-10 2019-12-31 Oppo广东移动通信有限公司 一种图层绘制控制方法、装置及移动终端
CN106933328B (zh) * 2017-03-10 2020-04-17 Oppo广东移动通信有限公司 一种移动终端帧率的控制方法、装置及移动终端
WO2019227352A1 (zh) * 2018-05-30 2019-12-05 深圳市大疆创新科技有限公司 飞行控制方法及飞行器
JP6924908B2 (ja) * 2018-09-27 2021-08-25 富士フイルム株式会社 撮像素子、撮像装置、画像データ出力方法、及びプログラム
WO2020089583A1 (en) * 2018-10-09 2020-05-07 V-Nova International Limited Signal element coding format compatability within a hierarchical coding scheme using multiple resolutions
US11197032B2 (en) 2018-11-08 2021-12-07 Telefonaktiebolaget Lm Ericsson (Publ) Asymmetric deblocking in a video encoder and/or video decoder
CN110446069B (zh) * 2019-07-10 2021-08-06 视联动力信息技术股份有限公司 一种基于视联网终端的视频通信方法、装置及存储介质
CN111479132B (zh) * 2019-07-15 2020-12-22 广州湖森电子科技有限公司 坐席协作控制***、坐席协作***、控制方法及装置
CN115918080A (zh) 2020-06-08 2023-04-04 抖音视界有限公司 视频编解码的仿射预测改进

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101536491A (zh) * 2006-10-30 2009-09-16 索尼株式会社 图像捕捉装置和图像捕捉方法
CN101690190A (zh) * 2007-06-29 2010-03-31 索尼株式会社 成像设备、成像方法、记录介质和程序
CN103685921A (zh) * 2012-09-12 2014-03-26 三星电子株式会社 显示便携式终端的相机预览屏幕的方法和设备
CN104469248A (zh) * 2013-09-13 2015-03-25 腾讯科技(深圳)有限公司 视频会话方法、装置、服务器及终端

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5363264A (en) 1990-04-25 1994-11-08 The United States Of America As Represented By The Secretary Of The Navy Versatile digital recording system for recording high resolution video imagery
US5734419A (en) 1994-10-21 1998-03-31 Lucent Technologies Inc. Method of encoder control
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
JP3866538B2 (ja) 2001-06-29 2007-01-10 株式会社東芝 動画像符号化方法及び装置
US7330181B2 (en) * 2003-10-31 2008-02-12 Sony Corporation Method and apparatus for processing an image, image display system, storage medium, and program
JP4262139B2 (ja) * 2004-06-01 2009-05-13 キヤノン株式会社 信号処理装置
JP2006352529A (ja) * 2005-06-16 2006-12-28 Olympus Corp 撮像装置
US20070238981A1 (en) 2006-03-13 2007-10-11 Bracco Imaging Spa Methods and apparatuses for recording and reviewing surgical navigation processes
US20080055318A1 (en) 2006-08-31 2008-03-06 Glen David I J Dynamic frame rate adjustment
JP4284370B2 (ja) * 2007-03-09 2009-06-24 株式会社東芝 ビデオサーバ及びビデオ編集システム
US9565419B2 (en) 2007-04-13 2017-02-07 Ari M. Presler Digital camera system for recording, editing and visualizing images
US8237856B2 (en) 2008-11-07 2012-08-07 Looxcie, Inc. Timeshifting video recording camera
KR20130045656A (ko) 2011-10-26 2013-05-06 삼성전자주식회사 휴대 단말기의 데이터 표시장치 및 방법
US9160912B2 (en) 2012-06-08 2015-10-13 Apple Inc. System and method for automatic image capture control in digital imaging
CN110035286B (zh) 2012-07-09 2021-11-12 Vid拓展公司 用于多层视频编码的编解码器架构
US9648353B2 (en) 2013-04-04 2017-05-09 Qualcomm Incorporated Multiple base layer reference pictures for SHVC
US10212437B2 (en) * 2013-07-18 2019-02-19 Qualcomm Incorporated Device and method for scalable coding of video information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101536491A (zh) * 2006-10-30 2009-09-16 索尼株式会社 图像捕捉装置和图像捕捉方法
CN101690190A (zh) * 2007-06-29 2010-03-31 索尼株式会社 成像设备、成像方法、记录介质和程序
CN103685921A (zh) * 2012-09-12 2014-03-26 三星电子株式会社 显示便携式终端的相机预览屏幕的方法和设备
CN104469248A (zh) * 2013-09-13 2015-03-25 腾讯科技(深圳)有限公司 视频会话方法、装置、服务器及终端

Also Published As

Publication number Publication date
EP3275179B1 (en) 2022-01-05
US9591254B2 (en) 2017-03-07
ES2905124T3 (es) 2022-04-07
JP2018514985A (ja) 2018-06-07
EP3275179A1 (en) 2018-01-31
CN107408400A (zh) 2017-11-28
KR20170131443A (ko) 2017-11-29
WO2016153932A1 (en) 2016-09-29
US20160286155A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
CN107408400B (zh) 用于处理视频数据的装置和方法
KR102140361B1 (ko) 멀티 계층 코딩에서의 컨포먼스 윈도우 정보
US20180160132A1 (en) Temporal motion vector prediction (tmvp) indication in multi-layer codecs
US9560358B2 (en) Device and method for scalable coding of video information
US10212437B2 (en) Device and method for scalable coding of video information
CA2951530C (en) Full picture order count reset for multi-layer codecs
KR20160105437A (ko) 비디오 코딩에서의 nooutputofpriorpicsflag 의 개선된 추론
US20140241437A1 (en) Device and method for scalable coding of video information
US9674522B2 (en) Device and method for scalable coding of video information
US20150016500A1 (en) Device and method for scalable coding of video information
CN105850122B (zh) 在多层译码中用于对参考图片集(rps)进行译码的方法

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