CN101860740A - 编码装置和方法以及解码装置和方法 - Google Patents

编码装置和方法以及解码装置和方法 Download PDF

Info

Publication number
CN101860740A
CN101860740A CN201010157736A CN201010157736A CN101860740A CN 101860740 A CN101860740 A CN 101860740A CN 201010157736 A CN201010157736 A CN 201010157736A CN 201010157736 A CN201010157736 A CN 201010157736A CN 101860740 A CN101860740 A CN 101860740A
Authority
CN
China
Prior art keywords
mentioned
processing
decoding
processing speed
encoding process
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
CN201010157736A
Other languages
English (en)
Other versions
CN101860740B (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 CN101860740A publication Critical patent/CN101860740A/zh
Application granted granted Critical
Publication of CN101860740B publication Critical patent/CN101860740B/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

一种编码装置和方法以及解码装置和方法,在编码处理或解码处理中能够更有效地利用硬件资源。控制部(101)在图像编码部(112)的图像编码处理的处理速度高于输入系统(111)的处理速度的情况下,使图像编码处理的处理速度降低,以配合输入系统(111)的处理速度。另外,控制部(101)在图像编码部(112)的图像编码处理的处理速度高于输出系统(113)的处理速度的情况下,使图像编码处理的处理速度降低,在图像编码部(112)的图像编码处理的处理速度低于输出系统(113)的处理速度的情况下,使图像编码处理的处理速度提高,来使图像编码处理的处理速度配合输出系统(113)的处理速度。本发明能够应用于例如编码装置和解码装置。

Description

编码装置和方法以及解码装置和方法
技术领域
本发明涉及一种编码装置和方法以及解码装置和方法,特别是涉及一种在编码处理或解码处理中能够更有效地利用硬件资源的编码装置和方法以及解码装置和方法。
背景技术
在以往的存档系统(archive system)或图像的数据库中,存储并保持有称为主图像的非压缩图像,读出该主图像而通过编码器进行压缩。另外,经由网络等分发作为其压缩结果的文件,或者将作为其压缩结果的文件保存在存储介质中(例如参照专利文献1和专利文献2)。
另外,例如经由网络接收压缩了图像数据而得到的码流(codestream),通过解码器进行扩展。经由网络等分发作为扩展结果的图像数据,或者将作为扩展结果的图像数据保存在存储介质中。
专利文献1:日本专利3516450号公报
专利文献2:日本专利3594017号公报
发明内容
(发明要解决的问题)
然而,在这种系统中,还考虑存储介质的读取速度或写入速度相对于编码器或解码器的处理速度不足够高的情况。同样地,还考虑网络的传输速度相对于编码器或解码器的处理速度不足够高的情况。
也就是说,考虑相对于编码器或解码器的处理速度,它们的前级的处理部中的处理速度或者它们的后级的处理部中的处理速度不足够高的情况。换言之,例如考虑向编码器输入处理对象的图像数据的输入速度、或向解码器输入处理对象的码流的输入速度、或者从编码器输出处理结果的码流的输出速度或从解码器输出处理结果的图像数据的输出速度相对于编码器或解码器的处理速度不足够高的情况。
在这种情况下,由于系统整体的处理速度是根据前级或后级的处理部中的处理速度来确定的,因此即使将编码器或解码器的处理速度设为更高,也有可能系统整体的处理速度不提高、即不必要地增大负荷。
另外,相反地,也考虑编码器或解码器的处理速度相对于它们的前级的处理部中的处理速度和它们的后级的处理部中的处理速度不足够高的情况。
在这种情况下,由于系统整体的处理速度是根据编码器或解码器的处理速度来确定的,因此如果能够使编码器或解码器的处理速度更高,则有可能是在不必要地降低系统整体的处理速度。
如上所述,不考虑各处理部的处理速度的关系,即使独立地调整各处理部的处理速度,也有可能导致系统整体的处理速度不提高而不必要地消耗硬件资源。
特别是,在可逆压缩的情况下,其压缩率根据图像的难易度而较大地变化,因此编码或解码的处理速度有可能根据图像而较大地变化。因而,各处理部的处理速度的关系变得更不稳定,因此有可能导致更加不必要地消耗硬件资源。
本发明是鉴于这种情况而提出的,用于在编码处理或解码处理中能够更有效地利用硬件资源。
本发明的一个方面是一种编码装置,具备:第一处理单元,对作为编码处理的对象的图像数据,在进行上述编码处理之前进行规定的第一处理;编码单元,对通过上述第一处理单元进行了上述第一处理的上述图像数据,进行上述编码处理并生成码流;第二处理单元,对通过由上述编码单元进行的上述编码处理生成的上述码流,进行规定的第二处理;以及控制单元,根据上述第一处理单元进行的上述第一处理的处理速度和上述第二处理单元进行的上述第二处理的处理速度,来控制上述编码单元进行的上述编码处理的处理速度。
可以是,上述控制单元在上述编码处理的处理速度高于上述第一处理的处理速度或者上述第二处理的处理速度的情况下,使上述编码处理的处理速度降低。
可以是,上述控制单元在上述编码处理的处理速度低于上述第二处理的处理速度的情况下,使上述编码处理的处理速度上升。
可以是,由上述第一处理单元进行的上述第一处理包括从存储部读出上述图像数据或者经由网络接收上述图像数据的处理。
可以是,由上述第二处理单元进行的上述第二处理包括在存储部中存储上述码流或者经由网络发送上述码流的处理。
可以是,上述编码单元由具有多个核的处理器来实现,上述控制单元通过增减对上述编码处理分配的上述核的数量,来控制上述编码处理的处理速度。
可以是,上述编码单元通过可逆编码方式来进行上述编码处理。
可以是,上述编码单元通过JPEG2000方式的可逆编码方式来进行上述编码处理,上述控制单元获取上述图像数据的每个代码块的零比特平面数,根据上述零比特平面数算出每个图片的有效比特平面数的总和,使用上述每个图片的有效比特平面数的总和,来控制上述编码单元进行的上述编码处理的处理速度。
可以是,还具备附加单元,该附加单元对上述码流附加与由上述控制单元进行的对上述编码处理的处理速度的控制有关的负荷控制信息。
此外,本发明的一个方面是一种编码方法,其特征在于:编码装置的第一处理单元对作为编码处理的对象的图像数据,在进行上述编码处理之前进行规定的第一处理;上述编码装置的编码单元对进行了上述第一处理的上述图像数据,进行上述编码处理并生成码流;上述编码装置的第二处理单元对通过上述编码处理生成的上述码流,进行规定的第二处理;上述编码装置的控制单元根据上述第一处理的处理速度和上述第二处理的处理速度,来控制上述编码处理的处理速度。
本发明的另一方面是一种解码装置,具备:第一处理单元,对作为解码处理的对象的、对图像数据进行编码而生成的码流,在进行上述解码处理之前进行规定的第一处理;解码单元,对通过上述第一处理单元进行了上述第一处理的上述码流,进行上述解码处理并生成上述图像数据;第二处理单元,对通过由上述解码单元进行的上述解码处理生成的上述图像数据,进行规定的第二处理;以及控制单元,根据上述第一处理单元进行的上述第一处理的处理速度和上述第二处理单元进行的上述第二处理的处理速度,来控制上述解码单元进行的上述解码处理的处理速度。
可以是,上述控制单元在上述解码处理的处理速度低于上述第一处理的处理速度的情况下,使上述解码处理的处理速度上升。
可以是,上述控制单元在上述解码处理的处理速度高于上述第一处理的处理速度或者上述第二处理的处理速度的情况下,使上述解码处理的处理速度降低。
可以是,由上述第一处理单元进行的上述第一处理包括从存储部读出上述码流或者经由网络接收上述码流的处理。
可以是,由上述第二处理单元进行的上述第二处理包括在存储部中存储上述图像数据或者经由网络发送上述图像数据的处理。
可以是,上述解码单元由具有多个核的处理器来实现,上述控制单元通过增减对上述解码处理分配的上述核的数量,来控制上述解码处理的处理速度。
可以是,上述解码单元通过JPEG2000方式的可逆解码方式来进行上述解码处理。
可以是,上述控制单元根据上述码流的文件尺寸的大小,来控制上述解码单元进行的上述解码处理的处理速度。
此外,本发明的另一方面是一种解码方法,其特征在于:解码装置的第一处理单元对作为解码处理的对象的、对图像数据进行编码而生成的码流,在进行上述解码处理之前进行规定的第一处理;上述解码装置的解码单元对进行了上述第一处理的上述码流,进行上述解码处理并生成上述图像数据;上述解码装置的第二处理单元对通过上述解码处理生成的上述图像数据,进行规定的第二处理;上述解码装置的控制单元根据上述第一处理的处理速度和上述第二处理的处理速度,来控制上述解码处理的处理速度。
在本发明的一个方面中,对作为编码处理的对象的图像数据,在进行上述编码处理之前进行规定的第一处理;对进行了上述第一处理的上述图像数据进行上述编码处理并生成码流;对通过上述编码处理使上述图像数据被编码而生成的上述码流,进行规定的第二处理;根据上述第一处理的处理速度和上述第二处理的处理速度,来控制上述编码处理的处理速度。
在本发明的另一个方面中,对作为解码处理的对象的、对图像数据进行编码而生成的码流,在进行解码处理之前进行规定的第一处理;对进行了第一处理的码流进行解码处理并生成图像数据;对通过解码处理使码流被解码而生成的图像数据,进行规定的第二处理;根据第一处理的处理速度和第二处理的处理速度,来控制解码处理的处理速度。
根据本发明,能够处理信息。特别是在编码处理或解码处理中,能够更有效地利用硬件资源。
附图说明
图1是表示应用了本发明的编码装置的主要结构例的框图。
图2是表示图1的编码装置的具体例的图。
图3是表示图1的编码装置的具体例的图。
图4是表示控制部的主要结构例的框图。
图5是说明编码控制处理的流程的例子的流程图。
图6是说明负荷控制处理的流程的例子的流程图。
图7是表示图像编码部的主要结构例的框图。
图8是说明子带(sub-band)的例子的图。
图9是说明代码块的例子的图。
图10是说明比特平面的例子的图。
图11是表示控制部的主要结构例的框图。
图12是说明零比特平面的例子的图。
图13是说明用于根据有效比特平面数求出处理速度的校正量的表信息的例子的图。
图14是说明编码控制处理的流程的例子的流程图。
图15是说明硬件资源的例子的框图。
图16是表示控制部的主要结构例的框图。
图17是说明编码控制处理的流程的例子的流程图。
图18是表示控制部的主要结构例的框图。
图19是说明主头部的例子的示意图。
图20是说明命令语法的结构例的图。
图21是说明编码控制处理的流程的例子的流程图。
图22是表示解码装置的主要结构例的框图。
图23是表示图1的编码装置的具体例的图。
图24是表示图1的编码装置的具体例的图。
图25是表示控制部的主要结构例的框图。
图26是说明解码控制处理的流程的例子的流程图。
图27是说明负荷控制处理的流程的例子的流程图。
图28是表示图像解码部的主要结构例的框图。
图29是表示控制部的主要结构例的框图。
图30是说明解码控制处理的流程的例子的流程图。
图31是表示控制部的主要结构例的框图。
图32是说明解码控制处理的流程的例子的流程图。
(附图标记说明)
100:编码装置;101:控制部;111:输入系统;112:图像编码部;113:输出系统;183:编码处理控制部;184:负荷信息获取部;185:负荷控制部;191:吞吐量信息;251:零比特平面数;252:表信息;461:硬件资源分配部;471:信息附加部;600:解码装置;601:控制部;611:输入系统;612:图像解码部;613:输出系统;683:解码处理控制部;684:负荷信息获取部;685:负荷控制部;693:吞吐量信息;751:文件尺寸;752:表信息;761:硬件资源分配部。
具体实施方式
下面,说明用于实施发明的方式(以下称为实施方式)。此外,按如下顺序进行说明。
第一实施方式(编码控制处理)
第二实施方式(编码方式为JPEG2000的情况下的编码控制处理)
第三实施方式(分配硬件资源的编码控制处理)
第四实施方式(对解码控制处理提供负荷信息的编码控制处理)
第五实施方式(解码控制处理)
第六实施方式(编码方式为JPEG2000的情况下的解码控制处理)
第七实施方式(分配硬件资源的解码控制处理)
<1.第一实施方式>
[编码装置的结构]
图1是表示应用了本发明的编码装置的主要结构例的框图。图1所示的编码装置100是以规定的编码方式对图像数据进行编码来生成码流的装置。编码装置100具有控制部101、输入系统111、图像编码部112以及输出系统113。
控制部101控制输入系统111至输出系统113,使其执行与图像数据的编码有关的处理。
输入系统111是由利用任意的硬件资源实现的一个或多个处理部构成的系统。输入系统111被控制部101所控制,对成为编码处理的对象的图像数据进行例如从存储介质读出图像数据或者接收由其它装置经由网络发送的图像数据等的任意的处理。另外,输入系统111被控制部101所控制,如箭头121所示,向图像编码部112提供实施了任意处理的该图像数据。
图像编码部112被控制部101所控制,如箭头121所示,获取从输入系统111提供的图像数据。另外,图像编码部112被控制部101所控制,以规定的方式对获取到的图像数据进行编码来生成码流。并且,图像编码部112被控制部101所控制,如箭头122所示,向输出系统113提供所生成的码流。
输出系统113是由利用任意的硬件资源实现的一个或多个处理部构成的系统。输出系统113被控制部101所控制,如箭头122所示,获取从图像编码部112提供的码流。另外,输出系统113被控制部101所控制,对获取到的码流进行例如存储到存储介质或者经由网络向其它装置发送等的任意的处理。
如箭头131所示,控制部101从输入系统111获取表示由输入系统111进行的处理的处理速度的输入速率信息。同样地,如箭头132所示,控制部101从输出系统113获取表示由输出系统113进行的处理的处理速度的输出速率信息。并且,如箭头133所示,控制部101从图像编码部112获取表示由图像编码部112进行的图像编码处理的负荷量的负荷信息133。
另外,如箭头134所示,控制部101向输入系统111提供控制信息来控制输入系统111的处理。并且,如箭头135所示,控制部101向图像编码部112提供控制信息来控制图像编码处理。另外,如箭头136所示,控制部101向输出系统113提供控制信息来控制输出系统113的处理。
此时,控制部101根据输入速率信息、输出速率信息以及负荷信息,来确定由图像编码部112进行的图像编码处理的处理速度。
在此,处理速度是指每单位时间的处理量(所谓的吞吐量)。例如由在每单位时间内处理的图像数据(码流)的数据量(所谓的速率)来表示该处理速度。也就是说,输入速率信息是表示在输入系统111中每单位时间内处理的图像数据的数据量(输入速率)的信息。同样地,输出速率信息是表示在输出系统113中每单位时间内处理的图像数据的数据量(输出速率)的信息。
该输入速率信息既可以是分配给输入系统111的硬件资源的规格,也可以是在输入系统111中实际进行的处理的速度测量结果。同样地,输出速率信息既可以是分配给输出系统113的硬件资源的规格,也可以是在输出系统113中实际进行的处理的速度测量结果。
此外,输入速率信息和输出速率信息既可以是例如每单位时间内处理的数据量那样直接表示吞吐量的信息,也可以是例如硬件资源的量那样能够变换为每单位时间的处理量的间接表示吞吐量的信息。当然,输入速率信息和输出速率信息中也可以包含多个信息,如并用硬件资源的规格和速度测量结果等。
负荷信息是表示由图像编码部112进行的图像编码处理的预测的负荷大小的预测信息。换言之,负荷信息表示图像编码处理的处理速度(吞吐量)的预测值。更具体地说,负荷信息例如由表示图像数据的编码难易度的信息、过去的图像数据的吞吐量、表示硬件资源的分配量的信息或者其它设定信息等构成。也就是说,负荷信息只要是能够求出图像编码处理的吞吐量的预测值的信息,就可以是任意的信息。
控制部101将根据负荷信息求出的图像编码处理的处理速度与输入系统111的处理的处理速度、输出系统113的处理的处理速度进行比较,根据它们的比较结果来控制图像编码处理的处理速度。
例如,控制部101在图像编码处理的处理速度高于输入系统111的处理的处理速度的情况下,使图像编码处理的处理速度降低到输入系统111的处理速度。另外,例如在图像编码处理的处理速度高于输出系统113的处理的处理速度的情况下,控制部101使图像编码处理的处理速度降低到输出系统113的处理速度。并且,例如在图像编码处理的处理速度低于输出系统113的处理的处理速度的情况下,控制部101使图像编码处理的处理速度上升到输出系统113的处理速度。
这样,控制部101还考虑由输入系统111、输出系统113等的图像编码部112的前级或后级的处理部进行的处理的处理速度,来确定图像编码处理的处理速度,因此能够控制图像编码处理的处理速度以提高编码装置100整体的处理速度。
通过这种控制,编码装置100能够对编码处理分配硬件资源使得抑制不必要地增大负荷。也就是说,编码装置100在编码处理中能够更有效地利用硬件资源。
接着说明这种编码装置100的结构的具体例。
图2是表示图1的编码装置的具体例的图。编码装置100A表示图1的编码装置100的结构的具体的一例。如图2所示,在编码装置100A中,控制部101和图像编码部112连接在总线141上。总线141上还连接有存储部142、高速缓冲存储器143以及输入输出接口144。
总线141是在连接于总线141的处理部之间进行交换的数据的传输介质。例如由PCI总线(Peripheral Components Interconnect bus:外围设备互连总线)等构成。存储部142是存储数据的存储介质。例如由硬盘、快闪存储器等构成。
高速缓冲存储器143是暂时保持数据的存储介质。例如由RAM(Random Access Memory:随机存取存储器)等的与存储部142的读取速度、输入输出接口144的吞吐量相比能够高速地交换数据的半导体存储器构成。
输入输出接口144进行编码装置100A的数据的交换。输入输出接口144例如获取从编码装置100A的外部的网络151提供的数据,并将该数据经由总线141提供给高速缓冲存储器143等。另外,输入输出接口144例如获取从图像编码部112等经由总线141提供的数据,并将该数据经由网络151提供给其它装置。例如由HDMI(High-DefinitionMultimedia Interface:高清晰度多媒体接口)、HD-SDI(HighDefinition Serial Digital Interface:高清晰度串行数字接口)、Ethernet(注册商标)(LAN(Local Area Network:局域网)板(board))等构成。
在这种结构的编码装置100A中,编码对象的图像数据被存储在存储部142中。如虚线箭头161所示,控制部101使该图像数据从存储部142读出,并经由总线141向高速缓冲存储器143提供而将该图像数据保持在高速缓冲存储器143中。
另外,如虚线箭头162所示,控制部101使保持在高速缓冲存储器143中的图像数据被读出,且经由总线141向图像编码部112提供并编码。
并且,如虚线163所示,控制部101将对图像数据编码而得到的码流经由总线141提供给输入输出接口144,并从输入输出接口144向外部的网络151输出该码流。
也就是说,在该编码装置100A中,如一点划线所示,由总线141、存储部142以及高速缓冲存储器143形成输入系统111,如双点划线所示,由总线141和输入输出接口144形成输出系统113。
在输入系统111中,一般从存储部142读出数据的读取速率低于总线141的传输速率或高速缓冲存储器143的数据输入输出速率。因而,如参照图1所说明的那样,控制部101在图像编码部112的图像编码处理的处理速度(吞吐量)高于存储部142的数据读取速度的情况下,使图像编码部112的图像编码处理的处理速度降低,以配合存储部142的数据读取速度(输入系统111的处理速度)。
在输出系统113中,一般输入输出接口144的数据的输入输出速率(吞吐量)低于总线141的传输速率。因而,如参照图1所说明的那样,控制部101在图像编码部112的图像编码处理的处理速度(吞吐量)高于输入输出接口144的数据的输入输出速度的情况下,使图像编码部112的图像编码处理的处理速度降低,以配合输入输出接口144的数据输入输出速度(输出系统113的处理速度)。
另外,如参照图1所说明的那样,控制部101在图像编码部112的图像编码处理的处理速度(吞吐量)低于输入输出接口144的数据的输入输出速度的情况下,使图像编码部112的图像编码处理的处理速度提高,以配合输入输出接口144的数据输入输出速度(输出系统113的处理速度)。
通过这样由控制部101控制编码处理,编码装置100A能够适当地调整各部分的处理速度,能够抑制产生不必要的等待时间。即,编码装置100A能够更有效地利用硬件资源来进行编码处理。
图3是表示图1的编码装置100的其它具体例的图。
编码装置100B表示图1的编码装置100的结构的其它具体的一例。如图3所示,在编码装置100B中,控制部101和图像编码部112连接在总线141上。总线141上还连接有高速缓冲存储器143和输入输出接口144。
在这种结构的编码装置100B中,从其它装置经由网络151提供编码对象的图像数据。如虚线箭头171所示,控制部101控制输入输出接口144来获取该图像数据,并经由总线141向高速缓冲存储器143提供而将该图像数据保持在高速缓冲存储器143中。
另外,如虚线箭头172所示,控制部101使保持在高速缓冲存储器143中的图像数据被读出,并经由总线141向图像编码部112提供而进行编码。
并且,如虚线173所示,控制部101将对图像数据进行编码而得到的码流经由总线141提供给输入输出接口144,并从输入输出接口144向外部的网络151输出该码流。
也就是说,在该编码装置100B中,如一点划线所示,由总线141、高速缓冲存储器143以及输入输出接口144形成输入系统111,如双点划线所示,由总线141和输入输出接口144形成输出系统113。
在输入系统111中,一般输入输出接口144的数据的输入输出速率(吞吐量)低于总线141的传输速率、高速缓冲存储器143的数据输入输出速率。因而,如参照图1所说明的那样,控制部101在图像编码部112的图像编码处理的处理速度(吞吐量)高于输入输出接口144的数据的输入输出速度的情况下,使图像编码部112的图像编码处理的处理速度降低,以配合输入输出接口144的数据输入输出速度(输入系统111的处理速度)。
另外,与图2的情况同样地,控制部101在图像编码部112的图像编码处理的处理速度(吞吐量)高于输入输出接口144的数据的输入输出速度的情况下,使图像编码部112的图像编码处理的处理速度降低,以配合输入输出接口144的数据输入输出速度(输出系统113的处理速度)。
并且,与图2的情况同样地,控制部101在图像编码部112的图像编码处理的处理速度(吞吐量)低于输入输出接口144的数据的输入输出速度的情况下,使图像编码部112的图像编码处理的处理速度提高,以配合输入输出接口144的数据输入输出速度(输出系统113的处理速度)。
通过这样由控制部101控制编码处理,编码装置100B能够适当地调整各部分的处理速度,能够抑制产生不必要的等待时间。即,编码装置100B能够更有效地利用硬件资源来进行编码处理。
接着,说明进行这种控制的控制部101。图4是表示控制部的主要结构例的框图。如图4所示,控制部101具有输入速率信息获取部181、输出速率信息获取部182、编码处理控制部183、负荷信息获取部184、负荷控制部185以及存储部186。
输入速率信息获取部181从构成输入系统111的设备获取表示输入系统111的吞吐量的输入速率信息191,将该输入速率信息191存储到存储部186中。输出速率信息获取部182从构成输出系统113的设备获取表示输出系统113的吞吐量的输出速率信息192,将该输出速率信息192存储到存储部186中。
此外,该输入速率信息191和输出速率信息192既可以是在输入系统111或输出系统113中测量得到的值,也可以是构成输入系统111或输出系统113的设备的规格。因而,在预先确定构成输入系统111和输出系统113的设备并将这些设备的规格设为输入速率信息191和输出速率信息192的情况下,也可以设为例如在出厂时等将输入速率信息191和输出速率信息192预先存储到存储部186中。在这种情况下,能够省略输入速率信息获取部181和输出速率信息获取部182。
编码处理控制部183控制由图像编码部112进行的图像数据的编码处理。编码处理控制部183控制编码处理的吞吐量使其成为在负荷控制部185中确定的负荷量。
负荷信息获取部184获取表示图像编码部112的图像编码处理的负荷大小(负荷量)的预测值的负荷信息。例如,负荷信息获取部184获取直接或间接表示图像编码处理的吞吐量的预测值的吞吐量信息193来作为该负荷信息。吞吐量信息193的内容是任意的,例如由表示图像数据的编码难易度的信息、过去的编码处理的每单位时间的处理量等构成。负荷信息获取部184向负荷控制部185提供所获取的负荷信息。
负荷控制部185从存储部186读出输入速率信息191和输出速率信息192,根据这些信息和从负荷信息获取部184提供的负荷信息(吞吐量信息193)来确定图像编码部112的图像编码处理的负荷量。负荷控制部185通过控制编码处理控制部183,来控制图像编码处理的吞吐量使其成为所确定的负荷量。
存储部186是例如由RAM等半导体存储器构成的存储介质,存储输入速率信息191、输出速率信息192等信息。
[处理的流程]
接着,说明在如上所述的编码装置100中执行的各种处理的流程。首先,参照图5的流程图来说明由控制部101进行的编码控制处理的流程的例子。
当开始编码控制处理时,控制部101的输入速率信息获取部181在步骤S101中获取输入速率信息。在步骤S102中,输出速率信息获取部182获取输出速率信息。在步骤S103中,编码处理控制部183使图像数据从输入系统111(例如高速缓冲存储器143)读出,并输入到图像编码部112。
在步骤S104中,编码处理控制部183控制图像编码部112,执行对被输入的图像数据进行编码的图像编码处理。在步骤S105中,负荷信息获取部184关于该编码处理获取吞吐量信息193。
在步骤S106中,负荷控制部185根据输入速率和输出速率中的至少某一个,来控制通过步骤S104的控制来执行的图像编码处理的吞吐量。
在步骤S107中,编码处理控制部183使通过图像编码处理生成的码流向输出系统113输出并处理。
在步骤S108中,编码处理控制部183判断是否结束编码控制处理。例如未处理的图像数据存在于输入系统111(例如高速缓冲存储器143)等而判断为不结束编码控制处理的情况下,使处理返回到步骤S101,重复进行其以后的处理。
此时,在输入速率是固定值的情况下,能够省略步骤S101的处理。同样地,在输出速率是固定值的情况下,能够省略步骤S102的处理。
在步骤S108中,例如在输入系统111(例如高速缓冲存储器143)中不存在未处理的图像数据而判断为结束编码控制处理的情况下,编码控制处理结束。
此外,步骤S105的处理(吞吐量信息的获取)根据其信息的内容而以适当的定时进行。因而,例如也可以在步骤S104的处理之前进行步骤S105和步骤S106的处理。另外,例如也可以在执行图像编码处理的中途进行步骤S105和步骤S106的处理。
接着,参照图6的流程图来说明在图5的步骤S106中执行的负荷控制处理的详细的流程的例子。
当开始负荷控制处理时,负荷控制部185在步骤S121中根据输入速率信息191和吞吐量信息193,来判断编码处理的吞吐量是否高于输入速率。
在判断为编码处理的吞吐量高于输入速率的情况下,处理进入步骤S122。在这种情况下,图像编码处理的处理速度过快,来自输入系统111的图像数据的提供赶不上图像编码处理的处理速度。也就是说,图像编码处理不必要地消耗硬件资源。因此,负荷控制部185在步骤S122中使图像编码部112的图像编码处理的处理速度降低,使图像编码处理的吞吐量降低到输入速率。当步骤S122的处理结束时,返回到图5的步骤S106,执行其以后的处理。
在判断为编码处理的吞吐量不高于输入速率的情况下,处理进入步骤S123。负荷控制部185在步骤S123中根据输出速率信息192和吞吐量信息193,来判断编码处理的吞吐量是否高于输出速率。
在判断为编码处理的吞吐量高于输出速率的情况下,处理进入步骤S124。在这种情况下,图像编码处理的处理速度过快,输出系统113中的处理有可能溢出(overflow)。也就是说,图像编码处理不必要地消耗硬件资源。因此,负荷控制部185在步骤S124中使图像编码部112的图像编码处理的处理速度降低,使图像编码处理的吞吐量降低到输出速率。当步骤S124的处理结束时,返回到图5的步骤S106,执行其以后的处理。
在判断为编码处理的吞吐量不高于输出速率的情况下,处理进入步骤S125。负荷控制部185在步骤S125中根据输出速率信息192和吞吐量信息193,来判断编码处理的吞吐量是否低于输出速率。
在判断为编码处理的吞吐量低于输出速率的情况下,处理进入步骤S126。在这种情况下,图像编码处理的处理速度过慢,在输出系统113中产生处理的无用的空闲时间(等待时间)。也就是说,图像编码处理的硬件资源的消耗量过少。如果硬件资源有余量,则可以通过使图像编码处理进一步消耗硬件资源,来提高编码装置100的吞吐量。因此,负荷控制部185在步骤S126中使图像编码部112的图像编码处理的处理速度提高,使图像编码处理的吞吐量上升到输出速率。当步骤S126的处理结束时,返回到图5的步骤S106,执行其以后的处理。
在判断为编码处理的吞吐量不低于输出速率的情况下,负荷控制处理结束,返回到图5的步骤S106,执行其以后的处理。
通过进行如上所述的控制处理,编码装置100在编码处理中能够更有效地利用硬件资源。
此外,在图6中,按照图6所示的流程图的顺序说明了步骤S121、步骤S123或者步骤S125的各判断处理,但是各判断条件的优先顺序是任意的,从哪个判断开始进行都可以。另外,也可以仅在满足多个判断时进行编码处理的吞吐量的控制(例如步骤S122、步骤S124或者步骤S126)。
<2.第二实施方式>
[图像编码部的结构]
图像编码部112的编码方法是任意的,例如既可以是JPEG(JointPhotographic Experts Group:联合图像专家组)、MPEG(MovingPicture Experts Group:运动图像专家组)、AVC(Advanced VideoCoding:高级视频编码)、JPEG-LS(Lossless JPEG:无损JPEG)或者JPEG2000 Lossless等,也可以是除这些以外的方法。
下面说明编码方式为JPEG2000的情况。图7是表示图像编码部112的主要结构例的框图。如图7所示,图像编码部112具有DC电平位移部(DC level shift unit)201、小波变换部202、量化部203、代码块化部204以及比特平面展开部205。
DC电平位移部201为了有效地进行后级的小波变换,对如箭头231那样被输入到图像编码部112的图像数据进行DC成分(DCcomponent)的电平位移(level shift)。例如,RGB信号具有正的值(无符号的整数)。因此,DC电平位移部201利用这一点,进行将原信号的动态范围设为一半的电平位移,从而实现压缩效率的提高。因而,在将如YCbCr信号的Cb或Cr(色差信号)那样具有符号(有正负两者)的整数值的信号设为原信号的情况下,不进行该电平位移。
小波变换部202通常利用由低通滤波器和高通滤波器构成的滤波器组(filter bank)来实现。另外,数字滤波器通常具有多个抽头(tap)长度的脉冲响应(滤波系数),因此小波变换部122具有预先将能够进行滤波的量的输入图像进行缓冲的缓冲器。
小波变换部202在将如箭头232那样从DC电平位移部201输出的图像数据获取了滤波所需的最低限度的数据量以上时,使用规定的小波变换滤波器来对该DC电平位移后的图像数据进行滤波,生成小波系数。此外,小波变换部202对图像的垂直方向和水平方向分别进行将图像数据分离为低频成分和高频成分的滤波。
然后,小波变换部202对如图8所示那样在垂直方向和水平方向这两个方向上分离为低频成分的子带递归地重复进行规定次数的这种滤波处理。这是因为,图像的能量较多地集中在低频成分。
图8是表示通过分割级别数为3的小波变换处理来生成的子带的构成例的图。在这种情况下,小波变换部202首先对图像整体进行滤波,生成子带3LL(未图示)、3HL、3LH以及3HH。接着,小波变换部202对所生成的子带3LL再次进行滤波,生成2LL(未图示)、2HL、2LH以及2HH。并且,小波变换部122对所生成的子带2LL再次进行滤波,生成0LL、1HL、1LH以及1HH。
小波变换部202将通过滤波得到的小波系数按每个子带如箭头233所示那样提供给量化部203。量化部203对被提供的小波系数进行量化。该量化的方法是任意的,一般是除以量化步长尺寸的标量量化。量化部203将通过量化得到的量化系数如箭头234所示那样提供给代码块化部204。此外,在此之后的后级中,代替小波系数而提供量化系数,但是该量化系数也与小波系数的情况基本同样地被处理。因而,在下面,只要不必要,就省略关于该点的说明,简单称为系数或系数数据。
此外,图像编码部112在通过可逆编码方式对图像数据进行编码的情况下,省略该量化部203的处理,如箭头235所示那样,小波变换部202的输出被提供给代码块化部204,其中,上述可逆编码方式是通过解码处理能够完全复原原来的数据的方式。
小波系数在代码块化部204中被分割为作为熵编码的处理单位的规定大小的代码块。图9是表示各子带中的代码块的位置关系的图。例如在分割后的所有的子带中生成64×64像素程度的尺寸的代码块。在图8的例子中,当将分割级别最小的3HH的子带的大小例如设为640×320像素时,64×64像素的代码块总计存在50个。后级的各处理部按每个该代码块进行处理。
代码块化部204如箭头236所示那样将各代码块提供给比特平面展开部205。比特平面展开部205将系数数据展开到每个比特位的比特平面上。
比特平面是将由规定数量的小波系数构成的系数群按每一个比特、即按每位分割(切片)而得到的。也就是说,比特平面是该系数群的互为相同的位的比特(系数比特)的集合。
在图10中示出其具体例。图10的左图表示纵向4个、横向4个的总计16个的系数。该16个系数中,绝对值最大的是13,以二进制数表示为1101。比特平面展开部205将这种系数群展开到表示绝对值的4张比特平面(绝对值的比特平面)和表示符号的一张比特平面(符号的比特平面)。也就是说,图10中左侧的系数群如图10中的右侧所示那样被展开到4张绝对值的比特平面和1张符号的比特平面。在此,绝对值的比特平面的要素全部都取0或1的值。另外,表示符号的比特平面的要素取表示系数的值为正的值、表示系数的值为0的值和表示系数的值为负的值中的任一个。
图像编码部112还具有比特建模部206、算术编码部207、符号量加法部208、控制部209、头部生成部210以及数据包生成部211。
比特平面展开部205将展开后的比特平面如箭头237所示那样提供给比特建模部206。
比特建模部206和算术编码部207作为EBCOT(EmbeddedCoding with Optimized Truncation)部221来进行动作,对被输入的系数数据进行JPEG2000标准中规定的被称为EBCOT的熵编码。EBCOT是按规定大小的每个块在测量该块内的系数的统计量的同时进行编码的方法。
比特建模部206按照JPEG2000标准中规定的步骤,对系数数据进行比特建模,如箭头238所示那样向算术编码部207发送上下文(context)。算术编码部207对系数的比特平面进行算术编码。
代码块的纵横尺寸是4至256的2的幂,通常使用的大小中有32×32、64×64、128×32等。设系数值以n比特的带符号的二进制数来表示,bit0到bit(n-2)表示LSB到MSB的各个比特。剩下的一个比特表示符号。符号块的编码是从MSB侧的比特平面按顺序例如通过Significant Propagation Pass(重要性传播通道)、MagnitudeRefinement Pass(幅度细化通道)以及Cleanup Pass(清除通道)这三种编码通道来进行。
算术编码部207将所生成的码流如箭头239所示那样提供给符号量加法部208。符号量加法部208对该码流的符号量进行计数并累加。然后,符号量加法部208将该码流如箭头242和箭头243所示那样提供给头部生成部210和数据包生成部211,并且如箭头240所示那样将符号量的累加值提供给控制部209。控制部209将提供的符号量的累加值与目标符号量进行比较,在累加值小于目标符号量的情况下,如箭头241所示那样,控制EBCOT部221,使其进行下一个比特平面的编码。EBCOT部221按照该控制对下一个重要的比特平面进行编码,将所生成的码流提供给符号量加法部208。符号量加法部208对该码流的符号量进行计数并累加,并将该累加值提供给控制部209。
直到累加值达到目标符号量为止,重复进行如上所述的处理。然后,当累加值达到目标符号量时,控制部209控制EBCOT部221,使其结束编码处理。
数据包生成部211将提供的编码码流制作成数据包。头部生成部210生成该数据包的头部信息,将该头部信息如箭头244所示那样提供给数据包生成部211。数据包生成部211使用该头部信息来制作成数据包。所生成的数据包如箭头245所示那样输出到图像编码部112的外部。
[控制部的结构]
接着,说明控制这种图像编码部112的控制部。图11是表示控制部的主要结构例的框图。在图11中,控制部101基本上具有与参照图4所说明的情况同样的结构。即,控制部101具有编码处理控制部183至存储部186。
但是,在这种情况下,控制部101的负荷信息获取部184从图像编码部112获取零比特平面数251来作为负荷信息。
零比特平面表示由图像编码部112的比特平面展开部205展开的各比特平面中的从MSB起连续的、系数全部都是零的比特平面。也就是说,零比特平面数表示所有的系数都是零的比特平面从MSB起的连续数量。该值是在比特平面展开部205将代码块展开到比特平面的时刻确定的。负荷信息获取部184从图像编码部112的比特平面展开部205获取这样生成的零比特平面数251。
图12是说明零比特平面的例子的图。如图12所示,对每个代码块算出零比特平面数251。通过从各代码块的比特深度H减去该零比特平面数(NUM_ZB)(图12中空白部分),来算出各代码块的有效比特平面数(NUM_BP)(图12中斜线部分)。该有效比特平面数表示各代码块的大致的信息量。即,表示各代码块的大致的编码难易度。
存储部186中代替输入速率信息191、输出速率信息192而存储有表信息252。表信息252是用于根据图片内有效比特平面数的总和(ALL_NUM_BP)来确定图像编码处理的处理速度的控制量的表信息。在该表信息252中,考虑输入速率和输出速率来制作每个图片的有效比特平面数的总和与图像编码处理的处理速度的控制量之间的对应关系。
图13是说明用于根据有效比特平面数求出处理速度的校正量的表信息的例子的图。
如图13所示,在表信息252中,有效比特平面数的总和(ALL_NUM_BP)可取的值被划分为多个范围,对各范围分配有图像编码处理的处理速度的校正量。例如,在图13的例子的情况下,将有效比特平面数的总和(ALL_NUM_BP)为“501”至“1000”时设为标准值,不变更图像编码处理的处理速度(×1.0倍)。另外,在有效比特平面数的总和(ALL_NUM_BP)大于该标准值的情况下,与该值相应地提高处理速度,在有效比特平面数的总和(ALL_NUM_BP)小于该标准值的情况下,与该值相应地降低处理速度。
也就是说,负荷控制部185根据由负荷信息获取部184获取的每个代码块的零比特平面数251求出各代码块的有效比特平面数,进一步按每个图片求出该有效比特平面数的总和。负荷控制部185进一步使用从存储部186读出的表信息252来求出与该有效比特平面数的总和对应的图像编码处理的处理速度的控制量,来控制编码处理控制部183。通过这样,负荷控制部185根据输入速率、输出速率以及负荷信息来控制图像编码处理的负荷量。
因而,与上述情况同样地,编码装置100在编码处理中能够更有效地利用硬件资源。
此外,在这种情况下,省略图4的输入速率信息获取部181和输出速率信息获取部182。
[处理的流程]
接着,参照图14的流程图来说明这种情况下的编码控制处理的流程的例子。
当开始编码控制处理时,编码处理控制部183在步骤S201中使图像数据从输入系统111(例如高速缓冲存储器143)输入到图像编码部112。
在步骤S202中,编码处理控制部183使DC电平位移部201对DC电平进行位移。在步骤S203中,编码处理控制部183使小波变换部202进行小波变换。另外,在非可逆编码方式的情况下,编码处理控制部183使量化部203量化小波系数。在步骤S204中,编码处理控制部183使代码块化部204以代码块为单位分割系数。在步骤S205中,编码处理控制部183使比特平面展开部205将每个代码块的系数展开到比特平面。
在步骤S206中,负荷信息获取部184从比特平面展开部205获取各代码块的零比特平面数251。负荷控制部185在步骤S207中根据零比特平面数251算出每个图片的有效比特平面数的总和。负荷控制部185在步骤S208中参照表信息252,根据每个图片的有效比特平面数的总和(ALL_NUM_BP)来控制图像编码处理的吞吐量。
在步骤S209中,编码处理控制部183控制EBCOT部221等来使其以由负荷控制部185确定的吞吐量来进行熵编码。
编码处理控制部183控制头部生成部210和数据包生成部211,在步骤S210中生成数据包,在步骤S211中将该数据包输出到输出系统113。
在步骤S212中,编码处理控制部183判断是否结束编码控制处理。在判断为不结束的情况下,返回到步骤S201,重复进行其以后的处理。另外,在步骤S212中,在判断为结束编码控制处理的情况下,编码控制处理结束。
通过这样进行控制,编码装置100在编码处理中能够更有效地利用硬件资源。
此外,在图7的图像编码部112中,EBCOT部221的处理的负荷非常大,与其相比,DC电平位移部201至比特平面展开部205的各处理的负荷较小。因而,在展开比特平面时,通过根据该有效比特平面数来求出图像编码处理的吞吐量,控制部101能够更高速地控制图像编码处理,能够抑制延迟时间增大。
另外,特别是在可逆编码的情况下,与非可逆编码的情况相比,基于图像数据的编码难易度的编码处理的负荷的增减较大。因而,不必要地消耗硬件资源的可能性大。然而,通过控制部101如上所述那样进行控制,能够以图片为单位来控制图像编码处理的负荷量,因此在可逆编码的情况下,也能够更有效地利用硬件资源。
以上的图像编码处理的吞吐量的控制方法是任意的。例如,既可以变更图像编码处理的时钟速度,也可以增减对图像编码处理的执行所分配的时间,还可以变更编码方法。
另外,例如也可以通过软件来实现图像编码部112的图像编码处理,在这种情况下,也可以通过由控制部101增减对图像编码处理所分配的硬件资源的量,来控制图像编码处理的吞吐量。例如,在使用多个CPU、具有多个核的CPU(Central Processing Unit:中央处理单元)或对应多线程的CPU来执行图像编码处理的情况下,控制部101也可以通过增减对图像编码处理所分配的CPU数、核数或线程数,来控制图像编码处理的吞吐量。
<3.第三实施方式>
[硬件资源的结构]
下面,说明使用具有多个核的CPU来进行图像编码处理的情况下的硬件资源分配方法的情形。图15是说明这种情况下的硬件资源的例子的框图。
如图15所示,信息处理系统300具有实现图像编码处理的信息处理装置301。在该信息处理装置301上经由PCI总线302连接有各种装置。例如连接有存储装置303、多台作为磁带录像机(VTR)的VTR304-1至VTR304-S。另外,还连接有用于用户进行对于这些部件的操作输入的鼠标305、键盘306以及操作控制器307等。信息处理系统300是由这些各装置构成的系统,是通过所安装的程序来进行图像编码处理、图像解码处理等的系统。
例如,信息处理系统300的信息处理装置301能够读出存储在大容量的存储装置303中的运动图像内容来进行编码,并将得到的编码数据写回到存储装置303。并且,信息处理装置301还能够将通过编码处理得到的编码数据经由VTR304-1至VTR304-S记录到录像带中。另外,信息处理装置301还能够将记录在安装于VTR304-1至VTR304-S的录像带中的运动图像内容取入到存储装置303。此时,也可以设为信息处理装置301对运动图像内容进行编码。
信息处理装置301除了具有微处理器401、GPU(GraphicsProcessing Unit:图形处理单元)402之外,还具有XDR(Extreme DataRate:极限数据速率)-RAM(Random Access Memory:随机存取存储器)403、南桥芯片(south bridge)404。另外,信息处理装置301具有HDD(Hard Disk Drive:硬盘驱动器)405、USB(Universal Serial Bus:通用串行总线)接口(USB I/F)406以及声音输入输出编解码器407。
GPU402经由专用总线411与微处理器401相连接。XDR-RAM403经由专用总线412与微处理器401相连接。南桥芯片404经由专用总线与微处理器401的I/O控制器444相连接。该南桥芯片404上还连接有HDD405、USB接口406以及声音输入输出编解码器407。该声音输入输出编解码器407上连接有扬声器421。另外,GPU402上连接有显示器422。南桥芯片404还经由PCI总线302连接有鼠标305、键盘306、VTR304-1至VTR304-S、存储装置303以及操作控制器307。
鼠标305和键盘306接收用户的操作输入,经由PCI总线302和南桥芯片404将表示用户的操作输入的内容的信号提供给微处理器401。存储装置303和VTR304-1至VTR304-S能够记录或再现规定的数据。PCI总线302上根据需要还连接驱动器308,适当安装磁盘、光盘、光磁盘或者半导体存储器等可移动介质311,从它们中读出的计算机程序根据需要被安装到HDD405。
微处理器401具有执行OS(Operating System:操作系统)等基本程序的通用的主CPU核441。另外,在主CPU核441上经由共用总线445连接有多个(在这种情况下是8个)作为RISC(Reduced Instruction SetComputer:精简指令集计算机)类型的信号处理器的子CPU核442-1至子CPU核442-8。另外,共用总线445上还连接有存储器控制器443,该存储器控制器443对具有例如256[MByte]的容量的XDR-RAM403进行存储控制。并且,共用总线445上还连接有I/O(In/Out)控制器444,该I/O控制器444管理与南桥芯片404之间的数据的输入输出。微处理器401是这些结构集成于一个芯片的多核结构的处理器。微处理器401的动作频率例如是4[GHz]。
该微处理器401在启动时根据保存在HDD405中的控制程序,读出保存在HDD405中的需要的应用程序并展开到XDR-RAM403,之后根据该应用程序和操作员操作来执行所需的控制处理。另外,微处理器401通过执行软件来实现编码处理、解码处理。例如,微处理器401能够将进行编码的结果得到的编码流经由南桥芯片404提供给HDD405来进行存储。另外,微处理器401例如能够将进行解码的结果得到的运动图像内容的再现影像向GPU402进行数据传输并显示在显示器422上。
微处理器401内的各CPU核的使用方法是任意的,例如主CPU核441进行控制部101的处理,8个子CPU核442-1至子CPU核442-8分别进行图像编码部112的图像编码处理。在这种信息处理系统300的微处理器401中的8个子CPU核442-1至子CPU核442-8中分别内置有高速缓冲存储器。也就是说,8个子CPU核442-1至子CPU核442-8能够分别利用作为各自的内部存储器的高速缓冲存储器和作为外部存储器的XDR-RAM403这两者。
此外,下面,在不需要将子CPU核442-1至子CPU核442-8相互区分来进行说明的情况下,称为子CPU核442。在图15中,示出了该子CPU核442的数量是设置有8个,但是实际上该子CPU核442的数量是任意的。各子CPU核442中事先分配有用于通过主CPU核441进行图像编码处理的软件程序(加载到高速缓冲存储器)。各子CPU核442通过执行所分配的软件程序来实现编码处理。
[控制部的结构]
图16是表示在使用图15所示的硬件资源来执行图像编码处理的情况下的控制部的主要结构例的框图。
这种情况下的控制部101的结构基本上也与参照图4所说明的情况相同,但是代替负荷控制部185而具有硬件资源分配部461。硬件资源分配部461根据输入速率信息191、输出速率信息192以及吞吐量信息193,来控制对图像编码处理分配的硬件资源、即子CPU核442的核数。编码处理控制部183使用由硬件资源分配部461分配的子CPU核442来进行图像编码处理。
此外,在此,设输入速率信息191和输出速率信息192预先存储在存储部186中,省略输入速率信息获取部181和输出速率信息获取部182。当然,也可以设为具有这些部件。
[处理的流程]
接着,参照图17的流程图来说明这种情况下的编码控制处理的流程的例子。
当开始编码控制处理时,控制部101的编码处理控制部183在步骤S301中使图像数据从输入系统111(例如高速缓冲存储器143)读出并输入到图像编码部112。
在步骤S302中,编码处理控制部183控制图像编码部112,来执行对被输入的图像数据进行编码的图像编码处理。在步骤S303中,负荷信息获取部184关于该编码处理获取吞吐量信息193。
在步骤S304中,硬件资源分配部461根据输入速率和输出速率中的至少某一方,对图像编码处理的一部分或全部分配硬件资源。此时,例如在编码方法为JPEG2000的情况下,既可以控制对编码处理整体分配的硬件资源,也可以控制对由EBCOT部221进行的熵编码处理分配的硬件资源。
在步骤S305中,编码处理控制部183使通过图像编码处理生成的码流向输出系统113输出,并被处理。
在步骤S306中,编码处理控制部183判断是否结束编码控制处理。在例如由于未处理的图像数据存在于输入系统111(例如高速缓冲存储器143)中等而判断为不结束编码控制处理的情况下,处理返回到步骤S301,重复进行其以后的处理。
在步骤S306中,例如在输入系统111(例如高速缓冲存储器143)中不存在未处理的图像数据而判断为结束编码控制处理的情况下,结束编码控制处理。
此外,步骤S303的处理(吞吐量信息的获取)根据其信息的内容而以适当的定时进行。因而,例如也可以在步骤S302的处理之前进行步骤S303和步骤S304的处理。另外,例如也可以在执行图像编码处理的中途进行步骤S303和步骤S304的处理。
通过如上所述的控制处理,控制部101例如在图像编码处理的吞吐量过低的情况下,通过增加对图像编码处理分配的硬件资源(例如核数),来能够提高吞吐量。另外,例如在图像编码处理的吞吐量过高的情况下,控制部101通过减少对图像编码处理分配的硬件资源(例如核数),来能够使吞吐量降低。
这样,控制部101根据输入速率或输出速率等来能够将对图像编码处理分配的硬件资源的量保持为更适当的状态。未分配给图像编码处理的核例如能够分配给其它处理,因此通过如上所述的控制,更有效地利用子CPU核442。也就是说,编码装置100在编码处理中能够更有效地利用硬件资源。
此外,在控制对图像编码处理分配的CPU的数量的情况、控制对图像编码处理分配的线程数的情况下,也基本上与控制核数的情况同样地进行控制。
<4.第四实施方式>
[控制部的结构]
此外,以上说明的与负荷量的控制有关的信息能够在解码处理时利用于硬件资源的分配控制。作为该信息,例如有图像编码处理的压缩率、图像编码处理的吞吐量、分配给图像编码处理的核数或者变更这些时的输入速率、输出速率等系统环境条件等。当然,也可以是除这些信息以外的信息。
图18是表示这种情况下的控制部的主要结构例的框图。如图18所示,在这种情况下,控制部101基本上具有与参照图16所说明的情况相同的结构,但是还具有信息附加部471。
信息附加部471例如将图像编码处理的压缩率、图像编码处理的吞吐量、分配给图像编码处理的核数或者变更这些时的输入速率、输出速率等系统环境条件等的与负荷量的控制有关的信息作为负荷控制信息来附加到通过图像编码处理生成的码流的头部。信息附加部471例如附加到码流的主头部。
图19是说明编码方式为JPEG2000的情况下的码流的主头部的例子的示意图。如图19所示,在编码方式为JPEG2000的情况下,在码流的主头部480中接着SOC481形成有SIZ482。SIZ482中形成有COD483、COC484、QCD485、QCC486、RGN487、POC488以及COM489等标记段。
在JPEG2000中,COM489的语法确定为如图20所示,包含COM491、Lcom492以及Rcom493等标记。Rcom493是16比特的参数,值“0”和“1”被预约,但是除此以外的值能够被更改,能够自由地使用。
信息附加部471使用“0”和“1”以外的值来对该Rcom493附加压缩率等的附加控制信息。也就是说,能够定义值“2”至值“65,535”的值,因此例如设为压缩率=三分之二=0.6667,且压缩率×65,535=43,690即可。
[处理的流程]
参照图21的流程图来说明这种情况下的编码控制处理的流程的例子。
当开始编码控制处理时,编码处理控制部183在步骤S401中使图像数据从输入系统111(例如高速缓冲存储器143)读出,并输入到图像编码部112。
在步骤S402中,编码处理控制部183控制图像编码部112,来执行对被输入的图像数据进行编码的图像编码处理。在步骤S403中,负荷信息获取部184关于该编码处理获取吞吐量信息193。
在步骤S404中,硬件资源分配部461根据输入速率和输出速率中的至少某一方,对图像编码处理的一部分或全部分配硬件资源。此时,例如在编码方法为JPEG2000的情况下,既可以控制对编码处理整体分配的硬件资源,也可以控制对由EBCOT部221进行的熵编码处理分配的硬件资源。
在步骤S405中,信息附加部471例如将图像编码处理的压缩率等的负荷控制信息登记到码流的头部。
在步骤S406中,编码处理控制部183使通过图像编码处理生成的码流向输出系统113输出并处理。
在步骤S407中,编码处理控制部183判断是否结束编码控制处理。在例如由于未处理的图像数据存在于输入系统111(例如高速缓冲存储器143)中等而判断为不结束编码控制处理的情况下,处理返回到步骤S401,重复进行其以后的处理。
在步骤S407中,例如在输入系统111(例如高速缓冲存储器143)中不存在未处理的图像数据而判断为结束编码控制处理的情况下,结束编码控制处理。
此外,步骤S403的处理(吞吐量信息的获取)根据其信息的内容而以适当的定时进行。因而,例如也可以在步骤S402的处理之前进行步骤S403和步骤S404的处理。另外,例如也可以在执行图像编码处理的中途进行步骤S403和步骤S404的处理。
通过如上所述的控制处理,控制部101能够向解码装置提供例如包含图像的压缩率、分配给图像编码处理的核数或者变更吞吐量时的系统环境信息(变更条件的历史信息)等的负荷控制信息。
<5.第五实施方式>
[解码装置的结构]
如上所述的负荷控制也能够应用于解码处理。
图22是表示解码装置的主要结构例的框图。
如图22所示的解码装置600是如下装置:利用与编码装置100的图像编码处理对应的方法来进行图像解码处理,并对编码装置100所生成的码流进行解码来得到图像数据。解码装置600具有控制部601、输入系统611、图像解码部612以及输出系统613。
控制部601控制输入系统611至输出系统613,来执行与图像数据的解码有关的处理。
输入系统611是与输入系统111同样地由利用任意的硬件资源实现的一个或多个处理部构成的系统。输入系统611被控制部601所控制,对成为解码处理的对象的码流进行例如从存储介质读出码流、或者接收从其它装置经由网络发送的码流等的任意的处理。另外,输入系统611被控制部601所控制,如箭头621所示,将实施任意的处理后的该图像数据提供给图像解码部612。
图像解码部612被控制部601所控制,如箭头621所示,获取从输入系统611提供的码流。另外,图像解码部612被控制部601所控制,以规定的方式对所获取的码流进行解码来生成图像数据。并且,图像解码部612被控制部601所控制,如箭头622所示,向输出系统613提供所生成的图像数据。
输出系统613是与输出系统113同样地由利用任意的硬件资源实现的一个或多个处理部构成的系统。输出系统613被控制部601所控制,如箭头622所示,获取从图像解码部612提供的图像数据。另外,输出系统613被控制部601所控制,对所获取的码流进行例如存储到存储介质、或者经由网络向其它装置发送等的任意的处理。
如箭头631所示,控制部601从输入系统611获取表示由输入系统611进行的处理的处理速度的输入速率信息。同样地,如箭头632所示,控制部601从输出系统613获取表示由输出系统613进行的处理的处理速度的输出速率信息。并且,如箭头633所示,控制部601从图像解码部612获取表示由图像解码部612进行的图像解码处理的负荷量的负荷信息633。
另外,如箭头634所示,控制部601向输入系统611提供控制信息来控制输入系统611的处理。并且,如箭头635所示,控制部601向图像解码部612提供控制信息来控制图像解码处理。另外,如箭头636所示,控制部601向输出系统613提供控制信息来控制输出系统613的处理。
此时,控制部601根据输入速率信息、输出速率信息以及负荷信息,来确定由图像解码部612进行的图像解码处理的处理速度。
此外,在解码装置600的情况下,负荷信息是表示由图像解码部612进行的图像解码处理的预测的负荷大小的预测信息。基本上是与编码装置100的情况相同的信息。
控制部601将根据负荷信息求出的图像解码处理的处理速度与输入系统611的处理的处理速度或输出系统613的处理的处理速度进行比较,根据它们的比较结果来控制图像解码处理的处理速度。
例如,控制部601在图像解码处理的处理速度低于输入系统611的处理的处理速度的情况下,使图像解码处理的处理速度上升到输入系统611的处理速度。另外,例如控制部601在图像解码处理的处理速度高于输入系统611的处理的处理速度的情况下,使图像解码处理的处理速度降低到输入系统611的处理速度。并且,控制部601例如在图像解码处理的处理速度高于输出系统613的处理的处理速度的情况下,使图像解码处理的处理速度降低到输出系统613的处理速度。
这样,控制部601还考虑由输入系统611、输出系统613等图像解码部612的前级或后级的处理部进行的处理的处理速度,来确定图像解码处理的处理速度,因此能够控制图像解码处理的处理速度使得提高解码装置600整体的处理速度。
通过这种控制,解码装置600能够对解码处理分配硬件资源使得抑制不必要地增大负荷。也就是说,解码装置600在解码处理中能够更有效地利用硬件资源。
接着,说明这种解码装置600的结构的具体例。
图23是表示图22的解码装置的具体例的图。解码装置600A表示图22的解码装置600的结构的具体的一例。如图23所示,在解码装置600A中,控制部601和图像解码部612连接到总线641。总线641上还连接有输入输出接口642、高速缓冲存储器643以及存储部644。
总线641是与总线141相同的传输介质,例如由PCI总线等构成。输入输出接口642是与输入输出接口144相同的与外部的网络651相连接的通信接口,例如由HDMI、HD-SDI、Ethernet(注册商标)(LAN板)等构成。
高速缓冲存储器643是与高速缓冲存储器143相同的存储介质,例如由RAM等的能够与存储部644的读取速度或输入输出接口642的吞吐量相比高速地交换数据的半导体存储器构成。存储部644是与存储部142相同的存储介质,例如由硬盘、快闪存储器等构成。
在这种结构的解码装置600A中,例如经由网络651从其它装置提供解码对象的码流。如虚线箭头661所示,控制部601控制输入输出接口642,来获取该码流,经由总线641向高速缓冲存储器643提供而将该码流保持在高速缓冲存储器643中。
另外,如虚线箭头662所示,控制部601使保持在高速缓冲存储器643中的码流被读出,经由总线641向图像解码部612提供并解码。
并且,如虚线663所示,控制部601使对码流进行解码得到的图像数据经由总线141提供到存储部644并存储。
也就是说,在该解码装置600A中,如一点划线所示,由总线641、输入输出接口642以及高速缓冲存储器643形成输入系统611,如双点划线所示,由总线641和存储部644形成输出系统613。
在输入系统611中,一般输入输出接口642的数据的输入输出速率(吞吐量)低于总线641的传输速率或高速缓冲存储器643的数据输入输出速率。因而,如参照图22所说明的那样,控制部601在图像解码部612的图像解码处理的处理速度(吞吐量)高于输入输出接口642的数据的输入输出速度的情况下,使图像解码部612的图像解码处理的处理速度降低,在图像解码部612的图像解码处理的处理速度(吞吐量)低于输入输出接口642的数据的输入输出速度的情况下,使图像解码部612的图像解码处理的处理速度提高,以配合输入输出接口642的数据输入输出速度(输入系统611的处理速度)。
另外,在输出系统613中,一般向存储部644写入数据的写入速率低于总线641的传输速率。因而,如参照图22所说明的那样,控制部601在图像解码部612的图像解码处理的处理速度(吞吐量)高于存储部644的数据写入速度的情况下,使图像解码部612的图像解码处理的处理速度降低,以配合存储部644的数据写入速度(输出系统613的处理速度)。
通过这样由控制部601控制解码处理,解码装置600A能够适当地调整各部分的处理速度,能够抑制产生不必要的等待时间。即,解码装置600A能够更有效地利用硬件资源来进行解码处理。
图24是表示图22的解码装置600的其它具体例的图。
解码装置600B表示图22的解码装置600的结构的其它具体的一例。如图24所示,在解码装置600B中,控制部601与图像解码部612连接到总线641。在总线641上还连接有高速缓冲存储器643和输入输出接口642。
在这种结构的解码装置600B中,例如经由网络651从其它装置提供解码对象的码流。如虚线箭头671所示,控制部601控制输入输出接口642,来获取该码流,经由总线641向高速缓冲存储器643提供而将该码流保持在高速缓冲存储器643中。
另外,如虚线箭头672所示,控制部601使保持在高速缓冲存储器643中的码流被读出,经由总线141向图像解码部612提供并解码。
并且,如虚线673所示,控制部601经由总线641向输入输出接口642提供对码流解码得到的图像数据,并从输入输出接口642输出到外部的网络651。
也就是说,在该解码装置600B中,如一点划线所示,由总线641、高速缓冲存储器643以及输入输出接口642形成输入系统611,如双点划线所示,由总线641和输入输出接口642形成输出系统613。
在输入系统611中,一般输入输出接口642的数据的输入输出速率(吞吐量)低于总线641的传输速率或高速缓冲存储器643的数据输入输出速率。因而,如参照图22所说明的那样,控制部601在图像解码部612的图像解码处理的处理速度(吞吐量)低于输入输出接口642的数据的输入输出速度的情况下,使图像解码部612的图像解码处理的处理速度提高,在图像解码部612的图像解码处理的处理速度(吞吐量)高于输入输出接口642的数据的输入输出速度的情况下,使图像解码部612的图像解码处理的处理速度降低,以配合输入输出接口642的数据输入输出速度(输入系统611的处理速度)。
另外,在输出系统613中,如图23的情况同样地,控制部601在图像解码部612的图像解码处理的处理速度(吞吐量)高于输入输出接口642的数据的输入输出速度的情况下,使图像解码部612的图像解码处理的处理速度降低,以配合输入输出接口642的数据输入输出速度(输出系统613的处理速度)。
通过这样由控制部601控制解码处理,解码装置600B能够适当地调整各部分的处理速度,能够抑制产生不必要的等待时间。即,解码装置600B能够更有效地利用硬件资源来进行解码处理。
接着,说明进行这种控制的控制部601。图25是表示控制部的主要结构例的框图。如图25所示,控制部601具有输入速率信息获取部681、输出速率信息获取部682、解码处理控制部683、负荷信息获取部684、负荷控制部685以及存储部686。
输入速率信息获取部681从构成输入系统611的设备获取表示输入系统611的吞吐量的输入速率信息691,将其存储到存储部686。输出速率信息获取部682从构成输出系统613的设备获取表示输出系统613的吞吐量的输出速率信息692,将其存储到存储部686。
此外,该输入速率信息691和输出速率信息692既可以是在输入系统611或输出系统613中测量得到的值,也可以是构成输入系统611或输出系统613的设备的规格。因而,在预先确定构成输入系统611和输出系统613的设备并将这些设备的规格设为输入速率信息691和输出速率信息692的情况下,也可以在例如出厂时等将输入速率信息691和输出速率信息692预先存储在存储部686中。在这种情况下,能够省略输入速率信息获取部681和输出速率信息获取部682。
解码处理控制部683控制由图像解码部612进行的图像数据的解码处理。解码处理控制部683控制解码处理的吞吐量使其成为在负荷控制部685中确定的负荷量。
负荷信息获取部684获取表示图像解码部612的图像解码处理的负荷大小(负荷量)的预测值的负荷信息。例如,负荷信息获取部684获取直接或间接表示图像解码处理的吞吐量的预测值的吞吐量信息693来作为该负荷信息。吞吐量信息693的内容是任意的,例如由表示图像数据的编码难易度的信息、过去的解码处理的每单位时间的处理量或者码流的文件尺寸等构成。负荷信息获取部684将所获取的负荷信息提供给负荷控制部685。
负荷控制部685从存储部686读出输入速率信息691和输出速率信息692,根据这些信息和从负荷信息获取部684提供的负荷信息(吞吐量信息693),来确定由图像解码部612进行的图像解码处理的负荷量。负荷控制部685通过控制解码处理控制部683,来控制图像解码处理的吞吐量使其成为所确定的负荷量。
存储部686是例如由RAM等半导体存储器构成的存储介质,存储输入速率信息691、输出速率信息692等的信息。
[处理的流程]
接着,说明在如上所述的解码装置600中执行的各种处理的流程。首先,参照图26的流程图来说明由控制部601进行的解码控制处理的流程的例子。
当开始解码控制处理时,控制部601的输入速率信息获取部681在步骤S601中获取输入速率信息。在步骤S602中,输出速率信息获取部682获取输出速率信息。在步骤S603中,解码处理控制部683使码流从输入系统611(例如高速缓冲存储器643)被读出,并输入到图像解码部612。
在步骤S604中,解码处理控制部683控制图像解码部612,来执行对被输入的图像数据进行解码的图像解码处理。在步骤S605中,负荷信息获取部684关于该解码处理获取吞吐量信息693。
在步骤S606中,负荷控制部685根据输入速率和输出速率中的至少某一方,控制通过步骤S604的控制而执行的图像解码处理的吞吐量。
在步骤S607中,解码处理控制部683使通过图像解码处理生成的图像数据向输出系统613输出并处理。
在步骤S608中,解码处理控制部683判断是否结束解码控制处理。在例如由于未处理的图像数据存在于输入系统611(例如高速缓冲存储器643)中等而判断为不结束解码控制处理的情况下,处理返回到步骤S601,重复进行其以后的处理。
此时,在输入速率为固定值的情况下,能够省略步骤S601的处理。同样地,在输出速率为固定值的情况下,能够省略步骤S602的处理。
在步骤S608中,例如在输入系统611(例如高速缓冲存储器643)中不存在未处理的图像数据而判断为结束解码控制处理的情况下,解码控制处理结束。
此外,步骤S605的处理(吞吐量信息的获取)根据其信息的内容而以适当的定时进行。因而,例如也可以在步骤S604的处理之前进行步骤S605和步骤S606的处理。另外,例如也可以在执行图像解码处理的中途进行步骤S605和步骤S606的处理。
接着,参照图27的流程图来说明在图26的步骤S606中执行的负荷控制处理的详细流程的例子。
当开始负荷控制处理时,负荷控制部685在步骤S621中根据输入速率信息691和吞吐量信息693来判断解码处理的吞吐量是否低于输入速率。
在判断为解码处理的吞吐量低于输入速率的情况下,处理进入步骤S622。在这种情况下,图像解码处理的处理速度过慢,输入系统611中的处理有可能溢出。也就是说,图像解码处理的硬件资源的消耗量过少。如果硬件资源有余量,则通过使图像解码处理进一步消耗硬件资源,来抑制在输入系统611中产生溢出,能够提高解码装置600的吞吐量。因此,负荷控制部685在步骤S622中使图像解码部612的图像解码处理的处理速度提高,使图像解码处理的吞吐量上升到输入速率。当步骤S622的处理结束时,返回图26的步骤S606,执行其以后的处理。
在判断为解码处理的吞吐量不低于输入速率的情况下,处理进入步骤S623。负荷控制部685在步骤S623中根据输入速率信息691和吞吐量信息693,来判断解码处理的吞吐量是否高于输入速率。
在判断为解码处理的吞吐量高于输入速率的情况下,处理进入步骤S624。在这种情况下,图像解码处理的处理速度过快,来自输入系统611的码流的提供赶不上图像解码处理的处理速度。也就是说,图像解码处理不必要地消耗硬件资源。因此,负荷控制部685在步骤S624中使图像解码部612的图像解码处理的处理速度降低,使图像解码处理的吞吐量降低到输入速率。当步骤S624的处理结束时,返回到图26的步骤S606,执行其以后的处理。
在判断为解码处理的吞吐量不高于输入速率的情况下,处理进入步骤S625。负荷控制部685在步骤S625中根据输出速率信息692和吞吐量信息693来判断解码处理的吞吐量是否高于输出速率。
在判断为解码处理的吞吐量高于输出速率的情况下,处理进入步骤S626。在这种情况下,图像解码处理的处理速度过快,输出系统613中的处理有可能溢出。也就是说,图像解码处理不必要地消耗硬件资源。因此,负荷控制部685在步骤S626中使图像解码部612的图像解码处理的处理速度降低,使图像解码处理的吞吐量降低到输出速率。当步骤S626的处理结束时,返回到图26的步骤S606,执行其以后的处理。
在判断为解码处理的吞吐量不高于输出速率的情况下,负荷控制处理结束,返回到图26的步骤S606,执行其以后的处理。
通过进行如上所述的控制处理,解码装置600在解码处理中能够更有效地利用硬件资源。
此外,在图27中,说明了按图27所示的流程图的顺序来进行步骤S621、步骤S623或步骤S625的各判断处理,但是各判断条件的优先顺序是任意的,从哪一个判断开始进行都可以。另外,也可以仅在满足多个判断时进行解码处理的吞吐量的控制(例如步骤S622、步骤S624或步骤S626)。
<6.第六实施方式>
[图像解码部的结构]
如上所述,编码方式是任意的。也就是说,由图像解码部612进行的图像解码处理的解码方法是任意的。下面说明编码方式为JPEG2000的情况。图28是表示图像解码部612的主要结构例的框图。如图28所示,图像解码部612具有数据包解读部701、算术解码部702、比特建模部703、比特平面合成部704、代码块合成部705、小波逆变换部706以及DC电平逆位移部707。
如箭头731所示,数据包解读部701解读从编码装置100提供的数据包,如箭头732所示,向算术解码部702提供码流。另外,数据包解读部701解读码流的数据包,抽取码流的文件尺寸,如箭头721所示,作为负荷信息提供给负荷信息获取部684。
算术解码部702和比特建模部703作为EBCOT部711进行动作,对被输入的码流进行JPEG2000标准中确定的称为EBCOT的熵解码。
算术解码部702利用与算术编码部207对应的方法来对码流进行解码,如箭头733所示,向比特建模部703提供上下文。比特建模部703利用与比特建模部206对应的方法来生成展开到比特平面的小波系数。如箭头734所示,比特建模部703将所生成的每个比特平面的系数数据提供给比特平面合成部704。
比特平面合成部704合成展开到比特平面的小波系数。如箭头735所示,比特平面合成部704将合成比特平面而得到的小波系数提供给代码块合成部705。
代码块合成部705使用被提供的比特平面来生成以代码块为单位的系数数据,进一步将它们合成,来生成每个子带的系数数据。如箭头736所示,代码块合成部705将该系数数据提供给小波逆变换部706。
小波逆变换部706对被提供的小波系数进行小波逆变换,生成基带的图像数据。如箭头737所示,小波逆变换部706将所生成的基带的图像数据提供给DC电平逆位移部707。
DC电平逆位移部707根据需要对该图像数据的DC成分进行DC电平逆位移处理,该DC电平逆位移处理中将在DC电平位移部201中位移的部分恢复到原来状态。如箭头738所示,DC电平逆位移部707将DC电平逆位移处理后的图像数据输出到图像解码部612的外部(输出系统613)。
[控制部的结构]
接着,说明控制这种图像解码部612的控制部。图29是表示控制部的主要结构例的框图。在图29中,控制部601基本上具有与参照图25所说明的情况相同的结构。即,控制部601具有解码处理控制部683至存储部686。
但是,在这种情况下,控制部601的负荷信息获取部684从图像解码部612的数据包解读部701获取码流的文件尺寸751来作为负荷信息。解码处理的难易度与解码处理对象的码流的文件尺寸的大小大致成比例。也就是说,可以预想,文件尺寸越大,解码处理的难易度越高,解码处理的负荷量越大。
在存储部686中,代替输入速率信息691、输出速率信息692而存储有表信息752。表信息752是用于根据文件尺寸751来确定图像解码处理的处理速度的控制量的表信息。在该表信息752中,考虑输入速率和输出速率来制作码流的文件尺寸的大小与图像解码处理的处理速度的控制量之间的对应关系。
负荷控制部685使用从存储部686读出的表信息752,求出与由负荷信息获取部684获取的文件尺寸751的值对应的图像解码处理的处理速度的控制量,控制解码处理控制部683。通过这样,负荷控制部685根据输入速率、输出速率以及负荷信息,来控制图像解码处理的负荷量。
因而,与上述情况同样地,解码装置600在解码处理中能够更有效地利用硬件资源。
此外,在这种情况下,省略图25的输入速率信息获取部681和输出速率信息获取部682。
[处理的流程]
接着,参照图30的流程图来说明这种情况下的解码控制处理的流程的例子。
当开始解码控制处理时,负荷信息获取部684在步骤S701中控制数据包解读部701,获取处理对象的码流的文件尺寸751。在步骤S702中,负荷控制部685根据所获取的文件尺寸751和表信息752来控制吞吐量。
在步骤S703中,解码处理控制部683使码流从输入系统611(例如高速缓冲存储器643)向图像解码部612输入。
在步骤S704中,解码处理控制部683控制EBCOT部711等,以由负荷控制部685确定的吞吐量进行熵解码。
在步骤S705中,解码处理控制部683控制比特平面合成部704,来合成通过解码处理生成的系数数据的比特平面。在步骤S706中,解码处理控制部683控制代码块合成部705,来合成系数数据的代码块,生成每个子带的系数数据。
在步骤S707中,解码处理控制部683控制小波逆变换部706,来对每个子带的系数数据进行小波逆变换,生成基带的图像数据。在步骤S708中,解码处理控制部683控制DC电平逆位移部707,来对图像数据的DC电平进行逆位移。解码处理控制部683在步骤S709中控制DC电平逆位移部707,向输出系统613输出已处理完的图像数据。
在步骤S710中,解码处理控制部683判断是否结束解码控制处理。在判断为不结束的情况下,返回到步骤S701,重复进行其以后的处理。另外,在步骤S710中,在判断为结束解码控制处理的情况下,解码控制处理结束。
通过这样进行控制,解码装置600在解码处理中能够更有效地利用硬件资源。另外,解码装置600根据码流的文件尺寸来能够进行这种负荷控制,因此能够容易且更有效地利用硬件资源。
此外,控制部601也可以代替码流的文件尺寸而根据码流的例如附加在主头部等中的负荷控制信息,来进行图像解码处理的吞吐量控制。如上所述,该负荷控制信息例如由图像数据的压缩率、在图像编码处理时分配的硬件资源(核数等)或者控制吞吐量时的系统环境信息(变更条件历史信息)等构成。
在任一个情况下,都在存储部686中预先准备与负荷控制信息对应的表信息,负荷控制部685使用该表信息来求出与所获取的负荷控制信息的值对应的控制量。
通过这样,解码装置600能够容易且更有效地利用硬件资源。
以上的图像解码处理的吞吐量的控制方法是任意的。例如,既可以变更图像解码处理的时钟的速度,也可以增减对图像解码处理的执行所分配的时间,还可以变更解码方法。
另外,例如也可以通过软件实现图像解码部612的图像解码处理,在这种情况下,控制部601也可以通过增减对图像解码处理分配的硬件资源的量,来控制图像解码处理的吞吐量。例如在使用多个CPU、具有多个核的CPU或者对应多线程的CPU来执行图像解码处理的情况下,控制部601也可以通过增减对图像解码处理分配的CPU数、核数或者线程数,来控制图像解码处理的吞吐量。
<7.第七实施方式>
[控制部的结构]
下面,说明使用具有多个核的CPU来进行图像解码处理的情况下的硬件资源分配方法的情况。
图31是表示在使用图15所示的具有多个核的CPU的硬件资源来执行图像解码处理的情况下的控制部的主要结构例的框图。
这种情况下的控制部601的结构基本上也与参照图25所说明的情况相同,但是代替负荷控制部685而具有硬件资源分配部761。硬件资源分配部761根据输入速率信息691、输出速率信息692以及吞吐量信息693,来控制对图像解码处理分配的硬件资源、即子CPU核442的核数。解码处理控制部683使用由硬件资源分配部761分配的子CPU核442来进行图像解码处理。
此外,在此,设输入速率信息691和输出速率信息692预先存储在存储部686中,省略输入速率信息获取部681和输出速率信息获取部682。当然,也可以设为具有这些部件。
[处理的流程]
接着,参照图32的流程图来说明这种情况下的解码控制处理的流程的例子。
当开始解码控制处理时,控制部601的解码处理控制部683在步骤S731中使码流从输入系统611(例如高速缓冲存储器643)读出,并输入到图像解码部612。
在步骤S732中,解码处理控制部683控制图像解码部612,来执行对被输入的码流进行解码的图像解码处理。在步骤S733中,负荷信息获取部684关于该解码处理获取吞吐量信息693。
在步骤S734中,硬件资源分配部761根据输入速率和输出速率中的至少某一方,对图像解码处理的一部分或全部分配硬件资源。此时,例如在解码方法为JPEG2000的情况下,既可以控制对解码处理整体分配的硬件资源,也可以控制对由EBCOT部711进行的熵解码处理分配的硬件资源。
在步骤S735中,解码处理控制部683使通过图像解码处理生成的图像数据向输出系统613输出并处理。在步骤S736中,解码处理控制部683判断是否结束解码控制处理。在例如由于未处理的码流存在于输入系统611(例如高速缓冲存储器643)中等而判断为不结束解码控制处理的情况下,处理返回到步骤S731,重复进行其以后的处理。
在步骤S736中,例如在输入系统611(例如高速缓冲存储器643)中不存在未处理的码流而判断为结束解码控制处理的情况下,解码控制处理结束。
此外,步骤S733的处理(吞吐量信息的获取)根据其信息的内容而以适当的定时进行。因而,例如也可以在步骤S732的处理之前进行步骤S733和步骤S734的处理。另外,例如也可以在执行图像解码处理的中途进行步骤S733和步骤S734的处理。
通过如上所述的控制处理,控制部601例如在图像解码处理的吞吐量过低的情况下,通过增加对图像解码处理分配的硬件资源(例如核数),来能够提高吞吐量。另外,例如在图像解码处理的吞吐量过高的情况下,控制部601通过减少对图像解码处理分配的硬件资源(例如核数),来能够降低吞吐量。
这样,控制部601根据输入速率、输出速率等,能够将对图像解码处理分配的硬件资源的量保持为更适当的状态。未分配给图像解码处理的核例如能够分配给其它处理,因此,通过如上所述的控制,更有效地利用子CPU核442。也就是说,解码装置600在图像解码处理中能够更有效地利用硬件资源。
此外,在控制对图像解码处理分配的CPU的数量的情况、控制对图像解码处理分配的线程数的情况下,也基本上与控制核数的情况同样地进行控制。
在通过软件执行上述一系列处理的情况下,从网络或记录介质安装构成该软件的程序。该记录介质,例如如图15所示,包括与装置主体分开、为了对用户分发程序而配置的、由记录有程序的磁盘(包括软盘)、光盘(包括CD-ROM(Compact Disc-Read Only Memory:只读存储光盘)、DVD(Digital Versatile Disc:数字通用光盘))、光磁盘(包括MD(Mini Disc:迷你光盘))或者半导体存储器等构成的可移动介质311,还包括以预先嵌入在装置主体的状态对用户分发的、记录有程序的HDD405、包括在存储装置303中的硬盘或存储器等。
此外,在本说明书中,描述记录在记录介质中的程序的步骤不仅包括按照所记载的顺序按时间序列进行的处理、还包括未必按照时间序列进行处理而并行或独立地执行的处理。
当然,上述一系列处理既可以使用通用的硬件并执行软件来实现,还可以通过专用的硬件来实现。
另外,在本说明书中,系统表示由多个设备(装置)构成的装置整体。
此外,也可以分割在以上说明中作为一个装置(或者处理部)说明的结构,构成为多个装置(或者处理部)。相反地,也可以将在以上说明中作为多个装置(或者处理部)说明的结构汇总而构成为一个装置(或者处理部)。另外,当然也可以对各装置(或者处理部)的结构附加上述以外的结构。并且,只要作为系统整体的结构或动作实质上相同,就可以将某个装置(或者处理部)的结构的一部分包括在另一个装置(或者处理部)的结构中。也就是说,本发明的实施方式不限定于上述实施方式,能够在不脱离本发明的宗旨的范围内进行各种变更。

Claims (19)

1.一种编码装置,具备:
第一处理单元,对作为编码处理的对象的图像数据,在进行上述编码处理之前进行规定的第一处理;
编码单元,对通过上述第一处理单元进行了上述第一处理的上述图像数据,进行上述编码处理并生成码流;
第二处理单元,对通过由上述编码单元进行的上述编码处理生成的上述码流,进行规定的第二处理;以及
控制单元,根据上述第一处理单元进行的上述第一处理的处理速度和上述第二处理单元进行的上述第二处理的处理速度,来控制上述编码单元进行的上述编码处理的处理速度。
2.根据权利要求1所述的编码装置,其特征在于,
上述控制单元在上述编码处理的处理速度高于上述第一处理的处理速度或者上述第二处理的处理速度的情况下,使上述编码处理的处理速度降低。
3.根据权利要求1所述的编码装置,其特征在于,
上述控制单元在上述编码处理的处理速度低于上述第二处理的处理速度的情况下,使上述编码处理的处理速度上升。
4.根据权利要求1所述的编码装置,其特征在于,
由上述第一处理单元进行的上述第一处理包括从存储部读出上述图像数据或者经由网络接收上述图像数据的处理。
5.根据权利要求1所述的编码装置,其特征在于,
由上述第二处理单元进行的上述第二处理包括在存储部中存储上述码流或者经由网络发送上述码流的处理。
6.根据权利要求1所述的编码装置,其特征在于,
上述编码单元由具有多个核的处理器来实现,
上述控制单元通过增减对上述编码处理分配的上述核的数量,来控制上述编码处理的处理速度。
7.根据权利要求1所述的编码装置,其特征在于,
上述编码单元通过可逆编码方式来进行上述编码处理。
8.根据权利要求1所述的编码装置,其特征在于,
上述编码单元通过JPEG2000方式的可逆编码方式来进行上述编码处理,
上述控制单元获取上述图像数据的每个代码块的零比特平面数,根据上述零比特平面数算出每个图片的有效比特平面数的总和,使用上述每个图片的有效比特平面数的总和,来控制上述编码单元进行的上述编码处理的处理速度。
9.根据权利要求1所述的编码装置,其特征在于,
还具备附加单元,该附加单元对上述码流附加与由上述控制单元进行的对上述编码处理的处理速度的控制有关的负荷控制信息。
10.一种编码方法,其特征在于:
编码装置的第一处理单元对作为编码处理的对象的图像数据,在进行上述编码处理之前进行规定的第一处理;
上述编码装置的编码单元对进行了上述第一处理的上述图像数据,进行上述编码处理并生成码流;
上述编码装置的第二处理单元对通过上述编码处理生成的上述码流,进行规定的第二处理;
上述编码装置的控制单元根据上述第一处理的处理速度和上述第二处理的处理速度,来控制上述编码处理的处理速度。
11.一种解码装置,具备:
第一处理单元,对作为解码处理的对象的、对图像数据进行编码而生成的码流,在进行上述解码处理之前进行规定的第一处理;
解码单元,对通过上述第一处理单元进行了上述第一处理的上述码流,进行上述解码处理并生成上述图像数据;
第二处理单元,对通过由上述解码单元进行的上述解码处理生成的上述图像数据,进行规定的第二处理;以及
控制单元,根据上述第一处理单元进行的上述第一处理的处理速度和上述第二处理单元进行的上述第二处理的处理速度,来控制上述解码单元进行的上述解码处理的处理速度。
12.根据权利要求11所述的解码装置,其特征在于,
上述控制单元在上述解码处理的处理速度低于上述第一处理的处理速度的情况下,使上述解码处理的处理速度上升。
13.根据权利要求11所述的解码装置,其特征在于,
上述控制单元在上述解码处理的处理速度高于上述第一处理的处理速度或者上述第二处理的处理速度的情况下,使上述解码处理的处理速度降低。
14.根据权利要求11所述的解码装置,其特征在于,
由上述第一处理单元进行的上述第一处理包括从存储部读出上述码流或者经由网络接收上述码流的处理。
15.根据权利要求11所述的解码装置,其特征在于,
由上述第二处理单元进行的上述第二处理包括在存储部中存储上述图像数据或者经由网络发送上述图像数据的处理。
16.根据权利要求11所述的解码装置,其特征在于,
上述解码单元由具有多个核的处理器来实现,
上述控制单元通过增减对上述解码处理分配的上述核的数量,来控制上述解码处理的处理速度。
17.根据权利要求11所述的解码装置,其特征在于,
上述解码单元通过JPEG2000方式的可逆解码方式来进行上述解码处理。
18.根据权利要求11所述的解码装置,其特征在于,
上述控制单元根据上述码流的文件尺寸的大小,来控制上述解码单元进行的上述解码处理的处理速度。
19.一种解码方法,其特征在于:
解码装置的第一处理单元对作为解码处理的对象的、对图像数据进行编码而生成的码流,在进行上述解码处理之前进行规定的第一处理;
上述解码装置的解码单元对进行了上述第一处理的上述码流,进行上述解码处理并生成上述图像数据;
上述解码装置的第二处理单元对通过上述解码处理生成的上述图像数据,进行规定的第二处理;
上述解码装置的控制单元根据上述第一处理的处理速度和上述第二处理的处理速度,来控制上述解码处理的处理速度。
CN2010101577361A 2009-04-07 2010-03-31 编码装置和方法以及解码装置和方法 Expired - Fee Related CN101860740B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009092683A JP2010244316A (ja) 2009-04-07 2009-04-07 符号化装置および方法、並びに、復号装置および方法
JP2009-092683 2009-04-07

Publications (2)

Publication Number Publication Date
CN101860740A true CN101860740A (zh) 2010-10-13
CN101860740B CN101860740B (zh) 2013-07-24

Family

ID=42826233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101577361A Expired - Fee Related CN101860740B (zh) 2009-04-07 2010-03-31 编码装置和方法以及解码装置和方法

Country Status (3)

Country Link
US (1) US8433147B2 (zh)
JP (1) JP2010244316A (zh)
CN (1) CN101860740B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366386A (zh) * 2013-07-14 2013-10-23 西安电子科技大学 基于多进程和多线程的并行图像解压缩系统
CN106031177A (zh) * 2014-02-18 2016-10-12 微软技术许可有限责任公司 用于硬件加速的视频编码的主编码器

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8983213B1 (en) * 2010-08-30 2015-03-17 Accusoft Corporation Image coding and decoding methods and apparatus
US8934725B1 (en) 2010-08-30 2015-01-13 Accusoft Corporation Image coding and decoding methods and apparatus
US20120183040A1 (en) * 2011-01-19 2012-07-19 Qualcomm Incorporated Dynamic Video Switching
US9030979B2 (en) * 2011-05-11 2015-05-12 Qualcomm Incorporated Reducing power consumption in multi-threaded processor mobile devices
JP2013047892A (ja) * 2011-08-29 2013-03-07 Fujitsu Ltd 情報処理装置、スケジューリング方法およびプログラム
CN102801981B (zh) * 2012-08-30 2015-04-22 西安空间无线电技术研究所 一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法
CN105359522B (zh) * 2013-07-12 2019-09-17 索尼公司 图像解码装置和方法
JP6724581B2 (ja) * 2016-06-15 2020-07-15 富士通株式会社 画像符号化装置、方法、及びプログラム
RU2638001C1 (ru) * 2017-02-08 2017-12-08 Акционерное общество "Лаборатория Касперского" Система и способ выделения части резерва производительности антивирусного сервера для выполнения антивирусной проверки веб-страницы
CN112788198B (zh) * 2019-11-11 2024-04-23 株式会社理光 摄影装置、传送系统及方法、记录介质和计算机装置
WO2023243098A1 (ja) * 2022-06-17 2023-12-21 日本電信電話株式会社 アクセラレータオフロード装置、アクセラレータオフロード方法およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010053182A1 (en) * 2000-06-16 2001-12-20 Nec Corporation Picture encoding format converting apparatus
CN1379591A (zh) * 2001-03-29 2002-11-13 尼克斯特里姆股份有限公司 用于控制视频数据质量的方法和设备
US20060115179A1 (en) * 2004-11-30 2006-06-01 Kabushiki Kaisha Toshiba Operation device for video data
CN1981515A (zh) * 2004-07-01 2007-06-13 索尼株式会社 摄像装置、摄像元件及摄像装置的控制方法
US20090003719A1 (en) * 2007-06-27 2009-01-01 Kabushiki Kaisha Toshiba Encoding device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940008389A (ko) * 1992-09-30 1994-04-29 가나이 쯔또무 화상신호처리장치 및 이것을 사용한 정보송수신장치
JPH06121126A (ja) * 1992-10-02 1994-04-28 Canon Inc ファクシミリ装置
KR100289856B1 (ko) 1993-07-12 2001-05-15 이데이 노부유끼 화상 신호 재생 방법 및 화상 신호 재생 장치
JP3594017B2 (ja) 1993-07-12 2004-11-24 ソニー株式会社 ビットストリームの伝送方法及び伝送システム
US5592225A (en) * 1993-09-30 1997-01-07 Matsushita Electric Industrial Co., Ltd. Device and method for controlling coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010053182A1 (en) * 2000-06-16 2001-12-20 Nec Corporation Picture encoding format converting apparatus
CN1379591A (zh) * 2001-03-29 2002-11-13 尼克斯特里姆股份有限公司 用于控制视频数据质量的方法和设备
CN1981515A (zh) * 2004-07-01 2007-06-13 索尼株式会社 摄像装置、摄像元件及摄像装置的控制方法
US20060115179A1 (en) * 2004-11-30 2006-06-01 Kabushiki Kaisha Toshiba Operation device for video data
US20090003719A1 (en) * 2007-06-27 2009-01-01 Kabushiki Kaisha Toshiba Encoding device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366386A (zh) * 2013-07-14 2013-10-23 西安电子科技大学 基于多进程和多线程的并行图像解压缩系统
CN106031177A (zh) * 2014-02-18 2016-10-12 微软技术许可有限责任公司 用于硬件加速的视频编码的主编码器

Also Published As

Publication number Publication date
CN101860740B (zh) 2013-07-24
US8433147B2 (en) 2013-04-30
JP2010244316A (ja) 2010-10-28
US20100254619A1 (en) 2010-10-07

Similar Documents

Publication Publication Date Title
CN101860740B (zh) 编码装置和方法以及解码装置和方法
CN107113432A (zh) 用于并行视频编码的码率控制
CN102387356B (zh) 图像处理设备和方法
CN101543037A (zh) 信息处理设备和方法
JP2005027309A (ja) Jpeg2000圧縮画像をトランスコードするための方法
CN101309417B (zh) 用于处理图像数据的方法和设备
JP2005510980A (ja) ビデオトランスコーディングにおけるレート制御方法およびシステム
CN103765893A (zh) 使用用于定点变换的比特深度调整的视频编码方法及其设备,以及视频解码方法及其设备
CN101267558A (zh) Jpeg2000标准中基于码块的低存储编码器及其编码方法
CN1327713C (zh) 用于对视频数据流压缩和解压缩的方法和装置
CN100459706C (zh) 用于控制比特率的设备和方法
JP5950157B2 (ja) 画像処理装置および方法、並びに、プログラム
CN101707716A (zh) 视频编码器和编码方法
CN104125460A (zh) 用于控制视频比特率的方法和设备
CN101102502A (zh) 一种基于图像特征的码率控制方法及装置
CN100394800C (zh) 编码方法、解码方法、编码装置及解码装置
CN107666472B (zh) 混合的数字-模拟编解码的方法和设备
US20050084168A1 (en) Image encoding apparatus and method
EP2926556A1 (en) Compressed data stream transmission using rate control
CN102572426A (zh) 一种数据处理的方法和装置
CN102611889A (zh) 图像处理装置和方法
JP4105578B2 (ja) 画像圧縮装置
CN112514387B (zh) 空间层速率分配方法和系统
JP7063925B2 (ja) エンコーダ、エンコーディングシステム、およびエンコーディング方法
JP2004297712A (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: 20130724

Termination date: 20150331

EXPY Termination of patent right or utility model