KR20100137502A - 효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치 - Google Patents
효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20100137502A KR20100137502A KR1020107022455A KR20107022455A KR20100137502A KR 20100137502 A KR20100137502 A KR 20100137502A KR 1020107022455 A KR1020107022455 A KR 1020107022455A KR 20107022455 A KR20107022455 A KR 20107022455A KR 20100137502 A KR20100137502 A KR 20100137502A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- frame
- motion
- coding
- inter prediction
- 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/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/103—Selection of coding mode or of prediction mode
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/114—Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치가 제공된다. 이 장치는 코딩 효율성 및 플리커링(flickering) 아티팩트가 양방향 인터 예측(inter predictive) 영상 유형으로 영상을 코딩하여 결과되었다는 판정에 근거하여 상기 영상을 단일 방향 인터 예측 영상 유형과 양방향 인터 예측 유형으로 부호화하는 것 사이에서 선택하는 선택 방식을 이용하여 상기 영상을 부호화하기 위한 부호화기(100)를 포함한다. 포함한다.
Description
본 발명은 일반적으로 비디오 부호화에 관한 것으로, 특히 효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법과 장치에 관한 것이다.
통상, 대부분의 현재 개선된 비디오 코딩 표준은 하나의 프레임을 부호화하는 데에 세 개의 공통 프레임 유형: I 프레임, P 프레임, 및 B 프레임을 특정한다. B 프레임은 양방향 프레임, 또는 양방향 예측 프레임이거나 때로 양방향 프레임의 축약이다. B 프레임은 이들의 이전이나 이후에 있는 프레임에 좌우되며 이전의 프레임에서 변경된 데이터를 포함하거나 다음 프레임의 데이터와는 다르다. P 프레임은 예측성 프레임이나 예측된 프레임의 축약이다. P 프레임은 I 프레임 다음에 오고 이전의 I 프레임에서 변경된 데이터만을 포함한다. P 프레임은 그 데이터 대부분에 충전되는 I 프레임에 좌우된다. 또한 키프레임(keyframe)으로 알려진 I 프레임은 인트라프레임(intra-frame)의 축약이다. I 프레임은 프레임을 표시하는 데에 필요한 모든 데이터를 저장하며 인터프레임 움직임 보상 예측(inter-frame motion compensated prediction (MCP))을 포함하지 않는다. 일반 이용시, I 프레임은 압축된 비디오의 P 프레임과 B 프레임이 산재되어 있다. P 프레임 코딩은 또한 정방향 인터프레임 MCP만을 허용하는 반면, B 프레임 코딩은 정방향 뿐만 아니라 역방향 및 양방향 MCP를 가능하게 한다. 프레임을 코딩하기 위해 올바른 프레임 유형을 선택하는 방법은 코딩 효율에 영향을 줄 뿐만 아니라, 코딩 비디오의 인지 품질에 영향을 미치는 중요한 문제이다.
I 프레임 유형 선택은 종종 수월하다. 제1 비디오 프레임 외에도, 프레임은 장면 변경이 있을 때, 또는 최대 그룹 오브 픽쳐 (Group-of-Pictures: GOP) 길이에 이르게 될 때 마다, I 프레임으로 코딩되게 된다. 실제, 최대 GOP 길이를 갖는 GOP 구조는 부호화된 비디오의 고속 랜덤 액세스를 보장하기 위해 적용된다. 그러나, 예측/쌍방향 예측 (P/B) 프레임 유형 선택은 사소하지 않으며 더욱 어려운 문제가 된다. P 프레임 코딩과 비교하여, B 프레임 코딩은 더욱 유연한 예측 가능성을 부여하므로, 일반적으로 개별의 프레임에 대해서는 더욱 양호한 코딩 효율성을 제공한다. 그러나, B 프레임 바로 다음에 오는 프레임을 코딩하는 효율성은 손상될 수 있다. 이것은 그 프레임에 바로 인접한 이전 프레임이 B 프레임(들)으로 코딩되고 있어 그 예측은 B 프레임 바로 이전에 있는 프레임이라고 말하기 때문이고, 이는 코딩 효율의 손상을 가져올 수 있다. P/B 프레임 유형은 최상의 전체 코딩 효율을 성취하도록 선택되어야 한다. 실재, B 프레임 코딩의 다른 단점은 최종 플리커링 아티팩트(flickering artifact)이다. 역방향 예측과 양방향 예측으로 인해, 코딩된 P 프레임과 B 프레임간, 또는 두 코딩된 B 프레임간의 최종 프레임간 차이는 통상 두 코딩된 P 프레임 간의 것 보다 더욱 현저하다. 따라서, 특히 저 또는 중간 코딩 비트율에서, B 프레임 코딩이 많을수록 더 많은 플리커링 아티팩트가 관찰될 수 있다.
프레임 유형 선택/판정 이외에, 이 동일한 문제가 다른 관련 및 유사한 컨텍스트에서 해결된다. 예를 들어, 동일한 문제는 동적/적응성 그룹 오브 픽쳐 (Group of Pictture: GOP) 구조에서 해결되었다. 더욱, 동일한 문제가 기준 프레임 위치/삽입의 컨텍스트에서 해결되었다. 기본적으로, 문제는 관련 프레임과 그 인접 프레임 둘 다의 전체 코딩 성능이 최적화되도록 프레임이 P 프레임이나 B 프레임으로 코딩되어야 하는지의 여부를 적당히 어떻게 판정하느냐이다.
모든 기존의 방식들은 주로 코딩 효율을 개선하는 데에 목표를 두었다. 이 목적을 위해, 폭넓게 인식된 통상적인 발견적 방법은 제1 및 제2 종래 기술의 방법과 관련하여 설명된 바와 같이, 다음과 같다: P 프레임(또는 기준 프레임)은 인터프레임 움직임이 높을 때, 즉 두 인접한 프레임 간의 상관 관계가 낮을 때 삽입되어야 하는 반면, 비기준 B 프레임 코딩은 더욱 효율적이며 저 또는 중간 움직임 프레임을 부호화하도록 적용되어야 한다.
기존의 참고 및 문헌에서, P/B 프레임 유형 선택 문제는 보통 GOP 기반의 코딩 시나리오에 대해 해결된다. 제3 종래 기술의 방법에서, GOP의 비트율 왜곡 최적 P/B 코딩 패턴/구조를 찾기 위한 방식이 제안되었다. GOP 내의 각 프레임에 대해, P/B 판정 이외에, 이 방식은 고정 비트율 (constant bit rate:CBR) 제어를 위한 최적의 양자화 파라미터를 찾는다. 코딩 효율의 최적성에도 불구하고, 이 방식은 판정의 결과를 찾기 위해 프레임의 다수의 실재 부호화 패스를 필요로 하므로, 실시간 부호화 시나리오에서 금지되는 부가의 레이턴시 조건을 말할 필요도 없이, 비실용적인 연산 복잡성을 초래하게 된다.
사실상, 대부분의 기존 방식은 복잡성이 낮은 실질적인 해결책이다 일 유형의 P/B 선택 방식은 경험에 근거한 접근 방법이다. 제2 종래 기술의 방법에서, P 프레임은 움직임 강도가 움직임 벡터 (MV)의 절대 크기의 합으로 측정되는 경우 축적된 움직임 강도가 특정 임계치를 초과할 때 삽입되게 되는 반면, 제4 종래 방법의 방식은 움직임 속도가 거의 일정할 때, 즉 그 정방향 및 역방향 움직임 강도가 유사하거나 균형될 때 프레임이 B 프레임으로 코딩되는 것을 제시한다. 원칙상, 축적된 움직임 및 균형된 움직임에 대한 경험적 방법은 보완적이므로, 함께 적용되면 더 좋은 성능을 성취할 수 있다.
다른 유형의 P/B 선택 방법은 수치적 모델에 근거한다. 그러나, 실제적으로, B 프레임 코딩은 관련된 역방향 예측으로 인해 불쾌한 플리커링 아티팩트를 초래할 수 있고, 이는 저 움직임 프레임에서 더욱 쉽게 관찰된다.
제5 종래 기술에서, P/B 패턴과 인터프레임 및 인트라프레임 특성을 갖는 GOP의 코딩 이득과 관련된 분석 함수가 유도되고, 최적의 GOP 구조는 코딩 이득을 최대화하는 것이다. 다른 방식은 연속적인 B 프레임의 최적의 수를 평균 움직임 추정 오차(motion estimation error) 및 평균 공간 활동의 함수로서 최적 개수의 연속적 B 프레임을 직접 모델화한다. 명백한 유형의 수치 함수/모델 대신에, 제6 종래 방법에서는, P/B 프레임 유형 선택은 분류 문제로 간주되며, 이 때 입력 특성 변수는 현재 프레임과 다음 프레임의 움직임 추정 오차의 평균과 편차이고, 출력은 P/B 결정이다. 대량의 훈련 데이타가 주어지면, 분류를 위한 분포 밀도 함수는 가우시안 혼합물 모델 (GMM) 및 예측 최대화 (EM) 방법으로 유도된다. 그러나, 모든 이들 모델 기반의 방식에 대해, 이들의 모델링 정확도는 경험 기반의 방법에서와 같이 정당화되지 않으며, 효율적인 코딩 성능이 항상 보장되는 것은 아니다.
P/B 프레임 유형 선택 방식에서, 프레임의 움직임 강도를 정확하게 측정하는 것이 때로 중요한 문제가 된다고 알려져 있다. 고 움직임 프레임이 또한 부호화에 대해 더욱 복잡한 프레임이기 때문에, 프레임 움직임 강도는 또한 프레임의 코딩 복잡성을 나타낸다. 여러 프레임 레벨의 히스토그램 기반 척도를 종래 기술에서 조사하였다. 이들 척도들은 쉽게 연산될 수 있다. 그러나, 이들은 글로벌 움직임을 측정하는 데에 양호할 뿐, 로컬 움직임에는 그렇지 않다. 움직임 추정 또는 보상은 움직임 강도의 더욱 정확한 척도를 유도할 수 있게 해 준다. 제2 종래 기술의 방법에서, 프레임의 모든 매크로블럭(MB)의 절대치 움직임 벡터(MV)의 합은 움직임을 측정하는 데에 이용되는 반면, 제6 종래 기술의 방법에서는, 오직 움직임 추정 오차만이 측정에 이용된다. 그러나, 이들 중 어떤 것도 더욱 정확한 프레임 복잡성 척도를, 이에 따라 더 양호한 P/B 선택 성능을 이끌어낼 수 있는, 움직임 벡터와 움직임 추정 오차를 포괄적으로 평가하지 않는다.
종래 기술의 이들 및 그 외 결정 및 단점들은 본 원리에 의해 해결되며, 이는 효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치에 관한 것이다.
본 원리의 일 형태에 따르면, 일 장치를 제공하고 있다. 이 장치는 코딩 효율성 및 양방향 인터 예측(inter predictive) 영상 유형으로서 영상을 코딩함에서 기인하는 플리커링 아티팩트(flickering artifact)의 결정에 근거하여 상기 영상을 단일 방향 인터 예측 영상 유형과 양방향 인터 예측 영상 유형으로 부호화하는 것 간에 선택하는 선택 방식(selection scheme)을 이용하여 상기 영상을 부호화하기 위한 부호화기를 포함한다.
본 원리의 다른 형태에 따르면, 일 방법을 제공하고 있다. 이 방법은 코딩 효율성 및 양방향 인터 예측 영상 유형으로서 영상을 코딩함에서 기인하는 플리커링 아티팩트의 결정에 근거하여 상기 영상을 단일 방향 인터 예측 영상 유형과 양방향 인터 예측 영상 유형으로 부호화하는 것 간에 선택하는 선택 방식을 이용하여 상기 영상을 부호화하는 단계를 포함한다.
본 원리의 이들 및 그 외 형태, 특성 및 장점들은 첨부한 도면과 관련하여 읽게 되는 다음 상세한 설명의 예시의 실시예로부터 명백하게 될 것이다.
본 원리는 다음 예시의 도면에 따라 잘 이해될 것이다.
도 1은 본 원리의 일 실시예에 따른 비디오 부호화기의 블럭도이다.
도 2는 본 원리의 일 실시예에 따른 비디오 부호화기에서의 P/B 프레임 유형 선택을 위한 예시의 방법의 흐름도이다.
도 1은 본 원리의 일 실시예에 따른 비디오 부호화기의 블럭도이다.
도 2는 본 원리의 일 실시예에 따른 비디오 부호화기에서의 P/B 프레임 유형 선택을 위한 예시의 방법의 흐름도이다.
본 원리는 효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치에 관한 것이다.
본 기재는 본 원리를 설명하고자 한다. 따라서 당업자라면 여기 명확하게 개시되거나 나타내지 않더라도 본 원리를 구체화하고 그 정신과 영역 내에 포함되는 여러 구성을 고안할 수 있으리라는 것이 이해될 것이다.
여기에 인용된 모든 예와 조건부 언어들은 독자가 본 기술을 추진하도록 본 발명자들에 의해 구성된 본 원리와 개념을 이해하는 것을 도울 목적을 위한 것이며, 이렇게 특정적으로 인용된 예와 조건들에만 제한하지 않는 것으로 파악되어야 한다.
더구나, 본 원리의 원리, 형태 및 실시예를 여기에 기재한 모든 문구들 뿐만 아니라, 그 특정 예시들은 그 구조적 및 기능적 균등물을 포괄하고자 하는 것이다. 부가하여, 이러한 균등물은 현재 알려진 균등물 뿐만 아니라 장차 개발될 균등물, 즉 구조와는 상관 없이 동일한 기능을 실행하는 개발 요소들 둘 다를 포함하는 것이다.
따라서, 예를 들어, 당업자라면 여기에서 제시된 블럭도가 본 원리를 구체화하는 설명적 회로의 개념도를 나타낸다는 것을 이해할 것이다. 유사하게, 임의의 플로챠트, 흐름도, 상태 전이도, 의사코드 등이 컴퓨터 판독 가능 매체에서 실질적으로 표현되어 컴퓨터나 프로세서에 의해 실행될 수 있는 다양한 프로세스를 나타낸다는 것이 이해될 것이며, 이런 컴퓨터나 프로세서는 명백하게 나타나 있던지 아니던지 상관 없다.
도면에서 나타낸 여러가지 요소들의 기능은 전용 하드웨어의 이용 뿐만 아니라 적당한 소프트웨어와 연계하여 소프트웨어를 실행할 수 있는 하드웨어를 통해 제공될 수 있다. 프로세서에 의해 제공될 때, 이 기능들은 하나의 전용 프로세서에 의해, 단일의 공용 프로세서에 의해, 또는 복수의 개별 프로세서에 의해 제공될 수 있으며, 이들 중 몇은 공유될 수 있다. 더구나, 용어 "프로세서" 또는 "제어기"의 명백한 이용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 언급하는 것으로 생각되어서는 안되며, 제한 없이, 디지털 신호 프로세서 ("DSP") 하드웨어, 소프트웨어의 저장을 위한 판독 전용 메모리 (read-only memory "ROM"), 랜덤 액세스 메모리 (random access memory "RAM"), 및 비휘발성 저장소를 내재적으로 포함할 수 있다.
다른 종래 및/또는 관용적인 하드웨어가 또한 포함될 수 있다. 유사하게, 도면에서 나타낸 스위치들은 또한 개념적이다. 이들의 기능은 프로그램 로직의 운용으로, 전용 로직으로, 프로그램 제어 및 전용 로직의 상호 작용으로, 또는 수동적으로 실행될 수 있으며, 이 특정 기술들은 컨텍스트로부터 더욱 명확하게 이해되는 바와 같이 구현자에 의해 선택 가능하다.
그 청구범위에서, 특정 기능을 실행하기 위한 수단으로 표현된 요소들은 예를 들어 a) 그 기능을 실행하는 회로 요소들의 조합 또는 b) 기능을 실행하기 위해 그 소프트웨어를 실행하는 데에 적합한 회로와 조합된 펌웨어, 마이크로코드 등을 포함하는 어느 형태나 가능한 소프트웨어를 포함하여, 그 기능을 실행하는 어느 방식이나 포함하고자 하는 것이다. 이러한 청구범위에 의해 정의되는 본 원리는 청구범위가 요구하는 방식으로 여러 인용된 수단으로 제공되는 기능들이 조합되어 함께 하게 된다는 사실에 있는 것이다. 따라서 이들 기능들을 제공할 수 있는 어느 수단들이나 여기 나타낸 것들과 균등하다고 간주된다.
명세서에서 본 원리의 "일 실시예" 또는 "한 실시예" 뿐만 아니라, 그의 변형들의 언급은 본 실시예와 관련하여 설명된 특정 특성, 구조, 특징들은 본 원리의 최소한의 일 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전체에 걸쳐 여러 위치에 나타나는 문구 "일 실시예" 또는 "한 실시예" 뿐만 아니라 그 외 다른 변형들의 출현은 반드시 모두 동일한 실시예를 언급하는 것이 아니다.
예를 들어, "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우에서와 같이, 다음 "/", "및/또는" 및 "적어도 하나"의 이용은 제1 목록의 옵션 (A)만, 또는 제2 목록의 옵션 (B)만, 또는 두 옵션 (A 및 B)의 선택을 포함하고자 하는 것임이 이해되어야 한다. 다른 예로서, "A, B, 및/또는 C"의 경우 및 "A, B, 및 C 중 적어도 하나"의 경우에, 이런 문구들은 제1 목록의 옵션 (A)만, 또는 제2 목록의 옵션 (B)만, 제3 목록의 옵션 (C)만, 또는 제1 및 제2 목록의 옵션 (A 및 B)만, 또는 제1 및 제3 목록의 옵션 (A 및 C)만, 또는 제2 및 제3 목록의 옵션 (B 및 C)만, 또는 모든 세 목록 (A 및 B 및 C)의 선택을 포함하고자 하는 것이다. 이는 이 기술 및 관련 기술의 당업자에 의해 명백하게 되는 바와 같이, 많은 목록의 항목들에도 확장될 수 있다.
더구나, 본 원리의 하나 이상의 실시예들은 MPEG-4 AVC 표준과 관련하여 여기 개시되어 있는 반면, 본 원리는 이 표준에만 제한되는 것이 아니므로, 본 원리의 정신을 유지하면서, 그 외 다른 비디오 코딩 표준, 권장 및 MPEG-4 AVC 표준의 확장을 포함하는 확장과 관련하여 이용될 수 있다. 예를 들어, 본 원리는 ISO/IEC 동영상 전문가 그룹-2 표준(Moving Picture Experts Group-2 Standard) (이하, "MPEG-2 표준"이라 함), MPEG-4 AVC 표준, ITU-T H.263 권장 (이하, "H.263 권장"이라 함) 및 동영상 텔레비전 기술자 협회 (Society of Motion Picture and Telelvision Engineers (SMPTE)) 비디오 코덱-1 표준 (이하, "VC-1 표준"이라 함)을 포함하는 모든 기존의 비디오 코딩 표준과 권장에 적용 가능하지만, 이에만 제한되는 것은 아니다. 더구나, 장차 예시로서, 본 원리는 또한 MPEG-4 AVC 표준의 계층적 B 프레임에 또한 적용 가능하다.
또한, 여기 이용된 바와 같이, 문자 "영상"은 필드나 프레임을 말하는 것이다. 이전의 정의들은 MPEG-4 AVC 표준에 기재된 영상의 정의와 호환된다.
도 1을 참조하면, 비디오 부호화기는 일반적으로 참조 부호 100으로 나타낸다. 비디오 부호화기(100)는 조합기(110)의 비반전 입력과 신호 통신되는 제1 출력을 갖는 입력 프레임 버퍼 (전류 GOP용)(input frame buffer; 105)를 포함한다. 조합기(110)의 출력은 변환기(115)의 입력과 신호 통신되게 접속된다. 변환기(115)의 출력은 양자화기(120)의 입력과 신호 통신되게 접속된다. 양자화기(120)의 제1 출력은 엔트로피 코더(entropy coder; 125)의 입력과 신호 통신 접속된다. 양자화기(120)의 제2 출력은 역양자화기(130)의 입력과 신호 통신 접속된다. 역양자화기(130)의 출력은 역변환기(135)의 입력과 신호 통신 접속된다. 변환기(135)의 출력은 재구성된 프레임 버퍼(140)의 입력과 신호 통신 접속된다. 재구성된 프레임 버퍼(140)의 출력은 움직임 보상된 인터프레임 예측기(155)의 입력 및 인트라프레임 예측기(150)의 입력과 신호 통신 접속된다.
움직임 보상된 인터프레임 예측기(155)의 출력은 스위치(145)의 제1 입력과 신호 통신 접속된다. 인트라프레임 예측기(150)의 출력은 스위치(145)의 제2 입력과 신호 통신 접속된다. 스위치(145)의 출력은 조합기(110)의 비반전 입력과 신호 통신 접속된다.
입력 프레임 버퍼(105)의 제2 출력은 프레임 유형 선택기(160)의 입력과 신호 통신 접속된다. 프레임 유형 선택기(160)의 출력은 스위치(145)의 제1 입력이나 제2 입력를 선택하기 위해 움직임 보상된 인터프레임 예측기(155)의 제2 입력 및 스위치(145)의 제어 입력과 신호 통신 접속된다.
상술된 바와 같이, 본 원리는 효율성과 주관적 품질을 지원하는 예측 프레임의 선택을 위한 방법 및 장치에 관한 것이다.
따라서, 본 원리에 따르면, 종래의 방법과 관련하여 설명되는 제한점과 문제점들은 효과적이며 유효한 P/B 프레임 유형 선택 방식으로 해결된다. 일 실시예에서, 이 방식은 하나의 통합 체제로 된 몇 개의 정당화된 경험적 발견을 함께 고려하며, 이 때 더욱 정확한 프레임 움직임 강도 척도가 적용된다. 주로 최적의 코딩 효율성만을 목표로 하는 기존의 방식과 달리, 우리의 방식은 코딩 효율을 개선할 뿐만 아니라, 불쾌한 B 프레임 플리커링 아티팩트를 효과적으로 감소시킨다. 이것은 기존의 방식과 달리, 우리의 방식의 실시예에서는, B 프레임 코딩이 더욱 효율적인 경우 뿐만 아니라, B 프레임 코딩이 상당한 플리커링 아티팩트를 초래하지 않는 경우에도 프레임은 B 프레임으로 코딩되도록 결정되기 때문이다. 따라서, 전반적으로 인지 비디오 코딩 품질은 크게 개선된다.
다른 시나리오에서와 달리, 표준/국제 전자기계 위원회 (ISO/IEC) 동화상 전문가 그룹-4 (MPEG-4) 파트 10 어드밴스드 비디오 코딩 (AVC) 표준/국제 텔레커뮤니케이션 협회, 텔레커뮤니케이션 섹터 (ITU-T)H.264 권장 (International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group-4 (MPEG-4) Part 10 Advanced Video Coding (AVC) standard/international Telecommunication Union, Telecommunication Sector (ITU-T) H.264 Recommendation) (이하, "MPEG-4 AVC 표준"이라고 함)이 예측 기준으로 이용되며, 이는 통상의 비기준 B 프레임을 이용하는 것 보다 명확히 더 양호한 코딩 효율성을 초래한다. MPEG-4 AC 표준에서 정의된 계층적 B 프레임은 시퀀스, 즉 2N-1에서 특정 개수의 연속적 B 프레임이 있을 때 마다 적용될 수 있으며, 이 때 N=2, 3, 4...이다. 일 실시예에서, 제안된 방식은 계층적 B 프레임이 허용되는 경우에 또한 적용된다.
B 프레임 코딩이 P 프레임 코딩 보다 더욱 유연한 예측 모드, 예를 들어 역방향 및 양방향 예측을 가능하게 하더라도, 실질적으로 그 적용은 B 프레임에 바로 이어지는 프레임이 예측 기준을 위해 B 프레임에 바로 앞선 프레임을 이용해야 하기 때문에 더 양호한 코딩 효율의 결과를 항상 가져오지 않으며, 이는 코딩 효율의 손상을 초래할 수 있다. 더욱 심하게는, 비제어된 B 프레임 코딩이 특히 저 또는 중간 코딩 비트율에서, 심각한 플리커링 아티팩트를 야기할 수 있다. 기존의 P/B 프레임 유형 선택 방식은 모두, 코딩 효율의 개선에 목표를 두지만, 실제로 명확하게 더욱 중요한 인지 비디오 코딩 품질에는 그렇지 않다. 본 원리의 실시예에 따르면, 효과적인 P/B 프레임 유형 선택 방식이 제시되며, 이 때 프레임 움직임 강도 또는 코딩 복잡성의 새롭고 더욱 정확한 척도가 채택된다. 일 실시예에서, B 프레임 보다는, 프레임이 다음 세 조건들 중 적어도 하나가 만족될 때 P 프레임으로 코딩되게 된다: (i) 축적된 움직임이 높음 (예를 들어, 제1 임계치 보다 큼); (ii) 정방향 및 역방향 움직임이 불균형 (예를 들어, 차이가 제2 임계치 보다 큼); (iii) 움직임이 낮음 (예를 들어, 제3 임게치 보다 작음). 이 방식은 코딩 효율성을 개선할 뿐만 아니라 불쾌한 B 프레임 플리커링 아티팩트를 감소시키므로, 코딩 비디오의 전반적인 인지 품질을 크게 개선할 수 있다.
상기 제1 조건과 관련하여 여기 이용되는 바와 같이, 문구 "축적된 움직임"은 P/B 프레임 유형 판정이 행해지는 현재 프레임까지, 합산된 움직임 강도, 또는 예를 들어, 복잡성으로 수학식 4에서 정의된 바와 같은 프레임 복잡성을 의미한다. 문구 "축적된 움직임"과 관련한 용어 "움직임"은 움직임 강도가 높을수록 프레임에 대한 코딩 비용이 높아지므로, 고 프레임 코딩 복잡성을 나타낸다는 사실을 의미한다.
상기 제2 및 제3 조건과 관련하여, 용어 "움직임"의 언급은 제1 조건에서와 같이 움직임 강도나 프레임 복잡성의 동일한 일반 개념을 말한다. 일 실시예에서, 이러한 움직임은 또한 수학식 4에서 정의된 새로운 효과적인 측량법과 관련된다.
물론, 본 원리의 개시가 여기에서 제공되었지만, 본 기술 및 관련 기술의 당업자라면 본 원리의 정신을 유지하면서, 상술된 움직임 (예를 들어, 축적된, 정방향 움직임, 역방향 움직임)의 이들 및 여러 다른 구현과 해석을 생각해낼 것이다.
따라서, 본 원리에 따라서, 우리는 새로운 P/B 프레임 유형 선택 방식을 설명한다. 신규성은 삼중이다. 먼저, 예를 들어, 상술한 제2, 제3, 제4, 제5 및 제6 종래 기술의 방법과 같이, 오직 코딩 효율만을 개선하는 것을 모두 목표로 하는 모든 기존의 방식과 달리, 우리의 방식은 코딩 효율을 개선할 뿐만 아니라, 불쾌한 B 프레임 플리커링 아티팩트를 줄이는 데에 목표로 둔다. 따라서, 우리의 방식과 기존의 방식과의 상당한 차이는: 매우 낮은 움직임 프레임에 대해, 우리의 방식은 B 프레임 플리커링을 방지하기 위해 B 프레임 코딩을 선호하지 않지만, 기존의 방식은 코딩 효율을 개선하기 위해서 이 경우 더 많은 B 프레임 코딩을 취한다는 것이다. 둘째, 축적된 움직임 체킹이나 균형된 움직임 체킹과 관련된 상술한 제2 및 제3 종래 접근된 두 기존의 경험에 근거한 방법과 달리, 우리의 방식은 일 실시예에서 하나의 통합된 체제로 된 몇 개의 도움이 되는 상호 보완적인 경험을 통합하며, 이는 더욱 포괄적이므로 전체적인 성능을 양호하게 만든다. 세째, 우리의 방식은 예를 들어, 상술한 제2 및 제6 종래 기술의 방법과 같은 기존의 방식에서 이용된 것 보다 더욱 정확한 프레임 복잡성 척도를 이용하며, 이는 움직임 벡터와 움직임 추정 오차(motion estimation error) 둘 다의 코딩 복잡성을 고려한 것이다. 폭넓은 실험 결과는 이 새로운 방식이 코딩 효율성을 개선하도록 B 프레임 코딩을 효율적인 이용하는 동시에, 바람직하지 않은 플리커링 아티팩트를 감소시키도록 B 프레임 코딩의 적용을 적당히 제한한다. 따라서, B 프레임 코딩은 바람직하지 않은 플리커링 아티팩트를 감소시키기 위해 우리의 방식에서는 더욱 강하게 제한된다. 기본 개념은: B 프레임 코딩이 P 프레임 코딩 보다 상당히 더 효율적이지 않을 때마다, P 프레임 유형은 양호한 인지 비디오 코딩 품질을 보장하도록 선택되게 된다는 것이다.
상세하게 설명하면, 우리의 방식에서, 프레임은 다음 세 조건 중 어느 하나가 만족되는 경우 P 프레임으로 코딩되게 된다. 그렇지 않으면, 프레임은 B 프레임으로 코딩되게 된다. 여기에서, 우리는 프레임 i의 코딩 복잡성, 즉 움직임 강도를 Cmpli로 나타낸다.
- 고 축적된 움직임에 대한 조건: 마지막 기준 프레임 바로 후의 프레임부터 현재 프레임 까지 축적된 움직임 강도가 임계치 TH1 보다 더 큰 경우, 즉:
이때, curr_frm 및 last_ref는 현재 프레임과 마지막 기준 프레임의 프레임 수를 각각 나타낸다.
- 불균형 움직임에 대한 조건: 현재 프레임의 정방향 및 역방향 움직임 강도가 불균형인 경우, 즉:
이 때, TH2는 임계치이다. Cmplcurr _ frm은 실재로 현재 프레임의 정방향 움직임 강도를 나타내는 반면, 역방향 움직임 강도는 다음 프레임의 정방향 움직임 강도와 동일하다고 추정된다. 이와 같이, 프레임의 역방향 움직임 강도를 연산할 필요는 없으며, 이는 연산 복잡성을 상당히 줄여준다.
- 저 움직임의 조건: 현재 프레임 움직임 강도가 특정 임계치 TH3 이하이면, 즉:
우리는 상기 방식에서, 세 조건은 공통의 프레임 복잡성 척도와 함께 통합된다. 이는 예를 들어, 상술된 제2 및 제4 종래 기술의 방법에서와 같이, 기존의 방식의 것 보다 B 프레임 코딩의 이용에 더 엄격한 제한을 주게 한다. 따라서, 과도한 B 프레임 코딩으로 인한 B 플리커링 아티팩트가 더욱 효과적으로 감소될 수 있다.
고 축적 움직임에 대한 제1 조건은 주로 최적의 코딩 효율성에 대한 것이다. 상술된 제2 종래 기술의 방법에서와 같이, 다음과 같은 사실이 잘 인식되었다: 움직임이 높을 때마다, 다음 프레임에서 더 양호한 예측 성능을 위해 기준을 갱신하도록 P 프레임을 삽입하는 것이 더욱 효율적이다.
불균형 움직임에 대한 제2 조건의 정당화는 다음과 같다. 관련 프레임의 정방향 및 역방향 움직임이 불균형일 때, 정방향 예측이나 역방향 예측은 관련 프레임이 B 프레임으로 코딩되는 경우 우세하게 된다. 따라서, B 프레임 코딩은 P 프레임 코딩의 것과 유사한 효율성을 가져온다. 전술한 바와 같이, 이 경우, B 프레임 플리커링을 줄이기 위해서, P 프레임 유형이 선택되게 되는데, 이는 유사한 코딩 효율성을 초래하지만, 플리커링 아티팩트는 덜 초래하므로, 전체적으로 B 프레임 코딩 보다 더 양호한 선택이 된다.
저 움직임에 대한 제3 조건은 특히 B 프레임 플리커링 아티팩트를 줄이기 위한 것이다. 사실상, 예를 들어, 상술한 제1, 제2, 및 제4 종래 기술의 방법과 같은 기존의 방식에서 폭넓게 인식된 바와 같이, 코딩 효율성 면에서, B 프레임 코딩은 저 움직임 프레임을 코딩하기 위해 P 프레임 코딩 보다 명확하게 더 양호한 선택이 된다. 그러나, 저 움직임 프레임은 또한 플리커링 아티팩트에 더욱 민감하다. 특히 매우 낮은 움직임의 경우 (예를 들어, 움직임 강도가 수학식 3에서 정의된 특정 임계치 이하), P 프레임 코딩 보다 B 프레임 코딩의 코딩 이득은 많지 않은데, 정방향 예측만이 이미 우수한 예측 성능이 되기 때문이다. 그러나, 매우 낮은 움직임 프레임이 플리커링 아티팩트에 매우 민감하다. 따라서, 이 경우, P 프레임 코딩은 양호한 전체 코딩 성능을 위해 선택되게 된다. 이 실행은 기존의 모든 방식과는 다른데, 이 때 P 프레임 코딩이 더 양호한 코딩 효율을 위해 이 경우 선택되게 된다.
수학식 1 내지 수학식 3에서의 세 임계치의 실재값은 채택된 특정 프레임 복잡성 척도와 관련된다. 여러 척도는 여러 임계값을 유도한다. 사실상, 우리의 새로운 방식은 예를 들어, 상술한 제1, 제2 및 제6 종래의 방법에서 제한된 것과 같은 프레임 복잡성이나 움직임 강도 척도를 수용할 수 있다. 따라서, 본 원리의 특정 실시예에 따르면, 더욱 포괄적이며 기존의 척도 보다 더욱 정확한 새로운 프레임 복잡성 척도가 개발된다. 새로운 척도는 다음과 같이 정의된다:
여기에서, Cmpl은 프레임의 복잡성을 나타낸다. 은 프레임의 모든 매크로블럭에 대한 평균 움직임 벡터 코딩 비트를 나타내는 반면, 은 프레임의 모든 매크로블럭에 대한 매크로블럭 움직임 추정 오차의 평균화된 루미넌스(Luminance)의 평균 절대 차이 (mean-absolute-difference; MAD)를 나타낸다. 수학식 4의 간단한 합산 형식은 다방면의 실험을 거쳐 양호한 경험적 방법으로 유도된 것이다. 제안된 척도의 연산은 움직임 추정을 포함하며, 이는 움직임 벡터 강도 및 나머지 움직임 추정 잔여(motion estimation residue)의 강도 둘 다를 고려한 것이다. 따라서, 예를 들어, 상술한 제1, 제2, 및 제6 종래 기술의 방법에서 이용된 기존의 척도 보다 더욱 포괄적이며 더욱 정확하다.
새로운 복잡성 척도는 제안된 P/B 프레임 유형 선택에 대해 미리 연산된다. 일 실시예에 따르면, 이전의 원 입력 비디오 프레임으로부터 단일의 기준 정방향 예측을 실행하는 사전 분석 프로세스에서 연산된다. 연산 복잡성을 줄이기 위해서, 사전 분석 움직임 추정은 오직 인터16x16 모드(inter16×16 mode) 및 오직 전 화소 움직임 벡터만(full-pixel motion vectors)을 체크한다. 각 매크로블럭의 움직임 벡터 코딩 비트를 연산하기 위해서, 동일한 고속 근사화 방식이 MPEG-4 AVC Joint Model (JM) 부호화기의 비트율 왜곡 (RD) 최적화 움직임 추정시 이용된다. 이 초래된 연산 복잡성은 현재 구현에서 증명된 바와 같이, 실시간 부호화를 위해, 실질적인 비디오 부호화기에서 허용 가능하다. 우리의 현재 사전 분석 구현으로, 임계값은 다음과 같이 설정된다: TH1=12, TH2=2, TH3=4이다. 물론, 본 원리는 상술된 세 조건에 대응하는 상술된 세 임계치에 대한 상술한 값에만 제한되지 않고, 본 원리의 정신을 유지하면서 다른 값이 또한 이용될 수 있다.
도 2를 참조하면, 비디오 부호화기에서 P/B 프레임 유형 선택을 위한 예시의 방법을 일반적으로 참조 부호 200으로 나타내었다.
방법 200은 루프 제한 블럭(210)으로 제어를 보내는 시작 블럭(205)을 포함한다. 루프 제한 블럭(210)은 비디오 시퀀스의 프레임 0에서 프레임 N-1로 처리되고 있는 현재 비디오 시퀀스의 각 그룹 오브 픽쳐(group of pictures (GOP))의 루프를 시작하여, 제어를 루프 제한 블럭(215)으로 보낸다. 루프 제한 블럭(215)은 현재 그룹 오브 픽쳐의 프레임 1에서 프레임 N-1 까지 처리되고 있는 현재 그룹 오브 픽쳐의 각 프레임에 대한 루프를 시작하고, 제어를 기능 블럭(220)으로 보낸다. 기능 블럭(220)은 오직 인터16x16 모드만을 체크하고, 오직 전 화소 움직임 벡터만을 체크하고, 하나의 기준 정방향 예측을 이전의 원 프레임으로부터 실행하는 것을 포함하는 간단화된 움직임 추정으로 사전 분석을 실행하고, 제어를 기능 블럭(225)으로 보낸다. 기능 블럭(225)은 현재 프레임의 프레임 복잡성 척도 Cmpl를 으로 연산하고, 제어를 루프 제한 블럭(230)으로 보낸다. 루프 제한 블럭(230)은 현재 그룹 오브 픽쳐의 각 프레임에 대한 루프를 종료하고, 제어를 기능 블럭(235)로 보낸다. 기능 블럭(235)은 (방법 200의 후속 단계에 의해 이용하도록) 를 이용 가능하게 하고, 제어를 루프 제한 블럭(240)으로 보낸다. 루프 제한 블럭(240)은 현재 그룹 오브 픽쳐의 프레임 1 내지 프레임 N-1에서 처리되고 있는 현재 그룹 오브 픽쳐의 각 프레임에 대한 루프를 시작하고, 제어를 기능 블럭(245)으로 보낸다. 기능 블럭(245)은 {Cmpl}를 이용하여 수학식 1 내지 3 마다 P/B 프레임 유형 선택을 실행하고 제어를 기능 블럭(250)으로 보낸다. 기능 블럭(250)은 현재 프레임에 대해 선택된 프레임 유형을 기록하고, 제어를 루프 제한 블럭(255)로 보낸다. 루프 제한 블럭(255)은 각 프레임에 대한 루프를 종료하고, 제어를 기능 블럭(260)으로 보낸다. 기능 블럭(260)은 선택된 프레임 유형에 따라서, 제1 프레임이 I 프레임으로 코딩되고 프레임의 나머지는 P 또는 B 프레임으로 코딩되어 현재 그룹 오브 픽쳐를 부호화하고, 제어를 루프 제한 블럭(265)로 보낸다. 루프 제한 블럭(265)는 그룹 오브 픽쳐에 대한 루프를 종료하고, 제어를 종료 블럭(299)으로 보낸다.
광범위한 실험 결과는 제안된 P/B 프레임 유형 선택 방식은 심각한 B 프레임 플리커링 아티팩트를 방지하면서 B 프레임 코딩으로부터 코딩 효율의 이점을 효과적으로 이용할 수 있다는 것을 보여준다. B 프레임 코딩 없음 또는 고정된 개수의 연속되는 B 프레임으로의 코딩과 비교하여, 제안된 적응성 B 프레임 코딩 방식은 더 나은 코딩 효율성 및, B 프레임 플리커링 아티팩트를 줄이면서 양호한 인지 비디오 코딩 품질을 성취한다. 방식의 복잡성은 높지 않으며, 실시간 비디오 부호화에 적용될 수 있다.
본 발명의 많은 부수적인 장점/특성들 중 몇 가지에 대해 이하 설명될 것이며, 이들 중 몇은 상술한 바 있다. 예를 들어, 일 장점/특성은 코딩 효율성 및 플리커링 아티팩트(flickering artifact)가 양방향 인터 예측(inter predictive) 영상 유형으로 영상을 코딩하여 결과되었다는 판정에 근거하여 상기 영상을 단일 방향 인터 예측 영상 유형과 양방향 인터 예측 유형으로 부호화하는 것 사이에서 선택하는 선택 방식을 이용하여 상기 영상을 부호화하기 위한 부호화기(100)를 포함하는 장치이다.
다른 장점/특성은 상술된 바와 같은 부호화기를 갖는 장치로서, 이 때 선택 방식은 축적된 움직임이 제1 임계치 보다 더 클 때, 상기 영상을 상기 양방향 인터 예측 영상 유형 보다는 상기 단일 방향 인터 예측 영상 유형으로 부호화하는 것을 선택하고, 단일 방향 움직임 강도와 양방향 움직임 강도 간의 차이는 제2 임계치 보다 더 크고, 영상 움직임은 제3 임계치 보다 작다.
또 다른 장점/특성은 상술된 바와 같은 부호화기를 갖는 장치이며, 적어도 코딩 효율성은 영상 복잡성 척도에 근거한다. 영상 복잡성 척도는 적어도 움직임 벡터 코딩 복잡성 및 움직임 추정 오차 코딩 복잡성(motion estimation error coding complexity)에 근거한다.
또 다른 장점/특성은 적어도 코딩 효율성이 상술된 바와 같이 영상 복잡성 척도에 근거하고, 영상 복잡성 척도는 평균 매크로블럭 움직임 벡터 코딩 비트와 루미넌스 움직임 추정 오차의 평균 매크로블럭 평균 절대 차이의 합으로 연산되는 부호화기를 갖는 장치이다.
또한, 다른 장점/특성은 영상 복잡성 척도가 상술된 바와 같은 합산으로 연산되고, 움직임 복잡성 척도는 움직임 벡터 강도(motion vector intensity)와 잔여 강도(residue intensity) 둘다를 고려하는 부호화기를 갖는 장치이다.
더구나, 다른 장점/특성은 적어도 코딩 효율이 상술된 바와 같이 영상 복잡성 척도에 근거하며, 이 영상은 비디오 시퀀스에 대응하는 복수의 원본 영상(original pictures) 중 하나인 부호화기를 갖는 장치이다. 영상 복잡성 척도는 간략화된 움직임 추정된 사전 분석 프로세스를 이용하여 연산된다. 사전 분석 프로세스는 오직 인터16x16 모드만을 그리고 오직 전 화소 움직임 벡터만을 체크하고, 복수의 원본 영상 중에서 이전의 원본 영상으로부터 오직 하나의 기준 단일 방향 예측만을 실행하는 것을 포함한다.
또한, 다른 장점/특성은 양방향 인터 예측 영상 유형은 계층적 양방향 인터 예측 영상 유형을 포함하는 부호화기를 갖는 장치이다.
본 원리의 이들 및 그 외 특성 및 장점은 여기 개시된 것에 근거하여 관련 기술의 당업자에게는 용이하게 확인될 수 있다. 본 원리의 개시는 하드웨어, 소프트웨어, 펌웨어, 특수 목적의 프로세서, 또는 이들의 조합의 여러 형태로 구현될 수 있다는 것이 이해될 것이다.
더욱 바람직하게, 본 원리의 개시는 하드웨어와 소프트웨어의 조합으로 구현된다. 더구나, 소프트웨어는 프로그램 저장 유닛에 실체적으로 구현된 응용 프로그램으로 구현될 수 있다. 이 응용 프로그램은 임의의 적합한 아키텍처를 포함하는 머신에 업로드되거나 이에 의해 실행될 수 있다. 바람직하게, 이 머신은 하나 이상의 중앙 처리 장치 ("CPU"), 랜덤 액세스 메모리 ("RAM") 및 입/출력 ("I/O") 인터페이스와 같은 하드웨어를 갖는 컴퓨터 플랫폼에 구현된다. 컴퓨터 플랫폼은 또한 운용 시스템과 마이크로인스트럭션 코드를 포함할 수 있다. 여기 개시된 여러 프로세스와 기능들은 CPU에 의해 실행될 수 있는, 마이크로인스트럭션 코드의 일부나 응용 프로그램의 일부이거나, 이의 조합일 수 있다. 부가하여, 여러 다른 주변 장치들은 부가의 데이터 저장 유닛과 프린팅 유닛과 같은 컴퓨터 플랫폼에 연결될 수 있다.
첨부한 도면에서 설명된 구성 시스템 성분과 방법들 중 몇은 소프트웨어로 바람직하게 구현되기 때문에, 시스템 구성 요소나 프로세스 기능 블럭 간의 실재 접속은 본 원리가 프로그램되는 방식에 따라 달라질 수 있다는 것이 이해되어야 한다. 여기 개시된 바에 의하면, 관련 기술의 당업자라면 본 원리의 이들 및 그 유사한 구현이나 구성을 생각해낼 수 있을 것이다.
설명된 실시예는 첨부한 도면을 참조하여 설명되었지만, 본 원리는 이들 명확한 실시예에만 제한되는 것은 아니며, 여러 변경과 수정들이 본 원리의 영역이나 정신에서 벗어나지 않고 관련 기술의 당업자라면 실시할 수 있다는 것이 이해되어야 한다. 이런 변경 및 수정들은 첨부한 청구범위에 기재된 바와 같은 본 원리의 영역 내에 포함되는 것이다.
100: 부호화기
105: 입력 프레임 버퍼
110: 조합기
115: 변환기
120: 양자화기
125: 엔트로피 코더
130: 역양자화기
135: 역변환기
140: 재구성된 프레임 버퍼
150: 인트라프레임 예측기
155: 움직임 보상된 인터프레임 예측기
105: 입력 프레임 버퍼
110: 조합기
115: 변환기
120: 양자화기
125: 엔트로피 코더
130: 역양자화기
135: 역변환기
140: 재구성된 프레임 버퍼
150: 인트라프레임 예측기
155: 움직임 보상된 인터프레임 예측기
Claims (14)
- 코딩 효율성 및 양방향 인터 예측(inter predictive) 영상 유형으로서 영상을 코딩함에서 기인하는 플리커링 아티팩트(flickering artifact)의 결정에 근거하여 상기 영상을 단일 방향 인터 예측 영상 유형과 양방향 인터 예측 영상 유형으로 부호화하는 것 간에 선택하는 선택 방식을 이용하여 상기 영상을 부호화하기 위한 부호화기(100)를 포함하는 장치.
- 제1항에 있어서, 적어도 하나의 축적된 움직임이 제1 임계치 보다 더 크고 단일 방향 움직임 강도(motion intensity)와 양방향 움직임 강도 간의 차이가 제2 임계치보다 더 크며 영상 움직임이 제3 임계치 보다 작은 경우, 상기 선택 방식은 상기 영상을 상기 양방향 인터 예측 영상 유형보다는 상기 단일 방향 인터 예측 영상 유형으로 부호화하는 것을 선택하는, 장치.
- 제1항에 있어서, 적어도 상기 코딩 효율성은 영상 복잡성 척도(picture complexity measure)에 근거하고, 상기 영상 복잡성 척도는 적어도 움직임 벡터 코딩 복잡성 및 움직임 추정 오차 코딩 복잡성(motion estimation error coding complexity)에 근거하는, 장치.
- 제3항에 있어서, 상기 영상 복잡성 척도는 평균 매크로블럭 움직임 벡터 코딩 비트와 루미넌스 움직임 추정 오차의 평균 매크로블럭 평균-절대-차이(mean-absolute-difference)의 합으로 연산되는, 장치.
- 제4항에 있어서, 상기 영상 복잡성 척도는 움직임 벡터 강도와 잔여 강도 둘다를 고려하는 장치.
- 제3항에 있어서,
상기 영상은 비디오 시퀀스에 대응하는 복수의 원본 영상 중 하나이고, 상기 영상 복잡성 척도는 간략화된 움직임 추정을 갖는 사전 분석 프로세스를 이용하여 연산되고,
상기 사전 분석 프로세스는 오직 인터16x16 모드(inter16×16 mode) 및 오직 전 화소 움직임 벡터만을 체크하고, 상기 복수의 원본 영상 중으로부터의 이전 원본 영상으로부터 오직 하나의 기준 단일 방향 예측만을 실행하는 것을 포함하는, 장치.
- 제1항에 있어서, 상기 양방향 인터 예측 영상 유형은 계층적 양방향 인터 예측 영상 유형을 포함하는, 장치.
- 코딩 효율성 및 양방향 인터 예측 영상 유형으로서 영상을 코딩함에서 기인하는 플리커링 아티팩트의 결정에 근거하여 상기 영상을 단일 방향 인터 예측 영상 유형과 양방향 인터 예측 영상 유형으로 부호화하는 것 간에 선택하는 선택 방식을 이용하여 상기 영상을 부호화하는 단계를 포함하는 방법(245).
- 제8항에 있어서, 적어도 하나의 축적된 움직임이 제1 임계치 보다 더 크고 단일 방향 움직임 강도(motion intensity)와 양방향 움직임 강도 간의 차이가 제2 임계치보다 더 크며 영상 움직임이 제3 임계치 보다 작은 경우, 상기 선택 방식은 상기 영상을 상기 양방향 인터 예측 영상 유형보다는 상기 단일 방향 인터 예측 영상 유형으로 부호화하는 것을 선택하는, 방법.
- 제8항에 있어서, 적어도 상기 코딩 효율성은 영상 복잡성 척도에 근거하고, 상기 영상 복잡성 척도는 적어도 움직임 벡터 코딩 복잡성 및 움직임 추정 오차 코딩 복잡성(motion estimation error coding complexity)에 근거하는, 방법(225).
- 제10항에 있어서, 상기 영상 복잡성 척도는 평균 매크로블럭 움직임 벡터 코딩 비트와 루미넌스 움직임 추정 오차의 평균 매크로블럭 평균-절대-차이(mean-absolute-difference)의 합으로 연산되는(225), 방법.
- 제11항에 있어서, 상기 영상 복잡성 척도는 움직임 벡터 강도와 잔여 강도 둘다를 고려하는, 방법.
- 제10항에 있어서,
상기 영상은 비디오 시퀀스에 대응하는 복수의 원본 영상 중 하나이고, 상기 영상 복잡성 척도는 간략화된 움직임 추정을 갖는 사전 분석 프로세스를 이용하여 연산되고,
상기 사전 분석 프로세스는 오직 인터16x16 모드 및 오직 전 화소 움직임 벡터(full-pixel motion vectors)만을 체크하고, 상기 복수의 원본 영상 중으로부터의 이전 원본 영상으로부터 오직 하나의 기준 단일 방향 예측만을 실행하는 것을 포함하는, 방법.
- 제8항에 있어서, 상기 양방향 인터 예측 영상 유형은 계층적 양방향 인터 예측 영상 유형을 포함하는, 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3518708P | 2008-03-10 | 2008-03-10 | |
US61/035,187 | 2008-03-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100137502A true KR20100137502A (ko) | 2010-12-30 |
KR101656091B1 KR101656091B1 (ko) | 2016-09-08 |
Family
ID=40886914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107022455A KR101656091B1 (ko) | 2008-03-10 | 2009-01-30 | 효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10080034B2 (ko) |
EP (1) | EP2250813B1 (ko) |
JP (1) | JP5474838B2 (ko) |
KR (1) | KR101656091B1 (ko) |
CN (1) | CN101960854B (ko) |
WO (1) | WO2009114054A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017188566A1 (ko) * | 2016-04-25 | 2017-11-02 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인터 예측 방법 및 장치 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101656091B1 (ko) * | 2008-03-10 | 2016-09-08 | 톰슨 라이센싱 | 효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치 |
US9357229B2 (en) | 2010-07-28 | 2016-05-31 | Qualcomm Incorporated | Coding motion vectors in video coding |
US9066102B2 (en) | 2010-11-17 | 2015-06-23 | Qualcomm Incorporated | Reference picture list construction for generalized P/B frames in video coding |
ES2900775T3 (es) * | 2011-01-13 | 2022-03-18 | Nec Corp | Dispositivo de descodificación de vídeo, método de descodificación de vídeo y programa |
CN107968945B (zh) * | 2011-09-14 | 2021-09-14 | 三星电子株式会社 | 对视频进行解码的方法和对视频进行编码的方法 |
CN103533372B (zh) * | 2012-07-02 | 2016-12-07 | 华为技术有限公司 | 双向预测图像片的编码、解码方法及设备 |
CN103079068A (zh) * | 2013-01-14 | 2013-05-01 | 天津大学 | 基于运动剧烈程度和空域相关性的帧间模式判决方法 |
EP2932712A4 (en) * | 2013-06-11 | 2016-11-30 | Hfi Innovation Inc | METHOD FOR THE INTERMEDIATE REST PRESENTATION WITH REDUCED COMPLEXITY IN A THREE-DIMENSIONAL VIDEO CODING |
US10728572B2 (en) | 2016-09-11 | 2020-07-28 | Lg Electronics Inc. | Method and apparatus for processing video signal by using improved optical flow motion vector |
WO2018169099A1 (ko) * | 2017-03-13 | 2018-09-20 | 엘지전자(주) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
JP7017223B2 (ja) * | 2017-07-31 | 2022-02-08 | 株式会社Free-D | 動画圧縮方法 |
CN109640081B (zh) * | 2019-02-14 | 2023-07-14 | 深圳市网心科技有限公司 | 一种帧内预测方法、编码器、电子设备及可读存储介质 |
CN111901605B (zh) * | 2019-05-06 | 2022-04-29 | 阿里巴巴集团控股有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN112291560B (zh) * | 2020-10-30 | 2024-05-07 | 北京百度网讯科技有限公司 | 视频编码方法、装置、设备和介质 |
CN112291559B (zh) * | 2020-10-30 | 2023-10-31 | 北京百度网讯科技有限公司 | 视频编码方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050147167A1 (en) * | 2003-12-24 | 2005-07-07 | Adriana Dumitras | Method and system for video encoding using a variable number of B frames |
US20070036213A1 (en) * | 2005-08-12 | 2007-02-15 | Atsushi Matsumura | Video encoding apparatus and video encoding method |
JP2007214785A (ja) * | 2006-02-08 | 2007-08-23 | Sony Corp | 符号化装置、符号化方法およびプログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6091460A (en) | 1994-03-31 | 2000-07-18 | Mitsubishi Denki Kabushiki Kaisha | Video signal encoding method and system |
JPH0846969A (ja) | 1994-07-26 | 1996-02-16 | Mitsubishi Electric Corp | 映像信号符号化方式 |
JPH0955939A (ja) | 1995-08-10 | 1997-02-25 | Graphics Commun Lab:Kk | 動画像圧縮方法および装置 |
US6597738B1 (en) * | 1999-02-01 | 2003-07-22 | Hyundai Curitel, Inc. | Motion descriptor generating apparatus by using accumulated motion histogram and a method therefor |
JP2002101416A (ja) | 2000-09-25 | 2002-04-05 | Fujitsu Ltd | 画像制御装置 |
ES2602575T3 (es) * | 2001-11-06 | 2017-02-21 | Panasonic Intellectual Property Corporation Of America | Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento |
JP4346868B2 (ja) * | 2002-06-17 | 2009-10-21 | 株式会社日立製作所 | 動画符号化装置、及び動画記録再生装置、及び動画再生装置、及び動画符号化方法ならびに動画記録再生方法 |
KR100548316B1 (ko) * | 2002-11-08 | 2006-02-02 | 엘지전자 주식회사 | 동영상 에러 보정 방법 및 장치 |
US7606303B2 (en) | 2004-09-28 | 2009-10-20 | General Instrument Corporation | Method and apparatus to detect anchor frames from digital video streams |
US8325799B2 (en) * | 2004-12-28 | 2012-12-04 | Nec Corporation | Moving picture encoding method, device using the same, and computer program |
US8879635B2 (en) | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Methods and device for data alignment with time domain boundary |
KR100727994B1 (ko) | 2005-10-06 | 2007-06-14 | 삼성전자주식회사 | 깜박거림 현상 감소를 위한 동영상 프레임의 코딩 방법 및장치 |
PL2008460T3 (pl) * | 2006-03-30 | 2017-10-31 | Lg Electronics Inc | Sposób i urządzenie do dekodowania/kodowania sygnału wideo |
US8036270B2 (en) * | 2006-07-27 | 2011-10-11 | Sharp Laboratories Of America, Inc. | Intra-frame flicker reduction in video coding |
KR101656091B1 (ko) * | 2008-03-10 | 2016-09-08 | 톰슨 라이센싱 | 효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치 |
-
2009
- 2009-01-30 KR KR1020107022455A patent/KR101656091B1/ko active IP Right Grant
- 2009-01-30 CN CN2009801080797A patent/CN101960854B/zh active Active
- 2009-01-30 EP EP09720434.1A patent/EP2250813B1/en not_active Not-in-force
- 2009-01-30 US US12/736,097 patent/US10080034B2/en active Active
- 2009-01-30 JP JP2010550665A patent/JP5474838B2/ja active Active
- 2009-01-30 WO PCT/US2009/000637 patent/WO2009114054A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050147167A1 (en) * | 2003-12-24 | 2005-07-07 | Adriana Dumitras | Method and system for video encoding using a variable number of B frames |
US20070036213A1 (en) * | 2005-08-12 | 2007-02-15 | Atsushi Matsumura | Video encoding apparatus and video encoding method |
JP2007214785A (ja) * | 2006-02-08 | 2007-08-23 | Sony Corp | 符号化装置、符号化方法およびプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017188566A1 (ko) * | 2016-04-25 | 2017-11-02 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인터 예측 방법 및 장치 |
US10798385B2 (en) | 2016-04-25 | 2020-10-06 | Lg Electronics Inc. | Inter-prediction method and apparatus in image coding system |
Also Published As
Publication number | Publication date |
---|---|
EP2250813A1 (en) | 2010-11-17 |
US10080034B2 (en) | 2018-09-18 |
JP5474838B2 (ja) | 2014-04-16 |
US20110002380A1 (en) | 2011-01-06 |
KR101656091B1 (ko) | 2016-09-08 |
WO2009114054A1 (en) | 2009-09-17 |
CN101960854B (zh) | 2013-12-18 |
JP2011514120A (ja) | 2011-04-28 |
CN101960854A (zh) | 2011-01-26 |
EP2250813B1 (en) | 2018-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101656091B1 (ko) | 효율성과 주관적 품질의 개선을 지원하는 예측 프레임 선택을 위한 방법 및 장치 | |
Wang et al. | Rate-distortion optimization of rate control for H. 264 with adaptive initial quantization parameter determination | |
US7532764B2 (en) | Prediction method, apparatus, and medium for video encoder | |
KR101329860B1 (ko) | 효과적인 레이트 제어 및 비디오 인코딩 품질의 향상을 위한 ρ-도메인 프레임 레벨 비트 할당 방법 | |
US8155191B2 (en) | Method and apparatus for fast mode decision of B-frames in a video encoder | |
US9071840B2 (en) | Encoder with adaptive rate control for H.264 | |
JP4127818B2 (ja) | 動画像符号化方法及びその装置 | |
US8385416B2 (en) | Method and apparatus for fast mode decision for interframes | |
KR101362590B1 (ko) | 화상 처리 장치 및 방법 | |
US6167088A (en) | Method and apparatus for performing adaptive encoding rate control of a video information stream including 3:2 pull-down video information | |
JPWO2005062625A1 (ja) | 動画像を符号化する方法及び装置 | |
JP2005252555A (ja) | ビデオ情報再符号化装置 | |
JP5649296B2 (ja) | 画像符号化装置 | |
US10827199B2 (en) | Encoding device, encoding method, and computer-readable recording medium storing encoding program | |
JP4130617B2 (ja) | 動画像符号化方法および動画像符号化装置 | |
US20060274832A1 (en) | Device for encoding a video data stream | |
US8692934B2 (en) | Method and system for frame rate adaptation | |
JP2009284058A (ja) | 動画像符号化装置 | |
JP2000032468A (ja) | 画像符号化方法および動き補償モード選択プログラムを記録した記録媒体 | |
JP4676513B2 (ja) | 符号化ピクチャタイプ決定方法,装置,そのプログラムおよびその記録媒体 | |
JP2005303555A (ja) | 動画像符号化装置および動画像符号化方法 | |
KR20120066259A (ko) | H.264/avc를 위한 통계 모델 기반의 비트율 제어 방법 및 장치 | |
KR100701129B1 (ko) | 영상 부호화기에서 고속 블록 모드 결정 방법 | |
JP4556773B2 (ja) | 映像信号処理方法 | |
JP4556774B2 (ja) | 映像信号処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |