JP5130381B2 - Method and apparatus for efficient video processing - Google Patents
Method and apparatus for efficient video processing Download PDFInfo
- Publication number
- JP5130381B2 JP5130381B2 JP2011038162A JP2011038162A JP5130381B2 JP 5130381 B2 JP5130381 B2 JP 5130381B2 JP 2011038162 A JP2011038162 A JP 2011038162A JP 2011038162 A JP2011038162 A JP 2011038162A JP 5130381 B2 JP5130381 B2 JP 5130381B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- information
- encoded
- segments
- video information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000012545 processing Methods 0.000 title description 4
- 230000033001 locomotion Effects 0.000 claims abstract description 148
- 239000013598 vector Substances 0.000 claims description 40
- 230000011218 segmentation Effects 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 26
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims 1
- 238000007906 compression Methods 0.000 abstract description 40
- 230000006835 compression Effects 0.000 abstract description 39
- 238000003709 image segmentation Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/507—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
(関連出願の相互参照)
本出願は、1999年4月17日に出願された米国仮特許出願第60/129,853号、および1999年4月17に出願された米国仮特許出願第60/129,854号の優先権の利益を主張する。
(Cross-reference of related applications)
This application is priority to US Provisional Patent Application No. 60 / 129,853 filed on April 17, 1999 and US Provisional Patent Application No. 60 / 129,854 filed on April 17, 1999. Insist on the interests of.
(発明の分野)
本発明は、概してビデオデータの圧縮、より詳細には、動画データの効率的な送信および格納のための同期エンコーダおよびスマートデコーダシステムに関する。
(Field of Invention)
The present invention relates generally to video data compression, and more particularly to a synchronous encoder and smart decoder system for efficient transmission and storage of video data.
(発明の背景)
(1.簡略な導入)
消費者は、通信のより多くのビデオ集中モードを望むにつれて、限定された帯域幅の現在の通信モード(例えば、放送、ケーブル、電話回線など)は、値段が非常に高くなっている。インターネットの導入ならびにそれに続くワールドワイドウェブ、ビデオ会議、およびディジタルかつインタラクティブテレビの人気は、既存の帯域幅のより効率的利用法を要求する。さらに、ビデオ集中アプリケーションは、莫大な格納容量を要求する。ほとんどのコンピュータシステム上へのマルチメディア性能の到来は、ハードドライブなどの従来の格納デバイスを極端に酷使してきた。
(Background of the Invention)
(1. Simple introduction)
As consumers desire more video intensive modes of communication, current communication modes with limited bandwidth (eg, broadcast, cable, telephone lines, etc.) are very expensive. The introduction of the Internet and the subsequent popularity of the World Wide Web, video conferencing, and digital and interactive television demand more efficient use of existing bandwidth. Furthermore, video intensive applications require enormous storage capacity. The advent of multimedia performance on most computer systems has made extreme use of traditional storage devices such as hard drives.
圧縮することで、ディジタルな動画が効率的におよび安価に表され得る。圧縮による利点は、より多くの情報が所定の時間量内で送信されるか、または所定の格納メディア内に格納され得ることである。ビデオ圧縮の最終目標は、デコーダまたはレシーバが、テレビ、ビデオ会議などの具体的適用に適切な方法で、ビデオ画像シーケンスを再構成し得る十分な情報を保持しながら、ビデオシーケンスのビットストリーム、すなわちビデオ情報フローをできるだけ多く削減することである。 By compressing, a digital moving image can be expressed efficiently and inexpensively. An advantage of compression is that more information can be transmitted within a predetermined amount of time or stored within a predetermined storage medium. The ultimate goal of video compression is that the bit stream of the video sequence, i.e., while the decoder or receiver retains sufficient information to reconstruct the video image sequence in a manner appropriate for specific applications such as television, video conferencing To reduce the video information flow as much as possible.
ほとんどのディジタル信号は、大量の冗長な無用の情報を含む。例えば、静止ビデオ場面は、各場面においてほぼ同一の画像を生成する。ほとんどのビデオ圧縮ルーチンは、無用な情報を除去しようとし、関連画像フレームが前の画像フレームによって表現され得、従って各ビデオフレームの全場面を送信する必要性をなくすことができる。あるいは、動画JPEGのようなルーチンは、各ビデオフレームを別々に符号化し、時間的冗長性を無視する。 Most digital signals contain a large amount of redundant useless information. For example, a still video scene produces an almost identical image in each scene. Most video compression routines attempt to remove useless information, and related image frames can be represented by previous image frames, thus eliminating the need to transmit the entire scene of each video frame. Alternatively, routines such as video JPEG encode each video frame separately and ignore temporal redundancy.
(2.従来の試み)
ビデオ画像を適切に圧縮する多くの試みがあった。これらの方法は、一般に次の2つのカテゴリに分類される:1)空間的冗長性削減、および2)時間的冗長性削減。
(2. Previous attempts)
There have been many attempts to properly compress video images. These methods generally fall into two categories: 1) Spatial redundancy reduction, and 2) Temporal redundancy reduction.
(2.1 空間的冗長性削減)
最初のタイプのビデオ圧縮は、空間的冗長性の削減に焦点を当てる、すなわち画像フレーム中の重要な情報のより効率的描写を引き出すために、隣接したピクセル間の相互関係を利用することである。これらの方法は、より適切には、静止画像圧縮ルーチンと呼ばれる、なぜならこれらは個々のビデオ画像フレーム上でかなりうまく動作するが、セクション2.2で説明されるように時間的またはフレームからフレームへの冗長性の問題に対処しないからである。通常の静止画像圧縮方式は、JPEG、ウェーブレットおよびフラクタルを含む。
(2.1 Spatial redundancy reduction)
The first type of video compression is to focus on reducing spatial redundancy, i.e., to use the interrelationships between adjacent pixels to derive a more efficient depiction of important information in the image frame. . These methods are more appropriately called still image compression routines because they work fairly well on individual video image frames, but are temporally or frame-to-frame as described in section 2.2. This is because it does not address the problem of redundancy. Common still image compression schemes include JPEG, wavelets, and fractals.
(2.1.1 JPEG/DCTに基づいた画像圧縮)
静止画像圧縮の最初の通常使用される方法の1つは、直接コサイン変換(DCT)圧縮システムであった。これはJPEGの中心に位置する。
(2.1.1 Image compression based on JPEG / DCT)
One of the first commonly used methods of still image compression was the direct cosine transform (DCT) compression system. This is located at the center of JPEG.
DCTは、各ディジタル画像フレームを一連のコサイン波またはコサイン周波数として表現することによって動作する。後で、コサイン級数の係数が量子化される。より高い周波数係数が、より低い周波数係数より厳しく量子化される。量子化の結果は、非常に多くのゼロ係数であり、非常に効率的にエンコードされ得る。しかし、JPEGおよび類似の圧縮方式は、時間的冗長性という非常に重大な問題に対処しない。 DCT operates by representing each digital image frame as a series of cosine waves or cosine frequencies. Later, the cosine series coefficients are quantized. Higher frequency coefficients are more severely quantized than lower frequency coefficients. The result of the quantization is a very large number of zero coefficients and can be encoded very efficiently. However, JPEG and similar compression schemes do not address the very serious problem of temporal redundancy.
(2.1.2 ウェーブレット)
DCT圧縮方式に対するわずかな改良として、ウェーブレット変形圧縮方式が考案された。このシステムは、DCTに類似しているが、画像フレームが、一連のコサイン波の代わりに一連のウェーブレットすなわち電磁窓振幅として表されるという点で主に異なる。
(2.1.2 Wavelet)
As a slight improvement over the DCT compression scheme, a wavelet deformation compression scheme was devised. This system is similar to DCT, but differs mainly in that the image frame is represented as a series of wavelets or electromagnetic window amplitudes instead of a series of cosine waves.
(2.1.3 フラクタル)
別の技術がフラクタル圧縮として公知である。フラクタル圧縮の目標は、画像を取り込み、そして画像フレームを十分に表す1つの関数または1組の関数を決定することである。フラクタルは、異なるスケールまたは解像度において自己相似である物体である、すなわち人がどんな解像度で見ようと、物体は同じままである。理論的には、フラクタルで、単純な方程式が複雑な画像を表し得る場合に、非常に高圧縮比率が達成可能である。
(2.1.3 Fractal)
Another technique is known as fractal compression. The goal of fractal compression is to capture an image and determine a function or set of functions that adequately represent the image frame. A fractal is an object that is self-similar at different scales or resolutions, ie the object remains the same no matter what resolution the person sees. Theoretically, very high compression ratios can be achieved when fractals and simple equations can represent complex images.
残念なことには、フラクタル圧縮は、一般的圧縮の成功しそうな方法ではない。高圧縮比率は、特別に構成された画像のためにのみ、および圧縮プロセスを導く人間からかなりの助けがある場合のみ、達成可能である。さらに、フラクタル圧縮は、非常に計算集約型である。 Unfortunately, fractal compression is not a likely method of general compression. High compression ratios can only be achieved for specially constructed images and only with considerable help from the human who guides the compression process. Furthermore, fractal compression is very computationally intensive.
(2.2 時間的および空間的冗長性削減)
適切な動画圧縮は、ビデオを含むフレームのシーケンス内の時間的および空間的両方の冗長性の削減を必要とする。時間的冗長性除去は、ビットストリームから前の画像フレームにおいてすでに符号化された情報の除去に関する。ブロックマッチングは、時間的冗長性除去の現在最も使用されている効果的な方法についての基礎である。
(2.2 Reduction of temporal and spatial redundancy)
Proper video compression requires a reduction in both temporal and spatial redundancy in the sequence of frames containing the video. Temporal redundancy removal relates to the removal of information already encoded in previous image frames from the bitstream. Block matching is the basis for the currently most effective method of temporal redundancy removal.
(2.2.1 ブロックに基づいた動き推定)
ブロックマッチングにおいて、画像は、均一の大きさのブロック(より一般的には、ポリゴン)へ細分され、そして各ブロックは、ブロックが再符号化され2回目のためにビットストリームへ置かれる代わりに、1つのフレームから次のフレームへ追跡され、そして動きベクトルによって表される。ブロックマッチングを使用する圧縮ルーチンの例は、MPEGおよびその改変を含む。
(2.2.1 Motion estimation based on blocks)
In block matching, the image is subdivided into uniformly sized blocks (more commonly polygons), and each block is re-encoded and placed in the bitstream for the second time, It is tracked from one frame to the next and is represented by a motion vector. Examples of compression routines that use block matching include MPEG and its modifications.
MPEGは、いわゆるイントラフレーム、つまりIフレームとして、全体的に一連の関連フレームの中の第一のフレームをエンコードする。Iフレームは、キーフレームの1タイプであり、完全に自己完結型であり、他のいかなる画像フレームと関連して表されない画像フレームを意味する。Iフレームを生成するために、MPEGは、フレームを16ピクセル×16ピクセルの四角のブロックに分けることを含めて、第一のフレーム上に静止画像圧縮を行う。他の(いわゆる「予測される」)フレームは、Iフレームのブロックに関連する他のフレームの相当するブロックを予測することによってIフレームに関してエンコードされる。すなわち、MPEGは、他のフレーム内のIフレームの各ブロックを見つけようと試みる。他のフレームになお存在する各ブロックに対して、MPEGは、情報を特定するブロックとともに、ブロックの動きベクトル、つまり運動を送信する。しかし、ブロックはフレームからフレームへと移動するために、わずかに変化し得る。Iフレームに関連した違いは、残余部として知られている。さらに、ブロックが移動するために、前に隠れていた領域が初めて目に見えるようになり得る。これらの前に隠れていた領域も、残余部として知られている。すなわち、ブロックの動きが送信される後の集合的な残りの情報は、残余部として知られており、JPEGを使用してコード付けされ、画像フレームを完成するためにレシーバに送信される。 MPEG encodes the first frame in a series of related frames as a so-called intra frame, or I frame. An I-frame is a type of key frame, meaning an image frame that is completely self-contained and is not represented in association with any other image frame. To generate an I frame, MPEG performs still image compression on the first frame, including dividing the frame into 16 pixel by 16 pixel square blocks. Other (so-called “predicted”) frames are encoded with respect to the I frame by predicting the corresponding block of the other frame associated with the block of I frame. That is, MPEG tries to find each block of an I frame within another frame. For each block still present in the other frame, MPEG transmits the block's motion vector, or motion, along with the block identifying information. However, the blocks can change slightly as they move from frame to frame. The difference associated with an I frame is known as the remainder. In addition, as the blocks move, previously hidden areas may only be visible. These hidden areas are also known as the remainder. That is, the collective remaining information after the block motion is transmitted is known as the remainder and is coded using JPEG and sent to the receiver to complete the image frame.
その後のフレームは、Iフレームのブロックまたは前の予測されたフレームのいずれかに関して予測される。さらに、予測は、2方向であり得る、すなわち、前のIフレームおよび後のIフレームの両方または予測されたフレームに関してである。予測プロセスは、新しいキーフレームが挿入されるまで続き、挿入された点で新しいIフレームがエンコードされ、そしてプロセスは繰り返す。 Subsequent frames are predicted with respect to either a block of I-frames or a previous predicted frame. Further, the prediction can be bi-directional, i.e., both for the previous I frame and the subsequent I frame or for the predicted frame. The prediction process continues until a new key frame is inserted, at which point a new I frame is encoded, and the process repeats.
最新技術であるけれど、ブロックマッチングは、非常に非効率的であり、既知の物理的特性または画像に本来備わっている他の情報を利用できない。ブロック方法は、任意かつおおざっぱである。なぜならブロックは画像内の実物体と何の関係も有さないからである。所定のブロックは、物体の一部、物体の全部、または関係のない動きを有する複数の異なる物体さえも含み得る。さらに、近辺の物体は、類似の動きを有することがよくある。しかし、ブロックは、実物体に相当しないために、ブロックに基づいたシステムは、ビットストリームをさらに削減するためにこの情報を使用し得ない。 Although state of the art, block matching is very inefficient and cannot use known physical properties or other information inherent in the image. The blocking method is arbitrary and rough. This is because the block has no relationship with the real object in the image. A given block may include part of an object, all of an object, or even a plurality of different objects with irrelevant motion. In addition, nearby objects often have similar movements. However, because blocks do not represent real objects, block-based systems cannot use this information to further reduce the bitstream.
しかしブロックに基づいたマッチングの別の主な制約が生じる。なぜならブロックに基づいたマッチングによって生成される残余部は、一般的にノイジーがあり、不統一であるからである。従って、ブロックに基づいた残余部は、DCT、ウェーブレット、またはフラクタルなどの標準画像圧縮方式を介しての良好な圧縮には向いていない。 However, another major limitation of block-based matching arises. This is because the remainder generated by matching based on blocks is generally noisy and inconsistent. Therefore, block-based residuals are not suitable for good compression via standard image compression schemes such as DCT, wavelets, or fractals.
(2.3 代替物)
最新技術は、具体的にはブロックに基づいた方法が極めて非効率であり、動画情報についての最適に圧縮されたビットストリームを生成しない点で、改良が必要であることが十分理解される。その目的に対して、MPEG4などの最新の圧縮方式が、任意の大きさのブロックを単に使用するのではなく、利用可能であれば、フレーム内の選択された項目の制限された構造的情報を含み得る。いくつかの圧縮利得が達成されているが、関連したオーバーヘッド情報は、実質的に増加している。なぜなら動きおよび残余部情報に加えて、これらの方式は、フレーム内の各物体についての構造的または形の情報もレシーバに送信する必要があると要求するからである。以上のことであるのは、すべての現在の圧縮方式は、ダムレシーバ−画像の構造をそれ自体で決定し得ないレシーバ−を使用するからである。
(2.3 Alternative)
It is well understood that the state-of-the-art needs improvement, particularly in that block-based methods are extremely inefficient and do not produce an optimally compressed bitstream for moving picture information. To that end, modern compression schemes such as MPEG4 do not simply use blocks of arbitrary size, but instead provide limited structural information on selected items in the frame, if available. May be included. Although some compression gain has been achieved, the associated overhead information has increased substantially. Because, in addition to motion and residual information, these schemes require that structural or shape information about each object in the frame also needs to be sent to the receiver. This is because all current compression schemes use dumb receivers—receivers that cannot determine the structure of the image by themselves.
さらに、上記で述べたように、現在の圧縮方法は、他のより効率的な方法が可能であるかどうかを判定しようと試みることなく、固定の圧縮技術を使用するJPEGによって圧縮される単なる別の画像フレームとして残余部を扱う。 Furthermore, as noted above, current compression methods are simply another that are compressed by JPEG using a fixed compression technique without attempting to determine if other more efficient methods are possible. The remainder is treated as an image frame.
(3. 本発明の利点)
本発明は、ビデオ圧縮の問題に関する様々な利点を提供する。上記で記載したように、ビデオ圧縮の目標は、ビデオフレームのシーケンスを最小のビットストリームつまりビデオ情報フローで正確に表すことである。前に述べたように、上記の空間的冗長性削減方法は、動画圧縮には不適切である。さらに、MPEGなどの現在の時間的および空間的冗長性削減方法は、多くのオーバーヘッド情報を送信する必要によって貴重なビットストリームのスペースを無駄使いする。
(3. Advantages of the present invention)
The present invention provides various advantages regarding the video compression problem. As described above, the goal of video compression is to accurately represent a sequence of video frames with a minimal bitstream or video information flow. As mentioned earlier, the above spatial redundancy reduction method is not suitable for moving picture compression. In addition, current temporal and spatial redundancy reduction methods such as MPEG waste valuable bitstream space due to the need to transmit a lot of overhead information.
従って、増加された圧縮効率、削減されたオーバーヘッドおよびより小さなエンコードされたビットストリームを示すビデオデータをエンコード(および復号化)するための改良された技術に対する必要がある。 Accordingly, there is a need for an improved technique for encoding (and decoding) video data that exhibits increased compression efficiency, reduced overhead, and a smaller encoded bitstream.
(発明の要旨)
ディジタル動画の圧縮は、関連したビデオフレームのシーケンス内に含まれる、空間的および時間的両方の無用なまたは冗長な情報が削減されるプロセスである。ビデオ圧縮によって、目に見える十分な方法で再構成される性能を保持しながら、フレームのシーケンスが、削減されたビットストリームつまりデータフローによって表され得る。
(Summary of the Invention)
Digital video compression is a process in which both spatial and temporal useless or redundant information contained within a sequence of related video frames is reduced. With video compression, a sequence of frames can be represented by a reduced bitstream or data flow, while retaining the performance that is reconstructed in a visible enough manner.
ビデオ圧縮の従来の方法は、デコーダを最小限に使用しながら、エンコーダに(例えば、計算のおよび/または送信の)圧縮負荷の多くを課している。従来のビデオエンコーダ/デコーダシステムにおいて、デコーダは「ダム」つまり受動的である。エンコーダは、すべての計算を行い、デコーダにその決定を伝え、次に各画像の再構成についての命令と共に、エンコーダへビデオデータを送信する。 Conventional methods of video compression impose much of the compression load (e.g., computational and / or transmission) on the encoder while minimizing the use of a decoder. In conventional video encoder / decoder systems, the decoder is “dumb” or passive. The encoder performs all calculations, communicates its decision to the decoder, and then sends video data to the encoder along with instructions for the reconstruction of each image.
対照的に、本発明は、他の方法ではエンコーダに要求される送信および命令負荷の多くを行う「スマート」つまりアクティブデコーダを含む。従ってオーバーヘッドを削減し、結果的にはるかに小さなエンコードされたビットストリームとなる。従って、本発明の相当する(すなわち、互換性のある)エンコーダは、非常に削減されたオーバーヘッドでエンコードされたビットストリームを生成し得る。このことは、画像に本来備わっている構造的情報(例えば、画像セグメント化、幾何学的構造、色、および/または輝度)に基づいてレファレンスフレームをエンコードし、次に構造的情報に関連する他のフレームを予測することによって達成される。典型的には、予測されるフレームの説明は、基となるレファレンスフレームから相当する構造(例えば、画像セグメント)の運動を表す(例えば、セグメントの動きデータ、および/または前にふさがれた領域を取り出す結果生じる関連した残余部、および/または不正確なマッチング、および新しい情報の露出、などの)運動情報を含む。デコーダは、予測されるフレームの基となる構造的情報(およびそれらの間の関係)を独立して判定し得るために、そのような情報は、デコーダに明白に通信される必要はない。そうではなく、エンコーダは、デコーダがそれ自身で判定し得ないとエンコーダが知っている情報を送信する必要があるだけである。 In contrast, the present invention includes a “smart” or active decoder that performs much of the transmission and command load otherwise required of the encoder. Thus, overhead is reduced, resulting in a much smaller encoded bitstream. Thus, the corresponding (ie, compatible) encoder of the present invention can generate an encoded bitstream with very reduced overhead. This encodes the reference frame based on the structural information inherent in the image (eg, image segmentation, geometric structure, color, and / or luminance) and then others related to the structural information. This is achieved by predicting a frame of. Typically, the predicted frame description represents motion of the corresponding structure (eg, image segment) from the underlying reference frame (eg, segment motion data, and / or previously occupied area). Related residuals resulting from retrieval and / or motion information (such as inaccurate matching and exposure of new information). Because the decoder can independently determine the structural information underlying the predicted frame (and the relationship between them), such information need not be explicitly communicated to the decoder. Rather, the encoder only needs to send information that the encoder knows that the decoder cannot determine by itself.
本発明の別の局面または実施形態において、デコーダおよびエンコーダの両方は、関連した画像の前のシーケンスに基づいて後の画像について同じ予測をし、そして(構造的情報それ自体ではなく、または加えて)これらの予測は、後の画像の実際の値をエンコードするための基礎として使用される。従って、エンコーダは、予測値と実際の値との間の差を送信し得るだけで、このことによってもまたビットストリームは削減される。 In another aspect or embodiment of the present invention, both the decoder and the encoder make the same prediction for the subsequent image based on the previous sequence of associated images, and (not in addition to or in addition to structural information per se) These predictions are used as a basis for encoding the actual values of later images. Thus, the encoder can only transmit the difference between the predicted value and the actual value, which also reduces the bitstream.
本発明のさらに他の局面または実施形態において、デコーダは、セグメントの順序づけまたはセグメントの連関付け/分離に関するエンコーダによって行われる決定を再生し得、それによりそのような決定はデコーダに送信される必要がなくなる。 In yet another aspect or embodiment of the present invention, the decoder may replay the decisions made by the encoder regarding segment ordering or segment association / separation so that such decisions need to be sent to the decoder. Disappear.
本発明のさらに別の局面または実施形態において、エンコーダは、様々な圧縮技術を使用して予測をエンコードし、そしてデコーダに相当する解凍技術を使用するように命令し得る。 In yet another aspect or embodiment of the invention, the encoder may instruct to encode the prediction using various compression techniques and to use a decompression technique corresponding to the decoder.
本発明の前述および他の局面および実施形態は、以下にさらに詳細に記載される。 The foregoing and other aspects and embodiments of the invention are described in further detail below.
(具体的な実施形態の説明)
(1.概要)
以下のセクションは、エンコーダ、デコーダ、および構造情報(本実施形態において以後「セグメント」と呼ぶ)を使用して、本実施形態に特定の詳細であるが、本発明の別の実施形態において必ずしも必要ではない特定の詳細を含む本発明の1実施形態の記載を提供する。
(Description of specific embodiments)
(1. Overview)
The following sections are specific to this embodiment, using encoders, decoders, and structure information (hereinafter referred to as “segments” in this embodiment), but are not necessarily required in another embodiment of the present invention. A description of one embodiment of the invention is provided, including specific details that are not.
(1.1 エンコーダ)
図1は、図3、図4を参照しながら後に記載されるように、互換可能なデコーダとともに用いるための例示的なエンコーダのブロック図であり、図2は、図1のエンコーダの操作の概要である。ステップ201において、エンコーダ100は、第1の(例えば、参照)画像フレームを取得する。ステップ202において、エンコーダ100の機能ブロック102は、ステップ201からの画像フレームをエンコードする。ステップ203において、ステップ202からエンコードされた画像が、デコーダが画像を再構築するのと同じやり方にて、エンコーダ100の機能ブロック103によって再構築される。ステップ204において、エンコーダ100の機能ブロック104は、セグメント化、すなわち再構築された画像からの構造的な情報を取得し、そのセグメントはセグメントの動力学(例えば、運動および/または残余部データ)の観点から以後のフレームを予測するための基礎として使用する。当業者は、本明細書において詳細に記載される必要のない、エッジ検出、エッジリンキング、領域併合、またはウォーターシェッド方法(watershed method)などの技術を使用して、画像のセグメント化をいかに実行するかを容易に理解する。あるいは、ステップ203が飛び越され、エンコーダがステップ201からのオリジナルの参照画像フレームをセグメント化する。これは、セグメント再構築ステップを排除することで、エンコーダの効率をいくらか上げると同時に、デコーダで再構築された画像にさらに十分に類似した画像を予測するための基礎を提供して、重大な誤りを回避する。ステップ205において、ステップ204で判定されたセグメントは、デコーダがそのセグメントを順序化するのと同じやり方で、エンコーダ100の機能ブロック105によって順序化される。1実施形態において、エンコーダおよびデコーダ双方に知られる、予め決められた標準的な順序化スキームに従って実行される。
(1.1 Encoder)
FIG. 1 is a block diagram of an exemplary encoder for use with a compatible decoder, as will be described later with reference to FIGS. 3 and 4, and FIG. 2 is an overview of the operation of the encoder of FIG. It is. In step 201, the encoder 100 obtains a first (eg, reference) image frame. In step 202, the
ステップ206において、エンコーダ100の機能ブロック106は、セグメント化された参照フレームに対応してエンコードされるべき新しい(例えば、第2の)画像フレームを取得する。ステップ207において、ステップ204で生成されたセグメントのそれぞれに関する運動関連情報は、運動マッチングによってエンコーダ100の機能ブロック107によって判定される。すなわち、運動マッチングは、一方のフレームから他方のフレームまでの画像セグメントのロケーションの変化を判定するプロセスである。運動マッチングは、前方、後方および/またはシーケンシャルでないフレームに対し、適応され得る。
In step 206, the
ステップ208において、エンコーダ100の機能ブロック108は、運動関連情報をエンコードする。 In step 208, functional block 108 of encoder 100 encodes motion related information.
ステップ209において、ステップ208からの運動関連情報に基づいて、参照フレームにおける以前には隠れていた領域(以後、バックグラウンド残余部と呼ぶ)が、新しいフレームで露出し得る。ステップ210において、エンコーダ100の機能ブロック110は、デコーダが共通の予め決められた標準的な順序化スキームを使用して、順序化するのと同じやり方にてバックグラウンド残余部を順序化する。ステップ211において、エンコーダ100は、直線技術、多項式技術、または他の推定的な技術などの技術を使用して、既知のセグメント値から外挿することによって、バックグラウンド残余部のそれぞれを補充しようとする。補充はまた、新しく露出した領域を囲むセグメントの順序化または階層に関する情報を考慮することによって支援される。セグメントの順序化はZ順序化として知られる深さ情報を定義する。例えば、画像が図7の車の運動の航空写真である場合、車を表すセグメントの運動によって露出する領域(セグメント71)は、車の下にある道路(セグメント72)を表すセグメントに基づいて予測され得る。ステップ212において、エンコーダは、各バックグラウンド残余部領域の実際値および予測値の差を判定する。 At step 209, based on the motion related information from step 208, the previously hidden area in the reference frame (hereinafter referred to as background residue) may be exposed in the new frame. In step 210, the functional block 110 of the encoder 100 orders the background residuals in the same way that the decoder uses a common predetermined standard ordering scheme. In step 211, the encoder 100 attempts to fill each of the background residuals by extrapolating from the known segment values using techniques such as linear techniques, polynomial techniques, or other predictive techniques. To do. Replenishment is also aided by considering information about the ordering or hierarchy of segments surrounding the newly exposed area. Segment ordering defines depth information known as Z-ordering. For example, if the image is an aerial view of the car motion of FIG. 7, the area exposed by the motion of the segment representing the car (segment 71) is predicted based on the segment representing the road under the car (segment 72) Can be done. In step 212, the encoder determines the difference between the actual value and the predicted value of each background residual region.
以前には塞がれていた領域の露出によって生じるバックグラウンド残余部に付け加え、ローカル残余部も存在し得る。ローカル残余部は、例えば不正確なマッチングおよび新しい情報の露出に関連する。それ故、セグメントの全体的な完全な記述は、運動データおよび残余部データ(バックグラウンドおよびローカルの双方)の考察を含み、そのすべてが、反動速度論情報として集合的に示されるものとする。ステップ213において、エンコーダは、セグメント運動関連情報から、第2画像フレームのローカル残余部領域を判定する。ステップ214において、エンコーダ100の機能ブロック110は、デコーダが共通の予め決められた標準的な順序化スキームを使用して、順序化するのと同じやり方にてステップ113からのローカル残余部を順序化する。ステップ215において、エンコーダ100の機能ブロック115は、ステップ212からのバックグラウンド残余部およびステップ213から得たローカル残余部をエンコードする。1実施形態において、エンコーディングは、デコーダによって即座に判定される特定の残余部構造に基づいて選択された多くの利用可能な技術の内の1つを使用し得る。
In addition to the background residue caused by the exposure of previously blocked areas, there may also be local residues. Local residuals are associated with, for example, inaccurate matching and exposure of new information. The overall complete description of the segment therefore includes consideration of motion data and residual data (both background and local), all of which are collectively shown as reaction kinetic information. In step 213, the encoder determines a local residual area of the second image frame from the segment motion related information. In step 214, the functional block 110 of the encoder 100 orders the local residue from step 113 in the same way that the decoder uses a common predetermined standard ordering scheme. To do. In step 215, the
第2フレームの画像が残余部情報からの援助を用いて、主に運動関連情報から合理的に再構築され得る場合、ステップ216において、エンコーダは、以下の情報を直接的に(例えば、テレビ会議アプリケーションで)、または間接的に(例えば、後に再生する際に復号化されるべき記憶媒体に書き込んで)伝送する。(a)フレームがキーフレームではないことを示すフラグ、(b)セグメントのための運動関連情報、(c)必要ならばバックグラウンド残余部情報(随意、使用されるコーディング技術を示すフラグとともに)、および(d)必要ならばローカル残余部情報(随意、使用されるコーディング技術を示すフラグとともに)。伝送後、エンコーダは、以前の参照フレームに関して、エンコードされるべき新しい(例えば、第3の)画像フレームを用いて、ステップ206で始まる、このサイクルを繰り返す。以前の参照フレームは、既存のキーフレームまたは非キーフレーム(すなわち、再構築されたビデオフレーム)であり得る。しかしながら、第2画像が残余部情報の援助を用いて、主に運動関連情報から合理的に再構築され得ない場合、ステップ217において、画像はキーフレームとしてエンコードされ、フレームがキーフレームであることを示すフラグとともに、デコーダに伝送される。伝送後、エンコーダは、ステップ203で始まる、このサイクルを繰り返す。
If the second frame image can be reasonably reconstructed primarily from motion related information with assistance from residual information, then in
伝送はまた、機能ブロック118によって、フレームに関連付けられた任意の特定の命令の伝送を含み得る。
The transmission may also include the transmission of any specific instructions associated with the frame by
あるいは、図1および2に記載されるように、第1フレームのセグメントからの動力学情報を判定する代わりに、エンコーダは、第1フレームからの構造情報を使用し、第2フレームを記述するための基底関数または形成ブロックの最良の組を判定する。この組の基底関数は、デコーダが判定するものと同じ組であり、それ故に第2フレームの係数のみがエンコーダからデコーダへ伝送される必要がある。 Alternatively, as described in FIGS. 1 and 2, instead of determining the dynamic information from the segment of the first frame, the encoder uses the structural information from the first frame to describe the second frame. Determine the best set of basis functions or building blocks. This set of basis functions is the same set that the decoder determines, so only the coefficients of the second frame need to be transmitted from the encoder to the decoder.
(1.2 デコーダ)
図3は、図1および図2に記載されるように、互換可能なデコーダとともに使用する例示的なデコーダのブロック図であり、図4は、図3のデコーダの操作の概観である。ステップ401において、デコーダ300の機能ブロック301は、エンコードされた画像フレーム(例えば、図2のステップ202において生成されたエンコードされた参照フレーム)を受信する。ステップ402において、ステップ401からのエンコードされた画像フレームは、エンコーダと同じやり方にて、デコーダ300の機能ブロック302によって再構築される。ステップ403において、ステップ402からの再構築された画像フレームの構造情報は、エンコーダと同じやり方にて、デコーダ300の機能ブロック303によって判定および順序化される。ステップ404において、デコーダは、以後の画像フレーム(例えば、エンコーダ記述子のステップ206を参照のこと)がキーフレームであるか否かを記述するエンコーダからフラグを受信する。キーフレームである場合、デコーダは、ステップ401へと戻る。キーフレームでない場合、デコーダはステップ405において継続する。
(1.2 Decoder)
FIG. 3 is a block diagram of an exemplary decoder for use with a compatible decoder as described in FIGS. 1 and 2, and FIG. 4 is an overview of the operation of the decoder of FIG. In step 401, the
ステップ405において、デコーダ300の機能ブロック305は、セグメントのための運動関連情報(例えば、運動および/または残余部データ)を受信する。ステップ406において、デコーダはステップ403において取得されるセグメント、およびステップ405において取得される動力学情報の運動の部分を使用して、以後の画像フレームを再構築し始める。 In step 405, functional block 305 of decoder 300 receives motion related information (eg, motion and / or residual data) for the segment. In step 406, the decoder begins to reconstruct subsequent image frames using the segment obtained in step 403 and the motion part of the dynamic information obtained in step 405.
ステップ407において、ステップ404からの運動関連情報に基づいて、ステップ403で判定されたセグメントに関して、デコーダは、以前には隠れていた画像部分が、もしあれば、ここで露出するロケーションを判定する。これらは、バックグラウンド残余部ロケーションとして知られている。ステップ408において、ステップ407から計算されたバックグラウンド残余部ロケーションは、共通の予め決められた標準的なプロトコルを使用して、エンコーダによって順序化されるのと同じやり方にて順序化される。ステップ409において、エンコーダによって使用される技術と同じ予測を満たす技術タイプを使用して、バックグラウンド残余部ロケーション(例えば、バックグラウンド残余部情報を予測する)を補充することを試みる。ステップ410において、デコーダは、(予測されるバックグラウンド残余部情報に対応して)エンコードされたバックグラウンド残余部情報を受信し、さらにエンコーダ(図2、ステップ216(c))からコーディング方法を表示するフラグを受信する。ステップ411において、デコーダ300の機能ブロック311は、受信されたバックグラウンド残余部情報を復号化する。ステップ412において、予測される(計算された)バックグラウンド残余部情報が、もしあれば、受信されたバックグラウンド残余部情報に付け加えられ、全体的なバックグラウンド残余部情報を判定し、これは次いで第2画像フレームに追加される。
In step 407, based on the motion related information from step 404, for the segment determined in step 403, the decoder determines the location where the previously hidden image portion, if any, is now exposed. These are known as background residue locations. In step 408, the background residue location calculated from step 407 is ordered in the same way that it is ordered by the encoder using a common predetermined standard protocol. At step 409, an attempt is made to replenish background residual locations (eg, predict background residual information) using a technology type that satisfies the same prediction as the technology used by the encoder. In step 410, the decoder receives the encoded background residual information (corresponding to the predicted background residual information) and further displays the coding method from the encoder (FIG. 2, step 216 (c)). Receive a flag to do. In step 411, the
ステップ413において、ステップ404において受信された運動関連情報に基づいて、ステップ403で判定されたセグメントに関して、デコーダは、機能ブロック311において、ローカル残余部のロケーションを、もしあれば、判定する。ステップ414において、ローカル残余部ロケーションは、エンコーダが共通の予め決められた標準的な順序化スキームを使用して、順序化されるのと同じやり方にて順序化される。ステップ415において、デコーダは、エンコードされたローカル残余部情報、および各ローカル残余部ロケーションのための、コーディング方法を示すフラグを受信する。ステップ416において、デコーダはローカル残余部情報を復号化する。ステップ417において、復号化されたローカル残余部情報は第2フレームに付け加えられる。ステップ418において、デコーダ300の機能ブロック318は、任意の特定の命令を受信し、その命令を第2フレームへ付け加える。ステップ419において、機能ブロック319は、第2フレームの再構築を完了する。
In step 413, for the segment determined in step 403 based on the motion related information received in step 404, the decoder determines the location of the local remainder, if any, in
ステップ420において、さらなるフレームがあれば、ルーチンはステップ404で継続する。 At step 420, if there are more frames, the routine continues at step 404.
あるいは、図3および4に記載されるように、第1フレームのセグメントから動力学情報を受信する代わりに、デコーダは、第1フレームからの構造的な情報を使用し、第2フレームを記述するための基底関数または形成ブロックの最良の組を判定する。この組の基底関数は、エンコーダが判定するものと同じ組であり、それ故にデコーダはこれらの基底関数の係数を受信し、再構築を開始することのみが必要である。 Alternatively, as described in FIGS. 3 and 4, instead of receiving dynamic information from a segment of the first frame, the decoder uses structural information from the first frame to describe the second frame. Determine the best set of basis functions or building blocks for This set of basis functions is the same set that the encoder determines, so the decoder need only receive the coefficients of these basis functions and initiate the reconstruction.
(1.3 エンコーダデコーダ)
前述のセクションは、エンコーダおよびデコーダを別々に記載しているが、エンコーダは互換可能なデコーダの存在を前提にし、且つ互換可能なデコーダによって復号化されるように画像をエンコードし、その逆も同様であるという点で、双方は密接に関連している。したがって、図2および4の種々のステップ間の相互関係を考慮することが有用である。したがって、図5は、本発明の例示的なエンコーダデコーダ(コーデック)アーキテクチャを示し、図6は、図5の例示的な(コーデック)の動作を示す。ステップ601において、エンコーダは、参照フレームを取得、エンコード、および伝送し、デコーダは参照フレームを受信する。ステップ602において、ステップ602からの参照フレームは、エンコーダおよびデコーダ双方によって再構築される。ステップ603において、参照フレームにおいて同一のセグメントがエンコーダおよびデコーダ双方によって判定される。ステップ604において、ステップ603からのセグメントはエンコーダおよびデコーダ双方によって同じ方法で順序化される。
(1.3 Encoder decoder)
The previous section describes the encoder and decoder separately, but the encoder assumes the presence of a compatible decoder and encodes the image to be decoded by a compatible decoder, and vice versa. Both are closely related. Therefore, it is useful to consider the interrelationship between the various steps of FIGS. Accordingly, FIG. 5 illustrates an exemplary encoder decoder (codec) architecture of the present invention, and FIG. 6 illustrates the exemplary (codec) operation of FIG. In step 601, the encoder obtains, encodes and transmits a reference frame, and the decoder receives the reference frame. In
ステップ605において、エンコーダは新しい画像フレームを取得する。ステップ606において、エンコーダはステップ603からのセグメントの運動関連情報を、ステップ605から得たフレームにマッチングする運動によって判定する。ステップ607において、エンコーダは運動関連情報をエンコードする。
In step 605, the encoder obtains a new image frame. In
ステップ608において、ステップ606からの運動関連情報に基づいて、エンコーダは、第2フレームに現在露出する、以前には隠れていた領域(バックグラウンド残余部ロケーション)のロケーションを判定する。ステップ609において、エンコーダは、バックグラウンド残余部ロケーションを順序化させる。ステップ610において、エンコーダは、バックグラウンド残余部領域における画像を数学的に予測することを試みる。ステップ611において、エンコーダは、数学的予測が正しいか否かを、予測と実際のバックグラウンド残余部情報との差に基づいて判定する。エンコーダは、必要ならば追加のバックグラウンド残余部情報が計算されるように、この違いを送信する。
In step 608, based on the motion related information from
ステップ612において、ステップ606からの運動関連情報に基づいて、エンコーダは、ローカル残余部の構造情報を判定する。ステップ613において、ステップ612からのローカル残余部の構造的な情報は、エンコーダによって順序化される。ステップ614において、エンコーダはローカル残余部をエンコードする。
In step 612, based on the motion related information from
ステップ615において、エンコーダは伝送し、デコーダはステップ601において伝送されそして受信されたフレームが、動力学(運動および残余部)情報を使用して表示されるべきか、またはキーフレームとして表示されるべきかを識別するフラグを受信する。キーフレームの場合、システムはステップ601に戻る。キーフレームでない場合には、システムはステップ616において続行する。 In step 615, the encoder transmits, the decoder transmits in step 601, and the received frame should be displayed using dynamics (motion and residual) information or as a key frame. A flag identifying whether or not is received. If it is a key frame, the system returns to step 601. If not, the system continues at step 616.
ステップ616において、エンコーダは伝送し、デコーダはエンコーダからのセグメント運動関連情報を受信する。ステップ617において、デコーダは、ステップ608および609においてエンコーダが行ったやり方と同じやり方にて、バックグラウンド残余部ロケーションを判定および順序化する。ステップ618において、デコーダは、エンコーダがバックグラウンド残余部に関してステップ610にて行った予測と同じ予測を行う。ステップ619において、もしあれば、ローカル残余部情報を、およびコーディングスキームを表示するフラグを、エンコーダは伝送し、デコーダは受信する。ステップ620において、デコーダは、ステップ612および613において、エンコーダが行ったやり方と同じやり方にて、ローカル残余部情報を判定および順序化する。ステップ621において、ローカル残余部情報およびコーディングスキームを表示するフラグを、エンコーダは伝送し、デコーダは受信する。ステップ622において、特定の命令を、もしあれば、エンコーダは伝送し、デコーダは受信する。ステップ632において、動力学情報に基づいて、エンコーダおよびデコーダ双方がフレームを同様に再構築する。ステップ624において、追加のフレームがエンコードされる場合、ステップ622で再構築されたフレームは参照フレームとなり、ルーチンがステップ605で継続する。
In step 616, the encoder transmits and the decoder receives segment motion related information from the encoder. In
あるいは、エンコーダデコーダシステムは、第1フレームのセグメントからの動力学情報を利用する代わりに、エンコーダデコーダは第1フレームからの構造的な情報を使用し、第2フレームを記述するための基底関数または形成ブロックの最良の組を判定する。エンコーダおよびデコーダ双方は別々にこれらの基底関数を判定し、それ故に基底関数の係数のみが伝送される必要がある。 Alternatively, instead of the encoder decoder system utilizing the dynamic information from the first frame segment, the encoder decoder uses the structural information from the first frame and uses a basis function to describe the second frame or Determine the best set of building blocks. Both the encoder and decoder determine these basis functions separately, so only the coefficients of the basis functions need to be transmitted.
(2.エンコーダ)
エンコーダの動作が概して上述されてきたが、これはエンコーディングプロセスの特定のステップの詳述であると同様、いくつかの特定画像例に関する動作を示す命令でもある。
(2. Encoder)
While the operation of the encoder has been generally described above, this is also an instruction that indicates the operation for some specific image examples as well as a detailed description of the specific steps of the encoding process.
(2.1 参照フレーム伝送)
図7を参照し、エンコーダは参照フレーム、この場合、バックグラウンドに太陽があり、車が左から右へと動く画像、を受信する。参照フレームは概して、それに対して、他の任意のフレームが記述されるフレームを示す。エンコーダサイクルの第1通路において、参照フレームは概してキーフレームである。あるいは、引き続く通路においては、参照フレームは以前にエンコードされた非キーフレームであり得る。
(2.1 Reference frame transmission)
Referring to FIG. 7, the encoder receives a reference frame, in this case an image with the sun in the background and the car moving from left to right. A reference frame generally refers to a frame in which any other frame is described. In the first pass of the encoder cycle, the reference frame is generally a key frame. Alternatively, in subsequent passages, the reference frame may be a previously encoded non-key frame.
図8は、エンコーダが初めにキーフレームを処理するプロシージャを示すフロー図である。ステップ810において、エンコーダは図7に示されるフレームを受信する。ステップ820において、エンコーダはフレームをエンコードする。ステップ830において、エンコーダは、エンコードされたフレームを受容体に(例えば、デコーダまたは引き続くデコーディングのための記憶媒体に)伝送する。エンコーダは、ステップ840においてエンコードされたフレームを再構築する。
FIG. 8 is a flow diagram illustrating the procedure by which the encoder first processes the key frame. In
(2.2 セグメント化)
セグメント化は、デジタル画像が構成要素、すなわち、各セグメントが、図10に示される画像内の値における急激な変化によって制限される領域を表すセグメント、へと下位分割されるプロセスである。
(2.2 Segmentation)
Segmentation is the process by which a digital image is subdivided into components, ie, segments where each segment represents a region that is limited by abrupt changes in values in the image shown in FIG.
コンピュータビジョンの当業者は、セグメント化が複数の方法で実行され得ることを認識する。例えば、そのような1方法は、いわゆる「ウォーターシェッド方法」であり、ウォーターシェッド方法はwww.csu.edu.au/ci/vol3/csc96f/csc96f.htmlにおいて記載されている。本発明で利用可能なこのセグメント化技術およびその他のセグメント化技術は当業者には公知であり、本明細書において詳細に記載される必要はない。 Those skilled in the art of computer vision recognize that segmentation can be performed in a number of ways. For example, one such method is the so-called “watershed method”, which can be found at www. csu. edu. au / ci / vol3 / csc96f / csc96f. It is described in html. This segmentation technique and other segmentation techniques available in the present invention are known to those skilled in the art and need not be described in detail herein.
ここで図9を参照すると、ステップ910において、エンコーダは再構築された参照フレームをセグメント化し、画像固有の構造特徴を判定する。あるいは、ステップ910において、エンコーダは、同じ目的でオリジナルの画像フレームをセグメント化する。エンコーダは、図7のセグメントが車、後輪、前輪、後部ウィンドウ、前部ウィンドウ、道、太陽、およびバックグラウンドであることを判定する。あるいは、ステップ910において、エンコーダはオリジナルフレームおよび再構築されたフレーム双方をセグメント化し、双方のフレーム間のセグメント化の違いを判定する。この場合、エンコーダは、この違いを運動関連情報の1部としてデコーダに伝送する。この違いは、本明細書においてセグメント化増強として示される。
Referring now to FIG. 9, in
ステップ920において、エンコーダは任意の予め決められた基準に基づいてセグメントを順序化し、図10に示されるように、セグメント1001から1008までそれぞれを表す。
In
セグメント化は、本記載においてさらに説明されるように、エンコーダが効果的な運動マッチング、Z順序化、運動予測、および効果的な残余部コーディングを実行することを可能にする。 Segmentation allows the encoder to perform effective motion matching, Z ordering, motion prediction, and effective residual coding, as further described in this description.
(2.3 動力学情報)
一旦セグメント化が完了すると、エンコーダは、各フレームごとの進展に関する、動力学情報を判定およびエンコードする。動力学情報は、運動関連情報および残余部情報の記述を含む。運動関連情報は、必要ならばセグメント、Z順序化情報、セグメント化増強など運動データから成り得る。残余部情報は、以前には塞がれていた領域および/または不正確なマッチングおよび新しい情報の露出、ならびに本質的に運動によって捉えられないセグメント発展の部分の情報から成る。
(2.3 Dynamics information)
Once segmentation is complete, the encoder determines and encodes kinetic information regarding the progress for each frame. The dynamic information includes a description of motion related information and residual information. The motion related information can consist of motion data such as segments, Z-ordering information, segmentation enhancement, if necessary. Residual information consists of information about previously occluded regions and / or inaccurate matching and exposure of new information, and part of the segment evolution that is essentially not captured by motion.
(2.3.1 マッチングおよびセグメントモーションデータ)
動力学情報のモーション部分は、モーションマッチングとして公知のプロセスを経て判定される。モーションマッチングは、類似の領域(セグメントである場合が多い)を1つのフレームから別のフレームまでマッチングさせるプロシージャである。デジタル画像フレーム内の各画素において、画像が数値として表される。1つのフレーム中の領域が別のフレーム中の領域と同一または充分に類似する画素値を有する場合、マッチングが発生する。
(2.3.1 Matching and segment motion data)
The motion part of the dynamic information is determined through a process known as motion matching. Motion matching is a procedure for matching similar regions (often segments) from one frame to another. At each pixel in the digital image frame, the image is represented as a numerical value. Matching occurs when an area in one frame has a pixel value that is the same or sufficiently similar to an area in another frame.
例えば、セグメントが異なるフレーム中の別のセグメントにマッチングすると見なすことができるのは、第1のセグメントが適切に移動されて第2のセグメント上に配置され、画素値の差の絶対値の平均を計算して、その平均値が所定の閾値未満に収まる場合である。画素値の差の絶対値の平均がよく用いられるのは類似性の簡単な基準となるからであるが、他の任意の数の基準でも充分である。マッチングを判定するために用いられ得るような基準は当業者にとって明らかであり、これ以上言及する必要はない。 For example, a segment can be considered to match another segment in a different frame because the first segment is appropriately moved and placed on the second segment, and the average of the absolute values of the pixel value differences is calculated. This is a case where the average value is calculated and falls below a predetermined threshold value. The average absolute value of pixel value differences is often used because it provides a simple measure of similarity, but any other number of criteria is sufficient. Criteria that can be used to determine matching will be apparent to those skilled in the art and need no further mention.
図11は、フレーム1110とフレーム1120との間での灰色熱気球のモーションマッチングの一例を示す。フレーム1110において、灰色熱気球1111があり、フレーム1120において、灰色熱気球1121の隣に白色球1122がある。灰色熱気球1121は、灰色熱気球1111よりもやや小型で、ねじれている。熱気球1111が白色球1122上に移動すると、フレーム1110中の灰色熱気球1121内に含まれる画素値からフレーム1120内の白色球1122内に含まれる画素値が減算され、その結果、ゼロではない差が得られる。そのため、灰色熱気球と白色球はマッチングしない。しかし、灰色熱気球1110が灰色熱気球1120上に移動すると、フレーム1110中の灰色熱気球1111からフレーム1120中の灰色熱気球1121が減算され、その結果、エッジおよびバスケット近隣の小領域以外では、殆どがゼロの値およびゼロに近い値の結果が得られる。これにより、これら2つの灰色熱気球はマッチングしたと見なされる。
FIG. 11 shows an example of motion matching of a gray hot air balloon between the
(2.3.2 グループ化)
関連するセグメントを1つのグループとして見なし、これにより、エンコーダが、当該グループに関するモーション関連情報を(個々のセグメント用の任意のさらなるリファインメントがある場合で必要な場合はそれと共に)伝送するだけですむようにすれば、デコーダへと伝送されるモーション関連情報を低減することが可能である。例えば、セグメントモーションデータの場合、エンコーダは、代表的モーションベクトルまたは特徴的モーションベクトルを(モーションベクトルオフセットがある場合はそれと共に)デコーダに伝送し、これにより、グループ内の各セグメントの個々のモーションを表すだけでよい。特徴的モーションベクトルは実質的に任意の種類でよく、例えば、単一のベースセグメントまたはグループ全体の平均の特徴的モーションベクトルでよい。
(2.3.2 Grouping)
Consider related segments as a group so that the encoder only needs to transmit motion related information about that group (along with any additional refinements for individual segments, if necessary) Then, it is possible to reduce the motion related information transmitted to the decoder. For example, in the case of segment motion data, the encoder transmits a representative motion vector or characteristic motion vector (along with any motion vector offset) to the decoder so that the individual motion of each segment in the group is transmitted. Just represent it. The characteristic motion vector may be of virtually any type, for example a single base segment or an average characteristic motion vector for the entire group.
グループ化が可能となるのは、セグメント周囲に以前に動力学情報がある場合またはセグメント周囲にマルチスケール情報がある場合である。マルチスケールについては、下記のセクション2.3.4において説明する。本発明のこの特定の実施形態にこれ以上限定することなく、モーションベクトルグループ化のみについてさらに説明する。 Grouping is possible when there is previous dynamic information around the segment or when there is multi-scale information around the segment. Multiscale is described in Section 2.3.4 below. Without further limiting to this particular embodiment of the present invention, only motion vector grouping will be further described.
図12を参照して、工程1210において、エンコーダは、第1のフレームがキーフレームであるか否か(すなわち、他のフレームに関連して記述されていないかどうか)を判定する。第1のフレームがキーフレームである場合、モーショングループ化ルーチンは、マルチスケーリング情報を(可能であれば)用いてセグメントをグループ化する。第1のフレームがキーフレームではない場合、グループセグメントにとって利用可能な何らかの以前のモーションデータが提供される。従って、第1のフレームがキーフレームではない場合、工程1220において、セクション2.3.2において後述するモーショングループ化ルーチンが実行される。しかし、以前のモーションデータを用いても、マルチスケーリングをさらなるグループ化用に利用することは妨げられない。 Referring to FIG. 12, at step 1210, the encoder determines whether the first frame is a key frame (ie, is not described in relation to other frames). If the first frame is a key frame, the motion grouping routine groups the segments using multi-scaling information (if possible). If the first frame is not a key frame, some previous motion data available for the group segment is provided. Thus, if the first frame is not a key frame, at step 1220, a motion grouping routine, described below in section 2.3.2, is executed. However, using previous motion data does not prevent the use of multiscaling for further grouping.
しかし、第1のフレームがキーフレームである場合、工程1230において、エンコーダは、利用可能なマルチスケール情報があるか否かを判定する。利用可能なマルチスケール情報がある場合、次いで、工程1240において、セクション2.3.4において後述するマルチスケーリングルーチンを実行する。利用可能なマルチスケール情報が無い場合、工程1250において、エンコーダはセグメントのグループ化を行なわない。
However, if the first frame is a key frame, at
(2.3.2.1 モーションベースのグループ化)
モーションベースのグループ化は、以前のモーション関連情報が有り、エンコーダが関連付け対象セグメントを判定することが可能である場合のみに発生する。デコーダも、エンコーダが行うのと同様の様式でセグメントのグループ化を行う。モーションベースのグループ化は、図13中の工程1310から開始し、各セグメントの以前のモーションデータが検討される。工程1320において、類似のモーションベクトルを示すセグメントをグループ化する。
(2.3.2.1 Motion-based grouping)
Motion-based grouping occurs only when there is previous motion related information and the encoder can determine the association target segment. The decoder also groups the segments in the same way that the encoder does. Motion-based grouping begins at
(2.3.2.2 マルチスケールグループ化)
マルチスケーリンググループ化は、以前のモーションを用いたセグメントのグループ化の代替である。さらに、マルチスケーリングは、モーショングループ化と協働させて用いることも可能である。マルチスケーリングは、画像のより低い解像度のバージョンを生成するプロセスである。マルチプルスケールを作成する例示的工程は、平滑(smoorthing)機能の反復適用を経る。より低い解像度の画像の生成の結果、解像度は低減し、大型で支配的なフィーチャのみが可視状態となる。従って、例えば、解像度が低い場合、フットボールの縫い目は見えなくるが、フットボールそのものは認識可能である。
(2.3.2.2 Multi-scale grouping)
Multi-scaling grouping is an alternative to segment grouping using previous motion. Furthermore, multiscaling can be used in conjunction with motion grouping. Multiscaling is a process that generates a lower resolution version of an image. An exemplary process for creating multiple scales is through iterative application of a smoothing function. As a result of the generation of the lower resolution image, the resolution is reduced and only large, dominant features are visible. Thus, for example, if the resolution is low, the football seam is not visible, but the football itself is recognizable.
マルチスケールプロセスの一例を以下に示す。図15を参照して、工程1510において、エンコーダは、例えば、当該フレームについて、最も疎な画像スケール(すなわち、最低解像度)を検討し、工程1520において、可視状態のままのセグメントを判定する。このような疎な画像スケールの場合、(通常、主要なオブジェクトの外郭として結合する)最も大きく最も支配的なフィーチャのみが可視状態で残り、(通常、主要オブジェクトを構成するフィーチャに対応する)非支配的セグメントは、認識不可能となる。工程1530において、最も疎なスケールにおいて不可視状態となり、かつ、所与の可視セグメントを共に含むセグメントは、1つのグループと関連付けられる。これは、小さくて不可視状態となったセグメントは、大きなオブジェクトと関係を共有する場合が多く、類似の動力学情報を有する傾向があるためである。そのため、より疎なスケールの画像表示物は、より微細なスケールのクラスタを表すと見なされる。工程1540において、判定がなされる。より可視度が高いセグメントがある場合、工程1550において、エンコーダは、次のセグメントを検討し、工程1530へと進む。より可視度が高いセグメントが無い場合、マルチスケーリンググループ化プロセスは終了する。
An example of a multiscale process is shown below. Referring to FIG. 15, at
上記の例示的実施形態では疎な画像スケールを用いたが、これは、もちろん、特定の画像に用いられる特定の範囲のマルチスケーリングに従う。別の例示的実施形態において一つ以上の他のスケールも利用可能であることは明らかである。 Although the above exemplary embodiment used a sparse image scale, this of course follows a specific range of multiscaling used for a specific image. It should be apparent that one or more other scales may be utilized in other exemplary embodiments.
デコーダは、エンコーダが行うのと同一または類似の様式でグループ化を行う。 The decoder performs grouping in the same or similar manner as the encoder does.
(2.3.3 モーション予測)
図14を参照して、工程1410において、エンコーダはセグメントを検討する。工程1420において、エンコーダは、当該セグメントについて以前のモーション関連情報が有るか否かを判定し、そのモーションを予測できるようにする。デコーダは、エンコーダと同一または類似の様式で、セグメントのモーションまたはセグメントのグループを予測する。以前のモーション関連情報が無い場合、エンコーダは、下記のように工程1460へと進む。
(2.3.3 Motion prediction)
Referring to FIG. 14, at
以前のモーション関連情報が有る場合、エンコーダは、工程1430においてセグメントのモーションを予測し、予測結果をセグメントの実際のモーションと比較する。モーションベクトルオフセットは初めは、工程1440において、実際のモーションベクトルと予測されたモーションベクトルとの間の差として計算される。工程1450において、エンコーダは、さらに、上記のモーションベクトルオフセットを、上記のモーションベクトルオフセットと関連する特徴的(またはグループ)モーションベクトルとの間の差として表す。
If there is previous motion related information, the encoder predicts the motion of the segment at
工程1460において、エンコーダは、まだセグメントが有るか否かを判定する。まだセグメントが有る場合、工程1470において、エンコーダは、次のセグメントを検討し、工程1420へと進む。セグメントがそれ以上無い場合、予測ルーチンは終了する。 In step 1460, the encoder determines whether there are more segments. If there are more segments, at step 1470, the encoder considers the next segment and proceeds to step 1420. If there are no more segments, the prediction routine ends.
(2.3.2.1.1 モーション関連情報符号化)
グループ化および予測が発生した後、グループ化および予測を利用(leverage)して、取り出されたモーション関連情報の大部分を符号化する再のオーバーヘッドを低減することが可能である。例えば、個々のセグメントの代わりにグループを基準にすることで、セグメント化の増強(augmentation)をより効率的に記述することが可能である。工程1330において、当該グループ内の全モーションベクトルの代表的フィーチャを計算することにより、グループのモーションベクトルを入手する。従って、グループ内の各セグメントについて、モーションベクトルの差のみ(すなわち、セグメントのモーションベクトル(但し、存在すればであるが)と特性(あるいはグループ)モーションベクトルとの差)を伝送する(工程1340を参照)。特性モーションベクトルの一例は、平均モーションベクトルである。モーション予測と予測されたモーションに関する符号化モーションオフセットのみとを用いれば、モーションベクトルにおいてさらなる改善を達成することが可能である。
(2.3.2.1.1 Motion related information encoding)
After grouping and prediction occurs, grouping and prediction can be leveraged to reduce the re-overhead of encoding most of the extracted motion related information. For example, segmentation augmentation can be described more efficiently by referring to groups instead of individual segments. In
(2.3.4 Z−順序化)
Z−順序化は、各画像が占有する画像フレーム内の相対的深さ位置を指す。エンコーダは、Z−順序化情報を判定および伝送し、これにより、構造情報が1つのフレームから別のフレームへと変化するにつれて、構造情報内に含まれる深さ情報が保存される。
(2.3.4 Z-ordering)
Z-ordering refers to the relative depth position within the image frame that each image occupies. The encoder determines and transmits the Z-ordering information, so that the depth information contained within the structural information is preserved as the structural information changes from one frame to another.
(2.3.5 残余部の符号化)
残余部情報は、以前に塞がれた(occluded)領域中の情報ならびに/または不正確なマッチングおよび新規情報の外観(appearance)と、運動そのものによって捕獲されないセグメント発展の一部分と、などからなる。
(2.3.5 Coding of remainder)
The residual information consists of information in previously occluded areas and / or incorrect matching and new information appearance, part of the segment evolution that is not captured by the motion itself, and so on.
(2.3.5.1 バックグラウンド残余部)
図16に示すように、セグメントが移動すると、今まで隠蔽または遮断(obstruct)されていた領域が初めて可視状態となる。図16において、車両が移動するにつれ、3つの領域が可視状態となる。これらの3つの領域は車両の背後にある領域であり、その領域の2つは車輪の背後にある領域である。これらの3つの領域をそれぞれ、領域1601〜1603として印を付ける。
(2.3.5.1 Background remainder)
As shown in FIG. 16, when the segment moves, the area that has been concealed or obstructed until now becomes visible for the first time. In FIG. 16, as the vehicle moves, three regions become visible. These three areas are areas behind the vehicle, and two of the areas are areas behind the wheels. These three areas are marked as
図17を参照して、工程1710において、エンコーダは、以前に隠蔽された画像領域が発生した場所を判定する。工程1720において、エンコーダは、所定の順序化システムを用いて、領域を順序化する。工程1730において、1つの領域を包囲する領域(単数または複数)に対応する情報を用いて、エンコーダは、以前に隠蔽された領域の構造について数学的予測を行う。エンコーダはさらに、当該領域において露出した画像も正確に認識する。従って、工程1740において、エンコーダは、領域を検討し、予測された画像と実際の画像とを比較することにより、数学的予測が充分であったか否かを判定する。予測結果が実際の画像に近くない場合、工程1770において、エンコーダは、領域または差を符号化し、工程1780において、符号化メカニズムを示すフラグと共に符号化された情報を格納する。また、予測結果が実際の画像に近い場合、工程1745において、エンコーダは、その旨を示すフラグを格納する。
Referring to FIG. 17, in step 1710, the encoder determines where a previously concealed image area has occurred. In
工程1750において、エンコーダは、新規に遮断されていない領域がまだあるか否かを判定する。新規に遮断された領域がまだある場合、次の領域が検討され、ルーチンは工程1760へと進み、そうでない場合、ルーチンは終了する。
In
(2.3.5.2 ローカル残余部)
ローカル残余部情報は、不正確なマッチングからの情報および新規情報の外観などからなる。例えば、図18において、車両および太陽は、フレーム1802のものの方がフレーム1801のものよりも小さい。残余部情報の構造は、新規セグメントと以前のセグメントとの差の程度によって異なり、良好に規定された領域であったり、領域のセットであったり、あるいはまだら状であったりし得る。ローカル残余部の種類に応じて異なる種類の符号化方法を用いるのが理想的である。デコーダは、セグメントモーションを認識しているため、ローカル残余部の多くが位置する場所を認識する。エンコーダは、このデコーダの構造情報に関する知識(例えば、考慮対象となり得るセグメント境界位置)を用いて、ローカル残余部符号化の効率を向上させる。
(2.3.5.2 Local remainder)
The local remainder information includes information from inaccurate matching and the appearance of new information. For example, in FIG. 18, the vehicle and the sun are smaller in the
図19を参照して、工程1910において、エンコーダは、ローカル残余部の位置を判定する。工程1920において、エンコーダは、所定の順序化方式を用いて、ローカル残余部が発生した領域を順序化する。工程1930において、エンコーダは、第1のローカル残余部を検討して、そのローカル残余部を符号化する最も効率的な方法を判定し、次いで、工程1940においてそのローカル残余部を符号化する。工程1950において、エンコーダは、符号化された残余部と、符号化メカニズムを示すフラグとを格納する。工程1960においてまだローカル残余部の位置が有る場合、工程1970において、次のローカル残余部の位置を検討して、ルーチンは工程1940へと進む。ローカル残余部の位置が無い場合、ルーチンは終了する。
Referring to FIG. 19, in
(2.3.6 特殊命令)
エンコーダは、各セグメントに関するコマンドおよび命令を、必要に応じてビットストリームに埋め込む。これらのコマンドの例としては、静的ウェブページの入手、別の映像ビットストリームの入手、テキストの待機等を含む(但し、これらに限定されない)。
(2.3.6 Special instructions)
The encoder embeds commands and instructions for each segment in the bitstream as needed. Examples of these commands include (but are not limited to) obtaining a static web page, obtaining another video bitstream, waiting for text, etc.
エンコーダは、セグメントを判定した後、これらのコマンドをビットストリーム内部の任意のポイントに埋め込み、エンコーダが判定することが可能な内容を利用することができる。図20は、コマンドがデータストリーム中に埋め込まれたポイントの一例である。 After determining the segment, the encoder can embed these commands at any point in the bitstream and use the contents that the encoder can determine. FIG. 20 is an example of points where commands are embedded in the data stream.
図20を参照して、工程2010において、エンコーダは、第1のセグメントを検討する。工程2020において、エンコーダは、特殊命令フラグを伝送する。工程2030において、エンコーダは、当該セグメントについて特殊命令があるか否かを判定する。当該セグメントについて特殊命令がある場合、工程2040において、命令がデコーダへと伝送され、工程2050において、エンコーダは、セグメントがまだ他にも有るか否かを判定する。工程1730において当該セグメントと関連付けられた特殊命令がない場合、エンコーダは直接工程2050へと進む。工程2050においてまだ他にもセグメントがある場合、工程2060において、エンコーダは、工程2060において次のセグメントを検討し、工程2020へと進み、そうでない場合、ルーチンは終了する。
Referring to FIG. 20, at
(2.4 伝送)
動力学な(モーションおよび残余部の)情報の判定および符号化の後、フレーム情報の伝送に関する判定を行う。図21を参照して、工程2110において、残余部情報からの支援によって画像を主にモーション関連情報から合理的に再構築することが可能な場合、工程2190において、エンコーダは、当該フレームに関する動力学情報を伝送する。残余部情報からの支援によって画像を主にモーション関連情報から合理的に再構築することが不可能な場合、当該フレームはキーフレームとして符号化され、工程2185において、その動力学情報は廃棄される。
(2.4 Transmission)
After determining and encoding the dynamic (motion and residual) information, a determination is made regarding the transmission of frame information. Referring to FIG. 21, if, in
(2.5 代替)
あるいは、エンコーダは、第1のフレームからのセグメントからの動力学情報を用いる代わりに、例えば第1のフレームからのセグメント化を含む情報等の構造情報を用いて、最良の基本的機能セットを作成および順序化するか、または、第2のフレームを描画するブロックを構築する。この工程は、適応型符号化方法または適応型変換(transform)符号化方法と呼ばれ得、これは、デコーダの能力に関するエンコーダの知識に基づいて、適切な基本的機能セットを作成するか、またはデコーダにとって利用可能な構造情報に基づいてブロックを構築するものである。エンコーダおよびデコーダはどちらとも、これらの基本的機能を独立して判定するため、基本的機能の係数のみを伝送するだけですむ。
(2.5 alternative)
Alternatively, instead of using dynamic information from the segment from the first frame, the encoder uses structural information such as information including segmentation from the first frame to create the best basic feature set. And build a block to order or draw the second frame. This process may be referred to as an adaptive coding method or an adaptive transform coding method, which creates an appropriate basic function set based on the encoder's knowledge of the decoder's capabilities, or It builds blocks based on structural information available to the decoder. Since both the encoder and the decoder determine these basic functions independently, only the coefficients of the basic functions need be transmitted.
(3.デコーダ)
(3.1 参照フレームの受信(reception))
図22は、デコーダが参照フレームを受信するプロセスを示す。参照フレームは一般的には、他の後に生成されるフレームが描画される際の基準となるフレームである。工程2210において、デコーダは、符号化された参照フレームを受信する。工程2220において、デコーダは、その符号化された参照フレームを再構築する。
(3. Decoder)
(3.1 Reception of reference frame (reception))
FIG. 22 shows the process by which the decoder receives the reference frame. The reference frame is generally a frame that serves as a reference when a frame generated after another is drawn. In
工程2230において、デコーダは、キーフレームフラグを受信する。このフラグは、次のフレームがキーフレームであるか否かまたは次のフレームが動力学情報から再構築可能であるか否かを示す。次のフレームがキーフレームである場合、デコーダは工程2210へと戻り、次のフレームを受信する。次のフレームがキーフレームではない場合、このルーチンは終了する。
In
(3.2 セグメント化)
上述したように、セグメント化は、デジタル画像をその構成要素部分(すなわち、セグメント)に細分化するプロセスであり、各セグメントは、当該画像中の値の劇的な変化または急激な変化によって結合する領域を示す。
(3.2 Segmentation)
As described above, segmentation is the process of subdividing a digital image into its component parts (ie, segments), where each segment is joined by a dramatic or abrupt change in value in the image. Indicates the area.
図23を参照して、工程2310において、デコーダは、再構築された参照デコーダをセグメント化して、当該画像の固有の構造的フィーチャを判定する。例えば、デコーダは、図7中のセグメントが車両、後輪、前輪、リアウィンドウ、フロントウィンドウ、道路、太陽、およびバックグラウンドであると判定する。工程2320において、デコーダは、エンコーダが用いる所定の基準と同じ基準に基づいてセグメントを順序化し、図10に示すようにセグメント1001〜1007にそれぞれ印を付ける。
Referring to FIG. 23, in
(3.3 モーション関連情報)
セグメント化が達成された後、エンコーダは、各セグメントに関するモーション関連情報を受信する。モーション関連情報は、デコーダに、以前フレームにおけるセグメント位置に対する新規フレーム中のセグメント位置を伝える。
(3.3 Motion related information)
After segmentation is achieved, the encoder receives motion related information for each segment. The motion related information tells the decoder the segment position in the new frame relative to the segment position in the previous frame.
図24は、モーション関連情報を受信するプロセスを示す。工程2410において、デコーダは、1つのセグメントを検討する。工程2420において、デコーダは、当該セグメントについて以前のモーションデータが有るか否かを判定する。当該セグメントについて以前のモーションデータが無い場合、デコーダは、工程2450に進む。当該セグメントについて以前のモーションデータが有る場合、デコーダは、工程2430においてセグメントのモーションを予測し、工程2440においてモーションベクトル修正を受信し、次いで工程2450へと進む。工程2450において、デコーダは、他にセグメントがあるか否かを判定する。他にセグメントがある場合、デコーダは、工程2460において次のセグメントを検討し、次いで工程2420へと進む。そうでない場合、ルーチンは終了する。
FIG. 24 shows a process for receiving motion related information. In
関連するモーションを有するセグメントを共にグループ化し、1つのモーションベクトルによって表すと、動力学情報を低減することが可能である。デコーダによって受信される動力学情報は、いくつかの要素(すなわち、1)以前の(参照)デコーダがキーデコーダであるか否かすなわち2)以前の(参照)デコーダがキーデコーダでない場合、マルチスケーリング情報が利用可能か否か)によって変化する。 Dynamic information can be reduced when segments with associated motion are grouped together and represented by a single motion vector. The kinetic information received by the decoder is multi-scaling if several elements (ie 1) the previous (reference) decoder is a key decoder or 2) if the previous (reference) decoder is not a key decoder It depends on whether information is available.
図25を参照して、工程2510において、デコーダは、参照フレームがキーフレーム(すなわち、他の任意のフレームに関連して規定されていないフレーム)であるか否かを判定する。参照フレームがキーフレームである場合、セグメントの潜在的グループ化対象となる以前のモーションに関連する情報は存在しない。しかし、このような情報が利用可能な場合、デコーダは、マルチスケール情報をセグメントグループ化対象として用いることを試みる。工程2520において、デコーダは、利用可能なマルチスケール情報が有るか否かを判定する。参照フレームがキーフレームであり、かつ、デコーダにとって利用可能なマルチスケール情報がある場合、工程2530において、デコーダは、先ず、エンコーダに関して前述したように、マルチスケールルーチンを用いて、関連するセグメントを共にグループ化する。次いで、工程2540において、デコーダは、モーションベクトルおよびモーションベクトルオフセットを受信する。逆に言えば、参照フレームにとって利用可能なマルチスケール情報が無い場合、工程2550において、(オフセット無しの)モーションベクトルが、デコーダによって受信される。
Referring to FIG. 25, in step 2510, the decoder determines whether the reference frame is a key frame (ie, a frame that is not defined in relation to any other frame). If the reference frame is a key frame, there is no information related to the previous motion that is the potential grouping of the segment. However, when such information is available, the decoder attempts to use multiscale information as a segment grouping target. In
しかし、工程2510においてデコーダが第1のフレームはキーフレームではないと判定した場合、工程2560において、デコーダは、以下に説明するようなモーションベクトルグループ化ルーチンを実行する。このモーションベクトルグループ化ルーチンの代わりにまたはこのモーションベクトルグループ化ルーチンに加えて、デコーダは、上述したマルチスケールグループ化を用いることもできる。
However, if in step 2510 the decoder determines that the first frame is not a key frame, then in
図26は、モーションベクトルグループ化ルーチンを示す。工程2610において、デコーダは、各セグメントの以前のモーションベクトルを検討する。工程2620において、デコーダは、類似の以前のモーションベクトルを有するセグメントを共にグループ化する。工程2630において、デコーダは、グループモーションが予測可能か否かを判定する。グループモーションが予測不可能な場合、工程2680において、デコーダは、モーションベクトルおよびオフセット(但し、もし有れば)を受信し、次いで工程2660へと進む。グループモーションが予測可能な場合、デコーダは、工程2640においてグループモーションを予測し、次いで、工程2650において予測修正を受信し、次いで工程2660へと進む。工程2660において、デコーダは、他にグループが有るか否かを判定する。他にグループが有る場合、デコーダは、工程2670において次のグループを検討し、工程2630へと進む。他にグループが無い場合、ルーチンは終了する。
FIG. 26 shows a motion vector grouping routine. In
(3.4 残余部)
モーション関連情報を受信した後、デコーダは、残余部情報を受信する。残余部は2種類(すなわち、バックグラウンド残余部およびローカル残余部)に分類される。
(3.4 Residual part)
After receiving the motion related information, the decoder receives residual information. The remaining part is classified into two types (ie, background residual part and local residual part).
(3.4.1 バックグラウンド残余部)
図16に示すように、車両が移動すると、以前に隠蔽または遮断されたいた領域がはじめて可視状態となる。デコーダは、これらの領域の場所を認識しており、これらの領域を、所定の順序化スキームを用いて順序化する。図16において、3つの領域の遮断が無くなり、特に、車両の背後および2つの車輪の背後の部分の遮断が無くなる。これらの領域に、領域1601〜1603として印を付ける。
(3.4.1 Background remainder)
As shown in FIG. 16, when the vehicle moves, the area previously concealed or blocked becomes visible for the first time. The decoder knows the location of these areas and orders these areas using a predetermined ordering scheme. In FIG. 16, the three areas are not blocked, and in particular, the areas behind the vehicle and behind the two wheels are not blocked. These areas are marked as areas 1601-1603.
図27を参照して、工程2710において、デコーダは、バックグラウンド残余部領域を検討し、次いで、工程2720において領域を順序化する。工程2730において、デコーダは、第1のバックグラウンド残余部領域の構造について数学的予測を行う。工程2740において、デコーダは、予測がいかに充分であるかおよび修正が必要であるかを示すフラグを受信する。工程2750において、デコーダは、予測が充分か否かについて判定を行う。予測が充分である場合、ルーチンは工程2770へと進む。予測が充分でない場合、工程2760において、デコーダは、符号化された領域と符号化方式を示すフラグとを受信し、必要に応じて再構築を行い、次いで、工程2770へと進む。工程2770において、デコーダは、他にバックグラウンド残余部領域が有るか否かを判定する。他にバックグラウンド残余部領域が有る場合、デコーダは、工程2780において、次の領域を検討し、工程2730へと進む。そうでない場合、ルーチンは終了する。
Referring to FIG. 27, at
(3.4.2 ローカル残余部)
残余部情報は、不正確なマッチングから生じた情報および新規情報の外観からなる。図18において、車両および太陽は、フレーム1802のものの方がフレーム1801のものよりも小さく見える。残余部の構造は、新規セグメントと以前のセグメントととの間の差異の程度によって異なる。デコーダは、ローカル残余部の大部分がセグメントの境界に露出することを認識している。デコーダの有する構造情報(例えば、セグメント境界の位置)に関するデコーダの知識を考慮に入れて、ローカル残余部符号化の効率を高めることが可能である。
(3.4.2 Local remainder)
The residual information consists of information resulting from incorrect matching and the appearance of new information. In FIG. 18, the vehicle and the sun appear smaller in the
図28を参照して、工程2810において、デコーダは、第1のセグメントを検討する。工程2820において、デコーダは、(必要ならば)符号化方法を示すフラグを受信し、当該セグメントの符号化されたローカル残余部を受信する。工程2830において、デコーダは、他にもセグメントが有るか否かを判定する。他にもセグメントが有る場合、デコーダは、工程2840において次のセグメントを検討し、次いで、工程2820へと進む。そうでない場合、ルーチンは終了する。
Referring to FIG. 28, at
(3.4 Z−順序化)
Z−順序化は、画像フレーム内の各セグメントの深さ位置を示す。デコーダは、Z−順序化情報を用いて、完璧に可視状態になるセグメントと、部分的または完全に隠蔽されるセグメントとを判定する。
(3.4 Z-ordering)
Z-ordering indicates the depth position of each segment in the image frame. The decoder uses the Z-ordering information to determine which segments are completely visible and which are partially or completely hidden.
(3.5 再構築)
最後に、判定されたモーション関連情報および残余部に基づき、フレームを再構築する。
(3.5 Restructuring)
Finally, the frame is reconstructed based on the determined motion related information and the remaining part.
(3.6 特殊命令およびオブジェクトベースの操作)
画像に関する構造情報に加えて、デコーダは、ビットストリーム中に埋め込まれ、様々なセグメントと関連付けられたコマンドを受信および実行することが可能である。エンコーダおよびデコーダが同期され、同じ参照フレームで動作する場合、エンコーダは、コマンドと関連付けられた構造情報を伝送しなくてよい。また、ユーザ駆動型イベント(例えば、マウスのクリック)が発生するまで、埋め込まれたコマンドを一時停止状態に保持することも可能である。
(3.6 Special instructions and object-based operations)
In addition to structural information about the image, the decoder can receive and execute commands embedded in the bitstream and associated with various segments. If the encoder and decoder are synchronized and operate on the same reference frame, the encoder may not transmit structure information associated with the command. It is also possible to hold the embedded command in a paused state until a user-driven event (eg, mouse click) occurs.
図29は、本発明の1つの実施形態による、埋設コマンドを処理するプロシージャを示す。工程2910において、デコーダは、第1のセグメントを検討する。工程2920において、デコーダは、特殊命令フラグを受信する。工程2930において、デコーダは、当該セグメントと関連付けられた特殊な命令またはコマンドが有るか否かを判定する。当該セグメントと関連付けられた特殊な命令またはコマンドが有る場合、デコーダは、工程2940においてコマンド(単数または複数)を受信し、次いで、工程2950へと進む。そうでない場合、デコーダは、工程2950へと直接進み、他にもセグメントが有るか否かを判定する。他にもセグメントが有る場合、デコーダは、工程2960において次のセグメントを検討し、その後工程2920へと戻る。他にセグメントが無い場合、ルーチンは終了する。
FIG. 29 illustrates a procedure for processing an embedded command according to one embodiment of the present invention. In
図30は、本発明の1つの実施形態による、ユーザ駆動型イベントを処理するプロシージャを示すフローチャートである。工程3010において、デコーダは、ユーザ駆動型イベントが発生したか否かを判定する。ユーザ駆動型イベントが発生した場合、工程3020において、デコーダは、当該ユーザ駆動型イベントがどのセグメントを参照したか判定する。次いで、工程3030において、関連するコマンドが実行される。次いで、工程3040において、デコーダは、終了シーケンスが発生したか否かを判定する。終了シーケンスが発生した場合、工程3010においてツールが再開する。そうでない場合、ルーチンは終了する。
FIG. 30 is a flowchart illustrating a procedure for handling user-driven events according to one embodiment of the invention. In
工程3010においてデコーダがユーザ駆動型イベントが発生しなかったと判定した場合、デコーダは、工程3040へと直接進む。
If, at
デコーダが有するセグメント化等の構造情報を計算する能力を利用して、構造情報に添付され得る特殊命令と共に構造情報の大部分を送らなければならないオーバーヘッドを大幅に低減することが可能である。 Utilizing the decoder's ability to compute structure information such as segmentation, it is possible to significantly reduce the overhead that must be sent in the majority of the structure information along with special instructions that can be attached to the structure information.
例えば、別個のセグメントによって表される画像中のオブジェクトまたは異なるフィーチャは、別個のエンティティとして便利に操作可能である。このような操作として、(a)フレーム内の編集、(b)他の画像またはアプリケーションへのエクスポート、および(c)ユーザ入力に基づいた双方向オペレーション等がある(ただし、これらに限定されない)。エンコーダおよびデコーダを同期させるシステムにおいて、操作されたオブジェクトまたはフィーチャをすぐに再符号化して、これにより、現在の映像ストリームまたはいくつかの他の映像ストリームに再導入することが可能である。このような様式で、本発明の技術は、従来の映像符号化のビットまたは画素の利用による制約の問題を解消し、従来の映像符号化を、実際のオブジェクトのモデル化のためのツールとして有用なものにする。 For example, objects or different features in an image represented by separate segments can be conveniently manipulated as separate entities. Such operations include (but are not limited to) (a) editing within a frame, (b) exporting to other images or applications, and (c) interactive operations based on user input. In a system that synchronizes the encoder and decoder, the manipulated object or feature can be immediately re-encoded and thereby re-introduced into the current video stream or some other video stream. In this manner, the technique of the present invention solves the problem of limitations due to the use of conventional video coding bits or pixels, and makes conventional video coding useful as a tool for modeling actual objects. Make things.
あるいは、デコーダは、映像フレームの構造情報を判定した後、第2の映像フレームを描画するために用いられ得る基本的機能の最良の組み合わせを判定する。次いで、デコーダは、エンコーダから係数を受信し、第2の画像フレームを再構築する。エンコーダおよびデコーダはどちらとも、利用可能な構造情報からの同一の基本的機能を独立して作成および順序化するため、基本的機能の係数のみを伝送するだけでよい。これは、適応型符号化または適応型変換符号化方法である。 Alternatively, the decoder determines the best combination of basic functions that can be used to render the second video frame after determining the structural information of the video frame. The decoder then receives the coefficients from the encoder and reconstructs the second image frame. Since both the encoder and the decoder independently create and order the same basic function from the available structural information, only the basic function coefficients need be transmitted. This is an adaptive coding or adaptive transform coding method.
(4.0 映像フォーマット)
本明細書中に開示される本発明では、映像データを伝送するための新規な映像フォーマットについても説明した。この映像フォーマットは、画像フレームの構造情報に関連付けられた動力学情報からなる。この構造情報としては、例えば、モーションに関連する情報、残余部情報、および特殊命令がある(ただし、これらに限定されない)。
(4.0 video format)
In the present invention disclosed in this specification, a novel video format for transmitting video data has also been described. This video format consists of dynamic information associated with the structure information of the image frame. Examples of the structure information include, but are not limited to, information related to motion, residual information, and special instructions.
あるいは、この新規映像フォーマットは、基本的機能の組み合わせから導出される係数のシーケンスからなり得る。 Alternatively, the new video format may consist of a sequence of coefficients derived from a combination of basic functions.
(5.0 結論)
上記のセクションにおいて、フローチャートを用いて、エンコーダおよびデコーダの動作について主に説明してきた。説明は、当業者がこれらのエンコーダおよびデコーダを実質的に任意のコンピュータベースの環境でインプリメントできるように行った。このようなインプリメンテーションは、特定のソフトウェア環境および/またはハードウェア環境に限定されない。例えば、このようなインプリメンテーションは、実質的に任意のプログラミング言語を用いて、一連の機能モジュール(例えば、I/Oモジュール、モーションマッチングモジュール、残余部モジュール等)として、ソフトウェア全体として汎用コンピュータ上にインプリメント可能である。あるいは、より高速な動作が得られるよう、このようなインプリメンテーションをハードウェア全体として(例えば、カスタムVLSIチップとして)インプリメントすることも可能である。さらに他のインプリメンテーションが、(特定の速度、コスト、および特定の動作環境の伝送ニーズによって判定する)実質的に任意のソフトウェアおよびハードウェアの組み合わせを含み得る。
(5.0 Conclusion)
In the above section, the operation of the encoder and decoder has been mainly described using flowcharts. The description has been made to enable those skilled in the art to implement these encoders and decoders in virtually any computer-based environment. Such an implementation is not limited to a particular software and / or hardware environment. For example, such an implementation can be implemented on a general purpose computer as a whole software as a series of functional modules (eg, I / O modules, motion matching modules, residual modules, etc.) using virtually any programming language. Can be implemented. Alternatively, such an implementation can be implemented as whole hardware (eg, as a custom VLSI chip) to provide faster operation. Still other implementations may include virtually any software and hardware combination (determined by the particular speed, cost, and transmission needs of a particular operating environment).
上記の記載は全て、本発明の例示的実施形態および用途を示したものであり、これらの記載から得られる関連する改変、改良および変更は、本発明の意図および範囲を逸脱することなく、当業者にとって明らかである。従って、本発明は、上記の開示内容に限定されるのではなく、本明細書中の特許請求の範囲によって解釈されるべきである。 The foregoing descriptions are all illustrative of exemplary embodiments and applications of the invention, and related modifications, improvements, and changes resulting from these descriptions can be made without departing from the spirit and scope of the invention. It is clear to the contractor. Accordingly, the invention is not to be limited to the above disclosure, but is to be construed according to the claims that follow.
100 エンコーダ
300 デコーダ
1001−1008 セグメント
1110、1120 フレーム
1801、1802 フレーム
100 Encoder 300 Decoder 1001-1008
Claims (18)
a)第1のフレームおよび第2のフレームを含む前記映像情報を受信するように動作可能な入力と、
b)前記第1のフレームをセグメント化するように動作可能なセグメンタであって、該第1のフレームのセグメント化は、画素値または画像内容に基づく前記第1のフレームの画素とセグメントとの関連付けを表す、セグメンタと、
c)前記第1のフレームから前記第2のフレームへの画像セグメントの位置の変化を表す動力学情報を生成するように動作可能な動力学情報生成器と、
d)前記第1のフレームを符号化して、第1の符号化フレームを形成する論理と、
e)前記第2のフレームを符号化して、第2の符号化フレームを形成する論理であって、該第2の符号化フレームは、前記動力学情報のうちの少なくとも一部を含む、論理と、
を備えるエンコーダと、
a)前記第1の符号化フレームおよび前記第2の符号化フレームを受信する入力と、
b)前記第1の符号化フレームを復号化して、第1の再構築されたフレームを形成する論理と、
c)前記第1の再構築されたフレームの少なくとも一部をセグメント化して複数のセグメントを生成するように動作可能なセグメンタと、
d)前記デコーダの前記セグメンタによって生成された前記セグメント化と、前記第2の符号化フレームにおいて符号化された前記動力学情報の前記少なくとも一部とを用いて、該第2の符号化フレームを復号化して第2の再構築されたフレームを形成する論理と、
を備えるデコーダ
を備え、
前記セグメンタは、マルチスケールグループ化を用いて、少なくとも1つのセグメントを、該セグメントより小さなセグメントのグループから形成するように構成され、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、コーデック。
A codec that encodes video information and decodes the video information, the video information including a plurality of frames, and the frame represents an image of the video information,
a) an input operable to receive the video information comprising a first frame and a second frame;
b) a segmenter operable to segment the first frame, wherein the segmentation of the first frame is an association of pixels and segments of the first frame based on pixel values or image content Represents the segmenter,
c) a kinetic information generator operable to generate kinetic information representative of a change in position of an image segment from the first frame to the second frame;
d) logic to encode the first frame to form a first encoded frame;
e) logic to encode the second frame to form a second encoded frame, wherein the second encoded frame includes at least a portion of the dynamic information; ,
An encoder comprising:
a) an input for receiving the first encoded frame and the second encoded frame;
b) logic to decode the first encoded frame to form a first reconstructed frame;
c) a segmenter operable to segment at least a portion of the first reconstructed frame to generate a plurality of segments;
d) using the segmentation generated by the segmenter of the decoder and the at least part of the kinetic information encoded in the second encoded frame to determine the second encoded frame Logic to decrypt to form a second reconstructed frame;
Comprising a decoder comprising
The segmenter is configured to form at least one segment from a group of segments smaller than the segment using multi-scale grouping, each of the smaller segments being invisible on a sparse scale, A codec that becomes visible when grouped.
少なくとも第1のフレームおよび第2のフレームを含む映像情報を受信する入力部と、
前記第1のフレームを符号化して、第1の符号化フレームを形成する論理と、
第1の再構築されたフレームを判定する論理であって、該第1の再構築されたフレームは、前記第1の符号化フレームの復号化から得られるフレームである、論理と、
少なくとも前記第1の再構築されたフレームをセグメント化して複数のセグメントを生成するセグメンタであって、セグメント化は、少なくとも画素値または画像内容に基づくフレームの画素とセグメントとの関連付けを表す、セグメンタと、
前記第1の再構築されたフレームと前記第2のフレームとの間のセグメントの位置の変化を表す動力学情報を生成する動力学情報生成器と、
前記第2のフレームを符号化して、第2の符号化フレームを形成する論理であって、該第2の符号化フレームは、前記動力学情報の少なくとも一部を含み、かつ、前記第2のフレームが、前記第1の再構築されたフレームについて前記デコーダによって生成されたセグメント化情報を用いて、前記第2の符号化フレームから再構築可能となるように符号化される、論理
を備えるエンコーダであって、
前記セグメンタは、マルチスケールグループ化を用いて、少なくとも1つのセグメントを、該セグメントより小さなセグメントのグループから形成するように構成され、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、エンコーダ。 An encoder that encodes video information, wherein the video information includes at least a plurality of frames, each frame representing an image of the video information,
An input unit for receiving video information including at least a first frame and a second frame;
Logic to encode the first frame to form a first encoded frame;
Logic for determining a first reconstructed frame, wherein the first reconstructed frame is a frame obtained from decoding the first encoded frame;
A segmenter for segmenting at least the first reconstructed frame to generate a plurality of segments, wherein the segmentation represents an association of pixels and segments of a frame based on at least pixel values or image content; and ,
A kinetic information generator for generating kinetic information representing a change in the position of a segment between the first reconstructed frame and the second frame;
Logic encoding the second frame to form a second encoded frame, the second encoded frame including at least a portion of the dynamic information; and An encoder comprising logic, wherein a frame is encoded so as to be reconstructable from the second encoded frame using the segmentation information generated by the decoder for the first reconstructed frame Because
The segmenter is configured to form at least one segment from a group of segments smaller than the segment using multi-scale grouping, each of the smaller segments being invisible on a sparse scale, An encoder that becomes visible when grouped.
第1の符号化フレームおよび第2の符号化フレームを受信する入力と、
前記第1の符号化フレームを復号化して、第1の再構築されたフレームを形成する論理と、
少なくとも前記第1の再構築されたフレームをセグメント化して複数のセグメントを生成するセグメンタと、
前記デコーダのセグメンタによって生成されたセグメント化と、前記第2の符号化フレームにおいて符号化された動力学情報の少なくとも一部とを用いて、前記第2の符号化フレームを復号して、第2の再構築されたフレームを形成する論理
を備えるデコーダであって、
前記セグメンタは、マルチスケールグループ化を用いて、少なくとも1つのセグメントを、該セグメントより小さなセグメントのグループから形成するように構成され、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、デコーダ。 A decoder for decoding video information, the video information including at least a plurality of frames, each frame representing an image of the video information;
An input for receiving a first encoded frame and a second encoded frame;
Logic to decode the first encoded frame to form a first reconstructed frame;
A segmenter for segmenting at least the first reconstructed frame to generate a plurality of segments;
Decoding the second encoded frame using the segmentation generated by the segmenter of the decoder and at least part of the dynamic information encoded in the second encoded frame; A decoder comprising logic to form a reconstructed frame of
The segmenter is configured to form at least one segment from a group of segments smaller than the segment using multi-scale grouping, each of the smaller segments being invisible on a sparse scale, Decoder that becomes visible when grouped.
前記複数のフレーム中の第1のフレームを入手する工程と、
前記第1のフレームを符号化して符号化された第1のフレームを形成する行程と、
前記符号化された第1のフレームから前記第1のフレームを再構築して、再構築された第1のフレームを生成する行程と、
前記再構築された第1のフレームに関連するセグメント化情報を入手する工程と、
マルチスケールグループ化を用いて、少なくとも1つのセグメントを、該セグメントより小さなセグメントのグループから形成する行程であって、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
前記複数のフレーム中の第2のフレームを入手する工程と、
前記第2のフレームを符号化する行程と、
前記第1のフレームおよび前記第2のフレームの動力学情報を計算する工程であって、該動力学情報は、前記第1のフレームおよび前記第2のフレームのセグメントに関連する、工程と、
前記動力学情報の少なくとも一部を含む符号化された映像情報を生成する工程であって、前記第2のフレームが、前記再構築された第1のフレームに関する前記セグメント化情報を用いて、前記符号化された第2のフレームから再構築可能となるように符号化される、工程と、
を含む方法。 A method of encoding video information, wherein the video information includes a plurality of frames, each frame representing an image of the video information,
Obtaining a first frame of the plurality of frames;
Encoding the first frame to form an encoded first frame;
Reconstructing the first frame from the encoded first frame to generate a reconstructed first frame;
Obtaining segmentation information associated with the reconstructed first frame;
Using multi-scale grouping, the process of forming at least one segment from a group of smaller segments, each of which is invisible on a sparse scale, but is grouped And the process of becoming visible,
Obtaining a second frame of the plurality of frames;
Encoding the second frame;
Calculating dynamic information of the first frame and the second frame, wherein the dynamic information is associated with segments of the first frame and the second frame;
Generating encoded video information including at least a portion of the dynamic information, wherein the second frame uses the segmentation information for the reconstructed first frame, and Encoded to be reconstructable from the encoded second frame; and
Including methods.
符号化されたキーフレームを入手する工程と、
前記符号化されたキーフレームからキーフレームを再構築する工程と、
前記再構築されたキーフレームから該キーフレームに関するセグメント化情報を計算する工程であって、該セグメント化情報は、該キーフレームの画像内容に基づいて生成された該キーフレームの画像の複数のセグメントに関連する、工程と、
マルチスケールグループ化を用いて、少なくとも1つのセグメントを、該セグメントより小さなセグメントのグループから形成する行程であって、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
符号化された中間フレームを入手する工程であって、該中間フレームは、前記キーフレームと前記中間フレームとの間のセグメントに関連する動力学情報を含む、工程と、
前記動力学情報の少なくとも一部および前記セグメント化情報の少なくとも一部を用いて前記符号化された中間フレームから中間フレームを再構築する工程
を含む方法。
A method of decoding video information, wherein the video information includes at least a plurality of frames, each frame representing an image of the video information, and the plurality of frames at least a frame designated as a key frame. Including one,
Obtaining an encoded keyframe; and
Reconstructing a key frame from the encoded key frame;
Calculating segmentation information for the key frame from the reconstructed key frame, the segmentation information comprising a plurality of segments of the image of the key frame generated based on the image content of the key frame Related to the process,
Using multi-scale grouping, the process of forming at least one segment from a group of smaller segments, each of which is invisible on a sparse scale, but is grouped And the process of becoming visible,
Obtaining an encoded intermediate frame, the intermediate frame including kinetic information associated with a segment between the key frame and the intermediate frame;
Reconstructing an intermediate frame from the encoded intermediate frame using at least a portion of the dynamic information and at least a portion of the segmentation information.
映像情報の第1のフレームを符号化して符号化された第1のフレームを形成する行程であって、該映像情報は、複数のフレームを含み、各フレームは、該映像情報の画像を表す、行程と、
前記符号化された第1のフレームを再構築して、再構築された第1のフレームを形成する行程と、
前記再構築された第1のフレームをセグメント化して複数のセグメントを生成する行程であって、マルチスケールグループ化を用いて、少なくとも1つのセグメントを、該セグメントより小さなセグメントのグループから形成し、ここで、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
前記第1のフレームと前記映像情報の第2のフレームとの間のセグメントの位置の差異を少なくとも表すモーション情報を用いて前記第2のフレームを符号化する行程と、
符号化された前記映像情報に、前記複数のセグメント中の1つのセグメントに関連付けられたコマンドを組み込む行程
を含む方法。
An encoding method of video information,
Encoding a first frame of video information to form an encoded first frame, wherein the video information includes a plurality of frames, each frame representing an image of the video information; The process,
Reconstructing the encoded first frame to form a reconstructed first frame;
Segmenting the reconstructed first frame to generate a plurality of segments using multi-scale grouping to form at least one segment from a group of segments smaller than the segment, wherein Each of the smaller segments is invisible on a sparse scale, but becomes visible when grouped; and
Encoding the second frame with motion information representing at least a segmental position difference between the first frame and the second frame of the video information;
A step of incorporating into the encoded video information a command associated with one of the plurality of segments.
映像情報の第1のフレームを符号化する行程であって、該映像情報は、少なくとも複数のフレームを含み、各フレームは、該映像情報の画像を表す、行程と、
前記符号化された第1のフレームを再構築して、再構築された第1のフレームを生成する行程と、
前記再構築された第1のフレームをセグメント化して複数のセグメントを生成する行程であって、マルチスケールグループ化を用いて、少なくとも1つのセグメントを、該セグメントより小さなセグメントのグループから形成し、ここで、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
前記第1のフレームに対する前記映像情報の第2のフレームの画像内容を示す一組の基底関数の係数を用いて前記第2のフレームを符号化する行程であって、前記一組の基底関数はセグメント化に関連する、行程と、
符号化された前記映像情報に、前記複数のセグメント中の1つのセグメントに関連付けられたコマンドを組み込む行程
を含む方法。 An encoding method of video information,
A process of encoding a first frame of video information, the video information including at least a plurality of frames, wherein each frame represents an image of the video information;
Reconstructing the encoded first frame to generate a reconstructed first frame;
Segmenting the reconstructed first frame to generate a plurality of segments using multi-scale grouping to form at least one segment from a group of segments smaller than the segment, wherein Each of the smaller segments is invisible on a sparse scale, but becomes visible when grouped; and
Encoding the second frame using a set of basis function coefficients indicating the image content of the second frame of the video information for the first frame, wherein the set of basis functions is Processes related to segmentation, and
A step of incorporating into the encoded video information a command associated with one of the plurality of segments.
映像情報の第1のフレームを符号化する行程であって、該映像情報は、少なくとも複数のフレームを含み、各フレームは、該映像情報の画像を表す、行程と、
前記符号化された第1のフレームを再構築して、再構築された第1のフレームを生成する行程と、
前記再構築された第1のフレームをセグメント化して複数のセグメントを生成する行程と、
マルチスケールグループ化を用いて、少なくとも1つのセグメントを、該セグメントより小さなセグメントのグループから形成する行程であって、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
前記第1のフレームと前記映像情報の第2のフレームとの間の画像のセグメントの位置の差を少なくとも表わす情報を用いて、前記第2のフレームを符号化する行程と、
符号化された前記映像情報に、前記複数のセグメント中の1つのセグメントに関連付けられたコマンドを組み込む行程
を含む方法。 An encoding method of video information,
A process of encoding a first frame of video information, the video information including at least a plurality of frames, wherein each frame represents an image of the video information;
Reconstructing the encoded first frame to generate a reconstructed first frame;
Segmenting the reconstructed first frame to generate a plurality of segments;
Using multi-scale grouping, the process of forming at least one segment from a group of smaller segments, each of which is invisible on a sparse scale, but is grouped And the process of becoming visible,
Encoding the second frame using information representing at least a difference in position of image segments between the first frame and the second frame of the video information;
A step of incorporating into the encoded video information a command associated with one of the plurality of segments.
映像情報の第1のフレームを符号化する行程であって、該映像情報は、少なくとも複数のフレームを含み、各フレームは該映像情報の画像を表わす、行程と、
前記符号化された第1のフレームを再構築して、再構築された第1のフレームを生成する行程と、
前記再構築された第1のフレームをセグメント化して複数のセグメントを生成する行程と、
マルチスケールグループ化を用いて、少なくとも1つのセグメントを、該セグメントより小さなセグメントのグループから形成する行程であって、該より小さなセグメントの各々は、疎なスケールでは不可視であるが、グループ化されると可視状態となる、行程と、
前記第1のフレームに対する前記映像情報の第2のフレームの画像内容を記述する基底関数のセットに対する係数を用いて前記第2のフレームを符号化する行程であって、前記基底関数のセットはセグメント化に関連する、行程と、
符号化された前記映像情報に、前記複数のセグメント中の1つのセグメントに関連付けられたコマンドを組み込む行程
を含む方法。
An encoding method of video information,
A process of encoding a first frame of video information, the video information including at least a plurality of frames, each frame representing an image of the video information;
Reconstructing the encoded first frame to generate a reconstructed first frame;
Segmenting the reconstructed first frame to generate a plurality of segments;
Using multi-scale grouping, the process of forming at least one segment from a group of smaller segments, each of which is invisible on a sparse scale, but is grouped And the process of becoming visible,
Encoding the second frame using coefficients for a set of basis functions describing image content of a second frame of the video information for the first frame, the set of basis functions comprising segments The process related to
A step of incorporating into the encoded video information a command associated with one of the plurality of segments.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12985499P | 1999-04-17 | 1999-04-17 | |
US60/129,854 | 1999-04-17 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000613180A Division JP4943586B2 (en) | 1999-04-17 | 2000-04-17 | Method and apparatus for efficient video processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011142663A JP2011142663A (en) | 2011-07-21 |
JP5130381B2 true JP5130381B2 (en) | 2013-01-30 |
Family
ID=22441924
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000613180A Expired - Fee Related JP4943586B2 (en) | 1999-04-17 | 2000-04-17 | Method and apparatus for efficient video processing |
JP2011038162A Expired - Fee Related JP5130381B2 (en) | 1999-04-17 | 2011-02-24 | Method and apparatus for efficient video processing |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000613180A Expired - Fee Related JP4943586B2 (en) | 1999-04-17 | 2000-04-17 | Method and apparatus for efficient video processing |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1180308A4 (en) |
JP (2) | JP4943586B2 (en) |
KR (1) | KR20020047031A (en) |
AU (2) | AU4468000A (en) |
IL (1) | IL145956A0 (en) |
WO (2) | WO2000064167A1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792390B2 (en) | 2000-12-19 | 2010-09-07 | Altera Corporation | Adaptive transforms |
WO2002051124A2 (en) | 2000-12-19 | 2002-06-27 | Pulsent Corporation | Deblurring and re-blurring image segments |
WO2002050774A2 (en) | 2000-12-20 | 2002-06-27 | Pulsent Corporation | Efficiently adaptive double pyramidal coding |
US7133566B2 (en) | 2000-12-20 | 2006-11-07 | Altera Corporation | Method of filling exposed areas in digital images |
US6690823B2 (en) | 2002-01-31 | 2004-02-10 | Pts Corporation | Method and apparatus for partitioning an arbitrarily-shaped area |
US6909749B2 (en) | 2002-07-15 | 2005-06-21 | Pts Corporation | Hierarchical segment-based motion vector encoding and decoding |
JP4070104B2 (en) | 2002-10-16 | 2008-04-02 | 独立行政法人情報通信研究機構 | Video encoding / decoding method, video encoding device, and video decoding device |
US7639741B1 (en) | 2002-12-06 | 2009-12-29 | Altera Corporation | Temporal filtering using object motion estimation |
KR101233589B1 (en) * | 2004-01-01 | 2013-02-22 | 디에스엠 아이피 어셋츠 비.브이. | Process for making high-performance polyethylene multifilament yarn |
KR20060088461A (en) | 2005-02-01 | 2006-08-04 | 엘지전자 주식회사 | Method and apparatus for deriving motion vectors of macro blocks from motion vectors of pictures of base layer when encoding/decoding video signal |
FR2917872A1 (en) * | 2007-06-25 | 2008-12-26 | France Telecom | METHODS AND DEVICES FOR ENCODING AND DECODING AN IMAGE SEQUENCE REPRESENTED USING MOTION TUBES, COMPUTER PROGRAM PRODUCTS AND CORRESPONDING SIGNAL. |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06197334A (en) * | 1992-07-03 | 1994-07-15 | Sony Corp | Picture signal coding method, picture signal decoding method, picture signal coder, picture signal decoder and picture signal recording medium |
TW301098B (en) * | 1993-03-31 | 1997-03-21 | Sony Co Ltd | |
US5703646A (en) * | 1993-04-09 | 1997-12-30 | Sony Corporation | Picture encoding method, picture encoding apparatus and picture recording medium |
JPH0746595A (en) * | 1993-05-21 | 1995-02-14 | Nippon Telegr & Teleph Corp <Ntt> | Moving image encoder and decoder |
EP0625853B1 (en) * | 1993-05-21 | 1999-03-03 | Nippon Telegraph And Telephone Corporation | Moving image encoder and decoder |
WO1996036163A2 (en) * | 1995-05-08 | 1996-11-14 | Digimarc Corporation | Steganography systems |
US5654760A (en) * | 1994-03-30 | 1997-08-05 | Sony Corporation | Selection of quantization step size in accordance with predicted quantization noise |
EP0720373A1 (en) * | 1994-12-30 | 1996-07-03 | Daewoo Electronics Co., Ltd | Method and apparatus for encoding a video signal using region-based motion vectors |
JP4223571B2 (en) * | 1995-05-02 | 2009-02-12 | ソニー株式会社 | Image coding method and apparatus |
US5812787A (en) * | 1995-06-30 | 1998-09-22 | Intel Corporation | Video coding scheme with foreground/background separation |
WO1997005746A2 (en) * | 1995-08-02 | 1997-02-13 | Philips Electronics N.V. | Method and system for coding an image sequence, corresponding coded signal and storage medium, and method and system for decoding such a coded signal |
US6026182A (en) * | 1995-10-05 | 2000-02-15 | Microsoft Corporation | Feature segmentation |
JPH09161071A (en) * | 1995-12-12 | 1997-06-20 | Sony Corp | Device and method for making areas correspond to each other |
KR19990072122A (en) * | 1995-12-12 | 1999-09-27 | 바자니 크레이그 에스 | Method and apparatus for real-time image transmission |
US6057884A (en) * | 1997-06-05 | 2000-05-02 | General Instrument Corporation | Temporal and spatial scaleable coding for video object planes |
-
2000
- 2000-04-17 AU AU44680/00A patent/AU4468000A/en not_active Abandoned
- 2000-04-17 AU AU44685/00A patent/AU4468500A/en not_active Abandoned
- 2000-04-17 WO PCT/US2000/010439 patent/WO2000064167A1/en not_active Application Discontinuation
- 2000-04-17 EP EP00926096A patent/EP1180308A4/en not_active Withdrawn
- 2000-04-17 IL IL14595600A patent/IL145956A0/en unknown
- 2000-04-17 JP JP2000613180A patent/JP4943586B2/en not_active Expired - Fee Related
- 2000-04-17 KR KR1020017013264A patent/KR20020047031A/en not_active Application Discontinuation
- 2000-04-17 WO PCT/US2000/010451 patent/WO2000064148A1/en active Application Filing
-
2011
- 2011-02-24 JP JP2011038162A patent/JP5130381B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011142663A (en) | 2011-07-21 |
EP1180308A4 (en) | 2009-12-23 |
EP1180308A1 (en) | 2002-02-20 |
WO2000064148A9 (en) | 2002-05-02 |
KR20020047031A (en) | 2002-06-21 |
IL145956A0 (en) | 2002-07-25 |
WO2000064167A1 (en) | 2000-10-26 |
JP2003524314A (en) | 2003-08-12 |
WO2000064148A1 (en) | 2000-10-26 |
JP4943586B2 (en) | 2012-05-30 |
AU4468500A (en) | 2000-11-02 |
AU4468000A (en) | 2000-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6600786B1 (en) | Method and apparatus for efficient video processing | |
JP5130381B2 (en) | Method and apparatus for efficient video processing | |
US5594504A (en) | Predictive video coding using a motion vector updating routine | |
JP4377455B2 (en) | Sprite encoding | |
JP4572010B2 (en) | Methods for sprite generation for object-based coding systems using masks and rounded averages | |
US7643690B2 (en) | Image decoding and encoding apparatus, method and computer readable storage medium | |
US9547916B2 (en) | Segment-based encoding system including segment-specific metadata | |
US6771704B1 (en) | Obscuring video signals for conditional access | |
US20040001544A1 (en) | Motion estimation/compensation for screen capture video | |
JPH08214318A (en) | Method and apparatus for region-based approach to encoding of video signal sequence | |
JP2002514866A (en) | Method and apparatus for increasing video frame rate | |
JP2003533101A (en) | Transcoding method and transcoder for transcoding a prediction-encoded object-based image signal into a prediction-encoded block-based image signal | |
JP3852989B2 (en) | Outline coding method and apparatus thereof | |
KR100209409B1 (en) | Object-based encoding method and apparatus using an object warping | |
KR0159370B1 (en) | Method and apparatus for encoding a video signals using a boundary of an object | |
JPH09331536A (en) | Error correction decoder and error correction decoding method | |
KR100212559B1 (en) | The contour coding system and motion prediction method for object | |
KR100240344B1 (en) | Adaptive vertex coding apparatus and method | |
Strat | Object-based encoding: next-generation video compression | |
Schäfer et al. | Improving image compression—Is it worth the effort? | |
KR100203658B1 (en) | Apparatus for estimating motion of contour in object based encoding | |
Belloulata et al. | A new object-based fractal stereo codec with quadtree-based disparity or motion compensation | |
Li et al. | Extended signal-theoretic techniques for very low bit-rate video coding | |
JPH07264594A (en) | Motion compensative prediction encoding method for dynamic image | |
Cho et al. | Object-based very low bit-rate coding using motion parameter estimation based on multiple frame prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120928 |
|
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: 20121023 |
|
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: 20121105 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151109 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |