KR20090046812A - 비디오 압축 방법 - Google Patents
비디오 압축 방법 Download PDFInfo
- Publication number
- KR20090046812A KR20090046812A KR1020097001956A KR20097001956A KR20090046812A KR 20090046812 A KR20090046812 A KR 20090046812A KR 1020097001956 A KR1020097001956 A KR 1020097001956A KR 20097001956 A KR20097001956 A KR 20097001956A KR 20090046812 A KR20090046812 A KR 20090046812A
- Authority
- KR
- South Korea
- Prior art keywords
- video
- frame
- frames
- mpeg
- motion
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/142—Detection of scene cut or scene change
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명에 따른 일 실시예는 디코더(808)와 연관되는 제한을 결정하는 단계(602)를 포함할 수 있는 방법(600)이다. 또한, 이 방법은 비디오 콘텐츠(802)를 인코딩하기 위해 사용될 수 있는 기준 B-프레임의 최대 개수를 결정하는 단계(604)를 포함할 수 있다. 최대 개수는 디코더와 연관되는 제한에 기초한다는 것을 유의하자.
Description
현재 비디오 콘텐츠를 압축하고 압축 해제하기 위해 사용될 수 있는 상이한 비디오 압축 표준이 존재한다. 예를 들어, MPEG(Moving Pictures Experts Group)가 상이한 비디오 압축 표준을 정의하였다. 비디오 압축 표준 중 인기를 얻고 있는 표준은 MPEG-4 파트 10으로도 지칭되는 MPEG-4 AVC(Advanced Video Coding)이다. MPEG-4 AVC는 ITU(International Telecommunication Union)에서 정의되는 H.264 비디오 압축 표준과 유사하다는 것을 유의하자.
MPEG-4 AVC가 인기를 얻고 있는 이유 중 하나는, 현재 표준, 가령 MPEG-2보다 우수한 대량의 비디오 콘텐츠 데이터를 처리하는 기능 때문이다. 이 기능이 바람직한 이유는, HD(High Definition) 비디오 콘텐츠가 더 많은 인기를 얻고 있으며 종래 비디오 시스템보다 몇 배 많은 비디오 콘텐츠 데이터를 포함하기 때문이다. 이러한 사실로 인해, HD 비디오 콘텐츠 브로드캐스터들은 종래 사용해 왔던 것과 동일한 대역폭 내에 많은 HD 채널을 맞추고자 한다.
그러나, MPEG-4 AVC와 관련되는 문제점 중 하나는, 그 비트스트림 문장론이 비디오 콘텐츠 압축을 위한 모션 예측을 위해 거의 무제한의 프레임 개수를 허용한다는 것이다. 모션 예측을 위한 프레임 개수가 증가함에 따라 비디오 콘텐츠를 압 축 해제하기 위해 디코더가 필요로 하는 프레임 버퍼의 개수도 증가한다는 것을 유의하자. 프레임 버퍼는 가격이 고가일 수 있으므로, 비디오 비트스트림의 압축 프로세스에 제한이 부과되지 않는 경우에 비용 효율적인 디코딩 해결책을 방해한다. 그러나, 제한이 많이 부과될수록 최종 비디오 비트스트림의 품질이 악화될 수 있다. 이와 같이, 비용 효율적인 디코딩 해결책에 기초하는 최고의 품질 비디오 비트스트림을 생성하는 MPEG-4 AVC를 사용하는 것이 바람직하다.
도 1은 MPEG-1 및 MPEG-2 프리젠테이션 스트림의 예시적 모션 기준 구조를 도시하고 있다.
도 2는 본 발명의 다양한 실시예에 따라 사용될 수 있는 MPEG-4 AVC 프리젠테이션 비디오 프레임 순서의 예시적 모션 기준 구조를 도시하고 있다.
도 3은 도 1에 도시된 프리젠테이션 비트스트림의 상이한 비디오 프레임 유형에 기초하는 예시적 비트스트림 프레임 순서화이다.
도 4는 MPEG-1 및 MPEG-2에 부합하는 디코딩된 비디오 프레임을 버퍼링함으로써 야기되는 예시적인 하나의 프레임 지연을 도시하고 있다.
도 5는 MPEG-4 AVC와 연관되는 디코딩된 비디오 프레임을 버퍼링함으로써 예시적인 2개의 프레임 지연을 도시하고 있다.
도 6은 본 발명의 다양한 실시예에 따른 예시적 방법의 흐름도이다.
도 7은 본 발명의 다양한 실시예에 따른 다른 예시적 방법의 흐름도이다.
도 8은 본 발명의 다양한 실시예에 따른 예시적 시스템의 블록도이다.
이제 본 발명에 따른 다양한 실시예를 상세히 참조할 것이며, 그 예들이 첨부된 도면에 도시되어 있다. 다양한 실시예와 관련하여 본 발명을 설명할 것이지만, 이들 다양한 실시예는 본 발명을 제한하도록 의도된 것이 아니라는 것을 이해할 것이다. 반대로, 본 발명은 대체물, 변형물 및 균등물을 포함하는 것으로 의도되며, 이들은 청구범위에 따라 해석되는 본 발명의 범위 내에 포함될 수 있다. 또한, 본 발명에 따른 다양한 실시예의 상세한 설명에서, 다양한 특정 세부 사항이 설정되어 본 발명의 완전한 이해를 제공한다. 그러나, 본 발명이 이들 특정 세부사항 없이 실시될 수 있음은 당업자에게 자명할 것이다. 기타 사항, 공지된 방법, 절차, 구성요소 및 회로는 본 발명의 양태를 불필요하게 흐리지 않기 위해서 상세히 설명하지 않는다.
본 발명에 따른 다양한 실시예는 비디오 압축을 포함할 수 있다. 비디오 압축을 위해 사용될 수 있는 기술 중 하나는 모션 예측 또는 모션 추정으로 지칭되며, 이는 당업자에게 잘 알려져 있다. 비디오 시퀀스는, 연속하는 프레임들 사이의 차이가 화면 물체 또는 카메라 모션(또는 둘 다)에 의해 통상적으로 야기되는 현저한 시간적 중복을 포함한다는 것을 이해할 것이며, 이것이 비디오 압축을 위해 사용될 수 있다. 모션 추정은 비디오 시퀀스 내에 포함되는 시간적 중복을 제거하기 위해 사용되는 기술이다.
비디오 압축을 위한 상이한 표준이 존재한다는 것을 유의하자. 예를 들어, MPEG(Moving Pictures Experts Group)은 상이한 비디오 압축 표준을 정의하였다. MPEG 비디오 압축 표준에 따르면, 비디오 프레임은 직사각형 비중첩 블록으로 분할되어 각 블록은 모션 기준 프레임에서 다른 블록과 일치될 수 있으며, 블록 일치 예측이라고도 알려져 있다. 잘 일치될수록 달성 가능한 압축이 높아진다. MPEG-1 및 MPEG-2 비디오 압축 표준은 모션 추정에 각각 기초하는데, 연속하는 비디오 프레임들 사이의 많은 중복이 존재하고 그 의존성을 이용함으로써 더 우수한 압축을 얻을 수 있기 때문이다. 그러므로, 최적화된 시각적 품질로 콘텐츠를 유지하면서 비디오 비트스트림을 나타내기 위해 가능한 최소의 비트 개수를 갖는 것이 바람직하다.
모션 추정을 수행하는 단계의 일부로서, MPEG-1 및 MPEG-2는 3개의 상이한 비디오 프레임 유형, I-프레임, P-프레임 및 B-프레임을 포함한다. 구체적으로, I-프레임은 상호-프레임 모션을 사용하지 않고(모션을 예측하지 않음), 스틸 이미지 압축, 가령 JPEG(Joint Photographic Experts Group)과 유사하게 독립적으로 디코딩 가능하다. 또한, P-프레임은 이전 P-프레임 또는 I 프레임 중 단 하나의 모션 기준 프레임만을 사용하는 비디오 프레임으로서 정의될 수 있으며, 시간적으로 항상 최우선한다. I-프레임과 P-프레임 모두 다른 비디오 프레임이 이들을 모션 예측을 위해 사용할 수 있기 때문에 모션 기준 프레임일 수 있다는 것을 유의하자. 마지막으로, B-프레임은 예측을 위해 2개의 모션 기준 비디오 프레임, 하나의 이전 비디오 프레임(I-프레임 또는 P-프레임일 수 있음) 및 하나의 이후 비디오 프레 임(I-프레임 또는 P-프레임일 수 있음)을 사용할 수 있다. 그러나, B-프레임은 모션 기준 프레임이 아니며, 모션 예측을 위해 다른 비디오 프레임에 의해 사용될 수 없다. P-프레임 및 B-프레임 모두 재구성을 위해 다른 비디오 프레임에 의존하므로 독립적으로 디코딩 가능하지 않다는 것을 유의하자. B-프레임은, I-프레임보다 우수한 압축을 제공하는 P-프레임보다 우수한 압축을 제공한다는 것을 유의하자.
도 1은 MPEG-1 및 MPEG-2 프리젠테이션 비디오 스트림(100)의 예시적 모션 기준 구조를 도시하고 있다. 모션 기준은 모든 비디오 프레임에 대해 도시되지 않는다는 것을 유의하자. 구체적으로, P-프레임에 대한 모션 추정은 (시간적으로 항상 우선하는) 이전 I-프레임 또는 P-프레임을 사용하는 단계를 포함할 수 있는데, 이는 모션 예측 또는 추정을 위해 하나의 프레임 버퍼를 사용하는 단계를 포함한다. 예를 들어, 프리젠테이션 비디오 스트림(100)의 P4-프레임과 같은 P-프레임에 있어서, 모션 추정은 이전 I1-프레임을 사용하는 단계를 포함할 수 있는데, 이는 화살표(102)로 표시된다. 또한, 프리젠테이션 비디오 스트림(100)의 P7-프레임은 모션 추정을 위해 이전 P4-프레임을 사용하는 단계를 포함할 수 있는데, 이는 화살표(104)로 표시된다.
B-프레임에 대한 모션 추정은 (시간적으로 항상 우선하는) 이전 I-프레임 또는 P-프레임 및 (시간적으로 항상 우선하는) 추후 I-프레임 또는 P-프레임을 사용하는 단계를 포함하는데, 이는 양방향 모션 추정 또는 예측을 위한 2개의 프레임 버퍼를 사용하는 단계를 포함한다. 예를 들어, 프리젠테이션 비디오 스트림(100)의 B2-프레임과 같은 B-프레임에 있어서, 모션 추정은 모션 예측 또는 추정을 위한 (화살표 110으로 표시되는) 추후 P4-프레임과 함께 (화살표 112로 표시되는) 이전 I1-프레임을 사용하는 단계를 포함할 수 있다. 또한, 프리젠테이션 비디오 스트림(100)의 B6-프레임은 모션 예측 또는 추정을 위해 (화살표 106로 표시되는) 추후 P7-프레임과 함께 (화살표 108로 표시되는) 이전 P4-프레임을 사용하는 단계를 포함할 수 있다.
도 1 내에서, 프리젠테이션 비디오 스트림(100)은 예시적 비디오 프레임들, I1-프레임, 이에 후속하는 B2-프레임, 이에 후속하는 B3-프레임, 이에 후속하는 P4-프레임, 이에 후속하는 B5-프레임, 이에 후속하는 B6-프레임, 이에 후속하는 P7-프레임, 이에 후속하는 B8-프레임, 이에 후속하는 B9-프레임, 이에 후속하는 I10-프레임, 이에 후속하는 다른 비디오 프레임을 포함하지만 이에 한정되는 것은 아니다.
전술한 바와 같이, MPEG-1 및 MPEG-2 비디오 압축 방안의 각각은 2개의 기준 비디오 프레임 중 최대로 모션 예측(또는 추정)을 제한한다. 그러나, MPEG-4 AVC(Advanced Video Coding)은 대조적으로 훨씬 많은 수의 기준 비디오 프레임을 허용함으로써 모션 추정을 일반화한다. MPEG-4 AVC(MPEG-4 Part 10으로도 알려짐)는 ITU(International Telecommunication Union) H.264 표준과 유사하다는 것을 유의하자. MPEG-4 AVC 코덱은 임의의 개수의 모션 기준 프레임을 정의하는 자유도를 제공한다는 것을 이해하자. 예를 들어, 이전에 인코딩된 임의의 비디오 프레임이 기준 비디오 프레임일 수 있는데, 모션 추정 또는 예측을 위해 이용 가능하기 때문이다. 이전에 인코딩된 비디오 프레임은 (인코딩될 현재 비디오 프레임에 대해) 지난 비디오 프레임 또는 추후 비디오 프레임으로부터 존재할 수 있다는 것을 유의하자. 이와 반대로, MPEG-1 및 MPEG-2 내에서, I-프레임 및 P-프레임은 모션 기준 비디오 프레임으로서 사용될 수 있지만 B-프레임은 그렇지 않다. 그러나, MPEG-4 AVC 내에서, B-프레임도 모션 기준 비디오 프레임일 수 있으며, 기준 B-프레임으로 지칭된다. MPEG-4 AVC 내에서, 일반화된 P 및 B 비디오 프레임에 대한 정의는 다음과 같다. P-프레임은 다수의 모션 기준 비디오 프레임이 시간적으로 지난 것이면 이들을 사용할 수 있다. 또한, B-프레임은 다수의 모션 기준 프레임이 이전에 인코딩되었으면 시간적으로 이전 또는 추후인 다수의 모션 기준 프레임을 사용할 수 있다.
도 2는 본 발명의 다양한 실시예에 따라 사용될 수 있는 MPEG-4 AVC 프리젠테이션 비디오 프레임 순서(200)의 예시적 모션 기준(또는 추정) 구조를 도시하고 있다. 모션 기준(또는 추정)이 모든 비디오 프레임에 대해 도시되지 않는다는 것을 유의해야 한다. 프리젠테이션 프레임 순서(200) 내에서 "Br"은 기준 B-프레임을 지칭한다는 것을 유의하자. MPEG-4 AVC 프리젠테이션 비디오 프레임 순서(200)에 의해 도시된 바와 같이, 모션 추정이 수행될 수 있는 많은 가능성이 존재한다. 예를 들어, P9-프레임과 같은 P-프레임에 대한 모션 추정은 (화살표 202로 표시되는) I1-프레임, (화살표 204로 표시되는) Br3-프레임 및/또는 (화살표 206로 표시되는) P5-프레임과 같은 시간적으로 지난 것으로부터의 임의의 이전 기준 프레임을 사용하는 단계를 포함할 수 있다.
B-프레임에 있어서, MPEG-4 AVC와 연관되는 2개의 상이한 종류: 기준 Br-프 레임 및 B-프레임이 존재한다. 구체적으로, Br-프레임, 가령, Br3-프레임에 대한 모션 추정은 시간적으로 과거 또는 추후 모두로부터의 다른 기준 비디오 프레임이 이미 인코딩되었으면 이들을 사용하는 단계를 포함할 수 있다. 예를 들어, 프리젠테이션 프레임 순서(200)의 Br3-프레임에 대한 모션 추정은 (화살표 102로 표시되는) 이전의 시간적 I1-프레임 및 (화살표 210로 표시되는) 추후 시간적 P5-프레임을 사용하는 단계를 포함할 수 있다.
최종적으로 도 2 내에서 B-프레임(가령, B10-프레임)에 대한 모션 추정은 또한 시간적으로 과거 및 추후로부터의 B-프레임을 포함하는 기준 프레임을 사용할 수 있지만, 이들 자체는 기준 프레임으로서 사용될 수 없다. 예를 들어, 프리젠테이션 프레임 순서(200)의 B10-프레임에 대한 모션 추정은 (화살표 220로 표시되는) 이전 시간적 P9-프레임, (화살표 224로 표시되는) 추후 시간적 Br11-프레임 및 (화살표 222로 표시되는) 추후 시간적 I13-프레임을 사용하는 단계를 포함할 수 있다. 또한, B8-프레임에 대한 모션 추정은 (화살표 216로 표시되는) 이전 시간적 Br7-프레임 및 (화살표 218로 표시되는) 추후 시간적 P9-프레임을 사용하는 단계를 포함할 수 있다. 또한, B6-프레임에 대한 모션 추정은 (화살표 212로 표시되는) 이전 시간적 P5-프레임 및 (화살표 214로 표시되는) 추후 시간적 Br7-프레임을 사용하는 단계를 포함할 수 있다.
모션 추정 동안, 가능한 최대로 근접한 현재 프레임인 기준 프레임을 사용하는 것이 바람직하다는 것을 유의하자. 이와 같이, 프리젠테이션 비디오 프레임 순서(200)에 도시된 바와 같은 Br-프레임(가령, Br11 및 Br7)을 사용하는 것이 바람 직하다. 예를 들어, 현재 프레임으로부터 너무 멀리 떨어진 기준 프레임을 갖는 경우, 기준 프레임은 우수한 모션 일치를 제공할 수도 있는데, 물체가 시야 밖이거나 변경된 방향일 수 있기 때문이다.
도 2 내에서, 프리젠테이션 프레임 순서(200)는 예시적 비디오 프레임들, I1-프레임, 이에 후속하는 B2-프레임, 이에 후속하는 Br3-프레임,이에 후속하는 B4-프레임, 이에 후속하는 P5-프레임, 이에 후속하는 B6-프레임, 이에 후속하는 Br7-프레임, 이에 후속하는 B8-프레임, 이에 후속하는 P9-프레임, 이에 후속하는 B10-프레임, 이에 후속하는 Br11-프레임, 이에 후속하는 B12-프레임, 이에 후속하는 I13-프레임, 이에 후속하는 다른 비디오 프레임을 포함하지만 이에 한정되는 것은 아니다.
도 1은 비디오 프레임의 디스플레이 또는 프리젠테이션 순서(100)를 도시하고 있는데, 이는 비디오 프레임이 디스플레이 장치에 어떻게 프리젠테이션되어야 하는지에 대한 시간적 시퀀스라는 것을 유의하자. 프리젠테이션 비트스트림 순서(100)의 B-프레임은 양방향 모션 예측(또는 추정)으로 인해 과거 및 추후 비디오 프레임 모두에 의존한다는 것이 인식된다. 그러나, 추후 프레임을 사용하는 단계는 프리젠테이션 비트스트림 순서(100)의 비디오 프레임 순서를 혼합하는 단계를 포함하여 적합한 기준 프레임이 현재 프레임의 인코딩 또는 디코딩에 대해 이용 가능하다. 예를 들어, B5-프레임과 B6-프레임은 모두 P4-프레임 및 P7-프레임에 의존하는데, 이는 B5 및 B6-프레임의 인코딩 이전에 인코딩되어야 한다. 결과적으로, MPEG 비트스트림의 비디오 프레임 순서화는 시간적으로 선형이 아니며 실제 프 리젠테이션 순서와 상이하다.
예를 들어, 도 3은 상이한 비디오 프레임 종류의 프리젠테이션 비트스트림(100)에 기초하는 예시적 비트스트림 프레임 순서화(300)이며, 이는 도 1에 도시되어 있다. 구체적으로, 비디오 비트스트림(300)의 제 1 비디오 프레임은 I1-프레임인데, 이는 그 인코딩이 임의의 기준 비디오 프레임에 의존하지 않고 프리젠테이션 비트스트림(100)의 제 1 비디오 프레임이기 때문이다. P4-프레임은 다음인데, 이는 그 인코딩이 I1-프레임에 기초하고 B2-프레임의 인코딩 이전에 인코딩되어야 하기 때문이다. B2-프레임은 다음인데, 이는 그 인코딩이 I1-프레임과 P4-프레임 모두에 기초하기 때문이다. B3-프레임은 다음인데 그 인코딩 또한 I1-프레임과 P4-프레임 모두에 기초하기 때문이다. P7-프레임은 다음인데, 그 인코딩이 P4-프레임에 기초하고 B5-프레임의 인코딩 이전에 인코딩되어야 하기 때문이다. B5-프레임은 다음인데, 이는 P4-프레임과 P7-프레임 모두에 기초하기 때문이다. B6-프레임은 다음인데, 그 인코딩 또한 P4-프레임과 P7-프레임 모두에 기초하기 때문이다. I10-프레임은 다음인데, B8 및 B9-프레임의 인코딩 이전에 인코딩되어야 하기 때문이다. B8-프레임은 다음인데, 이는 그 인코딩이 P7-프레임 및 I10-프레임 모두에 기초하기 때문이다. B9-프레임은 다음인데, 이는 그 인코딩 또한 P7-프레임과 I10-프레임 모두에 기초하기 때문이다. 이 방식에서, 비트스트림 프레임 순서화(300)는 (도 1에 도시된 바와 같은) 프리젠테이션 비트스트림(100)의 순서화에 기초하여 생성될 수 있다. 이와 같이, 비트스트림 순서화(300)를 이용함으로써, 적합한 기준 프레임이 현재 비디오 프레임의 인코딩 또는 디코딩을 위해 이용 가능 하다.
도 3 내에서, 비디오 비트스트림(300)은 예시적 비디오 프레임들, I1-프레임, 이에 후속하는 P4-프레임, 이에 후속하는 B2-프레임, 이에 후속하는 B3-프레임, 이에 후속하는 P7-프레임, 이에 후속하는 B5-프레임, 이에 후속하는 B6-프레임, 이에 후속하는 I10-프레임, 이에 후속하는 B8-프레임, 이에 후속하는 B9-프레임, 이에 후속하는 다른 비디오 프레임을 포함하지만 이에 한정되는 것은 아니다.
혼합된 비디오 비트스트림(300)의 프레임 순서화로 인해 비디오 프레임은 디코딩에 따라 즉시 디스플레이되거나 제공될 수 없다는 것을 유의해야 한다. 예를 들어, 비디오 비트스트림(300)의 비디오 프레임(P4)을 디코딩한 후, 이는 저장될 수 있는데 왜냐하면 비디오 프레임 B2 및 B3이 디코딩되거나 디스플레이될 때까지 디스플레이되거나 제공되어야 하기 때문이다. 그러나, 이 종류의 프레임 버퍼링은 지연을 야기할 수 있다.
예를 들어, 도 4는 MPEG-1 및 MPEG-2에 부합하는 디코딩된 비디오 프레임을 버퍼링함으로써 야기되는 예시적인 하나의 프레임 지연을 도시하고 있다. 구체적으로, 도 4는 (도 1의) 대응하는 비디오 프리젠테이션 순서(100)와 함께 (도 1의) 비디오 비트스트림 프레임 순서(300)를 포함하는데, 이는 비트스트림 순서(300) 아래에 위치된다. 또한, 프리젠테이션 순서화(100)는 한 프레임 위치만큼 우측으로 시프트되며, 이로써 디스플레이되거나 프리젠테이션되기 전에 비트스트림(300)의 디코딩된 비디오 프레임의 버퍼링 프로세스에 의해 야기되는 한 프레임 지연을 나타낸다.
예를 들어, 일단 비트스트림(300)의 I1-프레임이 디코딩되면 디스플레이되거나 프리젠테이션되어서는 안 되는데, 왜냐하면 다음 비디오 프레임, B2-프레임은 P4-프레임이 디코딩될 때까지 디코딩되어가 디스플레이될 수 없기 때문이다. 이와 같이, I1-프레임은 버퍼링되거나 저장될 수 없다. 다음으로, I1-프레임을 사용하여 일단 P4-프레임이 디코딩되면, I1-프레임은 디스플레이되거나 프리젠테이션될 수 있으며 P4-프레임은 버퍼링되거나 저장될 수 있다. 그 후, B2-프레임은 I1-프레임 및 P4-프레임 모두를 사용하여 디코딩될 수 있어서 디스플레이되거나 프리젠테이션될 수 있다. 비트스트림(300)의 디코딩은 하나의 프레임 지연을 얻는다는 것을 이해해야 하며, 이는 디코딩 프리젠테이션 지연으로 지칭될 수 있다. MPEG-1 및 MPEG-2에 있어서, 최대 지연은 모션 기준 구조와 무관한 하나의 프레임이라는 것을 인식해야 한다.
도 4의 한 프레임 지연이 주어지면, 디코더는 디코딩 동안에 2개의 기준 프레임을 저장하는 2개의 추가 프레임 버퍼와 함께 지연을 위한 프레임 버퍼를 가질 것이다.
그러나, 프리젠테이션 지연을 디코딩하는 것은 MPEG-4와 같은 새로운 비디오 압축/압축 해제 표준을 위한 더 중요한 문제인데, 왜냐하면 프리젠테이션 지연은 MPEG-4 AVC의 유연한 모션 기준 구조로 인해 한계가 설정되지 않을 수 있기 때문이다.
예를 들어, 도 5는 MPEG-4 AVC와 연관되는 디코딩된 비디오 프레임을 버퍼링함으로써 야기되는 예시적인 2개의 프레임 지연을 도시하고 있다. 구체적으로, 도 5는 (도 2의) 비디오 프리젠테이션 프레임 순서(200)에 대응하는 비디오 비트스트림 프레임 순서(500)를 포함하는데, 이는 비트스트림 순서(500)의 아래에 위치된다. 또한, 프리젠테이션 프레임 순서화(200)는 2개의 프레임 위치만큼 우측으로 시프트되며, 이로써 디스플레이되거나 프리젠테이션되기 전에 비트스트림 프레임 순서(500)의 디코딩된 비디오 프레임의 버퍼링 프로세스에 의해 야기되는 2 프레임 지연을 나타낸다. 구체적으로, 도 5에서 볼 수 있는 바와 같이, 연속하는 I와 P-프레임 쌍(I/P 프레임) 또는 연속하는 P-프레임 쌍(P/P 프레임) 사이의 하나의 기준 Br-프레임(가령, Br3)을 사용함으로써 도 4의 프리젠테이션 지연에 비해 하나만큼 프리젠테이션 지연이 증가된다. 도 5의 프리젠테이션 지연의 값은 연속하는 I/P 프레임 또는 P/P 프레임 사이에 더 많은 기준 Br-프레임이 위치될수록 한계 없이 성장할 수 있다는 것을 유의하자.
실제에 있어서, 일부 실제 디코더가 프리젠테이션 지연을 제한하는 것이 바람직할 수 있다. 예를 들어, 프리젠테이션 지연이 증가할수록 디코더 프레임 버퍼의 개수가 증가하여 더 많은 고가의 디코더를 얻게 한다. 또한, 프리젠테이션 지연이 증가할수록 디코더는, 예를 들어, 통상적으로 프리젠테이션 지연이 허용될 수 없는 원격 회의 동안에 올바르게 동작할 수 없을 수 있다. 그러나, 실제 디코더가 프리젠테이션 지연을 제한하도록 구현되므로, MPEG-4 AVC 비트스트림의 비디오 품질 또한 부정적으로 영향 받을 것이라는 것을 유의하자.
도 5내에서, 비디오 비트스트림 순서(500)가 비디오 비트스트림 순서(300)와 유사한 방식으로 생성될 수 있다는 것이 인식된다. 그러나, 도 5의 비디오 비트스 트림 순서(500)는 도 2의 비디오 프리젠테이션 프레임 순서(200)를 참조하여 전술한 모션 추정 인코딩에 기초할 수 있다.
도 6은 적어도 하나의 디코더 제한에 기초하여 비디오 비트스트림의 품질을 최적화하기 위해 본 발명의 다양한 실시예에 따른 예시적 방법(600)의 흐름도이다. 이 방법(600)은 컴퓨터 장치가 판독 가능하고 실행 가능한 인스트럭션(또는 코드), 가령, 소프트웨어의 제어 하에 프로세서와 전기 부품에 의해 수행될 수 있는 본 발명의 다양한 실시예의 예시적 프로세스를 포함한다. 컴퓨팅 장치가 판독 가능하고 실행 가능한 인스트럭션(또는 코드)는, 예를 들어, 컴퓨팅 장치에 의해 사용 가능한 휘발성 메모리, 비휘발성 메모리 및/또는 대용량 데이터 저장 장치와 같은 데이터 저장 장치에 존재할 수 있다. 그러나, 컴퓨팅 장치가 판독 가능하고 실행 가능한 인스트럭션(또는 코드)은 임의의 종류의 연산 장치가 판독 가능한 매체에 존재할 수 있다. 특정 동작이 방법(600)에 개시되어 있지만 이들 동작은 예시적이다. 이 방법(600)은 도 6에 의해 도시되는 동작의 모두를 포함하지 않을 수 있다. 또한, 이 방법(600)은 도 6에 도시된 다양한 다른 동작 및/또는 동작의 변형을 포함할 수 있다. 유사하게, 이 방법(600)의 동작 시퀀스가 수정될 수 있다. 이 방법(600)의 동작은 소프트웨어, 펌웨어, 전자 하드웨어 또는 그 임의의 조합에 의해 수동적으로 수행될 수 있다.
구체적으로, 이 방법(600)은 비디오 디코더와 연관되는 적어도 하나의 제한을 결정하는 단계를 포함할 수 있다. 비디오 콘텐츠를 인코딩하는 데 사용될 수 있는 기준 B-프레임의 최대 개수로 결정이 내려질 수 있다. 최대 개수는 비디오 디코더와 연관되는 적어도 하나의 제한에 기초할 수 있다는 것을 유의하자. 적어도 하나의 비디오 특징은 비디오 콘텐츠 내에서 검출될 수 있다. 적어도 하나의 비디오 특징은 또한 비디오 콘텐츠를 인코딩하기 위해 사용될 수 있다.
도 6의 동작(602)에서, 비디오 디코더와 연관되는 적어도 하나의 제한이 결정될 수 있다. 동작(602)은 다양한 방식으로 구현될 수 있다. 예를 들어, 다양한 실시예에서 비디오 디코더는 복수의 프레임 버퍼를 포함할 수 있으며, 이에 한정되지 않는다. 다양한 실시예에서, 제한은 비디오 디코더에 의해 포함되는 복수의 프레임 버퍼의 개수와 동일하거나, 비디오 디코더와 연관되는 허용 가능한 프리젠테이션 프레임 지연에 동일한 것들 중 하나 이상일 수 있으며, 이에 한정되지 않는다. 다양한 실시예에서, 비디오 디코더는 디코딩을 위해 자신이 갖는 프레임 버퍼의 개수를 비디오 디코더에 알려줄 수 있다는 것을 유의하자. 어떤 상황에서 프리젠테이션 프레임 지연은 실제로 문제가 되지 않는다는 것이 지적된다. 예를 들어, 다양한 실시예에서, DVD 재생의 프리젠테이션 지연은 통상적으로 문제가 되지 않는다. 그러나, 통신, 비디오 전화 유형 및 비디오 회의 와 같은 상호작용 동작에 있어서 지연은 문제가 될 수 있다. 모션 기준 버퍼 및/또는 프리젠테이션 지연은 디코딩을 위해 사용되는 프레임 버퍼의 양에 관련될 수 있다는 것을 유의하자. 이들은 MPEG-1 및 MPEG-2 비트스트림은 작은 값을 취하므로 거의 영향을 주지 않지만 MPEG-4에 대해서는 값이 실제 구현을 위해 너무 클 수 있어서 상당한 설계 변수가 된다. DVD 플레이어와 같은 디지털 비디오 소비자 시장에서, 디코더는 통상적으로 대용량이며 그 가격은 수익성을 위해 낮게 유지되어야 한다. 프레임 버퍼 형태의 메모리는 상대적으로 고가이어서, 모션 기준 및/또는 프리젠테이션 버퍼가 통상적으로 디코딩 측(가령, DVD 플레이어)에 지시되게(dictated) 제한한다. 이러한 디코더 하드웨어 제한은 MPEG-4 AVC 비트스트림의 비디오 품질에 영향을 줄 수 있다. 이와 같이, 이 방법(600)은 사전 설정된 파라미터 값을 준 후 인코딩 측에서 비디오 비트스트림이 어떻게 최적화될 수 있는지를 결정할 수 있다. 동작(602)은 본 명세서에서 설명된 것과 유사한 임의의 방식으로 구현될 수 있지만 이에 한정되는 것은 아니라는 것을 유의하자.
동작(604)에서, 비디오 콘텐츠를 인코딩하기 위해 사용될 수 있는 기준 B-프레임의 최대 개수에 관한 결정이 내려질 수 있다. 최대 개수는 비디오 디코더와 연관되는 제한에 기초할 수 있다는 것을 유의하자. 동작(604)은 다양한 방식으로 구현될 수 있다는 것이 이해된다. 예를 들어, 다양한 실시예에서, 최대 개수는 복수의 프레임 버퍼의 개수에서 2를 뺀 것 및/또는 비디오 디코더와 연관되는 허용 가능한 프리젠테이션 프레임 지연에서 1을 뺀 것과 동일할 수 있으며, 이에 한정되지 않는다. 구체적으로, N개의 모션 기준 프레임 버퍼가 주어지면 Br-프레임의 최대 개수는 N-2이다. 프리젠테이션 프레임 지연으로 D가 주어지면, 최대 개수의 Br-프레임은 D-1이다. 따라서, 허용 가능한 Br-프레임의 순 개수는 이들 2개의 값 중 작은 것:min{N-2, D-1}이다. 그러나, N-2 또는 D-1이 동작(604)을 위한 최대값으로서 사용될 수 있다는 것이 이해된다. MPEG-4 AVC가 기준 B-프레임을 허용하므로 연속하는 인코딩 모션 기준 구조의 I/P 쌍 사이에 최대한 많은 Br-프레임을 사용하는 것이 바람직하다는 것이 이해된다. 본 명세서에서 언급되는 바와 같이, Br-프레임의 최대 개수는 이용 가능한 디코딩 모션 기준 버퍼 및 디코딩 프리젠테이션 지연 모두에 의해 결정된다. 동작(604)은 본 명세서에서 설명되는 것과 유사한 임의의 방식으로 구현될 수 있지만 이에 한정되는 것은 아니라는 것을 유의하자.
도 6의 동작(606)에서, 적어도 하나의 비디오 특징은 비디오 콘텐츠 내에서 검출될 수 있다. 동작(606)은 다양한 방식으로 구현될 수 있다는 것이 인식된다. 예를 들어, 다양한 실시예에서, 동작(606)은 본 명세서에서 설명되는 것과 유사한 임의의 방식으로 구현될 수 있지만 이에 한정되는 것은 아니다.
동작(608)에서, 적어도 하나의 비디오 특징 또한 사용되어 비디오 콘텐츠를 인코딩할 수 있다. 동작(608)은 다양한 방식으로 구현될 수 있다는 것이 인식된다. 예를 들어, 다양한 실시예에서, 동작(608)은 본 명세서에서 설명되는 것과 유사한 임의의 방식으로 구현될 수 있으며, 이에 한정되지 않는다.
도 7은 비디오 콘텐츠의 적어도 하나의 비디오 특징에 기초하여 비디오 콘텐츠의 인코딩을 적응하는 본 발명의 다양한 실시예에 따른 예시적 방법(700)의 흐름도이다. 이 방법(700)은 컴퓨팅 장치가 판독 가능하고 실행 가능한 인스트럭션(또는 코드), 가령, 소프트웨어 제어 하에서 프로세서 및 전기 부품에 의해 실행될 수 있는 본 발명의 다양한 실시예의 예시적 프로세스를 포함한다. 컴퓨팅 장치가 판독 가능하고 실행 가능한 인스트럭션(또는 코드)은, 예를 들어, 컴퓨팅 장치에 의해 사용 가능할 수 있는 휘발성 메모리, 비휘발성 메모리 및/또는 대용량 데이터 저장 장치와 같은 데이터 저장 장치에 존재할 수 있다. 그러나, 컴퓨팅 장치가 판 독 가능하고 실행 가능한 인스트럭션(코드)은 임의의 종류의 컴퓨팅 장치가 판독 가능한 매체에 존재할 수 있다. 특정 동작이 방법(700)에 개시되어 있지만, 이러한 동작은 예시적이다. 이 방법(700)은 도 7에 도시된 동작 모두를 포함하지 않을 수 있다. 또한, 이 방법(700)은 다양한 다른 동작 및/또는 도 7에 도시된 동작의 변형을 포함할 수 있다. 유사하게, 이 방법(700)의 동작 시퀀스는 수정될 수 있다. 이 방법(700)의 동작은 소프트웨어, 펌웨어, 전자 하드웨어 또는 그 임의의 조합에 의해 수동적으로 수행될 수 있다.
구체적으로, 이 방법(700)은 비디오 콘텐츠 내의 적어도 하나의 비디오 특징을 검출하는 단계를 포함할 수 있다. 비디오 콘텐츠의 인코딩은 비디오 콘텐츠의 시각적 품질을 향상시키기 위해 적어도 하나의 비디오 특징에 기초할 수 있다. 이 방법(700)은 비디오 디코더와 연관되는 제한을 결정하는 단계를 포함할 수 있는데, 인코딩 또한 제한에 기초할 수 있다. 다양한 실시예에서, 이 방법(700)은 모션 기준 구조 인코딩 내의 최적의 Br-프레임 위치를 결정하기 위해 사용될 수 있다는 것이 이해된다.
예를 들어, 2개의 연속하는 I/P 사이의 하나의 Br이 주어지면(전술한 바와 같이 N=3, D=2로 가정), 가능한 Br 위치는:
"P B Br B P", "P Br B B P', 및 "P B B Br P"이다.
비트스트림은 최적의 비디오 품질을 제공하는 구조를 사용해야 한다. 결정의 결과물은 프레임들간의 모션의 양, 화면 변화, 물체 교합(object occlusions) 등과 같은 비디오 특징에 의존한다. 적응적 Br이 화면 변화에서 비디오 품질을 위해 어떻 게 사용될 수 있는지의 일례로서 다음의 간단한 구조 "I Br B P" 또는 "I B Br P"를 고려하자. "I Br B P"는 콘텐츠 화면 변화가 I-프레임 직후에 존재하는 경우(이로써 모션 추정을 위해 I-프레임을 근본적으로 소용없게 하는 경우)에 선택될 수 있으며, 콘텐츠 화면 변화가 P 프레임 직전에 존재하는 경우(이로써 모션 추정을 위해 P-프레임을 근본적으로 소용없게 하는 경우)에 "I B Br P"를 선택할 수 있다.
도 7의 동작(702)에서, 적어도 하나의 비디오 특징이 비디오 콘텐츠 내에서 검출될 수 있다. 동작(702)은 다양한 방식으로 구현될 수 있다는 것을 유의하자. 예를 들어, 다양한 실시예에서 동작(702)의 비디오 특징은 비디오 콘텐츠 내의 적어도 하나의 콘텐츠 화면 변화, 교합되는 적어도 하나의 물체, 비디오 콘텐츠의 적어도 2개의 프레임 사이의 모션 양 등일 수 있지만 이에 한정되는 것은 아니다. 다양한 실시예에서, 화면 변화 검출기는 적어도 하나의 비디오 특징을 검출하기 위해 사용될 수 있다. 다양한 실시예에서, 적어도 하나의 비디오 특징은 (예를 들어) 상이한 모션 기준 패턴에 기초하여 비트스트림을 생성하고 최소 개수의 비트를 얻는 것을 선택함으로써 구현될 수 있다. 다양한 실시예에서, 적어도 하나의 비디오 특징은 비디오 콘텐츠를 인코딩하고 디코딩한 후 본래 비디오와 상이한 디코딩된 비디오를 비교함으로써 인코더에서 구현될 수 있다. 그 후, 디코딩된 비디오를 비교하기 위해 메트릭(a metric)이 사용될 수 있고 그것이 선택될 수 있다. 동작(702)은 전술한 바와 유사한 임의의 방식으로 구현될 수 있지만 이에 한정되지 않는다는 것이 이해된다.
동작(704)에서, 비디오 콘텐츠의 인코딩은 비디오 콘텐츠의 시각적 품질을 향상시키기 위해 적어도 하나의 비디오 특징에 기초할 수 있다. 동작(704)은 다양한 방식으로 구현될 수 있다는 것이 이해된다. 예를 들어, 다양한 실시예에서, 적어도 하나의 비디오 특징은 모션 추정 및 Br-프레임과 B-프레임의 인코딩을 위해 가능한 최대의 기준 프레임을 사용하게 하는 모션 기준 프레임 구조를 결정하기 위해 사용될 수 있다. 동작(704)은 본 명세서에서 설명한 바와 유사한 임의의 방식으로 구현될 수 있지만 이에 한정되지 않는다는 것이 이해된다.
도 7의 동작(706)에서, 비디오 디코더와 연관되는 적어도 하나의 제한이 결정될 수 있는데, 동작(704)의 인코딩 또한 제한에 기초할 수 있다. 동작(706)은 다양한 방식으로 구현될 수 있다는 것이 인식된다. 예를 들어, 다양한 실시예에서 동작동작동작전술한 바와 유사한 임의의 방식으로 구현될 수 있지만 이에 한정되지 않는다.
방법(600 및 700)은 다양한 방식으로 조합될 수 있다는 것을 유의하자. 예를 들어, 비디오 콘텐츠의 인코딩은 모션 기준 프레임 버퍼의 개수, 원하는 프리젠테이션 프레임 지연, 및/또는 비디오 콘텐츠의 적어도 하나의 비디오 특징에 기초하는 인코딩 수정에 기초할 수 있다. 이들의 각각은 개별적으로 또는 그 임의의 조합으로 사용될 수 있다는 것을 유의하자. 이들 모두의 사용은 이들 중 단 하나만을 사용하는 것보다 우수한 결과를 제공할 수 있다. 예를 들어, 사용할 Br-프레임의 최대 개수를 선택할 수 있지만, 모션 기준 구조의 패턴은 고정될 수 있다. 또는, Br-프레임의 최대 개수를 사용하는 대신에 모션 기준 구조의 패턴이 적응적 일 수 있다.
도 8은 본 발명의 다양한 실시예에 따른 예시적 인코더/디코더 시스템(800)을 도시하는 블록도이다. 시스템(800)은 입력 비디오(802) 및 비디오 인코더(806)에 결합될 수 있는 입력 프레임 버퍼(804) 및 모션 프레임 버퍼(805)를 포함할 수 있지만, 이에 한정되는 것은 아니다. 프레임 버퍼(804 및 805)는 하나 이상의 프레임 버퍼 메모리를 사용하여 구현될 수 있다는 것을 유의하자. 비디오 인코더(806)는 비디오 디코더(808)에 결합될 수 있다. 비디오 디코더(808)는 모션 프레임 버퍼(809) 및 출력 프레임 버퍼(810)에 결합될 수 있는데, 이는 출력 비디오(812)에 결합 될 수 있다. 프레임 버퍼(809 및 810)는 하나 이상의 프레임 버퍼 메모리를 사용하여 구현될 수 있다는 것을 유의하자. 비디오 디코더(808)는 프레임 버퍼(809 및 810) 및 비디오 인코더(806)에 결합될 수 있다는 것이 이해된다. 이와 같이, 비디오 디코더(808)는 비디오 인코더(806)로 디코딩하기 위해 사용할 수 있는 프레임 버퍼의 개수를 통보 또는 전송한다.
시스템(800)은 도 8에 도시된 것보다 많거나 적은 요소를 사용하여 구현될 수 있다는 것이 이해된다. 비디오 인코더(806) 및 비디오 디코더(808)는 각각 소프트웨어, 펌웨어, 전자 하드웨어 또는 그 임의의 조합을 사용하여 구현될 수 있다는 것을 유의하자.
도 8 내에서, 시스템(800)은 전술한 바와 유사한 임의의 방식으로 최적 또는 최선의 비디오 품질 비트스트림을 생성할 모션 기준 구조를 결정하기 위해 사용될 수 있다는 것이 인식된다.
다양한 실시예에서, 시스템(800)은 다양한 방식으로 구현될 수 있다. 예를 들어, 시스템(800)은 DVD 플레이서 및 DVD 인코더의 조합으로서 구현될 수 있다. 구체적으로, 다양한 실시예에서 비디오 디코더(808) 및 프레임 버퍼(809 및 810)는 DVD 플레이어의 일부로서 구현될 수 있다. 또한, 다양한 실시예에서, 비디오 인코더(806) 및 프레임 버퍼(804 및 805)는 DVD 인코딩 시스템의 일부로서 구현될 수 있다. 그러나, 비디오 인코더(806)는 입력 비디오(802)를 인코딩하기 위해 사용되는 모션 기준 구조를 결정하기 위해 DVD 플레이어의 비디오 디코더(808) 및 프레임 버퍼(809 및 810)의 제한을 알아야 할 수도 있다.
본 발명에 따른 다양한 구체적인 실시예에 대한 전술한 설명은 예시와 설명을 위해 제공되었다. 이는 본 발명을 개시된 정확한 형태로 철저하게 한정하는 것이 아니며 개시 내용에 비추어 많은 수정 및 변형이 가능하다는 것은 자명하다. 본 발명은 청구범위와 그 균등물에 따라 해석될 수 있다.
Claims (10)
- 디코더(808)와 연관되는 제한을 결정하는 단계(602)와,비디오 콘텐츠(802)를 인코딩하는 데 사용될 수 있는 기준 B-프레임의 최대 개수를 결정하는 단계(604)를 포함하되,상기 최대 개수는 상기 디코더와 연관되는 상기 제한에 기초하는비디오 압축 방법.
- 제 1 항에 있어서,상기 디코더는 복수의 프레임 버퍼(809)를 포함하는비디오 압축 방법.
- 제 2 항에 있어서,상기 제한은 상기 복수의 프레임 버퍼의 개수와 동일한비디오 압축 방법.
- 제 2 항에 있어서,상기 최대 개수는 상기 제한에서 2를 뺀 것과 동일한비디오 압축 방법.
- 제 1 항에 있어서,상기 제한은 상기 디코더와 연관되는 허용 가능한 프리젠테이션 프레임 지연과 동일한비디오 압축 방법.
- 제 5 항에 있어서,상기 최대 개수는 상기 제한에서 1을 뺀 것과 동일한비디오 압축 방법.
- 제 1 항에 있어서,상기 비디오 콘텐츠 내의 콘텐츠 화면 변화를 검출하는 단계(606)를 더 포함하는비디오 압축 방법.
- 제 7 항에 있어서,상기 비디오 콘텐츠를 인코딩하기 위해 상기 콘텐츠 화면 변화를 이용하는 단계(608)를 더 포함하는비디오 압축 방법.
- 제 1 항에 있어서,상기 비디오 콘텐츠 중 적어도 2개의 프레임들 사이의 모션(motion)의 양을 검출하는 단계(606)를 더 포함하는비디오 압축 방법.
- 제 1 항에 있어서,상기 비디오 콘텐츠 내에 교합되는(occluded) 물체를 검출하는 단계(606)를 더 포함하는비디오 압축 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/496,806 | 2006-07-31 | ||
US11/496,806 US20080025408A1 (en) | 2006-07-31 | 2006-07-31 | Video encoding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20090046812A true KR20090046812A (ko) | 2009-05-11 |
Family
ID=38962719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097001956A KR20090046812A (ko) | 2006-07-31 | 2007-07-31 | 비디오 압축 방법 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20080025408A1 (ko) |
JP (1) | JP5068316B2 (ko) |
KR (1) | KR20090046812A (ko) |
CN (1) | CN101523918B (ko) |
BR (1) | BRPI0714090A2 (ko) |
DE (1) | DE112007001773T5 (ko) |
GB (1) | GB2453506B (ko) |
WO (1) | WO2008016600A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10585551B2 (en) | 2016-08-12 | 2020-03-10 | Line Corporation | Method and system for video recording |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7088776B2 (en) | 2002-07-15 | 2006-08-08 | Apple Computer, Inc. | Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding |
AU2013204743B2 (en) * | 2002-07-15 | 2016-05-19 | Apple Inc | Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding |
US6728315B2 (en) | 2002-07-24 | 2004-04-27 | Apple Computer, Inc. | Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations |
CN101969565B (zh) * | 2010-10-29 | 2012-08-22 | 清华大学 | 一种符合多视点视频标准的视频解码方法 |
CN110784717B (zh) * | 2019-10-11 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 一种编码方法、装置、电子设备及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115420A (en) * | 1997-03-14 | 2000-09-05 | Microsoft Corporation | Digital video signal encoder and encoding method |
US6519004B1 (en) * | 1998-10-09 | 2003-02-11 | Microsoft Corporation | Method for transmitting video information over a communication channel |
ES2259827T3 (es) * | 1998-10-13 | 2006-10-16 | Matsushita Electric Industrial Co., Ltd. | Regulacion de los requisitos de calculo y de memoria de un tren de bits comprimido en un decodificador de video. |
JP2001326940A (ja) * | 2000-05-16 | 2001-11-22 | Matsushita Electric Ind Co Ltd | 符号化動画像ビットストリーム処理方法、及び装置、並びに符号化動画像ビットストリーム処理プログラムを格納した記録媒体 |
JP4015934B2 (ja) * | 2002-04-18 | 2007-11-28 | 株式会社東芝 | 動画像符号化方法及び装置 |
EP1833261A1 (en) * | 2002-01-18 | 2007-09-12 | Kabushiki Kaisha Toshiba | Video encoding method and apparatus and video decoding method and apparatus |
US20030198294A1 (en) * | 2002-04-23 | 2003-10-23 | Andre Zaccarin | Methods and apparatuses for selecting encoding options based on decoding energy requirements |
JP3888533B2 (ja) * | 2002-05-20 | 2007-03-07 | Kddi株式会社 | 画像特徴に応じた画像符号化装置 |
US20040008775A1 (en) * | 2002-07-12 | 2004-01-15 | Krit Panusopone | Method of managing reference frame and field buffers in adaptive frame/field encoding |
WO2004030369A1 (en) * | 2002-09-27 | 2004-04-08 | Videosoft, Inc. | Real-time video coding/decoding |
JP2004007736A (ja) * | 2003-06-12 | 2004-01-08 | Matsushita Electric Ind Co Ltd | 画像復号化装置、画像復号化方法 |
US7295612B2 (en) * | 2003-09-09 | 2007-11-13 | Apple Inc. | Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence |
JP4366571B2 (ja) * | 2003-09-18 | 2009-11-18 | 日本電気株式会社 | 動画像符号化装置及び方法 |
JP2005184495A (ja) * | 2003-12-19 | 2005-07-07 | Kddi Corp | 動画像符号化装置およびその方法 |
ATE515883T1 (de) * | 2004-04-28 | 2011-07-15 | Panasonic Corp | Stream-erzeugungsvorrichtung, stream- erzeugungsverfahren, codierungsvorrichtung, codierungsverfahren, aufzeichnungsmedium und programm dafür |
US8233781B2 (en) * | 2004-09-01 | 2012-07-31 | Panasonic Corporation | Image reproduction method and image reproduction apparatus |
-
2006
- 2006-07-31 US US11/496,806 patent/US20080025408A1/en not_active Abandoned
-
2007
- 2007-07-31 KR KR1020097001956A patent/KR20090046812A/ko not_active Application Discontinuation
- 2007-07-31 JP JP2009522839A patent/JP5068316B2/ja not_active Expired - Fee Related
- 2007-07-31 GB GB0902251A patent/GB2453506B/en not_active Expired - Fee Related
- 2007-07-31 WO PCT/US2007/017105 patent/WO2008016600A2/en active Application Filing
- 2007-07-31 DE DE112007001773T patent/DE112007001773T5/de not_active Withdrawn
- 2007-07-31 CN CN2007800366694A patent/CN101523918B/zh not_active Expired - Fee Related
- 2007-07-31 BR BRPI0714090-8A patent/BRPI0714090A2/pt not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10585551B2 (en) | 2016-08-12 | 2020-03-10 | Line Corporation | Method and system for video recording |
US11347370B2 (en) | 2016-08-12 | 2022-05-31 | Line Corporation | Method and system for video recording |
Also Published As
Publication number | Publication date |
---|---|
JP5068316B2 (ja) | 2012-11-07 |
BRPI0714090A2 (pt) | 2013-01-01 |
GB0902251D0 (en) | 2009-03-25 |
GB2453506A (en) | 2009-04-08 |
DE112007001773T5 (de) | 2009-07-30 |
JP2009545918A (ja) | 2009-12-24 |
CN101523918A (zh) | 2009-09-02 |
CN101523918B (zh) | 2012-02-29 |
US20080025408A1 (en) | 2008-01-31 |
GB2453506B (en) | 2011-10-26 |
WO2008016600A3 (en) | 2008-03-27 |
WO2008016600A2 (en) | 2008-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149513B (zh) | 选择运动向量精度 | |
US9479796B2 (en) | Variable coding resolution in video codec | |
US9071841B2 (en) | Video transcoding with dynamically modifiable spatial resolution | |
KR101859155B1 (ko) | 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝 | |
JP4908180B2 (ja) | 動画像符号化装置 | |
US20180063540A1 (en) | Motion estimation for screen remoting scenarios | |
US20020122491A1 (en) | Video decoder architecture and method for using same | |
US8681864B2 (en) | Video coding apparatus and video coding control method | |
US20090154816A1 (en) | Adaptive group of pictures (agop) structure determination | |
EP3262840B1 (en) | Mitigating loss in inter-operability scenarios for digital video | |
CN112073737A (zh) | 在直播视频流应用中重新编码预测的图像帧 | |
US11212536B2 (en) | Negative region-of-interest video coding | |
KR20090046812A (ko) | 비디오 압축 방법 | |
US9565404B2 (en) | Encoding techniques for banding reduction | |
US10165272B2 (en) | Picture-level QP rate control performance improvements for HEVC encoding | |
JP2006340183A (ja) | 画像符号化装置及び画像符号化方法 | |
US20160316220A1 (en) | Video encoder management strategies | |
US10742979B2 (en) | Nonlinear local activity for adaptive quantization | |
US20130077674A1 (en) | Method and apparatus for encoding moving picture | |
CN113225558A (zh) | 平滑定向和dc帧内预测 | |
JP2009246489A (ja) | 映像信号切替装置 | |
JP2011129979A (ja) | 画像処理装置 | |
US20200221076A1 (en) | Moving image encoding device, moving image encoding method, and recording medium with moving image encoding program stored therein | |
US20090103816A1 (en) | Method and Device of Image Encoding and Image Processing Apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |