CN110430434B - 采用渐进式i切片参考方法实现抗丢包性能的视频编码 - Google Patents

采用渐进式i切片参考方法实现抗丢包性能的视频编码 Download PDF

Info

Publication number
CN110430434B
CN110430434B CN201811254044.1A CN201811254044A CN110430434B CN 110430434 B CN110430434 B CN 110430434B CN 201811254044 A CN201811254044 A CN 201811254044A CN 110430434 B CN110430434 B CN 110430434B
Authority
CN
China
Prior art keywords
slice
slices
image
images
picture
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
CN201811254044.1A
Other languages
English (en)
Other versions
CN110430434A (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.)
Dayin Network Technology Shanghai Co ltd
Original Assignee
Dayin Network Technology Shanghai Co ltd
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 Dayin Network Technology Shanghai Co ltd filed Critical Dayin Network Technology Shanghai Co ltd
Publication of CN110430434A publication Critical patent/CN110430434A/zh
Application granted granted Critical
Publication of CN110430434B publication Critical patent/CN110430434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

本发明提出了一种用于对压缩视频流进行解码的方法。该方法包括由处理器从压缩视频流中解码第一幅图像和第二幅图像,每幅图像包括以相同形式划分的多个切片,其中第一幅图像包括使用帧内预测解码的第一个I切片,第二幅图像包括使用帧内预测解码的第二个I切片,第一个I切片与第二个I切片不具有相同定位;并且使用帧间预测参考第一个I切片为当前图像的第一个P切片进行解码,参考第二个I切片为当前图像的第二个P切片进行解码,其中当前图像的第一个P切片与第一个I切片具有相同定位,当前图像的第二个P切片与第二个I切片具有相同定位。

Description

采用渐进式I切片参考方法实现抗丢包性能的视频编码
技术领域
本发明涉及视频编码技术,具体领域为使用渐进式I切片参考方法实现网络中抗丢包性能良好的视频编码。
背景技术
视频编码器和解码器(如MPEG2、H.264和H.265)将参考图像技术广泛应用于运动估计(ME)和运动补偿(MC)以减少帧间冗余。在基于网络(如基于互联网)的视频传输中,包含参考图像的编码比特流可以使用数据包作为传输单元,通过网络传输到接收方解码器。当网络中发生干扰时,数据包可能在传输期间丢失或在解码器处出现延迟(而被视为丢失)。丢包可能导致图像全部或部分(如一个切片)丢失。如果丢失的数据包中包含的信息是参考图像所需的部分内容,那么解码过程将受到影响,因为未来的图像需要这一丢失的信息来进行解码。
有一种类型的参考图像(即I图像)是比较易于产生丢包的。I图像通常需要更多比特(例如是P图像所需的多倍)来编码。此外,I图像的传输需要更多的数据包和带宽,并且通常会导致网络突发式阻塞。
为了减轻由网络堵塞带来的不便,一种解决方案是重新发送关键图像(如I图像)的丢失数据包。但是,重新发送丢失的数据包会导致额外的网络流量,这可能会进一步加剧网络堵塞。
发明内容
下文将阐述采用渐进式I切片参考方法实现抗丢包性能良好的网络视频编码的方法、设备和系统。
一方面,本文公开了一种用于解码压缩视频流的方法。该方法包括由处理器为压缩视频流解码第一幅图像和第二幅图像,两幅图像均包含以相同形式划分的多个切片,其中第一幅图像包括使用帧内预测解码的第一个I切片,第二幅图像包括使用帧内预测解码的第二个I切片,并且第一个I切片和第二个I切片彼此不具有相同定位;使用帧间预测参考第一个I切片为当前图像的第一个P切片进行解码,以及参考第二个I切片为当前图像的第二个P切片进行解码,其中当前图像的第一个P切片与第一个I切片具有相同定位,且当前图像的第二个P切片与第二个I切片具有相同定位。
另一方面,本文也公开了一种用于编码视频流的方法。该方法包括由处理器接收第一幅图像、第二幅图像和当前图像,第一幅图像,第二幅图像和当前图像中的每一幅均以相同形式划分为切片;从第一幅图像的切片中确定第一个切片,并且从第二幅图像的切片中确定第二个切片,其中第一个切片和第二个切片彼此不具有相同定位;使用帧内预测将第一个切片编码为第一个I切片,且将第二个切片编码为第二个I切片,并且使用帧间预测参考第一个I切片为当前图像中的一个切片进行编码(该切片与第一个I切片具有相同定位),参考第二个I为当前图像中的一个切片进行编码(该切片将与第二个I切片具有相同定位)。
附图说明
在阅读以下详细描述时参考附图将有助于更好地理解本发明的内容。需要强调的是,根据惯例,图示中各个部分并不是按比例绘制的。相反,为表述清楚起见,已对各个不同部分的尺寸进行任意扩大或缩小。
图1是根据本发明实施例所绘制的一个用于媒体数据传输的系统示例图。
图2是一个视频流的结构示意图。
图3是根据本发明实施例所绘制的一个编码流程示例图。
图4是根据本发明实施例所绘制的一个解码流程示例图。
图5是根据本发明实施例所绘制的采用渐进式I切片参考方法对压缩视频流进行解码的示例流程图。
图6是根据本发明实施例所绘制的采用渐进式I切片参考方法对视频流进行编码的示例流程图。
图7是根据本发明实施例所绘制的一个视频流图像示意图,用于展示第一个渐进式I切片参考方法示例。
图8是根据本发明实施例所绘制的一个视频流图像示意图,用于展示第二个渐进式I切片参考方法示例。
图9是根据本发明实施例所绘制的一个视频流图像示意图,用于展示第三个渐进式I切片参考方法示例。
图10是根据本发明实施例所绘制的一个视频流图像示意图,用于展示第四个渐进式I切片参考方法示例。
具体实施方式
网上多媒体数据共享,诸如视频会议、实时视频广播或互联网电话服务等,都需要高效率且高保真的媒体数据传输。媒体数据可包括音频数据、视频数据或包含音频序列或视频序列的任何多媒体数据。通常媒体数据可以以其原始形式存储或者转换成媒体流。视频流可包括时间序列数据(例如:包含多个音频样本的音频序列或包含多个图像或帧的视频序列)、视频流的特征提取残差(例如:视频序列中的当前图像经帧间预测后的残差图像),或者在变换域中视频流的等量值(例如:变换和/或量化的系数)。视频流可以被编码(或“压缩”)成压缩视频流(如视频比特流)在网络上传输。压缩视频流可以在网络(如互联网)上以数据包的形式(或简称为“包”)进行传输。
在为视频流(或称为“视频序列”)进行编码时,对于视频流中的每幅图像的编码,可以使用相同图像内的信息进行预测(称为“图像内预测”或“帧内预测”),也可以使用不同图像之间的信息进行预测(称为“图像间预测”或“帧间预测”)。在帧间预测中,可以在至少两个不同图像之间执行运动估计(ME)和运动补偿(MC)。使用帧内预测编码的图像可被称为“I图像”,而使用帧间预测编码的图像可被称为“P图像”。I图像可在不参考其他图像的情况下被单独解码。而P图像则可以使用另一图像作为参考(称为“参考图像”)来进行解码。参考图像可以是I图像或另一幅P图像。编码器可以决定采用哪种预测模式对待编码图像(称为“当前图像”)进行编码。当图像(也称为“当前图像”)被解码时,解码器可以通过从当前图像的报头接收和提取的信息来确定使用哪种预测模式。关于视频编码和解码的过程详见图4和图5中的描述。
在编码和解码时,可将图像划分或分割为一个或多个分区。每个分区可以是用于执行预测(如ME和MC)的单元。换句话说,可以在每个分区内执行预测。分区可以包括图像的一个或多个块。例如,分区可以是切片或层片。使用帧内预测进行编码的切片可被称为“I切片”,而使用帧间预测进行编码的切片可被称为“P切片”。经编码的I切片和P切片可在网络上以数据包的形式进行传输。关于视频流中图像的结构详见图2中的描述。
根据本发明的实施例,本文所公开的方法、设备和系统可使用渐进式I切片参考方法来编码和解码压缩视频流以便用于网络传输。图像以相同形式被划分成多个切片,并且可以被分组以实现基于渐进式I切片参考的编码和解码。在每组图像中,有一些图像可以包括I切片。这些图像可用作参考图像。I切片可以表示图像中的不同区域。例如,I切片可以是互补的,因此它们聚合在一起可以形成一幅虚拟图像。虚拟图像不是压缩视频流的实际图像。也就是说,虚拟图像的切片是取自不同图像的I切片。虚拟图像的区域可以涵盖(如等于)压缩视频流的整个图像区域。为便于解释而不引起歧义,下文中这种互补的I切片指的是能够“涵盖整个图像”,另有明确说明除外。每幅参考图像可以包含其中一个I切片和一个或多个P切片。换句话说,那些聚合在一起可以涵盖整幅图像的I切片可以沿着时间线一幅幅逐步分布在参考图像中,并且可被用作参考图像进行编码和解码;因此,为简单起见,此类I切片可被称为“渐进式I切片参考”或“渐进式I切片”。一组图像中的其他图像可以使用渐进式I切片作为参考以进行基于帧间预测的编码和解码。例如,视频流图像中的任何一个P切片可以参考与其相同定位的I切片来编码或解码。通过将渐进式I切片分布到不同的图像中,可将网络传输中的丢包影响减至最小,并且可以减少或避免网络突发式阻塞状况。下文将详细阐述本发明的方法、设备和系统。
图1是根据本发明实施例所绘制的用于媒体数据传输的系统100的示例图。如图1所示,系统100可包含多个设备和网络,诸如设备102、设备104和网络106。该设备可以是微型计算机、大型计算机、超级计算机、通用计算机、特殊用途或专用计算机、集成计算机、数据库计算机、远程服务器计算机、个人计算机、笔记本电脑、平板电脑、手机、个人数据助理(PDA)、可穿戴计算设备等一台或多台计算机的任何配置,或由计算服务提供商提供的计算服务(例如web主机或云服务)来实现。在一些实现中,计算设备可以由多组计算机的形式来实现,各个计算设备可位于不同地理位置,并通过网络等进行彼此间的通信。虽然某些操作可以由多台计算机共同完成,但在一些实现中,不同的计算机会被分配不同的操作。在一些实现中,系统100可以使用具有计算机程序的通用计算机或处理器来实现,在运行计算机程序时可执行本文描述的相应的方法、算法和/或指令。另外,也可以使用专用计算机或处理器,配备专用硬件设备用以执行本文描述的任何方法、算法或指令。
设备102可以包括处理器108和存储器110等硬件内部配置。处理器108可以是能够操作或处理信息的任何类型的一个或多个设备。在一些实现中,处理器108可以包括中央处理器(如中央处理单元,即CPU)。在一些实现中,处理器108也可以包括图形处理器(如图形处理单元,即GPU)。在另一些实现中,处理器108还可以包括一个特定的专用硬件加速处理器。尽管本文示例中可以用所示的单个处理器来实现,但是如果使用多个处理器将可体现速度和效率方面的优势。例如,处理器108可分布在多个机器或设备(每个机器或设备带有一个或多个处理器)上,这些机器或设备可以直接耦合或通过网络(如局域网)实现互联。存储器110可以是能够存储代码和数据的任何暂时或非暂时性的一个或多个设备,这些代码和数据可由处理器(通过诸如总线)访问。本文所述的存储器110可以是随机存取存储器设备(RAM)、只读存储器设备(ROM)、光盘或磁盘、硬盘驱动器、固态驱动器,闪存驱动器、安全数字(SD)卡、记忆棒、紧凑型闪存(CF)卡或任何合适类型的存储设备的任意组合。在一些实现中,存储器110可以分布在多个机器或设备上,诸如基于网络的存储器或基于云的存储器。存储器110可以包括数据(未示出)、操作系统(未示出)和应用程序(未示出),数据可以是用于处理的任何数据(如音频流、视频流或多媒体流),应用程序可以是允许处理器108执行指令以生成控制信号的程序,这些控制信号可用于执行下文描述的方法中所述的各项功能。
在一些实现中,设备102除了可包括处理器108和存储器110之外,还可以包括辅助(如外接)存储设备(未示出)。如使用上述辅助存储设备,则可在高处理需求时提供额外的存储空间。辅助存储设备可以是任何合适的非暂时性计算机可读介质形式的存储设备,如存储卡、硬盘驱动器、固态驱动器、闪存驱动器或光驱等。此外,辅助存储设备既可以是设备102的组件,也可以是通过网络访问的共享设备。在一些实现中,存储器110中的应用程序可以全部或部分地存储在辅助存储设备中,并根据处理需要加载到存储器110中。
设备102除了包括处理器108和存储器110之外,还可以包括输入/输出(I/O)设备,例如设备102可包括I/O设备112。I/O设备112可通过多种方式实现,比如它可以是耦合到设备102的显示器,并被配置为可以显示图形数据的图像。I/O设备112可以是向用户传输视觉、听觉或触觉信号的任何设备,如显示器、触敏设备(例如触摸屏)、扬声器、耳机、发光二极管(LED)指示灯或振动电机等。I/O设备112也可以是任何类型的需要或不需要用户干预的输入设备,如键盘、数字小键盘、鼠标、轨迹球、麦克风、触敏设备(如触摸屏幕)、传感器或手势感应输入设备。如果I/O设备112是显示器,则其可以是液晶显示器(LCD)、阴极射线管(CRT)或能够向个人提供可见输出的任何其他输出设备。在一些情况下,输出设备也可以作为输入设备,例如接收触摸式输入的触摸屏显示器。
此外,I/O设备112也可以由传输信号(和/或数据)的通信设备组成。例如,I/O设备112可包含一个从设备102向另一个设备发送信号或数据的有线装置。又如,I/O设备112也可包含使用兼容协议的无线发射器或接收器,用于将信号从设备102发送到另一设备,或者将来自另一设备的信号接收到设备102。
设备102除了配备处理器108和存储器110之外,还可以额外包括通信设备114来与另一个设备进行通信。或者也可以采用网络106进行通信。网络106可以是任何组合的任何合适类型的一个或多个通信网络,包括但不限于使用蓝牙通信、红外通信、近场连接(NFC)、无线网络、有线网络、局域网(LAN)、广域网(WAN)、虚拟专用网络(VPN)、蜂窝数据网络和互联网。通信设备114可以通过多种方式实现,诸如应答器或收发器设备、调制解调器、路由器、网关、电路、芯片、有线网络适配器、无线网络适配器、蓝牙适配器、红外适配器、NFC适配器、蜂窝网络芯片,或耦合到设备102的任何组合的任何适当类型的设备,以提供与网络106的通信功能。
设备104与设备102类似,配备了处理器116、存储器118、I/O设备120和通信设备122。设备104的元件116-122的实现可类似于设备102中的108-114。设备102和104可分别执行多媒体传输的不同功能。例如,设备102可以用作解码器设备(简称为“解码器”),而设备104可以用作编码器设备(简称为“编码器),反之亦然。设备102可通过网络106与设备104通信。设备102和104还可与连接到网络106的其他设备(未示出)进行通信。
设备102和104(以及存储在其上和/或由此执行的算法、方法、指令等)可以在硬件上实现,硬件包括如知识产权(IP)内核、专用集成电路(ASIC)、可编程逻辑阵列、光处理器、可编程逻辑控制器、微代码、固件、微控制器、服务器、微处理器、数字信号处理器等或任何其他适用的电路。在本发明中,“处理器”一词应理解为包含任何上述内容中的一项或多项的组合。“信号”、“数据”和“信息”等术语可互换使用。此外,设备102和104的部分功能并不必以相同的方式来实现。
应注意的是,用于实现渐进式I切片参考方法的编码设备(如设备102和104)和系统的部件或组件并不局限于图1中所示的那些的元件。在不脱离本发明的范围的情况下,编码设备和系统可以包括更多或更少的部件、组件、硬件或软件模块,用于采用渐进式I切片参考方法进行编码和解码相关或之外的其他各项功能。
图2是视频流200的示例图。视频流200可以是用于编码的视频源流,或是视频比特流解码而成的视频流。时间线如图2所示,其中箭头表示时间的方向。视频流200可以包括沿时间线的一系列图像,其中包括图像202-208。例如图像208可以是当前图像。如果使用帧间预测对图像208进行编码或解码(即图像208是P图像),则其参考图像是在时间上早于该图像的某幅图像。也就是说,作为P图像的图像208的参考图像可以是图像206、204、202,或者在时间线上先于图像208的任何图像。
视频流200的每幅图像都可以被划分为多个处理单元。可在处理单元上执行运动预估和运动补偿。在一些视频编码标准中,处理单元可被称为“宏块”或“编码树块”(CTB)。在一些实现中,每个处理单元可以再进一步划分为一个或多个处理子单元,用于执行运动预估和运动补偿,根据不同的编码标准采用不同的名称,其中处理子单元可被称为“预测块”或“编码单元”(CU)。处理单元和子单元可以是任何尺寸,例如8×8、8×16、16×16、32×32、64×64,或适合于编码区域的任何形状的任何尺寸。通常,一个区域包括的细节越多,处理单元和子单元的尺寸就越小。为便于解释而不引起歧义,处理单元和子单元在下文中称为“块”,除非另有明确说明。例如在图2中,图像206显示有4×4块,其中包括块210。块的边界以虚线表示。
在一些实现中,可以对块进行分组,从而形成图像的特殊区域或分区。换句话说,图像可以被划分为一个或多个区域或分区,并且每个区域或分区可以包含一个或多个块。这样的区域或分区可被称为“切片”、“层片”或某一视频编码标准所特定的其他名称。为便于解释而不引起歧义,这些区域或分区在下文中称为“切片”,除非另有明确说明。例如,图像206可以被分成四个切片212-218,每个切片中有四个块。切片212-218之间可以具有边界220-226,以实线表示。
可对多个切片执行并行处理。可针对一个切片中的多个块执行运动预估和运动补偿(即不对该切片之外的块执行运动预估和运动补偿),并且可以同时对多个切片进行独立编码。例如,可以并行处理片212-218,这可以提高视频编码的效率。类似地,也可以在解码器处对多个切片并行解码。I图像的切片可被称为I切片,而P图像的切片可以被称为P切片。
在一些实现中,对于P切片可以在两个或多个相同定位的切片之间执行运动预估和/或运动补偿。在本文中,“相同定位”指的是在两个不同图像中具有相同位置且大小形状相同的两个切片。图像中切片的位置指的是图像中切片的相对位置。可以使用切片的一部分作为参考点来确定位置。例如,参考点可以在切片的中心、拐角、边界或其他任何位置的一个块内。例如,对于两幅图像中具有相同尺寸和形状的两个切片,如果两个切片的左上角在图像中具有相同的位置(如相同的坐标),则可认为这两个切片具有“相同定位”。例如,图像208的切片228–234与图像206的切片212–218分别具有相同定位。如果切片228是P切片,则它可以使用与其相同定位的切片212作为其参考切片。在其他一些实现中,对于P切片,可以在两个或多个非相同定位的切片之间执行运动预估和/或运动补偿。例如,如果切片228是P切片,则它可以使用非相同定位切片214、216或218作为其参考切片。
应注意的是,本文所述的切片可以包括任何形式的任意数量的任意块,而并不限于上述示例(如切片212-218)。例如,切片可以是非矩形的,比如包括几行中的多个块(未示出)。又如,切片可包括以非连续方式组合的块,例如两个或多个非连续块组。再如,第一个切片的一部分可以包含在第二个切片的一部分之内。再例如,第一个切片也可以被第二个切片包围(如第一个切片可以在第二个切片之内)。
还应注意的是,切片的划分或分段在视频流中可以改变,也可以不变。换句话说,切片之间的边界可以改变也可以不改变。在一些实现中,视频流的图像可以被划分为相同形式的切片。在一些实现中,视频流中切片的划分模式可以随着图像的更迭而改变。
图3是根据本发明实施例所绘制的对视频流302进行编码的编码流程300的流程图。视频流302可包含一个视频序列。流程300可以实现为图1系统100中的软件和/或硬件模块。例如,流程300可以被实现为包含在编码器(如图1中的设备104)中的模块。流程300包括操作304-308以从视频流302产生压缩视频流314作为输出。在实现图5所述的基于渐进式I切片参考方法进行编码时,还可以对示例编码流程300(整个过程或其中一些阶段)做进一步修改。在一些实现中,实现渐进式I切片参考方法编码也可能并不需要流程300。
如图3中的流程300所示,编码器接收了视频流302。本文所指的“接收”一词可以指以任何方式接收、输入、获取、检索、获得、读取、访问或采用任何操作以输入信息或数据。例如,视频流302可以是视频流并且包括一系列视频图像(如当前图像)。
通常,编码过程可包括以下阶段或操作中的一个或多个:预测阶段(如用于帧内预测或帧间预测)、变换阶段(量化或非量化)和熵编码阶段。上述阶段可用于在编码处理的正向路径中将视频流302输出为压缩视频流314,如图3中的实线连接线所示:帧内/帧间预测阶段304、变换和/或量化阶段306以及熵编码阶段308。
在帧内/帧间预测阶段304,对于帧内预测,可以使用当前图像中先前编码的块来预测当前图像的当前块。对于帧间预测,可以使用先前编码的图像作为参考数据来预测当前图像的当前块。先前编码的图像可以包括例如先前编码和重建的图像(也称为参考图像)。例如,可以使用当前图像和一个或多个参考图像来执行运动估计和补偿以生成运动数据。然后可再对残差数据(即预测块和当前块之间的差)执行变换、量化和/或熵编码操作。
在一些实现中,也可以在熵编码阶段308之前附加应用一个环路滤波器。环路滤波器可减少由视频压缩导致的失真(如“块效应”)。其他用于对视频比特流进行解码的信息也可被熵编码,这些信息包括:预测模式、变换类型、量化级别和环路滤波器参数(如滤波器强度)等。
在一些实现中,流程300还可以包括重建路径对参考数据进行重建,用于预测未来图像。例如,重建路径(图3中表示为虚线连接线)可以包括以下阶段:去量化和/或逆变换阶段310和重建阶段312。阶段310和312可确保编码器(如图1中的设备104)和解码器(如图1中的设备102)使用相同的参考数据进行预测。在一些实现中,可以在重建阶段312之后附加应用一个环路滤波器(未示出);而在另一些实现中,也可以在不使用环路滤波器的情况下使用重建的图像。重建可以类似于解码流程中的重建阶段(如图4中的阶段410)。
应注意的是,对视频序列进行编码也可以使用编码过程的其他变体形式。编码过程可以按照不同的顺序进行处理,也可组合为更少的阶段,或者是分成更多的阶段。例如在一些实现中,量化或变换可以是非必需的。比如说,基于非变换的编码器可以在不进行变换的情况下量化残差数据。
图4是根据本发明实施例所绘制的对压缩视频流进行解码的流程400示例图。流程400可以实现为图1系统100中的软件和/或硬件模块。例如,流程400的部分或所有阶段可以由解码器(如设备102)实现为包含在系统100中的软件或硬件模块。解码器可由存储在存储器(如存储器110)中的程序代码实现。程序代码可包括计算机可读指令,当由处理器(如处理器108)执行时使得解码器以图4中描述的方式解码压缩视频流。解码器还可以实现为包含在设备(如设备102)中的专用硬件。例如,解码器可以是硬件解码器。流程400包括操作404-410,用于将压缩视频流402重建为视频流412。此外,在使用图6中所述的渐进式I切片参考方法进行解码时,可以对示例流程400的整个过程或部分阶段进行修改。
通常在解码压缩媒体流时,解码过程类似于视频编码过程的重建路径。流程400类似于上述流程300的重建路径,可以包括以下阶段:熵解码阶段404、去量化和/或逆变换阶段406、帧内/帧间预测阶段408和重建阶段410。重建的图像可以用作未来的参考数据,用于处理当前图像之后的后续图像。重建的图像不仅可在媒体流412中输出,还可以存储在缓冲器中(如图1中的存储器110)以用作未来的参考数据。在一些实现中,可以使用环路滤波器(未示出)对重建的图像进行滤波。也可采用流程400的其他结构变体对压缩视频流402进行解压。
图5是根据本发明实施例所绘制的使用渐进式I切片参考方法来解码压缩视频流的示例流程500的流程图。流程500可以实现为图1中系统100中的软件和/或硬件模块。例如,流程500可以实现为存储在存储器110中的软件模块,作为可由解码器设备102的处理器108执行的指令和/或数据。又如,流程500也可以在硬件中实现为专用芯片,可存储由专用芯片执行的指令。流程500的部分或所有操作可在图4中的流程400的一个或多个阶段实现。
在操作502处,对压缩视频流的第一幅图像和第二幅图像进行解码。例如,压缩视频流可以是图4中的压缩视频流402。第一幅图像和第二幅图像均可包含多个切片。可由编码器决定如何对这多个切片进行划分。第一幅图像和第二幅图像的切片可以以相同的模式划分。换句话说,图像中切片的边界在视频流的各个图像中可以具有相同的相对位置。
第一幅图像可包括第一个I切片,其可通过帧内预测进行解码。第二幅图像可包括第二个I切片,也可通过帧内预测进行解码。第一个和第二个I切片可以对应于当前图像的不同位置。例如,第一幅、第二幅和当前图像可如图7所示。
图7是根据本发明实施例所绘制的视频流700中第一个展示渐进式I切片参考方法的示例图。如图7所示,时间线箭头用于表示时间的方向。视频流700可包括图像702-720,可按时间顺序(即沿着时间线从左至右)被解码。在一些图像下标识了时间戳,如时间戳t0,t1,t2和t3,分别对应于图像702,704,706和708,以及时间戳tk-1,...tk+3,分别对应于图像710,712,714,716和718。视频流700中的每幅图像都可被分成多个切片。如图7所示,每幅图像以相同的模式被分成三个切片。
回头来看图5,在操作504处,采用帧间预测参考第一个I切片来解码当前图像的第一个P切片,且采用帧间预测参考第二个I切片来解码当前图像的第二个P切片。换句话说,分别将第一个和第二个I切片作为帧间预测的参考切片来解码当前图像的第一个和第二个P切片。当前图像的第一个P切片可以与第一个I切片具有相同定位。当前图像的第二个P切片可以与第二个I切片具有相同定位。
在图7-10中,采用帧内预测进行编解码(编码和/或解码)的切片以起始字母“I”(如I00,I11和I22)表示,而采用帧间预测编解码的切片则以起始字母“P”表示(如P10,P21和P03)。切片符号中的字母“I”或“P”之后的数字表示切片的位置索引(如0,1或2),而切片符号中的下标数字则指示切片的时间戳(如t0,t1,t2或t3)。例如,符号“P21”表示该切片是在时间点t1处索引为2的P切片。如图7所示,有些图像可包含I图像和P图像,如图像702-706。有些图像则可仅包含P图像,如图像708-710。
为便于解释而不引起歧义,图7-10中的“视频流”一词用于表示视频序列或压缩视频流。具体而言,“视频流”在图5中是指压缩视频流,在图6是指视频序列。
再来看图7,例如在操作502处的第一幅和第二幅图像可以分别是图像702和704。又如,第一幅和第二幅图像也可以分别是图像704和702。应当注意,本文中“第一”、“第二”、“第三”等序列词并不具有时间或空间排序的含义。在下文中,为便于解释而不引起歧义,我们假定第一幅图像早于第二幅图像。第一幅图像702可包括第一个I切片I00。第二幅图像704可包括第二个I切片I11。当前图像可以是图像702和704之后的任何图像(例如:图像706-720中的任何一个)。例如,当前图像可以是图像706。如图7所示,I切片I00和I11对应于图像706的不同位置。当接收到相关数据时,可以使用帧内预测来解码I切片I00和I11
如图7所示,第一个P切片可以是当前图像706的P切片P02,可通过帧间预测参考I切片I00进行解码(由从P02指向I00的箭头表示)。第二个P切片可以是当前图像706的P切片P12,可通过帧间预测参考I切片I11进行解码(由从P12指向I11的箭头表示)。切片P02和I00具有相同定位。切片P12和I11具有相同定位。换句话说,在I00和P02之间,以及I11和P12之间可执行运动估计和运动补偿操作。
换句话说,如图7所示,接收到第一幅图像702的数据时,可以使用帧内预测来解码I切片I00,而使用帧间预测来解码P切片P10和P20(如参考具有相同定位的先前切片,图中未示出)。当接收到第二幅图像704的数据时,可使用帧内预测来解码I切片I11。可以使用帧间预测参考I00来解码与I切片I00具有相同定位的P片P01。可使用帧间预测来解码P切片P21(如参考具有相同定位的先前切片,图中未示出)。当接收到第三幅图像706(即当前图像)的数据时,可使用帧内预测来解码I切片I22。P切片P02与I切片I00具有相同定位,可以使用帧间预测参考I00对其进行解码。P切片P12与I切片I11具有相同定位,可以使用帧间预测参考I11对其进行解码。当接收到第四幅图像708(如未来图像)的数据时,P切片P03、P13、和P23与I片I00、I11和I22分别具有相同定位,因此可使用帧间预测参考I00、I11和I22进行解码。
在一些实现中,可以针对图像组迭代操作502-504。换句话说,视频流700可以被划分为不同的图像组(例如:第一组包括图像702-710,第二组包括图像712-720),然后对每组图像执行操作502-504。
例如,可以从压缩视频流中解码第一数量的图像(即第一组图像)。该第一数量可用正整数k表示。例如,k幅图像可以包括图像702-710。这k幅图像中的每一幅均可包括以相同形式划分的第二数量的切片。该第二数量可用正整数m表示。例如,对于视频流700,m可以是三个。这k幅图像702-710可以包括m个(如三个)I切片(例如:I切片I00、I11和I22)。如图7所示,I切片I00、I11和I22彼此都不具有相同定位。也就是说,I切片I00、I11和I22对应于图像的不同位置。这k幅图像702-710中的每一幅最多可包括这三个I切片中的一个。例如,图像702-706中的每一幅可以分别包括I切片I00、I11和I22中的其中之一,而图像708-710中的每一幅都可以不包括I切片。当接收到其数据时,可以使用帧内预测来解码I切片I00、I11和I22
在解码这k幅图像时,可以使用帧间预测来解码当前图像的第三数量的切片,在帧间预测时参考这m个I切片相应第三数量的具有相同定位的I切片。该第三数量可用正整数n表示。例如,如当前图像是图7中的图像708,则n可以是3。例如,可以使用参考三个相应的具有相同定位的I切片I00、I11和I22来解码当前图像708的三个P切片P03、P13和P23(由分别从P切片P03、P13和P23指向I切片I00、I11和I22的箭头表示)。应注意,n可小于或等于m。例如,如当前图像是图像706,则n可以是2。对于当前图像的两个P切片P02和P12,可使用帧间预测参考两个具有相同定位的I切片I00和I11进行解码。
应注意的是,除了图像702-706之外,还有其他图像也可包含m个I切片中的一个,并且I切片可分布在这k幅图像的其中任何图像中。例如,当m为3时,三个I切片I00、I11和I22可以分布在k幅图像702-710的任意三幅相应图像中。还应注意的是,这m个I切片可以分布在连续或非连续图像中。例如在图7中,I切片I00、I11和I22可以分布在连续图像702-706中。又如,I切片(未示出)可以分布在视频流700的非连续图像中(如图像702、706和708)。另外还应注意,当m个I切片被分布在连续图像中时,这些连续图像可位于图像组中的任何位置。如图7所示,包括I片I00、I11和I22的三幅连续图像702-706位于k图像702-710的前段。又如,三个连续图像702-706可以位于k幅图像702-710的中间部分或末端部分(图7中未示出)。还应注意的是,图像中I切片相对位置的排序并不限于以上示例。例如,沿时间轴的图像702-706中,I切片I00、I11和I22是从上到下排列的。又如,I切片也可以安排在图像的任意随机位置,如沿时间线排列的三幅图像I00、I21和I12或I20、I01和I12(图7中未示出)。
在一些实现中,m个I切片可互补以涵盖整个图像。例如在图7中,切片I00、I11和I22互补,其组合可以涵盖整幅图像。也就是说,I00、I11和I22的组合可以形成一幅虚拟图像,该虚拟图像可与视频流700中的任何一幅图像(如702-720中的任一图像)具有相同的大小和形状。
本文中的“渐进式”一词用在解码器中指的是接收和解码I切片数据的方式,使得从接收的数据中解码的图像越多,就可以从那些解码的图像中解码更多的I切片,以便未来用作帧间预测。可以以增量方式聚合那些被解码的I切片以涵盖整幅图像。例如,为视频流700的解码中,在对图像702进行解码时,可以先解码I切片I00,以便对图像704-710中具有相同定位的切片进行帧间预测。被解码的I切片I00可以是整幅图像的一部分(如三分之一)。在对图像704解码时,可以先解码I切片I11以对图像706-710中的具有相同定位的切片进行帧间预测。可将被解码的I切片I00和I11聚合起来以涵盖更大一部分图像(如三分之二)。也就是说,解码的I切片的聚合是递增的。I切片I00和I11在本文中被称为“渐进式I切片参考”。
在一些实现中,如使用渐进式I切片参考方法来解码第一组图像(如包括图像702-710的第一组图像),则可以基于一组新的I切片使用渐进式I切片参考方法来解码后续的图像组(如包括图像712–720的第二组图像)。
例如,在解码k幅图像之后,可以从压缩视频流中解码第四数量的图像。第四数量可用正整数p表示。在一些实现中,p可以等于k。例如,k幅图像可以是图像702-710,而p幅图像可以是k幅图像712-720(即p等于k)。p幅图像中的每一幅均可包含三个(即m为3)切片,切片的划分方式与k幅图像702–710的划分方式相同。
在解码p幅图像时,可以使用帧间预测参考第二批I切片中的一个切片来解码这p幅图像中其中一幅图像的切片。图像的切片可以与第二批I切片中的其中一个切片具有相同定位。例如,对于p幅图像中的其中一幅图像712,可以使用帧间预测参考I切片I11来解码P切片P1k。以此类推,可以参考I切片I22对图像712的P切片P2k和图像714的P切片P2k+1进行解码。
在一些实现中,p也可以不等于k。例如,从时间t0开始,可以使用渐进式I切片参考方法来解码视频流700的一组图像(如包括图像702-710的第一组图像)。在预定时间tk-1之后,可以接收视频流700中的新的图像组(如包括图像712、714、716...的一组新的图像),并使用新的一组I切片(如I切片I0k、I1k+1和I2k+2)对其进行解码。新组中的图像数量可以与图像702-710不相等。
如前所述,基于网络的视频传输可能会受到丢包影响。如果所有I切片都包括在一个编码图像(如I图像)中,则对于该编码图像,用于传输的数据量可能会很大,对数据丢包也会非常敏感。另外,当发生数据丢包并且需要重新发送I图像时,其传输可能会导致数据速率的突发,不利于网络传输。上述用于编码和发送视频流的基于I图像的方法在下文中可称为“I图像方法”。与I图像方法相比,通过以渐进方式将整个图像的I切片分布到视频流的若干图像中,可以降低解码失败的风险,也更有利于网络中的传输。并且解码第一幅图像以用于渲染呈现的速度也可以更快。
本文公开的方法、设备和系统使用相同的I切片作为对一组图像作帧间预测的参考;因此,该组图像中任何图像的任何数据包丢失对视频流的解码影响都不会太大。换句话说,视频流可具有更强的抗丢包能力。例如,如果图像708发生丢包而导致对该图像的解码失败,则这种丢包影响将仅限于图像708之内,因为图像708只包含P图像。也就是说,对其他图像(如图像702-706,或在图像708之后的任何图像)的解码将不会受到这种丢包的影响。再如,即使图像702发生数据丢包并且其解码失败,也只有在解码与I00具有相同定位的切片(如P切片P01,P02,P03,...P0k-1)时会受到影响,因为图像702只包含一部分I切片(即I切片I00)。只要I11或I22在传输中没有丢包,则解码与I切片I11和I22具有共同定位的切片(如P切片P12,P13,...P1k-1,和P切片P23,...P2k-1)就不会受到影响。通过重新传输I切片I00(或者在某些情况下可重传图像702),可以重新执行参考I00的帧间预测,于是所有与I00具有相同定位的切片均可被恢复。与I图像方法相比,本文所公开的用于编码和发送视频流的方法可以减少解码中图像的相互依赖性,减小重新发送的数据的大小,因此具有更强的抗丢包能力。
此外,通过以渐进方式在视频流的若干图像内分布I切片,可以减少用于编码一幅图像的比特数,并且压缩视频流的比特率也可以更均匀。当发生数据丢包时,本文所公开的方法还可以减少比特率突发的状况。例如,当图像702的数据包丢失并且需要重新发送时,其传输所导致的比特率突发也较小。与I图像方法相比,本文所公开的用于编码和发送视频流的方法可以实现更好的网络传输。
此外,在一些实现中,通过在视频流的前段(如前几幅图像)处布置渐进式I切片,可以减少或最大限度缩短在解码器处解码视频流所需的时间。对于第一组图像(如图7中的第一组图像702-710),因为包含I切片的图像是用于帧间预测的参考并且在视频流的开始阶段被发送(如在图像702中),所以可以在不依赖于其他图像传输的情况下解码第一组的连续图像。因此,一旦完成第一组图像的传输,就可以对第一组图像中的的每幅图像进行解码。此外,每当发送和解码I切片时,就可以解码后续图像中具有相同定位的切片,而无需依赖于任何其他图像的其他切片的传输。例如,在视频网络广播中,多个用户可以连接到相同的信息源进行广播。当新用户加入网络广播时,信息源(如编码设备)可以将包括I切片的图像发送至新用户(如解码设备),送达后几乎可以立即解码视频流。与I图像方法相比,本文所公开的方法可以在更短的时间内解码接收的视频流并为用户渲染呈现图像,这可以减少用户的等待或缓冲时间从而改善用户体验。
此外,通过使用渐进式I切片参考方法,可以在接收到I切片后实现对传输视频流中图像的随机访问。例如,如图7所示,在t0、t1和t2时间点分别接收到I切片I00、I11和I22,因为P切片P02和P12可分别参考I00和I11进行解码,因此图像706可以被完全重建。换句话说,同一组图像中的图像的重建可以是任意的,而不依赖于其他图像的重建顺序。
在一些实现中,一组图像中图像的数目可灵活增减。在一些情况下,可以将图像的数量设置为较大以减少用于编码和传输的数据大小,比如主要包括准静态图像的视频流(例如:在一静态背景中仅显示某个人的头部和肩部的网络广播中)。但是,某些视频流(特别是那些具有多动态图像的视频流)可能需要控制每组中的图像数量。当图像组包括许多图像时,I切片可能与后面图像的切片(例如:图像组的末端部分的图像)相距甚远,而两者之间的相似性也可能降低。随着相似性的降低,运动估计和运动补偿的质量也可能降低,这可能会导致解码图像质量降低。
在一些实现中,k(即图像组中的图像的数量)可以被设置为等于m(即一组图像中的I切片数量)。图8是根据本发明实施例所绘制的第二个展示渐进式I切片参考的视频流800的示例图。图8中时间线箭头表示时间的方向。视频流800可包括两组图像:第一组包括图像802-808,第二组包括图像810-816。时间戳t0至t7分别显示在图像802-816下方。
如图8所示,每组中的图像数目(即k)为4。每幅图像分为四个切片。每个分组可以包括四个I切片(即m也是4),并且一组中的每幅图像可以包括一个I切片。在第一组图像中,可以使用帧内预测来解码四个I切片I00、I11、I22和I33。在第二组图像中,可以使用帧内预测来解码四个I切片I04、I15、I26和I37。每组中的I切片也可以用于对具有相同定位的后续P切片(例如:与I切片具有共同定位的后续P切片P01、P02和P03)作帧间预测的参考切片,如图8中的箭头所示。图像组(如第一组和第二组图像)可以不包括P图像。
如图8所示,如将k设置为等于m,则视频流的每幅图像可以包括一个I切片。另外,可以使用指定时间间隔之内(如不超过t3-t0)的I切片来解码视频流的P切片。因此,除了保持先前所述的渐进式I切片参考方法的优势之外,还可以再进一步改善解码图像的质量。
回过头来参考流程500,在一些实现中,可以参考第一个I切片使用帧间预测来解码第二幅图像中的至少两个切片。图9是根据本发明的实施例所绘制的第三个展示渐进式I切片参考方法的视频流900的示例图。图9中时间线箭头表示时间的方向。视频流900可以包括两组图像:第一组包括图像902-910;第二组包括图像912-920。时间戳在一些图像下方示出,例如的时间戳t0至t3分别对应于图像902-908,以及的时间戳tk-1至tk+3分别对应于图像910-918。如图9所示,每幅图像被分成四个切片。
如图9所示,如第一幅和第二幅图像分别是图像902和904,第一个I切片为I00,可参考I切片I00使用帧间预测为图像904中至少两个切片(如切片P01、P21和P31)进行解码。以此类推,如第一幅和第二幅图像分别是图像904和906,且第一个I切片是I11时,可参考I切片I11使用帧间预测为图像904中至少两个切片(如P12和P32)进行解码。
按照图9所示的编码视频流的设置,是为了能够实现尽快解码图像。换句话说,在一些实现中,对于接收的视频流中的一组图像,在接收到该组中所有I切片之前,可以使用尽可能多的可用I切片来解码图像的P切片。这些可用的I切片与P切片可以具有共同定位,也可以不具有共同定位。在一些实现中,可用I切片只可用作后续图像中P切片的帧间预测参考。例如,如图9所示,I00仅可用于为图像904中的P切片作参考,而I11仅可用于为图像906中的P切片作参考。
例如,如图9所示,视频流可以在时间点t0处开始,也就是说,图像902可以是解码器接收的第一幅图像。在时间点t0处,可以使用帧内预测来解码I切片I00。在时间点t1处,可以使用帧内预测对I切片I11进行解码,其中可用的I切片为I00和I11。P01与I00具有相同定位,而P21和P31则与I00不具有相同定位,并且它们没有相应的共位I切片。然而,通过参考I00对P01、P21和P31进行解码,无需等待接收到剩余的I切片就可以在时间点t1处对图像904进行重建。同样,在时间点t2处,可以使用帧内预测对I切片I22进行解码,可用的I切片是I00、I11和I22。P02和P12分别有相应的共位I切片I00和I11。P32与I00或I11不具有相同定位,并且它没有相应的共位I切片。通过参考I11对P32进行解码,无需等待接收到剩余的I切片就可以在时间点t2处对图像906进行重建。
在某些情况下,特别是在视频传输开始时,用户可能更希望能即刻渲染呈现图像以获得高质量的图像。通过使用如图9中所示的编码配置,可以实现这样的自定义设置,而不至于大幅影响图像质量。例如,对于视频会议,I切片(如I00)可用于编码背景,而背景所对应的后续图像(如图像904)中的P切片(如P01、P21和P31)即使并不全部与该I切片具有相同定位,也可以使用该I切片进行解码。由于背景对用户来说重要性相对较低(或者背景几乎是静态的),因此这种配置不会明显影响用户体验。而每张人脸的数据则可以包含在另一个I切片(如I11)中,以用于帧内预测,以便达到更高的解码质量。在这些情况下,视频流几乎可以立即呈现(例如在接收到视频流的第一幅图像开始),并且可以将用户端的缓冲时间降至最低。
在一些实现中,一组图像内的参考也可以灵活设置。回过头来参考流程500,在一些实现中,可以使用帧间预测对紧接在当前图像之后的未来图像进行解码,过程中可以参考当前图像中具有共同定位的相应切片来解码未来图像的所有切片。图10是根据本发明实施例所绘制的第四个展示渐进式I切片参考方法的视频流1000示例图。图10中时间线箭头表示时间的方向。视频流1000可包含图像1002-1014。时间戳t0至t6分别标识在图像1002-1014下方。在图10中,每幅图像划分为三个切片。
如图10所示,如当前图像是图像1008,紧接在当前图像之后的未来图像可以是图像1010。如图10所示,可以使用帧间预测参考当前图像1008中的具有共同定位的相应切片(如P03、P13和P23)来解码未来图像1010中的所有切片(如P04、P14和P24)。换句话说,对于帧间预测解码,视频流1000的P切片(如P03、P13和P23)可以使用I切片(如I00、I11和I22)作为参考,也可以使用其他P切片(如P03、P13和P23)作为参考。
通过使用如图10中所示的配置,可以实现自适应地调整视频流的编码方式以改善解码图像的质量。例如,当网络拥塞并且丢包的风险较高时,可以使用渐进式I切片参考方法来编码和解码视频流1000中的P切片(例如:参考I切片I00、I11和I22对图像1008中的切片进行编码)。当网络拥塞情况缓解并且丢包的风险较低时,可以使用连续的切片参考(例如:参考图像1008中的切片对图像1010中的切片进行编码)对视频流的P切片进行编码和解码。根据网络情况的不同,编码器和解码器可以在不同的切片参考之间切换,以自适应地编码视频流。在一些情况下,可以交替采用I切片参考和P切片参考。
可通过编码器来设置如图7-10中所述的渐进式I切片参考方法的配置。用于切片参考的信息可存储在压缩视频流中,例如,存储在补充增强信息(SEI)中,或在图像报头或切片报头中。该信息也可以在带外消息中存储和传输。当解码器接收到该信息时,解码器可以对它进行处理并确定合适的渐进式I切片参考方法。
图6是根据本发明实施例所绘制的使用渐进式切片参考方法来编码视频流的示例流程600的流程图。流程600可实现为图1系统100中的软件和/或硬件模块。例如,流程600可以实现为存储在存储器118中的软件模块,作为由设备104的编码器中的处理器116执行的指令和/或数据。又如,流程600也可以在硬件中实现为专用芯片,可存储由专用芯片执行的指令。流程600的部分或所有操作可在图3中流程300的一个或多个阶段实现。
在操作602处接收到第一幅图像、第二幅图像和当前图像,每一幅图像均可以相同形式被划分成切片。例如,如图7所示,视频流700可以是用于编码的视频流。第一幅、第二幅和当前图像可以分别是图像702、704和706。图像702-706中的每一幅以相同的模式被分成三个切片。
在操作604处,分别根据第一图像的切片和第二图像的切片确定第一个切片和第二个切片。第一个和第二个切片可以不具有相同定位。也就是说,第一个和第二个切片可以分别对应于图像的不同位置。例如,可设定第一幅图像702的第一个切片为切片I00;第二幅图像704的第二个切片为I11。第一个切片和第二个切片不具有相同定位,如图7所示。
在操作606处,使用帧内预测分别将第一个切片和第二个切片编码为第一个I切片和第二个I切片,并且使用帧间预测分别参考第一个I切片和第二个I切片来为当前图像中与第一个I切片共位的切片和当前图像中与第二个I切片共位的切片分别进行编码。例如,可以使用帧内预测将第一个切片I00和第二个切片I11编码为I切片。可使用帧间预测参考I00将当前图像706中与I00共位的切片P02编码为P切片。并可使用帧间预测参考I11将当前图像706中与I11共位的切片P12编码为P切片。
在一些实现中,可以针对图像组迭代操作602-606。例如,视频流700可以被划分为不同的图像组(例如:第一组包含图像702-710,第二组包含图像712-720)。可对每个分组执行操作602-606。
例如,可以接收包含当前图像的第一数量(如k幅)图像,每幅图像包含以相同形式划分的第二数量(如m个)切片。例如,如图7所示,第一数量可以是k,并且这k幅图像可以是时间戳为t0至tk-1的图像702-710。第二数量m可以是三个,如图7所示。这k幅图像702-710均以相同形式被划分。
接收到k幅图像后,可以从k幅图像中确定其m个切片。这m个切片中彼此都不具有相同定位。也就是说,这m个切片可以对应于图像的不同位置。也就是说,这m个切片中没有一个与之具有相同定位的切片。这k幅图像中的每一幅最多可包含m个切片中的一个。例如,对于视频流700的第一组图像,可以从k幅图像中确定三个切片I00、I11和I22。切片I00、I11和I22彼此不具有相同定位。也就是说,切片I00、I11和I22对应于图像(如当前图像706)的不同位置。第一组中的每幅图像702-710可以最多包含三个切片I00、I11和I22中的一个。也就是说,一些图像(如图像702-706)可以包含切片I00、I11和I22中的一个,而另一些图像(如图像708-710)也可以不包含切片I00、I11和I22中任何一个。应注意的是,m(如3个)可小于或等于k。
如确定将m个切片作为I切片,则可以使用帧内预测将其编码为m个I切片。此外,可以使用帧间预测参考与这m个I切片具有相同定位的n个相应的I切片的来编码当前图像的第三数量(如n个)切片。例如,如图7所示,可以使用帧内预测将三个已确定的切片I00、I11和I22编码为I切片。第三数量n可以是2。例如,对于当前图像的两个切片P02和P12,可使用帧间预测参考两个与之相应具有共同定位的I切片I00和I11为其进行编码。应注意的是,n(如2个)可小于或等于m(如3个)。
应注意的是,确定被编码为I切片的切片并不限于切片I00、I11和I22。例如,当m是3时,可以选择k幅图像702-710中的任何三幅图像,在每幅图像中可选择用于帧内预测编码的切片。还应注意,确定用于帧内预测编码的m个的切片可以分布在连续或非连续图像中。例如,所确定的切片I00、I11和I22分布在连续图像702-706中,如图7所示。又如,所确定的切片(未示出)可分布在视频流700的非连续图像中,如图像702、706和708。还应注意的是,如m个确定的切片分布在连续图像中,这些连续图像可以位于图像组的任何位置。例如,如图7所示,包含确定的切片I00、I11和I22的三幅连续图像702-706位于k图像702-710的开头部分。又如,三幅连续图像702-706也可以位于k幅图像702-710的中间部分或末端部分(图7中未示出)。还应注意,所确定切片的位置排序并不限于上述示例。例如,在沿着时间线上的图像702-706中,确定的切片I00、I11和I22按照从上到下排列。又如,也可以在图像的任意随机位置选择确定的切片,如沿时间线的三幅图像中的I00,I21和I12或I20、I01和I12(未示出)。
在一些实现中,所确定的m个切片可互补以涵盖整幅图像。例如,在图7中,确定的切片I00、I11和I22是互补的,其组合可以涵盖整幅图像。
本文中的“渐进式”一词用在编码器中指的是选择I切片以用于帧内预测的方式,使得编码的图像越多,就有越多图像中的切片被编码成I切片。可以以增量方式聚合那些被编码的I切片以涵盖整幅图像。例如,为视频流700的编码中,在对图像702进行编码时,可以先将切片I00编码成I切片,以用于对图像704-710中具有相同定位的切片进行帧内预测。被编码的I切片I00可以是整幅图像的一部分(如三分之一)。在对图像704进行编码时,可以先编码I切片I11以用于在编码图像706-710时对具有相同定位的切片进行帧间预测。可将被编码的I切片I00和I11聚合起来以涵盖更大一部分图像(如三分之二)。也就是说,被编码的I切片的聚合是递增的。I切片I00和I11在本文中可称为“渐进式I切片参考”。
在一些实现中,如使用渐进式I切片参考来编码第一组图像(如包含图像702-710的第一组图像),则可以基于一组新的I切片使用渐进式I切片参考来编码后续的图像组(如包含图像712–720的第二组图像)。
例如,在接收到k幅图像(含当前图像)之后,可接收到第四数量(如p)的图像,每幅图像包含以相同形式划分的m个切片。在一些实现中,p可以等于k。例如,k幅图像可以是图像702-710,p幅图像可以是712-720(即p等于k)。p幅图像中的每一幅均可包含三个(即m为3)切片,切片的划分方式与k幅图像702–710的划分方式相同。
在接收到p幅图像后,可以使用帧间预测参考第二批I切片中的一个切片来编码这p幅图像的其中一幅图像的切片,该图像的切片可以与第二批I切片中的其中一个切片具有相同定位。例如对于图像712,可使用帧间预测参考I切片I11来编码P切片P1k。以此类推,可参考I切片I22为图像712的P切片P2k和图像714的P切片P2k+1进行编码。
在一些实现中,p也可以不等于k。例如,从时间t0开始,可接收视频流700中的一组图像(如图像702–710)并使用一组已被编码的I切片(如I00、I11和I22)为其编码。在预定时间tk-1之后,可以接收视频流700中的新的图像组(如图像712、714、716...),并使用新的一组I切片(如I切片I0k、I1k+1和I2k+2)对其进行编码。新组中的图像数量与第一种的数量可以相等,也可以不相等。换句话说,可以在编码器处使用预定时间段(例如,tk-1减t0,或tk-1-t0)来控制何时开始编码新的图像组,该图像组采用帧内预测基于新的一组切片被编码。
回过头来参考流程600,在一些实现中,k(即图像组中图像的数量)可以等于m(即确定用于帧内预测编码的一组图像中切片的数量)。例如,如图8所示,每组中的图像数目(即k)是4。在包含图像802-808的第一组中,确定将四个切片(即m也是4个)I00、I11、I22和I33用于帧内预测编码。在数据丢包图像810-816的第二组中,确定将四个切片I04、I15、I26和I37用于帧内预测编码。所确定的切片被用作为后续具有相同定位的P切片作帧间预测的参考切片(例如:对于I切片I00,后续共同定位的P切片是P01、P02和P03)。
在一些实现中,可使用帧间预测参考第一个I切片来编码第二幅图像中至少两个切片。例如,如图9所示,当第一幅图像是图像902时,第二幅图像是图像904,第一个I切片是图像902中的I切片I00,在图像904中至少有两个切片(如切片P01,P21和P31)可使用帧间预测参考I切片I00进行编码。以此类推,当第一幅图像是图像904时,第二幅图像是图像906,第一个I切片是I11,在图像906中至少有两个切片(如切片P12和P32)可使用帧间预测参考I切片I11进行编码。如前所述,图9所示的编码视频流配置是为了能够在随机访问中尽快解码图像。
在一些实现中,可使用帧间预测对紧接在当前图像之后的未来图像进行编码,帧间预测时可参考当前图像中相应的具有相同定位的切片来编码未来图像的所有片段。例如,如图10所示,如果当前图像是图像1008,那么紧接在当前图像之后的未来图像可以是图像1010。如图10所示,可使用帧间预测参考当前图像1008中相应具有相同定位的切片(P03、P13和P23))来对未来图像1010中的所有切片(如P04、P14和P24)进行编码。换句话说,在使用帧间预测编码时,视频流1000的一些P切片(如P03、P13和P23)可以使用I切片(如I00、I11和I22)或其他P切片(P03、P13和P23)作为参考。如前所述,通过使用如图10中所示的配置,可以实现自适应地调整视频流的编码方式以改善编码图像的质量。
如上所述,本领域专业人士应该会注意,本文所述的本发明的全部或部分内容可以使用具有计算机程序的通用计算机或处理器来实现,其计算机程序在被运行时可执行本文所述的任何相应的技术、算法和/或指令。另外,也可以有选择地使用专用计算机或处理器,配备专用硬件设备用以执行本文描述的任何方法、算法或指令。
本文所述的计算设备(以及存储在其上和/或由此执行的算法、方法、指令等)可以通过硬件、软件或其任何组合来实现。硬件可包括计算机、知识产权(IP)内核、专用集成电路(ASIC),可编程逻辑阵列、光处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或其他任何适用的电路。在权利要求中,“处理器”一词应理解为包含任何上述内容中的一个或其多个组合。
本文所述各方面内容可通过功能块组件和各种处理操作来描述。本文的流程和序列可以单独或以任何组合形式来执行。功能块可以通过执行任意数量的可运行特定功能的硬件和/或软件组件来实现。例如,所述的内容可以采用各种集成电路组件,例如存储器元件、处理元件、逻辑元件、查找表等,在一个或多个微处理器或其他控制设备的控制下执行各种功能。类似地,实现所述内容各个功能时如需采用软件编程或软件元件,都可以采用诸如C、C++、Java、汇编程序等的任何编程或脚本语言来实现本发明,且可以采用任何数据结构、对象、进程、例程或其他编程元素的任意组合来执行各种算法。各项功能可以在一个或多个处理器上通过执行算法来实现。此外,本发明所述各功能可以采用任意数量的常规技术来进行电子配置、信号处理和/或控制、数据处理等。本文广泛使用“机制”和“元素”这些词语,并不限于机械或物理实现,而是可以包括与处理器结合的软件例程等。
以上发明的实施方式或部分实施方式可以采取计算机程序产品的形式,该程序产品可通过计算机使用或可由计算机可读介质进行访问等。计算机可用或计算机可读介质可以是任何设备,该设备可以具体包含、存储、传送或传输供任何处理器使用或与其结合使用的程序或数据结构。该介质可以是电子的、磁的、光学的、电磁的或半导体设备等等。也可包含其他适用的介质。上述计算机可用或计算机可读介质可以被称为非暂时性存储器或介质,并且可以包括RAM或其他易失性存储器或存储设备,它们可以随时间变化而发生改变。本文所述的设备存储器并非必须物理上配备于设备中,而是可以由设备远程访问,并且不必与设备中其他物理上配备的存储器相邻,特别说明除外。
本文所述作为本发明的示例执行的一项或多项功能均可使用机器可读指令来实现,该指令用于操作前述一个或多个组合的硬件。计算代码可以以一个或多个模块的形式实现,通过该模块可以将一个或多个组合的功能作为计算工具来执行,在运行本文所述方法和系统时,输入和输出数据在每个模块与一个或多个其他模块之间进行相互传输。
“信号”和“数据”两词可以互换使用。此外,计算设备各部分功能并非必须以相同的方式来实现。信息、数据和信号可以使用各种不同的技术和方法来表示。例如,本文中提到的任何数据、指令、命令、信息、信号、比特、符号和芯片可以用电压、电流、电磁波、磁场或粒子、光学场或粒子等一项或多项组合来表示。
本文采用“示例”一词来表示举例、实例或说明。本文所述用于“示例”的任何功能或设计不一定表示其优于或胜于其他功能或设计。相反,使用“示例”一词是为了以具体的方式呈现概念。另外,“一个功能”或“一项功能”这两个短语在全文中多次用到,但并不意味着同一个实施方式或同一功能。
本文中所使用的“或”字旨在表示包含性的“或”而不是排他性的“或”。也就是说,“X包括A或B”意在表示任何自然的包含性排列,除非另有说明,或者从上下文可明确判断则另当别论。换句话说,如果X包含A,X包含B,或X包含A和B,那么在任何前述实例下“X包含A或B”都成立。以此类推,“X包括A和B中的一个”是指“X包括A或B”。本公开中使用的“和/或”一词旨在表示“和”或不排他性的“或”。也就是说,“X包括A、B和/或C”旨在表示X可包括A、B和C的任何组合,除非另有说明或上下文另有明确指示。换句话说,如果X包括A,X包括B,X包括C,X包括A和B,X包括B和C,X包括A和C,或者X包括A、B和C中的全部,那么上述情况中的每一种或多种都满足“X包括A、B和/或C”的描述。以此类推,“X包括A、B和C中的至少一个”是指“X包括A、B和/或C”。
本文中“包含”或“具有”及其同义词旨在表示包括其后列出的项目及其等同物以及附加项目。根据上下文语境,本文中的“如果”一词可以被解释为“当”“当……时”或“假设”等意思。
在本发明所述内容(特别是下文的权利要求书)中,“一”、“一个”和“该”以及类似的指示代词应理解为包含一个和多个的单数和复数形式。此外,本文中对数值范围的描述只是一种简便的描述方式,旨在表示包含在该范围之内的每一个单独数值,并且每个单独值并入规格范围中,等效于在本文中单独列举。最后,本文所述的所有方法的步骤可以以任何合适的顺序执行,除非本文另有说明或者与上下文明显矛盾。本文提供的示例或示例性语言(例如“诸如”)的使用旨在更好地说明本发明,并无意于限制本发明的范围,除非另有说明。
本文使用各种标题和小标题列出列举条目。包含这些内容是为了增强可读性并简化查找和引用材料的过程。这些标题和小标题无意于、也不会用来影响对权利要求的解释或以任何方式限制权利要求的范围。本文示出和描述的具体实现是本发明的说明性示例,且无意于以任何方式限制本发明的范围。
本文引用的所有参考文献(包括出版物、专利申请和专利)均通过引用纳入本文,等效于单独且明确地指明将每个参考文献通过引用纳入本文,且涵盖参考文献的全部相关内容。
虽然已经结合某些实施例和实施方式对本发明进行描述说明,但应理解为,本发明并不限于所公开的实施方式,与之相反,本公开旨在覆盖权利要求范围之内所涵盖的各种变体和等同设置,该范围应被赋予最宽泛的解释以涵盖法律允许的所有上述变体和等同设置。

Claims (20)

1.一种对压缩视频流进行解码的方法,包括:
处理器从所述压缩视频流解码一组图像,
其中所述一组图像的每一幅图像由相同数量的切片组成,
切片以相同模式划分,使得在所述一组图像中,图像中切片的边界具有相同的相对位置,
所述一组图像中不存在所有切片都是用帧内预测进行解码的图像,
解码所述一组图像包括:
解码所述一组图像中的第一幅图像和第二幅图像,其中第一幅图像包括使用帧内预测解码的第一个I切片,第二幅图像包括使用帧内预测解码的第二个I切片,并且第一个I切片和第二个I切片彼此不具有相同定位;
参考第一个I切片为所述一组图像的当前图像的第一个P切片进行解码,当前图像的第一个P切片与第一个I切片具有相同定位;以及
参考第二个I切片为当前图像的第二个P切片进行解码,当前图像的第二个P切片与第二个I切片具有相同定位。
2.根据权利要求1所述的方法,其中第二幅图像中至少有两个P切片通过参考第一个I切片进行解码。
3.权利要求1所述的方法,还包括:
为紧接在当前图像之后的一幅未来图像进行解码,其中未来图像的所有切片均通过参考当前图像中相应具有相同定位的切片被解码。
4.根据权利要求1所述的方法,还包括:
处理器从压缩视频流中解码k幅图像,这k幅图像中的每一幅均包括以相同形式划分的m个切片,其中km是正整数,这k幅图像中包括使用帧内预测解码的m个I切片,这m个I切片彼此都不具有相同定位,并且这k幅图像中的每一幅图像最多包含m个I切片中的一个;以及
参考m个I切片中分别与当前图像的n个P切片具有相同定位的n个I切片,为当前图像的n个P切片进行解码,其中n是小于或等于m的正整数。
5.根据权利要求4所述的方法,其中所述m个I切片是互补的,以形成一幅完整的虚拟图像,该虚拟图像的面积与压缩视频流中整幅图像的面积相等。
6.根据权利要求4所述的方法,其中k幅图像中包括m幅连续图像,并且这m幅连续图像中的每一幅均包括这m个I切片中的一个。
7.根据权利要求6所述的方法,其中在k幅图像的开始处对m幅连续图像进行解码。
8.根据权利要求4所述的方法,其中m等于k
9.根据权利要求4所述的方法,还包括:
处理器在对压缩视频流中的k幅图像进行解码之后对p幅图像进行解码,其中p为正整数,并且这p幅图像中的每一幅图像均包括以相同形式划分的m个切片;以及
通过参考m个I切片中的一个对p幅图像中一幅图像的一个P切片进行解码,其中该P切片与m个I切片中的这一个切片具有相同定位。
10.根据权利要求9所述的方法,其中p等于k
11.一种为视频流进行编码的方法,包括:
处理器编码一组图像,
其中所述一组图像包括第一幅图像、第二幅图像和当前图像,
所述一组图像中的每一幅图像均以相同形式被划分为数目相同的切片,使得图像中切片的边界具有相同的相对位置,
所述一组图像中不存在所有切片都使用帧内预测进行编码的图像,
编码所述一组图像包括:
从第一幅图像的切片中确定第一个切片,并且从第二幅图像的切片中确定第二个切片,其中第一个切片和第二个切片彼此不具有相同定位;
使用帧内预测将第一幅图像的第一个切片编码为第一个I切片;
使用帧内预测将第二幅图像的第二个切片编码为第二个I切片;
使用帧间预测且参考第一个I切片为当前图像中与第一个I切片具有相同定位的第一个当前切片进行编码;
使用帧间预测且参考第二个I切片为当前图像中与第二个I切片具有相同定位的第二个当前切片进行编码。
12.根据权利要求11所述的方法,还包括:
通过帧间预测参考第一个I切片为第二幅图像中的至少两个切片进行编码。
13.根据权利要求11所述的方法,还包括:
通过帧间预测为紧接在当前图像之后的一幅未来图像进行编码,其中未来图像的所有切片均通过参考当前图像中相应具有相同定位的切片被编码。
14.根据权利要求11所述的方法,还包括:
处理器接收包括当前图像的k幅图像,这k幅图像中的每一幅均以相同的模式被划分为m个切片,其中km为正整数;
k幅图像中确定m个切片,这m个切片彼此都不具有相同定位,且这k幅图像中的每一幅最多包括m个切片中的一个;以及
使用帧内预测将这m个切片编码为m个I切片,对于当前图像的n个切片,使用帧间预测参考m个I切片中分别与所述n个切片具有相同定位的I切片,进行编码,其中n是小于或等于m的正整数。
15.根据权利要求14所述的方法,其中这m个I切片是互补的,以形成一幅完整的虚拟图像,该虚拟图像的面积与视频流中整幅图像的面积相等。
16.根据权利要求14所述的方法,其中这k幅图像包括m个连续图像,并且这m幅连续图像中的每一幅均包括这m个切片中的一个。
17.根据权利要求16所述的方法,其中在k幅图像的开头处接收m幅连续图像。
18.根据权利要求14所述的方法,其中k等于m。
19.根据权利要求14所述的方法,还包括:
处理器在接收到k幅图像后接收p幅图像,其中p为正整数,且这p幅图像中的每一幅均以相同的模式被划分为m个切片;以及
使用帧间预测编码第三个切片,其中,所述第三个切片位于所述p幅图像中的一幅图像中,所述第三个切片参考所述m个I切片中的一个切片,并且所述第三个切片与所述m个I切片中的所述一个切片具有相同定位。
20.根据权利要求19所述的方法,其中p等于k
CN201811254044.1A 2018-05-01 2018-10-24 采用渐进式i切片参考方法实现抗丢包性能的视频编码 Active CN110430434B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/967,754 2018-05-01
US15/967,754 US10567781B2 (en) 2018-05-01 2018-05-01 Progressive I-slice reference for packet loss resilient video coding

Publications (2)

Publication Number Publication Date
CN110430434A CN110430434A (zh) 2019-11-08
CN110430434B true CN110430434B (zh) 2022-04-26

Family

ID=65686755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811254044.1A Active CN110430434B (zh) 2018-05-01 2018-10-24 采用渐进式i切片参考方法实现抗丢包性能的视频编码

Country Status (3)

Country Link
US (1) US10567781B2 (zh)
EP (1) EP3565246B1 (zh)
CN (1) CN110430434B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621685A (zh) * 2008-07-04 2010-01-06 株式会社日立制作所 编码装置和编码方法
WO2010069427A1 (en) * 2008-12-19 2010-06-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and encoder for providing a tune- in stream for an encoded video stream and method and decoder for tuning into an encoded video stream
CN104823449A (zh) * 2012-09-28 2015-08-05 高通股份有限公司 在视频译码中用信号表示关注区和逐渐解码刷新
CN104838658A (zh) * 2012-12-14 2015-08-12 高通股份有限公司 具有不对称空间分辨率的纹理和深度视图分量当中的内部视图运动预测
WO2016026457A1 (zh) * 2014-08-22 2016-02-25 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634413B2 (en) * 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
GB0500332D0 (en) * 2005-01-08 2005-02-16 Univ Bristol Enhanced error concealment
US20100296579A1 (en) * 2009-05-22 2010-11-25 Qualcomm Incorporated Adaptive picture type decision for video coding
US8964833B2 (en) * 2011-07-19 2015-02-24 Qualcomm Incorporated Deblocking of non-square blocks for video coding
US20130101033A1 (en) * 2011-10-14 2013-04-25 Qualcomm Incorporated Coding non-symmetric distributions of data
US20130177084A1 (en) * 2012-01-10 2013-07-11 Qualcomm Incorporated Motion vector scaling in video coding
US9191671B2 (en) * 2012-04-19 2015-11-17 Vid Scale, Inc. System and method for error-resilient video coding
US9521410B2 (en) * 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding
US9648318B2 (en) * 2012-09-30 2017-05-09 Qualcomm Incorporated Performing residual prediction in video coding
US20140092969A1 (en) * 2012-10-01 2014-04-03 Mediatek Inc. Method and Apparatus for Data Reduction of Intermediate Data Buffer in Video Coding System
KR101407832B1 (ko) * 2012-12-12 2014-06-18 조선대학교산학협력단 다수 참조 프레임을 사용하는 영상 코덱의 에러 리질리언스를 위한 참조 프레임 선택 기법
US9749627B2 (en) * 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
JP6398569B2 (ja) * 2014-10-07 2018-10-03 株式会社ソシオネクスト 画像符号化装置、画像符号化方法および画像符号化プログラム
US20170013274A1 (en) * 2015-07-09 2017-01-12 Microsoft Technology Licensing, Llc Intra-refresh for video streaming

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621685A (zh) * 2008-07-04 2010-01-06 株式会社日立制作所 编码装置和编码方法
WO2010069427A1 (en) * 2008-12-19 2010-06-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and encoder for providing a tune- in stream for an encoded video stream and method and decoder for tuning into an encoded video stream
CN104823449A (zh) * 2012-09-28 2015-08-05 高通股份有限公司 在视频译码中用信号表示关注区和逐渐解码刷新
CN104838658A (zh) * 2012-12-14 2015-08-12 高通股份有限公司 具有不对称空间分辨率的纹理和深度视图分量当中的内部视图运动预测
WO2016026457A1 (zh) * 2014-08-22 2016-02-25 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HANNUKSELA M M ET AL等.Random access using isolated regions.《PROCEEDINGS 2003 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》.2003, *
Random access using isolated regions;HANNUKSELA M M ET AL等;《PROCEEDINGS 2003 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING》;20030914;第842页左侧栏第4-5段 *

Also Published As

Publication number Publication date
US10567781B2 (en) 2020-02-18
US20190342567A1 (en) 2019-11-07
EP3565246A1 (en) 2019-11-06
CN110430434A (zh) 2019-11-08
EP3565246B1 (en) 2021-03-17

Similar Documents

Publication Publication Date Title
US20210274221A1 (en) Video data stream concept
US10187662B2 (en) Signaling parameters in video parameter set extension and decoder picture buffer operation
US20160165252A1 (en) Signaling Change in Output Layer Sets
JP6333949B2 (ja) 改善されたrtpペイロードフォーマット設計
US9699480B2 (en) Level limits
JP6472449B2 (ja) ビデオシーケンスを復号するための方法
CN107257472B (zh) 视频编码方法、视频解码方法以及实现该方法的装置
US20150103924A1 (en) On operation of decoded picture buffer for interlayer pictures
EP3576410B1 (en) Dynamic reference picture reconstruction
KR20160114717A (ko) 비디오 데이터 인코딩 및 디코딩 방법 및 장치
US10506283B2 (en) Video decoding and rendering using combined jitter and frame buffer
CN110430434B (zh) 采用渐进式i切片参考方法实现抗丢包性能的视频编码
CN110557635B (zh) 视频流编码方法以及对编码视频流解码的方法和设备
KR20140043240A (ko) 영상 부호화/복호화 방법 및 장치
CN106131565B (zh) 使用联合抖动-帧缓冲区的视频解码及渲染
CN115699745A (zh) 图像编解码方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant