KR19990006500A - 공유 정보를 이용한 이산 코사인 변환의 움직임 보상을 위한 시스템 - Google Patents

공유 정보를 이용한 이산 코사인 변환의 움직임 보상을 위한 시스템

Info

Publication number
KR19990006500A
KR19990006500A KR1019980019207A KR19980019207A KR19990006500A KR 19990006500 A KR19990006500 A KR 19990006500A KR 1019980019207 A KR1019980019207 A KR 1019980019207A KR 19980019207 A KR19980019207 A KR 19980019207A KR 19990006500 A KR19990006500 A KR 19990006500A
Authority
KR
South Korea
Prior art keywords
block
frame
coded
spatially reduced
blocks
Prior art date
Application number
KR1019980019207A
Other languages
English (en)
Other versions
KR100309721B1 (ko
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 포만 제프리 엘
Publication of KR19990006500A publication Critical patent/KR19990006500A/ko
Application granted granted Critical
Publication of KR100309721B1 publication Critical patent/KR100309721B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

DCT 및 움직임 보상을 통해 인터레이스 프레임의 코딩을 지원하는 압축 비디오가 주어지면, 본 발명은 압축 해제하지 않고서도 선택 DCT 도메인 계수 및/또는 움직임 벡터 정보에 기초하여 공간적으로 감소된 영상을 생성하기 위한 상이한 구성 방법을 제공한다. 따라서, 공간적으로 감소된 영상은 비디오 브라우징(browsing), 저작 및 처리하는데 사용될 수 있다.

Description

공유 정보를 이용한 이산 코사인 변환의 움직임 보상을 위한 시스템
본 발명은 DCT 도메인 역 움직임 보상(inverse motion compensation) 분야에 관한 것으로, 특히, 공유 정보를 사용하여 MPEG 압축 포맷의 비디오 정보로부터의 인터 코딩 프레임(inter-coded frames)을 인트라 코딩 프레임(intra-coded frames)으로 변환하는 분야에 관한 것이다.
MPEG-1 비디오 표준에서는 3개의 상이한 유형의 프레임(도 1a를 참조), 즉, 인트라 코딩 프레임(I 프레임), 예측 프레임(P 프레임), 양방향 예측 프레임(B 프레임)을 정의하고 있다. P 및 B 프레임은 이전의 앵커 프레임(anchor frame) 또는 기준 프레임(reference frame)을 기초로 하여 코딩되기 때문에 인터 코딩 프레임(inter coding frame)으로 또한 일컬어진다. MPEG-1 표준의 세부 사항은ISO/IEC JTC1 CD 11172 Coding of moving pictures and associated audio for digital storage media up to 1.5 Mbits/s, 1992의 문헌에 개시되어 있다. 이 문헌은 본 명세서에서 전체로서 참조로 인용된다. I 프레임은 인트라 프레임 코딩 기법을 이용함으로써 압축된다. 즉, I 프레임은 코딩된 스트림내의 다른 프레임을 참조하지 않는다. 각각의 I 프레임은 8×8 블럭(112)으로 분할된 다음, DCT(discrete cosine transform)가 행해진다. 64 DCT 계수중에서 DC, AC01, AC10가 특별히 관심의 대상이 된다. 이들은 도 1b에 개시되어 있다. 예측 프레임은 이전의 I 프레임 또는 P 프레임으로부터의 움직임 보상 정보를 이용함으로써 코딩된다. B 프레임은 이전 및/또는 차후의 I 또는 P 프레임들중 어느 하나로부터의 움직임 보상 정보를 사용함으로써 코딩된다. P 및 B 프레임은 인트라 코딩 블럭들을 또한 포함할 수 있으며, 이들 블럭은 I 프레임내의 블럭과 마찬가지로 DCT를 이용함으로써 또한 코딩된다.
MPEG-1 비트 스트림은 6개의 계층, 즉, 시퀀스층(sequence layer), 화상 그룹층(group of pictures layer), 화상층(picture layer), 슬라이스층(slice layer), 매크로블럭층(macroblock layer), 블럭층(block layer)의 계층적인 구조를 갖는다. 시퀀스층은 최상위 코딩층(top coding layer)이다. 화상 그룹층(GOP)은 연속적인 디스플레이 순서를 갖는 화상 세트이다. 화상 그룹층은 적어도 하나의 I 프레임을 포함한다. 각각의 화상은 하나의 프레임에 대응한다. 각각의 화상은 슬라이스(slices)로 분할된다. 슬라이스는 매크로블럭으로 분할된다. 매크로블럭은 6개의 블럭(112), 즉, 휘도(luminance)에 관한 4개의 블럭과, 색차(chrominance)에 관한 2개의 블럭으로 형성된다. MPEG-1 표준에 대한 더욱 세부적인 사항은ISO/IEC JTC1 CD 11172 Coding of moving pictures and associated audio for digital storage media up to 1.5 Mbits/s, 1992의 문헌에 개시되어 있다.
감소된 영상(reduced image)을 생성하는 프로세스에 관한 세부 사항은 "On the extraction of DC sequences from MPEG compressed video",(B.L.Yeo and B. Liu, International Conference on Image Processing, Vol. II, pp.260-263, 1995)의 문헌에 개시되어 있다. 이 문헌은 본 명세서에서 전체로서 참조로 인용된다. DC 영상은 8×8 블럭의 블럭당 평균(block-wise averages)으로 형성된다. MPEG-1 코딩 비디오의 I 프레임에 대해, DC 영상의 각각의 화소는 각각의 DCT 블럭의 DC 계수의 스케일된 버젼(scaled version)에 대응한다.
도 1c에는 P 및 B 프레임으로부터 DC 영상을 추출하는 개괄이 도시되어 있다. 여기서, Pref(131D)는 관심의 대상이 되는 타겟 블럭이며 인터 코딩되어 있다. DC 계수를 추출하기 위해, 이 인터 코딩된 블럭은 인트라 코딩 DCT 포맷으로 변환되는 것이 바람직하다. P0, ..., P3(134, 135, 136, 137)는 원래의 4개의 인트라 코딩된 인접 블럭(앵커 블럭(anchor blocks)이라 칭함)으로서, Pref가 이들 블럭으로부터 도출되며, 움직임 벡터는 (△x, △y)이다. 움직임 벡터 (△x, △y)(150)는 블럭(Pref)과 관련된 움직임 보상 정보의 일부분이다. 앵커 블럭(P0, ..., P3)에서 기여 서브블럭(contributing subblocks)이라 일컬어지는 빗금친 영역(134P, 135P, 136P, 137P)은 움직임 벡터 (△x, △y)만큼 이동한다. 따라서, DC 영상 시퀀스에 대한 Pref의 DC 계수가 도출된다.
Pi에 대한 인터 코딩 Pref에 관한 사항은 "Manipulation and compositing of MC-DCT compressed video", (S.F.Chang and D.G.Messerschmitt, IEEE Journal on Selected Areas in Communications: Special Issue on Intelligent Signal Processing, vol. 13, pp.1-11, Jan. 1995)의 문헌에 개시되어 있다. 이 문헌은 본 명세서에서 전체로서 참조로 인용된다. 만일 각각의 블럭을 8×8 행렬로 나타내면, 이 블럭을 공간 도메인에서 행렬 곱셈 연산을 통해 나타낼 수 있다.
여기서, Sij 등과 같은 행렬이다. 각각의 In은 크기가 n인 단위 행렬(identity matrix)이다. P에 대해 Sij가 미치는 효과의 예가 도 1d에 도시되어 있다. 목표는 서브블럭을 좌상부 코너로부터 우하부 코너로 이동시키고, 블럭내의 나머지 값들을 제로로 세트시키는 것이다. 전치 곱셈 연산(pre-multiplication)은 관심의 대상이 되는 서브블럭을 수직으로 쉬프트시키고, 후치 곱셈 연산(post-multiplication)은 서브블럭을 수평으로 쉬프트시킨다. 관심의 대상이 되는 서브블럭에는 좌상부, 우상부, 우하부, 좌하부 위치를 포함하는 4개의 위치가 존재한다. 행렬에 의해 얻어지는 동작은 표 1에 예시되어 있다.
서브블럭 위치 Si1 Si2
P0 우하부
P1 좌하부
P2 우상부
P3 좌상부
Sij의 값은 hi및 wi의 값이 주어질 경우 표 1을 참조하면 명확하지만, 때에 따라 Sij를 hi및 wi의 함수로서 나타낼 것이다. 예를 들어, S1= S1(h0, w0) = S1(h0)와 같은 식을 나타낸다.
8×8 블럭의 2차원 DCT를 DCT(P)로서 나타내면, 몇몇 가중 계수 wml i 에 대한 DCT(Pref)의 DC 계수는 다음과 같이 표현될 수 있다.
"On the extraction of DC sequences from MPEG compressed video",(B.L.Yeo and B.Liu, International Conference on Image Processing, Vol. II, pp. 260-263, 1995)의 핵심 결과는 즉, 가중치 wi 0는 블럭(Pref)과 블럭(Pi)의 중첩비(ratio of overlaps)라는 것이다. 1 차 근사값이라 지칭되는 근사값은 다음과 같은 수학식에 의해 (DCT(Pref))0를 근사시킨다.
이 근사값은 기준 프레임의 움직임 벡터 정보와 DC 값만을 필요로 한다. 이러한 근사값이 B 및 P 프레임에 제공될 때 실제로 양호한 결과를 발생시킨다는 점은 "On the extraction of DC sequences from MPEG compressed video"(B.L.Yeo and B. Liu, International Conference on Image Processing, Vol. II, pp.260-263, 1995)의 문헌에 개시되어 있다.
MPEG-1 비디오로부터 직접 추출된 DC 영상을 사용하면, MPEG-1 비디오를 처리하는 알고리즘의 효율이 더욱 향상된다. 이러한 적용을 가능하게 하는 예에 대한 문헌은 "Rapid scene analysis on compressed videos"(B. L. Yeo and B. Liu, IEEE Transactions on Circuits and Systems For Video Technology, vol. 5, pp. 533-544, Dec. 1995)의 문헌과, "Efficient Matching and Clustering of Video Shots"(M. M. Yeung and B. Liu, International Conference on Image Processing, Vol. I, pp. 338-341, 1995)에 개시되어 있다. 이들 문헌은 본 명세서에서 전체로서 참조로 인용된다.
MPEG-1 비디오의 I 프레임에 대해, DC+2AC를 다음과 같이 정의한다. 각각의 8×8 DCT 블럭에 대해 DC 및 두 개의 하위 2차의 AC 계수, 즉, AC0,1및 AC1,0를 보유하고, 2×2 역 DCT를 수행하여 4개의 화소를 획득한다. B 및 P 프레임에 대해, 다음의 수학식이 DCT 블럭 Pi의 DC 및 2차 AC 계수로부터 Pref의 DC 및 두 개의 하위 AC 계수를 형성하는데 사용된다.
여기서, a+b ≤ 1의 조건을 갖는다. 여기서, hi및 wi는 각각 블럭 Pi의 높이 및 폭(도 1c를 참조)이다. 이에 관한 더욱 세부적인 사항은 "On Fast Microscopic Browsing of MPEG compressed video"(B. L. Yeo, IBM T.J. Watson Research Center, Technical Report RC20841, May 1997)의 문헌을 참조하면 알 수 있다. 이 문헌은 본 명세서에서 전체로서 참조로 인용된다.
MPEG-1는 1.5Mbit/s 정도의 데이타율을 목표로 하는 반면, MPEG-2 비디오는 보다 높은 데이타율을 목표로 하고 고화질 비디오로 방송하는데 그 용도를 가진다. MPEG-2는 훨씬 더 넓은 적용 범위와 동작 모드를 지원한다. MPEG-2는 MPEG-1 비디오 구문을 모두 지원하며, 부가적인 융통성 및 기능을 위해 확장성을 이용할 수 있다. 또한, MPEG-2는 인터레이스 비디오 및 스케일가능한 데이타 스트림의 코딩을 지원한다. MPEG-1는 인터레이스 비디오를 지원하지 않고, 비인터레이스(프로그레시브(progressive)) 비디오만을 지원한다.
인터레이스 비디오에 있어서, 각각의 프레임은 두 개의 필드, 즉, 상부 필드와 하부 필드로 형성된다. MPEG-2에서, 각각의 필드는 개별적인 화상(separate picture)(필드 화상) 또는 전 프레임(complete frame)(프레임 화상)으로서 코딩될 수 있다. 프레임 화상 및 필드 화상은 MPEG-2 데이타 스트림으로 혼합(mix)될 수 있다. 필드 화상에 대한 DCT 계수는 항상 독립 필드로서 조직된다. 그러나, 프레임 화상에서, DCT는 매크로블럭 단위로 필드 또는 프레임중 어느 하나에 대해 수행될 수 있다. 즉, 하나의 프레임 화상이 프레임 코딩된 매크로블럭(frame-coded macroblocks)과 필드 코딩된 매크로블럭(field-coded macroblocks)을 모두 가질 수 있다.
도 1e, 1f, 1g는 MPEG-2 비디오에서 구현가능한 DCT 코딩 매크로블럭의 상이한 포맷을 도시한 도면이다. 도 1e는 MPEG-2 비디오 표준에서 종래 기술의 대표적인 프레임 화상의 필드 DCT 코딩을 도시한 도면이다. 도 1f는 MPEG-2 비디오 표준에서 종래 기술의 대표적인 프레임 화상의 프레임 DCT 코딩을 도시한 도면이다. 도 1g는 MPEG-2 비디오 표준에서 종래 기술의 대표적인 필드 화상의 코딩 매크로블럭을 도시한 도면이다.
MPEG-2의 움직임 보상(motion compensation: MC)은 또한 MPEG-1의 움직임 보상보다 훨씬 포괄적이다. 움직임 보상은 필드 기반 움직임 보상과 프레임 기반 움직임 보상을 포함하는 두 개의 기본 모드를 갖고 있다. 필드 기반 MC에 있어서, 두 개의 움직임 벡터가 상부 및 하부 필드의 변환(translations)을 지정하는데 사용된다(전술한 모드에서 필드 기반 MC 및 두 개의 움직임 벡터는 필드 기반 MC에 대한 움직임 보상 정보를 형성한다). 프레임 기반 MC에서는 단지 하나의 움직임 벡터만이 사용된다(전술한 모드에서 프레임 기반 MC 및 움직임 벡터는 필드 기반 MC에 대한 움직임 보상 정보를 형성한다). 프레임 기반 MC는 MPEG-1에서 수행되는 것과 유사하다. 필드 화상에서는 필드 기반 MC만을 사용하지만, 프레임 화상에서는 프레임 기반 MC와 필드 기반 MC를 모두 사용할 수 있다.
도 1h 및 도 1i에는 두가지 사례가 도시되어 있다. 도 1h는 MPEG-2 비디오 표준에서 종래 기술의 프레임 화상의 프레임 예측 또는 필드 화상의 예측을 도시한 도면이다. 도 1i는 MPEG-2 비디오 표준에서 종래 기술의 프레임 화상의 필드 예측을 도시한 도면이다.
요약하면, MPEG-2와 MPEG-1 간의 하나의 차이점은 DCT의 사용을 통해 인터레이스 비디오의 코딩 및/또는 프레임 또는 필드 인코딩중 어느 하나를 통한 인터레이스 프레임의 움직임 보상의 지원 여부이다.
예측 효율을 높이기 위해, MPEG-2는 16×8 움직임 보상 모드를 또한 지원한다. 이 모드는 매크로블럭이 상부 16×8 영역과 하부 16×8 영역으로서 취급되도록 한다. 그러면, 각각의 영역은 독립적으로 움직임 보상된다. 다른 모드는 듀얼 프라임 움직임 예측(dual-prime motion prediction)이다. 이 모드는 소정의 필드 또는 프레임을 코딩할 때 반대 패리티의 두 개의 인접한 필드로부터 예측을 평균한다. 듀얼 프라임 움직임 예측을 이용하면 데이타의 노이즈가 감소하는 경향이 있다.
MPEG-2 표준의 세부 사항은 ISO/IEC JTC1 CD 13818 Generic Coding of moving pictures and associated audio, 1994, MPEG Video Compression Standard(J. L. Mitchell, W.E. Pennebaker, C.E.Foog and D.J.Le Gall, Chapman and Hall, 1996)의 문헌과, Digital Video: An Introduction to MPEG-2(B.G.Haskell, A.Puri, and A.N.Netravali, Chapman and Hall, 1997)의 문헌에 개시되어 있다. 이들 문헌은 본 명세서에서 전체로서 참조로 인용된다.
표기법(notations)
본 명세서에서는 다음과 같은 표기 규칙을 사용한다. 혼동의 염려가 없는 경우, 8×8(16×16) 데이타 블럭(매크로블럭)을 8×8 행렬(16×16 행렬)로 나타내거나 혹은 그 반대로 나타낼 것이다. 공간 도메인 블럭 또는 매크로블럭(또는 행렬)은 대문자(예를 들어, D, D', Di, P, 등)로 표시하고, 대응하는 DCT 도메인 블럭(또는 행렬)을 삿갓을 더한 동일한 대문자(예를 들어, , 등등)로 표시한다. 즉, 행렬 D로 표현된 8×8 블럭에 대해 다음과 같은 수학식으로 표현된다.
여기서, T는 엔트리 t(i, j)를 갖는 8×8 DCT 행렬(i는 i번째 행을 나타내고, j는 j번째 열을 나타냄)이며, 엔트리 t(i, j)는 다음과 같이 표현된다.
여기서,
보다 명료한 표기법이 필요할 경우, DCT를 명시적으로 사용하여 블럭의 DCT 도메인 값을 나타낼 수 있다. 예를 들어, DCT(AB)는 행렬 곱(matrix product) AB에 적용되는 2차원 DCT를 나타낸다. 이하, 다음과 같은 2차원 DCT의 배분적 성질(distributive property)이 또한 계속해서 사용될 것이다.
따라서, 우리는 DCT 도메인에서 공간 도메인의 서브블럭의 이동을 나타내기 위해 의 2차원 DCT를 다음과 같이 나타낼 수 있다.
Pi의 DCT 값과 움직임 벡터 (△x, △y)(150)만을 사용하여 DCT 도메인내에서 인터 코딩 블럭(Pref)으로부터 인트라 코딩 블럭 DCT(Pref)로 직접 변환하는 것은 DCT 도메인 역 움직임 보상(DCT domain inverse motion compensation)이라 칭한다. 표기법의 명료성을 위해, 우리는 본 명세서에서 공간 도메인에서 서브블럭의 이동을 기술할 것이며, 블럭의 DCT 도메인 값은 수학식(7)으로부터 용이하게 도출될 수 있다.
비인터레이스 16×16 매크로블럭은 간단한 대문자(예를 들어, D)로 표시되며, 대응하는 인터레이스 매크로블럭은 프라임 표시된 대문자(예를 들어, D')로 표시된다. 비인터레이스 매크로블럭 D이 주어지면, 4개의 성분의 8×8 블럭은 D0, D1, D2, D3, 즉, 로 표시된다. 마찬가지로, 대응하는 인터레이스 매크로블럭 D'에 대해, 4개의 성분의 블럭은 D'0, D'1, D'2, D'3, 즉, 으로 표시된다. 블럭(행렬)의 각각의 성분은 2개의 인덱스로 참조된다. 즉, Aij는 블럭(행렬)의 행 i 및 열 j의 성분을 나타낸다. 행렬의 행 또는 열 벡터를 나타내기 위해, "-"를 사용한다. 즉, Ai-는 i번째 행 벡터를 나타내고, A-i는 i번째 열 벡터를 나타낸다.
비인터레이스 16×16 매크로블럭 를 생각한다. 여기서, Di는 8×8 블럭이다(i = 0, 1, 2, 3). 마찬가지로, 대응하는 인터레이스 매크로블럭인 , 즉, D'0, D'1은 D의 상부 필드에 대응하고, D'2, D'3은 D의 하부 필드에 대응한다. 16×16 치환 행렬 P를 사용하여, D와 D' 간의 관계를 D=PD'로서 표현할 수 있다.
여기서, 이고,
이다.
종래 기술은 DCT 도메인에서 인터레이스 비디오 프레임의 프로세싱을 제공하지 못하고 있다.
종래 기술은 압축 해제하지 않고 MPEG-2 압축 비디오의 인터 코딩 프레임을 프로세싱하는 편리한 방법을 제공하지 못하고 있다.
종래 기술은 MPEG-2 압축 비디오에 대해 인터-프레임 움직임 보상 코딩 프레임으로부터 인트라-프레임 DCT 코딩 프레임을 구성하는 방법을 제공하지 못하고 있다(이러한 프로세스는 DCT 도메인 역 움직임 보상으로 지칭한다).
종래 기술은 압축 해제하지 않고 MPEG-2 압축 비디오 시퀀스로부터 공간적으로 감소된 영상 시퀀스를 추출하는 방법을 제공하지 못하고 있다.
종래 기술은 비디오 처리 작업에 대한 움직임 보상 및 DCT를 이용하여 코딩된 인터레이스 비디오 프레임으로부터 추출된 공간적으로 감소된 영상의 이용을 제공하지 못하고 있다.
종래 기술은 MPEG-2에서와 같이 DCT 및 움직임 압축을 이용한 인터레이스 비디오를 코딩하는 방안을 이용함으로써 코딩된 비디오를 갖는 대형 비디오 데이타베이스를 분석하는 방안을 제공하지 못하고 있다.
종래 기술은 MPEG-2 비디오를 포함하는 다량의 비디오 데이타베이스의 인덱싱 및 탐색을 제공하지 못하고 있다.
종래 기술은 MPEG-2 비디오의 프레임에 대한 랜덤 액세스를 제공하지 못하고 있다.
본 발명의 목적은 움직임 보상 압축 포맷으로 공간적으로 감소된 영상 시퀀스를 구성하는 시스템 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은 완전한 압축 해제를 수행하지 않고서도 움직임 보상 압축 포맷으로 공간적으로 감소된 영상 시퀀스를 효율적으로 구성하는 시스템 및 방법을 제공하는 데 있다.
본 발명의 또다른 목적은 비디오 정보를 인덱싱 및/또는 탐색하는 시스템 및 방법을 제공하는 데 있다.
본 발명의 또다른 목적은 비디오 정보를 효율적으로 브라우징하는 시스템 및 방법을 제공하는 데 있다.
본 발명의 또다른 목적은 비디오 시퀀스내의 개별적인 프레임에 대해 랜덤한 액세스를 허용하는, 비디오 정보를 효율적으로 브라우징하는 시스템 및 방법을 제공하는 데 있다.
DCT 및 움직임 보상을 통해 인터레이스 프레임의 코딩을 지원하는 압축 비디오가 주어지면, 본 발명은 압축 해제하지 않고서도 선택 DCT 도메인 계수 및/또는 움직임 벡터 정보를 기초하여 공간적으로 감소된 영상을 생성하기 위한 상이한 구성 방법을 제공한다. 따라서, 공간적으로 감소된 영상은 비디오 브라우징, 저작 및 처리하는데 사용될 수 있다.
전술한 목적 및 다른 목적 및 특징 및 장점들은 본 발명의 바람직한 실시예의 상세한 설명과 첨부된 도면을 참조하면 더욱 명료하게 이해될 것이다.
도 1a는 MPEG 비디오 표준의 종래 기술의 3개의 상이한 프레임 유형을 도시한 도면.
도 1b는 MPEG 비디오 표준의 종래 기술의 8×8 DCT 블럭을 도시한 도면.
도 1c는 MPEG-1 비디오 표준의 종래 기술의 기준 블럭, 움직임 벡터 및 원래의 블럭을 도시한 도면.
도 1d는 MPEG-1 표준 기여 서브블럭을 이동시키는데 사용되는 종래 기술의 대표적인 행렬 곱셈 연산을 도시한 도면.
도 1e는 MPEG-2 비디오 표준에서 종래 기술의 대표적인 프레임 화상의 필드 DCT 코딩을 도시한 도면.
도 1f는 MPEG-2 비디오 표준에서 종래 기술의 대표적인 프레임 화상의 프레임 DCT 코딩을 도시한 도면.
도 1g는 MPEG-2 비디오 표준에서 종래 기술의 대표적인 필드 화상의 코딩 매크로블럭을 도시한 도면.
도 1h는 MPEG-2 비디오 표준에서 종래 기술의 프레임 화상의 프레임 예측 또는 필드 화상의 예측을 도시한 도면.
도 1i는 MPEG-2 비디오 표준에서 종래 기술의 프레임 화상의 필드 예측을 도시한 도면.
도 2는 본 발명을 구현하는 컴퓨터 시스템의 하나의 바람직한 실시예를 도시한 블럭도.
도 3은 MPEG-2 비디오로부터 감소된 영상 시퀀스를 형성하는 단계를 도시한 도면.
도 4는 I 프레임으로부터 감소된 영상 시퀀스를 형성하는 단계를 도시한 도면.
도 5는 P 및/또는 B 프레임으로부터 감소된 영상 시퀀스를 형성하는 단계를 도시한 도면.
도 6은 DCT 도메인 역 움직임 보상을 제공하는 단계를 도시한 도면.
도 6a는 블럭의 예측에서 각각의 앵커 블럭의 기여도를 계산하는 단계를 도시한 흐름도.
도 7은 필드 예측을 도시한 블럭도.
도 8은 필드 기반의 움직임 보상과, 프레임 코딩되어 있는 앵커 블럭을 도시한 블럭도.
도 9(a)는 앵커 블럭이 필드 코딩되어 있고, 상부 영역에서 기여 서브 블럭이 도출되는 필드 기반의 움직임 보상을 도시한 블럭도.
도 9(b)는 앵커 블럭이 필드 코딩되어 있고, 하부 영역에서 기여 서브블럭이 도출되는 필드 기반의 움직임 보상을 도시한 블럭도.
도 10은 16×16 매크로블럭의 예측을 도시한 블럭도.
도 11은 수평으로 인접하는 두 개의 영역의 예측을 도시한 블럭도.
도 12는 동일한 움직임 벡터를 갖는 두 개의 인접한 블럭의 DCT 도메인 역 움직임 보상의 억지 접근 계산 방식을 도시한 블럭도.
도 13은 두 개의 블럭의 공유 정보를 사용하여 동일한 움직임 벡터를 갖는 두 개의 인접한 블럭의 이전의 DCT 도메인 역 움직임 보상에 대한 바람직한 방법을 도시한 블럭도.
도 14는 두 개의 인접한 블럭을 통하는 공유 정보를 이용하여 이전의 DCT 도메인 역 움직임 보상에 대한 바람직한 방법을 도시한 흐름도.
도 15는 도 10의 기여 서브블럭의 레이블과 도 16 내지 도 23에 사용되는 표기법을 도시한 도면.
도 16 및 도 17은 4개의 블럭의 공유 정보를 이용하여 블럭 QM을 형성하기 위해 동일한 움직임 벡터를 갖는 4개의 인접한 블럭의 이전의 DCT 도메인 역 움직임 보상에 대한 바람직한 방법을 도시한 블럭도.
도 18 및 도 19는 4개의 블럭의 공유 정보를 사용하여 블럭 QN을 형성하기 위해 동일한 움직임 벡터를 갖는 4개의 인접한 블럭의 이전의 DCT 도메인 역 움직임 보상에 대한 바람직한 방법을 도시한 블럭도.
도 20 및 도 21은 4개의 블럭의 공유 정보를 사용하여 블럭 QT을 형성하기 위해 동일한 움직임 벡터를 갖는 4개의 인접한 블럭의 이전의 DCT 도메인 역 움직임 보상에 대한 바람직한 방법을 도시한 블럭도.
도 22 및 도 23은 4개의 블럭의 공유 정보를 사용하여 블럭 QU를 형성하기 위해 동일한 움직임 벡터를 갖는 4개의 인접한 블럭의 이전의 DCT 도메인 역 움직임 보상에 대한 바람직한 방법을 도시한 블럭도.
도 24는 감소된 영상 시퀀스를 디스플레이하는 TV 스크린을 도시한 도면.
도면의 주요 부분에 대한 부호의 설명
200: 컴퓨터 시스템 202: 응용 프로그램
210: 중앙 처리 장치(CPU) 214: RAM
216: ROM 218: 메모리 어댑터
222: 사용자 입력 어댑터 234: 멀티미디어 어댑터
236: 사용자 출력 어댑터 280: 네트워크
2401: 셋탑 박스 2402, 2403: 감소된 영상 시퀀스
2404: 제어 버튼 2405: 메인 스크린
도 2는 본 발명의 바람직한 실시예를 구현하기 위한 컴퓨터 시스템(200), 예를 들어, IBM RISC 시스템/6000(IBM사의 상표)을 도시한 블럭도이다. 컴퓨터 시스템(200)의 구성요소들은 시스템 버스(212)를 통해 접속되고 통신한다. 전형적으로, 시스템 버스(212)에는 중앙 처리 장치(CPU)(210), ROM(216), RAM(214)이 접속된다. 바람직한 실시예는 하나 이상의 응용 프로그램(202)을 포함한다. 응용 프로그램(202)의 하나의 유형으로는 프로세스(300)를 들 수 있으며, 이 프로세스(300)는 도 3에 더욱 상세하게 도시된다. 부가적인 메모리, 예를 들어, 디스켓(219), 디스크(220), CD-ROM(221)은 적절한 메모리 어댑터(218)에 의해 시스템 버스(212)에 접속될 수 있다. 입/출력 어댑터(222, 236)는 장치들을 사용자와 상호 작용하는 시스템 버스(212)에 접속한다. 예를 들어, 키보드(224) 및/또는 마우스(226)의 입력이 적절한 사용자 입력 어댑터(222)를 통해 시스템 버스(212)에 접속되고, 디스플레이(예를 들어, GUI(graphical user interface))(238) 및/또는 프린터(239)가 적절한 사용자 출력 어댑터(236)를 통해 시스템 버스(212)에 접속된다. GUI를 제어하는데 사용되는 사용자 출력 어댑터(236)는 예를 들어, IBM RISC 시스템/6000의 컬러 그래픽 디스플레이 어댑터(236)일 수 있다. (IBM ActionMedia II의 기술 문헌에 개시된) ActionMedia II 디스플레이 어댑터(234)와 같은 적절한 멀티미디어 어댑터(234)를 사용하여 시스템(200)에 멀티미디어의 기능을 추가할 수 있다. 이와 같은 어댑터들은 오디오 입력 장치(예를 들어, 마이크로폰)(232) 및 오디오 출력 장치(예를 들어, 하나 이상의 스피커)(228)를 통해 오디오 신호를 입력 및 출력하는데 사용된다. (예를 들어, 카메라를 통한) 비디오 입력(230) 및 비디오 출력(238)이 이들과 유사한 어댑터에 의해 또한 가능하게 된다. IBM Voice Type Dictation 어댑터(234)를 사용함으로써 음성 인식이 달성될 수 있다. 기타 기능, 예를 들어, 가상 현실 시스템을 위한 사용자 인터페이스(222, 236)가 시스템 버스(212)에 접속될 수 있다. 서버(290) 및/또는 클라이언트가 서로 통신하는 일반적인 네트워크(예를 들어, 인터넷, 광역망(WAN) 및/또는 근거리망(LAN)(280)에 컴퓨터 시스템(200)을 접속하기 위해 적절한 커넥터(275)가 사용될 수 있다. 이들 컴퓨터(290)중 몇몇은 시스템(200)과 동일한 기능을 수행할 수 있다. 컴퓨터(200)와 같은 컴퓨터 시스템에 대한 하드웨어는 잘 알려져 있다.
도 3 내지 도 6은 MPEG-2 비디오로부터 영상 시퀀스를 공간적으로 추출하기 위해 본 발명에 의해 수행되는 여러 프로세스들을 기술한 흐름도이다. 도 7 내지 도 11은 이들 프로세스의 수행 결과로서 영상 변화를 도시한 블럭도이다. MPEG-2, 특히, MPEG-2에서 DCT 및 움직임 보상을 통해 인터레이스 프레임의 코딩을 지원하는 소정의 압축 비디오가 제공되면, 본 발명은 압축 해제할 필요없이 상이한 인코딩 프레임 유형(즉, I, P, B)을 갖는 상이한 프레임으로부터 공간적으로 감소된 영상 시퀀스를 추출한다. (본 명세서에서, DCT 및 움직임 보상을 통해 인터레이스 프레임의 코딩을 지원하는 어떤 압축 비디오도 일관성을 상실하지 않은채 MPEG-2 비디오로서 일컬어질 것이다). 프레임 유형 및 인코딩 모드의 특성에 따라, 본 발명은 선택 DCT 도메인 계수 및/또는 움직임 벡터 정보를 기초로 하여 상이한 추출 방법을 제공한다. 따라서, 공간적으로 감소된 영상은 비디오의 브라우징, 저작 및 처리하는데 사용될 수 있다.
도 3은 MPEG-2 비디오로부터 감소된 영상 시퀀스를 형성하는 전체 프로세스(300)를 도시한 흐름도이다. 단계(310)에서, MPEG-2의 비디오 시퀀스가 입력으로서 취해진다. 이 비디오 시퀀스는 헤더를 가지며, 이 헤더는 이 헤더와 관련된 데이타 패킷내의 여러 프레임의 유형의 디스크립션(discriptions)을 포함하고 있는데, 이는 본 기술 분야에 잘 알려져 있다. 단계(320)에서, 공지의 기법을 사용하여 헤더 정보를 조사해서, 처리할 프레임이 더 존재하는지를 판정한다. 만약 존재하지 않으면, 단계(330)에서, 지금까지 생성된 감소된 영상 시퀀스가 출력되고, 프로세스가 종료된다. 처리할 프레임이 더 존재하면, 단계(340)에서 후속 프레임이 현재 프레임으로서 취해지며, 이는 F로 명명된다. 단계(350)에서, 현재 프레임 F가 I 프레임, P 프레임 또는 B 프레임인지를 테스트한다. 헤더내의 정보는 이러한 방식으로 이들 프레임을 분류하는데 제공된다. 만일 헤더의 정보가 I 프레임이면, 단계(360)에서 현재 프레임 F가 처리된다. 그렇지 않으면, 단계(370)에서 현재 프레임 F가 처리된다. 블럭(360 또는 370)에서 현재 프레임 F가 처리되면, 프로세스는 블럭(320)으로 진행하여 전술한 과정을 계속 수행한다.
도 4는 도 3의 단계(360)를 상세히 도시한 흐름도로서, I 프레임을 프로세싱하여 감소된 영상을 형성하는 단계를 나타낸다. 단계(361)에서, 현재 프레임내에 처리할 매크로블럭이 더 존재하는지를 판정한다. 만약 존재하지 않으면, 단계(366)에 도시된 바와 같이, 프로세스는 도 3의 단계(320)로 복귀된다. 만약 처리할 매크로블럭이 더 존재하면, 단계(362)에서 후속 매크로블럭이 현재의 매크로블럭(M으로 명명됨)으로서 취해진다. 이어서, 단계(363)에서 현재 매크로블럭 M이 MPEG-2 비트스트림의 헤더 정보에 기초하여 프레임 DCT로 코딩되어 있거나 혹은 필드 DCT로 코딩되어 있는지를 판정한다. 만약 현재 매크로블럭 M이 프레임 DCT로 코딩되어 있으면, 단계(365)로 진행된다. 만약 현재 매크로블럭 M이 필드 DCT로 코딩되어 있으면, 단계(364)에서 현재 매크로블럭 M에 DCT 도메인의 비인터레이스 동작이 제공된다(이에 관한 세부 사항은 이하 바람직한 실시예에서 더욱 상세히 기술될 것이다). 단계(365)에서, DC, AC10, AC01 값이 현재의 매크로블럭 M으로부터 취해지고, 프로세스(360)는 단계(361)로 복귀한다. DC 성분은 각각의 블럭의 평균 세기값을 나타내고, AC10 및 AC01 값은 블럭의 여러 세기 변동중에서 가장 낮은 주파수 성분을 나타낸다. 다른 실시예에서는 다른 주파수 계수, 예를 들어, 111가 사용될 수 있음에 유의하여야 한다. 하지만, 바람직한 실시예에 있어서, 이들중 두 개의 최하위 주파수 성분이 선택되는데, 그 이유는 DC 성분과 함께 이들 두 개의 주파수 성분이 감소된 사이즈의 블럭과 원래의 블럭내에 포함된 적절한 양의 정보를 매우 신속하고 효율적으로 생성하기 때문이다.
(바람직한 실시예에서) 프로세스(360)의 목적은 프레임 코딩된 매크로블럭의 성분 DC, AC10, AC01을 식별하는 것이다. 이것은 단계(365)에서 매크로블럭이 프레임 코딩되어 있는 경우에 직접적으로 얻어진다. 하지만, 단계(364)에서 매크로블럭이 필드 코딩되어 있으면, 매크로블럭은 필요한 계수를 식별하기 위해 프레임 코딩 포맷으로 변환되어야 한다. 이를 수행하기 위한 방법을 기술하는 바람직한 실시예는 다음에 제공된다.
이하, 도 4에 대한 설명이 더욱 상세히 기술될 것이다. 단계(362)에서 M은 4개의 8×8 DCT 블럭 DCT(D'i)으로 형성된 필드 코딩 매크로블럭으로 가정한다. DCT(Di)0의 비인터레이스 버젼의 DC 계수를 획득하기 위한 계산이 수행되어야 한다.
매크로블럭에 대한 DCT(Di)의 DC 계수를 계산하는 하나의 바람직한 방법은 다음과 같이 필드 코딩 블럭의 DCT 계수의 가중화된 선형 조합을 기초로 한다.
여기서, 선형 조합에 대해 사용되는 가중치는 다음과 같다.
곱셈 연산은 5번만 필요하다. 다른 실시예에 있어서, 마지막 두 개의 비-제로 계수가 무시되면, 3번의 곱셈 연산만이 사용된다. 이들 마지막 두 개의 비-제로 계수를 무시하더라도, 브라우징, 숏 경계 검출(shot boundary detection) 등과 같은 몇몇 응용에 대해 감소된 크기의 블럭에 충분한 해상도가 생성된다.
를 계산하는 바람직한 실시예에서는 어떠한 곱셈 연산도 사용하지 않고 다음과 같은 수학식 의 결과를 이용한다.
마찬가지로, D1및 D3에 대한 DC 값은 다음과 같은 수학식으로 계산될 수 있다.
따라서, 비인터레이스 블럭에 대한 DC 값의 형성은 기껏해야 2.5 곱셈 연산(5/2=2.5)만이 필요하다. 수학식(10)의 마지막 두 개의 비제로 계수가 또한 무시되면, 단지 1.5 곱셈 연산(3/2=1.5)만이 필요하다.
다시, 단계(362)에서 M이 필드 코딩 매크로블럭이면, 대응하는 필드 코딩 매크로블럭으로부터 프레임 코딩된 매크로블럭의 저차의 AC 계수(예를 들어, AC01 및 AC10)를 생성할 필요가 있을 수 있다. 가중화된 선형 조합을 계산하기 위한 바람직한 실시예는 단계(364)를 다음과 같이 수행한다.
도 5는 도 3의 단계(370)를 나타낸 것으로, P 또는 B 프레임으로부터 감소된 영상 시퀀스를 형성하는 단계를 나타내는 흐름도이다. 여기서, DC, AC10, AC01 계수가 프레임 코딩된 매크로블럭에 대해 다시 식별된다. 그러나, P 및 B 프레임 포맷의 움직임 보상 매크로블럭에 대해, 이 매크로블럭은 인트라 코딩 매크로블럭 및 프레임 코딩 매크로블럭으로 변환되어야 한다.
단계(371)에서, 처리할 매크로블럭이 현재 프레임내에 더 존재하는지를 판정한다. 만약 존재하지 않으면, 프로세스는 도 3의 단계(320)로 진행한다. 만약 처리할 매크로블럭이 더 존재하면, 단계(372)에서 후속 매크로블럭이 현재 매크로블럭(F로 명명됨)으로서 취해진다. 단계(373)에서, 현재 매크로블럭 F가 인터 코딩되어 있는지를 테스트한다. 만약 인터 코딩되지 않았으면, 단계(375)에서 현재 매크로블럭 M이 프레임 DCT 코딩되었는지 혹은 필드 DCT 코딩되었는지 테스트한다. 만약 프레임 DCT 코딩되었으면, 단계(377)에서 현재 매크로블럭 M이 직접 처리된다. 만약 필드 DCT 코딩되었으면, 단계(376)에서 수학식(9, 11, 12, 13 및 14-16)으로 도시된 바와 같이 DCT 도메인 디인터레이싱(deinterlacing)이 M에 적용되고, 단계(377)에서 디인터레이스된 매크로블럭이 처리된다. 단계(377)에서, DC, AC01, AC10 값이 현재 매크로블럭 M으로부터 취해지고, 단계(371)에서 프로세스는 계속된다. 블럭(375, 376, 377)은 각각 블럭(363, 364, 365) 및 이들 블럭의 설명과 동일함에 유의하여야 한다. 블럭(373)에서 현재 매크로블럭이 인터 코딩되었으면, 블럭(374)에서 DCT 도메인 역 움직임 보상이 M에 적용된다. 단계(375) 이후에, 단계(378)에서 오차 항(error term)이 계산된 다음 단계(375)로부터 생성된 각각의 DCT 계수와 합산되며, 이어서 프로세스는 블럭(371)으로 진행하여 계속 수행된다. 이러한 오차 항의 계산은 도 4에서 I 프레임이 처리된 것과 동일한 방법으로 수행될 수 있다.
도 6은 도 5의 단계(374)를 더욱 상세히 나타낸 것으로, DCT 도메인 역 움직임 보상을 적용하여 인터코딩 매크로블럭을 인트라코딩 프레임 코딩 매크로블럭으로 변환해서, DC, AC10, AC01 계수가 식별될 수 있도록 하는 단계의 바람직한 실시예를 나타낸 블럭도이다.
단계(640)에서, 현재 매크로블럭의 블럭의 수는 N으로 세트되고, 각각의 블럭은 B1, B2, ..., BN으로 세트된다. 단계(641)에서, 인덱스 변수 i는 0으로 세트된다. 단계(642)에서, 인덱스 변수 i는 1만큼 증분된다. 단계(643)에서 인덱스 변수 i의 현재값이 N 이하인지를 판정한다. 만약 인덱스 변수 i의 현재값이 N 이하가 아닌 것으로 판정되면, DCT 도메인 역 움직임 보상을 종료하고, 프로세스는 도 5의 단계(371)로 진행된다. 그렇지 않으면, 단계(644)에서 블럭 Bi가 취해진다. 우리는 Bi와 관련된 감소된 영상의 표현을 획득하길 원한다. 보다 일반적인 의미로, 우리는 인터프레임 움직임 보상을 사용함으로써 코딩되어 있는 인트라 프레임 DCT 코딩 표현을 획득하길 원한다. 블럭 Bi와 관련된 움직임 벡터를 기초로 하여 기여 앵커 블럭(contributory anchor block)의 수 K가 결정된다. 기여 앵커 블럭을 Aj이라 칭하기로 한다(여기서, j = 1, 2, .., K). 단계(645∼647)에서, 인덱스 j가 초기화되며, 이 인덱스 j가 Bi의 DCT 표현에 대한 앵커 블럭 Aj의 기여도를 계산하는데 사용된다. 단계(648)에서, 현재의 앵커 블럭 Aj의 기여도가 계산되어 C로 표시된 다음, 단계(649)에서 C(Bi)에 합산된다. 이 프로세스는 단계(646)로부터 계속 반복된다. 이어서, C(Bi) 결과는 블럭 Bi의 DCT 도메인 표현 또는 블럭 Bi의 감소된 영상 표현을 제공하며, 이는 블럭 Bi의 DCT 도메인값의 DC 및 저차 AC 계수이다.
도 1c 및 도 1d를 참조하면, 현재 블럭(131)이 기준 프레임의 각각의 앵커 블럭(134∼137)의 일부(134P∼137P)로부터 생성됨에 유의하여야 한다. 따라서, 현재 블럭(131)을 생성하기 위해서는 현재 블럭(131)에 대한 이들 각각의 부분(134P∼137P)의 기여도를 판정해야 한다. 이들 기여도는 선형 방식으로 가중화되어 현재 블럭을 생성하며, 가중치는 움직임 보상의 모드(필드 또는 프레임 기반 움직임 보상)와, 앵커 블럭의 인코딩의 유형(필드 또는 프레임 인코딩)의 유형과, 움직임 벡터에 의해 결정된다. 이것은 MPEG-1에 대해 종래의 기술에서도 이루어지지만, 즉, 프레임 코딩 블럭 및 프레임 기반의 움직임 보상만으로 이루어지지만, 프레임 및/또는 필드 기반의 움직임 보상, 즉, MPEG-2과 함께 프레임 및/또는 필드 코딩 블럭에 대한 이들의 기여도를 결정하기 위한 장치 및 방법은 종래의 기술에서 개시되거나 제시되어 있지 않음에 유의하여야 한다.
매크로블럭(132)의 현재 블럭(131D)에 대한 각각의 블럭(134∼137)내의 각각의 부분(134P∼137P)의 기여도를 결정하기 위해, 1. 필드 기반의 움직임 보상 또는 2. 프레임 기반의 움직임 보상에 의해 매크로블럭(132)이 생성되는지의 여부를 판정하는데 각각의 매크로블럭(132)의 헤더가 사용된다. 이어서, 각각의 블럭(134∼137) 각각이 필드 또는 프레임 코딩되어 있는지를 판정한다. 다음의 4개의 각각의 경우 인트라 코딩 및 프레임 코딩 DCT 블럭으로 변환된다.
a. 현재 블럭은 필드 기반의 움직임 보상으로부터 생성되고, 기여 앵커 블럭(예를 들어, 134)은 필드 코딩된다.
b. 현재 블럭은 필드 기반의 움직임 보상으로부터 생성되고, 기여 앵커 블럭(예를 들어, 134)은 프레임 코딩된다.
c. 현재 블럭은 프레임 기반의 움직임 보상으로부터 생성되고, 기여 앵커 블럭(예를 들어, 134)은 필드 코딩된다.
d. 현재 블럭은 프레임 기반의 움직임 보상으로부터 생성되고, 기여 앵커 블럭(예를 들어, 134)은 프레임 코딩된다.
이것을 수행하는 방법에 관한 상세한 설명은 단계(648)를 상세하게 나타낸 도 6a를 참조하면 알 수 있을 것이다.
도 6a는 앵커 블럭의 기여도를 계산하는데 사용되는 단계, 즉, 도 6의 단계(648)를 상세히 도시한 흐름도이다. 단계(6A1)에서, 앵커 블럭은 블럭 Aj으로 세트되고, 움직임 유형은 MT로 세트된다. 블럭(6A2)에서 움직임 유형 MT가 프레임 예측 또는 필드 예측인지를 테스트한다. 움직임 유형 MT가 프레임 예측이면, 블럭 Aj가 프레임 코딩되었는지 혹은 필드 코딩되었는지를 테스트한다. 블럭 Aj가 프레임 코딩되었으면, 프로세스는 단계(684)로 진행하고, 블럭 Aj가 필드 코딩되었으면, 프로세스는 단계(683)로 진행한다. 한편, 움직임 유형 MT가 필드 기반의 예측이면, 단계(6A4)에서 앵커 블럭이 프레임 코딩되었는지 혹은 필드 코딩되었는지를 테스트한다. 만약 프레임 코딩되었으면 프로세스는 단계(682)로 진행하고, 그렇지 않으면 단계(681)로 진행한다. 단계(681, 682, 683, 684)는 전술한 단락에서 각각 a, b, c, d로 표시된 경우를 처리한다.
이하, 해당 Bi의 현재 블럭에 대한 앵커 블럭 Aj(j = 1, 2, ..., K)의 기여도를 계산하는 하나의 바람직한 방법이 기술된다. 이하, 앵커 블럭 Aj의 DCT 도메인 값을 가지고, Bi의 DCT 도메인 값을 계산할 것이다. 또한, 움직임 벡터 정보가 사용된다. 다음에 Bi의 DCT 계수의 전체 세트의 형성이 기술되고, Bi의 프레임 코딩된 버젼의 DC 계수(즉, DC 영상을 생성하기 위한)가 또한 기술될 것이다.
이하의 설명에서 표기의 편이를 위해, 형성될 현재 블럭은 Q로 표시되고, 앵커 블럭은Mi또는Ni로 표시된다(여기서, 0≤i≤3). 먼저, 움직임 보상이 필드 기반의 예측인 단계(681, 682)(경우 a, b에 대응)가 고려될 것이다.
(1) 타겟 블럭의 필드 기반의 예측: 경우 a 및 b에 대한 단계(681 및 682)
필드 기반의 움직임 보상(MC)에서, 매크로블럭의 상부 및 하부 필드를 예측하는 데 두 개의 움직임 벡터가 사용된다. 도 7에는 공간 도메인에서의 필드 기반의 MC가 도시되어 있다. 이 시점에서의 목표는 앵커 블럭(Mi, Ni)과 움직임 벡터(wt 0, ht 0) 및 (wb 0, hb 0)의 DCT 도메인 표현으로부터 8×8 블럭의 DCT 도메인 표현을 형성하는 데 있다. 앵커 블럭은 인터레이스 포맷 또는 비인터레이스 포맷중 어느 하나로 코딩될 수 있음에 유의하여야 한다. 이하, 필드 기반의 MC에 대해 바람직한 실시예에서 상세히 기술될 것이다.
도 7에서, 타겟 블럭 Q(710)의 상부 필드는 4개의 앵커 8×8 블럭(M0, M1, M2, M3)으로부터 예측되고, 하부 필드(720)는 다른 4개의 8×8 앵커 블럭(N0, N1, N2, N3)의 세트로부터 예측된다. 일반성을 상실하지 않고, Q의 상부 필드와 하부 필드를 각각 생성하는 움직임 벡터는 각각 (wt 0, ht 0) 및 (wb 0, hb 0)인 것으로 가정한다. 도 7에서, 앵커 블럭 및 타겟 블럭은 비인터레이스 공간 도메인 블럭임에 유의하여야 한다. 그러나, DCT 도메인에서 이들 앵커 블럭은 상이한 포맷, 즉, 프레임 또는 필드 코딩될 수 있는 상이한 앵커 매크로블럭에 속할 수 있다. 공간 도메인의 블럭 Q(720)의 예측은 다음과 같은 수학식으로 표현될 수 있다.
QMi =Pt iSt i1MiSt i2
QNi =Pb iSb i1NiSb i2
Μ i Ν i 는 인터레이스 포맷이거나 비인터레이스 포맷인 앵커 블럭을 나타낸다. 각각의 앵커 블럭(Mi또는Ni)에 대해, QMi 또는 QNi 는 타겟 Q의 예측에 대한Mi또는Ni의 기여도를 나타내며, Pt iSt i1MiSt i2 또는 Pb iSb i1NiSt i2 에 의해 계산된다. 여기서, Pt i,Pb i,St ij,Sb ij 는 행렬로서, 다음에 기술된다(0≤i≤3 및 1≤j≤2). 타겟 블럭 Q는 각각의 앵커 블럭으로부터의 기여도의 합산에 의해 형성된다.
Q의 DCT 도메인 표현은 다음과 같은 수학식으로 제공된다.
기여도Q Mi 또는Q Ni 를 계산하는데 3 단계가 포함된다(0≤i≤3). 먼저, 각각의 앵커 블럭Mi또는Ni으로부터, Q의 예측에 대해 기여하는 서브블럭(이하, 기여 서브블럭이라 칭함)이 식별된다. 둘째, 식별된 기여 서브블럭은 적절한 코너에 수직 및 수평으로 쉬프트된다. 이것은 행렬 St ij및 Sb ij를 곱셈함으로써 달성된다(0≤i≤3 및 1≤j≤2). 세째, 쉬프트된 기여 서브블럭의 각각의 행은 행렬P i t P i b 를 곱셈 연산함으로써 Q에 대응하는 올바른 행 위치로 옮겨진다. 행렬 St ij,Sb ij,Pt i,Pb i MiNi의 표현에 따라 결정된다.
이하, 앵커 블럭의 두가지 개별적인 경우, 즉, (i) 앵커 비인터레이스 및 (ii) 앵커 인터레이스가 기술될 것이다.
(i) 앵커 비인터레이스: 경우 a에 대한 단계(681)
Mi(Ni)가 비인터레이스 블럭을 나타낼 때,Mi=Mi(Ni=Ni)의 조건을 갖는다. 이 경우, Q에 대한, DCT 도메인의 비인터레이스 포맷으로 코딩되어 있는 Mi의 기여도를 계산하고자 한다. 그렇지만, 움직임 보상 모드는 여전히 필드 기반 움직임 보상 모드이다.
적절한 필드(이 경우, 도 7의 상부(하부) 필드) 선택 이후 먼저 Mi(Ni)의 기여 서브블럭을 쉬프트시킨 다음 기여 블럭을 형성할 것이다. 도 8은Q M2 를 형성하는 절차를 도시한 도면이다.
서브블럭은 단순히 수평 및 수직 변위(wt i, ht i) 또는(wb i, hb i)로부터 식별된다. MPEG-1의 경우와 마찬가지로 앵커 블럭내의 서브블럭의 위치와 그 수평 및 수직의 크기가 쉬프트시키는 양 및 방향을 결정한다. 따라서, MPEG-1의 DCT 도메인 움직임 예측에 있어 쉬프트시키기 위한, Sij(표 1을 참조)로 표시되는 행렬이 St ij및 St ij에 대해 사용된다.
St ij= Sij(ht i,wt i)
Sb ij= Sij(hb i,wb i)
도 8에서, 기여 서브블럭은 앵커 블럭 M2의 우상부 코너에 위치하는 ht i×wt i 블럭이고, 기여 블럭 QM2 의 좌하부로 쉬프트된다.
기여 블럭의 필드 선택은 상부 필드 예측인지 하부 필드 예측인지에 따라 상이하다. 상부 필드 예측에서는 모든 홀수 행이 선택된다. 하지만, 하부 필드 선택에서는 선택된 홀수 행이 짝수 행으로 매핑된다. 즉,
Pt i= Psel, Pb i= PswapPsel, 여기서,
앵커 블럭이 인터레이스될 때, h′=ht i 또는 h′=hb i , w′=wt i 또는 w′=wb i 와 같이 수직 및 수평 쉬프트에 대한 St i1,Sb i1,St i2,Sb i2 의 선택(04= 4×4 널 행렬).
(ii) 앵커 인터레이스: 경우 b에 대한 단계(682)
Mi(Ni)가 인터레이스 블럭이면, 몇몇 인터레이스 매크로블럭 D′ 에서 Mi(Ni) = D′j (여기서, )이다. 이 경우, Q에 대해 DCT 도메인에서 인터레이스 포맷으로 코딩되어 있는Mi의 기여도를 계산할 것이다. 움직임 보상의 모드는 여전히 필드 기반의 움직임 보상 모드이다.
인터레이스 8×8 블럭이 주어지면, 블럭의 상반부(즉, 첫번째 4개의 행)는 상부 영역이라 칭하고, 블럭의 하반부(즉, 마지막 4개의 행)는 하부 영역이라 칭한다. 그러면, 각각의 인터레이스 앵커 블럭의 기여 서브블럭은 상부 영역 또는 하부 영역중 어느 하나에 속한다. 각각의 영역내에, 기여 서브블럭은 i=0,1일 때MiNi에 대해만큼 이동하고, i=2,3일 때MiNi에 대해만큼 이동한다.
도 9는 필드 기반의 MC 및 필드 코딩된 앵커 블럭M 2 의 시나리오를 도시한 도면이다. 도 9에서, 움직임 벡터(150)는 (ht 2,wt 2) 이며,M 2 의 기여 서브블럭이 Q의 상부 필드에 기여하는 것이 바람직하다. 도 9(a)에서 기여 서브블럭은 상부 영역으로부터 얻어지고, 도 9(b)에서 기여 서브블럭은 하부 영역으로부터 얻어진다.
수평 쉬프트의 방향 및 양은 앵커 비인터레이스의 경우와 마찬가지로 wt i또는 wb i에 의해, 즉, St i2=Si2(wt i) Sb i2=Si2(wb i) 로 결정된다. 그러나, 수직 쉬프트는 각각의 영역에 대해 상이한데, 그 이유는 블럭들이 인터레이스 포맷으로 코딩되어 있기 때문이다. 수직 쉬프트에 대한 행렬 St i1 Sb i1 의 선택은 표 2에 도시되어 있다. 기여 서브블럭이 인터레이스 앵커 블럭의 상부 영역에 속할 때 St i1 Sb i1 모두에 대해 Su i1 이 선택되지만, 서브블럭이 하부 영역에 속할 때는 Sl i1 이 선택된다.
따라서, St i1MiSt i2 또는 Sb i1MiSb i2 의 쉬프트된 기여 서브블럭은 여전히 인터레이스되어 있다. 따라서, 이 블럭의 각각의 행은 비인터레이스 기여 블럭, 즉, QMi 또는 QNi 을 형성하기 위해 우측 행 위치로 매핑될 필요가 있다. 이것은 DCT 도메인 비인터레이싱에 대해 사용되는 치환 행렬 P의 두 개의 성분의 행렬(P0및 P1)을 사용함으로써 수행될 수 있다. 상부 필드 예측의 경우, 서브블럭의 각각의 행은 P0, 즉,P t i =P0를 사용함으로써 타겟 블럭의 첫째 행으로부터 개시하여 다른 모든 행으로 확장된다(0≤i≤3). 하부 필드 예측의 경우, 각각의 행은 P1, 즉,P b i =P1를 이용함으로써 타겟 블럭의 두번째 행으로부터 개시하여 다른 모든 행으로 확장된다(0≤i≤3).
(2) 타겟 블럭 Q의 프레임 기반의 예측: 경우 c 및 d에 대한 단계(683 및 684)
프레임 예측에서, 타겟 블럭의 상부 및 하부 필드를 모두 예측하는데 움직임 벡터가 사용된다. 공간 도메인 블럭의 예측은 일반적으로 다음과 같은 수학식으로 표현될 수 있다.
만약 앵커 블럭Mi이 비인터레이스이면, 이 앵커 블럭은 타겟 블럭의 상부 및 하부 필드에 모두 기여한다. 기여도는 다음과 같은 수학식으로 표현될 수 있다.
QMi = Si1MiSi2
여기서, Sij 는 전술한 기여 서브블럭을 쉬프트시키기 위한 행렬이다(i = 0, 1, 2, 3 및 j = 1, 2). 앵커 블럭Mi이 인터레이스되어 있으면, Mi 는 타겟 블럭의 상부 필드 및 하부 필드중 어느 하나로 기여하며, 앵커 블럭이 4개를 초과할 수 있다. 이 경우, 기여도 QMi 는 필드 기반의 예측의 경우(앵커 인터레이스의 경우)와 같이 계산될 수 있다. 즉, 다음과 같은 수학식으로 계산될 수 있다.
QMi =Pt iSt i1MiSt i2또는
QMi =Pb iSb i1MiSb i2
감소된 영상 생성을 위해 선택 DCT 계수를 계산
인터코딩된 P 및 B 프레임으로부터 DC 또는 DC+2AC 영상과 같이 감소된 영상을 생성하기 위해, Q의 선택 DCT 계수( , , , )만이 미리 계산될 수 있다(0≤i≤3 및 1≤j≤2). 의 각각의 성분에 대한 각각의 앵커 블럭의 기여도는 기여 앵커 블럭의 DCT 계수의 가중 선형 조합으로 다음과 같이 표현될 수 있다.
따라서,
여기서, 가중치는 (a) 움직임 보상 모드(필드 기반 또는 프레임 기반)와, (b) 기여 앵커 블럭의 인코딩(필드 또는 프레임 코딩) 모드와, (c) 움직임 벡터에 의존하며, 다음과 같이 표현된다.
그러면,
수학식(29)으로부터, 기여 앵커 블럭은 최대 8개로 구현가능하므로, 기여 블럭의 성분 DCT 값의 예측은 64번의 곱셈 연산을 필요로 하며, 그 결과 타겟 블럭의 예측에 대해 최대 64×8 곱셈 연산이 수행된다.
또한, 잠재적으로 차후의 앵커 블럭으로서 사용될 수 있는 타겟 블럭의 DC 및 선택 AC 값을 형성하는 것이 필요하다. MPEG-1과 달리, B 프레임의 블럭은 앵커 블럭(다른 필드의 예측에 대한 필드 기반의 움직임 보상)으로서 사용될 수 있다. 이것은 P 및 B 프레임내에 대부분의 예측된 블럭의 DC 및 AC 값이 유지되어야 함을 의미한다.
수학식(29)의 가중 선형 조합의 고속 계산은 수학식(30)의 선택 계수의 세트만을 사용함으로써 달성될 수 있다. 하나의 바람직한 실시예는 수학식(29)의 계산을 0≤ m+n ≤1으로 제한하여 사용하는 것이다. 즉, 인트라 코딩된 앵커 블럭의 DC, AC01, AC10만을 사용하는 것이다. 이것은 DC+2AC 근사라 칭한다. DC+2AC 근사에서, 수학식(29)은 다음과 같이 도출될 수 있다.
따라서,
여기서, wkl(i, m, n) 은 수학식(30)에 정의되어 있다. 특별한 사항은 DCT(Q)0, DCT(Q)1,DCT(Q)10만을 보유한다는 것이다.
고속 알고리즘
이하, 전술한 본 발명의 바람직한 실시예가 기술된다. 이는 Song and Yeo에 의해 본 출원과 동일 날짜로 "SYSTEM AND METHOD FOR DCT DOMAIN INVERSE MOTION COMPENSATION USING SHARED INFORMATION"이란 명칭으로 출원된 미국 특허 출원 제 호에 개시되어 있으며, 이는 본 명세서에서 참조로 인용된다.
이하, 공유 정보를 기초로 하여 고속 DCT 도메인 역 움직임 보상과 공간적으로 감소된 영상을 고속으로 추출하는 바람직한 알고리즘을 기술할 것이다. 특히, 수학식(19, 20) 및 수학식(33)을 고속으로 평가하는 바람직한 알고리즘을 기술할 것이다. 속도 향상은 두 부류의 방법, 즉, (i) 앵커 블럭을 동일한 코딩 포맷을 갖는 앵커 블럭과 인접하도록 하는 방법과, (ii) 동일한 매크로블럭의 앵커 블럭간의 공유 정보를 사용하는 것을 기초로 한다.
속도 향상의 공통적인 원리는 역 움직임 보상 프로세스의 기여 서브블럭의 이동을 재순서화(reorder)하여, 치환 행렬이 포함되도록 하는 것이다. 치환 행렬을 사용하면, 동일한 코딩 포맷을 갖는 인접 앵커 블럭을 최대로 이용할 수 있고, 동일한 매크로블럭내의 앵커 블럭간의 공유 정보를 사용할 수 있다. 이하, 치환 행렬에 의해 공간적으로 감소된 영상의 재형성시 속도가 증가되는 방법, 즉, 동일한 코딩 포맷을 갖는 인접 앵커 블럭과 동일한 매크로블럭내의 앵커 블럭간의 공유 정보를 사용하여 속도가 어떻게 증가되는지 수학식(33)에서 평가하는 방법이 기술될 것이다.
먼저, DCT(ABC) 형태의 DC, AC01, AC10의 근사값 계산의 바람직한 실시예는 다음과 같은 수학식으로 표현된다(여기서, A, B, C는 8×8 행렬).
여기서, , 0≤k+l≤1 . A 및/또는 C가 치환 행렬 P 일 때, 다음과 같은 행렬 P 를 획득할 수 있다.
여기서,k+l≤1 및 m+n≤1 이다. 표 3 및 표 4, 표 5는 각각의 (k,l) 및 (m,n)의 쌍에 대해 근사에서 사용되는 9개의 계수값, 즉, v0 kl(m,n)(표 3), v1 kl(m,n)(표 4),v2 kl(m,n)(표 5)을 도시한 것이다. 표 3 및 표 4는 또는 의 3개의 값(DC, AC01, AC10)이 5번의 곱셈 연산으로 계산될 수 있으며, 이는 4개의 엔트리가 제로이므로 일반적인 경우에 비해 4번의 곱셈 연산을 절약할 수 있는 것으로 나타낸다. 유사하게, 표 5는 하나의 엔트리가 1이고 6개의 엔트리가 0으므로 의 3개의 값이 2번의 곱셈 연산만으로 계산될 수 있음을 나타낸다.
수직 또는 수평으로 인접하는 앵커 블럭이 동일한 코딩 포맷을 가지는 경우, DCT 도메인 역 움직임 보상에 대한 수학식은 이들 수학식이 치환 행렬을 포함하도록 재배열되어, 동일한 계산에 대한 계산 비용이 표 3, 4, 5에 의해 제시된 바와 같이 감소되도록 할 수 있다. 이어서, 수평 쉬프트에 대한 행렬 Si2는 다음과 같은 특성을 가짐에 유의해야 한다.
S2(w0)=S22(w2)
S12(w1)=S32(w3)
이때, P0는 8×8 치환 행렬이다.
이하, 표 3, 4, 5에 제시된 바와 같이 수학식(38, 39, 40) 및 속도 증가의 장점을 가지기 위해 수학식(33)를 재표현하는 바람직한 실시예를 기술할 것이다.
치환 행렬에 의한 전치 곱셈 연산: 5번의 곱셈 연산
(k,l)\(m,n) (0,0) (0,1) (1,0)
(0,0) 0
(0,1) 0
(1,0) 0 0
치환 행렬에 의한 후치 곱셈 연산: 5번의 곱셈 연산
(k,l)\(m,n) (0,0) (0,1) (1,0)
(0,0) 0
(0,1) 0
(1,0) 0 0
치환 행렬에 의한 전치 및 후치 곱셈 연산: 2번의 곱셈 연산
(k,l)\(m,n) (0,0) (0,1) (1,0)
(0,0) 1 0 0
(0,1) 0 0
(1,0) 0 0
동일한 코딩 포맷을 갖는 인접 앵커 블럭
두 경우, 즉, (i) 동일한 코딩 포맷을 갖는 두 개의 인접하는 앵커 블럭과, (ii) 동일한 코딩 포맷을 갖는 4개의 모든 인접하는 앵커 블럭이 존재한다.
(i) 동일한 코딩 포맷을 갖는 두 개의 인접하는 앵커 블럭
두 개의 상부 앵커 블럭(M o M 1 )은 동일한 포맷으로 코딩되어 있는 매크로블럭에 속하는 것으로 가정한다. 이 경우, 코딩 포맷 또는 움직임 예측 모드와 상관없이,
S1=S11
P0=P1
로 된다.
이들 관계를 사용하면, QM0 +QM1 의 예측을 나타내는 바람직한 방법은 다음과 같다.
따라서,
수학식(44)의 제 2 항에서, 치환 행렬에 의해 후치 곱셈 연산이 수행된다. 수학식(44)의 제 1 항에 대한 DC+2AC의 근사는 9번의 곱셈 연산을 필요로 하지만, 제 2 항에 대한 DC+2AC의 근사의 바람직한 방법은 5번의 곱셈 연산으로 수행될 수 있다(표 4를 참조). 수학식(43)에 비해, 을 계산하는 데에는 3번의 추가적인 가산이 필요하다. 그러나, 4개의 항이 제로(표 4를 참조)이므로, 4번의 가산이 또한 절약될 수 있으며, 그 결과 4번의 곱셈 연산과 1번의 가산 연산이 절약된다. 두 개의 개별 단계로 기여도를 계산(즉, QM0 QM1 을 독립적으로 계산)하는 것에 비해, 이러한 바람직한 실시예는 한 단계로 QM0 +QM1 의 기여도를 함께 계산한다. 이득(gain)은 치환 행렬에 의해 QM0 +QM1 를 나타냄으로써 얻어지며, 이에 따라 표 4에 제시된 바와 같이 곱셈 연산의 수를 줄일 수 있다.
마찬가지로, 두 개의 하부 앵커 블럭(M 2 M 3 )이 동일한 포맷으로 코딩되면, QM2 +QM3 의 예측에 대한 수학식이 동일한 방식으로 기술되어 동일한 계산량을 절약할 수 있다. 이 경우, S21=S31 P2=P3 의 조건이 사용된다.
수직으로 인접하는 앵커 블럭이 동일한 포맷으로 코딩되어 있으면, 유사한 정도로 절약할 수 있다. 그러나, 계산 감축은 예측 모드 및 앵커 블럭의 코딩 포맷에 의존한다. 예를 들어, 두 개의 앵커 블럭M 0 M 2 이 동일한 포맷으로 코딩되어 있으면,P 0 =P 2 , 그리고,
여기서, X = S01+ S21이다. 프레임 기반의 MC 및 비인터레이스 앵커 블럭의 경우,P 0 =I이고, X는 치환 행렬이며, 이에 따라 수평으로 인접하는 경우에서와 동일하게 절약됨에 유의하여야 한다. 일반적으로, 인터레이스 앵커 블럭이 구비되면, X는 치환 행렬이 아니다.
(ii) 동일한 코딩 포맷을 갖는 4개의 모든 앵커 블럭
4개의 모든 앵커 블럭이 동일한 포맷으로 코딩되어 있으면, Q는 바람직한 방법으로 다음과 같이 표현된다.
여기서, P0S1(M0-M1-M2+M3)S2 는 Z1로 나타내고, P0S1(M1-M3)P0 는 Z2로 나타내고, P0X(M2-M3)S2 는 Z3로 나타내고, P0XM3P0 는 Z4로 나타내기로 한다. 수학식(46)에서, 두 개의 항이 치환 행렬 P0 를 포함한다. 따라서, Q의 DC+2AC의 근사는 28(=9+9+5+5) 곱셈 연산으로 계산될 수 있다. 또한, 이 근사는 , , 를 계산하기 위해 9번의 여분의 가산 연산을 필요로 하며, 제로 계수에 의해 8번의 가산이 절약된다. 전술한 근사는 8번의 곱셈 연산을 절약하며, 하나의 가산 연산을 더 필요로 한다. 프레임 기반의 MC 및 비인터레이스 앵커의 경우에 있어서, P0X 는 또한 치환 행렬이다. 이 경우, 곱셈 연산의 수는 21(=9+5+5+2)까지 감소되며,15번의 곱셈 및 5번의 가산 연산이 절약된다. 수학식(46)의 항들은 Z1, Z2, Z3, Z4로서 또한 명명할 것이다. 이들 항은 이하의 수학식(51), 수학식(52) 및 수학식(53)과, 동일한 매크로블럭내의 4개의 블럭의 DCT 도메인 역 움직임 보상을 수행하는 방법에 대해 도 16 내지 도 23에서 참조될 것이다.
매크로블럭 기반의 예측: 중간 계산을 재이용
여러 경우에 있어서, 인접 타겟 블럭의 세트가 동일한 움직임 벡터를 사용함으로써 예측된다. 예를 들어, 매크로블럭내의 4개의 8×8 휘도 데이타 블럭 (또는 CHROMA 444의 색차 데이타 블럭)은 필드 예측 및 프레임 예측시 동일한 움직임 벡터를 공유한다. 이 경우, 동일한 앵커 블럭이 다중 타겟 블럭을 통해 공유될 수 있다. 이것은 다수의 타겟 블럭의 예측시에 공유가능한 정보가 존재함을 의미한다. 이하의 설명을 위해, 여러 블럭들 간의 공유 정보를 고려하여 4개의 8×8 블럭으로 형성된 16×16 매크로블럭의 DCT 역 움직임 보상을 계산하기 위한 바람직한 실시예를 기술하고, 속도 증가가 이루어졌음을 입증할 것이다. 다른 유사한 경우도 추론될 수 있다.
도 10은 16×16 매크로블럭 Q의 예측을 도시한 도면이다. 4개의 8×8 타겟 블럭Q M (1005),Q N (1010),Q T (1015),Q U (1020)은 각각 4개의 앵커 블럭M i , N i , T i , U i (i=0,1,2,3)로부터 예측된다. 각각의 타겟 블럭(1005, 1010, 1015, 1020)의 예측에 대해, 4개의 기여 앵커 블럭의 DCT 도메인 값이 계산되거나 추가되어야 한다. 그러나, 4개의 타겟 블럭의 예측은 서로 아주 밀접한 관계를 가지며, 독립적으로 계산될 필요가 없음에 유의하여야 한다. 다음과 같이 두가지 관찰 사항을 고려한다.
첫째, 전체 16개의 기여 앵커 블럭이 존재하기는 하지만, 9개의 상이한 앵커 블럭만이 존재하고 이들중 5개는 다수의 타겟 블럭들 사이에서 공유되는데, 그 이유는 타겟 블럭들이 동일한 매크로블럭에 속하고 동일한 움직임 벡터(1050)를 사용함으로써 예측되기 때문이다. 예를 들어, 타겟 블럭Q M (1005) 및Q N (1010)은 두 개의 앵커 블럭, 즉, M1=N0 M3=N2 를 공유한다. 유사하게,Q M (1005) 및Q T (1015)는 M2=T0 M3=T1 등을 공유한다. 둘째, 앵커 블럭내의 각각의 기여 서브블럭의 수직 및 수평 변위는 4개의 타겟 블럭,Q M (1005),Q N (1010),Q T (1015),Q U (1020) 간에 동일하다. 즉, 0≤i≤3에 대해 wMi =wNi =wTi =wUi hMi =hNi =hTi =hUi 인데, 여기서 w와 h는 각각의 앵커 블럭과 관련된 움직임 벡터에 의해 야기된 수평 및 수직 변위를 나타낸다.
(i) 두 개의 인접 영역의 기여도의 계산
각각의 앵커 블럭이 동일한 코딩 포맷을 갖는 경우, 도 10 및 도 11에 도시된 바와 같이 수평으로 인접하는 두 개의 타겟 블럭,Q M (1005) 및Q N (1010)의 상부 영역(1115)의 예측을 먼저 고려할 것이다. 도 12로부터 계속해서, 기여 서브블럭이 비인터레이스 포맷으로 코딩되어 있는 것으로 가정한 경우에 대해서만 기여 서브블럭의 이동 및 부가를 예시할 것이다. 즉, 일반적으로 P0YLZ 로 표시되는 각각의 기여 서브블럭의 이동에 대해(여기서, Y Si1 또는 X 형태중 하나이고, L 은 앵커 블럭(예를 들어, M0 ) 또는 앵커 블럭의 조합(예를 들어, M0-M1 )중 하나이고, Z Si2 또는 P0 형태중 하나이다) 명료히 하기 위해 도면에서 P0 의 효과는 무시할 것이다. 기여 서브블럭이 인터레이스 포맷으로 코딩될 때의 상황은 유사하다.
도 12에는 억지 접근 방식(brute-force approach)(종래의 기술)이 도시되어 있다. 각각의 서브블럭 A, B, C, D은 DCT 도메인에서 개별적으로 취급되며, A 및 C는 M0및 M1의 우하부의 코너로부터 중간 블럭(1220, 1225)의 좌상부의 코너로 각각 이동하고, B 및 D는 M1(=N0) 및 N1의 좌하부의 코너로부터 중간 블럭(1230, 1235)의 우상부의 코너로 각각 이동한다. 중간 블럭의 나머지 계수는 제로로 세트된다(중간 블럭(1220, 1225, 1230, 1235의 여백 공간). 도 12에는 블럭을 이동시키기 위해 전치 곱셈과 후치 곱셈에 대해 사용되는 S0,j 행렬이 또한 도시되어 있다. 이동 이후에, A 및 B를 포함하는 중간 블럭이 함께 가산되고, C 및 D를 포함하는 블럭이 함께 가산되어 인트라 코딩 타겟 블럭(1005A, 1010A)의 상부 영역(1105, 1110)이 생성된다. 이 방법에서는 4쌍의 행렬 전치 곱셈 및 후치 곱셈 연산이 필요하다.
그러나, 본 발명은 3개의 기여 인트라 코딩 앵커 블럭 M0, M1(=N0), N1간의 공유 정보(B 및 C)를 고려하여 타겟 블럭의 상부 영역(1105, 1110)의 기여도를 계산하는 바람직한 실시예를 제시하고 있다. 본 발명에 의해 처리되는 정보의 공유 과정은 도 13에 도시되어 있으며, 이 프로세스의 흐름도가 도 14에 도시되어 있다. 바람직한 실시예에서는 각각의 서브블럭(A, B, C, D)을 개별적으로 이동시키지 않고 그대신, 도 14에 도시된 바와 같이 단계(1402)에서 각각의 인접한 인트라 코딩 앵커 블럭의 쌍(쌍 M0, M1및 쌍 M1, N1)이 서로 감산(1302)된다. 단계(1403)에서, 단계(1402)의 블럭 감산에 의해 도출된 우하부의 서브블럭(A-C)은 좌상부 코너로 이동하고, 단계(1404)에서 단계(1402)의 블럭 감산에 의해 도출된 좌하부의 서브블럭(D-B)은 우상부 코너로 이동한다. 이러한 이동에 관한 행렬이 도 13에 도시되어 있으며, 도 11에서 사용된 것과 동일하다. 가장 큰 차이(1404)는 좌하부의 코너의 서브블럭 B와 우하부의 코너의 서브블럭 C를 각각 우상부와 좌상부로 동시에 이동시킨다는 것이다. 이러한 이동은 하나의 전치 곱셈 및 후치 곱셈 연산, 즉, S1(h)M1P0(w) 으로 표시될 수 있다. 여기서, P0(w) 는 수학식(40)에서 정의되어 있다. 결과는 다시 가산되어 L1(1305A) 및 L2(1310A)의 결과가 도출되도록 한다. 도 12의 억지 접근 방안에서는 4쌍의 전치 및 후치 행렬 곱셈이 사용되지만, 바람직한 실시예에서는 단지 세쌍의 전치 및 후치 곱셈 행렬만이 필요하다.
본 발명은 종래 기술에서와 같이 인트라 코딩 공유 앵커 블럭의 공유 정보(즉, 기여 서브블럭 B 및 C)를 4개의 중간 블럭으로 분리하는 대신, 각각의 "비-공유" 인트라 코딩 앵커 블럭의 공유 정보(서브블럭 B 및 C)를 허용한다. 이어서, 각각의 중간 블럭의 쌍을 부가하여 인트라 코딩 타겟 블럭(예를 들어 1305A=1005A 및 1310A=1010A)의 동일한 상부 영역(제각기 1105 및 1110)의 중간 블럭 결과(1305A 및 1310A)가 생성되도록, 기여 서브블럭(B 및 C)의 위치는 인트라 코딩 공유 앵커 블럭에서 반전(reverse)된다. 하지만, 이것은 서브블럭(A, B, C, D)을 이동시키는 행렬 곱셈 연산에 있어 25% 만큼 더 적은 행렬 곱셈 연산으로 달성된다. 또한, 3개의 중간 블럭만이 사용된다.
이하, 도 14의 흐름도의 더욱 상세한 설명이 기술된다. 수학식(44)은 단계(1402, 1404, 1406)를 정의함에 유의하여야 한다. 수학식(44)은 다음과 같이 다시 표현될 수 있다.
QM0 +QM1 =P0S1(M1-M0)S12+P0S1M0P0
그리고, 타겟 블럭Q N 에 대해 대응하는 수학식은 다음과 같이 표현될 수 있으며, 이 수학식은 단계(1402, 1404, 1406)를 정의한다.
QN0 +QN1 =P0S1(N1-N0)S12+P0S1N0P0
수학식(48)의 제 2 항에 대한 DCT 도메인 값, 즉, 은 수학식(44)을 사용하여 으로서 이미 계산되었다. 이것은 공유 서브블럭(B 및 C)의 쉬프트(1404) 및 스왑(swap)(1404)이다. 를 얻기 위해서는 (감산 쌍 및 이동)만이 부가적으로 계산되면 된다. 따라서, DC+2AC 근사값을 생성하는 상황에서, 9번의 부가적인 곱셈 연산이 필요하게 된다. 수학식(47)은 14번의 곱셈 연산을 필요로 하기 때문에, 의 DC+2AC근사값을 형성하기 위해서는 전체 23(=14+9)번의 곱셈 연산을 필요로 한다.
이상과 같은 개시 내용으로부터, 소정의 3개의 인접한 인트라 코딩 앵커 블럭(즉, 수평, 수직, 대각으로 인접한 인트라 코딩 앵커 블럭)에 동일한 신규한 단계가 제공될 수 있다. 특히, 다음 수학식과 같이 의 예측이 제공될 수 있다.
마찬가지로,
QT0 +QT2 = P0S21(T2-T0)S2+P0XT0S2
M2=T0 이기 때문에 두 수학식의 제 2 항은 동일하다. 이것은 X가 치환 행렬인지의 여부와는 관계없이 참임에 유의하여야 한다. 이 경우, 두 영역을 예측하기 위한 전체 곱셈 연산의 수는 27(=9+9+9)가 된다. 프레임 예측 및 앵커 비인터레이스의 경우, 전체 곱셈 연산의 수는 23(=9+5+9)가 된다.
(ii) 두 개의 인접하는 블럭의 예측
이하, 3개 이상(예를 들어, 6)의 앵커 블럭(여기서, M0 , M1 , N1 , M2 , M3 , N3 )을 사용하여 두 개의 인접한 인터 코딩 타겟 블럭(예를 들어 1005, 1010)을 두 개의 인접한 인트라 코딩 타겟 블럭(1005A 및 1010A)으로 변환하는 것에 관해 본 발명을 기술할 것이다.
도 15에서, 도 16에서 사용되는 표기법이 설정된다. 도 15에는 도 10의 경우와 동일하게 설정된 기여 서브블럭(A-P)을 갖는 블럭이 도시되어 있다. 앵커 블럭(M0및 M1)은 M0-M1로서 명명되며 (1510)에서 조합된다. 이와 같은 표기법에 있어서, M0로부터 나오는 실선 화살표는 M0가 어떠한 변경없이 취해지는 것을 의미하지만, M1으로부터 나오는 점선 화살표는 -M1으로서, 즉, 블럭 M1의 값이 음으로 취해지는 것을 의미한다. 앞에서와 마찬가지로, 합산된 블럭 M0-M1을 쉬프트시키기 위한 행렬 전치 및 후치 곱셈의 효과가 두 개의 행렬 S1및 S2에 의해 기술된다. 도 16은 수학식(46)에 예시된 바와 같은 앵커 블럭의 조합 및 이동의 결과를 도시한 도면이다. 서브블럭(A, B, C, E, F, G, I, J, K)은 QM 의 값에 기여한다. 도 16 및 수학식(46)에 나타낸 바와 같이, 블럭 조합(1605-1607) 및 이동(1615-1618)에 의해 중간 블럭(Z1, Z2, Z3, Z4)이 생성된다. 서브블럭의 조합 및 이동은 도 13에 예시된 것과 유사하다. 특히, 각각의 인접한 앵커 블럭( M0 , M1 , M2 , M3 )으로부터의 기여 서브블럭(A, C, I, K)은 (1605)에서 조합된 다음 (1615)로 이동하여, (1615)에서 중간 블럭(Z1)이 중간 블럭(Z1)의 좌상부 코너로 쉬프트되는 공유 정보(A-C-I+K)를 포함할 수 있도록 한다. 각각의 인접한 앵커 블럭( M0 M3 )으로부터의 기여 서브블럭(B, C, J, K)은 (1606)에서 조합된 다음 (1616)으로 이동하여, 중간 블럭(Z2)이 (1616)에서 Z2의 좌상부 코너로 쉬프트되는 공유 정보(C-K)와, (1616)에서 우상부 코너로 동시에 쉬프트되는 공유 정보(B-J)를 포함할 수 있도록 한다. 마찬가지로, 각각의 인접한 앵커 블럭( M2 M3 )으로부터의 기여 서브블럭(E, G, I, K)은 (1607)에서 조합된 다음 (1617)로 이동하여, 중간 블럭(Z3)이 (1617)에서 Z3의 좌상부 코너로 쉬프트되는 공유 정보(I-K)와, (1617)에서 좌하부 코너로 동시에 쉬프트되는 공유 정보(E-G)를 포함할 수 있도록 한다. 마지막으로, 앵커 블럭( M3 )으로부터의 기여 서브블럭(G, F, K, J)은 (1618)에서 조합되어, 중간 서브블럭(Z4)이 M3 로부터 Z4로의 하부에서 상부로 좌측에서 우측으로 쉬프트되는 서브블럭(G, F, K, J)을 포함하도록 한다.
도 17에서, Z1내지 Z4가 함께 가산되어 QM 을 생성한다. 도 18에는 인접한 타겟 블럭 QN 을 생성하기 위해 블럭들을 조합하고 쉬프트시키는 것이 도시되어 있다. 여기서, 블럭들의 조합 및 이동은 도 16의 것과 유사하다. 또한, 도 16에서 Z2및 Z4가 재사용될 수 있으며, 두 개의 블럭은 원으로 또한 표시된다. 이러한 공유 형태는 도 12에 도시된 것과 유사하다. 도 19에서, 그 결과를 가산하여 QN 을 획득한다. 각각의 기여 서브블럭이 개별적으로 취급되는 경우, 도 16 및 도 18의 서브블럭의 조합 및 가산으로부터 새로운 인트라 코딩 타겟 블럭 QM (1005) 및 QN (1010)을 생성하는데, 8쌍의 전치 및 후치 행렬 곱셈 연산과 달리 공유 정보의 사용으로 인해 6쌍의 전치 및 후치 행렬 곱셈 연산을 필요로 한다.
도 16 내지 도 19는 전술한 수학식(46)과 다음의 수학식(51)으로 더욱 상세하게 표현될 수 있다.
여기서, P0S1(N1-N0-N3+N2)S12 는 Z5로 나타내고, P0S1(N0-N2)P0 는 Z2로 나타내고, P0X(N3-N2)S12 는 Z6로 나타내고, P0XN2P0 는 Z4로 나타낸다. N0=M1 N2=M3 이기 때문에, 수학식(51)의 제 2 항(Z2)과 제 4 항(Z4)은 수학식(42)의 것과 동일하고 재사용될 수 있다. 따라서, 제 1 항 및 제 3 항에 대응하는 가 부가적으로 계산될 필요가 있다. 이 정보의 공유는 도 13에 도시된 것과 유사하지만, 이 경우 13에서 각각의 블럭내에 2개의 서브블럭만을 고려하는 것과 달리 4개의 서브블럭을 모두 포함한다는 점이 다르다. 의 DC+2AC의 근사값을 형성하기 위한 전체 곱셈 연산의 수는 46(=9+5+9+5+9+9)가 된다. 프레임 예측의 경우 전체 연산의 수는 35(=9+5+5+2+9+5)가 된다.
(iii) 전체 매크로블럭의 예측
모든 앵커 블럭이 매크로블럭내의 4개의 타겟 블럭에 대해 동일한 포맷을 가지면, 계산을 절약하기 위해 유사한 개념을 적용할 수 있다. QM (1005) 및 QN (1010)의 인트라 코딩 DCT 표현이 수학식(46) 및 수학식(51)과 도 16 내지 도 19에 도시된 바와 같이 공유 기법을 기초하여 이미 계산된 것으로 가정하면, QT (1015) 및 QU (1020)를 계산하는데 공유 정보가 또한 사용될 수 있다.
도 20에는 블럭들을 조합 및 쉬프트시켜 QT 를 생성하는 것이 도시되어 있다. 이 경우에도, 4개의 중간 블럭중 두 개가 재사용될 수 있다(도 16으로부터의 Z3및 Z4). 도 22에는 블럭들을 조합하고 쉬프트시켜 QU 를 산출하는 것이 도시되어 있다. 여기에서, 네개의 중간 블럭중 세개의 중간 블럭(도 20에서 Z8, 도 18에서 Z6, 도 16에서 Z4)이 재사용될 수 있다. 그 결과, 각각의 블럭( QM , QN , QT , QU )가 개별적으로 취급되면, 이러한 바람직한 실시예에 대해서는 16쌍 대신 9쌍의 전치 및 후치 행렬 곱셈 연산이 필요하게 된다.
도 20 내지 도 23의 더욱 상세한 설명은 다음과 같은 수학식으로 표현될 수 있다. QT QU 는 다음과 같이 표현된다.
여기서, P0S21(T2-T3-T0+T1)S2 는 Z7로 나타내고, P0S21(T3-T1)P0 는 Z8로 나타내고, P0X(M2-M3)S2 는 Z3로 나타내고, P0XM3P0 는 Z4로 나타낸다.
여기서, P0S1(U3-U2-U1+U0)S12 는 Z9로 나타내고, P0X(N3-N2)S12 는 Z6로 나타내고, P0XM3P0 는 Z4로 나타낸다.
DC+2AC의 근사에 있어서, 은 46번의 곱셈 연산(또는 프레임 예측 및 앵커 비인터레이스된 경우에 대해 35번)으로 계산될 수 있다. 수학식(52)의 두 개의 새로운 항들중 하나는 치환 행렬을 포함하기 때문에, 의 DC+2AC의 근사는 14(=9+5)번의 곱셈 연산만으로 계산될 수 있다. 의 DC+2AC의 근사의 경우, 제 1 항에 대해 9번의 부가적인 곱셈 연산만을 필요로 한다. 따라서, 전체 매크로블럭의 DC+2AC의 근사의 경우에서는 69번의 곱셈 연산(프레임 예측 및 앵커 비인터레이스에서 58번의 곱셈 연산)이 사용되며, 그 결과 블럭당 17.25(14.5)번의 곱셈 연산이 수행된다. 수학식(33)의 고속 계산에 대한 바람직한 실시예는 36번의 곱셈 연산을 필요로 하는 방법에 의한 곱셈 연산의 수보다 약 50%(또는 60%) 개선되었다.
감소된 영상의 적용
본 발명을 이용하여 압축 비디오로부터 추출되는 감소된 영상 세트는 비디오 브라우징에 또한 사용될 수 있다. 감소된 영상을 사용하는 브라우징 기법의 하나의 예는 "On Fast Microscopic Browsing of MPEG compressed video"(B. L. Yeo, IBM T.J. Watson Research Center, Technical Report RC20841, May 1997)의 문헌에 개시되어 있다. 각각의 감소된 영상의 크기는 전체 프레임과 압축된 비디오 자체보다 작기 때문에, 예를 들어, 4.0Mbits/sec에서 708×480의 공간 해상도로 인코딩되어 있는 MPEG-2 비디오의 DC 영상은 88×60의 크기를 갖고, 약 0.2Mbits/sec만을 갖는다. 신속한 브라우징을 위해, DC 영상의 세트 또는 DC 영상의 서브셋이 대역폭을 그다지 많이 사용하지 않고서도 서버로부터 클라이언트로 또한 전송될 수 있다. 비트율을 줄이기 위해 DC 영상이 더욱 압축될 수 있다.
브라우징 때, 감소된 영상이 그래픽 디스플레이(예를 들어, 도 2의 참조부호(200))상에 하나씩 연달아 재생될 수 있다. 디스플레이(238)는 TV 또는 컴퓨터 모니터(238)일 수 있다. 고가의 압축 해제 작업을 수행할 필요가 없기 때문에, DC 영상은 실시간보다 빠르게 재생될 수 있다. 즉, 30 프레임/초 비디오에 대해, DC 영상 세트는 30 프레임/초보다 빠르게 재생될 수 있다. 이러한 기능으로 인해, 사용자는 비디오의 내용을 빠르게 훑어 볼 수 있다. 또한, 비디오의 다른 부분으로 임의적으로 액세스할 수도 있다. 압축 비디오에서는 랜덤 액세스가 훨씬 어려우며 시간이 많이 소요된다. 감소된 영상은 개별적인 비디오 세그먼트에 대해 인덱스로서 작용할 수 있다. 인덱스는 사용자가 선택된 감소 영상(예를 들어, 각 화면에 대한 영상)을 시청함으로써 개별 화면에 용이하게 접근할 수 있다는 점에서 시각적일 수 있다. 이러한 인덱스는 영상 기반의 비교에 대해 또한 사용될 수 있다.
도 24는 감소된 영상 시퀀스를 디스플레이하는 TV의 블럭도이다. 스크린은 감소된 영상 시퀀스(2402, 2403)를 디스플레이하기 위한 하나 이상의 윈도우와 함께 메인 TV 프로그램(2405)의 디스플레이를 포함한다. 셋탑 박스(2401)에 있어서, 메인 TV 프로그램의 전체 크기의 디스플레이를 디코딩하는 정규 MPEG-2 디코더가 있을 수 있다. 또한, 셋탑 박스(2401)는 MPEG-2 비디오로부터 하나 이상의 감소된 영상 추출기(프로세스 300, 360, 370)를 또한 포함할 수 있다. 이어서, 감소된 영상 추출기는 동일한 TV 프로그램의 다수의 화면을 디스플레이(예를 들어, 동일한 스포츠(sporting event)의 상이한 카메라 화면)하고, 또한 다른 채널로부터 상이한 프로그램을 동시에 시청할 수 있도록 하는데 사용될 수 있다. (예를 들어, 원격 제어를 통해) 제어 버튼(2404)을 사용함으로써, 다른 프로그램으로부터 감소된 영상의 디스플레이를 턴온 또는 턴오프하거나 혹은 부가적인 윈도우(예를 들어 2402 및 2403)에 디스플레이하기 위해 상이한 프로그램으로 스위칭할 수 있다. 셋탑 박스의 감소된 영상 추출기는 완전한 MPEG-2 디코더에 비해 훨씬 저렴하므로, 추출기를 일부 추가하더라도 셋탑 박스의 비용이 거의 증가되지 않는다. 따라서, 시청자는 더욱 양호한 TV 시청과 채널 이동을 경험할 수 있다.
본 기술 분야에 통상의 지식을 가진 자라면, 본 발명이 본 발명의 영역을 벗어나지 않은 범위내에서 다른 여러가지 실시예로 구현될 수 있음을 명백하게 이해할 것이다.
따라서, 본 발명은 압축 해제하지 않고 비디오 정보로부터 공간적으로 감소된 영상을 추출할 수 있고, 또한 압축 해제하지 않고서도 공간적으로 감소된 영상 시퀀스를 움직임 압축 보상 포맷으로 효율적으로 구성할 수 있도록 하는 이점을 제공한다.

Claims (21)

  1. 인터레이스 프레임(interlaced frames)의 코딩을 지원하는 움직임 보상 압축 포맷(motion compensated compressed format)의 공간적으로 감소된 영상 시퀀스를 추출하는 시스템에 있어서,
    ① 다수의 화소를 각각 가지며, 비트 스트림(bit stream)으로 정의되고, 메모리에 저장되는 움직임 보상 압축 비디오 프레임의 시퀀스(a sequence of motion compensated compressed video frames) ― 각각의 프레임은 인트라프레임 포맷(intraframe format)으로 코딩되고, 상기 프레임내의 상기 화소의 DCT(discrete cosine transform)에 의해 생성된 하나 이상의 주파수 성분을 갖는 하나 이상의 인트라 코딩 블럭을 포함함 ― 와,
    ② 프로세서에 의해 실행되고, 상기 비트 스트림을 가로지르며, 상기 하나 이상의 인트라 코딩 블럭으로부터 상기 주파수 성분의 서브셋을 선택하는 추출기(an extractor)와,
    ③ 상기 프로세서에 의해 실행되고, 상기 서브셋의 상기 주파수 성분의 조합을 생성하여 하나 이상의 공간적으로 감소된 영상을 제 2 시퀀스로 형성하는 형성기(constructor) ― 각각의 공간적으로 감소된 영상은 다수의 제 2 화소를 갖는다 ― 를 포함하는
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  2. 제 1 항에 있어서,
    상기 하나 이상의 제 2 화소는 상기 하나 이상의 인트라 코딩 블럭의 DC와 하나 이상의 AC 주파수 성분의 가중화된 선형 조합(weighted linear combination)을 이용함으로써 생성되는
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  3. 제 2 항에 있어서,
    상기 AC 주파수 성분은 AC01 및 AC10 주파수 성분인 공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  4. 제 2 항에 있어서,
    상기 하나 이상의 인트라 코딩 블럭은 필드 코딩 및 프레임 코딩중 어느 하나의 코딩을 갖는 공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  5. 제 4 항에 있어서,
    상기 가중화된 선형 조합의 하나 이상의 가중치는 상기 주파수 성분을 포함하는 상기 인트라 코딩 매크로블럭이 프레임 코딩되었는지 혹은 필드 코딩되었는지의 여부에 종속하는
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  6. 제 2 항에 있어서,
    상기 공간적으로 감소된 영상은 DC 영상인
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  7. 제 2 항에 있어서,
    상기 공간적으로 감소된 이미지는 DC+2AC 영상인
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  8. 인터레이스 프레임의 코딩을 지원하는 움직임 압축 보상 포맷의 공간적으로 감소된 영상 시퀀스를 추출하는 시스템에 있어서,
    ① 다수의 화소를 각각 가지며, 비트 스트림으로 정의되고, 메모리에 저장되는 움직임 보상 압축 비디오 프레임의 시퀀스 ― 각각의 프레임은 인터프레임 포맷과 인트라프레임 포맷중 어느 하나로 코딩되고, 상기 인터프레임 포맷으로 코딩된 프레임은 하나 이상의 인터코딩된 블럭을 갖고, 상기 각각의 인터 코딩 블럭은 하나 이상의 기준 프레임에 대한 움직임 보상 정보를 이용하여 코딩되거나 혹은 자신 및 상기 하나 이상의 기준 프레임에 대한 나머지를 이용함으로써 코딩되고, 상기 각각의 인트라 코딩 블럭은 상기 프레임내의 상기 화소의 DCT에 의해 생성된 하나 이상의 주파수 성분을 포함한다 ― 와,
    ② 프로세서에 의해 실행되고, 상기 비트 스트림을 가로지르며, 상기 하나 이상의 인터 코딩 블럭으로부터 상기 움직임 보상 정보를 선택하고, 상기 하나 이상의 인트라 코딩 블럭으로부터 상기 주파수 성분의 서브셋을 더 선택하고, 상기 비트 스트림내의 헤더 정보를 이용하여 상기 인터 코딩 및 상기 인트라 코딩 블럭을 식별하는 추출기와,
    ③ 상기 프로세서에 의해 실행되고, 상기 서브셋의 상기 주파수 성분의 조합을 생성하는 방법을 결정하기 위해 상기 선택된 움직임 보상 정보를 사용함으로써 하나 이상의 공간적으로 감소된 영상을 제 2 시퀀스로 형성하는 형성기 ― 각각의 공간적으로 감소된 영상은 다수의 제 2 화소를 갖는다 ― 를 포함하는
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  9. 제 8 항에 있어서,
    상기 공간적으로 감소된 영상은 DC 영상인
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  10. 제 8 항에 있어서,
    상기 공간적으로 감소된 영상은 DC+2AC 영상인
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  11. 제 8 항에 있어서,
    각각의 기여 앵커 블럭이 상기 인터 코딩 블럭들중 하나의 블럭의 하나 이상의 움직임 벡터에 의해 결정되는 경우, 하나 이상의 기준 프레임내의 하나 이상의 기여 앵커 블럭의 DC 및 하나 이상의 AC 주파수의 가중화된 선형 조합을 이용함으로써 상기 인터 코딩 프레임들중 하나로부터 상기 하나 이상의 제 2 화소가 발생되며, 상기 움직임 벡터는 상기 선택된 움직임 보상 정보의 일부인
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  12. 제 11 항에 있어서,
    각각의 인터 코딩 블럭은 상기 선택된 움직임 보상 정보가 필드 기반 또는 프레임 기반 움직임 보상인 경우에 발생되는
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  13. 제 12 항에 있어서,
    상기 기준 프레임내의 상기 기여 앵커 블럭은 프레임 코딩되거나 혹은 필드 코딩되는 공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  14. 제 13 항에 있어서,
    상기 가중화된 선형 조합의 가중치는 다음의 (a)∼(d)중 소정의 하나 이상으로부터 결정, 즉,
    (a) 상기 인터 코딩 블럭의 상기 하나 이상의 움직임 벡터와,
    (b) 상기 기여 앵커 블럭의 상기 주파수 성분의 수와,
    (c) 상기 선택된 움직임 보상 정보와,
    (d) 상기 기준 프레임내의 상기 기여 앵커 블럭이 프레임 코딩되었는지 혹은 필드 코딩되었는지의 여부로부터 결정되는
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  15. 제 11 항에 있어서,
    상기 AC 주파수 성분은 AC01 및 AC10 주파수 성분인
    공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  16. 제 1 항에 있어서,
    상기 공간적으로 감소된 영상 시퀀스는 네트워크를 통해 전송되는 공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  17. 제 1 항에 있어서,
    상기 공간적으로 감소된 영상 시퀀스가 압축되는 공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  18. 제 1 항에 있어서,
    상기 공간적으로 감소된 영상 시퀀스는 그래픽 디스플레이상에 시청 시퀀스(viewed sequence)로 플레이되는 공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  19. 제 18 항에 있어서,
    상기 그래픽 디스플레이는 텔레비젼인 공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  20. 제 18 항에 있어서,
    상기 감소된 영상 시퀀스의 상기 하나 이상의 감소된 영상이 브라우징(browsing)되는 공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
  21. 제 18 항에 있어서,
    상기 감소된 영상 시퀀스의 상기 하나 이상의 감소된 영상이 인덱싱(indexing)되는 공간적으로 감소된 영상 시퀀스를 추출하는 시스템.
KR1019980019207A 1997-06-12 1998-05-27 공간적으로감소된영상시퀀스추출시스템 KR100309721B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/873,669 US6108448A (en) 1997-06-12 1997-06-12 System and method for extracting spatially reduced image sequences in a motion compensated compressed format
US8/873,669 1997-06-12
US08/873,669 1997-06-12

Publications (2)

Publication Number Publication Date
KR19990006500A true KR19990006500A (ko) 1999-01-25
KR100309721B1 KR100309721B1 (ko) 2001-12-17

Family

ID=25362099

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980019207A KR100309721B1 (ko) 1997-06-12 1998-05-27 공간적으로감소된영상시퀀스추출시스템

Country Status (5)

Country Link
US (1) US6108448A (ko)
JP (1) JP3177213B2 (ko)
KR (1) KR100309721B1 (ko)
SG (1) SG87000A1 (ko)
TW (1) TW421758B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100472476B1 (ko) * 2002-08-31 2005-03-10 삼성전자주식회사 움직임 보상을 위한 보간 방법 및 그 장치

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7336468B2 (en) 1997-04-08 2008-02-26 X2Y Attenuators, Llc Arrangement for energy conditioning
US7321485B2 (en) 1997-04-08 2008-01-22 X2Y Attenuators, Llc Arrangement for energy conditioning
US9054094B2 (en) 1997-04-08 2015-06-09 X2Y Attenuators, Llc Energy conditioning circuit arrangement for integrated circuit
US7301748B2 (en) 1997-04-08 2007-11-27 Anthony Anthony A Universal energy conditioning interposer with circuit architecture
US6445828B1 (en) * 1998-09-28 2002-09-03 Thomson Licensing S.A. Transform domain resizing of an image compressed with field encoded blocks
US6618507B1 (en) * 1999-01-25 2003-09-09 Mitsubishi Electric Research Laboratories, Inc Methods of feature extraction of video sequences
US7383504B1 (en) * 1999-08-30 2008-06-03 Mitsubishi Electric Research Laboratories Method for representing and comparing multimedia content according to rank
US6608867B2 (en) 2001-03-30 2003-08-19 Koninklijke Philips Electronics N.V. Detection and proper scaling of interlaced moving areas in MPEG-2 compressed video
US6956902B2 (en) * 2001-10-11 2005-10-18 Hewlett-Packard Development Company, L.P. Method and apparatus for a multi-user video navigation system
US6990146B2 (en) * 2001-11-16 2006-01-24 Koninklijke Philips Electronics N.V. Method and system for detecting intra-coded pictures and for extracting intra DCT precision and macroblock-level coding parameters from uncompressed digital video
US7263660B2 (en) * 2002-03-29 2007-08-28 Microsoft Corporation System and method for producing a video skim
US7386048B2 (en) 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
US7921445B2 (en) * 2002-06-06 2011-04-05 International Business Machines Corporation Audio/video speedup system and method in a server-client streaming architecture
KR100782829B1 (ko) 2003-06-10 2007-12-06 렌슬러 폴리테크닉 인스티튜트 움직임 보상 시간 필터링에서 i-블록들을 처리하는 방법
US7653133B2 (en) * 2003-06-10 2010-01-26 Rensselaer Polytechnic Institute (Rpi) Overlapped block motion compression for variable size blocks in the context of MCTF scalable video coders
US8107535B2 (en) * 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7856054B1 (en) 2003-11-14 2010-12-21 Apple Inc. Scene change identification during encoding of compressed video
US7675729B2 (en) 2003-12-22 2010-03-09 X2Y Attenuators, Llc Internally shielded energy conditioner
GB2439862A (en) 2005-03-01 2008-01-09 X2Y Attenuators Llc Conditioner with coplanar conductors
WO2006093831A2 (en) 2005-03-01 2006-09-08 X2Y Attenuators, Llc Energy conditioner with tied through electrodes
EP1991996A1 (en) 2006-03-07 2008-11-19 X2Y Attenuators, L.L.C. Energy conditioner structures
KR101498044B1 (ko) * 2007-01-10 2015-03-05 삼성전자주식회사 매크로 블럭이 적응적으로 부호화된 압축영상에 대한축소영상 생성방법 및 이를 적용한 영상기기
US8358700B2 (en) * 2008-06-03 2013-01-22 Omnivision Technologies, Inc. Video coding apparatus and method for supporting arbitrary-sized regions-of-interest
US8712930B1 (en) 2010-08-09 2014-04-29 Google Inc. Encoding digital content based on models for predicting similarity between exemplars
US20120170653A1 (en) * 2010-12-30 2012-07-05 General Instrument Corporation Block based sampling coding systems
US8515193B1 (en) * 2011-04-08 2013-08-20 Google Inc. Image compression using exemplar dictionary based on hierarchical clustering
US9286653B2 (en) 2014-08-06 2016-03-15 Google Inc. System and method for increasing the bit depth of images

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69516734T2 (de) * 1994-02-01 2000-09-28 Canon Kk Bildverarbeitungsverfahren und -gerät
US5845015A (en) * 1995-10-12 1998-12-01 Sarnoff Corporation Method and apparatus for resizing images using the discrete cosine transform
US5832120A (en) * 1995-12-22 1998-11-03 Cirrus Logic, Inc. Universal MPEG decoder with scalable picture size
US5737019A (en) * 1996-01-29 1998-04-07 Matsushita Electric Corporation Of America Method and apparatus for changing resolution by direct DCT mapping
US5933537A (en) * 1996-07-29 1999-08-03 Polaroid Corporation Method and apparatus for conversion of frequency-coefficient matrices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100472476B1 (ko) * 2002-08-31 2005-03-10 삼성전자주식회사 움직임 보상을 위한 보간 방법 및 그 장치

Also Published As

Publication number Publication date
TW421758B (en) 2001-02-11
JPH1118094A (ja) 1999-01-22
KR100309721B1 (ko) 2001-12-17
SG87000A1 (en) 2002-03-19
US6108448A (en) 2000-08-22
JP3177213B2 (ja) 2001-06-18

Similar Documents

Publication Publication Date Title
KR100305489B1 (ko) Dct도메인역움직임보상시스템
KR100309721B1 (ko) 공간적으로감소된영상시퀀스추출시스템
KR100578049B1 (ko) 인터레이스드디지털비디오를위한인트라-매크로블록디씨및에이씨계수예측방법및장치
KR100515199B1 (ko) 트랜스코딩 방법
US6005980A (en) Motion estimation and compensation of video object planes for interlaced digital video
USRE38563E1 (en) Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
JP3092280B2 (ja) 画像信号の高能率符号化及び復号化装置
Song et al. Fast extraction of spatially reduced image sequences from MPEG-2 compressed video
Furht A survey of multimedia compression techniques and standards. Part II: Video compression
Song et al. Spatially reduced image extraction from MPEG-2 video: fast algorithms and applications
JPH0541861A (ja) 動画像符号化装置
Jing et al. Smooth constrained motion estimation for video coding
KR100264639B1 (ko) 디지탈 영상의 온-스크린 표시를 위한 색 제어
Furht et al. Video Presentation and Compression
Tan et al. A unified transcoding approach to fast forward and reverse playback of compressed video
JPH09130808A (ja) 動画像圧縮方法および装置
Wang et al. Fast intra prediction algorithm for quality scalable video coding
Fu et al. Efficient reverse-play algorithm for MPEG video streaming with VCR functionality
Howard An Experimental analysis of the MPEG compression standard with respect to processing requirements, compression ratio, and image quality
AU728756B2 (en) Motion estimation and compensation of video object planes for interlaced digital video
Fu Advanced digital VCR for compressed videos
Mandal et al. Digital video compression techniques
JPH07250329A (ja) 画像合成符号化方法及び画像合成装置
Parmar Implementation of video compression algorithm on the Texas Instruments video processing board TMS320DM6437
Kumar et al. New pixel based approach for reverse play of MPEG video for streaming system

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
FPAY Annual fee payment

Payment date: 20100824

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee