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

トランスコーダ Download PDF

Info

Publication number
JP2009017314A
JP2009017314A JP2007177738A JP2007177738A JP2009017314A JP 2009017314 A JP2009017314 A JP 2009017314A JP 2007177738 A JP2007177738 A JP 2007177738A JP 2007177738 A JP2007177738 A JP 2007177738A JP 2009017314 A JP2009017314 A JP 2009017314A
Authority
JP
Japan
Prior art keywords
period
bit rate
stream
target
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007177738A
Other languages
English (en)
Other versions
JP4790669B2 (ja
Inventor
Hiroshi Hasegawa
弘 長谷川
Miyuki Yanagida
みゆき 柳田
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.)
NTT Electronics Corp
MegaChips Corp
Original Assignee
NTT Electronics Corp
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 NTT Electronics Corp, MegaChips Corp filed Critical NTT Electronics Corp
Priority to JP2007177738A priority Critical patent/JP4790669B2/ja
Priority to US12/144,098 priority patent/US7714751B2/en
Publication of JP2009017314A publication Critical patent/JP2009017314A/ja
Application granted granted Critical
Publication of JP4790669B2 publication Critical patent/JP4790669B2/ja
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/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/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/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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】ストリームの出力に遅延を生じさせることなく、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御することを目的とする。
【解決手段】トランスコーダ1は、第2のストリーム全体の全体目標ビットレートTと第1のストリーム全体の入力全体ビットレートSとの比に基づいて基準変換係数αを算出し、第2のストリーム全体の全体目標ビットレートTと、第N期間の変換済みの第2のストリームの出力平均ビットレートCとから変動係数を算出する。次に、基準変換係数αに変動係数を加算することで、次の第N+1期間の量子化ステップ変換係数αn+1を算出する。そして、第N+1期間の第1のストリームの量子化ステップ値Pに量子化ステップ変換係数αn+1を乗算することで、第N+1期間の第2のストリームの量子化ステップ値Qを算出する。
【選択図】図1

Description

本発明は、入力ストリームをデコードして異なる出力ストリームに変換するトランスコーダに関し、詳しくは、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御する技術に関する。
デジタル放送で配信される画像や、DVD、ハードディスクなどに格納される画像などは、各種の符号化方式に従って圧縮される。これは、伝送帯域を圧迫しないため、伝送速度を上げるため、あるいは、記憶サイズを小さくするなどの目的のためである。
画像の符号化方式には、MPEG2やH.264など様々な規格が存在する。そして、入力した符号化画像の符号量を削減するなどの目的で符号化方式の変換が行われる場合がある。トランスコーダは、入力した符号化画像を一旦デコードする。そして、トランスコーダは、デコードした画像を、再び異なる符号化方式(あるいは同じ符号化方式)で符号化する。このようにして、トランスコーダは、出力ストリームのビットレートを制御するのである。
下記特許文献1は、第1の圧縮符号化方式で圧縮された画像を第2の圧縮符号化方式で圧縮された画像に変換するトランスコーダに関するものである。このトランスコーダは、第1の圧縮符号化方式で圧縮された画像を復号する際に発生する中間情報を用いて、第2の圧縮符号化方式で画像を圧縮するようにしている。
特開2006−74635号公報
従前から行なわれているレート制御技術では、既知のフォーマット(フレームレート/画像サイズ)の画像データを入力としている。また、目標ビットレートやGOPピクチャ構成(IBBP・・・)といった符号化のためのパラメータは、ユーザにより意図的に決定され、これらパラメータが決定された上で、符号化が開始される。
つまり、あるシーケンスの符号化を行なう前に、これらの情報が既知のパラメータとして与えられるものであり、かつ、そのシーケンスの符号化中にこれらのパラメータが変わることはない。よって、レートを制御するためのビット割り当てを、ある程度、事前に計画的に行なうことが可能である。
一方、トランスコーダにおけるレート制御においては、出力ストリーム全体の目標ビットレートがユーザにより設定されるが、入力ストリームの諸元、つまり画像サイズ(フォーマット) /フレームレート/GOPピクチャ構成/ビットレートなどは、入力ストリームのあるまとまった単位(例えばシーケンスヘッダ、ピクチャヘッダ、1つのGOP全体)をデコードするまで知ることができない。また、入力ストリームは複数の異なるストリームをカット&ペースト編集したものである場合もある。この場合は途中で上記の入力ストリームの諸元が変化する場合がある。これに対しては、入力ストリームをある程度先読みして(バッファリングして)、入力ストリームのデコード過程で得られる情報を獲得してから再エンコード処理を行うことで解決可能であるが、先読みしなければならないストリームの分だけ出力に遅延が生じてしまう。そのため1パスで実時間でトランスコードを行なう場合は、出力ストリームのビットレートを平均化するには、従来の技術とは異なった仕組みが必要となる。
そこで、本発明は前記問題点に鑑み、ストリームの出力に遅延を生じさせることなく、出力ストリームの発生符号量を目標ビットレートに向けて適正に制御することを目的とする。
上記課題を解決するため、請求項1記載の発明は、第1のストリームを第2のストリームに変換するトランスコーダであって、第1のストリーム全体のビットレートを取得する手段と、第2のストリーム全体の目標ビットレートを設定する手段と、第2のストリーム全体の目標ビットレートと第1のストリーム全体のビットレートとの比に基づいて基準変換係数を算出する手段と、第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートとから変動係数を算出する変動係数算出手段と、前記基準変換係数に前記変動係数を加算することで、次の第N+1期間の期間変換係数を算出する手段と、第N+1期間の第1のストリームの量子化ステップ値に前記期間変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、を備えることを特徴とする。
請求項2記載の発明は、請求項1に記載のトランスコーダにおいて、前記変動係数算出手段は、第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて前記変動係数を算出する手段、を含むことを特徴とする。
請求項3記載の発明は、請求項1に記載のトランスコーダにおいて、前記変動係数算出手段は、第2のストリーム全体の目標ビットレートの対数値と、第N期間以前の変換済みの第2のストリームのビットレートの対数値との差に基づいて前記変動係数を算出する手段、を含むことを特徴とする。
請求項4記載の発明は、請求項1に記載のトランスコーダにおいて、前記変動係数算出手段は、第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートとを入力し、前記変動係数を出力するルックアップテーブル、を含むことを特徴とする。
請求項5記載の発明は、請求項1ないし請求項4のいずれかに記載のトランスコーダにおいて、前記変動係数算出手段は、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートを用いることを特徴とする。
請求項6記載の発明は、請求項1ないし請求項4のいずれかに記載のトランスコーダにおいて、前記変動係数算出手段は、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートを用いることを特徴とする。
請求項7記載の発明は、請求項1ないし請求項6のいずれかに記載のトランスコーダにおいて、前記変動係数算出手段は、算出した前記変動係数を、さらに、第N期間の第1のストリームのビットレートで除算することで前記変動係数を調整することを特徴とする。
請求項8記載の発明は、請求項1ないし請求項6のいずれかに記載のトランスコーダにおいて、前記変動係数算出手段は、算出した前記変動係数を、さらに、第N期間を含む過去複数期間の第1のストリームの平均ビットレートで除算することで前記変動係数を調整することを特徴とする。
請求項9記載の発明は、第1のストリームを第2のストリームに変換するトランスコーダであって、第2のストリーム全体の目標ビットレートを設定する手段と、第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートと、第N期間の第2のストリームの目標ビットレートに基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段と、を備えることを特徴とする。
請求項10記載の発明は、請求項9に記載のトランスコーダにおいて、第N期間以前の第1のストリームのビットレートを取得する手段と、決定された第N+1期間の第2のストリームの目標ビットレートと第N期間以前の第1のストリームのビットレートとの比に基づいて第N+1期間の期間変換係数を算出する期間変換係数算出手段と、第N+1期間の第1のストリームの量子化ステップ値に前記期間変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、を備えることを特徴とする。
請求項11記載の発明は、請求項10に記載のトランスコーダにおいて、前記期間変換係数算出手段は、第N期間以前の第1のストリームのビットレートとして、第N期間の第1のストリームのビットレートを用いることを特徴とする。
請求項12記載の発明は、請求項10に記載のトランスコーダにおいて、前記期間変換係数算出手段は、第N期間以前の第1のストリームのビットレートとして、第N期間を含む過去複数期間の第1のストリームの平均ビットレートを用いることを特徴とする。
請求項13記載の発明は、請求項9ないし請求項12のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートと第N期間の第2のストリームの目標ビットレートとの比を目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートと前記目標比との比に基づいて第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
請求項14記載の発明は、請求項9ないし請求項12のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートと第N期間の第2のストリームの目標ビットレートとの比に基づいて算出される値を目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートと前記目標比との比に基づいて第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
請求項15記載の発明は、請求項13または請求項14に記載のトランスコーダにおいて、第N−1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とする。
請求項16記載の発明は、請求項13または請求項14に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N+1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とする。
請求項17記載の発明は、請求項13または請求項14に記載のトランスコーダにおいて、第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とする。
請求項18記載の発明は、請求項13または請求項14に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とする。
請求項19記載の発明は、請求項13ないし請求項18のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とする。
請求項20記載の発明は、請求項13ないし請求項18のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とする。
請求項21記載の発明は、請求項9ないし請求項12のいずれかに記載のトランスコーダにおいて、第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値を目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記目標差を加算することで、第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とする。
請求項22記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項23記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項24記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項25記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項26記載の発明は、請求項21ないし請求項25のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とする。
請求項27記載の発明は、請求項21ないし請求項25のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とする。
請求項28記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項29記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項30記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項31記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項32記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項33記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項34記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項35記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項36記載の発明は、請求項28ないし請求項35のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とする。
請求項37記載の発明は、請求項28ないし請求項35のいずれかに記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とする。
請求項38記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項39記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項40記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項41記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とする。
請求項42記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項43記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項44記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項45記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項46記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項47記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項48記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とする。
請求項49記載の発明は、請求項21に記載のトランスコーダにおいて、第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記期間変換係数算出手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とする。
請求項50記載の発明は、請求項14に記載のトランスコーダにおいて、第N期間以前の変換済みの第2のストリームのビットレートと第N期間の第2のストリームの目標ビットレートとの比が1である領域を境界として、算出される目標比の変化率が非対称であることを特徴とする。
請求項51記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差が0である領域を境界として、算出される目標差の変化率が非対称であることを特徴とする。
請求項52記載の発明は、請求項13、請求項14、請求項21に記載のトランスコーダにおいて、さらに、算出された第N+1期間の第2のストリームの目標ビットレートの上限値あるいは下限値を設定する手段、を備えることを特徴とする。
請求項53記載の発明は、請求項1、請求項13、請求項14、請求項21のいずれかに記載のトランスコーダにおいて、さらに、前記期間変換係数の上限値あるいは下限値を設定する手段、を備えることを特徴とする。
請求項54記載の発明は、請求項1、請求項13、請求項14、請求項21のいずれかに記載のトランスコーダにおいて、第1のストリームのビットレートが変動した場合、前記期間変換係数を再計算することを特徴とする。
請求項55記載の発明は、請求項1、請求項13、請求項14、請求項21のいずれかに記載のトランスコーダにおいて、第2のストリーム全体の目標ビットレートが適応的に変化し、それに応じて前記期間変換係数が再計算されることを特徴とする。
請求項56記載の発明は、請求項13または請求項14に記載のトランスコーダにおいて、第N−1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を第1期間比、第N期間の第1のストリームのビットレートと第N+1期間の第1のストリームのビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標比を調整することを特徴とする。
請求項57記載の発明は、請求項13または請求項14に記載のトランスコーダにおいて、第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第1期間比、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標比を調整することを特徴とする。
請求項58記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を第1期間比、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標差を調整することを特徴とする。
請求項59記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第1期間比、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標差を調整することを特徴とする。
請求項60記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を第1期間差、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して乗算し、前記目標差を調整することを特徴とする。
請求項61記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を第1期間差、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して加算し、前記目標差を調整することを特徴とする。
請求項62記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第1期間差、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して乗算し、前記目標差を調整することを特徴とする。
請求項63記載の発明は、請求項21に記載のトランスコーダにおいて、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第1期間差、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して加算し、前記目標差を調整することを特徴とする。
請求項64記載の発明は、請求項50または請求項51に記載のトランスコーダにおいて、前記変化率として複数のパターンが用意されており、画像の複雑さに応じて前記変化率が選択されることを特徴とする。
請求項65記載の発明は、請求項9に記載のトランスコーダにおいて、決定された第N+1期間の目標設定ビットレートを外部パラメータにより調整することを特徴とする。
請求項1記載のトランスコーダは、基準変換係数と変動係数を用い、第N+1期間の期間変換係数を算出する。そして、第N+1期間の第1のストリームの量子化ステップ値に期間変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する。変動係数は、変換済みの第2ストリームのビットレートを加味して決定されるので、第2のストリームを目標ビットレートに向けて適正に制御することが可能である。
請求項9記載のトランスコーダは、第2のストリーム全体の目標ビットレートと、変換済みの第N期間の第2のストリームのビットレートと、第N期間の第2のストリームの目標ビットレートに基づいて第N+1期間の第2のストリームの目標ビットレートを決定する。制御単位期間ごとに目標設定ビットレートを決定することで、第2のストリームを目標ビットレートに向けて適正に制御することが可能である。
また、請求項13記載のトランスコーダは、第N期間以前の変換済みの第2のストリームのビットレートと第N期間の第2のストリームの目標ビットレートとの比から目標比を求め、この目標比を加味して、次の期間の目標設定ビットレートを算出する。これにより、目標設定ビットレートが目標に追従するように適正に制御される。
また、請求項21記載のトランスコーダは、第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値を目標差とし、この目標差を加味して、次の期間の目標設定ビットレートを算出する。これにより、目標設定ビットレートが目標に追従するように適正に制御される。
以下、図面を参照しつつ本発明の実施の形態について説明する。図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ストリームのレート制御を最適に行えるよう本発明は工夫されている。
なお、この後説明する第1〜第5の実施の形態における各演算処理は、デコーダ2およびエンコーダ3において実行される演算処理であるが、デコーダ2およびエンコーダ3における各演算処理は、ハードウェアにより実現されてもよいし、ソフトウェア処理により実現されていてもよい。つまり、デコーダ2およびエンコーダ3は、ハードウェア回路として構成されていてもよいし、CPUとメモリに格納されたプログラムとで構成されていてもよい。あるいは、一部の処理がハードウェアで処理され、一部の処理がソフトウェアで処理される形態であってもよい。
図2は、トランスコーダ1が入出力するストリームの制御単位期間ごとの情報を表した図である。トランスコーダ1は、処理時間軸を制御単位期間L(n=1,2・・・)に区分し、この制御単位期間Lを処理単位としてレート制御を行う。以下の説明において、適宜、制御単位期間Lを第n期間と呼ぶことにする。制御単位期間Lとしては、1フレーム、連続する複数フレーム、1GOP、連続する複数GOPなどを1単位期間として設定することが可能である。
第1ストリームの入力全体ビットレートSは、シーケンスヘッダなどから取得される。入力平均ビットレートSは、第n期間における第1ストリームの平均ビットレートである。トランスコーダ1は、バッファを備えており、M期間分の入力平均ビットレートSnに関する情報を格納可能としている。つまり、バッファは、第(n−M+1)期間から第n期間までの入力平均ビットレートSに関する情報を格納可能としている。そして、期間平均ビットレートASは、第(n−M+1)期間から第n期間における入力平均ビットレートSを平均した値である。期間平均ビットレートASは、数1式で表される。
Figure 2009017314
デコーダ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フレーム、連続する過去複数フレーム、過去1GOP、連続する過去複数GOPなどをバッファ期間として設定することが可能である。
Figure 2009017314
また、量子化ステップ変換係数αは、第(n−1)期間の終了時に算出される係数である。第1ストリームの量子化ステップ値そのもの、あるいは第1ストリームの量子化ステップ値から計算される値Pに、量子化ステップ変換係数αを乗算することで、第2ストリームの量子化ステップ値Qが決定される。この関係を数3式に示す。
Figure 2009017314
ここで、量子化ステップ変換係数αの初期値αは、数4式で与えられる。つまり、第2ストリームの全体目標ビットレートTを第1ストリームの入力全体ビットレートSで除算した値、つまりビットレート比を関数fに入力することによって、量子化ステップ変換係数の初期値αを求めている。
Figure 2009017314
ここで、関数fは、ビットレートの比から量子化ステップ値の比を求める関数であり、ビットレートの比をR、量子化ステップ値の比をRとすると、一般的に、数5式で表される。
Figure 2009017314
関数fの具体例を説明する。本実施の形態では、数6式に示すように、ピクチャあるいはマクロブロックのタイプI、P、B(Iピクチャ、Pピクチャ、Bピクチャ)それぞれに異なる特性で量子化ステップ値の比を制御できる関数を利用している。数6式中、f(x)、f(x)、f(x)は、それぞれI、P、Bピクチャに対応して適応される関数を示している。
Figure 2009017314
数6式においては、MPEG2からH.264へストリーム変換する場合のε、ε、ε、δ、δ、δの値として、実験等に基づいて算出された具体的数値を例示した。つまり、実験の結果、ε=2.1、ε=2.1、ε=1.3、δ=1.1、δ=0.8、δ=0.9とすることで、良好な特性が得られた。これ以外に、入力ストリームをデコードする際に得られる画像の特徴量を利用して、ε、δの値を決定するようにしてもよい。たとえば、数7式に示すように、入力ストリームのActivity値(act値)や、動き評価値(sad値)に基づいてε、δの値を決定するようにしてもよい。
Figure 2009017314
数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 2009017314
数8式中、ε(ILn)、ε(ILn)、ε(ILn)、−δ(ILn)、−δ(ILn)、−δ(ILn)は、それぞれ、画像の特徴量ILnをパラメータとして、係数ε、δが決定されることを示している。
{第1の実施の形態}
次に、第2ストリームの量子化ステップ値Qを算出するための量子化ステップ変換係数αの算出方法について、本発明に係る第1の実施の形態を説明する。トランスコーダ1は、第n期間経過時において、量子化ステップ変換係数αn+1を算出する。
数9式は、量子化ステップ変換係数αn+1を算出するための数式を示している。数9式中、(T−C)は、第2ストリームの全体目標ビットレートTから変換済みの第n期間における出力平均ビットレートCを減算したものである。この値を変動係数と呼ぶことにする。kは、変動係数を調整する調整係数であり、正の値が用いられる。
Figure 2009017314
このように、数4式で求められたαに対して、変動係数を加算することで、量子化ステップ値の比が目標へと近づくように調整するのである。この意味で、量子化ステップ変換係数の初期値αは、基準変換係数と呼ぶことができる。
数9式を用いて、量子化ステップ変換係数αn+1が算出されると、数3式により、第2ストリームの第(n+1)期間における量子化ステップ値Qが求められるのである。
このように、第1の実施の形態では、基準変換係数である初期値αに、変動係数を加算することで、第(n+1)期間における量子化ステップ変換係数αn+1を求めた。そして、数9式では、変動係数として、第2ストリームの全体目標ビットレートTから変換済みの第n期間における出力平均ビットレートCを減算したものを利用した。これ以外の方法として、数10式に示すように、第2ストリームの全体目標ビットレートTの対数値から変換済みの第n期間における出力平均ビットレートCの対数値を減算したものを変動係数として用いても良い。数10式中、kは、変動係数を調整する調整係数であり、正の値が用いられる。
Figure 2009017314
数10式を用いて変動係数を算出するメリットは、目標ビットレートと変換済みのビットレートとの差が局所的に大きくなった場合でも、量子化ステップ変換係数が、大きく変動しないよう制御できることである。
量子化ステップ変換係数を、より精度よく制御するためには、ルックアップテーブルを用いるようにすればよい。数11式におけるωは、第2ストリームの全体目標ビットレートTおよび変換済みの第n期間における出力平均ビットレートCを入力として、変動係数を出力するルックアップテーブルを表している。これにより、実験等を通じて、より最適な変動係数を割り当てるようにすることができる。
Figure 2009017314
上記数9式において変動係数を算出する際、第n期間における出力平均ビットレートCを用いた。ここで、数12式で示すように、出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間における期間平均ビットレートACを用いても良い。
Figure 2009017314
これにより、局所的なCの変化に大きく左右されることなく、変動係数を緩やかに制御することができる。同様に、数10式、数11式においても、出力平均ビットレートCに代えて、期間平均ビットレートACnを用いても良い。
また、上記数9式において変動係数を算出する際、第2ストリームの全体目標ビットレートTから変換済みの第n期間における出力平均ビットレートCを減算したものを採用した。ここで、数13式に示すように、減算値をさらに第1のストリームの第n期間における入力平均ビットレートSで除算するようにしてもよい。
Figure 2009017314
これにより、第1ストリームのビットレートが局所的に大きく変化した場合などに、変動係数が大きく影響を受けることを回避できるのである。同様に、数10式、数11式においても、対数の減算値あるいはルックアップテーブルの出力をさらに入力平均ビットレートSで除算するようにしてもよい。
さらに、数12式と数13式を用いて説明した変動係数の算出方法の両方の考え方を取り入れるようにしてもよい。つまり、数14式に示すように、出力平均ビットレートCに代えて、期間平均ビットレートACを用い、さらに、減算値を入力平均ビットレートSで除算するのである。これにより、変動係数をより緩やかに制御することができる。同様に、数10式、数11式においても、出力平均ビットレートCに代えて、期間平均ビットレートACを用い、さらに、対数の減算値あるいはルックアップテーブルの出力を入力平均ビットレートSで除算するようにしてもよい。
Figure 2009017314
また、数13式では、全体目標ビットレートTから出力平均ビットレートCを減算し、その減算値をビットレートSで除算するようにした。これに代えて、数15式に示すように、減算値を、第(n−M+1)期間から第n期間における第1ストリームの期間平均ビットレートASで除算するようにしてもよい。これにより、第1ストリームのビットレートの局所的変換に影響されることなく、より緩やかに変動係数を制御することができる。同様に、数10式、数11式においても、対数の減算値あるいはルックアップテーブルの出力を期間平均ビットレートASで除算するようにしてもよい。
Figure 2009017314
また、数16式で示したように、出力平均ビットレートCに代えて、期間平均ビットレートACを用い、入力平均ビットレートSに代えて、期間平均ビットレートASを用いても良い。これにより、さらに緩やかに変動係数を制御することが可能である。同様に、数10式、数11式においても、出力平均ビットレートCに代えて、期間平均ビットレートACを用い、さらに、対数の減算値あるいはルックアップテーブルの出力を期間平均ビットレートASで除算するようにしてもよい。
Figure 2009017314
{第2の実施の形態}
次に、本発明の第2の実施の形態について説明する。第2の実施の形態においても、量子化ステップ変換係数を算出し、数3式を用いて、第2ストリームの量子化ステップ値Qを算出する。ただし、量子化ステップ変換係数の算出方法が第1の実施の形態とは異なる。第1の実施の形態では、量子化ステップ変換係数の初期値αを求め、これを基準変換係数として、基準変換係数からの変動を順次求めていくこととした。これに対して、第2の実施の形態においては、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出するのである。
第(n+1)期間の目標設定ビットレートTn+1が決定すると、数5式を用いて説明した場合と同様の方法で、量子化ステップ変換係数αn+1が算出される。つまり、数6式〜数8式で例示したような関数fを利用して、量子化ステップ変換係数αn+1が算出される。具体的には、数17式で示すように、第(n+1)期間の目標設定ビットレートTn+1と第n期間の入力平均ビットレートSの比を関数fに入力することで、量子化ステップ変換係数αn+1を算出する。
Figure 2009017314
あるいは、数18式で示すように、第n期間における入力平均ビットレートSに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートASを用いて量子化ステップ変換係数αn+1を算出してもよい。
Figure 2009017314
数19式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。つまり、トランスコーダ1が、第n期間終了後に算出する第(n+1)期間の目標設定ビットレートTn+1を示している。具体的には、第n期間の変換済みの第2ストリームの出力平均ビットレートCを第n期間の目標設定ビットレートTで除算した値を目標比と考えると、第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTを目標比で除算することで算出されるのである。
Figure 2009017314
数19式中、kは正の係数であり、目標設定ビットレートTn+1を調整するための係数である。このように、C/Tにより第n期間における目標との比を算出し、全体目標ビットレートTを目標比で除算することで第(n+1)期間の目標設定ビットレートTn+1を調整し、全体として目標ビットレートに近づくよう制御するのである。
数19式では、C/Tを目標比としてそのまま利用しているが(係数kは乗算しているが)、数20式で示すように、C/Tを関数θに入力することで、目標比を求めるようにしてもよい。
Figure 2009017314
数20式で示すように、関数θにC/Tを入力し、全体目標ビットレートT、関数θの出力を用いて目標設定ビットレートTn+1を算出するのである。数20式中、kは、目標設定ビットレートTn+1を調整するための正の係数である。数21式は、関数θの具体例を示す式である。
Figure 2009017314
数21式中の、a、a、b、b、c、cの関係を、数22式に示す。また、このような条件で表される関数θの特性を図3に示す。
Figure 2009017314
このように関数θは、入力値が1の近傍では、その出力も“1”から大きく変動しないような特性を持っている。そして、入力値がある閾値よりも大きくなったところから(あるいはある閾値よりも小さくなったところから)、線形的にその出力値も変動するような特性を持っている。数21式、数22式で示した具体例であれば、入力値が(1+c)より大きくなるか、(1−c)より小さくなったところから出力値の変動も大きくなる。
このような関数θを用いることで、(C/T)が、少し“1”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。目標比が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、目標に対する最適な追従が行えるように制御するのである。
図3で示した例では、関数θは左右対称((1,1)点について点対称)の特性をもっている。つまり、(C/T)の値が1である領域を境界にして、変化率が対称となっている。より具体的には、(C/T)の値が1より大きいときの目標比の上昇率と、1より小さいときの目標比の減少率が同じである。ここで、(C/T)の値が1である領域を境界にして、変化率を非対称としてもよい。より具体的には、(C/T)の値が1より大きいときの目標比の上昇率と、1より小さいときの目標比の減少率が異なるようにしてもよい。つまり、aやaの値を調整して左右非対称な特性を持たせてもよい。たとえば、aを大きく、aを小さくすることにより、ビットレートが目標値よりも大きくなったときは、目標値に早く戻るように制御し、目標値より小さくなったときは、緩やかに目標値に戻るように制御することができる。
数19式では、第n期間の第2ストリームの出力平均ビットレートCを目標設定ビットレートTで除算した値を目標比として利用しているが、この目標比をさらに調整するようにしたのが、数23式である。
Figure 2009017314
数23式において、目標比に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より小さい値となり、目標比が急激に大きくなることを抑制することができる。
数20式で示した関数θを用いて目標設定ビットレートTn+1を算出する方法についても、同様に、期間比を乗算し、目標比を設定するようにしてもよい。この方法により求められる目標設定ビットレートTn+1を数24式に示す。この場合にも、入力平均ビットレートの変動に伴い目標比を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。
Figure 2009017314
数23式では、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を、第n期間の第1ストリームの入力平均ビットレートSで除算した値を期間比とした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。入力平均ビットレートSn+1を先読みできる場合とは、入力平均ビットレートSn+1に関する情報をバッファリングした上で、第(n+1)期間の目標設定ビットレートTn+1を算出できる時間的余裕がある場合である。つまり、ある程度の処理遅延が許されるような場合である。数25式に、入力平均ビットレートSn+1を用いて目標設定ビットレートTn+1を算出する式を示す。
Figure 2009017314
数25式に示すように、期間比として、S/Sn+1、つまり、第n期間の第1ストリームの入力平均ビットレートSを、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1で除算した値を用いている。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。つまり、より最新の入力情報を用いることで、目標ビットレートに対する最適制御を行うことができるのである。
数24式では、関数θを用いて求めた目標比に期間比を乗算した。この場合についても、同様に、期間比Sn−1/Sに代えて、期間比S/Sn+1を用いてもよい。期間比S/Sn+1を用いる場合の演算式を数26式に示す。この場合にも、目標設定ビットレートTn+1をより精度高く制御することが可能である。
Figure 2009017314
期間比として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数17式に代えて、数27式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
Figure 2009017314
また、数23式、数24式では、期間比としてSn−1/Sを利用した。これに代えて、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1と、第n期間を含む過去M期間の期間平均ビットレートASの比を期間比として用いてもよい。つまり、数23式、数24式において、期間比として、Sn−1/Sに代えて、ASn−1/ASを用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第n期間を含む過去M期間の期間平均ビットレートASと、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を期間比として用いてもよい。つまり、数23式、数24式において、期間比として、Sn−1/Sに代えて、AS/ASn+1を用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
期間比として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数18式に代えて、数28式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
Figure 2009017314
また、第2の実施の形態における目標設定ビットレートTn+1の計算方法を、数19式、数20式、数23式〜数26式などを用いて説明したが、これら数式を用いて説明した場合を含め上記各実施の形態における全ての場合において、第n期間の出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACを用いても良い。たとえば、数19式、数20式、数23式〜数26式などにおいて、Cに代えてACを用いるのである。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
{第3の実施の形態}
次に、本発明の第3の実施の形態について説明する。第3の実施の形態においても、量子化ステップ変換係数を算出し、数3式を用いて、第2ストリームの量子化ステップ値Qを算出する。また、第3の実施の形態においても、第2の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。
第(n+1)期間の目標設定ビットレートTn+1が決定すると、数5式を用いて説明した場合と同様の方法で、量子化ステップ変換係数αn+1が算出される。つまり、数6式〜数8式で例示したような関数fを利用して、量子化ステップ変換係数αn+1が算出される。具体的には、数17式で示すように、第(n+1)期間の目標設定ビットレートTn+1と第n期間の入力平均ビットレートSの比を関数fに入力することで、量子化ステップ変換係数αn+1を算出する。あるいは、数18式で示すように、入力平均ビットレートSの比に代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートASを用いて量子化ステップ変換係数αn+1を算出してもよい。
数29式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。つまり、トランスコーダ1が、第n期間終了後に算出する第(n+1)期間の目標設定ビットレートTn+1を表している。具体的には、第n期間の目標設定ビットレートTから第n期間の変換済みの第2ストリームの出力平均ビットレートCを減算した値を目標差と考えると、第(n+1)期間の目標設定ビットレートTn+1は、第2ストリームの全体目標ビットレートTに目標差を加算することで算出されるのである。
Figure 2009017314
数29式中、kは正の係数であり、目標設定ビットレートTn+1を調整するための係数である。このように、(T−C)により、第n期間における目標との差を算出し、全体目標ビットレートTに目標差を加算することで、出力ストリームが目標ビットレートに近づくような制御を行うのである。
数29式では、(T−C)をそのまま目標差として利用しているが(係数kは乗算しているが)、数30式で示すように、(T−C)を関数ψに入力することで、目標差を求めるようにしてもよい。
Figure 2009017314
数30式で示すように、関数ψに(T−C)を入力し、全体目標ビットレートT、関数ψの出力を用いて目標設定ビットレートTn+1を算出するのである。数31式は、関数ψの具体例を示す式である。
Figure 2009017314
数31式中の、a、a、b、b、c、cの関係を、数32式に示す。また、このような条件で表される関数ψの特性を図4に示す。
Figure 2009017314
このように関数ψは、入力値が0の近傍では、その出力も“0”から大きく変動しないような特性を持っている。そして、入力値がある閾値よりも大きくなったところから(あるいは小さくなったところから)、線形的にその出力値も変動するような特性を持っている。数31式、数32式で示した例であれば、入力値がcより大きくなるか、−cより小さくなるところから出力値も大きく変動するような特性となっている。
このような関数ψを用いることで、(T−C)が、少し“0”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。目標差が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、目標に対する最適な追従が行えるように制御するのである。
図4で示した例では、関数ψは左右対称((0,0)点について点対称)の特性をもっている。つまり、(T−C)の値が0である領域を境界にして、変化率が対称となっている。より具体的には、(T−C)の値が0より大きいときの目標差の上昇率と、0より小さいときの目標差の減少率が同じである。ここで、(T−C)の値が0である領域を境界にして、変化率を非対称としてもよい。より具体的には、(T−C)の値が0より大きいときの目標差の上昇率と、0より小さいときの目標差の減少率が異なるようにしてもよい。つまり、aやaの値を調整して左右非対称な特性を持たせてもよい。たとえば、aを大きく、aを小さくすることにより、ビットレートが目標値よりも大きくなったときは、目標値に早く戻るように制御し、目標値より小さくなったときは、緩やかに目標値に戻るように制御することができる。
数29式では、第n期間の目標設定ビットレートTから第n期間の第2ストリームの出力平均ビットレートCを減算した目標差を利用しているが、この目標差をさらに調整するようにしたのが、数33式である。
Figure 2009017314
数33式において、目標差に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が大きく変動することを回避できるのである。
数30式で示した関数ψを用いて目標設定ビットレートTn+1を算出する方法についても、同様に、期間比を乗算し、目標差を設定するようにしてもよい。この方法により求められる目標設定ビットレートTn+1を数34式に示す。この場合にも、入力平均ビットレートの変動に伴い目標差を調整し、目標設定ビットレートTn+1が大きく変動することを回避できるのである。
Figure 2009017314
数33式では、第n期間の第1ストリームの入力平均ビットレートSを、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1で除算した値を期間比とした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。入力平均ビットレートSn+1を先読みできる場合とは、上述したように、入力平均ビットレートSn+1に関する情報をバッファリングした上で、第(n+1)期間の目標設定ビットレートTn+1を算出できる時間的余裕がある場合である。この場合には、数33式において、期間比として、S/Sn−1に代えて、Sn+1/Sを用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
数34式では、関数ψを用いて求めた目標差に期間比を乗算した。この場合についても、同様に、期間比S/Sn−1に代えて、期間比Sn+1/Sを用いてもよい。この場合にも、目標設定ビットレートTn+1をより精度高く制御することが可能である。
期間比として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数17式に代えて、数27式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、数33式、数34式では、期間比としてS/Sn−1を利用した。これに代えて、第n期間を含む過去M期間の期間平均ビットレートASと、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1の比を期間比として用いてもよい。つまり、数33式、数34式において、期間比として、S/Sn−1に代えて、AS/ASn−1を用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1と、第n期間を含む過去M期間の期間平均ビットレートASの比を期間比として用いてもよい。つまり、数33式、数34式において、期間比として、S/Sn−1に代えて、ASn+1/ASを用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
期間比として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数18式に代えて、数28式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、第2の実施の形態における目標設定ビットレートTn+1の計算方法を、数29式、数30式、数33式、数34式などを用いて説明したが、これら数式を用いて説明した実施の形態を含め、この第2の実施の形態において説明した全ての計算方法において、第n期間の出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACを用いても良い。たとえば、数29式、数30式、数33式、数34式などにおいて、Cに代えてACを用いても良い。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
{第4の実施の形態}
次に、本発明の第4の実施の形態について説明する。第4の実施の形態においても、第3の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。第4の実施の形態においては、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1の決定の方法が、第3の実施の形態と異なる。
数35式は、第(n+1)期間の目標設定ビットレートTn+1を算出する式である。第n期間の目標設定ビットレートTから第n期間の変換済みの第2ストリームの出力平均ビットレートCを減算した値を目標差として利用する点も、第3の実施の形態と同様である。第3の実施の形態では、この目標差に期間比を乗算することで、目標差を調整したが、数35式に示すように、第4の実施の形態では、目標差に期間差を乗算するようにしている。
Figure 2009017314
数35式において、目標差に(S−Sn−1)が乗算されている。(S−Sn−1)は、第n期間の第1ストリームの入力平均ビットレートSから、第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を減算した期間差である。つまり、目標差に期間差を乗算することで、目標差を調整しているのである。なお、数35式中、係数kは、目標設定ビットレートTn+1を調整するための正の係数である。
このように目標差に期間差を乗算することで、局所的な目標差の変化を補正することができる。たとえば、入力平均ビットレートSが次第に小さく変化しているような場合には、それに伴い、Cが小さくなる場合があり、目標差(T−C)が正の値になる。このような場合には、期間差(S−Sn−1)が負の値となり、目標設定ビットレートTn+1が大きく設定されないよう補正するのである。つまり、入力平均ビットレートSが小さく変化しているような場合には、その変化に反して、目標設定ビットレートTn+1が大きく変化しないよう制御するのである。
数35式では、(T−C)を目標差として利用しているが(係数kは乗算しているが)、数36式で示すように、(T−C)を関数ψに入力することで、目標差を算出するようにしてもよい。関数ψとしては、たとえば、数30式〜数32式および図4で例示したものを同様に利用することが可能である。
Figure 2009017314
このような関数ψを用いることで、目標差(T−C)が、少し“0”からずれている場合に、目標設定ビットレートTn+1が全体目標ビットレートTから大きく変動してしまうことを回避できる。目標差が比較的大きくずれた場合に、目標設定ビットレートTn+1を変動させることで、目標に対する最適な追従が行えるように制御するのである。
数35式では、期間差(S−Sn−1)をそのまま目標差に乗算し、係数kを乗算することで目標設定ビットレートTn+1を調整するようにしたが、数37式に示すように、期間差(S−Sn−1)を関数φに入力するようにしてもよい。これにより、一定の係数kを乗算する場合と比べて、より精度高く目標設定ビットレートTn+1を制御することができる。関数φは、特に限定されるものではなく、期間差の大きさと目標設定ビットレートTn+1の変動割合との関係を考慮して最適なものを選択すればよい。
Figure 2009017314
数36式においても、期間差(S−Sn−1)をそのまま目標差(関数ψの出力)に乗算し、目標設定ビットレートTn+1を調整するようにしたが、数38式に示すように、期間差(S−Sn−1)を関数φに入力するようにしてもよい。これにより、関数ψによる制御と併せて、より精度高く目標設定ビットレートTn+1を制御することができる。関数φは、特に限定されるものではなく、期間差の大きさと目標設定ビットレートTn+1の変動割合との関係を考慮して最適なものを選択すればよい。
Figure 2009017314
数35式、数37式で説明した目標設定ビットレートTn+1の算出方法では、目標差(T−C)に期間差を乗算するようにした。これに対して、数39式に示すように、目標差に期間差を加算するようにしてもよい。数39式中、hは、目標設定ビットレートTn+1を調整するための正の係数である。このように、期間差を加算することで、乗算した場合とは異なる特性で目標設定ビットレートTn+1を制御することが可能である。
Figure 2009017314
また、数36式、数38式で説明した目標設定ビットレートTn+1の算出方法では、目標差ψ(T−C)に期間差を乗算するようにした。これに対して、数40式に示すように、目標差に期間差を加算するようにしてもよい。このように、期間差を加算することで、乗算した場合とは異なる特性で目標設定ビットレートTn+1を制御することが可能である。
Figure 2009017314
数35式〜第38式では、第n期間の第1ストリームの入力平均ビットレートSから第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を減算した値を期間差とした。そして、目標差に期間差を乗算するようにした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。この場合には、数35式〜数38式において、期間差として、(S−Sn−1)に代えて、(Sn+1−S)を用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
また、数39式、第40式においても、第n期間の第1ストリームの入力平均ビットレートSから第(n−1)期間の第1ストリームの入力平均ビットレートSn−1を減算した値を期間差とした。そして、目標差に期間差を加算するようにした。これに対して、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、入力平均ビットレートSn+1を利用してもよい。この場合には、数39式、数40式において、期間差として、(S−Sn−1)に代えて、(Sn+1−S)を用いるのである。このように、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用することで、目標設定ビットレートTn+1をより高い精度で制御することが可能となる。
期間差として、第(n+1)期間の第1ストリームの入力平均ビットレートSn+1を利用した場合には、数27式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間の入力平均ビットレートSn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、数35式〜数40式では、期間差として(S−Sn−1)を利用した。これに代えて、第n期間を含む過去M期間の期間平均ビットレートASと、第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1の差を期間差として用いてもよい。つまり、数35式〜数40式において、期間差として、(S−Sn−1)に代えて、(AS−ASn−1)を用いてもよい。これにより、局所的な変動の影響を小さくし、目標設定ビットレートTn+1を最適制御することが可能である。
あるいは、第1ストリームの第(n+1)期間の入力平均ビットレートSn+1を先読みできる場合には、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1と、第n期間を含む過去M期間の期間平均ビットレートASの比を期間差として用いてもよい。つまり、数35式〜数40式において、期間差として、(S−Sn−1)に代えて、(ASn+1−AS)を用いてもよい。これにより、局所的な変動の影響を小さくするとともに、最新の入力ビットレートを利用することで、より精度高く目標設定ビットレートTn+1を制御することが可能である。
期間差として、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1を利用した場合には、数28式で示すように、第(n+1)期間の目標設定ビットレートTn+1と、第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1の比を関数fに入力することで、第(n+1)期間の量子化ステップ変換係数αn+1を算出するようにすればよい。
また、第3の実施の形態における目標設定ビットレートTn+1の計算方法を、数35式〜数40式などを用いて説明したが、これら数式を用いて説明した場合を含め第4の実施の形態で説明した全ての計算方法において、第n期間の出力平均ビットレートCに代えて、第(n−M+1)期間から第n期間までの期間平均ビットレートACを用いても良い。たとえば、数35式〜数40式などにおいて、Cに代えてACを用いても良い。これにより、目標設定ビットレートTn+1を、より緩やかに制御することが可能である。
{第5の実施の形態}
次に、本発明の第5の実施の形態について説明する。第5の実施の形態においても、第3あるいは第4の実施の形態と同様、第n期間が終了した時点で、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1を決定し、決定された目標設定ビットレートTn+1を用いて、第(n+1)期間の量子化ステップ変換係数αn+1を算出する。第5の実施の形態においては、第(n+1)期間における第2ストリームの目標設定ビットレートTn+1の決定の方法が、第3あるいは第4の実施の形態と異なる。
数33式、数34式では、第n期間の入力平均ビットレートSと第(n−1)期間の入力平均ビットレートSn−1との比を期間比として目標差に乗算した。数33式、数34式を含め第3の実施の形態で説明した各実施の形態において、この期間比S/Sn−1に代えて、期間比S/ASを用いるようにしてもよい。つまり、第n期間の入力平均ビットレートSと第n期間を含む過去M期間の期間平均ビットレートASとの比を期間比とするのである。これにより、入力平均ビットレートSの変動を緩やかに評価することが可能である。
あるいは、数33式、数34式を含め第3の実施の形態で説明した各実施の形態において、期間比S/Sn−1に代えて、期間比S/ASn−1を用いるようにしてもよい。つまり、第n期間の入力平均ビットレートSと第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1との比を期間比とするのである。同様に、入力平均ビットレートSの変動を緩やかに評価することが可能である。
また、入力ビットレートの先読みができる場合、数33式、数34式を含め第3の実施の形態で説明した各実施の形態において、期間比S/Sn−1に代えて期間比Sn+1/Sを用いてもよいと説明した。そこで、さらに、この期間比Sn+1/Sに代えて、期間比Sn+1/ASn+1を用いるようにしてもよい。つまり、第(n+1)期間の入力平均ビットレートSn+1と第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1との比を期間比とするのである。これにより、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
あるいは、数33式、数34式を含め第3の実施の形態で説明した各実施の形態において、期間比Sn+1/Sに代えて、期間比Sn+1/ASを用いるようにしてもよい。つまり、第(n+1)期間の入力平均ビットレートSn+1と第n期間を含む過去M期間の期間平均ビットレートASとの比を期間比とするのである。同様に、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
数35式〜数38式では、第n期間の入力平均ビットレートSと第(n−1)期間の入力平均ビットレートSn−1との差を期間差として目標差に乗算した。数35式〜数38式を含め第4の実施の形態で説明した各実施の形態において、この期間差(S−Sn−1)に代えて、期間差(S−AS)を用いるようにしてもよい。つまり、第n期間の入力平均ビットレートSと第n期間を含む過去M期間の期間平均ビットレートASとの差を期間差とするのである。これにより、入力平均ビットレートSの変動を緩やかに評価することが可能である。
あるいは、数35式〜数38式を含め第4の実施の形態で説明した各実施の形態において、期間差(S−Sn−1)に代えて、期間差(S−ASn−1)を用いるようにしてもよい。つまり、第n期間の入力平均ビットレートSと第(n−1)期間を含む過去M期間の期間平均ビットレートASn−1との差を期間差とするのである。同様に、入力平均ビットレートSの変動を緩やかに評価することが可能である。
また、入力ビットレートの先読みができる場合、数35式〜数38式を含め第4の実施の形態で説明した各実施の形態において、期間差(S−Sn−1)に代えて期間差(Sn+1−S)用いてもよいと説明した。そこで、さらに、この期間差(Sn+1−S)に代えて、期間差(Sn+1−ASn+1)を用いるようにしてもよい。つまり、第(n+1)期間の入力平均ビットレートSn+1と第(n+1)期間を含む過去M期間の期間平均ビットレートASn+1との差を期間比とするのである。これにより、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
あるいは、数35式〜数38式を含め第4の実施の形態で説明した各実施の形態において、期間比(Sn+1−S)に代えて、期間差(Sn+1−AS)を用いるようにしてもよい。つまり、第(n+1)期間の入力平均ビットレートSn+1と第n期間を含む過去M期間の期間平均ビットレートASとの差を期間差とするのである。同様に、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
数39式、数40式では、第n期間の入力平均ビットレートSと第(n−1)期間の入力平均ビットレートとの差を期間差として目標差に加算した。数39式、数40式を含め第4の実施の形態で説明した各実施の形態において、この期間差(S−Sn−1)に代えて、期間差(S−AS)を用いるようにしてもよい。同様に、入力平均ビットレートSの変動を緩やかに評価することが可能である。あるいは、数39式、数40式を含め第4の実施の形態で説明した各実施の形態において、期間差(S−Sn−1)に代えて、期間差(S−ASn−1)を用いるようにしてもよい。
また、入力ビットレートの先読みができる場合、数39式、数40式を含め第4の実施の形態で説明した各実施の形態において、この期間差(Sn+1−S)に代えて、期間差(Sn+1−ASn+1)を用いるようにしてもよい。あるいは、期間比(Sn+1−S)に代えて、期間差(Sn+1−AS)を用いるようにしてもよい。同様に、入力平均ビットレートSn+1の変動を緩やかに評価することが可能である。
{変形例}
上記第2〜第5の実施の形態においては、第n期間が終了したところで第(n+1)期間の目標設定ビットレートTn+1を求めた。ここで、発生符号量の極端な振れを防ぐため、数41式に示すように、算出する目標設定ビットレートTn+1に上限値および下限値を設定してもよい。
Figure 2009017314
数41式中、δT、δTは、それぞれ目標設定ビットレートTn+1に対する下限変動幅と上限変動幅を示す。上記第2〜第5の実施の形態において算出した目標設定ビットレートTn+1と全体目標ビットレートTとの差が、下限変動幅δTあるいは上限変動幅δTを超えている場合には、それぞれ、変動幅内に収まるよう目標設定ビットレートTn+1を補正するようにすればよい。
あるいは、算出された目標設定ビットレートTn+1から算出された量子化ステップ変換係数αn+1に上限閾値LIM_Hと下限閾値LIM_Lを設定し、これら上限閾値あるいは下限閾値内に収まるよう量子化ステップ変換係数αn+1を補正するようにしてもよい。
上述したように、第(n+1)期間におけるトランスコード処理の開始前にαn+1が決定され、この量子化ステップ変換係数αn+1の値が第(n+1)期間において使用される。
しかし、第1ストリームの入力全体ビットレートSが変化した場合、たとえば、入力ストリームであるMPEG2の入力全体ビットレートSが変化した場合には、変更されたビットレートSに応じて量子化ステップ変換係数αn+1を再計算するようにすればよい。
あるいは、ビデオレコーダのように、第2ストリームをハードディスク等のストレージに蓄積するようなシステムを構成した場合、システム側でハードディスク容量の残量を検知し、残量に見合うような全体目標ビットレートTを適応的に変化させることが可能である。この場合には、全体目標ビットレートTが変化した時点で、量子化ステップ変換係数αn+1を再計算するようにすればよい。
また、上記各実施の形態において目標設定ビットレートTn+1を計算したが、外部のパラメータを利用して計算した目標設定ビットレートTn+1をさらにコントロールしてもよい。たとえば、ハードディスクの残量xが少なくなってきた場合、あるいは、デコーダバッファ内のビット量xが増加傾向にある場合など、これらパラメータxにより係数k(x)を生成する。そして、上記各実施の形態において算出された目標設定ビットレートTn+1に外部パラメータk(x)を乗算するのである。そして、数42式に示すように、その乗算結果を、コントロール後の目標設定ビットレートTn+1とするのである。
Figure 2009017314
上記第2の実施の形態においては、目標比に対して、期間比(Sn−1/S)あるいは期間比(S/Sn+1)を乗算することにしたが、いずれの期間比を利用するかをユーザにより選択可能としてもよい。また、目標比に対して、期間比(ASn−1/AS)あるいは期間比(AS/ASn+1)を乗算することにしたが、いずれの期間比を利用するかをユーザにより選択可能としてもよい。たとえば、画質は劣るが遅延の少ない処理を希望する場合には、Sn−1とSの組み合わせを利用することを選択し、遅延は生じても高画質を希望する場合には、SとSn+1の組み合わせを選択するなどの利用方法が考えられる。
上記第3の実施の形態においては、目標差に対して、期間比(Sn−1/S)あるいは期間比(S/Sn+1)を乗算することにしたが、同様に、いずれの期間比を利用するかをユーザにより選択可能としてもよい。また、目標差に対して、期間比(ASn−1/AS)あるいは期間比(AS/ASn+1)を乗算することにしたが、いずれの期間比を利用するかをユーザにより選択可能としてもよい。
上記第4の実施の形態においては、目標差に対して、期間差(S−Sn−1)あるいは期間差(Sn+1−S)を乗算あるいは加算することにしたが、同様に、いずれの期間差を利用するかをユーザにより選択可能としてもよい。また、目標差に対して、期間差(AS−ASn−1)あるいは期間差(ASn+1−AS)を乗算あるいは加算することにしたが、いずれの期間差を利用するかをユーザにより選択可能としてもよい。
また、上記第2の実施の形態で説明した関数θおよび第4の実施の形態で説明した関数ψでは、変数(a,a)を用いた。この変数(a,a)の組み合わせを複数用意しておき、画像の複雑さを示す指標に応じて使い分けるようにしてもよい。たとえば、シーンチェンジ部分と通常部分で使い分けるようにしてもよい。つまり、変化率として複数のパターンを予め用意しておき、画像の複雑さに応じて使い分けるのである。画像の複雑さを示す指標は、発生符号量と量子化パラメータ平均値との積で定義される値である。この値として、MPEG2のTEST MODEL5で定義されているものを利用することができる。
トランスコーダのブロック図である。 入力ストリーム(第1ストリーム)と出力ストリーム(第2ストリーム)の情報を制御単位期間ごとに示した図である。 関数θの特性を表す図である。 関数ψの特性を表す図である。
符号の説明
1 トランスコーダ
2 デコーダ
3 エンコーダ
AC 期間平均ビットレート
AS 期間平均ビットレート
出力平均ビットレート
制御単位期間
P 量子化ステップ値
Q 量子化ステップ値
S 入力全体ビットレート
入力平均ビットレート
T 全体目標ビットレート
目標設定ビットレート
α 量子化ステップ変換係数

Claims (65)

  1. 第1のストリームを第2のストリームに変換するトランスコーダであって、
    第1のストリーム全体のビットレートを取得する手段と、
    第2のストリーム全体の目標ビットレートを設定する手段と、
    第2のストリーム全体の目標ビットレートと第1のストリーム全体のビットレートとの比に基づいて基準変換係数を算出する手段と、
    第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートとから変動係数を算出する変動係数算出手段と、
    前記基準変換係数に前記変動係数を加算することで、次の第N+1期間の期間変換係数を算出する手段と、
    第N+1期間の第1のストリームの量子化ステップ値に前記期間変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、
    を備えることを特徴とするトランスコーダ。
  2. 請求項1に記載のトランスコーダにおいて、
    前記変動係数算出手段は、
    第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて前記変動係数を算出する手段、
    を含むことを特徴とするトランスコーダ。
  3. 請求項1に記載のトランスコーダにおいて、
    前記変動係数算出手段は、
    第2のストリーム全体の目標ビットレートの対数値と、第N期間以前の変換済みの第2のストリームのビットレートの対数値との差に基づいて前記変動係数を算出する手段、
    を含むことを特徴とするトランスコーダ。
  4. 請求項1に記載のトランスコーダにおいて、
    前記変動係数算出手段は、
    第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートとを入力し、前記変動係数を出力するルックアップテーブル、
    を含むことを特徴とするトランスコーダ。
  5. 請求項1ないし請求項4のいずれかに記載のトランスコーダにおいて、
    前記変動係数算出手段は、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートを用いることを特徴とするトランスコーダ。
  6. 請求項1ないし請求項4のいずれかに記載のトランスコーダにおいて、
    前記変動係数算出手段は、第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートを用いることを特徴とするトランスコーダ。
  7. 請求項1ないし請求項6のいずれかに記載のトランスコーダにおいて、
    前記変動係数算出手段は、算出した前記変動係数を、さらに、第N期間の第1のストリームのビットレートで除算することで前記変動係数を調整することを特徴とするトランスコーダ。
  8. 請求項1ないし請求項6のいずれかに記載のトランスコーダにおいて、
    前記変動係数算出手段は、算出した前記変動係数を、さらに、第N期間を含む過去複数期間の第1のストリームの平均ビットレートで除算することで前記変動係数を調整することを特徴とするトランスコーダ。
  9. 第1のストリームを第2のストリームに変換するトランスコーダであって、
    第2のストリーム全体の目標ビットレートを設定する手段と、
    第2のストリーム全体の目標ビットレートと、第N期間以前の変換済みの第2のストリームのビットレートと、第N期間の第2のストリームの目標ビットレートに基づいて第N+1期間の第2のストリームの目標ビットレートを決定する目標ビットレート決定手段と、
    を備えることを特徴とするトランスコーダ。
  10. 請求項9に記載のトランスコーダにおいて、
    第N期間以前の第1のストリームのビットレートを取得する手段と、
    決定された第N+1期間の第2のストリームの目標ビットレートと第N期間以前の第1のストリームのビットレートとの比に基づいて第N+1期間の期間変換係数を算出する期間変換係数算出手段と、
    第N+1期間の第1のストリームの量子化ステップ値に前記期間変換係数を乗算することで、第N+1期間の第2のストリームの量子化ステップ値を算出する手段と、
    を備えることを特徴とするトランスコーダ。
  11. 請求項10に記載のトランスコーダにおいて、
    前記期間変換係数算出手段は、第N期間以前の第1のストリームのビットレートとして、第N期間の第1のストリームのビットレートを用いることを特徴とするトランスコーダ。
  12. 請求項10に記載のトランスコーダにおいて、
    前記期間変換係数算出手段は、第N期間以前の第1のストリームのビットレートとして、第N期間を含む過去複数期間の第1のストリームの平均ビットレートを用いることを特徴とするトランスコーダ。
  13. 請求項9ないし請求項12のいずれかに記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートと第N期間の第2のストリームの目標ビットレートとの比を目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートと前記目標比との比に基づいて第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
  14. 請求項9ないし請求項12のいずれかに記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートと第N期間の第2のストリームの目標ビットレートとの比に基づいて算出される値を目標比とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートと前記目標比との比に基づいて第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
  15. 請求項13または請求項14に記載のトランスコーダにおいて、
    第N−1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とするトランスコーダ。
  16. 請求項13または請求項14に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N+1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とするトランスコーダ。
  17. 請求項13または請求項14に記載のトランスコーダにおいて、
    第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とするトランスコーダ。
  18. 請求項13または請求項14に記載のトランスコーダにおいて、
    第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記期間比を乗算し、前記目標比を調整することを特徴とするトランスコーダ。
  19. 請求項13ないし請求項18のいずれかに記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とするトランスコーダ。
  20. 請求項13ないし請求項18のいずれかに記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とするトランスコーダ。
  21. 請求項9ないし請求項12のいずれかに記載のトランスコーダにおいて、
    第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差に基づいて算出される値を目標差とすると、前記目標ビットレート決定手段は、第2のストリームの全体の目標ビットレートに前記目標差を加算することで、第N+1期間の第2のストリームの目標ビットレートを算出することを特徴とするトランスコーダ。
  22. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  23. 請求項21に記載のトランスコーダにおいて、
    第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  24. 請求項21に記載のトランスコーダにおいて、
    第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  25. 請求項21に記載のトランスコーダにおいて、
    第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  26. 請求項21ないし請求項25のいずれかに記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とするトランスコーダ。
  27. 請求項21ないし請求項25のいずれかに記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とするトランスコーダ。
  28. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  29. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。
  30. 請求項21に記載のトランスコーダにおいて、
    第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  31. 請求項21に記載のトランスコーダにおいて、
    第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。
  32. 請求項21に記載のトランスコーダにおいて、
    第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  33. 請求項21に記載のトランスコーダにおいて、
    第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。
  34. 請求項21に記載のトランスコーダにおいて、
    第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  35. 請求項21に記載のトランスコーダにおいて、
    第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。
  36. 請求項28ないし請求項35のいずれかに記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間の第2のストリームのビットレートが用いられることを特徴とするトランスコーダ。
  37. 請求項28ないし請求項35のいずれかに記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートとして、第N期間を含む過去複数期間の第2のストリームの平均ビットレートが用いられることを特徴とするトランスコーダ。
  38. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  39. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  40. 請求項21に記載のトランスコーダにおいて、
    第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  41. 請求項21に記載のトランスコーダにおいて、
    第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記期間比を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  42. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  43. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。
  44. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  45. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。
  46. 請求項21に記載のトランスコーダにおいて、
    第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  47. 請求項21に記載のトランスコーダにおいて、
    第N+1期間の第1のストリームのビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。
  48. 請求項21に記載のトランスコーダにおいて、
    第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記期間差を乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  49. 請求項21に記載のトランスコーダにおいて、
    第N+1期間の第1のストリームのビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を期間差とすると、前記期間変換係数算出手段は、前記目標差に前記期間差を加算し、前記目標差を調整することを特徴とするトランスコーダ。
  50. 請求項14に記載のトランスコーダにおいて、
    第N期間以前の変換済みの第2のストリームのビットレートと第N期間の第2のストリームの目標ビットレートとの比が1である領域を境界として、算出される目標比の変化率が非対称であることを特徴とするトランスコーダ。
  51. 請求項21に記載のトランスコーダにおいて、
    第N期間の第2のストリームの目標ビットレートと第N期間以前の変換済みの第2のストリームのビットレートとの差が0である領域を境界として、算出される目標差の変化率が非対称であることを特徴とするトランスコーダ。
  52. 請求項13、請求項14、請求項21に記載のトランスコーダにおいて、さらに、
    算出された第N+1期間の第2のストリームの目標ビットレートの上限値あるいは下限値を設定する手段、
    を備えることを特徴とするトランスコーダ。
  53. 請求項1、請求項13、請求項14、請求項21のいずれかに記載のトランスコーダにおいて、さらに、
    前記期間変換係数の上限値あるいは下限値を設定する手段、
    を備えることを特徴とするトランスコーダ。
  54. 請求項1、請求項13、請求項14、請求項21のいずれかに記載のトランスコーダにおいて、
    第1のストリームのビットレートが変動した場合、前記期間変換係数を再計算することを特徴とするトランスコーダ。
  55. 請求項1、請求項13、請求項14、請求項21のいずれかに記載のトランスコーダにおいて、
    第2のストリーム全体の目標ビットレートが適応的に変化し、それに応じて前記期間変換係数が再計算されることを特徴とするトランスコーダ。
  56. 請求項13または請求項14に記載のトランスコーダにおいて、
    第N−1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を第1期間比、第N期間の第1のストリームのビットレートと第N+1期間の第1のストリームのビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標比を調整することを特徴とするトランスコーダ。
  57. 請求項13または請求項14に記載のトランスコーダにおいて、
    第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第1期間比、第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標比に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標比を調整することを特徴とするトランスコーダ。
  58. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの比を第1期間比、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  59. 請求項21に記載のトランスコーダにおいて、
    第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第1期間比、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの比を第2期間比とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間比のいずれかを選択して乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  60. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を第1期間差、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  61. 請求項21に記載のトランスコーダにおいて、
    第N期間の第1のストリームのビットレートと第N−1期間の第1のストリームのビットレートの差に基づいて算出される値を第1期間差、第N+1期間の第1のストリームのビットレートと第N期間の第1のストリームのビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して加算し、前記目標差を調整することを特徴とするトランスコーダ。
  62. 請求項21に記載のトランスコーダにおいて、
    第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第1期間差、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して乗算し、前記目標差を調整することを特徴とするトランスコーダ。
  63. 請求項21に記載のトランスコーダにおいて、
    第N期間を含む過去複数期間の第1のストリームの平均ビットレートと第N−1期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第1期間差、第N+1期間を含む過去複数期間の第1のストリームの平均ビットレートと第N期間を含む過去複数期間の第1のストリームの平均ビットレートの差に基づいて算出される値を第2期間差とすると、前記目標ビットレート決定手段は、前記目標差に前記第1あるいは第2期間差のいずれかを選択して加算し、前記目標差を調整することを特徴とするトランスコーダ。
  64. 請求項50または請求項51に記載のトランスコーダにおいて、
    前記変化率として複数のパターンが用意されており、画像の複雑さに応じて前記変化率が選択されることを特徴とするトランスコーダ。
  65. 請求項9に記載のトランスコーダにおいて、
    決定された第N+1期間の目標設定ビットレートを外部パラメータにより調整することを特徴とするトランスコーダ。
JP2007177738A 2007-07-05 2007-07-05 トランスコーダ Expired - Fee Related JP4790669B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007177738A JP4790669B2 (ja) 2007-07-05 2007-07-05 トランスコーダ
US12/144,098 US7714751B2 (en) 2007-07-05 2008-06-23 Transcoder controlling generated codes of an output stream to a target bit rate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007177738A JP4790669B2 (ja) 2007-07-05 2007-07-05 トランスコーダ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011129804A Division JP5232898B2 (ja) 2011-06-10 2011-06-10 トランスコーダ

Publications (2)

Publication Number Publication Date
JP2009017314A true JP2009017314A (ja) 2009-01-22
JP4790669B2 JP4790669B2 (ja) 2011-10-12

Family

ID=40221001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007177738A Expired - Fee Related JP4790669B2 (ja) 2007-07-05 2007-07-05 トランスコーダ

Country Status (2)

Country Link
US (1) US7714751B2 (ja)
JP (1) JP4790669B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014530587A (ja) * 2011-10-17 2014-11-17 グーグル インコーポレイテッド ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2923118B1 (fr) * 2007-10-30 2016-04-01 Canon Kk Procede, dispositif et programme d'ordinateur pour la gestion de la quantite de donnees emises par un dispositif d'emission
US8938005B2 (en) * 2007-11-05 2015-01-20 Canon Kabushiki Kaisha Image encoding apparatus, method of controlling the same, and computer program
JP5076083B2 (ja) 2008-02-25 2012-11-21 株式会社メガチップス トランスコーダ
JP5098043B2 (ja) * 2008-02-26 2012-12-12 株式会社メガチップス トランスコーダ
JP5050158B2 (ja) * 2008-06-02 2012-10-17 株式会社メガチップス トランスコーダ
US9544352B2 (en) * 2013-06-11 2017-01-10 Bitmovin Gmbh Adaptation logic for varying a bitrate

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160967A (ja) * 1999-12-03 2001-06-12 Nec Corp 画像符号化方式変換装置及び符号化レート変換装置
JP2001186517A (ja) * 1999-12-24 2001-07-06 Nec Corp 圧縮動画像再符号化装置および圧縮動画像再符号化方法
JP2003018597A (ja) * 2001-07-03 2003-01-17 Matsushita Electric Ind Co Ltd 画像符号化方式変換装置、方法および画像符号化方式変換プログラム
JP2004320707A (ja) * 2003-02-26 2004-11-11 Kddi Corp ビデオ情報複数同時符号化装置
JP2006094347A (ja) * 2004-09-27 2006-04-06 Kddi Corp 動画像符号量制御方式

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055330A (en) * 1996-10-09 2000-04-25 The Trustees Of Columbia University In The City Of New York Methods and apparatus for performing digital image and video segmentation and compression using 3-D depth information
JP4186242B2 (ja) * 1997-12-26 2008-11-26 ソニー株式会社 画像信号処理装置及び画像信号処理方法
US6466624B1 (en) * 1998-10-28 2002-10-15 Pixonics, Llc Video decoder with bit stream based enhancements
EP1067798A3 (en) * 1999-06-30 2005-11-30 Media Glue Corporation Apparatus, method and computer program product for transcoding a coded moving picture sequence
US7266148B2 (en) * 2001-01-05 2007-09-04 Lg Electronics Inc. Video transcoding apparatus
US7397855B2 (en) * 2004-04-14 2008-07-08 Corel Tw Corp. Rate controlling method and apparatus for use in a transcoder
JP2006074635A (ja) 2004-09-06 2006-03-16 Hitachi Ltd 符号化映像信号変換方法及び装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160967A (ja) * 1999-12-03 2001-06-12 Nec Corp 画像符号化方式変換装置及び符号化レート変換装置
JP2001186517A (ja) * 1999-12-24 2001-07-06 Nec Corp 圧縮動画像再符号化装置および圧縮動画像再符号化方法
JP2003018597A (ja) * 2001-07-03 2003-01-17 Matsushita Electric Ind Co Ltd 画像符号化方式変換装置、方法および画像符号化方式変換プログラム
JP2004320707A (ja) * 2003-02-26 2004-11-11 Kddi Corp ビデオ情報複数同時符号化装置
JP2006094347A (ja) * 2004-09-27 2006-04-06 Kddi Corp 動画像符号量制御方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014530587A (ja) * 2011-10-17 2014-11-17 グーグル インコーポレイテッド ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化
JP2015222997A (ja) * 2011-10-17 2015-12-10 グーグル インコーポレイテッド ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化
US9225983B2 (en) 2011-10-17 2015-12-29 Google Inc. Rate-distortion-complexity optimization of video encoding guided by video description length

Also Published As

Publication number Publication date
US20090009370A1 (en) 2009-01-08
US7714751B2 (en) 2010-05-11
JP4790669B2 (ja) 2011-10-12

Similar Documents

Publication Publication Date Title
JP4624321B2 (ja) トランスコーダおよび符号化画像変換方法
KR101744654B1 (ko) 모션 기반 동적 해상도 다중 비트 레이트 비디오 인코딩
KR101643790B1 (ko) 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩
JP4790669B2 (ja) トランスコーダ
JPH11346362A (ja) リアルタイム単一パス可変ビット・レ―ト制御方法及び符号器
JP2882287B2 (ja) 動画像符号化装置
US6895054B2 (en) Dynamic bit rate control process
JP2003018603A (ja) 動画像符号化方法及び装置
JP5076083B2 (ja) トランスコーダ
JP5900163B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4784650B2 (ja) 符号化装置、目標符号量調整方法及び記録媒体
US8615040B2 (en) Transcoder for converting a first stream into a second stream using an area specification and a relation determining function
JP5098043B2 (ja) トランスコーダ
JP5050158B2 (ja) トランスコーダ
JP5232898B2 (ja) トランスコーダ
US20040161034A1 (en) Method and apparatus for perceptual model based video compression
JP5412588B2 (ja) トランスコーダ
JP2008252225A (ja) 動画像符号化装置及び方法
JP5391294B2 (ja) トランスコーダ
JP5495156B2 (ja) トランスコーダ
JP5076085B2 (ja) トランスコーダ
JP2008182408A (ja) 動画像符号化装置及び方法
JP4755239B2 (ja) 映像符号量制御方法,映像符号化装置,映像符号量制御プログラムおよびその記録媒体
JPH1042293A (ja) 符号化制御装置および符号化装置および符号化制御方法
JP2007134758A (ja) ビデオストリーミング用ビデオデータ圧縮装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110610

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

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

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

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees