KR100577364B1 - 적응형 프레임간 비디오 코딩방법, 상기 방법을 위한 컴퓨터로 읽을 수 있는 기록매체, 및 장치 - Google Patents
적응형 프레임간 비디오 코딩방법, 상기 방법을 위한 컴퓨터로 읽을 수 있는 기록매체, 및 장치 Download PDFInfo
- Publication number
- KR100577364B1 KR100577364B1 KR1020030065863A KR20030065863A KR100577364B1 KR 100577364 B1 KR100577364 B1 KR 100577364B1 KR 1020030065863 A KR1020030065863 A KR 1020030065863A KR 20030065863 A KR20030065863 A KR 20030065863A KR 100577364 B1 KR100577364 B1 KR 100577364B1
- Authority
- KR
- South Korea
- Prior art keywords
- frames
- motion vectors
- frame group
- mode flag
- motion
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 적응형 프레임간 웨이브렛 비디오 코딩방법, 이를 실행하기위한 컴퓨터로 읽을 수 있는 기록매체, 및 장치에 관한 것이다.
본 발명에 따른 프레임간 웨이브렛 비디오 코딩방법은 복수의 프레임들로 이루어진 프레임 그룹을 입력받아 모드 플래그를 결정하는 단계와, 상기 모드 플래그에 따라 상기 프레임 그룹의 프레임들을 분해하는 단계, 및 상기 (b) 단계에 의해 얻어진 프레임들을 공간적 변환과 양자화 과정을 거쳐 비트 스트림화하는 (c) 단계를 포함한다.
본 발명에 따른 프레임간 웨이브렛 비디오 코딩장치는 프레임그룹을 입력받아 모션벡터과 모드 플래그를 결정하는 모션추정 및 모드결정부; 및 상기 모션추정 및 모드결정부에 의하여 구해진 모션 벡터들을 이용하여 모드 플래그에 따라 소정의 시간축 방향으로 프레임들을 저주파와 고주파 프레임으로 분해하는 모션보상 시간적 필터링부를 포함한다.
본 발명에 의하면 경계조건에 따라 적절한 시간적 필터링을 통해 보다 효율이 높은 프레임간 웨이브렛 비디오 코딩을 할 수 있다.
비디오 코딩, 웨이브렛, 모드 플래그, 모션 추정, 적응형
Description
도 1은 종전의 3 차원 프레임간 웨이브렛 비디오 코딩과정을 보여주는 흐름도이다.
도 2는 종전의 계층적 가변 사이즈 블록 매칭을 이용한 모션 추정과정을 설명하기 위한 도면이다.
도 3은 종전의 모션 보상 시간 필터링 과정을 설명하기 위한 도면이다.
도 4는 경계조건에 따른 종전의 모션 보상 시간적 필터링의 성능을 비교하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 프레임간 웨이브렛 비디오 코딩과정을 보여주는 흐름도이다.
도 6은 경계조건에 따른 모션 보상 시간적 필터링 순서를 결정하는 기준을 설명하기 위한 도면이다.
도 7a 및 7b는 모드 플래그 결정을 위해 사용되는 경계부분의 픽셀을 보여주는 도면이다.
도 8은 경계조건을 대표하는 모드 플래그에 따른 모션 보상 시간적 필터링 순서를 보여주는 도면이다.
도 9는 적응형 프레임간 웨이브렛 비디오 코딩을 위한 시스템의 기능적 블록도이다.
본 발명은 비디오 코딩방법과, 이를 실행시킬 수 있는 컴퓨터로 읽을 수 있는 기록매체 및 장치에 관한 것으로서, 보다 상세하게는 시간적 필터링 방향을 변화시켜 평균 시간거리를 감소시키는 프레임간 비디오 코딩에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로하며 전송시에 넓은 대역폭을 필요로 한다. 예를 들면 640*480의 해상도를 갖는 24 bit 트루컬러의 이미지는 한 프레임당 640*480*24 bit의 용량 다시 말해서 약 7.37Mbit의 데이터가 필요하다. 이를 초당 30 프레임으로 전송하는 경우에는 221Mbit/sec의 대역폭을 필요로 하며, 90분 동안 상영되는 영화를 저장하려면 약 1200G bit의 저장공간을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩 기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy)을 없애는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 없앰으로서 데이터를 압축할 수 있다. 데이터 압축의 종류는 소스 데이터의 손실 여부와, 각각의 프레임에 대해 독립적으로 압축하는 지 여부와, 압축과 복원에 필요한 시간이 동일한 지 여부에 따라 각각 손실/무손실 압축, 프레임 내/프레임간 압축, 대칭/비대칭 압축으로 나눌 수 있다. 이 밖에도 압축 복원 지연 시간이 50ms를 넘지 않는 경우에는 실시간 압축으로 분류하고, 프레임들의 해상도가 다양한 경우는 스케일러블 압축으로 분류한다. 문자 데이터나 의학용 데이터 등의 경우에는 무손실 압축이 이용되며, 멀티미디어 데이터의 경우에는 주로 손실 압축이 이용된다. 한편 공간적 중복을 제거하기 위해서는 프레임 내 압축이 이용되며 시간적 중복을 제거하기 위해서는 프레임간 압축이 이용된다.
멀티미디어를 전송하기 위한 전송매체는 매체별로 그 성능이 다르다. 현재 사용되는 전송매체는 초당 수십 메가비트의 데이터를 전송할 수 있는 초고속통신망부터 초당 384 키로비트의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. MPEG-1, MPEG-2, H.263 또는 H.264와 같은 종전의 비디오 코딩은 모션 보상 예측 코딩법에 기초하고 있는데, 시간적 중복은 모션 보상에 의해 제거하고 공간적 중복은 변환 코딩에 의해 제거한다. 이러한 방법들은 좋은 압축률을 갖고 있지만 주 알고리즘에서 재귀적 접근법과 관련하여 문제점이 있다. 즉, 재귀적 접근법으로 인해 트루 스케일러블 비트스트림(true scalable bitstream)을 위한 유연성을 가지지 못한다. 따라서 다양한 속도의 전송매체를 지원하기 위하여 또는 전송환경에 따라 이에 적합한 데이터율로 멀티미디어를 전송할 수 있는 스케일러빌리티(scalability)를 갖는 데이터 코딩방법 즉, 웨이브렛 비디오 코딩방법 또는 서브밴드 비디오 코딩방법이라 불리우는 데이터 코딩방법이 보다 멀티미디어 환경에 적합할 수 있을 것이다.
프레임간 웨이브렛 비디오 코딩법(Interframe Wavelets Video Coding; 이하 "IWVC"라 함)은 매우 유연한 스케일러블 비트스트림을 제공할 수 있다. 그러나 현재 IWVC는 H.264와 같은 코딩방법과 비교할 때 낮은 성능을 보이고 있다. 이와 같이 낮은 성능으로 인하여 IWVC는 매우 뛰어난 스케일러빌러티를 갖음에도 불구하고 매우 제한된 어플리케이션에만 이용되고 있는 실정이다. 이와 같은 배경에 따라 스케일러빌리티를 갖는 데이터 코딩방법의 성능을 향상시키는 것은 매우 중요한 이슈가 되고 있다
도 1은 종전의 3 차원 프레임간 웨이브렛 비디오 코딩과정을 보여주는 흐름도이다.
먼저 이미지들을 입력받는다(S1). 이미지는 복수개의 프레임들로 이루어진 프레임 그룹(Group of Frame; 이하, GOF라 함)단위로 받는다. 예를 들면, 16개의 프레임들은 하나의 GOF가 될 수 있고, 각종 연산은 GOF를 기준으로 한다.
이미지를 입력받으면 모션추정을 한다(S2). 모션추정은 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; 이하, HVSBM이라 함)을 이용하는데 이는 다음과 같다. 도 2를 참조하여, 먼저 원래 이미지 사이즈가 N*N인 경우, 웨이브렛 변환을 이용하여 레벨0(N*N), 레벨1(N/2*N/2), 레벨2(N/4*N/4)의 영상을 얻는다. 그리고 나서 레벨2의 이미지에 대하여 모션 추정 블록 사이즈를 16*16, 8*8, 4*4로 변경시키면서 각각의 블록에 해당되는 모션추정(Motion Estimation; 이하, ME라 함) 및 절대 왜곡 크기(Magnitude of Absolute Distortion; 이하, MAD라 함)를 구한다. 마찬가지로 레벨1의 이미지에 대해 모션추정 블록 사이즈를 32*32, 16*16, 8*8, 4*4로 변경시키면서 각각의 블록에 해당되는 ME 및 MAD와, 레벨0의 이미지에 대해 모션추정 블록 사이즈를 64*64, 32*32, 16*16, 8*8, 4*4로 변경시키면서 각각의 블록에 해당되는 ME 및 MAD를 구한다.
그리고 나서 MAD가 최소가 되도록 ME 트리를 선별(Pruning)한다(S3).
선별된 최적의 ME를 이용하여 모션보상 시간적 필터링(Motion Compensation Temporal Filtering; 이하, MCTF)을 수행한다(S4). 도 3을 참조하면 먼저 시간적 레벨 0에서 16개의 이미지 프레임들에 대해서 순방향으로 MCTF를 하여 8개의 저주파와 8개의 고주파 프레임을 얻는다. 시간적 레벨1에서 8개의 저주파 프레임에 대해서 순방향 MCTF를 하여 4개의 저주파와 4개의 고주파 프레임을 얻는다. 시간적 레벨2에서 레벨1의 4개의 저주파 프레임에 대해서 순방향으로 MCTF를 하여 2개의 저주파와 2개의 고주파 프레임을 얻는다. 마지막으로 시간적 레벨3에서 레벨 2의 2개의 저주파 프레임에 대해서 순방향으로 MCTF를 하여 하나의 저주파와 1나의 고주 파 프레임을 얻는다. 이러한 MCTF 필터링을 통해 15개의 고주파 프레임들과 최종 레벨의 하나의 저주파 프레임을 포함하여 총 16개의 서브밴드(H1, H3, H5, H7, H9, H11, H13, H15, LH2, LH6, LH10, LH14, LLH4, LLH12, LLLH8, 및 LLLL16)를 얻는다.
16개의 서브밴드를 얻고나면 이에 대하여 공간적 변환 및 양자화과정을 수행한다(S5). 그리고 나서 마지막으로 상기 공간적 변환 및 양자화과정을 통해 생성된 데이터와, 모션추정 데이터를 포함하고 헤더를 붙여 비트스트림을 생성한다(S6).
상기와 같은 IWVC은 매우 뛰어난 스케일러빌리티를 갖고 있으나, 종전의 다른 비디오 코딩방식과 관련해서 아직 충분히 만족할 만큼의 성능을 갖지 못한다. IWVC의 성능과 관련하여 경계조건에 따른 하나의 예는 도 4를 통해 설명한다.
도 4는 경계조건에 따른 종전의 MCTF의 성능을 비교하기 위한 도면이다.
왼쪽의 그림은 프레임에 외부의 이미지가 프레임 내부로 들어오는 상황을 보여주고 있으며, 오른쪽의 그림은 프레임 내부의 이미지가 프레임의 외부로 빠져나가는 상황을 보여주고 있다. 순방향으로 MCTF을 한 경우에 시간적으로 앞선 이미지는 필터링된 고주파 이미지로 대체되고 시간적으로 뒤진 이미지는 필터링된 저주파된 이미지로 대체된다. 비디오 코딩은 고주파 프레임들과 가장 상위 레벨의 하나의 저주파 프레임을 이용한다. 즉 고주파 프레임의 성분이 크고 작음에 따라 비디오 코딩의 성능이 좌우된다.
우선 이미지가 내부로 들어오는 상황을 살펴보자. T-1 프레임은 고주파 이미지로 대체되고 T 프레임은 저주파 이미지로 대체된다. T-1 프레임의 모든 이미지 블록들은 T 프레임의 이미지와 짝을 이룰 수 있게 되어 두 이미지 블록의 차이에 비례하는 고주파 성분의 크기가 짝을 이루지 않는 경우보다 작아진다. 즉 고주파 이미지로 대체될 T-1 프레임의 용량은 작게 된다.
반면, 이미지가 외부로 나가는 상황을 살펴보면, T-1 프레임의 모든 이미지 블록들은 T 프레임의 이미지 블록들과 짝을 이룰 수 없게 된다. 이럴 경우에 짝을 이루지 못하는 이미지 블록들(A 및 N)은 상대적으로 가장 적은 차이가 생기는 이미지 블록들(B 및 M)과 짝을 이룬다. 따라서 A와 B의 차이와, N과 M의 차이를 표현하기 위해서 T-1 프레임은 많은 용량을 가져야 한다.
이렇듯 이미지가 들어오거나 나가는 등의 경계조건에 따라 시간적 필터의 성능은 크게 차이난다. 그러므로 모션 보상 시간적 필터링 과정에서 경계조건에 따라 적응적으로 필터링의 방향을 바꿀 수 있는 비디오 코딩방법이 필요하다.
본 발명은 상술한 필요성을 충족시키기 위하여 안출된 것으로서, 경계조건에 따라 시간적 필터링의 방향을 바꿀 수 있는 적응형 프레임간 비디오 코딩방법을 제공하는 것을 그 기술적 과제로 한다.
또한 본 발명은 상술한 필요성을 충족시키기위한 적응형 프레임간 비디오 코딩방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 기록매체와 장치를 제공하는 것을 다른 기술적 과제로 한다.
상기 목적을 달성하기 위하여, 본 발명에 따른 프레임간 비디오 코딩방법은 복수의 프레임들로 이루어진 프레임 그룹을 입력받아 소정의 과정을 통해 경계부분 픽셀들의 모션 벡터들를 이용하여 모드 플래그를 결정하는 (a) 단계와, 상기 결정된 모드 플래그에 따라 소정의 방향으로 상기 프레임 그룹의 프레임들을 시간적으로 분해하는 (b) 단계, 및
상기 (b) 단계에 의해 얻어진 프레임들을 공간적 변환과 양자화 과정을 거쳐 비트 스트림화하는 (c) 단계를 포함한다.
상기 (a) 단계에서 하나의 프레임 그룹은 16개의 프레임들로 이루어진 것이 바람직하다. 상기 (a) 단계는 모션 추정을 계층적 가변 사이즈 블록 매칭 방법을 이용하여 구한 각 픽셀들의 모션 벡터들 중에서 소정의 두께의 경계부분의 모션 벡터들을 이용하여 소정의 방법으로 모드 플래그를 결정하는 것이 바람직한다. 한편, 상기 모드 플래그를 결정하기 위한 모션 벡터들은 좌측 및 우측 경계부분의 픽셀들의 모션 벡터들일 수도 있으나, 좌측, 우측, 상측, 및 하측 경계부분의 픽셀들의 모션 벡터들일 수도 있다. 전자의 경우에 상기 모드 플래그(F)는
if (abs(L) < Threshold) then L=0
if (abs(R) < Threshold) then R=0
if((L < 0 and R==0) or (L==0 and R > 0) or (L < 0 and R > 0)) then F=0
else if((L > 0 and R==0) or (L==0 and R < 0) or (L > 0 and R < 0)) then F=1
else F=2인 알고리즘에 의해 구해지는데, 여기서 L은 소정의 두께의 좌측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하고, R은 소정의 두께의 우측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하며, 상기 (b) 단계는 F=0인 경우에 상기 프레임그룹의 프레임들을 시간적 순방향으로 분해하고 F=1인 경우에 상기 프레임 그룹의 프레임들을 시간적 역방향으로 분해하며 F=2인 경우에 상기 프레임 그룹의 프레임들을 시간적 순방향과 역방향을 소정의 순서로 섞어서 분해하는 것이 바람직하다. 후자의 경우에, 상기 모드 플래그(D)는
if (abs(L) < Threshold) then L=0
if (abs(R) < Threshold) then R=0
if (abs(U) < Threshold) then U=0
if (abs(D) < Threshold) then D=0
if(((L < 0 and R==0) or (L==0 and R > 0) or (L < 0 and R > 0)) and ((D < 0 and U==0) or (D==0 and U > 0) or (D < 0 and U > 0) or (D ==0 and U==0))) then F=0
else if(((L > 0 and R==0) or (L==0 and R < 0) or (L > 0 and R < 0)) and ((D > 0 and U==0) or (D==0 and U < 0) or (D > 0 and U < 0) or (D ==0 and U==0))) then F=1
else F=2인 알고리즘에 의해 구해지는데, 여기서 L은 소정의 두께의 좌측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하고, R은 소정의 두께의 우측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하고, U는 소정의 두께의 상측 경계부분의 각 픽셀의 모션벡터들의 Y방향 성분의 평균값 을 의미하고, D는 소정의 두께의 하측 경계부분의 각 픽셀의 모션벡터들의 Y방향 성분의 평균값을 의미하며, 상기 (b) 단계는 F=0인 경우에 상기 프레임그룹의 프레임들을 시간적 순방향으로 분해하고 F=1인 경우에 상기 프레임 그룹의 프레임들을 시간적 역방향으로 분해하며 F=2인 경우에 상기 프레임 그룹의 프레임들을 시간적 순방향과 역방향을 소정의 순서로 섞어서 분해하는 것이 바람직하다.
전자 및 후자의 경우에 있어서, 상기 F=2인 경우에 상기 프레임들은 평균 시간적 거리가 최소가 되도록 분해하는 것이 바람직하다.
상기 방법들을 실행할 수 있는 프로그램들은 컴퓨터로 읽을 수 있는 저장매체에 기록하여 컴퓨터를 이용하여 사용할 수 있다.
상기 목적을 달성하기 위하여, 본 발명에 따른 프레임간 비디오 코딩장치는 복수의 프레임들로 이루어진 프레임그룹을 입력받아 상기 프레임그룹을 입력받아 소정의 과정을 통해 각 프레임들의 픽셀들의 모션벡터들을 구하고, 상기 모션벡터들 중에서 경계부분 픽셀들의 모션 벡터들를 이용하여 모드 플래그를 결정하는 모션추정 및 모드결정부, 및 상기 모션추정 및 모드결정부에 의하여 구해진 모션 벡터들을 이용하여 모드 플래그에 따라 소정의 시간축 방향으로 프레임들을 저주파와 고주파 프레임으로 분해하는 모션보상 시간적 필터링부를 포함한다.
상기 모션보상 시간적 필터링부에 의해 분해된 저주파 및 고주파 프레임들을 공간적인 저주파와 고주파 성분으로 웨이브렛 분해하는 공간적 변환부를 더 포함하는 것이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한 다.
도 5는 본 발명의 일 실시예에 따른 프레임간 웨이브렛 비디오 코딩과정을 보여주는 흐름도이다.
먼저 이미지들을 입력받는다(S10). 이미지는 복수개의 프레임들로 이루어진 프레임 그룹(Group of Frame; 이하, GOF라 함)단위로 받는다. 하나의 GOF는 계산 및 취급의 편의상 2n(단, n은 자연수)개의 프레임들로 구성되는 것이 바람직하다. 즉, 2, 4, 8, 16, 32 등이 될 수 있다. 하나의 GOF를 구성하는 프레임들의 수가 증가하면 비디오 코딩의 효율은 증가하지만 버퍼링의 시간 및 코딩시간이 길어지는 성질을 갖고 프레임들의 수가 감소하면 비디오 코딩의 효율이 감소하는 성질을 갖는다. 본 발명의 바람직한 실시예에 있어서는 하나의 GOF는 16개의 프레임들로 구성된다.
이미지를 입력받으면 모션추정 및 모드 플래그를 설정한다(S20). 모션추정은 도 1을 통해 설명한 종전의 방법과 같은 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; 이하, HVSBM이라 함)을 이용하는 것이 바람직하다. 모드 플래그는 경계조건에 따른 시간적 필터링의 방향을 결정하는데 이용되며, 모드 플래그를 결정하는 기준에 대해서는 도 6, 도 7a 및 7b를 통해 후술한다.
모션추정 및 모드 플래그 설정과정(S20)이 끝나면 종전 기술과 마찬가지로 선별작업을 한다(S30).
그리고 나서, 선별된 모션벡터를 이용하여 MCTF을 수행한다(S40). 모드 플래그에 따른 MCTF의 방향에 대해서는 도 8을 통해 후술한다.
MCTF이 끝나면 생성된 16개의 서브밴드에 대하여 공간적 변환 및 양자화과정을 수행한다(S50). 그리고 나서 마지막으로 상기 공간적 변환 및 양자화과정을 통해 생성된 데이터와, 모션벡터 데이터, 및 모드 플래그를 포함하는 비트스트림을 생성한다(S60).
도 6은 경계조건에 따른 모션 보상 시간적 필터링 순서를 결정하는 기준을 설명을 보여주고 있으며, 도 7a 및 7b는 모드 플래그 결정을 위해 사용되는 경계부분의 픽셀을 보여주는 도면이다.
왼쪽의 그림과 오른쪽의 그림은 모두 프레임 내부의 이미지가 프레임의 외부로 빠져나가는 상황을 보여주고 있으며, 왼쪽의 그림은 순방향 MCTF를 하는 경우를 보여주며 오른쪽의 그림은 역방향 MCTF를 하는 경우를 보여준다. 즉 이미지 블록 B와 N은 T-1 프레임에서 T 프레임으로 바뀔 때 외부로 유출된다. 순방향 MCTF를 하는 왼쪽의 그림을 먼저 살펴보면, T-1의 이미지 블록 B와 N은 자신과 매칭되는 이미지 블록이 T에서는 없게 된다. 이에 따라 자신과 매칭되지 않는 다른 이미지 블록인 C 및 N이 이미지블록 B 및 N과 비교 대상이된다. 이러한 경우에 있어서 B와 C의 차이 및 C와 N의 차이는 크게 되고 이는 고스란히 고주파 프레임으로 대체될 T-1의 정보량을 증가시키는 요인이 된다. 반대로 역방향 MCTF를 하는 오른쪽 그림을 살펴보면 고주파 프레임으로 대체될 T 프레임의 각 이미지블록들은 T-1 프레임과 매칭되므로 고주파 프레임 T의 정보량은 적어도 된다.
이러한 개념을 확장시키면 어떤 경계로 새로운 이미지가 들어오는 경우라면 순방향 MCTF가 효율이 좋고 나가는 경우라면 역방향 MCTF가 좋게 된다. 그 외의 경우라면 적절히 순방향과 역방향을 섞어 MCTF를 하는 것이 효율이 높아진다. 즉, 입력받은 GOF의 경계조건에 따라 적절한 방향을 선택하여 MCTF를 하는 것이 비디오 코딩의 효율과 성능을 높여주게 되는 것이다. 모드 플래그를 설정하기 위한 대원칙은 새로운 이미지가 프레임에 들어오는 경우라면 순방향 MCTF를 사용하여 나가는 경우라면 역방향 MCTF를 사용한다. 그 외의 경우에는 순방향과 역방향을 적절히 섞어서 MCTF를 한다.
모드 플래그는 프레임의 경계부분의 픽셀들의 모션벡터를 이용하여 결정할 수 있다. 대상이 되는 경계부분의 픽셀들은 도 7a처럼 좌우측 경계부분을 대상으로 할 수 있으나(제1 실시예), 도 7b처럼 상하좌우측 경계부분을 대상으로 할 수도 있다(제2 실시예). 모드 플래그를 결정하는데 사용되는 경계부분의 두께에 따라 비디오 코딩의 성능이 결정되는데 두께가 너무 얇은 경우라면 특정 이미지의 출입에 대한 정보를 놓칠 수가 있고 너무 두꺼운 경우라면 경계조건의 판단이 무뎌질 수도 있다. 따라서 적절한 두께를 결정하는 것이 바람직한데, 본 발명의 실시예에서는 경계부분은 32픽셀로 모드 플래그를 결정하였다.
모드 플래그를 결정하기 위하여 먼저 HVSBM법으로 각 프레임들의 픽셀들의 모션벡터를 구한다. 각 프레임들의 픽셀들에 대한 모션벡터가 결정되면 이를 바탕으로 모드 플래그를 결정한다. 모션벡터들을 이용한 모드 플래그는 시간적 레벨마다 다르게 할 수도 있으나, 시간적 레벨0에 의해 모드 플래그를 결정하는 것이 바 람직하다.
먼저, 도 7a의 제1실시예에서는 프레임들의 좌측 및 우측의 경계부분의 모션벡터들을 이용하여 모드 플래그를 결정하는데, 이는 보통의 동영상의 프레임에 새로운 이미지가 들어오거나 나가는 경우는 주로 X방향으로 이루어지기 때문이다. 하나의 GOF를 구성하는 모든 프레임들의 좌측 경계부분의 각 픽셀들의 모션벡터들의 평균을 구한다. 상기 모션벡터들의 평균 값의 X성분을 L이라 한다. 마찬가지로 하나의 GOF를 구성하는 모든 프레임들의 우측 경계부분의 각 픽셀들의 모션벡터들의 평균을 구한다. 상기 모션벡터들의 평균 값의 X성분을 R이라 한다. L값이 0보다 작은 경우는 이미지가 좌측 경계부분을 통해서 프레임으로 들어오는 것을 의미하면 R값이 0보다 작은 경우는 이미지가 우측 경계부분을 통해서 프레임 바깥으로 나가는 것을 의미한다. 마찬가지로 L값이 0보다 큰 경우나 R값이 0보다 작은 경우는 반대의 경우를 의미한다. 한편, 실제로 이미지가 들어오거나 나가지 않는 경우라도 L 또는 R은 0이 되지 않을 경우가 있으므로 적절한 L 및 R은 적절한 임계값을 넘지 않는 경우에는 0으로 판단하는 것이 바람직하다. 좌측 또는 우측으로 이미지가 프레임에 입력되는 경우는 L값이 0보다 작고 R은 0이거나 0보다 큰 경우이거나, L값은 0보다 작고 R값은 0보다 큰 경우이다. 이러한 경우에는 순방향 MCTF를 이용하는 것이 바람직하다. 한편, 좌측 또는 우측으로 이미지 프레임이 나가는 경우는 L값이 0보다 크고 R은 0이거나 0보다 작은 경우이거나, L값은 0보다 크고 R값은 0보다 작은 경우이다. 이러한 경우에는 역방향 MCTF를 하는 것이 바람직하다. 한편, 좌측에 이미지가 입력되고 우측으로 이미지가 빠져나가는 경우에는 순방향이나 역방향의 어느 한쪽 보다는 적절히 양방향을 섞어서 MCTF를 하는 것이 바람직하다.
이를 정리하면 다음과 같은 알고리즘으로 모드 플래그(F)를 결정할 수 있다.
if (abs(L) < Threshold) then L=0
if (abs(R) < Threshold) then R=0
if((L < 0 and R==0) or (L==0 and R > 0) or (L < 0 and R > 0)) then F=0
else if((L > 0 and R==0) or (L==0 and R < 0) or (L > 0 and R < 0)) then F=1
else F=2
여기서, F=0은 순방향 모드이고 F=1은 역방향 모드이며 F=2는 양방향 모드를 말한다
다음으로 도 7b의 제2실시예를 살펴보면, 상하좌우측 경계부분을 모두 이용한다. 제1실시예와 마찬가지 방법으로 L과 R값을 구하고, 모션벡터들의 Y성분의 평균값들로 U과 D을 구한다. 이 때도 제1실시예와 마찬가지로 최소한 하나의 경계부분에 이미지가 입력되고 어느 한 경계부분으로도 이미지가 출력되지 않는 경우에는 순방향 MCTF를 하는 것이 바람직하고, 최소한 하나의 경계부분에 이미지가 출력되고 어느 한 경계부분으로도 이미지가 입력되지 않는 경우에는 역방향 MCTF를 하는 것이 바람직하다. 그 외의 경우에는 순방향과 역방향을 적절히 섞어서 양방향 MCTF를 하는 것이 바람직하다.
이를 정리하면 다음과 같은 알고리즘으로 모드 플래그(F)를 결정할 수 있다.
if (abs(L) < Threshold) then L=0
if (abs(R) < Threshold) then R=0
if (abs(U) < Threshold) then U=0
if (abs(D) < Threshold) then D=0
if(((L < 0 and R==0) or (L==0 and R > 0) or (L < 0 and R > 0)) and ((D < 0 and U==0) or (D==0 and U > 0) or (D < 0 and U > 0) or (D ==0 and U==0))) then F=0
else if(((L > 0 and R==0) or (L==0 and R < 0) or (L > 0 and R < 0)) and ((D > 0 and U==0) or (D==0 and U < 0) or (D > 0 and U < 0) or (D ==0 and U==0))) then F=1
else F=2
여기서, F=0은 순방향 모드이고 F=1은 역방향 모드이며 F=2는 양방향 모드를 말한다
그러나 상술한 제1 및 제2 실시예는 예시적인 것으로서 본 발명의 기술적 사상은 이에 한정되지는 않는다. 즉, 본 발명의 기술적 사상은 경계부분의 이미지 입출력 정보를 이용하여 적절한 방향의 MCTF를 이용하는 것이다. 이에 따라 제1 및 제2 실시예와는 달리 MCTF의 방향을 설정하는 것은 모드 프레임들에 대한 경계부분의 모션벡터들의 평균값을 이용하는 것이 아니라 둘 이상의 일부 프레임들 별로 모드를 달리하는 경우도 본 발명의 기술적 사상에 포함되는 것으로 해석하여야 한다.
도 8은 경계조건을 대표하는 모드 플래그에 따른 모션 보상 시간적 필터링 순서를 보여주는 도면이다.
순방향 모드인 경우에는 도시된 바와같이 ++++++++로 모션추정 방향을 결정한다. 역방향 모드인 경우에는 도시된 바와같이 --------로 모션추정 방향을 결정한다. 마지막으로 양방향인 경우에는 다양한 방향으로 결정할 수 있으나 도 8은 +-+-+-+-로 레벨0의 모션추정 방향을 결정한 것을 예시로 보여준다. 여기서 +는 순방향을 의미하며, -는 역방향을 의미한다.
순방향 및 역방향의 경우에는 모두 같은 방향으로 MCTF를 하나 양방향인 경우에는 그 방향을 어떻게 결정하느냐에 따라 비디오 코딩의 성능이 달라진다. 즉, 양방향의 경우에 다양한 방법으로 순방향과 역방향의 순서를 결정할 수 있는데, 순방향 모드와 역방향 모드 및 양방향 모드의 모션추정 방향의 가능한 예들 중 대표적인 것은 표 1에 예시한다.
모드 플래그 | 레벨0 | 레벨1 | 레벨2 | 레벨3 |
순방향(F=0) | ++++++++ | ++++ | ++ | + |
역방향(F=1) | -------- | ---- | -- | - |
양방향(F=2) a b c d | +-+-+-+- +-+-+-+- ++++++++ ++++---- | ++-- +-+- ++-- ++-- | +- +- +- +- | +(-) +(-) - - |
양방향 모드에서 방향의 순서의 조합은 무척 많으나 그 중에서 a, b, c, d 네 가지를 예시로 든다. 먼저 c와 d는 마지막 레벨의 저주파 프레임(이하, 기준 프레임이라 함)이 1번부터 16번 프레임의 중심부분(8번째 프레임) 위치하도록 한 것이 특징이다. 즉, 기준 프레임은 비디오 디코딩에 있어 가장 핵심적인 프레임으로서 다른 프레임들은 기준 프레임을 기초로 복원한다. 이 때 상기 기준 프레임과의 시간적 거리가 멀다는 것은 그만큼의 많은 복원하는 성능을 저하시키는 요인이 된다. 따라서 c의 실시예와 d의 실시예는 다른 프레임들과의 거리가 가장 적게되도록 기준 프레임이 중심부(8번째 프레임)에 위치하도록 순방향과 역방향을 조합한 예에 해당한다.
한편, a와 b의 경우에는 평균 시간적 거리(Average Temporal Distance; 이하, ATD라 함)가 최소가 되는 지점의 예이다. ATD를 계산하기 위해서는 먼저 시간적 거리를 계산하는데 시간적 거리는 두 프레임간의 위치 차이로 정의된다. 도 3을 참조하면 프레임1과 프레임2의 시간거리는 1로 정의하고, 프레임 L2와 프레임 L4의 시간거리는 2로 정의한다. ATD는모션 추정을 위해 연산되는 각 프레임쌍들의 시간거리를 모두 더한 값을 모션 추정을 위한 프레임쌍들의 수로 정의된다. ATD값을 구해보면, a의 경우에 가 되고, b의 경우에 가 된다. 참고로 순방향 모드의 경우와 역방향 모드의 경우에는 가 된다. c의 경우에는 이고, d는 이다. 실제 시뮬레이션에 의하면 ATD값이 작을수록 PSNR(Peak Singal to Noise Ratio)값이 커지게 되어 비디오 코딩의 성능이 증가한다.
도 9는 적응형 프레임간 웨이브렛 비디오 코딩을 위한 시스템의 기능적 블록도이다.
프레임간 웨이브렛 비디오 코딩 시스템은 모션추정 및 모드결정부(10)와 모션 벡터와 이용하여 결정된 모드에 따라 시간적 중복을 제거하는 모션보상 시간적 필터링부(40)와 공간적 중복을 제거하는 공간적 변환부(50)와 모션 벡터를 소정의 알고리즘에 의해 엔코딩하는 모션 벡터 엔코딩부(20)와 공간적 변환부(50)에 의해 분해된 각 성분별 웨이브렛 계수를 양자화하는 양자화부(60) 및 양자화부(60)로부터 받은 엔코딩된 비트스트림을 임시로 저장하는 버퍼(30)를 포함한다.
모션추정 및 모드 결정부(10)는 모션보상 시간 필터링부에 사용되는 모션 벡터를 구하는데, 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; HVSBM)에 의하여 계층적인 방법으로 구한다. 또한, 시간적 필터링을 위한 방향을 결정하기 위한 모드 플래그를 결정한다.
모션보상 시간적 필터링부(40)는 모션추정 및 모드 결정부(10)에 의하여 구해진 모션 벡터를 이용하여 시간축 방향으로 프레임들을 저주파와 고주파 프레임으로 분해한다. 분해할 때의 방향은 모드 플래그에 따라 결정된다. 프레임들을 분해할 때는 프레임 그룹(Group Of Frames; 이하 "GOF"라 함)별로 분해한다. 이를 통하여 시간적 중복을 제거한다.
공간적 변환부(50)는 모션보상 시간적 필터링부(40)에 의해 시간축 방향으로 분해된 프레임들에 대하여 공간적인 저주파와 고주파 성분으로 웨이브렛 분해하는데, 이를 통해 공간적 중복을 제거한다.
모션 벡터 엔코딩부(20)는 모션추정 및 모드 결정부에 의하여 계층적으로 구해진 모션 벡터와 모드 플래그를 엔코딩하여 버퍼(30)에 전송한다.
양자화부(60)는 공간적 변환부(50)에 의해 분해된 각 성분별 웨이브렛 계수를 양자화하여 엔코딩한다.
버퍼(30)는 엔코딩된 데이터와 모션 벡터 및 모드 플래그를 포함한 비트스트림을 전송하기 전까지 저장하는데 레이트 제어 알고리즘(Rate control algorithm)에 의하여 제어된다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 따라서 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명에 따르면, 경계조건에 따라 적응적으로 프레임간 웨이브렛 비디오 코딩을 할 수 있다. 즉, 기존의 방법과 비교할 때 본 발명에 의하면 PSNR 값이 증가하는 것을 볼 수 있는데, 실험 결과로는 약 0.8dB의 성능향상이 있었다. 실험은 mobile과 tempete, Canoa, 및 bus를 이용하였으며, 그 결과는 표 2 내지 표 5와 같다.
비트율 | 순방향 방식 | 본 발명 |
400 | 26.1 | 26.2 |
600 | 28.0 | 28.0 |
800 | 29.3 | 29.2 |
비트율 | 순방향 방식 | 본 발명 |
400 | 29.2 | 29.2 |
600 | 30.7 | 30.7 |
800 | 31.8 | 31.8 |
비트율 | 순방향 방식 | 본 발명 |
400 | 23.3 | 24.8 |
600 | 25.2 | 26.2 |
800 | 26.2 | 27.2 |
비트율 | 순방향 방식 | 본 발명 |
400 | 25.5 | 26.5 |
600 | 27.3 | 28.2 |
800 | 28.6 | 29.4 |
Claims (18)
- 복수의 프레임들로 이루어진 프레임 그룹을 입력 받고, 상기 프레임 그룹 중 적어도 일부 프레임의 경계부분에 대한 모션 벡터를 이용하여 상기 경계부분의 움직임 방향을 판단하고 상기 판단 결과를 나타내는 모드 플래그를 결정하는 (a) 단계;상기 프레임 그룹에 속하는 프레임들을 상기 모드 플래그가 나타내는 방향으로 시간적으로 분해하는 (b) 단계; 및상기 (b) 단계에 의해 얻어진 프레임들을 공간적 변환과 양자화 과정을 거쳐 비트 스트림화하는 (c) 단계를 포함하는 프레임간 비디오 코딩방법
- 제1항에 있어서, 상기 (a) 단계에서 하나의 프레임 그룹은 16개의 프레임들로 이루어진 것을 특징으로 하는 프레임간 비디오 코딩방법
- 제1항에 있어서, 상기 (a) 단계는 모션 추정을 계층적 가변 사이즈 블록 매칭 방법을 이용하여 구한 각 픽셀들의 모션 벡터들 중에서 소정의 두께의 경계부분의 모션 벡터들을 이용하여 소정의 방법으로 모드 플래그를 결정하는 것을 특징으로 하는 프레임간 비디오 코딩방법
- 제3항에 있어서, 상기 모드 플래그를 결정하기 위한 모션 벡터들은 좌측 및 우측 경계부분의 픽셀들의 모션 벡터들인 것을 특징으로 하는 프레임간 비디오 코딩방법
- 제4항에 있어서, 상기 모드 플래그(F)는if (abs(L) < Threshold) then L=0if (abs(R) < Threshold) then R=0if((L < 0 and R==0) or (L==0 and R > 0) or (L < 0 and R > 0)) then F=0else if((L > 0 and R==0) or (L==0 and R < 0) or (L > 0 and R < 0)) then F=1else F=2인 알고리즘에 의해 구해지는데, 여기서 L은 소정의 두께의 좌측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하고, R은 소정의 두께의 우측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하며, 상기 (b) 단계는 F=0인 경우에 상기 프레임그룹의 프레임들을 시간적 순방향으로 분해하고 F=1인 경우에 상기 프레임 그룹의 프레임들을 시간적 역방향으로 분해하며 F=2인 경우에 상기 프레임 그룹의 프레임들을 시간적 순방향과 역방향을 소정의 순서로 섞어서 분해하는 것을 특징으로 하는 프레임간 비디오 코딩방법
- 제3항에 있어서, 상기 모드 플래그를 결정하기 위한 모션 벡터들은 좌측, 우측, 상측, 및 하측 경계부분의 픽셀들의 모션 벡터들인 것을 특징으로 하는 프레임간 비디오 코딩방법
- 제6항에 있어서, 상기 모드 플래그(D)는if (abs(L) < Threshold) then L=0if (abs(R) < Threshold) then R=0if (abs(U) < Threshold) then U=0if (abs(D) < Threshold) then D=0if(((L < 0 and R==0) or (L==0 and R > 0) or (L < 0 and R > 0)) and ((D < 0 and U==0) or (D==0 and U > 0) or (D < 0 and U > 0) or (D ==0 and U==0))) then F=0else if(((L > 0 and R==0) or (L==0 and R < 0) or (L > 0 and R < 0)) and ((D > 0 and U==0) or (D==0 and U < 0) or (D > 0 and U < 0) or (D ==0 and U==0))) then F=1else F=2인 알고리즘에 의해 구해지는데, 여기서 L은 소정의 두께의 좌측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하고, R은 소정의 두께의 우측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하고, U는 소정의 두께의 상측 경계부분의 각 픽셀의 모션벡터들의 Y방향 성분의 평균값을 의미하고, D는 소정의 두께의 하측 경계부분의 각 픽셀의 모션벡터들의 Y방향 성분의 평균값을 의미하며, 상기 (b) 단계는 F=0인 경우에 상기 프레임그룹의 프레임들을 시간적 순방향으로 분해하고 F=1인 경우에 상기 프레임 그룹의 프레임들을 시간적 역방향으로 분해하며 F=2인 경우에 상기 프레임 그룹의 프레임들을 시간적 순방향과 역방향을 소정의 순서로 섞어서 분해하는 것을 특징으로 하는 프레임간 비디오 코딩방법
- 제5항 또는 제7항에 있어서, 상기 (b) 단계에서 상기 F=2인 경우에 상기 프레임들은 평균 시간적 거리가 최소가 되도록 분해되는 것을 특징으로 하는 웨이브렛 비디오 코딩방법
- 복수의 프레임들로 이루어진 프레임 그룹을 입력 받고, 상기 프레임 그룹 중 적어도 일부 프레임의 경계부분에 대한 모션 벡터를 이용하여 상기 경계부분의 움직임 방향을 판단하고 상기 판단 결과를 나타내는 모드 플래그를 결정하는 (a) 단계;상기 프레임 그룹에 속하는 프레임들을 상기 모드 플래그가 나타내는 방향으로 시간적으로 분해하는 (b) 단계; 및상기 (b) 단계에 의해 얻어진 프레임들을 공간적 변환과 양자화 과정을 거쳐 비트 스트림화하는 (c) 단계를 포함한 방법을 실행하기 위한 컴퓨터 실행 가능한 명령어들을 갖고 있는 기록매체.
- 제9항에 있어서, 상기 (a) 단계에서 하나의 프레임 그룹은 16개의 프레임들로 이루어진 것을 특징으로 하는 컴퓨터 실행가능한 명령어들을 갖고 있는 기록매체
- 제9항에 있어서, 상기 (a) 단계는 모션 추정을 계층적 가변 사이즈 블록 매칭 방법을 이용하여 구한 각 픽셀들의 모션 벡터들 중에서 소정의 두께의 경계부분의 모션 벡터들을 이용하여 소정의 방법으로 모드 플래그를 결정하는 것을 특징으로 하는 컴퓨터 실행가능한 명령어들을 갖고 있는 기록매체
- 제11항에 있어서, 상기 모드 플래그를 결정하기 위한 모션 벡터들은 좌측 및 우측 경계부분의 픽셀들의 모션 벡터들인 것을 특징으로 하는 컴퓨터 실행가능한 명령어들을 갖고 있는 기록매체
- 제12항에 있어서, 상기 모드 플래그(F)는if (abs(L) < Threshold) then L=0if (abs(R) < Threshold) then R=0if((L < 0 and R==0) or (L==0 and R > 0) or (L < 0 and R > 0)) then F=0else if((L > 0 and R==0) or (L==0 and R < 0) or (L > 0 and R < 0)) then F=1else F=2인 알고리즘에 의해 구해지는데, 여기서 L은 소정의 두께의 좌측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하고, R은 소정의 두께의 우측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하며, 상기 (b) 단계는 F=0인 경우에 상기 프레임그룹의 프레임들을 시간적 순방향으로 분해하고 F=1인 경우에 상기 프레임 그룹의 프레임들을 시간적 역방향으로 분해하며 F=2인 경우에 상기 프레임 그룹의 프레임들을 시간적 순방향과 역방향을 소정의 순서로 섞어서 분해하는 것을 특징으로 하는 컴퓨터 실행가능한 명령어들을 갖고 있는 기록매체
- 제11항에 있어서, 상기 모드 플래그를 결정하기 위한 모션 벡터들은 좌측, 우측, 상측, 및 하측 경계부분의 픽셀들의 모션 벡터들인 것을 특징으로 하는 컴퓨터 실행가능한 명령어들을 갖고 있는 기록매체
- 제14항에 있어서, 상기 모드 플래그(D)는if (abs(L) < Threshold) then L=0if (abs(R) < Threshold) then R=0if (abs(U) < Threshold) then U=0if (abs(D) < Threshold) then D=0if(((L < 0 and R==0) or (L==0 and R > 0) or (L < 0 and R > 0)) and ((D < 0 and U==0) or (D==0 and U > 0) or (D < 0 and U > 0) or (D ==0 and U==0))) then F=0else if(((L > 0 and R==0) or (L==0 and R < 0) or (L > 0 and R < 0)) and ((D > 0 and U==0) or (D==0 and U < 0) or (D > 0 and U < 0) or (D ==0 and U==0))) then F=1else F=2인 알고리즘에 의해 구해지는데, 여기서 L은 소정의 두께의 좌측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하고, R은 소정의 두께의 우측 경계부분의 각 픽셀의 모션벡터들의 X방향 성분의 평균값을 의미하고, U는 소정의 두께의 상측 경계부분의 각 픽셀의 모션벡터들의 Y방향 성분의 평균값을 의미하고, D는 소정의 두께의 하측 경계부분의 각 픽셀의 모션벡터들의 Y방향 성분의 평균값을 의미하며, 상기 (b) 단계는 F=0인 경우에 상기 프레임그룹의 프레임들을 시간적 순방향으로 분해하고 F=1인 경우에 상기 프레임 그룹의 프레임들을 시간적 역방향으로 분해하며 F=2인 경우에 상기 프레임 그룹의 프레임들을 시간적 순방향과 역방향을 소정의 순서로 섞어서 분해하는 것을 특징으로 하는 컴퓨터 실행가능한 명령어들을 갖고 있는 기록매체
- 제13항 또는 제15항에 있어서, 상기 (b) 단계에서 모드 플래그가 양방향인 경우에 상기 프레임들은 평균 시간적 거리가 최소가 되도록 분해되는 것을 특징으로 하는 컴퓨터 실행가능한 명령어들을 갖고 있는 기록매체
- 복수의 프레임들로 이루어진 프레임그룹을 입력 받아 비트스트림을 생성하는 프레임간 비디오 코딩하는 장치에 있어서,상기 프레임그룹 중 적어도 일부 프레임의 경계부분에 대한 모션 벡터를 구하는 모션 추정부;상기 모션 벡터를 이용하여 상기 경계부분의 움직임 방향을 판단하고 상기 판단 결과를 나타내는 모드 플래그를 결정하는 모드 결정부; 및상기 프레임 그룹에 속하는 프레임들을 상기 모드 플래그가 나타내는 방향으로 시간적으로 분해하는 모션보상 시간적 필터링부를 포함하는 것을 특징으로 하는 프레임간 비디오 코딩장치.
- 제17항에 있어서, 상기 모션보상 시간적 필터링부에 의해 분해된 저주파 및 고주파 프레임들을 공간적인 저주파와 고주파 성분으로 웨이브렛 분해하는 공간적 변환부를 더 포함하는 것을 특징으로 하는 프레임간 비디오 코딩장치
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030065863A KR100577364B1 (ko) | 2003-09-23 | 2003-09-23 | 적응형 프레임간 비디오 코딩방법, 상기 방법을 위한 컴퓨터로 읽을 수 있는 기록매체, 및 장치 |
PCT/KR2004/002050 WO2005020587A1 (en) | 2003-08-26 | 2004-08-16 | Adaptive interframe wavelet video coding method, computer readable recording medium and system therefor |
JP2006524561A JP2007503750A (ja) | 2003-08-26 | 2004-08-16 | 適応型フレーム間ウェーブレットのビデオコーディング方法、前記方法のためのコンピュータで読取り可能な記録媒体、及び装置 |
US10/924,825 US20050047508A1 (en) | 2003-08-26 | 2004-08-25 | Adaptive interframe wavelet video coding method, computer readable recording medium and system therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030065863A KR100577364B1 (ko) | 2003-09-23 | 2003-09-23 | 적응형 프레임간 비디오 코딩방법, 상기 방법을 위한 컴퓨터로 읽을 수 있는 기록매체, 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050029542A KR20050029542A (ko) | 2005-03-28 |
KR100577364B1 true KR100577364B1 (ko) | 2006-05-10 |
Family
ID=37386121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030065863A KR100577364B1 (ko) | 2003-08-26 | 2003-09-23 | 적응형 프레임간 비디오 코딩방법, 상기 방법을 위한 컴퓨터로 읽을 수 있는 기록매체, 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100577364B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11800240B2 (en) | 2021-04-13 | 2023-10-24 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
-
2003
- 2003-09-23 KR KR1020030065863A patent/KR100577364B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11800240B2 (en) | 2021-04-13 | 2023-10-24 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20050029542A (ko) | 2005-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100703760B1 (ko) | 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치 | |
KR100597402B1 (ko) | 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치 | |
KR100664928B1 (ko) | 비디오 코딩 방법 및 장치 | |
KR100834750B1 (ko) | 엔코더 단에서 스케일러빌리티를 제공하는 스케일러블비디오 코딩 장치 및 방법 | |
KR100621581B1 (ko) | 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치 | |
KR100679026B1 (ko) | 비디오 코딩 및 디코딩을 위한 시간적 분해 및 역 시간적분해 방법과, 비디오 인코더 및 디코더 | |
US20050157793A1 (en) | Video coding/decoding method and apparatus | |
KR20060006328A (ko) | 기초 계층을 이용하는 스케일러블 비디오 코딩 방법 및 장치 | |
KR20070000022A (ko) | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 | |
KR20060135992A (ko) | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 | |
US20050163217A1 (en) | Method and apparatus for coding and decoding video bitstream | |
US20050047509A1 (en) | Scalable video coding and decoding methods, and scalable video encoder and decoder | |
US20060013312A1 (en) | Method and apparatus for scalable video coding and decoding | |
KR20050028019A (ko) | 하나 및 다수의 기준 프레임을 기반으로 한 움직임 보상필터링을 사용한 웨이블릿 기반 코딩 | |
KR20050105246A (ko) | 오버컴플릿 웨이블렛 확장에 대해 모션 보상된 시간필터링을 사용하는 3차원 웨이블렛 비디오 코딩 | |
US20060159173A1 (en) | Video coding in an overcomplete wavelet domain | |
US20050047508A1 (en) | Adaptive interframe wavelet video coding method, computer readable recording medium and system therefor | |
US7292635B2 (en) | Interframe wavelet video coding method | |
MXPA06006117A (es) | Metodo y aparato de codificacion y decodificacion escalables de video. | |
US20060088100A1 (en) | Video coding method and apparatus supporting temporal scalability | |
KR100577364B1 (ko) | 적응형 프레임간 비디오 코딩방법, 상기 방법을 위한 컴퓨터로 읽을 수 있는 기록매체, 및 장치 | |
KR20050009639A (ko) | 프레임간 웨이브렛 비디오 코딩방법 | |
WO2006043754A1 (en) | Video coding method and apparatus supporting temporal scalability | |
WO2006080665A1 (en) | Video coding method and apparatus | |
WO2006098586A1 (en) | Video encoding/decoding method and apparatus using motion prediction between temporal levels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |