JP5076083B2 - トランスコーダ - Google Patents

トランスコーダ Download PDF

Info

Publication number
JP5076083B2
JP5076083B2 JP2008042427A JP2008042427A JP5076083B2 JP 5076083 B2 JP5076083 B2 JP 5076083B2 JP 2008042427 A JP2008042427 A JP 2008042427A JP 2008042427 A JP2008042427 A JP 2008042427A JP 5076083 B2 JP5076083 B2 JP 5076083B2
Authority
JP
Japan
Prior art keywords
period
bit rate
stream
target
ratio
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
JP2008042427A
Other languages
English (en)
Other versions
JP2009200994A (ja
Inventor
弘 長谷川
宣行 高須
誠 斉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2008042427A priority Critical patent/JP5076083B2/ja
Priority to US12/360,350 priority patent/US20090213928A1/en
Publication of JP2009200994A publication Critical patent/JP2009200994A/ja
Priority to US13/401,198 priority patent/US9071837B2/en
Application granted granted Critical
Publication of JP5076083B2 publication Critical patent/JP5076083B2/ja
Priority to US14/706,126 priority patent/US9749637B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、入力ストリームをデコードして異なる出力ストリームに変換するトランスコーダに関し、詳しくは、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御する技術に関する。
デジタル放送で配信される画像や、DVD、ハードディスクなどに格納される画像などは、各種の符号化方式に従って圧縮される。これは、伝送帯域を圧迫しないため、伝送速度を上げるため、あるいは、記憶サイズを小さくするなどの目的のためである。
画像の符号化方式には、MPEG2やH.264など様々な規格が存在する。そして、入力した符号化画像の符号量を削減するなどの目的で符号化方式の変換が行われる場合がある。トランスコーダは、入力した符号化画像を一旦デコードする。そして、トランスコーダは、デコードした画像を、再び異なる符号化方式(あるいは同じ符号化方式)で符号化する。このようにして、トランスコーダは、出力ストリームのビットレートを制御するのである。
下記特許文献1は、第1の圧縮符号化方式で圧縮された画像を第2の圧縮符号化方式で圧縮された画像に変換するトランスコーダに関するものである。このトランスコーダは、第1の圧縮符号化方式で圧縮された画像を復号する際に発生する中間情報を用いて、第2の圧縮符号化方式で画像を圧縮するようにしている。
特開2006−74635号公報
従来のビットレート変換技術では、入力ストリームのGOP(Group of pictures)単位のビットレートや出力ストリームのGOP単位の目標ビットレートに基づいて、ビットレート変換が行われている。つまり、GOP単位をレート制御の制御単位期間として設定している。そして、入力ストリームのGOPのピクチャ構成がシーケンス全体において、ある程度一定であることが前提とされており、入力ストリームのGOP単位のビットレートが急激に変動することは想定されていない。
このため、シーケンスの途中で一時的にGOPを構成するフレーム数が少なくなった場合、あるいはGOPのピクチャ構成が、PピクチャフレームやIピクチャフレームが連続して挿入される構成となった場合などには、制御単位期間内のIピクチャフレームの挿入比率が高くなる。
一般的に、MPEG2においてピクチャフレームのビット比率はI:P:B=5:3:1とされている。したがって、一時的に、GOP内のIピクチャフレームやPピクチャフレームの挿入比率が高くなった場合、その制御単位期間のビットレートが、入力ストリームの平均ビットレートよりも一時的に急激に増加し、レート変換制御が不安定になるという問題があった。
そこで、本発明は前記問題点に鑑み、制御単位期間内における入力ストリームのビットレートを大きく変動させることなく、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御することを目的とする。
上記課題を解決するため、請求項1記載の発明は、第1のストリームを第2のストリームに変換するトランスコーダであって、制御単位期間を決定する期間決定手段と、決定された制御単位期間ごとの第1のストリームのビットレートを取得する手段と、取得した制御単位期間ごとの第1のストリームのビットレートを含む第1のストリームの情報を用いて、第2のストリームの量子化ステップ値を算出する量子化ステップ値算出手段と、を備え、前記期間決定手段は、各制御単位期間が所定のフレーム数以上となるよう各制御単位期間を決定することを特徴とする。
請求項2記載の発明は、請求項1に記載のトランスコーダにおいて、前記期間決定手段は、GOP内のフレーム数が所定のフレーム数以上である場合には、GOPを制御単位期間として決定し、GOP内のフレーム数が所定のフレーム数未満である場合には、所定のフレーム数以上となるまで複数のGOPを連結し、連結された複数のGOPを制御単位期間として決定することを特徴とする。
請求項記載の発明は、請求項1または請求項2に記載のトランスコーダにおいて、さらに、第N+1期間の第2のストリームの目標ビットレートと第N期間以前の第1のストリームのビットレートとの比に基づいて第N+1期間の期間変換係数を算出する期間変換係数算出手段、を備え、前記量子化ステップ値算出手段は、第N+1期間の第1のストリームの量子化ステップ値に前記期間変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段、を含むことを特徴とする。
請求項記載の発明は、請求項に記載のトランスコーダにおいて、さらに、第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートと、第N期間の第2のストリームの目標ビットレートに基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段、を備えることを特徴とする。
請求項記載の発明は、請求項に記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートと第N期間の第2のストリームの目標ビットレートとの比を目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートと前記目標比との比に基づいて第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
請求項記載の発明は、請求項に記載のトランスコーダにおいて、第N−1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とする。
請求項記載の発明は、請求項に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N+1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とする。
請求項記載の発明は、請求項に記載のトランスコーダにおいて、第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値を目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記目標差を加算することで、第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
請求項記載の発明は、請求項に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項10記載の発明は、請求項に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項11記載の発明は、請求項に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
本発明のトランスコーダは、各制御単位期間が所定のフレーム数以上となるよう各制御単位期間を決定し、制御単位期間ごとの第1のストリームのビットレートを含む第1のストリームの情報を用いて、第2のストリームの量子化ステップ値を算出する。これにより、制御単位期間ごとの第1のストリームのビットレートの変動を小さく抑えることができ、ビットレートの制御を適正に行うことが可能である。
また、本発明のトランスコーダは、制御単位期間内のIピクチャフレームの比率が所定の割合以下となるよう各制御単位期間を決定し、制御単位期間ごとの第1のストリームのビットレートを含む第1のストリームの情報を用いて、第2のストリームの量子化ステップ値を算出する。これにより、制御単位期間ごとの第1のストリームのビットレートの変動を小さく抑えることができ、ビットレートの制御を適正に行うことが可能である。
{1.トランスコーダの全体構成}
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本実施の形態に係るトランスコーダ1のブロック図である。このトランスコーダ1は、デコーダ2とエンコーダ3とを備えている。
デコーダ2は、第1ストリームを入力する。第1ストリームは、符号化画像のストリームである。デコーダ2は、第1ストリームをデコードし、非圧縮の画像データをエンコーダ3に出力する。エンコーダ3は、デコーダ2においてデコードされた非圧縮の画像データを再び符号化し、第2ストリームを出力するのである。
たとえば、トランスコーダ1は、MPEG2で符号化された第1ストリームを入力し、H.264で符号化された第2ストリームを出力するなど、ストリームの符号化方式を変換する処理を行う。そして、変換処理を行う際、出力する第2ストリームのレート制御を最適に行えるよう本発明は工夫されている。あるいは、トランスコーダ1は、MPEG2で符号化された第1ストリームを入力し、再びMPEG2で符号化された第2ストリームを出力するなど、同じ符号化方式のストリームを出力する。このときにも、出力する第2ストリームのレート制御を最適に行えるよう本発明は工夫されている。
なお、この後説明するレート制御方法(A)〜(D)における各演算処理は、デコーダ2およびエンコーダ3において実行される演算処理であるが、デコーダ2およびエンコーダ3における各演算処理は、ハードウェアにより実現されてもよいし、ソフトウェア処理により実現されていてもよい。つまり、デコーダ2およびエンコーダ3は、ハードウェア回路として構成されていてもよいし、CPUとメモリに格納されたプログラムとで構成されていてもよい。あるいは、一部の処理がハードウェアで処理され、一部の処理がソフトウェアで処理される形態であってもよい。
{2.レート制御方法}
図2は、トランスコーダ1が入出力するストリームの制御単位期間ごとの情報を表した図である。トランスコーダ1は、処理時間軸を制御単位期間L(n=1,2・・・)に区分し、この制御単位期間Lを処理単位としてレート制御を行う。以下の説明において、適宜、制御単位期間Lを第n期間と呼ぶことにする。本実施の形態においては、基本的には、1GOPが制御単位期間Lとして設定されるが、後で説明するように入力ストリームの状態に応じて連続する複数のGOPが制御単位期間Lとして設定される。ただし、制御単位期間Lとしては、1フレーム、連続する複数フレームなどを設定することが可能である。
第1ストリームの入力全体ビットレートSは、シーケンスヘッダなどから取得される。入力平均ビットレートSは、第n期間における第1ストリームの平均ビットレートである。トランスコーダ1は、バッファを備えており、M期間分の入力平均ビットレートSに関する情報を格納可能としている。つまり、バッファは、第(n−M+1)期間から第n期間までの入力平均ビットレートSに関する情報を格納可能としている。そして、期間平均ビットレートASは、第(n−M+1)期間から第n期間における入力平均ビットレートSを平均した値である。期間平均ビットレートASは、数1式で表される。
Figure 0005076083
デコーダ2は、入力した第1ストリームから、入力全体ビットレートS、入力平均ビットレートS、期間平均ビットレートAS、第n期間における量子化ステップ値Pなどの情報を取得し、これらの情報をエンコーダ3に与える。エンコーダ3は、これらの情報を利用して、画像の再符号化を行う。
第2ストリームの全体目標ビットレートTは、ユーザにより設定される。たとえば、ユーザが、トランスコーダ1に設けられた図示せぬ操作部を用いて全体目標ビットレートTを設定する。目標設定ビットレートTは、第n期間における第2ストリームの目標ビットレートである。出力平均ビットレートCは、第n期間における変換済みの第2ストリームの平均ビットレートである。トランスコーダ1は、バッファを備えており、M期間分の出力平均ビットレートCに関する情報を格納可能としている。つまり、バッファは、第(n−M+1)期間から第n期間までの出力平均ビットレートCに関する情報を格納可能としている。そして、期間平均ビットレートACは、第(n−M+1)から第n期間における出力平均ビットレートCを平均した値である。期間平均ビットレートACは、数2式で表される。なお、この実施の形態では、期間平均ビットレートAS、ACを計算する場合に利用するバッファ期間を、制御単位期間Lと連動させたが、バッファ期間の設定方法は、これに限るものではない。たとえば、符号化が終わった時点の過去1フレーム、連続する過去複数フレームなどをバッファ期間として設定することが可能である。
Figure 0005076083
また、量子化ステップ変換係数αは、第(n−1)期間の終了時に算出される係数である。第1ストリームの量子化ステップ値そのもの、あるいは第1ストリームの量子化ステップ値から計算される値Pに、量子化ステップ変換係数αを乗算することで、第2ストリームの量子化ステップ値Qが決定される。この関係を数3式に示す。
Figure 0005076083
ここで、量子化ステップ変換係数αの初期値αは、数4式で与えられる。つまり、第2ストリームの全体目標ビットレートTを第1ストリームの入力全体ビットレートSで除算した値、つまりビットレート比を関数fに入力することによって、量子化ステップ変換係数の初期値αを求めている。
Figure 0005076083
ここで、関数fは、ビットレートの比から量子化ステップ値の比を求める関数であり、ビットレートの比をR、量子化ステップ値の比をRとすると、一般的に、数5式で表される。
Figure 0005076083
関数fの具体例を説明する。本実施の形態では、数6式に示すように、ピクチャあるいはマクロブロックのタイプI、P、B(Iピクチャ、Pピクチャ、Bピクチャ)それぞれに異なる特性で量子化ステップ値の比を制御できる関数を利用している。数6式中、f(x)、f(x)、f(x)は、それぞれI、P、Bピクチャに対応して適応される関数を示している。
Figure 0005076083
数6式においては、MPEG2からH.264へストリーム変換する場合のε、ε、ε、δ、δ、δの値として、実験等に基づいて算出された具体的数値を例示した。つまり、実験の結果、ε=2.1、ε=2.1、ε=1.3、δ=1.1、δ=0.8、δ=0.9とすることで、良好な特性が得られた。これ以外に、入力ストリームをデコードする際に得られる画像の特徴量を利用して、ε、δの値を決定するようにしてもよい。たとえば、数7式に示すように、入力ストリームのActivity値(act値)や、動き評価値(sad値)に基づいてε、δの値を決定するようにしてもよい。
Figure 0005076083
数7式中、aは、act値、sはsad値を示しており、ε(a,s)、ε(a,s)、ε(a,s)、−δ(a,s)、−δ(a,s)、−δ(a,s)は、act値およびsad値をパラメータとして、εおよびδの値が算出されることを示している。
Activity値は、マクロブロック内の画素平均値とマクロブロック内の各画素の画素値との差分絶対値和をマクロブロックごとに計算したものである。つまり、Activity値は、マクロブロック内の画素のばらつき度合い示す評価値である。MPEG2の符号量制御モデルTM5などで用いられるActivity値と同様である。動き評価値(sad値)は、マクロブロックごとに参照画像マクロブロック内の画素とフレーム間差分絶対値和を計算したものである。つまり、マクロブロックの各画素と、参照画像マクロブロックの各画素とを比較し、同じ座標位置にある画素同士の画素値差分の絶対値和を算出したものである。
より一般的には、第n期間における画像の特徴量をILnとすると、f(x)、f(x)、f(x)は、それぞれ数8式で表される。
Figure 0005076083
数8式中、ε(ILn)、ε(ILn)、ε(ILn)、−δ(ILn)、−δ(ILn)、−δ(ILn)は、それぞれ、画像の特徴量ILnをパラメータとして、係数ε、δが決定されることを示している。
以下、4つのレート制御方法(A)〜(D)について説明する。
<2−1.レート制御方法(A)>
まず、レート制御方法(A)に関して、第2ストリームの量子化ステップ値Qを算出するための量子化ステップ変換係数αの算出方法を説明する。トランスコーダ1は、第n期間経過時において、量子化ステップ変換係数αn+1を算出する。
数9式は、量子化ステップ変換係数αn+1を算出するための数式を示している。数9式中、(T−C)は、第2ストリームの全体目標ビットレートTから変換済みの第n期間における出力平均ビットレートCを減算したものである。この値を変動係数と呼ぶことにする。kは、変動係数を調整する調整係数であり、正の値が用いられる。
Figure 0005076083
このように、数4式で求められたαに対して、変動係数を加算することで、量子化ステップ値の比が目標へと近づくように調整するのである。この意味で、量子化ステップ変換係数の初期値αは、基準変換係数と呼ぶことができる。
数9式を用いて、量子化ステップ変換係数αn+1が算出されると、数3式により、第2ストリームの第(n+1)期間における量子化ステップ値Qが求められるのである。
上記数9式において変動係数を算出する際、第n期間における出力平均ビットレートCを用いた。ここで、数10式で示すように、出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間における期間平均ビットレートACを用いても良い。
Figure 0005076083
これにより、局所的なCの変化に大きく左右されることなく、変動係数を緩やかに制御することができる。
また、上記数9式において変動係数を算出する際、第2ストリームの全体目標ビットレートTから変換済みの第n期間における出力平均ビットレートCを減算したものを採用した。ここで、数11式に示すように、減算値をさらに第1のストリームの第n期間における入力平均ビットレートSで除算するようにしてもよい。
Figure 0005076083
これにより、第1ストリームのビットレートが局所的に大きく変化した場合などに、変動係数が大きく影響を受けることを回避できるのである。
さらに、数10式と数11式を用いて説明した変動係数の算出方法の両方の考え方を取り入れるようにしてもよい。つまり、数12式に示すように、出力平均ビットレートCに代えて、期間平均ビットレートACを用い、さらに、減算値を入力平均ビットレートSで除算するのである。これにより、変動係数をより緩やかに制御することができる。
Figure 0005076083
また、数11式では、全体目標ビットレートTから出力平均ビットレートCを減算し、その減算値をビットレートSで除算するようにした。これに代えて、数13式に示すように、減算値を、第(n−M+1)期間から第n期間における第1ストリームの期間平均ビットレートASで除算するようにしてもよい。これにより、第1ストリームのビットレートの局所的変換に影響されることなく、より緩やかに変動係数を制御することができる。
Figure 0005076083
また、数14式で示したように、出力平均ビットレートCに代えて、期間平均ビットレートACを用い、入力平均ビットレートSに代えて、期間平均ビットレートASを用いても良い。これにより、さらに緩やかに変動係数を制御することが可能である。
Figure 0005076083
<2−2.レート制御方法(B)>
次に、レート制御方法(B)について説明する。レート制御方法(B)においても、量子化ステップ変換係数を算出し、数3式を用いて、第2ストリームの量子化ステップ値Qを算出する。ただし、量子化ステップ変換係数の算出方法がレート制御方法(A)とは異なる。レート制御方法(A)では、量子化ステップ変換係数の初期値αを求め、これを基準変換係数として、基準変換係数からの変動を順次求めていくこととした。これに対して、レート制御方法(B)においては、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出するのである。
第(n+1)期間の目標設定ビットレートTn+1が決定すると、数5式を用いて説明した場合と同様の方法で、量子化ステップ変換係数αn+1が算出される。つまり、数6式〜数8式で例示したような関数fを利用して、量子化ステップ変換係数αn+1が算出される。具体的には、数15式で示すように、第(n+1)期間の目標設定ビットレートTn+1と第n期間の入力平均ビットレートSの比を関数fに入力することで、量子化ステップ変換係数αn+1を算出する。
Figure 0005076083
あるいは、数16式で示すように、第n期間における入力平均ビットレートSに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートASを用いて量子化ステップ変換係数αn+1を算出してもよい。
Figure 0005076083
数17式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。つまり、トランスコーダ1が、第n期間終了後に算出する第(n+1)期間の目標設定ビットレートTn+1を示している。具体的には、第n期間の変換済みの第2ストリームの出力平均ビットレートCを第n期間の目標設定ビットレートTで除算した値を目標比と考えると、第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTを目標比で除算することで算出されるのである。
Figure 0005076083
数17式中、kは正の係数であり、目標設定ビットレートTn+1を調整するための係数である。このように、C/Tにより第n期間における目標との比を算出し、全体目標ビットレートTを目標比で除算することで第(n+1)期間の目標設定ビットレートTn+1を調整し、全体として目標ビットレートに近づくよう制御するのである。
数17式では、第n期間の第2ストリームの出力平均ビットレートCを目標設定ビットレートTで除算した値を目標比として利用しているが、この目標比をさらに調整するようにしたのが、数18式である。
Figure 0005076083
数18式において、目標比にSn−1/Sが乗算されている。Sn−1/Sは、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を、第n期間の第1ストリームの入力平均ビットレートSで除算した値であり、入力平均ビットレートの期間比と呼ぶことができる。つまり、目標比に期間比を乗算することで、目標比を調整しているのである。
このように目標比に期間比を乗算することで、局所的な目標比の変化を補正することができる。たとえば、入力平均ビットレートSが局所的に小さく変化した場合には、それに伴い、目標比C/Tも小さく変動する場合がある。このような場合にも、期間比Sn−1/S(この場合、期間比が1より大きな値となる。)を乗算することで、目標比を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。逆に、入力平均ビットレートSが局所的に大きく変化した場合には、期間比Sn−1/Sが1より小さい値となり、目標比が急激に大きくなることを抑制することができる。
数18式では、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を、第n期間の第1ストリームの入力平均ビットレートSで除算した値を期間比とした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。入力平均ビットレートSn+1を先読みできる場合とは、入力平均ビットレートSn+1に関する情報をバッファリングした上で、第(n+1)期間の目標設定ビットレートTn+1を算出できる時間的余裕がある場合である。つまり、ある程度の処理遅延が許されるような場合である。数19式に、入力平均ビットレートSn+1を用いて目標設定ビットレートTn+1を算出する式を示す。
Figure 0005076083
数19式に示すように、期間比として、S/Sn+1、つまり、第n期間の第1ストリームの入力平均ビットレートSを、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1で除算した値を用いている。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。つまり、より最新の入力情報を用いることで、目標ビットレートに対する最適制御を行うことができるのである。
期間比として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数15式に代えて、数20式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
Figure 0005076083
また、数18式では、期間比としてSn−1/Sを利用した。これに代えて、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1と、第n期間を含む過去M期間の期間平均ビットレートASの比を期間比として用いてもよい。つまり、数18式において、期間比として、Sn−1/Sに代えて、ASn−1/ASを用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第n期間を含む過去M期間の期間平均ビットレートASと、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を期間比として用いてもよい。つまり、数18式において、期間比として、Sn−1/Sに代えて、AS/ASn+1を用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
期間比として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数16式に代えて、数21式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
Figure 0005076083
制御レート方法(B)における目標設定ビットレートTn+1の計算方法を、数17式、数18式、数19式などを用いて説明したが、これら数式を用いて説明した場合を含め制御レート方法(B)における全ての場合において、第n期間の出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACを用いても良い。たとえば、数17式、数18式、数19式などにおいて、Cに代えてACを用いるのである。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
<2−3.レート制御方法(C)>
次に、レート制御方法(C)について説明する。レート制御方法(C)においても、量子化ステップ変換係数を算出し、数3式を用いて、第2ストリームの量子化ステップ値Qを算出する。また、レート制御方法(C)においても、レート制御方法(B)と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。
第(n+1)期間の目標設定ビットレートTn+1が決定すると、数5式を用いて説明した場合と同様の方法で、量子化ステップ変換係数αn+1が算出される。つまり、数6式〜数8式で例示したような関数fを利用して、量子化ステップ変換係数αn+1が算出される。具体的には、数15式で示すように、第(n+1)期間の目標設定ビットレートTn+1と第n期間の入力平均ビットレートSの比を関数fに入力することで、量子化ステップ変換係数αn+1を算出する。あるいは、数16式で示すように、入力平均ビットレートSの比に代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートASを用いて量子化ステップ変換係数αn+1を算出してもよい。
数22式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。つまり、トランスコーダ1が、第n期間終了後に算出する第(n+1)期間の目標設定ビットレートTn+1を表している。具体的には、第n期間の目標設定ビットレートTから第n期間の変換済みの第2ストリームの出力平均ビットレートCを減算した値を目標差と考えると、第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTに目標差を加算することで算出されるのである。
Figure 0005076083
数22式中、kは正の係数であり、目標設定ビットレートTn+1を調整するための係数である。このように、(T−C)により、第n期間における目標との差を算出し、全体目標ビットレートTに目標差を加算することで、出力ストリームが目標ビットレートに近づくような制御を行うのである。
数22式では、第n期間の目標設定ビットレートTから第n期間の第2ストリームの出力平均ビットレートCを減算した目標差を利用しているが、この目標差をさらに調整するようにしたのが、数23式である。
Figure 0005076083
数23式において、目標差にS/Sn−1が乗算されている。S/Sn−1は、第n期間の第1ストリームの入力平均ビットレートSを、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1で除算した期間比である。つまり、目標差に期間比を乗算することで、目標差を調整しているのである。
このように目標差に期間比を乗算することで、局所的な目標差の変化を補正することができる。たとえば、第n期間の入力平均ビットレートSが局所的に第(n−1)期間と比べて小さく変化した場合には、それに伴い、目標差(T−C)が大きく変動する場合がある。このような場合にも、期間比S/Sn−1(この場合、期間比が1より小さな値となる。)を乗算することで、目標差を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。
数23式では、第n期間の第1ストリームの入力平均ビットレートSを、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1で除算した値を期間比とした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。入力平均ビットレートSn+1を先読みできる場合とは、上述したように、入力平均ビットレートSn+1に関する情報をバッファリングした上で、第(n+1)期間の目標設定ビットレートTn+1を算出できる時間的余裕がある場合である。この場合には、数23式において、期間比として、S/Sn−1に代えて、Sn+1/Sを用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
期間比として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数15式に代えて、数20式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、数23式では、期間比としてS/Sn−1を利用した。これに代えて、第n期間を含む過去M期間の期間平均ビットレートASと、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1の比を期間比として用いてもよい。つまり、数23式において、期間比として、S/Sn−1に代えて、AS/ASn−1を用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1と、第n期間を含む過去M期間の期間平均ビットレートASの比を期間比として用いてもよい。つまり、数23式において、期間比として、S/Sn−1に代えて、ASn+1/ASを用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
期間比として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数16式に代えて、数21式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、制御レート方法(C)における目標設定ビットレートTn+1の計算方法を、数22式、数23式などを用いて説明したが、これら数式を用いて説明した場合を含め、この制御レート方法(C)において説明した全ての計算方法において、第n期間の出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACを用いても良い。たとえば、数22式、数23式などにおいて、Cに代えてACを用いても良い。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
<2−4.レート制御方法(D)>
次に、レート制御方法(D)について説明する。レート制御方法(D)においても、レート制御方法(C)と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。レート制御方法(D)においては、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1の決定の方法が、レート制御方法(C)と異なる。
数24式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。第n期間の目標設定ビットレートTから第n期間の変換済みの第2ストリームの出力平均ビットレートCを減算した値を目標差として利用する点も、レート制御方法(C)と同様である。レート制御方法(C)では、この目標差に期間比を乗算することで、目標差を調整したが、数24式に示すように、レート制御方法(D)では、目標差に期間差を乗算するようにしている。
Figure 0005076083
数24式において、目標差に(S−Sn−1)が乗算されている。(S−Sn−1)は、第n期間の第1ストリームの入力平均ビットレートSから、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を減算した期間差である。つまり、目標差に期間差を乗算することで、目標差を調整しているのである。なお、数24式中、係数kは、目標設定ビットレートTn+1を調整するための正の係数である。
このように目標差に期間差を乗算することで、局所的な目標差の変化を補正することができる。たとえば、入力平均ビットレートSが次第に小さく変化しているような場合には、それに伴い、Cが小さくなる場合があり、目標差(T−C)が正の値になる。このような場合には、期間差(S−Sn−1)が負の値となり、目標設定ビットレートTn+1が大きく設定されないよう補正するのである。つまり、入力平均ビットレートSが小さく変化しているような場合には、その変化に反して、目標設定ビットレートTn+1が大きく変化しないよう制御するのである。
数24式で説明した目標設定ビットレートTn+1の算出方法では、目標差(T−C)に期間差を乗算するようにした。これに対して、数25式に示すように、目標差に期間差を加算するようにしてもよい。数25式中、hは、目標設定ビットレートTn+1を調整するための正の係数である。このように、期間差を加算することで、乗算した場合とは異なる特性で目標設定ビットレートTn+1を制御することが可能である。
Figure 0005076083
数24式では、第n期間の第1ストリームの入力平均ビットレートSから第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を減算した値を期間差とした。そして、目標差に期間差を乗算するようにした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。この場合には、数24式において、期間差として、(S−Sn−1)に代えて、(Sn+1−S)を用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
また、数25式においても、第n期間の第1ストリームの入力平均ビットレートSから第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を減算した値を期間差とした。そして、目標差に期間差を加算するようにした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。この場合には、数25式において、期間差として、(S−Sn−1)に代えて、(Sn+1−S)を用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
期間差として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数20式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、数24式、数25式では、期間差として(S−Sn−1)を利用した。これに代えて、第n期間を含む過去M期間の期間平均ビットレートASと、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1の差を期間差として用いてもよい。つまり、数24式、数25式において、期間差として、(S−Sn−1)に代えて、(AS−ASn−1)を用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1と、第n期間を含む過去M期間の期間平均ビットレートASの比を期間差として用いてもよい。つまり、数24式、数25式において、期間差として、(S−Sn−1)に代えて、(ASn+1−AS)を用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
期間差として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数21式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、レート制御方法(D)における目標設定ビットレートTn+1の計算方法を、数24式、数25式などを用いて説明したが、これら数式を用いて説明した場合を含めレート制御方法(D)で説明した全ての計算方法において、第n期間の出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACを用いても良い。たとえば、数24式、数25式などにおいて、Cに代えてACを用いても良い。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
{3.制御単位期間の決定方法}
次に、制御単位期間の決定方法を説明する。上述したように、各レート制御方法(A)〜(D)においては、量子化ステップ値Qを算出する計算過程において、制御単位期間Lにおける入力平均ビットレートSを利用した。あるいは、制御単位期間Ln−1,Ln+1における入力平均ビットレートSn−1,Sn+1を利用した。さらには、期間平均ビットレートASなどを利用した。
本実施の形態においては、上述したように、制御単位期間Lとして、基本的には、1GOP期間を利用する。しかし、1GOP内のフレーム数が少ない場合や、1GOP内のIピクチャフレームの比率が高い場合には、入力平均ビットレートSが急激に高くなる場合が発生する。そこで、本実施の形態のトランスコーダ1は、このような場合に、制御単位期間Lを補正して、入力平均ビットレートSの変動が小さくなるようにする。
<3−1.第1の実施の形態>
制御単位期間の補正方法について第1の実施の形態を説明する。デコーダ2は、まず、入力したGOPに含まれるフレーム数を取得する。そして、GOPに含まれるフレーム数が所定の閾値以上である場合には、そのGOPについては、1GOPを制御単位期間Lとする。一方、GOPに含まれるフレーム数が所定の閾値未満である場合には、その後に続くGOPを連結して、連結した2つのGOPのフレーム数が所定の閾値以上となるようにする。2つのGOPを連結してもフレーム数が所定の閾値未満である場合には、さらに、後続のGOPを連結する。このようにして、フレーム数が所定の閾値以上となるまで、GOPを連結し、連結されたGOPを1つの制御単位期間として決定するのである。
図3〜図6の例を用いて説明する。図3〜図6において、上段(A)は、入力ストリームのGOPをそのまま1対1で制御単位期間に対応させた場合の例を示す。これに対して、図3〜図6の下段(B)は、上段(A)と同じピクチャ構成の入力ストリームを入力した場合に、本実施の形態の制御単位期間の決定方法により、制御単位期間を補正した場合の例を示している。なお、図3〜図6の例においては、フレーム数の閾値を15と設定する。つまり、GOPのフレーム数が15未満の場合には、フレーム数が15以上となるまで、GOPを連結することで、制御単位期間を補正する。
図3の例について説明する。この例は、最も一般的な場合である。各GOP1〜GOP3は、15枚のフレームから構成されている。具体的には、各GOP1〜GOP3が、「IBBPBBPBBPBBPBB」という基本的なピクチャ構成となっている。そのため、図3(A)、(B)ともに、各GOP1〜GOP3が、そのまま制御単位期間L〜Lに対応している。つまり、この例の場合には、制御単位期間は1GOP単位のままであり、補正されない。
図4の例について説明する。この例では、GOP1、GOP4は、「IBBPBBPBBPBBPBB」という基本的なピクチャ構成となっており、15枚のフレームから構成されている。しかし、GOP2のピクチャ構成は、「IBB」であり、フレーム数が3である。また、GOP3のピクチャ構成は、「IBBPBBPBBPBB」であり、フレーム数が12である。
図4(A)のように、各GOP1〜GOP4が、そのまま制御単位期間L〜Lに対応する場合、制御単位期間LやLの入力平均ビットレートSやSの値が急激に高くなる。そこで、図4(B)に示すように、GOP2とGOP3とを連結して1つの制御単位期間Lと決定する。これにより、制御単位期間Lのフレーム数は15となり、入力平均ビットレートSの変動を小さくすることができる。
図5の例について説明する。この例では、GOP1、GOP3、GOP4は、「IBBPBBPBBPBBPBB」という基本的なピクチャ構成となっており、15枚のフレームから構成されている。しかし、GOP2のピクチャ構成は、「IBB」であり、フレーム数が3である。
図5(A)のように、各GOP1〜GOP4が、そのまま制御単位期間L〜Lに対応する場合、制御単位期間Lの入力平均ビットレートSの値が急激に高くなる。そこで、図5(B)に示すように、GOP2とGOP3とを連結して1つの制御単位期間Lと決定する。これにより、制御単位期間Lのフレーム数は18となり、入力平均ビットレートSの変動を小さくすることができる。このように、GOP3のフレーム数は15であり、制御単位期間としての条件を満たしているが、GOP2のフレーム数が少ないために、GOP2との連結により制御単位期間が補正される。この結果、制御単位期間Lのフレーム数が18と他の制御単位期間よりもフレーム数が多くなるが、入力平均ビットレートSの変動を小さくするという意味において問題はない。
図6の例について説明する。この例では、GOP1は、「IBBPBBPBBPBBPBB」という基本的なピクチャ構成となっており、15枚のフレームから構成されている。しかし、GOP2のピクチャ構成は、「IBB」であり、フレーム数が3である。また、GOP3のピクチャ構成は、「IBBPBBPBB」であり、フレーム数が9である。また、GOP4のピクチャ構成は、「IBBPBBPBBPBBPBBPBB」であり、フレーム数が18である。
図6(A)のように、各GOP1〜GOP4が、そのまま制御単位期間L〜Lに対応する場合、制御単位期間LやLの入力平均ビットレートSやSの値が急激に高くなる。そこで、図6(B)に示すように、GOP2とGOP3とGOP4を連結して1つの制御単位期間Lと決定する。これにより、制御単位期間Lのフレーム数は30となり、入力平均ビットレートSの変動を小さくすることができる。このように、2つのGOPを連結しても、フレーム数が閾値15に満たない場合には、さらにそれ以上のGOPを連結することで、入力平均ビットレートSの変動を抑えるのである。
なお、本実施の形態においては、GOP単位で制御単位期間を連結させる場合を説明したが、フレーム単位で制御単位期間を補正するようにしてもよい。
このように、本実施の形態においては、入力ストリームのGOPに含まれるフレーム数に応じて適応的に制御単位期間を補正する。これにより、入力平均ビットレートSの変動を抑え、一定化された入力平均ビットレートSを用いて、最適なレート制御を行うことが可能である。
<3−2.第2の実施の形態>
制御単位期間の補正方法について第2の実施の形態を説明する。デコーダ2は、まず、入力したGOPに含まれるIピクチャフレーム数を取得する。そして、GOPに含まれるIピクチャフレームの比率が所定の閾値以下である場合には、そのGOPについては、1GOPを制御単位期間Lとする。一方、GOPに含まれるIピクチャフレームの比率が所定の閾値を超える場合には、その後に続くGOPを連結して、連結した2つのGOPにおけるIピクチャフレームの比率が所定の閾値以下となるようにする。2つのGOPを連結してもIピクチャフレームの比率が所定の閾値を超える場合には、さらに、後続のGOPを連結する。このようにして、Iピクチャフレームの比率が所定の閾値以下となるまで、GOPを連結し、連結されたGOPを1つの制御単位期間として決定するのである。
図7〜図10の例を用いて説明する。図7〜図10において、上段(A)は、入力ストリームのGOPをそのまま1対1で制御単位期間に対応させた場合の例を示す。これに対して、図7〜図10の下段(B)は、上段(A)と同じピクチャ構成の入力ストリームを入力した場合に、本実施の形態の制御単位期間の決定方法により、制御単位期間を補正した場合の例を示している。なお、図7〜図10の例においては、Iピクチャフレームの比率の閾値を0.2と設定する。つまり、GOPに含まれるIピクチャフレームの比率が0.2を超える場合には、Iピクチャフレームの比率が0.2以下となるまで、GOPを連結することで、制御単位期間を補正する。
図7の例について説明する。この例は、最も一般的な場合である。各GOP1〜GOP3は、15枚のフレームから構成され、ピクチャ構成は、「IBBPBBPBBPBBPBB」である。したがって、各GOP1〜GOP3において、Iピクチャフレームの比率は、1/15≒0.07である。そのため、図7(A)、(B)ともに、各GOP1〜GOP3が、そのまま制御単位期間L〜Lに対応している。つまり、この例の場合には、制御単位期間は1GOP単位のままであり、補正されない。
図8の例について説明する。この例では、GOP1、GOP4は、「IBBPBBPBBPBBPBB」という基本的なピクチャ構成となっており、15枚のフレームから構成されており、Iピクチャフレームの比率は、1/15≒0.07である。しかし、GOP2のピクチャ構成は、「III」であり、フレーム数が3であり、Iピクチャフレームの比率が3/3=1である。また、GOP3のピクチャ構成は、「IBBPBBPBBPBB」であり、フレーム数が12である。
図8(A)のように、各GOP1〜GOP4が、そのまま制御単位期間L〜Lに対応する場合、制御単位期間Lの入力平均ビットレートSの値が急激に高くなる。そこで、図8(B)に示すように、GOP2とGOP3とGOP4を連結して1つの制御単位期間Lと決定する。GOP2とGOP3とを連結した場合にも、Iピクチャフレームの比率は4/15≒0.27であり閾値の0.2を超える。3つのGOPを連結することにより、制御単位期間Lのフレーム数は30となり、Iピクチャフレームの比率が/300.17となる。これにより、入力平均ビットレートSの変動を小さくすることができる。
図9の例について説明する。この例では、GOP1、GOP4は、「IBBPBBPBBPBBPBB」という基本的なピクチャ構成となっており、15枚のフレームから構成されている。しかし、GOP2のピクチャ構成は、「IPPIPP」であり、Iピクチャフレームの比率が2/6≒0.33である。また、GOP3のピクチャ構成は、「IBBPBBPBBPBB」である。
図9(A)のように、各GOP1〜GOP4が、そのまま制御単位期間L〜Lに対応する場合、制御単位期間Lの入力平均ビットレートSの値が急激に高くなる。そこで、図9(B)に示すように、GOP2とGOP3とを連結して1つの制御単位期間Lと決定する。これにより、制御単位期間LのIピクチャフレームの比率は3/18≒0.17となり、入力平均ビットレートSの変動を小さくすることができる。
図10の例について説明する。この例では、GOP1、GOP4は、「IBBPBBPBBPBBPBB」という基本的なピクチャ構成となっており、15枚のフレームから構成されている。GOP2のピクチャ構成は、「IPPPPP」であるが、Iピクチャフレームの比率は1/6≒0.17であり閾値0.2以下である。また、GOP3のピクチャ構成は、「IBBPBBPBB」であり、Iピクチャフレームの比率は0.2以下である。そのため、図10(A)、(B)ともに、各GOP1〜GOP4が、そのまま制御単位期間L〜Lに対応している。
なお、この実施の形態で用いた閾値0.2は一例である。入力ストリームのビットレートやピクチャ構成に応じて、適宜、最適な値を選択すればよい。また、本実施の形態においては、GOP単位で制御単位期間を連結させる場合を説明したが、フレーム単位で制御単位期間を補正するようにしてもよい。
このように、本実施の形態においては、入力ストリームのGOPに含まれるIピクチャフレームの比率に応じて適応的に制御単位期間を補正する。これにより、入力平均ビットレートSの変動を抑え、一定化された入力平均ビットレートSを用いて、最適なレート制御を行うことが可能である。
<3−3.変形例>
次に、変形例について説明する。この変形例は、上記第2の実施の形態に対する変形例である。第2の実施の形態においては、GOPを構成する全フレーム枚数に対するIピクチャフレームの枚数をIピクチャの比率とした。GOPを構成するI、P、Bピクチャフレームのビット比率は、MPEG2においては、一般的には、I:P:B=5:3:1である。この変形例では、GOPを構成するI、P、Bピクチャフレームの枚数に、それぞれ重み付けとしてビット比率を乗算して重み付け枚数を求め、この重み付け枚数によりIピクチャフレームの比率を求める。
重み付けを加味することで、Iピクチャフレームの比率は全般的に高くなるので、閾値としては、第2の実施の形態で使用した0.2より大きめの値を設定すればよい。例えば、0.22〜0.24などが考えられる。
たとえば、図10の例であれば、GOP2については、第2の実施の形態においては、Iピクチャフレームの比率は、1/6≒0.17であり、制御単位期間の条件を満たしていた。これに対して、重み付けを加味した場合、Iピクチャフレームの枚数は1×5=5枚であり、Pピクチャフレームの枚数は5×3=15である。したがって、GOP2の重み付け全フレーム枚数は20枚であり、GOP2におけるIピクチャフレームの重み付け比率は、5/20=0.25となる。
そこで、GOP2とGOP3を連結した制御単位期間を考える。GOP3において、Iピクチャフレームの重み付け枚数は、1×5=5枚であり、Pピクチャフレームの重み付け枚数は3×3=9枚であり、Bピクチャフレームの重み付け枚数は、8×1=8枚である。したがって、GOP3の重み付け全フレーム枚数は22枚であり、Iピクチャフレームの重み付け枚数は5枚である。GOP2とGOP3を連結した制御単位期間では、重み付け全フレーム枚数は42枚であり、Iピクチャフレームの重み付け枚数は10枚であるので、Iピクチャフレームの重み付け比率は10/42≒0.24となる。
したがって、閾値が0.24に設定されていれば、GOP2とGOP3とを連結した期間を制御単位期間として補正すればよい。閾値が0.24よりも小さい場合には、さらに、GOP4と連結させればよい。
このように、I、P、Bピクチャフレームのビット比率を用いて重み付けをすることにより、さらに入力平均ビットレートSの変動を小さく抑えることができる。
トランスコーダのブロック図である。 入力ストリーム(第1ストリーム)と出力ストリーム(第2ストリーム)の情報を制御単位期間ごとに示した図である。 第1の実施の形態に係る制御単位期間の補正方法(補正されない場合の例)を示す図である。 第1の実施の形態に係る制御単位期間の補正方法を示す図である。 第1の実施の形態に係る制御単位期間の補正方法を示す図である。 第1の実施の形態に係る制御単位期間の補正方法を示す図である。 第2の実施の形態に係る制御単位期間の補正方法(補正されない場合の例)を示す図である。 第2の実施の形態に係る制御単位期間の補正方法を示す図である。 第2の実施の形態に係る制御単位期間の補正方法を示す図である。 第2の実施の形態に係る制御単位期間の補正方法を示す図である。
符号の説明
1 トランスコーダ
2 デコーダ
3 エンコーダ
AC 期間平均ビットレート
AS 期間平均ビットレート
出力平均ビットレート
制御単位期間
P 量子化ステップ値
Q 量子化ステップ値
S 入力全体ビットレート
入力平均ビットレート
T 全体目標ビットレート
目標設定ビットレート
α 量子化ステップ変換係数

Claims (11)

  1. 第1のストリームを第2のストリームに変換するトランスコーダであって、
    制御単位期間を決定する期間決定手段と、
    決定された制御単位期間ごとの第1のストリームのビットレートを取得する手段と、
    取得した制御単位期間ごとの第1のストリームのビットレートを含む第1のストリームの情報を用いて、第2のストリームの量子化ステップ値を算出する量子化ステップ値算出手段と、
    を備え、
    前記期間決定手段は、各制御単位期間が所定のフレーム数以上となるよう各制御単位期間を決定することを特徴とするトランスコーダ。
  2. 請求項1に記載のトランスコーダにおいて、
    前記期間決定手段は、GOP内のフレーム数が所定のフレーム数以上である場合には、GOPを制御単位期間として決定し、GOP内のフレーム数が所定のフレーム数未満である場合には、所定のフレーム数以上となるまで複数のGOPを連結し、連結された複数のGOPを制御単位期間として決定することを特徴とするトランスコーダ。
  3. 請求項1または請求項2に記載のトランスコーダにおいて、さらに、
    第N+1期間の第2のストリームの目標ビットレートと第N期間以前の第1のストリームのビットレートとの比に基づいて第N+1期間の期間変換係数を算出する期間変換係数算出手段、
    を備え、
    前記量子化ステップ値算出手段は、
    第N+1期間の第1のストリームの量子化ステップ値に前記期間変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段、
    を含むことを特徴とするトランスコーダ。
  4. 請求項3に記載のトランスコーダにおいて、さらに、
    第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートと、第N期間の第2のストリームの目標ビットレートに基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段、
    を備えることを特徴とするトランスコーダ。
  5. 請求項4に記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートと第N期間の第2のストリームの目標ビットレートとの比を目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートと前記目標比との比に基づいて第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
  6. 請求項5に記載のトランスコーダにおいて、
    第N−1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とするトランスコーダ。
  7. 請求項5に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N+1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とするトランスコーダ。
  8. 請求項4に記載のトランスコーダにおいて、
    第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値を目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記目標差を加算することで、第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
  9. 請求項8に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  10. 請求項8に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  11. 請求項8に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。
JP2008042427A 2008-02-25 2008-02-25 トランスコーダ Expired - Fee Related JP5076083B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008042427A JP5076083B2 (ja) 2008-02-25 2008-02-25 トランスコーダ
US12/360,350 US20090213928A1 (en) 2008-02-25 2009-01-27 Transcoder
US13/401,198 US9071837B2 (en) 2008-02-25 2012-02-21 Transcoder for converting a first stream to a second stream based on a period conversion factor
US14/706,126 US9749637B2 (en) 2008-02-25 2015-05-07 Transcoder for conversion by obtaining a period conversion factor from a bit rate ratio

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008042427A JP5076083B2 (ja) 2008-02-25 2008-02-25 トランスコーダ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012005457A Division JP5076085B2 (ja) 2012-01-13 2012-01-13 トランスコーダ

Publications (2)

Publication Number Publication Date
JP2009200994A JP2009200994A (ja) 2009-09-03
JP5076083B2 true JP5076083B2 (ja) 2012-11-21

Family

ID=40998271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008042427A Expired - Fee Related JP5076083B2 (ja) 2008-02-25 2008-02-25 トランスコーダ

Country Status (2)

Country Link
US (3) US20090213928A1 (ja)
JP (1) JP5076083B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160156B2 (en) * 2006-02-01 2012-04-17 Verint Systems, Inc. System and method for controlling the long term generation rate of compressed data
JP5050158B2 (ja) * 2008-06-02 2012-10-17 株式会社メガチップス トランスコーダ
CN103686184B (zh) * 2013-11-18 2017-05-17 深圳市云宙多媒体技术有限公司 一种转码中帧类别的调整方法和系统
TWI519967B (zh) * 2015-03-25 2016-02-01 財團法人工業技術研究院 雲端運算資源動態分配系統及其方法
CN108235059A (zh) * 2018-03-09 2018-06-29 网宿科技股份有限公司 一种分配转码任务的方法和系统
CN108600758A (zh) * 2018-03-26 2018-09-28 南京地铁建设有限责任公司 基于城市轨道乘客信息系统的i帧高突发码流整形方法
CN110913245A (zh) * 2019-11-08 2020-03-24 网宿科技股份有限公司 一种控制视频转码码率的方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006074635A (ja) 2004-09-06 2006-03-16 Hitachi Ltd 符号化映像信号変換方法及び装置
JP4207072B2 (ja) * 2006-04-07 2009-01-14 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4624321B2 (ja) * 2006-08-04 2011-02-02 株式会社メガチップス トランスコーダおよび符号化画像変換方法
JP4790669B2 (ja) 2007-07-05 2011-10-12 株式会社メガチップス トランスコーダ
JP5098043B2 (ja) 2008-02-26 2012-12-12 株式会社メガチップス トランスコーダ
JP5050158B2 (ja) 2008-06-02 2012-10-17 株式会社メガチップス トランスコーダ
JP5550032B2 (ja) 2008-08-05 2014-07-16 株式会社メガチップス トランスコーダ

Also Published As

Publication number Publication date
US9749637B2 (en) 2017-08-29
JP2009200994A (ja) 2009-09-03
US9071837B2 (en) 2015-06-30
US20150237349A1 (en) 2015-08-20
US20120147969A1 (en) 2012-06-14
US20090213928A1 (en) 2009-08-27

Similar Documents

Publication Publication Date Title
JP5076083B2 (ja) トランスコーダ
JP4624321B2 (ja) トランスコーダおよび符号化画像変換方法
JP2005065291A (ja) ビデオエンコーダのエンコーディング率制御方法、ビデオデータの伝送方法、ビデオエンコーダのエンコーディング率制御器、及びビデオデータ伝送システム
JP4790669B2 (ja) トランスコーダ
JP2003018603A (ja) 動画像符号化方法及び装置
JP5900163B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4784650B2 (ja) 符号化装置、目標符号量調整方法及び記録媒体
US20110317756A1 (en) Coding device, imaging device, coding transmission system, and coding method
JP5098043B2 (ja) トランスコーダ
JP5550032B2 (ja) トランスコーダ
JP6259273B2 (ja) 動画像符号化装置、符号化量制御方法およびプログラム
WO2012081193A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP5050158B2 (ja) トランスコーダ
JP5256803B2 (ja) トランスコーダ
JP5076085B2 (ja) トランスコーダ
JP5391294B2 (ja) トランスコーダ
JP5232898B2 (ja) トランスコーダ
JP5050159B2 (ja) エンコーダ
JP2008252225A (ja) 動画像符号化装置及び方法
JP5412588B2 (ja) トランスコーダ
JP5495156B2 (ja) トランスコーダ
JP4239734B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120113

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120717

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

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5076083

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees