CN104704823A - 图像处理装置和方法 - Google Patents

图像处理装置和方法 Download PDF

Info

Publication number
CN104704823A
CN104704823A CN201380051814.1A CN201380051814A CN104704823A CN 104704823 A CN104704823 A CN 104704823A CN 201380051814 A CN201380051814 A CN 201380051814A CN 104704823 A CN104704823 A CN 104704823A
Authority
CN
China
Prior art keywords
file
unit
data
parameter
image
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
CN201380051814.1A
Other languages
English (en)
Other versions
CN104704823B (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN104704823A publication Critical patent/CN104704823A/zh
Application granted granted Critical
Publication of CN104704823B publication Critical patent/CN104704823B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/427Display on the fly, e.g. simultaneous writing to and reading from decoding memory
    • 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/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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开涉及一种能够减少当生成流时的处理负荷的图像处理装置和图像处理方法。文件生成器为包含图像被编码在其中的比特流的文件设置起始码和填充数据,并且控制对起始码和填充数据的设置,以使得管理解码器缓冲器的参数的特征被保存,并且在文件的媒体数据中配置文件。本公开可以例如应用于图像处理装置。

Description

图像处理装置和方法
技术领域
本公开涉及一种图像处理装置和图像处理方法,并且更具体地,涉及一种能够减小在生成发送时使用的流或将数据存储在文件中时使用的流时所需的处理负荷的图像处理装置和图像处理方法。
背景技术
在为图像编码系统的标准规格说明之一的H.264/AVC中,限定了被称为序列参数集(SPS)和图片参数集(PPS)的两种参数设置,所述参数设置用来存储用于对图像编码和解码的参数。每个切片的图像数据被分类成VCL(视频编码层)NAL(网络抽象层)单元,并且这些参数设置被分类成非VCL NAL单元。通常,在使用H.264/AVC系统编码的编码流被存储在包括头部区域和数据区域的文件中的情况下,SPS和PPS被插入到头部区域中,而图像数据被插入到数据区域中。
在为H.264/AVC之后的下一代图像编码系统的HEVC(高效率视频编码)的标准化操作中,提出引入为不同于SPS和PPS的新参数设置的自适应参数设置(APS)(参见下述非专利文献1和非专利文献2)。
APS也是一种参数设置。因此,根据现有技术,类似于SPS和PPS,APS也被插入到文件的头部区域中。包括头部区域和数据区域的文件格式的示例包括MPEG-4部分14(ISO/IEC 14496-14:2003,在下文中,简称为MP4)格式和MPEG-4部分15(ISO/IEC 14496-15:2004,AVC文件)格式。
引用列表
非专利文献
非专利文献1:Stephan Wenger,Jill Boyce,Yu-WenHuang,Chia-YangTsai,Ping Wu,Ming Li,"Adaptation Parameter Set(APS)",JCTVC-F747r3,2011年7月
非专利文献2:Benjamin Bross,Woo-Jin Han,Jens-Rainer Ohm,Gary J.Sullivan,Thomas Wiegand,"High efficiency video coding(HEVC)text specification draft 6",JCTVC-H1003ver20,2012年2月
发明内容
技术问题
然而,在生成用于发送的流或用于将数据存储在文件中的流的情况下,存在不允许数据例如起始码和填充数据被包括在流中的格式。因此,当读取流的数据时,使得处理负荷增加。
本公开在考虑到这样的情况下配置,从而减小在生成发送时使用的流或将数据存储在文件中时使用的流时所需的处理负荷。
问题的解决方案
根据本公开的第一方面,提供有一种图像处理装置,包括:设置单元,所述设置单元针对包含通过对图像进行编码而获得的比特流的文件、设置起始码和填充数据;以及控制单元,所述控制单元执行对所述设置单元的控制,以使得由所述设置单元设置的起始码和填充数据配置文件,其中管理解码器缓冲器的参数的特征保持在所述文件的媒体数据中。
管理解码器缓冲器的参数是视频可用性信息VUI中包括的参数、缓冲时段补充增强信息SEI中包括的参数,或者图片定时SEI中包括的参数。
设置单元可以将填充数据设置为VCL数据。
根据本公开的第一方面,提供有一种使用图像处理装置的图像处理方法。图像处理方法包括:针对包含通过对图像进行编码而获得的比特流的文件,设置起始码和填充数据;以及执行对所述起始码和所述填充数据的所述设置的控制,以使得所设置的起始码和填充数据配置文件,其中管理解码器缓冲器的参数的特征保持在所述文件的媒体数据中。
根据本公开的第二方面,提供有一种图像处理装置,包括:接收单元,所述接收单元接收文件,所述文件包含通过对图像进行编码而获得的比特流,并且所述文件被控制和设置成使得起始码和填充数据配置所述文件,其中管理解码器缓冲器的参数的特征保持在所述文件的媒体数据中;以及解码单元,所述解码单元从由所述接收单元接收的文件读取所述起始码和所述填充dat,并且通过使用所述管理解码器缓冲器的参数对所述比特流进行解码。
管理解码器缓冲器的参数是视频可用性信息VUI中包括的参数、缓冲时段补充增强信息SEI中包括的参数,或者图片定时SEI中包括的参数。
填充数据被设置为VCL数据。
根据本公开的第二方面,提供有一种使用图像处理装置的图像处理方法。图像处理方法包括:接收文件,所述文件包含通过对图像进行编码而获得的比特流,并且所述文件被控制和设置成使得起始码和填充数据配置所述文件,其中管理解码器缓冲器的参数的特征保持在所述文件的媒体数据中;从接收的文件读取所述起始码和所述填充数据,并且通过使用所述管理解码器缓冲器的参数来对所述比特流进行解码。
根据本公开的第三方面,提供有一种图像处理装置,包括:设置单元,所述设置单元在从包含通过对图像进行编码而获得的比特流的文件的媒体数据中的比特流移除起始码和填充数据的情况下,设置管理解码器缓冲器的参数的特征;以及生成单元,所述生成单元通过使用由所述设置单元设置的特征来生成所述文件。
设置单元可以设置识别所述管理解码器缓冲器的参数的所述特征被改变的标识参数。
设置单元可以将所述标识参数设置为所述文件的样本条目中的可选块。
根据本公开的第三方面,提供有一种使用图像处理装置的图像处理方法。该图像处理方法包括:在从包含通过对图像进行编码而获得的比特流的文件的媒体数据中的比特流移除起始码和填充数据的情况下,设置管理解码器缓冲器的参数的特征;以及通过使用所设置的特征来生成所述文件。
根据本公开的第四方面,提供有一种图像处理装置,包括:接收单元,所述接收单元接收使用所设置的管理解码器缓冲器的参数的特征而生成的文件,所述特征是在从包含通过对图像进行编码而获得的比特流的文件的媒体数据中移除起始码和填充数据的情况下设置的;以及解码单元,所述解码单元从由所述接收单元接收的文件读取所述管理解码器缓冲器的参数,并且通过使用所读取的参数来对所述比特流进行解码。
在文件中,设置识别管理解码器缓冲器的参数的特征被改变的标识参数。
根据本公开的第四方面,提供有一种使用图像处理装置的图像处理方法。图像处理方法包括:接收使用所设置的管理解码器缓冲器的参数的特征而生成的文件,所述特征是在从包含通过对图像进行编码而获得的比特流的文件的媒体数据中移除起始码和填充数据的情况下设置的;以及从所接收的文件读取所述管理解码器缓冲器的参数,并且通过使用所读取的参数对所述比特流进行解码。
根据本公开的第一方面,为包含通过对图像进行编码而获得的比特流的文件设置起始码和填充数据。然后,控制起始码和填充数据的设置,以使得所设置的起始码和填充数据配置文件,其中,管理解码器缓冲器的参数的特征保持在文件的媒体数据中。
根据本公开的第二方面,接收文件,该文件包含通过对图像进行编码而获得的比特流,并且该文件被控制和设置成使得起始码和填充数据配置文件使管理解码器缓冲器的参数的特征保持在文件的媒体数据中。然后,从接收的文件读取起始码和填充dat,并且通过使用管理解码器缓冲器的参数对比特流进行解码。
根据本公开的第三方面,在起始码和填充数据从包含通过对图像进行编码而获得的比特流的文件的媒体数据中的比特流移除的情况下,设置管理解码器缓冲器的参数的特征。然后,通过使用所设置的特征来生成文件。
根据本公开的第四方面,接收使用在起始码和填充数据从包含通过对图像进行编码而获得的比特流的文件的媒体数据中移除的情况下设置的管理解码器缓冲器的参数的设定特征而生成的文件。然后,从所接收的文件读取管理解码器缓冲器的参数,并且通过使用所读取的参数对比特流进行解码。
在此,上述图像处理装置可以是配置图像编码装置或图像解码装置的独立装置或内部块。
发明的有益效果
根据本公开的第一方面和第三方面,可以对图像进行编码。特别地,当生成发送比特流时使用的流或将数据存储在文件中时使用的流时,可以减小处理负荷。
此外,根据本公开的第二方面和第四方面,可以对图像进行解码。特别地,当对发送时使用的流或将数据存储在文件中时使用的流进行解码时,可以减小处理负荷。
附图说明
图1是示出根据第一实施方式的应用本技术的编码装置的配置的示例的框图。
图2是示出编码器的配置的示例的框图。
图3是示出文件生成单元的配置的示例的框图。
图4是示出文件生成处理的流程图。
图5是示出文件生成处理的另一示例的流程图。
图6是示出生成mdat数据的通常处理的流程图。
图7是示出根据本技术的生成mdat数据的处理的流程图。
图8是示出根据第一实施方式的应用本技术的解码装置的配置的示例的框图。
图9是示出文件读取单元的配置的示例的框图。
图10是示出解码器的配置的示例的框图。
图11是示出文件解码处理的流程图。
图12是示出文件解码处理的另一示例的流程图。
图13是示出根据第二实施方式的应用本技术的编码装置的配置的示例的框图。
图14是示出根据第二实施方式的应用本技术的解码装置的配置的示例的框图。
图15是示出通常MP4视频样本结构的示例的图。
图16是示出AVC流的一个存取单元的配置的示例的图。
图17是示出根据本技术的MP4视频样本结构的示例的图。
图18是示出根据本技术的MP4视频样本结构的另一示例的图。
图19是示出HRD一致性块扩展的示例的图。
图20是示出根据本技术的MP4视频样本结构的又一示例的图。
图21是示出添加到样本表的块的示例的图。
图22是示出图20所示的MP4视频样本结构的另一示例的图。
图23是示出图20所示的MP4视频样本结构的又一示例的图。
图24是示出样本辅助信息功能的格式的示例的图。
图25是示出样本辅助信息功能的格式的另一示例的图。
图26是用于比较根据本技术的MP4视频样本结构的示例的图。
图27是示出图23所示的MP4视频样本结构的另一示例的图。
图28是示出字节流格式信息块的示例的图。
图29是示出字节流格式信息块的另一示例的图。
图30是示出在每个样本条目中存储的字节流格式信息的数据结构的示例的图。
图31是示出在模式1的情况下的MP4视频样本结构的示例的图。
图32是示出在模式2的情况下的MP4视频样本结构的示例的图。
图33是示出在模式3的情况下的MP4视频样本结构的示例的图。
图34是示出在每个样本条目中存储的字节流格式信息的数据结构的
另一示例的图。
图35是示出应用本技术的文件转换装置的配置的示例的图。
图36是示出文件转换处理的流程图。
图37是示出根据第三实施方式的应用本技术的编码装置的配置的示例的框图。
图38是示出编码器的配置的示例的框图。
图39是示出根据第三实施方式的应用本技术的解码装置的配置的示例的框图。
图40是示出解码器的配置的示例的框图。
图41是示出计算机的配置的示例的框图。
图42是示出电视装置的示意性配置的示例的框图。
图43是示出移动电话的示意性配置的示例的框图。
图44是示出记录/再现装置的示意性配置的示例的框图。
图45是示出成像装置的示意性配置的示例的框图。
图46是示出视频设置的示意性配置的示例的框图。
图47是示出视频处理器的示意性配置的示例的框图。
图48是示出视频处理器的示意性配置的另一示例的框图。
具体实施方式
在下文中,将描述用于执行本公开的实施方式(在下文中,称为实施方式)。描述将以如下顺序给出。
1.第一实施方式(HEVC系统的编码装置和解码装置)
2.第二实施方式(图像编码装置和图像解码装置)
3.第三实施方式(MP4视频样本结构)
4.第四实施方式(字节流格式信息块)
5.第五实施方式(文件变换装置)
6.第六实施方式(AVC系统的编码装置和解码装置)
7.应用示例
8.第七实施方式(设置/单元/模块/处理器)
<1.第一实施方式>
[根据第一实施方式的编码装置的配置示例]
图1是示出根据第一实施方式的作为应用本技术的图像处理设备的编码装置的配置的示例的框图。
图1中示出的编码装置由编码器1和文件生成单元2配置,并且生成存储编码流的文件,所述编码流通过使用HEVC系统对图像如捕获图像进行编码而被存储。
更具体地说,图像如以帧为单位配置的捕获图像被作为输入信号输入到编码装置的编码器1。此外,编码器1的在图中未示出的先前阶段上设置的SPS(序列参数集)和PPS(图片参数集)、表示与每个序列的编码数据对应的图像的特征(可用性)的VUI(视频可用性信息)、SEI(补充增强信息)等被输入到其中。
编码器1通过使用HEVC系统,使用SPS、PPS、VUI和SEI中包括的参数对输入信号进行编码。然后,编码器1基于SPS、PPS、VUI、SEI和作为编码处理的结果获得的编码数据来生成编码流如MPEG-2 TS(传输流),并且将生成的编码流提供给文件生成单元2。随后将参照图2详细地描述编码器1。
文件生成单元2生成存储从编码器1提供的编码流(一系列编码图像数据)的文件(例如,MPEG-4部分14(ISO/IEC14496-14:2003,在下文中称为MP4)的文件)。随后将参照图3详细地描述文件生成单元2。
[编码器的配置示例]
图2是示出图1中所示出的编码器1的配置的示例的框图。编码器1的每个单元通过使用从图中未示出的先前阶段提供的SPS、PPS、VUI和SEI中包括的参数对为输入信号的图像进行编码,从而生成编码流。
在图2中所示的编码器1被配置成包括:A/D转换器11;画面重新排列缓冲器12;计算单元13;正交变换单元14;量化单元15;无损编码单元16;累积缓冲器17;逆量化单元18;逆正交变换单元19;加法单元20;去块滤波器21;帧存储器22;开关23;帧内预测单元24;运动预测/补偿单元25;预测图像选择单元26;以及速率控制单元27。
此外,在去块滤波器21和帧存储器22之间设置有自适应偏移滤波器41和自适应环路滤波器42。
更具体地,编码器1的A/D转换器11执行对以帧为单位配置的、作为输入信号输入的图像的A/D转换,并且将经转换的图像输出到画面重新排列缓冲器12,以便存储在其中。画面重新排列缓冲器12按显示顺序重新排列以帧为单位配置的存储的图像,以便根据GOP(图片组)结构进行编码,并且将经重新排列的图像输出到计算单元13、帧内预测单元24,以及运动预测/补偿单元25。
计算单元13通过计算从预测图像选择单元26提供的预测图像与从画面重新排列缓冲器12输出的当前编码图像之间的差进行编码。更具体地,计算单元13从由画面重新排列缓冲器12输出的当前编码图像减去从预测图像选择单元26提供的预测图像。计算单元13将由此获得的图像作为差信息输出到正交变换单元14。此外,在预测图像不是从预测图像选择单元26提供的情况下,计算单元13将从画面重新排列缓冲器12读取的图像按原样作为差信息输出到正交变换单元14。
正交变换单元14对从计算单元13提供的差信息执行正交变换,并且将作为正交变换的结果获得的系数提供给量化单元15。
量化单元15对从正交变换单元14提供的系数进行量化。量化的系数被输入到无损编码单元16。
无损编码单元16从帧内预测单元24获取表示最佳帧内预测模式的信息(在下文中,称为帧内预测模式信息)。此外,无损编码单元16从运动预测/补偿单元25获取表示最佳帧间预测模式的信息(在下文中,称为帧间模式信息)、运动矢量、用于指定基准图像的信息等。此外,无损编码单元16从自适应偏移滤波器41获取存储标记、索引或偏移和类型信息作为偏移滤波器信息,并且从自适应环路滤波器42获取滤波器系数。
无损编码单元16对从量化单元15提供的量化系数执行无损编码如可变长度编码(例如,CAVLC(上下文自适应可变长度编码)等)、算术编码(例如,CABAC(上下文自适应二进制算术编码)等)。
此外,无损编码单元16执行作为与编码有关的编码信息的帧内预测模式信息或帧间预测模式信息、运动矢量、指定基准图像的信息、偏移滤波器信息、滤波器系数等的无损编码。无损编码单元16基于以无损方式编码的编码信息和系数来生成编码流,并且将生成的编码流提供给累积缓冲器17,以便累积在其中。在此,以无损方式编码的编码信息可以被视为以无损方式编码的系数的头部信息。
累积缓冲器17临时存储从无损编码单元16提供的编码流。此外,累积缓冲器17将存储的编码流提供给图1所示的文件生成单元2。
此外,从量化单元15输出的量化系数还被输入到逆量化单元18,被逆向量化,然后被提供给逆正交变换单元19。
逆正交变换单元19对从逆量化单元18提供的系数执行逆正交变换,并且将由此获得的差信息提供给加法单元20。
加法单元20将从逆正交变换单元19提供的差信息作为当前解码图像与从预测图像选择单元26提供的预测图像相加在一起,从而获取本地解码的图像。此外,在预测图像不是从预测图像选择单元26提供的情况下,加法单元20将从逆正交变换单元19提供的差信息设置作为本地解码的图像。加法单元20将本地解码的图像提供给去块滤波器21,并且将本地解码的图像提供给帧存储器22,以便累积在其中。
去块滤波器21对本地解码的、从加法单元20提供的图像进行滤波,从而去除块失真。去块滤波器21将由此获得的图像提供给自适应偏移滤波器41。
自适应偏移滤波器41针对已通过去块滤波器21执行了自适应去块滤波处理的图像来执行主要去除回响的自适应偏移滤波(SAO:样本自适应偏移)处理。
下面进行更详细地描述,自适应偏移滤波器41针对为最大编码单元的每个LCU(最大编码单元)确定自适应偏移滤波处理的类型,并且获取用于自适应偏移滤波处理的偏移。自适应偏移滤波器41通过使用获得的偏移来执行针对自适应去块滤波处理之后获得的图像的确定类型的自适应偏移滤波处理。然后,自适应偏移滤波器41将自适应偏移滤波处理之后获得的图像提供给自适应环路滤波器42。
此外,自适应偏移滤波器41包括存储偏移量的缓冲器。自适应偏移滤波器41针对每个LCU确定用于自适应去块滤波处理的偏移量是否已存储在缓冲器中。
在用于自适应去块滤波处理的偏移量被确定为已存储在缓冲器中的情况下,自适应偏移滤波器41将表示偏移量是否被存储在缓冲器中的存储标记设置为表示偏移量存储在缓冲器中的值(此处,1)。
然后,自适应偏移滤波器41针对每个LCU将被设置为“1”的存储标记、表示偏移量在缓冲器中的存储位置的索引以及表示执行的自适应偏移滤波处理的类型的类型信息提供给无损编码单元16。
另一方面,在用于自适应去块滤波处理的偏移量尚未存储在缓冲器中的情况下,自适应偏移滤波器41将偏移量顺序地存储在缓冲器中。此外,自适应偏移滤波器41将存储标记设置为表示偏移未存储在缓冲器中的值(在此,“0”)。然后,自适应偏移滤波器41针对每个LCU将被设置为“0”的存储标记、偏移以及类型信息提供给无损编码单元16。
自适应环路滤波器42例如针对每个LCU对自适应偏移滤波处理之后获得的、从自适应偏移滤波器41提供的图像执行自适应环路滤波(ALF)处理。作为自适应环路滤波处理,例如使用二维维纳滤波器的处理被使用。明显的是可以使用不同于维纳滤波器的滤波器。
更具体地,自适应环路滤波器42针对每个LCU计算用于自适应环路滤波处理的滤波器系数,以使得作为从画面重新排列缓冲器12输出的图像的原始图像与自适应环路滤波处理之后获得的图像之间的差被最小化。然后,自适应环路滤波器42通过使用针对每个LCU计算的滤波器系数对自适应偏移滤波处理之后获得的图像执行自适应环路滤波处理。
自适应环路滤波器42将自适应环路滤波处理之后获得的图像提供给帧存储器22。此外,自适应环路滤波器42将滤波器系数提供给无损编码单元16。
此处,虽然针对每个LCU来执行自适应环路滤波处理,但是自适应环路滤波处理的处理单元不限于LCU。然而,通过匹配自适应偏移滤波器41与自适应环路滤波器42的处理单元,处理可以高效地执行。
在帧存储器22中累积的图像作为基准图像通过开关23被输出到帧内预测单元24或运动预测/补偿单元25。
帧内预测单元24通过使用通过开关23从帧存储器22读取的、未被去块滤波器21滤波的基准图像,以拼贴和切片为单位来执行作为候选的所有帧内预测模式中的每个的帧内预测处理。
此外,帧内预测单元24基于从画面重新排列缓冲器12读取的图像和作为帧内预测处理的结果生成的预测图像来计算作为候选的所有帧内预测模式的成本函数值(随后将详细地描述)。然后,帧内预测单元24将其成本函数值最小的帧内预测模式确定为最佳帧内预测模式。
帧内预测单元24将以最佳帧内预测模式生成的预测图像和对应的成本函数值提供给预测图像选择单元26。在帧内预测单元24从预测图像选择单元26被告知选择以最佳帧内预测模式生成的预测图像的情况下,帧内预测单元24将帧内预测模式信息提供给无损编码单元16。
成本函数值也被称为RD(率失真)成本,例如通过使用如在作为H.264/AVC系统中的基准软件的JM(联合模型)中定义的高复杂度模式和低复杂度模式之一的技术来计算所述成本函数值。
更具体地,在高复杂度模式被采用作为针对作为候选的所有预测模式来计算成本函数值的技术的情况下,临时执行直至无损编码的处理,并且针对每个预测模式计算在如下公式(1)中表示的成本函数值。
成本(模式)=D+λ·R…(1)
此处,D是原始图像与解码图像之间的差,R是包括直至正交变换的系数的生成的编码量,以及λ是根据量化参数QP给出的拉格朗日乘数。
另一方面,在低复杂度模式被采用作为针对作为候选的所有预测模式中的每个来计算成本函数值的技术的情况下,生成解码图像,计算头部位如表示预测模式的信息,并且针对每个预测模式计算在如下公式(2)中表示的成本函数值。
成本(模式)=D+QPtoQuant(QP)·Header_Bit…(2)
此处,D是原始图像与解码图像之间的差(失真),Header_Bit是预测模式的头部位,以及QPtoQuant是根据量化参数QP给出的函数。
在低复杂度模式下,针对所有的预测模式可以生成仅解码图像,并且不需要执行无损编码,由此减少了计算量。
运动预测/补偿单元25以拼接和切片为单位在作为候选的所有帧间预测模式中的每个中执行运动预测/补偿处理。更具体地,运动预测/补偿单元25基于从画面重新排列缓冲器12提供的图像和通过开关23从帧存储器22读取的经滤波的基准图像,以拼接和切片为单位检测作为候选的所有帧间预测模式中的每个的运动矢量。然后,运动预测/补偿单元25基于运动矢量以拼接和切片为单位执行基准图像的补偿处理,从而生成预测图像。
此时,运动预测/补偿单元25基于从画面重新排列缓冲器12提供的图像和预测图像,针对作为候选的所有帧间预测模式中的每个计算成本函数值,并且将其成本函数值最小的帧间预测模式确定为最佳帧间预测模式。然后,运动预测/补偿单元25将最佳帧间预测模式的成本函数值和对应的预测图像提供给预测图像选择单元26。此外,在运动预测/补偿单元25从预测图像选择单元26被告知选择以最佳帧间预测模式生成的预测图像的情况下,运动预测/补偿单元25将帧间预测模式信息、对应的运动矢量、指定基准图像的信息等输出到无损编码单元16。
预测图像选择单元26基于从帧内预测单元24和运动预测/补偿单元25提供的成本函数值将最佳帧内预测模式与最佳帧间预测模式中具有较小的成本函数值的一个预测模式确定为最佳预测模式。然后,预测图像选择单元26将最佳预测模式的预测图像提供给计算单元13和加法单元20。此外,预测图像选择单元26将最佳预测模式的预测图像的选择通知帧内预测单元24或运动预测/补偿单元25。
速率控制单元27基于累积在累积缓冲器17中的编码数据来执行由量化单元15进行的量化操作的控制,以使得不发生上溢或下溢。
[背景和问题]
在ISO/IEC14496-15中定义的AVC文件格式中,不允许在比特流(基本流)中包括起始码和填充数据。然而,使得在处理基于IOS的媒体文件格式、MPEG-2 TS(传输流)的数据时的处理负荷增加。
此外,为了从比特流(基本流)生成(转换)MPEG-2 TS,存在有通过移除起始码和填充数据(用于调整数据大小的虚拟数据)使管理解码器缓冲器的参数的值变得不同的情况。因此,例如,需要重新设置缓冲时段SEI(补充增强信息),这导致在转换比特流时的处理负荷增加。
[文件生成单元的操作]
因此,在生成发送时使用的流或将数据存储在文件中时使用的流的情况下,文件生成单元2为包含通过对图像进行编码获得的比特流的文件设置起始码和填充数据,并且执行起始码和填充数据的设置的控制,以使得设置的起始码和填充数据配置文件,其中管理解码器缓冲器的参数的特征保持在文件的媒体数据中。
此外,在从包括通过对图像进行编码而获得的比特流的文件的媒体数据中移除起始码和填充数据的情况下,文件生成单元2设置管理解码器缓冲器的参数的特征,并且通过使用设置的特征来生成文件。
此处,管理解码器缓冲器的参数是HRD参数(假设基准解码器参数),换言之,管理虚拟基准解码器的参数。管理解码器缓冲器的该参数是在VUI中包括的参数,在缓冲时段SEI中包括的参数,或者在图片定时SEI中包括的参数。
通过如上配置,在生成(转换)发送时的流或将数据存储在文件中时的流的情况下,不需要重新设置起始码和填充数据,从而可以减轻处理负荷。
此外,填充数据可以响应如下。换言之,在AVC或HEVC系统中,填充数据是要处于NAL单元类型码和NAL单元类型类的表格中的非VCL。更具体地,当nal_unit_type是31时,nal_unit_type的名称是FD_NUT,NAL单元的内容和RBSP语法结构是填充数据和filler_data_rbsp(),NAL nuit类型类是非VCL。通过将该非VCL改变为VCL数据,可以在文件的媒体数据中包括填充数据,并且相应地,可以抑制在转换成发送流时移除填充数据。
更具体地,文件生成单元2执行起始码和填充数据的设置如下。
.起始码和填充数据
因此,该贡献建议针对新类型ony允许在基本流中包括起始码和填充数据。
在ISO/IEC 14496-15的原始版本中,不可以在基本流中包括SPS/PPS。在ISO/IEC 14496-16 PDAM2中,现在允许包括SPS/PPS。如果允许在基本流中包括起始码和填充数据,则比特流转换器的负荷明显减轻。在该情况下,不需要HRD参数例如缓冲时段SEI和图片定时SEI的重写。
为了确保向后兼容性,该变化应当施加到新类型。(新AVC品牌和HEVC)
.HRD参数是错误的指示
当从基本流移除起始码、填充数据等以存储ISOMFF时,HRD参数例如缓冲时段SEI、图片定时SEI等是不正确的。然而,解码器不能够知道在基本流中的HRD参数是否正确。应存在有指示基本流中的HRD参数可能是错误的id。
.在HEVC或AVC中将填充数据改变为VCL数据
当前,在HEVC和AVC中,填充数据被分类为非VCL。这表示填充数据的位被计数为非VCL(头部信息)。然而,如果将填充数据指定为VCL数据,则填充的位被计数为视频比特流本身。在该情况下,不需要从基本流移除填充数据,并且不改变HRD参数。用于HEVC的表被附上。
此外,在管理解码器缓冲器的参数不同(不正确)的情况下,解码器不能够确定管理解码器缓冲器的参数是否相同(正确)。因此,在从比特流移除起始码和填充数据的情况下,用于标识管理解码器缓冲器的参数的特征是否被改变的标识参数被设置。作为示例,将呈现在文件格式的可选块中存储标识参数的情况。
例如,在AVC的情况下,这种id可以被限定为如下AVCSampleEntry中的可选块。(相同的方法可以应用于其他AVC样本条目和HEVCSampleEntry.)
AVCSampleEntry()extends VisualSampleEntry(type'){
//类型为'avcl'或'avc3'
AVCConfigurationBox config;
MPEG4BitRateBox();//可选
MPEG4ExtensionDescriptorsBox();//可选
HRDConformanceBox();//可选
}
在5.4.2.1中将HRDConformanceBox添加到AVCSampleEntry和AVC2SVVSampleEntry,
在6.5.3.1中将HRDConformanceBox添加到AVCSVCSampleEntry、AVC2SVCSampleEntry和SVCSampleEntry。
在部分7.6.3.3中将HRDConformanceBox添加到AVCMVCSampleEntry、AVC2MVCSampleEntry和MVCSampleEntry。
在部分8.4.1.1中将HRDConformanceBox添加到HEVC SampleEntry。
可以将HRDConformanceBox定义如下,
class HRDConformanceBox extends Box('hrdc'){
HRDConformanceData()HRDConformance;
}
aligned(8)class HRDConformanceData{
unsigned int{7)reserved=0;
unsigned int(1)HRDConformanceFlag;
unsigned int(24)reserved;
Box[]any_box;//可选
}
标识参数例如被设置如下。
HRDConformanceFlag是HRD特征是否通过从基本流中去除起始码、填充数据等而被改变的标识符。当HRDConformanceFlag等于1时,通过从基本流中移除起始码、填充数据等来改变HRD参数例如缓冲时段SEI、图片定时SEI。
在图1中示出的执行上述处理的文件生成单元2如图3所示的那样被配置。
[文件生成单元的配置示例]
图3是示出执行上述处理的文件生成单元的配置的示例的框图。
在图3所示的示例中,文件生成单元2被配置成包括控制单元31、设置单元32和文件写单元33。
控制单元31基于作为管理解码器缓冲器的参数的HRD参数的特征是否要被保持来控制由设置单元32执行的生成作为文件的VCL数据部分的mdat数据的处理。此外,控制单元31基于起始码和填充数据是否从由设置单元32设置的mdat数据移除来控制HRD参数的特征的设置或HRD的标识参数在作为文件的管理信息部分的moov中的设置。
设置单元32在控制单元31的控制下通过使用从编码器1提供的编码流来生成文件的mdat数据,并且将生成的mdat数据提供给文件写单元33。虽然根据常规技术来移除起始码和填充数据,但是根据本公开的技术,mdat数据在编码流中设置的起始码和填充数据被设置的情况下生成。
此外,设置单元32在控制单元31的控制下重新设置HRD参数的特征或设置HRD在文件的moov中的标识参数。然后,设置单元32生成文件的moov,并且将生成的moov提供给文件写单元33。
文件写单元33将从设置单元32提供的moov写到文件中,并且将mdat写到文件中。被文件写单元33所写的MP4的文件被发送到随后要描述的解码装置等,并且通过解码装置进行读取和解码。
[文件生成处理的示例]
接下来,将参照图4中所示的流程图来描述由文件生成单元2执行的文件生成处理。
在步骤S1中,控制单元31确定是否要保持作为管理解码器缓冲器的参数的HRD参数的特征。在步骤S1中,当确定不保持HRD参数的特征的情况下,处理前进至步骤S2。在步骤S2中,设置单元32在控制单元31的控制下执行通常的mdat数据生成处理。随后将参照图6来描述该处理。
在步骤S2的处理中,检测起始码,获取NAL数据,以及移除起始码。然后,基于所获取的数据是否为VCL数据、填充数据、管理信息等来执行单元大小的加、数据在缓冲器中的累积,或数据的丢弃,由此生成mdat数据。所生成的mdat数据被提供给文件写单元33,然后处理前进到步骤S4。
另一方面,在步骤S1中,在确定要保持HRD参数的特征的情况下,处理前进至步骤S3。在步骤S3中,设置单元32在控制单元31的控制下执行根据本技术的mdat数据生成处理。随后将参照图7来描述该处理。
在步骤S3的处理中,检测起始码,获取NAL数据,将获取的数据设置为VCL数据,加上单元大小,以及在缓冲器中累积结果数据,由此生成mdat数据。生成的mdat数据被提供给文件写单元33,然后处理前进至步骤S4。
在步骤S4中,控制单元31确定起始码和填充数据是否已从在步骤S2或S3中生成的mdat数据移除。
在步骤S4中,在确定起始码和填充数据被移除的情况下,处理前进至步骤S5。在步骤S5中,设置单元32设置HRD参数的特征。换言之,由于HRD参数的特征是不同的,因此HRD参数的特征被重新计算并且被再次设置。然后,通过设置的HRD参数重写mdat数据的SEI和VUI。
在步骤S4中,当确定起始码和填充数据未被移除的情况下,跳过步骤S5的处理,并且处理前进至步骤S6。
在步骤S6中,设置单元32通过使用由步骤S2或S3的处理获取的数据的大小信息来生成文件的moov。此外,在执行步骤S3的处理的情况下,还使用在缓冲器中累积的用于moov的管理信息等。生成的moov被提供给文件写单元33。
在步骤S7中,文件写单元33将在步骤S6中生成的moov写到文件中。
在步骤S8中,文件写单元33将在步骤S2或S3中生成的mdat写到文件中。
如上所述,通过文件写单元33写的MP4的文件被发送给随后要描述的解码装置等,并且通过所述解码装置进行读取和解码。此时,在不改变HRD参数的特征的情况下生成文件。此外,即使在起始码和填充数据被移除的情况下,再次设置HRD参数,并且因此,通过参照HRD参数,可以正确地执行解码处理。
在图4的描述中,虽然描述了在起始码和填充数据被移除的情况下再次设置HRD参数的特征的示例,但是如接下来将描述的,可以设置表示HRD参数的特征是否正确或不同的标识参数。
[文件生成处理的另一示例]
接下来,将参照图5中示出的流程图来描述由文件生成单元2执行的文件生成处理。
在步骤S11中,控制单元31确定是否要保持作为管理解码器缓冲器的参数的HRD参数的特征。在步骤S11中,当确定不保持HRD参数的特征的情况下,处理前进至步骤S12。在步骤S12中,设置单元32在控制单元31的控制下执行通常的mdat数据生成处理。随后将参照图5来描述该处理。
在步骤S12的处理中,检测起始码,获取NAL数据,以及移除起始码。然后,基于所获取的数据是否为VCL数据、填充数据、管理信息等来执行单元大小的相加、数据在缓冲器中的累积,或数据的丢弃,由此生成mdat数据。所生成的mdat数据被提供给文件写单元33,然后处理前进到步骤S14。
另一方面,在步骤S11中,在确定要保持HRD参数的特征的情况下,处理前进至步骤S13。在步骤S13中,设置单元32在控制单元31的控制下执行根据本技术的mdat数据生成处理。随后将参照图6来描述该处理。
在步骤S13的处理中,检测起始码,获取NAL数据,将获取的数据设置为VCL数据,加上单元大小,以及在缓冲器中累积结果数据,由此生成mdat数据。生成的mdat数据被提供给文件写单元33,然后处理前进至步骤S14。
在步骤S14中,控制单元31确定起始码和填充数据是否已从在步骤S12或S13中生成的mdat数据移除。
在步骤S14中,在确定起始码和填充数据未被移除的情况下,处理前进至步骤S15。在步骤S15中,设置单元32将moov的HRD的标识参数设置为“1”,然后处理前进至步骤S17。因此,可以在解码端确定HRD参数是正确的。
在步骤S14中,在确定起始码和填充数据被移除的情况下,处理前进至步骤S16。在步骤S16中,设置单元32将moov的HRD的标识参数设置为“0”,然后处理前进至步骤S17。因此,可以在解码端确定HRD参数是错误的(不正确)。
在步骤S17中,设置单元32通过使用由步骤S12或S13的处理获取的数据的大小信息来生成文件的moov。此外,在执行步骤S13的处理的情况下,还使用在缓冲器中累积的用于moov的管理信息等。生成的moov被提供给文件写单元33。
在步骤S18中,文件写单元33将在步骤S17中生成的moov写到文件中。
在步骤S19中,文件写单元33将在步骤S12或S13中生成的mdat写到文件中。
如上所述,通过文件写单元33写的MP4的文件被发送给随后要描述的解码装置等,并且通过所述解码装置进行读取和解码。此时,在不改变HRD参数的特征的情况下生成文件。此外,由于用于标识HRD参数是否正确的标识参数被设置,因此,通过参照HRD参数,可以清楚地确定解码是否被执行。
[通常mdat数据生成处理的示例]
接下来,将参照在图6中示出的流程图来描述在图4所示的步骤S2(图5所示的步骤S12)中执行的通常mdat数据生成处理。
设置单元32在步骤S21中从由编码器1提供的编码流中检测起始码,并且获取从在步骤S21中检测的起始码到步骤S22中的下一起始码的NAL数据。
在步骤S23中,设置单元32移除在步骤S21中检测的起始码。在步骤S24中,确定在步骤S22中获取的数据是否是VCL数据。
在步骤S24中,在确定在步骤S22中获取的数据是VCL数据的情况下,处理前进至步骤S25。在步骤S25中,设置单元32将对应的单元大小添加到在步骤S22中获取的数据,并且将得到的数据设置为存取单元。然后,在步骤S26中,设置单元32将单元大小被添加到的存取单元累计在内置mdat缓冲器中,然后处理前进至步骤S30。
另一方面,在步骤S24中,在确定在步骤S22中获取的数据不是VCL数据的情况下,处理前进至步骤S27。在步骤S27中,设置单元32确定在步骤S22中获取的数据是否是填充数据。
在步骤S27中,在确定在步骤S22中获取的数据是填充数据的情况下,处理前进至步骤S28。在步骤S28中,设置单元32丢弃填充数据,然后处理前进至步骤S30。
另一方面,在步骤S27中,在确定在步骤S22中获取的数据不是填充数据的情况下,处理前进至步骤S29。在该情况下,由于获取的数据是管理信息如SPS、PPS等,在步骤S29中,设置单元32在内置moov缓冲器中累积获取的数据,然后处理前进至步骤S30。
在步骤S30中,设置单元32从由编码器1提供的编码流检测起始码。
在步骤S31中,设置单元32确定当前数据是否是文件的最后数据。在步骤S30中未检测到起始码的情况下,在步骤S31中,当前数据被确定为文件的最后数据,mdat数据生成处理结束,并且处理返回至图4所示的步骤S2(或图5所示的步骤S12)。
另一方面,在步骤S30中检测到起始码的情况下,在步骤S31中,在确定最后数据不是文件的最后数据的情况下,处理前进至步骤S22,然后重复进行步骤S22及其后的处理。
[根据本技术的mdat数据生成处理的示例]
与此相对,接下来,将参照在图7中示出的流程图来描述在图4所示的步骤S3(图5所示的步骤S13)中执行的根据本技术的mdat数据生成处理。
设置单元32在步骤S41中从由编码器1提供的编码流中检测起始码,并且获取从在步骤S41中检测的起始码到在步骤S42中的下一起始码的NAL数据。在图7示出的示例中,不移除起始码。
在步骤S43中,设置单元32确定在步骤S42中获取的数据是否是填充数据。在步骤S43中,在确定在步骤S42中获取的数据是填充数据的情况下,处理前进至步骤S44。在步骤S44中,设置单元32将填充数据设置为VCL数据。
另一方面,在步骤S43中,在确定在步骤S42中获取的数据不是填充数据的情况下,跳过步骤S44的处理,然后处理前进至步骤S45。
在步骤S45中,对应的单元大小被添加到在步骤S42中获取的数据,并且得到的数据被设置为存取单元,在步骤S46中添加有单元大小的存取单元在内置mdat缓冲器中累积。此处,在获取的数据是管理信息如SPS或PPS的情况下,还在内置moov缓冲器中累积所述数据,并且将所述数据作为在图4所示的步骤S6或在图5所示的步骤S17中的默认SPS或PPS存储在moov的样本描述中。
此处,在所获取的数据是管理信息如SPS或PPS的情况下,类似于通常情况,可以不在mdat缓冲器中而仅在内置moov缓冲器中存储所获取的数据。
在步骤S47中,设置单元32从由编码器1提供的编码流检测起始码。
在步骤S48中,设置单元32确定当前数据是否是文件的最后数据。在步骤S47中未检测到起始码的情况下,在步骤S48中,当前数据被确定为文件的最后数据,mdat数据生成处理结束,并且处理返回至图4所示的步骤S3(或图5所示的步骤S13)。
在步骤S47中检测到起始码的情况下,在步骤S48中,在确定当前数据不是文件的最后数据的情况下,处理前进至步骤S42,然后重复进行步骤S42及其后的处理。
如上所述,根据本技术,控制起始码和填充数据的设置,以使得文件被配置,其中管理解码器缓冲器的参数的特征被保持。换言之,起始码和填充数据不被移除,并且文件被配置成包括起始码和填充数据,并且因此,可以保持管理解码器缓冲器的参数的特征。
此外,由于填充数据被改变成VCL数据,因此可以在文件的媒体数据中包括填充数据,从而可以抑制在变换成发送流时移除填充数据。
此外,在起始码和填充数据从文件的媒体数据中移除的情况下,管理解码器缓冲器的参数的特征被设置,并且通过使用设置的参数来生成文件。因此,可以正确地执行解码。
可替代地,在起始码和填充数据从文件的媒体数据中移除的情况下,标识参数的特征被改变的标识参数被设置,并且通过使用设置的标识参数来生成文件。因此,可以正确地执行解码。
[根据第一实施方式的解码装置的配置示例]
图8是示出根据第一实施方式的作为应用本技术的图像处理装置的对从图1所示的编码装置发送的编码流进行解码的解码装置的配置的示例的框图。
图8中示出的解码装置通过文件读取单元51和解码器52配置。
解码装置的文件读取单元51接收由图1中示出的编码装置生成的MP4的文件,并且从接收的文件读取对由图1中示出的编码器1编码的编码流进行配置的SPS、PPS、VUI、SEI、编码数据等。文件读取单元51将SPS、PPS、VUI、SEI和编码数据提供给解码器52。
更具体地,文件读取单元51接收文件,所述文件被控制以被设置成使得起始码和填充数据配置所述文件,其中管理解码器缓冲器的参数的特征被保持在包含通过对图像进行编码而获得的比特流的文件的媒体数据中。可替代地,在起始码和填充数据从包括通过对图像进行编码而获得的比特流的文件的媒体数据中移除的情况下,文件读取单元51接收通过使用所设置的管理解码器缓冲器的参数的设定特征而生成的文件。然后,文件读取单元51读取接收的文件,并且使得解码器52对比特流的编码数据进行解码。
解码器52在文件读取单元51的控制下,参照从文件读取单元51提供的SPS、PPS、VUI、SEI等(特别是,HRD参数的特征),并且通过使用HEVC系统对从文件读取单元51提供的编码数据进行解码。解码器52将作为解码处理的结果而获得的图像作为输出信号提供给随后阶段。
[文件读取单元的配置示例]
图9是示出文件读取单元51的配置的示例的框图。
在图9示出的示例中,文件读取单元51被配置成包括:文件接收单元71;参数获取单元72;解码控制单元73;以及数据读取单元74。
文件接收单元71接收由图1中示出的文件生成单元2生成的MP4的文件,并且将接收的文件提供给参数获取单元72。
参数获取单元72从MP4的文件获取作为管理信息的moov,并且将获取的moov提供给数据读取单元74。此外,参数获取单元72基于获取的moov使得数据读取单元72从mdat读取数据。
此外,在通过图5中示出的文件生成处理来生成文件的情况下,参数获取单元72从moov获取用于确定HRD参数的特征是否正确的标识参数,并且将标识参数提供给解码控制单元73。
在存在从参数获取单元72提供的HRD的标识参数的情况下,解码控制单元73基于HRD的标识参数来确定是否遵循HRD参数,并且控制解码器52,从而执行解码处理。
相比之下,在通过图4中示出的文件生成处理生成文件的情况下,虽然在moov中不存在HRD的标识参数,但是即使在MP4的文件的起始码和填充数据被移除的情况下,HRD参数的特征也被再次设置,因此,特征是正确的。因此,在该情况下,解码控制单元73不特别地执行操作。
数据读取单元74在参数获取单元72的控制下,从文件的moov或mdat读取SPS、PPS、VUI、SEI等,并且从文件的mdat读取编码数据。然后,数据读取单元74将所读取的SPS、PPS、VUI、SEI、编码数据等提供给解码器52。
[解码单元的配置示例]
图10是示出图8中示出的解码器52的配置的示例的框图。解码器52的每个单元通过使用在由文件读取单元51提供的SPS、PPS、VUI和SEI中包括的参数对编码数据进行解码,从而生成图像。
图10中示出的解码器52通过以下来配置:累积缓冲器101;无损解码单元102;逆量化单元103;逆正交变换单元104;加法单元105;去块滤波器106;画面重新排列缓冲器107;D/A变换器108;帧存储器109;开关110;帧内预测单元111;运动补偿单元112;以及开关113。
此外,在去块滤波器106与画面重新排列缓冲器107以及帧存储器109之间,设置有自适应偏移滤波器141和自适应环路滤波器142。
解码器52的累积缓冲器101从图8中示出的文件读取单元51接收编码数据,并且累积接收的编码数据。累积缓冲器101将累积的编码数据提供给无损解码单元102。
无损解码单元102对从累积缓冲器101提供的编码数据执行无损解码如可变长度解码或算术解码,从而获取量化系数和编码信息。无损解码单元102将量化系数提供给逆量化单元103。此外,无损解码单元102将帧内预测模式信息等作为编码信息提供给帧内预测单元111,并且将运动矢量、用于指定基准图像的信息、帧间预测模式信息等提供给运动补偿单元112。此外,无损解码单元102将帧内预测模式信息或帧间预测模式信息作为编码信息提供给开关113。
无损解码单元102将偏移滤波器信息作为编码信息提供给自适应偏移滤波器141,并且将滤波器系数提供给自适应环路滤波器142。
逆量化单元103、逆正交变换单元104、加法单元105、去块滤波器106、帧存储器109、开关110、帧内预测单元111和运动补偿单元112分别执行类似于图2中示出的逆量化单元18、逆正交变换单元19、加法单元20、去块滤波器21、帧存储器22、开关23、帧内预测单元24、运动预测/补偿单元25的处理,由此图像被解码。
更具体地,逆量化单元103执行从无损解码单元102提供的量化系数的逆量化,并且将由此获得的系数提供给逆正交变换单元104。
逆正交变换单元104对从逆量化单元103提供的系数执行逆正交变换,并且将由此获得的差信息提供给加法单元105。
加法单元105将从逆正交变换单元104提供的差信息作为当前解码图像与从开关113提供的预测图像相加在一起,从而执行解码处理。加法单元105将作为解码处理的结果获得的图像提供给去块滤波器106和帧存储器109。此外,在预测图像不是从开关113提供的情况下,加法单元105将作为由逆正交变换单元104提供的差信息的图像作为解码处理的结果获得的图像提供给去块滤波器106,并且将图像提供给帧存储器109,以便累积在其中。
去块滤波器106对从加法单元105提供的图像进行滤波,从而去除块失真。去块滤波器106将由此获得的图像提供给自适应偏移滤波器141。
自适应偏移滤波器141包括缓冲器,所述缓冲器顺序地存储从无损解码单元102提供的偏移。此外,自适应偏移滤波器141基于从无损解码单元102提供的偏移滤波信息对由去块滤波器106针对每个LCU执行的自适应去块滤波处理之后获得的图像执行自适应偏移滤波处理。
更具体地,在偏移滤波信息中包括的存储标记为“0”的情况下,自适应偏移滤波器141通过使用在偏移滤波信息中包括的偏移量对以LCU为单位去块滤波处理之后获得的图像执行由类型信息所表示的类型的自适应偏移滤波处理。
另一方面,在偏移滤波信息中包括的存储标记为“1”的情况下,自适应偏移滤波器141对以LCU为单位去块滤波处理之后获得的图像读取在由偏移滤波信息中包括的索引表示的位置处存储的偏移量。然后,自适应偏移滤波器141通过使用所读取的偏移来执行由类型信息所表示的类型的自适应偏移滤波处理。自适应偏移滤波器141将自适应偏移滤波处理之后获得的图像提供给自适应环路滤波器142。
自适应环路滤波器142通过使用从无损解码单元102提供的滤波器系数针对每个LCU对从自适应偏移滤波器141提供的图像执行自适应环路滤波处理。自适应环路滤波器142将由此获得的图像提供给帧存储器109和画面重新排列缓冲器107。
在帧存储器109中累积的图像通过开关110被读取作为基准图像,并且被提供给运动补偿单元112或帧内预测单元111。
画面重新排列缓冲器107以帧为单位存储从去块滤波器106提供的图像。画面重新排列缓冲器107以原始的显示顺序对以编码顺序设置的以帧为单位配置的存储图像进行重新排列,并且将重新排列的图像提供给D/A转换器108。
D/A转换器108执行对从画面重新排列缓冲器107提供的以帧为单位配置的图像的D/A转换,并且将经转换的图像作为输出信号输出到图中未示出的随后阶段。
帧内预测单元111通过使用以拼接和切片为单位通过开关110从帧存储器109读取的、未被去块滤波器106滤波的基准图像,来执行由从无损解码单元102提供的帧内预测模式信息表示的帧内预测模式的帧内预测处理。帧内预测单元111将由此生成的预测图像提供给开关113。
运动补偿单元112基于用于指定从无损解码单元102提供的基准图像的信息,以拼接和切片为单位通过开关110从帧存储器109读取由去块滤波器106滤波的基准图像。运动补偿单元112通过使用运动矢量和基准图像来执行由帧间预测模式信息表示的最佳帧间预测模式的运动补偿处理。运动补偿单元112将由此生成的预测图像提供给开关113。
在帧内预测模式信息由无损解码单元102提供的情况下,开关113将从帧内预测单元111提供的预测图像提供给加法单元105。另一方面,在帧间预测模式信息由无损解码单元102提供的情况下,开关113将由运动补偿单元112提供的预测图像提供给加法单元105。
[文件解码处理的示例]
接下来,将参照图11中示出的流程图来描述由图8中示出的解码装置执行的文件解码处理。该文件解码处理是针对通过图4中示出的文件生成处理生成的文件的处理。换言之,即使在起始码和填充数据被移除的情况下,在该文件中也再次设置HRD参数的特征。
在步骤S71中,文件接收单元71接收MP4的文件,并且将所接收的文件提供给参数获取单元72。
在步骤S72中,参数获取单元72从MP4的文件获取作为管理信息的moov,并且将获得的moov提供给数据读取单元74。在步骤S73中,数据读取单元74从moov中获取SPS和PPS。在步骤S74中,参数获取单元72基于在步骤S72中获得的moov来获取当前解码mdat的单元大小。
在步骤S75中,参数获取单元72基于在步骤S74中获得的单元大小来检测NAL。此时,例如,还获取起始码,并且根据随后要参照图17和图18描述的文件结构来引用所述起始码。
在步骤S76中,数据读取单元74从在步骤S75中检测的NAL读取数据,并且将读取的数据提供给解码器52。此处,在NAL是SPS或PPS的情况下,在步骤S73中获得的moov的SPS或PPS具有默认值,并且NAL的SPS或PPS被使用。
在步骤S77中,解码器52执行解码处理。此时,解码器52基于HRD参数来执行解码处理。
此处,根据本技术,在设置起始码和填充数据而不使之移除的情况下配置文件,以使得HRD参数的特征被保持,并且因此,可以正确地执行解码处理。
此外,即使起始码和填充数据被移除,在图4中示出的文件生成处理中再次设置HRD参数,并且因此,可以执行正确的解码处理。
例如,在MP4文件的情况下,存在从外部对VBR或CBR的发送速率的指定。虽然流按在VBR的情况下那样从数据读取单元74输出到解码器52,但是在CBR的情况下,填充数据或填充位通过数据读取单元74被添加以形成CBR,并且HRD参数被重写。同样,在此时,MP4文件的HRD参数是正常的,并且在解码侧也可以被覆写成是正常的。
[文件解码处理的另一示例]
接下来,将参照在图12中示出的流程图来描述由图8中示出的解码装置执行的文件解码处理。该文件解码处理是针对通过图5中示出的文件生成处理生成的文件的处理。换言之,在该文件的moov中,标识HRD参数的特征是否正确或不同的标识参数被设置。
在步骤S91中,文件接收单元71接收MP4的文件,并且将所接收的文件提供给参数获取单元72。
在步骤S92中,参数获取单元72从MP4的文件中获取作为管理信息的moov,并且将获取的moov提供给数据读取单元74。在步骤S93中,数据读取单元74从moov中获取SPS和PPS。在步骤S94中,参数获取单元72从在步骤S92中获取的moov中获取HRD的标识参数,并且将所获取的HRD的标识参数提供给解码控制单元73。在步骤S95中,参数获取单元72基于在步骤S92中获取的moov来获取当前解码mdat的单元大小。
在步骤S96中,参数获取单元72基于在步骤S95中获取的单元大小来检测NAL。此时,例如,还获取起始码,并且根据随后要参照图17和图18描述的文件结构来引用所述起始码。
在步骤S97中,数据读取单元74从在步骤S96中检测的NAL读取数据,并且将读取的数据提供给解码器52。此处,在NAL是SPS或PPS的情况下,在步骤S93中获得的moov的SPS或PPS具有默认值,并且NAL的SPS或PPS被使用。
在步骤S98中,解码控制单元73确定从参数获取单元72提供的HRD的标识参数是否为“1”。在步骤S98中确定HRD的标识参数为“1”的情况下,处理前进至步骤S99。
在步骤S99中,解码器52在解码控制单元73的控制下根据HRD参数来执行解码处理。
另一方面,在步骤S98中确定HRD的标识参数不为“1”的情况下,处理前进至步骤S100。
在步骤S100中,解码器52在解码控制单元73的控制下执行解码处理,其中HRD参数被忽略。
此处,根据本技术,文件被配置成使得起始码和填充数据被设置而不被移除,以便保持HRD参数的特征,因此,可以正确地执行解码处理。
此外,即使在起始码和填充数据被移除的情况下,在图5中示出的文件生成处理中,标识HRD参数是否正确的标识参数被设置,并且因此,可以正确地执行解码处理。
<2.第二实施方式>
[编码器的配置示例]
图13是示出根据实施方式的用于生成上述MP4的的文件的图像编码装置201的配置的示例的框图。如图13所示,图像编码装置201包括:编码单元211;VCL缓冲器212;非VCL缓冲器213;文件生成单元214;以及控制单元215。
在图13中示出的编码单元211对应于图1中示出的编码器1。此外,在图13中示出的VCL缓冲器212、非VCL缓冲器213、文件生成单元214和控制单元215对应于图1中示出的文件生成单元2。
编码单元211是根据HEVC系统操作的编码器。编码单元211从连接到图像编码装置201的视频源如相机或电视调谐器顺序地获取要编码的图像。然后,编码单元211通过使用在SPS、PPS和APS中包括的参数对获取的图像进行编码,从而生成图像数据的比特流。此外,编码单元211将SPS和PPS生成作为非VCL NAL单元。另一方面,编码单元211将填充数据和图像数据的比特流生成作为VCL NAL单元。编码单元211通过VCL缓冲器212将填充数据和图像数据的比特流输出到文件生成单元214。此外,编码单元211通过非VCL缓冲器213将SPS和PPS输出到文件生成单元214。VCL缓冲器212对VCL NAL单元进行缓冲。非VCL缓冲器213对非VCL NAL单元进行缓冲。文件生成单元214生成存储一系列编码图像数据的HEVC文件151。更具体地,文件生成单元214将填充数据和图像数据的比特流作为VCL NAL单元以解码顺序插入到HEVC文件151的的数据区域(例如,mdat块)中。此外,文件生成单元214将SPS和PPS作为非VCL NAL单元插入到HEVC文件151的头部区域(例如,moov块)中。控制单元215控制由图像编码装置201执行的编码处理。
此外,控制单元215可以通过使用被称为HRD(假设参考解码器:虚拟参考解码器)的虚拟解码器模型来控制编码流的生成,以使得解码器的缓冲器不出现故障。在HEVC系统中,作为编码流要满足的一致性点(用于标准一致性的检查点),限定了两种类型的一致性点,包括类型1和类型2。类型1的一致性点应用于VCL NAL单元和滤波器数据NAL单元,但是不应用于非VCL NAL单元。类型2的一致性点应用于VCLNAL单元、滤波器数据NAL单元和非VCL NAL单元。在本实施方式中,不将填充数据限定为非VCL NAL单元,而是限定为VCL NAL单元。因此,控制单元215可以执行编码流的生成的控制,以使得不仅图像数据的比特流满足类型1的一致性点,而且填充数据也满足类型1的一致性点。
[解码器的配置示例]
图14是示出根据实施方式的用于对来自上述MP4的文件的图像进行解码的图像解码装置的配置的示例的框图。如图14所示,图像解码装置251包括:VCL缓冲器261;非VCL缓冲器262;参数存储器263;解码单元264;以及控制单元265。
此处,在图14中示出的VCL缓冲器261、非VCL缓冲器262、参数存储器263和控制单元265对应于图8中示出的文件读取单元51。此外,图14中示出的解码单元264对应于图8中示出的解码器52。
VCL缓冲器261对从文件的数据区域(例如,mdat块)读取的图像数据的比特流和填充数据进行缓冲。非VCL缓冲器262对从文件的头部区域(例如,moov块)读取的参数设置进行缓冲。参数存储器263全部存储通过非VCL缓冲器262获取的设置在文件的头部区域内的参数设置。解码单元264是根据HEVC系统操作的解码器。解码单元264对来自通过VCL缓冲器261从文件的数据区域顺序地获取的比特流的图像进行解码。当图像被解码时,解码单元264使用存储在参数存储器263中的设置在SPS和PPS内的参数。控制单元265控制由图像解码装置251执行的解码处理。
<3.第三实施方式>
[通常MP4视频样本结构]
图15是示出通常MP4视频样本结构的示例的图。配置视频样本的NAL单元如图15所示那样被限定。
在图15中示出的示例中,由多个NAL单元配置的AVC流被表示。在AVC流中,一个图片由一个存取单元配置。作为配置存取单元的NAL单元的类型,存在有单元如SPS、PPS、存取单元定界符、SEI、IDR图片、非IDR图片、序列的结尾,以及填充数据。
在通常MP4规范中,在一个视频样本中存储一个存取单元。换言之,单元大小被添加到配置一个存取单元的每个NAL单元,所得到的NAL单元被存储在一个视频样本中。然而,在配置存取单元的NAL单元中存在SPS、PPS或填充数据的NAL单元的情况下,从视频样本排除SPS、PPS或填充数据的NAL单元。
例如,虽然从左侧首先被设置的存取单元由存取单元定界符、SPS、PPS、SEI和IDR图片的NAL单元配置,但是当存取单元被存储在样本中时,排除SPS和PPS的NAL单元。
虽然从左侧第二被设置的存取单元由存取单元定界符、SPS、SEI、非IDR图片和填充数据的NAL单元配置,但是当存取单元被存储在样本中时,排除SPS和填充数据的NAL单元。
虽然从左侧第三被设置的存取单元由存取单元定界符、SPS、SEI和非IDR图片的NAL单元配置,但是当存取单元被存储在样本中时,排除SPS的NAL单元。
[AVC流的一个存取单元的配置示例]
图16是示出AVC流的一个存取单元的配置的示例的图。
如图16所示,实际上,在AVC流的一个存取单元中,在每个NAL单元之前添加标识符(起始码),通常,当存取单元被存储在样本中时也排除该标识符。
如上所述,当该标识符(起始码)和填充数据的NAL单元被排除时,不保持HRD参数的特征。因此,根据本技术,存取单元按原样存储在MP4的样本中。
[根据本技术的存取单元的存储的示例]
图17和图18是示出根据本技术的MP4视频样本结构的示例的图。
在图17的A的示例中,描述存取单元的大小的单元大小被添加到存取单元的开始处,并且存取单元按原样存储在MP4样本中。此处,“按原样”表示起始码被附加的状态,而且在存在填充数据的情况下,所述填充数据不被移除。换言之,“按原样”表示起始码和填充数据被设置的状态。
在图17的A的情况下,在上述图11中所示的步骤S75中或在图12所示的步骤S96中,基于存取单元中包括的起始码来检测检测NAL,且检测与单元大小对应的存取单元。然后,在图11中所示的步骤S76中或在图12所示的步骤S97中,获取直至下一个起始码的NAL的数据。图17的A的情况表示非常简单的结构。
在图17的B的情况下,描述包括起始码的每个NAL单元的大小的单元大小被添加到配置存取单元的每个NAL单元的开始处,并且存取单元按原样存储在MP4样本中。
在图17的B的情况下,在上述图11所示的步骤S75中或在图12所示的步骤S96中,检测与单元大小对应的起始码+NAL。然后,在图11所示的步骤S76中或在图12所示的步骤S97中,其中,起始码被丢弃,并且获取NAL的数据。在该情况下,虽然结构接近于“大小+数据”的通常结构,并且嵌入与其相同,但是需要基于获取的数据结构来分析起始码。
在图18的C的情况下,描述每个NAL单元的大小的单元大小被添加到配置存取单元的每个NAL单元的开始处,并且添加包括0数据的起始码的大小、换言之直至NAL的偏移大小。然后,添加有单元大小和偏移大小的NAL单元按原样存储在MP4样本中。
在图18的C的情况下,在上述图11所示的步骤S75中或在图12所示的步骤S96中,获取偏移大小,并且从通过对应于偏移执行跳跃而获取的位置检测NAL。然后,在图11所示的步骤S76中或在图12所示的步骤S97中,获取与单元大小对应的NAL的数据。
此外,图18的C是在随后要描述的图19中示出的HRD一致性块(HRD Conformance Box)的FixedStartCodeSizeFlag为“0”的情况的示例。在FixedStartCodeSizeFlag为“0”的情况下,由于起始码的大小不固定,因此,起始码的大小被存储在偏移大小字段中。
与此相对,在HRD Conformance Box的FixedStartCodeSizeFlag为“1”的情况下,MP4样本具有图18的C中示出的结构。
在图18中示出的C'的示例中,描述每个NAL单元的大小的单元大小被添加到配置存取单元的每个NAL单元的开始处,并且NAL单元按原样存储在MP4样本中。
换言之,在FixedStartCodeSizeFlag为“1”的情况下,由于起始码大小被固定为起始码大小=4字节,因此,不需要在起始码之前设置偏移大小字段。
在该情况下,形成新的解析结构。
在图18的D的情况下,描述每个NAL单元的大小的单元大小、起始码的大小和起始码被添加到配置存取单元的每个NAL单元的开始处,并且添加包括0数据的起始码的大小、换言之直至NAL的偏移大小。然后,添加有单元大小和偏移大小的NAL单元按原样存储在MP4样本中。
在图18的D的情况下,在上述图11所示的步骤S75中或在图12所示的步骤S96中,检测与单元大小对应的“偏移大小+起始码+NAL”,获取偏移大小,以及从通过对应于所述偏移执行跳跃而获取的位置检测NAL。然后,在图11所示的步骤S76或在图12所示的步骤S97中,获取与“单元大小-(偏移大小+起始码)”对应的NAL的数据。
此外,图18的D是HRD Conformance Box的FixedStartCodeSizeFlag为“0”的情况的示例。在FixedStartCodeSizeFlag为“0”的情况下,由于起始码大小不固定,因此起始码的大小被存储在偏移大小字段中。
与此相对,在HRD Conformance Box的FixedStartCodeSizeFlag为“1”的情况下,MP4样本具有图18的D'中示出的结构。
在图18中示出的D'的示例中,描述包括起始码的每个NAL单元的大小的单元大小被添加到配置存取单元的每个NAL单元的起始处,并且NAL单元按原样存储在MP4样本中。
换言之,在FixedStartCodeSizeFlag为“1”的情况下,由于起始码的大小固定为起始码大小=4字节,因此不需要在起始码之前设置偏移大小字段,并且图18的D'的结构类似于上述图17的B的结构。
在该情况下,虽然嵌入与基于“大小+数据”的通常结构的嵌入相同,形成其中执行与在获取的数据结构的开始处设置的偏移大小对应的跳跃的解析结构。此外,在该情况下,需要分析起始码。
[HRD一致性块扩展的示例]
图19是示出HRD一致性块扩展的示例的图。在下文中,将类似地示出HRD一致性块扩展的示例。
AVCSampleEntry()extends VisualSampleEntry('type'){
//类型为'avc3'或'avc4',(并且所有hevc)
AVCConfigurationBox config;
MPEG4BitRateBox();//可选
MPEG4ExtensionDescriptorsBox();//可选
HRDConformanceBox();//可选
}
在5.4.2.1中将HRDConformanceBox添加到AVCSampleEntry和AVC2SVVSampleEntry,
在6.5.3.1中将HRDConformanceBox添加到AVCSVCSampleEntry、AVC2SVCSampleEntry和SVCSampleEntry。
在部分7.6.3.3中将HRDConformanceBox添加到AVCMVCSampleEntry、AVC2MVCSampleEntry和MVCSampleEntry。
在部分8.4.1.1中将HRDConformanceBox添加到HEVC SampleEntry。没有HRDConformanceBox的样本条目仅用于既没有起始码也没有填充的样本。
可以将HRDConformanceBox定义如下,
class HRDConformanceBox extends Box('hrdc'){
HRDConformanceData()HRDConformance;
}
aligned(8)class HRDConformanceData{
unsigned int(1)HRDConformanceFlag;
unsigned int(1)FixedStartCodeSizeFlag;
unsigned int(2)OffsetSizeMinusOne;
unsigned int(4)reserved=0;
unsigned int(24)reserved;
Box[]any_box;//可选
}
HRDConformanceFlag是HRD特征是否由于从基本流移除起始码、填充数据等而被改变的标识符。当HRDConformanceFlag等于1时,HRD参数例如缓冲时段SEI、图片定时SEI由于从基本流移除起始码、填充数据等而被改变。
FixedStartCodeSizeFlag是当每个NAL中的起始码是固定的4字节大小时的idetifier。当FixedStartCodeSizeFlag等于1时,样本数据中每个NAL不存在指示起始码的大小的偏移字段。
OffsetSizeMinusOne指示视频样本中起始码长度字段中的字节的长度减一。例如,用值0来指示一个字节的大小。该字段的值应是与分别用1、2或4字节编码的长度对应的0、1或3之一。
即使在其他选项中,HRDConformanceBox对指示HRD一致性的状态也是有用的。
在图19和上述示例中,FixedStartCodeSizeFlag是标识是否存在起始码的大小信息的标记,其被附加地限定在HRD一致性块中。以此方式,如图18的C'和图18的D'所示,在起始码的大小固定的情况下,文件结构能够被配置成简单。
[根据本技术的存取单元的存储的示例]
图20是示出根据本技术的MP4视频样本结构的另一示例的图。
在图20的E中示出的示例中,单元大小从mdat移除,并且包含有起始码的基本流在不进行改变的情况下被存储(保留)。
在图20的E的情况下,用于保持每个存取单元的偏移的新块,如图21以及如下所示,被添加到样本表。
sample_count是给出在下列表中的条目的数量的整数。
offset_count是给出在下列子表中的条目的数量的整数。
offset_size是给出在下列子表中的偏移字段的字节大小的整数。
offset是给出进入其包含的样本的NAL单元的开始处的偏移的整数。
此外,作为对图20的E中所示的示例的替代,如图22的E'的示例所示,偏移的列表可以被配置成被包括在每个样本的开始处,以取代上述块的添加。
在图22的E'中所示的示例中,例如,在样本的开始处包括五个存取单元的五个偏移的列表。
在图17和图18中示出的MP4视频样本的文件由具有在上述图3中示出的配置的文件生成单元2通过在上述图4和图5中示出的文件生成处理生成。此外,在图20和图22中示出的MP4视频样本文件由具有在上述图3中示出的配置的文件生成单元2通过在上述图4和图5中示出的文件生成处理生成。
此外,在图17和图18中示出的MP4视频样本的文件由具有在上述图9中示出的配置的文件读取单元51通过在上述图11或图12中示出的文件解码处理解码。此外,在图20和图22中示出的MP4视频样本文件由具有在上述图9中示出的配置的文件读取单元51通过在上述图11或图12中示出的文件解码处理解码。
[根据本技术的存取单元的存储的又一示例]
图23是示出根据本技术的MP4视频样本结构的又一示例的图。
在图23的F中示出的示例中,单元大小从mdat移除,并且包含起始码的基本流在不进行任何改变的情况下按原样存储(保留)。此外,为了存储每个起始码(startcode)和NAL单元的长度,应用在ISO/IEC14496-12中限定的样本辅助信息功能。
对于每个起始码和NAL单元的长度,aux_info_type=“nalz”和aux_info_type_parameter=0被给定作为样本辅助信息功能。样本辅助信息功能通过作为使用的样本辅助信息功能大小块(SampleAuxiliarylnformationSizesBox)的“saiz”和作为样本辅助信息功能偏移块的“saio”而被参照。
[样本辅助信息功能的格式的示例]
图24是示出样本辅助信息功能的格式的示例的图。在下文中,将类似地示出样本辅助信息功能的格式的示例。
StartcodeSizeMinusOne指示起始码大小字段的字节的长度减一。例如,用值0指示一个字节的大小。该字段的值应当为分别与用1字节、2字节或4字节编码的长度对应的0、1或3。
NALUnitSizeMinusOne指示NAL单元大小字段的字节长度减一。例如,用值0指示一个字节的大小。该字段的值应当为分别与用1字节、2字节或4字节编码的长度对应的0、1或3。
StartcodeSize指示样本中的子样本的起始码的字节的长度。NALUnitSize指示在样本中的子样本的起始码的字节长度。
StartcodeSizeMinusOne表示通过从起始码大小字段(起始码大小字段)的字节长度减去一而获得的值。例如,在起始码大小字段的字节长度是一个字节的情况下,StartcodeSizeMinusOne的值为“0”。StartcodeSizeMinusOne的值是与一个字节、两个字节或四个字节的码长对应的0、1或3。
NALUnitSizeMinusOne表示通过从NAL单元大小字段(NAL单元大小字段)的字节长度减去一而获得的值。例如,在NAL单元大小字段的字节长度是一个字节的情况下,NALUnitSizeMinusOne的值为“0”。NALUnitSizeMinusOne的值是与一个字节、两个字节或四个字节的码长对应的0、1或3。
StartcodeSize表示样本内的子样本的起始码(Startcode)的字节长度。
NALUnitSize表示样本内的子样本的NAL单元的字节长度。
格式可以如上那样被配置。此外,样本辅助信息功能的格式可以被配置如下。
[样本辅助信息功能的格式的另一示例]
图25是示出样本辅助信息功能的格式的另一示例的图。在下文中,将类似地示出样本辅助信息功能的格式的另一示例。
FixedStartCodeSizeFlag是每个NAL单元之前的起始码具有为4字节的固定大小时的标识符。当FixedStartCodeSizeFlag等于1时。
StartcodeSizeMinusOne指示起始码大小字段的字节的长度减去一。例如,用值0指示一个字节的大小。该字段的值应当为分别与用1字节、2字节或4字节编码的长度对应的0、1或3中之一。
NALUnitSizeMinusOne指示NAL单元大小字段的字节长度减去一。例如,用值0指示一个字节的大小。该字段的值应当为分别与用1字节、2字节或4字节编码的长度对应的0、1或3。
StartcodeSize指示样本中的子样本的起始码的字节的长度。
NALUnitSize指示在样本中的子样本的起始码的字节的长度。
FixedStartCodeSizeFlag是标记信息。FixedStartCodeSizeFlag是表示设置在每个NAL单元之前的起始码(起始码)的大小是否为四字节的标记信息。在设置在每个NAL单元之前的起始码(startcode)的大小为四字节的情况下,FixedStartCodeSizeFlag的值被设置为“1”,否则被设置为“0”。换言之,在FixedStartCodeSizeFlag的值为“1”的情况下,其表示设置在每个NAL单元之前的起始码(startcode)的大小为四字节。另一方面,在FixedStartCodeSizeFlag的值为“0”的情况下,其表示设置在每个NAL单元之前的起始码(startcode)的大小不是四字节。
StartcodeSizeMinusOne、NALUnitSizeMinusOne、StartcodeSize和NALUnitSize中的每个参数类似于图24中示出的情况的参数。
在HRDConformanceData box的FixedStartCodeSizeFlag为“1”的情况下,当每个起始码的大小被包括时,可能使数据量不必要地增加。因此,通过如图25中示出的示例那样进行配置,在该情况下,可以形成具有仅NAL单元的大小的结构,由此可以抑制数据量不必要地增加。此外,在该情况下,HRDConformanceBox具有仅HRDConformanceFlag。
此外,在图23中示出的MP4视频样本的文件由在上述图3中示出的配置的文件生成单元2通过在图4或图5中示出的文件生成处理生成。
此外,在图23中示出的MP4视频样本的文件由在上述图9中示出的配置的文件读取单元51通过在上述图11或图12中示出的文件解码处理解码。
在该选项中,从mdat移除单元大小,并且包括起始码的基本流在不进行修改的情况下而仅进行存储。为了存储每个起始码和NAL单元的长度,提议使用在ISO/IEC 14496-12中限定的样本辅助信息功能。图23示出了该选项的样本的示例。
提供起始码和NAL单元的每个长度作为样本辅助信息,其中aux_info_type等于'nalz',aux_info_type_parameter等于0。样本辅助信息通过使用SampleAuxiliaryInformationSizesBox('saiz')和SampleAuxiliarylnformationOffsetsBox('saio')而被引用。
具有该类型的样本的样本辅助信息的格式应当为:
FixedStartCodeSizeFlag是每个NAL单元之前的起始码具有为4字节的固定大小时的标识符。当FixedStartCodeSizeFlag等于1时。
StartcodeSizeMinusOne指示起始码大小字段的字节的长度减去一。例如,用值0指示一个字节的大小。该字段的值应当为分别与用1字节、2字节或4字节编码的长度对应的0、1或3。
NALUnitSizeMinusOne指示NAL单元大小字段的字节长度减去一。例如,用值0指示一个字节的大小。该字段的值应当为分别与用1字节、2字节或4字节编码的长度对应的0、1或3。
StartcodeSize指示样本中的子样本的起始码的字节的长度。
NALUnitSize指示在样本中的子样本的NAL单元的字节的长度。
[根据本技术的MP4视频样本结构的比较]
在图26中示出的示例中,呈现了用于比较上述MP4视频样本结构的表。
在图17的B中示出的存取单元的存储的示例中,存在的优点为:接近“大小+数据”的通常(当前使用的)结构。
在图18的C或图18的C'中示出的存取单元的存储的示例中,存在的优点为:接近“大小+数据”的通常(当前使用的)结构,并且不改变单元大小的语义。此外,在起始码的大小被固定的情况下,存在以下优点:数据结构类似于通常(当前使用的)文件格式设计。
在图18的D或图18的D'中示出的存取单元的存储的示例中,存在的优点为:接近“大小+数据”的通常(当前使用的)结构。
在图20的E或图22的E'中示出的存取单元的存储的示例中,存在以下优点:在基本流中的存取单元的存储是简单的(换言之,不需要移除起始码,并且不需要添加单元大小和起始码大小)。
在样本的设计一致性是重要因素的情况下,图18的C或图18的C'是最佳选项。然而,图20的E或图22的E'是用于在不进行任何改变的情况下存储基本流的最佳方法。
存取单元的存储的所有上述示例被提出,以在mdat中存储起始码(在此贡献中,下列选项被提出,以在mdat中存储起始码(针对AVC文件格式或HEVC文件格式二者))。
此外,在上述图23中示出的MP4视频样本结构可以如后面的图27中示出的那样配置。
[根据本技术的存取单元的存储的其他示例]
图27是示出在图23中示出的MP4视频样本结构的另一示例的图。
在图27的G的示例中,类似于图23的F中示出的示例,从mdat移除单元大小,并且在不进行任何改变的情况下按原样存储(保留)包含起始码的基本流。然而,不同于图23的F中示出的示例,在基本流中,每个起始码(startcode)被包括在NAL单元中,并且为了存储包含起始码的NAL单元的长度,应用在ISO/IEC 14496-12中限定的样本辅助信息功能。
对于每个NAL单元的长度,作为样本辅助信息功能给出aux_info_type='nalz',aux_info_type_parameter=0。样本辅助信息功能通过作为使用的样本辅助信息功能大小块(SampleAuxiliarylnformationSizesBox)的“saiz”和作为样本辅助信息功能偏移块的“saio”而被引用。
换言之,在图27的G中示出的示例中,作为样本辅助信息功能,起始码的长度不被存储,并且仅存储包含起始码的NAL单元的长度。因此,图27的G的示例与图23的F中示出的示例相同,不同之处在于起始码的长度不被存储。
图27中示出的MP4视频样本的文件由在上述图3中示出的配置的文件生成单元2通过在上述图4或图5中示出的文件生成处理生成。
此外,图27中示出的MP4视频样本的文件由在上述图9中示出的配置的文件读取单元51通过在上述图11或图12中示出的文件解码处理解码。
<4.第四实施方式>
此处,通常,当MP4的基本流要存储在MPEG2-PS中时,需要提取单元大小并且插入起始码。与此相对,当MPEG2-PS的基本流要存储在MP4中时,需要提取起始码并且插入单元大小。换言之,至少存在两种类型的流,并且当流形成为文件时,需要改变所述流,并且需要表示与HRD一致性兼容/非兼容的标记。
此外,在根据起始码的存在/不存在在流中存在各种变化的情况下,存在兼容性可能丧失的问题。
与此相对,限定了字节流格式,所述字节流格式是包括起始码的要存储在MPEG2-PS文件中的流。通过使得流能够存储在MP4文件中,提高了两个文件之间的兼容性。
根据本技术,在样本中,为了识别是否存在字节流,限定了用于存储字节流格式的信息的字节流格式信息块。
[字节流格式信息块]
接下来,将参照图28来描述字节流格式信息块。
对于参数设置等可插入其中的样本条目,字节流格式信息块被限定成是可选的。参数设置等可插入其中的样本条目也可作为字节流而被存储。此外,在此时,为了用信号表示样本条目是字节流,该块被存储。
在图28中示出的示例中,示出了字节流格式信息块的规范。
字节流格式信息块可以被存储在'avc3'、'avc4'、'mvc3'、'mvc4'或'hevl'样本条目中(媒体轨道的样本条目块中)。
当样本数据由在ISO/IEC 14496-10中限定的字节流格式构成时,该块应当被存储。
可以使用子样本信息块来存储一个或更多个邻近的字节流NAL单元大小。
子样本被限定为ISO/IEC 14496-10限定的一个或更多个邻近的字节流NAL单元。
块类型:'bsfi'
容器:样本条目('avc3'、'avc4'、'mvc3'、'mvc4'或'hevl')强制性:否
数量:零或一
Class ByteStreamFormatlnformationBox extends Box('bsfi'){
ByteStreamFormatlnformation()ByteStreamlnformation;
}
字节流格式信息块存储(容置)在媒体轨道的样本条目块中的“avc3”、“avc4”、“mvc3”、“mvc4”或“hevcl”的样本条目中。“avc3”、“avc4”、“mvc3”、“mvc4”或“hevcl”的样本条目是可以插入参数设置等的样本条目。
当以在ISO/IEC14496-10中限定的字节流格式配置样本数据时,该块被存储(容置)。
子样本信息块可以用于存储NAL单元大小,包括一个或更多个连续起始码。
子样本被限定为在ISO/IEC14496-10中限定的一个或更多个邻近的字节流NAL单元。
块类型(Box Type)是“bsfi”,并且在块类型中包括的条目(容器)是“avc3”、“avc4”、“mvc3”、“mvc4”或“hevcl”的样本条目。不存在强制性(基本项目),并且数量(容量)为“0”或“1”。
字节流格式信息块扩展“bsfi”的块,在“bsfi”的块中描述了字节流格式信息。
在如上所述配置的字节流格式信息块中,如图29所示,通过仅插入为新格式的“avc5”、“avc6”、“mvc5”、“mvc6”或“hevc2”的样本条目,所述样本条目可被扩展。
图29是示出了字节流格式信息块的另一示例的图。
字节流格式信息块应当被存储在'avc5'、'avc6'、'mvc5'、'mvc6'或'hev2'样本条目中(媒体轨道的样本条目块中)。
当样本数据由在ISO/IEC 14496-10中限定的字节流格式构成时,该块应当被存储。
可以使用子样本信息块来存储一个或更多个邻近的字节流NAL单元大小。
子样本被限定为ISO/IEC 14496-10中限定的一个或更多个邻近的字节流NAL单元。
块类型:'bsfi'
容器:样本条目('avc5'、'avc6'、'mvc5'、'mvc6'或'hev2')强制性:否
数量:零或一
Class ByteStreamFormatlnformationBox extends Box('bsfi'){
ByteStreamFormatInformation()ByteStreamInformation;
}
虽然“avc3”、“avc4”、“mvc3”、“mvc4”或“hevcl”是可以插入参数设置的编解码器类型,但是在“avc3”、“avc4”、“mvc3”、“mvc4”或“hevcl”的情况下,存在插入有起始码的时候和插入码不被插入的时候。
与此相对,如图29所示,通过将样本条目扩展成例如作为插入起始码的编解码器的类型的“avc5”、“avc6”、“mvc5”、“mvc6”、“hev2”等,并且参照该样本条目,可以标识在样本内是否存在字节流。
此外,在样本条目为“avc3”、“avc4”、“mvc3”、“mvc4”或“hevcl”的情况下,通过将字节流格式信息配置如下,可以标识在样本内是否存在字节流(换言之,起始码是否插入在其中)。
此外,可以表示子样本的字节流结构。
此外,在“avc5”、“avc6”、“mvc5”、“mvc6”或“hev2”的情况下,通过将字节流格式信息配置如下,可以表示子样本的字节流的结构。
[字节流格式信息的数据结构的示例]
图30是示出在每个样本条目中存储的字节流格式信息的数据结构的示例的图。
aligned(8)class ByteStreamFormatInformation{
unsigned int(1)StartcodePresentFlag;
unsigned int(1)ZeroBytePresentFlag;
unsigned int(1)LeadingZeroBytesPresentFlag;
unsigned int(l)TrailingZeroBytesPresentFlag;
unsigned int(4)reserved=0;
unsigned int(24)reserved;
Box[]any_box;//可选
}
StartcodePresentFlag是表示起始码在样本中存在/不存在的标记。在样本中包括的所有子样本中的每个包括在NAL单元之前为三个字节的起始码的情况下,StartcodePresentFlag为“1”。ZeroBytePresentFlag是表示在起始码之前的一个字节的零数据的存在/不存在的标记,并且在该标记为“1”的情况下,其表示起始码为四个字节。
此外,取代StartcodePresentFlag和ZeroBytePresentFlag,可以通过使用两位的标记来将起始码表示为三个字节或四个字节。
LeadingZeroBytePresentFlag是表示零数据在样本中存在/不存在的标记。在样本中包括的子样本中,在一个字节的多个0x00被包括在至少一个子样本的三个字节或四个字节之前的情况下,LeadingZeroBytePresentFlag为“1”。在LeadingZeroBytePresentFlag为“0”的情况下,可以获得子样本的开始处是固定长度起始码。
TrailingZeroBytePresentFlag是表示在样本中存在/不存在零数据的标记。在样本中包括的子样本中,在多个一字节0x00被包括在至少一个子样本的三个字节的NAL单元之后的情况下,TrailingZeroBytePresentFlag为“1”。
此外,在这样的标记中,虽然所有的标记可以被设置,但是所有的标记都不是必要的,并且可以添加任何其他的标记。
[根据本技术的NAL单元的存储的示例]
接下来,将描述在上述字节流格式信息被使用的情况下的NAL单元的存储的示例。图31是示出在0x00(零数据)被呈现在NAL单元之前和之后的模式1的情况下的MP4视频样本结构的示例的图。换言之,图31中示出的示例是,为上述字节流格式信息的标记的所有StartcodePresentFlag、ZeroBytePresentFlag、LeadingZeroBytePresentFlag和TrailingZeroBytePresentFlag为“1”的情况下,MP4视频样本结构的示例。
在图31中示出的示例的情况下,示出了样本由五个子样本配置的示例,并且五个子样本的大小作为样本大小被存储在样本大小块中。
子样本由最前零数据(LeadingZeroBytes)、起始码(4字节)、NAL单元和结尾零数据(TrailingZeroBytes)配置,从最前零数据到结尾零数据的大小作为子样本的大小存储在子样本信息块中。换言之,由于在子样本信息块中存在子样本的大小,因此可以获得子样本的边界。
取代子样本信息块,还可以采用如在图27的G的示例中示出的结构。作为样本辅助信息功能,aux_info_type=“bsfi”和aux_info_type_parameter=0被给出。样本辅助信息功能由作为使用的样本辅助信息功能大小块(SampleAuxiliarylnformationSizesBox)的“saiz”和作为样本辅助信息功能偏移块的“saio”引用。
此外,存在针对业务以CBR(恒定比特率:恒定的比特速率)执行这样的操作的情况。因此,本模式1,例如适用于所有针对业务的样本用于通过帧内图片配置的流的情况。
此外,例如可以通过操作应用来设置LeadingZeroBytes与TrailingZeroBytes之间的边界。
图32是示出在子样本从起始码开始并且不存在0x00(零数据)的模式2的情况下的MP4视频样本结构的示例的图。换言之,图32所示的示例示出了在StartcodePresentFlag和ZeroBytePresentFlag为1,而LeadingZeroBytePresentFlag和TrailingZeroBytePresentFlag为0的情况下的MP4视频样本结构的示例。
在图32所示的示例的情况下,示出了由五个子样本配置样本的示例,并且五个子样本的大小作为样本大小存储在样本大小块中。
子样本由起始码(四个字节)和NAL单元配置,并且从起始码到NAL单元的大小作为子样本的大小存储在子样本信息块中。换言之,由于在子样本信息块中存在子样本的大小,所以可以获得子样本的边界。
该模式2是最简单的示例。
图33是示出在子样本从起始码开始并且在NAL之后存在0x00(零数据)的模式3的情况下的MP4视频样本结构的示例的图。换言之,图33所示的示例示出了在StartcodePresentFlag、ZeroBytePresentFlag和TrailingZeroBytePresentFlag为1,而LeadingZeroBytePresentFlag为0的情况下的MP4视频样本结构的示例。
在图33所示的示例的情况下,示出了样本由五个子样本配置,并且五个子样本的大小作为样本大小存储在样本大小块中的示例。
子样本由起始码(四个字节)、NAL单元和结尾零数据(TrailingZeroByte)配置,并且从起始码到结尾零数据的大小作为子样本的大小存储在子样本信息块中。换言之,由于在子样本信息块中存在子样本的大小,因此可以获得子样本的边界。
此外,在该模式3的情况下,例如,在所有的业务样本由帧内图片配置的流编辑器中,可以知道固定长度由TrailingZero设置,并且因此,存在可以容易地编辑流的优点。此外,存在三字节起始码也用于电视会议系统等的情况。
以该方式,通过将字节流格式信息形成为块来限定字节流格式信息。例如,由于子样本被配置为参照图31至图33的上述模式1至模式3之一,因此可以识别在样本内是否包括字节流。
在图31至图33中示出的MP4视频样本的文件由具有上述在图3中示出的配置的文件生成单元2通过上述在图4或图5中示出的文件生成处理生成。
另外,在图31至图33中示出的MP4视频样本的文件由具有上述在图9中示出的配置的文件读取单元51通过上述在图11或图12中示出的文件解码处理解码。
[字节流格式信息的数据结构的另一示例]
图34是示出在每个样本条目中存储的字节流格式信息的数据结构的示例的图。换言之,在图34示出的示例中,示出了上述参照图30的数据结构的另一示例。
aligned(8)class ByteStreamFormatInformation{
unsigned int(2)StartcodePresentFlag;
unsigned int(1)LeadingZeroBytesPresentFlag;
unsigned int(1)TrailingZeroBytesPresentFlag;
unsigned int(4)reserved=0;
unsigned int(24)reserved;
Box[]any_box;//可选
}
StartcodePresentFlag是示出所有子样本中的每个的起始码的结构的两位标记。
“StartcodePresentFlag=00b”表示“保留”。
“StartcodePresentFlag=01b”表示:在样本中包括的所有子样本中的每个子样本中的NAL单元之前,包括三字节的起始码。
“StartcodePresentFlag=10b”表示:在样本中包括的所有子样本中的每个子样本中的NAL单元之前,包括三字节的起始码和一字节零字节数据(换言之,配置四字节)。
“StartcodePresentFlag=11b”表示:在样本中包括的所有子样本中的每个子样本中的NAL单元之前,包括三字节的起始码,并且可以包括一字节零字节数据。换言之,在该情况下,由于可能混合有三字节起始码和四字节起始码,因此不能够确定StartcodePresentFlag为01b还是10b。
该示例是参照图30描述的结构的另一示例,并且是可以获得起始码的大小的示例。此外,由于两位标记,出现三字节、四字节或其混合。
LeadingZeroBytePresentFlag表示,在样本中包括的子样本中,在至少一个子样本的三字节或四字节的起始码之前,包括各由一个字节配置的多个0x00。
TrailingZeroBytePresentFlag表示,在样本中包括的子样本中,可以在至少一个子样本的NAL单元之后包括多个一个字节的0x00。
此外,在所有这样的标记可以存在的图34所示的示例中,所述标记不是必要的,并且可以添加另一标记。
<5.第五实施方式>
[文件转换装置的配置示例]
图35是示出作为应用本技术的图像处理设备的文件转换装置的配置的示例的框图。图35中示出的文件转换装置300例如将MPEG-2 TS转换成MP4文件。
在图35所示的示例中,文件转换装置300被配置成包括图1中示出的视频流分析单元311和文件生成单元2。
视频流分析单元311分析输入视频流的格式。在分析格式为MPEG-2TS时,视频流分析单元311将视频流提供给文件生成单元2。
文件生成单元2执行将MPEG-2 TS转换成MP4文件的处理。换言之,文件生成单元2,类似于图1中示出的示例,生成存储有MPEG-2 TS的MP4文件。
[文件转换处理的示例]
接下来,将参照图36示出的流程图来描述由图35所示的文件转换装置300执行的文件转换处理。
在步骤S311中,视频流分析单元311分析输入视频流的格式,并且在分析格式是MPEG-2 TS的情况下,将视频流提供给文件生成单元2。
在步骤S312中,文件生成单元2生成存储MPEG-2 TS的MP4文件。该文件生成处理与上述参照图5的文件生成处理相同,并且将不呈现对其重复的描述。
文件转换装置300可以如上所述地配置。
虽然以上描述了使用HEVC系统的编码装置和解码装置,但是如下所述,也可以将本技术应用于使用AVC系统的编码装置和解码装置。
<6.第六实施方式>
[编码装置的配置示例]
图37是示出作为应用本技术的图像处理设备的编码装置的配置的另一示例的框图。
在图37所示的配置中,相同的参考标记被分配给与图1中示出的相同的配置。此外,在适当时将不呈现重复的描述。
图37中示出的编码装置的配置与图1中示出的配置的不同之处在于编码器401被设置以替代编码器1。图37中示出的编码装置的配置与图1中示出的配置的共同之处在于文件生成单元2被设置。
换言之,图像如以帧为单位配置的捕获图像作为输入信号被输入到编码器401。此外,编码器401的在图中未示出的前一阶段上设置的SPS、表示与每个序列的编码数据对应的图像的特征的VUI、SEI等被输入到其中。
编码器401通过使用AVC系统,使用在SPS、PPS、VUI和SEI中包含的参数对输入信号进行编码。然后,编码器401基于SPS、PPS、VUI、SEI和作为编码处理的结果获得的编码数据来生成编码流如MPEG-2TS,并且将生成的编码流提供给文件生成单元2。随后将参照图38详细地描述编码器401。
文件生成单元2生成存储从编码器401提供的编码流(一系列编码图像数据)的文件。
换言之,图36中示出的编码装置与图1中示出的编码装置的不同之处仅在于执行使用AVC系统的编码处理。
[编码单元的配置示例]
图38是示出在图37中示出的编码器401的配置的示例的框图。
在图38所示的配置中,相同的参考标记被分配给如图2中示出的相同的配置。此外,在适当的时候将不呈现重复的描述。
图38中示出的编码器401被配置成包括:A/D转换器11;画面重新排列缓冲器12;计算单元13;正交变换单元14;量化单元15;无损编码单元16;累积缓冲器17;逆量化单元18;逆正交变换单元19;加法单元20;去块滤波器21;帧存储器22;开关23;帧内预测单元24;运动预测/补偿单元25;预测图像选择单元26;以及速率控制单元27。
换言之,图38中示出的编码器401的配置与图2中示出的配置的不同之处仅在于,自适应偏移滤波器141和自适应环路滤波器142被排除,无损编码单元16不使用HEVC系统而是使用AVC系统来执行编码。因此,编码器401不以CU为单位而是以块为单位执行编码处理。
由无损编码单元16执行的编码处理的目标基本上与图2中示出的无损编码单元16的目标相同,其不同之处在于自适应偏移滤波器和自适应环路滤波器的参数。换言之,无损编码单元16、类似于图2中示出的无损编码单元16从帧内预测单元24获取帧内预测模式信息。此外,无损编码单元16从运动预测/补偿单元25获取帧间预测模式信息、运动矢量、用于指定基准图像的信息等。
无损编码单元16、类似于图2中示出的无损编码单元16,针对从量化单元15提供的量化系数执行无损编码如可变长度编码(例如,CAVLC等)、算术编码(例如,CABAC等)。
此外,无损编码单元16、类似于图2中示出的无损编码单元16,执行对作为与编码有关的编码信息的帧内预测模式信息或帧间预测模式信息、运动矢量、指定基准图像的信息、偏移滤波器信息、滤波器系数等的无损编码。无损编码单元16将以无损方式编码的编码信息和系数作为编码数据提供给累积缓冲器17,以便累积在其中。此处,以无损方式编码的编码信息可以视为以无损方式编码的系数的头部信息。
去块滤波器21对本地解码的、从加法单元20提供的图像进行滤波,从而去除块失真。去块滤波器21将由此获得的图像提供给帧存储器22,以便累积在其中。
在帧存储器22中累积的图像作为基准图像通过开关23输出到帧内预测单元24或运动预测/补偿单元25。
本技术可以应用于AVC系统的编码装置。
[解码装置的配置示例]
图39是示出应用本技术的读取由图37中示出的编码装置生成的文件并且对所述文件进行解码的解码装置的配置的另一示例的框图。
在图39所示的配置中,相同的参考标记被分配给如图8所示的相同的配置。此外,在适当的时候将不呈现重复的描述。
图39中示出的解码装置251的配置与图8中示出的配置的不同之处在于解码器451被设置以替代解码器52。解码装置251的配置与图8中示出的配置的共同之处在于文件读取单元51被设置。
解码装置的文件读取单元51接收由图37中示出的编码装置生成的MP4文件,并且从接收的文件读取对由图37中示出的编码器401编码的编码流进行配置的SPS、PPS、VUI、SEI、编码数据等。文件读取单元51将SPS、PPS、VUI、SEI和编码数据提供给解码器451。
解码器451在文件读取单元51的控制下参照从文件读取单元51提供的SPS、PPS、VUI、SEI等,并且通过使用AVC系统对从文件读取单元51提供的编码数据进行解码。解码器451将作为解码处理的结果获得的图像作为输出信号提供给随后的阶段。
换言之,图39中示出的解码装置与图8中示出的解码装置的不同之处仅在于,执行使用AVC系统的解码处理。
[解码单元的配置示例]
图40是示出在图39中示出的解码单元261的配置的示例的框图。
在图40所示的配置中,相同的参考标记被分配给如图10所示的相同的配置。此外,在适当的时候将不呈现重复的描述。
图40中所示的解码器451由以下配置:累积缓冲器101;无损解码单元102;逆量化单元103;逆正交变换单元104;加法单元105;去块滤波器106;画面重新排列缓冲器107;D/A转换器108;帧存储器109;开关110;帧内预测单元111;运动补偿单元112;以及开关113。
图40中示出的解码器451的配置与图10中示出的配置的不同之处仅在于,自适应偏移滤波器141和自适应环路滤波器142被排除,无损解码单元102不使用HEVC系统而是使用AVC系统来执行解码。因此,解码单元261不以CU为单位而是以块为单位执行解码处理。
由无损解码单元102执行的解码处理的目标基本上与图10中示出的无损解码单元102的情况相同,其不同之处在于自适应偏移滤波器和自适应环路滤波器的参数。换言之,无损解码单元102、类似于图10中示出的无损解码单元102,对从累积缓冲器101提供的编码数据执行无损解码如可变长度解码或算术解码,由此获取量化系数和编码信息。无损解码单元102将量化系数提供给逆量化单元103。
此外,无损解码单元102、类似于图10中示出的无损解码单元102,将帧内预测模式信息等作为编码信息提供给帧内预测单元111,并且将运动矢量、指定基准图像的信息、帧间预测模式信息等提供给运动补偿单元112。此外,无损解码单元102将帧内预测模式信息或帧间预测模式信息作为编码信息提供给开关113。
去块滤波器106对从加法单元105提供的图像进行滤波,由此去除块失真。去块滤波器106将作为结果获得的图像提供给帧存储器109和画面重新排列缓冲器107。
本技术也可应用于AVC系统的解码装置。
在以上给出的描述中,虽然描述了MP4文件格式的示例,但是文件格式不限于MP4文件格式或AVC文件格式。在根据本技术的目标和优点相同的情况下,本技术可以类似地应用于另一文件格式、在发送时使用的流或在文件中存储时使用的流。
此外,本公开例如可以应用于图像编码装置和图像解码装置,在通过网络介质如卫星广播、有线电视、因特网或移动电话接收像HEVC系统等使用正交变换如离散余弦变换和运动补偿压缩的图像信息(比特流)时使用所述图像编码装置和图像解码装置。此外,本公开可以应用于当在存储介质如光盘、磁盘或闪存上处理信息时使用的图像编码装置和图像解码装置。
上述一系列处理可以由硬件或由软件执行。在所述一系列处理由软件执行的情况下,配置软件的程序被安装到计算机。此外,计算机包括内置在专用硬件中的计算机、如通过安装各种程序来执行各种功能的通用目的个人计算机的计算机等。
图41是示出通过使用程序执行上述一系列处理的计算机的硬件配置的示例的框图。
在计算机800中,CPU(中央处理单元)801、ROM(只读存储器)802和RAM(随机存取存储器)803通过总线804相互连接。
此外,输入/输出接口805连接到总线804。输入单元806、输出单元807、存储单元808、通信单元809和驱动器810连接到输入/输出接口805。
输入单元806由键盘、鼠标、麦克风等配置。输出单元807由显示器、扬声器等配置。存储单元808由硬盘、非易失性存储器等配置。通信单元809由网络接口等配置。驱动器810驱动磁盘、光盘、磁光盘或可移除介质811如半导体存储器。
在如上配置的计算机中,CPU 801例如通过输入/输出接口805和总线804将存储在存储单元808中的程序加载到RAM 803中,并且执行所加载的程序,从而执行上述一系列处理。
由计算机800(CPU 801)执行的程序例如可以以记录在可移除介质811上作为封装介质等被提供。此外,可以通过有线或无线发送介质如局域网、因特网或数字卫星广播来提供程序。
通过将可移除介质811加载到驱动器810中,程序可以通过输入/输出接口805安装到存储单元808。此外,程序可以由通信单元809通过有线或无线传输介质来接收,并且被安装到存储单元808。此外,可以预先将程序安装到ROM 802或存储单元808。
此外,由计算机执行的程序可以是沿在本说明书中描述的顺序以时间序列执行处理的程序,或者是以并行方式或在需要的定时处如在被调用的定时处执行处理的程序。
此外,在本说明书中,描述在记录介质上记录的程序的步骤不仅包括沿所描述的顺序以时间序列执行的处理,而且包括以并行方式或在不必以时间序列处理的情况下以单独方式执行的处理。
此外,在本说明书中,系统表示由多个设备(装置)配置的整体装置。
此外,以上作为一个设备(或处理单元)描述的配置可以被分开,以便被配置为多个设备(或处理单元)。相反,以上作为多个设备(或处理单元)描述的配置可以被设置成配置为一个设备(或处理单元)。此外,可以将以上未描述的配置添加到每个设备(或每个处理单元)的配置。只要系统的总体配置或总体操作基本相同,具体设备(或具体处理单元)的一部分配置可以被配置成被包括在另一设备(或另一处理单元)的配置中。换言之,本技术不限于上述实施方式,可以在不偏离本技术的内容的范围内进行各种变化。
换言之,本技术不限于上述实施方式,可以在不偏离本技术的内容的范围内进行各种变化。
例如,本技术可以采用云计算的配置,其中,一个功能被划分并由多个设备通过网络协作处理。
此外,上述在每个流程图中描述的每个步骤可以由一个装置执行,或者由多个装置以共享的方式执行。
此外,在一个步骤中包括多个处理的情况下,包括在所述一个步骤中的多个处理可以由一个装置执行,或者可以由多个装置以共享的方式执行。
根据上述实施方式的图像编码装置和图像解码装置可以应用于各种电子装置,例如用于无线广播比如卫星广播或有线TV、网络递送、通过蜂窝通信进行的到终端递送等的发射机或接收机;将图像记录在介质如光盘、磁盘或闪存上的记录装置;或者从存储介质再现图像的再生装置。在下文中,将描述四个应用示例。
<7.应用示例>
[第一应用示例:电视接收器]
图42示出了应用上述实施方式的电视装置的示意性配置的示例。电视装置900包括天线901、调谐器902、解复用器903、解码器904、视频信号处理单元905、显示单元906、音频信号处理单元907、扬声器908、外部接口909、控制单元910、用户接口911,以及总线912。
调谐器902从通过天线901接收的广播信号提取所需频道的信号,并且对提取的信号进行解调。然后,调谐器902将通过解复用获得的编码比特流输出到解复用器903。换言之,调谐器902用作为电视装置900的接收图像被编码的编码流的发送装置。
解复用器903从编码比特流分离要被观看的节目的视频流和音频流,并且将每个分离的流输出到解码器904。此外,解复用器903从编码比特流提取辅助数据如EPG(电子节目指南),并且将所提取的数据提供给控制单元910。此外,解复用器903在编码比特流被加扰的情况下可以执行解扰。
解码器904对从解复用器903输入的视频流和音频流进行解码。然后,解码器904将由解码处理生成的视频数据输出到视频信号处理单元905。此外,解码器904将由解码处理生成的音频数据输出到音频信号处理单元907。
视频信号处理单元905再现从解码器904输入的视频数据,并且使得显示单元906显示视频。视频信号处理单元905也可以使得显示单元906显示通过网络提供的应用画面。此外,视频信号处理单元905可以根据设置来执行附加处理如针对视频数据的噪声消除。此外,视频信号处理单元905可以生成GUI(图形用户接口)图像如菜单、按钮和光标,并且将生成的图像叠加到输出图像上。
显示单元906根据从视频信号处理单元905提供的驱动信号被驱动,以便将视频或图像显示在显示装置(例如,液晶屏显示器、等离子体显示器、OELD(有机电致发光显示器(有机EL显示器))等)的视频画面上。
音频信号处理单元907对从解码器904输入的音频数据执行再现处理如D/A转换和放大,并且使得扬声器908输出音频。此外,音频信号处理单元907可以对音频数据执行附加处理如噪声消除。
外部接口909是用于将电视装置900连接到外部装置或网络的接口。例如,通过外部接口909接收的视频流或音频流可以由解码器904解码。换言之,外部接口909也用作电视装置900的接收图像被编码的编码流的发送装置。
控制单元910包括处理器如CPU和存储器如RAM或ROM。存储器存储由CPU执行的程序、程序数据、EPG数据、通过网络获取的数据等。存储在存储器中的程序例如由CPU在电视装置900启动时读取并被执行。CPU例如根据从用户接口911输入的操作信号通过执行程序来控制电视装置900的操作。
用户接口911连接到控制单元910。用户接口911例如包括用于使用户操作电视装置900的按钮和开关、用于远程控制信号的接收单元等。用户接口911通过这样的部件检测用户的操作,生成操作信号,并且将生成的操作信号输出到控制单元910。
总线912使调谐器902、解复用器903、解码器904、视频信号处理单元905、音频信号处理单元907、外部接口909和控制单元910彼此连接。
在以此方式配置的电视装置900中,解码器904具有根据上述实施方式的图像解码装置(例如,由图8中示出的文件读取单元51和解码器52配置的解码装置)的功能。因此,在对由电视装置900执行的图像解码的过程中,可以减小对在发送时使用的流或在文件中存储时使用的流进行解码时所需的处理负荷。
[第二应用示例:移动电话]
图43示出了应用上述实施方式的移动电话的示意性配置的示例。移动电话920包括天线921、通信单元922、音频编解码器923、扬声器924、麦克风925、相机单元926、图像处理单元927、复用/分离单元928、记录/再现单元929、显示单元930、控制单元931、操作单元932和总线933。
天线921连接到通信单元922。扬声器924和麦克风925连接到音频编解码器923。操作单元932连接到控制单元931。总线933使通信单元922、音频编解码器923、相机单元926、图像处理单元927、复用/分离单元928、记录/再现单元929、显示单元930和控制单元931彼此连接。
移动电话920执行操作,例如,音频信号的发送/接收,电子邮件或图像数据的发送/接收,图像捕获,以及在各种操作模式包括语音通话模式、数据通信模式、成像模式和电视电话模式下数据的记录。
在语音通话模式下,由麦克风925生成的模拟音频信号被提供给音频编解码器923。音频编解码器923将模拟音频信号转换成音频数据,执行对转换的音频数据的A/D转换,以及压缩音频数据。然后,音频编解码器923将压缩的音频数据输出到通信单元922。通信单元922对音频数据进行编码和调制,以生成发送信号。然后,通信单元922通过天线921将生成的发送信号发送给基站(图中未示出)。此外,通信单元922对通过天线921接收的无线信号进行放大,并执行对无线信号的频率转换,从而获取接收信号。然后,通信单元922通过对接收信号进行解复用和解码来生成音频数据,并且将生成的音频数据输出到音频编解码器923。音频编解码器923执行音频数据的解压缩和D/A转换,从而生成模拟音频信号。然后,音频编解码器923将生成的音频信号提供给扬声器924,以使得输出音频。
在数据通信模式下,例如,控制单元931根据用户的通过操作单元932执行的操作来生成配置电子邮件的字符数据。此外,控制单元931使得显示单元930显示字符。控制单元931根据来自用户通过操作单元932发送的指令生成电子邮件数据,并且将生成的电子邮件数据输出到通信单元922。通信单元922对电子邮件数据进行编码和调制,从而生成发送信号。然后,通信单元922将生成的发送信号通过天线921发送到基站(未在图中示出)。此外,通信单元922执行对通过天线921接收的无线信号的放大和频率转换,从而获取接收信号。然后,通信单元922对接收信号进行解复用和解码,以恢复电子邮件数据,并且将恢复的电子邮件数据输出到控制单元931。控制单元931使得显示单元930显示电子邮件的内容,并且将电子邮件数据存储在记录/再现单元929的存储介质中。
记录/再现单元929包括任意可读和可写的存储介质。例如,存储介质可以是内置的存储介质如RAM和闪存,或者可以是外部安装类型的存储介质如硬盘、磁盘、磁光盘、光盘、USB(通用串行总线)存储器或存储卡。
在成像模式下,例如,相机单元926对对象进行成像以生成图像数据,并且将生成的图像数据输出到图像处理单元927。图像处理单元927对从相机单元926输入的图像数据进行编码,并且将编码流存储在记录/再现单元929的存储介质中。
此外,在电视电话模式下,例如,复用/分离单元928复用由图像处理单元927编码的视频流和从音频编解码器923输入的音频流,并且将得到的复用流输出到通信单元922。通信单元922对流进行编码和调制,从而生成发送信号。然后,通信单元922将生成的发送信号通过天线921发送给基站(未在图中示出)。此外,通信单元922执行通过天线921接收的无线信号的放大和频率转换,从而获取接收信号。发送信号和接收信号被获取,其中,编码比特流被包括在所述发送信号和接收信号中。然后,通信单元922通过对接收信号进行解复用和解码来恢复流,并且将恢复的流输出到复用/分离单元928。复用/分离单元928从输入流分离视频流和音频流,并且将视频流和音频流分别输出到图像处理单元927和音频编解码器923。图像处理单元927对视频流进行解码以生成视频数据。视频数据被提供给显示单元930,并且一系列的图像由显示单元930显示。音频编解码器923执行对音频流的解压缩和D/A转换,从而生成模拟音频信号。然后,音频编解码器923将生成的音频信号提供给扬声器924,以使得输出音频。
在以此方式配置的移动电话920中,图像处理单元927具有根据上述实施方式的图像编码装置(例如,由图1中所示的编码器1和文件生成单元2配置的编码装置)和图像解码装置(例如,由图8中示出的文件读取单元51和解码器52配置的解码装置)的功能。因此,在对由移动电话920执行的图像进行编码/解码时,可以减小在对发送时使用的流或在文件中存储时使用的流进行解码时的处理负荷。
[第三应用示例:记录/再现装置]
图44是示出应用上述实施方式的记录/再现装置的示意性配置的示例的框图。记录/再现装置940例如对接收的广播节目的音频数据和视频数据进行编码,并且将编码的数据记录在记录介质上。此外,记录/再现装置940例如可以对从另一装置获取的音频数据和视频数据进行编码,并且将编码的数据记录在记录介质上。此外,记录/再现装置940例如根据用户的指令使用监测器和扬声器来再现记录在记录介质上的数据。此时,记录/再现装置940对音频数据和视频数据进行解码。
记录/再现装置940包括调谐器941、外部接口942、编码器943、HDD(硬盘驱动器)944、磁盘驱动945、选择器946、解码器947、OSD(屏幕上显示)948、控制单元949和用户接口950。
调谐器941从通过天线(未在图中示出)接收的广播信号提取所需频道的信号,并且对所提取的信号进行解复用。然后,调谐器941将通过解复用处理获得的编码比特流输出到选择器946。换言之,调谐器941用作记录/再现装置940的发送装置。
外部接口942是用于连接记录/再现装置940和外部设备或网络的接口。外部接口942例如可以是IEEE 1394接口、网络接口、USB接口、闪存接口等。例如,通过外部接口942接收的视频数据和音频数据被输入到编码器943。换言之,外部接口942用作记录/再现装置940的发送装置。
在从外部接口942输入的视频数据和音频数据未被编码的情况下,编码器943对视频数据和音频数据进行编码。然后,编码器943将编码比特流输出到选择器946。
HDD 944将内容数据比如视频和音频被压缩在其中的编码比特流、各种程序和其他数据记录在内部硬盘中。当视频和音频被再现时,HDD944从硬盘读取其数据。
磁盘驱动器945在/从加载的记录介质记录和读取数据。加载到磁盘驱动器945中的记录介质例如可以是DVD盘(DVD-视频、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)、蓝光(注册商标)盘等。
当视频或音频被记录时,选择器946选择从调谐器941或编码器943输入的编码比特流,并且将所选择的编码比特流输出到HDD 944或磁盘驱动器945。此外,当视频和音频被再现时,选择器946将从HDD 944或磁盘驱动器945输入的编码比特流输出到解码器947。
解码器947对编码比特流进行解码,以生成视频数据和音频数据。然后,解码器947将生成的视频数据输出到OSD 948。此外,解码器904将生成的音频数据输出到外部扬声器。
OSD 948再现从解码器947输入的视频数据,从而显示视频。OSD 948可以将GUI的图像如菜单、按钮、光标等叠加到显示的视频上。
控制单元949包括处理器如CPU和存储器如RAM和ROM。存储器存储由CPU执行的程序、程序数据等。存储在存储器中的程序,例如,由CPU在记录/再现装置940的启动时被读取和执行。CPU例如根据从用户接口950输入的操作信号通过执行程序来控制记录/再现装置940的操作。
用户接口950连接到控制单元949。用户接口950,例如,包括用于用户操作记录/再现装置940的按钮和开关,以及用于远程控制信号的接收单元。用户接口950通过组成元件检测用户的操作以生成操作信号,并且将生成的操作信号输出到控制单元949。
在以此方式配置的记录/再现装置940中,编码器943具有根据上述实施方式的图像编码装置(例如,由图1中示出的编码器1和文件生成单元2配置的编码装置)的功能。此外,解码器947具有根据上述实施方式的图像解码装置(例如,由图8中示出的文件读取单元51和解码器52配置的解码装置)的功能。因此,在对由记录/再现装置940执行的图像进行编码/解码的过程中,可以减少在对发送时使用的流或在文件中存储时使用的流进行解码时所需的处理负荷。
[第四应用示例:成像装置]
图45示出了应用上述实施方式的成像装置的示意性配置的示例。成像装置960对对象进行成像,以生成图像,对图像数据进行编码,以及将编码的图像数据记录在记录介质上。
成像装置960包括光学块961、成像单元962、信号处理单元963、图像处理单元964、显示单元965、外部接口966、存储器967、媒介驱动器968、OSD 969、控制单元970、用户接口971和总线972。
光学块961连接到成像单元962。成像单元962连接到信号处理单元963。显示单元965连接到图像处理单元964。用户接口971连接到控制单元970。总线972使图像处理单元964、外部接口966、存储器967、媒介驱动器968、OSD 969和控制单元970彼此连接。
光学块961包括聚焦透镜、光圈机构等。光学块961在成像单元962的成像表面上形成对象的光学图像。成像单元962包括图像传感器如CCD(电荷耦合器件)和CMOS(互补金属氧化物半导体),并且将成像表面上形成的光学图像通过光电转换转换成图像信号作为电信号。然后,成像单元962将图像信号输出到信号处理单元963。
信号处理单元963针对从成像单元962输入的图像信号执行各种相机信号处理如拐点校正、伽玛校正、色差校正等。信号处理单元963将相机信号处理之后的图像数据输出到图像处理单元964。
图像处理单元964对从信号处理单元963输入的图像数据进行编码,以生成编码数据。然后,图像处理单元964将生成的编码数据输出到外部接口966或媒介驱动器968。此外,图像处理单元964对从外部接口966或媒介驱动器968输入的编码数据进行解码,以生成图像数据。然后,图像处理单元964将生成的图像数据输出到显示单元965。此外,图像处理单元964可以将从信号处理单元963输入的图像数据输出到显示单元965,以显示图像。此外,图像处理单元964可以将用于显示的从OSD 969获得的数据叠加到显示单元965的图像输出上。
OSD 969例如生成GUI的图像如菜单、按钮、光标等,并且将生成的图像输出到图像处理单元964。
外部接口966例如被配置成USB输入/输出终端。外部接口966例如当打印图像时连接成像装置960和打印机。此外,驱动器根据需要连接到外部接口966。可移除介质如磁盘或光盘加载到驱动器,并且可以将从可移除介质读取的程序安装到成像装置960。此外,外部接口966可以被配置成连接到网络如局域网、因特网等的网络接口。换言之,外部接口966用作成像装置960的发送装置。
加载到媒介驱动器968的记录介质例如可以是任意可读/可写的可移除介质如磁盘、磁光盘、光盘或半导体存储器。此外,可以配置使得记录介质固定地安装到媒介驱动器968,以配置非可携带的存储单元如内置硬盘驱动器或SSD(固态驱动器)。
控制单元970包括如CPU的处理器和如RAM或ROM的存储器。存储器存储由CPU执行的程序、程序数据等。存储在存储器中的程序由CPU例如在成像装置960启动时被读取并被执行。CPU例如根据从用户接口971输入的操作信号通过执行程序来控制成像装置960的操作。
用户接口971连接到控制单元970。用户接口971例如包括用于使用户操作成像装置960的按钮、开关等。用户接口971通过这样的组成元件来检测用户的操作,生成操作信号,并且将生成的操作信号输出到控制单元970。
在如此配置的成像装置960中,图像处理单元964具有根据上述实施方式的图像编码装置(例如,由图1中示出的编码器1和文件生成单元2配置的编码装置)和图像解码装置(例如,由图8中示出的文件读取单元51和解码器52配置的解码装置)的功能。因此,在由成像装置960执行的对图像编码/解码时,可以减少当对在发送时使用的流或在文件中存储时使用的流进行解码时所需的处理负荷。
<8.第七实施方式>
[其他示例]
虽然以上描述了应用本技术的装置、系统等的示例,但是本技术不限于此。因此,本技术也可以实施为在装置或配置系统的装置中安装的所有部件如处理器、系统LSI(大规模集成)等,使用多个处理器等的模块,使用多个模块等的单元,以及通过将另一功能添加到单元而获得的设置(换言之,装置的配置的一部分)。
[视频设置]
将参照图46来描述在本技术被实施为装置情况下的示例。图46示出了应用本技术的视频设置的示意性配置的示例。
最近,在电子装置中的多个功能的实现已取得进展,并且在每个电子装置的开发或制造中,在一部分配置以销售、条款等执行时,通常不仅存在部件作为具有一个功能的配置而被执行的情况,而且存在部件作为通过组合具有相关功能的多个配置而具有多个功能的一种设置而被执行的情况。
在图46中示出的视频设置1300具有如下的配置,所述配置具有多个功能,并且通过组合具有与图像的编码/解码(编码或解码之一或二者)有关的功能的设备和具有与所述功能有关的其他功能的设备而获得。
如图46所示,视频设置1300包括:模块组如视频模块1311、外部存储器1312、电源管理模块1313和前端模块1314,以及具有相关功能的装置如连接件1321、相机1322和传感器1323。
模块是通过聚集彼此相关的若干部件功能而获得的具有含一致性的功能的部件。具体物理配置是任意的,并且例如可以考虑如下配置,在所述配置中具有相应的功能的多个处理器、电子电路部件如电阻器和电容器,以及其他设备被设置成集成在接线板等中。此外,可以考虑通过将模块与其他模块、处理器等结合来形成新的模块。
在图46所示的示例的情况下,通过结合具有与图像处理有关的功能的配置而形成视频模块131,并且视频模块1311包括:应用处理器、视频处理器、宽带调制解调器1333和RF模块1334。
通过将具有预定功能的配置通过SoC(片上系统)集成在半导体芯片上来形成处理器,并且例如,存在被称为LSI(大规模集成)等的处理器。具有预定功能的配置可以是逻辑电路(硬件配置),包括CPU、ROM、RAM等的配置,以及使用部件执行的程序(软件配置),或者通过结合二者而获得的配置。例如,可以配置以使得:处理器包括逻辑电路、CPU、ROM、RAM等,并且处理器的一些功能由逻辑电路(硬件配置)实现,而其他功能由通过CPU执行的程序(软件配置)实现。
在图46中示出的应用处理器1331是执行与图像处理有关的应用的处理器。为了实现预定功能,由该应用处理器1331执行的应用不仅执行计算处理,而且可以根据需要控制视频模块1311的内部/外部的配置如视频处理器1332等。
视频处理器1332是具有与图像的编码/解码(编码和解码之一,或编码和解码二者)有关的功能的处理器。
宽带调制解调器1333是执行与有线或无线(或有线的或无线的)宽带通信有关的处理的处理器(或模块),所述有线或无线宽带通信通过宽带通信线如因特网或公共电话交换网执行。例如,宽带调制解调器1333将要发送的数据(数字信号)通过数字调制处理等转换成模拟信号,或者通过解复用处理将接收的模拟信号转换成数据(数字信号)。例如,宽带调制解调器1333可以执行对任意信息如由视频处理器1332处理的图像数据、图像数据被编码的流、应用程序和设置数据的数字调制/解调。
RF模块1334是对通过天线发送或接收的RF(无线射频)信号执行频率转换、调制/解调、放大、滤波处理等的模块。例如,RF模块1334对由宽带调制解调器1333生成的基带信号执行频率转换等,从而生成RF信号。此外,例如,RF模块1334对通过前端模块1314接收的RF信号执行频率转换等,从而生成基带信号。
如图46中的点线1341所示,应用处理器1331和视频处理器1332可以集成,以便被配置为一个处理器。
外部存储器1312是设置在视频模块1311的外部的模块,并且具有由视频模块1311使用的存储器设备。虽然外部存储器1312的存储器设备可以由某些物理配置实现,但是通常存储器设备被频繁地用于存储大容量的数据,如以帧为单位配置的图像数据。因此,优选的是,存储器设备由大容量的半导体存储器如DRAM(动态随机存取存储器)以相当低的成本实现。
电力管理模块1313管理和控制视频模块1311(每个配置设置在视频模块1311的内部)的电力的供给。
前端模块1314是为RF模块1334提供前端功能(在天线侧的发送/接收端处的电路)的模块。如图46所示,前端模块1314例如包括天线单元1351、滤波器1352和放大单元1353。
天线单元1351包括发送和接收无线信号的天线以及外围配置。天线单元1351将从放大单元1353提供的信号发送作为无线信号,并且将所接收的无线信号提供给滤波器1352作为电信号(RF信号)。滤波器1352对通过天线1351接收的RF信号执行滤波处理等,并且将处理之后的RF信号提供给RF模块1334。放大单元1353放大从RF模块1334提供的RF信号,并且将放大的RF信号提供给天线单元1351。
连接件1321是具有与外部连接有关的功能的模块。连接件1321的物理配置是任意的。例如,连接件1321包括具有根据不是与宽带调制解调器1333兼容的通信标准的通信标准的通信功能的配置、外部输入/输出端子等。
例如,连接件1321可以被配置成包括通信功能与无线通信标准如蓝牙(注册商标)、IEEE 802.11(例如,Wi-Fi(无线保真;注册商标))、NFC(近场通信)或IrDA(红外数据协会)兼容的模块、发送和接收与标准兼容的信号的天线等。此外,例如,连接件1321可以被配置成包括通信功能与有线通信标准如USB(通用串行总线)或HDMI(注册商标)(高清晰度多媒体接口)兼容的模块和与标准兼容的终端。此外,例如,连接件1321可以被配置成具有模拟输入/输出终端的另一数据(信号)发送功能等。
此外,连接件1321可以被配置成包括数据(信号)的发送目的地的设备。例如,连接件1321可以被配置成包括从记录介质如磁盘、光盘、磁光盘或半导体存储器读取数据并将所述数据写到记录介质中的驱动器(不仅包括可移除介质的驱动器,而且还包括硬盘、SSD(固态驱动器)、NAS(网络附接存储装置)等)。此外,连接件1321可以被配置成包括图像或语音的输出设备(监测器、扬声器等)
相机1322是具有通过对象进行成像来获取对象的图像数据的功能的模块。例如,通过相机1322执行成像处理而获得的图像数据被提供给视频处理器1332,并且被编码。
传感器1323是具有以下任何传感器的功能的模块,如声传感器、超声波传感器、光学传感器、照度传感器、红外传感器、图像传感器、旋转传感器、角度传感器、角速度传感器、速度传感器、加速度传感器、倾斜传感器、磁识别传感器、冲击传感器,或者温度传感器。由传感器1323检测的数据例如被提供给应用处理器1331,并且由应用传感器等使用。
以上作为模块描述的配置可以被实现为处理器。与此相对,以上作为处理器描述的配置可以实现为模块。
如随后所述,在具有上述配置的视频设置1300中,可以将本技术应用于视频处理器1332。因此,视频设置1300可以被执行作为应用本技术的设置。
[视频处理器的配置的示例]
图47示出了应用本技术的视频处理器1332(图46)的示意性配置的示例。
在图47所示的示例的情况下,视频处理器1332具有接收视频信号和音频信号的输入并且根据预定系统对视频信号和音频信号进行编码的功能,以及对编码的视频数据和编码的音频数据进行解码并且再现和输出视频信号和音频信号的功能。
如图47所示,视频处理器1332包括:视频输入处理单元1401;第一图像放大/缩小单元1402;第二图像放大/缩小单元1403;视频输出处理单元1404;帧存储器1405;以及存储器控制单元1406。此外,视频处理器1332包括:编码/解码引擎1407;视频ES(基本流)缓冲器1408A和1408B;音频ES缓冲器1409A和1409B。此外,视频处理器1332包括:音频编码器1410;音频解码器1411;复用器(MUX(Multiplexer))1412;解复用器(DMUX(Demultiplexer))1413;以及流缓冲器1414。
视频输入处理单元1401例如获取从连接件1321(图46)等输入的视频信号,并且将视频信号转换成数字图像数据。第一图像放大/缩小单元1402对图像数据执行格式转换、图像放大/缩小处理等。第二图像放大/缩小单元1403通过视频输出处理单元1404对图像数据执行根据输出目的地的格式的图像放大/缩小,与第一图像放大/缩小单元1402相同的格式转换,图像的放大/缩小处理等。视频输出处理单元1404对图像数据执行格式转换,转换成模拟信号等,并且将所得到的信号例如作为再现视频信号输出到连接件1321(图46)等。
帧存储器1405是由视频输入处理单元1401、第一图像放大/缩小单元1402、第二图像放大/缩小单元1403、视频输出处理单元1404和编码/解码引擎1407共享的图像数据的存储器。帧存储器1405例如由半导体存储器如DRAM实现。
存储器控制单元1406从编码/解码引擎1407接收同步信号,并且根据在访问管理表1406A中所写的用于访问帧存储器1405的访问时间表来控制对帧存储器1405的访问以进行读/写。访问管理表1406A由存储器控制单元1406根据由编码/解码引擎1407、第一图像放大/缩小单元1402、第二图像放大/缩小单元1403等执行的处理更新。
编码/解码引擎1407执行图像数据的编码处理,和作为通过对图像数据编码而获得的数据的视频流的解码处理。例如,编码/解码引擎1407对从帧存储器1405读取的图像数据进行编码,并且将图像数据作为视频流顺序地写到视频ES缓冲器1408A中。此外,例如,编码/解码引擎1407对从视频ES缓冲器1408B提供的视频流顺序地读取和解码,并且将解码的视频流作为图像数据顺序地写到帧存储器1405中。在这样的编码/解码处理中,编码/解码引擎1407使用帧存储器1405作为工作区。此外,编码/解码引擎1407例如在每个宏块的处理开始时的定时处将同步信号输出到存储器控制单元1406。
视频ES缓冲器1408A对由编码/解码引擎1407生成的视频流进行缓冲,并且将缓冲的视频流提供给复用器(MUX)1412。视频ES缓冲器1408B对从解复用器(DMUX)1413提供的视频流进行缓冲,并且将缓冲的视频流提供给编码/解码引擎1407。
音频ES缓冲器1409A对由音频编码器1410生成的音频流进行缓冲,并且将缓冲的音频流提供给复用器(MUX)1412。音频ES缓冲器1409B对从解复用器(DMUX)1413提供的音频流进行缓冲,并且将缓冲的音频流提供给音频解码器1411。
音频编码器1410例如将例如从连接件1321(图46)等输入的音频信号转换成数字信号,并且根据预定的系统如MPEG音频系统或AC3(音频编码代号3)系统对转换的数字信号进行编码。音频编码器1410将各自是通过分别对音频信号编码获得的数据的音频流顺序地写到音频ES缓冲器1409A中。音频解码器1411对从音频ES缓冲器1409B提供的音频流进行解码,并且例如执行解码的音频流到模拟信号的转换等,并且将所得到的信号例如作为再现的音频信号提供给连接件1321(图46)等。
复用器(MUX)1412对视频流和音频流进行复用。该复用处理的方法(换言之,由复用处理生成的比特流的格式)是任意的。此外,在复用处理中,复用器(MUX)1412可以将预定的头部信息等添加到比特流。换言之,复用器(MUX)1412可以通过复用处理变换流的格式。例如,通过对视频流和音频流进行复用,复用器(MUX)1412将流转换成作为发送格式的比特流的传输流。此外,例如,通过复用视频流和音频流,复用器(MUX)1412将流转换为记录文件格式的数据(文件数据)。
解复用器(DMUX)1413使用与由复用器(MUX)1412执行的复用处理对应的方法来解复用视频流和音频流被复用的比特流。换言之,解复用器(DMUX)1413从流缓冲器1414读取的比特流提取视频流和音频流(彼此分离视频流和音频流)。换言之,解复用器(DMUX)1413可以通过解复用处理(由复用器(MUX)1412执行的转换的逆转换)来转换流的格式。例如,解复用器(DMUX)1413通过流缓冲器1414获取例如从连接件1321(图46)、宽带调制解调器1333(图46)等提供的传输流,并且对所提供的传输流进行解复用,从而将传输流转换成视频流和音频流。此外,例如,解复用器(DMUX)1413获取例如由连接件1321(图46)通过流缓冲器1414从各种记录介质读取的文件数据,并且对获得的文件数据进行解复用,从而将文件数据转换成视频流和音频流。
流缓冲器1414对比特流进行缓冲。例如,流缓冲器1414对从复用器(MUX)1412提供的传输流进行缓冲,在预定定时处或基于来自外部的请求等将缓冲的传输流例如提供给连接件1321(图46)、宽带调制解调器1333(图46)等。
此外,例如,流缓冲器1414对从复用器(MUX)1412提供的文件数据进行缓冲,并且在预定的定时处、基于来自外部的请求等将缓冲的文件数据等例如提供给连接件1321(图46)等,以便记录在各种记录介质上。
此外,流缓冲器1414对例如通过连接件1321(图46)、宽带调制解调器1333(图46)等获得传输流进行缓冲,并且在预定的定时处或基于来自外部的请求等将缓冲的传输流提供给解复用器(DMUX)1413。
此外,流缓冲器1414对连接件1321(图46)等从各种记录介质读取的文件数据进行缓冲,并且在预定定时处或基于来自外部的请求等将缓冲的文件数据提供给解复用器(DMUX)1413。
接下来,将描述具有这样的配置的视频处理器1332的操作的示例。例如,从连接件1321(图46)等输入到视频处理器1332的视频信号被转换成预定系统如视频输入处理单元1401中的4:2:2 Y/Cb/Cr系统的数字图像数据,并且被顺序地写到帧存储器1405中。该数字图像数据由第一图像放大/缩小单元1402或第二图像放大/缩小单元1403读取,对所读取的数字图像数据执行到预定系统如4:2:0 Y/Cb/Cr系统的格式转换和放大/缩小处理,以及将所得到的数字图像数据重新写到帧存储器1405中。该图像数据由编码/解码引擎1407编码,并且作为视频流被写到视频ES缓冲器1408A中。
此外,从连接件1321(图46)等输入到视频处理器1332的音频信号由音频编码器1410编码,并且作为音频流被写到音频ES缓冲器1409A中。
在视频ES缓冲器1408A中缓冲的视频流和在音频ES缓冲器1409A中缓冲的音频流由复用器(MUX)1412读取和复用,并且被转换成传输流、文件数据等。由复用器(MUX)1412生成的传输流在流缓冲器1414中缓冲,然后例如通过连接件1321(图46)、宽带调制解调器1333(图46)等输出到外部网络。此外,由复用器(MUX)1412生成的文件数据在流缓冲器1414中被缓冲,然后例如输出到连接件1321(图46)等,并且记录在各种记录介质上。
此外,例如通过连接件1321(图46)、宽带调制解调器1333(图46)等从外部网络输入到视频处理器1332的传输流在流缓冲器1414中缓冲,然后由解复用器(DMUX)1413解复用。此外,例如通过连接件1321(图46)等从各种记录介质读取并被输入到视频处理器1332的文件数据在流缓冲器1414中缓冲,然后由解复用器(DMUX)1413解复用。换言之,输入到视频处理器1332的传输流或文件数据被解复用器(DMUX)1413分离成视频流和音频流。
通过音频ES缓冲器1409B将音频流提供给音频解码器1411,并对齐其进行解码,并且音频信号被再现。此外,视频流被写到视频ES缓冲器1408B中,然后由编码/解码引擎1407顺序地读取和解码,并被写到帧存储器1405中。解码的图像数据被第二图像放大/缩小单元1403处理成放大或缩小,并被写到帧存储器1405中。然后,解码的图像数据由视频输出处理单元1404读取,根据预定系统如4:2:2Y/Cb/Cr系统等被转换成另一格式,然后进一步被转换成模拟信号,从而再现和输出视频信号。
在本技术应用于如此配置的视频处理器1332的情况下,可以将与上述每个实施方式有关的本技术应用于编码/解码引擎1407。换言之,例如,编码/解码引擎1407可以被配置成具有根据第一实施方式的由编码器1和文件生成单元2配置的图像编码装置(图1)和由文件读取单元51和解码器52配置的图像解码装置(图8)的功能。通过如此配置,视频处理器1332可以具有与以上参照图1至图36描述的那些优点相同的优点。
此外,在编码/解码引擎1407中,本技术(换言之,根据上述每个实施方式的图像编码装置和图像解码装置的功能)可以由硬件如逻辑电路或软件如嵌入式程序实现,或者可以由硬件或软件二者来实现。
[视频处理器的配置的另一示例]
图48示出了应用本技术的视频处理器1332(图46)的示意性配置的另一示例。在图48所示的示例的情况下,视频处理器1332具有用于根据预定系统对视频数据编码和解码的功能。
更具体地,如图48所示,视频处理器1332包括:控制单元1511;显示器接口1512;显示器引擎1513;图像处理引擎1514;以及内部存储器1515。此外,视频处理器1332包括:编解码器引擎1516;存储器接口1517;复用器/解复用器(MUX DMUX)1518;网络接口1519;以及视频接口1520。
控制单元1511控制设置在视频处理器1332的内部的处理单元如显示器接口1512、显示器引擎1513、图像处理引擎1514和编解码器引擎1516的操作。
如图48所示,控制单元1511例如包括主CPU 1531、子CPU 1532,以及系统控制器1533。主CPU 1531执行用于控制设置在视频处理器1332等的内部的每个处理单元的操作的程序。主CPU 1531根据程序等生成控制信号,并且将控制信号提供给每个处理单元(换言之,控制每个处理单元的操作)。子CPU 1532实现对主CPU 1531的辅助作用。例如,子CPU1532执行由主CPU 1531执行的程序的子处理、子例程等。系统控制器1533通过执行指定待由主CPU 1531和子CPU 1532等执行的程序来控制主CPU 1531和子CPU 1532的操作。
显示器接口1512在控制单元1511的控制下,将图像数据例如输出到连接件1321(图46)等。例如,显示器接口1512将为数字数据的图像数据转换成模拟信号,并且将模拟信号作为再现视频信号或为数字数据的图像数据输出到连接件1321(图46)的监测设备等。
显示器引擎1513在控制单元1511的控制下,执行图像数据的各种转换处理,例如格式转换、大小转换、色彩范围转换,以便匹配显示图像等的监测设备的硬件规格说明。
图像处理引擎1514在控制单元1511的控制下对图像数据执行预定的图像处理,如用于提高图像质量等的滤波器处理。
内部存储器1515是由显示器引擎1513、图像处理引擎1514和编解码器引擎1516共享的存储器,并且被设置在视频处理器1332的内部。内部存储器1515例如用于显示器引擎1513、图像处理引擎1514和编解码器引擎1516之间的数据传送。例如,内部存储器1515存储从显示器引擎1513、图像处理引擎1514或编解码器引擎1516提供的数据,并根据需要(例如,根据请求)将所述数据提供给显示器引擎1513、图像处理引擎1514或编解码器引擎1516。可以通过使用任何种类的存储设备来实现该内部存储器1515。然而,通常,内部存储器频繁地用于存储小容量的数据、例如以块为单位的图像数据和参数,因此,优选的是使用容量相对较小(与外部存储器1312相比)并且具有高响应速度的半导体存储器如SRAM(静态随机存取存储器)来实现内部存储器。
编解码器引擎1516执行与图像数据的编码和解码有关的处理。与编解码器引擎1516兼容的编码/解码系统是任意的,并且编码/解码系统的数量可以是一个或更多个。例如,可以配置使得编解码器引擎1516具有用于多个编码/解码系统的编解码功能,并且被配置成通过使用选定的编码/解码系统之一来执行图像数据的编码或编码的数据的解码。
在图48所示的示例中,编解码器引擎1516例如包括MPEG-2视频1541、AVC/H.264 1542、HEVC/H.265 1543、HEVC/H.265(可扩展)1544、HEVC/H.265(多视图)1545和MPEG-DASH 1551作为与编解码器有关的处理的功能块。
MPEG-2视频1541是根据MPEG-2系统对图像数据进行编码或解码的功能块。AVC/H.264 1542是根据AVC系统对图像数据进行编码或解码的功能块。HEVC/H.265 1543是根据HEVC系统对图像数据进行编码或解码的功能块。HEVC/H.265(可扩展)1544是根据HEVC系统执行图像数据的可扩展编码或可扩展解码的功能块。HEVC/H.265(多视图)1545是根据HEVC系统执行图像数据的多视图编码或多视图解码的功能块。
MPEG-DASH 1551是根据MPEG-DASH(HTTP的MEEG动态自适应流)系统发送和接收图像数据的功能块。MPEG-DASH是使用HTTP(超文本传输协议)来执行视频流的技术,其特征之一是在预先制备的、具有相互不同的分辨率等的多条编码数据中的适当的编码数据被选择并且以段为单位发送。MPEG-DASH 1551执行与标准兼容的流的生成,流的发送控制等,并且使用上述MPEG-2视频1541至HEVC/H.265(多视图)1545来对图像数据进行编码和解码。
存储器接口1517是用于外部存储器1312的接口。从图像处理引擎1514或编解码器引擎1516提供的数据通过存储器接口1517被提供给外部存储器1312。此外,从外部存储器1312读取的数据通过存储器接口1517提供给视频处理器1332(图像处理引擎1514或编解码器引擎1516)。
复用器/解复用器(MUX DMUX)1518执行与图像有关的各种数据如编码数据的比特流、图像数据和视频信号的复用和解复用。复用/解复用的方法是任意的。例如,在执行复用时,复用器/解复用器(MUX DMUX)1518不仅会将多条数据设置为一条数据,而且还将预定的头部信息等添加到数据。此外,在执行解复用时,复用器/解复用器(MUX DMUX)1518不仅会将一条数据分成多个部分,而且还将预定的头部信息等添加到每个划分的数据部分。换言之,复用器/解复用器(MUX DMUX)1518可以通过复用/解复用处理来转换数据的格式。例如,复用器/解复用器(MUXDMUX)1518可以通过复用比特流将比特流转换成作为发送格式的比特流的传输流或记录文件格式的数据(文件数据)。很明显,其逆变换可以通过解复用处理来执行。
网络接口1519是例如专用于宽带调制解调器1333(图46)、连接件1321(图46)等的接口。视频接口1520是例如专用于连接件1321(图46)、相机1322(图46)等的接口。
接下来,将描述这样的视频处理器1332的操作的示例。例如,当例如通过连接件1321(图46)、带宽调制解调器1333(图46)等从外部网络接收传输流时,传输流通过网络接口1519提供给复用器/解复用器(MUX DMUX)1518,被解复用以及由编解码器引擎1516解码。对于通过编解码器引擎1516执行解码处理而获得的图像数据,预定的图像处理例如由图像处理引擎1514执行,并且预定的转换由显示器引擎1513执行。然后,所得到的图像数据通过显示器接口1512例如提供给连接件1321(图46)等,并且其图像显示在监测器上。此外,例如通过编解码器引擎1516执行的解码处理而获得的图像数据由编解码器引擎1516记录,由复用器/解复用器(MUX DMUX)1518复用,被转换成文件数据,通过视频接口1520例如输出到连接件1321(图46)等,以及记录在各种记录介质上。
此外,通过对例如由连接件1321(图46)等从图中未示出的记录介质所读取的图像数据进行编码获得的编码数据的文件数据通过视频接口1520提供给复用器/解复用器(MUX DMUX)1518,被解复用,以及由编解码引擎1516解码。对于通过编解码器引擎1516执行解码处理而获得的图像数据,预定图像处理由图像处理引擎1514执行,预定的转换由显示器引擎1513执行。然后,所得到的图像数据通过显示器接口1512例如提供给连接件1321(图46)等,并且其图像显示在监测器上。此外,例如通过编解码器引擎1516执行解码处理而获得的图像数据由编解码器引擎1516记录,由复用器/解复用器(MUX DMUX)1518复用,被转换成传输流,通过网络接口1519例如提供给连接件1321(图46)、宽带调制解调器1333(图46)等,以及被发送给图中未示出的另一装置。
此处,例如使用内部存储器1515或外部存储器1312来执行图像数据和其他数据在视频处理器1332内部设置的处理单元之间的发送/接收。此外,电力管理模块1313例如控制控制单元1511的电力供给。
在本技术应用于如此配置的视频处理器1332的情况下,根据上述每个实施方式的本技术可以应用于编解码器引擎1516。换言之,例如,编解码器引擎1516可以被配置成包括实现根据第一实施方式的由编码器1和文件生成单元2配置的图像编码装置和由文件读取单元51和解码器52配置的图像解码装置(图8)的功能块。通过如此配置,视频处理器1332可以具有与以上参照图1至图36描述的那些优点相同的优点。
此外,在编解码器引擎1516中,本技术(换言之,根据上述每个实施方式的图像编码装置和图像解码装置的功能)可以由硬件如逻辑电路或软件如嵌入式程序实现,或者可以由硬件或软件二者实现。
虽然以上描述了视频处理器1332的配置的两个示例,但是视频处理器1332的配置是任意的,并且可以是不同于上述两个示例的配置。此处,视频处理器1332可以被配置为一个半导体芯片或多个半导体芯片。例如,视频处理器可以被配置为三维堆叠的LSI。此外,可以通过多个LSI来实现视频处理器。
[装置的应用的示例]
视频设置1300可以内置在处理图像数据的各种装置中。例如,可以将视频设置1300内置在电视装置900(图42)、移动电话920(图43)、记录/再现装置940(图44)、成像装置960(图45)等中。通过将视频设置1300内置在其中,装置可以获得与以上参照图1至图36所描述的那些优点相似的优点。
此外,尽管配置是上述视频设置1300的配置的一部分,不过在配置包括视频处理器1332的情况下,配置可以作为应用本技术的配置来执行。例如,仅视频处理器1332可以作为应用本技术的视频处理器来执行。此外,例如,如上所述,由点线表示的处理器1341、视频模块1311等可以作为应用本技术的处理器、模块等来执行。此外,例如,视频模块1311、外部存储器1312、电力管理模块1313和前端模块1314可以结合,以便作为应用本技术的视频单元1361来执行。根据所述配置中的任何配置,可以获得与以上参照图1至图36描述的那些优点相似的优点。
换言之,与视频设置1300的情况相似,任何配置可以内置在处理图像数据的各种装置中,只要所述配置包括视频处理器1332。例如,视频处理器1332、由点线1341表示的处理器、视频模块1311或视频单元1361可以内置在电视装置900(图42)、移动电话920(图43)、记录/再现装置940(图44)、成像装置960(图45)等中。通过将期望应用本技术的任何一个配置类似于视频设置1300的情况内置到装置中,装置可以获得以上参照图1至图36描述的那些优点类似的优点。
在本说明书中,描述了各种信息例如起始码、填充数据、管理解码器缓冲器的参数、标识参数和FixedStartCodeSizeFlag在编码流中被复用,并且从编码侧发送到解码侧的示例。然而,用于发送这样的信息的技术不限于这样的技术。例如,这样的信息可以作为与编码比特流相关联的单独数据发送或记录,而不是在编码流中复用。此处,术语“关联”表示包括在比特流中的图像(其可以是图像的一部分如切片、块等)和与所述图像对应的信息被获取,其中在对所述图像和信息解码时,所述图像和信息彼此链接。换言之,可以在不同于图像(或比特流)的发送线的发送线中发送信息。此外,可以将信息记录在与图像(或比特流)的记录介质不同的记录介质(或相同记录介质的不同记录区域)上。此外,信息和图像(或比特流)例如可以以任意部分为单元例如以多帧为单位、以一个帧为单位或以帧中的一部分为单位彼此关联。
虽然参照附图详细描述了本公开的优选的实施方式,但是本公开不限于这样的示例。明显的是,具有本公开的技术领域的普通知识的人员可以设计出在权利要求书中所描述的技术构思的范围内的各种变化和修改,并且自然地,应理解这样的变化和修改属于本公开的技术范围。
附图标记列表
1     编码器
2     文件生成单元
31    控制单元
32    设置单元
33    文件写单元
51    文件读单元
52    解码器
71    文件接收单元
72    参数获取单元
73    解码控制单元
74    数据读取单元
201   图像编码装置
251   图像解码装置
300   文件转换装置
311   视频流分析单元
401   编码器
451   解码器

Claims (15)

1.一种图像处理装置,包括:
设置单元,所述设置单元针对包含通过对图像进行编码而获得的比特流的文件、设置起始码和填充数据;以及
控制单元,所述控制单元执行对所述设置单元的控制,以使得由所述设置单元设置的起始码和填充数据对文件进行配置,其中管理解码器缓冲器的参数的特征保持在所述文件的媒体数据中。
2.根据权利要求1所述的图像处理装置,其中,所述管理解码器缓冲器的参数是视频可用性信息VUI中包括的参数、缓冲时段补充增强信息SEI中包括的参数,或者图片定时SEI中包括的参数。
3.根据权利要求1所述的图像处理装置,其中,所述设置单元将所述填充数据设置为VCL数据。
4.一种使用图像处理装置的图像处理方法,所述图像处理方法包括:
针对包含通过对图像进行编码而获得的比特流的文件,设置起始码和填充数据;以及
执行对所述起始码和所述填充数据的所述设置的控制,以使得所设置的起始码和填充数据对文件进行配置,其中管理解码器缓冲器的参数的特征保持在所述文件的媒体数据中。
5.一种图像处理装置,包括:
接收单元,所述接收单元接收文件,所述文件包含通过对图像进行编码而获得的比特流,并且所述文件被控制和设置成使得起始码和填充数据对所述文件进行配置,其中管理解码器缓冲器的参数的特征保持在所述文件的媒体数据中;以及
解码单元,所述解码单元从由所述接收单元接收的文件读取所述起始码和所述填充数据,并且通过使用所述管理解码器缓冲器的参数对所述比特流进行解码。
6.根据权利要求5所述的图像处理装置,其中,所述管理解码器缓冲器的参数是视频可用性信息VUI中包括的参数、缓冲时段补充增强信息SEI中包括的参数,或者图片定时SEI中包括的参数。
7.根据权利要求5所述的图像处理装置,其中,所述填充数据被设置为VCL数据。
8.一种使用图像处理装置的图像处理方法,所述图像处理方法包括:
接收文件,所述文件包含通过对图像进行编码而获得的比特流,并且所述文件被控制和设置成使得起始码和填充数据对所述文件进行配置,其中管理解码器缓冲器的参数的特征保持在所述文件的媒体数据中;
从接收的文件读取所述起始码和所述填充数据,并且通过使用所述管理解码器缓冲器的参数来对所述比特流进行解码。
9.一种图像处理装置,包括:
设置单元,所述设置单元在从包含通过对图像进行编码而获得的比特流的文件的媒体数据中的比特流移除起始码和填充数据的情况下,设置管理解码器缓冲器的参数的特征;以及
生成单元,所述生成单元通过使用由所述设置单元设置的特征来生成所述文件。
10.根据权利要求9所述的图像处理装置,其中,所述设置单元设置识别所述管理解码器缓冲器的参数的所述特征被改变的标识参数。
11.根据权利要求10所述的图像处理装置,其中,所述设置单元将所述标识参数设置为所述文件的样本条目中的可选块。
12.一种使用图像处理装置的图像处理方法,所述图像处理方法包括:
在从包含通过对图像进行编码而获得的比特流的文件的媒体数据中的比特流移除起始码和填充数据的情况下,设置管理解码器缓冲器的参数的特征;以及
通过使用所设置的特征来生成所述文件。
13.一种图像处理装置,包括:
接收单元,所述接收单元接收使用所设置的管理解码器缓冲器的参数的特征而生成的文件,所述特征是在从包含通过对图像进行编码而获得的比特流的文件的媒体数据中移除起始码和填充数据的情况下设置的;以及
解码单元,所述解码单元从由所述接收单元接收的文件读取所述管理解码器缓冲器的参数,并且通过使用所读取的参数来对所述比特流进行解码。
14.根据权利要求13所述的图像处理装置,其中,在所述文件中设置有识别所述管理解码器缓冲器的参数的所述特征被改变的标识参数。
15.一种使用图像处理装置的图像处理方法,所述图像处理方法包括:
接收使用所设置的管理解码器缓冲器的参数的特征而生成的文件,所述特征是在从包含通过对图像进行编码而获得的比特流的文件的媒体数据中移除起始码和填充数据的情况下设置的;以及
从所接收的文件读取所述管理解码器缓冲器的参数,并且通过使用所读取的参数对所述比特流进行解码。
CN201380051814.1A 2012-10-09 2013-09-30 图像处理装置和方法 Active CN104704823B (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
JP2012-224597 2012-10-09
JP2012224597 2012-10-09
JP2012225159 2012-10-10
JP2012-225159 2012-10-10
JP2012-262803 2012-11-30
JP2012262803 2012-11-30
JP2013004988 2013-01-15
JP2013-004988 2013-01-15
JP2013010585 2013-01-23
JP2013-010585 2013-01-23
JP2013-060438 2013-03-22
JP2013060438 2013-03-22
PCT/JP2013/076486 WO2014057832A1 (ja) 2012-10-09 2013-09-30 画像処理装置および方法

Publications (2)

Publication Number Publication Date
CN104704823A true CN104704823A (zh) 2015-06-10
CN104704823B CN104704823B (zh) 2019-01-29

Family

ID=50477300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380051814.1A Active CN104704823B (zh) 2012-10-09 2013-09-30 图像处理装置和方法

Country Status (13)

Country Link
US (1) US10313694B2 (zh)
EP (2) EP3618434B1 (zh)
JP (2) JP6492661B2 (zh)
KR (1) KR102134049B1 (zh)
CN (1) CN104704823B (zh)
AU (3) AU2013327962A1 (zh)
BR (1) BR112015007530A2 (zh)
CA (1) CA2886943C (zh)
MX (2) MX358606B (zh)
MY (1) MY174138A (zh)
RU (1) RU2653308C2 (zh)
TW (1) TWI652938B (zh)
WO (1) WO2014057832A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015137237A1 (ja) * 2014-03-14 2015-09-17 シャープ株式会社 画像復号装置
JP6500895B2 (ja) * 2014-05-19 2019-04-17 ソニー株式会社 情報処理装置、情報生成装置、情報記録媒体、および情報処理方法、並びにプログラム
JP6706784B2 (ja) * 2014-09-12 2020-06-10 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法及び受信方法
KR102299573B1 (ko) * 2014-10-22 2021-09-07 삼성전자주식회사 실시간으로 인-루프 필터링을 수행할 수 있는 애플리케이션 프로세서, 이의 작동 방법, 및 이를 포함하는 시스템
JP6863271B2 (ja) * 2015-02-16 2021-04-21 ソニーグループ株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
US10257107B1 (en) * 2016-06-30 2019-04-09 Amazon Technologies, Inc. Encoder-sensitive stream buffer management
JP7425204B2 (ja) 2019-12-26 2024-01-30 バイトダンス インコーポレイテッド ビデオビットストリームにおける仮想参照デコーダパラメータのシグナリングに対する制約
WO2021134011A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Signaling of slice type and video layers
EP4088431A4 (en) 2020-01-09 2023-09-27 ByteDance Inc. DECODING THE ORDER OF DIFFERENT SEI MESSAGES

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1252204A (zh) * 1997-12-15 2000-05-03 松下电器产业株式会社 光盘和计算机可读存储介质及其记录方法和设备
CN1485742A (zh) * 2002-08-20 2004-03-31 ���ṫ˾ 记录设备和方法、记录介质、以及程序
US20050175098A1 (en) * 2004-01-16 2005-08-11 General Instruments Corporation Method, protocol, and apparatus for transporting advanced video coding content
CN101800892A (zh) * 2010-03-04 2010-08-11 青岛海信信芯科技有限公司 多媒体码流识别的方法和装置
US20110206138A1 (en) * 2008-11-13 2011-08-25 Thomson Licensing Multiple thread video encoding using hrd information sharing and bit allocation waiting
CN102469277A (zh) * 2010-11-12 2012-05-23 索尼公司 图像输出装置和方法、图像处理装置和方法和成像装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2004214313B2 (en) * 2003-02-18 2010-05-20 Nokia Technologies Oy Picture coding method
US9313512B2 (en) 2009-11-25 2016-04-12 Vudu, Inc. Multiple bit rate encoding by segments
WO2013030458A1 (en) * 2011-08-31 2013-03-07 Nokia Corporation Multiview video coding and decoding
US9648317B2 (en) * 2012-01-30 2017-05-09 Qualcomm Incorporated Method of coding video and storing video content

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1252204A (zh) * 1997-12-15 2000-05-03 松下电器产业株式会社 光盘和计算机可读存储介质及其记录方法和设备
CN1485742A (zh) * 2002-08-20 2004-03-31 ���ṫ˾ 记录设备和方法、记录介质、以及程序
US20050175098A1 (en) * 2004-01-16 2005-08-11 General Instruments Corporation Method, protocol, and apparatus for transporting advanced video coding content
US20110206138A1 (en) * 2008-11-13 2011-08-25 Thomson Licensing Multiple thread video encoding using hrd information sharing and bit allocation waiting
CN101800892A (zh) * 2010-03-04 2010-08-11 青岛海信信芯科技有限公司 多媒体码流识别的方法和装置
CN102469277A (zh) * 2010-11-12 2012-05-23 索尼公司 图像输出装置和方法、图像处理装置和方法和成像装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SULLIVAN: "Filler Data & SEI for User Data", 《THE JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16》 *
SUZUKI ET AL: "Draft Text of ISO/IEC 14496-10:2012/DAM 2MVC extensions for inclusion of depth maps", 《THE JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16》 *

Also Published As

Publication number Publication date
CA2886943C (en) 2020-12-15
AU2017204793B2 (en) 2019-05-23
RU2015112109A (ru) 2016-10-20
JPWO2014057832A1 (ja) 2016-09-05
AU2013327962A1 (en) 2015-04-02
CA2886943A1 (en) 2014-04-17
BR112015007530A2 (pt) 2017-07-04
EP2908523B1 (en) 2019-09-18
MX340964B (es) 2016-08-01
AU2017204793A1 (en) 2017-07-27
EP3618434B1 (en) 2021-04-14
US20150281713A1 (en) 2015-10-01
MY174138A (en) 2020-03-10
US10313694B2 (en) 2019-06-04
CN104704823B (zh) 2019-01-29
JP2019110567A (ja) 2019-07-04
JP6492661B2 (ja) 2019-04-03
KR102134049B1 (ko) 2020-07-14
AU2019219782A1 (en) 2019-09-12
EP3618434A1 (en) 2020-03-04
MX2015004140A (es) 2015-07-06
EP2908523A4 (en) 2016-09-21
KR20150067147A (ko) 2015-06-17
TWI652938B (zh) 2019-03-01
TW201419872A (zh) 2014-05-16
WO2014057832A1 (ja) 2014-04-17
EP2908523A1 (en) 2015-08-19
AU2019219782B2 (en) 2021-02-11
JP6721069B2 (ja) 2020-07-08
RU2653308C2 (ru) 2018-05-07
MX358606B (es) 2018-08-24

Similar Documents

Publication Publication Date Title
CN104704823B (zh) 图像处理装置和方法
US10779009B2 (en) Image decoding device and method
KR20190038545A (ko) 화상 처리 장치, 화상 처리 방법 및 프로그램
CN104641649B (zh) 图像处理装置和方法
JP6690741B2 (ja) 画像符号化装置および方法、並びに、プログラム
CN105874801A (zh) 解码设备和解码方法、以及编码设备和编码方法
CN104854868B (zh) 图像处理设备和方法
CN104854869B (zh) 图像处理装置及方法
US20190394494A1 (en) Image processing apparatus and method
CN101193321A (zh) 编码设备、解码设备、记录设备、音频/视频数据传送系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant