JP2004266794A - Multi-resolution video coding and decoding - Google Patents
Multi-resolution video coding and decoding Download PDFInfo
- Publication number
- JP2004266794A JP2004266794A JP2003309278A JP2003309278A JP2004266794A JP 2004266794 A JP2004266794 A JP 2004266794A JP 2003309278 A JP2003309278 A JP 2003309278A JP 2003309278 A JP2003309278 A JP 2003309278A JP 2004266794 A JP2004266794 A JP 2004266794A
- Authority
- JP
- Japan
- Prior art keywords
- resolution
- spatial resolution
- frame
- video
- frames
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 121
- 230000000903 blocking effect Effects 0.000 claims abstract description 17
- 238000005070 sampling Methods 0.000 claims description 35
- 238000012952 Resampling Methods 0.000 claims description 21
- 238000013139 quantization Methods 0.000 claims description 14
- 230000006835 compression Effects 0.000 description 18
- 238000007906 compression Methods 0.000 description 18
- 239000000872 buffer Substances 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000006837 decompression Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000009499 grossing Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明はマルチ・リゾルーション(multi-resolution:複数解像度)・ビデオ符号化および復号化(multi-resolution video coding and decoding)に関する。例えば、ビデオ符号器はビデオ・フレーム・サイズを適応して変更して、低ビットレートでのブロッキング・アーティファクト(blocking artifacts)を低減する。 The present invention relates to multi-resolution video coding and decoding. For example, a video encoder adaptively changes the video frame size to reduce blocking artifacts at low bit rates.
デジタル・ビデオは大量の記憶および伝送容量を消費する(使い尽くす)。通常の生のデジタル・ビデオ・シーケンスは毎秒15または30フレームを含む。各フレームは数万または数十万のピクセル(ペルとも呼ばれる)を含むことがある。各ピクセルは画像の極めて小さい要素を表現する。生の形式では、コンピュータは一般にピクセルを24ビットで表現する。したがって、通常の生のデジタル・ビデオ・シーケンスの1秒あたりのビット数またはビットレートは、5百万ビット/秒以上になる可能性がある。 Digital video consumes (exhausts) large amounts of storage and transmission capacity. A typical raw digital video sequence contains 15 or 30 frames per second. Each frame may contain tens or hundreds of thousands of pixels (also called pels). Each pixel represents a very small element of the image. In raw form, computers typically represent pixels in 24 bits. Thus, the bits per second or bit rate of a typical raw digital video sequence can be 5 million bits / second or more.
大抵のコンピュータおよびコンピュータ・ネットワークは、生のデジタル・ビデオを処理するためのリソース(資源)が不足している。このため、エンジニアは圧縮(コード化または符号化とも呼ばれる)を使用して、デジタル・ビデオのビットレートを低減する。圧縮を可逆的(lossless)にすることができ、これにおいてはビデオの品質は悪くならないが、ビットレートの低減がビデオの複雑性によって制限される。または、圧縮を不可逆的(lossy)にすることができ、これにおいてはビデオの品質が悪くなるが、ビットレートの低減は、可逆的圧縮における結果に対して、より劇的である。圧縮解除は圧縮を逆にする。 Most computers and computer networks lack the resources to process live digital video. For this reason, engineers use compression (also called coding or encoding) to reduce the bit rate of digital video. The compression can be lossless, in which the quality of the video is not degraded, but the bitrate reduction is limited by the complexity of the video. Alternatively, the compression can be lossy, in which the quality of the video is poor, but the bitrate reduction is more dramatic relative to the result in lossless compression. Decompression reverses compression.
一般に、ビデオ圧縮テクニック(techniques;技術、方法)は、イントラ・フレーム(フレーム内)圧縮およびインター・フレーム(フレーム間)圧縮を含む。イントラ・フレーム圧縮テクニックは個々のフレームを圧縮し、これらは通常、Iフレーム、キー・フレームまたは参照フレームと呼ばれる。インター・フレーム圧縮テクニックは、先行および/または後に続くフレームを参照してフレームを圧縮し、通常は予測フレーム、PフレームまたはBフレームと呼ばれる。 In general, video compression techniques include intra-frame (intra-frame) compression and inter-frame (inter-frame) compression. Intra-frame compression techniques compress individual frames, which are commonly referred to as I-frames, key frames, or reference frames. Inter-frame compression techniques compress a frame with reference to a preceding and / or subsequent frame, usually referred to as a predicted frame, a P frame or a B frame.
多くのイントラ・フレームおよびインター・フレーム圧縮テクニックは、ブロック・ベースである。ビデオ・フレームは符号化のために複数のブロックに分割される。例えば、Iフレームが8×8ブロックに分割され、これらのブロックが圧縮される。または、Pフレームが16×16マクロブロック(例えば、4つの8×8ルミナンス・ブロックおよび2つの8×8クロミナンス・ブロック)に分割され、これらのマクロブロックが圧縮される。異なる実装は異なるブロック構成を使用することができる。 Many intra-frame and inter-frame compression techniques are block-based. A video frame is divided into blocks for encoding. For example, an I frame is divided into 8 × 8 blocks, and these blocks are compressed. Alternatively, the P frame is divided into 16 × 16 macroblocks (eg, four 8 × 8 luminance blocks and two 8 × 8 chrominance blocks) and these macroblocks are compressed. Different implementations can use different block configurations.
標準ビデオ符号器は、目標レートがあるしきい値より下に落ちたとき、性能が劇的な劣化を受ける。ブロック・ベースのビデオ圧縮および圧縮解除では、量子化および他の不可逆的処理ステージが、一般にブロッキング・アーティファクト、すなわち複数のブロックの間の知覚可能な不連続性として現れる歪み、をもたらす。低いビットレートでは、Iフレームのブロックについての高い周波数情報がひどく歪まされるか、あるいは完全に失われる可能性がある。同様に、Pフレーム(動き推定または他の予測によって予測されなかったPフレームの一部分)のブロックの残差についての高い周波数情報がひどく歪まされるか、あるいは完全に失われる可能性がある。結果として、著しいブロッキング・アーティファクトが「低域通過」領域において生じる可能性があり、再構築されたビデオの品質において相当な低下を引き起こす可能性がある。 Standard video encoders suffer a dramatic performance degradation when the target rate falls below a certain threshold. In block-based video compression and decompression, quantization and other irreversible processing stages generally result in blocking artifacts, i.e., distortions that appear as perceptible discontinuities between blocks. At low bit rates, the high frequency information for a block of an I-frame can be severely distorted or completely lost. Similarly, high frequency information about the residuals of a block of P-frames (portions of P-frames not predicted by motion estimation or other predictions) can be severely distorted or completely lost. As a result, significant blocking artifacts can occur in the "low-pass" region, causing a significant decrease in the quality of the reconstructed video.
いくつかの以前の符号器は、再構築されたフレームをデブロッキング・フィルタ(deblocking filter;ブロック化除去フィルタ)により処理することによって、ブロッキング・アーティファクトの知覚可能性を低減しようと試みている。デブロッキング・フィルタは、複数のブロックの間の境界を平滑化する。デブロッキング・フィルタは、知覚されるビデオ品質を改善することができるが、これはいくつかの欠点を有する。例えば平滑化は、復号器において再構築された出力においてのみ行われる。したがって、ループ内デブロッキングを使用中であるときでさえ、デブロッキングの効果を、カレント・フレームについての動き推定、動き補償または変換符号化のプロセスに要素として組み込むことができない。他方では、後処理フィルタによるカレント・フレームの平滑化(すなわち、ループ外デブロッキング)は極端になり過ぎる可能性があり、平滑化プロセスは不要な計算の複雑性を導入する。 Some previous encoders have attempted to reduce the perceptibility of blocking artifacts by processing the reconstructed frames with a deblocking filter. The deblocking filter smooths boundaries between the blocks. Although a deblocking filter can improve perceived video quality, it has several disadvantages. For example, smoothing is performed only on the reconstructed output at the decoder. Thus, even when in-loop deblocking is in use, the effects of deblocking cannot be factored into the motion estimation, motion compensation or transform coding process for the current frame. On the other hand, the smoothing (ie, out-of-loop deblocking) of the current frame by the post-processing filter can be too extreme, and the smoothing process introduces unnecessary computational complexity.
ビデオ圧縮およびデジタル・ビデオへの圧縮解除についての決定的な重要性を考えると、ビデオ圧縮および圧縮解除は十分に開発された分野であることは驚くべきことではない。しかし、以前のビデオ圧縮および圧縮解除張テクニックの利点が何であれ、これらは以下のテクニックおよびツールの利点を有していない。 Given the critical importance of video compression and decompression to digital video, it is not surprising that video compression and decompression are well-developed areas. However, whatever the advantages of previous video compression and decompression techniques, they do not have the advantages of the following techniques and tools.
要約すると、詳細な説明は、マルチ・リゾルーション・ビデオ符号化のための様々なテクニックおよびツールを対象とする。例えば、ビデオ符号器はビデオ・フレーム・サイズを適応して変更して、低いビットレードでのブロッキング・アーティファクトを低減する。それを行うと、符号器はブロッキング・アーティファクトを低減するが、ブロッキング・アーティファクトより知覚可能性が低く、不愉快さが少ないブラーリング(blurring;不鮮明化)を増す可能性がある。様々なテクニックおよびツールを組み合わせて、あるいは独立して使用することができる。 In summary, the detailed description is directed to various techniques and tools for multi-resolution video coding. For example, a video encoder adaptively changes the video frame size to reduce blocking artifacts at low bit trades. In doing so, the encoder reduces blocking artifacts, but may increase blurring, which is less perceptible and less unpleasant than blocking artifacts. Various techniques and tools can be used in combination or independently.
一態様では、ビデオ符号器はビデオを、多数の空間リゾルーションのうちのいずれかで符号化する。符号器は、多数のビデオ・フレームのシーケンスにおける少なくとも1つのフレームを第1の空間リゾルーションで符号化し、少なくとも1つの他のフレームを第2の空間リゾルーションで符号化する。第2の空間リゾルーションは第1の空間リゾルーションとは異なり、符号器は第2の空間リゾルーションを多数の空間リゾルーションのセットから選択して、ビデオ・フレームのシーケンスにおけるブロッキング・アーティファクトを低減する。 In one aspect, a video encoder encodes video in any of a number of spatial resolutions. The encoder encodes at least one frame in the sequence of multiple video frames with a first spatial resolution and encodes at least one other frame with a second spatial resolution. The second spatial resolution is different from the first spatial resolution and the encoder selects the second spatial resolution from a set of multiple spatial resolutions to reduce blocking artifacts in the sequence of video frames. I do.
その他の態様では、符号器はフレームの第1の部分を第1の空間リゾルーションで符号化し、フレームの第2の部分を第2の空間リゾルーションで符号化する。第2の空間リゾルーションは第1の空間リゾルーションとは異なる。 In other aspects, the encoder encodes a first portion of the frame with a first spatial resolution and encodes a second portion of the frame with a second spatial resolution. The second spatial resolution is different from the first spatial resolution.
その他の態様では、ビデオ符号器は、第1の空間リゾルーションで符号化された第1のフレームについて第1の空間リゾルーションを示す第1のコードをビットストリームに含み、第2の空間リゾルーションで符号化された第2のフレームについて第2の空間リゾルーションを示す第2のコードをビットストリームに含む。第2の空間リゾルーションは第1の空間リゾルーションとは異なり、符号器は第2の空間リゾルーションを多数の空間リゾルーションのセットから選択して、ビデオ・フレームのシーケンスにおけるブロッキング・アーティファクトを低減する。 In other aspects, the video encoder includes, in a bitstream, a first code indicating a first spatial resolution for a first frame encoded with the first spatial resolution, the second spatial resolution Include in the bitstream a second code indicating a second spatial resolution for the second frame encoded in. The second spatial resolution is different from the first spatial resolution and the encoder selects the second spatial resolution from a set of multiple spatial resolutions to reduce blocking artifacts in the sequence of video frames. I do.
その他の態様では、符号器は、フレームの第1の部分について第1の空間リゾルーションを示す第1のシグナルをビットストリームに含み、フレームの第2の部分について第2の空間リゾルーションを示す第2のシグナルをビットストリームに含む。第2の空間リゾルーションは第1の空間リゾルーションとは異なる。 In other aspects, the encoder includes a first signal in the bitstream that indicates a first spatial resolution for a first portion of the frame, and a second signal that indicates a second spatial resolution for a second portion of the frame. 2 in the bitstream. The second spatial resolution is different from the first spatial resolution.
その他の態様では、復号器はマルチ・リゾルーションのシグナルを、多数の符号化されたフレームのビデオ・シーケンスのためのシーケンス・ヘッダにおいて受信する。マルチ・リゾルーションのシグナルは、複数のフレームが複数の空間リゾルーションで符号化されるかどうかを示す。複数のフレームが複数の空間リゾルーションで符号化される場合、復号器は第1の符号化されたフレームを第1の空間リゾルーションで復号化し、第2の符号化されたフレームを第2の空間リゾルーションで復号化する。 In another aspect, the decoder receives the multi-resolution signal in a sequence header for a video sequence of multiple encoded frames. The multi-resolution signal indicates whether multiple frames are encoded with multiple spatial resolutions. If the multiple frames are encoded with multiple spatial resolutions, the decoder decodes the first encoded frame with the first spatial resolution and converts the second encoded frame into a second spatial resolution. Decode with spatial resolution.
その他の態様では、復号器は、符号化されたフレームの第1の部分を第1の空間リゾルーションで復号化し、符号化されたフレームの第2の部分を第2の空間リゾルーションで復号化する。第2の空間リゾルーションは第1の空間リゾルーションとは異なる。 In other aspects, the decoder decodes a first portion of the encoded frame with a first spatial resolution and decodes a second portion of the encoded frame with a second spatial resolution. I do. The second spatial resolution is different from the first spatial resolution.
その他の態様では、符号器または復号器はビデオ・イメージのためのピクセル・データを受信し、ビデオ・イメージの空間リゾルーションを適応して変更するが、これは、再サンプリングされたピクセル・データを、6タップ・ダウン・サンプリング・フィルタまたは10タップアップサンプリングフィルタを使用して計算することを含む。 In another aspect, an encoder or decoder receives pixel data for a video image and adaptively changes the spatial resolution of the video image, which converts the resampled pixel data. , 6 tap down sampling filter or 10 tap up sampling filter.
追加の特徴および利点は、添付の図面を参照して進行する、以下の様々な実施形態の詳細な説明から明らかになるであろう。 Additional features and advantages will be apparent from the following detailed description of various embodiments, which proceeds with reference to the accompanying figures.
本発明の詳細な実施形態は、マルチ・リゾルーション・ビデオ符号化および復号化を対象とする。例えば、ビデオ符号器はビデオ・フレーム・サイズを適応して変更して、低いビットレードでのブロッキング・アーティファクトを低減する。それを行う際に、符号器はブロッキング・アーティファクトを低減するが、ブラーリングを増す可能性があり、これはブロッキング・アーティファクトより知覚可能性が低く、より好ましくないものではない。 Detailed embodiments of the present invention are directed to multi-resolution video encoding and decoding. For example, a video encoder adaptively changes the video frame size to reduce blocking artifacts at low bit trades. In doing so, the encoder reduces blocking artifacts but may increase blurring, which is less perceptible and less undesirable than blocking artifacts.
いくつかの実施形態では、符号器はマルチ・リゾルーション符号化テクニックおよびツールを使用して、入力フレームを異なる空間リゾルーションで符号化する。例えば、一実装態様では、符号器はフレームを最大の元のリゾルーションで符号化したり、水平方向において2分の1にダウン・サンプリングされたリゾルーションで符号化したり、垂直方向において2分の1にダウン・サンプリングされたリゾルーションで符号化したり、あるいは水平方向および垂直方向において2分の1にダウン・サンプリングされたリゾルーションで符号化したり、する。別法として、符号器は、元のリゾルーションに対してある他のファクタ(factor)によって符号化されたフレームのリゾルーションを減らすかあるいは増したり、現在のリゾルーションに対してあるファクタにより符号化されたフレームのリゾルーションを減らすかあるいは増したり、あるいはある他のテクニックを使用してリゾルーションを設定したり、する。復号器は、符号化されたフレームを、対応するテクニックを使用して復号化する。 In some embodiments, the encoder encodes the input frames with different spatial resolutions using multi-resolution encoding techniques and tools. For example, in one implementation, the encoder may encode the frame with the largest original resolution, encode with a half downsampled resolution in the horizontal direction, or encode in half the vertical direction. Or down-sampled resolution in the horizontal and vertical directions. Alternatively, the encoder may reduce or increase the resolution of frames encoded by some other factor relative to the original resolution, or may encode the frame by a factor relative to the current resolution. Reduce or increase the resolution of the rendered frame, or set the resolution using some other technique. The decoder decodes the encoded frame using a corresponding technique.
いくつかの実施形態では、符号器はフレームのための空間リゾルーションを、フレーム毎のベースで、あるいはある他のベースで選択する。復号器は対応する調整を実行する。 In some embodiments, the encoder selects a spatial resolution for a frame on a frame-by-frame basis or some other basis. The decoder performs the corresponding adjustment.
いくつかの実施形態では、符号器は空間リゾルーションを、ある基準(例えば、ビットレート、フレーム・コンテンツなど)を評価することによって選択する。 In some embodiments, the encoder selects a spatial resolution by evaluating certain criteria (eg, bit rate, frame content, etc.).
様々なテクニックおよびツールを組み合わせて、あるいは独立して使用することができる。個々の実施形態は、説明するテクニックおよびツールのうち1つまたは複数を実装する。異なるテクニックおよびツールを組み合わせて、独立して、あるいは他のテクニックおよびツールと共に使用することができる。 Various techniques and tools can be used in combination or independently. Particular embodiments implement one or more of the described techniques and tools. Different techniques and tools can be combined, used independently or with other techniques and tools.
I.コンピューティング環境
図1は、説明する実施形態を実装することができる、適切なコンピューティング環境(100)の汎用的な実施例を例示する。コンピューティング環境(100)は、本発明の用途または機能性の範囲についていかなる限定をも示唆するように意図されない、これは、本発明を多様な汎用または専用コンピューティング環境において実装することができるからである。
I. Computing Environment FIG. 1 illustrates a general-purpose example of a suitable computing environment (100) in which the described embodiments can be implemented. The computing environment (100) is not intended to imply any limitation as to the scope of use or functionality of the invention, since the invention may be implemented in a variety of general purpose or special purpose computing environments. It is.
図1を参照すると、コンピューティング環境(100)は少なくとも1つの処理装置(110)およびメモリ(120)を含む。図1では、この最も基本的な構成(130)が破線内に含まれる。処理装置(110)はコンピュータ実行可能命令を実行し、実際または仮想のプロセッサにすることができる。マルチ処理システムでは、マルチ処理装置は、処理能力を増すためのコンピュータ実行可能命令を実行する。メモリ(120)を揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリなど)、またはこれら2つのある組合せにすることができる。メモリ(120)は、マルチ・リゾルーション符号化および/または復号化テクニックを実装するソフトウェア(180)を格納する。 Referring to FIG. 1, the computing environment (100) includes at least one processing unit (110) and memory (120). In FIG. 1, this most basic configuration (130) is included within the dashed line. The processing unit (110) executes computer-executable instructions and may be a real or virtual processor. In a multi-processing system, the multi-processing unit executes computer-executable instructions to increase processing power. The memory (120) can be volatile memory (eg, registers, cache, RAM), non-volatile memory (eg, ROM, EEPROM, flash memory, etc.), or some combination of the two. The memory (120) stores software (180) implementing multi-resolution encoding and / or decoding techniques.
コンピューティング環境は追加の機能を有することができる。例えば、コンピューティング環境(100)はストレージ(140)、1つまたは複数の入力デバイス(150)、1つまたは複数の出力デバイス(160)、および1つまたは複数の通信接続(170)を含む。バス、コントローラ、またはネットワークなど、相互接続メカニズム(図示せず)がコンピューティング環境(100)の複数のコンポーネントを相互接続する。通常、オペレーティング・システム・ソフトウェア(図示せず)は、コンピューティング環境(100)において実行する他のソフトウェアのためのオペレーティング環境を提供し、コンピューティング環境(100)のコンポーネントの活動を調整する。 A computing environment may have additional features. For example, the computing environment (100) includes storage (140), one or more input devices (150), one or more output devices (160), and one or more communication connections (170). An interconnection mechanism (not shown), such as a bus, controller, or network, interconnects the components of the computing environment (100). Typically, operating system software (not shown) provides an operating environment for other software executing in the computing environment (100) and coordinates the activities of the components of the computing environment (100).
ストレージ(140)をリムーバルまたは非リムーバルにすることができ、これには磁気ディスク、磁気テープまたはカセット、CD−ROM、CD−RW、DVD、または情報を格納するために使用することができ、コンピューティング環境(100)内でアクセスすることができるいずれかの他の媒体が含まれる。ストレージ(140)は、マルチ・リゾルーション符号化および/または復号化テクニックを実装するソフトウェア(180)のための命令を格納する。 The storage (140) can be removable or non-removable, including a magnetic disk, magnetic tape or cassette, CD-ROM, CD-RW, DVD, or used to store information, Any other media that can be accessed within the naming environment (100) is included. The storage (140) stores instructions for software (180) that implements multi-resolution encoding and / or decoding techniques.
入力デバイス(150)を、キーボード、マウス、ペンまたはトラック・ボールなどのタッチ入力デバイス、音声入力デバイス、スキャニング・デバイス、ネットワーク・アダプタ、または、入力をコンピューティング環境(100)に提供する別のデバイスにすることができる。ビデオでは、入力デバイス(150)をTVチューナー・カード、カメラ・ビデオ・インターフェース、または、ビデオ入力をアナログまたはデジタル形式で受け入れる類似のデバイス、または、ビデオ入力をコンピューティング環境に提供するCD−ROM/DVDリーダにすることができる。出力デバイス(160)を、ディスプレイ、プリンタ、スピーカ、CD/DVDライタ、ネットワーク・アダプタ、または、コンピューティング環境(100)からの出力を提供する別のデバイスにすることができる。 The input device (150) may be a keyboard, a mouse, a touch input device such as a pen or a trackball, a voice input device, a scanning device, a network adapter, or another device that provides input to the computing environment (100). Can be For video, the input device (150) may be a TV tuner card, camera video interface, or similar device that accepts video input in analog or digital form, or a CD-ROM / that provides video input to the computing environment. It can be a DVD reader. The output device (160) can be a display, a printer, a speaker, a CD / DVD writer, a network adapter, or another device that provides output from the computing environment (100).
通信接続(170)は、ある通信媒体を介した別のコンピューティング・エンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令、圧縮されたビデオ情報、または変調データ信号における他のデータなどの情報を搬送する。変調データ信号は、その特性の1つまたは複数が、情報を信号において符号化するように設定または変更されている信号である。例として、限定ではなく、通信媒体には、電気的、光学、RF、赤外線、音響または他の搬送波内に実装されたワイヤードまたはワイヤレス・テクニックが含まれる。 The communication connection (170) allows communication over one communication medium to another computing entity. Communication media conveys information such as computer-executable instructions, compressed video information, or other data in a modulated data signal. A modulated data signal is a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired or wireless techniques implemented in electrical, optical, RF, infrared, acoustic, or other carriers.
本発明をコンピュータ可読媒体の一般的なコンテクストで説明することができる。コンピュータ可読媒体は、コンピューティング環境内でアクセスすることができる任意の使用可能な媒体である。例として、限定ではなく、コンピューティング環境(100)内でコンピュータ可読媒体は、メモリ(120)、ストレージ(140)、通信媒体、および上記のいずれかの組合せを含む。 The invention can be described in the general context of computer readable media. Computer readable media are any available media that can be accessed within a computing environment. By way of example, and not limitation, computer readable media within computing environment (100) includes memory (120), storage (140), communication media, and combinations of any of the above.
本発明を、対象とする実際または仮想のプロセッサ上のコンピューティング環境内で実行されるプログラム・モジュールに含まれたコンピュータ実行可能命令の一般的なコンテクストで説明することができる。一般に、プログラム・モジュールには、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造など、特定のタスクを実行するか、あるいは特定の抽象データ型を実施するものが含まれる。プログラム・モジュールの機能性を複数のプログラム・モジュールの間で、様々な実施形態において望ましいように結合または分割することができる。プログラム・モジュールのためのコンピュータ実行可能命令を、ローカルまたは分散コンピューティング環境内で実行することができる。 The invention can be described in the general context of computer-executable instructions contained in program modules that execute within a computing environment on a real or virtual processor of interest. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The functionality of a program module may be combined or divided among multiple program modules as desired in various embodiments. Computer-executable instructions for a program module can execute in a local or distributed computing environment.
提示のために、詳細な説明は「設定する(set)」、「選択する(choose)」、「符号化する(encode)」および「復号化する(decode)」という用語を使用して、コンピューティング環境におけるコンピュータ・オペレーションを説明する。これらの用語は、コンピュータによって実行されたオペレーションについての高レベルの抽象であり、人間によって実行される行為(acts)と混同されるべきではない。これらの用語に対応する実際のコンピュータ・オペレーションは、実装に応じて変わる。 For the sake of presentation, the detailed description will use the terms “set,” “choose,” “encode,” and “decode,” Computer operations in a virtual environment. These terms are a high-level abstraction of operations performed by a computer, and should not be confused with acts performed by humans. The actual computer operation corresponding to these terms will vary depending on the implementation.
II.ビデオ符号器および復号器の実施例
様々な実施形態におけるテクニックおよびツールを、ビデオ符号器(encode)および/または復号器(decoder)に実装することができる。ビデオ符号器および復号器は、それらの内に異なるモジュールを含むことができ、複数の異なるモジュールが互いに多数の異なる方法で関係し、通信することができる。以下で説明するモジュールおよび関係は例示的である。
II. Examples of Video Encoders and Decoders The techniques and tools in various embodiments may be implemented in video encoders and / or decoders. Video encoders and decoders can include different modules within them, and multiple different modules can be associated with and communicate with each other in many different ways. The modules and relationships described below are exemplary.
実装および所望の圧縮のタイプに応じて、符号器または復号器のモジュールを追加し、省略し、多数のモジュールに分割し、他のモジュールと結合し、かつ/または同様のモジュールと置き換えることができる。代替実施形態では、異なるモジュールおよび/または他のモジュールの構成を有する符号器または復号器は、説明するテクニックの1つまたは複数を実行する。 Depending on the implementation and the type of compression desired, encoder or decoder modules can be added, omitted, divided into multiple modules, combined with other modules, and / or replaced with similar modules. . In alternative embodiments, an encoder or decoder having a different module and / or configuration of other modules performs one or more of the described techniques.
例示する符号器および復号器はブロック・ベースであり、4:2:0マクロブロック・フォーマットを使用し、各マクロブロックは4つの8×8ルミナンス・ブロック(時として、1つの16×16マクロブロックとして扱われる)、および、2つの8×8クロミナンス・ブロックを含む。別法として、符号器および復号器はオブジェクト・ベースであり、異なるマクロブロックまたはブロック・フォーマットを使用し、あるいは、8×8ブロックおよび16×16マクロブロックとは異なるサイズまたは構成のピクセルのセットにおいてオペレーションを実行する。 The exemplary encoder and decoder are block-based and use a 4: 2: 0 macroblock format, where each macroblock is composed of four 8 × 8 luminance blocks (sometimes one 16 × 16 macroblock). And two 2x8 chrominance blocks. Alternatively, the encoder and decoder are object-based and use different macroblocks or block formats, or in sets of pixels of different sizes or configurations than 8x8 blocks and 16x16 macroblocks Perform the operation.
A.ビデオ符号器の実施例
符号器は、カレント・フレームを含むビデオ・フレームのシーケンスを受信し、圧縮されたビデオ情報を出力として生成する。符号器は、予測フレームおよびキー・フレームを圧縮する。符号器のコンポーネントの多数が、キー・フレームおよび予測フレームの両方を圧縮するために使用される。これらのコンポーネントによって実行される厳密なオペレーションは、圧縮中されている情報のタイプに応じて異なる可能性がある。
A. Video Encoder Embodiment The encoder receives a sequence of video frames, including the current frame, and produces as output compressed video information. The encoder compresses the predicted frame and the key frame. Many of the components of the encoder are used to compress both key and predicted frames. The exact operations performed by these components can vary depending on the type of information being compressed.
予測フレーム(Pフレーム、双方向予測ではBフレーム、またはインター(フレーム間)符号化フレーム(inter-coded frame)とも呼ばれる)が、1つまたは複数の他のフレームからの予測(または差)に関して表現される。予測残差は、予測されたものと元のフレームの間の差である。対照的にキー・フレーム(Iフレーム、イントラ(フレーム内)符号化フレーム(intra-coded frame)とも呼ばれる)は、他のフレームに関係なく圧縮される。 Predicted frames (also called P frames, B frames in bidirectional prediction, or inter-coded frames) are expressed in terms of prediction (or difference) from one or more other frames Is done. The prediction residual is the difference between what was predicted and the original frame. In contrast, key frames (I-frames, also called intra-coded frames) are compressed independently of other frames.
いくつかの実施形態の中の図2を参照すると、カレント・フレーム(205)を符号化する符号器(200)は、マルチ・リゾルーション符号化のためのリゾルーション変換器(210)を含む。リゾルーション変換器(210)はカレント・フレーム(205)を入力として受信し、変換されたフレームはもちろん、マルチ・リゾルーション・パラメータ(215)を出力する。カレント・フレーム(205)が予測フレームである場合、リゾルーション変換器(230)は、入力としてカレント・フレーム(205)のための参照フレーム(225)を受信し、変換された参照フレームを出力する。 Referring to FIG. 2 in some embodiments, an encoder (200) that encodes a current frame (205) includes a resolution transformer (210) for multi-resolution encoding. The resolution converter (210) receives the current frame (205) as input and outputs multi-resolution parameters (215) as well as the converted frame. If the current frame (205) is a predicted frame, the resolution transformer (230) receives as input a reference frame (225) for the current frame (205) and outputs a transformed reference frame. .
リゾルーション変換器(210)および(230)は、他の符号化モジュール(240)と通信し、他の符号化モジュール(240)は、リゾルーション変換器(210)および(230)によって提供されたマルチ・リゾルーション符号化情報(例えば、マルチ・リゾルーション・パラメータ(215))に部分的に基づく出力(245)(例えば、ピクセル・ブロック・データ、モーション・ベクトル、残差など)を生成する。 Resolution converters (210) and (230) communicate with other encoding modules (240), which were provided by resolution converters (210) and (230). An output (245) (eg, pixel block data, motion vector, residual, etc.) is generated based in part on the multi-resolution coding information (eg, multi-resolution parameters (215)).
他の符号器モジュール(240)には例えば、動き推定器、動き補償器、周波数変換器、量子化器、フレーム・ストアおよびエントロピー符号器を含むことができる。 Other encoder modules (240) may include, for example, a motion estimator, a motion compensator, a frequency transformer, a quantizer, a frame store, and an entropy encoder.
カレント・フレーム(205)が前方予測フレームである場合、動き推定器は、参照フレーム(225)に対するカレント・フレーム(205)のマクロブロックまたは他のピクセルのセットの動きを、推定する。この場合の参照フレームは、フレーム・ストアにバッファリングされた、再構築された以前のフレームである。代替実施形態では、参照フレーム(225)は後のフレームであり、あるいはカレント・フレーム(205)は双方向に予測される。動き補償器は、動き情報を再構築された以前のフレームに適用して、動き補償されたカレント・フレームを形成する。しかし、予測はめったに完全ではなく、動き補償されたカレント・フレームと元のカレント・フレーム(205)の間の差異は、予測残差である。別法として、動き推定器および動き補償器は別のタイプの動き推定/補償を適用する。 If the current frame (205) is a forward predicted frame, the motion estimator estimates the motion of the current frame (205) macroblock or other set of pixels with respect to the reference frame (225). The reference frame in this case is the previous reconstructed frame buffered in the frame store. In an alternative embodiment, the reference frame (225) is a later frame, or the current frame (205) is bidirectionally predicted. The motion compensator applies the motion information to the reconstructed previous frame to form a motion compensated current frame. However, the prediction is rarely perfect, and the difference between the motion compensated current frame and the original current frame (205) is the prediction residual. Alternatively, the motion estimator and motion compensator apply another type of motion estimation / compensation.
周波数変換器は、空間領域ビデオ情報(spatial domain video information)を周波数領域(frequency domain)(すなわち、スペクトル)データに変換する。ブロック・ベースのビデオ・フレームでは、周波数変換器は離散コサイン変換(DCT)をピクセル・データのブロックまたは予測残差データに適用し、DCT係数のブロックを生成する。別法として、周波数変換器は、フーリエ変換などの別の従来の周波数変換を適用し、あるいはウェーブレットまたはサブ・バンド解析(analysis)を使用する。 The frequency converter converts spatial domain video information into frequency domain (ie, spectrum) data. For block-based video frames, the frequency transformer applies a discrete cosine transform (DCT) to a block of pixel data or prediction residual data to generate a block of DCT coefficients. Alternatively, the frequency transformer applies another conventional frequency transform, such as a Fourier transform, or uses wavelet or sub-band analysis.
次いで、量子化器はスペクトル・データ係数のブロックを量子化する。量子化器はフレーム毎のベースで、あるいは他のベースで変わるステップ・サイズを使用して、スペクトル・データに対して一様のスカラ量子化を適用する。別法として、量子化器は、非一様、ベクトル、または非適応量子化などの別のタイプの量子化をスペクトル・データ係数に適用したり、あるいは、周波数変換を使用しない符号器システムにおいて空間領域データを直接量子化したり、する。適応量子化に加えて、符号器(200)はフレーム・ドロップ、適応フィルタリング、またはレート・コントロールのための他のテクニックを使用することができる。 The quantizer then quantizes the block of spectral data coefficients. The quantizer applies uniform scalar quantization to the spectral data using a step size that changes on a frame-by-frame basis or on another basis. Alternatively, the quantizer may apply another type of quantization to the spectral data coefficients, such as non-uniform, vector, or non-adaptive quantization, or may apply spatial quantization in encoder systems that do not use frequency transform. Quantize or directly quantize region data. In addition to adaptive quantization, the encoder (200) may use frame dropping, adaptive filtering, or other techniques for rate control.
再構築されたカレント・フレームが、後続の動き推定/補償のために必要とされるとき、符号器(200)のモジュールはカレント・フレーム(205)を再構築し、これは通常、フレームを符号化するために使用されたテクニックの逆を実行する。フレーム・ストアは、再構築されたカレント・フレームを、次のフレームの予測において使用するためにバッファリングする。 When the reconstructed current frame is needed for subsequent motion estimation / compensation, the module of the encoder (200) reconstructs the current frame (205), which typically encodes the frame. Performs the reverse of the technique used to The frame store buffers the reconstructed current frame for use in predicting the next frame.
エントロピー符号器は、量子化器の出力ならびにある副情報(例えば、動き情報、量子化ステップ・サイズなど)を圧縮する。通常のエントロピー符号化テクニックには、算術符号化、差分符号化、ハフマン符号化、ラン・レングス符号化、LZ符号化、辞書型符号化、および上記の組合せまたは変形物が含まれる。エントロピー符号器は通常、異なる種類の情報について異なる符号化テクニックを使用し、特定の符号化テクニック内の多数のコード・テーブルの中から選択することができる。 The entropy encoder compresses the output of the quantizer as well as certain side information (eg, motion information, quantization step size, etc.). Common entropy coding techniques include arithmetic coding, differential coding, Huffman coding, run length coding, LZ coding, dictionary coding, and combinations or variations of the above. Entropy encoders typically use different coding techniques for different types of information and can select among a number of code tables within a particular coding technique.
いくつかの実施形態における他の符号器モジュール(240)についての追加の詳細については、2001年5月3日出願の「DYNAMIC FILTERING FOR LOSSY COMPRESSION」という名称の米国特許出願第09/849,502号、1998年11月30日出願の「EFFICIENT MOTION VECTOR CODING FOR VIDEO COMPRESSION」という名称の米国特許出願第09/201,278号、特許文献1および特許文献2を参照されたい。これらの各開示は参照により本明細書に組み込まれる。 For additional details on other encoder modules (240) in some embodiments, see US patent application Ser. No. 09 / 849,502 entitled “DYNAMIC FILTERING FOR LOSSY COMPRESSION” filed May 3, 2001. See U.S. patent application Ser. No. 09 / 201,278, U.S. Pat. Each of these disclosures is incorporated herein by reference.
B.ビデオ復号器の実施例
図3を参照すると、復号器(300)は、圧縮されたビデオ・フレームのシーケンスについての情報を受信し、再構築されたフレームを含む出力を生成する。復号器(300)は、予測フレームおよびキー・フレームを圧縮解除する。復号器(300)のコンポーネントの多数が、キー・フレームおよび予測フレームの両方を圧縮解除するために使用される。これらのコンポーネントによって実行される厳密なオペレーションは、圧縮されている情報のタイプに応じて変わる可能性がある。
B. Video Decoder Embodiment Referring to FIG. 3, a decoder (300) receives information about a sequence of compressed video frames and generates an output including the reconstructed frames. The decoder (300) decompresses the predicted frame and the key frame. Many of the components of the decoder (300) are used to decompress both key frames and predicted frames. The exact operations performed by these components can vary depending on the type of information being compressed.
いくつかの実施形態では、カレント・フレーム(305)を再構築する復号器(300)は、マルチ・リゾルーション復号化のためのリゾルーション変換器(310)を含む。リゾルーション変換器(310)は、復号化されたフレーム(315)を入力として取り、再構築されたカレント・フレーム(305)を出力する。 In some embodiments, the decoder (300) for reconstructing the current frame (305) includes a resolution transformer (310) for multi-resolution decoding. The resolution transformer (310) takes as input the decoded frame (315) and outputs a reconstructed current frame (305).
カレント・フレーム(305)が予測フレームである場合、リゾルーション変換器(330)は入力として、マルチ・リゾルーション・パラメータ(315)およびカレント・フレーム(305)のための参照フレーム(325)を受信する。リゾルーション変換器(330)は、参照フレーム情報を他の復号器モジュール(340)に出力する。他の復号器モジュール(340)は参照フレーム情報を、符号器から受信された動きベクトル、残差など(345)と共に使用して、カレント・フレーム(305)を復号化する。 If the current frame (305) is a predicted frame, the resolution transformer (330) receives as input the multi-resolution parameter (315) and a reference frame (325) for the current frame (305). I do. The resolution converter (330) outputs the reference frame information to another decoder module (340). Another decoder module (340) uses the reference frame information with the motion vectors, residuals, etc. (345) received from the encoder to decode the current frame (305).
他の復号器モジュール340には、例えば、バッファ、エントロピー復号器、動き補償器、フレーム・ストア、逆量子化器および逆周波数変換器を含むことができる。
バッファは、圧縮されたビデオ・シーケンスについての情報(345)を受信し、受信された情報をエントロピー復号器で使用可能にする。バッファは通常、情報を、経時的にかなり一定であるレートで受信し、帯域幅または伝送における短期変動を平滑化するためのジッタ・バッファを含む。バッファは、再生バッファおよび他のバッファも含むことができる。別法として、バッファは情報を、変化するレートで受信する。 The buffer receives information (345) about the compressed video sequence and makes the received information available to an entropy decoder. Buffers typically receive information at a rate that is fairly constant over time and include a jitter buffer to smooth short-term variations in bandwidth or transmission. Buffers can also include playback buffers and other buffers. Alternatively, the buffer receives information at a varying rate.
エントロピー復号器は、エントロピー符号化された量子化データ、ならびに、エントロピー符号化された副情報(例えば、動き情報、量子化ステップ・サイズなど)を復号化し、通常は、符号器において実行されたエントロピー符号化の逆を適用する。エントロピー復号器はしばしば、異なる種類の情報について異なる復号化テクニックを使用し、特定の復号化テクニック内の多数のコード・テーブルの中から選択することができる。 An entropy decoder decodes the entropy coded quantized data, as well as the entropy coded side information (eg, motion information, quantization step size, etc.), and typically performs Apply the inverse of encoding. Entropy decoders often use different decoding techniques for different types of information and can select among multiple code tables within a particular decoding technique.
再構築されるフレームが前方予測フレームである場合、動き補償器は動き情報を参照フレームに適用して、再構築中であるフレームの予測を形成する。例えば、動き補償器はマクロブロック動きベクトルを使用して、参照フレームにおけるマクロブロックを見つけ出す。フレーム・バッファは、以前の再構築されたフレームを、参照フレームとして使用するために格納する。別法として、動き補償器は別のタイプの動き補償を適用する。動き補償器による予測はめったに完全ではなく、そのため復号器はまた予測残差をも再構築する。 If the frame being reconstructed is a forward predicted frame, the motion compensator applies the motion information to the reference frame to form a prediction of the frame being reconstructed. For example, the motion compensator uses a macroblock motion vector to find a macroblock in a reference frame. The frame buffer stores the previous reconstructed frame for use as a reference frame. Alternatively, the motion compensator applies another type of motion compensation. The prediction by the motion compensator is rarely perfect, so the decoder also reconstructs the prediction residual.
復号器が、再構築されたフレームを後続の動き補償のために必要とするとき、フレーム・ストアは、再構築されたフレームを、次のフレームの予測において使用するためにバッファリングする。 When the decoder needs the reconstructed frame for subsequent motion compensation, the frame store buffers the reconstructed frame for use in predicting the next frame.
逆量子化器は、エントロピー復号化されたデータを逆量子化する。一般には、逆量子化器は、フレーム毎のベースで、あるいは他のベースで変わるステップ・サイズを使用して、エントロピー復号化されたデータに対して一様のスカラ逆量子化を適用する。別法として、逆量子化器は、非一様、ベクトル、または非適応逆量子化などの別のタイプの逆量子化をデータに適用したり、あるいは空間領域データを、逆周波数変換を使用しない復号器システムにおいて直接逆量子化したり、する。 The inverse quantizer inversely quantizes the entropy-decoded data. In general, inverse quantizers apply uniform scalar inverse quantization to entropy-decoded data using a step size that changes on a frame-by-frame or other basis. Alternatively, the inverse quantizer applies another type of inverse quantization to the data, such as non-uniform, vector, or non-adaptive inverse quantization, or does not use the spatial frequency data with an inverse frequency transform. Dequantize or directly in the decoder system.
逆周波数変換器は、量子化された周波数領域データを空間領域ビデオ情報に変換する。ブロック・ベースのビデオ・フレームでは、逆周波数変換器は、逆DCT(IDCT)をDCT係数のブロックに適用し、それぞれキー・フレームまたは予測フレームのためのピクセル・データまたは予測残差データを生成する。別法として、周波数変換器は、フーリエ変換などの別の従来の逆周波数変換を適用し、あるいはウェーブレットまたはサブ・バンド統合(synthesis)を使用する。 The inverse frequency transformer converts the quantized frequency domain data into spatial domain video information. For block-based video frames, the inverse frequency transformer applies inverse DCT (IDCT) to the block of DCT coefficients to generate pixel data or prediction residual data for a key frame or prediction frame, respectively. . Alternatively, the frequency transformer applies another conventional inverse frequency transform, such as a Fourier transform, or uses wavelets or sub-band synthesis.
いくつかの実施形態における他の復号器モジュール(340)についての追加の詳細については、2001年5月3日出願の「DYNAMIC FILTERING FOR LOSSY COMPRESSION」という名称の米国特許出願第09/849,502号、1998年11月30日出願の「EFFICIENT MOTION VECTOR CODING FOR VIDEO COMPRESSION」という名称の米国特許出願第09/201,278号、特許文献1および特許文献2を参照されたい。 For additional details on other decoder modules (340) in some embodiments, see US Patent Application Serial No. 09 / 849,502, filed May 3, 2001, entitled "DYNAMIC FILTERING FOR LOSSY COMPRESSION. See U.S. patent application Ser. No. 09 / 201,278, U.S. Pat.
III.マルチ・リゾルーション・ビデオ符号化および復号化
マルチ・リゾルーション符号化では、符号器が入力フレームを異なる空間リゾルーションで符号化する。符号器はフレームのための空間リゾルーションを、フレーム毎のベースで、あるいは他のベースで選択する。いくつかの実施形態では、符号器は空間リゾルーションを、以下の観測に基づいて選択する。
1.ビットレートが減るにつれて、より低い空間リゾルーションでの符号化での利点が増す。
2.量子化ステップ・サイズが増すにつれて、より低い空間リゾルーションでの符号化での利点が増す。
3.ダウン・サンプリングが高い周波数情報を廃棄するので、ダウン・サンプリングは時として、知覚的に重要な高い周波数コンテンツ(例えば、「強いエッジ」、テキストなど)を有するフレームには、あまり適していない。
4.フレームが低域特性を有する場合、あるいはフレームがノイズのような高い周波数コンテンツを有する場合、ダウン・サンプリングが適切である可能性がある。
III. Multi-Resolution Video Coding and Decoding In multi-resolution coding, an encoder encodes input frames with different spatial resolutions. The encoder selects the spatial resolution for the frame on a frame-by-frame or other basis. In some embodiments, the encoder selects a spatial resolution based on the following observations.
1. As the bit rate decreases, the advantages in coding at lower spatial resolutions increase.
2. As the quantization step size increases, the advantage in coding with lower spatial resolution increases.
3. Because downsampling discards high frequency information, downsampling is sometimes less suitable for frames with perceptually significant high frequency content (eg, "strong edges", text, etc.).
4. If the frame has low frequency characteristics, or if the frame has high frequency content such as noise, downsampling may be appropriate.
いくつかの実施形態では、符号器はカレント・フレームのビットレート、量子化器ステップ・サイズおよび高い周波数エネルギーについての方向づけ(orientation)/大きさを使用して、空間リゾルーションを選択する。例えば、カレント・フレームの水平の高い周波数成分の大きさが大きいが垂直の高い周波数成分の大きさが小さい場合、符号器は垂直ダウン・サンプリングを選択する。他の実施形態では、符号器は参照フレームからの情報を(カレント・フレームからの情報の代わりに、あるいはこれと組み合わせて)使用して、空間リゾルーションを選択する。別法として、符号器は上の基準のいくつかまたはすべてを省略するか、上の基準のいくつかの代わりに他の基準を使用するか、あるいは追加の基準を使用して空間リゾルーションを選択することができる。 In some embodiments, the encoder uses the bit rate of the current frame, the quantizer step size, and the orientation / magnitude for high frequency energy to select a spatial resolution. For example, if the magnitude of the horizontal high frequency component of the current frame is large but the magnitude of the vertical high frequency component is small, the encoder selects vertical down sampling. In another embodiment, the encoder uses information from the reference frame (instead of or in combination with information from the current frame) to select a spatial resolution. Alternatively, the encoder may omit some or all of the above criteria, use other criteria instead of some of the above criteria, or select spatial resolution using additional criteria can do.
符号器がカレント・フレームのための空間リゾルーションを選択した後、符号器は、これを符号化する前に、元のフレームを所望のリゾルーションへ再サンプリングする。カレント・フレームが予測フレームである場合、符号器はまた予測フレームのための参照フレームも、カレント・フレームの新しいリゾルーションに合致するように再サンプリングする。次いで、符号器はリゾルーションの選択を復号器に送信する。一実装では、6タップ・フィルタがダウン・サンプリングのために使用され、10タップ・フィルタがアップ・サンプリングのために使用され、これらのフィルタは、組み合わせることによって、再構築されたビデオの品質を高めるように設計される。別法として、他のフィルタが使用される。 After the encoder has selected a spatial resolution for the current frame, the encoder resamples the original frame to the desired resolution before encoding it. If the current frame is a predicted frame, the encoder also resamples the reference frame for the predicted frame to match the new resolution of the current frame. The encoder then sends the resolution selection to the decoder. In one implementation, a 6 tap filter is used for downsampling and a 10 tap filter is used for upsampling, which combine to enhance the quality of the reconstructed video Designed to be. Alternatively, other filters are used.
図4は、フレームのマルチ・リゾルーション符号化のためのテクニック(400)を示す。図2の符号器(200)などの符号器は、フレームのためのリゾルーションを設定する(410)。例えば、符号器は、上に挙げた基準または他の基準を考慮する。 FIG. 4 shows a technique (400) for multi-resolution encoding of a frame. An encoder, such as the encoder (200) of FIG. 2, sets the resolution for the frame (410). For example, the encoder considers the criteria listed above or other criteria.
次いで、符号器は、フレーム(420)をそのリゾルーションで符号化する。符号化が完了した場合(430)、符号器は終了する。そうでない場合、符号器が次のフレームのためのリゾルーションを設定し(410)、符号化を継続する。別法として、符号器はリゾルーションをフレーム・レベル以外のあるレベルに設定する。 The encoder then encodes frame (420) with the resolution. If the encoding is complete (430), the encoder ends. If not, the encoder sets the resolution for the next frame (410) and continues encoding. Alternatively, the encoder sets the resolution to some level other than the frame level.
いくつかの実施形態では、符号器は予測フレームならびにイントラ・フレームを符号化する。図6は、イントラ・フレームおよび予測フレームのマルチ・リゾルーション符号化のためのテクニック(600)を示す。 In some embodiments, the encoder encodes predicted frames as well as intra frames. FIG. 6 shows a technique (600) for multi-resolution encoding of intra and predicted frames.
最初に、符号器は、符号化されるカレント・フレームがIフレームであるかPフレームであるかをチェックする(610)。カレント・フレームがIフレームである場合、符号器はカレント・フレームのためのリゾルーションを設定する(620)。フレームがPフレームである場合、符号器は、カレント・フレームのためのリゾルーションを設定する(620)前に、参照フレームのためのリゾルーションを設定する(630)。 First, the encoder checks whether the current frame to be encoded is an I frame or a P frame (610). If the current frame is an I-frame, the encoder sets a resolution for the current frame (620). If the frame is a P-frame, the encoder sets the resolution for the reference frame (630) before setting the resolution for the current frame (620).
カレント・フレームのためのリゾルーションを設定した後(620)、符号器はカレント・フレームをそのリゾルーションで符号化する(640)。符号化が完了した場合(650)、符号器は終了する。そうでない場合、符号器は符号化を継続する。 After setting the resolution for the current frame (620), the encoder encodes the current frame with the resolution (640). If the encoding is complete (650), the encoder ends. Otherwise, the encoder continues encoding.
いくつかの実装では、符号器は、以下のリゾルーションのうち1つで選択的にフレームを符号化する。すなわち、1)最大リゾルーション、2)水平方向において2のファクタでダウン・サンプリングされたリゾルーション、3)垂直方向において2のファクタでダウン・サンプリングされたリゾルーション、または4)水平方向および垂直方向において2のファクタでダウン・サンプリングされたリゾルーション、である。別法として、符号器は、リゾルーションをある他のファクタ(例えば、2のべき乗ではないもの)により減らすかあるいは増したり、追加の使用可能なリゾルーションを有したり、あるいはある他のテクニックを使用してリゾルーションを設定したり、する。符号器は各フレームのためのリゾルーションを、元のイメージ・サイズに対して設定する。別法として、符号器はフレームのためのリゾルーションを、以前のフレームのリゾルーションまたは以前のリゾルーション設定に対して設定し、すなわち、符号器は、以前のリゾルーションに対してリゾルーションを漸進的に(progressively)変更する。 In some implementations, the encoder selectively encodes the frame with one of the following resolutions. That is, 1) the maximum resolution, 2) the resolution downsampled by a factor of 2 in the horizontal direction, 3) the resolution downsampled by a factor of 2 in the vertical direction, or 4) the horizontal and vertical directions. , A resolution downsampled by a factor of 2. Alternatively, the encoder may reduce or increase the resolution by some other factor (eg, not a power of two), have additional available resolutions, or use some other technique. Use or set resolution. The encoder sets the resolution for each frame to the original image size. Alternatively, the encoder sets the resolution for the frame to the resolution of the previous frame or the previous resolution setting, i.e., the encoder progressively resolves relative to the previous resolution. Change progressively.
復号器は、符号化されたフレームを復号化し、必要な場合、フレームを表示前にアップ・サンプリングする。符号化されたフレームのリゾルーションのように、復号化されたフレームのリゾルーションを多数の異なる方法において調整することができる。 The decoder decodes the encoded frames and, if necessary, up-samples the frames before displaying them. Like the resolution of an encoded frame, the resolution of a decoded frame can be adjusted in a number of different ways.
図5は、フレームのマルチ・リゾルーション復号化のためのテクニック(500)を示す。図3の復号器(300)などの復号器は、フレームのためのリゾルーションを設定する(510)。例えば、復号器はリゾルーション情報を符号器から得る。 FIG. 5 shows a technique (500) for multi-resolution decoding of a frame. A decoder, such as decoder (300) in FIG. 3, sets the resolution for the frame (510). For example, a decoder obtains resolution information from an encoder.
次いで、復号器は、フレームをそのリゾルーションで復号化する(520)。復号化が完了した場合(530)、復号器は終了する。そうでない場合、復号器は次のフレームのためのリゾルーションを設定し(510)、復号化を継続する。別法として、復号器はリゾルーションをフレーム・レベル以外のあるレベルに設定する。 The decoder then decodes the frame with the resolution (520). If the decoding is complete (530), the decoder ends. If not, the decoder sets the resolution for the next frame (510) and continues decoding. Alternatively, the decoder sets the resolution to some level other than the frame level.
いくつかの実施形態では、復号器は予測フレームならびにイントラ・フレームを復号化する。図7は、イントラ・フレームおよび予測フレームのマルチ・リゾルーション復号化のためのテクニック(700)を示す。 In some embodiments, the decoder decodes predicted frames as well as intra frames. FIG. 7 shows a technique (700) for multi-resolution decoding of intra and predicted frames.
最初に、復号器は、復号化されるカレント・フレームがIフレームであるかPフレームであるかをチェックする(710)。カレント・フレームがIフレームである場合、復号器はカレント・フレームのためのリゾルーションを設定する(720)。フレームがPフレームである場合、復号器は、カレント・フレームのためのリゾルーションを設定する(720)前に、参照フレームのためのリゾルーションを設定する(730)。 First, the decoder checks whether the current frame to be decoded is an I frame or a P frame (710). If the current frame is an I-frame, the decoder sets the resolution for the current frame (720). If the frame is a P-frame, the decoder sets the resolution for the reference frame (730) before setting the resolution for the current frame (720).
参照フレームのためのリゾルーションを設定した後(720)、復号器はカレント・フレームをそのリゾルーションで復号化する(740)。復号化が完了した場合(750)、復号器は終了する。そうでない場合、復号器は復号化を継続する。 After setting the resolution for the reference frame (720), the decoder decodes (740) the current frame with that resolution. If the decoding is complete (750), the decoder ends. Otherwise, the decoder continues decoding.
復号器は通常、符号器で使用されたリゾルーション、例えば、上述のリゾルーションのうち1つでフレームを復号化する。別法として、復号器で使用可能なリゾルーションは、符号器で使用されたものと厳密に同じではない。 The decoder typically decodes the frame with the resolution used at the encoder, for example, one of the resolutions described above. Alternatively, the resolution available at the decoder is not exactly the same as that used at the encoder.
A.シグナリング
マルチ・リゾルーション符号化されたフレームを復号化するための十分な情報を復号器に提供するために、符号器はビット・ストリーム・シグナリングを使用する。例えば、符号器は、フレームのシーケンスがマルチ・リゾルーション符号化を使用して符号化されるかどうかを示し、かつ/または、シーケンス内で符号化されたフレームのリゾルーションを示すシグナルを、1つまたは複数のフラグまたはコードの形式で送信することができる。別法として、符号器はマルチ・リゾルーション符号化を、シーケンス・レベル以外のあるレベルで可能/不可能にし、かつ/またはリゾルーションをフレーム・レベル以外のあるレベルで設定する。
A. Signaling The encoder uses bit stream signaling to provide the decoder with enough information to decode the multi-resolution encoded frame. For example, the encoder may indicate whether a sequence of frames is encoded using multi-resolution encoding and / or may output a signal indicating the resolution of the encoded frames within the sequence to 1 It can be sent in the form of one or more flags or codes. Alternatively, the encoder enables / disables multi-resolution encoding at some level other than the sequence level and / or sets the resolution at some level other than the frame level.
図8は、フレームのシーケンスをマルチ・リゾルーション符号化により符号化する際に、シグナルを送信するためのテクニック(800)を示す。符号器は次のシーケンス・ヘッダを入力として取り(810)、マルチ・リゾルーション符号化がこのシーケンスに対して可能にするべきであるかどうかを決定する(820)。 FIG. 8 shows a technique (800) for transmitting a signal when encoding a sequence of frames by multi-resolution encoding. The encoder takes as input the next sequence header (810) and determines whether multi-resolution encoding should be enabled for this sequence (820).
符号器が、マルチ・リゾルーション符号化をこのシーケンスに対して使用中でない場合、符号器は、そのシーケンスのシグナルをそれに応じて設定し(830)、そのシーケンス内のフレームを符号化する(840)。 If the encoder is not using multi-resolution encoding for this sequence, the encoder sets the signal of the sequence accordingly (830) and encodes the frames in the sequence (840). ).
符号器がマルチ・リゾルーション符号化を使用中である場合、符号器はシーケンスのシグナルをそれに応じて設定する(850)。次いで、符号器はそのシーケンス内のフレームを、そのフレームの水平および/または垂直リゾルーション用のスケーリング・ファクタを示すシグナルに従って、(例えば、図4または図6を参照して上述したように)符号化する。 If the encoder is using multi-resolution encoding, the encoder sets the signal of the sequence accordingly (850). The encoder then codes the frames in the sequence according to a signal indicating a scaling factor for the horizontal and / or vertical resolution of the frame (eg, as described above with reference to FIG. 4 or FIG. 6). Become
符号化が完了した場合(870)、符号器は終了する。そうでない場合、符号器は次のシーケンスを符号化する。 If the encoding is complete (870), the encoder ends. Otherwise, the encoder encodes the next sequence.
いくつかの実施形態では、符号器は、マルチ・リゾルーション符号化がフレームのシーケンスのために可能にされるかどうかを示す1ビットを送信する。次いで、そのシーケンス内のフレームについて、IフレームおよびPフレームの各々について指定されたフィールドにおけるコードが、最大リゾルーション・フレームに対するそのフレームのリゾルーション用のスケーリング・ファクタを指定する。一実装では、そのコードは固定長コードである。表1は、スケーリング・ファクタが、RESPIC FLCというラベルが付けられたフィールドにおいてどのように符号化されるかを示している。 In some embodiments, the encoder sends one bit that indicates whether multi-resolution encoding is enabled for the sequence of frames. Then, for the frames in the sequence, the codes in the fields specified for each of the I and P frames specify the scaling factor for that frame's resolution relative to the maximum resolution frame. In one implementation, the code is a fixed length code. Table 1 shows how the scaling factor is encoded in the field labeled RESPIC FLC.
別法として、符号器は、フレーム・リゾルーションへの調整をシグナルで送るもう1つの方法(例えば、可変長コード)を使用する。実装および可能なリゾルーションの数に応じて、符号器は追加のシグナル・コードまたはより少ない数のシグナル・コードを使用することができ、あるいは水平および垂直リゾルーションについて異なるコードを使用することができる。さらに、可能なリゾルーションの相対的確率に応じて、符号器はコードの長さを調整することができる(例えば、より短いコードを、最も可能性の高いリゾルーションに割り当てる)。さらに、符号器はシグナルを他の目的のために使用することができる。例えば、符号器はシグナル(例えば、固定または可変長コード)を使用して、複数のフィルタが使用可能である状況においてどのフィルタが再サンプリングのために使用されるべきであるかを示すことができる。符号器はこのようなシグナルを使用して、使用可能な、あらかじめ定義されたフィルタまたはカスタム・フィルタのうちどちらを再サンプリングにおいて使用するべきであるかを示すことができる。 Alternatively, the encoder uses another method (eg, a variable length code) that signals adjustments to the frame resolution. Depending on the implementation and the number of possible resolutions, the encoder may use additional or fewer signal codes, or may use different codes for horizontal and vertical resolution . Further, depending on the relative probabilities of possible resolutions, the encoder can adjust the length of the code (eg, assign a shorter code to the most likely resolution). In addition, the encoder can use the signal for other purposes. For example, an encoder may use a signal (eg, a fixed or variable length code) to indicate which filters should be used for resampling in situations where multiple filters are available. . The encoder can use such a signal to indicate which of the available predefined or custom filters should be used in the resampling.
シグナルを送信することによって、符号器は復号器に、マルチ・リゾルーション符号化されたフレームを復号化するために有用な情報を提供する。復号器はシグナルを構文解析して、符号化されたフレームがどのように復号化されるべきであるかを決定する。例えば、復号器は、符号器によって送信されたコードを解釈して、フレームのシーケンスがマルチ・リゾルーション符号化を使用して符号化されているかどうかを決定し、かつ/または、シーケンス内の符号化されたフレームのリゾルーションを決定することができる。 By transmitting the signal, the encoder provides the decoder with information useful for decoding the multi-resolution encoded frame. The decoder parses the signal to determine how the encoded frame should be decoded. For example, the decoder interprets the code transmitted by the encoder to determine whether the sequence of frames has been encoded using multi-resolution encoding and / or The resolution of the fragmented frame can be determined.
図9は、符号化されたフレームのシーケンスをマルチ・リゾルーション復号化により復号化するとき、シグナルを受信および解釈するためのテクニック(900)を示す。復号器は次の符号化されたシーケンス・ヘッダを入力として取り(910)、このシーケンスに関連付けられたシグナルをチェックして、符号器がマルチ・リゾルーション符号化をこのシーケンスのために使用したかどうかを決定する(920)。 FIG. 9 shows a technique (900) for receiving and interpreting a signal when decoding a sequence of encoded frames with multi-resolution decoding. The decoder takes as input the next encoded sequence header (910) and checks the signal associated with this sequence to determine if the encoder used multi-resolution encoding for this sequence. A determination is made (920).
符号器がマルチ・リゾルーション符号化を使用しなかった場合、復号器は、そのシーケンス内のフレームを復号化する(930)。他方では、符号器がマルチ・リゾルーション符号化を使用した場合、復号器は、そのフレーム用の水平および/または垂直リゾルーションのスケーリング・ファクタを示すシグナルを構文解析する(940)。次いで、復号器は、そのフレームをそれに応じて(例えば、図5または図7を参照して上述したように)復号化する(950)。 If the encoder did not use multi-resolution encoding, the decoder decodes the frames in the sequence (930). On the other hand, if the encoder used multi-resolution encoding, the decoder parses (940) a signal indicating the horizontal and / or vertical resolution scaling factor for that frame. The decoder then decodes the frame accordingly (eg, as described above with reference to FIG. 5 or FIG. 7) (950).
復号化が完了した場合(960)、復号器は終了する。そうでない場合、復号器は次のシーケンスを復号化する。 If the decoding is complete (960), the decoder ends. Otherwise, the decoder decodes the next sequence.
B.ダウン・サンプリングおよびアップ・サンプリング
以下のセクションでは、いくつかの実装におけるアップ・サンプリングおよびダウン・サンプリングのプロセスを説明する。他の実装は、異なるアップ・サンプリング、ダウン・サンプリングまたはフィルタリング・テクニックを使用する。例えば、代替実施形態では、符号器は、非線形フィルタまたは空間的に変化するフィルタ・バンクを使用して、フレームを符号化することができる。
B. Down-Sampling and Up-Sampling The following sections describe the up-sampling and down-sampling processes in some implementations. Other implementations use different up-sampling, down-sampling or filtering techniques. For example, in an alternative embodiment, the encoder may encode the frame using a non-linear filter or a spatially varying filter bank.
表2は、符号器および/または復号器によって、フレームのダウン・サンプリング/アップ・サンプリングのために使用される変数定義を示している。これらの定義は、ダウン・サンプリングおよびアップ・サンプリングの実施例のための擬似コードについての以下の説明で使用される。 Table 2 shows the variable definitions used by the encoder and / or decoder for down / up sampling of the frame. These definitions are used in the following description of the pseudo code for the down-sampling and up-sampling embodiments.
表2:いくつかの実装におけるダウン・サンプリング/アップ・サンプリングのための変数定義
Nu=アップ・サンプリングされた(最大リゾルーション)ライン内のサンプルの数
Nd=ダウン・サンプリングされた(半リゾルーション)ライン内のサンプルの数
Xu[n]=位置nでアップ・サンプリングされたサンプル値、ただしn=0,1,2…Nu−1
Xd[n]=位置nでダウン・サンプリングされたサンプル値、ただしn=0,1,2…Nd−1
Table 2: Variable definitions for down sampling / up sampling in some implementations
N u = number of samples in the up-sampled (maximum resolution) line
N d = number of samples in the down-sampled (semi-resolution) line
X u [n] = upsampled sample values at positions n, except n = 0,1,2 ... N u -1
X d [n] = sample value down-sampled at position n, where n = 0, 1, 2,..., N d −1
「ライン」という用語は、Y、CrまたはCbのコンポーネント平面における水平−行または垂直−列におけるサンプル群を指す。以下の実施例では、アップ・サンプリングおよびダウン・サンプリング・オペレーションが行および列の両方について等しく、したがって、1次元のラインのサンプルを使用して例示される。垂直および水平のアップ・サンプリングまたはダウン・サンプリングが実行される場合、水平ラインが最初に再サンプリングされ、後に垂直ラインが続く。別法として、水平および垂直フィルタリングが同時にピクセルのブロック上で、異なるフィルタを使用して実施される。 The term "line" refers to a set of samples in a horizontal-row or vertical-column in the Y, Cr or Cb component plane. In the following example, the up-sampling and down-sampling operations are equal for both rows and columns, and are therefore illustrated using one-dimensional line samples. When vertical and horizontal upsampling or downsampling is performed, the horizontal lines are resampled first, followed by the vertical lines. Alternatively, horizontal and vertical filtering is performed simultaneously on blocks of pixels using different filters.
表3は、ルミナンス線の再サンプリングのための擬似コードを示し、表4は、クロミナンス・ラインの再サンプリングのための擬似コードを示している。 Table 3 shows the pseudo code for resampling the luminance lines, and Table 4 shows the pseudo code for resampling the chrominance lines.
表3:いくつかの実装におけるルミナンス線の再サンプリングのための擬似コード
Nd=Nu/2(ただし、Nuは最大リゾルーションのルミナンス・ラインにおけるサンプルの数)
if((Nd & 15)!=0)
Nd=Nd+16-(Nd & 15)
Table 3: Pseudo code for luminance line resampling in some implementations
N d = N u / 2 (provided that, N u is the number of samples in the luminance line up Rizorushon)
if ((N d & 15)! = 0)
N d = N d + 16- (N d & 15)
表4:いくつかの実施態様におけるクロミナンス線の再サンプリングのための擬似コード
Nd=Nu/2(ただし、Nuは最大リゾルーションのクロミナンス・ラインにおけるサンプルの数)
if((Nd & 7)!=0)
Nd=Nd+8-(Nd & 7)
Table 4: Pseudocode for chrominance line resampling in some embodiments
N d = N u / 2, where Nu is the number of samples in the chrominance line of maximum resolution
if ((N d & 7)! = 0)
N d = N d + 8- (N d & 7)
再サンプリングは、ダウン・サンプリングされたラインについてのサンプルの数を設定する。次いで、(4:2:0または類似のマクロブロックにより動作する符号器では)再サンプリングがラインにおけるサンプルの数を調整し、このラインがルミナンス・ライン用のマクロブロックの倍数(すなわち、16の倍数)、またはクロミナンス・ライン用のブロックの倍数(すなわち、8の倍数)であるように、する。 Resampling sets the number of samples for the downsampled line. Then (in encoders operating with 4: 2: 0 or similar macroblocks) resampling adjusts the number of samples in the line, which is a multiple of the macroblock for the luminance line (ie a multiple of 16). ), Or a multiple of the block for the chrominance line (ie, a multiple of 8).
1.ダウン・サンプリング・フィルタ
ラインのダウン・サンプリングは、表5の擬似コードに従って出力を生成する。
1. Down Sampling Filter Down sampling of the line produces an output according to the pseudo code in Table 5.
表5:いくつかの実装におけるラインのダウン・サンプリングのための擬似コード
if (Nd!=(Nu/2))
{
for (i=Nu;i<Nd*2;i++)
xu[i]=xu[Nu-1]
}
downsamplefilter_line(xu[])
for (i=0;i<Nd;i++)
xd[i]=xu[i*2]
downsample_filterline()において使用される6タップ・フィルタのためのコードを、図10に示す。
Table 5: Pseudo code for line downsampling in some implementations
if (N d ! = (N u / 2))
{
for (i = N u ; i <N d * 2; i ++)
x u [i] = x u [N u -1]
}
downsamplefilter_line (x u [])
for (i = 0; i <N d ; i ++)
x d [i] = x u [i * 2]
The code for the 6 tap filter used in downsample_filterline () is shown in FIG.
図10では、イメージが水平方向においてフィルタリングされるとき、RND_DOWNが値64に設定され、イメージが垂直方向においてフィルタリングされるとき、値63に設定される。 In FIG. 10, RND_DOWN is set to a value of 64 when the image is filtered in the horizontal direction, and is set to a value of 63 when the image is filtered in the vertical direction.
2.アップ・サンプリング・フィルタ
ラインのアップ・サンプリングは、表6の擬似コードに従って出力を生成する。
2. Up-sampling filter Up-sampling of the line produces an output according to the pseudocode in Table 6.
表6:いくつかの実装におけるラインのアップ・サンプリングのための擬似コード
for (i=0;i<Nu;i++)
{
xu[i]=xd[i*2]
xu[i+1]=0
}
upsamplefilter_line(xu[])
Table 6: Pseudo code for line upsampling in some implementations
for (i = 0; i <N u ; i ++)
{
x u [i] = x d [i * 2]
x u [i + 1] = 0
}
upsamplefilter_line (x u [])
upsample_filterline()において使用される10タップ・フィルタのためのコード例を、図11に示す。図11では、イメージが水平方向においてフィルタリングされるとき、RND_UPが15に設定され、イメージが垂直方向においてフィルタリングされるとき、16に設定される。 A code example for a 10 tap filter used in upsample_filterline () is shown in FIG. In FIG. 11, RND_UP is set to 15 when the image is filtered in the horizontal direction, and is set to 16 when the image is filtered in the vertical direction.
他のフィルタのペアも再サンプリングのために使用することができる。フィルタのペアを、ビデオのコンテンツおよび/または目標ビットレートに調整することができる。符号器は、フィルタの選択を副情報として復号器に送信することができる。 Other filter pairs can also be used for resampling. The pair of filters can be adjusted to the content of the video and / or the target bit rate. The encoder can send the filter selection as side information to the decoder.
C.新しいフレーム・ディメンションの計算
表7の擬似コードは、符号器が、ダウン・サンプリングされたフレームのための新しいフレーム・ディメンション(dimensions:大きさ、寸法)を計算する方法を例示している。
C. Calculation of New Frame Dimensions The pseudo code in Table 7 illustrates how the encoder calculates new frame dimensions for down-sampled frames.
表7:ダウン・サンプリング後に新しいフレーム・ディメンションを計算するための擬似コード
X=水平ディメンション、元のリゾルーションにおけるサンプルの数
Y=垂直ディメンション、元のリゾルーションにおけるサンプルの数
x=新しい水平リゾルーション
y=新しい垂直リゾルーション
hscale=水平スケーリング・ファクタ(0=最大リゾルーション、1=半リゾルーション)
vscale=垂直スケーリング・ファクタ(0=最大リゾルーション、1=半リゾルーション)
x=X
y=Y
if (hscale==1)
{
x=X/2
if ((x & 15)!=0)
x=x+16-(x & 15)
}
if (vscale==1)
{
y=Y/2
if ((y & 15)!=0)
y=y+16-(y & 15)
}
Table 7: Pseudo code for calculating new frame dimensions after down sampling
X = horizontal dimension, number of samples in original resolution
Y = vertical dimension, number of samples in original resolution
x = new horizontal resolution
y = new vertical resolution
hscale = horizontal scaling factor (0 = maximum resolution, 1 = half resolution)
vsscale = vertical scaling factor (0 = maximum resolution, 1 = half resolution)
x = X
y = Y
if (hscale == 1)
{
x = X / 2
if ((x & 15)! = 0)
x = x + 16- (x & 15)
}
if (vscale == 1)
{
y = Y / 2
if ((y & 15)! = 0)
y = y + 16- (y & 15)
}
表7に示すテクニックを使用した実装では、符号器が新しいフレーム・ディメンションを計算し、これは、元の・ディメンションを2のファクタでダウン・サンプリングすること、および次いで、新しい・ディメンションがマクロブロック・サイズの整数の倍数(16の倍数)であるように、端数を切り上げる。クロミナンス・ラインについて、符号器は、ディメンションを、ブロック・サイズの整数の倍数(8の倍数)となるように切り上げる。新しいディメンションの切り上げにより、ダウン・サンプリングされたフレームを、4:2:0または類似のマクロブロック・フォーマットを使用するビデオ符号器/復号器によって、符号化することができる。 In an implementation using the technique shown in Table 7, the encoder computes a new frame dimension, which downsamples the original dimension by a factor of two, and then the new dimension Round up to the nearest integer multiple of size (multiple of 16). For chrominance lines, the encoder rounds the dimensions up to integer multiples of the block size (multiples of 8). Rounding up the new dimension allows the down-sampled frame to be encoded by a video encoder / decoder using 4: 2: 0 or a similar macroblock format.
D.他に取りうる方法(alternatives)
上述の様々な選択肢(alternatives)と共に、あるいはこれらに加えて、符号器および復号器は以下のように動作することができる。
D. Alternatives (alternatives)
With or in addition to the various alternatives described above, the encoder and decoder can operate as follows.
マルチ・リゾルーション・フレームワークを、個々のフレームまたは一連のフレームについてのいくつかのレベルのダウン・サンプリングに拡張することができる。いくつかのレベルのダウン・サンプリングを使用することにより、符号器が高リゾルーション・フレームを比較的低いビットレートで符号化するとき、再構築されたフレームの品質を改善することができる。 The multi-resolution framework can be extended to several levels of down-sampling for individual frames or a series of frames. By using several levels of downsampling, the quality of the reconstructed frame can be improved when the encoder encodes the high resolution frame at a relatively low bit rate.
符号器は、元のリゾルーションに関係したリゾルーションを2のファクタで調整することによって達成されるリゾルーション以外のリゾルーションにフレームを再サンプリングするマルチレート・フィルタリング・テクニックを使用することができる。例えば、分数比サンプリング(fractional-rate sampling)は、複雑さが増すという代償を払って、より順調なトレードオフを、高い周波数の細部の保持とブロッキング・アーティファクトの低減との間で提供することができる。 The encoder may use a multi-rate filtering technique that resamples the frame to a resolution other than the resolution achieved by adjusting the resolution related to the original resolution by a factor of two. For example, fractional-rate sampling may offer a better trade-off between retaining high frequency details and reducing blocking artifacts at the cost of increased complexity. it can.
符号器は、異なるレベルの再サンプリングをフレームの異なる部分に適用することができる。例えば、符号器は、フレームのうち高い周波数コンテンツがほとんどない領域を、ダウン・サンプリングされたリゾルーションで符号化することができると同時に、符号器は、フレームのうち強い高い周波数コンテンツを有するエリアを元のリゾルーションで符号化することができる。さらに、符号器は異なるフィルタを、フレームの異なる部分を再サンプリングするために、あるいは垂直および水平再サンプリングのために適用することができる。符号器はシグナリングを使用して、異なる再サンプリングレベル、および/または、フレームの異なる部分を再サンプリングするために使用された異なるフィルタを示すことができる。 The encoder can apply different levels of resampling to different parts of the frame. For example, the encoder can encode regions of the frame that have little high frequency content with a down-sampled resolution, while the encoder identifies areas of the frame that have strong high frequency content. It can be encoded in the original resolution. In addition, the encoder can apply different filters to resample different portions of the frame, or for vertical and horizontal resampling. The encoder may use signaling to indicate different resampling levels and / or different filters used to resample different portions of the frame.
本発明の原理を、様々な上述の実施形態を参照して説明し、例示したが、上述の実施形態を構成および詳細において、このような原理から逸脱することなく修正できることは理解されよう。本明細書で説明したプログラム、プロセスまたは方法は、特に断らない限り、いかなる特定のタイプのコンピューティング環境にも関係せず、あるいは限定されないことを理解されたい。様々なタイプの汎用または専用コンピューティング環境は、本明細書で説明した教示によるオペレーションと共に使用することができ、あるいはこれを実行することができる。ソフトウェアにおいて示した上述の実施形態の要素をハードウェアに実装することができ、その逆も可能である。 Although the principles of the present invention have been described and illustrated with reference to various above-described embodiments, it will be understood that the above-described embodiments may be modified in construction and detail without departing from such principles. It is to be understood that the programs, processes, or methods described herein are not related to or limited to any particular type of computing environment, unless otherwise noted. Various types of general-purpose or special-purpose computing environments may be used with or perform operations in accordance with the teachings described herein. Elements of the above-described embodiments shown in software can be implemented in hardware, and vice versa.
本発明の原理を適用することができる多数の可能な実施形態に鑑みて、本発明として、付属の特許請求の範囲およびその同等物の範囲および趣旨内に入る可能性のあるこのようなすべての実施形態を主張する。 In view of the large number of possible embodiments to which the principles of the present invention can be applied, the present invention includes all such possible embodiments that fall within the scope and spirit of the appended claims and their equivalents. Claim an embodiment.
200 符号器
205 カレント・フレーム
210 リゾルーション変換器
215 マルチ・リゾルーション・パラメータ
225 参照フレーム
230 リゾルーション変換器
240 他の符号器モジュール
245 動きベクトル、残差など
300 復号器
305 カレント・フレーム
310 リゾルーション変換器
315 マルチ・リゾルーション・パラメータ、復号化されたフレーム
325 参照フレーム
330 リゾルーション変換器
340 他の復号器モジュール
345 動きベクトル、残差など
200 encoder 205
Claims (61)
複数のビデオ・フレームのシーケンス内の少なくとも1つのフレームを第1の空間リゾルーションで符号化すること、および
前記複数のビデオ・フレームのシーケンス内の少なくとも1つの他のフレームを第2の空間リゾルーションで符号化すること
を備え、
前記第2の空間リゾルーションは前記第1の空間リゾルーションとは異なり、前記符号器は前記第2の空間リゾルーションを複数の空間リゾルーションのセットから選択して、前記ビデオ・フレームのシーケンスにおけるブロッキング・アーティファクトを低減することを特徴とする方法。 In a video encoder, a computer-implemented method for encoding video in any of a number of spatial resolutions, the method comprising:
Encoding at least one frame in a sequence of video frames with a first spatial resolution; and encoding at least one other frame in the sequence of video frames with a second spatial resolution With encoding
The second spatial resolution is different from the first spatial resolution, and the encoder selects the second spatial resolution from a set of spatial resolutions and selects the second spatial resolution in the sequence of video frames. A method comprising reducing blocking artifacts.
複数のビデオ・フレームのシーケンス内のフレームの第1の部分を第1の空間リゾルーションで符号化すること、および
前記複数のビデオ・フレームのシーケンス内の前記フレームの第2の部分を第2の空間リゾルーションで符号化することを備え、
前記第2の空間リゾルーションは前記第1の空間リゾルーションとは異なることを特徴とする方法。 A multi-resolution method for encoding a video, the method comprising:
Encoding a first portion of a frame in the sequence of video frames with a first spatial resolution; and encoding a second portion of the frame in the sequence of video frames into a second With encoding in spatial resolution,
The method of claim 2, wherein the second spatial resolution is different from the first spatial resolution.
第1の空間リゾルーションで符号化された第1のフレームについての第1の空間リゾルーションを示す第1のコードをビットストリームに含めること、および
第2の空間リゾルーションで符号化された第2のフレームについての第2の空間リゾルーションを示す第2のコードを前記ビットストリームに含めることを備え、
前記第2の空間リゾルーションは前記第1の空間リゾルーションとは異なり、前記符号器は前記第2の空間リゾルーションを複数の空間リゾルーションのセットから選択して、前記ビデオ・フレームのシーケンスにおけるブロッキング・アーティファクトを低減することを特徴とする方法。 In a video encoder, a computer-implemented method for conveying a spatial resolution in an encoded video sequence, the method comprising:
Including, in a bitstream, a first code indicating a first spatial resolution for a first frame encoded with a first spatial resolution; and a second code encoded with a second spatial resolution. Comprising, in said bitstream, a second code indicating a second spatial resolution for the frame of
The second spatial resolution is different from the first spatial resolution, and the encoder selects the second spatial resolution from a set of spatial resolutions and selects the second spatial resolution in the sequence of video frames. A method comprising reducing blocking artifacts.
前記水平リゾルーションのスケーリング・ファクタを示す水平スケーリング・ファクタ・コードを前記ビットストリームに含めること、および
前記垂直リゾルーションのスケーリング・ファクタを示す垂直スケーリング・ファクタ・コードを前記ビットストリームに含めること
を備えることを特徴とする請求項25に記載の方法。 The second spatial resolution comprises a horizontal resolution and a vertical resolution, and the act of including the second code comprises:
Including in the bitstream a horizontal scaling factor code indicating a scaling factor of the horizontal resolution, and including a vertical scaling factor code indicating a scaling factor of the vertical resolution in the bitstream. The method of claim 25, wherein:
前記符号化されたビデオ・シーケンス内のフレームの第1の部分の第1の空間リゾルーションを示す第1のシグナルを前記ビットストリームに含めること、および
前記符号化されたビデオ・シーケンス内の前記フレームの第2の部分の第2の空間リゾルーションを示す第2のシグナルを前記ビットストリームに含めること
を備え、
前記第2の空間リゾルーションは前記第1の空間リゾルーションとは異なることを特徴とする方法。 A method for conveying spatial resolution in a bitstream of an encoded video sequence, comprising:
Including in said bitstream a first signal indicating a first spatial resolution of a first portion of a frame in said encoded video sequence; and said frame in said encoded video sequence. Including in said bitstream a second signal indicative of a second spatial resolution of a second portion of
The method of claim 2, wherein the second spatial resolution is different from the first spatial resolution.
前記第2の部分を復号化するために使用されるべき第2のフィルタを示す第2のフィルタ・コードを前記ビットストリームに含めることを備え、
前記第2のフィルタは前記第1のフィルタとは異なることを特徴とする請求項32に記載の方法。 Including in the bitstream a first filter code indicating a first filter to be used to decode the first part, and being used to decode the second part Comprising, in said bitstream, a second filter code indicating a second filter to be applied,
33. The method of claim 32, wherein the second filter is different from the first filter.
ビデオ・シーケンス内の複数のビデオ・フレームの符号化について複数の空間リゾルーションを設定する手段と、
前記ビデオ・シーケンス内の前記複数のビデオ・フレームを符号化する手段と
を備え、
前記複数のビデオ・フレームを符号化する前記手段は、前記複数のビデオ・フレームの第1のビデオ・フレームを第1の空間リゾルーションで符号化するため、かつ、前記複数のビデオ・フレームの第2のビデオ・フレームを、第1の空間リゾルーションとは異なる空間リゾルーションで符号化するための機能性を含み、複数の空間リゾルーションを設定する前記手段は、空間リゾルーションを複数の空間リゾルーションのセットから選択して、前記ビデオ・シーケンスにおけるブロッキング・アーティファクトを低減する手段を備えることを特徴とするビデオ符号器。 A video encoder,
Means for setting a plurality of spatial resolutions for encoding a plurality of video frames in the video sequence;
Means for encoding the plurality of video frames in the video sequence.
The means for encoding the plurality of video frames includes: encoding a first video frame of the plurality of video frames in a first spatial resolution; and encoding the first video frame of the plurality of video frames. Two video frames with a spatial resolution different from the first spatial resolution, wherein said means for setting a plurality of spatial resolutions comprises: converting the spatial resolutions into a plurality of spatial resolutions. A video coder comprising means for selecting from a set of solutions to reduce blocking artifacts in said video sequence.
複数の符号化されたフレームのビデオ・シーケンスのシーケンス・ヘッダ内のマルチ・リゾルーションのシグナルであって、ビデオ・シーケンス内の前記複数のフレームが複数の空間リゾルーションで符号化されているかどうかを示すマルチ・リゾルーションのシグナル、を受信すること、および
前記複数のフレームが複数の空間リゾルーションで符号化されている場合に、前記複数の符号化されたフレームの第1の符号化されたフレームを第1の空間リゾルーションで復号化し、且つ前記複数の符号化されたフレームの第2の符号化されたフレームを第2の空間リゾルーションで復号化すること
を備えることを特徴とする方法。 A multi-resolution method for decoding video, comprising:
A multi-resolution signal in a sequence header of a video sequence of a plurality of encoded frames, wherein the signal indicates whether the plurality of frames in the video sequence are encoded in a plurality of spatial resolutions. Receiving a multi-resolution signal indicating the first encoded frame of the plurality of encoded frames when the plurality of frames are encoded in a plurality of spatial resolutions. Decoding in a first spatial resolution, and decoding a second encoded frame of the plurality of encoded frames in a second spatial resolution.
前記第2の符号化されたフレームを復号化した後、前記復号化されたフレームに対して、最大リゾルーションの復号化されたフレームを生じさせるアップ・サンプリングを実行することをさらに備えることを特徴とする請求項42に記載の方法。 Decoding said second encoded frame, wherein said decoding results in a decoded frame;
Further comprising, after decoding the second encoded frame, performing up-sampling on the decoded frame to produce a decoded frame with a maximum resolution. 43. The method of claim 42, wherein
ビデオ・シーケンス内の符号化されたフレームの第1の部分を第1の空間リゾルーションで復号化すること、および
前記符号化されたフレームの第2の部分を第2の空間リゾルーションで復号化すること
を備え、
前記第2の空間リゾルーションは前記第1の空間リゾルーションとは異なることを特徴とする方法。 A multi-resolution method for decoding video, comprising:
Decoding a first portion of an encoded frame in a video sequence with a first spatial resolution; and decoding a second portion of the encoded frame with a second spatial resolution Be prepared to
The method of claim 2, wherein the second spatial resolution is different from the first spatial resolution.
ビデオ・シーケンスのシーケンス・ヘッダ内の、ビデオ・シーケンスにおける複数のビデオ・フレームが複数の空間リゾルーションで符号化されているかどうかを示すマルチ・リゾルーションのシグナルを、受信する手段と、
前記ビデオ・シーケンス内の前記複数のビデオ・フレームの復号化について複数の空間リゾルーションを設定する手段と、
前記ビデオ・シーケンスにおける前記複数ビデオ・フレームを復号化する手段と
を備えることを特徴とするビデオ復号器。 A video decoder,
Means for receiving, in a sequence header of the video sequence, a multi-resolution signal indicating whether or not a plurality of video frames in the video sequence are encoded with a plurality of spatial resolutions;
Means for setting a plurality of spatial resolutions for decoding the plurality of video frames in the video sequence;
Means for decoding the plurality of video frames in the video sequence.
ビデオ・イメージのピクセル・データを受信すること、および
6タップ・ダウン・サンプリング・フィルタを備える再サンプリング・フィルタを使用して再サンプリングされたピクセル・データを計算することを含み、前記ビデオ・イメージの空間リゾルーションを適応して変更すること
を備えることを特徴とする方法。 A computer implemented method in a computer system, comprising:
Receiving pixel data of a video image; and calculating resampled pixel data using a resampling filter comprising a 6 tap down sampling filter, the pixel data of the video image Adapting and changing the spatial resolution.
ルミナンス・サンプルの数を16の倍数に丸めること
を備えることを特徴とする請求項52に記載の方法。 53. The method of claim 52, wherein the calculating comprises rounding the number of chrominance samples to a multiple of eight, and rounding the number of luminance samples to a multiple of sixteen.
ビデオ・イメージのためのピクセル・データを受信すること、および
10タップ・アップ・サンプリング・フィルタを備える再サンプリング・フィルタを使用して再サンプリングされたピクセル・データを計算することを含み、前記ビデオ・イメージの空間リゾルーションを適応して変更すること
を備えることを特徴とする方法。 A computer implemented method in a computer system, comprising:
Receiving pixel data for a video image; and calculating resampled pixel data using a resampling filter with a 10 tap upsampling filter; Adaptively changing the spatial resolution of the image.
ルミナンス・サンプルの数を16の倍数に丸めること
を備えることを特徴とする請求項57に記載の方法。 58. The method of claim 57, wherein the calculating comprises rounding the number of chrominance samples to a multiple of eight, and rounding the number of luminance samples to a multiple of sixteen.
58. A computer-readable medium storing computer-executable instructions for causing the computer system to perform the method of claim 57 during video decoding.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40847702P | 2002-09-04 | 2002-09-04 | |
US60/408,477 | 2002-09-04 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004266794A true JP2004266794A (en) | 2004-09-24 |
JP2004266794A5 JP2004266794A5 (en) | 2005-05-26 |
JP4762486B2 JP4762486B2 (en) | 2011-08-31 |
Family
ID=33130514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003309278A Expired - Lifetime JP4762486B2 (en) | 2002-09-04 | 2003-09-01 | Multi-resolution video encoding and decoding |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4762486B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012521724A (en) * | 2009-03-23 | 2012-09-13 | オンライブ インコーポレイテッド | System and method for multi-stream video compression using multiple encoding formats |
KR20130105855A (en) * | 2010-09-10 | 2013-09-26 | 톰슨 라이센싱 | Video encoding using example - based data pruning |
JP2014060805A (en) * | 2008-09-18 | 2014-04-03 | Thomson Licensing | Method and apparatus for video image pruning |
US9338477B2 (en) | 2010-09-10 | 2016-05-10 | Thomson Licensing | Recovering a pruned version of a picture in a video sequence for example-based data pruning using intra-frame patch similarity |
US9544598B2 (en) | 2010-09-10 | 2017-01-10 | Thomson Licensing | Methods and apparatus for pruning decision optimization in example-based data pruning compression |
US9602814B2 (en) | 2010-01-22 | 2017-03-21 | Thomson Licensing | Methods and apparatus for sampling-based super resolution video encoding and decoding |
US9813707B2 (en) | 2010-01-22 | 2017-11-07 | Thomson Licensing Dtv | Data pruning for video compression using example-based super-resolution |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134618A (en) * | 1998-10-23 | 2000-05-12 | Nippon Telegr & Teleph Corp <Ntt> | Methods and devices for encoding and decoding image signal and storage medium recording the same methods |
US20020064226A1 (en) * | 2000-09-29 | 2002-05-30 | Sven Bauer | Method and device for coding and decoding image sequences |
-
2003
- 2003-09-01 JP JP2003309278A patent/JP4762486B2/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134618A (en) * | 1998-10-23 | 2000-05-12 | Nippon Telegr & Teleph Corp <Ntt> | Methods and devices for encoding and decoding image signal and storage medium recording the same methods |
US20020064226A1 (en) * | 2000-09-29 | 2002-05-30 | Sven Bauer | Method and device for coding and decoding image sequences |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014060805A (en) * | 2008-09-18 | 2014-04-03 | Thomson Licensing | Method and apparatus for video image pruning |
US9571857B2 (en) | 2008-09-18 | 2017-02-14 | Thomson Licensing | Methods and apparatus for video imaging pruning |
JP2012521724A (en) * | 2009-03-23 | 2012-09-13 | オンライブ インコーポレイテッド | System and method for multi-stream video compression using multiple encoding formats |
US9602814B2 (en) | 2010-01-22 | 2017-03-21 | Thomson Licensing | Methods and apparatus for sampling-based super resolution video encoding and decoding |
US9813707B2 (en) | 2010-01-22 | 2017-11-07 | Thomson Licensing Dtv | Data pruning for video compression using example-based super-resolution |
KR20130105855A (en) * | 2010-09-10 | 2013-09-26 | 톰슨 라이센싱 | Video encoding using example - based data pruning |
JP2013543299A (en) * | 2010-09-10 | 2013-11-28 | トムソン ライセンシング | Video decoding using case-based data pruning |
JP2013543298A (en) * | 2010-09-10 | 2013-11-28 | トムソン ライセンシング | Video coding using case-based data pruning |
US9338477B2 (en) | 2010-09-10 | 2016-05-10 | Thomson Licensing | Recovering a pruned version of a picture in a video sequence for example-based data pruning using intra-frame patch similarity |
US9544598B2 (en) | 2010-09-10 | 2017-01-10 | Thomson Licensing | Methods and apparatus for pruning decision optimization in example-based data pruning compression |
KR101838320B1 (en) | 2010-09-10 | 2018-03-13 | 톰슨 라이센싱 | Video decoding using example - based data pruning |
KR101855542B1 (en) * | 2010-09-10 | 2018-06-08 | 톰슨 라이센싱 | Video encoding using example - based data pruning |
Also Published As
Publication number | Publication date |
---|---|
JP4762486B2 (en) | 2011-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7379496B2 (en) | Multi-resolution video coding and decoding | |
KR101213704B1 (en) | Method and apparatus for video coding and decoding based on variable color format | |
US7848426B2 (en) | Motion vector estimation method and encoding mode determining method | |
US8897360B2 (en) | Method and apparatus for encoding and decoding images by adaptively using an interpolation filter | |
US20150043630A1 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
KR100853336B1 (en) | Image encoding apparatus and image decoding apparatus | |
US20050200757A1 (en) | Method and apparatus for digital video reconstruction | |
US20050013500A1 (en) | Intelligent differential quantization of video coding | |
JP4844741B2 (en) | Moving picture coding apparatus and moving picture decoding apparatus, method and program thereof | |
WO2012042646A1 (en) | Motion-video encoding apparatus, motion-video encoding method, motion-video encoding computer program, motion-video decoding apparatus, motion-video decoding method, and motion-video decoding computer program | |
CN103270700A (en) | Enhanced intra-rediction coding using planar representations | |
KR20100017453A (en) | A method and an apparatus for processing a video signal | |
JP2004032718A (en) | System and method for processing video frame by fading estimation/compensation | |
US20020136304A1 (en) | Method and system for a highly efficient low bit rate video codec | |
US7502415B2 (en) | Range reduction | |
CN1947146B (en) | Method of down-sampling data values | |
KR101652183B1 (en) | Coding syntax elements using vlc codewords | |
JP3532470B2 (en) | Techniques for video communication using coded matched filter devices. | |
JP4762486B2 (en) | Multi-resolution video encoding and decoding | |
KR20080067922A (en) | Method and apparatus for decoding video with image scale-down function | |
JP2006511164A (en) | Elastic memory | |
WO2006132509A1 (en) | Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction | |
JPH04322593A (en) | Picture coder and its decoder | |
JP2003535496A (en) | Method and apparatus for encoding or decoding an image sequence | |
KR102111437B1 (en) | Method and apparatus for image interpolation having quarter pixel accuracy using intra prediction modes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040730 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100305 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100924 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101222 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20110113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110516 |
|
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: 20110603 |
|
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: 20110608 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140617 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4762486 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |