KR20190132696A - 비디오 인코딩 방법, 컴퓨터 디바이스 및 저장 매체 - Google Patents
비디오 인코딩 방법, 컴퓨터 디바이스 및 저장 매체 Download PDFInfo
- Publication number
- KR20190132696A KR20190132696A KR1020197033417A KR20197033417A KR20190132696A KR 20190132696 A KR20190132696 A KR 20190132696A KR 1020197033417 A KR1020197033417 A KR 1020197033417A KR 20197033417 A KR20197033417 A KR 20197033417A KR 20190132696 A KR20190132696 A KR 20190132696A
- Authority
- KR
- South Korea
- Prior art keywords
- bit rate
- percentage
- frame
- computing device
- sequence group
- 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/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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/142—Detection of scene cut or scene change
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/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/124—Quantisation
-
- 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/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/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/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/176—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 block, e.g. a macroblock
-
- 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/196—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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
비디오 인코딩 방법으로서, 상기 비디오 인코딩 방법은: 이전 비디오 프레임 시퀀스 그룹에서, 인터 프레임 예측 프레임(inter-frame prediction frame) 중 인트라 프레임 예측 블록(intra-frame prediction block)의 비율을 획득하는 단계; 비율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 현재 비디오 장면이 변하는 것으로 결정되면, 비율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 프레임 코딩 프레임(intra-frame coded frame)의 타깃 코드 레이트를 결정하는 단계; 및 타깃 코드 레이트에 따라 인트라 프레임 코딩 프레임을 인코딩하는 단계를 포함한다.
Description
본 출원은 컴퓨터 기술 분야, 특히 비디오 코딩 프로세싱 방법, 컴퓨팅 디바이스 및 저장 매체에 관한 것이다.
본 출원은 "VIDEO CODING PROCESSING METHOD, APPARATUS, AND DEVICE, AND STORAGE MEDIUM"이라는 명칭으로 2017년 9월 26일에 중국 특허청에 출원된, 중국 특허 출원 제2017108806452호의 우선권을 주장하며, 그 전문은 여기에 참조로서 병합된다.
과학 기술의 발달로 정보 전송 방법은 점점 더 다양해지고 있다. 비디오 통화(video call) 또는 온라인 생중계(live broadcasting online)과 같은 리치 컨텐츠(rich content)로 인해, 비디오는 매우 중요한 정보 전송 형태가 되었다. 정보가 비디오를 통해 전송되는 경우, 비디오는 코딩되어야 할 필요가 있다.
현재, 비디오 코딩 중, 현재 인트라 코딩 프레임(intra-coded frame)의 코딩 비트 레이트(coding bit rate)는 현재 인트라 코딩 프레임 이전의 비디오 프레임의 비트 레이트 또는 양자화 단계에 따라 결정되어, 코딩 비트 레이트에 따라 현재 인트라 코딩 프레임을 코딩할 수 있다.
그러나, 비디오에서의 이미지 변화는 복잡하다. 이전 비디오 프레임 시퀀스에서 비디오 프레임의 비트 레이트 또는 양자화 단계는, 현재 인트라 코딩 프레임의 비트 레이트 할당을 코딩하기 위한 기준 중요성(reference significance)이 거의 없다. 따라서, 종래의 코딩 방법을 사용하여 현재 인트라 코딩 프레임의 코딩 비트 레이트를 정확하게 결정하는 것은 어렵다. 결과적으로, 적응적 코딩 기능(adaptive coding capability)이 비교적 좋지 않다.
본 출원에서 제공되는 실시 예에 따르면, 비디오 코딩 프로세싱 방법, 컴퓨팅 디바이스 및 저장 매체가 제공된다.
비디오 코딩 프로세싱 방법은:
컴퓨팅 디바이스에 의해, 이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임(inter-predicted frame) 중 인트라 예측 블록(intra-prediction block)의 백분율을 획득하는 단계;
컴퓨팅 디바이스에 의해, 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임(intra-coded frame)의 타깃 비트 레이트를 결정하는 단계; 및
컴퓨팅 디바이스에 의해, 타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩하는 단계를 포함한다.
컴퓨팅 디바이스는, 메모리 및 하나 이상의 프로세서를 포함하고,
메모리는 컴퓨터로 판독 가능한 명령을 저장하고, 컴퓨터로 판독 가능한 명령은, 하나 이상의 프로세서에 의해 실행되는 경우, 하나 이상의 프로세서가:
이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계;
백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계; 및
타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩하는 단계를 수행하도록 한다.
하나 이상의 비 휘발성 저장 매체는, 컴퓨터로 실행 가능한 명령을 저장하고,
컴퓨터로 실행 가능한 명령은, 하나 이상의 프로세서에 의해 실행되는 경우, 하나 이상의 프로세서가:
이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계;
백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계; 및
타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩하는 단계를 수행하도록 한다.
본 출원의 하나 이상의 실시 예에 대한 상세한 내용은 다음의 첨부된 도면 및 설명에서 제공된다. 본 출원의 다른 특징, 목적 및 이점은 명세서, 첨부된 도면 및 청구범위를 참조하여 보다 명백해진다.
본 출원의 실시 예에서의 기술적 해결 방안을 보다 명확하게 설명하기 위해, 이하에서는 실시 예를 설명하기 위해 필요한 첨부된 도면을 간략하게 설명한다. 명백히, 이하의 설명에서 첨부된 도면은 본 출원의 일부 실시 예를 나타낼 뿐이며, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자는 창조적 노력 없이도 이러한 첨부된 도면으로부터 다른 도면을 도출할 수 있다.
도 1은 일 실시 예에 따른 비디오 코딩 프로세싱 방법의 적용 환경을 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 비디오 코딩 프로세싱 방법의 개략 흐름도이다.
도 3은 일 실시 예에 따른 위상 결정 단계의 개략 흐름도이다.
도 4는 일 실시 예에 따른 타깃 비트 레이트 결정 단계의 개략 흐름도이다.
도 5는 다른 실시 예에 따른 비디오 코딩 프로세싱 방법의 개략 흐름도이다.
도 6은 일 실시 예에 따른 비디오 코딩 프로세싱 방법의 원리를 설명하기 위한 개략도이다.
도 7은 일 실시 예에 따른 비디오 코딩 프로세싱 장치의 블록도이다.
도 8은 일 실시 예에 따른 백분율 획득 모듈의 블록도이다.
도 9는 다른 실시 예에 따른 비디오 코딩 프로세싱 장치의 블록도이다.
도 10은 일 실시 예에 따른 컴퓨팅 디바이스의 블록도이다.
도 1은 일 실시 예에 따른 비디오 코딩 프로세싱 방법의 적용 환경을 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 비디오 코딩 프로세싱 방법의 개략 흐름도이다.
도 3은 일 실시 예에 따른 위상 결정 단계의 개략 흐름도이다.
도 4는 일 실시 예에 따른 타깃 비트 레이트 결정 단계의 개략 흐름도이다.
도 5는 다른 실시 예에 따른 비디오 코딩 프로세싱 방법의 개략 흐름도이다.
도 6은 일 실시 예에 따른 비디오 코딩 프로세싱 방법의 원리를 설명하기 위한 개략도이다.
도 7은 일 실시 예에 따른 비디오 코딩 프로세싱 장치의 블록도이다.
도 8은 일 실시 예에 따른 백분율 획득 모듈의 블록도이다.
도 9는 다른 실시 예에 따른 비디오 코딩 프로세싱 장치의 블록도이다.
도 10은 일 실시 예에 따른 컴퓨팅 디바이스의 블록도이다.
본 출원의 목적, 기술적 해결 방안 및 이점을 보다 명확하고 이해하기 쉽도록 하기 위해, 이하에서는 첨부된 도면 및 실시 예를 참조하여 본 출원을 더욱 상세히 설명한다. 본 명세서에 설명된 특정 실시 예는 단지 본 출원을 설명하기 위해 사용될 뿐이고 본 출원을 제한하려는 것이 아님을 이해하여야 한다.
도 1은 일 실시 예에 따른 비디오 코딩 프로세싱 방법의 적용 환경을 설명하기 위한 도면이다. 도 1을 참조하면, 적용 환경은 네트워크를 이용하여 연결된 제1 단말(110) 및 제2 단말(120)을 포함한다. 제1 단말(110) 및 제2 단말(120)은 비디오 코딩 및 디코딩 기능을 갖는다. 일 실시 예에서, 비디오 통화 어플리케이션은 제1 단말(110) 및 제2 단말(120)에 설치될 수 있다. 제1 단말(110) 또는 제2 단말(120)은 데스크톱 컴퓨터 또는 이동 단말일 수 있다. 이동 단말은 휴대폰, 태블릿 컴퓨터, 개인 휴대 정보 단말, 웨어러블 디바이스 등 중 적어도 하나를 포함할 수 있다.
일 실시 예에서, 제1 단말(110) 및 제2 단말(120)은 비디오 통화 어플리케이션을 이용하여 실시간 비디오 통화를 한다. 제1 단말(110)은 이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득할 수 있다. 제1 단말(110)은, 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정할 수 있다. 제1 단말(110)은 타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩할 수 있다. 또한, 제1 단말(110)은, 코딩 후에 획득한 코딩 비디오 스트림(coded video stream)을 제2 단말(120)(즉, 비디오 통화 피어 엔드(video call peer end))로 송신할 수 있고, 제2 단말(120)은 수신된 코딩 비디오 스트림을 디코딩 및 재생할 수 있다.
다자간 비디오 통화가 구현될 수 있고, 적어도 하나의 제2 단말(120)이 존재할 수 있음을 이해할 수 있다.
도 1에 도시된 적용 환경을 설명하기 위한 도면을 주목하여야 한다. 도 1은 단지 본 출원에서 제공되는 비디오 코딩 프로세싱 방법의 일 실시 예일 수 있다. 다른 실시 예에서, 대안적으로, 제1 단말(110)은, 서버를 사용하여 제2 단말(120)에 대한 네트워크 연결을 구현할 수 있다. 즉, 제1 단말(110)은 코딩 후에 코딩 비디오 스트림을 서버로 송신할 수 있고, 서버는 코딩 비디오 스트림을 제2 단말(120)에 전달한다.
본 출원에서 제공되는 비디오 코딩 프로세싱 방법은 비디오 실시간 통화 장면에 적용될 수 있을 뿐 아니라, 비디오가 온라인으로 생중계되는 적용 환경에도 적용될 수 있음을 이해할 수 있다. 적용 환경은 제3 단말, 서버 및 제4 단말을 포함한다. 제3 단말은 비디오 프레임을 수집하여 서버로 송신하도록 구성된다. 서버는 비디오 프레임을 코딩하고 코딩 후에 코딩 비디오 스트림을 제4 단말에 푸시(push)하도록 구성된다. 제4 단말은 서버에 의해 푸시된 코딩 비디오 스트림을 디코딩 및 재생하도록 구성된다. 그리고, 본 출원에서 제공되는 비디오 코딩 프로세싱 방법은, 비디오가 온라인으로 생중계되는 적용 환경의 서버에 적용된다. 적용 환경의 서버는, 본 출원에서 제공되는 비디오 코딩 프로세싱 방법을 사용하여 인트라 코딩 프레임을 코딩하여, 라이브 비디오 스트림에 대한 코딩을 구현하고, 코딩 후에 코딩 비디오 스트림을 디코딩 및 재생을 위해 제4 단말로 송신한다.
"제1", "제2", "제3" 및 "제4"라는 용어는 다른 종속, 권리 및 순서에 대한 제한 없이 표현을 구별하기 위해서만 사용되는 것으로 이해될 수 있다.
도 2는 일 실시 예에 따른 비디오 코딩 프로세싱 방법의 개략 흐름도이다. 본 실시 예에서, 주로 비디오 코딩 프로세싱 방법이 컴퓨팅 디바이스에 적용되는 예를 사용하여 설명이 제공된다. 컴퓨팅 디바이스는 도 1의 제1 단말(110) 또는 제2 단말(120)일 수 있거나, 비디오가 온라인으로 생중계되는 적용 환경의 서버일 수 있다. 도 2를 참조하면, 상기 방법은 구체적으로 다음 단계를 포함한다:
S202: 이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득한다.
인터 예측 프레임은 다른 비디오 프레임을 참조하여 비디오 이미지 프레임 간의 상관 관계(correlation)을 사용하여 코딩되는 비디오 프레임이다. 인터 예측 프레임은 예측 코딩 화상(predictive-coded picture)(P 프레임) 및/또는 양방향 예측 화상(bidirectionally predicted picture)(B 프레임)을 포함한다.
화상 그룹(group of picture, GOP)은 인트라 코딩 화상(intra-coded picture)(I 프레임)로부터 시작하고 인터 예측 프레임을 포함하는 비디오 프레임 시퀀스 그룹이다. 이전 비디오 프레임 시퀀스 그룹은, 현재 비디오 프레임 시퀀스 그룹에 가장 가까운 이전 비디오 프레임 시퀀스 그룹이다. 현재 비디오 프레임 시퀀스 그룹은, 현재 코딩될 비디오 프레임 시퀀스이다.
구체적으로, 컴퓨팅 디바이스는 이전 비디오 프레임 시퀀스 그룹으로부터 일부 또는 모든 인터 예측 프레임을 선택할 수 있다. 일 실시 예에서, 컴퓨팅 디바이스는 이전 비디오 프레임 시퀀스 그룹에 있고 현재 비디오 프레임 시퀀스 그룹에 가장 가까운 인터 예측 프레임을 선택할 수 있다. 컴퓨팅 디바이스는 또한, 이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임의 총 수량을 결정하고, 현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로, 그 양이 이전 비디오 프레임 시퀀스의 그룹으로부터의 총 수량보다 작은 복수의 연속적인 인터 예측 프레임을 선택할 수 있다. 예를 들어, 이전 비디오 프레임 시퀀스 그룹이 (Ipre, P1, P2, B1, P3, P4)인 경우, 컴퓨팅 디바이스는 가장 가까운 P4 프레임을 선택할 수 있거나, 현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로, 그 양이 이전 비디오 프레임 시퀀스 그룹의 인터 예측 프레임의 총 수량 5보다 작은 복수의 연속적인 인터 예측 프레임을 이전 비디오 프레임 시퀀스의 그룹으로부터 선택할 수 있다. 예를 들어, 3 개의 가장 가까운 연속적인 인터 예측 프레임 P4, P3 및 B1이 선택된다.
컴퓨팅 디바이스는 또한, 이전 비디오 프레임 시퀀스 그룹으로부터 완전하게 연속적이지는 않은 인터 예측 프레임을 선택할 수 있음을 이해할 수 있다. 예를 들어, 컴퓨팅 디바이스는 또한, P1, B1, P3 및 P4를 선택할 수 있으며, 여기서 P1 및 B1은 연속적이지 않다.
인트라 예측 블록(인트라 블록)은 프레임에서 인트라 프레임 코딩 모드를 이용하여 코딩된 블록이다. 인트라 예측 블록은 인접 픽셀 간의 상관 관계를 이용하여 픽셀 블록의 좌측 에지(edge) 및 상부 에지의 픽셀을 이용하여 예측을 수행하며, 실제값과 예측값 사이의 차이 만이 코딩될 필요가 있다.
프레임의 인터 예측 프레임은 복수의 블록으로 구성되는 것으로 이해될 수 있다. 인터 예측 프레임을 형성하는 복수의 블록은 인트라 예측 블록 및 인터 예측 블록을 포함한다. 인터 예측 블록(인터 블록)은 프레임에서 인터 코딩 모드를 이용하여 코딩된 블록이다.
인트라 예측 블록의 백분율은, 인트라 예측 블록이 동일한 인터 예측 프레임을 형성하는 모든 블록에서 차지하는 비율이다. 예를 들어, 총 30 개의 블록이 인터 예측 프레임을 형성하고, 10 개의 인트라 예측 블록이 있다. 인트라 예측 블록의 백분율은 10/30=1/3이다.
단계 S202에서 복수의 인터 예측 프레임이 선택될 때, 인터 예측 프레임 내의 인트라 예측 블록의 백분율은 별도로 획득될 필요가 있음을 이해할 수 있다.
S204: 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정한다.
비트 레이트는 비디오 비트 레이트이며, 데이터 전송 중 단위 시간당 전송되는 데이터 비트의 양이다.
현재 비디오 장면은 지금의 비디오 장면이다. 비디오 장면은 전체 비디오 이미지를 사용하여 제공된다. 비디오 장면 변화는 현재 비디오 이미지의 안정성 또는 밀도가 변화됨을 의미한다. 예를 들어, 현재 비디오 장면이 정적 상태에서 이동 상태로 변하면, 그것은 현재 비디오 이미지의 안정성이 변하고 현재 비디오 장면이 변한다는 것을 나타내고; 다른 예를 들어, 현재 비디오 장면의 배경이 단순한 것에서 복잡한 것으로 변하면, 그것은 현재 비디오 이미지의 밀도가 변하고 현재 비디오 장면이 변한다는 것을 나타낸다.
일 실시 예에서, 컴퓨팅 디바이스는, 인트라 예측 블록의 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정할 수 있다. 구체적으로, 컴퓨팅 디바이스는, 획득한 인트라 예측 블록의 백분율을 사전 설정 인트라 예측 블록 백분율 임계값과 직접 비교하고, 비교 결과에 따라, 현재 비디오 장면이 변하는지 여부를 결정할 수 있다.
일 실시 예에서, 선택된 인터 예측 프레임이 복수의 연속적인 인터 예측 프레임인 경우, 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는: 인터 예측 프레임 중 인트라 예측 블록의 백분율의 최대값 및 최소값을 결정하는 단계; 복수의 사전 설정 인트라 예측 블록 백분율 임계값을 획득하는 단계; 및 인트라 예측 블록 백분율 임계값 중 적어도 하나가 최대값과 최소값 사이에 존재하는 경우, 현재 비디오 장면이 변하는 것으로 결정하는 단계를 포함한다.
일 실시 예에서, 복수의 사전 설정 인트라 예측 블록 백분율 임계값은 다음과 같을 수 있으며, 여기서 Thre는 인트라 예측 블록 백분율 임계값을 나타낸다.
이제부터 복수의 사전 설정 인트라 예측 블록 백분율 임계값을 참조하여, 현재 비디오 장면이 변하는지 여부를 결정하는 방법이 설명된다. 예를 들어, 백분율에서 최대값과 최소값이 각각 15% 및 8%이고, 인트라 예측 블록 백분율 임계값 10%(Thre 3 )가 최대값 15%와 최소값 8% 사이에 존재하는 경우, 현재 비디오 장면이 변하는 것으로 결정된다.
일 실시 예에서, 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는: 최대값 및 최소값이 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는지 여부를 결정하는 단계; 및 최대값 및 최소값이, 인트라 예측 블록 백분율 임계치 중 인접한 2개 사이에 있는 경우, 현재 비디오 장면이 변하지 않는 것으로 결정하는 단계를 포함한다.
일 예는 또한, 복수의 사전 설정 인트라 예측 블록 백분율 임계값을 참조하여 설명된다. 예를 들어, 백분율에서 최대값과 최소값이 각각 8% 및 6%이고, 최대값 8%와 최소값 6%가 인트라 예측 블록 백분율 임계값 중 인접한 2개, 즉 5%(Thre 2 ) 및 10%(Thre 3 ) 사이에 있는 경우, 현재 비디오 장면이 변하지 않는 것으로 결정된다.
하나의 선택된 인터 예측 프레임이 있을 때, 하나의 인트라 예측 블록의 획득한 백분율이 존재하는 것으로 이해될 수 있다. 구체적으로, 컴퓨팅 디바이스는, 인터 예측 프레임 내의 각각의 인트라 예측 블록의 분포 위치 및 분배 동향, 그리고 인트라 예측 블록의 백분율의 크기에 따라, 현재 비디오 장면이 변하는지 여부를 직접 결정할 수 있다.
구체적으로, 컴퓨팅 디바이스는, 백분율에 따라, 현재 비디오 장면이 변하는 것으로 결정하는 경우, 백분율 자체에 따라, 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트를 결정할 수 있다.
일 실시 예에서, 하나의 선택된 인터 예측 프레임이 있을 때, 하나의 인트라 예측 블록의 획득한 백분율만이 존재한다. 컴퓨팅 디바이스는, 백분율과 사전 설정 비트 레이트 사이의 매핑 관계에 따라, 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트로서 백분율을 대응적으로 매핑하는 사전 설정 비트 레이트를 획득할 수 있다.
다른 실시 예에서, 복수의 선택된 인터 예측 프레임이 있을 때, 인트라 예측 블록의 획득한 백분율 또한 존재한다. 컴퓨팅 디바이스는, 복수의 백분율의 평균값에 따라 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트를 결정할 수 있다. 컴퓨팅 디바이스는 또한 복수의 백분율로부터 몇몇의 백분율을 선택하고, 선택된 백분율의 평균값에 따라 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트를 결정할 수 있다. 일 실시 예에서, 컴퓨팅 디바이스는 또한 현재 비디오 프레임 시퀀스 그룹에 가장 가까운 인터 예측 프레임 중 인트라 예측 블록의 백분율을 선택할 수 있고, 백분율에 따라, 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트를 결정할 수 있다.
S206: 타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩한다.
구체적으로, 컴퓨팅 디바이스는, 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 결정된 타깃 비트 레이트에 따라 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임을 코딩할 수 있다.
전술한 실시 예에서, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임이 코딩될 때, 현재 비디오 장면이 변하는지 여부는, 이전 비디오 프레임 시퀀스 그룹에서 선택된 인터 예측 프레임 내의 인트라 예측 블록의 백분율에 따라 결정된다. 현재 비디오 장면이 변하는 것으로 결정되면, 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트는, 인트라 예측 블록의 백분율에 따라 결정된다. 인트라 예측 블록의 백분율은, 이미지 사이의 상관 관계의 강도를 반영할 수 있고, 현재 비디오 프레임 시퀀스 그룹에서의 인트라 코딩 프레임의 타깃 비트 레이트 할당은, 이미지 사이의 상관 관계의 강도를 반영할 수 있는 인트라 예측 블록의 백분율에 따라 결정되어, 현재 비디오 장면이 변하는 경우, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임에 대한 타깃 비트 레이트 할당이 보다 정확해짐에 따라, 적응적 코딩 기능을 향상시킬 수 있다.
일 실시 예에서, 선택된 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이다. 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 것은: 백분율에 따라, 현재 비디오 장면이 변하는 것으로 결정하는 경우, 인터 예측 프레임 내의 인트라 예측 블록의 백분율의 평균값을 결정하고; 백분율의 평균값에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 것을 포함하되, 타깃 비트 레이트는, 백분율의 평균값과 음의 상관 관계(negative correlation)있다.
백분율의 평균값은 산술 평균값일 수 있거나 가중 평균값일 수 있다. 일 실시 예에서, 컴퓨팅 디바이스는, 선택된 인터 예측 프레임과 현재 비디오 프레임 시퀀스 그룹 사이의 거리의 크기에 따라 인터 예측 프레임에 대응하는 가중치를 할당할 수 있다. 가중치는 현재 비디오 프레임 시퀀스 그룹으로부터의 거리와 역 상관 관계(inverse correlation)에 있다. 현재 비디오 프레임 시퀀스 그룹으로부터의 거리가 작을수록(즉, 가까워질수록) 더 큰 가중치에 대응하고, 현재 비디오 프레임 시퀀스 그룹으로부터의 거리가 커질수록(즉, 멀어질수록) 더 작은 가중치에 대응한다.
일 실시 예에서, 컴퓨팅 디바이스는, 백분율의 평균값과 사전 설정 비트 레이트 사이의 매핑 관계에 따라, 결정된 백분율의 평균값을, 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트로서 매핑할 수 있다. 타깃 비트 레이트는 백분율의 평균값과 음의 상관 관계가 있다.
다른 실시 예에서, 컴퓨팅 디바이스는 또한, 백분율의 평균값에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율(ratio)을 결정하되, 비율은 백분율의 평균값과 음의 상관 관계에 있고; 단일 프레임 평균 비트 레이트를 획득하고; 단일 프레임 평균 비트 레이트 및 비율에 따라 인트라 코딩 프레임의 타깃 비트 레이트를 획득할 수 있다.
단일 프레임 평균 비트 레이트는 프레임의 평균 비트 레이트이다. 일 실시 예에서, 인코더는 컴퓨팅 디바이스에 배치될 수 있고, 비디오 프레임은 인코더를 사용하여 코딩된다. 코딩 파라미터는 인코더에 사전 설정되어 있다. 코딩 파라미터는 초당 타깃 비트 레이트 및 프레임 레이트를 포함하고, 코딩 파라미터는 또한 단일 프레임 평균 비트 레이트를 포함할 수 있다. 일 실시 예에서, 단일 프레임 평균 비트 레이트가 인코더에서 사전 설정될 수 있고, 컴퓨팅 디바이스는 사전 설정 단일 프레임 평균 비트 레이트를 획득할 수 있다. 다른 실시 예에서, 초당 타깃 비트 레이트 및 프레임 레이트가 인코더에서 사전 설정될 수 있다. 컴퓨팅 디바이스는 사전 설정 초당 타깃 비트 레이트 및 프레임 레이트를 획득하고, 초당 타깃 비트 레이트를 프레임 레이트로 나누어 단일 프레임 평균 비트 레이트를 획득할 수 있다.
일 실시 예에서, 컴퓨팅 디바이스는, 백분율의 평균값과 사전 설정 비율 사이의 매핑 관계에 따라, 이전 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로서 백분율의 평균값을 매핑하는 사전 설정 비율을 획득할 수 있다. 비율은 백분율의 평균값과 음의 상관 관계에 있다. 컴퓨팅 디바이스는, 비율과, 획득한 단일 프레임 평균 비트 레이트의 곱에 따라, 이전 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 획득할 수 있다.
전술한 실시 예에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율의 평균값은, 백분율에 따라 현재 비디오 장면이 변하는 것으로 결정될 때 결정된다. 백분율의 평균값은 이미지 사이의 상관 관계의 강도를 반영할 수 있다. 백분율의 평균값이 비교적 작으면 장면은 일반적으로 정적 장면이고 이미지 사이의 상관 관계는 비교적 강하며, 백분율의 평균값이 비교적 크면 장면은 일반적으로 이동 장면이고 이미지 사이의 상관 관계는 비교적 약하다. 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트는 백분율의 평균값에 따라 결정되며, 타깃 비트 레이트는 백분율의 평균값과 음의 상관 관계에 있다. 백분율의 평균값이 비교적 작고 이미지 사이의 상관 관계가 비교적 강한 경우, 인터 예측 프레임에 의해 필요한 비트 레이트는 비교적 낮다는 것을 이해할 수 있다. 이 경우, 비디오의 전체 압축 효율의 향상을 용이하게 하기 위해 인트라 코딩 프레임의 비트 레이트가 향상될 수 있다. 백분율의 평균값이 비교적 크고 이미지 사이의 상관 관계가 비교적 약한 경우, 인터 예측 프레임에 의해 필요한 비트 레이트는 비교적 높다. 이 경우, 인트라 코딩 프레임의 비트 레이트는 감소될 수 있다.
일 실시 예에서, 단계 S202는: 타깃 선택 수량을 획득하는 단계; 현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로 이전 비디오 프레임 시퀀스 그룹에서 타깃 선택 수량을 만족하는 연속적인 인터 예측 프레임을 선택하는 단계; 및 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계를 포함한다.
타깃 선택 수량은 선택될 필요가 있는 인터 예측 프레임의 타깃 수량이다. 일 실시 예에서, 타깃 선택 수량은 사전 설정 선택 수량일 수 있다.
다른 실시 예에서, 타깃 선택 수량을 획득하는 단계는: 이전 비디오 프레임 시퀀스 그룹에서의 인터 예측 프레임의 총 수량을 결정하는 단계; 사전 설정 선택 수량을 획득하는 단계; 및 사전 설정 선택 수량 및 결정된 총 수량 중 작은 것을 타깃 선택 수량으로서 결정하는 단계를 포함한다.
이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임의 총 수량은, 이전 비디오 프레임 시퀀스 그룹에서 모든 인터 예측 프레임의 총 수량이다. 사전 설정 선택 수량은 선택될 필요가 있는 인터 예측 프레임의 사전 설정 수량이다.
구체적으로, 컴퓨팅 디바이스는, 사전 설정 선택 수량 및 결정된 총 수량 중 작은 것을 타깃 선택 수량으로 결정할 수 있다. 본 실시 예에서 더 작은 값을 선택하는 방식은, 이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임의 총 수량이 사전 설정 선택 수량보다 적을 때 야기되는 선택 에러 문제를 방지하고, 이에 따라 시스템의 유연성과 안정성을 향상시킬 수 있음을 이해할 수 있다.
전술한 실시 예에서, 타깃 선택 수량을 만족하는 연속적인 인터 예측 프레임은, 현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로 이전 비디오 프레임 시퀀스 그룹으로부터 선택되어, 선택된 인터 예측 프레임의 상태는 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임과 더 강한 연관성을 가지므로, 현재 비디오 장면에서 인트라 코딩 프레임에 의해 필요한 타깃 비트 레이트를 더욱 정확하게 반영한다.
일 실시 예에서, 백분율의 평균값에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율을 결정하는 단계는: 감소하는 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정하는 단계; 결정된 위상에 대응하는 사전 설정 비율을 획득하는 단계; 및 획득한 사전 설정 비율을, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로서 결정하는 단계를 포함한다.
위상 함수는 독립 변수의 다른 값 간격에 대해 다른 대응 규칙을 갖는 함수이다. 대응 규칙은 독립 변수와 종속 변수 간의 종속성 관계를 나타내기 위해 사용된다. 예를 들어, y=f(x)는 변수 y가 변수 x의 함수임을 나타내며, 여기서 f는 변수 y와 변수 x 간의 대응 규칙을 나타낸다. 위상 함수의 독립 변수는 동일한 값 간격에서 동일한 대응 규칙을 가지며, 다른 값 간격의 독립 변수는 다른 대응 규칙을 갖는다. 위상 함수는 복수의 제한된 위상을 포함하는 것으로 이해될 수 있다. 위상 함수의 각 위상은 독립 변수의 값 간격에 따라 나누어지고, 동일한 독립 변수의 값 간격은 위상에 대응한다.
감소하는 사전 설정 위상 함수는 사전 설정된 감소하는 위상 함수이다. 위상 함수에서 독립 변수의 다른 값 간격은 서로 비교된다. 비교 시 더 큰 독립 변수 값 간격은, 감소하는 위상 함수에서 대응하는 위상에 대응하는 더 작은 함수 값을 갖는다. 위상 함수에 대해, 더 큰 값 간격에서의 독립 변수의 임의의 값은 더 작은 값 간격에서의 독립 변수의 값보다 크다는 것을 이해할 수 있다. 예를 들어, 값 간격 1은 0보다 크거나 같고 5%보다 적고, 값 간격 2는 5%보다 크거나 같고 10%보다 적고, 값 간격 2는 값 간격 1보다 크며, 값 간격 2에서의 임의의 값은 값 간격 1에서의 독립 변수의 값보다 크다.
구체적으로, 컴퓨팅 디바이스는, 백분율의 평균값과 위상의 사전 설정 위상 수량 사이의 사전 설정 매핑 함수에 따라, 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정할 수 있다. 예를 들어, 백분율의 평균값이 8%인 경우, 평균값은 사전 설정 위상 함수의 제2 위상에 대응한다.
또한, 컴퓨팅 디바이스는 결정된 위상에 대응하는 사전 설정 비율을 획득하고, 획득한 사전 설정 비율을, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로서 결정할 수 있다. 일 실시 예에서, 컴퓨팅 디바이스는 위상과 사전 설정 비율 사이의 사전 설정 대응 관계를 획득하고, 위상에 대응하는 사전 설정 비율을 획득할 수 있다. 예를 들어, 두 번째 단계에 대응하는 사전 설정 비율은 5:1이다.
다른 실시 예에서, 위상 함수는 구간별 상수 함수(piecewise constant function)이다. 구간별 상수 함수의 함수 값은 복수의 상수이다. 동일한 값 간격의 독립 변수는 동일한 상수 함수 값에 대응하고, 다른 값 간격의 독립 변수는 다른 상수 함수 값에 대응한다. 위상 함수에서 독립 변수의 다른 값 간격이 서로 비교되는 것으로 이해될 수 있다. 비교 시 더 큰 독립 변수 값 간격은, 감소하는 구간별 상수 함수(piecewise constant function)에서 대응하는 위상에 대응하는 더 작은 상수 함수 값을 갖는다. 본 실시 예에서, 구간별 상수 함수의 각 위상에서의 상수 함수 값은 위상에 대응하는 사전 설정 비율에 해당한다.
전술한 실시 예에서, 복잡한 계산을 수행하지 않고, 감소하는 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정하고, 결정된 위상에 대응하는 사전 설정 비율을 획득하고, 획득한 사전 설정 비율을, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로 결정함으로써, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율은 신속하고 정확하게 결정되어, 타깃 비트 레이트를 신속하게 결정함으로써, 비디오 코딩 효율을 향상시킬 수 있다.
도 3에 도시된 바와 같이, 일 실시 예에서, 감소하는 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정하는 단계(간단하게 위상 결정 단계라고 함)는 다음 단계를 포함한다:
S302: 복수의 사전 설정 비트 레이트 할당 백분율 임계값을 획득한다.
비트 레이트 할당 백분율 임계값은, 비트 레이트 할당을 구현하기 위한 사전 설정 백분율 임계값이다. 비트 레이트 할당 백분율 임계값은, 인트라 예측 블록 백분율 임계값과 동일한 값, 또는 인트라 예측 블록 백분율 임계값과 다른 값으로 설정될 수 있음을 유의하여야 한다.
일 실시 예에서, 복수의 사전 설정 비트 레이트 할당 백분율 임계값은 다음과 같을 수 있으며, 여기서 TH는 비트 레이트 할당 백분율 임계값을 나타낸다:
S304: 백분율의 평균값을 복수의 사전 설정 비트 레이트 할당 백분율 임계값과 별도로 비교하고, 백분율의 평균값의 비트 레이트 할당 백분율 임계 간격을 결정한다.
비트 레이트 할당 백분율 임계 간격은, 크기가 인접한 2개의 비트 레이트 할당 백분율 임계값마다 형성되는 간격이다. 상이한 비트 레이트 할당 백분율 임계값 사이에 포함된 비트 레이트 할당 백분율 임계값은 반복적이지 않은 것으로 이해될 수 있다. 임계 위치(critical position)에서의 비트 레이트 할당 백분율 임계값은 단지 하나의 비트 레이트 할당 백분율 임계 간격을 포함한다. 현재 비트 레이트 할당 백분율 임계 간격은 임계 위치에서의 비트 레이트 할당 백분율 임계값을 포함하고, 다음의 비트 레이트 할당 백분율 임계 간격은 임계 위치에서의 비트 레이트 할당 백분율 임계값을 포함하지 않는다.
예를 들어 5%(TH 2 )는 임계 위치에서의 비트 레이트 할당 백분율 임계값이다. 비트 레이트 할당 백분율 임계 간격 1이 0 이상 5% 미만인 경우, 비트 레이트 할당 백분율 임계 간격 2는 비트 레이트 할당 백분율 임계값, 즉 5%를 포함하고, 비트 레이트 할당 백분율 간격 2는 5% 이상 15% 미만이다.
백분율의 평균값의 비트 레이트 할당 백분율 임계 간격은, 이제 단계 S302의 실시 예에 도시된 비트 레이트 할당 백분율 임계값을 예로서 이용하여 설명된다. 백분율의 평균값이 30%이고, 비트 레이트 할당 백분율 임계 간격이 각각 0 이상 5% 미만이고, 5% 이상 15% 미만이고, 15% 이상 40% 미만이고, 40% 이상 100% 미만인 것으로 가정한다. 백분율의 평균값 30%는, 15% 이상 40% 미만의 비트 레이트 할당 백분율 임계 간격에 있다.
S306: 복수의 비트 레이트 할당 백분율 임계값을 함수 점프 포인트(function jump point)로서 사용하는, 감소하는 사전 설정 위상 함수에서, 비트 레이트 할당 백분율 임계 간격에 대응하는 위상을 결정한다.
위상 함수의 함수 점프 포인트는 위상 함수를 위상으로 분할하는 포인트이다. 크기가 인접한 2개의 함수 점프 포인트는 위상 함수의 위상에 대응한다.
크기가 인접한 2개의 비트 레이트 할당 백분율 임계값마다 형성된 비트 레이트 할당 백분율 임계 간격은, 복수의 비트 레이트 할당 백분율 임계값을 함수 점프 포인트로서 사용하는 사전 설정 위상 함수에 대응하는 위상에 대응하는 것으로 이해될 수 있다. 즉, 비트 레이트 할당 백분율 임계 간격은 사전 설정 위상 함수에서 대응하는 위상을 갖는다.
일 실시 예에서, 크기가 인접한 2개의 비트 레이트 할당 백분율 임계값마다 형성된 비트 레이트 할당 백분율 임계 간격은, 간격을 형성하고 함수 점프 포인트로서 사용되는 비트 레이트 할당 백분율 임계값에 의해 형성된 위상에 대응한다.
구체적으로, 컴퓨팅 디바이스는, 복수의 사전 설정 비트 레이트 할당 백분율 임계값을 함수 점프 포인트로서 사용하는 사전 설정 위상 함수를 사전 설정할 수 있다. 사전 설정 위상 함수는 감소하는 위상 함수이다. 컴퓨팅 디바이스는, 비트 레이트 할당 백분율 임계 간격을 형성하는 비트 레이트 할당 백분율 임계값을 획득하고, 획득한 비트 레이트 할당 백분율 임계값에 의해 형성된 위상을 함수 점프 포인트로서 결정하여, 비트 레이트 할당 백분율 임계 간격에 대응하는 위상을 획득할 수 있다.
일 실시 예에서, 복수의 비트 레이트 할당 백분율 임계값을 함수 점프 포인트로서 사용하는 감소하는 사전 설정 위상 함수는 다음과 같다. X는 독립 변수이고 Y는 함수의 종속 변수이며 TH는 비트 레이트 할당 백분율 임계값을 나타낸다:
이제 위상을 결정하는 방법이, 단계 S302의 실시 예에 도시된 비트 레이트 할당 백분율 임계값을 예로서 사용하여 설명된다. 백분율의 결정된 평균값 15%의 비트 레이트 할당 백분율 임계 간격이 15% 이상 40% 미만이라고 가정하면, 비트 레이트 할당 백분율 임계값 위상에 대응하는 위상이 제3 위상이다. 제3 위상에 대응하는 사전 설정 비율(즉, 함수 값)은 3이다. 사전 설정 비율 3은, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로서 사용된다.
전술한 실시 예에서, 복수의 비트 레이트 할당 백분율 임계값을 함수 점프 포인트로서 사용하는 감소하는 사전 설정 위상 함수가 설정된다. 실제 계산 동안, 백분율의 평균값은, 대응하는 비트 레이트 할당 백분율 임계 간격을 결정하기 위해, 복수의 비트 레이트 할당 백분율 임계값과 단순 비교될 필요가 있고, 사전 설정 위상 함수의 대응하는 위상은 간격에 따라 신속하게 결정될 수 있어서, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율을 신속하게 결정하여, 타깃 비트 레이트를 신속하게 획득하고, 비디오 코딩 효율을 개선할 수 있다.
일 실시 예에서, 상기 방법은: 백분율에 따라, 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우, 이전 비디오 프레임 시퀀스 그룹의 인터 예측 프레임의 평균 양자화 파라미터를 획득하는 단계; 평균 양자화 파라미터 및 사전 설정 양자화 파라미터 오프셋에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 양자화 파라미터를 결정하는 단계; 및 양자화 파라미터에 따라 인트라 코딩 프레임을 코딩하는 단계를 더 포함한다.
양자화 파라미터는 공간 세부 사항 압축 상태를 반영한다. QP가 비교적 작으면 대부분의 세부 사항이 예약되고, QP가 증가하면 일부 세부 사항이 손실되고 비트 레이트가 감소하며 이미지 왜곡이 증가하며 품질이 저하된다. 인터 예측 프레임의 평균 양자화 파라미터는, 이전 비디오 프레임 시퀀스 그룹의 인터 예측 프레임의 양자화 파라미터를 평균화함으로써 획득한 평균 양자화 파라미터이다. 양자화 파라미터 오프셋은 양자화 파라미터에 필요한 오프셋이다.
구체적으로, 컴퓨팅 디바이스는, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 양자화 파라미터를 획득하기 위해, 평균 양자화 파라미터로부터 사전 설정 양자화 파라미터 오프셋을 감산할 수 있다. 컴퓨팅 디바이스는 양자화 파라미터에 따라 인트라 코딩 프레임을 코딩할 수 있다.
전술한 실시 예에서, 현재 비디오 장면이 변하지 않을 때, 이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임의 평균 양자화 파라미터는 비교적 정확한 기준 중요성을 갖는다. 따라서, 이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임의 양자화 파라미터 오프셋 및 평균 양자화 파라미터에 기초하여 결정되는 양자화 파라미터로서 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 양자화 파라미터는, 현재 비디오 비트 레이트의 요구 사항을 만족시켜서, 양자화 파라미터에 따라 인트라 코딩 프레임을 코딩하고, 비디오 코딩 품질을 보장할 수 있다.
도 4에 도시된 바와 같이, 일 실시 예에서, 상기 방법은 구체적으로 다음 단계를 포함하는 타깃 비트 레이트 결정 단계를 더 포함한다:
S402: 백분율에 따라, 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우, 이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 비트 레이트 대 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 비트 레이트의 제1 비율을 결정한다.
현재 비디오 프레임 시퀀스 그룹이 코딩될 때, 이전 비디오 프레임 시퀀스 그룹의 비디오 프레임의 코딩이 이미 완료되고, 코딩 비트 레이트가 이미 결정된 것으로 이해될 수 있다. 컴퓨팅 디바이스는, 이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 비트 레이트 및 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 비트 레이트를 획득하고, 인트라 코딩 프레임에 포함된 비트 레이트를 인터 예측 프레임에 포함된 평균 비트 레이트로 나누어 제1 비율을 획득할 수 있다.
S404: 이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 양자화 단계를, 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 양자화 단계로 나누어 제2 비율을 획득한다.
양자화는 압축될 이미지의 데이터에 대해 변환 매핑을 수행하는 프로세스이다. 양자화 단계는 입력 이미지에 대해 양자화 및 역 양자화(dequantization)가 수행될 때 관여되는 요소이다. 양자화 단계의 크기는 양자화 전의 입력 이미지와 양자화 및 역 양자화 후의 출력 이미지 사이의 차이와 양의 상관 관계(positive correlation)에 있다. 양자화 단계가 작을수록 양자화 및 역 양자화 후 출력 이미지와 양자화 전 입력 이미지 사이의 유사성이 더 크다는 것을 나타낸다. 즉, 양자화 단계는 비디오 압축 품질에 영향을 미친다.
현재 비디오 프레임 시퀀스 그룹이 코딩될 때, 이전 비디오 프레임 시퀀스 그룹의 비디오 프레임의 코딩이 이미 완료되고, 이전 비디오 프레임 시퀀스 그룹의 각 프레임의 양자화 단계가 이미 결정된 것으로 이해될 수 있다. 컴퓨팅 디바이스는, 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 양자화 단계를 획득하고, 인터 예측 프레임의 평균 양자화 단계를 계산한다. 컴퓨팅 디바이스는 이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 양자화 단계를 획득하고, 포함된 인트라 코딩 프레임의 양자화 단계를, 포함된 인터 예측 프레임의 평균 양자화 단계로 나누어, 제2 비율을 획득할 수 있다.
S406: 제1 비율과 제2 비율의 곱에 따라, 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 타깃 비트 레이트 대 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 타깃 비트 레이트의 비트 레이트 비율을 획득한다.
구체적으로, 컴퓨팅 디바이스는 제1 비율과 및 제2 비율의 곱을, 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 타깃 비트 레이트 대 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 타깃 비트 레이트의 비트 레이트 비율로 직접 사용할 수 있다. 컴퓨팅 디바이스는 또한, 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 타깃 비트 레이트 대 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 타깃 비트 레이트의 비트 레이트 비율을 획득하기 위해, 제1 비율 및 제2 비율의 곱에 대응하는 비트 레이트 비율 조정 계수를 곱할 수 있다.
S408: 현재 비디오 프레임 시퀀스 그룹의 총 타깃 비트 레이트를 획득한다.
코딩 파라미터는 컴퓨팅 디바이스에서 사전 설정되며, 코딩 파라미터는 비디오 프레임 시퀀스 그룹의 총 비트 레이트를 포함하는 것으로 이해될 수 있다. 컴퓨팅 디바이스는 현재 비디오 프레임 시퀀스 그룹의 총 타깃 비트 레이트로서 사전 설정 총 비트 레이트를 획득할 수 있다.
S410: 총 타깃 비트 레이트 및 비트 레이트 비율에 따라 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트를 획득한다.
비트 레이트 비율은 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코드 프레임의 타깃 비트 레이트 대 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 타깃 비트 레이트의 비율인 것으로 이해될 수 있다.
구체적으로, 컴퓨팅 디바이스는 현재 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임의 수량을 획득할 수 있고, 수량, 총 타깃 비트 레이트 및 비트 레이트 비율에 따라 현재 비디오 프레임 시퀀스 그룹에서의 인트라 코딩 프레임의 타깃 비트 레이트를 획득할 수 있다.
총 타깃 비트 레이트는, 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 타깃 비트 레이트와, 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 타깃 비트 레이트의 합인 것으로 이해될 수 있다.
일 실시 예에서, 컴퓨팅 디바이스는 다음 식에 따라 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트를 획득할 수 있다:
C T 는 현재 비디오 프레임 시퀀스 그룹의 총 타깃 비트 레이트이고, C I 는 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트이고, CJ i 는 현재 비디오 프레임 시퀀스 그룹의 인터 예측 프레임의 타깃 비트 레이트이고, n은 현재 비디오 프레임 시퀀스 그룹의 인터 예측 프레임의 수량이고, R은 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 타깃 비트 레이트 대 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 타깃 비트 레이트의 비트 레이트 비율이다.
컴퓨팅 디바이스는, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임에 대해 획득한 타깃 비트 레이트에 따라, 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임을 코딩할 수 있음을 이해할 수 있다.
전술한 실시 예에서, 현재 비디오 장면이 변하지 않는 경우, 이전 비디오 프레임 시퀀스 그룹의 각 프레임의 비트 레이트 및 양자화 단계는 비교적 정확한 기준 중요성을 갖는다. 따라서, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트로서 이전 비디오 프레임 시퀀스 그룹의 각 프레임의 비트 레이트 및 양자화 단계에 기초하여 획득한 타깃 비트 레이트는 비교적 정확하여, 비디오 코딩 품질을 보장할 수 있다.
일 실시 예에서, 현재 비디오 프레임 시퀀스 그룹은 비디오 통화 어플리케이션을 사용하여 획득한 비디오 프레임 시퀀스이다. 본 방법은: 비디오 통화 어플리케이션을 사용하여, 코딩 후에 획득한 코딩 비디오 스트림을, 디코딩 및 재생을 위해 비디오 통화 피어 엔드로 송신하는 단계를 더 포함한다.
비디오 실시간 통화를 구현하기 위해, 비디오 통화 어플리케이션이 컴퓨팅 디바이스에 설치되는 것으로 이해될 수 있다. 비디오 실시간 통화 프로세스에서, 비디오 스트림 송신단으로서, 컴퓨팅 디바이스는 비디오 통화 어플리케이션을 사용하여 비디오 프레임 시퀀스를 실시간으로 수집하고, 수집된 비디오 프레임 시퀀스를 코딩할 수 있다. 결정된 타깃 비트 레이트에 따라 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임을 코딩한 후, 컴퓨팅 디바이스는 비디오 통화 어플리케이션을 사용하여, 코딩 후 코딩 비디오 스트림을 비디오 통화 피어 엔드로 전송할 수 있다. 비디오 통화 피어 엔드는 하나 이상 존재한다. 코딩 비디오 스트림을 수신하는 비디오 통화 피어 엔드는 코딩 비디오 스트림을 디코딩하고, 디코딩된 비디오 스트림을 재생할 수 있다.
전술한 실시 예에서, 컴퓨팅 디바이스는 비디오 통화 어플리케이션을 사용하여 현재 비디오 프레임 시퀀스 그룹을 획득하고, 이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임의 인트라 예측 블록의 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 타깃 비트 레이트를 결정하고, 이에 기초하여 코딩을 수행한다. 컴퓨팅 디바이스는, 비디오 통화 어플리케이션을 사용하여, 전술한 방법에 따라 코딩된 코딩 비디오 스트림을 디코딩 및 재생을 위해 비디오 통화 피어 엔드로 송신하여, 비디오 실시간 통화의 적응적 코딩 기능이 강해지고, 이에 따라 비디오 실시간 통화의 품질을 향상시킬 수 있다.
도 5에 도시된 바와 같이, 일 실시 예에서, 다른 비디오 코딩 프로세싱 방법이 제공된다. 상기 방법은 구체적으로 다음 단계를 포함한다:
S502: 이전 비디오 프레임 시퀀스 그룹의 인터 예측 프레임의 총 수량을 결정하고; 사전 설정 선택 수량을 획득한다.
S504: 사전 설정 선택 수량 및 결정된 총 수량 중 작은 것을 타깃 선택 수량으로 결정한다.
S506: 현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로 이전의 비디오 프레임 시퀀스 그룹으로부터의 타깃 선택 수량을 만족하는 연속적인 인터 예측 프레임을 선택한다.
현재 비디오 프레임 시퀀스 그룹은 비디오 통화 어플리케이션을 사용하여 획득한 비디오 프레임 시퀀스이다.
S508: 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하고, 백분율의 최대값과 최소값을 결정한다.
S510: 복수의 사전 설정 인트라 예측 블록 백분율 임계값을 획득한다.
S512: 인트라 예측 블록 백분율 임계값 중 적어도 하나가 최대값과 최소값 사이에 존재하는 경우 현재 비디오 장면이 변하는 것으로 결정하고, 단계 S516으로 진행한다.
S514: 최대값과 최소값이, 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는 경우, 현재 비디오 장면이 변하지 않는 것으로 결정하고, 단계 S526으로 진행한다.
S516: 인터 예측 프레임 중 인트라 예측 블록의 백분율의 평균값을 결정하고, 복수의 사전 설정 비트 레이트 할당 백분율 임계값을 획득한다.
S518: 백분율의 평균값을, 복수의 사전 설정 비트 레이트 할당 백분율 임계값과 별도로 비교하고, 백분율의 평균값의 비트 레이트 할당 백분율 임계 간격을 결정한다.
S520: 복수의 비트 레이트 할당 백분율 임계값을 함수 점프 포인트로서 사용하는, 감소하는 사전 설정 위상 함수에서, 비트 레이트 할당 백분율 임계 간격에 대응하는 위상을 결정한다.
S522: 결정된 위상에 대응하는 사전 설정 비율을 획득하고, 획득한 사전 설정 비율을, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로서 결정한다.
비율은 백분율의 평균값과 음의 상관 관계에 있다.
S524: 단일 프레임 평균 비트 레이트를 획득하고; 단일 프레임 평균 비트 레이트 및 비율에 따라 인트라 코딩 프레임의 타깃 비트 레이트를 획득한다.
단일 프레임 평균 비트 레이트를 획득하는 단계는: 초당 사전 설정 타깃 비트 레이트를 획득하는 단계; 사전 설정 프레임 레이트를 획득하는 단계; 및 단일 프레임 평균 비트 레이트를 획득하기 위해, 초당 타깃 비트 레이트를 프레임 레이트로 나누는 단계를 포함한다.
S526: 이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임 대 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 비트 레이트의 제1 비율을 결정한다.
S528: 이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 양자화 단계를, 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 양자화 단계로 나누어 제2 비율을 획득한다.
S530: 제1 비율과 제2 비율의 곱에 따라, 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 타깃 비트 레이트 대 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 타깃 비트 레이트의 비트 레이트 비율을 획득한다.
S532: 현재 비디오 프레임 시퀀스 그룹의 총 타깃 비트 레이트를 획득하고; 총 타깃 비트 레이트 및 비트 레이트 비율에 따라 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트를 획득한다.
S534: 타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩하고, 비디오 통화 어플리케이션을 사용하여, 코딩된 후 획득한 코딩 비디오 스트림을, 디코딩 및 재생을 위해 비디오 통화 피어 엔드로 전송한다.
전술한 비디오 코딩 프로세싱 방법에 따르면, 현재 비디오 프레임 시퀀스 그룹 내의 인트라 코딩 프레임이 코딩될 때, 현재 비디오 장면이 변하는지 여부는 이전 비디오 프레임 시퀀스 그룹에서 선택된 인터 예측 프레임에서의 인트라 예측 블록의 백분율에 따라 결정된다. 현재 비디오 장면이 변하는 것으로 결정되면, 현재 비디오 프레임 시퀀스 그룹에서의 인트라 코딩 프레임의 타깃 비트 레이트는 인트라 예측 블록의 백분율에 따라 결정된다. 인트라 예측 블록의 백분율은 이미지 사이의 상관 관계의 강도를 반영할 수 있고, 현재 비디오 프레임 시퀀스 그룹에서의 인트라 코딩 프레임의 타깃 비트 레이트 할당은, 이미지 사이의 상관 관계의 강도를 반영할 수 있는 인트라 예측 블록의 백분율에 따라 결정되어, 현재 비디오 장면이 변할 때, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임에 대한 타깃 비트 레이트 할당이 보다 정확해지고, 이에 따라 적응 코딩 기능을 향상시킬 수 있다.
둘째로, 인터 예측 프레임 중 인트라 예측 블록의 백분율의 평균값은, 백분율에 따라 현재 비디오 장면이 변하는 것으로 결정될 때 결정된다. 백분율의 평균값은 이미지 사이의 상관 관계의 강도를 반영할 수 있다. 백분율의 평균값이 비교적 작으면 장면은 일반적으로 정적 장면이고 이미지 사이의 상관 관계는 비교적 강하며, 백분율의 평균값이 비교적 큰 경우 장면은 일반적으로 이동 장면이고 이미지 사이의 상관 관계는 비교적 약하다. 현재 비디오 프레임 시퀀스 그룹에서 인트라 코딩 프레임의 타깃 비트 레이트는 백분율의 평균값에 따라 결정되며, 타깃 비트 레이트는 백분율의 평균값과 음의 상관 관계에 있다. 백분율의 평균값이 비교적 작고 이미지 사이의 상관 관계가 비교적 강한 경우, 인터 예측 프레임에 의해 필요한 비트 레이트는 비교적 낮다는 것을 이해할 수 있다. 이 경우, 비디오의 전체 압축 효율의 향상을 용이하게 하기 위해 인트라 코딩 프레임의 비트 레이트가 향상될 수 있다. 백분율의 평균값이 비교적 크고 이미지 사이의 상관 관계가 비교적 약한 경우, 인터 예측 프레임에 의해 필요한 비트 레이트는 비교적 높다. 이 경우, 인트라 코딩 프레임의 비트 레이트는 감소될 수 있다.
그리고, 복잡한 계산을 수행하지 않고, 감소하는 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정하고, 결정된 위상에 대응하는 사전 설정 비율을 획득하고, 획득한 사전 설정 비율을, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로 결정함으로써, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율은 신속하고 정확하게 결정되어, 타깃 비트 레이트를 신속하게 결정함으로써, 비디오 코딩 효율을 향상시킬 수 있다.
마지막으로, 현재 비디오 프레임 시퀀스 그룹은 비디오 통화 어플리케이션을 사용하여 획득되고, 현재 비디오 프레임 시퀀스 그룹의 타깃 비트 레이트는 이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임의 인트라 예측 블록의 백분율에 따라 결정되고, 이에 기초하여 코딩이 수행된다. 컴퓨팅 디바이스는, 비디오 통화 어플리케이션을 사용하여, 전술한 방법에 따라 코딩된 코딩 비디오 스트림을 디코딩 및 재생을 위해 비디오 통화 피어 엔드로 송신하여, 비디오 실시간 통화의 적응적 코딩 기능이 강해지고, 이에 따라 비디오 실시간 통화의 품질을 향상시킬 수 있다.
도 6은 일 실시 예에서 비디오 코딩 프로세싱 방법의 원리를 설명하기 위한 개략도이다. 도 6을 참조하면, 현재 GOP(즉, 현재 비디오 프레임 시퀀스 그룹) 및 이전 GOP(즉, 이전 비디오 프레임 시퀀스 그룹)는 I 프레임(즉, 인트라 코딩 프레임) 및 P/B 프레임(P/B 프레임은 P 프레임 및/또는 B 프레임을 나타내고, P 프레임 및 B 프레임은 모두 인터 예측 프레임인 것으로 이해될 수 있음)에 의해 형성된 모든 비디오 프레임 시퀀스이다.
컴퓨팅 디바이스는 현재 GOP로부터의 거리에 대한 오름차순으로 이전 GOP로부터 인터 예측 프레임을 선택할 수 있다. 예를 들어, 도 6에서, 근접 원리(principle of proximity)에 기초하여 2 개의 P 프레임이 선택된다. 각각의 P 프레임은 인트라 블록(인트라 예측 블록) 및 인터 블록(인터 예측 블록)을 포함한다. 컴퓨팅 디바이스는, 인트라 블록 백분율 1 및 인트라 블록 백분율 2를 획득하기 위해, 선택된 P 프레임에서 인트라 블록의 백분율을 개별적으로 결정할 수 있다. 컴퓨팅 디바이스는 인트라 블록 백분율 1 및 인트라 블록 백분율 2를 복수로 사전 설정 Thres(즉, 인트라 블록 백분율 임계값)와 개별적으로 비교할 수 있다. 비교 결과가 도 6의 첫 번째 경우이면, 즉, 인트라 블록 백분율 1 및 인트라 블록 백분율 2 사이에 Thre 4가 존재하는 경우, 현재 비디오 장면은 변하는 것으로 결정된다. 비교 결과가 도 6의 두 번째 경우이면, 즉, 인트라 블록 백분율 1 및 인트라 블록 백분율 2가 인접한 Thre 4와 Thre 5 사이에 있는 경우, 현재 비디오 장면은 변하지 않는 것으로 결정된다.
현재 비디오 장면이 변하는 경우, 컴퓨팅 디바이스는 인트라 블록 백분율 1 및 인트라 블록 백분율 2의 평균값을 결정하고, 평균값을 복수의 사전 설정 TH들(즉, 비트 레이트 할당 백분율 임계값들)과 비교하여, 복수의 TH를 점프 포인트로서 사용하는 감소하는 사전 설정 위상 함수 Y에서 평균값에 대응하는 위상을 결정할 수 있다. 크기가 인접한 2개의 TH는 사전 설정 위상 함수의 위상에 대응하는 것으로 이해될 수 있다. 따라서, 사전 설정 위상 함수에서의 평균값에 대응하는 위상은, 평균값을 복수의 사전 설정 TH와 비교함으로써 결정될 수 있다. 프리셋 위상 함수의 각 위상에는 대응하는 프리셋 비율이 있다. 도 6에 도시된 바와 같이, 평균값은 TH 4 이상 TH 5 미만의 위상에 대응하고, 컴퓨팅 디바이스는 TH 4 이상 TH 5 미만의 위상에 대응하는 사전 설정 비율 2를 획득할 수 있다. 사전 설정 비율 2는 현재 GOP에서 I 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로서 사용된다. 컴퓨팅 디바이스는 단일 프레임 평균 비트 레이트를 획득하고, 비율을 참조하여 현재 GOP에서 I 프레임의 타깃 비트 레이트를 획득할 수 있다.
현재 비디오 장면이 변하지 않는 경우, 컴퓨팅 디바이스는 이전 GOP에서 I 프레임의 비트 레이트를 P/B 프레임의 평균 비트 레이트로 나누어 제1 비율을 획득하고, 이전 GOP에서의 I 프레임의 양자화 단계를 P/B 프레임의 평균 양자화 단계로 나누어 제2 비율을 획득하고, 제1 비율 및 제2 비율에 따라, 현재 GOP에서의 I 프레임의 타깃 비트 레이트 대 P/B 프레임의 타깃 비트 레이트의 비율을 획득한다. 컴퓨팅 디바이스는 현재 GOP의 총 타깃 비트 레이트를 획득하고, 현재 GOP에서의 I 프레임의 타깃 비트 레이트 대 P/B 프레임의 타깃 비트 레이트의 비율을 참조하여 현재 GOP에서의 I 프레임의 타깃 비트 레이트를 획득할 수 있다.
컴퓨팅 디바이스는, 현재 GOP에서, 획득한 타깃 비트 레이트에 따라, 현재 GOP에서의 I 프레임을 코딩할 수 있다.
일 실시 예에서, 컴퓨팅 디바이스가 제공된다. 컴퓨팅 디바이스의 내부 구조는 도 10에 도시될 수 있다. 컴퓨팅 디바이스는 비디오 코딩 프로세싱 장치를 포함한다. 비디오 코딩 프로세싱 장치는 다양한 모듈을 포함하고, 각각의 모듈은 소프트웨어, 하드웨어 또는 이들의 조합에 의해 전체적으로 또는 부분적으로 구현될 수 있다.
도 7에 도시된 바와 같이, 일 실시 예에서, 비디오 코딩 프로세싱 장치(700)가 제공된다. 장치(700)는 백분율 획득 모듈(702), 비디오 장면 검출 모듈(704), 타깃 비트 레이트 결정 모듈(706) 및 코딩 모듈(708)을 포함한다.
백분율 획득 모듈(702)은 이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하도록 구성된다.
비디오 장면 검출 모듈(704)은 백분율에 따라 현재 비디오 장면이 변하는지 여부를 결정하도록 구성된다.
타깃 비트 레이트 결정 모듈(706)은, 비디오 장면 검출 모듈(704)이 현재 비디오 장면이 변하는 것으로 결정하는 경우, 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하도록 구성된다.
코딩 모듈(708)은 타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩하도록 구성된다.
일 실시 예에서, 선택된 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이다. 타깃 비트 레이트 결정 모듈(706)은: 백분율에 따라 현재 비디오 장면이 변화하는 것으로 결정하는 경우, 인터 예측 프레임 중 인트라 예측 블록의 백분율의 평균값을 결정하고; 백분율의 평균값에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하도록 추가로 구성되고, 여기서 타깃 비트 레이트는, 백분율의 평균값과 음의 상관 관계에 있다.
도 8에 도시된 바와 같이, 일 실시 예에서, 백분율 획득 모듈(702)은:
타깃 선택 수량을 획득하고; 현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로 이전 비디오 프레임 시퀀스 그룹에서 타깃 선택 수량을 만족하는 연속적인 인터 예측 프레임을 선택하도록 구성된 인터 예측 프레임 선택 모듈(702a); 및
인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하도록 구성된 예측 블록 백분율 결정 모듈(702b)을 포함한다.
일 실시 예에서, 인터 예측 프레임 선택 모듈(702a)은: 이전 비디오 프레임 시퀀스 그룹에서의 인터 예측 프레임의 총 수량을 결정하고; 사전 설정 선택 수량을 획득하고; 사전 설정 선택 수량 및 결정된 총 수량 중 작은 것을 타깃 선택 수량으로서 결정하도록 추가로 구성된다.
일 실시 예에서, 선택된 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이다. 비디오 장면 검출 모듈(704)은: 인터 예측 프레임 중 인트라 예측 블록의 백분율의 최대값 및 최소값을 결정하고; 복수의 사전 설정 인트라 예측 블록 백분율 임계값을 획득하고; 인트라 예측 블록 백분율 임계값 중 적어도 하나가 최대값과 최소값 사이에 존재하는 경우, 현재 비디오 장면이 변하는 것으로 결정하도록 추가로 구성된다.
일 실시 예에서, 비디오 장면 검출 모듈(704)은: 최대값과 최소값이, 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는지 여부를 결정하고; 최대값과 최소값이, 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는 경우, 현재 비디오 장면이 변하지 않는 것으로 결정하도록 추가로 구성된다.
일 실시 예에서, 타깃 비트 레이트 결정 모듈(706)은: 백분율의 평균값에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율을 결정하되, 비율은 백분율의 평균값과 음의 상관 관계에 있고; 단일 프레임 평균 비트 레이트를 획득하고; 단일 프레임 평균 비트 레이트 및 비율에 따라 인트라 코딩 프레임의 타깃 비트 레이트를 획득하도록 추가로 구성된다.
일 실시 예에서, 타깃 비트 레이트 결정 모듈(706)은: 감소하는 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정하고; 결정된 위상에 대응하는 사전 설정 비율을 획득하고; 획득한 사전 설정 비율을, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로서 결정하도록 추가로 구성된다.
일 실시 예에서, 타깃 비트 레이트 결정 모듈(706)은: 복수의 사전 설정 비트 레이트 할당 백분율 임계값을 획득하고; 백분율의 평균값을, 복수의 사전 설정 비트 레이트 할당 백분율 임계값과 개별적으로 비교하고, 백분율의 평균값의 비트 레이트 할당 백분율 임계 간격을 결정하고; 복수의 비트 레이트 할당 백분율 임계값을 함수 점프 포인트로서 사용하는, 감소하는 사전 설정 위상 함수에서, 비트 레이트 할당 백분율 임계 간격에 대응하는 위상을 결정하도록 추가로 구성된다.
일 실시 예에서, 타깃 비트 레이트 결정 모듈(706)은: 초당 사전 설정 타깃 비트 레이트를 획득하고; 사전 설정 프레임 레이트를 획득하고; 초당 타깃 비트 레이트를 프레임 레이트로 나누어, 단일 프레임 평균 비트 레이트를 획득하도록 추가로 구성된다.
일 실시 예에서, 타깃 비트 레이트 결정 모듈(706)은: 백분율에 따라, 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우, 이전 비디오 프레임 시퀀스 그룹의 인터 예측 프레임의 평균 양자화 파라미터를 획득하고; 평균 양자화 파라미터 및 사전 설정 양자화 파라미터 오프셋에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 양자화 파라미터를 결정하고; 양자화 파라미터에 따라 인트라 코딩 프레임을 코딩하도록 추가로 구성된다.
실시 예에서, 타깃 비트 레이트 결정 모듈(706)은: 백분율에 따라, 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우, 이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 비트 레이트 대 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 비트 레이트의 제1 비율을 결정하고; 이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩된 프레임의 양자화 단계를, 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 양자화 단계로 나누어 제2 비율을 획득하고; 제1 비율 및 제2 비율의 곱에 따라, 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 타깃 비트 레이트 대 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 타깃 비트 레이트의 비트 레이트 비율을 획득하고; 현재 비디오 프레임 시퀀스 그룹의 총 타깃 비트 레이트를 획득하고; 총 타깃 비트 레이트 및 비트 레이트 비율에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 획득하도록 추가로 구성된다.
도 9에 도시된 바와 같이, 일 실시 예에서, 현재 비디오 프레임 시퀀스 그룹은 비디오 통화 어플리케이션을 사용하여 획득한 비디오 프레임 시퀀스이다. 상기 장치는 또한:
비디오 통화 어플리케이션을 사용하여, 코딩 후에 획득한 코딩 비디오 스트림을, 디코딩 및 재생을 위해 비디오 통화 피어 엔드로 송신하도록 구성된 비디오 스트림 송신 모듈(710)을 더 포함한다.
도 10은 일 실시 예에 따른 컴퓨팅 디바이스의 블록도이다. 도 10을 참조하면, 컴퓨팅 디바이스는 도 1에 도시된 제1 단말(110) 또는 제2 단말(120)일 수 있다. 컴퓨팅 디바이스는 시스템 버스를 사용하여 연결된 프로세서, 메모리, 네트워크 인터페이스, 디스플레이 화면 및 입력 장치를 포함한다. 메모리는 비 휘발성 저장 매체 및 내부 메모리를 포함한다. 비 휘발성 저장 매체는 비 휘발성 판독 가능 저장 매체일 수 있다. 컴퓨팅 디바이스의 비 휘발성 저장 매체는 운영 체제 및 컴퓨터로 판독 가능한 명령을 저장할 수 있다. 실행될 때, 컴퓨터로 판독 가능한 명령은 프로세서가 비디오 코딩 프로세싱 방법을 수행할 수 있도록 한다. 컴퓨팅 디바이스의 프로세서는 컴퓨팅 및 제어 기능을 제공하여 전체 컴퓨팅 디바이스의 실행을 지원하도록 구성된다. 내부 메모리는 또한 컴퓨터로 판독 가능한 명령을 저장할 수 있다. 프로세서에 의해 실행될 때, 컴퓨터로 판독 가능한 명령은 프로세서로 하여금 비디오 코딩 프로세싱 방법을 수행하도록 할 수 있다. 컴퓨팅 디바이스의 네트워크 인터페이스는 네트워크 통신을 수행하도록 구성된다. 컴퓨팅 디바이스의 디스플레이 화면은 액정 디스플레이 화면, e 잉크(e-ink) 디스플레이 화면 등일 수 있다. 컴퓨팅 디바이스의 입력 장치는 디스플레이 화면을 덮는 터치 층(touch layer)이거나, 단말의 하우징에 배치된 키, 트랙 볼 또는 터치 패드이거나, 외부 키보드, 터치 패드 또는 마우스일 수 있다. 컴퓨팅 디바이스는 개인용 컴퓨터, 이동 단말 또는 차량 내부 디바이스일 수 있다. 이동 단말은 휴대폰, 태블릿 컴퓨터, 개인 휴대 정보 단말, 웨어러블 기기 등 중 적어도 하나를 포함한다.
본 발명이 속하는 기술 분야의 통상의 지식을 가진 자는, 도 10에 도시된 구조에서, 본 출원의 해결 방안과 관련된 부분적인 구조의 블록도가 도시되어 있을 뿐이며, 본 출원에서의 해결 방안이 적용되는 컴퓨팅 디바이스에 대한 제한을 구성하지 않는다는 점을 이해할 수 있다. 구체적으로, 컴퓨팅 디바이스는 도면에 도시된 것보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있거나, 일부 구성 요소가 결합될 수 있거나, 다른 구성 요소 배치가 사용될 수 있다.
일 실시 예에서, 본 출원에서 제공되는 비디오 코딩 프로세싱 장치는 컴퓨터로 판독 가능한 명령의 형태로 구현될 수 있다. 컴퓨터로 판독 가능한 명령은, 도 10에 도시된 컴퓨팅 디바이스 상에서 실행될 수 있다. 컴퓨팅 디바이스의 비 휘발성 저장 매체는, 도 7에 도시된 백분율 획득 모듈(702), 비디오 장면 검출 모듈(704), 타깃 비트 레이트 결정 모듈(706) 및 코딩 모듈(708)과 같은 비디오 코딩 프로세싱 장치를 형성하는 프로그램 모듈을 저장할 수 있다. 프로그램 모듈에 의해 형성된 컴퓨터로 판독 가능한 명령은, 컴퓨팅 디바이스로 하여금 본 명세서에서 설명되는 본 출원의 실시 예에 따른 비디오 코딩 프로세싱 방법의 단계를 수행하도록 하기 위해 사용된다. 예를 들어, 컴퓨팅 디바이스는, 도 7에 도시된 비디오 코딩 프로세싱 장치(700)의 백분율 획득 모듈(702)을 사용함으로써 이전 비디오 프레임 시퀀스 그룹에서 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득할 수 있다. 컴퓨팅 디바이스는, 백분율에 따라 비디오 장면 검출 모듈(704)을 사용하여, 현재 비디오 장면이 변하는지 여부를 결정하고, 현재 비디오 장면이 변하는 것으로 결정될 때, 타깃 비트 레이트 결정 모듈(706)을 사용하여, 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정할 수 있다. 컴퓨팅 디바이스는 코딩 모듈(708)을 사용하여 타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩할 수 있다.
일 실시 예에서, 컴퓨터 디바이스가 제공되고, 상기 컴퓨터 디바이스는 메모리 및 프로세서를 포함하고, 메모리는 컴퓨터로 판독 가능한 명령을 저장하고, 컴퓨터로 판독 가능한 명령은, 프로세서에 의해 실행될 때, 프로세서로 하여금 다음 단계:
이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계;
백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계; 및
타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩하는 단계를 수행하도록 한다.
일 실시 예에서, 선택된 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이고; 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계는:
백분율에 따라, 현재 비디오 장면이 변하는 것으로 결정하는 경우,
인터 예측 프레임 중 인트라 예측 블록의 백분율의 평균값을 결정하는 단계; 및
백분율의 평균값에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계 - 여기서, 타깃 비트 레이트는, 백분율의 평균값과 음의 상관 관계에 있음 - 를 포함한다.
일 실시 예에서, 이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계는:
타깃 선택 수량을 획득하는 단계;
현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로 이전 비디오 프레임 시퀀스 그룹에서 타깃 선택 수량을 만족하는 연속적인 인터 예측 프레임을 선택하는 단계; 및
인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계를 포함한다.
일 실시 예에서, 타깃 선택 수량을 획득하는 단계는:
이전 비디오 프레임 시퀀스 그룹에서의 인터 예측 프레임의 총 수량을 결정하는 단계;
사전 설정 선택 수량을 획득하는 단계; 및
사전 설정 선택 수량 및 결정된 총 수량 중 작은 것을 타깃 선택 수량으로서 결정하는 단계를 포함한다.
일 실시 예에서, 선택된 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이고; 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는:
인터 예측 프레임 중 인트라 예측 블록의 백분율의 최대값 및 최소값을 결정하는 단계;
복수의 사전 설정 인트라 예측 블록 백분율 임계값을 획득하는 단계; 및
인트라 예측 블록 백분율 임계값 중 적어도 하나가 최대값과 최소값 사이에 존재하는 경우, 현재 비디오 장면이 변하는 것으로 결정하는 단계를 포함한다.
일 실시 예에서, 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는:
최대값과 최소값이, 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는지 여부를 결정하는 단계; 및
최대값과 최소값이, 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는 경우, 현재 비디오 장면이 변하지 않는 것으로 결정하는 단계를 포함한다.
일 실시 예에서, 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계는:
백분율의 평균값에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율을 결정하는 단계 - 여기서, 비율은 백분율의 평균값과 음의 상관 관계에 있음 -;
단일 프레임 평균 비트 레이트를 획득하는 단계; 및
단일 프레임 평균 비트 레이트 및 비율에 따라 인트라 코딩 프레임의 타깃 비트 레이트를 획득하는 단계를 포함한다.
일 실시 예에서, 백분율의 평균값에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율을 결정하는 단계는:
감소하는 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정하는 단계;
결정된 위상에 대응하는 사전 설정 비율을 획득하는 단계; 및
획득한 사전 설정 비율을, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로서 결정하는 단계를 포함한다.
일 실시 예에서, 감소하는 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정하는 단계는:
복수의 사전 설정 비트 레이트 할당 백분율 임계값을 획득하는 단계;
백분율의 평균값을, 복수의 사전 설정 비트 레이트 할당 백분율 임계값과 개별적으로 비교하고, 백분율의 평균값의 비트 레이트 할당 백분율 임계 간격을 결정하는 단계; 및
복수의 비트 레이트 할당 백분율 임계값을 함수 점프 포인트로서 사용하는, 감소하는 사전 설정 위상 함수에서, 비트 레이트 할당 백분율 임계 간격에 대응하는 위상을 결정하는 단계를 포함한다.
일 실시 예에서, 단일 프레임 평균 비트 레이트를 획득하는 단계는:
초당 사전 설정 타깃 비트 레이트를 획득하는 단계;
사전 설정 프레임 레이트를 획득하는 단계; 및
초당 타깃 비트 레이트를 프레임 레이트로 나누어, 단일 프레임 평균 비트 레이트를 획득하는 단계를 포함한다.
일 실시 예에서, 컴퓨터로 판독 가능한 명령은 프로세서로 하여금 다음 단계:
백분율에 따라, 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우,
이전 비디오 프레임 시퀀스 그룹의 인터 예측 프레임의 평균 양자화 파라미터를 획득하는 단계;
평균 양자화 파라미터 및 사전 설정 양자화 파라미터 오프셋에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 양자화 파라미터를 결정하는 단계; 및
양자화 파라미터에 따라 인트라 코딩 프레임을 코딩하는 단계를 추가로 수행하도록 한다.
일 실시 예에서, 컴퓨터로 판독 가능한 명령은 프로세서로 하여금 다음 단계:
백분율에 따라 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우,
이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 비트 레이트 대 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 비트 레이트의 제1 비율을 결정하는 단계;
이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 양자화 단계를, 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 양자화 단계로 나누어 제2 비율을 획득하는 단계;
제1 비율과 제2 비율의 곱에 따라, 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 타깃 비트 레이트 대 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 타깃 비트 레이트의 비트 레이트 비율을 획득하는 단계;
현재 비디오 프레임 시퀀스 그룹의 총 타깃 비트 레이트를 획득하는 단계; 및
총 타깃 비트 레이트 및 비트 레이트 비율에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 획득하는 추가로 수행하도록 한다.
일 실시 예에서, 현재 비디오 프레임 시퀀스 그룹은, 비디오 통화 어플리케이션을 사용하여 획득한 비디오 프레임 시퀀스이고;
컴퓨터로 판독 가능한 명령은 프로세서로 하여금, 비디오 통화 어플리케이션을 사용하여, 코딩 후에 획득한 코딩 비디오 스트림을, 디코딩 및 재생을 위해 비디오 통화 피어 엔드로 송신하는 단계를 추가로 수행하도록 한다.
일 실시 예에서, 컴퓨터로 실행 가능한 명령을 저장하는 저장 매체가 제공되고, 상기 컴퓨터로 실행 가능한 명령은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 다음 단계:
이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계;
백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계; 및
타깃 비트 레이트에 따라 인트라 코딩 프레임을 코딩하는 단계를 수행하도록 한다.
일 실시 예에서, 선택된 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이고; 현재 비디오 장면이 변하는 것으로 결정하는 경우 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계는:
백분율에 따라, 현재 비디오 장면이 변하는 것으로 결정하는 경우,
인터 예측 프레임 중 인트라 예측 블록의 백분율의 평균값을 결정하는 단계; 및
백분율의 평균값에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계 - 여기서, 타깃 비트 레이트는, 백분율의 평균값과 음의 상관 관계에 있음 - 를 포함한다.
일 실시 예에서, 이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계는:
타깃 선택 수량을 획득하는 단계;
현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로 이전 비디오 프레임 시퀀스 그룹에서 타깃 선택 수량을 만족하는 연속적인 인터 예측 프레임을 선택하는 단계; 및
인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계를 포함한다.
일 실시 예에서, 타깃 선택 수량을 획득하는 단계는:
이전 비디오 프레임 시퀀스 그룹에서의 인터 예측 프레임의 총 수량을 결정하는 단계;
사전 설정 선택 수량을 획득하는 단계; 및
사전 설정 선택 수량 및 결정된 총 수량 중 작은 것을 타깃 선택 수량으로서 결정하는 단계를 포함한다.
일 실시 예에서, 선택된 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이고; 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는:
인터 예측 프레임 중 인트라 예측 블록의 백분율의 최대값 및 최소값을 결정하는 단계;
복수의 사전 설정 인트라 예측 블록 백분율 임계값을 획득하는 단계; 및
인트라 예측 블록 백분율 임계값 중 적어도 하나가 최대값과 최소값 사이에 존재하는 경우, 현재 비디오 장면이 변하는 것으로 결정하는 단계를 포함한다.
일 실시 예에서, 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는:
최대값과 최소값이, 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는지 여부를 결정하는 단계; 및
최대값과 최소값이, 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는 경우, 현재 비디오 장면이 변하지 않는 것으로 결정하는 단계를 포함한다.
일 실시 예에서, 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계는:
백분율의 평균값에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율을 결정하는 단계 - 여기서, 비율은 백분율의 평균값과 음의 상관 관계에 있음 -;
단일 프레임 평균 비트 레이트를 획득하는 단계; 및
단일 프레임 평균 비트 레이트 및 비율에 따라 인트라 코딩 프레임의 타깃 비트 레이트를 획득하는 단계를 포함한다.
일 실시 예에서, 백분율의 평균값에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율을 결정하는 단계는:
감소하는 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정하는 단계;
결정된 위상에 대응하는 사전 설정 비율을 획득하는 단계; 및
획득한 사전 설정 비율을, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율로서 결정하는 단계를 포함한다.
일 실시 예에서, 감소하는 사전 설정 위상 함수에서 백분율의 평균값에 대응하는 위상을 결정하는 단계는:
복수의 사전 설정 비트 레이트 할당 백분율 임계값을 획득하는 단계;
백분율의 평균값을, 복수의 사전 설정 비트 레이트 할당 백분율 임계값과 개별적으로 비교하고, 백분율의 평균값의 비트 레이트 할당 백분율 임계 간격을 결정하는 단계; 및
복수의 비트 레이트 할당 백분율 임계값을 함수 점프 포인트로서 사용하는, 감소하는 사전 설정 위상 함수에서, 비트 레이트 할당 백분율 임계 간격에 대응하는 위상을 결정하는 단계를 포함한다.
일 실시 예에서, 단일 프레임 평균 비트 레이트를 획득하는 단계는:
초당 사전 설정 타깃 비트 레이트를 획득하는 단계;
사전 설정 프레임 레이트를 획득하는 단계; 및
초당 타깃 비트 레이트를 프레임 레이트로 나누어, 단일 프레임 평균 비트 레이트를 획득하는 단계를 포함한다.
일 실시 예에서, 컴퓨터로 판독 가능한 명령은 프로세서로 하여금 다음 단계:
백분율에 따라, 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우,
이전 비디오 프레임 시퀀스 그룹의 인터 예측 프레임의 평균 양자화 파라미터를 획득하는 단계;
평균 양자화 파라미터 및 사전 설정 양자화 파라미터 오프셋에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 양자화 파라미터를 결정하는 단계; 및
양자화 파라미터에 따라 인트라 코딩 프레임을 코딩하는 단계를 추가로 수행하도록 한다.
일 실시 예에서, 컴퓨터로 판독 가능한 명령은 프로세서로 하여금 다음 단계:
백분율에 따라 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우,
이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 비트 레이트 대 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 비트 레이트의 제1 비율을 결정하는 단계;
이전 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 양자화 단계를, 이전 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 양자화 단계로 나누어 제2 비율을 획득하는 단계;
제1 비율과 제2 비율의 곱에 따라, 현재 비디오 프레임 시퀀스 그룹에 포함된 인트라 코딩 프레임의 타깃 비트 레이트 대 현재 비디오 프레임 시퀀스 그룹에 포함된 인터 예측 프레임의 평균 타깃 비트 레이트의 비트 레이트 비율을 획득하는 단계;
현재 비디오 프레임 시퀀스 그룹의 총 타깃 비트 레이트를 획득하는 단계; 및
총 타깃 비트 레이트 및 비트 레이트 비율에 따라, 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 획득하는 추가로 수행하도록 한다.
일 실시 예에서, 현재 비디오 프레임 시퀀스 그룹은, 비디오 통화 어플리케이션을 사용하여 획득한 비디오 프레임 시퀀스이고;
컴퓨터로 판독 가능한 명령은 프로세서로 하여금, 비디오 통화 어플리케이션을 사용하여, 코딩 후에 획득한 코딩 비디오 스트림을, 디코딩 및 재생을 위해 비디오 통화 피어 엔드로 송신하는 단계를 추가로 수행하도록 한다.
본 출원의 실시 예들에 대한 단계들은 반드시 단계 레이블에 의해 지시된 순서대로 순차적으로 수행되는 것은 아니라는 것을 이해하여야 한다. 본 명세서에서 명시적으로 언급되지 않는 한, 이들 단계의 실행은 엄격하게 순차적이지 않으며, 이들 단계는 다른 순서로 실행될 수 있다. 더욱이, 각각의 실시 예에서의 단계들 중 적어도 일부는 복수의 하위 단계들 또는 스테이지들을 포함할 수 있으며, 이는 반드시 동시에 완료될 필요는 없지만 상이한 시점에 수행될 수 있다. 이들 하위 단계들 또는 스테이지들은 반드시 순차적으로 수행될 필요는 없지만, 다른 단계들의 적어도 일부 또는 다른 단계의 하위 단계들 또는 스테이지들과 함께 순차적으로 또는 교대로 수행될 수 있다.
본 발명이 속하는 기술 분야의 통상의 지식을 가진 자는, 전술한 실시 예에서의 방법의 전부 또는 일부 프로세스가 관련 하드웨어를 지시하는 컴퓨터로 판독 가능한 명령에 의해 구현될 수 있음을 이해할 수 있다. 프로그램은 비 휘발성 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 프로그램이 실행될 때, 실시 예에서의 전술한 방법의 프로세스가 수행된다. 본 명세서에 제공된 다양한 실시 예에서 사용되는 메모리, 스토리지, 데이터베이스 또는 다른 매체에 대한 임의의 언급은 비 휘발성 및/또는 휘발성 메모리를 포함할 수 있다. 비 휘발성 메모리는 ROM(read only memory), PROM(programmable ROM), EPROM(electrically programmable ROM), EEPROM(electrically erasable programmable ROM) 또는 플래시 메모리를 포함할 수 있다. 휘발성 메모리는 RAM(random access memory) 또는 외부 캐시를 포함할 수 있다. 제한이 아닌 예시로서, RAM은 SRAM(static RAM), DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDRSDRAM(dual data rate SDRAM), ESDRAM(enhanced SDRAM), 동기화 체인. SLDRAM(Synchlink DRAM), RDRAM(Memory Bus(Rambus) Direct RAM), DRDRAM(Direct Memory Bus Dynamic RAM) 및 RDRAM(Memory Bus Dynamic RAM)과 같은 다양한 형식으로 이용 가능하다.
전술한 실시 예들의 기술적 특징들은 무작위로 조합될 수 있다. 간결한 설명을 위해, 전술한 실시 예에서의 기술적 특징들에 대한 모든 가능한 조합이 설명되는 것은 아니다. 그러나, 이들 기술적 특징들의 조합이 서로 상충되지 않는 한, 조합은 모두 본 명세서에 의해 기록된 범위 내에 속하는 것으로 고려되어야 한다.
전술한 실시 예는 본 출원의 몇몇 구현 예를 설명할 뿐이며, 구체적으로 상세하게 설명되므로, 본 발명의 특허 범위를 제한하는 것으로 해석될 수 없다. 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자는 본 출원의 사상을 벗어나지 않고 다양한 변경 및 개선을 수행할 수 있으며, 이는 모두 본 출원의 보호 범위 내에 속한다는 것을 주목하여야 한다. 따라서, 본 출원의 특허의 보호 범위는 첨부된 청구 범위에 따른다.
Claims (20)
- 컴퓨팅 디바이스에 의해, 이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임(inter-predicted frame) 중 인트라 예측 블록(intra-prediction block)의 백분율을 획득하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 상기 현재 비디오 장면이 변하는 것으로 결정하는 경우 상기 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임(intra-coded frame)의 타깃 비트 레이트를 결정하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 타깃 비트 레이트에 따라 상기 인트라 코딩 프레임을 코딩하는 단계를 포함하는
비디오 코딩 프로세싱 방법. - 제1항에 있어서,
선택된 상기 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이고;
상기 현재 비디오 장면이 변하는 것으로 결정하는 경우 상기 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계는:
상기 컴퓨팅 디바이스에 의해, 상기 백분율에 따라, 상기 현재 비디오 장면이 변하는 것으로 결정하는 경우 상기 인터 예측 프레임 중 인트라 예측 블록의 백분율의 평균값을 결정하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 백분율의 상기 평균값에 따라 상기 현재 비디오 프레임 시퀀스 그룹의 상기 인트라 코딩 프레임의 상기 타깃 비트 레이트를 결정하는 단계 - 여기서, 상기 타깃 비트 레이트는, 상기 백분율의 상기 평균값과 음의 상관 관계(negative correlation)에 있음 - 를 포함하는, 비디오 코딩 프로세싱 방법. - 제1항에 있어서,
상기 컴퓨팅 디바이스에 의해, 이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계는:
컴퓨팅 디바이스에 의해, 타깃 선택 수량을 획득하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로 상기 이전 비디오 프레임 시퀀스 그룹에서 상기 타깃 선택 수량을 만족하는 연속적인 인터 예측 프레임을 선택하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계를 포함하는, 비디오 코딩 프로세싱 방법. - 제3항에 있어서,
상기 컴퓨팅 디바이스에 의해, 타깃 선택 수량을 획득하는 단계는:
상기 컴퓨팅 디바이스에 의해, 상기 이전 비디오 프레임 시퀀스 그룹에서의 인터 예측 프레임의 총 수량을 결정하는 단계;
컴퓨팅 디바이스에 의해, 사전 설정 선택 수량을 획득하는 단계; 및
상기 컴퓨터에 의해, 상기 사전 설정 선택 수량 및 상기 결정된 총 수량 중 작은 것을 상기 타깃 선택 수량으로서 결정하는 단계를 포함하는, 비디오 코딩 프로세싱 방법. - 제1항에 있어서,
선택된 상기 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이고;
상기 컴퓨팅 디바이스에 의해, 상기 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는:
상기 컴퓨팅 디바이스에 의해, 상기 인터 예측 프레임 중 인트라 예측 블록의 백분율의 최대값 및 최소값을 결정하는 단계;
상기 컴퓨팅 디바이스에 의해, 복수의 사전 설정 인트라 예측 블록 백분율 임계값을 획득하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 인트라 예측 블록 백분율 임계값 중 적어도 하나가 상기 최대값과 상기 최소값 사이에 존재하는 경우, 상기 현재 비디오 장면이 변하는 것으로 결정하는 단계를 포함하는, 비디오 코딩 프로세싱 방법. - 제5항에 있어서,
상기 컴퓨팅 디바이스에 의해, 상기 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는:
상기 컴퓨팅 디바이스에 의해, 상기 최대값 및 상기 최소값이, 상기 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는지 여부를 결정하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 최대값 및 상기 최소값이, 상기 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는 경우, 상기 현재 비디오 장면이 변하지 않는 것으로 결정하는 단계를 더 포함하는, 비디오 코딩 프로세싱 방법. - 제1항에 있어서,
상기 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계는:
상기 컴퓨팅 디바이스에 의해, 상기 백분율의 상기 평균값에 따라, 상기 현재 비디오 프레임 시퀀스 그룹의 상기 인트라 코딩 프레임의 상기 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율(ratio)을 결정하는 단계 - 여기서, 상기 비율은 상기 백분율의 상기 평균값과 음의 상관 관계에 있음 -;
상기 컴퓨팅 디바이스에 의해, 상기 단일 프레임 평균 비트 레이트를 획득하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 단일 프레임 평균 비트 레이트 및 상기 비율에 따라 상기 인트라 코딩 프레임의 상기 타깃 비트 레이트를 획득하는 단계를 포함하는, 비디오 코딩 프로세싱 방법. - 제7항에 있어서,
상기 컴퓨팅 디바이스에 의해, 상기 백분율의 상기 평균값에 따라, 상기 현재 비디오 프레임 시퀀스 그룹의 상기 인트라 코딩 프레임의 상기 타깃 비트 레이트 대 단일 프레임 평균 비트 레이트의 비율을 결정하는 단계는:
상기 컴퓨팅 디바이스에 의해, 감소하는 사전 설정 위상 함수에서 상기 백분율의 상기 평균값에 대응하는 위상을 결정하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 결정된 위상에 대응하는 사전 설정 비율을 획득하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 획득한 사전 설정 비율을, 상기 현재 비디오 프레임 시퀀스 그룹의 상기 인트라 코딩 프레임의 상기 타깃 비트 레이트 대 상기 단일 프레임 평균 비트 레이트의 상기 비율로서 결정하는 단계를 포함하는, 비디오 코딩 프로세싱 방법. - 제8항에 있어서,
상기 컴퓨팅 디바이스에 의해, 감소하는 사전 설정 위상 함수에서 상기 백분율의 상기 평균값에 대응하는 위상을 결정하는 단계는:
상기 컴퓨팅 디바이스에 의해, 복수의 사전 설정 비트 레이트 할당 백분율 임계값을 획득하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 백분율의 상기 평균값을, 상기 복수의 사전 설정 비트 레이트 할당 백분율 임계값과 개별적으로 비교하고, 상기 백분율의 상기 평균값의 비트 레이트 할당 백분율 임계 간격을 결정하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 복수의 비트 레이트 할당 백분율 임계값을 함수 점프 포인트(function jump point)로서 사용하는, 감소하는 사전 설정 위상 함수에서, 상기 비트 레이트 할당 백분율 임계 간격에 대응하는 위상을 결정하는 단계를 포함하는, 비디오 코딩 프로세싱 방법. - 제7항에 있어서,
상기 컴퓨팅 디바이스에 의해, 상기 단일 프레임 평균 비트 레이트를 획득하는 단계는:
상기 컴퓨팅 디바이스에 의해, 초당 사전 설정 타깃 비트 레이트를 획득하는 단계;
상기 컴퓨팅 디바이스에 의해, 사전 설정 프레임 레이트를 획득하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 초당 상기 타깃 비트 레이트를 상기 프레임 레이트로 나누어, 상기 단일 프레임 평균 비트 레이트를 획득하는 단계를 포함하는, 비디오 코딩 프로세싱 방법. - 제1항에 있어서,
상기 컴퓨팅 디바이스에 의해, 상기 백분율에 따라, 상기 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우, 상기 이전 비디오 프레임 시퀀스 그룹의 상기 인터 예측 프레임의 평균 양자화 파라미터를 획득하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 평균 양자화 파라미터 및 사전 설정 양자화 파라미터 오프셋에 따라, 상기 현재 비디오 프레임 시퀀스 그룹의 상기 인트라 코딩 프레임의 양자화 파라미터를 결정하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 양자화 파라미터에 따라 상기 인트라 코딩 프레임을 코딩하는 단계를 더 포함하는 비디오 코딩 프로세싱 방법. - 제1항에 있어서,
상기 컴퓨팅 디바이스에 의해, 상기 백분율에 따라, 상기 현재 비디오 장면이 변하지 않는 것으로 결정하는 경우, 상기 이전 비디오 프레임 시퀀스 그룹에 포함된 상기 인트라 코딩 프레임의 비트 레이트 대 상기 이전 비디오 프레임 시퀀스 그룹에 포함된 상기 인터 예측 프레임의 평균 비트 레이트의 제1 비율을 결정하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 이전 비디오 프레임 시퀀스 그룹에 포함된 상기 인트라 코딩 프레임의 양자화 단계를, 상기 이전 비디오 프레임 시퀀스 그룹에 포함된 상기 인터 예측 프레임의 평균 양자화 단계로 나누어 제2 비율을 획득하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 제1 비율과 상기 제2 비율의 곱에 따라, 상기 현재 비디오 프레임 시퀀스 그룹에 포함된 상기 인트라 코딩 프레임의 상기 타깃 비트 레이트 대 상기 현재 비디오 프레임 시퀀스 그룹에 포함된 상기 인터 예측 프레임의 평균 타깃 비트 레이트의 비트 레이트 비율을 획득하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 현재 비디오 프레임 시퀀스 그룹의 총 타깃 비트 레이트를 획득하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 총 타깃 비트 레이트 및 상기 비트 레이트 비율에 따라, 상기 현재 비디오 프레임 시퀀스 그룹의 상기 인트라 코딩 프레임의 상기 타깃 비트 레이트를 획득하는 단계를 더 포함하는 비디오 코딩 프로세싱 방법. - 제1항에 있어서,
상기 현재 비디오 프레임 시퀀스 그룹은, 비디오 통화 어플리케이션을 사용하여 획득한 비디오 프레임 시퀀스이고;
상기 비디오 코딩 프로세싱 방법은:
상기 컴퓨팅 디바이스에 의해, 상기 비디오 통화 어플리케이션을 사용하여, 코딩 후에 획득한 코딩 비디오 스트림(coded video stream)을, 디코딩 및 재생을 위해 비디오 통화 피어 엔드(video call peer end)로 송신하는 단계를 더 포함하는, 비디오 코딩 프로세싱 방법. - 메모리 및 하나 이상의 프로세서를 포함하는 컴퓨팅 디바이스로서,
상기 메모리는 컴퓨터로 판독 가능한 명령을 저장하고, 상기 컴퓨터로 판독 가능한 명령은, 상기 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서가:
이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계;
상기 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 상기 현재 비디오 장면이 변하는 것으로 결정하는 경우 상기 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계; 및
상기 타깃 비트 레이트에 따라 상기 인트라 코딩 프레임을 코딩하는 단계를 수행하도록 하는,
컴퓨팅 디바이스. - 제14항에 있어서,
선택된 상기 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이고;
상기 현재 비디오 장면이 변하는 것으로 결정하는 경우 상기 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계는:
상기 백분율에 따라, 상기 현재 비디오 장면이 변하는 것으로 결정하는 경우,
상기 인터 예측 프레임 중 인트라 예측 블록의 백분율의 평균값을 결정하는 단계; 및
상기 백분율의 상기 평균값에 따라 상기 현재 비디오 프레임 시퀀스 그룹의 상기 인트라 코딩 프레임의 상기 타깃 비트 레이트를 결정하는 단계 - 여기서, 상기 타깃 비트 레이트는, 상기 백분율의 상기 평균값과 음의 상관 관계에 있음 - 를 포함하는, 컴퓨팅 디바이스. - 제14항에 있어서,
상기 컴퓨팅 디바이스에 의해, 이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계는:
타깃 선택 수량을 획득하는 단계;
상기 현재 비디오 프레임 시퀀스 그룹으로부터의 거리에 대한 오름차순으로 상기 이전 비디오 프레임 시퀀스 그룹에서 상기 타깃 선택 수량을 만족하는 연속적인 인터 예측 프레임을 선택하는 단계; 및
상기 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계를 포함하는, 컴퓨팅 디바이스. - 제16항에 있어서,
상기 타깃 선택 수량을 획득하는 단계는:
상기 이전 비디오 프레임 시퀀스 그룹에서의 인터 예측 프레임의 총 수량을 결정하는 단계;
사전 설정 선택 수량을 획득하는 단계; 및
상기 사전 설정 선택 수량 및 상기 결정된 총 수량 중 작은 것을 상기 타깃 선택 수량으로서 결정하는 단계를 포함하는, 컴퓨팅 디바이스. - 제14항에 있어서,
선택된 상기 인터 예측 프레임은 복수의 연속적인 인터 예측 프레임이고;
상기 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는:
상기 인터 예측 프레임 중 인트라 예측 블록의 백분율의 최대값 및 최소값을 결정하는 단계;
복수의 사전 설정 인트라 예측 블록 백분율 임계값을 획득하는 단계; 및
상기 인트라 예측 블록 백분율 임계값 중 적어도 하나가 상기 최대값과 상기 최소값 사이에 존재하는 경우, 상기 현재 비디오 장면이 변하는 것으로 결정하는 단계를 포함하는, 컴퓨팅 디바이스. - 제18항에 있어서,
상기 컴퓨팅 디바이스에 의해, 상기 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하는 단계는:
상기 최대값 및 상기 최소값이, 상기 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는지 여부를 결정하는 단계; 및
상기 최대값 및 상기 최소값이, 상기 인트라 예측 블록 백분율 임계값 중 인접한 2개 사이에 있는 경우, 상기 현재 비디오 장면이 변하지 않는 것으로 결정하는 단계를 더 포함하는, 컴퓨팅 디바이스. - 컴퓨터로 실행 가능한 명령을 저장하는 하나 이상의 비 휘발성 저장 매체로서,
상기 컴퓨터로 실행 가능한 명령은, 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서가:
이전 비디오 프레임 시퀀스 그룹에서, 인터 예측 프레임 중 인트라 예측 블록의 백분율을 획득하는 단계;
상기 백분율에 따라, 현재 비디오 장면이 변하는지 여부를 결정하고, 상기 현재 비디오 장면이 변하는 것으로 결정하는 경우 상기 백분율에 따라 현재 비디오 프레임 시퀀스 그룹의 인트라 코딩 프레임의 타깃 비트 레이트를 결정하는 단계; 및
상기 타깃 비트 레이트에 따라 상기 인트라 코딩 프레임을 코딩하는 단계를 수행하도록 하는,
비 휘발성 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710880645.2 | 2017-09-26 | ||
CN201710880645.2A CN109561310B (zh) | 2017-09-26 | 2017-09-26 | 视频编码处理方法、装置、设备和存储介质 |
PCT/CN2018/092573 WO2019062226A1 (zh) | 2017-09-26 | 2018-06-25 | 视频编码处理方法、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190132696A true KR20190132696A (ko) | 2019-11-28 |
KR102307771B1 KR102307771B1 (ko) | 2021-10-01 |
Family
ID=65862149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197033417A KR102307771B1 (ko) | 2017-09-26 | 2018-06-25 | 비디오 인코딩 방법, 컴퓨터 디바이스 및 저장 매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10827182B2 (ko) |
EP (1) | EP3606073B1 (ko) |
JP (1) | JP6899448B2 (ko) |
KR (1) | KR102307771B1 (ko) |
CN (1) | CN109561310B (ko) |
WO (1) | WO2019062226A1 (ko) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7015183B2 (ja) * | 2018-02-13 | 2022-02-02 | キヤノン株式会社 | 画像符号化装置及びその制御方法及びプログラム |
CN110139113B (zh) * | 2019-04-30 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 视频资源的传输参数分发方法及装置 |
CN112312231B (zh) * | 2019-07-31 | 2022-09-02 | 北京金山云网络技术有限公司 | 一种视频图像编码方法、装置、电子设备及介质 |
CN110740316A (zh) * | 2019-09-09 | 2020-01-31 | 西安万像电子科技有限公司 | 数据编码方法及装置 |
CN110809127B (zh) * | 2019-10-10 | 2021-03-19 | 北京邮电大学 | 一种基于深度模仿学习的视频通话方法及装置 |
CN110708570B (zh) * | 2019-10-21 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 视频的编码码率确定方法、装置、设备及存储介质 |
CN111193924B (zh) | 2019-12-26 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 视频码率的确定方法、装置、计算机设备及存储介质 |
CN113298843B (zh) * | 2020-02-24 | 2024-05-14 | 中科寒武纪科技股份有限公司 | 数据量化处理方法、装置、电子设备和存储介质 |
CN114071143A (zh) * | 2020-07-31 | 2022-02-18 | 中移(苏州)软件技术有限公司 | 视频处理方法、装置、设备和存储介质 |
US11355139B2 (en) * | 2020-09-22 | 2022-06-07 | International Business Machines Corporation | Real-time vs non-real time audio streaming |
CN112188310B (zh) * | 2020-09-28 | 2022-08-16 | 北京金山云网络技术有限公司 | 测试序列构建方法、装置、电子设备及存储介质 |
CN114615495A (zh) * | 2020-12-09 | 2022-06-10 | Oppo广东移动通信有限公司 | 模型量化方法、装置、终端及存储介质 |
CN114745590A (zh) * | 2021-01-07 | 2022-07-12 | 阿里巴巴集团控股有限公司 | 视频帧编码方法、装置、电子设备及介质 |
CN112969100B (zh) * | 2021-03-24 | 2023-06-30 | 西安闻泰信息技术有限公司 | 视频播放控制方法、装置、设备和介质 |
CN113573101B (zh) * | 2021-07-09 | 2023-11-28 | 百果园技术(新加坡)有限公司 | 视频编码方法、装置、设备及存储介质 |
CN113505439A (zh) * | 2021-07-27 | 2021-10-15 | 北京微纳星空科技有限公司 | 一种测试方法、装置、设备和存储介质 |
CN113660491B (zh) * | 2021-08-10 | 2024-05-07 | 杭州网易智企科技有限公司 | 编码方法、编码装置、存储介质及电子设备 |
CN114051139B (zh) * | 2021-11-09 | 2024-02-02 | 京东科技信息技术有限公司 | 视频编码方法和装置 |
CN114051140B (zh) * | 2022-01-07 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备及存储介质 |
CN116567242A (zh) * | 2022-01-27 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置及设备 |
CN116708934B (zh) * | 2023-05-16 | 2024-03-22 | 深圳东方凤鸣科技有限公司 | 一种视频编码处理方法及装置 |
CN117880507B (zh) * | 2024-03-12 | 2024-06-14 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、设备、存储介质和计算机程序产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110122942A1 (en) * | 2009-11-20 | 2011-05-26 | Texas Instruments Incorporated | Techniques for perceptual encoding of video frames |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101172430B1 (ko) * | 2007-08-17 | 2012-08-08 | 삼성전자주식회사 | 비트율 제어 방법 및 그 장치 |
US20090097546A1 (en) * | 2007-10-10 | 2009-04-16 | Chang-Hyun Lee | System and method for enhanced video communication using real-time scene-change detection for control of moving-picture encoding data rate |
JP5410720B2 (ja) * | 2008-09-25 | 2014-02-05 | 日立コンシューマエレクトロニクス株式会社 | ディジタル情報信号送受信装置、およびディジタル情報信号送受信方法 |
US8804820B2 (en) * | 2011-04-21 | 2014-08-12 | Dialogic Corporation | Rate control with look-ahead for video transcoding |
US20120281757A1 (en) * | 2011-05-04 | 2012-11-08 | Roncero Izquierdo Francisco J | Scene change detection for video transmission system |
JP2014090327A (ja) * | 2012-10-30 | 2014-05-15 | Mitsubishi Electric Corp | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
US9538190B2 (en) * | 2013-04-08 | 2017-01-03 | Qualcomm Incorporated | Intra rate control for video encoding based on sum of absolute transformed difference |
US9661329B2 (en) * | 2014-04-30 | 2017-05-23 | Intel Corporation | Constant quality video coding |
CN104869403B (zh) * | 2015-05-18 | 2018-06-12 | 中国传媒大学 | 一种基于x264压缩视频的镜头分割方法 |
CN106851272B (zh) * | 2017-01-20 | 2019-11-12 | 杭州当虹科技股份有限公司 | 一种hdr和sdr自适应码率控制的方法 |
CN107027030B (zh) * | 2017-03-07 | 2018-11-09 | 腾讯科技(深圳)有限公司 | 一种码率分配方法及其设备 |
-
2017
- 2017-09-26 CN CN201710880645.2A patent/CN109561310B/zh active Active
-
2018
- 2018-06-25 KR KR1020197033417A patent/KR102307771B1/ko active IP Right Grant
- 2018-06-25 EP EP18863575.9A patent/EP3606073B1/en active Active
- 2018-06-25 WO PCT/CN2018/092573 patent/WO2019062226A1/zh unknown
- 2018-06-25 JP JP2019555653A patent/JP6899448B2/ja active Active
-
2019
- 2019-06-07 US US16/435,020 patent/US10827182B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110122942A1 (en) * | 2009-11-20 | 2011-05-26 | Texas Instruments Incorporated | Techniques for perceptual encoding of video frames |
Non-Patent Citations (1)
Title |
---|
Xiao Chen, et al. Adaptive Rate Control Algorithm for H.264/AVC Considering Scene Chage, Hindawi, 2013-02-18, pp. 1-7* * |
Also Published As
Publication number | Publication date |
---|---|
WO2019062226A1 (zh) | 2019-04-04 |
EP3606073A4 (en) | 2020-04-22 |
KR102307771B1 (ko) | 2021-10-01 |
US20190297327A1 (en) | 2019-09-26 |
CN109561310B (zh) | 2022-09-16 |
US10827182B2 (en) | 2020-11-03 |
JP2020517172A (ja) | 2020-06-11 |
CN109561310A (zh) | 2019-04-02 |
JP6899448B2 (ja) | 2021-07-07 |
EP3606073A1 (en) | 2020-02-05 |
EP3606073B1 (en) | 2023-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102307771B1 (ko) | 비디오 인코딩 방법, 컴퓨터 디바이스 및 저장 매체 | |
US11206405B2 (en) | Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium | |
US12041264B2 (en) | Method and apparatus for video encoding and decoding | |
US11412229B2 (en) | Method and apparatus for video encoding and decoding | |
JP6851678B2 (ja) | イントラフレームビットレートの割り当て方法、コンピュータ機器、及び記憶媒体 | |
KR102263979B1 (ko) | 비디오 인코딩 방법, 컴퓨터 장치 및 저장 매체 | |
US11558639B2 (en) | Selective resolution video encoding method, computer device, and readable storage medium | |
JP2021516928A (ja) | ビデオエンコーディング、デコーディング方法、装置、コンピュータ機器及びコンピュータプログラム | |
JP2005191706A (ja) | 動画像符号化方法及びその装置 | |
JP2007267414A (ja) | フレーム内画像符号化方法及びその装置 | |
US11330254B2 (en) | Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium | |
WO2021238546A1 (zh) | 视频编码方法、视频播放方法、相关设备及介质 | |
CN111193926B (zh) | 编码数据处理方法、装置、计算机设备和存储介质 | |
CN113660487B (zh) | 用于为帧图像分配对应比特数的参数确定方法及装置 | |
CN109587496B (zh) | 一种Skip块判别方法、编码器、电子设备及可读存储介质 | |
CN111355958B (zh) | 视频解码方法及装置 | |
JP2008072608A (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 |