JPWO2004071085A1 - コード変換方法及びその装置 - Google Patents

コード変換方法及びその装置 Download PDF

Info

Publication number
JPWO2004071085A1
JPWO2004071085A1 JP2005504818A JP2005504818A JPWO2004071085A1 JP WO2004071085 A1 JPWO2004071085 A1 JP WO2004071085A1 JP 2005504818 A JP2005504818 A JP 2005504818A JP 2005504818 A JP2005504818 A JP 2005504818A JP WO2004071085 A1 JPWO2004071085 A1 JP WO2004071085A1
Authority
JP
Japan
Prior art keywords
data
code
picture
user data
additional information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005504818A
Other languages
English (en)
Other versions
JP4676331B2 (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
Publication of JPWO2004071085A1 publication Critical patent/JPWO2004071085A1/ja
Application granted granted Critical
Publication of JP4676331B2 publication Critical patent/JP4676331B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer

Abstract

ユーザデータのフォーマット変換に対応できるように、入力コードにおけるシーケンスヘッダ中のビットレート値及びVBV(Video Buffering Verifier)バッファサイズ値、ピクチャヘッダ中のVBVディレイ値をそれぞれ変更して中間コード(305〜309)とし、かつGOP(Group of Pictures)ユーザデータ(307)をそれ以外のメインデータから識別するための付加情報(300)を生成する。この付加情報(300)を使ってVBVバッファシミュレーションを行い、破綻を来さないデータ量だけピクチャユーザデータ領域にGOPユーザデータを多重化することで、出力コードを生成する。

Description

本発明は、圧縮符号化されたマルチメディア情報のコード変換(code translation)の方法及びその装置に関し、特にユーザデータのフォーマット変換や追加に関するものである。
一般にMPEG−2(Moving Picture Experts Group Phase 2)と呼ばれるマルチメディア情報の圧縮符号化技術に関する規格として、ISO13818−2が知られている。MPEG−2のビデオストリームは階層構造を有し、最上位から順にシーケンス層、GOP(Group of Pictures)層、ピクチャ層、スライス層、マクロブロック層及びブロック層からなる。各層の最初にはスタートコードと呼ばれる4バイト長の特殊なパターンが挿入されている。このスタートコードは、0x00、0x00、0x01の3バイトで始まり、その次の1バイトで当該スタートコードに続くデータの種類を示すものである(0xは16進数表記であることを表す。以下同じ)。例えば、シーケンス層、GOP層、ピクチャ層、スライス層の各々のスタートコードの4バイト目は、それぞれ0xB3、0xB8、0x00、0xAFである。
MPEG−2では、シーケンス層、GOP層、ピクチャ層の各々においてユーザ拡張領域の設定が許容されており、ユーザデータのスタートコードが0x00、0x00、0x01、0xB2からなる4バイトと決められているだけで、独自のユーザ拡張に基づく任意フォーマットのユーザデータをいずれのユーザ拡張領域にも配置することができる。
実際に、DVD(Digital Versatile Disk)などのデジタル蓄積メディアや、DVB(Digital Video Broadcasting)などのデジタル放送では、MPEG−2に準拠しながら各々独自のユーザ拡張が行われている。例えばクローズドキャプションのためのユーザデータの規格は統一されておらず、ユーザデータ間のフォーマット変換を要するのが実状である。
なお、英語字幕情報などの文字情報をGOPヘッダ中にユーザデータとして格納するためのリアルタイム符号化技術が知られている(日本国特開2001−145067号公報参照)。
また、TS(Transport Stream)間の変換において処理量を削減できるビットレート変換装置(トランスコーダ)も提案されている(日本国特開2001−251616号公報参照)。
さて、ユーザデータのフォーマットを変換するための最も簡便な方法は、一方のシステムのデコーダと他方のシステムのエンコーダとをつなぐ方法である。ただし、ユーザデータ以外のデータ、つまりメインデータについて無駄な処理がなされることになり、また画質劣化の原因ともなる。
そうかと言って、入力コード中のユーザデータのみのフォーマットを単純に変換して出力コードを得る場合には、当該変換によりデータ量が大幅に変化すると、レート制御に破綻を来す可能性がある。データ量の許容範囲を決定するパラメータとして、ビットレート値及びVBV(Video Buffering Verifier)バッファサイズ値がシーケンスヘッダ中に、VBVディレイ値がピクチャヘッダ中にそれぞれ含まれており、これらのパラメータに基づくレート制御が破綻する虞れがあるのである。また、入力コードにユーザデータを追加して出力コードとする場合も同様である。
本発明の目的は、レート制御に破綻を来すことなくユーザデータのフォーマット変換や追加を実現できるコード変換方法及びその装置を提供することにある。
この目的を達成するため、本発明は、ある規格に準拠した入力コードを受け取り、かつ当該入力コード中のユーザ拡張領域に配置されたユーザデータのフォーマットを変換して出力コードとし、又は当該入力コードにユーザデータを追加して出力コードとするに際し、入力コード中のデータ量の許容範囲を決定するパラメータをユーザデータのフォーマット変換又は追加に対応できるように変更したうえ、変更後のパラメータに応じて出力コードを生成するように、パラメータ変更後の入力コードとユーザデータとを所定のフォーマットで多重化することとしたものである。
図1は、本発明に係るコード変換装置の構成例を示すブロック図である。
図2、図3及び図4は、図1のコード変換装置におけるデータフォーマット図であって、図2は入力コードを、図3は中間コードを、図4は出力コードをそれぞれ表す。
図5は、図1中のデータ解析部の内部構成例を示すブロック図である。
図6は、図1中の多重化部の内部構成例を示すブロック図である。
図7は、図6中のメインデータ再処理部の内部構成例を示すブロック図である。
以下、図面を参照しながら、コード変換に係る本発明の実施の形態を詳細に説明する。ただし、問題を単純化する。まず、入力コードはMPEG−2のビデオストリームであり、これを所定のフォーマットの出力コードに変換するものとする。入力コードはGOP層のユーザ拡張領域(GOPユーザデータ領域)に、出力コードは個々のピクチャ層のユーザ拡張領域(ピクチャユーザデータ領域)に、それぞれ例えばクローズドキャプションのためのユーザデータが配置されるものとする。また、1GOPは最大15フレームからなり、かつ1GOP中にいくつかの先頭フレームに対応するユーザデータのみが入っているものとする。つまり、毎ピクチャに対応するユーザデータが入っているとは限らないものとしておく。変換前は15フレームのうち1フレームしか4バイトのスタートコードが付かなかったが、変換後は毎フレームにユーザデータの4バイトのスタートコードが付く。したがって、スタートコードだけを考えた場合でも、1秒あたり30フレームとして、変換により(14/15)×30×4×8bpsだけビットレートが増加することになる。また、変換後のユーザデータの位置は厳密ではないものとする。例えばクローズドキャプションのためのユーザデータでは、ピクチャデータとの完全な同期は要求されない。
以上のようなユーザデータ位置の仮定や、必ずしも全フレームに対応するユーザデータが存在しないような状況は、クローズドキャプションなどの現在用いられているシステムでは妥当な仮定である。
図1は、本発明に係るコード変換装置の構成例を示している。図1のコード変換装置は、データ解析部101と、データバッファ102と、多重化部103とから構成されている。例えば、データ解析部101と多重化部103とはストリームコントローラ104と呼ばれる1個のLSIを構成し、データバッファ102として機能するメモリが当該LSIに外付けされる。データ解析部101は、入力コード121を解析して、当該入力コード121中のデータ量の許容範囲を決定するパラメータ(ビットレート値、VBVバッファサイズ値、及びVBVディレイ値)をユーザデータのフォーマット変換に対応できるように変更し、かつ当該入力コード121中のユーザデータをそれ以外のメインデータから識別するための付加情報を生成する機能を有する。データバッファ102は、パラメータ変更後の入力コードを付加情報とともに一時格納するためのメモリである。122はデータ解析部101からデータバッファ102への書き込みアドレス、123はデータ解析部101からデータバッファ102への書き込みデータ、124はデータ解析部101から多重化部103へ通知される書き込みデータサイズである。多重化部103は、変更後のパラメータに応じて出力コード127を生成するように、パラメータ変更後の入力コードとユーザデータとをデータバッファ102中の付加情報に従って所定のフォーマットで多重化する機能を有する。125は多重化部103からデータバッファ102への読み出しアドレス、126はデータバッファ102から多重化部103への読み出しデータである。
図2は入力コード121を、図3はデータバッファ102に格納される中間コードを、図4は出力コード127をそれぞれ表すデータフォーマット図である。
図2において、201はシーケンスヘッダ、202はGOPヘッダ、203はGOPユーザデータ、204はピクチャヘッダ、205はピクチャデータである。GOPユーザデータ203の領域は、クローズドキャプションのためのユーザデータを含んでいる。図2に示しているのは1ピクチャのみであり、実際には「ピクチャヘッダ204+ピクチャデータ205」がピクチャ数だけ繰り返される。
図3に示す中間コードにおいて、305はシーケンスヘッダ、306はGOPヘッダ、307はGOPユーザデータ、308はピクチャヘッダ、309はピクチャデータであって、それぞれ図2中のシーケンスヘッダ201、GOPヘッダ202、GOPユーザデータ203、ピクチャヘッダ204、ピクチャデータ205に対応している。この中間コードは、ピクチャデータ309などのメインデータからGOPユーザデータ307を識別するための付加情報300を更に備えている。付加情報300において、301はピクチャサイズ及びピクチャタイプを含むピクチャ情報、302はユーザデータ位置、303はユーザデータサイズ、304はピクチャデータ位置である。このうちピクチャ情報301中のピクチャサイズは当該処理単位に含まれるピクチャの全体サイズを、ピクチャタイプはI(Intra)ピクチャ、P(Predictive)ピクチャ、B(Bidirectionally predictive)ピクチャというコーディングタイプの区別をそれぞれ表している。また、GOPユーザデータ307の先頭位置及びサイズがユーザデータ位置302及びユーザデータサイズ303によりそれぞれ示され、ピクチャデータ309の先頭位置がピクチャデータ位置304により示されている。
データ解析部101は、図3に示すような付加情報300を持ったデータをデータバッファ102に格納する。データの区切りには4バイト長の特殊なパターンであるスタートコードが必ず入るので、ランダムアクセスが可能なメモリであればこのようなデータ構造は簡単に作成できる。しかも、付加情報300を設けることで、GOPユーザデータ307と他のデータとを区別したデータバッファアクセスが簡単になる。また、ピクチャサイズを含んだピクチャ情報301があるので、図3のデータ構造の最後、つまり次の付加情報300の開始点も簡単にアクセスできる。
さて、ビットレート値及びVBVバッファサイズ値はデータ量の上限を、VBVディレイ値はCBR(Constant Bit Rate:一定ビットレート)の場合のデータ量の下限をそれぞれ決定するものである。ただし、VBVディレイ値が0xffffである場合にはVBR(Variable Bit Rate:可変ビットレート)とみなされ、データ量の下限に関する制約が外されることになっている。
そこで、シーケンスヘッダ305中のビットレート値及びVBVバッファサイズ値、ピクチャヘッダ308中のVBVディレイ値は、ユーザデータのフォーマット変換に対応できるように、それぞれデータ解析部101によって既に書き換えられている。例えば、ユーザデータのフォーマット変換によるビットレート増加予想値である(14/15)×30×4×8bpsだけビットレート値を増加させ、VBVバッファサイズ値は規格で許される最大値に変更し、VBVディレイ値を0xffffとすることでVBRの設定にする。ただし、もしユーザデータがフォーマット変換により少なくなるのであれば、書き換え後のビットレート値は元のビットレート値より小さくてもよい。書き換え後のVBVバッファサイズ値は、予想される最大のピクチャサイズ以上であればよく、また元のVBVバッファサイズ値をそのまま利用してもよい。VBRの設定を止めて、CBRのままでVBVディレイ値を再計算してスタッフィングを行う方法も採用できる。また、これらのパラメータ変更を多重化部103で行ってもよい。
多重化部103は、図4に示すようなフォーマットを持つ出力コード127を生成するように、データバッファ102中の付加情報300に従ってGOPユーザデータ307とそれ以外のメインデータとを多重化する。
図4において、401はシーケンスヘッダ、402はGOPヘッダ、403はピクチャヘッダ、404はピクチャユーザデータ、405はピクチャデータであって、それぞれ図3中のシーケンスヘッダ305、GOPヘッダ306、ピクチャヘッダ308、GOPユーザデータ307、ピクチャデータ309に対応している。図4に示しているのは1ピクチャのみであり、実際には「ピクチャヘッダ403+ピクチャユーザデータ404+ピクチャデータ405」がピクチャ数だけ繰り返される。
以下、図5及び図6を参照して、データ解析部101及び多重化部103の各々の詳細を説明する。
図5は、図1中のデータ解析部101の内部構成例を示している。図5のデータ解析部101は、第1、第2、第3及び第4入力レジスタ501,502,503,504と、スタートコード検出部505と、全体を制御するためのデータ解析制御部506と、付加情報300の挿入のためのセレクタ507とで構成されている。
データ解析部101は、1バイト毎に以下のステップ1〜7を繰り返す。すなわち、ステップ1でデータが取り込まれ、既に入力された3バイトのデータと合わせてスタートコードであるかどうかがステップ2で判定される。そのとき、所定条件を満たせばステップ3の付加情報書き込み処理がなされる。この処理の後、次のピクチャに対する付加情報を書き込むための準備として、データ書き込み用のポインタを所定サイズだけ増加させておく。ステップ4では、スタートコードに基づいて各種フラグが設定される。ステップ5では、ビットレート値、VBVバッファサイズ値、VBVディレイ値がそれぞれ変更される。ステップ6では、各種カウンタを増加させる。ステップ7では多重化データがデータバッファ102に書き込まれる。
以下、個々のステップの詳細を説明する前に、データ解析制御部506が有する各種フラグ、カウンタを説明する。まず、PICSIZEは処理単位であるピクチャのサイズを示すカウンタであり、レート制御や、次の付加情報位置を検出するために用いられる。USER_COUNTはユーザデータの開始位置を示すカウンタ、USERSIZEはユーザデータのサイズを示すカウンタ、PICDATA_COUNTはピクチャデータの開始位置を示すカウンタである。これら4つのカウンタは、図3におけるピクチャ情報301中のピクチャサイズ、ユーザデータ位置302、ユーザデータサイズ303、ピクチャデータ位置304にそれぞれ対応している。SEQHEAD_FLAG、GOPHEAD_FLAG、PICHEAD_FLAG、USER_FLAG及びSLICE_FLAGは、それぞれシーケンスヘッダ、GOPヘッダ、ピクチャヘッダ、ユーザデータ、スライスの各々のスタートコードを検出したことを示すフラグである。PICTOP_COUNTは、ピクチャヘッダ中のバイト数を示すカウンタであり、VBVディレイ値を変更する際に用いられる。BP及びWPはデータバッファ102のポインタであり、BPは付加情報300の書き込み位置を示す第1ポインタ、WPは他のデータの書き込み位置を示す第2ポインタである。
〈ステップ1:入力データ取り込み〉
第4入力レジスタ504に第3入力レジスタ503の値が書き込まれる。以下順に値が書き込まれ、第1入力レジスタ501に入力コード121の1バイトデータが書き込まれる。
〈ステップ2:スタートコード検出〉
スタートコード検出部505は、第1〜第4入力レジスタ501〜504の4バイトのデータがスタートコードに一致するか、あるいは全てのバイトが0x00であるかを判定する。
〈ステップ3:付加情報書き込み〉
ステップ3の全体は、(a)シーケンスヘッダを検出した場合、(b)SEQHEAD_FLAG=0であり、かつGOPヘッダを検出した場合、(c)SEQHEAD_FLAG=0、GOPHEAD_FLAG=0かつピクチャヘッダを検出した場合のうちのいずれかの場合に限って、以下のような処理を行う。
ステップ3における最初の動作は、付加情報300を所定フォーマットでデータバッファ102に書き込む処理である。ここでは、PICSIZE、USER_COUNT、USERSIZE、PICDATA_COUNTの各々の値を第1ポインタBPで示されたアドレスに書き込んでいく。
次に、第1及び第2ポインタBP,WPの更新を行う。具体的には、第1ポインタBPに第2ポインタWPの値を代入し、第2ポインタWPの値を付加情報300のサイズだけ増加させる。この動作により、第1ポインタBPには次のピクチャの付加情報の位置が書き込まれ、第2ポインタWPには付加情報の次の位置が書き込まれる。
最後に、各種フラグ、カウンタの初期化がなされる。具体的にはPICSIZE、USER_COUNT、USERSIZE、PICDATA_COUNT及びPICTOP_COUNTが全て0に初期化され、SEQHEAD_FLAG、GOPHEAD_FLAG、PICHEAD_FLAG及びUSER_FLAGの全てが0にクリアされる。
〈ステップ4:フラグ更新処理〉
スタートコード検出の結果を受けて、該当するフラグをクリア、設定する。具体的には、(1)シーケンスヘッダが検出されたとき、SEQHEAD_FLAG=1、GOPHEAD_FLAG=0、PICHEAD_FLAG=0、USER_FLAG=0にする。(2)GOPヘッダが検出されたとき、GOPHEAD_FLAG=1、PICHEAD_FLAG=0、USER_FLAG=0にする。(3)ピクチャヘッダが検出されたとき、PICHEAD_FLAG=1、USER_FLAG=0にする。(4)ユーザデータのスタートコードが検出されたとき、USER_FLAGにGOPHEAD_FLAGの内容を設定する。(5)スライスのスタートコードが検出されたとき、SEQHEAD_FLAG=0、GOPHEAD_FLAG=0、PICHEAD_FLAG=0、USER_FLAG=0、SLICE_FLAG=1にする。
〈ステップ5:データ書き換え処理〉
ビットレート値、VBVバッファサイズ値、VBVディレイ値を前述のように変更する。SEQHEAD_FLAG=1のとき、PICSIZEはシーケンスヘッダからのバイト数を示し、その値によってビットレート値、VBVバッファサイズ値に該当するかどうかが判定できる。また、PICTOP_COUNTを利用してVBVディレイ値の2バイトを決定して書き換える。
〈ステップ6:カウンタ増加〉
ステップ6と次のステップ7は、第1〜第4入力レジスタ501〜504の値が全て0x00のときは動作しないものとする。つまり、データ書き込みのステップ7がスキップされる結果、スタッフィングされたゼロ(メインデータ中の冗長データ)が削除される。規格により、このようなパターンを削除しても悪影響が出ないようになっている。
第1〜第4入力レジスタ501〜504のいずれかが0x00以外であれば、以下のように動作する。すなわち、PICSIZEは、フラグに依存せずに増加する。USER_COUNTは、USER_FLAG=0かつPICHEAD_FLAG=0のときのみ増加する。USERSIZEは、USER_FLAG=1のときのみ増加する。PICDATA_COUNTは、SLICE_FLAG=0のときのみ増加する。PICTOP_COUNTは、PICHEAD_FLAG=1のときのみ増加する。これらにより、各種カウンタはスタートコードの発生に従って所定のサイズをカウントできる。
〈ステップ7:データ書き込み〉
第1〜第4入力レジスタ501〜504のいずれかが0x00以外であれば、第4入力レジスタ504の値を第2ポインタWPで指定されるデータバッファ102のアドレス位置に書き込み、かつ第2ポインタWPを1だけ増加させる。
なお、書き込みデータサイズ124は、データ解析制御部106の第1ポインタBPの値がそのまま出力される。つまり、書き込みデータサイズ124は、付加情報300が最後に書き込まれたアドレスを示している。
以上説明してきたようなフローでデータバッファ102にデータを書き込めば、図3に示すようなフォーマットを実現できる。ここで最も重要なポイントは、データバッファ102がGOPユーザデータ307の領域と、それ以外のメインデータの領域とを区別してアクセスできるようになっている点である。このような区別ができていれば、例えばバッファを別領域にしておくなどの他の手法を用いることもできる。しかし、別バッファを持つよりも単一バッファ上に付加情報300を付ける形でデータを識別しておく方が、バッファの利用効率は向上する。この付加情報300に更に元のデータサイズなどの他の情報を付加して利用することもできる。
図6は、図1中の多重化部103の内部構成例を示している。図6の多重化部103は、付加情報を順に出力する付加情報読み出し部601と、付加情報を保持するためのメイン付加情報バッファ602と、メインデータを順に出力するメインデータ読み出し部603と、ユーザデータを順に出力するユーザデータ読み出し部604と、このユーザデータ読み出し部604で参照する付加情報を保持するためのユーザ付加情報バッファ605と、多重化制御部606と、メインデータ再処理部701とから構成されている。メイン付加情報バッファ602は、メインデータの多重化の際に用いられ、1ピクチャを多重化する毎に付加情報が削除されていくものである。一方、ユーザ付加情報バッファ605は、ユーザデータの多重化の際に用いられ、ユーザデータを多重化できたときにのみ付加情報が削除されるものである。621及び702はメインデータ、622及び703はメインデータバリッド信号、623はユーザデータ、624はユーザデータバリッド信号、625はフレーム番号、704はサイズ変更指令である。多重化制御部606は、メインデータ702、ユーザデータ623、スタートコードなどを適切なタイミングで出力することによって、図4に示すようなフォーマットの出力コード127を出力する。なお、書き込みデータサイズ124はデータ解析部101がどこまでデータを書き込んだかを示すもので、書き込まれていないデータを多重化部103が誤って処理してしまわない働きをしている。メインデータ再処理部701の機能については後述する。
多重化制御部606の大まかな動作は、メイン付加情報バッファ602のデータに基づいて各ピクチャ層に配置可能なユーザデータ量をまず計算し、図3中のシーケンスヘッダ305、GOPヘッダ306、ピクチャヘッダ308を順に出力した後、配置可能なデータ量だけGOPユーザデータ307を多重化し、その後ピクチャデータ309を出力する。これにより、図4に示すようなシーケンスヘッダ401、GOPヘッダ402、ピクチャヘッダ403、ピクチャユーザデータ404、ピクチャデータ405が得られる。
ここで、ピクチャユーザデータ404の配置によって変換後のデータ量が増大することになるが、所要のユーザデータは複数フレーム中に必ず配置可能である。また、配置できるデータ量を予め計算しているため、この配置処理によってレート制御が破綻することはない。ビットレート値を元の値よりも増大させているので、配置不可能なデータ量が連続することはない。
更に詳細に説明すると、付加情報読み出し部601は、内部にリードポインタとピクチャサイズ用のカウンタとを持っており、書き込みアドレス122がリードポインタよりも大きくなり、かつメイン付加情報バッファ602に空きがあるときに動作を開始する。最初に、リードポインタを用いてデータバッファ102から付加情報300を読み出し、メイン付加情報バッファ602に書き込む。次に、ピクチャ情報301から得たピクチャサイズの情報を使ってその次の付加情報の位置を割り出し、その位置にデータバッファ102のリードポインタを増加させる。メイン付加情報バッファ602は、複数組の付加情報を格納することができる。
メインデータ読み出し部603は、メイン付加情報バッファ602に格納されている付加情報をもとに、メインデータのみを順に読み出し、これをメインデータ再処理部701へ出力する。詳細は後述するが、メインデータ再処理部701は、通常は与えられたメインデータ621をそのまま多重化制御部606へメインデータ702として供給する。1ピクチャの読み出しが終了すれば、メイン付加情報バッファ602の該当付加情報を削除する。メインデータ読み出し部603は、有効なメインデータ621の準備ができるとメインデータバリッド信号622を1とし、準備ができていることを、メインデータ再処理部701を介して多重化制御部606へ知らせる。この際、メインデータ再処理部701は、与えられたメインデータバリッド信号622をそのまま多重化制御部606へメインデータバリッド信号703として供給する。
ユーザデータ読み出し部604は、付加情報を順にユーザ付加情報バッファ605に書き込み、この情報に従ってGOPユーザデータ307の読み出しのみを順に行っていく。このとき、ユーザデータのサイズが0のものに対しては次のピクチャを探す。このユーザデータ読み出し部604は、有効なユーザデータ623の準備ができるとユーザデータバリッド信号624を1とし、かつそのユーザデータ623に対応するフレーム番号625を出力する。フレーム番号625は、このデータが含まれるピクチャが先頭から何番目かという情報と、次に読み出されるユーザデータが最初から何ワード目かという情報とを含むものであって、該当ユーザデータを何フレーム目のユーザデータとして配置すべきかという情報を示している。
多重化制御部606は、1ピクチャ毎にメインデータバリッド信号703が1になるのを待って以下のように動作する。最初に、現在の多重化対象ピクチャにユーザデータを配置すべきかどうかを決定する。つまり、VBVバッファが破綻を来さないようにシミュレーションを行いながら、最適なユーザデータ配置ピクチャを決定する。
まず、ユーザデータバリッド信号624が0の場合には、ユーザデータを配置しない。
ユーザデータバリッド信号624が1で、かつフレーム番号625が多重化対象のメインデータのピクチャ番号以下のときには、なるべく現在処理中のピクチャに配置する。したがって、ユーザデータを配置したと仮定したバッファシミュレーションを現在のピクチャに対して行い、破綻がなければ配置する。具体的には、メイン付加情報バッファ602から得られるピクチャ情報301中のピクチャサイズ及びユーザデータサイズ303からユーザデータ配置後のピクチャサイズを計算し、このユーザデータ配置後のピクチャサイズよりも現在のVBVバッファ占有量が大きいかどうかで判断する。
ユーザデータバリッド信号624が1で、かつフレーム番号625が多重化対象のメインデータのピクチャ番号より大きいときには、現在のピクチャにユーザデータを配置した場合、その次のピクチャに配置した場合、というように1ピクチャずつ配置する位置を変更し、フレーム番号625に一致するフレームに対して配置した場合まで処理を可能な限り繰り返す。これらのシミュレーションが可能であるのは、メイン付加情報バッファ602に該当フレームまでの付加情報が格納されている場合である。もしもメイン付加情報バッファ602にフレーム番号625に対応するピクチャの付加情報が含まれていない場合には、ユーザデータを配置しない。
これら一連の処理で、VBVバッファが破綻しない位置が現在の多重化対象ピクチャのみであれば、現在のピクチャにユーザデータを配置する。
以上の条件判断によって、ピクチャユーザデータ404を配置するかしないかが決定される。ここでもし配置するという判断がなされれば、ピクチャヘッダ403の次に、ユーザスタートコードとともにピクチャユーザデータ404が配置される。
なお、ピクチャデータ309の先頭位置は付加情報300中のピクチャデータ位置304で示されているため、ピクチャデータ405の多重化はきわめて簡単に行える。最後に、出力コード127の多重化データ量に基づいてVBVバッファ占有量の値を計算する。この値は次のピクチャの多重化の際に利用される。
以上のように、図6の多重化部103は、可能な限り、フレーム番号625で示される位置にピクチャユーザデータ404を多重化するように動作する。つまり、出力コード127中のメインデータとユーザデータとの同期ずれを最小限に抑えるのである。
フレーム番号625が多重化対象のメインデータのピクチャ番号より大きい場合にバッファシミュレーションを行わず、ピクチャユーザデータ404を配置しないとして処理してもよい。この場合には、それ以降の処理単位であるピクチャに書き込まれることになる。この手法を用いた場合、メイン付加情報バッファ602が1ピクチャ分だけあればよく、処理を簡略化できる。
以上のとおり、本実施形態によれば、ユーザデータのみのフォーマットを変換する際に発生するデータ量の増大に対し、ビットレート値を上げるなどのようにしてデータ量の上限を上げ、またCBRからVBRに変更することによってデータ量の下限を下げ、かつ配置できるデータ量だけユーザデータをピクチャ層に挿入することで、コード変換が達成される。ユーザデータのみをフォーマット変換の対象としたので、ピクチャデータに関する無駄な処理が省かれる結果、コード変換が高速化され、かつ画質劣化を生じない。
さて、以上の動作では出力コード127中のメインデータとユーザデータとの同期ずれが所定量以内に収まらない場合、メインデータのデータ量を変更するようにメインデータ再処理部701が機能する。
図7は、図6中のメインデータ再処理部701の内部構成例を示している。図7のメインデータ再処理部701は、Iピクチャデコーダ801と、Iピクチャエンコーダ802と、セレクタ803と、サイズ制御部804とから構成されており、メインデータ読み出し部603からのメインデータ621がIピクチャである場合に限り、出力コード127中のメインデータとユーザデータとの同期ずれが所定量を超えることをサイズ変更指令704が示すときに、当該メインデータ621をデコードし、かつ当該デコードの結果を再エンコードすることにより、メインデータ702のデータ量を削減するものである。ただし、サイズ変更指令704が与えられない場合には、メインデータ読み出し部603から供給されたメインデータ621及びメインデータバリッド信号622をセレクタ803が選択することにより、これらメインデータ621及びメインデータバリッド信号622がそのままメインデータ702及びメインデータバリッド信号703として多重化制御部606へ供給される。
ここで特に問題となるのは、1フレームのデータ量が多いためにユーザデータ挿入ができないような場合である。このようなことは、Pピクチャ及びBピクチャに比べて、他のピクチャを参照しないIピクチャで多く発生する。そこで、多重化制御部606は、ピクチャ情報301中のピクチャタイプを監視し、Iピクチャにおいてユーザデータ挿入によりバッファ破綻が生じることがVBVバッファシミュレーションで判明した場合に限り、サイズ変更指令704をサイズ制御部804に与えることとする。
サイズ変更指令704を受け取ったサイズ制御部804は、Iピクチャエンコーダ802にサイズ指定805を与える。Iピクチャエンコーダ802は、Iピクチャデコーダ801によるデコードの結果を再エンコードすることにより、データ量が削減されたメインデータを生成するとともに、メインデータバリッド信号622に代わるメインデータバリッド信号を出力する。セレクタ803は、サイズ制御部804から、の切換信号806に従って、Iピクチャエンコーダ802からのメインデータ及びメインデータバリッド信号を多重化制御部606へのメインデータ702及びメインデータバリッド信号703として供給する。
ただし、ここで問題にしている状況が頻発することはあまり考えられない。本実施形態によれば、このような特別の場合にのみメインデータ再処理部701で再エンコードを実行することとしているので、処理速度の劣化をあまり招くことなく、同期ずれを抑える効果がある。
なお、ユーザデータのフォーマット変換に限らず、ユーザデータの追加にも本発明は適用可能である。
産業上の利用の可能性
以上説明してきたとおり、本発明に係るコード変換方法及びその装置によれば、レート制御に破綻を来すことなくユーザデータのフォーマット変換や追加を実現することができ、圧縮符号化されたマルチメディア情報のコード変換に有用である。
本発明は、圧縮符号化されたマルチメディア情報のコード変換(code translation)の方法及びその装置に関し、特にユーザデータのフォーマット変換や追加に関するものである。
一般にMPEG−2(Moving Picture Experts Group Phase 2)と呼ばれるマルチメディア情報の圧縮符号化技術に関する規格として、ISO13818−2が知られている。MPEG−2のビデオストリームは階層構造を有し、最上位から順にシーケンス層、GOP(Group of Pictures)層、ピクチャ層、スライス層、マクロブロック層及びブロック層からなる。各層の最初にはスタートコードと呼ばれる4バイト長の特殊なパターンが挿入されている。このスタートコードは、0x00、0x00、0x01の3バイトで始まり、その次の1バイトで当該スタートコードに続くデータの種類を示すものである(0xは16進数表記であることを表す。以下同じ)。例えば、シーケンス層、GOP層、ピクチャ層、スライス層の各々のスタートコードの4バイト目は、それぞれ0xB3、0xB8、0x00、0xAFである。
MPEG−2では、シーケンス層、GOP層、ピクチャ層の各々においてユーザ拡張領域の設定が許容されており、ユーザデータのスタートコードが0x00、0x00、0x01、0xB2からなる4バイトと決められているだけで、独自のユーザ拡張に基づく任意フォーマットのユーザデータをいずれのユーザ拡張領域にも配置することができる。
実際に、DVD(Digital Versatile Disk )などのデジタル蓄積メディアや、DVB(Digital Video Broadcasting )などのデジタル放送では、MPEG−2に準拠しながら各々独自のユーザ拡張が行われている。例えばクローズドキャプションのためのユーザデータの規格は統一されておらず、ユーザデータ間のフォーマット変換を要するのが実状である。
なお、英語字幕情報などの文字情報をGOPヘッダ中にユーザデータとして格納するためのリアルタイム符号化技術が知られている(特許文献1参照)。
また、TS(Transport Stream)間の変換において処理量を削減できるビットレート変換装置(トランスコーダ)も提案されている(特許文献2参照)。
さて、ユーザデータのフォーマットを変換するための最も簡便な方法は、一方のシステムのデコーダと他方のシステムのエンコーダとをつなぐ方法である。ただし、ユーザデータ以外のデータ、つまりメインデータについて無駄な処理がなされることになり、また画質劣化の原因ともなる。
そうかと言って、入力コード中のユーザデータのみのフォーマットを単純に変換して出力コードを得る場合には、当該変換によりデータ量が大幅に変化すると、レート制御に破綻を来す可能性がある。データ量の許容範囲を決定するパラメータとして、ビットレート値及びVBV(Video Buffering Verifier )バッファサイズ値がシーケンスヘッダ中に、VBVディレイ値がピクチャヘッダ中にそれぞれ含まれており、これらのパラメータに基づくレート制御が破綻する虞れがあるのである。また、入力コードにユーザデータを追加して出力コードとする場合も同様である。
特開2001−145067号公報 特開2001−251616号公報
本発明の目的は、レート制御に破綻を来すことなくユーザデータのフォーマット変換や追加を実現できるコード変換方法及びその装置を提供することにある。
この目的を達成するため、本発明は、ある規格に準拠した入力コードを受け取り、かつ当該入力コード中のユーザ拡張領域に配置されたユーザデータのフォーマットを変換して出力コードとし、又は当該入力コードにユーザデータを追加して出力コードとするに際し、入力コード中のデータ量の許容範囲を決定するパラメータをユーザデータのフォーマット変換又は追加に対応できるように変更したうえ、変更後のパラメータに応じて出力コードを生成するように、パラメータ変更後の入力コードとユーザデータとを所定のフォーマットで多重化することとしたものである。
以下、図面を参照しながら、コード変換に係る本発明の実施の形態を詳細に説明する。ただし、問題を単純化する。まず、入力コードはMPEG−2のビデオストリームであり、これを所定のフォーマットの出力コードに変換するものとする。入力コードはGOP層のユーザ拡張領域(GOPユーザデータ領域)に、出力コードは個々のピクチャ層のユーザ拡張領域(ピクチャユーザデータ領域)に、それぞれ例えばクローズドキャプションのためのユーザデータが配置されるものとする。また、1GOPは最大15フレームからなり、かつ1GOP中にいくつかの先頭フレームに対応するユーザデータのみが入っているものとする。つまり、毎ピクチャに対応するユーザデータが入っているとは限らないものとしておく。変換前は15フレームのうち1フレームしか4バイトのスタートコードが付かなかったが、変換後は毎フレームにユーザデータの4バイトのスタートコードが付く。したがって、スタートコードだけを考えた場合でも、1秒あたり30フレームとして、変換により(14/15)×30×4×8bpsだけビットレートが増加することになる。また、変換後のユーザデータの位置は厳密ではないものとする。例えばクローズドキャプションのためのユーザデータでは、ピクチャデータとの完全な同期は要求されない。
以上のようなユーザデータ位置の仮定や、必ずしも全フレームに対応するユーザデータが存在しないような状況は、クローズドキャプションなどの現在用いられているシステムでは妥当な仮定である。
図1は、本発明に係るコード変換装置の構成例を示している。図1のコード変換装置は、データ解析部101と、データバッファ102と、多重化部103とから構成されている。例えば、データ解析部101と多重化部103とはストリームコントローラ104と呼ばれる1個のLSIを構成し、データバッファ102として機能するメモリが当該LSIに外付けされる。データ解析部101は、入力コード121を解析して、当該入力コード121中のデータ量の許容範囲を決定するパラメータ(ビットレート値、VBVバッファサイズ値、及びVBVディレイ値)をユーザデータのフォーマット変換に対応できるように変更し、かつ当該入力コード121中のユーザデータをそれ以外のメインデータから識別するための付加情報を生成する機能を有する。データバッファ102は、パラメータ変更後の入力コードを付加情報とともに一時格納するためのメモリである。122はデータ解析部101からデータバッファ102への書き込みアドレス、123はデータ解析部101からデータバッファ102への書き込みデータ、124はデータ解析部101から多重化部103へ通知される書き込みデータサイズである。多重化部103は、変更後のパラメータに応じて出力コード127を生成するように、パラメータ変更後の入力コードとユーザデータとをデータバッファ102中の付加情報に従って所定のフォーマットで多重化する機能を有する。125は多重化部103からデータバッファ102への読み出しアドレス、126はデータバッファ102から多重化部103への読み出しデータである。
図2は入力コード121を、図3はデータバッファ102に格納される中間コードを、図4は出力コード127をそれぞれ表すデータフォーマット図である。
図2において、201はシーケンスヘッダ、202はGOPヘッダ、203はGOPユーザデータ、204はピクチャヘッダ、205はピクチャデータである。GOPユーザデータ203の領域は、クローズドキャプションのためのユーザデータを含んでいる。図2に示しているのは1ピクチャのみであり、実際には「ピクチャヘッダ204+ピクチャデータ205」がピクチャ数だけ繰り返される。
図3に示す中間コードにおいて、305はシーケンスヘッダ、306はGOPヘッダ、307はGOPユーザデータ、308はピクチャヘッダ、309はピクチャデータであって、それぞれ図2中のシーケンスヘッダ201、GOPヘッダ202、GOPユーザデータ203、ピクチャヘッダ204、ピクチャデータ205に対応している。この中間コードは、ピクチャデータ309などのメインデータからGOPユーザデータ307を識別するための付加情報300を更に備えている。付加情報300において、301はピクチャサイズ及びピクチャタイプを含むピクチャ情報、302はユーザデータ位置、303はユーザデータサイズ、304はピクチャデータ位置である。このうちピクチャ情報301中のピクチャサイズは当該処理単位に含まれるピクチャの全体サイズを、ピクチャタイプはI(Intra)ピクチャ、P(Predictive)ピクチャ、B(Bidirectionally predictive )ピクチャというコーディングタイプの区別をそれぞれ表している。また、GOPユーザデータ307の先頭位置及びサイズがユーザデータ位置302及びユーザデータサイズ303によりそれぞれ示され、ピクチャデータ309の先頭位置がピクチャデータ位置304により示されている。
データ解析部101は、図3に示すような付加情報300を持ったデータをデータバッファ102に格納する。データの区切りには4バイト長の特殊なパターンであるスタートコードが必ず入るので、ランダムアクセスが可能なメモリであればこのようなデータ構造は簡単に作成できる。しかも、付加情報300を設けることで、GOPユーザデータ307と他のデータとを区別したデータバッファアクセスが簡単になる。また、ピクチャサイズを含んだピクチャ情報301があるので、図3のデータ構造の最後、つまり次の付加情報300の開始点も簡単にアクセスできる。
さて、ビットレート値及びVBVバッファサイズ値はデータ量の上限を、VBVディレイ値はCBR(Constant Bit Rate:一定ビットレート)の場合のデータ量の下限をそれぞれ決定するものである。ただし、VBVディレイ値が0xffffである場合にはVBR(Variable Bit Rate:可変ビットレート)とみなされ、データ量の下限に関する制約が外されることになっている。
そこで、シーケンスヘッダ305中のビットレート値及びVBVバッファサイズ値、ピクチャヘッダ308中のVBVディレイ値は、ユーザデータのフォーマット変換に対応できるように、それぞれデータ解析部101によって既に書き換えられている。例えば、ユーザデータのフォーマット変換によるビットレート増加予想値である(14/15)×30×4×8bpsだけビットレート値を増加させ、VBVバッファサイズ値は規格で許される最大値に変更し、VBVディレイ値を0xffffとすることでVBRの設定にする。ただし、もしユーザデータがフォーマット変換により少なくなるのであれば、書き換え後のビットレート値は元のビットレート値より小さくてもよい。書き換え後のVBVバッファサイズ値は、予想される最大のピクチャサイズ以上であればよく、また元のVBVバッファサイズ値をそのまま利用してもよい。VBRの設定を止めて、CBRのままでVBVディレイ値を再計算してスタッフィングを行う方法も採用できる。また、これらのパラメータ変更を多重化部103で行ってもよい。
多重化部103は、図4に示すようなフォーマットを持つ出力コード127を生成するように、データバッファ102中の付加情報300に従ってGOPユーザデータ307とそれ以外のメインデータとを多重化する。
図4において、401はシーケンスヘッダ、402はGOPヘッダ、403はピクチャヘッダ、404はピクチャユーザデータ、405はピクチャデータであって、それぞれ図3中のシーケンスヘッダ305、GOPヘッダ306、ピクチャヘッダ308、GOPユーザデータ307、ピクチャデータ309に対応している。図4に示しているのは1ピクチャのみであり、実際には「ピクチャヘッダ403+ピクチャユーザデータ404+ピクチャデータ405」がピクチャ数だけ繰り返される。
以下、図5及び図6を参照して、データ解析部101及び多重化部103の各々の詳細を説明する。
図5は、図1中のデータ解析部101の内部構成例を示している。図5のデータ解析部101は、第1、第2、第3及び第4入力レジスタ501,502,503,504と、スタートコード検出部505と、全体を制御するためのデータ解析制御部506と、付加情報300の挿入のためのセレクタ507とで構成されている。
データ解析部101は、1バイト毎に以下のステップ1〜7を繰り返す。すなわち、ステップ1でデータが取り込まれ、既に入力された3バイトのデータと合わせてスタートコードであるかどうかがステップ2で判定される。そのとき、所定条件を満たせばステップ3の付加情報書き込み処理がなされる。この処理の後、次のピクチャに対する付加情報を書き込むための準備として、データ書き込み用のポインタを所定サイズだけ増加させておく。ステップ4では、スタートコードに基づいて各種フラグが設定される。ステップ5では、ビットレート値、VBVバッファサイズ値、VBVディレイ値がそれぞれ変更される。ステップ6では、各種カウンタを増加させる。ステップ7では多重化データがデータバッファ102に書き込まれる。
以下、個々のステップの詳細を説明する前に、データ解析制御部506が有する各種フラグ、カウンタを説明する。まず、PICSIZEは処理単位であるピクチャのサイズを示すカウンタであり、レート制御や、次の付加情報位置を検出するために用いられる。USER_COUNTはユーザデータの開始位置を示すカウンタ、USERSIZEはユーザデータのサイズを示すカウンタ、PICDATA_COUNTはピクチャデータの開始位置を示すカウンタである。これら4つのカウンタは、図3におけるピクチャ情報301中のピクチャサイズ、ユーザデータ位置302、ユーザデータサイズ303、ピクチャデータ位置304にそれぞれ対応している。SEQHEAD_FLAG、GOPHEAD_FLAG、PICHEAD_FLAG、USER_FLAG及びSLICE_FLAGは、それぞれシーケンスヘッダ、GOPヘッダ、ピクチャヘッダ、ユーザデータ、スライスの各々のスタートコードを検出したことを示すフラグである。PICTOP_COUNTは、ピクチャヘッダ中のバイト数を示すカウンタであり、VBVディレイ値を変更する際に用いられる。BP及びWPはデータバッファ102のポインタであり、BPは付加情報300の書き込み位置を示す第1ポインタ、WPは他のデータの書き込み位置を示す第2ポインタである。
〈ステップ1:入力データ取り込み〉
第4入力レジスタ504に第3入力レジスタ503の値が書き込まれる。以下順に値が書き込まれ、第1入力レジスタ501に入力コード121の1バイトデータが書き込まれる。
〈ステップ2:スタートコード検出〉
スタートコード検出部505は、第1〜第4入力レジスタ501〜504の4バイトのデータがスタートコードに一致するか、あるいは全てのバイトが0x00であるかを判定する。
〈ステップ3:付加情報書き込み〉
ステップ3の全体は、(a) シーケンスヘッダを検出した場合、(b) SEQHEAD_FLAG=0であり、かつGOPヘッダを検出した場合、(c) SEQHEAD_FLAG=0、GOPHEAD_FLAG=0かつピクチャヘッダを検出した場合のうちのいずれかの場合に限って、以下のような処理を行う。
ステップ3における最初の動作は、付加情報300を所定フォーマットでデータバッファ102に書き込む処理である。ここでは、PICSIZE、USER_COUNT、USERSIZE、PICDATA_COUNTの各々の値を第1ポインタBPで示されたアドレスに書き込んでいく。
次に、第1及び第2ポインタBP,WPの更新を行う。具体的には、第1ポインタBPに第2ポインタWPの値を代入し、第2ポインタWPの値を付加情報300のサイズだけ増加させる。この動作により、第1ポインタBPには次のピクチャの付加情報の位置が書き込まれ、第2ポインタWPには付加情報の次の位置が書き込まれる。
最後に、各種フラグ、カウンタの初期化がなされる。具体的にはPICSIZE、USER_COUNT、USERSIZE、PICDATA_COUNT及びPICTOP_COUNTが全て0に初期化され、SEQHEAD_FLAG、GOPHEAD_FLAG、PICHEAD_FLAG及びUSER_FLAGの全てが0にクリアされる。
〈ステップ4:フラグ更新処理〉
スタートコード検出の結果を受けて、該当するフラグをクリア、設定する。具体的には、(1) シーケンスヘッダが検出されたとき、SEQHEAD_FLAG=1、GOPHEAD_FLAG=0、PICHEAD_FLAG=0、USER_FLAG=0にする。(2) GOPヘッダが検出されたとき、GOPHEAD_FLAG=1、PICHEAD_FLAG=0、USER_FLAG=0にする。(3) ピクチャヘッダが検出されたとき、PICHEAD_FLAG=1、USER_FLAG=0にする。(4) ユーザデータのスタートコードが検出されたとき、USER_FLAGにGOPHEAD_FLAGの内容を設定する。(5) スライスのスタートコードが検出されたとき、SEQHEAD_FLAG=0、GOPHEAD_FLAG=0、PICHEAD_FLAG=0、USER_FLAG=0、SLICE_FLAG=1にする。
〈ステップ5:データ書き換え処理〉
ビットレート値、VBVバッファサイズ値、VBVディレイ値を前述のように変更する。SEQHEAD_FLAG=1のとき、PICSIZEはシーケンスヘッダからのバイト数を示し、その値によってビットレート値、VBVバッファサイズ値に該当するかどうかが判定できる。また、PICTOP_COUNTを利用してVBVディレイ値の2バイトを決定して書き換える。
〈ステップ6:カウンタ増加〉
ステップ6と次のステップ7は、第1〜第4入力レジスタ501〜504の値が全て0x00のときは動作しないものとする。つまり、データ書き込みのステップ7がスキップされる結果、スタッフィングされたゼロ(メインデータ中の冗長データ)が削除される。規格により、このようなパターンを削除しても悪影響が出ないようになっている。
第1〜第4入力レジスタ501〜504のいずれかが0x00以外であれば、以下のように動作する。すなわち、PICSIZEは、フラグに依存せずに増加する。USER_COUNTは、USER_FLAG=0かつPICHEAD_FLAG=0のときのみ増加する。USERSIZEは、USER_FLAG=1のときのみ増加する。PICDATA_COUNTは、SLICE_FLAG=0のときのみ増加する。PICTOP_COUNTは、PICHEAD_FLAG=1のときのみ増加する。これらにより、各種カウンタはスタートコードの発生に従って所定のサイズをカウントできる。
〈ステップ7:データ書き込み〉
第1〜第4入力レジスタ501〜504のいずれかが0x00以外であれば、第4入力レジスタ504の値を第2ポインタWPで指定されるデータバッファ102のアドレス位置に書き込み、かつ第2ポインタWPを1だけ増加させる。
なお、書き込みデータサイズ124は、データ解析制御部106の第1ポインタBPの値がそのまま出力される。つまり、書き込みデータサイズ124は、付加情報300が最後に書き込まれたアドレスを示している。
以上説明してきたようなフローでデータバッファ102にデータを書き込めば、図3に示すようなフォーマットを実現できる。ここで最も重要なポイントは、データバッファ102がGOPユーザデータ307の領域と、それ以外のメインデータの領域とを区別してアクセスできるようになっている点である。このような区別ができていれば、例えばバッファを別領域にしておくなどの他の手法を用いることもできる。しかし、別バッファを持つよりも単一バッファ上に付加情報300を付ける形でデータを識別しておく方が、バッファの利用効率は向上する。この付加情報300に更に元のデータサイズなどの他の情報を付加して利用することもできる。
図6は、図1中の多重化部103の内部構成例を示している。図6の多重化部103は、付加情報を順に出力する付加情報読み出し部601と、付加情報を保持するためのメイン付加情報バッファ602と、メインデータを順に出力するメインデータ読み出し部603と、ユーザデータを順に出力するユーザデータ読み出し部604と、このユーザデータ読み出し部604で参照する付加情報を保持するためのユーザ付加情報バッファ605と、多重化制御部606と、メインデータ再処理部701とから構成されている。メイン付加情報バッファ602は、メインデータの多重化の際に用いられ、1ピクチャを多重化する毎に付加情報が削除されていくものである。一方、ユーザ付加情報バッファ605は、ユーザデータの多重化の際に用いられ、ユーザデータを多重化できたときにのみ付加情報が削除されるものである。621及び702はメインデータ、622及び703はメインデータバリッド信号、623はユーザデータ、624はユーザデータバリッド信号、625はフレーム番号、704はサイズ変更指令である。多重化制御部606は、メインデータ702、ユーザデータ623、スタートコードなどを適切なタイミングで出力することによって、図4に示すようなフォーマットの出力コード127を出力する。なお、書き込みデータサイズ124はデータ解析部101がどこまでデータを書き込んだかを示すもので、書き込まれていないデータを多重化部103が誤って処理してしまわない働きをしている。メインデータ再処理部701の機能については後述する。
多重化制御部606の大まかな動作は、メイン付加情報バッファ602のデータに基づいて各ピクチャ層に配置可能なユーザデータ量をまず計算し、図3中のシーケンスヘッダ305、GOPヘッダ306、ピクチャヘッダ308を順に出力した後、配置可能なデータ量だけGOPユーザデータ307を多重化し、その後ピクチャデータ309を出力する。これにより、図4に示すようなシーケンスヘッダ401、GOPヘッダ402、ピクチャヘッダ403、ピクチャユーザデータ404、ピクチャデータ405が得られる。
ここで、ピクチャユーザデータ404の配置によって変換後のデータ量が増大することになるが、所要のユーザデータは複数フレーム中に必ず配置可能である。また、配置できるデータ量を予め計算しているため、この配置処理によってレート制御が破綻することはない。ビットレート値を元の値よりも増大させているので、配置不可能なデータ量が連続することはない。
更に詳細に説明すると、付加情報読み出し部601は、内部にリードポインタとピクチャサイズ用のカウンタとを持っており、書き込みアドレス122がリードポインタよりも大きくなり、かつメイン付加情報バッファ602に空きがあるときに動作を開始する。最初に、リードポインタを用いてデータバッファ102から付加情報300を読み出し、メイン付加情報バッファ602に書き込む。次に、ピクチャ情報301から得たピクチャサイズの情報を使ってその次の付加情報の位置を割り出し、その位置にデータバッファ102のリードポインタを増加させる。メイン付加情報バッファ602は、複数組の付加情報を格納することができる。
メインデータ読み出し部603は、メイン付加情報バッファ602に格納されている付加情報をもとに、メインデータのみを順に読み出し、これをメインデータ再処理部701へ出力する。詳細は後述するが、メインデータ再処理部701は、通常は与えられたメインデータ621をそのまま多重化制御部606へメインデータ702として供給する。1ピクチャの読み出しが終了すれば、メイン付加情報バッファ602の該当付加情報を削除する。メインデータ読み出し部603は、有効なメインデータ621の準備ができるとメインデータバリッド信号622を1とし、準備ができていることを、メインデータ再処理部701を介して多重化制御部606へ知らせる。この際、メインデータ再処理部701は、与えられたメインデータバリッド信号622をそのまま多重化制御部606へメインデータバリッド信号703として供給する。
ユーザデータ読み出し部604は、付加情報を順にユーザ付加情報バッファ605に書き込み、この情報に従ってGOPユーザデータ307の読み出しのみを順に行っていく。このとき、ユーザデータのサイズが0のものに対しては次のピクチャを探す。このユーザデータ読み出し部604は、有効なユーザデータ623の準備ができるとユーザデータバリッド信号624を1とし、かつそのユーザデータ623に対応するフレーム番号625を出力する。フレーム番号625は、このデータが含まれるピクチャが先頭から何番目かという情報と、次に読み出されるユーザデータが最初から何ワード目かという情報とを含むものであって、該当ユーザデータを何フレーム目のユーザデータとして配置すべきかという情報を示している。
多重化制御部606は、1ピクチャ毎にメインデータバリッド信号703が1になるのを待って以下のように動作する。最初に、現在の多重化対象ピクチャにユーザデータを配置すべきかどうかを決定する。つまり、VBVバッファが破綻を来さないようにシミュレーションを行いながら、最適なユーザデータ配置ピクチャを決定する。
まず、ユーザデータバリッド信号624が0の場合には、ユーザデータを配置しない。
ユーザデータバリッド信号624が1で、かつフレーム番号625が多重化対象のメインデータのピクチャ番号以下のときには、なるべく現在処理中のピクチャに配置する。したがって、ユーザデータを配置したと仮定したバッファシミュレーションを現在のピクチャに対して行い、破綻がなければ配置する。具体的には、メイン付加情報バッファ602から得られるピクチャ情報301中のピクチャサイズ及びユーザデータサイズ303からユーザデータ配置後のピクチャサイズを計算し、このユーザデータ配置後のピクチャサイズよりも現在のVBVバッファ占有量が大きいかどうかで判断する。
ユーザデータバリッド信号624が1で、かつフレーム番号625が多重化対象のメインデータのピクチャ番号より大きいときには、現在のピクチャにユーザデータを配置した場合、その次のピクチャに配置した場合、というように1ピクチャずつ配置する位置を変更し、フレーム番号625に一致するフレームに対して配置した場合まで処理を可能な限り繰り返す。これらのシミュレーションが可能であるのは、メイン付加情報バッファ602に該当フレームまでの付加情報が格納されている場合である。もしもメイン付加情報バッファ602にフレーム番号625に対応するピクチャの付加情報が含まれていない場合には、ユーザデータを配置しない。
これら一連の処理で、VBVバッファが破綻しない位置が現在の多重化対象ピクチャのみであれば、現在のピクチャにユーザデータを配置する。
以上の条件判断によって、ピクチャユーザデータ404を配置するかしないかが決定される。ここでもし配置するという判断がなされれば、ピクチャヘッダ403の次に、ユーザスタートコードとともにピクチャユーザデータ404が配置される。
なお、ピクチャデータ309の先頭位置は付加情報300中のピクチャデータ位置304で示されているため、ピクチャデータ405の多重化はきわめて簡単に行える。最後に、出力コード127の多重化データ量に基づいてVBVバッファ占有量の値を計算する。この値は次のピクチャの多重化の際に利用される。
以上のように、図6の多重化部103は、可能な限り、フレーム番号625で示される位置にピクチャユーザデータ404を多重化するように動作する。つまり、出力コード127中のメインデータとユーザデータとの同期ずれを最小限に抑えるのである。
フレーム番号625が多重化対象のメインデータのピクチャ番号より大きい場合にバッファシミュレーションを行わず、ピクチャユーザデータ404を配置しないとして処理してもよい。この場合には、それ以降の処理単位であるピクチャに書き込まれることになる。この手法を用いた場合、メイン付加情報バッファ602が1ピクチャ分だけあればよく、処理を簡略化できる。
以上のとおり、本実施形態によれば、ユーザデータのみのフォーマットを変換する際に発生するデータ量の増大に対し、ビットレート値を上げるなどのようにしてデータ量の上限を上げ、またCBRからVBRに変更することによってデータ量の下限を下げ、かつ配置できるデータ量だけユーザデータをピクチャ層に挿入することで、コード変換が達成される。ユーザデータのみをフォーマット変換の対象としたので、ピクチャデータに関する無駄な処理が省かれる結果、コード変換が高速化され、かつ画質劣化を生じない。
さて、以上の動作では出力コード127中のメインデータとユーザデータとの同期ずれが所定量以内に収まらない場合、メインデータのデータ量を変更するようにメインデータ再処理部701が機能する。
図7は、図6中のメインデータ再処理部701の内部構成例を示している。図7のメインデータ再処理部701は、Iピクチャデコーダ801と、Iピクチャエンコーダ802と、セレクタ803と、サイズ制御部804とから構成されており、メインデータ読み出し部603からのメインデータ621がIピクチャである場合に限り、出力コード127中のメインデータとユーザデータとの同期ずれが所定量を超えることをサイズ変更指令704が示すときに、当該メインデータ621をデコードし、かつ当該デコードの結果を再エンコードすることにより、メインデータ702のデータ量を削減するものである。ただし、サイズ変更指令704が与えられない場合には、メインデータ読み出し部603から供給されたメインデータ621及びメインデータバリッド信号622をセレクタ803が選択することにより、これらメインデータ621及びメインデータバリッド信号622がそのままメインデータ702及びメインデータバリッド信号703として多重化制御部606へ供給される。
ここで特に問題となるのは、1フレームのデータ量が多いためにユーザデータ挿入ができないような場合である。このようなことは、Pピクチャ及びBピクチャに比べて、他のピクチャを参照しないIピクチャで多く発生する。そこで、多重化制御部606は、ピクチャ情報301中のピクチャタイプを監視し、Iピクチャにおいてユーザデータ挿入によりバッファ破綻が生じることがVBVバッファシミュレーションで判明した場合に限り、サイズ変更指令704をサイズ制御部804に与えることとする。
サイズ変更指令704を受け取ったサイズ制御部804は、Iピクチャエンコーダ802にサイズ指定805を与える。Iピクチャエンコーダ802は、Iピクチャデコーダ801によるデコードの結果を再エンコードすることにより、データ量が削減されたメインデータを生成するとともに、メインデータバリッド信号622に代わるメインデータバリッド信号を出力する。セレクタ803は、サイズ制御部804からの切換信号806に従って、Iピクチャエンコーダ802からのメインデータ及びメインデータバリッド信号を多重化制御部606へのメインデータ702及びメインデータバリッド信号703として供給する。
ただし、ここで問題にしている状況が頻発することはあまり考えられない。本実施形態によれば、このような特別の場合にのみメインデータ再処理部701で再エンコードを実行することとしているので、処理速度の劣化をあまり招くことなく、同期ずれを抑える効果がある。
なお、ユーザデータのフォーマット変換に限らず、ユーザデータの追加にも本発明は適用可能である。
以上説明してきたとおり、本発明に係るコード変換方法及びその装置によれば、レート制御に破綻を来すことなくユーザデータのフォーマット変換や追加を実現することができ、圧縮符号化されたマルチメディア情報のコード変換に有用である。
本発明に係るコード変換装置の構成例を示すブロック図である。 図1のコード変換装置における入力コードを表すデータフォーマット図である。 図1のコード変換装置における中間コードを表すデータフォーマット図である。 図1のコード変換装置における出力コードを表すデータフォーマット図である。 図1中のデータ解析部の内部構成例を示すブロック図である。 図1中の多重化部の内部構成例を示すブロック図である。 図6中のメインデータ再処理部の内部構成例を示すブロック図である。

Claims (13)

  1. ある規格に準拠した入力コードを受け取り、かつ前記入力コード中のユーザ拡張領域に配置されたユーザデータのフォーマットを変換して出力コードとし、又は前記入力コードにユーザデータを追加して出力コードとするコード変換方法であって、
    前記入力コード中のデータ量の許容範囲を決定するパラメータを前記ユーザデータのフォーマット変換又は追加に対応できるように変更するステップと、
    前記変更後のパラメータに応じて前記出力コードを生成するように、前記パラメータ変更後の入力コードと前記ユーザデータとを所定のフォーマットで多重化するステップとを備えたことを特徴とするコード変換方法。
  2. 請求項1記載のコード変換方法において、
    前記変更されるパラメータは、マルチメディア情報の圧縮符号化におけるビットレート値、VBV(Video Buffering Verifier)バッファサイズ値、VBVディレイ値のうちの少なくとも1つであることを特徴とするコード変換方法。
  3. 請求項2記載のコード変換方法において、
    前記ビットレート値をコード変換によるビットレート変化予想値だけ変化させるステップを更に備えたことを特徴とするコード変換方法。
  4. 請求項2記載のコード変換方法において、
    前記VBVバッファサイズ値を前記規格で許される最大値に変更するステップを更に備えたことを特徴とするコード変換方法。
  5. 請求項2記載のコード変換方法において、
    前記VBVディレイ値を変更することにより前記出力コードを可変ビットレートの設定にするステップを更に備えたことを特徴とするコード変換方法。
  6. 請求項1記載のコード変換方法において、
    前記入力コード中のユーザデータをそれ以外のメインデータから識別するための付加情報を生成するステップを更に備え、
    前記出力コードの生成を前記付加情報に従って進めることを特徴とするコード変換方法。
  7. 請求項6記載のコード変換方法において、
    前記出力コード中のメインデータとユーザデータとの同期ずれを最小限に抑えるステップを更に備えたことを特徴とするコード変換方法。
  8. 請求項7記載のコード変換方法において、
    前記出力コード中のメインデータとユーザデータとの同期ずれが所定量を超える場合に、前記メインデータのデータ量を変更するステップを更に備えたことを特徴とするコード変換方法。
  9. 請求項8記載のコード変換方法において、
    前記メインデータ中の特定タイプのデータのみをデコードし、かつ当該デコードの結果を再エンコードすることにより、前記メインデータのデータ量変更を達成するステップを更に備えたことを特徴とするコード変換方法。
  10. 請求項6記載のコード変換方法において、
    前記メインデータに含まれる冗長なデータを削除するステップを更に備えたことを特徴とするコード変換方法。
  11. ある規格に準拠した入力コードを受け取り、かつ前記入力コード中のユーザ拡張領域に配置されたユーザデータのフォーマットを変換して出力コードとするコード変換装置であって、
    前記入力コードを解析して、前記入力コード中のデータ量の許容範囲を決定するパラメータを前記ユーザデータのフォーマット変換に対応できるように変更し、かつ前記入力コード中のユーザデータをそれ以外のメインデータから識別する付加情報を生成するためのデータ解析部と、
    前記変更後のパラメータに応じて前記出力コードを生成するように、前記パラメータ変更後の入力コードと前記ユーザデータとを前記付加情報に従って所定のフォーマットで多重化するための多重化部とを備えたことを特徴とするコード変換装置。
  12. 請求項11記載のコード変換装置において、
    前記パラメータ変更後の入力コードを前記付加情報とともに一時格納するためのデータバッファを更に備えたことを特徴とするコード変換装置。
  13. 請求項12記載のコード変換装置において、
    前記データ解析部は、前記入力コード中の複数の処理単位の各々について前記付加情報を順次生成して前記データバッファに書き込む機能を有し、
    各付加情報は前記データバッファ中の次の付加情報の位置を特定するための位置情報を含み、かつ前記多重化部は前記次の付加情報を読み出す際に前記位置情報を用いて前記データバッファをアクセスすることを特徴とするコード変換装置。
JP2005504818A 2003-02-04 2004-02-02 コード変換方法及びその装置 Expired - Fee Related JP4676331B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003026692 2003-02-04
JP2003026692 2003-02-04
PCT/JP2004/001015 WO2004071085A1 (ja) 2003-02-04 2004-02-02 コード変換方法及びその装置

Publications (2)

Publication Number Publication Date
JPWO2004071085A1 true JPWO2004071085A1 (ja) 2006-06-01
JP4676331B2 JP4676331B2 (ja) 2011-04-27

Family

ID=32844152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005504818A Expired - Fee Related JP4676331B2 (ja) 2003-02-04 2004-02-02 コード変換方法及びその装置

Country Status (5)

Country Link
US (1) US7940799B2 (ja)
EP (1) EP1599043A4 (ja)
JP (1) JP4676331B2 (ja)
CN (1) CN100369481C (ja)
WO (1) WO2004071085A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004071085A1 (ja) * 2003-02-04 2004-08-19 Matsushita Electric Industrial Co., Ltd. コード変換方法及びその装置
US20050276548A1 (en) * 2004-06-10 2005-12-15 Jiang Fu Transcoding closed captioning data from broadcast DTV onto DVD
JP4586429B2 (ja) * 2004-06-11 2010-11-24 ソニー株式会社 データ処理装置およびデータ処理方法、並びに、プログラムおよびプログラム記録媒体
AU2008218064B2 (en) * 2007-02-19 2010-08-19 Kabushiki Kaisha Toshiba Data multiplexing/separating device
KR101973822B1 (ko) * 2011-05-11 2019-04-29 포토네이션 케이맨 리미티드 어레이 카메라 이미지 데이터를 송신 및 수신하기 위한 시스템들 및 방법들
US9510002B2 (en) 2013-09-09 2016-11-29 Apple Inc. Chroma quantization in video coding
US10979747B2 (en) * 2017-12-21 2021-04-13 Arris Enterprises Llc Statistical multiplexing system for variable bit rate encoding with constant bit rate encoder
DE112020004391T5 (de) 2019-09-17 2022-06-02 Boston Polarimetrics, Inc. Systeme und verfahren zur oberflächenmodellierung unter verwendung von polarisationsmerkmalen
JP2022552833A (ja) 2019-10-07 2022-12-20 ボストン ポーラリメトリックス,インコーポレイティド 偏光による面法線計測のためのシステム及び方法
WO2021108002A1 (en) 2019-11-30 2021-06-03 Boston Polarimetrics, Inc. Systems and methods for transparent object segmentation using polarization cues
CN111290777B (zh) * 2020-01-23 2021-09-17 复旦大学 一种面向软件代码单元和代码度量的代码变更序列方法
KR20220132620A (ko) 2020-01-29 2022-09-30 인트린식 이노베이션 엘엘씨 물체 포즈 검출 및 측정 시스템들을 특성화하기 위한 시스템들 및 방법들
US11797863B2 (en) 2020-01-30 2023-10-24 Intrinsic Innovation Llc Systems and methods for synthesizing data for training statistical models on different imaging modalities including polarized images
US11953700B2 (en) 2020-05-27 2024-04-09 Intrinsic Innovation Llc Multi-aperture polarization optical systems using beam splitters
US11954886B2 (en) 2021-04-15 2024-04-09 Intrinsic Innovation Llc Systems and methods for six-degree of freedom pose estimation of deformable objects
US11290658B1 (en) 2021-04-15 2022-03-29 Boston Polarimetrics, Inc. Systems and methods for camera exposure control
US11689813B2 (en) 2021-07-01 2023-06-27 Intrinsic Innovation Llc Systems and methods for high dynamic range imaging using crossed polarizers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002218400A (ja) * 2001-01-19 2002-08-02 Sony Corp 画像記録装置及び画像記録方法
JP2002218458A (ja) * 2001-01-12 2002-08-02 Matsushita Electric Ind Co Ltd 映像再生装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241383A (en) * 1992-05-13 1993-08-31 Bell Communications Research, Inc. Pseudo-constant bit rate video coding with quantization parameter adjustment
US5481543A (en) * 1993-03-16 1996-01-02 Sony Corporation Rational input buffer arrangements for auxiliary information in video and audio signal processing systems
JPH07184198A (ja) * 1993-12-24 1995-07-21 Toshiba Corp ビデオ信号圧縮/伸張処理装置
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
CA2157066C (en) * 1994-10-21 1999-09-21 Nelson Botsford Iii Method for controlling a compressed data buffer
US6026232A (en) * 1995-07-13 2000-02-15 Kabushiki Kaisha Toshiba Method and system to replace sections of an encoded video bitstream
US5699124A (en) * 1995-06-28 1997-12-16 General Instrument Corporation Of Delaware Bandwidth efficient communication of user data in digital television data stream
US5737019A (en) * 1996-01-29 1998-04-07 Matsushita Electric Corporation Of America Method and apparatus for changing resolution by direct DCT mapping
JPH10224794A (ja) * 1997-02-10 1998-08-21 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像符号化データの階層化方法および装置
JPH10285529A (ja) 1997-04-04 1998-10-23 Sony Corp 画像編集装置および画像編集方法
US6101195A (en) * 1997-05-28 2000-08-08 Sarnoff Corporation Timing correction method and apparatus
US5990955A (en) * 1997-10-03 1999-11-23 Innovacom Inc. Dual encoding/compression method and system for picture quality/data density enhancement
DE69838869T2 (de) 1997-10-03 2008-12-04 Sony Corp. Vorrichtung und Verfahren zum Spleißen von codierten Datenströmen sowie Vorrichtung und Verfahren zur Erzeugung von codierten Datenströmen
US6160847A (en) * 1998-06-26 2000-12-12 Lsi Logic Corporation Detection mechanism for video channel underflow in MPEG-2 video decoding
US6483543B1 (en) * 1998-07-27 2002-11-19 Cisco Technology, Inc. System and method for transcoding multiple channels of compressed video streams using a self-contained data unit
JP4010066B2 (ja) * 1998-11-09 2007-11-21 ソニー株式会社 画像データ記録装置および記録方法、並びに画像データ記録再生装置および記録再生方法
US6233226B1 (en) * 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
KR100539520B1 (ko) * 1999-03-02 2005-12-29 엘지전자 주식회사 디지털 티브이(Digital TV)의 캡션 표시장치
JP2000228772A (ja) * 1999-02-05 2000-08-15 Hitachi Ltd 動画データ量削減装置および動画データ量削減プログラムを記憶した記憶媒体
KR100420740B1 (ko) * 1999-02-05 2004-03-02 소니 가부시끼 가이샤 인코딩 장치, 인코딩 방법, 디코딩 장치, 디코딩 방법,코딩 시스템, 코딩 방법
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
JP2001145067A (ja) 1999-11-17 2001-05-25 Nec Ic Microcomput Syst Ltd リアルタイム符号化装置およびリアルタイム符号化方法
JP2001251616A (ja) 2000-03-02 2001-09-14 Media Glue Corp 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
CN101035277A (zh) * 2000-03-13 2007-09-12 索尼公司 产生压缩的代码转换提示元数据的方法和设备
JP2001346201A (ja) * 2000-03-27 2001-12-14 Sony Corp 画像符号化装置とその方法、画像復号化装置とその方法、画像記録装置、画像伝送装置
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US6763067B2 (en) * 2000-10-10 2004-07-13 Sarnoff Corporation Rate control for bitstream re-encoding
JP4428680B2 (ja) * 2000-11-06 2010-03-10 パナソニック株式会社 映像信号符号化方法および映像信号符号化装置
KR100433516B1 (ko) * 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
US7170938B1 (en) * 2001-08-21 2007-01-30 Cisco Systems Canada Co. Rate control method for video transcoding
US20040252758A1 (en) * 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
JP4007594B2 (ja) * 2002-09-26 2007-11-14 株式会社東芝 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
WO2004071085A1 (ja) * 2003-02-04 2004-08-19 Matsushita Electric Industrial Co., Ltd. コード変換方法及びその装置
US7330509B2 (en) * 2003-09-12 2008-02-12 International Business Machines Corporation Method for video transcoding with adaptive frame rate control
US7778526B2 (en) * 2004-06-01 2010-08-17 Nero Ag System and method for maintaining DVD-subpicture streams upon conversion to higher compressed data format

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002218458A (ja) * 2001-01-12 2002-08-02 Matsushita Electric Ind Co Ltd 映像再生装置
JP2002218400A (ja) * 2001-01-19 2002-08-02 Sony Corp 画像記録装置及び画像記録方法

Also Published As

Publication number Publication date
US7940799B2 (en) 2011-05-10
US20060153290A1 (en) 2006-07-13
CN100369481C (zh) 2008-02-13
EP1599043A1 (en) 2005-11-23
CN1717931A (zh) 2006-01-04
EP1599043A4 (en) 2011-08-10
JP4676331B2 (ja) 2011-04-27
WO2004071085A1 (ja) 2004-08-19

Similar Documents

Publication Publication Date Title
JP4676331B2 (ja) コード変換方法及びその装置
JP4538908B2 (ja) データ変換装置及び方法
US5991503A (en) Moving picture data storing system and moving picture data decoding system
US6212208B1 (en) Method for coding and multiplexing multimedia data, apparatus for coding and multiplexing multimedia data, record media containing program for coding and multiplexing multimedia data
US5847770A (en) Apparatus and method for encoding and decoding a subtitle signal
US6628890B1 (en) Digital recording/reproduction apparatus
JP4769717B2 (ja) 画像復号化方法
US5751356A (en) Video/audio signal coding system and method
JP2002359818A (ja) 再生画像伝送装置
US7333711B2 (en) Data distribution apparatus and method, and data distribution system
EP0840517A2 (en) Video data stream decoding method and apparatus
US6600787B2 (en) MPEG decoding device
JPH11163817A (ja) ディジタル符号化多重化装置
JP3622451B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2872104B2 (ja) タイムスタンプ付加装置および方法、並びにそれを用いた動画像圧縮伸張伝送システムおよび方法
US6556626B1 (en) MPEG decoder, MPEG system decoder and MPEG video decoder
US6907068B2 (en) Image compressing coding apparatus and method for detecting a top position of an image in a buffer overflow
JP2003289495A (ja) 動画像処理装置
KR20040010173A (ko) 화상 데이터 재생 장치 및 방법
JP2005198350A (ja) アフレコ信号再生方法
JPH1022960A (ja) メディア符号化装置
EP1148723B1 (en) Special reproduction data generating device, medium, and information aggregate
JP2000307647A (ja) データ受信装置
KR100525373B1 (ko) 비디오 플레이어 및 비디오 플레이어의 고속 감기제어 방법
JP2011078068A (ja) 映像伝送方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100428

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110127

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

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees