JP2005124091A - 復号装置及び復号方法 - Google Patents

復号装置及び復号方法 Download PDF

Info

Publication number
JP2005124091A
JP2005124091A JP2003359771A JP2003359771A JP2005124091A JP 2005124091 A JP2005124091 A JP 2005124091A JP 2003359771 A JP2003359771 A JP 2003359771A JP 2003359771 A JP2003359771 A JP 2003359771A JP 2005124091 A JP2005124091 A JP 2005124091A
Authority
JP
Japan
Prior art keywords
decoding
time
image
slice
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003359771A
Other languages
English (en)
Inventor
Masakazu Hattori
雅一 服部
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 JP2003359771A priority Critical patent/JP2005124091A/ja
Priority to US10/968,795 priority patent/US20050141620A1/en
Publication of JP2005124091A publication Critical patent/JP2005124091A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal 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/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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment

Abstract

【課題】 例えば4:2:2P@HLに対応したビデオデコーダを有効に実現する。
【解決手段】 ピクチャ間処理制御部113は、フレームバッファ130内のどの画像を参照画として使用するかの情報をデコード処理部120に知らせる。また、デコードを開始したことを、時間管理部112に知らせる。さらにスライス間処理制御部114が、デコード処理をそのまま続行するか、簡易デコードで続けるか、中止するかを判断する。また、スライス間処理制御部114からピクチャ間処理制御部113にそれを通知する。時間管理部112は、デコード開始タイミング(フレーム同期信号)の生成、及びデコード開始以降の経過時間の計測を行う。そしてデコード開始タイミングになるとピクチャ間処理制御部113に通知する。また、スライス間処理制御部114からの要求に応じ、デコード開始以降の経過時間、次のフレーム同期信号が発生するまでの残り時間を知らせる。
【選択図】 図1

Description

本発明は、例えば4:2:2P@HLに対応したビデオデコーダに使用して好適な復号装置及び復号方法に関する。詳しくは、特に4:2:2P@HLに対応して、実現可能な回路規模で実時間動作が可能なビデオデコーダを実現することができるようにしたものである。
従来の4:2:2P@HLに対応したビデオデコーダでは、例えばスライスデコーダを採用して全体の処理時間の短縮を図っている(例えば、特許文献1参照。)。
しかしながら、上述の技術では、本願発明のように直接的に処理時間そのものを短縮することについては記載されていないものである。
特開2001−359107号公報
MPEG2(Moving Picture Coding Experts Group / Moving Picture Experts Group2)ビデオは、ISO/IEC(International Standards Organization / International ElectrotechnicalCommission)13818−2、およびITU−Tsp(International Telecommunication Union−Telecommunication sector)勧告H.262に規定されているビデオ信号の高能率符号化方式である。
MPEG2の符号化ストリームは、符号化の手法によって決まるプロファイルと、取り扱う画素数によって決まるレベルによってクラス分けされ、広範囲なアプリケーションに対応できるようになされている。例えば、MP@ML(メイン・プロファイル・メイン・レベル)は、そのクラスの1つであり、DVB(Digital Video Broadcast)や、DVD(Digital Versatile Disk)に広く実用化されている。プロファイルおよびレベルは、図10を用いて後述するsequence_extensionに記述される。
また、放送局におけるビデオ信号の制作には、ビデオの色差信号を、従来のベースバンドと同様の4:2:2方式で取り扱い、ビットレートの上限を増加した4:2:2P(4:2:2プロファイル)が規定されている。更に、次世代の高解像度ビデオ信号に対応するために、HL(ハイ・レベル)が規定されている。
図6に、MPEG2の代表的なクラスと、それぞれのクラスにおける、各種パラメータの上限値を示す。図6には、4:2:2P@HL(4:2:2プロファイル・ハイ・レベル)、4:2:2P@ML(4:2:2:プロファイル・メイン・レベル)、MP@HL(メイン・プロファイル・ハイ・レベル)、MP@HL‐1440(メイン・プロファイル・ハイ・レベル‐1440)、MP@ML(メイン・プロファイル・メイン・レベル)、MP@LL(メイン・プロファイル・ロー・レベル)、および、SP@ML(シンプル・プロファイル・メイン・レベル)について、ビットレート、1ラインあたりのサンプル数、1フレームあたりのライン数、フレーム周波数、およびサンプルの処理時間の上限値がそれぞれ示されている。
図6から、4:2:2P@HLのビットレートの上限値は、300(Mbit/sec)であり、処理する画素数の上限値は、62,668,800(samples/sec)である。一方、MP@MPのビットレートの上限値は、15(Mbit/sec)であり、処理する画素数の上限値は、10,368,000(samples/sec)である。すなわち、4:2:2P@HLをデコードするビデオデコーダは、MP@MLをデコードするビデオデコーダと比較して、ビットレートで20倍、処理する画素数で約6倍の処理能力が必要であることがわかる。
図7に、MPEG2ビデオビットストリームのレベル構造を示す。
最上位層であるピクチャ層の最初には、sequence_headerが記述されている。sequence_headerは、MPEGビットストリームのシーケンスのヘッダデータを定義するものである。シーケンス最初のsequence_headerに、sequence_extensionが続かない場合、このビットストリームには、ISO/IEC11172−2の規定が適応される。シーケンスの最初のsequence_headerに、sequence_extensionが続く場合、その後発生する全てのsequence_headerの直後には、sequence_extensionが続く。すなわち、図7に示す場合においては、全てのsequence_headerの直後に、sequence_extensionが続く。
sequence_extensionは、MPEGビットストリームのシーケンス層の拡張データを定義するものである。sequence_extensionは、sequence_headerの直後にのみ発生し、かつ、復号後、およびフレームリオーダリング後にフレームの損失がないようにするために、ビットストリームの最後に位置するsequence_end_codeの直前にきてはならない。また、ビットストリーム中に、sequence_extensionが発生した場合、それぞれのpicture_headerの直後にpicture_cording_extentionが続く。
GOP(group_of_picture)内には、複数の画像(picture)が含まれる。GOP_headerは、MPEGビットストリームのGOP層のヘッダデータを定義するものであり、更に、このビットストリーム中には、picture_headerとpicture_coding_extensionによって定義されたデータエレメントが記述されている。1枚の画像は、picture_headerおよびpicture_coding_extensionに続くpicture_dataとして符号化される。また、GOP_headerに続く最初の符号化フレームは、符号化されたIフレームである(すなわち、GOP_headerの最初の画像はIピクチャである)。ITU−T勧告H.262には、sequence_extensionおよびpicture_cording_extentionの他、各種の拡張が定義されているが、ここでは図示、および説明は省略する。
picture_headerは、MPEGビットストリームのピクチャ層のヘッダデータを定義するものであり、picture_coding_extensionは、MPEGビットストリームのピクチャ層の拡張データを定義するものである。
picture_dataは、MPEGビットストリームのスライス層およびマクロブロック層に関するデータエレメントを記述するものである。picture_dataは、図7に示されるように、複数のslice(スライス)に分割され、スライスは、複数のmacro_block(マクロブロック)に分割される。
macro_blockは、16×16の画素データで構成されている。スライスの最初のマクロブロックおよび最後のマクロブロックは、スキップマクロブロック(情報を含まないマクロブロック)ではない。マクロブロックは、16×16の画素データで構成されている。また、各ブロックは、8×8の画素データで構成されている。また、フレームDCT(Discrete Cosine Transform:離散コサイン変換)符号化およびフィールドDCT符号化の使用が可能なフレーム画像においては、フレーム符号化とフィールド符号化の場合で、マクロブロックの内部構成が相違する。
マクロブロックは、輝度成分および色差成分の1区画を含む。マクロブロックという用語は、情報源および復号データまたは対応する符号化データ成分のいずれかを示す。マクロブロックには、4:2:0、4:2:2および4:4:4の3つの色差フォーマットがある。マクロブロックにおけるブロックの順序は、それぞれの色差フォーマットによって異なる。
図8(A)に、4:2:0:方式の場合におけるマクロブロックを示す。4:2:0方式の場合、マクロブロックは、4個の輝度(Y)ブロックと、それぞれ1個の色差(Cb,Cr)ブロックで構成される。図8(B)に、4:2:2方式の場合におけるマクロブロックを示す。4:2:2方式の場合、マクロブロックは、4個の輝度(Y)ブロックと、それぞれ2個の色差(Cb,Cr)ブロックで構成される。
各マクロブロックは、いくつかの方法により、予測符号化処理が可能である。予測モードは、フィールド予測とフレーム予測の2種類に大別される。フィールド予測においては、先に復号された、1つ、もしくは複数のフィールドのデータを使用し、各フィールドについて、独自に予測を行う。フレーム予測は、先に復号された、1つ、もしくは複数のフレームを使用してフレームの予測を行う。フィールド画像内では、予測は全てフィールド予測である。一方、フレーム画像においては、フィールド予測、またはフレーム予測のいずれかにより予測が可能であり、その予測方法は、マクロブロックごとに選択される。また、マクロブロックの予測符号化処理においては、フィールド予測およびフレーム予測以外に、16×8動き補償およびデュアルプライムの2種類の特別予測モードを使用することができる。
動きベクトル情報、および他の周辺情報は、各マクロブロックの予測誤差信号とともに符号化される。動きベクトルの符号化については、可変長符号を使用して符号化された最後の動きベクトルを予測ベクトルとして、予測ベクトルとの差分ベクトルを符号化する。表示可能なベクトルの最大長は、画像毎にプログラムすることができる。また、適切な動きベクトルの計算は、符号器が行う。
そして、picture_dataの次には、sequence_headerとsequence_extensionが配置されている。このsequence_headerとsequence_extensionによって記述されたデータエレメントは、ビデオストリームのシーケンスの先頭に記述されたsequence_headerとsequence_extensionによって記述されたデータエレメントと全く同じである。このように同じデータをストリーム中に記述する理由は、ビットストリーム受信装置側でデータストリームの途中(例えばピクチャ層に対応するビットストリーム部分)から受信が開始された場合に、シーケンス層のデータを受信できなくなり、ストリームをデコード出来なくなることを防止するためである。
最後のsequence_headerとsequence_extensionとによって定義されたデータエレメントの次、つまり、データストリームの最後には、シーケンスの終わりを示す32ビットのsequence_end_codeが記述されている。
次に、図9乃至12を用いて、それぞれのデータエレメントの詳細について説明する。
図9に、sequence_headerのデータ構成を示す。sequence_headerに含められるデータエレメントは、sequence_header_code、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等から構成される。
sequence_header_codeは、シーケンス層のスタート同期コードを表すデータである。horizontal_size_valueは、画像の水平方向の画素数の下位12ビットからなるデータである。vertical_size_valueは、画像の縦のライン数の下位12ビットからなるデータである。aspect_ratio_informationは、画素のアスペクト比(縦横比)または表示画面アスペクト比を表すデータである。frame_rate_codeは、画像の表示周期を表すデータである。bit_rate_valueは、発生ビット量に対する制限のためのビットレートの下位18ビットのデータである。
そして、marker_bitは、スタートコードエミュレーションを防止するために挿入されるビットデータである。vbv_buffer_size_valueは、発生符号量制御用の仮想バッファVBV(Video Buffering Verifier)の大きさを決める値の下位10ビットデータである。constrained_parameter_flagは、各パラメータが制限以内であることを示すデータである。load_non_intra_quantiser_matrixは、非イントラMB用量子化マトリックス・データの存在を示すデータである。load_intra_quantiser_matrixは、イントラMB用量子化マトリックス・データの存在を示すデータである。intra_quantiser_matrixは、イントラMB用量子化マトリックスの値を示すデータである。non_intra_quantiser_matrixは、非イントラMB用量子化マトリックスの値を表すデータである。
図10に、sequence_extensionのデータ構成を示す。sequence_extensionは、 extension_start_code、extension_start_code_identifier、profile_and_level_indication、progressive_sequence、chroma_format、horizontal_size_extension、vertical_size_extension、bit_rate_extension、marker_bit、vbv_buffer_size_extension、low_delay、frame_rate_extension_n 、および frame_rate_extension_d等のデータエレメントから構成されている。
extension_start_codeは、エクステンションデータのスタート同期コードを表すデータである。extension_start_code_identifierは、どの拡張データが送られるかを示すデータである。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ビットのデータである。marker_bitは、スタートコードエミュレーションを防止するために挿入されるビットデータである。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と組み合わせてフレームレートを得るためのデータである。
図11に、GOP_headerのデータ構成を示す。GOP_headerを表わすデータエレメントは、group_start_code、time_code、closed_gop、およびbroken_linkから構成される。
group_start_codeは、GOP層の開始同期コードを示すデータである。time_codeは、GOPの先頭ピクチャの時間を示すタイムコードである。closed_gopは、GOP内の画像が他のGOPから独立再生可能なことを示すフラグデータである。broken_linkは、編集などのためにGOP内の先頭のBピクチャが正確に再生できないことを示すフラグデータである。
図12に、picture_headerのデータ構成を示す。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等から構成される。
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は、MPEG2では使用されない固定データである。
図13に、picture_coding_extensionのデータ構成を示す。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_pred_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等から構成される。
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係数の精度を表すデータである。ブロック内の各画素の輝度および色差信号を表した行列fに、DCTを施すと、8×8のDCT係数行列Fが得られる。この行列Fの左上隅の係数をDC係数と呼ぶ。DC係数はブロック内の平均輝度、平均色差を表わす信号である。picture_structureは、フレームストラクチャかフィールドストラクチャかを示すデータであり、フィールドストラクチャの場合は、上位フィールドか下位フィールドかもあわせて示すデータである。top_field_firstは、フレームストラクチャの場合、最初のフィールドが上位か下位かを示すデータである。frame_predictive_frame_dctは、フレームストラクチャの場合、フレーム・モードDCTの予測がフレーム・モードだけであることを示すデータである。concealment_motion_vectorsは、イントラマクロブロックに伝送エラーを隠蔽するための動きベクトルがついていることを示すデータである。
q_scale_typeは、線形量子化スケールを利用するか、非線形量子化スケールを利用するかを示すデータである。intra_vlc_formatは、イントラマクロブロックに、別の2次元VLC(Variable Length Cording)を使うか否かを示すデータである。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は、ソース信号がコンポジット信号の場合に使われるデータである。
図14に、picture_dataのデータ構成を示す。picture_data()関数によって定義されるデータエレメントは、slice()関数によって定義されるデータエレメントである。このslice()関数によって定義されるデータエレメントは、ビットストリーム中に少なくとも1個記述されている。
slice()関数は、図15に示されるように、slice_start_code、quantiser_scale_code、intra_slice_flag、intra_slice、reserved_bits、extra_bit_slice、およびextra_information_slice等のデータエレメントと、macroblock()関数によって定義される。
slice_start_codeは、slice()関数によって定義されるデータエレメントのスタートを示すスタートコードである。quantiser_scale_codeは、このスライス層に存在するマクロブロックに対して設定された量子化ステップサイズを示すデータであるが、マクロブロック毎に、quantiser_scale_codeが設定されている場合には、各マクロブロックに対して設定されたmacroblock_quantiser_scale_codeのデータが優先して使用される。
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」に設定される。
これらのデータエレメントの次には、macroblock()関数によって定義されたデータエレメントが記述されている。macroblock()関数は、図16に示すように、macroblock_escape、macroblock_address_increment、およびquantiser_scale_code、およびmarker_bit等のデータエレメントと、macroblock_modes()関数、motion_vectors(s)関数、およびcoded_block_pattern()関数によって定義されたデータエレメントを記述するための関数である。
macroblock_escapeは、参照マクロブロックと前のマクロブロックとの水平方向の差が34以上であるか否かを示す固定ビット列である。参照マクロブロックと前のマクロブロックとの水平方向の差が34以上の場合には、macroblock_address_incrementの値に33が加えられる。macroblock_address_incrementは、参照マクロブロックと前のマクロブロックとの水平方向の差を示すデータである。もし、macroblock_address_incrementの前にmacroblock_escapeが1つ存在するのであれば、このmacroblock_address_incrementの値に33を加えた値が、実際の参照マクロブロックと前のマクロブロックとの水平方向の差分を示すデータとなる。
quantiser_scale_codeは、各マクロブロックに設定された量子化ステップサイズを示すデータであり、macroblock_quantが「1」のときだけ存在する。各スライス層には、スライス層の量子化ステップサイズを示すslice_quantiser_scale_codeが設定されているが、参照マクロブロックに対してscale_codeが設定されている場合には、この量子化ステップサイズを選択する。
macroblock_address_incrementの次には、macroblock_modes()関数によって定義されるデータエレメントが記述されている。macroblock_modes()関数は、図17に示すように、macroblock_type、frame_motion_type、field_motion_type、dct_type等のデータエレメントを記述するための関数である。macroblock_typeは、マクログブロックの符号化タイプを示すデータである。
macroblock_motion_forward又はmacroblock_motion_backwardが「1」であり、ピクチャ構造がフレームであり、更にframe_pred_frame_dctが「0」である場合には、macroblock_typeを表わすデータエレメントの次にframe_motion_typeを表わすデータエレメントが記述されている。なお、このframe_pred_frame_dctは、 frame_motion_typeがビットストリーム中に存在するか否かを示すフラグである。
frame_motion_typeは、フレームのマクロブロックの予測タイプを示す2ビットのコードである。予測ベクトルが2個で、フィールドベースの予測タイプであれば、frame_motion_typeは「00」であり、予測ベクトルが1個で、フィールドベースの予測タイプであれば、frame_motion_typeは「01」であり、予測ベクトルが1個で、フレームベースの予測タイプであれば、frame_motion_typeは「10」であり、予測ベクトルが1個で、デュアルプライムの予測タイプであれば、frame_motion_typeは「11」である。
field_motion_typeは、フィールドのマクロブロックの動き予測を示す2ビットのコードである。予測ベクトルが1個でフィールドベースの予測タイプであれば「01」であって、予測ベクトルが2個で18×8マクロブロックベースの予測タイプであれば「10」であって、予測ベクトルが1個でデュアルプライムの予測タイプであれば「11」である。
ピクチャ構造がフレームであり、frame_pred_frame_dctが、そのビットストリーム中にframe_motion_typeが存在することを示し、frame_pred_frame_dctが、そのビットストリーム中にdct_typeが存在することを示している場合、macroblock_typeを表わすデータエレメントの次にはdct_typeを表わすデータエレメントが記述されている。なお、dct_typeは、DCTがフレームDCTモードか、フィールドDCTモードかを示すデータである。
MPEG2のストリームにおいて、以上説明したそれぞれのデータエレメントは、start codeと称される、特殊なビットパターンで開始される。これらのスタートコードは、別の状況では、ビデオストリーム中に現れない特定のビットパターンである。各スタートコードは、スタートコードプレフィクスと、それに続くスタートコード値から構成される。スタートコードプレフィクスは、ビット列“00000000 0000 0000 0000 0001”である。スタートコード値は、スタートコードのタイプを識別する8ビットの整数である。
図18に、MPEG2の各start codeの値を示す。多くのスタートコードは、1個のスタートコード値より示される。しかし、slice_start_codeは、01乃至AFの複数のスタートコード値により示され、このスタートコード値は、スライスに対する垂直位置を表わす。これらのスタートコードは、全てバイト単位であるため、スタートコードプレフィクスの最初のビットがバイトの最初のビットになるように、スタートコードプレフィクスの前に、複数のビット“0”が挿入され、スタートコードがバイト単位になるように調整される。
図19は、従来のMP@MLに対応したMPEGビデオデコーダの回路構成を示すブロック図である。
MPEGビデオデコーダは、ストリーム入力回路11、バッファ制御回路12、クロック発生回路13、スタートコード検出回路14、デコーダ15、動き補償回路16、および表示出力回路17から構成されるIC(integrated circuit)1と、ストリームバッファ21およびビデオバッファ22で構成され、例えば、DRAM(Dynamic Random Access Memory)からなるバッファ2により構成される。
IC1のストリーム入力回路11は、高能率符号化された符号化ストリームの入力を受け、バッファ制御回路12に供給する。バッファ制御回路12は、クロック発生回路13から供給される基本クロックに従って、入力された符号化ストリームをバッファ2のストリームバッファ21に入力する。ストリームバッファ21は、MP@MLのデコードに要求されるVBVバッファサイズである1,835,008ビットの容量を有する。ストリームバッファ21に保存されている符号化ストリームは、バッファ制御回路12の制御に従って、先に書き込まれたデータから順に読み出され、スタートコード検出回路14に供給される。スタートコード検出回路14は、入力されたストリームから、図18を用いて説明したスタートコードを検出し、検出したスタートコードおよび入力されたストリームをデコーダ15に出力する。
デコーダ15は、入力されたストリームをMPEGシンタックスに基づいて、デコードする。デコーダ15は、入力されたスタートコードに従って、まず、ピクチャ層のヘッダパラメータをデコードし、それを基に、スライス層をマクロブロックに分離してマクロブロックをデコードし、その結果得られる予測ベクトルおよび画素を、動き補償回路16に出力する。
MPEGでは、画像の時間的冗長性を利用して、近接した画像間で動き補償した差分を得ることにより、符号化効率を改善している。MPEGビデオデコーダでは、動き補償を用いた画素に対しては、現在デコードしている画素にその動きベクトルが示す参照画像の画素データを加算することにより動き補償を行い、符号化前の画像データに復号する。
デコーダ15から出力されるマクロブロックが動き補償を使用していない場合、動き補償回路16は、その画素データを、バッファ制御回路12を介して、バッファ2のビデオバッファ22に書き込み、表示出力に備えるとともに、この画素データが、他の画像の参照データとされる場合に備える。
デコーダ15から出力されるマクロブロックが動き補償を使用している場合、動き補償回路16は、デコーダ15から出力される予測ベクトルに従って、バッファ制御回路12を介して、バッファ2のビデオバッファ22から参照画素データを読み出す。そして、読み出した参照画素データを、デコーダ15から供給された画素データに加算し、動き補償を行う。動き補償回路16は、動き補償を行った画素データを、バッファ制御回路12を介してバッファ2のビデオバッファ22に書き込み、表示出力に備えるとともに、この画素データが、他の画素の参照データとされる場合に備える。
表示出力回路17は、デコードした画像データを出力するための同期タイミング信号を発生し、このタイミングを基に、バッファ制御回路12を介して、ビデオバッファ22から画素データを読み出し、復号ビデオ信号として出力する。
以上説明したように、MPEG2ストリームは階層構造を有している。図7を用いて説明したピクチャ層のsequence_header乃至picture_coding_extensionのデータは、図6を用いて説明したプロファイルおよびレベルが異なる場合においても、そのデータ量は、あまり変更されない。一方、スライス層以下のデータ量は、符号化する画素数に依存する。
図6より、HLにおいて、1枚のピクチャで処理しなければならないマクロブロックの数は、MLに対して約6倍になる。更に、図8より、4:2:2Pにおいて、1個のマクロブロックで処理するブロックの数は、MPの4/3倍になる。
すなわち、図19を用いて説明したMP@MLに対応したビデオデコーダで、4:2:2P@HLの符号化ストリームを復号しようとした場合、VBVバッファサイズおよび画素数の増加に伴って、ストリームバッファ21のバッファサイズが不足する。また、ビットレートの増加に伴い、入力ストリームのストリームバッファ21へのアクセスが増加し、画素数の増加に伴って、動き補償回路16のビデオバッファ22へのアクセスが増加するため、バッファ制御回路12の制御が間に合わなくなる。更に、ビットレートの増加、マクロブロックおよびブロック数の増加に伴って、デコーダ15の処理が間に合わなくなる。
今日の半導体技術の進展により、信号処理回路、メモリ(バッファ)回路とも、その動作速度は著しく向上している。しかしながら、現在のML@MPの復号技術では、4:2:2P@HLを復号するまでには至っていない。一般に、このような高速の信号処理を行おうとした場合、回路規模が大幅に増加し、部品点数の増加および消費電力の増加を招いてしまう。
そこで上記の特許文献1では、符号化ストリームを復号する複数の復号手段と、複数の復号手段を並行して動作させるように制御する復号制御手段とを備えるようにしたものである。すなわち図20は、特許文献1に記載されたMPEGビデオデコーダの回路構成を示すブロック図である。
図20のMPEGビデオデコーダは、ストリーム入力回路41、スタートコード検出回路42、ストリームバッファ制御回路43、クロック発生回路44、ピクチャデコーダ45、スライスデコーダ制御回路46、スライスデコーダ47乃至49、動き補償回路50、輝度バッファ制御回路51、色差バッファ制御回路52、および表示出力回路53から構成されるIC31、ストリームバッファ61およびスタートコードバッファ62で構成され、例えば、DRAMからなるバッファ32、輝度バッファ71および色差バッファ72で構成され、例えば、DRAMからなるビデオバッファ33、コントローラ34、並びに、ドライブ35で構成される。
ストリーム入力回路41は、高能率符号化された符号化ストリームの入力を受け、スタートコード検出回路42に供給する。スタートコード検出回路42は、入力された符号化ストリームをストリームバッファ制御回路43に供給するとともに、図18を用いて説明したスタートコードを検出して、それを基に、そのスタートコードの種類と、ストリームバッファ61にそのスタートコードが書き込まれる位置を示す書き込みポインタとを含む、スタートコード情報を生成し、ストリームバッファ制御回路43に供給する。
クロック発生回路44は、図19を用いて説明したクロック発生回路13の2倍の基本クロックを発生し、ストリームバッファ制御回路43に供給する。ストリームバッファ制御回路43は、クロック発生回路44から供給される基本クロックに従って、入力された符号化ストリームを、バッファ32のストリームバッファ61に書き込み、入力されたスタートコード情報を、バッファ32のスタートコードバッファ62に書き込む。
MPEGビデオデコーダが、4:2:2P@HLのMPEG符号化ストリームを順方向に再生することができるようになされている場合、ストリームバッファ61は、少なくとも、4:2:2P@HLのデコードに要求されるVBVバッファサイズである47,185,920ビットの容量を有している。また、MPEGビデオデコーダが、逆転再生を実行することができるようになされている場合、ストリームバッファ61は、少なくとも、2GOP分のデータを記録することができる容量を有している。
ピクチャデコーダ45は、ストリームバッファ制御回路43を介して、スタートコードバッファ62からスタートコード情報を読み出す。例えば、デコード開始時は、図7を用いて説明したsequence_headerからデコードが開始されるので、ピクチャデコーダ45は、図9を用いて説明したスタートコードであるsequence_header_codeに対応する書き込みポインタをスタートコードバッファ62から読み出し、その書き込みポインタを基に、ストリームバッファ61からsequence_headerを読み出してデコードする。続いて、ピクチャデコーダ45は、sequence_headerの読み出しと同様に、sequence_extension、GOP_header、picture_coding_extension等をストリームバッファ61から読み出してデコードする。
ピクチャデコーダ45が、スタートコードバッファ62から、最初のslice_start_codeを読み出した時点で、そのピクチャのデコードに必要な全てのパラメータが揃ったことになる。ピクチャデコーダ45は、デコードしたピクチャ層のパラメータを、スライスデコーダ制御回路46に出力する。
スライスデコーダ制御回路46は、ピクチャ層のパラメータの入力を受け、ストリームバッファ制御回路43を介して、スタートコードバッファ62から、対応するスライスのスタートコード情報を読み出す。また、スライスデコーダ制御回路46は、スライスデコーダ47乃至49のいずれかにデコードさせるスライスが、符号化ストリームに含まれる何番目のスライスであるかを示すレジスタを有し、そのレジスタを参照しながら、ピクチャ層のパラメータと、スタートコード情報に含まれるスライスの書き込みポインタをスライスデコーダ47乃至49のいずれかに供給する。
スライスデコーダ47は、マクロブロック検出回路81、ベクトル復号回路82、逆量子化回路83、および逆DCT回路84で構成され、スライスデコーダ制御回路46から入力されたスライスの書き込みポインタを基に、対応するスライスを、ストリームバッファ制御回路43を介してストリームバッファ61から読み出す。そして、スライスデコーダ制御回路46から入力されたピクチャ層のパラメータに従って、読み出したスライスをデコードして、動き補償回路50に出力する。
マクロブロック検出回路81は、スライス層のマクロブロックを分離し、各マクロブロックのパラメータをデコードし、可変長符号化された各マクロブロックの予測モードおよび予測ベクトルをベクトル復号回路82に供給し、可変長符号化された係数データを逆量子化回路83に供給する。ベクトル復号回路82は、可変長符号化された、各マクロブロックの予測モードおよび予測ベクトルをデコードして、予測ベクトルを復元する。逆量子化回路83は、可変長符号化された係数データをデコードして逆DCT回路84に供給する。逆DCT回路84は、デコードされた係数データに逆DCTを施し、符号化前の画素データに復元する。
スライスデコーダ47は、動き補償回路50に、デコードしたマクロブロックに対する動き補償の実行を要求し(すなわち、図中、REQで示される信号を1にする)、動き補償回路50から動き補償の実行要求に対する受付を示す信号(図中ACKで示される信号)を受けて、デコードされた予測ベクトルおよびデコードされた画素を動き補償回路50に供給する。スライスデコーダ47は、ACK信号の入力を受けて、デコードされた予測ベクトルおよびデコードされた画素を動き補償回路50に供給した後に、REQ信号を1から0に変更する。そして、次に入力されたマクロブロックのデコードが終了した時点で、REQ信号を、再び0から1に変更する。
また、スライスデコーダ48のマクロブロック検出回路85乃至逆DCT回路88およびスライスデコーダ49のマクロブロック検出回路89乃至逆DCT回路92においても、スライスデコーダ47のマクロブロック検出回路81乃至逆DCT回路84と同様の処理が行われるので、その説明は省略する。
動き補償回路50は、スライスデコーダ47乃至49から入力されたデータの動き補償が終了したか否かを示すReg_REQ_A、Reg_REQ_BおよびReg_REQ_Cの3つのレジスタを有し、これらのレジスタの値を参照しながら、適宜、スライスデコーダ47乃至49のうちの1つを選んで、動き補償実行要求を受け付け(すなわち、REQ信号に対して、ACK信号を出力して、予測ベクトルと画素の入力を受ける)、動き補償処理を実行する。このとき、動き補償回路50は、スライスデコーダ47乃至49のうち、所定のタイミングにおいてREQ信号が1であるスライスデコーダ47乃至49に対する動き補償が、それぞれ1回ずつ終了した後に、次の動き補償要求を受け付ける。例えば、スライスデコーダ47が連続して動き補償要求を出しても、スライスデコーダ48およびスライスデコーダ49の動き補償が終了するまで、スライスデコーダ47の2つ目の動き補償要求は受け付けられない。
スライスデコーダ47乃至49のいずれかから入力されるマクロブロックが動き補償を使用していない場合、動き補償回路50は、その画素データが輝度データであれば、輝度バッファ制御回路51を介して、ビデオバッファ33の輝度バッファ71に書き込み、その画素データが色差データであれば、色差バッファ制御回路52を介して、ビデオバッファ33の色差バッファ72に書き込み、表示出力に備えるとともに、この画素データが、他の画像の参照データとされる場合に備える。
また、スライスデコーダ47乃至49のいずれかから出力されるマクロブロックが動き補償を使用している場合、動き補償回路50は、スライスデコーダ47乃至49のうち対応するデコーダから入力される予測ベクトルに従って、その画素データが輝度データであれば、輝度バッファ制御回路51を介して、輝度バッファ71から参照画素を読み込み、その画素データが色差データであれば、色差バッファ制御回路52を介して、色差バッファ72から参照画素データを読み込む。そして、動き補償回路50は、読み込んだ参照画素データを、スライスデコーダ47乃至49のいずれかから供給された画素データに加算し、動き補償を行う。
動き補償回路50は、動き補償を行った画素データを、その画素データが輝度データであれば、輝度バッファ制御回路51を介して、輝度バッファ71に書き込み、その画素データが色差データであれば、色差バッファ制御回路52を介して、色差バッファ72に書き込み、表示出力に備えるとともに、この画素データが、他の画素の参照データとされる場合に備える。
表示出力回路53は、デコードした画像データを出力するための同期タイミング信号を発生し、このタイミングに従って、輝度バッファ制御回路51を介して、輝度バッファ71から輝度データを読み出し、色差バッファ制御回路52を介して、色差バッファ72から色差データを読み出して、復号ビデオ信号として出力する。
ドライブ35は、コントローラ34に接続されており、必要に応じて装着される磁気ディスク101、光ディスク102、光磁気ディスク103、および半導体メモリ104などとデータの授受を行う。また、コントローラ34は、以上説明したIC31、およびドライブ35の動作を制御するものである。コントローラ34は、例えば、ドライブに装着されている磁気ディスク101、光ディスク102、光磁気ディスク103、および半導体メモリ104などに記録されているプログラムに従って、IC31に処理を実行させることができる。
しかしながら、上述のスライスデコーダの手法を用いたとしても、デコードされる画像が極めて複雑である場合などには、必ずしも所定時間内にデコードが完了しない場合が生じる。その場合に従来は、所定時間(1フレーム期間)を経過した時点でデコード処理を打ち切り、直近のフレームの画像で補間するなどの手段が取られるが、大幅な画質の劣化が生じることが避けられないものである。また、このような処置が、いわゆるIピクチャやPピクチャに対しても行われるため、その場合には、復号に著しい破綻が生じる恐れもある。
本発明はこのような状況に鑑みてなされたものであり、今日の半導体技術を用いて、実現可能な回路規模で実時間動作が可能な4:2:2P@HLに対応したビデオデコーダを、さらに有効に実現することができるようにするものである。
すなわち、この出願が解決しようとする問題点は、従来の装置では、所定時間(1フレーム期間)を経過した時点でデコード処理が打ち切られるために、大幅な画質の劣化が生じることが避けられず、またこのような処置が、いわゆるIピクチャやPピクチャに対して行われた場合には、復号に著しい破綻が生じる恐れもあったというものである。
このため本発明においては、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたものであって、これによれば、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができる。
請求項1の発明によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができるものである。
また、請求項2の発明によれば、デコード処理部はMPEGの1スライスごとに動作を停止し、デコード制御部がスライス単位でデコード処理部の動作を簡易デコードにするか否か切り替えることによって、スライス単位のデコードを行う場合の処理を良好に行うことができるものである。
請求項3の発明によれば、デコード処理部はMPEGの1マクロブロックごとに動作を停止し、デコード制御部がマクロブロック単位でデコード処理部の動作を簡易デコードにするか否か切り替えることによって、マクロブロック単位のデコードを行う場合の処理を良好に行うことができるものである。
請求項4の発明によれば、画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては通常のデコード処理のみを使用し、特定画像のデコード処理時間が画像1フレームの表示時間より長くなる場合には、前後の特定画像以外の画像のデコード処理時間を短縮して補うことによって、復号時の破綻の少ないデコードを行うことができるものである。
さらに請求項5の発明によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができるものである。
また、請求項6の発明によれば、デコード処理部はMPEGの1スライスごとに動作を停止し、デコード制御部がスライス単位でデコード処理部の動作を簡易デコードにするか否か切り替えることによって、スライス単位のデコードを行う場合の処理を良好に行うことができるものである。
請求項7の発明によれば、デコード処理部はMPEGの1マクロブロックごとに動作を停止し、デコード制御部がマクロブロック単位でデコード処理部の動作を簡易デコードにするか否か切り替えることによって、マクロブロック単位のデコードを行う場合の処理を良好に行うことができるものである。
請求項8の発明によれば、画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては通常のデコード処理のみを使用し、特定画像のデコード処理時間が画像1フレームの表示時間より長くなる場合には、前後の特定画像以外の画像のデコード処理時間を短縮して補うことによって、復号時の破綻の少ないデコードを行うことができるものである。
さらに請求項9の発明によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができるものである。
また、請求項10の発明によれば、デコード動作はMPEGの1スライスごとに動作を停止し、スライス単位でデコード動作を簡易デコードにするか否か切り替えることによって、スライス単位のデコードを行う場合の処理を良好に行うことができるものである。
請求項11の発明によれば、デコード動作はMPEGの1マクロブロックごとに動作を停止し、マクロブロック単位でデコード動作を簡易デコードにするか否か切り替えることによって、マクロブロック単位のデコードを行う場合の処理を良好に行うことができるものである。
請求項12の発明によれば、画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては通常のデコード処理のみを使用し、特定画像のデコード処理時間が画像1フレームの表示時間より長くなる場合には、前後の特定画像以外の画像のデコード処理時間を短縮して補うことによって、復号時の破綻の少ないデコードを行うことができるものである。
さらに請求項13の発明によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができるものである。
また、請求項14の発明によれば、デコード動作はMPEGの1スライスごとに動作を停止し、スライス単位でデコード動作を簡易デコードにするか否か切り替えることによって、スライス単位のデコードを行う場合の処理を良好に行うことができるものである。
請求項15の発明によれば、デコード動作はMPEGの1マクロブロックごとに動作を停止し、マクロブロック単位でデコード動作を簡易デコードにするか否か切り替えることによって、マクロブロック単位のデコードを行う場合の処理を良好に行うことができるものである。
請求項16の発明によれば、画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては通常のデコード処理のみを使用し、特定画像のデコード処理時間が画像1フレームの表示時間より長くなる場合には、前後の特定画像以外の画像のデコード処理時間を短縮して補うことによって、復号時の破綻の少ないデコードを行うことができるものである。
これによって、従来の装置では、所定時間(1フレーム期間)を経過した時点でデコード処理が打ち切られるために、大幅な画質の劣化が生じることが避けられず、またこのような処置が、いわゆるIピクチャやPピクチャに対して行われた場合には、復号に著しい破綻が生じる恐れもあったものを、本発明によればこれらの問題点を容易に解消することができるものである。
すなわち本発明の復号装置は、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、デコード処理途中の時間を計測する機能を有するデコード制御部と、デコード処理途中で一時停止してデコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、デコード処理部は、さらに通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有するものであって、デコード制御部からの指示に応じてデコード処理部の動作をデコード処理途中で切り替えることを可能としてなるものである。
また、本発明の復号装置は、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、デコード処理途中の時間を計測する機能を有するデコード制御部と、デコード処理途中で一時停止してデコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、デコード処理部は、さらに通常のデコード処理の他にMPEGの双方向予測マクロブロックのデコードを、2つある参照画像のうち1つだけを使って短時間で高速に動作する簡易デコード機能を有するものであって、デコード制御部からの指示に応じてデコード処理部の動作をデコード処理途中で切り替えることを可能としてなるものである。
さらに本発明の復号方法は、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えることを可能としたものである。
また、本発明の復号方法は、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他にMPEGの双方向予測マクロブロックのデコードを、2つある参照画像のうち1つだけを使って短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えることを可能としたものである。
以下、図面を参照して本発明を説明するに、図1は本発明による復号装置及び復号方法を適用し、例えばMPEG2形式でエンコードされたビデオ画像をリアルタイムでデコードし再生するシステムの一実施形態の構成を示すブロック図である。
図1において、このシステムは、入力部140、表示部150の他に、ビットストリームバッファ100、デコード制御部110、デコード処理部120、フレームバッファ130の4つのブロックから構成される。そしてビットストリームバッファ100は、入力部140から得たデコード前のビデオのElementary Stream(以降ビデオES)を保存するメモリである。
また、フレームバッファ130はデコード後のビデオの画像を保存するメモリである。さらにデコード処理部120はデコード処理を行う本体であり、ビットストリームバッファ100からデータを読み出して、デコード後の画像をフレームバッファ130に書き出す。そしてPピクチャ、Bピクチャをデコードする場合は、フレームバッファ130から参照画像を読み出す。
さらにこのシステムは、1スライス分のデータを処理するごとに動作を一時停止して、デコード制御部110からの指示を待つ。その後、指示に従って、処理を続行または中止する。すなわち、デコード制御部110は、本発明の中核を担うブロックであり、デコード処理部120の動作を制御する。
そしてデコードを行う場合には、まず、ヘッダパース部111が、ビットストリームバッファ100からデータを読み出して、ピクチャ層以上のヘッダをパースする。ヘッダパースが終わり、時間管理部112からデコードを開始する時刻を知らされると、ピクチャ間処理制御部113がデコード処理部120の動作を起動する。
その時、ピクチャ間処理制御部113は、ビットストリームバッファ100内のどこからビデオESを読み出すかの情報と、フレームバッファ130内のどの画像を参照画として使用するかの情報をデコード処理部120に知らせる。また、デコードを開始したことを、時間管理部112に知らせる。
さらにデコード処理部120が動作を一時停止した時、その通知を受けるのが、スライス間処理制御部114である。スライス間処理制御部114が、デコード処理をそのまま続行するか、簡易デコードで続けるか、中止するかを判断する。また、1ピクチャ内の全てのスライスを処理し終えた時は、スライス間処理制御部114からピクチャ間処理制御部113にそれを通知する。
ここで時間管理部112は、デコード開始タイミング(フレーム同期信号)の生成、及びデコード開始以降の経過時間の計測を行う。そしてデコード開始タイミングになるとピクチャ間処理制御部113に通知する。また、スライス間処理制御部114からの要求に応じ、デコード開始以降の経過時間、次のフレーム同期信号が発生するまでの残り時間を知らせる。
なお、本願の対象とするMPEGビデオは、上述の図7に示した如く階層的なデータ構造をしており、シーケンス層がその最上位に位置する。このシーケンスヘッダには、水平方向画素数、垂直方向画素数、フレームレートコードが情報として含まれおり、ヘッダパース部111がこれらを抜き出す。そして例えばデジタル放送の480Iフォーマット画像の場合、画素数720×480、フレームレート29.97Hzという値を得る。
さらにヘッダパース部111は、フレームレートを時間管理部112に渡し、時間管理部112ではフレーム同期信号のインターバルを1/29.97秒に設定する。また、ヘッダパース部111は、画素数をスライス間処理制御部114に渡し、スライス間処理制御部114では、(720/16)×(480/16)=45×30=1350個のマクロブロック(以下、MBと略称する)を、次のフレーム同期信号が来る前に処理すれば良いと判断する。
さらに、本発明を実施するための中心部であるスライス間処理制御部114の動作フローを図2に示す。
すなわち、ステップ〔301〕でピクチャ間処理制御部113がデコード処理部120を起動した後、ステップ〔302〕でスライス間処理制御部114は、デコード処理部120からのスライス終了通知を待つ。そしてスライス終了通知を受けると、ステップ〔303〕でデコード処理部120から、デコード済みMB数を取得する。
ここでMB数は、1ピクチャのデコードを開始してから、これまでにデコード処理したMBの総数である。これが、ヘッダパース部111から渡された1ピクチャ分MB数と等しければ、ステップ〔304〕で1ピクチャのデコードが終了したと判断し、ステップ〔309〕でそれをピクチャ間処理制御部113に知らせる。少なければデコード途中であると判断し、処理を続行する。
さらにデコード途中であった場合は、ステップ〔305〕で時間管理部112から、デコード開始以降の経過時間を取得する。また同時に、次のフレーム同期信号が発生するまでの残り時間も取得する。その後、ステップ〔306〕でこれまでの経過時間および処理したMB数から考えて、残るMBをこのままのペースでデコード処理部120が処理できるかどうか判断する。
ここでは、例えば以下のような計算で判断を行う。すなわちデコード時間が残り半分を超えるまでは、通常通りデコードする。そしてデコード時間が残り半分を超えたら、以下の計算をする。
Tmb_mean = Tpast / MBnum
Tmb_mean : 1MBあたりの平均処理時間
Tpast : デコードを開始してからの経過時間
MBnum : 今までに処理したMB数
Tmore = Tmb_mean * (MBtotal- MBnum)
Tmore : 今のペースで処理した場合に必要な残り時間
MBtotal : デコードする総MB数
Tratio = (Tpast + Tmore) / (Tpast + Trest) * 100 [%]
Tratio : 今のペースで処理した場合に要するトータル時間と制限時間の比
Trest : 制限時間までの残り時間
そして、Tratioが100%を超えていたら次のスライスを簡易デコード、そうでなければ通常デコードとする。すなわち残るMBをこのままのペースでデコード処理部120が処理出来そうならば、ステップ〔307〕で通常通りのデコードを再開し、出来そうに無ければ、ステップ〔308〕で簡易デコードでのデコード処理部120の処理を再開する。その後、ステップ〔302〕で再びデコード処理部120からのスライス終了通知を待つ。
従ってこの実施形態において、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができる。
すなわち図3には、ピクチャ単位でのデコード処理シーケンスを示す。ここでケース1は、全てのピクチャのデコードが正常に終了しているケースである。これに対しケース2は、処理時間が長いBピクチャのデコードを、途中から簡易デコードしたケースである。このケース2では、簡易デコードの途中で処理時間が間に合うようになれば、再び通常デコードに復帰する様子が示されている。
なお上述の実施形態で、簡易デコードはI,Pピクチャには適用しない。すなわちI,Pピクチャは、他のPまたはBピクチャをデコードするときの参照画として使用されるので、時間をかけてでもデコードする。このためピクチャ間処理制御部113が時間管理部112からデコード開始のため通知を受けても、IまたはPピクチャをデコードしている最中であればそれ続行する。
そして次のピクチャのデコードは、処理中のデコードが終わり次第、開始する。これを実現するために、デコード終了よりも数フレーム遅れて、システムの表示部150が、表示を開始する。これにより、デコード処理の時間のジッタをフレームバッファ130で吸収し、表示部150は一定レートでピクチャを表示し続ける。図3のケース3は、Iピクチャのデコード処理を延長して行い、その後のBピクチャのデコードをフレーム同期タイミングよりも遅れて開始したケースである。
これによって、従来の装置では、所定時間(1フレーム期間)を経過した時点でデコード処理が打ち切られるために、大幅な画質の劣化が生じることが避けられず、またこのような処置が、いわゆるIピクチャやPピクチャに対して行われた場合には、復号に著しい破綻が生じる恐れもあったものを、本発明によればこれらの問題点を容易に解消することができるものである。
さらに、図4にフレームバッファ130内のデータの変化を示す。この図4において、デコード画像の内、Bピクチャの画像は即座に表示待ちに入る。これに対し、I,Pピクチャはデコード順で後に続くBピクチャのデコードが終わったら表示待ちに入る。すなわち、本発明においては、表示待ちになった画像をすぐに表示せず、数フレーム遅れて表示する。
従って定常状態において、フレームバッファ130内のデータは、表示遅れに相当する数のフレームが表示待ち状態で待機する。そしてピクチャのデコードが早く終了した時に待ちフレームが増加、遅く終了したときに減少する。これにより、I,Pピクチャのデコードに長時間かかっても、待ちフレーム数が0にならなければ、表示部150で途切れること無く画像を表示しつづけることが出来る。
さらに、以下に簡易デコードの方法を説明する。すなわち例えばMPEGにおいては、シーケンスは複数のGOP(Group Of Pictures)で構成されており、GOPは複数のピクチャで構成されている。ピクチャにはI,P,Bの3種類があり、そのうちI,Pピクチャは他のPまたはBピクチャをデコードするときの参照画として使用される。ここでBピクチャは、参照画として使用されないため、Bピクチャのデコード画像が崩れても、他のピクチャのデコードに影響を与えない。
そこで本発明においては、時間管理部112でBピクチャのデコードの処理時間を計測し、リアルタイム動作のための制限時間内にデコード処理が終わりそうに無ければ、残り処理を簡易デコードで高速に行うよう、スライス間処理制御部114でデコード処理部120を制御する。ここでBピクチャは前方、後方2つの参照画を用いてエンコードされた画像だが、簡易デコードにおいては、例えば、片方の参照画のみを用いるようにして、デコード処理部120からフレームバッファ130へのメモリアクセス回数及びデコード処理部120内での演算量を減らす。
すなわちピクチャは、複数のスライスから構成されている。デコード処理部120は、このスライスを処理し終えるたびに一時停止して、スライス間処理制御部114からの指示を待つ。指示に応じて、次のスライスを通常通りデコードする、次のスライスは簡易デコードで高速に処理する、残り全てのデコード処理を中止して、1ピクチャ処理を終える、内のいずれかの動作を行う。
さらにスライスは複数のMBから構成されている。16×16画素で構成されたマクロブロックの集まりがスライスであり、画面上の左から右、上から下に向けて連続に並んだMBが1つのスライスを構成する。ここでMBは、動き補償予測を用いて符号化されており、その方法によって、動き補償予測なし、順方方向(前方参照画を用いて予測)、逆方向(後方参照画を用いて予測)、双方向(前方、後方、両方の参照画を用いて予測)など、幾つかのMB予測タイプが存在する。
すなわち動き補償予測を用いた符号化では、図5に示すようにエンコード処理中のBピクチャの前後のI/Pピクチャが参照画像とされ、処理されているMBに対応する前後のI/PピクチャのMBとの差分をとることにより圧縮が行われている。そしてその際に、参照された前方、後方または双方の画像を指定する情報と、その間のMBの移動ベクトルの情報がBピクチャのヘッダ部分に記載されているものである。
そこでデコードを行う際には、画像を指定する情報と移動ベクトルの情報により対応するMBを決定し、そのMBを用いて差分情報からもとの画像データを形成する。そしてその際に、双方向の参照が指定されている場合には、それぞれの参照画像に対して、移動ベクトルによりMBの決定が行われ、それらの平均値を計算することによって、参照されるMBのデータが形成される。
そこで本発明においては、双方向予測MBに着目し、簡易デコードの際は、Bピクチャに存在する双方向予測MBをデコードするのに、片方の参照画のみを用いる。どちらを選ぶかは、常に前方の参照画のみを使用する、1ライン上、または1MB左のMBをデコードしたときの参照画に合せて、適応的に片方の参照画を選択する、などの内のいずれかの方法を選択する。
なお、本願発明者が調査したところによれば、通常のビデオ信号でBピクチャ内において双方方向予測が行われる確率は60%程度であり、そこを片方向予測で複号することによって、メモリへのアクセス回数が減少する。また、双方向予測を片方向予測にすることによる計算時間の短縮が30%程度であり、全体として相当量の処理時間の短縮が見込まれるものである。
従ってこの実施形態において、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示する際に、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えるようにしたことによって、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができる。
これによって、従来の装置では、所定時間(1フレーム期間)を経過した時点でデコード処理が打ち切られるために、大幅な画質の劣化が生じることが避けられず、またこのような処置が、いわゆるIピクチャやPピクチャに対して行われた場合には、復号に著しい破綻が生じる恐れもあったものを、本発明によればこれらの問題点を容易に解消することができるものである。
なお、以上の説明においては、デコード処理部120がデコード処理を一時停止して、デコード制御部110に制御権を渡すのをスライス単位とした。しかし、制御権を渡すのをMB単位とすることも可能である。すると、簡易デコードを行う処理の単位が、スライス単位でなくMB単位になる。
すなわち本発明は、制限時間内にデコードしきれないピクチャのデコードを、途中から簡易デコードに切り替えるものである。デコードしない部分が発生し、そこをデコード済みの過去の画像で差し替える方法に比べて、画質の劣化を少なくすることが出来る。特に動きが激しい映像を対象とする場合に有効である。
また、後に参照画像として使われる画像のデコードは、制限時間を超えても最後まで通常通り行うことにより、画質の劣化が他の画像に及ばないようにすることが出来る。
こうして上述の復号装置によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、デコード処理途中の時間を計測する機能を有するデコード制御部と、デコード処理途中で一時停止してデコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、デコード処理部は、さらに通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有するものであって、デコード制御部からの指示に応じてデコード処理部の動作をデコード処理途中で切り替えることを可能とすることにより、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができるものである。
また、上述の復号装置によればデジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、デコード処理途中の時間を計測する機能を有するデコード制御部と、デコード処理途中で一時停止してデコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、デコード処理部は、さらに通常のデコード処理の他にMPEGの双方向予測マクロブロックのデコードを、2つある参照画像のうち1つだけを使って短時間で高速に動作する簡易デコード機能を有するものであって、デコード制御部からの指示に応じてデコード処理部の動作をデコード処理途中で切り替えることを可能とすることにより、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができるものである。
さらに上述の復号方法によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えることを可能とすることにより、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができるものである。
また、上述の復号方法によれば、デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、デコード処理途中の時間を計測し、デコード処理途中で一時停止しながらデコード動作を行うと共に、通常のデコード処理の他にMPEGの双方向予測マクロブロックのデコードを、2つある参照画像のうち1つだけを使って短時間で高速に動作する簡易デコード機能を有し、計測された時間に応じてデコード動作をデコード処理途中で切り替えることを可能とすることにより、例えば4:2:2P@HLに対応したビデオデコーダを有効に実現することができるものである。
なお本発明は、上述の説明した実施形態に限定されるものではなく、本発明の精神を逸脱することなく種々の変形が可能とされるものである。
本発明による復号装置及び復号方法を適用し、例えばMPEG2形式でエンコードされたビデオ画像をリアルタイムでデコードし再生するシステムの一実施形態の構成を示すブロック図である。 その動作の説明のためのフローチャート図である。 そのデコード処理シーケンスの説明のための図である。 そのフレームバッファ内のデータの変化の説明のための図である。 双方向動き予測符号化の説明のための図である。 MPEG2の、プロファイルとレベルによる、各パラメータの上限値を説明するための図である。 MPEG2ビットストリームの階層構造を説明するための図である。 マクロブロック層を説明するための図である。 sequence_headerのデータ構造を説明するための図である。 sequence_extensionのデータ構造を説明するための図である。 GOP_headerのデータ構造を説明するための図である。 picture_headerのデータ構造を説明するための図である。 picture_coding_extensionのデータ構造を説明するための図である。 picture_dataのデータ構造を説明するための図である。 sliceのデータ構造を説明するための図である。 macroblockのデータ構造を説明するための図である。 macroblock_modesのデータ構造を説明するための図である。 スタートコードを説明するための図である。 従来のML@MPの符号化ストリームをデコードするビデオデコーダの構成を示すブロック図である。 本願出願人が先に提案したビデオデコーダの構成を示すブロック図である。
符号の説明
100…ビットストリームバッファ、110…デコード制御部、111…ヘッダパース部、112…時間管理部、113…ピクチャ間処理制御部、114…スライス間処理制御部、120…デコード処理部、130…フレームバッファ、140…入力部、150…表示部

Claims (16)

  1. デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、
    デコード処理途中の時間を計測する機能を有するデコード制御部と、
    デコード処理途中で一時停止して前記デコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、
    前記デコード処理部は、さらに通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有するものであって、
    前記デコード制御部からの指示に応じて前記デコード処理部の動作を前記デコード処理途中で切り替えることを可能とした
    ことを特徴とする復号装置。
  2. 請求項1記載の復号装置において、
    前記デコード処理部はMPEGの1スライスごとに動作を停止し、
    前記デコード制御部が前記スライス単位で前記デコード処理部の動作を前記簡易デコードにするか否か切り替える
    ことを特徴とする復号装置。
  3. 請求項1記載の復号装置において、
    前記デコード処理部はMPEGの1マクロブロックごとに動作を停止し、
    前記デコード制御部が前記マクロブロック単位で前記デコード処理部の動作を前記簡易デコードにするか否か切り替える
    ことを特徴とする復号装置。
  4. 請求項1記載の復号装置において、
    画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては前記通常のデコード処理のみを使用し、
    前記特定画像のデコード処理時間が画像1フレームの表示時間より長くなる場合には、前後の前記特定画像以外の画像のデコード処理時間を短縮して補う
    ことを特徴とする復号装置。
  5. デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号装置であって、
    デコード処理途中の時間を計測する機能を有するデコード制御部と、
    デコード処理途中で一時停止して前記デコード制御部と連携しながらデコード動作を行うデコード処理部とを有し、
    前記デコード処理部は、さらに通常のデコード処理の他にMPEGの双方向予測マクロブロックのデコードを、2つある参照画像のうち1つだけを使って短時間で高速に動作する簡易デコード機能を有するものであって、
    前記デコード制御部からの指示に応じて前記デコード処理部の動作を前記デコード処理途中で切り替えることを可能とした
    ことを特徴とする復号装置。
  6. 請求項5記載の復号装置において、
    前記デコード処理部はMPEGの1スライスごとに動作を停止し、
    前記デコード制御部が前記スライス単位で前記デコード処理部の動作を前記簡易デコードにするか否か切り替える
    ことを特徴とする復号装置。
  7. 請求項5記載の復号装置において、
    前記デコード処理部はMPEGの1マクロブロックごとに動作を停止し、
    前記デコード制御部が前記マクロブロック単位で前記デコード処理部の動作を前記簡易デコードにするか否か切り替える
    ことを特徴とする復号装置。
  8. 請求項5記載の復号装置において、
    画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては前記通常のデコード処理のみを使用し、
    前記特定画像のデコード処理時間が画像1フレームの表示時間より長くなる場合には、前後の前記特定画像以外の画像のデコード処理時間を短縮して補う
    ことを特徴とする復号装置。
  9. デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、
    デコード処理途中の時間を計測し、
    デコード処理途中で一時停止しながらデコード動作を行うと共に、
    通常のデコード処理の他に短時間で高速に動作する簡易デコード機能を有し、
    前記計測された時間に応じて前記デコード動作を前記デコード処理途中で切り替えることを可能とした
    ことを特徴とする復号方法。
  10. 請求項9記載の復号方法において、
    前記デコード動作はMPEGの1スライスごとに動作を停止し、
    前記スライス単位で前記デコード動作を前記簡易デコードにするか否か切り替える
    ことを特徴とする復号方法。
  11. 請求項9記載の復号方法において、
    前記デコード動作はMPEGの1マクロブロックごとに動作を停止し、
    前記マクロブロック単位で前記デコード動作を前記簡易デコードにするか否か切り替える
    ことを特徴とする復号方法。
  12. 請求項9記載の復号方法において、
    画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては前記通常のデコード処理のみを使用し、
    前記特定画像のデコード処理時間が画像1フレームの表示時間より長くなる場合には、前後の前記特定画像以外の画像のデコード処理時間を短縮して補う
    ことを特徴とする復号方法。
  13. デジタルで圧縮し符号化された画像をデコードしてリアルタイムで表示するシステムに使用される復号方法であって、
    デコード処理途中の時間を計測し、
    デコード処理途中で一時停止しながらデコード動作を行うと共に、
    通常のデコード処理の他にMPEGの双方向予測マクロブロックのデコードを、2つある参照画像のうち1つだけを使って短時間で高速に動作する簡易デコード機能を有し、
    前記計測された時間に応じて前記デコード動作を前記デコード処理途中で切り替えることを可能とした
    ことを特徴とする復号方法。
  14. 請求項13記載の復号方法において、
    前記デコード動作はMPEGの1スライスごとに動作を停止し、
    前記スライス単位で前記デコード動作を前記簡易デコードにするか否か切り替える
    ことを特徴とする復号方法。
  15. 請求項13記載の復号方法において、
    前記デコード動作はMPEGの1マクロブロックごとに動作を停止し、
    前記マクロブロック単位で前記デコード動作を前記簡易デコードにするか否か切り替える
    ことを特徴とする復号方法。
  16. 請求項13記載の復号方法において、
    画像圧縮伸張時の参照画像として他の画像のデコードで使用される特定画像に対しては前記通常のデコード処理のみを使用し、
    前記特定画像のデコード処理時間が画像1フレームの表示時間より長くなる場合には、前後の前記特定画像以外の画像のデコード処理時間を短縮して補う
    ことを特徴とする復号方法。
JP2003359771A 2003-10-20 2003-10-20 復号装置及び復号方法 Pending JP2005124091A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003359771A JP2005124091A (ja) 2003-10-20 2003-10-20 復号装置及び復号方法
US10/968,795 US20050141620A1 (en) 2003-10-20 2004-10-19 Decoding apparatus and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003359771A JP2005124091A (ja) 2003-10-20 2003-10-20 復号装置及び復号方法

Publications (1)

Publication Number Publication Date
JP2005124091A true JP2005124091A (ja) 2005-05-12

Family

ID=34615888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003359771A Pending JP2005124091A (ja) 2003-10-20 2003-10-20 復号装置及び復号方法

Country Status (2)

Country Link
US (1) US20050141620A1 (ja)
JP (1) JP2005124091A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009518881A (ja) * 2005-07-06 2009-05-07 ティ エイチ エックス リミテッド コンテンツ提示オプティマイザ
WO2010100991A1 (ja) * 2009-03-03 2010-09-10 シャープ株式会社 動画像ストリーム復号装置及びその制御方法並びにプログラム、記録媒体
US8482614B2 (en) 2005-06-14 2013-07-09 Thx Ltd Content presentation optimizer

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4384130B2 (ja) * 2006-03-28 2009-12-16 株式会社東芝 動画像復号方法及び装置
JP5018332B2 (ja) * 2007-08-17 2012-09-05 ソニー株式会社 画像処理装置、撮像装置、画像処理方法、およびプログラム
US20090225867A1 (en) * 2008-03-06 2009-09-10 Lee Kun-Bin Methods and apparatus for picture access
KR20100111467A (ko) * 2009-04-07 2010-10-15 삼성전자주식회사 영상 데이터의 타입을 판정하는 영상기기 및 이에 적용되는 영상처리방법
US10244239B2 (en) 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
RU2017110870A (ru) * 2017-03-31 2018-10-03 Общество с ограниченной ответственностью "Дивиар" Система терминал - мобильное устройство, в которой терминал управляется посредством мобильного устройства, и способ удаленного контроля терминала
WO2019023919A1 (en) * 2017-08-01 2019-02-07 Vishare Technology Limited METHODS AND APPARATUS FOR VIDEO CONTINUOUS DIFFUSION WITH ENHANCED SYNCHRONIZATION

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1139672B1 (en) * 1994-03-25 2010-08-18 Nec Corporation Image reproducing device
JP2002010216A (ja) * 2000-04-20 2002-01-11 Canon Inc 復号化装置及びその制御方法並びに記憶媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8482614B2 (en) 2005-06-14 2013-07-09 Thx Ltd Content presentation optimizer
JP2009518881A (ja) * 2005-07-06 2009-05-07 ティ エイチ エックス リミテッド コンテンツ提示オプティマイザ
WO2010100991A1 (ja) * 2009-03-03 2010-09-10 シャープ株式会社 動画像ストリーム復号装置及びその制御方法並びにプログラム、記録媒体

Also Published As

Publication number Publication date
US20050141620A1 (en) 2005-06-30

Similar Documents

Publication Publication Date Title
JP5041626B2 (ja) 復号装置、復号方法、およびプログラム
US20070291131A1 (en) Apparatus and Method for Controlling Image Coding Mode
US7292772B2 (en) Method and apparatus for decoding and recording medium for a coded video stream
JP2000278692A (ja) 圧縮データ処理方法及び処理装置並びに記録再生システム
JP2001285876A (ja) 画像符号化装置とその方法、ビデオカメラ、画像記録装置、画像伝送装置
JP5155159B2 (ja) 動画像復号装置
US20030016745A1 (en) Multi-channel image encoding apparatus and encoding method thereof
KR100215824B1 (ko) 엠펙 디코더의 프레임 메모리 및 영상 데이타 디코딩방법
WO1993013626A1 (en) Image data coding method, image data decoding method, image data coding device, image data decoding device, and image recording medium
JPH0818979A (ja) 画像処理装置
JP3852366B2 (ja) 符号化装置および方法、復号装置および方法、並びにプログラム
JP2005124091A (ja) 復号装置及び復号方法
JP3599942B2 (ja) 動画像符号化方法、及び動画像符号化装置
JP4906197B2 (ja) 復号装置および方法、並びに記録媒体
JP3245496B2 (ja) 画像符号化方法、画像符号化回路、画像符号化装置及び再生装置
JP2000188735A (ja) 動きベクトル検出装置及びこれを用いた動画像符号化装置
JPH11289515A (ja) 画像信号処理装置及び方法、画像信号記録装置及び方法並びに記録媒体
JPH11136686A (ja) 復号画像変換回路および復号画像変換装置
JPH0898142A (ja) 画像再生装置
JP2000115777A (ja) 画像処理方法および画像処理装置
JPH1051784A (ja) 動画像符号化装置
JP3590976B2 (ja) 動画像圧縮装置
JP4676474B2 (ja) 画像符号化方法
JP5061355B2 (ja) 画像符号化方法、装置およびプログラムならびに画像処理機器
JP2000156868A (ja) 画像復号化方法及び装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070614

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071211