JP5414736B2 - 符号化装置及び編集装置 - Google Patents

符号化装置及び編集装置 Download PDF

Info

Publication number
JP5414736B2
JP5414736B2 JP2011100430A JP2011100430A JP5414736B2 JP 5414736 B2 JP5414736 B2 JP 5414736B2 JP 2011100430 A JP2011100430 A JP 2011100430A JP 2011100430 A JP2011100430 A JP 2011100430A JP 5414736 B2 JP5414736 B2 JP 5414736B2
Authority
JP
Japan
Prior art keywords
stream
parameter
encoded
codeword
editing apparatus
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.)
Active
Application number
JP2011100430A
Other languages
English (en)
Other versions
JP2011182451A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2011100430A priority Critical patent/JP5414736B2/ja
Publication of JP2011182451A publication Critical patent/JP2011182451A/ja
Application granted granted Critical
Publication of JP5414736B2 publication Critical patent/JP5414736B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Description

本発明は、可変長符号により情報を埋め込む符号方式を用いてエンコードを行う符号化装置、及び符号化装置により生成されたストリームを編集する編集装置に関する。
可変長符号化(Variable Length Coding、以下、「VLC」と称す)は情報源符号化における基礎技術であり、情報源シンボルの発生確率に応じて長さの異なる符号語を割り当てることで情報量を圧縮する。例えば、図24に示すような符号化規則によれば、0以上の値(codeNum)を1、3、5、...ビットの可変長符号語に変換する。なお、同図において、xnn-1、…、x0のビット列の部分がデータ値(codeNum)によって変更される部分である。例えば、1または2の値(codeNum)を符号化する場合、3ビットの符号語に変換され、7から14までのいずれかの値を符号化する場合、7ビットの符号語に変換される。このようにVLCでは、符号化対象のデータの値(codeNum)により符号化後の語長が異なる。
VLCは、MPEGに代表される、動画像符号化の分野の規格において採用されている。VLCの適用対象は、画像の画素ブロックのDCT係数や動きベクトルのような画像の符号化データのシンタックスと、ヘッダに記述されるシンタックスの2種類に大別される。近年の画像圧縮技術に含まれる符号化ツールの多様化・複雑化に伴って、ヘッダに記述されるシンタックスの種類が増加しており、符号量削減の観点からヘッダに記述されるシンタックスにVLCを適用するものも増加している。
一方、H.264/AVC規格(ISO/IEC14496−10)(非特許文献1)では、シーケンスパラメータセット(Sequence parameter set、以下、「SPS」と称す)、ピクチャパラメータセット(Picture parameter set、以下、「PPS」と称す)、及びスライスヘッダ(Slice header)に含まれる多くのシンタックスでVLCが採用されている。
図21から図23に、H.264におけるSPS、PPS、スライスヘッダそれぞれのシンタックスの概要を示す。これらの図において、Descriptorがue(v)又はse(v)であるものはVLCで符号化されたシンタックスを意味する。ue(v)は、図24に示すような、0以上の値(codeNum)を1、3、5、...ビットの可変長符号に符号化する方式を示す。se(v)は、図25に示すように、符号付きの値をcodeNumに変換した後に図24のVLCで符号化するものを示す。
H.264のバイトストリームの構成を、図26から図29を用いて説明する。画像の符号化データは、図28に示すスライスデータ(slice_data)に格納される。スライスとは、ピクチャをn個(n≧1)に分割した単位であり、マクロブロックの集合である。スライスデータは、図27に示すスライスレイヤ(slice_layer_without_partitioning_rbsp)において、スライスヘッダと共に符号化される。SPS、PPS、スライスレイヤは図26に示すNALユニット(nal_unit)としてパケット化される。SPS、PPS、スライスレイヤの各NALユニットを一つのストリームに多重化する場合、各NALユニットを図29に示すバイトストリームNALユニット(byte_stream_nal_unit:以下「BNU」と称す)にパケット化した後、一つのバイトストリームに接続する。
映像編集装置にて、H.264に準拠した複数のバイトストリームを接続する際の処理を図30を用いて説明する。具体的には図、映像編集装置において、ストリームA(150)の部分ストリームa(153)と、ストリームB(160)の部分ストリームb(163)とを接続し、ストリームC(170)を作成する処理を説明する。
ストリームA(150)は、SPS110のバイトストリームNALユニット(以下、「SPS−BNU」と称す)151、PPS111のバイトストリームNALユニット(以下、「PPS−BNU」と称す)152、接続したいシーンの部分ストリームa(153)を含む。同様に、ストリームB(160)は、SPS−BNU161、PPS−BNU162、部分ストリームb(163)を含む。部分ストリームa(153)及び部分ストリームb(163)はそれぞれ、バイト/NALヘッダ(例えば、101)、スライスヘッダ(例えば、120)及びスライスデータ(例えば、121)の組を1つまたは複数含んでいる。
ここで、ストリームA(150)及びストリームB(160)は全てIDR(Instantaneous Decoding Refresh)ピクチャから構成され、ストリームA(150)及びストリームB(160)においてIDRピクチャの符号量が全て同一の場合を仮定する。また、SPS及びPPSは、バイトストリームの先頭にのみ配置される場合を仮定する。
H.264規格では、IDRピクチャの識別情報(ID)としてidr_pic_idが規定されている。idr_pic_idは、図23に示ように、スライスヘッダに含まれ、そこにはVLCで符号化された値が格納される。また、H.264規格では、ストリームの互換性保証のため、隣接するIDRピクチャのidr_pic_idは異なる値に設定することが必要となる。
前述の仮定に従えば、部分ストリームa(153)及び部分ストリームb(163)を接続する処理は、部分ストリームa(153)と部分ストリームb(163)を連結して新しいバイトストリームC(170)を作成し、再生及び互換性の保証のため、接続点のピクチャ内の全てのスライスヘッダに含まれるidr_pic_idを、隣接するピクチャと異なる値に書き換えることで実現される。すなわち、接続前のストリームA(150)及びストリームB(160)単体ではidr_pic_idの値は隣接ピクチャ間で異なっていることが保証されているが、ストリームの接続後も、接続点において新たに隣接するピクチャ間でidr_pic_idの値が異なることを保証する必要がある。
ISO/IEC14496−10 Advanced video coding for generic audiovisual services.
接続点において新たに隣接するピクチャ間でidr_pic_idの値が異なることを保証するために、接続後のストリームにおける接続点直後のストリームにおいて、idr_pic_idの値を書き換える必要がある。
idr_pic_idの値はVLCにより得られる。このため、あるIDRピクチャのidr_pic_idの値を、それに隣接するIDRピクチャの値と異なるように書き換える場合、書き換え前後でidr_pic_idの符号語の長さが異なる場合がある。この場合、そのidr_pic_id以降のデータを修正する必要が生じるため処理が複雑なものとなる。
例えば図31のように、記録媒体に記録されたストリームの接続点近傍における隣接するIDRピクチャ間でidr_pic_idの値を異ならせるために、アドレス0x80002にあるidr_pic_idの符号語「011」を符号語「00101」に書き換える場合を考える。書き換え後の符号語「00101」は書き換え前の符号語「011」よりも2ビット長いため、この書き換え処理により0x80002以降のアドレスに存在するデータを全て2ビットずつシフトする必要が生じる。
上記のようなシフト処理は、複数ビット長のデータを線形アドレスにより管理する全ての記録媒体、つまりメモリに代表される1次記録媒体やハードディスクに代表される2次記録媒体を含む多くの記録媒体において必要となってしまう。
以上説明したように、H.264規格に基づいて符号化された複数のバイトストリームを接続する場合、互換性保証及び再生保証のため記録媒体上でスライスヘッダに含まれるidr_pic_idを書き換える必要がある。しかし、異なる符号長の符号語に書き換えざるを得ない場合に、前述のシフト処理が発生し、データ領域の書き換えが発生する。このデータ領域の書き換えは、CPUの処理能力が限られる場合や記録媒体のアクセス速度があまり高くない場合に処理時間を大きく遅延させるという課題がある。また光ディスクのように書き換え回数を抑えたい記録媒体に対して、必要以上の書き換えを行って記録媒体の寿命を縮めてしまうという課題もある。また、スライスヘッダに含まれるpic_parameter_set_idを書き換える際にも、同様の課題がある。
本発明は、上記課題を解決すべくなされたものであり、その目的とするところは、例えばH.264に準拠したバイトストリームの接続時に、必要以上のデータ書き換えを発生させない符号化装置、及び接続時のCPUの処理負荷や記録メディアの書き換え回数を抑制することのできる編集装置を提供することにある。
本発明の編集装置は、可変長符号化されたパラメータを含む第1及び第2のストリームを接続するための編集装置であって、前記第1及び第2のストリームの接続点において新たに隣接する第1のストリームに含まれる符号化された第1のパラメータと第2のストリームに含まれる符号化された第2のパラメータとは異なる値に設定することが必要とされる編集装置である。編集装置は、前記第1のパラメータと、前記第2のパラメータとを比較し、前記第1のパラメータと前記第2のパラメータが同一の値であるかに基づいて前記第1のパラメータ及び前記第2のパラメータのうち少なくともいずれか一方を置換すべきか否かを判定する判定手段と、前記判定手段により置換すべきと判定された場合は、前記第1のパラメータ及び前記第2のパラメータのうち少なくともいずれか一方を、前記第1及び第2のパラメータに付与された符号語と等しい長さを有する他の符号語に置換する置換手段とを備える。
本発明の符号化装置によれば、可変長符号化されたパラメータを含むストリーム(例えばH.264のバイトストリーム)の接続時に、パラメータを変更した場合であっても、パラメータの符号長を変化させないため、不必要なデータ書き換えの発生を抑制できる。
また、本発明の編集装置によれば、ストリームの接続時に、可変長符号化されたパラメータを含むヘッダを書き換える必要がある場合に、書き換えられるヘッダと同じ符号長を持つ符号語を用いて互換性保証が行える場合は、接続部のヘッダの符号語をその符号語で書き換えし、一方、同じ符号長を持つ符号語が存在しない場合、所定のデータ単位でのデータ長が変化しないようヘッダの書き換えが行われる。このため、ヘッダの書き換えにより必要以上のデータ書き換えを発生させることのない符号化装置、及び接続時のCPUの処理負荷や記録メディアの書き換え回数を抑制することができる。
実施の形態1における映像符号化回路の構成図 実施の形態1におけるidr_pic_idの符号化を説明する図 実施の形態1におけるストリームの接続時の処理を説明する図 実施の形態1における映像記録装置の例を示す図 実施の形態1における映像記録装置の内部構成図 実施の形態2におけるピクチャパラメータセットを記憶・管理するテーブルを示す図 実施の形態2におけるpic_parameter_set_idの符号化を説明する図 実施の形態2におけるストリームの接続時の処理を説明する図 実施の形態2におけるストリームの接続時の処理を説明する図 実施の形態3における映像編集装置の例を示す図 実施の形態3における映像編集装置の内部構成図 実施の形態3における映像編集装置のディスプレイ表示例を示す図 実施の形態3におけるストリームの接続処理を示すフローチャート 実施の形態3におけるSPS・PPSの読み込み・生成処理を示すフローチャート 実施の形態3におけるID書き換え処理を示すフローチャート 実施の形態3におけるID書き換え処理を示す図 実施の形態3におけるID書き換え処理を示す図 実施の形態3におけるFATファイルシステムのボリューム構造を示す図 実施の形態3におけるFATファイルシステムのデータ構造を示す図 実施の形態3におけるストリームを記録媒体にファイルとして記録する場合の例を示す図記録媒体 H.264におけるSPSのシンタックスを示した図 H.264におけるPPSのシンタックスを示した図 H.264におけるスライスヘッダのシンタックスを示した図 Descriptorがue(v)であるものをVLCで符号化するときの符号化規則を示した図 Descriptorがse(v)であるものがVLCで符号化するときの符号化規則を示した図 H.264におけるNALユニットの構成を示した図 H.264におけるスライスレイヤの構成を示した図 H.264におけるスライスデータの構成を示した図 H.264におけるバイトストリームNALユニットの構成を示した図 実施の形態1で前提とするバイトストリームの接続処理の概要を示す図 従来の装置におけるストリーム修正の説明図
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
1.映像符号化装置の構成
本実施の形態では、IDR(Instantaneous Decoding Refresh)ピクチャを用いて符号化された複数のバイトストリームの接続時に、IDRピクチャの識別情報(ID)であるidr_pic_idに対して異なる符号長の符号語への書き換えが発生しないように、バイトストリームの符号化を制御する映像符号化装置を示す。
図1に、本発明の実施の形態1における映像符号化装置に含まれる映像符号化回路を示す。映像符号化回路700は、ヘッダ生成・多重化回路701、DCT回路710、逆DCT回路711、量子化回路720、逆量子化回路721、量子化ステップ決定回路730、エントロピー符号化回路740、イントラ予測回路750、インター予測回路760、動き予測回路761、及びデブロックフィルタ回路770から構成される。なおIDRピクチャのみの符号化を行う場合は、動き予測回路761、インター予測回路760は使用されない。
2.映像符号化回路の動作
以下に映像符号化回路700の動作を説明する。
最初に、フレーム内のデータのみで復号可能となるイントラマクロブロックの符号化について説明する。マクロブロックは通常16×16画素のブロックであり、後述するDCTやイントラ予測の単位となるブロックを複数個含む。
入力されたディジタル映像信号790に含まれる符号化対象のマクロブロックと、イントラ予測回路750で予測された符号化対象のマクロブロックとの間で、画素毎に画素値の差分が計算され、16×16画素の差分値のブロックが生成される。
DCT回路710は、差分値のブロックに対してDCT処理を実行する。この処理は、通常4×4画素や8×8画素のブロック単位に行われ、周波数成分の変換係数が出力される。変換係数は量子化回路720に入力されて量子化される。量子化された変換係数は、エントロピー符号化回路740により符号化される。H.264におけるエントロピー符号化には、コンテキスト適応可変長符号化(Context−Adaptive Variable Length Coding:CAVLC)と、コンテキスト適応算術符号化(Context−Adaptive Binary Arithmetic Coding:CABAC)のいずれかを用いる。エントロピー符号化された後の発生符号量は、量子化ステップ決定回路730に入力される。量子化ステップ決定回路730は、発生符号量が目標符号量に近づくように量子化回路720の量子化ステップの値を制御する。さらに、量子化後の係数は逆量子化回路721と逆DCT回路711にて復号され、イントラ予測回路750に入力される。イントラ予測回路750は、後に符号化される周辺のマクロブロックに対する画素予測値を作成する。
次に、フレーム間予測を用いるインターマクロブロックの符号化について説明する。動き予測回路761は、現在符号化しているブロック(動き補償の単位となるブロック)と参照フレームの画素とのマッチング処理を行い、誤差が最小となるようなベクトル値が算出される。動き予測の結果に基づいてインター予測回路760が出力した、符号化対象のマクロブロックの画素予測値と、入力したディジタル映像信号790における符号化対象のマクロブロックの画素値との差分が計算され、DCT回路710に入力される。この後の処理は、基本的にイントラマクロブロックの符号化と同様である。インター符号化の場合には、視覚的なブロック歪みの低減のためにデブロックフィルタ回路770を用いる場合が多い。
ヘッダ生成・多重化回路701はスライスヘッダを生成し、生成したスライスヘッダをエントロピー符号化回路740で符号化されたスライスデータに付加し、バイトストリームNALユニット791として出力する。その際、ヘッダ生成・多重化回路701はidr_pic_idをスライスヘッダに組み込む。
本実施の形態による映像符号化回路700では、ヘッダ生成・多重化回路701は、ピクチャにidr_pic_idを付与する際、図24に示した符号化規則にしたがい符号語を割り当てる。図24に示す符号化規則では、データ値(codeNum)をいくつかの範囲(グループ)に分けており、各範囲(グループ)内では、符号語の符号長は同一であるが、範囲(グループ)毎に、割り当てる符号語の符号長は異ならせている。例えば、データ値が3〜6の範囲に含まれる符号語の長さは全て5ビットであるが、7〜14の範囲では、7ビットである。
特に、本実施の形態による映像符号化回路700(具体的には、ヘッダ生成・多重化回路701)は、idr_pic_idを付与する際、複数のcodeNumの範囲のうち、含まれる符号語の数が3個以上存在する範囲を1つ選択し、その選択した範囲に含まれる複数の符号語群の中から1つを選択して、idr_pic_idに割り当てる。例えば、図24の例では、5ビット以上の符号語を含むcodeNumの範囲、すなわち「001x10」、「0001x210」、「00001x3210」、・・・に対応するcodeNumの範囲のうちの1つが選択される。例えば、データ値が3〜6の範囲(001x10)が選択された場合、idr_pic_idの値は、3、4、5、6のいずれかの値に割り当てられる。
図2は、3〜6のcodeNumの範囲を選択してidr_pic_idを付与した場合の、idr_pic_idの付与の例を説明した図である。映像符号化回路700は、ストリームA(150)及びストリームB(160)の生成時に、i番目(iは0以上の整数)のIDRピクチャのスライスヘッダを生成する際にidr_pic_idの値を下記式により求める。
idr_pic_idの値=3+(i%3)
ここで、%は剰余を与える演算子である。
H.264規格によれば、idr_pic_idは、隣接するIDRピクチャ間で同一の値を持たないように付与される必要がある。図24より、codeNumが3〜6の場合、idr_pic_idの符号長はいずれも5ビットとなる。よって、同一範囲に含まれる符号語を用いてidr_pic_idの値を書き換えても、符号長は変化しない。したがって、このように符号化することで、例えば図2に示す部分ストリームa(153)と部分ストリームb(163)を接続する際に、図3に示すように、接続点近傍のピクチャ#m+3とピクチャ#nのidr_pic_idが同一の値(ここでは、3)となる場合でも、容易にidr_pic_idの値を別の値に変更することができる。この例では、ピクチャ#m+3とピクチャ#nのidr_pic_idが共に3となっており、ピクチャ#n+1のidr_pic_idが4であるため、ピクチャ#nのidr_pic_idを5に書き換える。このように、idr_pic_idとして、同一の符号長が3個以上存在するcodeNumの範囲内の値を用いているため、ピクチャ#nのidr_pic_idを隣接するピクチャ#m+3及びピクチャ#n+1のいずれとも異なりかつ符号長が同じ値「5」に書き換えることが可能となる。なお、図2は簡単のため部分ストリームa(153)及び部分ストリームb(163)の長さを4ピクチャ分ずつにしているが、任意の長さでも書き換えが可能なことは明らかである。
なお、本実施の形態による映像符号化回路700が符号化する全てのストリームに対して、idr_pic_idに使用するcodeNumの範囲を同一にする必要はない。画像の水平画素数、垂直画素数、ビットレート等のパラメータが同一である場合、もしくは接続が意味のある場合にのみ、同一の範囲を選択すれば良い。例えば高ビットレートと低ビットレートの2種類のビットレートで符号化し、高ビットレートのストリームは素材映像として、低ビットレートのストリームはプレビュー用の映像として用いる場合を考える。この場合低ビットレートのストリームは接続の必要性がないため、低ビットレートの符号化では符号長を最小とするためidr_pic_id=i%2とし、高ビットレートではidr_pic_id=3+(i%3)とすることが考えられる。
3.記録装置
図4に、上記の映像符号化回路700を搭載する映像記録装置の外観図を示す。映像記録装置600は、レンズ691及びマイク692を介して入力された映像及び音声を、本体に内蔵した映像符号化回路700により符号化し、ドライブ690に挿入された記録メディア500に記録するものである。
図5に映像記録装置600の内部構成を示す。映像記録装置600は、レンズ691、マイク692、撮像素子687、AD変換回路688、689、音声処理回路686、CPU681、メモリ682、不揮発性メモリ683、バスコントローラ685、及び映像符号化回路700から構成される。CPU681は映像記録装置600全体の制御を行う。不揮発性メモリ683はCPU681が実行するためのプログラムを格納する。バスコントローラ685は記録メディア500への入出力を制御する。
外部から入射した映像はレンズ691を通して集光され、撮像素子687で撮像され電気信号に変換される。AD変換回路688はその電気信号をディジタル映像信号に変換する。映像符号化回路700は、ディジタル映像信号をH.264のバイトストリームに符号化し、記録メディア500に記録する。記録メディア500に記録されたバイトストリームは、撮影の終了後に映像編集装置(後述)にて編集される。
4.まとめ
以上説明したように、本実施の形態では、編集時に、IDRピクチャを用いて符号化された複数のバイトストリームの接続を行う際の処理負荷を軽減することのできる映像符号化装置を実現できる。
なお、本実施の形態では、全てのピクチャがIDRピクチャであるとの前提に基づいたが、2つのストリームの接続点で隣接するピクチャが共にIDRピクチャである場合等、前記仮定が成り立たない場合でも適用できることは明らかである。
また、ピクチャの符号量が全て同一の場合、もしくは仮想参照デコーダのバッファ制約が維持できる場合を仮定したが、バッファ制約を維持するために映像編集装置にて以下の操作を行うこともできる。
・部分ストリームa(153)終了後のバッファ占有度(VA)が接続前の部分ストリームb(163)開始直前のバッファ占有度(VB)より大きい場合は、(VA−VB)バイトのtrailing_zero_8bits(パディングビット)を部分ストリームa(153)終了直後に挿入することでバッファ占有度をVBに合わせることができる。
・VAがVBより小さい場合は、部分ストリームa(153)の最後の数ピクチャを再エンコードする等して、バッファ占有度をVBにすることができる。
以上の方法により、本実施の形態の思想を前述の前提に関わらず適用できる。
また、SPS又はPPSがバイトストリームの先頭にのみ配置される場合を仮定したが、PPSは必ずしも先頭に配置される必要はなく、部分ストリームb(163)のSPSが部分ストリームa(153)のSPSと共通化されない場合は必ずしも先頭に配置される必要はない。
idr_pic_idを符号化する場合を例にとって説明したが、本発明は、SPS、PPS、スライスヘッダを含む全てのパラメータにおいて、VLCで符号化されるシンタックスを符号化する場合に適用できる。また、バイトストリームの存在を前提としたが、NALユニットを多重化する態様はこれに限定されるものではない。
(実施の形態2)
本実施の形態では、複数のバイトストリームの接続時に、PPS(ピクチャパラメータセット)の識別情報を示すpic_parameter_set_idについて書き換えが発生しないように符号化を行う映像符号化装置を示す。本実施の形態は、特に複数のPPSが符号化された、複数のバイトストリームの接続を行う際に有効である。映像符号化装置の基本的な構成は、実施の形態1で説明したものと同じである。
本実施の形態では、ヘッダ生成・多重化回路701において、PPSの内容と、pic_parameter_set_id(以下「PPSID」と称す)との組み合わせを記憶、管理する。具体的には、本実施形態の映像符号化装置により生成されるストリームにおいて符号化される全てのPPSについて、シンタックスが異なる場合は、異なるPPSIDが付与されるように符号化が行われる。
図6に、ヘッダ生成・多重化回路701においてPPSを記憶・管理するテーブルの例を示す。PPSのシンタックスの値が異なる場合、異なるPPSIDが付与される。図6において、例えば、PPSID=0のPPSのシンタックスにおいてpic_init_qp_minus26を10に変更したPPSを用意する場合、PPSID=1を追加する。同様に、PPSID=0のPPSのシンタックスにおいてchroma_qp_index_offsetを3としたPPSを用意する場合、PPSID=2を追加する。PPSID=0のPPSに対してpic_init_qp_minus26を10に、chroma_qp_index_offsetを3に変更したPPSは、PPSID=0、1、2のいずれとも異なるPPSであるので、PPSID=3を追加する。このように、一意にPPSIDが付与されるようにPPSの管理テーブルを更新する。映像符号化装置において、ヘッダ生成・多重化回路701は図6に示すようなPPSの管理テーブルを参照することで、重複することなく一意にPPSIDを付与することができる。
図7を参照し、ヘッダ生成・多重化回路701によるPPSIDの付与処理について説明する。ストリームA(150)の符号化において、PPSID=0、1を持つ2種類のPPSが必要な場合、その2種類のPPSを出力し、各スライスヘッダにおいて参照するPPSIDの値を出力する。同様にストリームB(160)の符号化において、PPSID=0、2、3の3種類のPPSが必要な場合、3種類のPPSを出力し、各スライスヘッダにおいて参照するPPSIDの値を出力する。重要な点は、ストリームA(150)及びストリームB(160)を通して、PPSIDが一意に定義される点である。
図8に、映像編集装置を用いて、図7で示した部分ストリームa(153)と部分ストリームb(163)を接続する例を示す。まず、接続後のストリームで必要となるPPSを全て出力する。スライスヘッダのPPSIDは、本実施形態の映像符号化装置で符号化する限りは一意になっているので、可変長符号化されているPPSIDを書き換えることなく接続することが可能となる。一般にPPSIDを異なる長さの符号語に書き換える処理の負荷はストリームの長さに比例して増大するため、PPSIDの書き換えを生じない本発明は非常に有効である。
なお、図7及び図8ではPPSを全てSPSの直後に出力したが、図9のようにPPSIDが最初に出現するピクチャの直前に配置することも可能である。また、後述する実施の形態4の説明と同様に、本実施の形態による映像符号化装置が符号化する全てのストリームに対して、図6のようにPPSIDを一意とする必要はない。画像の水平画素数、垂直画素数、ビットレート等のパラメータが同一もしくは接続して意味のある場合のみ、一意のPPSIDから選択すれば良い。
以上説明したように、本実施の形態では、符号化を行う際に、特に複数のピクチャパラメータセットが符号化された複数のバイトストリームの接続を行う際の処理負荷を軽減できる映像符号化装置を実現できる。
(実施の形態3)
本実施の形態では、IDRピクチャを用いて符号化された複数のバイトストリームの接続時に、接続点に隣接するIDRピクチャのidr_pic_idの値が重複せず、かつ記録媒体上で値を書き換える領域をできる限り小さくするように構成した映像編集装置を示す。
1.映像編集装置の構成
図10に本実施の形態にかかる映像編集装置の例を示す。映像編集装置501はコンピュータ502を用いて実現できる。コンピュータ502は、映像データが記録された記録メディア500を装填するための内蔵ドライブ590又は外付けドライブ591を有する。記録メディア500は、メモリカード、光ディスク、リムーバブルハードディスク等を含む。また、コンピュータ502はネットワークケーブル594または無線でネットワークと接続され、映像データの送受信を行っても良い。コンピュータ502には、オペレータが映像編集を行うためのディスプレイ592及びキーボードマウス等の入力装置593が接続される。
映像編集装置501の内部構成を図11に示す。映像編集装置501は、CPU581、メモリ582、プログラムやオペレーションシステム(以下「OS」と称す)を格納するハードディスク583、それらを接続する内部バス584を含む。ハードディスク583はプログラムやオペレーションシステム(以下OS)を格納する。映像編集装置501はさらに、記録メディア500を接続するためのバスコントローラ585、ネットワークを介して映像データを入出力するためのネットワークコントローラ588、ディスプレイ592を接続するためのグラフィックコントローラ587、入力装置593を接続するための入力デバイスコントローラ586を含む。
記録メディア500の接続形態としては、例えばATA(AT Attachment)、USB(Universal Serial Bus)がある。OS及びプログラムは、ハードディスク583に格納されており、必要に応じてメモリ582にロードされCPU581により実行される。映像編集装置501の映像編集機能はOS上で動作するプログラムにより実現される。
映像編集装置501のディスプレイ592上の表示例を図12に示す。ディスプレイ592には、ビデオ編集のためのタイムライン571、オーディオ編集のためのタイムライン572、再生映像を表示するためのプレビューウィンドウ573、キャプチャされた映像素材の一覧を表示するビンウィンドウ574が表示されている。バイトストリームの接続は、入力装置593を用いて、ビンウィンドウ574上に表示された複数の映像素材データを選択して、ビデオのタイムライン571に貼り付け、ファイル出力(レンダリング)することで実施できる。
なお、以下の説明では、図11におけるメモリ582、ハードディスク583、記録メディア500、ネットワークコントローラ588を介したネットワークドライブといった記録媒体上に、図30に示した部分ストリームa(153)、部分ストリームb(163)が存在している状態を仮定する。そのような記録媒体上で、部分ストリームa(153)と部分ストリームb(163)を接続したストリームC(170)を作成する。よってストリームC(170)の作成は、理想的には記録媒体上の領域管理情報を、部分ストリームa(153)及び部分ストリームb(163)を連結させるように書き換える操作のみによって実現される。
本実施形態は、idr_pic_idを対象としたID書き換え処理によって特徴づけられる。idr_pic_idを対象としたID書き換え処理とは、IDRピクチャを用いて符号化された複数のバイトストリームを接続する際に、接続点に隣接するピクチャのID(idr_pic_id)の値が重複せず、かつ記録媒体上で値を書き換える領域をできる限り小さくするように構成した処理である。
2.ストリーム接続処理
図13のフローチャートを用いて本実施の形態における映像編集装置によるストリーム接続処理を説明する。
まず、SPS・PPSの読み込み・生成処理を行う(S11)。ここでは、図30のストリームA(150)のSPS−BNU(151)、ストリームB(160)のSPS−BNU(161)を読み込んで、ストリームC(153)のSPS−BNU(171)を生成する。ストリームC(153)のSPS−BNU(171)は、ストリームA(150)のSPS−BNU(151)やストリームB(160)のSPS−BNU(161)と同じにする場合、新たに記憶領域上に作成する必要はない。同様に、ストリームA(150)のPPS−BNU(152)、ストリームB(160)のPPS−BNU(162)を読み込んで、ストリームC(170)のPPS−BNU(172)を生成する。
続いて、部分ストリームa(153)の最終ピクチャのID(id_Alast)の読み込み(S12)、部分ストリームb(163)の1番目のピクチャのID(id_B1)の読み込み(S13)、部分ストリームb(163)の2番目のピクチャのID(id_B2)の読み込み(S14)を行う。
ストリームからID即ちidr_pic_idを取得するには、以下のようにすれば良い。まずストリーム上で図29のstart_code_prefix_one_3bytesをサーチし、図26のNALユニットに含まれるnal_unit_typeの値を判別することで、スライスレイヤが含まれるNALユニットを確定する。スライスレイヤのスライスヘッダを解析することでidr_pic_idの値を取得することができる。
次にID書き換え処理を行う(S15)。この処理では、隣接するピクチャのidr_pic_idが同じとなる場合、idr_pic_idを書き換える。最後に領域管理情報の更新を行う(S16)。本処理では、SPS・PPS、部分ストリームa(153)、及び部分ストリームb(163)を一つのストリームに関連づけて終了する。
さらに、ストリームA(150)内の部分ストリームa(153)以外の部分、ストリームB(160)の部分ストリームb(163)以外の部分についても、SPS、PPSを加えてバイトストリームとして成立するように領域管理情報が更新される。
図14のフローチャートを用いてSPS・PPSの読み込み・生成処理(S11)の詳細を説明する。
ストリームA(150)のSPS(110)の読み込み、ストリームB(160)のSPSの読み込みを行う(S111、S112)。2つのSPSを比較し、それらが共用可能であるか否かを判定する(S113)。この判定は以下のように行う。第一に、2つのSPSが全く同じバイト列の場合、共用可能と判定する。第二に、2つのSPSがseq_parameter_set_idのみ異なる場合、共用可能と判定し、いずれかのseq_parameter_set_idを採用する。それ以外の場合、共用不可能と判定する。共用可能と判定された場合、共通するSPSを出力する(S114)。共用不可能と判定された場合、ストリームAのSPS及びストリームBのSPSを出力する(S119、S120)。
次に、ストリームA(150)のPPSの読み込み、ストリームB(160)のPPSの読み込みを行う(S115、S116)。2つのPPSを比較し、共用可能か否かを判定する(S117)。この判定は以下のように行う。第一に、2つのPPSが全く同じバイト列の場合、共用可能と判定する。但し、ステップS113でSPSのseq_parameter_set_idが異なっていた場合は、全く同じバイト列になることはない。第二に、2つのPPSがpic_parameter_set_idのみ異なる場合、共用可能と判定し、いずれかのpic_parameter_set_idを採用する。それ以外の場合、共用不可能と判定する。共用可能と判定された場合、共通のPPSの出力を行う(S118)。共用不可能と判定された場合、ストリームAのPPS及びストリームBのPPSの出力を行う(S121、S122)。
なお、ストリームA(150)の部分ストリームa(153)以外の部分や、ストリームB(160)の部分ストリームb(163)以外の部分も記録媒体上でバイトストリームとして残す場合、最終的に記録媒体上に生じるストリーム数に対応した数のSPS・PPSを記録メディア500等に出力する必要がある。
図15のフローチャートを用いてID書き換え処理(S15)の詳細を説明する。
CPU581により、部分ストリームbの1番目のピクチャのID(id_B1)と部分ストリームaの最終ピクチャのID(id_Alast)を比較し、IDが重複しているか(同じ値か)否かを判定する(S151)。IDが重複していない場合、ID書き換え処理を終了し、IDが重複している場合、以下の処理を行う。
id_B1と符号長が同じでかつid_Alast及びid_B2と重複しないIDが存在するかを判定する(S152)。例えば、図24に示すVLCを用いる場合、id_Alast=7、id_B1=7、id_B2=10の場合、id_B1と符号長が同じでかつid_Alast及びid_B2と重複しないID(符号語)として、8、9、11、12、13、14が存在する。該当するIDが存在する場合は、id_B1を該当のIDで書き換える(S157)。存在しない場合、例えばid_Alast=1、id_B1=1、id_B2=2のような場合は、スライスヘッダの長さが変更されることを許容する。すなわち、この場合は、id_Alastやid_B1とは異なるcodeNumの範囲に含まれる符号語が新たにid_B1に割り当てられる。
次にentropy_coding_mode_flag=1かつ、部分ストリームb(163)の1番目のピクチャに含まれる全てのスライスでcabac_alignment_one_bit≧1かを判定する(S153)。コンテキスト適応算術符号化(CABAC)で符号化されている場合(entropy_coding_mode_flag=1)、スライスヘッダの終了点がバイトアライメントされていなければ、スライスデータの先頭に図28に示したcabac_alignment_zero_bitが1ビット以上存在する。部分ストリームb(163)の1番目のピクチャに含まれる全てのスライスでcabac_alignment_one_bit≧1であれば、cabac_alignment_one_bitを1ビット削減することで、データ量の多いスライスデータをシフトせずにid_B1を、今の符号長よりも1ビットだけ長い符号語で置き換えることが可能である。
図16に示すように、id_B1を、(現在のid_B1の符号長+1ビット)のサイズのIDで書き換え(S158)、さらに、cabac_alignment_one_bitの直前までのスライスヘッダ120を1ビットシフトする(S159)。(現在の符号長+1ビット)のサイズのIDには、必ずid_Alast及びid_B2と重複しないIDが含まれる。この場合、1つのcabac_alignment_one_bitが削除される。なお、ステップS158において、id_B1を、現在の符号語よりもNビット(N≦7の自然数)だけ長い符号語で置換してもよい。このときは、スライス内に存在するN個のcabac_alignment_one_bitが削除される。
ステップS153の条件が成立しない場合、ピクチャ内のtrailing_zero_8bitsの数がピクチャ内のスライス数以上かを判定する(S154)。trailing_zero_8bitsは、図29に示したNALユニット(nal_unit)の終了後に配置されるため、各スライスレイヤの末尾に0個以上存在する。図17に示すように、部分ストリームb(163)の1番目のピクチャ内のtrailing_zero_8bitsの数がピクチャ内のスライスの数以上の場合、id_B1を(現在のid_B1の符号長+8ビット)のサイズのIDで書き換えるとともに(S160)、trailing_zero_8bitsまでのスライスレイヤのデータを8ビット(=1バイト)シフトする(S161)。図17の例では、スライス#1直後のtrailing_zero_8bitsを1個減らせば、スライス#1全体の符号長は変わらない。
スライス#1から#3のようにスライスレイヤの直後にtrailing_zero_8bitsが存在しない場合でも、スライス#1を1バイト、スライス#2を2バイト、スライス#3を3バイト、スライス#4を4バイトシフトし、スライス#4直後のtrailing_zero_8bitsを4個減らせば良い。この処理ではピクチャの符号長は変わらないため、以降のピクチャに影響を及ぼすことはない。
図15において、ピクチャ内のtrailing_zero_8bitsの数がピクチャ内のスライス数より小さい場合は、ピクチャの符号長が増加する。ステップS154において、id_B1を(id_B1の符号長+8ビット)のサイズのIDで書き換えたが、符号長はこの長さに限るものではない。符号語のサイズを(id_B1の符号長+8ビット)とした理由は、スライスレイヤのデータをバイト単位でシフトすれば良いため、処理がより簡単になることによる。ステップS155において増加した符号長の分だけ、シフト処理を行う(S156)。この処理は、trailing_zero_8bitsを用いて符号長が増加した分を吸収できるまで、もしくは部分ストリームb(163)の終端まで続けられる。例えば、符号語の増加分は、8ビット(=1バイト)の整数倍に設定してもよい。
領域管理情報の更新処理(S16)の具体例を、クラスタ管理情報を例にとって説明する。
クラスタ管理情報とは、FATファイルシステムにおけるファイルアロケーションテーブル(FAT)のように、各ファイルを構成するディスク上のデータが格納されるクラスタのリンク情報を記録したものである。ここで、クラスタとは、ファイル(ストリーム)が記録されている領域を管理する際に使用されるアクセス単位である。1つのファイル(ストリーム)の記録領域はクラスタの集合で表わされる。図18にFATファイルシステムのボリューム構造を示す。同図は、記録メディア500等の物理ドライブ800内に設定された論理ドライブ801を、FATファイルシステムでフォーマットした時の領域構造を示している。ファイルアロケーションテーブル804は、図19のようにクラスタ番号143のテーブルであり、ユーザデータ領域806に記録されたクラスタ単位の部分データ144の連結関係を示すものである。図19の例では、クラスタ番号3、4、7が一つのファイル145であることを示している。
ID(パラメータ)が書き換えられた場合、そのIDを含むクラスタのみ情報が書き換えられる。そして、本実施の形態の領域管理情報の更新処理(S16)においては、SPS、PPS、部分ストリームa(153)及び部分ストリームb(163)のそれぞれの記録領域に対応するクラスタ間の連結関係をファイルアロケーションテーブル804上で変更することによって、SPS、PPS、部分ストリームa(153)及び部分ストリームb(163)を1つのファイルに接続することが可能となる。
本実施の形態において使用するストリームを、映像符号化装置によりハードディスクや光ディスク等の記録媒体にファイルとして記録する場合の例について、図20を用いて説明する。
図20のように、ストリームA(150)及びストリームB(160)は、記録メディア500等の記録媒体に、各ピクチャデータの先頭がファイルシステムの記録単位であるクラスタ141の先頭にアライメントされて記録されている。本実施の形態は、このように部分ストリームa(153)の末端と部分ストリームb(163)の先頭がアライメントされて記録される場合に、接続後のストリームを書き換える必要がないため特に有効となる。映像符号化装置による符号化時に、各ピクチャデータの末尾がクラスタ境界142に合わない場合は、無効領域であるスタッフィングバイト(trailing_zero_8bits)131を用いてスタッフィングされる。記録された部分ストリームa(153)と、部分ストリームb(163)を本実施の形態で前述した方法に従い接続する。なお、クラスタ141にアライメントされる単位は、ピクチャ以外にもスライスやGOP(Group Of Pictures)等、ストリームを接続する可能性のある単位を用いることができる。なお、図20では1ピクチャに含まれるスライス数を2個としているが、任意のスライス数に適用できることは明らかである。ピクチャの先頭がクラスタ境界になる前提で説明したが、GOP等、ストリームの編集単位の先頭がクラスタ境界である場合にも適用できる。さらには部分ストリームa(153)及び部分ストリームb(163)の接続点がクラスタ境界である場合にも適用できる。
3.まとめ
以上説明したように、本実施の形態では、可変長符号化されたパラメータ(idr_pic_id)を含むストリーム(例えばH.264のバイトストリーム)の接続時に、パラメータに対する可変長符号語として、同じ符号長を持つ符号語を用いて互換性保証が行える場合、接続部のヘッダの符号語を当該符号語で書き換え、さらに同じ符号長を持つ符号語が存在しない場合にも、データの書き換えに要する処理負荷をできる限り抑制するよう、パラメータを書き換える。これにより、IDRピクチャを用いて符号化された複数のバイトストリームを接続する際に、隣接するピクチャのidr_pic_idの値が重複せず、かつ記録媒体上で値を書き換える領域をできる限り小さくするように構成した映像編集装置を実現できる。ここで値を書き換える領域ができる限り小さくできるのは次の理由からである。
1)id_B1を等長の符号語で書き換え可能な場合(S157)は、当該ピクチャに含まれる全てのスライスのidr_pic_idのみを書き換えれば良い。
2)等長の符号語が存在しない場合(S158)は、cabac_alignment_one_bitを利用することでデータ量の大きいスライスデータを書き換える必要がない。
3)スライスデータの書き換えが必要な場合(S155)にも、id_B1を8ビットシフトすることでスライスデータをバイト単位のシフトで済ませることができる。
本実施の形態では、部分ストリームb(163)の先頭ピクチャのIDを書き換える場合を示したが、部分ストリームa(153)の最終ピクチャのIDを書き換える場合も同様の手順で実施できることは明らかである。特に、部分ストリームa(153)を用いた方がID書き換え処理(S15)の負荷が軽くなる場合、部分ストリームa(153)の最終ピクチャのIDを書き換える方が望ましい。trailing_zero_8bitsを用いる例を説明したが、trailing_zero_8bitsの代わりにcabac_zero_wordを用いたり、NALユニットを包含するシステムストリームの無効データを用いたりしても良い。また、H.264規格でのストリームの接続処理を例にとって説明したが、可変長符号化されたシンタックスを書き換える映像編集装置に適用できる。映像編集装置として、図11のようにCPU581及びメモリ582を用いた装置及び前記装置上で動作するOS及びプログラムを仮定したが、本実施の形態で説明した接続処理を行う手段は前記に限定されないことは言うまでもない。
(実施の形態4)
本実施の形態では、実施の形態3の映像編集装置において、複数のバイトストリームを接続する際に、pic_parameter_set_idの値を正しく書き換え、かつ記録媒体上で値を書き換える領域を出来る限り小さくするように構成した映像編集装置を示す。本実施の形態の映像編集装置の動作は基本的に実施の形態3における図13から図15のフローチャートで示したとおりである。但し、図13から図15において、idr_pic_idを、pic_parameter_set_idに読み替える。
本実施の形態が適用される顕著な例は、ピクチャ固有のパラメータを記述するPPSが部分ストリームa(153)と部分ストリームb(163)で異なり、かつ同じpic_parameter_set_idを使用している場合である。この場合、図14のSPS・PPSの読み込み・生成処理S11におけるステップS117でPPSは共用可能でないと判定され、ステップS122において、ストリームBのPPSに対してpic_parameter_set_idを変更したPPSを出力する。PPSのpic_parameter_set_idが変更されたため、部分ストリームb(163)の全ピクチャにおいてスライスヘッダが参照するpic_parameter_set_idを変更する必要がある。この部分ストリームb(163)の全スライスにおいて可変長符号であるpic_parameter_set_idを変更する処理は、異なる値の等長な符号語への置き換えが不可能な場合にストリーム全体のシフト処理を引き起こす可能性がある。本発明はこのシフト処理を最小限にできるため、極めて有効となる。
以上説明したように、本実施の形態では複数のバイトストリームを接続する際に、pic_parameter_set_idの値を正しく書き換え、かつ記録媒体上で値を書き換える領域をできる限り小さくするように構成した映像編集装置を実現できる。
本発明は、カメラレコーダや録画装置などに用いる映像符号化装置、及びカメラレコーダや録画装置などで記録した映像を編集するための映像編集装置に適用可能である。
101 バイト/NALヘッダ
110 シーケンスパラメータセット
111 ピクチャパラメータセット
120 スライスヘッダ
121 スライスデータ
141 クラスタ
200 ID書き換え処理
220 SPS・PPSの読み込み・生成処理
500 記録メディア
501 映像編集装置
600 映像記録装置
700 映像符号化回路
701 ヘッダ生成・多重化回路
804 ファイルアロケーションテーブル

Claims (9)

  1. 可変長符号化されたパラメータを含む第1及び第2のストリームを接続するための編集装置であって、前記第1及び第2のストリームの接続点において新たに隣接する第1のストリームに含まれる符号化された第1のパラメータと第2のストリームに含まれる符号化された第2のパラメータとは異なる値に設定することが必要とされる編集装置において、
    前記第1のパラメータと、前記第2のパラメータとを比較し、前記第1のパラメータと前記第2のパラメータが同一の値であるかに基づいて前記第1のパラメータ及び前記第2のパラメータのうち少なくともいずれか一方を置換すべきか否かを判定する判定手段と、
    前記判定手段により置換すべきと判定された場合は、前記第1のパラメータ及び前記第2のパラメータのうち少なくともいずれか一方を、前記第1及び第2のパラメータに付与された符号語と等しい長さを有する他の符号語に置換する置換手段とを備える
    編集装置。
  2. 前記置換手段は、複数の可変長符号語グループの中の一つのグループであって前記第1及び第2のパラメータに付与された符号語を含むグループの中から、前記他の符号語を決定する、ことを特徴とする請求項1に記載の編集装置。
  3. 前記第1のストリーム及び前記第2のストリームは記録媒体に記録されており、前記記録媒体は、ストリームを記録した領域を所定のアクセス単位の集合で管理する管理情報を有し、
    前記置換手段により他の符号語に置換されたパラメータが記録されたアクセス単位のみを書き換える書き換え手段と、
    前記第1のストリームが記録された前記アクセス単位の集合と前記第2のストリームが記録された前記アクセス単位の集合とを前記管理情報上で接続する接続手段とを有する
    ことを特徴とする請求項1に記載の編集装置。
  4. 前記第1のストリーム及び前記第2のストリームは複数の第1のデータ単位で構成され、さらに前記第1のデータ単位は複数の第2のデータ単位で構成され、
    前記判定手段は、前記第1のデータ単位毎にパラメータを置換すべきか否かを判定し、
    前記置換手段は、前記第1のストリーム及び前記第2のストリームのうちのいずれか一方の前記第1のデータ単位内に含まれる全ての第2のデータ単位のパラメータを置換することを特徴とする請求項1に記載の編集装置。
  5. 前記置換手段は、符号化されたパラメータとして前記第1のストリームに付与された符号語及び符号化されたパラメータとして前記第2のストリームに付与された符号語のいずれとも異なり、かつ長さが等しい符号語が存在しない場合、
    前記第1のストリーム及び前記第2のストリームのいずれかにおいて、前記判定手段により置換すべきと判定された第1のデータ単位に含まれる全ての第2のデータ単位の符号語を、その符号語よりも8ビットの整数倍だけ長い別の符号語で置換し、前記第1のデータ単位内に存在する無効領域を8ビットの整数倍の長さだけ削除する
    ことを特徴とする、請求項4に記載の編集装置。
  6. 前記第1のストリーム及び前記第2のストリームは映像信号を符号化したストリームであって、前記第1のデータ単位はピクチャであり、前記第2のデータ単位はピクチャを複数に分割したスライスであることを特徴とする、請求項4に記載の編集装置。
  7. 前記第1のストリーム及び前記第2のストリームはH.264規格に基づくストリームであり、前記パラメータはidr_pic_idであることを特徴とする、請求項6に記載の編集装置。
  8. 前記第1のストリーム及び前記第2のストリームはH.264規格に基づくストリームであり、前記パラメータはpic_parameter_set_idであることを特徴とする、請求項6に記載の編集装置。
  9. 前記第1のストリーム及び前記第2のストリームは、映像信号をH.264規格に基づいて符号化したストリームであって、
    前記置換手段は、符号化されたパラメータとして前記第1のストリームに付与された符号語及び符号化されたパラメータとして前記第2のストリームに付与された符号語のいずれとも異なり、かつ長さが等しい符号語が存在しない場合、
    前記第1のストリーム及び前記第2のストリームのいずれかにおいて、前記判定手段により置換すべきと判定されたパラメータを含むピクチャに含まれる全てのスライスにおいて、前記置換すべきと判定されたパラメータとして付与された符号語を、その符号語よりもNビット(N≦7の自然数)だけ長い符号語で置換し、
    前記スライス内に存在するN個のcabac_alignment_one_bitを削除する
    ことを特徴とする、請求項6に記載の編集装置。
JP2011100430A 2006-06-02 2011-04-28 符号化装置及び編集装置 Active JP5414736B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011100430A JP5414736B2 (ja) 2006-06-02 2011-04-28 符号化装置及び編集装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006154264 2006-06-02
JP2006154264 2006-06-02
JP2011100430A JP5414736B2 (ja) 2006-06-02 2011-04-28 符号化装置及び編集装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007141421A Division JP4757840B2 (ja) 2006-06-02 2007-05-29 符号化装置及び編集装置

Publications (2)

Publication Number Publication Date
JP2011182451A JP2011182451A (ja) 2011-09-15
JP5414736B2 true JP5414736B2 (ja) 2014-02-12

Family

ID=38603800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011100430A Active JP5414736B2 (ja) 2006-06-02 2011-04-28 符号化装置及び編集装置

Country Status (5)

Country Link
US (2) US8605780B2 (ja)
EP (2) EP2453656B1 (ja)
JP (1) JP5414736B2 (ja)
CN (2) CN102883162B (ja)
WO (1) WO2007142281A2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013009218A (ja) * 2011-06-27 2013-01-10 Sony Corp 編集装置及び方法、並びにプログラム
US9204156B2 (en) * 2011-11-03 2015-12-01 Microsoft Technology Licensing, Llc Adding temporal scalability to a non-scalable bitstream
JP5979406B2 (ja) * 2012-02-22 2016-08-24 ソニー株式会社 画像処理装置、画像処理方法、および画像処理システム
US9813705B2 (en) * 2012-04-26 2017-11-07 Qualcomm Incorporated Parameter set coding
JP5885604B2 (ja) * 2012-07-06 2016-03-15 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
JP6000763B2 (ja) * 2012-08-31 2016-10-05 キヤノン株式会社 画像処理装置及び画像処理方法
JP6059572B2 (ja) * 2013-03-22 2017-01-11 株式会社メガチップス 画像処理装置
US9538137B2 (en) 2015-04-09 2017-01-03 Microsoft Technology Licensing, Llc Mitigating loss in inter-operability scenarios for digital video

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE9006717U1 (ja) * 1990-06-15 1991-10-10 Philips Patentverwaltung Gmbh, 2000 Hamburg, De
JPH08251582A (ja) * 1995-03-07 1996-09-27 Toshiba Corp 符号化データ編集装置
JP2877225B2 (ja) * 1995-12-30 1999-03-31 ソニー株式会社 映像信号符号化方法
MY115908A (en) * 1997-09-17 2003-09-30 Matsushita Electric Ind Co Ltd Video data editing apparatus, optical disc for use as a recording medium of a video data editing apparatus, and computer-readable recording medium storing an editing program
WO1999018720A1 (en) * 1997-10-03 1999-04-15 Sony Corporation Encoded stream splicing device and method, and an encoded stream generating device and method
CZ2001721A3 (cs) * 1998-08-27 2002-05-15 International Business Machines Corporation Systém a způsob pro vkládání dodatečných informací do video dat
JP4053668B2 (ja) * 1998-09-16 2008-02-27 パイオニア株式会社 情報記録装置及び情報記録方法
JP2001024515A (ja) * 1999-07-07 2001-01-26 Sony Corp 信号処理方法及び装置
US6603413B2 (en) * 2001-02-07 2003-08-05 Canon Kabushiki Kaisha Variable-length decoding apparatus and method
JP4002878B2 (ja) * 2003-01-17 2007-11-07 松下電器産業株式会社 画像符号化方法
JP4405272B2 (ja) * 2003-02-19 2010-01-27 パナソニック株式会社 動画像復号化方法、動画像復号化装置及びプログラム
WO2004092888A2 (en) * 2003-04-07 2004-10-28 Modulus Video, Inc. Scalable array encoding system and method
US7724818B2 (en) * 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US20060013318A1 (en) * 2004-06-22 2006-01-19 Jennifer Webb Video error detection, recovery, and concealment
JP4225957B2 (ja) * 2004-08-03 2009-02-18 富士通マイクロエレクトロニクス株式会社 映像符号化装置及び映像符号化方法
JP2006154264A (ja) 2004-11-29 2006-06-15 Konica Minolta Business Technologies Inc 画像形成装置
US8615038B2 (en) * 2004-12-06 2013-12-24 Nokia Corporation Video coding, decoding and hypothetical reference decoder

Also Published As

Publication number Publication date
WO2007142281A2 (en) 2007-12-13
US8605780B2 (en) 2013-12-10
EP2036355B1 (en) 2015-08-05
EP2453656B1 (en) 2015-08-26
EP2036355A2 (en) 2009-03-18
WO2007142281A3 (en) 2008-03-27
EP2453656A3 (en) 2013-02-27
EP2453656A2 (en) 2012-05-16
CN102883162A (zh) 2013-01-16
CN102883162B (zh) 2015-04-01
CN101461246A (zh) 2009-06-17
JP2011182451A (ja) 2011-09-15
CN101461246B (zh) 2013-03-20
US9330717B2 (en) 2016-05-03
US20140016915A1 (en) 2014-01-16
US20090219989A1 (en) 2009-09-03

Similar Documents

Publication Publication Date Title
JP5414736B2 (ja) 符号化装置及び編集装置
US11863772B2 (en) Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
JP4769717B2 (ja) 画像復号化方法
US8817873B2 (en) Image coding/recording apparatus and image coding/recording method
US8189665B2 (en) Editing apparatus, editing method, editing program, and editing system
JP2015526972A (ja) Hevcおよび拡張のためのビデオパラメータセット
US10313694B2 (en) Image processing device and method
CN108322761B (zh) 图像解码装置
TW201311005A (zh) 圖像處理裝置及圖像處理方法
US9392279B2 (en) Method and system for generating an instantaneous decoding refresh (IDR) picture slice in an H.264/AVC compliant video data stream
JP5170708B2 (ja) 動画像ストリーム加工方法及び装置、それを用いた動画像再生装置並びに動画像配信装置
JP4757840B2 (ja) 符号化装置及び編集装置
JP2008035294A (ja) 画像データ記録装置及び画像データ符号化装置
US20060268989A1 (en) Bit stream generation method and bit stream generatation apparatus
JP3720035B2 (ja) 可変長符号復号化装置および可変長符号復号化方法
CN113692745B (zh) 视频解码方法、装置和存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130422

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: 20131029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131112

R150 Certificate of patent or registration of utility model

Ref document number: 5414736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150