KR20180031673A - 영상 통화에서의 디스플레이 디바이스들의 스위칭 - Google Patents

영상 통화에서의 디스플레이 디바이스들의 스위칭 Download PDF

Info

Publication number
KR20180031673A
KR20180031673A KR1020187000847A KR20187000847A KR20180031673A KR 20180031673 A KR20180031673 A KR 20180031673A KR 1020187000847 A KR1020187000847 A KR 1020187000847A KR 20187000847 A KR20187000847 A KR 20187000847A KR 20180031673 A KR20180031673 A KR 20180031673A
Authority
KR
South Korea
Prior art keywords
display
video
frame
data
switching
Prior art date
Application number
KR1020187000847A
Other languages
English (en)
Inventor
산지브 미탈
비크람 싱
티엔-신 리
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20180031673A publication Critical patent/KR20180031673A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1096Supplementary features, e.g. call forwarding or call holding
    • H04L65/608
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

영상 통화를 수행하기 위한 시스템 및 방법이 개시된다. 하나의 예에서, 네트워크로부터, 영상 통화 데이터 및 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 정보를 수신 (506, 520) 하도록 구성된 트랜시버 (550) 를 갖는 장치가 제공되어 있다. 장치는 또한, 트랜시버에 동작가능하게 커플링되고 영상 통화 데이터를 디코딩하도록 구성된 디코더 (560), 디코딩된 영상 통화 데이터를 저장하도록 구성된 코딩된 픽처 버퍼를 포함하는 메모리, 및 트랜시버, 디코더, 및 메모리에 동작가능하게 커플링된 프로세서를 포함한다. 프로세서는, 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 정보를 수신하는 것에 응답하여, 네트워크에 I-프레임에 대한 요청 (518) 을 송신할 것을 트랜시버에 명령하도록 구성된다.

Description

영상 통화에서의 디스플레이 디바이스들의 스위칭{SWITCHING DISPLAY DEVICES IN VIDEO TELEPHONY}
본 개시는 영상 통화 (video telephony; VT) 에 관한 것으로, 특히, VT 세션 동안 디스플레이 디바이스들을 스위칭하면서 VT 품질을 유지하는 것에 관한 것이다.
모바일 폰들과 같은 통신 디바이스들은, 오디오 캡처 디바이스, 이를 테면 마이크로폰 또는 음성 합성기, 오디오 패킷들 (또는 프레임들) 을 생성하기 위한 오디오 인코더, 비디오 캡처 디바이스, 이를 테면, 카메라, 및 비디오 프레임들을 생성하기 위한 비디오 인코더를 포함할 수도 있다. 비디오 프레임들은 영상 통화 (VT) 에서의 이용을 위해 디바이스들 간에 송신될 수도 있다. 통신 디바이스 (즉, VT 디바이스) 는 통신 프로토콜 계층들, 이를 테면, 실시간 전송 프로토콜 (real-time transport protocol; RTP), 무선 링크 프로토콜 (radio link protocol; RLP), 매체 액세스 제어 (medium access control; MAC), 및 물리 (PHY) 계층들을 이용할 수도 있다. 영상 통화 애플리케이션에서, 통신 디바이스는 RLP 큐에 비디오 및 오디오 RTP 패킷들을 배치할 수도 있다. MAC 계층은 RLP 큐의 콘텐츠들로부터 MAC 계층 패킷들을 생성할 수도 있다. MAC 계층 패킷들은 통신 채널을 통한 다른 통신 디바이스로의 송신을 위해 PHY 계층 패킷들로 컨버팅될 수도 있다.
본 개시의 시스템들, 방법들 및 디바이스들 각각은 여러 혁신적인 양태들을 가지며, 그 양태들 중 어떤 단일의 양태도 본 명세서에서 개시된 바람직한 속성들을 단독으로 담당하지 않는다.
하나의 양태에서, 영상 통화 (VT) 를 위한 장치는 네트워크로부터 VT 데이터를 수신하도록 구성된 트랜시버, 트랜시버에 동작가능하게 커플링되고 VT 데이터를 디코딩하도록 구성된 디코더, 디코딩된 VT 데이터를 저장하도록 구성된 코딩된 픽처 버퍼 (coded picture buffer; CPB) 를 포함하는 메모리, 및 트랜시버, 디코더, 및 메모리에 동작가능하게 커플링된 프로세서를 포함한다. 프로세서는, 디스플레이와 연관된 서피스 어드레스 (surface address) 를 수신하는 것에 응답하여, (i) 수신된 서피스 어드레스에 적어도 부분적으로 기초하여 디코더를 재구성하고 그리고 (ii) 네트워크에 I-프레임에 대한 요청을 송신할 것을 트랜시버에 명령하도록 구성된다.
다른 양태에서, VT 를 수행하는 방법은 네트워크로부터 수신 디바이스에서 VT 데이터를 수신하는 단계, 디코더를 통해 VT 데이터를 디코딩하는 단계, 디코딩된 VT 데이터를 메모리에 저장하는 단계, 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭 (switch) 을 표시하는 정보를 검출하는 단계, 및 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 정보를 검출하는 것에 응답하여, 네트워크에 I-프레임에 대한 요청을 송신하는 단계를 포함한다.
다른 양태에서, 비일시적 컴퓨터 판독가능 저장 매체는, 실행될 때, 디바이스의 프로세서로 하여금, 네트워크로부터 VT 데이터를 수신하게 하고, 디코더를 통해 VT 데이터를 디코딩하게 하고, 디코딩된 VT 데이터를 메모리에 저장하게 하고, 그리고 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 정보를 검출하는 것에 응답하여, 네트워크에 I-프레임에 대한 요청을 송신하게 하는 명령들을 저장하고 있다.
또 다른 양태에서, VT 를 수행하기 위한 비디오 코딩 디바이스는, 네트워크로부터, VT 데이터 및 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 정보를 수신하기 위한 수단, VT 데이터를 디코딩하기 위한 수단, 디코딩된 VT 데이터를 저장하기 위한 수단, 및 스위칭을 표시하는 정보를 검출하는 것에 응답하여 네트워크에 I-프레임에 대한 요청을 송신하기 위한 수단을 포함한다.
도 1 은 영상 통화 (VT) 디바이스들을 가진 일 예시적인 시스템을 예시한다.
도 2 는 VT 에서 이용될 수도 있는 프레임 타입들 (즉, 픽처 타입들) 을 예시한다.
도 3 은 영상 통화를 지원하기 위해 통신 디바이스 내에 제공될 수도 있는 비디오 및 오디오 인코딩 및 디코딩 시스템을 예시한다.
도 4 는 일반적인 패킷-스위칭된 (PS) 네트워크를 통한 2-방향 VT 호 (call) 의 단순화된 블록 다이어그램을 나타낸다.
도 5 는 다수의 예시적인 컴포넌트들 간의 호 플로우들을 예시한다.
도 6 은 본 개시의 기법들에 따른 일 예시적인 VT 방법을 도시하는 플로우차트이다.
도 7 은 본 개시의 기법들에 따른 다른 예시적인 VT 방법을 도시하는 플로우차트이다.
본 개시는 영상 통화 (VT) 에 관한 것으로, 특히, VT 세션 동안 디바이스들 간의 개선된 스위칭을 위한 기법들에 관한 것이다. VT 는 일반적으로, 오디오 전용인 종래의 전화 통화 방법과는 대조적으로, 비디오와 오디오 양자 모두를 포함하는 실시간 통신을 지칭한다. VT 세션 동안, 상이한 로케이션들에서의 통신 디바이스들은 인터넷과 같은 네트워크를 통해 오디오 및 비디오 데이터를 반송하는 패킷들을 송신 및 수신한다.
도 1 은 VT 디바이스들을 가진 일 예시적인 시스템을 예시한다. 일 실시형태에서, 제 1 VT 디바이스 (3) (즉, 통신 디바이스) 는 네트워크 (5) 를 통해 제 2 VT 디바이스 (4) 와 통신할 수도 있다. VT 디바이스는 비디오 정보를 수신 및/또는 송신하는데 적합한 임의의 디바이스, 예를 들어, 스마트폰, 랩톱 또는 데스크톱 컴퓨터, 태블릿 등일 수도 있다. 제 1 VT 디바이스 (3) 는 또한 네트워크 (7) 를 통해 디스플레이 디바이스 (6) 와 통신할 수도 있다. 디스플레이 디바이스 (6) 는 비디오 정보를 디스플레이하는데 적합한 임의의 디바이스, 예를 들어, 스마트폰, 랩톱 또는 데스크톱 컴퓨터, 태블릿, 텔레비전 등일 수도 있다.
제 1 및 제 2 VT 디바이스들 (3, 4) 은 수신된 비디오 정보를 디스플레이하기 위한 서피스 어드레스들을 특정할 수도 있다. 예를 들어, VT 디바이스가 비디오를 디스플레이하는데 적합한 디스플레이를 갖는 스마트폰이면, 디스플레이는 연관된 어드레스를 가질 수도 있다. VT 디바이스는 디스플레이 어드레스를 수신된 비디오 정보에 대한 서피스 어드레스로서 특정하여, 비디오 정보가 디스플레이 상에 디스플레이되는 것을 허용할 수도 있다.
VT 세션 동안, VT 디바이스의 서피스 어드레스는 변경될 수도 있다. 예를 들어, 스마트폰으로 VT 대화 중인 사용자는 텔레비전과 같은 더 큰 스크린 상에 비디오를 디스플레이하길 원할 수도 있다. 사용자는 텔레비전을 원하는 디스플레이 디바이스 (6) 로서 특정할 수도 있고, 텔레비전의 연관된 어드레스는 새로운 서피스 어드레스로서 VT 디바이스로 전송될 수도 있다. 서피스 어드레스가 변경되면, 디스플레이 디바이스 (6) 에서 생성된 오디오 및/또는 비디오는 VT 디바이스 (3) 에서 생성된 것으로부터 품질의 열화를 경험할 수도 있다. 이것은 디바이스가 일 시간 주기 동안 단지 부분적인 정보 (예를 들어, 단지 P- 및/또는 B-픽처들) 를 수신하는 것에 의해 야기될 수도 있다. 따라서, 서피스 어드레스의 변경이 발생할 때 (예를 들어, I-픽처들을 포함하는) 풀 픽처 정보를 요청하기 위한 시스템들 및 방법들이 바람직하다.
VT 디바이스들로 대안적으로 지칭될 수도 있는 통신 디바이스들은 유선 및/또는 무선 통신을 위해 구비될 수도 있다. VT 디바이스들은 VT 애플리케이션들에 전용되거나 또는 VT 애플리케이션들에 더하여, 예를 들어, 웹 브라우징, 게이밍, 워드 프로세싱, 그래픽스 프로세싱, 비디오 및/또는 오디오 엔터테인먼트, 및 로케이션 트랙킹과 같은 광범위한 다른 컴퓨팅 애플리케이션들 중 임의의 것을 지원하도록 구비될 수도 있다. 일부 예들에서, VT 디바이스들은 소위 스마트폰들, 태블릿들, 또는 웨어러블 스마트 디바이스들일 수도 있다.
VT 디바이스에 의해 생성된 패킷들은 예를 들어, 표준화된 패킷 포맷을 정의하는 실시간 전송 프로토콜 (RTP) 에 따라 송신될 수도 있다. 추가적으로, VT 디바이스들은 RTP 세션에 대한 대역외 (out-of-band) 통계치들 및 제어 정보를 송신하기 위한 표준화된 패킷 포맷을 정의하는, RTP 제어 프로토콜 (RTCP) 에 따라 정보 패킷들을 송신 및 수신할 수도 있다.
네트워크를 통해 송신될 필요가 있는 데이터의 양을 감소시키기 위해, VT 디바이스들은 오디오 및 비디오 인코더들 및 디코더들을 포함한다. 제 1 VT 디바이스의 비디오 인코더는 통상적으로 여러 가지의 비디오 압축 툴들을 이용하여 카메라에 의해 캡처된 비디오 데이터를 압축하는 한편, 제 2 VT 디바이스의 비디오 디코더는 일반적으로 제 2 VT 디바이스에서의 재생을 위해 인코딩된 비디오 데이터를 디코딩하기 위하여 비디오 인코더의 기법들에 대해 상반되는 기법들을 수행한다.
도 2 는 VT 에서 이용될 수도 있는 프레임 타입들 (즉, 픽처 타입들) - 즉 I-프레임들, P-프레임들, 및 B-프레임들을 예시한다. 본 명세서에서 사용한 바와 같이, 용어들 "픽처" 및 "프레임" 은 상호교환가능하게 사용될 수도 있다. 유사하게, 용어들 "I-픽처" 와 "I-프레임", "P-픽처" 와 "P-프레임", 및 "B-픽처" 와 "B-프레임" 은 또한 상호교환가능하게 사용될 수도 있다.
VT 디바이스의 비디오 인코더는 캡처된 비디오를 일련의 픽처들로서 인코딩하고, 여기서 픽처는 비디오 데이터의 프레임을 지칭할 수도 있고, 또는 인터레이스된 비디오의 경우에, 비디오 데이터의 필드 (field) 를 지칭할 수도 있다. 비디오 인코더는 일련의 인트라-코딩된 픽처들 (I-픽처들 또는 I-프레임들) 및 예측된 픽처들 (P- 또는 B-픽처들) 을 생성한다. I-픽처들은 다른 픽처들에 대한 참조 없이 디코딩될 수 있지만 통상적으로 P- 및 B-픽처들보다 더 적은 압축을 제공할 수 있다. 그에 반해서, P- 및 B-픽처들은, 이전에 디코딩된 픽처의 정보를 활용하고, 따라서 에러에 더 민감할 수도 있지만, I-픽처들과 비교하여 더 많은 압축을 제공할 수도 있다. P-픽처는 다른 픽처에 대하여 예측된다. B-픽처는 2 개의 다른 픽처들에 대하여 예측된다. P- 또는 B-픽처를 인코딩하기 위해서는, I-픽처를 인코딩할 때보다 더 많은 수의 코딩 툴들이 비디오 인코더에 이용가능하다. 하나의 예로서, P-픽처의 블록은 이미 디코딩된 픽처에서의 블록에 기초하여 예측되거나, P-픽처에서의 다른 픽셀 값들에 기초하여 예측되거나, 또는 전혀 예측되지 않을 수도 있다. I-픽처들은 이전에 디코딩된 픽처들에 의존하지 않기 때문에, I-픽처에서의 블록은, 그에 반해서, 이미 디코딩된 픽처의 블록에 기초하여 예측될 수 없다. 대신에, I-픽처에서의 블록은 I-픽처 내에서 이미 디코딩된 픽셀들에 기초하여 디코딩된다. 더 적은 코딩 툴들의 이용가능성은 일반적으로 I-픽처들이 P-픽처들 및 B-픽처들보다 더 적은 압축을 제공하는 것을 초래한다.
연속적인 P- 또는 B-픽처들은 비디오 디코더가 I-픽처를 수신할 때까지 에러들이 하나의 픽처로부터 다음 픽처로 전파되는 것을 초래할 수도 있다. 추가적으로, P- 또는 B-픽처들은 이전에 디코딩된 픽처들을 이용하여 디코딩되기 때문에, 비디오 디코더는, 예를 들어, 패킷 손실로 인해, P- 또는 B-픽처가 의존하는 픽처가 적절히 디코딩되지 않았다면 P- 또는 B-픽처를 적절히 디코딩하는 것이 가능하지 않을 수도 있다. 이들 인스턴들에서, 비디오 디코더는, 수 초 (a few seconds) 동안, 인지할 수 없는 비디오를 생성할 수도 있거나 또는 다른 I-픽처가 수신될 때까지 비디오를 전혀 생성할 수 없을 수도 있다. 이 수 초의 열악한 (poor) 비디오 또는 비디오 없음 (no video) 은 사용자 경험을 약화시킬 수도 있다. 비디오 품질을 개선시키고 그리고 에러 복원력 (error resiliency) 을 개선시키기 위하여, 비디오 인코더들은 통상적으로 인코딩된 비디오 비트스트림에 I-픽처들을 주기적으로 포함시키도록 구성되며, 여기서 더 많은 I-픽처들은 통상적으로 비디오 품질을 개선시키지만 전체 비디오 압축을 감소시키고 더 적은 I-픽처들은 비디오 품질을 감소시키지만 전체 비디오 압축을 개선시킨다.
비디오 인코더들은 통상적으로 인코딩되는 픽처들에서의 많은 양의 변화를 검출하는 것에 응답하여 I-픽처들을 생성하도록 구성된다. 픽처들에서의 많은 양의 변화는, 예를 들어, 카메라가 이동할 때 발생할 수도 있고, 하나의 픽처의 전체 장면은 최근에 코딩된 픽처들의 것과는 상이하다. 그에 반해서, 픽처들에서의 적은 양의 변화는 카메라가 단지 약간만 이동하고 있는 오브젝트들에 초점을 맞추어 고정된 포지션에 있을 때 발생할 수도 있다. 예를 들어, 카메라가 고정된 사람 또는 사람의 그룹에 초점을 맞춘 VT 세션에서, 그 사람의 움직임은 통상적으로 작고, 배경의 부분들은 약간 변화하거나 또는 전혀 변화하지 않을 수도 있다. 이러한 시나리오에서, VT 디바이스는 I-픽처들 간의 시간의 양을 증가시킬 수도 있다. 심지어 픽처들에서 변화가 없거나 또는 사실상 변화가 없는 시나리오들에서도, VT 디바이스들은 비디오 품질을 개선시키고 에러 복원력을 개선시키기 위하여 I-픽처들을 여전히 주기적으로 전송할 수도 있다.
VT 세션 동안, 하나 이상의 VT 디바이스들은 디스플레이들을 스위칭할 수도 있다. 예를 들어, VT 디바이스 (예를 들어, 스마트폰) 를 통해 비디오 호에 참여하는 사용자는 비디오를 디스플레이 디바이스 (예를 들어, 컴퓨터 모니터) 에 스위칭하길 원할 수도 있다. 용어들 "VT 디바이스" 및 "디스플레이 디바이스" 가 사용되지만, 이들 용어들은 상호 배타적이지 않고 많은 디바이스들 (예를 들어, 스마트폰들, 랩톱/데스크톱 컴퓨터들, 태블릿들, 텔레비전들 등) 이 VT 디바이스들과 디스플레이 디바이스들 양자 모두로서의 이용에 적합할 수도 있다는 것에 유의한다. 스위칭은 VT 디바이스와 디스플레이 디바이스 간에 무선 및/또는 유선 접속을 이용함으로써 가능해질 수도 있다. 예를 들어, 데이터는 Wi-Fi 네트워크 및/또는 로컬 영역 네트워크 (LAN) 를 통해 VT 디바이스와 디스플레이 디바이스 간에 송신될 수도 있다.
디스플레이 스위칭은 VT 디바이스와 디스플레이 디바이스 간의 통신을 수반하기 때문에, VT 세션에 참여하는 다른 VT 디바이스들은 스위칭이 발생했다는 것을 알지 못할 수도 있다. 그러나, 본 개시의 실시형태들은 VT 디바이스들 간의 디스플레이 스위칭을 표시하는 정보를 제공하기 위한 다양한 기법들을 채용할 수도 있다. 이렇게 하여, VT 디바이스들은 디스플레이 스위칭 동안 및 그 후에 VT 호의 성능을 개선시킬 수도 있는 데이터 (예를 들어, I-픽처들) 를 요청할 수도 있다.
위에서 소개한 바와 같이, VT 세션에 참여하는 2 개의 디바이스들은 VT 세션의 스테이터스에 관한 RTCP 메시지들을 교환할 수도 있다. RTCP 메시지들은, 예를 들어, I-픽처에 대한 요청을 가진 AVPF (audio-visual profile with feedback) 메시지들을 포함할 수도 있다. AVPF 는 RTCP-기반 피드백에 대한 확장된 RTP 프로파일을 지칭한다. RTCP 메시지의 예들은 인트라 코딩된 픽처들, 픽처 손실 표시 (picture loss indication; PLI) 메시지들, 및 풀 인트라 요청 (full intra request; FIR) 메시지들에 대한 요청들을 포함한다.
제 1 VT 디바이스는 I-픽처들, P-픽처들, 및 B-픽처들의 형태로 제 2 VT 디바이스로 데이터를 전송할 수도 있다. 디바이스들 중 하나 또는 양자 모두는 내부 또는 외부 서피스에 수신된 비디오 정보를 디스플레이할 수도 있다. 서피스는 비디오를 디스플레이하는데 적합한 임의의 타입의 스크린, 예를 들어, 터치스크린, 고화질 텔레비전 (high-definition television; HDTV) 스크린, 컴퓨터 모니터 등일 수도 있다. 예를 들어, 제 2 VT 디바이스 (예를 들어, 스마트폰) 는 비디오를 디스플레이하기 위한 서피스를 포함할 수도 있다. 서피스는 비디오를 디스플레이하는데 적합한 임의의 타입의 스크린, 예를 들어, 터치스크린, 고화질 텔레비전 (HDTV) 스크린 등일 수도 있다. 이러한 경우에, 제 2 VT 디바이스는 그 내부 서피스를 비디오 정보를 디스플레이하기 위한 디폴트 서피스 어드레스로서 정의할 수도 있다. 그러나, VT 세션 동안, 제 2 VT 디바이스가 새로운 서피스 어드레스를 (예를 들어, SurfaceView 컴포넌트로부터) 수신하면, 제 2 디바이스는 서피스 어드레스를 변경하기 위해 디코더 재구성을 수행할 수도 있다. 디코더 재구성은, 예를 들어, 이전에 전송된 I-픽처를 포함하는 버퍼를 플러싱 (flushing) 하는 것을 수반할 수도 있다. I-픽처가 버퍼로부터 플러싱되면, 제 2 VT 디바이스는 새로운 I-픽처가 수신될 때까지 후속하여 전송된 P-픽처들 및 B-픽처들을 적절히 디코딩하는 것이 가능하지 않아, 열악한 비디오 또는 비디오 없음의 주기를 초래할 수도 있다. 열악한 비디오는 P-픽처들 및 B-픽처들이 플러싱된 I-픽처에 의존하는 것이 원인일 수도 있는데, 디코더 재구성 동작의 일부로서 제 2 VT 디바이스가 버퍼를 플러싱하기 때문에 제 2 VT 디바이스는 더 이상 그 코딩된 픽처 버퍼에 저장하지 않았다. 이러한 시나리오에서, 제 1 VT 디바이스는 제 2 VT 디바이스가 버퍼로부터 I-픽처를 플러싱했다는 것을 알지 못하고, 따라서, 제 1 VT 디바이스는 몇 초 동안 B- 및 P-픽처들을 계속 전송하여, 그 몇 초 동안 나쁜 사용자 경험을 초래할 수도 있다.
본 개시의 기법들에 따르면, 이 주기의 열악한 비디오 또는 비디오 없음을 회피하거나 또는 감소시키기 위하여, 제 2 VT 디바이스는 디코더 재구성을 검출하는 것에 응답하여 I-픽처 요청 메시지를 전송하도록 구성될 수도 있다. 추가적으로 또는 대안적으로, 제 2 VT 디바이스는 디코딩된 픽처들을 저장하는 코딩된 픽처 버퍼의 플러싱을 검출하는 것에 응답하여 I-픽처 요청 메시지를 전송하도록 구성될 수도 있다. I-픽처 요청 메시지는, 예를 들어, RTCP 를 통한 픽처 손실 표시 (PLI) 메시지, RTCP 를 통한 풀 인트라 요청 (FIR) 메시지, 또는 일부 다른 이러한 타입의 I-픽처 요청 메시지일 수도 있다. I-픽처 요청 메시지를 전송하지 않으면, 제 1 디바이스는 제 2 VT 디바이스가 플러싱된 I-픽처를 저장했고 따라서 저장된 I-픽처를 후속 P- 및 B-픽처들을 예측하기 위해 이용할 수 있다는 가정 하에서 비디오 데이터를 계속 코딩할 것이다. 이에 따라, 제 2 디바이스는, 일부 인스턴스들에서 몇 초 또는 심지어는 10 초까지일 수도 있는, 인코딩되는 비디오에서의 검출된 변화들 또는 I-픽처들 간의 어느 하나의 시간에 기초하여 제 1 디바이스가 다른 I-픽처를 전송할 때까지 다른 I-픽처를 수신하지 않을 것이다. 그 코딩된 픽처 버퍼를 플러싱하는 것에 응답하여 I-픽처 요청 메시지를 전송함으로써, 제 2 VT 디바이스는 I-픽처 없이 이 시간을 감소시켜, 열악한 비디오 품질을 가진 시간의 양을 감소시킴으로써 전체 사용자 경험을 개선시킬 수도 있다.
도 3 은 본 개시의 기법들을 활용할 수도 있는 비디오 인코딩 및 디코딩 시스템 (10) 을 예시한다. 시스템 (10) 은 송신 채널 (16) 을 통해 디코더 시스템 (14) 으로 데이터를 전송하는 인코더 시스템 (12) 을 포함한다. 인코더 시스템 (12) 은 제 1 비디오 통신 디바이스에 있을 수도 있고 오디오 소스 (17), 비디오 소스 (18), 비디오 인코더 (20), 오디오 인코더 (22), 인터넷 프로토콜 (IP) 멀티미디어 서브시스템 (IMS) VT 애플리케이션 모듈 (24), 실시간 전송 프로토콜 (RTP)/RTCP/사용자 데이터그램 프로토콜 (UDP)/IP/포인트-투-포인트 프로토콜 (PPP) 컨버전 모듈 (26), 무선 링크 프로토콜 (RLP) 큐 (28), MAC 계층 모듈 (30) 및 물리 (PHY) 계층 모듈 (32) 을 포함할 수도 있다. 다른 예들에서, 인코더 시스템 (12) 은 도 1 에 도시된 엘리먼트들 대신에 또는 그에 더하여 다른 엘리먼트들을 포함할 수도 있다. 인코더 시스템 (12) 의 다른 예들은 도 1 에 도시된 것들보다 더 적은 엘리먼트들을 포함할 수도 있다.
디코더 시스템 (14) 은 다른 비디오 통신 디바이스에 있을 수도 있고 PHY 계층 모듈 (34), MAC 계층 모듈 (36), RLP 큐 (38), RTP/RTCP/UDP/IP/PPP 컨버전 모듈 (40), IMS VT 애플리케이션 모듈 (42), 비디오 디코더 (44), 오디오 디코더 (46), 오디오 출력 유닛 (48) 및 비디오 출력 유닛 (50) 을 포함할 수도 있다. 다른 예들에서, 디코더 시스템 (14) 은 도 1 에 도시된 엘리먼트들 대신에 또는 그에 더하여 다른 엘리먼트들을 포함할 수도 있다. 디코더 시스템 (14) 의 다른 예들은 도 1 에 도시된 것들보다 더 적은 엘리먼트들을 포함할 수도 있다.
시스템 (10) 은 예를 들어, 송신 채널 (16) 을 통한 VT 세션들을 위해 양방향 비디오 및 오디오 송신을 제공할 수도 있다. 상반되는 인코딩, 디코딩, 및 컨버전 모듈들은 채널 (16) 의 대향 단부들에 제공될 수도 있다. 일부 실시형태들에서, 인코더 시스템 (12) 및 디코더 시스템 (14) 은 비디오 스트리밍, VT, 또는 양자 모두를 위해 구비된 무선 모바일 단말기들과 같은 비디오 통신 디바이스들 내에 구현될 수도 있다. 모바일 단말기들은 RTP, RTCP, UDP, IP, 또는 PPP 와 같은 패킷-스위칭된 표준들에 따라 VT 를 지원할 수도 있다.
RTP/RTCP/UDP/IP/PPP 컨버전 모듈 (26) 은 오디오 인코더 (22) 및 비디오 인코더 (20) 로부터 수신된 오디오 및 비디오 데이터에 그리고 IMS VT 애플리케이션 모듈 (24) 로부터 수신된 제어 정보에 적절한 RTP/RTCP/UDP/IP/PPP 헤더 데이터를 부가하고, 데이터를 RLP 큐 (28) 에 배치한다. RTP 는 UDP 위에서 실행되는 한편, UDP 는 IP 위에서 실행되고, 그리고 IP 는 PPP 위에서 실행된다. MAC 계층 모듈 (30) 은 RLP 큐 (28) 의 콘텐츠들로부터 MAC RLP 패킷들을 생성한다. PHY 계층 모듈 (32) 은 채널 (16) 을 통한 송신을 위해 MAC RLP 패킷들을 PHY 계층 패킷들로 컨버팅한다.
디코딩 시스템 (14) 의 PHY 계층 모듈 (34) 및 MAC 계층 모듈 (36) 은 상반되는 방식으로 동작한다. PHY 계층 모듈 (34) 은 채널 (16) 로부터 수신된 PHY 계층 패킷들을 MAC RLP 패킷들로 컨버팅한다. MAC 계층 모듈 (36) 은 MAC RLP 패킷들을 RLP 큐 (38) 에 배치한다. RTP/RTCP/UDP/IP/PPP 컨버전 모듈 (40) 은 RLP 큐 (38) 에서의 데이터로부터 헤더 정보를 스트립 (strip) 하고, 각각 비디오 디코더 (44) 및 오디오 디코더 (46) 로의 전달을 위해 비디오 및 오디오 데이터를 리어셈블링한다. RTP/RTCP/UDP/IP/PPP 컨버전 모듈 (40) 은 마찬가지로 RLP 큐 (38) 에서의 데이터로부터 헤더 정보를 스트립하고 IMS VT 애플리케이션 모듈 (42) 로의 전달을 위해 제어 정보를 리어셈블링한다. 비디오 디코더 (44) 및 오디오 디코더 (46) 는, IMS VT 애플리케이션 모듈 (42) 과 함께, 수신된 제어 정보에 기초하여 비디오 및 오디오 디코딩 판정들을 행할 수도 있다. 제어 정보는, 예를 들어, 디바이스 (12) 에 대한 송신 비트레이트가 변경되어야 하는지를 IMS VT 애플리케이션 모듈 (42) 이 결정할 수 있는 것에 기초한, 전송자의 레포트를 포함할 수도 있다. 비트 레이트를 변경하는 것의 일부로서, IMS VT 애플리케이션 모듈 (42) 은 비디오 데이터가 인코딩되고 있는 레졸루션을 조정할 수도 있다.
시스템 (10) 은 코드 분할 다중 액세스 (CDMA), 주파수 분할 다중 액세스 (FDMA), 시간 분할 다중 액세스 (TDMA), 또는 직교 주파수 분할 다중화 (OFDM), 또는 다른 적합한 무선 기법과 같은 하나 이상의 무선 통신 기술들을 지원하도록 설계될 수도 있다. 상기 무선 통신 기술들은 다양한 무선 액세스 기술들 중 임의의 것에 따라 전달될 수도 있다. 예를 들어, 무선 통신은 cdma2000, 광대역 CDMA (WCDMA) 표준들, 3G, 4G, 롱-텀 에볼루션 (LTE), 또는 임의의 다른 CDMA-기반 공중 인터페이스들에 따라 수행될 수도 있다. TDMA 는 GSM (Global System for Mobile Communications) 표준에 따라 전달될 수도 있다. 범용 모바일 전기통신 시스템 (Universal Mobile Telecommunication System; UMTS) 표준은 GSM 또는 WCDMA 동작을 허락한다. VT 애플리케이션들에 대해, 시스템 (10) 은 cdma2000 1x EV-DO, Release 0, Revision A 또는 후속 EVDO 릴리즈들과 같은 HDR (high data rate) 기술들을 지원하도록 설계될 수도 있다.
비디오 소스 (18) 는 하나 이상의 비디오 카메라들, 하나 이상의 비디오 아카이브들, 또는 비디오 카메라들과 비디오 아카이브들의 조합과 같은 비디오 캡처 디바이스일 수도 있다. 비디오 소스 (18) 는 컴퓨터 생성된 그래픽스를 캡처, 생성, 및/또는 포함하는 능력을 더 포함할 수도 있다. 비디오 인코더 (20) 는 MPEG-4, ITU-T H.264/AVC (어드밴스드 비디오 코딩 (AVC)), 또는 ITU-T H.265 (고효율 비디오 코딩 (HEVC)) 와 같은, 비디오 압축 방법에 따라 인코딩된 비디오 데이터를 생성한다. 국제 전기통신 연합 (International Telecommunication Union; ITU) H.263, VP9, MPEG-2, 또는 다른 표준화된 또는 독점적 방법들과 같은 다른 비디오 압축 방법들이 또한 이용될 수도 있다. 비디오 인코더 (20) 는, 일반적으로 코덱 (CODEC)-의존적인 비디오 소스 레이트 제어 스킴을 제공할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 HEVC, MPEG4, ITU H.263, ITU H.264 또는 다른 표준 또는 기법에 따른 비디오 인코딩을 위해 적응될 수도 있다. 하나의 예에서, 비디오 인코더 (20) 는 디지털 신호 프로세서 (DSP) 또는 임베딩된 로직 코어에 의해 구현될 수도 있다.
오디오 소스 (17) 는 오디오 캡처 디바이스, 이를 테면 마이크로폰, 또는 음성 합성기 디바이스일 수도 있다. 오디오 인코더 (22) 는 비디오 데이터를 수반하는 오디오 데이터를 인코딩할 수도 있다. 오디오 데이터는 오디오 압축 방법, 이를 테면 적응적 멀티-레이트 협 대역 (adaptive multi-rate narrow band; AMR-NB)), 또는 다른 기법들에 따라 인코딩될 수도 있다. VT 애플리케이션들에 대해, 비디오는 VT 컨퍼런스에의 당사자 (party) 의 뷰잉을 허락할 것이며, 오디오는 그 당사자의 스피킹 음성을 듣도록 허락할 것이다.
동작 시에, RTP/RTCP/UDP/IP/PPP 컨버전 모듈 (26) 은 비디오 인코더 (20) 및 오디오 인코더 (22) 로부터 비디오 및 오디오 데이터 패킷들을 획득한다. RTP/RTCP/UDP/IP/PPP 컨버전 모듈 (26) 은 오디오 패킷들에 적절한 헤더 정보를 부가하고 결과의 데이터를 RLP 큐 (28) 내에 삽입한다. 마찬가지로, RTP/RTCP/UDP/IP/PPP 컨버전 모듈 (26) 은 비디오 패킷들에 적절한 헤더 정보를 부가하고 결과의 데이터를 RLP 큐 (28) 내에 삽입한다. MAC 계층 모듈 (30) 은 RLP 큐 (28) 로부터 데이터를 취출하고 MAC 계층 패킷들을 형성한다. 각각의 MAC 계층 패킷은 RTP/RTCP/UDP/IP/PPP 헤더 정보 및 RLP 큐 (28) 내에 포함되는 오디오 또는 비디오 패킷 데이터를 반송한다.
오디오 패킷들은 비디오 패킷들과는 독립적으로 RLP 큐 (28) 에 삽입될 수도 있다. 일부 경우들에서, RLP 큐 (28) 의 콘텐츠들로부터 생성된 MAC 계층 패킷은 단지 헤더 정보 및 비디오 패킷 데이터를 반송할 것이다. 다른 경우들에서, MAC 계층 패킷은 단지 헤더 정보 및 오디오 패킷 데이터를 반송할 것이다.
일부 경우들에서, MAC 계층 패킷은 RLP 큐 (28) 의 콘텐츠들에 의존하여, 헤더 정보, 오디오 패킷 데이터 및 비디오 패킷 데이터를 반송할 것이다. MAC 계층 패킷들은 무선 링크 프로토콜 (RLP) 에 따라 구성될 수도 있고, MAC RLP 패킷들로 지칭될 수도 있다. PHY 계층 모듈 (32) 은 채널 (16) 을 통한 송신을 위해 MAC RLP 오디오-비디오 패킷들을 PHY 계층 패킷들로 컨버팅한다.
채널 (16) 은 디코더 시스템 (14) 에 PHY 계층 패킷들을 반송한다. 예를 들어, 채널 (16) 은 로컬 또는 광역 유선 네트워크와 같은 유선 접속일 수도 있다. 대안적으로, 본 명세서에서 설명한 바와 같이, 채널 (16) 은 셀룰러, 위성 또는 광 채널과 같은 무선 채널일 수도 있다. 채널 (16) 은 또한 무선 및 유선 채널들의 조합일 수도 있다.
채널 컨디션들은 유선 및 무선 채널들에 있어서 관심사일 수도 있지만, 채널 컨디션들이 페이딩 또는 혼잡으로 인해 나빠질 수도 있는, 무선 채널 (16) 을 통해 수행된 모바일 VT 애플리케이션들에 대해 특히 문제가 될 수도 있다. 예를 들어, 채널 (16) 은 채널 컨디션들에 따라 가변하는 스루풋을 갖는 역방향 링크 (RL) 를 특징으로 할 수도 있다. 스루풋은 현재의 무선 채널 송신 레이트, 무선 기지국 액티비티, 및 송신 전력 제한들 중 하나 이상에 의해 표현되는 바와 같이, 채널 컨디션들에 기초하여 추정될 수도 있다. 예를 들어, 채널 컨디션들은 현재의 MAC 계층 데이터 레이트, 역방향 액티비티 비트 (reverse activity bit; RAB), 및 전력 증폭기 (PA) 한계에 기초하여 결정될 수도 있다.
비디오 인코더 (20) 는 타겟 인코딩 레이트에 대한 인코딩된 비디오의 양을 표현하는 가상 비디오 버퍼를 유지할 수도 있다. 타겟 인코딩 레이트는 채널 (16) 을 통해 송신된 비디오 패킷들에 대해 특정된 최대 인코딩 레이트일 수도 있다. 비디오 인코더 (20) 는 비디오 소스 (18) 로부터의 비디오의 실제 인코딩 레이트를 제어할 수도 있다.
디코더 시스템 (14) 의 PHY 계층 모듈 (34) 은 PHY 계층 패킷들로부터 MAC 계층 패킷들을 식별하고 콘텐츠를 MAC RLP 패킷들로 리어셈블링한다. MAC 계층 모듈 (36) 은 그 후 RLP 큐 (38) 내의 삽입을 위한 비디오 및 오디오 패킷들을 제공하기 위해 MAC RLP 패킷들의 콘텐츠들을 리어셈블링한다. RTP/RTCP/UDP/IP/PPP 모듈 (40) 은 수반하는 헤더 정보를 제거하고 비디오 디코더 (44) 에 비디오 패킷들 그리고 오디오 디코더 (46) 에 오디오 패킷들을 제공한다.
비디오 디코더 (44) 는 비디오 출력 디바이스 (50) 의 일부를 형성하는 디스플레이 디바이스를 구동하는데 있어서의 이용을 위한 비디오 데이터의 스트림을 생성하기 위해 비디오 데이터 프레임들을 디코딩한다. 오디오 디코더 (46) 는 예를 들어, 오디오 출력 디바이스 (48) 의 일부를 형성하는 오디오 스피커를 통해, 사용자에게의 프리젠테이션을 위한 오디오 정보를 생성하기 위해 오디오 데이터를 디코딩한다.
영상 통화는 시스템들 (12 및 14) 과 같은 적어도 2 개의 디바이스들 간에 오디오 및 비디오 데이터를 반송하는 패킷들의 실시간 통신을 지칭한다. 제 1 VT 디바이스 (12) 는, 예를 들어, 비디오 카메라 또는 비디오 아카이브일 수도 있는 비디오 소스 (18) 로부터 비디오를 획득하고, 비디오 패킷들을 생성하는 비디오 인코더 (20) 를 포함한다. 유사하게, VT 디바이스 (12) 에서의 오디오 인코더 (22) 는, 예를 들어, 마이크로폰 또는 음성 합성기일 수도 있는 오디오 소스 (17) 로부터 오디오를 획득하고, 오디오 패킷들을 생성한다. 비디오 패킷들 및 오디오 패킷들은 RLP 큐 (28) 에 배치된다. MAC 계층 모듈 (30) 은 RLP 큐 (28) 의 콘텐츠들로부터 MAC 계층 패킷들을 생성한다. MAC 계층 패킷들은 통신 채널 (16) 을 통한 제 2 VT 디바이스 (14) 로의 송신을 위해 PHY 계층 패킷들로 컨버팅된다.
모바일 VT 애플리케이션들에서, VT 디바이스 (무선 단말기) 는 기지국으로부터 무선 순방향 링크 (FL) (즉, "다운링크") 를 통해 PHY 계층 패킷들을 수신한다. VT 디바이스는 기지국에 무선 역방향 링크 (RL) (즉, "업링크") 를 통해 PHY 계층 패킷들을 송신한다. 각각의 VT 디바이스는 PHY 및 MAC 계층들을 포함하여 수신된 PHY 및 MAC 계층 패킷들을 컨버팅하고 패킷 페이로드들을 오디오 패킷들 및 비디오 패킷들에 리어셈블링한다. VT 디바이스 내의 비디오 디코더 (44) 는 디스플레이 디바이스 (비디오 출력) (50) 를 통한 사용자에게의 프리젠테이션을 위해 비디오 데이터를 디코딩한다. VT 디바이스 내의 오디오 디코더 (46) 는 오디오 스피커 (오디오 출력) (48) 를 통한 출력을 위해 오디오 데이터를 디코딩한다.
도 4 는 일반적인 패킷-스위칭된 (PS) 네트워크 (52) 를 통한 2-방향 VT 호의 단순화된 블록 다이어그램을 나타낸다. PS 네트워크 (52) 는 LTE, 고속 패킷 액세스 (high-speed packet access; HSPA), (e)HRPD (evolved high rate packet data), WiFi, 위성, 동축 케이블, 전력 라인 통신, 등, 또는 상기 중 임의의 것의 조합일 수 있다. 도 2 의 디바이스들 (A 및 B) 은 일반적으로 도 1 의 디바이스들 (12 및 14) 에 순응하도록 구성될 수도 있다. 디바이스 (A) 의 송신 측에서, VT 호의 오디오/비디오는 마이크 (mic)/스피커 (56) 및 카메라/디스플레이 (54) 에서 캡처되고, 프로세싱 유닛 (58) 에 의해, 적용가능한 경우, 프리-프로세싱되고, 인코딩/압축되고, RTP/RTCP/UDP/IP 패킷화되고, 그리고 모뎀으로 전달된다. 디바이스 (A) 의 수신 측에서, 수신된 오디오/비디오 패킷들은 마이크/스피커 (56) 및 카메라/디스플레이 (54) 로 전송되기 전에 프로세싱 유닛 (58) 에 의해, 복조되고, 비-패킷화되고 (dis-packetized), 디-지터되고 (de-jittered), 디코딩되고, AV 동기화되고 그리고 적용가능한 경우, 포스트-프로세싱된다.
마찬가지로, 디바이스 (B) 의 송신 측에서, VT 호의 오디오/비디오는 마이크/스피커 (66) 및 카메라/디스플레이 (64) 에서 캡처되고, 프로세싱 유닛 (68) 에 의해, 적용가능한 경우, 프리-프로세싱되고, 인코딩/압축되고, RTP/RTCP/UDP/IP 패킷화되고, 그리고 모뎀으로 전달된다. 디바이스 (B) 의 수신 측에서, 수신된 오디오/비디오 패킷들은 마이크/스피커 (66) 및 카메라/디스플레이 (64) 로 전송되기 전에 프로세싱 유닛 (68) 에 의해, 복조되고, 비-패킷화되고, 디-지터되고, 디코딩되고, AV 동기화되고 그리고 적용가능한 경우, 포스트-프로세싱된다.
오디오/비디오 RTCP 패킷들은 또한, AV 동기화를 위한 오디오/비디오 RTP 패킷들, 미디어 성능 관련 통계치들, 레이트 적응, 등과 함께 전송된다. RTCP 패킷들은 RTP 패킷들보다 덜 빈번히 발생한다. 즉, RTCP 패킷들의 제어 정보는 통상적으로 매 500ms 내지 매 2초마다 시그널링되는 한편, RTP 패킷들은 더 빈번히 발생한다.
통상적인 2-당사자 VT 세션 동안, 비디오는 사용자 액션의 결과로서 하나 또는 양자의 방향들에서 1 회 이상 정지될 수도 있다. 예를 들어, 어느 일 측의 사용자는 일부 다른 태스크들을 잠시 수행하기 위해 디바이스 상의 배경으로 VT 애플리케이션을 이동시킬 수도 있다. 예를 들어, VT 호의 중간에, 사용자들 중 한명은 폰 카메라를 이용하여 사진을 찍거나, 빠르게 이메일을 체크하거나, 또는 다른 태스크를 수행할 수도 있다. 그 결과, VT 호를 위한 카메라 리소스는 릴리즈될 수도 있고, 이 경우에, 어떤 비디오도 피어 (peer) 측으로 전송되지 않는다. 즉, 사용자가 배경으로 VT 애플리케이션을 이동시킬 때, 비디오는 통상적으로 VT 호의 다른 당사자로 더 이상 전송되지 않는다. 비디오는 배경에서의 VT 앱 (app) 의 사용자가 어떤 비디오가 송신되고 있는지를 표시하는 프리뷰 윈도우를 더 이상 볼 수 없기 때문에 중단될 수도 있다. 증가된 프라이버시를 제공하기 위해, 그리고 통지 없이 비디오를 전송하는 것을 회피하기 위해, VT 앱은 통상적으로 비디오 RTP 패킷들을 전송하는 것을 멈출 것이다. 그러나, 오디오 패킷들은 계속될 것이고 VT 는 드롭되지 않는다. 음성 대화가 계속되는 동안, 하나 이상의 방향들로 비디오 스트림이 흐르는 것을 중단하는 현상은, 통상적으로 비디오 정지 (video pause) 라 불린다.
도 3 및 도 4 는 본 개시의 영상 통화 기법들을 구현할 수도 있는 시스템들의 예들을 도시한다. 예를 들어, 제 1 VT 디바이스 (예를 들어, 도 3 의 디바이스 (12) 또는 디바이스 (14) 중 일방 또는 도 4 의 디바이스 (A) 또는 디바이스 (B) 중 일방) 는 제 2 VT 디바이스 (예를 들어, 도 3 의 디바이스 (12) 또는 디바이스 (14) 중 타방 또는 도 4 의 디바이스 (A) 또는 디바이스 (B) 중 타방) 로부터 영상 통화 데이터를 수신하도록 구성될 수도 있다. 제 1 VT 디바이스는 디스플레이 디바이스로 디스플레이를 변경하라는 요청을 수신할 수도 있고 픽처 버퍼로부터 제 1 인트라 코딩된 픽처를 플러싱할 수도 있다. 요청을 수신하고 및/또는 픽처 버퍼로부터 제 1 인트라 코딩된 픽처를 플러싱하는 것에 응답하여, 제 1 VT 디바이스 및/또는 디스플레이 디바이스는 제 2 VT 디바이스로, 제 2 인트라-코딩된 픽처에 대한 요청을 전송할 수도 있다.
일부 실시형태들에서, 제 1 VT 디바이스 (3) 는 제 1 VT 디바이스 (3) 로 전송된 디스플레이 정보가 디스플레이 디바이스 (6) 상에 디스플레이될 수도 있도록 디스플레이 디바이스 (6) 의 어드레스에 기초하여 재구성될 수도 있다. 제 1 VT 디바이스 (3) 는 디스플레이 디바이스 (6) 가 단지 원시 비디오 데이터를 수신하고 데이터를 프로세싱할 필요가 없도록 비디오 정보를 계속 프로세싱 및/또는 디코딩할 수도 있다. 도 5 는, 이하에서, 이것이 어떻게 행해질 수 있는지의 일 예시적인 방법을 제공한다.
도 5 는 다수의 예시적인 컴포넌트들 간의 호 플로우들 (500) 을 예시한다. 하나의 양태에서, VT 애플리케이션 (550) 은 SurfaceView 컴포넌트 (555), OpenMax (OMX) 디코더 (560), 및 네트워크 (565) 와 상호작용할 수도 있다. 이들 컴포넌트들 중 하나 이상은 디바이스, 예를 들어, 제 1 VT 디바이스 (3, 12) 에 및/또는 제 1 디바이스 (3, 12) 와 통신하도록 구성된 디바이스에 통합될 수도 있다.
이벤트 1 에서, VT 애플리케이션 (550) 은 VT 세션을 시작할 수도 있다. 예를 들어, 그 세션은 2 명의 사용자들 간의 VT 호의 결과로서 시작할 수도 있다. SurfaceView 컴포넌트 (555) 는 로컬 또는 무선 디바이스로부터 안드로이드 프레임워크를 통해 서피스 어드레스를 수신할 수도 있다. SurfaceView 컴포넌트 (555) 는 VT 애플리케이션 (550) 으로 서피스 어드레스 (502) 를 전송할 수도 있다. 예를 들어, 서피스 어드레스 (502) 는 VT 디바이스가 VT 호에서 이용한 서피스를 표시할 수도 있다. 일 실시형태에서, 서피스 어드레스 (502) 는 안드로이드 프레임워크로부터 수신될 수도 있다. VT 애플리케이션 (550) 은 OMX 디코더 (560) 에 서피스 어드레스 (504) 를 송신할 수도 있다. OMX 디코더 (560) 는 그 후, VT 애플리케이션 (550) 이 특정된 어드레스에 바로 비디오 정보를 큐잉하는 것을 허용하기 위해 서피스 어드레스 (504) 에 기초하여 버퍼들을 할당할 수도 있다.
VT 애플리케이션 (550) 은 RTP 패킷들 (506) 을 수신하기 위해 네트워크 (565) 와 상호작용할 수도 있다. VT 애플리케이션 (550) 은 RTP 패킷들을 이용하여 프레임들을 어셈블링하고 그들을 OMX 디코더 (560) 에 큐잉할 수도 있다. 구체적으로는, I-프레임, 그 다음에 P-프레임 (508) 이 디코딩되도록 OMX 디코더 (560) 에 큐잉될 수도 있다. OMX 디코더 (560) 는 VT 애플리케이션 (550) 에서 수신될 수도 있는 원시 프레임 (510) 을 반환할 수도 있다. VT 애플리케이션은 그 후 SurfaceView 컴포넌트 (555) 로 원시 프레임 (512) 을 전송할 수도 있다. 원시 프레임은 제 1 VT 디바이스 (3, 12) 의 서피스 상에 바로 렌더링될 수도 있다.
새로운 디스플레이 디바이스 (6) 를 스위칭하기 위해, SurfaceView 컴포넌트 (555) 는 새로운 디스플레이 디바이스 (6) 를 표시하는 새로운 서피스 어드레스 (514) 를 먼저 수신하고 그것을 VT 애플리케이션 (550) 에 송신할 수도 있다. 새로운 서피스 어드레스는 안드로이드 프레임워크로부터 수신될 수도 있다. 이벤트 2 에서, VT 애플리케이션 (550) 은 제 1 VT 디바이스의 디코더를 재구성하고 디코더에 포함되었던 상이한 VT 디바이스로부터 수신된 P-프레임들을 렌더링하는 것을 중단할 수도 있다. VT 애플리케이션은 OMX 디코더 (560) 에 새로운 서피스 어드레스 (516) 를 송신할 수도 있다.
이벤트 3 에서, VT 애플리케이션 (550) 은 I-프레임을 요청할 수도 있다. 이벤트 3 은, 재구성이 완료된 후, 또는 대안적으로는, 재구성이 시작할 때 또는 재구성 동안 일어날 수도 있다. VT 애플리케이션 (550) 은 I-프레임에 대한 요청 (518) 을 네트워크 (565) 로 전송할 수도 있다. 예를 들어, 그 요청은 RTCP 를 통한 AVPF PLI 또는 FIR 메시지일 수도 있다. 네트워크 (565) 는 VT 애플리케이션 (550) 으로 RTP 패킷들 (520) 을 전송할 수도 있다. VT 애플리케이션 (550) 은 RTP 패킷들을 이용하여 프레임을 어셈블링하고 그것을 OMX 디코더 (560) 에 큐잉할 수도 있다. 구체적으로는, I-프레임, 그 다음에 P-프레임 (522) 이 디코딩되도록 OMX 디코더 (560) 에 큐잉될 수도 있다.
OMX 디코더 (560) 는 VT 애플리케이션 (560) 에 원시 프레임 (524) 을 반환할 수도 있고 VT 애플리케이션은 새로운 디스플레이 디바이스 (6) 의 서피스 상에 원시 프레임을 렌더링하기 위해 SurfaceView 컴포넌트 (555) 에 원시 프레임 (526) 을 송신할 수도 있다. 이벤트 4 에서, VT 세션은 종료할 수도 있다.
도 6 은 본 개시의 기법들에 따른 일 예시적인 VT 방법을 도시하는 플로우차트이다. 프로세스 (600) 은 블록 (605) 에서 시작한다. 블록 (610) 에서, 프로세스 (600) 는 VT 세션을 시작하는 것을 수반할 수도 있다. VT 세션은 2 개 이상의 VT 디바이스들 (3, 4) 간의 무선 또는 유선 접속을 수반할 수도 있다. VT 세션은 일방의 VT 디바이스가 타방의 VT 디바이스에 VT 호를 행하는 결과로서 시작할 수도 있다.
판정 블록 (615) 에서, 프로세스는 디스플레이 스위칭이 VT 디바이스들 중 일방에 대해 요청되었는지 여부를 결정하는 것을 수반할 수도 있다. 일 실시형태에서, 디스플레이 스위칭이 요청되었는지 여부를 결정하는 것은 새로운 서피스 어드레스가 수신되었는지 여부를 결정하는 것을 수반할 수도 있다. 대안적인 실시형태에서, 디스플레이 스위칭에 대한 요청이 새로운 서피스 어드레스 없이 수신되면, 프로세스 (600) 는 또한 새로운 서피스 어드레스를 요청하는 것을 수반할 수도 있다. 일 실시형태에서, 디스플레이 스위칭이 요청되지 않았다면, 프로세스 (600) 는 디스플레이 스위칭이 요청되는지 여부를 계속적으로 및/또는 주기적으로 다시 체크하는 것을 수반할 수도 있다. 대안적으로, 프로세스 (600) 는 단 한번만 또는 상이한 유한 횟수 스위칭 요청에 대해 체크하는 것을 수반할 수도 있다.
블록 (620) 에서, 디스플레이 스위칭이 요청되었다면, 프로세스 (600) 는 디스플레이 스위칭을 요청한 VT 디바이스의 디코더를 재구성하는 것을 수반할 수도 있다. 디코더를 재구성하는 것은 디코더에 저장된 프레임들 (예를 들어, I-프레임들, B-프레임들, 및 P-프레임들) 의 디코더를 플러싱하는 것을 수반할 수도 있다. 그 결과, VT 디바이스는 기존의 프레임들을 렌더링하는 것을 중단할 수도 있다. 재구성하는 것은 또한 타겟 디스플레이 디바이스 (6) 의 어드레스로 서피스 어드레스를 업데이트하는 것을 수반할 수도 있다.
판정 블록 (625) 에서, 프로세스 (600) 는 재구성이 완료되는지 여부를 결정하는 것을 수반할 수도 있다. 재구성이 완료되면, 프로세스 (600) 는, 프로세스 (600) 가 I-프레임에 대한 요청을 전송하는 것을 수반할 수도 있는 블록 (630) 으로 진행할 수도 있다. 재구성이 완료되지 않으면, 프로세스 (600) 는 재구성이 완료되는지를 계속 체크하는 것을 수반할 수도 있다. 대안적으로, 프로세스 (600) 는 재구성 동안 및/또는 그 전에 I-프레임 요청을 전송하는 것을 수반할 수도 있다. 제 1 VT 디바이스 및/또는 타겟 디스플레이 디바이스 (6) 는 I-프레임에 대한 요청을 전송할 수도 있다. 하나의 예에서, I-프레임 요청은 PLI 또는 FIR 메시지를 트리거함으로써 수행될 수도 있다.
블록 (635) 에서, 프로세스 (600) 는 타겟 디스플레이 디바이스 (6) 상에 VT 데이터를 렌더링하는 것을 수반할 수도 있다. 타겟 디스플레이 디바이스 (6) 에서 수신된 데이터는, 타겟 디스플레이 디바이스 (6) 가 데이터를 프로세싱할 필요가 없도록, 원시 데이터일 수도 있다. 대안적으로, 타겟 디스플레이 디바이스 (6) 는 인코딩된 데이터를 수신할 수도 있고 데이터를 서피스 상에 렌더링하기 전에 그 데이터를 디코딩하기 위한 디코더를 포함할 수도 있다. 프로세스 (600) 는 블록 (640) 에서 종료한다.
도 7 은 본 개시의 기법들에 따른 다른 예시적인 VT 방법을 도시하는 플로우차트이다. 프로세스 (700) 는 블록 (705) 에서 시작한다. 블록 (710) 에서, 프로세스 (700) 는 VT 데이터를 수신하는 것을 수반할 수도 있다. 예를 들어, VT 데이터는 네트워크 (5) 를 통해 VT 디바이스 (3) 에서 수신될 수도 있다.
블록 (715) 에서, 프로세스 (700) 는 수신된 VT 데이터를 디코딩하는 것을 수반할 수도 있다. 상기 논의한 바와 같이, VT 디바이스 (3) 는 수신된 데이터를 디코딩하기 위해, 디코더, 예를 들어, OMX 디코더를 가질 수도 있다.
블록 (720) 에서, 프로세스 (700) 는 디코딩된 VT 데이터를 저장하는 것을 수반할 수도 있다. VT 는 예를 들어, CPB 에 저장될 수도 있다.
판정 블록 (725) 에서, 프로세스 (700) 는 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 정보를 검출하는 것을 수반할 수도 있다. 일 실시형태에서, 검출하는 것은 송신된 정보를 수신하는 것을 포함할 수도 있다. 예를 들어, 정보는 네트워크 (5) 를 통해 VT 디바이스 (3) 에서 수신될 수도 있다. 일 실시형태에서, 정보는 제 2 디스플레이와 연관된 서피스 어드레스일 수도 있다. 서피스 어드레스는 임의의 디스플레이 서피스를 표시할 수도 있다. 예를 들어, 디스플레이 서피스는 VT 디바이스 (3) 또는 디스플레이 디바이스 (6) 와 통합될 수도 있다.
블록 (730) 에서, 프로세스 (700) 는 I-프레임 요청을 송신하는 것을 수반할 수도 있다. I-프레임 요청은 네트워크 (5) 를 통해 송신될 수도 있다. 프로세스 (700) 는 블록 (735) 에서 종료한다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현되면, 기능들은 하나 이상의 명령들 또는 코드로서, 컴퓨터 판독가능 매체 상에 저장되거나 또는 그를 통해 송신되고 하드웨어-기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은, 예를 들어, 통신 프로토콜에 따라, 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들, 또는 데이터 저장 매체들과 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체들을 포함할 수도 있다. 이 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 캐리어파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 본 개시에서 설명된 기법들의 구현을 위해 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
제한이 아닌 일 예로, 이러한 컴퓨터 판독가능 저장 매체들은 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리 (EEPROM), CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 적절히 컴퓨터 판독가능 매체라 불리게 된다. 예를 들어, 명령들이 동축 케이블, 광 섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 (DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 매체의 정의에는 동축 케이블, 광 섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들이 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 커넥션들, 캐리어파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 그 대신에 비일시적인, 유형의 저장 매체들과 관련되는 것으로 이해되어야 한다. 디스크 (disk) 및 디스크 (disc) 는 본 명세서에서 사용한 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하고, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생하는 한편, 디스크 (disc) 들은 레이저들로 데이터를 광학적으로 재생한다. 상기의 조합들이 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 DSP들, 범용 마이크로프로세서들, 주문형 집적 회로들 (ASIC들), 필드 프로그래밍가능 로직 어레이들 (FPGA들), 또는 다른 등가의 통합된 또는 이산 로직 회로부와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 이에 따라, 용어 "프로세서" 는 본 명세서에서 사용한 바와 같이, 전술한 구조 또는 본 명세서에서 설명된 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수도 있다. 추가로, 일부 양태들에서, 본 명세서에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공되거나, 또는 결합된 코덱에 통합될 수도 있다. 또한, 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함한, 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하는 것은 아니다. 오히려, 상기 설명한 바와 같이, 다양한 유닛들이 코덱 하드웨어 유닛에서 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 상기 설명한 바와 같은 하나 이상의 프로세서들을 포함하여, 상호운용적 하드웨어 유닛들의 컬렉션에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (30)

  1. 영상 통화 (video telephony; VT) 를 위한 장치로서,
    네트워크로부터, VT 데이터 및 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭 (switch) 을 표시하는 정보를 수신하도록 구성된 트랜시버;
    상기 트랜시버에 동작가능하게 커플링되고 상기 VT 데이터를 디코딩하도록 구성된 디코더;
    디코딩된 상기 VT 데이터를 저장하도록 구성된 메모리; 및
    상기 트랜시버, 상기 디코더, 및 상기 메모리에 동작가능하게 커플링된 프로세서
    를 포함하고,
    상기 프로세서는, 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 상기 정보를 수신하는 것에 응답하여, 상기 네트워크에 I-프레임에 대한 요청을 송신할 것을 상기 트랜시버에 명령하도록 구성되는, VT 를 위한 장치.
  2. 제 1 항에 있어서,
    상기 프로세서는, 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 상기 정보를 수신하는 것에 응답하여, 상기 스위칭을 표시하는 상기 정보에 적어도 부분적으로 기초하여 상기 디코더를 재구성하도록 추가로 구성되는, VT 를 위한 장치.
  3. 제 2 항에 있어서,
    상기 메모리는 코딩된 픽처 버퍼 (coded picture buffer; CPB) 를 포함하는, VT 를 위한 장치.
  4. 제 3 항에 있어서,
    상기 디코더를 재구성하는 것은 상기 CPB 를 클리어 아웃 (clear out) 하는 것을 포함하는, VT 를 위한 장치.
  5. 제 1 항에 있어서,
    상기 트랜시버는 상기 네트워크로부터 상기 I-프레임을 수신하도록 추가로 구성되고;
    상기 디코더는 상기 I-프레임을 디코딩하도록 추가로 구성되고; 그리고
    상기 프로세서는 디코딩된 상기 I-프레임을 상기 제 2 디스플레이에 송신할 것을 상기 트랜시버에 명령하도록 추가로 구성되는, VT 를 위한 장치.
  6. 제 1 항에 있어서,
    상기 제 2 디스플레이는 상기 VT 를 위한 장치 외부의 디스플레이 디바이스와 연관되는, VT 를 위한 장치.
  7. 제 1 항에 있어서,
    제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 상기 정보는 상기 제 2 디스플레이와 연관된 서피스 어드레스 (surface address) 를 포함하는, VT 를 위한 장치.
  8. 제 7 항에 있어서,
    상기 제 1 디스플레이는 제 1 서피스 어드레스와 연관되고, 그리고 상기 프로세서는 상기 제 1 디스플레이 상에 디코딩된 상기 VT 데이터의 적어도 부분을 렌더링하도록 추가로 구성되고, 상기 제 2 디스플레이와 연관된 상기 서피스 어드레스는 제 2 서피스 어드레스인, VT 를 위한 장치.
  9. 제 1 항에 있어서,
    상기 I-프레임에 대한 상기 요청은 픽처 손실 표시 (Picture Loss Indication; PLI) 메시지 또는 풀 인트라 요청 (Full Intra Request; FIR) 메시지 중 하나를 포함하는, VT 를 위한 장치.
  10. 영상 통화 (VT) 디바이스에 의해 동작가능한 방법으로서,
    네트워크로부터 VT 데이터를 수신하는 단계;
    디코더에서 상기 VT 데이터를 디코딩하는 단계;
    디코딩된 상기 VT 데이터를 메모리에 저장하는 단계;
    제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 정보를 검출하는 단계; 및
    제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 상기 정보를 검출하는 것에 응답하여, 상기 네트워크에 I-프레임에 대한 요청을 송신하는 단계
    를 포함하는, VT 디바이스에 의해 동작가능한 방법.
  11. 제 10 항에 있어서,
    제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 상기 정보를 검출하는 것에 응답하여, 상기 스위칭을 표시하는 상기 정보에 적어도 부분적으로 기초하여 상기 디코더를 재구성하는 단계를 더 포함하는, VT 디바이스에 의해 동작가능한 방법.
  12. 제 11 항에 있어서,
    상기 메모리는 코딩된 픽처 버퍼 (CPB) 를 포함하는, VT 디바이스에 의해 동작가능한 방법.
  13. 제 12 항에 있어서,
    상기 디코더를 재구성하는 단계는 상기 CPB 를 클리어 아웃하는 단계를 포함하는, VT 디바이스에 의해 동작가능한 방법.
  14. 제 10 항에 있어서,
    상기 네트워크로부터 상기 I-프레임을 수신하는 단계;
    상기 I-프레임을 디코딩하는 단계; 및
    디코딩된 상기 I-프레임을 상기 제 2 디스플레이에 송신하는 단계
    를 더 포함하는, VT 디바이스에 의해 동작가능한 방법.
  15. 제 10 항에 있어서,
    상기 제 2 디스플레이는 상기 VT 디바이스 외부의 디스플레이 디바이스와 연관되는, VT 디바이스에 의해 동작가능한 방법.
  16. 제 10 항에 있어서,
    제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 상기 정보는 상기 제 2 디스플레이와 연관된 서피스 어드레스를 포함하는, VT 디바이스에 의해 동작가능한 방법.
  17. 제 16 항에 있어서,
    상기 제 1 디스플레이 상에 디코딩된 상기 VT 데이터의 적어도 부분을 렌더링하는 단계를 더 포함하고,
    상기 제 1 디스플레이는 제 1 서피스 어드레스와 연관되고, 그리고 상기 제 2 디스플레이와 연관된 상기 서피스 어드레스는 제 2 서피스 어드레스인, VT 디바이스에 의해 동작가능한 방법.
  18. 제 10 항에 있어서,
    상기 I-프레임에 대한 상기 요청은 픽처 손실 표시 (PLI) 메시지 또는 풀 인트라 요청 (FIR) 메시지 중 하나를 포함하는, VT 디바이스에 의해 동작가능한 방법.
  19. 명령들을 저장하고 있는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 실행될 때, 디바이스의 프로세서로 하여금,
    네트워크로부터 영상 통화 (VT) 데이터를 수신하게 하고;
    디코더에서 상기 VT 데이터를 디코딩하게 하고;
    디코딩된 상기 VT 데이터를 메모리에 저장하게 하고; 그리고
    제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 정보를 검출하는 것에 응답하여, 상기 네트워크에 I-프레임에 대한 요청을 송신하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    실행될 때, 상기 프로세서로 하여금, 제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 상기 정보를 검출하는 것에 응답하여, 상기 스위칭을 표시하는 상기 정보에 적어도 부분적으로 기초하여 상기 디코더를 재구성하게 하는 명령들을 추가로 저장하고 있는, 비일시적 컴퓨터 판독가능 저장 매체.
  21. 제 19 항에 있어서,
    상기 메모리는 코딩된 픽처 버퍼 (CPB) 를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  22. 제 19 항에 있어서,
    실행될 때, 상기 프로세서로 하여금,
    상기 네트워크로부터 상기 I-프레임을 수신하게 하고;
    상기 I-프레임을 디코딩하게 하고; 그리고
    디코딩된 상기 I-프레임을 상기 제 2 디스플레이에 송신하게 하는
    명령들을 추가로 저장하고 있는, 비일시적 컴퓨터 판독가능 저장 매체.
  23. 제 19 항에 있어서,
    제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 상기 정보는 상기 제 2 디스플레이와 연관된 서피스 어드레스를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  24. 영상 통화 (VT) 를 수행하기 위한 비디오 코딩 디바이스로서,
    네트워크로부터 VT 데이터를 수신하기 위한 수단;
    상기 VT 데이터를 디코딩하기 위한 수단;
    디코딩된 상기 VT 데이터를 저장하기 위한 수단;
    제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 정보를 검출하기 위한 수단; 및
    상기 스위칭을 표시하는 상기 정보를 검출하는 것에 응답하여 상기 네트워크에 I-프레임에 대한 요청을 송신하기 위한 수단
    을 포함하는, VT 를 수행하기 위한 비디오 코딩 디바이스.
  25. 제 24 항에 있어서,
    상기 제 1 디스플레이로부터 상기 제 2 디스플레이로의 상기 스위칭을 표시하는 상기 정보를 검출하는 것에 응답하여, 상기 디코딩하기 위한 수단을 재구성하기 위한 수단을 더 포함하고, 상기 디코딩하기 위한 수단은 상기 스위칭을 표시하는 상기 정보에 적어도 부분적으로 기초하는, VT 를 수행하기 위한 비디오 코딩 디바이스.
  26. 제 24 항에 있어서,
    상기 네트워크로부터 상기 I-프레임을 수신하기 위한 수단;
    상기 I-프레임을 디코딩하기 위한 수단; 및
    디코딩된 상기 I-프레임을 상기 제 2 디스플레이에 송신하기 위한 수단
    을 더 포함하는, VT 를 수행하기 위한 비디오 코딩 디바이스.
  27. 제 24 항에 있어서,
    제 1 디스플레이로부터 제 2 디스플레이로의 스위칭을 표시하는 상기 정보는 상기 제 2 디스플레이와 연관된 서피스 어드레스를 포함하는, VT 를 수행하기 위한 비디오 코딩 디바이스.
  28. 제 27 항에 있어서,
    상기 서피스 어드레스는 상기 비디오 코딩 디바이스 외부의 디스플레이 디바이스를 표시하는, VT 를 수행하기 위한 비디오 코딩 디바이스.
  29. 제 27 항에 있어서,
    제 1 서피스 어드레스와 연관된 제 1 디스플레이 상에 디코딩된 상기 VT 데이터의 적어도 부분을 렌더링하기 위한 수단을 더 포함하고, 상기 제 2 디스플레이와 연관된 상기 서피스 어드레스는 제 2 서피스 어드레스인, VT 를 수행하기 위한 비디오 코딩 디바이스.
  30. 제 24 항에 있어서,
    상기 I-프레임에 대한 상기 요청은 픽처 손실 표시 (PLI) 메시지 또는 풀 인트라 요청 (FIR) 메시지 중 하나를 포함하는, VT 를 수행하기 위한 비디오 코딩 디바이스.
KR1020187000847A 2015-07-21 2016-07-13 영상 통화에서의 디스플레이 디바이스들의 스위칭 KR20180031673A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/805,318 2015-07-21
US14/805,318 US10085029B2 (en) 2015-07-21 2015-07-21 Switching display devices in video telephony
PCT/US2016/042128 WO2017015032A1 (en) 2015-07-21 2016-07-13 Switching display devices in video telephony

Publications (1)

Publication Number Publication Date
KR20180031673A true KR20180031673A (ko) 2018-03-28

Family

ID=56618233

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187000847A KR20180031673A (ko) 2015-07-21 2016-07-13 영상 통화에서의 디스플레이 디바이스들의 스위칭

Country Status (7)

Country Link
US (1) US10085029B2 (ko)
EP (1) EP3326361A1 (ko)
JP (1) JP2018529249A (ko)
KR (1) KR20180031673A (ko)
CN (1) CN107852479A (ko)
BR (1) BR112018001221A2 (ko)
WO (1) WO2017015032A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102277258B1 (ko) * 2014-02-27 2021-07-14 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
US10594661B1 (en) 2017-06-13 2020-03-17 Parallels International Gmbh System and method for recovery of data packets transmitted over an unreliable network
CA3116181A1 (en) * 2018-11-13 2020-05-22 Dolby Laboratories Licensing Corporation Audio processing in immersive audio services
CN113542657B (zh) * 2020-04-15 2023-07-28 成都鼎桥通信技术有限公司 画面黑屏后的恢复方法和装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11220711A (ja) * 1998-02-03 1999-08-10 Fujitsu Ltd 多地点会議システム及び会議端末装置
EP1454486A4 (en) * 2001-12-04 2009-03-25 Polycom Inc METHOD AND DEVICE FOR MIXING COMPRESSED VIDEO SIGNALS
JPWO2005094077A1 (ja) * 2004-03-25 2008-02-14 日本電気株式会社 多地点会議システムおよび多地点会議装置
US20070100940A1 (en) 2005-08-25 2007-05-03 Glowpoint, Inc. Systems and methods for implementing a single-number follow me service for videoconferencing
US7822811B2 (en) 2006-06-16 2010-10-26 Microsoft Corporation Performance enhancements for video conferencing
US8773494B2 (en) * 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
US8339439B2 (en) 2007-03-29 2012-12-25 St-Ericsson Sa Method of speeding up video recovery of videotelephony after an interruption and mobile terminal and system using the same
CN101796846B (zh) 2007-04-17 2013-03-13 诺基亚公司 基于反馈的可缩放视频编码
CN101394568B (zh) 2007-09-20 2011-06-15 华为技术有限公司 视频数据的更新方法及其装置和系统
CN101159843A (zh) * 2007-10-29 2008-04-09 中兴通讯股份有限公司 在视频会议中改进视频切换效果的图像切换方法及系统
US8406296B2 (en) 2008-04-07 2013-03-26 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback
CN101668158B (zh) * 2008-09-05 2011-10-26 中兴通讯股份有限公司 视频切换处理方法和多点控制单元
US8514265B2 (en) * 2008-10-02 2013-08-20 Lifesize Communications, Inc. Systems and methods for selecting videoconferencing endpoints for display in a composite video image
KR101728911B1 (ko) 2010-01-05 2017-04-20 엘지전자 주식회사 화상 통화 연결 방법, 그를 이용한 화상 통신 장치 및 디스플레이 장치
CN102572365B (zh) * 2010-12-22 2015-05-27 深圳市同洲软件有限公司 一种视频通话切换方法、移动终端和系统
CN102075728B (zh) 2011-01-18 2015-08-12 中兴通讯股份有限公司 一种共享音频和/或视频的方法及系统
JP2014143496A (ja) 2013-01-22 2014-08-07 Canon Inc 送信装置、送信装置の制御方法およびプログラム
JP6307615B2 (ja) 2013-09-06 2018-04-04 ヴィド スケール インコーポレイテッド リアルタイムビデオアプリケーションのためのルータのためのユーザ体感品質に基づくキュー管理
US9654405B2 (en) * 2014-11-14 2017-05-16 Dialogic Corporation Effective intra-frame refresh in multimedia communications over packet networks

Also Published As

Publication number Publication date
US20170026650A1 (en) 2017-01-26
US10085029B2 (en) 2018-09-25
CN107852479A (zh) 2018-03-27
EP3326361A1 (en) 2018-05-30
BR112018001221A2 (pt) 2018-09-11
WO2017015032A1 (en) 2017-01-26
JP2018529249A (ja) 2018-10-04

Similar Documents

Publication Publication Date Title
US10791261B2 (en) Interactive video conferencing
CN1242623C (zh) 视频编码方法、解码方法以及相关的编码器和解码器
JP2018529261A (ja) 送信者側ビデオ電話ダウングレード
US10123040B2 (en) Intra-coded video frame caching for video telephony sessions
JP6285027B2 (ja) ビデオ電話におけるビデオ中断インジケーション
WO2014039294A1 (en) Adaptation of encoding and transmission parameters in pictures that follow scene changes
US10085029B2 (en) Switching display devices in video telephony
JP2010519789A (ja) 逆方向リンクおよび順方向リンクのビデオデータエラーを区別するエラーフィルタ
CN104270594A (zh) 数据包发送与接收的方法及设备
US9313508B1 (en) Feeding intra-coded video frame after port reconfiguration in video telephony
CN105979284B (zh) 移动终端视频共享方法
US20240267421A1 (en) Signaling media timing information from a media application to a network element
CN115102927B (zh) 一种保持视频清晰的sip对讲方法、系统、存储装置
JPWO2011142312A1 (ja) リモート型携帯通信システム、サーバ装置及びリモート型携帯通信システム制御方法
WO2024094277A1 (en) Controlling the sending of at least one picture over a communication network