Что такое hbbtv в телевизоре. "Загадочная красная кнопка" или HBBTV. Что же такое технология HbbTV и как она работает

Хранимая процедура - это специальный тип пакета инструкций Transact-SQL, созданный, используя язык SQL и процедурные расширения. Основное различие между пакетом и хранимой процедурой состоит в том, что последняя сохраняется в виде объекта базы данных. Иными словами, хранимые процедуры сохраняются на стороне сервера, чтобы улучшить производительность и постоянство выполнения повторяемых задач.

Компонент Database Engine поддерживает хранимые процедуры и системные процедуры. Хранимые процедуры создаются таким же образом, как и все другие объекты баз данных, т.е. при помощи языка DDL. Системные процедуры предоставляются компонентом Database Engine и могут применяться для доступа к информации в системном каталоге и ее модификации.

При создании хранимой процедуры можно определить необязательный список параметров. Таким образом, процедура будет принимать соответствующие аргументы при каждом ее вызове. Хранимые процедуры могут возвращать значение, содержащее определенную пользователем информацию или, в случае ошибки, соответствующее сообщение об ошибке.

Хранимая процедура предварительно компилируется перед тем, как она сохраняется в виде объекта в базе данных. Предварительно компилированная форма процедуры сохраняется в базе данных и используется при каждом ее вызове. Это свойство хранимых процедур предоставляет важную выгоду, заключающуюся в устранении (почти во всех случаях) повторных компиляций процедуры и получении соответствующего улучшения производительности. Это свойство хранимых процедур также оказывает положительный эффект на объем данных, участвующих в обмене между системой баз данных и приложениями. В частности, для вызова хранимой процедуры объемом в несколько тысяч байтов может потребоваться меньше, чем 50 байт. Когда множественные пользователи выполняют повторяющиеся задачи с применением хранимых процедур, накопительный эффект такой экономии может быть довольно значительным.

Хранимые процедуры можно также использовать для следующих целей:

    для создания журнала логов о действиях с таблицами баз данных.

Использование хранимых процедур предоставляет возможность управления безопасностью на уровне, значительно превышающем уровень безопасности, предоставляемый использованием инструкций GRANT и REVOKE, с помощью которых пользователям предоставляются разные привилегии доступа. Это возможно вследствие того, что авторизация на выполнение хранимой процедуры не зависит от авторизации на модифицирование объектов, содержащихся в данной хранимой процедуре, как это описано в следующем разделе.

Хранимые процедуры, которые создают логи операций записи и/или чтения таблиц, предоставляют дополнительную возможность обеспечения безопасности базы данных. Используя такие процедуры, администратор базы данных может отслеживать модификации, вносимые в базу данных пользователями или прикладными программами.

Создание и исполнение хранимых процедур

Хранимые процедуры создаются посредством инструкции CREATE PROCEDURE , которая имеет следующий синтаксис:

CREATE PROC proc_name [({@param1} type1 [ VARYING] [= default1] )] {, …} AS batch | EXTERNAL NAME method_name Соглашения по синтаксису

Параметр schema_name определяет имя схемы, которая назначается владельцем созданной хранимой процедуры. Параметр proc_name определяет имя хранимой процедуры. Параметр @param1 является параметром процедуры (формальным аргументом), чей тип данных определяется параметром type1. Параметры процедуры являются локальными в пределах процедуры, подобно тому, как локальные переменные являются локальными в пределах пакета. Параметры процедуры - это значения, которые передаются вызывающим объектом процедуре для использования в ней. Параметр default1 определяет значение по умолчанию для соответствующего параметра процедуры. (Значением по умолчанию также может быть NULL.)

Опция OUTPUT указывает, что параметр процедуры является возвращаемым, и с его помощью можно возвратить значение из хранимой процедуры вызывающей процедуре или системе.

Как уже упоминалось ранее, предварительно компилированная форма процедуры сохраняется в базе данных и используется при каждом ее вызове. Если же по каким-либо причинам хранимую процедуру требуется компилировать при каждом ее вызове, при объявлении процедуры используется опция WITH RECOMPILE . Использование опции WITH RECOMPILE сводит на нет одно из наиболее важных преимуществ хранимых процедур: улучшение производительности благодаря одной компиляции. Поэтому опцию WITH RECOMPILE следует использовать только при частых изменениях используемых хранимой процедурой объектов базы данных.

Предложение EXECUTE AS определяет контекст безопасности, в котором должна исполняться хранимая процедура после ее вызова. Задавая этот контекст, с помощью Database Engine можно управлять выбором учетных записей пользователей для проверки полномочий доступа к объектам, на которые ссылается данная хранимая процедура.

По умолчанию использовать инструкцию CREATE PROCEDURE могут только члены предопределенной роли сервера sysadmin и предопределенной роли базы данных db_owner или db_ddladmin. Но члены этих ролей могут присваивать это право другим пользователям с помощью инструкции GRANT CREATE PROCEDURE .

В примере ниже показано создание простой хранимой процедуры для работы с таблицей Project:

USE SampleDb; GO CREATE PROCEDURE IncreaseBudget (@percent INT=5) AS UPDATE Project SET Budget = Budget + Budget * @percent/100;

Как говорилось ранее, для разделения двух пакетов используется инструкция GO . Инструкцию CREATE PROCEDURE нельзя объединять с другими инструкциями Transact-SQL в одном пакете. Хранимая процедура IncreaseBudget увеличивает бюджеты для всех проектов на определенное число процентов, определяемое посредством параметра @percent. В процедуре также определяется значение числа процентов по умолчанию (5), которое применяется, если во время выполнения процедуры этот аргумент отсутствует.

Хранимые процедуры могут обращаться к несуществующим таблицам. Это свойство позволяет выполнять отладку кода процедуры, не создавая сначала соответствующие таблицы и даже не подключаясь к конечному серверу.

В отличие от основных хранимых процедур, которые всегда сохраняются в текущей базе данных, возможно создание временных хранимых процедур, которые всегда помещаются во временную системную базу данных tempdb. Одним из поводов для создания временных хранимых процедур может быть желание избежать повторяющегося исполнения определенной группы инструкций при соединении с базой данных. Можно создавать локальные или глобальные временные процедуры. Для этого имя локальной процедуры задается с одинарным символом # (#proc_name), а имя глобальной процедуры - с двойным (##proc_name).

Локальную временную хранимую процедуру может выполнить только создавший ее пользователь и только в течение соединения с базой данных, в которой она была создана. Глобальную временную процедуру могут выполнять все пользователи, но только до тех пор, пока не завершится последнее соединение, в котором она выполняется (обычно это соединение создателя процедуры).

Жизненный цикл хранимой процедуры состоит из двух этапов: ее создания и ее выполнения. Каждая процедура создается один раз, а выполняется многократно. Хранимая процедура выполняется посредством инструкции EXECUTE пользователем, который является владельцем процедуры или обладает правом EXECUTE для доступа к этой процедуре. Инструкция EXECUTE имеет следующий синтаксис:

[] [@return_status =] {proc_name | @proc_name_var} {[[@parameter1 =] value | [@parameter1=] @variable ] | DEFAULT}.. Соглашения по синтаксису

За исключением параметра return_status, все параметры инструкции EXECUTE имеют такое же логическое значение, как и одноименные параметры инструкции CREATE PROCEDURE. Параметр return_status определяет целочисленную переменную, в которой сохраняется состояние возврата процедуры. Значение параметру можно присвоить, используя или константу (value), или локальную переменную (@variable). Порядок значений именованных параметров не важен, но значения неименованных параметров должны предоставляться в том порядке, в каком они определены в инструкции CREATE PROCEDURE.

Предложение DEFAULT предоставляет значения по умолчанию для параметра процедуры, которое было указано в определении процедуры. Когда процедура ожидает значение для параметра, для которого не было определено значение по умолчанию и отсутствует параметр, либо указано ключевое слово DEFAULT, то происходит ошибка.

Когда инструкция EXECUTE является первой инструкцией пакета, ключевое слово EXECUTE можно опустить. Тем не менее будет надежнее включать это слово в каждый пакет. Использование инструкции EXECUTE показано в примере ниже:

USE SampleDb; EXECUTE IncreaseBudget 10;

Инструкция EXECUTE в этом примере выполняет хранимую процедуру IncreaseBudget, которая увеличивает бюджет всех проектов на 10%.

В примере ниже показано создание хранимой процедуры для обработки данных в таблицах Employee и Works_on:

Процедура ModifyEmpId в примере иллюстрирует использование хранимых процедур, как часть процесса обеспечения ссылочной целостности (в данном случае между таблицами Employee и Works_on). Подобную хранимую процедуру можно использовать внутри определения триггера, который собственно и обеспечивает ссылочную целостность.

В примере ниже показано использование в хранимой процедуре предложения OUTPUT:

Данную хранимую процедуру можно запустить на выполнение посредством следующих инструкций:

DECLARE @quantityDeleteEmployee INT; EXECUTE DeleteEmployee @empId=18316, @counter=@quantityDeleteEmployee OUTPUT; PRINT N"Удалено сотрудников: " + convert(nvarchar(30), @quantityDeleteEmployee);

Эта процедура подсчитывает количество проектов, над которыми занят сотрудник с табельным номером @empId, и присваивает полученное значение параметру ©counter. После удаления всех строк для данного табельного номера из таблиц Employee и Works_on вычисленное значение присваивается переменной @quantityDeleteEmployee.

Значение параметра возвращается вызывающей процедуре только в том случае, если указана опция OUTPUT. В примере выше процедура DeleteEmployee передает вызывающей процедуре параметр @counter, следовательно, хранимая процедура возвращает значение системе. Поэтому параметр @counter необходимо указывать как в опции OUTPUT при объявлении процедуры, так и в инструкции EXECUTE при ее вызове.

Предложение WITH RESULTS SETS инструкции EXECUTE

В SQL Server 2012 для инструкции EXECUTE вводится предложение WITH RESULTS SETS , посредством которого при выполнении определенных условий можно изменять форму результирующего набора хранимой процедуры.

Следующие два примера помогут объяснить это предложение. Первый пример является вводным примером, который показывает, как может выглядеть результат, когда опущено предложение WITH RESULTS SETS:

Процедура EmployeesInDept - это простая процедура, которая отображает табельные номера и фамилии всех сотрудников, работающих в определенном отделе. Номер отдела является параметром процедуры, и его нужно указать при ее вызове. Выполнение этой процедуры выводит таблицу с двумя столбцами, заголовки которых совпадают с наименованиями соответствующих столбцов таблицы базы данных, т.е. Id и LastName. Чтобы изменить заголовки столбцов результата (а также их тип данных), в SQL Server 2012 применяется новое предложение WITH RESULTS SETS. Применение этого предложения показано в примере ниже:

USE SampleDb; EXEC EmployeesInDept "d1" WITH RESULT SETS (( INT NOT NULL, [Фамилия] CHAR(20) NOT NULL));

Результат выполнения хранимой процедуры, вызванной таким способом, будет следующим:

Как можно видеть, запуск хранимой процедуры с использованием предложения WITH RESULT SETS в инструкции EXECUTE позволяет изменить наименования и тип данных столбцов результирующего набора, выдаваемого данной процедурой. Таким образом, эта новая функциональность предоставляет большую гибкость в исполнении хранимых процедур и помещении их результатов в новую таблицу.

Изменение структуры хранимых процедур

Компонент Database Engine также поддерживает инструкцию ALTER PROCEDURE для модификации структуры хранимых процедур. Инструкция ALTER PROCEDURE обычно применяется для изменения инструкций Transact-SQL внутри процедуры. Все параметры инструкции ALTER PROCEDURE имеют такое же значение, как и одноименные параметры инструкции CREATE PROCEDURE. Основной целью использования этой инструкции является избежание переопределения существующих прав хранимой процедуры.

Компонент Database Engine поддерживает тип данных CURSOR . Этот тип данных используется для объявления курсоров в хранимых процедурах. Курсор - это конструкция программирования, применяемая для хранения результатов запроса (обычно набора строк) и для предоставления пользователям возможности отображать этот результат построчно.

Для удаления одной или группы хранимых процедур используется инструкция DROP PROCEDURE . Удалить хранимую процедуру может только ее владелец или члены предопределенных ролей db_owner и sysadmin.

Хранимые процедуры и среда CLR

SQL Server поддерживает общеязыковую среду выполнения CLR (Common Language Runtime), которая позволяет разрабатывать различные объекты баз данных (хранимые процедуры, определяемые пользователем функции, триггеры, определяемые пользователем статистические функции и пользовательские типы данных), применяя языки C# и Visual Basic. Среда CLR также позволяет выполнять эти объекты, используя систему общей среды выполнения.

Среда CLR разрешается и запрещается посредством опции clr_enabled системной процедуры sp_configure , которая запускается на выполнение инструкцией RECONFIGURE . В примере ниже показано, как можно с помощью системной процедуры sp_configure разрешить использование среды CLR:

USE SampleDb; EXEC sp_configure "clr_enabled",1 RECONFIGURE

Для создания, компилирования и сохранения процедуры с помощью среды CLR требуется выполнить следующую последовательность шагов в указанном порядке:

    Создать хранимую процедуру на языке C# или Visual Basic, а затем скомпилировать ее, используя соответствующий компилятор.

    Используя инструкцию CREATE ASSEMBLY , создать соответствующий выполняемый файл.

    Выполнить процедуру, используя инструкцию EXECUTE.

На рисунке ниже показана графическая схема ранее изложенных шагов. Далее приводится более подробное описание этого процесса.

Сначала создайте требуемую программу в какой-либо среде разработки, например Visual Studio. Скомпилируйте готовую программу в объектный код, используя компилятор C# или Visual Basic. Этот код сохраняется в файле динамической библиотеки (.dll), который служит источником для инструкции CREATE ASSEMBLY, создающей промежуточный выполняемый код. Далее выполните инструкцию CREATE PROCEDURE, чтобы сохранить выполняемый код в виде объекта базы данных. Наконец, запустите процедуру на выполнение, используя уже знакомую нам инструкцию EXECUTE.

В примере ниже показан исходный код хранимой процедуры на языке C#:

Using System.Data.SqlClient; using Microsoft.SqlServer.Server; public partial class StoredProcedures { public static int CountEmployees() { int rows; SqlConnection connection = new SqlConnection("Context Connection=true"); connection.Open(); SqlCommand cmd = connection.CreateCommand(); cmd.CommandText = "select count(*) as "Количество сотрудников" " + "from Employee"; rows = (int)cmd.ExecuteScalar(); connection.Close(); return rows; } }

В этой процедуре реализуется запрос для подсчета числа строк в таблице Employee. В директивах using в начале программы указываются пространства имен, требуемые для ее выполнения. Применение этих директив позволяет указывать в исходном коде имена классов без явного указания соответствующих пространств имен. Далее определяется класс StoredProcedures, для которого применяется атрибут SqlProcedure , который информирует компилятор о том, что этот класс является хранимой процедурой. Внутри кода класса определяется метод CountEmployees(). Соединение с системой баз данных устанавливается посредством экземпляра класса SqlConnection . Чтобы открыть соединение, применяется метод Open() этого экземпляра. А метод CreateCommand() позволяет обращаться к экземпляру класса SqlCommnd , которому передается нужная SQL-команда.

В следующем фрагменте кода:

Cmd.CommandText = "select count(*) as "Количество сотрудников" " + "from Employee";

используется инструкция SELECT для подсчета количества строк в таблице Employee и отображения результата. Текст команды указывается, присваивая свойству CommandText переменной cmd экземпляр, возвращаемый методом CreateCommand(). Далее вызывается метод ExecuteScalar() экземпляра SqlCommand. Этот метод возвращает скалярное значение, которое преобразовывается в целочисленный тип данных int и присваивается переменной rows.

Теперь вы можете скомпилировать этот код, используя среду Visual Studio. Я добавил этот класс в проект с именем CLRStoredProcedures, поэтому Visual Studio скомпилирует одноименную сборку с расширением *.dll. В примере ниже показан следующий шаг в создании хранимой процедуры: создание выполняемого кода. Прежде чем выполнять код в этом примере, необходимо узнать расположение скомпилированного dll-файла (обычно находится в папке Debug проекта).

USE SampleDb; GO CREATE ASSEMBLY CLRStoredProcedures FROM "D:\Projects\CLRStoredProcedures\bin\Debug\CLRStoredProcedures.dll" WITH PERMISSION_SET = SAFE

Инструкция CREATE ASSEMBLY принимает в качестве ввода управляемый код и создает соответствующий объект, для которого можно создавать хранимые процедуры среды CLR, определяемые пользователем функции и триггеры. Эта инструкция имеет следующий синтаксис:

CREATE ASSEMBLY assembly_name [ AUTHORIZATION owner_name ] FROM {dll_file} Соглашения по синтаксису

В параметре assembly_name указывается имя сборки. В необязательном предложении AUTHORIZATION указывается имя роли в качестве владельца этой сборки. В предложении FROM указывается путь, где находится загружаемая сборка.

Предложение WITH PERMISSION_SET является очень важным предложением инструкции CREATE ASSEMBLY и всегда должно указываться. В нем определяется набор прав доступа, предоставляемых коду сборки. Набор прав SAFE является наиболее ограничивающим. Код сборки, имеющий эти права, не может обращаться к внешним системным ресурсам, таким как файлы. Набор прав EXTERNAL_ACCESS позволяет коду сборки обращаться к определенным внешним системным ресурсам, а набор прав UNSAFE предоставляет неограниченный доступ к ресурсам, как внутри, так и вне системы базы данных.

Чтобы сохранить информацию о коде сборке, пользователь должен иметь возможность выполнить инструкцию CREATE ASSEMBLY. Владельцем сборки является пользователь (или роль), исполняющий эту инструкцию. Владельцем сборки можно сделать другого пользователя, используя предложение AUTHORIZATION инструкции CREATE SCHEMA.

Компонент Database Engine также поддерживает инструкции ALTER ASSEMBLY и DROP ASSEMBLY. Инструкция ALTER ASSEMBLY используется для обновления сборки до последней версии. Эта инструкция также добавляет или удаляет файлы, связанные с соответствующей сборкой. Инструкция DROP ASSEMBLY удаляет указанную сборку и все связанные с ней файлы из текущей базы данных.

В примере ниже показано создание хранимой процедуры на основе управляемого кода, реализованного ранее:

USE SampleDb; GO CREATE PROCEDURE CountEmployees AS EXTERNAL NAME CLRStoredProcedures.StoredProcedures.CountEmployees

Инструкция CREATE PROCEDURE в примере отличается от такой же инструкции в примерах ранее тем, что она содержит параметр EXTERNAL NAME . Этот параметр указывает, что код создается средой CLR. Имя в этом предложении состоит из трех частей:

assembly_name.class_name.method_name

    assembly_name - указывает имя сборки;

    class_name - указывает имя общего класса;

    method_name - необязательная часть, указывает имя метода, который задается внутри класса.

Выполнение процедуры CountEmployees показано в примере ниже:

USE SampleDb; DECLARE @count INT EXECUTE @count = CountEmployees PRINT @count -- Вернет 7

Инструкция PRINT возвращает текущее количество строк в таблице Employee.

Рассматривается ситуация, когда хранимые процедуры могут ухудшить производительность запросов.


При компиляции хранимых процедур в MS SQL Server 2000 хранимые процедуры помещаются в процедурный кэш, что может способствовать увеличению производительности при их выполнении за счет исключения необходимости в синтаксическом разборе, оптимизации и компиляции кода хранимых процедур.
С другой стороны в хранении откомпилированного кода хранимой процедуры кроются подводные камни, которые могут иметь обратный эффект.
Дело в том, что при компиляции хранимой процедуры компилируется план выполнения тех операторов, которые составляют код процедуры, соответственно, если откомпилированная хранимая процедура кэшируется, то кэшируется и ее план выполнения, а следовательно, хранимая процедура не будет оптимизироваться под конкретную ситуацию и параметры запросов.
Проведет небольшой эксперимент, чтобы продемонстрировать это.

ШАГ 1 . Создание БД.
Для эксперимента создадим отдельную базу данных.

CREATE DATABASE test_sp_perf
ON (NAME="test_data", FILENAME="c:\temp\test_data", SIZE=1, MAXSIZE=10,FILEGROWTH=1Mb)
LOG ON (NAME="test_log", FILENAME="c:\temp\test_log", SIZE=1, MAXSIZE=10,FILEGROWTH=1Mb)

ШАГ 2. Создание таблицы.
CREATE TABLE sp_perf_test(column1 int, column2 char(5000))

ШАГ 3. Заполнение таблицы тестовыми строками. В таблицу намеренно добавляются дублирующиеся строки. 10000 строк с номерами от 1 до 10000, и 10000 строк с номерами 50000.

DECLARE @i int
SET @i=1
WHILE(@i<10000)
BEGIN
INSERT INTO sp_perf_test(column1, column2) VALUES(@i,"Test string #"+CAST(@i as char(8)))
INSERT INTO sp_perf_test(column1, column2) VALUES(50000,"Test string #"+CAST(@i as char(8)))
SET @i= @i+1
END

SELECT COUNT(*) FROM sp_perf_test
GO

ШАГ 4. Создание некластерного индекса. Поскольку план выполнения кэшируется вместе с процедурой, индекс будет при всех вызовах использоваться одинаково.

CREATE NONCLUSTERED INDEX CL_perf_test ON sp_perf_test(column1)
GO

ШАГ 5. Создание хранимой процедуры. Процедура просто выполняет оператор SELECT с условием.

CREATE PROC proc1 (@param int)
AS
SELECT column1, column2 FROM sp_perf_test WHERE column1=@param
GO

ШАГ 6. Запуск хранимой процедуры. При запуске ранимой процедуры специально используется селективный параметр. В результате выполнения процедуры получаем 1 строку. План выполнения показывает на использование некластерного индекса, т.к. запрос селективный и это наилучший способ извлечь строку. Процедура, оптимизированная на выборку одной строки, сохраняется в процедурном кэше.

EXEC proc1 1234
GO

ШАГ 7. Запуск хранимой процедуры с неселективным параметром. В качестве параметра используется значение 50000. Строк с таким значением первого столбца около 10000, соответственно, пользоваться некластерным индексом и операцией bookmark lookup неэффективно, но поскольку откомпилированный код с планом выполнения храниться в процедурном кэше, именно он и будет использоваться. План выполнения показывает это, а так же то, что для 9999 строк выполнялась операция bookmark lookup.

EXEC proc1 50000
GO

ШАГ 8. Выполнение выборки строк с первым полем равным 50000. При выполнении отдельного запроса выполняется оптимизация и компиляция запроса с конкретным значением первого столбца. В результате оптимизатор запросов определяет, что поле много раз дублируется и принимает решение использовать операцию table scan, что в данном случае намного эффективнее, чем использование некластерного индекса.

SELECT column1, column2 FROM sp_perf_test WHERE column1=50000
GO

Таким образом, можно заключить, что использование хранимых процедур не всегда может повысить производительность запросов. Следует крайне внимательно подходить к тем хранимым процедурам, которые работают с результатами с переменным количеством строк и использующие различные планы выполнения.
Можете использовать скрипт для повторения эксперимента на свеем MS SQL сервере.

Информации на русском языке о Hybrid Broadcast Broadband TV очень мало, поэтому расскажу немного о самом HbbTV. HbbTV - это новый телевизионный стандарт промышленного применения, который органично сочетает передачу развлекательного и информационного контента по каналам телевизионного вещания и широкополосному интернету. Другими словами, HbbTV это продвинутая версия телетекста с полноценной графикой, видео и аудио. Версия 1.1.1 данной спецификации была одобрена ETSI в июне 2010 года.

На сегодняшний день каналы с поддержкой HbbTV осуществляют трансляцию во Франции, Германии, Австрии, Голландии и других странах Европейского Союза. В России внедрение технологии HbbTV начнется с первого квартала 2013 года.

Спецификация HbbTV была разработана лидерами отрасли. Собрались и подумали, а как эффективно управлять стремительно растущим количеством доступного для конечного пользователя контентом. И вот что вышло.

Как работает HbbTV ?

Спецификация основана на существующих хорошо изученных стандартах и веб-технологиях. На уровне приложений тут работают: OIPF (Open IPTV Forum), CEA-2014 (CE-HTML), W3C (HTML и т.д.), а на транспортном уровне применяется спецификация ETSI TS 102 809 (сигнализация и транспортировка интерактивных приложений и сервисов в гибридных широковещательных/широкополосных средах (DVB).

Абонентский терминал имеет возможность подключения к двум сетям. Широковещательная сеть (DVB-T, DVB-S, DVB-C) - через это соединение терминал принимает обычные не интерактивные трансляции, т.е аудио/видео контент, которым нельзя управлять (иначе его называют линейный). По этой же сети передаются данные приложений и протоколы сигнализации. Даже если терминал не подключен к интернету возможен прием телепередач, потому что в потоке передаются протоколы сигнализации, они то и отвечают за синхронизацию данных приложения и линейного контента. Это сделано для того, что бы была возможность показывать интерактивную рекламу, проводить голосования и различные викторины.

Если подключить терминал к интернету, будет обеспечена двусторонняя связь с поставщиком приложений. Появится возможность получать интерактивные данные, например фильмы на заказ. Нечто подобное сделано в Кинозалах Триколор HD .

В основе стандарта лежит немного видоизмененный HTML, который называется СЕ -HTML. Есть так же и поддержка JavaScript, AJAX и CSS и обработка событий DOM. В целом HbbTV-программа, это ни что иное как сайт, с размерами до 1920х1080 пикселей, вызов которого осуществляется нажатием специальной кнопки ("RED Button"), расположенной на пульте управления.

Данная программа может быть привязана как к определенному типу телевизионной передачи, так и к самому каналу. Кроме того, она может быть запущена в фоновом процессе. Если идет привязка к телепередаче, то она отображает информацию, которая дополняет её. В том случае если телепередача заканчивается, окно HbbTV-программы закрывается.

Данные в HbbTV могут передаваться как через интернет, так и через сам канал вещания, но ощутить все преимущества можно только при наличии широкополосного интернета.

Сервис HbbTV можно открыть и закрыть в любое удобное для вас время. В нужный момент времени можно запустить только один вариант программы, другими словами многозадачность для HbbTV не характерна.

Все HbbTV устройства поддерживают настройки ограничения просмотра контента по возрастным категориям.

Теперь перейдем к примерам:

HbbTV-программа спортивных передач, гонки на мотоциклах - отображается общий командный зачет, количество кругов, которое осталось пройти, номер заезда. Кто и в какой лиге выступает, результаты и статус заездов. Красная кнопка внизу позволяет скрыть информацию, зеленая переключиться на новости этого канала, желтая - перейти к просмотру видеозаписей данного заезда, а синяя выводит телетекст.

А вот так выглядит теннисный турнир.

Помимо последнего выпуска новостей, в том числе и в текстовом виде, можно посмотреть прогноз погоды сразу на несколько дней вперед, спортивные новости, программу передач и многое другое.

Медиа-архив

Немецкие телевизионные каналы предлагают совершенно легальный просмотр всех транслируемых телевизионных передач за прошлую неделю! Теперь вам не нужно записывать телевизионный сериал, серию которого вы пропустили, или же искать её в интернете.

Виджеты - веб приложения сторонних разработчиков

Есть возможность создания и различного рода виджетов, такого плана как мини-программы, простые игрушки, которые в свою очередь не имеют привязки к телевизионным передачам.

Существует и возможность создания HbbTV программ для рекламных компаний. К примеру, во время отображения рекламного ролика о путевке в какую нибудь экзотическую страну, можно будет открыть HbbTV приложение, и осуществить заказ билета в эту страну. В реале такое еще не практикуется, но разработки уже ведутся.

Присутствует в данном стандарте и возможность прослушивания радиотрансляций. При переключении на один из каналов радио, пользователь сможет увидеть как сам трек лист, так и название песни, которая проигрывается в данный момент.

Абонентские HbbTV-терминалы

Что касается устройств, то здесь существует несколько вариаций. Либо это покупка телевизора, который поддерживает HbbTV, оснащенного WI-FI или Ethernet. Или же приобретение специальной DVB приставки с поддержкой EtherNet.

Более 60 крупнейших игроков телевизионной индустрии уже присоединились к рабочей группе HbbTV, среди них: SES ASTRA - компания, имеющая 15 спутников на 5 орбитальных позициях и транслирующая около 2500 телеканалов на 122 миллиона абонентских приставок. Eutelsat - один из 3-х крупнейших спутниковых операторов в мире, владеет 27 спутниками и транслирует около 3200 телеканалов и 1100 радиостанций. Такие Бренды, как SONY, LG, Philips, Access, RTL Groupe, Viaccess, Irdeto, Nagra, Dolby Laboratories, HUMAX и многие другие.

Стандарт HbbTV, или же гибридное эфирно-широкополосное телевидение, уже используется для вещания в странах Европы, а также рассматривается в качестве потенциального стандарта для использования в США. Данный стандарт позволяет запускать потоковый контент из интернета, нажав красную кнопочку при настройке на любой из телеканалов.

В 2016 году будет готова новая модификация стандарта – HbbTV 2.0, в которой будет реализована поддержка Ultra HD и устройств категории «второй экран».

В группе говорят, что сегодня в мире насчитывается более 25 миллионов смарт-телевизоров и сет-топ-боксов, поддерживающих стандарт HbbTV. В процесс внедрения стандарта вовлечены такие компании, как LG, Samsung, Sony и TP Vision (Philips).

Итак, давайте разбираться, что же из себя представляет HbbTV 2.0 и, как говорится, с чем его едят.

1. Функциональные особенности

1.1. Что нового в HbbTV 2.0?

HTML5 и связанные технологии.

  • HEVC видео.
  • Поддержка субтитров для контента, получаемого из широкополосных сетей.
  • Запуск приложения для экрана-спутника.
  • Связь «приложение к приложению».
  • MPEG DASH.
  • Вставка рекламных блоков в VoD-контент.
  • Синхронизация приложений и контента.
  • Доставка контента через вещательный канал для трансляции не в режиме реального времени.
  • Многопотоковая синхронизация.
  • DRM в CAM.
  • Синхронизация приложений и контента между устройствами.
  • Удалённый запуск HbbTV приложения.
  • Поддержка клавиатуры и мыши.
  • Решение конфликтов ключевых запросов.
  • Кеширование объектных каруселей.

1.2 Работает ли HbbTV 2.0 со вторым экраном? Если да, то каким образом?

Да. HbbTV 2.0 поддерживает четыре варианта работы со вторым экраном:

  • Приложение на втором экране может запускать HbbTV приложение на телевизоре: это позволяет зрителю использовать свой планшет или смартфон для того, чтобы просматривать видео-контент и запускать HbbTV приложение, чтобы смотреть этот контент на экране телевизора. При таком варианте используется технология DIAL – как и в случае с Netflix и Chromecast.
  • Приложение на телевизоре запускает приложение на втором экране: это позволяет, к примеру, таким популярным телешоу, как «Голос», запускать при помощи соответствующей службы HbbTV 2.0 приложение «Голос» на планшете, дабы обеспечить зрителю более глубокое погружение в происходящее и возможность интерактивной связи.
  • Связь между приложением на втором экране и приложением на телевизоре.
  • Синхронизация приложения или медиа на втором экране с медиа на телевизоре: это позволяет зрителю без проблем и прерываний переключаться в процессе просмотра с одного устройства на другое.

1.3. Что нового появится в модификации 2.0 из того, что не поддерживалось в модификации 1.5?

Улучшено взаимодействие с вторым экраном (описано в пункте 1.2).

  • Службы доступа, сочетающие аудио из широкополосных сетей с видео из эфира. Это позволит пользователям выбирать дополнительные языки или чистую аудио-дорожку.
  • Включение VOD-услуги (доступ к контенту из эфира, записанному на внутреннее хранилище ресивера).
  • Дополнительные широкие возможности для пользователя, основанные на HTML5.
  • Возможность непрерывного просмотра видео-контента при переходе между телевизором, смартфоном, ПК и планшетом.
  • Инновационные приложения-спутники, которые расширяют возможности телезрителя, добавляя детальную информацию о программе, голосование, а также прочие функции.
  • Стандартизированная доставка Ultra HD контента в компрессии HEVC из широкополосной сети.
  • Улучшенная доступность служб с более качественной поддержкой субтитров на различных языках.
  • Поддержка новых рекламных моделей.
  • Поддержка защиты личных данных пользователя.

1.4. Кто планирует использовать новую функциональность?

Общий набор функциональных особенностей HbbTV 2.0 формировался при участии различных сторон, включая вещателей, производителей и операторов. Несколько общенациональных организаций уже подтвердили планы использовать HbbTV 2.0. Ожидается, что первый проект масштабного внедрения HbbTV 2.0 проведёт британская компания Freeview Connect.

2. Внедрение и доступность

2.1. Является ли стандарт HbbTV 2.0 обратно-совместимым с модификацией 1.1. и 1.5?

Да. Стандарт HbbTV 2.0 был разработан таким образом, чтобы обеспечить стабильную работу существующих приложений HbbTV 1.1 и 1.5 на ресиверах HbbTV 2.0.

2.2. Когда ресиверы HbbTV 2.0 появятся в розничной продаже?

Появление в продаже первых HbbTV 2.0 ресиверов ожидается в 2016 году.

2.3. Есть ли / будет ли возможность обновления ресиверов стандарта 1.1 / 1.5 до версии 2.0 через обновление программного обеспечения?

Да, обновление существующих ресиверов HbbTV 1.1 или 1.5 возможно, это можно будет сделать при помощи соответствующей HbbTV 2.0 прошивки. Впрочем, на практике обновление телевизоров обычно ограничено исправлением выявленных «багов» и не добавляет в них новые функции. На управляемых сет-топ-боксах также будет возможно такое обновление, однако, лишь при условии достаточного количества памяти, необходимого для корректной работы HbbTV 2.0

2.4. Будет ли режим сертификации для стандарта 2.0? Если да, то когда?

В самое ближайшее время Ассоциация HbbTV запускает тендер на разработку комплекта для тестирования HbbTV 2.0. Ориентировочно комплект для тестирования будет готов в 2016 году, что позволит начать выпуск HbbTV 2.0 совместимых продуктов и услуг.

2.5. Будут ли опубликованы Профили новой спецификации? Или же во всех телевизорах/сет-топ-боксах должна будет быть внедрена новая спецификация полностью?

Никаких профилей не будет. Во всех телевизорах/сет-топ-боксах будет необходимо внедрить все составляющие элементы спецификации. Отдельные части данной спецификации относятся исключительно к определённым моделям телевизоров и сет-топ-боксов – в зависимости от их возможностей. Некоторые примеры включают HEVC.

3. Публикация и сроки

3.1. Будут ли технические характеристики HbbTV 2.0 опубликованы Европейским институтом телекоммуникационных стандартов (ETSI)? Если да, то под каким номером?

HbbTV передаст HbbTV 2.0 в ETSI. Что случится после, зависит от результатов процессов, инициированных ETSI. Мы надеемся, что характеристики будут опубликованы под номером TS 102 796 V1.3.1.

3.2. Когда можно ожидать начала имплементации HbbTV 2.0 в отрасли? Следует ли производителям ждать до тех пор, когда ETSI опубликует документацию?

Отрасль имплементирует HbbTV 2.0, не дожидаясь времени публикации технической спецификации в ETSI.

4. Защита личных данных

4.1. Предусматривает ли HbbTV 2.0 добавление или изменение чего-либо в сфере защиты личных данных?

В HbbTV 2.0 добавлено множество функций, относящихся к сфере защиты личных данных.

  • Требование о включении в телевизор опции, дающей пользователю возможность определять, разрешать ли устройству отслеживать его действия (основано на пункте «Не отслеживать» спецификации W3C).
  • Телевизоры должны либо сами блокировать куки от третьей стороны, либо дать пользователю возможность включать этот режим.
  • В телевизорах рекомендуется предлагать возможность блокирования отслеживания web-сайтов с предоставлением пользователю возможности контролировать этот процесс.
  • Телевизоры дают пользователю возможность блокировать куки.

5. Общие сведения / Фон

5.1. Сколько в мире сегодня насчитывается HbbTV совместимых устройств?

По состоянию на сегодня на руках у пользователей во всём мире насчитывается более 25 миллионов HbbTV ресиверов.

5.2. Какая доля HbbTV совместимых устройств в общем количестве новых продаваемых устройств?

В большинстве стран Европы почти все продаваемые подключаемые телевизоры являются HbbTV совместимыми.

5.3. В каких странах используется стандарт HbbTV?

5.4. Какие компании и отраслевые сектора являются главными движущими силами в вопросе внедрения HbbTV 2.0?

Вещатели и операторы: BBC, Eutelsat, IRT, ITV, SES

  • Производители: LG, Samsung, Sony, TP Vision
  • Технологические компании: Access, Cisco, Digital TV Group, Digital TV Labs, Dolby, Ericsson, Espial, Fraunhofer FOKUS, HTTV, Nagra, Opera, Quadrille, Qualcomm, Strategy and Technology, Tara Systems, Telecom ParisTech, TNO, Viaccess-Orca.

С помощью платформы Смарт ТВ ваш телевизор превращается в домашний мультимедиа центр на основе с возможностью воспроизведения потокового видео, поддерживает установку дополнительных приложений из специального магазина ОС (Tizen — Samsung, WebOS — LG и Android TV — Sony, Philips) для расширения функциональности смарт-телевизора. Современные умные телевизоры постепенно избавляют пользователей от мысли о подключении к нему компьютера, обладают поддержкой , но далеко не всегда этот функционал «дружит» с пользователем подобающим образом. О недостатках Смарт ТВ читайте в самом конце статьи.

Smart TV — это технология внедрения операционной системы и различных интернет-сервисов в современный телевизор для расширения его функционала. Телевизор, обладающий поддержкой Smаrt ТV превращается в настоящий мультимедийный центр, способный воспроизводить видео не только медиаплеером, но и с крупнейших видеоресурсов Интернета, а также поддерживать установку дополнительных программ и приложений, расширяющих функционал телевизора до смартфона или планшета. В настоящее время почти все модели телевизоров (LG, Philips, Sony и Samsung) наделены интегрированным модулем Wi-Fi или обладают возможностью подключения Wi-Fi адаптера в USВ-порт.

Воспроизведение видео на телевизорах СМАРТ ТВ

Сейчас, даже недорогие телевизоры имеют возможность потоковой трансляции, удобный браузер с поддержкой технологии Adobe Flash и возможность установки приложений, как стандартную функциональность. Телевизоры Смарт ТВ со встроенными медиаплеерами, в отличие от других моделей, способны проигрывать с USB HDD или USB-флешки большинство современных форматов видео, в том числе файлы MKV со звуком в формате DTS и ЗD-фильмы, как записанные на флешку, так и представленные в онлайн-кинотеатрах. Современные устройства отображают большинство файлов с USB-накопителей или из Сети (DLNA) - проблемы возникают только с более старыми телевизорами, в которых функция воспроизведения мультимедиа либо полностью отсутствует, либо встроена не полностью, таким образом у них отсутствует поддержка форматов MKV, DivX или звуковой дорожки DTS. Воспроизведение «тяжелого» HD-видео последними моделями «умных» телевизоров по беспроводной сети проходит плавно и без неприятных задержек, конечно это зависит и от качества вашей беспроводной сети.

Что такое HbbTV

Технология Hybrid broаdcast broadband TV (HbbTV) представляет собой усовершенствованную функцию телетекста, благодаря которой каналы предоставляют с помощью Интернета дополнительный контент — информацию об исполнителе или описание фильмов. Стандарт HbbTV поддерживают далеко не все устройства, но и правильная реализация этой технологии удалась не всем производителям (эта функция хорошо реализована у телевизоров Philips). В силу того, что современный ТВ обладает процессором, оперативной памятью, USB-накопителем и программируемыми интерфейсами, его функциональность можно испытать при работе с приложениями (лучше всех остальных, интернет-магазин приложений реализован у телевизоров фирмы Panasonic, а телевизоры LG предлагают наиболее удобную навигацию по приложениям в меню). Достаточный комфорт подарит доступ к онлайн-видеотекам и крупным видеохостингам. На линейку моделей среднего класса от компаний Samsung и Sony можно установить Skype для комфортного общения на большом экране, дополнительно используя веб-камеру. Также интегрированные приложения популярных социальных сетей в телевизор не будут лишними для пользователя.

Встроенные сервисы потоковой трансляции видео

  • YouTube, RuTube
  • Okko, Megogo, IVI, Tvigle, Amediateka
  • Omlet.Ru, NOW.RU, Zoombie
  • Inetcom TV, МТС ТВ, Мегафон ТВ

Дополнительную информацию о технологии Smart TV вы найдете в статье « .

Обзор функций телевизоров Смарт ТВ

Голосовое управление в телевизоре Смарт ТВ

Допустим, вы захотели стать обладателем Samsung UE55ES7507. Вы получите 30 запрограмированных производителем голосовых команд. Все поданные команды будут отображаться на экране. Естественно, названия телеканалов телевизор не распознает, сразу начинает ярче становиться «крест» на этой функции:). Переключение каналов осуществляется с помощью произношения слов «следующий канал» или «предыдущий канал» до тех пор, пока не найдете нужный. Альтернативный вариант — вы можете назвать номер (если вы его, конечно, помните), под которым канал сохранен.

Что касается регулировки громкости, то здесь работает правило «повторение — мать учения» — понадобится несколько раз сказать «Громче» или «Тише», чтобы добиться результата. В результате, для управления основными функциями телевизора стандартный пульт ДУ пока в выигрыше, благо он имеет место.

Голосовое управление порадует вас при использовании интернет, так как поисковый запрос можно озвучить. Четкое произношение команд позволит обрабатывать телевизору запросы безошибочно. Данная функция имеет место во всех последних моделях смарт-телевизоров среднего и высшего ценового диапазона.

Управление в смарт телевизорах

Система управления жестами на телевизоре Смарт ТВ

Помимо голосового управления компания Samsung встроила в верхнюю часть корпуса камеру, которая дает возможность взаимодействия с телевизором с помощью жестов. Данная функция активируется коротким взмахом руки, поэтому можно не опасаться ложных срабатываний. Система управления жестами позволяет движением ладони перемещать указатель в нужную точку экрана, а пункты меню активируются сжатием руки в кулак.

Альтернатива управлению жестами

У всех топовых моделей смарт-телевизоров в комплект поставки входит дополнительный пульт с гироскопом для упрощения навигации: «воздушная» мышь. Некий аналог контроллера для игровой консоли Wii: стоит взять его в руки, как на экране появляется указатель, который можно перемещать движением руки и таким образом выбирать и открывать меню, переключать каналы и просматривать веб-сайты. Кнопки управления основными функциями: регулировка громкости, выбор канала, на пульте ДУ легко обнаруживается на ощупь и имеют продуманное расположение. Думаю, такое решение более надежно по сравнению с системой управления жестами. Технологии управления СМАРТ телевизорами постоянно совершенствуются и развиваются. В настоящее время новые модели умных ТВ способны распознать целые предложения и сложные жесты руками. Сегодня все больше производителей реализуют в своих моделях СМАРТ ТВ функцию голосового управления. Успешная интеграция в телевизоры возможности управления голосом проводится компанией Samsung c 2012 года, в 2013 ее примеру решили последовать и другие производители. Отмечу, что в течение 2013 года Samsung существенно оптимизировала данную технологию:

  • смарт телевизор стал четко реагировать на команды
  • лучше понимает полноценные предложения пользователя
  • повышена точность распознавания движения рук зрителя.

Что касается LG, то в 2012 году компания приступила к выпуску СМАРТ телевизоров с оснащением голосового управления и жестов, которая, но реализована данная функция посредством фирменного пульта ДУ — Magic Remote. Совершенствование данного аксессуара позволило ему понимать целые фразы. Одним из новшеств в моделях смарт телевизоров от LG стало доступным управление движением пальца, а обеспечивается данный функционал благодаря встроенной в рамку HD-камере. С начала 2013 года топовые СМАРТ ТВ фирмы Panasonic предлагают аналогичную возможность управления голосом через пульт ДУ.

Современные телевизоры с функцией Smart TV обеспечивают проводной или беспроводной (через wi-fi роутер) доступ к различному мультимедиа содержимому в интернете. Все модели поддерживают доступ к специальным сервисам, предоставляющим услуги видео проката, а также отображают дополни­тельные материалы, передаваемые по ТВ-каналам (функция HbbTV, о которой говорилось ранее). Помимо всего прочего, телевизоры Panasonic и Philips способны создавать списки рекомендованных ТВ-передач, a Philips, в свою очередь, может даже найти в онлайн-прокате фильм, ориентируясь на ваши пристрастия. При этом данный телевизор Смарт ТВ использует для расчета уже просмотренные вами ТВ-передачи и фильмы. Конечно же, данную функцию можно отключить.

ТВ ресиверы современных умных телевизоров

Все современные модели Смарт ТВ оснащены ресиверами для приема сигналов цифрового кабельного, спутникового или эфирного телевидения, включая HDTV. В некоторых городах России HDTV-передачи в формате можно смотреть, используя стандартную антенну для приема цифрового ТВ. С картой покрытия вы можете ознакомиться на официальном сайте федеральной программы развития цифрового телевидения в России.

3D функционал в Смарт ТВ

Даже относительно недорогой Смарт ТВ телевизор воспроизводит контент в трехмерном формате. В комплект поставки умных телевизоров может входить до 4-х пар поляризационных 3D-очков. Одна из причин щедрости производителя — дешевизна этой технологии. Активные очки затворного типа несколько дороже. Правда, я отдаю предпочтение поляризационной технологии. Почему, читайте в .

Запись передач на Смарт ТВ

Например, возьмем функцию записи передач на USB-накопитель - во многом бесполезная функция, так как просмотр передач возможен только на том телевизоре, на котором они были записаны. Плюс невозможность записать контент с частных каналов, который действительно может оказаться стоящим, не говоря уже о том, что все популярные передачи доступны на YouTube и RuTube, спустя непродолжительный период времени.

Недостатки Смарт ТВ

  • Видео. При просмотре фильмов с расширением mkv встречаются проблемы с воспроизведением звука и/или видео и на экране появляется предупреждение вида «Видео кодек не поддерживается». Тоже самое может произойти и с файлами, имеющими расширение.avi, ведь закодировать звук и видео можно различными кодеками;
  • Игры . Если вы привыкли играть на ПК или приставке, то игры, предлагаемые магазином приложений СМАРТ телевизора, вам лучше пройти стороной, исключение составляет пока лишь телевизоры на Android TV;
  • Браузер . Некоторыми сайтами неудобно управлять, та же история с видео и фильмами: на сайте их смотреть иногда невозможно по причине аппаратных ограничений вашего смарт-телевизора или самого браузера.


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: