JP3694888B2 - 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体 - Google Patents

復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体 Download PDF

Info

Publication number
JP3694888B2
JP3694888B2 JP34494099A JP34494099A JP3694888B2 JP 3694888 B2 JP3694888 B2 JP 3694888B2 JP 34494099 A JP34494099 A JP 34494099A JP 34494099 A JP34494099 A JP 34494099A JP 3694888 B2 JP3694888 B2 JP 3694888B2
Authority
JP
Japan
Prior art keywords
encoding
data
parameter
decoding
encoding parameter
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.)
Expired - Fee Related
Application number
JP34494099A
Other languages
English (en)
Other versions
JP2001169292A (ja
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
Priority to JP34494099A priority Critical patent/JP3694888B2/ja
Priority to EP20070003528 priority patent/EP1793618B1/en
Priority to EP20000310636 priority patent/EP1111932A3/en
Priority to US09/727,347 priority patent/US6556627B2/en
Publication of JP2001169292A publication Critical patent/JP2001169292A/ja
Priority to US10/371,897 priority patent/US7126993B2/en
Application granted granted Critical
Publication of JP3694888B2 publication Critical patent/JP3694888B2/ja
Priority to US11/510,995 priority patent/US8170118B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/083Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical and the horizontal blanking interval, e.g. MAC data signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23602Multiplexing isochronously with the video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4342Demultiplexing isochronously with video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/084Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the horizontal blanking interval only
    • H04N7/085Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the horizontal blanking interval only the inserted signal being digital
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • H04N7/088Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/06Transmission systems characterised by the manner in which the individual colour picture signal components are combined
    • H04N11/20Conversion of the manner in which the individual colour picture signal components are combined, e.g. conversion of colour television standards

Description

【0001】
【発明の属する技術分野】
本発明は、復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体に関し、特に、MPEG規格に基づいて符号化された符号化ビットストリームの構造を変更するために復号および符号化処理を繰り返したとしても画質劣化の発生しないトランスコーディングシステムにおいて、情報の重要度などによって、必要な情報を容易に取り出せるように伝送し、それを読み出すことができる復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体に関する。
【0002】
【従来の技術】
近年、テレビジョンプログラムを制作および放送する放送局においては、ビデオデータを圧縮/符号化処理するために、MPEG(Moving Picture Experts Group)技術が一般的に使われるようになってきた。特に、ビデオデータをテープなどのランダムアクセス可能な記録媒体素材に記録する場合、およびビデオデータをケーブルや衛星を介して伝送する場合には、このMPEG技術がデファクトスタンダードになりつつある。
【0003】
放送局において制作されたビデオプログラムが各家庭に伝送されるまでの放送局における処理の一例を簡単に説明する。まず、ビデオカメラとVTR(Video Tape Recorder)が一体となったカムコーダに設けられたエンコーダによって、ソースビデオデータをエンコード処理して磁気テープ上に記録する。この際、カムコーダのエンコーダは、VTRのテープの記録フォーマットに適するように、ソースビデオデータを符号化する。例えば、この磁気テープ上に記録されるMPEGビットストリームのGOP(Group of Pictures)構造は、2フレームから1GOPが構成される構造(例えば、I,B,I,B,I,B,・・・・・・)とされる。また磁気テープ上に記録されているMPEGビットストリームのビットレートは、18Mbpsである。
【0004】
次に、メイン放送局において、この磁気テープ上に記録されたビデオビットストリームを編集する編集処理を行う。そのために、磁気テープ上に記録されたビデオビットストリームのGOP構造を、編集処理に適したGOP構造に変換する。編集処理に適したGOP構造とは、1GOPが1フレームから構成され、すべてのピクチャがIピクチャであるGOP構造である。なぜなら、フレーム単位で編集を行うためには、他のピクチャと相関のないIピクチャが最も適しているからである。実際のオペレーションとしては、磁気テープ上に記録されたビデオストリームを一旦デコードしてベースバンドのビデオデータに戻す。そして、そのベースバンドのビデオ信号を、すべてのピクチャがIピクチャとなるように再エンコードする。このようにデコード処理および再エンコード処理を行うことによって、編集処理に適したGOP構造を有したビットストリームを生成することができる。
【0005】
次に、上述した編集処理によって生成された編集ビデオプログラムを、メイン局から地方局に伝送するために、編集ビデオプログラムのビットストリームを、伝送処理に適したGOP構造およびビットレートに変換する。放送局間の伝送に適したGOP構造とは、例えば、1GOPが15フレームから構成されているGOP構造(例えば、I,B,B,P,B,B,P・…)である。また、放送局間の伝送に適したビットレートは、一般的に放送局間においては、光ファイバなどの高伝送容量を有した専用線が設けられているので、50Mbps以上のハイビットレートであることが望ましい。具体的には、編集処理されたビデオプログラムのビットストリームを一旦デコードしてベースバンドのビデオデータに戻す。そして、そのベースバンドのビデオデータを上述した放送局間の伝送に適したGOP構造およびビットレートを有するように再エンコードする。
【0006】
地方局においては、メイン局から伝送されてきたビデオプログラムの中に、地方特有のコマーシャルを挿入するために編集処理が行われる。つまり、上述した編集処理と同じように、メイン局から伝送されてきたビデオストリームを一旦デコードしてベースバンドのビデオデータに戻す。そして、そのベースバンドのビデオ信号を、すべてのピクチャがIピクチャとなるように再エンコードすることによって、編集処理に適したGOP構造を有したビットストリームを生成することができる。
【0007】
続いて、この地方局において編集処理が行われたビデオプログラムを各家庭に、ケーブルや衛星を介して伝送するために、この伝送処理に適したGOP構造およびビットレートに変換する。例えば、各家庭に伝送するための伝送処理に適したGOP構造とは、1GOPが15フレームから構成されるGOP構造(例えば、I,B,B,P,B,B,P・…)であって、各家庭に伝送するための伝送処理に適したビットレートは、5Mbps程度の低ビットレートである。具体的には、編集処理されたビデオプログラムのビットストリームを一旦デコードしてベースバンドのビデオデータに戻す。そして、そのベースバンドのビデオデータを、上述した伝送処理に適したGOP構造およびビットレートを有するように再エンコードする。
【0008】
以上の説明からも理解できるように、放送局から各家庭にビデオプログラムが伝送される間に、複数回の復号処理および符号化処理が繰り返されている。実際には、放送局における処理は上述した信号処理以外にもさまざまな信号処理が必要であり、そのたびに復号処理および符号化処理を繰り返さなければならない。
【0009】
しかしながら、MPEG規格に基づく符号化処理および復号処理は、100%可逆の処理ではないことは良く知られている。つまり、エンコードされる前のベースバンドのビデオデータと、デコードされた後のビデオデータは100%同じでは無く、この符号化処理および復号処理によって画質が劣化している。つまり、上述したように、デコード処理およびエンコード処理を繰り返すと、その処理の度に、画質が劣化してしまうと言う問題があった。別の言葉で表現すると、デコード/エンコード処理を繰り返す毎に、画質の劣化が蓄積されてしまう。
【0010】
この問題を解決するために、符号化履歴をビデオデータとともに伝送し、それを利用して符号化および復号を実行することにより、画質の劣化を防ぐ技術がある。
【0011】
【発明が解決しようとする課題】
しかしながら、画像を処理するアプリケーションによっては、デコード処理およびエンコード処理の実行にあたって、トランスコーディングシステムが全てのパラメータを必要としていない場合もある。しかしながら、必要とするデータがどの領域に位置するのかがわからないため、トランスコーディングシステムにおいては、全てのデータにアクセスできるように、ハードウェアを組む必要がある。そのため、ハードウェアが複雑になったり、装置の規模が大きくなってしまう。更に、ノイズ等の影響により、パケットが欠落すると、それ以降のデータの復帰が困難なため、多くのデータが欠落してしまう恐れがある。
【0012】
本発明は、このような状況に鑑みてなされたものであり、MPEG規格に基づいて符号化された符号化ビットストリームのGOPの構造を変更するために復号および符号化処理を繰り返したとしても画質劣化の発生しないトランスコーディングシステムにおいて、情報の重要度などによって、データの重畳方法を変更し、所定の位置(例えば、垂直ブランキング領域および水平ブランキング領域)に記述することにより、必要な情報を容易に取り出せるように伝送し、それを読み出すことができるようにするものである。
【0013】
【課題を解決するための手段】
請求項1に記載の復号装置は、入力された符号化ストリームを復号して出力信号を生成する復号手段と、入力された符号化ストリームに記述されている符号化パラメータを抽出する抽出手段と、抽出手段により抽出された符号化パラメータを、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離する分離手段と、分離手段により分離された第1の符号化パラメータおよび第2の符号化パラメータを、所定の形式のデータに変換する変換手段と、変換手段により変換された第1の符号化パラメータを、復号手段により復号された出力信号の垂直ブランキング領域に挿入するとともに、変換手段により変換された第2の符号化パラメータを、復号手段により復号された出力信号水平ブランキング領域に挿入する挿入手段とを備えることを特徴とする。
【0014】
請求項5に記載の復号方法は、入力された符号化ストリームを復号して出力信号を生成する復号ステップと、入力された符号化ストリームに記述されている符号化パラメータを抽出する抽出ステップと、抽出ステップの処理により抽出された符号化パラメータを、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離する分離ステップと、分離ステップの処理により分離された第1の符号化パラメータおよび符号化パラメータを、所定の形式のデータに変換する変換ステップと、変換ステップの処理により変換された第1の符号化パラメータを、復号ステップの処理により復号された出力信号の垂直ブランキング領域に挿入するとともに、変換ステップの処理により変換された第2の符号化パラメータを、復号ステップの処理により復号された出力信号の水平ブランキング領域に挿入する挿入ステップとを含むことを特徴とする。
【0015】
請求項6に記載の記録媒体に記録されるプログラムは、入力された符号化ストリームを復号して出力信号を生成する復号ステップと、入力された符号化ストリームに記述されている符号化パラメータを抽出する抽出ステップと、抽出ステップの処理により抽出された符号化パラメータを、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離する分離ステップと、分離ステップの処理により分離された第1の符号化パラメータおよび第2の符号化パラメータを、所定の形式のデータに変換する変換ステップと、変換ステップの処理により変換された第1の符号化パラメータを、復号ステップの処理により復号された出力信号の垂直ブランキング領域に挿入するとともに、変換ステップの処理により変換された第2の符号化パラメータを、復号ステップの処理により復号された出力信号の水平ブランキング領域に挿入する挿入ステップとを含むことを特徴とする。
【0016】
請求項7に記載の符号化装置は、ピクチャ層以上の符号化パラメータである第1の符号化パラメータが垂直ブランキング領域に挿入され、スライス層以下の符号化パラメータである第2の符号化パラメータが水平ブランキング領域に挿入された信号から第1の符号化パラメータまたは第2の符号化パラメータを抽出する抽出手段と、抽出手段により抽出された第1の符号化パラメータまたは第2の符号化パラメータを選択する選択手段と、選択手段により選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、入力された信号を符号化して符号化ストリームを生成する符号化手段とを備えることを特徴とする。
【0017】
請求項9に記載の符号化方法は、ピクチャ層以上の符号化パラメータである第1の符号化パラメータが垂直ブランキング領域に挿入され、スライス層以下の符号化パラメータである第2の符号化パラメータが水平ブランキング領域に挿入された信号から第1の符号化パラメータまたは第2の符号化パラメータを抽出する抽出ステップと、抽出ステップの処理により抽出された第1の符号化パラメータまたは第2の符号化パラメータを選択する選択ステップと、選択ステップの処理により選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、入力された信号を符号化して符号化ストリームを生成する符号化ステップとを含むことを特徴とする。
【0018】
請求項10に記載の記録媒体に記録されるプログラムは、ピクチャ層以上の符号化パラメータである第1の符号化パラメータが垂直ブランキング領域に挿入され、スライス層以下の符号化パラメータである第2の符号化パラメータが水平ブランキング領域に挿入された信号から第1の符号化パラメータまたは第2の符号化パラメータを抽出する抽出ステップと、抽出ステップの処理により抽出された第1の符号化パラメータまたは第2の符号化パラメータを選択する選択ステップと、選択ステップの処理により選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、入力された信号を符号化して符号化ストリームを生成する符号化ステップとを含むことを特徴とする。
【0019】
請求項11に記載の情報処理装置は、入力された第1の符号化ストリームを復号して出力信号を生成する復号手段と、復号手段により復号された出力信号を符号化して、第2の符号化ストリームを生成する符号化手段とを備え、復号手段は、入力された第1の符号化ストリームに記述されている符号化パラメータを抽出する第1の抽出手段と、第1の抽出手段により抽出された符号化パラメータを、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離する分離手段と、分離手段により分離された第1の符号化パラメータおよび第2の符号化パラメータを、所定の形式のデータに変換する変換手段と、変換手段により変換された第1の符号化パラメータを、復号手段により復号された出力信号の垂直ブランキング領域に挿入し、変換手段により変換された第2の符号化パラメータを、復号手段により復号された出力信号の水平ブランキング領域に挿入する挿入手段とを備え、第1の抽出手段により抽出された符号化パラメータを用いて第1の符号化ストリームを復号し、符号化手段は、復号手段より復号された出力信号の垂直ブランキング領域に挿入されている第1の符号化パラメータまたは水平ブランキング領域に挿入されている第2の符号化パラメータを抽出する第2の抽出手段と、第2の抽出手段により抽出された第1の符号化パラメータまたは第2の符号化パラメータを選択する選択手段とを備え、選択手段により選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、復号手段より復号された出力信号を符号化して、第2の符号化ストリームを生成することを特徴とする。
【0020】
請求項14に記載の情報処理方法は、入力された第1の符号化ストリームを復号して出力信号を生成する復号ステップと、復号ステップの処理により復号された出力信号を符号化して、第2の符号化ストリームを生成する符号化ステップとを含み、復号ステップは、入力された第1の符号化ストリームに記述されている符号化パラメータを抽出する第1の抽出ステップと、第1の抽出ステップの処理により抽出された符号化パラメータを、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離する分離ステップと、分離ステップの処理により分離された第1の符号化パラメータおよび第2の符号化パラメータを、所定の形式のデータに変換する変換ステップと、変換ステップの処理により変換された第1の符号化パラメータを、復号ステップの処理により復号された出力信号の垂直ブランキング領域に挿入し、変換ステップの処理により変換された第2の符号化パラメータを、復号ステップの処理により復号された出力信号水平ブランキング領域に挿入する挿入ステップとを含み、復号ステップの処理では、第1の抽出ステップの処理により抽出された符号化パラメータを用いて第1の符号化ストリームを復号し、符号化ステップは、復号ステップの処理により復号された出力信号の垂直ブランキング領域に挿入されている第1の符号化パラメータまたは水平ブランキング領域に挿入されている第2の符号化パラメータを抽出する第2の抽出ステップと、第2の抽出ステップの処理により抽出された第1の符号化パラメータまたは第2の符号化パラメータを選択する選択ステップとを含み、符号化ステップの処理では、選択ステップの処理により選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、復号ステップの処理により復号された出力信号を符号化して、第2の符号化ストリームを生成することを特徴とする。
【0021】
請求項15に記載の記録媒体に記録されるプログラムは、入力された第1の符号化ストリームを復号して出力信号を生成する復号ステップと、復号ステップの処理により復号された出力信号を符号化して、第2の符号化ストリームを生成する符号化ステップとを含み、復号ステップは、入力された第1の符号化ストリームに記述されている符号化パラメータを抽出する第1の抽出ステップと、第1の抽出ステップの処理により抽出された符号化パラメータを、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離する分離ステップと、分離ステップの処理により分離された第1の符号化パラメータおよび第2の符号化パラメータを、所定の形式のデータに変換する変換ステップと、変換ステップの処理により変換された第1の符号化パラメータを、復号ステップの処理により復号された出力信号の垂直ブランキング領域に挿入し、変換ステップの処理により変換された第2の符号化パラメータを、復号ステップの処理により復号された出力信号の水平ブランキング領域に挿入する挿入ステップとを含み、復号ステップの処理では、第1の抽出ステップの処理により抽出された符号化パラメータを用いて第1の符号化ストリームを復号し、符号化ステップは、復号ステップの処理により復号された出力信号の垂直ブランキング領域に挿入されている第1の符号化パラメータまたは水平ブランキング領域に挿入されている第2の符号化パラメータを抽出する第2の抽出ステップと、第2の抽出ステップの処理により抽出された第1の符号化パラメータまたは第2の符号化パラメータを選択する選択ステップとを含み、符号化ステップの処理では、選択ステップの処理により選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、復号ステップの処理により復号された出力信号を符号化して、第2の符号化ストリームを生成することを特徴とする。
【0022】
請求項1に記載の復号装置、請求項5に記載の復号方法、請求項6に記載の記録媒体においては、入力された符号化ストリームを復号して出力信号が生成され、入力された符号化ストリームに記述されている符号化パラメータが抽出され、抽出された符号化パラメータ、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離され、分離された第1の符号化パラメータおよび第2の符号化パラメータ、所定の形式のデータに変換され、変換された第1の符号化パラメータが、復号された出力信号の垂直ブランキング領域に挿入され、変換された第2の符号化パラメータが、復号された出力信号の水平ブランキング領域に挿入される
【0023】
請求項7に記載の符号化装置、請求項9に記載の符号化方法、請求項10に記載の記録媒体においては、ピクチャ層以上の符号化パラメータである第1の符号化パラメータが垂直ブランキング領域に挿入され、スライス層以下の符号化パラメータである第2の符号化パラメータが水平ブランキング領域に挿入された信号から第1の符号化パラメータまたは第2の符号化パラメータが抽出され、抽出された第1の符号化パラメータまたは第2の符号化パラメータが選択され、選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、入力された信号符号化されて符号化ストリームが生成される。
【0024】
請求項11に記載の情報処理装置、請求項14に記載の情報処理方法、請求項15に記載の記録媒体においては、入力された第1の符号化ストリームを復号して出力信号が生成され、復号された出力信号を符号化して、第2の符号化ストリームが生成され、復号においては、入力された第1の符号化ストリームに記述されている符号化パラメータが抽出され、抽出された符号化パラメータ、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離され、分離された第1の符号化パラメータまたは第2の符号化パラメータが、所定の形式のデータに変換され、変換された第1の符号化パラメータが、復号された出力信号の垂直ブランキング領域に挿入され、変換された第2の符号化パラメータが、復号された出力信号の水平ブランキング領域に挿入され、抽出された符号化パラメータを用いて第1の符号化ストリームが復号され、符号化においては、復号された出力信号の垂直ブランキング領域に挿入されている第1の符号化パラメータまたは水平ブランキング領域に挿入されている第2の符号化パラメータが抽出され、抽出された第1の符号化パラメータまたは第2の符号化パラメータが選択され、選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、復号された出力信号符号化されて、第2の符号化ストリームが生成される。
【0025】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【0026】
図1は、本発明のトランスコーディングシステムを示すブロック図である。ビデオデコーディングシステム1は、ビットストリームの入力を受け、図5を用いて後述する方法で、入力された信号をデコードし、図7を用いて後述するV Blanking領域およびH Blanking領域に必要に応じた情報を記述し、ベースバンドビデオ信号に変換して出力する。ビデオエンコーディングシステム2は、ベースバンドビデオ信号の入力を受け、図7を用いて後述するV Blanking領域およびH Blanking領域から必要に応じた情報を取り出し、図12を用いて後述する方法で、入力された信号をエンコードし、ビットストリームに変換して出力する。ビデオ処理システム(VTR)3は、必要に応じて、ベースバンドビデオ信号に対する編集処理を実行する。
【0027】
図2は、ビデオデコーディングシステム1の詳細な構成を示すブロック図である。
【0028】
復号装置11は、入力されたビットストリームから、ビデオ信号を取り出し、ヒストリ情報多重化装置12に出力し、1世代前の符号化パラメータ(例えば、このトランスコーディングシステムが第4世代であれば、第3世代の符号化パラメータ)を取り出し、ヒストリ情報多重化装置12およびデータ分類装置13に出力し、ビデオデコーディングシステムに入力される以前のデータの変換履歴を示すユーザデータ(すなわち、直前の世代より更に前の世代の符号化パラメータ)をヒストリデコーディング装置14に入力する。
【0029】
データ分類装置13に入力された符号化パラメータは、例えば、多くのアプリケーションで必要度の高いピクチャ層以上の符号化パラメータと、全てのパラメータで必要ではないスライス層以下の符号化パラメータとに分離され、フォーマットコンバータ15およびフォーマットコンバータ17にそれぞれ出力される。フォーマットコンバータ15およびフォーマットコンバータ17は、入力された符号化パラメータをアンシラリパケットにフォーマット変換し、V Blanking挿入装置16およびH Blanking挿入装置18にそれぞれ出力する。
【0030】
ヒストリデコーディング装置14は、復号装置11より供給されるユーザデータをデコードするユーザデータデコーダ21、ユーザデータデコーダ21の出力を変換するコンバータ22、およびコンバータ22の出力から履歴情報を再生するヒストリVLD(Variable Length Decoder)23により構成されている。
【0031】
ユーザデータデコーダ21は、復号装置11より供給されるユーザデータをデコードして、コンバータ22に出力する。詳細は図28を参照して後述するが、ユーザデータ(user_data())は、user_data_start_codeとuser_dataからなり、MPEG規格においてはuser_dataの中に、連続する23ビットの”0”(start_codeと同一のコード)を発生させることを禁止している。これは、そのデータが、start_codeとして誤検出されるのを防止するためである。履歴情報(history_stream())は、ユーザデータエリアに(MPEG規格のuser_dataの一種として)記述され、その中には、このような連続する23ビット以上の”0”が存在することがあり得るので、これを、連続する23ビット以上の”0”が発生しないように、所定のタイミングで“1”を挿入処理して、converted_history_stream()(後述する図15)に変換する必要がある。この変換を行うのは、後述するヒストリエンコーディング装置のコンバータである。ヒストリデコーディング装置14のコンバータ22は、このコンバータと逆の変換処理を行う(連続する23ビット以上の”0”を発生させないために挿入された”1”を除去する)ものである。
【0032】
ヒストリVLD23は、コンバータ22の出力から履歴情報(いまの場合、第1世代の符号化パラメータと第2世代の符号化パラメータ)を生成し、ヒストリ情報多重化装置12に出力する。
【0033】
すなわち、ヒストリデコーディング装置14は、受け取ったユーザデータのシンタックスを解析することによって、ユーザデータの中に記述されている固有のHistory_Data_Idを検出し、これによって、converted_history_stream()を抽出することができる。更に、ヒストリデコーディング装置14は、converted_history_stream()中にある所定間隔に挿入されている1ビットのマーカービット(marker_bit)を取りさることによって、history_stream()を得ることができ、そして、そのhistory_stream()のシンタックスを解析することによって、history_stream()中に記述されている第1世代および第2世代の符号化パラメータを得ることができる。
【0034】
ヒストリ情報多重化装置12は、ビデオデコーディングシステムに入力される以前の全てのデータ変更履歴(例えば、これが第4世代の変更であれば、第1世代、第2世代および第3世代の符号化パラメータ)を、第4世代の符号化処理を行うビデオエンコーディングシステム2に供給するために、復号装置11においてデコードされたベースバンドのビデオデータに、これらの第1世代、第2世代および第3世代の符号化パラメータを多重化するための回路である。
【0035】
ヒストリ情報多重化装置12から出力された信号は、V Blanking挿入装置16に入力される。V Blanking挿入装置16は、図7を用いて後述するV Blanking領域に、フォーマットコンバータ15から入力されたピクチャ層以上の符号化パラメータを挿入し、H Blanking挿入装置18に出力する。H Blanking挿入装置18は、図7を用いて後述するH Blanking領域に、フォーマットコンバータ17から入力されたスライス層以下の符号化パラメータを挿入し、出力する。
【0036】
図3は、ビデオエンコーディングシステム2の詳細な構成を示すブロック図である。
【0037】
H Blanking抽出装置31は、入力されたベースバンドビデオ信号から、H Blanking領域に重畳されたアンシラリパケットを抽出し、フォーマットコンバータ32に出力する。フォーマットコンバータ32は、入力されたアンシラリパケットのフォーマットを変換し、マルチプレクサ33に出力する。V Blanking抽出装置34は、入力されたベースバンドビデオ信号から、V Blanking領域に重畳されたアンシラリパケットを抽出し、フォーマットコンバータ35に出力する。フォーマットコンバータ35は、入力されたアンシラリパケットのフォーマットを変換し、マルチプレクサ33に出力する。マルチプレクサ33は、入力された信号を多重化し、パラメータ再生部36に出力する。
【0038】
パラメータ再生部36は、パケットが欠落していた場合、図8を用いて後述する方法で、損失したデータを修正し、修正後のデータを符号化装置39に出力する。
【0039】
H Blanking抽出装置31およびH Blanking抽出装置34においてアンシラリパケットが抽出された後、データは、ヒストリ情報分離装置37に入力される。ヒストリ情報分離装置37は、伝送データからベースバンドのビデオデータを抽出して、そのビデオデータを符号化装置39に供給するとともに、伝送データから第1世代、第2世代および第3世代のヒストリ情報を抽出して、符号化装置39とヒストリエンコーディング装置38にそれぞれ供給する。
【0040】
ヒストリエンコーディング装置38において、ヒストリVLC(Variable Length Coder)43は、ヒストリ情報分離装置37より供給される3世代分の(第1世代、第2世代、および第3世代の)符号化パラメータを、履歴情報のフォーマットに変換する。このフォーマットには、固定長のもの(後述する図17乃至図23)と、可変長のもの(後述する図24)とがある。これらの詳細については後述する。
【0041】
ヒストリVLC43により、フォーマット化された履歴情報は、コンバータ42において、converted_history_stream()に変換される。これは、上述したように、user_data()のstart_codeが誤検出されないようにするための処理である。すなわち、履歴情報内には連続する23ビット以上の”0”が存在するが、user_data中には連続する23ビット以上の”0”を配置することができないので、この禁止項目に触れないようにコンバータ42によりデータを変換する(“1”を所定のタイミングで挿入する)。
【0042】
ユーザデータフォーマッタ41は、コンバータ42より供給されるconverted_history_stream()に、後述する図15に基づいて、History_Data_IDを付加し、更に、user_data_stream_codeを付加して、video stream中に挿入できるMPEG規格のuser_dataを生成し、符号化装置39に出力する。
【0043】
符号化装置39は、ヒストリ情報分離装置37から供給されたベースバンドのビデオデータを、オペレータまたはホストコンピュータから指定されたGOP構造およびビットレートを有するビットストリームになるように符号化するための装置である。なお、GOP構造を変更するとは、例えば、GOPに含まれるピクチャの数、IピクチャとIピクチャの間に存在するPピクチャの数、およびIピクチャとPピクチャ(またはIピクチャ)の間に存在するBピクチャの数を変更することを意味する。
【0044】
この場合、供給されたベースバンドのビデオデータには、第1世代、第2世代および第3世代のヒストリ情報が重畳されているので、この符号化装置39は、再符号化処理による画質劣化が少なくなるように、これらのヒストリ情報を選択的に再利用して第4世代の符号化処理を行う。
【0045】
例えば、ピクチャ層以上のデータのみを取り扱う場合、図2および図3を用いて説明した全てのハードウェアは必要ではない。すなわち、図2において、フォーマットコンバータ17およびH Blanking挿入装置18を削除し、図3において、H Blanking抽出装置31およびフォーマットコンバータ32を削除したビデオデコーディングシステムを用いればよい。
【0046】
また、スライス層以下のデータをピクチャ層以上のデータと同様の頻度で取り扱うような場合、図4に示すように、復号装置61、ヒストリデコーディング装置62、およびヒストリ情報多重化装置63からなるビデオデコーディングシステム51、並びに、ヒストリ情報分離装置64、ヒストリエンコーディング装置65、および符号化装置66からなるビデオエンコーディングシステム52を用いてもよい。
【0047】
復号装置61は、入力されたビットストリームから、ビデオ信号および符号化パラメータを取り出し、ヒストリ情報多重化装置63に出力するとともに、入力されたビットストリームからユーザデータを取り出し、ヒストリデコーディング装置62に出力する。ヒストリデコーディング装置62は、ヒストリデコーディング装置14と同様の方法でユーザデータをデコードし、ヒストリ情報多重化装置63に出力する。ヒストリ情報多重化装置63は、図7を用いて後述するように、指定された領域に符号化パラメータを記述し、ヒストリ情報分離装置64に出力する。
【0048】
ヒストリ情報分離装置64は、入力されたデータからベースバンドのビデオデータを抽出して、そのビデオデータを符号化装置66に供給するとともに、入力されたデータの所定の位置に記述されている、第1世代、第2世代および第3世代のヒストリ情報を抽出して、符号化装置66とヒストリエンコーディング装置65にそれぞれ供給する。ヒストリエンコーディング装置65は、ヒストリエンコーディング装置38と同様の処理により、入力されたヒストリ情報をエンコードし、符号化装置66に出力する。符号化装置66は、入力されたデータが、所定のGOP構造およびビットレートを有するビットストリームになるように符号化する。
【0049】
図5は、図2を用いて説明した復号装置11(もしくは、図4を用いて説明した復号装置61)に含まれるデコーダ81の詳細な構成を示すブロック図である。
【0050】
デコーダ81は、供給されたビットストリームをバッファリングするための受信バッファ91、符号化ビットストリームを可変長復号するための可変長復号回路92、可変長復号されたデータを可変長復号回路92から供給された量子化スケールに従って逆量子化する逆量子化回路93、逆量子化されたDCT(離散コサイン変換)係数を逆離散コサイン変換するIDCT回路94、および動き補償処理を行うための演算器95、フレームメモリ96および動き補償回路97を備えている。
【0051】
可変長復号回路92は、直前の世代(この場合、第3世代)の符号化ビットストリームを復号処理するために、この符号化ビットストリームのピクチャ層、スライス層およびマクロブロック層に記述されている符号化パラメータを抽出する。抽出された符号化パラメータは、図2を用いて説明したように、データ分類装置13にも供給され、ピクチャ層以上とスライス層以下に分類される。
【0052】
例えば、この可変長復号回路92において抽出される第3世代の符号化パラメータは、ピクチャタイプを示すpicture_coding_type、量子化スケールステップサイズを示すquantiser_scale_code、予測モードを示すmacroblock_type、動きベクトルを示すmotion_vector、フレーム予測モードかフィールド予測モードかを示すframe/field_motion_type、およびフレームDCTモードかフィールドDCTモードかを示すdct_type等である。この可変長復号回路92において抽出されたquatntiser_scale_codeは、逆量子化回路93に供給され、picture_coding_type、quatntiser_scale_code、macroblock_type、motion_vector、frame/field_motion_type、dct_type等のパラメータは、動き補償回路97に供給される。
【0053】
可変長復号回路92は、第3世代の符号化ビットストリームを復号処理するために必要なこれらの符号化パラメータだけではなく、後段の第5世代のトランスコーディングシステムに第3世代のヒストリ情報として伝送されるべき符号化パラメータを、第3世代の符号化ビットストリームのシーケンス層、GOP層、ピクチャ層、スライス層、およびマクロブロック層から抽出する。もちろん、第3世代の復号処理に使用されたpicture_coding_type、quatntiser_scale_code、macroblock_type、motion_vector、frame/field_motion_type、dct_type等の第3世代の符号化パラメータは、この第3世代のヒストリ情報に含まれている。ヒストリ情報としてどのような符号化パラメータを抽出するかについては、伝送容量などに応じてオペレータやホストコンピュータ側から予め設定されている。
【0054】
更に、可変長復号回路92は、第3世代の符号化ビットストリームのピクチャ層のユーザデータエリアに記述されているユーザデータを抽出し、そのユーザデータをヒストリデコーディング装置14に供給する。
【0055】
このヒストリデコーディング装置14は、前述したように、第3世代の符号化ビットストリームのピクチャ層に記述されていたユーザデータから、ヒストリ情報として記述されている第1世代の符号化パラメータおよび第2世代の符号化パラメータ(直前の世代より更に前の世代の符号化パラメータ)を抽出するための回路である。
【0056】
また、可変長復号回路92は、受信バッファ91より供給されたデータを可変長復号し、動きベクトル、予測モード、予測フラグ、およびDCTフラグを動き補償回路97に出力し、量子化スケールを逆量子化回路93に出力するとともに、復号された画像データを逆量子化回路93に出力する。
【0057】
逆量子化回路93は、可変長復号回路92より供給された画像データを、同じく可変長復号回路92より供給された量子化スケールに従って逆量子化し、IDCT回路94に出力する。逆量子化回路93より出力されたデータ(DCT係数)は、IDCT回路94により、逆離散コサイン変換処理が施され、演算器95に供給される。
【0058】
IDCT回路94より演算器95に供給された画像データが、Iピクチャのデータである場合、そのデータは演算器95より出力され、演算器95に後に入力される画像データ(PまたはBピクチャのデータ)の予測画像データ生成のために、フレームメモリ96の前方予測画像部96aに供給されて記憶される。
【0059】
IDCT回路94より供給された画像データが、その1フレーム前の画像データを予測画像データとするPピクチャのデータであり、前方予測モードのデータである場合、フレームメモリ96の前方予測画像部96aに記憶されている、1フレーム前の画像データ(Iピクチャのデータ)が読み出され、動き補償回路97で可変長復号回路92より出力された動きベクトルに対応する動き補償が施される。そして、演算器95において、IDCT回路94より供給された画像データ(差分のデータ)と加算され、出力される。この加算されたデータ、すなわち、復号されたPピクチャのデータは、演算器95に後に入力される画像データ(BピクチャまたはPピクチャのデータ)の予測画像データ生成のために、フレームメモリ96の後方予測画像部96bに供給されて記憶される。
【0060】
このように、Pピクチャのデータであっても、画像内予測モードのデータは、Iピクチャのデータと同様に、演算器95において処理は行われず、そのまま後方予測画像部96bに記憶される。
【0061】
IDCT回路94より供給された画像データが、Bピクチャのデータである場合、可変長復号回路92より供給された予測モードに対応して、フレームメモリ96の前方予測画像部96aに記憶されているIピクチャの画像データ(前方予測モードの場合)、後方予測画像部96bに記憶されているPピクチャの画像データ(後方予測モードの場合)、または、その両方の画像データ(両方向予測モードの場合)が読み出され、動き補償回路97において、可変長復号回路92より出力された動きベクトルに対応する動き補償が施されて、予測画像が生成される。ただし、動き補償を必要としない場合(画像内予測モードの場合)、予測画像は生成されない。
【0062】
このようにして、動き補償回路97において動き補償が施されたデータは、演算器95において、IDCT回路94の出力と加算され、出力される。ただし、この加算出力はBピクチャのデータであり、他の画像の予測画像生成のために利用されることがないため、フレームメモリ96には記憶されない。また、動き補償回路97においては、奇数フィールドと偶数フィールドのラインの信号が分離された構成を元の構成に必要に応じて戻す処理も実行される。
【0063】
Bピクチャの画像が出力された後、後方予測画像部96bに記憶されているPピクチャの画像データが読み出され、動き補償回路97を介して演算器95に供給される。ただし、このとき、動き補償は行われない。
【0064】
そして、デコーダ81からの出力は、ヒストリ情報多重化装置12に入力される。具体的には、ヒストリ情報多重化装置12は、デコーダ81の演算器95から出力されたベースバンドのビデオデータ、デコーダ81の可変長復号回路92から出力された第3世代の符号化パラメータ、並びに、ヒストリデコーディング装置14から出力された第1世代の符号化パラメータと第2世代の符号化パラメータとを受け取り、このベースバンドのビデオデータに、これらの第1世代、第2世代および第3世代の符号化パラメータを多重化し、その後、図7を用いて後述するように、H Blanking領域およびV Blanking領域に符号化パラメータが記述され、出力データが生成される。
【0065】
次に、これらの第1世代、第2世代および第3世代の符号化パラメータのベースバンドビデオデータへの多重化の方法について、図6乃至図11を参照して説明する。
【0066】
図6は、MPEG規格において定義されている、16ピクセル×16ピクセルからなる1つのマクロブロックを示している。この16ピクセル×16ピクセルのマクロブロックは、輝度信号に関しては4つの8ピクセル×8ピクセルからなるサブブロック(Y[0],[1],[2]およびY[3])と、色差信号に関しては4つの8ピクセル×8ピクセルからなるサブブロック(Cr[0],r[1],b[0],およびCb[1])から構成されている。
【0067】
そして、図7に示されるように、例えば、多くのアプリケーションで必要度の高い、ピクチャ層以上の符号化パラメータがV Blanking領域に記述され、全てのアプリケーションでは必要とされない、スライス層以下の符号化パラメータがH Blanking領域に記述されるように、前述したV Blanking挿入装置16、およびH Blanking挿入装置18によって挿入される。
【0068】
また、前述したパラメータ再生部における欠落パケットの修正において、例えば、以前のデータを格納しておき、欠落パケットの個所に相当するデータを補充するなどの方法がある。ここで、図8(A)に示されるように、パケットの区切りにかかわりなく、各データのスタートにstart_codeが書き込まれた場合、全てのデータを読み込んでstart_codeを探さなくてはいけない。従って、V Blanking領域に含まれるピクチャ層以上の情報においては、図8(B)に示されるように、1マクロブロックの情報は、1ストライプのアンシラリパケット内で閉じるようにし、start_codeを常にパケットの先頭に書き込むことにより、欠落パケットの修正を容易にする。
【0069】
また、図6を用いて説明したマクロブロックにおいて、垂直方向に分解してできる帯単位の情報をストライプという。MPEG2では、インタレース形式の画像を処理する場合、図9に示されるフィールドストラクチャとフレームストラクチャを適宜切り替えて用いている。フィールドストラクチャは、フィールド単位で画像を処理するのに対して、フレームストラクチャでは、2つのフィールドからフレームを構成し、フレーム単位で画像を処理する。そのため、フィールドストラクチャでは、16ラインごとにストライプが形成されるが、フレームストラクチャでは、8ラインごとにストライプが形成される。
【0070】
それぞれのストライプを形成するスライス層以下の符号化パラメータは、そのストライプのH Blanking領域に閉じた形で伝送する。これにより、各ストライプのビデオデータが得られるのと同時に符号化パラメータも得られるため、時間を合わせるためのバッファなどの機構をもつ必要がなくなる。また、パケットのペイロード内にstart_codeが存在する場合、パケット欠落時の復帰を容易にするため、図10に示すように、start_codeは常にパケットの先頭に書き込まれるようにする。
【0071】
図11に示されるように、データブロックは、各サブブロック(Y[0],Y[1],Y[2],Y[3],Cr[0],Cr[1],Cb[0],Cb[1])における1ピクセルを伝送するためのデータブロックであるので、1マクロブロックのデータを伝送するためには、この図11に示されているデータブロックが64個伝送される。下位2ビット(D1とD0)を使用すれば、1マクロブロックのビデオデータに対して、合計で1024(=16×64)ビットのヒストリ情報を伝送できる。従って、1世代分のヒストリ情報は、256ビットとなるように生成されているので、過去の4(=1024/256)世代分のヒストリ情報を1マクロブロックのビデオデータに対して重畳することができる。図11に示した例では、第1世代のヒストリ情報、第2世代のヒストリ情報、並びに、第3世代のヒストリ情報が重畳されている。
【0072】
図12は、図3を用いて説明した符号化装置39(もしくは、図4を用いて説明した符号化装置66)に設けられているエンコーダ101の具体的な構成を示している図である。このエンコーダ101は、コントローラ125、動きベクトル検出回路111、フレームメモリ112、フレーム/フィールド予測モード切り替え回路113、演算器114、DCTモード切り替え回路115、DCT回路116、量子化回路117、可変長符号化回路118、送信バッファ119、逆量子化回路120、逆DCT(IDCT)回路121、演算器122、フレームメモリ123、および動き補償回路124を備えている。
【0073】
このエンコーダ101は、上述した各回路の動作および機能を制御するためのコントローラ125を有している。このコントローラ125は、オペレータまたはホストコンピュータからGOP構造に関するインストラクションを受け取って、そのGOP構造に対応するように各ピクチャのピクチャタイプを決定する。また、このコントローラ125は、オペレータまたはホストコンピュータからタ−ゲットビットレートの情報を受け取り、このエンコーダ101から出力されるビットレートが、オペレータまたはホストコンピュータから指定されたターゲットビットレートになるように、量子化回路117を制御する。
【0074】
更に、このコントローラ125は、ヒストリ情報分離装置37から出力された複数世代のヒストリ情報を受け取り、これらのヒストリ情報を再利用して参照ピクチャの符号化処理を行う。以下に詳しく説明する。
【0075】
まず、このコントローラ125は、オペレータによって指定されたGOP構造から決定された参照ピクチャのピクチャタイプと、ヒストリ情報に含まれるピクチャタイプが一致するか否かを判断する。つまり、指定されたピクチャタイプと同じピクチャタイプでこの参照ピクチャが過去において符号化されたことがあるか否かを判断する。すなわち、このコントローラ125は、第4世代の符号化処理としてこの参照ピクチャにアサインされたピクチャタイプが、第1世代の符号化処理おけるこの参照ピクチャのピクチャタイプ、第2世代の符号化処理おけるこの参照ピクチャのピクチャタイプ、または第3世代の符号化処理おけるこの参照ピクチャのピクチャタイプのいずれかと一致するか否かを判断する。
【0076】
もし、第4世代の符号化処理としてこの参照ピクチャに指定されたピクチャタイプが、過去の符号化処理におけるどのピクチャタイプとも一致しないのであれは、このコントローラ125は、「通常符号化処理」を行う。つまり、この場合には、第1世代、第2世代または第3世代のどの世代の符号化処理においても、第4世代の符号化処理としてアサインされたピクチャタイプで、この参照ピクチャが符号化処理されたことがないということになる。一方、もし、第4世代の符号化処理としてこの参照ピクチャに指定されたピクチャタイプが、過去の符号化処理におけるいずれかのピクチャタイプと一致するのであれば、このコントローラ125は、「パラメータ再利用符号化処理」を行う。つまり、この場合には、第1世代、第2世代または第3世代のいずれかの世代の符号化処理において、第4世代の符号化処理としてアサインされたピクチャタイプで、この参照ピクチャが符号化処理されたことがあるということになる。
【0077】
まず、最初にコントローラ125の通常符号化処理について説明する。
【0078】
符号化される画像データは、マクロブロック単位で動きベクトル検出回路111に入力される。動きベクトル検出回路111は、予め設定されている所定のシーケンスに従って、各フレームの画像データを、Iピクチャ、Pピクチャ、またはBピクチャとして処理する。シーケンシャルに入力される各フレームの画像を、I,P、またはBのいずれのピクチャとして処理するかは、予め定められている。
【0079】
Iピクチャとして処理されるフレームの画像データは、動きベクトル検出回路111からフレームメモリ112の前方原画像部112aに転送、記憶され、Bピクチャとして処理されるフレームの画像データは、原画像部112bに転送、記憶され、Pピクチャとして処理されるフレームの画像データは、後方原画像部112cに転送、記憶される。
【0080】
また、次のタイミングにおいて、更にBピクチャまたはPピクチャとして処理すべきフレームの画像が入力されたとき、それまで後方原画像部112cに記憶されていた最初のPピクチャの画像データが、前方原画像部112aに転送され、次のBピクチャの画像データが、参照原画像部112bに記憶(上書き)され、次のPピクチャの画像データが、後方原画像部112cに記憶(上書き)される。このような動作が順次繰り返される。
【0081】
フレームメモリ112に記憶された各ピクチャの信号は、そこから読み出され、予測モード切り替え回路113において、フレーム予測モード処理、またはフィールド予測モード処理が行なわれる。
【0082】
動きベクトル検出回路111は、フレーム予測モードまたはフィールド予測モードのどちらが選択されるべきかを判断するために、フレーム予測モードにおける予測誤差とフィールド予測モードおける予測誤差をそれぞれ検出し、その予測誤差の値をコントローラ125に供給する。
【0083】
すなわち、動きベクトル検出回路111は、画像内予測の予測誤差の絶対値和として、参照画像のマクロブロックの信号Aijの総和ΣAijの絶対値|ΣAij|と、マクロブロックの信号Aijの絶対値|Aij|の総和Σ|Aij|の差を求める。また、前方予測の予測誤差の絶対値和として、参照画像のマクロブロックの信号Aijと、予測画像のマクロブロックの信号Bijの差Aij−Bijの絶対値|Aij−Bij|の総和Σ|Aij−Bij|を求める。また、後方予測と両方向予測の予測誤差の絶対値和も、前方予測における場合と同様に(その予測画像を前方予測における場合と異なる予測画像に変更して)求める。
【0084】
これらの絶対値和は、コントローラ125に供給される。更に、コントローラ125は、この予測の予測誤差の絶対値和と、画像内予測の予測誤差の絶対値和とを比較し、その小さい方を選択し、この選択した絶対値和に対応するモードを予測モードとして選択する。すなわち、画像内予測の予測誤差の絶対値和の方が小さければ、画像内予測モードが設定される。予測の予測誤差の絶対値和の方が小さければ、前方予測、後方予測または両方向予測モードのうちの対応する絶対値和が最も小さかったモードが設定される。
【0085】
予測モード切り替え回路113は、コントローラ125によって選択された予測モードに対応するように信号処理を行い、それを演算器114に供給する。具体的には、予測モード切り替え回路113は、フレーム予測モードが選択された場合には、輝度信号に関しては、入力された状態のまま演算器114に出力するように信号処理を行い、色差信号に関しては、奇数フィールドラインと偶数フィールドラインとが混在するように信号処理する。一方、フィールド予測モードが選択された場合には、4個の輝度ブロックのうち、2つの輝度ブロックを、例えば奇数フィールドのラインのドットだけで構成させ、他の2個の輝度ブロックを、偶数フィールドのラインのドットだけで構成させて、演算器114に出力する。色差信号に関しては、上4ラインを奇数フィールドラインで構成し、下4ラインを偶数フィールドラインで構成するように信号処理する。
【0086】
更に、動きベクトル検出回路111は、画像内予測モード、前方予測モード、後方予測モード、または両方向予測モードのうちのいずれの予測モードを選択するかを決定するために、各予測モードにおける予測誤差を生成し、各予測モードにおける予測誤差をコントローラ125にそれぞれ供給する。コントローラ125は、前方予測、後方予測および両方向予測の予測誤差のうちの最も小さいものを、インタ予測の予測誤差として選択する。更に、このインタ予測の予測誤差と、画像内予測の予測誤差とを比較し、その小さい方を選択し、この選択した予測誤差に対応するモードを予測モードとして選択する。すなわち、画像内予測の予測誤差の方が小さければ、画像内予測モードが設定される。予測の予測誤差の方が小さければ、前方予測、後方予測または両方向予測モードのうちの対応する予測誤差が最も小さかったモードが設定される。コントローラ125は、選択した予測モードに対応するように、演算器114および動き補償回路124を制御する。これにより、Iピクチャの画像データが、DCTモード切替回路に入力される。
【0087】
DCTモード切り替え回路115は、フレームDCTモードまたはフィールドDCTモードのいずれかを選択するために、4個の輝度ブロックのデータを、奇数フィールドラインと偶数フィールドラインが混在するような信号形態(フレームDCTモード)に変換するとともに、奇数フィールドラインと偶数フィールドラインが分離された信号形態(フィールドDCTモード)に変換して、それぞれの信号をDCT回路116に供給する。DCT回路116は、奇数フィールドと偶数フィールドを混在してDCT処理した場合における符号化効率と、奇数フィールドと偶数フィールドを分離した状態においてDCT処理した場合の符号化効率を計算し、その結果をコントローラ125に供給する。コントローラ125は、DCT回路116から供給されたそれぞれの符号化効率を比較し、符号化効率の良い方のDCTモードを選択し、その選択したDCTモードとなるようにDCTモード切り替え回路115を制御する。
【0088】
そして、DCTモード切り替え回路115は、選択したDCTモードに対応する構成のデータをDCT回路116に出力するとともに、選択したDCTモードを示すDCTフラグを、可変長符号化回路118、および動き補償回路124に出力する。
【0089】
予測モード切り替え回路113における予測モード(すなわち、フィールド予測モードもしくはフレーム予測モード)と、このDCTモード切り替え回路115におけるDCTモード(すなわち、フィールドDCTモードもしくはフレームDCTモード)を比較して明らかなように、輝度ブロックに関しては、両者の各モードにおけるデータ構造は実質的に同一である。
【0090】
予測モード切り替え回路113において、フレーム予測モード(奇数ラインと偶数ラインが混在するモード)が選択された場合、DCTモード切り替え回路115においても、フレームDCTモード(奇数ラインと偶数ラインが混在するモード)が選択される可能性が高く、また予測モード切り替え回路113において、フィールド予測モード(奇数フィールドと偶数フィールドのデータが分離されたモード)が選択された場合、DCTモード切り替え回路115において、フィールドDCTモード(奇数フィールドと偶数フィールドのデータが分離されたモード)が選択される可能性が高い。
【0091】
しかしながら、必ずしも常にこのようにモードが選択されるわけではなく、予測モード切り替え回路113においては、予測誤差の絶対値和が小さくなるようにモードが決定され、DCTモード切り替え回路115においては、符号化効率が良好となるようにモードが決定される。
【0092】
DCTモード切り替え回路115より出力されたIピクチャの画像データは、DCT回路116に入力されてDCT処理され、DCT係数に変換される。このDCT係数は、量子化回路117に入力され、送信バッファ119のデータ蓄積量(バッファ蓄積量)に対応した量子化スケールで量子化された後、可変長符号化回路118に入力される。
【0093】
すなわち、コントローラ125は、オペレータまたはホストコンピュータから供給された目標ビットレートを示すターゲットビットレートと、送信バッファ119にバッファリングされているビット量を示す信号、つまり、バッファ残量を示す信号を受け取り、このターゲットビットレートとバッファ残量に基づいて、量子化回路117の量子化ステップサイズをコントロールするためのfeedback_q_scale_code を生成する。このfeedback_q_scale_codeは、この送信バッファ119がオーバーフローまたはアンダーフローしないように、この送信バッファ119のバッファ残量に応じて生成される制御信号であって、また、送信バッファ119から出力されるビットストリームのビットレートが、ターゲットビットレートになるように制御する信号でもある。
【0094】
具体的には、例えば、送信バッファ119にバッファリングされているビット量が少なくなってしまった場合には、次に符号化するピクチャの発生ビット量が増えるように、量子化ステップサイズを小さくし、一方、送信バッファ119にバッファリングされているビット量が多くなってしまった場合には、次に符号化するピクチャの発生ビット量が少なくなるように、量子化ステップサイズを大きくする。なお、feedback_q_scale_codeと量子化ステップサイズは比例し、feedback_q_scale_codeを大きくすると、量子化ステップサイズは大きくなり、feedback_q_scale_codeを小さくすると、量子化ステップサイズは小さくなる。
【0095】
次に、このエンコーダ101の特徴の1つでもある、パラメータ再利用符号化処理について、上述した通常符号化処理と異なる点を中心に説明する。この処理をより分かりやすく説明するために、参照ピクチャは、第1世代の符号化処理においてPピクチャとして符号化され、第2世代の符号化処理においてIピクチャとして符号化処理され、第3世代の符号化処理においてBピクチャとして符号化されていたものとし、今回の第4世代の符号化処理において、この参照ピクチャをPピクチャとして符号化しなければいけないものとする。
【0096】
この場合には、この参照ピクチャは、第4世代のピクチャタイプとしてアサインされたピクチャタイプと同じピクチャタイプ(Pピクチャ)で、第1世代の符号化処理において符号化されているので、コントローラ125は、供給されたビデオデータから符号化パラメータを新しく作成するのではなく、第1世代の符号化パラメータを使用して符号化処理を行う。この第4の符号化処理において再利用する符号化パラメータは、代表的なパラメータとしては、量子化スケールステップサイズを示すquantiser_scale_code、予測方向モードを示すmacroblock_type、動きベクトルを示すmotion_vector、フレーム予測モードかフィールド予測モードかを示すframe/field_motion_type、およびFrameDCTモードかField DCTモードかを示すdct_type等である。
【0097】
すなわち、コントローラ125は、ヒストリ情報として伝送されたすべての符号化パラメータを再利用するわけではなく、再利用した方が望ましいと想定される上述したような符号化パラメータについては再利用し、再利用しない方が望ましいと考えられる符号化パラメータについては、再利用せずに、新しく生成する。
【0098】
動きベクトル検出回路111は、上述した通常符号化処理においては、参照ピクチャの動きベクトルの検出を行ったが、このパラメータ再利用符号化処理においては、動きベクトルmotion_vectorの検出処理は行わずに、第1世代のヒストリ情報として供給された動きベクトルmotion_vectorを再利用する。その理由について説明する。
【0099】
第3世代の符号化ストリームを復号したベースバンドのビデオデータは、少なくとも3回の復号および符号化処理が行われているので、オリジナルビデオデータに比べると、明らかに画質が劣化している。画質が劣化しているビデオデータから動きベクトルを検出したとしても、正確な動きベクトルは検出できない。つまり、第4世代の符号化処理において検出された動きベクトルよりも、第1世代のヒストリ情報として供給されている動きベクトルの方が、明らかに、精度の高い動きベクトルである。つまり、第1世代の符号化パラメータとして伝送された動きベクトルを再利用することによって、第4世代の符号化処理を行ったとしても画質が劣化しない。コントローラ125は、この第1世代のヒストリ情報として供給された動きベクトルmotion_vectorを、第4世代の符号化処理において符号化されるこの参照ピクチャの動きベクトル情報として、動き補償回路124および可変長符号化回路118に供給する。
【0100】
更に、動きベクトル検出回路111は、フレーム予測モードとフィールド予測モードのどちらが選択されるかを判断するために、フレーム予測モードにおける予測誤差とフィールド予測モードおける予測誤差をそれぞれ検出したが、このパラメータ再利用符号化処理においては、このフレーム予測モードにおける予測誤差とフィールド予測モードおける予測誤差を検出する処理は行わずに、第1世代のヒストリ情報として供給されているフレーム予測モードかフィールド予測モードかを示すframe/field_motion_typeを再利用する。なぜなら、第4世代の符号化処理において検出された各予測モードにおける予測誤差よりも、第1世代において検出された各予測モードにおける予測誤差の方が精度が高いので、精度の高い予測誤差によって決定された予測モードを選択した方がより最適な符号化処理が行うことができるからである。
【0101】
具体的には、コントローラ125は、この第1世代のヒストリ情報として供給されているframe/field_motion_typeに対応する制御信号を予測モード切り替え回路113に供給し、予測モード切り替え回路113は、この再利用されたframe/field_motion_typeに対応した信号処理を行う。
【0102】
更に、動きベクトル検出回路111は、通常符号化処理においては、画像内予測モード、前方予測モード、後方予測モード、または両方向予測モードのうちのいずれの予測モード(以下、この予測モードを、予測方向モードとも称する)を選択するかを決定するために、各予測方向モードにおける予測誤差を計算していたが、このパラメータ再利用符号化処理においては、各予測方向モードにおける予測誤差の計算は行わず、第1世代のヒストリ情報として供給されたmacroblock_typeに基づいて予測方向モードを決定する。なぜなら、第4世代の符号化処理における各予測方向モードにおける予測誤差よりも、第1世代の符号化処理における各予測方向モードにおける予測誤差の方がより精度が高いので、より精度の高い予測誤差によって決定された予測方向モードを選択した方が、より効率の良い符号化処理が行えるからである。具体的には、コントローラ125は、第1世代のヒストリ情報に含まれているmacroblock_typeによって示される予測方向モードを選択し、その選択した予測方向モードに対応するように、演算器114および動き補償回路124をコントロールする。
【0103】
DCTモード切り替え回路115は、通常符号化処理においては、フレームDCTモードの符号化効率と、フィールドDCTモードの符号化効率を比較するために、フレームDCTモードの信号形態に変換した信号と、フィールドDCTモードの信号形態に変換した信号の両方をDCT回路116に供給していたが、このパラメータ再利用符号化処理では、フレームDCTモードの信号形態に変換した信号と、フィールドDCTモードの信号形態に変換した信号の両方を生成する処理は行っておらず、第1世代のヒストリ情報に含まれれているdct_typeによって示されたDCTモードに対応する処理のみを行っている。具体的には、コントローラ125は、第1世代のヒストリ情報に含まれているdct_typeを再利用し、DCTモード切り替え回路115がこのdct_typeによって示されるDCTモードに対応した信号処理を行うように、DCTモード切り替え回路115をコントロールする。
【0104】
コントローラ125は、通常符号化処理では、オペレータによって指定されたターゲットビットレートと送信バッファ残量に基づいて、量子化回路117の量子化ステップサイズをコントロールしていたが、このパラメータ再利用符号化処理では、ターゲットビットレート、送信バッファ残量およびヒストリ情報に含まれている過去の量子化スケールに基づいて、量子化回路117の量子化ステップサイズをコントロールする。なお、以下の説明において、ヒストリ情報に含まれている過去の量子化スケールをhistory_q_scale_code と記述することにする。また、後述するヒストリストリームにおいては、この量子化スケールを、quantiser_scale_codeと記述している。
【0105】
まず、コントローラ125は、通常符号化処理と同じように、現在の量子化スケールfeedback_q_scale_code を生成する。このfeedback_q_scale_codeは、この送信バッファ119がオーバーフローおよびアンダーフローしないように、この送信バッファ119のバッファ残量に応じて決定される値である。続いて、第1世代のヒストリストリームに含まれている過去の量子化スケールhistory_q_scale_codeの値と、この現在の量子化スケールfeedback_q_scale_codeの値を比較し、どちらの量子化スケールの方が大きいかを判断する。量子化スケールが大きいとは、量子化ステップが大きいことを意味する。もし、現在の量子化スケールfeedback_q_scale_codeが、過去の量子化スケールhistory_q_scale_codeよりも大きいのであれば、コントローラ125は、この現在の量子化スケールfeedback_q_scale_codeを量子化回路117に供給する。一方、過去の量子化スケールhistory_q_scale_codeが、現在の量子化スケールfeedback_q_scale_codeよりも大きいのであれば、コントローラ125は、この過去の量子化スケールhistory_q_scale_codeを量子化回路117に供給する。
【0106】
つまり、コントローラ125は、ヒストリ情報に含まれている複数の過去の量子化スケールと、送信バッファ119の残量から計算された現在の量子化スケールの中で、最も大きい量子化スケールコードを選択する。また、別の言葉で説明するのであれば、コントローラ125は、過去(第1、第2および第3世代)の符号化処理における量子化ステップまたは現在(第4世代)の符号化処理において使用された量子化ステップの中で、最も大きい量子化ステップを使用して量子化を行うように量子化回路117を制御する。この理由を以下に説明する。
【0107】
例えば、第3世代の符号化処理において生成されたストリームのビットレートが4[Mbps]であって、この第4世代の符号化処理を行うエンコーダ101に対して設定されたターゲットビットレートが15[Mbps]であったとする。このときに、ターゲットビットレートが上がっているので、単純に量子化ステップを小さくすれば良いかというと、実際にはそうではない。過去の符号化処理において大きい量子化ステップで符号化処理されたピクチャを、現在の符号化処理において、量子化ステップを小さくして符号化処理を行ったとしても、このピクチャの画質は向上することはない。つまり、過去の符号化処理における量子化ステップよりも小さい量子化ステップで符号化することは、単にビット量が増えるだけであって、画質を向上させることにはならない。よって、過去(第1、第2および第3世代)の符号化処理における量子化ステップまたは現在(第4世代)の符号化処理において使用された量子化ステップの中で、最も大きい量子化ステップを使用して量子化を行うと、最も効率の良い符号化処理が行える。
【0108】
以上のようにして、通常符号化処理、もしくはパラメータ再利用符号化処理されたデータを入力された可変長符号化回路118は、量子化回路117より供給される量子化スケールに対応して、量子化回路117より供給される画像データ(いまの場合、Iピクチャのデータ)を、例えばハフマン符号などの可変長符号に変換し、送信バッファ119に出力する。
【0109】
また、可変長符号化回路118には、量子化回路117より量子化スケール、コントローラ125より予測モード(画像内予測、前方予測、後方予測、または両方向予測のいずれが設定されたかを示すモード)、動きベクトル検出回路111より動きベクトル、予測モード切り替え回路113より予測フラグ(フレーム予測モードまたはフィールド予測モードのいずれが設定されたかを示すフラグ)、およびDCTモード切り替え回路115が出力するDCTフラグ(フレームDCTモードまたはフィールドDCTモードのいずれが設定されたかを示すフラグ)が入力されており、これらも可変長符号化される。
【0110】
送信バッファ119は、入力されたデータを一時蓄積し、バッファフィードバックをコントローラ125に出力する。コントローラ125は、蓄積量に対応するデータを、量子化回路117に出力する。送信バッファ119のデータ残量が許容上限値まで増量すると、コントローラ125からの量子化制御信号によって量子化回路117の量子化スケールが大きくなり、量子化データのデータ量が低下される。また、これとは逆に、送信バッファ119のデータ残量が許容下限値まで減少すると、量子化制御信号によって量子化回路117の量子化スケールを小さくさせることより、量子化データのデータ量を増大させる。このようにして、送信バッファ119のオーバーフローまたはアンダーフローが防止される。
【0111】
そして、送信バッファ119に蓄積されたデータは、所定のタイミングで読み出され、出力される。
【0112】
一方、量子化回路117より出力されたIピクチャのデータは、逆量子化回路120に入力され、量子化回路117より供給される量子化スケールに対応して逆量子化される。逆量子化回路120の出力は、IDCT(逆離散コサイン変換)回路121に入力され、逆離散コサイン変換処理された後、演算器122を介してフレームメモリ123の前方予測画像部123a供給されて記憶される。
【0113】
動きベクトル検出回路111は、シーケンシャルに入力される各フレームの画像データを、例えば、I,B,P,B,P,B・・・のピクチャとしてそれぞれ処理する場合、最初に入力されたフレームの画像データをIピクチャとして処理した後、次に入力されたフレームの画像をBピクチャとして処理する前に、更にその次に入力されたフレームの画像データをPピクチャとして処理する。Bピクチャは、後方予測を伴うため、後方予測画像としてのPピクチャが先に用意されていないと、復号することができないからである。
【0114】
そこで動きベクトル検出回路111は、Iピクチャの処理の次に、後方原画像部112cに記憶されているPピクチャの画像データの処理を開始する。そして、上述した場合と同様に、マクロブロック単位でのフレーム間差分(予測誤差)の絶対値和が、動きベクトル検出回路111から予測モード切り替え回路113とコントローラ125に供給される。予測モード切り替え回路113とコントローラ125は、このPピクチャのマクロブロックの予測誤差の絶対値和に対応して、フレーム/フィールド予測モード、または画像内予測、前方予測、後方予測、もしくは両方向予測の予測モードを設定する。
【0115】
演算器114は、画像内予測モードが設定されたとき、スイッチ114dを上述したように接点a側に切り替える。従って、このデータは、Iピクチャのデータと同様に、DCTモード切り替え回路115、DCT回路116、量子化回路117、可変長符号化回路118、および送信バッファ119を介して伝送路に伝送される。また、このデータは、逆量子化回路120、IDCT回路121、および演算器122を介してフレームメモリ123の後方予測画像部123bに供給されて記憶される。
【0116】
また、前方予測モードが設定された場合、スイッチ114dが接点bに切り替えられるとともに、フレームメモリ123の前方予測画像部123aに記憶されている画像(いまの場合、Iピクチャの画像)データが読み出され、動き補償回路124により、動きベクトル検出回路111が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路124は、コントローラ125より前方予測モードの設定が指令されたとき、前方予測画像部123aの読み出しアドレスを、動きベクトル検出回路111が、現在、出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。
【0117】
動き補償回路124より出力された予測画像データは、演算器114aに供給される。演算器114aは、予測モード切り替え回路113より供給された参照画像のマクロブロックのデータから、動き補償回路124より供給された、このマクロブロックに対応する予測画像データを減算し、その差分(予測誤差)を出力する。この差分データは、DCTモード切り替え回路115、DCT回路116、量子化回路117、可変長符号化回路118、および送信バッファ119を介して伝送路に伝送される。また、この差分データは、逆量子化回路120、およびIDCT回路121により局所的に復号され、演算器122に入力される。
【0118】
この演算器122にはまた、演算器114aに供給されている予測画像データと同一のデータが供給されている。演算器122は、IDCT回路121が出力する差分データに、動き補償回路124が出力する予測画像データを加算する。これにより、元の(復号した)Pピクチャの画像データが得られる。このPピクチャの画像データは、フレームメモリ123の後方予測画像部123bに供給されて記憶される。
【0119】
動きベクトル検出回路111は、このように、IピクチャとPピクチャのデータが前方予測画像部123aと後方予測画像部123bにそれぞれ記憶された後、次にBピクチャの処理を実行する。予測モード切り替え回路113とコントローラ125は、マクロブロック単位でのフレーム間差分の絶対値和の大きさに対応して、フレーム/フィールドモードを設定し、また、予測モードを画像内予測モード、前方予測モード、後方予測モード、または両方向予測モードのいずれかに設定する。
【0120】
上述したように、画像内予測モードまたは前方予測モードの時、スイッチ114dは接点aまたはbに切り替えられる。このとき、Pピクチャにおける場合と同様の処理が行われ、データが伝送される。
【0121】
これに対して、後方予測モードまたは両方向予測モードが設定された時、スイッチ114dは、接点cまたはdにそれぞれ切り替えられる。
【0122】
スイッチ114dが接点cに切り替えられている後方予測モードの時、後方予測画像部123bに記憶されている画像(いまの場合、Pピクチャの画像)データが読み出され、動き補償回路124により、動きベクトル検出回路111が出力する動きベクトルに対応して動き補償される。すなわち、動き補償回路124は、コントローラ125より後方予測モードの設定が指令されたとき、後方予測画像部123bの読み出しアドレスを、動きベクトル検出回路111が、現在、出力しているマクロブロックの位置に対応する位置から動きベクトルに対応する分だけずらしてデータを読み出し、予測画像データを生成する。
【0123】
動き補償回路124より出力された予測画像データは、演算器114bに供給される。演算器114bは、予測モード切り替え回路113より供給された参照画像のマクロブロックのデータから、動き補償回路124より供給された予測画像データを減算し、その差分を出力する。この差分データは、DCTモード切り替え回路115、DCT回路116、量子化回路117、可変長符号化回路118、および送信バッファ119を介して伝送路に伝送される。
【0124】
スイッチ114dが接点dに切り替えられている両方向予測モードの時、前方予測画像部123aに記憶されている画像(いまの場合、Iピクチャの画像)データと、後方予測画像部123bに記憶されている画像(いまの場合、Pピクチャの画像)データが読み出され、動き補償回路124により、動きベクトル検出回路111が出力する動きベクトルに対応して動き補償される。
【0125】
すなわち、動き補償回路124は、コントローラ125より両方向予測モードの設定が指令されたとき、前方予測画像部123aと後方予測画像部123bの読み出しアドレスを、動きベクトル検出回路111がいま出力しているマクロブロックの位置に対応する位置から動きベクトル(この場合の動きベクトルは、前方予測画像用と後方予測画像用の2つとなる)に対応する分だけずらしてデータを読み出し、予測画像データを生成する。
【0126】
動き補償回路124より出力された予測画像データは、演算器114cに供給される。演算器114cは、動きベクトル検出回路111より供給された参照画像のマクロブロックのデータから、動き補償回路124より供給された予測画像データの平均値を減算し、その差分を出力する。この差分データは、DCTモード切り替え回路115、DCT回路116、量子化回路117、可変長符号化回路118、および送信バッファ119を介して伝送路に伝送される。
【0127】
Bピクチャの画像は、他の画像の予測画像とされることがないため、フレームメモリ123には記憶されない。
【0128】
なお、フレームメモリ123において、前方予測画像部123aと後方予測画像部123bは、必要に応じてバンク切り替えが行われ、所定の参照画像に対して、一方または他方に記憶されているものを、前方予測画像あるいは後方予測画像として切り替えて出力することができる。
【0129】
上述した説明においては、輝度ブロックを中心として説明をしたが、色差ブロックについても同様に、図6に示すマクロブロックを単位として処理されて伝送される。なお、色差ブロックを処理する場合の動きベクトルは、対応する輝度ブロックの動きベクトルを垂直方向と水平方向に、それぞれ1/2にしたものが用いられる。
【0130】
図13は、例えば映像編集スタジオにおいて、複数のトランスコーディングシステムが直列に接続されて使用される状態を示している。各ビデオデコーディングシステム51−i(i=1乃至N)のヒストリ情報多重化装置63−iは、上述した符号化パラメータ用の領域の最も古い符号化パラメータが記録されている区画に、自己が用いた最新の符号化パラメータを上書きする。このことにより、図11を用いて説明したように、ベースバンドの画像データには、同一のマクロブロックに対応する直近の4世代分の符号化パラメータ(世代履歴情報)が記録されることになる。
【0131】
図13においては、図4を用いて説明したトランスコーディングシステムのビデオデコーディングシステム51およびビデオエンコーディングシステム52を用いて説明しているが、ビデオデコーディングシステム51およびビデオエンコーディングシステム52に変わって、図2および図3を用いて説明したビデオデコーディングシステム1およびビデオエンコーディングシステム2を用いてもよいことは言うまでもない。
【0132】
なお、本実施の形態におけるトランスコーディングシステムの内部においては、上述したように、復号(ビデオデコーディングシステム1もしくはビデオデコーディングシステム51)側と符号側(ビデオエンコーディングシステム2もしくはビデオエンコーディングシステム52)が粗結合されており、符号化パラメータを画像データに多重化させて伝送させたが、図14に示すように、復号装置と符号化装置を直接接続する(密結合する)ようにしてもよい。
【0133】
すなわち、復号装置61の可変長復号回路92は、第3世代の符号化ストリームのシーケンス層、GOP層、ピクチャ層、スライス層およびマクロブロック層から、第3世代の符号化パラメータを抽出し、それを、ヒストリエンコーディング装置65に供給するとともに、ピクチャ層以上の符号化パラメータをV Blanking領域に挿入し、スライス層以下の符号化パラメータをH Blanking領域に挿入したベースバンドビデオ信号を、符号化装置66のコントローラ125に供給する。ヒストリエンコーディング装置65は、受け取った第3世代の符号化パラメータをピクチャ層のユーザデータエリアに記述できるようにconverted_history_stream()に変換し、converted_history_stream()をユーザデータとして、符号化装置66の可変長符号化回路118に供給する。
【0134】
更に可変長復号回路92は、第3世代の符号化ストリームのピクチャ層のユーザデータエリアから、第1世代の符号化パラメータおよび第2世代の符号化パラメータを含んでいるユーザデータuser_data を抽出し、ヒストリデコーディング装置62に供給する。ヒストリデコーディング装置62は、ユーザデータエリアにconverted_history_stream()として記述されたヒストリストリームから、第1世代の符号化パラメータおよび第2世代の符号化パラメータを抽出し、それを符号化装置66のコントローラ125に供給する。
【0135】
符号化装置66のコントローラ125は、ヒストリデコーディング装置62から受け取った第1世代および第2世代の符号化パラメータと、復号装置61から受け取った、V Blanking領域およびH blanking領域に記述されている符号化パラメータとに基づいて、符号化装置66の符号化処理をコントロールする。
【0136】
符号化装置66の可変長符号化回路118は、復号装置61から入力されたデータに含まれる符号化パラメータを受け取るとともに、ヒストリエンコーディング装置65から第3世代の符号化パラメータを含んでいるユーザデータを受け取り、それらのユーザデータをヒストリ情報として、第4世代の符号化ストリームのピクチャ層のユーザデータエリアに記述し、出力する。
【0137】
図15は、MPEGのビデオストリームをデコードするためのシンタックスを表わした図である。デコーダは、このシンタックスに従ってMPEGビットストリームをデコードすることによって、ビットストリームから意味のある複数のデータ項目(データエレメント)を抽出する。以下に説明するシンタックスは、図において、その関数や条件文は細活字で表わされ、そのデータエレメントは、太活字で表されている。データ項目は、その名称、ビット長、およびそのタイプと伝送順序を示すニーモニック(Mnemonic)で記述されている。
【0138】
まず、この図15に示されているシンタックスにおいて使用されている関数について説明する。
【0139】
next_start_code()関数は、ビットストリーム中に記述されているスタートコードを探すための関数である。この図15に示されたシンタックスにおいて、このnext_start_code()関数の次に、sequence_header()関数とsequence_extension()関数とが順に配置されているので、このビットストリームには、このsequence_header()関数とsequence_extension()関数によって定義されたデータエレメントが記述されている。従って、ビットストリームのデコード時には、このnext_start_code()関数によって、sequence_header()関数とsequence_extension()関数の先頭に記述されているスタートコード(データエレメントの一種)がビットストリーム中から見つけられ、それを基準にして、 sequence_header()関数とsequence_extension()関数が、さらに見つけられ、それらによって定義された各データエレメントがデコードされる。
【0140】
なお、sequence_header()関数は、MPEGビットストリームのシーケンス層のヘッダデータを定義するための関数であって、sequence_extension()関数は、MPEGビットストリームのシーケンス層の拡張データを定義するための関数である。
【0141】
sequence_extension()関数の次に配置されている do{ }while構文は、while文によって定義されている条件が真である間、do文の{ }内の関数に基いて記述されたデータエレメントをデータストリーム中から抽出するための構文である。すなわち、 do{ }while構文によって、while文によって定義されている条件が真である間、ビットストリーム中から、do文内の関数に基いて記述されたデータエレメントを抽出するデコード処理が行われる。
【0142】
このwhile文に使用されているnextbits()関数は、ビットストリーム中に現れるビット又はビット列と、次にデコードされるデータエレメントとを比較するための関数である。この図15のシンタックスの例では、nextbits()関数は、ビットストリーム中のビット列とビデオシーケンスの終わりを示すsequence_end_codeとを比較し、ビットストリーム中のビット列とsequence_end_codeとが一致しないときに、このwhile文の条件が真となる。従って、sequence_extension()関数の次に配置されている do{ }while構文は、ビットストリーム中に、ビデオシーケンスの終わりを示すsequence_end_codeが現れない間、do文中の関数によって定義されたデータエレメントがビットストリーム中に記述されていることを示している。
【0143】
ビットストリーム中には、sequence_extension()関数によって定義された各データエレメントの次に、extension_and_user_data(0)関数によって定義されたデータエレメントが記述されている。このextension_and_user_data(0)関数は、MPEGビットストリームのシーケンス層の拡張データとユーザデータを定義するための関数である。
【0144】
このextension_and_user_data(0)関数の次に配置されている do{ }while構文は、while文によって定義されている条件が真である間、do文の{ }内の関数に基いて記述されたデータエレメントを、ビットストリーム中から抽出するための関数である。このwhile文において使用されているnextbits()関数は、ビットストリーム中に現れるビット又はビット列と、picture_start_code又はgroup_start_codeとの一致を判断するための関数であって、ビットストリーム中に現れるビット又はビット列と、picture_start_code又はgroup_start_codeとが一致する場合には、while文によって定義された条件が真となる。よって、このdo{ }while構文は、ビットストリーム中において、picture_start_code又はgroup_start_codeが現れた場合には、そのスタートコードの次に、do文中の関数によって定義されたデータエレメントのコードが記述されているので、このpicture_start_code又はgroup_start_codeによって示されるスタートコードを探し出すことによって、ビットストリーム中からdo文中に定義されたデータエレメントを抽出することができる。
【0145】
このdo文の最初に記述されているif文は、ビットストリーム中にgroup_start_codeが現れた場合、という条件を示している。このif文による条件が真である場合には、ビットストリーム中に、このgroup_start_codeの次にgroup_of_picture_header(1)関数およびextension_and_user_data(1)関数によって定義されているデータエレメントが順に記述されている。
【0146】
このgroup_of_picture_header(1)関数は、MPEGビットストリームのGOP層のヘッダデータを定義するための関数であって、 extension_and_user_data(1)関数は、MPEGビットストリームのGOP層の拡張データ(extension_data)およびユーザデータ(user_data)を定義するための関数である。
【0147】
更に、このビットストリーム中には、group_of_picture_header(1)関数およびextension_and_user_data(1)関数によって定義されているデータエレメントの次に、picture_header()関数とpicture_coding_extension()関数によって定義されたデータエレメントが記述されている。もちろん、先に説明したif文の条件が真とならない場合には、 group_of_picture_header(1)関数およびextension_and_user_data(1)関数によって定義されているデータエレメントは記述されていないので、 extension_and_user_data(0)関数によって定義されているデータエレメントの次に、 picture_header()関数とpicture_coding_extension()関数によって定義されたデータエレメントが記述されている。
【0148】
このpicture_header()関数は、 MPEGビットストリームのピクチャ層のヘッダデータを定義するための関数であって、 picture_coding_extension()関数は、MPEGビットストリームのピクチャ層の第1の拡張データを定義するための関数である。
【0149】
次のwhile文は、このwhile文によって定義されている条件が真である間、次のif文の条件判断を行うための関数である。このwhile文において使用されているnextbits()関数は、ビットストリーム中に現れるビット列と、extension_start_code又はuser_data_start_codeとの一致を判断するための関数であって、ビットストリーム中に現れるビット列と、 extension_start_code又はuser_data_start_codeとが一致する場合には、このwhile文によって定義された条件が真となる。
【0150】
第1のif文は、ビットストリーム中に現れるビット列とextension_start_codeとの一致を判断するための関数である。ビットストリーム中に現れるビット列と32ビットのextension_ start_codeとが一致する場合には、ビットストリーム中において、extension_start_codeの次にextension_data(2)関数によって定義されるデータエレメントが記述されている。
【0151】
第2のif文は、ビットストリーム中に現れるビット列とuser_data_start_codeとの一致を判断するための構文であって、ビットストリーム中に現れるビット列と32ビットのuser_data_start_codeとが一致する場合には、第3のif文の条件判断が行われる。このuser_data_start_codeは、MPEGビットストリームのピクチャ層のユーザデータエリアの開始を示すためのスタートコードである。
【0152】
第3のif文は、ビットストリーム中に現れるビット列とHistory_Data_IDとの一致を判断するための構文である。ビットストリーム中に現れるビット列と、この32ビットのHistory_Data_IDとが一致する場合には、このMPEGビットストリームのピクチャ層のユーザデータエリアにおいて、この32ビットのHistory_Data_IDによって示されるコードの次に、converted_history_stream()関数によって定義されるデータエレメントが記述されている。
【0153】
converted_history_stream()関数は、MPEG符号化時に使用したあらゆる符号化パラメータを伝送するための履歴情報および履歴データを記述するための関数である。このconverted_history_stream()関数によって定義されているデータエレメントの詳細は、図17乃至図24を参照して、history_stream()として後述する。また、このHistory_Data_IDは、MPEGビットストリームのピクチャ層のユーザデータエリアに記述されたこの履歴情報および履歴データが記述されている先頭を示すためのスタートコードである。
【0154】
else文は、第3のif文において、条件が非真であることを示すための構文である。従って、このMPEGビットストリームのピクチャ層のユーザデータエリアにおいて、converted_history_stream()関数によって定義されたデータエレメントが記述されていない場合には、user_data()関数によって定義されたデータエレメントが記述されている。
【0155】
図15において、履歴情報は、converted_history_stream()に記述され、user_data()に記述される訳ではないが、このconverted_history_stream()は、MPEG規格のuser_dataの一種として記述される。そこで、本明細書中においては、場合によって、履歴情報がuser_dataに記述されるとも説明するが、それは、MPEG規格のuser_dataの一種として記述されるということを意味する。
【0156】
picture_data()関数は、MPEGビットストリームのピクチャ層のユーザデータの次に、スライス層およびマクロブロック層に関するデータエレメントを記述するための関数である。通常は、このpicture_data()関数によって示されるデータエレメントは、ビットストリームのピクチャ層のユーザデータエリアに記述されたconverted_history_stream()関数によって定義されるデータエレメント、またはuser_data()関数によって定義されたデータエレメントの次に記述されているが、ピクチャ層のデータエレメントを示すビットストリーム中に、extension_start_code、またはuser_data_start_code が存在しない場合には、このpicture_data()関数によって示されるデータエレメントは、 picture_coding_extension()関数によって定義されるデータエレメントの次に記述されている。
【0157】
このpicture_data()関数によって示されるデータエレメントの次には、sequence_header()関数とsequence_extension()関数とによって定義されたデータエレメントが順に配置されている。このsequence_header()関数とsequence_extension()関数によって記述されたデータエレメントは、ビデオストリームのシーケンスの先頭に記述されたsequence_header()関数とsequence_extension()関数によって記述されたデータエレメントと全く同じである。このように同じデータをストリーム中に記述する理由は、ビットストリーム受信装置側でデータストリームの途中(例えばピクチャ層に対応するビットストリーム部分)から受信が開始された場合に、シーケンス層のデータを受信できなくなり、ストリームをデコード出来なくなることを防止するためである。
【0158】
この最後のsequence_header()関数とsequence_extension()関数とによって定義されたデータエレメントの次、つまり、データストリームの最後には、シーケンスの終わりを示す32ビットのsequence_end_codeが記述されている。
【0159】
以上のシンタックスの基本的な構成の概略を示すと、図16に示すようになる。
【0160】
次に、converted_history_stream()関数によって定義されたヒストリストリームに関して説明する。
【0161】
このconverted_history_stream()は、MPEGのピクチャ層のユーザデータエリアに履歴情報を示すヒストリストリームを挿入するための関数である。なお、「converted」の意味は、スタートエミュレーションを防止するために、ユーザエリアに挿入すべき履歴データから構成される履歴ストリームの少なくとも22ビット毎にマーカービット(1ビット)を挿入する変換処理を行ったストリームであることを意味している。
【0162】
このconverted_history_stream()は、以下に説明する固定長の履歴ストリーム(図17乃至図23)又は可変長の履歴ストリーム(図24)のいずれかの形式で記述される。エンコーダ側において固定長の履歴ストリームを選択した場合には、デコーダ側において履歴ストリームから各データエレメントをデコードするための回路およびソフトウエアが簡単になるというメリットがある。一方、エンコーダ側において可変長の履歴ストリームを選択した場合には、エンコーダにおいてピクチャ層のユーザエリアに記述される履歴情報(データエレメント)を必要に応じて任意に選択することができるので、履歴ストリームのデータ量を少なくすることができ、その結果、符号化されたビットストリーム全体のデータレートを低減することができる。
【0163】
本発明において説明する「履歴ストリーム」、「ヒストリストリーム」、「履歴情報」、「ヒストリ情報」、「履歴データ」、「ヒストリデータ」、「履歴パラメータ」、「ヒストリパラメータ」とは、過去の符号化処理において使用した符号化パラメータ(又はデータエレメント)を意味し、現在の(最終段の)符号化処理において使用した符号化パラメータを意味するものではない。例えば、第1世代の符号化処理において、あるピクチャをIピクチャで符号化して伝送し、次なる第2世代の符号化処理において、このピクチャを今度はPピクチャとして符号化して伝送し、更に、第3世代の符号化処理において、このピクチャをBピクチャで符号化して伝送する例をあげて説明する。
【0164】
第3世代の符号化処理において使用した符号化パラメータは、第3世代の符号化処理において生成された符号化ビットストリームのシーケンス層、GOP層、ピクチャ層、スライス層およびマクロブロック層の所定位置に記述されている。一方、過去の符号化処理である第1世代および第2世代の符号化処理において使用した符号化パラメータは、第3世代の符号化処理において使用した符号化パラメータが記述されるシーケンス層やGOP層に記述されるのでは無く、既に説明したシンタックスに従って、符号化パラメータの履歴情報として、ピクチャ層のユーザデータエリアに記述される。
【0165】
まず、固定長の履歴ストリームシンタックスについて図17乃至図23を参照して説明する。
【0166】
最終段(例えば第3世代)の符号化処理において生成されたビットストリームのピクチャ層のユーザデータエリアには、まず最初に、過去(例えば第1世代および第2世代)の符号化処理において使用されていたシーケンス層のシーケンスヘッダに含められる符号化パラメータが、履歴ストリームとして挿入される。なお、過去の符号化処理において生成されたビットストリームのシーケンス層のシーケンスヘッダ等の履歴情報は、最終段の符号化処理において生成されたビットストリームのシーケンス層のシーケンスヘッダに挿入されることは無いという点に注意すべきである。
【0167】
過去の符号化処理で使用したシーケンスヘッダ(sequence_header)に含められるデータエレメントは、sequence_header_code、sequence_header_present_flag、horizontal_size_value、marker_bit、vertical_size_value、aspect_ratio_information、frame_rate_code、bit_rate_value、VBV_buffer_size_value、constrained_parameter_flag、load_intra_quantiser_matrix、load_non_intra_quantiser_matrix、intra_quantiser_matrix、およびnon_intra_quantiser_matrix等から構成される。
【0168】
sequence_header_codeは、シーケンス層のスタート同期コードを表すデータである。sequence_header_present_flagは、sequence_header内のデータが有効か無効かを示すデータである。 horizontal_size_valueは、画像の水平方向の画素数の下位12ビットから成るデータである。marker_bitは、スタートコードエミュレーションを防止するために挿入されるビットデータである。vertical_size_valueは、画像の縦のライン数の下位12ビットからなるデータである。aspect_ratio_informationは、画素のアスペクト比(縦横比)または表示画面アスペクト比を表すデータである。frame_rate_codeは、画像の表示周期を表すデータである。
【0169】
bit_rate_valueは、発生ビット量に対する制限のためのビットレートの下位18ビット(400bsp単位で切り上げる)データである。VBV_buffer_size_valueは、発生符号量制御用の仮想バッファ(ビデオバッファベリファイヤー)の大きさを決める値の下位10ビットデータである。constrained_parameter_flagは、各パラメータが制限以内であることを示すデータである。load_intra_quantiser_matrixは、イントラMB用量子化マトリックス・データの存在を示すデータである。load_non_intra_quantiser_matrixは、非イントラMB用量子化マトリックス・データの存在を示すデータである。intra_quantiser_matrixは、イントラMB用量子化マトリックスの値を示すデータである。non_intra_quantiser_matrixは、非イントラMB用量子化マトリックスの値を表すデータである。
【0170】
最終段の符号化処理において生成されたビットストリームのピクチャ層のユーザデータエリアには、過去の符号化処理において使用されたシーケンス層のシーケンスエクステンションを表わすデータエレメントが、履歴ストリームとして記述される。
【0171】
この過去の符号化処理で使用したシーケンスエクステンション(sequence_extension)を表わすデータエレメントは、 extension_start_code、extension_start_code_identifier、sequence_extension_present_flag、profile_and_level_indication、progressive_sequence、chroma_format、horizontal_size_extension、vertical_size_extension、bit_rate_extension、vbv_buffer_size_extension、low_delay、frame_rate_extension_n 、および frame_rate_extension_d等のデータエレメントである。
【0172】
extension_start_codeは、エクステンションデータのスタート同期コードを表すデータである。extension_start_code_identifierは、どの拡張データが送られるかを示すデータである。sequence_extension_present_flagは、シーケンスエクステンション内のデータが有効であるか無効であるかを示すデータである。profile_and_level_indicationは、ビデオデータのプロファイルとレベルを指定するためのデータである。progressive_sequenceは、ビデオデータが順次走査であることを示すデータである。chroma_formatは、ビデオデータの色差フォーマットを指定するためのデータである。
【0173】
horizontal_size_extensionは、シーケンスヘッダのhorizntal_size_valueに加える上位2ビットのデータである。vertical_size_extensionは、シーケンスヘッダのvertical_size_valueに加える上位2ビットのデータである。bit_rate_extensionは、シーケンスヘッダのbit_rate_valueに加える上位12ビットのデータである。vbv_buffer_size_extensionは、シーケンスヘッダのvbv_buffer_size_valueに加える上位8ビットのデータである。low_delayは、Bピクチャを含まないことを示すデータである。frame_rate_extension_nは、シーケンスヘッダのframe_rate_codeと組み合わせてフレームレートを得るためのデータである。frame_rate_extension_dは、シーケンスヘッダのframe_rate_codeと組み合わせてフレームレートを得るためのデータである。
【0174】
続いて、ビットストリームのピクチャ層のユーザエリアには、過去の符号化処理において使用されたシーケンス層のシーケンスディスプレイエクステンションを表わすデータエレメントが、履歴ストリームとして記述される。
【0175】
このシーケンスディスプレイエクステンション(sequence_display_extension)として記述されているデータエレメントは、extension_start_code、extension_start_code_identifier、sequence_display_extension_present_flag、video_format、colour_description、colour_primaries、transfer_characteristics、matrix_coeffients、display_horizontal_size、およびdisplay_vertical_sizeから構成される。
【0176】
extension_start_codeは、エクステンションデータのスタート同期コードを表すデータである。extension_start_code_identifierは、どの拡張データが送られるかを示すコードである。sequence_display_extension_present_flagは、シーケンスディスプレイエクステンション内のデータエレメントが有効か無効かを示すデータである。video_formatは、原信号の映像フォーマットを表すデータである。color_descriptionは、色空間の詳細データがあることを示すデータである。color_primariesは、原信号の色特性の詳細を示すデータである。transfer_characteristicsは、光電変換がどのように行われたのかの詳細を示すデータである。matrix_coeffientsは、原信号が光の三原色からどのように変換されたかの詳細を示すデータである。display_horizontal_sizeは、意図するディスプレイの活性領域(水平サイズ)を表すデータである。display_vertical_sizeは、意図するディスプレイの活性領域(垂直サイズ)を表すデータである。
【0177】
続いて、最終段の符号化処理において生成されたビットストリームのピクチャ層のユーザエリアには、過去の符号化処理において生成されたマクロブロックの位相情報を示すマクロブロックアサイメントデータ(macroblock_assignment_in_user_data)が、履歴ストリームとして記述される。
【0178】
このマクロブロックの位相情報を示すmacroblock_assignment_in_user_dataは、macroblock_assignment_present_flag、v_phase、h_phase等のデータエレメントから構成される。
【0179】
このmacroblock_assignment_present_flagは、macroblock_assignment_in_user_data内のデータエレメントが有効か無効かを示すデータである。 v_phaseは、画像データからマクロブロックを切り出す際の垂直方向の位相情報を示すデータである。 h_phaseは、画像データからマクロブロックを切り出す際の水平方向の位相情報を示すデータである。
【0180】
続いて、最終段の符号化処理によって生成されたビットストリームのピクチャ層のユーザエリアには、過去の符号化処理において使用されたGOP層のGOPヘッダを表わすデータエレメントが、履歴ストリームとして記述されている。
【0181】
このGOPヘッダ(group_of_picture_header)を表わすデータエレメントは、group_start_code、group_of_picture_header_present_flag、time_code、closed_gop、およびbroken_linkから構成される。
【0182】
group_start_codeは、GOP層の開始同期コードを示すデータである。 group_of_picture_header_present_flagは、 group_of_picture_header内のデータエレメントが有効であるか無効であるかを示すデータである。 time_codeは、GOPの先頭ピクチャのシーケンスの先頭からの時間を示すタイムコードである。closed_gopは、GOP内の画像が他のGOPから独立再生可能なことを示すフラグデータである。broken_linkは、編集などのためにGOP内の先頭のBピクチャが正確に再生できないことを示すフラグデータである。
【0183】
続いて、最終段の符号化処理によって生成されたビットストリームのピクチャ層のユーザエリアには、過去の符号化処理において使用されたピクチャ層のピクチャヘッダを表わすデータエレメントが、履歴ストリームとして記述されている。
【0184】
このピクチャヘッダ(picture_header)に関するデータエレメントは、picture_start_code、temporal_reference、picture_coding_type、vbv_delay、full_pel_forward_vector、forward_f_code、full_pel_backward_vector、および backward_f_codeから構成される。
【0185】
具体的には、picture_start_codeは、ピクチャ層の開始同期コードを表すデータである。temporal_referenceは、ピクチャの表示順を示す番号でGOPの先頭でリセットされるデータである。picture_coding_typeは、ピクチャタイプを示すデータである。vbv_delayは、ランダムアクセス時の仮想バッファの初期状態を示すデータである。full_pel_forward_vectorは、順方向動きベクトルの精度が整数単位か半画素単位かを示すデータである。forward_f_codeは、順方向動きベクトル探索範囲を表すデータである。full_pel_backward_vectorは、逆方向動きベクトルの精度が整数単位か半画素単位かを示すデータである。backward_f_codeは、逆方向動きベクトル探索範囲を表すデータである。
【0186】
続いて、最終段の符号化処理によって生成されたビットストリームのピクチャ層のユーザエリアには、過去の符号化処理において使用されたピクチャ層のピクチャコーディングエクステンションが、履歴ストリームとして記述されている。
【0187】
このピクチャコーディングエクステンション(picture_coding_extension)に関するデータエレメントは、extension_start_code、extension_start_code_identifier、f_code[0][0]、f_code[0][1]、f_code[1][0]、f_code[1][1]、intra_dc_precision、picture_structure、top_field_first、frame_predictive_frame_dct、concealment_motion_vectors、q_scale_type、intra_vlc_format、alternate_scan、repeat_firt_field、chroma_420_type、progressive_frame、composite_display_flag、v_axis、field_sequence、sub_carrier、burst_amplitude、およびsub_carrier_phaseから構成される。
【0188】
extension_start_codeは、ピクチャ層のエクステンションデータのスタートを示す開始コードである。extension_start_code_identifierは、どの拡張データが送られるかを示すコードである。 f_code[0][0]は、フォワード方向の水平動きベクトル探索範囲を表すデータである。f_code[0][1]は、フォワード方向の垂直動きベクトル探索範囲を表すデータである。f_code[1][0]は、バックワード方向の水平動きベクトル探索範囲を表すデータである。f_code[1][1]は、バックワード方向の垂直動きベクトル探索範囲を表すデータである。
【0189】
intra_dc_precisionは、DC係数の精度を表すデータである。picture_structureは、フレームストラクチャかフィールドストラクチャかを示すデータである。フィールドストラクチャの場合は、上位フィールドか下位フィールドかもあわせて示すデータである。top_field_firstは、フレームストラクチャの場合、最初のフィールドが上位か下位かを示すデータである。frame_predictive_frame_dctは、フレームストラクチャの場合、フレーム・モードDCTの予測がフレーム・モードだけであることを示すデータである。concealment_motion_vectorsは、イントラマクロブロックに伝送エラーを隠蔽するための動きベクトルがついていることを示すデータである。
【0190】
q_scale_typeは、線形量子化スケールを利用するか、非線形量子化スケールを利用するかを示すデータである。intra_vlc_formatは、イントラマクロブロックに、別の2次元VLCを使うかどうかを示すデータである。alternate_scanは、ジグザグスキャンを使うか、オルタネート・スキャンを使うかの選択を表すデータである。repeat_firt_fieldは、2:3プルダウンの際に使われるデータである。chroma_420_typeは、信号フォーマットが4:2:0の場合、次のprogressive_frame と同じ値、そうでない場合は0を表すデータである。progressive_frameは、このピクチャが、順次走査できているかどうかを示すデータである。composite_display_flagは、ソース信号がコンポジット信号であったかどうかを示すデータである。v_axis、field_sequence、sub_carrier、burst_amplitude、およびsub_carrier_phaseは、ソース信号が、PALの場合に使われるデータである。
【0191】
続いて、最終段の符号化処理によって生成されたビットストリームのピクチャ層のユーザエリアには、過去の符号化処理において使用された量子化マトリックスエクステンションが、履歴ストリームとして記述されている。
【0192】
この量子化マトリックスエクステンション(quant_matrix_extension)に関するデータエレメントは、extension_start_code、extension_start_code_identifier、quant_matrix_extension_present_flag、load_intra_quantiser_matrix、intra_quantiser_matrix[64]、load_non_intra_quantiser_matrix、non_intra_quantiser_matrix[64]、load_chroma_intra_quantiser_matrix、chroma_intra_quantiser_matrix[64]、load_chroma_non_intra_quantiser_matrix、およびchroma_non_intra_quantiser_matrix[64] から構成される。
【0193】
extension_start_codeは、この量子化マトリックスエクステンションのスタートを示す開始コードである。extension_start_code_identifierは、どの拡張データが送られるかを示すコードである。 quant_matrix_extension_present_flagは、この量子化マトリックスエクステンション内のデータエレメントが有効か無効かを示すためのデータである。load_intra_quantiser_matrixは、イントラマクロブロック用の量子化マトリックス・データの存在を示すデータである。intra_quantiser_matrixは、イントラマクロブロック用の量子化マトリックスの値を示すデータである。
【0194】
load_non_intra_quantiser_matrixは、非イントラマクロブロック用の量子化マトリックス・データの存在を示すデータである。non_intra_quantiser_matrixは、非イントラマクロブロック用の量子化マトリックスの値を表すデータである。load_chroma_intra_quantiser_matrixは、色差イントラマクロブロック用の量子化マトリックス・データの存在を示すデータである。chroma_intra_quantiser_matrixは、色差イントラマクロブロック用の量子化マトリックスの値を示すデータである。load_chroma_non_intra_quantiser_matrixは、色差非イントラマクロブロック用の量子化マトリックス・データの存在を示すデータである。chroma_non_intra_quantiser_matrixは、色差非イントラマクロブロック用の量子化マトリックスの値を示すデータである。
【0195】
続いて、最終段の符号化処理によって生成されたビットストリームのピクチャ層のユーザエリアには、過去の符号化処理において使用されたコピーライトエクステンションが、履歴ストリームとして記述されている。
【0196】
このコピーライトエクステンション(copyright_extension)に関するデータエレメントは、extension_start_code、extension_start_code_itentifier、copyright_extension_present_flag、copyright_flag、copyright_identifier、original_or_copy、copyright_number_1、copyright_number_2、および copyright_number_3から構成される。
【0197】
extension_start_codeは、コピーライトエクステンションのスタート示す開始コードである。extension_start_code_itentifierのどのエクステンションデータが送られるかを示すコードである。 copyright_extension_present_flagは、このコピーライトエクステンション内のデータエレメントが有効か無効かを示すためのデータである。copyright_flagは、次のコピーライトエクステンション又はシーケンスエンドまで、符号化されたビデオデータに対してコピー権が与えられているか否かを示す。
【0198】
copyright_identifierは、ISO/IEC JTC/SC29によって指定されたコピー権の登録機関を識別するためのデータである。original_or_copyは、ビットストリーム中のデータが、オリジナルデータであるかコピーデータであるかを示すデータである。copyright_number_1は、コピーライトナンバーのビット44から63を表わすデータである。copyright_number_2は、コピーライトナンバーのビット22から43を表わすデータである。copyright_number_3は、コピーライトナンバーのビット0から21を表わすデータである。
【0199】
続いて、最終段の符号化処理によって生成されたビットストリームのピクチャ層のユーザエリアには、過去の符号化処理において使用されたピクチャディスプレイエクステンション( picture_display_extension )が、履歴ストリームとして記述されている。
【0200】
このピクチャディスプレイエクステンションを表わすデータエレメントは、extension_start_code、extension_start_code_identifier、picture_display_extension_present_flag、frame_center_horizontal_offset_1、frame_center_vertical_offset_1、frame_center_horizontal_offset_2、frame_center_vertical_offset_2、frame_center_horizontal_offset_3、およびframe_center_vertical_offset_3から構成される。
【0201】
extension_start_codeは、ピクチャディスプレイエクステンションのスタートを示すための開始コードである。extension_start_code_identifierは、どの拡張データが送られるかを示すコードである。picture_display_extension_present_flagは、ピクチャディスプレイエクステンション内のデータエレメントが有効か無効かを示すデータである。frame_center_horizontal_offsetは、表示エリアの水平方向のオフセットを示すデータであって、3つのオフセット値まで定義することができる。frame_center_vertical_offsetは、表示エリアを垂直方向のオフセットを示すデータであって、3つのオフセット値まで定義することができる。
【0202】
最終段の符号化処理において生成されたビットストリームのピクチャ層のユーザエリアには、既に説明したピクチャディスプレイエクステンションを表わす履歴情報の次に、過去の符号化処理において使用されたユーザデータ(user_data)が、履歴ストリームとして記述されている。
【0203】
このユーザデータの次には、過去の符号化処理において使用されたマクロブロック層に関する情報が、履歴ストリームとして記述されている。
【0204】
このマクロブロック層に関する情報は、macroblock_address_h、macroblock_address_v、slice_header_present_flag、skipped_macroblock_flag等のマクロブロック(macroblock)の位置に関するデータエレメントと、macroblock_quant、macroblock_motion_forward、macroblock_motion_backward、mocroblock_pattern、macroblock_intra、spatial_temporal_weight_code_flag、frame_motion_type、およびdct_type等のマクロブロックモード(macroblock_modes[])に関するデータエレメントと、quantiser_scale_code等の量子化ステップ制御に関するデータエレメントと、PMV[0][0][0]、PMV[0][0][1]、motion_vertical_field_select[0][0]、PMV[0][1][0]、PMV[0][1][1]、motion_vertical_field_select[0][1]、PMV[1][0][0]、PMV[1][0][1]、motion_vertical_field_select[1][0]、PMV[1][1][0]、PMV[1][1][1]、motion_vertical_field_select[1][1]等の動き補償に関するデータエレメントと、coded_block_pattern等のマクロブロックパターンに関するデータエレメントと、num_mv_bits、num_coef_bits、およびnum_other_bits等の発生符号量に関するデータエレメントから構成されている。
【0205】
以下にマクロブロック層に関するデータエレメントについて詳細に説明する。
【0206】
macroblock_address_hは、現在のマクロブロックの水平方向の絶対位置を定義するためのデータである。macroblock_address_vは、現在のマクロブロックの垂直方向の絶対位置を定義するためのデータである。slice_header_present_flagは、このマクロブロックがスライス層の先頭であり、スライスヘッダを伴なうか否かを示すデータである。skipped_macroblock_flagは、復号処理においてこのマクロブロックをスキップするか否かを示すデータである。
【0207】
macroblock_quantは、後述する図38と図39に示されたマクロブロックタイプ( macroblock_type )から導かれるデータであって、quantiser_scale_codeがビットストリーム中に現れるか否かを示すデータである。macroblock_motion_forwardおよびmacroblock_motion_backwardは、図38と図39に示されたマクロブロックタイプから導かれるデータであって、復号処理で使用されるデータである。mocroblock_patternは、図38と図39に示されたマクロブロックタイプから導かれるデータであって、coded_block_patternがビットストリーム中に現れるか否かを示すデータである。
【0208】
macroblock_intraは、図38と図39に示されたマクロブロックタイプから導かれるデータであって、復号処理で使用されるデータである。spatial_temporal_weight_code_flagは、図38と図39に示されたマクロブロックタイプから導かれるデータであって、時間スケーラビリティで下位レイヤ画像のアップサンプリング方法を示すspatial_temporal_weight_codeは、ビットストリーム中に存在するか否かを示すデータである。
【0209】
frame_motion_typeは、フレームのマクロブロックの予測タイプを示す2ビットのコードである。予測ベクトルが2個でフィールドベースの予測タイプであれば「00」であって、予測ベクトルが1個でフィールドベースの予測タイプであれば「01」であって、予測ベクトルが1個でフレームベースの予測タイプであれば「10」であって、予測ベクトルが1個でディアルプライムの予測タイプであれば「11」である。field_motion_typeは、フィールドのマクロブロックの動き予測を示す2ビットのコードである。予測ベクトルが1個でフィールドベースの予測タイプであれば「01」であって、予測ベクトルが2個で18×8マクロブロックベースの予測タイプであれば「10」であって、予測ベクトルが1個でディアルプライムの予測タイプであれば「11」である。dct_typeは、DCTがフレームDCTモードか、フィールドDCTモードかを示すデータである。quantiser_scale_codeはマクロブロックの量子化ステップサイズを示すデータである。
【0210】
次に動きベクトルに関するデータエレメントについて説明する。動きベクトルは、復号時に必要な動きベクトルを減少させるために、先に符号化されたベクトルに関し、差分として符号化される。動きベクトルの復号を行うために、復号器は、4個の動きベクトル予測値(それぞれ水平および垂直成分を伴なう)を維持しなければいけない。この予測動きベクトルをPMV[r][s][v]と表わすことにしている。[r]は、マクロブロックにおける動きベクトルが第1のベクトルであるのか、第2のベクトルであるのかを示すフラグであって、マクロブロックにおけるベクトルが第1のベクトルである場合には「0」、マクロブロックにおけるベクトルが第2のベクトルである場合には「1」となる。[s]は、マクロブロックにおける動きベクトルの方向が、前方向であるのか後方向であるのかを示すフラグであって、前方向動きベクトルの場合には「0」、後方向動きベクトルの場合には「1」となる。[v]は、マクロブロックにおけるベクトルの成分が、水平方向であるのか垂直方向であるのかを示すフラグであって、水平方向成分の場合には「0」、垂直方向成分の場合には「1」となる。
【0211】
従って、PMV[0][0][0]は、第1のベクトルの前方向の動きベクトルの水平方向成分のデータを表わし、PMV[0][0][1]は、第1のベクトルの前方向の動きベクトルの垂直方向成分のデータを表わし、PMV[0][1][0]は、第1のベクトルの後方向の動きベクトルの水平方向成分のデータを表わし、PMV[0][1][1]は、第1のベクトルの後方向の動きベクトルの垂直方向成分のデータを表わし、 PMV[1][0][0]は、第2のベクトルの前方向の動きベクトルの水平方向成分のデータを表わし、PMV[1][0][1]は、第2のベクトルの前方向の動きベクトルの垂直方向成分のデータを表わし、 PMV[1][1][0]は、第2のベクトルの後方向の動きベクトルの水平方向成分のデータを表わし、そして、PMV[1][1][1] は、第2のベクトルの後方向の動きベクトルの垂直方向成分のデータを表わしている。
【0212】
motion_vertical_field_select[r][s]は、予測の形式にいずれの参照フィールドを使用するのかを示すデータである。このmotion_vertical_field_select[r][s]が「0」の場合には、トップ参照フィールドを使用し、「1」の場合には、ボトム参照フィールドを使用することを示している。
【0213】
よって、motion_vertical_field_select[0][0]は、第1のベクトルの前方向の動きベクトルを生成する際の参照フィールドを示し、motion_vertical_field_select[0][1]は、第1のベクトルの後方向の動きベクトルを生成する際の参照フィールドを示し、motion_vertical_field_select[1][0]は、第2のベクトルの前方向の動きベクトルを生成する際の参照フィールドを示し、そして、motion_vertical_field_select[1][1]は、第2ベクトルの後方向の動きベクトルを生成する際の参照フィールドを示している。
【0214】
coded_block_patternは、DCT係数を格納する複数のDCTブロックのうち、どのDCTブロックに、有意係数(非0係数)があるかを示す可変長のデータである。num_mv_bitsは、マクロブロック中の動きベクトルの符号量を示すデータである。num_coef_bitsは、マクロブロック中のDCT係数の符号量を示すデータである。num_other_bitsは、マクロブロックの符号量で、動きベクトルおよびDCT係数以外の符号量を示すデータである。
【0215】
次に、可変長の履歴ストリームから各データエレメントをデコードするためのシンタックスについて、図24乃至図44を参照して説明する。
【0216】
図24に示される可変長の履歴ストリームは、next_start_code()関数、sequence_header()関数、sequence_extension()関数、extension_and_user_data(0)関数、group_of_picture_header()関数、extension_and_user_data(1)関数、picture_header()関数、picture_coding_extension()関数、re_coding_stream_info()関数、extension_and_user_data(2)関数、およびpicture_data()関数によって定義されたデータエレメントによって構成される。
【0217】
next_start_code()関数は、ビットストリーム中に存在するスタートコードを探すための関数であるので、履歴ストリームの最も先頭には、図25に示すような、過去の符号化処理において使用されたデータエレメントであってsequence_header()関数によって定義されたデータエレメントが記述されている。
【0218】
図25に示されるsequence_header()関数によって定義されたデータエレメントは、sequence_header_code、sequence_header_present_flag、horizontal_size_value、vertical_size_value、aspect_ratio_information、frame_rate_code、bit_rate_value、marker_bit、VBV_buffer_size_value、constrained_parameter_flag、load_intra_quantiser_matrix、intra_quantiser_matrix、load_non_intra_quantiser_matrix、およびnon_intra_quantiser_matrix等である。
【0219】
sequence_header_codeは、シーケンス層のスタート同期コードを表すデータである。sequence_header_present_flagは、sequence_header内のデータが有効か無効かを示すデータである。 horizontal_size_valueは、画像の水平方向の画素数の下位12ビットから成るデータである。vertical_size_valueは、画像の縦のライン数の下位12ビットからなるデータである。aspect_ratio_informationは、画素のアスペクト比(縦横比)または表示画面アスペクト比を表すデータである。frame_rate_codeは、画像の表示周期を表すデータである。bit_rate_valueは、発生ビット量に対する制限のためのビットレートの下位18ビット(400bsp単位で切り上げる)データである。
【0220】
marker_bitは、スタートコードエミュレーションを防止するために挿入されるビットデータである。VBV_buffer_size_valueは、発生符号量制御用の仮想バッファ(ビデオバッファベリファイヤー)の大きさを決める値の下位10ビットデータである。constrained_parameter_flagは、各パラメータが制限以内であることを示すデータである。load_intra_quantiser_matrixは、イントラMB用量子化マトリックス・データの存在を示すデータである。intra_quantiser_matrixは、イントラMB用量子化マトリックスの値を示すデータである。load_non_intra_quantiser_matrixは、非イントラMB用量子化マトリックス・データの存在を示すデータである。non_intra_quantiser_matrixは、非イントラMB用量子化マトリックスの値を表すデータである。
【0221】
sequence_header()関数によって定義されたデータエレメントの次には、図26で示すような、sequence_extension()関数によって定義されたデータエレメントが、履歴ストリームとして記述されている。
【0222】
sequence_extension()関数によって定義されたデータエレメントとは、extension_start_code、extension_start_code_identifier、sequence_extension_present_flag、profile_and_level_indication、progressive_sequence、chroma_format、horizontal_size_extension、vertical_size_extension、bit_rate_extension、vbv_buffer_size_extension、low_delay、frame_rate_extension_n 、および frame_rate_extension_d等のデータエレメントである。
【0223】
extension_start_codeは、エクステンションデータのスタート同期コードを表すデータである。extension_start_code_identifierは、どの拡張データが送られるかを示すデータである。sequence_extension_present_flagは、シーケンスエクステンション内のデータが有効であるか無効であるかを示すデータである。profile_and_level_indicationは、ビデオデータのプロファイルとレベルを指定するためのデータである。progressive_sequenceは、ビデオデータが順次走査であることを示すデータである。chroma_formatは、ビデオデータの色差フォーマットを指定するためのデータである。horizontal_size_extensionは、シーケンスヘッダのhorizntal_size_valueに加える上位2ビットのデータである。vertical_size_extensionは、シーケンスヘッダのvertical_size_value加える上位2ビットのデータである。bit_rate_extensionは、シーケンスヘッダのbit_rate_valueに加える上位12ビットのデータである。vbv_buffer_size_extensionは、シーケンスヘッダのvbv_buffer_size_valueに加える上位8ビットのデータである。
【0224】
low_delayは、Bピクチャを含まないことを示すデータである。frame_rate_extension_nは、シーケンスヘッダのframe_rate_codeと組み合わせてフレームレートを得るためのデータである。frame_rate_extension_dは、シーケンスヘッダのframe_rate_codeと組み合わせてフレームレートを得るためのデータである。
【0225】
sequence_extension()関数によって定義されたデータエレメントの次には、図27に示すようなextension_and_user_data(0)関数によって定義されたデータエレメントが、履歴ストリームとして記述されている。 extension_and_user_data(i)関数は、「i」が1以外のときは、extension_data()関数によって定義されるデータエレメントは記述せずに、user_data()関数によって定義されるデータエレメントのみを履歴ストリームとして記述する。よって、 extension_and_user_data(0)関数は、 user_data()関数によって定義されるデータエレメントのみを履歴ストリームとして記述する。
【0226】
user_data()関数は、図28に示されたようなシンタックスに基いて、ユーザデータを履歴ストリームとして記述する。
【0227】
extension_and_user_data(0)関数によって定義されたデータエレメントの次には、図29に示すようなgroup_of_picture_header()関数によって定義されたデータエレメント、およびextension_and_user_data(1)関数によって定義されるデータエレメントが、履歴ストリームとして記述されている。ただし、履歴ストリーム中に、GOP層のスタートコードを示すgroup_start_codeが記述されている場合にのみ、 group_of_picture_header()関数によって定義されたデータエレメント、およびextension_and_user_data(1)関数によって定義されるデータエレメントが記述されている。
【0228】
group_of_picture_header()関数によって定義されたデータエレメントは、group_start_code、group_of_picture_header_present_flag、time_code、closed_gop、およびbroken_linkから構成される。
【0229】
group_start_codeは、GOP層の開始同期コードを示すデータである。 group_of_picture_header_present_flagは、 group_of_picture_header内のデータエレメントが有効であるか無効であるかを示すデータである。 time_codeは、GOPの先頭ピクチャのシーケンスの先頭からの時間を示すタイムコードである。closed_gopは、GOP内の画像が他のGOPから独立再生可能なことを示すフラグデータである。broken_linkは、編集などのためにGOP内の先頭のBピクチャが正確に再生できないことを示すフラグデータである。
【0230】
extension_and_user_data(1)関数は、 extension_and_user_data(0)関数と同じように、user_data()関数によって定義されるデータエレメントのみを履歴ストリームとして記述する。
【0231】
もし、履歴ストリーム中に、GOP層のスタートコードを示すgroup_start_codeが存在しない場合には、これらのgroup_of_picture_header()関数およびextension_and_user_data(1)関数によって定義されるデータエレメントは、履歴ストリーム中には記述されていない。その場合には、 extension_and_user_data(0)関数によって定義されたデータエレメントの次に、picture_headr()関数によって定義されたデータエレメントが履歴ストリームとして記述されている。
【0232】
picture_headr()関数によって定義されたデータエレメントは、図30に示すように、picture_start_code、temporal_reference、picture_coding_type、vbv_delay、full_pel_forward_vector、forward_f_code、full_pel_backward_vector、backward_f_code、extra_bit_picture、およびextra_information_pictureである。
【0233】
具体的には、picture_start_codeは、ピクチャ層の開始同期コードを表すデータである。temporal_referenceは、ピクチャの表示順を示す番号でGOPの先頭でリセットされるデータである。picture_coding_typeは、ピクチャタイプを示すデータである。vbv_delayは、ランダムアクセス時の仮想バッファの初期状態を示すデータである。full_pel_forward_vectorは、順方向動きベクトルの精度が整数単位か半画素単位かを示すデータである。forward_f_codeは、順方向動きベクトル探索範囲を表すデータである。full_pel_backward_vectorは、逆方向動きベクトルの精度が整数単位か半画素単位かを示すデータである。backward_f_codeは、逆方向動きベクトル探索範囲を表すデータである。 extra_bit_pictureは、後続する追加情報の存在を示すフラグである。このextra_bit_pictureが「1」の場合には、次にextra_information_pictureが存在し、extra_bit_pictureが「0」の場合には、これに続くデータが無いことを示している。extra_information_pictureは、規格において予約された情報である。
【0234】
picture_headr()関数によって定義されたデータエレメントの次には、図31に示すようなpicture_coding_extension()関数によって定義されたデータエレメントが、履歴ストリームとして記述されている。
【0235】
このpicture_coding_extension()関数によって定義されたデータエレメントとは、extension_start_code、extension_start_code_identifier、f_code[0][0]、f_code[0][1]、f_code[1][0]、f_code[1][1]、intra_dc_precision、picture_structure、top_field_first、frame_predictive_frame_dct、concealment_motion_vectors、q_scale_type、intra_vlc_format、alternate_scan、repeat_firt_field、chroma_420_type、progressive_frame、composite_display_flag、v_axis、field_sequence、sub_carrier、burst_amplitude、およびsub_carrier_phaseから構成される。
【0236】
extension_start_codeは、ピクチャ層のエクステンションデータのスタートを示す開始コードである。extension_start_code_identifierは、どの拡張データが送られるかを示すコードである。 f_code[0][0]は、フォワード方向の水平動きベクトル探索範囲を表すデータである。f_code[0][1]は、フォワード方向の垂直動きベクトル探索範囲を表すデータである。f_code[1][0]は、バックワード方向の水平動きベクトル探索範囲を表すデータである。f_code[1][1]は、バックワード方向の垂直動きベクトル探索範囲を表すデータである。intra_dc_precisionは、DC係数の精度を表すデータである。
【0237】
picture_structureは、フレームストラクチャかフィールドストラクチャかを示し、更に、フィールドストラクチャの場合は、上位フィールドか下位フィールドかもあわせて示すデータである。top_field_firstは、フレームストラクチャの場合、最初のフィールドが、上位か下位かを示すデータである。frame_predictive_frame_dctは、フレームストラクチャの場合、フレーム・モードDCTの予測がフレーム・モードだけであることを示すデータである。concealment_motion_vectorsは、イントラマクロブロックに伝送エラーを隠蔽するための動きベクトルがついていることを示すデータである。q_scale_typeは、線形量子化スケールを利用するか、非線形量子化スケールを利用するかを示すデータである。intra_vlc_formatは、イントラマクロブロックに、別の2次元VLCを使うかどうかを示すデータである。
【0238】
alternate_scanは、ジグザグスキャンを使うか、オルタネート・スキャンを使うかの選択を表すデータである。repeat_firt_fieldは、2:3プルダウンの際に使われるデータである。chroma_420_typeは、信号フォーマットが4:2:0の場合、次のprogressive_frame と同じ値、そうでない場合は0を表すデータである。progressive_frameは、このピクチャが、順次走査できているかどうかを示すデータである。composite_display_flagは、ソース信号がコンポジット信号であったかどうかを示すデータである。v_axis、field_sequence、sub_carrier、burst_amplitude、およびsub_carrier_phaseは、ソース信号が、PALの場合に使われるデータである。
【0239】
picture_coding_extension()関数によって定義されたデータエレメントの次には、re_coding_stream_info()関数によって定義されたデータエレメントが履歴ストリームとして記述されている。このre_coding_stream_info()関数は、主に履歴情報の組み合わせを記述する場合に用いられるものであり、その詳細については、図48を参照して後述する。
【0240】
re_coding_stream_info()関数によって定義されたデータエレメントの次には、extensions_and_user_data(2)によって定義されたデータエレメントが、履歴ストリームとして記述されている。このextension_and_user_data(2)関数は、図27に示したように、ビットストリーム中にエクステンションスタートコード(extension_start_code)が存在する場合には、extension_data()関数によって定義されるデータエレメントが記述されている。このデータエレメントの次には、ビットストリーム中にユーザデータスタートコード(user_data_start_code)が存在する場合には、user_data()関数によって定義されるデータエレメントが記述されている。ただし、ビットストリーム中にエクステンションスタートコードおよびユーザデータスタートコードが存在しない場合には extension_data()関数 およびuser_data()関数によって定義されるデータエレメントはビットトリーム中には記述されていない。
【0241】
extension_data()関数は、図32に示すように、extension_start_codeを示すデータエレメントと、quant_matrix_extension()関数、copyright_extension()関数、およびpicture_display_extension()関数によって定義されるデータエレメンエトとを、ビットストリーム中に履歴ストリームとして記述するための関数である。
【0242】
quant_matrix_extension()関数によって定義されるデータエレメントは、図33に示すように、extension_start_code、extension_start_code_identifier、quant_matrix_extension_present_flag、load_intra_quantiser_matrix、intra_quantiser_matrix[64]、load_non_intra_quantiser_matrix、non_intra_quantiser_matrix[64]、load_chroma_intra_quantiser_matrix、chroma_intra_quantiser_matrix[64]、load_chroma_non_intra_quantiser_matrix、およびchroma_non_intra_quantiser_matrix[64] である。
【0243】
extension_start_codeは、この量子化マトリックスエクステンションのスタートを示す開始コードである。extension_start_code_identifierは、どの拡張データが送られるかを示すコードである。 quant_matrix_extension_present_flagは、この量子化マトリックスエクステンション内のデータエレメントが有効か無効かを示すためのデータである。load_intra_quantiser_matrixは、イントラマクロブロック用の量子化マトリックス・データの存在を示すデータである。intra_quantiser_matrixは、イントラマクロブロック用の量子化マトリックスの値を示すデータである。
【0244】
load_non_intra_quantiser_matrixは、非イントラマクロブロック用の量子化マトリックス・データの存在を示すデータである。non_intra_quantiser_matrixは、非イントラマクロブロック用の量子化マトリックスの値を表すデータである。load_chroma_intra_quantiser_matrixは、色差イントラマクロブロック用の量子化マトリックス・データの存在を示すデータである。chroma_intra_quantiser_matrixは、色差イントラマクロブロック用の量子化マトリックスの値を示すデータである。load_chroma_non_intra_quantiser_matrixは、色差非イントラマクロブロック用の量子化マトリックス・データの存在を示すデータである。chroma_non_intra_quantiser_matrixは、色差非イントラマクロブロック用の量子化マトリックスの値を示すデータである。
【0245】
copyright_extension()関数によって定義されるデータエレメントは、図34に示すように、 extension_start_code、extension_start_code_itentifier、copyright_extension_present_flag、copyright_flag、copyright_identifier、original_or_copy、copyright_number_1、copyright_number_2、および copyright_number_3から構成される。
【0246】
extension_start_codeは、コピーライトエクステンションのスタート示す開始コードである。extension_start_code_itentifierどのエクステンションデータが送られるかを示すコードである。 copyright_extension_present_flagは、このコピーライトエクステンション内のデータエレメントが有効か無効かを示すためのデータである。
【0247】
copyright_flagは、次のコピーライトエクステンション又はシーケンスエンドまで、符号化されたビデオデータに対してコピー権が与えられているか否かを示す。copyright_identifierは、ISO/IEC JTC/SC29によって指定されたコピー権の登録機関を識別するためのデータである。original_or_copyは、ビットストリーム中のデータが、オリジナルデータであるかコピーデータであるかを示すデータである。copyright_number_1は、コピーライトナンバーのビット44から63を表わすデータである。copyright_number_2は、コピーライトナンバーのビット22から43を表わすデータである。copyright_number_3は、コピーライトナンバーのビット0から21を表わすデータである。
【0248】
picture_display_extension()関数によって定義されるデータエレメントは、図35に示すように、extension_start_code_identifier、frame_center_horizontal_offset、frame_center_vertical_offset等である。
【0249】
extension_start_code_identifierは、どの拡張データが送られるかを示すコードである。 frame_center_horizontal_offsetは、表示エリアの水平方向のオフセットを示すデータであって、number_of_frame_center_offsetsによって定義される数のオフセット値を定義することができる。frame_center_vertical_offsetは、表示エリアを垂直方向のオフセットを示すデータであって、 number_of_frame_center_offsetsによって定義される数のオフセット値を定義することができる。
【0250】
再び図24に戻って、extension_and_user_data(2)関数によって定義されるデータエレメントの次には、picture_data()関数によって定義されるデータエレメントが、履歴ストリームとして記述されている。ただし、このpicture_data()関数は、red_bw_flagが1ではないか、または、red_bw_indicatorが2以下である場合に存在する。このred_bw_flagとred_bw_indicatorは、re_coding_stream_info()関数に記述されており、これらについては、図48と図49を参照して後述する。
【0251】
picture_data()関数によって定義されるデータエレメントは、図36に示すように、slice()関数によって定義されるデータエレメントである。このslice()関数によって定義されるデータエレメントはビットストリーム中に少なくとも1個記述されている。
【0252】
slice()関数は、図37に示されるように、slice_start_code、slice_quantiser_scale_code、intra_slice_flag、intra_slice、reserved_bits、extra_bit_slice、extra_information_slice、およびextra_bit_slice 等のデータエレメントと、macroblock()関数によって定義されるデータエレメントを、履歴ストリームとして記述するための関数である。
【0253】
slice_start_codeは、slice()関数によって定義されるデータエレメントのスタートを示すスタートコードである。slice_quantiser_scale_codeは、このスライス層に存在するマクロブロックに対して設定された量子化ステップサイズを示すデータである。しかし、各マクロブロック毎に、quantiser_scale_codeが設定されている場合には、各マクロブロックに対して設定されたmacroblock_quantiser_scale_codeのデータが優先して使用される。
【0254】
intra_slice_flagは、ビットストリーム中にintra_sliceおよびreserved_bitsが存在するか否かを示すフラグである。intra_sliceは、スライス層中にノンイントラマクロブロックが存在するか否かを示すデータである。スライス層におけるマクロブロックのいずれかがノンイントラマクロブロックである場合には、intra_sliceは「0」となり、スライス層におけるマクロブロックの全てがノンイントラマクロブロックである場合には、intra_sliceは「1」となる。reserved_bitsは、7ビットのデータであって「0」の値を取る。extra_bit_sliceは、履歴ストリームとして追加の情報が存在することを示すフラグであって、次にextra_information_sliceが存在する場合には「1」に設定される。追加の情報が存在しない場合には「0」に設定される。
【0255】
これらのデータエレメントの次には、macroblock()関数によって定義されたデータエレメントが、履歴ストリームとして記述されている。
【0256】
macroblock()関数は、図38に示すように、macroblock_escape、macroblock_address_increment、およびmacroblock_quantiser_scale_code、およびmarker_bit等のデータエレメントと、macroblock_modes()関数、motion_vectors(s)関数、およびcode_block_pattern()関数によって定義されたデータエレメントを記述するための関数である。
【0257】
macroblock_escapeは、参照マクロブロックと前のマクロブロックとの水平方向の差が34以上であるか否かを示す固定ビット列である。参照マクロブロックと前のマクロブロックとの水平方向の差が34以上の場合には、macroblock_address_incrementの値に33をプラスする。macroblock_address_incrementは、参照マクロブロックと前のマクロブロックとの水平方向の差を示すデータである。もし、このmacroblock_address_incrementの前にmacroblock_escapeが1つ存在するのであれば、このmacroblock_address_incrementの値に33をプラスした値が、実際の参照マクロブロックと前のマクロブロックとの水平方向の差分を示すデータとなる。
【0258】
macroblock_quantiser_scale_codeは、各マクロブロック毎に設定された量子化ステップサイズを示すデータであり、macroblock_quantが「1」のときだけ存在する。各スライス層には、スライス層の量子化ステップサイズを示すslice_quantiser_scale_codeが設定されているが、参照マクロブロックに対してmacroblock_quantiser_scale_codeが設定されている場合には、この量子化ステップサイズを選択する。
【0259】
macroblock_address_incrementの次には、macroblock_modes()関数によって定義されるデータエレメントが記述されている。macroblock_modes()関数は、図39に示すように、macroblock_type、frame_motion_type、field_motion_type、dct_type等のデータエレメントを、履歴ストリームとして記述するための関数である。
【0260】
macroblock_typeは、マクログブロックの符号化タイプを示すデータである。その詳細は、図42乃至図44を参照して後述する。
【0261】
もし、macroblock_motion_forward又はmacroblock_motion_backwardが「1」であり、ピクチャ構造がフレームであり、更にframe_pred_frame_dctが「0」である場合には、macroblock_typeを表わすデータエレメントの次にframe_motion_typeを表わすデータエレメントが記述されている。なお、このframe_pred_frame_dctは、 frame_motion_typeがビットストリーム中に存在するか否かを示すフラグである。
【0262】
frame_motion_typeは、フレームのマクロブロックの予測タイプを示す2ビットのコードである。予測ベクトルが2個でフィールドベースの予測タイプであれば「00」であって、予測ベクトルが1個でフィールドベースの予測タイプであれば「01」であって、予測ベクトルが1個でフレームベースの予測タイプであれば「10」であって、予測ベクトルが1個でディアルプライムの予測タイプであれば「11」である。
【0263】
frame_motion_typeを記述する条件が満足されない場合には、macroblock_typeを表わすデータエレメントの次にfield_motion_typeを表わすデータエレメントが記述されている。
【0264】
field_motion_typeは、フィールドのマクロブロックの動き予測を示す2ビットのコードである。予測ベクトルが1個でフィールドベースの予測タイプであれば「01」であって、予測ベクトルが2個で18×8マクロブロックベースの予測タイプであれば「10」であって、予測ベクトルが1個でディアルプライムの予測タイプであれば「11」である。
【0265】
もし、ピクチャ構造がフレームで、 frame_pred_frame_dctがframe_motion_typeがビットストリーム中に存在することを示し、かつ、frame_pred_frame_dctがdct_typeがビットストリーム中に存在することを示している場合には、macroblock_typeを表わすデータエレメントの次にdct_typeを表わすデータエレメントが記述されている。なお、dct_typeは、DCTがフレームDCTモードか、フィールドDCTモードかを示すデータである。
【0266】
再び図38に戻って、もし、参照マクロブロックが前方予測マクロブロックであるか、または、参照マクロブロックがイントラマクロブロックであって、かつ、コンシール処理のマクロブロックのいずれかの場合には、motion_vectors(0)関数によって定義されるデータエレメントが記述される。また、参照マクロブロックが後方予測マクロブロックである場合には、motion_vectors(1)関数によって定義されるデータエレメントが記述される。なお、 motion_vectors(0)関数は、第1番目の動きベクトルに関するデータエレメントを記述するための関数であって、motion_vectors(1)関数は、第2番目の動きベクトルに関するデータエレメントを記述するための関数である。
【0267】
motion_vectors(s)関数は、図40に示されるように、動きベクトルに関するデータエレメントを記述するための関数である。
【0268】
もし、動きベクトルが1個でディアルプライム予測モードを使用していない場合には、motion_vertical_field_select[0][s]とmotion_vector(0,s)によって定義されるデータエレメントが記述される。
【0269】
このmotion_vertical_field_select[r][s]は、第1番目の動きベクトル(前方又は後方のどちらのベクトルであっても良い)が、ボトムフィールドを参照して作られたベクトルであるか、トップフィールドを参照して作られたベクトルであるかを示すフラグである。この指標“r”は、第1番めのベクトル又は第2番めのベクトルのいずれのベクトルであるかを示す指標であって、“s”は、予測方向が前方又は後方予測のいずれであるかを示す指標である。
【0270】
motion_vector(r,s)関数は、図41に示されるように、motion_code[r][s][t]に関するデータ列と、motion_residual[r][s][t]に関するデータ列と、dmvector[t]を表わすデータとを記述するための関数である。
【0271】
motion_code[r][s][t]は、動きベクトルの大きさを−16〜+16の範囲で表わす可変長のデータである。 motion_residual[r][s][t]は、動きベクトルの残差を表わす可変長のデータである。よって、このmotion_code[r][s][t]と motion_residual[r][s][t]との値によって詳細な動きベクトルを記述することができる。 dmvector[t]は、ディアルプライム予測モードのときに、一方のフィールド(例えばボトムフィールドに対してトップフィールドを一方のフィールドとする)における動きベクトルを生成するために、時間距離に応じて既存の動きベクトルがスケールされるとともに、トップフィールドとボトムフィールドとのライン間の垂直方向のずれを反映させるために垂直方向に対して補正を行うデータである。この指標“r”は、第1番めのベクトル又は第2番めのベクトルのいずれのベクトルであるかを示す指標であって、“s”は、予測方向が前方又は後方予測のいずれであるかを示す指標である。“s”は、動きベクトルが垂直方向の成分であるか水平方向の成分であるかを示すデータである。
【0272】
図41に示されるmotion_vector(r,s)関数によって、まず、水平方向のmotion_coder[r][s][0]を表わすデータ列が、履歴ストリームとして記述される。motion_residual[0][s][t]およびmotion_residual[1][s][t]の双方のビット数は、f_code[s][t]で示されるので、 f_code[s][t]が1ではない場合には、 motion_residual[r][s][t] がビットストリーム中に存在することを示すことになる。水平方向成分のmotion_residual[r][s][0]が「1」ではなくて、水平方向成分のmotion_code[r][s][0]が「0」ではないということは、ビットストリーム中にmotion_residual[r][s][0]を表わすデータエレメントが存在し、動きベクトルの水平方向成分が存在するということを意味しているので、その場合には、水平方向成分のmotion_residual[r][s][0]を表わすデータエレメントが記述されている。
【0273】
続いて、垂直方向のmotion_coder[r][s][1]を表わすデータ列が、履歴ストリームとして記述される。同じようにmotion_residual[0][s][t]およびmotion_residual[1][s][t]の双方のビット数は、f_code[s][t]で示されるので、 f_code[s][t]が1ではない場合には、 motion_residual[r][s][t] がビットストリーム中に存在することを表わすことになる。motion_residual[r][s][1]が「1」でなくて、motion_code[r][s][1]が「0」ではないということは、ビットストリーム中にmotion_residual[r][s][1]を表わすデータエレメントが存在し、動きベクトルの垂直方向成分が存在するということを意味しているので、その場合には、垂直方向成分のmotion_residual[r][s][1]を表わすデータエレメントが記述されている。
【0274】
次に、図42乃至図44を参照して、macroblock_typeについて説明する。macroblock_typeは、macroblock_quant、dct_type_flag、macroblock_motion_forward、およびmacroblock_motion_backwardなどのフラグから生成された可変長データである。 macroblock_quantは、マクロブロックに対して量子化ステップサイズを設定するためのmacroblock_quantiser_scale_codeが設定されているか否かを示すフラグあって、ビットストリーム中にmacroblock_quantiser_scale_codeが存在する場合には、 macroblock_quantは「1」の値を取る。
【0275】
dct_type_flagは、参照マクロブロックがフレームDCT又はフィールドDCTで符号化されているかを示すdct_typeが存在するか否かを示すためのフラグ(言い換えるとDCTされているか否かを示すフラグ)であって、ビットストリーム中にdct_typeが存在する場合には、このdct_type_flagは「1」の値を取る。 macroblock_motion_forwardは、参照マクロブロックが前方予測されているか否かを示すフラグであって、前方予測されている場合には「1」の値を取る。macroblock_motion_backwardは、参照マクロブロックが後方予測されているか否かを示すフラグであって、後方予測されている場合には「1」の値を取る。
【0276】
なお、可変長フォーマットにおいては、伝送するビットレートを減少させるために、履歴情報を削減することができる。
【0277】
すなわち、macroblock_typeとmotion_vectors()は転送するが、quantiser_scale_codeを転送しない場合には、slice_quantiser_scale_codeを”00000”とすることで、ビットレートを減少させることができる。
【0278】
また、macroblock_typeのみ転送し、motion_vectors()、quantiser_scale_code、およびdct_typeを転送しない場合には、macroblock_typeとして、”not coded”を使用することで、ビットレートを減少することができる。
【0279】
更に、また、picture_coding_typeのみ転送し、slice()以下の情報は全て転送しない場合には、slice_start_codeを持たないpicture_data()を使用することで、ビットレートを減少させることができる。
【0280】
以上においては、user_data内の23ビットの連続する”0”が出ないようにする場合に、22ビット毎に”1”を挿入するようにしたが、22ビット毎でなくてもよい。また、連続する”0”の個数を数えて”1”を挿入するのではなく、Byte_allignを調べて挿入するようにすることも可能である。
【0281】
更に、MPEGにおいては、23ビットの連続する”0”の発生を禁止しているが、実際には、バイトの先頭から23ビット連続する場合だけが問題とされ、バイトの先頭ではなく、途中から0が23ビット連続する場合は、問題とされない。従って、例えば24ビット毎に、LSB以外の位置に”1”を挿入するようにしてもよい。
【0282】
また、以上においては、履歴情報を、video elementary streamに近い形式にしたが、packetized elementary streamやtransport streamに近い形式にしてもよい。また、Elementary Streamのuser_dataの場所を、picture_dataの前としたが、他の場所にすることもできる。
【0283】
図4のトランスコーディングシステムにおいては、4世代分の符号化パラメータを履歴情報として後段に出力するようにしたが、実際には、履歴情報の全てが必要となるわけではなく、アプリケーション毎に必要な履歴情報は異なってくる。また、実際の伝送路あるいは記録媒体(伝送メディア)には、容量に制限があり、圧縮しているとはいえ、全ての履歴情報を伝送するようにすると、容量的に負担となり、結果的に画像ビットストリームのビットレートを抑圧してしまい、履歴情報伝送の有効性が損なわれることになる。
【0284】
そこで、履歴情報として伝送する項目の組み合わせを記述する記述子を履歴情報に組み込んで後段に送信するようにし、全ての履歴情報を伝送するのではなく、さまざまなアプリケーションに対応した情報を伝送するようにすることができる。図45は、このような場合のトランスコーディングシステムの構成例を表している。
【0285】
図45において、図4における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。図45の構成例においては、ヒストリ情報分離装置64と符号化装置66の間、およびヒストリエンコーディング装置65と符号化装置66の間に、符号化パラメータ選択回路151が挿入されている。
【0286】
符号化パラメータ選択回路151は、ヒストリ情報分離装置64が出力するベースバンドビデオ信号から符号化パラメータを算出する符号化パラメータ算出部162、ヒストリ情報分離装置64が出力する、このビデオエンコーディングシステム141において符号化するのに最適と判定された符号化パラメータ(例えば、第2世代の符号化パラメータ)に関する情報から、符号化パラメータと記述子(red_bw_flag,red_bw_indicator)(図49を参照して後述する)を分離する組み合わせ記述子分離部161、並びに符号化パラメータ算出部162が出力する符号化パラメータと、組み合わせ記述子分離部161が出力する符号化パラメータのうち、いずれか一方を、組み合わせ記述子分離部161で分離された記述子に対応して選択し、符号化装置66に出力するスイッチ163を有している。その他の構成は、図4における場合と同様である。
【0287】
ここで、履歴情報として伝送する項目の組み合わせについて説明する。履歴情報は、分類すると、picture単位の情報と、macroblock単位の情報に分けることができる。slice単位の情報は、それに含まれるmacroblockの情報を収集することで得ることができ、GOP単位の情報は、それに含まれるpicture単位の情報を収集することで得ることができる。
【0288】
picture単位の情報(すなわち、図7のV Blanking領域に記述される情報)は、1フレーム毎に1回伝送されるだけなので、情報伝送に占めるビットレートは、それほど大きくはない。これに対して、macroblock単位の情報(すなわち、図7のH Blanking領域に記述される情報)は、各macroblock毎に伝送されるため、例えば1フレームの走査線数が525本で、フィールドレートが60フィールド/秒のビデオシステムの場合、1フレームの画素数を720×480とすると、macroblock単位の情報は、1フレームあたり1350(=(720/16)×(480/16))回伝送することが必要となる。このため、履歴情報の相当の部分がmacroblock毎の情報で占められることになる。そこで、履歴情報としては、少なくともpicture単位の情報は常に伝送するが、macroblock単位の情報は、アプリケーションに応じて選択して伝送するようにすることで、伝送する情報量を抑制することができる。
【0289】
履歴情報として転送されるmacroblock単位の情報には、例えばnum_coef_bits,num_mv_bits,num_other_bits,q_scale_code,q_scale_type,motion_type,mv_vert_field_sel[][],mv[][][],mb_mfwd,mb_mbwd,mb_pattern,coded_block_pattern,mb_intra,slice_start,dct_type,mb_quant,skipped_mbなどがある。これらは、macroblock rate informationの要素を用いて表現されたものである。
【0290】
num_coef_bitsは、macroblockの符号量のうち、DCT係数に要した符号量を表す。num_mv_bitsは、macroblockの符号量のうち、動きベクトルに要した符号量を表す。num_other_bitsは、macroblockの符号量のうち、num_coef_bitsおよびnum_mv_bits以外の符号量を表す。
【0291】
q_scale_codeは、macroblockに適用されたq_scale_codeを表す。motion_typeは、macroblockに適用された動きベクトルのtypeを表す。mv_vert_field_sel[][]は、macroblockに適用された動きベクトルのfield selectを表す。
【0292】
mv[][][]は、macroblockに適用された動きベクトルを表す。mb_mfwdは、macroblockの予測モードが前方向予測であることを示すフラグである。mb_mbwdは、macroblockの予測モードが後方向予測であることを示すフラグである。mb_patternは、macroblockのDCT係数の非0のものの有無を示すフラグである。
【0293】
coded_block_patternは、macroblockのDCT係数の非0のものの有無をDCTブロック毎に示すフラグである。mb_intraは、macroblockがintra_macroかそうでないかを示すフラグである。slice_startは、macroblockがsliceの先頭であるか否かを示すフラグである。dct_typeは、macroblockがfield_dctかflame_dctかを示すフラグである。
【0294】
mb_quantは、macroblockがquantiser_scale_codeを伝送するか否かを示すフラグである。skipped_mbは、macroblockがskipped macroblockであるか否かを示すフラグである。
【0295】
これらの項目は、常に全て必要であるわけではなく、アプリケーションに応じて必要となる項目が変化する。例えば、num_coef_bitsやslice_startといった項目は、再エンコードした際のビットストリームをできる限り元の形に戻したいというtransparentという要求を有するアプリケーションにおいて必要となる。換言すれば、ビットレートを変更するようなアプリケーションにおいては、これらの項目は必要ではない。また、非常に伝送路の制限が厳しい場合には、各ピクチャの符号化タイプが判るだけでもよいようなアプリケーションも存在する。このような状況から、履歴情報を伝送する項目の組み合わせの例として、例えば図46に示すような組み合わせが考えられる。
【0296】
図46において、各組み合わせの中の項目に対応する値「2」は、その情報が存在し、利用可能であることを意味し、「0」は、その情報が存在しないことを意味する。「1」は、他の情報の存在を補助する目的のため、あるいは、構文上存在するが、元のビットストリーム情報とは関係がないなど、その情報自身には意味がないことを表している。例えば、slice_startは、履歴情報を伝送する際のsliceの先頭のmacroblockにおいて、「1」になるが、本来のビットストリームに対して、sliceが必ずしも同一位置関係にあるわけではない場合には、履歴情報としては無意味になる。
【0297】
図46の例においては、(num_coef_bits,num_mv_bits,num_other_bits),(q_scale_code,q_scale_type),(motion_type,mv_vert_field_sel[][],mv[][][]),(mb_mfwd,mb_mbwd),(mb_pattern),(coded_block_pattern),(mb_intra),(slice_start),(dct_type),(mb_quant),(skipped_mb)の各項目の有無により、組み合わせ1乃至組み合わせ5の5つの組み合わせが用意されている。
【0298】
組み合わせ1は、完全にtransparentなビットストリームを再構成することを目的とした組み合わせである。この組み合わせによれば、発生符号量情報を用いることによる精度の高いトランスコーディングが実現できる。組み合わせ2も、完全にtransparentなビットストリームを再構成することを目的とした組み合わせである。組み合わせ3は、完全にtransparentなビットストリームを再構成することはできないが、視覚的にほぼtransparentなビットストリームを再構成できるようにするための組み合わせである。組み合わせ4は、transparentという観点からは組み合わせ3よりも劣るが、視覚上問題がないビットストリームの再構成ができる組み合わせである。組み合わせ5は、transparentという観点からは組み合わせ4よりも劣るが、少ない履歴情報でビットストリームの完全ではない再構成ができる組み合わせである。
【0299】
これらの組み合わせのうち、組み合わせの番号の数字が小さいものほど、機能的には上位であるが、履歴を転送するのに必要となる容量が多くなる。従って、想定するアプリケーションと履歴に使用できる容量を考慮することによって、伝送する組み合わせを決定する必要がある。
【0300】
次に、図47のフローチャートを参照して、図45のトランスコーディングシステムの動作について説明する。
【0301】
ステップS1において、ビデオデコーディングシステム51の復号装置61は、入力されたビットストリームを復号し、そのビットストリームを符号化する際に使用された符号化パラメータ(第4世代)を抽出し、その符号化パラメータ(第4世代)をヒストリ情報多重化装置63に出力するとともに、復号したビデオデータを、やはりヒストリ情報多重化装置63に出力する。ステップS2において、復号装置61は、入力されたビットストリームからuser_dataを抽出し、ヒストリデコーディング装置62に出力する。ステップS3において、ヒストリデコーディング装置62は入力されたuser_dataから、組み合わせ情報(記述子)を抽出し、更にそれを用いて、履歴情報としての符号化パラメータ(第2世代乃至第3世代)を抽出し、ヒストリ情報多重化装置63に出力する。
【0302】
ステップS4において、ヒストリ情報多重化装置63は、ステップS1で取り出された復号装置51から供給される現在の符号化パラメータ(第4世代)と、ステップS3でヒストリデコーディング装置62が出力した過去の符号化パラメータ(第2世代乃至第3世代)とを、復号装置61から供給されるベースバンドのビデオデータに、図7および図11に示すようなフォーマットに従って多重化し、ヒストリ情報分離装置64に出力する。
【0303】
ヒストリ情報分離装置64は、ステップS5において、ヒストリ情報多重化装置63より供給されたベースバンドのビデオデータから、符号化パラメータを抽出し、その中から今回の符号化に最も適している符号化パラメータ(例えば、第2世代の符号化パラメータ)を選択し、記述子とともに、組み合わせ記述子分離部161に出力する。また、ヒストリ情報分離装置64は、今回の符号化に最適と判定された符号化パラメータ以外の符号化パラメータ(例えば、最適な符号化パラメータが第2世代の符号化パラメータであると判定された場合には、それ以外の第1世代、第3世代、および第4世代の符号化パラメータ)をヒストリエンコーディング装置65に出力する。
【0304】
ステップS6において、ヒストリエンコーディング装置65は、ヒストリ情報分離装置54より入力された符号化パラメータをuser_dataに記述し、そのuser_data(converted_history_stream())を符号化装置66に出力する。
【0305】
ステップS7において、組み合わせ記述子分離部161は、ヒストリ情報分離装置64より供給されたデータから、符号化パラメータと記述子を分離し、符号化パラメータ(第2世代)を、スイッチ163の一方の接点に供給する。スイッチ163の他方の接点には、符号化パラメータ算出部162が、ヒストリ情報分離装置64が出力するベースバンドのビデオデータから、符号化パラメータを算出し、供給している。
【0306】
ステップS8において、スイッチ163は、組み合わせ記述子分離部161が出力した記述子に対応して、組み合わせ記述子分離部161が出力した符号化パラメータ、または符号化パラメータ算出部162が出力した符号化パラメータのいずれかを選択し、符号化装置66に出力する。すなわち、スイッチ163では、組み合わせ記述子分離部161から供給された符号化パラメータが有効である場合には、組み合わせ記述子分離部161が出力する符号化パラメータが選択されるが、組み合わせ記述子分離部161が出力する符号化パラメータが無効である場合には、符号化パラメータ算出部162がベースバンドビデオを処理することで算出した符号化パラメータが選択される。この選択は、伝送メディアの容量に対応して行われる。
【0307】
ステップS9において、符号化装置66は、スイッチ163から供給された符号化パラメータに基づいて、ヒストリ情報分離装置105より供給されたベースバンドビデオ信号を符号化する。
【0308】
ステップS10において、符号化装置66は、符号化したビットストリームに、ヒストリエンコーディング装置65より供給されたuser_dataを多重化し、出力して、処理が終了される。
【0309】
このようにして、各履歴によって得られる符号化パラメータの組み合わせが異なっているような場合でも、支障なくトランスコーディングすることが可能となる。
【0310】
このように、履歴情報は、図15に示したように、ビデオストリームのuser_data()関数の一種としてのhistory_stream()(より正確には、converted_history_stream())で伝送される。そのhistory_stream()のシンタックスは、図24に示した通りである。履歴情報の項目の組み合わせを表す記述子(red_bw_flag,red_bw_indicator)、およびMPEGのストリームではサポートされていない項目(num_other_bits,num_mv_bits,num_coef_bits)は、この図24の中のre_coding_stream_info()関数により伝送される。
【0311】
re_coding_stream_info()関数は、図48に示すように、user_data_start_code,re_coding_stream_info_ID,red_bw_flag,red_bw_indicator,marker_bit,num_other_bits,num_mv_bits,num_coef_bitsなどのデータエレメントより構成される。
【0312】
user_data_start_codeは、user_dataが開始することを表すスタートコードである。re_coding_stream_info_IDは、16ビットの整数であり、re_coding_stream_info()関数の識別のために用いられる。その値は、具体的には、”1001 0001 1110 1100”(0x91ec)とされる。
【0313】
red_bw_flagは、1ビットのフラグであり、履歴情報が全ての項目を伝送する場合には0とされ、このフラグの値が1である場合、このフラグに続くred_bw_indicatorを調べることにより、図46に示した5個の組み合わせのうち、どの組み合わせで項目が送られているのかを決定することができる。
【0314】
red_bw_indicatorは、2ビットの整数であり、項目の組み合わせを図49に示すように記述する。
【0315】
即ち、図46に示した5つの組み合わせのうち、組み合わせ1の場合、red_bw_flagは0とされ、組み合わせ2乃至組み合わせ5のとき、red_bw_flagは1とされる。これに対して、red_bw_indicatorは、組み合わせ2の場合0とされ、組み合わせ3の場合1とされ、組み合わせ4の場合2とされ、組み合わせ5の場合3とされる。
【0316】
従って、red_bw_indicatorは、red_bw_flagが1の場合に(組み合わせ2乃至組み合わせ5の場合に)規定される。
【0317】
更に、図49の組み合わせ1の場合(red_bw_flagが0である場合)、マクロブロック毎に、marker_bit,num_other_bits,num_mv_bits,num_coef_bitsが記述される。これら4つのデータエレメントは、組み合わせ2乃至組み合わせ5の場合(red_bw_flagが1の場合)規定されない。
【0318】
図36に示したように、picture_data()関数は、1個以上のslice()関数から構成される。しかしながら、組み合わせ5の場合、picture_data()関数を含めて、それ以下のシンタックス要素は伝送されない。この場合、履歴情報は、picture_typeなどのpicture単位の情報の伝送を意図したものとなる。
【0319】
組み合わせ1乃至組み合わせ4の場合、図37に示したslice()関数が存在する。しかしながら、このslice()関数によって決定されるsliceの位置情報と、元のビットストリームのsliceの位置情報は、履歴情報の項目の組み合わせに依存する。組み合わせ1または組み合わせ2の場合、履歴情報の元となったビットストリームのsliceの位置情報と、slice()関数によって決定されるsliceの位置情報とは、同一である必要がある。
【0320】
図38に示すmacroblock()関数のシンタックス要素は、履歴情報の項目の組み合わせに依存する。macroblock_escape,macroblock_address_increment,macroblock_modes()関数は、常に存在する。しかしながら、macroblock_escapeとmacroblock_address_incrementの情報としての有効性は、組み合わせによって決定される。履歴情報の項目の組み合わせが、組み合わせ1または組み合わせ2の場合、元のビットストリームのskipped_mb情報と同じものが伝送される必要がある。
【0321】
組み合わせ4の場合、motion_vectors()関数は存在しない。組み合わせ1乃至組み合わせ3の場合、macroblock_modes()関数のmacroblock_typeによって、motion_vectors()関数の存在が決定される。組み合わせ3または組み合わせ4の場合には、coded_block_pattern()関数は存在しない。組み合わせ1と組み合わせ2の場合、macroblock_modes()関数のmacroblock_typeによって、coded_block_pattern()関数の存在が決定される。
【0322】
図39に示したmacroblock_modes()関数のシンタックス要素は、履歴情報の項目の組み合わせに依存する。macroblock_typeは、常に存在する。組み合わせが組み合わせ4である場合、flame_motion_type,field_motion_type,dct_typeは存在しない。
【0323】
macroblock_typeより得られるパラメータの情報としての有効性は、履歴情報の項目の組み合わせによって決定される。
【0324】
履歴情報の項目の組み合わせが組み合わせ1または組み合わせ2である場合、macroblock_quantは、元のビットストリームと同じである必要がある。組み合わせ3または組み合わせ4の場合、macroblock_quantは、macroblock()関数内のquantiser_scale_codeの存在を表し、元のビットストリームと同じである必要はない。
【0325】
組み合わせが組み合わせ1乃至組み合わせ3である場合、macroblock_motion_forwardとmacroblock_motion_backwardは、元のビットストリームと同一である必要がある。組み合わせが組み合わせ4または組み合わせ5である場合、その必要はない。
【0326】
組み合わせが組み合わせ1または組み合わせ2である場合、macroblock_patternは、元のビットストリームと同一である必要がある。組み合わせ3の場合、macroblock_patternは、dct_typeの存在を示すのに用いられる。組み合わせが組み合わせ4である場合、組み合わせ1乃至組み合わせ3における場合のような関係は成立しない。
【0327】
履歴情報の項目の組み合わせが組み合わせ1乃至組み合わせ3の場合、macroblock_intraは、元のビットストリームと同一である必要がある。組み合わせ4の場合には、その限りでない。
【0328】
図24のhistory_stream()は、履歴情報を可変長とする場合のシンタックスであるが、図17乃至図23に示すように、固定長のシンタックスとする場合、固定長の履歴情報内に、伝送される項目中のどれが有効であるかを示す情報としての記述子(red_bw_flagとred_bw_indicator)をベースバンド画像に重畳し、伝送するようにする。その結果、この記述子を調べることにより、フィールドとして存在するが、その内容は無効であるといった判断をすることが可能となる。
【0329】
このため、図21に示すように、re_coding_stream_informationとして、user_data_start_code,re_coding_stream_info_ID,red_bw_flag,red_bw_indicator,marker_bitが配置されている。それぞれの意味は、図48における場合と同様である。
【0330】
このように履歴として伝送する符号化パラメータの要素をアプリケーションに応じた組み合わせで伝送するようにすることで、アプリケーションに応じた履歴を適当なデータ量で伝送するようにすることができる。
【0331】
以上のように、履歴情報を可変長符号として伝送する場合、re_coding_stream_info()関数は、図48に示すように構成され、図24に示すように、history_stream()関数の一部として伝送される。これに対して、履歴情報を固定長符号として伝送する場合には、図21に示したように、history_stream()関数の一部として、re_coding_stream_information()が伝送される。図21の例では、re_coding_stream_informationとして、user_data_start_code,re_coding_stream_info_ID,red_bw_flag,red_bw_indicatorが伝送される。
【0332】
また、図45のヒストリ情報多重化装置63が出力するベースバンドの信号中における履歴情報の伝送のために、図50に示すようなRe_Coding information Bus macroblock formatが規定される。このマクロブロックは、16×16(=256)ビットで構成される。そして、そのうちの図50において上から3行目と4行目に示す32ビットが、picrate_elementとされる。このpicrate_elementには、図51乃至図53に示すPicture rate elementsが記述される。図51の上から2行目に1ビットのred_bw_flagが規定されており、また、3行目に3ビットのred_bw_indicatorが規定されている。即ち、これらのフラグred_bw_flag,red_bw_indicatorは、図50のpicrate_elementとして伝送される。
【0333】
図50のその他のデータについて説明すると、SRIB_sync_codeは、このフォーマットのマクロブロックの最初の行が左詰めにアライメントされていることを表すコードであり、具体的には、”11111”に設定される。fr_fl_SRIBは、picture_structureがフレームピクチャ構造の場合(その値が”11”である場合)、1に設定され、Re_Coding Information Bus macroblockが16ラインを超えて伝送されることを表し、picture_structureがフレーム構造ではない場合、0に設定され、Re_Coding Information Busが16ラインを超えて伝送されることを意味する。この機構により、Re_Coding Information Busが、空間的かつ時間的にデコードされたビデオフレームまたはフィールドの対応する画素にロックされる。
【0334】
SRIB_top_field_firstは、元のビットストリームに保持されているtop_field_firstと同じ値に設定され、関連するビデオのRe_Coding Information Busの時間的アライメントをrepeat_first_fieldとともに表している。SRIB_repeat_first_fieldは、元のビットストリームに保持されているrepeat_first_fieldと同じ値に設定される。first fieldのRe_Coding Information Busの内容は、このフラグに示されるように繰り返される必要がある。
【0335】
422_420_chromaは、元のビットストリームが4:2:2または4:2:0のいずれであるかを表す。その値の0は、ビットストリームが4:2:0であり、色差信号のアップサンプリングが、4:2:2のビデオが出力されるように行われたことを表す。その値の0は、色差信号のフィルタリング処理が実行されていないことを表す。
【0336】
rolling_SRIB_mb_refは、16ビットのモジュロ65521を表し、この値は、毎マクロブロック毎にインクリメントされる。この値は、フレームピクチャ構造のフレームに渡って連続している必要がある。さもなくば、この値は、フィールドに渡って連続している必要がある。この値は、0から65520の間の所定の値に初期化される。これにより、レコーダのシステムに、ユニークなRe_Coding Information Busの識別子を組み込むことが許容される。
【0337】
Re_Coding Information Bus macroblockのその他のデータの意味は、上述した通りであるので、ここでは省略する。
【0338】
図54に示すように、図50の256ビットのRe_Coding Information Busのデータは、1ビットずつ、色差データのLSBであるCb[0][0],Cr[0][0],Cb[1][0],Cr[1][0]に配置される。図54に示すフォーマットにより、4ビットのデータを送ることができるので、図50の256ビットのデータは、図54のフォーマットを64(=256/4)個送ることで伝送することができる。
【0339】
このように、復号処理および符号化処理の繰り返しによる画質劣化の蓄積を低減することができる本発明のトランスコーディングシステムにおいて、過去の符号化処理において生成された符号化パラメータを、情報の使用頻度に応じてV Blanking領域およびH Blanking領域に記述するようにしたので、必要に応じた情報を容易に取り出すことができる。また、利用したい情報によって、必要に応じたハードウェアを選択する(あるいは、必要に応じて、ハードウェアを削除する)ことが可能である。
【0340】
更に、本発明のトランスコーディングシステムは、ビデオデコーディングシステムで、同期符号(start_code)を、常にパケットの先頭に位置するように記述するようにしたので、ベースバンドビデオ信号を入力されたビデオエンコーディングシステムは、入力されたパケットが欠落していた場合の復帰を、容易に実行することができる。
【0341】
また、以上の説明では、符号化パラメータを圧縮して伝送する例について説明したが、圧縮せずに伝送するものであっても本発明を適応することができる。
【0342】
なお、上記各処理を行うコンピュータプログラムは、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどの記録媒体に記録して提供するほか、インターネット、デジタル衛星などのネットワークを介して伝送し、ユーザの記録媒体に記録させることで提供することができる。
【0343】
また、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0344】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【0345】
【発明の効果】
請求項1に記載の復号装置、請求項5に記載の復号方法、請求項6に記載の記録媒体によれば、入力された符号化ストリームを復号して出力信号を生成し、入力された符号化ストリームに記述されている符号化パラメータを抽出し、抽出された符号化パラメータを、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離し、分離された第1の符号化パラメータおよび第2の符号化パラメータを、所定の形式のデータに変換し、変換された第1の符号化パラメータを、復号された出力信号の垂直ブランキング領域に挿入し、変換された第2の符号化パラメータを、復号された出力信号の水平ブランキング領域に挿入するようにしたので、受信側が、容易に、必要な情報のみを取り出すことができるデータを生成し、出力することができる。また、符号化パラメータを必要度に応じて、垂直ブランキング領域または水平ブランキング領域のいずれかに挿入することができる。
【0346】
請求項7に記載の符号化装置、請求項9に記載の符号化方法、請求項10に記載の記録媒体によれば、ピクチャ層以上の符号化パラメータである第1の符号化パラメータが垂直ブランキング領域に挿入され、スライス層以下の符号化パラメータである第2の符号化パラメータが水平ブランキング領域に挿入された信号の入力を受け、その信号から第1の符号化パラメータまたは第2の符号化パラメータを抽出し、抽出された第1の符号化パラメータまたは第2の符号化パラメータを選択し、選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、入力された信号を符号化して符号化ストリームを生成するようにしたので、入力された信号の垂直ブランキング領域または水平ブランキング領域から必要な符号化パラメータのみを容易に取り出して、符号化処理に利用することができる。
【0347】
請求項11に記載の情報処理装置、請求項14に記載の情報処理方法、請求項15に記載の記録媒体によれば、入力された第1の符号化ストリームを復号して出力信号を生成し、復号された出力信号を符号化して、第2の符号化ストリームを生成し、復号時に、入力された第1の符号化ストリームに記述されている符号化パラメータを抽出し、抽出された符号化パラメータを、ピクチャ層以上の符号化パラメータである第1の符号化パラメータとスライス層以下の符号化パラメータである第2の符号化パラメータに分離し、分離された第1の符号化パラメータおよび第2の符号化パラメータを、所定の形式のデータに変換し、変換された第1の符号化パラメータを、復号された出力信号の垂直ブランキング領域に挿入し、変換された第2の符号化パラメータを、復号された出力信号の水平ブランキング領域に挿入し、抽出された符号化パラメータを用いて第1の符号化ストリームを復号し、符号化時に、復号された出力信号の垂直ブランキング領域に挿入されている第1の符号化パラメータまたは水平ブランキング領域に挿入されている第2の符号化パラメータを抽出し、抽出された第1の符号化パラメータまたは第2の符号化パラメータを選択し、選択された第1の符号化パラメータまたは第2の符号化パラメータを利用して、復号手段より復号された出力信号を符号化して、第2の符号化ストリームを生成するようにしたので、入力された信号の垂直ブランキング領域または水平ブランキング領域から必要な符号化パラメータのみを容易に取り出して、符号化処理に利用することができる。
【図面の簡単な説明】
【図1】本発明におけるトランスコーディングシステムの構成を示すブロック図である。
【図2】図1のビデオデコーディングシステムの詳細な構成を示すブロック図である。
【図3】図1のビデオエンコーディングシステムの詳細な構成を示すブロック図である。
【図4】トランスコーディングシステムの他の構成を示すブロック図である。
【図5】図2の復号装置に内蔵されるデコーダの詳細な構成を示すブロック図である。
【図6】マクロブロックの画素を説明するための図である。
【図7】 V BlankingおよびH Blankingを説明するための図である。
【図8】 start_cordの位置を説明するための図である。
【図9】フィールドストラクチャおよびフレームストラクチャを説明するための図である。
【図10】 start_cordの位置を説明するための図である。
【図11】符号化パラメータが記録される領域を説明する図である。
【図12】図3の符号化装置に内蔵されるエンコーダの詳細な構成を示すブロック図である。
【図13】図4のトランスコーディングシステムが実際に使用される状態を示す図である。
【図14】密結合されたトランスコーディングシステムの構成を示すブロック図である。
【図15】ビデオシーケンスのストリームのシンタックスを説明する図である。
【図16】図15のシンタックスの構成を説明する図である。
【図17】固定長の履歴情報を記録するhistory_stream()のシンタックスを説明する図である。
【図18】固定長の履歴情報を記録するhistory_stream()のシンタックスを説明する図である。
【図19】固定長の履歴情報を記録するhistory_stream()のシンタックスを説明する図である。
【図20】固定長の履歴情報を記録するhistory_stream()のシンタックスを説明する図である。
【図21】固定長の履歴情報を記録するhistory_stream()のシンタックスを説明する図である。
【図22】固定長の履歴情報を記録するhistory_stream()のシンタックスを説明する図である。
【図23】固定長の履歴情報を記録するhistory_stream()のシンタックスを説明する図である。
【図24】可変長の履歴情報を記録するhistory_stream()のシンタックスを説明する図である。
【図25】 sequence_header()のシンタックスを説明する図である。
【図26】 sequence_extension()のシンタックスを説明する図である。
【図27】 extension_and_user_data()のシンタックスを説明する図である。
【図28】 user_data()のシンタックスを説明する図である。
【図29】 group_of_pictures_header()のシンタックスを説明する図である。
【図30】 picture_header()のシンタックスを説明する図である。
【図31】 picture_coding_extension()のシンタックスを説明する図である。
【図32】 extension_data()のシンタックスを説明する図である。
【図33】 quant_matrix_extension()のシンタックスを説明する図である。
【図34】 copyright_extension()のシンタックスを説明する図である。
【図35】 picture_display_extension()のシンタックスを説明する図である。
【図36】 picture_data()のシンタックスを説明する図である。
【図37】 slice()のシンタックスを説明する図である。
【図38】 macroblock()のシンタックスを説明する図である。
【図39】 macroblock_modes()のシンタックスを説明する図である。
【図40】 motion_vectors(s)のシンタックスを説明する図である。
【図41】 motion_vector(r,s)のシンタックスを説明する図である。
【図42】Iピクチャに対するmacroblock_typeの可変長符号を説明する図である。
【図43】Pピクチャに対するmacroblock_typeの可変長符号を説明する図である。
【図44】Bピクチャに対するmacroblock_typeの可変長符号を説明する図である。
【図45】トランスコーディングシステムの他の構成を示すブロック図である。
【図46】履歴情報の項目の組み合わせを説明する図である。
【図47】図45のトランスコーディングシステムの動作を説明するフローチャートである。
【図48】 re_coding_stream_info()のシンタックスを説明する図である。
【図49】 red_bw_flag,red_bw_indicatorを説明する図である。
【図50】 Re_Coding Information Bus macroblock formationを説明する図である。
【図51】 Picture rate elementsを説明する図である。
【図52】 Picture rate elementsを説明する図である。
【図53】 Picture rate elementsを説明する図である。
【図54】 Re_Coding Information Busが記録される領域を説明する図である。
【符号の説明】
1 ビデオデコーディングシステム, 2 ビデオエンコーディングシステム, 11 復号装置, 12 ヒストリ情報多重化装置, 13 データ分類装置, 14 ヒストリデコーディング装置, 15 フォーマットコンバータ,16 V Blanking挿入装置, 17 フォーマットコンバータ, 18 H Blanking挿入装置, 21 ユーザデータデコーダ, 22 コンバータ, 23ヒストリVLD, 31 H Blanking抽出装置, 32 フォーマットコンバータ 33 マルチプレクサ, 34 V Blanking抽出装置, 35 フォーマットコンバータ, 36 パラメータ再生部, 37 ヒストリ情報分離化装置,38 ヒストリエンコーディング装置, 39 符号化装置, 41 ユーザデータフォーマッタ, 42 コンバータ, 43ヒストリVLC, 51 ビデオデコーディングシステム, 52 ビデオエンコーディングシステム, 61復号装置, 62 ヒストリデコーディング装置, 63 ヒストリ情報多重化装置, 64 ヒストリ情報分離装置 ,65 ヒストリエンコーディング装置, 66 符号化装置, 71 ユーザデータデコーダ, 72 コンバータ, 73 ヒストリVLD, 64 ヒストリ情報分離化装置, 65 ヒストリエンコーディング装置, 66 符号化装置, 74 ユーザデータフォーマッタ, 75 コンバータ, 76ヒストリVLC, 81 デコーダ, 101 エンコーダ, 151 符号化パラメータ選択回路, 161 組み合わせ記述子分離部, 162 符号化パラメータ算出部, 163 スイッチ

Claims (15)

  1. 入力された符号化ストリームを復号する復号装置において、
    入力された前記符号化ストリームを復号して出力信号を生成する復号手段と、
    入力された前記符号化ストリームに記述されている符号化パラメータを抽出する抽出手段と、
    前記抽出手段により抽出された前記符号化パラメータを、ピクチャ層以上の前記符号化パラメータである第1の符号化パラメータとスライス層以下の前記符号化パラメータである第2の符号化パラメータに分離する分離手段と、
    前記分離手段により分離された前記第1の符号化パラメータおよび前記第2の符号化パラメータを、所定の形式のデータに変換する変換手段と、
    前記変換手段により変換された前記第1の符号化パラメータを、前記復号手段により復号された前記出力信号の垂直ブランキング領域に挿入するとともに、前記変換手段により変換された前記第2の符号化パラメータを、前記復号手段により復号された前記出力信号の水平ブランキング領域に挿入する挿入手段と
    を備えることを特徴とする復号装置。
  2. 前記所定の形式のデータは、アンシラリパケット形式である
    ことを特徴とする請求項1に記載の復号装置。
  3. 前記出力信号のパケットの先頭に同期符号を付加する同期符号付加手段
    を更に備えることを特徴とする請求項1に記載の復号装置。
  4. 入力される前記符号化ストリームは、圧縮データであり、前記抽出手段は、前記圧縮データより前記符号化パラメータを抽出する
    ことを特徴とする請求項1に記載の復号装置。
  5. 入力された符号化ストリームを復号する復号装置の復号方法において、
    入力された前記符号化ストリームを復号して出力信号を生成する復号ステップと、
    入力された前記符号化ストリームに記述されている符号化パラメータを抽出する抽出ステップと、
    前記抽出ステップの処理により抽出された前記符号化パラメータを、ピクチャ層以上の前記符号化パラメータである第1の符号化パラメータとスライス層以下の前記符号化パラメータである第2の符号化パラメータに分離する分離ステップと、
    前記分離ステップの処理により分離された前記第1の符号化パラメータおよび前記第2の符号化パラメータを、所定の形式のデータに変換する変換ステップと、
    前記変換ステップの処理により変換された前記第1の符号化パラメータを、前記復号ステップの処理により復号された前記出力信号の垂直ブランキング領域に挿入するとともに、前記変換ステップの処理により変換された前記第2の符号化パラメータを、前記復号ステップの処理により復号された前記出力信号の水平ブランキング領域に挿入する挿入ステップと
    を含むことを特徴とする復号方法。
  6. 入力された符号化ストリームを復号して出力する復号装置用のプログラムであって、
    入力された前記符号化ストリームを復号して出力信号を生成する復号ステップと、
    入力された前記符号化ストリームに記述されている符号化パラメータを抽出する抽出ステップと、
    前記抽出ステップの処理により抽出された前記符号化パラメータを、ピクチャ層以上の前記符号化パラメータである第1の符号化パラメータとスライス層以下の前記符号化パラメータである第2の符号化パラメータに分離する分離ステップと、
    前記分離ステップの処理により分離された前記第1の符号化パラメータおよび前記第2の符号化パラメータを、所定の形式のデータに変換する変換ステップと、
    前記変換ステップの処理により変換された前記第1の符号化パラメータを、前記復号ス テップの処理により復号された前記出力信号の垂直ブランキング領域に挿入するとともに、前記変換ステップの処理により変換された前記第2の符号化パラメータを、前記復号ステップの処理により復号された前記出力信号の水平ブランキング領域に挿入する挿入ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  7. 入力された信号を符号化して、符号化ストリームを生成する符号化装置において、
    ピクチャ層以上の符号化パラメータである第1の符号化パラメータが垂直ブランキング領域に挿入され、スライス層以下の前記符号化パラメータである第2の符号化パラメータが水平ブランキング領域に挿入された前記信号から前記第1の符号化パラメータまたは前記第2の符号化パラメータを抽出する抽出手段と、
    前記抽出手段により抽出された前記第1の符号化パラメータまたは前記第2の符号化パラメータを選択する選択手段と、
    前記選択手段により選択された前記第1の符号化パラメータまたは前記第2の符号化パラメータを利用して、入力された前記信号を符号化して符号化ストリームを生成する符号化手段と
    を備えることを特徴とする符号化装置。
  8. 入力された前記信号にパケットとして挿入されている前記符号化パラメータに欠落があった場合、入力された前記パケットの先頭を参照して欠落部分を再生する再生手段
    を更に備えることを特徴とする請求項7に記載の符号化装置。
  9. 入力された信号を符号化して、符号化ストリームを生成する符号化装置の符号化方法において、
    ピクチャ層以上の符号化パラメータである第1の符号化パラメータが垂直ブランキング領域に挿入され、スライス層以下の前記符号化パラメータである第2の符号化パラメータが水平ブランキング領域に挿入された前記信号から前記第1の符号化パラメータまたは前記第2の符号化パラメータを抽出する抽出ステップと、
    前記抽出ステップの処理により抽出された前記第1の符号化パラメータまたは前記第2の符号化パラメータを選択する選択ステップと、
    前記選択ステップの処理により選択された前記第1の符号化パラメータまたは前記第2の符号化パラメータを利用して、入力された前記信号を符号化して符号化ストリームを生成する符号化ステップと
    を含むことを特徴とする符号化方法。
  10. 入力された信号を符号化して、符号化ストリームを生成する符号化装置用のプログラムであって、
    ピクチャ層以上の符号化パラメータである第1の符号化パラメータが垂直ブランキング領域に挿入され、スライス層以下の前記符号化パラメータである第2の符号化パラメータが水平ブランキング領域に挿入された前記信号から前記第1の符号化パラメータまたは前記第2の符号化パラメータを抽出する抽出ステップと、
    前記抽出ステップの処理により抽出された前記第1の符号化パラメータまたは前記第2の符号化パラメータを選択する選択ステップと、
    前記選択ステップの処理により選択された前記第1の符号化パラメータまたは前記第2の符号化パラメータを利用して、入力された前記信号を符号化して符号化ストリームを生成する符号化ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  11. 入力された第1の符号化ストリームから第2の符号化ストリームを生成する情報処理装置において、
    入力された前記第1の符号化ストリームを復号して出力信号を生成する復号手段と、
    前記復号手段により復号された前記出力信号を符号化して、前記第2の符号化ストリームを生成する符号化手段と
    を備え、
    前記復号手段は、
    入力された前記第1の符号化ストリームに記述されている符号化パラメータを抽出する第1の抽出手段と、
    前記第1の抽出手段により抽出された前記符号化パラメータを、ピクチャ層以上の前記符号化パラメータである第1の符号化パラメータとスライス層以下の前記符号化パラメータである第2の符号化パラメータに分離する分離手段と、
    前記分離手段により分離された前記第1の符号化パラメータおよび前記第2の符号化パラメータを、所定の形式のデータに変換する変換手段と、
    前記変換手段により変換された前記第1の符号化パラメータを、前記復号手段により復号された前記出力信号の垂直ブランキング領域に挿入するとともに、前記変換手段により変換された前記第2の符号化パラメータを、前記復号手段により復号された前記出力信号の水平ブランキング領域に挿入する挿入手段とを備え、
    前記第1の抽出手段により抽出された前記符号化パラメータを用いて前記第1の符号化ストリームを復号し、
    前記符号化手段は、
    前記復号手段より復号された前記出力信号の前記垂直ブランキング領域に挿入されている前記第1の符号化パラメータまたは前記水平ブランキング領域に挿入されている前記第2の符号化パラメータを抽出する第2の抽出手段と、
    前記第2の抽出手段により抽出された前記第1の符号化パラメータまたは前記第2の符号化パラメータを選択する選択手段とを備え、
    前記選択手段により選択された前記第1の符号化パラメータまたは前記第2の符号化パラメータを利用して、前記復号手段より復号された前記出力信号を符号化して、前記第2の符号化ストリームを生成する
    ことを特徴とする情報処理装置。
  12. 前記所定の形式のデータは、アンシラリパケット形式である
    ことを特徴とする請求項11に記載の情報処理装置。
  13. 前記復号手段は、前記符号化手段に出力する信号のパケットの先頭に同期符号を付加する同期符号付加手段
    を更に備えることを特徴とする請求項11に記載の情報処理装置。
  14. 入力された第1の符号化ストリームから第2の符号化ストリームを生成して出力する情報処理装置の情報処理方法において、
    入力された前記第1の符号化ストリームを復号して出力信号を生成する復号ステップと、
    前記復号ステップの処理により復号された前記出力信号を符号化して、前記第2の符号化ストリームを生成する符号化ステップと
    を含み、
    前記復号ステップは、
    入力された前記第1の符号化ストリームに記述されている符号化パラメータを抽出する第1の抽出ステップと、
    前記第1の抽出ステップの処理により抽出された前記符号化パラメータを、ピクチャ層以上の前記符号化パラメータである第1の符号化パラメータとスライス層以下の前記符号化パラメータである第2の符号化パラメータに分離する分離ステップと、
    前記分離ステップの処理により分離された前記第1の符号化パラメータおよび前記第2の符号化パラメータを、所定の形式のデータに変換する変換ステップと、
    前記変換ステップの処理により変換された前記第1の符号化パラメータを、前記復号ステップの処理により復号された前記出力信号の垂直ブランキング領域に挿入するとともに、前記変換ステップの処理により変換された前記第2の符号化パラメータを、前記復号 ステップの処理により復号された前記出力信号の水平ブランキング領域に挿入する挿入ステップとを含み、
    前記復号ステップの処理では、前記第1の抽出ステップの処理により抽出された前記符号化パラメータを用いて前記第1の符号化ストリームを復号し、
    前記符号化ステップは、
    前記復号ステップの処理により復号された前記出力信号の前記垂直ブランキング領域に挿入されている前記第1の符号化パラメータまたは前記水平ブランキング領域に挿入されている前記第2の符号化パラメータを抽出する第2の抽出ステップと、
    前記第2の抽出ステップの処理により抽出された前記第1の符号化パラメータまたは前記第2の符号化パラメータを選択する選択ステップとを含み、
    前記符号化ステップの処理では、前記選択ステップの処理により選択された前記第1の符号化パラメータまたは前記第2の符号化パラメータを利用して、前記復号ステップの処理により復号された前記出力信号を符号化して、前記第2の符号化ストリームを生成する
    ことを特徴とする情報処理方法。
  15. 入力された第1の符号化ストリームから第2の符号化ストリームを生成する情報処理装置用のプログラムであって、
    入力された前記第1の符号化ストリームを復号して出力信号を生成する復号ステップと、
    前記復号ステップの処理により復号された前記出力信号を符号化して、前記第2の符号化ストリームを生成する符号化ステップと
    を含み、
    前記復号ステップは、
    入力された前記第1の符号化ストリームに記述されている符号化パラメータを抽出する第1の抽出ステップと、
    前記第1の抽出ステップの処理により抽出された前記符号化パラメータを、ピクチャ層以上の前記符号化パラメータである第1の符号化パラメータとスライス層以下の前記符号化パラメータである第2の符号化パラメータに分離する分離ステップと、
    前記分離ステップの処理により分離された前記第1の符号化パラメータおよび前記第2の符号化パラメータを、所定の形式のデータに変換する変換ステップと、
    前記変換ステップの処理により変換された前記第1の符号化パラメータを前記復号ステップの処理により復号された前記出力信号の垂直ブランキング領域に挿入するとともに、前記変換ステップの処理により変換された前記第2の符号化パラメータを、前記復号ステップの処理により復号された前記出力信号の水平ブランキング領域に挿入する挿入ステップとを含み、
    前記復号ステップの処理では、前記第1の抽出ステップの処理により抽出された前記符号化パラメータを用いて前記第1の符号化ストリームを復号し、
    前記符号化ステップは、
    前記復号ステップの処理により復号された前記出力信号の前記垂直ブランキング領域に挿入されている前記第1の符号化パラメータまたは前記水平ブランキング領域に挿入されている前記第2の符号化パラメータを抽出する第2の抽出ステップと、
    前記第2の抽出ステップの処理により抽出された前記第1の符号化パラメータまたは前記第2の符号化パラメータを選択する選択ステップとを含み、
    前記符号化ステップの処理では、前記選択ステップの処理により選択された前記第1の符号化パラメータまたは前記第2の符号化パラメータを利用して、前記復号ステップの処理により復号された前記出力信号を符号化して、前記第2の符号化ストリームを生成する
    ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている
    記録媒体。
JP34494099A 1999-12-03 1999-12-03 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体 Expired - Fee Related JP3694888B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP34494099A JP3694888B2 (ja) 1999-12-03 1999-12-03 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体
EP20070003528 EP1793618B1 (en) 1999-12-03 2000-11-30 Information processing apparatus, information processing method and recording medium
EP20000310636 EP1111932A3 (en) 1999-12-03 2000-11-30 Information processing apparatus, information processing method and recording medium
US09/727,347 US6556627B2 (en) 1999-12-03 2000-11-30 Information processing apparatus, information processing method and recording medium
US10/371,897 US7126993B2 (en) 1999-12-03 2003-02-20 Information processing apparatus, information processing method and recording medium
US11/510,995 US8170118B2 (en) 1999-12-03 2006-08-28 Information processing apparatus, information processing method and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34494099A JP3694888B2 (ja) 1999-12-03 1999-12-03 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005143082A Division JP2005304065A (ja) 2005-05-16 2005-05-16 復号装置および復号方法、符号化装置および符号化方法、情報処理装置および情報処理方法、並びに、記録媒体

Publications (2)

Publication Number Publication Date
JP2001169292A JP2001169292A (ja) 2001-06-22
JP3694888B2 true JP3694888B2 (ja) 2005-09-14

Family

ID=18373191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34494099A Expired - Fee Related JP3694888B2 (ja) 1999-12-03 1999-12-03 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体

Country Status (3)

Country Link
US (3) US6556627B2 (ja)
EP (2) EP1111932A3 (ja)
JP (1) JP3694888B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606124B2 (en) 2003-05-14 2009-10-20 Sony Corporation Image processing device and image processing method, information processing device and information processing method, information recording device and information recording method, information reproducing device and information reproducing method, storage medium, and program
US7680187B2 (en) 1999-02-09 2010-03-16 Sony Corporation Coding system and method, encoding device and method, decoding device and method, recording device and method, and reproducing device and method
USRE43238E1 (en) 1994-03-29 2012-03-13 Sony Corporation Picture signal transmitting method and apparatus
US8170118B2 (en) 1999-12-03 2012-05-01 Sony Corporation Information processing apparatus, information processing method and recording medium
US8638849B2 (en) 1998-03-10 2014-01-28 Sony Corporation Transcoding system using encoding history information
CN103748628A (zh) * 2012-07-02 2014-04-23 索尼公司 解码装置和方法、编码装置和方法、以及程序

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6819395B2 (en) * 2002-08-30 2004-11-16 Texas Instruments Incorporated Digital cinema transport stream with embedded projector configuration data
FR2809573B1 (fr) * 2000-05-26 2002-08-16 Thomson Broadcast Systems Procede de codage d'un flux d'images video
JP4690635B2 (ja) 2000-08-15 2011-06-01 マイクロソフト コーポレーション メディアサンプルをタイムコーディングする方法、システム、およびデータ構造
US20020089602A1 (en) 2000-10-18 2002-07-11 Sullivan Gary J. Compressed timing indicators for media samples
JP3632591B2 (ja) * 2000-11-13 2005-03-23 日本電気株式会社 画像処理装置、方法及びコンピュータ読み取り可能な記録媒体
US7392191B2 (en) * 2001-03-29 2008-06-24 Intellisist, Inc. Method and device to distinguish between voice conversation and automated speech recognition
US7409094B2 (en) * 2001-05-04 2008-08-05 Hewlett-Packard Development Company, L.P. Methods and systems for packetizing encoded data
US7076478B2 (en) * 2001-06-26 2006-07-11 Microsoft Corporation Wrapper playlists on streaming media services
US6990497B2 (en) 2001-06-26 2006-01-24 Microsoft Corporation Dynamic streaming media management
US6986018B2 (en) * 2001-06-26 2006-01-10 Microsoft Corporation Method and apparatus for selecting cache and proxy policy
US7804899B1 (en) * 2001-07-13 2010-09-28 Cisco Systems Canada Co. System and method for improving transrating of MPEG-2 video
US20040105453A1 (en) * 2001-08-14 2004-06-03 Shpak Dale John Capacity re-use in data communication networks
CN101409838B (zh) * 2001-09-14 2011-01-12 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置、图象处理系统
EP2819411B1 (en) * 2001-09-14 2018-08-29 NTT DoCoMo, Inc. Coding method and decoding method
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
EP1345450A3 (en) * 2002-01-16 2005-04-20 Matsushita Electric Industrial Co., Ltd. Image coding apparatus, image coding method, and image coding program
US7149247B2 (en) 2002-01-22 2006-12-12 Microsoft Corporation Methods and systems for encoding and decoding video data to enable random access and splicing
ATE352171T1 (de) 2002-01-22 2007-02-15 Microsoft Corp Verfahren zum ermöglichen von direktzugriff und spleissen in einem verschlüsselten videostrom
US7425986B2 (en) 2002-03-29 2008-09-16 Canon Kabushiki Kaisha Conversion apparatus for image data delivery
JP2004007563A (ja) * 2002-04-19 2004-01-08 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
TWI310137B (en) 2002-04-19 2009-05-21 Microsoft Corp Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
MXPA05000558A (es) * 2002-07-16 2005-04-19 Nokia Corp Metodo de acceso aleatorio y renovacion gradual de imagen en codificacion de video.
JP3938019B2 (ja) * 2002-11-22 2007-06-27 キヤノン株式会社 記録装置及び記録方法
US8204353B2 (en) * 2002-11-27 2012-06-19 The Nielsen Company (Us), Llc Apparatus and methods for tracking and analyzing digital recording device event sequences
JP3885021B2 (ja) * 2002-12-13 2007-02-21 キヤノン株式会社 撮像装置
FR2850826B1 (fr) * 2003-02-04 2005-04-01 Medialive Procede et dispositif de protection pour la diffusion securisee d'oeuvres audiovisuelles
US7657111B2 (en) * 2003-02-14 2010-02-02 Fujifilm Corporation Apparatus and program for image processing for obtaining processed compressed moving image data
JP2005004866A (ja) * 2003-06-11 2005-01-06 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP4120934B2 (ja) * 2003-06-16 2008-07-16 ソニー株式会社 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
US7091980B2 (en) * 2003-08-28 2006-08-15 Evans & Sutherland Computer Corporation System and method for communicating digital display data and auxiliary processing data within a computer graphics system
US8107531B2 (en) * 2003-09-07 2012-01-31 Microsoft Corporation Signaling and repeat padding for skip frames
US7924921B2 (en) 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US8213779B2 (en) 2003-09-07 2012-07-03 Microsoft Corporation Trick mode elementary stream and receiver system
US7852919B2 (en) 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7609762B2 (en) 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7961786B2 (en) * 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US7839930B2 (en) 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
JP4232588B2 (ja) * 2003-09-19 2009-03-04 ソニー株式会社 画像処理装置および画像処理方法、並びに、プログラム
JP4470431B2 (ja) * 2003-10-01 2010-06-02 ソニー株式会社 データ処理装置およびその方法
TWI225363B (en) * 2003-11-10 2004-12-11 Mediatek Inc Method and apparatus for controlling quantization level of a video encoding bit stream
TWI262660B (en) * 2003-11-19 2006-09-21 Inst Information Industry Video transcoder adaptively reducing frame rate
JP4931034B2 (ja) * 2004-06-10 2012-05-16 株式会社ソニー・コンピュータエンタテインメント 復号装置および復号方法、並びに、プログラムおよびプログラム記録媒体
WO2006014495A1 (en) 2004-07-02 2006-02-09 Nielsen Media Research, Inc. Methods and apparatus for identifying viewing information associated with a digital media device
US9532069B2 (en) 2004-07-30 2016-12-27 Euclid Discoveries, Llc Video compression repository and model reuse
US8902971B2 (en) 2004-07-30 2014-12-02 Euclid Discoveries, Llc Video compression repository and model reuse
US9743078B2 (en) 2004-07-30 2017-08-22 Euclid Discoveries, Llc Standards-compliant model-based video encoding and decoding
US9578345B2 (en) 2005-03-31 2017-02-21 Euclid Discoveries, Llc Model-based video encoding and decoding
WO2008091483A2 (en) * 2007-01-23 2008-07-31 Euclid Discoveries, Llc Computer method and apparatus for processing image data
US7916782B2 (en) 2004-08-18 2011-03-29 Panasonic Corporation Picture coding method, picture decoding method, picture coding apparatus, picture decoding apparatus, and program thereof
TWI248762B (en) * 2004-11-10 2006-02-01 Realtek Semiconductor Corp Video processing device and method thereof
JP4466378B2 (ja) * 2005-01-11 2010-05-26 株式会社ニコン 履歴付加装置、電子カメラ、および画像処理プログラム
JP4455357B2 (ja) * 2005-01-28 2010-04-21 キヤノン株式会社 情報処理装置及び情報処理方法
TWI296400B (en) * 2005-02-18 2008-05-01 Au Optronics Corp Video processing chip capable of adjusting aspect ratio and method of displaying an image thereby
US20060222251A1 (en) * 2005-04-01 2006-10-05 Bo Zhang Method and system for frame/field coding
US7868847B2 (en) * 2005-05-24 2011-01-11 Mark W Miles Immersive environments with multiple points of view
JP2008011026A (ja) * 2006-06-28 2008-01-17 Fujitsu Ltd 送信装置、受信装置、及び通信方法
JP4997243B2 (ja) * 2006-08-08 2012-08-08 パナソニック株式会社 画像符号化装置、その方法およびその集積回路
JP2008099027A (ja) * 2006-10-12 2008-04-24 Canon Inc 信号処理装置、撮像装置、及び信号処理方法
US7891818B2 (en) 2006-12-12 2011-02-22 Evans & Sutherland Computer Corporation System and method for aligning RGB light in a single modulator projector
US8243118B2 (en) 2007-01-23 2012-08-14 Euclid Discoveries, Llc Systems and methods for providing personal video services
EP2106663A2 (en) 2007-01-23 2009-10-07 Euclid Discoveries, LLC Object archival systems and methods
US8509590B2 (en) 2007-05-28 2013-08-13 Panasonic Corporation Metadata recording device and method thereof
TWI521939B (zh) * 2008-02-27 2016-02-11 恩康普丁公司 用於低頻寬顯示資訊傳輸之系統及方法
KR101421256B1 (ko) 2008-03-20 2014-07-18 삼성전자주식회사 휴대용 단말기의 대역 확장 기법을 이용한 부호화 장치 및방법
EP2255534B1 (en) * 2008-03-20 2017-12-20 Samsung Electronics Co., Ltd. Apparatus and method for encoding using bandwidth extension in portable terminal
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8767838B1 (en) * 2008-09-05 2014-07-01 Zenverge, Inc. Cascading multiple video transcoders in a video processing system
US9083976B2 (en) 2008-09-05 2015-07-14 Freescale Semiconductor, Inc. Processing a video stream in real time based on binary information of the video stream
EP2345256B1 (en) 2008-10-07 2018-03-14 Euclid Discoveries, LLC Feature-based video compression
KR101590633B1 (ko) 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
KR20100061908A (ko) * 2008-12-01 2010-06-10 엘지전자 주식회사 영상표시장치, 영상전송장치, 영상전송방법 및 기록매체
US8723891B2 (en) * 2009-02-27 2014-05-13 Ncomputing Inc. System and method for efficiently processing digital video
JP5336945B2 (ja) * 2009-06-29 2013-11-06 ルネサスエレクトロニクス株式会社 画像処理装置
US9042444B2 (en) * 2010-07-15 2015-05-26 Dejero Labs Inc. System and method for transmission of data signals over a wireless network
US8942215B2 (en) 2010-07-15 2015-01-27 Dejero Labs Inc. System and method for transmission of data from a wireless mobile device over a multipath wireless router
US9756468B2 (en) 2009-07-08 2017-09-05 Dejero Labs Inc. System and method for providing data services on vehicles
US10165286B2 (en) 2009-07-08 2018-12-25 Dejero Labs Inc. System and method for automatic encoder adjustment based on transport data
US10117055B2 (en) 2009-07-08 2018-10-30 Dejero Labs Inc. System and method for providing data services on vehicles
US9565439B2 (en) * 2009-10-15 2017-02-07 Nbcuniversal Media, Llc System and method for enhancing data compression using dynamic learning and control
US8755444B2 (en) * 2010-08-06 2014-06-17 Qualcomm Incorporated Two-stage entropy decoding
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US8907987B2 (en) 2010-10-20 2014-12-09 Ncomputing Inc. System and method for downsizing video data for memory bandwidth optimization
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
RU2648945C2 (ru) 2012-07-02 2018-03-28 Сони Корпорейшн Декодирующее устройство, способ декодирования, кодирующее устройство, способ кодирования и программа
TWI517142B (zh) 2012-07-02 2016-01-11 Sony Corp Audio decoding apparatus and method, audio coding apparatus and method, and program
BR112014004128A2 (pt) 2012-07-02 2017-03-21 Sony Corp dispositivo e método de decodificação, dispositivo e método de codificação, e, programa
US9344720B2 (en) * 2012-08-07 2016-05-17 Apple Inc. Entropy coding techniques and protocol to support parallel processing with low latency
US20140078400A1 (en) * 2012-09-20 2014-03-20 General Instrument Corporation Low complexity synchronous control of video processing using video information in in-band portions of video
US20160007050A1 (en) * 2013-03-07 2016-01-07 Telefonaktiebolaget L M Ericsson (Publ) Video transcoding
US20140269920A1 (en) * 2013-03-15 2014-09-18 Cisco Technology, Inc. Motion Estimation Guidance in Transcoding Operation
JP2015005835A (ja) * 2013-06-19 2015-01-08 シャープ株式会社 画像処理装置、画像形成装置及び記録媒体
US10097851B2 (en) 2014-03-10 2018-10-09 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US10091507B2 (en) 2014-03-10 2018-10-02 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US9621917B2 (en) 2014-03-10 2017-04-11 Euclid Discoveries, Llc Continuous block tracking for temporal prediction in video encoding
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
KR101739822B1 (ko) * 2015-12-07 2017-05-25 (주)넥스트칩 아날로그 영상 신호 압축 방법 및 장치
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
JP6786324B2 (ja) * 2016-09-20 2020-11-18 株式会社東芝 多重化装置及び多重化方法
US10685021B2 (en) * 2017-10-24 2020-06-16 Oracle International Corporation Complete, correct and fast compile-time encoding inference on the basis of an underlying type system
CN113810645B (zh) * 2021-11-16 2022-02-08 北京数字小鸟科技有限公司 视频消隐区自定义数据的传输系统、方法和设备

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4941040A (en) * 1985-04-29 1990-07-10 Cableshare, Inc. Cable television system selectively distributing pre-recorded video and audio messages
US5187755A (en) 1988-06-30 1993-02-16 Dainippon Screen Mfg. Co., Ltd. Method of and apparatus for compressing image data
DE69122595T2 (de) 1990-12-27 1997-03-20 Toshiba Kawasaki Kk Aufzeichnungs- und Abspielgerät
US5260783A (en) * 1991-02-21 1993-11-09 Gte Laboratories Incorporated Layered DCT video coder for packet switched ATM networks
US5148272A (en) * 1991-02-27 1992-09-15 Rca Thomson Licensing Corporation Apparatus for recombining prioritized video data
US5227878A (en) * 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US5497187A (en) * 1991-11-29 1996-03-05 Scientific-Atlanta, Inc. In-band/out-of-band data transmission method and apparatus for a television system
US5831668A (en) 1992-02-25 1998-11-03 Imatran Voima Oy Assembly for combustion chamber monitoring camera
JP3196906B2 (ja) 1992-08-21 2001-08-06 富士ゼロックス株式会社 画像信号の符号化装置
JP3163830B2 (ja) 1993-03-29 2001-05-08 ソニー株式会社 画像信号伝送方法及び装置
TW301098B (ja) * 1993-03-31 1997-03-21 Sony Co Ltd
JPH06292019A (ja) * 1993-04-02 1994-10-18 Fujitsu Ltd 画像データ圧縮装置と画像符号圧縮装置
JP3085024B2 (ja) * 1993-06-01 2000-09-04 松下電器産業株式会社 画像再圧縮器及び画像記録装置
NL9301358A (nl) 1993-08-04 1995-03-01 Nederland Ptt Transcodeerinrichting.
JP3081425B2 (ja) 1993-09-29 2000-08-28 シャープ株式会社 映像符号化装置
EP0656729B1 (en) * 1993-12-01 2000-02-09 Matsushita Electric Industrial Co., Ltd. Method and apparatus for editing or mixing compressed pictures
US6870886B2 (en) * 1993-12-15 2005-03-22 Koninklijke Philips Electronics N.V. Method and apparatus for transcoding a digitally compressed high definition television bitstream to a standard definition television bitstream
US5754235A (en) * 1994-03-25 1998-05-19 Sanyo Electric Co., Ltd. Bit-rate conversion circuit for a compressed motion video bitstream
US5715009A (en) 1994-03-29 1998-02-03 Sony Corporation Picture signal transmitting method and apparatus
US5541852A (en) * 1994-04-14 1996-07-30 Motorola, Inc. Device, method and system for variable bit-rate packet video communications
JPH07288804A (ja) 1994-04-18 1995-10-31 Kokusai Denshin Denwa Co Ltd <Kdd> 画像信号の再符号化装置
US5940130A (en) 1994-04-21 1999-08-17 British Telecommunications Public Limited Company Video transcoder with by-pass transfer of extracted motion compensation data
DE4416967A1 (de) * 1994-05-13 1995-11-16 Thomson Brandt Gmbh Verfahren und Vorrichtung zur Transcodierung von Bitströmen mit Videodaten
EP0845908B1 (en) 1994-06-17 2003-02-05 Snell &amp; Wilcox Limited Compressing a signal combined from compression encoded video signals after partial decoding thereof
GB9413001D0 (en) * 1994-06-28 1994-08-17 Ntl Methods for the synchronisation of successive digital video compression/decompression systems
DE69522861T2 (de) * 1994-06-30 2002-04-11 Koninkl Philips Electronics Nv Verfahren und Einrichtung zur Codeumwandlung von codiertem Datenstrom
US5512953A (en) * 1994-08-09 1996-04-30 At&T Corp. Method and apparatus for conversion of compressed bit stream representation of video signal
JPH0865663A (ja) 1994-08-19 1996-03-08 Canon Inc ディジタル画像情報処理装置
JP3629728B2 (ja) * 1994-08-31 2005-03-16 ソニー株式会社 動画像信号符号化方法、動画像信号符号化装置及び動画像信号記録媒体
JP3623989B2 (ja) 1994-09-22 2005-02-23 キヤノン株式会社 画像変換方法及び装置
JP3293369B2 (ja) 1994-10-12 2002-06-17 ケイディーディーアイ株式会社 画像情報の再符号化方法及び装置
US5814194A (en) * 1994-10-20 1998-09-29 Matsushita Electric Industrial Co., Ltd Substrate surface treatment method
JP3058028B2 (ja) 1994-10-31 2000-07-04 三菱電機株式会社 画像符号化データ再符号化装置
US5889561A (en) * 1994-11-04 1999-03-30 Rca Thomson Licensing Corporation Method and apparatus for scaling a compressed video bitstream
US6583825B1 (en) * 1994-11-07 2003-06-24 Index Systems, Inc. Method and apparatus for transmitting and downloading setup information
GB9501736D0 (en) 1995-01-30 1995-03-22 Snell & Wilcox Ltd Video signal processing
AU703049B2 (en) * 1995-02-15 1999-03-11 Koninklijke Philips Electronics N.V. Method and device for transcoding video signals
JPH08298649A (ja) * 1995-04-27 1996-11-12 Oki Electric Ind Co Ltd 映像符号化・復号化システム、映像符号化装置及び映像復号化装置
GB2301970B (en) 1995-06-06 2000-03-01 Sony Uk Ltd Motion compensated video processing
CA2260961C (en) 1996-07-15 2009-04-28 Snell & Wilcox Limited Video signal compression process augmented with information signal
JPH1032830A (ja) 1996-07-16 1998-02-03 Kokusai Denshin Denwa Co Ltd <Kdd> 画像情報の再符号化方法及び装置
JP3956323B2 (ja) 1996-07-16 2007-08-08 Kddi株式会社 画像情報の再符号化方法及び装置
US6856650B1 (en) * 1996-07-16 2005-02-15 Kokusai Denshin Denwa Co., Ltd. Method and apparatus for second or later generation coding of video signal
JPH1051766A (ja) * 1996-08-05 1998-02-20 Mitsubishi Electric Corp 画像符号化データ変換装置
JP3623056B2 (ja) * 1996-09-10 2005-02-23 ソニー株式会社 動画像圧縮装置
GB2318246B (en) * 1996-10-09 2000-11-15 Sony Uk Ltd Processing digitally encoded signals
GB2318472B (en) * 1996-10-09 2000-11-15 Sony Uk Ltd Processing encoded signals
KR100599017B1 (ko) * 1996-12-12 2006-12-13 소니 가부시끼 가이샤 영상 데이터 압축 장치 및 그 방법
US5870146A (en) * 1997-01-21 1999-02-09 Multilink, Incorporated Device and method for digital video transcoding
AU7566898A (en) 1997-05-09 1998-11-27 Neomedia Technologies, Inc. Method for embedding links to a networked resource in a transmission medium
US5907374A (en) 1997-06-30 1999-05-25 Hewlett-Packard Company Method and apparatus for processing a compressed input bitstream representing an information signal
US6012091A (en) * 1997-06-30 2000-01-04 At&T Corporation Video telecommunications server and method of providing video fast forward and reverse
US6100940A (en) * 1998-01-21 2000-08-08 Sarnoff Corporation Apparatus and method for using side information to improve a coding system
GB2333656B (en) * 1998-01-22 2002-08-14 British Broadcasting Corp Compressed signals
US6574274B2 (en) * 1998-02-27 2003-06-03 Sony Corporation Picture signal processing system, decoder, picture signal processing method, and decoding method
CA2265089C (en) * 1998-03-10 2007-07-10 Sony Corporation Transcoding system using encoding history information
JP3724204B2 (ja) 1998-03-10 2005-12-07 ソニー株式会社 符号化装置および方法、並びに記録媒体
CN1175671C (zh) * 1998-04-30 2004-11-10 皇家菲利浦电子有限公司 对数据流进行代码转换的代码转换器和方法
US6167084A (en) * 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
JP2000209425A (ja) * 1998-11-09 2000-07-28 Canon Inc 画像処理装置及び方法並びに記憶媒体
KR100571307B1 (ko) * 1999-02-09 2006-04-17 소니 가부시끼 가이샤 코딩 시스템 및 방법, 부호화 장치 및 방법, 복호화 장치및 방법, 기록 장치 및 방법, 및 재생 장치 및 방법
JP4295861B2 (ja) 1999-05-31 2009-07-15 株式会社東芝 トランスコーダ装置
KR100357093B1 (ko) * 1999-06-02 2002-10-18 엘지전자 주식회사 동영상 압축 복원시스템에서의 오류 은폐장치 및 방법
GB9920929D0 (en) * 1999-09-03 1999-11-10 Sony Uk Ltd Video signal processor
JP3694888B2 (ja) * 1999-12-03 2005-09-14 ソニー株式会社 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体
US6836658B1 (en) * 2000-03-03 2004-12-28 Ems Technologies, Inc. High data rate satellite communications system and method
US6369722B1 (en) * 2000-03-17 2002-04-09 Matra Nortel Communications Coding, decoding and transcoding methods
FR2809573B1 (fr) 2000-05-26 2002-08-16 Thomson Broadcast Systems Procede de codage d'un flux d'images video
US20020016755A1 (en) * 2000-07-17 2002-02-07 Pearce Kenneth F. Method of establishing a commercial relationship between a service provider and a potential customer of the service, including a reasoning criterion, and method of face-to-face advertising in a public place
JP3632591B2 (ja) * 2000-11-13 2005-03-23 日本電気株式会社 画像処理装置、方法及びコンピュータ読み取り可能な記録媒体
US8782254B2 (en) * 2001-06-28 2014-07-15 Oracle America, Inc. Differentiated quality of service context assignment and propagation
EP1292153B1 (en) * 2001-08-29 2015-08-19 Canon Kabushiki Kaisha Image processing method and apparatus, computer program, and storage medium
US6543176B1 (en) * 2001-10-01 2003-04-08 Mcghghy Hugh Decoy anchor system and method of use
JP2005304065A (ja) 2005-05-16 2005-10-27 Sony Corp 復号装置および復号方法、符号化装置および符号化方法、情報処理装置および情報処理方法、並びに、記録媒体

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE43238E1 (en) 1994-03-29 2012-03-13 Sony Corporation Picture signal transmitting method and apparatus
US8638849B2 (en) 1998-03-10 2014-01-28 Sony Corporation Transcoding system using encoding history information
US8687690B2 (en) 1998-03-10 2014-04-01 Sony Corporation Transcoding system using encoding history information
US7680187B2 (en) 1999-02-09 2010-03-16 Sony Corporation Coding system and method, encoding device and method, decoding device and method, recording device and method, and reproducing device and method
US8681868B2 (en) 1999-02-09 2014-03-25 Sony Corporation Coding system and method, encoding device and method, decoding device and method, recording device and method, and reproducing device and method
US8170118B2 (en) 1999-12-03 2012-05-01 Sony Corporation Information processing apparatus, information processing method and recording medium
US7606124B2 (en) 2003-05-14 2009-10-20 Sony Corporation Image processing device and image processing method, information processing device and information processing method, information recording device and information recording method, information reproducing device and information reproducing method, storage medium, and program
US7859956B2 (en) 2003-05-14 2010-12-28 Sony Corporation Image processing device and image processing method, information processing device and information processing method, information recording device and information recording method, information reproducing device and information reproducing method, storage medium, and program
CN103748628A (zh) * 2012-07-02 2014-04-23 索尼公司 解码装置和方法、编码装置和方法、以及程序
CN103748628B (zh) * 2012-07-02 2017-12-22 索尼公司 解码装置和方法以及编码装置和方法

Also Published As

Publication number Publication date
US20060291570A1 (en) 2006-12-28
EP1793618B1 (en) 2013-02-13
EP1111932A3 (en) 2002-12-11
US7126993B2 (en) 2006-10-24
JP2001169292A (ja) 2001-06-22
EP1111932A2 (en) 2001-06-27
US20030128292A1 (en) 2003-07-10
EP1793618A3 (en) 2011-03-09
US20020059643A1 (en) 2002-05-16
US8170118B2 (en) 2012-05-01
EP1793618A8 (en) 2010-07-28
EP1793618A2 (en) 2007-06-06
US6556627B2 (en) 2003-04-29

Similar Documents

Publication Publication Date Title
JP3694888B2 (ja) 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体
JP3672185B2 (ja) コーディングシステム及びこれを用いた装置並びに記録媒体
KR100729541B1 (ko) 부호화 히스토리 정보를 이용하는 트랜스코딩 시스템
JP3724205B2 (ja) 復号装置および方法、並びに記録媒体
JP2005304065A (ja) 復号装置および復号方法、符号化装置および符号化方法、情報処理装置および情報処理方法、並びに、記録媒体
JP3874153B2 (ja) 再符号化装置および再符号化方法、符号化装置および符号化方法、復号装置および復号方法、並びに、記録媒体
JP3724204B2 (ja) 符号化装置および方法、並びに記録媒体
JP3724203B2 (ja) 符号化装置および方法、並びに記録媒体
JP3890838B2 (ja) 符号化ストリーム変換装置、および、符号化ストリーム変換方法、並びに、記録媒体
JP4139983B2 (ja) 符号化ストリーム変換装置、および、符号化ストリーム変換方法、並びに、ストリーム出力装置、および、ストリーム出力方法
JP4016290B2 (ja) ストリーム変換装置およびストリーム変換方法、符号化装置および符号化方法、並びに、記録媒体
JP4543321B2 (ja) 再生装置及び方法
JP4539637B2 (ja) ストリーム記録装置およびストリーム記録方法、ストリーム再生装置およびストリーム再生方法、ストリーム伝送装置およびストリーム伝送方法、並びに、プログラム格納媒体
JP4482811B2 (ja) 記録装置及び方法
JP3817951B2 (ja) ストリーム伝送装置および方法、並びに記録媒体
JP4478630B2 (ja) 復号装置および復号方法、プログラム、並びに記録媒体
JP4016294B2 (ja) 符号化装置および符号化方法、ストリーム変換装置およびストリーム変換方法、並びに記録媒体
JP3817952B2 (ja) 再符号化装置および方法、符号化装置および方法、並びに記録媒体
JP2007259492A (ja) 情報処理装置および方法
JP3724202B2 (ja) 画像データ処理装置および方法、並びに記録媒体
JP4016349B2 (ja) ストリーム変換装置およびストリーム変換方法、並びに、記録媒体
JP4016348B2 (ja) ストリーム変換装置およびストリーム変換方法、並びに、記録媒体
JP4016347B2 (ja) ストリーム変換装置およびストリーム変換方法、並びに、記録媒体
JP4016293B2 (ja) 符号化装置および符号化方法、並びに記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050619

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080708

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees