CN109155850A - 并行视频编码 - Google Patents

并行视频编码 Download PDF

Info

Publication number
CN109155850A
CN109155850A CN201680085904.6A CN201680085904A CN109155850A CN 109155850 A CN109155850 A CN 109155850A CN 201680085904 A CN201680085904 A CN 201680085904A CN 109155850 A CN109155850 A CN 109155850A
Authority
CN
China
Prior art keywords
data
slice
electronic equipment
video
frequency
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.)
Pending
Application number
CN201680085904.6A
Other languages
English (en)
Inventor
张健华
王浩
董悦
韩彬
赵文军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Shenzhen Dajiang Innovations Technology Co Ltd
Original Assignee
Shenzhen Dajiang Innovations Technology 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 Shenzhen Dajiang Innovations Technology Co Ltd filed Critical Shenzhen Dajiang Innovations Technology Co Ltd
Publication of CN109155850A publication Critical patent/CN109155850A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/436Methods 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 using parallelised computational arrangements
    • 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/127Prioritisation of hardware or computational resources
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

本文描述的是支持视频数据编码的系统、方法、存储介质和计算机程序。在一个实施例中公开了一种电子设备。电子设备包括切片划分器和使用一个或多个视频编码电路实现的切片编码器。切片划分器被配置为将视频数据划分为多个切片,其中每个切片包含多个数据块,每个数据块包含多个数据点,其中在多个数据流中处理多个数据点。使用一个或多个视频编码电路实现的切片编码器被配置为对多个数据流中的数据块同时进行编码并且将经编码的数据组合为组合数据流。

Description

并行视频编码
版权声明
本专利文件的公开的一部分包含受到版权保护的材料。版权所有人不反对任何人对专利文档或专利公开(如其在专利和商标局中的专利文件或记录中出现的原样)进行复制再现,但是在其他情况下版权所有人保留所有版权。
技术领域
所公开的实施例总体上涉及数据处理,包括但不限于视频编码。
背景技术
多媒体通信是现代商业的基石。在多媒体通信中,视频流通过通信网络从源位置发送到目的地。原始视频流通常每秒包含15至60帧,且每帧包括数十万甚至数百万像素(也称为图元(pel)、点(dot)或图像元素(picture element))。因此,存储和传输原始视频流将占用大量的存储空间和传输带宽。
为了提高传输效率,通常使用视频编码来压缩视频流。在源位置,可以对视频流进行编码以去除数据冗余,其中可以在目的地没有任何信息损失地对经编码的数据进行解码(这些技术通常被称为无损压缩/编码)。附加地或替代地,在源位置,可以对视频流进行编码以去除以下数据:所述数据丢失时对在目的地位置观察经解码的视频流的人而言几乎没有影响(这些技术通常被称为有损压缩/编码)。
虽然视频编码可以用软件进行,但对于具有时间延迟要求的多媒体通信,视频编码通常用硬件进行。传统地,视频编码通过固定硬件来进行,例如编码服务器/计算机。固定硬件可以以各种协议提供高质量的压缩。然而,固定硬件通常体积庞大而且耗电,因此不适用于移动环境,并且这是本发明的实施例旨在解决的一般领域。
发明内容
本文描述的是支持视频数据编码的系统、方法、存储介质和计算机程序。在一个实施例中公开了一种电子设备。电子设备包括切片划分器和使用一个或多个视频编码电路实现的切片编码器。切片划分器被配置为将视频数据划分为多个切片,其中每个切片包含多个数据块,每个数据块包含多个数据点,其中在多个数据流中处理多个数据点。使用一个或多个视频编码电路实现的切片编码器被配置为对多个数据流中的数据块同时进行编码并且将经编码的数据组合为组合数据流。
本发明的实施例提供了使用多个数据流同时对切片内的视频数据进行编码的视频编码电路,切片内编码的并发性允许实时对视频数据进行编码以用于多媒体通信。
附图说明
图1是根据本发明各种实施例的视频通信环境的示例性图示。
图2是根据本发明一个实施例的包括视频编码器的示例性电子设备。
图3示出了根据本发明一个实施例的视频编码过程。
图4A示出了根据本发明一个实施例的经由编码进行处理的数据块。
图4B示出了根据本发明另一实施例的经由编码进行处理的数据块。
图4C示出了根据本发明一个实施例的并行编码匹配量化。
图5是示出了根据本发明一个实施例的切片内编码的流程图。
图6是更详细地示出了根据本发明一个实施例的编码操作的流程图。
图7示出了根据本发明一个实施例的后编码过程。
图8示出了根据本发明一个实施例的切片首部信息的组成。
图9示出了根据本发明一个实施例的切片索引表。
图10是示出了根据本发明一个实施例的向外部存储器发送数据的流程图。
图11是示出了根据本发明一个实施例的将数据存储在视频编码缓冲器中的流程图。
图12是示出了根据本发明一个实施例的向外部存储器传输切片信息时插入虚拟字节的流程图。
图13示出了根据本发明一个实施例的外部存储器的存储器分配。
图14是根据本发明各种实施例的用于对视频进行编码的电子设备的示例性图示。
具体实施方式
作为示例而非限制,在附图的各图中示出了本发明,其中相似的附图标记指示相似的元件。应当注意到:在本公开中针对“实施例”或“一个实施例”或“一些实施例”的引用不一定指的是相同实施例,并且这种引用意味着至少一个实施例。
在附图中,本文使用的括号中的文本和具有虚线边界(例如,长划点虚线、短划线虚线、点虚线以及点)的框可以用于示出向本发明实施例添加附加特征的可选操作。然而,这种标注不应当被视为意味着:在本发明的某些实施例中,他们是仅有的选项或可选操作,和/或具有实线边界的框不是可选的。此外,在附图中,附图标记用于表示各种元件或部件,不同附图中的相同附图标记表示具有相同或相似功能的元件或部件。
在以下描述和权利要求中,可以使用术语“耦接”和“连接”以及它们的派生词。应当理解:这些术语不意在作为彼此的同义词。“耦接”用于指示两个或更多个元件可以或可以不彼此直接物理或电学接触、彼此协作或交互。“连接”用于指示在彼此耦接的两个或更多个元件之间建立通信。如本文所使用的,“集合”指的是包括一个项目在内的任何正整数个项目。
电子设备使用机器可读介质(也被称为计算机可读介质)来(内部和/或通过网络使用其他电子设备)存储和发送代码(其由软件指令构成,且有时被称为计算机程序代码或计算机程序)和/或数据,机器可读介质是例如计算机或机器可读存储介质(例如,磁盘、光盘、只读存储器(ROM)、闪存设备、相变存储器)和计算机或机器可读传输介质(也被称为载体)(例如,电、光、无线电、声或其他形式的传播信号-例如载波、红外信号)。从而,电子设备(例如,计算机)包括硬件和软件,例如一个或多个微处理器的集合,其耦接到用于存储在该微处理器集合上执行的代码和/或用于存储数据的一个或多个及其可读存储介质。例如,电子设备可以包括包含代码在内的非易失性存储器,因为即使在电子设备关闭(当掉电时)时非易失性存储器也可以保持代码/数据,以及在打开电子设备时,通常将要由该电子设备的微处理器执行的该部分代码从较慢的非易失性存储器中拷贝到该电子设备的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))中。通常的电子设备还包括用于与其他电子设备建立网络连接(以使用传播信号来发送和/或接收代码和/或数据)的一个或多个物理网络接口的集合。
可移动物体是包括一个或多个推进单元以推动可移动物体的移动的电子没备。可移动物体可以是无人飞行器、无人载运工具或机器人。这些可移动物体的共同之处在于在可移动物体上没有人类飞行员/驾驶员/操作员控制这些可移动物体。也就是说,通过不同的电子设备来控制使用一个或多个推进单元的可移动物体的移动。无人飞行器也被称为无人机(UAV)、无人驾驶飞机(drone)或无人飞行器系统(UAS),所有这些都可以互换使用来表示这里的无人飞行器。
附属设备是与视频通信环境中的另一电子设备有联系的电子设备。在视频通信环境中,电子设备和附属设备都可以是可穿戴电子设备、手持电子设备或可移动物体。所谓的附属设备与电子设备之间的联系通常是附属设备与电子设备之间(通过一个或多个有线线路)的通信耦接(通过通信网络)或连接。
图1是根据本发明各种实施例的视频通信环境的示例性图示。如图1所示,视频通信环境100包括电子设备150、通信网络190和附属设备152。
通信网络190可以是各种有线网络或无线网络。电子设备150和附属设备152之间的有线线路包括一个或多个物理通信链路,例如铜线和光纤。有线网络可以部署诸如通用异步接收器/发射器(UART)技术、控制器区域网络(CAN)技术以及内部集成电路(I2C)技术的技术。无线通信网络可以部署诸如无线局域网(WLAN)(例如,WiFiTM)、蓝牙、第三/第四/第五代蜂窝(3G/4G/5G)技术。
电子设备150包括视频编码器102。相机104可以被设置在电子设备150内或被耦接到电子设备150。相机104捕获图像和视频,并且由视频编码器102对所捕获的图像和/或视频进行编码。当相机捕获视频时,相机有时被称为摄像机或录像机,在本说明书中,这些术语可以互换使用。尽管仅示出了一个相机,但应该理解,电子设备150可以与多个相机一起工作,基于操作方请求(例如,电子设备150的操作方)和/或工作负载特性(例如,基于视频编码器102的工作负载的负载平衡)根据一个或多个调度策略对所捕获的图像和/或视频进行编码。换言之,视频编码器102可以接收多个图像和/或视频传送,并对它们进行编码,使得它们可以以更紧凑的形式被发送。
要注意的是,用于对视频进行编码的编码技术可以被视为包含用于对图像进行编码的编码技术的超集,这是因为被显示的视频是视频帧流,每个视频帧都是图像。因此,除非另有说明,否则本说明书中讨论的对视频数据执行的操作也适用于静止图像数据。此外,相机可以捕获音频数据、位置数据以及图像数据,因此下文中,本说明书中的视频数据可以包括视频帧数据、音频数据、位置数据以及由一个或多个相机捕获的其他信息。
经编码的数据然后通过通信网络190从电子设备发送到附属设备152。附属设备152是另一电子设备。在附属设备152处,经编码的数据由视频解码器112进行解码。然后可以在例如显示器114上观看经解码的数据,该显示器114可以在附属设备152内或耦接到附属设备152。当经编码的数据包括音频数据时,可以单独地从扬声器(未示出)收听或与显示器一起从扬声器(未示出)收听经解码的数据。视频编码器102和视频解码器112经常一起被称为编解码器系统。
编解码器系统可以支持一个或多个视频压缩协议。例如,视频通信环境100中的编解码器可以支持以下项中的一个或多个:H.265高效视频编码(HEVC)、H.264高级视频编码(AVC)、H.263、H.262、Apple ProRes、Windows Media Video(WMV)、微软(MS)移动图像专家组(MPEG)-4v3、VP6-VP9、Sorenson、RealVideo、Cinepak和Indeo。尽管每个视频压缩协议都有其自身的优点和缺点,但功耗、编码/解码速度和/或图片保真度通常是需要考虑的最重要的因素。本发明的实施例不限于特定的视频压缩协议,并且可应用于支持切片编码的视频压缩协议。
在一个实施例中,电子设备150是移动电子设备。例如,电子设备150可以是可穿戴电子设备、手持电子设备或可移动物体。当电子设备150是可移动物体时,相机104可以是自带相机,其拍摄用于诸如工业/农业检查、现场活动广播、科学研究等各种目的的航拍照片和视频。
与诸如台式计算机/服务器的固定电子设备相比,移动电子设备通常具有更小的尺寸,因此移动电子设备对大量视频数据进行实时编码是更具挑战性的。然而观众对视频质量的期望不断提高。例如,现在市场上向观众提供4K分辨率的视频流是有利的。为了提供4K分辨率(其表示水平分辨率大约4000像素并且垂直分辨率大约2000像素的显示),相机104可以是捕获4K分辨率视频的4K相机。视频帧的4K分辨率通常包括7-11M个像素,并且每个像素可以包括24比特,考虑到移动电子设备允许相对小尺寸的视频编码硬件,无法容易地在移动电子设备中对所得到的视频流进行编码。
本发明的实施例提供解决这些问题的解决方案。
本发明的实施例利用通过一个或多个视频编码电路的切片内并行编码。图2是根据本发明一个实施例的包括视频编码器的示例性电子设备。电子设备150包括视频编码器102和外部存储器210,以及可选地包括相机104。
相机104可以是4K相机,其提供4K分辨率的视频数据(通常被称为4K超高清(UHD)),4K分辨率的视频数据具有诸如4096×2160像素和3840×2160像素的分辨率。尽管使用4K分辨率作为视频流的高清(HD)分辨率的示例,本发明的实施例不限于以4K分辨率对视频流进行编码,并且本发明的实施例可以以其他分辨率对视频数据进行编码,其他分辨率诸如标清(SD)(例如,480行交错、576行交错),全高清(FHD)(例如,1920×1080像素)、5KUHD(例如,5120×2880像素、5120×3840像素、5120×2700像素)和8K UHD(例如,7680×4320像素、8192×5120像素、10240×4320像素)。换句话说,本发明的实施例不是特定于分辨率的,并且它们可以被实现为实时地或接近实时地编码大量的视频数据。
视频编码器102包括切片划分器201、频率变换器202、量化器204、切片编码器206、速率控制器205、比特流存储器存取单元(BSMAU)208以及首部存储器存取单元(HMAU)209。在一个实施例中,视频编码器102被实现为半导体知识产权(IP)块(也被称为IP核),该半导体知识产权(IP)块是包括裸片中的集成电路(以下简称为电路)在内的逻辑、单元或芯片的可重用单元。IP块是一方的知识产权,并且该方可以是或者也可以不是提供该电子设备150的同一方。要注意的是,仅示出了与本发明的实施例最相关的实体,并且视频编码器102可以包括其他模块/电路。例如,视频编码器通常包括诸如图像信号处理器(ISP)、微处理器/内核、寄存器/缓冲器/存储器的硬件以及诸如视频处理驱动器的软件模块,以协助电路处理视频流。
尽管仅示出了一个视频编码器,电子设备150可以包括多个视频编码器,多个编码器对来自相机104或不同相机的视频数据进行编码。视频编码器102从相机104接收视频数据,并且在此详细描述视频编码器102的编码过程。
之后,来自视频编码器102的经编码的数据被存储在外部存储器210处,外部存储器210在视频编码器102的外部,因此被称为“外部”。外部存储器可以是以下项的一种或多种:诸如双数据速率同步DRAM(DDR SDRAM或简称为DDR)、单数据速率(SDR)SDRAM的动态随机存取存储器(DRAM);静态RAM(SRAM);持久大容量存储设备(例如,闪存、磁盘)以及诸如相变存储器(PCM)、相变存储器和开关(PCMS)、忆阻器和自旋转移力矩(STT)RAM的持久性存储器。
本发明的实施例旨在优化视频编码而不影响视频解码过程。因此,在一个实施例中,本发明的实施例在电子设备150处实施,而附属设备152不变。换句话说,由于不论是否在电子设备150中实施本发明的实施例附属设备152接收的经编码的数据都是相同的,因此附属设备152不知道电子设备150中的改进。
在附属设备152处的解码中隐藏编码过程的变化是有利的。通常按照一标准指定解码过程,其中标准定义了经编码的数据流如何被解码。由于本发明的实施例仅改变如何执行编码而不影响解码过程,所以视频解码器112保持不变,因此本发明的实施例与现有的视频解码器兼容并且使这些实施例的应用更加容易。
图3示出了根据本发明一个实施例的视频编码过程。图3与图2相似,并且相同的附图标记表示具有相同或相似功能的元件或部件。为了避免模糊图3的其他方面,在图3中省略了图2中的某些方面。
频率变换器202、量化器204、切片编码器206和速率控制器205中的每一个可以在电路中实现,并且它们一起被称为视频编码电路350。注意,视频编码电路350可以包括其他电路和部件,并且视频编码电路350内的一些示出的电路可以彼此集成或与其他电路集成,因此使用不同的术语来指代。
任务框1-5示出了根据本发明一个实施例执行操作的顺序。
在任务框1,切片划分器201将视频数据划分为多个切片。从相机104接收视频数据。每个切片包含多个数据块,每个数据块包含多个数据点,其中在多个数据流中处理多个数据点。在一个实施例中,切片划分器201可以被实现为软件/固件模块。在备选实施例中,可以使用一个或多个电路来实现切片划分器201。
可以在图4A中示出切片划分过程,其示出了根据本发明一个实施例的通过编码处理数据块。视频数据包括以特定速率从相机(例如,相机104)接收的视频帧序列。例如,视频数据可以是从相机104接收的15帧/秒、30帧/秒、60帧/秒、120帧/秒的视频流。
图4A示出了视频帧402,视频帧402包括亮度(Y’)通道410,以及包括蓝色色度(Cb)通道412和红色色度(Cr)通道414的两个色度通道。Y’不同于Y,Y’是基于伽玛校正的红绿蓝(RGB)原色对光强度进行非线性编码的亮度。Y′CbCr色彩空间由来自相关RGB色彩空间的数学坐标变换定义的。
术语Y’CbCr、YCbCr、Y’UV、YUV和YPbPr的范围有时不明确并且重叠,并且本发明的实施例不限于特定的颜色空间方案。例如,图4A示出的Cb通道和Cr通道可以用U通道和V通道代替。本发明的描述使用Y′CbCr作为示例,并且对于本领域技术人员显而易见的是,其他色彩空间可以利用本发明的实施例。
在视频帧402内,宏块被定义用于数据处理。每个宏块包括来自亮度通道和两个色度通道的数据块。示出的采样率是4∶4∶4,其中在宏块中每个通道具有相同数量的数据块。如图所示,在采样率为4∶4∶4的情况下,宏块428包括来自亮度通道和两个色度通道中的每一个的4个数据块。不同通道内的数据块可能被不同地排序。在这个示例中,亮度通道中的数据块先被水平排序,然后被垂直排序,而两个色度通道中的数据块先被垂直排序,然后被水平排序。
虽然示出了4∶4∶4的采样率,但是例如4∶2∶2、4∶2∶0、4∶1∶1的其他采样率也被广泛使用。在不同的采样率下,来自亮度通道和色度通道的不同数量的数据块可以形成宏块。例如,采样率为4∶2∶0的宏块可以包括来自亮度通道的4个数据块和分别来自每个色度通道的1个数据块,而采样率为4∶2∶2的宏块可以包括来自亮度通道的4个数据块和分别来自每个色度通道的2个数据块。
注意,有时定义采样率而在数字之间没有分号,例如,444、420和411。另外,一些视频编解码器包括alpha通道,其作为附加图像通道(例如,扩展RGB图像)或控制将半透明前景色与背景色组合从而产生新的混合色的alpha混合的独立通道。当包括alpha通道时,可以用四个数字表示采样率,例如,针对在每个通道中包括相等数据的数据块的宏块,以4∶4∶4∶4或4444表示。
数据块通常包括8×8=64个数据点。每个数据点可以是一个像素。每个像素可以由1-48比特表示。每像素24比特有时被称为真彩色,每像素30/36/48比特有时被称为深色,并且它们通常被部署。如图所示,图4A中的数据块包括4×4=16个数据点,并且每个数据点的值为Ymn,其中m是视频帧402中的数据块的行号并且n是视频帧402中的数据块的列号。因此,如附图标记452所示,Y03是第0列第3行处的亮度数据值(例如,由1-48比特中之一表示)。可以与亮度数据值相似地来表示色度数据值,并且由于空间限制,在图4A中未示出色度数据值。
本发明的实施例不限于特定的采样率或特定形式的数据块。尽管图4A示出了4∶4∶4的采样率并且每个数据块具有4×4=16个数据点,但是该示例仅为了简化说明,并且对于本领域技术人员来说显而易见的是,其他采样率和其他数据块形成可以利用本发明的实施例。
视频帧402是包含完整图像的数据点的关键帧(也被称为帧内帧或I帧)。视频流还可以包括P帧(预测图片帧)和B帧(双向预测图片帧),P帧包括与先前帧不同的变化,B帧包括与先前帧和后续帧不同的变化。每个P帧和B帧可以由宏块和运动矢量表示。P帧和B帧的压缩细节是本领域已知的,在此不再重复。要注意的是,本发明的实施例不限于特定类型的帧,并且视频流可以包含各种I帧、P帧、B帧或预测帧。
切片包含一个或多个连续行的宏块。例如,在图4A中,宏块按行进行排序。一个切片从一行的第一个宏块开始,在同一行的最后一个宏块或者另一行的最后一个宏块结束。因此,切片包含整数个完整行。切片是字节对齐的,并且可以同时发送多个切片。切片420包括第1-3行的宏块,切片422包括第4-6行的宏块,且切片424包括第7-8行的宏块。如图所示,切片可能不具有相同数量的宏块。在宏块内,可以按照栅格扫描顺序或z字形(zig-zag)扫描顺序对亮度通道和色度通道中的块进行编号。例如,宏块428亮度通道中的数据块是以栅格扫描顺序进行编号的,其中一次将多个数据块编号为一个数据点线,且在第一数据点线的编号结束后对第二数据点线上的数据块进行编号。相比之下,以Z字形(zig-zag)扫描顺序对宏块428色度通道中的数据块进行编号,其中从第一个数据块开始分别是块0、位于第0列第1行的块1、位于第1列第0行的块2、位于第1列第1行的块3。也就是说,块被编号为逐渐远离块0。如下文所讨论的,数据块的序列顺序(使用数据块的序列号示出)被用于扫描。要注意的是,虽然图中示出了3个切片,但是视频帧可以包含更多的切片。例如,视频帧可以被分为32个切片。
切片是视频帧的一部分,并且基于切片对视频帧进行编码使得编解码器能够在错误恢复能力和压缩能力之间达到合适的折衷。切片内的数据块可以是帧内编码的(称为切片内编码),并且可以在解码器重构切片而不考虑视频帧中其他切片的错误。因此,尽管基于切片的编码在需要解码的切片级上生成额外的编码信息,但是这种编解码器系统提供了更好的错误恢复能力。
通过切片划分,可以实现切片间编码,使得可以通过视频编码电路同时对多个切片进行编码。本发明的实施例更进一步,并描述如何执行切片内编码,使得可以使用多个数据流同时对单个切片进行编码。
重新参考图3,一旦视频数据被划分为多个切片,切片被提供给频率变换器202,其中在任务框2,切片中数据块的值被变换为频率系数(也称为频谱数据系数)。频率变换器202将作为空间域视频信息(亮度数据和色度数据)的数据块的值转换为频域数据,即频率系数。频率变换器202可以对具有8×8、8×4、4×8、4×4或其他尺寸的数据点的数据块应用频率变换。
在一个实施例中,频率变换器202可以是离散余弦变换(DCT)变换器。通过DCT操作,数据块的数据点被变换为一组尺寸相同的频率系数。也就是说,对4×4或8×8数据块的DCT操作分别产生4×4或8×8块的频率系数。对于大多数视频帧,图像信息位于出现在DCT编码块的左上角的低频处。DCT编码块的右下角的值表示高频,并且可能小到足以被忽略而几乎没有可见的失真。DCT编码块的左上角的值是DC(直流,即,零频率)分量,而右下方的多个条目代表更大的垂直和水平空间频率。
DCT操作是一种可分的变换,这是因为用于DCT变换的矩阵可以被分解为两个矩阵,一个与列变换相对应并且另一个与行变换相对应。因此,DCT操作可以被实现为两个一维(1D)变换。因此,二维(2D)DCT仅是被应用二次的1D DCT,一次在列方向并且另一次在行方向。换句话说,频率变换器202可以在所提供的数据块的列方向上执行第一1D DCT操作,然后在1D编码块的行方向上执行第二1D DCT操作以产生2D编码块,2D编码块包含频率系数。备选地,可以在块的行方向上执行第一1D DCT操作,并且在块的列方向上执行第二1DDCT操作。
在一个实施例中,执行DCT的频率变换器202实现在一个或多个电路中。对于8×8数据块,频率变换器202在一个时钟周期内同时获取8个数据点。由于每次1D DCT变换对数据点的操作需要一个时钟周期,因此对于8个数据点,被分解为2次1D DCT变换的2D变换需要两个时钟周期。因此,8×8数据块上的DCT操作需要16个时钟周期。类似地,对于4×4数据块,当频率转换器202在一个时钟周期内同时获取4个数据点时,4×4数据块上的DCT操作需要8个时钟周期。
在一个实施例中,首先对频率变换器202产生的频率系数进行扫描,然后由量化器204对经扫描的频率系数进行量化。在一个备选实施例中,首先对频率变换器202产生的频率系数进行量化,然后再进行扫描。以上两种顺序中的任一顺序都可以在本发明的实施例中实现。
在一个实施例中,针对切片的所有频率系数执行扫描。可以以频率优先顺序执行扫描。图4A示出了根据本发明一个实施例的频率优先顺序扫描。
参考图4A,通过附图标记492处的频率变换对不同数据块的数据点进行变换。然后,在切片扫描494处,以频率优先顺序对频率变换得到的频率系数进行扫描。在一个实施例中,按照频率优先顺序,对频率系数进行排序,其中将切片中相同位置处的每个数据块的频率系数分组在一起,并且针对相同位置处的频率系数,具有较低块序列顺序的块被更早地扫描。
如附图标记494所示,一个通道中整个切片(比如,切片1、亮度通道)的频率系数被排序在一个矩阵中。矩阵的宽度等于切片中数据块的数量,深度等于数据块中数据点的数量。频率系数是基于扫描方法排序的。例如,切片中所有数据块的DC分量(最低频)的频率系数被排在第0行,并且针对块0的DC分量的频率系数是第一个被扫描的,其后是针对块1的DC分量的频率系数,并且第0行在块N-1的DC分量处结束,其中N是切片中总数据块的数量。在频率优先扫描顺序中,第0行结束后接着第1行的扫描,其中第1行包含针对所有数据块中次低频的频率系数(高于DC分量但低于所有其他频率)。第1行的扫描顺序是,从针对块0的次低频率系数开始,其后是针对块1的次低频率系数,依此类推。
因此,频率系数的扫描顺序是,从位于与数据点0相对应的频率系数(频域中频率系数的DC分量)开始,其后是位于与次低频率相对应的频率系数,直到在M-1的最高频率处结束,其中M是数据块中数据点的总数(频率系数被排序为与越来越高的频率相对应)。由于扫描顺序从所有数据块的DC分量开始,并按照数据点顺序到更高的频率,该扫描顺序被称为频率优先扫描。要注意的是,由于频率优先扫描组首先扫描切片中所有数据块的第一个相同频率处的频率系数,然后移动到切片中所有数据块的第二个较高频率处的频率系数,在下一步的操作(例如,量化)之前扫描切片中所有块的频率系数。
备选地,可以以块优先顺序对切片进行扫描。图4B示出了根据本发明另一实施例的经由编码进行处理的数据块。图4B与图4A相似,并且相同的附图标记表示具有相同或相似功能的元件或部件。
图4B示出了根据本发明一个实施例的块优先顺序扫描。如前所述,在附图标记492处,通过频率变换对不同数据块的数据点进行变换。然后,在切片扫描484处,以块优先顺序对频率变换得到的频率系数进行扫描。在一个实施例中,在块优先顺序下,对频率系数进行排序,其中将切片中一个数据块的频率系数分组在一起,其中从较低频率向较高频率对数据块的频率系数进行扫描;以及在数据块之间,按照数据块序列顺序来对频率系数进行扫描(上文中结合宏块428讨论了数据块序列顺序)。
在附图标记484处,切片中的块0的频率系数在块优先切片扫描中具有最高扫描顺序,且切片中最后一个块(即,块N-1)的频率系数在块优先切片扫描中具有最低扫描顺序。在一个块中,首先扫描较低的频率,然后扫描较高的频率。例如,在块0中,首先扫描DC分量(最低频),其后扫描次低频,其位置可以与块0的数据点1相对应,再后扫描第三低频,其位置可以与块0的数据点2相对应,依次类推。也就是说,首先扫描块0中的所有频率系数,然后扫描块1中的频率系数,直到切片中所有频率系数都被扫描。在块优先切片扫描中,在每个数据块完成DCT操作并且产生频率系数之后,可以将该数据块的频率系数提供给下一步的操作(例如,量化),而无需等待通过处理后续数据块而得到的数据。因此,尽管在频率优先切片扫描中在对任何频率系数进行下一操作之前对切片中所有频率系数进行扫描,但是在块优先切片扫描中可以扫描一个块中的频率系数并将其提供给下一步。
在频率优先切片扫描或块优先切片扫描中,频率系数可以被用于量化。重新参考图3,在任务框3,量化器204使用均匀标量量化来量化切片的频率系数,其中均匀标量量化的步长可能会逐帧变化或基于其他因素变化。备选地,量化器204可以将其他类型的量化应用于频率系数,例如,非均匀量化、向量量化或非自适应量化。量化是一种有损操作,并且量化中丢失的信息无法在解码器处恢复。
量化可能发生在切片扫描之前或者发生在切片扫描之后,这取决于实现方案。在一个实施例中,量化器204的量化速率与频率变换器202的变换速率相匹配。例如,如前面的示例指出地,当频率变换器202每两个时钟周期处理8个数据点时(其中频率变换速率相当于每时钟周期4个数据点),量化器204可以每时钟周期量化4个数据点,从而使频率变换器202和量化器204之间的处理速率相匹配。
然后在任务框4处,切片编码器206在多个数据流中同时编码经量化的频率系数。切片编码器206压缩诸如频率系数的量化器204的输出和诸如量化步长和动作信息的编码信息。在一个实施例中,切片编码器206使用熵编码,其可以将多个连续零值的量化系数与下一个非零量化系数的值组合为单个符号,并且还具有指示何时所有剩余量化系数值都等于零的特殊方式。熵编码方法可以使用可变长度编码表。熵编码可以使用霍夫曼编码、算术编码或例如通用编码或Golomb编码(例如,指数-Golomb(指数Golomb编码或仅Exp-Golomb编码和Rice编码)的静态编码中的至少一个。
在一个实施例中,切片编码器206的编码速率与量化器204的量化速率相匹配。例如,当量化器204每时钟周期量化4个数据点时,切片编码器206每时钟周期对4个数据点进行编码。结果是对4个并行数据流进行编码。图4C示出了根据本发明一个实施例的并行编码匹配量化。在一个实施例中,数据流352-358到达量化器204(例如,如上所述,紧接在频率变换器202之后或在扫描之后),并且在附图标记432-438处的量化单元1-4处对频率系数进行量化。然后将同时量化的频率系数被提供给切片编码器206(在一些实施例中通过后量化扫描),切片编码器206包含由附图标记472-478表示的编码单元1-4。一旦完成编码,多个数据流中的数据通过切片数据复用器302被复用到一起。尽管示出了切片数据复用器302位于切片编码器206内,但切片数据复用器可以实现在切片编码器206外部。例如,在一个实施例中,切片数据复用器302可以实现在当数据流离开切片编码器206之后对经同时编码的数据流进行复用的电路中(例如,该复用器可以实现在BSMAU 208内)。
切片编码器206的一个特征是它对切片的输入数据进行同时编码(因此它也可以被称为“并行”切片编码器)。也就是说,在切片内执行同时编码,并且切片内同时编码提供更好的编码效率。在一个实施例中,切片编码器206处并行数据流的数量与频率变换器202的变换速率和/或量化器204的量化速率的并发性相匹配。因此,当如先前示例指示地频率变换器202每两个时钟周期处理8个数据点时(其中频率变换速率相当于每时钟周期4个数据点),切片编码器206处并行数据流的数量是4。
图4A示出了根据本发明一个实施例的切片内同时编码。如上文所讨论的,在附图标记494处频率优先地扫描切片中的频率系数,并且所述扫描可以发生在量化之前或之后。然后经量化的频率系数被同时编码。按照前面的示例,并行数据流的数量是4。类似地,当频率变换器202每时钟周期处理4个数据点(与每两个时钟周期处理8个数据点处的速率相同)时,并行数据流的数量仍然是4。在附图标记496处,切片编码器206对切片执行并行数据流编码。每个并行数据流被编码在一个路径中,因此通过附图标记442-448处的路径1-4同时对切片1执行编码。
在每个时钟周期,切片编码器206从附图标记496处对切片1进行频率优先切片扫描的结果中顺序地获取4个经量化的频率系数。如图所示,Cx,y表示与在频率点y处的数据块x相对应的频率系数。因此,根据频率优先扫描顺序编码的前4个频率系数是C0,0、C1,0、C2,0和C3,0,它们都是与切片的块0、块1、块2和块3相对应的频率系数中的DC分量(零频率)。在路径1-4同时对前4个频率系数进行编码,之后对接下来的4个频率系数进行编码,接下来的4个频率系数是接下来的与切片的块4-块7相对应的频率系数的4个DC分量。在所有块的DC分量被编码之后,切片编码器206对次低频率进行编码,次低频率的前4个是C0,1、C1,1、C2,1和C3,1。继续该过程直到切片的所有频率系数被同时编码。
尽管图4A示出了针对频率优先切片扫描的切片内同时编码,图4B示出了另一切片内同时编码过程。如上文所讨论的,在附图标记484处块优先地扫描切片中的频率系数,并且所述扫描可以发生在量化之前或之后。然后经量化的频率系数被同时编码。按照前面的示例,并行数据流的数量是4。
参考图4B,在每个时钟周期,切片编码器206从附图标记486处对切片1进行块优先切片扫描的结果中顺序地获取4个频率系数。因此,根据块优先扫描顺序编码的前4个频率系数是C0,0、C0,1、C0,2和C0,3,它们是块0的前4个频率系数。在路径1-4(如附图标记462-468所示)同时对前4个频率系数进行编码,之后在对接下来的4个频率系数进行编码,接下来的4个频率系数是块0的接下来的4个频率系数。在块0的所有频率系数都被编码后,切片码编码206对块1进行编码,块1的前4个频率系数是C1,0、C1,1、C1,2和C1,3。继续该过程直到切片的所有频率系数被同时编码。
一旦通过并行数据流的编码对切片中的数据进行编码,可以将并行数据流组合为单个数据流。该组合可以由复用器执行。在一个实施例中,复用器位于切片编码器206内,例如切片数据复用器302。并行数据流的编码可能导致不同长度的经编码的数据。例如,针对切片1,路径1-4中的经编码的数据的长度可能彼此不同,并且可以实现各种方法来对齐经编码的数据,使得它们可以被恰当地组合为单个数据流。例如,可以在一个或多个路径中实现比特移位和插入虚拟比特。
在本发明的一个实施例中,编码速率与量化速率一致。重新参考图3,速率控制器205被配置为至少基于来自切片编码器206的信息来控制量化。来自切片编码器206的信息可以包括针对一个切片的经编码的数据的长度和/或用于编码切片的时钟周期。备选地,来自ISP和视频编码电路350的寄存器的信息也可以控制量化器204处的量化。速率控制器205可以控制量化的步长(通常使用符号Q表示)。在一个实施例中,当编解码器符合H.264协议时,通过量化参数(QP)来确定步长Q的控制。在一个实施例中,速率控制使用来自当前切片的编码的信息或者来自已经被编码的几个切片的信息以控制后续切片的步长。
本发明的实施例在编码过程的步骤处提供具有匹配并发性的编码效率。编码操作参数320示出了视频编码电路350的这种匹配并发性的一个示例。如所图示,视频编码电路350可以以400MHz的频率(每周期2.5纳秒的时钟)操作;频率变换器202每两个时钟周期对8个数据点进行操作;量化器204每个时钟周期对4个数据点进行操作;以及切片编码器通过并行数据流,每个时钟周期对4个数据点进行操作。
编码操作参数320包括用于所有视频编码电路的公共操作时钟。然而,视频编码电路的匹配并发性并不依赖于所有的视频编码电路都工作在相同的工作时钟下。例如,频率变换器202可以以两倍于量化器204的时钟操作,因此,频率变换器202在800MHz时钟下操作,并且在量化器204操作的400MHz时钟的每个时钟周期处理8个数据点,而不是在400MHz时钟的每两个时钟周期处理8个数据点。在该情况下,量化器204需要重新对准以在400MHz时钟的每个时钟周期对8个数据点进行操作,并且切片编码器可以将数据流划分为8个路径,每个路径用于在400MHz时钟周期获取的8个数据点。
操作的匹配并发性取决于不同电路的操作时钟的频率以及视频编码电路中用于执行操作所采用的时钟周期。在示出的编码操作参数320中,由于频率变换器需要两个时钟周期来处理一组数据点,与之后的阶段相比,频率变换器一次从数据流中获取两倍的数据点。当频率变换器的处理周期不同时,数据点消耗量会有所不同。
图5是示出了根据本发明一个实施例的切片内编码的流程图。方法500可以在诸如电子设备150的电子设备中实现。
在附图标记502处,电子设备可选地从诸如相机104的相机单元获得视频数据。相机单元位于电子设备内,或与电子设备耦接,相机单元生成视频数据。在一个实施例中,相机单元包含对生成的视频数据执行初始视频/图像压缩的视频/图像压缩部件。例如,相机单元的压缩部件可以通过编码去除帧间冗余。
在附图标记504,电子设备将视频数据划分为多个切片。每个数据块包含多个数据点,其中在多个数据流中处理多个数据点。在一个实施例中,所述多个数据块形成宏块,其中,一个宏块包括来自亮度(Y)通道和两个色度(Cr和Cb)通道中的一个或多个数据块。在一个实施例中,附图标记504的操作由切片划分器执行,切片划分器可以被实现为电路或软件/固件模块中的一个或多个。
在附图标记506,电子设备同时对多个数据流中的数据块进行编码,并将编码后的数据流组合为组合数据流。使用一个或多个视频编码电路来执行编码。在一个实施例中,在一个或多个视频编码电路外部执行对经编码的数据流的组合。
然后在附图标记508处,电子设备可选地将组合数据流存储在诸如上文讨论的外部存储器210的外部存储器中。在一个实施例中,附图标记504和506内的操作由视频编码器执行。
在方法500的操作之后,然后将组合数据流从外部存储器发送到诸如视频解码器112的解码器,其中视频解码器112的解码器可以对组合数据流进行解码。然后,经解码的数据流可用于在附属设备(例如,附属设备152)处查看或进一步处理。
在一个实施例中,来自相机单元的视频数据可以被提供给多个视频编码器,并且每个视频编码器被提供视频数据的一部分。例如,当相机单元以每秒30帧(fps)提供用于8KUHD分辨率的视频数据时,一个视频编码器可以编码视频数据的一半(例如,一个视频编码器对视频帧的左侧部分进行编码,而另一视频编码器对右侧部分进行编码)。这种编码导致两个组合数据流。然后将这两个组合数据流集成到两个视频编码器外部的外部存储器中,并将得到的数据流发送到解码器。
图6是更详细地示出了根据本发明一个实施例的编码操作的流程图。方法600可以在诸如电子设备150的电子设备中实现。在一个实施例中,方法600是附图标记506的实现。
在附图标记610处,电子设备对数据块执行频率变换,将数据块变换为多个频率系数。在一个实施例中,通过DCT执行频率变换。
在附图标记612处,电子设备量化多个频率系数。如上文所讨论的,可以按照频率优先顺序或块优先顺序扫描从切片中的多个数据块变换得到多个频率系数,并且可以在量化之前或在量化之后执行扫描。
在附图标记614处,电子设备对多个数据流中的多个频率系数同时进行编码。在一个实施例中,如上文所讨论地,对多个数据流同时进行编码的组合编码速率与数据块的频率变换的组合速率相匹配。
在附图标记616处,电子设备可选地至少基于来自编码的信息来控制量化。在一个实施例中,来自编码的信息包括针对一个切片的经编码的数据的长度和/或用于编码切片的时钟周期。备选地,也可以使用来自ISP和执行编码的视频编码电路的寄存器的信息来控制量化。
要注意的是,虽然在一个实施例中,在对数据块进行编码之前对数据块进行频率变换和量化,但在备选实施例中,数据块可以被直接编码,而无需频率变换和量化中的一个或多个。
本发明的实施例同时在多个数据流中对切片中的多个数据块进行编码。经编码的数据可以在被发送到外部存储器之前首先被存储在执行编码的视频编码器内。图7示出了根据本发明一个实施例的后编码过程。尽管在一个实施例中,图7中的操作是图3中的操作的继续,其中通过指定处理对视频数据进行编码,但在替代实施例中,图7中的操作独立于图3中的操作,并且它们使用如图3所示的相同或不同的元件或部件,通过不同的切片内编码过程来处理经编码的数据。
图7包含具有相同的附图标记的元件或部件,其中相同的附图标记指示具有相同或相似功能的元件或部件。任务框1-5示出了根据本发明一个实施例执行操作的顺序。图7示出了执行视频编码的电子设备的一部分。
参考图7,BSMAU 208包括切片首部形成模块704、视频数据缓冲器706和可选的切片数据复用器702。如果在视频编码器的早期阶段没有完成复用,则切片数据复用器702同时对切片的经编码的多个数据流进行复用。
在任务框1处,电子设备将切片的经编码的数据存储在视频数据缓冲器706中。在一个实施例中,视频数据缓冲器是单端口RAM。当在BSMAU 208中接收到经编码的数据时,在任务框2处,切片首部形成模块识别切片的切片首部信息。可以直接从编码过程中和/或从对切片的经同时编码的多个数据流进行复用的过程中获得切片首部信息。
在一个实施例中,切片的切片首部信息包括切片首部大小、切片中的亮度数据大小和切片中的色度数据大小。另外,在一个实施例中,切片的切片首部信息包括一个或多个量化参数,诸如用于量化的切片的比例因子。图8示出了根据本发明一个实施例的切片首部信息的组成。如图所示,切片首部信息参数802包括多个值804,多个值804如下:字节810中的切片首部大小的值是对2个字节加以指示的2,比例因子812的值是4,字节814中的切片内的亮度数据大小的值是对186个字节加以指示的186,并且字节816中的切片内的色度数据大小的值是对62个字节加以指示的62。在本发明的各种实施例中,如图8所示,切片首部信息可以具有更多、更少或不同的参数。
在任务框3处,电子设备或者将切片首部信息与切片的经编码的数据一起存储在视频数据缓冲器706中,或者直接将切片首部信息发送到外部存储器210。是将切片首部信息存储在缓冲器中还是直接将切片首部信息传输到外部存储器的决定至少部分地基于切片首部信息和切片的经编码的数据的组合长度。如果缓冲器内的存储空间不足以容纳切片首部信息和切片的经编码的数据,则切片首部信息被直接发送到外部存储器,否则一起存储切片首部信息与切片的经编码的数据。
将切片首部信息与切片的经编码的数据一起存储是有利的,因为切片首部信息随后将与切片的经编码的数据一起发送(切片首部信息可以在切片的经编码的数据之前发送),并且它们可以在一个或多个连续的时钟周期中被写入外部存储器,从而加快了切片的处理。
一旦切片的经编码的数据被存储在缓冲器中,其切片信息是已知的。因此,在任务框4处,切片的切片信息被存储在HMAU 209处的存储器位置中,HMAU 209处的存储器位置与视频数据缓冲器相关但与之不同。切片信息包括编码后的切片长度,因此切片信息在切片编码完成之前是不可用的。有利的是将切片信息存储在与存储经编码的数据的位置不同的存储器位置内,使得切片的经编码的数据可以被连续地写入到缓冲器而不关心尚未确定的切片长度。一旦切片长度被确定,切片长度被写入HMAU 209。通过切片信息形成模块712写入切片信息。切片信息形成模块712将切片信息写入切片信息缓冲器714,切片信息缓冲器714可以使用单端口RAM(SPRAM)来实现。在一个实施例中,切片信息包括切片索引表。
图9示出了根据本发明一个实施例的切片索引表。在切片索引表中,每个切片用数字编号索引,并且切片索引表指示诸如视频帧402的帧中的所有切片的切片长度。切片索引表包括切片索引902和切片长度904。切片索引表中的每个条目指示切片的切片长度。在一个实施例中,使用两个字节来指示切片长度。在这个示例中,912处的切片1的切片长度为486字节,914处的切片2的切片长度为359字节,916处的切片3的切片长度为378字节,并且918处的切片4的切片长度为186字节。
当帧内的切片被编码时填充切片索引表。一旦对应的切片完成其编码,针对切片的每个条目的值就被填充。因此,切片索引表直到帧内的所有切片被编码才完成。在一个实施例中,切片索引表的每个条目包括附加信息。例如,该条目可以包括该切片来自哪个视频帧。应注意的是,切片信息和切片首部信息是彼此不同的,因为切片信息是与切片所属的帧相关的切片的信息(例如,如图9所示,切片索引表中存储的切片信息是为了提供帧内切片长度的概要),而切片首部信息是关于切片内编码的信息(例如,图8中所示的信息)。
重新参考图7,在任务框5处,BSMAU 208或HMAU 209在获得许可时通过一个或多个总线连接将它们的数据发送到外部存储器210。在附图标记750处,一个或多个总线连接可以通过仲裁访问,获胜者获得许可。一个或多个总线连接可以被实现为并行总线线路,其同时发送来自BSMAU 208或HMAU 209的多个比特(例如,128比特)。例如,总线线路可以是ARM架构中的高级可扩展接口(AXI)。并行总线线路传输有时被称为突发,并且在突发期间,可以基于单个地址将数据发送到外部存储器。
BSMAU 208或HMAU 209可以在准备好写入外部存储器210时发出请求。总线连接的仲裁器确定总线连接是否空闲,并且如果总线连接空闲,则BSMAU 208或HMAU 209取得总线连接的所有权(例如,通过设置锁),并发送其数据到外部存储器210。一旦传输完成,MAU释放总线连接,而其他方可以使用总线连接。
在一个实施例中,当满足预定条件时,BSMAU 208请求缓冲器中的存储数据并将其发送到外部存储器。预定条件可以是缓冲器中存储的数据已经达到阈值(例如85%满)和/或切片的切片首部信息被存储在缓冲器中。
图10是示出了根据本发明一个实施例的向外部存储器发送数据的流程图。方法1000可以在诸如电子设备150的电子设备中实现。
方法1000从附图标记1002开始,其中电子设备将来自编码的数据存储在第一存储器位置处的缓冲器中。如上所述,缓冲器可以是视频数据缓冲器706。如上所述,通过编码得到的数据可以包括从组合数据流编码而来的数据以及切片的切片首部信息两者。
在附图标记1004,电子设备可以将通过编码得到的切片信息(例如,切片索引表)存储在与第一存储器位置相关的第二存储器位置中。这两个存储器位置是不同的,但都涉及存储与视频流的切片的切片内编码有关的信息,并且电子设备可以将这两个存储器位置标识为相关的。
在附图标记1006,确定用于经由一个或多个总线连接将数据发送到诸如外部存储器210的外部存储器的许可。BSMAU 208或HMAU 209都可以请求发送许可,并且可以在缓冲器或第二存储器位置满足预定条件之后触发该请求。例如,对于BSMAU 208,预定条件可以是缓冲器中存储的数据已经达到阈值(例如85%满)和/或切片的切片首部信息被存储在缓冲器中;对于HMAU 209,预定条件可以是帧的切片索引表已经完成或者第二存储器位置中的存储数据已经达到阈值。可以由仲裁模块监控一个或多个总线连接的访问请求来进行该确定。
当确定缓冲器获得发送其数据的许可时,流程转到附图标记1008,其中来自缓冲器的存储数据被发送到外部存储器。当确定第二存储器位置获得发送数据的许可时,流程转到附图标记1010,其中切片信息被发送到外部存储器。
图11是示出了根据本发明一个实施例的将数据存储在视频编码缓冲器中的流程图。方法1100可以在诸如电子设备150的电子设备中实现。视频编码缓冲器可以是如上所述的视频编码缓冲器706。
在附图标记1102处,电子设备将切片的组合数据流中的数据存储在第一存储器位置的缓冲器中。组合数据流是由视频编码器同时编码的多个数据流组合而成的数据流。可以在视频编码器(例如,切片数据复用器302)内执行该组合,或者可以通过第一存储器位置处的复用器执行组合,第一存储器位置处的复用器例如是BSMAU 208的切片数据复用器702。
在附图标记1104处,电子设备识别切片首部信息。切片首部信息可以是在对多个数据流(例如,来自切片编码器206)进行编码期间和/或在组合数据流(例如,来自切片数据复用器302或702)期间获得的。
在附图标记1106处,确定缓冲器是否足以容纳组合数据流中的切片的切片首部信息和切片数据。该确定可以基于缓冲器的存储容量。当组合的切片首部信息和切片数据在缓冲器的存储容量(或者存储容量的某个阈值)内时,流程转到附图标记1108,其中切片的切片首部信息和切片数据一起被存储在缓冲器中。随后,当满足预定条件时,如上所述将缓冲器中的数据发送到外部存储器。
当组合的切片首部信息和切片数据超过缓冲器的存储容量(或者存储容量的某个阈值)时,因此缓冲器不足以容纳切片首部信息和切片数据,则流程转到附图标记1110,其中在获得许可时,切片的切片首部信息和切片数据被分别地发送到外部存储器。
通过一个或多个总线连接发送切片首部信息和切片的经编码的数据是有利的。一个或多个总线连接可以被实现为同时发送多个比特的并行总线。因此,可以在经编码的数据之前并且在一个或多个连续时钟周期之内发送切片首部信息,从而加速切片的处理。备选地,并行总线传输可以使用突发,其中可以在基于单个地址的突发期间发送切片首部信息和经编码的数据。
当一个或多个总线连接被实现为同时发送多个比特的并行总线时,理想的传输是每个并行总线具有数据要发送。当某些并行总线没有数据要发送时,会针对该数据总线添加虚拟比特/字节以供发送。虚拟比特/字节可以是全1、全0和其他预定比特/字节模式中的一种。例如,一个或多个总线连接包括用于同时发送128比特的并行总线,并且当缓冲器(例如,视频数据缓冲器706)中的数据不足以实现并行总线时,与有效数据一起发送虚拟比特/字节。
由于切片信息的大小通常较小,第二存储器位置中的数据量通常小于缓冲器中的数据量(例如,在图9的示例中,切片长度占用两个字节,因此切片索引表的大小比经编码的数据的大小小得多,经编码的数据的大小可以是几百或几千字节)。在外部存储器中,通常保留一个区域来存储帧的切片信息。利用并行总线,期望向所述区域基于单个地址点在突发期间发送切片信息。因此,可以为这种突发传输添加多个虚拟比特/字节。
图12是示出了根据本发明一个实施例的向外部存储器传输切片信息时插入虚拟字节的流程图。方法1200可以在诸如电子设备150的电子设备中实现。
在附图标记1202,电子设备确定帧的切片信息的字节长度小于为切片的切片信息保留的区域的大小。该区域是诸如外部存储器210的外部存储器内的区域。
在附图标记1204处,电子设备计算满足为切片信息保留的区域所需的虚拟字节的数量。然后在附图标记1206,电子设备通过一个或多个总线连接将切片信息、虚拟字节数的指示以及虚拟字节发送到外部存储器。
在一个实施例中,虚拟字节数可以是0或是在一个或多个总线连接的字节宽度内的整数。例如,假设并行总线是128位,即16个字节,虚拟字节数可以是0到14之间的数字,使得可以使用一个字节来指示虚拟字节数,并且剩余的字节可以是虚拟字节。
在一个备选实施例中,虚拟字节数可以位于0和在该区域的字节大小之内的整数之间。因此,在这个实施例中可以使用多个时钟周期来发送虚拟字节。尽管以上讨论的是插入虚拟字节,但在备选实施例中,虚拟比特被用作计算要插入并发送到外部存储器的虚拟信息数的单位。
图13示出了根据本发明一个实施例的外部存储器的存储器分配。外部存储器可以是外部存储器210。存储在存储器位置的数据用于一个视频帧。如附图标记1301所示,针对视频帧的存储部分的宽度是并行总线到外部存储器的字节长度。在备选实施例中,可以使用不同宽度的存储部分。
数据将最高有效位(MSB)存储在左侧,将最低有效位(LSB)存储在右侧。在这个实施例中,第一字节是指示虚拟字节长度的虚拟字节长度指示符1302。在备选实施例中,可以使用更多字节来指示虚拟字节长度。虚拟字节长度指示符之后是由虚拟长度指示符指示的连续虚拟字节1352。虚拟字节之后是切片信息,切片信息包括切片索引表。
如图所示,存储部分从针对切片信息的区域1304开始。该区域包括视频帧的切片索引表。虚拟字节长度指示符可以由视频处理驱动器读取,该视频处理驱动器然后将诸如视频帧的帧首部和/或图片首部的信息插入虚拟字节的位置。尽管示出了少于一行的虚拟字节,但虚拟字节可能在切片信息的区域中占据多于一行。
切片信息的区域后面是附图标记1306处的切片首部1和附图标记1308处的切片数据1,其包括视频帧的切片1的首部以及数据。然后按照切片首部后跟着同一切片的切片数据的顺序存储视频帧的后续数据,直到该视频帧的所有数据都被存储为止。
然后将存储在存储器部分中的视频帧的所有数据发送到解码器。在发送到解码器之前,去除虚拟字节长度指示符和虚拟字节。在一个实施例中,编码之后的视频帧的所有剩余数据被封在一个或多个包中,然后通过诸如通信网络190的通信网络发送,然后在诸如附属设备152的电子设备经由诸如视频解码器112的视频解码器进行解码以供显示(例如,通过显示器114)或进行进一步处理。
图14是根据本发明各种实施例的用于对视频进行编码的电子设备的示例性图示。电子设备1400包括许多不同的部件。这些部件可以被实现为集成电路(IC)、集成电路(IC)的一部分、分立电子设备、或适用于诸如计算系统的主板或附加卡的电路板的其他模块、或被并入计算系统的机箱内的部件。还要注意,电子设备1400旨在示出计算系统的许多部件的高级视图。然而,应该理解的是,在某些实施方式中可能存在额外的部件,此外,在其他实施方式中可能出现所示部件的不同布置。在一个实施例中,电子设备是如上所述的可移动物体。
在一个实施例中,电子设备1400包括一个或多个微处理器1401、视频编码器102和非暂时性机器可读存储介质1402以及经由总线或互连1410互连的可选设备1403-1408。一个或多个微处理器1401表示一个或多个通用微处理器,例如,中央处理单元(CPU)或处理设备。更具体地,微处理器1401可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实现其他指令集的微处理器或实现指令集的组合的微处理器。微处理器1401也可以是一个或多个专用处理器,诸如专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器或能够处理指令的任何其他类型的逻辑。
一个或多个微处理器1401可以与诸如磁盘、光盘、只读存储器(ROM)、闪存设备和相变存储器的非暂时性机器可读存储介质1402(也称为计算机可读存储介质)通信。非暂时性机器可读存储介质1402可以存储指令序列(例如,计算机程序),所述指令序列可由一个或多个微处理器1401或任何其他设备单元执行。例如,可以将可执行代码和/或各种操作系统的数据、设备驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用程序加载到一个或多个微处理器1401并且由一个或多个微处理器1401执行。
非暂时性机器可读存储介质1402可以存储视频处理驱动器,视频处理驱动器包含用于执行视频编码操作的指令和/或信息,视频编码操作诸如识别视频流中视频帧的图片和/或帧头。另外,非暂时性机器可读存储介质1402可以包括诸如外部存储器210的外部存储器。
如上所述,电子设备1400的视频编码器102包含用于执行用于切片内视频编码的操作的指令和/或信息。可以用一个或多个电路实现视频编码器102。
可选的推进单元1403可以包括可操作以产生用于维持电子设备1400的受控运动的力的一个或多个设备或系统。推进单元1403可以共享电源或可以分别包括或可操作地连接到电源,电源诸如马达(例如,电动机、液压马达、气动马达等)、发动机(例如,内燃机、涡轮发动机等)、电池组等或其组合。推进单元1403还可以包括一个或多个旋转部件,一个或多个旋转部件连接到电源并且被配置为参与产生用于维持受控飞行的力。例如,旋转部件可以包括转子、螺旋桨、叶片、喷嘴等,旋转部件可以在轴上、或由轴、车轮、液压系统、气动系统或被配置为传递来自电源的动力的其他部件或系统驱动。推进单元1403和/或旋转部件可以相对于彼此和/或相对于电子设备1400进行调整。推进单元1403可以被配置为沿一个或多个垂直和水平方向推进电子设备1400并且允许电子设备1400围绕一个或多个轴旋转。也就是说,推进单元1403可以被配置为提供升力和/或推力以用于创建和保持电子设备1400的平移和旋转运动。
如图所示,电子设备1400可以可选地进一步包括显示控制和/或显示设备单元1404、无线收发器1405、视频I/O设备单元1406、音频I/O设备单元1407和其他I/O设备单元1408。无线收发器1405可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(GPS)收发器)或其他射频(RF)收发器,或它们的组合。
视频I/O设备单元1406可以包括成像处理子系统(例如,相机),成像处理子系统可以包括诸如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器的光学传感器,该光学传感器用于促进相机功能,例如记录照片和视频剪辑以及会议。在一个实施例中,视频I/O设备单元1406可以是4K或8K相机/摄像机。
音频I/O设备单元1407可以包括扬声器和/或麦克风以促进语音使能功能,诸如语音识别、语音复制、数字记录和/或电话功能。其他可选设备1408可以包括存储设备(例如,硬盘驱动器、闪存设备)、通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,PCI-PCI桥)、传感器(例如,诸如加速计、陀螺仪、磁力计、光传感器、指南针、接近传感器等的运动传感器)或者它们的组合。根据电子设备1400的具体配置或设计,可选的设备单元1408还可以包括经由传感器集线器(未示出)耦接到互连1410的某些传感器,而诸如热传感器、高度传感器、加速度计和环境光传感器的其他设备可以由嵌入式控制器(未示出)控制。
尽管上面已经描述了本发明的各种实施例,但是应当理解,它们仅仅是作为示例而不是限制来呈现的。本领域普通技术人员应该清楚的是在不脱离本发明的精神和范围的情况下可以进行形式和细节上的各种变化。
以上已经在功能构建块的辅助下描述了本发明,这些功能构建块示出了指定功能及其关系的执行。为便于描述,本文通常任意定义这些功能构建块的边界。只要所指定的功能及其关系被适当地执行,就可以定义替代的边界。因此,任何这样的替代的边界都在本发明的范围和精神内。
已经提供了本发明的上述描述,用于说明和描述的目的。不是旨在是穷尽性的或将公开的精确形式作为对本发明的限制。本发明的宽度和范围不应当受到上述示例性实施例中任意一个的限制。许多修改和变化对于本领域普通技术人员将是明显的。这些修改和变化包括所公开的特征的任何相关组合。对实施例的选择和描述是为了最好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够理解本发明的各种实施例以及适合于预期特定用途的各种修改。意图在于,本发明的范围由所附权利要求及其等同物限定。

Claims (32)

1.一种用于对视频数据进行编码的电子设备,包括:
切片划分器,被配置为将视频数据划分为多个切片,其中每个切片包含多个数据块,每个数据块包含多个数据点,其中在多个数据流中处理所述多个数据点;以及
使用一个或多个视频编码电路实现的切片编码器,被配置为同时将所述数据块编码到所述多个数据流中并且将经编码的数据流组合为组合数据流。
2.根据权利要求1所述的电子设备,其中,所述电子设备包括:
频率变换器,被配置为将所述数据块变换为多个频率系数。
3.根据权利要求2所述的电子设备,其中,所述频率变换器对所述数据块执行离散余弦变换DCT。
4.根据权利要求2所述的电子设备,其中,按照频率优先顺序或按照块优先顺序扫描通过对切片内的多个数据块进行变换而得到的多个频率系数。
5.根据权利要求2所述的电子设备,其中,所述电子设备包括:
量化器,被配置为对来自所述频率变换器的多个频率系数进行量化;以及
速率控制器,被配置为至少基于来自切片编码器的信息来控制所述量化器的量化。
6.根据权利要求5所述的电子设备,其中,所述切片编码器被配置为同时将量化后的频率系数编码到所述多个数据流中。
7.根据权利要求2所述的电子设备,其中,同时对所述多个数据流进行编码的所述切片编码器的组合编码速率与对所述数据块进行变换时所述频率变换器的组合变换速率相匹配。
8.根据权利要求7所述的电子设备,其中,所述切片编码器同时对4个数据流进行编码,并且所述频率变换器以与两个时钟周期内8个数据点相对应的速率进行变换。
9.根据权利要求1所述的电子设备,其中,所述切片编码器操作使用复用器来将经过同时编码的数据流复用为组合数据流。
10.根据权利要求1所述的电子设备,还包括:
比特流存储器存取单元BSMAU和首部存储器存取单元HMAU,其中所述BSMAU将使组合数据流中的经编码的数据存储在第一存储器位置的缓冲器中,并且其中所述HMAU将使来自编码的切片信息存储在与所述第一存储器位置相关的第二存储器位置中。
11.根据权利要求10所述的电子设备,其中,所述切片信息被包含在切片索引表中。
12.根据权利要求10所述的电子设备,其中,所述BSMAU包括切片首部形成模块,被配置为识别切片首部信息,并且对于切片,所述切片首部信息包括以下项中的至少一个:
切片首部大小;
比例因子;
切片中的亮度数据的大小;以及
切片中的色度数据的大小。
13.根据权利要求12所述的电子设备,其中,当所述缓冲器足以容纳所述切片的切片首部信息和经编码的数据二者时,所述切片的切片首部信息与所述切片的组合数据流中的经编码的数据一起被存储在所述缓冲器中。
14.根据权利要求12所述的电子设备,其中,当所述缓冲器不足以容纳所述切片的切片首部信息和经编码的数据二者时,所述切片的切片首部信息被输出到外部存储器。
15.根据权利要求12所述的电子设备,其中,当满足预定条件时,所述缓冲器中的存储数据被发送到外部存储器。
16.根据权利要求10所述的电子设备,其中,所述BSMAU和所述HMAU经由一个或多个总线连接耦接到外部存储器,其中所述BSMAU和所述HMAU中的一个在获得许可时将其数据发送到所述外部存储器。
17.根据权利要求16所述的电子设备,其中,所述HMAU向所述外部存储器通知所述切片信息的字节长度与所述一个或多个总线连接的字节长度之差。
18.根据权利要求16所述的电子设备,其中,所述切片信息包括一个或多个字节,所述一个或多个字节指示在所述外部存储器中满足针对所述切片信息的区域的连续虚设字节的数量。
19.根据权利要求16所述的电子设备,其中,所述外部存储器是双倍数据速率DDR同步动态随机存取存储器SDRAM。
20.根据权利要求1所述的电子设备,其中,所述多个数据块形成宏块,其中,一个宏块包括来自亮度(Y)通道和两个色度(Cr和Cb)通道中的每一个的一个或多个数据块。
21.根据权利要求1所述的电子设备,还包括相机单元,被配置为生成所述视频数据。
22.一种用于对视频数据进行编码的方法,包括:
将视频数据划分为多个切片,其中每个切片包含多个数据块,每个数据块包含多个数据点,其中在多个数据流中处理所述多个数据点;以及
通过一个或多个视频编码电路同时将所述数据块编码到所述多个数据流中,并将经编码的数据流组合为组合数据流。
23.根据权利要求22所述的方法,其中,所述编码包括:
对所述数据块执行频率变换,以将所述数据块变换为多个频率系数。
24.根据权利要求23所述的方法,其中,按照频率优先顺序或按照块优先顺序扫描通过对切片内的多个数据块进行变换而得到的多个频率系数。
25.根据权利要求23所述的方法,其中,所述编码还包括:
对所述多个频率系数进行量化;以及
基于来自编码的信息控制所述量化。
26.根据权利要求25所述的方法,其中,同时将量化后的频率系数编码到所述多个数据流中。
27.根据权利要求23所述的方法,其中,同时对所述多个数据流进行编码的组合编码速率与所述数据块的频率变换的组合变换速率相匹配。
28.根据权利要求22所述的方法,其中,所述方法还包括:
将所述组合数据流中的数据存储在第一存储器位置的缓冲器中;以及
将来自编码的切片信息存储在与所述第一存储器位置相关的第二存储器位置中。
29.根据权利要求28所述的方法,其中,所述方法还包括:
识别切片的切片首部信息。
30.根据权利要求29所述的方法,其中,当所述缓冲器足以容纳所述切片的切片首部信息和经编码的数据二者时,所述切片的切片首部信息与所述切片的组合数据流中的经编码的数据一起被存储在所述缓冲器中。
31.根据权利要求28所述的方法,还包括:
经由一个或多个总线连接将经编码的数据和切片信息发送给外部存储器。
32.一种无人飞行器,包括:
推进单元,其中所述推进单元引起所述无人飞行器移动;
相机单元,被配置为生成视频数据;
切片划分器,被配置为将视频数据划分为多个切片,其中每个切片包含多个数据块,每个数据块包含多个数据点,其中在多个数据流中处理所述多个数据点;以及
使用一个或多个视频编码电路实现的切片编码器,被配置为同时将所述数据块编码到所述多个数据流中并且将经编码的数据流组合为组合数据流。
CN201680085904.6A 2016-08-04 2016-08-04 并行视频编码 Pending CN109155850A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/093279 WO2018023553A1 (en) 2016-08-04 2016-08-04 Parallel video encoding

Publications (1)

Publication Number Publication Date
CN109155850A true CN109155850A (zh) 2019-01-04

Family

ID=61073143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680085904.6A Pending CN109155850A (zh) 2016-08-04 2016-08-04 并行视频编码

Country Status (6)

Country Link
US (2) US10958923B2 (zh)
EP (2) EP3866465A1 (zh)
CN (1) CN109155850A (zh)
DK (1) DK3381190T3 (zh)
ES (1) ES2883258T3 (zh)
WO (1) WO2018023553A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113170161A (zh) * 2020-08-31 2021-07-23 深圳市大疆创新科技有限公司 图像编码方法、图像解码方法、装置和存储介质
CN113826146A (zh) * 2019-05-23 2021-12-21 谷歌有限责任公司 自回归视频生成神经网络
CN114339249A (zh) * 2021-12-27 2022-04-12 安谋科技(中国)有限公司 视频解码方法、可读介质及其电子设备
CN113826146B (zh) * 2019-05-23 2024-07-02 谷歌有限责任公司 自回归视频生成神经网络

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11049219B2 (en) * 2017-06-06 2021-06-29 Gopro, Inc. Methods and apparatus for multi-encoder processing of high resolution content
EP3618442B1 (en) * 2018-08-27 2020-09-30 Axis AB An image capturing device, a method and computer program product for forming an encoded image
CN110891192B (zh) * 2018-09-11 2021-10-15 阿里巴巴(中国)有限公司 视频剪辑方法及装置
US11228781B2 (en) 2019-06-26 2022-01-18 Gopro, Inc. Methods and apparatus for maximizing codec bandwidth in video applications
US11481863B2 (en) 2019-10-23 2022-10-25 Gopro, Inc. Methods and apparatus for hardware accelerated image processing for spherical projections
EP4017001A1 (en) 2020-12-17 2022-06-22 Axis AB Method and digital video camera for forming a combined image frame of a combined video stream
CN113141415B (zh) * 2021-05-07 2023-05-12 广州小鹏汽车科技有限公司 车辆的远程驾驶系统、方法、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980392A (zh) * 2005-11-29 2007-06-13 同济大学 视频码流判断图像边界及预读图像数据的解码方法和装置
CN101150719A (zh) * 2006-09-20 2008-03-26 华为技术有限公司 并行视频编码的方法及装置
CN101267564A (zh) * 2008-04-16 2008-09-17 中国科学院计算技术研究所 一种多处理器视频编码芯片装置和方法
US20080253448A1 (en) * 2007-04-13 2008-10-16 Apple Inc. Method and system for rate control
CN101686388A (zh) * 2008-09-24 2010-03-31 国际商业机器公司 视频流编码装置及其方法
US9031138B1 (en) * 2014-05-01 2015-05-12 Google Inc. Method and system to combine multiple encoded videos for decoding via a video docoder

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630565B2 (en) * 2004-11-30 2009-12-08 Lsi Corporation Parallel video encoder with whole picture deblocking and/or whole picture compressed as a single slice
JP4146444B2 (ja) * 2005-03-16 2008-09-10 株式会社東芝 動画像符号化の方法及び装置
US9118944B2 (en) * 2009-02-05 2015-08-25 Cisco Technology, Inc. System and method for rate control in a network environment
US9077998B2 (en) * 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9794569B2 (en) * 2013-01-30 2017-10-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US10686880B2 (en) * 2013-08-29 2020-06-16 Pure Storage, Inc. Dispersed storage based on range availability and methods for use therewith
GB2528246A (en) * 2014-07-07 2016-01-20 Roke Manor Research Region based image compression on a moving platform
JP6085065B2 (ja) * 2015-02-09 2017-02-22 株式会社日立情報通信エンジニアリング 画像圧縮伸長装置
US10284849B2 (en) * 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
KR101748656B1 (ko) * 2015-07-31 2017-06-19 셀로코주식회사 이중 버스를 구비하여 처리 속도를 향상시킨 반도체 칩 프로세서 구조
US9829886B2 (en) * 2016-01-05 2017-11-28 ZEROTECH (Shenzhen) Intelligence Robot Co., Ltd. Flight control system, a circuit board assembly and a configuration method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980392A (zh) * 2005-11-29 2007-06-13 同济大学 视频码流判断图像边界及预读图像数据的解码方法和装置
CN101150719A (zh) * 2006-09-20 2008-03-26 华为技术有限公司 并行视频编码的方法及装置
US20080253448A1 (en) * 2007-04-13 2008-10-16 Apple Inc. Method and system for rate control
CN101267564A (zh) * 2008-04-16 2008-09-17 中国科学院计算技术研究所 一种多处理器视频编码芯片装置和方法
CN101686388A (zh) * 2008-09-24 2010-03-31 国际商业机器公司 视频流编码装置及其方法
US9031138B1 (en) * 2014-05-01 2015-05-12 Google Inc. Method and system to combine multiple encoded videos for decoding via a video docoder

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113826146A (zh) * 2019-05-23 2021-12-21 谷歌有限责任公司 自回归视频生成神经网络
CN113826146B (zh) * 2019-05-23 2024-07-02 谷歌有限责任公司 自回归视频生成神经网络
CN113170161A (zh) * 2020-08-31 2021-07-23 深圳市大疆创新科技有限公司 图像编码方法、图像解码方法、装置和存储介质
WO2022041206A1 (zh) * 2020-08-31 2022-03-03 深圳市大疆创新科技有限公司 图像编码方法、图像解码方法、装置和存储介质
CN114339249A (zh) * 2021-12-27 2022-04-12 安谋科技(中国)有限公司 视频解码方法、可读介质及其电子设备
CN114339249B (zh) * 2021-12-27 2023-12-05 安谋科技(中国)有限公司 视频解码方法、可读介质及其电子设备

Also Published As

Publication number Publication date
US10958923B2 (en) 2021-03-23
ES2883258T3 (es) 2021-12-07
EP3381190A4 (en) 2018-10-03
US20210211698A1 (en) 2021-07-08
EP3866465A1 (en) 2021-08-18
EP3381190A1 (en) 2018-10-03
DK3381190T3 (da) 2021-08-16
EP3381190B1 (en) 2021-06-02
WO2018023553A1 (en) 2018-02-08
US20190158859A1 (en) 2019-05-23

Similar Documents

Publication Publication Date Title
CN109155850A (zh) 并行视频编码
KR102431537B1 (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
JP2022137130A (ja) 輝度チャネル及び少なくとも1つのクロミナンスチャネルによって表される画像データを含む画像ユニットを符号化/復号する方法及び装置
ES2966479T3 (es) Un codificador, un decodificador y métodos correspondientes para la intrapredicción
KR102412470B1 (ko) 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
JP6749922B2 (ja) 高効率ビデオ符号化(hevc)画面コンテンツ符号化(scc)における改善されたパレットモード
CN109076226A (zh) 图像处理装置和方法
CN111801943B (zh) 色度块预测方法、用于编解码视频数据的设备以及编解码设备
US20160044314A1 (en) System and method for reusing transform structure for multi-partition transform
US20170214914A1 (en) Image coding device and method, and image decoding device and method
CN111741302B (zh) 数据处理方法、装置、计算机可读介质及电子设备
WO2014050151A1 (en) System for signaling idr and bla pictures
CN111416981B (zh) 视频图像解码、编码方法及装置
KR20220051399A (ko) 시퀀스 파라미터 세트에서의 서브픽처 시그널링을 위한, 인코더, 디코더 및 대응하는 방법
WO2018203202A1 (en) Quantization partitioning for enhanced image compression
KR20220127314A (ko) 적응적 루프 필터링을 위한 인코더, 디코더, 및 대응하는 방법
CN113660489B (zh) 用于帧内子划分的解码方法、装置、解码器和存储介质
WO2019126929A1 (zh) 编码器、图像处理系统、无人机及编码方法
WO2015163146A1 (ja) 符号化装置および符号化方法
CN112235568A (zh) 图像编码方法、解码方法、装置和存储介质
KR20180102565A (ko) 디스플레이 스트림 압축 (dsc) 에서의 왜곡을 계산하기 위한 시스템 및 방법들
KR20220143943A (ko) 슬라이스 헤더 신택스 엘리먼트의 시그널링을 단순화하는 인코더, 디코더, 및 대응하는 방법
KR20180030021A (ko) 서브픽셀 패킹을 이용한 디스플레이 스트림 압축 픽셀 포맷 확장
JP4302661B2 (ja) 画像処理システム
KR20220140858A (ko) 슬라이스에 대한 픽처 파티셔닝 정보를 시그널링하기 위한 디코더 및 대응하는 방법

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190104

WD01 Invention patent application deemed withdrawn after publication