(57)【要約】【課題】スタートコードが複数のＰＥＳパケットに分割される場合でも、デコード時にスタートコードに適切な時間情報の付加を可能にする。【解決手段】  スタートコードを含む符号化ストリームに時間情報が付加されて生成されたパケットが入力され、符号化ストリームとパケット毎に付加された時間情報とを抽出すると共に、時間情報の抽出毎に値が変化するタグを生成し、生成したタグを符号化ストリームの所定の単位毎に対応付けてを出力するデコーダ１１と、時間情報とタグとを相互に対応付けて記憶する記憶部１２と、デコーダから符号化ストリーム及びタグが入力され、符号化ストリーム中のスタートコードを検出すると共に、検出したスタートコードの先頭部分に対応するタグを求め、求めたタグに対応する時間情報を記憶部から読み出して、スタートコードに対応させて出力する時間情報付加部１３とを具備したことを特徴とする。【選択図】図１
2009296041.tif 000002
【特許請求の範囲】
【請求項１】
スタートコードを含む符号化ストリームに時間情報が付加されて生成されたパケットが入力され、前記符号化ストリームと前記パケット毎に付加された前記時間情報とを抽出すると共に、前記時間情報の抽出毎に値が変化するタグを生成し、生成したタグを前記符号化ストリームの所定の単位毎に対応付けて前記タグ及び前記符号化ストリームを出力するデコーダと、
前記デコーダが抽出した前記時間情報と前記デコーダが生成したタグとを相互に対応付けて記憶する記憶部と、
前記デコーダから前記符号化ストリーム及び前記タグが入力され、前記符号化ストリーム中の前記スタートコードを検出すると共に、検出した前記スタートコードの先頭部分に対応するタグを求め、求めたタグに対応する前記時間情報を前記記憶部から読み出して、前記スタートコードに対応させて出力する時間情報付加部と
を具備したことを特徴とする符号化ストリーム復号化装置。
【請求項２】
前記時間情報付加部は、前記デコーダからの符号化ストリームを記憶する第１のバッファと、
前記デコーダからのタグを記憶する第２のバッファと、
前記第１のバッファの記憶内容から前記スタートコードを検出すると共に、第１及び第２のバッファの記憶内容から検出した前記スタートコードの先頭に対応するタグの値を求めるスタートコード検出部と
を具備したことを特徴とする請求項１に記載の符号化ストリーム復号化装置。
【請求項３】
前記所定の単位毎の前記符号化ストリームを記憶する第１のバッファの各領域と、前記符号化ストリームの所定の単位毎に対応付けられた前記タグを記憶する第２のバッファの各領域とは相互に対応付けられていることを特徴とする請求項２に記載の符号化ストリーム復号化装置。
【請求項４】
前記デコーダは、前記符号化ストリームの最小単位毎に、巡回的に値が変化するタグを対応付けることを特徴とする請求項１乃至３のいずれか１つに記載の符号化ストリーム復号化装置。
【請求項５】
前記時間情報付加部は、前記求めたタグに対応する前記時間情報を、前記記憶部からソフトウェア処理によって取得することを特徴とする請求項１に記載の符号化ストリーム復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化ストリームのデコードに際してスタートコードに時間情報を付加する符号化ストリーム復号化装置に関する。
【背景技術】
【０００２】
近年、画像処理のディジタル化が普及している。ディジタル化された画像データは、符号量を削減するために、Ｈ．２６４、ＡＶＣ規格等の動画像符号化方法を採用して符号化後に伝送や記録が行われることが多い。
【０００３】
Ｈ．２６４規格等においては、映像データ及び音声データ等のストリームは、エレメンタリストリーム（ＥＳ）によって伝送される。ＥＳはスタートコード（start code）とナルユニット（Nal Unit）が交互に配置されて構成される。更に、エンコード時において、ＥＳにＰＥＳヘッダを付加してＰＥＳ（Pecketized Elementary Stream Packet ）パケットを構成する。エンコーダは、ＰＥＳパケット化に際して、ＰＥＳヘッダに、時間情報であるＰＴＳ（Presentation Time Stamp ），ＤＴＳ（decoding time stamp ）を付加する。通常、ＰＥＳパケットはサイズが比較的大きいので、１つのＰＥＳパケットのペイロード（payload）中に１つ以上のスタートコード及びナルユニットの組が配置される。
【０００４】
ＰＥＳデコード時には、デコーダは、ＰＥＳパケットからＥＳを抽出する。更に、デコーダは、１つのＰＥＳパケットから抽出した全てのスタートコードに、当該ＰＥＳヘッダ中の同一のＰＴＳ，ＤＴＳを対応付ける。これにより、再生時間を管理しながらストリームの再生が可能となる。
【０００５】
ところで、仕様上は、１つのスタートコードが複数のＰＥＳパケットに分断されて配置される可能性がある。この場合には、１つのＰＥＳパケットのペイロードから取り出したデータだけではスタートコードの一部が含まれているか否かを判別することはできない。
【０００６】
そこで、ＰＥＳパケットのデコード時に、各ＰＥＳパケットのペイロードから抽出したデータを順次記憶すると共に、ＰＥＳヘッダに含まれるＰＴＳ，ＤＴＳも順次記憶する。そして、スタートコードの最後の部分を検出することでスタートコードであることを識別した後、スタートコードの先頭の部分を含むＰＥＳパケットのヘッダから取り出したＰＴＳ，ＤＴＳを、検出したスタートコードに対応付けるようになっている。
【０００７】
このような処理の全てをハードウェアで実現するためには比較的複雑な回路が必要であると考えられる。このため、このような処理は、ソフトウェアとの組み合わせによって実現されることが多い。例えば、特許文献１においては、ハードウェアによってスタートコードを検出する技術が開示されている。しかし、特許文献１の提案においても、検出したスタートコードに適切なＰＴＳ，ＤＴＳを割り当てる処理をハードウェアによって実現することはできない。
【０００８】
なお、Ｈ．２６４に限らず、ＶＣ−１規格等においても同様の課題を有する。
【特許文献１】特開２００４−１２０６３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、スタートコードの検出及び検出したスタートコードに適切な時間情報を割当てる処理を、簡単なハードウェア構成によって実現することができる符号化ストリーム復号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様に係る符号化ストリーム復号化装置は、スタートコードを含む符号化ストリームに時間情報が付加されて生成されたパケットが入力され、前記符号化ストリームと前記パケット毎に付加された前記時間情報とを抽出すると共に、前記時間情報の抽出毎に値が変化するタグを生成し、生成したタグを前記符号化ストリームの所定の単位毎に対応付けて前記タグ及び前記符号化ストリームを出力するデコーダと、前記デコーダが抽出した前記時間情報と前記デコーダが生成したタグとを相互に対応付けて記憶する記憶部と、前記デコーダから前記符号化ストリーム及び前記タグが入力され、前記符号化ストリーム中の前記スタートコードを検出すると共に、検出した前記スタートコードの先頭部分に対応するタグを求め、求めたタグに対応する前記時間情報を前記記憶部から読み出して、前記スタートコードに対応させて出力する時間情報付加部とを具備したことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、スタートコードの検出及び検出したスタートコードに適切な時間情報を割当てる処理を、簡単なハードウェア構成によって実現することができるという効果を有する。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１３】
（第１の実施の形態）
図１は本発明の第１の実施の形態に係る符号化ストリーム復号化装置を示すブロック図である。
【００１４】
図１の符号化ストリーム復号化装置には、ＰＥＳパケットが入力される。図２及び図３は符号化ストリーム復号化装置に入力されるＰＥＳパケットのフォーマットを説明するための説明図である。
【００１５】
図２のエレメンタリーストリーム（ＥＳ）は、動画像等を符号化して得られたストリームである。ＥＳはスタートコードとナルユニットとによって構成される。このエレメンタリーストリームに時間情報であるＰＴＳ，ＤＴＳを付加してＰＥＳパケットが構成される。ＰＥＳパケットは、図２に示すように、ヘッダ（PES header）とペイロード（PES payload）によって構成される。ヘッダには、ＰＴＳ，ＤＴＳが配列される。ペイロード中に、ＥＳのスタートコード及びナルユニットが配列される。
【００１６】
エンコーダによって生成されたこのようなＰＥＳパケットが、図１のＰＥＳデコーダ１１に入力される。図１の符号化ストリーム復号化装置は、ＰＥＳパケットからエレメンタリーストリームを抽出し、図２に示すように、スタートコード毎に、ＰＴＳ，ＤＴＳを付加したデコード出力を得るものである。
【００１７】
ＰＥＳパケットの仕様上は、図３に示すＰＥＳパケットが入力されることもある。図３の例では、ＥＳ中のスタートコードが、複数のＰＥＳパケットのペイロードに分割されている。即ち、図３の例では、スタートコードの最初の部分は、時間情報としてＰＴＳ（０），ＤＴＳ（０）を含むヘッダを有するＰＥＳパケットによって伝送され、スタートコードの中央の部分は、時間情報としてＰＴＳ（１），ＤＴＳ（１）を含むヘッダを有するＰＥＳパケットによって伝送され、スタートコードの最後の部分は、時間情報としてＰＴＳ（２），ＤＴＳ（２）を含むヘッダを有するＰＥＳパケットによって伝送される。
【００１８】
この場合においても、本実施の形態における符号化ストリーム復号化装置においては、スタートコードを検出すると共に、検出したスタートコードに、その先頭位置の時間情報、即ちＰＴＳ（０），ＤＴＳ（０）を対応付けることが可能である。このような対応付けのために、本実施の形態においては、タグ（ＴＡＧ）を用いる。
【００１９】
即ち、ＰＥＳデコーダ１１は、タグ生成部１１ａを備える。ＰＥＳデコーダ１１は、入力されたＰＥＳパケットから、ヘッダとペイロードとを分離し、ペイロード中のエレメンタリーストリームを出力する。また、タグ生成部１１ａは、ヘッダ中のＰＴＳ，ＤＴＳを抽出すると共に、ＰＴＳ，ＤＴＳを抽出する毎に、値が０〜３のタグをインクリメントする。即ち、タグの値は、ＰＥＳのヘッダが取り込まれる毎に０→１→２→３→０→…と変化する。なお、タグの０〜３の値は、スタートコードが最大で４つのＰＥＳパケットに分割されることから設定されている。スタートコードの最大の分割数に応じてタグの値（ビット数）が設定される。
【００２０】
タグ生成部１１ａは、エレメンタリーストリームの最小単位毎に、タグを対応させて出力する。例えば、エレメンタリーストリームの最小単位が１バイト（Ｂｙｔｅ）であるものとすると、エレメンタリーストリームの１バイト毎に０〜３を表す２ビットのタグを付加する。即ち、エレメンタリーストリームに対応付けられたタグを参照することで、エレメンタリーストリームの各最小単位が、連続する４つのＰＥＳパケットのうちいずれのヘッダを有するＰＥＳパケットによって伝送されたかを認識することができる。タグ生成部１１ａは、検出したＰＴＳ，ＤＴＳを生成したタグと共に記憶部１２に与えて記憶させる。ＰＥＳデコーダ１１からのエレメンタリーストリーム及びタグは時間情報付加部１３に供給される。
【００２１】
図４は記憶部１２の記憶内容の一例を示す説明図である。図４に示すように、記憶部１２にはタグに対応させてＰＴＳ，ＤＴＳの値が格納されている。記憶部１２は順次入力されるＰＴＳ，ＤＴＳによって内容が更新されるようになっており、最新のＰＴＳ，ＤＴＳをタグに対応させて記憶する。
【００２２】
図５は図１中の時間情報付加部１３の具体的な構成を示すブロック図である。
【００２３】
時間情報付加部１３のＥＳ用バッファ２１は、入力されたエレメンタリーストリームを順次更新しながら記憶する。ＥＳ用バッファ２１は少なくともエレメンタリーストリーム中のスタートコードのビット長以上のビット長のデータ、例えば７バイトを記憶することができるようになっている。タグ用バッファ２２は、入力されたタグを順次更新しながら記憶する。タグ用バッファ２２は、例えば７×２ビットの容量を有して、エレメンタリーストリームに対応付けられたタグを、対応関係が分かるように記憶する。
【００２４】
スタートコード検出部２３は、ＥＳ用バッファ２１に記憶されたエレメンタリーストリームを出力すると共に、順次更新されるＥＳ用バッファ２１の内容を読み出して、スタートコードを検出する。スタートコード検出部２３は、ＥＳ用バッファ２１からスタートコードを検出すると、スタートコードの先頭の部分に対応したタグの値をタグ用バッファ２２から読み出し、読み出したタグを記憶部１２に指定して、当該タグに対応するＰＴＳ，ＤＴＳの値を記憶部１２から読み出す。スタートコード検出部２３は、ＥＳ用バッファ２１から読み出したスタートコードにＰＴＳ，ＤＴＳを対応させて出力するようになっている。
【００２５】
次に、このように構成された実施の形態の動作について図６を参照して説明する。図６は時間情報付加部１３の入力及び出力を時系列で示す説明図である。図６は１つの枠でエレメンタリーストリームの１バイトを表しており、Ａ〜Ｅ，Ｘ，Ｆ〜Ｈは、エレメンタリーストリームに含まれる１バイトの値を示している。
【００２６】
ＰＥＳパケットはＰＥＳデコーダ１１に入力される。ＰＥＳデコーダ１１は、ＰＥＳパケットから抽出したエレメンタリーストリームを時間情報付加部１３に出力する。ＰＥＳデコーダ１１のタグ生成部１１ａは、０〜３のタグを生成すると共に、ＰＥＳパケットのヘッダに含まれるＰＴＳ，ＤＴＳを検出する毎に、生成したタグをインクリメントする。タグ生成部１１ａは、ＰＥＳデコーダ１１から出力されるエレメンタリーストリームの最小単位毎に、生成したタグを対応させて時間情報付加部１３に出力する。
【００２７】
また、タグ生成部１１ａは、ＰＥＳパケットから抽出したＰＴＳ，ＤＴＳをタグと共に記憶部１２に出力する。こうして、記憶部１２には、タグに対応してＰＴＳ，ＤＴＳが記憶される。記憶部１２のＰＴＳ，ＤＴＳは、順次更新され、記憶部１２には最新のＰＴＳ，ＤＴＳがタグに対応して格納される。
【００２８】
いま、ＰＥＳデコーダ１１から図６の最上段左側に示すエレメンタリーストリーム（ＥＳ）及びタグが順次出力されるものとする。エレメンタリーストリームの最小単位である１バイト毎に、タグが付されている。タグはＰＥＳパケットのヘッダを検出する毎にインクリメントされるので、図６の例は、エレメンタリーストリームの２バイト「ＡＢ」が１つ目のＰＥＳパケットの最後の部分で伝送され、次の４バイト「ＣＤＥ０」が２つ目のＰＥＳパケットで伝送され、次の４バイト「０１ＸＦ」が３つ目のＰＥＳパケットで伝送され、次の２バイト「ＧＨ」が４つ目のＰＥＳパケットの最初の部分で伝送される例である。
【００２９】
いま、スタートコードが「0x00」、「0x00」、「0x01」、「0xXX」であるものとする。図６の太枠で囲った部分はこのスタートコードを示している。図６の２段目は、ＥＳ用バッファ２１にＥＳの「Ａ〜Ｄ」が格納され、タグ用バッファ２２に「Ａ〜Ｄ」に夫々対応するタグ「００１１」が記憶された状態を示している。更に、図６の３段目は、ＥＳ用バッファ２１にＥＳの「Ｂ〜Ｅ，０，０，１」が格納され、タグ用バッファ２２にこれらの７バイトに夫々対応するタグ「０１１１１２２」が記憶された状態を示している。なお、時間情報付加部１３のスタートコード検出部２３は、１バイトのエレメンタリーストリーム「Ａ」を出力する。
【００３０】
次にＰＥＳデコーダ１１からエレメンタリーストリームの１バイト「Ｘ」が時間情報付加部１３のＥＳ用バッファ２１に供給されるものとする。そうすると、スタートコード検出部２３は、ＥＳ用バッファ２１にスタートコード「００１Ｘ」が保持されていることを検出する。スタートコード検出部２３は、スタートコードを検出すると、スタートコードの最初のバイト「０」に対応したタグ「１」をタグ用バッファ２２から読み出し、読み出したタグを記憶部１２に指定して、対応するＰＴＳ，ＤＴＳを読み出す。
【００３１】
例えば、記憶部１２に図４に示すＰＴＳ，ＤＴＳが格納されているものとする。この場合には、記憶部１２からタグ「１」に対応したＰＴＳ（0X00000dac6）及びＤＴＳ（0x00000cf0b）が読み出される。図６の最下段は、エレメンタリーストリーム「Ａ〜Ｅ」の次にスタートコード「００１Ｘ」が出力されることを示している。時間情報付加部１３は、検出したスタートコードに、記憶部１２から読み出したＰＴＳ，ＤＴＳを対応させて出力する。
【００３２】
このように本実施の形態においては、ＰＴＳ，ＤＴＳの検出毎にインクリメントするタグを、ＰＴＳ，ＤＴＳと共に記憶させると共に、タグを抽出したエレメンタリーストリームの最小単位毎に対応させる。そして、抽出されたエレメンタリーストリームからスタートコードを検出すると、スタートコードの先頭の最小単位に対応するタグを指定して、記憶したＰＴＳ，ＤＴＳを読み出すことにより、スタートコードに適切なＰＴＳ，ＤＴＳを対応させる。こうして、簡単なハードウェア構成で、スタートコードの検出及び時間情報の割当てが可能となる。
【００３３】
（第２の実施の形態）
図７は本発明の第２の実施の形態を示すブロック図である。図７において図１と同一の構成要素には同一符号を付して説明を省略する。
【００３４】
本実施の形態は時間情報付加部１３に代えて時間情報指定部３１を採用した点が第１の実施の形態と異なる。時間情報指定部３１は、時間情報付加部１３と同様に、ＥＳ用バッファ及びタグ用バッファを備えている。時間情報指定部３１は、ＰＥＳエンコーダ１１からエレメンタリーストリーム及びエレメンタリーストリームに対応したタグが入力され、エレメンタリーストリーム中のスタートコードを検出すると、スタートコードの最初のバイトに対応したタグをタグ用バッファから読み出し、読み出したタグを出力することができるようになっている。
【００３５】
時間情報指定部３１からのタグを用いて、例えばソフトウェア処理によって、タグに対応するＰＴＳ，ＤＴＳの値を記憶部１２から読み出すことで、スタートコードとＰＴＳ，ＤＴＳとの対応付けを行う。
【００３６】
他の作用及び効果は第１の実施の形態と同様である。
【図面の簡単な説明】
【００３７】
【図１】本発明の第１の実施の形態に係る符号化ストリーム復号化装置を示すブロック図。
【図２】符号化ストリーム復号化装置に入力されるＰＥＳパケットのフォーマットを説明するための説明図。
【図３】符号化ストリーム復号化装置に入力されるＰＥＳパケットのフォーマットを説明するための説明図。
【図４】記憶部１２の記憶内容の一例を示す説明図。
【図５】図１中の時間情報付加部１３の具体的な構成を示すブロック図。
【図６】時間情報付加部１３の入力及び出力を時系列で示す説明図。
【図７】本発明の第２の実施の形態を示すブロック図。
【符号の説明】
【００３８】
１１…ＰＥＳデコーダ、１１ａ…タグ生成部、１２…記憶部、１３…時間情報付加部。
【図１】
2009296041.tif 000003
【図２】
2009296041.tif 000004
【図３】
2009296041.tif 000005
【図４】
2009296041.tif 000006
【図５】
2009296041.tif 000007
【図６】
2009296041.tif 000008
【図７】
2009296041.tif 000009