CN101141641A - 信息处理设备和信息处理方法 - Google Patents

信息处理设备和信息处理方法 Download PDF

Info

Publication number
CN101141641A
CN101141641A CNA2007101453013A CN200710145301A CN101141641A CN 101141641 A CN101141641 A CN 101141641A CN A2007101453013 A CNA2007101453013 A CN A2007101453013A CN 200710145301 A CN200710145301 A CN 200710145301A CN 101141641 A CN101141641 A CN 101141641A
Authority
CN
China
Prior art keywords
image
section
encoder
coding
encoding
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
CNA2007101453013A
Other languages
English (en)
Other versions
CN101141641B (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 CN101141641A publication Critical patent/CN101141641A/zh
Application granted granted Critical
Publication of CN101141641B publication Critical patent/CN101141641B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/152Data rate or code amount at the encoder output by measuring the fullness of 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Abstract

一种用于对基带信号进行编码的信息处理设备和信息处理方法,该信息处理设备包括:数据分割装置;编码器;控制装置;以及接合装置。数据分割装置被配置为在将基带信号分割为预定编码段之前获取该基带信号。编码器被配置为通过对由数据分割装置从基带信号获取的多个连续的编码段进行并行编码来生成编码流。控制装置被配置为控制编码器以受到预定约束条件约束的方式执行并行编码。接合装置被配置为接合由编码器生成的编码流。

Description

信息处理设备和信息处理方法
技术领域
本发明涉及信息处理设备和信息处理方法。更具体地说,本发明涉及有利地用于执行编码的信息处理设备和信息处理方法。
背景技术
以MPEG(运动图像编码专家组/运动图像专家组)为代表性标准的图像压缩系统通过经由帧间(inter-frame)预测的压缩编码视频信号来实现高水平的数据压缩效率。
在MPEG标准下,有一种被称为长GOP(Group of Pictures,图像组)压缩的压缩编码系统,其利用涉及以下三种图像类型的双向帧间预测:I图像、P图像和B图像。
I图像是内编码图像(intra coded picture)的简称。不依赖于其他图像而被编码,图像可以利用仅与该图像有关的信息而被解码。P图像是帧间前向预测编码图像的简称,该图像是通过相对于暂时在前的帧(即前向方向上的)的差异来表示的。B图像是双向预测编码图像的简称。该图像是利用暂时在前(前向)或在后(后向)的图像,或者利用在前和在后图像两者(双向),通过运动补偿帧间预测来编码的。
在视频编辑设置中,通过帧间预测而压缩的图像受到有关的帧之间的预测压缩信号的关系的约束。这意味着视频材料不能利用预测压缩视频信号来接合。因此先前设计用于编辑视频材料的多数系统通过帧内(intra-frame)压缩来执行其编码,而无需帧间预测。
但是,在涉及大量高分辨率视频信息的视频信号(例如HD(高清晰度)信号)被处理的情况下,仅通过帧内压缩进行编码会得到低水平的压缩效率。如果希望发送或存储大量数据,则帧内压缩编码可因而引起低传输速度、需要大存储容量,以及其他相关缺点。这然后使得需要实现能够进行高速处理的昂贵系统。换言之,用于大量处理高分辨率视频信息的视频信号的廉价系统应当优选通过使用帧间预测来提高其压缩效率。
用于编辑MPEG流的技术已经存在。根据一种这样的技术(例如PCT专利公开No.WO99/05864),编辑点(接合点)附近的编码图像被临时解码,使得在图像被再次编码之前,未压缩格式的视频信号在编辑点处被接合。根据另一种这样的技术(例如日本专利申请No.平10-178645),帧在其被编码之前被各自分割成多个部分以实现高速编码。
发明内容
如在上面引用的PCT专利公开No.WO99/05864中所讨论的,需要加速编码处理以提高涉及编码的数据编辑和数据转换的效率。当今,用于执行常见的长GOP结构压缩的编码器几乎不能实时工作或者在处理速度方面落后。结果,转换长播放时间的材料要用非常长的时间。
用于加速编码处理的另一种方式是通过在对每个帧进行编码之前将其分成多个部分,如上面引用的日本专利申请No.10-178645中所述。但是,在这种方案下,每个帧被分成多个部分,结果在执行帧间和帧内参考时和在将分割的帧部分接合回每个帧时,控制趋于过度复杂。
考虑到上述情况而作出本发明,希望提供用于高速执行编码而无需分割有关的每个帧的信息处理设备和信息处理方法。
在执行本发明时并且根据本发明的一个实施例,提供了一种用于对基带信号进行编码的信息处理设备,该信息处理设备包括:数据分割装置;编码器;控制装置;以及接合装置。数据分割装置被配置为在将基带信号分割为预定编码段之前获取该基带信号。编码器被配置为通过对由数据分割装置从基带信号获取的多个连续的编码段进行并行编码来生成编码流。控制装置被配置为控制编码器以受到预定约束条件约束的方式执行并行编码。接合装置被配置为接合由编码器生成的编码流。
优选地,约束条件可以涉及以这样一种方式执行编码处理:使得由数据分割装置获取的编码段的边界与由编码器生成的编码流的GOP的边界相重叠。
约束条件可以优选地涉及以这样一种方式执行编码处理:使得由数据分割装置获取的每个编码段的起始GOP被用作闭合GOP。
约束条件可以优选地涉及将序列头或量化矩阵扩展(Quant MatrixExtension)加入到由数据分割装置获取的每个编码段的编码起点。
约束条件可以优选地涉及以这样一种方式控制生成的代码量:使得由数据分割装置获取的每个所述编码段的编码终点处的VBV缓冲占有量变为等于下一编码段的编码起点处的VBV缓冲占有量。
约束条件可以优选地涉及以这样一种方式执行编码处理:使得由数据分割装置获取的编码段的边界从由编码器生成的编码流的GOP的边界临时后移间隔M,该间隔M将I图像与下一I图像分开或者将P图像与下一P图像分开。
约束条件可以优选地涉及以这样一种方式执行编码处理:使得为由数据分割装置获取的编码段中的之前是与另一个编码段相对应的基带信号的每个编码段,获取被提供了前一编码段的最后一个图像的基带信号,前一编码段的最后一个图像在被编码时不被输出而是被用作参考图像。
约束条件可以优选地涉及将用于对前一编码段中的被用作参考图像的最后一个图像进行编码的条件与对正被并行编码的前一编码段中的相应图像进行编码的条件相匹配。
优选地,上述编码条件可以包括被分配给图像的位,以及第一宏块的Q比例。
优选地,约束条件还可以涉及以这样一种方式执行编码处理:使得为由数据分割装置获取的编码段中的之前是与另一个段相对应的基带信号的每个编码段,获取被提供了前一编码段的最后M+1个图像的基带信号,所述前一编码段的最后的图像在被编码时不被输出而是被用作参考图像。
约束条件可以优选地涉及使用编码后的第一图像作为参考图像对来自前一编码段的最后M+1个图像中的第二和第三图像进行编码,所述第二图像和所述第三图像在被编码时不被输出而是被用作用于控制与正被并行编码的前一编码段中的编码后的第二和第三图像相对应的生成代码量的基础。
约束条件可以优选地涉及使用前一编码段的最后M+1个图像中被获取作为I图像的第一图像来执行编码处理。
根据本发明的另一个实施例,提供了一种与用于对基带信号进行编码的信息处理设备一起使用的信息处理方法,该信息处理方法包括以下步骤:第一控制步骤;第二控制步骤;生成步骤;以及接合步骤。第一控制步骤控制在将基带信号分割为预定编码段之前控制所述基带信号的获取。第二控制步骤控制向信息处理设备的编码器提供获取的多个连续的编码段。生成步骤通过使编码器以受到预定约束条件约束的方式对包括基带信号的编码段进行并行编码,来生成编码流。接合步骤接合所生成的编码流。
根据本发明,如上所述,首先获取基带信号并将其分割成预定的编码段。将基带信号中所包括的多个连续的分割成的编码段提供给编码器,用于进行受到预定约束条件约束的并行编码。然后接合由编码器生成的编码流。
在以下描述中,术语“网络”将指的是以使一个设备能够向另一个设备发送信息的方式连接至少两个设备的设置。通过网络与另一个设备通信的设备可以独立于另一个设备,或者组成形成单件设备的内部装置。
还是在以下描述中,术语“通信”将指的是无线地或者以有线方式起作用的设置。设置还可以以下列方式工作,其中在一个区域中执行的有线通信被另一个区域中的无线通信取代。设置还可以以这样一种方式工作,使得一个设备与另一个设备以有线方式通信,另一个设备然后与又一个设备无线地通信,等等。
另外,术语“编辑设备”将指的是用于编辑的独立设备,或指的是信息处理设备内用于执行编辑处理的装置。
根据上述的本发明的实施例,以预定编码段为单位来设置的基带信号被以受到预定约束条件约束的方式并行编码,然后被接合为正确编码的流。
附图说明
当阅读了下列描述和所附附图之后,本发明的其他优点将变得清楚,在附图中:
图1是示出编辑设备的结构的框图;
图2是示出编辑设备的功能结构的功能框图;
图3是示出控制装置的功能结构的功能框图;
图4是CPU的处理步骤的流程图;
图5是另一个CPU的处理步骤的流程图;
图6是示出编辑设备的另一种功能结构的功能框图;
图7是说明第一方法的示意图;
图8是说明第一方法的另一个示意图;
图9是编码处理1的处理步骤的流程图;
图10是说明第二方法的示意图;
图11是说明第二方法的另一个示意图;
图12是说明第二方法的另一个示意图;
图13是说明第二方法的另一个示意图;
图14是说明第二方法的另一个示意图;
图15是说明第二方法的另一个示意图;
图16是编码处理2的处理步骤的流程图;
图17是段编码处理1的处理步骤的流程图;
图18是段编码处理1的进一步的处理步骤的流程图;
图19是段编码处理1的进一步的处理步骤的流程图;
图20是说明第二方法的另一个示意图;
图21是说明第二方法的另一个示意图;
图22是说明第二方法的另一个示意图;
图23是编码处理3的处理步骤的流程图;
图24是预编码处理的处理步骤的流程图;
图25是段编码处理2的处理步骤的流程图;
图26是段编码处理2的进一步的处理步骤的流程图;
图27是段编码处理2的进一步的处理步骤的流程图;
图28是示出个人计算机的结构的框图;
图29是说明本发明可应用于的另一个设备的结构的示意图;
图30是说明本发明可应用于的另一个设备的结构的示意图。
具体实施方式
现在将参考附图来描述本发明的优选实施例。图1是示出被实现为本发明一个实施例的编辑设备1的硬件结构的框图。
连接到北桥12的CPU(中央处理器)11例如从HDD(硬盘驱动器)16读取数据,并生成和输出用于控制CPU 20所执行的编辑处理的控制信号和命令。在CPU11的控制下,连接到PCI(外围组件互连/接口)总线14的北桥12例如从HDD 16接收数据,并将接收到的数据经由PCI总线14和PCI桥17转发到存储器18。北桥12还连接到存储器13,并与存储器13交换由CPU11进行的处理所需的数据。
存储器13存储用于CPU11执行其处理时的数据。南桥15控制HDD16的数据写入和读出。HDD 16存储未压缩的基带信号或编码数据。
PCI桥17控制存储器18的数据写入和读出、对解码器单元的编码流供给或对选择器23的未压缩数据供给,以及PCI总线14和控制总线19上的数据交换。在PCI桥17的控制下,存储器18存储从HDD 16取回的基带信号或编码数据和从编码器单元24提供的编码数据。
CPU 20根据经由北桥12、PCI总线14、PCI桥17和控制总线19从CPU11提供的控制信号和命令,来控制PCI桥17、解码器单元22、选择器23和编码器单元24所要执行的处理。存储器21存储CPU 20执行其处理时的数据。
解码器单元22包括多至“m”个解码器31-1至31-m。在CPU 20的控制下,解码器单元22对从PCI桥17提供的编码流进行解码,并将解码流转发到选择器23。解码器单元22中所包括的解码器31-1至31-m可以并行工作。
在以下描述中,“m”个解码器可被单独地称为#0解码器31-1、#1解码器31-2、#2解码器31-3...#m-1解码器31-m。在无需彼此区分解码器的情况下,解码器将被简单称为解码器31。
选择器23按照时间发生顺序将从PCI桥17或解码器单元22提供的未压缩的基带信号分割成各自具有预定长度的数据单元。分割的数据单元被提供给编码器单元24中所包括的多个编码器41-1至41-n。
由选择器23分割的数据单元被称为段,每段具有称为“Section_Length”的长度。选择器23向编码器单元24提供对与给定段相对应的数据进行编码所需的数据范围。基带信号中被提供给编码器单元24的那些段可以彼此之间互相独立或者可以彼此之间部分地重叠。
在CPU 20的控制下,包括编码器41-1至41-n的编码器单元24以受到预定约束条件的约束的方式,对从选择器23提供的未压缩基带信号进行编码,并将编码数据输出到PCI桥17。编码器41-1至41-n可以并行工作。并行工作的编码器41-1至41-n受到约束条件的约束,使得它们的处理将被正确地执行。关于约束条件的细节将被稍后描述。
作为总体的编码器单元24或者单独的编码器41-1至41-n可以是不被包括在编辑设备1中的独立单元。例如,如果编码器单元24被提供为独立单元,则编码器单元24将接收未压缩的视频信号的输入、通过稍后要讨论的处理对信号进行编码,并输出编码数据。
在以下描述中,“n”个编码器可被单独称为#0编码器41-1、#1编码器41-2、#2编码器41-3...#n-1编码器41-n。在无需彼此区分编码器的情况下,编码器将被简单地称为编码器41。
现在将描述编辑设备1如何工作。
HDD 16存储由利用开放GOP系统的长GOP压缩而压缩的流、内编码流(intra coded streams),以及未压缩的基带信号。CPU11通过操作输入单元(未示出)接收用户的操作输入、基于用户的操作输入来确定将被编码的数据,并确定是否随后对编码数据进行解码。
CPU11将要被处理的编码流或基带信号经由北桥12和PCI总线14发送到PCI桥17,并生成命令。如果存在解码或编码所需的参数,则CPU11将这些参数连同所生成的命令通过北桥12、PCI总线14、PCI桥17和控制总线19提供给CPU20。
CPU20控制PCI桥17,以将所提供的编码流或基带信号存储到存储器18中。如果被提供的数据是要根据所提供的命令而解码的编码流,则CPU20控制PCI桥17将编码流发送到解码器单元22。如果所提供的数据是将不被解码的基带信号,则CPU20控制PCI桥17将基带信号提供给选择器23。
解码器单元22中所包括的解码器31-1至31-m可以并行工作。如果一个流将被使用多个解码器31进行解码,则CPU20控制PCI桥17将编码流分割成多个段。如果流原来是通过基于长GOP压缩的开放GOP系统获取的编码流,则CPU20将流段连同参考图像帧发送到相应的解码器31供解码器用于其解码。
然后CPU20控制解码器单元22执行解码处理,并控制解码器单元22将通过解码获取的未压缩的基带信号提供给选择器23。在CPU20的控制下,解码器单元22中所包括的#0解码器31-1至#m-1解码器31-m将所提供的数据解码为未压缩的基带信号,该未压缩的基带信号被发送到选择器23。
根据来自CPU11的命令,CPU20控制选择器23将所提供的基带信号分割成多个段,并控制选择器23建立与并行工作的编码器41的数目一样多的段的组。基带信号中将被编码的段被提供给预定数目的编码器41,这些编码器构成编码器单元24的一部分并且被用于对这些段进行编码。在CPU20的控制下,选择器23将所提供的数据分割成各自具有预定长度的段,并建立与并行工作的编码器41的数目一样多的段的组。用于对每个段进行编码的基带信号被以这样一种方式发送到编码器41:使得与任何一个段组相对应的基带被编码器41之一同时编码。
根据来自CPU11的命令,CPU20使编码器单元24对相应的段进行编码,并使编码器单元24将编码流提供给PCI桥17。编码器单元24中所包括的编码器41-1至41-n中的部分或全部可以并行工作。编码器单元24的编码处理受到稍后要讨论的约束条件的约束,使得由并行工作的编码器41-1至41-n编码的流随后将被正确地接合。
在编码器单元24中所包括的编码器41-1至41-n中,被提供以基带信号的那些编码器在CPU20的控制下继续以受到预定约束条件的约束的方式对所提供的数据进行编码。约束条件和编码处理稍后将被更详细地讨论。独立编码器41将编码流发送到PCI桥17。
根据来自CPU11的命令,CPU20控制PCI桥17以由用户操作输入指定的次序,调节存储器18中用于存储编码流的地址,编码流与从编码器41提供的段的长度相对应。
更具体而言,存储器18中用于存储编码流的地址被以这样一种方式设置:使得其长度与通过编码由多个编码器41生成的段相对应的编码流被接合以重构段组。段组然后被接合在一起以重建未处理数据。有可能多个流或基带信号被指定为在例如由用户操作输入给定的编辑点处被接合。在这种情况下,根据来自CPU11的命令,存储器18中被存储的地址被设置为以这样一种方式存储有关段的长度:使得多个流或基带信号在编辑点处被接合。换言之,其长度与由编码器单元24编码的段相对应的编码流在存储器18中被接合。
CPU20通过控制总线19、PCI桥17、PCI总线14和北桥12来向CPU11通知基于所提供的命令的数据处理已经结束。然后,CPU11通过北桥12、PCI总线14和PCI桥17从存储器18读取接合后的编码流。取回的流经由北桥12和南桥15被存储在HDD 16上,或者通过接口被输出到外部设备(未示出)。
图2是说明图1的编辑设备1所具有的主要功能的功能框图。在图2中,具有包括在图1中的功能等同物的组件通过相似的标号来指示,并且其重复的描述被省略。
编辑设备1包括控制装置101、获取装置102、解码器单元22、选择器23、编码器单元24,以及存储/输出装置103。
控制装置101对应于CPU11和CPU20,并控制编辑设备1的组件。在控制装置101的控制下,获取装置102从HDD 16或存储器18获取要处理的数据。在所获取的数据中,需要被解码的数据被提供给解码器单元22,并且将不被解码的数据被提供给选择器23。获取装置102可以包括存储压缩编码流或未压缩基带信号的HDD 16或存储器18。或者,获取装置102可以包括PCI桥17,该PCI桥17从HDD 16或存储器18或者从连接到编辑设备1的另一个设备获取压缩编码流或未压缩的基带信号。
解码器单元22中所包括的多个解码器31将从获取装置102提供的压缩视频材料数据解码为未压缩的基带信号,该未压缩的基带信号被发送到选择器23。在控制装置101的控制下,选择器23将从解码器单元22或获取装置102提供的未压缩基带信号分割成段组。同一段组中所包括的段被同时发送到编码器单元24。
编码器单元24中所包括的多个编码器41在控制装置101的控制下以受到预定约束条件的约束方式,将从选择器23提供的未压缩的基带信号编码为段组。稍后将讨论这些约束条件的具体示例。
存储/输出装置103存储或者输出由编码器单元24生成的编码流。例如,存储/输出装置103可以包括HDD 16或存储器18。或者,获取装置102可以包括PCI桥17,该PCI桥17向HDD 16或存储器18或者连接到编辑设备1的另一个设备输出压缩编码流。
更具体而言,控制装置101具有图3所示的功能。
如图所示,控制装置101被定义为具有可由CPU11和CPU20实现的功能。CPU11包括操作输入获取单元131、解码和编码段确定单元132、流输出控制单元133,以及命令和控制信息输出单元134的功能。CPU20包括流获取控制单元151、命令和控制信息获取单元152、解码控制单元153、编码控制单元154,以及流接合控制单元155。
响应于用户的操作输入,操作输入获取单元131获取关于将被编码的数据的信息,例如,关于将被编码的输入数据是压缩编码流格式的还是未压缩基带信号格式的,以及多少GOP的数据将被编码的信息。所获取的信息被发送到解码和编码段确定单元132或者流输出控制单元133。
基于从操作输入获取单元131提供的信息,解码和编码段确定单元132对将被编码器单元24编码的数据段进行确定、确定将被编码的数据是否应当被随后解码,并对编码处理所需的参数和初始值作出决定。所确定的内容被提供给命令和控制信息输出单元134,并被提供给流输出控制单元133。
基于来自操作输入获取单元131和来自解码和编码段确定单元132的信息,流输出控制单元133控制获取装置102,在设为要被编码的段需要被解码时,将这些段的数据输出到解码器单元22。另一方面,流输出控制单元133控制获取装置102,在设为要被编码的段将不被解码时,将这些段的数据被输出到选择器23。根据来自操作输入获取单元131的信息,流输出控制单元133向流获取控制单元151提供被设计用于执行用户指定的包括流的编辑的处理的控制信号。
基于来自解码和编码段确定单元132的信息,命令和控制信息输出单元134向命令和控制信息获取单元152提供用于控制编码流处理的各种参数,这些处理包括编码、解码和接合。
根据来自流输出控制单元133的控制信号,流获取控制单元151控制获取装置102获取压缩编码流或未压缩基带信号,并控制获取装置102以保证那些被设为要被编码然后解码的数据段被输出到解码器单元22并且那些将不被解码的段被发送到选择器23。另外,流获取控制单元151按照时间发生顺序控制选择器23,以将未压缩的基带信号分割成各自具有预定长度的段并将分割的段提供给编码器单元24。
命令和控制信息获取单元152从命令和控制信息输出单元134获取流的解码和编码所需的各种参数。所获取的参数被提供给解码控制单元153和编码控制单元154。
解码控制单元153基于从命令和控制信息获取单元152提供的参数在解码处理中控制解码器单元22。
编码控制单元154根据来自命令和控制信息获取单元152的参数来控制编码器单元24,以按照受到预定约束条件约束的方式执行编码处理。
流接合控制单元155控制存储/输出装置103,以接合和输出已被编码器单元24编码的流。
虽然图3示出了将由CPU11和CPU20分别实现的功能,但是这并非限制本发明。这些功能也可以由单个CPU或者控制装置101中的三个或更多CPU来实现。
现在将参考图4的流程图来描述由CPU11执行的处理。
在步骤S1中,CPU11(操作输入获取单元131)从操作操作输入单元的用户(未示出)接收执行处理的指令。该处理例如可以涉及对存储在HDD 16中的基带信号进行编码、将存储在HDD 16中的内编码流转换为长GOP编码流,或者在预定编辑点处将存储在HDD 16中的编码流或基带信号接合。
在步骤S2中,CPU11(解码和编码段确定单元132)根据用户的操作输入来确定将被解码和编码的段。CPU11(命令和控制信息输出单元134)基于用户的操作输入生成用于执行处理的命令,并将所生成的命令通过北桥12、PCI总线14、PCI桥17和控制总线19输出到CPU 20。
在步骤S3中,CPU11(流输出控制单元133)控制将被处理的数据的输出。更具体而言,CPU11将将被处理的编码流或基带信号经由北桥12和PCI总线14输出到PCI桥17。
在步骤S4中,CPU11从CPU20接收基于所提供的命令的数据处理已经结束的通知。然后,CPU11经由北桥12、PCI总线14和PCI桥17从存储器18读取接合后的编码流。CPU11继续控制将处理后的数据存储在HDD 16上,并结束处理。
在上述步骤中,CPU11首先接收要执行处理的用户操作输入、基于用户输入生成执行处理的命令,并将该命令发送到CPU20。HDD 16中所存储的目标数据被提供给PCI桥17并且在CPU20的控制下被转换为编码流,该编码流然后被存储在HDD 16中。
现在将参考图5的流程图来描述由CPU20执行的处理。
在步骤S21中,CPU20(命令和控制信息获取单元152)通过北桥12、PCI总线14、PCI桥17和控制总线19从CPU11接收命令。CPU20(流获取控制单元151)控制PCI桥17以将所提供的编码流或基带信号存储到存储器18中。
在步骤S32中,CPU 20(命令和控制信息获取单元152)基于所提供的命令,确定将被处理的数据是否需要被解码。
如果在步骤S22中,将被处理的数据被确定为将被发送到解码器,则步骤继续进行到步骤S23。在步骤S23中,CPU20(流获取控制单元151)控制PCI 17将要被处理的数据(即编码流)提供给解码器单元22。然后CPU20(解码控制单元153)控制解码器单元22将编码流解码为未压缩的基带信号。未压缩的基带信号被发送到选择器23。步骤S23后面是步骤S25。
如果在步骤S22中,将被处理的数据未被确定为有必要被提供给解码器,则步骤转到S24。在步骤S24中,CPU20(流获取控制单元151)控制PCI桥将要被处理的数据(即基带信号)提供给选择器23。步骤S24后面是步骤S25。
在步骤S23或S24完成之后,CPU20(编码控制单元154)转到步骤S25,并基于来自CPU11的命令,将所提供的基带信号分割成与并行工作的编码器41的数目一样多的段的组。用于对每个段进行编码的基带信号被发送到编码器单元24中预定数目的编码器41。
在步骤S26中,CPU20(编码控制单元154)基于来自CPU11的命令,控制编码器单元24基于预定约束条件对相应段进行编码,并控制编码器单元24将相应编码流提供给PCI桥17。
在步骤S27中,根据来自CPU11的命令,CPU20(流接合控制单元155)控制PCI桥17按照用户操作输入所指定的次序调节存储器18中用于存储编码流的地址,使得与从编码器41提供的段的长度相对应的编码流在存储器18中将被正确地存储和接合。
在步骤S28中,CPU20通过控制总线19、PCI桥17、PCI总线14和北桥12,向CPU11通知基于所提供的命令的数据处理已经结束。处理然后结束。
在上述基于来自CPU11的命令的步骤中,CPU20控制PCI桥17、解码器单元22、选择器23和编码器单元24以执行其相应处理。这些处理例如可以涉及对存储在HDD 16中的基带信号进行编码、将存储在HDD 16中的内编码流转换为长GOP编码流,或者在预定编辑点处将存储在HDD16中的编码流或基带信号接合。
如上面所讨论的,编码器单元24包括多个编码器41。每个编码器41从选择器23接收未压缩的基带信号,并将所提供的基带信号编码为编码流,该编码流被发送到PCI桥17。被发送到PCI桥17的各自具有短长度的编码流被写入到存储器18中适当建立的地址中,以在CPU 20的控制下在存储器18中被接合。
在编码器单元24中,多个编码器41并行地对分割的数据段进行编码。从并行编码得到的逐段编码的流被写入到存储器18中合适的地址中用于接合。编码处理需要根据预定约束条件来执行,使得接合后的流在不同条件下在连续性上将保持一致。
例如提出了用于对编码处理施加约束条件的三种方法。第一种方法涉及以这样一种方式来约束编码处理:使得通过分割目标数据获取的段的起始GOP是闭合的GOP。第二种方法约束编码处理,使得目标数据被以不同于第一种方法的方式分割成段,其中段的起始GOP不是闭合的GOP。第三种方法涉及以这样一种方式来约束编码处理:使得通过分割目标数据获取的段的起始GOP不是闭合的GOP、目标数据被以与第二种方法相同的方式分割成段、将被发送到编码器41的数据的范围与第二种方法的不同、并且一部分目标数据被预先编码。
从选择器23提供到编码器单元24的未压缩基带信号可以是通过解码器单元22的解码而生成的未压缩基带信号,或者是从PCI桥17直接发送到选择器23的未压缩基带信号。就是说,至少具有图6所示组件的编辑设备1将实现用来执行编码处理的第一、第二和第三种方法。
在控制装置101的控制下,选择器23将从获取装置102提供的未压缩基带信号按照时间发生顺序分割成各自具有预定长度的段。用于对每个段进行编码的基带信号被提供给编码器单元24中所包括的多个编码器41-1至41-n。
在控制装置101的控制下,编码器单元24中所包括的那些从选择器23接收基带信号的编码器41-1至41-n以受到预定约束条件约束的方式,并行地对所提供的基带信号进行编码,如稍后将参考图7至图27所讨论的。并行编码的基带信号被输出到存储/输出装置103。
现在将参考图7至图9来描述根据第一方法对编码处理施加的约束条件。
首先参考图7来描述数据如何被分割和接合。图7示出了一个示例,其中输入数据的四个段被并行编码。
选择器23以这样一种方式将基带信号分割成多个段:使得每个段的长度(Section_Length)变成通过编码生成的每个GOP的长度(GOP_Length)的整数倍。例如,如果组成由编码器41生成的编码流的每个GOP的长度是15个帧(即最常使用的长度),则Section_length对应于15个帧的整数倍。
段组(Section_Group)是由通过编码器单元24并行编码的多个段形成的。如果四个段如图7所示被并行编码,则一个段组包括段0至3,另一个段组包括段4至7,等等。
#0编码器41-1至#3编码器41-4中的每一个编码器的基带信号输入是这样一种基带信号:其范围对应于适用于该编码器的段。对#0编码器41-1至#3编码器41-4的数据输入被从一个段改变为另一个段。更具体而言,如果“Num_Of_Encoder”表示并行工作的编码器的数目,则从材料数据的开头开始计数的与“Num_Of_Encoder”一样多的段(即组成单个段组的多个段)被同时输入到编码器41-1至41-4。
例如,如图7所示,段0、4、8...可被提供给#0编码器41-1;段1、5、9...可被提供给#1编码器41-2;段2、6、10...可被提供给#2编码器41-3;并且段3、7、11...可被提供给#3编码器41-4。可以采用向编码器馈送段的任何其他方式,只要组成相同段组的段被同时发送到相应的编码器41。例如,段0、7、8...可被提供给#0编码器41-1;段1、6、9...可被提供给#1编码器41-2;段2、5、10...可被提供给#2编码器41-3;并且段3、4、11...可被提供给#3编码器41-4。作为另一种替代,段0、5、11...可被提供给#0编码器41-1;段2、4、9...可被提供给#1编码器41-2;段1、7、10...可被提供给#2编码器41-3;并且段3、6、8...可被提供给#3编码器41-4。
在控制装置101(CPU 20)的控制下,#0编码器41-1至#3编码器41-4根据预定约束条件并行地对所提供的基带信号进行编码。编码流被输出到PCI桥17。
例如,假定段0、4、8...被提供给#0编码器41-1;段1、5、9...被提供给#1编码器41-2;段2、6、10...被提供给#2编码器41-3;并且段3、7、11...被提供给#3编码器41-4。在这种情况下,组成第一段组的输入数据的段0至3被分别提供给#0编码器41-1至#3编码器41-4,并分别由#0编码器41-1至#3编码器41-4编码;与段0至3相对应的编码流被输出到PCI桥17。组成第二段组的输入数据的段4至7然后被分别提供给#0编码器41-1至#3编码器41-4,并分别由#0编码器41-1至#3编码器41-4编码;与段4至7相对应的编码流也被输出到PCI桥17。
PCI桥17将从#0编码器41-1至#3编码器41-4提供的逐段编码流按照段的排列次序写入到存储器18中合适的地址中。
例如,假定段0、4、8...被提供给#0编码器41-1;段1、5、9...被提供给#1编码器41-2;段2、6、10...被提供给#2编码器41-3;并且段3、7、11...被提供给#3编码器41-4。在这种情况下,#0编码器41-1至#3编码器41-4首先对组成第一段组的段进行编码,并将编码段0至3经由PCI桥17提供给存储器18。在存储器18中,段0至3被写入到这样的地址中:使得段按照其段号的升序而被接合。然后#0编码器41-1至#3编码器41-4对组成第二段组的段进行编码,并将编码段4至7经由PCI桥17提供给存储器18。在存储器18中,段4至7被写入到这样的地址中:使得段也按照其段号的升序而被接合。以这种方式,如图7所示,组成每个段组的段被写入到存储器18中,并且在存储器18中按照段号的升序而被接合。
第一方法中的第一约束条件涉及确定数据段以使其边界与GOP的边界重叠,使得从单独编码的段得到的流在被接合在一起时组成一条连续的流,其中编码被这样执行:使得包括编码起点的起始GOP是闭合的GOP,每个编码器41在所述编码起点处开始其编码。
第一方法中的第二约束条件涉及将序列头(Sequence Header)加入到充当每个编码器41的编码起点的GOP的头部中。这允许了为每个段重新设置Q矩阵,使得所述段免受任何其他正被编码的段的影响。
第一方法中的第三约束条件涉及预先确定段的开头处的VBV缓冲占有量,即每个编码器41在给定段的编码起点处的VBV缓冲占有量,并且涉及以这样一种方式控制所生成的代码量:使得每个编码器41在给定段的编码起点处的VBV缓冲占有量变得等于下一段的编码起点处的VBV缓冲占有量。
就是说,编码处理被这样控制,使得如果“Occupancy_Start_x”表示“x”号段开头处的VBV缓冲占有量并且“Occupancy_End_x”表示号段结尾处的VBV缓冲占有量,则“Occupancy_End_x”将变得等于“Occupancy_Start_x+1”。在这种约束条件下,独立编码流在随后被接合在一起时在VBV缓冲占有量方面恢复其连续性。
例如,如图8所示,由标号“a”指示的“Occupancy_Start_Sec0”被预先确定为最终接合的编码流的开头处的VBV缓冲占有量。在段0、1、2和3分别被#0编码器41-1、#1编码器41-2、#2编码器41-3和#3编码器41-4编码之前,分别由标号“c”、“e”和“g”指示的“Occupancy_Start_Sec 1”、“Occupancy_Start_Sec 2”和“Occupancy_Start_Sec 3”被确定。如何确定每个段的开头处的占有量是自由决定的。例如,如果编码的难度对于每个段是已知的,则占有量的值可以根据难度来确定。如果编码的难度是未知的,则“Occupancy_Start_Sec 1”、“Occupancy_Start_Sec 2”和“Occupancy_Start_Sec 3”可以都被给予与起点处的“Occupancy_Start_Sec 0”的值相同的值。
然后,假定VBV缓冲占有量的初始值被设为标号“a”所指示的“Occupancy_Start_Sec 0”并且由标号“b”指示的终点处的VBV缓冲量的值等于作为下一段的开头处的VBV缓冲占有量的初始值的“Occupancy_Start_Sec 1”,#0编码器41-1对段0进行编码。假定VBV缓冲占有量的初始值被设为标号“c”所指示的“Occupancy_Start_Sec 1”并且由标号“d”指示的终点处的VBV缓冲量的值等于作为下一段的开头处的VBV缓冲占有量的初始值的“Occupancy_Start_Sec 2”,#1编码器41-2对段1进行编码。
类似地,假定VBV缓冲占有量的初始值被设为标号“e”所指示的“Occupancy_Start_Sec 2”并且由标号“f”指示的终点处的VBV缓冲量的值等于作为下一段的开头处的VBV缓冲占有量的初始值的“Occupancy_Start_Sec 3”,#2编码器41-3对段2进行编码。假定VBV缓冲占有量的初始值被设为标号“g”所指示的“Occupancy_Start_Sec 3”#3,编码器41-4对段3进行编码。在编码处理的结尾,由标号“h”指示的表示终点处的VBV缓冲量的值的“Occupancy_Start_Sec 4”变成下一段组中的起始段的开头处的VBV缓冲占有量的初始值。就是说,在对下一段组进行编码时,#0编码器41-1假定VBV缓冲占有量的初始值被设为“Occupancy_Start_Sec 4”而对段4进行编码。
从如上所述的编码处理得到的编码流在CPU20的控制下在存储器18中被接合。
只要所生成的代码量被以上面讨论的方式控制,编码流在随后被接合在一起时在VBV缓冲占有量方面恢复其连续性。编码流因此符合MPEG标准。
下面参考图9的流程图来描述与上述第一方法相对应的称为编码处理1的编码处理的第一示例。
在步骤S41中,流获取控制单元151确定编码器单元24中所包括的编码器41中的用于并行编码的编码器41的数目。流获取控制单元151然后确定在哪里分割将被输入到编码器41的数据,即确定上面参考图7描述的段和段组。
在步骤S42中,流获取控制单元151获取与所使用的编码器41的数目一样多的输入数据的段,所获取的数据组成一个段组。
在步骤S43中,编码控制单元154确定将以如下方式被编码的输入数据的图像类型:使得段的边界与GOP的边界重叠。
在步骤S44中,流获取控制单元151确定每个段数据所输入到的编码器41。
在步骤S45中,如上面参考图8所述,如果将被处理的段组位于将被处理的数据的开头,则编码控制单元154建立预定值,作为组中的起始段的起点处的VBV缓冲占有量的值。如果将被处理的段组不在将被处理的数据的开头处,则编码控制单元154使组中的起始段的起点处的VBV缓冲占有量继承前一段组中的结尾段的终点处的VBV缓冲占有量的值,并且合适地确定组中的除起始段之外的每个段的起点处的VBV缓冲占有量的值。
用于确定给定组中除起始段之外的每个段的开头处的占有量的方式是自由选择的。例如,如果针对段进行编码的难度是已知的,则占有量的值可以根据难度来确定。如果编码的难度是未知的,则“Occupancy_Start_Sec 1”、“Occupancy_Start_Sec 2”和“Occupancy_Start_Sec 3”可以都被给予与起点处的“Occupancy_Start_Sec 0”相同的值。
在步骤S46中,如上面参考图8讨论的,编码控制单元154把将被处理的段组中除结尾段之外的段的VBV缓冲占有量的最后的值确定为下一段的起点处的VBV缓冲占有量的值。
在步骤S47中,流获取控制单元151控制选择器23把将被并行编码的数据提供给编码器单元24中与该数据相对应的编码器41。编码控制单元1 54单独地控制编码器单元24中的相应编码器41,以在符合上述第一方法的三个约束条件的情况下对所提供的段进行编码。
就是说,在符合第一约束条件的情况下,段被确定为使它们的边界与GOP的边界重叠,使得从单独编码的段得到的流在被接合在一起时组成一条连续的流,编码被这样执行:使得包含每个编码器41的编码起点的GOP是闭合的GOP。根据第二约束条件,在序列头被加入到充当每个编码器41的编码起点的GOP的头部的情况下,编码处理被执行。根据第三约束条件,通过预先确定段的开头处的VBV缓冲占有量(即每个编码器41在给定段的编码起点处的VBV缓冲占有量),并通过以这样一种方式控制所生成的代码量:使得每个编码器41在给定段的编码终点处的VBV缓冲占有量变得等于下一段的编码起点处的VBV缓冲占有量,编码处理被执行。
在步骤S48中,编码控制单元154临时存储刚编码的段组中的结尾段的VBV占有量的最后的值,以用于下一编码处理。
在步骤S49中,流接合控制单元155以这样一种方式控制存储器18中用于写入从编码器单元至PCI桥17发送的编码流的地址,以接合具有与并行工作的编码器一样多的段的编码器输出数据,即接合以下编码流,这些编码流的长度与有关段相对应。
在步骤S50中,编码控制单元154进行检查,以确定编码处理是否准备结束。如果未发现编码处理准备结束,则控制返回到步骤S41并且后续步骤被重复。如果在步骤S50中发现编码处理准备结束,则编码处理1被结束。
当上述步骤被执行时,预测关系被从段之间除去,并且每个段的Q矩阵被重设,使得所述段免受正被编码的任何其他段的影响。在VBV缓冲占有量被从一个段继承到另一个段的情况下,由多个编码器41并行编码得到的编码流可以在存储器18中被接合为一个连续编码的流。
当多个编码器41被并行用于对数据段进行编码时,这些编码器可以代替用于高速处理的昂贵编码器。编码器41在执行对长GOP结构的高速编码处理时联合起来提供远超其单独能力的吞吐量。
现在将参考图10至图19来描述第二方法。
虽然第一方法被示出为涉及在给定数据单元的起始GOP被处理为闭合GOP的情况下执行编码处理,但是第二方法不施加闭合GOP约束条件。在第二方法中,以受到其他约束条件约束的方式来执行编码处理。
下面参考图10至图12说明在考虑到从参考图像角度,不受闭合GOP约束条件约束的段如何与实际输入到相应编码器41的数据相联系的情况下,第二方法如何产生。以下说明将涉及下述设置,该设置虽然可导致产生第二方法,但是最终不应用于第二方法。
在图10中,第一方法下的段各自由“Section_closed”表示。现在假定选择器23以与第一方法下相同的方式将基带信号分割成多个段,使得这些段的“Section_length”变成由编码处理生成的每个GOP的长度(GOP_Length)的整数倍。在这种情况下,如果闭合GOP约束条件未被施加,则编码处理将需要前一GOP的P图像来作为当前GOP的开头处的两个B图像的参考图像。因此,除整个编码处理的起始段之外(即除没有前一帧的段0之外),每个“Section_closed”在被发送到相应编码器41时被提供以前一段的最后一个图像。在图10中,将被提供给相应编码器的数据段各自由“Section_x_input”表示。如图10中的标记重叠1、2、3和4所示,与每个段相对应的“Section_x_input”和与每个紧接在前和在后的段相对应的“Section_x_input”重叠一个图像。
编码处理从而以这样一种方式执行:使得段是参考GOP的边界来确定的、被提供给每个编码器41的数据的起点在前一段中的GOP的最后一个图像之前出现,并且被提供给每个编码器41的数据的终点与当前段中的GOP的终点重叠。在这种情况下,以与“Section_closed”中充当用于确定“Section_x_input”的参考的GOP的图像类型相同的方式来确定段的图像类型。
因此按照编码次序,在前GOP中的作为用于对第一I图像之后的两个B图像进行编码的参考图像的P图像总是被发送到编码器41。每个“Section_x_input”的第一P图像被唯一地用作每个编码器41的参考图像;编码后的“Section_x_input”的第一P图像不被输出。
下面参考图11至图12描述四个段例如被如上所述分割之后如何被并行编码。在图11中,两个段块(即段0至7)被示出为将被输入到#0编码器41-1至#3编码器41-4的数据(每个是“Section_x_input”)。如上面说明,每个“Section_x_input”的第一P图像被用作相应编码器的参考图像;每个编码后的“Section_x_input”的第一P图像不被输出。在图11中,每个将被输出的段由“Section_open x”表示,其与图10中的“Section_closed”相同。
这里假定每个段所输入到的编码器41是以与第一方法下相同的方式来确定的。还假定第一方法下的第二和第三约束条件被类似地施加。
除段0之外的段1至7在每个段的开头处具有开放GOP。因此,每个段的开头处的两个B图像是参考当前段之外的图像(即参考该段之前的P图像)来编码的。在除段0之外的段1至段7中的每一个段中,未被包括在“Section_open x”中的第一P图像被唯一地用作用于对下一GOP的头两个B图像进行编码的参考图像。
图10中各自由“Section_x_input”指示的段被按照显示次序输入到#0编码器41-1至#3编码器41-4。输入端然后在其被编码之前被重新排列为编码次序。
如图12所示,在#1编码器41-2编码的段的开头处由标号α指示的头两个B图像是参考以下两个图像来编码的:上一段的最后GOP中的由标号β指示的最后的P图像,和当前GOP中的由标号γ指示的第一I图像。然而,在段的开头处的由标号α指示的两个B图像被编码时,由标号β指示的P图像尚待由#0编码器41-1编码。因此与由标号β指示的P图像相同的由标号β’指示的P图像被提供给#1编码器41-2,以用作参考图像。
尽管如此,在连续数据在传统上由单个编码器编码并且图12中的标号β所指示的P图像将被用作参考图像的情况下,实际使用的图像是曾被编码然后被解码的图像。换言之,如果段的开头处由标号α指示的两个B图像不被分割成多个段,则它们被使用从在编码器内再次解码的编码P图像得到的失真图像来编码。被编码然后因参考目的而在编码器中被解码的图像被称为本地解码图像。
类似的,由图12中的标号β’指示的P图像将被用作参考图像,即通过一次编码然后对合适的图像进行解码而获取的本地解码图像。在希望使同一本地解码图像同时被标号β所指示的P图像和标号β’所指示的P图像用作参考图像的情况下,编码处理需要在相同的编码条件下进行。为了在相同的条件下对每个P图像(图像类型)进行编码,有必要在与适用于#0编码器41-1的那些条件相同的条件下使用#1编码器41-2对在前I图像和在后P图像进行编码。在这种情况下,及其难于对两个编码器之间的编码条件进行匹配。这些方案如果被采用,则效率会及其低下。
也可以试图通过把由标号β’指示的P图像看作I图像来影响编码处理。但是,这将会产生不同的本地解码图像,这种本地解码图像很有可能会在解码时引起图像质量的劣化。
如上所述,将数据以这样一种方式分割成多个段:使得将作为解码器的参考图像从一个段传送到另一个段的图像是P图像,这是一种极易使图像质量劣化的效率低且不合适的方法。根据另一种方法,数据可被以这样一种方式分割成多个段:使得作为编码器41的参考图像而被从一个段发送到另一个段的图像是I图像。
I图像是使用关于其本身的信息而不参考任何其他图像来编码的图像。如果相同的编码器被使用,则所有I图像的编码算法被认为是相同的。因此如果初始参数相同,则编码处理的结果被预测为是相同的。在第二方法下,每个作为解码器的参考图像而被从一个段发送到另一个段的图像被设置为I图像。用于对图像进行编码的初始参数被控制为相同,由此对于有关的不同编码器,本地解码图像被保持相同。
下面参考图13描述了根据第二方法数据在哪里被分割成多个段,以及将被输入到编码器41的图像。
在图13中,根据第一方法的段各自由“Section_closed”来表示。在第二方法下,选择器23以这样一种方式来确定在哪里将数据分割成多个段:使得分割的段的边界从第一方法下的段“Section_closed”的边界暂时后移了间隔M(对于一般的15图像MPEG长GOP结构,M=3),该间隔M在GOP中使I图像与下一I图像分离或者使P图像与下一P图像分离。整个编码处理的起始段(即没有在前帧的段0)被以与段“Section_closed”相同的图像结构来编码,最后一个段单独被后移了间隔M。在图13中,根据第二方法而分割的段各自由“Section_open x”来表示。
根据第二方法,段与图像类型之间的关系被这样建立:使得第二方法下的段“Section_open”之间的边界各自在每个GOP的第一BBI与在后的两个B图像之间出现。
为了对给定段的第一不完全GOP(即减去第一BBI)中的图像进行编码,需要利用前一段中的最后一个I图像作为参考图像。因此,除整个编码处理的起始段之外(即除没有前一帧的段0之外),每个段“Section_open x”在被发送到编码器41时都被提供以前一段的最后一个图像(即I图像)作为参考图像。在图13中,被提供给每个编码器的数据部分由“Section_x_input”来表示。如图13中的标记重叠1、2、3和4所示,与每个段相对应的“Section_x_input”和与每个紧接在前和在后的段相对应的“Section_x_input”重叠一个图像。
每个段组被设为具有与所使用的编码器41的数目一样多的段。表示每个段“Section_x_input”的基带信号的范围被提供给可适用的编码器41,使得组成每个段组的段被并行编码。用于确定表示每个段“Section_x_input”的基带信号的范围和确定该基带信号范围所去往的可适用编码器41的方法与第一方法下是相同的。
根据第二方法,如上所述,以相对于GOP的边界后移间隔M的方式来确定段。被提供给编码器41的数据的起点被设置为在前一段的最后一个图像之前出现,并且被提供给编码器41的数据的终点被设为与当前段的终点重叠。
因此按照编码次序,前一段中的作为用于对段的头两个B图像进行编码的参考图像的I图像总被发送到编码器41。每个“Section_x_input”的首个I图像被唯一用作每个编码器41的参考图像;编码后的“Section_x_input”的首个I图像不被输出。
下面参考图14和图15描述例如四个段根据第二实施例是如何被并行编码的。
在图14中,两个段块(即段0至7)被示出为将被输入到#0编码器41-1至3#编码器41-4的数据(每个是“Section_x_input”)。如上面说明,段1到7(“Section_x_input”)中的每一个段的首个I图像被用作相应编码器的参考图像;每个编码后的“Section_x_input”的首个I图像不被输出。图14中的段“Section_open x”被输出。
在段1至7中的每一个段中(除段0之外),头两个B图像参考当前段之外的图像(即参考该段之前的I图像)来编码。在段1至7中的每一个中(除段0之外),未被包括在“Section_open x”中的首个I图像被唯一地用作用于对段的头两个B图像进行编码的参考图像。
图13中的各自由“Section_x_input”指示的段按照显示次序被输入到#0编码器41-1至#3编码器41-4。输入的段然后在其被编码之前被重新设置为编码次序。
例如,由#1编码器41-2编码的段的头两个B图像是参考前一段中的最后一个I图像和同一段中的第一P图像来编码的。然而,在段的头两个B图像被编码时,最后一个I图像尚待由#0编码器41-1编码。因此与去往#0编码器41-1的段中的最后一个I图像相同的I图像被提供给#1编码器41-2,以用作参考图像,如图15所示。
上述的是一种开放结构,其中作为将被编码的图像单元的段的边界参考了其他段中的图像。每个段“Section_x_input”中的首个图像被编码为I图像,然后被变成本地解码图像,该本地解码图像被用作用于对相应段的基带信号进行编码的参考图像。用于对作为参考图像的I图像进行编码的条件被正好设置为与用于对前一段的I图像进行编码的条件相匹配。显然,用于对每个段组的起始段中的参考图像进行编码的条件是从用于对前一段组的最后一个段中的相同图像进行编码的条件继承而来的。除参考图像之外的图像的编码条件被照常确定。
在#0编码器41-1至#n-1编码器41-n是功能上相同的编码器的情况下,它们使用相同的算法来执行其编码处理。在这种情况下,初始参数被预先确定,以用于对两个I图像进行编码。例如,如果速率控制被实现为使用TM5的“步骤2”来确定屏幕内的Q比例,则被分配给图像的位和第一宏块的Q比例可被保持相同。这保证了相同的编码结果。
实践中,段1至7被以这样一种方式编码:使得I图像的本地解码图像被首先生成为用于对段中的第一P图像进行编码的参考图像,同时随后的两个B图像是使用I图像和P图像来编码的。
在上述设置就绪的情况下,之间具有预测关系的段可以被多个编码器41并行编码。编码处理被执行,而无需执行用于准备参考图像的复杂处理或生成使图像质量劣化的本地解码图像。
根据第二方法,如上所述,编码处理受到另外三个约束条件的约束,即第四、第五和第六约束条件。第四约束条件涉及以这样一种方式确定在哪里将数据分割成多个段:使得分割的段的边界从第一方法下的“Section_closed”段的边界临时后移了间隔M(对于一般的15图像MPEG长GOP结构,M=3),该间隔M在GOP中将I图像与下一I图像分离,或者将P图像与下一P图像分离。第五约束条件涉及以这样一种方式执行编码处理:使得除整个编码处理的起始段之外(即除没有前一帧的段0之外),每个段“Section_open x”在被发送到编码器41时都被提供以前一段的最后一个图像(即I图像)作为参考图像。第六约束条件涉及控制用于对作为参考图像的I图像进行编码的条件,使得正好与用于对前一段中的相同I图像进行编码的条件相匹配。
在第二方法下,以与第一方法下的相同方式来确定将每个段提供给哪个编码器41。
另外,根据第二方法,第三约束条件和与第一方法下的第二约束条件基本上类似的约束条件也被施加于编码处理。
就是说,如上面参考图8所讨论的,编码处理被以这样一种方式控制:使得与给定编码器41相对应的每个段中的编码起点(即段的开头处的P图像的VBV缓冲占有量)被预先确定,并且与给定编码器41相对应的每个段中的编码终点处的VBV缓冲占有量变为等于下一段中的编码起点处的VBV缓冲占有量。换言之,后一条件就是说如果x号段的起始VBV缓冲占有量由“Occupancy_Start_x”表示并且如果x号段的结尾VBV缓冲占有量由“Occupancy_End_x”表示,则“Occupancy_End_x”被使得等于“Occupancy_Start_x+1”。于是,独立编码的流在随后被接合在一起时可以在VBV缓冲占有量方面恢复其连续性。
量化矩阵(Quant Matrix)扩展被加入到每个段的开头中,即被加入到位于由编码器41生成的每个编码流的头部的P图像中。鉴于序列头被加入到第一方法下的I图像中以便为每个段重置Q矩阵,第二方法涉及将量化矩阵扩展加入到每个段的开头中,以便针对每段重置Q矩阵。在Q矩阵针对每段而被重置的情况下,每个段免受正被编码的任何其他段的影响。
从编码处理得到的编码流在CPU 20的控制下在存储器18中被接合在一起。
下面参考图16的流程图来描述的是与上述第二方法相对应的称为编码处理2的编码处理的第二示例。
在步骤S81中,流获取控制单元151确定编码器单元24中所包括的编码器中用于并行编码的编码器41的数目。流获取控制单元151然后确定在哪里把将被输入到编码器41的数据分割,即确定上面参考图13至15描述的段和段组。
在步骤S82中,流获取控制单元151获取与使用中的编码器41的数目一样多的输入数据段。
在步骤S83中,编码控制单元154确定将被编码的输入数据的图像类型,使得段的边界从GOP的边界临时后移间隔M(例如,在一般的15图像长GOP结构中,每个边界位于每个GOP的第一BBI与随后的两个B图像之间),该间隔M在GOP中将I图像与下一I图像分离,或者将P图像与下一P图像分离。
在步骤S84中,流获取控制单元确定将每个数据段输入到哪个编码器41。
在步骤S85中,编码控制单元154使得用于对与每个段的开头处的I图像输入相对应的参考图像进行编码的条件继承用于对前一段中的相同图像进行编码的条件,并正常地确定其他段的编码条件。显然,用于对给定段组的起始段的参考图像进行编码的条件是从用于对前一段组的结尾段中的相同图像进行编码的条件继承而来的。
在步骤S86中,如上面参考图8描述,如果将被处理的段组位于将被处理的数据的开头处,则编码控制单元154建立预定值作为组中的起始段的起点处的VBV缓冲占有量的值。如果将被处理的段组不在将被处理的数据的开头处,则编码控制单元154使组中的起始段的起点处的VBV缓冲量继承前一段组中的结尾段的终点处的VBV缓冲占有量的值,并且合适地确定组中除起始段之外的每个段的起点处的VBV缓冲占有量的值。
在步骤S87中,如上面参考图8所讨论,编码控制单元154把将被处理的段组中除结尾段之外的每个段的VBV缓冲占有量的最后一个值确定为下一段的起点处的VBV缓冲占有量的值。
在步骤S88中,稍后将参考图17至图19来讨论的段编码处理1被执行。
在步骤S89中,编码控制单元154临时存储刚编码的段组中的结尾段的VBV占有量的最后一个值,以用于对下一段组进行编码。
在步骤S90中,编码控制单元154临时存储用于对刚编码的段组中的结尾段中的I图像进行编码的条件,以用于对下一段组进行编码。
在步骤S91中,流接合控制单元155以这样一种方式控制存储器18中的从编码器单元24到PCI桥17发送的编码流所写入到的地址,以接合由与并行工作的编码器的数目一样多的段组成的编码器输出数据,即接合所具有的长度与有关段相对应的编码流。
在步骤S92中,编码控制单元154进行检查,以确定编码处理是否准备结束。如果未发现编码处理准备结束,则控制被返回到步骤S81并且后续步骤被重复。如果在步骤S92中发现编码处理准备结束,则编码处理2被结束。
当上述步骤被执行时,即使段之间仍然存在预测关系,I图像也可以被准备作为参考图像,而不会引起图像质量的劣化。Q矩阵被针对每段而重置,使得每个段都免受正被编码的任何其他段的影响。在VBV缓冲占有量被从一个段传递到另一个段的情况下,由多个编码器41并行产生的编码流随后以这样一种方式在存储器18中被接合在一起:使得保持其一致性。
如上所述,多个编码器41被设置为并行工作,以在长GOP结构中高速执行其编码处理。
在第二方法下,给定段的起始GOP被设置为不是闭合GOP而是开放GOP。这使得可以比第一方法更好地在编码期间防止图像质量劣化。
下面参考图17至图19的流程图描述的是在图16的步骤S88中执行的段编码处理1。
段编码处理1是由编码控制单元154执行的,该编码控制单元154单独地控制有关的多个编码器41。
在步骤S121中,编码控制单元154进行检查,以确定将被给定编码器41编码的给定图像是否为起始段中的图像。如果在步骤S121中发现所关注的图像是起始段中的图像,则处理继续进行到稍后将要讨论的步骤S147。
如果在步骤S121中,未发现所关注的图像是起始段中的图像,则转到步骤S122。在步骤S122中,编码控制单元154进行检查,以确定所关注的图像是否为段组的结尾段中的图像。如果在步骤S122中发现所关注的图像是段组的结尾段中的图像,则处理继续进行到稍后要描述的步骤S137。
如果在步骤S 122中未发现所关注的图像是段组的结尾段中的图像,则转到步骤S123。在步骤S123中,编码控制单元154进行检查,以确定所关注的图像是否为第一个被提供的图像。
如果在步骤S123中发现所关注的图像是第一个被提供的图像(即来自段外的用于参考目的的I图像),则转到步骤S124。在步骤S124中,来自段外的作为第一个被提供的图像的I图像被编码作为参考图像。控制然后被传递到稍后要描述的步骤S136。
如果在步骤S123中,未发现所关注的图像是第一个被提供的图像,即,如果发现所关注的图像是段中所包括的图像,则转到步骤S125。在步骤S125中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为第二个被提供的图像(即在段头部的P图像)。如果在步骤S125中未发现所关注的图像是第二个被提供的图像(即不是在段头部的P图像),则处理继续进行到稍后要讨论的步骤S128。
如果在步骤S125中发现所关注的图像是充当位于段头部的P图像的第二个被提供的图像,则转到步骤S126。在步骤S126中,编码控制单元154将量化矩阵扩展附加于位于由相应编码器41生成的编码流的头部的P图像。这样针对每段而重置Q矩阵,使得每个段都免受正被编码的任何其他段的影响。
在步骤S127中,编码控制单元154将每个编码器41在每个段中的编码起点处的VBV缓冲占有量(即位于由相应编码器41生成的编码流头部的P图像的VBV缓冲占有量)设为预定值。步骤S127后接步骤S130。
如何确定给定段组中除起始段之外的每个段的开头处的占有量是自由决定的。如果对每个段进行编码的难度是已知的,则可以根据难度来确定占有量的值。如果难度是未知的,则“Occupancy_Start_Sec 1”、“Occupancy_Start_Sec 2”和“Occupancy_Start_Sec 3”可以都被给予与段的起点处的“Occupancy_Start_Sec 0”的值相同的值。
如果在步骤S125中,未发现所关注的图像是第二个被提供的图像(即不是位于段头部的P图像),则转到步骤S128。在步骤S128中,编码控制单元154基于MPEG标准,根据需要,将量化矩阵扩展附加于所关注的图像。
在步骤S129中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为位于作为段中的第二图像的P图像之前的B图像。如果在步骤S129中未发现所关注的图像是位于作为段中的第二图像的P图像之前的B图像,则处理继续进行到稍后要描述的步骤S131。
在步骤S127被执行之后,或者如果在步骤S129中发现所关注的图像是位于作为段中的第二图像的P图像之前的B图像,即,如果发现将被给定编码器41编码的图像是位于段头部的PBB图像之一,则步骤转到步骤S130。在步骤S130中,编码控制单元154使用初始输入的I图像作为用于对所关注的图像进行编码的参考图像。步骤S130后接稍后要讨论的步骤S133。
如果在步骤S129中未发现所关注的图像是位于作为段中的第二图像的P图像之前的B图像,则转到步骤S131。在步骤S131中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为段中的最后一个P图像。如果在步骤S131中发现所关注的图像是段中的最后一个P图像,则处理继续进行到稍后要讨论的步骤S135。
如果在步骤S131中未发现所关注的图像是段中的最后一个P图像,则转到步骤S132。在步骤S132中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为段中的最后一个I图像。如果在步骤S132中发现所关注的图像是段中的最后一个I图像,则处理继续进行到稍后要描述的步骤S134。
在步骤S130被执行之后,或者如果在步骤S132中未发现所关注的图像是段中的最后一个I图像,则处理继续进行到步骤S133。在步骤S133中,如上面参考图8描述,编码控制单元154执行编码处理,同时以这样一种方式执行速率控制:使有效的缓冲占有量接近于在段的结尾处指定的VBV缓冲占有量的最后一个值。步骤S133后接稍后要描述的步骤S136。
如果在步骤S132中发现所关注的图像是段中的最后一个I图像,则转到步骤S134。在步骤S134中,编码控制单元154在与作为参考图像被另一个编码器41并行编码的对应I图像相同的固定条件下对I图像进行编码。步骤S134后接稍后要讨论的步骤S136。
如果在步骤S131中发现所关注的图像是段中的最后一个P图像,则转到步骤S135。在步骤S135中,如上面参考图8所描述,编码控制单元154执行编码处理,同时以这样一种方式执行速率控制:使有效的缓冲占有量与在段的结尾处指定的VBV缓冲占有量的最后一个值相匹配。
在完成步骤S124、S133、S134或S135之后,在步骤S136中,编码控制单元进行检查以确定对所关注的段的编码处理是否已经结束。如果在步骤S136中未发现对该段的编码处理已经结束,则控制被返回到步骤S123并且后续步骤被重复。如果在步骤S136中发现对所关注的段的编码处理已经结束,则控制被返回到图16中的步骤S88和步骤S89。
如果在步骤S122中发现所关注的图像是段组的结尾段中的图像,则处理继续进行到图18中的步骤S137。然后按照与上面描述的步骤S123至S128基本上类似的方式来执行图18中的步骤S137至S142。
更具体而言,如果发现将被给定编码器41编码的图像是第一个被提供的图像,即,如果发现感兴趣的图像是来自段外的用于参考目的的I图像,则编码控制单元154对作为参考图像的第一个被提供的图像进行编码。如果未发现所关注的图像是第一个被提供的图像,即如果发现该图像是段中所包括的图像,则编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为第二个被提供的图像(即位于段头部的P图像)。
如果未发现所关注的图像是第二个被提供的图像(即位于段头部的P图像),则编码控制单元154将量化矩阵扩展加入到位于由相应编码器41通过编码生成的编码流头部的P图像中。这样针对于每段而重置Q矩阵,使得每个段都免受正被编码的任何其他段的影响。编码控制单元154然后把每个编码器41在每个段中的编码起点处的VBV缓冲占有量(即位于由相应编码器41生成的编码流头部的P图像的VBV缓冲占有量)设为预定值。
如果未发现所关注的图像是第二个被提供的图像(即不是位于段头部的P图像),则编码控制单元154基于MPEG标准,根据需要,将量化矩阵扩展附加于所关注的图像。
在步骤S143中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为位于作为段中的第二图像的P图像之前的B图像。如果在步骤S143中未发现所关注的图像是位于作为段中的第二图像的P图像之前的B图像,则处理继续进行到稍后要描述的步骤S145。
在步骤S141被执行之后,或者如果在步骤S143中发现所关注的图像是位于作为段中的第二图像的P图像之前的B图像,即,如果发现将被给定编码器41编码的图像是位于段头部的PBB图像之一,则处理继续进行到步骤S144。在步骤S144中,编码控制单元154使用第一个被输入的I图像作为用于对所关注的图像进行编码的参考图像。
在步骤S144被执行之后,或者如果在步骤S143中未发现所关注的图像是位于作为段中的第二图像的P图像之前的B图像,则处理继续进行到步骤S145。在步骤S145中,编码控制单元154在正常速率控制下执行编码处理。
在步骤S138或S145完成之后,在步骤S146中,编码控制单元154进行检查以确定对所关注的段的编码处理是否已经结束。如果在步骤S146中未发现对感兴趣的段的编码处理已经结束,则控制被返回到步骤S137并且后续步骤被重复。如果在步骤S146中发现对所关注的段的编码处理已经结束,则控制被返回到图16中的步骤S88,并继续进行到步骤S89。
如果在步骤S121中发现所关注的图像是起始段中的图像,则转到图19中的步骤S147。在步骤S147中,编码控制单元154进行检查以确定所关注的图像是否为第一个被提供的图像。如果在步骤S147中未发现所关注的图像是第一个被提供的图像,则处理继续进行到稍后要讨论的步骤S149。
如果在步骤S147中发现所关注的图像是第一个被提供的图像(即起始段中的起始图像),则转到步骤S148。在步骤S148中,编码控制单元154将起始段中的编码起点处的VBV缓冲占有量设为预定值。步骤S148后接稍后要描述的步骤S153。
如果在步骤S147中未发现所关注的图像是第一个被提供的图像,则转到步骤S149。在步骤S149中,编码控制单元154进行检查以确定所关注的图像是否为段中的最后一个图像。
如果在步骤S149中发现感兴趣的图像是段中的最后一个图像,则转到步骤S150。在步骤S150中,如上面参考图8描述,编码控制单元154执行编码处理,同时以这样一种方式执行速率控制:使有效的缓冲占有量与在段的结尾处指定的VBV缓冲占有量的最后一个值相匹配。步骤S149后接稍后要讨论的步骤S154。
如果在步骤S149中未发现感兴趣的图像是段中的最后一个图像,则转到步骤S151。在步骤S151中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为段中的最后一个I图像。如果在步骤S151中未发现所关注的图像是段中的最后一个I图像,则处理继续进行到稍后要描述的步骤S153。
如果在步骤S151中发现所关注的图像是段中的最后一个I图像,则转到步骤S152。在步骤S152中,编码控制单元154在与由另一个编码器41并行编码的作为参考图像的相应I图像相同的固定条件下对I图像进行编码。步骤S152后接稍后要描述的步骤S154。
在步骤S148被执行之后,或者如果在步骤S151中未发现所关注的图像是段中的最后一个I图像,则处理继续进行到步骤S153。在步骤S153中,如上面参考图8描述,编码控制单元154执行编码处理,同时以这样一种方式执行速率控制:使有效的缓冲占有量接近于在段的结尾处指定的VBV缓冲占有量。
在步骤S150、S152或S153完成之后,在步骤S154中,编码控制单元154进行检查以确定对所关注的段的编码处理是否已经结束。如果在步骤S154中未发现对感兴趣的段的编码处理已经结束,则控制被返回到步骤S147并且后续步骤被重复。如果在步骤S154中发现对所关注的段的编码处理已经结束,则控制被返回到图16中的步骤S88,以及步骤S89。
当上述步骤被执行时,有关的段被根据受到预定约束条件约束的第二方法来编码。多个由相应编码器41单独编码的流随后在存储器18中被接合为一个连续的流。每个段组中所包括的多个段被多个编码器41并行地单独编码,由此对长GOP结构的压缩编码被以高速完成。
更具体而言,第二方法受到基本上与对第一方法施加的那些相同的第二和第三约束条件的约束。另外,第二方法受到与可适用于第一方法的约束条件不同的第四、第五和第六约束条件的约束。
对第二方法的第二约束条件涉及将量化矩阵扩展加入到每个段的开头中,即加入到每个编码器41的编码起点中。这样针对每段而重置Q矩阵,使得每个段免受正被编码的任何其他段的影响。
对第二方法的第三约束条件涉及预先确定给定编码器41在每个段中的编码起点(即段的开头)处的VBV缓冲占有量,并且以这样一种方式控制所生成的代码量:使得段中的指定用于相应编码器41的编码终点处的VBV缓冲占有量变为等于下一段中的编码起点处的VBV缓冲占有量。
对第二方法的第四约束条件涉及以这样一种方式确定在哪里将数据分割成多个段:使得分割的段的分割点从第一方法下的“Section_closed”段的边界临时后移了间隔M(对于一般的15图像MPEG长GOP结构,M=3),该间隔M在GOP中将I图像与下一I图像分离,或者将P图像与下一P图像分离。第五约束条件涉及以这样一种方式执行编码处理:使得除整个编码处理的起始段之外(即除没有前一帧的段0之外),每个段“Section_open x”在被发送到编码器41时都被提供以前一段的最后一个图像(即I图像)作为参考图像。第六约束条件涉及使得用于对作为参考图像的I图像进行编码的条件与用于对前一段中的相同I图像进行编码的条件正好相匹配。在充分地遵守了第四、第五和第六约束条件的情况下,可以不在闭合GOP结构内而是基于开放GOP来对段进行编码。
现在将参考图20至图27来描述第三方法。
第三方法涉及部分地对段进行预编码(即执行对段的部分两遍编码),以便使VBV缓冲占有量的最后一个值与目标值比第二方法更精确地相匹配。
下面参考图20描述的是根据第三方法在哪里将数据分割成多个段,以及将被输入到编码器41中的图像。
在图20中,根据第一方法的段各自由“Section_closed”表示。根据第三方法,和第二方法下一样,选择器23以这样一种方式确定在哪里将数据分割成多个段:使得分割的段的分割点从第一方法下的“Section_closed”段的分割点临时后移了间隔M(对于一般的15图像MPEG长GOP结构,M=3),该间隔M在GOP中将I图像与下一I图像分离,或者将P图像与下一P图像分离。整个编码处理的起始段(即没有前一帧的段0)被用与段“Section_closed”相同的图像结构来编码,同时最后一个段单独被后移间隔M。在图20中,根据第三方法分割的段各自由“Section_open x”表示。
根据第三方法,和第二方法下一样,段与图像类型之间的关系被建立,使得段的边界各自位于每个GOP的第一个BBI与随后的两个B图像之间。
还是根据第三方法,和第二方法下一样,有必要使用前一段的最后一个I图像作为参考图像,以便对给定段的第一个不完全GOP(即减去第一BBI)中的图像进行编码。
在第三方法下,除整个编码处理的起始段之外(即除没有前一帧的段0之外),每个段“Section_open x”在被输入到相应的编码器中时都被提供以多达M个图像(其组成在位于段头部的不完全GOP(即减去第一BBI)之前的一个GOP),即被提供以图20中的最后一个段的最后一个BBI,加上作为参考图像的用于对M个图像中所包括的B图像进行编码的一个在前图像(使得“M+1”个图像被加入每个段)。在图20中,被提供给每个编码器的数据部分由“Section_x_input”表示。如图20中的标记“重叠1(2、3等)”所示,与每个段相对应的“Section_x_input”和与每个紧接在前和在后的段重叠“M+1”个图像。就是说,基带信号中与起始段组中的起始段相对应的那部分被原样输入到相应编码器中。至于除起始段之外的段,每个段在被输入到相应编码器时被附加来自前一段的最后“M+1”个图像。
每个段组被设为具有与所使用的编码器41的数目一样多的段。表示每个段“Section_x_input”的基带信号的范围被提供给可适用的编码器41,使得每个段组中所包括的段被并行编码。用于确定表示每个段“Section_x_input”的基带信号范围以及该基带信号范围指定用于的可适用的编码器41的方式与第一方法下相同。
根据第三方法,如上所述,段以相对于GOP的边界后移间隔M的方式来确定。基带信号中与起始段组中的起始段相对应的那部分被原样输入到相应编码器中。除起始段之外的段在被输入到相应编码器中时各自被提供以来自前一段的最后“M+1”个图像。
下面参考图21和图22描述的是例如四个段根据第三方法如何被并行编码。
在图21中,两个段块(即段0至7)被示出为将被输入到#0编码器41-1至#3编码器41-4的数据(每个是“Section_x_input”)。如上面所说明,段0至7“Section_x_input”中的每一个段的头“M+1”个图像被兼用作用于编码的参考图像和用于预编码的数据;每个编码后的“Section_x_input”的头“M+1”个图像不被输出。只有图21中的“Section_open x”被输出。
图20中各自由“Section_x_input”指示的段按照显示次序被输入到#0编码器41-1至#3编码器41-2。输入段然后在其被编码之前被重新设置为编码次序。
部分预编码在下面将要描述的条件下被执行,从而获取用于在VBV占有量方面对准接合点的信息。
在除段0(即在被输入到每个编码器41中的基带信号的开头处)之外的段1至7中的每一个段之前的段中,与P图像相对应的图像被编码为I图像,该I图像被变成本地解码图像。
除段0之外,在段1至7中的每一个段中,按照编码次序的下一个图像是作为参考图像的用于对所关注的段的头两个B图像进行编码的I图像。根据第三方法,与第二方法下一样,使用于对作为参考图像的I图像进行编码的条件与用于对前一段中的相同I图像进行编码的那些条件正好相匹配。显然,用于对给定段组的起始段中的参考图像进行编码的条件是从用于对前一段组的结尾段中的相同图像进行编码的条件继承而来的。
按照编码次序,参考两个I图像对随后两个B图像进行编码。此时的编码是用于获取下述参数的预编码处理:所述参数用于控制在前一段的结尾处生成的代码量。从预编码处理得到的符号不被输出。
如图22所示,将被#1编码器41-2至#3编码器41-4编码的第三和第四图像对应于前一段中的最后两个B图像。因为前一段中的最后两个B图像在第三和第四图像之后被编码,所以后续编码是使用关于从预编码处理得到的生成代码量的信息来执行的。这使得可以使段结尾处的VBV缓冲占有量与目标值精确地相匹配。
更具体而言,如图22所示,被输入到每个编码器41中的基带信号在速率控制(基于分别组成从第二图像开始的一个GOP的第一个和最后一个临时VBV缓冲占有量的“Occupancy_Start_Sec_closed”和“Occupancy_End_Sec_closed”)下,经受I图像和两个B图像的预编码。
预编码处理在实际编码时产生组成段的开头处的VBV缓冲占有量的“Occupancy_Start_Sec_open x”。每个段的编码终点处的用于每个编码器41的VBV缓冲占有量被设置为变为等于下一段的开头处的VBV缓冲占有量。换言之,如果段“x”开头处的通过预编码获取的VBV缓冲占有量由“Occupancy_Start_Sec_open x”表示,并且段“x”结尾处的VBV缓冲占有量由“Occupancy_End_Sec_open x”表示,则每个“Occupancy_End_Sec_open x”被这样设置:使得“Occupancy_End_Sec_open x”变为等于“Occupancy_Start_Sec_openx+1”。在这些设置就绪的情况下,当单独编码的流被接合在一起时,VBV缓冲占有量可以保持其一致性。
在位于每个段组头部的段的开头处无需用于确定“Occupancy_Start_Sec_open”的处理。
在完成对来自段外的四个图像“IIBB”的编码后,段1至7的实际编码通过使用作为参考图像的被变为本地解码图像的I图像而从每个段的第一P图像开始。
段的最后一个I图像在与用于对被用作下一段的参考图像的I图像进行编码的那些条件相同的条件下被编码。在#0编码器41-1至#n-1编码器41-n是功能上相同的编码器的情况下,它们使用相同的算法来执行其编码处理。在这种情况下,初始参数被预先确定,以用于对两个I图像进行编码。例如,如果速率控制被实现为使用TM5的“步骤2”来确定屏幕内的Q比例,则被分配给图像的位和第一宏块的Q比例可被保持相同。这保证了相同的编码结果。
在对下一段进行编码前,基于由不同编码器41执行的预编码处理的结果,在所生成的代码量的控制下,对段中的最后两个B图像进行编码。
更具体而言,当基于预编码处理的结果对I图像进行的编码完成时的有效的占有量被用来计算已经在适用于预编码处理的条件下编码过的两个B图像的结尾处的占有量。这样得到的占有量与充当目标值的“Occupancy_End_Sec_open”之间的差被得到。以这种方式得到的差被用来改变用于控制所生成的代码量的编码条件,使得VBV缓冲占有量的最后一个值被与“Occupancy_End_Sec_open”相匹配。
在上述设置就绪的情况下,其间具有预测关系的段可以由多个编码器41来并行编码。在无需执行用于准备参考图像的复杂处理或生成使图像质量劣化的本地解码图像的情况下,执行编码处理。每个段的结尾处的图像被使用不同的编码器41预编码,并且预编码处理的结果被用作速率控制的基础。这使得段之间的缓冲占有量的一致性比以往更加精确。
与第二方法一样,第三方法也受到第四和第六约束条件的约束。第四约束条件涉及以这样一种方式确定在哪里将数据分割成多个段:使得分割的段的分割点从第一方法下的“Section_closed”段的分割点临时后移了间隔M(对于一般的15图像MPEG长GOP结构,M=3),该间隔M在GOP中将I图像与下一I图像分离,或者将P图像与下一P图像分离。第六约束条件涉及使得用于对作为参考图像的I图像进行编码的条件与用于对前一段中的相同I图像进行编码的条件正好相匹配。与第一和第二方法不同的是,第三方法还受到第七和第八约束条件的约束。在第七约束条件下,除整个编码处理的起始段之外,即除没有前一帧的段0之外,每个段“Section_open x”在被输入到对应的编码器41时被提供以多达“M+1”个图像:被用作参考图像的I图像、两个随后的B图像,以及被用作对这两个B图像进行编码的参考图像的图像(最后一个图像实际是段中的P图像,但是在预编码时被编码为I图像)。第八约束条件涉及通过利用预编码处理的结果来控制与预编码部分相对应的图像(在这种情况下是段中的最后两个B图像)的生成代码量。
在第三方法下,以与第一和第二方法下相同的方式来确定将每个段输入到哪个编码器41。
另外,对第一方法施加的第二和第三约束条件也被施加于第三方法。
就是说,如上面参考图8所讨论的,编码处理被以这样一种方式控制:使得每个段中与给定编码器41相对应的编码起点处(即位于段头部的P图像处)的VBV缓冲占有量被预先确定,并且每个段中与给定编码器41相对应的编码终点处的VBV缓冲占有量变为等于下一段的编码起点处的VBV缓冲占有量。通过这种设置,单独编码的流在随后被接合在一起时可以恢复其在VBV缓冲占有量方面的连续性。在第三方法下,根据预编码处理的结果来确定每个段的编码起点处用于每个编码器41的VBV缓冲占有量。
与第二方法下一样,量化矩阵扩展被加入到每个段的开头中,即被加入到位于由编码器41生成的每个编码流的头部的P图像中。这样于是针对每段来重置Q矩阵,使得每个段都免受正被编码的任何其他段的影响。
从编码处理得到的编码流在CPU20的控制下在存储器18中被接合在一起。
下面参考图23的流程图描述的是与上述第三方法相对应的被称为编码处理3的编码处理。
按照与上面参考图16讨论的步骤S81至S84一样的方式来执行步骤S181至S184。
就是说,流获取控制单元151确定编码器单元24中所包括的编码器41中的用于并行编码的编码器41的数目。流获取控制单元121然后确定在那里分割将被输入到编码器41中的数据,即对上面参考图20至图22描述的段和段组作出决定。流获取控制单元151然后获取与所使用的编码器41的数目一样多的输入数据段。
编码控制单元154确定将被编码的输入数据的图像类型,使得段的边界从GOP边界临时后移间隔M(例如,在一般的15图像长GOP结构中,每个边界位于每个GOP的第一BBI与随后的两个B图像之间),在GOP中,该间隔M把I图像与下一个I图像分开,或者把P图像与下一个P图像分开。
流获取控制单元151然后确定将每个数据段输入到编码器41中的哪个编码器中。
在步骤S185中,编码控制单元154从前一段继承VBV缓冲占有量的最后一个值,以用作用于对将被输入到对段组的起始段进行编码的编码器的基带信号进行编码的VBV缓冲占有量的第一值。假定从第二图像开始的一个GOP被编码,则编码控制单元154确定“Occupancy_Start_Sec_closed”,该“Occupancy_Start_Sec_closed”组成上面参考图22讨论的作为每个其他段的编码起点处的VBV缓冲量的临时VBV缓冲占有量。
在步骤S186中,假定从第二图像开始的一个GOP被编码,则编码控制单元确定“Occupancy_End_Sec_closed”,该“Occupancy_End_Sec_closed”组成上面参考图描述的VBV缓冲占有量的临时最后一个值。
在步骤S187中,稍后要参考图24讨论的预编码处理被执行。
在步骤S188中,编码控制单元154把段组中除结尾段之外的任何段的编码终点处的有效VBV缓冲占有量确定为通过预编码获取的下一段的编码起点处的VBV缓冲占有量。
在步骤S189中,稍后要参考图25至图27讨论的段编码处理2被执行。
按照与上面参考图16讨论的步骤S89至S92基本相同的方式执行步骤S190至S193。
就是说,刚编码的段组中的结束段的VBV缓冲占有量的最后一个值被临时存储,用于对下一段组进行编码。用于对刚编码的段组中的结束段中的I图像进行编码的条件然后被临时存储,用于对下一段组进行编码。以这样一种方式来控制存储器18中的用于写入被从编码器单元24发送到PCI桥17的编码流的地址:使得由与并行工作的编码器的数目一样多的段组成的编码器输出数据被接合,即,使得长度与有关的段相对应的编码流被接合在一起。
随后进行检查,以确定编码处理是否准备结束。如果未发现编码处理准备结束,则控制返回到步骤S181并且后续步骤被重复。如果发现编码处理准备结束,则编码处理3被结束。
当上述步骤被执行时,即使段与段之间仍然存在预测关系,I图像也被准备为参考图像,而不会引起图像质量的劣化。针对每段来重置Q矩阵,使得每个段都免受正被编码的任何其他段的影响。在VBV缓冲占有量被从一个段传递到另一个段的情况下,由多个编码器41并行产生的编码流随后以这样一种方式在存储器18中被接合在一起:使得保持其一致性。
如上所述,多个编码器41被设置为并行操作,以便在长GOP结构中以高速执行其编码处理。
在第三方法下,与段组中的起始段相对应的GOP被设置为不是闭合GOP而是开放GOP。这使得可以比第一方法更好地防止图像质量在编码期间的劣化。
预编码处理然后被执行,并且处理的结果被用作用于控制所生成的正有效的代码量的基础。第三方法从而使段与段之间的缓冲占有量的一致性变得比第一或第二方法更加精确。
下面参考图24的流程图描述的是在图23的步骤S187中执行的预编码处理。
预编码处理是由每个编码器41在编码控制单元154的控制下单独地执行的。
在步骤S221中,编码控制单元154执行检查以确定将被给定编码器41编码的图像是否为将被编码的数据的起始段中的图像。如果在步骤S221中发现所关注的图像为起始段中的图像,则控制返回到图23中的S187,然后达到步骤S188。
如果在步骤S221中未发现感兴趣的图像为将被编码的数据的起始段中的图像,则步骤S222被达到。在步骤S222中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否位于段组的起始段中。如果在步骤S222中发现所关注的图像位于段组的第一个段中,则处理继续进行到稍后要讨论的步骤S230。
如果在步骤S222中未发现所关注的图像位于段组的起始段中,则步骤S223被达到。在步骤S223中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为被输入到编码器中的第一个图像。
如果在步骤S223中发现所关注的图像是第一个被提供的图像,则步骤S224被达到。在步骤S224中,编码控制单元154将所关注的图像编码为I图像,以获取用于预编码的参考图像。处理然后继续进行到稍后要讨论的步骤S229。
如果在步骤S223中未发现所关注的图像是第一个被提供的图像,则步骤S225被达到。在步骤S225中,编码控制单元154执行编码处理,同时以这样一种方式执行速率控制:使编码终点处的缓冲占有量接近于“Occupancy_End_Sec_closed”,该“Occupancy_End_Sec_closed”组成上面参考图22描述的缓VBV冲占有量的临时最后一个值。
在步骤S226中,编码控制单元154进行检查,以确定将被给定编码器41编码的图像是否为被输入到编码器中的第二个图像。
如果在步骤S226中发现所关注的图像是第二个被提供的图像,则步骤S227被达到。在步骤S227中,编码控制单元154获取作为供段中的图像使用的参考图像的I图像。
当步骤S227完成时或者如果在步骤S226中未发现所关注的图像是第二个被提供的图像,则步骤S228被达到。在步骤S228中,编码控制单元154向主机CPU(即CPU 20)通知已执行的编码处理中所使用的编码条件,以及所生成的有效代码量。
当步骤S224或S228完成时,步骤S229被达到。在步骤S229中,编码控制单元154进行检查以确定编码后的图像是否为第(M+1)个图像。如果在步骤S229中未发现所关注的图像是第(M+1)个图像,则控制返回到步骤S223并且后续步骤被重复。如果在步骤S229中发现所关注的图像是第(M+1)个图像,则控制返回到图23中的步骤S187,然后步骤S188被达到。
如果在步骤S222中发现所关注的图像位于段组的第一个段中,则步骤S230被达到。在步骤S230中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为被输入到该编码器中的第二个图像。如果在步骤S230中所关注的图像不是第二个被提供的图像,则处理继续进行到稍后要描述的步骤S233。
如果在步骤S230中发现所关注的图像是第二个被提供的图像,则步骤S231被达到。在步骤S231中,编码控制单元154在与前一段(即前一段组中的结束段)的最后一个I图像相同的固定条件下对所关注的图像进行编码作为I图像。
在步骤S232中,编码控制单元154获取供段中的图像使用的参考图像。
在步骤S232完成时,或者在步骤S230没有发现所关注的图像是第二个被提供的图像,则步骤S233被达到。在步骤S233中,编码控制单元154进行检查以确定编码后的图像是否为第(M+1)个图像。如果在步骤S233中未发现编码后的图像是第(M+1)个图像,则控制返回步骤S230并且后续步骤被重复。如果在步骤S233中发现编码后的图像是第(M+1)个图像,则控制返回到图23中的步骤S187,并且步骤S188被达到。
当上述步骤被执行时,在每个段前面有多达(M+1)个图像被预编码。从而获取用于控制所生成的代码量的参数,以及用于对每个段中的图像进行编码的参考图像。
下面参考图25至图27描述的是图23中所示的步骤S189中执行的段编码处理2。
段编码处理2是由每个编码器41在编码控制单元154的控制下单独地执行的。
在步骤S261中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为起始段中的图像。如果在步骤S261中发现所关注的图像是起始段中的图像,则处理继续进行到稍后要讨论的步骤S285。
如果在步骤S261中未发现所关注的图像是起始段中的图像,则步骤S262被达到。在步骤S262中,编码控制单元154进行检查以确定将被给定编码器编码的图像是否为段组的结束段中的图像。如果在步骤S262中发现所关注的图像是段组的结束段中的图像,则处理继续进行到稍后要描述的步骤S277。
如果在步骤S262中未发现所关注的图像是段组的最后一个段中的图像,则步骤S263被达到。在步骤S263中,编码控制单元154进行检查以确定将被给定编码器编码的图像是否为段中的第一个图像。如果在步骤S263中未发现所关注的图像是段中的第一个图像,则处理继续进行到稍后要讨论的步骤S266。
如果在步骤S263中发现所关注的图像是段中的第一个图像(即组成被输入到编码器41的第(M+2)个图像的P图像),则步骤S264被达到。在步骤S264中,编码控制单元154将量化矩阵扩展加入到位于相应编码器41所生成的编码流的头部的P图像中。这样允许针对每个段来重置Q矩阵,使得所关注的段免受正被编码的任何其他段的影响。
在步骤S265中,编码控制单元154设定将被相应编码器41编码的一个段的编码起点处的有效VBV缓冲占有量,即位于相应编码器41所生成的编码流的头部的段的开头处的P图像的VBV缓冲占有量。例如,编码控制单元154将VBV缓冲占有量设置为预编码处理的结尾处的有效缓冲占有量。步骤S265后接稍后要描述的步骤S268。
如果在步骤S263中未发现所关注的图像是段中的第一个图像,则步骤S266被达到。在步骤S266中,编码控制单元154根据需要,基于MPEG标准将量化矩阵扩展加入到所关注的图像中。
在步骤S267中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为作为段中的第二个图像的P图像之前的B图像。如果在步骤S267中未发现所关注的图像是作为段中的第二个图像的P图像之前的B图像,则处理继续进行到稍后要描述的步骤S269。
当步骤S265完成时,或者如果在步骤S267中发现所关注的图像是作为段中的第二个图像的P图像之前的B图像(即如果发现将被给定编码器41编码的图像是位于段头部的PBB图像之一),步骤S268被达到。在步骤S268中,编码控制单元154使用第一个输入I图像作为参考图像,用于对所关注的图像进行编码。步骤S268后接稍后要谈论的步骤S272。
如果在步骤S267中未发现所关注的图像是作为段中的第二个图像的P图像之前的B图像,则步骤S269被达到。在步骤S269中,编码控制单元154进行检查,以确定将被给定编码器41编码的图像是否为在段中的最后一个I图像之前出现的图像。如果在步骤S269中发现所关注的图像是位于段中的最后一个I图像之前的图像,则处理继续进行到稍后要描述的步骤S272。
如果在步骤S269中未发现所关注的图像是位于段中的最后一个I图像之前的图像,则步骤S270被达到。在步骤S270中,编码控制单元154进行检查,以确定将被给定编码器41编码的图像是否为段的末尾B图像之一。如果在步骤S270中发现所关注的图像是段的末尾B图像之一,则处理继续进行到稍后要讨论的步骤S275。
如果在步骤S270中未发现所关注的图像是段的末尾B图像中的任何一个,则步骤S271被达到。在步骤S271中,编码控制单元154进行检查以确定将被给定编码器编码的图像是否为段中的最后一个I图像。如果在步骤S271中发现所关注的图像是段中的最后一个I图像,则处理继续进行到稍后要描述的步骤S273。如果在步骤S271中未发现所关注的图像是段中的最后一个I图像,则处理继续进行到稍后要讨论的步骤S274。
当步骤S268完成时或者如果在步骤S269中发现所关注的图像是位于段的最后一个I图像之前的图像,步骤S272被达到。在步骤S272中,编码控制单元154执行编码处理,同时以这样一种方式执行速率控制:使得VBV缓冲占有量接近于其被指定的临时最后一个值。步骤S275后接稍后要描述的步骤S276。
如果在步骤S271中发现所关注的图像是段中的最后一个I图像,则步骤S273被达到。在步骤S273中,编码控制单元154在与作为参考图像正被另一个编码器41并行编码的相应I图像相同的固定条件下对I图像进行编码。步骤S273后接稍后要讨论的步骤S276。
如果在步骤S271中未发现所关注的图像是段中的最后一个I图像,则步骤S274被达到。在步骤S274中,编码控制单元154执行编码处理,同时以这样一种方式使用来自预编码处理的信息执行速率控制:使得VBV缓冲占有量接近于其被指定的最后一个值。步骤S274后接稍后要描述的步骤S276。
如果在步骤S270中发现所关注的图像是段的末尾B图像之一,则步骤S275被达到。在步骤S275中,编码控制单元154执行编码处理,同时以这样一种方式使用来自预编码处理的信息执行速率控制:使得VBV缓冲占有量与其被指定的最后一个值相匹配。步骤S275后接稍后要讨论的步骤S276。
当步骤S272、S273、S274或S275完成时,步骤S276被达到。在步骤S276中,编码控制单元154进行检查以确定所关注的段的编码是否准备结束。如果在步骤S276中未发现所关注的段的编码准备结束,则控制返回到步骤S263并且后续步骤被重复。如果在步骤S276中发现所关注的段的编码准备结束,则控制返回到图23的步骤S189,然后步骤S190被达到。
如果在步骤S262中发现所关注的段是段组中的最后一个段,则达到步骤S277至S280,并且按照与上面描述的步骤S263至S266基本相同的方式执行步骤S277至S280。
就是说,如果发现所关注的图像是段中的第一个图像(即组成被输入到给定编码器41的第(M+2)个图像的P图像),则将量化矩阵扩展加入到位于由相应编码器41生成的编码流的头部的P图像中。将被相应编码器41编码的一个段的编码起点处的VBV缓冲占有量被设为预定值,例如被设为预编码处理结束时有效的缓冲占有量。
如果未发现所关注的图像是段中的第一个图像,则将根据需要基于MPEG标准将量化矩阵扩展加入到所关注的图像中。
当步骤S280完成时,步骤S281被达到。在步骤S281中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为作为段中的第二个图像的P图像之前的B图像。如果在步骤S281中未发现所关注的图像是作为段中的第二个图像的P图像之前的B图像,则处理继续进行到稍后要描述的步骤S283。
当步骤S279完成时或者如果在步骤S281中发现所关注的图像是作为段中的第二个图像的P图像之前的B图像(即如果发现将被给定编码器41编码的图像是段的开头的PBB图像之一),步骤S282被达到。在步骤S282中,编码控制单元154使得使用第一个输入的I图像作为参考图像对所关注的图像进行编码。
当步骤S282完成时或者如果在步骤S281中未发现所关注的图像是作为段中的第二个图像的P图像之前的B图像,步骤S283被达到。在步骤S283中,编码控制单元154在正常速率控制下执行编码处理。
在步骤S284中,编码控制单元154进行检查以确定所关注的段的编码是否准备结束。如果在步骤S284中未发现所关注的段的编码准备结束,则编码控制单元154返回步骤S277并重复后续步骤。如果在步骤S284中发现所关注的段的编码准备结束,则编码处理单元154返回图23中的步骤S189,然后转到步骤S190。
如果在步骤S261中发现所关注的图像是起始段中的图像,则步骤S285被达到。在步骤S285中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为段中的第一个图像。
如果在步骤S285中发现所关注的图像是段中的第一个图像(即组成被提供到给定编码器41的第(M+2)个图像的P图像),则步骤S286被达到。在步骤S286中,编码控制单元154设定将被相应编码器41编码的一个段的编码起点处的有效VBV缓冲占有量,即位于将由相应编码器41生成的编码流的头部的段的开头处的P图像的VBV缓冲占有量。例如,编码控制单元154将VBV缓冲占有量设为预编码处理结束时的有效VBV缓冲占有量。步骤S286后接稍后要描述的步骤S288。
如果在步骤S285中未发现所关注的图像是段中的第一个图像,则步骤S287被达到。在步骤S287中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为位于段的最后一个I图像之前的图像。
当步骤S286完成时或者如果在步骤S287中发现所关注的图像是位于段中的最后一个I图像之前的图像,步骤S288被达到。在步骤S288中,编码控制单元154执行编码处理,同时以这样一种方式执行速率控制:使得VBV缓冲占有量接近于其被指定的临时最后一个值。步骤S288后接稍后要描述的步骤S294。
如果在步骤S287中未发现所关注的图像是位于段中的最后一个I图像之前的图像,则步骤S289被达到。在步骤S289中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为段的末尾B图像之一。如果在步骤S289中发现所关注的图像是段的末尾B图像之一,则处理继续进行到稍后要讨论的步骤S293。
如果在步骤S289中未发现所关注的图像是段的末尾B图像中的任何一个,则步骤S290被达到。在步骤S290中,编码控制单元154进行检查以确定将被给定编码器41编码的图像是否为段中的最后一个I图像。
如果在步骤S290中发现所关注的图像是段中的最后一个I图像,则步骤S291被达到。在步骤S291中,编码控制单元154在与作为参考图像正被另一个编码器41并行编码的相应I图像相同的固定条件下对I图像进行编码。步骤S291后接稍后要描述的步骤S294。
如果在步骤S290中未发现所关注的图像是段中的最后一个I图像,则步骤S92被达到。在步骤S292中,编码控制单元154执行编码处理,同时以这样一种方式使用来自预编码处理的信息执行速率控制:使得VBV缓冲占有量接近于其被指定的最后一个值。步骤S292后接稍后要描述的步骤S294。
如果在步骤S289中发现所关注的图像是段的末尾B图像之一,则步骤S293被达到。在步骤S293中,编码控制单元154执行编码处理,同时以这样一种方式使用来自预编码处理的信息执行速率控制:使得VBV缓冲占有量与其被指定的最后一个值相匹配。步骤S293后接稍后要讨论的步骤S294。
当步骤S288、S291、S292或S293完成时,步骤S294被达到。在步骤S294中,编码控制单元154进行检查以确定所关注的段的编码是否已经结束。如果在步骤S294中未发现所关注的段的编码已经结束,则再次达到步骤S285并且后续步骤被重复。如果在步骤S294中发现所关注的段的编码已经结束,则控制返回到图23中的步骤S189,然后步骤S190被达到。
当上述步骤被执行时,有关的每个段是根据受到预定约束条件约束的第三方法来编码的。编码器41被单独地控制以对数据流进行编码。编码流在存储器18中被接合在一起成为单个连续的流。因为多个编码器被并行用于对组成每个段组的多个段进行编码,所以可以在长GOP结构中以高速执行压缩编码。
更具体而言,根据第三方法的编码处理受到为其他方法所共有的某些约束条件的约束:与对第一和第二方法施加的那些约束条件相同的第二和第三约束条件,以及与对第二方法施加的那些约束条件相同的第四和第六约束条件。第三方法还受到与对第一和第二方法施加的约束条件不同的第七和第八约束条件的约束。在第七约束条件下,除整个编码处理的起始段之外(即除没有前一帧的端0之前),每个段“Section_open x”在被输入到相应编码器41时被提供以多达“M+1”个图像:用作参考图像的I图像,两个随后的B图像,以及用作对这两个B图像进行编码的参考图像的图像(最后一个图像实际上是段中的P图像,但是在预编码时被编码为I图像)。第八约束条件涉及通过使用预编码处理的结果来控制与预编码部分相对应的图像(在这种情况下是段的最后两个B图像)的生成代码量。
当编码器被以受到第七和第八约束条件约束的方式控制时,逐段编码的流在VBV缓冲占有量方面被以高精确度接合为一个连续的流。
在配备上述设置的情况下,编辑设备1可以利用多个普通编码器在长GOP结构中以高速执行编码处理。就是说,可以通过不是借助于新的编码器而是借助于联合工作的多个现有编码器来实现高速编码。这使得可以执行诸如将未压缩的材料或帧内压缩的材料转换为长GOP结构的压缩数据这样的快速编辑处理,并可以在预定编辑点处将多个流接合为一个流。
虽然上面的示例被示出为采用MPEG作为编解码器系统,但是本发明也可以应用于涉及帧相关的编解码器设置,并可以特别应用于缓冲模型条件下的编解码器处理。例如,本发明适用于AVC(高级视频编码)/H.264。
上述多套步骤和处理可以通过硬件或者通过软件来执行。要使基于软件的处理发生,组成软件的程序可被预先结合在计算机的用于执行程序的专用硬件中,或者在使用时从合适的记录介质安装到能够基于所安装的程序执行不同功能的通用个人计算机或类似装置中。例如,上面参考图1描述的编辑装置1可以包括图28所示的个人计算机201。
在图28中,CPU(中央处理器)211基于存储在ROM(只读存储器)212中的程序或者从存储装置218加载到RAM(随机访问存储器)213中的程序,来执行各种处理。RAM 213还保持CPU 211执行其不同处理所可能需要的数据。
CPU 211、ROM 212和RAM 213通过总线214互连。输入/输出接口215也连接到总线214。
输入/输出接口215与输入装置216、输出装置217、存储装置218和通信装置219相连接。输入装置216通常包括键盘和鼠标,并且输出装置217例如由显示单元和扬声器形成。存储装置218例如由硬盘驱动器形成,并且通信装置219例如由调制解调器和/或终端适配器形成。通信装置219通过包括因特网的网络来执行通信。
输入/输出接口215还按需与驱动器220相连接。磁盘231、光盘232、磁光盘233或者半导体存储器234可以被加载到驱动器220中。从加载的记录介质取回的计算机程序被按需安装到存储装置218中。
对于将由软件执行的一套处理,程序(包括软件)可被预先安装到合适计算机的专用硬件中,或者在使用时通过网络或者从适当的记录介质安装到能够使用所安装的程序执行不同功能的通用个人计算机或类似装置中。
如图28所示,记录介质不仅作为与用户的计算机分离的封装介质被提供给用户,其中记录介质包括磁盘231(包括软盘)、光盘232(包括CD-ROM(紧致盘只读存储器)和DVD(数字多功能盘))、磁光盘233(包括MD(Mini-disc,迷你盘;注册商标)),或者半导体存储器234(每个介质携带必要的程序);而且以ROM 212或存储装置218中的硬盘驱动器(各自包括程序并且在被提供给用户的时候被预先结合在设备中)这样的形式被提供给用户。
在本说明书中,描述存储在记录介质中的程序的步骤不仅表示将被以图示次序(即基于时间序列)执行的处理,而且表示可被并行或单独且非按照时间发生顺序地执行的处理。
上面讨论的多套步骤和处理还可以通过具有多个并行工作的子CPU核心来执行。在这种情况下,先前参考图1描述的编辑设备1可以包括图29所示的编辑系统。
如图29所示,与图1中的编辑设备1相对应的编辑系统包括编辑设备281、存储装置283,以及多个磁带录像机(VTR)284-1至284-S。存储装置283和VTR 284-1至284-S经由PCI总线282连接到编辑设备281。编辑系统还包括被用户操纵用来操作所配置的设备的鼠标285、键盘286和操作控制器287。
上面的编辑系统能够允许运动图像内容进入存储装置,并且能够使获取的内容被合适地编辑为期望的图像和声音。由此得到的图像和声音作为新创建的剪辑被存储在由RAID(冗余独立磁盘阵列)组成的大容量存储装置283上,或者通过VTR 284-1至284-S被存储在录像带上。VTR 284-1至284-S中的任何VTR中所装载的录像带上所记录的静止图像内容也可以被记录到存储装置283中。
编辑设备281包括微处理器301、GPU(图像处理单元)302、XDR-RAM(极限数据率-随机访问存储器)303、南桥304、HDD(硬盘驱动器)305、USB接口306,以及声音输入/输出编解码器307。
在编辑设备381中,微处理器301与GPU 302、XDR-RAM 303和南桥304相连接。南桥304与HDD 305、USB接口306以及声音输入/输出编解码器307相连接。扬声器321连接到声音输入/输出编解码器307,并且显示单元322连接到GPU 302。
南桥304通过PCI总线282与鼠标285、键盘286、VTR(磁带录像机)284-1至284-S、存储装置283以及操作控制器287相连接。
鼠标285和键盘286接收用户的操作输入,并且将反映用户操作输入的信号通过PCI总线282和南桥304发送到微处理器301。存储装置283和VTR 284-1至284-S允许指定数据被记录或再现。
微处理器301包括用于通过如下部件执行诸如OS(操作系统)这样的基本程序的通用主CPU核心341:多个(例如8个)经由内部总线345连接到主CPU核心341的RISC(精简指令集计算机)类型的信号处理器(被称为子CPU核心)342-1至342-8、用于控制例如具有256兆字节容量的XDR-RAM 303的存储控制器343、以及用于管理进出南桥304的数据输入和输出的I/O(输入/输出)控制器344。这些组件组成例如以4G工作频率工作的单芯片多核心配置。
在编辑装置281中,微处理器301充当例如在MPEG、JPEG(联合图像专家组)2000或H.264/AVC(高级视频编码)标准下工作的编解码器。在工作中,微处理器301将编码流通过南桥发送到HDD 305以供存储。微处理器301还把通过解码得到的组成再现视频的运动或静止图像内容传输到GPU 302以供在显示单元322上显示。微处理器301还执行关于编码和解码操作的物理计算。
另外,微处理器301可以从将被处理的基带信号或者从编码流提取各种参数。
具体而言,微处理器301中所包括的八个子CPU核心342-1至342-8起到组成编码器单元的编码器的作用。这样构造的八个子CPU核心342-1至342-8可以同时且并行地对段中的基带信号进行编码。
就是说,具有其八个子CPU核心342-1至342-8的微处理器301被设计为以同时并行的方式执行编码处理。
或者,八个子CPU核心342-1至342-8中的一些子CPU核心可以在其他子CPU核心执行解码的同时,同时且并行地执行编码。
PCI总线282例如可以与单独建立的编码器、解码器或者编解码器相连接。在这种情况下,微处理器301中所包括的八个子CPU核心342-1至342-8可以通过南桥304和PCI总线282来控制工作中的相连接的装置。如果装置的多个单位连接到PCI总线282,或者如果相连接的装置包括多个解码器或编码器,则微处理器301中的八个子CPU核心342-1至342-8可以在执行其处理时分别地控制这些解码器或编码器。
主CPU核心341被设置为处理未被八个子CPU核心342-1至342-8从事的那些处理和管理任务。在工作中,主CPU核心341响应于通过南桥304从鼠标285、键盘286或操作控制器287提供的指令来执行各种的处理。
微处理器301在被激活时根据存储在HDD 305上的控制程序从HDD305读取必要的应用程序,并将已取回的应用程序的加载到XDR-RAM303中。微处理器301此后基于所加载的应用程序并基于操作者的操作来执行必要的控制处理。
GPU 302通常控制以下功能:对将被覆盖在正被显示在显示单元322上的再现运动图像内容上的纹理的最终渲染;坐标转换的计算,以在显示单元322上显示从静止或运动图像内容得到的多个再现的静止或运动图像;以及用于对从静止和运动图像内容当中的再现的静止和运动图像内容进行放大和缩小的处理。GPU 302通过控制这些功能而减轻了微处理器301上的处理负荷。
在微处理器301的控制下,GPU 302对所提供的运动图像内容的视频数据以及静止图像内容的图像数据执行相关的信号处理。由此得到的视频数据和图像数据被发送到显示单元322,显示单元322然后基于接收到的图像信号来显示图像。
从通过微处理器300中所包括的八个子CPU核心342-1至342-8以同时并行方式解码的多个运动图像内容中传输了多个再现视频。再现视频通过总线311被传输到GPU 302。再现视频的传输速率通常多至30千兆字节/秒,这保证了即使充满特效的复杂再现视频的顺畅且高速的显示。
微处理器301对运动图像内容(视频数据和音频数据)中的音频数据执行音频混频处理。这样编辑过的音频数据经由南桥304和声音输入/输出编解码器307被传递到扬声器321。扬声器321然后基于接收到的音频信号输出声音。
如上所述,联系本发明的实施例讨论的编码处理也可以由组成编辑系统的微处理器301的多个子CPU核心来并行地执行或控制。
在上面讨论的本发明的实施例中,编辑设备1被示出为兼有解码器和编码器。本发明还可以应用于解码器和编码器被各自构造为独立实体的情况。例如,如图30所示,可提供各自被建立为独立实体的解码设备371和编码设备372,解码设备371将流数据解码为基带信号,编码设备372将基带信号编码为流数据。
在上面的结构中,解码设备371不仅可以对压缩编码数据进行解码并将解压缩的数据提供给编码设备372;解码设备372还可以从编码设备372接收根据本实施例的通过部分编码和编辑的压缩编码数据,并将接收到的数据通过解码而转换为基带信号。被转换为基带信号的编辑流被例如提供给合适的显示单元以供显示,或者输出到另一个设备以供必要处理。
本发明的上述实施例的另一种替换可以应用于下述情况:其中解码器单元22可以对所提供的压缩编码数据进行不完全解码,并且相应的编码器单元24可以对不完全编码数据中的相关部分进行部分解码。
例如,如果解码器单元22仅执行关于VLC(可变长度编码)的解码和反量化,并且不执行反DCT(离散余弦转换),则编码器单元24执行量化和VLC但不执行DCT。本发明显然适用于这种执行部分编码(即从中途向前对数据编码)的编码器。
作为上述实施例的另一种替换,本发明可以应用于基带信号被解码器单元22完全解码并且被编码器单元24中途编码的情况(例如,DCT和量化被执行但是VLC未被执行),或者从解码器单元22的不完全解码(例如,只有关于VLC的解码和反量化被执行并且反DCT未被执行)得到的中途编码数据被编码器单元24进一步中途编码(例如,量化被执行但是VLC未被执行)的情况。
另外,本发明还可以应用于下述情况:其中图30中的解码设备371对所提供的流数据进行不完全解码,并且相应的编码设备372对这样得到的不完全解码数据中的相关部分进行部分编码。
例如,如果解码设备371仅执行关于VLC的解码和反量化并且不执行反DCT,则编码设备372执行量化和VLC但是不执行DCT。本发明自然适用于这种通过解码设备371进行部分解码(即解码到中途点)并通过编码设备372进行部分编码(即从中途点向前进行编码)的情况。
本发明还可以应用于被解码设备371完全解码的基带信号被编码设备372中途编码(例如DCT和量化被执行但是VLC未被执行)的情况,或者从解码设备371的不完全解码(例如,只有关于VLC的解码和反量化被执行并且反DCT未被执行)得到的中途编码数据被编码设备372进一步中途编码(例如,量化被执行但是VLC未被执行)的情况。
本发明还可以应用于包括执行部分解码(即执行解码处理的一部分)的解码设备371和执行部分编码(即执行编码处理的一部分)的编码设备372的代码转换器381。这种类型的代码转换器381例如与执行片段(slicing)和其他编辑处理的编辑设备382(即能够取代上述编辑设备1中所包括的流接合器25和效果/开关26的功能的编辑设备)结合使用。
在上面讨论的实施例中,CPU11和CPU 20被示出为构造为分离的实体。或者,可以提供单个CPU装置,以便总体控制编辑设备1。在被示出为具有分别设置的存储器13和存储器21的上述实施例的类似替换中,可以为整个编辑设备1提供单个存储器。
在上述实施例中,CPU11和CPU20被示出为通过桥和总线装置与HDD 16、解码器单元22、选择器23以及编码器单元24相连接,以组成整个的编辑设备。这些组件中一些组件还可以无线地连接或者以有线方式从外部连接。作为另一种替换,这些组件可以以各种方式互连。
在上述实施例中,HDD被示出为在其上存储压缩编码流或解压缩基带信号。本发明还可以应用于下述情况,其中编码流或基带信号在其被处理之前被记录在诸如光盘、磁光盘、半导体存储器或磁盘这样的各种记录介质上。
在上述实施例中,解码器单元22、选择器23和编码器单元24被假定为安装在单个扩展卡(例如PCI卡、PCI-Express卡)上。这些组件还可被安装在分开的扩展卡上,如果在卡与卡之间例如由于PCI-Express技术而保证了足够高的数据传输速率的话。
在本说明书中,术语“系统”指的是包括多个组成装置或设备的完整配置。
本领域技术人员应当明白,各种修改、组合、子组合和变更可根据设计要求和其他因素发生,只要它们属于所附权利要求书或其等同物的范围。
相关申请的交叉引用
本发明包含与2006年9月5日向日本专利局提交的日本专利申请JP2006-240301有关的主题,上述申请的全部内容通过引用而结合于此。

Claims (13)

1.一种用于对基带信号进行编码的信息处理设备,所述信息处理设备包括:
数据分割装置,所述数据分割装置被配置为在将所述基带信号分割为预定编码段之前获取所述基带信号;
编码器,所述编码器被配置为通过对由所述数据分割装置从所述基带信号获取的多个连续的所述编码段进行并行编码,生成编码流;
控制装置,所述控制装置被配置为控制所述编码器以受到预定约束条件约束的方式执行并行编码;以及
接合装置,所述接合装置被配置为接合由所述编码器生成的所述编码流。
2.根据权利要求1所述的信息处理设备,其中,所述约束条件涉及以如下方式执行编码处理:使得由所述数据分割装置获取的所述编码段的边界与由所述编码器生成的所述编码流的GOP的边界相重叠。
3.根据权利要求2所述的信息处理设备,其中,所述约束条件涉及以如下方式执行编码处理:使得由所述数据分割装置获取的每个所述编码段的起始GOP被用作闭合GOP。
4.根据权利要求1所述的信息处理设备,其中,所述约束条件涉及将序列头或量化矩阵扩展加入到由所述数据分割装置获取的每个所述编码段的编码起点。
5.根据权利要求1所述的信息处理设备,其中,所述约束条件涉及以如下方式控制生成代码量:使得由所述数据分割装置获取的每个所述编码段的编码终点处的VBV缓冲占有量变为等于下一编码段的编码起点处的VBV缓冲占有量。
6.根据权利要求1所述的信息处理设备,其中,所述约束条件涉及以如下方式执行编码处理:使得由所述数据分割装置获取的所述编码段的边界从由所述编码器生成的所述编码流的GOP的边界临时后移间隔M,所述间隔M将I图像与下一I图像分开或者将P图像与下一P图像分开。
7.根据权利要求6所述的信息处理设备,其中,所述约束条件涉及以如下方式执行所述编码处理:使得为由所述数据分割装置获取的所述编码段中的其前面是与另一个编码段相对应的基带信号的每个编码段,获取被提供了前一编码段的最后一个图像的基带信号,所述前一编码段的最后一个图像在被编码时不被输出,而是被用作参考图像。
8.根据权利要求7所述的信息处理设备,其中,所述约束条件涉及使得用于对所述前一编码段中的被用作参考图像的所述最后一个图像进行编码的条件被匹配到用于对正被并行编码的前一编码段中的相应图像进行编码的条件。
9.根据权利要求8所述的信息处理设备,其中,所述编码条件包括被分配给图像的位,以及第一宏块的Q比例。
10.根据权利要求6所述的信息处理设备,其中,所述约束条件涉及以如下方式执行所述编码处理:使得为由所述数据分割装置获取的所述编码段中的其前面是与另一个段相对应的基带信号的每个编码段,获取被提供了前一编码段的最后M+1个图像的基带信号,所述前一编码段的最后的图像在被编码时不被输出,而是被用作参考图像。
11.根据权利要求10所述的信息处理设备,其中,所述约束条件涉及使用编码后的第一图像作为参考图像来对来自前一编码段的最后M+1个图像中的第二和第三图像进行编码,所述第二图像和所述第三图像在被编码时不被输出,而是被用作用于控制与正被并行编码的前一编码段的编码后的第二和第三图像相对应的生成代码量的基础。
12.根据权利要求11所述的信息处理设备,其中,所述约束条件涉及使用前一编码段的所述最后M+1个图像中被获取作为I图像的第一图像来执行所述编码处理。
13.一种与用于对基带信号进行编码的信息处理设备一起使用的信息处理方法,所述信息处理方法包括以下步骤:
在将所述基带信号分割为预定编码段之前控制所述基带信号的获取;
控制向所述信息处理设备的编码器提供获取的多个连续的编码段;
通过使所述编码器以受到预定约束条件约束的方式对包括所述基带信号的所述编码段并行地编码,来生成编码流;以及
接合所述生成的编码流。
CN2007101453013A 2006-09-05 2007-09-05 信息处理设备和信息处理方法 Expired - Fee Related CN101141641B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006240301 2006-09-05
JP2006-240301 2006-09-05
JP2006240301A JP2008066851A (ja) 2006-09-05 2006-09-05 情報処理装置および情報処理方法、記録媒体、並びに、プログラム

Publications (2)

Publication Number Publication Date
CN101141641A true CN101141641A (zh) 2008-03-12
CN101141641B CN101141641B (zh) 2010-09-22

Family

ID=39151483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101453013A Expired - Fee Related CN101141641B (zh) 2006-09-05 2007-09-05 信息处理设备和信息处理方法

Country Status (4)

Country Link
US (1) US8170120B2 (zh)
JP (1) JP2008066851A (zh)
CN (1) CN101141641B (zh)
TW (1) TWI390988B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013155828A1 (zh) * 2012-04-16 2013-10-24 华为技术有限公司 视频图像码流处理方法和设备

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4264582B2 (ja) * 2006-06-13 2009-05-20 ソニー株式会社 情報処理装置および情報処理方法、プログラム、並びに記録媒体
US20090180546A1 (en) * 2008-01-09 2009-07-16 Rodriguez Arturo A Assistance for processing pictures in concatenated video streams
US8718388B2 (en) 2007-12-11 2014-05-06 Cisco Technology, Inc. Video processing with tiered interdependencies of pictures
JP2011077564A (ja) * 2008-04-13 2011-04-14 Thomson Canopus Co Ltd 映像および音声データの符号化装置とその符号化方法、及びビデオ編集システム
JP5309700B2 (ja) * 2008-06-03 2013-10-09 富士通株式会社 動画像復号装置および符号化装置
US8886022B2 (en) 2008-06-12 2014-11-11 Cisco Technology, Inc. Picture interdependencies signals in context of MMCO to assist stream manipulation
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
EP2403248B1 (en) 2009-02-27 2018-07-04 Fujitsu Limited Moving picture encoding device, moving picture encoding method, and moving picture encoding computer program
WO2010106670A1 (ja) * 2009-03-19 2010-09-23 富士通株式会社 画像符号化装置、画像符号化制御方法および画像符号化プログラム
US8949883B2 (en) 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
JP2012009934A (ja) 2010-06-22 2012-01-12 Sony Corp 画像処理装置と画像処理方法
GB2484969B (en) * 2010-10-29 2013-11-20 Canon Kk Improved reference frame for video encoding and decoding
US10536726B2 (en) * 2012-02-24 2020-01-14 Apple Inc. Pixel patch collection for prediction in video coding system
US9197888B2 (en) 2012-03-13 2015-11-24 Dolby Laboratories Licensing Corporation Overlapped rate control for video splicing applications
US9451288B2 (en) * 2012-06-08 2016-09-20 Apple Inc. Inferred key frames for fast initiation of video coding sessions
JP2014086770A (ja) * 2012-10-19 2014-05-12 Nippon Hoso Kyokai <Nhk> 映像信号分割装置、映像伝送送信装置、映像伝送受信装置および映像伝送システム
US9451251B2 (en) * 2012-11-27 2016-09-20 Broadcom Corporation Sub picture parallel transcoding
JP2014241507A (ja) 2013-06-11 2014-12-25 ソニー株式会社 画像処理装置および方法、プログラム、並びに撮像装置
JP2015005939A (ja) 2013-06-24 2015-01-08 ソニー株式会社 画像処理装置および方法、プログラム、並びに撮像装置
WO2016026526A2 (en) 2014-08-20 2016-02-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video composition
US10694227B2 (en) * 2017-01-13 2020-06-23 Panasonic Intellectual Property Management Co., Ltd. Video transmission system and video transmission method
US11778211B2 (en) * 2021-09-16 2023-10-03 Apple Inc. Parallel video parsing for video decoder processing

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696557A (en) 1994-08-12 1997-12-09 Sony Corporation Video signal editing apparatus
US20010002851A1 (en) * 1995-04-14 2001-06-07 Takao Shimada Multimedia data processing system in network
JP3309656B2 (ja) 1995-08-18 2002-07-29 ソニー株式会社 画像処理装置及び画像処理方法
SE512719C2 (sv) * 1997-06-10 2000-05-02 Lars Gustaf Liljeryd En metod och anordning för reduktion av dataflöde baserad på harmonisk bandbreddsexpansion
WO1999005864A1 (fr) 1997-07-25 1999-02-04 Sony Corporation Dispositif d'edition, procede d'edition, dispositif d'epissage, procede d'epissage, dispositif de codage et procede de codage
DE69838869T2 (de) * 1997-10-03 2008-12-04 Sony Corp. Vorrichtung und Verfahren zum Spleißen von codierten Datenströmen sowie Vorrichtung und Verfahren zur Erzeugung von codierten Datenströmen
KR100548665B1 (ko) * 1998-01-19 2006-02-03 소니 가부시끼 가이샤 편집 시스템, 편집 제어 장치 및 편집 제어 방법
US6414998B1 (en) 1998-01-27 2002-07-02 Sony Corporation Method and apparatus for inserting an image material
JPH11341435A (ja) * 1998-05-22 1999-12-10 Sony Corp 編集方法および編集装置
JP2000134617A (ja) 1998-10-22 2000-05-12 Matsushita Electric Ind Co Ltd 画像符号化装置
CN1197253C (zh) * 1999-04-15 2005-04-13 株式会社理光 数据高速压缩伸展方法及其装置
GB2353655B (en) * 1999-08-26 2003-07-23 Sony Uk Ltd Signal processor
US6721453B1 (en) * 2000-07-10 2004-04-13 The Board Of Trustees Of The University Of Illinois Method and apparatus for processing an image of an agricultural field
US20020057739A1 (en) * 2000-10-19 2002-05-16 Takumi Hasebe Method and apparatus for encoding video
JP2002199392A (ja) 2000-10-19 2002-07-12 Matsushita Electric Ind Co Ltd 映像符号化方法および装置
US7936814B2 (en) * 2002-03-28 2011-05-03 International Business Machines Corporation Cascaded output for an encoder system using multiple encoders
TWI252656B (en) * 2003-03-21 2006-04-01 Realtek Semiconductor Corp Sampling clock compensation device of multi-carrier system and method thereof
JP4174728B2 (ja) 2004-08-25 2008-11-05 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US8295347B2 (en) 2004-08-25 2012-10-23 Sony Corporation Information processing apparatus and information processing method, recording medium, and program
JP4221667B2 (ja) 2004-08-25 2009-02-12 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
KR20060043050A (ko) * 2004-09-23 2006-05-15 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
EP1797723A1 (en) * 2004-10-05 2007-06-20 Vectormax Corporation A video compression system
US20060209970A1 (en) * 2005-01-11 2006-09-21 Emmanuel Kanterakis Adaptive transmission rate communication system
US8311088B2 (en) * 2005-02-07 2012-11-13 Broadcom Corporation Method and system for image processing in a microprocessor for portable video communication devices
US20090010329A1 (en) * 2005-02-17 2009-01-08 Pioneer Corporation Encoding Device, Encoding Method, and Computer Program for Encoding
US8654848B2 (en) * 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
JP5227875B2 (ja) * 2009-04-06 2013-07-03 株式会社日立製作所 動画像符号化装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013155828A1 (zh) * 2012-04-16 2013-10-24 华为技术有限公司 视频图像码流处理方法和设备
CN103379320A (zh) * 2012-04-16 2013-10-30 华为技术有限公司 视频图像码流处理方法和设备

Also Published As

Publication number Publication date
US8170120B2 (en) 2012-05-01
TW200830885A (en) 2008-07-16
US20080056358A1 (en) 2008-03-06
CN101141641B (zh) 2010-09-22
TWI390988B (zh) 2013-03-21
JP2008066851A (ja) 2008-03-21

Similar Documents

Publication Publication Date Title
CN101141641B (zh) 信息处理设备和信息处理方法
US5559562A (en) MPEG editor method and apparatus
CN101052127B (zh) 信息处理装置和信息处理方法
US8482758B2 (en) Method and device for processing a sequence of digital images with a scalable format
JP4900720B2 (ja) 符号化装置および方法、並びに、復号装置および方法
CN106973298B (zh) 以gpu加速的软件视频转码器
CN1767648B (zh) 信息处理设备和信息处理方法、记录介质、以及程序
CN101141642A (zh) 信息处理装置及方法
JP2002305713A (ja) 画像処理装置及びその方法、記憶媒体
US20060045188A1 (en) Information processing apparatus and information processing method, recording medium, and program
US8340497B2 (en) Recording apparatus, recording method, reproducing apparatus, reproducing method, and program
EP0704128A1 (en) Method of operating an interactive image display system and image source device for implementing the method
US20020030684A1 (en) Moving image editing apparatus and moving image editing method using intraframe encoding
CN101681661A (zh) 编辑装置和编辑方法
JP3979403B2 (ja) 画像情報処理装置及び画像情報処理方法
EP0881839A2 (en) Variable bit rate encoder.
JP3591025B2 (ja) 画像情報処理装置
WO2022249655A1 (ja) 情報処理システム、情報処理装置及び情報処理方法
JP4487196B2 (ja) 記録装置及びその制御方法
JPH08186789A (ja) 動画像データの編集方法及びその装置
JP2003060951A (ja) 撮像装置、画像データ伝送方法、記録媒体及びプログラム
JPS63193680A (ja) 静止画像の符号化方式
JP2023072231A (ja) 画像認識システム、評価装置、画像認識方法、評価方法及び評価プログラム
JP2004214849A (ja) 画像符号化装置及び記録再生装置とコンピュータ・ソフトウエア
WO2006070567A1 (ja) 動画像記録方法および動画像記録装置

Legal Events

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

Granted publication date: 20100922

Termination date: 20210905

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