KR100828378B1 - Method and apparatus for transferring video frame in telecommunication system - Google Patents
Method and apparatus for transferring video frame in telecommunication system Download PDFInfo
- Publication number
- KR100828378B1 KR100828378B1 KR1020037001984A KR20037001984A KR100828378B1 KR 100828378 B1 KR100828378 B1 KR 100828378B1 KR 1020037001984 A KR1020037001984 A KR 1020037001984A KR 20037001984 A KR20037001984 A KR 20037001984A KR 100828378 B1 KR100828378 B1 KR 100828378B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- coded
- reference frame
- frame number
- motion data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
Abstract
본 발명은 통신 시스템에서 비디오 프레임들을 부호화하는 방법에 있어서, 연속 정지 프레임들의 비디오 프레임을 형성하는 단계, 참조 프레임으로서 적어도 하나의 프레임의 프레임 재구성(reconstruction) 데이터 및 이전에 부호화된 이웃 블록들의 움직임 데이터를 저장하는 단계, 하나 이상의 이전에 부호화된 이웃 블록들의 움직임 데이터에 의하여 부호화될 블록의 움직임 데이터를 정하는 단계로서, 상기 이웃 블록은 상기 저장된 참조 프레임에 의하여 형성되는 단계, 및 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율을 제공하는, 부호화될 블록을 나타내는 움직임 데이터 및 프레임 재구성 데이터를 정하는 단계를 포함하는 것을 특징으로 하는 비디오 프레임 부호화 방법을 제공한다.The present invention provides a method of encoding video frames in a communication system, comprising: forming a video frame of consecutive still frames, frame reconstruction data of at least one frame as a reference frame, and motion data of previously encoded neighboring blocks; Storing motion data, determining motion data of a block to be encoded by motion data of one or more previously encoded neighboring blocks, wherein the neighboring block is formed by the stored reference frame, and has a predetermined picture quality. And determining frame data and motion data indicating a block to be encoded, which provides a predetermined encoding efficiency.
Description
본 발명은 비디오 프레임이 일련의 연속 정지 프레임들로 구성되는 경우 통신 시스템에서 비디오 프레임을 부호화하고 복호화하는 방법 및 장치에 관한 것으로, 전송되는 프레임들은 전형적으로 프레임 블록들 또는 세그먼트들, 예를 들어 각 프레임에 대해 특정한 픽셀 그룹들로 분할되고 각 프레임 블록내의 데이터는 전형적으로 프레임 블록의 위치, 컬러 및 휘도를 나타내는 정보를 포함한다.The present invention relates to a method and apparatus for encoding and decoding a video frame in a communication system when the video frame consists of a series of continuous still frames, wherein the transmitted frames are typically frame blocks or segments, e.g. The data in each frame block is divided into pixel groups specific for the frame and typically contains information indicative of the position, color and luminance of the frame block.
비디오폰들, 영상 회의 시스템들 또는 인터넷 접속들과 같은, 통신 시스템들에서 비디오 프레임들을 전송하는 것은 힘든 일이다. 이것은 비디오 프레임을 전송하는데 필요한 많은 양의 데이터 때문으로, 데이터를 전송하는데 필요한 비트들이 더 많으면 많을수록, 더 높은 데이터 전송율이 되어야 하기 때문이다. 이 문제를 해결하기 위해 다양한 방법들이 개발되었다. 프레임을 전송하기 위하여, 프레임은 보통 그 크기가 시스템에 적합하도록 선택된 프레임 블록들로 분할된다. 프레임 블록 정보는 일반적으로 프레임 자체내의 프레임 블록의 위치, 컬러, 휘도에 대한 정보를 포함한다. 프레임 블록 데이터는 바람직한 부호화 방법을 사용하여 각 블록별로 압축된다. 압축은 덜 중요한 데이터를 제거하는데 기초를 둔다. 압축 방법들은 주로 3개의 클래스로 나뉜다: 스펙트럴 리던던시(spectral redundancy) 감소, 공간(spatial) 리던던시 감소 및 시간(temporal) 리던던시 감소. 전형적으로 이들 방법들의 다양한 조합들이 압축에 사용된다.It is difficult to transmit video frames in communication systems, such as videophones, video conferencing systems or Internet connections. This is because of the large amount of data required to transmit the video frame, since the more bits required to transmit the data, the higher the data rate should be. Various methods have been developed to solve this problem. In order to transmit a frame, a frame is usually divided into frame blocks whose size is selected for the system. Frame block information generally includes information on the position, color, and luminance of the frame block within the frame itself. Frame block data is compressed for each block using a preferred encoding method. Compression is based on removing less important data. Compression methods are mainly divided into three classes: reduced spectral redundancy, reduced spatial redundancy, and reduced temporal redundancy. Typically various combinations of these methods are used for compression.
예를 들어, YUV 컬러 모델은 스펙트럴 리던던시 감소에 적용된다. YUV 컬러 모델은 인간의 눈이 크로미넌스(chrominance), 즉 컬러에서 보다 휘도에서의 변화들에 더 민감하다는 사실을 이용한다. YUV 모델은 하나의 휘도 성분(Y) 및 2개의 크로미넌스 성분들(U, V)을 갖는다. 상기 크로미넌스 성분들은 또한 서브-샘플링된다. 예를 들어, H.263 비디오 부호화 표준에 따라 휘도 블록은 16 x 16 픽셀들이고, 상기 휘도 블록과 동일한 영역을 커버하는 양 크로미넌스 블록들은 8 x 8 픽셀들이다. 이 표준에 있어서 하나의 휘도 블록 및 2개의 크로미넌스 블록들의 조합은 매크로 블록(macro block)으로 지칭된다.For example, the YUV color model applies to spectral redundancy reduction. The YUV color model takes advantage of the fact that the human eye is more sensitive to chrominance, ie changes in luminance than in color. The YUV model has one luminance component (Y) and two chrominance components (U, V). The chrominance components are also sub-sampled. For example, according to the H.263 video coding standard, the luminance block is 16 x 16 pixels, and both chrominance blocks covering the same area as the luminance block are 8 x 8 pixels. In this standard, a combination of one luminance block and two chrominance blocks is referred to as a macro block.
공간 리던던시를 줄이기 위하여, 예를 들어, 이산 코사인 변환(DCT; discrete cosine transformation)이 사용된다. DCT에서 압축되는 블록은 바람직하기로는 8 x 8 픽셀들이다. DCT에 있어서, 프레임 블록의 픽셀 표시는 공간-주파수 표시로 변환된다. 더욱이, 프레임 블록내에 있는 신호 주파수들만이 높은 진폭 계수들을 가지고, 반면 프레임 블록내에 있지 않은 신호들의 계수들은 제로에 가깝다. DCT는 또한 손실없는 변환이고 단지 양자화하는 경우에만 신호에 간섭이 야기된다.In order to reduce spatial redundancy, for example, discrete cosine transformation (DCT) is used. The block to be compressed in the DCT is preferably 8 x 8 pixels. In DCT, the pixel representation of a frame block is converted to a space-frequency representation. Moreover, only signal frequencies within the frame block have high amplitude coefficients, while coefficients of signals not within the frame block are close to zero. DCT is also a lossless transformation and causes interference to the signal only if it is quantized.
시간 리던던시는 연속 프레임들이 보통 서로 유사하다는 사실을 이용함으로써 감소될 수 있다. 따라서 각각의 개별적인 프레임을 압축하는 것 대신에, 프레임 블록들의 움직임 데이터가 생성된다. 기본 원리는 다음과 같다. 이전에 부호화된 가능한 한 좋은 참조 블록이 부호화될 프레임 블록을 위해 검색된다. 상기 참조 블록 및 부호화될 프레임 블록간의 움직임이 모델링되고 계산된 움직임 벡터 계수들이 수신기에 전송된다. 부호화될 블록 및 참조 블록간의 차이는 예측 에러 성분 또는 프레임으로서 표시된다. 문제는 가능한 한 좋은 부호화 효율(가능한 한 적은 양의 비트들을 가지고 충분히 좋은 화상 품질)을 생성하는 참조 블록을 발견하는 것이고, 높은 계산 용량 및 따라서 또한 계산 시간이 비교하는데 필요하다는 것이다.Temporal redundancy can be reduced by using the fact that consecutive frames are usually similar to each other. Thus, instead of compressing each individual frame, motion data of the frame blocks is generated. The basic principle is as follows. The best reference code previously encoded is searched for the frame block to be encoded. The motion between the reference block and the frame block to be encoded is modeled and the calculated motion vector coefficients are transmitted to the receiver. The difference between the block to be encoded and the reference block is represented as a prediction error component or frame. The problem is to find a reference block that produces as good coding efficiency as possible (good picture quality with as few bits as possible), and high computational capacity and thus also computation time is needed for comparison.
따라서 본 발명의 목적은 비디오 프레임들을 부호화하는 개선된 방법, 개선된 비디오 부호기 및 개선된 가입자 단말기를 제공하는 것이다. 본 발명은 프레임 재구성 데이터를 부호화하는데 하나 이상의 이전에 부호화된 이웃 블록들 및 적어도 하나 이상의 참조 프레임들 또는 참조 블록들의 프레임 재구성 데이터를 사용하는데 기초를 둔다. 충분한 화상 품질을 갖는 원하는 부호화 효율이 어떻게 획득되는지에 의존하여 본 발명의 방법을 가지고 또는 다른 공지된 방법을 가지고 부호화된 움직임 데이터 및 프레임 재구성 데이터가 사용을 위해 선택된다.It is therefore an object of the present invention to provide an improved method of encoding video frames, an improved video encoder and an improved subscriber terminal. The present invention is based on using one or more previously encoded neighboring blocks and frame reconstruction data of at least one or more reference frames or reference blocks to encode frame reconstruction data. Depending on how the desired coding efficiency with sufficient picture quality is obtained, motion data and frame reconstruction data encoded with the method of the present invention or with other known methods are selected for use.
이것은 통신 시스템에서 비디오 프레임들을 부호화하는 방법에 있어서, 연속 정지 프레임들의 비디오 프레임을 형성하는 단계, 참조 프레임으로서 적어도 하나의 프레임의 프레임 재구성(reconstruction) 데이터 및 이전에 부호화된 이웃 블록들의 움직임 데이터를 저장하는 단계, 하나 이상의 이전에 부호화된 이웃 블록들의 움직임 데이터에 의하여 부호화될 블록의 움직임 데이터를 정하는 단계로서, 상기 이웃 블록은 상기 저장된 참조 프레임에 의하여 형성되는 단계, 부호화될 프레임의 프레임 재구성 데이터를 정하는 단계, 및 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율을 제공하는, 부호화될 블록을 나타내는 움직임 데이터 및 상기 프레임 재구성 데이터를 사용하기 위해 선택하는 단계를 포함하는 비디오 프레임 부호화 방법에 의해 달성된다.This is a method of encoding video frames in a communication system, comprising: forming a video frame of consecutive still frames, storing frame reconstruction data of at least one frame and motion data of previously encoded neighboring blocks as reference frames; Determining motion data of a block to be encoded by motion data of one or more previously encoded neighboring blocks, wherein the neighboring block is formed by the stored reference frame and determines frame reconstruction data of a frame to be encoded. And selecting to use the frame reconstruction data and motion data representing a block to be encoded, the predetermined image quality being provided with a predetermined picture quality. Is achieved.
이것은 통신 시스템에서 비디오 프레임들을 부호화하는 방법에 있어서, 연속 정지 프레임들의 비디오 프레임을 형성하는 단계, 참조 프레임으로서 적어도 하나의 프레임의 프레임 재구성 데이터 및 이전에 부호화된 이웃 블록들의 움직임 데이터를 저장하는 단계, 부호화될 블록의 프레임 재구성 데이터를 부호화하는데 사용된 동일한 참조 프레임을 구비하는 이웃 블록들만을 사용하여 부호화될 프레임 블록의 움직임 데이터를 정하는 단계, 및 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율을 제공하는, 상기 프레임 재구성 데이터 및 움직임 데이터를 사용하기 위해 선택하는 단계를 포함하는 비디오 프레임 부호화 방법에 의해 달성된다.This is a method of encoding video frames in a communication system, comprising: forming a video frame of consecutive still frames, storing frame reconstruction data of at least one frame and motion data of previously encoded neighboring blocks as reference frames, Determining motion data of the frame block to be encoded using only neighboring blocks having the same reference frame used to encode the frame reconstruction data of the block to be encoded, and providing a predetermined encoding efficiency with a predetermined picture quality, A video frame encoding method comprising the step of selecting to use the frame reconstruction data and motion data.
본 발명은 또한 연속 정지 프레임들의 비디오 프레임을 형성하는 수단, 참조 프레임으로서 적어도 하나의 프레임의 프레임 재구성 데이터 및 이전에 부호화된 이웃 블록들의 움직임 데이터를 저장하는 수단, 하나 이상의 이전에 부호화된 이웃 블록들의 움직임 데이터에 의하여 부호화될 블록의 움직임 데이터를 정하는 수단으로서, 상기 이웃 블록은 상기 저장된 참조 프레임에 의하여 형성되는 수단, 부호화될 프레임의 프레임 재구성 데이터를 정하는 수단, 및 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율을 제공하는, 부호화될 블록을 나타내는 움직임 데이 터 및 상기 프레임 재구성 데이터를 사용하기 위해 선택하는 수단을 포함하는 가입자 단말기에 관련된다.The invention also provides means for forming a video frame of consecutive still frames, means for storing frame reconstruction data of at least one frame and motion data of previously encoded neighboring blocks as reference frames, Means for determining motion data of a block to be encoded by motion data, the neighboring block being formed by the stored reference frame, means for determining frame reconstruction data of a frame to be encoded, and predetermined encoding with a predetermined picture quality It relates to a subscriber station comprising motion data representing a block to be encoded and means for selecting to use the frame reconstruction data, which provides efficiency.
본 발명은 또한 연속 정지 프레임들의 비디오 프레임을 형성하는 수단, 참조 프레임으로서 적어도 하나의 프레임의 프레임 재구성 데이터 및 이전에 부호화된 이웃 블록들의 움직임 데이터를 저장하는 수단, 부호화될 블록의 프레임 재구성 데이터를 부호화하는데 사용된 동일한 참조 프레임을 구비하는 이웃 블록들만을 사용하여 부호화될 프레임 블록의 움직임 데이터를 정하는 수단, 및 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율을 제공하는, 상기 프레임 재구성 데이터 및 움직임 데이터를 사용하기 위해 선택하는 수단을 포함하는 가입자 단말기에 관련된다.The present invention also provides means for forming a video frame of continuous still frames, means for storing frame reconstruction data of at least one frame and motion data of previously encoded neighboring blocks as reference frames, encoding frame reconstruction data of a block to be encoded. Means for determining motion data of a frame block to be encoded using only neighboring blocks having the same reference frame used to make the data, and using the frame reconstruction data and the motion data, which provide a predetermined encoding efficiency with a predetermined picture quality. It relates to a subscriber station comprising means for selecting to.
본 발명은 또한 연속 정지 프레임들의 비디오 프레임을 형성하는 수단, 참조 프레임으로서 적어도 하나의 프레임의 프레임 재구성 데이터 및 이전에 부호화된 이웃 블록들의 움직임 데이터를 저장하는 수단, 하나 이상의 이전에 부호화된 이웃 블록들의 움직임 데이터에 의하여 부호화될 블록의 움직임 데이터를 정하는 수단으로서, 상기 이웃 블록은 상기 저장된 참조 프레임에 의하여 형성되는 수단, 부호화될 프레임의 프레임 재구성 데이터를 정하는 수단, 및 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율을 제공하는, 부호화될 블록을 나타내는 움직임 데이터 및 상기 프레임 재구성 데이터를 사용하기 위해 선택하는 수단을 포함하는 비디오 부호기에 관련된다.The invention also provides means for forming a video frame of consecutive still frames, means for storing frame reconstruction data of at least one frame and motion data of previously encoded neighboring blocks as reference frames, Means for determining motion data of a block to be encoded by motion data, the neighboring block being formed by the stored reference frame, means for determining frame reconstruction data of a frame to be encoded, and predetermined encoding with a predetermined picture quality It relates to a video encoder comprising motion data representing a block to be encoded and means for selecting to use the frame reconstruction data, which provides efficiency.
본 발명은 또한 연속 정지 프레임들의 비디오 프레임을 형성하는 수단, 참조 프레임으로서 적어도 하나의 프레임의 프레임 재구성 데이터 및 이전에 부호화된 이웃 블록들의 움직임 데이터를 저장하는 수단, 부호화될 블록의 프레임 재구성 데이터를 부호화하는데 사용된 동일한 참조 프레임을 구비하는 이웃 블록들만을 사용하여 부호화될 프레임 블록의 움직임 데이터를 정하는 수단, 및 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율을 제공하는, 상기 프레임 재구성 데이터 및 움직임 데이터를 사용하기 위해 선택하는 수단을 포함하는 비디오 부호기에 관련된다.The present invention also provides means for forming a video frame of continuous still frames, means for storing frame reconstruction data of at least one frame and motion data of previously encoded neighboring blocks as reference frames, encoding frame reconstruction data of a block to be encoded. Means for determining motion data of a frame block to be encoded using only neighboring blocks having the same reference frame used to make the data, and using the frame reconstruction data and the motion data, which provide a predetermined encoding efficiency with a predetermined picture quality. Relate to a video encoder comprising means for selecting to do so.
본 발명은 또한 컴퓨터에 의해 독출될 수 있고 통신 시스템에서 비디오 프레임들을 부호화하는 방법을 수행하는 컴퓨터 프로그램에 있어서, 상기 방법은 연속 정지 프레임들의 비디오 프레임을 형성하는 단계, 참조 프레임으로서 적어도 하나의 프레임의 프레임 재구성 데이터 및 이전에 부호화된 이웃 블록들의 움직임 데이터를 저장하는 단계, 하나 이상의 이전에 부호화된 이웃 블록들의 움직임 데이터에 의하여 부호화될 블록의 움직임 데이터를 정하는 단계로서, 상기 이웃 블록은 상기 저장된 참조 프레임에 의하여 형성되는 단계, 부호화될 프레임의 프레임 재구성 데이터를 정하는 단계, 및 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율을 제공하는, 부호화될 블록을 나타내는 움직임 데이터 및 상기 프레임 재구성 데이터를 사용하기 위해 선택하는 단계를 포함하는 컴퓨터 프로그램에 관련된다.The invention also relates to a computer program that can be read by a computer and that performs a method of encoding video frames in a communication system, the method comprising the steps of forming a video frame of consecutive still frames, the reference frame being of at least one frame; Storing frame reconstruction data and motion data of previously encoded neighboring blocks, and determining motion data of a block to be encoded by motion data of one or more previously encoded neighboring blocks, wherein the neighboring block is the stored reference frame; Using the frame reconstruction data and the motion data representing the block to be encoded, which are formed by the following steps, determining frame reconstruction data of a frame to be encoded, and providing a predetermined encoding efficiency with a predetermined picture quality. It relates to a computer program comprising the step of selecting.
본 발명은 또한 컴퓨터에 의해 독출될 수 있고 통신 시스템에서 비디오 프레임들을 부호화하는 방법을 수행하는 컴퓨터 프로그램에 있어서, 상기 방법은 연속 정지 프레임들의 비디오 프레임을 형성하는 단계, 참조 프레임으로서 적어도 하나 의 프레임의 프레임 재구성 데이터 및 이전에 부호화된 이웃 블록들의 움직임 데이터를 저장하는 단계, 부호화될 블록의 프레임 재구성 데이터를 부호화하는데 사용된 동일한 참조 프레임을 구비하는 이웃 블록들만을 사용하여 부호화될 프레임 블록의 움직임 데이터를 정하는 단계, 및 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율을 제공하는, 상기 프레임 재구성 데이터 및 움직임 데이터를 사용하기 위해 선택하는 단계를 포함하는 컴퓨터 프로그램에 관련된다.The invention also relates to a computer program that can be read by a computer and that performs a method of encoding video frames in a communication system, the method comprising the steps of forming a video frame of consecutive still frames, the reference frame of at least one frame; Storing frame reconstruction data and motion data of previously encoded neighboring blocks, using only neighboring blocks having the same reference frame used to encode frame reconstruction data of the block to be encoded, to obtain motion data of the frame block to be encoded. Determining, and selecting for use of the frame reconstruction data and motion data having a predetermined picture quality and providing a predetermined encoding efficiency.
본 발명의 방법 및 장치는 화상 품질이 충분하면서 계산 시간 및 용량에서의 절약을 제공한다.The method and apparatus of the present invention provide savings in computation time and capacity while sufficient image quality.
이하, 본 발명은 첨부된 도면들을 참조하여 바람직한 실시예에 의하여 설명될 것이다.Hereinafter, the present invention will be described by the preferred embodiment with reference to the accompanying drawings.
도 1은 통신 시스템의 예를 도시한다.1 illustrates an example of a communication system.
도 2a 내지 도 2c는 참조 프레임을 사용하는 벡터들의 일 추정 과정을 도시한다.2A to 2C show one estimation process of vectors using a reference frame.
도 3은 이웃 블록들을 사용하는 움직임 벡터의 일 추정 과정을 도시한다.3 shows a process of estimating a motion vector using neighboring blocks.
도 4는 참조 블록을 발견하고 움직임 벡터를 예측하는 방법 단계들을 나타내는 흐름도이다.4 is a flowchart illustrating method steps for finding a reference block and predicting a motion vector.
도 5는 참조 블록을 발견하고 움직임 벡터를 예측하는 예를 도시한다.5 shows an example of finding a reference block and predicting a motion vector.
도 6은 부호기의 예를 도시한다.6 shows an example of an encoder.
도 7은 복호기의 예를 도시한다. 7 shows an example of a decoder.
도 8은 가입자 단말기의 예를 도시한다.8 shows an example of a subscriber station.
도 9는 참조 블록을 발견하고 움직임 벡터를 예측하는 제2 예를 도시한다.9 shows a second example of finding a reference block and predicting a motion vector.
도 1은 본 발명의 해결책이 적용될 수 있는 하나의 디지털 데이터 전송 시스템을 간략화된 방식으로 도시한다. 그것은 고정되게 설치되거나 차량에 설치된 단말기들 또는 휴대용 단말기들일 수 있는 가입자 단말기들(100 및 102)과 무선 접속(108 및 110)하는 기지국(104)을 포함하는 셀룰러 무선 시스템의 일부이다. 상기 기지국내의 송수신기들은 안테나 유닛에 접속되고, 상기 안테나 유닛을 가지고 상기 가입자 단말기들로의 무선 링크가 구현된다. 상기 기지국은 추가로 네트워크의 다른 곳의 단말기들의 접속들을 전송하는 기지국 제어기(106)와 접속한다. 상기 기지국 제어기는 그것에 접속된 몇몇 기지국들을 집중화된 방식으로 제어한다. 기지국 제어기내의 제어 유닛은 호 제어, 데이터 트래픽 제어, 이동성 관리, 통계 수집, 및 시그널링을 수행한다.Figure 1 shows in a simplified manner one digital data transmission system to which the solution of the present invention can be applied. It is part of a cellular wireless system that includes a
상기 셀룰러 무선 시스템은 또한 공중 전화 네트워크에 접속을 가질 수 있다. 그 경우에 있어서, 상기 시스템에 속하는 트랜스코더(transcoder)는 상기 공중 전화 네트워크 및 상기 셀룰러 무선 네트워크 사이에서 사용되는 음성의 상이한 부호화 포맷들을 서로에게 적합하도록 변환한다. 예를 들어 고정 네트워크의 64 kbit/s 포맷으로부터 셀룰러 무선 네트워크 포맷(예를 들어 13 kbit/s)으로 그리고 그 반대로 변환한다.The cellular wireless system may also have a connection to a public telephone network. In that case, a transcoder belonging to the system converts different encoding formats of speech used between the public telephone network and the cellular wireless network to suit each other. For example, from a fixed network's 64 kbit / s format to a cellular wireless network format (eg 13 kbit / s) and vice versa.
본 발명은 또한 인터넷과 같은, 고정 통신 시스템들에 적용될 수 있다는 것 이 당업자에게 자명하다.It is apparent to those skilled in the art that the present invention can also be applied to fixed communication systems, such as the Internet.
비디오 프레임을 부호화하는 목적은 프레임을 전송하는데 필요한 비트들의 수를 줄이는 것이다. 도 2a 내지 도 2c는 이전에 메모리에 저장된 참조 프레임을 사용하여 프레임 블록(블록이라는 용어가 또한 본문에서 사용된다)의 움직임 벡터를 예측하는데 기초를 둔 선행 기술 움직임 부호화 방법을 간략화된 방식으로 나타낸다. 이러한 유형의 부호화는 압축 부호화에서 일련의 프레임들의 프레임들간에 유사성들을 이용하는 것을 의미하는 인터-코딩(inter-coding)으로 지칭된다.The purpose of encoding a video frame is to reduce the number of bits needed to transmit the frame. 2A-2C illustrate, in a simplified manner, a prior art motion coding method based on predicting a motion vector of a frame block (the term block is also used in the text) using a reference frame previously stored in memory. This type of encoding is referred to as inter-coding, which means using similarities between frames of a series of frames in compression encoding.
도 2a 내지 도 2c의 예에 있어서, 참조 프레임(206)은 블록들 또는 세그먼트들로 분할되고 이전에 부호화되었다. 도 2b 및 도 2c는 프레임 블록들을 나타내지 않는다. 참조 프레임은 일련의 프레임들의 부호화될 프레임 이전에 또는 다음에 있을 수 있다. 도 2a는 또한 블록들로 분할되는 부호화될 현재 프레임(204)을 나타낸다. 명료함을 위해 상기 블록들 중에서 단 하나의 블록(200)만이 도시된다. 블록들의 크기는 N x M이다. 상기 블록들은 전형적으로 정사각형이다. 즉 N = M이다. 그러나 또한 예를 들어 기하학에서 직사각형일 수 있다. 현재 블록(200) 및 도 2c에 도시된 참조 블록(214)이 기하학적으로 유사할 필요는 없다. 왜냐하면, 사실상 촬영된(filmed) 객체들이 회전 또는 비틀림과 같이 변경되기 때문이다. 블록의 크기 및 모양은 다음을 고려하여 각 상황에 대해 적합하게 정해진다. 예를 들어, 작은 블록 크기는 더 좋은 화상을 제공한다. 그러나 정의된 움직임 벡터의 신뢰성을 감소시킨다. 왜냐하면 그 정의는 단지 몇 개의 픽셀들에 의해서만 수행되기 때문이다. 더 작은 블록들이 사용되는 경우 더 많은 움직임 벡터 데이터가 또한 생성되어 야 한다. 왜냐하면 프레임은 더 큰 수의 블록들로 분할되어야 하기 때문이다. 더욱이, 블록 크기가 큰 경우 움직임 벡터들을 정하는 더 빠른 알고리즘들이 보다 효율적이다. 예를 들어, 현재 비디오 부호화 표준들의 몇몇에 있어서, N = M = 16이다.In the example of FIGS. 2A-2C,
움직임을 추정하기 위하여, 부호화될 블록(200)을 위해 참조 프레임(206)내에서 가능한 한 매칭하는 참조 블록이 발견된다. 이것은 도 2c에서 214이다. 참조 블록들의 적합성은 선택 기준에 의존한다. 선택 기준의 목적은 전형적으로 화상 품질이 충분히 좋으면서 부호화될 블록을 전송하는데 필요한 비트들의 수를 최소화할 수 있는 하나의 블록을 발견하는 것이다. 따라서, 선택 기준은 응용의 목적에 의존하여 변경될 수 있다.In order to estimate the motion, the matching reference block is found as much as possible in the
검색은 보통 참조 프레임(206)내에서 도 2b 및 도 2c에서 검색 영역(210)에 의해 도시된, 현재 프레임(204)에서 부호화될 블록(200)에 대응하는 프레임 위치에 있는 영역에서 그리고 바로 인접한 어떤 영역에서 수행된다. 전체 참조 프레임보다 더 작은 검색 영역을 제한함으로써, 검색 및 필요한 계산에 사용되는 시간이 줄어든다. 검색 영역의 크기는 예를 들어, 이전에 부호화된 프레임 스트링의 프레임들에 기초하여 움직임이 느린지 빠른지를 결정함으로써, 응용의 목적에 적합하게 정해진다. 움직임이 느린 경우, 검색 영역은 움직임이 빠른 경우보다 더 작게 제한될 수 있다. 검색은 전형적으로 예측된 움직임 벡터의 주변에서 수행된다.The search is usually adjacent to and immediately adjacent to the region at the frame location corresponding to the
도 2a 내지 도 2c의 예에 있어서 프레임 블록의 위치는 상기 블록의 좌상 코너에서 좌표(x, y)로 표시된다. x 좌표는 수평 방향으로 픽셀 또는 블록의 위치를 나타내고 y 좌표는 수직 방향으로 픽셀 또는 블록의 위치를 나타낸다. 부호화될 블 록의 좌표들은 202로서 표시된다. 도 2c에서, 가장 좋은 가능한 참조 프레임 블록(214)이 검색 영역(210)에서 발견되었다. 좌표(x, y)(208)는 부호화될 블록(200)이 움직이지 않았다면 있을 위치의 좌표이고 따라서 좌표(202)와 동일하다. 그들은 예시의 목적을 위해 도시된다. 블록(212)은 블록(200)이 움직이지 않은 경우를 도시하고 또한 예시의 목적을 위해 도시된다. 부호화될 프레임 블록의 움직임이 지금 좌표(x+u, y+v)(216)로부터 좌표(x, y)(208)로의 변경으로서 표시될 수 있다. 일반적으로, 좌표(x, y)는 근원(origo)으로서 정의되고, 따라서 부호화될 블록의 움직임 벡터(218)는 좌표(u, v)로서 표시될 수 있다. 움직임 벡터는 또한 움직임 벡터 계수들 및 움직임 모델들의 정의를 사용하여 표시될 수 있다.In the example of Figs. 2A to 2C, the position of the frame block is represented by coordinates (x, y) at the upper left corner of the block. The x coordinate represents the position of the pixel or block in the horizontal direction and the y coordinate represents the position of the pixel or block in the vertical direction. The coordinates of the block to be encoded are indicated as 202. In FIG. 2C, the best possible
도 3은 부호화될 프레임의 이전에 부호화된 이웃 블록들을 사용하여 부호화될 프레임 블록의 움직임 벡터 계수들을 예측하는데 기초를 둔 선행 기술 움직임 부호화 방법들을 간략화된 방식으로 도시한다. 이전에 이미 부호화되었고, 부호화될 프레임 블록의 움직임 벡터 계수들을 예측하는데 사용되는, 부호화될 프레임 블록(304)의 이웃 블록들은 본 명세서에서 예측 후보들로서 지칭된다. 도 3에 있어서, 상기 예측 후보들은 이웃 블록들(300, 302, 306)이다. 예측 후보들(300, 302, 306)은 도 3의 예에서 어떤 픽셀 위치들(308, 310, 312)을 가지고 식별을 위해 마크된다. 예측 후보(306)는 부호화될 블록의 좌측에 있고 픽셀 위치(308)를 가지고 마크된다. 예측 후보(300)는 부호화될 블록의 위에 있고 픽셀 위치(310)를 가지고 마크된다. 예측 후보(302)는 부호화될 블록의 오른쪽 위 코너에 있고 픽셀 위치(312)를 가지고 마크된다. 도 3에서 알 수 있는 바와 같이, 픽셀 위치들(308, 310, 312)은 부호화될 블록(304)에 가까이 인접하여 자신들 블록들내에 있다. 부호화될 블록에 관하여 이웃 블록들의 위치 및 수는 도 3에 도시된 것들과 상이할 수 있다는 것을 주목해야 한다.3 shows in a simplified manner prior art motion coding methods based on predicting motion vector coefficients of a frame block to be encoded using previously encoded neighboring blocks of the frame to be encoded. The neighboring blocks of the
도 3에 도시된 경우에 있어서, 모든 3개의 예측 후보들이 부호화될 블록(304)의 움직임 벡터 계수들을 예측하는데 사용된다. 예를 들어, 요구되는 움직임 벡터 계수들은 이들 예측 후보들로부터 획득된 움직임 벡터 계수들의 중앙값(median)으로서 예측될 수 있다. 또한 블록(304)의 움직임 벡터 계수들을 예측하는데 단 하나의 예측 후보를 사용하는 것이 가능하다. 그 경우에 계수들은 예측 블록(306)의 움직임 벡터 계수들, 예측 블록(300)의 움직임 벡터 계수들, 또는 예측 블록(302)의 움직임 벡터 계수들로부터 획득된다.In the case shown in FIG. 3, all three prediction candidates are used to predict the motion vector coefficients of
바로 인접한 것보다 더 멀리 있는 이전에 부호화된 이웃 블록들이 또한 사용될 수 있다. 그러나, 그 경우에 거리가 멀어지면서 블록들의 움직임에서의 차이는 보통 증가한다는 것이 고려되어야 한다.Previously encoded neighboring blocks further away than immediately adjacent may also be used. However, it should be considered that in that case the difference in the movement of the blocks usually increases as the distance increases.
인터-코딩(inter-coding) 및 인트라-코딩(intra-coding)은 전형적으로 가장 좋은 가능한 결과를 얻기 위하여 비디오 프레임들을 부호화하는데 블록별로 결합된다. 인트라-코딩된 프레임은 적당한 간격들로 전송될 수 있다. 이것은 프레임마다의 전송 채널에 의해 야기되는, 결국 프레임의 복호화의 실패를 야기하는 있을 수 있는 에러들의 축적을 방지하기 위한 것이다.Inter-coding and intra-coding are typically combined block by block in encoding video frames to obtain the best possible result. Intra-coded frames may be sent at appropriate intervals. This is to prevent the accumulation of possible errors caused by the transmission channel per frame, which in turn causes failure of the decoding of the frame.
도 2a 내지 도 2c 및 도 3에 도시된 방법들은 부호화 및 복호화 양자에 사용될 수 있다. 필요한 프레임 데이터를 가지고 부호기에 의해 사용된 방법은 비트 스 트림으로서 복호기에 전송된다.The methods shown in FIGS. 2A-2C and 3 may be used for both encoding and decoding. The method used by the encoder with the necessary frame data is transmitted to the decoder as a bit stream.
도 3에 도시된 바와 같이, 블록들은 또한 세그먼트될 수 있다는 것을 주목해야 한다. 세그먼테이션(segmentation)은 프레임의 다른 부분들이 다른 방향들로 이동하는 상황에서 바람직하다. 예를 들어 배경은 동일하게 유지되고 사람, 차 또는 그런 종류의 다른 것과 같은 단일 객체는 이동하는 경우이다. 프레임 블록은 블록(300)에서와 같이 수직으로, 예는 없지만 수평으로, 또는 블록(306)에서와 같이 양 방향으로 세그먼트들로 분할함으로써 세그먼트될 수 있다. 세그먼테이션에 의하여, 또한 다른 하나의 이미 부호화된 프레임의 적합한 부분을 사용함으로써 전송될 비트들의 수를 줄이는 것이 가능하다.As shown in FIG. 3, it should be noted that blocks may also be segmented. Segmentation is desirable in situations where different parts of the frame move in different directions. For example, the background remains the same and a single object, such as a person, a car, or something else of that kind moves. The frame block may be segmented by dividing it into segments vertically, such as in
부호화될 프레임 블록의 움직임 벡터 계수들을 정하는 경우, 움직임 예측에 대한 다양한 공지된 모델들이 이용된다. 상이한 모델들은 수직 및 수평 이동을 나타내거나 회전을 나타내는 것과 같이, 상이한 움직임을 정의하는데 적합하다. 그러한 모델들은 유사(affine) 움직임 모델을 포함한다. 유사 움직임 모델에서 픽셀, 프레임 세그먼트 또는 블록의 움직임은 Δx 및 Δy가 움직임 벡터를 형성하는 수학식에 의해 표시된다.When determining the motion vector coefficients of the frame block to be coded, various known models for motion prediction are used. Different models are suitable for defining different movements, such as representing vertical and horizontal movements or representing rotations. Such models include an afine motion model. The motion of a pixel, frame segment or block in the pseudo motion model is represented by the equation in which Δx and Δy form a motion vector.
여기서, a0, a1, a2, b0, b1 및 b2는 움직임 벡터 계수들이고, x 및 y는 벡터 성분들이다. x는 수평 방향으로 픽셀 또는 블록의 위치를 나타내고 y는 수직 방향 으로 픽셀 또는 블록의 위치를 나타낸다. 또는 변환 모델(translational model)에서 픽셀, 프레임 세그먼트 또는 블록의 움직임은 Δx 및 Δy가 움직임 벡터를 형성하는 수학식에 의해 표시된다.Where a 0 , a 1 , a 2 , b 0 , b 1, and b 2 are motion vector coefficients, and x and y are vector components. x represents the position of the pixel or block in the horizontal direction and y represents the position of the pixel or block in the vertical direction. Alternatively, the motion of a pixel, frame segment or block in a translational model is represented by the equation in which Δx and Δy form a motion vector.
여기서, a0 및 b0은 움직임 벡터 계수들이고, x 및 y는 벡터 성분들이다. 사용된 움직임 모델들은 부호기 및 복호기 양자의 메모리에 저장된다. 몇 개의 움직임 모델들이 부호화에 사용되는 경우, 부호기는 움직임(예를 들어, 상향 움직임에 대하여, 상향 움직임을 나타내는 모델이 부호화에 사용된다)에 따라 모델을 선택한다. 사용된 모델에 대한 정보는 움직임 벡터 계수들과 함께 복호기에 전송된다.Where a 0 and b 0 are motion vector coefficients, and x and y are vector components. The motion models used are stored in the memory of both the encoder and the decoder. When several motion models are used for encoding, the encoder selects the model according to the motion (for example, for an upward motion, a model representing the upward motion is used for encoding). Information about the model used is sent to the decoder along with the motion vector coefficients.
도 4는 비디오 프레임 부호화를 위한 방법 단계들을 나타내는 흐름도이다. 이하 설명에 있어서, 프레임 블록은 예를 들어 픽셀들에 의해 형성되는 YUV 모델에 따른 매크로 블록, 블록 또는 세그먼트를 지칭한다. 방법의 수행은 블록 400에서 시작한다.4 is a flowchart illustrating method steps for video frame encoding. In the following description, a frame block refers to a macro block, block or segment according to the YUV model formed by, for example, pixels. Performance of the method begins at block 400.
블록 402에 있어서, 비디오 프레임은 연속 정지 프레임들로 형성된다. 비디오 프레임을 형성하기 위하여, 정지 프레임들은 바람직하기로는 인간의 시각 시스템이 더 이상 서로로부터 별개의 프레임들을 구별할 수 없는 속도로 전송된다.In
블록 404에 있어서, 프레임 블록들의 부호화된 재구성 데이터(예를 들어, 움직임 벡터 계수들의 계산으로부터 얻어진 예측 에러 프레임 및 픽셀들의 휘도 및 컬러)가 메모리에 저장된다. 프레임 재구성 데이터는 예를 들어 H.263 또는 MPEG과 같은 적용되는 표준에 따라 부호화된다. 움직임 벡터 계수들 및 예측 에러 프레임의 정의는 상술되었다. 하나 이상의 참조 프레임들이 메모리에 저장된 프레임 재구성 데이터로 형성된다. 추가로, 이전에 부호화된 이웃 블록들의 움직임 데이터, 즉, 움직임 벡터 계수들 및 어쩌면 사용되는 움직임 모델이 메모리에 저장된다. 부호화될 블록에 가까이 인접한 이웃 블록들을 사용하는 것이 가장 바람직하다. 그러나 때때로 프레임내의 더 멀리 떨어진 이전에 부호화된 블록들을 사용하는 것이 또한 가능하다.In
블록 406에 있어서, 부호화될 블록의 움직임 데이터는 이전에 부호화된 이웃 블록들에 의하여, 바람직하기로는 하나 이상의 이웃 블록들의 움직임 벡터 계수들을 사용하여 정해진다.In
블록 408에 있어서, 부호화될 블록의 재구성 데이터는 예를 들어 참조 프레임을 사용하여 정해진다.In
상기 방법은 부호화될 블록의 프레임 재구성 데이터를 부호화하는데 사용된 것과 동일한 참조 프레임을 갖는 이웃하는 블록들만을 사용하여 부호화될 프레임 블록의 움직임 데이터를 계산함으로써 강화될 수 있다. 동일한 프레임 스트링에서의 프레임들간에 유사성이 종종 존재한다. 따라서 적합한 참조 블록이 이미 이전에 부호화된 이웃 블록에 대해 발견된 이전에 부호화된 프레임에서 충분히 유사한 블록이 발견되거나 부호화될 블록에 대응하는 블록이 발견되는 것이 가능하다. 예를 들어, 하나 이상의 이웃 블록들의 움직임 벡터 계수들이 사용되고 부호화될 블록의 참조 블록의 검색 영역이 참조 프레임내에서 이웃 블록의 움직임 벡터 계수들에 의해 정해진 환경으로 제한된다.The method can be enhanced by calculating motion data of a frame block to be encoded using only neighboring blocks having the same reference frame as used to encode frame reconstruction data of the block to be encoded. Similarities often exist between frames in the same frame string. It is thus possible for a sufficiently similar block to be found in a previously encoded frame in which a suitable reference block has already been found for a previously encoded neighboring block, or a block corresponding to the block to be encoded. For example, motion vector coefficients of one or more neighboring blocks are used and the search region of the reference block of the block to be encoded is limited to an environment defined by the motion vector coefficients of the neighboring block in the reference frame.
단 하나의 인터-코딩된 이웃 블록이 부호화될 블록과 동일한 참조 프레임을 갖는 경우에, 이러한 이웃 블록의 움직임 벡터가 하나의 움직임 벡터 후보로서 선택되고, 다른 하나의 후보는 예를 들어 몇 개의 이웃 블록 움직임 벡터들로부터 계산된 중앙값일 수 있다.When only one inter-coded neighboring block has the same reference frame as the block to be encoded, the motion vector of this neighboring block is selected as one motion vector candidate, and the other candidate is for example several neighboring blocks. It may be a median calculated from motion vectors.
블록을 부호화하는데 사용되는 블록은 부호화될 블록이 부호화될 방식과 동일한 방식(인터)으로 부호화된다는 것을 주목해야 한다. 즉, 이웃 블록이 인트라-코딩된 경우, 참조 프레임을 갖지 않는다. 참조 프레임을 갖는 예측 후보가 없는 경우, 선행기술 인트라-코딩이 사용될 수 있거나 또는 메모리에 저장된 모든 참조 프레임들이 체크될 수 있다.It should be noted that the block used to encode the block is encoded in the same manner (inter) as the manner in which the block to be encoded is to be encoded. That is, when the neighboring block is intra-coded, it does not have a reference frame. If there are no prediction candidates with reference frames, prior art intra-coding may be used or all reference frames stored in memory may be checked.
참조 블록은 비디오 부호기, 즉 프레임 블록의 프레임 재구성 데이터가 부호화될 부호기가 압축 부호화에 사용하는 프레임 블록이다. 부호화될 블록과 가능한 한 매칭하고 이전에 부호화되고 메모리에 저장된 하나 이상의 참조 프레임들로부터 검색된 프레임 블록이 참조 블록으로서 선택되고, 그것에 의해 예측 에러 프레임은 가능한 한 작게 된다.A reference block is a frame block used for compression encoding by a video encoder, that is, an encoder to which frame reconstruction data of a frame block is to be encoded. The frame block that matches as much as possible with the block to be encoded and is retrieved from one or more reference frames previously encoded and stored in memory is selected as the reference block, whereby the prediction error frame is made as small as possible.
블록 410에 있어서, 부호화될 프레임 블록의 움직임 데이터 및 프레임 재구성 데이터가 가장 바람직하게 부호화될 수 있는, 즉 미리 정해진 화상 품질을 가지고 미리 정해진 부호화 효율이 도달되는 부호화 방법이 선택된다. 부호화될 블록의 부호화 방법으로서 이웃 블록들의 움직임 데이터에 의하여 상술된 부호화 또는 인 터-코딩과 같은 어떤 선행 기술 방법이 선택되고, 부호화될 블록은 참조 프레임으로부터 발견된 참조 블록에 의하여 직접 부호화된다는 것을 주목해야 한다. 부호화 방법을 선택하는 경우, 그 목적은 예를 들어 화상의 품질이 보통의 비디오 화상의 품질에 해당하면서 비트들의 수를 가능한 한 적게 하는 것 또는 비록 더 적은 비트들의 수가 응용 목적에 따라 화상 품질을 달성하기에 충분하다 하더라도 비트의 수를 사용된 표준의 수에 매칭하게 하는 것이다.In
부호화 효율은 예를 들어 가장 효율적인 세그먼테이션 및 부호화를 정의하는 라그란지안 함수(Lagrangian function)에 의하여 추정될 수 있다. 상기 함수는 수학식 3과 같다.The coding efficiency can be estimated by, for example, a Lagrangian function that defines the most efficient segmentation and coding. The function is as shown in Equation 3.
여기서, D(Sk)는 프레임을 디스프레딩(despreading)하는데 발생하는 에러이고, R(Sk)은 프레임을 전송하는데 필요한 비트들의 수이며, λ는 라그란지안 상수이다.Where D (S k ) is an error that occurs in despreading the frame, R (S k ) is the number of bits needed to transmit the frame, and λ is a Lagrangian constant.
라그란지안 함수는 전송될 프레임의 품질 및 전송 경로에 필요한 대역폭간의 관계를 나타낸다. 일반적으로, 화상 품질이 더 높아질수록, 대역폭이 더 커진다. 가장 바람직한 압축 부호화의 선택은 항상 필요한 비트들의 수 및 화상 품질간의 절충이다.The Lagrangian function represents the relationship between the quality of the frame to be transmitted and the bandwidth required for the transmission path. In general, the higher the picture quality, the greater the bandwidth. The choice of the most preferred compression encoding is always a compromise between the number of bits needed and the picture quality.
화살표 412는 프레임이 부호화될 때까지 블록별로 상기 방법의 반복 가능성 을 나타낸다. 바람직하기로는 상기 방법은 일련의 프레임들의 모든 프레임들이 부호화될 때까지 반복된다는 것을 주목해야 한다.
상기 방법의 수행은 블록 414에서 종료한다.Execution of the method ends at
도 5는 이웃 블록들만이 사용되는 경우, 부호화될 블록의 프레임 재구성 데이터를 부호화하는데 사용된 것과 동일한 참조 프레임을 갖는 참조 블록을 발견하고 움직임 벡터들을 예측하는 예를 도시한다. 블록을 부호화하는 경우 선행 기술 방법들이 보통 또한 사용된다는 것을 주목해야 한다. 결국은, 충분한 화상 품질을 갖는 원하는 부호화 효율을 제공하는 부호화 방법이 사용을 위해 선택된다.5 shows an example of finding a reference block having the same reference frame as that used to encode frame reconstruction data of a block to be encoded and predicting motion vectors when only neighboring blocks are used. It should be noted that prior art methods are usually also used when coding a block. In the end, an encoding method that provides the desired coding efficiency with sufficient picture quality is selected for use.
부호화될 프레임 페이지(500)는 블록들로 분할되고, 명료함을 위해 블록들 중 몇 개만이 도시된다. 블록(506)이 부호화될 블록이다. 프레임들(502, 504, 532 및 508)은 메모리에 저장된 참조 프레임들이다. 번호 1로서 마크된, 이전에 부호화된 이웃 블록들 중 블록들(510, 514)의 참조 프레임은 프레임(502)이다. 부호화될 블록(506) 및 참조 블록들(510, 514)은 프레임(502)과 비교하여 프레임(500)에서 이동되지 않았다. 도면에서 번호 2로서 마크된, 이웃 블록(512)의 참조 프레임은 프레임(504)이다. 도면에서 번호 4로서 마크된, 이웃 블록(516)의 참조 프레임은 프레임(508)이다. 프레임(500)내의 블록들은 프레임들(504 및 508)과 비교하여 이동되었다. 프레임(532)은 부호화될 블록(506)의 이웃 블록들 중 어느 것을 부호화하는데 사용되지 않았다. 즉, 어떤 이웃 블록의 참조 프레임이 아니다. 따라서, 프레임(532)은 이 예에서 부호화될 블록(506)에 대한 참조 블록을 발견하는데 사용되지 않는다.
The
다음으로, 이웃 블록들(510 및 514)은 부호화될 블록(506)의 움직임 벡터들의 예측 후보들로서 사용된다. 상기 예측 후보들의 부호화 유형(인터)이 현재 블록을 부호화하는데 사용될 부호화 유형과 동일한지를 알아보기 위한 체크가 수행된다. 만일 그러한 경우, 블록(526)이 참조 블록으로서 사용되고 움직임 벡터 계수들은 블록들(510 및 518)의 위치를 비교함으로써 획득된 움직임 벡터 계수들 및 블록들(514 및 520)의 위치를 비교함으로써 획득된 움직임 벡터 계수들의 평균 또는 중앙값을 계산함으로써 획득된다. 블록들(510 및 518)의 위치를 비교함으로써 이웃 블록(510)에 대한 움직임 벡터 계수들이 획득되고, 블록들(514 및 520)의 위치를 비교함으로써 이웃 블록(514)에 대한 움직임 벡터 계수들이 획득된다. 추가로, 예측 에러 프레임은 부호화될 블록(506)을 참조 블록(526)과 비교함으로써 정해진다. 도 5의 예에 있어서, 프레임들(500 및 502)에서의 블록 위치는 변경되지 않았다. 따라서 움직임 벡터 계수들은 정해지지 않는다.Next, neighboring
다음으로, 이웃 블록(512)의 부호화 유형이 체크된다. 상기 이웃 블록(512)의 부호화 유형이 현재 블록(506)에 사용될 부호화 유형과 동일한 경우, 참조 블록이 프레임(504)에서 검색되고 블록들(512 및 522)의 비교로부터 획득된 움직임 벡터 계수들이 블록(506)의 움직임 벡터 계수들로서 사용된다. 그 다음 예측 에러 프레임이 참조 블록(528)에 의하여 정해진다.Next, the encoding type of the
다음으로, 이웃 블록(516)의 부호화 유형이 체크된다. 상기 이웃 블록(512)의 부호화 유형이 현재 블록(506)에 사용될 부호화 유형과 동일한 경우, 참조 블록이 프레임(508)에서 검색되고 블록들(516 및 524)의 비교로부터 획득된 움직임 벡 터 계수들이 블록(506)의 움직임 벡터 계수들로서 사용된다. 그 다음 예측 에러 프레임이 참조 블록(530)에 의하여 정해진다.Next, the coding type of the
블록(506)에 대한 움직임 벡터 계수들은 또한 블록들(510, 512 및 514)의 움직임 벡터 계수들의 평균 또는 중앙값을 계산함으로써 정해질 수 있다.The motion vector coefficients for
또한, 몇 개의 움직임 모델들이 사용되는 경우, 사용된 움직임 모델이 표시된다.In addition, when several motion models are used, the used motion model is displayed.
블록(534)은 인트라-코딩되고, 따라서 참조 프레임을 갖지 않으며, 바람직한 부호화 방법이 달리 발견되는 경우 블록(506)을 부호화하는데 사용되지 않는다.
이웃 블록들의 위치 및 수와 저장된 참조 프레임들의 수는 도 5에 도시된 것들과 상이할 수 있다.The location and number of neighboring blocks and the number of stored reference frames may differ from those shown in FIG. 5.
도 9는 움직임 벡터들을 예측하고 참조 블록을 발견하는 제2 예를 도시한다. 이 예에 있어서, 단 하나의 이웃 블록이 인터-코딩되었고 이 이웃 블록이 부호화될 블록과 동일한 참조 프레임을 갖는 경우, 부호화될 블록은 단 하나의 이웃 블록에 의해서 부호화된다.9 shows a second example of predicting motion vectors and finding a reference block. In this example, if only one neighboring block is inter-coded and this neighboring block has the same reference frame as the block to be encoded, the block to be encoded is encoded by only one neighboring block.
부호화될 프레임(900)은 블록들로 분할되고, 명료함을 위해 블록들 중 몇 개만이 도시된다. 블록(912)이 부호화될 블록이다. 프레임들(902, 904 및 906)은 메모리에 저장된 참조 프레임들이다. 이전에 부호화된 이웃 블록(914)(1로서 마크된)의 참조 프레임은 프레임(902)이다. 블록(910)(2로서 마크된)의 참조 프레임은 프레임(904)이다. 블록(908)은 인트라-코딩되고, 따라서 참조 프레임을 갖지 않는다.The
도 9의 예는 부호화될 블록(912)에 대해 적합한 참조 블록들이 메모리에 저 장된 모든 참조 프레임들, 즉 이 예에서 프레임들(902, 904, 906) 중에서 발견될 수 있는지를 테스트한다. 프레임(902)이 적합한 참조 블록을 갖는지를 테스트하는 경우, 블록(914)의 움직임 벡터가 움직임 벡터 예측 후보로서 사용된다. 왜냐하면 블록(914)은 3개의 이웃 블록들 중의 단 하나이고, 그 참조 프레임은 프레임(902)이기 때문이다. 프레임(904)이 적합한 참조 블록을 갖는지를 테스트하는 경우, 블록(910)의 움직임 벡터가 움직임 벡터 예측 후보로서 사용된다. 왜냐하면 블록(910)은 3개의 이웃 블록들 중의 단 하나이고, 그 참조 프레임은 프레임(904)이기 때문이다. 프레임(906)은 이웃 블록들 중 어느 것에 대한 참조 프레임이 아니다. 따라서 예에서 설명된 경우에 있어서, 움직임 벡터는 블록들(910, 914 및 908)의 중앙값을 사용하여 예측되고, 예를 들어 그 경우에 인터-코딩된 블록(908)의 움직임 벡터는 제로로 세팅된다.The example of FIG. 9 tests whether suitable reference blocks can be found among all the reference frames stored in memory, ie frames 902, 904, 906 in this example, for
부호화될 블록의 움직임 벡터들을 예측하는 경우, 이웃 블록들의 움직임 데이터 및 참조 프레임 데이터뿐만 아니라, 예를 들어 부호화될 블록이 속하는 매크로 블록의 분할 정보를 사용하는 것이 가능하다는 것을 주목해야한다. 이웃 블록들의 위치 및 수와 저장된 참조 블록들의 수는 도 9에 도시된 것들과 상이할 수 있다.It should be noted that when predicting motion vectors of a block to be encoded, it is possible to use not only motion data and reference frame data of neighboring blocks, but also segmentation information of, for example, a macro block to which the block to be encoded belongs. The location and number of neighboring blocks and the number of stored reference blocks may differ from those shown in FIG. 9.
도 6은 상술된 비디오 프레임들을 부호화하는 방법이 수행될 수 있는 부호기의 예를 도시한다. 비디오 부호기들의 설계 원리는 부호화될 블록 In(x,y)(620) 및 예측 후보(선택된 참조 블록) Pn(x,y)(612)간의 예측 에러 프레임 En(x,y)(600)을 최소화하는 것이다. 예측 에러 프레임은 부호화될 블록(620) 및 예측 후보(612)간의 차이로서 정의되고, 감산기(632)에서 획득된다.6 shows an example of an encoder in which the above-described method of encoding video frames may be performed. The design principle of the video encoders is the prediction error frame E n (x, y) 600 between the block I n (x, y) 620 to be coded and the prediction candidate (selected reference block) P n (x, y) 612. Will be minimized. The prediction error frame is defined as the difference between the
예측 블록(612)은 선택된 참조 프레임 및 움직임 벡터들을 사용함으로써 본 발명의 바람직한 실시예에 따른 방법에 의해 획득된다. 움직임 벡터들 Δx(x,y), Δy(x,y)의 계수들은 예측된 움직임 벡터들 및 발견된 차이 계수들의 합으로서 움직임 벡터 계산 블록(630)에서 형성된다. 예측 움직임 벡터 계수들은 본 발명의 바람직한 실시예에 따라, 부호화될 블록과 동일한 참조 프레임을 갖는 이웃 블록의 움직임 벡터들을 사용하여 획득된다. 다른 방법들이 움직임 벡터들을 예측하는데 또한 사용된다. 다른 방법들 중의 하나는 선행기술 방법이고, 선행기술 방법에서 부호화될 블록은 참조 프레임에 의하여 직접 부호화된다. 프레임내의 모든 픽셀들의 움직임 벡터들의 그룹은 움직임 벡터 필드로 지칭된다. 한 프레임내에 다수의 픽셀들이 있기 때문에, 한 프레임은 실제로 비디오 부호화하는 경우 블록들로 분할되고 움직임 정보는 도 7에 도시된 복호기인 수신기에 블록별로 전송된다.
예측된 움직임 벡터들로부터 선택된 적어도 하나의 움직임 벡터 또는 그들로 형성된 움직임 벡터 필드들은 움직임 벡터 부호화 블록(628)에서 부호화된다. 종래 기술에 공지된 움직임 모델들이 부호화에 사용되고, 예를 들어 그 예들이 상술되었다. 부호화된 움직임 벡터들 또는 그들로 형성된 움직임 벡터 필드들은 멀티플렉서(624)에 전송된다.
At least one motion vector selected from the predicted motion vectors or motion vector fields formed therefrom is encoded in motion
블록(618)에서, 프레임은 세그먼트별로 또는 블록별로 프레임 블록들로 형성된다. 참조 블록 또는 예측 후보는 수학식 5와 같다.In
여기서, 하나 이상의 참조 프레임들 (622)은 메모리(610)에 저장되고 x 및 y는 벡터 성분들이다. x는 수평 방향으로 픽셀, 프레임 세그먼트 또는 블록의 위치를 나타내고, y는 수직 방향으로 픽셀, 프레임 세그먼트 또는 블록의 위치를 나타낸다. 및 는 픽셀, 프레임 세그먼트 또는 블록의 움직임 벡터를 형성한다.Where one or
블록(602)에서, 예측 에러 프레임 En(x,y)(600)이 부호화되고 전형적으로, 예를 들어 이산 코사인 변환(DCT)에 의해, 유한 2차 시리즈 변환으로 표시된다. DCT 변환에 의해 획득된 계수들은 양자화되고 부호화된 후, 멀티플렉서(624)에 그리고 도 7에 도시된 복호기인 수신기에 전송된다.At
부호기는 또한 예측 에러 프레임 En(x,y)이 복호화되는 복호기 블록(606)을 포함한다. 이 예측 에러 프레임 (608)은 가산기(634)에서 예측 블록 Pn(x,y)(612)에 추가되고 복호화된 블록 이 결과로서 획득된다. 그 결과로부터 새로운 참조 블록이 획득되거나, 동일한 페이지에 속하는 블록들을 결합함으로써, 참조 프레임(614)이 획득되고 메모리(610)에 저장된다. 따라서, 송신기 비디오 부호기 및 수신기 비디오 부호기는 사용을 위한 동일한 참조 프레임 또는 블록을 갖는다.The encoder also includes a
멀티플렉서(624)에서, 움직임 벡터 정보를 포함하는 정보는 예측 에러 프레임과 결합되고 이 프레임 정보(616)는 복호기(도 7)에 전송된다.In the
상술된 비디오 부호기 기능들은 다양한 방식들로, 예를 들어 프로세서에서 수행되는 소프트웨어에 의해 또는 별개의 구성요소들로 구성된 로직 또는 주문형 반도체(ASIC)와 같은 하드웨어에 의해 구현될 수 있다.The video encoder functions described above may be implemented in various ways, for example by software running on a processor or by hardware such as logic or application specific semiconductors (ASIC) composed of separate components.
도 7은 복호기에 의해 비디오 프레임 전송에서 시간 리던던시를 줄이기 위한 상술된 방법이 수행될 수 있는 복호기의 예를 도시한다. 수신된 비디오 신호(700)의 부호화된 예측 에러 프레임(702) 및 부호화된 움직임 벡터 계수들 또는 움직임 벡터 필드 계수들(712)은 디멀티플렉서(710)에서 서로로부터 분리된다.7 shows an example of a decoder in which the above-described method for reducing time redundancy in video frame transmission by the decoder can be performed. The encoded
상기 복호기의 메모리(716)에는, 적어도 하나의 이전에 부호화된 이웃 블록 및/또는 블록들로 분할된 참조 프레임 (722)이 있다. 동일한 프레임 블록들 및/또는 참조 프레임이 부호기 및 복호기 메모리에 저장된다.The
블록(714)에서, 예측 후보 Pn(x,y)(718)가 부호기 블록(618; 도 6)에서와 동일한 방식으로 형성된다. 복호화된 예측 에러 프레임 (706)은 블록(704)에서 형성된다.At
가산기(720)에서, 복호화된 예측 에러 프레임 (706) 및 예측 후보 Pn(x,y)(718)가 함께 더해진다. 이것은 수학식 6의 복호화된 블록 (708)을 생성한다.In
여기서, 하나 이상의 이전에 부호화된 이웃 블록들 및/또는 블록들로 분할된 참조 프레임 (722)은 메모리(716)에 저장되고, x 및 y는 벡터 성분들이다. x는 수평 방향으로 픽셀 또는 블록의 위치를 나타내고, y는 수직 방향으로 픽셀 또는 블록의 위치를 나타낸다. 및 는 픽셀, 프레임 세그먼트 또는 블록의 움직임 벡터를 형성한다.Here, a reference frame divided into one or more previously encoded neighboring blocks and / or blocks 722 is stored in
상술된 비디오 부호기 기능들은 다양한 방식들로, 예를 들어 프로세서에서 수행되는 소프트웨어에 의해 또는 별개의 구성요소들로 구성된 로직 또는 주문형 반도체(ASIC)와 같은 하드웨어에 의해 구현될 수 있다.The video encoder functions described above may be implemented in various ways, for example by software running on a processor or by hardware such as logic or application specific semiconductors (ASIC) composed of separate components.
도 8은 본 발명의 바람직한 실시예의 방법이 수행될 수 있는 무선 시스템의 하나의 단말기를 나타낸다. 가입자 단말기(824)의 송신기 및 무선 시스템 네트워크 구성요소의 송신기는 부분적으로 동일한 작업을 수행한다. 단말기(824)는 예를 들어 이동전화 또는 무선부들을 포함하는 마이크로컴퓨터일 수 있지만, 본 발명을 그것에 제한하지 않는다. 상술된 단말기는 듀플렉스 필터를 통해 신호들을 전송하고 수신하는데 사용되는 안테나(800)를 포함한다. 상기 단말기는 또한 몇 개의 안테나 들 또는 다중-안테나 시스템을 포함할 수 있다. 상기 단말기는 또한 변조된 신호를 증폭하고 상기 안테나에 전송하는 송신기(802)를 포함한다. 상기 단말기는 또한 선택된 변조 방식에 따라 원하는 정보를 포함하는 데이터 신호를 갖는 캐리어를 변조하는 변조기(804)를 포함한다. 상기 단말기는 또한 상기 안테나로부터 들어오는 신호를 증폭하고 그것을 원하는 중간 주파수로 또는 직접 기저대역으로 다운-변환하는 수신기(806)를 포함한다. 상기 단말기는 또한 데이터 신호가 캐리어로부터 분리될 수 있도록 수신된 신호를 복조하는 복조기(808)를 포함한다.8 shows one terminal of a wireless system in which the method of the preferred embodiment of the present invention may be performed. The transmitter of the
상기 가입자 단말기는 또한 카메라(820) 및 비디오 코덱(822)과 같은 단말기의 다른 부분들의 동작을 제어하고, 디지털 신호 처리(DSP), 디지털-아날로그 변환 및 필터링과 같은, 사용자에 의해 발생된 데이터 또는 사용자 음성을 처리하기 위해 필요한 동작을 취하는 제어 블록(816)을 구비한다. 추가로, WCDMA와 같은, 확산 스펙트럼(spread-spectrum) 시스템들에 있어서, 신호 스펙트럼은 송신기에서 의사 랜덤 확산 부호에 의하여 넓은 대역으로 확산되고 수신기에서 디스프레드된다. 따라서 채널의 용량을 증가시키도록 시도한다. 제어 블록은 또한 채널 및 음성 부호화와 같은, 부호화 및 복호화를 수행한다. 추가로, 상기 제어 블록은 사용된 무선 시스템의 공중 인터페이스 표준에 매칭하도록 전송될 신호 및 시그널링 정보를 적합하게 한다. 상기 가입자 단말기는 다른 블록들의 부분들이거나 별개일 수 있는 상이한 유형의 하나 이상의 메모리들(미도시)을 포함한다. 도 8의 예에 있어서, 상기 제어 블록은 또한 단말기의 동작을 제어하는 프로그램을 포함한다. 도 8의 예에 있어서, 프레임의 재구성 데이터를 부호화하고 복호화하는 비디오 코덱(822)이 분 리되어 있지만, 그것은 또한 상기 제어 블록(816)의 일부일 수 있다.The subscriber terminal also controls the operation of the other parts of the terminal, such as
프레임들을 전송하는 경우, 카메라(820)는 디지털 화상을 메모리 블록(818)에 기록한다. 상기 카메라(820)는 또한 화상을 직접 상기 코덱(822)에 기록할 수 있다. 상기 코덱은 상기 방법들 중의 하나에 의하여 또는 몇 개의 방법들의 조합에 의하여 선택된 프레임을 부호화한다. 상기 카메라(820), 코덱(822) 및 메모리(818)는 가입자 단말기(824)내에 존재할 수 있거나 별개의 카메라 유닛(826)에 속할 수 있다. 별개의 카메라 유닛(826)에 속하는 경우, 상기 카메라 유닛(826)은 인터페이스(828)를 가지고 상기 가입자 단말기(824)에 접속된다.When transmitting the frames, the
상기 가입자 단말기의 사용자는 필요한 경우 디스플레이(814)에서 프레임을 볼 수 있다. 부호화된 프레임 재구성 데이터는 음성 또는 텍스트 데이터와 동일한 방식으로 통신 시스템에 전송되고 예를 들어 다른 전화에 전송된다.The user of the subscriber station can see the frame on the
프레임 부호화 및 복호화에 필요한 코덱 블록(822) 및 제어 블록과 같은 상술된 단말기의 동작 블록들은 다양한 방식들로, 예를 들어 프로세서에서 수행되는 소프트웨어에 의해 또는 별개의 구성요소들로 구성된 로직 또는 주문형 반도체(ASIC)와 같은 하드웨어에 의해 구현될 수 있다. 도면에 도시된 단말기 기능들은 또한 도면과는 상이한 많은 방식들로 동작 블록들에 결합될 수 있다. 예를 들어 코덱 블록(822)은 부호기 및 복호기로 분리될 수 있다.The operational blocks of the terminal described above, such as the
상기 단말기의 사용자 인터페이스는 스피커 또는 이어폰(810), 마이크로폰(812), 디스플레이(814) 및 어쩌면 키보드를 포함하고 이 모두는 상기 제어 블록(816)에 접속된다.
The user interface of the terminal includes a speaker or
비록 본 발명이 첨부한 도면들에 따라 예들을 참조하여 상술되었다 하더라도, 본 발명은 그들에 제한되지 않고 첨부된 청구범위에 개시된 발명 사상의 범위내에서 많은 방식으로 변형될 수 있다는 것이 명백하다.Although the present invention has been described above with reference to examples according to the accompanying drawings, it is clear that the present invention is not limited thereto but may be modified in many ways within the scope of the invention disclosed in the appended claims.
본 발명은 H.263 또는 MPEG와 같은 몇몇 비디오 부호화 표준들과 함께 적용될 수 있다.The present invention can be applied with some video coding standards such as H.263 or MPEG.
Claims (66)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/FI2000/000686 WO2002015585A1 (en) | 2000-08-11 | 2000-08-11 | Method and apparatus for transferring video frame in telecommunication system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030027021A KR20030027021A (en) | 2003-04-03 |
KR100828378B1 true KR100828378B1 (en) | 2008-05-08 |
Family
ID=8555876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037001984A KR100828378B1 (en) | 2000-08-11 | 2000-08-11 | Method and apparatus for transferring video frame in telecommunication system |
Country Status (12)
Country | Link |
---|---|
EP (1) | EP1325635A1 (en) |
JP (1) | JP2004534411A (en) |
KR (1) | KR100828378B1 (en) |
CN (2) | CN100591131C (en) |
AU (1) | AU2000264472A1 (en) |
BR (1) | BRPI0017304B1 (en) |
CA (1) | CA2419988C (en) |
EE (1) | EE05596B1 (en) |
HK (1) | HK1100115A1 (en) |
HU (1) | HU228614B1 (en) |
MX (1) | MXPA03001270A (en) |
WO (1) | WO2002015585A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735249B1 (en) | 1999-08-11 | 2004-05-11 | Nokia Corporation | Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding |
US8005145B2 (en) | 2000-08-11 | 2011-08-23 | Nokia Corporation | Method and apparatus for transferring video frame in telecommunication system |
US8073048B2 (en) | 2003-08-26 | 2011-12-06 | Thomson Licensing | Method and apparatus for minimizing number of reference pictures used for inter-coding |
JP2007312397A (en) * | 2007-05-25 | 2007-11-29 | Nokia Corp | Method and apparatus for video frame transfer in communication system |
JP5716438B2 (en) * | 2011-02-08 | 2015-05-13 | 株式会社Jvcケンウッド | Image decoding apparatus, image decoding method, and image decoding program |
JP5716437B2 (en) * | 2011-02-08 | 2015-05-13 | 株式会社Jvcケンウッド | Image coding apparatus, image coding method, and image coding program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0773688A2 (en) * | 1995-11-13 | 1997-05-14 | Tektronix, Inc. | Method for motion estimation |
US5982910A (en) | 1995-03-16 | 1999-11-09 | Deutsche Thomson-Brandt Gmbh | Method and circuit arrangement for undersampling in the case of movement estimation |
WO1999060779A1 (en) * | 1998-05-20 | 1999-11-25 | Sony Electronics Inc. | Motion estimation process and system using sparse search block-matching and integral projection |
WO1999065232A1 (en) * | 1998-06-09 | 1999-12-16 | Sony Electronics Inc. | Hierarchical motion estimation process and system using block-matching and integral projection |
-
2000
- 2000-08-11 KR KR1020037001984A patent/KR100828378B1/en active IP Right Grant
- 2000-08-11 BR BRPI0017304A patent/BRPI0017304B1/en active IP Right Grant
- 2000-08-11 WO PCT/FI2000/000686 patent/WO2002015585A1/en active Application Filing
- 2000-08-11 EE EEP200300053A patent/EE05596B1/en unknown
- 2000-08-11 CA CA002419988A patent/CA2419988C/en not_active Expired - Lifetime
- 2000-08-11 EP EP00951576A patent/EP1325635A1/en not_active Withdrawn
- 2000-08-11 CN CN200610153497A patent/CN100591131C/en not_active Expired - Lifetime
- 2000-08-11 HU HU0302895A patent/HU228614B1/en active IP Right Revival
- 2000-08-11 AU AU2000264472A patent/AU2000264472A1/en not_active Abandoned
- 2000-08-11 CN CNB008199256A patent/CN1284372C/en not_active Expired - Lifetime
- 2000-08-11 JP JP2002520565A patent/JP2004534411A/en not_active Withdrawn
- 2000-08-11 MX MXPA03001270A patent/MXPA03001270A/en active IP Right Grant
-
2007
- 2007-07-24 HK HK07108052.1A patent/HK1100115A1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5982910A (en) | 1995-03-16 | 1999-11-09 | Deutsche Thomson-Brandt Gmbh | Method and circuit arrangement for undersampling in the case of movement estimation |
EP0773688A2 (en) * | 1995-11-13 | 1997-05-14 | Tektronix, Inc. | Method for motion estimation |
WO1999060779A1 (en) * | 1998-05-20 | 1999-11-25 | Sony Electronics Inc. | Motion estimation process and system using sparse search block-matching and integral projection |
WO1999065232A1 (en) * | 1998-06-09 | 1999-12-16 | Sony Electronics Inc. | Hierarchical motion estimation process and system using block-matching and integral projection |
Also Published As
Publication number | Publication date |
---|---|
EP1325635A1 (en) | 2003-07-09 |
CA2419988A1 (en) | 2002-02-21 |
CN1284372C (en) | 2006-11-08 |
BRPI0017304B1 (en) | 2016-11-29 |
HUP0302895A2 (en) | 2003-12-29 |
JP2004534411A (en) | 2004-11-11 |
HK1100115A1 (en) | 2010-06-04 |
EE200300053A (en) | 2004-12-15 |
KR20030027021A (en) | 2003-04-03 |
EE05596B1 (en) | 2012-10-15 |
CN1933603A (en) | 2007-03-21 |
WO2002015585A1 (en) | 2002-02-21 |
CA2419988C (en) | 2009-11-17 |
MXPA03001270A (en) | 2003-06-09 |
CN100591131C (en) | 2010-02-17 |
HUP0302895A3 (en) | 2004-04-28 |
HU228614B1 (en) | 2013-04-29 |
CN1454431A (en) | 2003-11-05 |
BR0017304A (en) | 2003-07-08 |
AU2000264472A1 (en) | 2002-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6782053B1 (en) | Method and apparatus for transferring video frame in telecommunication system | |
US8005145B2 (en) | Method and apparatus for transferring video frame in telecommunication system | |
JP2007135219A (en) | Method and apparatus for video frame transfer in communication system | |
JP2007135219A6 (en) | Video frame transfer method and apparatus in communication system | |
US6954502B2 (en) | Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder | |
CN1513268B (en) | Coding method, decoding method, coding apparatus, decoding apparatus, image processing system | |
US7933334B2 (en) | Image encoder and method thereof, computer program of image encoder, and mobile terminal | |
TWI647949B (en) | Image prediction decoding method | |
KR101409826B1 (en) | Method for motion prediction using adaptive search range | |
CN105141957A (en) | Method and device for coding and decoding image and video data | |
CN115988206B (en) | Image processing method, processing apparatus, and storage medium | |
CN101409838B (en) | Coding method, decoding method, coding apparatus, decoding apparatus, and image processing system | |
US8189673B2 (en) | Method of and apparatus for predicting DC coefficient of video data unit | |
KR100828378B1 (en) | Method and apparatus for transferring video frame in telecommunication system | |
KR100987764B1 (en) | Method of and apparatus for determining reference data unit for predictive video data coding | |
EP3796657B1 (en) | Motion vector acquisition method and device | |
JP2007312397A (en) | Method and apparatus for video frame transfer in communication system | |
ZA200301088B (en) | Method and apparatus for transferring video frame in telecommunication system. | |
KR100351568B1 (en) | Apparatus and method for high compression to consider edge direction of motion compensated prediction | |
KR100212560B1 (en) | Apparatus for determinating coding mode of contour in hybrid contour coding system | |
KR100252346B1 (en) | An improved apparatus and method for coding texture move vector | |
KR100238890B1 (en) | Improved texture motion vector estimating apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130419 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140421 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150416 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160419 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170420 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180417 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20190417 Year of fee payment: 12 |