KR102562380B1 - 8K scalable video encoding method - Google Patents

8K scalable video encoding method Download PDF

Info

Publication number
KR102562380B1
KR102562380B1 KR1020220066049A KR20220066049A KR102562380B1 KR 102562380 B1 KR102562380 B1 KR 102562380B1 KR 1020220066049 A KR1020220066049 A KR 1020220066049A KR 20220066049 A KR20220066049 A KR 20220066049A KR 102562380 B1 KR102562380 B1 KR 102562380B1
Authority
KR
South Korea
Prior art keywords
video data
complexity
adjustment value
frame
encoding
Prior art date
Application number
KR1020220066049A
Other languages
Korean (ko)
Other versions
KR20230055346A (en
Inventor
전준근
박상규
Original Assignee
(주)카이미디어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)카이미디어 filed Critical (주)카이미디어
Publication of KR20230055346A publication Critical patent/KR20230055346A/en
Application granted granted Critical
Publication of KR102562380B1 publication Critical patent/KR102562380B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods 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 colour or a chrominance component

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 데이터 부호화 방법 및 처리 방법, 및 상기 방법을 수행하는 전자 장치가 개시된다. 본 발명의 일실시예에 따른 비디오 데이터 부호화 방법은 비디오 데이터의 부호화와 관련된 목표 비트율에 따라, 상기 비디오 데이터를 이용하여, 상기 비디오 데이터의 복잡도 조절값을 계산하는 단계, 상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 복잡도를 조절하는 단계 및 상기 복잡도가 조절된 상기 비디오 데이터를 부호화하는 단계를 포함할 수 있다.A video data encoding method and processing method, and an electronic device performing the method are disclosed. A video data encoding method according to an embodiment of the present invention includes the steps of calculating a complexity adjustment value of video data using video data according to a target bit rate related to encoding of video data, and based on the complexity adjustment value , adjusting the complexity of the video data, and encoding the video data whose complexity is adjusted.

Description

8K 스케일러블 비디오 부호화 방법{8K scalable video encoding method} 8K scalable video encoding method {8K scalable video encoding method}

다양한 실시예들에 따른 비디오 데이터 부호화 방법 및 처리 방법, 및 상기 방법을 수행하는 전자 장치에 관한 것이다. 비디오 데이터의 복잡도를 계산하고, 복잡도 조절값에 따라 비디오 데이터를 처리하고, 처리된 비디오 데이터를 부호화하는 비디오 데이터 부호화 방법 및 처리 방법, 및 상기 방법을 수행하는 전자 장치에 관한 것이다.It relates to a video data encoding method and processing method according to various embodiments, and an electronic device performing the method. A video data encoding method and processing method for calculating complexity of video data, processing video data according to a complexity adjustment value, and encoding the processed video data, and an electronic device performing the method.

4K UHD 방송 서비스를 위한 방식으로 ATSC 3.0 방식이 상용화된 바 있으며, 최근에는 4K UHD 보다 선명한 8K UHD 방송 서비스를 제공하기 위하여 기존의 4K UHD 방송 서비스와 역호환성(Backward-compatibility)을 지원하는 SHVC 부호화 방식을 이용한 8K UHD 스케일러블 방송 서비스 방식에 대한 연구가 진행 중이다.The ATSC 3.0 method has been commercialized as a method for 4K UHD broadcasting service, and recently, SHVC encoding that supports backward-compatibility with the existing 4K UHD broadcasting service to provide 8K UHD broadcasting service that is clearer than 4K UHD. Research on an 8K UHD scalable broadcasting service method using the method is in progress.

SHVC 부호화 방식과 같은 스케일러블 비디오 데이터 부호화 방식에서 고정비트율 모드로 부호화를 수행하는 경우, 영상의 복잡도가 매우 높은 구간에서 강제로 이전 영상 프레임 데이터를 부분적으로 복사하는 부호화 skip 모드를 사용하여, 출력 비트율을 낮추도록 비디오 데이터를 부호화한다.When encoding is performed in a fixed bit rate mode in a scalable video data encoding method such as the SHVC encoding method, an encoding skip mode is used to forcibly partially copy the previous image frame data in a section where the complexity of the image is very high, and the output bit rate is Encode video data to lower .

다양한 실시예들에 따르면, 비디오 데이터 부호화 방법 및 처리 방법, 및 상기 방법을 수행하는 전자 장치는 고정비트율에 따라 영상의 복잡도가 높은 구간에서 부호화 skip 모드를 사용하여 비디오 데이터를 부호화하는 경우 발생할 수 있는 영상 품질 저하를 개선할 수 있다.According to various embodiments, a video data encoding method and processing method, and an electronic device performing the method, may occur when video data is encoded using an encoding skip mode in a section with high complexity of an image according to a fixed bit rate. Image quality deterioration can be improved.

다양한 실시예들에 따른 비디오 데이터 부호화 방법은 비디오 데이터의 부호화와 관련된 목표 비트율에 따라, 상기 비디오 데이터를 이용하여, 상기 비디오 데이터의 복잡도 조절값을 계산하는 단계, 상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 복잡도를 조절하는 단계 및 상기 복잡도가 조절된 상기 비디오 데이터를 부호화하는 단계를 포함할 수 있다.A video data encoding method according to various embodiments includes the steps of calculating a complexity adjustment value of video data using the video data according to a target bit rate related to encoding of the video data, based on the complexity adjustment value, The method may include adjusting complexity of video data and encoding the video data having the adjusted complexity.

상기 비디오 데이터 부호화 방법은 상기 비디오 데이터를 다운 샘플링하는 단계를 더 포함하고, 상기 복잡도 조절값을 계산하는 단계는, 다운 샘플링된 상기 비디오 데이터를 이용하여, 상기 복잡도 조절값을 계산할 수 잇다.The method of encoding video data may further include downsampling the video data, and calculating the complexity adjustment value may calculate the complexity adjustment value using the downsampled video data.

상기 복잡도 조절값을 계산하는 단계는, 상기 비디오 데이터의 휘도 성분의 공간적 분포에 기초하여, 상기 비디오 데이터의 공간적 복잡도를 계산하는 단계, 상기 비디오 데이터의 상기 휘도 성분의 시간적 분포에 기초하여, 상기 비디오 데이터의 시간적 복잡도를 계산하는 단계 및 상기 목표 비트율, 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정하는 단계를 포함할 수 있다.The calculating of the complexity adjustment value may include calculating the spatial complexity of the video data based on the spatial distribution of the luminance component of the video data, and the video data based on the temporal distribution of the luminance component of the video data. The method may include calculating temporal complexity of data and determining the complexity adjustment value based on the target bit rate, the spatial complexity, and the temporal complexity.

상기 공간적 복잡도를 계산하는 단계는, 상기 비디오 데이터의 각 프레임 별로, 미리 설정된 영역별로 상기 휘도 성분의 분산에 기초하여 상기 공간적 복잡도를 계산하고, 상기 시간적 복잡도를 계산하는 단계는, 상기 비디오 데이터의 이전 프레임과 다음 프레임의 상기 휘도 성분의 차이에 기초하여 상기 시간적 복잡도를 계산하고, 상기 복잡도 조절값을 결정하는 단계는, 상기 비디오 데이터의 각 프레임별로 계산된 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정할 수 있다.The calculating of the spatial complexity may include calculating the spatial complexity based on the variance of the luminance component for each frame of the video data and for each preset region, and calculating the temporal complexity may include: Calculating the temporal complexity based on the difference between the luminance component of a frame and the next frame, and determining the complexity adjustment value may include the calculated spatial complexity and temporal complexity for each frame of the video data. Based on, The complexity adjustment value may be determined.

상기 비디오 데이터의 복잡도를 조절하는 단계는, 상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 선명도 및 프레임을 조절할 수 있다.In the adjusting of the complexity of the video data, sharpness and frame of the video data may be adjusted based on the complexity adjustment value.

상기 비디오 데이터의 복잡도를 조절하는 단계는, 상기 비디오 데이터를 필터링하여 상기 선명도를 조절하고, 상기 비디오 데이터를 샘플링하여 상기 프레임을 조절할 수 있다.In the adjusting the complexity of the video data, the sharpness may be adjusted by filtering the video data, and the frame may be adjusted by sampling the video data.

상기 비디오 데이터는, 8K 비디오 데이터이고, 상기 복잡도가 조절된 상기 비디오 데이터를 부호화하는 단계는, SHVC 부호화 방법에 따라, 상기 복잡도가 조절된 상기 비디오 데이터를 부호화 할 수 있다.The video data is 8K video data, and the encoding of the video data with the adjusted complexity may encode the video data with the adjusted complexity according to the SHVC encoding method.

다양한 실시예들에 따른 비디오 데이터 처리 방법은 비디오 데이터의 부호화와 관련된 목표 비트율에 따라, 상기 비디오 데이터를 이용하여, 상기 비디오 데이터의 복잡도 조절값을 계산하는 단계 및 상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 복잡도를 조절하는 단계를 포함할 수 있다.A video data processing method according to various embodiments includes calculating a complexity adjustment value of the video data using the video data according to a target bit rate related to encoding of the video data, and based on the complexity adjustment value, It may include adjusting the complexity of video data.

상기 복잡도 조절값을 계산하는 단계는, 상기 비디오 데이터의 휘도 성분의 공간적 분포에 기초하여, 상기 비디오 데이터의 공간적 복잡도를 계산하는 단계, 상기 비디오 데이터의 상기 휘도 성분의 시간적 분포에 기초하여, 상기 비디오 데이터의 시간적 복잡도를 계산하는 단계 및 상기 목표 비트율, 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정하는 단계를 포함할 수 있다.The calculating of the complexity adjustment value may include calculating the spatial complexity of the video data based on the spatial distribution of the luminance component of the video data, and the video data based on the temporal distribution of the luminance component of the video data. The method may include calculating temporal complexity of data and determining the complexity adjustment value based on the target bit rate, the spatial complexity, and the temporal complexity.

상기 공간적 복잡도를 계산하는 단계는, 상기 비디오 데이터의 각 프레임 별로, 미리 설정된 영역별로 상기 휘도 성분의 분산에 기초하여 상기 공간적 복잡도를 계산하고, 상기 시간적 복잡도를 계산하는 단계는, 상기 비디오 데이터의 이전 프레임과 다음 프레임의 상기 휘도 성분의 차이에 기초하여 상기 시간적 복잡도를 계산하고, 상기 복잡도 조절값을 결정하는 단계는, 상기 비디오 데이터의 각 프레임별로 계산된 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정할 수 있다.The calculating of the spatial complexity may include calculating the spatial complexity based on the variance of the luminance component for each frame of the video data and for each preset region, and calculating the temporal complexity may include: Calculating the temporal complexity based on the difference between the luminance component of a frame and the next frame, and determining the complexity adjustment value may include the calculated spatial complexity and temporal complexity for each frame of the video data. Based on, The complexity adjustment value may be determined.

상기 비디오 데이터의 복잡도를 조절하는 단계는, 상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 선명도 및 프레임을 조절할 수 있다.In the adjusting of the complexity of the video data, sharpness and frame of the video data may be adjusted based on the complexity adjustment value.

상기 비디오 데이터의 복잡도를 조절하는 단계는, 상기 비디오 데이터를 필터링하여 상기 선명도를 조절하고, 상기 비디오 데이터를 샘플링하여 상기 프레임을 조절할 수 있다.In the adjusting the complexity of the video data, the sharpness may be adjusted by filtering the video data, and the frame may be adjusted by sampling the video data.

다양한 실시예들에 따른 부호화 장치는 프로세서 및 상기 프로세서와 전기적으로 연결되고, 상기 프로세서에 의해 실행되는 명령어를 저장하는 메모리를 포함하고, 상기 프로세서는, 상기 명령어가 실행될 때, 비디오 데이터의 부호화와 관련된 목표 비트율에 따라, 상기 비디오 데이터를 이용하여, 상기 비디오 데이터의 복잡도 조절값을 계산하고, 상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 복잡도를 조절하고, 상기 복잡도가 조절된 상기 비디오 데이터를 부호화 할 수 있다.An encoding device according to various embodiments includes a processor and a memory electrically connected to the processor and storing instructions executed by the processor, wherein the processor is related to encoding video data when the instructions are executed. According to the target bit rate, a complexity adjustment value of the video data is calculated using the video data, the complexity adjustment value of the video data is adjusted based on the complexity adjustment value, and the complexity-adjusted video data is encoded. can do.

상기 프로세서는, 상기 비디오 데이터를 다운 샘플링하고, 다운 샘플링된 상기 비디오 데이터를 이용하여, 상기 복잡도 조절값을 계산할 수 있다.The processor may down-sample the video data and calculate the complexity adjustment value using the down-sampled video data.

상기 프로세서는, 상기 비디오 데이터의 휘도 성분의 공간적 분포에 기초하여, 상기 비디오 데이터의 공간적 복잡도를 계산하고, 상기 비디오 데이터의 상기 휘도 성분의 시간적 분포에 기초하여, 상기 비디오 데이터의 시간적 복잡도를 계산하고, 상기 목표 비트율, 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정할 수 있다.The processor calculates the spatial complexity of the video data based on the spatial distribution of the luminance component of the video data, and calculates the temporal complexity of the video data based on the temporal distribution of the luminance component of the video data; , The complexity adjustment value may be determined based on the target bit rate, the spatial complexity, and the temporal complexity.

상기 프로세서는, 상기 비디오 데이터의 각 프레임 별로, 미리 설정된 영역별로 상기 휘도 성분의 분산에 기초하여 상기 공간적 복잡도를 계산하고, 상기 비디오 데이터의 이전 프레임과 다음 프레임의 상기 휘도 성분의 차이에 기초하여 상기 시간적 복잡도를 계산하고, 상기 비디오 데이터의 각 프레임별로 계산된 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정할 수 있다.The processor calculates the spatial complexity based on the variance of the luminance component for each frame of the video data and for each preset region, and calculates the spatial complexity based on a difference between the luminance component of a previous frame and a next frame of the video data. Temporal complexity may be calculated, and the complexity adjustment value may be determined based on the spatial complexity and the temporal complexity calculated for each frame of the video data.

상기 프로세서는, 상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 선명도 및 프레임을 조절할 수 있다.The processor may adjust the sharpness and frame of the video data based on the complexity adjustment value.

상기 프로세서는, 상기 비디오 데이터를 필터링하여 상기 선명도를 조절하고, 상기 비디오 데이터를 샘플링하여 상기 프레임을 조절할 수 있다.The processor may adjust the sharpness by filtering the video data, and adjust the frame by sampling the video data.

상기 비디오 데이터는, 8K 비디오 데이터이고, 상기 프로세서는, SHVC 부호화 방법에 따라, 상기 복잡도가 조절된 상기 비디오 데이터를 부호화 할 수 있다.The video data is 8K video data, and the processor may encode the video data whose complexity is adjusted according to the SHVC encoding method.

다양한 실시예들에 따른 비디오 데이터 부호화 방법은, 비디오 데이터를 다운 샘플링하는 단계, 다운 샘플링 된 상기 비디오 데이터의 각 프레임별로, 미리 설정된 영역별 휘도 성분의 공간적 분포에 기초하여, 다운 샘플링 된 상기 비디오 데이터의 공간적 복잡도를 계산하는 단계, 다운 샘플링 된 상기 비디오 데이터의 이전 프레임과 다음 프레임의 상기 휘도 성분의 시간적 분포에 따른 차이에 기초하여, 다운 샘플링 된 상기 비디오 데이터의 시간적 복잡도를 계산하는 단계, 다운 샘플링 된 상기 비디오 데이터의 각 프레임별로 계산된 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여 복잡도를 계산하는 단계, 상기 복잡도와 목표 비트율에 기초하여, 공간적 복잡도 조절값 및 시간적 복잡도 조절값을 포함하는 복잡도 조절값을 결정하는 단계, 상기 복잡도 조절값에 기초하여, 상기 비디오 데이터를 필터링하여 선명도를 조절하는 단계, 상기 복잡도 조절값에 기초하여, 상기 비디오 데이터를 샘플링하여 프레임을 조절하는 단계 및 상기 선명도 및 상기 프레임이 조절된 상기 비디오 데이터를 부호화하는 단계를 포함할 수 있다.A video data encoding method according to various embodiments includes downsampling video data, based on a spatial distribution of a luminance component for each frame set in advance for each frame of the downsampled video data, the downsampled video data Calculating the spatial complexity of the downsampled video data based on the difference according to the temporal distribution of the luminance component of the previous frame and the next frame of the downsampled video data, Downsampling calculating a complexity based on the spatial complexity and the temporal complexity calculated for each frame of the video data; a complexity adjustment value including a spatial complexity adjustment value and a temporal complexity adjustment value based on the complexity and a target bit rate; Determining, based on the complexity adjustment value, filtering the video data to adjust the sharpness, based on the complexity adjustment value, sampling the video data to adjust the frame and the sharpness and the frame and encoding the adjusted video data.

본 발명의 일실시예에 따르면 스케일러블 비디오 데이터 부호화 방법에 있어서, 비디오 데이터의 복잡도가 매우 높은 구간에서 목표 비트율에 따른 부호화 skip 모드로 인한 급격한 화질 저하를 방지할 수 있다.According to an embodiment of the present invention, in a scalable video data encoding method, it is possible to prevent rapid picture quality deterioration due to an encoding skip mode according to a target bit rate in a section where the complexity of video data is very high.

본 발명의 일실시예에 따르면, 8K 비디오 데이터를 SHVC 부호화 방식에 따라 부호화하는 경우, 비디오 데이터의 복잡도를 계산하고, 복잡도에 따라 계산된 복잡도 조절값을 이용하여 비디오 데이터를 처리함으로써, 목표 비트율에 따라 비디오 데이터를 부호화하고, 복원된 비디오 데이터의 화질 저하를 개선할 수 있다.According to an embodiment of the present invention, when encoding 8K video data according to the SHVC encoding method, the complexity of the video data is calculated, and the video data is processed using a complexity adjustment value calculated according to the complexity, thereby achieving a target bit rate. Accordingly, video data may be encoded, and quality degradation of restored video data may be improved.

도 1은 다양한 실시예들에 따른 부호화 장치의 동작을 나타낸 도면이다.
도 2는 다양한 실시예들에 따른 부호화 장치가 비디오 데이터 부호화 방법을 수행하는 동작을 나타낸 도면이다.
도 3은 다양한 실시예들에 따른 부호화 장치가 비디오 데이터의 복잡도 조절값을 계산하는 동작을 나타낸 도면이다.
도 4는 다양한 실시예들에 따른 부호화 장치가 공간적 복잡도를 계산하기 위하여 미리 설정된 영역을 나타낸 도면이다.
도 5는 다양한 실시예들에 따른 부호화 장치가 공간적 복잡도를 계산하기 위하여 미리 설정된 단위 영역을 나타낸 도면이다.
도 6은 다양한 실시예들에 따른 부호화 장치가 비디오 데이터의 복잡도 조절값을 계산하는 동작을 나타낸 도면이다.
도 7은 다양한 실시예들에 따른 부호화 장치가 복잡도가 조절된 비디오 데이터를 출력하는 동작을 나타낸 도면이다.
도 8은 다양한 실시예들에 따른 전자 장치가 비디오 데이터를 처리하는 동작을 나타낸 도면이다.
도 9는 다양한 실시예들에 따른 전자 장치가 비디오 데이터 처리 방법을 수행하는 동작을 나타낸 도면이다.
1 is a diagram illustrating the operation of an encoding device according to various embodiments.
2 is a diagram illustrating an operation of performing a video data encoding method by an encoding device according to various embodiments.
3 is a diagram illustrating an operation of calculating a complexity adjustment value of video data by an encoding apparatus according to various embodiments.
4 is a diagram illustrating a preset region for an encoding device to calculate spatial complexity according to various embodiments.
5 is a diagram illustrating a preset unit area for calculating spatial complexity by an encoding apparatus according to various embodiments.
6 is a diagram illustrating an operation of calculating a complexity adjustment value of video data by an encoding apparatus according to various embodiments.
7 is a diagram illustrating an operation of outputting video data of which complexity is adjusted by an encoding device according to various embodiments.
8 is a diagram illustrating an operation of processing video data by an electronic device according to various embodiments.
9 is a diagram illustrating an operation of performing a video data processing method by an electronic device according to various embodiments.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes can be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents or substitutes to the embodiments are included within the scope of rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used only for descriptive purposes and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description will be omitted.

도 1은 다양한 실시예들에 따른 부호화 장치(100)의 동작을 나타낸 도면이다.1 is a diagram illustrating an operation of an encoding device 100 according to various embodiments.

도 1을 참조하면, 다양한 실시예들에 따른 부호화 장치(100)는 프로세서(120) 또는 인코더(110) 중 적어도 하나를 포함할 수 있다. 예를 들어, 부호화 장치(100)는 프로세서(120)를 이용하여 입력된 비디오 데이터로부터 복잡도가 조절된 비디오 데이터를 출력할 수 있다. 부호화 장치(100)는 인코더(110)를 이용하여 복잡도가 조절된 비디오 데이터를 부호화하고, 부호화 된 비디오 데이터, 예를 들어, 비트스트림을 출력할 수 있다.Referring to FIG. 1 , an encoding device 100 according to various embodiments may include at least one of a processor 120 and an encoder 110. For example, the encoding apparatus 100 may use the processor 120 to output video data whose complexity is adjusted from input video data. The encoding apparatus 100 may encode video data whose complexity is adjusted using the encoder 110 and output encoded video data, for example, a bitstream.

일실시예에 따르면, 부호화 장치(100)는 비디오 데이터의 복잡도를 계산할 수 있다. 부호화 장치(100)는 계산된 복잡도를 이용하여, 목표 비트율에 따라 복잡도 조절값을 계산할 수 있다. 부호화 장치(100)는 복잡도 조절값에 따라 비디오 데이터를 처리하여, 복잡도가 조절된 비디오 데이터를 출력할 수 있다.According to an embodiment, the encoding apparatus 100 may calculate complexity of video data. The encoding apparatus 100 may calculate a complexity adjustment value according to a target bit rate using the calculated complexity. The encoding apparatus 100 may process video data according to the complexity adjustment value and output video data with the complexity adjusted.

도 1과 같이, 부호화 장치(100)는 비디오 데이터의 복잡도에 기초하여, 복잡도가 조절된 비디오 데이터를 출력하고, 출력된 복잡도가 조절된 비디오 데이터를 부호화 할 수 있다. 부호화 장치(100)는 복잡도가 높은 비디오 데이터를 처리함으로써, 높은 복잡도의 비디오 데이터의 품질 저하를 개선할 수 있다.As shown in FIG. 1 , the encoding apparatus 100 may output video data whose complexity is adjusted based on the complexity of the video data, and encode the output video data whose complexity is adjusted. The encoding apparatus 100 may improve quality degradation of high complexity video data by processing high complexity video data.

예를 들어, 인코더(110)가 SHVC 방식에 따라 비디오 데이터를 부호화하는 경우, 비디오 데이터의 복잡도가 높은 경우, 이전 프레임의 비디오 데이터를 복사하여 사용하는 부호화 skip 모드를 이용하여, 출력 비트율이 목표 비트율 이하가 되도록 한다. 부호화 skip 모드를 사용에 의하여 부호화 된 비디오 데이터를 복원한 비디오의 품질 저하가 발생할 수 있다.For example, when the encoder 110 encodes video data according to the SHVC method and the complexity of the video data is high, an encoding skip mode in which video data of a previous frame is copied and used is used so that the output bit rate is the target bit rate. make it below The use of the encoding skip mode may cause deterioration in the quality of the video obtained by reconstructing the encoded video data.

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램)를 실행하여 프로세서(120)에 연결된 부호화 장치(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 인코더(110))로부터 수신된 명령 또는 데이터를 휘발성 메모리(미도시)에 저장하고, 휘발성 메모리에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(미도시)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(예: 중앙 처리 장치 또는 어플리케이션 프로세서 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 부호화 장치(100)가 메인 프로세서 및 보조 프로세서를 포함하는 경우, 보조 프로세서는 메인 프로세서보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서는 메인 프로세서와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120 may, for example, execute software (eg, a program) to control at least one other component (eg, hardware or software component) of the encoding device 100 connected to the processor 120. and can perform various data processing or calculations. According to an embodiment, as at least part of data processing or operation, the processor 120 stores commands or data received from other components (eg, the encoder 110) in a volatile memory (not shown), and Commands or data stored in may be processed, and resultant data may be stored in a non-volatile memory (not shown). According to an embodiment, the processor 120 may include a main processor (eg, a central processing unit or an application processor, or an auxiliary processor (eg, a graphic processing unit, a neural processing unit (NPU)) operable independently of or together with the main processor, image signal processor, sensor hub processor, or communication processor) For example, when the encoding device 100 includes a main processor and an auxiliary processor, the auxiliary processor uses less power than the main processor or It can be set to be function-specific: the secondary processor can be implemented separately from the main processor or as part of it.

보조 프로세서는, 예를 들면, 메인 프로세서가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서를 대신하여, 또는 메인 프로세서가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서와 함께, 부호화 장치(100)의 구성요소들 중 적어도 하나의 구성요소(예: 인코더(110))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소의 일부로서 구현될 수 있다. A secondary processor is an encoding device, for example, on behalf of the main processor while the main processor is in an inactive (eg sleep) state, or together with the main processor while the main processor is in an active (eg application execution) state. It is possible to control at least some of functions or states related to at least one of the components of 100 (eg, the encoder 110). According to one embodiment, the auxiliary processor (eg, image signal processor or communication processor) may be implemented as part of other functionally related components.

일실시예에 따른 부호화 장치(100)는 복잡도가 높은 비디오 데이터의 복잡도를 조절하여, 부호화 된 비디오 데이터의 품질을 개선할 수 있다. 예를 들어, 인코더(110)에 입력되는 비디오 데이터는 목표 비트율 및 복잡도 조절값에 따라 복잡도가 조절된 것으로, 인코더(110)는 부호화 장치(100)에 입력되는 비디오 데이터의 복잡도가 높은 경우에도, 부호화 skip 모드를 사용하지 않거나 또는 적게 사용하여, 부호화 된 비디오 데이터를 출력할 수 있다.The encoding apparatus 100 according to an embodiment may improve the quality of encoded video data by adjusting the complexity of video data having a high complexity. For example, video data input to the encoder 110 has complexity adjusted according to a target bit rate and a complexity adjustment value, and the encoder 110, even when the complexity of the video data input to the encoding device 100 is high, Encoded video data can be output by using less or less encoding skip mode.

도 2는 다양한 실시예들에 따른 부호화 장치(100)가 비디오 데이터 부호화 방법을 수행하는 동작을 나타낸 도면이다.2 is a diagram illustrating an operation of performing a video data encoding method by the encoding apparatus 100 according to various embodiments.

도 2를 참조하면, 다양한 실시예들에 따른 부호화 장치(100)는 동작 210에서 목표 비트율에 따라 비디오 데이터의 복잡도 조절값을 계산할 수 있다. 예를 들어, 부호화 장치(100)는 동작 210에서 비디오 데이터의 부호화와 관련된 목표 비트율에 따라 비디오 데이터의 복잡도 조절값을 계산할 수 있다.Referring to FIG. 2 , the encoding apparatus 100 according to various embodiments may calculate a complexity adjustment value of video data according to a target bit rate in operation 210 . For example, in operation 210, the encoding apparatus 100 may calculate a complexity adjustment value of video data according to a target bit rate related to video data encoding.

일례로, 목표 비트율은 비디오 데이터의 부호화와 관련된 파라미터를 의미할 수 있다. 예를 들어, 목표 비트율은 부호화 장치(100)의 인코더(110)에서 출력되는 부호화 된 비디오 데이터의 비트율의 최대값을 의미할 수 있다. 예를 들어, 부호화 장치(100)의 인코더(110)는 부호화 된 비디오 데이터의 출력 비트율이 목표 비트율 이하가 되도록 비디오 데이터를 부호화 할 수 있다.As an example, the target bit rate may mean a parameter related to encoding of video data. For example, the target bit rate may mean the maximum bit rate of encoded video data output from the encoder 110 of the encoding device 100. For example, the encoder 110 of the encoding device 100 may encode video data so that the output bit rate of the encoded video data is equal to or less than the target bit rate.

일례로, 부호화 장치(100)는 목표 비트율에 따라 비디오 데이터의 복잡도 조절값을 계산할 수 있다. 예를 들어, 목표 비트율은 복잡도 조절값과 상관 관계를 가질 수 있다. 예를 들어, 부호화 장치(100)는 목표 비트율이 높은 경우에, 목표 비트율이 낮은 경우보다 낮게 복잡도 조절값을 결정할 수 있다. 예를 들어, 목표 비트율은 복잡도 조절값과 음의 상관 관계를 가질 수 있다. 목표 비트율이 높을수록, 부호화 장치(100)는 동일한 비디오 데이터에 대하여 낮은 크기의 복잡도 조절값을 결정할 수 있다.For example, the encoding apparatus 100 may calculate a complexity adjustment value of video data according to a target bit rate. For example, the target bit rate may have a correlation with the complexity adjustment value. For example, when the target bit rate is high, the encoding apparatus 100 may determine the complexity adjustment value lower than when the target bit rate is low. For example, the target bit rate may have a negative correlation with the complexity adjustment value. As the target bit rate is higher, the encoding apparatus 100 may determine a complexity adjustment value with a lower size for the same video data.

일례로, 부호화 장치(100)는 동작 220에서, 복잡도 조절값에 기초하여 비디오 데이터의 복잡도를 조절할 수 있다. 일례로, 복잡도 조절값은 비디오 데이터의 복잡도를 조절하기 위한 파라미터를 의미할 수 있다. 예를 들어, 복잡도 조절값이 클수록, 부호화 장치(100)는 비디오 데이터의 복잡도를 크게 낮출 수 있다. 예를 들어, 복잡도 조절값이 작을수록, 부호화 장치(100)는 비디오 데이터의 복잡도를 작게 낮출 수 있다.For example, in operation 220, the encoding apparatus 100 may adjust the complexity of video data based on the complexity adjustment value. As an example, the complexity adjustment value may mean a parameter for adjusting the complexity of video data. For example, as the complexity adjustment value increases, the encoding apparatus 100 can greatly reduce the complexity of video data. For example, as the complexity adjustment value decreases, the encoding apparatus 100 may reduce the complexity of video data.

일례로, 비디오 데이터의 복잡도는 비디오 데이터의 휘도 성분의 시간적 및/또는 공간적 분포를 의미할 수 있다. 예를 들어, 공간적 복잡도가 높은 비디오 데이터는 비디오 데이터의 각 프레임에서 휘도 성분의 공간적 분포의 편차가 큰 비디오 데이터를 의미할 수 있다. 예를 들어, 휘도 성분의 공간적 분포의 편차는 동일 프레임에서 각 픽셀의 휘도의 차이를 의미할 수 있다.For example, the complexity of video data may mean the temporal and/or spatial distribution of luminance components of the video data. For example, video data having a high spatial complexity may refer to video data having a large deviation in the spatial distribution of luminance components in each frame of the video data. For example, the deviation of the spatial distribution of the luminance component may mean a difference in luminance of each pixel in the same frame.

예를 들어, 시간적 복잡도가 높은 비디오 데이터는 비디오 데이터의 휘도 성분의 휘도 성분의 시간적 분포의 편차가 큰 비디오 데이터를 의미할 수 있다. 예를 들어, 휘도 성분의 시간적 분포의 편차는 이전 프레임과 다음 프레임에서 동일한 픽셀의 휘도 성분의 크기의 차이를 의미할 수 있다.For example, video data having a high temporal complexity may refer to video data in which a temporal distribution of a luminance component of the video data has a large deviation. For example, the deviation of the temporal distribution of the luminance component may mean a difference in magnitude of the luminance component of the same pixel in the previous frame and the next frame.

예를 들어, 부호화 장치(100)는 동작 220에서 복잡도가 조절된 비디오 데이터를 출력할 수 있다. 예를 들어, 복잡도가 조절된 비디오 데이터는 비디오 데이터의 휘도 성분의 공간적 분포 및/또는 시간적 분포의 편차가 조절된 비디오 데이터를 의미할 수 있다.For example, the encoding apparatus 100 may output video data whose complexity is adjusted in operation 220 . For example, the video data whose complexity is adjusted may refer to video data whose deviation in spatial distribution and/or temporal distribution of the luminance component of the video data is adjusted.

일례로, 부호화 장치(100)는 동작 220에서 복잡도 조절값에 기초하여, 복잡도가 조절된 비디오 데이터를 출력할 수 있다. 예를 들어, 복잡도 조절값이 큰 경우, 부호화 장치(100)는 비디오 데이터의 휘도 성분의 공간적 분포 및/또는 시간적 분포의 편차를 크게 감소시킬 수 있다. 예를 들어, 복잡도 조절값이 작은 경우, 부호화 장치(100)는 비디오 데이터의 휘도 성분의 공간적 분포 및/또는 시간적 분포의 편차를 작게 감소시킬 수 있다.For example, the encoding apparatus 100 may output video data whose complexity is adjusted based on the complexity adjustment value in operation 220 . For example, when the complexity adjustment value is large, the encoding apparatus 100 can greatly reduce the deviation of the spatial distribution and/or temporal distribution of the luminance component of video data. For example, when the complexity adjustment value is small, the encoding apparatus 100 may reduce the deviation of the spatial distribution and/or the temporal distribution of the luminance component of video data to a small extent.

일례로, 부호화 장치(100)는 동작 230에서 복잡도가 조절된 비디오 데이터를 부호화 할 수 있다. 예를 들어, 부호화 장치(100)는 복잡도가 조절된 비디오 데이터를 인코더(110)에 입력하여, 부호화 된 비디오 데이터를 출력할 수 있다.For example, the encoding apparatus 100 may encode video data whose complexity is adjusted in operation 230 . For example, the encoding device 100 may input video data whose complexity is adjusted to the encoder 110 and output encoded video data.

예를 들어, 인코더(110)는 설정된 목표 비트율 또는 양자화 파라미터 중 적어도 하나에 기초하여, 부호화 된 비디오 데이터를 출력할 수 있다. 인코더(110)가 부호화하는 비디오 데이터의 복잡도가 높은 경우, 양자화 파라미터를 조절하더라도 출력되는 부호화 된 비디오 데이터의 비트율이 목표 비트율을 초과할 수 있다. 인코더(110)는 입력된 비디오 데이터의 복잡도가 높은 경우, 부호화 skip 모드를 사용하여 부호화 된 비디오 데이터를 출력하고, 품질이 저하될 수 있다.For example, the encoder 110 may output encoded video data based on at least one of a set target bit rate and a quantization parameter. When the complexity of the video data encoded by the encoder 110 is high, the bit rate of the output encoded video data may exceed the target bit rate even if the quantization parameter is adjusted. When the complexity of the input video data is high, the encoder 110 outputs encoded video data using an encoding skip mode, and the quality may be degraded.

예를 들어, 비디오 데이터는 8K 비디오 데이터일 수 있다. 부호화 장치(100)는 8K 비디오 데이터의 복잡도를 조절할 수 있다. 부호화 장치(100)의 인코더(110)는 복잡도가 조절된 8K 비디오 데이터를 부호화 할 수 있다. 예를 들어, 인코더(110)는 SHVC 부호화 방법에 따라, 복잡도가 조절된 8K 비디오 데이터를 부호화 할 수 있다.For example, video data may be 8K video data. The encoding device 100 may adjust the complexity of 8K video data. The encoder 110 of the encoding device 100 may encode 8K video data whose complexity is adjusted. For example, the encoder 110 may encode 8K video data of which complexity is adjusted according to the SHVC encoding method.

부호화 장치(100)는 비디오 데이터의 복잡도가 높은 경우, 복잡도가 조절된 비디오 데이터를 인코더(110)에 입력하여, 부호화 된 비디오 데이터가 복원될 때 품질을 개선할 수 있다.When the complexity of the video data is high, the encoding apparatus 100 may improve quality when the encoded video data is reconstructed by inputting the complexity-adjusted video data to the encoder 110 .

도 2에 도시된 실시예와 다른 실시예에 따르면, 부호화 장치(100)는 목표 비트율에 따라 입력된 비디오 데이터의 설정된 프레임마다 복잡도 조절값을 계산할 수 있다. 예를 들어, 설정된 프레임은 비디오 데이터의 길이를 의미할 수 있다. 예를 들어, 설정된 프레임이 30 프레임인 경우, 부호화 장치(100)는 30 프레임마다 비디오 데이터의 복잡도 조절값을 계산할 수 있다.According to an embodiment different from the embodiment shown in FIG. 2 , the encoding apparatus 100 may calculate a complexity adjustment value for each set frame of input video data according to a target bit rate. For example, the set frame may mean the length of video data. For example, when set frames are 30 frames, the encoding apparatus 100 may calculate a complexity adjustment value of video data every 30 frames.

일례로, 부호화 장치(100)는 설정된 프레임마다 복잡도 조절값에 기초하여, 비디오 데이터의 복잡도를 조절할 수 있다. 예를 들어, 설정된 프레임이 30 프레임인 경우, 1 내지 30 프레임의 비디오 데이터의 복잡도는 조절하지 않고, 31 내지 60 프레임의 비디오 데이터의 복잡도를 조절할 수 있다.For example, the encoding apparatus 100 may adjust the complexity of video data based on a complexity adjustment value for each set frame. For example, if the set frame is 30 frames, the complexity of video data of 31 to 60 frames may be adjusted without adjusting the complexity of video data of 1 to 30 frames.

상기의 예시에서 설정된 프레임의 길이는 예시적인 것으로, 상기의 예시와 달리 설정된 프레임은 60 프레임, 120 프레임 등 다양하게 설정될 수 있다.The length of the frame set in the above example is illustrative, and the frame set differently from the above example may be set in various ways, such as 60 frames or 120 frames.

도 3은 다양한 실시예들에 따른 부호화 장치(100)가 비디오 데이터의 복잡도 조절값을 계산하는 동작을 나타낸 도면이다.3 is a diagram illustrating an operation of calculating a complexity adjustment value of video data by the encoding apparatus 100 according to various embodiments.

도 3을 참조하면, 부호화 장치(100)는 동작 310에서 비디오 데이터를 다운 샘플링 할 수 있다. 일례로, 부호화 장치(100)의 프로세서(120)는 입력된 비디오를 다운 샘플링 할 수 있다. 예를 들어, 입력된 비디오 데이터가 8K 비디오 데이터인 경우, 프로세서(120)는 입력된 비디오 데이터를 4K 또는 2K 비디오 데이터로 다운 샘플링 할 수 있다.Referring to FIG. 3 , the encoding device 100 may downsample video data in operation 310 . For example, the processor 120 of the encoding device 100 may downsample an input video. For example, when the input video data is 8K video data, the processor 120 may down-sample the input video data to 4K or 2K video data.

예를 들어, 부호화 장치(100)의 프로세서(120)는 Bi-Linear 샘플링 방법 또는 BI-CUBIC 샘플링 방법을 이용하여, 입력된 비디오 데이터를 다운 샘플링 할 수 있다. 부호화 장치(100)가 입력된 비디오 데이터를 다운 샘플링 하는 방법은 상기의 예시로 한정되지 않으며, 부호화 장치(100)는 공지된 다양한 다운 샘플링 방법을 적용하여 비디오 데이터를 다운 샘플링 할 수 있다.For example, the processor 120 of the encoding device 100 may down-sample input video data using a Bi-Linear sampling method or a BI-CUBIC sampling method. A method of downsampling input video data by the encoding device 100 is not limited to the above example, and the encoding device 100 may downsample video data by applying various known downsampling methods.

일례로, 부호화 장치(100)는 동작 320에서 다운 샘플링 된 비디오 데이터의 휘도 성분의 공간적 분포에 기초하여, 비디오 데이터의 공간적 복잡도를 계산할 수 있다. 예를 들어, 휘도 성분의 공간적 분포는 각 프레임에서 픽셀들의 휘도 성분의 편차를 의미할 수 있다.For example, the encoding apparatus 100 may calculate the spatial complexity of the video data based on the spatial distribution of the luminance component of the downsampled video data in operation 320 . For example, the spatial distribution of the luminance component may mean a deviation of the luminance component of pixels in each frame.

예를 들어, 부호화 장치(100)는 비디오 데이터에 대하여, 각 프레임마다 미리 설정된 영역 별로 휘도 성분의 분산을 계산할 수 있다. 예를 들어, 각 프레임에서 각 픽셀의 휘도 성분의 편차가 큰 경우, 부호화 장치(100)가 계산한 공간적 복잡도의 값이 클 수 있다. 예를 들어, 각 프레임에서 각 픽셀의 휘도 성분의 편차가 작은 경우, 부호화 장치(100)가 계산한 공간적 복잡도의 값이 작을 수 있다.For example, the encoding apparatus 100 may calculate the variance of the luminance component for each pre-set area of each frame with respect to video data. For example, when the variance of the luminance component of each pixel in each frame is large, the spatial complexity value calculated by the encoding apparatus 100 may be large. For example, when the deviation of the luminance component of each pixel in each frame is small, the spatial complexity value calculated by the encoding apparatus 100 may be small.

일례로, 부호화 장치(100)는 미리 설정된 영역 별로 각 프레임에서 휘도 성분의 분산을 계산할 수 있다. 부호화 장치(100)는 각 영역 별로 계산된 휘도 성분의 분산을 이용하여, 전체 영역의 휘도 성분의 분산을 계산할 수 있다. 예를 들어, 공간적 복잡도는 각 프레임 별로 계산된 전체 영역의 휘도 성분의 분산을 의미할 수 있다.For example, the encoding apparatus 100 may calculate the variance of the luminance component in each frame for each preset region. The encoding apparatus 100 may calculate the luminance component variance of the entire region by using the luminance component variance calculated for each region. For example, spatial complexity may mean a variance of luminance components of an entire region calculated for each frame.

일례로, 부호화 장치(100)는 동작 330에서 다운 샘플링 된 비디오 데이터의 휘도 성분의 시간적 분포에 기초하여, 비디오 데이터의 시간적 복잡도를 계산할 수 있다. 예를 들어, 휘도 성분의 시간적 분포는 이전 프레임과 다음 프레임에서 각 픽셀의 휘도 성분의 차이를 의미할 수 있다.For example, the encoding apparatus 100 may calculate the temporal complexity of the video data based on the temporal distribution of the luminance component of the down-sampled video data in operation 330 . For example, the temporal distribution of the luminance component may mean a difference between luminance components of each pixel in the previous frame and the next frame.

예를 들어, 부호화 장치(100)는 비디오 데이터에 대하여, 이전 프레임과 다음 프레임에서 각 픽셀마다 휘도 성분의 평균 절대값 차이(MAD, mean absolute deviation)를 계산할 수 있다. 예를 들어, 시간적 복잡도는 각 프레임 별로 이전 프레임과 비교하여 계산된 휘도 성분의 평균 절대값 차이를 의미할 수 있다.For example, the encoding apparatus 100 may calculate a mean absolute deviation (MAD) of a luminance component for each pixel in a previous frame and a next frame with respect to video data. For example, the temporal complexity may refer to a difference in average absolute values of luminance components calculated for each frame compared to a previous frame.

일례로, 부호화 장치(100)는 동작 340에서, 목표 비트율, 공간적 복잡도 및 시간적 복잡도에 기초하여, 복잡도 조절값을 결정할 수 있다. 예를 들어, 부호화 장치(100)는 공간적 복잡도 및 시간적 복잡도를 이용하여 비디오 데이터의 복잡도를 계산할 수 있다. For example, in operation 340, the encoding apparatus 100 may determine a complexity adjustment value based on the target bit rate, spatial complexity, and temporal complexity. For example, the encoding apparatus 100 may calculate complexity of video data using spatial complexity and temporal complexity.

부호화 장치(100)는 목표 비트율에 따라, 복잡도를 이용하여 복잡도 조절값을 계산할 수 있다. 예를 들어, 부호화 장치(100)는 복잡도가 목표 비트율에 따라 미리 결정된 임계값보다 낮은 경우, 복잡도 조절값을 0으로 결정할 수 있다. 예를 들어, 부호화 장치(100)는 복잡도가 목표 비트율에 따라 미리 결정된 임계값보다 높은 경우, 복잡도 조절값을 0 이상의 값으로 결정할 수 있다. The encoding apparatus 100 may calculate a complexity adjustment value using complexity according to a target bit rate. For example, the encoding apparatus 100 may determine the complexity adjustment value as 0 when the complexity is lower than a predetermined threshold value according to the target bit rate. For example, the encoding apparatus 100 may determine the complexity adjustment value as a value greater than or equal to 0 when the complexity is higher than a predetermined threshold value according to the target bit rate.

예를 들어, 복잡도 조절값이 0인 경우, 부호화 장치(100)는 비디오 데이터의 복잡도를 조절하지 않을 수 있다. 예를 들어, 복잡도 조절값이 클수록, 부호화 장치(100)는 비디오 데이터의 공간적 복잡도 및/또는 시간적 복잡도를 많이 감소시킬 수 있다.For example, when the complexity adjustment value is 0, the encoding apparatus 100 may not adjust the complexity of video data. For example, as the complexity adjustment value increases, the encoding apparatus 100 can greatly reduce spatial complexity and/or temporal complexity of video data.

도 4는 다양한 실시예들에 따른 부호화 장치(100)가 공간적 복잡도를 계산하기 위하여 미리 설정된 영역을 나타낸 도면이다.FIG. 4 is a diagram illustrating a preset region in which the encoding apparatus 100 according to various embodiments calculates spatial complexity.

도 4는 비디오 데이터의 각 프레임을 미리 설정된 영역으로 나타낸 도면이다. 예를 들어, 비디오 데이터의 각 프레임은 단위 영역 A로 구분될 수 있다. 도 4의 예시에서, 비디오 데이터의 각 프레임은 가로축 및 세로축으로 x * y개의 단위 영역 A로 구분된 경우를 나타낸다.4 is a diagram showing each frame of video data as a preset area. For example, each frame of video data may be divided into unit area A. In the example of FIG. 4 , each frame of video data is divided into x * y unit areas A along the horizontal axis and the vertical axis.

도 5는 다양한 실시예들에 따른 부호화 장치(100)가 공간적 복잡도를 계산하기 위하여 미리 설정된 단위 영역을 나타낸 도면이다. FIG. 5 is a diagram illustrating a preset unit area in which the encoding apparatus 100 according to various embodiments calculates spatial complexity.

도 5를 참조하면, 비디오 데이터의 각 프레임의 단위 영역은 미리 설정된 개수의 픽셀들을 포함할 수 있다. 예를 들어, 단위 영역은 도 5와 같이 16x16, 총 256개의 픽셀을 포함할 수 있다. 예를 들어, 도 5에 도시된 단위 영역은 도 4에 도시된 단위 영역 A를 나타낼 수 있다. Referring to FIG. 5 , a unit area of each frame of video data may include a preset number of pixels. For example, as shown in FIG. 5 , the unit area may include 16×16 pixels, a total of 256 pixels. For example, the unit area shown in FIG. 5 may represent the unit area A shown in FIG. 4 .

도 4 및 도 5를 참조하면, 부호화 장치(100)는 비디오 데이터의 각 프레임에서, 미리 설정된 영역(예: 단위 영역 A)마다 휘도 성분의 분산을 계산하고, 설정된 영역의 분산을 이용하여 해당 프레임의 휘도 성분의 분산을 계산할 수 있다. 해당 프레임의 휘도 성분의 분산은 해당 프레임의 공간적 복잡도를 의미할 수 있다.Referring to FIGS. 4 and 5 , the encoding apparatus 100 calculates the variance of the luminance component for each preset area (eg, unit area A) in each frame of video data, and uses the variance of the set area for the corresponding frame. The variance of the luminance component of can be calculated. The variance of the luminance component of the corresponding frame may mean the spatial complexity of the corresponding frame.

예를 들어, 부호화 장치(100)는 비디오 데이터의 각 프레임마다 16x16 크기의 블록(예: 단위 영역 A) 단위로 휘도 성분의 분산을 계산할 수 있다. 부호화 장치(100)는 16x16 크기의 블록 단위로 계산된 휘도 성분의 분산의 평균을 이용하여, 각 프레임마다 휘도 성분의 분산을 계산할 수 있다. 각 프레임마다 계산된 휘도 성분의 분산은 해당 프레임의 공간적 복잡도를 의미할 수 있다.For example, the encoding apparatus 100 may calculate the variance of the luminance component in units of 16x16 blocks (eg, unit area A) for each frame of video data. The encoding apparatus 100 may calculate the variance of the luminance component for each frame using the average of the variance of the luminance component calculated in units of 16x16 blocks. The variance of the luminance component calculated for each frame may mean the spatial complexity of the corresponding frame.

도 6은 다양한 실시예들에 따른 부호화 장치(100)가 비디오 데이터의 복잡도 조절값을 계산하는 동작을 나타낸 도면이다.6 is a diagram illustrating an operation of calculating a complexity adjustment value of video data by the encoding apparatus 100 according to various embodiments.

도 6을 참조하면, 다양한 실시예들에 따른 부호화 장치(100)는 동작 610에서 비디오 데이터의 각 프레임 별로, 미리 설정된 영역 계산된 휘도 성분의 분산에 기초하여 공간적 복잡도를 계산할 수 있다.Referring to FIG. 6 , the encoding apparatus 100 according to various embodiments may calculate spatial complexity for each frame of video data in operation 610 based on the variance of the luminance component calculated in a preset area.

예를 들어, 도 4 및 도 5와 같이 비디오 데이터의 각 프레임은 미리 설정된 영역으로 구분될 수 있다. 부호화 장치(100)는 도 4의 단위 영역 A마다 휘도 성분의 분산을 계산할 수 있다. 예를 들어, 부호화 장치(100)는 아래 수학식 1 및 2와 같이, 단위 영역 A마다 휘도 성분의 분산을 계산할 수 있다.For example, as shown in FIGS. 4 and 5, each frame of video data may be divided into preset regions. The encoding apparatus 100 may calculate the variance of the luminance component for each unit area A of FIG. 4 . For example, the encoding apparatus 100 may calculate the variance of the luminance component for each unit area A as shown in Equations 1 and 2 below.

[수학식 1][Equation 1]

[수학식 2][Equation 2]

상기 수학식 1 및 2에서, 는 프레임 t에서 (x,y) 위치의 단위 영역의 휘도 성분의 분산, 는 프레임 t에서 (x,y) 위치의 단위 영역에서 (i,j) 픽셀의 휘도 성분, 는 프레임 t에서 (x,y) 위치의 단위 영역의 휘도 성분의 평균을 의미한다.In Equations 1 and 2 above, Is the variance of the luminance component of the unit area at position (x, y) in frame t, is the luminance component of the (i, j) pixel in the unit area at the (x, y) position in frame t, Means the average of the luminance components of the unit area at the position (x,y) in the frame t.

예를 들어, (x, y) 위치의 단위 영역은 도 4에서 가로 축의 x 번째, 세로 축의 y 번째에 위치하는 단위 영역을 의미할 수 있다. 예를 들어, (i,j) 픽셀은 도 5에서 가로 축의 i 번째, 세로 축의 j 번째에 위치하는 픽셀을 의미할 수 있다.For example, the unit area at the (x, y) position may refer to a unit area located at the x-th position of the horizontal axis and the y-th position of the vertical axis in FIG. 4 . For example, the (i,j) pixel may refer to a pixel located at an i-th position on a horizontal axis and a j-th position on a vertical axis in FIG. 5 .

일례로, 부호화 장치(100)는 상기의 수학식 1 및 2에서 계산한 각 단위 영역의 휘도 성분의 분산 을 이용하여, 각 프레임마다 전체 영역의 휘도 성분의 분산을 계산할 수 있다. For example, the encoding device 100 calculates the variance of the luminance component of each unit area calculated in Equations 1 and 2 above. The variance of the luminance component of the entire area can be calculated for each frame by using .

예를 들어, 부호화 장치(100)는 아래 수학식 3과 같이 각 프레임에서 전체 영역의 휘도 성분의 분산 을 계산할 수 있다. 각 프레임마다 전체 영역의 휘도 성분의 분산 은 각 프레임의 공간적 복잡도를 의미할 수 있다.For example, the encoding apparatus 100 calculates the variance of the luminance component of the entire area in each frame as shown in Equation 3 below. can be calculated. Dispersion of the luminance component of the entire area for each frame may mean the spatial complexity of each frame.

[수학식 3][Equation 3]

일례로, 부호화 장치(100)는 동작 620에서 비디오 데이터의 이전 프레임과 다음 프레임의 휘도 성분의 차이에 기초하여, 시간적 복잡도를 계산할 수 있다. 예를 들어, 부호화 장치(100)는 비디오 데이터의 이전 프레임과 다음 프레임의 휘도 성분의 평균 절대값 차이(MAD, mean absolute deviation)을 계산할 수 있다.For example, in operation 620, the encoding apparatus 100 may calculate temporal complexity based on a difference between a luminance component of a previous frame and a next frame of video data. For example, the encoding apparatus 100 may calculate a mean absolute deviation (MAD) of luminance components of a previous frame and a next frame of video data.

예를 들어, 부호화 장치(100)는 아래 수학식 4와 같이, 이전 프레임과 다음 프레임의 휘도 성분의 평균 절대값 차이 를 계산할 수 있다. 이전 프레임과 다음 프레임의 휘도 성분의 평균 절대값 차이 는 프레임 t에서 시간적 복잡도를 의미할 수 있다.For example, the encoding apparatus 100 calculates the average absolute value difference between the luminance components of the previous frame and the next frame as shown in Equation 4 below. can be calculated. Average absolute value difference of the luminance component of the previous frame and the next frame may mean temporal complexity in frame t.

[수학식 4][Equation 4]

상기 수학식 4에서, N은 전체 픽셀의 가로축 개수, M은 전체 픽셀의 세로축 개수, 는 t 프레임에서 (i,j) 픽셀의 휘도 성분을 의미할 수 있다. 예를 들어, 는 전체 NxM 픽셀 중에서 (i,j) 픽셀의 휘도 성분을 의미할 수 있다.In Equation 4, N is the number of horizontal axes of all pixels, M is the number of vertical axes of all pixels, may mean the luminance component of the (i,j) pixel in frame t. for example, may mean a luminance component of an (i,j) pixel among all NxM pixels.

상기의 수학식 3 및 수학식 4에 따라 계산된 공간적 복잡도 및 시간적 복잡도는, 비디오 데이터에 대한 통계 데이터를 의미할 수 있다.Spatial complexity and temporal complexity calculated according to Equations 3 and 4 above may mean statistical data for video data.

일례로, 부호화 장치(100)는 동작 630에서 비디오 데이터의 각 프레임별로 계산된 공간적 복잡도 및 시간적 복잡도에 기초하여, 복잡도 조절값을 결정할 수 있다.For example, the encoding apparatus 100 may determine a complexity adjustment value based on spatial complexity and temporal complexity calculated for each frame of video data in operation 630 .

예를 들어, 부호화 장치(100)는 아래 수학식 5와 같이, 복잡도 k를 계산할 수 있다.For example, the encoding apparatus 100 may calculate complexity k as shown in Equation 5 below.

[수학식 5][Equation 5]

상기 수학식 5에서, T는 비디오 데이터의 총 프레임을 의미하고, 는 상기 수학식 3에 따라 계산된 프레임 t에서의 공간적 복잡도, 는 상기 수학식 4에 따라 계산된 프레임 t에서의 시간적 복잡도를 의미할 수 있다.In Equation 5, T denotes a total frame of video data, Is the spatial complexity in frame t calculated according to Equation 3 above, May mean the temporal complexity in frame t calculated according to Equation 4 above.

예를 들어, 부호화 장치(100)는 계산된 복잡도를 이용하여, 목표 비트율에 따라 복잡도 조절값을 결정할 수 있다. 예를 들어, 부호화 장치(100)는 설정된 목표 비트율에 따라 결정된 임계값과 복잡도를 비교하여, 복잡도 조절값을 결정할 수 있다. For example, the encoding apparatus 100 may determine a complexity adjustment value according to a target bit rate using the calculated complexity. For example, the encoding apparatus 100 may determine a complexity adjustment value by comparing complexity with a threshold value determined according to a set target bit rate.

예를 들어, 부호화 장치(100)는 시간적 복잡도와 공간적 복잡도에 대한 통계 데이터를 분석하고 목표 비트율에 적합한 복잡도 조절값을 출력할 수 있다.For example, the encoding apparatus 100 may analyze statistical data on temporal complexity and spatial complexity and output a complexity adjustment value suitable for a target bit rate.

예를 들어, 복잡도가 결정된 임계값 미만인 경우, 부호화 장치(100)는 복잡도 조절값을 0으로 결정할 수 있다. 복잡도 조절값이 0인 경우, 부호화 장치(100)는 비디오 데이터의 복잡도를 조절하지 않을 수 있다. 복잡도 조절값이 0인 경우, 부호화 장치(100)는 입력된 비디오 데이터를 인코더(110)에 입력하여, 부호화 된 비디오 데이터를 출력할 수 있다.For example, when the complexity is less than the determined threshold value, the encoding apparatus 100 may determine the complexity adjustment value as 0. When the complexity adjustment value is 0, the encoding apparatus 100 may not adjust the complexity of video data. When the complexity adjustment value is 0, the encoding device 100 may input the input video data to the encoder 110 and output encoded video data.

예를 들어, 복잡도가 결정된 임계값 이상인 경우, 부호화 장치(100)는 복잡도 조절값을 0이 아닌 값으로 결정할 수 있다. 일례로, 복잡도 조절값은 부호화 장치(100)가 비디오 데이터의 복잡도를 조절하기 위한 파라미터를 의미할 수 있다. 예를 들어, 복잡도 조절값이 클수록, 부호화 장치(100)는 비디오 데이터의 공간적 복잡도 및/또는 시간적 복잡도가 많이 감소하도록 비디오 데이터를 처리할 수 있다.For example, when the complexity is greater than or equal to the determined threshold value, the encoding apparatus 100 may determine the complexity adjustment value as a value other than zero. As an example, the complexity adjustment value may mean a parameter for the encoding apparatus 100 to adjust the complexity of video data. For example, as the complexity adjustment value increases, the encoding apparatus 100 may process video data so that spatial complexity and/or temporal complexity of the video data are greatly reduced.

예를 들어, 부호화 장치(100)는 공간적 복잡도 조절값 및 시간적 복잡도 조절값을 포함하는 복잡도 조절값을 결정할 수 있다. 예를 들어, 부호화 장치(100)는 공간적 복잡도 조절값을 이용하여 비디오 데이터의 공간적 복잡도를 조절하고, 시간적 복잡도 조절값을 이용하여 비디오 데이터의 시간적 복잡도를 조절할 수 있다.For example, the encoding apparatus 100 may determine a complexity adjustment value including a spatial complexity adjustment value and a temporal complexity adjustment value. For example, the encoding apparatus 100 may adjust the spatial complexity of video data using the spatial complexity adjustment value, and adjust the temporal complexity of video data using the temporal complexity adjustment value.

일례로, 부호화 장치(100)는 비디오 데이터의 설정된 프레임 구간마다 복잡도를 계산할 수 있다. 예를 들어, 부호화 장치(100)는 아래 수학식 6과 같이, 비디오 데이터를 n개의 프레임 구간마다, 복잡도 k1, k2, ..., kn을 계산할 수 있다. For example, the encoding apparatus 100 may calculate complexity for each set frame section of video data. For example, the encoding apparatus 100 may calculate complexities k1, k2, ..., kn for each of n frame sections of video data, as shown in Equation 6 below.

[수학식 6][Equation 6]

상기 수학식 6에서, 는 상기 수학식 3에 따라 계산된 프레임 t에서의 공간적 복잡도, 는 상기 수학식 4에 따라 계산된 프레임 t에서의 시간적 복잡도를 의미할 수 있다.In Equation 6 above, Is the spatial complexity in frame t calculated according to Equation 3 above, May mean the temporal complexity in frame t calculated according to Equation 4 above.

부호화 장치(100)는 각 프레임 구간마다 계산된 복잡도 k1, k2, ..., kn을 이용하여, 각 프레임 구간마다 복잡도 조절값을 결정할 수 있다. 예를 들어, 부호화 장치(100)는 각 프레임 구간마다 계산된 복잡도 조절값을 이용하여, 비디오 데이터의 복잡도를 조절할 수 있다. 예를 들어, 첫번째 프레임 구간의 복잡도 조절값이 0이고, 두번째 프레임 구간의 복잡도 조절값이 0이 아닌 경우, 부호화 장치(100)는 비디오 데이터의 첫번째 프레임 구간의 복잡도를 조절하지 않고, 두번째 프레임 구간의 복잡도는 조절할 수 있다.The encoding apparatus 100 may determine a complexity adjustment value for each frame interval using the complexities k1, k2, ..., kn calculated for each frame interval. For example, the encoding apparatus 100 may adjust the complexity of video data using a complexity adjustment value calculated for each frame period. For example, when the complexity adjustment value of the first frame section is 0 and the complexity adjustment value of the second frame section is not 0, the encoding apparatus 100 does not adjust the complexity of the first frame section of video data, and the second frame section complexity can be adjusted.

상기의 도 6에 도시된 동작의 순서는 예시적인 것으로, 부호화 장치(100)는 도 6에 도시된 동작 순서와 다르게 복잡도를 계산하고, 복잡도 조절값을 결정할 수 있다. 예를 들어, 부호화 장치(100)는 시간적 복잡도를 계산하고, 공간적 복잡도를 계산하고, 복잡도 조절값을 결정할 수 있다.The sequence of operations illustrated in FIG. 6 is exemplary, and the encoding apparatus 100 may calculate complexity and determine a complexity adjustment value differently from the sequence of operations illustrated in FIG. 6 . For example, the encoding apparatus 100 may calculate temporal complexity, calculate spatial complexity, and determine a complexity adjustment value.

도 7은 다양한 실시예들에 따른 부호화 장치(100)가 복잡도가 조절된 비디오 데이터를 출력하는 동작을 나타낸 도면이다.7 is a diagram illustrating an operation of outputting video data having an adjusted complexity by the encoding apparatus 100 according to various embodiments.

도 7을 참조하면, 다양한 실시예들에 따른 부호화 장치(100)는 동작 710에서 비디오 데이터를 필터링하여, 비디오 데이터의 선명도를 조절하고, 공간적 복잡도가 조절된 비디오 데이터를 출력할 수 있다.Referring to FIG. 7 , the encoding apparatus 100 according to various embodiments may filter video data in operation 710 to adjust sharpness of the video data and output video data having an adjusted spatial complexity.

예를 들어, 부호화 장치(100)는 복잡도 조절값에 포함된 공간적 복잡도 조절값에 기초하여, 비디오 데이터의 공간적 복잡도를 조절할 수 있다. 예를 들어, 부호화 장치(100)는 공간적 복잡도 조절값에 따라 비디오 데이터에 대하여 Low-pass 필터링을 수행하여, 비디오 데이터의 공간적 복잡도를 조절할 수 있다. For example, the encoding apparatus 100 may adjust the spatial complexity of video data based on the spatial complexity adjustment value included in the complexity adjustment value. For example, the encoding apparatus 100 may adjust the spatial complexity of video data by performing low-pass filtering on video data according to the spatial complexity adjustment value.

예를 들어, 비디오 데이터의 공간적 복잡도를 조절하는 것은, 비디오 데이터의 선명도를 조절하는 것을 의미할 수 있다. 예를 들어, 공간적 복잡도가 조절된 비디오 데이터는 원본 비디오 데이터에 비하여 선명도가 낮은 비디오 데이터를 의미할 수 있다. 공간적 복잡도가 조절된 비디오 데이터가 인코더(110)에 의해 부호화 되는 경우, 원본 비디오 데이터가 부호화 되는 경우보다 높은 압축률로 부호화 될 수 있고, 작은 비트율로 부호화 될 수 있다.For example, adjusting spatial complexity of video data may mean adjusting sharpness of video data. For example, video data whose spatial complexity is adjusted may refer to video data whose sharpness is lower than that of the original video data. When video data whose spatial complexity is adjusted is encoded by the encoder 110, it may be encoded with a higher compression rate than when original video data is encoded, and may be encoded with a smaller bit rate.

일례로, 부호화 장치(100)는 동작 720에서 공간적 복잡도가 조절된 비디오 데이터를 샘플링하여, 비디오 데이터의 프레임을 조절하고, 복잡도가 조절된 비디오 데이터를 출력할 수 있다.For example, in operation 720, the encoding apparatus 100 may sample video data of which spatial complexity is adjusted, adjust a frame of the video data, and output video data of which complexity is adjusted.

예를 들어, 부호화 장치(100)는 복잡도 조절값에 포함된 시간적 복잡도 조절값에 기초하여, 비디오 데이터의 시간적 복잡도를 조절할 수 있다. 예를 들어, 부호화 장치(100)는 시간적 복잡도 조절값에 따라 비디오 데이터에 대하여 프레임 샘플링을 수행하여, 비디오 데이터의 시간적 복잡도를 조절할 수 있다.For example, the encoding apparatus 100 may adjust the temporal complexity of video data based on the temporal complexity adjustment value included in the complexity adjustment value. For example, the encoding apparatus 100 may adjust the temporal complexity of video data by performing frame sampling on video data according to the temporal complexity adjustment value.

예를 들어, 비디오 데이터의 시간적 복잡도를 조절하는 것은, 비디오 데이터의 프레임 샘플링을 조절하는 것을 의미할 수 있다. 예를 들어, 시간적 복잡도가 조절된 비디오 데이터는 원본 비디오 데이터에 비하여 프레임 레이트가 낮은 비디오 데이터를 의미할 수 있다. 시간적 복잡도가 조절된 비디오 데이터가 인코더(110)에 의해 부호화 되는 경우, 원본 비디오 데이터가 부호화 되는 경우보다 높은 압축률로 부호화 될 수 있고, 작은 비트율로 부호화 될 수 있다.For example, adjusting temporal complexity of video data may mean adjusting frame sampling of video data. For example, video data with temporal complexity adjusted may mean video data having a lower frame rate than original video data. When video data whose temporal complexity is adjusted is encoded by the encoder 110, it may be encoded with a higher compression rate than when original video data is encoded, and may be encoded with a smaller bit rate.

예를 들어, 부호화 장치(100)는 시간적 복잡도 조절값에 따라 60Hz의 원본 비디오 데이터에 대하여 프레임 샘플링을 수행하여, 낮은 프레임 레이트(예: 30Hz, 15Hz 등)의 비디오 데이터를 출력할 수 있다.For example, the encoding apparatus 100 may output video data of a low frame rate (eg, 30 Hz, 15 Hz, etc.) by performing frame sampling on original video data of 60 Hz according to the temporal complexity adjustment value.

상기의 도 7에 도시된 동작 710 및 동작 720의 동작 순서는 예시적인 것으로, 부호화 장치(100)는 도 7에 도시된 동작 순서와 다르게 복잡도가 조절된 비디오 데이터를 출력할 수 있다. 예를 들어, 부호화 장치(100)는 시간적 복잡도 조절값에 기초하여 시간적 복잡도가 조절된 비디오 데이터를 출력하고, 출력된 시간적 복잡도가 조절된 비디오 데이터의 공간적 복잡도를 조절하여, 복잡도가 조절된 비디오 데이터를 출력할 수 있다.The operation sequence of operation 710 and operation 720 shown in FIG. 7 is exemplary, and the encoding apparatus 100 may output video data whose complexity is adjusted differently from the operation sequence shown in FIG. 7 . For example, the encoding apparatus 100 outputs video data whose temporal complexity is adjusted based on the temporal complexity adjustment value, adjusts the spatial complexity of the output video data whose temporal complexity is adjusted, and controls the video data whose complexity is adjusted. can output

도 8은 다양한 실시예들에 따른 전자 장치(800)가 비디오 데이터를 처리하는 동작을 나타낸 도면이다.8 is a diagram illustrating an operation of processing video data by an electronic device 800 according to various embodiments.

도 8을 참조하면, 다양한 실시예들에 따른 전자 장치(800)의 프로세서(820)는, 입력된 비디오 데이터의 복잡도를 조절할 수 있다. 예를 들어, 프로세서(820)는 비디오 데이터의 복잡도를 조절하여, 복잡도가 조절된 비디오 데이터를 출력할 수 있다.Referring to FIG. 8 , the processor 820 of the electronic device 800 according to various embodiments may adjust complexity of input video data. For example, the processor 820 may adjust the complexity of video data and output video data with the adjusted complexity.

예를 들어, 전자 장치(800)는 출력된 복잡도가 조절된 비디오 데이터를 인코더(810)에 입력할 수 있다. 인코더(810)는 입력된 복잡도가 조절된 비디오 데이터를 부호화 할 수 있다.For example, the electronic device 800 may input video data whose output complexity is adjusted to the encoder 810 . The encoder 810 may encode input video data whose complexity is adjusted.

도 9는 다양한 실시예들에 따른 전자 장치(800)가 비디오 데이터 처리 방법을 수행하는 동작을 나타낸 도면이다. 9 is a diagram illustrating an operation of performing a video data processing method by an electronic device 800 according to various embodiments.

도 9를 참조하면, 다양한 실시예들에 따른 전자 장치(800)는 동작 910에서 목표 비트율에 따라 비디오 데이터의 복잡도 조절값을 계산할 수 있다.Referring to FIG. 9 , the electronic device 800 according to various embodiments may calculate a complexity adjustment value of video data according to a target bit rate in operation 910 .

예를 들어, 전자 장치(800)는 비디오 데이터의 휘도 성분의 공간적 분포에 기초하여, 비디오 데이터의 공간적 복잡도를 계산할 수 있다. 예를 들어, 전자 장치(800)는 비디오 데이터의 휘도 성분의 시간적 분포에 기초하여, 비디오 데이터의 시간적 분포를 계산할 수 있다. 전자 장치(800)는 공간적 복잡도 및 시간적 복잡도에 기초하여, 비디오 데이터의 복잡도를 계산할 수 있다.For example, the electronic device 800 may calculate the spatial complexity of the video data based on the spatial distribution of the luminance component of the video data. For example, the electronic device 800 may calculate the temporal distribution of the video data based on the temporal distribution of the luminance component of the video data. The electronic device 800 may calculate complexity of video data based on spatial complexity and temporal complexity.

전자 장치(800)는 비디오 데이터의 복잡도에 따라, 복잡도 조절값을 결정할 수 있다. 예를 들어, 복잡도 조절값은 공간적 복잡도 조절값 및/또는 시간적 복잡도 조절값을 포함할 수 있다.The electronic device 800 may determine a complexity adjustment value according to the complexity of video data. For example, the complexity adjustment value may include a spatial complexity adjustment value and/or a temporal complexity adjustment value.

일례로, 전자 장치(800)는 동작 920에서 복잡도 조절값에 기초하여, 비디오 데이터의 복잡도를 조절할 수 있다. 예를 들어, 전자 장치(800)는 비디오 데이터의 복잡도를 조절하여, 복잡도가 조절된 비디오 데이터를 출력할 수 있다. 복잡도가 조절된 비디오 데이터는 인코더(810)에 입력되어, 부호화 될 수 있다.For example, the electronic device 800 may adjust the complexity of video data based on the complexity adjustment value in operation 920 . For example, the electronic device 800 may adjust the complexity of video data and output video data with the adjusted complexity. Video data whose complexity is adjusted may be input to the encoder 810 and encoded.

예를 들어, 전자 장치(800)는 공간적 복잡도 조절값에 기초하여 비디오 데이터의 공간적 복잡도를 조절할 수 있다. 예를 들어, 전자 장치(800)는 Low-pass 필터링을 비디오 데이터에 대하여 수행하여, 비디오 데이터의 선명도를 조절할 수 있다.For example, the electronic device 800 may adjust the spatial complexity of video data based on the spatial complexity adjustment value. For example, the electronic device 800 may adjust the sharpness of the video data by performing low-pass filtering on the video data.

예를 들어, 전자 장치(800)는 시간적 복잡도 조절값에 기초하여, 비디오 데이터의 시간적 복잡도를 조절할 수 있다. 예를 들어, 전자 장치(800)는 프레임 샘플링을 비디오 데이터에 대하여 수행하여, 비디오 데이터의 프레임 레이트(frame rate)를 조절할 수 있다.For example, the electronic device 800 may adjust the temporal complexity of video data based on the temporal complexity adjustment value. For example, the electronic device 800 may perform frame sampling on video data to adjust the frame rate of video data.

상기의 도 8 및 도 9에서 설명한 전자 장치(800)에 대하여 생략된 내용이라 하더라도, 도 1 내지 도 7에서 설명한 부호화 장치(100)에 대하여 설명된 내용이 적용될 수 있다. Even if the content of the electronic device 800 described in FIGS. 8 and 9 is omitted, the description of the encoding device 100 described in FIGS. 1 to 7 can be applied.

예를 들어, 전자 장치(800)는 도 6에서 설명한 부호화 장치(100)가 복잡도 조절값을 결정하는 동작과 실질적으로 동일하게 복잡도 조절값을 결정할 수 있다. 다른 예로, 전자 장치(800)는 도 7에서 설명한 부호화 장치(100)가 복잡도가 조절된 비디오 데이터를 출력하는 동작과 실질적으로 동일하게 복잡도가 조절된 비디오 데이터를 출력할 수 있다.For example, the electronic device 800 may determine the complexity adjustment value substantially the same as the operation of determining the complexity adjustment value by the encoding device 100 described in FIG. 6 . As another example, the electronic device 800 may output video data whose complexity is adjusted in substantially the same manner as the operation of outputting the video data whose complexity is adjusted by the encoding device 100 described in FIG. 7 .

한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.Meanwhile, the method according to the present invention is written as a program that can be executed on a computer and can be implemented in various recording media such as magnetic storage media, optical reading media, and digital storage media.

본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be a computer program product, i.e., an information carrier, e.g., a machine-readable storage, for processing by, or for controlling, the operation of a data processing apparatus, e.g., a programmable processor, computer, or plurality of computers. It can be implemented as a computer program tangibly embodied in a device (computer readable medium) or a radio signal. A computer program, such as the computer program(s) described above, may be written in any form of programming language, including compiled or interpreted languages, and may be written as a stand-alone program or in a module, component, subroutine, or computing environment. It can be deployed in any form, including as other units suitable for the use of. A computer program can be deployed to be processed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communication network.

컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from read only memory or random access memory or both. Elements of a computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data. In general, a computer may include, receive data from, send data to, or both, one or more mass storage devices that store data, such as magnetic, magneto-optical disks, or optical disks. It can also be combined to become. Information carriers suitable for embodying computer program instructions and data include, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tapes, compact disk read only memory (CD-ROM) ), optical media such as DVD (Digital Video Disk), magneto-optical media such as Floptical Disk, ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and the like. The processor and memory may be supplemented by, or included in, special purpose logic circuitry.

또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.In addition, computer readable media may be any available media that can be accessed by a computer, and may include both computer storage media and transmission media.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.Although this specification contains many specific implementation details, they should not be construed as limiting on the scope of any invention or what is claimed, but rather as a description of features that may be unique to a particular embodiment of a particular invention. It should be understood. Certain features that are described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Further, while features may operate in particular combinations and are initially depicted as such claimed, one or more features from a claimed combination may in some cases be excluded from that combination, and the claimed combination is a subcombination. or sub-combination variations.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Similarly, while actions are depicted in the drawings in a particular order, it should not be construed as requiring that those actions be performed in the specific order shown or in the sequential order, or that all depicted actions must be performed to obtain desired results. In certain cases, multitasking and parallel processing can be advantageous. Further, the separation of various device components in the embodiments described above should not be understood as requiring such separation in all embodiments, and the program components and devices described may generally be integrated together into a single software product or packaged into multiple software products. You have to understand that you can.

한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, the embodiments of the present invention disclosed in this specification and drawings are only presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. In addition to the embodiments disclosed herein, it is obvious to those skilled in the art that other modified examples based on the technical idea of the present invention can be implemented.

100: 부호화 장치
110, 810: 인코더
120, 820: 프로세서
800: 전자 장치
100: encoding device
110, 810: encoder
120, 820: processor
800: electronic device

Claims (20)

비디오 데이터 부호화 방법에 있어서,
비디오 데이터의 부호화와 관련된 목표 비트율에 따라, 상기 비디오 데이터를 이용하여, 상기 비디오 데이터의 복잡도 조절값을 계산하는 단계;
상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 복잡도를 감소시키는 단계; 및
상기 복잡도가 감소된 상기 비디오 데이터를 부호화하는 단계
를 포함하고,
상기 복잡도 조절값을 계산하는 단계는,
상기 비디오 데이터의 휘도 성분의 공간적 분포에 따라, 상기 비디오 데이터의 각 프레임 별로, 미리 설정된 영역별로 상기 휘도 성분의 분산에 기초하여, 상기 비디오 데이터의 공간적 복잡도를 계산하는 단계;
상기 비디오 데이터의 상기 휘도 성분의 시간적 분포에 따라, 상기 비디오 데이터의 이전 프레임과 다음 프레임의 상기 휘도 성분의 차이에 기초하여, 상기 비디오 데이터의 시간적 복잡도를 계산하는 단계; 및
상기 목표 비트율, 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정하는 단계
를 포함하는, 비디오 데이터 부호화 방법.
In the video data encoding method,
calculating a complexity adjustment value of the video data using the video data according to a target bit rate related to encoding of the video data;
reducing the complexity of the video data based on the complexity adjustment value; and
Encoding the video data of which the complexity is reduced
including,
In the step of calculating the complexity adjustment value,
calculating a spatial complexity of the video data based on the spatial distribution of the luminance component of the video data, based on the variance of the luminance component for each frame and each preset region of the video data;
calculating a temporal complexity of the video data based on a temporal distribution of the luminance component of the video data and a difference between the luminance component of a previous frame and a next frame of the video data; and
determining the complexity adjustment value based on the target bit rate, the spatial complexity, and the temporal complexity;
Including, video data encoding method.
제1항에 있어서,
상기 비디오 데이터를 다운 샘플링하는 단계
를 더 포함하고,
상기 복잡도 조절값을 계산하는 단계는,
다운 샘플링된 상기 비디오 데이터를 이용하여, 상기 복잡도 조절값을 계산하는, 비디오 데이터 부호화 방법.
According to claim 1,
Downsampling the video data
Including more,
In the step of calculating the complexity adjustment value,
The video data encoding method of calculating the complexity adjustment value using the downsampled video data.
삭제delete 제1항에 있어서,
상기 복잡도 조절값을 결정하는 단계는,
상기 비디오 데이터의 각 프레임별로 계산된 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정하는, 비디오 데이터 부호화 방법.
According to claim 1,
The step of determining the complexity adjustment value,
The video data encoding method of determining the complexity adjustment value based on the spatial complexity and the temporal complexity calculated for each frame of the video data.
제1항에 있어서,
상기 비디오 데이터의 복잡도를 감소시키는 단계는,
상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 선명도 및 프레임 레이트를 조절하는, 비디오 데이터 부호화 방법.
According to claim 1,
Reducing the complexity of the video data,
Based on the complexity adjustment value, the video data encoding method of adjusting the sharpness and frame rate of the video data.
제5항에 있어서,
상기 비디오 데이터의 복잡도를 감소시키는 단계는,
상기 비디오 데이터를 필터링하여 상기 선명도를 조절하고, 상기 비디오 데이터를 샘플링하여 상기 프레임 레이트를 조절하는, 비디오 데이터 부호화 방법.
According to claim 5,
Reducing the complexity of the video data,
The video data encoding method of controlling the sharpness by filtering the video data and adjusting the frame rate by sampling the video data.
제1항에 있어서,
상기 비디오 데이터는, 8K 비디오 데이터이고,
상기 복잡도가 조절된 상기 비디오 데이터를 부호화하는 단계는,
SHVC 부호화 방법에 따라, 상기 복잡도가 조절된 상기 비디오 데이터를 부호화하는, 비디오 데이터 부호화 방법.
According to claim 1,
The video data is 8K video data,
Encoding the video data of which the complexity is adjusted,
According to the SHVC encoding method, encoding the video data whose complexity is adjusted, video data encoding method.
비디오 데이터 처리 방법에 있어서,
비디오 데이터의 부호화와 관련된 목표 비트율에 따라, 상기 비디오 데이터를 이용하여, 상기 비디오 데이터의 복잡도 조절값을 계산하는 단계; 및
상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 복잡도를 감소시키는 단계
를 포함하고,
상기 복잡도 조절값을 계산하는 단계는,
상기 비디오 데이터의 휘도 성분의 공간적 분포에 따라, 상기 비디오 데이터의 각 프레임 별로, 미리 설정된 영역별로 상기 휘도 성분의 분산에 기초하여, 상기 비디오 데이터의 공간적 복잡도를 계산하는 단계;
상기 비디오 데이터의 상기 휘도 성분의 시간적 분포에 따라, 상기 비디오 데이터의 이전 프레임과 다음 프레임의 상기 휘도 성분의 차이에 기초하여, 상기 비디오 데이터의 시간적 복잡도를 계산하는 단계; 및
상기 목표 비트율, 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정하는 단계
를 포함하는, 비디오 데이터 처리 방법.
In the video data processing method,
calculating a complexity adjustment value of the video data using the video data according to a target bit rate related to encoding of the video data; and
reducing the complexity of the video data based on the complexity adjustment value;
including,
In the step of calculating the complexity adjustment value,
calculating a spatial complexity of the video data based on the spatial distribution of the luminance component of the video data, based on the variance of the luminance component for each frame and each preset region of the video data;
calculating a temporal complexity of the video data based on a temporal distribution of the luminance component of the video data and a difference between the luminance component of a previous frame and a next frame of the video data; and
determining the complexity adjustment value based on the target bit rate, the spatial complexity, and the temporal complexity;
Including, video data processing method.
삭제delete 제8항에 있어서,
상기 복잡도 조절값을 결정하는 단계는,
상기 비디오 데이터의 각 프레임별로 계산된 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정하는, 비디오 데이터 처리 방법.
According to claim 8,
The step of determining the complexity adjustment value,
The video data processing method of determining the complexity adjustment value based on the spatial complexity and the temporal complexity calculated for each frame of the video data.
제8항에 있어서,
상기 비디오 데이터의 복잡도를 감소시키는 단계는,
상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 선명도 및 프레임 레이트를 조절하는, 비디오 데이터 처리 방법.
According to claim 8,
Reducing the complexity of the video data,
Based on the complexity adjustment value, the video data processing method of adjusting the sharpness and frame rate of the video data.
제11항에 있어서,
상기 비디오 데이터의 복잡도를 감소시키는 단계는,
상기 비디오 데이터를 필터링하여 상기 선명도를 조절하고, 상기 비디오 데이터를 샘플링하여 상기 프레임 레이트를 조절하는, 비디오 데이터 처리 방법.
According to claim 11,
Reducing the complexity of the video data,
The method of processing video data, wherein the sharpness is adjusted by filtering the video data, and the frame rate is adjusted by sampling the video data.
부호화 장치에 있어서,
프로세서; 및
상기 프로세서와 전기적으로 연결되고, 상기 프로세서에 의해 실행되는 명령어를 저장하는 메모리
를 포함하고,
상기 프로세서는,
상기 명령어가 실행될 때,
비디오 데이터의 부호화와 관련된 목표 비트율에 따라, 상기 비디오 데이터를 이용하여, 상기 비디오 데이터의 복잡도 조절값을 계산하고;
상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 복잡도를 조절하고;
상기 복잡도가 조절된 상기 비디오 데이터를 부호화하고,
상기 프로세서는,
상기 비디오 데이터의 휘도 성분의 공간적 분포에 따라, 상기 비디오 데이터의 각 프레임 별로, 미리 설정된 영역별로 상기 휘도 성분의 분산에 기초하여, 상기 비디오 데이터의 공간적 복잡도를 계산하고,
상기 비디오 데이터의 상기 휘도 성분의 시간적 분포에 따라, 상기 비디오 데이터의 이전 프레임과 다음 프레임의 상기 휘도 성분의 차이에 기초하여, 상기 비디오 데이터의 시간적 복잡도를 계산하고,
상기 목표 비트율, 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정하는, 부호화 장치.
In the encoding device,
processor; and
A memory electrically connected to the processor and storing instructions executed by the processor
including,
the processor,
When the above command is executed,
calculating a complexity adjustment value of the video data using the video data according to a target bit rate related to encoding of the video data;
adjust the complexity of the video data based on the complexity adjustment value;
Encoding the video data whose complexity is adjusted;
the processor,
Calculate spatial complexity of the video data based on the spatial distribution of the luminance component of the video data, based on the variance of the luminance component for each frame and each preset region of the video data;
calculating a temporal complexity of the video data based on a temporal distribution of the luminance component of the video data and a difference between the luminance component of a previous frame and a next frame of the video data;
An encoding device for determining the complexity adjustment value based on the target bit rate, the spatial complexity, and the temporal complexity.
제13항에 있어서,
상기 프로세서는,
상기 비디오 데이터를 다운 샘플링하고, 다운 샘플링된 상기 비디오 데이터를 이용하여, 상기 복잡도 조절값을 계산하는, 부호화 장치.
According to claim 13,
the processor,
An encoding device that downsamples the video data and calculates the complexity adjustment value using the downsampled video data.
삭제delete 제13항에 있어서,
상기 프로세서는,
상기 비디오 데이터의 각 프레임별로 계산된 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여, 상기 복잡도 조절값을 결정하는, 부호화 장치.
According to claim 13,
the processor,
and determining the complexity adjustment value based on the spatial complexity and the temporal complexity calculated for each frame of the video data.
제13항에 있어서,
상기 프로세서는,
상기 복잡도 조절값에 기초하여, 상기 비디오 데이터의 선명도 및 프레임 레이트를 조절하는, 부호화 장치.
According to claim 13,
the processor,
Based on the complexity adjustment value, the encoding device for adjusting the sharpness and frame rate of the video data.
제17항에 있어서,
상기 프로세서는,
상기 비디오 데이터를 필터링하여 상기 선명도를 조절하고, 상기 비디오 데이터를 샘플링하여 상기 프레임 레이트를 조절하는, 부호화 장치.
According to claim 17,
the processor,
An encoding device configured to adjust the sharpness by filtering the video data and to adjust the frame rate by sampling the video data.
제13항에 있어서,
상기 비디오 데이터는, 8K 비디오 데이터이고,
상기 프로세서는,
SHVC 부호화 방법에 따라, 상기 복잡도가 조절된 상기 비디오 데이터를 부호화하는, 부호화 장치.
According to claim 13,
The video data is 8K video data,
the processor,
An encoding device for encoding the video data whose complexity is adjusted according to the SHVC encoding method.
비디오 데이터 부호화 방법에 있어서,
비디오 데이터를 다운 샘플링하는 단계;
다운 샘플링 된 상기 비디오 데이터의 각 프레임별로, 미리 설정된 영역별 휘도 성분의 공간적 분포에 따라, 상기 비디오 데이터의 각 프레임 별로 미리 설정된 영역별 상기 휘도 성분의 분산에 기초하여, 다운 샘플링 된 상기 비디오 데이터의 공간적 복잡도를 계산하는 단계;
다운 샘플링 된 상기 비디오 데이터의 이전 프레임과 다음 프레임의 상기 휘도 성분의 시간적 분포에 따른 차이에 따라, 상기 비디오 데이터의 이전 프레임과 다음 프레임의 상기 휘도 성분의 차이에 기초하여, 다운 샘플링 된 상기 비디오 데이터의 시간적 복잡도를 계산하는 단계;
목표 비트율, 다운 샘플링 된 상기 비디오 데이터의 각 프레임별로 계산된 상기 공간적 복잡도 및 상기 시간적 복잡도에 기초하여 복잡도를 계산하는 단계;
상기 복잡도와 목표 비트율에 기초하여, 공간적 복잡도 조절값 및 시간적 복잡도 조절값을 포함하는 복잡도 조절값을 결정하는 단계;
상기 복잡도 조절값에 기초하여, 상기 비디오 데이터를 필터링하여 선명도를 감소시키는 단계;
상기 복잡도 조절값에 기초하여, 상기 비디오 데이터를 샘플링하여 프레임을 감소시키는 단계; 및
상기 선명도 및 상기 프레임이 조절된 상기 비디오 데이터를 부호화하는 단계
를 포함하는, 비디오 데이터 부호화 방법.
In the video data encoding method,
downsampling the video data;
According to the spatial distribution of the luminance component for each region of the downsampled video data, according to the spatial distribution of the luminance component for each region, which is downsampled for each frame of the video data. calculating spatial complexity;
According to the difference between the temporal distribution of the luminance components of the previous frame and the next frame of the downsampled video data, based on the difference between the luminance components of the previous frame and the next frame of the video data, the downsampled video data Calculating the temporal complexity of
calculating a complexity based on a target bit rate, the spatial complexity and the temporal complexity calculated for each frame of the downsampled video data;
determining a complexity adjustment value including a spatial complexity adjustment value and a temporal complexity adjustment value, based on the complexity and the target bit rate;
filtering the video data to reduce sharpness based on the complexity adjustment value;
reducing frames by sampling the video data based on the complexity adjustment value; and
Encoding the video data of which the sharpness and the frame are adjusted
Including, video data encoding method.
KR1020220066049A 2021-10-18 2022-05-30 8K scalable video encoding method KR102562380B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210138278 2021-10-18
KR1020210138278 2021-10-18

Publications (2)

Publication Number Publication Date
KR20230055346A KR20230055346A (en) 2023-04-25
KR102562380B1 true KR102562380B1 (en) 2023-08-02

Family

ID=86101602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220066049A KR102562380B1 (en) 2021-10-18 2022-05-30 8K scalable video encoding method

Country Status (1)

Country Link
KR (1) KR102562380B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116567286B (en) * 2023-07-10 2023-09-22 武汉幻忆信息科技有限公司 Online live video processing method and system based on artificial intelligence

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101450645B1 (en) * 2013-04-26 2014-10-15 주식회사 코아로직 A method and an apparatus for controlling a video bitrate
JP2016508327A (en) * 2013-01-30 2016-03-17 インテル・コーポレーション Content adaptive bitrate and quality management using frame hierarchy responsive quantization for highly efficient next generation video coding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11825088B2 (en) * 2019-11-15 2023-11-21 Intel Corporation Adaptively encoding video frames based on complexity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016508327A (en) * 2013-01-30 2016-03-17 インテル・コーポレーション Content adaptive bitrate and quality management using frame hierarchy responsive quantization for highly efficient next generation video coding
KR101450645B1 (en) * 2013-04-26 2014-10-15 주식회사 코아로직 A method and an apparatus for controlling a video bitrate

Also Published As

Publication number Publication date
KR20230055346A (en) 2023-04-25

Similar Documents

Publication Publication Date Title
US11190784B2 (en) Method for encoding/decoding image and device therefor
CN107155107B (en) Method for video coding and device, video encoding/decoding method and device
US10623775B1 (en) End-to-end video and image compression
US10986356B2 (en) Method for encoding/decoding image and device therefor
CN112889283A (en) Encoding method and apparatus thereof, and decoding method and apparatus thereof
US10297006B2 (en) Image processing system, image processing method, and image transmitting apparatus
US8189660B2 (en) Bit rate control method and apparatus
US20080225945A1 (en) Constant-quality rate control system and algorithm for regions of interest
JP6016332B2 (en) Image processing apparatus and image processing method
US11012698B2 (en) Image encoding apparatus and method for controlling the same
KR102562380B1 (en) 8K scalable video encoding method
KR102269034B1 (en) Apparatus and method of using AI metadata related to image quality
CN112840650B (en) Artificial Intelligence (AI) encoding apparatus and operating method thereof, and AI decoding apparatus and operating method thereof
US10536696B2 (en) Image encoding device and image encoding method
EP4080882A1 (en) Methods, systems, and apparatuses for adaptive processing of video content with film grain
CN114631315A (en) Image encoding method and apparatus, and image decoding method and apparatus
US11943454B2 (en) Image processing apparatus and operation method for learning parameters based on machine learning
US10616585B2 (en) Encoding data arrays
US20210160516A1 (en) Data rate control method, computer system, and device
CN114531596A (en) Image processing method and device
CN116489368B (en) Image dynamic compression method and image dynamic compression device
KR102323395B1 (en) Method and apparatus for encoding an image according to a low-quality encoding mode, and method and apparatus for decoding an image
JP2022548374A (en) A Coding Scheme for Immersive Video Using Asymmetric Downsampling and Machine Learning
CN116847087A (en) Video processing method and device, storage medium and electronic equipment
CN116569548A (en) Network-based image filtering for video codec

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right