JP2011142663A - Method and apparatus for efficient video processing - Google Patents

Method and apparatus for efficient video processing Download PDF

Info

Publication number
JP2011142663A
JP2011142663A JP2011038162A JP2011038162A JP2011142663A JP 2011142663 A JP2011142663 A JP 2011142663A JP 2011038162 A JP2011038162 A JP 2011038162A JP 2011038162 A JP2011038162 A JP 2011038162A JP 2011142663 A JP2011142663 A JP 2011142663A
Authority
JP
Japan
Prior art keywords
frame
information
encoded
video information
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011038162A
Other languages
Japanese (ja)
Other versions
JP5130381B2 (en
Inventor
Adityo Prakash
プラカシュ,アディチョ
Eniko F Prakash
エフ. プラカシュ,エニコ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altera Corp
Original Assignee
Altera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Altera Corp filed Critical Altera Corp
Publication of JP2011142663A publication Critical patent/JP2011142663A/en
Application granted granted Critical
Publication of JP5130381B2 publication Critical patent/JP5130381B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/196Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Abstract

<P>PROBLEM TO BE SOLVED: To encode (and decode) video data exhibiting increased compression efficiency, reduced overhead and smaller encoded bitstreams. <P>SOLUTION: A corresponding encoder can produce an encoded bitstream with a greatly reduced overhead. The production process is performed by encoding a reference frame (102) based on structural information inherent to the image (e.g., image segmentation, geometry, color and/or brightness), and then predicting other frames relative to the structural information. Typically, the detail of a predicted frame would include kinetic information (e.g., segment motion data and/or associated residues representing information in previously occluded areas and/or inexact matches and appearance of new information, or portion of the segment evolution that is not captured by motion itself, and the like). <P>COPYRIGHT: (C)2011,JPO&INPIT

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, etc. 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 has been 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実施形態によるエンコーダのブロック図である。FIG. 1 is a block diagram of an encoder according to an embodiment of the present invention. 図2は、本発明の1実施形態によるエンコーダの動作を示すフローチャートである。FIG. 2 is a flowchart showing the operation of the encoder according to the embodiment of the present invention. 図3は、本発明の1実施形態によるデコーダのブロック図である。FIG. 3 is a block diagram of a decoder according to an embodiment of the present invention. 図4は、本発明の1実施形態によるデコーダの動作を示すフローチャートである。FIG. 4 is a flowchart illustrating an operation of the decoder according to the embodiment of the present invention. 図5aは、本発明の1実施形態によるコーデックのブロック図である。FIG. 5a is a block diagram of a codec according to an embodiment of the present invention. 図5bは、本発明の1実施形態によるコーデックのブロック図である。FIG. 5b is a block diagram of a codec according to an embodiment of the present invention. 図6は、本発明の1実施形態によるコーデックの動作を示すフローチャートである。FIG. 6 is a flowchart illustrating the operation of the codec according to an embodiment of the present invention. 図7は、レファレンスフレームの図である。FIG. 7 is a diagram of a reference frame. 図8は、本発明の1実施形態によるエンコーダがレファレンスフレームを最初に処理する手順を示すフローチャートである。FIG. 8 is a flowchart illustrating a procedure in which a reference frame is first processed by an encoder according to an embodiment of the present invention. 図9は、本発明の1実施形態によるエンコーダが再構成されたレファレンスフレームをセグメント化する手順を示すフローチャートである。FIG. 9 is a flowchart illustrating a procedure for segmenting a reconstructed reference frame by an encoder according to an embodiment of the present invention. 図10は、本発明の1実施形態によるセグメント化の図である。FIG. 10 is a diagram of segmentation according to one embodiment of the present invention. 図11は、本発明の1実施形態による動きマッチングの図である。FIG. 11 is a diagram of motion matching according to an embodiment of the present invention. 図12は、本発明の1実施形態によるエンコーダがグループ化が行われるかどうかを判定する手順を示すフローチャートである。FIG. 12 is a flowchart illustrating a procedure for determining whether grouping is performed by an encoder according to an embodiment of the present invention. 図13は、本発明の1実施形態による動きベクトルグループ化を示すフローチャートである。FIG. 13 is a flowchart illustrating motion vector grouping according to an embodiment of the present invention. 図14は、本発明の1実施形態による動き予測を示すフローチャートである。FIG. 14 is a flowchart illustrating motion prediction according to an embodiment of the present invention. 図15は、本発明の1実施形態による動きマルチスケールグループ化を示すフローチャートである。FIG. 15 is a flowchart illustrating motion multiscale grouping according to one embodiment of the invention. 図16は、セグメントの動きに起因して前に隠れていた領域が見えるようになる図である。FIG. 16 is a diagram in which a region hidden before due to the movement of the segment becomes visible. 図17は、本発明の1実施形態による前に隠れていた情報の構造を予測する手順を示すフローチャートである。FIG. 17 is a flowchart illustrating a procedure for predicting the structure of previously hidden information according to an embodiment of the present invention. 図18は、ローカル残余部の図である。FIG. 18 is a diagram of the local residual portion. 図19は、本発明の1実施形態によるローカル残余部をエンコードすることを示すフローチャートである。FIG. 19 is a flowchart illustrating encoding a local remainder according to an embodiment of the present invention. 図20は、本発明の1実施形態によるコマンドを埋め込むための手順を示すフローチャートである。FIG. 20 is a flowchart illustrating a procedure for embedding a command according to an embodiment of the present invention. 図21は、本発明の1実施形態によるフレームを送信するための手順を示すフローチャートである。FIG. 21 is a flowchart illustrating a procedure for transmitting a frame according to an embodiment of the present invention. 図22は、本発明の1実施形態によるデコーダがレファレンスフレームを受け取るプロセスを示すフローチャートである。FIG. 22 is a flowchart illustrating a process in which a decoder receives a reference frame according to an embodiment of the present invention. 図23は、本発明の1実施形態によるデコーダによるセグメント化を示すフローチャートである。FIG. 23 is a flowchart illustrating segmentation by a decoder according to an embodiment of the present invention. 図24は、本発明の1実施形態によるデコーダが動き関連情報を受け取る手順を示すフローチャートである。FIG. 24 is a flowchart illustrating a procedure in which a decoder receives motion related information according to an exemplary embodiment of the present invention. 図25は、本発明の1実施形態によるデコーダがグループ化が行われ得るかどうかを判定する手順を示すフローチャートである。FIG. 25 is a flowchart illustrating a procedure for determining whether a decoder can be grouped according to an embodiment of the present invention. 図26は、本発明の1実施形態によるデコーダが動きベクトルグループ化を行う手順を示すフローチャートである。FIG. 26 is a flowchart illustrating a procedure in which a decoder performs motion vector grouping according to an embodiment of the present invention. 図27は、本発明の1実施形態によるデコーダがバックグラウンド残余部を処理する手順を示すフローチャートである。FIG. 27 is a flowchart illustrating a procedure of processing a background residual by a decoder according to an embodiment of the present invention. 図28は、本発明の1実施形態によるデコーダがローカル残余部を処理する手順を示すフローチャートである。FIG. 28 is a flowchart illustrating a procedure of processing a local remainder by a decoder according to an embodiment of the present invention. 図29は、本発明の1実施形態によるコマンドを埋め込むための手順を示すフローチャートである。FIG. 29 is a flowchart illustrating a procedure for embedding a command according to an embodiment of the present invention. 図30は、本発明の1実施形態によるユーザ駆動型イベントを扱う手順を示すフローチャートである。FIG. 30 is a flowchart illustrating a procedure for handling user-driven events according to an embodiment of the present invention.

(具体的な実施形態の説明)
(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 functional block 102 of the encoder 100 encodes the image frame from step 201. In step 203, the image encoded from step 202 is reconstructed by functional block 103 of encoder 100 in the same manner that the decoder reconstructs the image. In step 204, functional block 104 of encoder 100 obtains structural information from the segmented, reconstructed image, that segment is of segment dynamics (eg, motion and / or residual data). Used as a basis for predicting subsequent frames from a viewpoint. A person skilled in the art how to perform image segmentation using techniques such as edge detection, edge linking, region merging, or watershed methods that need not be described in detail herein. Understand easily. Alternatively, step 203 is skipped and the encoder segments the original reference image frame from step 201. This eliminates the segment reconstruction step, which increases the efficiency of the encoder somewhat while providing a basis for predicting an image that is more similar to the image reconstructed at the decoder. To avoid. In step 205, the segments determined in step 204 are ordered by functional block 105 of encoder 100 in the same manner that the decoder orders the segments. In one embodiment, it is performed according to a predetermined standard ordering scheme known to both encoders and decoders.

ステップ206において、エンコーダ100の機能ブロック106は、セグメント化された参照フレームに対応してエンコードされるべき新しい(例えば、第2の)画像フレームを取得する。ステップ207において、ステップ204で生成されたセグメントのそれぞれに関する運動関連情報は、運動マッチングによってエンコーダ100の機能ブロック107によって判定される。すなわち、運動マッチングは、一方のフレームから他方のフレームまでの画像セグメントのロケーションの変化を判定するプロセスである。運動マッチングは、前方、後方および/またはシーケンシャルでないフレームに対し、適応され得る。   In step 206, the functional block 106 of the encoder 100 obtains a new (eg, second) image frame to be encoded corresponding to the segmented reference frame. In step 207, motion related information for each of the segments generated in step 204 is determined by function block 107 of encoder 100 by motion matching. That is, motion matching is the process of determining the change in location of an image segment from one frame to the other. Motion matching can be adapted for forward, backward and / or non-sequential frames.

ステップ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 functional block 115 of the encoder 100 encodes the background residue from step 212 and the local residue obtained from step 213. In one embodiment, the encoding may use one of many available techniques selected based on a particular residual structure that is immediately determined by the decoder.

第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 step 216, the encoder directly (eg, a video conference) (In application) or indirectly (eg, written to a storage medium to be decrypted for later playback) and transmitted. (A) a flag indicating that the frame is not a key frame, (b) motion related information for the segment, (c) background residual information if necessary (along with a flag indicating the coding technique used), And (d) local residual information if necessary (optionally with a flag indicating the coding technique used). After transmission, the encoder repeats this cycle beginning at step 206 with a new (eg, third) image frame to be encoded with respect to the previous reference frame. The previous reference frame may be an existing key frame or a non-key frame (ie, a reconstructed video frame). However, if the second image cannot be reasonably reconstructed primarily from motion related information with the aid of residual information, in step 217 the image is encoded as a key frame and the frame is a key frame. Is transmitted to the decoder together with a flag indicating. After transmission, the encoder repeats this cycle starting at step 203.

伝送はまた、機能ブロック118によって、フレームに関連付けられた任意の特定の命令の伝送を含み得る。   The transmission may also include the transmission of any specific instructions associated with the frame by function block 118.

あるいは、図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 functional block 301 of the decoder 300 receives an encoded image frame (eg, the encoded reference frame generated in step 202 of FIG. 2). In step 402, the encoded image frame from step 401 is reconstructed by functional block 302 of decoder 300 in the same manner as the encoder. In step 403, the reconstructed image frame structure information from step 402 is determined and ordered by functional block 303 of decoder 300 in the same manner as the encoder. In step 404, the decoder receives a flag from the encoder that describes whether the subsequent image frame (eg, see step 206 of the encoder descriptor) is a key frame. If it is a key frame, the decoder returns to step 401. If not, the decoder continues at step 405.

ステップ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 functional block 311 of the decoder 300 decodes the received background residual information. In step 412, predicted (calculated) background residual information, if any, is added to the received background residual information to determine overall background residual information, which is then Added to the second image frame.

ステップ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 function block 311. In step 414, the local residual locations are ordered in the same way that the encoders are ordered using a common predetermined standard ordering scheme. In step 415, the decoder receives the encoded local residual information and a flag indicating the coding method for each local residual location. In step 416, the decoder decodes the local residual information. In step 417, the decoded local residual information is added to the second frame. In step 418, functional block 318 of decoder 300 receives any particular instruction and adds the instruction to the second frame. In step 419, functional block 319 completes the reconstruction of the second frame.

ステップ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 step 602, the reference frame from step 602 is reconstructed by both the encoder and decoder. In step 603, the same segment in the reference frame is determined by both the encoder and the decoder. In step 604, the segments from step 603 are ordered in the same manner by both the encoder and decoder.

ステップ605において、エンコーダは新しい画像フレームを取得する。ステップ606において、エンコーダはステップ603からのセグメントの運動関連情報を、ステップ605から得たフレームにマッチングする運動によって判定する。ステップ607において、エンコーダは運動関連情報をエンコードする。   In step 605, the encoder obtains a new image frame. In step 606, the encoder determines the motion related information for the segment from step 603 by the motion matching the frame obtained from step 605. In step 607, the encoder encodes motion related information.

ステップ608において、ステップ606からの運動関連情報に基づいて、エンコーダは、第2フレームに現在露出する、以前には隠れていた領域(バックグラウンド残余部ロケーション)のロケーションを判定する。ステップ609において、エンコーダは、バックグラウンド残余部ロケーションを順序化させる。ステップ610において、エンコーダは、バックグラウンド残余部領域における画像を数学的に予測することを試みる。ステップ611において、エンコーダは、数学的予測が正しいか否かを、予測と実際のバックグラウンド残余部情報との差に基づいて判定する。エンコーダは、必要ならば追加のバックグラウンド残余部情報が計算されるように、この違いを送信する。   In step 608, based on the motion related information from step 606, the encoder determines the location of the previously hidden area (background residue location) that is currently exposed in the second frame. In step 609, the encoder orders the background residue locations. In step 610, the encoder attempts to mathematically predict the image in the background residual region. In step 611, the encoder determines whether the mathematical prediction is correct based on the difference between the prediction and the actual background residual information. The encoder sends this difference so that additional background residual information is calculated if necessary.

ステップ612において、ステップ606からの運動関連情報に基づいて、エンコーダは、ローカル残余部の構造情報を判定する。ステップ613において、ステップ612からのローカル残余部の構造的な情報は、エンコーダによって順序化される。ステップ614において、エンコーダはローカル残余部をエンコードする。   In step 612, based on the motion related information from step 606, the encoder determines structure information for the local remainder. In step 613, the structural information of the local remainder from step 612 is ordered by the encoder. In step 614, the encoder encodes the local remainder.

ステップ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 step 617, the decoder determines and orders the background residue locations in the same manner that the encoder did in steps 608 and 609. In step 618, the decoder performs the same prediction that the encoder made in step 610 for the background residual. In step 619, the encoder transmits the local residual information, if any, and a flag indicating the coding scheme, and the decoder receives. In step 620, the decoder determines and orders the local residual information in the same manner that the encoder did in steps 612 and 613. In step 621, the encoder transmits and the decoder receives a flag indicating the local residual information and coding scheme. In step 622, the particular command, if any, is transmitted and the decoder receives. In step 632, both the encoder and decoder similarly reconstruct the frame based on the dynamic information. If additional frames are encoded at step 624, the frame reconstructed at step 622 becomes the reference frame and the routine continues at step 605.

あるいは、エンコーダデコーダシステムは、第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 step 810, the encoder receives the frame shown in FIG. In step 820, the encoder encodes the frame. In step 830, the encoder transmits the encoded frame to the receiver (eg, to a decoder or storage medium for subsequent decoding). The encoder reconstructs the frame that was encoded in step 840.

(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 step 910, the encoder segments the reconstructed reference frame to determine image-specific structural features. Alternatively, in step 910, the encoder segments the original image frame for the same purpose. The encoder determines that the segments of FIG. 7 are car, rear wheel, front wheel, rear window, front window, road, sun, and background. Alternatively, in step 910, the encoder segments both the original frame and the reconstructed frame and determines the segmentation difference between the two frames. In this case, the encoder transmits this difference to the decoder as part of the motion related information. This difference is shown herein as segmentation enhancement.

ステップ920において、エンコーダは任意の予め決められた基準に基づいてセグメントを順序化し、図10に示されるように、セグメント1001から1008までそれぞれを表す。   In step 920, the encoder orders the segments based on any predetermined criteria, representing segments 1001 through 1008, respectively, as shown in FIG.

セグメント化は、本記載においてさらに説明されるように、エンコーダが効果的な運動マッチング、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 frame 1110 and the frame 1120. In frame 1110, there is a gray hot air balloon 1111, and in frame 1120, there is a white sphere 1122 next to the gray hot air balloon 1121. The gray hot air balloon 1121 is slightly smaller than the gray hot air balloon 1111 and is twisted. When the hot air balloon 1111 moves onto the white sphere 1122, the pixel value included in the white sphere 1122 in the frame 1120 is subtracted from the pixel value included in the gray hot air balloon 1121 in the frame 1110, and as a result, is not zero. The difference is obtained. Therefore, the gray hot air balloon and the white sphere do not match. However, when the gray hot air balloon 1110 moves onto the gray hot air balloon 1120, the gray hot air balloon 1121 in the frame 1120 is subtracted from the gray hot air balloon 1111 in the frame 1110. The result is mostly zero and close to zero. Thus, these two gray hot air balloons are considered matched.

(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 step 1230, the encoder determines whether there is multi-scale information available. If there is multiscale information available, then at step 1240, the multiscaling routine described below in section 2.3.4 is executed. If no multiscale information is available, at step 1250 the encoder does not perform segment grouping.

(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 step 1310 in FIG. 13 where previous motion data for each segment is considered. In step 1320, segments that show similar motion vectors are grouped.

(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 step 1510, the encoder considers, for example, the sparsest image scale (ie, the lowest resolution) for the frame, and at step 1520 determines the segments that remain visible. For such sparse image scales, only the largest and most dominant features (usually joined as the outline of the main object) remain visible and non-normal (usually corresponding to the features that make up the main object) The dominant segment becomes unrecognizable. In step 1530, segments that are invisible at the sparsest scale and that together contain a given visible segment are associated with a group. This is because small and invisible segments often share relationships with large objects and tend to have similar dynamic information. Therefore, a sparser scale image display is considered to represent a finer scale cluster. In step 1540, a determination is made. If there are more visible segments, at step 1550 the encoder considers the next segment and proceeds to step 1530. If there are no more visible segments, the multi-scaling grouping process ends.

上記の例示的実施形態では疎な画像スケールを用いたが、これは、もちろん、特定の画像に用いられる特定の範囲のマルチスケーリングに従う。別の例示的実施形態において一つ以上の他のスケールも利用可能であることは明らかである。   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 step 1410, the encoder considers a segment. In step 1420, the encoder determines whether there is previous motion related information for the segment, so that the motion can be predicted. The decoder predicts the motion or group of segments in the same or similar manner as the encoder. If there is no previous motion related information, the encoder proceeds to step 1460 as follows.

以前のモーション関連情報が有る場合、エンコーダは、工程1430においてセグメントのモーションを予測し、予測結果をセグメントの実際のモーションと比較する。モーションベクトルオフセットは初めは、工程1440において、実際のモーションベクトルと予測されたモーションベクトルとの間の差として計算される。工程1450において、エンコーダは、さらに、上記のモーションベクトルオフセットを、上記のモーションベクトルオフセットと関連する特徴的(またはグループ)モーションベクトルとの間の差として表す。   If there is previous motion related information, the encoder predicts the motion of the segment at step 1430 and compares the prediction result with the actual motion of the segment. The motion vector offset is initially calculated at step 1440 as the difference between the actual motion vector and the predicted motion vector. In step 1450, the encoder further represents the motion vector offset as a difference between the motion vector offset and the associated characteristic (or group) motion vector.

工程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 step 1330, the group motion vectors are obtained by calculating representative features of all motion vectors in the group. Thus, for each segment in the group, only the motion vector difference (ie, the difference between the segment's motion vector (if any) and the characteristic (or group) motion vector) is transmitted (step 1340). reference). An example of a characteristic motion vector is an average motion vector. Further improvements in motion vectors can be achieved using only motion prediction and the encoded motion offset for the predicted motion.

(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 areas 1601 to 1603, respectively.

図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 step 1720, the encoder orders the regions using a predetermined ordering system. In step 1730, using the information corresponding to the region (s) surrounding the region, the encoder makes a mathematical prediction on the structure of the previously concealed region. The encoder also accurately recognizes the image exposed in the area. Thus, in step 1740, the encoder examines the region and compares the predicted image with the actual image to determine if the mathematical prediction was sufficient. If the prediction result is not close to the actual image, at step 1770, the encoder encodes the region or difference and, at step 1780, stores the encoded information with a flag indicating the encoding mechanism. If the prediction result is close to the actual image, in step 1745, the encoder stores a flag to that effect.

工程1750において、エンコーダは、新規に遮断されていない領域がまだあるか否かを判定する。新規に遮断された領域がまだある場合、次の領域が検討され、ルーチンは工程1760へと進み、そうでない場合、ルーチンは終了する。   In step 1750, the encoder determines whether there are any new unblocked regions. If there are still new blocked areas, the next area is considered and the routine proceeds to step 1760, otherwise the routine ends.

(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 frame 1802 than in the frame 1801. The structure of the residual information depends on the degree of difference between the new segment and the previous segment, and can be a well-defined region, a set of regions, or a mottled shape. Ideally, different types of encoding methods are used depending on the type of local residue. Since the decoder recognizes the segment motion, it recognizes where many of the local residuals are located. The encoder uses the knowledge about the structure information of the decoder (eg, segment boundary positions that can be considered) to improve the efficiency of local residual coding.

図19を参照して、工程1910において、エンコーダは、ローカル残余部の位置を判定する。工程1920において、エンコーダは、所定の順序化方式を用いて、ローカル残余部が発生した領域を順序化する。工程1930において、エンコーダは、第1のローカル残余部を検討して、そのローカル残余部を符号化する最も効率的な方法を判定し、次いで、工程1940においてそのローカル残余部を符号化する。工程1950において、エンコーダは、符号化された残余部と、符号化メカニズムを示すフラグとを格納する。工程1960においてまだローカル残余部の位置が有る場合、工程1970において、次のローカル残余部の位置を検討して、ルーチンは工程1940へと進む。ローカル残余部の位置が無い場合、ルーチンは終了する。   Referring to FIG. 19, in step 1910, the encoder determines the position of the local residue. In step 1920, the encoder orders the areas where local residuals have occurred using a predetermined ordering scheme. In step 1930, the encoder reviews the first local residue to determine the most efficient way to encode the local residue, and then in step 1940 encodes the local residue. In step 1950, the encoder stores the encoded remainder and a flag indicating the encoding mechanism. If at step 1960 there is still a local residue position, then at step 1970 the next local residue position is considered and the routine continues to step 1940. If there is no local residue position, the routine ends.

(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 step 2010, the encoder considers the first segment. In step 2020, the encoder transmits a special instruction flag. In step 2030, the encoder determines whether there is a special instruction for the segment. If there are special instructions for the segment, at step 2040 the instructions are transmitted to the decoder, and at step 2050 the encoder determines whether there are more segments. If there is no special instruction associated with the segment at step 1730, the encoder proceeds directly to step 2050. If there are more segments in step 2050, then in step 2060, the encoder considers the next segment in step 2060 and proceeds to step 2020, otherwise the routine ends.

(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 step 2110, the image can be reasonably reconstructed primarily from motion related information with assistance from residual information, in step 2190 the encoder performs dynamics for the frame. Transmit information. If it is not possible to reasonably reconstruct the image primarily from motion related information with assistance from the remainder information, the frame is encoded as a key frame and in step 2185 the dynamic information is discarded. .

(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 step 2210, the decoder receives an encoded reference frame. In step 2220, the decoder reconstructs the encoded reference frame.

工程2230において、デコーダは、キーフレームフラグを受信する。このフラグは、次のフレームがキーフレームであるか否かまたは次のフレームが動力学情報から再構築可能であるか否かを示す。次のフレームがキーフレームである場合、デコーダは工程2210へと戻り、次のフレームを受信する。次のフレームがキーフレームではない場合、このルーチンは終了する。   In step 2230, the decoder receives the key frame flag. This flag indicates whether the next frame is a key frame or whether the next frame can be reconstructed from the kinetic information. If the next frame is a key frame, the decoder returns to step 2210 to receive the next frame. If the next frame is not a key frame, the routine ends.

(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 step 2310, the decoder segments the reconstructed reference decoder to determine unique structural features of the image. For example, the decoder determines that the segments in FIG. 7 are vehicles, rear wheels, front wheels, rear windows, front windows, roads, sun, and background. In step 2320, the decoder orders the segments based on the same criteria used by the encoder and marks the segments 1001-1007 as shown in FIG.

(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 step 2410, the decoder considers one segment. In step 2420, the decoder determines whether there is previous motion data for the segment. If there is no previous motion data for the segment, the decoder proceeds to step 2450. If there is previous motion data for the segment, the decoder predicts the motion of the segment at step 2430, receives a motion vector modification at step 2440, and then proceeds to step 2450. In step 2450, the decoder determines whether there are more segments. If there are other segments, the decoder considers the next segment in step 2460 and then proceeds to step 2420. Otherwise, the routine ends.

関連するモーションを有するセグメントを共にグループ化し、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 step 2520, the decoder determines whether there is multiscale information available. If the reference frame is a key frame and there is multiscale information available to the decoder, then in step 2530, the decoder first uses the multiscale routine, as described above with respect to the encoder, to combine the related segments together. Group. Then, in step 2540, the decoder receives the motion vector and the motion vector offset. Conversely, if there is no multiscale information available for the reference frame, in step 2550, a motion vector (without offset) is received by the decoder.

しかし、工程2510においてデコーダが第1のフレームはキーフレームではないと判定した場合、工程2560において、デコーダは、以下に説明するようなモーションベクトルグループ化ルーチンを実行する。このモーションベクトルグループ化ルーチンの代わりにまたはこのモーションベクトルグループ化ルーチンに加えて、デコーダは、上述したマルチスケールグループ化を用いることもできる。   However, if in step 2510 the decoder determines that the first frame is not a key frame, then in step 2560 the decoder executes a motion vector grouping routine as described below. Instead of this motion vector grouping routine or in addition to this motion vector grouping routine, the decoder can also use the multi-scale grouping described above.

図26は、モーションベクトルグループ化ルーチンを示す。工程2610において、デコーダは、各セグメントの以前のモーションベクトルを検討する。工程2620において、デコーダは、類似の以前のモーションベクトルを有するセグメントを共にグループ化する。工程2630において、デコーダは、グループモーションが予測可能か否かを判定する。グループモーションが予測不可能な場合、工程2680において、デコーダは、モーションベクトルおよびオフセット(但し、もし有れば)を受信し、次いで工程2660へと進む。グループモーションが予測可能な場合、デコーダは、工程2640においてグループモーションを予測し、次いで、工程2650において予測修正を受信し、次いで工程2660へと進む。工程2660において、デコーダは、他にグループが有るか否かを判定する。他にグループが有る場合、デコーダは、工程2670において次のグループを検討し、工程2630へと進む。他にグループが無い場合、ルーチンは終了する。   FIG. 26 shows a motion vector grouping routine. In step 2610, the decoder considers the previous motion vector for each segment. In step 2620, the decoder groups together segments having similar previous motion vectors. In step 2630, the decoder determines whether the group motion is predictable. If the group motion is unpredictable, at step 2680, the decoder receives the motion vector and offset (if any) and then proceeds to step 2660. If the group motion is predictable, the decoder predicts the group motion at step 2640, then receives the prediction correction at step 2650 and then proceeds to step 2660. In step 2660, the decoder determines whether there are other groups. If there are other groups, the decoder considers the next group in step 2670 and proceeds to step 2630. If there are no other groups, the routine ends.

(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 step 2710, the decoder examines the background residual region and then orders the region at step 2720. In step 2730, the decoder performs a mathematical prediction on the structure of the first background residual region. In step 2740, the decoder receives a flag indicating how well the prediction is and correction is required. In step 2750, the decoder determines whether the prediction is sufficient. If the prediction is sufficient, the routine continues to step 2770. If the prediction is not sufficient, in step 2760, the decoder receives the encoded region and a flag indicating the encoding scheme, reconstructs if necessary, and then proceeds to step 2770. In step 2770, the decoder determines whether there are other background residual regions. If there are other background residual regions, the decoder considers the next region at step 2780 and proceeds to step 2730. Otherwise, the routine ends.

(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 frame 1802 than in the frame 1801. The structure of the remainder depends on the degree of difference between the new segment and the previous segment. The decoder knows that most of the local residue is exposed at the segment boundaries. It is possible to increase the efficiency of local residual coding, taking into account the decoder's knowledge regarding the structural information (eg, the position of segment boundaries) that the decoder has.

図28を参照して、工程2810において、デコーダは、第1のセグメントを検討する。工程2820において、デコーダは、(必要ならば)符号化方法を示すフラグを受信し、当該セグメントの符号化されたローカル残余部を受信する。工程2830において、デコーダは、他にもセグメントが有るか否かを判定する。他にもセグメントが有る場合、デコーダは、工程2840において次のセグメントを検討し、次いで、工程2820へと進む。そうでない場合、ルーチンは終了する。   Referring to FIG. 28, at step 2810, the decoder considers the first segment. In step 2820, the decoder receives a flag indicating the encoding method (if necessary) and receives the encoded local residual of the segment. In step 2830, the decoder determines whether there are more segments. If there are other segments, the decoder considers the next segment in step 2840 and then proceeds to step 2820. Otherwise, the routine ends.

(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 step 2910, the decoder considers the first segment. In step 2920, the decoder receives a special instruction flag. In step 2930, the decoder determines whether there are any special instructions or commands associated with the segment. If there is a special instruction or command associated with the segment, the decoder receives the command (s) at step 2940 and then proceeds to step 2950. Otherwise, the decoder proceeds directly to step 2950 and determines whether there are more segments. If there are other segments, the decoder considers the next segment in step 2960 and then returns to step 2920. If there are no other segments, the routine ends.

図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 step 3010, the decoder determines whether a user-driven event has occurred. If a user driven event has occurred, in step 3020, the decoder determines which segment the user driven event referred to. Then, in step 3030, the associated command is executed. Next, in step 3040, the decoder determines whether an end sequence has occurred. If an end sequence occurs, the tool resumes at step 3010. Otherwise, the routine ends.

工程3010においてデコーダがユーザ駆動型イベントが発生しなかったと判定した場合、デコーダは、工程3040へと直接進む。   If, at step 3010, the decoder determines that no user-driven event has occurred, the decoder proceeds directly to step 3040.

デコーダが有するセグメント化等の構造情報を計算する能力を利用して、構造情報に添付され得る特殊命令と共に構造情報の大部分を送らなければならないオーバーヘッドを大幅に低減することが可能である。   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 Segment 1110, 1120 Frame 1801, 1802 Frame

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 segment of the first frame associates a pixel with a segment of the first frame based on a pixel value or image content. Representing 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.
前記第2のフレームを符号化する差異論理を前記論理内にさらに備え、該差異論理は、前記第1の再構築されたフレームのセグメント化と前記第2のフレームのセグメント化との間の差異からなる残余部情報を用いるように動作可能である、請求項2に記載のエンコーダ。 Difference logic encoding the second frame is further included in the logic, wherein the difference logic is a difference between the segmentation of the first reconstructed frame and the segmentation of the second frame. The encoder of claim 2, wherein the encoder is operable to use residual information comprising: 映像情報を復号化するデコーダであって、該映像情報は、少なくとも複数のフレームを含み、各フレームは、該映像情報の画像を表し、
第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つのキーフレームを含む、請求項5に記載の方法。 The method of claim 5, wherein the encoded video information includes at least one key frame encoded independently of other frames in the plurality of frames. 前記生成する工程は、セグメント化情報を入手する前記工程において判定されたセグメント境界に対する画像内容の位置に適応させることによって前記複数のフレームの画像内容を適応的に符号化する工程を含む、請求項5に記載の方法。 The step of generating includes adaptively encoding the image content of the plurality of frames by adapting to the position of the image content relative to the segment boundary determined in the step of obtaining segmentation information. 5. The method according to 5. 映像情報を復号化する方法であって、該映像情報は、少なくとも複数のフレームを含み、各フレームは、該映像情報の画像を表し、該複数のフレームは、キーフレームとして指定されたフレームを少なくとも1つ含み、
符号化されたキーフレームを入手する工程と、
前記符号化されたキーフレームからキーフレームを再構築する工程と、
前記再構築されたキーフレームから該キーフレームに関するセグメント化情報を計算する工程であって、該セグメント化情報は、該キーフレームの画像内容に基づいて生成された該キーフレームの画像の複数のセグメントに関連する、工程と、
マルチスケールグループ化を用いて、少なくとも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 difference 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のフレームと前記映像情報の第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;
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のフレームに対する前記映像情報の第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;
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に記載のコーデック。 The codec of claim 1, wherein the encoder segmenter and the decoder segmenter are operable to generate the same segmentation for a given image frame. 前記エンコーダは、前記第1のフレームについてのセグメント化増強情報を生成するための論理を含み、前記デコーダは、少なくとも前記第1の再構築されたフレームのセグメント化を生成する際に使用するための前記セグメント化増強情報を復号化する論理を含む、請求項1に記載のコーデック。 The encoder includes logic for generating segmentation enhancement information for the first frame, and the decoder is for use in generating at least a segmentation of the first reconstructed frame. The codec of claim 1 including logic to decode the segmentation enhancement information. 前記エンコーダのセグメンタおよび前記デコーダのセグメンタは、セグメントの順序付けされたリストを生成し、および、所与の画像フレームについて同じ順序付けされたリストを生成する、請求項1に記載のコーデック。 The codec of claim 1, wherein the encoder segmenter and the decoder segmenter generate an ordered list of segments and the same ordered list for a given image frame. 前記エンコーダのセグメンタおよびデコーダのセグメンタは、セグメントを分類し、および、所与の画像フレームについて同じグループ化を生成する、請求項1に記載のコーデック。 The codec of claim 1, wherein the encoder segmenter and the decoder segmenter classify segments and generate the same grouping for a given image frame. 前記動力学情報は、複数のセグメントのグループに関連付けられたグループ動きベクトル、及び、該グループ内のセグメントに関連付けられた少なくとも1つの動きベクトルオフセットを含み、該少なくとも1つの動きベクトルオフセットは、前記グループの動きに対する前記セグメントの動きを表わす、請求項1に記載のコーデック。 The dynamic information includes a group motion vector associated with a group of segments and at least one motion vector offset associated with a segment within the group, the at least one motion vector offset comprising the group The codec according to claim 1, wherein the codec represents the movement of the segment with respect to the movement of the segment. 映像情報の符号化方法であって、
映像情報の第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つの適応可能な変換に基づく、請求項16に記載の方法。 The method of claim 16, wherein the information representing at least a segment position difference is based on at least one adaptive transformation of basis functions and dynamics information. 映像情報の符号化方法であって、
映像情報の第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.
JP2011038162A 1999-04-17 2011-02-24 Method and apparatus for efficient video processing Expired - Fee Related JP5130381B2 (en)

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 true JP2011142663A (en) 2011-07-21
JP5130381B2 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002235252A1 (en) 2000-12-19 2002-07-01 Pulsent Corporation Deblurring and re-blurring image segments
TW589870B (en) 2000-12-19 2004-06-01 Pts Corp Adaptive transforms
TWI233751B (en) * 2000-12-20 2005-06-01 Pts Corp Method of filling exposed areas in digital images
TW573433B (en) 2000-12-20 2004-01-21 Pulsent Corp Efficiently adaptive double pyramidal coding
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
ES2375278T3 (en) * 2004-01-01 2012-02-28 Dsm Ip Assets B.V. PROCEDURE TO PRODUCE HIGH PERFORMANCE POLYETHYLENE MULTIFILAMENT THREAD.
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.

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0746595A (en) * 1993-05-21 1995-02-14 Nippon Telegr & Teleph Corp <Ntt> Moving image encoder and decoder
WO1996036163A2 (en) * 1995-05-08 1996-11-14 Digimarc Corporation Steganography systems
WO1997022201A2 (en) * 1995-12-12 1997-06-19 The Board Of Trustees Of The University Of Illinois Method and system for transmitting real-time video
JPH09161071A (en) * 1995-12-12 1997-06-20 Sony Corp Device and method for making areas correspond to each other

Family Cites Families (11)

* Cited by examiner, † Cited by third party
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
DE69416717T2 (en) * 1993-05-21 1999-10-07 Nippon Telegraph & Telephone Moving picture encoders and decoders
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
EP0783820B1 (en) * 1995-08-02 2001-10-10 Koninklijke Philips Electronics N.V. Method and system for coding an image sequence
US5949919A (en) * 1995-10-05 1999-09-07 Microsoft Corporation Precompression extrapolation method
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0746595A (en) * 1993-05-21 1995-02-14 Nippon Telegr & Teleph Corp <Ntt> Moving image encoder and decoder
WO1996036163A2 (en) * 1995-05-08 1996-11-14 Digimarc Corporation Steganography systems
WO1997022201A2 (en) * 1995-12-12 1997-06-19 The Board Of Trustees Of The University Of Illinois Method and system for transmitting real-time video
JPH09161071A (en) * 1995-12-12 1997-06-20 Sony Corp Device and method for making areas correspond to each other

Also Published As

Publication number Publication date
JP2003524314A (en) 2003-08-12
AU4468000A (en) 2000-11-02
JP4943586B2 (en) 2012-05-30
JP5130381B2 (en) 2013-01-30
EP1180308A1 (en) 2002-02-20
IL145956A0 (en) 2002-07-25
WO2000064148A1 (en) 2000-10-26
KR20020047031A (en) 2002-06-21
EP1180308A4 (en) 2009-12-23
WO2000064148A9 (en) 2002-05-02
AU4468500A (en) 2000-11-02
WO2000064167A1 (en) 2000-10-26

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
JP4572010B2 (en) Methods for sprite generation for object-based coding systems using masks and rounded averages
JP4377455B2 (en) Sprite encoding
JP4326743B2 (en) Transcoding method and transcoder for transcoding predictive-encoded object-based image signal to predictive-encoded block-based image signal
US6272253B1 (en) Content-based video compression
US9547916B2 (en) Segment-based encoding system including segment-specific metadata
US6771704B1 (en) Obscuring video signals for conditional access
US20050193311A1 (en) Content-based video compression
US20040001544A1 (en) Motion estimation/compensation for screen capture video
JP2002514866A (en) Method and apparatus for increasing video frame rate
JPH08214318A (en) Method and apparatus for region-based approach to encoding of video signal sequence
JP3852989B2 (en) Outline coding method and apparatus thereof
US5706366A (en) Apparatus for encoding an image signal having a still object using an image warping technique
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
Watanabe et al. Sprite coding in object-based video coding standard: MPEG-4
KR100212559B1 (en) The contour coding system and motion prediction method for object
Stefanoski et al. Spatially and temporally scalable compression of animated 3D meshes with MPEG-4/FAMC
Strat Object-based encoding: next-generation video compression
KR100240344B1 (en) Adaptive vertex coding apparatus and method
Schäfer et al. Improving image compression—Is it worth the effort?
Ismaeil et al. An efficient, similarity-based error concealment method for block-based coded images
KR100203658B1 (en) Apparatus for estimating motion of contour in object based encoding

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