KR20090046812A - 비디오 압축 방법 - Google Patents

비디오 압축 방법 Download PDF

Info

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
Application number
KR1020097001956A
Other languages
English (en)
Inventor
샘 리우
데바르가 무크헤르지
Original Assignee
휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. filed Critical 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Publication of KR20090046812A publication Critical patent/KR20090046812A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/177Methods 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

본 발명에 따른 일 실시예는 디코더(808)와 연관되는 제한을 결정하는 단계(602)를 포함할 수 있는 방법(600)이다. 또한, 이 방법은 비디오 콘텐츠(802)를 인코딩하기 위해 사용될 수 있는 기준 B-프레임의 최대 개수를 결정하는 단계(604)를 포함할 수 있다. 최대 개수는 디코더와 연관되는 제한에 기초한다는 것을 유의하자.

Description

비디오 압축 방법{VIDEO ENCODING}
현재 비디오 콘텐츠를 압축하고 압축 해제하기 위해 사용될 수 있는 상이한 비디오 압축 표준이 존재한다. 예를 들어, 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)

  1. 디코더(808)와 연관되는 제한을 결정하는 단계(602)와,
    비디오 콘텐츠(802)를 인코딩하는 데 사용될 수 있는 기준 B-프레임의 최대 개수를 결정하는 단계(604)를 포함하되,
    상기 최대 개수는 상기 디코더와 연관되는 상기 제한에 기초하는
    비디오 압축 방법.
  2. 제 1 항에 있어서,
    상기 디코더는 복수의 프레임 버퍼(809)를 포함하는
    비디오 압축 방법.
  3. 제 2 항에 있어서,
    상기 제한은 상기 복수의 프레임 버퍼의 개수와 동일한
    비디오 압축 방법.
  4. 제 2 항에 있어서,
    상기 최대 개수는 상기 제한에서 2를 뺀 것과 동일한
    비디오 압축 방법.
  5. 제 1 항에 있어서,
    상기 제한은 상기 디코더와 연관되는 허용 가능한 프리젠테이션 프레임 지연과 동일한
    비디오 압축 방법.
  6. 제 5 항에 있어서,
    상기 최대 개수는 상기 제한에서 1을 뺀 것과 동일한
    비디오 압축 방법.
  7. 제 1 항에 있어서,
    상기 비디오 콘텐츠 내의 콘텐츠 화면 변화를 검출하는 단계(606)를 더 포함하는
    비디오 압축 방법.
  8. 제 7 항에 있어서,
    상기 비디오 콘텐츠를 인코딩하기 위해 상기 콘텐츠 화면 변화를 이용하는 단계(608)를 더 포함하는
    비디오 압축 방법.
  9. 제 1 항에 있어서,
    상기 비디오 콘텐츠 중 적어도 2개의 프레임들 사이의 모션(motion)의 양을 검출하는 단계(606)를 더 포함하는
    비디오 압축 방법.
  10. 제 1 항에 있어서,
    상기 비디오 콘텐츠 내에 교합되는(occluded) 물체를 검출하는 단계(606)를 더 포함하는
    비디오 압축 방법.
KR1020097001956A 2006-07-31 2007-07-31 비디오 압축 방법 KR20090046812A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/496,806 US20080025408A1 (en) 2006-07-31 2006-07-31 Video encoding
US11/496,806 2006-07-31

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
AU2013204690B2 (en) * 2002-07-15 2015-11-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)

* Cited by examiner, † Cited by third party
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
US6542549B1 (en) * 1998-10-13 2003-04-01 Matsushita Electric Industrial Co., Ltd. Method and model for regulating the computational and memory requirements of a compressed bitstream in a video decoder
JP2001326940A (ja) * 2000-05-16 2001-11-22 Matsushita Electric Ind Co Ltd 符号化動画像ビットストリーム処理方法、及び装置、並びに符号化動画像ビットストリーム処理プログラムを格納した記録媒体
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
EP1830577A1 (en) * 2002-01-18 2007-09-05 Kabushiki Kaisha Toshiba 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
US7336720B2 (en) * 2002-09-27 2008-02-26 Vanguard Software Solutions, 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 動画像符号化装置およびその方法
CN100571356C (zh) * 2004-04-28 2009-12-16 松下电器产业株式会社 流产生装置,流产生方法,流再生装置,流再生方法
WO2006025489A1 (ja) * 2004-09-01 2006-03-09 Matsushita Electric Industrial Co., Ltd. 画像再生方法及び画像再生装置

Cited By (2)

* Cited by examiner, † Cited by third party
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
US20080025408A1 (en) 2008-01-31
BRPI0714090A2 (pt) 2013-01-01
JP5068316B2 (ja) 2012-11-07
DE112007001773T5 (de) 2009-07-30
CN101523918A (zh) 2009-09-02
GB2453506B (en) 2011-10-26
GB0902251D0 (en) 2009-03-25
GB2453506A (en) 2009-04-08
WO2008016600A2 (en) 2008-02-07
JP2009545918A (ja) 2009-12-24
CN101523918B (zh) 2012-02-29
WO2008016600A3 (en) 2008-03-27

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
US10390039B2 (en) Motion estimation for screen remoting scenarios
KR101859155B1 (ko) 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝
JP4908180B2 (ja) 動画像符号化装置
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) 画像符号化装置及び画像符号化方法
WO2016171888A1 (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