KR100327952B1 - Method and Apparatus for Segmentation-based Video Compression Coding - Google Patents
Method and Apparatus for Segmentation-based Video Compression Coding Download PDFInfo
- Publication number
- KR100327952B1 KR100327952B1 KR1019980055146A KR19980055146A KR100327952B1 KR 100327952 B1 KR100327952 B1 KR 100327952B1 KR 1019980055146 A KR1019980055146 A KR 1019980055146A KR 19980055146 A KR19980055146 A KR 19980055146A KR 100327952 B1 KR100327952 B1 KR 100327952B1
- Authority
- KR
- South Korea
- Prior art keywords
- region
- encoding
- image
- transform
- background
- Prior art date
Links
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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 비디오 카메라 등의 영상 매체를 통하여 입력된 아날로그 동영상 신호를 디지털 동영상 신호로 변환한 후 배경 영역과 물체 영역을 판별하는 영역분할을 행하고 그 결과를 이용하여 배경영역과 물체영역에 대하여 차별적인 압축 부호화를 행하는 동영상 압축 부호화 기술로서 목표물 영역의 정보 손실을 최소화하면서 높은 압축 율을 얻을 수 있는 방법 및 장치를 제안한다.The present invention converts an analog video signal input through an image medium such as a video camera into a digital video signal, and then performs a region division for discriminating a background region and an object region, and uses the result to discriminate the background region and the object region. As a video compression encoding technique for performing compression encoding, a method and apparatus for obtaining a high compression rate while minimizing information loss in a target region are proposed.
영역 분할 기반 동영상 압축 부호화기는 현재 영상 프레임 메모리, 배경 영상 프레임 메모리, 이전 물체 영상 메모리를 구비한다. 영역 분할 기반 동영상 압축 부호화기는 또한, 영역 분할 및 부호화 제어기, 변환 부호화기, 변환 복호화기, 엔트로피 부호화기, 비트스트림 작성기를 갖는다. 영역 분할 및 부호화 제어기는 현재 영상 프레임 메모리에 저장된 현재의 영상에 대하여 상기 단위 영역별로 배경 영역인지 물체 영역인지의 영역 분할을 수행하고, 그 결과를 이용해 단위 영역별로 차별적으로 부호화 지시와 움직임 벡터를 생성한다. 변환 부호화기는 영역 분할 및 부호화 제어기로부터 상기 단위 영역별 부호화 지시와 움직임 벡터를 입력받아 그에 따라 단위 영역의 영상 데이터에 대한 차별적인 변환 부호화를 수행한다. 변환 복호화기는 배경 영상 프레임 메모리와 상기 이전 물체 영상 메모리를 갱신(update)하기 위하여, 상기 변환 부호화기로부터 변환 부호화 된 상기 단위 영역의 영상 데이터에 대해 변환 복호화를 수행한다. 엔트로피 부호화기는 변환 부호화기로부터의 변환 부호화 된 데이터와 상기 영역 분할 및 부호화 제어기로부터의 부호화 지시와 움직임 벡터에 대하여 차별적으로 엔트로피 부호화(Entropy Coding)를 수행한다. 비트스트림 작성기는 엔트로피 부호화기로부터의 출력을 일정한 형식에 맞추어 비트스트림으로 출력한다. 본 발명에 따르면, 기존의 압축 부호화 방법에 비하여 중요한 정보를 가지고 있는 물체 영역에 대하여 같은 크기의 데이터 저장 공간을 이용한 경우보다 우수한 화질을 구현할 수 있다.The region segmentation based video compression encoder includes a current image frame memory, a background image frame memory, and a previous object image memory. The region segmentation based video compression encoder also has a region segmentation and encoding controller, a transform encoder, a transform decoder, an entropy encoder, and a bitstream generator. The region segmentation and encoding controller performs region segmentation of the background region or the object region for each unit region of the current image stored in the current image frame memory, and generates an encoding instruction and a motion vector differentially for each unit region by using the result. do. The transform encoder receives the encoding instruction and the motion vector for each unit region from the region segmentation and encoding controller and performs differential transform encoding on the image data of the unit region accordingly. The transform decoder performs transform decoding on the image data of the unit region transform-coded from the transform encoder to update a background image frame memory and the previous object image memory. The entropy coder performs entropy coding differentially on the transform-coded data from the transform encoder, the encoding instruction from the region segmentation and encoding controller, and the motion vector. The bitstream generator outputs the output from the entropy encoder in a bitstream in a predetermined format. According to the present invention, an image quality superior to the case of using the same size data storage space for an object area having important information as compared to the conventional compression encoding method can be realized.
Description
본 발명은 무인 감시 시스템이나 영상회의, 영상전화, 영상강의와 같이 배경영상의 변화가 자주 발생하지 않는 비디오 영상 신호의 데이터 압축에 효과적으로 이용될 수 있는 동영상 신호의 압축 부호화 방법에 관한 것으로, 동영상 영역 분할 방법 및 압축 부호화 방법에 관한 것이다.The present invention relates to a compression encoding method of a video signal that can be effectively used for data compression of a video video signal in which a change of a background video does not frequently occur, such as an unmanned surveillance system, a video conference, a video call, or a video lecture. A splitting method and a compression coding method are provided.
멀리 떨어져 있는 지역간의 영상 통신이 필수적인 영상회의, 화상전화, 화상강의 등의 분야에서는 통신 선로의 대역폭을 감안하여 비디오 신호의 데이터 압축방법으로 이미 표준화되어 있는 H.26x 계열의 기법들이 많이 이용되고 있고, 비디오 신호의 디지털 형태로의 저장/방송/전송을 위해서는 MPEG(Motion Picture Expert Group)에서 표준화한 기법들인 MPEG-1, MPEG-2 기법이 많이 이용되고 있다. 그리고 비디오 신호를 이용한 무인 감시 시스템에서는 대부분의 경우 아날로그 비디오 신호를 그대로 전송하여 아날로그 비디오 테이프에 저장하는 방식을 이용해 왔으나, 테이프에 영상을 반복 저장함으로써 화질저하 및 테이프교체 등으로 인한 비용 증가 등의 이유로 최근에 들어서는 아날로그 비디오 신호를 디지털 신호로 변환한 후 H.26x계열이나 MPEG계열 혹은 JPEG(Joint Picture Expert Group)계열의 비디오 압축 기법들을 이용하는 감시 시스템들의 사용이 점차 증가되고 있다.In the field of video conferencing, video telephony, video lecture, etc. where video communication between remote areas is essential, H.26x series of techniques, which are already standardized as data compression method of video signals, are widely used in consideration of bandwidth of communication line. For the storage, broadcasting, and transmission of video signals in digital form, MPEG-1 and MPEG-2 techniques, which are standardized by the Motion Picture Expert Group (MPEG), are widely used. In most cases, unmanned surveillance systems using video signals have been used to transmit analog video signals as they are and store them on analog video tapes.However, by repeatedly storing images on tapes, image quality is reduced and the cost of tape replacement increases. In recent years, the use of surveillance systems using H.26x, MPEG or Joint Picture Expert Group (JPEG) video compression techniques has been increasingly used after converting analog video signals into digital signals.
지금까지 비디오 신호의 데이터 압축을 위하여 개발된 많은 동영상 압축 부호화 기법들은 대부분 현재 영상을 일정한 크기의 사각 영역(MB: Macro-block)으로 나누고, 각 영역을 이전 영상과 비교하여 움직임 보상(Motion Compensation)을 수행한 후 움직임 보상된 영상과 현재 영상과의 차이(difference or error)를 압축 부호화 하는 것을 기본으로 한다.Many video compression coding techniques developed so far for data compression of video signals divide the current video into a certain sized rectangular area (MB) and compare each area with the previous video to obtain motion compensation. After performing the method, compression encoding of the difference (difference or error) between the motion compensated image and the current image is performed.
이러한 방법에서는 다음과 같은 결점이 있다.This method has the following drawbacks.
첫째, 물체의 이동에 의해 가려졌다가 다시 나타난 배경 영역(uncovered background)을 새로 부호화 하여야 한다.First, the uncovered background, which is covered by the movement of the object and reappears, must be newly encoded.
둘째, 영상 부호화기의 특성으로 인하여 입력 영상의 프레임 속도(frame rate)(즉, 현재 영상이 부호화기로 입력되는 속도)가 낮은 경우 인접한 영상(혹은 프레임)에 있는 물체의 움직임이 크게 되어 움직임 예측이 실패할 확률이 높아지게 되며 이로 인하여 비트 발생량이 증가하게 되고 결국 데이터 압축 효율이 떨어지게 된다.Second, when the frame rate of the input video (that is, the speed at which the current video is input to the encoder) is low due to the characteristics of the video encoder, the motion prediction of the object in the adjacent video (or frame) becomes large and the motion prediction fails. The probability of doing so increases, which increases the amount of bits generated, which in turn reduces the data compression efficiency.
셋째, 부호화 된 영상에 대한 임의접근(random access)을 가능하게 하려면 MPEG계열의 부호화 기법에서 많이 사용하고 있는 것처럼 주기적으로 I-프레임(Intra-frame)을 삽입해야 하는데, I-프레임은 현재 영상과 이전 영상과의 차이를 부호화 하는 것이 아니라 마치 정지 영상의 부호화와 같이 현재 영상(frame)만을 독립적으로 압축 부호화 하는 것이므로 상대적으로 비트 발생량이증가하게 된다.Third, in order to enable random access to the coded video, I-frames need to be inserted periodically, as is widely used in the MPEG coding scheme. Instead of encoding the difference from the previous image, as in encoding still images, only the current frame is independently compressed and encoded, so that the amount of bit generation increases.
넷째, 부호화 할 때 물체 영역과 배경 영역을 구분하지 않으므로 물체가 나타났을 때 경보를 울리는 등의 추가 기능을 구현하려면 별도의 계산 수행이 요구된다.Fourth, since the object region and the background region are not distinguished when encoding, an additional calculation is required to implement additional functions such as an alarm when an object appears.
다섯째, 물체영역과 배경영역을 구분하지 않으므로 상대적으로 중요한 물체 영역은 압축 율을 낮추어 화질을 높이고 덜 중요한 배경영역은 압축 율을 높여서 화질을 떨어뜨리는 등의 중요 영역에 대한 화질 제어를 수행할 수 없다.Fifth, since it does not distinguish between object area and background area, it is impossible to control the quality of important areas such as lowering compression rate for relatively important object areas to improve image quality and lowering quality for less important background areas to increase compression ratio. .
본 발명의 목적은 비디오 영상 신호의 효율적인 압축을 위하여 배경 영상과 이전 영상을 이용하여 현재 영상을 압축 부호화 하는 방식을 제공하는 것이다.An object of the present invention is to provide a method of compressing and encoding a current image using a background image and a previous image for efficient compression of a video image signal.
본 발명의 다른 목적은 입력 영상을 일정한 크기의 단위 영역들로 구분한 후 각 단위 영역이 배경 영역과 물체 영역 중 어느 영역에 속하는 지를 판별하고 각 영역별로 차별적인 부호화 지시를 생성하는 영역 분할 및 부호화 제어기를 제공하는 것이다.Another object of the present invention is to divide an input image into unit areas having a constant size, and then determine whether each unit area belongs to a background area or an object area, and segmentation and encoding to generate differential encoding instructions for each area. To provide a controller.
본 발명의 다른 목적은 영역 분할 된 입력 영상에 대해 각 영역별로 차별적인 압축 부호화를 행함으로써 압축 율을 높이는 것이다.Another object of the present invention is to increase the compression rate by performing differential compression encoding for each region of the region-divided input image.
도1은 영역 분할 기반 동영상 압축 부호화기의 전체 구성과 그 입/출력을 도시한 도면BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing the overall configuration of an area segmentation based video compression encoder and its input / output
도 2는 도1에 도시한 영역 분할 및 부호화 제어기(SCC)의 세부 구성과 그 입/출력을 도시한 도면FIG. 2 is a diagram showing a detailed configuration of an area segmentation and coding controller (SCC) and input / output thereof shown in FIG.
도3은 도1에 도시한 변환 부호화기(TC)의 세부 구성과 그 입/출력을 도시한 도면FIG. 3 is a diagram showing the detailed configuration of the transform encoder TC shown in FIG. 1 and its input / output. FIG.
도4는 도1에 도시한 변환 복호화기(TD)의 세부 구성과 그 입/출력을 도시한 도면FIG. 4 is a diagram showing the detailed configuration of the transform decoder TD shown in FIG. 1 and its input / output.
도5는 도 2에 도시한 배경 영역 판별기(BAC)의 배경 영역 판별 절차와 그 출력을 도시한 도면FIG. 5 is a diagram showing a background area discrimination procedure and output thereof of the background area discriminator BAC shown in FIG.
도6은 도 2에 도시한 정상성 분석기(SA)의 정상성 판단 절차와 그 출력을 도시한 도면FIG. 6 is a diagram illustrating a normality determination procedure and its output of the normality analyzer SA shown in FIG.
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
10: 동영상 압축 부호화기 12: 영상 프레임 메모리10: video compression encoder 12: video frame memory
14: 배경 영상 프레임 메모리 16: 이전 물체 영상 메모리14: Background image frame memory 16: Previous object image memory
18: 엔트로피 부호화기 19: 비트스트림 작성기18: Entropy Encoder 19: Bitstream Builder
20: 영역분할 및 부화화 제어기 30: 변환 부호화기20: segmentation and incubation controller 30: transform encoder
40: 변환 복호화기 50: 영상 입력 소스40: conversion decoder 50: video input source
52: 네트워크 54: 저장 매체52: network 54: storage medium
본 발명의 구성 및 작용을 설명하기 위해 다음의 두 가지 용어를 정의한다.The following two terms are defined to describe the construction and operation of the present invention.
1. 매크로 블록(MB; Macro-block): 본 발명에서는 영상을 사전 설정된 일정한 크기의 사각 단위 영역들로 아래의 예와 같이 구분할 때, 이 각각의 단위 영역을 MB(매크로 블록)이라 정의한다. 매크로 블록(MB)의 크기는 가로 세로 각각 16 픽셀이 바람직하며 필요에 따라 다른 크기를 사용할 수도 있다.1. Macro-block (MB): In the present invention, when the image is divided into predetermined rectangular unit areas having a predetermined size as in the following example, each unit area is defined as MB (macro block). The size of the macro block MB is preferably 16 pixels in width and width, and other sizes may be used if necessary.
2. 매크로 블록 정보(MB_Info; Macro-block Information): 본 발명에서는 현재 영상의 각 매크로 블록(MB)들을 어떻게 부호화 할 것인가에 대한 정보를 매크로 블록 정보(MB_Info)(매크로 블록 정보)라 정의한다. 현재 영상의 각 매크로 블록(MB)들은 각자의 매크로 블록 정보(MB_Info)를 갖게 된다. 매크로 블록 정보(MB_Info)는 구체적으로 움직임 예측(Motion Estimation) 결과로 발생하는 움직임 벡터(Motion Vector)와 매크로 블록(MB) 단위로 차별적인 부호화를 수행하기 위한 부호화 지시(Coding Directive)로 구성된다. 움직임 벡터와 부호화 지시에 대해서는 후술하기로 한다. 본 발명에서 영역분할기와 변환 부호화기와의 통신은 이 매크로 블록 정보(MB_Info)를 통해 이루어진다.2. Macro-block information (MB_Info): In the present invention, information on how to encode each macro block MB of the current video is defined as macro block information MB_Info (macro block information). Each macro block MB of the current image has its own macro block information MB_Info. Specifically, the macro block information MB_Info includes a motion vector generated as a result of motion estimation and a coding directive for performing differential encoding in units of a macro block MB. The motion vector and the encoding instruction will be described later. In the present invention, the communication between the region splitter and the transform encoder is performed through this macro block information MB_Info.
본 발명의 상기 목적은, 현재의 영상을 사전 설정된 단위 영역(MB; Macro-Block)으로 나누고, 각 단위 영역을 저장되어 있던 배경 영상과 저장되어 있던 물체 영상과의 유사성에 따라 차별적으로 압축 부호화하기 위한 영역 분할 기반 동영상 압축 부호화기(SVC Encoder: Segmentation-based Video Compression Encoder)로서,The above object of the present invention is to divide a current image into a predetermined unit area (MB; Macro-Block), and to separately compress and encode each unit area according to the similarity between the stored background image and the stored object image. Segmentation-based Video Compression Encoder (SVC Encoder)
현재 영상을 저장하기 위한 현재 영상 프레임 메모리(CFM: Current Frame memory)와;A current picture frame memory (CFM) for storing a current picture;
배경 영상을 저장하기 위한 배경 영상 프레임 메모리(BFM: background Frame memory)와;A background image frame memory (BFM) for storing a background image;
이전 물체 영상을 저장하기 위한 이전 물체 영상 메모리(POM: Previous Object memory)와;A previous object image memory (POM) for storing a previous object image;
상기 현재 영상 프레임 메모리에 저장된 현재의 영상에 대하여 상기 단위 영역별로 배경 영역인지 물체 영역인지의 영역 분할을 수행하고, 그 결과를 이용해 단위 영역별로 차별적인 부호화 지시와 움직임 벡터를 생성하는 영역 분할 및 부호화 제어기(SCC: Segmentation and Coding Control)와;Region segmentation and encoding for segmenting the current image stored in the current image frame memory into a background region or an object region for each unit region and generating differential coding instructions and motion vectors for each unit region using the result. Segmentation and Coding Control (SCC);
상기 영역 분할 및 부호화 제어기로부터 상기 단위 영역별 부호화 지시와 움직임 벡터를 입력받아 그에 따라 단위 영역의 영상 데이터에 대한 차별적인 변환 부호화를 수행하는 변환 부호화기(TC: Transform Coder)와;A transform coder (TC) for receiving a coding instruction and a motion vector for each unit region from the region segmentation and encoding controller and performing differential transform encoding on image data of a unit region according to the input signal;
상기 배경 영상 프레임 메모리와 상기 이전 물체 영상 메모리를 갱신(update)하기 위하여, 상기 변환 부호화기로부터 변환 부호화 된 상기 단위 영역의 영상 데이터에 대해 변환 복호화를 수행하는 변환 복호화기(TD: Transform Decoder)와;A transform decoder (TD) for performing transform decoding on the image data of the unit region transform-coded from the transform encoder to update the background image frame memory and the previous object image memory;
상기 변환 부호화기로부터의 변환 부호화 된 데이터와 상기 영역 분할 및 부호화 제어기로부터의 부호화 지시와 움직임 벡터에 대하여 차별적으로 엔트로피 부호화(Entropy Coding)를 수행하기 위한 엔트로피 부호화기(EC: Entropy Coder)와;An entropy coder (EC) for differentially performing entropy coding on the transform-coded data from the transform encoder, the encoding instruction from the region division and encoding controller, and a motion vector;
상기 엔트로피 부호화기로부터의 출력을 일정한 형식에 맞추어 비트스트림으로 출력하기 위한 비트스트림 작성기(BF: Bitstream Formatter);A bitstream formatter (BF) for outputting the output from the entropy encoder into a bitstream according to a predetermined format;
을 포함하는 것을 특징으로 하는 영역 분할 기반 동영상 압축 부호화기(SVC Encoder: Segmentation-based Video Compression Encoder)에 의해 달성된다.It is achieved by a segmentation-based video compression encoder (SVC Encoder) characterized in that it comprises a.
본 발명의 다른 측면에 따르면 현재의 영상을 사전 설정된 단위 영역(MB: Macro-Block)으로 나누고, 각 단위 영역을 배경 영상 프레임 메모리(BFM: background Frame memory)에 저장된 배경 영상과 물체 영상 메모리(POM: Previous Object memory)에 저장되어 있던 물체 영상과의 유사성에 따라 차별적으로 압축 부호화하는 영역 분할 기반 동영상 압축 부호화방법으로서,According to another aspect of the present invention, the current image is divided into a predetermined unit area (MB), and each unit area is stored in a background frame memory (BFM) and an object image memory (POM). : A segmentation-based video compression encoding method that differentially encodes and compresses according to similarity with an object image stored in a previous object memory.
상기 현재 영상에 대하여 상기 단위 영역별로 배경 영역인지 물체 영역인지 판별하는 단계와;Determining whether the unit is a background area or an object area with respect to the current image;
상기 단위 영역별로 차별적인 부호화 지시와 움직임 예측에 의한 움직임 벡터를 생성하는 단계와;Generating a motion vector by differential coding instruction and motion prediction for each unit region;
상기 단위 영역별 부호화 지시에 따라 단위 영역의 영상 데이터에 대한 차별적인 변환 부호화를 수행하는 단계와;Performing differential transform encoding on image data of a unit region according to the encoding instruction for each unit region;
변환 부호화 된 데이터와 상기 부호화 지시와 움직임 벡터에 대하여 차별적으로 엔트로피 부호화(Entropy Coding)를 수행하는 단계를Differentially performing entropy coding on the transform coded data, the encoding indication, and the motion vector.
포함하는 것을 특징으로 하는 영역 분할 기반 동영상 압축 부호화방법이 제공된다.An area segmentation based video compression encoding method is provided.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1을 참조하면, 본 발명의 일실시예에 따른 영역 분할 기반 동영상 압축 부호화기(SVC Encoder: Segmentation-based Video Compression Encoder; 10)의 전체 구성과 그 입/출력이 도시되어 있다.Referring to FIG. 1, an overall configuration and an input / output of a Segmentation-based Video Compression Encoder (SVC Encoder) 10 according to an embodiment of the present invention are shown.
동영상 압축 부호화기(SVC; 10)는 입력받은 현재의 영상에 대하여 매크로 블록(MB) 단위로 배경 영역인지 물체 영역인지를 판별하고 각 영역 별로 차별적인 매크로 블록 정보(MB_Info)를 생성하는 영역 분할 및 부호화 제어기(SCC; 20)와; 영상 입력 소스(VS; 50)로부터 입력된 현재 영상 프레임을 저장하는 현재 영상 프레임 메모리(CFM; 12)와; 배경 영상을 저장하기 위한 배경 영상 프레임 메모리(BFM; 14)와; 이전 영상을 저장하기 위한 이전 물체 영상 메모리(POM; 16)와; 현재 영상의 매크로 블록(MB) 데이터에 대하여 상기 매크로 블록 정보(MB_Info)에 따라 차별적인 부호화를 수행하기 위한 변환 부호화기(TC; 30)와; 상기 변환 부호화기(30)로부터의 출력 데이터와 상기 매크로 블록 정보(MB_Info)를 엔트로피 부호화하기 위한 엔트로피 부호화기(EC; 18)와; 상기 엔트로피 부호화기로(18)부터의 출력 데이터를 특정한 형식에 맞추어 비트스트림(bitstream)으로 만드는 비트스트림 작성기(BF; 19)와; 상기 변환 부호화기(30)로부터의 출력 데이터를 복호화 하여 배경 영상 프레임 메모리(BFM; 14)와 이전 물체 영상 메모리(POM; 16)를 갱신(update)하기 위한 변환 복호화기(TD; 40)를 구비한다.The video compression encoder (SVC) 10 determines whether it is a background area or an object area in units of macro blocks (MB) with respect to the received current image, and segmentation and encoding for generating differentiated macro block information (MB_Info) for each area. A controller (SCC) 20; A current image frame memory (CFM) 12 for storing a current image frame input from an image input source VS 50; A background image frame memory (BFM) 14 for storing a background image; A previous object image memory (POM) 16 for storing a previous image; A transform encoder (TC) 30 for performing differential encoding on macro block (MB) data of a current image according to the macro block information (MB_Info); An entropy encoder (EC) 18 for entropy encoding the output data from the transform encoder 30 and the macro block information MB_Info; A bitstream generator (BF) 19 for converting the output data from the entropy encoder 18 into a bitstream according to a specific format; A transform decoder (TD) 40 for decoding the output data from the transform encoder 30 to update the background image frame memory (BFM) 14 and the previous object image memory (POM) 16. .
동영상 압축 부호화기(SVC; 10)로의 입력은 영상 프레임 그래버 등의 디지털 영상 입력원(VS: Video Source)으로부터의 현재 영상 데이터이다. 동영상 압축 부호화기(SVC; 10)로부터의 출력은 입력된 현재 영상 데이터에 대한 압축 부호화 된 데이터와 그 데이터를 이용해 현재 영상을 복원하기 위해 필요한 정보를 포함하는 비트스트림(bitstream)이 된다. 상기 출력 비트스트림은 필요에 따라 하드디스크나 마그네틱테이프와 같은 저장 매체(storage media; 54)에 저장될 수도 있고, 네트워크(network; 52)를 통하여 전송될 수도 있다.The input to the video compression encoder (SVC) 10 is current video data from a digital video input source (VS) such as a video frame grabber. The output from the video compression encoder (SVC) 10 is a bitstream including compressed and coded data about the input current video data and information necessary for reconstructing the current video using the data. The output bitstream may be stored in a storage medium 54 such as a hard disk or a magnetic tape, if necessary, or transmitted through a network 52.
계속해서 도 1을 참조하면, 현재 영상 프레임 메모리(CFM, Current Frame memory; 12), 배경 영상 프레임 메모리(BFM, Background Frame memory; 14), 그리고 이전 물체 영상 메모리(POM, Previous Object memory; 16)는 모두 영상 데이터를 저장하는 메모리이다. 현재 영상 프레임 메모리(CFM; 12)는 상기 영상 입력 소스(VS; 50)로부터 입력된 현재 영상 프레임을 저장하는 현재 영상 프레임 메모리이다. 배경 영상 프레임 메모리(BFM; 14)는 현재 영상 데이터가 입력되기 직전까지의 영상 데이터들로부터 추출된 배경 영상을 저장하는 배경 영상 프레임 메모리이다. 이전 물체 영상 메모리(POM; 16)는 현재 영상 데이터 바로 이전의 영상 데이터로부터 추출된 물체 영상을 저장하는 이전 물체 영상 메모리이다.1, a current image frame memory (CFM) 12, a background image frame memory (BFM) 14, and a previous object image memory (POM) 16 are described. Are both memories that store image data. The current image frame memory (CFM) 12 is a current image frame memory that stores a current image frame input from the image input source VS 50. The background image frame memory (BFM) 14 is a background image frame memory that stores a background image extracted from image data until immediately before current image data is input. The previous object image memory (POM) 16 is a previous object image memory for storing an object image extracted from image data immediately before the current image data.
영역분할 및 부호화 제어기(SCC, Segmentation and Coding Control; 20)는 현재 영상 프레임 메모리(CFM; 12)에 저장되어 있는 현재 영상 데이터의 각 매크로 블록(MB) 데이터가 배경 영상인지 물체 영상인지를 판별하는 영역 분할을 수행한 후, 그 결과를 이용하여 각 매크로 블록(MB) 데이터의 부호화에 필요한 정보인 매크로 블록 정보(MB_Info)를 매크로 블록(MB) 단위로 생성한다. 영역분할 및 부호화 제어기(SCC; 20)의 입력은 현재 영상 프레임 메모리(CFM; 12)에 저장된 현재 영상과, 배경 영상 프레임 메모리(BFM; 14)에 저장된 배경 영상, 그리고 이전 물체 영상 메모리(POM; 16)에 저장된 이전 물체 영상이다. 이 영역분할 및 부호화 제어기(SCC; 20)는 현재 영상을 배경 영상과 물체 영상과 각각 비교하여 매크로 블록(MB) 단위의 영역 분할을 수행한다. 영역분할 및 부호화 제어기(SCC; 20)의 출력은 매크로 블록 정보(MB_Info)이다. 매크로 블록 정보(MB_Info)는 움직임예측(motion estimation) 결과로 발생하는 움직임 벡터(mv: motion vector)와 매크로 블록(MB) 단위로 차별적인 부호화를 수행하기 위한 부호화 지시(cd: coding directive)로 구성된다.Segmentation and Coding Control (SCC) 20 determines whether each macroblock (MB) of the current image data stored in the current image frame memory (CFM) 12 is a background image or an object image. After region division is performed, macroblock information MB_Info, which is information necessary for encoding each macroblock MB data, is generated in units of macroblocks using the result. The input of the region division and encoding controller (SCC) 20 includes a current image stored in the current image frame memory (CFM) 12, a background image stored in the background image frame memory (BFM) 14, and a previous object image memory (POM). 16) is the previous object image stored in. The area division and encoding controller (SCC) 20 compares the current image with the background image and the object image, respectively, and performs area division in units of macro blocks (MB). The output of the region division and coding controller (SCC) 20 is macro block information MB_Info. The macro block information MB_Info is composed of a motion vector (mv) generated as a result of motion estimation and a coding directive (cd: coding directive) for performing differential coding in units of macro blocks (MB). do.
현재 영상의 각 매크로 블록(MB) 데이터는 상기 부호화 지시에 따라 변환 부호화기(TC, Transform Coder; 30)에서 변환 부호화 되며, 그 결과가 엔트로피 부호화기(EC, Entropy Coder; 18)에서 엔트로피 부호화(entropy coding) 된다. 상기 변환 부호화기(TC; 30)에서 변환 부호화 된 데이터는 또한 상기 부호화 지시에 따라 변환 복호화기(TD, Transform Decoder; 40)에서 복호화 되어 배경 영상 프레임 메모리(BFM; 14)와 이전 물체 영상 메모리(POM; 16)를 갱신(update)하는데 사용된다.Each macroblock (MB) data of the current image is transform-coded by a transform coder (TC) 30 according to the encoding instruction, and the result is entropy coding by an entropy coder (EC) 18. ) do. The data encoded by the transform encoder TC 30 may also be decoded by a transform decoder 40 according to the encoding instruction to be used for the background image frame memory BFM 14 and the previous object image memory POM. 16) used to update.
매크로 블록 정보(MB_Info)는 또한 상기 엔트로피 부호화기(EC; 18)에서 엔트로피 부호화 되어 비트스트림 작성기(BF; 19)에 의해 압축 비트스트림에 포함된다. 상기 동작을 수행하는 영역분할 및 부호화 제어기(SCC; 20)의 상세한 내부 구성 및 동작은 뒤에서 도 2 및 도 5, 도 6, 표 5, 표 6, 표 7을 참조하여 설명하기로 한다.The macro block information MB_Info is also entropy coded in the entropy encoder EC 18 and included in the compressed bitstream by the bitstream generator BF 19. A detailed internal configuration and operation of the region division and coding controller (SCC) 20 that performs the above operation will be described with reference to FIGS. 2 and 5, 6, 5, 6, and 7 below.
도 1 및 도 2와 아래의 표 1을 참조하여 매크로 블록 정보(MB_Info)에 대하여 설명한다.Macro block information MB_Info will be described with reference to FIGS. 1 and 2 and Table 1 below.
매크로 블록 정보(MB_Info)는 앞에서 설명한 바와 같이, 움직임 예측(motion estimation) 결과로 발생하는 움직임 벡터(mv: motion vector)와 매크로 블록(MB) 단위로 차별적인 부호화를 수행하기 위한 부호화 지시(cd: coding directive)로 구성된다.As described above, the macro block information MB_Info includes a motion vector (mv: motion vector) generated as a result of motion estimation and an encoding instruction (cd :) for performing differential encoding in units of macro blocks (MB). coding directive).
부호화 지시(cd)는 상기 영역분할 및 부호화 제어기(SCC; 20)에서의 영역 분할(segmentation)의 결과로 생성되며, 변환 부호화기(TC; 30)와 엔트로피 부호화기(EC; 18)를 제어하여 매크로 블록(MB) 단위의 차별적 부호화를 수행하게 하고, 변환 복호화기(TD; 40)를 제어하여 매크로 블록(MB) 단위의 차별적 복호화를 수행하게 한다.The encoding instruction cd is generated as a result of the segmentation in the region division and the encoding controller SCC 20, and controls the transform encoder TC 30 and the entropy encoder EC 18 to control the macroblock. Differential coding in (MB) units, and the transform decoder (TD) 40 is controlled to perform differential decoding in units of macro blocks (MBs).
아래의 표 1은 본 발명의 일실시예에 따른 6 가지 종류의 부호화 지시(B_SKIP, B_INTER, B_UPDT, O_SKIP, O_INTER, O_INTRA)에 대한 설명을 정리한 것이다.Table 1 below summarizes descriptions of six types of encoding instructions B_SKIP, B_INTER, B_UPDT, O_SKIP, O_INTER, and O_INTRA according to an embodiment of the present invention.
<표 1>TABLE 1
부호화 지시(cd: Coding Directive)의 종류와 각각의 의미Types of Coding Directives (cd) and Their Meanings
* 상기 표에서 'X'는 움직임 벡터를 무시함을, 'O'는 움직임 벡터를 이용* 'X' in the above table ignores motion vectors and 'O' uses motion vectors
함을 나타낸다.It is displayed.
** 상기 표에서 '해당 위치'라 함은 입력된 매크로 블록(MB)의 현재 영상 프** 'Location' in the above table means the current image program of the input macro block (MB).
레임 상에서의 위치와 동일한 위치를 지칭한다.It refers to the same position as the position on the frame.
먼저, B_SKIP(Background-referenced Skip)은 비트 플래그(bit flag)로 '100000'을 가지며, 현재 영상 프레임 메모리(CFM; 12)로부터 입력된 현재 영상의 매크로 블록(MB) 데이터가 배경 영상 프레임 메모리(BFM; 14) 상의 동일 위치의 매크로 블록(MB) 데이터와 거의 차이가 없으니 변환 부호화를 수행하지 말라는 지시(directive)이다.First, B_SKIP (Background-referenced Skip) has a bit flag of '100000', and macroblock (MB) data of the current image inputted from the current image frame memory (CFM) 12 is stored in the background image frame memory (B_SKIP). BFM: There is little difference from the macroblock (MB) data in the same position on the 14), which is a directive not to perform the transform encoding.
B_INTER(Background-referenced Inter-coding)는 비트 플래그로 '010000'을 가지며, 현재 영상 프레임 메모리(CFM; 12)로부터 입력된 현재 영상의 매크로 블록(MB) 데이터와 배경 영상 프레임 메모리(BFM; 14) 상의 동일 위치의 매크로 블록(MB) 데이터와의 차이 데이터를 Inter 변환 부호화 하라는 지시이다.Background-referenced inter-coding (B_INTER) has a bit flag of '010000', and macroblock (MB) data of the current image input from the current image frame memory (CFM) 12 and a background image frame memory (BFM) 14. Inter-inter encoding is performed on the difference data from the macroblock (MB) data at the same position on the image.
O_SKIP(Object-referenced Skip)은 비트 플래그로 '001000'을 가지며, 현재 영상 프레임 메모리(CFM; 12)로부터 입력된 현재 영상의 매크로 블록(MB) 데이터가 움직임 예측에 의한 이전 물체 영상 데이터와 거의 차이가 없으니 변환 부호화를 수행하지 말고 움직임 벡터(mv)만 부호화 하라는 지시이다.O_SKIP (Object-referenced Skip) has '001000' as a bit flag, and macro block (MB) data of the current image input from the current image frame memory (CFM) 12 is almost different from previous object image data by motion prediction. Since there is no, the instruction is to encode only the motion vector mv without performing transform encoding.
O_INTER(Object-referenced Inter-coding)는 비트 플래그로 '000001'을 가지며, 현재 영상 프레임 메모리(CFM; 12)로부터 입력된 현재 영상의 매크로 블록(MB) 데이터와 움직임 예측에 의한 이전 물체 영상 데이터와의 차이를 Inter 변환 부호화하고 움직임 벡터도 부호화 하라는 지시이다.O_INTER (Object-referenced Inter-coding) has '000001' as a bit flag, and macroblock (MB) data of the current image inputted from the current image frame memory (CFM) 12 and previous object image data by motion prediction. Instructs to inter-convert the difference and encode the motion vector.
O_INTRA(Object-referenced Intra-coding)는 비트 플래그로 '000010'을 가지며, 현재 영상 프레임 메모리(CFM; 12)로부터 입력된 현재 영상의 매크로 블록(MB)데이터를 Intra 변환 부호화 하라는 지시이다.O-INTRA (Object-referenced Intra-coding) has a bit flag of '000010' and is an instruction to perform intra-contrast encoding of macroblock (MB) data of a current image input from a current image frame memory (CFM) 12.
B_UPDT(Background Update)는 비트 플래그로 '000100'을 가지며 현재 영상 프레임 메모리(CFM; 12)로부터 입력된 현재 영상의 매크로 블록(MB)과 동일 위치를 갖는 이전 물체 영상 메모리(POM; 16)상의 매크로 블록(MB) 데이터를 배경 영상 프레임 메모리(BFM; 14)상의 동일 위치의 매크로 블록(MB)으로 복사함으로써 배경 영상 프레임 메모리(BFM; 14)를 갱신(update)하라는 지시이다. 이 B_UPDT의 의미는 현재 영상 프레임 메모리(CFM; 12)로부터 입력된 현재 영상의 매크로 블록(MB) 데이터가 이전 물체 영상 메모리(POM; 16)상의 동일 위치의 매크로 블록(MB) 데이터와 일정 시간 동안 혹은 일정 개수의 프레임이 경과하는 동안 계속하여 차이가 거의 없었으니, 이후 프레임부터는 상기 이전 물체 영상 메모리(POM; 16)상의 동일 위치의 매크로 블록(MB) 데이터를 배경 영상으로 이용한다는 의미이다.Background Update (B_UPDT) has a bit flag of '000100' and has a macro on a previous object image memory (POM) 16 having the same position as the macro block MB of the current image input from the current image frame memory (CFM) 12. It is an instruction to update the background image frame memory BFM 14 by copying the block MB data to the macro block MB at the same position on the background image frame memory BFM 14. This B_UPDT means that the macroblock (MB) data of the current image inputted from the current image frame memory (CFM) 12 is the same as the macroblock (MB) data of the same position on the previous object image memory (POM) 16 for a predetermined time. Alternatively, since there is almost no difference while the predetermined number of frames have elapsed, it means that the macro frame (MB) data at the same position on the previous object image memory (POM) 16 is used as the background image from the subsequent frame.
지금까지의 설명에서 비트 플래그는 도 1에 도시된 장치들 사이에서 부호화 지시(cd)를 주고받는 방법으로 본 발명의 일실시예에서 도입한 것으로, 부호화 지시에 따라 여섯 개의 비트 중 한 비트만이 '1'로 set되고 나머지 비트들은 '0'으로 set된다. 그러나, 본 발명에 따른 장치 구현 시 부호화 지시를 주고받는 방법은 이에 제한되는 것은 아니며, 다른 방법을 도입하여도 무방하다.In the above description, the bit flag is introduced in one embodiment of the present invention as a method of transmitting and receiving an encoding indication (cd) between the devices shown in FIG. 1, and only one bit of six bits is provided according to the encoding indication. It is set to '1' and the remaining bits are set to '0'. However, the method of transmitting and receiving an encoding instruction in the device implementation according to the present invention is not limited thereto, and other methods may be introduced.
상기 표 1을 참조하면 부호화 지시가 B_SKIP, B_INTER, B_UPDT, 또는 O_INTRA인 경우에는 움직임 벡터(mv)가 사용되지 않는데, 논리적으로는 (0,0)의 값을 갖는 움직임 벡터를 사용한다고 생각하여도 무방하다. 따라서, 영역분할 및 부호화 제어기(SCC; 20)에서 부호화 지시로 B_SKIP, B_INTER, B_UPDT, 또는 O_INTRA를 출력하는 경우 영역분할 및 부호화 제어기(SCC; 20)는 움직임 벡터로 (0,0)를 출력하도록 한다.Referring to Table 1, when the encoding instruction is B_SKIP, B_INTER, B_UPDT, or O_INTRA, the motion vector mv is not used. Even though it is logically assumed that a motion vector having a value of (0,0) is used. It's okay. Therefore, when the region division and encoding controller (SCC) 20 outputs B_SKIP, B_INTER, B_UPDT, or O_INTRA as an encoding instruction, the region division and encoding controller (SCC) 20 outputs (0,0) as a motion vector. do.
다시, 도 1을 참조하면, 변환 부호화기(TC; 30)는 상기 영역분할 및 부호화 제어기(SCC; 20)로부터 매크로 블록 정보(MB_Info)를 입력받아, 이 매크로 블록 정보(MB_Info)에 포함된 부호화 지시(cd)에 따라 매크로 블록(MB)별 변환(transform)과 양자화(quantization)를 수행한 후, 그 결과를 엔트로피 부호화기(EC; 18)와 변환 복호화기(TD; 40)로 출력한다.Referring back to FIG. 1, the transform encoder TC 30 receives macroblock information MB_Info from the region division and encoding controller SCC 20, and encodes an instruction included in the macroblock information MB_Info. After performing transform and quantization for each macroblock MB according to (cd), the result is output to the entropy encoder EC 18 and the transform decoder TD 40.
상기 동작을 수행하는 변환 부호화기(TC; 30)의 내부 구성 및 동작을 도 3과 표 2를 참조하여 설명한다.An internal configuration and operation of the transform encoder TC 30 that performs the above operation will be described with reference to FIGS. 3 and 2.
<표 2>TABLE 2
부호화 지시에 따른 변환 부호화기(TC; 30)의 내부 스위치(32) 연결 상태Connection state of the internal switch 32 of the transform encoder TC 30 according to the encoding instruction
표 2는 부호화 지시(cd)에 따른 상기 변환 부호화기(TC; 30)의 내부 스위치(32)의 연결 상태를 보인다. 상기 내부 스위치(32)의 연결 상태에 따라 변환 부호화기(TC; 30)가 수행하는 일의 내용이 달라진다.Table 2 shows a connection state of the internal switch 32 of the transform encoder TC 30 according to the encoding instruction cd. According to the connection state of the internal switch 32, the contents of the work performed by the transform encoder TC 30 are different.
도 3과 표 2를 참조하면, 부호화 지시가 B_INTER인 경우는 상기 내부 스위치(32)가 단자 A와 연결되며, O_INTRA인 경우는 단자 B와 연결되고, O_INTER인 경우는 단자 C와 연결된다. 표 2를 참조하면, 상기 B_INTER와 O_INTRA, 그리고 O_INTER를 제외한 나머지 부호화 지시들에 대하여는 내부 스위치(32)의 단자가 A, B, C 중 어디에 연결되어도 상관없는데, 이것은 B_INTER와 O_INTRA, 그리고 O_INTER를 제외한 나머지 부호화 지시들에 대하여는 변환 부호화기(TC; 30) 다음 단의 엔트로피 부호화기(EC; 18)에 의해 변환 부호화기(TC; 30)로부터의 매크로 블록(MB) 데이터(즉, 도 3에서 양자화기(Q; 36)의 출력 양자화 계수들)가 어차피 무시되기 때문이다.Referring to FIG. 3 and Table 2, when the encoding instruction is B_INTER, the internal switch 32 is connected to the terminal A, in the case of O_INTRA, it is connected to the terminal B, and in the case of O_INTER, it is connected to the terminal C. Referring to Table 2, for the other coding instructions except for B_INTER, O_INTRA, and O_INTER, the terminal of the internal switch 32 may be connected to any of A, B, and C, except for B_INTER, O_INTRA, and O_INTER. For the remaining encoding instructions, macroblock (MB) data from the transform encoder TC 30 (ie, the quantizer Q in FIG. 3) by the entropy encoder EC 18 next to the transform encoder TC 30. (36) output quantization coefficients) are ignored anyway.
도 3을 참조하여 변환 부호화기(TC; 30)의 내부 스위치(32) 연결 상태에 따른 변환 부호화기(TC; 30)의 동작을 설명한다. 상기 내부 스위치(32)가 단자 A에 연결되면, 현재 영상 프레임 메모리(CFM; 12)로부터의 현재 영상 매크로 블록(MB) 데이터와 배경 영상 프레임 메모리(BFM; 14)상의 동일 위치의 매크로 블록(MB) 데이터와의 차이가 변환기(T; 34)(Transformer; 변환기)로 입력된다. 단자 B에 연결되면 현재 영상 프레임 메모리(CFM; 12)로부터의 현재 영상 매크로 블록(MB) 데이터가 바로 변환기(T; 34)로 입력된다. 단자 C에 연결되면 현재 영상 프레임 메모리(CFM; 12)로부터의 현재 영상 매크로 블록(MB) 데이터와 상기 움직임 보상기(MC; 38)로부터의 움직임 보상된 이전 물체 영상과의 차이(즉, 움직임 예측 오차 데이터)가 변환기(T; 34)로 입력된다. 상기 내부 스위치가 단자 A, B, C에 연결된 경우 각각에 대하여, 상기 내부 스위치의 출력 데이터는 변환기(T; 34)를 거쳐 변환되고 양자화기(Q; 36)를 거쳐 양자화 되어 변환 부호화기(TC; 30) 외부로 출력된다. 상기 변환기(T; 34)는 공간영역(spatial domain)의 영상데이터를 주파수영역(frequency domain)의 영상데이터로 변환해 주기 위한 것으로서, DCT(Discrete Cosine Transform; 이산 여현 변환) 또는 DWT(Discrete Wavelet Transform; 이산 웨이브릿 변환)와 같이 영상의 부호화에 자주 사용되는 데이터 변환을 수행한다.An operation of the transform encoder TC 30 according to the connection state of the internal switch 32 of the transform encoder TC 30 will be described with reference to FIG. 3. When the internal switch 32 is connected to the terminal A, the current image macro block (MB) data from the current image frame memory (CFM) 12 and the macro block (MB) at the same position on the background image frame memory (BFM) 14 The difference from the data is input to a transformer T 34. When connected to the terminal B, the current image macro block (MB) data from the current image frame memory (CFM) 12 is directly input to the converter T (34). When connected to terminal C, the difference between the current image macro block (MB) data from the current image frame memory (CFM) 12 and the motion compensated previous object image from the motion compensator (MC) 38 (ie, motion prediction error) Data) is input to a converter T 34. For each of the internal switches connected to terminals A, B, and C, the output data of the internal switch is transformed via a transformer (T) 34 and quantized via a quantizer (Q) 36 to transform encoder (TC; 30) It is output to the outside. The converter (T) 34 is for converting image data in a spatial domain into image data in a frequency domain, and includes a discrete cosine transform (DCT) or a discrete wavelet transform (DWT). Data conversion, which is frequently used for encoding an image, such as discrete wavelet transformation.
본 발명의 일실시예에 따른 양자화기(Q; 36)에서 필요한 양자화 테이블의 개수는 모두 3개로 각각 부호화 지시가 B_INTER, O_INTRA, O_INTER인 경우에 사용된다. 부호화 지시가 O_INTRA이거나 O_INTER인 경우는 각각 동영상 부호화에 많이 사용되는 Intra 양자화 테이블과 Inter 양자화 테이블을 사용한다. 부호화 지시가 B_INTER인 경우는 O_INTER인 경우와 같은 양자화 테이블을 사용할 수도 있고 새로운 양자화 테이블을 고안하여 사용할 수도 있다.The number of quantization tables required by the quantizer (Q) 36 according to an embodiment of the present invention is all three, and is used when the encoding instructions are B_INTER, O_INTRA, and O_INTER, respectively. If the encoding instruction is O_INTRA or O_INTER, the Intra quantization table and the Inter quantization table, which are frequently used for video encoding, are used, respectively. If the encoding instruction is B_INTER, the same quantization table as in the case of O_INTER may be used, or a new quantization table may be devised and used.
다시 도 1을 참조하면, 변환 복호화기(TD; 40)는 상기 변환 부호화기(TC; 30)로부터 변환 부호화 된 매크로 블록(MB) 단위 영상 데이터와 매크로 블록 정보(MB_Info)를 입력받아, 이 매크로 블록 정보(MB_Info)에 포함된 부호화 지시(cd)에 따라 매크로 블록(MB)별 역양자화(inverse quantization)와 역변환(inverse transform)을 수행한 후, 그 결과를 이용해 배경 영상 프레임 메모리(BFM; 14)와 이전 물체 영상 메모리(POM; 16)를 갱신(update)한다.Referring back to FIG. 1, the transform decoder (TD) 40 receives the macro block (MB) unit image data and macro block information (MB_Info) that are transform-coded from the transform encoder (TC) 30, and receives the macro block. After performing inverse quantization and inverse transform for each macroblock MB according to the encoding instruction cd included in the information MB_Info, a background image frame memory (BFM) 14 is used using the result. And the previous object image memory (POM) 16 are updated.
상기 동작을 수행하는 변환 복호화기(TD; 40)의 내부 구성 및 동작을 도 4와 표 3을 참조하여 설명한다. 변환 복호화기(TD; 40)의 동작은 기본적으로는 상기 변환 부호화기(TC; 30)의 동작의 역과정이며, 상기 변환 부호화기(TC; 30)에서 변환 부호화에 사용되었던 부호화 지시들이 변환 복호화기(TD; 40)에서는 거꾸로 변환 복호화를 위해 사용된다.An internal configuration and operation of the transform decoder TD 40 that performs the above operation will be described with reference to FIGS. 4 and 3. The operation of the transform decoder (TD) 40 is basically an inverse process of the operation of the transform encoder (TC) 30, and the encoding instructions used for transform encoding in the transform encoder (TC) 30 are converted to the transform decoder (T). TD 40) is used for inverse transform decoding.
아래 표 3은 부호화 지시(cd)에 따른 상기 변환 복호화기(TD; 40)의 내부 스위치(44, 49, 46, 47)의 연결 상태를 보인다.Table 3 below shows the connection state of the internal switches 44, 49, 46, and 47 of the transform decoder TD according to the encoding instruction cd.
<표 3>TABLE 3
부호화 지시에 따른 변환 복호화기(TD; 40)의 내부 스위치 연결 상태Internal switch connection state of the transform decoder (TD) 40 according to the encoding instruction
내부 스위치(44, 49, 46, 47)의 연결 상태에 따라 변환 복호화기(TD; 40)가 수행하는 일의 내용이 달라진다.Depending on the connection state of the internal switches 44, 49, 46, 47, the contents of the work performed by the transform decoder (TD) 40 vary.
도 4와 표 3을 참조하면, 부호화 지시가 B_SKIP인 경우는, 단자 B2, 단자 A4가 연결되어 배경 영상 프레임 메모리(BFM; 14), 복원된 현재 영상 프레임 메모리(RFM, Reconstructed Frame Memory; 48)의 순으로 데이터가 전송된다.4 and 3, when the encoding instruction is B_SKIP, the terminal B2 and the terminal A4 are connected to the background image frame memory (BFM) 14, and the restored current image frame memory (RFM) 48. Data is transmitted in the order of.
부호화 지시가 B_INTER인 경우는, 단자 A1, 단자 A2, 단자 B4가 연결되어 역양자화기(Q-1, Inverse Quantizer; 42), 역변환기(T-1, Inverse Transformer; 43)를 거친 데이터와 배경 영상 프레임 메모리(BFM; 14)로부터의 데이터가 더해져, 배경 영상 프레임 메모리(BFM; 14)와 복원된 현재 영상 프레임 메모리(RFM; 42)로 전송된다.When the encoding instruction is B_INTER, the terminal A1, the terminal A2, and the terminal B4 are connected to each other and the background and the data passed through the inverse quantizer (Q -1 , Inverse Quantizer; 42) and the inverse transformer (T -1 , Inverse Transformer; 43). Data from the image frame memory (BFM) 14 is added and transferred to the background image frame memory (BFM) 14 and the restored current image frame memory (RFM) 42.
부호화 지시가 O_INTRA인 경우는, 단자 B1, 단자 C4가 연결되어, 역양자화기(Q-1; 42), 역변환기(T-1; 43)를 거친 데이터가 바로 복원된 현재 영상 프레임 메모리(RFM; 42)로 전송된다.If the encoding instruction is O_INTRA, the terminal B1 and the terminal C4 are connected, and the current image frame memory (RFM) in which the data passed through the inverse quantizer (Q -1 ; 42) and the inverse transformer (T -1 ; 43) is immediately restored. (42).
계속하여, 부호화 지시가 O_INTER인 경우는, 단자 C1, 단자 A3, 단자 D4가 연결되어, 역양자화기(Q-1; 42), 역변환기(T-1; 43)를 거친 데이터와 이전 물체 영상 메모리(POM; 16), 움직임 보상기(MC, Motion Compensator; 45)로부터의 데이터가 더해져 복원된 현재 영상 프레임 메모리(RFM; 42)로 전송된다.Subsequently, when the encoding instruction is O_INTER, the terminal C1, the terminal A3, and the terminal D4 are connected to each other, and the data passed through the inverse quantizers Q -1 and 42 and the inverse transformer T -1 and 43 and the previous object image. Data from the memory (POM) 16 and the motion compensator (MC) 45 are added and transmitted to the restored current image frame memory (RFM) 42.
부호화 지시가 O_SKIP인 경우는, 단자 B3, 단자 E4가 연결되어, 이전 물체 영상 메모리(POM; 16), 움직임 보상기(MC; 45)로부터의 데이터가 바로 복원된 현재 영상 프레임 메모리(RFM; 42)로 전송된다.When the encoding instruction is O_SKIP, the terminal B3 and the terminal E4 are connected to each other so that the data from the previous object image memory (POM) 16 and the motion compensator (MC) 45 are directly restored and the current image frame memory (RFM) 42 Is sent to.
부호화 지시가 B_UPDT인 경우는, 단자 C3, 단자 F4가 연결되어, 이전 물체 영상 메모리(POM; 16), 움직임 보상기(MC; 45)로부터의 데이터가 배경 영상 프레임 메모리(BFM; 14)와 복원된 현재 영상 프레임 메모리(RFM; 42)로 전송된다.When the encoding instruction is B_UPDT, the terminals C3 and F4 are connected so that data from the previous object image memory (POM) 16 and the motion compensator (MC) 45 is reconstructed from the background image frame memory (BFM) 14. Current image frame memory (RFM) 42 is transmitted.
이렇게 복원된 현재 영상 프레임 메모리(RFM; 42)에 저장된 데이터는 이전 물체 영상 메모리(POM; 16)로 전송되어 이를 갱신한다.The data stored in the restored current image frame memory (RFM) 42 is transferred to the previous object image memory (POM) 16 and updated.
다시 도 1을 참조하면, 엔트로피 부호화기(EC; 18)는 상기 변환 부호화기(TC; 30)로부터 변환 부호화 된 매크로 블록(MB) 단위 영상 데이터(구체적으로는 양자화 계수들)와 매크로 블록 정보(MB_Info)를 입력받아 엔트로피 부호화(entropy coding)를 수행하고 그 결과를 비트스트림 작성기(BF; 19)(Bitstream Formatter)로 출력한다.Referring back to FIG. 1, an entropy encoder EC 18 converts macroblock (MB) unit image data (specifically, quantization coefficients) and macroblock information (MB_Info) transform-coded from the transform encoder TC 30. Receives entropy coding and outputs the result to a bitstream formatter (BF) 19 (Bitstream Formatter).
엔트로피 부호화를 수행할 대상 데이터는 상기 매크로 블록 정보(MB_Info)에 포함된 부호화 지시(cd)에 따라 달라진다. 표 4는 상기 부호화 지시에 따른 상기 엔트로피 부호화기(EC; 18)의 엔트로피 부호화 수행 대상을 보인다.The target data to be entropy encoded depends on the encoding instruction cd included in the macro block information MB_Info. Table 4 shows entropy encoding targets of the entropy encoder (EC) 18 according to the encoding instruction.
<표 4>TABLE 4
부호화 지시에 따른 엔트로피 부호화기(EC; 18)의 엔트로피 부호화 대상Entropy encoding target of the entropy encoder (EC) 18 according to the encoding instruction
* 상기 표에서 'O'는 해당 데이터에 대하여 엔트로피 부호화를 수행함을, 'X'* 'O' in the table indicates that entropy encoding is performed on the data, and 'X'
는 해당 데이터를 무시하고 엔트로피 부호화를 수행하지 않음을 나타낸다.Indicates that the data is ignored and entropy encoding is not performed.
구체적인 엔트로피 부호화 방법은 엔트로피 부호화 대상 데이터의 특성에 따라 달라질 수 있다. 즉, 부호화 지시를 엔트로피 부호화 하는 방법으로는 허프만 부호화(Huffman coding) 방법이 바람직하며, 매크로 블록(MB) 단위의 영상 데이터(즉 양자화 계수들)를 엔트로피 부호화 하는 방법으로는 지그재그-스캐닝(zigzag- scanning)에 의한 주행길이 부호화(run-length coding)의 결과를 수정된 허프만 부호화(modified-Huffman coding)나 산술 부호화(arithmetic coding)하는 방법이 바람직하고, 움직임 벡터를 부호화 하는 방법으로는 수정된 허프만 부호화(modified-Huffman coding) 방법이나 산술 부호화(arithmetic coding) 방법이 바람직하다. 부호화 지시(cd)는 필요에 따라 엔트로피 부호화하지 않고 고정 길이 부호화(FLC: fixed length coding)를 수행할 수도 있다. 엔트로피 부호화 방법에 대한 자세한 내용은 본 발명이 속한 분야에서 당업자에게 널리 알려진 상태이므로 생략한다.The specific entropy encoding method may vary depending on the characteristics of the entropy encoding target data. That is, the Huffman coding method is preferable as the method for entropy coding the coding instruction, and the method for entropy coding the image data (that is, the quantization coefficients) in units of macroblocks (MB) is zigzag-scanning. Modified Huffman coding or arithmetic coding of the result of run-length coding by scanning is preferable, and the modified Huffman is a method of encoding a motion vector. A modified-Huffman coding method or an arithmetic coding method is preferable. The coding instruction cd may perform fixed length coding (FLC) without entropy coding as necessary. Details of the entropy encoding method are omitted since they are well known to those skilled in the art.
계속해서 도 1을 참조하면, 비트스트림 작성기(BF; 19)는 상기 엔트로피 부호화기(EC; 18)로부터의 출력을 일정한 형식에 따라 비트스트림 형태로 출력하는 비트스트림 작성기(Bitstream Formatter)이다. 상기 비트스트림의 형식(bitstream syntax)은 본 발명을 사용하고자 하는 용도-본 발명의 실시예-에 따라 다를 수 있다.1, the bitstream generator BF 19 is a bitstream formatter that outputs the output from the entropy encoder EC in a bitstream form according to a predetermined format. The bitstream syntax may vary depending on the intended use of the present invention—an embodiment of the present invention.
이하 도 2와 표 5, 표 6, 표 7을 참조하여 상기 영역분할 및 부호화 제어기(SCC; 20)의 내부 구성 및 동작을 상세히 설명한다.Hereinafter, the internal configuration and operation of the region division and coding controller (SCC) 20 will be described in detail with reference to FIGS. 2, 5, 6, and 7.
도 2를 참조하면, 배경 영역 판별기(BAC; 22)는 현재 영상 프레임 메모리(CFM; 12)와 배경 영상 프레임 메모리(BFM; 14)를 매크로 블록(MB) 단위로 비교하여 세 비트의 정보를 출력하는데, 이 세 비트 중 한 비트만이 '1'로세팅(set)되고 나머지 비트들은 모두 '0'으로 세팅(set)되어 출력된다. 배경 영역 판별기(BAC; 22)의 출력 세 비트들 중 bit 1은 부호화 지시(cd)의 첫 번째 비트와 연결되어 있으며, bit 2는 부호화 지시의 두 번째 비트와 연결되어 있고, bit 3은 움직임 예측기(ME; 24)와 연결되어 움직임 예측 수행 여부를 지시한다. 표 5는 배경 영역 판별기(BAC; 22)의 출력 비트들의 발생 조건 및 그에 따른 부호화 지시(cd)를 보인다.Referring to FIG. 2, the background area discriminator (BAC) 22 compares the current image frame memory (CFM) 12 and the background image frame memory (BFM) 14 in units of macro blocks (MB) to compare three bits of information. Only one bit of these three bits is set to '1' and all the remaining bits are set to '0' and output. Bit 1 of the output three bits of the background region discriminator (BAC) 22 is connected to the first bit of the encoding instruction (cd), bit 2 is connected to the second bit of the encoding instruction, and bit 3 is the movement. It is connected to a predictor (ME) 24 to indicate whether to perform motion prediction. Table 5 shows conditions of occurrence of output bits of the background area discriminator (BAC) 22 and corresponding coding instructions cd.
<표 5>TABLE 5
배경 영역 판별기(BAC; 22)의 출력 비트의 발생 조건 및 그에 따른 부호화Condition of occurrence of output bit of background region discriminator (BAC) 22 and encoding thereof
지시(cd)Instruction (cd)
현재 영상 프레임 메모리(CFM; 12)로부터 입력받은 현재 영상 매크로 블록(MB)이 표 5에 나타난 발생 조건 중 어디에 해당하는지를 판별하는 구체적인방법은 구현자가 여러 가지 방법을 고안하여 사용할 수 있다. 이러한 방법 중의 하나 즉, 입력받은 매크로 블록(MB)과 배경 영상 프레임 메모리(BFM; 14)상의 동일 위치의 매크로 블록(MB) 사이의 유사성을 판별하여 표 5의 발생 조건 중 어디에 해당하는 지를 판별하는 한 가지 방법을 도 5에 보인다.As a specific method of determining which of the generation conditions shown in Table 5, the current image macroblock MB received from the current image frame memory (CFM) 12 may be implemented by various methods. One of the methods, that is, the similarity between the received macroblock MB and the macroblock MB at the same position on the background image frame memory BFM 14, determines which of the conditions in Table 5 corresponds to. One method is shown in FIG.
도 5에서 Yerror는 밝기 성분 오차로서 입력받은 현재 영상 매크로 블록(MB)의 각 픽셀의 밝기 값에서 배경 영상 매크로 블록(MB)의 대응하는 위치의 픽셀의 밝기 값을 뺀 값을 나타낸다. Uerror와 Verror는 모두 색차 성분 오차로서 입력받은 현재 영상 매크로 블록(MB)의 각 픽셀의 색차 U-성분과 색차 V-성분 값에서 배경 영상 매크로 블록(MB)의 대응하는 위치의 픽셀의 색차 U-성분과 색차 V-성분 값을 각각 뺀 값을 나타낸다. 일반적으로 색차 성분은 U-성분과 V-성분의 두 가지 성분으로 구성될 수도 있고, Cb-성분과 Cr-성분의 두 가지 성분으로 구성될 수도 있으며, I-성분과 Q-성분의 두 가지 성분으로 구성될 수도 있다. 색차 성분을 구분함에 있어 상기 세 가지 방법 중 어떤 방법을 선택하느냐는 본 발명의 구현 시 필요에 따라 달라질 수 있으며, 본 발명의 일실시예에 대한 설명에서는 설명의 편의상 U-성분과 V-성분으로의 구분 방법을 선택하였다.In FIG. 5, Yerror denotes a value obtained by subtracting the brightness value of the pixel at the corresponding position of the background image macro block MB from the brightness value of each pixel of the current image macro block MB received as the brightness component error. Uerror and Verror are both color difference component errors. The color difference U-component of each pixel of the current image macro block MB received and the color difference U- of the pixel at the corresponding position of the background image macro block MB in the color difference V-component value. The values obtained by subtracting the component and color difference V-component values, respectively. In general, the color difference component may be composed of two components, a U-component and a V-component, or may be composed of two components, a Cb-component and a Cr-component, and two components, an I-component and a Q-component. It may be configured as. Which one of the above three methods is selected in distinguishing the chrominance components may vary depending on the needs of the implementation of the present invention.In the description of one embodiment of the present invention, for convenience of description, the U-component and the V-component are described. The division method of was selected.
도 5에서 Ty와 Tyy는 모두 밝기 성분에 대한 문턱값(threshold)이며, Tu와 Tv는 각각 색차 U-성분과 색차 V-성분에 대한 문턱값이다. Ty, Tu, Tv는 모두 무시할 수 있을 정도의 작은 차이(예: 1~7)를 나타내며, Tyy는 무시할 수는 없지만 그리 크지 않은 차이(예: 10~40)를 나타낸다. 또한 Tn1, Tn2, Tn3은 픽셀 개수에 대한 문턱값(threshold)으로서, 하나의 매크로 블록(MB)에 속하는 전체 픽셀 개수의90~99% 정도의 값으로 선택하는 것이 바람직하다.In FIG. 5, Ty and Tyy are both thresholds for the brightness component, and Tu and Tv are thresholds for the color difference U-component and the color difference V-component, respectively. Ty, Tu, and Tv all represent negligible differences (eg, 1-7), and Tyy cannot be ignored, but not so large (eg, 10-40). In addition, Tn1, Tn2, and Tn3 are thresholds for the number of pixels, and are preferably selected to be about 90 to 99% of the total number of pixels belonging to one macro block MB.
도 5에서 조건 1은 밝기 성분 오차가 상기 Tyy보다 작은 픽셀의 개수를 n1이라 할 때, n1이 충분히 큰가(n1이 특정한 문턱치 Tn1보다 큰가)를 검사하기 위한 것이다. 조건 1을 만족하면 현재 영상 프레임 메모리(CFM; 12)로부터의 현재 영상 매크로 블록(MB) 데이터와 배경 영상 프레임 메모리(BFM; 14)로부터의 배경 영상 매크로 블록(MB) 데이터의 밝기 성분의 차이가 그리 크지 않으므로 두 매크로 블록(MB) 데이터의 밝기 성분이 유사한 경우이고, 조건 1을 만족하지 못하면 두 매크로 블록(MB) 데이터의 밝기 성분이 유사하다고 하기에는 밝기 성분의 차이가 큰 경우이다.In FIG. 5, condition 1 is to check whether n1 is sufficiently large (n1 is greater than a specific threshold Tn1) when the number of pixels whose brightness component error is smaller than Tyy is n1. If condition 1 is satisfied, the difference between the brightness components of the current image macro block (MB) data from the current image frame memory (CFM) 12 and the background image macro block (MB) data from the background image frame memory (BFM) 14 is different. Since the brightness components of the two macroblock (MB) data are similar, the brightness components of the two macroblock (MB) data are similar, and the brightness components of the two macroblock (MB) data are similar.
계속해서 도 5를 참조하면, 조건 1을 만족하지 못한 경우 현재 영상 매크로 블록(MB) 데이터를 이전 물체 영상 메모리(POM; 16)에 저장되어 있는 이전 물체 영상과 비교하기 위해 출력 비트 플래그로 '001'을 출력하게 된다. 조건 1을 만족하는 경우 조건 2에서 현재 영상 매크로 블록(MB) 데이터와 배경 영상 매크로 블록(MB) 데이터와의 유사성을 더 자세히 검사하게 된다.5, if the condition 1 is not satisfied, the output bit flag is set as '001' to compare the current image macro block (MB) data with the previous object image stored in the previous object image memory (POM) 16. Will print '. If condition 1 is satisfied, condition 2 further examines the similarity between the current image macro block (MB) data and the background image macro block (MB) data.
도 5에서 조건 2는 색차 성분에 대하여 오차가 작은 픽셀의 개수 n2를 구한 후, n2가 충분히 큰가(즉, n2가 특정한 문턱치 Tn2보다 큰가)를 검사하기 위한 것이다. 조건 2를 만족하면 색차 성분의 오차가 무시해도 될 만큼 작은 경우이고, 조건 2를 만족하지 못하면 색차 성분의 오차를 무시할 수 없는 경우이다. 도 5를 참조하면, 조건 2를 만족하지 못한 경우 현재 영상 매크로 블록(MB) 데이터와 배경 영상 매크로 블록(MB) 데이터와의 차이를 Inter 부호화하기 위해 출력 비트 플래그로 '010'을 출력하게 된다. 조건 2를 만족하는 경우 조건 3에서 현재 영상 매크로 블록(MB) 데이터와 배경 영상 매크로 블록(MB) 데이터와의 유사성을 더더욱 자세히 검사하게 된다.In FIG. 5, condition 2 is to check whether n2 is large enough (that is, n2 is larger than a specific threshold Tn2) after obtaining the number n2 of pixels with small error with respect to the chrominance component. If condition 2 is satisfied, the error of the chrominance component is small enough to be ignored. If condition 2 is not satisfied, the error of the chrominance component cannot be ignored. Referring to FIG. 5, when condition 2 is not satisfied, '010' is output as an output bit flag in order to inter-code a difference between the current image macroblock (MB) data and the background image macroblock (MB) data. If condition 2 is satisfied, condition 3 examines the similarity between the current image macro block (MB) data and the background image macro block (MB) data in more detail.
도 5에서 조건3은 밝기 성분 오차가 Ty(<Tyy)보다 작은 픽셀의 개수를 n3라 할 때, n3이 충분히 큰가(즉, n3이 특정 문턱치 Tn3보다 큰가)를 검사하기 위한 것이다. 도 5를 참조하면 조건 3을 만족하는 경우 결국 색차 성분의 오차와 밝기 성분의 오차가 모두 무시할 수 있을 정도로 작은 것이므로 변환 부호화를 수행하지 않기 위해(B_SKIP) 출력 비트 플래그로 '100'을 출력하게 되며, 조건 3을 만족하지 못한 경우 색차 성분의 오차는 무시할 수 있지만 밝기 성분의 오차는 무시할 수 없는 것이므로 현재 영상 매크로 블록(MB) 데이터와 배경 영상 매크로 블록(MB) 데이터와의 차이를 Inter 부호화하기 위해(B_INTER) 출력 비트 플래그로 '010'을 출력하게 된다.In FIG. 5, condition 3 is to check whether n3 is sufficiently large (that is, n3 is greater than a specific threshold Tn3) when the number of pixels whose brightness component error is smaller than Ty (<Tyy) is n3. Referring to FIG. 5, when condition 3 is satisfied, since the error of the color difference component and the brightness component are both small enough to be ignored, '100' is output as the output bit flag so as not to perform transform encoding (B_SKIP). However, if condition 3 is not satisfied, the error of the chrominance component can be ignored but the error of the brightness component cannot be ignored. Therefore, to inter-encode the difference between the current image macroblock (MB) data and the background image macroblock (MB) data. (B_INTER) Output '010' as the output bit flag.
상기 판별 절차는 설명을 위한 것이며, 본 발명은 상기 판별절차에 한정되는 것은 아니다. 이러한 판별절차는 필요에 따라 추가 및 수정이 가능하다.The determination procedure is for explanation, and the present invention is not limited to the determination procedure. This determination procedure can be added and modified as necessary.
다시 도 2를 참조하면, 움직임 예측기(ME, Motion Estimator; 24)는 상기 배경 영역 판별기(BAC; 22)로부터의 출력 비트 중 bit 3의 값이 '1'인 경우만 동작 가능(enable) 상태로 된다. 상기 배경 영역 판별기(BAC; 22)로부터의 출력 비트 중 bit 3이 '1'인 경우는 입력된 현재 영상 매크로 블록(MB)이 배경 영역에 속하지 않는다고 판별된 경우이므로, 움직임 예측기(ME; 24)는 입력된 현재 영상 매크로 블록(MB)과 이전 물체 영상 메모리(POM; 16)를 비교하여 움직임 예측(motionestimation)을 수행하고 그 결과에 따라 움직임 예측기(ME; 24) 다음 단의 스위치(23)의 연결 상태를 제어하며 움직임 벡터를 출력한다. 즉, 움직임 예측 오차가 매우 작아서 변환 부호화를 수행할 필요가 없는 경우, 움직임 예측기(ME; 24)는 그 다음 단의 스위치(23)를 제어하여 정상성 분석기(SA; 27)를 동작 가능(enable) 상태로 하고, 움직임 예측 오차가 무시할 만 하지 않은 경우 움직임 예측기(ME; 24)는 그 다음 단의 스위치(23)를 제어하여 Intra/Inter 모드 판별기(IID; 28)를 동작 가능(enable) 상태로 하고 예측 오차 영상 매크로 블록(MB) 데이터를 Intra/Inter 모드 판별기(IID; 28)로 출력한다.Referring back to FIG. 2, the motion estimator (ME) 24 is enabled only when the value of bit 3 of the output bits from the background area discriminator 22 is '1'. It becomes If bit 3 of the output bits from the background area discriminator (BAC) 22 is '1', it is determined that the input current image macroblock MB does not belong to the background area. ) Performs motion estimation by comparing the input current image macro block MB and the previous object image memory 16, and according to the result, the switch 23 of the next stage of the motion predictor ME 24. Controls the connection of and outputs a motion vector. That is, when the motion prediction error is so small that it is not necessary to perform transform coding, the motion predictor (ME) 24 controls the next switch 23 to enable the normality analyzer SA 27. If the motion prediction error is not negligible, the motion predictor (ME) 24 controls the switch 23 of the next stage to enable the intra / inter mode discriminator (IID) 28. State and outputs the prediction error image macroblock (MB) data to the Intra / Inter mode discriminator (IID) 28.
움직임 예측기(ME; 24)에서 움직임을 예측하는 구체적인 방법으로서는 본 발명이 속한 분야에서 일반적으로 많이 사용되는 블록 정합 기법(BMA: Block Matching Algorithm)들 중 적당한 것을 선택하여 사용하거나 새로운 기법을 도입하여 사용할 수 있다. 그러나 본 발명의 일실시예에 사용할 때는 움직임 예측 기법의 탐색 영역(search area)이 일반적인 경우와는 달라진다. 즉, 일반의 경우에는 움직임 예측을 위해 이전 프레임 메모리의 영역 중 입력받은 매크로 블록(MB)의 위치를 중심으로 그 매크로 블록(MB)을 포함하는 특정한 크기의 사각형 영역을 탐색 영역으로 사용하는데, 본 발명에서는 이전 물체 영상 메모리(POM)의 영역 중 입력받은 매크로 블록(MB)의 위치를 중심으로 그 매크로 블록(MB)을 포함하는 특정한 크기의 사각형 영역을 모두 탐색 영역으로 하는 것이 아니라, 그 영역 중에서 물체 영역만을 대상으로 하여 탐색을 수행한다. 따라서 본 발명의 일실시예에 따른 움직임 예측기(ME; 24)는 일반적인 움직임 예측 기능 외에도 이전 프레임에서 물체로 판별되었던 영역의 위치를 저장하는 물체 마스크 메모리(OMM, Object Mask memory; 25)를 더 구비한다. 물체 마스크 메모리(OMM; 25)는 매크로 블록(MB)별로 물체 영역인지 아닌지를 나타내는 한 비트의 마스크(mask) 정보를 저장하게 된다. 상기 물체 마스크 메모리(OMM; 25)의 매크로 블록(MB)별 마스크의 값은 배경 영역 판별기(BAC; 22)로부터의 출력 비트들 중 세 번째 비트의 값과 동일한 값을 갖도록 하는데, 이것은 표 5에 나타나 있듯이 배경 영역 판별기(BAC; 22)의 세 번째 출력 비트가 '1'이면 입력받은 현재 영상의 매크로 블록(MB)이 물체 영역(cd = O_SKIP, O_INTRA, O_INTER)이나 물체 영역과 본질적으로 동일한 영역(cd = B_UPDT)으로 판별될 것이기 때문이다. 상기 실시예에서는 움직임 예측은 매크로 블록(MB) 단위로 이루어지는 것을 가정하였으나, 필요에 따라 매크로 블록(MB)을 더 나누어(예: 4 등분) 각각의 나뉘어진 영역 별로 움직임을 예측하고 움직임 벡터를 생성할 수도 있다.As a specific method of predicting the motion in the motion predictor (ME) 24, one of the block matching algorithms (BMA) generally used in the field of the present invention may be selected and used, or a new method may be used. Can be. However, when used in an embodiment of the present invention, the search area of the motion prediction technique is different from the general case. That is, in the general case, a rectangular area having a specific size including the macro block MB is used as a search area around the position of the macro block MB received from the previous frame memory area for motion estimation. In the present invention, not all rectangular areas having a specific size including the macro block MB are located as the search area around the position of the received macro block MB in the area of the previous object image memory POM, but among the areas. The search is performed only on the object area. Therefore, the motion predictor (ME) 24 according to an embodiment of the present invention further includes an object mask memory (OMM) 25 for storing the position of the region identified as the object in the previous frame, in addition to the general motion prediction function. do. The object mask memory 25 stores one bit of mask information indicating whether or not the object area corresponds to each macro block MB. The value of the mask per macroblock MB of the object mask memory (OMM) 25 is equal to the value of the third bit among the output bits from the background area discriminator (BAC) 22. As shown in, if the third output bit of the background area discriminator (BAC) 22 is '1', the macroblock (MB) of the current image received is essentially the object area (cd = O_SKIP, O_INTRA, O_INTER) or the object area. This is because the same area (cd = B_UPDT) will be determined. In the above embodiment, it is assumed that the motion prediction is performed in units of macro blocks (MB). However, the macro block (MB) is further divided (for example, 4 equal parts) as needed to predict motions for each divided region and generate a motion vector. You may.
지금까지의 본 발명의 일실시예에 대한 설명은 배경 영상 프레임 메모리(BFM; 14)와 이전 물체 영상 메모리(POM; 16) 각각에 배경 영상과 이전 물체 영상이 이미 확보되어 있다는 가정 하에서 이루어졌다. 실제에 있어서는 시간이 경과함에 따라 정상적(stationary)인 영역과 시변적(time-varying)인 영역을 구분하여 정상적인 영역은 배경 영상 프레임 메모리(BFM; 14)로, 또 시변적인 영역은 이전 물체 영상 메모리(POM; 16)로 저장하도록 하여야 한다. 이렇게 정상성을 분석하여 정상적인 영역으로 배경 영상 프레임 메모리(BFM; 14)를 갱신(update)해 나가는 근거는 다음과 같다. 만약 현재 영상 프레임 메모리(CFM; 12)의 특정한 위치의 매크로 블록(MB)이 배경 영상 프레임 메모리(BFM; 14)상의 동일 위치의 매크로블록(MB)과 유사하지 않아 배경 영역에 속한다고는 할 수 없을 지라도, 충분한 시간 동안 변하지 않고 지속된다면(즉, 새로운 현재 영상들이 계속 입력되어도 똑같은 매크로 블록(MB) 영상이 동일 위치에 계속 나타난다면), 이 매크로 블록(MB)은 배경을 구성하는 물체에 공간적인 변화가 생긴 것, 혹은 새로 나타난 물체가 사라지지 않고 배경으로 계속 남아있는 것이라 할 수 있으므로, 정상성 분석 결과 충분한 시간동안 변하지 않은 매크로 블록(MB)은 배경 영상 프레임 메모리(BFM; 14)에 저장하여 다음 프레임부터는 배경 영상으로 활용하도록 한다. 이와 같은 방법을 사용하면, 첫 입력 영상 프레임 전체(물체영역과 배경영역이 섞여 있을 가능성이 있음)를 배경 영상 프레임 메모리(BFM; 14)에 저장하고(즉, 배경 영상으로 하고), 임의의 값들을 이전 물체 영상 메모리(POM; 16)에 할당하여도 충분한 시간만 경과하면 배경 영상 프레임 메모리(BFM; 14)에는 배경 영상이, 그리고 이전 물체 영상 메모리(POM; 16)에는 물체 영상이 올바로 확보되게 된다. 또한 배경을 구성하는 물체에 공간적인 변화가 있거나 배경 자체가 변화하더라도(scene change) 역시 충분한 시간만 경과하면 배경 영상 프레임 메모리(BFM; 14)에는 배경 영상이, 그리고 이전 물체 영상 메모리(POM; 16)에는 물체 영상이 올바로 확보되게 된다.The description of one embodiment of the present invention has been made under the assumption that a background image and a previous object image are already secured in each of the background image frame memory (BFM) 14 and the previous object image memory (POM) 16. In practice, the stationary and time-varying regions are distinguished as time passes, and the normal region is the background image frame memory (BFM) 14, and the time-variable region is the previous object image memory. (POM; 16). The basis for updating the background image frame memory (BFM) 14 to the normal region by analyzing the normality is as follows. If the macro block MB at a specific position of the current image frame memory (CFM) 12 is not similar to the macro block MB at the same position on the background image frame memory (BFM) 14, it belongs to the background area. If not, if it remains unchanged for a sufficient time (i.e. if the same macro block (MB) image continues to appear in the same position even if new current images are continuously input), this macro block (MB) is spaced in the object constituting the background. It can be said that a normal change or a newly appearing object does not disappear and remains in the background, so that the macroblock (MB) that has not changed for a sufficient time as a result of the normality analysis is stored in the background image frame memory (BFM) 14. The next frame will be used as the background image. Using this method, the entire first input image frame (possibly a mixture of object and background regions) is stored in the background image frame memory (BFM) 14 (ie as a background image) and an arbitrary value. If enough time has elapsed even after allocating them to the previous object image memory (POM) 16, the background image is secured in the background image frame memory (BFM) 14 and the object image is correctly secured in the previous object image memory (POM) 16. do. Also, even if there is a spatial change in the object constituting the background or the scene itself changes, the background image is stored in the background image frame memory (BFM) 14, and the previous object image memory (POM) 16 is sufficient. ), The image of the object is properly secured.
본 발명에 따른 영역분할 및 부호화 제어기(SCC; 20)에는 정상성 분석을 위해 정상성 분석기(SA, Stationarity Analyzer; 27)와 연결된 타이머 메모리(TM, Timer memory; 26)를 도 2에 도시 된 바와 같이 구비한다. 정상성 분석기(SA; 27)는 상기 움직임 예측기(ME; 24)로부터 동작 가능(enable) 신호와 움직임 벡터를 입력받아 현재 영상 매크로 블록(MB)의 위치에 해당하는 타이머 메모리의 값을 참조하여 두 비트의 정보를 출력한다. 타이머 메모리(TM; 26)는 매크로 블록(MB)별로 정상성이 유지된 시간, 즉 지속하여 같은 위치에 같은 매크로 블록(MB) 영상이 나타났던 시간을 저장한다.In the SCR 20 according to the present invention, a timer memory 26 connected to a stationarity analyzer 27 for normality analysis is shown in FIG. 2. It is equipped together. The normality analyzer (SA) 27 receives an enable signal and a motion vector from the motion predictor (ME) 24 and references a value of a timer memory corresponding to the position of the current image macro block (MB). Outputs bit information. The timer memory TM 26 stores a time for which the normality is maintained for each macro block MB, that is, a time when the same macro block MB image appears at the same position continuously.
표 6은 정상성 분석기(SA; 27)의 출력 비트의 발생 조건과 그에 따른 부호화 지시를 보이며, 도 6에는 정상성 판별 절차와 그 출력이 도시되어 있다.Table 6 shows the generation conditions of the output bits of the normality analyzer (SA) 27 and the encoding instructions accordingly, and FIG. 6 shows the normality determination procedure and its output.
<표 6>TABLE 6
정상성 분석기(SA; 27)의 출력 비트의 발생 조건 및 그에 따른 부호화 지시(cd)Condition of occurrence of output bit of normality analyzer (SA) 27 and encoding instruction (cd) accordingly
앞의 움직임 예측기(ME; 24)에 대한 설명에서 언급한 바와 같이 움직임 예측기(ME; 24)는 움직임 예측 오차가 무시할 만 한 경우에만 정상성 분석기(SA; 27)로 동작 가능(enable) 신호를 주게 된다. 도 2 및 도 6과 표 6을 참조하면, 정상성 분석기(SA; 27)가 동작 가능한 신호를 받은 경우, 정상성 분석기(SA; 27)는 먼저 움직임 예측기(ME; 24)로부터 입력받은 움직임 벡터의 값이 (0,0)인지 검사하고, (0,0)가 아닌 경우에는 bit1과 bit2에 '1'과 '0'을 각각 출력(즉, 부호화 지시로O_SKIP)하고, (0,0)인 경우에는 현재 영상 매크로 블록(MB)의 위치에 해당하는 타이머 메모리(TM; 26)의 해당 위치의 값을 읽어 그 값이 특정 시간 Tt(예: 10초) 이상이면 타이머 메모리(TM; 26)의 해당 위치의 값을 '0'으로 리셋(reset)한 후 bit1과 bit2에 '0'과 '1'을 각각 출력(즉, 부호화 지시로 B_UPDT)하며, 상기 Tt미만이면 bit1과 bit2에 '1'과 '0'을 각각 출력(즉, 부호화 지시로 O_SKIP)한다. 정상성 분석기(SA; 27)가 동작 가능 신호를 받지 못한 경우에는 현재 영상 매크로 블록(MB)의 위치에 해당하는 타이머 메모리(TM; 26)의 값을 '0'으로 리셋(reset)하고 bit1과 bit2 모두에 '0'을 출력한다.As mentioned in the foregoing description of the motion predictor (ME) 24, the motion predictor (ME) 24 may generate an enable signal to the normality analyzer (SA) 27 only when the motion prediction error is negligible. Given. 2, 6 and Table 6, when the normality analyzer (SA) 27 receives an operable signal, the normality analyzer (SA) 27 firstly receives the motion vector received from the motion predictor (ME) 24. Check if the value of is (0,0), and if it is not (0,0), output '1' and '0' to bit1 and bit2 (that is, O_SKIP as encoding instruction), and (0,0) In case of, the value of the corresponding position of the timer memory (TM) 26 corresponding to the position of the current image macro block MB is read, and if the value is greater than a specific time T t (eg, 10 seconds), the timer memory (TM) 26 is read. ) Resets the value of the corresponding position to '0' and then outputs '0' and '1' to bit1 and bit2 (that is, B_UPDT as an encoding instruction), and if it is less than T t , the bit1 and bit2 '1' and '0' are output (that is, O_SKIP as an encoding instruction). If the normality analyzer (SA) 27 does not receive an operable signal, it resets the value of the timer memory (TM) 26 corresponding to the position of the current image macro block (MB) to '0' and resets the bit1 and Outputs '0' to all bit2s.
다시 도 2를 참조하면, 움직임 예측기(ME; 24)에서의 움직임 예측의 결과, 예측 오차를 무시할 수 없어 변환 부호화를 수행해야 한다고 판단된 경우, 움직임 예측기(ME; 24)는 Intra/Inter 모드 판별기(IID; 28)에 동작 가능(enable) 신호를 주게 된다. Intra/Inter 모드 판별기(IID, Intra/Inter Mode Decision; 28)에서는 아래 표 7에 나타낸 바와 같이, 움직임 예측기(ME; 24)로부터 예측 오차 영상 매크로 블록(MB) 데이터를 입력받고 현재 영상 프레임 메모리(CFM; 12)로부터 현재 영상 매크로 블록(MB) 데이터를 입력받아 각각의 통계적인 특성(예: 분산)을 비교하여 Inter 모드 부호화(즉, 예측 오차 매크로 블록(MB) 데이터를 부호화)할 것인지 아니면 Intra 모드 부호화(즉, 현재 영상 매크로 블록(MB) 데이터를 부호화)할 것인지를 판단하고 그 결과를 두 비트의 정보로서 출력한다.Referring back to FIG. 2, when it is determined that the prediction error cannot be ignored as a result of the motion prediction in the motion predictor (ME) 24, the motion predictor (ME) 24 determines the intra / inter mode. An enable signal is given to the IID 28. Intra / Inter Mode Decision (IID) 28 receives the prediction error image macro block (MB) data from the motion predictor (ME) 24 and displays the current image frame memory, as shown in Table 7 below. (CFM) 12 to receive the current image macroblock (MB) data and compare each statistical characteristic (e.g., variance) to inter-mode encoding (i.e., to encode prediction error macroblock (MB) data) or It is determined whether to perform intra mode encoding (that is, encoding current image macroblock (MB) data), and the result is output as two bits of information.
<표 7>TABLE 7
Intra/Inter 모드 판별기(IID; 28)의 출력 비트의 발생 조건 및 그에 따른 부호화 지시(cd)Condition of occurrence of output bit of Intra / Inter mode discriminator (IID) 28 and encoding instruction (cd) accordingly
Intra/Inter 모드의 판별을 위한 통계적인 특성으로는 본 발명이 속한 분야에서 많이 사용되는 것으로는 아래의Statistical characteristics for the determination of the Intra / Inter mode are as follows.
과 같이 데이터의 평균(mean)과 데이터 각각의 값(original)과의 차이의 절대값들의 합(A)을 사용하거나,Use the sum of the absolute values ( A ) of the difference between the mean of the data ( mean ) and the value of each of the data ( original ), or
와 같이 분산(Variance)을 사용하는 것이 일반적이다. Intra/Inter 모드 판별의 자세한 방법은 본 발명이 속한 분야의 당업자에게는 널리 알려진 상태이므로 설명을 생략한다.It is common to use variance as Detailed methods of intra / inter mode determination are well known to those skilled in the art to which the present invention pertains, and thus descriptions thereof will be omitted.
본 발명에 따르면 윤곽선 부호화를 사용하지 않고 입력 영상을 매크로 블록(MB)들로 구분한 후 각 매크로 블록(MB)별로 영역 분할이 수행되므로 계산량이 적어지고 또 압축율이 높아지며, 매크로 블록(MB) 단위로 압축 부호화를 수행하는 기존 영상 부호화기(예를 들면, MPEG-1, MPEG-2, H.261, H.263)들과의 연동 또한 수월해 진다.According to the present invention, since the input image is divided into macroblocks (MBs) without using contour coding, region division is performed for each macroblock (MB), so that a calculation amount is reduced and a compression ratio is increased, and a macroblock (MB) unit is used. Interworking with existing video encoders (eg, MPEG-1, MPEG-2, H.261, H.263) that perform compression coding is facilitated.
또한 본 발명에 따르면 입력 영상을 배경영역과 목표물 영역의 두 가지 영역으로 분리해 내는 것이 가능하며, 그 효과를 요약하면 다음과 같다. 첫째, 현재 영상 매크로 블록(MB)이 배경 영상 매크로 블록(MB)과 동일한 경우 변환 부호화를 수행하지 않게 되므로 물체의 이동에 의해 가려졌다가 다시 나타난 배경영역(uncovered background)을 새로이 부호화 할 필요가 없게 된다. 둘째, 입력 프레임 속도(frame rate)가 작아 물체의 움직임이 비연속적으로 처리될 수 있는 경우에 움직임 예측 시의 탐색 영역을 넓혀도 탐색 영역 중 물체영역에 해당하는 부분에 대하여만 탐색을 수행하면 되므로 움직임 예측의 속도를 떨어뜨리지 않으면서도 움직임 예측 실패율을 낮출 수 있다. 셋째, 배경 영역과 물체 영역을 구분하여 차별적으로 부호화 하므로 I-프레임 삽입 시 현재 영상 전체를 부호화하지 않고 물체 영역만을 Intra 부호화 함으로써 압축율을 높일 수 있다. 넷째, 배경 영역과 물체 영역을 구분하므로 물체가 나타났을 때 경보를 울리는 등의 추가기능 구현이 용이하다. 다섯째, 배경영역에 대하여는 압축율을 높이고 물체영역에 대하여는 압축율을 낮추는 등의 중요 영역 화질 제어가 용이하다.In addition, according to the present invention, it is possible to separate the input image into two regions, a background region and a target region, and the effects thereof are summarized as follows. First, if the current image macro block MB is the same as the background image macro block MB, the conversion encoding is not performed. Therefore, the uncovered background that is covered by the movement of the object and then reappeared does not need to be newly encoded. do. Second, if the input frame rate is small and the motion of the object can be processed discontinuously, the search is only required for the part of the search area that corresponds to the object area even when the search area is expanded. It is possible to lower the motion prediction failure rate without slowing down the motion prediction. Third, since the background region and the object region are distinguished from each other and encoded differently, the compression rate can be increased by intra coding only the object region without encoding the entire current image when the I-frame is inserted. Fourth, it distinguishes the background area from the object area, so it is easy to implement additional functions such as an alarm when an object appears. Fifth, it is easy to control image quality of important areas such as increasing the compression ratio in the background region and decreasing the compression ratio in the object region.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980055146A KR100327952B1 (en) | 1998-12-15 | 1998-12-15 | Method and Apparatus for Segmentation-based Video Compression Coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980055146A KR100327952B1 (en) | 1998-12-15 | 1998-12-15 | Method and Apparatus for Segmentation-based Video Compression Coding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000039731A KR20000039731A (en) | 2000-07-05 |
KR100327952B1 true KR100327952B1 (en) | 2002-05-09 |
Family
ID=19562957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980055146A KR100327952B1 (en) | 1998-12-15 | 1998-12-15 | Method and Apparatus for Segmentation-based Video Compression Coding |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100327952B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101336139B1 (en) | 2012-06-11 | 2013-12-05 | 동의대학교 산학협력단 | System and method for motion estimating using depth camera |
KR101367673B1 (en) | 2012-07-03 | 2014-03-03 | 한밭대학교 산학협력단 | Method and System for Selecting Motion Search Region for Image Sequences using Depth Camera Information |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100382649B1 (en) * | 2000-12-29 | 2003-05-09 | 삼성전자주식회사 | Methods and apparatuses for compressing and recovering data for hard copy apparatus |
KR100452740B1 (en) * | 2001-09-08 | 2004-10-12 | 주식회사 몬스터넷 | Device and method for controlling a image data |
KR100453010B1 (en) * | 2001-09-17 | 2004-10-15 | 주식회사 대우일렉트로닉스 | Digital video recording apparatus and method therefor |
KR100459376B1 (en) * | 2001-12-14 | 2004-12-03 | 박유상 | Image Object Synthesizer |
KR101048542B1 (en) * | 2005-04-08 | 2011-07-11 | 주식회사 현대오토넷 | Image data compression device and method |
KR100788704B1 (en) * | 2006-11-15 | 2007-12-26 | 삼성전자주식회사 | Method for transforming image and apparatus thereof |
KR100855976B1 (en) | 2007-02-02 | 2008-09-02 | 삼성전자주식회사 | Frame interpolate device for estimating motion by separating static object and moving object and frame interpolate method using the device |
-
1998
- 1998-12-15 KR KR1019980055146A patent/KR100327952B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101336139B1 (en) | 2012-06-11 | 2013-12-05 | 동의대학교 산학협력단 | System and method for motion estimating using depth camera |
KR101367673B1 (en) | 2012-07-03 | 2014-03-03 | 한밭대학교 산학협력단 | Method and System for Selecting Motion Search Region for Image Sequences using Depth Camera Information |
Also Published As
Publication number | Publication date |
---|---|
KR20000039731A (en) | 2000-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7532808B2 (en) | Method for coding motion in a video sequence | |
JP4163618B2 (en) | Video encoding / transmission system, video encoding / transmission method, encoding apparatus, decoding apparatus, encoding method, decoding method, and program suitable for use in the same | |
US9357222B2 (en) | Video device finishing encoding within the desired length of time | |
US6625215B1 (en) | Methods and apparatus for context-based inter/intra coding mode selection | |
JP3159853B2 (en) | Encoding method and decoding method and apparatus therefor | |
EP1065883B1 (en) | Image predictive decoding method | |
US6542642B2 (en) | Image coding process and motion detecting process using bidirectional prediction | |
KR100263627B1 (en) | Video coding and decoding system and method | |
US20030095603A1 (en) | Reduced-complexity video decoding using larger pixel-grid motion compensation | |
US20120082213A1 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
US6792045B2 (en) | Image signal transcoder capable of bit stream transformation suppressing deterioration of picture quality | |
US8311113B2 (en) | Method and system for using motion prediction to equalize video quality across intra-coded frames | |
KR19990067723A (en) | Dynamically determining group of picture size during encoding of video sequence | |
JPH05276502A (en) | Equipment and method for processing field group in video data compression system | |
KR19990036646A (en) | Video frame sequence encoding system and method thereof, computer program product | |
JPH08205180A (en) | Method and system for two-stage video film compression | |
JPH08111870A (en) | Method and device for re-coding image information | |
US6847684B1 (en) | Zero-block encoding | |
KR100327952B1 (en) | Method and Apparatus for Segmentation-based Video Compression Coding | |
KR100202538B1 (en) | Mpeg video codec | |
JP3599942B2 (en) | Moving picture coding method and moving picture coding apparatus | |
JPH0951538A (en) | Encoding method for image signal | |
JP3141149B2 (en) | Image coding device | |
JP3188081B2 (en) | Image encoding method and image encoding device | |
KR100213283B1 (en) | Moving picture encoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |