Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3550651B2 - Method and apparatus for speeding up transcoding - Google Patents
[go: Go Back, main page]

JP3550651B2 - Method and apparatus for speeding up transcoding - Google Patents

Method and apparatus for speeding up transcoding Download PDF

Info

Publication number
JP3550651B2
JP3550651B2 JP26074899A JP26074899A JP3550651B2 JP 3550651 B2 JP3550651 B2 JP 3550651B2 JP 26074899 A JP26074899 A JP 26074899A JP 26074899 A JP26074899 A JP 26074899A JP 3550651 B2 JP3550651 B2 JP 3550651B2
Authority
JP
Japan
Prior art keywords
gop
code stream
file
transcoding
unit
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
JP26074899A
Other languages
Japanese (ja)
Other versions
JP2001086460A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP26074899A priority Critical patent/JP3550651B2/en
Publication of JP2001086460A publication Critical patent/JP2001086460A/en
Application granted granted Critical
Publication of JP3550651B2 publication Critical patent/JP3550651B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、トランスコードに関し、特に、ビデオ・ディスク・レコーダ、セット・トップ・ボックス、ビデオ・サーバ等の電子機器への適用又は組み込みが可能な符号化音声、映像を再度圧縮するトランスコードの高速化方法及び装置に関する。
【0002】
【従来の技術】
トランスコード装置は、デコード装置とエンコード装置から構成され、録画した番組ファイルを再圧縮することにより記憶装置の空き容量を増やすことを目的として利用されている。トランスコード装置を使用することにより、空いた容量を使用して別の番組ファイルを格納することが可能となる。
【0003】
【発明が解決しようとする課題】
ところが、通常のトランスコード装置では、処理にかかる時間が番組ファイルの再生の時間と同じ時間を要する。そのため、番組ファイルの再生をせずにトランスコードを行って記憶装置の空き容量をつくる場合でも、番組ファイルを再生する場合と同じ時間がかかってしまい効率の観点から問題がある。このため、複数のトランスコード装置を使用して並列に処理する方法(特開平7−123270号公報、特開平11−155128号公報)が考えられるが、このような処理方法においては複数のトランスコード装置へ供給するファイル(符号ストリーム)の分割及びトランスコード装置間の同期処理が困難である。
【0004】
(目的)
本発明はこのような課題を解決するためになされたもので、その目的とするところは、複数のトランスコード装置に対するファイル分割の高速化が可能なトランスコードの高速化方法及び装置を提供することにある。
【0005】
本発明の他の目的は、トランスコードの並列処理に適した符号ストリームの分割装置を提供することにある。
【0006】
【課題を解決するための手段】
本発明のトランスコードの高速化方法は、GOPを単位とする符号ストリームがファイルとして記憶された記憶装置から符号ストリームを読み出し符号圧縮の再符号化を行うトランスコードの高速化方法において、ファイルの分割長(1GOP単位の符号長以上)に関する仮の分割長である仮分割長(全ファイルの略1/N:Nは2以上の正の整数)を設定し、当該仮分割長の(n−1)倍(nはN以下の正の整数)に対応する記憶位置からそれぞれ符号ストリームを読み出し、読み出された各符号ストリームの最初のGOPの位置を検出し、検出されたそれぞれのGOPの記憶位置から分割範囲の符号ストリームを独立に読み出し、それぞれ異なるトランスコード装置により並列に再符号化を行うことを特徴とする。また、前記仮分割長の(n−1)倍に対応する記憶位置からのGOPの位置の検出はファイルの先頭から時系列に行うことを特徴とする。
【0007】
本発明の高速トランスコード装置は、GOPを単位とする符号ストリームがファイルとして記憶された記憶装置から符号ストリームを読み出し符号圧縮の再符号化を行う高速トランスコード装置において、ファイルの分割長(1GOP単位の符号長以上)に関する仮の分割長である仮分割長(全ファイルの略1/N:Nは2以上の正の整数)を設定し、当該仮分割長の(n−1)倍(nはN以下の正の整数)に対応する記憶位置からそれぞれ符号ストリームを読み出す符号ストリーム読み出し部と、読み出された各符号ストリームから最初のGOPの位置を検出するGOP検出部と、検出されたそれぞれのGOPの記憶位置を格納する実分割位置格納部と、格納されたGOPの記憶位置からそれぞれ分割範囲の符号ストリームを読み出すファイル読み出し部と、読み出され各符号ストリームを再符号化する複数のトランスコード装置と、再符号化された各符号ストリームを1つの符号ストリームとして記憶装置に記憶するファイル書き込み部とを有することを特徴とする。また、前記符号ストリーム読み出し部は、前記仮分割長の(n−1)倍に対応する記憶位置からのGOPの位置の検出をファイルの先頭から時系列に行うことを特徴とする。
【0008】
本発明のトランスコードの並列処理用の符号ストリームの分割装置は、GOPを単位とする符号ストリームがファイルとして記憶された記憶装置から符号ストリームを読み出し符号圧縮の再符号化を行う符号ストリームの分割装置において、ファイルの分割長(1GOP単位の符号長以上)に関する仮の分割長である仮分割長(全ファイルの略1/N:Nは2以上の正の整数)を設定し、当該仮分割長の(n−1)倍(nはN以下の正の整数)に対応する記憶位置からそれぞれ符号ストリームを読み出す符号ストリーム読み出し部と、読み出された各符号ストリームから最初のGOPの位置を検出するGOP検出部と、検出されたそれぞれのGOPの記憶位置を格納する実分割位置格納部と、格納されたGOPの記憶位置から分割範囲の符号ストリームを読み出すファイル読み出し部とを有することを特徴とする。また、前記符号ストリーム読み出し部は、前記仮分割長の(n−1)倍に対応する記憶位置からのGOPの位置の検出をファイルの先頭から時系列に行うことを特徴とする。
【0009】
(作用)
トランスコード装置を複数使用し、GOP(Group of Picture)の区切りでファイルを分割し、指定した大きさ程度の分割範囲の符号ストリーム単位でトランスコードを行う。符号ストリームの分割に1GOPの符号長以上の分割長に関する仮分割長を使用し、その(n−1)倍(n=1、2、…)の位置、即ち最初のG0Pの位置、仮分割長後の最初のGOPの位置、2倍の仮分割長後の最初のGOPの位置、…で符号ストリームを分割し、分割数に相当する数のトランスコーダにより符号化の並列処理を行う。GOPの位置の検出は、仮分割長×(n−1)倍(n=1、2、…)位置から最初のGOPが検出されるまでの符号ストリームを記憶装置から読み出すだけであるから格別の処理時間を必要としない。
【0010】
【発明の実施の形態】
以下、本発明のトランスコード装置の高速化方法及び装置の一実施の形態について詳細に説明する。
【0011】
(構成の説明)
図1は、本発明に係るトランスコード装置の一実施の形態を示す構成図である。1つの番組ファイル101を入力とする分割回路105と、分割回路105で分割された番組ファイルを入力とする2つのトランスコード装置102a、102bと、トランスコード装置102a、102bの各出力を入力としトランスコードされた1つの番組ファイル103とする結合回路106とから構成される。
【0012】
分割回路105は1つの番組ファイル1を入力し、この番組ファイル101を、例えばファイルの前半と後半とに分離した2つのファイルとして、それぞれをトランスコード装置102a及びトランスコード装置102bに出力する。トランスコード装置102a、102bではそれぞれのファイルのみのトランスコードを行い、トランスコード後のファイルを結合回路106にそれぞれ出力する。結合回路106は、トランスコード装置102aとトランスコード装置102bからのファイルを結合し合成された1つの番組ファイル103として出力し、記憶装置に格納する。
【0013】
トランスコード装置102a、102bは、例えばファイルの前半と後半とをそれぞれ並列に同時にトランスコード処理を行うため、処理時間は略1/2に短縮され高速なトランスコードが実現される。
【0014】
次に、1つのファイルを分割し同時にトランスコードする処理方法について、より詳細に説明する。最初に、番組ファイルの分割方法について図2及び図3を参照して説明する。
【0015】
図2は、番組ファイルの分割位置を検出する処理ブロックを示す図である。番組ファイルが記憶された記憶装置203と、番組ファイルを分割する分割長に相当する仮の分割長が記憶された仮分割長指示部201と、記憶装置203からファイルを読み出し、仮分割長指示部201により指示された位置(データのアドレス等)までファイルをスキップしてその後の符号ストリームを出力する符号ストリーム読み出し部202と、符号ストリーム読み出し部202から出力されたファイルの符号ストリームを解析してGOPの先頭位置(データのアドレス等)を検出するGOP検出部204と、GOP検出部204の出力を記録する実分割位置格納部205とから構成される。
【0016】
(動作の説明)
図3は、図2に示すブロック図におけるファイルの分割処理に関するフローチャートを示す図である。仮分割長指示部201からのファイルの分割長の仮分割長に基づき番組ファイルのGOPの実際の記憶位置情報を検出して、実分割位置格納部205に格納するための処置手順を示している。実分割位置格納部205に格納された位置情報は、複数のトランスコーダ装置へそれぞれ供給するための番組ファイルの分割に利用される。
【0017】
最初に、制御変数nにファイルの分割の初期値を設定し、ファイルの最初のGOPの位置情報を検出するため、nに1を代入する(ステップS31)。続いて、符号ストリーム読み出し部202は記憶装置203のファイルをオープンし、仮分割位置指示部201からファイルの分割長に関する仮分割長の値に(n−1)を掛けた値の位置までファイルのポインタ(ファイルポインタ)を進める(ステップS32)。
【0018】
ファイルポインタの位置がファイルの終了位置(最終位置)に達しているか否かをチェックし(ステップS33)、もし達していれば本処理をすべて終了し、達していなければステップS34へ進む。ステップS34では、現在のファイルポインタの位置からファイルを読み出し、読み出した符号ストリームをGOP検出部204へ送り、符号ストリームの最初のGOPの先頭位置を検出する(ステップS35)。GOPの先頭位置が検出できたか否かをチェックし(ステップS36)、検出できなければ処理を終了する。GOPの先頭位置が検出できたら検出されたGOPの先頭のファイル位置(例えば、記憶装置又はデータのアドレス等)を実分割位置格納手段205へ格納する(ステップS37)。 次に、制御変数nにn+1を代入し(ステップS38)、ステップS32に戻り、以上と同様な処理を繰り返す。
【0019】
以上の処理動作により、実分割位置格納部205にはファイルのGOPの切れ目となる先頭位置情報が格納されることになる。このGOPの先頭位置情報で分割されるファイルの長さは、仮分割位置指示部201から指示された仮分割長に近い値となる。前記仮分割長としては、例えば、全ファイルの略1/2の長さとすることができ、この場合、分割ファイルの長さは全ファイルの略中央のGOPで区切られることになる。また前記仮分割長は、3以上の複数のファイルに分割する場合は全ファイルの略1/M(Mは、例えば3以上の整数)とすることができる。
【0020】
次に、複数に分割されたファイルを同時にトランスコードする方法について、番組ファイルの前半と後半とに分割する例により説明する。図1に示す2つのトランスコード装置を使用する場合、分割回路105は実分割位置格納部205に格納されたGOPの最初の先頭位置情報を使用し、図示しない記憶装置の番組ファイルを最初のGOPの位置から読み出した符号ストリームをトランスコード装置102aに供給するとともに、番組ファイルの途中のGOPの先頭位置情報を使用して当該GOPの位置から読み出した符号ストリームをトランスコード装置102bに供給して、それぞれトランスコードを行いう。また、結合回路106は、前記トランスコード装置のコード化出力を結合回路する。また、実分割位置格納部205に格納されたGOPの先頭位置情報を使用して再符号化された出力を図示しない記憶装置に1つの番組ファイルになるように記憶することによりトランスコードされた番組ファイルが生成される。
【0021】
以上の処理における番組ファイルの分割処理においては、前記ファイルポインタが仮分割位置指示部201からの指示により、所望のGOPの位置の近くにスキップする動作を行い全ファイルのトレースを必要とするものではないから、番組ファイルの全再生時間又はトランスコード動作時間等と比較してきわめて短時間で実行することができ、この処理自体がトランスコード全体に影響するような処理遅延をもたらさない。
【0022】
(他の実施の形態)
次に、本発明のトランスコードの高速化方法及び装置の他の実施の形態について図4〜7を参照して説明する。
【0023】
図4は、本実施の形態に係るトランスコード装置を示す構成図である。この実施の形態は、ファイルが記憶された記憶装置403と、記憶装置403からそれぞれファイルを読み出すフィル読み出し部411、412、413と、読み出された符号化情報を再度圧縮するそれぞれトランスコード部421、422、423と、再符号化されたデータを記憶装置403に書き込むそれぞれファイル書き込み部431、432、433と、前記トランスコード部421、422、423に対して開始/終了の指示を出すトランスコード制御部404と、実分割位置格納部405とから構成される。
【0024】
トランスコード制御部404は、実分割位置格納部405からGOPの先頭位置情報を読み出し、ファイル読み出し部411およびトランスコード部421にトランスコードを指示する。ファイル読み出し部411は該当するGOPの位置から記憶装置403のファイルを読み出しトランスコード部421に送る。トランスコード部421では送られてきたファイルを順次再圧縮してファイル書き込み部431に送る。ファイル書き込み部431では前記GOPの位置に基づいて記憶装置403に再圧縮されたデータを書き込む。以上と同様の動作はトランスコード部422、423についても同時に行われ、再圧縮されたデータが記憶装置403に格納される。
【0025】
以上の実施の形態において、再圧縮の割合に関しては、トランスコード制御部44からトランスコード部421〜423へ再圧縮率(例えば0.8など)として通知するように構成してもよいし、再圧縮率を各トランスコード部421〜423に予め格納しておくように構成してもよい。
【0026】
また、再圧縮されたデータの処理については、一旦テンポラリファイルに書き出しておき、トランスコード終了後に元のファイルと置き換えても良いが、一度再圧縮されたデータはもとのファイルのデータ量より小さくなるので、読み出したときのファイルに上書きしても良い。この場合、全てトランスコードが終了した時点でファイルをマージしトランスコードされたファイルが作成される。
【0027】
図5は、トランスコード装置をN個使用した実施の形態に係るトランスコード装置を示す構成図である。この実施の形態では、N個のトランスコード装置502a〜502nへの番組ファイル501は、1つの番組ファイル501がN個のファイルに分割されて入力される。また、N個のトランスコード装置502a〜502nの出力は、結合回路105により1つの番組ファイル503としてとして出力される。トランスコード装置の個数に応じてトランスコード処理動作が高速化される。
【0028】
図6は、番組ファイルをN個のファイルに分割してトランスコード処理を行う場合の全体の処理ブロック図を示す図である。記憶装置603と、仮分割位置指示部601と演算部606、607とからなる符号ストリーム読み出し部602と、GOP検出部604と、実分割位置格納部605と、トランスコード制御部608と、並列トランスコード処理部609とから構成される。
【0029】
仮分割位置指示部601は分割長の値aを設定し、演算部606はn=1としてa×(n−1)=0を演算し、記憶装置603のアドレスに関するファイルポインタとしてファイルの先頭位置を指示し、記憶装置603の当該ファイルポインタの位置から読み出しを開始し符号ストリームを出力する。GOP検出部604は前記符号ストリームから最初のGOPを検出すると、当該GOPの記憶位置情報を実分割位置格納部605に通知するとともに、演算部607に次のファイル分割に関するGOP検出の演算を指示する。実分割位置格納部605は前記記憶位置情報を格納し、演算部607はn=n+1=1を演算し、演算部606はファイルポインタa×1を指示し、上記と同様の処理を繰り返す。以上の処理の繰り返しにより実分割位置格納部605には分割すべき先頭のGOPの位置情報が格納される。
【0030】
トランスコード制御部608は、上記処理により実分割位置格納部605に格納されたGOPの位置情報により記憶装置603及び並列トランスコード処理部609を制御し、N個のトランスコード装置により記憶装置603の番組ファイルを並列に読み出し符号化を行い、記憶装置603に符号圧縮後の番組ファイルとして再記憶する。
【0031】
図7は、番組ファイルをN個のファイルに分割するための先頭のGOPの位置情報を取得する別の実施の形態を示す図である。記憶装置703と、分割位置指示部701とGOP検出部704−1〜704−Nとからなる符号ストリーム読み出し部702と、実分割位置格納部705と、演算部708−1〜708−Nとから構成される。
【0032】
本実施の形態では仮分割位置指示部701からの仮分割長aに基づいてN個のファイルポインタ0、a×1、…a×(n−1)をN個の演算部707−1〜707−Nで算出し、各ファイルポインタ位置から符号ストリームを並列出力し、N個のGOP検出部704−1〜704−Nにおいてそれぞれ最初のGOPの位置情報を検出して実分割位置格納部705に格納するように構成したものであり、分割すべき位置情報の検出が並列処理により一層高速化される。
【0033】
【発明の効果】
本発明によれば、トランスコードの並列処理を行うための番組ファイルの分割を高速かつ確実に実行することができるから、トランスコード全体の処理時間を十分短縮することができる。また、トランスコード処理のための記憶装置から読み出し位置はGOPの位置情報により明確に区切られるので、複数のトランスコード装置間の同期動作は容易化する。
【0034】
また、本発明のトランスコードの並列処理用の符号ストリームの分割装置によれは、符号ストリームの分割長として1GOPの符号長以上の仮分割長を使用し、その(n−1)倍(n=、2…)の位置、即ち最初のG0P位置、仮分割長後の最初のGOPの位置、仮分割長×2後の最初のGOPの位置、…、を検出することから、GOPの位置の検出は仮分割長×(n−1)(n=、2、…)位置からGOPが検出するまでの符号ストリームを記憶装置から読み出すだけであるからきわめて短時間に処理が完了し、番組ファイルの分割数が増加してもトランスコード処理時間に対し無視することが可能である。
【図面の簡単な説明】
【図1】本発明に係るトランスコードの高速化方法及び装置の一実施の形態を示す構成図である。
【図2】本実施の形態におけるファイルの分割位置検出の構成図である。
【図3】本実施の形態におけるファイルの分割処理を示すフローチャートである。
【図4】本発明のトランスコードの高速化方法及び装置の他の実施の形態を示す図である。
【図5】N個のファイルに分割してトランスコード処理を行う動作を示すブロック図である。
【図6】図5に示すトランスコード処理を行う場合の全体の処理ブロック図を示す図である。
【図7】GOPの位置情報を取得するための別の実施の形態を示す図である。
【符号の説明】
101、501 番組ファイル
102a、102b、102c、502a、502b、502n トランスコード装置
103、503 トランスコードされた番組ファイル
105、505 分割回路
106、506 結合回路
201、601、701 仮分割位置指示部
202、602、702 符号ストリーム読み出し部
203、503、603、703 記憶装置
204、604、704−1、704−2、704−N GOP検出部
205、405、605、705 実分割位置格納部
411、412、413 ファイル読み出し部
404、608 トランスコード制御部
421、422、423 トランスコード部
431、432、433 ファイル書き込み部
606、607、707−1、707−2、707−N 演算部
609 並列トランスコード処理部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to transcoding, and in particular, to high-speed transcoding for recompressing coded audio and video that can be applied to or incorporated in electronic devices such as video disk recorders, set-top boxes, and video servers. The present invention relates to a conversion method and an apparatus.
[0002]
[Prior art]
The transcoding device includes a decoding device and an encoding device, and is used for the purpose of increasing the free space of a storage device by recompressing a recorded program file. By using the transcoding device, it becomes possible to store another program file using the free space.
[0003]
[Problems to be solved by the invention]
However, in a normal transcoding device, the time required for processing is the same as the time required for reproducing the program file. Therefore, even when transcoding is performed without reproducing the program file to create free space in the storage device, it takes the same time as when reproducing the program file, and there is a problem in terms of efficiency. For this reason, a method of performing parallel processing using a plurality of transcoding devices (Japanese Patent Application Laid-Open Nos. 7-123270 and 11-155128) can be considered. It is difficult to divide a file (code stream) to be supplied to the apparatus and to perform synchronization processing between transcoding apparatuses.
[0004]
(Purpose)
The present invention has been made to solve such a problem, and an object of the present invention is to provide a transcoding speed-up method and apparatus capable of speeding up file division for a plurality of transcoding devices. It is in.
[0005]
It is another object of the present invention to provide a code stream dividing apparatus suitable for parallel processing of transcoding.
[0006]
[Means for Solving the Problems]
The transcoding speed-up method according to the present invention is a transcoding speed-up method for reading a code stream from a storage device in which a code stream in GOP units is stored as a file and performing re-encoding for code compression. A temporary division length (approximately 1 / N of all files: N is a positive integer of 2 or more) which is a temporary division length related to the length (the code length of one GOP unit or more ) is set, and (n−1) of the temporary division length is set. ) The code streams are read from the storage locations corresponding to the multiple (n is a positive integer equal to or less than N) , the position of the first GOP of each read code stream is detected, and the storage position of each detected GOP is detected. , The code streams in the divided range are read independently from each other, and re-encoding is performed in parallel by different transcoding devices. Further, the detection of the position of the GOP from the storage position corresponding to (n-1) times the provisional division length is performed in chronological order from the beginning of the file.
[0007]
The high-speed transcoding device according to the present invention is a high-speed transcoding device that reads a code stream from a storage device in which a code stream in GOP units is stored as a file and performs re-encoding for code compression. Is set as a temporary division length (approximately 1 / N of all files: N is a positive integer of 2 or more) with respect to the temporary division length (n or more). Is a positive integer equal to or less than N) , a code stream reading unit that reads a code stream from a storage position corresponding to each of them, a GOP detecting unit that detects the position of the first GOP from each read code stream, An actual division position storage unit for storing the storage position of the GOP, and a file for reading the code stream of the division range from the storage position of the stored GOP. A code reading unit, a plurality of transcoding devices for re-encoding each read code stream, and a file writing unit for storing each re-encoded code stream as one code stream in a storage device. Features. Further, the code stream reading unit detects a GOP position from a storage position corresponding to (n-1) times the provisional division length in a time-series manner from the beginning of a file.
[0008]
A code stream dividing apparatus for parallel processing of transcode according to the present invention is a code stream dividing apparatus that reads a code stream from a storage device in which a code stream in GOP units is stored as a file and performs re-encoding for code compression. , A provisional division length (approximately 1 / N of all files: N is a positive integer of 2 or more), which is a provisional division length related to the division length of the file (the code length in units of 1 GOP ), is set. (N-1) times (n is a positive integer less than or equal to N) , a code stream reading unit that reads a code stream from each storage position, and detects the position of the first GOP from each read code stream. A GOP detection unit, an actual division position storage unit for storing the storage position of each detected GOP, and a code indicating a division range from the storage position of the stored GOP. And having a file reading part for reading the stream. Further, the code stream reading unit detects a GOP position from a storage position corresponding to (n-1) times the provisional division length in a time-series manner from the beginning of a file.
[0009]
(Action)
Using a plurality of transcoding devices, a file is divided at GOP (Group of Picture) boundaries, and transcoding is performed in units of code streams in a division range of about a specified size. A tentative division length related to a division length equal to or longer than the code length of 1 GOP is used for dividing the code stream, and the position is (n-1) times (n = 1 , 2 ,...), That is, the position of the first G0P, after the provisional division length. , The code stream is divided at the position of the first GOP after the double provisional division length,..., And parallel processing of encoding is performed by the number of transcoders corresponding to the number of divisions. Since the detection of the position of the GOP only reads the code stream from the temporary division length × (n−1) times (n = 1 , 2 ,...) Position until the first GOP is detected from the storage device, it is exceptional. No processing time is required.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of a method and an apparatus for increasing the speed of a transcoding device according to the present invention will be described in detail.
[0011]
(Description of configuration)
FIG. 1 is a configuration diagram showing one embodiment of a transcoding device according to the present invention. A dividing circuit 105 to which one program file 101 is input, two transcoding devices 102a and 102b to which the program files divided by the dividing circuit 105 are input, and a transcoding device to which each output of the transcoding devices 102a and 102b is input. And a coupling circuit 106 for forming one coded program file 103.
[0012]
The division circuit 105 receives one program file 1 and outputs the program file 101 to the transcoding device 102a and the transcoding device 102b, for example, as two files separated into the first half and the second half of the file. The transcoding devices 102a and 102b perform transcoding of only the respective files, and output the transcoded files to the combining circuit 106, respectively. The combining circuit 106 combines the files from the transcoding device 102a and the transcoding device 102b, outputs the combined program file 103, and stores it in the storage device.
[0013]
For example, the transcoding devices 102a and 102b simultaneously perform the transcoding process on the first half and the second half of the file, respectively, in parallel, so that the processing time is reduced to about half and high-speed transcoding is realized.
[0014]
Next, a processing method of dividing one file and transcoding at the same time will be described in more detail. First, a method of dividing a program file will be described with reference to FIGS.
[0015]
FIG. 2 is a diagram showing a processing block for detecting a division position of a program file. A storage device 203 in which a program file is stored; a temporary division length instructing unit 201 in which a temporary division length corresponding to a division length for dividing the program file is stored; a file read out from the storage device 203; A code stream reading unit 202 that skips a file to a position (data address or the like) designated by 201 and outputs a subsequent code stream, and analyzes a code stream of a file output from the code stream reading unit 202 to perform GOP And a real division position storage unit 205 for recording the output of the GOP detection unit 204.
[0016]
(Description of operation)
FIG. 3 is a diagram showing a flowchart relating to the file dividing process in the block diagram shown in FIG. The procedure for detecting the actual storage position information of the GOP of the program file based on the temporary division length of the file division length from the temporary division length instructing unit 201 and storing it in the actual division position storage unit 205 is shown. . The position information stored in the actual division position storage unit 205 is used for dividing a program file to be supplied to each of a plurality of transcoder devices.
[0017]
First, an initial value of the file division is set to the control variable n, and 1 is substituted for n in order to detect the position information of the first GOP of the file (step S31). Subsequently, the code stream reading unit 202 opens the file in the storage device 203, and from the temporary division position instructing unit 201 to the position of the value obtained by multiplying the value of the temporary division length relating to the division length of the file by (n-1). The pointer (file pointer) is advanced (step S32).
[0018]
It is checked whether or not the position of the file pointer has reached the end position (final position) of the file (step S33). If the position has been reached, the entire process ends, and if not, the process proceeds to step S34. In step S34, the file is read from the position of the current file pointer, and the read code stream is sent to the GOP detection unit 204 to detect the head position of the first GOP of the code stream (step S35). It is checked whether or not the head position of the GOP has been detected (step S36), and if not, the process is terminated. If the head position of the GOP is detected, the head file position of the detected GOP (for example, the address of a storage device or data) is stored in the actual division position storage means 205 (step S37). Next, n + 1 is substituted for the control variable n (step S38), the process returns to step S32, and the same processing as above is repeated.
[0019]
By the above-described processing operation, the start position information serving as a GOP break of the file is stored in the actual division position storage unit 205. The length of the file divided by the head position information of this GOP is a value close to the provisional division length specified by the provisional division position designation unit 201. The provisional division length can be, for example, approximately half the length of all files. In this case, the length of the division file is divided by the GOP at substantially the center of all files. When the temporary division length is divided into a plurality of files of three or more, the temporary division length can be set to approximately 1 / M of all files (M is, for example, an integer of three or more).
[0020]
Next, a method of simultaneously transcoding a plurality of divided files will be described by way of an example in which a program file is divided into a first half and a second half. When the two transcoding devices shown in FIG. 1 are used, the dividing circuit 105 uses the first head position information of the GOP stored in the real division position storage unit 205 to transfer the program file of the storage device (not shown) to the first GOP. Is supplied to the transcoding device 102a, and the code stream read from the position of the GOP is supplied to the transcoding device 102b using the head position information of the GOP in the middle of the program file, Let's transcode each. The combining circuit 106 combines the coded output of the transcoding device. Also, a transcoded program is stored by storing the re-encoded output in the storage device (not shown) into one program file using the head position information of the GOP stored in the actual division position storage unit 205. A file is generated.
[0021]
In the process of dividing the program file in the above process, the file pointer skips near the position of a desired GOP in accordance with an instruction from the temporary division position instructing unit 201, and requires tracing of all files. Therefore, the processing can be executed in an extremely short time as compared with the total reproduction time of the program file or the transcoding operation time, and the processing itself does not cause a processing delay that affects the entire transcoding.
[0022]
(Other embodiments)
Next, another embodiment of the transcoding speed-up method and apparatus according to the present invention will be described with reference to FIGS.
[0023]
FIG. 4 is a configuration diagram showing the transcoding device according to the present embodiment. In this embodiment, a storage device 403 in which a file is stored, file reading units 411, 412, and 413 for reading files from the storage device 403, respectively, and a transcoding unit 421 for compressing the read encoded information again. , 422, 423, and transcoding for instructing the file writing units 431, 432, 433 and the transcoding units 421, 422, 423 to write the re-encoded data to the storage device 403, respectively. It comprises a control unit 404 and an actual division position storage unit 405.
[0024]
The transcode control unit 404 reads the head position information of the GOP from the real division position storage unit 405, and instructs the file reading unit 411 and the transcode unit 421 to perform transcoding. The file reading unit 411 reads the file in the storage device 403 from the position of the corresponding GOP and sends the file to the transcoding unit 421. The transcoding unit 421 sequentially recompresses the transmitted file and sends the file to the file writing unit 431. The file writing unit 431 writes the recompressed data to the storage device 403 based on the position of the GOP. The same operation as described above is performed simultaneously for the transcode units 422 and 423, and the recompressed data is stored in the storage device 403.
[0025]
In the above embodiment, the transcoding control unit 44 may notify the transcoding units 421 to 423 of the recompression ratio as a recompression ratio (for example, 0.8). The compression ratio may be configured to be stored in advance in each of the transcode units 421 to 423.
[0026]
For processing of the recompressed data, the data may be temporarily written to a temporary file and replaced with the original file after transcoding, but the data once recompressed is smaller than the data amount of the original file. Therefore, the file at the time of reading may be overwritten. In this case, the files are merged when all the transcoding is completed, and a transcoded file is created.
[0027]
FIG. 5 is a configuration diagram showing a transcoding device according to an embodiment using N transcoding devices. In this embodiment, the program files 501 to the N transcoding devices 502a to 502n are input by dividing one program file 501 into N files. The outputs of the N transcoding devices 502a to 502n are output as one program file 503 by the combining circuit 105. The transcoding processing speeds up according to the number of transcoding devices.
[0028]
FIG. 6 is a diagram showing an overall processing block diagram in the case where a program file is divided into N files and transcoding processing is performed. A storage device 603, a code stream reading unit 602 including a temporary division position instructing unit 601 and operation units 606 and 607, a GOP detection unit 604, a real division position storage unit 605, a transcode control unit 608, and a parallel transformer. And a code processing unit 609.
[0029]
The temporary division position instructing unit 601 sets the value a of the division length, the computing unit 606 computes a × (n−1) = 0 with n = 1, and sets the file start position as the file pointer related to the address of the storage device 603. To start reading from the position of the file pointer in the storage device 603 and output a code stream. Upon detecting the first GOP from the code stream, the GOP detection unit 604 notifies the storage location information of the GOP to the real division position storage unit 605 and instructs the calculation unit 607 to calculate GOP detection for the next file division. . The real division position storage unit 605 stores the storage position information, the calculation unit 607 calculates n = n + 1 = 1, and the calculation unit 606 points to the file pointer a × 1, and repeats the same processing as described above. By repeating the above processing, the actual division position storage unit 605 stores the position information of the first GOP to be divided.
[0030]
The transcode control unit 608 controls the storage device 603 and the parallel transcode processing unit 609 based on the position information of the GOP stored in the real division position storage unit 605 by the above processing, and the N transcoding devices control the storage device 603. The program files are read out in parallel and encoded, and are stored again in the storage device 603 as code-compressed program files.
[0031]
FIG. 7 is a diagram showing another embodiment for acquiring the position information of the first GOP for dividing the program file into N files. A storage device 703, a code stream reading unit 702 including a division position instruction unit 701 and GOP detection units 704-1 to 704-N, an actual division position storage unit 705, and arithmetic units 708-1 to 708-N Be composed.
[0032]
In the present embodiment, N file pointers 0, a × 1,... A × (n−1) are converted into N operation units 707-1 to 707 based on the temporary division length a from the temporary division position designating unit 701. −N, the code stream is output in parallel from each file pointer position, and the N GOP detectors 704-1 to 704-N respectively detect the position information of the first GOP and store it in the real division position storage unit 705. It is configured to store the information, and the detection of the position information to be divided is further speeded up by the parallel processing.
[0033]
【The invention's effect】
According to the present invention, the division of the program file for performing the transcoding parallel processing can be performed at high speed and reliably, so that the processing time of the entire transcoding can be sufficiently reduced. In addition, since the reading position from the storage device for the transcoding process is clearly demarcated by the GOP position information, the synchronization operation between the plurality of transcoding devices is facilitated.
[0034]
Further, according to the code stream dividing device for parallel processing of transcode of the present invention, a provisional division length equal to or longer than the code length of 1 GOP is used as the division length of the code stream, and is (n-1) times (n = 1). 1 , 2,...), Ie, the first GOP position, the position of the first GOP after the provisional division length, the position of the first GOP after the provisional division length × 2,. Simply reads the code stream from the temporary division length × (n−1) (n = 1 , 2,...) Position until the GOP is detected from the storage device. Even if the number of divisions increases, it is possible to ignore the transcoding processing time.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing one embodiment of a transcoding speed-up method and apparatus according to the present invention.
FIG. 2 is a configuration diagram of file division position detection according to the present embodiment.
FIG. 3 is a flowchart showing a file dividing process according to the embodiment.
FIG. 4 is a diagram showing another embodiment of a transcoding speed-up method and apparatus according to the present invention.
FIG. 5 is a block diagram illustrating an operation of dividing a file into N files and performing a transcoding process.
6 is a diagram showing an overall processing block diagram when the transcoding process shown in FIG. 5 is performed.
FIG. 7 is a diagram showing another embodiment for acquiring position information of a GOP.
[Explanation of symbols]
101, 501 Program files 102a, 102b, 102c, 502a, 502b, 502n Transcoding device 103, 503 Transcoded program file 105, 505 Dividing circuit 106, 506 Coupling circuits 201, 601, 701 Temporary division position instructing section 202, 602, 702 Code stream reading units 203, 503, 603, 703 Storage devices 204, 604, 704-1, 704-2, 704-N GOP detection units 205, 405, 605, 705 Real division position storage units 411, 412, 413 File read unit 404, 608 Transcode control unit 421, 422, 423 Transcode unit 431, 432, 433 File write unit 606, 607, 707-1, 707-2, 707-N Operation unit 609 Parallel transcode processing Department

Claims (6)

GOPを単位とする符号ストリームがファイルとして記憶された記憶装置から符号ストリームを読み出し符号圧縮の再符号化を行うトランスコードの高速化方法において、
ファイルの分割長(1GOP単位の符号長以上)に関する仮の分割長である仮分割長(全ファイルの略1/N:Nは2以上の正の整数)を設定し、当該仮分割長の(n−1)倍(nはN以下の正の整数)に対応する記憶位置からそれぞれ符号ストリームを読み出し、読み出された各符号ストリームの最初のGOPの位置を検出し、検出されたそれぞれのGOPの記憶位置から分割範囲の符号ストリームを独立に読み出し、それぞれ異なるトランスコード装置により並列に再符号化を行うことを特徴とするトランスコードの高速化方法。
In a transcoding speed-up method for reading a code stream from a storage device in which a code stream in GOP units is stored as a file and performing re-encoding of code compression,
A provisional division length (approximately 1 / N of all files: N is a positive integer of 2 or more) is set as a provisional division length related to the division length of the file ( the code length of one GOP unit or more) , and ( n-1) times (n is a positive integer equal to or less than N) , reading out the code streams from the storage locations, detecting the position of the first GOP of each read code stream, and detecting each of the detected GOPs. A code stream in a divided range is read out independently from the storage position of the above, and re-encoding is performed in parallel by different trans-coding devices, respectively.
前記仮分割長の(n−1)倍に対応する記憶位置からのGOPの位置の検出はファイルの先頭から時系列に行うことを特徴とする請求項1記載のトランスコードの高速化方法。2. The transcoding speed-up method according to claim 1, wherein the detection of the position of the GOP from the storage position corresponding to (n-1) times the provisional division length is performed in chronological order from the beginning of the file. GOPを単位とする符号ストリームがファイルとして記憶された記憶装置から符号ストリームを読み出し符号圧縮の再符号化を行う高速トランスコード装置において、
ファイルの分割長(1GOP単位の符号長以上)に関する仮の分割長である仮分割長(全ファイルの略1/N:Nは2以上の正の整数)を設定し、当該仮分割長の(n−1)倍(nはN以下の正の整数)に対応する記憶位置からそれぞれ符号ストリームを読み出す符号ストリーム読み出し部と、読み出された各符号ストリームから最初のGOPの位置を検出するGOP検出部と、検出されたそれぞれのGOPの記憶位置を格納する実分割位置格納部と、格納されたGOPの記憶位置からそれぞれ分割範囲の符号ストリームを読み出すファイル読み出し部と、読み出され各符号ストリームを再符号化する複数のトランスコード装置と、再符号化された各符号ストリームを1つの符号ストリームとして記憶装置に記憶するファイル書き込み部とを有することを特徴とする高速トランスコード装置。
In a high-speed transcoding device that reads a code stream from a storage device in which a code stream in GOP units is stored as a file and performs re-encoding of code compression,
A provisional division length (approximately 1 / N of all files: N is a positive integer of 2 or more) is set as a provisional division length related to the division length of the file ( the code length of one GOP unit or more) , and ( a code stream reading unit that reads a code stream from a storage position corresponding to (n-1) times (n is a positive integer equal to or less than N) , and a GOP detection that detects a position of a first GOP from each read code stream Unit, an actual division position storage unit for storing the storage position of each detected GOP, a file reading unit for reading a code stream of a division range from the storage position of the stored GOP, and a readout unit for reading each code stream. A plurality of transcoding devices for re-encoding; and a file writing unit for storing each re-encoded code stream as one code stream in a storage device. Fast transcoding apparatus which is characterized in that.
前記符号ストリーム読み出し部は、前記仮分割長の(n−1)倍に対応する記憶位置からのGOPの位置の検出をファイルの先頭から時系列に行うことを特徴とする請求項3記載の高速トランスコード装置。4. The high-speed apparatus according to claim 3, wherein the code stream reading unit detects a GOP position from a storage position corresponding to (n-1) times the provisional division length in a time-series manner from the beginning of the file. Transcoding device. GOPを単位とする符号ストリームがファイルとして記憶された記憶装置から符号ストリームを読み出し符号圧縮の再符号化を行うトランスコードの並列処理用の符号ストリームの分割装置において、
ファイルの分割長(1GOP単位の符号長以上)に関する仮の分割長である仮分割長(全ファイルの略1/N:Nは2以上の正の整数)を設定し、当該仮分割長の(n−1)倍(nはN以下の正の整数)に対応する記憶位置からそれぞれ符号ストリームを読み出す符号ストリーム読み出し部と、読み出された各符号ストリームから最初のGOPの位置を検出するGOP検出部と、検出されたそれぞれのGOPの記憶位置を格納する実分割位置格納部と、格納されたGOPの記憶位置から分割範囲の符号ストリームを読み出すファイル読み出し部とを有することを特徴とするトランスコードの並列処理用の符号ストリームの分割装置。
In a code stream splitting apparatus for transcoding parallel processing for reading a code stream from a storage device in which a code stream in GOP units is stored as a file and performing re-encoding for code compression,
A provisional division length (approximately 1 / N of all files: N is a positive integer of 2 or more) is set as a provisional division length related to the division length of the file ( the code length of one GOP unit or more) , and ( a code stream reading unit that reads a code stream from a storage position corresponding to (n-1) times (n is a positive integer equal to or less than N) , and a GOP detection that detects a position of a first GOP from each read code stream And a file reading unit for reading a code stream of a division range from the storage position of the stored GOP and a real division position storage unit for storing a storage position of each detected GOP. A code stream division device for parallel processing.
前記符号ストリーム読み出し部は、前記仮分割長の(n−1)倍に対応する記憶位置からのGOPの位置の検出をファイルの先頭から時系列に行うことを特徴とする請求項5記載の符号ストリームの分割装置。6. The code according to claim 5, wherein the code stream reading unit detects a GOP position from a storage position corresponding to (n-1) times the provisional division length in a time series from the head of the file. Stream splitting device.
JP26074899A 1999-09-14 1999-09-14 Method and apparatus for speeding up transcoding Expired - Fee Related JP3550651B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26074899A JP3550651B2 (en) 1999-09-14 1999-09-14 Method and apparatus for speeding up transcoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26074899A JP3550651B2 (en) 1999-09-14 1999-09-14 Method and apparatus for speeding up transcoding

Publications (2)

Publication Number Publication Date
JP2001086460A JP2001086460A (en) 2001-03-30
JP3550651B2 true JP3550651B2 (en) 2004-08-04

Family

ID=17352204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26074899A Expired - Fee Related JP3550651B2 (en) 1999-09-14 1999-09-14 Method and apparatus for speeding up transcoding

Country Status (1)

Country Link
JP (1) JP3550651B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014086770A (en) * 2012-10-19 2014-05-12 Nippon Hoso Kyokai <Nhk> Video signal dividing device, video transfer transmission apparatus, video transfer reception apparatus and video transfer system

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493386B1 (en) * 2000-02-02 2002-12-10 Mitsubishi Electric Research Laboratories, Inc. Object based bitstream transcoder
US6490320B1 (en) * 2000-02-02 2002-12-03 Mitsubishi Electric Research Laboratories Inc. Adaptable bitstream video delivery system
US8126318B2 (en) 2004-08-30 2012-02-28 Panasonic Corporation Recording device, system, integrated circuit, program, and recording method
JP4516874B2 (en) * 2005-03-30 2010-08-04 Necパーソナルプロダクツ株式会社 Image data encoding apparatus and image data encoding method
JP4533819B2 (en) * 2005-08-11 2010-09-01 株式会社東芝 Video server system and data transfer method
JP4142699B2 (en) 2006-07-14 2008-09-03 ユーディナデバイス株式会社 Method for manufacturing light emitting device
WO2008114393A1 (en) * 2007-03-19 2008-09-25 Fujitsu Limited Bit stream converting method, bit stream converting device, bit stream coupling device, bit stream dividing program, bit stream converting program and bit stream coupling program
JP5011017B2 (en) 2007-07-30 2012-08-29 株式会社日立製作所 Image decoding device
JP2009171134A (en) * 2008-01-15 2009-07-30 Nippon Hoso Kyokai <Nhk> Video format converter
JP2012015713A (en) * 2010-06-30 2012-01-19 Buffalo Inc Record reproduction device and contents processing method
KR101166085B1 (en) * 2010-12-17 2012-07-23 주식회사 픽스트리 diversification transcoding method for video file
CN102510499A (en) * 2011-10-19 2012-06-20 清华大学 Video transcoding method based on image group in cloud environment
CN103647984A (en) * 2013-11-14 2014-03-19 天脉聚源(北京)传媒科技有限公司 Load distribution method and system for video processing servers
CN104935393B (en) * 2015-06-02 2018-01-09 瑞斯康达科技发展股份有限公司 A kind of frame synchornization method and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014086770A (en) * 2012-10-19 2014-05-12 Nippon Hoso Kyokai <Nhk> Video signal dividing device, video transfer transmission apparatus, video transfer reception apparatus and video transfer system

Also Published As

Publication number Publication date
JP2001086460A (en) 2001-03-30

Similar Documents

Publication Publication Date Title
JP3550651B2 (en) Method and apparatus for speeding up transcoding
JP4270379B2 (en) Efficient transmission and reproduction of digital information
KR960701445A (en) Information data recoding and reproducing device and information data processing system
US6229576B1 (en) Editing system with router for connection to HDTV circuitry
JPH077715A (en) Method of storing and retrieving video signal from disc
CN101203907A (en) Audio coding device, audio decoding device and audio coding information transmission device
JP4598627B2 (en) Content editing apparatus and playback apparatus thereof
EP0796013B1 (en) Video image processing apparatus and the method of the same
US7046251B2 (en) Editing system with router for connection to HDTV circuitry
JP2006303652A (en) Information recording / reproducing system, information recording / reproducing apparatus, and information recording / reproducing method
JPH1118051A (en) I frame extraction method
US8059167B2 (en) Shooting apparatus and shooting method, and program
JP2006324848A (en) Apparatus and method for information processing
JP4548226B2 (en) Data processing method, apparatus and program thereof
JP2987246B2 (en) How to edit multimedia data
JP3718499B2 (en) Moving image recording method
JP2014232979A (en) Video data reduction device and reproduction device
CN100438604C (en) Digital content dividing device, digital content playback device and digital content dividing method
JP3079614B2 (en) Multimedia data playback device
JP3817828B2 (en) Authoring apparatus and method and multiplexing apparatus and method
JP2001110125A (en) Recording / reproducing apparatus and recording / reproducing method
JP4228402B2 (en) Data editing apparatus and data editing method
JP4227605B2 (en) Video playback device
JP3544182B2 (en) Recording / reproduction / editing apparatus and method
JPH10112840A (en) Editing device

Legal Events

Date Code Title Description
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: 20040326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040408

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100514

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees