KR102266213B1 - 인트라 프레임 코딩된 프레임에 대한 코드 레이트 할당 방법, 컴퓨터 장비, 및 저장 매체 - Google Patents
인트라 프레임 코딩된 프레임에 대한 코드 레이트 할당 방법, 컴퓨터 장비, 및 저장 매체 Download PDFInfo
- Publication number
- KR102266213B1 KR102266213B1 KR1020197013493A KR20197013493A KR102266213B1 KR 102266213 B1 KR102266213 B1 KR 102266213B1 KR 1020197013493 A KR1020197013493 A KR 1020197013493A KR 20197013493 A KR20197013493 A KR 20197013493A KR 102266213 B1 KR102266213 B1 KR 102266213B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- intra
- encoding
- inter
- ratio
- 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/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/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/11—Selection of coding mode or of prediction mode among a plurality of spatial 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/115—Selection of the code volume for a coding unit prior to 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/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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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
-
- 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/147—Data rate or code amount at the encoder output according to rate distortion 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
- H04N19/166—Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
-
- 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/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/184—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 bits, e.g. of the compressed video stream
-
- 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/19—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 using optimisation based on Lagrange multipliers
-
- 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
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 출원은 인트라 프레임 비트레이트 할당 방법 및 장치, 컴퓨터 장비, 및 저장 매체를 제공한다. 상기 방법은, 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 화면의 현재 프레임을 프리 인코딩하는 단계 - 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로 인코딩하는 것을 포함함 -, 대응하는 프리 인코딩 코스트를 계산하는 단계, 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당하는 단계를 포함하고 할당된 인트라 프레임 비트레이트는 프리 인코딩 코스트와 양의 상관관계가 있다. 프리 인코딩 코스트는 화면의 현재 프레임을 프리 인코딩하여 획득되고, 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로 인코딩하는 것을 포함한다. 프리 인코딩 코스트가 높으면, 이는 동일한 비디오 품질에 도달하기 위해 인트라 프레임에 의해 요구되는 비트레이트가 높음을 지시한다. 그러므로, 프리 인코딩 코스트에 따라 할당되는 인트라 프레임 비트레이트는 화면의 현재 프레임의 화면의 실제 시나리오를 반영할 수 있어서, 할당된 인트라 프레임 비트레이트의 정확성이 높고, 비디오 인코딩의 화질이 향상된다.
Description
본 출원은 화면 처리 기술 분야에 관한 것이고, 특히 인트라 프레임 비트레이트 할당 방법, 컴퓨터 장비, 및 저장 매체에 관한 것이다.
본 출원은 2017년 3월 7일에 중국 특허청에 출원된, "INTRA FRAME BIT RATE ASSIGNMENT METHOD AND APPARATUS"라는 명칭의 중국 출원 번호 2017101325269의 우선권을 주장하고, 상기 출원은 그 전문이 참조로서 병합된다.
비트레이트 제어는 비디오 통신 및 스트리밍 미디어 전송 동안 출력 스트림에 대한 제어로서, 출력 스트림은 채널 대역폭 및 버퍼 제한사항을 만족시킨다. 이러한 기초 위에서, 비디오 품질의 왜곡(distortion)은 가능한 한 최소로 보장될 수 있다. 비트레이트 제어는 두 단계를 포함된다. 첫 번째 단계는 비트레이트를 할당하는 것이며, 두 번째 단계는 양자화 파라미터를 계산하는 것이다. 인코더는 양자화 파라미터 및 할당된 비트레이트에 따라 인코딩을 수행한다.
비트레이트 제어 유닛은 화면 그룹(group of picture, GOP)을 제어하기 위해 사용된다. 화면 그룹(GOP)은 I 프레임(인트라 프레임(intra frame))을 포함하고, 나머지 프레임은 인터 프레임(inter frame)(P/B 프레임)이다. I 프레임은 시퀀스 GOP의 첫 번째 프레임이다. I 프레임이 기본 프레임으로 사용되고, P 프레임은 I 프레임을 사용하여 예측되며, 이후 B 프레임은 I 프레임과 P 프레임을 사용하여 예측된다.
현재 프레임이 인트라 프레임이면, 비트레이트는 이전 시퀀스의 I 프레임, P 프레임, 및 B 프레임의 비트레이트 및 양자화 파라미터와 현재 버퍼의 점유 상태에 따라 현재 I 프레임에 할당된다. 실제 응용에서, I 프레임의 간격이 상대적으로 크면, 예를 들어, 간격이 2초보다 크면, 이전 I 프레임과 현재 I 프레임 사이의 시간 간격이 비교적 크기 때문에, 시나리오 변경이 이전 I 프레임과 뒤따르는 P 프레임 및 B 프레임 사이에서 극심히 발생할 수 있다. 이전 시퀀스의 P/B 프레임 및 I 프레임의 비트레이트 및 양자화 파라미터를 비교하는 것으로는 비트레이트가 현재 프레임에 정확하게 할당될 수 없다. 따라서, 비디오 인코딩의 화질이 저하된다.
본 출원의 실시예에 따르면, 인트라 프레임 비트레이트 할당 방법, 컴퓨터 장비, 및 저장 매체가 제공된다.
인트라 프레임(intra frame) 비트레이트(bit rate) 할당 방법은,
화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 컴퓨터 장비가, 화면의 현재 프레임을 프리 인코딩(pre-encoding)하는 단계 - 여기서 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로서 인코딩하는 것을 포함함 -;
컴퓨터 장비가, 프리 인코딩의 대응하는 프리 인코딩 코스트(pre-encoding cost)를 계산하는 단계; 및
컴퓨터 장비가, 계산된 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당하는 단계를 포함하고, 할당된 인트라 프레임 비트레이트는 계산된 프리 인코딩 코스트와 양의 상관관계가 있다.
컴퓨터 장비는 메모리 및 프로세서를 포함하고, 상기 메모리는 컴퓨터로 판독 가능한 명령을 저장하고, 상기 컴퓨터로 판독 가능한 명령은, 프로세서에 의해 실행될 때, 프로세서로 하여금,
화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 화면의 현재 프레임을 프리 인코딩(pre-encoding)하고 - 여기서 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로서 인코딩하는 것을 포함함 -;
프리 인코딩의 대응하는 프리 인코딩 코스트(pre-encoding cost)를 계산하고;
계산된 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당하게 하고, 할당된 인트라 프레임 비트레이트는 계산된 프리 인코딩 코스트와 양의 상관관계가 있다.
컴퓨터로 판독 가능한 명령을 저장하는, 하나 이상의 비휘발성 저장 매체가 제공된다. 컴퓨터로 판독 가능한 명령은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금,
화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 화면의 현재 프레임을 프리 인코딩(pre-encoding)하고 - 여기서 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로서 인코딩하는 것을 포함함 -;
프리 인코딩의 대응하는 프리 인코딩 코스트(pre-encoding cost)를 계산하고;
계산된 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당하게 하고, 할당된 인트라 프레임 비트레이트는 계산된 프리 인코딩 코스트와 양의 상관관계가 있다.
본 출원의 하나 이상의 실시예가 아래의 첨부 도면 및 설명에서 제공된다. 본 출원의 다른 특징들, 객체들, 및 장점들은 상세한 설명, 첨부 도면, 및 청구범위를 참조하여 더 명확하게 된다.
본 출원의 실시예의 기술적 해결 방안을 보다 분명히 설명하기 위해, 아래에서는 실시예를 설명하기 위해 요구되는 첨부 도면을 간략히 설명한다. 분명히, 아래 설명의 첨부 도면은 단지 본 출원의 일부 실시예를 보일 뿐이고, 당업자는 창작적인 노력 없이 이러한 첨부 도면으로부터 다른 도면을 얻을 수 있다.
도 1은 본 출원의 일 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 응용 환경의 개략도이다;
도 2는 일 실시예에 따른 컴퓨터 장비의 내부 구조의 개략도이다;
도 3은 일 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 개략적인 흐름도이다;
도 4는 또 다른 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 개략적인 흐름도이다;
도 5는 일 실시예의 인트라/인터 프레임 인코딩 코스트 비율에 따라 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 단계의 개략적인 흐름도이다;
도 6은 또 다른 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 개략적인 흐름도이다;
도 7은 일 실시예에 따른 인트라 프레임 비트레이트 할당 장치의 개략적인 블록도이다; 그리고
도 8은 또 다른 실시예에 따른 인트라 프레임 비트레이트 할당 장치의 개략적인 블록도이다.
도 1은 본 출원의 일 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 응용 환경의 개략도이다;
도 2는 일 실시예에 따른 컴퓨터 장비의 내부 구조의 개략도이다;
도 3은 일 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 개략적인 흐름도이다;
도 4는 또 다른 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 개략적인 흐름도이다;
도 5는 일 실시예의 인트라/인터 프레임 인코딩 코스트 비율에 따라 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 단계의 개략적인 흐름도이다;
도 6은 또 다른 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 개략적인 흐름도이다;
도 7은 일 실시예에 따른 인트라 프레임 비트레이트 할당 장치의 개략적인 블록도이다; 그리고
도 8은 또 다른 실시예에 따른 인트라 프레임 비트레이트 할당 장치의 개략적인 블록도이다.
본 출원의 목적, 기술적 해결방안, 및 장점을 보다 명확하고 이해하기 쉽게하기 위해, 아래에서는 첨부 도면 및 실시예를 참조하여 본 출원을 상세히 설명한다. 여기에 기술된 구체적인 실시예는 단지 본 출원을 설명하기 위해 사용된 것이고, 본 출원을 제한하려 의도되지 않았음이 이해되어야 한다.
도 1은 일 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 응용 환경의 개략적인 도면이다. 도 1에 도시된 대로, 응용 환경은 제1 컴퓨터 장비(computer device)(101), 제2 컴퓨터 장비(102) 및 제3 컴퓨터 장비(103)를 포함한다. 제1 컴퓨터 장비(101) 및 제2 컴퓨터 장비(102)는 제3 컴퓨터 장비와 네트워크 연결 내에서 분리되어 있다. 제1 컴퓨터 장비 및 제2 컴퓨터 장비는 사용자 단말기일 수 있고, 제3 컴퓨터 장비는 서버이다. 제1 컴퓨터 장비(101) 및 제2 컴퓨터 장비(102)는 각각 비디오 통신 응용 프로그램을 실행하고, 제1 사용자는 제1 컴퓨터 장비(101)를 사용하여 비디오 데이터를 수집하고 수집된 비디오 데이터를 제3 컴퓨터 장비를 사용하여 제2 컴퓨터 장비(102)에게 송신하며, 제2 사용자는 제2 컴퓨터 장비(102)를 사용하여 수집된 비디오 데이터를 본다. 유사하게, 제1 사용자는 제1 컴퓨터 장비(101)를 사용하여, 제2 컴퓨터 장비(102)에 의해 수집된 비디오 정보를 보고, 제1 사용자와 제2 사용자 사이의 비디오 통신이 구현된다.
일 실시예에서, 인트라 프레임 비트레이트 할당 방법이 제1 컴퓨터 장비(101) 또는 제2 컴퓨터 장비(102) 상에서 구동된다. 제1 컴퓨터 장비(101)를 예시로 사용하여, 제1 컴퓨터 장비는, 화면 데이터를 수집하고, 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 화면의 현재 프레임을 프리 인코딩(pre-encoding)하며, 상기 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로 인코딩하는 것을 포함하고, 대응하는 프리 인코딩 코스트를 계산하고; 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당한다. 인코더는 할당된 인트라 프레임 비트레이트 및 계산된 양자화 파라미터에 따라 인코딩을 수행한다. 프리 인코딩 코스트에 따라 할당된 인트라 프레임 비트레이트는 프리 인코딩 코스트와 양의 상관관계가 있다. 할당된 비트레이트는 이전 시퀀스 GOP의 비트레이트 및 양자화 파라미터의 영향을 받지 않고 화면의 현재 프레임의 화면의 실제 시나리오를 반영할 수 있으므로, 할당된 인트라 프레임 비트레이트의 정확도가 높아지고 비디오 인코딩의 화질이 향상된다.
다른 응용 시나리오에서, 대안적으로, 제1 컴퓨터 장비(101) 및 제3 컴퓨터 장비(103)만이 포함될 수 있다. 제1 컴퓨터 장비(101) 및 제3 컴퓨터 장비(103)는 네트워크 연결 내에 있다. 제1 컴퓨터 장비(101)는 수집된 비디오 데이터를 제3 컴퓨터 장비(103)에게 송신한다. 인트라 프레임 비트레이트 할당 방법은 제1 컴퓨터 장비(101)상에서 실행된다.
다른 실시예에서, 제1 사용자는 대안적으로, 제1 컴퓨터 장비(101)를 사용하여 스트리밍 미디어 파일을 제2 컴퓨터 장비에게 송신할 수 있다. 본 실시예에서, 인트라 프레임 비트레이트 할당 방법은 제3 컴퓨터 장비(103) 상에서 실행된다. 제3 컴퓨터 장비(103)는 제1 컴퓨터 장비(101)에 의해 송신된 비디오 스트림을 디코딩하고 재-인코딩한 다음, 서로 다른 단말 플랫폼의 재생 요구사항을 만족시키기 위해, 재-인코딩된 비디오 스트림을 제2 컴퓨터 장비(102)에게 송신한다.
다른 응용 시나리오에서, 대안적으로, 제1 컴퓨터 장비(101) 및 제3 컴퓨터 장비(103) 만이 포함될 수 있다. 제1 컴퓨터 장비(101) 및 제3 컴퓨터 장비(103)는 네트워크 연결 내에 있다. 제1 컴퓨터 장비(101)는 스트리밍 미디어 파일을 제3 컴퓨터 장비(103)에게 전송한다. 인트라 프레임 비트레이트 할당 방법은 제3 컴퓨터 장비(103) 상에서 실행된다.
도 2는 일 실시예에 따른 컴퓨터 장비의 내부 구조의 개략도이다. 도 2에 도시된 대로, 컴퓨터 장비는 시스템 버스를 사용하여 연결된, 프로세서, 메모리, 네트워크 인터페이스, 디스플레이 스크린, 카메라, 및 입력 장치를 포함한다. 프로세서는 중앙 처리 유닛(central processing unit, CPU) 및 그래픽 처리 유닛(graphics processing unit, GPU)을 포함할 수 있다. 메모리는 비휘발성 저장 매체 및 내부 메모리를 포함한다. 컴퓨터 장비의 비휘발성 저장 매체는 운영체제 및 컴퓨터로 판독가능한 명령을 저장한다. 컴퓨터로 판독가능한 명령들이 실행될 때, 프로세서는 인트라 프레임 비트레이트 할당 방법을 수행하게될 수 있다. 컴퓨터 장비의 프로세서는 계산 및 제어 기능을 제공하여, 전체 컴퓨터 장비의 동작을 지원하도록 구성된다. 컴퓨터 장비의 네트워크 인터페이스는 서버와 네트워크 통신을 수행하도록 구성된다. 예를 들어, 컴퓨터 장비의 네트워크 인터페이스는 비디오 파일을 서버에게 전송하고, 다른 컴퓨터 장비로부터의, 서버에 의해 송신되는 비디오 파일을 수신한다. 컴퓨터 장비의 디스플레이 스크린은 액정 디스플레이 스크린, e-잉크 디스플레이 스크린 등일 수 있다. 입력 장치는 터치 레이어로 덮힌 디스플레이 스크린이거나, 또는 컴퓨터 장비의 하우징 상에 배치된 버튼, 트랙볼, 또는 터치패드이거나, 또는 외부의 키보드, 터치패드, 또는 마우스 등일 수 있다. 컴퓨터 장비는 이동 전화, 태블릿 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant), 웨어러블 장비(wearable device) 등일 수 있다. 당업자라면, 도 2에 도시된 구조는, 본 출원의, 문제 해결에 관한 부분 구조의 블록도에 불과하며, 본원의 해결 방법을 적용한 컴퓨터 장비에 한정되지 않음을 이해할 수 있다. 구체적으로, 컴퓨터 장비는 도면에 도시된 구성 요소보다 많은 구성 요소 또는 보다 적은 구성 요소를 포함할 수 있고, 또는 일부 구성요소가 결합될 수 있으며, 또는 다른 구성요소 배치가 사용될 수 있다.
도 3은 일 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 개략적인 흐름도이다. 본 실시예에서, 본 방법이 도 1의 제1 컴퓨터 장비에 적용되는 예시가 설명을 위해 사용된다. 도 3을 참조하면, 상기 방법은 구체적으로 다음 단계들을 포함한다.
S302: 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 화면의 현재 프레임을 프리 인코딩하고, 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로 인코딩하는 것을 포함한다.
인트라 프레임은 모든 정보를 갖는 독립 프레임인 I 프레임이며, 다른 화면을 참조하지 않고 독립적으로 디코딩될 수 있다. I 프레임은 정적 화면(static picture)으로 간단히 이해될 수 있다. 본 실시예에서, 프레임 시퀀스 순서는 인코더에 대해 미리 설정된다. 예를 들어, GOP(Group of Pictures)는 12개의 프레임을 포함하도록 설정되고, GOP 내의 프레임 시퀀스는 IBBPBBPBIBBP 이다. 화면의 각 프레임을 수신할 때, 비트레이트 제어 유닛은, 미리 설정된 프레임 시퀀스 순서에 따라, 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임인지 여부를 결정한다. 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임인 것으로 결정되면, 화면의 현재 프레임은 프리 인코딩된다.
본 실시예의 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로 인코딩하는 것을 포함한다. 구체적인 실시예에서, 프리 인코딩 과정은 실제 인코딩 과정과 동일하다. 또 다른 구현에서, 프리 인코딩은 대안적으로, 인코딩 모듈을 단순화하고 인코딩 속도를 향상시킬 수 있다. 예를 들어, 인코딩 모드 선택이 단순화된다. 최적의 모드가 9개의 인코딩 모드(HEVC 모드에서, 인코딩이 정상 프레임에서 수행될 때, 최적의 모드는 35개의 인코딩 모드로부터 선택될 필요가 있다)로부터 선택된다.
S304 : 대응하는 프리 인코딩 코스트를 계산한다.
구체적으로, 프리 인코딩 코스트를 계산하기 위한 공식은 cost=D+R이고, 여기서 cost는 인코딩 코스트이고, D는 하나의 인코딩 단위에 대응하는 화면 인코딩 블록의 왜곡도(distortion degree)를 나타내고, D는 절대 차이(absolute difference) 및 SAD 연산을 사용하여 획득되고, 는 라그랑주 상수(Lagrange constant)이며, R은 하나의 인코딩 단위에 대응하는 화면 인코딩 블록에 의해 점유되는 비트의 수량을 나타낸다. 또 다른 구현에서, 인코딩 코스트는 대안적으로 D만을 사용함으로써, 즉 코스트=D로 표시될 수도 있다. 또 다른 구현에서, 인코딩 코스트는 대안적으로 예측 잔여(prediction residual)에 따라 추정될 수 있다.
S306 : 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당하며, 할당된 인트라 프레임 비트레이트는 프리 인코딩 코스트와 양의 상관관계가 있다.
본 실시예에서, 할당된 인트라 프레임 비트레이트는 프리 인코딩 코스트와 양의 상관관계가 있다. 즉, 더 높은 프리 인코딩 코스트는 더 높은 할당된 인트라 프레임 비트레이트를 나타내고, 더 낮은 프리 인코딩 코스트는 더 낮은 인트라 프레임 비트레이트를 나타낸다.
앞서 설명한 인트라 프레임 비트레이트 할당 방법에서, 프리 인코딩 코스트는 화면의 현재 프레임을 프리 인코딩하여 획득되고, 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로 인코딩하는 것을 포함한다. 프리 인코딩 코스트가 높으면, 그것은 동일한 비디오 품질에 도달하기 위해 인트라 프레임에 의해 요구되는 비트레이트가 높다는 것을 나타내거나, 또는 프리 인코딩 코스트가 낮다면, 동일한 비디오 품질에 도달하기 위해 인트라 프레임 비트에 의해 요구되는 비트레이트가 낮다는 것을 나타낸다. 따라서, 프리 인코딩 코스트에 따라 할당된 인트라 프레임 비트레이트는 이전 시퀀스 GOP의 비트레이트 및 양자화 파라미터의 영향을 받지 않고 화면의 현재 프레임의 화면의 실제 시나리오를 반영할 수 있으므로, 할당된 인트라 프레임 비트레이트의 정확도가 높고, 그에 따라 비디오 인코딩의 화질이 향상된다.
도 4는 다른 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 개략적인 흐름도이다. 도 4에 도시된 대로, 상기 방법은 다음 단계들을 포함한다.
S402: 화면의 현재 프레임이 특정 프레임 시퀀스의 인트라 프레임일 때, 화면의 현재 프레임을 프리 인코딩하고, 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로 인코딩하는 것 및 화면의 현재 프레임을 인터 프레임으로 인코딩하는 것을 포함한다.
인트라 프레임은 모든 정보를 갖는 독립 프레임인 I 프레임이며, 다른 화면을 참조하지 않고 독립적으로 디코딩될 수 있다. I 프레임은 정적 화면으로 간단히 이해될 수 있다. 본 실시예에서, 프레임 시퀀스 순서는 인코더에 대해 미리 설정된다. 예를 들어, GOP(Group of Pictures)는 12개의 프레임을 포함하도록 설정되고, GOP 내의 프레임 시퀀스는 IBBPBBPBIBBP 이다. 화면의 각 프레임을 수신할 때, 비트레이트 제어 유닛은 미리 설정된 프레임 시퀀스 순서에 따라, 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임인지 여부를 결정한다. 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임인 것으로 결정되면, 화면의 현재 프레임은 프리 인코딩된다.
구체적으로, 화면의 현재 프레임이 특정 인트라 프레임일 때, 화면의 현재 프레임은 인트라 프레임 및 인터 프레임인 것으로 개별적으로 가정된다. 화면의 현재 프레임은 대응하는 인코딩 방식으로 인트라 프레임 및 인터 프레임으로 인코딩된다.
프리 인코딩 과정은 실제 인코딩 과정과 동일하다. 또 다른 구현에서, 프리 인코딩은 대안적으로, 인코딩 모듈을 단순화하고 인코딩 속도를 향상시킬 수 있다. 예를 들어, 인코딩 모드 선택이 단순화된다. 최적의 모드는 9개의 인코딩 모드(HEVC 모드에서, 인코딩이 정상 프레임에서 수행될 때, 최적의 모드는 35개의 인코딩 모드로부터 선택될 필요가 있다)로부터 선택된다.
S404: 대응하는 프리 인코딩 코스트를 계산한다.
구체적으로, 화면의 현재 프레임을 인트라 프레임으로 인코딩하여 획득되는 인트라 프레임 인코딩 코스트와, 화면의 현재 프레임을 인터 프레임으로 인코딩하여 획득되는 인터 프레임 인코딩 코스트가 개별적으로 계산된다.
대응하는 프리 인코딩 코스트를 계산하기 위한 공식은, cost=D+R이고, 여기서 cost는 인코딩 코스트이고, D는 하나의 인코딩 단위에 대응하는 화면 인코딩 블록의 왜곡도를 나타내고, D는 절대 차이 및 절대 차이의 합(sum of absolute difference, SAD) 연산을 사용하여 획득되고, 는 라그랑주 상수이며, R은 인코딩 단위에 대응하는 화면 인코딩 블록에 의해 점유되는 비트의 수량을 나타낸다. 또 다른 구현에서, 인코딩 코스트는 대안적으로 D만을 사용함으로써, 즉 코스트=D로 표시될 수도 있다. 또 다른 구현에서, 인코딩 코스트는 대안적으로 예측 잔여에 따라 추정될 수 있다.
계산을 통해 획득된 더 높은 인트라 프레임 인코딩 코스트는 화면의 현재 프레임이 인트라 프레임일 때, 동일한 비디오 품질에 도달하기 위해 요구되는 더 높은 비트레이트를 나타낸다. 이와 달리, 계산을 통해 획득된 더 낮은 인트라 프레임 인코딩 코스트는 화면의 현재 프레임이 인트라 프레임일 때, 동일한 비디오 품질에 도달하기 위해 요구되는 더 낮은 비트레이트를 나타낸다.
계산을 통해 획득된 더 높은 인터 프레임 인코딩 코스트는, 화면의 현재 프레임이 인터 프레임일 때, 동일한 비디오 품질에 도달하기 위해 요구되는 더 높은 비트레이트를 나타낸다. 이와 달리, 계산을 통해 획득된 더 낮은 인터 프레임 인코딩 코스트는 화면의 현재 프레임이 인터 프레임일 때, 동일한 비디오 품질에 도달하기 위해 요구되는 더 낮은 비트레이트를 나타낸다.
S406: 화면의 현재 프레임의 인트라/인터 프레임 인코딩 코스트 비율을 계산하고, 인트라/인터 프레임 인코딩 코스트 비율은 현재 프레임의 인터 프레임 인코딩 코스트에 대한 인트라 프레임 인코딩 코스트의 비율이다.
일반적으로 비디오의 움직임이 격렬하고 화면 간의 상관관계가 상대적으로 작으면, 비디오 품질에 도달하기 위해, 인터 프레임에 의해 요구되는 비트레이트가 상대적으로 높다. 이와 달리, 상대적으로 정적인 비디오에 대해, 인터 프레임에 의해 요구되는 비트레이트는 상대적으로 낮다.
화면의 현재 프레임의 인트라/인터 프레임 인코딩 코스트 비율이 분석된다. 상기 비율은 인트라 프레임 인코딩 코스트를 인터 프레임 인코딩 코스트로 나눈 것과 같다. 인트라/인터 프레임 인코딩 코스트 비율이 낮으면, 그것은 인터 프레임이 더 높은 비트레이트를 필요로 함을 나타내며, 따라서 동일한 목표 비트레이트에서, 상대적으로 낮은 비트레이트가 인트라 프레임에 할당되어야 한다. 이와 달리, 인트라/인터 프레임 인코딩 코스트 비율이 높으면, 비교적 높은 비트레이트가 인트라 프레임에 할당된다. 인트라 프레임 인코딩 코스트는 로 표시되고, 인터 프레임 인코딩 코스트는 로 표시되며, 인트라 프레임 인코딩 코스트 대 인트라 프레임 인코딩 코스트의 비율은 로 표시되므로, 공식은 다음과 같이 표현될 수 있다.
단계 S408: 인트라/인터 프레임 인코딩 코스트 비율에 따라 인트라/인터 프레임 목표 비트레이트 비율을 결정하고, 인트라/인터 프레임 목표 비트레이트 비율은 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율이고, 인트라/인터 프레임 목표 비트레이트 비율은 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있다.
인트라/인터 프레임 목표 비트레이트 비율은 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율이다. 인트라/인터 프레임 목표 비트레이트 비율은 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관 관계가 있다. 즉, 더 높은 인트라/인터 프레임 인코딩 코스트 비율은 더 높은 인트라/인터 프레임 목표 비트레이트 비율을 지시하고, 더 낮은 인트라/인터 프레임 인코딩 코스트 비율은 더 낮은 인트라/인터 프레임 목표 비트레이트 비율을 지시한다.
S410: 전체 목표 비트레이트를 획득한다.
구체적으로, 현재 비트레이트 제어 유닛의 전체 목표 비트레이트를 계산하는 방법은, 비디오 프레임 레이트(frame rate)를 획득하고, 비디오 프레임 레이트, 미리 설정된 초당 목표 비트레이트, 및 미리 설정된 수량의 프레임에 따라 계산을 통해 전체 목표 비트레이트를 획득하는 단계를 포함한다.
프레임 레이트는 표시된 프레임의 수량, 즉 초당 화면의 수량을 측정하는 데 사용되는 메트릭이다. 프레임 레이트는 비디오 샘플링을 통해 결정된다. 초당 목표 비트레이트와 프레임의 수량은 미리 설정된다. 현재의 비트레이트 제어 유닛의 전체 목표 비트레이트는 초당 목표 비트레이트를 프레임 레이트로 나누고, 그 다음, 현재의 비트레이트 제어 유닛 내의 프레임의 수량으로 곱한 것과 같다.
S412: 전체 목표 비트레이트, 인트라/인터 프레임 목표 비트레이트 비율, 미리 설정된 수량의 인트라 프레임, 및 미리 설정된 수량의 인터 프레임에 따라 인트라 프레임 비트레이트를 할당한다.
현재 비트레이트 제어 유닛의 인트라 프레임의 수량 및 인터 프레임의 수량은 미리 설정되고, 다음의 공식을 사용하여 표현된다. 현재 비트레이트 제어 유닛의 전체 목표 비트레이트는 로 표시되고, 인트라 프레임의 수량은 로 표시되고, 인터 프레임의 수량은 로 표시되고, 인트라/인터 프레임 목표 비트레이트 비율은 로 표시된다.
인트라 프레임 비트레이트 할당 방법에서, 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임 일 때, 화면의 현재 프레임은 인트라 프레임 및 인터 프레임인 것으로 개별적으로 가정된다. 화면의 현재 프레임은 대응하는 인코딩 방식으로 인트라 프레임 및 인터 프레임으로 인코딩되고, 대응하는 인트라 프레임 인코딩 코스트 및 대응하는 인터 프레임 인코딩 코스트가 계산되고; 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율이 인터 프레임 인코딩 코스트에 대한 인트라 프레임 인코딩 코스트의 비율에 따라 결정되고, 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율은 인터 프레임 인코딩 코스트에 대한 인트라 프레임 인코딩 코스트의 비율과 양의 상관관계가 있고, 인트라 프레임 비트레이트는 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율에 따라 계산을 통해 획득된다. 일반적으로 비디오 내의 움직임이 격렬하고 화면 간의 상관관계가 상대적으로 작으면, 비디오 품질에 도달하기 위해, 인터 프레임에 의해 요구되는 비트레이트가 상대적으로 높다. 이와 달리, 상대적으로 정적인 비디오에 대해, 인터 프레임에 의해 요구되는 비트레이트가 상대적으로 낮다. 따라서, 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율은 인터 프레임 인코딩 코스트에 대한 인트라 프레임 인코딩 코스트의 비율에 따라 결정되므로, 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 계산된 비율에 따라 계산을 통해 획득되는 인트라 프레임 비트레이트는 이전 시퀀스 GOP의 비트레이트 및 양자화 파라미터의 영향을 받지 않고, 화면의 현재 프레임의 화면의 실제 시나리오를 반영할 수 있으므로, 할당되는 인트라 프레임 비트레이트의 정확도가 높고, 비디오 인코딩의 화질이 향상된다.
구체적인 실시예에서, 인트라/인터 프레임 인코딩 코스트 비율에 따라 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 것은 구간별 함수(piecewise function)를 사용하여 구체적으로 구현될 수 있다. 인트라/인터 프레임 인코딩 코스트 비율은 구간화되고, 구간(section)은 서로 다른 인트라/인터 프레임 목표 비트레이트 비율에 대응한다. 구체적으로, 도 5에 도시된 대로, 인트라/인터 프레임 인코딩 코스트 비율에 따라 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 과정은 다음 단계를 포함한다.
S502: 인트라/인터 프레임 인코딩 코스트 비율을 각각의 미리 설정된 임계치와 비교하고, 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격을 결정한다.
S504: 대응하는 임계 간격에 따라, 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 인트라/인터 프레임 목표 비트레이트 비율을 결정하고, 인트라/인터 프레임 목표 비트레이트 비율은 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있다.
임계치 은 경험 및 압축 효율에 따라 미리 설정된다. 각 임계치는 임계 간격에 대응하고, 각 임계치는 임계치에 대응하는 임계 간격의 경계 값이다. 일 구현에서, 경험 및 압축 효율에 따라 다음과 같이 3개의 임계치가 미리 설정된다.
이에 대응하여, 각 임계치는(- ∞, 2), [2,4), [4,7), 및 [7, ∞)의 네 가지 임계 간격에 대응하고, 는, 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격을 결정하기 위해, 각각의 미리 설정된 임계치와 비교된다.
대응하는 상수 또는 함수가 각 임계 간격에 대해 설정된다. 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 인트라/인터 프레임 목표 비트레이트 비율이 임계 간격에 따라 결정되며, 인트라/인터 프레임 목표 비트레이트 비율은 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있다. 즉, 더 높은 인트라/인터 프레임 인코딩 코스트 비율은 더 높은 인트라/인터 프레임 목표 비트레이트 비율을 지시한다. 이와 달리, 더 낮은 인트라/인터 프레임 인코딩 코스트 비율은 더 낮은 인트라/인터 프레임 목표 비트레이트 비율을 지시한다. 일 구현에서, 인트라/인터 프레임 목표 비트레이트 비율은 다음과 같다.
본 실시예에서, 대응하는 상수는 각 임계 간격에 대해 설정된다. 인트라/인터 프레임 목표 비트레이트 비율은 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있다. 따라서 각 임계 간격 내의 상수는 임계치의 증가에 따라 증가해야 한다. 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격이 결정된다. 임계 간격에 대응하는 상수는 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 인트라/인터 프레임 목표 비트레이트 비율이다.
다른 구현에서, 인트라/인터 프레임 목표 비트레이트 비율을 계산하기 위해 사용되는 대응하는 함수가 각각의 임계 간격에 대해 설정된다. 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격이 결정된다. 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 인트라/인터 프레임 목표 비트레이트 비율은 임계 간격에 대응하는 함수에 기초하여 획득될 수 있다.
인트라 프레임 비트레이트 할당 방법에서, 인트라/인터 프레임 인코딩 코스트 비율이 복수의 간격으로 분할되고, 상기 간격들은 서로 다른 인트라/인터 프레임 목표 비트레이트 비율에 대응하고, 서로 다른 간격은 서로 다른 비디오 유형에 대응할 수 있으므로, 인트라 프레임 비트레이트가 서로 다른 비디오 유형에 대해 조정될 수 있어서, 비디오 압축 효율 및 비디오 인코딩 품질을 향상시키는 데 도움이 된다.
또 다른 실시예에서, 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때 화면의 현재 프레임을 프리 인코딩하기 전에, 상기 방법은, 오리지널 해상도(original resolution)를 갖는 비디오 화면에 대해 다운샘플링(downsampling) 처리를 수행하는 단계를 더 포함한다.
다운샘플링은 화면을 하향-샘플링(down-sampling)하거나 크기를 축소(scaling down)하는 것이다. 다운샘플링 처리는 오리지널 해상도를 갖는 비디오 화면에 대해 수행되어, 화면은, 표시된 영역의 크기를 만족시키고, 대응하는 화면의 썸네일(thumbnail)이 생성된다. 프리 인코딩은 다운샘플링 처리를 통해 얻어진 화면의 현재 프레임을 프리 인코딩하여, 프리 인코딩 속도를 향상시킨다.
본 실시예에서, 다운샘플링은 서로 다른 다운샘플링 비율(즉, 목표 해상도에 대한 오리지널 해상도의 비율)을 사용함으로써 수행될 수 있다. 다운샘플링 비율이 Ds:1일 때, 그것은, 하나의 픽셀이 매 Ds 픽셀마다 샘플링되는 것을 나타내고, 여기서 Ds는 1보다 큰 정수이다. 구체적인 구현에서, 다운샘플링 비율은 2:1이다. 구체적으로, 오리지널 화면의 길이 및 폭이 각각 a 및 b이면, 다운샘플링을 통해 획득되는 화면의 길이 및 폭은 각각 및 이다. 다운샘플링을 통해 획득되는 화면의 길이와 너비가 N의 정수 배가 아니면, 다운샘플링을 통해 획득되는 화면의 변들이 확장되어, 각 변들이 N의 정수 배가 되도록 한다. NxN은 인코딩 블록이며, 프리 인코딩 동안, 4x4, 8x8, 16x16 등일 수 있다.
도 6은 또 다른 실시예에 따른 인트라 프레임 비트레이트 할당 방법의 개략적인 흐름도이다. 도 6에 도시된 대로, 상기 방법은 다음 단계들을 포함한다.
S602: 오리지널 해상도를 갖는 비디오 화면에 대해 다운샘플링 처리를 수행한다.
다운샘플링은 화면을 하향-샘플링(down-sampling)하거나 크기를 축소(scaling down)하는 것이다. 다운샘플링 처리는 오리지널 해상도를 갖는 비디오 화면에 대해 수행되어, 화면은, 표시된 영역의 크기를 만족시키고, 대응하는 화면의 썸네일(thumbnail)이 생성된다. 프리 인코딩은 다운샘플링 처리를 통해 얻어진 화면의 현재 프레임을 프리 인코딩하여, 프리 인코딩 속도를 향상시킨다.
S604: 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 화면의 현재 프레임을 프리 인코딩하고, 프리 인코딩은 화면의 현재 프레임을 인트라 프레임 및 인터 프레임으로 인코딩하는 것을 포함한다.
구체적으로, 화면의 현재 프레임이 특정 인트라 프레임일 때, 화면의 현재 프레임은 인트라 프레임 및 인터 프레임인 것으로 개별적으로 가정된다. 화면의 현재 프레임은 대응하는 인코딩 방식으로 인트라 프레임 및 인터 프레임으로 인코딩된다.
프리 인코딩 과정은 실제 인코딩 과정과 동일하다. 또 다른 구현에서, 프리 인코딩은 대안적으로, 인코딩 모듈을 단순화하고 인코딩 속도를 향상시킬 수 있다. 예를 들어, 인코딩 모드 선택이 단순화된다. 최적의 모드는 9개의 인코딩 모드(HEVC 모드에서, 인코딩이 정상 프레임에서 수행될 때, 최적의 모드는 35개의 인코딩 모드로부터 선택될 필요가 있다)로부터 선택된다.
S606: 대응하는 프리 인코딩 코스트를 계산하고, 프리 인코딩 코스트는 화면은 현재 프레임을 인트라 프레임으로 인코딩하여 획득되는 인트라 프레임 인코딩 코스트 및 화면의 현재 프레임을 인터 프레임으로 인코딩하여 획득되는 인터 프레임 인코딩 코스트를 포함한다.
대응하는 프리 인코딩 코스트를 계산하기 위한 공식은, cost=D+R이고, 여기서 cost는 인코딩 코스트이고, D는 하나의 인코딩 단위에 대응하는 화면 인코딩 블록의 왜곡도를 나타내고, D는 절대 차이 및 절대 차이의 합(sum of absolute difference, SAD) 연산을 사용하여 획득되고, 는 라그랑주 상수이며, R은 인코딩 단위에 대응하는 화면 인코딩 블록에 의해 점유되는 비트의 수량을 나타낸다. 또 다른 구현에서, 인코딩 코스트는 대안적으로 D만을 사용하여, 즉 코스트=D로 표시될 수도 있다. 또 다른 구현에서, 인코딩 코스트는 대안적으로 예측 잔여에 따라 추정될 수 있다.
계산을 통해 획득된 더 높은 인트라 프레임 인코딩 코스트는 화면의 현재 프레임이 인트라 프레임일 때, 동일한 비디오 품질에 도달하기 위해 요구되는 더 높은 비트레이트를 나타낸다. 이와 달리, 계산을 통해 획득된 더 낮은 인트라 프레임 인코딩 코스트는 화면의 현재 프레임이 인트라 프레임일 때, 동일한 비디오 품질에 도달하기 위해 요구되는 더 낮은 비트레이트를 나타낸다.
계산을 통해 획득된 더 높은 인트라 프레임 인코딩 코스트는 화면의 현재 프레임이 인트라 프레임일 때, 동일한 비디오 품질에 도달하기 위해 요구되는 더 높은 비트레이트를 나타낸다. 이와 달리, 계산을 통해 획득된 더 낮은 인트라 프레임 인코딩 코스트는 화면의 현재 프레임이 인트라 프레임일 때, 동일한 비디오 품질에 도달하기 위해 요구되는 더 낮은 비트레이트를 나타낸다.
S608: 화면의 현재 프레임의 인트라/인터 프레임 인코딩 코스트 비율을 계산하고, 인트라/인터 프레임 인코딩 코스트 비율은 현재 프레임의 인터 프레임 인코딩 코스트에 대한 인트라 프레임 인코딩 코스트의 비율이다.
일반적으로 비디오의 움직임이 격렬하고 화면 간의 상관관계가 상대적으로 작으면, 비디오 품질에 도달하기 위해, 인터 프레임에 의해 요구되는 비트레이트가 상대적으로 높다. 이와 달리, 상대적으로 정적인 비디오에 대해, 인터 프레임에 의해 요구되는 비트레이트는 상대적으로 낮다.
화면의 현재 프레임의 인트라/인터 프레임 인코딩 코스트 비율이 분석된다. 상기 비율은 인트라 프레임 인코딩 코스트를 인터 프레임 인코딩 코스트로 나눈 것과 같다. 인트라/인터 프레임 인코딩 코스트 비율이 낮으면, 그것은 인터 프레임이 더 높은 비트레이트를 필요로 함을 나타내며, 따라서 동일한 목표 비트레이트에서, 상대적으로 낮은 비트레이트가 인트라 프레임에 할당되어야 한다. 이와 달리, 인트라/인터 프레임 인코딩 코스트 비율이 높으면, 비교적 높은 비트레이트가 인트라 프레임에 할당된다. 인트라 프레임 인코딩 코스트는 로 표시되고, 인터 프레임 인코딩 코스트는 로 표시되며, 인트라 프레임 인코딩 코스트 대 인트라 프레임 인코딩 코스트의 비율은 로 표시되므로, 공식은 다음과 같이 표현될 수 있다.
S610: 인트라/인터 프레임 인코딩 코스트 비율을 각각의 미리 설정된 임계치와 비교하고, 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격을 결정한다.
S612: 대응하는 임계 간격에 따라, 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 인트라/인터 프레임 목표 비트레이트 비율을 결정하고, 인트라/인터 프레임 목표 비트레이트 비율은 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있다.
임계치 는 경험 및 압축 효율에 따라 미리 설정된다. 각 임계치는 임계 간격에 대응하고, 각 임계치는 임계치에 대응하는 임계 간격의 경계 값이다. 는, 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격을 결정하기 위해, 각각의 미리 설정된 임계치와 비교된다.
대응하는 상수 또는 함수가 각 임계 간격에 대해 설정된다. 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 인트라/인터 프레임 목표 비트레이트 비율이 임계 간격에 따라 결정되며, 인트라/인터 프레임 목표 비트레이트 비율은 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있다. 즉, 더 높은 인트라/인터 프레임 인코딩 코스트 비율은 더 높은 인트라/인터 프레임 목표 비트레이트 비율을 지시한다. 이와 달리, 더 낮은 인트라/인터 프레임 인코딩 코스트 비율은 더 낮은 인트라/인터 프레임 목표 비트레이트 비율을 지시한다.
S614: 비디오 프레임 레이트를 획득하고, 비디오 프레임 레이트, 미리 설정된 초당 목표 비트레이트, 및 미리 설정된 수량의 프레임에 따라 계산을 통해 전체 목표 비트레이트를 획득한다.
프레임 레이트는 표시된 프레임의 수량, 즉 초당 화면의 수량을 측정하는 데 사용되는 메트릭이다. 프레임 레이트는 비디오 샘플링을 통해 결정된다. 초당 목표 비트레이트와 프레임의 수량은 미리 설정된다. 현재의 비트레이트 제어 유닛의 전체 목표 비트레이트는 초당 목표 비트레이트를 프레임 레이트로 나누고, 그 다음, 현재의 비트레이트 제어 유닛 내의 프레임의 수량으로 곱한 것과 같다.
S616: 전체 목표 비트레이트, 인트라/인터 프레임 목표 비트레이트 비율, 미리 설정된 수량의 인트라 프레임, 및 미리 설정된 수량의 인터 프레임에 따라 인트라 프레임 비트레이트를 할당한다.
현재 비트레이트 제어 유닛의 인트라 프레임의 수량 및 인터 프레임의 수량은 미리 설정되고, 다음의 공식을 사용하여 표현된다. 현재 비트레이트 제어 유닛의 전체 목표 비트레이트는 로 표시되고, 인트라 프레임의 수량은 로 표시되고, 인터 프레임의 수량은 로 표시되고, 인트라/인터 프레임 목표 비트레이트 비율은 로 표시된다.
인트라 프레임 비트레이트 할당 방법에서, 인트라/인터 프레임 인코딩 코스트 비율이 복수의 간격으로 분할되고, 상기 간격들은 서로 다른 인트라/인터 프레임 목표 비트레이트 비율에 대응하고, 서로 다른 간격은 서로 다른 비디오 유형에 대응할 수 있으므로, 인트라 프레임 비트레이트가 서로 다른 비디오 유형에 대해 조정될 수 있어서, 비디오 압축 효율 및 비디오 인코딩 품질을 향상시키는 데 도움이 된다. 게다가, 할당된 인트라 프레임 비트레이트는 이전 시퀀스 GOP의 비트레이트 및 양자화 파라미터에 의해 영향을 받지 않으므로, 할당된 인트라 프레임 비트레이트의 정확성이 높고, 따라서 비디오 인코딩의 화질이 향상된다.
일 실시예에서, 컴퓨터 장비가 더 제공된다. 컴퓨터 장비의 내부 구조는 도 2에 도시되어 있을 수 있다. 컴퓨터 장비는 인트라 프레임 비트레이트 할당 장치(assignment apparatus)를 포함한다. 인트라 프레임 비트레이트 할당 장치는 모듈을 포함하고, 각 모듈의 일부 또는 전부는 소프트웨어, 하드웨어, 또는 이들의 조합을 사용하여 구현될 수 있다.
도 7은 인트라 프레임 비트레이트 할당 장치의 개략적인 구조도이다. 도 6을 참조하면, 인트라 프레임 비트레이트 할당 장치는 프리 인코딩 모듈(702), 인코딩 코스트 계산 모듈(704), 및 할당 모듈(706)을 포함한다.
프리 인코딩 모듈(702)은 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 화면의 현재 프레임을 프리-인코딩하도록 구성된다. 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로 인코딩하는 것을 포함한다.
인코딩 코스트 계산 모듈(704)은 대응하는 프리 인코딩 코스트를 계산하도록 구성된다.
할당 모듈(706)은 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당하도록 구성된다. 할당된 인트라 프레임 비트레이트는 프리 인코딩 코스트와 양의 상관관계가 있다.
앞서 설명한 인트라 프레임 비트레이트 할당 장치에서, 프리 인코딩 코스트는 화면의 현재 프레임을 프리 인코딩하여 획득되고, 프리 인코딩은 화면의 현재 프레임을 인트라 프레임으로 인코딩하는 것을 포함한다. 프리 인코딩 코스트가 높으면, 그것은 동일한 비디오 품질에 도달하기 위해 인트라 프레임에 의해 요구되는 비트레이트가 높다는 것을 나타내고, 또는 프리 인코딩 코스트가 낮으면, 그것은 동일한 비디오 품질에 도달하기 위해 인트라 프레임 비트레이트에 의해 요구되는 비트레이트가 낮다는 것을 나타낸다. 따라서, 프리 인코딩 코스트에 따라 할당되는 인트라 프레임 비트레이트는 이전 시퀀스 GOP의 비트레이트 및 양자화 파라미터의 영향을 받지 않고 화면의 현재 프레임의 화면의 실제 시나리오를 반영할 수 있으므로, 할당되는 인트라 프레임 비트레이트의 정확성이 높고, 비디오 인코딩의 화질이 향상된다.
다른 실시예에서, 프리 인코딩은 화면의 현재 프레임을 인터 프레임으로 인코딩하는 것을 더 포함한다. 프리 인코딩 코스트는 화면의 현재 프레임을 인트라 프레임으로 인코딩하여 획득되는 인트라 프레임 인코딩 코스트 및 화면의 현재 프레임을 인터 프레임으로 인코딩하여 획득되는 인터 프레임 인코딩 코스트를 포함한다.
도 8에 도시된 대로, 할당 모듈(706)은, 인코딩 코스트 비율 계산 모듈(7061), 목표 비트레이트 비율 결정 모듈(7062), 전체 목표 비트레이트 획득 모듈(7063), 및 비트레이트 할당 모듈(7064)을 포함한다.
인코딩 코스트 비율 계산 모듈(7061)은 화면의 현재 프레임의 인트라/인터 프레임 인코딩 코스트 비율을 계산하도록 구성된다. 인트라/인터 프레임 인코딩 코스트 비율은 화면의 현재 프레임의 인터 프레임 인코딩 코스트에 대한 인트라 프레임 인코딩 코스트의 비율이다.
목표 비트레이트 비율 결정 모듈(7062)은 인트라/인터 프레임 인코딩 코스트 비율에 따라 인트라/인터 프레임 목표 비트레이트 비율을 결정하도록 구성된다. 인트라/인터 프레임 목표 비트레이트 비율은 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율이며, 인트라/인터 프레임 목표 비트레이트 비율은 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있다.
구체적으로, 목표 비트레이트 비율 결정 모듈(7062)은 인트라/인터 프레임 인코딩 코스트 비율을 각각의 미리 설정된 임계치와 비교하고 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격을 결정하며, 대응하는 임계치 간격에 따라 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 인트라/인터 프레임 목표 비트레이트 비율을 결정하도록 구성된다. 인트라/인터 프레임 목표 비트레이트 비율은 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있다.
전체 목표 비트레이트 획득 모듈(7063)은 비디오 프레임 레이트를 획득하도록 구성된다.
구체적으로, 전체 목표 비트레이트 획득 모듈(7063)은 비디오 프레임 레이트를 획득하고, 비디오 프레임 레이트, 미리 설정된 초장 목표 비트레이트, 및 프레임의 수량에 따라 계산을 통해 전체 목표 비트레이트를 획득한다.
비트레이트 할당 모듈(7064)은 전체 목표 비트레이트, 인트라/인터 프레임 목표 비트레이트 비율, 미리 설정된 수량의 인트라 프레임, 및 미리 설정된 수량의 인터 프레임에 따라 인트라 프레임 비트레이트를 할당하도록 구성된다.
인트라 프레임 비트레이트 할당 장치에서, 화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 화면의 현재 프레임은 인트라 프레임 및 인터 프레임인 것으로 개별적으로 가정된다. 화면의 현재 프레임은 대응하는 인코딩 방식으로 인트라 프레임 및 인터 프레임으로 인코딩되고, 대응하는 인트라 프레임 인코딩 코스트 및 대응하는 인터 프레임 인코딩 코스트가 계산되고, 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율이 인터 프레임 인코딩 코스트에 대한 인트라 프레임 인코딩 코스트의 비율에 따라 결정되고, 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율은 인터 프레임 인코딩 코스트에 대한 인트라 프레임 인코딩 코스트의 비율과 양의 상관관계가 있으며, 인트라 프레임 비트레이트는 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율에 따라 계산을 통해 획득된다. 일반적으로 비디오 내의 움직임이 격렬하고 화면 간의 상관관계가 상대적으로 작으면, 비디오 품질에 도달하기 위해, 인터 프레임에 의해 요구되는 비트레이트가 상대적으로 높다. 이와 달리, 상대적으로 정적인 비디오에 대해, 인터 프레임에 의해 요구되는 비트레이트는 상대적으로 낮다. 그러므로, 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율은 인터 프레임 인코딩 코스트에 대한 인트라 프레임 인코딩 코스트의 비율에 따라 결정되므로, 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 계산된 비율에 따라 계산을 통해 획득되는 인트라 프레임 비트레이트는, 이전 시퀀스 GOP의 비트레이트 및 양자화 파라미터의 영향을 받지 않고, 화면의 현재 프레임의 화면의 실제 시나리오를 반영할 수 있으므로, 할당되는 인트라 프레임 비트레이트의 정확성이 높고, 비디오 인코딩의 화질이 향상된다.
다른 실시예에서, 도 8을 참조하면, 인트라 프레임 비트레이트 할당 장치는 오리지널 해상도를 갖는 비디오 화면에 대해 다운샘플링 처리를 수행하도록 구성된 다운샘플링 모듈(701)을 더 포함한다. 프리 인코딩 모듈은 다운샘플링 처리를 통해 획득되는 화면의 현재 프레임을 프리 인코딩한다.
다운샘플링은 화면을 하향-샘플링하거나 크기를 축소하는 것이다. 다운샘플링 처리는 오리지널 해상도를 갖는 비디오 화면에 대해 수행되어, 화면은, 표시된 영역의 크기를 만족시키게 되고, 대응하는 화면의 썸네일이 생성된다. 프리 인코딩은 다운샘플링 처리를 통해 획득되는 화면의 현재 프레임을 프리 인코딩하여, 프리 인코딩 속도가 향상된다.
이해되어야 할 것은, 본 출원의 실시예의 단계가 반드시 단계 번호에 의해 지시되는 순서로 수행되는 것은 아니라는 것이다. 본 명세서 내에서 달리 명시되지 않는 한, 본 단계들은 엄격하게 제한된 순서로 수행되지 않으며, 단계는 다른 순서로 수행될 수 있다. 게다가, 실시예의 단계 중 적어도 일부는 복수의 부-단계 또는 복수의 스테이지를 포함할 수 있다. 이러한 부-단계 또는 스테이지는 반드시 동일한 순간에 수행될 필요가 없으며, 서로 다른 순간에 수행될 수 있다. 이들 부-단계 또는 스테이지는 반드시 순차적으로 수행될 필요는 없지만, 다른 단계들 또는 다른 단계들의 적어도 일부의 부-단계들 또는 스테이지와 번갈아 또는 교대로 수행될 수 있다.
당업자는 앞서 설명한 실시예의 방법의 모든 또는 일부의 절차가 관련 하드웨어를 지시하는 컴퓨터 프로그램에 의해 구현될 수 있다는 것을 이해할 수 있다. 상기 프로그램은 비휘발성 컴퓨터로 판독가능한 저장 매체에 저장될 수 있다. 상기 프로그램이 구동될 때, 실시예의 앞서 설명한 방법의 절차가 수행된다. 본 출원에서 제공되는 실시예에서 사용된 메모리, 저장 장치, 데이터베이스, 또는 다른 매체에 대한 임의의 참조는 비휘발성 및/또는 휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 읽기 전용 메모리(read-only memory, ROM), 프로그램 가능한 읽기 전용 메모리(programmable ROM, PROM), 전기적으로 프로그램 가능한 읽기 전용 메모리(electrically programmable ROM, EPROM), 전기적으로 소거가능 및 프로그램 가능한 읽기 전용 메모림(electrically erasable programmable ROM, EEPROM), 플래시 메모리 등을 포함할 수 있다. 휘발성 메모리는 랜덤 액세스 메모리(random access memory, RAM) 또는 외부 고속 캐시를 포함할 수 있다. 제한 없는 설명을 통해, RAM은 정적 랜덤 액세스 메모리(Static RAM, SRAM), 동적 랜덤 액세스 메모리(Dynamic RAM, DRAM), 동기식 DRAM(Synchronous DRAM, SDRAM), 더블 데이터레이트 SDRAM(Double Data Rate SDRAM, DDRSDRAM), 향상된 SDRAM(ESDRAM), 동기화 링크(Synchlink) DRAM(SLDRAM), 램버스(Rambus) 다이렉트 RAM(RDRAM), 다이렉트 램버스 다이나믹 RAM(DRDRAM), 및 램버스 다이나믹 RAM(RDRAM)과 같은 다양한 형태로 가용하다.
앞선 실시예의 다양한 기술적 특징들은 무작위로 조합될 수 있다. 설명의 용이함을 위해, 앞서 설명한 실시예의 다양한 기술적 특징의 가능한 조합이 모두 설명되지는 않는다. 하지만, 기술적 특징의 조합은 기술적 특징의 조합이 서로 호환가능함을 제공하는 본 명세서에 기재된 범위 내에 있는 것으로 고려되어야 한다.
앞선 실시예는 본 출원의 몇몇 구현만을 보이고 상세하게 설명하였지만, 그것이 본 출원의 특허 범위에 대한 제한으로서 해석되어서는 안 된다. 명심해야 할 것은, 다양한 변경 및 개선이 본 출원의 개념으로부터 벗어나지 않고 당업자에 의해 이루어질 수 있으며, 이러한 변경 및 개선은 모두 본 출원의 보호 범위 내로 되어야 한다는 것이다. 그러므로, 본 출원의 특허의 보호 범위는 첨부된 청구항으로 귀결되어야 한다.
Claims (15)
- 인트라 프레임(intra frame) 비트레이트(bit rate) 할당 방법으로서,
화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 컴퓨터 장비가, 상기 화면의 현재 프레임을 프리 인코딩(pre-encoding)하는 단계 - 상기 프리 인코딩하는 단계는 상기 화면의 현재 프레임을 인트라 프레임으로서 인코딩하는 것을 포함함 -;
상기 컴퓨터 장비가, 상기 프리 인코딩의 대응하는 프리 인코딩 코스트(pre-encoding cost)를 계산하는 단계; 및
상기 컴퓨터 장비가, 계산된 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당하는 단계
를 포함하고,
할당된 인트라 프레임 비트레이트는 계산된 프리 인코딩 코스트와 양의 상관관계가 있고,
상기 화면의 현재 프레임을 프리 인코딩하는 단계는, 상기 화면의 현재 프레임을 인터 프레임(inter frame)으로서 인코딩하는 것을 더 포함하고,
상기 프리 인코딩 코스트는, 상기 화면의 현재 프레임을 상기 인트라 프레임으로서 인코딩하여 획득되는 인트라 프레임 인코딩 코스트 및 상기 화면의 현재 프레임을 상기 인터 프레임으로서 인코딩하여 획득되는 인터 프레임 인코딩 코스트를 포함하고,
상기 컴퓨터 장비가, 상기 프리 인코딩 코스트에 따라 상기 인트라 프레임 비트레이트를 할당하는 단계는,
상기 컴퓨터 장비가, 상기 화면의 현재 프레임의 인트라/인터 프레임 인코딩 코스트 비율을 계산하는 단계 - 상기 인트라/인터 프레임 인코딩 코스트 비율은 상기 화면의 현재 프레임의 상기 인터 프레임 인코딩 코스트에 대한 상기 인트라 프레임 인코딩 코스트의 비율임 -;
상기 컴퓨터 장비가, 상기 인트라/인터 프레임 인코딩 코스트 비율에 따라 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 단계 - 상기 인트라/인터 프레임 목표 비트레이트 비율은 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율이고, 상기 인트라/인터 프레임 목표 비트레이트 비율은 상기 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있음 -;
상기 컴퓨터 장비가, 전체 목표 비트레이트를 획득하는 단계; 및
상기 컴퓨터 장비가, 획득된 전체 목표 비트레이트, 결정된 인트라/인터 프레임 목표 비트레이트 비율, 미리 설정된 수량의 인트라 프레임, 및 미리 설정된 수량의 인터 프레임에 따라 상기 인트라 프레임 비트레이트를 할당하는 단계
를 포함하는, 인트라 프레임 비트레이트 할당 방법. - 삭제
- 제1항에 있어서,
상기 컴퓨터 장비가, 상기 인트라/인터 프레임 인코딩 코스트 비율에 따라 상기 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 단계는,
상기 컴퓨터 장비가, 상기 인트라/인터 프레임 인코딩 코스트 비율을 각각의 미리 설정된 임계치와 비교하고, 상기 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격(threshold interval)을 결정하는 단계; 및
상기 컴퓨터 장비가 상기 대응하는 임계 간격에 따라, 상기 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 상기 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 단계
를 포함하고, 상기 인트라/인터 프레임 목표 비트레이트 비율은 상기 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있는, 인트라 프레임 비트레이트 할당 방법. - 제1항에 있어서,
상기 컴퓨터 장비가, 오리지널 해상도를 갖는 비디오 화면에 대해 다운샘플링(downsampling) 처리를 수행하는 단계
를 더 포함하고,
상기 프리 인코딩은 상기 다운샘플링 처리를 통해 획득된 상기 화면의 현재 프레임을 프리 인코딩하는 것을 포함하는, 인트라 프레임 비트레이트 할당 방법. - 제1항에 있어서,
상기 컴퓨터 장비가, 상기 전체 목표 비트레이트를 획득하는 단계는,
상기 컴퓨터 장비가, 비디오 프레임 레이트를 획득하는 단계; 및
상기 컴퓨터 장비가, 상기 비디오 프레임 레이트, 미리 설정된 초당 목표 비트레이트, 및 미리 설정된 수량의 프레임에 따라 계산을 통해 상기 전체 목표 비트레이트를 획득하는 단계
를 포함하는, 인트라 프레임 비트레이트 할당 방법. - 컴퓨터 장비로서,
메모리 및 프로세서를 포함하고, 상기 메모리는 컴퓨터로 판독 가능한 명령을 저장하고, 상기 컴퓨터로 판독 가능한 명령은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 상기 화면의 현재 프레임을 프리 인코딩(pre-encoding)하고 - 상기 프리 인코딩은 상기 화면의 현재 프레임을 인트라 프레임으로서 인코딩하는 것을 포함함 -;
상기 프리 인코딩의 대응하는 프리 인코딩 코스트(pre-encoding cost)를 계산하고;
계산된 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당하게 하고,
할당된 인트라 프레임 비트레이트는 계산된 프리 인코딩 코스트와 양의 상관관계가 있으며,
상기 화면의 현재 프레임을 프리 인코딩하는 것은, 상기 화면의 현재 프레임을 인터 프레임(inter frame)으로서 인코딩하는 것을 더 포함하고,
상기 프리 인코딩 코스트는 상기 화면의 현재 프레임을 상기 인트라 프레임으로서 인코딩하여 획득되는 인트라 프레임 인코딩 코스트 및 상기 화면의 현재 프레임을 상기 인터 프레임으로서 인코딩하여 획득되는 인터 프레임 인코딩 코스트를 포함하고,
상기 프리 인코딩 코스트에 따라 상기 인트라 프레임 비트레이트를 할당하는 것은,
상기 화면의 현재 프레임의 인트라/인터 프레임 인코딩 코스트 비율을 계산하는 것 - 상기 인트라/인터 프레임 인코딩 코스트 비율은 상기 화면의 현재 프레임의 상기 인터 프레임 인코딩 코스트에 대한 상기 인트라 프레임 인코딩 코스트의 비율임 - ;
상기 인트라/인터 프레임 인코딩 코스트 비율에 따라 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 것 - 상기 인트라/인터 프레임 목표 비트레이트 비율은 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율이고, 상기 인트라/인터 프레임 목표 비트레이트 비율은 상기 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계임 - ;
전체 목표 비트레이트를 획득하는 것; 및
상기 전체 목표 비트레이트, 상기 인트라/인터 프레임 목표 비트레이트 비율, 미리 설정된 수량의 인트라 프레임, 및 미리 설정된 수량의 인터 프레임에 따라 상기 인트라 프레임 비트레이트를 할당하는 것
을 포함하는, 컴퓨터 장비. - 삭제
- 제6항에 있어서,
상기 인트라/인터 프레임 인코딩 코스트 비율에 따라 상기 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 것은,
상기 인트라/인터 프레임 인코딩 코스트 비율을 각각의 미리 설정된 임계치와 비교하고, 상기 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격을 결정하는 것; 및
상기 대응하는 임계 간격에 따라, 상기 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 상기 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 것
을 포함하고, 상기 인트라/인터 프레임 목표 비트레이트 비율은 상기 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있는, 컴퓨터 장비. - 제6항에 있어서,
상기 컴퓨터로 판독 가능한 명령은 상기 프로세서로 하여금,
오리지널 해상도를 갖는 비디오 화면에 대해 다운샘플링(downsampling) 처리를 수행하게 하고,
상기 프리 인코딩은 상기 다운샘플링 처리를 통해 획득된 상기 화면의 현재 프레임을 프리 인코딩하는 것을 포함하는, 컴퓨터 장비. - 제6항에 있어서,
상기 전체 목표 비트레이트를 획득하는 것은,
비디오 프레임 레이트를 획득하는 것, 및
상기 비디오 프레임 레이트, 미리 설정된 초당 목표 비트레이트, 및 미리 설정된 수량의 프레임에 따라 계산을 통해 상기 전체 목표 비트레이트를 획득하는 것을 포함하는, 컴퓨터 장비. - 하나 이상의 비휘발성 저장 매체로서,
컴퓨터로 판독 가능한 명령을 포함하고, 상기 컴퓨터로 판독 가능한 명령은, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
화면의 현재 프레임이 특정 프레임 시퀀스 내의 인트라 프레임일 때, 상기 화면의 현재 프레임을 프리 인코딩(pre-encoding)하고 - 상기 프리 인코딩은 상기 화면의 현재 프레임을 인트라 프레임으로서 인코딩하는 것을 포함함 -;
상기 프리 인코딩의 대응하는 프리 인코딩 코스트(pre-encoding cost)를 계산하고;
계산된 프리 인코딩 코스트에 따라 인트라 프레임 비트레이트를 할당하게 하고,
할당된 인트라 프레임 비트레이트는 계산된 프리 인코딩 코스트와 양의 상관관계가 있으며,
상기 화면의 현재 프레임을 프리 인코딩하는 것은, 상기 화면의 현재 프레임을 인터 프레임으로서 인코딩하는 것을 더 포함하고,
상기 프리 인코딩 코스트는 상기 화면의 현재 프레임을 상기 인트라 프레임으로서 인코딩하여 획득되는 인트라 프레임 인코딩 코스트 및 상기 화면의 현재 프레임을 인터 프레임으로서 인코딩하여 획득되는 인터 프레임 인코딩 코스트를 포함하고,
상기 프리 인코딩 코스트에 따라 상기 인트라 프레임 비트레이트를 할당하는 것은,
상기 화면의 현재 프레임의 인트라/인터 프레임 인코딩 코스트 비율을 계산하는 것 - 상기 인트라/인터 프레임 인코딩 코스트 비율은 상기 화면의 현재 프레임의 상기 인터 프레임 인코딩 코스트에 대한 상기 인트라 프레임 인코딩 코스트의 비율임 - ;
상기 인트라/인터 프레임 인코딩 코스트 비율에 따라 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 것 - 상기 인트라/인터 프레임 목표 비트레이트 비율은 인터 프레임 목표 비트레이트에 대한 인트라 프레임 목표 비트레이트의 비율이고, 상기 인트라/인터 프레임 목표 비트레이트 비율은 상기 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계임 - ;
전체 목표 비트레이트를 획득하는 것; 및
획득된 전체 목표 비트레이트, 결정된 인트라/인터 프레임 목표 비트레이트 비율, 미리 설정된 수량의 인트라 프레임, 및 미리 설정된 수량의 인터 프레임에 따라 상기 인트라 프레임 비트레이트를 할당하는 것
을 포함하는, 비휘발성 저장 매체. - 삭제
- 제11항에 있어서,
상기 인트라/인터 프레임 인코딩 코스트 비율에 따라 상기 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 것은,
상기 인트라/인터 프레임 인코딩 코스트 비율을 각각의 미리 설정된 임계치와 비교하고, 상기 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 임계 간격을 결정하는 것; 및
상기 대응하는 임계 간격에 따라, 상기 인트라/인터 프레임 인코딩 코스트 비율에 대응하는 상기 인트라/인터 프레임 목표 비트레이트 비율을 결정하는 것
을 포함하고, 상기 인트라/인터 프레임 목표 비트레이트 비율은 상기 인트라/인터 프레임 인코딩 코스트 비율과 양의 상관관계가 있는, 비휘발성 저장 매체. - 제11항에 있어서,
상기 컴퓨터로 판독 가능한 명령은 상기 프로세서로 하여금,
오리지널 해상도를 갖는 비디오 화면에 대해 다운샘플링(downsampling) 처리를 수행하게 하고,
상기 프리 인코딩은 상기 다운샘플링 처리를 통해 획득된 상기 화면의 현재 프레임을 프리 인코딩하는 것을 포함하는, 비휘발성 저장 매체. - 제11항에 있어서,
상기 전체 목표 비트레이트를 획득하는 것은,
비디오 프레임 레이트를 획득하는 것, 및
상기 비디오 프레임 레이트, 미리 설정된 초당 목표 비트레이트, 및 미리 설정된 수량의 프레임에 따라 계산을 통해 상기 전체 목표 비트레이트를 획득하는 것을 포함하는, 비휘발성 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710132526.9 | 2017-03-07 | ||
CN201710132526.9A CN106961603B (zh) | 2017-03-07 | 2017-03-07 | 帧内编码帧码率分配方法和装置 |
PCT/CN2018/077993 WO2018161868A1 (zh) | 2017-03-07 | 2018-03-05 | 帧内编码帧码率分配方法、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190061073A KR20190061073A (ko) | 2019-06-04 |
KR102266213B1 true KR102266213B1 (ko) | 2021-06-16 |
Family
ID=59470718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197013493A KR102266213B1 (ko) | 2017-03-07 | 2018-03-05 | 인트라 프레임 코딩된 프레임에 대한 코드 레이트 할당 방법, 컴퓨터 장비, 및 저장 매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11109038B2 (ko) |
EP (1) | EP3595305B1 (ko) |
JP (1) | JP6851678B2 (ko) |
KR (1) | KR102266213B1 (ko) |
CN (1) | CN106961603B (ko) |
WO (1) | WO2018161868A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106961603B (zh) | 2017-03-07 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 帧内编码帧码率分配方法和装置 |
CN109819253B (zh) * | 2017-11-21 | 2022-04-22 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备和存储介质 |
CN110049321B (zh) * | 2018-01-16 | 2022-09-06 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、设备及存储介质 |
CN109151443A (zh) * | 2018-10-15 | 2019-01-04 | Oppo广东移动通信有限公司 | 高舒适度立体视频生成方法、系统及终端设备 |
CN109587502B (zh) * | 2018-12-29 | 2023-05-09 | 深圳市网心科技有限公司 | 一种帧内压缩的方法、装置、设备及计算机可读存储介质 |
CN112449198B (zh) * | 2019-09-02 | 2023-09-29 | 珠海格力电器股份有限公司 | 视频编码方法、装置以及计算设备、存储介质 |
CN110784718B (zh) * | 2019-10-31 | 2021-07-20 | 广州市网星信息技术有限公司 | 视频数据编码方法、装置、设备和存储介质 |
CN110971900A (zh) * | 2019-11-14 | 2020-04-07 | 杭州当虹科技股份有限公司 | 一种适用于4k、8k超高清运动平缓视频的码率控制方法 |
CN111757107B (zh) * | 2020-06-29 | 2024-03-05 | 北京百度网讯科技有限公司 | 一种视频编码方法、装置、设备及介质 |
CN112218084B (zh) * | 2020-10-16 | 2021-09-17 | 西安邮电大学 | 面向监控视频的高效视频编码标准帧级码率控制方法 |
CN112492305B (zh) * | 2020-11-18 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008035134A (ja) | 2006-07-27 | 2008-02-14 | Matsushita Electric Ind Co Ltd | 画像符号化装置 |
GB2540242A (en) | 2015-02-22 | 2017-01-11 | Patrick Compton Matthew | Method and apparatus for rate control subjective optimisation |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04175085A (ja) * | 1990-11-08 | 1992-06-23 | Olympus Optical Co Ltd | 動画像符号化方式 |
DE69424909T2 (de) * | 1993-04-09 | 2000-12-14 | Sony Corp., Tokio/Tokyo | Verfahren und vorrichtung zur bildkodierung |
EP0899961A1 (en) * | 1997-08-25 | 1999-03-03 | Tektronix, Inc. | Pipelined processing for moving picture compression bit rate control |
JP2004297768A (ja) * | 2003-03-10 | 2004-10-21 | Mitsubishi Electric Corp | 映像信号符号化装置、および映像信号符号化方法 |
JP4366571B2 (ja) * | 2003-09-18 | 2009-11-18 | 日本電気株式会社 | 動画像符号化装置及び方法 |
US7403562B2 (en) * | 2005-03-09 | 2008-07-22 | Eg Technology, Inc. | Model based rate control for predictive video encoder |
CN100425079C (zh) * | 2006-08-07 | 2008-10-08 | 浙江大学 | 基于低内存消耗查询表的视频压缩码率控制方法 |
KR20090004398A (ko) | 2007-01-02 | 2009-01-12 | 주식회사 셀런 | 스트리밍 환경에서 피드백 채널을 사용하지 않고 사용자의시청 패턴에 따른 광고 서비스 방법 및 시스템 |
US8331438B2 (en) * | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
KR20090043982A (ko) * | 2007-10-30 | 2009-05-07 | 삼성전자주식회사 | 부호화 비트율 예측 및 양자화 방법 및 장치 |
IT1398196B1 (it) * | 2009-06-25 | 2013-02-14 | St Microelectronics Srl | Controllore dinamico della velocita' di trasmissione indipendente dal gruppo di immagini |
JP5215951B2 (ja) * | 2009-07-01 | 2013-06-19 | キヤノン株式会社 | 符号化装置及びその制御方法、コンピュータプログラム |
US8681858B2 (en) * | 2009-12-23 | 2014-03-25 | General Instrument Corporation | Rate control for two-pass encoder |
WO2012047194A1 (en) * | 2010-10-04 | 2012-04-12 | Vidyo, Inc. | Automatic temporal layer bit allocation |
FR2985879A1 (fr) * | 2012-01-17 | 2013-07-19 | France Brevets | Procede de quantification dynamique pour le codage de flux de donnees |
CN103237210B (zh) * | 2013-04-03 | 2015-03-18 | 中国科学技术大学 | 一种视频编码中比特分配的方法及系统 |
CN104717515A (zh) * | 2015-03-24 | 2015-06-17 | 上海大学 | 基于3d-hevc的纹理视频和深度图码率分配方法 |
FR3040849A1 (fr) * | 2015-09-04 | 2017-03-10 | Stmicroelectronics (Grenoble 2) Sas | Procede de compression d'un flux de donnees video |
CN106331706B (zh) * | 2016-05-03 | 2019-04-30 | 上海兆芯集成电路有限公司 | 基于曲线拟合的率失真优化方法以及使用该方法的装置 |
CN106961603B (zh) * | 2017-03-07 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 帧内编码帧码率分配方法和装置 |
-
2017
- 2017-03-07 CN CN201710132526.9A patent/CN106961603B/zh active Active
-
2018
- 2018-03-05 KR KR1020197013493A patent/KR102266213B1/ko active IP Right Grant
- 2018-03-05 WO PCT/CN2018/077993 patent/WO2018161868A1/zh unknown
- 2018-03-05 JP JP2019529916A patent/JP6851678B2/ja active Active
- 2018-03-05 EP EP18763703.8A patent/EP3595305B1/en active Active
-
2019
- 2019-04-26 US US16/395,471 patent/US11109038B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008035134A (ja) | 2006-07-27 | 2008-02-14 | Matsushita Electric Ind Co Ltd | 画像符号化装置 |
GB2540242A (en) | 2015-02-22 | 2017-01-11 | Patrick Compton Matthew | Method and apparatus for rate control subjective optimisation |
Non-Patent Citations (1)
Title |
---|
L. Sun, et al. Rate distortion modeling and adaptive rate control scheme for high efficiency video coding (HEVC). 2014 IEEE ISCAS. Jun. 2014, pp.1933-1936* |
Also Published As
Publication number | Publication date |
---|---|
CN106961603A (zh) | 2017-07-18 |
EP3595305B1 (en) | 2022-12-28 |
CN106961603B (zh) | 2018-06-15 |
EP3595305A4 (en) | 2020-02-19 |
US20190253718A1 (en) | 2019-08-15 |
JP2019536385A (ja) | 2019-12-12 |
WO2018161868A1 (zh) | 2018-09-13 |
EP3595305A1 (en) | 2020-01-15 |
KR20190061073A (ko) | 2019-06-04 |
US11109038B2 (en) | 2021-08-31 |
JP6851678B2 (ja) | 2021-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102266213B1 (ko) | 인트라 프레임 코딩된 프레임에 대한 코드 레이트 할당 방법, 컴퓨터 장비, 및 저장 매체 | |
KR102307771B1 (ko) | 비디오 인코딩 방법, 컴퓨터 디바이스 및 저장 매체 | |
JP7271683B2 (ja) | エンコーダ、デコーダ、および対応するイントラ予測方法 | |
US11128888B2 (en) | Method and apparatus for video decoding | |
CN108012163B (zh) | 视频编码的码率控制方法及装置 | |
US11206405B2 (en) | Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium | |
CN108737825B (zh) | 视频数据编码方法、装置、计算机设备和存储介质 | |
KR20190103297A (ko) | 비디오 코딩 방법, 비디오 디코딩 방법, 컴퓨터 기기와 기록매체 | |
US11172220B2 (en) | Video encoding method, and storage medium thereof | |
US20200275104A1 (en) | System and method for controlling video coding at frame level | |
US11134250B2 (en) | System and method for controlling video coding within image frame | |
WO2018161867A1 (zh) | 码率分配方法、设备及存储介质 | |
CN110832856A (zh) | 用于减小视频编码波动的系统及方法 | |
JP2022537426A (ja) | 幾何学的分割モードのためのクロマサンプル重みの導出 | |
KR102424258B1 (ko) | 비디오를 인코딩하기 위한 방법 및 인코더 시스템 | |
US20150010069A1 (en) | Intra video coding in error prone environments | |
US10735773B2 (en) | Video coding techniques for high quality coding of low motion content | |
KR20160105203A (ko) | 멀티미디어 코덱, 상기 멀티미디어 코덱을 포함하는 애플리케이션 프로세서, 및 상기 애플리케이션 프로세서의 동작 방법 | |
TW201338554A (zh) | 動畫像編碼方法、動畫像編碼裝置及動畫像編碼程式 | |
CN113660487A (zh) | 用于为帧图像分配对应比特数的参数确定方法及装置 | |
Diaz-Honrubia et al. | A fast temporal and hybrid SHVC encoder | |
JP2023075158A (ja) | インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ | |
JP2015088954A (ja) | 画像符号化装置及び画像符号化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |