[go: up one dir, main page]

CN102668563A - 解码器中的时间与空间视频块重排序以改善高速缓存命中 - Google Patents

解码器中的时间与空间视频块重排序以改善高速缓存命中 Download PDF

Info

Publication number
CN102668563A
CN102668563A CN2010800582977A CN201080058297A CN102668563A CN 102668563 A CN102668563 A CN 102668563A CN 2010800582977 A CN2010800582977 A CN 2010800582977A CN 201080058297 A CN201080058297 A CN 201080058297A CN 102668563 A CN102668563 A CN 102668563A
Authority
CN
China
Prior art keywords
video
frame
video unit
unit
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800582977A
Other languages
English (en)
Other versions
CN102668563B (zh
Inventor
弗拉丹·安德里亚尼奇
萨拉杰·加代尔拉布
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN102668563A publication Critical patent/CN102668563A/zh
Application granted granted Critical
Publication of CN102668563B publication Critical patent/CN102668563B/zh
Expired - Fee Related 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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
    • 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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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

Landscapes

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

Abstract

本发明描述相对于视频块的显示次序修改视频块的解码次序的技术。可在时间上修改所述解码次序,使得不同视频帧(或其它经编码的单元)的视频块以交替方式进行解码。在此情况下,视频块的所述解码次序可在两个或两个以上不同帧的视频块之间交替。此外,还可在给定视频块内在空间上修改所述解码次序,使得所述视频块以不对应于所述视频块的光栅扫描次序的次序进行解码。所述技术可通过改善高速缓存命中的可能性来改善存储器的使用,借此减少从外部存储器到与解码器相关联的内部高速缓存的存储器加载的数目。

Description

解码器中的时间与空间视频块重排序以改善高速缓存命中
技术领域
本发明涉及用以压缩和解压缩视频数据的基于块的数字视频编码,且更特定来说,涉及用于有效地处理视频块以便实质上使高速缓存命中最大化且减小到高速缓存的存储器加载的技术。
背景技术
数字视频能力可并入广泛范围的装置中,所述装置包括数字电视、数字直播系统、例如无线电电话手持机的无线通信装置、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台等。数字视频装置实施视频压缩技术,例如MPEG-2、MPEG-4或ITU-T H.264/MPEG-4第10部分(高级视频编码(AVC)),以更有效地发射和接收数字视频。视频压缩技术执行空间和时间预测以减少或移除视频序列中固有的冗余。
基于块的视频压缩技术可执行空间预测和/或时间预测。帧内编码依赖于空间预测来减少或移除给定经编码的单元内视频块之间的空间冗余,所述给定经编码的单元可包含视频帧、视频帧的切片等。对比而言,帧间编码依赖于时间预测来减少或移除视频序列的连续经编码的单元的视频块之间的时间冗余。对于帧内编码,视频编码器执行空间预测以基于同一经编码的单元内的其它数据来压缩数据。对于帧间编码,视频编码器执行运动估计和运动补偿以实质上追踪两个或两个以上时间邻近的经编码的单元的对应视频块的移动。
经编码的视频块可通过可用以生成或识别预测性块的预测信息和指示正编码的块与预测性块之间的差异的残余数据块来表示。在帧间编码的情况下,一个或一个以上运动向量用以从先前或随后经编码的单元识别预测性数据块,而在帧内编码的情况下,预测模式可用以基于与正被编码的视频块相关联的经编码的单元内的数据产生预测性块。帧内编码和帧间编码两者均可界定若干不同预测模式,所述不同预测模式中的每一者可界定不同块大小和/或在编码中所使用的预测技术。还可包括额外类型的语法元素作为经编码的视频数据的部分,以便控制或界定在编码过程中所使用的编码技术或参数。
在基于块的预测编码之后,视频编码器可应用变换、量化和熵编码过程以进一步减小与残余块的传送相关联的位速率。变换技术可包含使用离散余弦变换(DCT)或概念上类似的过程,例如小波变换、整数变换或其它类型的变换。在DCT过程中,作为一实例,变换过程将残余像素值集合转换成变换系数,所述变换系数可表示频域中残余像素值的能量。将量化应用于变换系数,且量化大体上涉及限制与任何给定变换系数相关联的位数目的过程。熵编码包含共同压缩经量化变换系数的序列的一个或一个以上过程。
发明内容
本发明描述相对于视频块的显示次序修改视频块的解码次序的技术。可在时间上修改所述解码次序,使得不同视频帧(或其它经编码的单元)的视频块经并行解码,其中所述不同帧的视频块的所述解码次序交替或交错。具体来说,视频块的所述解码次序可在两个或两个以上不同帧的视频块之间交替。此外,还可在给定视频块内在空间上修改所`述解码次序,使得所述视频块以不对应于所述视频块的光栅扫描次序的次序进行解码。所述技术可通过在所述解码器中改善高速缓存命中的可能性来改善存储器的使用,借此减小从外部存储器到与所述解码器相关联的内部高速缓存的存储器加载的数目。所述解码次序可以如下方式来具体界定:促进将需要已存储于所述高速缓存中的预测性数据且用于所述解码中的可能性,且所述解码次序可减少所述解码过程期间从所述外部存储器到所述内部高速缓存的存储器加载。
在一个实例中,本发明描述一种解码视频数据的方法。所述方法包含:在解码器中接收视频单元的序列,其中所述序列界定所述视频单元的显示次序;以及经由所述解码器识别可不相互依赖的所述视频单元的子集。所述方法还可包含:将预测性数据从存储器加载到高速缓存,其中所述高速缓存与所述解码器相关联;以及至少部分基于所述高速缓存中的所述预测性数据解码经编码的视频单元的所述子集的视频块,其中解码所述视频块包括界定解码次序,在所述解码次序中,第二视频单元的至少一些视频块在第一视频单元的至少一些视频块之前进行解码,其中在所述显示次序中,所述第二视频单元出现在所述第一视频单元之后。
在另一实例中,本发明描述一种解码视频数据的设备,所述设备包含视频解码器和相关联的高速缓存。所述视频解码器经配置以接收视频单元的序列,其中所述序列界定所述视频单元的显示次序。所述视频解码器还经配置以识别可不相互依赖的所述视频单元的子集;将预测性数据从存储器加载到所述高速缓存;以及至少部分基于所述高速缓存中的所述预测性数据解码经编码的视频单元的所述子集的视频块。此外,在解码所述视频块中,所述解码器界定解码次序,在所述解码次序中,第二视频单元的至少一些视频块在第一视频单元的至少一些视频块之前进行解码,其中在所述显示次序中,所述第二视频单元出现在所述第一视频单元之后。
在另一实例中,本发明描述一种解码视频数据的装置,所述装置包含:用于接收视频单元的序列的装置,其中所述序列界定所述视频单元的显示次序;用于识别可不相互依赖的所述视频单元的子集的装置;用于将预测性数据从存储器加载到高速缓存的装置;以及用于至少部分基于所述高速缓存中的所述预测性数据解码经编码的视频单元的所述子集的视频块的装置,其中所述用于解码所述视频块的装置包括用于界定解码次序的装置,在所述解码次序中,第二视频单元的至少一些视频块在第一视频单元的至少一些视频块之前进行解码,其中在所述显示次序中,所述第二视频单元出现在所述第一视频单元之后。
本发明中所描述的技术可以硬件、软件、固件或其任何组合来实施。如果以硬件来实施,则设备可作为集成电路、处理器、离散逻辑或其任何组合来实现。如果以软件来实施,则可在一个或一个以上处理器(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP))中执行软件。执行所述技术的软件最初可存储于计算机可读媒体中且加载于所述处理器中并在所述处理器中执行。
因此,本发明还预期一种包含指令的计算机可读存储媒体,所述指令在于处理器中执行后即刻使所述处理器执行以下操作:在接收到视频单元的序列后,其中所述序列界定所述视频单元的显示次序;识别可不相互依赖的所述视频单元的子集;将预测性数据从存储器加载到高速缓存;以及至少部分基于所述高速缓存中的所述预测性数据解码经编码的视频单元的所述子集的视频块。在解码所述视频块中,所述指令致使所述处理器界定解码次序,在所述解码次序中,第二视频单元的至少一些视频块在第一视频单元的至少一些视频块之前进行解码,其中在所述显示次序中,所述第二视频单元出现在所述第一视频单元之后。
本发明的一个或一个以上方面的细节阐述于附图和以下描述中。所述技术的其它特征、目标和优点从描述和图式且从权利要求书将为显而易见的。
附图说明
图1为说明示范性视频编码和解码系统的示范性方框图。
图2为说明示范性视频编码器的方框图。
图3为说明可执行与本发明一致的解码技术的示范性视频解码器的方框图。
图4为更详细地说明视频解码器的预测单元和存储器的方框图。
图5为说明例如视频帧的视频块的单元的概念图,所述视频块可以不同于视频块的光栅扫描次序的解码次序进行解码。
图6为说明帧内的宏块的空间重排序的概念图。
图7为说明可并行解码的例如视频帧的两个不同视频块单元的概念图。
图8A为说明视频单元的IBPBP模式的概念图。
图8B为说明视频单元的IBBPBBP模式的概念图。
图9为说明具有可经并行解码的视频块的帧的概念图。
图10A为说明呈如在输入流中界定的显示次序的视频单元的概念图。
图10B为说明根据不同于显示次序的解码次序解码视频单元的概念图。
图11为说明根据本发明的解码技术的流程图。
具体实施方式
本发明描述相对于视频块的显示次序修改视频块的解码次序的技术。可在时间上修改所述解码次序,使得不同视频帧(或其它经编码的单元)的视频块经并行解码,其中所述不同帧的视频块的解码次序交替或交错。具体来说,视频块的解码次序可在两个或两个以上不同帧的视频块之间交替。此外,还可在给定视频块内于空间上修改解码次序,使得所述视频块以不对应于视频块的光栅扫描次序的次序进行解码。
所述技术可包括将预测性数据从存储器加载到高速缓存,其中所述高速缓存与解码器相关联。视频块的解码次序可以如下方式来界定:促进加载到高速缓存中的数据的使用,且减小执行额外存储器到高速缓存的重新加载的需要直到高速缓存中的数据用于依赖于高速缓存中的数据的任何预测性解码为止。以此方式,所述技术可通过改善高速缓存命中的可能性来改善存储器的使用,借此减小从外部存储器到与解码器相关联的内部高速缓存的存储器加载的数目。
解码次序可以如下方式来具体地界定:促进将需要已存储于高速缓存中的预测性数据且将其用于解码中的可能性,且所述解码次序可减少解码过程期间从外部存储器到内部高速缓存的存储器加载。所述技术可使用例如全局运动度量等统计度量,所述全局运动度量量化跨越视频单元序列的至少一部分的平均运动。在另一实例中,统计度量可包含平均运动度量,所述平均运动度量量化第一视频单元与第二视频单元之间的视频块的平均运动。在任何情况下,解码次序可至少部分基于统计度量来界定,以便改善解码过程中的高速缓存命中的可能性,而无需数据的存储器到高速缓存的重新加载。
图1为说明可实施本发明的技术的示范性视频编码和解码系统10的方框图。如图1中所展示,系统10包括源装置12,源装置12经由通信信道15将经编码的视频发射到目的地装置16。源装置12和目的地装置16可包含广泛装置中的任一者。在一些情况下,源装置12和目的地装置16可包含无线通信装置手持机,例如所谓的蜂窝式或卫星无线电电话。然而,更一般地应用于视频解码的本发明的技术不必限于无线应用或环境,且可应用于包括视频解码能力的非无线装置,例如计算机、游戏控制台、电视机顶盒、多媒体播放器、显示器等。
在图1的实例中,源装置12可包括视频源20、视频编码器22、调制器/解调器(调制解调器)23和发射器24。目的地装置16可包括接收器26、调制解调器27、视频解码器28和显示装置30。源装置12的视频编码器22可编码从视频源20接收的视频数据。视频源20可包含视频捕获装置,例如,视频相机、含有先前捕获的视频的视频存档或来自视频内容提供者的视频馈送。作为另一替代方案,视频源20可产生作为源视频的基于计算机图形的数据,或实况转播视频、经存档的视频和计算机产生的视频的组合。在一些情况下,如果视频源20为视频相机,则源装置12和目的地装置16可形成所谓的相机电话或视频电话。在每一情况下,经捕获、预先捕获或计算机产生的视频可由视频编码器22编码。
视频编码器22一旦编码视频数据,便可接着通过调制解调器23根据(例如)码分多址(CDMA)或另一通信标准或技术的通信标准调制经编码的视频信息,且经由发射器24将经编码的视频信息发射到目的地装置16。调制解调器23可包括各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包括经设计以用于发射数据的电路,包括放大器、滤波器和一个或一个以上天线。
目的地装置16的接收器26经由信道15接收信息,且调制解调器27解调所述信息。由视频解码器28执行的视频解码过程可实施本发明的技术,以便在解码过程期间改善存储器使用。具体来说,视频解码器28可以促进存储于解码器28的内部高速缓存中的数据的使用的方式来实施时间视频块重排序和可能的空间视频块重排序。在如此做时,解码器可有助于使从外部存储器(在图1中未展示)到解码器28的内部高速缓存的存储器加载的量最小化。
视频解码器28根据基于块的预测性编码技术或标准(例如,ITU-T H.264/AVC或另一标准)来解码视频块。可接着将经解码视频块组装为视频帧以形成经解码视频数据。显示装置28向用户显示经解码视频数据,且可包含例如以下各者的多种显示装置中的任一者:阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
通信信道15可包含任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理发射线,或无线媒体与有线媒体的任何组合。通信信道15可形成例如局域网络、广域网络或全球网络(例如,因特网)的基于包的网络的一部分。通信信道15大体上表示用于将视频数据从源装置12发射到目的装置16的任何合适通信媒体或不同通信媒体的集合。
视频编码器22和视频解码器28可根据例如ITU-T H.264/AVC标准的视频压缩标准互逆地操作。ITU H.264标准还描述于MPEG-4的第10部分高级视频编码(AVC)中。然而,本发明的技术不限于任何特定标准,且可容易地应用于多种其它视频编码标准或技术中的任一者。
虽然在图1中未展示,但在一些方面中,视频编码器22和视频解码器28可各自与音频编码器和解码器集成,且可包括适当MUX-DEMUX单元或其它硬件和软件,以处置共同数据流或独立数据流中的音频和视频两者的编码。如果可适用,则MUX-DEMU单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
视频编码器22和视频解码器28各自可实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件,或其任何组合。视频编码器22和视频解码器28中的每一者可包括于一个或一个以上编码器或解码器中,其中的任一者可集成为相应移动装置、订户装置、广播装置、服务器等中的组合式编码器/解码器(CODEC)的部分。
在一些情况下,装置12、16可以实质上对称的方式操作。举例来说,装置12、16中的每一者可包括视频编码和解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视频发射,以(例如)用于视频串流、视频回放、视频广播或视频电话。
具体来说,本发明的技术在由视频解码器28实施的解码过程期间应用。具体来说,视频解码器28可执行重排序可解码单元(例如,视频帧)的视频块的解码技术。更一般化地,可将帧、切片、帧的部分、图片群组(GOP)或其它数据结构界定为各自包括多个视频块的可独立解码的单元。在一些情况下,每一视频帧可包括一系列可独立解码的切片,且每一切片可包括一系列宏块,所述宏块可布置成更小的块。术语“经编码的单元”和“视频单元”指代帧、切片、帧的部分、图片群组(GOP),或可独立解码的其它数据结构。经编码的单元内的视频块可具有固定或不同的大小,且可根据所指定的编码标准而在大小上不同。可在每经编码的单元基础上进行界定语法数据,使得每一经编码的单元包括相关联的语法数据。
视频块可包含所谓的宏块,或其它大小的视频数据块。宏块通常指代16×6的数据块。ITU-T H.264标准支持各种块大小的帧内预测(例如,用于亮度分量的16×16、8×8或4×4和用于色度分量的8×8)以及各种块大小的帧间预测(例如,用于亮度分量的16×16、16×8、8×16、8×8、8×4、4×8和4×4和用于色度分量的对应缩放的大小)。宏块可指代共同地界定16×16像素的色度和亮度块的集合。色度视频块通常经下取样,且亮度块可采用不同的大小。在本发明中,短语“视频块”指代任何大小的视频块。视频块可指代色度块、亮度块,或可能指代共同地形成宏块的色度和亮度块的集合。此外,视频块可指代像素域中的视频数据块,或变换域(例如,离散余弦变换(DCT)域、类似于DCT的域、小波域等)中的数据块。
视频编码器22可执行预测性编码,其中将正编码的视频块与预测性帧(或另一经编码的单元)进行比较以便识别预测性块。将正被编码的当前视频块与预测性块之间的差异编码为残余块,且使用预测语法来识别预测性块。可变换且量化残余块。变换技术可包含DCT过程或概念上类似的过程、整数变换、小波变换或其它类型的变换。在DCT过程中,作为一实例,变换过程将一组像素值转换成变换系数,所述变换系数可表示频域中像素值的能量。通常将量化应用于变换系数,且量化大体上涉及限制与任何给定变换系数相关联的位的数目的过程。
在变换和量化之后,可对经量化和变换的残余视频块执行熵编码。语法元素(例如,在编码期间界定的滤波信息和预测向量)还可包括于用于每一经编码的单元的经熵编码的位流中。一般来说,熵编码包含共同地压缩经量化的变换系数和/或其它语法信息的序列的一个或一个以上过程。对经量化的变换系数执行例如Z形扫描技术(zig-zag scanningtechnique)的扫描技术(例如,作为熵编码过程的部分),以便从二维视频块界定一个或一个以上串行化一维系数向量。接着(例如)经由上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)或另一熵编码过程来熵编码经扫描的系数以及任何语法信息。
如所提及,本发明的技术特别应用于由视频解码器28执行的解码过程。具体来说,如所提及,视频解码器28可以促进存储于解码器28的内部高速缓存中的数据的使用的方式来实施时间视频块重排序和可能的空间视频块重排序。为了有助于了解解码过程,描述图2以便首先解释示范性编码过程。
图2为说明与本发明一致的视频编码器50的方框图。视频编码器50可对应于装置20的视频编码器22,或不同装置的视频编码器。如图2中所展示,视频编码器50包括预测单元32、加法器48和51,和存储器34。视频编码器50还包括变换单元38和量化单元40,以及逆量化单元42和逆变换单元44。视频编码器50还包括熵编码单元46。在编码过程中还可实施一个或一个以上滤波器(未图示)。
在编码过程期间,视频编码器50接收待编码的视频块,且预测单元32执行预测性编码技术。对于帧间编码,预测单元32将待编码的视频块与一个或一个以上视频参考帧或切片中的各种块进行比较以便界定预测性块。对于帧内编码,预测单元32基于同一经编码的单元内的相邻数据而产生预测性块。预测单元32输出预测块,且加法器48从正编码的视频块减去所述预测块以便产生残余块。
对于帧间编码,预测单元32可包含运动估计和运动补偿单元,所述运动估计和运动补偿单元识别指向预测块的运动向量,且基于所述运动向量产生所述预测块。通常,将运动估计视为产生运动向量的过程,所述运动向量估计运动。举例来说,运动向量可指示预测性帧内的预测性块相对于当前帧内正编码的当前块的移位。通常将运动补偿视为基于由移动估计确定的运动向量获取或产生预测性块的过程。对于帧内编码,预测单元32基于同一经编码的单元内的相邻数据而产生预测性块。一个或一个以上帧内预测模式可界定可如何界定帧内预测块经。
在预测单元32输出预测块且加法器48从正编码的视频块减去预测块以便产生残余块之后,变换单元38将变换应用于残余块。所述变换可包含离散余弦变换(DCT)或概念上类似的变换,例如由H.264标准界定的变换。还可使用小波变换、整数变换、子频带变换或其它类型的变换。在任何情况下,变换单元38将变换应用于残余块,从而产生残余变换系数的块。变换可将残余信息从像素域转换到频域。
量化单元40接着量化残余变换系数以进一步减小位速率。量化单元40(例如)可限制用以编码所述系数中的每一者的位的数目。在量化之后,熵编码单元46从二维表示到一个或一个以上串行化的一维向量来扫描经量化的系数块。可预先编程扫描次序以按所界定的次序(例如,Z形扫描或另一预先界定的次序)发生,或可能基于先前编码统计而自适应地界定扫描次序。
在此扫描过程之后,熵编码单元46根据熵编码方法(例如,CAVLC或CABAC)来编码经量化的变换系数(连同任何语法元素),以进一步压缩数据。包括于经熵编码的位流中的语法元素可包括来自预测单元32的预测语法,例如用于帧间编码的运动向量或用于帧内编码的预测模式。包括于经熵编码的位流中的语法元素还可包括滤波信息或可用于解码过程中的其它数据。
CAVLC为ITU H.264/MPEG4(AVC标准)所支持的一种类型的熵编码技术,其可由熵编码单元46以向量化为基础加以应用。CAVLC以有效地压缩变换系数和/或语法元素的串行化“游程(run)”的方式使用可变长度编码(VLC)表。CABAC为ITUH.264/MPEG4(AVC标准)所支持的另一类型的熵编码技术,其可由熵编码单元46以向量化为基础加以应用。CABAC可涉及若干阶段,所述阶段包括二进制化(binarization)、上下文模型选择和二进制算术编码。在此情况下,熵编码单元46根据CABAC来编码变换系数和语法元素。还存在许多其它类型的熵编码技术,且新的熵编码技术将很可能在将来出现。本发明不限于任何特定熵编码技术。
在熵编码单元46进行的熵编码之后,可将经编码的视频发射到另一装置或进行存档以供稍后发射或检索。此外,经编码的视频可包含经熵编码的运动向量和其它各种语法,其可由解码器使用以恰当地配置解码过程。逆量化单元42和逆变换单元44分别应用逆量化和逆变换,以在像素域中重构残余块。求和器51将经重构的残余块加到由预测单元32产生的预测块,以产生经重构的视频块以存储于存储器34中。在此存储之前,滤波还可应用于所述视频块以改善视频质量。此滤波可减小块效应或其它假影,且可在循环中(在所述情况下,用于预测的数据为经滤波的数据)或循环后(在所述情况下,用于预测的数据为未经滤波的数据)执行。
图3为说明视频解码器60的一实例的方框图,所述视频解码器60使用本发明的技术中的一者或一者以上来解码视频序列。所接收的视频序列可包含经编码的图像帧集合、帧切片集合、经共同地编码的图片群组(GOP),或广泛多种经编码的视频单元,所述视频单元包括经编码的视频块和用以界定如何解码此些视频块的语法。视频解码器60可对应于图1中的系统10的视频解码器28,或可包含另一装置的视频解码器。出于说明性目的而展示图3中所说明的各种组件。可组合各种组件,且可存在其它组件。
如下文更详细地描述,视频解码器60可相对于常规解码技术来修改或调整视频块的解码次序。常规上,可以解码次序循序地解码视频单元。此外,可从视频单元的左上角中的第一视频块到右下角中的最后视频块以光栅扫描次序来解码每一视频单元的视频块。然而,本发明的技术以促进存储器的有效使用的方式来修改视频块的此解码次序。
可在时间上修改解码次序,使得不同视频帧或切片(或其它经编码的单元)的视频块经并行解码。在此情况下,视频块的解码次序可在两个或两个以上不同帧的视频块之间交替。此外,还可在给定视频块内于空间上修改解码次序,使得所述视频块以不对应于视频块的光栅扫描次序的次序进行解码。统计度量可用以帮助预测经排序应早于原本可执行的解码来进行解码的那些视频块,使得此视频块解码可在替换高速缓存70中的数据之前使用此数据。以此方式,可随时间减少对高速缓存70的存储器加载的数目。
视频解码器60包括熵解码单元52,熵解码单元52执行由图2的熵编码单元46执行的编码的互逆解码功能。具体来说,熵解码单元52可执行CAVLC或CABAC解码,或由视频编码器50使用的任何其它类型的熵解码。呈一维串行化格式的经熵解码的视频块可经逆扫描以将一个或一个以上一维系数向量转换回二维块格式。向量的数目和大小以及针对视频块界定的扫描次序可界定如何重构二维块。可将例如运动向量的经熵解码的预测语法元素(和可能的其它经解码的语法元素)从熵解码单元52发送到预测单元54。
视频解码器60还包括预测单元54、逆量化单元56、逆变换单元58、存储器62和求和器64。此外,视频解码器60还包括对求和器64的输出进行滤波的滤波器单元(未图示)。预测单元54可包括相关联的高速缓存70,高速缓存70可包含(例如)比存储器62快且小的相对快速的内部存储器电路。预测性数据可基于一个或一个以上视频单元的统计而从存储器62加载到高速缓存70,以便促使解码过程将需要的数据处于高速缓存70中。此外,为了在无需重新加载高速缓存70中的数据的情况下进一步促进此数据的使用,可修改不同经编码的视频单元的视频块的解码次序,使得解码次序不对应于显示次序。两个或两个以上视频单元可经并行解码,使得解码过程在所述两个或两个以上不同视频单元的视频块之间交替。在此情况下,预测单元54可识别可不相互依赖的视频单元,且可使用编码统计来填充高速缓存70并界定视频块的解码次序以便促进高速缓存70中的数据的使用。如果第一视频单元的视频块可不具有指向第二视频单元的视频块的运动向量,则第一视频单元与第二视频单元可不相互依赖,且反之亦然。
预测单元54从熵解码单元52接收预测语法(例如,运动向量)。使用预测语法,预测单元54产生来自高速缓存70的预测块,所述预测块可经由加法器64与残余块进行组合。逆量化单元56执行逆量化,且逆变换单元58执行逆变换以将残余视频块的系数改变回到像素域。加法器64组合每一预测块与由逆变换单元58输出的对应残余块以便重构给定视频块。
一般来说,视频解码器60可接收视频单元的序列,且所述序列可界定视频单元的显示次序。预测单元54可识别可不相互依赖的视频单元的子集,且可将预测性数据从存储器62加载到高速缓存70,其中高速缓存70与解码器60的预测单元54相关联。存储器62还可与解码器70相关联,或可为与其它处理器或单元共享的外部存储器。然而,一般来说,高速缓存70可包含比存储器62的大小小且在存储器存取速度方面较快的存储器电路。高速缓存70的大小可经具体设计以便避免除若干宏块行的开始处外的任何地方对高速缓存暖机的需要。具体来说,高速缓存的大小可经选定,以使高速缓存未命中最小化。所述过程可移到4个宏块行(来自若干个帧)的连续集合,且当过程移到宏块行的另一集合时,高速缓存中的数据归因于相对大的帧宽度而预期为无效的。在此情况下,可在暖机周期期间预期许多高速缓存未命中,但在暖机周期之后,本发明的技术可有助于减少可发生的此些高速缓存未命中。
预测单元54可至少部分基于高速缓存70中的预测性数据来解码经编码的视频单元的子集的视频块。根据本发明,预测单元54可界定解码次序,在所述解码次序中,第二视频单元的至少一些视频块在第一视频单元的至少一些视频块之前进行解码,其中在显示次序中,所述第二视频单元出现在第一视频单元之后。存储器62和高速缓存70可包含广泛多种存储器电路中的任一者。通常,高速缓存70相对于存储器62为较小且较快的存储器。作为一个实例,存储器62可包含动态随机存取存储器(DRAM),且高速缓存70可包含静态随机存取存储器(SRAM)或嵌入式DRAM。
经编码的视频单元的序列可包含视频帧的序列、视频帧的部分的序列或视频帧的切片的序列。解码次序可在第一经编码的视频单元的一个或一个以上视频块与第二视频单元的一个或一个以上视频块之间交替。根据本发明,可界定解码次序,以便实质上改善如下可能性:加载于高速缓存中的预测性数据用于解码视频单元子集的视频块中,而无需重新加载高速缓存。
对于给定的经编码单元的视频块,还可在空间上界定或改变解码次序。在此情况下,解码次序可由预测单元54界定,使得第一视频单元的视频块以不对应于第一视频单元的光栅扫描次序的次序进行解码,且第二视频单元的视频块以不对应于第二视频单元的光栅扫描次序的次序进行解码。因此,第一视频单元的第二行的至少一视频块可在第一视频单元的一第一行的至少一个视频块之前进行解码,其中在视频单元的所显示版本中,第二行在第一行下方。
为了界定解码次序,预测单元54可使用不同经编码的视频单元中的视频块的统计。预测单元54或可能的熵解码单元52或单独的预处理单元(未图示)可预先预处理若干帧的视频流以便产生统计。所述统计可包含用于全部经预处理的帧和相关联的参考帧列表的全局运动向量。全局运动向量在此情形下可不表示任何真实运动,而是可包含(例如)针对所有经预处理的帧的流中的平均运动向量。全局运动向量可用以识别提供所读出参考数据中的重叠的最佳机会的帧之间的平均水平移位与平均垂直移位。帧之间的平均水平移位与平均垂直移位可经量化且舍入(例如)到最接近的16个像素以界定将具有重叠的参考数据的不同帧的很可能区域。预先预处理的帧可包含帧的滑动窗,或可包含下文更详细地论述的离散帧集合,例如IBPBP帧集合或IBBPBBP帧集合。
此外,预测单元54(或执行预处理的另一单元)可首先确定可不相互依赖的两个或两个以上视频单元,可不相互依赖(例如)意味着此些视频单元不依赖于彼此的数据来进行预测。这些类型的非相关视频单元可并行解码,且加载到高速缓存70中的数据(连同视频块的所界定编码次序)可有助于确保避免到高速缓存70的重复性加载。从存储器62加载到高速缓存70的任何预测性数据可用于解码若干个视频块,即使此些视频块在视频单元内为不连续的,或包括于两个或两个以上不同视频单元中也是如此。
在一个实例中,预测单元54可界定与视频单元的序列中的视频块相关联的统计度量,且可至少部分基于所述统计度量来界定解码次序。统计度量可包含全局运动度量,全局运动度量量化跨越视频单元的序列的至少一部分的平均运动。在另一实例中,预测单元54可确定量化第一视频单元与第二视频单元之间的视频块的平均运动的平均运动度量,其中第一视频单元和第二视频单元为可不相互依赖的单元。预测单元54可接着至少部分基于平均运动度量来界定解码次序。
如下文更详细地解释,本发明的技术可对常用的视频单元序列起作用。在一个实例中,视频单元序列遵循IBPBP格式,所述IBPBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第一P帧、紧接在后面的第二B帧、紧接在后面的第二P帧,其中视频单元子集由第一B帧和第二P帧组成。在另一实例中,视频单元序列可遵循IBBPBBP格式,所述IBBPBBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第二B帧、紧接在后面的第一P帧、紧接在后面的第三B帧、紧接在后面的第四B帧、紧接在后面的第二P帧,其中视频单元子集由第一B帧、第二B帧和第二P帧组成。预处理可在IBPBP帧的离散集合或IBBPBBP帧的离散集合上发生,或可在滑动窗中进行以界定帧的滑动窗上的平均运动。所述技术还可应用于其它类型的视频单元,例如帧的切片或其它部分。
术语I帧指代经帧内编码的帧。术语P帧指代依赖于预测性数据的一个集合的预测性经帧间编码的帧。术语B帧指代依赖于预测性数据的两个不同集合(例如,来自两个不同帧)的双向预测性经帧间编码的帧。IBPBP和IBBPBBP为编码视频序列的两种常见方式。本发明的技术可应用于这些或其它经编码的视频序列。
图4为更详细地说明预测单元54和存储器62的方框图。如所展示,预测单元54包括高速缓存,所述高速缓存可包含相对于外部存储器72为小且快速的存储器。预测单元可向存储器控制器71发出存储器获取命令,所述存储器获取命令致使从外部存储器72将数据加载到预测单元54的内部高速缓存70。存储器72可在外部,即,其位于以其它方式形成解码器50的处理器外部。相反,高速缓存70可包含在形成解码器50的处理器内部的存储器。所述处理器可经编程或配置以执行图3所展示的不同单元和模块的各种功能。
此外,本发明提供包括将预测性数据从存储器62加载到高速缓存70的技术。视频块的解码次序可以如下方式进行界定:促进加载到高速缓存70中的数据的使用,且减小执行额外存储器到高速缓存的重新加载的需要,直到高速缓存70中的数据用于依赖于此数据的任何预测性解码为止。以此方式,所述技术可通过改善高速缓存70中的高速缓存命中的可能性来改善存储器62和高速缓存70的使用,借此减少从外部存储器72的存储器加载的数目。
此外,可在时间上修改解码次序,使得不同视频帧(或其它经编码的单元)的视频块以交替方式进行解码。在此情况下,视频块的解码次序可在两个或两个以上不同帧的视频块之间交替。此外,还可在给定视频块内于空间上修改解码次序,使得所述视频块以不对应于视频块的光栅扫描次序的次序进行解码。
图5为说明视频块的视频单元(例如,视频帧)77的概念图,所述视频块可以不同于视频块的光栅扫描次序的解码次序进行解码。此情景可称为视频单元77的视频块的解码次序的空间重排序。在图5中,将视频单元77的视频块以光栅扫描次序从1到64进行标记。然而,根据本发明,视频单元77的视频块的解码次序可不同于此光栅扫描次序。具体来说,在解码第一行的所有视频块(VB 1到VB 8)之前解码第二行(VB 9到VB 16)的一个或一个以上视频块可为有利的。举例来说,VB 1和VB 10归因于VB 1和VB 10的空间接近度而比VB 1和VB 9可更有可能依赖于相同预测性数据。出于此原因,从使用高速缓存70的观点,在解码VB 8之前解码VB 10可为更有利的。由于解码依赖于最初执行的编码,因此视频解码器50可利用图5中所展示的视频块的运动向量的运动向量统计以便界定解码次序。运动向量(例如,视频单元77的平均运动)的一般统计可允许视频解码器50相对于加载到高速缓存70中的数据集合估计所要解码次序,以便促进高速缓存命中且减小将数据加载高速缓存70中并替换高速缓存70中的数据的需要。
图6为说明帧内的宏块的空间重排序的概念图。如所展示,解码行66的第一宏块。接着,解码来自行67的第二宏块。接下来,解码来自行68的第三宏块,且最后解码来自行69的第四宏块。此时,可解码来自行66的下一宏块。以此方式,可界定解码次序,使得给定视频单元的视频块以不对应于光栅扫描次序的次序进行解码。换句话说,第一视频单元的第二行的至少一个视频块在第一视频单元的第一行的至少一个视频块之前进行解码,其中第二行在第一行下方。这允许在高速缓存70(图3)中更充分地利用来自参考帧的参考区域65,从而避免数据从存储器62到高速缓存70的加载和重新加载。
图7为说明可经并行解码的两个不同视频块单元(78和79)(例如,两个不同视频帧)的概念图。此情景可称为视频单元78和79的视频块的解码次序的时间重排序。本发明预期视频块的时间重排序和空间重排序两者,以改善高速缓存使用且实质上使高速缓存命中最大化。
在时间重排序的情况下,视频解码器50在解码过程中可在视频单元78和79的视频块之间交替。在图7中,将视频单元78的视频块以光栅扫描次序从1到64进行标记,且将视频单元79的视频块类似地以光栅扫描次序从1到64进行标记。然而,根据本发明,在视频单元78和79的视频块可经并行共同解码的范围内,视频单元78和79的视频块的解码次序可不同于光栅扫描次序。具体来说,在解码视频单元78的所有视频块之前解码视频单元79的一个或一个以上视频块可为有利的。
举例来说,视频单元78和79的位于同一地点或紧密定位的视频块比给定视频单元的两个空间上相距较远的视频块可更有可能依赖于相同预测性数据。出于此原因,从使用高速缓存70的观点,在解码视频单元78的VB 8之前解码视频单元79的VB 1可更有利。视频单元78和79可为非相互依赖的,意味着视频单元78并不依赖视频单元79的任何数据来进行预测,且视频单元79并不依赖视频单元78的任何数据来进行预测。这允许在解码过程中并行地解码视频单元78和79且在视频单元78和79的视频块之间交替。
视频解码器50可利用视频单元78的视频块的运动向量相对于视频单元79的视频块的运动向量的运动向量统计以便界定解码次序。在此情况下,视频单元78与79之间的相对运动可用以估计可将类似数据用于解码的那些视频块。作为一说明,视频单元78和79中所展示的粗体块可全部依赖于预测性数据的共同集合。然而,如所展示,视频单元79的粗体块具有相对于视频单元78的粗体块的运动。视频单元78的视频块相对于视频单元79的那些视频块的平均运动可用以量化或估计预期的运动,借此允许视频解码器界定在视频单元78的视频块与视频单元79的视频块之间交替的交替视频块解码次序。以此方式,视频单元78和79的依赖于类似数据进行解码的那些视频块可在时间上更紧密进行解码,借此有助于使在高速缓存70中高速缓存其数据的可能性最大化且借此减少解码过程期间到高速缓存70的重复性存储器加载。
图8A为说明视频单元的IBPBP模式的概念图。在IBPBP格式下,视频帧序列包括I帧、紧接在后面的第一B帧、紧接在后面的第一P帧、紧接在后面的第二B帧、紧接在后面的第二P帧。在此情况下,第一B帧和第二P帧可不相互依赖。因此,视频解码器50可识别或界定第一B帧和第二P帧作为用于并行共同解码的候选者。在此情况下,视频解码器50可循序地处理所述视频帧,但可并行地解码第一B帧和第二P帧,从而在第一B帧的视频块与第二P帧的视频块之间交替。
图8B为说明视频单元的IBBPBBP模式的概念图。在IBBPBBP格式下,视频帧序列包括I帧、紧接在后面的第一B帧、紧接在后面的第二B帧、紧接在后面的第一P帧、紧接在后面的第三B帧、紧接在后面的第四B帧、紧接在后面的第二P帧。在此情况下,第一B帧、第二B帧和第二P帧可不相互依赖。因此,视频解码器50可识别或界定第一B帧、第二B帧和第二P帧作为用于并行共同解码的候选者。在此情况下,视频解码器50可大体上循序地处理所述视频帧,但可并行地解码第一B帧、第二B帧和第二P帧,从而在第一B帧、第二B帧和第二P帧的视频块之间交替。
图9为说明具有可并行解码的视频块的帧的概念图。图9中所展示的情景可类似于图8B的情景,其中视频帧遵循IBBPBBP格式。呈此IBBPBBP格式的帧可标记为P/I帧0、B帧1、B帧2、P帧3、B帧4、B帧5和P帧6。在图9中仅说明这些帧中的一些帧。
图9说明解码期间的参考帧读取来自不同帧中的宏块的相同区域的一个实例。依据时间和空间上邻近的宏块中的运动向量之间的相关性,经连续处理的宏块的读取区域的类似性可变化。在图9中,MB代表宏块,且记号表示行和列位置(例如,行为k,列为n,Dv1为帧之间的垂直移位,Dh1为帧之间的水平移位)。Dv1和Dh1可基于与本文中所描述的全局运动向量一样的统计度量。
如图9中所展示,B帧1、B帧2和P帧6全部可取决于来自P帧3和I/P帧0的数据。图9中所展示的B帧1、B帧2和P帧6的所说明视频块(例如)可各自取决于分别通过P帧3和I/P帧0的区域81和82所界定的数据子集。在此情况下,以下情形可为有利的:并行地解码B帧1、B帧2和P帧6的视频块,使得区域81和82中的数据可在高速缓存70中被充分利用,随后重新加载高速缓存70以用于稍后解码。
因此,视频解码器50可界定B帧1、B帧2和P帧6的视频块的解码次序,所述解码次序在不同帧的视频块之间交替。视频解码器50(例如)可解码来自B帧1的块、紧接在后面的来自B帧2的块、紧接在后面的来自P帧6的块、紧接在后面的来自B帧1的另一块、紧接在后面的来自B帧2的另一块、紧接在后面的来自P帧6的另一块,以此类推。如本文中所解释,通过基于运动向量的一个或一个以上统计度量界定的不同帧的全局运动或此些帧的相对运动可用以界定每一帧内的发生视频块之间的交替所处的空间位置。换句话说,视频块之间的交替相对于位于同一地点的视频块可不发生,但相对于偏移了此些帧之间的所估计平均运动量的不同帧的视频块可发生。视频块的时间重排序可与每一帧内的视频块的空间重排序组合,以进一步改善高速缓存70的使用。
图10A为说明呈如在输入流中所界定的显示次序的视频单元的概念图。在此实例中,输入流包含I帧、紧接在后面的P帧、紧接在后面的b帧、紧接在后面的b帧、紧接在后面的P帧、紧接在后面的B帧、紧接在后面的b帧、紧接在后面的b帧、紧接在后面的P帧、紧接在后面的b帧、紧接在后面的P帧。B帧可包含自身用作预测性数据的双向预测性帧,而b帧可包含可不用作预测性数据的双向预测性帧。通过数字91、92、93和94界定的帧集合可为可同时解码的集合。集合91可能不具有任何相互依赖性。类似地,集合92、集合93和集合94在每一给定集合内还可能不具有任何相互依赖性。因此,这些集合91、92、93和94中的每一者可通过解码器50识别为可共同解码。
图10B为说明根据不同于显示次序的解码次序解码视频单元的概念图。在此情况下,解码器50可执行I帧解码、紧接在后面的P帧解码。解码器50可接着对(例如)由图10A中的集合91界定的b帧1、b帧2和P帧并行地执行解码。在此情况下,如本文中所描述,解码器50可在集合91中的不同帧的视频块之间交替,以便更有效地使用高速缓存70。
接下来,解码器50可并行地执行集合92的B帧解码与P帧解码。接下来,解码器50可并行地执行集合93的b帧解码与b帧解码。最后,解码器50可并行地执行集合94的b帧解码与P帧解码。在并行地执行解码中,解码器50可根据视频块的时间重排序在不同帧的视频块之间交替,其促进高速缓存70中的数据的使用而无需存储器重新加载。同时,每一个别帧的视频块的空间重排序还可由视频解码器50执行以进一步改善高速缓存命中的数目。
图11为说明根据本发明的解码技术的流程图。如图5中所展示,视频解码器50接收界定显示次序的视频单元的序列(101)。视频解码器50可执行预处理以识别可不相互依赖的视频单元的子集(102)。举例来说,熵解码单元52或预测单元54或可能的单独预处理单元(未图示)可执行视频序列的预处理,以识别可不相互依赖的视频单元的子集。此外,作为此预处理的部分,可搜集例如本文中所描述的那些统计的统计以用于界定视频块的解码次序。如上文所提及,例如,在帧序列上界定的全局运动可用以近似或估计帧集合中的全局运动,其可接着用以帮助界定所要解码次序。视频解码器50可包括用于在预处理和解码阶段期间存储输入视频流的额外帧缓冲器,这是由于若干个帧可在解码之前经预处理,且帧集合可接着根据本发明被并行解码。
预测单元54将预测性数据从存储器62加载到与预测单元54相关联的高速缓存70(103)。预测单元54(或可能的单独预处理单元)可界定视频块的实质上使高速缓存命中最大化的解码次序(104)。在此情况下,解码次序可在不同帧的视频块之间交替(时间重排序),且还可在给定帧内遵循不同于其光栅扫描次序的次序(空间重排序)。预测单元54基于所界定的解码次序来解码视频块(105)。
可在包括无线手持机和集成电路(IC)或IC集合(即,芯片组)的广泛多种装置或设备中实施本发明的技术。提供已描述的任何组件、模块或单元以强调功能性方面且未必要求通过不同硬件单元来实现。
因此,可以硬件、软件、固件或其任何组合来实施本文所描述的技术。如果以硬件来实施,则描述为模块、单元或组件的任何特征可共同实施于集成式逻辑装置中或单独地实施为离散但可互操作的逻辑装置。如果以软件来实施,则所述技术可至少部分通过计算机可读媒体来实现,所述计算机可读媒体包含在处理器中执行时执行上述方法中的一者或一者以上的指令。所述计算机可读媒体可包含计算机可读存储媒体,且可形成计算机程序产品的部分,所述计算机程序产品可包括封装材料。所述计算机可读存储媒体可包含随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。替代地或另外,所述技术可至少部分通过载运或传送呈指令或数据结构的形式的代码且可由计算机存取、读取和/或执行的计算机可读通信媒体来实现。
可由一个或一个以上处理器(例如,一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路)执行所述代码。因此,如本文中所使用的术语“处理器”可指代前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。此外,在一些方面中,本文所描述的功能性可提供于经配置以用于编码和解码的专用软件模块或硬件模块内,或并入于组合式视频编解码器中。而且,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
已描述了本发明的各种方面。这些和其它方面在所附权利要求书的范围内。

Claims (47)

1.一种解码视频数据的方法,所述方法包含:
在解码器中接收视频单元的序列,其中所述序列界定所述视频单元的显示次序;
经由所述解码器识别可不相互依赖的所述视频单元的子集;
将预测性数据从存储器加载到高速缓存,其中所述高速缓存与所述解码器相关联;以及
至少部分基于所述高速缓存中的所述预测性数据来解码经编码的视频单元的所述子集的视频块,其中解码所述视频块包括界定解码次序,在所述解码次序中,第二视频单元的至少一些视频块在第一视频单元的至少一些视频块之前进行解码,其中在所述显示次序中,所述第二视频单元出现在所述第一视频单元之后。
2.根据权利要求1所述的方法,其中经编码的视频单元的所述序列包含以下各者中的至少一者:
视频帧的序列;
视频帧的部分的序列;以及
视频帧的切片的序列。
3.根据权利要求1所述的方法,其中所述解码次序在第一经编码的视频单元的一个或一个以上视频块与所述第二视频单元的一个或一个以上视频块之间交替。
4.根据权利要求1所述的方法,其中界定所述解码次序,以便实质上改善如下可能性:加载于所述高速缓存中的所述预测性数据用于解码视频单元的所述子集的所述视频块中而无需重新加载所述高速缓存。
5.根据权利要求1所述的方法,其中界定所述解码次序以使得所述第一视频单元的所述视频块以不对应于所述第一视频单元的光栅扫描次序的次序进行解码,且所述第二视频单元的所述视频块以不对应于所述第二视频单元的光栅扫描次序的次序进行解码。
6.根据权利要求5所述的方法,其中所述第一视频单元的第二行的至少一个视频块在所述第一视频单元的第一行的至少一个视频块之前进行解码,其中所述第二行在所述第一行下方。
7.根据权利要求1所述的方法,其进一步包含:
界定与视频单元的所述序列中的视频块相关联的统计度量,以及
至少部分基于所述统计度量来界定所述解码次序。
8.根据权利要求7所述的方法,其中所述统计度量包含全局运动度量,所述全局运动度量量化跨越视频单元的所述序列的至少一部分的平均运动。
9.根据权利要求1所述的方法,其进一步包含:
确定平均运动度量,所述平均运动度量量化所述第一视频单元与所述第二视频单元之间的视频块的平均运动;以及
至少部分基于所述平均运动度量来界定所述解码次序。
10.根据权利要求1所述的方法,其中视频单元的所述序列遵循IBPBP格式,所述IBPBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第一P帧、紧接在后面的第二B帧、紧接在后面的第二P帧,其中所述视频单元的所述子集由所述第一B帧和所述第二P帧组成。
11.根据权利要求1所述的方法,其中视频单元的所述序列遵循IBBPBBP格式,所述IBBPBBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第二B帧、紧接在后面的第一P帧、紧接在后面的第三B帧、紧接在后面的第四B帧、紧接在后面的第二P帧,其中所述视频单元的所述子集由所述第一B帧、所述第二B帧和所述第二P帧组成。
12.一种解码视频数据的设备,所述设备包含视频解码器和相关联的高速缓存,所述视频解码器经配置以:
接收视频单元的序列,其中所述序列界定所述视频单元的显示次序;
识别可不相互依赖的所述视频单元的子集;
将预测性数据从存储器加载到所述高速缓存;以及
至少部分基于所述高速缓存中的所述预测性数据来解码经编码的视频单元的所述子集的视频块,其中在解码所述视频块中,所述解码器界定解码次序,在所述解码次序中,第二视频单元的至少一些视频块在第一视频单元的至少一些视频块之前进行解码,其中在所述显示次序中,所述第二视频单元出现在所述第一视频单元之后。
13.根据权利要求12所述的设备,其中经编码的视频单元的所述序列包含以下各者中的至少一者:
视频帧的序列;
视频帧的部分的序列;以及
视频帧的切片的序列。
14.根据权利要求12所述的设备,其中所述解码次序在第一经编码的视频单元的一个或一个以上视频块与所述第二视频单元的一个或一个以上视频块之间交替。
15.根据权利要求12所述的设备,其中所述解码次序经界定以便实质上改善如下可能性:加载于所述高速缓存中的所述预测性数据用于解码视频单元的所述子集的所述视频块中而无需重新加载所述高速缓存。
16.根据权利要求12所述的设备,其中所述解码次序经界定以使得所述第一视频单元的所述视频块以不对应于所述第一视频单元的光栅扫描次序的次序进行解码,且所述第二视频单元的所述视频块以不对应于所述第二视频单元的光栅扫描次序的次序进行解码。
17.根据权利要求16所述的设备,其中所述第一视频单元的第二行的至少一个视频块在所述第一视频单元的第一行的至少一个视频块之前进行解码,其中所述第二行在所述第一行下方。
18.根据权利要求12所述的设备,其中所述解码器进一步经配置以:
界定与视频单元的所述序列中的视频块相关联的统计度量,以及
至少部分基于所述统计度量来界定所述解码次序。
19.根据权利要求18所述的设备,其中所述统计度量包含全局运动度量,所述全局运动度量量化跨越视频单元的所述序列的至少一部分的平均运动。
20.根据权利要求12所述的设备,其中所述解码器进一步经配置以:
确定平均运动度量,所述平均运动度量量化所述第一视频单元与所述第二视频单元之间的视频块的平均运动;以及
至少部分基于所述平均运动度量来界定所述解码次序。
21.根据权利要求12所述的设备,其中视频单元的所述序列遵循IBPBP格式,所述IBPBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第一P帧、紧接在后面的第二B帧、紧接在后面的第二P帧,其中所述视频单元的所述子集由所述第一B帧和所述第二P帧组成。
22.根据权利要求12所述的设备,其中视频单元的所述序列遵循IBBPBBP格式,所述IBBPBBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第二B帧、紧接在后面的第一P帧、紧接在后面的第三B帧、紧接在后面的第四B帧、紧接在后面的第二P帧,其中所述视频单元的所述子集由所述第一B帧、所述第二B帧和所述第二P帧组成。
23.根据权利要求12所述的设备,其中所述视频解码器包含集成电路。
24.根据权利要求12所述的设备,其中所述视频解码器包含微处理器。
25.根据权利要求12所述的设备,其中所述设备包含包括所述视频解码器的无线通信装置。
26.一种解码视频数据的装置,所述装置包含:
用于接收视频单元的序列的装置,其中所述序列界定所述视频单元的显示次序;
用于识别可不相互依赖的所述视频单元的子集的装置;
用于将预测性数据从存储器加载到高速缓存的装置;以及
用于至少部分基于所述高速缓存中的所述预测性数据来解码经编码的视频单元的所述子集的视频块的装置,其中所述用于解码所述视频块的装置包括用于界定解码次序的装置,在所述解码次序中,第二视频单元的至少一些视频块在第一视频单元的至少一些视频块之前进行解码,其中在所述显示次序中,所述第二视频单元出现在所述第一视频单元之后。
27.根据权利要求26所述的装置,其中经编码的视频单元的所述序列包含以下各者中的至少一者:
视频帧的序列;
视频帧的部分的序列;以及
视频帧的切片的序列。
28.根据权利要求26所述的装置,其中所述解码次序在第一经编码的视频单元的一个或一个以上视频块与所述第二视频单元的一个或一个以上视频块之间交替。
29.根据权利要求26所述的装置,其中所述解码次序经界定以便实质上改善如下可能性:加载于所述高速缓存中的所述预测性数据用于解码视频单元的所述子集的所述视频块中而无需重新加载所述高速缓存。
30.根据权利要求26所述的装置,其中所述解码次序经界定以使得所述第一视频单元的所述视频块以不对应于所述第一视频单元的光栅扫描次序的次序进行解码,且所述第二视频单元的所述视频块以不对应于所述第二视频单元的光栅扫描次序的次序进行解码。
31.根据权利要求30所述的装置,其中所述第一视频单元的第二行的至少一个视频块在所述第一视频单元的第一行的至少一个视频块之前进行解码,其中所述第二行在所述第一行下方。
32.根据权利要求26所述的装置,其进一步包含:
用于界定与视频单元的所述序列中的视频块相关联的统计度量的装置,以及
用于至少部分基于所述统计度量来界定所述解码次序的装置。
33.根据权利要求32所述的装置,其中所述统计度量包含全局运动度量,所述全局运动度量量化跨越视频单元的所述序列的至少一部分的平均运动。
34.根据权利要求26所述的装置,其进一步包含:
用于确定平均运动度量的装置,所述平均运动度量量化所述第一视频单元与所述第二视频单元之间的视频块的平均运动;以及
用于至少部分基于所述平均运动度量来界定所述解码次序的装置。
35.根据权利要求26所述的装置,其中视频单元的所述序列遵循IBPBP格式,所述IBPBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第一P帧、紧接在后面的第二B帧、紧接在后面的第二P帧,其中所述视频单元的所述子集由所述第一B帧和所述第二P帧组成。
36.根据权利要求26所述的装置,其中视频单元的所述序列遵循IBBPBBP格式,所述IBBPBBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第二B帧、紧接在后面的第一P帧、紧接在后面的第三B帧、紧接在后面的第四B帧、紧接在后面的第二P帧,其中所述视频单元的所述子集由所述第一B帧、所述第二B帧和所述第二P帧组成。
37.一种包含指令的计算机可读存储媒体,所述指令在于处理器中执行后即刻致使所述处理器:
在接收视频单元的序列后,其中所述序列界定所述视频单元的显示次序;
识别可不相互依赖的所述视频单元的子集;
将预测性数据从存储器加载到高速缓存;以及
至少部分基于所述高速缓存中的所述预测性数据来解码经编码的视频单元的所述子集的视频块,其中在解码所述视频块中,所述指令致使所述处理器界定解码次序,在所述解码次序中,第二视频单元的至少一些视频块在第一视频单元的至少一些视频块之前进行解码,其中在所述显示次序中,所述第二视频单元出现在所述第一视频单元之后。
38.根据权利要求37所述的计算机可读存储媒体,其中经编码的视频单元的所述序列包含以下各者中的至少一者:
视频帧的序列;
视频帧的部分的序列;以及
视频帧的切片的序列。
39.根据权利要求37所述的计算机可读存储媒体,其中所述解码次序在第一经编码的视频单元的一个或一个以上视频块与所述第二视频单元的一个或一个以上视频块之间交替。
40.根据权利要求37所述的计算机可读存储媒体,其中所述解码次序经界定以便实质上改善如下可能性:加载于所述高速缓存中的所述预测性数据用于解码视频单元的所述子集的所述视频块中而无需重新加载所述高速缓存。
41.根据权利要求37所述的计算机可读存储媒体,其中所述解码次序经界定以使得所述第一视频单元的所述视频块以不对应于所述第一视频单元的光栅扫描次序的次序进行解码,且所述第二视频单元的所述视频块以不对应于所述第二视频单元的光栅扫描次序的次序进行解码。
42.根据权利要求41所述的计算机可读存储媒体,其中所述第一视频单元的第二行的至少一个视频块在所述第一视频单元的第一行的至少一个视频块之前进行解码,其中所述第二行在所述第一行下方。
43.根据权利要求37所述的计算机可读存储媒体,其进一步包含用于致使所述处理器进行以下操作的指令:
界定与视频单元的所述序列中的视频块相关联的统计度量,以及
至少部分基于所述统计度量来界定所述解码次序。
44.根据权利要求43所述的计算机可读存储媒体,其中所述统计度量包含全局运动度量,所述全局运动度量量化跨越视频单元的所述序列的至少一部分的平均运动。
45.根据权利要求37所述的计算机可读存储媒体,其进一步包含用于致使所述处理器进行以下操作的指令:
确定平均运动度量,所述平均运动度量量化所述第一视频单元与所述第二视频单元之间的视频块的平均运动;以及
至少部分基于所述平均运动度量来界定所述解码次序。
46.根据权利要求37所述的计算机可读存储媒体,其中视频单元的所述序列遵循IBPBP格式,所述IBPBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第一P帧、紧接在后面的第二B帧、紧接在后面的第二P帧,其中所述视频单元的所述子集由所述第一B帧和所述第二P帧组成。
47.根据权利要求37所述的计算机可读存储媒体,其中视频单元的所述序列遵循IBBPBBP格式,所述IBBPBBP格式包括I帧、紧接在后面的第一B帧、紧接在后面的第二B帧、紧接在后面的第一P帧、紧接在后面的第三B帧、紧接在后面的第四B帧、紧接在后面的第二P帧,其中所述视频单元的所述子集由所述第一B帧、所述第二B帧和所述第二P帧组成。
CN201080058297.7A 2009-12-21 2010-12-20 解码器中的时间与空间视频块重排序以改善高速缓存命中 Expired - Fee Related CN102668563B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/643,523 2009-12-21
US12/643,523 US9877033B2 (en) 2009-12-21 2009-12-21 Temporal and spatial video block reordering in a decoder to improve cache hits
PCT/US2010/061368 WO2011084754A1 (en) 2009-12-21 2010-12-20 Temporal and spatial video block reordering in a decoder to improve cache hits

Publications (2)

Publication Number Publication Date
CN102668563A true CN102668563A (zh) 2012-09-12
CN102668563B CN102668563B (zh) 2017-08-22

Family

ID=43598348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080058297.7A Expired - Fee Related CN102668563B (zh) 2009-12-21 2010-12-20 解码器中的时间与空间视频块重排序以改善高速缓存命中

Country Status (7)

Country Link
US (1) US9877033B2 (zh)
EP (1) EP2517471A1 (zh)
JP (2) JP2013515448A (zh)
KR (1) KR101376008B1 (zh)
CN (1) CN102668563B (zh)
TW (1) TW201141239A (zh)
WO (1) WO2011084754A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107925777A (zh) * 2015-08-31 2018-04-17 英特尔公司 用于视频译码的帧重新排序的方法和系统

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9178648B2 (en) * 2010-01-06 2015-11-03 Alcatel Lucent Method to improve voice over IP capacity for user equipment employing variable rate vocoders
US8995531B2 (en) * 2010-08-02 2015-03-31 Peking University Representative motion flow extraction for effective video classification and retrieval
US8767824B2 (en) 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
US8787454B1 (en) 2011-07-13 2014-07-22 Google Inc. Method and apparatus for data compression using content-based features
US9736489B2 (en) 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
US11184623B2 (en) * 2011-09-26 2021-11-23 Texas Instruments Incorporated Method and system for lossless coding mode in video coding
EP2774360B1 (en) 2011-11-04 2017-08-02 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
US10003803B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US10003802B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US8873872B1 (en) * 2012-04-18 2014-10-28 Matrox Graphics Inc. Division of entropy coding in codecs
US20150085915A1 (en) * 2013-09-25 2015-03-26 Jay C.-C. Kuo Method and system for automatically encoding video with uniform throughput
KR101805630B1 (ko) * 2013-09-27 2017-12-07 삼성전자주식회사 멀티 디코딩 처리 방법 및 이를 수행하기 위한 멀티 디코더
JP6272194B2 (ja) * 2014-09-24 2018-01-31 株式会社日立情報通信エンジニアリング 動画像符号化装置、動画像復号装置、および動画像符号化・復号化方法
JP6438777B2 (ja) * 2015-01-30 2018-12-19 ルネサスエレクトロニクス株式会社 画像処理装置および半導体装置
US10034026B2 (en) 2016-04-22 2018-07-24 Akila Subramaniam Device for and method of enabling the processing of a video stream
KR20230033027A (ko) 2016-11-01 2023-03-07 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243690A (zh) * 2005-08-17 2008-08-13 Nxp股份有限公司 保持高速缓存器位置的视频编码和解码方法
US20090279801A1 (en) * 2006-09-26 2009-11-12 Jun Ohmiya Decoding device, decoding method, decoding program, and integrated circuit

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000064585A (ko) * 1997-01-13 2000-11-06 요트.게.아. 롤페즈 디지털 비디오 신호에 보조 데이터 삽입 방법 및장치
KR19980068686A (ko) * 1997-02-22 1998-10-26 구자홍 엠펙 디코더(MPEG Decoder)의 레터 박스(Letter Box) 처리방법
JP3322233B2 (ja) 1999-03-19 2002-09-09 日本電気株式会社 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体
US6948127B1 (en) * 2001-12-10 2005-09-20 Cisco Technology, Inc. Interface for compressed video data analysis
EP1418762A1 (en) * 2002-05-22 2004-05-12 Matsushita Electric Industrial Co., Ltd. Moving image encoding method, moving image decoding method, and data recording medium
WO2004012459A1 (ja) * 2002-07-26 2004-02-05 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法、動画像復号化方法および記録媒体
US7715479B2 (en) * 2003-07-21 2010-05-11 International Business Machines Corporation Power-aware on-chip memory management for video coding algorithms
WO2006013690A1 (ja) * 2004-08-04 2006-02-09 Matsushita Electric Industrial Co., Ltd. 画像復号装置
US7859574B1 (en) * 2005-07-19 2010-12-28 Maxim Integrated Products, Inc. Integrated camera image signal processor and video encoder
US20070025444A1 (en) * 2005-07-28 2007-02-01 Shigeyuki Okada Coding Method
US8238442B2 (en) * 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
KR100906152B1 (ko) * 2007-12-07 2009-07-03 한국전자통신연구원 마이크로 볼로미터용 저항재료, 이의 제조방법 및 이를포함한 마이크로 볼로미터
US8265154B2 (en) * 2007-12-18 2012-09-11 At&T Intellectual Property I, Lp Redundant data dispersal in transmission of video data based on frame type
EP2104356A1 (en) 2008-03-18 2009-09-23 Deutsche Thomson OHG Method and device for generating an image data stream, method and device for reconstructing a current image from an image data stream, image data stream and storage medium carrying an image data stream
US20100027663A1 (en) * 2008-07-29 2010-02-04 Qualcomm Incorporated Intellegent frame skipping in video coding based on similarity metric in compressed domain
CN102177715A (zh) * 2008-11-10 2011-09-07 松下电器产业株式会社 图像解码装置、图像解码方法、集成电路以及程序
US20100215104A1 (en) * 2009-02-26 2010-08-26 Akira Osamoto Method and System for Motion Estimation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243690A (zh) * 2005-08-17 2008-08-13 Nxp股份有限公司 保持高速缓存器位置的视频编码和解码方法
US20090279801A1 (en) * 2006-09-26 2009-11-12 Jun Ohmiya Decoding device, decoding method, decoding program, and integrated circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ARNALDO AZEVEDO ,ETC.: "《Parallel H.264 Decoding on an Embedded Multicore Processor》", 28 January 2009, article "Parallel H.264 Decoding on an Embedded Multicore Processor", pages: 2 - 2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107925777A (zh) * 2015-08-31 2018-04-17 英特尔公司 用于视频译码的帧重新排序的方法和系统

Also Published As

Publication number Publication date
WO2011084754A1 (en) 2011-07-14
JP5985553B2 (ja) 2016-09-06
US9877033B2 (en) 2018-01-23
US20110150085A1 (en) 2011-06-23
EP2517471A1 (en) 2012-10-31
CN102668563B (zh) 2017-08-22
JP2013515448A (ja) 2013-05-02
KR101376008B1 (ko) 2014-03-20
TW201141239A (en) 2011-11-16
JP2015008497A (ja) 2015-01-15
KR20120096592A (ko) 2012-08-30

Similar Documents

Publication Publication Date Title
CN102668563A (zh) 解码器中的时间与空间视频块重排序以改善高速缓存命中
CN102187671B (zh) 基于向量化熵译码的加权预测
CN102783150B (zh) 视频译码中的块类型信令
CN102474600B (zh) 解码视频数据的方法、装置和设备
CN101822065A (zh) 对视频块的经交错子块的熵译码
CN101682771B (zh) 视频译码中的自适应系数扫描
CN101637024B (zh) 用于经译码块模式的可变长度译码技术
CN102870413B (zh) 用于视频数据译码的可变长度码
CN104221374B (zh) 一种用于编码、解码视频数据的方法和设备
CN101690227B (zh) 用于对子带进行熵译码的子带扫描技术
CN101578870B (zh) 对可缩放视频译码(svc)方案的增强层进行译码的方法和装置
US8638852B2 (en) Video coding of filter coefficients based on horizontal and vertical symmetry
CN104012096A (zh) 执行视频译码的运动向量预测
CN104126301A (zh) 在视频译码中使用码簿对环路滤波器参数进行译码
CN103563371A (zh) 用于视频译码的基于运行模式的系数译码
CN1922884A (zh) 视频解码方法
CN103416074B (zh) 视频编解码器中的缓冲器管理
CN103416074A (zh) 视频编解码器中的缓冲器管理

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170822

Termination date: 20181220

CF01 Termination of patent right due to non-payment of annual fee