JP2005526457A - ビデオ・トランスコーダ - Google Patents

ビデオ・トランスコーダ Download PDF

Info

Publication number
JP2005526457A
JP2005526457A JP2004506293A JP2004506293A JP2005526457A JP 2005526457 A JP2005526457 A JP 2005526457A JP 2004506293 A JP2004506293 A JP 2004506293A JP 2004506293 A JP2004506293 A JP 2004506293A JP 2005526457 A JP2005526457 A JP 2005526457A
Authority
JP
Japan
Prior art keywords
vop
data
bitstream
compressed video
video bitstream
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.)
Pending
Application number
JP2004506293A
Other languages
English (en)
Inventor
ワン、リミン
パヌソポーン、クリット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Technology Inc
Original Assignee
General Instrument 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 General Instrument Corp filed Critical General Instrument Corp
Publication of JP2005526457A publication Critical patent/JP2005526457A/ja
Pending legal-status Critical Current

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of 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/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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • 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

Abstract

入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームへとトランスコードする技術は、第1のビット・レートの入力圧縮ビデオ・ビットストリームを受信する工程と、出力圧縮ビデオ・ビットストリームについての新しい目標ビット・レートを指定する工程と、その入力ビットストリームを部分的に復号化して逆量子化データを生成する工程と、異なる量子化レベル(QP)を使用して逆量子化データを再量子化して再量子化データを生成する工程と、再量子化データを再符号化してその出力圧縮ビデオ・ビットストリームを生成する工程を含んでいる。適切な初期量子化レベル(QP)が、再量子化を行うために決定され、この出力ビデオ・ビットストリームのビット・レートが監視され、量子化レベルを調整してこの出力圧縮ビデオ・ビットストリームのビット・レートをその目標ビット・レートに厳密にマッチングさせる。不変のヘッダ・データは、この出力圧縮ビデオ・ビットストリームに直接にコピーされる。再量子化エラーは、この再量子化データを逆量子化し、この再量子化データから差し引くことによって決定され、量子化エラーは、IDCT処理されて等価なエラー画像が生成され、動き補償がこの入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従ってこのエラー画像に適用され、この動き補償されたエラー画像がDCT処理され、このDCT処理されたエラー画像が、再量子化に起因するエラーについての動き補償された補正としてこの逆量子化データに適用される。

Description

本発明は、ビデオ圧縮技術に関し、より詳細には圧縮されたビデオ・ビットストリームについての符号化技術、復号化技術およびトランスコーディング技術に関する。
ビデオ圧縮は、ビデオ「ストリーム」または「ビットストリーム」をその元の表現とは異なる符号化形式(通常、よりコンパクトな形式)に符号化するための技術である。ビデオ「ストリーム」は、動画画像の電子的な表現である。
近年では、低コストのパーソナル・コンピュータの普及、平均的なコンピュータ・ユーザにとって使用可能なディスク空間およびメモリの量の劇的な増加、広く行き渡ったインターネットへのアクセス可能性、ならびにますます増大する通信帯域幅と共に、インターネット上におけるストリーミング・ビデオの使用が、普通になってきている。ストリーミング・ビデオを符号化するためのますます重要となり最もよく知られているビデオ圧縮規格の1つが、動画、音声およびその組合せの圧縮、伸張、処理、および符号化表現についての国際規格の開発を担当しているISO/IEC(International Organization for Standardization/International Engineering Consortium)のワーキング・グループであるMPEG(Moving Picture Expert Group)によって提供されているMPEG−4規格である。このISOは、スイス、ジュネーブ(1 rue
de Varembe,Case postale 56,CH−1211,Geneva 20,Switzerland)にオフィスを有する。IECは、米国イリノイ州シカゴ市(549,West Randolph Street,Suite 600,Chicago,IL 60661−2208,USA)にオフィスを有する。正式にはISO/IEC 14496(6部で構成)と呼ばれるこのMPEG−4圧縮規格は、動画ビデオ・アプリケーションに関与する人々によって広く知られ、採用されている。
インターネット接続帯域幅の急速な増大と高性能パーソナル・コンピュータの普及にもかかわらず、個々のユーザのインターネット接続速度と計算能力の間にはかなりの格差が存在する。この格差により、インターネット・コンテンツのプロバイダは、1組の様々なエンド・ユーザ環境に対してストリーミング・ビデオおよび他の形式のマルチメディア・コンテンツを供給することが必要になる。例えば、ニュース・コンテンツのプロバイダは、ビデオ・ニュース・クリップをエンド・ユーザに対して供給したいと思うこともあるが、そのインターネットへの接続が、ローエンドにおける33.6KbpsモデムからハイエンドにおけるDSL、ケーブル・モデム、または高速ブロードバンド接続に至る1組の様々なユーザの要求に対して応える必要がある。エンド・ユーザの使用可能な計算能力も同様に多岐にわたっている。さらに物事を複雑にするのはネットワークの混雑状態であり、インターネット・トラフィックが高いときには、この混雑がストリーミング・データ(例えば、ビデオ)を送り得る転送速度を制限してしまうことになる。これは、ニュース・コンテンツ・プロバイダが、エンド・ユーザの広範囲の接続/計算機環境に合うように、また変化するネットワーク条件に合わせて調整した広範囲のビット・レートにおいてストリーミング・ビデオを使用可能にする必要があることを意味する。
同じビデオ・プログラム・データを様々に異なるビット・レートで提供する特に効果的な1手段は、ビデオ・トランスコーディングである。ビデオ・トランスコーディングは、圧縮前のビットストリームを異なるビット・レート、フレーム・サイズ、ビデオ符号化規格などをもつ新しい圧縮ビットストリームに変換する1方法である。ビデオ・トランスコ
ーディングは、ネットワークの混雑状態、デコーダ機能、エンド・ユーザからの要求などのファクタに応じて、圧縮されたビデオ・ビットストリームを異なるビット・レート、解像度またはフォーマットで送る必要がある任意のアプリケーションにおいて特に有用である。
一般に、圧縮ビデオ・トランスコーダは、圧縮されたビデオ・ビットストリームを復号化し、その後に復号化されたビットストリームを通常はより低いビット・レートで再符号化する。トランスコーダを使用しない技術でも同様の機能を提供することが可能であるが、それらの技術には、かなりのコストおよび記憶装置に関する不利な点が存在する。例えば、複数のビット・レート、フォーマット、および解像度についてのビデオ・コンテンツを、それぞれ別々に符号化し、ビデオ・サーバ上に記憶することが可能である。しかし、この手法では、予想されあらかじめ符号化される多数の個別の選択肢しか提供されず、大量のディスク記憶空間が必要になる。あるいは、ビデオ・シーケンスを、圧縮された「スケーラブルな」形式に符号化することも可能である。しかし、この技術では、限られた数の選択肢を提供するためにかなりのビデオ符号化リソース(ハードウェアおよび/またはソフトウェア)が必要とされる。
トランスコーディング技術は、幅広いスペクトルのビット・レート、解像度、およびフォーマットの選択肢を提供する際に非常に柔軟性があるので、以上および他のトランスコーダ以外の技術に対してかなりの利点がある。同時に受け入れることが可能な異なる選択肢の数は、独立にトランスコードすることが可能な独立なビデオ・ストリーム数だけに依存する。
多数の異なる選択肢を同時に受け入れられるようにするためには、多数のトランスコーダを提供する必要がある。かかる用途においてはトランスコーダのコストおよび柔軟性の利点があるにもかかわらず、多数のトランスコーダを用いることは、従来のビデオ・トランスコーディング技術に対してかなりのハードウェア・リソースおよびソフトウェア・リソースを専用に設ける必要があるために依然としてかなり高くつくものになってしまう可能性がある。
前述の説明から明らかなように、実装コストおよび複雑さを最小にするビデオ・トランスコーダが必要になっている。
本発明によれば、入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームへとトランスコードする方法は、第1のビット・レートの入力圧縮ビデオ・ビットストリームを受信する工程を含む。出力圧縮ビデオ・ビットストリームについての新しい目標ビット・レートを指定する。入力ビットストリームを、部分的に復号化して、逆量子化データを生成する。この逆量子化データを、異なる量子化レベル(QP)を使用して再量子化して、再量子化データが生成する。この再量子化データを、再符号化して、出力圧縮ビデオ・ビットストリームが生成される。
本発明の1態様によれば、本方法は、再量子化に適した初期量子化レベル(QP)を決定する工程をさらに含んでいる。出力圧縮ビデオ・ビットストリームのビット・レートを監視し、量子化レベルを調整して、出力圧縮ビデオ・ビットストリームのビット・レートを目標ビット・レートに厳密にマッチングさせる。
本発明の別の態様によれば、本方法は、不変のヘッダ・データを出力圧縮ビデオ・ビッ
トストリームに直接にコピーする工程をさらに含んでいる。
本発明の他の態様によれば、本方法は、再量子化データを逆量子化し逆量子化データから差し引くことによって、再量子化エラーを決定する工程をさらに含んでいる。逆離散コサイン変換(IDCT)を使用して量子化エラーを処理して等価なエラー画像を生成する。動き補償を、入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従ってエラー画像に適用する。この動き補償されたエラー画像をDCT処理し、DCT処理されたエラー画像を、再量子化によるエラーについての動き補償された補正として逆量子化データに適用する。
本発明の他の態様によれば、再量子化エラーは、8ビットの符号付きの数として表され、8ビットの符号なしの記憶バッファにそれらを記憶するのに先立って、そのスパンの2分の1に等しい量(すなわち、+128)だけオフセットされる。検索後に、このオフセットは差し引かれ、それによって元の符号付きの再量子化エラー値が復元される。
本発明の他の態様によれば、オール・ゼロ(all−zero)のCBP(符号化ブロック・パターン)は、「skipped」として符号化されるマクロブロックの代わりにトランスコーダに提示される。さらに、動き補償を使用する予測符号化モードでは、オール・ゼロの動きベクトル(MV)が、「skipped」マクロブロックについて、トランスコーダに提示される。
本発明の他の態様によれば、トランスコーディングが、オール・ゼロの符号化ブロック・パターン(CBP)をもたらす場合には、「skipped」という符号化モードが選択される。この手法は主として、補償データ(例えば、動き補償)を使用しない符号化モードのために使用される。動き補償データを使用する予測モードでは、トランスコードされたCBPがオール・ゼロであり、動きベクトルがオール・ゼロのときにこの「skipped」モードが選択される。
これらの方法を実装する装置についても説明する。
用語集
他に定めがなければ、その使用の文脈から明らかなように、本明細書中で使用される任意の用語、略語、頭字語、科学シンボルおよび表記法には、本発明がいちばん関連している技術的分野におけるその通常の意味を与えるべきである。以下の用語集は、本明細書中ならびに従来技術の文書中に含まれる様々な説明を明確で一貫したものにするためのものである。
AC係数: 一方または両方の次元の周波数がゼロでない任意のDCT係数。
MPEG: Moving Picture Experts Group (動画像専門家グループ)。
MPEG−4: 広範囲のビット・レートを目標とするマルチメディア用途およびストリーミング・ビデオを目指したMPEG動画符号化規格の変形。公式には、ISO/IEC14496(6部からなる)と呼ばれる。
B−VOP;双方向予測符号化VOP: 過去および/または将来の参照VOPからの動き補償予測を使用して符号化されるVOP。
後方互換性: 古い符号化規格を用いて動作するように設計されたデコーダが、新しい符号化規格に従って生成されたビットストリームの全部または一部を復号化することによって動作し続けることが可能な場合には、新しい符号化規格は、古い符号化規格と後方互換性があると言う。
後方動きベクトル: 表示順序の後の時点において参照VOPからの動き補償のために使用される動きベクトル。
後方予測: 将来の参照VOPからの予測。
ベース・レイヤ: スケーラブルな階層の、独立に復号可能なレイヤ。
バイナリ・アルファ・ブロック: バイナリ・アルファ・マップの形状情報を表す、マクロブロックと共に配置されるサイズ16×16ピクセルのブロック。これは、babとも呼ばれる。
バイナリ・アルファ・マップ: 不透明なピクセルがオブジェクトの一部と考えられ、透明なピクセルはオブジェクトの一部とは考えられないように、ビデオ・オブジェクトの形状を表すために使用される2Dバイナリ・マスク。
ビットストリーム;ストリーム: データの符号化表現を形成するビットの順序づけられたシリーズ。
ビット・レート: 符号化されたビットストリームが、記憶媒体またはネットワークからデコーダの入力に送られる転送速度。
ブロック: サンプル(ピクセル)の8行×8列のマトリックス、または64個のDCT係数(量子化または逆量子化されたソース)。
バイト揃え: 符号化ビットストリーム中のビットは、その位置がストリーム中で最初のビットから数えて8ビットの倍数である場合に、バイト揃えされていると言う。
バイト: 8ビットのシーケンス。
コンテキスト・ベースの算術符号化: バイナリ形状の符号化のために使用される方法。これはまた、caeとも呼ばれる。
チャネル: MPEG−4(ISO/IEC14496)仕様に従って構成されるビットストリームを記憶し、または移送するデジタル媒体またはネットワーク。
クロミナンス・フォーマット: マクロブロック中のクロミナンス・ブロック数を定義する。
クロミナンス・コンポーネント: ビットストリーム中で定義されるような原色に関連した2つの色差信号のうちの1つを表すマトリックス、ブロック、または1つのサンプル。クロミナンス信号のために使用されるシンボルは、CrおよびCbである。
CBP: Coded Block Pattern 符号化ブロック・パターン。
CBPY: この可変長コードは、マクロブロック中で、少なくとも1つの非イントラDC変換係数をもつ不透明輝度ブロックのパターンを表す。
符号化B−VOP: 符号化されているB−VOP
符号化VOP: 符号化VOPは符号化I−VOP、符号化P−VOPまたは符号化B−VOPである。
符号化I−VOP: 符号化されているI−VOP。
符号化P−VOP: 符号化されているP−VOP。
符号化ビデオ・ビットストリーム: MPEG−4(ISO/IEC14496)仕様で定義された1つまたは複数のVOPのシリーズの符号化表現。
符号化順序: VOPが伝送され復号化される順序。この順序は、表示順序と必ずしも同じである必要はない。
符号化表現: その符号化形式で表現されるデータ・エレメント。
符号化パラメータ: 符号化ビデオ・ビットストリームを特徴づけるユーザ定義可能なパラメータの組。ビットストリームは、符号化パラメータによって特徴づけられる。デコーダは自分が復号可能なビットストリームによって特徴づけられる。
コンポーネント: 画像を構成する3つのマトリックス(輝度と2つのクロミナンス)のうちの1つからのマトリックス、ブロックまたは1つのサンプル。
合成工程: 再構成VOPがシーンに合成され、表示される(非規範的)工程。
圧縮: データ・アイテムを表現するために使用されるビット数を低減すること。
一定ビット・レート符号化ビデオ: 一定のビット・レートを有する符号化ビデオ・ビットストリーム。
一定ビット・レート;CBR: コード化ビットストリーム開始から終了までビット・レートが一定である動作。
変換比率: 形状のレート制御の目的のためのサイズ変換比率。
データ・エレメント: 符号化以前および復号化以後に表現されるようなデータ・アイテ
ム。
DC係数: 両方の次元において周波数がゼロであるDCT係数。
DCT係数: 特定のコサインに基づいた関数の振幅。
デコーダ入力バッファ: ビデオ・バッファリング検証装置中で指定されるファーストイン・ファーストアウト(FIFO)バッファ。
デコーダ: 復号化方法の1実施形態。
復号化(方法): 入力符号化ビットストリームを読み取り、復号化VOPまたはオーディオ・サンプルを生成する、本明細書で定義される方法。
逆量子化: ビットストリーム中の表現が復号化された後、それが逆DCTに提示される以前に量子化されたDCT係数を再スケーリングする方法。
デジタル記憶媒体;DSM: デジタル・ストレージ、伝送デバイスまたは伝送システム。
離散コサイン変換;DCT: 順方向離散コサイン変換または後方離散コサイン変換。このDCTは、可逆的離散直交変換である。
表示順序: 復号化された画像が表示される順序。通常、これはエンコーダの入力に提示される順序と同じである。
DQUANT: I−VOP、P−VOP、およびS(GMC)−VOPについての量子化器、quant中の変化を指定する2ビット・コード。
編集: 1つまたは複数の符号化ビットストリームを操作して新しい符号化ビットストリームを生成する工程。編集されたビットストリームを準拠したものにするには、MPEG−4(ISO/IEC14496)仕様中で定義された要件を満たす必要がある。
エンコーダ: 符号化方法の1実施形態。
符号化(方法): 入力画像またはオーディオ・サンプルのストリームを読み取り、MPEG−4(ISO/IEC14496)仕様中に定義された有効な符号化ビットストリームを生成する、この明細書には仕様が特定されていない方法。
拡張レイヤ: スケーラブルな階層中のレイヤ(ベース・レイヤの上)を相対的に参照すること。すべての形式のスケーラビリティについて、その復号化方法は、より下層レイヤの復号化方法および拡張レイヤそれ自体に適した追加の復号化方法に関連して説明することが可能である。
フェース・アニメーション・パラメータ・ユニット;FAPU: 一貫した方法による任意のフェース・モデルを用いたFAPの解釈が、表現および発話発音における妥当な結果をもたらすことを可能にするように定義された特殊な規格化ユニット(例えば、並進的、角度的、論理的)。
フェース・アニメーション・パラメータ;FAP: フェース・フィーチャの変位および角度を操作し、発話中の口形素(viseme)と顔の表情との混合を支配する符号化ストリーミング・アニメーション・パラメータ。
フェース・アニメーション・テーブル;FAT: 顔の動きを制御するためのFAPの区分ごとの線形重み付けを提供するフェース・メッシュ中の制御ポイントを特徴づけるために着信FAPからのマッピングを行うダウンロード可能なファンクション。
フェース較正メッシュ: ベースライン・フェース・モデルの形状および構造を較正するための3Dメッシュの定義。
フェース定義パラメータ;FDP: デコーダ中でベースライン・フェース・モデルを特定のフェースにカスタマイズし、またはフェース・モデルをどのようにそれを動画化するかについての情報と共にダウンロードするダウンロード可能なデータ。FDPは通常、セッションごとに1度伝送され、その後に圧縮されたFAPのストリームが続く。FDPは、ベースライン・フェース、フェース・テクスチャを較正するためのフィーチャ・ポイントを含むこともあり、それをフェース上、アニメーション・テーブル上などにマッピングするように調整する。
フェース・フィーチャ制御ポイント: FAPによって制御するためにフェース・フィーチャ内のクリティカル・ロケーションを定義し、ベースライン・フェースの形状の較正を
可能にする1組のかかるポイント中の規範的な頂点。
フェース補間変換;FIT: フィーチャ・ポイントに適用する以前に、重み付けした有理数多項式ファンクションを介して、その効果をカスタムのまたは独自開発したフェース・モデルに関連づけるために標準のFAPを複雑に相互結合するための、着信FAPをFAPにオプション的にマッピングするためのISO/IEC14496−1で定義されたダウンロード可能なノード・タイプ。
フェース・モデル・メッシュ: 測光的属性(例えば、テクスチャ、カラー、標準)を用いてレンダリングするのに適した、頂点座標を利用した頂点および平面ポリゴンによって定義される2Dまたは3Dの隣接した幾何学的図形メッシュ。
フェザーリング: バックグラウンドで合成するための、バイナリ・アルファ・マスクのエッジの周囲の値にテーパーをつけるツール。
フラグ: ただ2値(0および1)のうちの一方を取り得る1ビットの整数変数。
禁止された: 符号化ビットストリームを定義する節で使用されるときの用語「禁止された」は、その値を決して使用してはいけないことを示している。これは通常、開始コードのエミュレーションを回避するためである。
強制更新: エンコーダ中の逆DCT工程とデコーダ中の逆DCT工程との間でミスマッチ・エラーが過剰に作り出されないようにするための、時間ごとにマクロブロックを内部で符号化する工程。
前方互換性: 新しい符号化規格で動作するように設計されたデコーダが、古い符号化規格のビットストリームを復号化可能な場合に、新しい符号化規格は、古い符号化規格と前方互換性があると言う。
前方動きベクトル: 表示順序のより前の時点における参照・フレームVOPからの動き補償のために使用される動きベクトル。
前方予測: 過去の参照VOPからの予測。
フレーム: フレームは、ビデオ信号の空間情報のラインを含んでいる。プログレッシブ・ビデオでは、これらのラインは、ある時間的瞬間から開始されフレームの底辺に至る連続的なラインを介して継続するサンプルを含んでいる。
フレーム周期: フレーム・レートの逆数。
フレーム・レート: フレームがその合成工程から出力されるレート。
将来参照VOP: 将来参照VOPとは、表示順序において現在のVOPよりも後に発生する参照VOPのことである。
GMC: Global Motion Compensation全体動き補償。
GOV: Group Of VOP VOPグループ。
ハイブリッド・スケーラビリティ: ハイブリッド・スケーラビリティとは、2つ(またはそれ以上)のタイプのスケーラビリティの組合せのことである。
インターレース: フレームの交互のラインが時間的に異なる瞬間を表す従来技術のテレビジョン・フレームの特性。インターレースされたフレームにおいては、フィールドの1つが最初に表示されることを意味する。このフィールドを第1のフィールドと呼ぶ。この第1のフィールドは、このフレームのトップ・フィールドまたはボトム・フィールドであり得る。
I−VOP;イントラ符号化VOP: それ自体の情報だけを使用して符号化されるVOP。
イントラ符号化: 対象とするマクロブロックまたはVOPからの情報しか使用しないマクロブロックまたはVOPの符号化。
イントラ形状符号化: どのような一時的な予測も使用しない形状符号化。
インター形状符号化: 一時的予測を使用した形状符号化。
レベル: 特定のプロファイル内のMPEG−4(ISO/IEC14496−2)仕様のパラメータが取ることもある値に対する1組の定義された制約条件。プロファイルは、1つまたは複数のレベルを含むこともある。異なる文脈では、レベルとは、非ゼロの係数(「ラン」を参照)の絶対値のことである。
レイヤ: スケーラブルな階層において、1組の順序づけられたビットストリームおよびその関連する復号化工程(の結果)からの1層を示す。
階層化ビットストリーム: (レイヤ修飾子、例えば「拡張レイヤ・ビットストリームに関連して常に使用される)特定のレイヤに関連する1つのビットストリーム。
下層レイヤ: (この拡張レイヤの下のすべてのレイヤの復号化を暗に含めて)所与の拡張レイヤのすぐ下のレイヤのことを相対的に言う。
輝度コンポーネント: 信号のモノクロ表現を表し、ビットストリーム中で定義される形式で原色に関連したマトリックス、ブロックまたは1つのサンプル。輝度についての使用される記号はYである。
Mビット: 1,000,000ビット。
MB;マクロブロック: 画像の輝度コンポーネントの16×16セクションに由来する(4:2:0クロミナンス・フォーマットについての)4つの8×8ブロックの輝度データおよび2つの対応する8×8ブロックのクロミナンス・データ。マクロブロックという言葉はサンプル・データのことを指すために使用されることがあり、MPEG−4(ISO/IEC14496−2)仕様中で定義されるシンタクスのマクロブロック・ヘッダ中に定義されるサンプル値および他のデータ・エレメントの符号化表現のことを指すために使用されることがある。この使用については文脈から明らかとなる。
MCBPC: Macroblock Pattern Coding マクロブロック・パターン符号化。これは、これを使用してクロミナンスについてのマクロブロック・タイプおよび符号化ブロック・パターンを導き出すために使用される可変長符号化である。これは、符号化マクロブロックでは常に含まれている。
メッシュ: 2D三角メッシュは、ビデオ・オブジェクト・プレーンを三角形パッチにぴったり合うようにする平面グラフのことを言う。三角メッシュ・エレメントの頂点をノード・ポイントと呼ぶ。ノード・ポイント間の直線セグメントをエッジと呼ぶ。共通のエッジを共有する場合には2つの三角形は隣接している。
メッシュ幾何配置: メッシュのノード・ポイントおよび三角構造の空間ロケーション。メッシュの動き: メッシュのノード・ポイントのある瞬間から次の瞬間に至る一時的な変位。
MC;動き補償: サンプル値の予測効率を改善するための動きベクトルの使用。この予測では、動きベクトルを使用して、予測エラーを形成するために使用される以前に復号化したサンプル値を含む過去の参照VOPおよび/または将来の参照VOPにオフセットが提供される。
動き推定: 符号化工程中の動きベクトルを推定する工程。
動きベクトル: 現在の画像またはフィールド中の座標位置から参照VOP中の座標に至るオフセットを提供する動き補償のために使用される2次元ベクトル。
形状のための動きベクトル: 形状の動き補償のために使用される動きベクトル。
非イントラ符号化: それ自体からの情報も、他の時点で生ずるマクロブロックおよびVOPからの情報も共に使用したマクロブロックまたはVOPの符号化。
不透明マクロブロック: すべてが255の形状マスクをもつマクロブロック。
P−VOP;予測符号化VOP: 過去のVOPからの動き補償された予測を使用して符号化される画像。
パラメータ: ある範囲の値のうちの1つを取ることが可能なこの仕様のシンタクス内の変数。たった2値のうちの一方の値しか取り得ない変数は、フラグと呼ばれる。
過去の参照画像: 過去の参照VOPは、合成順序で現在のVOPより以前の時点で生じる参照VOPである。
画像: ソース画像データ、符号化画像データ、または再構成画像データ。ソース画像または再構成画像は、輝度信号と2つのクロミナンス信号を表す8ビット数の3つの長方形マトリックスから構成される。「符号化VOP」については、以前に定義している。プログレッシブ・ビデオでは、画像は、フレームと同じである。
予測: 現在復号化されているサンプル値またはデータ・エレメントの予測を提供するた
めに予測値を使用すること。
予測エラー: 実際のサンプル値またはデータ・エレメントとその予測値の間の差。
予測値: 以前に復号化されたサンプル値またはデータ・エレメントの線形結合。
プロファイル: 本仕様のシンタクスの定義されたサブセット。
プログレッシブ: フレームのすべてのサンプルが、時間の同じ瞬間を表す複数のフィルム・フレームのプロパティ。
量子化マトリックス: 逆量子化器が使用する1組の64個の8ビット値。
量子化されたDCT係数: 逆量子化以前のDCT係数。量子化されたDCT係数の可変長符号化表現は符号化ビデオ・ビットストリームの一部分として伝送される。
量子化器スケール: ビットストリーム中で符号化され、復号化工程が使用する、逆量子化をスケールするスケール・ファクタ。
QP: 量子化パラメータ。
ランダム・アクセス: 符号化ビットストリームを任意のポイントから読み取り復号化することを開始する工程。
再構成VOP: 再構成VOPは、輝度および2つのクロミナンス信号を表す8ビット数の3つのマトリックスから構成される。これは、符号化VOPを復号化することによって得られる。
参照VOP: 参照・フレームは、符号化I−VOPまたは符号化P−VOPの形式で符号化された再構成VOPである。参照VOPは、P−VOPおよびB−VOPが復号化されるときに、前方予測および後方予測のために使用される。
並べ換え遅延: VOP並べ換えによって引き起こされる復号化工程における遅延。
留保された: 符号化ビットストリームを定義する節で使用されるとき、用語「留保された(reserved)」は、この値が、ISO/IECで定義された拡張のために将来的に使用される可能性があることを示す。
スケーラブルな階層: 1組の順序づけられた複数のビットストリームから構成される符号化ビデオ・データ。
スケーラビリティ: スケーラビリティとは、再構成されたシーケンスを生成するために1組の順序づけられたビットストリームを復号化するデコーダの機能のことである。さらに、サブセットが復号化されるときに、有用なビデオが出力される。このように復号化され得る最小のサブセットは、ベース・レイヤと呼ばれる組の中の第1のビットストリームである。この組の他の各ビットストリームは、拡張レイヤと呼ばれる。特定の拡張レイヤをアドレス指定するときには、「下層レイヤ」は、この拡張レイヤに先行するビットストリームのことを言う。
サイド情報: デコーダを制御するために必要なビットストリーム中の情報。
ラン: スキャン順序において非ゼロの係数に先行するゼロ係数の数。非ゼロ係数の絶対値は、「レベル」と呼ばれる。
飽和: 必要に応じてその値を範囲の最大値または最小値に設定することにより、定義された範囲を超える値を制限すること。
ソース;入力: 符号化する前の、ビデオ・データまたはその属性の一部を説明するために使用される用語。
空間予測: 空間スケーラビリティにおいて使用される下層レイヤ・デコーダの復号化フレームから導き出される予測。
空間スケーラビリティ: 拡張レイヤも、動きベクトルを使用せずに下層レイヤから導き出されたサンプル・データからの予測を使用する、1つのタイプのスケーラビリティ。このレイヤは、異なるVOPサイズまたはVOPレートを有する可能性がある。
静的スプライト: 時間的に変化しないオブジェクトについての輝度、クロミナンス、およびバイナリ・アルファ・プレーン。
スプライト−VOP;S−VOP: 静的スプライトの全部または一部をワープすることによって得られる情報を使用して符号化される画像。
開始コード: 一意の符号化ビットストリームに埋め込まれる32ビット・コード。これ
らは、符号化シンタクス中の一部の構造を識別することを含めていくつかの目的のために使用される。
スタフィング(ビット);スタフィング(バイト): 符号化ビットストリーム中に挿入することが可能なコード・ワードであり、これは復号化工程において捨てられる。その目的は、このストリームのビット・レートを増大させることにあり、そうしないとビット・レートが所望のビット・レートより低いものになってしまう。
一時的予測: 空間予測として定義された予測以外の参照VOPから導き出される予測。一時的スケーラビリティ: 拡張レイヤも、動きベクトルを使用して下層レイヤから導き出されるサンプル・データからの予測を使用する、1つのタイプのスケーラビリティ。これらのレイヤは、同じフレーム・サイズをもつが、異なるVOPレートをもつ可能性もある。
トップ・レイヤ: スケーラブルな階層の(最高のlayer_idをもつ)最上層レイヤ。
透明マクロブロック: オール・ゼロの形状マスクを有するマクロブロック。
可変ビット・レート;VBR: ビット・レートが、符号化ビットストリームの復号化中に時間と共に変化する動作。
可変長符号化;VLC: より短いコード・ワードを頻繁に起こるイベントに割り当て、より長いコード・ワードをあまり頻繁に起こらないイベントに割り当てる符号化についての可逆的プロシージャ。
ビデオ・バッファリング検証装置;VBV: エンコーダの出力に概念的に接続される仮想的デコーダ。その目的は、エンコーダまたは編集工程が生成し得るデータ・レートの可変性に制約条件を設けることである。
ビデオ・オブジェクト;VO: フレーム内のすべてのVOPの合成。
ビデオ・オブジェクト・レイヤ;VOL: VOPの一時的順序。
ビデオ・オブジェクト・プレーン;VOP: 共に属するフレーム内の任意の形状をもつ領域。
VOP並べ換え: 符号化順序が表示のための合成順序と異なるときに再構成VOPを並べ換える工程。VOP並べ換えは、B−VOPがビットストリーム中に存在するときに生じる。低遅延のビットストリームを復号化する際にはVOP並べ換えはない。
ビデオ・セッション: 符号化ビデオ・ビットストリームの最高のシンタクス構造。これは、1つまたは複数の符号化ビデオ・オブジェクトのシリーズを含んでいる。
口形素(viseme): 音素に対応する発話音声と視覚的に相関づけられる、口、舌、およびあごの物理的(視覚的)構成。
ワーピング: 静的スプライトからスプライトVOPを抽出するために適用される処理。ワーピングは、少数の動きパラメータ(0、2、4、8)によって操作されて輝度、クロミナンス、および形状情報を回復する全体空間変換から構成される。
ジグザグ・スキャニング順序: DCT係数の(ほぼ)最低の空間周波数から最高空間周波数までの特定の逐次順序付け。
本発明は、ビデオ圧縮技術に関し、より詳細には圧縮されたビデオ・ビットストリームについての符号化技術、復号化技術およびトランスコーディング技術に関する。
本発明によれば、入力ストリームをマクロブロック・レベルまで復号化し、ヘッダ情報を分析し、このマクロブロックを逆量子化し部分的に復号化し、量子化パラメータを調整して所望の出力ストリーム特性をマッチングさせ、次いでマクロブロックを再量子化し再符号化し、ヘッダ情報の変化しないまたは不変の部分をその入力ストリームから出力ストリームへとコピーすることによって、コスト効率の高い効率のよいトランスコーダが、提供される。
ビデオ・トランスコーダ
図1は、本発明による完備したビデオ・トランスコーダ100のブロック図である。トランスコードすべき入力ビットストリーム(「古いビットストリーム」)102は、VOL(ビデオ・オブジェクト・レイヤ)ヘッダ処理ブロック110においてトランスコーダ100に入力され、3つのヘッダ処理ブロック(VOLヘッダ処理ブロック110、GOVヘッダ処理ブロック120およびVOPヘッダ処理ブロック130)、部分復号化ブロック140、トランスコード・ブロック150および再符号化ブロック160を介して逐次処理される。
このVOLヘッダ処理ブロック110は、復号化を行い、入力ビットストリーム102からVOLヘッダ・ビット112を抽出する。次に、GOV(Group Of VOP)ヘッダ処理ブロック120は、復号化を行い、GOVヘッダ・ビット122を抽出する。次に、VOP(ビデオ・オブジェクト・プレーン)ヘッダ処理ブロック130は、復号化を行い、入力VOPヘッダ・ビット132を抽出する。入力VOPヘッダ・ビット132は、量子化パラメータ情報を含めて、どのようにしてこのビットストリーム102内部の関連するマクロブロックが最初に圧縮され符号化されたかについての情報を含んでいる。
これらのVOLヘッダ・ビット、GOVヘッダ・ビットおよびVOPヘッダ・ビット(それぞれ112、122、および132)が抽出された後、(以下で説明する、マクロブロックから主として構成される)ビットストリームの残りが、部分復号化ブロック140中で部分的に復号化される。この部分復号化ブロック140は、マクロブロック・ヘッダ情報からマクロブロック・データを分離する要素と、必要に応じて(ヘッダ・ビット中に記憶されている符号化情報に従って)マクロブロック・データを使用可能な形式へと逆量子化する要素から構成されている。
レート制御ブロック180は、入力ビットストリーム102を再圧縮すべき新しい量子化パラメータ182および184を決定することによって所望の新しいビット・レート入力信号104に応答する。これは、部分的には(以下で論ずる)新しいビットストリーム162を監視し量子化パラメータ182および184を調整してこの新しいビットストリーム162を所望のビット・レートに維持することによって実現される。次いでこの新しく決定された量子化パラメータ184は、調整ブロック170中で入力VOPヘッダ・ビット132中にマージされて出力VOPヘッダ・ビット172を生成する。レート制御ブロック180はまた、量子化パラメータ情報182をトランスコード・ブロック150に供給して入力ビットストリーム102から復号化されたビデオ・データの再量子化(圧縮)を制御する。
トランスコード・ブロック150は、部分復号化ブロック140からの逆量子化されたマクロブロック・データに作用し、レート制御ブロック180からの新しい量子化パラメータ182に従ってそれを再量子化する。トランスコード・ブロック150はまた、符号化された動き補償データおよび補間データを処理してマクロブロック中に入れ、量子化エラー(量子化に起因する、元のビットストリームと再量子化されたビットストリームの間の差)を追跡しその補償を行い、再量子化されたビットストリーム中の各マクロブロックについての符号化モードを決定する。次いで再符号化ブロック160は、このトランスコーダによって決定された符号化モードに従ってこのトランスコードされたビットストリームを再符号化して新しいビットストリーム(新ビットストリーム)162を生成する。この再符号化ブロックは、VOLヘッダ・ビット、GOVヘッダ・ビット(必要な場合)およびVOPヘッダ・ビット(それぞれ112、122および132)を新しいビットストリーム162中の適切な位置に再挿入することも行う。(ヘッダ情報については、図2Aを参照して以下にさらに詳細に説明する。)
入力ビットストリーム102は、VBR(可変ビット・レート)で符号化されても、C
BR(一定ビット・レート)で符号化されてもよい。同様に、出力ビットストリームも、VBRで符号化されても、CBRで符号化されてもよい。
MPEG−4ビットストリーム構造
図2Aは、MPEG−4ビットストリーム200の構造図であり、MPEG−4仕様によって定義されているその階層構造を示している。VOLヘッダ210は、以下の情報を含んでいる。
−オブジェクト・レイヤID
−VOP時間増分分解能
−固定VOPレート
−オブジェクト・サイズ
−インターレース/非インターレース・インジケータ
−スプライト/GMC
−量子化タイプ
−量子化マトリックス(もしあれば)
VOLヘッダ210に含まれる情報は、このヘッダに続く情報のすべてがどのようにして解釈され処理されるべきかに影響を及ぼす。
このVOLヘッダに続くのがGOVヘッダ220であり、これは以下の情報を含んでいる。
−時間コード
−クローズ/オープン
−切断されたリンク
GOV(VOPグループ)ヘッダ220は、これに続く1つまたは複数のVOPの解釈および処理を制御する。
各VOPは、VOPヘッダ230と1つまたは複数のマクロブロック(MB)(240a、b、c...)を含む。VOPヘッダ230は、以下の情報を含んでいる。
−VOPコーディング・タイプ(P、B、SまたはI)
−VOP時間増分
−符号化/ダイレクト(非符号化)
−丸めタイプ
−初期量子化パラメータ(QP)
−動きベクトル(MV)のためのfcode
VOPヘッダ230は、それに続くMB(240)の復号化および解釈に影響を及ぼす。
図2Bは、マクロブロック(MB)240の一般フォーマットを示すものである。マクロブロック、すなわちMB240は、MBヘッダ242およびブロック・データ244から構成されている。MBヘッダ242に符号化される情報のフォーマットは、それを定義するVOPヘッダ230に依存する。一般的に言えば、MBヘッダ242は、以下の情報を含んでいる。
−符号化モード(イントラ、インターなど)
−符号化またはダイレクト(非符号化)
−符号化ブロック・パターン(CBP)
−AC予測フラグ(AC_pred)
−量子化パラメータ(QP)
−インターレース/非インターレース
−動きベクトル(MV)
各MBヘッダに関連するブロック・データ244は、このMBによって表される6つの8×8のピクセル・ブロックについての可変長符号化(VLC)DCT係数を含んでいる。
ヘッダ処理
再び図1を参照すると、ビットストリームを提示されるのに応じて、VOLヘッダ処理ブロック110は、識別可能なVOLヘッダがあるか入力ビットストリーム102を調べる。VOLヘッダを検出すると、この入力ビットストリームの様々な符号化レイヤ(VOL、GOV、VOPなど)に関連するヘッダを識別し復号化することによって入力ビットストリーム102の処理が開始される。VOLヘッダ、GOVヘッダおよびVOPヘッダは、以下のように処理される。
1.VOLヘッダ処理
VOLヘッダ処理ブロック110は、入力ビットストリーム102中の(MPEG−4仕様によって定義されている)VOLヘッダを検出し識別し、次いでVOLヘッダに記憶された情報を復号化する。次いでこの情報は、さらに分析し処理するためにビットストリームに沿ってGOVヘッダ処理ブロック120に渡される。VOLヘッダ・ビット112は、出力ビットストリーム(「新ビットストリーム」)162に再挿入するために分離される。レート低減トランスコーディングでは、入力ビットストリーム102と出力ビットストリーム162の間でVOLヘッダ中の情報を何も変更する必要もない。したがって、VOLヘッダ・ビット112は、その出力ビットストリーム162中の適切なロケーションに単にコピーされるだけである。
2.GOVヘッダ処理
VOLヘッダ処理ブロック110から渡された情報に基づいて、GOVヘッダ処理ブロック120は、入力ビットストリーム102中で(MPEG−4仕様によって定義されている)GOVヘッダを探索する。VOP(およびVOPヘッダ)がGOVヘッダの下で符号化されても、また符号化されなくてもよいので、VOPヘッダは、GOVヘッダと独立に発生し得る。GOVヘッダが入力ビットストリーム102中で発生する場合には、これはGOVヘッダ処理ブロック120によって識別され復号化され、GOVヘッダ・ビット122が、出力ビットストリーム162に再挿入するために分離される。復号化されたGOVヘッダ情報はどれも、さらに分析し処理するためにこの入力ビットストリームに沿ってVOPヘッダ処理ブロック130へと渡される。VOLヘッダと同様に入力ビットストリーム102と出力ビットストリーム162の間ではGOVヘッダの情報を何も変更する必要がなく、したがって、GOVヘッダ・ビット122は、出力ビットストリーム162中の適切なロケーションに単にコピーされるだけである。
3.VOPヘッダ処理
VOPヘッダ処理ブロック130は、入力ビットストリーム102中の(MPEG−4仕様によって定義されている)任意のVOPヘッダを識別し復号化する。この検出されたVOPヘッダ・ビット132は分離され、QP調整ブロック170へと渡される。この復号化されたVOPヘッダ情報はまた、さらに分析し処理するために入力ビットストリーム102に沿って部分復号化ブロック140へと渡される。この復号化されたVOPヘッダ情報は、部分復号化ブロック140およびトランスコード・ブロック150によってMB(マクロブロック)復号化およびMB処理のために使用される。MPEG−4仕様では、QPの変化がMBからMB+/−2までに制限されるので、適切な初期QPがVOPごとに指定されることが不可欠である。これらの初期QPは、VOPヘッダの一部分を形成する。レート制御ブロック180に提示される新しいビット・レート104に従って、また出力ビットストリーム162中で観察されるビット・レートとの関連で、このレート制御
ブロック180は、適切な量子化パラメータ(QP)182を決定し、次いでこれらをMB再量子化のためにトランスコード・ブロック180に提供する。適切な初期量子化パラメータ184が、検出されたVOPヘッダ・ビット132を修正するためにQP調整ブロック170に提供され、新しいVOPヘッダ・ビット172が、この初期QPを検出されたVOPヘッダ・ビット132へとマージすることによって生成される。次いで、新しいVOPヘッダ・ビット172は、出力ビットストリーム162中の適切なロケーションに挿入される。
4.MBヘッダ処理
MPEG−4は、各フレームがMB(マクロブロック)に分割されるブロックベースの符号化スキームである。各MBは、1つの16×16の輝度ブロック(すなわち、4つの8×8ブロック)と2つの8×8のクロミナンス・ブロックから構成される。VOP中のMBは、1つずつ左から右へ、上から下へと符号化される。MPEG−4仕様によって定義されているように、VOPは、VOPヘッダおよび多数のMBによって表される(図2A参照)。効率と簡潔さのために、本発明のMPEG−4トランスコーダ100では、MBが部分的にしか復号化されていない。すなわち、MBは、VLD処理(可変長復号化、またはVLC符号化データの復号化)され、逆量子化されるだけである。
図3は、部分復号化ブロック300のブロック図である(図1の130と比較されたい)。MBブロック・データは、VLC符号化され量子化されたDCT係数から構成されている。これらは、分析し処理するために、符号化されていない逆量子化係数に変換される必要がある。可変長符号化(VLC)MBブロック・データ・ビット302は、VLDブロック310によってVLD処理され、それらは符号化されていない量子化されたDCT係数へと伸張され、次いで逆量子化ブロック(Q−1)320において逆量子化され、符号化されていない逆量子化されたDCT係数322の形式の逆量子化MBデータ322が生成される。
MBヘッダ(242)およびMBブロック・データ(244)の符号化および解釈は、それらが属するVOPのタイプに依存する。MPEG−4仕様は、I−VOPすなわち「イントラ符号化」VOP、P−VOPすなわち「予測符号化」VOP、S−VOPすなわち「スプライト」VOP、およびB−VOPすなわち「双方向」予測符号化VOPの4つのタイプのVOPを定義している。VOPのタイプごとのMBヘッダ(242)中に含まれる情報、およびMBブロック・データ(244)のフォーマットおよび解釈を以下に示す。
I−VOP中のMBレイヤ
MPEG−4仕様によって定義されているように、I−VOP中のMBヘッダは、以下の符号化パラメータを含んでいる。
−MCBPC
−AC予測フラグ(AC_pred_flag)
−CBPY
−DQUANT
−Interlace_inform
I−VOPについて定義されるMBブロック・データでは、2つの符号化モード:intraおよびintra_qしか存在しない。
MCBPCは、MBのタイプおよび2つの8×8のクロミナンス・ブロックの符号化パターンを示すものである。AC_pred_flagは、AC予測を使用すべきかどうかを示すものである。CBPYは、4つの8×8の輝度ブロックの符号化パターンである。
DQUANTは、異なる量子化を示している。インターレースがVOLレイヤにおいて設定される場合には、interlace_informは、このMBブロック・データ中のDCT係数を変換する際に使用すべきDCT(離散コサイン変換)タイプを含んでいる。
P−VOP中のMBレイヤ
MPEG−4仕様によって定義されているように、P−VOP中のMBヘッダは、以下の符号化パラメータを含み得る。
−COD
−MCBPC
−AC予測フラグ(AC_pred_flag)
−CBPY
−DQUANT
−interlace_inform
−MVD
−MVD2
−MVD3
−MCD4
MBの動きベクトル(MV)は、差分符号化される。すなわち、MVではなく、動きベクトルの差(MVD)が符号化される。MVD=MV−PMVが成立し、式中でPMVは、予測されたMVである。
I−VOP中のMBブロック・データについては、not_coded、inter、inter_q、inter_4MV、intraおよびintra_qの6つの符号化モードが定義されている。
CODは、MBが符号化されているか否かを示すインジケータである。MCBPCは、MBのタイプおよび2つの8×8のクロミナンス・ブロックの符号化パターンを示す。AC_pred_flagは、MCBPCがintra符号化またはintra_q符号化のいずれかを示すときだけに存在し、この場合に、これはAC予測を使用すべきかどうかを示す。CBPYは、4つの8×8の輝度ブロックの符号化パターンである。DQUANTは、差動量子化を示すものである。インターレースがVOLヘッダ中で指定される場合には、interlace_informは、DCT(離散コサイン変換)タイプ、フィールド予測、および前方のトップまたはボトムの予測を指定する。MVD、MVD2、MVD3およびMVD4は、MCBPCによって指定される符号化にとって適切なときだけ存在する。ブロック・データは、MCBPCおよびCBPYによって指定される符号化にとって適切なときだけ存在する。
S−VOP中のMBレイヤ
MPEG−4仕様によって定義されているように、P−VOP中のMBヘッダは、以下の符号化パラメータを含み得る。
−COD
−MCBPC
−MCSEL
−AC_pred_flag
−CBPY
−DQUANT
−Interlace_inform
−MVD
−MVD2
−MVD3
−MCD4
P−VOP中で定義される6つの符号化モードに追加して、MPEG−4仕様は、inter_gmcおよびinter_gmc_qという、S−VOPについての2つの追加符号化モードを定義している。MCSELは、MCBPCによって指定される符号化タイプがinterまたはinter_qであるときだけ、MCBPCの後で発生する。MCSELがセットされるときには、MBは、inter_gmcまたはinter_gmc_qで符号化され、MVD(MVD、MVD2、MVD3、MVD4)はどれも、後に続かない。
Inter_gmcは、MBが全体動き補償を用いたinterモード中で符号化される場合の符号化モードである。
B−VOP中のMBレイヤ
MPEG−4仕様によって定義されているように、P−VOP中のMBヘッダは、以下の符号化パラメータを含み得る。
−MODB
−MBTYPE
−CBPB
−DQUANT
−Interlace_inform
−MVDf
−MVDb
−MVDB
MODBが示す場合には、CBPBは、B−VOPについての符号化ブロック・パターンを表す3から6ビットのコードである。MODBは、B−VOPの符号化マクロブロック中にのみ存在する可変長コードである。MODBは、MBTYPE情報および/またはCBPB情報がこのマクロブロック中に存在するかどうかを示す。
MPEG−4仕様は、not_coded、direct、interpolate_MC_Q、backward_MC_Q、およびforward_MC_Qという、B−VOP中のMBについての5つの符号化モードを定義している。最新のI−VOPまたはP−VOPのMBがskippedである場合には、B−VOP中の対応するMBもskippedである。そうでない場合には、このMBはnon−skippedである。MODBは、B−VOP中のあらゆるnon−skippedのMBについて存在する。MODBは、MBTYPEおよびCBPBが後に続いているかどうかを示す。MBTYPEは、動きベクトル・モード(存在するMVDf、MVDbおよびMVDB)および量子化(DQUANT)を示す。
トランスコーディング
再び図1を参照すると、部分復号化ブロック140におけるVLD復号化および逆量子化の後に、復号化され逆量子化MBブロック・データ(図3の322を参照)は、(以前の処理ブロックにおいて決定された情報と共に)トランスコーディング・エンジン150に渡される。このトランスコード・ブロック150は、(以下により詳細に説明する)レート制御ブロックからの新しい量子化パラメータ(QP)182を使用してこの逆量子化MBブロック・データを再量子化し、再符号化された(トランスコードされた)MBを構築し、この新しいMBに適した新しい符号化モードを決定する。(このMBヘッダにおいて指定される)VOPタイプおよびMB符号化は、このトランスコード・ブロック150
が、部分復号化ブロック140からの復号化され逆量子化されたブロック・データを処理する方法に影響を及ぼす。(VOPタイプ/MBヘッダによって定義される)各MBタイプは、この新しいMBについての符号化タイプを決定するための(以下で詳細に説明する)特定の戦略を有している。
図4A〜4Gは、復号化され逆量子化されたブロック・データを処理する際に使用される様々なトランスコーディング技術のブロック図であり、様々なVOPタイプ/MB符号化タイプの説明に関連して以下で考察する。
I−VOP中のMBのトランスコーディング
I−VOP中のMBは、intraモードまたはintra_qモードで符号化され、すなわちこれらは、以前のまたは後続の他のVOPを参照することなく符号化される。図4Aは、intra/intra_qで符号化されたMBを処理するように構成されたトランスコード・ブロック400aのブロック図である。逆量子化MBデータ402(図3の322と比較されたい)が、トランスコード・ブロック400aに入力され、量子化ブロック410に対して提示される。この量子化器ブロックは、レート制御ブロック(図1の180を参照)からの新しいQP412に従って逆量子化MBデータ402を再量子化し、結果として得られる再量子化MBデータをモード決定ブロック480に提示しており、ここでは再量子化MBデータを再符号化するのに適したモード選択が行われる。この再量子化MBデータおよびモード選択482は、再エンコーダ(図1、160参照)に渡される。この符号化モード決定を行う技術については、以下でより詳細に説明する。intra/intra_q符号化モードにおける逆量子化MBデータは、動き補償(MC)なしに直接に量子化される。この再量子化MBは、逆量子化器ブロック420(Q−1)にも渡され、ここでは、量子化方法は行われずにDCT係数が生成される。当業者には容易に理解されるように、トランスコード・ブロック400aに提示される逆量子化MBデータ402も逆量子化ブロック420によって生成されるDCT係数も、トランスコードされるMBによって表されるビデオ画像データの周波数ドメイン表現である。しかし、量子化ブロック410によって行われる量子化が、逆量子化MBデータ402が導き出された元のMBデータ上で使用されるものとは(まず間違いなく)異なるQPに従って実施されるので、逆量子化ブロック420から出てくるDCT係数とトランスコード・ブロック400aに提示される逆量子化MBデータ402の間には差があることになる。これらの差は、差分ブロック425において計算され、IDCTブロック430においてIDCT(逆離散コサイン変換)処理されて、これらの差からもたらされる最終出力ビデオ・ビットストリーム中の量子化エラーを表す「エラー画像」が生成される。この量子化エラーのエラー画像表現は、フレーム・バッファ440(FB2)に記憶される。この量子化エラーは、正または負のいずれも取り得るがピクセル・データには符号がないので、このエラー画像表現には、FB2のダイナミック・レンジの2分の1だけのオフセットが与えられる。例えば、8ビット・ピクセルを想定すると、FB2中の任意の入力は、0から255の範囲を取り得る。この場合には、−128から+127に至るエラー画像が、0から255のFB2入力値に対応するようにするためには、この画像データが、上方に+128分だけバイアスされることになるはずである。このFB2の内容は、他のVOPタイプ/符号化タイプに関連するMBと組み合わせて動き補償(MC)のために記憶される。
数値変換(ここでは、異なるタイプの数、例えば符号付きおよび符号なしの数が、混合される)を取り扱う多数の異なる方法が可能であること、また以上で説明したバイアス技術は、これらの技術のうちの代表的な1つにすぎず、限定する意図はないことを当業者ならすぐに理解されよう。
I−VOP中のMBはどれもskippedである可能性がないことに留意されたい。
P−VOP中のMBのトランスコーディング
P−VOP中のMBは、intra/intra_q、inter/inter_q/inter_4MV、またはskippedモードで符号化される可能性がある。差分タイプのMB(inter、inter_q、inter_4MV)は、異なる方法でトランスコードされる。P−VOPのintra/intra_qにより符号化されたMBは、図4Aに示しこの図に関連して以上で説明したようにトランスコードされる。inter、inter_q、およびinter_4MVにより符号化されたMBは、図4Bに示すようにトランスコードされる。skipped MBは、図4Cに示すように処理される。
図4Bは、VOPヘッダおよびMBヘッダによって示されるように、元々、inter、inter_q、inter_4MVにより符号化されたMBデータのトランスコーディングに対して適合化されたトランスコード・ブロック400bのブロック図である。これらの符号化モードは動き補償を使用している。P−VOPをトランスコーディングするまえにフレーム・バッファFB2 440の内容が、フレーム・バッファFB1 450に転送される。FB1の内容は、動き補償ブロック460に提示される。FB2 440へのその記憶に先立ってそのエラー画像データに加えられたバイアスが、FB1 450からの検索に際しては逆に加えられる。この動き補償ブロック460(MC)はまた、符号化モードおよび(MBヘッダ部分復号化部(図3参照)からの)動きベクトル情報を受け取り、MPEG−4仕様において指定されているように動作して、動き補償「画像」を生成し、次いでこの画像がDCTブロック470中でDCT処理されて動き補償DCT係数が生成される。次いでこれらの動き補償DCT係数が、結合ブロック405中で着信する逆量子化MBデータと組み合わされて、動き補償されたMBデータが生成される。結果として得られる組合せでは、実際には、このトランスコードされたMBエラー(異なるQPを使用した再量子化の結果としての、元のMBデータとトランスコードされたMBデータ482との差)に対してしか動き補償は適用されない。
この動き補償されたMBデータは、量子化ブロック410に提示される。図4Aに示しこの図に関連して以上で説明したのと同様にして、この量子化器ブロックは、このレート制御ブロック(図1の180を参照)からの新しいQP412に従ってこの動き補償されたMBデータを再量子化し、結果として得られる再量子化MBデータをモード決定ブロック480に提示しており、ここで、適切なモード選択が、この再量子化MBデータを再符号化するために行われる。この再量子化MBデータおよびモード選択485は、再エンコーダ(図1の160参照)に対して渡される。この符号化モードの決定を行う技術については、以下でより詳細に説明している。この再量子化MBは、逆量子化器ブロック420(Q−1)にも渡され、ここでは量子化方法は行われずにDCT係数が生成される。以前と同様に、量子化ブロック410によって行われる量子化が、逆量子化MBデータ402が導き出された元のMBデータ上で使用されるものとは異なるQPに従って実施されるので、逆量子化ブロック420から出てくるDCT係数とこの動き補償されたMBデータとの差が、差分ブロック425中で計算され、IDCTブロック430においてIDCT(逆離散コサイン変換)処理されてこれらの差からもたらされる最終出力ビデオ・ビットストリーム中の量子化エラーを表す「エラー画像」が生成される。この量子化エラーのこのエラー画像表現は、以前と同様にフレーム・バッファFB2 440に記憶される。この量子化エラーは正または負のいずれを取ってもよいがピクセル・データには符号が付かないので、このエラー画像表現には、FB2のダイナミック・レンジの2分の1だけのオフセットが与えられる。
図4Cは、VOPヘッダおよびMBヘッダによって示されるように、元々「skipped」として符号化されるMBに適合化されたトランスコード・ブロック400cのブロック図である。この場合には、このMBおよびMBデータは、符号化モードがまるで「inter」であるかのように、またすべての係数(MBデータ)およびすべての動き補償
ベクトル(MV)がまるでゼロであるかのように取り扱われる。これは、すべての逆量子化MBデータ402およびすべての動きベクトル462(MV)をゼロにすることにより、また図4Bに示しこの図に関連して以上で説明したようにトランスコードすることによって簡単に実現される。以前のフレームからの残留エラー情報に起因して、結合ブロック405が生成するこの動き補償されたMBデータが符号化すべき画像情報を示す非ゼロ・エレメントを含むようになることは可能である。したがって、skipped MBがトランスコーディング後にnon−skipped MBを生成することは可能である。これは、レート制御ブロック(図1の180参照)によって割り当てられる新しいQP412がMBごとに変化し得るからである。最初にnon−skippedのMBが、再量子化後に非ゼロのDCT係数をもたないこともある。他方、最初にskippedのMBが、MCおよび再量子化後に一部非ゼロのDCT係数を有することもある。
S−VOP中のMBのトランスコーディング
S−VOP、すなわち「スプライト−VOP」は、P−VOPに類似しているが、inter_gmcおよびinter_gmc_qという2つの追加のMB符号化モードも可能にしている。intra、intraq_q、inter、inter_q、およびinter_4MVにおいて最初に符号化されたS−VOPのMBは、同様に符号化されたP−VOPのMBについて以上で説明したのと同様に処理される。inter_gmc、inter_gmc_q、およびskippedモードで最初に符号化されたS−VOP
MBは、図4Dに示すように処理される。
図4Dは、VOPヘッダおよびMBヘッダによって示されるように、元々inter_gmc、inter_gmc_qであったMBデータのトランスコーディングに対して適合化されたトランスコード・ブロック400dのブロック図である。これらの符号化モードは、GMC(全体動き補償)を使用している。P−VOPと同様に、S−VOPをトランスコードする以前に、フレーム・バッファFB2 440の内容が、フレーム・バッファFB1 450に転送される。FB1のこの内容は、GMCのために構成されている動き補償ブロック460に提示される。FB2 440へのその記憶に先立ってそのエラー画像データに加えられたバイアスが、FB1 450からの検索に際しては逆に加えられる。この動き補償ブロック460(MC)は、(MBヘッダ部分復号化部(図3参照)から)GMCパラメータ情報462も受け取り、MPEG−4仕様において指定されているように動作して、GMC「画像」を生成し、次いでこの画像がDCTブロック470中でDCT処理されて動き補償DCT係数が生成される。次いでこれらの動き補償DCT係数が、結合ブロック405中で着信する逆量子化MBデータと組み合わされて、GMC MBデータが生成される。結果として得られる組合せでは、実際には、このトランスコードされたMBエラー(異なるQPを使用した再量子化の結果としての、元のMBデータとトランスコードされたMBデータ482との差)に対してしかGMCは適用されない。
このGMC MBデータは、量子化ブロック410に提示される。図4A〜4Cに示しこれらの図に関連して以上で説明したのと同様にして、この量子化器ブロックは、このレート制御ブロック(図1の180を参照)からの新しいQP412に従ってこのGMC MBデータを再量子化し、結果として得られる再量子化MBデータをモード決定ブロック480に提示しており、ここで、適切なモード選択が、この再量子化MBデータを再符号化するために行われる。この再量子化MBデータおよびモード選択485(図1には485は見出され得ない)は、再エンコーダ(図1の160参照)に対して渡される。この符号化モードの決定を行う技術については、以下でより詳細に説明している。この再量子化MBは、逆量子化器ブロック420(Q−1)にも渡され、ここでは量子化方法は行われなくてDCT係数が生成される。以前と同様に、量子化ブロック410によって行われる量子化が、逆量子化MBデータ402が導き出された元のMBデータ上で使用されるものとは異なるQPに従って実施されるので、逆量子化ブロック420から出てくるDCT係
数とこのGMC MBデータとの差が、差分ブロック425中で計算され、IDCTブロック430においてIDCT(逆離散コサイン変換)処理されてこれらの差からもたらされる最終出力ビデオ・ビットストリーム中の量子化エラーを表す「エラー画像」が生成される。この量子化エラーのこのエラー画像表現は、以前と同様にフレーム・バッファFB2 440に記憶される。この量子化エラーは正または負の可能性があるがピクセル・データには符号が付かないので、このエラー画像表現には、FB2のダイナミック・レンジの2分の1だけのオフセットが与えられる。
図4Eは、VOPヘッダおよびMBヘッダによって示されるように、元々「skipped」として符号化されるMBに適合化されたトランスコード・ブロック400eのブロック図である。この場合には、このMBおよびMBデータは、符号化モードがまるで「inter_gmc」であるかのように、またすべての係数(MBデータ)がまるでゼロであるかのように取り扱われる。これは、このモード選択を行いGMC動き補償(462)を設定し、またすべての逆量子化MBデータ402をゼロにすることにより、また次いで図4Dに示しこの図に関連して以上で説明したようにトランスコードすることによって簡単に実現される。以前のフレームからの残留エラー情報に起因して、結合ブロック405が生成するGMC MBデータが符号化すべき画像情報を示す非ゼロ・エレメントを含むようになることは可能である。したがって、skipped MBがトランスコーディング後にnon−skipped MBを生成することは可能である。これは、レート制御ブロック(図1の180参照)によって割り当てられる新しいQP412がMBごとに変化し得るからである。最初にnon−skippedのMBが、再量子化後に非ゼロのDCT係数をもたないこともある。他方、最初にskippedのMBが、GMCおよび再量子化後に一部非ゼロのDCT係数を有することもある。
B−VOP中のMBのトランスコーディング
B−VOP、すなわち「双方向予測符号化VOP」は、新しい画像データを符号化するのではなく、代わりに過去のI−VOPまたはP−VOP、将来のI−VOPまたはP−VOP、またはその両方の間で補間をとる。(「将来の」VOP情報は、フレーム順になっていないB−VOPを処理することによって獲得され、すなわち画像情報が由来する「将来の」VOPにちなんだものである)。ダイレクト(direct)、補間(interpolate)、後方(backward)および前方(forward)という4つの符号化モードがB−VOPについて定義されている。これらのモード中のB−VOP MBのトランスコーディングが、図4Fに示されている。最初に「skipped」として符号化されたB−VOP MBのトランスコーディングは、図4Gに示されている。
図4Fは、VOPヘッダおよびMBヘッダによって示されるように、元々はdirect、forward、backwardまたはinterpolateモードで符号化されたMBデータのトランスコーディングに適合化されたトランスコード・ブロック400fのブロック図である。これらの符号化モードは、動き補償を使用している。トランスコーディングに先立って、以前(および/または将来)のVOPからのエラー画像情報が、フレーム・バッファFB1 450に配置される。FB1のこの内容は、動き補償ブロック460に提示される。フレーム・バッファFB1 450へのその記憶に先立ってそのエラー画像データに加えられたバイアスはどれも、フレーム・バッファFB1 450からの検索に際しては逆に加えられる。この動き補償ブロック460(MC)は、(このMBヘッダ部分復号化部(図3参照)から)動きベクトル(MV)および符号化モード情報462を受け取り、MPEG−4仕様において指定されているように動作して、動き補償されたMC「画像」を生成し、次いでこの画像がDCTブロック470中でDCT処理されてMC DCT係数が生成される。次いでこれらのMC DCT係数が、結合ブロック405中で着信する逆量子化MBデータ402と組み合わされて、MC MBデータが生成される。結果として得られる組合せでは、実際には、符号化モードに応じて他のVOP
(以前、将来、またはその両方)からのこのトランスコードされたMBエラー(異なるQPを使用した再量子化の結果としての、元のMBデータとトランスコードされたMBデータ482との差)に対してしか動き補償は適用されない。
このMC MBデータは、量子化器ブロック410に提示される。この量子化器ブロックは、レート制御ブロック(図1の180を参照)からの新しいQP412に従ってこのMC MBデータを再量子化し、結果として得られる再量子化MBデータをモード決定ブロック480に提示し、ここで適切なモード選択が、この再量子化MBデータを再符号化するために行われる。この再量子化MBデータおよびモード選択485は、この再エンコーダ(図1の160参照)に渡される。この符号化モード決定を行う技術については以下でより詳細に説明している。B−VOPはさらなる動き補償においては決して使用されないので、量子化エラーおよびそれらの結果エラー画像は、B−VOPについては計算され記憶されることはない。
図4Gは、VOPヘッダおよびMBヘッダによって示されるように、元々「skipped」として符号化されたB−VOP MBに適合化されたトランスコード・ブロック400gのブロック図である。この場合には、このMBおよびMBデータは、この符号化モードがまるで「direct」であるかのように、またすべての係数(MBデータ)および動きベクトルがまるでゼロであるかのように取り扱われる。これは、このモード選択および動きベクトル462を強いてそれぞれ「forward」およびゼロにし、またすべての逆量子化MBデータ402を強制的にゼロにすることにより、また次いで図4Fに示しこの図に関連して以上で説明したようにトランスコードすることによって簡単に実現される。以前のフレームからの残留エラー情報に起因して、結合ブロック405が生成するこのMC MBデータが、符号化すべき画像情報を示す非ゼロ・エレメントを含むようになることは可能である。したがって、skipped MBがトランスコーディング後にnon−skipped MBを生成することは可能である。これは、レート制御ブロック(図1の180参照)によって割り当てられる新しいQP412がMBごとに変化し得るからである。最初にnon−skippedのMBが、再量子化後に非ゼロのDCT係数をもたないこともある。他方、最初にskippedのMBが、GMCおよび再量子化後に一部非ゼロのDCT係数を有することもある。
図4A〜4Gに示しこれらの図に関連して以上で説明したブロック図の間にはかなりの共通点があることが当業者には明らかであろう。様々な符号化モードをトランスコードするためにまるで別々のエンティティが存在するように以上では説明しているが、以上で説明したすべての符号化モードでは、1つのトランスコード・ブロックを簡単に提供してトランスコード動作のすべてに対応可能なようにすることが可能である。例えば、MCブロックがGMCにも対応することが可能である、図4Bに示すようなトランスコード・ブロックでは、前述のトランスコード動作のすべてを実現することが可能である。これは、非常に効率がよく、好ましい実装形態である。図1のトランスコード・ブロック150は、別々の専用トランスコード・ブロックのグループとして実装されても、あるいは単一の汎用トランスコード・ブロックとして実装されても、完備したトランスコーダ100の集約したトランスコード機能を意味している。
モード決定
トランスコーディングに関しての前述の考察においては、各トランスコード・シナリオが、符号化モードの適切な選択に従って新しいMBデータを再符号化する工程を含んでいる。符号化モードを決定するための方法を、図5、6、7a、7b、8aおよび8bに示す。これらの図に関連する以下の考察の全体を通して、この説明中のアクションおよび決定に対応するこれらの図面からの参照番号は、括弧で囲んで示している。
I−VOPについての符号化モード決定
図5は、I−VOP MBについての再符号化モードを決定する方法を示すフローチャート500である。判断工程505において、新しいQP(q)が以前のQP(qi−1)と同じかどうかが判定される。それらが同じ場合、この新しい符号化モード(再符号化モード)が、工程510においてintraに設定される。そうでない場合には、この新しい符号化モードは、工程515においてintra_qに設定される。
P−VOPについての符号化モード決定
図6は、P−VOP MBについての再符号化モードを決定する方法を示すフローチャート600である。第1の判断工程605において、元のP−VOP MB符号化モードがintraまたはintra_qのどちらかであった場合には、このモード決定工程は判断工程610へと進む。そうでない場合には、このモード決定工程は、判断工程625へと進む。
この判断工程610において、その新しいQP(q)が以前のQP(qi−1)と同じである場合、この新しい符号化モードは、工程615においてintraに設定される。そうでない場合には、この新しい符号化モードは、工程620においてintra_qに設定される。
判断工程625において、この元のP−VOP MB符号化モードがinterまたはinter_qのどちらかであった場合、モード決定工程は、判断工程630へと進む。そうでない場合には、モード決定工程は、判断工程655へと進む。
判断工程630において、新しいQP(q)が以前のQP(qi−1)と同じでない場合、この新しい符号化モードは、工程635においてinter_qに設定される。それらが同じ場合には、モード決定工程は、判断工程640へと進み、ここではその符号化ブロック・パターン(CBP)がオール・ゼロであり、かつそれらの動きベクトル(MV)がゼロであるかどうかが判定される。それらがそうである場合、この新しい符号化モードは、工程645において「skipped」に設定される。そうでない場合には、この新しい符号化モードは、工程650においてinterに設定される。
判断工程655において、最初の符号化モードが以前にinter、inter_q、intraまたはintra_qではないと判定されているので、この場合にこの符号化モードは、唯一の他の可能性であるinter_4MVであるものと想定される。その符号化ブロック・パターン(CBP)がオール・ゼロであり、かつそれらの動きベクトル(MV)がゼロである場合には、この新しい符号化モードは、工程660において「skipped」に設定される。そうでない場合には、この新しい符号化モードは、工程665においてinter_4MVに設定される。
S−VOPについての符号化モード決定
図7aおよび7bは、S−VOP MBについての再符号化モードを決定する方法を示す1つのフローチャートを組み合わせて形成するフローチャート部分700aおよび700bである。コネクタ「A」および「B」は、フローチャート部分700aと700bの間の接続点を示す。図7aおよび7bを組み合わせて説明する。
判断工程705において、元のS−VOP MB符号化モードが、intraまたはintra_qのどちらかであった場合には、このモード決定工程は、判断工程710へと進む。そうでない場合には、モード決定工程は、判断工程725へと進む。
判断工程710において、その新しいQP(q)が以前のQP(qi−1)と同じで
ある場合、この新しい符号化モードは、工程715においてintraに設定される。そうでない場合には、この新しい符号化モードは、工程720においてintra_qに設定される。
判断工程725において、元のS−VOP MB符号化モードがinterまたはinter_qのどちらかであった場合には、モード決定工程は、判断工程730へと進む。そうでない場合には、モード決定工程は、判断工程755へと進む。
判断工程730において、この新しいQP(q)が以前のQP(qi−1)と同じでない場合、この新しい符号化モードは工程735においてinter_qに設定される。これらが同じ場合には、モード決定工程は、判断工程740へと進み、ここでその符号化ブロック・パターン(CBP)オール・ゼロであり、かつそれらの動きベクトル(MV)がゼロであるかどうかが判定される。これらがそうである場合には、この新しい符号化モードは、工程745において「skipped」に設定される。そうでない場合には、この新しい符号化モードは、工程750においてinterに設定される。
判断工程755において、元のS−VOP MB符号化モードがinter_gmcまたはinter_gmc_qであった場合には、モード決定工程は、判断工程760へと進む。そうでない場合には、モード決定工程は、(コネクタ「A」を経由して)判断工程785へと進む。
判断工程760において、この新しいQP(q)が以前のQP(qi−1)と同じでない場合、この新しい符号化モードは工程765においてinter_gmc_qに設定される。これらが同じ場合には、モード決定工程は、判断工程770へと進み、ここでこの符号化ブロック・パターン(CBP)がオール・ゼロであるかどうかが判定される。そうである場合には、この新しい符号化モードは、工程775において「skipped」に設定される。そうでない場合には、この新しい符号化モードは、工程780においてinterに設定される。
判断工程785において、元の符号化モードが以前にinter、inter_q、inter_gmc、inter_gmc_q、intraまたはintra_qではないと判定されているので、この場合には他の唯一の可能性としてinter_4MVであるものと想定される。その符号化ブロック・パターン(CBP)が、オール・ゼロであり、かつそれらの動きベクトル(MV)がゼロである場合には、この新しい符号化モードは、工程790において「skipped」に設定される。そうでない場合には、この新しい符号化モードは、工程795においてinter_4MVに設定される。
B−VOPについての符号化モード決定
図8aおよび8bは、B−VOPについての再符号化モードを決定する方法を示す1つのフローチャートを組み合わせて形成するフローチャート部分800aおよび800bである。コネクタ「C」および「D」は、これらフローチャート部分800aと800bとの結合ポイントを示す。図8aおよび8bを組み合わせて説明する。
第1の判断工程805において、以前のP−VOP中の共に配置されたMB(符号化ビデオ画像中の同じ位置に対応するMV)がskippedとして符号化される場合には、この新しい符号化モードは、工程810においてskippedに設定される。そうでない場合には、モード決定工程は、判断工程815へと進み、ここでこの元のB−VOP MB符号化モードが「interpolated」(interp_MCまたはinterp_MC_q)であったかどうかが判定される。そうである場合、このモード決定工程は、判断工程820へと進む。そうでない場合には、モード決定工程は、判断工程835
へと進む。
判断工程820において、この新しいQP(q)が以前のQP(qi−1)と同じである場合、この新しい符号化モードは、工程825においてinterp_MCに設定される。そうでない場合には、この新しい符号化モードは、工程830においてinterp_MC_qに設定される。
判断工程835において、この元のB−VOP MB符号化モードが「backward」(backwdまたはbackwd_qのどちらか)であった場合には、モード決定工程は、判断工程840へと進む。そうでない場合には、モード決定工程は、判断工程855へと進む。
判断工程840において、この新しいQP(q)が以前のQP(qi−1)と同じである場合、この新しい符号化モードは、工程845においてbackward_MCに設定される。そうでない場合には、この新しい符号化モードは、工程850においてbackward_MC_qに設定される。
判断工程855において、この元のB−VOP MB符号化モードが「forward」(forward_MCまたはforward_MC_qのどちらか)であった場合には、モード決定工程は、判断工程860へと進む。そうでない場合には、モード決定工程は、(コネクタ「C」を経由して)判断工程875へと進む。
判断工程860において、この新しいQP(q)が以前のQP(qi−1)と同じである場合、この新しい符号化モードは、工程865においてforward_MCに設定される。そうでない場合には、この新しい符号化モードは、工程870においてforward_MC_qに設定される。
判断工程875において、この元の符号化モードが以前にinterp_MC、interp_MC_q、backwd_MC、backwd_MC_q、forwardまたはforward_MC_qではないと判定されているので、この場合には他の唯一の可能性としてdirectであるものと想定される。その符号化ブロック・パターン(CBP)がオール・ゼロであり、かつそれらの動きベクトル(MV)がゼロである場合には、この新しい符号化モードは、工程880において「skipped」に設定される。そうでない場合には、この新しい符号化モードは、工程885においてdirectに設定される。
再符号化
図9は、再符号化ブロック900(図1の160と比較されたい)のブロック図であり、ここでは、4つの符号化モジュール(910、920、930、940)を使用して様々な再符号化タスクが処理される。この再符号化ブロック900は、トランスコード・ブロック(図1の150、および図4A〜4Gを参照)から再符号化するための逆量子化MBデータおよび再符号化モードから構成されるデータ905を受信している。この再符号化モードは、どの再符号化モジュールを使用してこの逆量子化MBデータを再符号化するかを決定する。この再符号化されたMBデータを使用して新しいビットストリーム945が提供される。
Intra_MB再符号化モジュール910を使用してI−VOP、P−VOP、またはS−VOPのMBについてintraモードおよびintra_qモードで再符号化が行われる。Inter_MB再符号化モジュール920を使用してP−VOPまたはS−VOPのMBについてinterモード、inter_qモード、およびinter_4
MVモードで再符号化が行われる。GMC_MB再符号化モジュール930を使用してS−VOPのMBについてinter_gmcモードおよびinter_gmc_qモードで再符号化が行われる。B_MB再符号化モジュールは、すべてのB−VOP MB符号化モード(interp_MC、interp_MC_q、forward、forward_MC_q、backwd、backwd_MC_qおよびdirect)を処理する。
この新しいビットストリーム945においては、様々なVOPにおけるMBレイヤの構造が同じままとなるが、各フィールドの内容は異なる可能性がある。詳細には、以下のようである。
VOPヘッダ生成
I−VOPヘッダ
MBレイヤ中のすべてのフィールドを、古いビットストリームと異なるように符号化してもよい。これは、部分的にはこのレート制御エンジンが任意のMBについて新しいQPを割り当てることもあるためである。その場合には、この結果、MBについて異なるCBPがもたらされる。AC係数は、この新しいQPによって逆量子化されるが、intraモードにおけるすべてのDC係数は、常に8ごとに量子化される。したがって、この再量子化されたDC係数は、最初に符号化されたDC係数に等しい。intraモードにおける量子化されたこのDC係数は、空間予測符号化されている。その予測方向は、現行ブロックの量子化されたDC係数と隣接したブロック(すなわち、マクロブロック)の間の差に基づいて決定される。この量子化されたDC係数が不変なので、DC係数についてのこの予測方向も変更されないことになる。AC予測方向は、このDC予測方向の跡をたどる。しかし、MBについて割り当てられたこの新しいQPが最初に符号化されたQPと異なることもあり得るので、このスケールされたAC予測も異なることもある。これによってAC予測フラグ(ACpred_flag)の異なる設定がもたらされることもあり、これによってAC予測が、有効かまたは無効かが示される。この新しいQPは、差分符号化される。さらに、MBごとのQPの変更がレート制御ブロック(図1の180参照)によって決定されるので、このDQUANTパラメータが同様に変更されることもある。
P−VOPヘッダ
MVDを除いてMBレイヤ中のすべてのフィールドは、古いビットストリームと異なっていてもよい。intraモードおよびintra_qモードで符号化されたMBは、I−VOPについてと同様に再符号化される。inter MBおよびinter_q MBは、新ビットストリームの特性が必要とするように符号化されても符号化されなくてもよい。これらのMVは、差分符号化される。MBについてのPMVは、隣接するMVの中央値である。MVが不変なので、PMVも同様に不変である。したがって、同じMVDが再符号化されてこの新ビットストリーム中に入っている。
S−VOPヘッダ
MVDを除いてMBレイヤ中のすべてのフィールドは、古いビットストリームと異なっていてもよい(図6)。intra MB,intra_q MB、inter MBおよびinter_q MBは、I−VOPおよびP−VOPにおけると同様に再符号化される。GMC_MBでは、これらのパラメータは不変である。
B−VOPヘッダ
MVDを除いてMBレイヤ中のすべてのフィールドは、古いビットストリームと異なることもある。MVは、MPEG−4中のPMVおよびDMVから計算される。B−VOP符号化モード中のPMVは、このトランスコーディング工程によって変更することが可能である。MV再同期化工程は、そのトランスコードされたビットストリームが入力ビット
ストリーム中の元のMVと同一のMVを生成可能なようにDMV値を修正する。デコーダは、後方向および前方向についてPMVを記憶する。directモードについてのPMVは、常にゼロであり、後方PMVおよび前方PMVと独立に処理される。PMVは、MBが(それぞれ前方、後方またはその両方向に)MCで符号化されるときに、(前方、後方またはその両方向に)各MB行の先頭のゼロまたはMBの値のどちらかで置き換えられる。PMVは、MBがskippedとして符号化されるときには不変である。したがって、MBがskippedモードからMC符号化モードに変化し、またはその逆に変化する場合にはトランスコードされたビットストリームによって生成されるPMVは、入力ビットストリーム中のPMVとは異なる可能性がある。この復号化工程および再符号化工程におけるPMVが、独立に記憶された2つの別々の変数であることが好ましい。この再符号化工程は各行の先頭においてPMVをリセットし、MBがMCで符号化されるときはいつでもPMVを更新する。さらに、この再符号化工程は、MV、PMVの残りを見出し、このトランスコードされたビットストリーム中に含めるためにそのVLC(可変長コード)を決定する。MBがskippedとして符号化されないときはいつでも、PMVは更新され、MVの残りおよびその対応するVLCは再計算される。
レート制御
図1をもう一度参照すると、このレート制御ブロック180は、目標ビット・レート104に基づいてトランスコードするための新しい量子化パラメータ(QP)を決定している。このレート制御ブロックは、VOPタイプ、このVOPタイプの複雑さ、タイム・ウィンドウ内のVOP数、このタイム・ウィンドウに割り付けられたビット数、シーン変化などに基づいて各VOPに目標ビット数を割り当てる。MPEG−4では、QPの変化がMBからMB+/−2までに制限されるので、VOP当たりの適切な初期QPが、この目標レートを満たすように計算される。これは、以下の式に従って実現される。
Figure 2005526457

式中では、以下が定義される。
oldは、VOP当たりのビット数である。
newは、この目標ビット数である。
oldは、古いQPである。
newは、新しいQPである。
このQPは、VOP当たりの目標ビット数を満たすようにMBごとのベースで調整される。この出力ビットストリーム(新ビットストリーム162)を検査してターゲットVOPビット割付けが満たされたかどうかを調べる。使用ビットがあまりにも多すぎる場合には、このQPを増大させる。使用ビットがあまりにも少なすぎる場合には、このQPを減少させる。
MPEG−4トランスコーダの性能を評価する際に、いくつかのテスト・ビデオ・シーケンスについてシミュレーションが実行される。すべてのシーケンスはCIFフォーマット:352×288および4:2:0である。このテスト・シーケンスは、1Mビット/秒でMPEG−4エンコーダを使用してまず符号化される。次いでこの圧縮されたビットストリームが、500Kビット/秒における新しいビットストリームにトランスコードされる。比較の目的で、この同じシーケンスは、さらに500Kビット/秒で直接に符号化
されるMPEG−4を使用して符号化される。この結果が図10のテーブルに提示されており、このテーブルは、500Kビット/秒におけるダイレクトMPEG−4とトランスコーダを使用したCIF解像度のシーケンスについてのPSNRを示している。この図から分かるように、ダイレクトMPEG−4とトランスコーダによるPSNRの差は約2分の1のdBであり、バスについては0.28dB、花については0.49dB、自動車については0.58dB、また嵐(tempete)については0.31dBである。この品質損失は、このトランスコーダがビデオ信号を2回量子化しており、したがって追加の量子化ノイズが導入されることに起因している。
1例として、図11は、平均ビット・レートに関するPSNRの観点でVBRにおける、または固定のQPを用いたバス・シーケンスについてのトランスコーダの性能を示すものである。このダイアモンド線は、固定のQP=4、6、8、10、12、14、16、18、20および22におけるダイレクトMPEG−4である。次いでQP=4を用いた圧縮されたビットストリームが、QP=6、8、10、12、14、16、18、20および22においてトランスコードされる。低いレートでは、このトランスコードされた性能は、ダイレクトMPEG−4に非常に近いが、高いレートでは約1dBの差がある。カスケード符号化とトランスコーダの性能は、ほとんど同じである。しかし、このトランスコーダの実装は、このカスケード符号化に比べてずっと簡単である。
本発明を様々な特定の実施形態に関して説明してきたが、特許請求の範囲に記載の本発明の趣旨および範囲を逸脱することなく、多数の適合化および変更をこれらに対して行うことが可能なことを当業者なら理解されよう。
本発明による完備したビデオ・トランスコーダのブロック図。 本発明による典型的なMPEG−4ビデオ・ストリームの構造図。 本発明による典型的なMPEG−4マクロブロック(MB)の構造図。 本発明による、符号化MBからデータを抽出するための技術のブロック図。 本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。 本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。 本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。 本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。 本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。 本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。 本発明による、様々な異なる符号化フォーマットに適用される、完備したビデオ・トランスコーダのうちのトランスコード部分のブロック図。 本発明による、I−VOPについての再符号化モードを決定するための技術のフローチャート。 本発明による、P−VOPについての再符号化モードを決定するための技術のフローチャート。 本発明による、S−VOPについての再符号化モードを決定するための技術のフローチャート。 本発明による、S−VOPについての再符号化モードを決定するための技術のフローチャート。 本発明による、B−VOPについての再符号化モードを決定するための技術のフローチャート。 本発明による、B−VOPについての再符号化モードを決定するための技術のフローチャート。 本発明による完備したビデオ・トランスコーダのうちの再符号化部分のブロック図。 ダイレクトMPEG−4符号化と、カスケード式符号化と、本発明によるトランスコーディングとの間における1組の特定のビデオ・ソースについての信号対雑音比を比較したテーブル。 ダイレクトMPEG−4符号化と本発明によるトランスコーディングとの間の信号対雑音比を比較したグラフ。

Claims (23)

  1. 入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームにトランスコードする方法であって、
    第1のビット・レートの入力圧縮ビデオ・ビットストリームを受信する工程と、
    出力圧縮ビデオ・ビットストリームについての新しい目標ビット・レートを指定する工程と、
    該入力ビットストリームを部分的に復号化して逆量子化データを生成する工程と、
    異なる量子化レベル(QP)を使用して該逆量子化データを再量子化して再量子化データを生成する工程と、
    該再量子化データを再符号化して該出力圧縮ビデオ・ビットストリームを生成する工程と、からなる方法。
  2. さらに、
    再量子化するための適切な初期量子化レベル(QP)を決定する工程と、
    前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを監視する工程と、
    該量子化レベルを調整して前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを前記目標ビット・レートに厳密にマッチングさせる工程と、からなる、請求項1に記載の方法。
  3. さらに、
    前記出力圧縮ビデオ・ビットストリームに不変のヘッダ・データを直接にコピーする工程、からなる、請求項1に記載の方法。
  4. さらに、
    前記再量子化データを逆量子化し前記逆量子化データから差し引くことによって再量子化エラーを決定する工程と、
    該量子化エラーをIDCT処理して等価なエラー画像を生成する工程と、
    前記入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従って該エラー画像に動き補償を適用する工程と、
    該動き補償されたエラー画像をDCT処理し、再量子化に起因するエラーについての動き補償された補正として該DCT処理されたエラー画像を前記逆量子化データに適用する工程と、からなる、請求項1に記載の方法。
  5. 入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームにトランスコードする装置であって、
    第1のビット・レートの入力圧縮ビデオ・ビットストリームを受信する手段と、
    出力圧縮ビデオ・ビットストリームについての新しい目標ビット・レートを指定する手段と、
    該入力ビットストリームを部分的に復号化して逆量子化データを生成する手段と、
    異なる量子化レベル(QP)を使用して該逆量子化データを再量子化して再量子化データを生成する手段と、
    該再量子化データを再符号化して該出力圧縮ビデオ・ビットストリームを生成する手段と、からなる装置。
  6. さらに、
    再量子化するための適切な初期量子化レベル(QP)を決定する手段と、
    前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを監視する手段と、
    該量子化レベルを調整して前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを前記目標ビット・レートに厳密にマッチングさせる手段と、からなる、請求項5に記
    載の装置。
  7. さらに、
    前記出力圧縮ビデオ・ビットストリームに不変のヘッダ・データを直接にコピーする手段、からなる、請求項5に記載の装置。
  8. さらに、
    前記再量子化データを逆量子化し前記逆量子化データから差し引くことによって再量子化エラーを決定する手段と、
    該量子化エラーをIDCT処理して等価なエラー画像を生成する手段と、
    前記入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従って該エラー画像に動き補償を適用する手段と、
    該動き補償されたエラー画像をDCT処理し、再量子化に起因するエラーについての動き補償された補正として該DCT処理されたエラー画像を前記逆量子化データに適用する手段と、からなる、請求項5に記載の装置。
  9. 入力圧縮ビデオ・ビットストリームを異なるビット・レートの出力圧縮ビデオ・ビットストリームにトランスコードする方法であって、
    入力ビットストリームを受信する工程と、
    該入力ビットストリームからビデオ・オブジェクト・レイヤ・ヘッダを抽出する工程と、
    該入力ビットストリームからのマクロブロック・データを逆量子化する工程と、
    該逆量子化されたマクロブロック・データを再量子化する工程と、
    該抽出されたビデオ・オブジェクト・レイヤ・ヘッダを該再量子化されたマクロブロック・データと一緒に該出力ビットストリームに挿入する工程と、からなる方法。
  10. さらに、
    前記入力ビットストリームからビデオ・オブジェクト・プレーン・ヘッダのグループを抽出する工程と、
    該抽出されたビデオ・オブジェクト・プレーン・ヘッダのグループを前記出力ビットストリームに挿入する工程と、からなる、請求項9に記載の方法。
  11. さらに、
    前記入力ビットストリームからビデオ・オブジェクト・プレーン・ヘッダを抽出する工程と、
    該抽出されたビデオ・オブジェクト・プレーン・ヘッダを前記出力ビットストリームに挿入する工程と、からなる、請求項9に記載の方法。
  12. さらに、
    再量子化するための適切な初期量子化レベル(QP)を決定する工程と、
    前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを監視する工程と、
    該量子化レベルを調整して前記出力圧縮ビデオ・ビットストリームの前記ビット・レートを目標ビット・レートに厳密にマッチングさせる工程と、からなる、請求項9に記載の方法。
  13. さらに、
    不変のヘッダ・データを前記入力ビットストリームから前記出力ビットストリームに直接にコピーする工程と、からなる、請求項9に記載の方法。
  14. さらに、前記再量子化データを逆量子化し前記逆量子化データから差し引くことによっ
    て再量子化エラーを決定する工程と、
    該量子化エラーをIDCT処理して等価なエラー画像を生成する工程と、
    前記入力圧縮ビデオ・ビットストリームからの動き補償パラメータに従って該エラー画像に動き補償を適用する工程と、
    該動き補償されたエラー画像をDCT処理し、再量子化に起因するエラーについての動き補償された補正として該DCT処理されたエラー画像を前記逆量子化データに適用する工程と、からなる、請求項9に記載の方法。
  15. さらに、
    8ビットの符号付きの数として再量子化エラーを表す工程と、
    8ビットの符号なしの記憶バッファ中に再量子化エラーを記憶するのに先立って再量子化エラーのスパンの2分の1のオフセットをそれに加える工程と、
    該8ビットの符号化なしの記憶バッファからの検索後に再量子化エラーから前記オフセットを差し引く工程と、からなる、請求項9に記載の方法。
  16. さらに、
    「skipped」として符号化されたMBについて、オール・ゼロのMBをトランスコーダに提示する工程と、からなる、請求項9に記載の方法。
  17. さらに、
    「skipped」として符号化されたMBを有する予測VOPモードについて、トランスコーダにオール・ゼロのMV値を提示する工程と、からなる、請求項16に記載の方法。
  18. さらに、
    トランスコーディングおよび動き補償の後に、符号化ブロック・パターンがオール・ゼロであるかどうかを判定し、そうである場合には「skipped」という符号化モードを選択する工程と、からなる、請求項9に記載の方法。
  19. さらに、
    予測VOPモードでは、トランスコーディングおよび動き補償の後に、符号化ブロック・パターンがオール・ゼロであるかどうか、またMV値がオール・ゼロであるかどうかを判定し、そうである場合には「skipped」という符号化モードを選択する工程と、からなる、請求項9に記載の方法。
  20. さらに、
    元の符号化モードが「skipped」であった場合のP−VOP、S−VOP、およびB−VOPについて、トランスコーディングの後に、
    符号化ブロック・パターンがオール・ゼロであり、かつ
    MVがオール・ゼロであるかどうかを判定する工程と、
    両方の条件が真である場合にのみ、「skipped」という符号化モードを選択する工程と、からなる、請求項9に記載の方法。
  21. さらに、
    元の符号化モードが、「skipped」であり、
    入力MBがオール・ゼロであり、
    モードが、「forward」であり、かつ
    MVがオール・ゼロである場合のP−VOPについて、
    トランスコーディングの後に、
    符号化ブロック・パターンがオール・ゼロであり、かつ
    MVがオール・ゼロであるかどうかを判定する工程と、
    両方の条件が真である場合にのみ、「skipped」という符号化モードを選択する工程と、からなる、請求項9に記載の方法。
  22. さらに、
    入力MBがオール・ゼロであり、かつ
    GMC設定がゼロである場合のS−VOPについて、
    トランスコーディングの後に、
    符号化ブロック・パターンがオール・ゼロであり、かつ
    動き補償がオール・ゼロであるかどうかを判定する工程と、
    両方の条件が真である場合にのみ、「skipped」という符号化モードを選択する工程と、からなる、請求項9に記載の方法。
  23. さらに、
    入力MBがオール・ゼロであり、
    モードが「direct」であり、かつ
    MVがオール・ゼロである場合のB−VOPについて、
    トランスコーディングの後に、
    符号化ブロック・パターンがオール・ゼロであり、
    符号化モードが「direct」であり、かつ
    MVがオール・ゼロであるかどうかを判定する工程と、
    3つの条件がすべて真である場合にのみ、「skipped」という符号化モードを選択する工程と、からなる、請求項9に記載の方法。
JP2004506293A 2002-05-17 2003-05-16 ビデオ・トランスコーダ Pending JP2005526457A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/150,269 US20030215011A1 (en) 2002-05-17 2002-05-17 Method and apparatus for transcoding compressed video bitstreams
PCT/US2003/015297 WO2003098938A2 (en) 2002-05-17 2003-05-16 Video transcoder

Publications (1)

Publication Number Publication Date
JP2005526457A true JP2005526457A (ja) 2005-09-02

Family

ID=29419208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004506293A Pending JP2005526457A (ja) 2002-05-17 2003-05-16 ビデオ・トランスコーダ

Country Status (10)

Country Link
US (1) US20030215011A1 (ja)
EP (1) EP1506677A2 (ja)
JP (1) JP2005526457A (ja)
KR (1) KR100620270B1 (ja)
CN (1) CN1653822A (ja)
AU (1) AU2003237860A1 (ja)
CA (1) CA2485181A1 (ja)
MX (1) MXPA04011439A (ja)
TW (1) TW200400767A (ja)
WO (1) WO2003098938A2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009532990A (ja) * 2006-04-04 2009-09-10 クゥアルコム・インコーポレイテッド 適応符号器支援フレーム・レート・アップコンバージョン
US8369405B2 (en) 2004-05-04 2013-02-05 Qualcomm Incorporated Method and apparatus for motion compensated frame rate up conversion for block-based low bit rate video
US8374246B2 (en) 2004-07-20 2013-02-12 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression
JP2013123252A (ja) * 2013-01-30 2013-06-20 Mega Chips Corp トランスコーダ
US8553776B2 (en) 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
US8634463B2 (en) 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
US8948262B2 (en) 2004-07-01 2015-02-03 Qualcomm Incorporated Method and apparatus for using frame rate up conversion techniques in scalable video coding

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1520431B1 (en) 2002-07-01 2018-12-26 E G Technology Inc. Efficient compression and transport of video over a network
SG140441A1 (en) * 2003-03-17 2008-03-28 St Microelectronics Asia Decoder and method of decoding using pseudo two pass decoding and one pass encoding
US20060251168A1 (en) * 2003-04-04 2006-11-09 Koninklijke Philips Electronics N.V. Video encoding and decoding methods and corresponding devices
US20040210940A1 (en) * 2003-04-17 2004-10-21 Punit Shah Method for improving ranging frequency offset accuracy
JP2006525722A (ja) * 2003-05-06 2006-11-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化及び復号化方法、並びに対応する符号化及び復号化装置
US8218624B2 (en) 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
KR100556340B1 (ko) * 2004-01-13 2006-03-03 (주)씨앤에스 테크놀로지 영상 부호화 장치
US7839998B2 (en) * 2004-02-09 2010-11-23 Sony Corporation Transcoding CableCARD
US7397855B2 (en) * 2004-04-14 2008-07-08 Corel Tw Corp. Rate controlling method and apparatus for use in a transcoder
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
KR101320260B1 (ko) * 2004-06-18 2013-10-23 톰슨 라이센싱 비디오 신호 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치
WO2006080655A1 (en) * 2004-10-18 2006-08-03 Samsung Electronics Co., Ltd. Apparatus and method for adjusting bitrate of coded scalable bitsteam based on multi-layer
KR100679022B1 (ko) 2004-10-18 2007-02-05 삼성전자주식회사 계층간 필터링을 이용한 비디오 코딩 및 디코딩방법과,비디오 인코더 및 디코더
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8031774B2 (en) * 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
JP4788250B2 (ja) * 2005-09-08 2011-10-05 ソニー株式会社 動画像信号の符号化装置、動画像信号の符号化方法およびコンピュータ読み取り可能な記録媒体
US20070147496A1 (en) * 2005-12-23 2007-06-28 Bhaskar Sherigar Hardware implementation of programmable controls for inverse quantizing with a plurality of standards
NL1030976C2 (nl) * 2006-01-23 2007-07-24 Ventury Tower Mall Iii Inc Werkwijze en inrichting voor het aanpassen van de grootte van een informatiebestand.
KR100772878B1 (ko) * 2006-03-27 2007-11-02 삼성전자주식회사 비트스트림의 비트율 조절을 위한 우선권 할당 방법,비트스트림의 비트율 조절 방법, 비디오 디코딩 방법 및 그방법을 이용한 장치
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8077775B2 (en) * 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
JP4584871B2 (ja) * 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
US20080007649A1 (en) * 2006-06-23 2008-01-10 Broadcom Corporation, A California Corporation Adaptive video processing using sub-frame metadata
US8385424B2 (en) * 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
KR101352979B1 (ko) 2006-07-04 2014-01-23 경희대학교 산학협력단 스케일러블 비디오 인코딩/디코딩 방법 및 그 장치
WO2008004816A1 (en) * 2006-07-04 2008-01-10 Electronics And Telecommunications Research Institute Scalable video encoding/decoding method and apparatus thereof
KR20080004340A (ko) * 2006-07-04 2008-01-09 한국전자통신연구원 영상 데이터의 스케일러블 코딩 방법 및 그 장치
JP4624321B2 (ja) * 2006-08-04 2011-02-02 株式会社メガチップス トランスコーダおよび符号化画像変換方法
US20080043832A1 (en) * 2006-08-16 2008-02-21 Microsoft Corporation Techniques for variable resolution encoding and decoding of digital video
US8773494B2 (en) 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
EP2080377A2 (en) * 2006-10-31 2009-07-22 THOMSON Licensing Method and apparatus for transrating bit streams
US8437397B2 (en) * 2007-01-04 2013-05-07 Qualcomm Incorporated Block information adjustment techniques to reduce artifacts in interpolated video frames
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
TW200836130A (en) * 2007-02-16 2008-09-01 Thomson Licensing Bitrate reduction method by requantization
US8594187B2 (en) * 2007-03-02 2013-11-26 Qualcomm Incorporated Efficient video block mode changes in second pass video coding
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8189676B2 (en) * 2007-04-05 2012-05-29 Hong Kong University Of Science & Technology Advance macro-block entropy coding for advanced video standards
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
CN102210152A (zh) 2008-10-06 2011-10-05 Lg电子株式会社 用于处理视频信号的方法和设备
US8275057B2 (en) * 2008-12-19 2012-09-25 Intel Corporation Methods and systems to estimate channel frequency response in multi-carrier signals
KR20100071865A (ko) * 2008-12-19 2010-06-29 삼성전자주식회사 멀티 코어 프로세스 방식의 영상 신호 처리장치에서 영상 프레임 구성 및 복호화 방법과 그 영상 신호 처리장치
US20110080944A1 (en) * 2009-10-07 2011-04-07 Vixs Systems, Inc. Real-time video transcoder and methods for use therewith
US8731152B2 (en) 2010-06-18 2014-05-20 Microsoft Corporation Reducing use of periodic key frames in video conferencing
WO2012050832A1 (en) * 2010-09-28 2012-04-19 Google Inc. Systems and methods utilizing efficient video compression techniques for providing static image data
US8990435B2 (en) * 2011-01-17 2015-03-24 Mediatek Inc. Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
CN103493489B (zh) 2011-04-14 2016-10-19 杜比实验室特许公司 基于原色分级模型的图像预测
KR101351461B1 (ko) * 2011-08-02 2014-01-14 주식회사 케이티 동영상 전송률 제어 시스템 및 방법, 그리고 동영상 변환 방법
US20130195198A1 (en) * 2012-01-23 2013-08-01 Splashtop Inc. Remote protocol
US9491459B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Base layer merge and AMVP modes for video coding
US9936196B2 (en) * 2012-10-30 2018-04-03 Qualcomm Incorporated Target output layers in video coding
US10097825B2 (en) 2012-11-21 2018-10-09 Qualcomm Incorporated Restricting inter-layer prediction based on a maximum number of motion-compensated layers in high efficiency video coding (HEVC) extensions
GB2512829B (en) 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
EP3055998A1 (en) 2013-10-11 2016-08-17 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for video transcoding using mode or motion or in-loop filter information
FR3016764B1 (fr) * 2014-01-17 2016-02-26 Sagemcom Broadband Sas Procede et dispositif de transcodage de donnees video de h.264 vers h.265
US9953660B2 (en) * 2014-08-19 2018-04-24 Nuance Communications, Inc. System and method for reducing tandeming effects in a communication system
CN107038736B (zh) * 2017-03-17 2021-07-06 腾讯科技(深圳)有限公司 一种基于帧率的动画展示方法及终端设备
US10229537B2 (en) * 2017-08-02 2019-03-12 Omnivor, Inc. System and method for compressing and decompressing time-varying surface data of a 3-dimensional object using a video codec
US10692247B2 (en) * 2017-08-02 2020-06-23 Omnivor, Inc. System and method for compressing and decompressing surface data of a 3-dimensional object using an image codec
CN109660825B (zh) * 2017-10-10 2021-02-09 腾讯科技(深圳)有限公司 视频转码方法、装置、计算机设备及存储介质
CN110490810B (zh) * 2019-01-20 2020-06-30 浙江精弘益联科技有限公司 现场大数据动态调整装置
CN110880009B (zh) * 2019-01-20 2020-07-17 浩德科技股份有限公司 现场大数据动态调整方法
US11044477B2 (en) * 2019-12-16 2021-06-22 Intel Corporation Motion adaptive encoding of video
US11582442B1 (en) * 2020-12-03 2023-02-14 Amazon Technologies, Inc. Video encoding mode selection by a hierarchy of machine learning models
CN112866716A (zh) * 2021-01-15 2021-05-28 北京睿芯高通量科技有限公司 一种对视频文件进行同步解封装的方法及其系统
US11587208B2 (en) * 2021-05-26 2023-02-21 Qualcomm Incorporated High quality UI elements with frame extrapolation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0893027B1 (en) 1996-04-12 2004-08-25 Imedia Corporation Compressed-video distribution system having a statistical multiplexer with transcoders
US6570922B1 (en) * 1998-11-24 2003-05-27 General Instrument Corporation Rate control for an MPEG transcoder without a priori knowledge of picture type
KR100433516B1 (ko) * 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
US6671322B2 (en) * 2001-05-11 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8369405B2 (en) 2004-05-04 2013-02-05 Qualcomm Incorporated Method and apparatus for motion compensated frame rate up conversion for block-based low bit rate video
US8948262B2 (en) 2004-07-01 2015-02-03 Qualcomm Incorporated Method and apparatus for using frame rate up conversion techniques in scalable video coding
US8374246B2 (en) 2004-07-20 2013-02-12 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression
US9521411B2 (en) 2004-07-20 2016-12-13 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression
US8553776B2 (en) 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
JP2009532990A (ja) * 2006-04-04 2009-09-10 クゥアルコム・インコーポレイテッド 適応符号器支援フレーム・レート・アップコンバージョン
US8634463B2 (en) 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
US8750387B2 (en) 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
JP2013123252A (ja) * 2013-01-30 2013-06-20 Mega Chips Corp トランスコーダ

Also Published As

Publication number Publication date
KR100620270B1 (ko) 2006-09-13
US20030215011A1 (en) 2003-11-20
AU2003237860A1 (en) 2003-12-02
AU2003237860A8 (en) 2003-12-02
CN1653822A (zh) 2005-08-10
EP1506677A2 (en) 2005-02-16
TW200400767A (en) 2004-01-01
KR20050010814A (ko) 2005-01-28
WO2003098938A3 (en) 2004-06-10
CA2485181A1 (en) 2003-11-27
WO2003098938A2 (en) 2003-11-27
MXPA04011439A (es) 2005-02-17

Similar Documents

Publication Publication Date Title
KR100620270B1 (ko) 압축된 비디오 비트스트림들을 트랜스코딩하는 방법 및 장치
US6081295A (en) Method and apparatus for transcoding bit streams with video data
KR100433516B1 (ko) 트랜스코딩 방법
JP4163006B2 (ja) ドリフト補正を備えたビデオトランスコーダ
JP2007266749A (ja) 符号化方法
Haskell et al. Mpeg video compression basics
EP2372922A1 (en) System and method for transcoding between scalable and non-scalable video codecs
US20030138052A1 (en) Video coding and decoding method, and corresponding signal
EP1442600B1 (en) Video coding method and corresponding transmittable video signal
Whybray et al. Video coding—techniques, standards and applications
JP4517453B2 (ja) 画像情報変換装置及び方法並びに符号化装置及び方法
JP4499204B2 (ja) 画像信号多重化装置および方法、並びに伝送媒体
JP4608801B2 (ja) 画像情報変換装置及び方法
JP2004056616A (ja) 符号化信号復号装置、符号化信号復号方法および符号化信号復号プログラム
KR100327102B1 (ko) 영상시스템에서의압축동영상변환방법
US20020034247A1 (en) Picture information conversion method and apparatus
JP3652889B2 (ja) 映像符号化方法、映像符号化装置、記録媒体、及び映像通信システム
JP2001346214A (ja) 画像情報変換装置及び方法
JPH10271512A (ja) 画像信号符号化装置及び方法、画像信号復号装置及び方法、並びに記録媒体
Chen Video coding and multimedia communications standards for Internet
KR20030006641A (ko) 트랜스코더 및 그의 트랜스 코딩 방법
JP2003087797A (ja) 画像情報変換装置及び方法、画像情報変換プログラム、並びに記録媒体
Jafari et al. An Efficient Video Transcoding Algorithm Between H. 263 and MPEG-4 for Inter-Network Communications
Mandal et al. Digital video compression techniques
Lin MPEG-4 Video Coding Algorithm: Implementation and Performance Evaluation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090413

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090420

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090915