JP3647366B2 - Data processing apparatus, data processing method, and computer-readable recording medium - Google Patents

Data processing apparatus, data processing method, and computer-readable recording medium Download PDF

Info

Publication number
JP3647366B2
JP3647366B2 JP2000255865A JP2000255865A JP3647366B2 JP 3647366 B2 JP3647366 B2 JP 3647366B2 JP 2000255865 A JP2000255865 A JP 2000255865A JP 2000255865 A JP2000255865 A JP 2000255865A JP 3647366 B2 JP3647366 B2 JP 3647366B2
Authority
JP
Japan
Prior art keywords
transmission
bitstream
data processing
communication path
bit stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000255865A
Other languages
Japanese (ja)
Other versions
JP2002077292A (en
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2000255865A priority Critical patent/JP3647366B2/en
Publication of JP2002077292A publication Critical patent/JP2002077292A/en
Application granted granted Critical
Publication of JP3647366B2 publication Critical patent/JP3647366B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理装置、データ処理方法及びコンピュータ読み取り可能な記録媒体に関するものであり、特に符号化されたデータの送信処理或いは受信処理に関するものである。
【0002】
【従来の技術】
近年において、例えば、「ISO/IEC 14496(MPEG phase4)」規格では、マルチメディアの符号化の標準化(圧縮フォーマットの標準化)が進められている。
【0003】
本規格では、従来のビデオデータやオーディオデータの符号化の他に、各メディアの空間や時間的配置を定義することが可能であり、これを「シーン記述」と呼称し、各々のメディアを「オブジェクト」と呼称している。
【0004】
図9は、本規格でのシーンの一例を示したものである。
上記図9では、グラフィックオブジェクトとしてBOX(箱)401及びCylinder(円柱)402が定義されている。また、BOX401に貼付されるイメージテクスチャ401a、Cylinder402に貼付されるビデオテクスチャ402a、及びそれらと同時に再生されるオーディオ403が定義されている。
【0005】
シーン記述自体の手法としては、例えば、VRML(Virtual Reality Markup Language)に基づき機能拡張及びバイナリ化を行ったBIFS(Binary Format for Scene description)が採用されている。
【0006】
また、本規格では、上記図9に示したようなシーン記述とは別に、オブジェクトディスクリプタ(以下、「OD」と言う)と呼ばれる、各オブジェクトの属性を示すデータが定義される。
ここでの属性とは、メディアの属性(ビデオ、オーディオ、イメージ等)や、著作権者情報、QoS(Quality Of Service)情報、コンテンツのレーティング情報等を示す。
このような属性自体が、それぞれ個々のディスクリプタとして、ODの中に内包される。
【0007】
図10は、本規格に従ったビットストリーム全体の一例を示したものである。上記図10において、“501”は、初期オブジェクトディスクリプタであり、ビットストリーム全体のプロパティ(ビットストリームのプロファイル等)が格納される。
“502”は、BIFSストリームであり、シーン情報が格納される。
【0008】
“503”及び“506は、ODであり、上記図10でのビットストリームでは、2つのOD1(503),OD2(506)を有するものとしている。
OD503,506の後には、オブジェクトの属性が記述される。すなわち、OD1(503),OD2(506)に続いて、各メディアストリーム(以下、「エレメンタリーストリーム」とも言う)ES1,ES2の属性を示すエレメンタリーストリームディスクリプタ(以下、「ESD」と言う)が複数記述可能となっている。
上記図10では、OD1(503)の後にESD1(504)が記述され、OD2(506)の後にESD2(507)が記述されている。
【0009】
また、エレメンタリーストリームES1,ES2については、実際にはパケッタイズされ、「Sync Layer Packet」(以下、「SLパケット」と言う)として扱われるため、上記図10に示すように、当該SLパケットの構造を記述するためのSLConfigのディスクリプタ505,508がESD1(504),ESD2(507)のそれぞれに対して付加される。
【0010】
上述したOD及びESDのディスクリプタはそれぞれ、上記図10に示したビットストリームにおいて、各エレメンタリーストリームES1,ES2の前の先頭に設置する必要がある。
ただし、OD及びESDはそれぞれ、ビットストリームの途中にアップデートコマンドを挿入することによって、追加、削除、及び変更が可能となっている。
【0011】
また、本規格では、OD及びESごとに、著作権管理情報やアクセス制御情報等のセキュリティ情報を付加することが可能になっている。この情報は、IPMP(Intellectual Property Management and Protection)情報と呼ばれている。
IPMP情報についても、IPMPディスクリプタと称されるディスクリプタにおいてその詳細が記述される。
実際には、アクセス制御として暗号が使用される場合が多いが、IPMPの方式(ディスクリプタのシンタックス)は特定されておらず、フリーシンタックスとなっている。また、RA(Registration Authority)に登録されたIPMPのセキュリティのタイプ番号のみを記述するようになっている。
【0012】
IPMPディスクリプタによって記述されたIPMP情報自体は、IPMPのセキュリティのタイプ番号でリンクすることによって、IPMP用のエレメンタリーストリームES(以下、「IPMP−ES」と言う)を付加することが可能となっている。
図11は、この場合のビットストリーム全体の一例を示したものである。
上記図11では、IPMP1(510)及びIPMP2(512)がそれぞれ、エレメンタリーストリームES1(509),ES2(511)に対するIPMP−ESとなっている。
【0013】
図12は、IPMPディスクリプタの一例を示したものである。
上記図12において、“601”は、ディスクリプタ・タグ(TAG)であり、ディスクリプタの種類を示す。
“602”は、レングスフィールド(LENGTH)であり、ディスクリプタ全体の長さ(バイト数)を示す。
“603”は、ディスクリプタIDであり、ディスクリプタ自体の識別子が格納される。
“604”は、上述したセキュリティのタイプ番号(IPMPS_type)である。
“605”は、オプションフィールド(Option)であり、IPMPに付随するデータを適宜挿入することができるようになされている。また、オプションフィールド605内のシンタックスが自由になっている。また、上記付随データは、オプションフィールド605にURLで示すことも可能となっている。
【0014】
上述したIPMPのディスクリプタについても、上記図11に示したビットストリームにおいて、各エレメンタリーストリームES1,ES2の前の先頭に設置する必要がある。
ただし、IPMPのディスクリプタは、ビットストリームの途中にアップデートコマンドを挿入することによって、追加、削除、及び変更が可能となっている。
上記図11では、IPMP情報をアップデートする場合のコマンド513を1ヶ所含んだビットストリームの一例を示している。
【0015】
図13は、上述したようなビットストリームを生成するためのエンコーダ700の一例を示したものである。
上記図13において、“701”は、オブジェクトディスクリプタ生成器であり、上述したようなディスクリプタをビットストリームのプロパティに応じて適宜生成する。
“702”は、メディアエンコーダであり、ビデオやオーディオ等のデータをエンコード(符号化)する。
“703”は、IPMPコントローラである。
“704”は、BIFSエンコーダであり、シーン情報をバイナリ化する。
“705”は、必要に応じて設けられるアップデートコントローラであり、OD、ESD、及びIPMPのディスクリプタ等のプロパティを更新するためのコマンドを挿入する。
“706”は、マルチプレクサであり、各ディスクリプタや、メディアストリームを最終的に1つのSLパケットとしてマルチプレクスする。
【0016】
図14は、上記図13のエンコーダ700で得られたビットストリームをデコード(再生)するデコーダ800の一例を示したものである。
上記図14において、“801”は、デマルチプレクサであり、入力されたビットストリームから各ディスクリプタ及びES等を分離する。
“803”は、ディスクリプタパーサであり、ディスクリプタのタグ情報によって当該ディスクリプタの種類を判別し、当該ディスクリプタの内容を解読し、適宜各部に設定する。
“804”は、BIFSデコーダであり、バイナリ化されたBIFSをデコードし、シーン構造を再構築する。
“805”は、メディアデコーダであり、ビデオやオーディオ、或はイメージ等のメディアデコーダをデコードする。
“807”は、レンダラであり、シーン構造に従って各オブジェクトを適宜表示、又は再生する。
“806”は、IPMPコントローラであり、IPMPディスクリプタ及びIPMP_ESの情報に従って、メディアの再生制御(再生制限、効果制御等)を行う。例えば、データに暗号がかけられているような場合には、当該暗号を解読してから、メディアデコーダ805にデータを転送する。
“802”は、同期コントローラであり、各メディア間の同期制御を行う。
【0017】
尚、上記図13のエンコーダ700側から上記図14のデコーダ800側へのデータ転送方法については特記しないが、ネットワーク上の伝送の場合には、全て1本のビットストリームとして、同一セッションにて送受信されるのが一般的である。
【0018】
【発明が解決しようとする課題】
しかしながら、上記図13に示した従来のエンコーダ700側から、上記図14に示した従来のデコーダ(再生器)800側に対して、例えば、ネットワークを介してデータを送信する場合、全て1本のビットストリームとして同一セッションで送信され、当該ビットストリームの通信路又は通信手段としてのネットワーク以外に、他の通信路又は通信手段が存在しないため、ビットストリームの受信側であるデコーダ800の能力(受信可能なビットレートの上限に代表される処理能力)のネゴシエーションや、伝送課程で生じたエラーに起因する不具合の通知、ビットストリームの再送要求、随時変化する通信路又は通信手段のトラフィックによりデコーダ800側で生じるバッファーアンダーラン等の不具合の通知、再送要求等を行うことが不可能であった。
また、上述したIPMPディスクリプタを含むIPMP_ESには、エラー訂正機能がないため、任意の有償コンテンツ(ビデオやオーディオ等の有償のメディアデータ)に伴うIPMP_ES(上記図12参照)にエラーが生じた場合、IPMPディスクリプタ以降のデータが全て無効となり、この状態が次のIPMPディスクリプタを受信するまで続くという致命的な問題があった。
【0019】
そこで、本発明は、前記の欠点を除去するために成されたもので、データ伝送と共に、当該データ伝送で生じる要求及び応答等をデータの送信側と受信側の間で行えるように構成することで、効率的なデータ伝送が行えるデータ処理装置、データ処理方法及びそれを実施するための処理ステップをコンピュータが読出可能に格納した記憶媒体を提供することを目的とする。
【0020】
【課題を解決するための手段】
斯かる目的下において、本発明のデータ処理方法は、それぞれが任意のサイズに分割された符号化データと、前記符号化データに関する任意の固有情報を含むヘッダとを連結して、一連のビットストリームを構成し、前記ビットストリームを第1の通信路を介して伝送するデータ処理方法であって、少なくとも前記ビットストリームの伝送に関する情報を第2の通信路を介して受信側から受信する受信ステップと、前記受信ステップにより得られた受信情報に基づいて、前記ビットストリームの伝送を制御する制御ステップとを含むことを特徴とする。
【0021】
また、本発明のデータ処理方法は、複数の伝送プロトコルの中の任意の伝送プロトコルによって、少なくとも1つ以上の相互に独立な複数の符号化データを内包した任意のビットストリームを第1の通信路を介して受信して、前記相互に独立な複数の符号化データをそれぞれ独立に復号するためのデータ処理方法であって、少なくとも前記ビットストリームの伝送に関する情報を第2の通信路を介して前記ビットストリームの送信側へ送信する送信ステップを含むことを特徴とする。
【0022】
また、本発明のデータ処理方法は、複数の相互に異なる伝送プロトコルの中の任意の伝送プロトコルによって、連続したビットストリームを送信するためのデータ処理方法であって、前記ビットストリームの任意の領域を任意の伝送プロトコルに従ってエンコードして送信する送信ステップと、前記ビットストリームの通信路とは独立した通信路を介して外部より受信した情報に応じて前記ビットストリームにおける任意の部分の伝送プロトコルを変更する変更ステップと、前記外部より受信した情報に応じて前記ビットストリームの既に送信済みの部分を次のビットストリームに結合して再送する再送ステップとを含むことを特徴とする。
【0023】
また、本発明のデータ処理装置は、それぞれが任意のサイズに分割された符号化データと、前記符号化データに関する任意の固有情報を含むヘッダとを連結して、一連のビットストリームを構成し、前記ビットストリームを第1の通信路を介して伝送するデータ処理装置であって、少なくとも前記ビットストリームの伝送に関する情報を第2の通信路を介して受信側から受信する受信手段と、前記受信手段により得られた受信情報に基づいて、前記ビットストリームの伝送を制御する制御手段とを有することを特徴とする。
【0024】
また、本発明のデータ処理装置は、複数の伝送プロトコルの中の任意の伝送プロトコルによって、少なくとも1つ以上の相互に独立な複数の符号化データを内包した任意のビットストリームを第1の通信路を介して受信する受信手段と、前記受信手段により受信されたビットストリーム中の前記相互に独立な複数の符号化データをそれぞれ独立に復号する復号手段と、少なくとも前記ビットストリームの伝送に関する情報を第2の通信路を介して前記ビットストリームの送信側へ送信する送信手段とを有することを特徴とする。
【0025】
また、本発明のデータ処理装置は、複数の相互に異なる伝送プロトコルの中の任意の伝送プロトコルによって、連続したビットストリームを送信するためのデータ処理装置であって、前記ビットストリームの任意の領域を任意の伝送プロトコルに従ってエンコードして送信する送信手段と、前記ビットストリームの通信路とは独立した通信路を介して外部より受信した情報に応じて前記ビットストリームにおける任意の部分の伝送プロトコルを変更する変更手段と、前記外部より受信した情報に応じて前記ビットストリームの既に送信済みの部分を次のビットストリームに結合して再送する再送手段とを有することを特徴とする。
【0034】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【0035】
(第1の実施の形態)
本発明は、例えば、図1に示すようなエンコーダ100、及び図2に示すようなデコーダ200を含むデータ処理システムに適用される。
本実施の形態のデータ処理システムは、上記図9〜図12を用いて説明したような「ISO/IEC 14496(MPEG phase4)」規格に準拠してデータ伝送を行うようになされている。
尚、本実施の形態では、その一例として、エンコーダ100からデコーダ200へのデータ伝送方法は任意であり、ネットワークを介して伝送する場合は、全て1本のビットストリームとして同一セッションにて伝送されるものとする。
【0036】
エンコーダ100は、上記図1に示すように、OD生成部101、メディアエンコーダ102、IPMP制御部103、BIFSエンコーダ104、アップデートコントローラ105、及びマルチプレクサ106を備えている。
【0037】
メディアエンコーダ102は、イメージやビデオ、オーディオ、及びその他のマルチメディア等のメディアデータ(コンテンツ)を符号化(圧縮)して出力する。
OD生成部101は、メディアエンコーダ102で処理対象となっているメディアデータの属性情報を符号化して、当該符号化データをODとして出力する。BIFSエンコーダ104は、メディアエンコーダ105で処理対象となっているメディアデータで構成されるシーン(上記図4参照)の情報を符号化して出力する。
【0038】
IPMPコントローラ103は、メディアエンコーダ102で符号化される各種メディアデータ(コンテンツ)に対するIPMPディスクリプタ及びIPMP_ES等のセキュリティ情報を生成すると共に、当該コンテンツに対して独立に暗号化処理を施す。
尚、メディアエンコーダ102で取り扱うコンテンツに対する著作権保護を必要としない場合は、この限りではない。
【0039】
アップデートコントローラ105は、必要に応じて設けられるアップデートコントローラであり、OD、ESD、及びIPMPのディスクリプタ等のプロパティを更新するためのコマンドをビットストリーム内に挿入する。
【0040】
マルチプレクサ106は、OD生成部101、BIFSエンコーダ104、IPMP制御部103、及びメディアエンコーダ102の各出力をマルチプレクスして、上記図10や図11に示したような1本のビットストリームへとまとめて出力する。
このとき、マルチプレクサ106は、マルチプレクスするデータの同期制御も行う。具体的には例えば、タイプスタンプやクロックリファレンスを、ビットストリームのパケットの中に埋めこむ。これにより、SLパケッタイズされたビットストリームが完成する。
【0041】
一方、デコーダ200は、上記図2に示すように、デマルチプレクサ201、同期制御部202、ディスクリプタパーサ203、BIFSデコーダ204、メディアデコーダ205、IPMPコントローラ206、及びレンダラ207を備えている。
【0042】
デマルチプレクサ201は、エンコーダ100から送信されてきたビットストリームから、IPMPディスクリプタ、IPMP_ES、OD、BIFS、及びA/V(オーディオ/ビデオ)のビットストリーム等の各ディスクリプタ及び各ビットストリームを分離する。
【0043】
ディスクリプタパーサ203は、デマルチプレクサ201により得られた各ディスクリプタのそれぞれについて、そのタグ情報によりディスクリプタの種類を判別してディスクリプタの内容を解読し、その解読結果に基づいて、デコーダ200に必要な各情報を適宜セットする。
メディアデコーダ205は、デマルチプレクサ201で得られたA/Vのビットストリーム(イメージやビデオ、オーディオ等のメディアストリーム)をデコードする。
このとき、同期制御部202は、メディアデコーダ205で処理される各種メディア間の同期を司る。
BIFSデコーダ204は、デマルチプレクサ201で得られたBIFSのビットストリームをデコードして、BIFSの情報に基づいて、メディアデコーダ117で得られた各種メディアデータからシーンを再構築する。
【0044】
レンダラ207は、BIFSデコーダ204により得られたシーン構造に従って各オブジェクトを適宜表示したり再生したりする。
【0045】
IPMPコントローラ206は、デマルチプレクサ201で得られたIPMPディスクリプタ及びIPMP_ESに基づいて、メディアデコーダ205やレンダラ207を制御(メディアの再生制限や効果制御等)する。
例えば、データに暗号がかけられているような場合には、当該暗号を解読してから、メディアデコーダ205にデータを転送する。
【0046】
ここで、本実施の形態の最も特徴とする構成は、上記図1及び図2に示すように、エンコーダ100とデコーダ200間のハンドシェイク専用の外部通信路(バック・チャネル)300を設けた構成にある。
また、エンコーダ100のIPMPコントローラ103と、デコーダ200のIPMPコントローラ206とのそれぞれにハンドシェイク機能を持たせている。
【0047】
そこで、まず、エンコーダ100のIPMPコントローラ103は、外部通信路300と接続されており、例えば、ネットワーク上の外部装置(ここでは、デコーダ200とする)との双方向通信機能を有し、次の機能1〜3を発揮することが可能なように構成されている。
【0048】
(機能1)
デコーダ200(受信側)に対して性能情報送信リクエストを外部通信路300を介して送信することで、デコーダ200の処理能力に関する情報(性能情報)を外部通信路300を介して取得し、当該性能情報に基づき、メディアエンコーダ102に対して、その符号化レートを外部装置の処理能力に適合するレートとするための制御信号を出力する。
【0049】
(機能2)
デコーダ200から、デコーダ200におけるエラー情報(欠落した受信データに関する情報)を外部通信路300を介して受信し、又はデコーダ200でのエラーにより欠落した受信データの再送要求信号を外部通信路300を介して受信し、当該受信信号に対する任意の処理命令を出力する。
例えば、デコーダ200からの再送要求信号により示されるデータの再送命令を、メディアエンコーダ120に対して出力する。これにより、欠落したデータが補間される。
【0050】
(機能3)
デコーダ200に対してビットストリームを送信するための通信路のトラフィックやエラー率に関する情報を外部通信路300を介してデコーダ200から受信して、当該情報を総合的に判断して、伝送プロトコルの選択信号を出力する。
【0051】
例えば、上記機能2により、次のような動作が実現される。
デコーダ200において、受信したビットストリームのIPMP_ES(上記図12参照)の一部(ディスクリプタ・タグ(TAG)等)がエラーであった場合、これ以降の情報(ES1,ES2等)が正常であっても無効(デコード不能)となるため、IPMPコントローラ206は、エンコーダ100のIPMPコントローラ103に対して、IPMP_ESの再送要求信号を外部通信路300を介して発信する。
これを受けたエンコーダ100のIPMPコントローラ103は、デコーダ200のIPMPコントローラ206からの再送要求信号に対する処理命令(再送命令)を出力する。これにより、メディアエンコーダ102は、IPMP_ESを再送するための処理を行う。
したがって、デコーダ200に対してIPMP_ESが再送(Update)され、上記エラーによるデコード不能が回避されることになる。
【0052】
尚、IPMP_ESの再送方法としては、当該IPMP_ESを次のビットストリームに結合して再送する方法等が挙げられる。
【0053】
また、エンコーダ100のIPMPコントローラ103は、上述したようなIPMP_ES等の欠落が許されない重要なデータに関しては、TCP/IP等のような伝送速度を犠牲にしても見かけ上がエラーフリーとなる伝送プロトコルを選択し、その他のデータに関しては、伝送速度重視のRTP等の伝送プロトコルを選択する、という一連のビットストリーム(上記図11参照)を部分的に異なる複数の伝送プロトコルを使用することも可能なように構成されている。
【0054】
また、例えば、IPMPコントローラ103は、IPMP_ESをTCP/IPによって伝送し、その他をRTPで固定して伝送するという伝送方式や、通常はビットストリーム全体をRTPで伝送し、上述したようなエラーの発生頻度に応じてIPMP_ESのみ伝送プロトコルをTCP/IPに変更するという伝送方式をとることも可能なように構成されている。
【0055】
一方のデコーダ200のIPMPコントローラ206は、ビットストリームの送信側(ここでは、エンコーダ100とする)からの要求に対して、デコーダ200の処理能力に関する情報を、外部通信路300を介して返信する。
また、IPMPコントローラ206は、デコーダ200でエラーが発生した場合、エンコーダ100に対してエラー発生の通知を外部通信路300を介して行う。
また、IPMPコントローラ206は、エンコーダ100に対して、上記エラー発生に対応したエラー部分の再送要求信号を、外部通信路300を介して送信する。
【0056】
上述のように、本実施の形態では、エンコーダ100とデコーダ200間に、エンコーダ100とデコーダ200間のハンドシェイク専用の外部通信路(バック・チャネル)300を設け、エンコーダ100とデコーダ200のそれぞれにハンドシェイク機能を持たせるように構成したので、デコーダ200は、デコーダ200にて発生したエラー(ビットレートの過不足等)をエンコーダ100へ通知することができ、また、デコーダ200が有するバッファの空き容量等を通知することもでき、さらにはエンコーダ100から受信したデータのエラー検出情報やエラー部分の再送要求や、送受信相互のネゴシエーションを行うためのデコーダ200の処理能力に関する情報等をエンコーダ100へ送信することができる。一方、エンコーダ100は、デコーダ200に対する処理能力情報の要求や、当該要求に対する応答(デコーダ200の処理能力情報)を受信し、この受信情報に基づいて、ビットレートや伝送プロトコル等の条件を設定したり、デコーダ200からのエラー情報や特定部分の再送要求を受信して、当該受信情報に基づいて、任意の処理(対処)を行う等の対応をとることができる。
したがって、エンコーダ100とデコーダ200間で、ビットストリームの伝送速度を低下させることなく、ビットストリームに含まれる全ての情報を
破綻することなく、ネットワークを介して伝送することができる。
【0057】
(他の実施の形態)
本発明は、第1の実施の形態に限られることはなく、次のような実施の形態(1)〜(4)にも含まれる。
【0058】
(1)第1の実施の形態において、エンコーダ100のIPMPコントローラ103による複数の伝送プロトコルの中からの実際に用いる伝送プロトコルの選択については、例えば、ビットストリームを構成する各パケットのヘッダ部に優先度を設定し、当該優先度に基づいて、複数の伝送プロトコルの中から実際に用いる伝送プロトコルを選択するように構成してもよい。
この場合、エンコーダ100のIPMPコントローラ103は、図3に示すように、ビットストリームを構成する各パケットのそれぞれについてそのヘッダ部にパケット内容に応じて優先度を設定する優先度設定部112と、優先度設定部112を介したビットストリームを構成する各パケットのヘッダ部に設定された優先度に基づき複数の伝送プロトコル111(1),111(2),…,111(n)…の中から1つの伝送プロトコルを選択するプロトコル選択部113とを備えることになる。
【0059】
(2)例えば、デコーダ200のIPMPコントローラ206の構成を、図4に示すように、受信ビットストリームのエラー発生頻度(エラー率)を管理するエラー管理部221と、受信ビットストリームに関するビットレート(単位時間あたりの符号量又はその変化)を管理するレート管理部222と、エラー管理部221及びレート管理部222の管理情報をエンコーダ100に対して外部通信部300を介して送信したり、エラー管理部221及びレート管理部222の管理情報に基づきビットストリームの任意の一部分に対する伝送プロトコルを変更又は指定するためのリクエスト情報(指定情報)をエンコーダ100に対して外部通信部300を介して送信したりする送信部223とを備える構成とし、エンコーダ100のプロトコル選択部113(上記図3参照)が、デコーダ200のリクエスト送信部223からのリクエスト情報に基づき複数の伝送プロトコル111(1),111(2),…,111(n)…の中から1つの伝送プロトコルを選択するように構成してもよい。
【0060】
具体的には、デコーダ200のIPMPコントローラ206の構成が上記図4の構成である場合、エンコーダ100は、例えば、図5に示すフローチャートに従って動作することになる。
【0061】
先ず、IPMPコントローラ103は、デコーダ200からのデータの受信があるか否か、当該受信があれば当該受信情報がコンディション情報(エラー率の情報や、再送要求等)であるか指定情報(伝送プロトコルの指定の情報)であるかを判別する(ステップS301)。
この判別の結果、受信無しの場合は次のステップS302に進み、指定情報が受信された場合は後述するステップS303へ進み、コンディション情報が受信入力された場合は後述するステップS305へ進む。
【0062】
ステップS301の判別の結果、デコーダ200からのデータの受信が無い場合、IPMPコントローラ103は、複数の伝送プロトコルの中から、デコーダ200へのビットストリームの伝送に用いる伝送プロトコルとして、デフォルトの伝送プロトコルを選択して設定する(ステップS302)。
その後、後述するステップS310へ進む。
【0063】
ステップS301の判別の結果、デコーダ200からの指定情報が受信された場合、IPMPコントローラ103は、当該指定情報に従って、デコーダ200へ伝送するビットストリームを分割し(ステップS303)、当該分割データ毎に、複数の伝送プロトコルの中から該当する伝送プロトコルを選択して設定する(ステップS304)。
その後、後述するステップS310へ進む。
【0064】
ステップS301の判別の結果、デコーダ200からのコンディション情報が受信された場合、IPMPコントローラ103は、当該コンディション情報が、エラー率情報であるか再送要求であるかを判別する(ステップS305)。
この判別の結果、エラー率情報である場合には次のステップS306へ進み、再送要求である場合には後述するステップS307へ進む。
【0065】
ステップS305の判別の結果、エラー率情報である場合、IPMPコントローラ103は、当該エラー率(ErrorRate)が、予め設定されたしきい値(TH)よりも大きいか否かを判別する(ステップS306)。
この判別の結果、「ErrorRate>TH」である場合、上述したステップS303へ進み、「ErrorRate>TH」でない場合、上述したステップS302へ進む。
【0066】
ステップS305の判別の結果、再送要求である場合、IPMPコントローラ103は、当該再送要求により示されるデータを再度取得し(ステップS307)、当該データをビットストリームに組み込む(ステップS308)。
そして、IPMPコントローラ103は、ステップS308での再送用のデータの伝送プロトコルとして、複数の伝送プロトコルの中から該当する伝送プロトコルを選択して設定する(ステップS309)。
その後、次のステップS310へ進む。
【0067】
ステップS310では、ステップS302、又はステップS304、又はステップS309にて設定された伝送プロトコルに従ったビットストリームの送信が行われる。
【0068】
(3)第1の実施の形態では、エンコーダ100に対する各種要求をデコーダ200としているが、これに限られることはなく、任意の外部からの要求であってもよい。
【0069】
(4)例えば、図6に示すように、エンコーダ100に端末装置109を更に設けると共に、図7に示すように、デコーダ200に端末装置209を更に設ける構成としてもよい。
この場合、エンコーダ100のIPMPコントローラ103は、端末装置109からの入力に従って動作し、デコーダ200のIPMPコントローラ206も同様に端末装置209からの入力に従って動作することになる。
【0070】
尚、本発明の目的は、第1及び他の実施の形態のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が第1及び他の実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することとなる。
プログラムコードを供給するための記憶媒体としては、ROM、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード等を用いることができる。
また、コンピュータが読みだしたプログラムコードを実行することにより、第1及び他の実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS等が実際の処理の一部又は全部を行い、その処理によって第1及び他の実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって第1及び他の実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0071】
図8は、上記コンピュータ900の構成の一例を示したものである。
コンピュータ900は、上記図8に示すように、CPU901と、ROM902と、RAM903と、キーボード(KB)909のキーボードコントローラ(KBC)905と、表示部としてのCRTディスプレイ(CRT)910のCRTコントローラ(CRTC)906と、ハードディスク(HD)911及びフロッピーディスク(FD)912のディスクコントローラ(DKC)907と、インターネット等のネットワーク920を介した伝送を行うためのネットワークインターフェースカード(NIC)908とが、システムバス904を介して互いに通信可能に接続された構成としている。
【0072】
CPU901は、ROM902或いはHD911に記憶されたソフトウェア、或いはFD912より供給されるソフトウェアを実行することで、システムバス904に接続された各構成部を総括的に制御する。
すなわち、CPU901は、所定の処理プログラムを、ROM902、或いはHD911、或いはFD912から読み出して実行することで、上述した第1及び他の実施の形態での動作を実施するための制御を行う。
【0073】
RAM903は、CPU901の主メモリ或いはワークエリア等として機能する。
KBC905は、KB909や図示していないポインティングデバイス等からの指示入力を制御する。
CRTC906は、CRT910の表示を制御する。
DKC907は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び上記処理プログラム等を記憶するHD911及びFD912とのアクセスを制御する。
NIC908は、ネットワーク920上の各種装置或はシステムと双方向にデータをやりとりする。
【0074】
【発明の効果】
以上説明したように本発明では、送信側と受信側間で、符号化データの伝送用の通信路(第1の通信路)とは異なる第2の通信路(送信側と受信側間のハンドシェイク専用のバックチャネル等)を介して、符号化データの伝送に関する情報を送受信するように構成した。
これにより、例えば、受信側は、受信側で発生したエラー(ビットレートの過不足等)を送信側へ通知することがき、また、受信側が有するバッファの空き容量等を通知することもでき、さらには送信側から受信した符号化データのエラー検出情報やエラー部分の再送要求や、送受信相互のネゴシエーションを行うための受信側の処理能力に関する情報等を送信側へ送信することができる。また、送信側は、受信側に対する処理能力情報の要求や、当該要求に対する応答(受信側の処理能力情報)を受信し、この受信情報に基づいて、ビットレートや伝送プロトコル等の条件を設定したり、受信側からのエラー情報や特定部分の再送要求を受信して、当該受信情報に基づいて、任意の処理(対処)を行う等の対応をとることができる。
したがって、本発明によれば、例えば、MPEG−4に於いてエラー訂正機能を持たないIPMP_ESにエラーが生じた場合でも、第2の通信路としてのバックチャネルという双方向専用回線等を用いて、伝送プロトコルの選択やエラーデータの再送要求等が可能となるため、伝送速度を著しく低下させることなしに、ビットストリームに含まれる全データを第1の通信路(任意のネットワーク等)を介して破綻なしに伝送することが可能となる。
【図面の簡単な説明】
【図1】第1の実施の形態において、本発明を適用したエンコーダ(送信側)の構成を示すブロック図である。
【図2】第1の実施の形態において、本発明を適用したデコーダ(受信側)の構成を示すブロック図である。
【図3】他の実施の形態(1)において、上記エンコーダの主な構成の一例を示すブロック図である。
【図4】他の実施の形態(2)において、上記デコーダの主な構成の一例を示すブロック図である。
【図5】他の実施の形態(2)において、上記エンコーダの動作の一例を説明するための図ローチャートである。
【図6】他の実施の形態(4)において、上記エンコーダの構成を示すブロック図である。
【図7】他の実施の形態(4)において、上記デコーダの構成を示すブロック図である。
【図8】第1及び他の実施の形態の機能を実施するための処理プログラムを実行するコンピュータの構成の一例を示すブロック図である。
【図9】「ISO/IEC 14496(MPEG phase4)」規格でのシーンの一例を説明するための図である。
【図10】上記規格に準拠したビットストリームの一例を説明するための図である。
【図11】上記ビットストリームのセキュリティ情報(IPMP)を説明するための図である。
【図12】上記IPMPディスクリプタを説明するための図である。
【図13】従来のエンコーダの構成を示すブロック図である。
【図14】従来のデコーダの構成を示すブロック図である。
【符号の説明】
100 エンコーダ
101 オブジェクトディスクリプタ(OD)生成部
102 メディアエンコーダ
103 IPMPコントローラ
104 BIFSエンコーダ
105 アップデートコントローラ
106 マルチプレクサ
200 デコーダ
201 デマルチプレクサ
202 同期制御部
203 ディスクリプタパーサ
204 BIFSデコーダ
205 メディアデコーダ
206 IPMPコントローラ
207 レンダラ
300 外部通信部(バックチャネル)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data processing apparatus, a data processing method, and a computer-readable recording medium, and more particularly to transmission processing or reception processing of encoded data.
[0002]
[Prior art]
In recent years, for example, in the “ISO / IEC 14496 (MPEG phase 4)” standard, standardization of multimedia encoding (standardization of compression format) has been advanced.
[0003]
In this standard, in addition to the conventional encoding of video data and audio data, it is possible to define the space and temporal arrangement of each medium. This is called a “scene description”, and each medium is called “ It is called “object”.
[0004]
FIG. 9 shows an example of a scene in this standard.
In FIG. 9, a BOX (box) 401 and a cylinder (cylinder) 402 are defined as graphic objects. In addition, an image texture 401a to be pasted on the BOX 401, a video texture 402a to be pasted on the Cylinder 402, and an audio 403 to be played back simultaneously are defined.
[0005]
As a method of the scene description itself, for example, BIFS (Binary Format for Scene description) that has been expanded and binarized based on VRML (Virtual Reality Markup Language) is adopted.
[0006]
Further, in this standard, apart from the scene description as shown in FIG. 9, data indicating the attribute of each object, which is called an object descriptor (hereinafter referred to as “OD”), is defined.
Here, the attributes indicate media attributes (video, audio, image, etc.), copyright holder information, QoS (Quality Of Service) information, content rating information, and the like.
Such attributes themselves are included in the OD as individual descriptors.
[0007]
FIG. 10 shows an example of the entire bit stream according to this standard. In FIG. 10, “501” is an initial object descriptor and stores the properties of the entire bitstream (bitstream profile and the like).
“502” is a BIFS stream in which scene information is stored.
[0008]
“503” and “506” are ODs, and the bit stream in FIG. 10 has two OD1 (503) and OD2 (506).
After OD503 and 506, the attribute of the object is described. That is, following OD1 (503) and OD2 (506), there are elementary stream descriptors (hereinafter referred to as “ESD”) indicating attributes of the respective media streams (hereinafter also referred to as “elementary streams”) ES1 and ES2. Multiple descriptions are possible.
In FIG. 10, ESD1 (504) is described after OD1 (503), and ESD2 (507) is described after OD2 (506).
[0009]
Also, since the elementary streams ES1 and ES2 are actually packetized and handled as “Sync Layer Packet” (hereinafter referred to as “SL packet”), the structure of the SL packet is shown in FIG. SLCConfig descriptors 505 and 508 for describing the above are added to each of ESD1 (504) and ESD2 (507).
[0010]
Each of the OD and ESD descriptors described above must be placed at the head of each of the elementary streams ES1 and ES2 in the bitstream shown in FIG.
However, OD and ESD can be added, deleted, and changed by inserting an update command in the middle of the bitstream.
[0011]
In this standard, security information such as copyright management information and access control information can be added for each OD and ES. This information is called IPMP (Intellectual Property Management and Protection) information.
Details of the IPMP information are also described in a descriptor called an IPMP descriptor.
In practice, encryption is often used for access control, but the IPMP method (descriptor syntax) is not specified and is a free syntax. Also, only the IPMP security type number registered in RA (Registration Authority) is described.
[0012]
The IPMP information itself described by the IPMP descriptor can be linked with an IPMP security type number to add an IPMP elementary stream ES (hereinafter referred to as “IPMP-ES”). Yes.
FIG. 11 shows an example of the entire bit stream in this case.
In FIG. 11, IPMP1 (510) and IPMP2 (512) are IPMP-ES for the elementary streams ES1 (509) and ES2 (511), respectively.
[0013]
FIG. 12 shows an example of the IPMP descriptor.
In FIG. 12, “601” is a descriptor tag (TAG) indicating the type of descriptor.
“602” is a length field (LENGTH) and indicates the length (number of bytes) of the entire descriptor.
“603” is a descriptor ID, and an identifier of the descriptor itself is stored.
“604” is the above-described security type number (IPMPS_type).
“605” is an option field (Option), in which data accompanying IPMP can be appropriately inserted. Also, the syntax in the option field 605 is free. The accompanying data can also be indicated by a URL in the option field 605.
[0014]
The IPMP descriptor described above also needs to be placed at the head of each elementary stream ES1, ES2 in the bitstream shown in FIG.
However, IPMP descriptors can be added, deleted, and changed by inserting an update command in the middle of the bitstream.
FIG. 11 shows an example of a bitstream including one command 513 for updating IPMP information.
[0015]
FIG. 13 shows an example of an encoder 700 for generating a bitstream as described above.
In FIG. 13, “701” is an object descriptor generator, which appropriately generates the descriptor as described above according to the property of the bit stream.
“702” is a media encoder that encodes data such as video and audio.
“703” is an IPMP controller.
“704” is a BIFS encoder, which binarizes scene information.
“705” is an update controller provided as necessary, and inserts a command for updating properties such as OD, ESD, and IPMP descriptors.
“706” is a multiplexer, and each descriptor and media stream are finally multiplexed as one SL packet.
[0016]
FIG. 14 shows an example of a decoder 800 that decodes (reproduces) the bit stream obtained by the encoder 700 of FIG.
In FIG. 14, “801” is a demultiplexer that separates each descriptor, ES, and the like from the input bit stream.
“803” is a descriptor parser, which determines the type of the descriptor based on the tag information of the descriptor, decodes the content of the descriptor, and appropriately sets the descriptor.
“804” is a BIFS decoder, which decodes the binarized BIFS and reconstructs the scene structure.
“805” is a media decoder, which decodes a media decoder such as video, audio, or image.
“807” is a renderer that appropriately displays or reproduces each object according to the scene structure.
“806” is an IPMP controller, which performs media playback control (playback restriction, effect control, etc.) according to the information of the IPMP descriptor and IPMP_ES. For example, when the data is encrypted, the data is transferred to the media decoder 805 after the encryption is decrypted.
“802” is a synchronization controller that performs synchronization control between media.
[0017]
Note that the data transfer method from the encoder 700 side in FIG. 13 to the decoder 800 side in FIG. 14 is not specifically mentioned. However, in the case of transmission on a network, all data is transmitted and received as one bit stream in the same session. It is common to be done.
[0018]
[Problems to be solved by the invention]
However, when data is transmitted from the conventional encoder 700 shown in FIG. 13 to the conventional decoder (regenerator) 800 shown in FIG. Since the bit stream is transmitted in the same session and there is no other communication path or communication means other than the communication path or communication means of the bit stream, the capability of the decoder 800 on the bit stream receiving side (reception is possible) (Determination of processing capacity represented by the upper limit of the bit rate), notification of defects caused by errors in the transmission process, bit stream retransmission request, communication channel or communication means traffic changing at any time on the decoder 800 side. Notification of malfunctions such as buffer underruns, requests for retransmission, etc. Theft was impossible.
In addition, since the IPMP_ES including the above-described IPMP descriptor does not have an error correction function, when an error occurs in IPMP_ES (see FIG. 12 above) associated with any paid content (paid media data such as video or audio), There is a fatal problem that all data after the IPMP descriptor becomes invalid and this state continues until the next IPMP descriptor is received.
[0019]
Accordingly, the present invention is made to eliminate the above-mentioned drawbacks, and is configured so that requests and responses generated in the data transmission can be performed between the data transmission side and the data reception side together with the data transmission. SUMMARY OF THE INVENTION An object of the present invention is to provide a data processing apparatus capable of efficient data transmission, a data processing method, and a storage medium in which processing steps for implementing the data are stored in a computer-readable manner.
[0020]
[Means for Solving the Problems]
Under such a purpose, the data processing method according to the present invention includes a series of bit streams obtained by concatenating encoded data, each of which is divided into arbitrary sizes, and a header including arbitrary specific information related to the encoded data. A data processing method for transmitting the bitstream via a first communication path, wherein at least information relating to the transmission of the bitstream is received from a receiving side via a second communication path; And a control step of controlling transmission of the bit stream based on the reception information obtained by the reception step.
[0021]
Further, the data processing method of the present invention is configured such that an arbitrary bit stream including at least one or more mutually encoded data is included in the first communication path by an arbitrary transmission protocol among the plurality of transmission protocols. Is a data processing method for independently decoding a plurality of mutually independent encoded data, wherein at least information relating to transmission of the bitstream is transmitted via a second communication path. A transmission step of transmitting to the transmission side of the bit stream is included.
[0022]
The data processing method of the present invention is a data processing method for transmitting a continuous bit stream by an arbitrary transmission protocol among a plurality of mutually different transmission protocols, wherein an arbitrary area of the bit stream is defined. A transmission step of encoding and transmitting according to an arbitrary transmission protocol, and changing a transmission protocol of an arbitrary part in the bitstream according to information received from the outside via a communication path independent of the communication path of the bitstream A changing step and a retransmission step of retransmitting the already transmitted portion of the bitstream by combining it with the next bitstream according to the information received from the outside.
[0023]
Further, the data processing apparatus of the present invention comprises a series of bitstreams by concatenating encoded data each divided into an arbitrary size and a header including arbitrary specific information related to the encoded data, A data processing apparatus for transmitting the bitstream via a first communication path, wherein at least information relating to transmission of the bitstream is received from a receiving side via a second communication path, and the receiving means And control means for controlling the transmission of the bit stream based on the reception information obtained by the above.
[0024]
In addition, the data processing apparatus of the present invention uses the arbitrary transmission protocol among the plurality of transmission protocols to transmit an arbitrary bit stream containing a plurality of mutually independent encoded data to the first communication path. Receiving means for receiving via the decoding means, decoding means for independently decoding the plurality of mutually independent encoded data in the bitstream received by the receiving means, and at least information relating to transmission of the bitstream Transmission means for transmitting to the transmission side of the bit stream via two communication paths.
[0025]
The data processing apparatus of the present invention is a data processing apparatus for transmitting a continuous bit stream by an arbitrary transmission protocol among a plurality of mutually different transmission protocols, wherein an arbitrary area of the bit stream is recorded. Transmission means for encoding and transmitting in accordance with an arbitrary transmission protocol, and changing the transmission protocol of an arbitrary part in the bitstream according to information received from the outside via a communication path independent of the communication path of the bitstream And changing means and resending means for retransmitting the already transmitted portion of the bitstream by combining it with the next bitstream according to the information received from the outside.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0035]
(First embodiment)
The present invention is applied to, for example, a data processing system including an encoder 100 as shown in FIG. 1 and a decoder 200 as shown in FIG.
The data processing system according to the present embodiment is configured to perform data transmission in accordance with the “ISO / IEC 14496 (MPEG phase 4)” standard as described with reference to FIGS.
In the present embodiment, as an example, the data transmission method from the encoder 100 to the decoder 200 is arbitrary, and when transmitting via a network, all are transmitted as one bit stream in the same session. Shall.
[0036]
The encoder 100 includes an OD generation unit 101, a media encoder 102, an IPMP control unit 103, a BIFS encoder 104, an update controller 105, and a multiplexer 106, as shown in FIG.
[0037]
The media encoder 102 encodes (compresses) media data (contents) such as images, video, audio, and other multimedia and outputs the encoded data.
The OD generation unit 101 encodes attribute information of media data to be processed by the media encoder 102, and outputs the encoded data as OD. The BIFS encoder 104 encodes and outputs information of a scene (see FIG. 4 above) composed of media data to be processed by the media encoder 105.
[0038]
The IPMP controller 103 generates security information such as an IPMP descriptor and IPMP_ES for various media data (contents) encoded by the media encoder 102 and independently performs encryption processing on the content.
Note that this is not the case when copyright protection is not required for the content handled by the media encoder 102.
[0039]
The update controller 105 is an update controller provided as necessary, and inserts a command for updating properties such as OD, ESD, and IPMP descriptors into the bitstream.
[0040]
The multiplexer 106 multiplexes the outputs of the OD generation unit 101, the BIFS encoder 104, the IPMP control unit 103, and the media encoder 102, and combines them into one bit stream as shown in FIG. 10 or FIG. Output.
At this time, the multiplexer 106 also performs synchronization control of data to be multiplexed. Specifically, for example, a type stamp or a clock reference is embedded in a packet of a bit stream. This completes the SL packetized bitstream.
[0041]
On the other hand, the decoder 200 includes a demultiplexer 201, a synchronization control unit 202, a descriptor parser 203, a BIFS decoder 204, a media decoder 205, an IPMP controller 206, and a renderer 207, as shown in FIG.
[0042]
The demultiplexer 201 separates each descriptor and each bitstream such as an IPMP descriptor, IPMP_ES, OD, BIFS, and A / V (audio / video) bitstream from the bitstream transmitted from the encoder 100.
[0043]
For each descriptor obtained by the demultiplexer 201, the descriptor parser 203 determines the type of descriptor based on the tag information and decodes the contents of the descriptor. Based on the decoding result, each piece of information necessary for the decoder 200 is obtained. Set as appropriate.
The media decoder 205 decodes the A / V bit stream (media stream of an image, video, audio, etc.) obtained by the demultiplexer 201.
At this time, the synchronization control unit 202 controls synchronization between various media processed by the media decoder 205.
The BIFS decoder 204 decodes the BIFS bit stream obtained by the demultiplexer 201 and reconstructs a scene from various media data obtained by the media decoder 117 based on the BIFS information.
[0044]
The renderer 207 displays or reproduces each object as appropriate according to the scene structure obtained by the BIFS decoder 204.
[0045]
The IPMP controller 206 controls the media decoder 205 and the renderer 207 based on the IPMP descriptor and IPMP_ES obtained by the demultiplexer 201 (media playback restriction, effect control, etc.).
For example, when the data is encrypted, the data is transferred to the media decoder 205 after the encryption is decrypted.
[0046]
Here, the most characteristic configuration of the present embodiment is a configuration in which an external communication path (back channel) 300 dedicated for handshaking between the encoder 100 and the decoder 200 is provided as shown in FIGS. It is in.
Each of the IPMP controller 103 of the encoder 100 and the IPMP controller 206 of the decoder 200 has a handshake function.
[0047]
Therefore, first, the IPMP controller 103 of the encoder 100 is connected to the external communication path 300, and has, for example, a bidirectional communication function with an external device on the network (here, the decoder 200). It is comprised so that the functions 1-3 can be exhibited.
[0048]
(Function 1)
By transmitting a performance information transmission request to the decoder 200 (reception side) via the external communication path 300, information (performance information) regarding the processing capability of the decoder 200 is acquired via the external communication path 300, and the performance Based on the information, a control signal is output to the media encoder 102 so that the encoding rate matches the processing capability of the external device.
[0049]
(Function 2)
Error information in the decoder 200 (information regarding missing received data) is received from the decoder 200 via the external communication path 300, or a retransmission request signal for received data that is missing due to an error in the decoder 200 is received via the external communication path 300. And outputs an arbitrary processing command for the received signal.
For example, a data retransmission command indicated by a retransmission request signal from the decoder 200 is output to the media encoder 120. Thereby, the missing data is interpolated.
[0050]
(Function 3)
Information on the communication path traffic and error rate for transmitting the bit stream to the decoder 200 is received from the decoder 200 via the external communication path 300, and the information is comprehensively determined to select a transmission protocol. Output a signal.
[0051]
For example, the following operation is realized by the function 2 described above.
In the decoder 200, when a part of the IPMP_ES (see FIG. 12) of the received bitstream (descriptor tag (TAG), etc.) is an error, the subsequent information (ES1, ES2, etc.) is normal. Therefore, the IPMP controller 206 transmits an IPMP_ES retransmission request signal to the IPMP controller 103 of the encoder 100 via the external communication path 300.
Upon receiving this, the IPMP controller 103 of the encoder 100 outputs a processing command (retransmission command) for the retransmission request signal from the IPMP controller 206 of the decoder 200. Thereby, the media encoder 102 performs a process for retransmitting the IPMP_ES.
Therefore, IPMP_ES is retransmitted (updated) to the decoder 200, and the inability to decode due to the error is avoided.
[0052]
An IPMP_ES retransmission method includes a method of retransmitting the IPMP_ES by combining it with the next bit stream.
[0053]
In addition, the IPMP controller 103 of the encoder 100 transmits a transmission protocol that is apparently error-free at the expense of transmission speed, such as TCP / IP, with respect to important data that is not allowed to be lost, such as IPMP_ES as described above. For other data, it is also possible to use a plurality of transmission protocols that are partially different from each other in a series of bitstreams (see FIG. 11 above) in which a transmission protocol such as RTP that emphasizes transmission speed is selected. It is configured as follows.
[0054]
In addition, for example, the IPMP controller 103 transmits IPMP_ES by TCP / IP and transmits the others fixed by RTP, or normally transmits the entire bitstream by RTP, and the above-described error occurs. It is also possible to adopt a transmission method in which only the IPMP_ES is changed to TCP / IP according to the frequency.
[0055]
The IPMP controller 206 of one decoder 200 returns information regarding the processing capability of the decoder 200 via the external communication path 300 in response to a request from the transmission side of the bitstream (here, the encoder 100).
Further, when an error occurs in the decoder 200, the IPMP controller 206 notifies the encoder 100 of the error occurrence via the external communication path 300.
Also, the IPMP controller 206 transmits an error part retransmission request signal corresponding to the error occurrence to the encoder 100 via the external communication path 300.
[0056]
As described above, in the present embodiment, an external communication path (back channel) 300 dedicated for handshaking between the encoder 100 and the decoder 200 is provided between the encoder 100 and the decoder 200, and each of the encoder 100 and the decoder 200 is provided. Since the decoder 200 is configured to have a handshake function, the decoder 200 can notify the encoder 100 of an error (such as an excess or deficiency in the bit rate) that has occurred in the decoder 200, and a buffer available in the decoder 200 is available. The capacity can be notified, and further, error detection information of the data received from the encoder 100, a retransmission request for the error part, information on the processing capability of the decoder 200 for performing negotiation between transmission and reception, and the like are transmitted to the encoder 100. can do. On the other hand, the encoder 100 receives a request for processing capability information to the decoder 200 and a response to the request (processing capability information of the decoder 200), and sets conditions such as a bit rate and a transmission protocol based on the received information. Or receiving error information from the decoder 200 or a retransmission request for a specific part, and taking an appropriate process (coping) based on the received information.
Therefore, all the information included in the bit stream can be transmitted between the encoder 100 and the decoder 200 without reducing the bit stream transmission speed.
It can be transmitted over the network without failure.
[0057]
(Other embodiments)
The present invention is not limited to the first embodiment, and is also included in the following embodiments (1) to (4).
[0058]
(1) In the first embodiment, the IPMP controller 103 of the encoder 100 selects a transmission protocol to be actually used from among a plurality of transmission protocols. For example, priority is given to the header portion of each packet constituting the bit stream. It is also possible to set a degree and select a transmission protocol to be actually used from a plurality of transmission protocols based on the priority.
In this case, the IPMP controller 103 of the encoder 100 includes, as shown in FIG. 3, a priority setting unit 112 that sets a priority for each packet constituting the bitstream in the header portion according to the packet contents, 1 out of a plurality of transmission protocols 111 (1), 111 (2),..., 111 (n)... Based on the priority set in the header part of each packet constituting the bit stream via the degree setting unit 112. And a protocol selection unit 113 for selecting one transmission protocol.
[0059]
(2) For example, as shown in FIG. 4, the configuration of the IPMP controller 206 of the decoder 200 includes an error management unit 221 that manages the error occurrence frequency (error rate) of the received bitstream, and the bit rate (unit) A rate management unit 222 that manages a code amount per time or a change thereof), and management information of the error management unit 221 and the rate management unit 222 is transmitted to the encoder 100 via the external communication unit 300, or an error management unit Request information (designation information) for changing or designating a transmission protocol for an arbitrary part of the bitstream based on the management information of 221 and the rate management unit 222 is transmitted to the encoder 100 via the external communication unit 300. A transmission unit 223, and a prototype of the encoder 100 1 is selected from the plurality of transmission protocols 111 (1), 111 (2),..., 111 (n)... Based on the request information from the request transmission unit 223 of the decoder 200. One transmission protocol may be selected.
[0060]
Specifically, when the configuration of the IPMP controller 206 of the decoder 200 is the configuration shown in FIG. 4, the encoder 100 operates according to the flowchart shown in FIG. 5, for example.
[0061]
First, the IPMP controller 103 determines whether or not data has been received from the decoder 200, and if there is such reception, specifies whether the received information is condition information (error rate information, retransmission request, etc.) or designation information (transmission protocol). In step S301).
As a result of the determination, if there is no reception, the process proceeds to the next step S302. If the designation information is received, the process proceeds to step S303 described later. If the condition information is received and input, the process proceeds to step S305 described later.
[0062]
As a result of the determination in step S301, when no data is received from the decoder 200, the IPMP controller 103 selects a default transmission protocol as a transmission protocol used for transmitting a bit stream to the decoder 200 from a plurality of transmission protocols. Select and set (step S302).
Then, it progresses to step S310 mentioned later.
[0063]
When the designation information from the decoder 200 is received as a result of the determination in step S301, the IPMP controller 103 divides the bit stream to be transmitted to the decoder 200 according to the designation information (step S303), and for each piece of the divided data, A corresponding transmission protocol is selected from a plurality of transmission protocols and set (step S304).
Then, it progresses to step S310 mentioned later.
[0064]
If the condition information from the decoder 200 is received as a result of the determination in step S301, the IPMP controller 103 determines whether the condition information is error rate information or a retransmission request (step S305).
As a result of the determination, if it is error rate information, the process proceeds to the next step S306, and if it is a retransmission request, the process proceeds to step S307 described later.
[0065]
If the error rate information is the error rate information as a result of the determination in step S305, the IPMP controller 103 determines whether the error rate (ErrorRate) is larger than a preset threshold value (TH) (step S306). .
As a result of the determination, if “ErrorRate> TH”, the process proceeds to step S303 described above, and if not “ErrorRate> TH”, the process proceeds to step S302 described above.
[0066]
If the result of determination in step S305 is a retransmission request, the IPMP controller 103 obtains again the data indicated by the retransmission request (step S307) and incorporates the data into the bitstream (step S308).
Then, the IPMP controller 103 selects and sets a corresponding transmission protocol from a plurality of transmission protocols as the transmission protocol of the data for retransmission in step S308 (step S309).
Thereafter, the process proceeds to the next step S310.
[0067]
In step S310, a bit stream is transmitted according to the transmission protocol set in step S302, step S304, or step S309.
[0068]
(3) In the first embodiment, various requests for the encoder 100 are the decoder 200, but the present invention is not limited to this, and may be requests from any outside.
[0069]
(4) For example, as shown in FIG. 6, the encoder 100 may be further provided with a terminal device 109, and the decoder 200 may be further provided with a terminal device 209 as shown in FIG. 7.
In this case, the IPMP controller 103 of the encoder 100 operates in accordance with the input from the terminal device 109, and the IPMP controller 206 of the decoder 200 also operates in accordance with the input from the terminal device 209.
[0070]
An object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the host and terminal according to the first and other embodiments to a system or apparatus, and a computer ( Needless to say, this can also be achieved by the CPU or MPU) reading and executing the program code stored in the storage medium.
In this case, the program code itself read from the storage medium realizes the functions of the first and other embodiments, and the storage medium storing the program code constitutes the present invention.
A ROM, floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, or the like can be used as a storage medium for supplying the program code.
Further, by executing the program code read by the computer, not only the functions of the first and other embodiments are realized, but also an OS or the like running on the computer based on the instruction of the program code Needless to say, the present invention includes a case where the functions of the first and other embodiments are realized by performing part or all of the actual processing.
Further, after the program code read from the storage medium is written to the memory provided in the extension function board inserted in the computer or the function extension unit connected to the computer, the function extension is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the functions of the first and other embodiments are realized by the processing.
[0071]
FIG. 8 shows an example of the configuration of the computer 900.
As shown in FIG. 8, the computer 900 includes a CPU 901, a ROM 902, a RAM 903, a keyboard controller (KBC) 905 of a keyboard (KB) 909, and a CRT controller (CRTC) of a CRT display (CRT) 910 as a display unit. ) 906, a disk controller (DKC) 907 of a hard disk (HD) 911 and a floppy disk (FD) 912, and a network interface card (NIC) 908 for performing transmission via a network 920 such as the Internet. A configuration in which communication is possible with each other via the network 904 is employed.
[0072]
The CPU 901 generally controls each component connected to the system bus 904 by executing software stored in the ROM 902 or the HD 911 or software supplied from the FD 912.
That is, the CPU 901 performs control for performing the operations in the first and other embodiments described above by reading a predetermined processing program from the ROM 902, the HD 911, or the FD 912 and executing it.
[0073]
The RAM 903 functions as a main memory or work area for the CPU 901.
The KBC 905 controls an instruction input from the KB 909 or a pointing device (not shown).
The CRTC 906 controls the display of the CRT 910.
The DKC 907 controls access to the HD 911 and the FD 912 that store a boot program, various applications, an edit file, a user file, a network management program, the processing program, and the like.
The NIC 908 exchanges data bidirectionally with various devices or systems on the network 920.
[0074]
【The invention's effect】
As described above, in the present invention, the second communication path (the hand between the transmission side and the reception side) different from the communication path (first communication path) for transmitting the encoded data between the transmission side and the reception side. Information related to transmission of encoded data is transmitted / received via a back channel dedicated to shaking.
As a result, for example, the receiving side can notify the transmitting side of errors (such as excess or deficiency in bit rate) that occurred on the receiving side, and can also notify the buffer capacity of the receiving side, etc. Can transmit error detection information of encoded data received from the transmission side, a retransmission request of an error part, information on processing capability of the reception side for performing negotiation between transmission and reception, and the like to the transmission side. In addition, the transmission side receives a request for processing capability information to the receiving side and a response to the request (processing capability information on the receiving side), and sets conditions such as a bit rate and a transmission protocol based on this reception information. Or receiving error information from the receiving side or a retransmission request for a specific part, and taking an appropriate process (coping) based on the received information.
Therefore, according to the present invention, for example, even when an error occurs in IPMP_ES that does not have an error correction function in MPEG-4, a bidirectional dedicated line such as a back channel as the second communication path is used. Since it is possible to select a transmission protocol and request retransmission of error data, all data contained in the bitstream fails via the first communication path (arbitrary network, etc.) without significantly reducing the transmission speed. Without transmission.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an encoder (transmission side) to which the present invention is applied in a first embodiment.
FIG. 2 is a block diagram showing a configuration of a decoder (receiving side) to which the present invention is applied in the first embodiment.
FIG. 3 is a block diagram showing an example of a main configuration of the encoder in another embodiment (1).
FIG. 4 is a block diagram showing an example of a main configuration of the decoder in another embodiment (2).
FIG. 5 is a flowchart for explaining an example of the operation of the encoder in another embodiment (2).
FIG. 6 is a block diagram showing a configuration of the encoder in another embodiment (4).
FIG. 7 is a block diagram showing a configuration of the decoder in another embodiment (4).
FIG. 8 is a block diagram illustrating an example of a configuration of a computer that executes a processing program for executing the functions of the first and other embodiments.
FIG. 9 is a diagram for explaining an example of a scene according to the “ISO / IEC 14496 (MPEG phase 4)” standard.
FIG. 10 is a diagram for explaining an example of a bitstream compliant with the standard.
FIG. 11 is a diagram for explaining security information (IPMP) of the bit stream.
FIG. 12 is a diagram for explaining the IPMP descriptor.
FIG. 13 is a block diagram showing a configuration of a conventional encoder.
FIG. 14 is a block diagram showing a configuration of a conventional decoder.
[Explanation of symbols]
100 encoder
101 Object descriptor (OD) generator
102 Media encoder
103 IPMP controller
104 BIFS encoder
105 Update controller
106 Multiplexer
200 decoder
201 Demultiplexer
202 Synchronization control unit
203 Descriptor parser
204 BIFS decoder
205 Media decoder
206 IPMP Controller
207 renderer
300 External communication unit (back channel)

Claims (11)

それぞれが任意のサイズに分割された符号化データと、前記符号化データに関する固有情報を含むヘッダとを連結して、一連のビットストリームを構成し、前記ビットストリームを第1の通信路を介して伝送するデータ処理方法であって、
少なくとも前記ビットストリームの伝送に関する情報を第2の通信路を介して受信側と送受信する送受信ステップと、
前記送受信ステップにより得られた受信情報に基づいて、前記ビットストリームの伝送を制御する制御ステップとを含むことを特徴とするデータ処理方法。
Each of the encoded data divided into an arbitrary size and a header including specific information related to the encoded data are connected to form a series of bit streams, and the bit streams are transmitted via the first communication path. A data processing method for transmission,
A transmission / reception step of transmitting / receiving at least information relating to transmission of the bitstream to / from the reception side via a second communication path;
And a control step of controlling transmission of the bit stream based on the reception information obtained in the transmission / reception step.
前記制御ステップは、
前記符号化データ及び前記ヘッダのそれぞれに対して、優先度を設定する設定ステップと、
前記設定ステップでの優先度の設定に基づき複数の伝送プロトコルから該当する伝送プロトコルを選択する選定ステップと、
前記選択ステップで選択された伝送プロトコルに基づき前記ビットストリームの伝送を制御する伝送制御ステップとを含むことを特徴とする請求項1に記載のデータ処理方法。
The control step includes
A setting step for setting a priority for each of the encoded data and the header;
A selection step of selecting a corresponding transmission protocol from a plurality of transmission protocols based on the priority setting in the setting step;
The data processing method according to claim 1, further comprising a transmission control step of controlling transmission of the bitstream based on the transmission protocol selected in the selection step.
前記第2の通信路は、前記第1の通信路とは独立した1つ以上のサブ通信回線を含むことを特徴とする請求項1に記載のデータ処理方法。  The data processing method according to claim 1, wherein the second communication path includes one or more sub communication lines independent of the first communication path. 複数の伝送プロトコルの中の任意の伝送プロトコルによって、少なくとも1つ以上の相互に独立な複数の符号化データを内包した任意のビットストリームを第1の通信路を介して受信して、前記相互に独立な複数の符号化データをそれぞれ独立に復号するためのデータ処理方法であって、
少なくとも前記ビットストリームの伝送に関する情報を第2の通信路を介して前記ビットストリームの送信側と送受信する送受信ステップを含むことを特徴とするデータ処理方法。
An arbitrary bit stream including at least one or more mutually independent encoded data is received via the first communication path by an arbitrary transmission protocol of the plurality of transmission protocols, and the mutual A data processing method for independently decoding a plurality of independent encoded data,
A data processing method comprising: a transmission / reception step of transmitting / receiving at least information relating to transmission of the bit stream to / from a transmission side of the bit stream via a second communication path.
受信したビットストリームのエラー発生頻度を管理する第1の管理ステップと、
受信中のビットストリームに関するビットレートを管理する第2の管理ステップとを含み、
前記送信ステップは、少なくとも、前記第1の管理ステップでの管理情報、第2の管理ステップでの管理情報、及び受信したビットストリームの任意の部分に対する伝送プロトコルを変更又は指定するためのリクエスト情報の何れかを、前記ビットストリームの送信元へ送信するステップを含むことを特徴とする請求項4に記載のデータ処理方法。
A first management step for managing an error occurrence frequency of the received bitstream;
A second management step for managing a bit rate for the bitstream being received;
The transmission step includes at least management information in the first management step, management information in the second management step, and request information for changing or specifying a transmission protocol for an arbitrary part of the received bitstream. 5. The data processing method according to claim 4, further comprising a step of transmitting any one to a transmission source of the bit stream.
複数の相互に異なる伝送プロトコルの中の任意の伝送プロトコルによって、連続したビットストリームを送信するためのデータ処理方法であって、
前記ビットストリームの任意の領域を任意の伝送プロトコルに従ってエンコードして送信する送信ステップと、
前記ビットストリームの通信路とは独立した通信路を介して外部より受信した情報に応じて前記ビットストリームにおける任意の部分の伝送プロトコルを変更する変更ステップと、
前記外部より受信した情報に応じて前記ビットストリームの既に送信済みの部分を次のビットストリームに結合して再送する再送ステップとを含むことを特徴とするデータ処理方法。
A data processing method for transmitting a continuous bit stream by an arbitrary transmission protocol among a plurality of different transmission protocols,
A transmission step of encoding and transmitting an arbitrary area of the bitstream according to an arbitrary transmission protocol;
A changing step of changing a transmission protocol of an arbitrary part in the bitstream according to information received from the outside via a communication path independent of the communication path of the bitstream;
A data processing method comprising: a retransmission step of retransmitting a portion of the bitstream that has already been transmitted in accordance with information received from the outside and combining it with the next bitstream.
前記ビットストリームは、MPEG−4規格に準拠したビットストリームであることを特徴とする請求項1〜6の何れか1項に記載のデータ処理方法。  The data processing method according to claim 1, wherein the bit stream is a bit stream compliant with the MPEG-4 standard. 請求項1〜7の何れか1項に記載のデータ処理方法の処理ステップをコンピュータに実行させるためのコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。  A computer-readable recording medium having recorded thereon a computer program for causing a computer to execute the processing steps of the data processing method according to claim 1. それぞれが任意のサイズに分割された符号化データと、前記符号化データに関する固有情報を含むヘッダとを連結して、一連のビットストリームを構成し、前記ビットストリームを第1の通信路を介して伝送するデータ処理装置であって、
少なくとも前記ビットストリームの伝送に関する情報を第2の通信路を介して受信側と送受信する送受信手段と、
前記送受信手段により得られた受信情報に基づいて、前記ビットストリームの伝送を制御する制御手段とを有することを特徴とするデータ処理装置。
Each of the encoded data divided into an arbitrary size and a header including specific information related to the encoded data are connected to form a series of bit streams, and the bit streams are transmitted via the first communication path. A data processing device for transmission,
Transmitting and receiving means for transmitting and receiving at least information relating to transmission of the bitstream to and from the receiving side via a second communication path;
A data processing apparatus comprising: control means for controlling transmission of the bit stream based on reception information obtained by the transmission / reception means.
複数の伝送プロトコルの中の任意の伝送プロトコルによって、少なくとも1つ以上の相互に独立な複数の符号化データを内包した任意のビットストリームを第1の通信路を介して受信する受信手段と、
前記受信手段により受信されたビットストリーム中の前記相互に独立な複数の符号化データをそれぞれ独立に復号する復号手段と、
少なくとも前記ビットストリームの伝送に関する情報を第2の通信路を介して前記ビットストリームの送信側と送受信する送受信手段とを有することを特徴とするデータ処理装置。
Receiving means for receiving, via the first communication path, an arbitrary bit stream including a plurality of mutually independent encoded data by an arbitrary transmission protocol among the plurality of transmission protocols;
Decoding means for independently decoding the plurality of mutually independent encoded data in the bitstream received by the receiving means;
A data processing apparatus comprising: transmission / reception means for transmitting / receiving at least information relating to transmission of the bit stream to / from a transmission side of the bit stream via a second communication path.
複数の相互に異なる伝送プロトコルの中の任意の伝送プロトコルによって、連続したビットストリームを送信するためのデータ処理装置であって、
前記ビットストリームの任意の領域を任意の伝送プロトコルに従ってエンコードして送信する送信手段と、
前記ビットストリームの通信路とは独立した通信路を介して外部より受信した情報に応じて前記ビットストリームにおける任意の部分の伝送プロトコルを変更する変更手段と、
前記外部より受信した情報に応じて前記ビットストリームの既に送信済みの部分を次のビットストリームに結合して再送する再送手段とを有することを特徴とするデータ処理装置。
A data processing apparatus for transmitting a continuous bit stream by an arbitrary transmission protocol among a plurality of different transmission protocols,
Transmitting means for encoding and transmitting an arbitrary area of the bitstream according to an arbitrary transmission protocol;
Changing means for changing a transmission protocol of an arbitrary part in the bitstream according to information received from the outside via a communication path independent of the communication path of the bitstream;
A data processing apparatus comprising: a retransmission unit configured to combine and retransmit the already transmitted portion of the bitstream to a next bitstream in accordance with information received from the outside.
JP2000255865A 2000-08-25 2000-08-25 Data processing apparatus, data processing method, and computer-readable recording medium Expired - Fee Related JP3647366B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000255865A JP3647366B2 (en) 2000-08-25 2000-08-25 Data processing apparatus, data processing method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000255865A JP3647366B2 (en) 2000-08-25 2000-08-25 Data processing apparatus, data processing method, and computer-readable recording medium

Publications (2)

Publication Number Publication Date
JP2002077292A JP2002077292A (en) 2002-03-15
JP3647366B2 true JP3647366B2 (en) 2005-05-11

Family

ID=18744579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000255865A Expired - Fee Related JP3647366B2 (en) 2000-08-25 2000-08-25 Data processing apparatus, data processing method, and computer-readable recording medium

Country Status (1)

Country Link
JP (1) JP3647366B2 (en)

Also Published As

Publication number Publication date
JP2002077292A (en) 2002-03-15

Similar Documents

Publication Publication Date Title
US6535919B1 (en) Verification of image data
JP5288710B2 (en) Information storage medium recording multimedia data, reproducing method and reproducing apparatus thereof
EP1120967B1 (en) Digital contents distribution system, digital contents distribution method, data conversion server, information processor and information processing method, system for property right protection
JP3434653B2 (en) Method and apparatus for storing and transmitting multimedia data
CN1985321B (en) Method and apparatus for reproducing the multimedia data
US6580756B1 (en) Data transmission method, data transmission system, data receiving method, and data receiving apparatus
JP2007173987A (en) Multimedia data transmission/reception system and device, or program
KR20100050516A (en) Streaming data content in a network
US20050244004A1 (en) Information processing apparatus and method
US8325918B2 (en) Streaming system for distributing encrypted compressed image data, and streaming method therefor
EP1813115A1 (en) Buffering packets of a media stream
KR100762718B1 (en) Preprocessing method for adapting MPEG-4 data streams to the internet network
US20020035725A1 (en) Multimedia data transmitting apparatus and method, multimedia data receiving apparatus and method, multimedia data transmission system, and storage medium
JP2007502585A (en) Apparatus, system and method for transmitting data technology area
JP4072260B2 (en) Information processing apparatus, information processing method, content distribution server, and control method thereof
JP4392880B2 (en) Authentication apparatus, control method therefor, and storage medium
JP3647366B2 (en) Data processing apparatus, data processing method, and computer-readable recording medium
US7539292B2 (en) Contents distribution system, contents server, contents receiving apparatus, contents distribution method, program and storage media
JP2005149028A (en) Content delivery system, content server, content receiving device, content delivery method, recording medium and program
JP2002262286A (en) Data transmission method, data transmitter, data reproduction method and reproducing device
JP2001306737A (en) System and method for distributing digital contents, information converting server, device and method for processing information, storage medium and program software
JP2002084516A (en) Device and method for transmitting multimedia data, device and method for receiving the multimedia data and multimedia transmitting system and storage medium
AU2003244588B2 (en) Verification Apparatus, Verification Method, Verification System, and Storage Medium
TWI268080B (en) Method and system for session based watermarking of encrypted content
JP2002084318A (en) Data processing equipment, data processing system, data processing method and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040716

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050208

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3647366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080218

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120218

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130218

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees