KR20050053469A - 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치 - Google Patents
스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치 Download PDFInfo
- Publication number
- KR20050053469A KR20050053469A KR1020040002076A KR20040002076A KR20050053469A KR 20050053469 A KR20050053469 A KR 20050053469A KR 1020040002076 A KR1020040002076 A KR 1020040002076A KR 20040002076 A KR20040002076 A KR 20040002076A KR 20050053469 A KR20050053469 A KR 20050053469A
- Authority
- KR
- South Korea
- Prior art keywords
- temporal
- frame
- frames
- temporal level
- order
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
- H04N19/615—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 스케일러블 비디오 코딩 알고리즘에 관한 것이다.
비디오 코딩 방법은 한정된 시간적 레벨 순서로 프레임들의 시간적 중복을 제거하는 단계, 및 상기 시간적 중복이 제거된 프레임들로부터 변환계수들을 얻고 이를 양자화하여 비트스트림을 생성하는 단계를 포함한다. 비디오 인코더는 상기 과정을 실행하기 위한 시간적 변환부와, 공간적 변환부와, 양자화부, 및 비트스트림 생성부를 포함한다.
비디오 디코딩 방법은 기본적으로 비디오 코딩과 역순으로 하며, 비디오 디코더는 입력받은 비트스트림을 해석하여 비디오 디코딩을 위한 필요한 정보를 추출하여 디코딩을 수행한다.
본 발명에 따르면 지연시간 조절이 용이한 비디오 코딩을 할 수 있다.
Description
본 발명은 비디오 압축에 관한 것으로서, 보다 상세하게는 일정한 한정된 시간적 레벨 순서에 따른 움직임 보상 시간적 필터링을 통해 시간적 스케일러빌리티를 갖는 비디오 코딩에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로하며 전송시에 넓은 대역폭을 필요로 한다. 예를 들면 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)을 위한 유연성을 갖지 못한다. 이에 따라 최근에는 웨이브렛 기반의 스케일러블 비디오 코딩에 대한 연구가 활발하다. 스케일러블 비디오 코딩은 스케일러빌리티를 갖는 비디오 코딩을 의미한다. 스케일러빌리티란 압축된 하나의 비트스트림으로부터 부분 디코딩, 즉, 다양한 비디오를 재상할 수 있는 특성을 의미한다. 스케일러빌리티는 비디오의 해상도를 조절할 수 있는 성질을 의미하는 공간적 스케일러빌리티와 비디오의 화질을 조절할 수 있는 성질을 의미하는 SNR(Signal t Noise Ratio) 스케일러빌리티와, 프레임 레이트를 조절할 수 있는 시간적 스케일러빌리티와, 이들 각각을 조합한 것을 포함하는 개념이다.
웨이브렛 기반의 스케일러블 비디오 코딩에 사용되고 있는 많은 기술들 중에서, Ohm에 의해 제안되고 Choi 및 Wood에 의해 개선된 움직임 보상 시간적 필터링(Motion Compensated Temporal Filtering; 이하, MCTF라 함)은 시간적 중복성을 제거하고 시간적으로 유연한 스케일러블 비디오 코딩을 위한 핵심 기술이다. MCTF에서는 GOP(Group Of Picture) 단위로 코딩작업을 수행하는데 현재 프레임과 기준 프레임의 쌍은 움직임 방향으로 시간적 필터링된다. 이에 대해서는 도 1a를 참조하여 설명한다.
도 1a는 MCTF 방식의 스케일러블 비디오 코딩 및 디코딩 과정에서의 시간적 분해 과정의 흐름을 보여주는 도면이다.
도 1a에서 L 프레임은 저주파 혹은 평균 프레임을 의미하고, H 프레임은 고주파 혹은 차이 프레임을 의미한다. 도시된 바와같이 코딩은 낮은 시간적 레벨에 있는 프레임쌍들을 먼저 시간적 필터링을 하여 낮은 레벨의 프레임들을 높의 레벨의 L 프레임들과 H 프레임들로 전환시키고 전환된 L 프레임 쌍들은 다시 시간적 필터링하여 더 높은 시간적 레벨의 프레임들로 전환된다. 인코더는 가장 높은 레벨의 L 프레임 하나와 H 프레임들을 이용하여 웨이브렛 변환을 거쳐 비트스트림을 생성한다. 도면에서 진한색이 표시된 프레임은 웨이브렛 변환의 대상이 되는 프레임들을 의미한다. 정리하면 코딩하는 한정된 시간적 레벨 순서는 낮은 레벨의 프레임들부터 높은 레벨의 프레임들을 연산한다. 디코더는 웨이브렛 역변환을 거친 후에 얻어진 진한색의 프레임들을 높은 레벨부터 낮은 레벨의 프레임들의 순서로 연산하여 프레임들을 복원한다. 즉, 시간적 레벨 3의 L 프레임과 H 프레임을 이용하여 시간적 레벨 2의 L프레임 2개를 복원하고, 시간적 레벨의 L 프레임 2개와 H 프레임 2개를 이용하여 시간적 레벨 1의 L 프레임 4개를 복원한다. 최종적으로 시간적 레벨 1의 L 프레임 4개와 H 프레임 4개를 이용하여 프레임 8개를 복원한다. 원래의 MCTF 방식의 비디오 코딩은 유연한 시간적 스케일러빌리티를 갖지만, 단방향 움직임 추정과 낮은 시간적 레이트에서의 나쁜 성능 등의 몇몇 단점들을 가지고 있었다. 이에 대한 개선방법에 대한 많은 연구가 있었는데 그 중 하나가 Turaga와 Mihaela에 의해 제안된 비구속 MCTF(Unconstrained MCTF; 이하, UMCTF라 함)이다. 이에 대해서는 도 1b를 참조하여 설명한다.
도 1b는 UMCTF 방식의 스케일러블 비디오 코딩 및 디코딩 과정에서의 시간적 분해 과정의 흐름을 보여주는 도면이다.
UMCTF은 복수의 참조 프레임들과 양방향 필터링을 사용할 수 있게 하여 보다 일반적인 프레임작업을 할 수 있도록 한다. 또한 UMCTF 구조에서는 필터링되지 않은 프레임(A 프레임)을 적절히 삽입하여 비이분적 시간적 필터링을 할 수도 있다. 필터링된 L 프레임 대신에 A 프레임을 사용함으로써 낮은 시간적 레벨에서 시각적인 화질이 상당히 개선된다. 왜냐하면 L 프레임들의 시각적인 화질은 부정확한 움직임 추정 때문에 때때로 상당한 성능저하가 나타나기도 하기 때문이다. 많은 실험 결과에 따르면 프레임 업데이트 과정을 생략한 UMCTF가 원래 MCTF보다 더 좋은 성능을 보인다. 이러한 이유로 비록 가장 일반적인 형태의 UMCTF는 저역 통과 필터를 적응적으로 선택할 수 있음에도, 업데이트 과정을 생략한 특정된 형태의 UMCTF의 특정한 형태가 일반적으로 사용되고 있다.
화상 회의와 같은 많은 비디오 어플리케이션들은 낮은 최종 지연시간(end to end delay)를 필요로 한다. 이러한 어플리케이션들에서는 낮은 디코더측 지연시간뿐만 아니라 낮은 인코더측 지연시간도 요구된다. 상술한 MCTF와 UMCTF 모두 가장 낮은 시간적 레벨부터 프레임들을 분석하므로, 인코더측 지연시간은 최소한 GOP 사이즈만큼의 시간이 된다. 실제로 GOP 사이즈에 해당하는 지연시간이 있는 경우에 비디오 코딩방법은 실시간 어플리케이션에서 사용하기 곤란하다. 비록 UMCTF는 미래의 참조 프레임들을 한정하므로써 지연시간을 감소시킬 수 있으나 어플리케이션에 따른 지연 시간 조절 기능이 없다. 뿐만 아니라 인코더측 시간적 스케일러빌리티는 제공되지 못한다. 즉, UMCTF의 경우에 어떤 시간적 레벨에서 멈추고 비트스트림을 전송할 수 없다. 이러한 인코더측 시간적 스케일러빌리티는 양방향 비디오 스트리밍 어플리케이션에 매우 유익한 기능이다. 즉, 인코딩 과정에서 연산 능력이 모자라는 경우에는 현재 시간적 레벨에서 연산을 중지하고 바로 비트스트림을 보낼 수 있어야 하는데 이러한 점에서 종전의 방식들은 한계점을 갖는다.
상술한 문제점들을 비추어 볼 때, 적은 최종 지연시간을 가질 수 있도록 화질에 비교적 적은 영향을 미치면서 지연시간 조절이 가능한 비디오 코딩 알고리즘이 필요하다. 또한, 디코더측 뿐만 아니라 인코더측에서도 시간적 스케일러빌리티를 가질 수 있도록 높은 시간적 레벨에서 낮은 시간적 프레임작업을 할 수 있는 비디오 코딩 알고리즘이 필요하다.
본 발명은 상술한 필요성에 의해 안출된 것으로서, 본 발명은 지연시간 조절이 가능하며 인코더측에서도 시간적 스케일러빌리티를 갖는 비디오 코딩 방법과 디코딩 방법 및 이를 위한 장치를 제공하는 것을 그 기술적 과제로 한다.
상기 목적을 달성하기 위하여, 본 발명에 따른 비디오 코딩 방법은 비디오 시퀀스를 구성하는 복수의 프레임들을 입력받아 한정된 시간적 레벨 순서로 프레임들의 시간적 중복을 제거하는 (a) 단계, 및 상기 시간적 중복이 제거된 프레임들로부터 변환계수들을 얻고 이를 양자화하여 비트스트림을 생성하는 (b) 단계를 포함한다.
바람직하게는, 상기 (a) 단계에서 입력받는 프레임들은 웨이브렛 변환을 거쳐 공간적 중복이 제거된 프레임들일 수 있다.
바람직하게는, 상기 (b) 단계에서 변환계수들은 상기 시간적 중복이 제거된 프레임들을 공간적 변환하여 얻을 수 있다. 상기 공간적 변환은 웨이브렛 변환을 이용한다.
바람직하게는, 상기 프레임들의 시간적 레벨은 2분적 계층 구조를 갖는다.
바람직하게는, 상기 한정된 시간적 레벨 순서는 시간적 레벨이 높은 프레임부터 시간적 레벨이 낮은 프레임으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 프레임부터 프레임 인덱스가 큰 프레임 순서를 갖는다. 상기 한정된 시간적 레벨 순서는 GOP 사이즈를 주기를 갖는 것이 바람직하다. 이 때, GOP를 구성하는 프레임들 중 가장 높은 시간적 레벨을 갖는 프레임은 GOP의 가장 작은 프레임 인덱스를 갖는 프레임인 것이 바람직하다.
시간적 중복 제거하는 과정은 GOP 단위로 수행되는데, GOP의 가장 높은 시간적 레벨을 갖는 첫 프레임을 I 프레임으로 설정하고, 상기 한정된 시간적 레벨을 갖는 순서대로 각 프레임들에 대한 시간적 중복을 제거하되 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임들은 자신보다 시간적 레벨이 높거나 자신과 동일한 시간적 레벨을 갖는 프레임들 중에서 자신보다 프레임 인덱스가 작은 하나 또는 그 이상의 프레임들이다. 바람직하게는, 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임(들)은 자신보다 시간적 레벨이 높은 하나 또는 그 이상의 프레임들 중에서 프레임 인덱스 차이가 가장 작은 하나 또는 두 프레임들이다.
상기 시간적 중복을 제거하는 과정에서 각 프레임들이 참조하는 참조 프레임들에는 자신(현재 필터링 중인 프레임)을 더 포함하며, 상기 시간적 중복을 제거하는 과정에서 상기 필터링 중인 프레임이 자신을 참조하는 부분들의 비율이 일정한 값을 넘는 경우에 상기 필터링 중인 프레임을 I 프레임으로 코딩하는 것이 바람직하다.
바람직하게는, 상기 시간적 중복을 제거하는 과정에서 각 프레임들이 참조하는 참조 프레임들에는 다음 GOP에 속하는 자신보다 시간적 레벨이 높은 하나 또는 그 이상의 프레임들을 더 포함한다.
상기 한정된 시간적 레벨 순서는 코딩 모드에 따라 결정된다. 상기 코딩 모드에 따라 결정된 한정된 시간적 레벨 순서는 동일 코딩 모드에서는 GOP 사이즈를 주기로 반복된다. GOP를 구성하는 프레임들 중 가장 높은 시간적 레벨을 갖는 프레임은 GOP의 가장 작은 프레임 인덱스를 갖는 프레임인 것이 바람직하다.
상기 (b) 단계에서 상기 코딩 모드에 대한 정보와, 중복제거 순서에 관한 정보는 상기 비트스트림에 더 포함시키는 것이 바람직하다.
바람직하게는, 상기 코딩 모드는 지연시간 제어 파라미터(D)에 의해 결정되는데, 이 경우에 상기 한정된 시간적 레벨 순서는 시간적 필터링되지 않은 가장 낮은 레벨의 프레임의 인덱스보다 D 초과되지 않는 인덱스를 갖는 프레임들 중에서 시간적 레벨이 높은 프레임부터 시간적 레벨이 낮은 프레임으로 또 동일한 시간적 레벨의 경우에는 시간적으로 앞선 프레임부터 늦은 프레임 순서를 갖는다. 상기 시간적 중복 제거하는 과정은 GOP 단위로 수행되는데, GOP 내의 가장 높은 시간적 레벨을 갖는 프레임을 I 프레임으로 코딩하고, 상기 한정된 시간적 레벨을 갖는 순서대로 각 프레임들에 대한 시간적 중복을 제거하되 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임들은 자신보다 시간적 레벨이 높거나 자신과 동일한 시간적 레벨을 갖는 프레임들 중에서 자신보다 프레임 인덱스가 작은 하나 또는 그 이상의 프레임들이다. 바람직하게는, 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임(들)은 자신보다 시간적 레벨이 높은 하나 또는 그 이상의 프레임들 중에서 프레임 인덱스 차이가 가장 작은 하나 또는 두 프레임들이다.
바람직하게는, 상기 GOP 내의 가장 높은 시간적 레벨을 갖는 프레임은 가장 작은 프레임 인덱스를 갖는 프레임이다.
상기 시간적 중복을 제거하는 과정에서 각 프레임들이 참조하는 하나 또는 그 이상의 참조 프레임들에는 자신을 포함하며, 상기 시간적 중복을 제거하는 과정에서 상기 필터링 중인 프레임이 자신을 참조하는 부분들의 비율이 일정한 값을 넘는 경우에 상기 필터링 중인 프레임을 I 프레임으로 코딩하는 것이 바람직하다.
상기 시간적 중복을 제거하는 과정에서 각 프레임들이 참조하는 참조 프레임들에는 다음 GOP에 속하는 자신보다 시간적 레벨이 높고 시간적 거리가 D 이내에 있는 하나 또는 그 이상의 프레임들을 더 포함하는 것이 바람직하다.
상기 목적을 달성하기 위하여, 본 발명에 따른 비디오 인코더는 복수의 프레임들을 입력받아 한정된 시간적 레벨 순서로 프레임들의 시간적 중복을 제거하는 시간적 변환부와, 상기 프레임들에 대한 공간적 중복을 제거하는 공간적 변환부와, 상기 시간적 및 공간적 중복을 제거하는 과정에서 얻어지는 변환계수들을 양자화하는 양자화부, 및 상기 양자화된 변환계수들을 이용하여 비트스트림을 생성하는 비트스트림 생성부를 포함한다.
상기 시간적 변환부는 상기 공간적 변환부에 앞서 시간적 중복을 제거한 프레임들을 상기 공간적 변환부에 전달하고, 상기 공간적 변환부는 시간적 중복이 제거된 프레임들로부터 공간적 중복을 제거하여 변환계수들을 얻을 수 있다. 이 때, 상기 공간적 변환부는 웨이브렛 변환을 통해 공간적 중복을 제거하는 것이 바람직하다.
상기 공간적 변환부는 상기 시간적 변환부에 앞서 웨이브렛 변환을 통해 공간적 중복을 제거한 프레임들을 상기 시간적 변환부에 전달하고, 상기 시간적 변환부는 공간적 중복이 제거된 프레임들로부터 시간적 중복을 제거하여 변환계수들을 얻을 수 있다.
상기 시간적 변환부는 입력받은 복수의 프레임들로부터 움직임 벡터를 구하는 움직임 추정부와, 상기 움직임 벡터를 이용하여 상기 입력받은 복수의 프레임들에 대하여 소정의 한정된 시간적 레벨 순서로 시간적 필터링을 하는 시간적 필터링부, 및 상기 한정된 시간적 레벨 순서를 결정하는 모드 선택부를 포함한다. 상기 모드 선택부는 상기 한정된 시간적 레벨 순서를 GOP 사이즈의 주기함수로 결정한다.
상기 모드 선택부는 상기 한정된 시간적 레벨 순서를 시간적 레벨이 높은 프레임부터 시간적 레벨이 낮은 프레임으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 프레임부터 프레임 인덱스가 큰 프레임 순서로 결정하는 것이 바람직하다. 또한, 바람직하게는, 상기 모드 선택부가 결정하는 상기 한정된 시간적 레벨 순서는 GOP 사이즈를 주기로 반복된다.
바람직하게는, 상기 모드 선택부는 상기 한정된 시간적 레벨 순서를 지연시간 제어 파라미터(D)를 참조하여 결정하는 데, 이 경우 상기 결정되는 시간적 레벨 순서는 시간적 중복이 제거되지 않은 가장 낮은 레벨의 프레임의 인덱스보다 D 초과되지 않는의 인덱스를 갖는 프레임들 중에서 가장 높은 시간적 레벨을 갖는 첫 프레임부터 시작해서 시간적 레벨이 낮은 프레임 순서으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 프레임부터 프레임 인덱스가 큰 프레임 순서이다.
상기 시간적 필터링부는 상기 모드 선택부에 의해 선택된 한정된 시간적 레벨 순서에 따라 GOP 단위로 시간적 중복을 제거하는데, GOP 내의 가장 높은 시간적 레벨을 갖는 프레임을 I 프레임으로 코딩한 후 각 프레임들의 시간적 중복을 제거할 때 상기 시간적 필터링부는 현재 필터링 중인 프레임보다 시간적 레벨이 높거나 현재 필터링 중인 프레임과 동일한 시간적 레벨을 갖는 프레임들 중에서 현재 필터링 중인 프레임보다 시간적으로 앞선 하나 또는 그 이상의 프레임들을 참조하여 시간적 중복을 제거할 수 있다. 바람직하게는, 상기 시간적 필터링부는 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임(들)은 현재 필터링 중인 프레임보다 시간적 레벨이 높은 하나 또는 그 이상의 프레임들 중에서 현재 필터링 중인 프레임과 인덱스 차이가 가장 작은 하나 또는 두 프레임들이다.
바람직하게는, 상기 GOP 내의 가장 높은 시간적 레벨을 갖는 프레임은 가장 작은 프레임 인덱스를 갖는 프레임이다.
상기 시간적 필터링부는 현재 필터링 중인 프레임에 대한 시간적 중복을 제거할 때 참조하는 참조하는 프레임들 중에는 상기 현재 필터링 중인 프레임을 더 포함할 수 있는데, 이 때 상기 시간적 필터링부는 상기 현재 필터링 중인 프레임이 자신을 참조하는 부분들의 비율이 일정한 값을 넘는 경우에 상기 필터링 중인 프레임을 I 프레임으로 코딩하는 것이 바람직하다.
상기 비트스트림 생성부는 상기 한정된 시간적 레벨 순서에 대한 정보를 포함하여 상기 비트스트림을 생성하고, 상기 비트스트림 생성부는 상기 변환계수들을 얻기 위한 시간적 중복을 제거하는 과정과 공간적 중복을 제거하는 과정의 순서(중복제거 순서)에 대한 정보를 더 포함하여 상기 비트스트림을 생성할 수 있다.
상기 목적을 달성하기 위하여, 본 발명에 따른 비디오 디코딩 방법은 비트스트림을 입력받아 이를 해석하여 코딩된 프레임들에 대한 정보를 추출하는 (a) 단계와, 상기 코딩된 프레임들에 대한 정보를 역양자화하여 변환계수들을 얻는 (b) 단계, 및 상기 코딩된 프레임들의 중복제거 순서의 역순서로 상기 변환계수들을 역공간적 변환 및 한정된 시간적 레벨 순서로 역시간적 변환하여 프레임들을 복원하는 (c) 단계를 포함한다.
상기 (c) 단계는 상기 변환계수들로 만든 프레임들을 상기 한정된 시간적 레벨 순서로 역시간적 변환하고 나서 역웨이브렛 변환하여 프레임들을 할 수 있다.
또한, 상기 (c) 단계는 상기 변환계수들을 역공간적 변환하고 나서 상기 한정된 시간적 레벨 순서로 역시간적 변환하여 프레임들을 복원할 수 있는데, 상기 역공간적 변환은 역웨이브렛 변환방식인 것이 바람직하다.
상기 한정된 시간적 레벨 순서는 시간적 레벨이 높은 프레임부터 시간적 레벨이 낮은 한정된 시간적 레벨 순서이고 동일한 시간적 레벨에서는 프레임 인덱스가 작은 프레임에서 프레임 인덱스가 큰 프레임 순서인 것이 바람직하다. 상기 한정된 시간적 레벨 순서는 GOP 사이즈를 주기로 반복된다. 상기 역시간적 변환과정은 GOP의 가장 시간적 레벨이 높은 코딩된 프레임부터 시작하여 상기 한정된 시간적 레벨 순서로 상기 코딩된 프레임들을 역시간적 필터링한다.
상기 한정된 시간적 레벨 순서는 상기 입력받은 비트스트림으로부터 코딩 모드에 대한 정보를 추출하고 상기 코딩 모드에 대한 정보에 따라 결정하는데, 상기 한정된 시간적 레벨 순서는 동일 코딩 모드에서 GOP 사이즈를 주기로 반복되는 것이 바람직하다.
바람직하게는, 상기 코딩 모드에 대한 정보는 지연시간 제어 파라미터(D)를 포함하고 있으며, 상기 결정되는 한정된 시간적 레벨 순서는 역시간적 변환되지 않은 가장 낮은 레벨의 코딩된 프레임의 인덱스보다 D 초과되지 않는 인덱스를 갖는 코딩된 프레임들 중에서 가장 높은 시간적 레벨을 갖는 코딩된 프레임부터 시작해서 시간적 레벨이 낮은 프레임 순서으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 코딩된 프레임부터 프레임 인덱스가 큰 코딩된 프레임 순서이다.
상기 중복제거 순서는 상기 입력받은 비트스트림으로부터 추출할 수 있다.
상기 목적을 달성하기 위하여, 본 발명에 따른 비디오 디코더는 입력받은 비트스트림을 해석하여 코딩된 프레임들에 대한 정보를 추출하는 비트스트림 해석부와, 상기 코딩된 프레임들에 대한 정보를 역양자화하여 변환계수들을 얻는 역양자화부와, 역공간적 변환과정을 수행하는 역공간적 변환부, 및 한정된 시간적 레벨 순서로 역시간적 변환과정을 수행하는 역시간적 변환부를 포함하여, 중복제거 순서의 역순서에 따라 상기 변환계수들에 대한 역공간적 변환과정과 역시간적 변환과정을 하여 프레임들을 복원한다.
상기 중복제거 순서의 역순서는 역시간적 변환과정에서 역공간적 변환과정이며, 상기 역공간적 변환부는 역웨이브렛 변환방식으로 역공간적 변환작업을 수행할 수 있다.
상기 중복제거 순서의 역순서는 역공간적 변환과정에서 역시간적 변환일 수 있으며, 상기 역공간적 변환부는 역웨이브렛 변환방식으로 역공간적 변환작업을 수행하는 것이 바람직하다.
바람직하게는, 상기 한정된 시간적 레벨 순서는 시간적 레벨이 높은 코딩된 프레임부터 시간적 레벨이 낮은 코딩된 프레임 순서를 갖는다. 상기 한정된 시간적 레벨 순서는 GOP 사이즈를 주기로 반복된다.
상기 역 시간적 변환부는 GOP 단위로 역시간적 변환과정을 수행하는데, GOP의 가장 시간적 레벨이 높은 코딩된 프레임부터 시작하여 상기 한정된 시간적 레벨 순서로 상기 코딩된 프레임들을 역시간적 필터링할 수 있다.
상기 비트스트림 해석부는 상기 입력받은 비트스트림으로부터 코딩 모드에 대한 정보를 추출하고 상기 코딩 모드에 대한 정보에 따라 상기 한정된 시간적 레벨 순서를 결정하며, 상기 한정된 시간적 레벨 순서는 동일 코딩 모드에서 GOP 사이즈를 주기로 반복된다.
상기 코딩 모드에 대한 정보는 지연시간 제어 파라미터(D)를 포함하고 있으며, 상기 결정되는 한정된 시간적 레벨 순서는 역시간적 변환되지 않은 가장 낮은 레벨의 코딩된 프레임의 인덱스보다 D 초과되지 않는 인덱스를 갖는 코딩된 프레임들 중에서 가장 높은 시간적 레벨을 갖는 코딩된 프레임부터 시작해서 시간적 레벨이 낮은 프레임 순서으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 코딩된 프레임부터 프레임 인덱스가 큰 코딩된 프레임 순서일 수 있다.
상기 중복제거 순서는 상기 입력받은 비트스트림으로부터 추출할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 스케일러블 비디오 인코더의 구성을 보여주는 기능성 블록도이다.
스케일러블 비디오 인코더는 비디오 시퀀스를 구성하는 복수의 프레임들을 입력받아 이를 압축하여 비트스트림을 생성한다. 이를 위하여, 스케일러블 비디오 인코더는 복수의 프레임들의 시간적 중복을 제거하는 시간적 변환부(10)와 공간적 중복을 제거하는 공간적 변환부(20)와 시간적 및 공간적 중복이 제거되어 생성된 변환계수들을 양자화하는 양자화부(30), 및 양자화된 변환계수들과 기타 정보를 포함하여 비트스트림을 생성하는 비트스트림 생성부(40)를 포함한다.
시간적 변환부(10)는 프레임간 움직임을 보상하여 시간적 필터링을 하기 위하여 움직임 추정부(12)와 시간적 필터링부(14) 및 모드 선택부(16)를 포함한다.
먼저 움직임 추정부(12)는 시간적 필터링 과정이 수행 중인 프레임의 각 매크로블록과 이에 대응되는 참조 프레임(들)의 각 매크로블록과의 움직임 벡터들을 구한다. 움직임 벡터들에 대한 정보는 시간적 필터링부(14)에 제공되고, 시간적 필터링부(14)는 움직임 벡터들에 대한 정보를 이용하여 복수의 프레임들에 대한 시간적 필터링을 수행한다. 본 실시예에서 시간적 필터링은 GOP 단위로 수행된다.
한편, 모드 선택부(16)는 시간적 필터링의 순서를 정한다. 본 실시예에서 시간적 필터링은 기본적으로 GOP 내에서 높은 시간적 레벨을 갖는 프레임부터 낮은 시간적 레벨을 갖는 프레임 순서로 진행되며, 동일한 시간적 레벨을 갖는 프레임들의 경우에는 작은 프레임 인덱스를 갖는 프레임부터 큰 프레임 인덱스를 갖는 프레임 순으로 진행된다. 프레임 인덱스는 GOP를 구성하는 프레임들의 시간적 순서를 알려주는 인덱스로서 하나의 GOP를 구성하는 프레임들의 개수가 n일 경우에 프레임 인덱스는 시간적으로 가장 앞선 프레임을 0으로 하여 순서대로 시간적 순서가 마지막인 프레임은 n-1의 인덱스를 갖는다.
본 실시예에서 GOP를 구성하는 프레임들 중에서 가장 높은 시간적 레벨을 갖는 프레임은 프레임 인덱스가 가장 작은 프레임을 사용하는데, 이는 예시적인 것으로서 GOP 내의 다른 프레임을 가장 시간적 레벨이 높은 프레임으로 선택하는 것도 본 발명의 기술적 사상에 포함되는 것으로 해석하여야 한다.
한편, 모드 선택부(16)는 비디오 코딩 과정에서 발생하는 지연시간(end-to-end delay)을 줄이기 위하여 지연시간 한정 모드(Delay Constrained Mode)로 코딩을 수행할 수 있다. 이러한 경우에 모드 선택부(16)는 지연시간 제어 파라미터(End-To-End Delay Control Parameter) D 값에 따라 시간적 필터링 순서를 앞서 설명한 시간적 레벨 순서가 높은 프레임부터 낮은 프레임으로 하는 시간적 필터링 순서를 한정할 수 있다. 이 밖에서 모드 선택부(16)는 인코딩 과정에서 연산능력의 한계 등을 고려하여 시간적 필터링의 순서를 변경하거나 일부 프레임을 생략한 체 시간적 필터링을 수행할 수도 있다. 이하, 상세한 설명에서 "제한된 시간적 레벨 순서(Constrained Temporal Level Sequence)"라는 용어는 이러한 모든 요소를 고려한 시간적 필터링의 순서를 의미하는 용어로 사용하는데, 한정된 시간적 레벨 순서는 가장 높은 시간적 레벨의 프레임에서 시간적 필터링이 시작된다는 특징을 갖는다.
시간적 중복이 제거된 프레임들, 즉, 시간적 필터링된 프레임들은 공간적 변환부(20)를 거쳐 공간적 중복이 제거된다. 공간적 변환부(20)는 공간적 변환을 이용하여 시간적 필터링된 프레임들의 공간적 중복을 제거하는데, 본 실시예에서는 웨이브렛 변환을 사용한다. 현재 알려진 웨이브렛 변환은 하나의 프레임을 4등분하고, 전체 이미지와 거의 유사한 1/4 면적을 갖는 축소된 이미지(L 이미지)를 상기 프레임의 한쪽 사분면에 대체하고 나머지 3개의 사분면에는 L 이미지를 통해 전체 이미지를 복원할 수 있도록 하는 정보(H 이미지)로 대체한다. 마찬가지 방식으로 L 프레임은 또 1/4 면적을 갖는 LL 이미지와 L 이미지를 복원하기 위한 정보들로 대체될 수 있다. 이러한 웨이브렛 방식을 사용하는 이미지 압축법은 JPEG2000이라는 압축방식에 적용되고 있다. 웨이브렛 변환을 통해 프레임들의 공간적 중복을 제거할 수 있고, 또 웨이브렛 변환은 DCT 변환과는 달리 원래의 이미지 정보가 변환된 이미지에 축소된 형태로 저정되어 있으므로 축소된 이미지를 이용하여 공간적 스케일러빌리티를 갖는 비디오 코딩을 가능하게 한다. 그러나 웨이브렛 변환방식은 예시적인 것으로서 공간적 스케일러빌리티를 달성하지 않아도 되는 경우라면 기존에 MPEG-2와 같은 동영상 압축방식에 널리 사용되는 DCT 방법을 사용할 수도 있다.
시간적 필터링된 프레임들은 공간적 변환을 거쳐 변환계수들이 되는데, 이는 양자화부(30)에 전달되어 양자화된다. 양자화부(30)는 실수형 계수들인 변환계수들을 양자화하여 정수형 변환계수들로 바꾼다. 즉, 양자화를 통해 이미지 데이터를 표현하기 위한 비트량을 줄일 수 있는데, 본 실시예에서는 임베디드 양자화 방식을 통해 변환계수들에 대한 양자화 과정을 수행한다. 임베디드 양자화 방식을 통해 변환계수들에 대한 양자화를 수행함으로써 양자화에 의해 필요한 정보량을 줄일 수 있고, 임베디드 양자화에 의해 SNR 스케일러빌리티를 얻을 수 있다. 임베디드라는 말은 코딩된 비트스트림이 양자화를 포함한다는 의미를 지칭하는데 사용된다. 다시 말하면, 압축된 데이터는 시각적으로 중요한 순서대로 생성되거나 시각적 중요도로 표시된다(tagged by visual importance). 실제 양자화(또는 시각적 중요도) 레벨은 디코더나 전송 채널에서 기능을 할 수 있다. 만일 전송 대역폭, 저장용량, 디스플레이 리소스가 허락된다면, 이미지는 손실없이 복원될 수 있다. 그러나 그렇지 않은 경우라면 이미지는 가장 제한된 리소스에 요구되는 만큼만 양자화된다. 현재 알려진 임베디드 양자화 알고리즘은 EZW, SPIHT, EZBC, EBCOT 등이 있으며, 본 실시예에서는 알려진 알고리즘 중 어느 알고리즘을 사용해도 무방하다.
비트스트림 생성부(40)는 코딩된 이미지 정보와 움직임 추정부(12)에서 얻은 움직임 벡터에 관한 정보 등을 포함하여 헤더를 붙여서 비트스트림을 생성한다. 본 실시예에서는 한정된 시간적 레벨 순서에 대한 정보를 비트스트림과 포함시키는데, 지연시간 파라과터 등을 비트스트림 정보에 넣는다.
한편, 공간적 중복을 제거할 때 웨이브렛 변환을 사용하는 경우에 원래 변환된 프레임에 원래 이미지에 대한 형태가 남아 있는데, 이에 따라 DCT 기반의 동영상 코딩 방법과는 달리 공간적 변환을 거쳐 시간적 변환을 한 후에 양자화하여 비트스트림을 생성할 수도 있다. 이에 대한 다른 실시예는 도 3을 통해 설명한다.
도 3은 본 발명의 다른 실시예에 따른 스케일러블 비디오 인코더의 구성을 보여주는 기능성 블록도이다.
본 실시예에 따른 스케일러블 비디오 인코더는 비디오 시퀀스를 구성하는 복수의 프레임들에 대한 공간적 중복을 제거하는 공간적 변환부(60)와 시간적 중복을 제거하는 시간적 변환부(70)와 프레임들에 대한 공간적 및 시간적 중복이 제거하여 얻은 변환계수들을 양자화하는 양자화부(80) 및 코딩된 이미지 정보와 기타 정보를 포함하여 비트스트림을 생성하는 비트스트림 생성부(90)를 포함한다.
변환계수라는 용어와 관련하여, 종래에는 동영상 압축에서 시간적 필터링을 한 후에 공간적 변환을 하는 방식이 주로 이용되었기 때문에 변환계수라는 용어는 주로 공간적 변환에 의해 생성되는 값을 지칭하였다. 즉, 변환계수는 DCT 변환에 의해 생성된 경우에 DCT 계수라는 용어로 사용되기도 했으며, 웨이브렛 변환에 의해 생성된 경우에 웨이브렛 계수라는 용어로 사용되기도 했다. 본 발명에서 변환계수는 프레임들에 대한 공간적 및 시간적 중복을 제거하여 생성된 값으로서 양자화(임베디드 양자화) 되기 이전의 값을 의미한다. 즉, 도 2의 실시예에서는 종전과 마찬가지로 변환계수는 공간적 변환을 거쳐서 생성된 계수를 의미하나, 도 3의 실시예에서 변환계수는 시간적 변환을 거쳐서 생성된 계수를 의미할 수 있다는 점을 유의해야 한다.
먼저 공간적 변환부(60)는 비디오 시퀀스를 구성하는 복수의 프레임들의 공간적 중복을 제거한다. 이 경우에 공간적 변환부는 웨이브렛 변환을 사용하여 프레임들의 공간적 중복을 제거한다. 공간적 중복이 제거된 프레임들, 즉, 공간적 변환된 프레임들은 시간적 변환부(70)에 전달된다.
시간적 변환부(70)는 공간적 변환된 프레임들에 대한 시간적 중복을 제거하는데, 이를 위하여 움직임 추정부(72)와 시간적 필터링부(74)와 모드 선택부(76)를 포함한다. 본 실시예에서 시간적 변환부(70)의 동작은 도 2의 실시예와 같은 방식으로 동작되지만 다른 점은 도 2의 실시예와는 달리 입력받는 프레임들은 공간적 변환된 프레임들이라는 점이다. 또한, 시간적 변환부(70)는 공간적 변환된 프레임들에 대하여 시간적 중복을 제거한 뒤에 양자화를 위한 변환 계수들을 만든다는 점도 다른 점이라고 할 수 있다.
양자화부(80)는 변환 계수들을 양자화하여 양자화된 이미지 정보(코딩된 이미지 정보)를 만들고, 이를 비트스트림 생성부(40)에 제공한다. 양자화는 도 2의 실시예와 마찬가지로 임베디드 양자화를 하여 최종적으로 생성될 비트스트림에 대한 SNR 스케일러빌리티를 얻는다.
비트스트림 생성부(90)는 코딩된 이미지 정보와 움직임 벡터에 관한 정보 등을 포함하고 헤더를 붙여 비트스트림을 생성한다. 이 때에도 도 2의 실시예와 마찬가지로 지연시간 제어 파라미터와 시간적 레벨 순서에 대한 정보를 포함시킬 수 잇다.
한편, 도 2의 비트스트림 생성부(40)와 도 3의 비트스트림 생성부(90)는 도 2의 실시예에 따라 비디오 시퀀스를 코딩하였는지 도 3의 실시예에 따라 비디오 시퀀스를 코딩하였는지 디코딩측에서 알 수 있도록 비트스트림에 시간적 중복과 공간적 중복을 제거한 순서에 대한 정보(이하, 중복제거 순서라 함)를 포함할 수 있다. 중복제거 순서를 비트스트림에 포함하는 방식은 여러가지 방식이 가능하다. 어느 한 방식을 기본으로 정하고 다른 방식은 별도로 비트스트림에 표시할 수도 있다. 예를 들면, 도 2의 방식이 기본적인 방식인 경우에 도 2의 스케일러블 비디오 인코더에서 생성된 비트스트림에는 중복제거 순서에 대한 정보를 표시하지 않고, 도 3의 스케일러블 비디오 인코더에 의해 생성된 비트스트림의 경우에만 중복제거 순서를 포함시킬 수 있다. 반면에 중복제거 순서에 대한 정보를 도 2의 방식에 의한 경우나 도 3의 방식에 의한 경우 모두에 표시할 수도 있다.
도 2의 실시예에 따른 스케일러블 비디오 인코더와 도 3의 실시예에 따른 스케일러블 비디오 인코더의 기능을 모두 갖는 스케일러블 비디오 인코더를 구현하고, 비디오 시퀀스를 도 2의 방식과 도 3의 방식으로 코딩하고 비교하여 효율이 좋은 코딩에 의한 비트스트림을 생성할 수도 있다. 이러한 경우에는 비트스트림에 중복제거 순서를 포함시켜야 한다. 이 때 중복제거 순서는 비디오 시퀀스 단위로 결정할 수도 있고, GOP 단위로 결정할 수도 있다. 전자의 경우에는 비디오 시퀀스 헤더에 중복제거 순서를 포함해야 하고, 후자의 경우에는 GOP 헤더에 중복제거 순서를 포함해야 한다.
상기 도 2 및 도 3의 실시예들은 모두 하드웨어로 구현될 수도 있으나, 소프트웨어 모듈과 이를 실행시킬 수 있는 컴퓨팅 능력을 갖는 장치로도 구현할 수 있음을 유의해야 한다.
도 4는 본 발명의 일 실시예에 따른 스케일러블 비디오 디코더의 구성을 보여주는 기능성 블록도이다.
스케일러블 비디오 디코더는 입력되는 비트스트림을 해석하여 비트스트림에 포함된 각 구성부분을 추출하는 비트스트림 해석부(100)와 도 2의 실시예에 따라 코딩된 이미지를 복원하는 제1 디코딩부(200)와 도 3의 실시예에 따라 코딩된 이미지를 복원하는 제2 디코딩부(300)를 포함한다.
상기 제1 및 제2 디코딩부는 하드웨어로 구현될 수도 있고, 소프트웨어 모듈로 구현될 수도 있다. 또한 하드웨어 혹은 소프트웨어 모듈로 구현 될 때는 도 4와 같이 별도로 구현될 수도 있으나, 통합되어 구현될 수도 있다. 통합되어 구현된 경우에, 제1 및 제2 디코딩부는 비트스트림 해석부(100)에서 얻은 중복제거 순서에 따라 역중복제거 과정의 순서만 달리한다.
한편, 스케일러블 비디오 디코더는 도 4와 같이 서로 다른 중복제거 순서에 따라 코딩된 이미지를 모두 복원할 수 있도록 구현될 수도 있지만, 어느 한가지 중복제거 순서에 따라 코딩된 이미지만을 복원하도록 구현할 수도 있음을 유의해야 한다.
먼저 비트스트림 해석부(100)는 입력된 비트스트림을 해석하여 코딩된 이미지 정보(코딩된 프레임들)을 추출하고 중복제거 순서를 결정한다. 중복제거 순서가 제1 디코딩부(200)에 해당하는 경우라면 제1 디코딩부(200)를 통해 비디오 시퀀스를 복원하고, 중복제거 순서가 제2 디코딩부(300)에 해당하는 경우라면 제2 디코딩부(300)를 통해 비디오 시퀀스를 복원한다. 또한, 비트스트림 해석부(100)는 비트스트림을 해석하여 시간적 중복을 할 때 프레임들의 시간적 필터링하는 순서인 한정된 시간적 레벨 순서를 알 수 있는데, 본 실시예에서는 코딩 모드를 결정하는 지연시간 제어 파라미터 값을 통해 한정된 시간적 레벨 순서를 알아낸다. 코딩된 이미지 정보로부터 비디오 시퀀스를 복원하는 과정에 대해서는 중복제거 순서가 제1 디코딩부(200)에 해당하는 경우를 먼저 설명하고, 그리고 나서 중복제거 순서가 제2 디코딩부(300)에 해당하는 경우를 설명한다.
제1 디코딩부(200)에 입력된 코딩된 프레임들에 대한 정보는 역양자화부(210)에 의해 역양자화되어 변환계수들로 바뀐다. 변환계수들은 역공간적 변환부(220)에 의해 역공간적 변환된다. 역공간적 변환은 코딩된 프레임들의 공간적 변환과 관련되는데 공간적 변환 방식으로 웨이브렛 변환이 사용된 경우에 역공간적 변환은 역웨이브렛 변환을 수행하며, 공간적 변환 방식이 DCT 변환인 경우에는 역DCT 변환을 수행한다. 역공간적 변환을 거쳐 변환계수들은 시간적 필터링된 I 프레임들과 H 프레임들로 변환되는데, 역시간적 변환부(230)는 한정된 시간적 레벨 순서로 역시간적 변환하여 비디오 시퀀스를 구성하는 프레임들을 복원한다. 한정된 시간적 레벨 순서는 비트스트림 해석부(100)에서 입력받은 비트스트림을 해석하여 알 수 있다. 역시간적 변환을 위하여 역시간적 필터링부(230)는 비트스트림을 해석하여 얻은 모션벡터들을 이용한다.
제2 디코딩부(300)에 입력된 코딩된 프레임들에 대한 정보는 역양자화부(310)에 의해 역양자화되어 변환계수들로 바뀐다. 변환계수들은 역시간적 변환부(320)에 의해 역시간적 변환된다. 역시간적 변환을 위한 모션벡터들과 한정된 시간적 레벨 순서는 비트스트림 해석부(100)가 비트스트림을 해석하여 얻은 정보들로부터 얻을 수 있다. 역시간적 변환을 거친 코딩된 이미지 정보들은 공간적 변환을 거친 프레임 상태로 변환된다. 공간적 변환을 거친 상태의 프레임들은 역공간적 변환부(330)에서 역공간적 변환되어 비디오 시퀀스를 구성하는 프레임들로 복원된다. 역공간적 변환부(330)에서 사용되는 역공간적 변환은 역웨이브렛 변환 방식이다.
이하에서는 시간적 스케일러빌리티를 최대한 유지하면서 지연시간을 제어할 수 있도록 하기 위하여 한정된 시간적 레벨 순서로 시간적 변환을 하는 과정에 대해 보다 상세히 설명한다.
본 발명은 계승적 시간적 근사 및 참조(Successive Temporal Approximation and Referencing; 이하, STAR라 함) 알고리즘을 통해 시간적 스케일러빌리티를 인코딩측과 디코딩측에서 모두 갖도록 할 수 있으며, 손쉽게 지연시간 문제를 제어할 수 있다.
도 5는 STAR(Successive Temporal Approximation and Referencing) 알고리즘의 기본적 개념을 설명하기 위한 도면이다.
STAR 알고리즘의 기본적인 개념은 다음과 같다. 각 시간적 레벨의 모든 프레임들은 노드로서 표현된다. 그리고 참조 관계는 화살표로 표시된다. 각 시간적 레벨에는 필요한 프레임들만 위치할 수 있다. 예를 들면 가장 높은 시간적 레벨에서 GOP의 프레임들 중에서 단 하나의 프레임만 올 수 있다. 본 실시예에서는 F(0) 프레임이 가장 높은 시간적 레벨을 갖도록 한다. 다음 시간적 레벨에서, 시간적 분석이 계승적으로 수행되고 이미 코딩된 프레임 인덱스를 갖는 원래 프레임들에 의해 고주파 성분을 갖는 에러 프레임들이 예측된다. GOP 사이즈가 8인 경우에 0번 프레임을 가장 높은 시간적 레벨에서 I 프레임으로 코딩하고, 4번 프레임은 다음 시간적 레벨에서 0번 프레임의 원래 프레임을 사용하여 인터프레임(H 프레임)으로 코딩한다. 그리고 나서, 2번과 6번 프레임들을 0번과 4번의 원래 프레임들을 사용하여 인터프레임으로 코딩한다. 마지막으로 1, 3, 5, 7 프레임들을 0, 2, 4, 6번 프레임들을 이용하여 인터프레임으로 코딩한다.
디코딩 과정은 0번 프레임을 먼저 디코딩한다. 그리고 나서 0번을 참조하여 4번 프레임을 디코딩한다. 마찬가지 방식으로 0번과 4번 프레임들을 참조하여 2번과 6번 프레임들을 디코딩한다. 마지막으로 1, 3, 5, 7 프레임들을 0, 2, 4, 6번 프레임들을 이용하여 디코딩한다.
도 5에 도시된 바와 같이 인코딩측과 디코딩측 모드 동일한 시간적 처리과정을 갖는다. 이러한 특성은 인코딩측에 시간적 스케일러빌리티를 제공할 수 있다. 즉, 인코딩측에서는 어떤 시간적 레벨에서나 멈추어도 디코딩측에서는 해당 시간적 레벨까지 디코딩할 수 있다. 즉, 시간적 레벨이 높은 프레임부터 코딩을 하기 때문에 인코딩측에서도 시간적 스케일러빌리티를 달성할 수 있게 되는 것이다. 예를 들면, 만일 6번 프레임까지 코딩이 끝난 상태에서 코딩과정을 멈춘다면 디코딩측은 코딩된 0번 프레임을 참조하여 4번 프레임을 복원하고, 4번 프레임을 참조하여 2번과 6번 프레임을 복원할 수 있다. 이러한 경우에 디코딩측에서는 0, 2, 4, 6번 프레임들을 비디오로 출력할 수 있게 된다. 인코딩측의 시간적 스케일러빌리티을 유지하기 위해서는 가장 시간적 레벨이 높은 프레임(본 실시예에서는 F(0))은 다른 프레임들과의 연산을 필요로 하는 L 프레임이 아닌 I 프레임으로 코딩하는 것이 바람직하다.
이를 종전의 방법들과 비교하면 종전의 MCTF 또는 UMCTF 기반의 스케일러블 비디오 코딩 알고리즘이 디코딩측에서 시간적 스케일러빌리티를 가질 수 있지만 인코딩측에서는 시간적 스케일러빌리티를 갖기 곤란하다. 즉, 도 1a와 1b의 경우를 참조하면 디코딩측에서 디코딩과정을 수행하려면 시간적 레벨 3의 L 또는 A 프레임이 있어야 하는데, MCTF와 UMCTF 알고리즘의 경우에는 인코딩 과정이 모두 끝나야 가장 높은 시간적 레벨의 L 또는 A 프레임을 얻을 수 있다. 그렇지만 디코딩과정에서는 어떤 시간적 레벨에서 디코딩과정을 멈출 수 있다.
인코딩측과 디코딩측 모두에서 시간적 스케일러빌리티를 유지하기 위한 조건에 대해 살펴본다.
F(k)는 프레임 인덱스가 k인 프레임을 의미하고 T(k)는 프레임 인덱스가 k인 프레임의 시간적 레벨을 의미한다고 하자. 시간적 스케일러빌리티가 성립되려면 어떤 시간적 레벨의 프레임을 코딩할 때 그 보다 낮은 시간적 레벨을 갖는 프레임을 참조하면 안된다. 예를 들면, 4번 프레임이 2번 프레임을 참조하면 안되는데, 만일 참조하는 것이 허용된다면 0번 및 4번 프레임에서 인코딩을 멈출 수가 없게 된다(즉, 2번 프레임을 코딩해야 4번 프레임을 코딩할 수 있게 된다). 프레임 F(k)가 참조할 수 있는 참조 프레임들의 집합 Rk는 수학식 1에 의해 정해진다.
여기서, l은 프레임 인덱스를 의미한다.
한편, (T(l)=T(k))and (l<=k)이 의미하는 바는 프레임 F(k)는 시간적 필터링 과정에서 자신을 참조하여 시간적 필터링을 하는 것(인트라 모드)을 의미하는데, 이에 대해서는 후술한다.
STAR 알고리즘을 이용한 인코딩과 디코딩 과정을 정리하면 다음과 같다.
인코딩과정
GOP의 첫 프레임을 I 프레임으로 인코딩한다.
그리고 나서 다음 시간적 레벨의 프레임들에 대해서, 모션추정을 하고 수학식 1에 따른 참조 프레임들을 참조하여 코딩한다. 같은 시간적 레벨을 갖는 경우에는 왼쪽부터 오른쪽으로(낮은 프레임 인덱스의 프레임부터 높은 프레임 인덱스의 프레임 순으로) 코딩과정을 수행한다.
GOP의 모든 프레임들을 다 코딩할 때 까지 2의 과정을 수행하고 나서, 모든 프레임들에 대한 코딩이 끝날 때까지 그 다음 GOP를 코딩한다.
디코딩 과정
GOP의 첫 번째 프레임을 디코딩한다.
다음 시간적 레벨의 프레임들을 이미 디코딩된 프레임들 중에서 적당한 프레임들을 참조하여 디코딩한다. 같은 시간적 레벨을 갖는 경우에는 왼쪽부터 오른쪽으로(낮은 프레임 인덱스의 프레임부터 높은 프레임 인덱스의 프레임 순으로) 디코딩과정을 수행한다.
GOP의 모든 프레임들을 다 디코딩할 때까지 2의 과정을 수행하고 나서, 모든 프레임들에 대한 디코딩이 끝날 때까지 그 다음 GOP를 디코딩한다.
도 5에서, 프레임의 내부에 표시된 문자 I는 프레임이 인트라 코딩되었음(다른 프레임을 참조하지 않음)을 표시하고, 문자 H는 해당 프레임이 고주파 서브밴드인 것을 표시한다. 고주파 서브밴드는 하나 또는 그 이상의 프레임을 참조하여 코딩되는 프레임을 의미한다.
한편, 도 5에서 GOP의 사이즈가 8인 경우에 프레임의 시간적 레벨은 0, 4, (2, 6), (1, 3, 5, 7) 순으로 하였으나 이는 예시적인 것으로서, 1, 5, (3, 7), (0, 2, 4, 6)인 경우도 인코딩측과 디코딩측의 시간적 스케일러빌리티는 전혀 문제가 없다. 마찬가지로 시간적 레벨의 순서가 2, 6, (0, 4), (1, 3, 5, 7)인 경우도 가능하다. 즉, 인코딩측과 디코딩측의 시간적 스케일러빌리티를 만족시키도록 시간적 레벨에 위치하는 프레임은 어떤 인덱스를 프레임이 되어도 무방한다.
그렇지만, 0, 5, (2, 6), (1, 3, 4, 7)의 시간적 레벨 순서를 갖도록 구현한 경우에 인코딩측과 디코딩측의 시간적 스케일러빌리티는 만족할 수 있지만, 이러한 경우에는 프레임간의 간격이 들쭉날쭉해지므로 그리 바람직하지는 않다.
도 6을 참조하여 시간적 필터링을 위한 프레임들간의 가능한 연결의 예를 살펴본다.
도 6은 STAR 알고리즘에서 가능한 프레임들간의 연결들을 보여주는 도면이다.
수학식 1을 참조하면, 프레임 F(k)는 많은 프레임들을 참조할 수 있는 것을 알 수 있다. 이러한 특성은 STAR 알고리즘이 많은 참조 프레임들을 사용 가능하도록 한다. 본 실시예에서 GOP의 사이즈는 8인 경우에 가능한 프레임들간의 연결들을 보여주고 있다. 어떤 프레임에서 자신에서 출발해서 자신으로 연결한 화살표는 인트라 모드에 의해 예측된 것을 나타낸다. 동일한 시간적 레벨에서 H 프레임 위치에 있는 것을 포함하여 이전에 코딩된 프레임 인덱스를 갖는 모든 원래의 프레임들은 참조 프레임으로 사용될 수 있다. 그러나 종전의 방법들에서 H 프레임의 위치에 있는 원래 프레임들은 같은 레벨에 있는 프레임들 중에서는 A 프레임 또는 L 프레임만을 참조할 수 있으므로, 이 또한 본 실시예와 종전 방법과의 차별점이라고 할 수 있다. 예를 들면, F(5)는 F(3)과 F(1)을 참조할 수 있다.
비록 다중 참조 프레임들을 사용할 때는 시간적 필터링을 위한 메모리 사용량을 증가시키고 프로세싱 지연시간을 증가시키지만, 다중 참조 프레임들을 사용하는 것은 의미가 있다.
앞서 언급하였지만 본 실시예를 포함한 이하의 설명에서 한 GOP 내에서 가장 높은 시간적 레벨을 갖는 프레임은 가장 적은 프레임 인덱스를 갖는 프레임으로 설명하겠으나 이는 예시적인 것으로서 가장 높은 시간적 레벨을 갖는 프레임이 다른 인덱스를 갖는 프레임인 경우에도 가능한 점을 유의하야 한다.
편의상 어떤 프레임을 코딩하기 위한 참조 프레임들의 수를 양방향 예측을 위한 2개로 한정하여 설명하며, 실험 결과에서 단방향 예측을 위해서는 하나로 한정한다.
도 7은 양방향 예측과 크로스 GOP 최적화를 사용한 STAR 코딩 알고리즘의 경우를 보여주고 있다.
STAR 알고리즘은 다른 GOP의 프레임을 참조하여 프레임을 코딩할 수 있는데, 이를 크로스 GOP 최적화(Cross-GOP Optimization)이라 한다. 이는 UMCTF의 경우에도 이를 지원할 수 있는데, 크로스 GOP 최적화가 가능한 이유는 UMCTF와 STAR 코딩 알고리즘은 시간적 필터링되지 않은 A 또는 I 프레임을 사용하는 구조이기 때문에 가능하다. 도 5와 6의 실시예에서 7번 프레임의 예측 에러는 0번, 4번, 및 6번 프레임의 예측 에러를 더한 값이다. 그러나, 7번 프레임이 다음 GOP의 0번 프레임(현 GOP로 계산하면 8번 프레임)을 참조한다면 이러한 예측 에러의 누적 현상은 확실히 눈에 띄게 줄어들 수 있다. 게다가 다음 GOP의 0번 프레임은 인트라 코딩되는 프레임이기 때문에 7번 프레임의 질은 눈에 띄게 개선될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 비이분적(non-dyadic) 시간적 필터링에서 프레임간 연결을 보여주는 도면이다.
UMCTF 코딩 알고리즘이 A 프레임들을 임의적으로 삽입함으로써 비이분적 시간적 필터링을 지원할 수 있듯이, STAR 알고리즘 또한 그래프 구조를 간단하게 바꿈으로써 비이분적 시간적 필터링을 지원할 수 있다. 본 실시예는 1/3 및 1/6 시간적 필터링을 지원하는 경우를 보여준다. STAR 알고리즘에서는 그래프 구조를 바꿈으로써 쉽게 임의의 비율을 갖는 프레임 레이트를 얻을 수 있다.
STAR 알고리즘의 특성(장점)으로 인코딩측과 디코딩측의 시간적 레벨의 처리 순서가 같다는 점과 다중 참조 프레임들을 지원한다는 점과 크로스 GOP 최적화를 지원한다는 점을 앞서 설명하였다. 이러한 특성들 중 일부는 종전의 방법들에 의해서도 제한적으로 달성될 수 있던 것이지만, 종전의 방법들에 의해서는 지연시간을 제어하기는 쉽지 않다. 종전 방법들에서 지연시간을 줄이는 방법으로는 GOP 사이즈를 줄이는 방법이 있으나 이 경우에 성능은 눈에 띄게 나빠진다. STAR 알고리즘을 사용할 경우에 지연시간 제어 파라미터(D)라는 개념을 도입하여 매우 쉽게 비디오 시퀀스에서 인코딩과 디코딩을 거쳐 다시 비디오 시퀀스로 복원될 때까지의 지연시간(end-to-end delay)를 제어할 수 있다.
도 9 내지 도 12를 참조하여 지연시간을 한정시킨 경우에 STAR 알고리즘에 대해 살펴본다.
지연시간 제어를 위한 수학식 1에 의한 시간적 스케일러빌리티 조건은 약간 수정되야 하는데 이는 수학식 2에 의해 정해진다.
여기서 Rk
D 는 허용되는 지연시간을 D로 한정할 경우에 있어 현재 코딩되는 프레임이 참조할 수 있는 참조 프레임들의 집합을 의미한다. 수학식 2의 의미를 해석하면 시간적 레벨이 높은 프레임들이라도 언제나 참조 프레임들이 될 수 있는 것은 아니고 현재 코딩되는 프레임 보다 프레임 인덱스가 D를 초과하지 않는 프레임들이어야 한다는 것을 의미한다. 이와 관련하여 한가지 유의할 점은 수학식 2를 해석할 때 D는 F(k)를 코딩하기 위해서 최대한으로 허용되는 지연시간을 의미한다는 점이다. 즉, 도 7을 참조하면 2번 프레임을 코딩하려면 4번 프레임이 필요하고 따라서 D가 2이면 충분할 것으로 생각할 수 있지만, 1번 프레임을 코딩하려면 2번 프레임이 필요하고 2번 프레임은 4번 프레임을 필요하므로 D는 3인 된다는 점을 유의해야 한다. 물론 1번 프레임이 2번 프레임을 참조하지 않고, 5번 프레임이 6번 프레임을 참조하지 않는 경우라면 D 값은 2이면 된다. 정리하면, 도 7과 같은 구조를 갖는 코딩을 하려면 D를 3으로 설정해야 한다.
수학식 2에 의한 경우에도 앞서 설명한 멀티플 참조 프레임이나 크로스 GOP 최적화가 적용될 수 있다는 것을 유의해야 한다. 이러한 지연시간 제어는 직접적이고 구현이 간단하다는 장점을 갖는다.
STAR 알고리즘에 의한 이러한 접근법의 주요 이점 중 하나는 디코딩측에서 시간적 스케일러빌리티를 전혀 해치지 않는다는 점이다. 종전의 방법과 같이 GOP의 사이즈를 줄이는 경우에는 최대 시간적 레벨의 크기가 줄어들기 때문에 디코딩측에서 시간적 스케일러빌리티가 약해지게 된다. 예를 들면, GOP 사이즈가 8일 경우에 디코딩측에서 선택가능한 프레임 레이트 비율은 1, 1/2, 1/4, 1/8인데 D를 3으로 한정하기 위하여 GOP 사이즈를 4로 한 경우에 프레임 레이트 비율은 1, 1/2, 1/4이 선택가능하다. GOP 사이즈가 2인 경우에는 1, 1/2만이 선택가능할 뿐이다. 또한, GOP의 사이즈를 작게 한다는 것은 앞서 언급하였듯이 비디오 인코딩의 효율을 급격히 줄이게 된다는 단점을 갖고 있다. 이에 반하여, STAR 알고리즘의 경우에는 극단적으로 D를 0으로 한정한 경우에도 디코딩측의 시간적 스케일러빌리티에는 전혀 영향을 주지 않는다. 다만, 이 경우에 있어서 인코딩측의 스케일러빌리티에 손상이 있을 뿐이다. 즉, GOP 사이즈가 8이고 D가 0인 경우에 있어서, 인코딩측에서 GOP 단위로 처리할 수 있는 프레임의 수가 2인 경우로 프로세싱 능력이 한정될 경우라면, 0번과 1번 프레임을 코딩하여 디코딩측에 전송해야 한다. 이 경우에 디코딩측에서는 프레임 레이트 비율이 1/4의 비디오 시퀀스를 복원할 수 있지만, 이 때 복원되는 비디오 프레임은 시간적 간격이 들쭉날쭉하게 된다.
각각의 지연시간을 달리한 경우의 예를 도 9, 10, 11, 12를 통해 설명한다.
도 9는 본 발명의 다른 실시예에 따른 지연시간 제어 파라미터가 0인 경우의 시간적 필터링에서 프레임간 연결을 보여주는 도면이다.
본 실시예는 양방향 예측과 크로스 GOP 최적화를 지원하고 D 값을 0으로 한정한 경우의지연시간이 한정된 STAR 알고리즘의 시간적 구조를 보여준다. 지연시간 제어 파라미터가 0이므로, 크로스 GOP 최적화는 자동으로 비활성화되고, 모든 프레임들은 시간적으로 뒤에 있는 프레임들(프레임 인덱스가 작은 프레임들)만을 참조한다. 따라서, 프레임 전송 순서는 0, 1, 2, 3, 4, 5, 6, 7이 된다. 즉, 하나의 프레임이 처리되어 즉시 디코딩측에 전달될 수 있게 된다. 이 경우에 있어서, I 프레임 버퍼링 지연시간만이 존재한다. 이러한 특성은 디코딩측에서도 유지되는데, 디코더는 프레임이 도달하자마자 디코딩을 시작할 수 있다. 즉, 최종 지연시간은 디코딩측의 연산 딜레이를 포함하여 단지 2 프레임(67ms@30Hz)이다. 다만 이러한 경우에 성능은 D 값을 0보다 크게 설정한 경우보다 다소 떨어지게 된다.
도 10은 본 발명의 다른 실시예에 따른 지연시간 제어 파라미터가 1인 경우의 시간적 필터링에서 프레임간 연결을 보여주는 도면이다.
이 경우에 있어서, 크로스 GOP 최적화 특성은 자동적으로 활성화된다. 가장 낮은 시간적 레벨의 모든 프레임들은 양방 예측을 사용하여 예측될 수 있고, GOP의 마지막 프레임은 다음 GOP의 첫 번째 프레임을 참조할 수 있다. 이러한 경우에 프레임의 코딩 순서는 0, 2, 1, 4, 3, 6, 5, 7, 8(다음 프레임의 0)이다. 인코더측에서 단지 2 프레임들을 버퍼링하기 위한 지연시간과 디코더측의 연산 지연시간이 필요할 뿐이다. 총 지연시간은 3 프레임들(100ms@30Hz)이고, 대부분 프레임들을 위한 양방향 예측과 마지막 프레임에게는 크로스 GOP 최적화를 할 수 있게 된다.
도 11은 본 발명의 다른 실시예에 따른 지연시간 제어 파라미터가 3인 경우의 시간적 필터링에서 프레임간 연결을 보여주는 도면이다.
D가 3인 경우에는 도 11에 도시된 바와 같이 2번 프레임은 4번 프레임을 참조할 수 있고, 6번 프레임은은 다음 GOP의 첫번 째 프레임을 참조할 수 있다.
D가 2가 아니고 3이 필요한 이유는 2번 프레임을 코딩하기 위해서는 4번 프레임이 필요하므로 2 프레임만큼의 지연시간이면 충분하지만, 1번 프레임을 코딩하기 위해서는 2번 프레임이 필요하고 2번 프레임은 2 프레임만큼의 지연시간을 필요로 하게 되어 총 3 프레임의 지연시간을 필요로 한다. 지연시간이 3인 경우에 8번 프레임(다음 프레임의 0번 프레임)에서 4번 프레임으로의 참조를 제외한 모든 프레임들의 참조가 가능하다. 이 때의 코딩순서는 0, 4, 2, 1, 3, 8(다음 GOP의 0번), 6, 5, 7이 된다. 만일 D가 4인 경우라면 도 7의 형태가 가능하다. GOP 사이즈를 16으로 확장한 경우는 도 12에서 보여준다.
도 12는 본 발명의 다른 실시예에 따른 GOP 크기가 16일 때 지연시간 제어 파라미터가 3인 경우의 시간적 필터링에서 프레임간 연결을 보여주는 도면이다. 이 경우에 프레임의 코딩순서(전송순서와 같다)는 0, 4, 2, 1, 3, 8, 6, 5, 7, 12, 10, 9, 11, 16(다음 GOP의 0번 프레임), 14, 13, 15가 된다.
STAR 알고리즘에서 최종 지연시간은 단지 하나의 파라미터 D에 의해 제어될 수 있다는 점을 유의해야 한다. 이러한 특징은 지연시간 제어를 단순화시키고, 최종지연 시간 관점에서 코딩 효율의 이른바 우아한 저하(Graceful Degradation)의 결과를 가져온다. 이와 같은 하나의 프레임워크에서 "유연한 지연시간"은 매우 유용하다. 왜냐하면 코딩 시스템에 중요한 변화없이 어플리케이션의 성질에 따라 최종 지연시간을 손쉽게 조절할 수 있기 때문이다. 즉, 단방향 비디오 스트림에서, 최종 지연시간은 중요한 문제가 되지 않는다. 따라서 D 값을 최대(GOP 크기의 1/2)로 설정할 수 있다. 반면에, 양방향 화상회의 시스템에서 최종 지연시간은 매우 중요한 이슈가 된다. 이러한 경우에 있어서, 최종 지연시간을 2보다 작게 설정하면 코딩 효율을 약간 떨어뜨리더라도 매우 작은 최종 지연시간을 달성할 수 있다. 최종 지연시간과 지연시간 제어 파라미터 D와의 관계는 표 1에 도시된다.
GOP size = 8 | |
D 값 | 최종 지연시간 |
0124 | 2 frames (67ms@30Hz)3 frames (100ms@30Hz)5 frames (167ms@30Hz)9 frames (300ms@30Hz) |
GOP size = 16 | |
D 값 | 최종 지연시간 |
01248 | 2 frames (67ms@30Hz)3 frames (100ms@30Hz)5 frames (167ms@30Hz)9 frames (300ms@30Hz)17 frames (567ms@30Hz) |
표 1의 최종 지연시간은 수학식 3과 같이 표현할 수 있다.
T는 최종 지연시간을 나타내는 값으로서 단위는 1 프레임 시간이다.
최종 지연시간에 따른 PSNR 저하에 대한 실험 결과에 대해서는 후술한다.
도 13은 순방향, 역방향, 양방향, 및 인트라 예측 모드를 설명하기 위한 도면이다.
STAR 알고리즘은 기본적으로 멀티 모드 시간적 예측을 지원한다. 도 13에 도시된 바와 같이 순방향 예측(1), 역방향(2), 양방향(3), 및 인트라(4) 예측이 지원된다. 종래에는 앞의 세 가지 모드는 스케일러블 비디오 코딩에 있어서 이미 지원되고 있었지만, STAR 알고리즘에서는 인트라 예측을 포함하여 빠른 변화가 있는 비디오 시퀀스의 코딩 효율을 개선하였다.
먼저 인터 매크로블록 예측 모드 결정에 대해서 살펴본다.
STAR 알고리즘은 양방향 예측과 멀티플 참조 프레임을 허용하기 때문에, 순방향, 역방향, 및 양방향 예측을 쉽게 구현할 수 있다. 비로 잘 알려진 HVBSM 알고리즘을 사용할 수도 있지만, 본 발명의 실시예에서는 고정된 블록 사이즈 모션 추정을 사용하였다. E(k, -1)을 k번 째 순방향 예측에서의 절대 차이의 합(Sum of Absolute Difference; 이하, SAD라 함)라고 하고, B(k, -1)을 순방향 예측의 모션 벡터들을 양자화하는데 할당될 총 비트라고 하자. 마찬가지로, E(k, +1)을 k번 째 역방향 예측에서의 SAD라고 하고 B(k, +1)을 역방향 예측의 모션 벡터들을 양자화하는데 할당될 총 비트라고 하고, E(k, *)을 k번 째 양방향 예측에서의 SAD라고 하고, B(k, *)을 양방향 예측의 모션 벡터들을 양자화하는데 할당될 총 비트라고 하자. 순방향, 역방향, 및 양방향 예측 모드를 위한 코스트는 수학식 4로 설명할 수 있다.
Cb=E(K,+1)+B(k,+1),
Cbi=E(K,*)+{B(k,-1)+B(k,+1)}
여기서, Cf, Cb, 및 Cbi는 각각 순방향, 역방향, 및 양방향 예측 모드를 위한 코스트를 의미한다.
는 라그랑쥬 계수인데, 모션과 텍스쳐(이미지) 비트들 사이의 밸런스를 제어하는데 사용된다. 스케일러블 비디오 인코더에서 최종 비트레이트를 알 수 없기 때문에, 는 목적 어플리케이션에서 주로 사용될 비디오 시퀀스와 비트 레이트의 특성에 대하여 최적화되어야 한다. 수학식 4에 정의된 식에 의해 최소 코스트를 계산함으로써 가장 최적화된 인터 매크로블록 예측모드를 결정할 수 있다.
다음으로 인트라 매크로블록 예측모드 결정에 대해 설명한다.
몇몇 비디오 시퀀스에서, 장면은 매우 빠르게 변화한다. 극단적인 경우에, 이웃하는 프레임들과 전혀 시간적 중복성을 갖지 않는 하나의 프레임을 발견할 수도 있다. 이러한 문제를 극복하기 위하여, MC-EZBC로 구현된 코딩방법은 "적응적GOP사이즈특징"을 지원한다. 적응적 GOP 사이즈 특징은 연결되지 않은 픽셀들의 수간 미리 정해진 기준값(전체 픽셀들의 30% 정도)보다 큰 경우에 시간적 필터링을 중단하고 해당 프레임을 L 프레임으로 코딩한다. 이러한 방식을 STAR 알고리즘에 적용하는 것도 가능하겠으나, 본 실시예에서는 보다 유연한 방식으로 표준 하이브리드 인코더에서 사용되던 인트라 매크로블록 모드의 개념을 도입하였다. 일반적으로, STAR 알고리즘에 의한 코덱을 포함하여 오픈루프 코덱은 예측 드리프트 때문에 이웃하는 매크로블록 정보를 사용할 수 없다. 반면에 하이브리드 코덱은 멀티플 인트라 예측 모드를 사용할 수 있다. 따라서, 본 실시예에서는 인트라 예측 모드를 위하여 DC 예측을 사용한다. 이 모드에서 어떤 매크로블록은 자신의 Y, U, 및 V 컴포넌트들을 위한 DC 값에 의해 인트라 예측된다. 만일 인트라 예측 모드의 코스트가 위에서 설명한 가장 좋은 인터 예측 모드에서의 코스트보다 작은 경우라면 인트라 예측 모드를 선택한다. 이런 경우에 있어서, 원래 픽셀들과 DC 값의 차이를 코딩하며, 모션 벡터 대신에 세가지 DC 값들의 차이를 코딩한다. 인트라 예측 모드의 비용은 수학식 5로 정의할 수 있다.
여기서, E(k, 0)는 k번 째 인트라 예측에서의 SAD(원래 루미넌스 값들과 DC 값들과의 차이의 SAD)이고, B(k, 0)은 3개의 DC 값들을 코딩하기 위한 총 비트들이다.
만일 Ci가 수학식 4에 의해 계산된 값들보다 작은 경우라면, 인트라 예측 모드로 코딩한다. 결로적으로 말하면, 만일 모드 매크로블록들이 단지 하나의 DC 값들의 세트로 인트라 예측 모드로 코딩된 경우라면, I 프레임으로 변경한다. 한편, 비디오 시퀀스의 중간중간에서 임의의 지점을 보려고 할 때 혹은 자동으로 비디오 편집을 하려고 할 때는 비디오 시퀀스에 I 프레임의 수가 많은 것이 좋은데, 이 경우에 I 프레임 변경에 의한 방법은 하나의 좋은 방법이 될 수 있다.
한편, 모든 매크로블록들이 비록 인트라 예측 모드로 코딩되지 않은 경우라도 일정한 비율(예를 들면 90%) 이상이 인트라 예측 모드로 코딩된 경우에는 I 프레임으로 전환하면 앞서 말한 임의의 지점을 보려고 하는 경우나 자동으로 비디오 편집을 하려는 목적은 더 쉽게 달성될 수 있다.
STAR 알고리즘은 다중 모드의 시간적 예측을 구현할 수 있는 방법을 제공하지만, 다른 방법들, 예를 들면 MC-EZBC나 혹은 다른 코덱의 방법들을 차용할 수도 있다. 첫 프레임을 제외한 모든 매크로블록들은 위에서 설명한 네가지 형태의 모드 중 어떤 모드에 따라서도 코딩될 수 있다. 본 발명의 기술적 분야에서 통상의 지식을 가진 자라면, STAR 알고리즘에 앞서 도시된 도면의 "H 프레임"은 인터예측과 인트라예측 매크로블록들의 혼합된 형태로 이해할 수 있을 것이다. 뿐만 아니라, H 프레임의 위치에 있는 프레임이 I 프레임으로 변경되어 코딩될 수 있다는 것도 알 수 있을 것이다. 이러한 유연성은 빠른 변화가 있는 비디오 시퀀스와 페이드인 페이드아웃 프레임들에서 특히 유용하다.
도 14는 본 발명의 다른 실시예에 따른 시간적 필터링에서 4개의 예측 모드를 포함한 프레임간 연결을 보여주는 도면이다.
I+H는 프레임이 인트라 예측 매크로블록들과 인터 예측 매크로블록들 모두를 포함하여 구성된다는 것을 의미하고, I는 예측이 없이 그 자체 프레임으로 코딩된 것을 의미한다. 비록 GOP의 시작 프레임(가장 높은 시간적 레벨을 갖는 프레임)에서 인트라 예측이 사용될 수도 있지만, 도 14의 실시예는 이를 사용하지 않았다. 이는 원래 프레임에 기반한 웨이브렛 변환만큼 효율적이지 않기 때문이다.
도 15a와 15b는 각각 변화가 심한 비디오 시퀀스와, 변화가 거의 없는 비디오 시퀀스에서 멀티플 모드로 예측한 경우의 예를 보여주고 있다. 퍼센트는 예측 모드의 비율을 의미한다. I는 인트라 예측의 비율(다만, GOP의 첫 프레임은 예측을 사용하지 않음), BI 양방향 예측의 비율, F는 순방향 예측의 비율, B는 역방향 예측의 비율을 의미한다.
도 15a를 살펴보면, 1번 프레임은 0번 프레임과 거의 유사하기 때문에 F의 비율이 78%로 압도적인 것을 알 수 있으며, 2번 프레임은 0번과 4번의 중간정도(즉, 0번을 밝게 한 이미지)에 가까우므로 BI가 87%로 압도적인 것을 알 수 있다. 4번 프레임은 완전히 다른 프레임들과 다르므로 I로 100% 코딩되고, 5번 프레임은 4번과는 전혀 다르고 6번과 비슷하므로 B가 94%인 것을 알 수 있다.
도 15b를 살펴보면 전체적으로 모든 프레임들이 유사한 것을 알 수 있는데, 실제로 거의 유사한 프레임들의 경우에는 BI가 가장 좋은 성능을 보인다. 따라서, 도 15b에서는 전체적으로 BI의 비율이 높은 것을 알 수 있다.
STAR 알고리즘의 성능을 확인하기 위하여 몇몇 시뮬레이션을 수행했다. STAR 알고리즘은 시간적 필터링 과정에 적용하였다. 모션 추정을 위해서 잘 알려진 다이아몬드 패스트 서치의 한 종류를 사용하였는데, 서브블록 사이즈들을 4부터 16까지 4 단위로 멀티 모드 파티션들 사용하였다. MC-EZBC는 성능비교를 위해 사용했다. 임베디드 양자화에서 본 발명의 구현은 EZBC 알고리즘을 사용하였다.
실험 대상으로 Foreman과 Mobile CIF의 첫 64 프레임들을 사용하였다. 본 발명의 주요 관심사는 시간적 변환을 개선하는 것이므로 공간적 스케일러빌리티 테스트는 하지 않았다. 두 실험 대상들은 충분한 비트레이트로 코딩되었고, 비트스트림들은 각각 비트레이트 2048, 1024, 512, 256, 128kbps로 전송되도록 절단한 후에 디코딩하였다.
성능측정은 가중치가 있는 PSNR을 사용하였으며 가중치가 있는 PSNR은 수학식 6에 의해 정의된다.
멀티플 참조의 경우를 제외한 앞서 언급되었던 모든 특징들이 STAR 알고리즘의 성능을 측정하기 위하여 포함되었다. 마지막으로, GOP 레벨에 기반한 일정한 비트레이트 할당을 STAR 알고리즘을 위해 사용하였다. 반면에 MC-EZBC는 가변적 비트레이트 할당을 사용하였다. 가변적 비트레이트 할당을 STAR 알고리즘에 적용할 경우는 더 좋은 성능을 보일 수 있다.
도 16과 17은 각각 Foreman CIF 시퀀스를 코딩한 경우에 PSNR의 결과와, Mobile CIF 시퀀스를 코딩한 경우에 PSNR의 결과를 보여주는 그래프이다.
2048 kbps와 1024 kbps를 위해 30Hz의 프레임레이트가 사용되었으며, 512 kbps와 256 kbps를 위해 15 Hz의 프레임레이트가 사용되었으며, 128 kbps를 위해 7.5 Hz의 프레임 레이트가 사용되었다. STAR 알고리즘은 양방향 예측과 크로스 GOP 최적화를 사용하였고, 두 알고리즘 모두 GOP 사이즈는 16이고 1/4 픽셀 모션 정확도가 사용되었다. 게다가, 양방향 예측을 사용한 MCTF 알고리즘을 STAR 알고리즘으로 구현한 코덱에 구현하고 다른 부분들을 변경하지 않았다. 실험에서는 이를 MCTF 방식이라 하였다. 이렇게 한 이유는 시간적 필터링의 효율성만을 판단하기 위해서다. 도시된 바와같이 STAR 알고리즘의 성능이 MC-EZBC와 MCTF 방식보다 Foreman CIF 시퀀스에서 1 dB 우수한 것을 알 수 있다. MCTF의 성능은 MC-EZBC와 비슷하게 나왔다. 그러나, Mobile 시퀀스에서 STAR의 성능은 거의 MC-EZBC와 비슷하게 나왔으며, MCTF 보다는 STAR의 성능이 좋았다. 이는 MC-EZBC에 사용된 가변 비트 할당 및 가변 사이즈 블록 매칭 기술이 때문에 그런 것으로 보이며, STAR 알고리즘에 이를 적용할 경우에는 MC-EZBC보다 좋은 결과가 나오리라고 생각된다. 한편, STAR가 MCTF 보다 약 3.5 dB나 높은 성능을 보여주었는데, 이는 STAR 알고리즘이 MCTF보다 우수한 코딩 알고리즘이라는 것을 보여주는 결과이다. 결론적으로 STAR는 시간적 필터링 관점에서 MCTF보다는 확실히 우수하고, MC-EZBC와는 비슷한 성능을 갖는다고 할 수 있다.
적은 지연시간 모드의 성능을 비교하기 위하여, 다양한 최종 지연시간에 대한 몇몇 실험을 하였다. STAR 알고리즘을 위하여 지연시간 제어 파라미터 D를 0에서부터 8까지 변경하였다. 이는 MC-EZBC를 위한 GOP 사이즈를 2에서 16에 대응되는 값으로서 최종 지연시간 100ms에서 567ms에 해당한다. 다양한 최종 지연시간 조건을 측정하기 위하여, 시간적 스케일러빌리티를 실험에서 사용하지 않았고 비트레이트는 2048 kbps에서 256 kbps가 사용되었다. STAR 알고리즘에서 인트라 예측 모드는 사용되지 않았는데 이는 사간적 변환의 구조만을 비교하기 위해서이다.
도 18은 최대 지연시간 567ms를 세팅한 Foreman CIF 시퀀스에 비해 최종 지연시간 조건을 변화시킨 Foreman CIF 시퀀스의 PSNR 값이 떨어진 것을 보여준다. 도시된 바와 같이 PSNR 값들은 GOP 사이즈를 줄여야하는 MC-EZBC에서 급격히 감소하는 것을 알 수 있다. 특히, GOP 사이즈가 2인 경우에 있어 이러한 현상은 두드러진다. GOP 사이즈가 4인 경우에 있어서도, 최종 지연시간은 150ms를 넘는 것을 볼 수 있다. 반면에, STAR 알고리즘에서는 PSNR 값의 떨어짐이 심하지 않다. 최종 지연 시간이 67ms 인 경우에서 조차, PSNR 값이 떨어진 정도는 1.3 dB에 불과하고, 괜찮은 지연시간 모드(100ms)에서 PSNR 값의 저하는 단지 0.8 dB이다. 두 알고리즘간의 최대 PSNR 값 감소의 차이는 3.6 dB나 된다.
도 19는 Mobiler CIF 시퀀스를 위한 최대 지연시간 세팅과 비교한 PSNR 저하를 보여준다. MC-EZBC에 있어 PSNR 저하는 앞서 Foreman CIF 시퀀스를 사용한 경우보다 더 심해진다. STAR 알고리즘의 경우에 가장 긴 지연시간과 가장 짧은 지연시간에서 PSNR 저하는 2.3 dB이지만 MC-EZBC의 경우에는 6.9 dB나 된다. 100ms에서의 PSNR 저하는 STAR의 경우에 1.7 dB이지만 MC-EZBC의 경우에는 6.9dB를 갖는다. 두 알고리즘간의 PSNR 저하의 최대 차이가 나는 지점은 100ms 지점이며 5.1 dB가 차이 난다. 이뿐만 아니라, STAR 알고리즘의 경우에는 가장 짧은 지연시간을 갖는 경우에도 완전한 시간적 스케일러빌리티를 지원하지만 MC-EZBC의 경우에는 1 레벨의 시간적 스케일러빌리티만 지원한다. PSNR 값의 차이들은 표 2로 정리한다.
Foreman CIF@30Hz | |||||
MC-EZBC | |||||
Bit-rates / Delay | 67ms | 100ms | 167ms | 300ms | 567ms |
256 | 31.66 | 33.43 | 34.61 | 35.19 | |
512 | 34.75 | 36.68 | 37.73 | 38.09 | |
1024 | 37.88 | 39.77 | 40.59 | 40.80 | |
2048 | 41.62 | 43.12 | 43.64 | 43.72 | |
STAR | |||||
256 | 34.97 | 35.23 | 35.43 | 35.67 | 35.94 |
512 | 37.80 | 38.23 | 38.55 | 38.82 | 39.06 |
1024 | 40.36 | 40.89 | 41.22 | 41.45 | 41.63 |
2048 | 43.02 | 43.57 | 43.86 | 44.04 | 44.14 |
Mobile CIF@30Hz | |||||
MC-EZBC | |||||
Bit-rates / Delay | 67ms | 100ms | 167ms | 300ms | 567ms |
256 | 22.21 | 23.39 | 24.64 | 26.08 | |
512 | 24.08 | 25.99 | 28.33 | 30.28 | |
1024 | 26.80 | 29.51 | 32.20 | 33.70 | |
2048 | 30.58 | 33.93 | 36.10 | 36.98 | |
STAR | |||||
256 | 25.61 | 25.66 | 25.80 | 26.15 | 26.72 |
512 | 28.42 | 28.70 | 29.03 | 29.62 | 30.27 |
1024 | 31.46 | 31.94 | 32.44 | 33.16 | 33.68 |
2048 | 34.96 | 35.63 | 36.23 | 36.89 | 37.27 |
빠르게 변화되는 비디오 시퀀스에 대한 비교는 도 20을 통해 설명한다.
도 20은 움직임이 심한 Matrix2 영화의 일부를 4가지 예측 모드를 사용하여 코딩한 경우와 그렇지 않은 경우에 PSNR의 결과를 보여주는 그래프이다.
단지 16 프레임들로 구성된 하나의 GOP를 사용하여 실험을 했다. 빠른 움직임, 장면 전환, 빈 프레임들, 및 페이드인과 페이드 아웃이 있는 프레임 세그먼트를 선택하였다. STAR 알고리즘은 인트라 예측을 한 경우와 그렇지 않은 경우를 가지고 실험하였으며, MC-EZBC를 실험 비교 대상으로 포함하였다. 적응적 GOP 사이즈 특징을 테스트하기 위해, MC-EZBC에서 "adapt_flag"를 활성화 시킨 경우와 그렇지 않은 경우를 포함하였다.
도시된 바와 같이, 인트라 예측의 효과는 매우 탁월한 것을 알 수 있다. 인트라 예측을 적용한 경우와 그렇지 않은 경우에 5 dB차이가 생겼으며, MC-EZBC에서는 적응적 GOP를 사용한 경우와 그렇지 않은 경우에 10 dB 성능차이가 발생하였다. 인트라 예측을 사용한 STAR의 경우에 적응적 GOP를 사용한 MC-EZBC에 비해 1.5 dB 만큼의 성능 차이를 보였다. 이는 STAR 알고리즘의 경우에 보다 유연한 매크로블록 기반의 인트라 예측을 사용하였기 때문이다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명에 따르면, 지연시간 조절이 가능하며 적은 지연시간을 갖는 경우에도 성능의 저하가 심하지 않은 비디오 코딩이 가능하다. 또한 본 발명에 따르면, 변화가 심한 비디오 시퀀스의 경우에도 효율적으로 압축할 수 있다. 뿐만 아니라 본 발명에서는 지연시간을 조절하더라도 시간적 스케일러빌리티에 적응 영향을 미친다.
도 1a는 MCTF 방식의 스케일러블 비디오 코딩 및 디코딩 과정에서의 시간적 분해 과정의 흐름을 보여주는 도면이다.
도 1b는 UMCTF 방식의 스케일러블 비디오 코딩 및 디코딩 과정에서의 시간적 분해 과정의 흐름을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 스케일러블 비디오 인코더의 구성을 보여주는 기능성 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 스케일러블 비디오 인코더의 구성을 보여주는 기능성 블록도이다.
도 4는 본 발명의 일 실시예에 따른 스케일러블 비디오 디코더의 구성을 보여주는 기능성 블록도이다.
도 5는 STAR(Successive Temporal Approximation and Referencing) 알고리즘의 기본적 개념을 설명하기 위한 도면이다.
도 6은 STAR 알고리즘에서 가능한 프레임들간의 연결들을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 GOP(Group Of Picture)간 참조한 경우를 보여주는 도면이다.
도 8은 본 발명의 다른 실시예에 따른 비이분적(non-dyadic) 시간적 필터링에서 프레임간 연결을 보여주는 도면이다.
도 9는 본 발명의 다른 실시예에 따른 지연시간 제어 파라미터가 0인 경우의 시간적 필터링에서 프레임간 연결을 보여주는 도면이다.
도 10은 본 발명의 다른 실시예에 따른 지연시간 제어 파라미터가 1인 경우의 시간적 필터링에서 프레임간 연결을 보여주는 도면이다.
도 11은 본 발명의 다른 실시예에 따른 지연시간 제어 파라미터가 3인 경우의 시간적 필터링에서 프레임간 연결을 보여주는 도면이다.
도 12는 본 발명의 다른 실시예에 따른 GOP 크기가 16일 때 지연시간 제어 파라미터가 3인 경우의 시간적 필터링에서 프레임간 연결을 보여주는 도면이다.
도 13은 순방향, 역방향, 양방향, 및 인트라 예측 모드를 설명하기 위한 도면이다.
도 14는 본 발명의 다른 실시예에 따른 시간적 필터링에서 4개의 예측 모드를 포함한 프레임간 연결을 보여주는 도면이다.
도 15a는 변화가 심한 비디오 시퀀스에서 도 14의 실시예에 따라 비디오 코딩한 경우의 예를 보여주는 도면이다.
도 15b는 변화가 적은 비디오 시퀀스에서 도 14의 실시예에 따라 비디오 코딩한 경우의 예를 보여주는 도면이다.
도 16은 각 비디오 코딩 방식으로 Foreman CIF 시퀀스를 코딩한 경우에 PSNR(Peak Signal to Noise Ratio)의 결과를 보여주는 그래프이다.
도 17은 각 비디오 코딩 방식으로 Mobile CIF 시퀀스를 코딩한 경우에 PSNR의 결과를 보여주는 그래프이다.
도 18은 각 비디오 코딩 방식에서 서로 다른 지연시간으로 Foreman CIF 시퀀스를 코딩한 경우에 PSNR의 결과를 보여주는 그래프이다.
도 19는 각 비디오 코딩 방식에서 서로 다른 지연시간으로 Mobile CIF 시퀀스를 코딩한 경우에 PSNR의 결과를 보여주는 그래프이다.
도 20은 움직임이 심한 Matrix2 영화의 일부를 4가지 예측 모드를 사용하여 코딩한 경우와 그렇지 않은 경우에 PSNR의 결과를 보여주는 그래프이다.
Claims (64)
- 비디오 시퀀스를 구성하는 복수의 프레임들을 입력받아 한정된 시간적 레벨 순서로 프레임들의 시간적 중복을 제거하는 (a) 단계; 및상기 시간적 중복이 제거된 프레임들로부터 변환계수들을 얻고 이를 양자화하여 비트스트림을 생성하는 (b) 단계를 포함하는 비디오 코딩 방법
- 제1항에 있어서, 상기 (a) 단계에서 입력받는 프레임들은 웨이브렛 변환을 거쳐 공간적 중복이 제거된 프레임들인 것을 특징으로 하는 비디오 코딩 방법
- 제1항에 있어서, 상기 (b) 단계에서 변환계수들은 상기 시간적 중복이 제거된 프레임들을 공간적 변환하여 얻는 것을 특징으로 하는 비디오 코딩 방법
- 제3항에 있어서, 상기 공간적 변환은 웨이브렛 변환인 것을 특징으로 하는 비디오 코딩 방법
- 제1항에 있어서, 상기 프레임들의 시간적 레벨은 2분적 계층 구조를 갖는 것을 특징으로 하는 비디오 코딩 방법
- 제1항에 있어서, 상기 한정된 시간적 레벨 순서는 시간적 레벨이 높은 프레임부터 시간적 레벨이 낮은 프레임으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 프레임부터 프레임 인덱스가 큰 프레임 순서인 것을 특징으로 하는 비디오 코딩 방법
- 제6항에 있어서, 상기 한정된 시간적 레벨 순서는 GOP 사이즈를 주기로 반복되는 것을 특징으로 하는 비디오 코딩 방법
- 제7항에 있어서, GOP를 구성하는 프레임들 중 가장 높은 시간적 레벨을 갖는 프레임은 GOP의 가장 작은 프레임 인덱스를 갖는 프레임인 것을 특징으로 하는 비디오 코딩 방법
- 제8항에 있어서, 시간적 중복 제거하는 과정은 GOP 단위로 수행되는데, GOP의 가장 높은 시간적 레벨을 갖는 첫 프레임을 I 프레임으로 설정하고, 상기 한정된 시간적 레벨을 갖는 순서대로 각 프레임들에 대한 시간적 중복을 제거하되 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임들은 자신보다 시간적 레벨이 높거나 자신과 동일한 시간적 레벨을 갖는 프레임들 중에서 자신보다 프레임 인덱스가 작은 하나 또는 그 이상의 프레임들인 것을 특징으로 하는 비디오 코딩 방법
- 제9항에 있어서, 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임(들)은 자신보다 시간적 레벨이 높은 하나 또는 그 이상의 프레임들 중에서 프레임 인덱스 차이가 가장 작은 하나 또는 두 프레임들인 것을 특징으로 하는 비디오 코딩 방법
- 제9항에 있어서, 상기 시간적 중복을 제거하는 과정에서 각 프레임들이 참조하는 참조 프레임들에는 자신(현재 필터링 중인 프레임)을 더 포함하는 것을 특징으로 하는 비디오 코딩 방법
- 제11항에 있어서, 상기 시간적 중복을 제거하는 과정에서 상기 필터링 중인 프레임이 자신을 참조하는 부분들의 비율이 일정한 값을 넘는 경우에 상기 필터링 중인 프레임을 I 프레임으로 코딩하는 것을 특징으로 하는 비디오 코딩 방법
- 제9항에 있어서, 상기 시간적 중복을 제거하는 과정에서 각 프레임들이 참조하는 참조 프레임들에는 다음 GOP에 속하는 자신보다 시간적 레벨이 높은 하나 또는 그 이상의 프레임들을 더 포함하는 것을 특징으로 하는 비디오 코딩 방법
- 제1항에 있어서, 상기 한정된 시간적 레벨 순서는 코딩 모드에 따라 결정되는 것을 특징으로 하는 비디오 코딩 방법
- 제14항에 있어서, 상기 코딩 모드에 따라 결정된 한정된 시간적 레벨 순서는 동일 코딩 모드에서는 GOP 사이즈를 주기로 반복되는 순서인 것을 특징으로 하는 비디오 코딩 방법
- 제15항에 있어서, GOP를 구성하는 프레임들 중 가장 높은 시간적 레벨을 갖는 프레임은 GOP의 가장 작은 프레임 인덱스를 갖는 프레임인 것을 특징으로 하는 비디오 코딩 방법
- 제15항에 있어서, 상기 (b) 단계에서 상기 코딩 모드에 대한 정보를 상기 비트스트림에 더 포함시키는 것을 특징으로 하는 비디오 코딩 방법
- 제15항에 있어서, 상기 (b) 단계에서 공간적 중복제거와 시간적 중복 제거의 순서에 관한 정보(중복제거 순서)를 상기 비트스트림에 더 포함시키는 것을 특징으로 하는 비디오 코딩 방법
- 제15항에 있어서, 상기 코딩 모드는 지연시간 제어 파라미터(D)에 의해 결정되는데, 이 경우에 상기 한정된 시간적 레벨 순서는 시간적 필터링되지 않은 가장 낮은 레벨의 프레임의 인덱스보다 D 초과되지 않는 인덱스를 갖는 프레임들 중에서 시간적 레벨이 높은 프레임부터 시간적 레벨이 낮은 프레임으로 또 동일한 시간적 레벨의 경우에는 시간적으로 앞선 프레임부터 늦은 프레임 순서인 것을 특징으로 비디오 코딩 방법
- 제19항에 있어서, 상기 시간적 중복 제거하는 과정은 GOP 단위로 수행되는데, GOP 내의 가장 높은 시간적 레벨을 갖는 프레임을 I 프레임으로 코딩하고, 상기 한정된 시간적 레벨을 갖는 순서대로 각 프레임들에 대한 시간적 중복을 제거하되 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임들은 자신보다 시간적 레벨이 높거나 자신과 동일한 시간적 레벨을 갖는 프레임들 중에서 자신보다 프레임 인덱스가 작은 하나 또는 그 이상의 프레임들인 것을 특징으로 하는 비디오 코딩 방법
- 제20항에 있어서, 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임(들)은 자신보다 시간적 레벨이 높은 하나 또는 그 이상의 프레임들 중에서 프레임 인덱스 차이가 가장 작은 하나 또는 두 프레임들인 것을 특징으로 하는 비디오 코딩 방법
- 제20항에 있어서, 상기 GOP 내의 가장 높은 시간적 레벨을 갖는 프레임은 가장 작은 프레임 인덱스를 갖는 프레임인 것을 특징으로 하는 비디오 코딩 방법
- 제20항에 있어서, 상기 시간적 중복을 제거하는 과정에서 각 프레임들이 참조하는 하나 또는 그 이상의 참조 프레임들에는 자신을 포함하는 것을 특징으로 하는 비디오 코딩 방법
- 제23항에 있어서, 상기 시간적 중복을 제거하는 과정에서 상기 필터링 중인 프레임이 자신을 참조하는 부분들의 비율이 일정한 값을 넘는 경우에 상기 필터링 중인 프레임을 I 프레임으로 코딩하는 것을 특징으로 하는 비디오 코딩 방법
- 제20항에 있어서, 상기 시간적 중복을 제거하는 과정에서 각 프레임들이 참조하는 참조 프레임들에는 다음 GOP에 속하는 자신보다 시간적 레벨이 높고 시간적 거리가 D 이내에 있는 하나 또는 그 이상의 프레임들을 더 포함하는 것을 특징으로 하는 비디오 코딩 방법
- 복수의 프레임들을 입력받아 한정된 시간적 레벨 순서로 프레임들의 시간적 중복을 제거하는 시간적 변환부;상기 프레임들에 대한 공간적 중복을 제거하는 공간적 변환부;상기 시간적 및 공간적 중복을 제거하는 과정에서 얻어지는 변환계수들을 양자화하는 양자화부; 및상기 양자화된 변환계수들을 이용하여 비트스트림을 생성하는 비트스트림 생성부를 포함하는 비디오 인코더
- 제26항에 있어서, 상기 시간적 변환부는 상기 공간적 변환부에 앞서 시간적 중복을 제거한 프레임들을 상기 공간적 변환부에 전달하고, 상기 공간적 변환부는 시간적 중복이 제거된 프레임들로부터 공간적 중복을 제거하여 변환계수들을 얻는 것을 특징으로 하는 비디오 인코더
- 제27항에 있어서, 상기 공간적 변환부는 웨이브렛 변환을 통해 공간적 중복을 제거하는 것을 특징으로 하는 비디오 인코더
- 제26항에 있어서, 상기 공간적 변환부는 상기 시간적 변환부에 앞서 웨이브렛 변환을 통해 공간적 중복을 제거한 프레임들을 상기 시간적 변환부에 전달하고, 상기 시간적 변환부는 공간적 중복이 제거된 프레임들로부터 시간적 중복을 제거하여 변환계수들을 얻는 것을 특징으로 하는 비디오 인코더
- 제26항에 있어서, 상기 시간적 변환부는입력받은 복수의 프레임들로부터 움직임 벡터를 구하는 움직임 추정부와;상기 움직임 벡터를 이용하여 상기 입력받은 복수의 프레임들에 대하여 소정의 한정된 시간적 레벨 순서로 시간적 필터링을 하는 시간적 필터링부; 및상기 한정된 시간적 레벨 순서를 결정하는 모드 선택부를 포함하는 것을 특징으로 하는 비디오 인코더
- 제30항에 있어서, 상기 모드 선택부는 상기 한정된 시간적 레벨 순서를 GOP 사이즈의 주기함수로 결정하는 것을 특징으로 하는 비디오 인코더
- 제30항에 있어서, 상기 모드 선택부는 상기 한정된 시간적 레벨 순서를 시간적 레벨이 높은 프레임부터 시간적 레벨이 낮은 프레임으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 프레임부터 프레임 인덱스가 큰 프레임 순서로 결정하는 것을 특징으로 하는 비디오 인코더
- 제32항에 있어서, 상기 모드 선택부가 결정하는 상기 한정된 시간적 레벨 순서는 GOP 사이즈를 주기로 반복되는 것을 특징으로 하는 비디오 인코더
- 제30항에 있어서, 상기 모드 선택부는 상기 한정된 시간적 레벨 순서를 지연시간 제어 파라미터(D)를 참조하여 결정하는 데, 이 경우 상기 결정되는 시간적 레벨 순서는 시간적 중복이 제거되지 않은 가장 낮은 레벨의 프레임의 인덱스보다 D 초과되지 않는의 인덱스를 갖는 프레임들 중에서 가장 높은 시간적 레벨을 갖는 첫 프레임부터 시작해서 시간적 레벨이 낮은 프레임 순서으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 프레임부터 프레임 인덱스가 큰 프레임 순서인 것을 특징으로 하는 비디오 인코더
- 제34항에 있어서, 상기 시간적 필터링부는 상기 모드 선택부에 의해 선택된 한정된 시간적 레벨 순서에 따라 GOP 단위로 시간적 중복을 제거하는데, GOP 내의 가장 높은 시간적 레벨을 갖는 프레임을 I 프레임으로 코딩한 후 각 프레임들의 시간적 중복을 제거할 때 상기 시간적 필터링부는 현재 필터링 중인 프레임보다 시간적 레벨이 높거나 현재 필터링 중인 프레임과 동일한 시간적 레벨을 갖는 프레임들 중에서 현재 필터링 중인 프레임보다 시간적으로 앞선 하나 또는 그 이상의 프레임들을 참조하여 시간적 중복을 제거하는 것을 특징으로 하는 비디오 인코더
- 제35항에 있어서, 상기 시간적 필터링부는 각 프레임들이 시간적 중복을 제거하기 위하여 참조하는 참조 프레임(들)은 현재 필터링 중인 프레임보다 시간적 레벨이 높은 하나 또는 그 이상의 프레임들 중에서 현재 필터링 중인 프레임과 인덱스 차이가 가장 작은 하나 또는 두 프레임들인 것을 특징으로 하는 비디오 인코더
- 제35항에 있어서, 상기 GOP 내의 가장 높은 시간적 레벨을 갖는 프레임은 가장 작은 프레임 인덱스를 갖는 프레임인 것을 특징으로 하는 비디오 인코더
- 제35항에 있어서, 상기 시간적 필터링부는 현재 필터링 중인 프레임에 대한 시간적 중복을 제거할 때 참조하는 참조하는 프레임들 중에는 상기 현재 필터링 중인 프레임을 더 포함하는 것을 특징으로 하는 비디오 인코더
- 제38항에 있어서, 상기 시간적 필터링부는 상기 현재 필터링 중인 프레임이 자신을 참조하는 부분들의 비율이 일정한 값을 넘는 경우에 상기 필터링 중인 프레임을 I 프레임으로 코딩하는 것을 특징으로 하는 비디오 인코더
- 제26항에 있어서, 상기 비트스트림 생성부는 상기 한정된 시간적 레벨 순서에 대한 정보를 포함하여 상기 비트스트림을 생성하는 것을 특징으로 하는 비디오 인코더
- 제 26항에 있어서, 상기 비트스트림 생성부는 상기 변환계수들을 얻기 위한 시간적 중복을 제거하는 과정과 공간적 중복을 제거하는 과정의 순서(중복제거 순서)에 대한 정보를 포함하여 상기 비트스트림을 생성하는 것을 특징으로 하는 비디오 인코더
- 비트스트림을 입력받아 이를 해석하여 코딩된 프레임들에 대한 정보를 추출하는 (a) 단계;상기 코딩된 프레임들에 대한 정보를 역양자화하여 변환계수들을 얻는 (b) 단계; 및상기 코딩된 프레임들의 중복제거 순서의 역순서로 상기 변환계수들을 역공간적 변환 및 한정된 시간적 레벨 순서로 역시간적 변환하여 프레임들을 복원하는 (c) 단계를 포함하는 비디오 디코딩 방법
- 제42항에 있어서, 상기 (c) 단계는 상기 변환계수들로 만든 프레임들을 상기 한정된 시간적 레벨 순서로 역시간적 변환하고 나서 역웨이브렛 변환하여 프레임들을 복원하는 것을 특징으로 하는 비디오 디코딩 방법
- 제42항에 있어서, 상기 (c) 단계는 상기 변환계수들을 역공간적 변환하고 나서 상기 한정된 시간적 레벨 순서로 역시간적 변환하여 프레임들을 복원하는 것을 특징으로 하는 비디오 디코딩 방법
- 제44항에 있어서, 상기 역공간적 변환은 역웨이브렛 변환방식인 것을 특징으로 하는 비디오 디코딩 방법
- 제42항에 있어서, 상기 한정된 시간적 레벨 순서는 시간적 레벨이 높은 프레임부터 시간적 레벨이 낮은 한정된 시간적 레벨 순서이고 동일한 시간적 레벨에서는 프레임 인덱스가 작은 프레임에서 프레임 인덱스가 큰 프레임 순서인 것을 특징으로 하는 비디오 디코딩 방법
- 제46항에 있어서, 상기 한정된 시간적 레벨 순서는 GOP 사이즈를 주기로 반복되는 것을 특징으로 하는 비디오 디코딩 방법
- 제47항에 있어서, 상기 역시간적 변환과정은 GOP의 가장 시간적 레벨이 높은 코딩된 프레임부터 시작하여 상기 한정된 시간적 레벨 순서로 상기 코딩된 프레임들을 역시간적 필터링하는 것을 특징으로 하는 비디오 디코딩 방법
- 제42항에 있어서, 상기 한정된 시간적 레벨 순서는 상기 입력받은 비트스트림으로부터 코딩 모드에 대한 정보를 추출하고 상기 코딩 모드에 대한 정보에 따라 결정하는 것을 특징으로 하는 비디오 디코딩 방법
- 제49항에 있어서, 상기 한정된 시간적 레벨 순서는 동일 코딩 모드에서 GOP 사이즈를 주기로 반복되는 것을 특징으로 하는 비디오 디코딩 방법
- 제49항에 있어서, 상기 코딩 모드에 대한 정보는 지연시간 제어 파라미터(D)를 포함하고 있으며, 상기 결정되는 한정된 시간적 레벨 순서는 역시간적 변환되지 않은 가장 낮은 레벨의 코딩된 프레임의 인덱스보다 D 초과되지 않는 인덱스를 갖는 코딩된 프레임들 중에서 가장 높은 시간적 레벨을 갖는 코딩된 프레임부터 시작해서 시간적 레벨이 낮은 프레임 순서으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 코딩된 프레임부터 프레임 인덱스가 큰 코딩된 프레임 순서인 것을 특징으로 비디오 디코딩 방법
- 제42항에 있어서, 상기 중복제거 순서는 상기 입력받은 비트스트림으로부터 추출하는 것을 특징으로 하는 비디오 디코딩 방법
- 입력받은 비트스트림을 해석하여 코딩된 프레임들에 대한 정보를 추출하는 비트스트림 해석부;상기 코딩된 프레임들에 대한 정보를 역양자화하여 변환계수들을 얻는 역양자화부;역공간적 변환과정을 수행하는 역공간적 변환부; 및한정된 시간적 레벨 순서로 역시간적 변환과정을 수행하는 역시간적 변환부;를 포함하여,중복제거 순서의 역순서에 따라 상기 변환계수들에 대한 역공간적 변환과정과 역시간적 변환과정을 하여 프레임들을 복원하는 비디오 디코더
- 제53항에 있어서, 상기 중복제거 순서의 역순서는 역시간적 변환과정에서 역공간적 변환과정이며, 상기 역공간적 변환부는 역웨이브렛 변환방식으로 역공간적 변환작업을 수행하는 것을 특징으로 하는 비디오 디코더
- 제53항에 있어서, 상기 중복제거 순서의 역순서는 역공간적 변환과정에서 역시간적 변환과정인 것을 특징으로 하는 비디오 디코더
- 제55항에 있어서, 상기 역공간적 변환부는 역웨이브렛 변환방식으로 역공간적 변환작업을 수행하는 것을 특징으로 하는 비디오 디코더
- 제53항에 있어서, 상기 한정된 시간적 레벨 순서는 시간적 레벨이 높은 코딩된 프레임부터 시간적 레벨이 낮은 코딩된 프레임 순서인 것을 특징으로 하는 비디오 디코더
- 제57항에 있어서, 상기 한정된 시간적 레벨 순서는 GOP 사이즈를 주기로 반복되는 것을 특징으로 하는 비디오 디코더
- 제58항에 있어서, 상기 역 시간적 변환부는 GOP 단위로 역시간적 변환과정을 수행하는데, GOP의 가장 시간적 레벨이 높은 코딩된 프레임부터 시작하여 상기 한정된 시간적 레벨 순서로 상기 코딩된 프레임들을 역시간적 필터링하는 것을 특징으로 하는 비디오 디코더
- 제53항에 있어서, 상기 비트스트림 해석부는 상기 입력받은 비트스트림으로부터 코딩 모드에 대한 정보를 추출하고 상기 코딩 모드에 대한 정보에 따라 상기 한정된 시간적 레벨 순서를 결정하는 것을 특징으로 하는 비디오 디코더
- 제60항에 있어서, 상기 한정된 시간적 레벨 순서는 동일 코딩 모드에서 GOP 사이즈를 주기로 반복되는 것을 특징으로 하는 비디오 디코더
- 제60항에 있어서, 상기 코딩 모드에 대한 정보는 지연시간 제어 파라미터(D)를 포함하고 있으며, 상기 결정되는 한정된 시간적 레벨 순서는 역시간적 변환되지 않은 가장 낮은 레벨의 코딩된 프레임의 인덱스보다 D 초과되지 않는 인덱스를 갖는 코딩된 프레임들 중에서 가장 높은 시간적 레벨을 갖는 코딩된 프레임부터 시작해서 시간적 레벨이 낮은 프레임 순서으로 동일한 시간적 레벨의 경우에는 프레임 인덱스가 작은 코딩된 프레임부터 프레임 인덱스가 큰 코딩된 프레임 순서인 것을 특징으로 비디오 디코더
- 제53항에 있어서, 상기 중복제거 순서는 상기 입력받은 비트스트림으로부터 추출하는 것을 특징으로 하는 비디오 디코더
- 제1항 내지 제25항과 제42항 내지 제52항 중 어느 한 항에 의한 방법을 실행하기 위한 컴퓨터로 읽을 수 있는 프로그램을 기록한 기록 매체
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2004/002371 WO2005055606A1 (en) | 2003-12-01 | 2004-09-16 | Method and apparatus for scalable video encoding and decoding |
AU2004310915A AU2004310915B2 (en) | 2003-12-01 | 2004-09-16 | Method and apparatus for scalable video encoding and decoding |
RU2006123465/09A RU2329615C2 (ru) | 2003-12-01 | 2004-09-16 | Способ масштабируемого кодирования и декодирования видеосигнала и устройство для его осуществления |
MXPA06006107A MXPA06006107A (es) | 2003-12-01 | 2004-09-16 | Metodo y aparato de codificacion y decodificacion escalables de video. |
CA2547891A CA2547891C (en) | 2003-12-01 | 2004-09-16 | Method and apparatus for scalable video encoding and decoding |
US10/964,917 US20050117647A1 (en) | 2003-12-01 | 2004-10-15 | Method and apparatus for scalable video encoding and decoding |
EP04257378A EP1538566A3 (en) | 2003-12-01 | 2004-11-29 | Method and apparatus for scalable video encoding and decoding |
JP2004347757A JP4647980B2 (ja) | 2003-12-01 | 2004-11-30 | スケーラブルビデオコーディング及びデコーディング方法と装置 |
CN 200710169376 CN101188757B (zh) | 2003-12-01 | 2004-12-01 | 用于可伸缩视频编码和解码的方法和设备 |
CN 200410096448 CN1625265A (zh) | 2003-12-01 | 2004-12-01 | 用于可伸缩视频编码和解码的方法和设备 |
JP2006221222A JP4763548B2 (ja) | 2003-12-01 | 2006-08-14 | スケーラブルビデオコーディング及びデコーディング方法と装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US52582703P | 2003-12-01 | 2003-12-01 | |
US60/525,827 | 2003-12-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050053469A true KR20050053469A (ko) | 2005-06-08 |
KR100596706B1 KR100596706B1 (ko) | 2006-07-04 |
Family
ID=37249136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040002076A KR100596706B1 (ko) | 2003-12-01 | 2004-01-12 | 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050117647A1 (ko) |
KR (1) | KR100596706B1 (ko) |
CN (1) | CN1906945B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100703760B1 (ko) * | 2005-03-18 | 2007-04-06 | 삼성전자주식회사 | 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050078099A (ko) * | 2004-01-30 | 2005-08-04 | 삼성전자주식회사 | 적응적으로 키 프레임을 삽입하는 비디오 코딩 장치 및 방법 |
US7580461B2 (en) | 2004-02-27 | 2009-08-25 | Microsoft Corporation | Barbell lifting for wavelet coding |
US7627037B2 (en) * | 2004-02-27 | 2009-12-01 | Microsoft Corporation | Barbell lifting for multi-layer wavelet coding |
KR100654431B1 (ko) * | 2004-03-08 | 2006-12-06 | 삼성전자주식회사 | 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더 |
EP1575299A1 (en) * | 2004-03-12 | 2005-09-14 | Thomson Licensing S.A. | Motion-compensated spatio-temporal wavelet compression of video data with optimised permutation of the frames |
US7792188B2 (en) * | 2004-06-27 | 2010-09-07 | Apple Inc. | Selecting encoding types and predictive modes for encoding video data |
US20050286777A1 (en) * | 2004-06-27 | 2005-12-29 | Roger Kumar | Encoding and decoding images |
US8111752B2 (en) * | 2004-06-27 | 2012-02-07 | Apple Inc. | Encoding mode pruning during video encoding |
KR20060043050A (ko) * | 2004-09-23 | 2006-05-15 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
KR20060043867A (ko) * | 2004-09-23 | 2006-05-15 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
KR100668345B1 (ko) * | 2004-10-05 | 2007-01-12 | 삼성전자주식회사 | 움직임 보상된 계층 생성장치 및 방법 |
KR20060063604A (ko) * | 2004-12-06 | 2006-06-12 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
KR101102393B1 (ko) * | 2004-12-06 | 2012-01-05 | 엘지전자 주식회사 | 에러 파급을 방지하는 영상신호의 엔코딩 및 디코딩 방법과장치 |
KR20060070400A (ko) * | 2004-12-20 | 2006-06-23 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
US8194739B2 (en) * | 2005-08-26 | 2012-06-05 | Thomson Licensing | Trick play using temporal layering |
KR100727989B1 (ko) * | 2005-10-01 | 2007-06-14 | 삼성전자주식회사 | 동영상 부호화시의 인터 모드 결정 방법 및 장치 |
JP4621585B2 (ja) * | 2005-12-15 | 2011-01-26 | 株式会社東芝 | 画像処理装置及び画像処理方法 |
KR20070108434A (ko) * | 2006-01-09 | 2007-11-12 | 한국전자통신연구원 | SVC(Scalable Video Coding)파일포맷에서의 데이터 공유 개선방법 |
KR100818921B1 (ko) * | 2006-01-12 | 2008-04-03 | 삼성전자주식회사 | 모션 벡터 압축 방법, 상기 압축 방법을 이용하는 비디오인코더 및 비디오 디코더 |
US9602840B2 (en) * | 2006-02-06 | 2017-03-21 | Thomson Licensing | Method and apparatus for adaptive group of pictures (GOP) structure selection |
US9332274B2 (en) * | 2006-07-07 | 2016-05-03 | Microsoft Technology Licensing, Llc | Spatially scalable video coding |
US8332412B2 (en) * | 2009-10-21 | 2012-12-11 | At&T Intellectual Property I, Lp | Method and apparatus for staged content analysis |
CN102223524B (zh) * | 2010-04-13 | 2013-08-07 | 中兴通讯股份有限公司 | 一种三维小波视频编码帧分组方法及装置 |
US8798171B2 (en) * | 2010-06-28 | 2014-08-05 | Richwave Technology Corp. | Video transmission by decoupling color components |
KR20120016991A (ko) * | 2010-08-17 | 2012-02-27 | 오수미 | 인터 프리딕션 방법 |
US20120275502A1 (en) * | 2011-04-26 | 2012-11-01 | Fang-Yi Hsieh | Apparatus for dynamically adjusting video decoding complexity, and associated method |
KR101383775B1 (ko) | 2011-05-20 | 2014-04-14 | 주식회사 케이티 | 화면 내 예측 방법 및 장치 |
JP2014527778A (ja) | 2011-08-29 | 2014-10-16 | アイ.シー.ブイ.ティー リミテッド | ビデオコンテンツシステムの制御 |
EP2672710B1 (en) | 2011-09-09 | 2022-10-26 | KT Corporation | Method for deriving a temporal predictive motion vector, and apparatus using the method |
TWI580259B (zh) * | 2012-01-18 | 2017-04-21 | Jvc Kenwood Corp | Dynamic image decoding device, dynamic image decoding method, and dynamic image decoding program |
KR20130116782A (ko) | 2012-04-16 | 2013-10-24 | 한국전자통신연구원 | 계층적 비디오 부호화에서의 계층정보 표현방식 |
CN104754345B (zh) * | 2013-12-27 | 2019-01-04 | 展讯通信(上海)有限公司 | 视频编码方法及视频编码器 |
CN107396121B (zh) * | 2017-08-22 | 2019-11-01 | 中南大学 | 一种基于分层b帧结构的编码单元深度预测方法及装置 |
CN107633023B (zh) * | 2017-08-25 | 2020-04-21 | 北京奇艺世纪科技有限公司 | 一种图像去重方法和装置 |
CN111343503B (zh) * | 2020-03-31 | 2022-03-04 | 北京金山云网络技术有限公司 | 视频的转码方法、装置、电子设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2126467A1 (en) * | 1993-07-13 | 1995-01-14 | Barin Geoffry Haskell | Scalable encoding and decoding of high-resolution progressive video |
US6233017B1 (en) * | 1996-09-16 | 2001-05-15 | Microsoft Corporation | Multimedia compression system with adaptive block sizes |
US6728775B1 (en) * | 1997-03-17 | 2004-04-27 | Microsoft Corporation | Multiple multicasting of multimedia streams |
US6347157B2 (en) * | 1998-07-24 | 2002-02-12 | Picsurf, Inc. | System and method for encoding a video sequence using spatial and temporal transforms |
WO2001078402A1 (en) * | 2000-04-11 | 2001-10-18 | Koninklijke Philips Electronics N.V. | Video encoding and decoding method |
US6907075B2 (en) * | 2000-06-30 | 2005-06-14 | Koninklijke Philips Electronics N.V. | Encoding method for the compression of a video sequence |
CN1201590C (zh) * | 2000-11-17 | 2005-05-11 | 皇家菲利浦电子有限公司 | 使用块匹配处理的视频编码方法 |
US20030202599A1 (en) * | 2002-04-29 | 2003-10-30 | Koninklijke Philips Electronics N.V. | Scalable wavelet based coding using motion compensated temporal filtering based on multiple reference frames |
-
2004
- 2004-01-12 KR KR1020040002076A patent/KR100596706B1/ko not_active IP Right Cessation
- 2004-10-15 US US10/964,917 patent/US20050117647A1/en not_active Abandoned
- 2004-11-18 CN CN2004800409041A patent/CN1906945B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100703760B1 (ko) * | 2005-03-18 | 2007-04-06 | 삼성전자주식회사 | 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN1906945B (zh) | 2012-12-05 |
US20050117647A1 (en) | 2005-06-02 |
CN1906945A (zh) | 2007-01-31 |
KR100596706B1 (ko) | 2006-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100596706B1 (ko) | 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치 | |
JP4763548B2 (ja) | スケーラブルビデオコーディング及びデコーディング方法と装置 | |
KR100597402B1 (ko) | 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치 | |
KR100654436B1 (ko) | 비디오 코딩 방법과 디코딩 방법, 및 비디오 인코더와디코더 | |
KR100834750B1 (ko) | 엔코더 단에서 스케일러빌리티를 제공하는 스케일러블비디오 코딩 장치 및 방법 | |
KR100678949B1 (ko) | 비디오 코딩 및 디코딩 방법, 비디오 인코더 및 디코더 | |
KR100679026B1 (ko) | 비디오 코딩 및 디코딩을 위한 시간적 분해 및 역 시간적분해 방법과, 비디오 인코더 및 디코더 | |
JP4685849B2 (ja) | スケーラブルビデオコーディング及びデコーディング方法、並びにその装置 | |
KR20060034195A (ko) | 다 계층 기반으로 코딩된 스케일러블 비트스트림의비트율을 조절하는 장치 및 방법 | |
KR100843080B1 (ko) | 비디오 트랜스코딩 방법 및 장치 | |
KR20050090308A (ko) | 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더 | |
US20050047503A1 (en) | Scalable video coding method and apparatus using pre-decoder | |
AU2007221795B2 (en) | Method and apparatus for scalable video encoding and decoding | |
WO2006080655A1 (en) | Apparatus and method for adjusting bitrate of coded scalable bitsteam based on multi-layer |
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: 20130530 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150528 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160530 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |