KR20160136333A - 비디오 배향 협상 - Google Patents
비디오 배향 협상 Download PDFInfo
- Publication number
- KR20160136333A KR20160136333A KR1020167027260A KR20167027260A KR20160136333A KR 20160136333 A KR20160136333 A KR 20160136333A KR 1020167027260 A KR1020167027260 A KR 1020167027260A KR 20167027260 A KR20167027260 A KR 20167027260A KR 20160136333 A KR20160136333 A KR 20160136333A
- Authority
- KR
- South Korea
- Prior art keywords
- orientation
- video processing
- processing device
- video
- message
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 193
- 238000000034 method Methods 0.000 claims abstract description 107
- 238000004891 communication Methods 0.000 claims abstract description 80
- 230000000977 initiatory effect Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 5
- 230000001413 cellular effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 17
- 230000004044 response Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 239000000835 fiber Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 241000207875 Antirrhinum Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25825—Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25833—Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
배향 협상을 위한 시스템들, 디바이스들, 및 방법들이 설명된다. 하나의 혁신적인 양태에서, 방법은 비디오 프로세싱 디바이스에서, 그 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 배향 협상 메시지를 수신하는 단계를 포함한다. 배향 협상 메시지는 제 1 디바이스와 연관된 적어도 하나의 특성 및 제 1 디바이스의 배향의 표시를 포함한다. 방법은 또한, 제 1 디바이스의 수신된 적어도 하나의 특성에 적어도 부분적으로 기초하여 배향 프로세싱을 수행하도록 비디오 프로세싱 디바이스 또는 제 1 디바이스 중 어느 하나를 식별하는 단계를 포함한다. 방법은 제 1 디바이스에, 상기 식별하는 단계의 결과를 표시하는 정보를 포함하는 메시지를 송신하는 단계를 더 포함한다. 식별된 디바이스는 통신 세션에 포함된 메시지들의 회전과 같은 후속 배향 프로세싱을 수행한다.
Description
본 발명은 비디오 통신에 관한 것으로, 보다 구체적으로는 비디오 정보를 통신하는 2 개 이상의 디바이스들 사이의 배향 프로세싱의 협상에 관한 것이다.
모바일 무선 통신 디바이스들, 개인 휴대 정보 단말기들 (PDA들), 랩톱 컴퓨터들, 데스크톱 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들 등을 포함하는, 광범위한 전자 디바이스들은 여러 가지의 이미지 및 비디오 디스플레이 능력들을 갖는다.
이러한 전자 디바이스들 상에서 비디오를 캡처하는 것은 레코딩 디바이스가 회전될 때 상이한 배향들로 픽처들이 레코딩되게 한다. 일부 경우들에서, 모바일 디바이스의 카메라에 의해 캡처된 픽처의 직사각형 형상은 장면 정보를 더 잘 캡처하기 위해 특정한 방향으로 카메라를 배향시키는 것을 선호하게 할 수 있다 (예를 들어, 가로보기 (landscape) 대 세로보기 (portrait)). 그러나, 픽처가 캡처되는 배향에 관한 어떤 정보 없이는, 디스플레이 디바이스가 픽처를 적절히 디스플레이할 수 없다, 예를 들어, 픽처의 프리젠테이션은 부적절하게 회전되거나 또는 뒤집힐 (upside-down) 수도 있다. 일부 시나리오들에서, 디스플레이 디바이스는 회전된 프리젠테이션을 보상하기 위해 뷰어에 의해 물리적으로 회전될 수 없다. 예를 들어, HDTV 등의 대형 고정형 디스플레이는 물리적 회전될 수 없다. 또한, 양방향 비디오 전화 회의의 경우에, 디스플레이 디바이스의 회전은 또한 디바이스의 카메라를 회전시킬 것이다. 이것은 다른 단말기로 전송되는 비디오를 회전시키고 카메라가 그것이 캡처하고 있는 장면을 더 잘 매칭시키도록 배향되는 것을 막기 때문에 바람직하지 않을 수 있다. 픽처 배향의 표현 (representation) 들의 설명은 2013년 6월 14일자로 출원된 공동 양도된 미국출원 제13/918477호에서 발견될 수 있으며, 그 전부가 여기에 참조에 의해 통합된다.
프리젠테이션을 최적화하기 위한 비디오의 조절은 목적지 디바이스에 도달하기 이전에 수행될 수도 있거나, 또는 수신 디바이스에 의해 수행될 수도 있다. 배향 프로세싱을 조정하기 위한 시스템들 및 방법들에 대한 필요성이 존재한다.
본 발명의 시스템들, 방법들, 및 디바이스들 각각은 여러 양태들을 가지며, 이 양태들 중 어떤 단일의 양태도 그 바람직한 속성들을 단독으로 담당하지 않는다. 다음에 오는 청구항들에 의해 표현되는 바와 같이 본 발명의 범위를 제한하지 않고, 일부 피처 (feature) 들이 이제 간략하게 논의될 것이다. 이 논의를 고려한 후에, 그리고 특히 "상세한 설명" 이라는 제목이 붙여진 섹션을 읽은 후에, 당업자는 본 발명의 피처들이 비디오 배향 프로세싱의 협상을 포함하는 이점들을 어떻게 제공하는지를 이해할 것이다.
하나의 혁신적인 양태에서, 방법이 제공된다. 방법은 비디오 프로세싱 디바이스에서, 그 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 배향 협상 메시지를 수신하는 단계를 포함한다. 배향 협상 메시지는 제 1 디바이스와 연관된 적어도 하나의 특성 및 제 1 디바이스의 배향의 표시를 포함한다. 방법은 또한, 배향 프로세싱을 수행하도록 비디오 프로세싱 디바이스 또는 제 1 디바이스 중 어느 하나를 식별하는 단계를 포함한다. 식별은 제 1 디바이스의 수신된 적어도 하나의 특성에 기초한다. 방법은 제 1 디바이스에 메시지를 송신하는 단계를 더 포함한다. 메시지는 식별하는 단계의 결과를 표시하는 정보를 포함한다.
다른 혁신적인 양태에서, 비디오 프로세싱 디바이스가 제공된다. 디바이스는 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 배향 협상 메시지를 수신하도록 구성된 수신기를 포함한다. 배향 협상 메시지는 제 1 디바이스와 연관된 적어도 하나의 특성 및 제 1 디바이스의 배향의 표시를 포함한다. 디바이스는 배향 프로세싱을 수행하도록 비디오 프로세싱 디바이스 또는 제 1 디바이스 중 어느 하나를 식별하는 메시지를 생성하도록 구성된 협상 메시지 생성기를 더 포함한다. 식별은 제 1 디바이스의 수신된 적어도 하나의 특성에 적어도 부분적으로 기초한다. 디바이스는 또한, 제 1 디바이스에 메시지를 송신하도록 구성된 송신기를 포함한다.
또 다른 혁신적인 양태에서, 비디오 프로세싱 디바이스가 제공된다. 디바이스는 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 배향 협상 메시지를 수신하는 수단을 포함한다. 배향 협상 메시지는 제 1 디바이스와 연관된 적어도 하나의 특성 및 제 1 디바이스의 배향의 표시를 포함한다. 디바이스는 또한, 제 1 디바이스의 수신된 적어도 하나의 특성에 적어도 부분적으로 기초하여 배향 프로세싱을 수행하도록 비디오 프로세싱 디바이스 또는 제 1 디바이스 중 어느 하나를 식별하는 메시지를 생성하는 수단을 포함한다. 디바이스는 또한, 제 1 디바이스에 메시지를 송신하는 수단을 포함한다.
추가 혁신적인 양태에서, 비디오 프로세싱 디바이스의 프로세서에 의해 실행가능한 명령들을 포함하는 비일시적 컴퓨터 판독가능 매체가 제공된다. 명령들은, 프로세서에 의해 실행될 경우, 비디오 프로세싱 디바이스로 하여금, 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 배향 협상 메시지를 수신하게 한다. 배향 협상 메시지는 제 1 디바이스와 연관된 적어도 하나의 특성 및 제 1 디바이스의 배향의 표시를 포함한다. 명령들은 또한, 디바이스로 하여금, 제 1 디바이스의 수신된 적어도 하나의 특성에 적어도 부분적으로 기초하여 배향 프로세싱을 수행하도록 비디오 프로세싱 디바이스 또는 제 1 디바이스 중 어느 하나를 식별하게 한다. 명령들은 또한, 디바이스로 하여금, 제 1 디바이스에 메시지를 송신하게 한다. 메시지는 식별하는 것의 결과를 표시하는 정보를 포함한다.
본 발명과 일치하는 이들 및 다른 구현들은 다음의 도면들을 참조하여 이하 추가 설명된다.
도 1a, 도 1b, 및 도 1c 는 배향 인식 통신 디바이스들의 기능적 블록 다이어그램들을 예시한다.
도 2 는 일 예시적인 비디오 인코딩 및 디코딩 시스템의 기능적 블록 다이어그램을 예시한다.
도 3 은 일 예시적인 비디오 프로세싱 디바이스의 기능적 블록 다이어그램을 도시한다.
도 4 는 일 예시적인 배향 협상 프로세서의 기능적 블록 다이어그램을 예시한다.
도 5 는 로컬단 디바이스와 원단 디바이스 사이의 일 예의 통신 세션에 대한 호출 플로우 다이어그램을 도시한다.
도 6 은 배향 프로세싱 협상의 방법의 일 예에 대한 프로세스 플로우 다이어그램을 도시한다.
도 7 은 배향 프로세싱 재협상의 방법의 일 예에 대한 프로세스 플로우 다이어그램을 도시한다.
도 8 은 배향 협상의 방법에 대한 프로세스 플로우 다이어그램을 도시한다.
도 9 는 중재된 배향 프로세싱 협상의 기능적 블록 다이어그램을 도시한다.
도면들에서, 가능한 정도까지는, 동일하거나 또는 유사한 기능들을 갖는 엘리먼트들은 동일한 명칭들을 갖는다.
도 2 는 일 예시적인 비디오 인코딩 및 디코딩 시스템의 기능적 블록 다이어그램을 예시한다.
도 3 은 일 예시적인 비디오 프로세싱 디바이스의 기능적 블록 다이어그램을 도시한다.
도 4 는 일 예시적인 배향 협상 프로세서의 기능적 블록 다이어그램을 예시한다.
도 5 는 로컬단 디바이스와 원단 디바이스 사이의 일 예의 통신 세션에 대한 호출 플로우 다이어그램을 도시한다.
도 6 은 배향 프로세싱 협상의 방법의 일 예에 대한 프로세스 플로우 다이어그램을 도시한다.
도 7 은 배향 프로세싱 재협상의 방법의 일 예에 대한 프로세스 플로우 다이어그램을 도시한다.
도 8 은 배향 협상의 방법에 대한 프로세스 플로우 다이어그램을 도시한다.
도 9 는 중재된 배향 프로세싱 협상의 기능적 블록 다이어그램을 도시한다.
도면들에서, 가능한 정도까지는, 동일하거나 또는 유사한 기능들을 갖는 엘리먼트들은 동일한 명칭들을 갖는다.
상세한 설명
조정된 비디오 배향 (Coordinated Video Orientation; CVO) 은 이미지가 초기에 협상된 것과 동일한 배향으로 캡처되었는지를 표시하기 위해 전송기가 대역-내 (in-band) 시그널링을 수신기에 제공하게 한다. 이 정보에 대한 필요성은 도 1a 및 도 1b 에 도시된다.
도 1a 는 2 개의 통신 디바이스들 (102 및 104) 을 도시한다. 일부 구현들에서, 비디오 신호를 송신하는 통신 디바이스는 로컬단 (local end) 으로 지칭될 수도 있다. 도 1a 에서는, 통신 디바이스 (102) 가 로컬단으로서 기능한다. 원단 (far end) 은 비디오 신호를 수신하는 통신 디바이스를 지칭하는데 이용될 수도 있다. 도 1a 에 도시한 바와 같이, 통신 디바이스 (102) 및 통신 디바이스 (104) 는 가로보기 모드 (landscape mode) 로 배향된다. 원단과 로컬단 양자가 가로보기 모드로 배향될 때, 가로보기 모드로 통신 디바이스 (102) 에서 캡처된 비디오는 통신 디바이스 (104) 에서 동일한 배향으로 디스플레이될 수도 있다.
도 1b 는 통신 디바이스들 (102 및 104) 에 대한 제 2 구성을 도시한다. 도 1b 에 도시한 바와 같이, 로컬단 디바이스 (102) 는 90 도 회전되었다. 그 결과, 로컬단 디바이스 (102) 는 이제 소위 세로보기 모드 (portrait mode) 로 있는 한편 원단 디바이스 (104) 는 여전히 가로보기 모드로 있다. 수신된 비디오를 조절하지 않으면, 원단 디바이스 (104) 는 도시한 바와 같이 수평으로 수신된 비디오를 렌더링하도록 구성될 수도 있다.
일부 CVO 프로토콜들은 로컬단이 비디오를 정확하게 디스플레이하게 하는 실시간 전송 프로토콜 (RTP) 스트림 내와 같이, 대역-내 비디오 배향 정보를 포함한다. 그러나, CVO 피처는 항상 원단에서 비디오를 재배향시키는 것에 대한 부담을 지우고 이것이 항상 최적은 아니다. 본 명세서에서 추가 상세로 설명된 피처들은 효율을 향상시키고 배향 프로세싱과 연관된 부담(들) (예를 들어, 프로세서, 전력, 시간, 메모리, 대역폭, 열 (thermal) 등) 을 감소시키는 방식들을 제공한다.
도 1c 는 비디오 이미지가 조절될 수도 있는 하나의 방식을 도시한다. 도시한 바와 같이, 비디오 이미지는 회전될 수도 있다. 일부 구현들에서, 비디오 이미지는 가로보기 디스플레이가능한 포맷을 피팅하도록 사이즈가 감소될 수도 있다. 조절 프로세스는 프로세서, 시간, 전력, 열 등과 같은 리소스들의 사용을 수반한다는 것이 인식될 것이다. 이에 따라, 배향 조절 프로세싱을, 어느 디바이스가 수행할지, 즉 로컬단 디바이스가 수행할지 또는 원단 디바이스가 수행할지를 조정하는 것이 바람직할 수도 있다.
다음의 설명에서, 특정 상세들은 예들의 완전한 이해를 제공하기 위해 주어진다. 그러나, 그 예들이 이들 특정 상세들 없이 실시될 수도 있다는 것이 당업자에 의해 이해될 것이다. 예를 들어, 전기적 컴포넌트들/디바이스들은 그 예들을 불필요한 상세로 모호하게 하지 않기 위하여 블록 다이어그램들로 도시될 수도 있다. 다른 인스턴스들에서는, 이러한 컴포넌트들, 다른 구조들, 및 기법들은 그 예들을 추가 설명하기 위해 상세히 도시될 수도 있다.
또한, 예들은 플로우차트, 플로우 다이어그램, 유한 상태 다이어그램, 구조 다이어그램, 또는 블록 다이어그램으로서 묘사되는 프로세스로서 설명될 수도 있다는 것에 주목한다. 플로우차트는 순차 프로세스로서 동작들을 설명할 수도 있지만, 그 동작들 대부분은 병렬로, 또는 동시발생적으로 수행될 수도 있고, 프로세스는 반복될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는 그 동작들이 완료될 때 종료된다. 프로세스는 방법, 함수, 프로시저, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 소프트웨어 함수에 대응할 때, 그 종료는 함수의 호출 함수 또는 메인 함수로의 복귀에 대응한다.
당업자들은 정보 및 메시지들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 이용하여 표현될 수도 있다는 것을 이해할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는, 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학장들 또는 광학 입자들, 또는 그 임의의 조합에 의해 표현될 수도 있다.
첨부된 청구항들의 범위 내의 실시형태들의 다양한 양태들은 이하 설명된다. 본 명세서에서 설명된 양태들은 광범위한 형태들로 구현될 수도 있고 본 명세서에서 설명된 임의의 특정 구조 및/또는 기능은 단지 예시적일 뿐이라는 것이 명백해야 한다. 본 개시에 기초하여, 당업자는 본 명세서에서 설명된 양태가 임의의 다른 양태들에 독립적으로 구현될 수도 있고 이들 양태들 중 2 개 이상이 다양한 방식들로 결합될 수도 있다는 것을 인식해야 한다. 예를 들어, 본 명세서에 기재된 임의의 수의 양태들을 이용하여 장치가 구현될 수도 있고 및/또는 방법이 실시될 수도 있다. 또한, 본 명세서에 기재된 양태들 중 하나 이상에 더하여 또는 이들 이외에 다른 구조 및/또는 기능을 이용하여 이러한 장치가 구현될 수도 있고 및/또는 이러한 방법이 실시될 수도 있다.
도 2 는 일 예시적인 비디오 인코딩 및 디코딩 시스템의 기능적 블록 다이어그램을 예시한다. 도 2 에 도시한 바와 같이, 시스템 (10) 은 인코딩된 비디오를 통신 채널 (15) 을 통해 목적지 디바이스 (16) 에 송신하도록 구성될 수도 있는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 모바일 디바이스들 또는 일반적으로 고정형 디바이스들을 포함하는, 광범위한 디바이스들 중 임의의 것을 포함할 수도 있다. 일부 경우들에서, 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 무선 통신 디바이스들, 이를 테면 무선 핸드셋들, 소위 셀룰러 또는 위성 라디오전화기들, 개인 휴대 정보 단말기들 (PDA들), 모바일 미디어 플레이어들, 또는 무선일 수도 있거나 또는 무선이 아닐 수도 있는 통신 채널 (15) 을 통해 비디오 정보를 통신할 수 있는 임의의 디바이스들을 포함한다. 소스 디바이스들은 셋톱 박스들, 콘솔들 (예를 들어, 게이밍 콘솔, DVD/블루-레이 콘솔), 디지털 비디오 수신기들/레코더들, 태블릿 컴퓨터들, 핸드헬드 게이밍 콘솔들 등을 또한 포함할 수도 있다. 그러나, 호환성의 프레임-패킷화된 스테레오스코픽 3 차원 데이터 통신들에 관한 본 개시의 기법들은 많은 상이한 시스템들 및 세팅들에서 이용될 수도 있다. 도 2 는 단지 이러한 시스템의 하나의 예일 뿐이다.
도 2 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (20), 비디오 인코더 (22), 변조기/복조기 (모뎀) (23) 및 송신기 (24) 를 포함할 수도 있다. 목적지 디바이스 (16) 는 수신기 (26), 모뎀 (27), 비디오 디코더 (28), 및 디스플레이 디바이스 (30) 를 포함할 수도 있다. 본 개시에 따르면, 소스 디바이스 (12) 의 비디오 인코더 (22) 는 픽처들의 시퀀스를 인코딩하도록 구성될 수도 있다. 비디오 인코더 (22) 는 3D 비디오 데이터를 생성하기 위해 비디오 픽처들의 각각에 적용될 수 있는 파라미터들의 세트를 포함하는 3D 변환 정보와 같은 픽처들과 연관된 추가적인 정보를 인코딩하도록 구성될 수도 있다. 모뎀 (23) 및 송신기 (24) 는 무선 신호들을 변조하여 목적지 디바이스 (16) 에 송신할 수도 있다. 이렇게 하여, 소스 디바이스 (12) 는 픽처들의 인코딩된 시퀀스를 임의의 추가적인 연관된 정보와 함께 목적지 디바이스 (16) 에 통신한다.
수신기 (26) 및 모뎀 (27) 은 소스 디바이스 (12) 로부터 수신된 무선 신호들을 수신 및 복조한다. 이에 따라, 비디오 디코더 (28) 는 픽처들의 시퀀스를 수신할 수도 있다. 비디오 디코더 (28) 는 픽처들의 코딩된 시퀀스를 디코딩하기 위해 이용될 수 있는 추가적인 정보를 또한 수신할 수도 있다.
소스 디바이스 (12) 및 목적지 디바이스 (16) 는 소스 디바이스 (12) 가 목적지 디바이스 (16) 로의 송신을 위해 코딩된 비디오 데이터를 생성하는 그러한 코딩 디바이스들의 예들일 뿐이다. 일부 경우들에서, 디바이스들 (12, 16) 은 디바이스들 (12, 16) 의 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수도 있다. 이런 이유로, 시스템 (10) 은 예를 들어, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 또는 비디오 텔레포니를 위해, 비디오 디바이스들 (12, 16) 사이에서 일방향 (one-way) 또는 양방향 (two-way) 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (20) 는 비디오 캡처 디바이스, 이를 테면 비디오 카메라, 이전에 캡처된 비디오를 포함하는 비디오 아카이브, 또는 비디오 콘텐츠 제공자로부터의 비디오 피드를 포함할 수도 있다. 추가 대안으로서, 비디오 소스 (20) 는 소스 비디오로서 컴퓨터 그래픽스-기반 데이터, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터-생성된 비디오의 조합을 생성할 수도 있다. 일부 경우들에서, 비디오 소스 (20) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 각각의 경우에, 캡처된, 사전-캡처된 또는 컴퓨터-생성된 비디오는 비디오 인코더 (22) 에 의해 인코딩될 수도 있다. 인코딩 프로세스의 일부로서, 비디오 인코더 (22) 는 배향 프로세싱을 협상하는 것 및 협상들을 고려하여 배향 조절 프로세싱을 수행하는 것과 같은, 본 명세서에서 설명된 방법들 중 하나 이상을 구현하도록 구성될 수도 있다.
인코딩된 비디오 정보는 그 후 통신 표준, 예를 들어, 이를 테면 코드 분할 다중 액세스 (CDMA) 또는 또 다른 통신 표준에 따라 모뎀 (23) 에 의해 변조되고, 송신기 (24) 를 통해 목적지 디바이스 (16) 에 송신될 수도 있다. 인코딩된 비디오 정보는 픽처 배향 정보를 포함할 수도 있다. 모뎀 (23) 은 다양한 믹서들, 필터들, 증폭기들 또는 신호 변조를 위해 설계된 다른 컴포넌트들을 포함할 수도 있다. 송신기 (24) 는 증폭기들, 필터들, 및 하나 이상의 안테나들을 포함하는, 데이터를 송신하기 위해 설계된 회로들을 포함할 수도 있다.
목적지 디바이스 (16) 의 수신기 (26) 는 채널 (15) 을 통해 정보를 수신하도록 구성될 수도 있다. 모뎀 (27) 은 그 정보를 복조하도록 구성될 수도 있다. 비디오 인코딩 프로세스는 배향 협상/프로세싱을 포함하기 위해 본 명세서에서 설명된 기법들 중 하나 이상을 구현할 수도 있다. 채널 (15) 을 통해 통신된 정보는 본 개시와 일치하는 비디오 디코더 (28) 에 의해 이용될 수도 있는, 비디오 인코더 (22) 에 의해 정의된 정보를 포함할 수도 있다. 디스플레이 디바이스 (30) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 또 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수도 있다.
도 2 의 예에서, 통신 채널 (15) 은 임의의 무선 또는 유선 통신 매체, 이를 테면 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들, 또는 무선 및 유선 매체들의 임의의 조합을 포함할 수도 있다. 이에 따라, 모뎀 (23) 및 송신기 (24) 는 많은 가능한 무선 프로토콜들, 유선 프로토콜들 또는 유선 및 무선 프로토콜들을 지원할 수도 있다. 통신 채널 (15) 은 하나 이상의 네트워크들의 상호연결을 포함하는, 패킷-기반 네트워크, 이를 테면 로컬 영역 네트워크 (LAN), 광역 네트워크 (WAN), 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 통신 채널 (15) 은 일반적으로, 소스 디바이스 (12) 로부터 목적지 디바이스 (16) 로 비디오 데이터를 송신하기 위한, 임의의 적합한 통신 매체, 또는 상이한 통신 매체들의 콜렉션을 표현한다. 통신 채널 (15) 은 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (16) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다. 본 개시의 기법들은 하나의 디바이스로부터 또 다른 디바이스로의 인코딩된 데이터의 통신을 반드시 요구하는 것은 아니며, 상호간 디코딩 없이 인코딩 시나리오들에 적용할 수도 있다. 또한, 본 개시의 양태들은 상호간 인코딩 없이 디코딩 시나리오들에 적용할 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 는 MPEG-4, 파트 10, 및 AVC (Advanced Video Coding) 로서 대안적으로 설명된 ITU-T H.264 표준, 또는 HEVC (High Efficiency Video Coding) 로 명명된 차세대 비디오 코딩 표준과 같은 비디오 압축 표준과 일치하여 동작할 수도 있다. 그러나, 본 개시의 기법들은 임의의 특정한 코딩 표준 또는 그 확장들에 제한되지는 않는다. 도 2 에 도시하지 않았지만, 일부 양태들에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 오디오 인코더 및 디코더와 각각 통합될 수도 있고, 공통 데이터 스트림 또는 별개의 데이터 스트림들로 오디오와 비디오 양자의 인코딩을 핸들링하기 위해, 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능하다면, MUX-DEMUX 유닛들은 멀티플렉서 프로토콜 (예를 들어, ITU H.223) 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 따를 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적 회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 이산 로직 회로, 마이크로프로세서 또는 다른 플랫폼 상에서 실행중인 소프트웨어, 하드웨어, 펌웨어 또는 그 임의의 조합으로서 구현될 수도 있다. 비디오 인코더 (22) 및 비디오 디코더 (28) 의 각각은 어느 하나가 각각의 모바일 디바이스, 가입자 디바이스, 브로드캐스트 디바이스, 서버 등에 결합된 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있는, 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있다.
비디오 시퀀스는 통상적으로 일련의 비디오 픽처들을 포함한다. 비디오 인코더 (22) 및 비디오 디코더 (28) 는 비디오 데이터를 인코딩 및 디코딩하기 위하여 개개의 비디오 픽처들 내의 비디오 블록들에 대해 동작할 수도 있다. 비디오 블록들은 고정된 또는 가변하는 사이즈들을 가질 수도 있고, 특정된 코딩 표준에 따라 사이즈가 다를 수도 있다. 각각의 비디오 픽처는 일련의 슬라이스들 또는 다른 독립적으로 디코딩가능한 유닛들을 포함할 수도 있다. 각각의 슬라이스는 일련의 매크로블록들 또는 다른 비디오 블록들, 이를 테면 코딩 트리 유닛들을 포함할 수도 있는데, 이들은 서브-블록들로 배열될 수도 있다. 일 예로서, ITU-T H.264 표준은 다양한 블록 사이즈들의 인트라 예측, 이를 테면 루마 컴포넌트들에 대해 16 바이 (by) 16, 8 바이 8, 또는 4 바이 4, 그리고 크로마 컴포넌트들에 대해 8 바이 8 을 지원할 뿐만 아니라, 다양한 블록 사이즈들의 인터 예측, 이를 테면 루마 컴포넌트들에 대해 16 바이 16, 16 바이 8, 8 바이 16, 8 바이 8, 8 바이 4, 4 바이 8 및 4 바이 4 및 크로마 컴포넌트들에 대해 대응하는 스케일링된 사이즈들을 지원한다. 비디오 블록들은 예를 들어, 변환 프로세스, 이를 테면 이산 코사인 변환 또는 개념적으로 유사한 변환 프로세스에 후속하여, 픽셀 데이터의 블록들, 또는 변환 계수들의 블록들을 포함할 수도 있다.
매크로블록들, 코딩 트리 유닛들, 또는 다른 비디오 블록들은 슬라이스들, 슬라이스 그룹들, 타일들, 또는 다른 독립적인 유닛들과 같은 독립적으로 디코딩가능한 유닛들로 그룹화될 수도 있다. 매크로블록들, 코딩 트리 유닛들, 또는 다른 비디오 블록들은 의존적인 슬라이스들, 엔트로피 슬라이스들, 파면 병렬 프로세싱 파들, 또는 다른 의존적인 유닛들과 같은 의존적으로 디코딩가능한 유닛들로 그룹화될 수도 있다. 각각의 슬라이스는 비디오 픽처의 독립적으로 디코딩가능한 유닛일 수도 있다. 대안적으로, 픽처들 자체들은 디코딩가능한 유닛들일 수도 있거나, 또는 픽처의 다른 부분들이 디코딩가능한 유닛들로서 정의될 수도 있다. 본 개시에서, 용어 "코딩된 유닛" 은 전체 픽처, 픽처의 슬라이스, 또는 이용된 코딩 기법들에 따라 정의된 또 다른 독립적으로 디코딩가능한 유닛과 같은 비디오 픽처의 임의의 독립적으로 디코딩가능한 유닛을 지칭한다.
도 3 은 일 예시적인 비디오 프로세싱 디바이스의 기능적 블록 다이어그램을 도시한다. 디바이스 (202) 는 본 명세서에서 설명된 다양한 방법들을 구현하도록 구성될 수도 있는 디바이스의 일 예이다. 예를 들어, 디바이스 (202) 는 소스 디바이스 (12) 또는 목적지 디바이스 (16) 로서 구현될 수도 있다.
디바이스 (202) 는 디바이스 (202) 의 동작을 제어하는 프로세서 유닛(들) (204) 을 포함할 수도 있다. 프로세서 유닛(들) (204) 중 하나 이상은 중앙 프로세싱 유닛 (CPU) 으로 통칭될 수도 있다. 판독 전용 메모리 (ROM) 및 랜덤 액세스 메모리 (RAM) 양자를 포함할 수도 있는 메모리 (206) 는 프로세서 유닛들 (204) 에 명령들 및 데이터를 제공한다. 메모리 (206) 는 일반적으로 컴퓨터 판독가능 저장 매체로서 구현될 수도 있다. 메모리 (206) 의 부분은 또한 비휘발성 랜덤 액세스 메모리 (NVRAM) 를 포함할 수도 있다. 프로세서 유닛(들) (204) 은 메모리 (206) 내에 저장된 프로그램 명령들에 기초하여 논리 및 산술 연산들을 수행하도록 구성될 수도 있다. 메모리 (206) 내의 명령들은 본 명세서에서 설명된 방법들을 구현하기 위해 실행가능할 수도 있다.
프로세서 유닛(들) (204) 은 범용 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들 (DSP들), 필드 프로그래밍가능한 게이트 어레이 (FPGA들), 프로그래밍가능한 로직 디바이스들 (PLD들), 제어기들, 상태 머신들, 게이티드 로직, 이산 하드웨어 컴포넌트들, 전용 하드웨어 유한 상태 머신들, 또는 정보의 계산들 또는 다른 조작들을 수행할 수 있는 임의의 다른 적합한 엔티티들의 임의의 조합으로 구현될 수도 있다. 프로세서 유닛(들) (204) 이 DSP 를 포함하는 일 구현에서, DSP 는 송신을 위한 패킷 (예를 들어, 데이터 패킷) 을 생성하도록 구성될 수도 있다. 일부 양태들에서, 패킷은 물리 계층 데이터 유닛 (PPDU) 을 포함할 수도 있다.
디바이스 (202) 는 또한 소프트웨어를 저장하기 위한 머신 판독가능 매체들을 포함할 수도 있다. 프로세싱 유닛(들) (204) 은 소프트웨어를 저장하기 위한 하나 이상의 비일시적 머신 판독가능 매체들을 포함할 수도 있다. 소프트웨어는 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어, 또는 다른 것으로 지칭되든 간에, 임의의 타입의 명령들을 의미하는 것으로 광범위하게 해석되어야 한다. 명령들은 (예를 들어, 소스 코드 포맷, 바이너리 코드 포맷, 실행가능한 코드 포맷, 또는 임의의 다른 적합한 코드 포맷의) 코드를 포함할 수도 있다. 명령들은, 프로세서 유닛(들) (204) 에 의해 실행될 경우, 디바이스 (202) 로 하여금, 본 명세서에서 설명된 다양한 기능들을 수행하게 한다.
디바이스 (202) 는 디바이스 (202) 와 원격 로케이션 사이의 데이터의 송신 및 수신을 각각 허용하기 위해 송신기 (210) 및/또는 수신기 (212) 를 포함할 수도 있다. 송신기 (210) 및 수신기 (212) 는 트랜시버 (214) 로 결합될 수도 있다. 안테나 (216) 는 하우징 (208) 에 부착되고 트랜시버 (214) 와 전기적으로 커플링될 수도 있다. 디바이스 (202) 는 또한 (미도시된) 다수의 송신기들, 다수의 수신기들, 다수의 트랜시버들, 및/또는 다수의 안테나들을 포함할 수도 있다.
송신기 (210) 는 패킷들 및/또는 신호들을 무선으로 송신하도록 구성될 수도 있다. 예를 들어, 송신기 (210) 는 상기 논의된 프로세서 유닛(들) (204) 에 의해 생성된 상이한 타입들의 패킷들을 송신하도록 구성될 수도 있다. 송신될 패킷들은 송신기 (210) 에 제공된다. 예를 들어, 프로세서 유닛(들) (204) 은 메모리 (206) 에 패킷을 저장할 수도 있고 송신기 (210) 는 그 패킷을 취출하도록 구성될 수도 있다. 일단 송신기가 패킷을 취출하면, 송신기 (210) 는 패킷을 안테나 (216) 를 통해 송신한다. 일부 구현들에서, 송신기 (210) 는 네트워크 입/출력 (224) 을 통해 패킷을 송신할 수도 있다.
디바이스 (202) 가 목적지 디바이스 (16) 로서 구현되면, 안테나 (216) 는 무선으로 송신된 패킷들/신호들을 검출한다. 수신기 (212) 는 검출된 패킷들/신호들을 프로세싱하고 그들을 프로세서 유닛(들) (204) 에 이용가능하게 하도록 구성될 수도 있다. 예를 들어, 수신기 (212) 는 메모리 (206) 에 패킷을 저장할 수도 있고 프로세서 유닛(들) (204) 은 패킷을 취출하도록 구성될 수도 있다.
디바이스 (202) 는 또한, 트랜시버 (214) 에 의해 수신된 신호들의 레벨을 검출하고 정량화하기 위한 노력으로 사용될 수도 있는 신호 검출기 (218) 를 포함할 수도 있다. 디바이스 (202) 는 또한, 신호들을 프로세싱하는데 있어서의 사용을 위해 디지털 신호 프로세서 (DSP) (220) 를 포함할 수도 있다. DSP (220) 는 송신을 위한 패킷을 생성하도록 구성될 수도 있다. 일부 양태들에서, 패킷은 물리 계층 데이터 유닛 (PPDU) 을 포함할 수도 있다.
디바이스 (202) 는 일부 구현들에서 사용자 인터페이스 (222) 를 더 포함할 수도 있다. 사용자 인터페이스 (222) 는 키패드, 마이크로폰, 스피커, 및/또는 디스플레이를 포함할 수도 있다. 일부 구현들에서, 디바이스 (202) 는 디스플레이와 커플링될 수도 있다. 예를 들어, 디바이스 (202) 는 비디오 정보를 수신하고, 그 정보를 디스플레이를 위해 프로세싱하고 그 정보를 디스플레이를 위해 텔레비전에 송신하는 셋톱 박스로서 구현될 수도 있다. 사용자 인터페이스 (222) 는 디바이스 (202) 의 사용자에게 정보를 전달하고 및/또는 사용자로부터 입력을 수신하는 임의의 엘리먼트 또는 컴포넌트를 더 포함할 수도 있다. 디바이스 (202) 는 또한, 디바이스 (202) 에 포함된 컴포넌트들 중 하나 이상을 둘러싸는 하우징 (208) 을 포함할 수도 있다.
디바이스 (202) 는 비디오 코딩 프로세서 (228) 를 포함할 수도 있다. 소스 디바이스 (12) 로서 구현될 때, 비디오 코딩 프로세서 (228) 는 하나 이상의 카메라들 또는 다른 이미지 캡처링 디바이스(들)로부터와 같이 비디오 데이터를 수신하도록 구성될 수도 있다. 비디오 코딩 프로세서 (228) 는 상기 논의된 비디오 인코더 (22) 와 같은 인코더를 포함할 수도 있다. 비디오 코딩 프로세서 (228) 는 디바이스 (202) 에 의해 생성된 멀티미디어 스트림들/파일들에 이미지 호환성 정보를 포함하도록 구성될 수도 있다. 일부 구현들에서, 비디오 코딩 프로세서 (228) 는 인코딩될 비디오를 배향하도록 구성될 수도 있다. 예를 들어, 비디오 스트림이 가로보기 모드로 캡처되지만 세로보기 배향으로 목적지 디바이스에 송신되고 있다면, 비디오 코딩 프로세서 (228) 는 수신 디바이스의 배향 정보 및 배향 협상에 기초하여, 비디오 스트림의 배향을 조절할 수도 있다.
목적지 디바이스 (16) 로서 구현될 때, 비디오 코딩 프로세서 (228) 는 멀티미디어 데이터를 수신 및 디코딩하고 그 데이터를 프리젠테이션을 위해 제공하도록 구성될 수도 있다. 비디오 코딩 프로세서 (228) 는 디코더, 이를 테면 상기 설명된 비디오 디코더 (28) 를 포함할 수도 있다. 목적지 디바이스 (16) 에 포함된 비디오 코딩 프로세서 (228) 는 멀티미디어 데이터를 식별하고 이러한 데이터의 프로세싱을 조절하도록 구성될 수도 있다. 비디오 코딩 프로세서 (228) 는 디바이스의 배향 정보 및 배향 협상에 기초하여, 비디오 스트림의 배향을 조절할 수도 있다.
디바이스 (202) 는 배향 협상 프로세서 (400) 를 더 포함할 수도 있다. 배향 협상 프로세서 (400) 는 하나 이상의 디바이스들과 비디오 세션 (예를 들어, 비디오 텔레포니, 비디오 브로드캐스트) 에 대한 배향 프로세싱을 협상하도록 구성될 수도 있다. 배향 협상 프로세서 (400) 는 이하 도 4 를 참조하여 추가 상세로 도시 및 설명될 것이다. 배향 정보는 비디오 코딩 프로세서 (228) 에 제공될 수도 있다.
디바이스 (202) 는 클록 (230) 을 포함할 수도 있다. 클록 (230) 은 일 시간 포인트를 식별하도록 구성될 수도 있다. 클록 (230) 은 절대적 시간 포인트들 (예를 들어, 특정 날짜 및 시간 정보) 을 식별할 수도 있다. 클록 (230) 은 상대적 시간 포인트들 (예를 들어, 멀티미디어 프리젠테이션의 포인트들) 을 식별하도록 구성될 수도 있다. 클록 (230) 은 소스 디바이스 (12) 에 포함된 캡처 센서와 커플링될 수도 있다. 클록 (230) 은 비디오 캡처의 다양한 포인트들에서 시간 정보를 제공할 수도 있다. 이 시간 정보는 목적지 디바이스 (16) 에 송신된 비디오 정보에 포함될 수도 있다.
디바이스 (202) 는 배향 검출기 (232) 를 포함할 수도 있다. 배향 검출기 (232) 는 디바이스 (202) 에 대한 배향 정보를 제공하도록 구성될 수도 있다. 예를 들어, 배향 검출기 (232) 는 자이로스코프를 포함할 수도 있다. 배향 검출기 (232) 는 일부 구현들에서, 디바이스 (202) 의 다수의 회전도 (degree of rotation) 들을 표시하는 값을 제공할 수도 있다.
디바이스 (202) 의 다양한 컴포넌트들은 버스 시스템 (226) 에 의해 함께 커플링될 수도 있다. 버스 시스템 (226) 은 예를 들어, 데이터 버스 뿐만 아니라 데이터 버스에 더하여 전력 버스, 제어 신호 버스, 및 상태 신호 버스를 포함할 수도 있다. 당업자들은 디바이스 (202) 의 컴포넌트들이 함께 커플링되거나 또는 일부 다른 메커니즘을 이용하여 서로에 대한 입력들을 수락 또는 제공할 수도 있다는 것을 인식할 것이다.
다수의 별개의 컴포넌트들이 도 3 에 예시되지만, 당업자들은 그 컴포넌트들 중 하나 이상은 결합되거나 또는 공통으로 구현될 수도 있다는 것을 인지할 것이다. 예를 들어, 프로세서 유닛(들) (204) 은 프로세서 유닛(들) (204) 에 대하여 상기 설명된 기능을 구현할 뿐만 아니라, 신호 검출기 (218) 에 대하여 상기 설명된 기능을 구현하는데 이용될 수도 있다. 제 2 예로서, 비디오 코딩 프로세서 (228) 는 배향 협상 프로세서 (300) 를 포함할 수도 있다. 게다가, 도 3 에 예시된 컴포넌트들의 각각은 복수의 별개의 엘리먼트들을 이용하여 구현될 수도 있다.
도 4 는 일 예시적인 배향 협상 프로세서의 기능적 블록 다이어그램을 예시한다. 도 4 에 도시된 배향 협상 프로세서 (400) 는 하나의 입력으로서 협상 트리거 메시지를 수신한다. 협상 트리거 메시지는 협상을 위한 시간을 표시하는 클록 신호일 수도 있다. 일부 구현들에서, 보다 복잡한 협상 트리거 메시지가 배향 협상 프로세서 (400) 에 제공될 수도 있다. 예를 들어, 프로세서 유닛(들) (204) 은 통신 세션에 포함된 또 다른 디바이스로부터의 수신된 메시지에서 특성을 식별할 수도 있다. 이 식별에 기초하여, 프로세서 유닛(들) (204) 은 협상 프로세스를 개시하도록 배향 협상 프로세서 (400) 에 협상 트리거 메시지를 송신할 수도 있다. 일부 구현들에서, 파워 온, 전력 변화, 온도 변동, 메모리 사용률, 핸드오프, 연결성, 등과 같은 디바이스 이벤트들이 검출되고 협상 트리거 메시지가 생성되게 할 수도 있다.
특성 수집기 (402) 는 배향 협상 프로세서 (400) 에 포함될 수도 있다. 협상 트리거 메시지를 수신 시에, 특성 수집기 (402) 는 하나 이상의 특성 값들을 식별하도록 구성될 수도 있다. 특성 값들은 배향 협상 프로세서 (400) 를 포함하는 디바이스와 연관될 수도 있다. 특성 값들은 배향 협상 프로세서 (400) 를 포함하는 디바이스가 연결되는 네트워크와 연관될 수도 있다. 특성 값들은 배향 협상 프로세서 (400) 를 포함하는 디바이스와의 통신 세션에 포함된 또 다른 디바이스와 연관될 수도 있다. 그 값들은 특성 요청을 송신하고 특성 응답을 수신하는 것에 의해 획득될 수도 있다. 그 값들은 시간의 경과에 따른 특성들에 대한 값들을 저장하는 메모리로부터 획득될 수도 있다. 그 값들은 특성 소스에 의해 메모리에 제공될 수도 있다.
일부 구현들에서, 협상 트리거 메시지는 특성 값들을 포함할 수도 있다. 이러한 구현들에서, 특성 수집기 (402) 는 협상 트리거 메시지를 파싱함으로써 특성 값들을 식별할 수도 있다.
특성은 배터리 레벨, 프로세싱 유닛 (예를 들어, 중앙 프로세싱 유닛 또는 그래픽 프로세싱 유닛) 능력 (예를 들어, 클록 사이클(들), 칩셋, 메모리 회전, 열 효율, 오퍼레이팅 시스템, 명령 세트), 디바이스 전력 소스, 배향 센서 능력, 열 조건들, 송신 전력, 참가자 (예를 들어, 전송기/수신기) 식별자 (예를 들어, 폰 넘버, 이름 등) 등을 포함할 수도 있다. 특성 정보는 캐시된 특성 정보를 포함할 수도 있다. 이러한 구현들에서, 일단 특성 정보가 획득되면, 값은 그 값에 대한 후속 요청들이 또 다른 특성 정보 소스로부터가 아니라 캐시로부터 이행 (fulfill) 될 수도 있는 지속기간과 연관될 수도 있다.
특성들은 배향 협상 메시지 생성기 (404) 에 제공된다. 일부 구현들에서, 협상 트리거 메시지는 배향 협상 메시지 생성기 (404) 에 또한 제공될 수도 있다. 배향 협상 메시지 생성기 (404) 는 또한 하나 이상의 협상 구성들을 수신하도록 구성될 수도 있다. 협상 구성은 배향 협상 프로세서 (400) 를 포함하는 디바이스가 배향 프로세싱을 수행할지 여부를 결정하는데 이용될 수도 있는 특성들에 대한 값들의 범위들 또는 임계치들을 포함할 수도 있다. 예를 들어, 하나의 협상 구성은 배향 프로세싱을 수행하는데 이용가능한 배터리 수명의 최소 퍼센트일 수도 있다. 협상 구성은 상대적 용어들로 표현될 수도 있다. 예를 들어, 협상 구성은 디바이스가 그의 배터리 수명의 퍼센트와 원단 디바이스의 배터리 수명 사이의 차이가 임계치를 초과한다면 배향 프로세싱을 수행할 것이라고 특정할 수도 있다. 상기 설명된 피처들 및 특성들과 일치하는 다른 협상 구성들이 제공될 수도 있다.
협상 구성은 협상 프로세서 (400) 에 이를 테면 메모리에 사전-로딩될 수도 있다. 일부 구현들에서, 협상 구성은 공중 경유 프로비져닝 또는 백 홀 시그널링을 통해서와 같이 업데이트될 수도 있다. 협상 구성은 일부 구현들에서, 선호도로서 사용자에 의해 특정될 수도 있다.
협상 메시지 생성기 (404) 는 하나 이상의 기능들을 수행할 수도 있다. 첫째로, 협상 메시지 생성기 (404) 는 특성 정보와 연관된 디바이스가 배향 프로세싱을 수행할 수 있는지 여부를 결정한다. 둘째로, 협상 메시지 생성기 (404) 는 결정의 결과를 표시하는 값을 포함하는 메시지를 생성하도록 구성될 수도 있다. 일부 구현들에서, 배향 메시지 생성기 (404) 는 결정 결과를 출력 메시지로서 단순히 제공할 수도 있다.
수신된 특성들, 및 옵션적으로 협상 트리거 메시지 및/또는 협상 구성 파라미터들에 기초하여, 협상 메시지 생성기 (404) 는 배향 프로세싱 협상 메시지를 생성한다. 배향 프로세싱 협상 메시지는 디바이스가 배향 프로세싱을 수행할지 여부를 표시하는 하나 이상의 값들을 포함한다. 일부 구현들에서, 배향 프로세싱 협상 메시지는 통신 세션에 포함된 다른 디바이스들로의 송신기 (210) 를 통한 송신을 위해 프로세서 유닛(들) (204) 에 제공된다. 메시지는 협상 메시지 생성기 (404) 에 의해 생성될 때 전송될 수도 있다. 일부 구현들에서, 배향 프로세싱 협상 메시지는 셋업 또는 세션 유지의 일부로서 송신된 SIP 메시지와 같은 또 다른 메시지에 포함될 수도 있다. 일부 구현들에서, 배향 프로세싱 협상 메시지는 로컬 디바이스에 의해 추가 파싱될 수도 있고 메시지로부터의 정보는 통신 세션에 포함된 디바이스들로의 송신을 위한 또 다른 메시지를 생성하는데 이용될 수도 있다.
도 5 는 로컬단 디바이스와 원단 디바이스 사이의 일 예의 통신 세션에 대한 호출 플로우 다이어그램을 도시한다. 도 5 에 도시된 호출 플로우는 도 2 또는 도 3 에 도시된 것과 같은 본 명세서에서 설명된 디바이스들 중 하나 이상에 의해 구현될 수도 있다. 도 5 에 도시된 호출 플로우는 2 개의 엔티티들, 즉 로컬단 디바이스 (502) 및 원단 디바이스 (504) 를 예시한다. 메시지들은 로컬단 디바이스 (502) 와 원단 디바이스 (504) 사이에 직접 교환되고 있는 것으로서 도시되지만, 일부 구현들에서, 추가적인 엔티티들이 2 개의 단 디바이스들 사이에 포함될 수도 있다는 것이 이해될 것이다.
로컬단 디바이스 (502) 는 트리거 메시지를 검출한다. 트리거 메시지는 예를 들어, 호출의 개시일 수도 있다. 로컬단 디바이스 (502) 는 호출 (510) 에서 배향 및 특성 정보를 수집한다. 도 5 에 도시한 바와 같이, 로컬단 디바이스 (502) 는 그 자체로부터 배향 및 특성 정보를 수집한다. 일부 구현들에서, 호출 (510) 에서의 수집은 통신 세션에 포함된 또는 통신 세션에 포함될 또 다른 디바이스에 대한 요청을 포함할 수도 있다. 호출 (510) 은 또 다른 서버, 이를 테면 네트워크 제어기 또는 정보의 다른 중앙 저장소와 메시징하는 것을 포함한다.
일단 수집되면, 호출 (520) 을 통해, 통신 연결이 개시된다. 개시 메시지는 수집된 배향 정보를 포함한다. 일부 구현들에서, 개시 메시지는 수집된 특성 정보의 적어도 부분을 포함한다. 일부 구현들에서, 개시 메시지는 로컬단 디바이스 (502) 가 배향 프로세싱을 수행할 수 있는지 여부를 표시하는 값을 포함할 수도 있다.
수신 시에, 원단 디바이스 (504) 는 개시 메시지를 평가한다. 원단 디바이스 (504) 는 호출 (530) 을 통해 그 자신의 특성 정보의 수집을 수행할 수도 있다. 원단 디바이스 (504) 는 그 후, 수집된다면, 그 특성 정보를, 로컬단 디바이스 (502) 가 배향 프로세싱을 수행할 수 있는지 여부를 결정하기 위해 그 로컬단 디바이스 (502) 로부터 수신된 임의의 특성 정보와 함께 평가할 수도 있다. 일부 구현들에서, 원단 디바이스 (504) 는 로컬단 디바이스 (502) 가 배향 프로세싱을 수행할 수 있는지 여부를 표시하는 값에 기초하여, 로컬단 디바이스 (502) 가 배향 프로세싱을 수행할 수 있다고 결정할 수도 있다. 이러한 구현들에서, 원단 디바이스 (504) 에서의 특성들의 추가 수집 및 평가가 생략될 수도 있다.
원단 디바이스 (504) 는 호출 (540) 을 통해 연결 확인 메시지를 제공하도록 구성된다. 연결 확인은 평가의 결과 (예를 들어, 원단 디바이스 (504) 가 로컬단 디바이스 (502) 의 결정에 동의하는지 또는 대안의 배향 프로세싱 배열을 제안하는지의 여부) 를 표시하는 값을 포함할 수도 있다. 연결 확인 메시지는 또한 원단 디바이스 (504) 에 대한 배향 정보를 포함할 수도 있다. 이 배향 정보는 배향 프로세싱의 책임이 로컬단 디바이스 (502) 에 부과된다면 그것에 의해 이용될 수도 있다.
도 6 은 배향 프로세싱 협상의 방법의 일 예에 대한 프로세스 플로우 다이어그램을 도시한다. 도 6 에 도시된 방법은 도 2 또는 도 3 에 도시된 비디오 코딩 디바이스와 같은, 본 명세서에서 설명된 디바이스들 중 하나 이상에서 구현될 수도 있다.
노드 (602) 에서, 비디오 통신을 개시하기 위한 신호가 수신된다. 예를 들어, 디바이스의 사용자는 비디오 호출을 개시하기 위한 컨택트 (contact) 를 표시하는 입력을 제공할 수도 있다.
노드 (604) 에서, 개시 메시지가 생성된다. 개시 메시지는 SIP, RTP 등과 같은 통신 프로토콜에 따라 생성될 수도 있다. 프로세서 유닛(들)이 선택된 통신 프로토콜에 따라 개시 메시지를 포매팅하는 것을 허용하는 명령들이 제공될 수도 있다. 프로토콜은 예를 들어, 세션이 확립되고 있는 컨택트에 기초하여 식별될 수도 있다.
노드 (606) 에서, 디바이스 특성들이 수집된다. 상기 논의한 바와 같이, 디바이스 특성들은 배터리 레벨, 프로세싱 유닛 (예를 들어, 중앙 프로세싱 유닛 또는 그래픽 프로세싱 유닛) 능력 (예를 들어, 클록 사이클(들), 칩셋, 메모리 회전, 열 효율, 오퍼레이팅 시스템, 명령 세트), 디바이스 전력 소스, 배향 센서 능력, 열 조건들, 송신 전력, 전송기/수신기 식별자 등을 포함할 수 있다. 수집은 디바이스에 포함된 하나 이상의 엘리먼트들에 질의하는 것을 포함할 수도 있다. 수집은 특성에 대한 요청을 송신하는 것 및 응답을 수신하는 것을 포함할 수도 있다.
노드 (608) 에서, 디바이스가 배향 프로세싱을 수행할 수 있는지 여부에 대한 결정이 이루어진다. 그 결정은 상기 논의한 바와 같이 특성들에 적어도 부분적으로 기초한다. 일부 구현들에서, 그 결정은 수신된 배향 협상 메시지에 포함된 특성 정보에 기초하여 이루어질 수도 있다. 예를 들어, 원단 디바이스는 근단 (near end) 디바이스에 통신 세션을 개시하기 위한 요청을 송신할 수도 있다. 그 요청은 원단 디바이스의 하나 이상의 특성들을 포함할 수도 있다. 수신 디바이스는 원단 디바이스 특성들을 평가하는 방법을 표시하는 하나 이상의 규칙들을 포함할 수도 있다. 예를 들어, 원단 디바이스가 외부 전력 소스를 이용하여 동작하고 있다면, 그 원단 디바이스는 그 전력 소스가 보다 신뢰가능하고 배향 프로세싱에 의해 고갈될 가능성이 적기 때문에 배향 프로세싱을 수행하도록 선택될 수도 있다. 일부 구현들에서, 그 결정은 근단 디바이스에 대한 특성 정보와 원단 디바이스에 대한 특성 정보를 비교하는 것을 포함할 수도 있다. 예를 들어, 근단 디바이스는 제 1 그래픽스 프로세싱 유닛 (GPU) 을 포함할 수도 있고 근단 디바이스는 제 2 그래픽스 프로세싱 유닛을 포함할 수도 있다. 규칙들은 리스트에서의 하나의 GPU 의 리스트에서의 또 다른 GPU 에 대한 로케이션을 비교하는 것이 배향 프로세싱을 수행하는데 있어서 보다 효율적인 GPU 의 표시를 제공할 수 있도록 편성되는 배향 프로세싱을 수행하기 위한 GPU들의 리스트를 포함할 수도 있다. 규칙들은 별개로 (예를 들어, 단 하나의 규칙이 적용됨) 프로세싱되거나, 또는 보다 정교한 결정을 제공하기 위해 논리적으로 편성될 수도 있다. 논리적 편성의 하나의 예는 판정 트리 (decision tree) 이다. 판정 트리 내의 규칙들은 전력 소스와 같은 초기 특성 비교 및 다른 디바이스 특성들에 대한 다양한 옵션들을 통한 강하 (descending) 를 이용하여 편성될 수도 있다. 이해될 바와 같이, 규칙들의 표현은 다수의 형태들을 취할 수 있지만, 형태와 무관하게, 그 규칙들의 의도 (intent) 는 협상 배향 프로세싱을 수행할 디바이스의 결정을 제공하는 것이다.
노드 (610) 에서, 디바이스가 배향 프로세싱을 수행할 수 있다고 결정되면, 디바이스가 배향 프로세싱을 수행할 수 있다는 것을 식별하는 값은 개시 메시지에 포함된다. 하나의 구현에서, 정보는 개시 메시지의 헤더 필드에 포함될 수도 있다. 하나의 구현에서, 정보는 개시 메시지의 정보 엘리먼트에 포함될 수도 있다. 이 값이 제공되는 방법은 이들 예들에 제한되지는 않는다. 설명된 피처들의 하나의 비제한적 이점은 세션 개시 프로세스의 일부로서 배향 협상 결정 값이 제공된다는 것이다.
노드 (612) 에서, 개시 메시지는 식별된 수신 디바이스에 송신된다. 판정 노드 (608) 로 돌아가, 디바이스가 배향 프로세싱을 수행할 수 없다고 결정되면, 프로세스 플로우는 배향 프로세싱 값 없이 개시 메시지를 송신하는 노드 (612) 를 계속한다. 일부 구현들에서, 개시 메시지에 네거티브 결정을 표시하는 값을 포함하는 것이 바람직할 수도 있다. 이러한 구현들에서, 이러한 조건을 식별하는 값이 개시 메시지에 포함될 수도 있다.
노드 (614) 에서, 노드 (612) 에서 송신된 개시 메시지에 대한 응답이 수신된다. 응답은 송신 디바이스에 대한 배향 정보와 함께 배향 프로세싱 협상 메시지를 포함할 수도 있다.
노드 (616) 에서, 배향 프로세싱이 확인되었는지 여부에 대한 결정이 이루어진다. 배향 프로세싱이 수신 디바이스에 대해 확인되면, 프로세스는 배향 프로세싱을 수행하는 노드 (618) 를 계속한다. 노드 (618) 에서의 배향 프로세싱은 수신된 배향 정보에 적어도 부분적으로 기초하여 비디오를 조절하도록 디바이스를 구성한다.
결정 노드 (616) 로 돌아가, 수신 디바이스에 대한 배향 프로세싱이 확인되지 않았다면, 프로세스는 노드 (620) 를 계속한다. 노드 (620) 에서, 개시 확인 메시지가 원단이 배향 프로세싱을 수행할 것임을 표시하는지 여부에 대한 결정이 이루어진다. 만약 그렇다면, 프로세스는 비디오가 송신 이전에 조절 없이 송신되는 노드 (622) 를 계속한다. 만약 그렇지 않다면, 프로세스는 특성 수집 및 추가 배향 프로세싱 협상을 반복하는 노드 (606) 로 복귀할 수도 있다.
도 6 은 통신 세션 개시 이전에 또는 그 동안에 배향 프로세싱의 협상이 수행될 수도 있는 방법을 도시한다. 유사한 피처들이 디바이스 특성들이 변화할 때 배향 프로세싱의 재협상을 허용하도록 포함될 수도 있다.
도 7 은 배향 프로세싱 재협상의 방법의 일 예에 대한 프로세스 플로우 다이어그램을 도시한다. 도 7 에 도시된 방법은 도 2 또는 도 3 에 도시된 비디오 코딩 디바이스들과 같은, 본 명세서에서 설명된 디바이스들 중 하나 이상에서 구현될 수도 있다.
노드 (702) 에서, 비디오 통신이 수신된다. 비디오 통신은 하나 이상의 비디오 표준들에 따라 인코딩되고 SIP 또는 RTP 와 같은 비디오 통신에 적합한 전송 프로토콜을 이용하여 송신될 수도 있다. 협상 트리거 메시지는 비디오 통신과 함께 대역-내 포함될 수도 있다. 일부 구현들에서, 협상 트리거 메시지는 비디오 통신과 별개인, 대역 외 수신될 수도 있다.
노드 (704) 에서, 하나 이상의 디바이스 특성들이 수신된다. 디바이스 특성은 예를 들어, 배터리 레벨의 변화일 수도 있다.
노드 (706) 에서, 배향 재협상이 필요한지 여부에 대한 결정이 이루어진다. 그 판정은 비디오 통신 또는 협상 트리거 메시지에 기초할 수도 있다. 일부 구현들에서, 트리거는 노드 (704) 에서의 특성의 수신일 수도 있다. 결정은 현재 협상된 배향 프로세싱이 이전에 협상된 배향 프로세싱과 동일한지 여부를 식별하는 것을 포함할 수도 있다. 이하의 표 1 은 로컬단 디바이스에 대한 일 예의 재협상 판정 룩업 테이블을 도시한다.
노드 (706) 에서의 결정이 어떤 재협상도 필요하지 않다는 것을 표시하면, 프로세스는 추가 비디오 통신을 수신하는 노드 (702) 로 복귀한다. 재협상이 필요하다는 결정이 노드 (706) 에서 이루어지면, 프로세스는 도 6 의 노드 (606) 와 유사하게 디바이스 특성들이 수집되는 노드 (708) 를 계속한다. 노드 (710) 에서, 디바이스가 배향 프로세싱을 수행할 수 있는지 여부에 대한 결정이 이루어진다. 그 결정은 상기 논의한 바와 같이 특성들에 적어도 부분적으로 기초한다.
디바이스가 배향 프로세싱을 수행할 수 있다고 결정되면, 노드 (714) 에서, 디바이스가 배향 프로세싱을 수행할 수 있다는 것을 식별하는 값은 다른 디바이스에 송신된다. 이것은 비디오 송신과 함께 대역-내 또는 대역-외 송신될 수도 있다. 상기 언급한 바와 같이, 이 값이 제공되는 방법은 이들 예들에 제한되지는 않는다. 설명된 피처들의 하나의 비제한적 이점은 배향 협상 결정 값이 활성 통신 세션 동안에 제공된다는 것이다.
판정 노드 (710) 로 돌아가, 디바이스가 배향 프로세싱을 수행할 수 없다고 결정되면, 프로세스 플로우는 디바이스가 배향 프로세싱을 수행할 수 없다는 것을 식별하는 값을 송신하는 노드 (712) 를 계속한다. 일부 구현들에서, 개시 메시지에 네거티브 결정을 표시하는 값을 포함하는 것이 바람직할 수도 있다. 이러한 구현들에서, 이러한 조건을 식별하는 값은 개시 메시지에 포함될 수도 있다. 일부 구현들에서, 배향 프로세싱을 수행할 수 없음은 메시지에서의 배향 협상 정보의 부재에 의해 표시될 수도 있다.
노드 (716) 에서, 응답이 수신된다. 응답은 송신 디바이스에 대한 배향 정보와 함께 배향 프로세싱 협상 메시지를 포함할 수도 있다. 상기 논의한 바와 같이, 응답은 비디오와 함께 대역-내 또는 대역-외 포함될 수도 있다.
노드 (718) 에서, 배향 프로세싱이 확인되었는지 여부에 대한 결정이 이루어진다. 배향 프로세싱이 수신 디바이스에 대해 확인되면, 프로세스는 배향 프로세싱을 수행하는 노드 (720) 를 계속한다. 노드 (720) 에서의 배향 프로세싱은 수신된 배향 정보에 적어도 부분적으로 기초하여 비디오를 조절하도록 디바이스를 구성한다.
결정 노드 (718) 로 돌아가, 수신 디바이스에 대한 배향 프로세싱이 확인되지 않았다면, 프로세스는 노드 (722) 를 계속한다. 노드 (722) 에서, 수신된 응답 메시지가 원단이 배향 프로세싱을 수행할 것임을 표시하는지 여부에 대한 결정이 이루어진다. 만약 그렇다면, 프로세스는 비디오가 송신 이전에 조절 없이 송신되는 노드 (726) 를 계속한다. 만약 그렇지 않다면, 프로세스는 특성 수집 및 추가 배향 프로세싱 협상을 반복하는 노드 (708) 로 복귀할 수도 있다.
도 8 은 배향 협상의 방법에 대한 프로세스 플로우 다이어그램을 도시한다. 도 8 에 도시된 방법은 도 2 에 도시된 비디오 코딩 디바이스와 같은, 본 명세서에서 설명된 디바이스들 중 하나 이상에서 구현될 수도 있다.
노드 (802) 에서, 배향 협상 메시지는 비디오 프로세싱 디바이스에서, 그 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 수신된다. 배향 협상 메시지는 제 1 디바이스와 연관된 적어도 하나의 특성 및 제 1 디바이스의 배향의 표시를 포함한다. 노드 (804) 에서, 비디오 프로세싱 디바이스 또는 제 1 디바이스 중 어느 하나가 제 1 디바이스의 수신된 적어도 하나의 특성에 적어도 부분적으로 기초하여 배향 프로세싱을 수행하도록 식별된다. 노드 (806) 에서, 메시지는 상기 제 1 디바이스에 송신되고, 그 메시지는 상기 식별의 결과를 표시하는 정보를 포함한다.
설명된 양태들의 추가 예의 적용으로서, 일부 디바이스들은 실시간 전송 프로토콜 패킷 스위치 스트림 스트리밍을 이용하도록 구성될 수도 있다. 디바이스들은 프레임-패킷화 배열 SEI 메시지들을 포함하는 비디오 데이터와 같은 소정의 포맷들을 수신, 디코딩, 및 렌더링하도록 구성될 수도 있다. 이러한 구현들에서, 비디오 비트스트림의 수신, 디코딩, 및 렌더링은 협상 배향 정보의 식별 시에 촉진될 수도 있다. 예를 들어, 배향 협상 정보가 검출되고 원단 디바이스가 배향 프로세서로서 식별될 때, 수신 파이프라인은 배향 프로세싱을 바이패스하도록 구성될 수도 있다.
배향 협상의 여러 양태들을 논의하면, 몇몇 특성들에 대한 협상 결정의 여러 예들이 이하 제시된다.
예를 들어, 특성은 현재의 배터리 레벨을 포함할 수도 있다. 현재의 배터리 레벨. 원단 디바이스가 10% 배터리에 있고 로컬단 디바이스가 90% 배터리에 있다면, 원단은 그것이 이를 테면 비효율적인 배터리로서 이유를 서술하는 가능한 에러 코드에 의해 CVO 를 지원하지 않는다는 것을 광고할 수도 있다. 로컬단 디바이스는 배향 프로세싱의 책임을 지기 위해 이 정보를 이용하도록 구성될 수도 있고 원단에 송신하기 전에 재배향을 행한다.
또 다른 예에서, 특성은 디바이스의 CPU 및/또는 GPU 능력일 수도 있다. 이 예에서, 원단 디바이스가 스냅드래곤 800 칩셋을 이용하고 로컬단 디바이스가 스냅드래곤 200 을 이용하고 있다면. 원단 디바이스는 로컬단 디바이스와 비교하여 훨씬 더 전력 효율적으로 재배향을 수행하도록 구성될 수도 있다. 이 시나리오에서, 원단 디바이스는 그것이 이를 테면 비효율적인 프로세스로서 이유를 서술하는 가능한 에러 코드에 의해 CVO 를 지원하지 않는다는 것을 광고하도록 구성된다. 로컬단 디바이스는 원단 디바이스에 송신하기 전에 배향 프로세싱 (예를 들어, 재배향) 을 수행해야 한다고 결정하기 위해 이 정보를 이용하도록 구성될 수도 있다.
추가 예에서, 디바이스 전력 소스가 특성일 수도 있다. 이 예에 의해, 원단 디바이스가 소형 배터리 상에서 실행중인 모바일 디바이스이고 로컬단 디바이스가 정전력 소스 (constant power source) 에 연결된 데스크톱이면, 원단 디바이스는 그것이 이를 테면 비효율적인 전력 소스로서 에러 코드에 의해 CVO 를 지원하지 않는다는 것을 광고할 수도 있다. 이 시나리오에서, 로컬단 디바이스는, 수신된 광고에 기초하여, 원단 디바이스로 비디오를 전송하기 이전에 비디오의 배향 프로세싱을 수행해야 한다고 결정하도록 구성된다.
또 다른 예의 특성은 배향 센서 능력일 수도 있다. 단들 중 하나가 배향 센서 능력을 포함하지 않는다면, 그것은 수신된 디스플레이 구성에 기초하여 다른 단에 사전-회전을 행할 것을 요청할 수 있다. 이러한 구현은 디바이스들 중 하나가 벽에 탑재된 텔레비전과 같은 배향 구성으로 고정된 로케이션에 설치되는 경우 포함될 수도 있다. 각각의 단이 배향 인식인 구현들에서, 더 높은 품질 센서를 가진 단이 배향 프로세싱을 위해 선택되는 것이 바람직할 수도 있다.
이들은 협상 배향 프로세싱에 이용될 수도 있는 특성들의 단지 여러 예들이다. 디바이스, 네트워크, 디바이스 주변 날씨, 디바이스의 로케이션 등과 연관된 추가 특성 정보는 협상 동안에 고려될 수도 있다. 정보는 협상의 일부로서 디바이스에 내부적으로 고려되거나 또는 통신 세션에 있는 다른 디바이스들에 송신될 수도 있다.
상기 설명한 바와 같이, 협상은 통신 세션에 있는 2 개 이상의 참가자들 사이에서 수행된다. 일부 구현들에서,협상 결정은 통신 세션에 있는 2 개 이상의 참가자들 사이의 중개자에 의해 수행될 수도 있다. 이러한 구현은 배향 협상 프로세서를 포함하지 않을 수도 있는 레거시 디바이스들이 그 레거시 디바이스에 테일러링된 사전-배향된 비디오를 여전히 수신하게 하는데 유용할 수도 있다. 더욱이, 배향 프로세싱이 가능할 수도 있지만 협상 메커니즘이 없을 수도 있는 디바이스들이 배향 프로세싱을 선택적으로 수행하여 리소스 사용률을 개선시키게 한다.
도 9 는 중재된 배향 프로세싱 협상의 기능적 블록 다이어그램을 도시한다. 로컬단 디바이스 (102) 및 원단 디바이스 (104) 는 메시징 서버 (900) 를 통해 비디오 또는 다른 멀티미디어 통신들을 송신할 수도 있다. 메시징 서버 (900) 가 구현될 수도 있고, 인터넷 메시징 서버, 스트리밍 미디어 서버, 비디오 텔레포니 서버, 또는 다른 중앙 통신 세션 관리 서버가 구현될 수도 있다. 도 9 에 도시한 바와 같이, 메시징 서버 (900) 는 배향 협상 프로세서 (400) 를 포함한다. 배향 협상 프로세서 (400) 는 로컬단 디바이스 (102) 및/또는 원단 디바이스 (104) 로부터 특성 정보를 수신할 수도 있다. 배향 협상 프로세서 (400) 는 그 후, 어느 디바이스, 즉 로컬단 디바이스 (102) 또는 원단 디바이스 (104) 가 배향 프로세싱을 수행할지를 중재할 수도 있다. 이 결정을 표시하는 메시지는 이를 테면, 비디오와 함께 대역-내 또는 다른 메시지들/신호들을 통해 배향 프로세싱을 위해 선택된 디바이스에 제공될 수도 있다.
메시징 서버 (900) 가 단 디바이스들 중 하나의 단만으로부터 협상 정보를 수신하는 일 구현에서, 메시징 서버 (900) 는 협상 기능이 없는 디바이스에 대한 협상 프록시로서 기능할 수도 있다. 이러한 구현들에서, 배향 프로세서 (400) 는 (예를 들어, 협상 기능이 없는 디바이스에서가 아니라) 원격으로 그 협상 기능이 없는 디바이스에 대해 협상하도록 구성될 수도 있다. 일부 구현들에서, 메시징 서버 (400) 는 협상이 기반으로 할 디바이스에 대한 특성 정보를 획득하기 위해 협상 기능이 없는 디바이스와 메시지들을 교환할 수도 있다.
본 명세서에서 사용한 바와 같이, 용어들 "결정한다" 또는 "결정하는 것" 은 광범위한 액션들을 포괄한다. 예를 들어, "결정하는 것" 은 계산하는 것, 컴퓨팅하는 것, 프로세싱하는 것, 유도하는 것, 조사하는 것, 룩업하는 것 (예를 들어, 테이블, 데이터베이스 또는 또 다른 구조에서 룩업하는 것), 확인하는 것 등을 포함할 수도 있다. 또한, "결정하는 것" 은 수신하는 것 (예를 들어, 정보를 수신하는 것), 액세스하는 것 (예를 들어, 메모리에서의 데이터에 액세스하는 것) 등을 포함할 수도 있다. 또한, "결정하는 것" 은 해결하는 것, 선택하는 것, 선정하는 것, 확립하는 것 등을 포함할 수도 있다.
본 명세서에서 사용한 바와 같이, 용어들 "제공한다" 또는 "제공하는 것" 은 광범위한 액션들을 포괄한다. 예를 들어, "제공하는 것" 은 후속 취출을 위해 로케이션에 값을 저장하는 것, 수신자에게 직접 값을 송신하는 것, 값에 대한 레퍼런스를 송신하거나 또는 저장하는 것 등을 포함할 수도 있다. "제공하는 것" 은 또한, 인코딩하는 것, 디코딩하는 것, 암호화하는 것, 암호해독하는 것, 입증하는 것, 확인하는 것 등을 포함할 수도 있다.
본 명세서에서 사용한 바와 같이, 아이템들의 리스트 "중 적어도 하나" 를 지칭하는 어구는 단일의 부재들을 포함하는, 그 아이템들의 임의의 조합을 지칭한다. 일 예로서, "a, b, 또는 c 중 적어도 하나" 는: a, b, c, a-b, a-c, b-c, 및 a-b-c 를 커버하도록 의도된다.
상기 설명된 방법들의 다양한 동작들은 다양한 하드웨어 및/또는 소프트웨어 컴포넌트(들), 회로들, 및/또는 모듈(들)과 같이, 동작들을 수행하는 것이 가능한 임의의 적합한 수단에 의해 수행될 수도 있다. 일반적으로, 도면들에서 예시된 임의의 동작들은 그 동작들을 수행하는 것이 가능한 대응하는 기능적 수단에 의해 수행될 수도 있다.
본 개시와 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들 및 회로들은 본 명세서에서 설명된 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 신호 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스 (PLD), 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 전자 디바이스(들) 또는 그 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 상업적으로 입수가능한 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다.
하나 이상의 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 또는 이를 통해 송신될 수도 있다. 컴퓨터 판독가능 매체들은 일 장소로부터 또 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들 및 컴퓨터 저장 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 일 예로, 이러한 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 적절히 컴퓨터 판독가능 매체라 불리게 된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 매체의 정의에는 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들이 포함된다. 디스크 (disk) 및 디스크 (disc) 는 본 명세서에서 사용한 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하고, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생하는 한편, 디스크 (disc) 들은 레이저들로 데이터를 광학적으로 재생한다. 따라서, 일부 양태들에서, 컴퓨터 판독가능 매체는 비일시적 컴퓨터 판독가능 매체 (예를 들어, 유형의 매체들) 를 포함할 수도 있다. 또한, 일부 양태들에서, 컴퓨터 판독가능 매체는 일시적 컴퓨터 판독가능 매체 (예를 들어, 신호) 를 포함할 수도 있다. 상기의 조합들이 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
본 명세서에서 개시된 방법들은 설명된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법 단계들 및/또는 액션들은 청구항들의 범위로부터 벗어남 없이 서로 상호교환될 수도 있다. 다시 말해서, 단계들 또는 액션들의 특정 순서가 특정되지 않는다면, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 청구항들의 범위로부터 벗어남 없이 변형될 수도 있다.
유사하게, 상기 설명된 메시지들은 다양한 구현들에서 이용될 수도 있는 하나 이상의 필드들을 포함한다. 메시지들은 청구항들의 범위로부터 벗어남 없이 추가적인 필드들, 더 적은 필드들, 및/또는 대안적 필드 배열들을 포함할 수도 있다.
설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 그 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들로서 저장될 수도 있다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 일 예로, 이러한 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 명령들 및 데이터 구조들의 형태로 원하는 프로그램 코드를 운반 또는 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 디스크 (disk) 및 디스크 (disc) 는 본 명세서에서 사용한 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루-레이® 디스크를 포함하고, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생하는 한편, 디스크 (disc) 들은 레이저들로 데이터를 광학적으로 재생한다.
따라서, 소정의 양태들은 본 명세서에서 제시된 동작들을 수행하기 위한 컴퓨터 프로그램 제품을 포함할 수도 있다. 예를 들어, 이러한 컴퓨터 프로그램 제품은 명령들을 저장한 (및/또는 인코딩한) 컴퓨터 판독가능 매체를 포함할 수도 있고, 그 명령들은 본 명세서에서 설명된 동작들을 수행하도록 하나 이상의 프로세서들에 의해 실행가능하다. 소정의 양태들의 경우, 컴퓨터 프로그램 제품은 패키징 재료를 포함할 수도 있다.
소프트웨어 또는 명령들은 송신 매체를 통해 또한 송신될 수도 있다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 송신 매체의 정의에는 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들이 포함된다.
게다가, 본 명세서에서 설명된 방법들 및 기법들을 수행하는 모듈들 및/또는 다른 적절한 수단은 적용가능할 때 인코딩 디바이스 및/또는 디코딩 디바이스에 의해 다운로드되고 및/또는 다르게는 획득될 수 있다는 것이 인식되어야 한다. 예를 들어, 이러한 디바이스는 본 명세서에서 설명된 방법들을 수행하는 수단의 전송을 용이하게 하기 위해 서버에 커플링될 수 있다. 대안적으로, 본 명세서에서 설명된 다양한 방법들은 사용자 단말기 및/또는 기지국이 저장 수단을 디바이스에 커플링 또는 제공 시에 다양한 방법들을 획득할 수 있도록, 저장 수단 (예를 들어, RAM, ROM, 물리적 저장 매체, 이를 테면 콤팩트 디스크 (CD) 또는 플로피 디스크 등) 을 통해 제공될 수 있다. 더욱이, 본 명세서에서 설명된 방법들 및 기법들을 디바이스에 제공하기 위한 임의의 다른 적합한 기법이 활용될 수 있다.
청구항들은 상기 예시된 정확한 구성 및 컴포넌트들에 제한되지 않는다는 것이 이해될 것이다. 다양한 변형들, 변화들 및 변경들이 청구항들의 범위로부터 벗어남 없이 상기 설명된 방법들 및 장치의 배열, 동작 및 상세들에서 이루어질 수도 있다.
전술한 것은 본 개시의 양태들과 관련되지만, 본 개시의 다른 및 추가 양태들이 다음에 오는 청구항에 의해 결정되는 그 기본 범위로부터 벗어남 없이 고안될 수도 있다.
Claims (30)
- 비디오 프로세싱 디바이스에서, 상기 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 배향 협상 메시지를 수신하는 단계로서, 상기 배향 협상 메시지는 상기 제 1 디바이스와 연관된 적어도 하나의 특성 및 상기 제 1 디바이스의 배향의 표시를 포함하는, 상기 배향 협상 메시지를 수신하는 단계;
상기 제 1 디바이스의 수신된 상기 적어도 하나의 특성에 적어도 부분적으로 기초하여 배향 프로세싱을 수행하도록 상기 비디오 프로세싱 디바이스 또는 상기 제 1 디바이스 중 어느 하나를 식별하는 단계; 및
상기 제 1 디바이스에, 상기 식별하는 단계의 결과를 표시하는 정보를 포함하는 메시지를 송신하는 단계
를 포함하는, 방법. - 제 1 항에 있어서,
상기 제 1 디바이스와 연관된 상기 특성은 상기 제 1 디바이스의 배터리 레벨, 상기 제 1 디바이스의 프로세싱 유닛 능력, 상기 제 1 디바이스에 대한 전력 소스, 상기 제 1 디바이스의 배향 센서 능력, 상기 제 1 디바이스에 대한 열 조건들, 상기 제 1 디바이스에 대한 송신 전력, 및 통신 세션 참가자 식별자 중 적어도 하나를 포함하는, 방법. - 제 2 항에 있어서,
상기 프로세싱 유닛 능력은 클록 사이클들, 칩셋, 메모리 회전, 열 효율, 오퍼레이팅 시스템, 또는 명령 세트를 포함하는, 방법. - 제 1 항에 있어서,
상기 배향 협상 메시지는 상기 통신 세션을 확립하기 이전에 수신되는, 방법. - 제 1 항에 있어서,
상기 배향 협상 메시지는 상기 통신 세션 동안에 수신되는, 방법. - 제 1 항에 있어서,
상기 통신 세션 동안에 상기 비디오 프로세싱 디바이스와 연관된 특성의 변화를 식별하는 단계;
상기 비디오 프로세싱 디바이스가 배향 프로세싱을 수행하도록 식별되지 않았을 경우, 변화된 상기 특성에 기초하여 상기 비디오 프로세싱 디바이스가 배향 프로세싱을 수행할 수 있는지 여부를 결정하는 단계; 및
상기 비디오 프로세싱 디바이스가 배향 프로세싱을 수행할 수 있다는 것을 결정 시에, 상기 비디오 프로세싱 디바이스로부터 상기 제 1 디바이스로 배향 재협상 메시지를 송신하는 단계
를 더 포함하는, 방법. - 제 1 항에 있어서,
상기 메시지는 세션 개시 프로토콜 또는 실시간 전송 프로토콜 메시지 중 하나를 포함하는, 방법. - 제 1 항에 있어서,
상기 비디오 프로세싱 디바이스가 상기 디바이스가 배향 프로세싱을 수행하는 것으로서 식별되었을 경우, 상기 제 1 디바이스의 상기 배향 및 상기 비디오 프로세싱 디바이스의 배향에 적어도 부분적으로 기초하여 상기 통신 세션 동안에 송신된 비디오 데이터의 배향을 조절하는 단계를 더 포함하는, 방법. - 제 8 항에 있어서,
상기 비디오 데이터의 배향을 조절하는 단계는 상기 비디오 데이터의 하나 이상의 부분들을 회전시키는 단계를 포함하는, 방법. - 제 1 항에 있어서,
상기 식별하는 단계는 상기 비디오 프로세싱 디바이스의 특성과 상기 제 1 디바이스의 수신된 상기 적어도 하나의 특성의 비교에 기초하는, 방법. - 제 10 항에 있어서,
상기 비디오 프로세싱 디바이스와 연관된 상기 특성은 상기 비디오 프로세싱 디바이스의 배터리 레벨, 상기 비디오 프로세싱 디바이스의 프로세싱 유닛 능력, 상기 비디오 프로세싱 디바이스에 대한 전력 소스, 상기 비디오 프로세싱 디바이스의 배향 센서 능력, 상기 비디오 프로세싱 디바이스에 대한 열 조건들, 상기 비디오 프로세싱 디바이스에 대한 송신 전력, 및 통신 세션 참가자 식별자 중 적어도 하나를 포함하는, 방법. - 비디오 프로세싱 디바이스로서,
상기 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 배향 협상 메시지를 수신하도록 구성된 수신기로서, 상기 배향 협상 메시지는 상기 제 1 디바이스와 연관된 적어도 하나의 특성 및 상기 제 1 디바이스의 배향의 표시를 포함하는, 상기 수신기;
상기 제 1 디바이스의 수신된 상기 적어도 하나의 특성에 적어도 부분적으로 기초하여 배향 프로세싱을 수행하도록 상기 비디오 프로세싱 디바이스 또는 상기 제 1 디바이스 중 어느 하나를 식별하는 메시지를 생성하도록 구성된 협상 메시지 생성기; 및
상기 제 1 디바이스에 상기 메시지를 송신하도록 구성된 송신기
를 포함하는, 비디오 프로세싱 디바이스. - 제 12 항에 있어서,
상기 제 1 디바이스와 연관된 상기 특성은 상기 제 1 디바이스의 배터리 레벨, 상기 제 1 디바이스의 프로세싱 유닛 능력, 상기 제 1 디바이스에 대한 전력 소스, 상기 제 1 디바이스의 배향 센서 능력, 상기 제 1 디바이스에 대한 열 조건들, 상기 제 1 디바이스의 송신 전력, 및 통신 세션 참가자 식별자 중 적어도 하나를 포함하는, 비디오 프로세싱 디바이스. - 제 13 항에 있어서,
상기 프로세싱 유닛 능력은 클록 사이클들, 칩셋, 메모리 회전, 열 효율, 오퍼레이팅 시스템, 또는 명령 세트를 포함하는, 비디오 프로세싱 디바이스. - 제 12 항에 있어서,
상기 배향 협상 메시지는 상기 통신 세션을 확립하기 이전에 수신되는, 비디오 프로세싱 디바이스. - 제 12 항에 있어서,
상기 배향 협상 메시지는 상기 통신 세션 동안에 수신되는, 비디오 프로세싱 디바이스. - 제 12 항에 있어서,
상기 비디오 프로세싱 디바이스의 특성을 획득하도록 구성된 특성 수집기를 더 포함하는, 비디오 프로세싱 디바이스. - 제 17 항에 있어서,
상기 특성 수집기는 또한, 상기 통신 세션 동안에 상기 비디오 프로세싱 디바이스와 연관된 특성의 변화를 식별하도록 구성되고,
상기 비디오 프로세싱 디바이스가 배향 프로세싱을 수행하도록 식별되지 않았을 경우, 상기 협상 메시지 생성기는 또한, 변화된 상기 특성에 기초하여 상기 비디오 프로세싱 디바이스가 배향 프로세싱을 수행할 수 있는지 여부를 결정하도록 구성되고; 그리고
상기 비디오 프로세싱 디바이스가 배향 프로세싱을 수행할 수 있다는 것을 결정 시에, 상기 송신기는 또한, 상기 비디오 프로세싱 디바이스로부터 상기 제 1 디바이스로 배향 재협상 메시지를 송신하도록 구성되는, 비디오 프로세싱 디바이스. - 제 17 항에 있어서,
상기 협상 메시지 생성기는 상기 비디오 프로세싱 디바이스의 획득된 특성과 상기 제 1 디바이스의 수신된 상기 적어도 하나의 특성의 비교에 기초하여 배향 프로세싱을 수행하도록 상기 비디오 프로세싱 디바이스 또는 상기 제 1 디바이스 중 어느 하나를 식별하도록 구성되는, 비디오 프로세싱 디바이스. - 제 17 항에 있어서,
상기 비디오 프로세싱 디바이스의 상기 특성은 상기 비디오 프로세싱 디바이스의 배터리 레벨, 상기 비디오 프로세싱 디바이스의 프로세싱 유닛 능력, 상기 비디오 프로세싱 디바이스에 대한 전력 소스, 상기 비디오 프로세싱 디바이스의 배향 센서 능력, 상기 비디오 프로세싱 디바이스에 대한 열 조건들, 상기 비디오 프로세싱 디바이스에 대한 송신 전력, 및 통신 세션 참가자 식별자 중 적어도 하나를 포함하는, 비디오 프로세싱 디바이스. - 제 12 항에 있어서,
상기 메시지는 세션 개시 프로토콜 또는 실시간 전송 프로토콜 메시지 중 하나를 포함하는, 비디오 프로세싱 디바이스. - 제 12 항에 있어서,
상기 비디오 프로세싱 디바이스가 상기 디바이스가 배향 프로세싱을 수행하는 것으로서 식별되는 경우, 상기 제 1 디바이스의 상기 배향 및 상기 비디오 프로세싱 디바이스의 배향에 적어도 부분적으로 기초하여 상기 통신 세션 동안에 송신된 비디오 데이터의 배향을 조절하도록 구성된 비디오 코딩 프로세서를 더 포함하는, 비디오 프로세싱 디바이스. - 제 22 항에 있어서,
상기 비디오 코딩 프로세서는 상기 비디오 데이터의 하나 이상의 부분들을 회전시키도록 구성되는, 비디오 프로세싱 디바이스. - 제 12 항에 있어서,
셀룰러 전화기, 위성 전화기, 개인 휴대 정보 단말기 (PDA), 모바일 미디어 플레이어, 셋톱-박스, 게이밍 콘솔, 멀티미디어 콘솔, 디지털 비디오 수신기, 디지털 비디오 레코더, 디지털 카메라, 태블릿 컴퓨터, 핸드헬드 게이밍 콘솔, 랩톱 컴퓨터, 또는 데스크톱 컴퓨터 중 적어도 하나를 더 포함하는, 비디오 프로세싱 디바이스. - 비디오 프로세싱 디바이스로서,
상기 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 배향 협상 메시지를 수신하는 수단으로서, 상기 배향 협상 메시지는 상기 제 1 디바이스와 연관된 적어도 하나의 특성 및 상기 제 1 디바이스의 배향의 표시를 포함하는, 상기 배향 협상 메시지를 수신하는 수단;
상기 제 1 디바이스의 수신된 상기 적어도 하나의 특성에 적어도 부분적으로 기초하여 배향 프로세싱을 수행하도록 상기 비디오 프로세싱 디바이스 또는 상기 제 1 디바이스 중 어느 하나를 식별하는 메시지를 생성하는 수단; 및
상기 제 1 디바이스에 상기 메시지를 송신하는 수단
을 포함하는, 비디오 프로세싱 디바이스. - 제 25 항에 있어서,
상기 식별하는 수단은 상기 비디오 프로세싱 디바이스의 특성과 상기 제 1 디바이스의 수신된 상기 적어도 하나의 특성의 비교에 기초하여 식별하기 위해 구성되는, 비디오 프로세싱 디바이스. - 제 25 항에 있어서,
상기 비디오 프로세싱 디바이스가 상기 디바이스가 배향 프로세싱을 수행하는 것으로서 식별되는 경우, 상기 제 1 디바이스의 상기 배향 및 상기 비디오 프로세싱 디바이스의 배향에 적어도 부분적으로 기초하여 상기 통신 세션 동안에 송신된 비디오 데이터의 배향을 조절하는 수단을 더 포함하는, 비디오 프로세싱 디바이스. - 비디오 프로세싱 디바이스의 프로세서에 의해 실행가능한 명령들을 포함하는 비일시적 컴퓨터 판독가능 매체로서,
상기 명령들은, 상기 프로세서에 의해 실행될 경우, 상기 비디오 프로세싱 디바이스로 하여금,
상기 비디오 프로세싱 디바이스와의 통신 세션과 연관된 제 1 디바이스로부터 배향 협상 메시지를 수신하게 하는 것으로서, 상기 배향 협상 메시지는 상기 제 1 디바이스와 연관된 적어도 하나의 특성 및 상기 제 1 디바이스의 배향의 표시를 포함하는, 상기 배향 협상 메시지를 수신하게 하고;
상기 제 1 디바이스의 수신된 상기 적어도 하나의 특성에 적어도 부분적으로 기초하여 배향 프로세싱을 수행하도록 상기 비디오 프로세싱 디바이스 또는 상기 제 1 디바이스 중 어느 하나를 식별하게 하고; 그리고
상기 제 1 디바이스에, 상기 식별하는 것의 결과를 표시하는 정보를 포함하는 메시지를 송신하게 하는, 비일시적 컴퓨터 판독가능 매체. - 제 28 항에 있어서,
상기 식별하는 것은 또한, 상기 비디오 프로세싱 디바이스의 특성과 상기 제 1 디바이스의 수신된 상기 적어도 하나의 특성의 비교에 기초하는, 비일시적 컴퓨터 판독가능 매체. - 제 28 항에 있어서,
상기 비디오 프로세싱 디바이스로 하여금, 상기 비디오 프로세싱 디바이스가 상기 디바이스가 배향 프로세싱을 수행하는 것으로서 식별되는 경우, 상기 제 1 디바이스의 상기 배향 및 상기 비디오 프로세싱 디바이스의 배향에 적어도 부분적으로 기초하여 상기 통신 세션 동안에 송신된 비디오 데이터의 배향을 조절하게 하는 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/225,232 | 2014-03-25 | ||
US14/225,232 US10447747B2 (en) | 2014-03-25 | 2014-03-25 | Video orientation negotiation |
PCT/US2015/019956 WO2015148125A1 (en) | 2014-03-25 | 2015-03-11 | Video orientation negotiation |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160136333A true KR20160136333A (ko) | 2016-11-29 |
Family
ID=52780578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167027260A KR20160136333A (ko) | 2014-03-25 | 2015-03-11 | 비디오 배향 협상 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10447747B2 (ko) |
EP (1) | EP3123714B1 (ko) |
JP (1) | JP2017517793A (ko) |
KR (1) | KR20160136333A (ko) |
CN (1) | CN106134187B (ko) |
WO (1) | WO2015148125A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11716300B2 (en) * | 2013-02-13 | 2023-08-01 | Guy Ravine | Techniques for optimizing the display of videos |
US10622023B2 (en) | 2016-07-01 | 2020-04-14 | Snap Inc. | Processing and formatting video for interactive presentation |
US10623662B2 (en) | 2016-07-01 | 2020-04-14 | Snap Inc. | Processing and formatting video for interactive presentation |
US10475483B2 (en) | 2017-05-16 | 2019-11-12 | Snap Inc. | Method and system for recording and playing video using orientation of device |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7598948B1 (en) | 2003-02-06 | 2009-10-06 | Nvidia Corporation | System and method of detecting rotated displays |
US7658498B2 (en) | 2006-07-13 | 2010-02-09 | Dell Products, Inc. | System and method for automated display orientation detection and compensation |
JP5039617B2 (ja) | 2008-03-18 | 2012-10-03 | キヤノン株式会社 | 画像処理装置、制御方法、及びプログラム |
US9014137B2 (en) | 2008-06-13 | 2015-04-21 | Qualcomm Incorporated | Apparatus and method for personality modification during handoff |
US20100246570A1 (en) | 2009-03-24 | 2010-09-30 | Avaya Inc. | Communications session preparation method and apparatus |
US8537980B2 (en) | 2009-03-27 | 2013-09-17 | Verizon Patent And Licensing Inc. | Conversation support |
EP2442562B1 (en) * | 2010-10-12 | 2017-08-02 | BlackBerry Limited | Method and apparatus for image orientation indication and correction |
WO2012121802A1 (en) | 2011-03-10 | 2012-09-13 | Vidyo, Inc. | Render-orientation information in video bitstream |
WO2012121744A1 (en) | 2011-03-10 | 2012-09-13 | Vidyo, Inc | Adaptive picture rotation |
US8750911B2 (en) | 2011-09-23 | 2014-06-10 | Jianchong Yang | Content source, content sink, and method for natively managing and delivering active content from one or more content sources to one or more content sinks wirelessly |
JP2013135454A (ja) | 2011-12-27 | 2013-07-08 | Toshiba Corp | 電子機器、及び電子機器相互の映像および音声の出力方法 |
CN104094306A (zh) | 2011-12-28 | 2014-10-08 | 英特尔公司 | 用于动态页面内容管理的布局 |
US9438818B2 (en) | 2012-06-20 | 2016-09-06 | Qualcomm Incorporated | Device and method for multimedia communications with picture orientation information |
US9357272B2 (en) | 2012-08-03 | 2016-05-31 | Intel Corporation | Device orientation capability exchange signaling and server adaptation of multimedia content in response to device orientation |
BR112015006455B1 (pt) * | 2012-10-26 | 2022-12-20 | Apple Inc | Terminal móvel, servidor operável para adaptação de multimídia com base em orientação de vídeo, método para adaptação de multimídia em um servidor com base em orientação de dispositivo de um terminal móvel e meio de armazenamento legível por máquina |
-
2014
- 2014-03-25 US US14/225,232 patent/US10447747B2/en active Active
-
2015
- 2015-03-11 JP JP2016558800A patent/JP2017517793A/ja active Pending
- 2015-03-11 KR KR1020167027260A patent/KR20160136333A/ko unknown
- 2015-03-11 WO PCT/US2015/019956 patent/WO2015148125A1/en active Application Filing
- 2015-03-11 EP EP15712755.6A patent/EP3123714B1/en not_active Not-in-force
- 2015-03-11 CN CN201580015327.9A patent/CN106134187B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN106134187A (zh) | 2016-11-16 |
WO2015148125A1 (en) | 2015-10-01 |
EP3123714A1 (en) | 2017-02-01 |
US10447747B2 (en) | 2019-10-15 |
EP3123714B1 (en) | 2019-01-16 |
US20150281300A1 (en) | 2015-10-01 |
CN106134187B (zh) | 2019-08-20 |
JP2017517793A (ja) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9445125B2 (en) | Device and method for multimedia communications with picture orientation information | |
US9674499B2 (en) | Compatible three-dimensional video communications | |
Bing | Next-generation video coding and streaming | |
TW201904297A (zh) | 概述視頻補充資訊之信令傳輸 | |
US9014277B2 (en) | Adaptation of encoding and transmission parameters in pictures that follow scene changes | |
JP2016521518A (ja) | ワイヤレス通信システムにおけるビデオストリーミング | |
US10165250B2 (en) | Method and apparatus for coding and transmitting 3D video sequences in a wireless communication system | |
US10681107B2 (en) | Adaptive video content for cellular communication | |
WO2018234080A1 (en) | APPARATUSES AND METHODS FOR ADAPTIVE DIRECT UPLINK CONTINUOUS BROADCAST | |
EP3123714B1 (en) | Video orientation negotiation | |
TW201724868A (zh) | 顯示部分視訊流方法及系統 | |
US20230199198A1 (en) | Video codec importance indication and radio access network awareness configuration | |
US20240121397A1 (en) | Temporal sublayer information for video coding | |
WO2024081395A1 (en) | Viewport and/or region-of-interest dependent delivery of v3c data using rtp |