KR20020010847A - Method of Camera Motion Detection in Compressed Domain for Content-Based Indexing of Compressed Video - Google Patents

Method of Camera Motion Detection in Compressed Domain for Content-Based Indexing of Compressed Video Download PDF

Info

Publication number
KR20020010847A
KR20020010847A KR1020000044407A KR20000044407A KR20020010847A KR 20020010847 A KR20020010847 A KR 20020010847A KR 1020000044407 A KR1020000044407 A KR 1020000044407A KR 20000044407 A KR20000044407 A KR 20000044407A KR 20020010847 A KR20020010847 A KR 20020010847A
Authority
KR
South Korea
Prior art keywords
motion
camera
frame
motion vector
section
Prior art date
Application number
KR1020000044407A
Other languages
Korean (ko)
Other versions
KR100343780B1 (en
Inventor
김재곤
장현성
김문철
김진웅
Original Assignee
오길록
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오길록, 한국전자통신연구원 filed Critical 오길록
Priority to KR1020000044407A priority Critical patent/KR100343780B1/en
Publication of KR20020010847A publication Critical patent/KR20020010847A/en
Application granted granted Critical
Publication of KR100343780B1 publication Critical patent/KR100343780B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE: A method for detecting and splitting a camera motion in a compressed region of compressed video is provided to partially decode compressed video so as to detect a camera motion finely splitted, thereby reducing the amount of calculation and attaining stabilized noise-resistant performance. CONSTITUTION: To automatically detect a camera motion from a video compressed by a compression method that compensates for motion in blocks, motion vectors in blocks are detected from the compressed video first. Then, a motion vector field of each frame forming a video sequence is constructed using the motion vectors. An affine motion model parameter that describes total motion is estimated from the motion vector field of each frame. The camera motion is detected by making the affine motion model parameter be a critical value(S104).

Description

압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법 { Method of Camera Motion Detection in Compressed Domain for Content-Based Indexing of Compressed Video }Method of camera motion detection and segmentation in compressed region of compressed video {Method of Camera Motion Detection in Compressed Domain for Content-Based Indexing of Compressed Video}

본 발명은 압축 비디오의 내용기반 색인을 위한 압축 영역에서의 카메라 움직임 검출 및 분할방법에 관한 것으로서, 보다 상세하게 설명하면 블록 단위의 움직임 보상을 하는 압축 방식으로 압축된 비디오로부터의 카메라 움직임을 자동 검출하고 카메라 움직임 단위로 비디오를 미세 분할하는 방법에 관한 것이다.The present invention relates to a method of detecting and segmenting camera motion in a compressed region for content-based indexing of compressed video. More specifically, the present invention relates to automatic detection of camera motion from a video compressed by a compression scheme that compensates for block-by-block motion. And to finely segment the video by camera movement units.

종래의 대부분의 카메라 분석 및 카메라 움직임 추출방법은, 비디오 시퀀스의 연속한 프레임 사이의 광류(optical flow)를 분석한 결과를 이용하였다. 이러한 종래의 방법들은 광류 추정을 위한 과도한 계산량을 요한다.Most conventional camera analysis and camera motion extraction methods utilize the results of analyzing the optical flow between successive frames of a video sequence. These conventional methods require excessive computation for optical flow estimation.

광류를 활용한 카메라 움직임 분석기법은 크게 다음의 두 가지로 분류된다. 한 가지는 카메라 움직임을 표현하는 움직임 모델을 정의하고 그 움직임 모델의 파라미터를 광류로부터 추정하는 것이다. 다른 한 가지는 특별한 움직임 모델없이 광류의 각도 분포 또는 크기 등을 통한 광류의 패턴 분석을 하여 카메라 움직임을 분석한다.Camera motion analysis method using optical flow is classified into two categories as follows. One is to define a motion model that represents camera movement and to estimate the parameters of the motion model from the light flow. The other is to analyze the camera movement by analyzing the pattern of the light flow through the angle distribution or size of the light flow without any special motion model.

한편, 점점 더 많은 비디오 데이터들이 블록 단위의 움직임 보상방식으로 압축된 형태로 활용되므로 압축 비디오 시퀀스를 완전 복호화 하지않고 카메라 움직임을 분석하는 기법이 요구된다. 지금까지 제안된 몇 가지 카메라 움직임 분석기법들 중 압축 영역에서 카메라 움직임을 분석하는 기법이 제시된 바 있다. 이러한 기법들은 압축 비트열을 완전 복호화 하지않고 비트열을 부분 복호화하여 비트열에 포함된 움직임 벡터(motion vector)를 광류의 대용으로 사용함으로써 복호화와 광류 추정의 두 단계의 계산량을 생략할 수 있다. 그러나, 종래의 이러한 기법들은 움직임 벡터의 패턴 분석을 통한 제한된 종류의 카메라 움직임만을 검출할 뿐이다.Meanwhile, since more and more video data are utilized in the form of block-based motion compensation, a technique for analyzing camera motion without completely decoding the compressed video sequence is required. So far, some of the proposed camera motion analysis methods have been proposed to analyze camera motion in the compressed region. These techniques can omit the two-step computation amount of decoding and optical flow estimation by partially decoding the bit string without using the compressed bit string and using a motion vector included in the bit string as a substitute for the optical flow. However, these conventional techniques only detect a limited kind of camera motion through pattern analysis of motion vectors.

또한, 압축 비디오의 카메라 움직임 분석을 위해서는 다음과 같은 측면이 고려되어야 하는데, 종래의 기법들은 이러한 측면을 잘 고려한 내용기반 색인을 위한카메라 움직임 검출기법을 제공하지 못하고 있다. 우선, 광류를 계산하지 않고 비트열의 모션 벡터를 사용하기 위해서는 각 프레임간의 광류에 해당하는 움직임 벡터장를 구성하고 이들이 포함하고 있는 잡음을 제거하는 전처리가 수행되어야 한다. 또한, 큰 크기의 이동 객체는 광류로부터 카메라 움직임을 검출하는 과정에서 잡음을 야기시키는데 이러한 이동 객체로부터 기인한 잡음에 강인하여야 한다. 또한, 비디오를 내용기반으로 색인화하기에 충분한 종류의 카메라 움직임 검출이 가능하여야 한다.In addition, the following aspects should be considered for camera motion analysis of compressed video, and conventional techniques do not provide a camera motion detector method for content-based indexing. First, in order to use the motion vector of the bit stream without calculating the optical flow, preprocessing is performed to construct a motion vector field corresponding to the optical flow between frames and to remove noises included in the motion vector. In addition, a large moving object causes noise in the process of detecting camera movement from the light flow and should be robust to the noise resulting from this moving object. In addition, it should be possible to detect a kind of camera motion sufficient to index video based on content.

따라서, 상기와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은, 압축-1 또는 압축-2와 같이 블록 단위의 움직임 보상을 하는 압축방식으로 압축된 비디오로부터 압축 영역에서 적은 계산량으로 내용기반 비디오 색인에 충분한 종류의 카메라 움직임을 포함하고 이동 객체나 압축 움직임 벡터로부터 기인한 잡음에 강인한 카메라 움직임 검출방법을 제공하기 위한 것이다.Accordingly, an object of the present invention to solve the above problems of the prior art, content-based in the compression region from a video compressed by a compression scheme that performs block-based motion compensation, such as compression-1 or compression-2 It is intended to provide a camera motion detection method that includes a sufficient kind of camera motion in the video index and is robust to noise resulting from moving objects or compressed motion vectors.

또한 본 발명의 다른 목적은, 상기의 카메라 움직임 검출 결과를 활용하여 동일한 카메라 움직임을 유지하는 비디오 구간, 즉 카메라 움직임 단위로 비디오를 미세 분할하는 방법을 제공하기 위한 것이기도 하다.Another object of the present invention is to provide a method of finely dividing a video into a video section, that is, a camera motion unit, to maintain the same camera motion by using the camera motion detection result.

도 1은 본 발명의 한 실시예에 따른 압축 영역에서의 카메라 움직임 검출 및 분할방법의 동작 흐름도,1 is an operation flowchart of a camera motion detection and segmentation method in a compressed region according to an embodiment of the present invention;

도 2는 본 발명의 한 실시예에 따른 움직임 벡터장 구성과정의 동작 흐름도,2 is an operation flowchart of a process of constructing a motion vector field according to an embodiment of the present invention;

도 3은 본 발명의 한 실시예에 따른 카메라 움직임 검출 및 분할과정의 동작 흐름도,3 is an operation flowchart of a camera motion detection and segmentation process according to an embodiment of the present invention;

도 4는 본 발명에서 분류한 6종류의 카메라 움직임 검출을 위한 상세 흐름도이다.4 is a detailed flowchart for detecting six types of camera motions classified according to the present invention.

상기한 목적을 달성하기 위한 본 발명에 따른 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법은, 블록 단위의 움직임 보상을 하는 압축 방식으로 압축된 비디오로부터 카메라 움직임을 자동으로 검출하고, 동일한 카메라 움직임을 갖는 구간으로 분할하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법에 있어서,The camera motion detection and segmentation method in the compressed region of the compressed video according to the present invention for achieving the above object, automatically detects the camera motion from the video compressed by the compression method to compensate for the block-by-block motion, the same camera A camera motion detection and segmentation method in a compressed region of a compressed video divided into sections having motion,

상기 압축 비디오로부터 블록 단위의 움직임 벡터를 추출하는 압축 비트열 부분 복호화단계와;A compressed bit string partial decoding step of extracting a motion vector in units of blocks from the compressed video;

상기 추출된 블록 단위의 움직임 벡터를 이용하여 비디오 시퀀스를 구성하는 각 프레임의 움직임 벡터장을 구성하는 움직임 벡터장 구성단계;A motion vector field construction step of constituting a motion vector field of each frame constituting a video sequence using the extracted block vector motion vector;

상기 각 프레임의 움직임 벡터장으로부터 전역 움직임을 기술하는 어파인 움직임 모델 파라미터를 추정하는 어파인 움직임 모델 파라미터 추정단계; 및An affine motion model parameter estimating step of estimating an affine motion model parameter describing global motion from the motion vector field of each frame; And

상기 어파인 움직임 모델 파라미터를 임계화하여 카메라 움직임을 검출하는 카메라 움직임 검출단계를 포함한 것을 특징으로 한다.And detecting a camera motion by thresholding the affine motion model parameter.

양호하게는, 상기 검출된 카메라 움직임을 이용하여 동일한 카메라 움직임을 갖는 비디오 구간으로 분할하는 비디오 분할단계를 더 포함한 것을 특징으로 한다.Preferably, the method further includes a video dividing step of dividing the video into video segments having the same camera movement by using the detected camera movement.

또한, 본 발명에 따르면 상술하였던 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.According to the present invention, there is provided a computer-readable recording medium having recorded thereon a program for realizing a camera motion detection and segmentation method in a compressed region of a compressed video.

이하, 첨부된 도면을 참조하면서 본 발명의 한 실시예에 따른 "압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법"을 보다 상세하게 설명하기로한다.Hereinafter, a "camera motion detection and segmentation method in a compressed region of compressed video" according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 한 실시예에 따른 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법의 전체 동작 흐름도이다.1 is a flowchart illustrating an overall operation of a camera motion detection and segmentation method in a compressed region of a compressed video according to an embodiment of the present invention.

도 1을 참조하면, 이는 압축 비트열 부분 복호화단계(S101)와, 움직임 벡터장 처리단계(S102), 어파인(affine) 움직임 모델 파라미터 추정단계(S103), 카메라 움직임 검출 및 분할단계(S104)로 이루어진다.Referring to FIG. 1, this is a compression bitstream partial decoding step S101, a motion vector field processing step S102, an affine motion model parameter estimation step S103, a camera motion detection and segmentation step S104. Is made of.

압축 비트열 부분 복호화단계(S101)는 압축된 비디오 비트열을 입력받아 부분 복호화하여, 각 매크로블록(macroblock: MB)마다 움직임 벡터를 추출하여 출력한다. 압축의 움직임 벡터는 움직임 벡터 부호화에 필요한 비트수를 줄이기 위하여 이전 매크로블록(MB)의 움직임 벡터와의 차값을 부호화한다. 따라서, 움직임 벡터를 복호화하기 위해서는 이전 매크로블록(MB)의 움직임 벡터를 예측자(predictor)로 가지고 있어야 한다. 즉, 현재 매크로블록(MB)의 복호화된 움직임 벡터값은 다음 프레임의 예측자(predictor)로 저장한다.In the compressed bit string partial decoding step S101, the compressed video bit string is received and partially decoded, and a motion vector is extracted and output for each macroblock (MB). The compressed motion vector encodes a difference value with the motion vector of the previous macroblock MB to reduce the number of bits required for motion vector encoding. Therefore, in order to decode the motion vector, the motion vector of the previous macroblock MB must be used as a predictor. That is, the decoded motion vector value of the current macroblock MB is stored as a predictor of the next frame.

본 발명에서는 각 매크로블록(MB)의 움직임 벡터값을 복호화하고, 다음 매크로블록(MB)의 예측자값 즉, 해당 매크로블록(MB)의 복호화한 값을 출력한다. 다음 매크로블록의 움직임 벡터 예측자값은 PMV[r][s][t] 형태로 출력한다. 여기서 r, s, t는 각각 0과 1의 값을 갖는데, 'r'값은 0이면 첫 번째 움직임 벡터(first motion vector in MB)를 나타내며 1이면 두 번째 움직임 벡터(second motion vector in MB)를 나타내고, 's'값은 0이면 전방향 움직임 벡터(forward motion vector)를 나타내며 1은 후방향 움직임 벡터(backward motion vector)를 나타내고,'t'값은 0이면 수평 성분(horizontal component)을 나타내며 1은 수직 성분(vertical component)를 나타낸다.In the present invention, the motion vector value of each macroblock MB is decoded, and the predictor value of the next macroblock MB, that is, the decoded value of the macroblock MB, is output. The motion vector predictor value of the next macroblock is output in the form PMV [r] [s] [t]. Where r, s, and t have values of 0 and 1, respectively, where 'r' indicates 0 for the first motion vector in MB and 1 indicates for the second motion vector in MB. 0 indicates a forward motion vector, 1 indicates a backward motion vector, and 0 indicates a horizontal component. Denotes a vertical component.

이때 다음과 같은 관련 정보도 함께 추출하여 출력한다. 즉, 각 픽쳐(picture)의 픽쳐 부호화 형태(picture coding type)를 나타내는 picture_coding_type, 각 매크로블록(MB)의 형태(MB type)를 나타내는 macroblock_type, 각 매크로블록(MB)의 모션 형태(motion type)가 필드기반예측(field_based_prediction)에 의한 field_motion_vector인지 프레임기반예측(frame_based_prediction)에 의한 frame_motion_vector인지를 나타내는 motion_type, 그리고 각 필드의 모션 추정 기준 필드가 top field인지 bottom field인지를 나타내는 motion_vector_field_select[r][s]를 함께 출력한다.At this time, the following related information is also extracted and output. That is, picture_coding_type indicating a picture coding type of each picture, macroblock_type indicating a type (MB type) of each macroblock MB, and a motion type of each macroblock MB are shown. A motion_type indicating whether a field_motion_vector by field_based_prediction or a frame_motion_vector by frame_based_prediction, and a motion_vector_field_select [r] [s] indicating whether a motion estimation reference field of each field is a top field or a bottom field. Output

여기서, r, s는 움직임 벡터 예측자값(motion vector predictor)에서와 마찬가지로 첫 번째/두 번째 움직임 벡터(first/second motion vector in MB), 전방향/후방향 움직임 벡터(forward/backward motion vector)를 각각 나타낸다. 그리고 motion_type의 field_motion_vector은 움직임 추정을 기준 프레임의 한 필드에서만 수행하는 field_based_prediction에 의한 움직임 벡터를, frame_motion_vector는 움직임 추정이 기준 프레임의 두 필드를 다 포함한 프레임을 움직임 추정의 기준 영역으로 사용하는 경우의 움직임 벡터를 나타낸다.Here, r and s denote the first / second motion vector in MB and the forward / backward motion vector as in the motion vector predictor. Represent each. The field_motion_vector of motion_type is a motion vector by field_based_prediction which performs motion estimation only in one field of the reference frame, and frame_motion_vector is a motion vector when motion estimation uses a frame including both fields of the reference frame as a reference region for motion estimation. Indicates.

다음, 움직임 벡터장 처리단계(S102)는 압축 비트열 부분 복호화단계에서 출력되는 움직임 벡터 및 관련 정보들을 입력받아 각 프레임마다 움직임 벡터장을 구성한다. 움직임 벡터장은 각 프레임을 구성하는 각 매크로블록(MB)마다 한 프레임 간격의 예측 거리에서 순방향 예측(forward prediction)에 해당하는 움직임 벡터를 하나 포함한다. 즉, 픽쳐 코딩타입(picture coding type)에 따라서 최대 3 프레임까지의 다양한 프레임 간격 예측거리를 갖고, 필드 또는 프레임에 해당하는 최대 4까지 존재하는 움직임 벡터 예측자값 PMV[r][s][t]를 입력하여 함께 입력한 관련 정보, 즉, picture_coding_type, motion_type, macroblock_type, motion_vector_field_select[r][s]를 이용하여 각 매크로블록(MB)마다 한 프레임 간격의 예측 거리를 갖고(with prediction distance of one frame), 순방향 예측을 하고(forward-predicted), 프레임 기반 예측에 의한 프레임 움직임 벡터(frame_motion_vector) 하나를 포함하도록 초기 움직임 벡터장을 구성한다. 구성된 움직임 벡터장에 대하여 잡음을 제거하여 최종 움직임 벡터장을 출력한다. 움직임 벡터장을 구성하기 위한 흐름도는 도 2에 도시되어 있으며, 이는 후술하기로 한다.Next, the motion vector length processing step S102 receives a motion vector and related information output in the compressed bit string partial decoding step to configure a motion vector length for each frame. The motion vector field includes one motion vector corresponding to forward prediction at a prediction distance of one frame interval for each macroblock MB constituting each frame. That is, a motion vector predictor value PMV [r] [s] [t] having various frame interval prediction distances of up to 3 frames and up to 4 corresponding to a field or frame according to a picture coding type. Using the prediction information inputted together, that is, picture_coding_type, motion_type, macroblock_type, and motion_vector_field_select [r] [s], and have a prediction distance of one frame interval for each macroblock (MB) (with prediction distance of one frame). The initial motion vector field is configured to forward-predicted and include one frame motion vector (frame_motion_vector) by frame-based prediction. The final motion vector field is output by removing noise with respect to the constructed motion vector field. A flowchart for configuring a motion vector field is shown in FIG. 2, which will be described later.

어파인 움직임 모델(affine motion model) 파라미터 추정단계(S103)는 각 프레임에 해당하는 움직임 벡터장으로부터, 아래의 수학식 1에 기술된 어파인 파라미터를 수학식 2에 정의된 오차 함수를 이용하여 최소 제곱(Least Square) 추정으로 구한다.Affine motion model parameter estimation step (S103) is a minimum of the affine parameters described in Equation 1 below using the error function defined in Equation 2 from the motion vector field corresponding to each frame. Obtained by Least Square estimation.

위의 수학식 1에서 (u,v)는 (x,y) 화소 좌표에서의 움직임 벡터의 가로 세로 성분을 나타낸다. (x,y) 화소 좌표의 매크로블록의 움직임 벡터는 어파인 움직임 파라미터에 의하여 위의 수학식 1과 같이 표현된다. 최소 자승 추정은 수학식 2와 같은 오차 함수를 정의하고, 이 정의된 오차 함수가 최소가 되도록 6개의 파라미터를 구한다. 여기서, N은 해당 프레임의 매크로블록 중 인트라 매크로블록(Intra MB)인 경우를 제외한 매크로블록(MB)의 수이다.In Equation 1, (u, v) represents a horizontal and vertical component of a motion vector at (x, y) pixel coordinates. The motion vector of a macroblock of (x, y) pixel coordinates is an affine motion parameter. It is expressed by Equation 1 above. The least-squares estimate defines an error function as shown in Equation 2, and six parameters to minimize this defined error function. Obtain Here, N is the number of macroblocks (MBs) except the intra macroblock (Intra MB) of the macroblocks of the frame.

카메라 검출의 대상이 되는 전 비디오 시퀀스의 각 프레임에 대한 어파인 파라미터 검출이 완료되면, 전 비디오 시퀀스를 구성하는 각 프레임에 해당하는 어파인 파라미터 시퀀스가 얻어진다.When the affine parameter detection for each frame of the previous video sequence to be detected by the camera is completed, an affine parameter sequence corresponding to each frame constituting the previous video sequence is obtained.

카메라 움직임 검출 및 분할단계(S104)는 위의 과정을 통해서 얻어진 어파인 파라미터 시퀀스를 입력하여 미리 정해진 특정 카메라 움직임에 해당하는 비디오 구간 검출을 수행하고, 이 결과를 바탕으로 전 비디오 시퀀스를 특정 카메라 움직임의 구간들로 분할한다.In the camera motion detecting and dividing step (S104), the affine parameter sequence obtained through the above process is input to detect a video section corresponding to a predetermined specific camera motion, and based on the result, the entire video sequence is detected by the specific camera motion. Split into intervals of.

이 단계에서는 내용기반 비디오 색인의 관점에서 중요한 카메라 움직임을 다음의 6가지로 분류하고 이들을 검출하며, 비디오를 이들 움직임으로 구성된 구간들로 분할한다. 본 발명에서 검출하는 카메라 움직임의 종류는 줌(zoom or forward/backward tracking), 회전(rotation), 팬(pan or horizontal tracking), 틸트(tilt or vertical tracking), 이동객체구간(object motion), 정지구간(static) 등과 같은 6가지이다. 이중 이동객체구간은 이동객체의 움직임이 우세(dominant)하거나 특별히 구분되지 않는 모호한 움직임이 존재하는(즉, 이동객체와 카메라 움직임이 혼재하는 경우, 또는 잡음이 과다하게 존재하는) 구간으로 정의한다. 정지구간은 카메라 움직임이나 이동객체 움직임 등 전체적으로 움직임이 미미한 경우로 정의한다. 전체적인 카메라 움직임 검출 및 분할을 위한 전체적인 동작은 도 3에 도시된 바와 같으며, 이는 후술하기로 한다.In this stage, the camera movements are classified into the following six categories in terms of content-based video indexing and detected, and the video is divided into sections consisting of these movements. The types of camera movements detected by the present invention are zoom (forward / backward tracking), rotation (panation), pan (pan or horizontal tracking), tilt (vertical or vertical tracking), object motion (movement), and stillness. 6, such as static (static). The dual moving object section is defined as a section in which the movement of the moving object is dominant or there is an ambiguous motion (that is, when the moving object and the camera movement are mixed or excessive noise exists). The stop section is defined as a case where the movement is insignificant, such as camera movement or moving object movement. The overall operation for the overall camera motion detection and segmentation is as shown in FIG. 3, which will be described later.

도 2는 압축 비트열 부분 복호화 단계의 출력인 움직임 벡터 예측자값(PMV[r][s][t])과, 관련정보(picture_coding_type, macroblock_type, motion_type, , motion_vector_field_select[r][s])를 입력하여 움직임 벡터장을 구성하는 과정을 도시한 동작 흐름도이다.FIG. 2 inputs a motion vector predictor value PMV [r] [s] [t], which is an output of the compressed bitstream partial decoding step, and related information (picture_coding_type, macroblock_type, motion_type,, motion_vector_field_select [r] [s]). Is a flowchart illustrating a process of configuring a motion vector field.

먼저, 하나의 매크로블록(MB)에 대한 상기의 정보를 입력하여 macroblock_type이 인트라(Intra)/no_MC(no_Motion Compensation) 매크로블록(MB)인지를 알아내어(S201), 인트라(Intra) 또는 no_MC 매크로블록이면 움직임 벡터의 가로, 세로 성분 즉, mv_x와 mv_y를 각각 0으로 설정한다(S208). 여기서, 인트라 매크로블록(Intra MB)은 예측 부호화를 하지 않은 블록으로서, 비트열에서 움직임 벡터가 제공되지 않으므로 움직임 벡터를 0으로 설정한 것이다. 또한, no_MC MB은 예측 기준 프레임의 동일한 위치로 예측이 되어 움직임 벡터가 0인 경우로 mv_x, mv_y를 0으로 설정한 것이다.First, by inputting the above information for one macroblock (MB) to find out whether the macroblock_type is an intra / no_MC (no_Motion Compensation) macroblock (MB) (S201), Intra or no_MC macroblock If it is, the horizontal and vertical components of the motion vector, that is, mv_x and mv_y, are respectively set to 0 (S208). Here, the intra macroblock (Intra MB) is a block without prediction coding, and since the motion vector is not provided in the bit string, the motion vector is set to zero. In addition, no_MC MB is predicted to the same position of the prediction reference frame, and the motion vector is 0, and mv_x and mv_y are set to 0.

단계 S201에서, 매크로블록이 인트라(Intra) 또는 no_MC 매크로블록이 아니면, 원 화소 단위 변환단계(S202)로 진행한다. 이 원 화소 단위 변환단계에서는 비트열의 움직임 벡터가 반 화소 단위에 기준한 값이므로 예측자값 PMV[r][s][t]의 반으로 크기를 스케일링(scaling)하여 화소 단위의 값을 갖도록 한다.In step S201, if the macroblock is not an Intra or no_MC macroblock, the process proceeds to the original pixel unit conversion step S202. In the original pixel unit conversion step, since the motion vector of the bit string is a value based on half pixel units, the size is scaled by half of the predictor value PMV [r] [s] [t] to have a pixel unit value.

다음, 단계 S203으로 진행하여 motion_type이 field_motion_vector인지 판단한다. 본 발명에서는 압축-1과 압축-2로 압축된 비트열을 모두 처리할 수 있는데, 압축-2의 경우 필드 예측(field prediction)과 프레임 예측(frame prediction)을 적응적으로 선택할 수 있다. 따라서 압축-2의 경우 Field_based_prediction에 의한 field_motion_vector인 경우는 frame_motion_vector의 변환을 수행하고(S204), 그렇지 않은 경우에는 단계 S204를 생략한다. 압축-1에서는 프레임 예측만 하므로 단계 S204는 생략된다.Next, the flow advances to step S203 to determine whether the motion_type is field_motion_vector. In the present invention, both compression-1 and compression-2 can process both bit streams. In compression-2, field prediction and frame prediction can be adaptively selected. Therefore, in the case of compression-2, in the case of field_motion_vector by Field_based_prediction, the frame_motion_vector is converted (S204). Otherwise, step S204 is omitted. In compression-1, only frame prediction is performed, so step S204 is omitted.

frame_motion_vector 변환단계(S204)는 두 필드 각각의 field_motion_vector를 하나의 frame_motion_vector로 변환하는데, 그 변환방법은 아래의 수학식 3을 이용한다.The frame_motion_vector conversion step (S204) converts field_motion_vector of each of the two fields into one frame_motion_vector, and the conversion method uses Equation 3 below.

위의 수학식 3과 같이 필드 움직임 벡터(field_motion_vector)(mv)는 프레임 움직임 벡터(frame_motion_vector)(mv_fr)로 변환되는데, 여기서 'grid'는 지금 변환하고자 하는 움직임 벡터가 가로 성분인지 세로 성분인지에 따라서 1과 2의 값을 갖는다. 세로 성분일 경우 필드 움직임 벡터에서의 값은 프레임 화소로 변환할 때 2 배에 해당하며 이를 고려해 주기 위함이다. 'parity'는 현재 복호화하는 필드가 예측으로 사용한 기준 필드와의 종류 관계에 따라서 위의 수학식 3에서 기술한 값을 설정한다. 이 'parity'의 정보는 입력한 motion_vector_field_select[r][s]로부터 구할 수 있다. 'dist'는 필드 간격 단위의 예측 거리를 프레임 간격 단위의 예측 거리로 변환하기 위한 것으로 위의 수학식 3과 같이 구한다.As shown in Equation 3 above, the field motion vector (mv_fr) is converted into a frame motion vector (mv_fr), where 'grid' is determined according to whether the motion vector to be converted is a horizontal component or a vertical component. It has a value of 1 and 2. In the case of the vertical component, the value in the field motion vector corresponds to 2 times when converted to the frame pixel. 'parity' sets the value described in Equation 3 according to the type relationship with the reference field used by the current decoding field as a prediction. This parity information can be obtained from the input motion_vector_field_select [r] [s]. 'dist' is for converting the prediction distance in the field interval unit into the prediction distance in the frame interval unit and is obtained as in Equation 3 above.

수학식 3에 따라서 각 필드의 field_motion_vector는 frame_motion_vector로변환되고, 이때 변환된 두 개의 frame_motion_vector를 산술 평균하여 최종 변환된 frame_motion_vector로 한다.According to Equation 3, field_motion_vector of each field is converted to frame_motion_vector, and arithmetic average of the converted two frame_motion_vector is used as the final converted frame_motion_vector.

다음, macroblock_type 정보로부터 예측 방향이 순방향인지 역방향인지를 파악하여(S205), 순방향이 아닐 경우 즉, 역방향일 경우에 순방향 전환단계(S206)를 수행한다. 즉, 순방향 전환단계는 움직임 벡터가 순방향 예측이 되도록 하는 단계로서, 역방향일 경우에는 부호를 반대로 하고 양방향일 경우 순방향의 움직임 벡터만을 취한다.Next, whether the prediction direction is the forward direction or the reverse direction is determined from the macroblock_type information (S205). If the forward direction is not the forward direction, that is, the reverse direction is performed (S206). That is, the forward conversion step is a step for the motion vector to be a forward prediction. In the reverse direction, the sign is reversed and in the bidirectional direction, only the forward motion vector is taken.

다음, 예측 거리가 한 프레임 간격이 되도록 정형화 한다(S207). picture_coding_type에 따라서 예측 거리는 1~3 프레임 간격을 갖는데 이를 스케일링(scaling)하여 1 프레임 간격으로 정형화한다.Next, the prediction distance is shaped to be one frame interval (S207). According to the picture_coding_type, the prediction distance has 1 to 3 frame intervals and is scaled to form a 1 frame interval.

다음, 현재 매크로블록이 현재 프레임의 마지막 매크로블록인 지를 판정하여(S209), 마지막 매크로블록(MB)인 경우 즉, 한 프레임에 대한 모든 매크로블록(MB)에 대한 수행이 끝났으면 그 프레임의 초기 움직임 벡터장이 구성 완료되어 미디언 필터링단계(S210)로 진행하고, 그렇지 않으면 그 프레임의 다음 매크로블록에 대해 단계 S201부터 수행한다.Next, it is determined whether the current macroblock is the last macroblock of the current frame (S209), and if it is the last macroblock (MB), that is, if the execution of all macroblocks (MB) for one frame is finished, the initial of the frame The motion vector field is constructed and proceeds to the median filtering step S210, otherwise, the process proceeds to step S201 for the next macroblock of the frame.

미디언 필터링단계(S210)는 초기 움직임 벡터장의 잡음 제거 처리를 하여 최종 움직임 벡터장을 출력한다. 압축 비트열에서 제공되는 움직임 벡터는 부호화의 관점에서 예측 오차를 최소화하는 움직임 벡터일 뿐이며 카메라 움직임에 의한 광류와는 항상 일치하지 않고, 특히 평탄한 영역의 경우 랜덤 잡음 형태의 움직임 벡터를 갖는다. 따라서 이러한 잡음을 제거하기 위하여 미디언 필터링을 수행한다.본 발명의 미디언 필터링단계는 움직임 벡터의 가로 성분과 세로 성분의 크기에 대한 필터링을 수행한다.In the median filtering step S210, the noise removal process of the initial motion vector field is performed to output the final motion vector field. The motion vector provided in the compressed bit stream is only a motion vector that minimizes a prediction error in terms of encoding, and does not always coincide with the optical flow caused by camera movement. In particular, a flat region has a motion vector in the form of random noise. Therefore, median filtering is performed to remove such noise. The median filtering step of the present invention performs filtering on the magnitude of the horizontal and vertical components of the motion vector.

도 3은 카메라 움직임 검출 및 분할단계의 세부 동작 흐름도이다. 이 단계는 어파인 파라미터 시퀀스를 입력받아서 최종 출력으로 비디오를 미세분할한 결과와 카메라 움직임 검출결과를 출력한다.3 is a detailed operation flowchart of the camera motion detection and segmentation step. This step receives the affine parameter sequence and outputs the result of subdividing the video into the final output and the camera motion detection result.

먼저, 어파인 파라미터 변환단계(S301)는 각 프레임에 해당하는 어파인 파라미터 시퀀스를 입력받아 각 프레임의 어파인 파라미터를 수학식 4와 같이 변환한다. 즉, 위의 수학식 2를 이용하여 최소 자승 추정으로 구한 어파인 움직임 모델 파라미터는 수학식 4와 같이 카메라 움직임 검출을 위하여 물리적인 카메라 움직임을 더 잘 표현하는 파라미터로 변환할 수 있다.First, the affine parameter conversion step (S301) receives an affine parameter sequence corresponding to each frame and converts the affine parameters of each frame as shown in Equation 4. That is, the affine motion model parameter obtained by the least squares estimation using Equation 2 may be converted into a parameter that better expresses the physical camera motion for camera motion detection as shown in Equation 4.

위의 수학식 4에서 변형된 파라미터 pan, tilt, div, rot 는 각각 카메라 움직임의 팬(pan or horizontal tracking), 틸트(tilt or vertical tracting), 줌(zoom or forward/backward tracking), 회전에 의해서 야기되는 움직임 벡터장을나타낸다. hyp1과 hyp2는 정상적인 카메라 움직임에 의해서 발생할 수 없는 움직임 벡터장을 나타낸다. 즉, 이동개체의 움직임이 포함된 경우의 움직임 벡터장을 기술할 수 있다. 앞으로의 카메라 움직임 검출은 상기의 변환된 파라미터의 임계화에 기반한다. hyp1과 hyp2는 hyp(hyp=|hyp1|+|hyp2|) 형태로 변환하여 사용한다. 결국 본 발명의 어파인 파라미터 변환단계에서는 어파인 파라미터가로 변환된다. 여기서, div, rot, hyp는 선형변수로 정의하고, pan과 tilt는 이동변수로 정의한다.The transformed parameters pan, tilt, div, and rot in Equation 4 above are determined by pan or horizontal tracking, tilt or vertical tracting, zoom or forward / backward tracking, and rotation, respectively. It represents the motion vector field that is caused. hyp 1 and hyp 2 represent motion vector fields that cannot be caused by normal camera movement. That is, the motion vector field when the motion of the moving object is included can be described. Future camera motion detection is based on the thresholding of the transformed parameters above. hyp 1 and hyp 2 are converted to hyp (hyp = | hyp 1 | + | hyp 2 |). After all, in the affine parameter conversion step of the present invention, the affine parameter Is converted to. Here, div, rot, and hyp are defined as linear variables, and pan and tilt are defined as moving variables.

다음, 임계값들을 설정하는데(S302), 위에서 구한 선형변수(div, rot, hyp)에 대한 임계값으로 선형변수 임계값 Tlin과, 이동변수(pan, tilt)에 대한 임계값으로 이동변수 임계값 Ttr, 그리고 시간구간 레벨 검출을 위한 시간구간 임계값 Ttemp을 설정한다. 이들 임계값들은 검출 대상 비디오 시퀀스의 특성에 무관하게 안정적인 값을 설정할 수 있다. 변환된 어파인 변수들은 전술한 바와 같이 물리적인 카메라 움직임에 의해서 발생되는 움직임 벡터장을 표현한다. 따라서 이들 임계값의 변화에 따라 발생하는 움직임 벡터장을 눈으로 관찰하여 사람이 인식할 수 있는 최소의 값을 임계값으로 설정하면 이들 파라미터가 임계값 이상의 값을 가질 경우 결국 사람이 인식할 수 있는 카메라 움직임이 존재함을 나타내고 원하는 카메라 움직임 검출 결과를 얻을 수 있다. 물론 이들 임계값들은 사용자가 대상 비디오 시퀀스에 따라서 미세한 조정을 하면 더 좋은 결과를 얻을 수도 있다. 본 발명에서는Tlin=0.015, Ttr=1.00을 기본 임계값으로 설정한다.Next, to set the thresholds (S302), the linear variable threshold T lin as the threshold for the linear variables (div, rot, hyp) obtained above, and the moving variable threshold as the threshold for the moving variables (pan, tilt). Set the value T tr and the time interval threshold T temp for time interval level detection. These thresholds can set a stable value regardless of the nature of the video sequence to be detected. The transformed affine variables represent the motion vector field generated by the physical camera movement as described above. Therefore, by visually observing the motion vector field generated by the change of these threshold values, the minimum value that can be recognized by humans is set as the threshold value. It is possible to indicate that the camera motion exists and obtain a desired camera motion detection result. Of course, these thresholds may yield better results if the user makes fine adjustments to the target video sequence. In the present invention, T lin = 0.015 and T tr = 1.00 are set as default threshold values.

시간구간 임계값 Ttemp은 일반적으로 카메라 움직임이 어느 구간 이상 지속된다는 사실에 기반하여 프레임 레벨의 검출 결과가 어느 시간 구간 이상 지속되면 그 카메라 움직임이 존재하는 것으로 검출한다. 시간구간 임계값 Ttemp는 이를 위한 임계값이며 이 임계값 역시 비디오 시퀀스에 의존하지 않고 안정적인 값으로 설정할 수 있는데, 단 상당히 빠른 카메라 움직임을 갖는 축구 등의 스포츠와 카메라 움직임이 비교적 느린 드라마 등으로 크게 두 부류 정도 구분한다. 본 발명에서는 전자인 경우에는 Ttemp=15 프레임으로 설정하고, 후자인 경우에는 Ttemp=30 프레임으로 설정하는데, 이럴 경우 안정적인 검출 성능을 얻을 수 있다.The time interval threshold T temp is generally detected based on the fact that the camera movement continues for more than a certain period, and when the detection result of the frame level continues for more than a certain time interval, the camera movement is detected. The time interval threshold T temp is a threshold for this, and this threshold can also be set to a stable value without depending on the video sequence. Distinguish between two classes. In the present invention, the former sets T temp = 15 frames, and the latter sets T temp = 30 frames. In this case, stable detection performance can be obtained.

다음, 줌 검출단계(S303)에서는 비디오 시퀀스를 구성하는 각 프레임에 해당하는 변환된 어파인 파라미터 중 div 시퀀스와 어파인 파라미터 중 a2와 a6 시퀀스를 입력받아 줌 카메라 움직임을 갖는 비디오 구간을 검출하여 줌 구간으로 출력한다. 즉, 변환된 어파인 파라미터 div를 앞에서 설정된 선형구간 임계값과 비교함으로써, 해당 프레임의 카메라 움직임을 검출한다. 각 프레임의 카메라 움직임을 검출하고 이로부터 비디오 구간을 검출하는 과정은 도 4에 도시되어 있는 바, 이는 후술하기로 한다.Next, in the zoom detection step S303, a video segment having a zoom camera movement is detected by receiving a div sequence among the converted affine parameters corresponding to each frame constituting the video sequence and a2 and a6 sequences among the affine parameters. Output to section. That is, the camera motion of the corresponding frame is detected by comparing the converted affine parameter div with the linear interval threshold set previously. A process of detecting camera movement of each frame and detecting a video section therefrom is shown in FIG. 4, which will be described later.

줌 검출이 끝나면 전체 비디오 시퀀스 중에서 줌 검출이 되지 않은 나머지 잔여 비디오 구간에 대하여 회전 검출단계(S304)를 수행하여 회전 카메라 움직임에 해당하는 회전 구간을 검출한다. 또한, 줌 검출단계와 회전 검출단계에서 줌과 회전 카메라 움직임으로 검출되지 않은 잔여 비디오 구간에 대하여 팬 검출단계(S305)에서 팬 카메라 움직임 검출을 수행한다. 마찬가지 방법으로 틸트 검출단계(S306)에서 틸트 카메라 움직임을, 이동객체구간 검출단계(S307)에서 이동객체로 정의된 카메라 움직임을, 정지구간 검출단계(S308)에서 정지구간으로 정의된 카메라 움직임을 각각 검출한다. 줌 검출단계 등 상기의 6가지 카메라 움직임 검출에 대한 상세 흐름도는 도 4에 도시되어 있는 바, 상세한 과정은 후술하기로 한다.After the zoom detection is completed, the rotation detection step (S304) is performed on the remaining video sections that are not zoomed out of the entire video sequence to detect the rotation section corresponding to the rotation camera movement. In addition, pan camera movement detection is performed in the pan detection step S305 for the remaining video sections which are not detected by the zoom and rotation camera movements in the zoom detection step and the rotation detection step. Similarly, the tilt camera movement is defined in the tilt detection step S306, the camera movement defined as the moving object in the moving object section detection step S307, and the camera movement defined as the stop section in the stop section detection step S308. Detect. A detailed flowchart of the six camera motion detection steps, such as the zoom detection step, is shown in FIG. 4, which will be described later.

상기의 6가지 카메라 움직임 검출이 완료되면 나머지 잔여구간에 대해서 미세분할단계(S309)가 수행된다. 즉, 위의 과정에서 어느 카메라의 움직임으로도 검출되지 않은 나머지 잔여구간에 대해서, 상기의 검출된 카메라 움직임 구간 정보를 활용하여 잔여구간에 이웃한 카메라 움직임 구간으로 적절히 분류하여 최종적으로 전체 비디오 시퀀스를 카메라 움직임에 따라서 분할한다. 즉, 전체 비디오 시퀀스가 동일한 카메라 움직임을 갖는 비디오 구간으로 분할된다.When the six camera motion detection is completed, the fine dividing step S309 is performed on the remaining remaining sections. In other words, the remaining video segments that are not detected by any camera movement in the above process are classified into camera movement sections adjacent to the remaining sections by using the detected camera motion section information. Split according to camera movement. That is, the entire video sequence is divided into video sections having the same camera movement.

미세분할단계(S309)에서 잔여구간을 처리하는 과정은 다음과 같다. 모든 카메라 움직임 검출이 완료된 후 잔여구간이 생기는 이유는 크게 다음과 같은 경우이다. 임의의 카메라 움직임은 미미한 크기의 움직임으로 시작하고 끝나는 경우가 일반적인데, 이 경우 검출을 위하여 설정한 임계치보다 작은 미미한 크기의 카메라 움직임을 갖는다. 따라서, 카메라 움직임의 시작과 끝 부분에 해당하는 구간이 검출되지 않고 잔여구간으로 남는다. 또 다른 경우는 임의의 카메라 움직임이 진행되는 동안 카메라 움직임의 크기가 가변적이어서 중간 구간에 잠시 카메라 움직임을 잠시 멈추거나 크기가 미미해져서 검출되지 않은 경우이다. 또는 시간구간 임계치보다 작은 아주 짧은 시간구간의 카메라 움직임이 발생하는 경우이다. 이와 같은 경우를 고려하여 미세분할을 위한 다음과 같은 잔여구간 처리과정을 진행한다.The process of processing the remaining section in the fine dividing step (S309) is as follows. The reason why the remaining section occurs after all camera motion detection is completed is largely as follows. Arbitrary camera movements generally start and end with insignificant movements, in which case they have insignificant movements that are smaller than the threshold set for detection. Therefore, the sections corresponding to the beginning and the end of the camera movement are not detected and remain as the remaining sections. Another case is when the camera movement is variable during an arbitrary camera movement, and thus the camera movement is not detected because the camera movement is temporarily stopped or the size is small in the middle section. Or camera movement occurs in a very short time interval that is less than the time interval threshold. In consideration of such a case, the following remaining section treatment process is performed for fine division.

먼저, 잔여구간에 이웃한 앞뒤의 구간이 동일한 카메라 움직임으로 검출된 경우 그 잔여구간은 이웃한 카메라 움직임으로 분류한다. 즉, 이웃한 구간에 포함된다. 다음, 잔여구간에 이웃한 앞 구간이 정지구간이고 뒤 구간이 임의의 카메라 움직임으로 분류된 경우이거나 앞 구간이 임의의 카메라 움직임 구간이고 뒤 구간이 정지구간일 경우, 이웃한 카메라 움직임 구간에 포함시킨다.First, when the front and rear sections adjacent to the remaining section are detected by the same camera movement, the remaining section is classified as the neighboring camera movement. That is, it is included in the neighboring section. Next, if the front section adjacent to the remaining section is a stop section and the back section is classified as any camera movement, or if the front section is any camera movement section and the back section is a stop section, it is included in the neighboring camera movement section. .

다음, 잔여구간이 앞 뒤 서로 다른 종류의 카메라 움직임 구간과 이웃한 경우 잔여구간을 앞 뒤 두 구간으로 나누고, 나누어진 앞의 잔여구간은 이웃한 앞 구간의 카메라 움직임으로 분류하고 뒤의 잔여구간은 이웃한 뒤의 카메라 움직임으로 분류한다.Next, if the remaining section is adjacent to the front and back of different types of camera movement section, the remaining section is divided into two sections, and the remaining section is classified as the neighboring front section camera movement and the remaining section is It is classified as camera movement after neighboring.

도 4는 본 발명의 한 실시예에 따른 각 종류의 카메라 움직임 검출과정의 상세 동작 흐름도이다. 도 4의 각 종류의 카메라 움직임 검출과정에서는, 각 종류의 카메라 움직임에 해당하는 변환된 어파인 움직임 파라미터 시퀀스와 어파인 파라미터 시퀀스를 입력받아 각 해당 움직임을 검출한 후 해당 움직임을 갖는 카메라 움직임 검출구간을 출력한다.4 is a detailed operation flowchart of each type of camera motion detection process according to an embodiment of the present invention. In each type of camera motion detection process of FIG. 4, a camera motion detection section having a corresponding motion after detecting a corresponding motion by receiving a transformed affine motion parameter sequence and an affine parameter sequence corresponding to each type of camera motion is detected. Outputs

먼저, 검출대상 구간 설정단계(S401)에서는 검출하고자 하는 카메라 움직임의 검출을 수행할 대상 비디오 구간을 설정한다. 가장 먼저 검출을 수행하는 줌 검출의 경우 검출 대상은 입력 비디오 시퀀스의 전 구간이 검출 대상이 된다. 다음에 수행하는 회전 검출의 검출 대상 비디오 구간은 줌으로 검출된 구간을 제외한 나머지 구간이 된다. 동일한 방법으로 연이은 팬, 틸트, 이동객체구간, 정지구간 검출의 검출대상 구간을 설정한다.First, in the detection target section setting step (S401), a target video section to detect the camera motion to be detected is set. In the case of zoom detection which performs detection first, the detection target is the entire region of the input video sequence. The next video section to be detected for rotation detection to be performed is the remaining section except the section detected by the zoom. In the same manner, successive pan, tilt, moving object sections, and stop section detection target sections are set.

다음, 어파인 파라미터 유효성 판정단계(S402)에서는 줌 검출과 회전 검출 시에만 수행한다. 수학식 4에서, 줌 검출에 사용되는 변환된 어파인 파라미터 div는 1/2(a2+a6)로 주어지는데, 이때 a2과 a6의 부호가 다르면 줌이 아닌 hyp1으로 표현되는 정상적인 카메라 움직임이 야기할 수 없는 움직임 벡터장을 표현한다. 따라서, 임계화 이전에의 부호를 확인하여 서로 다른 부호를 갖는 프레임은 줌 검출에서 제외되도록 div 값을 0으로 한다. 회전 검출의 경우, 수학식 4에서 회전 검출에 사용되는 변환 어파인 파라미터 rot는 1/2(a5-a3)로 주어지는데, 부호가 같은 경우는 hyp2에 해당함으로 a3와 a5의 부호가 같은 프레임은 rot를 0으로 하여 검출되지 않도록 한다.Next, in the affine parameter validity determination step (S402), only the zoom detection and the rotation detection are performed. In Equation 4, the transformed affine parameter div used for zoom detection is given as 1/2 (a 2 + a 6 ), where a sign of a 2 and a 6 is different, which is normally represented as hyp 1 , not zoom. Represents a motion vector field that camera movement cannot cause. Therefore, the div value is set to 0 so that frames with different codes are checked by checking the sign before thresholding. If the rotation detection, is given in equation (4) to the affine transformation parameters rot is 1/2 (a 5 -a 3) used for rotation detection, if such a code is available for the hyp by a 2 a 3 and a 5 Frames with the same sign are not detected by setting rot to zero.

다음, 변환 파라미터 임계화단계(S403)에서는 검출하고자 하는 카메라 움직임에 해당하는 변환된 어파인 파라미터를 임계화하여 각 프레임에 대한 검출을 수행한다. 줌 검출과 회전 검출은 각각 div와 rot의 절대값을 선형변수 임계값 Tlin와 비교하여, 크면 그 프레임이 각각 줌과 회전의 카메라 움직임을 포함하는 것으로 판정하고, 작으면 해당 움직임이 없는 것으로 판정하고 div 값을 0으로 설정한다.Next, in the conversion parameter thresholding step (S403), the transformed affine parameter corresponding to the camera motion to be detected is thresholded to detect each frame. Zoom detection and rotation detection compare the absolute values of div and rot with the linear variable threshold T lin , respectively, to determine that the frame contains camera movements of zoom and rotation, respectively, and to determine that there is no such movement. And set the div value to 0.

팬 검출과 틸트 검출은 위에서와 마찬가지 방법으로 각각 pan과 tilt의 절대값을 이동변수 임계값 Ttr로 임계화한다. 이동객체구간 검출은 hyp의 절대값을 선형변수 임계치 Tlin로 임계화한다. 즉, hyp의 절대값이 임계치보다 큰 경우 그 프레임을 이동객체 구간으로 판정한다. 정지구간 검출은 선형변수에 해당하는 div, rot, hyp의 각각의 절대값의 합이 2배의 Tlin보다 작고, 이동변수에 해당하는 pan과 tilt의 각각의 절대값의 합이 Ttr보다 작을 경우 정지구간으로 판정한다.Pan detection and tilt detection use the same method as above to threshold the absolute values of pan and tilt to the moving variable threshold T tr , respectively. Moving object detection detects the absolute value of hyp by the linear variable threshold T lin . That is, if the absolute value of hyp is larger than the threshold, the frame is determined as the moving object section. In the stop section detection, the sum of absolute values of div, rot and hyp corresponding to linear variables is less than twice T lin , and the sum of absolute values of pan and tilt corresponding to moving variables is smaller than T tr. If so, the stop section is used.

위의 단계 S401 내지 단계 S403에서, 프레임 레벨의 검출이 완료되면 그 출력은 하나의 움직임 검출에 대하여 각 프레임의 검출 결과가 포함된 시퀀스로 그 움직임으로 검출된 프레임은 해당 변환 어파인 파라미터의 값을 그대로 가지고, 검출되지 않은 프레임은 0의 값을 가지게 된다.In the above steps S401 to S403, when the detection of the frame level is completed, the output is a sequence including the detection result of each frame with respect to one motion detection, and the frame detected by the motion returns the value of the corresponding transform affine parameter. As is, undetected frames will have a value of zero.

다음 시간방향 평탄화단계(S404)는 검출하고자 하는 특정 카메라 움직임에 대한 상기의 각 프레임 레벨의 움직임 검출이 완료되면 그 결과 시퀀스를 시간 방향으로 평탄화한다. 즉, 시간방향 평탄화는 각 카메라 움직임 종류별로 각각 수행한다. 시간방향 평탄화는 시간 방향의 저역통과필터링의 효과를 갖는 것으로 11 프레임 크기의 창을 두고 슬라이딩하면서 그 창내에 0의 값을 갖는 프레임들의 수가 창 크기의 반보다 큰 경우 그 창의 중심에 해당하는 프레임의 값을 0으로 교체하고, 그렇지 않으면 그 값을 그대로 유지한다. 이와 같은 시간방향 평탄화단계는 실제의 카메라 움직임이 시간적으로 높은 상관성을 갖는다는 사실을 이용하여 검출 결과의 프레임간의 급격한 변화를 줄여줌으로써 프레임 레벨에서의 오 검출 및 검출 실패의 오류를 보상한다.In the next time direction flattening step (S404), when the motion detection of each frame level for the specific camera motion to be detected is completed, the sequence is flattened in the time direction. That is, temporal direction flattening is performed for each camera movement type. Temporal direction flattening has the effect of low pass filtering in the time direction, and if the number of frames with a value of zero in the window is greater than half the window size when sliding over an 11 frame size window, Replace the value with 0, otherwise keep the value. This temporal flattening step compensates for errors in false detection and detection failure at the frame level by reducing the rapid change between frames in the detection result by utilizing the fact that the actual camera movement has a high correlation in time.

다음, 시간구간 임계화단계(S405)는 실제의 카메라 움직임이 최소한 임의의 구간 이상 유지된다는 사실을 활용하여 특정 카메라 움직임을 포함하는 비디오 구간을 검출하고자 하는 단계이다. 시간방향 평탄화의 결과에서 특정 카메라 움직임으로 검출된 연속한 프레임 구간을 시간구간 임계값 Ttemp와 비교하여 임계값보다 큰 경우 그 구간을 특정 카메라 움직임 구간으로 검출한다(S406).Next, the time interval thresholding step S405 is a step for detecting a video section including a specific camera movement by utilizing the fact that the actual camera movement is maintained at least an arbitrary section. When the continuous frame section detected by the specific camera movement in the result of the time-direction flattening is greater than the threshold value T temp , the section is detected as the specific camera movement section (S406).

위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는 첨부된 청구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.While the invention has been described above based on the preferred embodiments thereof, these embodiments are intended to illustrate rather than limit the invention. It will be apparent to those skilled in the art that various changes, modifications, or adjustments to the above embodiments can be made without departing from the spirit of the invention. Therefore, the protection scope of the present invention will be limited only by the appended claims, and should be construed as including all such changes, modifications or adjustments.

이상과 같이 본 발명에 의하면, 압축된 비디오를 완전 복호화하지 않고 부분 복호화함으로써, 미세분할된 카메라 움직임을 검출할 수 있기 때문에 계산량은 감소하고 잡음에 강인한 안정적인 성능을 얻을 수 있다.As described above, according to the present invention, by partially decoding the compressed video without fully decoding, the finely divided camera motion can be detected, so that the calculation amount is reduced and the stable performance that is robust against noise can be obtained.

이러한 카메라 움직임 검출 및 분할 정보는 내용기반 비디오 색인에 활용할수 있으며, 카메라 움직임 정보는 하이라이트 검출을 통한 비디오 요약, 카메라 움직임을 쿼리로 한 비디오 검색 및 브라우징, 편집 등에 활용할 수 있는 효과가 있다.The camera motion detection and segmentation information can be used for content-based video indexing, and the camera motion information can be utilized for video summaries through highlight detection, video search, browsing, and editing using camera motion as a query.

Claims (21)

블록 단위의 움직임 보상을 하는 압축 방식으로 압축된 비디오로부터 카메라 움직임을 자동으로 검출하고, 동일한 카메라 움직임을 갖는 구간으로 분할하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법에 있어서,In the camera motion detection and segmentation method in the compressed region of the compressed video to automatically detect the camera motion from the video compressed by the compression scheme for block-by-block motion compensation, and segmented into sections having the same camera movement, 상기 압축 비디오로부터 블록 단위의 움직임 벡터를 추출하는 압축 비트열 부분 복호화단계와;A compressed bit string partial decoding step of extracting a motion vector in units of blocks from the compressed video; 상기 추출된 블록 단위의 움직임 벡터를 이용하여 비디오 시퀀스를 구성하는 각 프레임의 움직임 벡터장을 구성하는 움직임 벡터장 구성단계;A motion vector field construction step of constituting a motion vector field of each frame constituting a video sequence using the extracted block vector motion vector; 상기 각 프레임의 움직임 벡터장으로부터 전역 움직임을 기술하는 어파인 움직임 모델 파라미터를 추정하는 어파인 움직임 모델 파라미터 추정단계;An affine motion model parameter estimating step of estimating an affine motion model parameter describing global motion from the motion vector field of each frame; 상기 어파인 움직임 모델 파라미터를 임계화하여 카메라 움직임을 검출하는 카메라 움직임 검출단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.And a camera motion detection step of detecting camera motion by thresholding the affine motion model parameter. 제 1 항에 있어서,The method of claim 1, 상기 검출된 카메라 움직임을 이용하여 동일한 카메라 움직임을 갖는 비디오 구간으로 분할하는 비디오 분할단계를 더 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.And dividing the video into video sections having the same camera movement by using the detected camera movement. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 압축 비트열 부분 복호화단계는,In the compressed bit string partial decoding step, 상기 블록 단위의 움직임 보상을 하는 압축방식으로 압축된 비디오 비트열을 입력받아 부분 복호화하여, 각 매크로블록마다 움직임 벡터 및 움직임 벡터장 구성에 사용하는 관련정보를 추출하여 출력하는 단계이며,Receiving and partially decoding a video bit stream compressed by a compression scheme for performing motion compensation on a block-by-block basis, and extracting and outputting relevant information used for constructing a motion vector and a motion vector field for each macroblock; 상기 관련정보에는, 각 픽쳐의 픽쳐 부호화 형태(picture coding type)를 나타내는 픽쳐부호화형태(picture_coding_type)와, 각 매크로블록의 부호화 형태(MB type)를 나타내는 매크로블록형태(macroblock_type)와, 각 매크로블록의 움직임 형태가 필드기반예측(field_based_prediction)에 의한 필드움직임벡터 (field_motion_vector)인지 혹은 프레임기반예측(frame_based_prediction)에 의한 프레임움직임벡터(frame_motion_vector)인지를 나타내는 움직임형태(motion_type), 그리고 각 필드의 움직임 추정 기준필드가 top field 인지 bottom field 인지를 나타내는 움직임벡터필드형태(motion_vector_field_select[r][s])가 포함된 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.The related information includes a picture coding type (picture_coding_type) indicating a picture coding type of each picture, a macroblock type (macroblock_type) indicating a coding type (MB type) of each macroblock, and Motion_type indicating whether the motion type is a field motion vector (field_motion_vector) by field-based prediction (field_based_prediction) or a frame motion vector (frame_motion_vector) by frame-based prediction, and motion estimation reference field of each field And a motion vector field type (motion_vector_field_select [r] [s]) indicating whether the motion field is a top field or a bottom field. 제 3 항에 있어서,The method of claim 3, wherein 상기 움직임 벡터장 구성단계는,The motion vector field construction step, 상기 압축 비트열 부분 복호화단계에서 출력되는 움직임 벡터와, 픽쳐부호화형태, 매크로블록형태, 움직임형태, 및 움직임벡터필드형태와 같은 관련정보를 입력받아, 임의의 프레임의 각 매크로블록마다 예측방향이 순방향이고 예측거리가 한 프레임 간격에 해당하는 프레임기반예측의 프레임움직임벡터를 구하여, 상기 프레임의 움직임 벡터장을 구하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.The motion vector output from the compressed bitstream partial decoding step and related information such as a picture encoding type, a macroblock type, a motion type, and a motion vector field type are input, and the prediction direction is forward for each macroblock of a certain frame. And a frame motion vector of the frame-based prediction having a prediction distance corresponding to one frame interval, to obtain a motion vector field of the frame. 제 4 항에 있어서,The method of claim 4, wherein 상기 움직임 벡터장 구성단계는,The motion vector field construction step, 상기 임의의 프레임 내의 임의의 매크로블록이 인트라 매크로블록 또는 no_MC 매크로블록이면 상기 매크로블록의 움직임 벡터를 0벡터로 설정하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.And setting a motion vector of the macroblock to 0 vector if any macroblock in the arbitrary frame is an intra macroblock or a no_MC macroblock. 제 4 항에 있어서,The method of claim 4, wherein 상기 움직임 벡터장 구성단계는,The motion vector field construction step, 상기 임의의 프레임 내의 임의의 매크로블록이 인트라 매크로블록 또는 no_MC 매크로블록이 아니면, 상기 압축 비트열의 움직임 벡터를 화소 단위로 변환하는 제 1 단계와,A first step of converting the motion vector of the compressed bit stream in units of pixels if any macroblock in the arbitrary frame is not an intra macroblock or a no_MC macroblock; 상기 움직임 벡터의 상기 움직임형태를 파악하여 프레임기반예측에 의한 프레임움직임벡터로 변환하는 제 2 단계,A second step of identifying the motion shape of the motion vector and converting the motion shape into a frame motion vector by frame-based prediction; 상기 움직임 벡터의 예측 방향을 파악하여 순방향 예측 움직임 벡터로 변환하는 제 3 단계, 및A third step of identifying a prediction direction of the motion vector and converting the motion vector into a forward prediction motion vector; and 상기 움직임 벡터의 예측 거리를 한 프레임간격으로 정형화하여 움직임 벡터를 구하는 제 4 단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.And a fourth step of obtaining a motion vector by shaping the prediction distance of the motion vector at one frame interval. 제 6 항에 있어서,The method of claim 6, 상기 제 2 단계의 필드움직임벡터를 프레임움직임벡터로 변환하는 과정은,The process of converting the field motion vector of the second step into a frame motion vector, 두 필드의 필드움직임벡터를 각각 아래의 수식에 적용하여 프레임움직임벡터로 변환하는 제 1 소단계와,A first substep of applying the field motion vectors of the two fields to the frame motion vector by applying the following equations, respectively, 상기 제 1 소단계에서 각각 구해진 두 개의 프레임움직임벡터를 산술평균하여 최종 프레임움직임벡터를 구하는 제 2 소단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.And a second substep of arithmetically averaging the two frame motion vectors obtained in the first substep to obtain a final frame motion vector. 〈수식〉<Equation> 제 6 항에 있어서,The method of claim 6, 상기 제 3 단계의 역방향 예측 움직임 벡터를 순방향 예측 움직임 벡터로 변환하는 과정은,The process of converting the backward predictive motion vector of the third step into a forward predictive motion vector may include: 상기 매크로블록형태 정보로부터 상기 움직임 벡터의 예측방향을 파악하고, 역방향일 경우에는 부호만 반대로 하고, 양방향일 경우에는 순방향의 움직임 벡터를 취하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.Detecting the motion direction of the motion vector from the macroblock type information, and reverses only the sign in the reverse direction, and takes a forward motion vector in the bidirectional direction. Division method. 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,The method according to any one of claims 6 to 8, 상기 프레임을 구성하는 모든 매크로블록에 대하여 상기 제 1 단계 내지 제 4 단계를 수행하여 움직임 벡터를 구하여 상기 프레임의 초기 움직임 벡터장을 구하고, 상기 구해진 움직임 벡터의 가로 및 세로 성분의 크기를 미디언 필터링하여 잡음을 제거하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.Performing the first to fourth steps for all macroblocks constituting the frame to obtain a motion vector to obtain the initial motion vector length of the frame, and median filtering the magnitudes of the horizontal and vertical components of the motion vector. Camera motion detection and segmentation in the compressed region of the compressed video. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 어파인 움직임 모델 파라미터 추정단계는,The affine motion model parameter estimating step, 상기 각 프레임의 움직임 벡터장으로부터 추정한 어파인 파라미터를 물리적인 카메라 움직임을 표현하기 위한 파라미터(pan, tilt, div, rot, hyp1, hyp2)로 변환하는 어파인 파라미터 변환단계와;An affine parameter conversion step of converting the affine parameters estimated from the motion vector field of each frame into parameters (pan, tilt, div, rot, hyp 1 , hyp 2 ) for representing physical camera motion; 상기 변환된 어파인 파라미터 중 선형변수(div, rot, hyp)에 대한 임계값과 이동변수(pan, tilt)에 대한 임계값, 그리고 시간구간 레벨 검출을 위한 시간구간 임계값을 설정하는 임계값 설정단계; 및Among the transformed affine parameters, a threshold value is set for setting a threshold value for a linear variable (div, rot, hyp), a threshold value for a moving variable (pan, tilt), and a time interval threshold value for time interval level detection. step; And 상기 어파인 파라미터와 변환된 어파인 파라미터를 입력하여 줌 카메라 움직임, 회전 카메라 움직임, 팬 카메라 움직임, 틸트 카메라 움직임, 이동객체구간, 정지구간을 갖는 비디오 구간을 각각 검출하여, 줌 구간, 회전 구간, 팬 구간, 틸트 구간, 이동객체구간, 정지구간으로 출력하는 비디오 구간 검출단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.Inputting the affine parameter and the converted affine parameter detects a video section having a zoom camera movement, a rotating camera movement, a pan camera movement, a tilt camera movement, a moving object section, and a stop section, respectively, and includes a zoom section, a rotation section, And a video section detection step of outputting a pan section, a tilt section, a moving object section, and a stop section. 제 10 항에 있어서,The method of claim 10, 상기 비디오 구간 검출단계 후 나머지 잔여구간이 존재하면, 임의의 잔여구간을 해당 잔여구간에 이웃한 구간으로 적절하게 분류하여 전체 비디오를 카메라 움직임에 따라 미세분할하는 미세분할단계를 더 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.If there is a remaining residual section after the video section detection step, further comprises: a fine segmentation step of finely classifying any remaining section into a section adjacent to the remaining section to finely segment the entire video according to the camera movement. Camera motion detection and segmentation in the compressed region of compressed video. 제 11 항에 있어서,The method of claim 11, 상기 미세분할단계는,The fine division step, 상기 잔여구간에 이웃한 두 구간이 동일한 카메라 움직임으로 검출된 경우에는 상기 잔여구간을 상기 이웃한 구간의 카메라 움직임으로 분류하고,When two sections adjacent to the remaining section are detected by the same camera movement, the remaining sections are classified as camera movements of the neighboring section. 상기 잔여구간에 이웃한 한 구간이 정지구간이고 다른 구간이 임의의 카메라 움직임으로 검출된 경우에는 상기 잔여구간을 상기 이웃한 다른 구간의 임의의 카메라 움직임으로 분류하고,When one section adjacent to the remaining section is a stop section and the other section is detected as any camera movement, the remaining section is classified as any camera movement of the other section. 상기 잔여구간에 이웃한 두 구간이 정지구간이 아닌 서로 다른 종류의 카메라 움직임 구간으로 검출된 경우에는 상기 잔여구간을 두 구간으로 나누고 각각 이웃한 구간의 카메라 움직임으로 분류하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.When the two sections adjacent to the remaining section are detected as different types of camera movements instead of the stop section, the remaining sections are divided into two sections and classified into camera movements of the adjacent sections. Camera motion detection and segmentation in the compressed region. 제 10 항에 있어서,The method of claim 10, 상기 임계값 설정 단계는,The threshold setting step, 상기 선형변수 임계값과 이동변수 임계값은 각 카메라 움직임에 의하여 야기되는 움직임 벡터장을 눈으로 관찰하여 사람이 인지할 수 있는 최소의 값을 설정하고,The threshold value of the linear variable and the threshold value of the moving variable set the minimum value that a human can recognize by observing the motion vector field caused by each camera motion with eyes. 상기 시간구간 레벨 검출을 위한 시간구간 임계값으로는 카메라 움직임이 급격한 영상과 카메라 움직임이 완만한 영상에 따라 각각 다른 값으로 설정하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.The method for detecting and segmenting camera motion in the compressed region of the compressed video, wherein the threshold value for detecting the time interval level is set to a different value according to an image having a sharp camera movement and an image having a gentle camera movement. . 제 10 항에 있어서,The method of claim 10, 상기 어파인 파라미터 변환단계는,The affine parameter conversion step, 상기 각 프레임의 어파인 파라미터를 아래의 수식에 적용하여 변환하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.Camera motion detection and segmentation method in the compressed region of the compressed video, characterized in that by applying the affine parameter of each frame to the following equation. 〈수식〉<Equation> 여기서, 변형된 파라미터 pan, tilt, div, rot 는 각각 카메라 움직임의 팬(pan or horizontal tracking), 틸트(tilt or vertical tracking), 줌(zoom or forward/backward tracking), 회전에 의해서 야기되는 움직임 벡터장을 나타내고, hyp1과 hyp2는 정상적인 카메라 움직임에 의해서 발생할 수 없는 움직임 벡터장을 나타낸다.Here, the modified parameters pan, tilt, div, and rot are motion vectors caused by pan or horizontal tracking, tilt or vertical tracking, zoom or forward / backward tracking, and rotation, respectively. Field and hyp 1 and hyp 2 represent the motion vector fields that cannot be caused by normal camera movement. 제 14 항에 있어서,The method of claim 14, 상기 비디오 구간 검출단계는,The video section detection step, 전체 비디오 중 카메라 움직임의 검출을 수행할 비디오 구간을 설정하는 검출대상구간 설정단계와,A detection target section setting step of setting a video section to detect camera movement among all videos; 상기 어파인 파라미터를 이용하여 정상적인 카메라 움직임이 야기할 수 없는 경우를 검출하여 어파인 파라미터의 유효성을 판정하는 단계,Determining validity of the affine parameter by detecting a case where normal camera movement cannot be caused by using the affine parameter, 상기 검출하고자 하는 카메라 움직임에 해당하는 변환된 어파인 파라미터를 임계값과 비교하여 각 프레임에 해당하는 카메라 움직임을 검출하는 변환 파라미터 임계화단계,A conversion parameter thresholding step of detecting a camera motion corresponding to each frame by comparing the converted affine parameter corresponding to the camera motion to be detected with a threshold value; 상기 프레임에 검출된 카메라 움직임의 오검출 및 검출실패를 보상하기 위한 시간방향 평탄화단계,A temporal flattening step for compensating for false detection and detection of camera movement detected in the frame; 상기 프레임에 검출된 카메라 움직임이 상기 시간구간 임계값 이상의 시간동안 지속되는 지를 확인하는 시간구간 임계화단계, 및A time interval thresholding step of checking whether the camera movement detected in the frame lasts for a time equal to or greater than the time interval threshold value, and 상기 카메라 움직임이 지속된 구간을 해당 카메라 움직임 구간으로 검출하는 움직임 검출단계를 포함한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.And a motion detection step of detecting a section in which the camera motion is continued as a corresponding camera motion section. 제 15 항에 있어서,The method of claim 15, 상기 검출대상구간 설정단계는,The detecting target section setting step, 첫 번째 카메라 움직임 구간을 검출할 경우에는 전체 비디오 구간을 검출대상구간으로 설정하고, 그 후부터는 앞에서 이미 검출된 카메라 움직임 구간을 제외한 나머지 구간을 검출대상구간으로 설정하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.When detecting the first camera motion section, the entire video section is set as the detection target section, and after that, the remaining section except for the camera motion section previously detected is set as the detection target section. Camera Motion Detection and Segmentation in. 제 15 항에 있어서,The method of claim 15, 상기 어파인 파라미터 유효성 판정단계는,The affine parameter validity determining step, 상기 프레임의 변환된 어파인 파라미터 div를 결정하는 어파인 파라미터 a2, a6의 부호가 서로 다르면 상기 div를 0으로 세팅하여 줌 검출에서 제외되도록 하고,If the signs of the affine parameters a 2 and a 6 which determine the converted affine parameter div of the frame are different from each other, the div is set to 0 to be excluded from zoom detection. 상기 프레임의 변환된 어파인 파라미터 rot를 결정하는 어파인 파라미터 a5,a3의 부호가 서로 같으면 상기 rot를 0으로 세팅하여 회전 검출에서 제외되도록 하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.When the affine parameters a 5 and a 3 which determine the transformed affine parameter rot of the frame have the same sign, the rot is set to 0 so as to be excluded from rotation detection. Motion detection and segmentation method. 제 15 항에 있어서,The method of claim 15, 상기 변환 파라미터 임계화단계는,The conversion parameter thresholding step, 상기 변환된 어파인 파라미터 div와 rot의 절대값을 선형변수 임계값과 각각 비교하여 상기 변환된 어파인 파라미터의 절대값이 크면 상기 프레임이 줌 카메라 움직임 또는 회전 카메라 움직임을 포함한 것으로 판정하고,Comparing the absolute values of the transformed affine parameters div and rot with a linear variable threshold, respectively, and determining that the frame includes zoom camera motion or rotation camera motion if the absolute value of the transformed affine parameter is large, 상기 변환된 어파인 파라미터 pan과 tilt의 절대값을 이동변수 임계값과 비교하여 상기 변환된 어파인 파라미터의 절대값이 크면 상기 프레임이 팬 카메라 움직임 또는 틸트 카메라 움직임을 포함한 것으로 판정하고,Comparing the absolute values of the transformed affine parameters pan and tilt with a moving variable threshold value and determining that the frame includes a pan camera movement or a tilt camera movement if the absolute value of the converted affine parameters is large, 상기 변환된 어파인 파라미터 hyp의 절대값을 선형변수 임계값과 비교하여 hyp의 절대값이 크면 상기 프레임을 이동객체구간으로 판정하고,The absolute value of the converted affine parameter hyp is compared with a linear variable threshold value, and if the absolute value of hyp is large, the frame is determined as a moving object section. 상기 변환된 어파인 파라미터 중 선형변수(div, rot, hyp)의 각각의 절대값의 합이 2배의 선형변수 임계값보다 작고 이동변수(pan, tilt)의 각각의 절대값의 합이 이동변수 임계값보다 작으면 상기 프레임을 정지구간으로 판정하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.The sum of the absolute values of the linear variables (div, rot, hyp) among the transformed affine parameters is less than twice the threshold of the linear variable and the sum of the absolute values of each of the moving variables (pan, tilt) is the moving variable. And determining the frame as a still section if it is less than a threshold value. 제 15 항에 있어서,The method of claim 15, 상기 시간방향 평탄화단계는,The time direction flattening step, 각 프레임에 대한 카메라 움직임 검출이 완료되면, 임의의 프레임 크기의 창으로 시간방향으로 슬라이딩하면서 상기 창 내에 0의 값을 갖는 프레임들의 수가 창 크기의 반보다 크면 상기 창의 중심에 해당하는 프레임의 값을 0으로 교체함으로써, 시간방향으로 저역통과 필터링하는 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.When the camera motion detection for each frame is completed, if the number of frames having a value of zero in the window is greater than half of the window size while sliding in a time direction to a window of any frame size, the value of the frame corresponding to the center of the window is obtained. Camera motion detection and segmentation in the compressed region of the compressed video, characterized by lowpass filtering in time direction by replacing with zero. 제 15 항에 있어서,The method of claim 15, 상기 시간구간 임계화단계는,The time interval thresholding step, 상기 프레임에 검출된 카메라 움직임이 지속되는 시간을 상기 시간구간 임계값과 비교하여 임계값보다 큰 경우 그 구간을 해당 카메라 움직임의 구간으로 검출하여, 카메라 움직임의 시간적인 연속성을 고려한 것을 특징으로 하는 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법.Compression, characterized in that the time duration of the camera movement detected in the frame is compared with the time interval threshold value is greater than the threshold value, the interval is detected as the interval of the camera movement, taking into account the temporal continuity of the camera movement Camera motion detection and segmentation in the compressed region of video. 컴퓨터에,On your computer, 압축 비디오로부터 블록 단위의 움직임 벡터를 추출하는 압축 비트열 부분 복호화단계와;A compressed bit string partial decoding step of extracting a motion vector in units of blocks from the compressed video; 상기 추출된 블록 단위의 움직임 벡터를 이용하여 비디오 시퀀스를 구성하는 각 프레임의 움직임 벡터장을 구성하는 움직임 벡터장 구성단계;A motion vector field construction step of constituting a motion vector field of each frame constituting a video sequence using the extracted block vector motion vector; 상기 각 프레임의 움직임 벡터장으로부터 전역 움직임을 기술하는 어파인 움직임 모델 파라미터를 추정하는 어파인 움직임 모델 파라미터 추정단계;An affine motion model parameter estimating step of estimating an affine motion model parameter describing global motion from the motion vector field of each frame; 상기 어파인 움직임 모델 파라미터를 임계화하여 카메라 움직임을 검출하는 카메라 움직임 검출단계; 및A camera motion detecting step of detecting camera motion by thresholding the affine motion model parameter; And 상기 검출된 카메라 움직임을 이용하여 동일한 카메라 움직임을 갖는 비디오 구간으로 분할하는 비디오 분할단계를 더 포함한 압축 비디오의 압축 영역에서의 카메라 움직임 검출 및 분할방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording program for realizing camera motion detection and segmentation methods in the compressed region of the compressed video, further comprising a video segmentation step of dividing the video into video sections having the same camera motion by using the detected camera motion. media.
KR1020000044407A 2000-07-31 2000-07-31 Method of Camera Motion Detection in Compressed Domain for Content-Based Indexing of Compressed Video KR100343780B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000044407A KR100343780B1 (en) 2000-07-31 2000-07-31 Method of Camera Motion Detection in Compressed Domain for Content-Based Indexing of Compressed Video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000044407A KR100343780B1 (en) 2000-07-31 2000-07-31 Method of Camera Motion Detection in Compressed Domain for Content-Based Indexing of Compressed Video

Publications (2)

Publication Number Publication Date
KR20020010847A true KR20020010847A (en) 2002-02-06
KR100343780B1 KR100343780B1 (en) 2002-07-20

Family

ID=19681097

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000044407A KR100343780B1 (en) 2000-07-31 2000-07-31 Method of Camera Motion Detection in Compressed Domain for Content-Based Indexing of Compressed Video

Country Status (1)

Country Link
KR (1) KR100343780B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2497507A (en) * 2011-10-14 2013-06-19 Skype Stabilising a Received Video Signal
KR20200071886A (en) * 2018-12-06 2020-06-22 이노뎁 주식회사 syntax-based method of providing selective video surveillance by use of deep-learning image analysis

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101949676B1 (en) * 2017-12-20 2019-02-19 이노뎁 주식회사 syntax-based method of providing intrusion detection in compressed video
KR102042397B1 (en) * 2018-07-30 2019-11-08 이노뎁 주식회사 syntax-based method of producing heat-map for compressed video

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2497507A (en) * 2011-10-14 2013-06-19 Skype Stabilising a Received Video Signal
GB2497507B (en) * 2011-10-14 2014-10-22 Skype Received video stabilisation
KR20200071886A (en) * 2018-12-06 2020-06-22 이노뎁 주식회사 syntax-based method of providing selective video surveillance by use of deep-learning image analysis

Also Published As

Publication number Publication date
KR100343780B1 (en) 2002-07-20

Similar Documents

Publication Publication Date Title
US8064522B2 (en) Motion-vector detecting device, motion-vector detecting method, and computer program
Kim et al. Efficient camera motion characterization for MPEG video indexing
US7046731B2 (en) Extracting key frames from a video sequence
US5911008A (en) Scheme for detecting shot boundaries in compressed video data using inter-frame/inter-field prediction coding and intra-frame/intra-field coding
US7447337B2 (en) Video content understanding through real time video motion analysis
US8605786B2 (en) Hierarchical motion vector processing method, software and devices
US7469010B2 (en) Extracting key frames from a video sequence
US20070041445A1 (en) Method and apparatus for calculating interatively for a picture or a picture sequence a set of global motion parameters from motion vectors assigned to blocks into which each picture is divided
KR19990015907A (en) Motion vector coding method and device therefor
US20070104382A1 (en) Detection of local visual space-time details in a video signal
Chan et al. Edge oriented block motion estimation for video coding
KR100343780B1 (en) Method of Camera Motion Detection in Compressed Domain for Content-Based Indexing of Compressed Video
US5612745A (en) Method and apparatus for detecting occlusion
US8582882B2 (en) Unit for and method of segmentation using average homogeneity
CN101001380A (en) Movable estimation method of vedio code
JPH06133299A (en) Motion vector detection method
JPH10224741A (en) Cut point detection method for moving image
KR100436593B1 (en) Global motion compensation apparatus and method for detecting a motion of an object
JP4408330B2 (en) Roll telop detection device and recording medium in moving image
KR100413002B1 (en) Apparatus and method for block matching by using dispersed accumulate array in video coder
EP1755345A2 (en) Iterative global motion estimation
KR101787004B1 (en) Apparatus and method for sampled pixel based motion estimation
Ozcelik et al. Detection and encoding of occluded areas in very low bit rate video coding
KR20160130352A (en) Apparatus and method for sampled pixel based motion estimation
JPH09322172A (en) Method and device for cut point detection

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee